diff --git a/old-builds/build-info-v2/3e7333717fcd10dd.json b/old-builds/build-info-v2/3e7333717fcd10dd.json new file mode 100644 index 0000000..2bf2a39 --- /dev/null +++ b/old-builds/build-info-v2/3e7333717fcd10dd.json @@ -0,0 +1 @@ +{"id":"3e7333717fcd10dd","source_id_to_path":{"0":"lib/forge-std/src/Base.sol","1":"lib/forge-std/src/Script.sol","2":"lib/forge-std/src/StdAssertions.sol","3":"lib/forge-std/src/StdChains.sol","4":"lib/forge-std/src/StdCheats.sol","5":"lib/forge-std/src/StdConstants.sol","6":"lib/forge-std/src/StdError.sol","7":"lib/forge-std/src/StdInvariant.sol","8":"lib/forge-std/src/StdJson.sol","9":"lib/forge-std/src/StdMath.sol","10":"lib/forge-std/src/StdStorage.sol","11":"lib/forge-std/src/StdStyle.sol","12":"lib/forge-std/src/StdToml.sol","13":"lib/forge-std/src/StdUtils.sol","14":"lib/forge-std/src/Test.sol","15":"lib/forge-std/src/Vm.sol","16":"lib/forge-std/src/console.sol","17":"lib/forge-std/src/console2.sol","18":"lib/forge-std/src/interfaces/IMulticall3.sol","19":"lib/forge-std/src/safeconsole.sol","20":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","21":"lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol","22":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","23":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol","24":"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol","25":"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol","26":"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol","27":"lib/openzeppelin-contracts/contracts/access/Ownable.sol","28":"lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol","29":"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol","30":"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol","31":"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol","32":"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol","33":"lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol","34":"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol","35":"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol","36":"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol","37":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","38":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol","39":"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol","40":"lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol","41":"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol","42":"lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol","43":"lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol","44":"lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol","45":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","46":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","47":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","48":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","49":"lib/openzeppelin-contracts/contracts/utils/Address.sol","50":"lib/openzeppelin-contracts/contracts/utils/Arrays.sol","51":"lib/openzeppelin-contracts/contracts/utils/Comparators.sol","52":"lib/openzeppelin-contracts/contracts/utils/Context.sol","53":"lib/openzeppelin-contracts/contracts/utils/Errors.sol","54":"lib/openzeppelin-contracts/contracts/utils/Panic.sol","55":"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol","56":"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol","57":"lib/openzeppelin-contracts/contracts/utils/Strings.sol","58":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","59":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol","60":"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol","61":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","62":"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol","63":"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol","64":"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol","65":"lib/openzeppelin-foundry-upgrades/src/Defender.sol","66":"lib/openzeppelin-foundry-upgrades/src/Options.sol","67":"lib/openzeppelin-foundry-upgrades/src/Upgrades.sol","68":"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol","69":"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol","70":"lib/openzeppelin-foundry-upgrades/src/internal/StringFinder.sol","71":"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol","72":"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol","73":"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol","74":"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol","75":"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol","76":"lib/protocol/packages/core/contracts/common/implementation/AncillaryData.sol","77":"lib/protocol/packages/core/contracts/common/implementation/Lockable.sol","78":"lib/protocol/packages/core/contracts/data-verification-mechanism/implementation/Constants.sol","79":"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/FinderInterface.sol","80":"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/IdentifierWhitelistInterface.sol","81":"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/OracleAncillaryInterface.sol","82":"script/DeployAddressWhitelist.s.sol","83":"script/DeployDisabledAddressWhitelist.s.sol","84":"script/DeployManagedOptimisticOracleV2.s.sol","85":"script/RedeployAddressWhitelist.s.sol","86":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol","87":"script/UpgradeManagedOptimisticOracleV2.s.sol","88":"src/common/implementation/AddressLegacy.sol","89":"src/common/implementation/AddressWhitelist.sol","90":"src/common/implementation/DisabledAddressWhitelist.sol","91":"src/common/implementation/LockableUpgradeable.sol","92":"src/common/implementation/MultiCaller.sol","93":"src/common/interfaces/AddressWhitelistInterface.sol","94":"src/common/interfaces/FixedPointInterface.sol","95":"src/data-verification-mechanism/interfaces/StoreInterface.sol","96":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol","97":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol","98":"src/optimistic-oracle-v2/interfaces/ManagedOptimisticOracleV2Interface.sol","99":"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol","100":"test/ManagedOptimisticOracleV2.t.sol","101":"test/common/AddressWhitelist.t.sol"},"language":"Solidity","_format":"ethers-rs-sol-build-info-1","input":{"version":"0.8.30","language":"Solidity","sources":{"lib/forge-std/src/Base.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nimport {StdStorage} from \"./StdStorage.sol\";\nimport {Vm, VmSafe} from \"./Vm.sol\";\n\nabstract contract CommonBase {\n /// @dev Cheat code address.\n /// Calculated as `address(uint160(uint256(keccak256(\"hevm cheat code\"))))`.\n address internal constant VM_ADDRESS = 0x7109709ECfa91a80626fF3989D68f67F5b1DD12D;\n /// @dev console.sol and console2.sol work by executing a staticcall to this address.\n /// Calculated as `address(uint160(uint88(bytes11(\"console.log\"))))`.\n address internal constant CONSOLE = 0x000000000000000000636F6e736F6c652e6c6f67;\n /// @dev Used when deploying with create2.\n /// Taken from https://github.com/Arachnid/deterministic-deployment-proxy.\n address internal constant CREATE2_FACTORY = 0x4e59b44847b379578588920cA78FbF26c0B4956C;\n /// @dev The default address for tx.origin and msg.sender.\n /// Calculated as `address(uint160(uint256(keccak256(\"foundry default caller\"))))`.\n address internal constant DEFAULT_SENDER = 0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38;\n /// @dev The address of the first contract `CREATE`d by a running test contract.\n /// When running tests, each test contract is `CREATE`d by `DEFAULT_SENDER` with nonce 1.\n /// Calculated as `VM.computeCreateAddress(VM.computeCreateAddress(DEFAULT_SENDER, 1), 1)`.\n address internal constant DEFAULT_TEST_CONTRACT = 0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f;\n /// @dev Deterministic deployment address of the Multicall3 contract.\n /// Taken from https://www.multicall3.com.\n address internal constant MULTICALL3_ADDRESS = 0xcA11bde05977b3631167028862bE2a173976CA11;\n /// @dev The order of the secp256k1 curve.\n uint256 internal constant SECP256K1_ORDER =\n 115792089237316195423570985008687907852837564279074904382605163141518161494337;\n\n uint256 internal constant UINT256_MAX =\n 115792089237316195423570985008687907853269984665640564039457584007913129639935;\n\n Vm internal constant vm = Vm(VM_ADDRESS);\n StdStorage internal stdstore;\n}\n\nabstract contract TestBase is CommonBase {}\n\nabstract contract ScriptBase is CommonBase {\n VmSafe internal constant vmSafe = VmSafe(VM_ADDRESS);\n}\n"},"lib/forge-std/src/Script.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\n// 💬 ABOUT\n// Forge Std's default Script.\n\n// 🧩 MODULES\nimport {console} from \"./console.sol\";\nimport {console2} from \"./console2.sol\";\nimport {safeconsole} from \"./safeconsole.sol\";\nimport {StdChains} from \"./StdChains.sol\";\nimport {StdCheatsSafe} from \"./StdCheats.sol\";\nimport {StdConstants} from \"./StdConstants.sol\";\nimport {stdJson} from \"./StdJson.sol\";\nimport {stdMath} from \"./StdMath.sol\";\nimport {StdStorage, stdStorageSafe} from \"./StdStorage.sol\";\nimport {StdStyle} from \"./StdStyle.sol\";\nimport {StdUtils} from \"./StdUtils.sol\";\nimport {VmSafe} from \"./Vm.sol\";\n\n// 📦 BOILERPLATE\nimport {ScriptBase} from \"./Base.sol\";\n\n// ⭐️ SCRIPT\nabstract contract Script is ScriptBase, StdChains, StdCheatsSafe, StdUtils {\n // Note: IS_SCRIPT() must return true.\n bool public IS_SCRIPT = true;\n}\n"},"lib/forge-std/src/StdAssertions.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\npragma experimental ABIEncoderV2;\n\nimport {Vm} from \"./Vm.sol\";\n\nabstract contract StdAssertions {\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n event log(string);\n event logs(bytes);\n\n event log_address(address);\n event log_bytes32(bytes32);\n event log_int(int256);\n event log_uint(uint256);\n event log_bytes(bytes);\n event log_string(string);\n\n event log_named_address(string key, address val);\n event log_named_bytes32(string key, bytes32 val);\n event log_named_decimal_int(string key, int256 val, uint256 decimals);\n event log_named_decimal_uint(string key, uint256 val, uint256 decimals);\n event log_named_int(string key, int256 val);\n event log_named_uint(string key, uint256 val);\n event log_named_bytes(string key, bytes val);\n event log_named_string(string key, string val);\n\n event log_array(uint256[] val);\n event log_array(int256[] val);\n event log_array(address[] val);\n event log_named_array(string key, uint256[] val);\n event log_named_array(string key, int256[] val);\n event log_named_array(string key, address[] val);\n\n bool private _failed;\n\n function failed() public view returns (bool) {\n if (_failed) {\n return _failed;\n } else {\n return vm.load(address(vm), bytes32(\"failed\")) != bytes32(0);\n }\n }\n\n function fail() internal virtual {\n vm.store(address(vm), bytes32(\"failed\"), bytes32(uint256(1)));\n _failed = true;\n }\n\n function assertTrue(bool data) internal pure virtual {\n vm.assertTrue(data);\n }\n\n function assertTrue(bool data, string memory err) internal pure virtual {\n vm.assertTrue(data, err);\n }\n\n function assertFalse(bool data) internal pure virtual {\n vm.assertFalse(data);\n }\n\n function assertFalse(bool data, string memory err) internal pure virtual {\n vm.assertFalse(data, err);\n }\n\n function assertEq(bool left, bool right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(bool left, bool right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(uint256 left, uint256 right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(uint256 left, uint256 right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEqDecimal(uint256 left, uint256 right, uint256 decimals) internal pure virtual {\n vm.assertEqDecimal(left, right, decimals);\n }\n\n function assertEqDecimal(uint256 left, uint256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertEqDecimal(left, right, decimals, err);\n }\n\n function assertEq(int256 left, int256 right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(int256 left, int256 right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEqDecimal(int256 left, int256 right, uint256 decimals) internal pure virtual {\n vm.assertEqDecimal(left, right, decimals);\n }\n\n function assertEqDecimal(int256 left, int256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertEqDecimal(left, right, decimals, err);\n }\n\n function assertEq(address left, address right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(address left, address right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(bytes32 left, bytes32 right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(bytes32 left, bytes32 right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq32(bytes32 left, bytes32 right) internal pure virtual {\n assertEq(left, right);\n }\n\n function assertEq32(bytes32 left, bytes32 right, string memory err) internal pure virtual {\n assertEq(left, right, err);\n }\n\n function assertEq(string memory left, string memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(string memory left, string memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(bytes memory left, bytes memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(bytes memory left, bytes memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(bool[] memory left, bool[] memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(bool[] memory left, bool[] memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(uint256[] memory left, uint256[] memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(uint256[] memory left, uint256[] memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(int256[] memory left, int256[] memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(int256[] memory left, int256[] memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(address[] memory left, address[] memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(address[] memory left, address[] memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(bytes32[] memory left, bytes32[] memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(bytes32[] memory left, bytes32[] memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(string[] memory left, string[] memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(string[] memory left, string[] memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(bytes[] memory left, bytes[] memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(bytes[] memory left, bytes[] memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n // Legacy helper\n function assertEqUint(uint256 left, uint256 right) internal pure virtual {\n assertEq(left, right);\n }\n\n function assertNotEq(bool left, bool right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(bool left, bool right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(uint256 left, uint256 right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(uint256 left, uint256 right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals) internal pure virtual {\n vm.assertNotEqDecimal(left, right, decimals);\n }\n\n function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals, string memory err)\n internal\n pure\n virtual\n {\n vm.assertNotEqDecimal(left, right, decimals, err);\n }\n\n function assertNotEq(int256 left, int256 right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(int256 left, int256 right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEqDecimal(int256 left, int256 right, uint256 decimals) internal pure virtual {\n vm.assertNotEqDecimal(left, right, decimals);\n }\n\n function assertNotEqDecimal(int256 left, int256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertNotEqDecimal(left, right, decimals, err);\n }\n\n function assertNotEq(address left, address right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(address left, address right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(bytes32 left, bytes32 right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(bytes32 left, bytes32 right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq32(bytes32 left, bytes32 right) internal pure virtual {\n assertNotEq(left, right);\n }\n\n function assertNotEq32(bytes32 left, bytes32 right, string memory err) internal pure virtual {\n assertNotEq(left, right, err);\n }\n\n function assertNotEq(string memory left, string memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(string memory left, string memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(bytes memory left, bytes memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(bytes memory left, bytes memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(bool[] memory left, bool[] memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(bool[] memory left, bool[] memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(uint256[] memory left, uint256[] memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(uint256[] memory left, uint256[] memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(int256[] memory left, int256[] memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(int256[] memory left, int256[] memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(address[] memory left, address[] memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(address[] memory left, address[] memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(bytes32[] memory left, bytes32[] memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(bytes32[] memory left, bytes32[] memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(string[] memory left, string[] memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(string[] memory left, string[] memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(bytes[] memory left, bytes[] memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(bytes[] memory left, bytes[] memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertLt(uint256 left, uint256 right) internal pure virtual {\n vm.assertLt(left, right);\n }\n\n function assertLt(uint256 left, uint256 right, string memory err) internal pure virtual {\n vm.assertLt(left, right, err);\n }\n\n function assertLtDecimal(uint256 left, uint256 right, uint256 decimals) internal pure virtual {\n vm.assertLtDecimal(left, right, decimals);\n }\n\n function assertLtDecimal(uint256 left, uint256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertLtDecimal(left, right, decimals, err);\n }\n\n function assertLt(int256 left, int256 right) internal pure virtual {\n vm.assertLt(left, right);\n }\n\n function assertLt(int256 left, int256 right, string memory err) internal pure virtual {\n vm.assertLt(left, right, err);\n }\n\n function assertLtDecimal(int256 left, int256 right, uint256 decimals) internal pure virtual {\n vm.assertLtDecimal(left, right, decimals);\n }\n\n function assertLtDecimal(int256 left, int256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertLtDecimal(left, right, decimals, err);\n }\n\n function assertGt(uint256 left, uint256 right) internal pure virtual {\n vm.assertGt(left, right);\n }\n\n function assertGt(uint256 left, uint256 right, string memory err) internal pure virtual {\n vm.assertGt(left, right, err);\n }\n\n function assertGtDecimal(uint256 left, uint256 right, uint256 decimals) internal pure virtual {\n vm.assertGtDecimal(left, right, decimals);\n }\n\n function assertGtDecimal(uint256 left, uint256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertGtDecimal(left, right, decimals, err);\n }\n\n function assertGt(int256 left, int256 right) internal pure virtual {\n vm.assertGt(left, right);\n }\n\n function assertGt(int256 left, int256 right, string memory err) internal pure virtual {\n vm.assertGt(left, right, err);\n }\n\n function assertGtDecimal(int256 left, int256 right, uint256 decimals) internal pure virtual {\n vm.assertGtDecimal(left, right, decimals);\n }\n\n function assertGtDecimal(int256 left, int256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertGtDecimal(left, right, decimals, err);\n }\n\n function assertLe(uint256 left, uint256 right) internal pure virtual {\n vm.assertLe(left, right);\n }\n\n function assertLe(uint256 left, uint256 right, string memory err) internal pure virtual {\n vm.assertLe(left, right, err);\n }\n\n function assertLeDecimal(uint256 left, uint256 right, uint256 decimals) internal pure virtual {\n vm.assertLeDecimal(left, right, decimals);\n }\n\n function assertLeDecimal(uint256 left, uint256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertLeDecimal(left, right, decimals, err);\n }\n\n function assertLe(int256 left, int256 right) internal pure virtual {\n vm.assertLe(left, right);\n }\n\n function assertLe(int256 left, int256 right, string memory err) internal pure virtual {\n vm.assertLe(left, right, err);\n }\n\n function assertLeDecimal(int256 left, int256 right, uint256 decimals) internal pure virtual {\n vm.assertLeDecimal(left, right, decimals);\n }\n\n function assertLeDecimal(int256 left, int256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertLeDecimal(left, right, decimals, err);\n }\n\n function assertGe(uint256 left, uint256 right) internal pure virtual {\n vm.assertGe(left, right);\n }\n\n function assertGe(uint256 left, uint256 right, string memory err) internal pure virtual {\n vm.assertGe(left, right, err);\n }\n\n function assertGeDecimal(uint256 left, uint256 right, uint256 decimals) internal pure virtual {\n vm.assertGeDecimal(left, right, decimals);\n }\n\n function assertGeDecimal(uint256 left, uint256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertGeDecimal(left, right, decimals, err);\n }\n\n function assertGe(int256 left, int256 right) internal pure virtual {\n vm.assertGe(left, right);\n }\n\n function assertGe(int256 left, int256 right, string memory err) internal pure virtual {\n vm.assertGe(left, right, err);\n }\n\n function assertGeDecimal(int256 left, int256 right, uint256 decimals) internal pure virtual {\n vm.assertGeDecimal(left, right, decimals);\n }\n\n function assertGeDecimal(int256 left, int256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertGeDecimal(left, right, decimals, err);\n }\n\n function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta) internal pure virtual {\n vm.assertApproxEqAbs(left, right, maxDelta);\n }\n\n function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta, string memory err)\n internal\n pure\n virtual\n {\n vm.assertApproxEqAbs(left, right, maxDelta, err);\n }\n\n function assertApproxEqAbsDecimal(uint256 left, uint256 right, uint256 maxDelta, uint256 decimals)\n internal\n pure\n virtual\n {\n vm.assertApproxEqAbsDecimal(left, right, maxDelta, decimals);\n }\n\n function assertApproxEqAbsDecimal(\n uint256 left,\n uint256 right,\n uint256 maxDelta,\n uint256 decimals,\n string memory err\n ) internal pure virtual {\n vm.assertApproxEqAbsDecimal(left, right, maxDelta, decimals, err);\n }\n\n function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta) internal pure virtual {\n vm.assertApproxEqAbs(left, right, maxDelta);\n }\n\n function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta, string memory err) internal pure virtual {\n vm.assertApproxEqAbs(left, right, maxDelta, err);\n }\n\n function assertApproxEqAbsDecimal(int256 left, int256 right, uint256 maxDelta, uint256 decimals)\n internal\n pure\n virtual\n {\n vm.assertApproxEqAbsDecimal(left, right, maxDelta, decimals);\n }\n\n function assertApproxEqAbsDecimal(int256 left, int256 right, uint256 maxDelta, uint256 decimals, string memory err)\n internal\n pure\n virtual\n {\n vm.assertApproxEqAbsDecimal(left, right, maxDelta, decimals, err);\n }\n\n function assertApproxEqRel(\n uint256 left,\n uint256 right,\n uint256 maxPercentDelta // An 18 decimal fixed point number, where 1e18 == 100%\n ) internal pure virtual {\n vm.assertApproxEqRel(left, right, maxPercentDelta);\n }\n\n function assertApproxEqRel(\n uint256 left,\n uint256 right,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n string memory err\n ) internal pure virtual {\n vm.assertApproxEqRel(left, right, maxPercentDelta, err);\n }\n\n function assertApproxEqRelDecimal(\n uint256 left,\n uint256 right,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n uint256 decimals\n ) internal pure virtual {\n vm.assertApproxEqRelDecimal(left, right, maxPercentDelta, decimals);\n }\n\n function assertApproxEqRelDecimal(\n uint256 left,\n uint256 right,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n uint256 decimals,\n string memory err\n ) internal pure virtual {\n vm.assertApproxEqRelDecimal(left, right, maxPercentDelta, decimals, err);\n }\n\n function assertApproxEqRel(int256 left, int256 right, uint256 maxPercentDelta) internal pure virtual {\n vm.assertApproxEqRel(left, right, maxPercentDelta);\n }\n\n function assertApproxEqRel(\n int256 left,\n int256 right,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n string memory err\n ) internal pure virtual {\n vm.assertApproxEqRel(left, right, maxPercentDelta, err);\n }\n\n function assertApproxEqRelDecimal(\n int256 left,\n int256 right,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n uint256 decimals\n ) internal pure virtual {\n vm.assertApproxEqRelDecimal(left, right, maxPercentDelta, decimals);\n }\n\n function assertApproxEqRelDecimal(\n int256 left,\n int256 right,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n uint256 decimals,\n string memory err\n ) internal pure virtual {\n vm.assertApproxEqRelDecimal(left, right, maxPercentDelta, decimals, err);\n }\n\n // Inherited from DSTest, not used but kept for backwards-compatibility\n function checkEq0(bytes memory left, bytes memory right) internal pure returns (bool) {\n return keccak256(left) == keccak256(right);\n }\n\n function assertEq0(bytes memory left, bytes memory right) internal pure virtual {\n assertEq(left, right);\n }\n\n function assertEq0(bytes memory left, bytes memory right, string memory err) internal pure virtual {\n assertEq(left, right, err);\n }\n\n function assertNotEq0(bytes memory left, bytes memory right) internal pure virtual {\n assertNotEq(left, right);\n }\n\n function assertNotEq0(bytes memory left, bytes memory right, string memory err) internal pure virtual {\n assertNotEq(left, right, err);\n }\n\n function assertEqCall(address target, bytes memory callDataA, bytes memory callDataB) internal virtual {\n assertEqCall(target, callDataA, target, callDataB, true);\n }\n\n function assertEqCall(address targetA, bytes memory callDataA, address targetB, bytes memory callDataB)\n internal\n virtual\n {\n assertEqCall(targetA, callDataA, targetB, callDataB, true);\n }\n\n function assertEqCall(address target, bytes memory callDataA, bytes memory callDataB, bool strictRevertData)\n internal\n virtual\n {\n assertEqCall(target, callDataA, target, callDataB, strictRevertData);\n }\n\n function assertEqCall(\n address targetA,\n bytes memory callDataA,\n address targetB,\n bytes memory callDataB,\n bool strictRevertData\n ) internal virtual {\n (bool successA, bytes memory returnDataA) = address(targetA).call(callDataA);\n (bool successB, bytes memory returnDataB) = address(targetB).call(callDataB);\n\n if (successA && successB) {\n assertEq(returnDataA, returnDataB, \"Call return data does not match\");\n }\n\n if (!successA && !successB && strictRevertData) {\n assertEq(returnDataA, returnDataB, \"Call revert data does not match\");\n }\n\n if (!successA && successB) {\n emit log(\"Error: Calls were not equal\");\n emit log_named_bytes(\" Left call revert data\", returnDataA);\n emit log_named_bytes(\" Right call return data\", returnDataB);\n revert(\"assertion failed\");\n }\n\n if (successA && !successB) {\n emit log(\"Error: Calls were not equal\");\n emit log_named_bytes(\" Left call return data\", returnDataA);\n emit log_named_bytes(\" Right call revert data\", returnDataB);\n revert(\"assertion failed\");\n }\n }\n}\n"},"lib/forge-std/src/StdChains.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nimport {VmSafe} from \"./Vm.sol\";\n\n/**\n * StdChains provides information about EVM compatible chains that can be used in scripts/tests.\n * For each chain, the chain's name, chain ID, and a default RPC URL are provided. Chains are\n * identified by their alias, which is the same as the alias in the `[rpc_endpoints]` section of\n * the `foundry.toml` file. For best UX, ensure the alias in the `foundry.toml` file match the\n * alias used in this contract, which can be found as the first argument to the\n * `setChainWithDefaultRpcUrl` call in the `initializeStdChains` function.\n *\n * There are two main ways to use this contract:\n * 1. Set a chain with `setChain(string memory chainAlias, ChainData memory chain)` or\n * `setChain(string memory chainAlias, Chain memory chain)`\n * 2. Get a chain with `getChain(string memory chainAlias)` or `getChain(uint256 chainId)`.\n *\n * The first time either of those are used, chains are initialized with the default set of RPC URLs.\n * This is done in `initializeStdChains`, which uses `setChainWithDefaultRpcUrl`. Defaults are recorded in\n * `defaultRpcUrls`.\n *\n * The `setChain` function is straightforward, and it simply saves off the given chain data.\n *\n * The `getChain` methods use `getChainWithUpdatedRpcUrl` to return a chain. For example, let's say\n * we want to retrieve the RPC URL for `mainnet`:\n * - If you have specified data with `setChain`, it will return that.\n * - If you have configured a mainnet RPC URL in `foundry.toml`, it will return the URL, provided it\n * is valid (e.g. a URL is specified, or an environment variable is given and exists).\n * - If neither of the above conditions is met, the default data is returned.\n *\n * Summarizing the above, the prioritization hierarchy is `setChain` -> `foundry.toml` -> environment variable -> defaults.\n */\nabstract contract StdChains {\n VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n bool private stdChainsInitialized;\n\n struct ChainData {\n string name;\n uint256 chainId;\n string rpcUrl;\n }\n\n struct Chain {\n // The chain name.\n string name;\n // The chain's Chain ID.\n uint256 chainId;\n // The chain's alias. (i.e. what gets specified in `foundry.toml`).\n string chainAlias;\n // A default RPC endpoint for this chain.\n // NOTE: This default RPC URL is included for convenience to facilitate quick tests and\n // experimentation. Do not use this RPC URL for production test suites, CI, or other heavy\n // usage as you will be throttled and this is a disservice to others who need this endpoint.\n string rpcUrl;\n }\n\n // Maps from the chain's alias (matching the alias in the `foundry.toml` file) to chain data.\n mapping(string => Chain) private chains;\n // Maps from the chain's alias to it's default RPC URL.\n mapping(string => string) private defaultRpcUrls;\n // Maps from a chain ID to it's alias.\n mapping(uint256 => string) private idToAlias;\n\n bool private fallbackToDefaultRpcUrls = true;\n\n // The RPC URL will be fetched from config or defaultRpcUrls if possible.\n function getChain(string memory chainAlias) internal virtual returns (Chain memory chain) {\n require(bytes(chainAlias).length != 0, \"StdChains getChain(string): Chain alias cannot be the empty string.\");\n\n initializeStdChains();\n chain = chains[chainAlias];\n require(\n chain.chainId != 0,\n string(abi.encodePacked(\"StdChains getChain(string): Chain with alias \\\"\", chainAlias, \"\\\" not found.\"))\n );\n\n chain = getChainWithUpdatedRpcUrl(chainAlias, chain);\n }\n\n function getChain(uint256 chainId) internal virtual returns (Chain memory chain) {\n require(chainId != 0, \"StdChains getChain(uint256): Chain ID cannot be 0.\");\n initializeStdChains();\n string memory chainAlias = idToAlias[chainId];\n\n chain = chains[chainAlias];\n\n require(\n chain.chainId != 0,\n string(abi.encodePacked(\"StdChains getChain(uint256): Chain with ID \", vm.toString(chainId), \" not found.\"))\n );\n\n chain = getChainWithUpdatedRpcUrl(chainAlias, chain);\n }\n\n // set chain info, with priority to argument's rpcUrl field.\n function setChain(string memory chainAlias, ChainData memory chain) internal virtual {\n require(\n bytes(chainAlias).length != 0,\n \"StdChains setChain(string,ChainData): Chain alias cannot be the empty string.\"\n );\n\n require(chain.chainId != 0, \"StdChains setChain(string,ChainData): Chain ID cannot be 0.\");\n\n initializeStdChains();\n string memory foundAlias = idToAlias[chain.chainId];\n\n require(\n bytes(foundAlias).length == 0 || keccak256(bytes(foundAlias)) == keccak256(bytes(chainAlias)),\n string(\n abi.encodePacked(\n \"StdChains setChain(string,ChainData): Chain ID \",\n vm.toString(chain.chainId),\n \" already used by \\\"\",\n foundAlias,\n \"\\\".\"\n )\n )\n );\n\n uint256 oldChainId = chains[chainAlias].chainId;\n delete idToAlias[oldChainId];\n\n chains[chainAlias] =\n Chain({name: chain.name, chainId: chain.chainId, chainAlias: chainAlias, rpcUrl: chain.rpcUrl});\n idToAlias[chain.chainId] = chainAlias;\n }\n\n // set chain info, with priority to argument's rpcUrl field.\n function setChain(string memory chainAlias, Chain memory chain) internal virtual {\n setChain(chainAlias, ChainData({name: chain.name, chainId: chain.chainId, rpcUrl: chain.rpcUrl}));\n }\n\n function _toUpper(string memory str) private pure returns (string memory) {\n bytes memory strb = bytes(str);\n bytes memory copy = new bytes(strb.length);\n for (uint256 i = 0; i < strb.length; i++) {\n bytes1 b = strb[i];\n if (b >= 0x61 && b <= 0x7A) {\n copy[i] = bytes1(uint8(b) - 32);\n } else {\n copy[i] = b;\n }\n }\n return string(copy);\n }\n\n // lookup rpcUrl, in descending order of priority:\n // current -> config (foundry.toml) -> environment variable -> default\n function getChainWithUpdatedRpcUrl(string memory chainAlias, Chain memory chain)\n private\n view\n returns (Chain memory)\n {\n if (bytes(chain.rpcUrl).length == 0) {\n try vm.rpcUrl(chainAlias) returns (string memory configRpcUrl) {\n chain.rpcUrl = configRpcUrl;\n } catch (bytes memory err) {\n string memory envName = string(abi.encodePacked(_toUpper(chainAlias), \"_RPC_URL\"));\n if (fallbackToDefaultRpcUrls) {\n chain.rpcUrl = vm.envOr(envName, defaultRpcUrls[chainAlias]);\n } else {\n chain.rpcUrl = vm.envString(envName);\n }\n // Distinguish 'not found' from 'cannot read'\n // The upstream error thrown by forge for failing cheats changed so we check both the old and new versions\n bytes memory oldNotFoundError =\n abi.encodeWithSignature(\"CheatCodeError\", string(abi.encodePacked(\"invalid rpc url \", chainAlias)));\n bytes memory newNotFoundError = abi.encodeWithSignature(\n \"CheatcodeError(string)\", string(abi.encodePacked(\"invalid rpc url: \", chainAlias))\n );\n bytes32 errHash = keccak256(err);\n if (\n (errHash != keccak256(oldNotFoundError) && errHash != keccak256(newNotFoundError))\n || bytes(chain.rpcUrl).length == 0\n ) {\n /// @solidity memory-safe-assembly\n assembly {\n revert(add(32, err), mload(err))\n }\n }\n }\n }\n return chain;\n }\n\n function setFallbackToDefaultRpcUrls(bool useDefault) internal {\n fallbackToDefaultRpcUrls = useDefault;\n }\n\n function initializeStdChains() private {\n if (stdChainsInitialized) return;\n\n stdChainsInitialized = true;\n\n // If adding an RPC here, make sure to test the default RPC URL in `test_Rpcs` in `StdChains.t.sol`\n setChainWithDefaultRpcUrl(\"anvil\", ChainData(\"Anvil\", 31337, \"http://127.0.0.1:8545\"));\n setChainWithDefaultRpcUrl(\"mainnet\", ChainData(\"Mainnet\", 1, \"https://eth.llamarpc.com\"));\n setChainWithDefaultRpcUrl(\n \"sepolia\", ChainData(\"Sepolia\", 11155111, \"https://sepolia.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001\")\n );\n setChainWithDefaultRpcUrl(\"holesky\", ChainData(\"Holesky\", 17000, \"https://rpc.holesky.ethpandaops.io\"));\n setChainWithDefaultRpcUrl(\"hoodi\", ChainData(\"Hoodi\", 560048, \"https://rpc.hoodi.ethpandaops.io\"));\n setChainWithDefaultRpcUrl(\"optimism\", ChainData(\"Optimism\", 10, \"https://mainnet.optimism.io\"));\n setChainWithDefaultRpcUrl(\n \"optimism_sepolia\", ChainData(\"Optimism Sepolia\", 11155420, \"https://sepolia.optimism.io\")\n );\n setChainWithDefaultRpcUrl(\"arbitrum_one\", ChainData(\"Arbitrum One\", 42161, \"https://arb1.arbitrum.io/rpc\"));\n setChainWithDefaultRpcUrl(\n \"arbitrum_one_sepolia\", ChainData(\"Arbitrum One Sepolia\", 421614, \"https://sepolia-rollup.arbitrum.io/rpc\")\n );\n setChainWithDefaultRpcUrl(\"arbitrum_nova\", ChainData(\"Arbitrum Nova\", 42170, \"https://nova.arbitrum.io/rpc\"));\n setChainWithDefaultRpcUrl(\"polygon\", ChainData(\"Polygon\", 137, \"https://polygon-rpc.com\"));\n setChainWithDefaultRpcUrl(\n \"polygon_amoy\", ChainData(\"Polygon Amoy\", 80002, \"https://rpc-amoy.polygon.technology\")\n );\n setChainWithDefaultRpcUrl(\"avalanche\", ChainData(\"Avalanche\", 43114, \"https://api.avax.network/ext/bc/C/rpc\"));\n setChainWithDefaultRpcUrl(\n \"avalanche_fuji\", ChainData(\"Avalanche Fuji\", 43113, \"https://api.avax-test.network/ext/bc/C/rpc\")\n );\n setChainWithDefaultRpcUrl(\n \"bnb_smart_chain\", ChainData(\"BNB Smart Chain\", 56, \"https://bsc-dataseed1.binance.org\")\n );\n setChainWithDefaultRpcUrl(\n \"bnb_smart_chain_testnet\",\n ChainData(\"BNB Smart Chain Testnet\", 97, \"https://rpc.ankr.com/bsc_testnet_chapel\")\n );\n setChainWithDefaultRpcUrl(\"gnosis_chain\", ChainData(\"Gnosis Chain\", 100, \"https://rpc.gnosischain.com\"));\n setChainWithDefaultRpcUrl(\"moonbeam\", ChainData(\"Moonbeam\", 1284, \"https://rpc.api.moonbeam.network\"));\n setChainWithDefaultRpcUrl(\n \"moonriver\", ChainData(\"Moonriver\", 1285, \"https://rpc.api.moonriver.moonbeam.network\")\n );\n setChainWithDefaultRpcUrl(\"moonbase\", ChainData(\"Moonbase\", 1287, \"https://rpc.testnet.moonbeam.network\"));\n setChainWithDefaultRpcUrl(\"base_sepolia\", ChainData(\"Base Sepolia\", 84532, \"https://sepolia.base.org\"));\n setChainWithDefaultRpcUrl(\"base\", ChainData(\"Base\", 8453, \"https://mainnet.base.org\"));\n setChainWithDefaultRpcUrl(\"blast_sepolia\", ChainData(\"Blast Sepolia\", 168587773, \"https://sepolia.blast.io\"));\n setChainWithDefaultRpcUrl(\"blast\", ChainData(\"Blast\", 81457, \"https://rpc.blast.io\"));\n setChainWithDefaultRpcUrl(\"fantom_opera\", ChainData(\"Fantom Opera\", 250, \"https://rpc.ankr.com/fantom/\"));\n setChainWithDefaultRpcUrl(\n \"fantom_opera_testnet\", ChainData(\"Fantom Opera Testnet\", 4002, \"https://rpc.ankr.com/fantom_testnet/\")\n );\n setChainWithDefaultRpcUrl(\"fraxtal\", ChainData(\"Fraxtal\", 252, \"https://rpc.frax.com\"));\n setChainWithDefaultRpcUrl(\"fraxtal_testnet\", ChainData(\"Fraxtal Testnet\", 2522, \"https://rpc.testnet.frax.com\"));\n setChainWithDefaultRpcUrl(\n \"berachain_bartio_testnet\", ChainData(\"Berachain bArtio Testnet\", 80084, \"https://bartio.rpc.berachain.com\")\n );\n setChainWithDefaultRpcUrl(\"flare\", ChainData(\"Flare\", 14, \"https://flare-api.flare.network/ext/C/rpc\"));\n setChainWithDefaultRpcUrl(\n \"flare_coston2\", ChainData(\"Flare Coston2\", 114, \"https://coston2-api.flare.network/ext/C/rpc\")\n );\n\n setChainWithDefaultRpcUrl(\"mode\", ChainData(\"Mode\", 34443, \"https://mode.drpc.org\"));\n setChainWithDefaultRpcUrl(\"mode_sepolia\", ChainData(\"Mode Sepolia\", 919, \"https://sepolia.mode.network\"));\n\n setChainWithDefaultRpcUrl(\"zora\", ChainData(\"Zora\", 7777777, \"https://zora.drpc.org\"));\n setChainWithDefaultRpcUrl(\n \"zora_sepolia\", ChainData(\"Zora Sepolia\", 999999999, \"https://sepolia.rpc.zora.energy\")\n );\n\n setChainWithDefaultRpcUrl(\"race\", ChainData(\"Race\", 6805, \"https://racemainnet.io\"));\n setChainWithDefaultRpcUrl(\"race_sepolia\", ChainData(\"Race Sepolia\", 6806, \"https://racemainnet.io\"));\n\n setChainWithDefaultRpcUrl(\"metal\", ChainData(\"Metal\", 1750, \"https://metall2.drpc.org\"));\n setChainWithDefaultRpcUrl(\"metal_sepolia\", ChainData(\"Metal Sepolia\", 1740, \"https://testnet.rpc.metall2.com\"));\n\n setChainWithDefaultRpcUrl(\"binary\", ChainData(\"Binary\", 624, \"https://rpc.zero.thebinaryholdings.com\"));\n setChainWithDefaultRpcUrl(\n \"binary_sepolia\", ChainData(\"Binary Sepolia\", 625, \"https://rpc.zero.thebinaryholdings.com\")\n );\n\n setChainWithDefaultRpcUrl(\"orderly\", ChainData(\"Orderly\", 291, \"https://rpc.orderly.network\"));\n setChainWithDefaultRpcUrl(\n \"orderly_sepolia\", ChainData(\"Orderly Sepolia\", 4460, \"https://testnet-rpc.orderly.org\")\n );\n }\n\n // set chain info, with priority to chainAlias' rpc url in foundry.toml\n function setChainWithDefaultRpcUrl(string memory chainAlias, ChainData memory chain) private {\n string memory rpcUrl = chain.rpcUrl;\n defaultRpcUrls[chainAlias] = rpcUrl;\n chain.rpcUrl = \"\";\n setChain(chainAlias, chain);\n chain.rpcUrl = rpcUrl; // restore argument\n }\n}\n"},"lib/forge-std/src/StdCheats.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nimport {StdStorage, stdStorage} from \"./StdStorage.sol\";\nimport {console2} from \"./console2.sol\";\nimport {Vm} from \"./Vm.sol\";\n\nabstract contract StdCheatsSafe {\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n uint256 private constant UINT256_MAX =\n 115792089237316195423570985008687907853269984665640564039457584007913129639935;\n\n bool private gasMeteringOff;\n\n // Data structures to parse Transaction objects from the broadcast artifact\n // that conform to EIP1559. The Raw structs is what is parsed from the JSON\n // and then converted to the one that is used by the user for better UX.\n\n struct RawTx1559 {\n string[] arguments;\n address contractAddress;\n string contractName;\n // json value name = function\n string functionSig;\n bytes32 hash;\n // json value name = tx\n RawTx1559Detail txDetail;\n // json value name = type\n string opcode;\n }\n\n struct RawTx1559Detail {\n AccessList[] accessList;\n bytes data;\n address from;\n bytes gas;\n bytes nonce;\n address to;\n bytes txType;\n bytes value;\n }\n\n struct Tx1559 {\n string[] arguments;\n address contractAddress;\n string contractName;\n string functionSig;\n bytes32 hash;\n Tx1559Detail txDetail;\n string opcode;\n }\n\n struct Tx1559Detail {\n AccessList[] accessList;\n bytes data;\n address from;\n uint256 gas;\n uint256 nonce;\n address to;\n uint256 txType;\n uint256 value;\n }\n\n // Data structures to parse Transaction objects from the broadcast artifact\n // that DO NOT conform to EIP1559. The Raw structs is what is parsed from the JSON\n // and then converted to the one that is used by the user for better UX.\n\n struct TxLegacy {\n string[] arguments;\n address contractAddress;\n string contractName;\n string functionSig;\n string hash;\n string opcode;\n TxDetailLegacy transaction;\n }\n\n struct TxDetailLegacy {\n AccessList[] accessList;\n uint256 chainId;\n bytes data;\n address from;\n uint256 gas;\n uint256 gasPrice;\n bytes32 hash;\n uint256 nonce;\n bytes1 opcode;\n bytes32 r;\n bytes32 s;\n uint256 txType;\n address to;\n uint8 v;\n uint256 value;\n }\n\n struct AccessList {\n address accessAddress;\n bytes32[] storageKeys;\n }\n\n // Data structures to parse Receipt objects from the broadcast artifact.\n // The Raw structs is what is parsed from the JSON\n // and then converted to the one that is used by the user for better UX.\n\n struct RawReceipt {\n bytes32 blockHash;\n bytes blockNumber;\n address contractAddress;\n bytes cumulativeGasUsed;\n bytes effectiveGasPrice;\n address from;\n bytes gasUsed;\n RawReceiptLog[] logs;\n bytes logsBloom;\n bytes status;\n address to;\n bytes32 transactionHash;\n bytes transactionIndex;\n }\n\n struct Receipt {\n bytes32 blockHash;\n uint256 blockNumber;\n address contractAddress;\n uint256 cumulativeGasUsed;\n uint256 effectiveGasPrice;\n address from;\n uint256 gasUsed;\n ReceiptLog[] logs;\n bytes logsBloom;\n uint256 status;\n address to;\n bytes32 transactionHash;\n uint256 transactionIndex;\n }\n\n // Data structures to parse the entire broadcast artifact, assuming the\n // transactions conform to EIP1559.\n\n struct EIP1559ScriptArtifact {\n string[] libraries;\n string path;\n string[] pending;\n Receipt[] receipts;\n uint256 timestamp;\n Tx1559[] transactions;\n TxReturn[] txReturns;\n }\n\n struct RawEIP1559ScriptArtifact {\n string[] libraries;\n string path;\n string[] pending;\n RawReceipt[] receipts;\n TxReturn[] txReturns;\n uint256 timestamp;\n RawTx1559[] transactions;\n }\n\n struct RawReceiptLog {\n // json value = address\n address logAddress;\n bytes32 blockHash;\n bytes blockNumber;\n bytes data;\n bytes logIndex;\n bool removed;\n bytes32[] topics;\n bytes32 transactionHash;\n bytes transactionIndex;\n bytes transactionLogIndex;\n }\n\n struct ReceiptLog {\n // json value = address\n address logAddress;\n bytes32 blockHash;\n uint256 blockNumber;\n bytes data;\n uint256 logIndex;\n bytes32[] topics;\n uint256 transactionIndex;\n uint256 transactionLogIndex;\n bool removed;\n }\n\n struct TxReturn {\n string internalType;\n string value;\n }\n\n struct Account {\n address addr;\n uint256 key;\n }\n\n enum AddressType {\n Payable,\n NonPayable,\n ZeroAddress,\n Precompile,\n ForgeAddress\n }\n\n // Checks that `addr` is not blacklisted by token contracts that have a blacklist.\n function assumeNotBlacklisted(address token, address addr) internal view virtual {\n // Nothing to check if `token` is not a contract.\n uint256 tokenCodeSize;\n assembly {\n tokenCodeSize := extcodesize(token)\n }\n require(tokenCodeSize > 0, \"StdCheats assumeNotBlacklisted(address,address): Token address is not a contract.\");\n\n bool success;\n bytes memory returnData;\n\n // 4-byte selector for `isBlacklisted(address)`, used by USDC.\n (success, returnData) = token.staticcall(abi.encodeWithSelector(0xfe575a87, addr));\n vm.assume(!success || abi.decode(returnData, (bool)) == false);\n\n // 4-byte selector for `isBlackListed(address)`, used by USDT.\n (success, returnData) = token.staticcall(abi.encodeWithSelector(0xe47d6060, addr));\n vm.assume(!success || abi.decode(returnData, (bool)) == false);\n }\n\n // Checks that `addr` is not blacklisted by token contracts that have a blacklist.\n // This is identical to `assumeNotBlacklisted(address,address)` but with a different name, for\n // backwards compatibility, since this name was used in the original PR which already has\n // a release. This function can be removed in a future release once we want a breaking change.\n function assumeNoBlacklisted(address token, address addr) internal view virtual {\n assumeNotBlacklisted(token, addr);\n }\n\n function assumeAddressIsNot(address addr, AddressType addressType) internal virtual {\n if (addressType == AddressType.Payable) {\n assumeNotPayable(addr);\n } else if (addressType == AddressType.NonPayable) {\n assumePayable(addr);\n } else if (addressType == AddressType.ZeroAddress) {\n assumeNotZeroAddress(addr);\n } else if (addressType == AddressType.Precompile) {\n assumeNotPrecompile(addr);\n } else if (addressType == AddressType.ForgeAddress) {\n assumeNotForgeAddress(addr);\n }\n }\n\n function assumeAddressIsNot(address addr, AddressType addressType1, AddressType addressType2) internal virtual {\n assumeAddressIsNot(addr, addressType1);\n assumeAddressIsNot(addr, addressType2);\n }\n\n function assumeAddressIsNot(\n address addr,\n AddressType addressType1,\n AddressType addressType2,\n AddressType addressType3\n ) internal virtual {\n assumeAddressIsNot(addr, addressType1);\n assumeAddressIsNot(addr, addressType2);\n assumeAddressIsNot(addr, addressType3);\n }\n\n function assumeAddressIsNot(\n address addr,\n AddressType addressType1,\n AddressType addressType2,\n AddressType addressType3,\n AddressType addressType4\n ) internal virtual {\n assumeAddressIsNot(addr, addressType1);\n assumeAddressIsNot(addr, addressType2);\n assumeAddressIsNot(addr, addressType3);\n assumeAddressIsNot(addr, addressType4);\n }\n\n // This function checks whether an address, `addr`, is payable. It works by sending 1 wei to\n // `addr` and checking the `success` return value.\n // NOTE: This function may result in state changes depending on the fallback/receive logic\n // implemented by `addr`, which should be taken into account when this function is used.\n function _isPayable(address addr) private returns (bool) {\n require(\n addr.balance < UINT256_MAX,\n \"StdCheats _isPayable(address): Balance equals max uint256, so it cannot receive any more funds\"\n );\n uint256 origBalanceTest = address(this).balance;\n uint256 origBalanceAddr = address(addr).balance;\n\n vm.deal(address(this), 1);\n (bool success,) = payable(addr).call{value: 1}(\"\");\n\n // reset balances\n vm.deal(address(this), origBalanceTest);\n vm.deal(addr, origBalanceAddr);\n\n return success;\n }\n\n // NOTE: This function may result in state changes depending on the fallback/receive logic\n // implemented by `addr`, which should be taken into account when this function is used. See the\n // `_isPayable` method for more information.\n function assumePayable(address addr) internal virtual {\n vm.assume(_isPayable(addr));\n }\n\n function assumeNotPayable(address addr) internal virtual {\n vm.assume(!_isPayable(addr));\n }\n\n function assumeNotZeroAddress(address addr) internal pure virtual {\n vm.assume(addr != address(0));\n }\n\n function assumeNotPrecompile(address addr) internal pure virtual {\n assumeNotPrecompile(addr, _pureChainId());\n }\n\n function assumeNotPrecompile(address addr, uint256 chainId) internal pure virtual {\n // Note: For some chains like Optimism these are technically predeploys (i.e. bytecode placed at a specific\n // address), but the same rationale for excluding them applies so we include those too.\n\n // These are reserved by Ethereum and may be on all EVM-compatible chains.\n vm.assume(addr < address(0x1) || addr > address(0xff));\n\n // forgefmt: disable-start\n if (chainId == 10 || chainId == 420) {\n // https://github.com/ethereum-optimism/optimism/blob/eaa371a0184b56b7ca6d9eb9cb0a2b78b2ccd864/op-bindings/predeploys/addresses.go#L6-L21\n vm.assume(addr < address(0x4200000000000000000000000000000000000000) || addr > address(0x4200000000000000000000000000000000000800));\n } else if (chainId == 42161 || chainId == 421613) {\n // https://developer.arbitrum.io/useful-addresses#arbitrum-precompiles-l2-same-on-all-arb-chains\n vm.assume(addr < address(0x0000000000000000000000000000000000000064) || addr > address(0x0000000000000000000000000000000000000068));\n } else if (chainId == 43114 || chainId == 43113) {\n // https://github.com/ava-labs/subnet-evm/blob/47c03fd007ecaa6de2c52ea081596e0a88401f58/precompile/params.go#L18-L59\n vm.assume(addr < address(0x0100000000000000000000000000000000000000) || addr > address(0x01000000000000000000000000000000000000ff));\n vm.assume(addr < address(0x0200000000000000000000000000000000000000) || addr > address(0x02000000000000000000000000000000000000FF));\n vm.assume(addr < address(0x0300000000000000000000000000000000000000) || addr > address(0x03000000000000000000000000000000000000Ff));\n }\n // forgefmt: disable-end\n }\n\n function assumeNotForgeAddress(address addr) internal pure virtual {\n // vm, console, and Create2Deployer addresses\n vm.assume(\n addr != address(vm) && addr != 0x000000000000000000636F6e736F6c652e6c6f67\n && addr != 0x4e59b44847b379578588920cA78FbF26c0B4956C\n );\n }\n\n function assumeUnusedAddress(address addr) internal view virtual {\n uint256 size;\n assembly {\n size := extcodesize(addr)\n }\n vm.assume(size == 0);\n\n assumeNotPrecompile(addr);\n assumeNotZeroAddress(addr);\n assumeNotForgeAddress(addr);\n }\n\n function readEIP1559ScriptArtifact(string memory path)\n internal\n view\n virtual\n returns (EIP1559ScriptArtifact memory)\n {\n string memory data = vm.readFile(path);\n bytes memory parsedData = vm.parseJson(data);\n RawEIP1559ScriptArtifact memory rawArtifact = abi.decode(parsedData, (RawEIP1559ScriptArtifact));\n EIP1559ScriptArtifact memory artifact;\n artifact.libraries = rawArtifact.libraries;\n artifact.path = rawArtifact.path;\n artifact.timestamp = rawArtifact.timestamp;\n artifact.pending = rawArtifact.pending;\n artifact.txReturns = rawArtifact.txReturns;\n artifact.receipts = rawToConvertedReceipts(rawArtifact.receipts);\n artifact.transactions = rawToConvertedEIPTx1559s(rawArtifact.transactions);\n return artifact;\n }\n\n function rawToConvertedEIPTx1559s(RawTx1559[] memory rawTxs) internal pure virtual returns (Tx1559[] memory) {\n Tx1559[] memory txs = new Tx1559[](rawTxs.length);\n for (uint256 i; i < rawTxs.length; i++) {\n txs[i] = rawToConvertedEIPTx1559(rawTxs[i]);\n }\n return txs;\n }\n\n function rawToConvertedEIPTx1559(RawTx1559 memory rawTx) internal pure virtual returns (Tx1559 memory) {\n Tx1559 memory transaction;\n transaction.arguments = rawTx.arguments;\n transaction.contractName = rawTx.contractName;\n transaction.functionSig = rawTx.functionSig;\n transaction.hash = rawTx.hash;\n transaction.txDetail = rawToConvertedEIP1559Detail(rawTx.txDetail);\n transaction.opcode = rawTx.opcode;\n return transaction;\n }\n\n function rawToConvertedEIP1559Detail(RawTx1559Detail memory rawDetail)\n internal\n pure\n virtual\n returns (Tx1559Detail memory)\n {\n Tx1559Detail memory txDetail;\n txDetail.data = rawDetail.data;\n txDetail.from = rawDetail.from;\n txDetail.to = rawDetail.to;\n txDetail.nonce = _bytesToUint(rawDetail.nonce);\n txDetail.txType = _bytesToUint(rawDetail.txType);\n txDetail.value = _bytesToUint(rawDetail.value);\n txDetail.gas = _bytesToUint(rawDetail.gas);\n txDetail.accessList = rawDetail.accessList;\n return txDetail;\n }\n\n function readTx1559s(string memory path) internal view virtual returns (Tx1559[] memory) {\n string memory deployData = vm.readFile(path);\n bytes memory parsedDeployData = vm.parseJson(deployData, \".transactions\");\n RawTx1559[] memory rawTxs = abi.decode(parsedDeployData, (RawTx1559[]));\n return rawToConvertedEIPTx1559s(rawTxs);\n }\n\n function readTx1559(string memory path, uint256 index) internal view virtual returns (Tx1559 memory) {\n string memory deployData = vm.readFile(path);\n string memory key = string(abi.encodePacked(\".transactions[\", vm.toString(index), \"]\"));\n bytes memory parsedDeployData = vm.parseJson(deployData, key);\n RawTx1559 memory rawTx = abi.decode(parsedDeployData, (RawTx1559));\n return rawToConvertedEIPTx1559(rawTx);\n }\n\n // Analogous to readTransactions, but for receipts.\n function readReceipts(string memory path) internal view virtual returns (Receipt[] memory) {\n string memory deployData = vm.readFile(path);\n bytes memory parsedDeployData = vm.parseJson(deployData, \".receipts\");\n RawReceipt[] memory rawReceipts = abi.decode(parsedDeployData, (RawReceipt[]));\n return rawToConvertedReceipts(rawReceipts);\n }\n\n function readReceipt(string memory path, uint256 index) internal view virtual returns (Receipt memory) {\n string memory deployData = vm.readFile(path);\n string memory key = string(abi.encodePacked(\".receipts[\", vm.toString(index), \"]\"));\n bytes memory parsedDeployData = vm.parseJson(deployData, key);\n RawReceipt memory rawReceipt = abi.decode(parsedDeployData, (RawReceipt));\n return rawToConvertedReceipt(rawReceipt);\n }\n\n function rawToConvertedReceipts(RawReceipt[] memory rawReceipts) internal pure virtual returns (Receipt[] memory) {\n Receipt[] memory receipts = new Receipt[](rawReceipts.length);\n for (uint256 i; i < rawReceipts.length; i++) {\n receipts[i] = rawToConvertedReceipt(rawReceipts[i]);\n }\n return receipts;\n }\n\n function rawToConvertedReceipt(RawReceipt memory rawReceipt) internal pure virtual returns (Receipt memory) {\n Receipt memory receipt;\n receipt.blockHash = rawReceipt.blockHash;\n receipt.to = rawReceipt.to;\n receipt.from = rawReceipt.from;\n receipt.contractAddress = rawReceipt.contractAddress;\n receipt.effectiveGasPrice = _bytesToUint(rawReceipt.effectiveGasPrice);\n receipt.cumulativeGasUsed = _bytesToUint(rawReceipt.cumulativeGasUsed);\n receipt.gasUsed = _bytesToUint(rawReceipt.gasUsed);\n receipt.status = _bytesToUint(rawReceipt.status);\n receipt.transactionIndex = _bytesToUint(rawReceipt.transactionIndex);\n receipt.blockNumber = _bytesToUint(rawReceipt.blockNumber);\n receipt.logs = rawToConvertedReceiptLogs(rawReceipt.logs);\n receipt.logsBloom = rawReceipt.logsBloom;\n receipt.transactionHash = rawReceipt.transactionHash;\n return receipt;\n }\n\n function rawToConvertedReceiptLogs(RawReceiptLog[] memory rawLogs)\n internal\n pure\n virtual\n returns (ReceiptLog[] memory)\n {\n ReceiptLog[] memory logs = new ReceiptLog[](rawLogs.length);\n for (uint256 i; i < rawLogs.length; i++) {\n logs[i].logAddress = rawLogs[i].logAddress;\n logs[i].blockHash = rawLogs[i].blockHash;\n logs[i].blockNumber = _bytesToUint(rawLogs[i].blockNumber);\n logs[i].data = rawLogs[i].data;\n logs[i].logIndex = _bytesToUint(rawLogs[i].logIndex);\n logs[i].topics = rawLogs[i].topics;\n logs[i].transactionIndex = _bytesToUint(rawLogs[i].transactionIndex);\n logs[i].transactionLogIndex = _bytesToUint(rawLogs[i].transactionLogIndex);\n logs[i].removed = rawLogs[i].removed;\n }\n return logs;\n }\n\n // Deploy a contract by fetching the contract bytecode from\n // the artifacts directory\n // e.g. `deployCode(code, abi.encode(arg1,arg2,arg3))`\n function deployCode(string memory what, bytes memory args) internal virtual returns (address addr) {\n bytes memory bytecode = abi.encodePacked(vm.getCode(what), args);\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(0, add(bytecode, 0x20), mload(bytecode))\n }\n\n require(addr != address(0), \"StdCheats deployCode(string,bytes): Deployment failed.\");\n }\n\n function deployCode(string memory what) internal virtual returns (address addr) {\n bytes memory bytecode = vm.getCode(what);\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(0, add(bytecode, 0x20), mload(bytecode))\n }\n\n require(addr != address(0), \"StdCheats deployCode(string): Deployment failed.\");\n }\n\n /// @dev deploy contract with value on construction\n function deployCode(string memory what, bytes memory args, uint256 val) internal virtual returns (address addr) {\n bytes memory bytecode = abi.encodePacked(vm.getCode(what), args);\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(val, add(bytecode, 0x20), mload(bytecode))\n }\n\n require(addr != address(0), \"StdCheats deployCode(string,bytes,uint256): Deployment failed.\");\n }\n\n function deployCode(string memory what, uint256 val) internal virtual returns (address addr) {\n bytes memory bytecode = vm.getCode(what);\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(val, add(bytecode, 0x20), mload(bytecode))\n }\n\n require(addr != address(0), \"StdCheats deployCode(string,uint256): Deployment failed.\");\n }\n\n // creates a labeled address and the corresponding private key\n function makeAddrAndKey(string memory name) internal virtual returns (address addr, uint256 privateKey) {\n privateKey = uint256(keccak256(abi.encodePacked(name)));\n addr = vm.addr(privateKey);\n vm.label(addr, name);\n }\n\n // creates a labeled address\n function makeAddr(string memory name) internal virtual returns (address addr) {\n (addr,) = makeAddrAndKey(name);\n }\n\n // Destroys an account immediately, sending the balance to beneficiary.\n // Destroying means: balance will be zero, code will be empty, and nonce will be 0\n // This is similar to selfdestruct but not identical: selfdestruct destroys code and nonce\n // only after tx ends, this will run immediately.\n function destroyAccount(address who, address beneficiary) internal virtual {\n uint256 currBalance = who.balance;\n vm.etch(who, abi.encode());\n vm.deal(who, 0);\n vm.resetNonce(who);\n\n uint256 beneficiaryBalance = beneficiary.balance;\n vm.deal(beneficiary, currBalance + beneficiaryBalance);\n }\n\n // creates a struct containing both a labeled address and the corresponding private key\n function makeAccount(string memory name) internal virtual returns (Account memory account) {\n (account.addr, account.key) = makeAddrAndKey(name);\n }\n\n function deriveRememberKey(string memory mnemonic, uint32 index)\n internal\n virtual\n returns (address who, uint256 privateKey)\n {\n privateKey = vm.deriveKey(mnemonic, index);\n who = vm.rememberKey(privateKey);\n }\n\n function _bytesToUint(bytes memory b) private pure returns (uint256) {\n require(b.length <= 32, \"StdCheats _bytesToUint(bytes): Bytes length exceeds 32.\");\n return abi.decode(abi.encodePacked(new bytes(32 - b.length), b), (uint256));\n }\n\n function isFork() internal view virtual returns (bool status) {\n try vm.activeFork() {\n status = true;\n } catch (bytes memory) {}\n }\n\n modifier skipWhenForking() {\n if (!isFork()) {\n _;\n }\n }\n\n modifier skipWhenNotForking() {\n if (isFork()) {\n _;\n }\n }\n\n modifier noGasMetering() {\n vm.pauseGasMetering();\n // To prevent turning gas monitoring back on with nested functions that use this modifier,\n // we check if gasMetering started in the off position. If it did, we don't want to turn\n // it back on until we exit the top level function that used the modifier\n //\n // i.e. funcA() noGasMetering { funcB() }, where funcB has noGasMetering as well.\n // funcA will have `gasStartedOff` as false, funcB will have it as true,\n // so we only turn metering back on at the end of the funcA\n bool gasStartedOff = gasMeteringOff;\n gasMeteringOff = true;\n\n _;\n\n // if gas metering was on when this modifier was called, turn it back on at the end\n if (!gasStartedOff) {\n gasMeteringOff = false;\n vm.resumeGasMetering();\n }\n }\n\n // We use this complex approach of `_viewChainId` and `_pureChainId` to ensure there are no\n // compiler warnings when accessing chain ID in any solidity version supported by forge-std. We\n // can't simply access the chain ID in a normal view or pure function because the solc View Pure\n // Checker changed `chainid` from pure to view in 0.8.0.\n function _viewChainId() private view returns (uint256 chainId) {\n // Assembly required since `block.chainid` was introduced in 0.8.0.\n assembly {\n chainId := chainid()\n }\n\n address(this); // Silence warnings in older Solc versions.\n }\n\n function _pureChainId() private pure returns (uint256 chainId) {\n function() internal view returns (uint256) fnIn = _viewChainId;\n function() internal pure returns (uint256) pureChainId;\n assembly {\n pureChainId := fnIn\n }\n chainId = pureChainId();\n }\n}\n\n// Wrappers around cheatcodes to avoid footguns\nabstract contract StdCheats is StdCheatsSafe {\n using stdStorage for StdStorage;\n\n StdStorage private stdstore;\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n address private constant CONSOLE2_ADDRESS = 0x000000000000000000636F6e736F6c652e6c6f67;\n\n // Skip forward or rewind time by the specified number of seconds\n function skip(uint256 time) internal virtual {\n vm.warp(vm.getBlockTimestamp() + time);\n }\n\n function rewind(uint256 time) internal virtual {\n vm.warp(vm.getBlockTimestamp() - time);\n }\n\n // Setup a prank from an address that has some ether\n function hoax(address msgSender) internal virtual {\n vm.deal(msgSender, 1 << 128);\n vm.prank(msgSender);\n }\n\n function hoax(address msgSender, uint256 give) internal virtual {\n vm.deal(msgSender, give);\n vm.prank(msgSender);\n }\n\n function hoax(address msgSender, address origin) internal virtual {\n vm.deal(msgSender, 1 << 128);\n vm.prank(msgSender, origin);\n }\n\n function hoax(address msgSender, address origin, uint256 give) internal virtual {\n vm.deal(msgSender, give);\n vm.prank(msgSender, origin);\n }\n\n // Start perpetual prank from an address that has some ether\n function startHoax(address msgSender) internal virtual {\n vm.deal(msgSender, 1 << 128);\n vm.startPrank(msgSender);\n }\n\n function startHoax(address msgSender, uint256 give) internal virtual {\n vm.deal(msgSender, give);\n vm.startPrank(msgSender);\n }\n\n // Start perpetual prank from an address that has some ether\n // tx.origin is set to the origin parameter\n function startHoax(address msgSender, address origin) internal virtual {\n vm.deal(msgSender, 1 << 128);\n vm.startPrank(msgSender, origin);\n }\n\n function startHoax(address msgSender, address origin, uint256 give) internal virtual {\n vm.deal(msgSender, give);\n vm.startPrank(msgSender, origin);\n }\n\n function changePrank(address msgSender) internal virtual {\n console2_log_StdCheats(\"changePrank is deprecated. Please use vm.startPrank instead.\");\n vm.stopPrank();\n vm.startPrank(msgSender);\n }\n\n function changePrank(address msgSender, address txOrigin) internal virtual {\n vm.stopPrank();\n vm.startPrank(msgSender, txOrigin);\n }\n\n // The same as Vm's `deal`\n // Use the alternative signature for ERC20 tokens\n function deal(address to, uint256 give) internal virtual {\n vm.deal(to, give);\n }\n\n // Set the balance of an account for any ERC20 token\n // Use the alternative signature to update `totalSupply`\n function deal(address token, address to, uint256 give) internal virtual {\n deal(token, to, give, false);\n }\n\n // Set the balance of an account for any ERC1155 token\n // Use the alternative signature to update `totalSupply`\n function dealERC1155(address token, address to, uint256 id, uint256 give) internal virtual {\n dealERC1155(token, to, id, give, false);\n }\n\n function deal(address token, address to, uint256 give, bool adjust) internal virtual {\n // get current balance\n (, bytes memory balData) = token.staticcall(abi.encodeWithSelector(0x70a08231, to));\n uint256 prevBal = abi.decode(balData, (uint256));\n\n // update balance\n stdstore.target(token).sig(0x70a08231).with_key(to).checked_write(give);\n\n // update total supply\n if (adjust) {\n (, bytes memory totSupData) = token.staticcall(abi.encodeWithSelector(0x18160ddd));\n uint256 totSup = abi.decode(totSupData, (uint256));\n if (give < prevBal) {\n totSup -= (prevBal - give);\n } else {\n totSup += (give - prevBal);\n }\n stdstore.target(token).sig(0x18160ddd).checked_write(totSup);\n }\n }\n\n function dealERC1155(address token, address to, uint256 id, uint256 give, bool adjust) internal virtual {\n // get current balance\n (, bytes memory balData) = token.staticcall(abi.encodeWithSelector(0x00fdd58e, to, id));\n uint256 prevBal = abi.decode(balData, (uint256));\n\n // update balance\n stdstore.target(token).sig(0x00fdd58e).with_key(to).with_key(id).checked_write(give);\n\n // update total supply\n if (adjust) {\n (, bytes memory totSupData) = token.staticcall(abi.encodeWithSelector(0xbd85b039, id));\n require(\n totSupData.length != 0,\n \"StdCheats deal(address,address,uint,uint,bool): target contract is not ERC1155Supply.\"\n );\n uint256 totSup = abi.decode(totSupData, (uint256));\n if (give < prevBal) {\n totSup -= (prevBal - give);\n } else {\n totSup += (give - prevBal);\n }\n stdstore.target(token).sig(0xbd85b039).with_key(id).checked_write(totSup);\n }\n }\n\n function dealERC721(address token, address to, uint256 id) internal virtual {\n // check if token id is already minted and the actual owner.\n (bool successMinted, bytes memory ownerData) = token.staticcall(abi.encodeWithSelector(0x6352211e, id));\n require(successMinted, \"StdCheats deal(address,address,uint,bool): id not minted.\");\n\n // get owner current balance\n (, bytes memory fromBalData) =\n token.staticcall(abi.encodeWithSelector(0x70a08231, abi.decode(ownerData, (address))));\n uint256 fromPrevBal = abi.decode(fromBalData, (uint256));\n\n // get new user current balance\n (, bytes memory toBalData) = token.staticcall(abi.encodeWithSelector(0x70a08231, to));\n uint256 toPrevBal = abi.decode(toBalData, (uint256));\n\n // update balances\n stdstore.target(token).sig(0x70a08231).with_key(abi.decode(ownerData, (address))).checked_write(--fromPrevBal);\n stdstore.target(token).sig(0x70a08231).with_key(to).checked_write(++toPrevBal);\n\n // update owner\n stdstore.target(token).sig(0x6352211e).with_key(id).checked_write(to);\n }\n\n function deployCodeTo(string memory what, address where) internal virtual {\n deployCodeTo(what, \"\", 0, where);\n }\n\n function deployCodeTo(string memory what, bytes memory args, address where) internal virtual {\n deployCodeTo(what, args, 0, where);\n }\n\n function deployCodeTo(string memory what, bytes memory args, uint256 value, address where) internal virtual {\n bytes memory creationCode = vm.getCode(what);\n vm.etch(where, abi.encodePacked(creationCode, args));\n (bool success, bytes memory runtimeBytecode) = where.call{value: value}(\"\");\n require(success, \"StdCheats deployCodeTo(string,bytes,uint256,address): Failed to create runtime bytecode.\");\n vm.etch(where, runtimeBytecode);\n }\n\n // Used to prevent the compilation of console, which shortens the compilation time when console is not used elsewhere.\n function console2_log_StdCheats(string memory p0) private view {\n (bool status,) = address(CONSOLE2_ADDRESS).staticcall(abi.encodeWithSignature(\"log(string)\", p0));\n status;\n }\n}\n"},"lib/forge-std/src/StdConstants.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nimport {IMulticall3} from \"./interfaces/IMulticall3.sol\";\nimport {Vm} from \"./Vm.sol\";\n\nlibrary StdConstants {\n /// @dev Cheat code address.\n /// Calculated as `address(uint160(uint256(keccak256(\"hevm cheat code\"))))`.\n Vm internal constant VM = Vm(0x7109709ECfa91a80626fF3989D68f67F5b1DD12D);\n /// @dev console.sol and console2.sol work by executing a staticcall to this address.\n /// Calculated as `address(uint160(uint88(bytes11(\"console.log\"))))`.\n address internal constant CONSOLE = 0x000000000000000000636F6e736F6c652e6c6f67;\n /// @dev Used when deploying with create2.\n /// Taken from https://github.com/Arachnid/deterministic-deployment-proxy.\n address internal constant CREATE2_FACTORY = 0x4e59b44847b379578588920cA78FbF26c0B4956C;\n /// @dev The default address for tx.origin and msg.sender.\n /// Calculated as `address(uint160(uint256(keccak256(\"foundry default caller\"))))`.\n address internal constant DEFAULT_SENDER = 0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38;\n /// @dev The address of the first contract `CREATE`d by a running test contract.\n /// When running tests, each test contract is `CREATE`d by `DEFAULT_SENDER` with nonce 1.\n /// Calculated as `VM.computeCreateAddress(VM.computeCreateAddress(DEFAULT_SENDER, 1), 1)`.\n address internal constant DEFAULT_TEST_CONTRACT = 0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f;\n /// @dev Deterministic deployment address of the Multicall3 contract.\n /// Taken from https://www.multicall3.com.\n IMulticall3 internal constant MULTICALL3_ADDRESS = IMulticall3(0xcA11bde05977b3631167028862bE2a173976CA11);\n /// @dev The order of the secp256k1 curve.\n uint256 internal constant SECP256K1_ORDER =\n 115792089237316195423570985008687907852837564279074904382605163141518161494337;\n}\n"},"lib/forge-std/src/StdError.sol":{"content":"// SPDX-License-Identifier: MIT\n// Panics work for versions >=0.8.0, but we lowered the pragma to make this compatible with Test\npragma solidity >=0.6.2 <0.9.0;\n\nlibrary stdError {\n bytes public constant assertionError = abi.encodeWithSignature(\"Panic(uint256)\", 0x01);\n bytes public constant arithmeticError = abi.encodeWithSignature(\"Panic(uint256)\", 0x11);\n bytes public constant divisionError = abi.encodeWithSignature(\"Panic(uint256)\", 0x12);\n bytes public constant enumConversionError = abi.encodeWithSignature(\"Panic(uint256)\", 0x21);\n bytes public constant encodeStorageError = abi.encodeWithSignature(\"Panic(uint256)\", 0x22);\n bytes public constant popError = abi.encodeWithSignature(\"Panic(uint256)\", 0x31);\n bytes public constant indexOOBError = abi.encodeWithSignature(\"Panic(uint256)\", 0x32);\n bytes public constant memOverflowError = abi.encodeWithSignature(\"Panic(uint256)\", 0x41);\n bytes public constant zeroVarError = abi.encodeWithSignature(\"Panic(uint256)\", 0x51);\n}\n"},"lib/forge-std/src/StdInvariant.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nabstract contract StdInvariant {\n struct FuzzSelector {\n address addr;\n bytes4[] selectors;\n }\n\n struct FuzzArtifactSelector {\n string artifact;\n bytes4[] selectors;\n }\n\n struct FuzzInterface {\n address addr;\n string[] artifacts;\n }\n\n address[] private _excludedContracts;\n address[] private _excludedSenders;\n address[] private _targetedContracts;\n address[] private _targetedSenders;\n\n string[] private _excludedArtifacts;\n string[] private _targetedArtifacts;\n\n FuzzArtifactSelector[] private _targetedArtifactSelectors;\n\n FuzzSelector[] private _excludedSelectors;\n FuzzSelector[] private _targetedSelectors;\n\n FuzzInterface[] private _targetedInterfaces;\n\n // Functions for users:\n // These are intended to be called in tests.\n\n function excludeContract(address newExcludedContract_) internal {\n _excludedContracts.push(newExcludedContract_);\n }\n\n function excludeSelector(FuzzSelector memory newExcludedSelector_) internal {\n _excludedSelectors.push(newExcludedSelector_);\n }\n\n function excludeSender(address newExcludedSender_) internal {\n _excludedSenders.push(newExcludedSender_);\n }\n\n function excludeArtifact(string memory newExcludedArtifact_) internal {\n _excludedArtifacts.push(newExcludedArtifact_);\n }\n\n function targetArtifact(string memory newTargetedArtifact_) internal {\n _targetedArtifacts.push(newTargetedArtifact_);\n }\n\n function targetArtifactSelector(FuzzArtifactSelector memory newTargetedArtifactSelector_) internal {\n _targetedArtifactSelectors.push(newTargetedArtifactSelector_);\n }\n\n function targetContract(address newTargetedContract_) internal {\n _targetedContracts.push(newTargetedContract_);\n }\n\n function targetSelector(FuzzSelector memory newTargetedSelector_) internal {\n _targetedSelectors.push(newTargetedSelector_);\n }\n\n function targetSender(address newTargetedSender_) internal {\n _targetedSenders.push(newTargetedSender_);\n }\n\n function targetInterface(FuzzInterface memory newTargetedInterface_) internal {\n _targetedInterfaces.push(newTargetedInterface_);\n }\n\n // Functions for forge:\n // These are called by forge to run invariant tests and don't need to be called in tests.\n\n function excludeArtifacts() public view returns (string[] memory excludedArtifacts_) {\n excludedArtifacts_ = _excludedArtifacts;\n }\n\n function excludeContracts() public view returns (address[] memory excludedContracts_) {\n excludedContracts_ = _excludedContracts;\n }\n\n function excludeSelectors() public view returns (FuzzSelector[] memory excludedSelectors_) {\n excludedSelectors_ = _excludedSelectors;\n }\n\n function excludeSenders() public view returns (address[] memory excludedSenders_) {\n excludedSenders_ = _excludedSenders;\n }\n\n function targetArtifacts() public view returns (string[] memory targetedArtifacts_) {\n targetedArtifacts_ = _targetedArtifacts;\n }\n\n function targetArtifactSelectors() public view returns (FuzzArtifactSelector[] memory targetedArtifactSelectors_) {\n targetedArtifactSelectors_ = _targetedArtifactSelectors;\n }\n\n function targetContracts() public view returns (address[] memory targetedContracts_) {\n targetedContracts_ = _targetedContracts;\n }\n\n function targetSelectors() public view returns (FuzzSelector[] memory targetedSelectors_) {\n targetedSelectors_ = _targetedSelectors;\n }\n\n function targetSenders() public view returns (address[] memory targetedSenders_) {\n targetedSenders_ = _targetedSenders;\n }\n\n function targetInterfaces() public view returns (FuzzInterface[] memory targetedInterfaces_) {\n targetedInterfaces_ = _targetedInterfaces;\n }\n}\n"},"lib/forge-std/src/StdJson.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.0 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nimport {VmSafe} from \"./Vm.sol\";\n\n// Helpers for parsing and writing JSON files\n// To parse:\n// ```\n// using stdJson for string;\n// string memory json = vm.readFile(\"\");\n// json.readUint(\"\");\n// ```\n// To write:\n// ```\n// using stdJson for string;\n// string memory json = \"json\";\n// json.serialize(\"a\", uint256(123));\n// string memory semiFinal = json.serialize(\"b\", string(\"test\"));\n// string memory finalJson = json.serialize(\"c\", semiFinal);\n// finalJson.write(\"\");\n// ```\n\nlibrary stdJson {\n VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n function keyExists(string memory json, string memory key) internal view returns (bool) {\n return vm.keyExistsJson(json, key);\n }\n\n function parseRaw(string memory json, string memory key) internal pure returns (bytes memory) {\n return vm.parseJson(json, key);\n }\n\n function readUint(string memory json, string memory key) internal pure returns (uint256) {\n return vm.parseJsonUint(json, key);\n }\n\n function readUintArray(string memory json, string memory key) internal pure returns (uint256[] memory) {\n return vm.parseJsonUintArray(json, key);\n }\n\n function readInt(string memory json, string memory key) internal pure returns (int256) {\n return vm.parseJsonInt(json, key);\n }\n\n function readIntArray(string memory json, string memory key) internal pure returns (int256[] memory) {\n return vm.parseJsonIntArray(json, key);\n }\n\n function readBytes32(string memory json, string memory key) internal pure returns (bytes32) {\n return vm.parseJsonBytes32(json, key);\n }\n\n function readBytes32Array(string memory json, string memory key) internal pure returns (bytes32[] memory) {\n return vm.parseJsonBytes32Array(json, key);\n }\n\n function readString(string memory json, string memory key) internal pure returns (string memory) {\n return vm.parseJsonString(json, key);\n }\n\n function readStringArray(string memory json, string memory key) internal pure returns (string[] memory) {\n return vm.parseJsonStringArray(json, key);\n }\n\n function readAddress(string memory json, string memory key) internal pure returns (address) {\n return vm.parseJsonAddress(json, key);\n }\n\n function readAddressArray(string memory json, string memory key) internal pure returns (address[] memory) {\n return vm.parseJsonAddressArray(json, key);\n }\n\n function readBool(string memory json, string memory key) internal pure returns (bool) {\n return vm.parseJsonBool(json, key);\n }\n\n function readBoolArray(string memory json, string memory key) internal pure returns (bool[] memory) {\n return vm.parseJsonBoolArray(json, key);\n }\n\n function readBytes(string memory json, string memory key) internal pure returns (bytes memory) {\n return vm.parseJsonBytes(json, key);\n }\n\n function readBytesArray(string memory json, string memory key) internal pure returns (bytes[] memory) {\n return vm.parseJsonBytesArray(json, key);\n }\n\n function readUintOr(string memory json, string memory key, uint256 defaultValue) internal view returns (uint256) {\n return keyExists(json, key) ? readUint(json, key) : defaultValue;\n }\n\n function readUintArrayOr(string memory json, string memory key, uint256[] memory defaultValue)\n internal\n view\n returns (uint256[] memory)\n {\n return keyExists(json, key) ? readUintArray(json, key) : defaultValue;\n }\n\n function readIntOr(string memory json, string memory key, int256 defaultValue) internal view returns (int256) {\n return keyExists(json, key) ? readInt(json, key) : defaultValue;\n }\n\n function readIntArrayOr(string memory json, string memory key, int256[] memory defaultValue)\n internal\n view\n returns (int256[] memory)\n {\n return keyExists(json, key) ? readIntArray(json, key) : defaultValue;\n }\n\n function readBytes32Or(string memory json, string memory key, bytes32 defaultValue)\n internal\n view\n returns (bytes32)\n {\n return keyExists(json, key) ? readBytes32(json, key) : defaultValue;\n }\n\n function readBytes32ArrayOr(string memory json, string memory key, bytes32[] memory defaultValue)\n internal\n view\n returns (bytes32[] memory)\n {\n return keyExists(json, key) ? readBytes32Array(json, key) : defaultValue;\n }\n\n function readStringOr(string memory json, string memory key, string memory defaultValue)\n internal\n view\n returns (string memory)\n {\n return keyExists(json, key) ? readString(json, key) : defaultValue;\n }\n\n function readStringArrayOr(string memory json, string memory key, string[] memory defaultValue)\n internal\n view\n returns (string[] memory)\n {\n return keyExists(json, key) ? readStringArray(json, key) : defaultValue;\n }\n\n function readAddressOr(string memory json, string memory key, address defaultValue)\n internal\n view\n returns (address)\n {\n return keyExists(json, key) ? readAddress(json, key) : defaultValue;\n }\n\n function readAddressArrayOr(string memory json, string memory key, address[] memory defaultValue)\n internal\n view\n returns (address[] memory)\n {\n return keyExists(json, key) ? readAddressArray(json, key) : defaultValue;\n }\n\n function readBoolOr(string memory json, string memory key, bool defaultValue) internal view returns (bool) {\n return keyExists(json, key) ? readBool(json, key) : defaultValue;\n }\n\n function readBoolArrayOr(string memory json, string memory key, bool[] memory defaultValue)\n internal\n view\n returns (bool[] memory)\n {\n return keyExists(json, key) ? readBoolArray(json, key) : defaultValue;\n }\n\n function readBytesOr(string memory json, string memory key, bytes memory defaultValue)\n internal\n view\n returns (bytes memory)\n {\n return keyExists(json, key) ? readBytes(json, key) : defaultValue;\n }\n\n function readBytesArrayOr(string memory json, string memory key, bytes[] memory defaultValue)\n internal\n view\n returns (bytes[] memory)\n {\n return keyExists(json, key) ? readBytesArray(json, key) : defaultValue;\n }\n\n function serialize(string memory jsonKey, string memory rootObject) internal returns (string memory) {\n return vm.serializeJson(jsonKey, rootObject);\n }\n\n function serialize(string memory jsonKey, string memory key, bool value) internal returns (string memory) {\n return vm.serializeBool(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bool[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBool(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, uint256 value) internal returns (string memory) {\n return vm.serializeUint(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, uint256[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeUint(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, int256 value) internal returns (string memory) {\n return vm.serializeInt(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, int256[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeInt(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, address value) internal returns (string memory) {\n return vm.serializeAddress(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, address[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeAddress(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes32 value) internal returns (string memory) {\n return vm.serializeBytes32(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes32[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBytes32(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes memory value) internal returns (string memory) {\n return vm.serializeBytes(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBytes(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, string memory value)\n internal\n returns (string memory)\n {\n return vm.serializeString(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, string[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeString(jsonKey, key, value);\n }\n\n function write(string memory jsonKey, string memory path) internal {\n vm.writeJson(jsonKey, path);\n }\n\n function write(string memory jsonKey, string memory path, string memory valueKey) internal {\n vm.writeJson(jsonKey, path, valueKey);\n }\n}\n"},"lib/forge-std/src/StdMath.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nlibrary stdMath {\n int256 private constant INT256_MIN = -57896044618658097711785492504343953926634992332820282019728792003956564819968;\n\n function abs(int256 a) internal pure returns (uint256) {\n // Required or it will fail when `a = type(int256).min`\n if (a == INT256_MIN) {\n return 57896044618658097711785492504343953926634992332820282019728792003956564819968;\n }\n\n return uint256(a > 0 ? a : -a);\n }\n\n function delta(uint256 a, uint256 b) internal pure returns (uint256) {\n return a > b ? a - b : b - a;\n }\n\n function delta(int256 a, int256 b) internal pure returns (uint256) {\n // a and b are of the same sign\n // this works thanks to two's complement, the left-most bit is the sign bit\n if ((a ^ b) > -1) {\n return delta(abs(a), abs(b));\n }\n\n // a and b are of opposite signs\n return abs(a) + abs(b);\n }\n\n function percentDelta(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 absDelta = delta(a, b);\n\n return absDelta * 1e18 / b;\n }\n\n function percentDelta(int256 a, int256 b) internal pure returns (uint256) {\n uint256 absDelta = delta(a, b);\n uint256 absB = abs(b);\n\n return absDelta * 1e18 / absB;\n }\n}\n"},"lib/forge-std/src/StdStorage.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nimport {Vm} from \"./Vm.sol\";\n\nstruct FindData {\n uint256 slot;\n uint256 offsetLeft;\n uint256 offsetRight;\n bool found;\n}\n\nstruct StdStorage {\n mapping(address => mapping(bytes4 => mapping(bytes32 => FindData))) finds;\n bytes32[] _keys;\n bytes4 _sig;\n uint256 _depth;\n address _target;\n bytes32 _set;\n bool _enable_packed_slots;\n bytes _calldata;\n}\n\nlibrary stdStorageSafe {\n event SlotFound(address who, bytes4 fsig, bytes32 keysHash, uint256 slot);\n event WARNING_UninitedSlot(address who, uint256 slot);\n\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n uint256 constant UINT256_MAX = 115792089237316195423570985008687907853269984665640564039457584007913129639935;\n\n function sigs(string memory sigStr) internal pure returns (bytes4) {\n return bytes4(keccak256(bytes(sigStr)));\n }\n\n function getCallParams(StdStorage storage self) internal view returns (bytes memory) {\n if (self._calldata.length == 0) {\n return flatten(self._keys);\n } else {\n return self._calldata;\n }\n }\n\n // Calls target contract with configured parameters\n function callTarget(StdStorage storage self) internal view returns (bool, bytes32) {\n bytes memory cald = abi.encodePacked(self._sig, getCallParams(self));\n (bool success, bytes memory rdat) = self._target.staticcall(cald);\n bytes32 result = bytesToBytes32(rdat, 32 * self._depth);\n\n return (success, result);\n }\n\n // Tries mutating slot value to determine if the targeted value is stored in it.\n // If current value is 0, then we are setting slot value to type(uint256).max\n // Otherwise, we set it to 0. That way, return value should always be affected.\n function checkSlotMutatesCall(StdStorage storage self, bytes32 slot) internal returns (bool) {\n bytes32 prevSlotValue = vm.load(self._target, slot);\n (bool success, bytes32 prevReturnValue) = callTarget(self);\n\n bytes32 testVal = prevReturnValue == bytes32(0) ? bytes32(UINT256_MAX) : bytes32(0);\n vm.store(self._target, slot, testVal);\n\n (, bytes32 newReturnValue) = callTarget(self);\n\n vm.store(self._target, slot, prevSlotValue);\n\n return (success && (prevReturnValue != newReturnValue));\n }\n\n // Tries setting one of the bits in slot to 1 until return value changes.\n // Index of resulted bit is an offset packed slot has from left/right side\n function findOffset(StdStorage storage self, bytes32 slot, bool left) internal returns (bool, uint256) {\n for (uint256 offset = 0; offset < 256; offset++) {\n uint256 valueToPut = left ? (1 << (255 - offset)) : (1 << offset);\n vm.store(self._target, slot, bytes32(valueToPut));\n\n (bool success, bytes32 data) = callTarget(self);\n\n if (success && (uint256(data) > 0)) {\n return (true, offset);\n }\n }\n return (false, 0);\n }\n\n function findOffsets(StdStorage storage self, bytes32 slot) internal returns (bool, uint256, uint256) {\n bytes32 prevSlotValue = vm.load(self._target, slot);\n\n (bool foundLeft, uint256 offsetLeft) = findOffset(self, slot, true);\n (bool foundRight, uint256 offsetRight) = findOffset(self, slot, false);\n\n // `findOffset` may mutate slot value, so we are setting it to initial value\n vm.store(self._target, slot, prevSlotValue);\n return (foundLeft && foundRight, offsetLeft, offsetRight);\n }\n\n function find(StdStorage storage self) internal returns (FindData storage) {\n return find(self, true);\n }\n\n /// @notice find an arbitrary storage slot given a function sig, input data, address of the contract and a value to check against\n // slot complexity:\n // if flat, will be bytes32(uint256(uint));\n // if map, will be keccak256(abi.encode(key, uint(slot)));\n // if deep map, will be keccak256(abi.encode(key1, keccak256(abi.encode(key0, uint(slot)))));\n // if map struct, will be bytes32(uint256(keccak256(abi.encode(key1, keccak256(abi.encode(key0, uint(slot)))))) + structFieldDepth);\n function find(StdStorage storage self, bool _clear) internal returns (FindData storage) {\n address who = self._target;\n bytes4 fsig = self._sig;\n uint256 field_depth = self._depth;\n bytes memory params = getCallParams(self);\n\n // calldata to test against\n if (self.finds[who][fsig][keccak256(abi.encodePacked(params, field_depth))].found) {\n if (_clear) {\n clear(self);\n }\n return self.finds[who][fsig][keccak256(abi.encodePacked(params, field_depth))];\n }\n vm.record();\n (, bytes32 callResult) = callTarget(self);\n (bytes32[] memory reads,) = vm.accesses(address(who));\n\n if (reads.length == 0) {\n revert(\"stdStorage find(StdStorage): No storage use detected for target.\");\n } else {\n for (uint256 i = reads.length; --i >= 0;) {\n bytes32 prev = vm.load(who, reads[i]);\n if (prev == bytes32(0)) {\n emit WARNING_UninitedSlot(who, uint256(reads[i]));\n }\n\n if (!checkSlotMutatesCall(self, reads[i])) {\n continue;\n }\n\n (uint256 offsetLeft, uint256 offsetRight) = (0, 0);\n\n if (self._enable_packed_slots) {\n bool found;\n (found, offsetLeft, offsetRight) = findOffsets(self, reads[i]);\n if (!found) {\n continue;\n }\n }\n\n // Check that value between found offsets is equal to the current call result\n uint256 curVal = (uint256(prev) & getMaskByOffsets(offsetLeft, offsetRight)) >> offsetRight;\n\n if (uint256(callResult) != curVal) {\n continue;\n }\n\n emit SlotFound(who, fsig, keccak256(abi.encodePacked(params, field_depth)), uint256(reads[i]));\n self.finds[who][fsig][keccak256(abi.encodePacked(params, field_depth))] =\n FindData(uint256(reads[i]), offsetLeft, offsetRight, true);\n break;\n }\n }\n\n require(\n self.finds[who][fsig][keccak256(abi.encodePacked(params, field_depth))].found,\n \"stdStorage find(StdStorage): Slot(s) not found.\"\n );\n\n if (_clear) {\n clear(self);\n }\n return self.finds[who][fsig][keccak256(abi.encodePacked(params, field_depth))];\n }\n\n function target(StdStorage storage self, address _target) internal returns (StdStorage storage) {\n self._target = _target;\n return self;\n }\n\n function sig(StdStorage storage self, bytes4 _sig) internal returns (StdStorage storage) {\n self._sig = _sig;\n return self;\n }\n\n function sig(StdStorage storage self, string memory _sig) internal returns (StdStorage storage) {\n self._sig = sigs(_sig);\n return self;\n }\n\n function with_calldata(StdStorage storage self, bytes memory _calldata) internal returns (StdStorage storage) {\n self._calldata = _calldata;\n return self;\n }\n\n function with_key(StdStorage storage self, address who) internal returns (StdStorage storage) {\n self._keys.push(bytes32(uint256(uint160(who))));\n return self;\n }\n\n function with_key(StdStorage storage self, uint256 amt) internal returns (StdStorage storage) {\n self._keys.push(bytes32(amt));\n return self;\n }\n\n function with_key(StdStorage storage self, bytes32 key) internal returns (StdStorage storage) {\n self._keys.push(key);\n return self;\n }\n\n function enable_packed_slots(StdStorage storage self) internal returns (StdStorage storage) {\n self._enable_packed_slots = true;\n return self;\n }\n\n function depth(StdStorage storage self, uint256 _depth) internal returns (StdStorage storage) {\n self._depth = _depth;\n return self;\n }\n\n function read(StdStorage storage self) private returns (bytes memory) {\n FindData storage data = find(self, false);\n uint256 mask = getMaskByOffsets(data.offsetLeft, data.offsetRight);\n uint256 value = (uint256(vm.load(self._target, bytes32(data.slot))) & mask) >> data.offsetRight;\n clear(self);\n return abi.encode(value);\n }\n\n function read_bytes32(StdStorage storage self) internal returns (bytes32) {\n return abi.decode(read(self), (bytes32));\n }\n\n function read_bool(StdStorage storage self) internal returns (bool) {\n int256 v = read_int(self);\n if (v == 0) return false;\n if (v == 1) return true;\n revert(\"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\");\n }\n\n function read_address(StdStorage storage self) internal returns (address) {\n return abi.decode(read(self), (address));\n }\n\n function read_uint(StdStorage storage self) internal returns (uint256) {\n return abi.decode(read(self), (uint256));\n }\n\n function read_int(StdStorage storage self) internal returns (int256) {\n return abi.decode(read(self), (int256));\n }\n\n function parent(StdStorage storage self) internal returns (uint256, bytes32) {\n address who = self._target;\n uint256 field_depth = self._depth;\n vm.startMappingRecording();\n uint256 child = find(self, true).slot - field_depth;\n (bool found, bytes32 key, bytes32 parent_slot) = vm.getMappingKeyAndParentOf(who, bytes32(child));\n if (!found) {\n revert(\n \"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called.\"\n );\n }\n return (uint256(parent_slot), key);\n }\n\n function root(StdStorage storage self) internal returns (uint256) {\n address who = self._target;\n uint256 field_depth = self._depth;\n vm.startMappingRecording();\n uint256 child = find(self, true).slot - field_depth;\n bool found;\n bytes32 root_slot;\n bytes32 parent_slot;\n (found,, parent_slot) = vm.getMappingKeyAndParentOf(who, bytes32(child));\n if (!found) {\n revert(\n \"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called.\"\n );\n }\n while (found) {\n root_slot = parent_slot;\n (found,, parent_slot) = vm.getMappingKeyAndParentOf(who, bytes32(root_slot));\n }\n return uint256(root_slot);\n }\n\n function bytesToBytes32(bytes memory b, uint256 offset) private pure returns (bytes32) {\n bytes32 out;\n\n uint256 max = b.length > 32 ? 32 : b.length;\n for (uint256 i = 0; i < max; i++) {\n out |= bytes32(b[offset + i] & 0xFF) >> (i * 8);\n }\n return out;\n }\n\n function flatten(bytes32[] memory b) private pure returns (bytes memory) {\n bytes memory result = new bytes(b.length * 32);\n for (uint256 i = 0; i < b.length; i++) {\n bytes32 k = b[i];\n /// @solidity memory-safe-assembly\n assembly {\n mstore(add(result, add(32, mul(32, i))), k)\n }\n }\n\n return result;\n }\n\n function clear(StdStorage storage self) internal {\n delete self._target;\n delete self._sig;\n delete self._keys;\n delete self._depth;\n delete self._enable_packed_slots;\n delete self._calldata;\n }\n\n // Returns mask which contains non-zero bits for values between `offsetLeft` and `offsetRight`\n // (slotValue & mask) >> offsetRight will be the value of the given packed variable\n function getMaskByOffsets(uint256 offsetLeft, uint256 offsetRight) internal pure returns (uint256 mask) {\n // mask = ((1 << (256 - (offsetRight + offsetLeft))) - 1) << offsetRight;\n // using assembly because (1 << 256) causes overflow\n assembly {\n mask := shl(offsetRight, sub(shl(sub(256, add(offsetRight, offsetLeft)), 1), 1))\n }\n }\n\n // Returns slot value with updated packed variable.\n function getUpdatedSlotValue(bytes32 curValue, uint256 varValue, uint256 offsetLeft, uint256 offsetRight)\n internal\n pure\n returns (bytes32 newValue)\n {\n return bytes32((uint256(curValue) & ~getMaskByOffsets(offsetLeft, offsetRight)) | (varValue << offsetRight));\n }\n}\n\nlibrary stdStorage {\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n function sigs(string memory sigStr) internal pure returns (bytes4) {\n return stdStorageSafe.sigs(sigStr);\n }\n\n function find(StdStorage storage self) internal returns (uint256) {\n return find(self, true);\n }\n\n function find(StdStorage storage self, bool _clear) internal returns (uint256) {\n return stdStorageSafe.find(self, _clear).slot;\n }\n\n function target(StdStorage storage self, address _target) internal returns (StdStorage storage) {\n return stdStorageSafe.target(self, _target);\n }\n\n function sig(StdStorage storage self, bytes4 _sig) internal returns (StdStorage storage) {\n return stdStorageSafe.sig(self, _sig);\n }\n\n function sig(StdStorage storage self, string memory _sig) internal returns (StdStorage storage) {\n return stdStorageSafe.sig(self, _sig);\n }\n\n function with_key(StdStorage storage self, address who) internal returns (StdStorage storage) {\n return stdStorageSafe.with_key(self, who);\n }\n\n function with_key(StdStorage storage self, uint256 amt) internal returns (StdStorage storage) {\n return stdStorageSafe.with_key(self, amt);\n }\n\n function with_key(StdStorage storage self, bytes32 key) internal returns (StdStorage storage) {\n return stdStorageSafe.with_key(self, key);\n }\n\n function with_calldata(StdStorage storage self, bytes memory _calldata) internal returns (StdStorage storage) {\n return stdStorageSafe.with_calldata(self, _calldata);\n }\n\n function enable_packed_slots(StdStorage storage self) internal returns (StdStorage storage) {\n return stdStorageSafe.enable_packed_slots(self);\n }\n\n function depth(StdStorage storage self, uint256 _depth) internal returns (StdStorage storage) {\n return stdStorageSafe.depth(self, _depth);\n }\n\n function clear(StdStorage storage self) internal {\n stdStorageSafe.clear(self);\n }\n\n function checked_write(StdStorage storage self, address who) internal {\n checked_write(self, bytes32(uint256(uint160(who))));\n }\n\n function checked_write(StdStorage storage self, uint256 amt) internal {\n checked_write(self, bytes32(amt));\n }\n\n function checked_write_int(StdStorage storage self, int256 val) internal {\n checked_write(self, bytes32(uint256(val)));\n }\n\n function checked_write(StdStorage storage self, bool write) internal {\n bytes32 t;\n /// @solidity memory-safe-assembly\n assembly {\n t := write\n }\n checked_write(self, t);\n }\n\n function checked_write(StdStorage storage self, bytes32 set) internal {\n address who = self._target;\n bytes4 fsig = self._sig;\n uint256 field_depth = self._depth;\n bytes memory params = stdStorageSafe.getCallParams(self);\n\n if (!self.finds[who][fsig][keccak256(abi.encodePacked(params, field_depth))].found) {\n find(self, false);\n }\n FindData storage data = self.finds[who][fsig][keccak256(abi.encodePacked(params, field_depth))];\n if ((data.offsetLeft + data.offsetRight) > 0) {\n uint256 maxVal = 2 ** (256 - (data.offsetLeft + data.offsetRight));\n require(\n uint256(set) < maxVal,\n string(\n abi.encodePacked(\n \"stdStorage find(StdStorage): Packed slot. We can't fit value greater than \",\n vm.toString(maxVal)\n )\n )\n );\n }\n bytes32 curVal = vm.load(who, bytes32(data.slot));\n bytes32 valToSet = stdStorageSafe.getUpdatedSlotValue(curVal, uint256(set), data.offsetLeft, data.offsetRight);\n\n vm.store(who, bytes32(data.slot), valToSet);\n\n (bool success, bytes32 callResult) = stdStorageSafe.callTarget(self);\n\n if (!success || callResult != set) {\n vm.store(who, bytes32(data.slot), curVal);\n revert(\"stdStorage find(StdStorage): Failed to write value.\");\n }\n clear(self);\n }\n\n function read_bytes32(StdStorage storage self) internal returns (bytes32) {\n return stdStorageSafe.read_bytes32(self);\n }\n\n function read_bool(StdStorage storage self) internal returns (bool) {\n return stdStorageSafe.read_bool(self);\n }\n\n function read_address(StdStorage storage self) internal returns (address) {\n return stdStorageSafe.read_address(self);\n }\n\n function read_uint(StdStorage storage self) internal returns (uint256) {\n return stdStorageSafe.read_uint(self);\n }\n\n function read_int(StdStorage storage self) internal returns (int256) {\n return stdStorageSafe.read_int(self);\n }\n\n function parent(StdStorage storage self) internal returns (uint256, bytes32) {\n return stdStorageSafe.parent(self);\n }\n\n function root(StdStorage storage self) internal returns (uint256) {\n return stdStorageSafe.root(self);\n }\n}\n"},"lib/forge-std/src/StdStyle.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\n\nimport {VmSafe} from \"./Vm.sol\";\n\nlibrary StdStyle {\n VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n string constant RED = \"\\u001b[91m\";\n string constant GREEN = \"\\u001b[92m\";\n string constant YELLOW = \"\\u001b[93m\";\n string constant BLUE = \"\\u001b[94m\";\n string constant MAGENTA = \"\\u001b[95m\";\n string constant CYAN = \"\\u001b[96m\";\n string constant BOLD = \"\\u001b[1m\";\n string constant DIM = \"\\u001b[2m\";\n string constant ITALIC = \"\\u001b[3m\";\n string constant UNDERLINE = \"\\u001b[4m\";\n string constant INVERSE = \"\\u001b[7m\";\n string constant RESET = \"\\u001b[0m\";\n\n function styleConcat(string memory style, string memory self) private pure returns (string memory) {\n return string(abi.encodePacked(style, self, RESET));\n }\n\n function red(string memory self) internal pure returns (string memory) {\n return styleConcat(RED, self);\n }\n\n function red(uint256 self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function red(int256 self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function red(address self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function red(bool self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function redBytes(bytes memory self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function redBytes32(bytes32 self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function green(string memory self) internal pure returns (string memory) {\n return styleConcat(GREEN, self);\n }\n\n function green(uint256 self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function green(int256 self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function green(address self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function green(bool self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function greenBytes(bytes memory self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function greenBytes32(bytes32 self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function yellow(string memory self) internal pure returns (string memory) {\n return styleConcat(YELLOW, self);\n }\n\n function yellow(uint256 self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellow(int256 self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellow(address self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellow(bool self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellowBytes(bytes memory self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellowBytes32(bytes32 self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function blue(string memory self) internal pure returns (string memory) {\n return styleConcat(BLUE, self);\n }\n\n function blue(uint256 self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blue(int256 self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blue(address self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blue(bool self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blueBytes(bytes memory self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blueBytes32(bytes32 self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function magenta(string memory self) internal pure returns (string memory) {\n return styleConcat(MAGENTA, self);\n }\n\n function magenta(uint256 self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magenta(int256 self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magenta(address self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magenta(bool self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magentaBytes(bytes memory self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magentaBytes32(bytes32 self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function cyan(string memory self) internal pure returns (string memory) {\n return styleConcat(CYAN, self);\n }\n\n function cyan(uint256 self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyan(int256 self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyan(address self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyan(bool self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyanBytes(bytes memory self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyanBytes32(bytes32 self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function bold(string memory self) internal pure returns (string memory) {\n return styleConcat(BOLD, self);\n }\n\n function bold(uint256 self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function bold(int256 self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function bold(address self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function bold(bool self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function boldBytes(bytes memory self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function boldBytes32(bytes32 self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function dim(string memory self) internal pure returns (string memory) {\n return styleConcat(DIM, self);\n }\n\n function dim(uint256 self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dim(int256 self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dim(address self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dim(bool self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dimBytes(bytes memory self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dimBytes32(bytes32 self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function italic(string memory self) internal pure returns (string memory) {\n return styleConcat(ITALIC, self);\n }\n\n function italic(uint256 self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italic(int256 self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italic(address self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italic(bool self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italicBytes(bytes memory self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italicBytes32(bytes32 self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function underline(string memory self) internal pure returns (string memory) {\n return styleConcat(UNDERLINE, self);\n }\n\n function underline(uint256 self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underline(int256 self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underline(address self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underline(bool self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underlineBytes(bytes memory self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underlineBytes32(bytes32 self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function inverse(string memory self) internal pure returns (string memory) {\n return styleConcat(INVERSE, self);\n }\n\n function inverse(uint256 self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverse(int256 self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverse(address self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverse(bool self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverseBytes(bytes memory self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverseBytes32(bytes32 self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n}\n"},"lib/forge-std/src/StdToml.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.0 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nimport {VmSafe} from \"./Vm.sol\";\n\n// Helpers for parsing and writing TOML files\n// To parse:\n// ```\n// using stdToml for string;\n// string memory toml = vm.readFile(\"\");\n// toml.readUint(\"\");\n// ```\n// To write:\n// ```\n// using stdToml for string;\n// string memory json = \"json\";\n// json.serialize(\"a\", uint256(123));\n// string memory semiFinal = json.serialize(\"b\", string(\"test\"));\n// string memory finalJson = json.serialize(\"c\", semiFinal);\n// finalJson.write(\"\");\n// ```\n\nlibrary stdToml {\n VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n function keyExists(string memory toml, string memory key) internal view returns (bool) {\n return vm.keyExistsToml(toml, key);\n }\n\n function parseRaw(string memory toml, string memory key) internal pure returns (bytes memory) {\n return vm.parseToml(toml, key);\n }\n\n function readUint(string memory toml, string memory key) internal pure returns (uint256) {\n return vm.parseTomlUint(toml, key);\n }\n\n function readUintArray(string memory toml, string memory key) internal pure returns (uint256[] memory) {\n return vm.parseTomlUintArray(toml, key);\n }\n\n function readInt(string memory toml, string memory key) internal pure returns (int256) {\n return vm.parseTomlInt(toml, key);\n }\n\n function readIntArray(string memory toml, string memory key) internal pure returns (int256[] memory) {\n return vm.parseTomlIntArray(toml, key);\n }\n\n function readBytes32(string memory toml, string memory key) internal pure returns (bytes32) {\n return vm.parseTomlBytes32(toml, key);\n }\n\n function readBytes32Array(string memory toml, string memory key) internal pure returns (bytes32[] memory) {\n return vm.parseTomlBytes32Array(toml, key);\n }\n\n function readString(string memory toml, string memory key) internal pure returns (string memory) {\n return vm.parseTomlString(toml, key);\n }\n\n function readStringArray(string memory toml, string memory key) internal pure returns (string[] memory) {\n return vm.parseTomlStringArray(toml, key);\n }\n\n function readAddress(string memory toml, string memory key) internal pure returns (address) {\n return vm.parseTomlAddress(toml, key);\n }\n\n function readAddressArray(string memory toml, string memory key) internal pure returns (address[] memory) {\n return vm.parseTomlAddressArray(toml, key);\n }\n\n function readBool(string memory toml, string memory key) internal pure returns (bool) {\n return vm.parseTomlBool(toml, key);\n }\n\n function readBoolArray(string memory toml, string memory key) internal pure returns (bool[] memory) {\n return vm.parseTomlBoolArray(toml, key);\n }\n\n function readBytes(string memory toml, string memory key) internal pure returns (bytes memory) {\n return vm.parseTomlBytes(toml, key);\n }\n\n function readBytesArray(string memory toml, string memory key) internal pure returns (bytes[] memory) {\n return vm.parseTomlBytesArray(toml, key);\n }\n\n function readUintOr(string memory toml, string memory key, uint256 defaultValue) internal view returns (uint256) {\n return keyExists(toml, key) ? readUint(toml, key) : defaultValue;\n }\n\n function readUintArrayOr(string memory toml, string memory key, uint256[] memory defaultValue)\n internal\n view\n returns (uint256[] memory)\n {\n return keyExists(toml, key) ? readUintArray(toml, key) : defaultValue;\n }\n\n function readIntOr(string memory toml, string memory key, int256 defaultValue) internal view returns (int256) {\n return keyExists(toml, key) ? readInt(toml, key) : defaultValue;\n }\n\n function readIntArrayOr(string memory toml, string memory key, int256[] memory defaultValue)\n internal\n view\n returns (int256[] memory)\n {\n return keyExists(toml, key) ? readIntArray(toml, key) : defaultValue;\n }\n\n function readBytes32Or(string memory toml, string memory key, bytes32 defaultValue)\n internal\n view\n returns (bytes32)\n {\n return keyExists(toml, key) ? readBytes32(toml, key) : defaultValue;\n }\n\n function readBytes32ArrayOr(string memory toml, string memory key, bytes32[] memory defaultValue)\n internal\n view\n returns (bytes32[] memory)\n {\n return keyExists(toml, key) ? readBytes32Array(toml, key) : defaultValue;\n }\n\n function readStringOr(string memory toml, string memory key, string memory defaultValue)\n internal\n view\n returns (string memory)\n {\n return keyExists(toml, key) ? readString(toml, key) : defaultValue;\n }\n\n function readStringArrayOr(string memory toml, string memory key, string[] memory defaultValue)\n internal\n view\n returns (string[] memory)\n {\n return keyExists(toml, key) ? readStringArray(toml, key) : defaultValue;\n }\n\n function readAddressOr(string memory toml, string memory key, address defaultValue)\n internal\n view\n returns (address)\n {\n return keyExists(toml, key) ? readAddress(toml, key) : defaultValue;\n }\n\n function readAddressArrayOr(string memory toml, string memory key, address[] memory defaultValue)\n internal\n view\n returns (address[] memory)\n {\n return keyExists(toml, key) ? readAddressArray(toml, key) : defaultValue;\n }\n\n function readBoolOr(string memory toml, string memory key, bool defaultValue) internal view returns (bool) {\n return keyExists(toml, key) ? readBool(toml, key) : defaultValue;\n }\n\n function readBoolArrayOr(string memory toml, string memory key, bool[] memory defaultValue)\n internal\n view\n returns (bool[] memory)\n {\n return keyExists(toml, key) ? readBoolArray(toml, key) : defaultValue;\n }\n\n function readBytesOr(string memory toml, string memory key, bytes memory defaultValue)\n internal\n view\n returns (bytes memory)\n {\n return keyExists(toml, key) ? readBytes(toml, key) : defaultValue;\n }\n\n function readBytesArrayOr(string memory toml, string memory key, bytes[] memory defaultValue)\n internal\n view\n returns (bytes[] memory)\n {\n return keyExists(toml, key) ? readBytesArray(toml, key) : defaultValue;\n }\n\n function serialize(string memory jsonKey, string memory rootObject) internal returns (string memory) {\n return vm.serializeJson(jsonKey, rootObject);\n }\n\n function serialize(string memory jsonKey, string memory key, bool value) internal returns (string memory) {\n return vm.serializeBool(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bool[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBool(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, uint256 value) internal returns (string memory) {\n return vm.serializeUint(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, uint256[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeUint(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, int256 value) internal returns (string memory) {\n return vm.serializeInt(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, int256[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeInt(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, address value) internal returns (string memory) {\n return vm.serializeAddress(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, address[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeAddress(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes32 value) internal returns (string memory) {\n return vm.serializeBytes32(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes32[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBytes32(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes memory value) internal returns (string memory) {\n return vm.serializeBytes(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBytes(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, string memory value)\n internal\n returns (string memory)\n {\n return vm.serializeString(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, string[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeString(jsonKey, key, value);\n }\n\n function write(string memory jsonKey, string memory path) internal {\n vm.writeToml(jsonKey, path);\n }\n\n function write(string memory jsonKey, string memory path, string memory valueKey) internal {\n vm.writeToml(jsonKey, path, valueKey);\n }\n}\n"},"lib/forge-std/src/StdUtils.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nimport {IMulticall3} from \"./interfaces/IMulticall3.sol\";\nimport {VmSafe} from \"./Vm.sol\";\n\nabstract contract StdUtils {\n /*//////////////////////////////////////////////////////////////////////////\n CONSTANTS\n //////////////////////////////////////////////////////////////////////////*/\n\n IMulticall3 private constant multicall = IMulticall3(0xcA11bde05977b3631167028862bE2a173976CA11);\n VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n address private constant CONSOLE2_ADDRESS = 0x000000000000000000636F6e736F6c652e6c6f67;\n uint256 private constant INT256_MIN_ABS =\n 57896044618658097711785492504343953926634992332820282019728792003956564819968;\n uint256 private constant SECP256K1_ORDER =\n 115792089237316195423570985008687907852837564279074904382605163141518161494337;\n uint256 private constant UINT256_MAX =\n 115792089237316195423570985008687907853269984665640564039457584007913129639935;\n\n // Used by default when deploying with create2, https://github.com/Arachnid/deterministic-deployment-proxy.\n address private constant CREATE2_FACTORY = 0x4e59b44847b379578588920cA78FbF26c0B4956C;\n\n /*//////////////////////////////////////////////////////////////////////////\n INTERNAL FUNCTIONS\n //////////////////////////////////////////////////////////////////////////*/\n\n function _bound(uint256 x, uint256 min, uint256 max) internal pure virtual returns (uint256 result) {\n require(min <= max, \"StdUtils bound(uint256,uint256,uint256): Max is less than min.\");\n // If x is between min and max, return x directly. This is to ensure that dictionary values\n // do not get shifted if the min is nonzero. More info: https://github.com/foundry-rs/forge-std/issues/188\n if (x >= min && x <= max) return x;\n\n uint256 size = max - min + 1;\n\n // If the value is 0, 1, 2, 3, wrap that to min, min+1, min+2, min+3. Similarly for the UINT256_MAX side.\n // This helps ensure coverage of the min/max values.\n if (x <= 3 && size > x) return min + x;\n if (x >= UINT256_MAX - 3 && size > UINT256_MAX - x) return max - (UINT256_MAX - x);\n\n // Otherwise, wrap x into the range [min, max], i.e. the range is inclusive.\n if (x > max) {\n uint256 diff = x - max;\n uint256 rem = diff % size;\n if (rem == 0) return max;\n result = min + rem - 1;\n } else if (x < min) {\n uint256 diff = min - x;\n uint256 rem = diff % size;\n if (rem == 0) return min;\n result = max - rem + 1;\n }\n }\n\n function bound(uint256 x, uint256 min, uint256 max) internal pure virtual returns (uint256 result) {\n result = _bound(x, min, max);\n console2_log_StdUtils(\"Bound result\", result);\n }\n\n function _bound(int256 x, int256 min, int256 max) internal pure virtual returns (int256 result) {\n require(min <= max, \"StdUtils bound(int256,int256,int256): Max is less than min.\");\n\n // Shifting all int256 values to uint256 to use _bound function. The range of two types are:\n // int256 : -(2**255) ~ (2**255 - 1)\n // uint256: 0 ~ (2**256 - 1)\n // So, add 2**255, INT256_MIN_ABS to the integer values.\n //\n // If the given integer value is -2**255, we cannot use `-uint256(-x)` because of the overflow.\n // So, use `~uint256(x) + 1` instead.\n uint256 _x = x < 0 ? (INT256_MIN_ABS - ~uint256(x) - 1) : (uint256(x) + INT256_MIN_ABS);\n uint256 _min = min < 0 ? (INT256_MIN_ABS - ~uint256(min) - 1) : (uint256(min) + INT256_MIN_ABS);\n uint256 _max = max < 0 ? (INT256_MIN_ABS - ~uint256(max) - 1) : (uint256(max) + INT256_MIN_ABS);\n\n uint256 y = _bound(_x, _min, _max);\n\n // To move it back to int256 value, subtract INT256_MIN_ABS at here.\n result = y < INT256_MIN_ABS ? int256(~(INT256_MIN_ABS - y) + 1) : int256(y - INT256_MIN_ABS);\n }\n\n function bound(int256 x, int256 min, int256 max) internal pure virtual returns (int256 result) {\n result = _bound(x, min, max);\n console2_log_StdUtils(\"Bound result\", vm.toString(result));\n }\n\n function boundPrivateKey(uint256 privateKey) internal pure virtual returns (uint256 result) {\n result = _bound(privateKey, 1, SECP256K1_ORDER - 1);\n }\n\n function bytesToUint(bytes memory b) internal pure virtual returns (uint256) {\n require(b.length <= 32, \"StdUtils bytesToUint(bytes): Bytes length exceeds 32.\");\n return abi.decode(abi.encodePacked(new bytes(32 - b.length), b), (uint256));\n }\n\n /// @dev Compute the address a contract will be deployed at for a given deployer address and nonce\n /// @notice adapted from Solmate implementation (https://github.com/Rari-Capital/solmate/blob/main/src/utils/LibRLP.sol)\n function computeCreateAddress(address deployer, uint256 nonce) internal pure virtual returns (address) {\n console2_log_StdUtils(\"computeCreateAddress is deprecated. Please use vm.computeCreateAddress instead.\");\n return vm.computeCreateAddress(deployer, nonce);\n }\n\n function computeCreate2Address(bytes32 salt, bytes32 initcodeHash, address deployer)\n internal\n pure\n virtual\n returns (address)\n {\n console2_log_StdUtils(\"computeCreate2Address is deprecated. Please use vm.computeCreate2Address instead.\");\n return vm.computeCreate2Address(salt, initcodeHash, deployer);\n }\n\n /// @dev returns the address of a contract created with CREATE2 using the default CREATE2 deployer\n function computeCreate2Address(bytes32 salt, bytes32 initCodeHash) internal pure returns (address) {\n console2_log_StdUtils(\"computeCreate2Address is deprecated. Please use vm.computeCreate2Address instead.\");\n return vm.computeCreate2Address(salt, initCodeHash);\n }\n\n /// @dev returns the hash of the init code (creation code + no args) used in CREATE2 with no constructor arguments\n /// @param creationCode the creation code of a contract C, as returned by type(C).creationCode\n function hashInitCode(bytes memory creationCode) internal pure returns (bytes32) {\n return hashInitCode(creationCode, \"\");\n }\n\n /// @dev returns the hash of the init code (creation code + ABI-encoded args) used in CREATE2\n /// @param creationCode the creation code of a contract C, as returned by type(C).creationCode\n /// @param args the ABI-encoded arguments to the constructor of C\n function hashInitCode(bytes memory creationCode, bytes memory args) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(creationCode, args));\n }\n\n // Performs a single call with Multicall3 to query the ERC-20 token balances of the given addresses.\n function getTokenBalances(address token, address[] memory addresses)\n internal\n virtual\n returns (uint256[] memory balances)\n {\n uint256 tokenCodeSize;\n assembly {\n tokenCodeSize := extcodesize(token)\n }\n require(tokenCodeSize > 0, \"StdUtils getTokenBalances(address,address[]): Token address is not a contract.\");\n\n // ABI encode the aggregate call to Multicall3.\n uint256 length = addresses.length;\n IMulticall3.Call[] memory calls = new IMulticall3.Call[](length);\n for (uint256 i = 0; i < length; ++i) {\n // 0x70a08231 = bytes4(\"balanceOf(address)\"))\n calls[i] = IMulticall3.Call({target: token, callData: abi.encodeWithSelector(0x70a08231, (addresses[i]))});\n }\n\n // Make the aggregate call.\n (, bytes[] memory returnData) = multicall.aggregate(calls);\n\n // ABI decode the return data and return the balances.\n balances = new uint256[](length);\n for (uint256 i = 0; i < length; ++i) {\n balances[i] = abi.decode(returnData[i], (uint256));\n }\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n PRIVATE FUNCTIONS\n //////////////////////////////////////////////////////////////////////////*/\n\n function addressFromLast20Bytes(bytes32 bytesValue) private pure returns (address) {\n return address(uint160(uint256(bytesValue)));\n }\n\n // This section is used to prevent the compilation of console, which shortens the compilation time when console is\n // not used elsewhere. We also trick the compiler into letting us make the console log methods as `pure` to avoid\n // any breaking changes to function signatures.\n function _castLogPayloadViewToPure(function(bytes memory) internal view fnIn)\n internal\n pure\n returns (function(bytes memory) internal pure fnOut)\n {\n assembly {\n fnOut := fnIn\n }\n }\n\n function _sendLogPayload(bytes memory payload) internal pure {\n _castLogPayloadViewToPure(_sendLogPayloadView)(payload);\n }\n\n function _sendLogPayloadView(bytes memory payload) private view {\n uint256 payloadLength = payload.length;\n address consoleAddress = CONSOLE2_ADDRESS;\n /// @solidity memory-safe-assembly\n assembly {\n let payloadStart := add(payload, 32)\n let r := staticcall(gas(), consoleAddress, payloadStart, payloadLength, 0, 0)\n }\n }\n\n function console2_log_StdUtils(string memory p0) private pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function console2_log_StdUtils(string memory p0, uint256 p1) private pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256)\", p0, p1));\n }\n\n function console2_log_StdUtils(string memory p0, string memory p1) private pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string)\", p0, p1));\n }\n}\n"},"lib/forge-std/src/Test.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\n// 💬 ABOUT\n// Forge Std's default Test.\n\n// 🧩 MODULES\nimport {console} from \"./console.sol\";\nimport {console2} from \"./console2.sol\";\nimport {safeconsole} from \"./safeconsole.sol\";\nimport {StdAssertions} from \"./StdAssertions.sol\";\nimport {StdChains} from \"./StdChains.sol\";\nimport {StdCheats} from \"./StdCheats.sol\";\nimport {StdConstants} from \"./StdConstants.sol\";\nimport {stdError} from \"./StdError.sol\";\nimport {StdInvariant} from \"./StdInvariant.sol\";\nimport {stdJson} from \"./StdJson.sol\";\nimport {stdMath} from \"./StdMath.sol\";\nimport {StdStorage, stdStorage} from \"./StdStorage.sol\";\nimport {StdStyle} from \"./StdStyle.sol\";\nimport {stdToml} from \"./StdToml.sol\";\nimport {StdUtils} from \"./StdUtils.sol\";\nimport {Vm} from \"./Vm.sol\";\n\n// 📦 BOILERPLATE\nimport {TestBase} from \"./Base.sol\";\n\n// ⭐️ TEST\nabstract contract Test is TestBase, StdAssertions, StdChains, StdCheats, StdInvariant, StdUtils {\n // Note: IS_TEST() must return true.\n bool public IS_TEST = true;\n}\n"},"lib/forge-std/src/Vm.sol":{"content":"// Automatically @generated by scripts/vm.py. Do not modify manually.\n\n// SPDX-License-Identifier: MIT OR Apache-2.0\npragma solidity >=0.6.2 <0.9.0;\npragma experimental ABIEncoderV2;\n\n/// The `VmSafe` interface does not allow manipulation of the EVM state or other actions that may\n/// result in Script simulations differing from on-chain execution. It is recommended to only use\n/// these cheats in scripts.\ninterface VmSafe {\n /// A modification applied to either `msg.sender` or `tx.origin`. Returned by `readCallers`.\n enum CallerMode {\n // No caller modification is currently active.\n None,\n // A one time broadcast triggered by a `vm.broadcast()` call is currently active.\n Broadcast,\n // A recurrent broadcast triggered by a `vm.startBroadcast()` call is currently active.\n RecurrentBroadcast,\n // A one time prank triggered by a `vm.prank()` call is currently active.\n Prank,\n // A recurrent prank triggered by a `vm.startPrank()` call is currently active.\n RecurrentPrank\n }\n\n /// The kind of account access that occurred.\n enum AccountAccessKind {\n // The account was called.\n Call,\n // The account was called via delegatecall.\n DelegateCall,\n // The account was called via callcode.\n CallCode,\n // The account was called via staticcall.\n StaticCall,\n // The account was created.\n Create,\n // The account was selfdestructed.\n SelfDestruct,\n // Synthetic access indicating the current context has resumed after a previous sub-context (AccountAccess).\n Resume,\n // The account's balance was read.\n Balance,\n // The account's codesize was read.\n Extcodesize,\n // The account's codehash was read.\n Extcodehash,\n // The account's code was copied.\n Extcodecopy\n }\n\n /// Forge execution contexts.\n enum ForgeContext {\n // Test group execution context (test, coverage or snapshot).\n TestGroup,\n // `forge test` execution context.\n Test,\n // `forge coverage` execution context.\n Coverage,\n // `forge snapshot` execution context.\n Snapshot,\n // Script group execution context (dry run, broadcast or resume).\n ScriptGroup,\n // `forge script` execution context.\n ScriptDryRun,\n // `forge script --broadcast` execution context.\n ScriptBroadcast,\n // `forge script --resume` execution context.\n ScriptResume,\n // Unknown `forge` execution context.\n Unknown\n }\n\n /// The transaction type (`txType`) of the broadcast.\n enum BroadcastTxType {\n // Represents a CALL broadcast tx.\n Call,\n // Represents a CREATE broadcast tx.\n Create,\n // Represents a CREATE2 broadcast tx.\n Create2\n }\n\n /// An Ethereum log. Returned by `getRecordedLogs`.\n struct Log {\n // The topics of the log, including the signature, if any.\n bytes32[] topics;\n // The raw data of the log.\n bytes data;\n // The address of the log's emitter.\n address emitter;\n }\n\n /// An RPC URL and its alias. Returned by `rpcUrlStructs`.\n struct Rpc {\n // The alias of the RPC URL.\n string key;\n // The RPC URL.\n string url;\n }\n\n /// An RPC log object. Returned by `eth_getLogs`.\n struct EthGetLogs {\n // The address of the log's emitter.\n address emitter;\n // The topics of the log, including the signature, if any.\n bytes32[] topics;\n // The raw data of the log.\n bytes data;\n // The block hash.\n bytes32 blockHash;\n // The block number.\n uint64 blockNumber;\n // The transaction hash.\n bytes32 transactionHash;\n // The transaction index in the block.\n uint64 transactionIndex;\n // The log index.\n uint256 logIndex;\n // Whether the log was removed.\n bool removed;\n }\n\n /// A single entry in a directory listing. Returned by `readDir`.\n struct DirEntry {\n // The error message, if any.\n string errorMessage;\n // The path of the entry.\n string path;\n // The depth of the entry.\n uint64 depth;\n // Whether the entry is a directory.\n bool isDir;\n // Whether the entry is a symlink.\n bool isSymlink;\n }\n\n /// Metadata information about a file.\n /// This structure is returned from the `fsMetadata` function and represents known\n /// metadata about a file such as its permissions, size, modification\n /// times, etc.\n struct FsMetadata {\n // True if this metadata is for a directory.\n bool isDir;\n // True if this metadata is for a symlink.\n bool isSymlink;\n // The size of the file, in bytes, this metadata is for.\n uint256 length;\n // True if this metadata is for a readonly (unwritable) file.\n bool readOnly;\n // The last modification time listed in this metadata.\n uint256 modified;\n // The last access time of this metadata.\n uint256 accessed;\n // The creation time listed in this metadata.\n uint256 created;\n }\n\n /// A wallet with a public and private key.\n struct Wallet {\n // The wallet's address.\n address addr;\n // The wallet's public key `X`.\n uint256 publicKeyX;\n // The wallet's public key `Y`.\n uint256 publicKeyY;\n // The wallet's private key.\n uint256 privateKey;\n }\n\n /// The result of a `tryFfi` call.\n struct FfiResult {\n // The exit code of the call.\n int32 exitCode;\n // The optionally hex-decoded `stdout` data.\n bytes stdout;\n // The `stderr` data.\n bytes stderr;\n }\n\n /// Information on the chain and fork.\n struct ChainInfo {\n // The fork identifier. Set to zero if no fork is active.\n uint256 forkId;\n // The chain ID of the current fork.\n uint256 chainId;\n }\n\n /// Information about a blockchain.\n struct Chain {\n // The chain name.\n string name;\n // The chain's Chain ID.\n uint256 chainId;\n // The chain's alias. (i.e. what gets specified in `foundry.toml`).\n string chainAlias;\n // A default RPC endpoint for this chain.\n string rpcUrl;\n }\n\n /// The result of a `stopAndReturnStateDiff` call.\n struct AccountAccess {\n // The chain and fork the access occurred.\n ChainInfo chainInfo;\n // The kind of account access that determines what the account is.\n // If kind is Call, DelegateCall, StaticCall or CallCode, then the account is the callee.\n // If kind is Create, then the account is the newly created account.\n // If kind is SelfDestruct, then the account is the selfdestruct recipient.\n // If kind is a Resume, then account represents a account context that has resumed.\n AccountAccessKind kind;\n // The account that was accessed.\n // It's either the account created, callee or a selfdestruct recipient for CREATE, CALL or SELFDESTRUCT.\n address account;\n // What accessed the account.\n address accessor;\n // If the account was initialized or empty prior to the access.\n // An account is considered initialized if it has code, a\n // non-zero nonce, or a non-zero balance.\n bool initialized;\n // The previous balance of the accessed account.\n uint256 oldBalance;\n // The potential new balance of the accessed account.\n // That is, all balance changes are recorded here, even if reverts occurred.\n uint256 newBalance;\n // Code of the account deployed by CREATE.\n bytes deployedCode;\n // Value passed along with the account access\n uint256 value;\n // Input data provided to the CREATE or CALL\n bytes data;\n // If this access reverted in either the current or parent context.\n bool reverted;\n // An ordered list of storage accesses made during an account access operation.\n StorageAccess[] storageAccesses;\n // Call depth traversed during the recording of state differences\n uint64 depth;\n }\n\n /// The storage accessed during an `AccountAccess`.\n struct StorageAccess {\n // The account whose storage was accessed.\n address account;\n // The slot that was accessed.\n bytes32 slot;\n // If the access was a write.\n bool isWrite;\n // The previous value of the slot.\n bytes32 previousValue;\n // The new value of the slot.\n bytes32 newValue;\n // If the access was reverted.\n bool reverted;\n }\n\n /// Gas used. Returned by `lastCallGas`.\n struct Gas {\n // The gas limit of the call.\n uint64 gasLimit;\n // The total gas used.\n uint64 gasTotalUsed;\n // DEPRECATED: The amount of gas used for memory expansion. Ref: \n uint64 gasMemoryUsed;\n // The amount of gas refunded.\n int64 gasRefunded;\n // The amount of gas remaining.\n uint64 gasRemaining;\n }\n\n /// The result of the `stopDebugTraceRecording` call\n struct DebugStep {\n // The stack before executing the step of the run.\n // stack\\[0\\] represents the top of the stack.\n // and only stack data relevant to the opcode execution is contained.\n uint256[] stack;\n // The memory input data before executing the step of the run.\n // only input data relevant to the opcode execution is contained.\n // e.g. for MLOAD, it will have memory\\[offset:offset+32\\] copied here.\n // the offset value can be get by the stack data.\n bytes memoryInput;\n // The opcode that was accessed.\n uint8 opcode;\n // The call depth of the step.\n uint64 depth;\n // Whether the call end up with out of gas error.\n bool isOutOfGas;\n // The contract address where the opcode is running\n address contractAddr;\n }\n\n /// Represents a transaction's broadcast details.\n struct BroadcastTxSummary {\n // The hash of the transaction that was broadcasted\n bytes32 txHash;\n // Represent the type of transaction among CALL, CREATE, CREATE2\n BroadcastTxType txType;\n // The address of the contract that was called or created.\n // This is address of the contract that is created if the txType is CREATE or CREATE2.\n address contractAddress;\n // The block number the transaction landed in.\n uint64 blockNumber;\n // Status of the transaction, retrieved from the transaction receipt.\n bool success;\n }\n\n /// Holds a signed EIP-7702 authorization for an authority account to delegate to an implementation.\n struct SignedDelegation {\n // The y-parity of the recovered secp256k1 signature (0 or 1).\n uint8 v;\n // First 32 bytes of the signature.\n bytes32 r;\n // Second 32 bytes of the signature.\n bytes32 s;\n // The current nonce of the authority account at signing time.\n // Used to ensure signature can't be replayed after account nonce changes.\n uint64 nonce;\n // Address of the contract implementation that will be delegated to.\n // Gets encoded into delegation code: 0xef0100 || implementation.\n address implementation;\n }\n\n /// Represents a \"potential\" revert reason from a single subsequent call when using `vm.assumeNoReverts`.\n /// Reverts that match will result in a FOUNDRY::ASSUME rejection, whereas unmatched reverts will be surfaced\n /// as normal.\n struct PotentialRevert {\n // The allowed origin of the revert opcode; address(0) allows reverts from any address\n address reverter;\n // When true, only matches on the beginning of the revert data, otherwise, matches on entire revert data\n bool partialMatch;\n // The data to use to match encountered reverts\n bytes revertData;\n }\n\n /// An EIP-2930 access list item.\n struct AccessListItem {\n // The address to be added in access list.\n address target;\n // The storage keys to be added in access list.\n bytes32[] storageKeys;\n }\n\n // ======== Crypto ========\n\n /// Derives a private key from the name, labels the account with that name, and returns the wallet.\n function createWallet(string calldata walletLabel) external returns (Wallet memory wallet);\n\n /// Generates a wallet from the private key and returns the wallet.\n function createWallet(uint256 privateKey) external returns (Wallet memory wallet);\n\n /// Generates a wallet from the private key, labels the account with that name, and returns the wallet.\n function createWallet(uint256 privateKey, string calldata walletLabel) external returns (Wallet memory wallet);\n\n /// Derive a private key from a provided mnenomic string (or mnenomic file path)\n /// at the derivation path `m/44'/60'/0'/0/{index}`.\n function deriveKey(string calldata mnemonic, uint32 index) external pure returns (uint256 privateKey);\n\n /// Derive a private key from a provided mnenomic string (or mnenomic file path)\n /// at `{derivationPath}{index}`.\n function deriveKey(string calldata mnemonic, string calldata derivationPath, uint32 index)\n external\n pure\n returns (uint256 privateKey);\n\n /// Derive a private key from a provided mnenomic string (or mnenomic file path) in the specified language\n /// at the derivation path `m/44'/60'/0'/0/{index}`.\n function deriveKey(string calldata mnemonic, uint32 index, string calldata language)\n external\n pure\n returns (uint256 privateKey);\n\n /// Derive a private key from a provided mnenomic string (or mnenomic file path) in the specified language\n /// at `{derivationPath}{index}`.\n function deriveKey(string calldata mnemonic, string calldata derivationPath, uint32 index, string calldata language)\n external\n pure\n returns (uint256 privateKey);\n\n /// Derives secp256r1 public key from the provided `privateKey`.\n function publicKeyP256(uint256 privateKey) external pure returns (uint256 publicKeyX, uint256 publicKeyY);\n\n /// Adds a private key to the local forge wallet and returns the address.\n function rememberKey(uint256 privateKey) external returns (address keyAddr);\n\n /// Derive a set number of wallets from a mnemonic at the derivation path `m/44'/60'/0'/0/{0..count}`.\n /// The respective private keys are saved to the local forge wallet for later use and their addresses are returned.\n function rememberKeys(string calldata mnemonic, string calldata derivationPath, uint32 count)\n external\n returns (address[] memory keyAddrs);\n\n /// Derive a set number of wallets from a mnemonic in the specified language at the derivation path `m/44'/60'/0'/0/{0..count}`.\n /// The respective private keys are saved to the local forge wallet for later use and their addresses are returned.\n function rememberKeys(\n string calldata mnemonic,\n string calldata derivationPath,\n string calldata language,\n uint32 count\n ) external returns (address[] memory keyAddrs);\n\n /// Signs data with a `Wallet`.\n /// Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the\n /// signature's `s` value, and the recovery id `v` in a single bytes32.\n /// This format reduces the signature size from 65 to 64 bytes.\n function signCompact(Wallet calldata wallet, bytes32 digest) external returns (bytes32 r, bytes32 vs);\n\n /// Signs `digest` with `privateKey` using the secp256k1 curve.\n /// Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the\n /// signature's `s` value, and the recovery id `v` in a single bytes32.\n /// This format reduces the signature size from 65 to 64 bytes.\n function signCompact(uint256 privateKey, bytes32 digest) external pure returns (bytes32 r, bytes32 vs);\n\n /// Signs `digest` with signer provided to script using the secp256k1 curve.\n /// Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the\n /// signature's `s` value, and the recovery id `v` in a single bytes32.\n /// This format reduces the signature size from 65 to 64 bytes.\n /// If `--sender` is provided, the signer with provided address is used, otherwise,\n /// if exactly one signer is provided to the script, that signer is used.\n /// Raises error if signer passed through `--sender` does not match any unlocked signers or\n /// if `--sender` is not provided and not exactly one signer is passed to the script.\n function signCompact(bytes32 digest) external pure returns (bytes32 r, bytes32 vs);\n\n /// Signs `digest` with signer provided to script using the secp256k1 curve.\n /// Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the\n /// signature's `s` value, and the recovery id `v` in a single bytes32.\n /// This format reduces the signature size from 65 to 64 bytes.\n /// Raises error if none of the signers passed into the script have provided address.\n function signCompact(address signer, bytes32 digest) external pure returns (bytes32 r, bytes32 vs);\n\n /// Signs `digest` with `privateKey` using the secp256r1 curve.\n function signP256(uint256 privateKey, bytes32 digest) external pure returns (bytes32 r, bytes32 s);\n\n /// Signs data with a `Wallet`.\n function sign(Wallet calldata wallet, bytes32 digest) external returns (uint8 v, bytes32 r, bytes32 s);\n\n /// Signs `digest` with `privateKey` using the secp256k1 curve.\n function sign(uint256 privateKey, bytes32 digest) external pure returns (uint8 v, bytes32 r, bytes32 s);\n\n /// Signs `digest` with signer provided to script using the secp256k1 curve.\n /// If `--sender` is provided, the signer with provided address is used, otherwise,\n /// if exactly one signer is provided to the script, that signer is used.\n /// Raises error if signer passed through `--sender` does not match any unlocked signers or\n /// if `--sender` is not provided and not exactly one signer is passed to the script.\n function sign(bytes32 digest) external pure returns (uint8 v, bytes32 r, bytes32 s);\n\n /// Signs `digest` with signer provided to script using the secp256k1 curve.\n /// Raises error if none of the signers passed into the script have provided address.\n function sign(address signer, bytes32 digest) external pure returns (uint8 v, bytes32 r, bytes32 s);\n\n // ======== Environment ========\n\n /// Gets the environment variable `name` and parses it as `address`.\n /// Reverts if the variable was not found or could not be parsed.\n function envAddress(string calldata name) external view returns (address value);\n\n /// Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`.\n /// Reverts if the variable was not found or could not be parsed.\n function envAddress(string calldata name, string calldata delim) external view returns (address[] memory value);\n\n /// Gets the environment variable `name` and parses it as `bool`.\n /// Reverts if the variable was not found or could not be parsed.\n function envBool(string calldata name) external view returns (bool value);\n\n /// Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`.\n /// Reverts if the variable was not found or could not be parsed.\n function envBool(string calldata name, string calldata delim) external view returns (bool[] memory value);\n\n /// Gets the environment variable `name` and parses it as `bytes32`.\n /// Reverts if the variable was not found or could not be parsed.\n function envBytes32(string calldata name) external view returns (bytes32 value);\n\n /// Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`.\n /// Reverts if the variable was not found or could not be parsed.\n function envBytes32(string calldata name, string calldata delim) external view returns (bytes32[] memory value);\n\n /// Gets the environment variable `name` and parses it as `bytes`.\n /// Reverts if the variable was not found or could not be parsed.\n function envBytes(string calldata name) external view returns (bytes memory value);\n\n /// Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`.\n /// Reverts if the variable was not found or could not be parsed.\n function envBytes(string calldata name, string calldata delim) external view returns (bytes[] memory value);\n\n /// Gets the environment variable `name` and returns true if it exists, else returns false.\n function envExists(string calldata name) external view returns (bool result);\n\n /// Gets the environment variable `name` and parses it as `int256`.\n /// Reverts if the variable was not found or could not be parsed.\n function envInt(string calldata name) external view returns (int256 value);\n\n /// Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`.\n /// Reverts if the variable was not found or could not be parsed.\n function envInt(string calldata name, string calldata delim) external view returns (int256[] memory value);\n\n /// Gets the environment variable `name` and parses it as `bool`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, bool defaultValue) external view returns (bool value);\n\n /// Gets the environment variable `name` and parses it as `uint256`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, uint256 defaultValue) external view returns (uint256 value);\n\n /// Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, string calldata delim, address[] calldata defaultValue)\n external\n view\n returns (address[] memory value);\n\n /// Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, string calldata delim, bytes32[] calldata defaultValue)\n external\n view\n returns (bytes32[] memory value);\n\n /// Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, string calldata delim, string[] calldata defaultValue)\n external\n view\n returns (string[] memory value);\n\n /// Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, string calldata delim, bytes[] calldata defaultValue)\n external\n view\n returns (bytes[] memory value);\n\n /// Gets the environment variable `name` and parses it as `int256`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, int256 defaultValue) external view returns (int256 value);\n\n /// Gets the environment variable `name` and parses it as `address`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, address defaultValue) external view returns (address value);\n\n /// Gets the environment variable `name` and parses it as `bytes32`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, bytes32 defaultValue) external view returns (bytes32 value);\n\n /// Gets the environment variable `name` and parses it as `string`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, string calldata defaultValue) external view returns (string memory value);\n\n /// Gets the environment variable `name` and parses it as `bytes`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, bytes calldata defaultValue) external view returns (bytes memory value);\n\n /// Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, string calldata delim, bool[] calldata defaultValue)\n external\n view\n returns (bool[] memory value);\n\n /// Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, string calldata delim, uint256[] calldata defaultValue)\n external\n view\n returns (uint256[] memory value);\n\n /// Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, string calldata delim, int256[] calldata defaultValue)\n external\n view\n returns (int256[] memory value);\n\n /// Gets the environment variable `name` and parses it as `string`.\n /// Reverts if the variable was not found or could not be parsed.\n function envString(string calldata name) external view returns (string memory value);\n\n /// Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`.\n /// Reverts if the variable was not found or could not be parsed.\n function envString(string calldata name, string calldata delim) external view returns (string[] memory value);\n\n /// Gets the environment variable `name` and parses it as `uint256`.\n /// Reverts if the variable was not found or could not be parsed.\n function envUint(string calldata name) external view returns (uint256 value);\n\n /// Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`.\n /// Reverts if the variable was not found or could not be parsed.\n function envUint(string calldata name, string calldata delim) external view returns (uint256[] memory value);\n\n /// Returns true if `forge` command was executed in given context.\n function isContext(ForgeContext context) external view returns (bool result);\n\n /// Sets environment variables.\n function setEnv(string calldata name, string calldata value) external;\n\n // ======== EVM ========\n\n /// Gets all accessed reads and write slot from a `vm.record` session, for a given address.\n function accesses(address target) external returns (bytes32[] memory readSlots, bytes32[] memory writeSlots);\n\n /// Gets the address for a given private key.\n function addr(uint256 privateKey) external pure returns (address keyAddr);\n\n /// Gets all the logs according to specified filter.\n function eth_getLogs(uint256 fromBlock, uint256 toBlock, address target, bytes32[] calldata topics)\n external\n returns (EthGetLogs[] memory logs);\n\n /// Gets the current `block.blobbasefee`.\n /// You should use this instead of `block.blobbasefee` if you use `vm.blobBaseFee`, as `block.blobbasefee` is assumed to be constant across a transaction,\n /// and as a result will get optimized out by the compiler.\n /// See https://github.com/foundry-rs/foundry/issues/6180\n function getBlobBaseFee() external view returns (uint256 blobBaseFee);\n\n /// Gets the current `block.number`.\n /// You should use this instead of `block.number` if you use `vm.roll`, as `block.number` is assumed to be constant across a transaction,\n /// and as a result will get optimized out by the compiler.\n /// See https://github.com/foundry-rs/foundry/issues/6180\n function getBlockNumber() external view returns (uint256 height);\n\n /// Gets the current `block.timestamp`.\n /// You should use this instead of `block.timestamp` if you use `vm.warp`, as `block.timestamp` is assumed to be constant across a transaction,\n /// and as a result will get optimized out by the compiler.\n /// See https://github.com/foundry-rs/foundry/issues/6180\n function getBlockTimestamp() external view returns (uint256 timestamp);\n\n /// Gets the map key and parent of a mapping at a given slot, for a given address.\n function getMappingKeyAndParentOf(address target, bytes32 elementSlot)\n external\n returns (bool found, bytes32 key, bytes32 parent);\n\n /// Gets the number of elements in the mapping at the given slot, for a given address.\n function getMappingLength(address target, bytes32 mappingSlot) external returns (uint256 length);\n\n /// Gets the elements at index idx of the mapping at the given slot, for a given address. The\n /// index must be less than the length of the mapping (i.e. the number of keys in the mapping).\n function getMappingSlotAt(address target, bytes32 mappingSlot, uint256 idx) external returns (bytes32 value);\n\n /// Gets the nonce of an account.\n function getNonce(address account) external view returns (uint64 nonce);\n\n /// Get the nonce of a `Wallet`.\n function getNonce(Wallet calldata wallet) external returns (uint64 nonce);\n\n /// Gets all the recorded logs.\n function getRecordedLogs() external returns (Log[] memory logs);\n\n /// Returns state diffs from current `vm.startStateDiffRecording` session.\n function getStateDiff() external view returns (string memory diff);\n\n /// Returns state diffs from current `vm.startStateDiffRecording` session, in json format.\n function getStateDiffJson() external view returns (string memory diff);\n\n /// Gets the gas used in the last call from the callee perspective.\n function lastCallGas() external view returns (Gas memory gas);\n\n /// Loads a storage slot from an address.\n function load(address target, bytes32 slot) external view returns (bytes32 data);\n\n /// Pauses gas metering (i.e. gas usage is not counted). Noop if already paused.\n function pauseGasMetering() external;\n\n /// Records all storage reads and writes.\n function record() external;\n\n /// Record all the transaction logs.\n function recordLogs() external;\n\n /// Reset gas metering (i.e. gas usage is set to gas limit).\n function resetGasMetering() external;\n\n /// Resumes gas metering (i.e. gas usage is counted again). Noop if already on.\n function resumeGasMetering() external;\n\n /// Performs an Ethereum JSON-RPC request to the current fork URL.\n function rpc(string calldata method, string calldata params) external returns (bytes memory data);\n\n /// Performs an Ethereum JSON-RPC request to the given endpoint.\n function rpc(string calldata urlOrAlias, string calldata method, string calldata params)\n external\n returns (bytes memory data);\n\n /// Records the debug trace during the run.\n function startDebugTraceRecording() external;\n\n /// Starts recording all map SSTOREs for later retrieval.\n function startMappingRecording() external;\n\n /// Record all account accesses as part of CREATE, CALL or SELFDESTRUCT opcodes in order,\n /// along with the context of the calls\n function startStateDiffRecording() external;\n\n /// Stop debug trace recording and returns the recorded debug trace.\n function stopAndReturnDebugTraceRecording() external returns (DebugStep[] memory step);\n\n /// Returns an ordered array of all account accesses from a `vm.startStateDiffRecording` session.\n function stopAndReturnStateDiff() external returns (AccountAccess[] memory accountAccesses);\n\n /// Stops recording all map SSTOREs for later retrieval and clears the recorded data.\n function stopMappingRecording() external;\n\n // ======== Filesystem ========\n\n /// Closes file for reading, resetting the offset and allowing to read it from beginning with readLine.\n /// `path` is relative to the project root.\n function closeFile(string calldata path) external;\n\n /// Copies the contents of one file to another. This function will **overwrite** the contents of `to`.\n /// On success, the total number of bytes copied is returned and it is equal to the length of the `to` file as reported by `metadata`.\n /// Both `from` and `to` are relative to the project root.\n function copyFile(string calldata from, string calldata to) external returns (uint64 copied);\n\n /// Creates a new, empty directory at the provided path.\n /// This cheatcode will revert in the following situations, but is not limited to just these cases:\n /// - User lacks permissions to modify `path`.\n /// - A parent of the given path doesn't exist and `recursive` is false.\n /// - `path` already exists and `recursive` is false.\n /// `path` is relative to the project root.\n function createDir(string calldata path, bool recursive) external;\n\n /// Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n function deployCode(string calldata artifactPath) external returns (address deployedAddress);\n\n /// Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n /// Additionally accepts abi-encoded constructor arguments.\n function deployCode(string calldata artifactPath, bytes calldata constructorArgs)\n external\n returns (address deployedAddress);\n\n /// Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n /// Additionally accepts `msg.value`.\n function deployCode(string calldata artifactPath, uint256 value) external returns (address deployedAddress);\n\n /// Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n /// Additionally accepts abi-encoded constructor arguments and `msg.value`.\n function deployCode(string calldata artifactPath, bytes calldata constructorArgs, uint256 value)\n external\n returns (address deployedAddress);\n\n /// Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n function deployCode(string calldata artifactPath, bytes32 salt) external returns (address deployedAddress);\n\n /// Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n /// Additionally accepts abi-encoded constructor arguments.\n function deployCode(string calldata artifactPath, bytes calldata constructorArgs, bytes32 salt)\n external\n returns (address deployedAddress);\n\n /// Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n /// Additionally accepts `msg.value`.\n function deployCode(string calldata artifactPath, uint256 value, bytes32 salt)\n external\n returns (address deployedAddress);\n\n /// Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n /// Additionally accepts abi-encoded constructor arguments and `msg.value`.\n function deployCode(string calldata artifactPath, bytes calldata constructorArgs, uint256 value, bytes32 salt)\n external\n returns (address deployedAddress);\n\n /// Returns true if the given path points to an existing entity, else returns false.\n function exists(string calldata path) external view returns (bool result);\n\n /// Performs a foreign function call via the terminal.\n function ffi(string[] calldata commandInput) external returns (bytes memory result);\n\n /// Given a path, query the file system to get information about a file, directory, etc.\n function fsMetadata(string calldata path) external view returns (FsMetadata memory metadata);\n\n /// Gets the artifact path from code (aka. creation code).\n function getArtifactPathByCode(bytes calldata code) external view returns (string memory path);\n\n /// Gets the artifact path from deployed code (aka. runtime code).\n function getArtifactPathByDeployedCode(bytes calldata deployedCode) external view returns (string memory path);\n\n /// Returns the most recent broadcast for the given contract on `chainId` matching `txType`.\n /// For example:\n /// The most recent deployment can be fetched by passing `txType` as `CREATE` or `CREATE2`.\n /// The most recent call can be fetched by passing `txType` as `CALL`.\n function getBroadcast(string calldata contractName, uint64 chainId, BroadcastTxType txType)\n external\n view\n returns (BroadcastTxSummary memory);\n\n /// Returns all broadcasts for the given contract on `chainId` with the specified `txType`.\n /// Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber.\n function getBroadcasts(string calldata contractName, uint64 chainId, BroadcastTxType txType)\n external\n view\n returns (BroadcastTxSummary[] memory);\n\n /// Returns all broadcasts for the given contract on `chainId`.\n /// Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber.\n function getBroadcasts(string calldata contractName, uint64 chainId)\n external\n view\n returns (BroadcastTxSummary[] memory);\n\n /// Gets the creation bytecode from an artifact file. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n function getCode(string calldata artifactPath) external view returns (bytes memory creationBytecode);\n\n /// Gets the deployed bytecode from an artifact file. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n function getDeployedCode(string calldata artifactPath) external view returns (bytes memory runtimeBytecode);\n\n /// Returns the most recent deployment for the current `chainId`.\n function getDeployment(string calldata contractName) external view returns (address deployedAddress);\n\n /// Returns the most recent deployment for the given contract on `chainId`\n function getDeployment(string calldata contractName, uint64 chainId)\n external\n view\n returns (address deployedAddress);\n\n /// Returns all deployments for the given contract on `chainId`\n /// Sorted in descending order of deployment time i.e descending order of BroadcastTxSummary.blockNumber.\n /// The most recent deployment is the first element, and the oldest is the last.\n function getDeployments(string calldata contractName, uint64 chainId)\n external\n view\n returns (address[] memory deployedAddresses);\n\n /// Returns true if the path exists on disk and is pointing at a directory, else returns false.\n function isDir(string calldata path) external view returns (bool result);\n\n /// Returns true if the path exists on disk and is pointing at a regular file, else returns false.\n function isFile(string calldata path) external view returns (bool result);\n\n /// Get the path of the current project root.\n function projectRoot() external view returns (string memory path);\n\n /// Prompts the user for a string value in the terminal.\n function prompt(string calldata promptText) external returns (string memory input);\n\n /// Prompts the user for an address in the terminal.\n function promptAddress(string calldata promptText) external returns (address);\n\n /// Prompts the user for a hidden string value in the terminal.\n function promptSecret(string calldata promptText) external returns (string memory input);\n\n /// Prompts the user for hidden uint256 in the terminal (usually pk).\n function promptSecretUint(string calldata promptText) external returns (uint256);\n\n /// Prompts the user for uint256 in the terminal.\n function promptUint(string calldata promptText) external returns (uint256);\n\n /// Reads the directory at the given path recursively, up to `maxDepth`.\n /// `maxDepth` defaults to 1, meaning only the direct children of the given directory will be returned.\n /// Follows symbolic links if `followLinks` is true.\n function readDir(string calldata path) external view returns (DirEntry[] memory entries);\n\n /// See `readDir(string)`.\n function readDir(string calldata path, uint64 maxDepth) external view returns (DirEntry[] memory entries);\n\n /// See `readDir(string)`.\n function readDir(string calldata path, uint64 maxDepth, bool followLinks)\n external\n view\n returns (DirEntry[] memory entries);\n\n /// Reads the entire content of file to string. `path` is relative to the project root.\n function readFile(string calldata path) external view returns (string memory data);\n\n /// Reads the entire content of file as binary. `path` is relative to the project root.\n function readFileBinary(string calldata path) external view returns (bytes memory data);\n\n /// Reads next line of file to string.\n function readLine(string calldata path) external view returns (string memory line);\n\n /// Reads a symbolic link, returning the path that the link points to.\n /// This cheatcode will revert in the following situations, but is not limited to just these cases:\n /// - `path` is not a symbolic link.\n /// - `path` does not exist.\n function readLink(string calldata linkPath) external view returns (string memory targetPath);\n\n /// Removes a directory at the provided path.\n /// This cheatcode will revert in the following situations, but is not limited to just these cases:\n /// - `path` doesn't exist.\n /// - `path` isn't a directory.\n /// - User lacks permissions to modify `path`.\n /// - The directory is not empty and `recursive` is false.\n /// `path` is relative to the project root.\n function removeDir(string calldata path, bool recursive) external;\n\n /// Removes a file from the filesystem.\n /// This cheatcode will revert in the following situations, but is not limited to just these cases:\n /// - `path` points to a directory.\n /// - The file doesn't exist.\n /// - The user lacks permissions to remove the file.\n /// `path` is relative to the project root.\n function removeFile(string calldata path) external;\n\n /// Performs a foreign function call via terminal and returns the exit code, stdout, and stderr.\n function tryFfi(string[] calldata commandInput) external returns (FfiResult memory result);\n\n /// Returns the time since unix epoch in milliseconds.\n function unixTime() external view returns (uint256 milliseconds);\n\n /// Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does.\n /// `path` is relative to the project root.\n function writeFile(string calldata path, string calldata data) external;\n\n /// Writes binary data to a file, creating a file if it does not exist, and entirely replacing its contents if it does.\n /// `path` is relative to the project root.\n function writeFileBinary(string calldata path, bytes calldata data) external;\n\n /// Writes line to file, creating a file if it does not exist.\n /// `path` is relative to the project root.\n function writeLine(string calldata path, string calldata data) external;\n\n // ======== JSON ========\n\n /// Checks if `key` exists in a JSON object.\n function keyExistsJson(string calldata json, string calldata key) external view returns (bool);\n\n /// Parses a string of JSON data at `key` and coerces it to `address`.\n function parseJsonAddress(string calldata json, string calldata key) external pure returns (address);\n\n /// Parses a string of JSON data at `key` and coerces it to `address[]`.\n function parseJsonAddressArray(string calldata json, string calldata key)\n external\n pure\n returns (address[] memory);\n\n /// Parses a string of JSON data at `key` and coerces it to `bool`.\n function parseJsonBool(string calldata json, string calldata key) external pure returns (bool);\n\n /// Parses a string of JSON data at `key` and coerces it to `bool[]`.\n function parseJsonBoolArray(string calldata json, string calldata key) external pure returns (bool[] memory);\n\n /// Parses a string of JSON data at `key` and coerces it to `bytes`.\n function parseJsonBytes(string calldata json, string calldata key) external pure returns (bytes memory);\n\n /// Parses a string of JSON data at `key` and coerces it to `bytes32`.\n function parseJsonBytes32(string calldata json, string calldata key) external pure returns (bytes32);\n\n /// Parses a string of JSON data at `key` and coerces it to `bytes32[]`.\n function parseJsonBytes32Array(string calldata json, string calldata key)\n external\n pure\n returns (bytes32[] memory);\n\n /// Parses a string of JSON data at `key` and coerces it to `bytes[]`.\n function parseJsonBytesArray(string calldata json, string calldata key) external pure returns (bytes[] memory);\n\n /// Parses a string of JSON data at `key` and coerces it to `int256`.\n function parseJsonInt(string calldata json, string calldata key) external pure returns (int256);\n\n /// Parses a string of JSON data at `key` and coerces it to `int256[]`.\n function parseJsonIntArray(string calldata json, string calldata key) external pure returns (int256[] memory);\n\n /// Returns an array of all the keys in a JSON object.\n function parseJsonKeys(string calldata json, string calldata key) external pure returns (string[] memory keys);\n\n /// Parses a string of JSON data at `key` and coerces it to `string`.\n function parseJsonString(string calldata json, string calldata key) external pure returns (string memory);\n\n /// Parses a string of JSON data at `key` and coerces it to `string[]`.\n function parseJsonStringArray(string calldata json, string calldata key) external pure returns (string[] memory);\n\n /// Parses a string of JSON data at `key` and coerces it to type array corresponding to `typeDescription`.\n function parseJsonTypeArray(string calldata json, string calldata key, string calldata typeDescription)\n external\n pure\n returns (bytes memory);\n\n /// Parses a string of JSON data and coerces it to type corresponding to `typeDescription`.\n function parseJsonType(string calldata json, string calldata typeDescription)\n external\n pure\n returns (bytes memory);\n\n /// Parses a string of JSON data at `key` and coerces it to type corresponding to `typeDescription`.\n function parseJsonType(string calldata json, string calldata key, string calldata typeDescription)\n external\n pure\n returns (bytes memory);\n\n /// Parses a string of JSON data at `key` and coerces it to `uint256`.\n function parseJsonUint(string calldata json, string calldata key) external pure returns (uint256);\n\n /// Parses a string of JSON data at `key` and coerces it to `uint256[]`.\n function parseJsonUintArray(string calldata json, string calldata key) external pure returns (uint256[] memory);\n\n /// ABI-encodes a JSON object.\n function parseJson(string calldata json) external pure returns (bytes memory abiEncodedData);\n\n /// ABI-encodes a JSON object at `key`.\n function parseJson(string calldata json, string calldata key) external pure returns (bytes memory abiEncodedData);\n\n /// See `serializeJson`.\n function serializeAddress(string calldata objectKey, string calldata valueKey, address value)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeAddress(string calldata objectKey, string calldata valueKey, address[] calldata values)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeBool(string calldata objectKey, string calldata valueKey, bool value)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeBool(string calldata objectKey, string calldata valueKey, bool[] calldata values)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeBytes32(string calldata objectKey, string calldata valueKey, bytes32 value)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeBytes32(string calldata objectKey, string calldata valueKey, bytes32[] calldata values)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeBytes(string calldata objectKey, string calldata valueKey, bytes calldata value)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeBytes(string calldata objectKey, string calldata valueKey, bytes[] calldata values)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeInt(string calldata objectKey, string calldata valueKey, int256 value)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeInt(string calldata objectKey, string calldata valueKey, int256[] calldata values)\n external\n returns (string memory json);\n\n /// Serializes a key and value to a JSON object stored in-memory that can be later written to a file.\n /// Returns the stringified version of the specific JSON file up to that moment.\n function serializeJson(string calldata objectKey, string calldata value) external returns (string memory json);\n\n /// See `serializeJson`.\n function serializeJsonType(string calldata typeDescription, bytes calldata value)\n external\n pure\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeJsonType(\n string calldata objectKey,\n string calldata valueKey,\n string calldata typeDescription,\n bytes calldata value\n ) external returns (string memory json);\n\n /// See `serializeJson`.\n function serializeString(string calldata objectKey, string calldata valueKey, string calldata value)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeString(string calldata objectKey, string calldata valueKey, string[] calldata values)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeUintToHex(string calldata objectKey, string calldata valueKey, uint256 value)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeUint(string calldata objectKey, string calldata valueKey, uint256 value)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeUint(string calldata objectKey, string calldata valueKey, uint256[] calldata values)\n external\n returns (string memory json);\n\n /// Write a serialized JSON object to a file. If the file exists, it will be overwritten.\n function writeJson(string calldata json, string calldata path) external;\n\n /// Write a serialized JSON object to an **existing** JSON file, replacing a value with key = \n /// This is useful to replace a specific value of a JSON file, without having to parse the entire thing.\n function writeJson(string calldata json, string calldata path, string calldata valueKey) external;\n\n /// Checks if `key` exists in a JSON object\n /// `keyExists` is being deprecated in favor of `keyExistsJson`. It will be removed in future versions.\n function keyExists(string calldata json, string calldata key) external view returns (bool);\n\n // ======== Scripting ========\n\n /// Attach an EIP-4844 blob to the next call\n function attachBlob(bytes calldata blob) external;\n\n /// Designate the next call as an EIP-7702 transaction\n function attachDelegation(SignedDelegation calldata signedDelegation) external;\n\n /// Takes a signed transaction and broadcasts it to the network.\n function broadcastRawTransaction(bytes calldata data) external;\n\n /// Has the next call (at this call depth only) create transactions that can later be signed and sent onchain.\n /// Broadcasting address is determined by checking the following in order:\n /// 1. If `--sender` argument was provided, that address is used.\n /// 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used.\n /// 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used.\n function broadcast() external;\n\n /// Has the next call (at this call depth only) create a transaction with the address provided\n /// as the sender that can later be signed and sent onchain.\n function broadcast(address signer) external;\n\n /// Has the next call (at this call depth only) create a transaction with the private key\n /// provided as the sender that can later be signed and sent onchain.\n function broadcast(uint256 privateKey) external;\n\n /// Returns addresses of available unlocked wallets in the script environment.\n function getWallets() external returns (address[] memory wallets);\n\n /// Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction\n function signAndAttachDelegation(address implementation, uint256 privateKey)\n external\n returns (SignedDelegation memory signedDelegation);\n\n /// Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction for specific nonce\n function signAndAttachDelegation(address implementation, uint256 privateKey, uint64 nonce)\n external\n returns (SignedDelegation memory signedDelegation);\n\n /// Sign an EIP-7702 authorization for delegation\n function signDelegation(address implementation, uint256 privateKey)\n external\n returns (SignedDelegation memory signedDelegation);\n\n /// Sign an EIP-7702 authorization for delegation for specific nonce\n function signDelegation(address implementation, uint256 privateKey, uint64 nonce)\n external\n returns (SignedDelegation memory signedDelegation);\n\n /// Has all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain.\n /// Broadcasting address is determined by checking the following in order:\n /// 1. If `--sender` argument was provided, that address is used.\n /// 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used.\n /// 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used.\n function startBroadcast() external;\n\n /// Has all subsequent calls (at this call depth only) create transactions with the address\n /// provided that can later be signed and sent onchain.\n function startBroadcast(address signer) external;\n\n /// Has all subsequent calls (at this call depth only) create transactions with the private key\n /// provided that can later be signed and sent onchain.\n function startBroadcast(uint256 privateKey) external;\n\n /// Stops collecting onchain transactions.\n function stopBroadcast() external;\n\n // ======== String ========\n\n /// Returns true if `search` is found in `subject`, false otherwise.\n function contains(string calldata subject, string calldata search) external returns (bool result);\n\n /// Returns the index of the first occurrence of a `key` in an `input` string.\n /// Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `key` is not found.\n /// Returns 0 in case of an empty `key`.\n function indexOf(string calldata input, string calldata key) external pure returns (uint256);\n\n /// Parses the given `string` into an `address`.\n function parseAddress(string calldata stringifiedValue) external pure returns (address parsedValue);\n\n /// Parses the given `string` into a `bool`.\n function parseBool(string calldata stringifiedValue) external pure returns (bool parsedValue);\n\n /// Parses the given `string` into `bytes`.\n function parseBytes(string calldata stringifiedValue) external pure returns (bytes memory parsedValue);\n\n /// Parses the given `string` into a `bytes32`.\n function parseBytes32(string calldata stringifiedValue) external pure returns (bytes32 parsedValue);\n\n /// Parses the given `string` into a `int256`.\n function parseInt(string calldata stringifiedValue) external pure returns (int256 parsedValue);\n\n /// Parses the given `string` into a `uint256`.\n function parseUint(string calldata stringifiedValue) external pure returns (uint256 parsedValue);\n\n /// Replaces occurrences of `from` in the given `string` with `to`.\n function replace(string calldata input, string calldata from, string calldata to)\n external\n pure\n returns (string memory output);\n\n /// Splits the given `string` into an array of strings divided by the `delimiter`.\n function split(string calldata input, string calldata delimiter) external pure returns (string[] memory outputs);\n\n /// Converts the given `string` value to Lowercase.\n function toLowercase(string calldata input) external pure returns (string memory output);\n\n /// Converts the given value to a `string`.\n function toString(address value) external pure returns (string memory stringifiedValue);\n\n /// Converts the given value to a `string`.\n function toString(bytes calldata value) external pure returns (string memory stringifiedValue);\n\n /// Converts the given value to a `string`.\n function toString(bytes32 value) external pure returns (string memory stringifiedValue);\n\n /// Converts the given value to a `string`.\n function toString(bool value) external pure returns (string memory stringifiedValue);\n\n /// Converts the given value to a `string`.\n function toString(uint256 value) external pure returns (string memory stringifiedValue);\n\n /// Converts the given value to a `string`.\n function toString(int256 value) external pure returns (string memory stringifiedValue);\n\n /// Converts the given `string` value to Uppercase.\n function toUppercase(string calldata input) external pure returns (string memory output);\n\n /// Trims leading and trailing whitespace from the given `string` value.\n function trim(string calldata input) external pure returns (string memory output);\n\n // ======== Testing ========\n\n /// Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\n /// Formats values with decimals in failure message.\n function assertApproxEqAbsDecimal(uint256 left, uint256 right, uint256 maxDelta, uint256 decimals) external pure;\n\n /// Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertApproxEqAbsDecimal(\n uint256 left,\n uint256 right,\n uint256 maxDelta,\n uint256 decimals,\n string calldata error\n ) external pure;\n\n /// Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\n /// Formats values with decimals in failure message.\n function assertApproxEqAbsDecimal(int256 left, int256 right, uint256 maxDelta, uint256 decimals) external pure;\n\n /// Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertApproxEqAbsDecimal(\n int256 left,\n int256 right,\n uint256 maxDelta,\n uint256 decimals,\n string calldata error\n ) external pure;\n\n /// Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\n function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta) external pure;\n\n /// Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\n /// Includes error message into revert string on failure.\n function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\n function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta) external pure;\n\n /// Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\n /// Includes error message into revert string on failure.\n function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n /// `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n /// Formats values with decimals in failure message.\n function assertApproxEqRelDecimal(uint256 left, uint256 right, uint256 maxPercentDelta, uint256 decimals)\n external\n pure;\n\n /// Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n /// `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertApproxEqRelDecimal(\n uint256 left,\n uint256 right,\n uint256 maxPercentDelta,\n uint256 decimals,\n string calldata error\n ) external pure;\n\n /// Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n /// `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n /// Formats values with decimals in failure message.\n function assertApproxEqRelDecimal(int256 left, int256 right, uint256 maxPercentDelta, uint256 decimals)\n external\n pure;\n\n /// Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n /// `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertApproxEqRelDecimal(\n int256 left,\n int256 right,\n uint256 maxPercentDelta,\n uint256 decimals,\n string calldata error\n ) external pure;\n\n /// Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n /// `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n function assertApproxEqRel(uint256 left, uint256 right, uint256 maxPercentDelta) external pure;\n\n /// Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n /// `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n /// Includes error message into revert string on failure.\n function assertApproxEqRel(uint256 left, uint256 right, uint256 maxPercentDelta, string calldata error)\n external\n pure;\n\n /// Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n /// `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n function assertApproxEqRel(int256 left, int256 right, uint256 maxPercentDelta) external pure;\n\n /// Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n /// `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n /// Includes error message into revert string on failure.\n function assertApproxEqRel(int256 left, int256 right, uint256 maxPercentDelta, string calldata error)\n external\n pure;\n\n /// Asserts that two `uint256` values are equal, formatting them with decimals in failure message.\n function assertEqDecimal(uint256 left, uint256 right, uint256 decimals) external pure;\n\n /// Asserts that two `uint256` values are equal, formatting them with decimals in failure message.\n /// Includes error message into revert string on failure.\n function assertEqDecimal(uint256 left, uint256 right, uint256 decimals, string calldata error) external pure;\n\n /// Asserts that two `int256` values are equal, formatting them with decimals in failure message.\n function assertEqDecimal(int256 left, int256 right, uint256 decimals) external pure;\n\n /// Asserts that two `int256` values are equal, formatting them with decimals in failure message.\n /// Includes error message into revert string on failure.\n function assertEqDecimal(int256 left, int256 right, uint256 decimals, string calldata error) external pure;\n\n /// Asserts that two `bool` values are equal.\n function assertEq(bool left, bool right) external pure;\n\n /// Asserts that two `bool` values are equal and includes error message into revert string on failure.\n function assertEq(bool left, bool right, string calldata error) external pure;\n\n /// Asserts that two `string` values are equal.\n function assertEq(string calldata left, string calldata right) external pure;\n\n /// Asserts that two `string` values are equal and includes error message into revert string on failure.\n function assertEq(string calldata left, string calldata right, string calldata error) external pure;\n\n /// Asserts that two `bytes` values are equal.\n function assertEq(bytes calldata left, bytes calldata right) external pure;\n\n /// Asserts that two `bytes` values are equal and includes error message into revert string on failure.\n function assertEq(bytes calldata left, bytes calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `bool` values are equal.\n function assertEq(bool[] calldata left, bool[] calldata right) external pure;\n\n /// Asserts that two arrays of `bool` values are equal and includes error message into revert string on failure.\n function assertEq(bool[] calldata left, bool[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `uint256 values are equal.\n function assertEq(uint256[] calldata left, uint256[] calldata right) external pure;\n\n /// Asserts that two arrays of `uint256` values are equal and includes error message into revert string on failure.\n function assertEq(uint256[] calldata left, uint256[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `int256` values are equal.\n function assertEq(int256[] calldata left, int256[] calldata right) external pure;\n\n /// Asserts that two arrays of `int256` values are equal and includes error message into revert string on failure.\n function assertEq(int256[] calldata left, int256[] calldata right, string calldata error) external pure;\n\n /// Asserts that two `uint256` values are equal.\n function assertEq(uint256 left, uint256 right) external pure;\n\n /// Asserts that two arrays of `address` values are equal.\n function assertEq(address[] calldata left, address[] calldata right) external pure;\n\n /// Asserts that two arrays of `address` values are equal and includes error message into revert string on failure.\n function assertEq(address[] calldata left, address[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `bytes32` values are equal.\n function assertEq(bytes32[] calldata left, bytes32[] calldata right) external pure;\n\n /// Asserts that two arrays of `bytes32` values are equal and includes error message into revert string on failure.\n function assertEq(bytes32[] calldata left, bytes32[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `string` values are equal.\n function assertEq(string[] calldata left, string[] calldata right) external pure;\n\n /// Asserts that two arrays of `string` values are equal and includes error message into revert string on failure.\n function assertEq(string[] calldata left, string[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `bytes` values are equal.\n function assertEq(bytes[] calldata left, bytes[] calldata right) external pure;\n\n /// Asserts that two arrays of `bytes` values are equal and includes error message into revert string on failure.\n function assertEq(bytes[] calldata left, bytes[] calldata right, string calldata error) external pure;\n\n /// Asserts that two `uint256` values are equal and includes error message into revert string on failure.\n function assertEq(uint256 left, uint256 right, string calldata error) external pure;\n\n /// Asserts that two `int256` values are equal.\n function assertEq(int256 left, int256 right) external pure;\n\n /// Asserts that two `int256` values are equal and includes error message into revert string on failure.\n function assertEq(int256 left, int256 right, string calldata error) external pure;\n\n /// Asserts that two `address` values are equal.\n function assertEq(address left, address right) external pure;\n\n /// Asserts that two `address` values are equal and includes error message into revert string on failure.\n function assertEq(address left, address right, string calldata error) external pure;\n\n /// Asserts that two `bytes32` values are equal.\n function assertEq(bytes32 left, bytes32 right) external pure;\n\n /// Asserts that two `bytes32` values are equal and includes error message into revert string on failure.\n function assertEq(bytes32 left, bytes32 right, string calldata error) external pure;\n\n /// Asserts that the given condition is false.\n function assertFalse(bool condition) external pure;\n\n /// Asserts that the given condition is false and includes error message into revert string on failure.\n function assertFalse(bool condition, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects first value to be greater than or equal to second.\n /// Formats values with decimals in failure message.\n function assertGeDecimal(uint256 left, uint256 right, uint256 decimals) external pure;\n\n /// Compares two `uint256` values. Expects first value to be greater than or equal to second.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertGeDecimal(uint256 left, uint256 right, uint256 decimals, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects first value to be greater than or equal to second.\n /// Formats values with decimals in failure message.\n function assertGeDecimal(int256 left, int256 right, uint256 decimals) external pure;\n\n /// Compares two `int256` values. Expects first value to be greater than or equal to second.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertGeDecimal(int256 left, int256 right, uint256 decimals, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects first value to be greater than or equal to second.\n function assertGe(uint256 left, uint256 right) external pure;\n\n /// Compares two `uint256` values. Expects first value to be greater than or equal to second.\n /// Includes error message into revert string on failure.\n function assertGe(uint256 left, uint256 right, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects first value to be greater than or equal to second.\n function assertGe(int256 left, int256 right) external pure;\n\n /// Compares two `int256` values. Expects first value to be greater than or equal to second.\n /// Includes error message into revert string on failure.\n function assertGe(int256 left, int256 right, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects first value to be greater than second.\n /// Formats values with decimals in failure message.\n function assertGtDecimal(uint256 left, uint256 right, uint256 decimals) external pure;\n\n /// Compares two `uint256` values. Expects first value to be greater than second.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertGtDecimal(uint256 left, uint256 right, uint256 decimals, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects first value to be greater than second.\n /// Formats values with decimals in failure message.\n function assertGtDecimal(int256 left, int256 right, uint256 decimals) external pure;\n\n /// Compares two `int256` values. Expects first value to be greater than second.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertGtDecimal(int256 left, int256 right, uint256 decimals, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects first value to be greater than second.\n function assertGt(uint256 left, uint256 right) external pure;\n\n /// Compares two `uint256` values. Expects first value to be greater than second.\n /// Includes error message into revert string on failure.\n function assertGt(uint256 left, uint256 right, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects first value to be greater than second.\n function assertGt(int256 left, int256 right) external pure;\n\n /// Compares two `int256` values. Expects first value to be greater than second.\n /// Includes error message into revert string on failure.\n function assertGt(int256 left, int256 right, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects first value to be less than or equal to second.\n /// Formats values with decimals in failure message.\n function assertLeDecimal(uint256 left, uint256 right, uint256 decimals) external pure;\n\n /// Compares two `uint256` values. Expects first value to be less than or equal to second.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertLeDecimal(uint256 left, uint256 right, uint256 decimals, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects first value to be less than or equal to second.\n /// Formats values with decimals in failure message.\n function assertLeDecimal(int256 left, int256 right, uint256 decimals) external pure;\n\n /// Compares two `int256` values. Expects first value to be less than or equal to second.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertLeDecimal(int256 left, int256 right, uint256 decimals, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects first value to be less than or equal to second.\n function assertLe(uint256 left, uint256 right) external pure;\n\n /// Compares two `uint256` values. Expects first value to be less than or equal to second.\n /// Includes error message into revert string on failure.\n function assertLe(uint256 left, uint256 right, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects first value to be less than or equal to second.\n function assertLe(int256 left, int256 right) external pure;\n\n /// Compares two `int256` values. Expects first value to be less than or equal to second.\n /// Includes error message into revert string on failure.\n function assertLe(int256 left, int256 right, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects first value to be less than second.\n /// Formats values with decimals in failure message.\n function assertLtDecimal(uint256 left, uint256 right, uint256 decimals) external pure;\n\n /// Compares two `uint256` values. Expects first value to be less than second.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertLtDecimal(uint256 left, uint256 right, uint256 decimals, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects first value to be less than second.\n /// Formats values with decimals in failure message.\n function assertLtDecimal(int256 left, int256 right, uint256 decimals) external pure;\n\n /// Compares two `int256` values. Expects first value to be less than second.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertLtDecimal(int256 left, int256 right, uint256 decimals, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects first value to be less than second.\n function assertLt(uint256 left, uint256 right) external pure;\n\n /// Compares two `uint256` values. Expects first value to be less than second.\n /// Includes error message into revert string on failure.\n function assertLt(uint256 left, uint256 right, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects first value to be less than second.\n function assertLt(int256 left, int256 right) external pure;\n\n /// Compares two `int256` values. Expects first value to be less than second.\n /// Includes error message into revert string on failure.\n function assertLt(int256 left, int256 right, string calldata error) external pure;\n\n /// Asserts that two `uint256` values are not equal, formatting them with decimals in failure message.\n function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals) external pure;\n\n /// Asserts that two `uint256` values are not equal, formatting them with decimals in failure message.\n /// Includes error message into revert string on failure.\n function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals, string calldata error) external pure;\n\n /// Asserts that two `int256` values are not equal, formatting them with decimals in failure message.\n function assertNotEqDecimal(int256 left, int256 right, uint256 decimals) external pure;\n\n /// Asserts that two `int256` values are not equal, formatting them with decimals in failure message.\n /// Includes error message into revert string on failure.\n function assertNotEqDecimal(int256 left, int256 right, uint256 decimals, string calldata error) external pure;\n\n /// Asserts that two `bool` values are not equal.\n function assertNotEq(bool left, bool right) external pure;\n\n /// Asserts that two `bool` values are not equal and includes error message into revert string on failure.\n function assertNotEq(bool left, bool right, string calldata error) external pure;\n\n /// Asserts that two `string` values are not equal.\n function assertNotEq(string calldata left, string calldata right) external pure;\n\n /// Asserts that two `string` values are not equal and includes error message into revert string on failure.\n function assertNotEq(string calldata left, string calldata right, string calldata error) external pure;\n\n /// Asserts that two `bytes` values are not equal.\n function assertNotEq(bytes calldata left, bytes calldata right) external pure;\n\n /// Asserts that two `bytes` values are not equal and includes error message into revert string on failure.\n function assertNotEq(bytes calldata left, bytes calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `bool` values are not equal.\n function assertNotEq(bool[] calldata left, bool[] calldata right) external pure;\n\n /// Asserts that two arrays of `bool` values are not equal and includes error message into revert string on failure.\n function assertNotEq(bool[] calldata left, bool[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `uint256` values are not equal.\n function assertNotEq(uint256[] calldata left, uint256[] calldata right) external pure;\n\n /// Asserts that two arrays of `uint256` values are not equal and includes error message into revert string on failure.\n function assertNotEq(uint256[] calldata left, uint256[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `int256` values are not equal.\n function assertNotEq(int256[] calldata left, int256[] calldata right) external pure;\n\n /// Asserts that two arrays of `int256` values are not equal and includes error message into revert string on failure.\n function assertNotEq(int256[] calldata left, int256[] calldata right, string calldata error) external pure;\n\n /// Asserts that two `uint256` values are not equal.\n function assertNotEq(uint256 left, uint256 right) external pure;\n\n /// Asserts that two arrays of `address` values are not equal.\n function assertNotEq(address[] calldata left, address[] calldata right) external pure;\n\n /// Asserts that two arrays of `address` values are not equal and includes error message into revert string on failure.\n function assertNotEq(address[] calldata left, address[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `bytes32` values are not equal.\n function assertNotEq(bytes32[] calldata left, bytes32[] calldata right) external pure;\n\n /// Asserts that two arrays of `bytes32` values are not equal and includes error message into revert string on failure.\n function assertNotEq(bytes32[] calldata left, bytes32[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `string` values are not equal.\n function assertNotEq(string[] calldata left, string[] calldata right) external pure;\n\n /// Asserts that two arrays of `string` values are not equal and includes error message into revert string on failure.\n function assertNotEq(string[] calldata left, string[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `bytes` values are not equal.\n function assertNotEq(bytes[] calldata left, bytes[] calldata right) external pure;\n\n /// Asserts that two arrays of `bytes` values are not equal and includes error message into revert string on failure.\n function assertNotEq(bytes[] calldata left, bytes[] calldata right, string calldata error) external pure;\n\n /// Asserts that two `uint256` values are not equal and includes error message into revert string on failure.\n function assertNotEq(uint256 left, uint256 right, string calldata error) external pure;\n\n /// Asserts that two `int256` values are not equal.\n function assertNotEq(int256 left, int256 right) external pure;\n\n /// Asserts that two `int256` values are not equal and includes error message into revert string on failure.\n function assertNotEq(int256 left, int256 right, string calldata error) external pure;\n\n /// Asserts that two `address` values are not equal.\n function assertNotEq(address left, address right) external pure;\n\n /// Asserts that two `address` values are not equal and includes error message into revert string on failure.\n function assertNotEq(address left, address right, string calldata error) external pure;\n\n /// Asserts that two `bytes32` values are not equal.\n function assertNotEq(bytes32 left, bytes32 right) external pure;\n\n /// Asserts that two `bytes32` values are not equal and includes error message into revert string on failure.\n function assertNotEq(bytes32 left, bytes32 right, string calldata error) external pure;\n\n /// Asserts that the given condition is true.\n function assertTrue(bool condition) external pure;\n\n /// Asserts that the given condition is true and includes error message into revert string on failure.\n function assertTrue(bool condition, string calldata error) external pure;\n\n /// If the condition is false, discard this run's fuzz inputs and generate new ones.\n function assume(bool condition) external pure;\n\n /// Discard this run's fuzz inputs and generate new ones if next call reverted.\n function assumeNoRevert() external pure;\n\n /// Discard this run's fuzz inputs and generate new ones if next call reverts with the potential revert parameters.\n function assumeNoRevert(PotentialRevert calldata potentialRevert) external pure;\n\n /// Discard this run's fuzz inputs and generate new ones if next call reverts with the any of the potential revert parameters.\n function assumeNoRevert(PotentialRevert[] calldata potentialReverts) external pure;\n\n /// Writes a breakpoint to jump to in the debugger.\n function breakpoint(string calldata char) external pure;\n\n /// Writes a conditional breakpoint to jump to in the debugger.\n function breakpoint(string calldata char, bool value) external pure;\n\n /// Returns true if the current Foundry version is greater than or equal to the given version.\n /// The given version string must be in the format `major.minor.patch`.\n /// This is equivalent to `foundryVersionCmp(version) >= 0`.\n function foundryVersionAtLeast(string calldata version) external view returns (bool);\n\n /// Compares the current Foundry version with the given version string.\n /// The given version string must be in the format `major.minor.patch`.\n /// Returns:\n /// -1 if current Foundry version is less than the given version\n /// 0 if current Foundry version equals the given version\n /// 1 if current Foundry version is greater than the given version\n /// This result can then be used with a comparison operator against `0`.\n /// For example, to check if the current Foundry version is greater than or equal to `1.0.0`:\n /// `if (foundryVersionCmp(\"1.0.0\") >= 0) { ... }`\n function foundryVersionCmp(string calldata version) external view returns (int256);\n\n /// Returns a Chain struct for specific alias\n function getChain(string calldata chainAlias) external view returns (Chain memory chain);\n\n /// Returns a Chain struct for specific chainId\n function getChain(uint256 chainId) external view returns (Chain memory chain);\n\n /// Returns the Foundry version.\n /// Format: -+..\n /// Sample output: 0.3.0-nightly+3cb96bde9b.1737036656.debug\n /// Note: Build timestamps may vary slightly across platforms due to separate CI jobs.\n /// For reliable version comparisons, use UNIX format (e.g., >= 1700000000)\n /// to compare timestamps while ignoring minor time differences.\n function getFoundryVersion() external view returns (string memory version);\n\n /// Returns the RPC url for the given alias.\n function rpcUrl(string calldata rpcAlias) external view returns (string memory json);\n\n /// Returns all rpc urls and their aliases as structs.\n function rpcUrlStructs() external view returns (Rpc[] memory urls);\n\n /// Returns all rpc urls and their aliases `[alias, url][]`.\n function rpcUrls() external view returns (string[2][] memory urls);\n\n /// Suspends execution of the main thread for `duration` milliseconds.\n function sleep(uint256 duration) external;\n\n // ======== Toml ========\n\n /// Checks if `key` exists in a TOML table.\n function keyExistsToml(string calldata toml, string calldata key) external view returns (bool);\n\n /// Parses a string of TOML data at `key` and coerces it to `address`.\n function parseTomlAddress(string calldata toml, string calldata key) external pure returns (address);\n\n /// Parses a string of TOML data at `key` and coerces it to `address[]`.\n function parseTomlAddressArray(string calldata toml, string calldata key)\n external\n pure\n returns (address[] memory);\n\n /// Parses a string of TOML data at `key` and coerces it to `bool`.\n function parseTomlBool(string calldata toml, string calldata key) external pure returns (bool);\n\n /// Parses a string of TOML data at `key` and coerces it to `bool[]`.\n function parseTomlBoolArray(string calldata toml, string calldata key) external pure returns (bool[] memory);\n\n /// Parses a string of TOML data at `key` and coerces it to `bytes`.\n function parseTomlBytes(string calldata toml, string calldata key) external pure returns (bytes memory);\n\n /// Parses a string of TOML data at `key` and coerces it to `bytes32`.\n function parseTomlBytes32(string calldata toml, string calldata key) external pure returns (bytes32);\n\n /// Parses a string of TOML data at `key` and coerces it to `bytes32[]`.\n function parseTomlBytes32Array(string calldata toml, string calldata key)\n external\n pure\n returns (bytes32[] memory);\n\n /// Parses a string of TOML data at `key` and coerces it to `bytes[]`.\n function parseTomlBytesArray(string calldata toml, string calldata key) external pure returns (bytes[] memory);\n\n /// Parses a string of TOML data at `key` and coerces it to `int256`.\n function parseTomlInt(string calldata toml, string calldata key) external pure returns (int256);\n\n /// Parses a string of TOML data at `key` and coerces it to `int256[]`.\n function parseTomlIntArray(string calldata toml, string calldata key) external pure returns (int256[] memory);\n\n /// Returns an array of all the keys in a TOML table.\n function parseTomlKeys(string calldata toml, string calldata key) external pure returns (string[] memory keys);\n\n /// Parses a string of TOML data at `key` and coerces it to `string`.\n function parseTomlString(string calldata toml, string calldata key) external pure returns (string memory);\n\n /// Parses a string of TOML data at `key` and coerces it to `string[]`.\n function parseTomlStringArray(string calldata toml, string calldata key) external pure returns (string[] memory);\n\n /// Parses a string of TOML data at `key` and coerces it to type array corresponding to `typeDescription`.\n function parseTomlTypeArray(string calldata toml, string calldata key, string calldata typeDescription)\n external\n pure\n returns (bytes memory);\n\n /// Parses a string of TOML data and coerces it to type corresponding to `typeDescription`.\n function parseTomlType(string calldata toml, string calldata typeDescription)\n external\n pure\n returns (bytes memory);\n\n /// Parses a string of TOML data at `key` and coerces it to type corresponding to `typeDescription`.\n function parseTomlType(string calldata toml, string calldata key, string calldata typeDescription)\n external\n pure\n returns (bytes memory);\n\n /// Parses a string of TOML data at `key` and coerces it to `uint256`.\n function parseTomlUint(string calldata toml, string calldata key) external pure returns (uint256);\n\n /// Parses a string of TOML data at `key` and coerces it to `uint256[]`.\n function parseTomlUintArray(string calldata toml, string calldata key) external pure returns (uint256[] memory);\n\n /// ABI-encodes a TOML table.\n function parseToml(string calldata toml) external pure returns (bytes memory abiEncodedData);\n\n /// ABI-encodes a TOML table at `key`.\n function parseToml(string calldata toml, string calldata key) external pure returns (bytes memory abiEncodedData);\n\n /// Takes serialized JSON, converts to TOML and write a serialized TOML to a file.\n function writeToml(string calldata json, string calldata path) external;\n\n /// Takes serialized JSON, converts to TOML and write a serialized TOML table to an **existing** TOML file, replacing a value with key = \n /// This is useful to replace a specific value of a TOML file, without having to parse the entire thing.\n function writeToml(string calldata json, string calldata path, string calldata valueKey) external;\n\n // ======== Utilities ========\n\n /// Compute the address of a contract created with CREATE2 using the given CREATE2 deployer.\n function computeCreate2Address(bytes32 salt, bytes32 initCodeHash, address deployer)\n external\n pure\n returns (address);\n\n /// Compute the address of a contract created with CREATE2 using the default CREATE2 deployer.\n function computeCreate2Address(bytes32 salt, bytes32 initCodeHash) external pure returns (address);\n\n /// Compute the address a contract will be deployed at for a given deployer address and nonce.\n function computeCreateAddress(address deployer, uint256 nonce) external pure returns (address);\n\n /// Utility cheatcode to copy storage of `from` contract to another `to` contract.\n function copyStorage(address from, address to) external;\n\n /// Returns ENS namehash for provided string.\n function ensNamehash(string calldata name) external pure returns (bytes32);\n\n /// Gets the label for the specified address.\n function getLabel(address account) external view returns (string memory currentLabel);\n\n /// Labels an address in call traces.\n function label(address account, string calldata newLabel) external;\n\n /// Pauses collection of call traces. Useful in cases when you want to skip tracing of\n /// complex calls which are not useful for debugging.\n function pauseTracing() external view;\n\n /// Returns a random `address`.\n function randomAddress() external returns (address);\n\n /// Returns a random `bool`.\n function randomBool() external view returns (bool);\n\n /// Returns a random byte array value of the given length.\n function randomBytes(uint256 len) external view returns (bytes memory);\n\n /// Returns a random fixed-size byte array of length 4.\n function randomBytes4() external view returns (bytes4);\n\n /// Returns a random fixed-size byte array of length 8.\n function randomBytes8() external view returns (bytes8);\n\n /// Returns a random `int256` value.\n function randomInt() external view returns (int256);\n\n /// Returns a random `int256` value of given bits.\n function randomInt(uint256 bits) external view returns (int256);\n\n /// Returns a random uint256 value.\n function randomUint() external returns (uint256);\n\n /// Returns random uint256 value between the provided range (=min..=max).\n function randomUint(uint256 min, uint256 max) external returns (uint256);\n\n /// Returns a random `uint256` value of given bits.\n function randomUint(uint256 bits) external view returns (uint256);\n\n /// Unpauses collection of call traces.\n function resumeTracing() external view;\n\n /// Utility cheatcode to set arbitrary storage for given target address.\n function setArbitraryStorage(address target) external;\n\n /// Utility cheatcode to set arbitrary storage for given target address and overwrite\n /// any storage slots that have been previously set.\n function setArbitraryStorage(address target, bool overwrite) external;\n\n /// Randomly shuffles an array.\n function shuffle(uint256[] calldata array) external returns (uint256[] memory);\n\n /// Sorts an array in ascending order.\n function sort(uint256[] calldata array) external returns (uint256[] memory);\n\n /// Encodes a `bytes` value to a base64url string.\n function toBase64URL(bytes calldata data) external pure returns (string memory);\n\n /// Encodes a `string` value to a base64url string.\n function toBase64URL(string calldata data) external pure returns (string memory);\n\n /// Encodes a `bytes` value to a base64 string.\n function toBase64(bytes calldata data) external pure returns (string memory);\n\n /// Encodes a `string` value to a base64 string.\n function toBase64(string calldata data) external pure returns (string memory);\n}\n\n/// The `Vm` interface does allow manipulation of the EVM state. These are all intended to be used\n/// in tests, but it is not recommended to use these cheats in scripts.\ninterface Vm is VmSafe {\n // ======== EVM ========\n\n /// Utility cheatcode to set an EIP-2930 access list for all subsequent transactions.\n function accessList(AccessListItem[] calldata access) external;\n\n /// Returns the identifier of the currently active fork. Reverts if no fork is currently active.\n function activeFork() external view returns (uint256 forkId);\n\n /// In forking mode, explicitly grant the given address cheatcode access.\n function allowCheatcodes(address account) external;\n\n /// Sets `block.blobbasefee`\n function blobBaseFee(uint256 newBlobBaseFee) external;\n\n /// Sets the blobhashes in the transaction.\n /// Not available on EVM versions before Cancun.\n /// If used on unsupported EVM versions it will revert.\n function blobhashes(bytes32[] calldata hashes) external;\n\n /// Sets `block.chainid`.\n function chainId(uint256 newChainId) external;\n\n /// Clears all mocked calls.\n function clearMockedCalls() external;\n\n /// Clones a source account code, state, balance and nonce to a target account and updates in-memory EVM state.\n function cloneAccount(address source, address target) external;\n\n /// Sets `block.coinbase`.\n function coinbase(address newCoinbase) external;\n\n /// Marks the slots of an account and the account address as cold.\n function cool(address target) external;\n\n /// Utility cheatcode to mark specific storage slot as cold, simulating no prior read.\n function coolSlot(address target, bytes32 slot) external;\n\n /// Creates a new fork with the given endpoint and the _latest_ block and returns the identifier of the fork.\n function createFork(string calldata urlOrAlias) external returns (uint256 forkId);\n\n /// Creates a new fork with the given endpoint and block and returns the identifier of the fork.\n function createFork(string calldata urlOrAlias, uint256 blockNumber) external returns (uint256 forkId);\n\n /// Creates a new fork with the given endpoint and at the block the given transaction was mined in,\n /// replays all transaction mined in the block before the transaction, and returns the identifier of the fork.\n function createFork(string calldata urlOrAlias, bytes32 txHash) external returns (uint256 forkId);\n\n /// Creates and also selects a new fork with the given endpoint and the latest block and returns the identifier of the fork.\n function createSelectFork(string calldata urlOrAlias) external returns (uint256 forkId);\n\n /// Creates and also selects a new fork with the given endpoint and block and returns the identifier of the fork.\n function createSelectFork(string calldata urlOrAlias, uint256 blockNumber) external returns (uint256 forkId);\n\n /// Creates and also selects new fork with the given endpoint and at the block the given transaction was mined in,\n /// replays all transaction mined in the block before the transaction, returns the identifier of the fork.\n function createSelectFork(string calldata urlOrAlias, bytes32 txHash) external returns (uint256 forkId);\n\n /// Sets an address' balance.\n function deal(address account, uint256 newBalance) external;\n\n /// Removes the snapshot with the given ID created by `snapshot`.\n /// Takes the snapshot ID to delete.\n /// Returns `true` if the snapshot was successfully deleted.\n /// Returns `false` if the snapshot does not exist.\n function deleteStateSnapshot(uint256 snapshotId) external returns (bool success);\n\n /// Removes _all_ snapshots previously created by `snapshot`.\n function deleteStateSnapshots() external;\n\n /// Sets `block.difficulty`.\n /// Not available on EVM versions from Paris onwards. Use `prevrandao` instead.\n /// Reverts if used on unsupported EVM versions.\n function difficulty(uint256 newDifficulty) external;\n\n /// Dump a genesis JSON file's `allocs` to disk.\n function dumpState(string calldata pathToStateJson) external;\n\n /// Sets an address' code.\n function etch(address target, bytes calldata newRuntimeBytecode) external;\n\n /// Sets `block.basefee`.\n function fee(uint256 newBasefee) external;\n\n /// Gets the blockhashes from the current transaction.\n /// Not available on EVM versions before Cancun.\n /// If used on unsupported EVM versions it will revert.\n function getBlobhashes() external view returns (bytes32[] memory hashes);\n\n /// Returns true if the account is marked as persistent.\n function isPersistent(address account) external view returns (bool persistent);\n\n /// Load a genesis JSON file's `allocs` into the in-memory EVM state.\n function loadAllocs(string calldata pathToAllocsJson) external;\n\n /// Marks that the account(s) should use persistent storage across fork swaps in a multifork setup\n /// Meaning, changes made to the state of this account will be kept when switching forks.\n function makePersistent(address account) external;\n\n /// See `makePersistent(address)`.\n function makePersistent(address account0, address account1) external;\n\n /// See `makePersistent(address)`.\n function makePersistent(address account0, address account1, address account2) external;\n\n /// See `makePersistent(address)`.\n function makePersistent(address[] calldata accounts) external;\n\n /// Reverts a call to an address with specified revert data.\n function mockCallRevert(address callee, bytes calldata data, bytes calldata revertData) external;\n\n /// Reverts a call to an address with a specific `msg.value`, with specified revert data.\n function mockCallRevert(address callee, uint256 msgValue, bytes calldata data, bytes calldata revertData)\n external;\n\n /// Reverts a call to an address with specified revert data.\n /// Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\n function mockCallRevert(address callee, bytes4 data, bytes calldata revertData) external;\n\n /// Reverts a call to an address with a specific `msg.value`, with specified revert data.\n /// Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\n function mockCallRevert(address callee, uint256 msgValue, bytes4 data, bytes calldata revertData) external;\n\n /// Mocks a call to an address, returning specified data.\n /// Calldata can either be strict or a partial match, e.g. if you only\n /// pass a Solidity selector to the expected calldata, then the entire Solidity\n /// function will be mocked.\n function mockCall(address callee, bytes calldata data, bytes calldata returnData) external;\n\n /// Mocks a call to an address with a specific `msg.value`, returning specified data.\n /// Calldata match takes precedence over `msg.value` in case of ambiguity.\n function mockCall(address callee, uint256 msgValue, bytes calldata data, bytes calldata returnData) external;\n\n /// Mocks a call to an address, returning specified data.\n /// Calldata can either be strict or a partial match, e.g. if you only\n /// pass a Solidity selector to the expected calldata, then the entire Solidity\n /// function will be mocked.\n /// Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\n function mockCall(address callee, bytes4 data, bytes calldata returnData) external;\n\n /// Mocks a call to an address with a specific `msg.value`, returning specified data.\n /// Calldata match takes precedence over `msg.value` in case of ambiguity.\n /// Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\n function mockCall(address callee, uint256 msgValue, bytes4 data, bytes calldata returnData) external;\n\n /// Mocks multiple calls to an address, returning specified data for each call.\n function mockCalls(address callee, bytes calldata data, bytes[] calldata returnData) external;\n\n /// Mocks multiple calls to an address with a specific `msg.value`, returning specified data for each call.\n function mockCalls(address callee, uint256 msgValue, bytes calldata data, bytes[] calldata returnData) external;\n\n /// Whenever a call is made to `callee` with calldata `data`, this cheatcode instead calls\n /// `target` with the same calldata. This functionality is similar to a delegate call made to\n /// `target` contract from `callee`.\n /// Can be used to substitute a call to a function with another implementation that captures\n /// the primary logic of the original function but is easier to reason about.\n /// If calldata is not a strict match then partial match by selector is attempted.\n function mockFunction(address callee, address target, bytes calldata data) external;\n\n /// Utility cheatcode to remove any EIP-2930 access list set by `accessList` cheatcode.\n function noAccessList() external;\n\n /// Sets the *next* call's `msg.sender` to be the input address.\n function prank(address msgSender) external;\n\n /// Sets the *next* call's `msg.sender` to be the input address, and the `tx.origin` to be the second input.\n function prank(address msgSender, address txOrigin) external;\n\n /// Sets the *next* delegate call's `msg.sender` to be the input address.\n function prank(address msgSender, bool delegateCall) external;\n\n /// Sets the *next* delegate call's `msg.sender` to be the input address, and the `tx.origin` to be the second input.\n function prank(address msgSender, address txOrigin, bool delegateCall) external;\n\n /// Sets `block.prevrandao`.\n /// Not available on EVM versions before Paris. Use `difficulty` instead.\n /// If used on unsupported EVM versions it will revert.\n function prevrandao(bytes32 newPrevrandao) external;\n\n /// Sets `block.prevrandao`.\n /// Not available on EVM versions before Paris. Use `difficulty` instead.\n /// If used on unsupported EVM versions it will revert.\n function prevrandao(uint256 newPrevrandao) external;\n\n /// Reads the current `msg.sender` and `tx.origin` from state and reports if there is any active caller modification.\n function readCallers() external returns (CallerMode callerMode, address msgSender, address txOrigin);\n\n /// Resets the nonce of an account to 0 for EOAs and 1 for contract accounts.\n function resetNonce(address account) external;\n\n /// Revert the state of the EVM to a previous snapshot\n /// Takes the snapshot ID to revert to.\n /// Returns `true` if the snapshot was successfully reverted.\n /// Returns `false` if the snapshot does not exist.\n /// **Note:** This does not automatically delete the snapshot. To delete the snapshot use `deleteStateSnapshot`.\n function revertToState(uint256 snapshotId) external returns (bool success);\n\n /// Revert the state of the EVM to a previous snapshot and automatically deletes the snapshots\n /// Takes the snapshot ID to revert to.\n /// Returns `true` if the snapshot was successfully reverted and deleted.\n /// Returns `false` if the snapshot does not exist.\n function revertToStateAndDelete(uint256 snapshotId) external returns (bool success);\n\n /// Revokes persistent status from the address, previously added via `makePersistent`.\n function revokePersistent(address account) external;\n\n /// See `revokePersistent(address)`.\n function revokePersistent(address[] calldata accounts) external;\n\n /// Sets `block.height`.\n function roll(uint256 newHeight) external;\n\n /// Updates the currently active fork to given block number\n /// This is similar to `roll` but for the currently active fork.\n function rollFork(uint256 blockNumber) external;\n\n /// Updates the currently active fork to given transaction. This will `rollFork` with the number\n /// of the block the transaction was mined in and replays all transaction mined before it in the block.\n function rollFork(bytes32 txHash) external;\n\n /// Updates the given fork to given block number.\n function rollFork(uint256 forkId, uint256 blockNumber) external;\n\n /// Updates the given fork to block number of the given transaction and replays all transaction mined before it in the block.\n function rollFork(uint256 forkId, bytes32 txHash) external;\n\n /// Takes a fork identifier created by `createFork` and sets the corresponding forked state as active.\n function selectFork(uint256 forkId) external;\n\n /// Set blockhash for the current block.\n /// It only sets the blockhash for blocks where `block.number - 256 <= number < block.number`.\n function setBlockhash(uint256 blockNumber, bytes32 blockHash) external;\n\n /// Sets the nonce of an account. Must be higher than the current nonce of the account.\n function setNonce(address account, uint64 newNonce) external;\n\n /// Sets the nonce of an account to an arbitrary value.\n function setNonceUnsafe(address account, uint64 newNonce) external;\n\n /// Snapshot capture the gas usage of the last call by name from the callee perspective.\n function snapshotGasLastCall(string calldata name) external returns (uint256 gasUsed);\n\n /// Snapshot capture the gas usage of the last call by name in a group from the callee perspective.\n function snapshotGasLastCall(string calldata group, string calldata name) external returns (uint256 gasUsed);\n\n /// Snapshot the current state of the evm.\n /// Returns the ID of the snapshot that was created.\n /// To revert a snapshot use `revertToState`.\n function snapshotState() external returns (uint256 snapshotId);\n\n /// Snapshot capture an arbitrary numerical value by name.\n /// The group name is derived from the contract name.\n function snapshotValue(string calldata name, uint256 value) external;\n\n /// Snapshot capture an arbitrary numerical value by name in a group.\n function snapshotValue(string calldata group, string calldata name, uint256 value) external;\n\n /// Sets all subsequent calls' `msg.sender` to be the input address until `stopPrank` is called.\n function startPrank(address msgSender) external;\n\n /// Sets all subsequent calls' `msg.sender` to be the input address until `stopPrank` is called, and the `tx.origin` to be the second input.\n function startPrank(address msgSender, address txOrigin) external;\n\n /// Sets all subsequent delegate calls' `msg.sender` to be the input address until `stopPrank` is called.\n function startPrank(address msgSender, bool delegateCall) external;\n\n /// Sets all subsequent delegate calls' `msg.sender` to be the input address until `stopPrank` is called, and the `tx.origin` to be the second input.\n function startPrank(address msgSender, address txOrigin, bool delegateCall) external;\n\n /// Start a snapshot capture of the current gas usage by name.\n /// The group name is derived from the contract name.\n function startSnapshotGas(string calldata name) external;\n\n /// Start a snapshot capture of the current gas usage by name in a group.\n function startSnapshotGas(string calldata group, string calldata name) external;\n\n /// Resets subsequent calls' `msg.sender` to be `address(this)`.\n function stopPrank() external;\n\n /// Stop the snapshot capture of the current gas by latest snapshot name, capturing the gas used since the start.\n function stopSnapshotGas() external returns (uint256 gasUsed);\n\n /// Stop the snapshot capture of the current gas usage by name, capturing the gas used since the start.\n /// The group name is derived from the contract name.\n function stopSnapshotGas(string calldata name) external returns (uint256 gasUsed);\n\n /// Stop the snapshot capture of the current gas usage by name in a group, capturing the gas used since the start.\n function stopSnapshotGas(string calldata group, string calldata name) external returns (uint256 gasUsed);\n\n /// Stores a value to an address' storage slot.\n function store(address target, bytes32 slot, bytes32 value) external;\n\n /// Fetches the given transaction from the active fork and executes it on the current state.\n function transact(bytes32 txHash) external;\n\n /// Fetches the given transaction from the given fork and executes it on the current state.\n function transact(uint256 forkId, bytes32 txHash) external;\n\n /// Sets `tx.gasprice`.\n function txGasPrice(uint256 newGasPrice) external;\n\n /// Utility cheatcode to mark specific storage slot as warm, simulating a prior read.\n function warmSlot(address target, bytes32 slot) external;\n\n /// Sets `block.timestamp`.\n function warp(uint256 newTimestamp) external;\n\n /// `deleteSnapshot` is being deprecated in favor of `deleteStateSnapshot`. It will be removed in future versions.\n function deleteSnapshot(uint256 snapshotId) external returns (bool success);\n\n /// `deleteSnapshots` is being deprecated in favor of `deleteStateSnapshots`. It will be removed in future versions.\n function deleteSnapshots() external;\n\n /// `revertToAndDelete` is being deprecated in favor of `revertToStateAndDelete`. It will be removed in future versions.\n function revertToAndDelete(uint256 snapshotId) external returns (bool success);\n\n /// `revertTo` is being deprecated in favor of `revertToState`. It will be removed in future versions.\n function revertTo(uint256 snapshotId) external returns (bool success);\n\n /// `snapshot` is being deprecated in favor of `snapshotState`. It will be removed in future versions.\n function snapshot() external returns (uint256 snapshotId);\n\n // ======== Testing ========\n\n /// Expect a call to an address with the specified `msg.value` and calldata, and a *minimum* amount of gas.\n function expectCallMinGas(address callee, uint256 msgValue, uint64 minGas, bytes calldata data) external;\n\n /// Expect given number of calls to an address with the specified `msg.value` and calldata, and a *minimum* amount of gas.\n function expectCallMinGas(address callee, uint256 msgValue, uint64 minGas, bytes calldata data, uint64 count)\n external;\n\n /// Expects a call to an address with the specified calldata.\n /// Calldata can either be a strict or a partial match.\n function expectCall(address callee, bytes calldata data) external;\n\n /// Expects given number of calls to an address with the specified calldata.\n function expectCall(address callee, bytes calldata data, uint64 count) external;\n\n /// Expects a call to an address with the specified `msg.value` and calldata.\n function expectCall(address callee, uint256 msgValue, bytes calldata data) external;\n\n /// Expects given number of calls to an address with the specified `msg.value` and calldata.\n function expectCall(address callee, uint256 msgValue, bytes calldata data, uint64 count) external;\n\n /// Expect a call to an address with the specified `msg.value`, gas, and calldata.\n function expectCall(address callee, uint256 msgValue, uint64 gas, bytes calldata data) external;\n\n /// Expects given number of calls to an address with the specified `msg.value`, gas, and calldata.\n function expectCall(address callee, uint256 msgValue, uint64 gas, bytes calldata data, uint64 count) external;\n\n /// Expects the deployment of the specified bytecode by the specified address using the CREATE opcode\n function expectCreate(bytes calldata bytecode, address deployer) external;\n\n /// Expects the deployment of the specified bytecode by the specified address using the CREATE2 opcode\n function expectCreate2(bytes calldata bytecode, address deployer) external;\n\n /// Prepare an expected anonymous log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData.).\n /// Call this function, then emit an anonymous event, then call a function. Internally after the call, we check if\n /// logs were emitted in the expected order with the expected topics and data (as specified by the booleans).\n function expectEmitAnonymous(bool checkTopic0, bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData)\n external;\n\n /// Same as the previous method, but also checks supplied address against emitting contract.\n function expectEmitAnonymous(\n bool checkTopic0,\n bool checkTopic1,\n bool checkTopic2,\n bool checkTopic3,\n bool checkData,\n address emitter\n ) external;\n\n /// Prepare an expected anonymous log with all topic and data checks enabled.\n /// Call this function, then emit an anonymous event, then call a function. Internally after the call, we check if\n /// logs were emitted in the expected order with the expected topics and data.\n function expectEmitAnonymous() external;\n\n /// Same as the previous method, but also checks supplied address against emitting contract.\n function expectEmitAnonymous(address emitter) external;\n\n /// Prepare an expected log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData.).\n /// Call this function, then emit an event, then call a function. Internally after the call, we check if\n /// logs were emitted in the expected order with the expected topics and data (as specified by the booleans).\n function expectEmit(bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData) external;\n\n /// Same as the previous method, but also checks supplied address against emitting contract.\n function expectEmit(bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData, address emitter)\n external;\n\n /// Prepare an expected log with all topic and data checks enabled.\n /// Call this function, then emit an event, then call a function. Internally after the call, we check if\n /// logs were emitted in the expected order with the expected topics and data.\n function expectEmit() external;\n\n /// Same as the previous method, but also checks supplied address against emitting contract.\n function expectEmit(address emitter) external;\n\n /// Expect a given number of logs with the provided topics.\n function expectEmit(bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData, uint64 count) external;\n\n /// Expect a given number of logs from a specific emitter with the provided topics.\n function expectEmit(\n bool checkTopic1,\n bool checkTopic2,\n bool checkTopic3,\n bool checkData,\n address emitter,\n uint64 count\n ) external;\n\n /// Expect a given number of logs with all topic and data checks enabled.\n function expectEmit(uint64 count) external;\n\n /// Expect a given number of logs from a specific emitter with all topic and data checks enabled.\n function expectEmit(address emitter, uint64 count) external;\n\n /// Expects an error on next call that starts with the revert data.\n function expectPartialRevert(bytes4 revertData) external;\n\n /// Expects an error on next call to reverter address, that starts with the revert data.\n function expectPartialRevert(bytes4 revertData, address reverter) external;\n\n /// Expects an error on next call with any revert data.\n function expectRevert() external;\n\n /// Expects an error on next call that exactly matches the revert data.\n function expectRevert(bytes4 revertData) external;\n\n /// Expects a `count` number of reverts from the upcoming calls from the reverter address that match the revert data.\n function expectRevert(bytes4 revertData, address reverter, uint64 count) external;\n\n /// Expects a `count` number of reverts from the upcoming calls from the reverter address that exactly match the revert data.\n function expectRevert(bytes calldata revertData, address reverter, uint64 count) external;\n\n /// Expects an error on next call that exactly matches the revert data.\n function expectRevert(bytes calldata revertData) external;\n\n /// Expects an error with any revert data on next call to reverter address.\n function expectRevert(address reverter) external;\n\n /// Expects an error from reverter address on next call, with any revert data.\n function expectRevert(bytes4 revertData, address reverter) external;\n\n /// Expects an error from reverter address on next call, that exactly matches the revert data.\n function expectRevert(bytes calldata revertData, address reverter) external;\n\n /// Expects a `count` number of reverts from the upcoming calls with any revert data or reverter.\n function expectRevert(uint64 count) external;\n\n /// Expects a `count` number of reverts from the upcoming calls that match the revert data.\n function expectRevert(bytes4 revertData, uint64 count) external;\n\n /// Expects a `count` number of reverts from the upcoming calls that exactly match the revert data.\n function expectRevert(bytes calldata revertData, uint64 count) external;\n\n /// Expects a `count` number of reverts from the upcoming calls from the reverter address.\n function expectRevert(address reverter, uint64 count) external;\n\n /// Only allows memory writes to offsets [0x00, 0x60) ∪ [min, max) in the current subcontext. If any other\n /// memory is written to, the test will fail. Can be called multiple times to add more ranges to the set.\n function expectSafeMemory(uint64 min, uint64 max) external;\n\n /// Only allows memory writes to offsets [0x00, 0x60) ∪ [min, max) in the next created subcontext.\n /// If any other memory is written to, the test will fail. Can be called multiple times to add more ranges\n /// to the set.\n function expectSafeMemoryCall(uint64 min, uint64 max) external;\n\n /// Marks a test as skipped. Must be called at the top level of a test.\n function skip(bool skipTest) external;\n\n /// Marks a test as skipped with a reason. Must be called at the top level of a test.\n function skip(bool skipTest, string calldata reason) external;\n\n /// Stops all safe memory expectation in the current subcontext.\n function stopExpectSafeMemory() external;\n\n // ======== Utilities ========\n\n /// Causes the next contract creation (via new) to fail and return its initcode in the returndata buffer.\n /// This allows type-safe access to the initcode payload that would be used for contract creation.\n /// Example usage:\n /// vm.interceptInitcode();\n /// bytes memory initcode;\n /// try new MyContract(param1, param2) { assert(false); }\n /// catch (bytes memory interceptedInitcode) { initcode = interceptedInitcode; }\n function interceptInitcode() external;\n}\n"},"lib/forge-std/src/console.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\n\nlibrary console {\n address constant CONSOLE_ADDRESS =\n 0x000000000000000000636F6e736F6c652e6c6f67;\n\n function _sendLogPayloadImplementation(bytes memory payload) internal view {\n address consoleAddress = CONSOLE_ADDRESS;\n /// @solidity memory-safe-assembly\n assembly {\n pop(\n staticcall(\n gas(),\n consoleAddress,\n add(payload, 32),\n mload(payload),\n 0,\n 0\n )\n )\n }\n }\n\n function _castToPure(\n function(bytes memory) internal view fnIn\n ) internal pure returns (function(bytes memory) pure fnOut) {\n assembly {\n fnOut := fnIn\n }\n }\n\n function _sendLogPayload(bytes memory payload) internal pure {\n _castToPure(_sendLogPayloadImplementation)(payload);\n }\n\n function log() internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log()\"));\n }\n\n function logInt(int256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(int256)\", p0));\n }\n\n function logUint(uint256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256)\", p0));\n }\n\n function logString(string memory p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function logBool(bool p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function logAddress(address p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function logBytes(bytes memory p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes)\", p0));\n }\n\n function logBytes1(bytes1 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes1)\", p0));\n }\n\n function logBytes2(bytes2 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes2)\", p0));\n }\n\n function logBytes3(bytes3 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes3)\", p0));\n }\n\n function logBytes4(bytes4 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes4)\", p0));\n }\n\n function logBytes5(bytes5 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes5)\", p0));\n }\n\n function logBytes6(bytes6 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes6)\", p0));\n }\n\n function logBytes7(bytes7 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes7)\", p0));\n }\n\n function logBytes8(bytes8 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes8)\", p0));\n }\n\n function logBytes9(bytes9 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes9)\", p0));\n }\n\n function logBytes10(bytes10 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes10)\", p0));\n }\n\n function logBytes11(bytes11 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes11)\", p0));\n }\n\n function logBytes12(bytes12 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes12)\", p0));\n }\n\n function logBytes13(bytes13 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes13)\", p0));\n }\n\n function logBytes14(bytes14 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes14)\", p0));\n }\n\n function logBytes15(bytes15 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes15)\", p0));\n }\n\n function logBytes16(bytes16 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes16)\", p0));\n }\n\n function logBytes17(bytes17 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes17)\", p0));\n }\n\n function logBytes18(bytes18 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes18)\", p0));\n }\n\n function logBytes19(bytes19 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes19)\", p0));\n }\n\n function logBytes20(bytes20 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes20)\", p0));\n }\n\n function logBytes21(bytes21 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes21)\", p0));\n }\n\n function logBytes22(bytes22 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes22)\", p0));\n }\n\n function logBytes23(bytes23 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes23)\", p0));\n }\n\n function logBytes24(bytes24 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes24)\", p0));\n }\n\n function logBytes25(bytes25 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes25)\", p0));\n }\n\n function logBytes26(bytes26 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes26)\", p0));\n }\n\n function logBytes27(bytes27 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes27)\", p0));\n }\n\n function logBytes28(bytes28 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes28)\", p0));\n }\n\n function logBytes29(bytes29 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes29)\", p0));\n }\n\n function logBytes30(bytes30 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes30)\", p0));\n }\n\n function logBytes31(bytes31 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes31)\", p0));\n }\n\n function logBytes32(bytes32 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes32)\", p0));\n }\n\n function log(uint256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256)\", p0));\n }\n\n function log(int256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(int256)\", p0));\n }\n\n function log(string memory p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function log(bool p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function log(address p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function log(uint256 p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256)\", p0, p1));\n }\n\n function log(uint256 p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string)\", p0, p1));\n }\n\n function log(uint256 p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool)\", p0, p1));\n }\n\n function log(uint256 p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address)\", p0, p1));\n }\n\n function log(string memory p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256)\", p0, p1));\n }\n\n function log(string memory p0, int256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,int256)\", p0, p1));\n }\n\n function log(string memory p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string)\", p0, p1));\n }\n\n function log(string memory p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool)\", p0, p1));\n }\n\n function log(string memory p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address)\", p0, p1));\n }\n\n function log(bool p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256)\", p0, p1));\n }\n\n function log(bool p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string)\", p0, p1));\n }\n\n function log(bool p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool)\", p0, p1));\n }\n\n function log(bool p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address)\", p0, p1));\n }\n\n function log(address p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256)\", p0, p1));\n }\n\n function log(address p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string)\", p0, p1));\n }\n\n function log(address p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool)\", p0, p1));\n }\n\n function log(address p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address)\", p0, p1));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,address)\", p0, p1, p2, p3));\n }\n}\n"},"lib/forge-std/src/console2.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\n\nimport {console as console2} from \"./console.sol\";\n"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\ninterface IMulticall3 {\n struct Call {\n address target;\n bytes callData;\n }\n\n struct Call3 {\n address target;\n bool allowFailure;\n bytes callData;\n }\n\n struct Call3Value {\n address target;\n bool allowFailure;\n uint256 value;\n bytes callData;\n }\n\n struct Result {\n bool success;\n bytes returnData;\n }\n\n function aggregate(Call[] calldata calls)\n external\n payable\n returns (uint256 blockNumber, bytes[] memory returnData);\n\n function aggregate3(Call3[] calldata calls) external payable returns (Result[] memory returnData);\n\n function aggregate3Value(Call3Value[] calldata calls) external payable returns (Result[] memory returnData);\n\n function blockAndAggregate(Call[] calldata calls)\n external\n payable\n returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);\n\n function getBasefee() external view returns (uint256 basefee);\n\n function getBlockHash(uint256 blockNumber) external view returns (bytes32 blockHash);\n\n function getBlockNumber() external view returns (uint256 blockNumber);\n\n function getChainId() external view returns (uint256 chainid);\n\n function getCurrentBlockCoinbase() external view returns (address coinbase);\n\n function getCurrentBlockDifficulty() external view returns (uint256 difficulty);\n\n function getCurrentBlockGasLimit() external view returns (uint256 gaslimit);\n\n function getCurrentBlockTimestamp() external view returns (uint256 timestamp);\n\n function getEthBalance(address addr) external view returns (uint256 balance);\n\n function getLastBlockHash() external view returns (bytes32 blockHash);\n\n function tryAggregate(bool requireSuccess, Call[] calldata calls)\n external\n payable\n returns (Result[] memory returnData);\n\n function tryBlockAndAggregate(bool requireSuccess, Call[] calldata calls)\n external\n payable\n returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);\n}\n"},"lib/forge-std/src/safeconsole.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\n/// @author philogy \n/// @dev Code generated automatically by script.\nlibrary safeconsole {\n uint256 constant CONSOLE_ADDR = 0x000000000000000000000000000000000000000000636F6e736F6c652e6c6f67;\n\n // Credit to [0age](https://twitter.com/z0age/status/1654922202930888704) and [0xdapper](https://github.com/foundry-rs/forge-std/pull/374)\n // for the view-to-pure log trick.\n function _sendLogPayload(uint256 offset, uint256 size) private pure {\n function(uint256, uint256) internal view fnIn = _sendLogPayloadView;\n function(uint256, uint256) internal pure pureSendLogPayload;\n /// @solidity memory-safe-assembly\n assembly {\n pureSendLogPayload := fnIn\n }\n pureSendLogPayload(offset, size);\n }\n\n function _sendLogPayloadView(uint256 offset, uint256 size) private view {\n /// @solidity memory-safe-assembly\n assembly {\n pop(staticcall(gas(), CONSOLE_ADDR, offset, size, 0x0, 0x0))\n }\n }\n\n function _memcopy(uint256 fromOffset, uint256 toOffset, uint256 length) private pure {\n function(uint256, uint256, uint256) internal view fnIn = _memcopyView;\n function(uint256, uint256, uint256) internal pure pureMemcopy;\n /// @solidity memory-safe-assembly\n assembly {\n pureMemcopy := fnIn\n }\n pureMemcopy(fromOffset, toOffset, length);\n }\n\n function _memcopyView(uint256 fromOffset, uint256 toOffset, uint256 length) private view {\n /// @solidity memory-safe-assembly\n assembly {\n pop(staticcall(gas(), 0x4, fromOffset, length, toOffset, length))\n }\n }\n\n function logMemory(uint256 offset, uint256 length) internal pure {\n if (offset >= 0x60) {\n // Sufficient memory before slice to prepare call header.\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(sub(offset, 0x60))\n m1 := mload(sub(offset, 0x40))\n m2 := mload(sub(offset, 0x20))\n // Selector of `log(bytes)`.\n mstore(sub(offset, 0x60), 0x0be77f56)\n mstore(sub(offset, 0x40), 0x20)\n mstore(sub(offset, 0x20), length)\n }\n _sendLogPayload(offset - 0x44, length + 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(sub(offset, 0x60), m0)\n mstore(sub(offset, 0x40), m1)\n mstore(sub(offset, 0x20), m2)\n }\n } else {\n // Insufficient space, so copy slice forward, add header and reverse.\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n uint256 endOffset = offset + length;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(add(endOffset, 0x00))\n m1 := mload(add(endOffset, 0x20))\n m2 := mload(add(endOffset, 0x40))\n }\n _memcopy(offset, offset + 0x60, length);\n /// @solidity memory-safe-assembly\n assembly {\n // Selector of `log(bytes)`.\n mstore(add(offset, 0x00), 0x0be77f56)\n mstore(add(offset, 0x20), 0x20)\n mstore(add(offset, 0x40), length)\n }\n _sendLogPayload(offset + 0x1c, length + 0x44);\n _memcopy(offset + 0x60, offset, length);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(add(endOffset, 0x00), m0)\n mstore(add(endOffset, 0x20), m1)\n mstore(add(endOffset, 0x40), m2)\n }\n }\n }\n\n function log(address p0) internal pure {\n bytes32 m0;\n bytes32 m1;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n // Selector of `log(address)`.\n mstore(0x00, 0x2c2ecbc2)\n mstore(0x20, p0)\n }\n _sendLogPayload(0x1c, 0x24);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n }\n }\n\n function log(bool p0) internal pure {\n bytes32 m0;\n bytes32 m1;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n // Selector of `log(bool)`.\n mstore(0x00, 0x32458eed)\n mstore(0x20, p0)\n }\n _sendLogPayload(0x1c, 0x24);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n }\n }\n\n function log(uint256 p0) internal pure {\n bytes32 m0;\n bytes32 m1;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n // Selector of `log(uint256)`.\n mstore(0x00, 0xf82c50f1)\n mstore(0x20, p0)\n }\n _sendLogPayload(0x1c, 0x24);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n }\n }\n\n function log(bytes32 p0) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(string)`.\n mstore(0x00, 0x41304fac)\n mstore(0x20, 0x20)\n writeString(0x40, p0)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, address p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(address,address)`.\n mstore(0x00, 0xdaf0d4aa)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(address p0, bool p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(address,bool)`.\n mstore(0x00, 0x75b605d3)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(address p0, uint256 p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(address,uint256)`.\n mstore(0x00, 0x8309e8a8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(address p0, bytes32 p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,string)`.\n mstore(0x00, 0x759f86bb)\n mstore(0x20, p0)\n mstore(0x40, 0x40)\n writeString(0x60, p1)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(bool,address)`.\n mstore(0x00, 0x853c4849)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(bool p0, bool p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(bool,bool)`.\n mstore(0x00, 0x2a110e83)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(bool p0, uint256 p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(bool,uint256)`.\n mstore(0x00, 0x399174d3)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(bool p0, bytes32 p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,string)`.\n mstore(0x00, 0x8feac525)\n mstore(0x20, p0)\n mstore(0x40, 0x40)\n writeString(0x60, p1)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(uint256,address)`.\n mstore(0x00, 0x69276c86)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(uint256 p0, bool p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(uint256,bool)`.\n mstore(0x00, 0x1c9d7eb3)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(uint256 p0, uint256 p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(uint256,uint256)`.\n mstore(0x00, 0xf666715a)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(uint256 p0, bytes32 p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,string)`.\n mstore(0x00, 0x643fd0df)\n mstore(0x20, p0)\n mstore(0x40, 0x40)\n writeString(0x60, p1)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bytes32 p0, address p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(string,address)`.\n mstore(0x00, 0x319af333)\n mstore(0x20, 0x40)\n mstore(0x40, p1)\n writeString(0x60, p0)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bytes32 p0, bool p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(string,bool)`.\n mstore(0x00, 0xc3b55635)\n mstore(0x20, 0x40)\n mstore(0x40, p1)\n writeString(0x60, p0)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bytes32 p0, uint256 p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(string,uint256)`.\n mstore(0x00, 0xb60e72cc)\n mstore(0x20, 0x40)\n mstore(0x40, p1)\n writeString(0x60, p0)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bytes32 p0, bytes32 p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,string)`.\n mstore(0x00, 0x4b5c4277)\n mstore(0x20, 0x40)\n mstore(0x40, 0x80)\n writeString(0x60, p0)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, address p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,address,address)`.\n mstore(0x00, 0x018c84c2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, address p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,address,bool)`.\n mstore(0x00, 0xf2a66286)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, address p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,address,uint256)`.\n mstore(0x00, 0x17fe6185)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, address p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(address,address,string)`.\n mstore(0x00, 0x007150be)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(address p0, bool p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,bool,address)`.\n mstore(0x00, 0xf11699ed)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, bool p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,bool,bool)`.\n mstore(0x00, 0xeb830c92)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, bool p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,bool,uint256)`.\n mstore(0x00, 0x9c4f99fb)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, bool p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(address,bool,string)`.\n mstore(0x00, 0x212255cc)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(address p0, uint256 p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,uint256,address)`.\n mstore(0x00, 0x7bc0d848)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, uint256 p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,uint256,bool)`.\n mstore(0x00, 0x678209a8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, uint256 p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,uint256,uint256)`.\n mstore(0x00, 0xb69bcaf6)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, uint256 p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(address,uint256,string)`.\n mstore(0x00, 0xa1f2e8aa)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(address p0, bytes32 p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(address,string,address)`.\n mstore(0x00, 0xf08744e8)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(address p0, bytes32 p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(address,string,bool)`.\n mstore(0x00, 0xcf020fb1)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(address p0, bytes32 p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(address,string,uint256)`.\n mstore(0x00, 0x67dd6ff1)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(address p0, bytes32 p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(address,string,string)`.\n mstore(0x00, 0xfb772265)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, 0xa0)\n writeString(0x80, p1)\n writeString(0xc0, p2)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(bool p0, address p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,address,address)`.\n mstore(0x00, 0xd2763667)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, address p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,address,bool)`.\n mstore(0x00, 0x18c9c746)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, address p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,address,uint256)`.\n mstore(0x00, 0x5f7b9afb)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, address p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(bool,address,string)`.\n mstore(0x00, 0xde9a9270)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bool p0, bool p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,bool,address)`.\n mstore(0x00, 0x1078f68d)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, bool p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,bool,bool)`.\n mstore(0x00, 0x50709698)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, bool p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,bool,uint256)`.\n mstore(0x00, 0x12f21602)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, bool p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(bool,bool,string)`.\n mstore(0x00, 0x2555fa46)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bool p0, uint256 p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,uint256,address)`.\n mstore(0x00, 0x088ef9d2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, uint256 p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,uint256,bool)`.\n mstore(0x00, 0xe8defba9)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, uint256 p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,uint256,uint256)`.\n mstore(0x00, 0x37103367)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, uint256 p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(bool,uint256,string)`.\n mstore(0x00, 0xc3fc3970)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bool p0, bytes32 p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(bool,string,address)`.\n mstore(0x00, 0x9591b953)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bool p0, bytes32 p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(bool,string,bool)`.\n mstore(0x00, 0xdbb4c247)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bool p0, bytes32 p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(bool,string,uint256)`.\n mstore(0x00, 0x1093ee11)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bool p0, bytes32 p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(bool,string,string)`.\n mstore(0x00, 0xb076847f)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, 0xa0)\n writeString(0x80, p1)\n writeString(0xc0, p2)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(uint256 p0, address p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,address,address)`.\n mstore(0x00, 0xbcfd9be0)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, address p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,address,bool)`.\n mstore(0x00, 0x9b6ec042)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, address p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,address,uint256)`.\n mstore(0x00, 0x5a9b5ed5)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, address p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(uint256,address,string)`.\n mstore(0x00, 0x63cb41f9)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(uint256 p0, bool p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,bool,address)`.\n mstore(0x00, 0x35085f7b)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, bool p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,bool,bool)`.\n mstore(0x00, 0x20718650)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, bool p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,bool,uint256)`.\n mstore(0x00, 0x20098014)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, bool p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(uint256,bool,string)`.\n mstore(0x00, 0x85775021)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(uint256 p0, uint256 p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,uint256,address)`.\n mstore(0x00, 0x5c96b331)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, uint256 p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,uint256,bool)`.\n mstore(0x00, 0x4766da72)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,uint256,uint256)`.\n mstore(0x00, 0xd1ed7a3c)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, uint256 p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(uint256,uint256,string)`.\n mstore(0x00, 0x71d04af2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(uint256 p0, bytes32 p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(uint256,string,address)`.\n mstore(0x00, 0x7afac959)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(uint256,string,bool)`.\n mstore(0x00, 0x4ceda75a)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(uint256 p0, bytes32 p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(uint256,string,uint256)`.\n mstore(0x00, 0x37aa7d4c)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(uint256,string,string)`.\n mstore(0x00, 0xb115611f)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, 0xa0)\n writeString(0x80, p1)\n writeString(0xc0, p2)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(bytes32 p0, address p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,address,address)`.\n mstore(0x00, 0xfcec75e0)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, address p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,address,bool)`.\n mstore(0x00, 0xc91d5ed4)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, address p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,address,uint256)`.\n mstore(0x00, 0x0d26b925)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, address p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(string,address,string)`.\n mstore(0x00, 0xe0e9ad4f)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, 0xa0)\n writeString(0x80, p0)\n writeString(0xc0, p2)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(bytes32 p0, bool p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,bool,address)`.\n mstore(0x00, 0x932bbb38)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, bool p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,bool,bool)`.\n mstore(0x00, 0x850b7ad6)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, bool p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,bool,uint256)`.\n mstore(0x00, 0xc95958d6)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, bool p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(string,bool,string)`.\n mstore(0x00, 0xe298f47d)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, 0xa0)\n writeString(0x80, p0)\n writeString(0xc0, p2)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(bytes32 p0, uint256 p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,uint256,address)`.\n mstore(0x00, 0x1c7ec448)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,uint256,bool)`.\n mstore(0x00, 0xca7733b1)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, uint256 p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,uint256,uint256)`.\n mstore(0x00, 0xca47c4eb)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(string,uint256,string)`.\n mstore(0x00, 0x5970e089)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, 0xa0)\n writeString(0x80, p0)\n writeString(0xc0, p2)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(string,string,address)`.\n mstore(0x00, 0x95ed0195)\n mstore(0x20, 0x60)\n mstore(0x40, 0xa0)\n mstore(0x60, p2)\n writeString(0x80, p0)\n writeString(0xc0, p1)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(string,string,bool)`.\n mstore(0x00, 0xb0e0f9b5)\n mstore(0x20, 0x60)\n mstore(0x40, 0xa0)\n mstore(0x60, p2)\n writeString(0x80, p0)\n writeString(0xc0, p1)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(string,string,uint256)`.\n mstore(0x00, 0x5821efa1)\n mstore(0x20, 0x60)\n mstore(0x40, 0xa0)\n mstore(0x60, p2)\n writeString(0x80, p0)\n writeString(0xc0, p1)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n // Selector of `log(string,string,string)`.\n mstore(0x00, 0x2ced7cef)\n mstore(0x20, 0x60)\n mstore(0x40, 0xa0)\n mstore(0x60, 0xe0)\n writeString(0x80, p0)\n writeString(0xc0, p1)\n writeString(0x100, p2)\n }\n _sendLogPayload(0x1c, 0x124);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n }\n }\n\n function log(address p0, address p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,address,address)`.\n mstore(0x00, 0x665bf134)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,address,bool)`.\n mstore(0x00, 0x0e378994)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,address,uint256)`.\n mstore(0x00, 0x94250d77)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,address,address,string)`.\n mstore(0x00, 0xf808da20)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, address p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,bool,address)`.\n mstore(0x00, 0x9f1bc36e)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,bool,bool)`.\n mstore(0x00, 0x2cd4134a)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,bool,uint256)`.\n mstore(0x00, 0x3971e78c)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,address,bool,string)`.\n mstore(0x00, 0xaa6540c8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, address p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,uint256,address)`.\n mstore(0x00, 0x8da6def5)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,uint256,bool)`.\n mstore(0x00, 0x9b4254e2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,uint256,uint256)`.\n mstore(0x00, 0xbe553481)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,address,uint256,string)`.\n mstore(0x00, 0xfdb4f990)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, address p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,address,string,address)`.\n mstore(0x00, 0x8f736d16)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, address p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,address,string,bool)`.\n mstore(0x00, 0x6f1a594e)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, address p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,address,string,uint256)`.\n mstore(0x00, 0xef1cefe7)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, address p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,address,string,string)`.\n mstore(0x00, 0x21bdaf25)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, bool p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,address,address)`.\n mstore(0x00, 0x660375dd)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,address,bool)`.\n mstore(0x00, 0xa6f50b0f)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,address,uint256)`.\n mstore(0x00, 0xa75c59de)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,bool,address,string)`.\n mstore(0x00, 0x2dd778e6)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bool p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,bool,address)`.\n mstore(0x00, 0xcf394485)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,bool,bool)`.\n mstore(0x00, 0xcac43479)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,bool,uint256)`.\n mstore(0x00, 0x8c4e5de6)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,bool,bool,string)`.\n mstore(0x00, 0xdfc4a2e8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bool p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,uint256,address)`.\n mstore(0x00, 0xccf790a1)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,uint256,bool)`.\n mstore(0x00, 0xc4643e20)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,uint256,uint256)`.\n mstore(0x00, 0x386ff5f4)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,bool,uint256,string)`.\n mstore(0x00, 0x0aa6cfad)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bool p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,bool,string,address)`.\n mstore(0x00, 0x19fd4956)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bool p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,bool,string,bool)`.\n mstore(0x00, 0x50ad461d)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bool p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,bool,string,uint256)`.\n mstore(0x00, 0x80e6a20b)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bool p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,bool,string,string)`.\n mstore(0x00, 0x475c5c33)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, uint256 p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,address,address)`.\n mstore(0x00, 0x478d1c62)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,address,bool)`.\n mstore(0x00, 0xa1bcc9b3)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,address,uint256)`.\n mstore(0x00, 0x100f650e)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,uint256,address,string)`.\n mstore(0x00, 0x1da986ea)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, uint256 p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,bool,address)`.\n mstore(0x00, 0xa31bfdcc)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,bool,bool)`.\n mstore(0x00, 0x3bf5e537)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,bool,uint256)`.\n mstore(0x00, 0x22f6b999)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,uint256,bool,string)`.\n mstore(0x00, 0xc5ad85f9)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, uint256 p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,uint256,address)`.\n mstore(0x00, 0x20e3984d)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,uint256,bool)`.\n mstore(0x00, 0x66f1bc67)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,uint256,uint256)`.\n mstore(0x00, 0x34f0e636)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,uint256,uint256,string)`.\n mstore(0x00, 0x4a28c017)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, uint256 p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,uint256,string,address)`.\n mstore(0x00, 0x5c430d47)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, uint256 p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,uint256,string,bool)`.\n mstore(0x00, 0xcf18105c)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, uint256 p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,uint256,string,uint256)`.\n mstore(0x00, 0xbf01f891)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, uint256 p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,uint256,string,string)`.\n mstore(0x00, 0x88a8c406)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, bytes32 p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,address,address)`.\n mstore(0x00, 0x0d36fa20)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,address,bool)`.\n mstore(0x00, 0x0df12b76)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,address,uint256)`.\n mstore(0x00, 0x457fe3cf)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,string,address,string)`.\n mstore(0x00, 0xf7e36245)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, bytes32 p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,bool,address)`.\n mstore(0x00, 0x205871c2)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,bool,bool)`.\n mstore(0x00, 0x5f1d5c9f)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,bool,uint256)`.\n mstore(0x00, 0x515e38b6)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,string,bool,string)`.\n mstore(0x00, 0xbc0b61fe)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, bytes32 p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,uint256,address)`.\n mstore(0x00, 0x63183678)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,uint256,bool)`.\n mstore(0x00, 0x0ef7e050)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,uint256,uint256)`.\n mstore(0x00, 0x1dc8e1b8)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,string,uint256,string)`.\n mstore(0x00, 0x448830a8)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, bytes32 p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,string,string,address)`.\n mstore(0x00, 0xa04e2f87)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, bytes32 p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,string,string,bool)`.\n mstore(0x00, 0x35a5071f)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, bytes32 p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,string,string,uint256)`.\n mstore(0x00, 0x159f8927)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, bytes32 p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(address,string,string,string)`.\n mstore(0x00, 0x5d02c50b)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, 0x100)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bool p0, address p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,address,address)`.\n mstore(0x00, 0x1d14d001)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,address,bool)`.\n mstore(0x00, 0x46600be0)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,address,uint256)`.\n mstore(0x00, 0x0c66d1be)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,address,address,string)`.\n mstore(0x00, 0xd812a167)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, address p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,bool,address)`.\n mstore(0x00, 0x1c41a336)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,bool,bool)`.\n mstore(0x00, 0x6a9c478b)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,bool,uint256)`.\n mstore(0x00, 0x07831502)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,address,bool,string)`.\n mstore(0x00, 0x4a66cb34)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, address p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,uint256,address)`.\n mstore(0x00, 0x136b05dd)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,uint256,bool)`.\n mstore(0x00, 0xd6019f1c)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,uint256,uint256)`.\n mstore(0x00, 0x7bf181a1)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,address,uint256,string)`.\n mstore(0x00, 0x51f09ff8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, address p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,address,string,address)`.\n mstore(0x00, 0x6f7c603e)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, address p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,address,string,bool)`.\n mstore(0x00, 0xe2bfd60b)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, address p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,address,string,uint256)`.\n mstore(0x00, 0xc21f64c7)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, address p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,address,string,string)`.\n mstore(0x00, 0xa73c1db6)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, bool p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,address,address)`.\n mstore(0x00, 0xf4880ea4)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,address,bool)`.\n mstore(0x00, 0xc0a302d8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,address,uint256)`.\n mstore(0x00, 0x4c123d57)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,bool,address,string)`.\n mstore(0x00, 0xa0a47963)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bool p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,bool,address)`.\n mstore(0x00, 0x8c329b1a)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,bool,bool)`.\n mstore(0x00, 0x3b2a5ce0)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,bool,uint256)`.\n mstore(0x00, 0x6d7045c1)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,bool,bool,string)`.\n mstore(0x00, 0x2ae408d4)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bool p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,uint256,address)`.\n mstore(0x00, 0x54a7a9a0)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,uint256,bool)`.\n mstore(0x00, 0x619e4d0e)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,uint256,uint256)`.\n mstore(0x00, 0x0bb00eab)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,bool,uint256,string)`.\n mstore(0x00, 0x7dd4d0e0)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bool p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,bool,string,address)`.\n mstore(0x00, 0xf9ad2b89)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bool p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,bool,string,bool)`.\n mstore(0x00, 0xb857163a)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bool p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,bool,string,uint256)`.\n mstore(0x00, 0xe3a9ca2f)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bool p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,bool,string,string)`.\n mstore(0x00, 0x6d1e8751)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, uint256 p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,address,address)`.\n mstore(0x00, 0x26f560a8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,address,bool)`.\n mstore(0x00, 0xb4c314ff)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,address,uint256)`.\n mstore(0x00, 0x1537dc87)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,uint256,address,string)`.\n mstore(0x00, 0x1bb3b09a)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, uint256 p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,bool,address)`.\n mstore(0x00, 0x9acd3616)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,bool,bool)`.\n mstore(0x00, 0xceb5f4d7)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,bool,uint256)`.\n mstore(0x00, 0x7f9bbca2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,uint256,bool,string)`.\n mstore(0x00, 0x9143dbb1)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, uint256 p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,uint256,address)`.\n mstore(0x00, 0x00dd87b9)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,uint256,bool)`.\n mstore(0x00, 0xbe984353)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,uint256,uint256)`.\n mstore(0x00, 0x374bb4b2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,uint256,uint256,string)`.\n mstore(0x00, 0x8e69fb5d)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, uint256 p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,uint256,string,address)`.\n mstore(0x00, 0xfedd1fff)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, uint256 p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,uint256,string,bool)`.\n mstore(0x00, 0xe5e70b2b)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, uint256 p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,uint256,string,uint256)`.\n mstore(0x00, 0x6a1199e2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, uint256 p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,uint256,string,string)`.\n mstore(0x00, 0xf5bc2249)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, bytes32 p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,address,address)`.\n mstore(0x00, 0x2b2b18dc)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,address,bool)`.\n mstore(0x00, 0x6dd434ca)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,address,uint256)`.\n mstore(0x00, 0xa5cada94)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,string,address,string)`.\n mstore(0x00, 0x12d6c788)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, bytes32 p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,bool,address)`.\n mstore(0x00, 0x538e06ab)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,bool,bool)`.\n mstore(0x00, 0xdc5e935b)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,bool,uint256)`.\n mstore(0x00, 0x1606a393)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,string,bool,string)`.\n mstore(0x00, 0x483d0416)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, bytes32 p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,uint256,address)`.\n mstore(0x00, 0x1596a1ce)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,uint256,bool)`.\n mstore(0x00, 0x6b0e5d53)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,uint256,uint256)`.\n mstore(0x00, 0x28863fcb)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,string,uint256,string)`.\n mstore(0x00, 0x1ad96de6)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, bytes32 p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,string,string,address)`.\n mstore(0x00, 0x97d394d8)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, bytes32 p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,string,string,bool)`.\n mstore(0x00, 0x1e4b87e5)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, bytes32 p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,string,string,uint256)`.\n mstore(0x00, 0x7be0c3eb)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, bytes32 p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(bool,string,string,string)`.\n mstore(0x00, 0x1762e32a)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, 0x100)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(uint256 p0, address p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,address,address)`.\n mstore(0x00, 0x2488b414)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,address,bool)`.\n mstore(0x00, 0x091ffaf5)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,address,uint256)`.\n mstore(0x00, 0x736efbb6)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,address,address,string)`.\n mstore(0x00, 0x031c6f73)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, address p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,bool,address)`.\n mstore(0x00, 0xef72c513)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,bool,bool)`.\n mstore(0x00, 0xe351140f)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,bool,uint256)`.\n mstore(0x00, 0x5abd992a)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,address,bool,string)`.\n mstore(0x00, 0x90fb06aa)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, address p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,uint256,address)`.\n mstore(0x00, 0x15c127b5)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,uint256,bool)`.\n mstore(0x00, 0x5f743a7c)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,uint256,uint256)`.\n mstore(0x00, 0x0c9cd9c1)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,address,uint256,string)`.\n mstore(0x00, 0xddb06521)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, address p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,address,string,address)`.\n mstore(0x00, 0x9cba8fff)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, address p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,address,string,bool)`.\n mstore(0x00, 0xcc32ab07)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, address p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,address,string,uint256)`.\n mstore(0x00, 0x46826b5d)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, address p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,address,string,string)`.\n mstore(0x00, 0x3e128ca3)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, bool p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,address,address)`.\n mstore(0x00, 0xa1ef4cbb)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,address,bool)`.\n mstore(0x00, 0x454d54a5)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,address,uint256)`.\n mstore(0x00, 0x078287f5)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,bool,address,string)`.\n mstore(0x00, 0xade052c7)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bool p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,bool,address)`.\n mstore(0x00, 0x69640b59)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,bool,bool)`.\n mstore(0x00, 0xb6f577a1)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,bool,uint256)`.\n mstore(0x00, 0x7464ce23)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,bool,bool,string)`.\n mstore(0x00, 0xdddb9561)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bool p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,uint256,address)`.\n mstore(0x00, 0x88cb6041)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,uint256,bool)`.\n mstore(0x00, 0x91a02e2a)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,uint256,uint256)`.\n mstore(0x00, 0xc6acc7a8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,bool,uint256,string)`.\n mstore(0x00, 0xde03e774)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bool p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,bool,string,address)`.\n mstore(0x00, 0xef529018)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bool p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,bool,string,bool)`.\n mstore(0x00, 0xeb928d7f)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bool p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,bool,string,uint256)`.\n mstore(0x00, 0x2c1d0746)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bool p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,bool,string,string)`.\n mstore(0x00, 0x68c8b8bd)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, uint256 p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,address,address)`.\n mstore(0x00, 0x56a5d1b1)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,address,bool)`.\n mstore(0x00, 0x15cac476)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,address,uint256)`.\n mstore(0x00, 0x88f6e4b2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,uint256,address,string)`.\n mstore(0x00, 0x6cde40b8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, uint256 p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,bool,address)`.\n mstore(0x00, 0x9a816a83)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,bool,bool)`.\n mstore(0x00, 0xab085ae6)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,bool,uint256)`.\n mstore(0x00, 0xeb7f6fd2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,uint256,bool,string)`.\n mstore(0x00, 0xa5b4fc99)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,uint256,address)`.\n mstore(0x00, 0xfa8185af)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,uint256,bool)`.\n mstore(0x00, 0xc598d185)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,uint256,uint256)`.\n mstore(0x00, 0x193fb800)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,uint256,uint256,string)`.\n mstore(0x00, 0x59cfcbe3)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, uint256 p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,uint256,string,address)`.\n mstore(0x00, 0x42d21db7)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, uint256 p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,uint256,string,bool)`.\n mstore(0x00, 0x7af6ab25)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, uint256 p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,uint256,string,uint256)`.\n mstore(0x00, 0x5da297eb)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, uint256 p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,uint256,string,string)`.\n mstore(0x00, 0x27d8afd2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, bytes32 p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,address,address)`.\n mstore(0x00, 0x6168ed61)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,address,bool)`.\n mstore(0x00, 0x90c30a56)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,address,uint256)`.\n mstore(0x00, 0xe8d3018d)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,string,address,string)`.\n mstore(0x00, 0x9c3adfa1)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,bool,address)`.\n mstore(0x00, 0xae2ec581)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,bool,bool)`.\n mstore(0x00, 0xba535d9c)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,bool,uint256)`.\n mstore(0x00, 0xcf009880)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,string,bool,string)`.\n mstore(0x00, 0xd2d423cd)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, bytes32 p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,uint256,address)`.\n mstore(0x00, 0x3b2279b4)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,uint256,bool)`.\n mstore(0x00, 0x691a8f74)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,uint256,uint256)`.\n mstore(0x00, 0x82c25b74)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,string,uint256,string)`.\n mstore(0x00, 0xb7b914ca)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,string,string,address)`.\n mstore(0x00, 0xd583c602)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,string,string,bool)`.\n mstore(0x00, 0xb3a6b6bd)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,string,string,uint256)`.\n mstore(0x00, 0xb028c9bd)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(uint256,string,string,string)`.\n mstore(0x00, 0x21ad0683)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, 0x100)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, address p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,address,address)`.\n mstore(0x00, 0xed8f28f6)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,address,bool)`.\n mstore(0x00, 0xb59dbd60)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,address,uint256)`.\n mstore(0x00, 0x8ef3f399)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,address,address,string)`.\n mstore(0x00, 0x800a1c67)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, address p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,bool,address)`.\n mstore(0x00, 0x223603bd)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,bool,bool)`.\n mstore(0x00, 0x79884c2b)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,bool,uint256)`.\n mstore(0x00, 0x3e9f866a)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,address,bool,string)`.\n mstore(0x00, 0x0454c079)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, address p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,uint256,address)`.\n mstore(0x00, 0x63fb8bc5)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,uint256,bool)`.\n mstore(0x00, 0xfc4845f0)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,uint256,uint256)`.\n mstore(0x00, 0xf8f51b1e)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,address,uint256,string)`.\n mstore(0x00, 0x5a477632)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, address p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,address,string,address)`.\n mstore(0x00, 0xaabc9a31)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, address p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,address,string,bool)`.\n mstore(0x00, 0x5f15d28c)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, address p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,address,string,uint256)`.\n mstore(0x00, 0x91d1112e)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, address p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,address,string,string)`.\n mstore(0x00, 0x245986f2)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, 0x100)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, bool p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,address,address)`.\n mstore(0x00, 0x33e9dd1d)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,address,bool)`.\n mstore(0x00, 0x958c28c6)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,address,uint256)`.\n mstore(0x00, 0x5d08bb05)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,bool,address,string)`.\n mstore(0x00, 0x2d8e33a4)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bool p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,bool,address)`.\n mstore(0x00, 0x7190a529)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,bool,bool)`.\n mstore(0x00, 0x895af8c5)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,bool,uint256)`.\n mstore(0x00, 0x8e3f78a9)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,bool,bool,string)`.\n mstore(0x00, 0x9d22d5dd)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bool p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,uint256,address)`.\n mstore(0x00, 0x935e09bf)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,uint256,bool)`.\n mstore(0x00, 0x8af7cf8a)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,uint256,uint256)`.\n mstore(0x00, 0x64b5bb67)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,bool,uint256,string)`.\n mstore(0x00, 0x742d6ee7)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bool p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,bool,string,address)`.\n mstore(0x00, 0xe0625b29)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bool p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,bool,string,bool)`.\n mstore(0x00, 0x3f8a701d)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bool p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,bool,string,uint256)`.\n mstore(0x00, 0x24f91465)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bool p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,bool,string,string)`.\n mstore(0x00, 0xa826caeb)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, 0x100)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, uint256 p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,address,address)`.\n mstore(0x00, 0x5ea2b7ae)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,address,bool)`.\n mstore(0x00, 0x82112a42)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,address,uint256)`.\n mstore(0x00, 0x4f04fdc6)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,uint256,address,string)`.\n mstore(0x00, 0x9ffb2f93)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,bool,address)`.\n mstore(0x00, 0xe0e95b98)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,bool,bool)`.\n mstore(0x00, 0x354c36d6)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,bool,uint256)`.\n mstore(0x00, 0xe41b6f6f)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,uint256,bool,string)`.\n mstore(0x00, 0xabf73a98)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, uint256 p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,uint256,address)`.\n mstore(0x00, 0xe21de278)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,uint256,bool)`.\n mstore(0x00, 0x7626db92)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,uint256,uint256)`.\n mstore(0x00, 0xa7a87853)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,uint256,uint256,string)`.\n mstore(0x00, 0x854b3496)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,uint256,string,address)`.\n mstore(0x00, 0x7c4632a4)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,uint256,string,bool)`.\n mstore(0x00, 0x7d24491d)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,uint256,string,uint256)`.\n mstore(0x00, 0xc67ea9d1)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,uint256,string,string)`.\n mstore(0x00, 0x5ab84e1f)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, 0x100)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,address,address)`.\n mstore(0x00, 0x439c7bef)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,address,bool)`.\n mstore(0x00, 0x5ccd4e37)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,address,uint256)`.\n mstore(0x00, 0x7cc3c607)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,string,address,string)`.\n mstore(0x00, 0xeb1bff80)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, 0x100)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,bool,address)`.\n mstore(0x00, 0xc371c7db)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,bool,bool)`.\n mstore(0x00, 0x40785869)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,bool,uint256)`.\n mstore(0x00, 0xd6aefad2)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,string,bool,string)`.\n mstore(0x00, 0x5e84b0ea)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, 0x100)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,uint256,address)`.\n mstore(0x00, 0x1023f7b2)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,uint256,bool)`.\n mstore(0x00, 0xc3a8a654)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,uint256,uint256)`.\n mstore(0x00, 0xf45d7d2c)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,string,uint256,string)`.\n mstore(0x00, 0x5d1a971a)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, 0x100)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,string,string,address)`.\n mstore(0x00, 0x6d572f44)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, 0x100)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n writeString(0x120, p2)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,string,string,bool)`.\n mstore(0x00, 0x2c1754ed)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, 0x100)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n writeString(0x120, p2)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,string,string,uint256)`.\n mstore(0x00, 0x8eafb02b)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, 0x100)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n writeString(0x120, p2)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n bytes32 m11;\n bytes32 m12;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n m11 := mload(0x160)\n m12 := mload(0x180)\n // Selector of `log(string,string,string,string)`.\n mstore(0x00, 0xde68f20a)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, 0x100)\n mstore(0x80, 0x140)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n writeString(0x120, p2)\n writeString(0x160, p3)\n }\n _sendLogPayload(0x1c, 0x184);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n mstore(0x160, m11)\n mstore(0x180, m12)\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (access/IAccessControl.sol)\n\npragma solidity >=0.8.4;\n\n/**\n * @dev External interface of AccessControl declared to support ERC-165 detection.\n */\ninterface IAccessControl {\n /**\n * @dev The `account` is missing a role.\n */\n error AccessControlUnauthorizedAccount(address account, bytes32 neededRole);\n\n /**\n * @dev The caller of a function is not the expected one.\n *\n * NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\n */\n error AccessControlBadConfirmation();\n\n /**\n * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n *\n * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n * {RoleAdminChanged} not being emitted to signal this.\n */\n event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n\n /**\n * @dev Emitted when `account` is granted `role`.\n *\n * `sender` is the account that originated the contract call. This account bears the admin role (for the granted role).\n * Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\n */\n event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Emitted when `account` is revoked `role`.\n *\n * `sender` is the account that originated the contract call:\n * - if using `revokeRole`, it is the admin role bearer\n * - if using `renounceRole`, it is the role bearer (i.e. `account`)\n */\n event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) external view returns (bool);\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {AccessControl-_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) external view returns (bytes32);\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function grantRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function revokeRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been granted `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `callerConfirmation`.\n */\n function renounceRole(bytes32 role, address callerConfirmation) external;\n}\n"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)\n\npragma solidity ^0.8.20;\n\nimport {Context} from \"../utils/Context.sol\";\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * The initial owner is set to the address provided by the deployer. This can\n * later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract Ownable is Context {\n address private _owner;\n\n /**\n * @dev The caller account is not authorized to perform an operation.\n */\n error OwnableUnauthorizedAccount(address account);\n\n /**\n * @dev The owner is not a valid owner account. (eg. `address(0)`)\n */\n error OwnableInvalidOwner(address owner);\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the address provided by the deployer as the initial owner.\n */\n constructor(address initialOwner) {\n if (initialOwner == address(0)) {\n revert OwnableInvalidOwner(address(0));\n }\n _transferOwnership(initialOwner);\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n _checkOwner();\n _;\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view virtual returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if the sender is not the owner.\n */\n function _checkOwner() internal view virtual {\n if (owner() != _msgSender()) {\n revert OwnableUnauthorizedAccount(_msgSender());\n }\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions. Can only be called by the current owner.\n *\n * NOTE: Renouncing ownership will leave the contract without an owner,\n * thereby disabling any functionality that is only available to the owner.\n */\n function renounceOwnership() public virtual onlyOwner {\n _transferOwnership(address(0));\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public virtual onlyOwner {\n if (newOwner == address(0)) {\n revert OwnableInvalidOwner(address(0));\n }\n _transferOwnership(newOwner);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Internal function without access restriction.\n */\n function _transferOwnership(address newOwner) internal virtual {\n address oldOwner = _owner;\n _owner = newOwner;\n emit OwnershipTransferred(oldOwner, newOwner);\n }\n}\n"},"lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (access/extensions/IAccessControlDefaultAdminRules.sol)\n\npragma solidity >=0.8.4;\n\nimport {IAccessControl} from \"../IAccessControl.sol\";\n\n/**\n * @dev External interface of AccessControlDefaultAdminRules declared to support ERC-165 detection.\n */\ninterface IAccessControlDefaultAdminRules is IAccessControl {\n /**\n * @dev The new default admin is not a valid default admin.\n */\n error AccessControlInvalidDefaultAdmin(address defaultAdmin);\n\n /**\n * @dev At least one of the following rules was violated:\n *\n * - The `DEFAULT_ADMIN_ROLE` must only be managed by itself.\n * - The `DEFAULT_ADMIN_ROLE` must only be held by one account at the time.\n * - Any `DEFAULT_ADMIN_ROLE` transfer must be in two delayed steps.\n */\n error AccessControlEnforcedDefaultAdminRules();\n\n /**\n * @dev The delay for transferring the default admin delay is enforced and\n * the operation must wait until `schedule`.\n *\n * NOTE: `schedule` can be 0 indicating there's no transfer scheduled.\n */\n error AccessControlEnforcedDefaultAdminDelay(uint48 schedule);\n\n /**\n * @dev Emitted when a {defaultAdmin} transfer is started, setting `newAdmin` as the next\n * address to become the {defaultAdmin} by calling {acceptDefaultAdminTransfer} only after `acceptSchedule`\n * passes.\n */\n event DefaultAdminTransferScheduled(address indexed newAdmin, uint48 acceptSchedule);\n\n /**\n * @dev Emitted when a {pendingDefaultAdmin} is reset if it was never accepted, regardless of its schedule.\n */\n event DefaultAdminTransferCanceled();\n\n /**\n * @dev Emitted when a {defaultAdminDelay} change is started, setting `newDelay` as the next\n * delay to be applied between default admin transfer after `effectSchedule` has passed.\n */\n event DefaultAdminDelayChangeScheduled(uint48 newDelay, uint48 effectSchedule);\n\n /**\n * @dev Emitted when a {pendingDefaultAdminDelay} is reset if its schedule didn't pass.\n */\n event DefaultAdminDelayChangeCanceled();\n\n /**\n * @dev Returns the address of the current `DEFAULT_ADMIN_ROLE` holder.\n */\n function defaultAdmin() external view returns (address);\n\n /**\n * @dev Returns a tuple of a `newAdmin` and an accept schedule.\n *\n * After the `schedule` passes, the `newAdmin` will be able to accept the {defaultAdmin} role\n * by calling {acceptDefaultAdminTransfer}, completing the role transfer.\n *\n * A zero value only in `acceptSchedule` indicates no pending admin transfer.\n *\n * NOTE: A zero address `newAdmin` means that {defaultAdmin} is being renounced.\n */\n function pendingDefaultAdmin() external view returns (address newAdmin, uint48 acceptSchedule);\n\n /**\n * @dev Returns the delay required to schedule the acceptance of a {defaultAdmin} transfer started.\n *\n * This delay will be added to the current timestamp when calling {beginDefaultAdminTransfer} to set\n * the acceptance schedule.\n *\n * NOTE: If a delay change has been scheduled, it will take effect as soon as the schedule passes, making this\n * function returns the new delay. See {changeDefaultAdminDelay}.\n */\n function defaultAdminDelay() external view returns (uint48);\n\n /**\n * @dev Returns a tuple of `newDelay` and an effect schedule.\n *\n * After the `schedule` passes, the `newDelay` will get into effect immediately for every\n * new {defaultAdmin} transfer started with {beginDefaultAdminTransfer}.\n *\n * A zero value only in `effectSchedule` indicates no pending delay change.\n *\n * NOTE: A zero value only for `newDelay` means that the next {defaultAdminDelay}\n * will be zero after the effect schedule.\n */\n function pendingDefaultAdminDelay() external view returns (uint48 newDelay, uint48 effectSchedule);\n\n /**\n * @dev Starts a {defaultAdmin} transfer by setting a {pendingDefaultAdmin} scheduled for acceptance\n * after the current timestamp plus a {defaultAdminDelay}.\n *\n * Requirements:\n *\n * - Only can be called by the current {defaultAdmin}.\n *\n * Emits a DefaultAdminRoleChangeStarted event.\n */\n function beginDefaultAdminTransfer(address newAdmin) external;\n\n /**\n * @dev Cancels a {defaultAdmin} transfer previously started with {beginDefaultAdminTransfer}.\n *\n * A {pendingDefaultAdmin} not yet accepted can also be cancelled with this function.\n *\n * Requirements:\n *\n * - Only can be called by the current {defaultAdmin}.\n *\n * May emit a DefaultAdminTransferCanceled event.\n */\n function cancelDefaultAdminTransfer() external;\n\n /**\n * @dev Completes a {defaultAdmin} transfer previously started with {beginDefaultAdminTransfer}.\n *\n * After calling the function:\n *\n * - `DEFAULT_ADMIN_ROLE` should be granted to the caller.\n * - `DEFAULT_ADMIN_ROLE` should be revoked from the previous holder.\n * - {pendingDefaultAdmin} should be reset to zero values.\n *\n * Requirements:\n *\n * - Only can be called by the {pendingDefaultAdmin}'s `newAdmin`.\n * - The {pendingDefaultAdmin}'s `acceptSchedule` should've passed.\n */\n function acceptDefaultAdminTransfer() external;\n\n /**\n * @dev Initiates a {defaultAdminDelay} update by setting a {pendingDefaultAdminDelay} scheduled for getting\n * into effect after the current timestamp plus a {defaultAdminDelay}.\n *\n * This function guarantees that any call to {beginDefaultAdminTransfer} done between the timestamp this\n * method is called and the {pendingDefaultAdminDelay} effect schedule will use the current {defaultAdminDelay}\n * set before calling.\n *\n * The {pendingDefaultAdminDelay}'s effect schedule is defined in a way that waiting until the schedule and then\n * calling {beginDefaultAdminTransfer} with the new delay will take at least the same as another {defaultAdmin}\n * complete transfer (including acceptance).\n *\n * The schedule is designed for two scenarios:\n *\n * - When the delay is changed for a larger one the schedule is `block.timestamp + newDelay` capped by\n * {defaultAdminDelayIncreaseWait}.\n * - When the delay is changed for a shorter one, the schedule is `block.timestamp + (current delay - new delay)`.\n *\n * A {pendingDefaultAdminDelay} that never got into effect will be canceled in favor of a new scheduled change.\n *\n * Requirements:\n *\n * - Only can be called by the current {defaultAdmin}.\n *\n * Emits a DefaultAdminDelayChangeScheduled event and may emit a DefaultAdminDelayChangeCanceled event.\n */\n function changeDefaultAdminDelay(uint48 newDelay) external;\n\n /**\n * @dev Cancels a scheduled {defaultAdminDelay} change.\n *\n * Requirements:\n *\n * - Only can be called by the current {defaultAdmin}.\n *\n * May emit a DefaultAdminDelayChangeCanceled event.\n */\n function rollbackDefaultAdminDelay() external;\n\n /**\n * @dev Maximum time in seconds for an increase to {defaultAdminDelay} (that is scheduled using {changeDefaultAdminDelay})\n * to take effect. Default to 5 days.\n *\n * When the {defaultAdminDelay} is scheduled to be increased, it goes into effect after the new delay has passed with\n * the purpose of giving enough time for reverting any accidental change (i.e. using milliseconds instead of seconds)\n * that may lock the contract. However, to avoid excessive schedules, the wait is capped by this function and it can\n * be overrode for a custom {defaultAdminDelay} increase scheduling.\n *\n * IMPORTANT: Make sure to add a reasonable amount of time while overriding this value, otherwise,\n * there's a risk of setting a high new delay that goes into effect almost immediately without the\n * possibility of human intervention in the case of an input error (eg. set milliseconds instead of seconds).\n */\n function defaultAdminDelayIncreaseWait() external view returns (uint48);\n}\n"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC1363.sol)\n\npragma solidity >=0.6.2;\n\nimport {IERC20} from \"./IERC20.sol\";\nimport {IERC165} from \"./IERC165.sol\";\n\n/**\n * @title IERC1363\n * @dev Interface of the ERC-1363 standard as defined in the https://eips.ethereum.org/EIPS/eip-1363[ERC-1363].\n *\n * Defines an extension interface for ERC-20 tokens that supports executing code on a recipient contract\n * after `transfer` or `transferFrom`, or code on a spender contract after `approve`, in a single transaction.\n */\ninterface IERC1363 is IERC20, IERC165 {\n /*\n * Note: the ERC-165 identifier for this interface is 0xb0202a11.\n * 0xb0202a11 ===\n * bytes4(keccak256('transferAndCall(address,uint256)')) ^\n * bytes4(keccak256('transferAndCall(address,uint256,bytes)')) ^\n * bytes4(keccak256('transferFromAndCall(address,address,uint256)')) ^\n * bytes4(keccak256('transferFromAndCall(address,address,uint256,bytes)')) ^\n * bytes4(keccak256('approveAndCall(address,uint256)')) ^\n * bytes4(keccak256('approveAndCall(address,uint256,bytes)'))\n */\n\n /**\n * @dev Moves a `value` amount of tokens from the caller's account to `to`\n * and then calls {IERC1363Receiver-onTransferReceived} on `to`.\n * @param to The address which you want to transfer to.\n * @param value The amount of tokens to be transferred.\n * @return A boolean value indicating whether the operation succeeded unless throwing.\n */\n function transferAndCall(address to, uint256 value) external returns (bool);\n\n /**\n * @dev Moves a `value` amount of tokens from the caller's account to `to`\n * and then calls {IERC1363Receiver-onTransferReceived} on `to`.\n * @param to The address which you want to transfer to.\n * @param value The amount of tokens to be transferred.\n * @param data Additional data with no specified format, sent in call to `to`.\n * @return A boolean value indicating whether the operation succeeded unless throwing.\n */\n function transferAndCall(address to, uint256 value, bytes calldata data) external returns (bool);\n\n /**\n * @dev Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism\n * and then calls {IERC1363Receiver-onTransferReceived} on `to`.\n * @param from The address which you want to send tokens from.\n * @param to The address which you want to transfer to.\n * @param value The amount of tokens to be transferred.\n * @return A boolean value indicating whether the operation succeeded unless throwing.\n */\n function transferFromAndCall(address from, address to, uint256 value) external returns (bool);\n\n /**\n * @dev Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism\n * and then calls {IERC1363Receiver-onTransferReceived} on `to`.\n * @param from The address which you want to send tokens from.\n * @param to The address which you want to transfer to.\n * @param value The amount of tokens to be transferred.\n * @param data Additional data with no specified format, sent in call to `to`.\n * @return A boolean value indicating whether the operation succeeded unless throwing.\n */\n function transferFromAndCall(address from, address to, uint256 value, bytes calldata data) external returns (bool);\n\n /**\n * @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n * caller's tokens and then calls {IERC1363Spender-onApprovalReceived} on `spender`.\n * @param spender The address which will spend the funds.\n * @param value The amount of tokens to be spent.\n * @return A boolean value indicating whether the operation succeeded unless throwing.\n */\n function approveAndCall(address spender, uint256 value) external returns (bool);\n\n /**\n * @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n * caller's tokens and then calls {IERC1363Spender-onApprovalReceived} on `spender`.\n * @param spender The address which will spend the funds.\n * @param value The amount of tokens to be spent.\n * @param data Additional data with no specified format, sent in call to `spender`.\n * @return A boolean value indicating whether the operation succeeded unless throwing.\n */\n function approveAndCall(address spender, uint256 value, bytes calldata data) external returns (bool);\n}\n"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC165.sol)\n\npragma solidity >=0.4.16;\n\nimport {IERC165} from \"../utils/introspection/IERC165.sol\";\n"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC1967.sol)\n\npragma solidity >=0.4.11;\n\n/**\n * @dev ERC-1967: Proxy Storage Slots. This interface contains the events defined in the ERC.\n */\ninterface IERC1967 {\n /**\n * @dev Emitted when the implementation is upgraded.\n */\n event Upgraded(address indexed implementation);\n\n /**\n * @dev Emitted when the admin account has changed.\n */\n event AdminChanged(address previousAdmin, address newAdmin);\n\n /**\n * @dev Emitted when the beacon is changed.\n */\n event BeaconUpgraded(address indexed beacon);\n}\n"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC20.sol)\n\npragma solidity >=0.4.16;\n\nimport {IERC20} from \"../token/ERC20/IERC20.sol\";\n"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC5313.sol)\n\npragma solidity >=0.4.16;\n\n/**\n * @dev Interface for the Light Contract Ownership Standard.\n *\n * A standardized minimal interface required to identify an account that controls a contract\n */\ninterface IERC5313 {\n /**\n * @dev Gets the address of the owner.\n */\n function owner() external view returns (address);\n}\n"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/draft-IERC1822.sol)\n\npragma solidity >=0.4.16;\n\n/**\n * @dev ERC-1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified\n * proxy whose upgrades are fully controlled by the current implementation.\n */\ninterface IERC1822Proxiable {\n /**\n * @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation\n * address.\n *\n * IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n * bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n * function revert if invoked through a proxy.\n */\n function proxiableUUID() external view returns (bytes32);\n}\n"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/draft-IERC6093.sol)\npragma solidity >=0.8.4;\n\n/**\n * @dev Standard ERC-20 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens.\n */\ninterface IERC20Errors {\n /**\n * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n * @param balance Current balance for the interacting account.\n * @param needed Minimum amount required to perform a transfer.\n */\n error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed);\n\n /**\n * @dev Indicates a failure with the token `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n */\n error ERC20InvalidSender(address sender);\n\n /**\n * @dev Indicates a failure with the token `receiver`. Used in transfers.\n * @param receiver Address to which tokens are being transferred.\n */\n error ERC20InvalidReceiver(address receiver);\n\n /**\n * @dev Indicates a failure with the `spender`’s `allowance`. Used in transfers.\n * @param spender Address that may be allowed to operate on tokens without being their owner.\n * @param allowance Amount of tokens a `spender` is allowed to operate with.\n * @param needed Minimum amount required to perform a transfer.\n */\n error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed);\n\n /**\n * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n * @param approver Address initiating an approval operation.\n */\n error ERC20InvalidApprover(address approver);\n\n /**\n * @dev Indicates a failure with the `spender` to be approved. Used in approvals.\n * @param spender Address that may be allowed to operate on tokens without being their owner.\n */\n error ERC20InvalidSpender(address spender);\n}\n\n/**\n * @dev Standard ERC-721 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens.\n */\ninterface IERC721Errors {\n /**\n * @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-20.\n * Used in balance queries.\n * @param owner Address of the current owner of a token.\n */\n error ERC721InvalidOwner(address owner);\n\n /**\n * @dev Indicates a `tokenId` whose `owner` is the zero address.\n * @param tokenId Identifier number of a token.\n */\n error ERC721NonexistentToken(uint256 tokenId);\n\n /**\n * @dev Indicates an error related to the ownership over a particular token. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n * @param tokenId Identifier number of a token.\n * @param owner Address of the current owner of a token.\n */\n error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner);\n\n /**\n * @dev Indicates a failure with the token `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n */\n error ERC721InvalidSender(address sender);\n\n /**\n * @dev Indicates a failure with the token `receiver`. Used in transfers.\n * @param receiver Address to which tokens are being transferred.\n */\n error ERC721InvalidReceiver(address receiver);\n\n /**\n * @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n * @param tokenId Identifier number of a token.\n */\n error ERC721InsufficientApproval(address operator, uint256 tokenId);\n\n /**\n * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n * @param approver Address initiating an approval operation.\n */\n error ERC721InvalidApprover(address approver);\n\n /**\n * @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n */\n error ERC721InvalidOperator(address operator);\n}\n\n/**\n * @dev Standard ERC-1155 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens.\n */\ninterface IERC1155Errors {\n /**\n * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n * @param balance Current balance for the interacting account.\n * @param needed Minimum amount required to perform a transfer.\n * @param tokenId Identifier number of a token.\n */\n error ERC1155InsufficientBalance(address sender, uint256 balance, uint256 needed, uint256 tokenId);\n\n /**\n * @dev Indicates a failure with the token `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n */\n error ERC1155InvalidSender(address sender);\n\n /**\n * @dev Indicates a failure with the token `receiver`. Used in transfers.\n * @param receiver Address to which tokens are being transferred.\n */\n error ERC1155InvalidReceiver(address receiver);\n\n /**\n * @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n * @param owner Address of the current owner of a token.\n */\n error ERC1155MissingApprovalForAll(address operator, address owner);\n\n /**\n * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n * @param approver Address initiating an approval operation.\n */\n error ERC1155InvalidApprover(address approver);\n\n /**\n * @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n */\n error ERC1155InvalidOperator(address operator);\n\n /**\n * @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation.\n * Used in batch transfers.\n * @param idsLength Length of the array of token identifiers\n * @param valuesLength Length of the array of token amounts\n */\n error ERC1155InvalidArrayLength(uint256 idsLength, uint256 valuesLength);\n}\n"},"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nimport {ERC20} from \"../../token/ERC20/ERC20.sol\";\n\ncontract ERC20Mock is ERC20 {\n constructor() ERC20(\"ERC20Mock\", \"E20M\") {}\n\n function mint(address account, uint256 amount) external {\n _mint(account, amount);\n }\n\n function burn(address account, uint256 amount) external {\n _burn(account, amount);\n }\n}\n"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.2.0) (proxy/ERC1967/ERC1967Proxy.sol)\n\npragma solidity ^0.8.22;\n\nimport {Proxy} from \"../Proxy.sol\";\nimport {ERC1967Utils} from \"./ERC1967Utils.sol\";\n\n/**\n * @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an\n * implementation address that can be changed. This address is stored in storage in the location specified by\n * https://eips.ethereum.org/EIPS/eip-1967[ERC-1967], so that it doesn't conflict with the storage layout of the\n * implementation behind the proxy.\n */\ncontract ERC1967Proxy is Proxy {\n /**\n * @dev Initializes the upgradeable proxy with an initial implementation specified by `implementation`.\n *\n * If `_data` is nonempty, it's used as data in a delegate call to `implementation`. This will typically be an\n * encoded function call, and allows initializing the storage of the proxy like a Solidity constructor.\n *\n * Requirements:\n *\n * - If `data` is empty, `msg.value` must be zero.\n */\n constructor(address implementation, bytes memory _data) payable {\n ERC1967Utils.upgradeToAndCall(implementation, _data);\n }\n\n /**\n * @dev Returns the current implementation address.\n *\n * TIP: To get this value clients can read directly from the storage slot shown below (specified by ERC-1967) using\n * the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\n * `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`\n */\n function _implementation() internal view virtual override returns (address) {\n return ERC1967Utils.getImplementation();\n }\n}\n"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (proxy/ERC1967/ERC1967Utils.sol)\n\npragma solidity ^0.8.21;\n\nimport {IBeacon} from \"../beacon/IBeacon.sol\";\nimport {IERC1967} from \"../../interfaces/IERC1967.sol\";\nimport {Address} from \"../../utils/Address.sol\";\nimport {StorageSlot} from \"../../utils/StorageSlot.sol\";\n\n/**\n * @dev This library provides getters and event emitting update functions for\n * https://eips.ethereum.org/EIPS/eip-1967[ERC-1967] slots.\n */\nlibrary ERC1967Utils {\n /**\n * @dev Storage slot with the address of the current implementation.\n * This is the keccak-256 hash of \"eip1967.proxy.implementation\" subtracted by 1.\n */\n // solhint-disable-next-line private-vars-leading-underscore\n bytes32 internal constant IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n\n /**\n * @dev The `implementation` of the proxy is invalid.\n */\n error ERC1967InvalidImplementation(address implementation);\n\n /**\n * @dev The `admin` of the proxy is invalid.\n */\n error ERC1967InvalidAdmin(address admin);\n\n /**\n * @dev The `beacon` of the proxy is invalid.\n */\n error ERC1967InvalidBeacon(address beacon);\n\n /**\n * @dev An upgrade function sees `msg.value > 0` that may be lost.\n */\n error ERC1967NonPayable();\n\n /**\n * @dev Returns the current implementation address.\n */\n function getImplementation() internal view returns (address) {\n return StorageSlot.getAddressSlot(IMPLEMENTATION_SLOT).value;\n }\n\n /**\n * @dev Stores a new address in the ERC-1967 implementation slot.\n */\n function _setImplementation(address newImplementation) private {\n if (newImplementation.code.length == 0) {\n revert ERC1967InvalidImplementation(newImplementation);\n }\n StorageSlot.getAddressSlot(IMPLEMENTATION_SLOT).value = newImplementation;\n }\n\n /**\n * @dev Performs implementation upgrade with additional setup call if data is nonempty.\n * This function is payable only if the setup call is performed, otherwise `msg.value` is rejected\n * to avoid stuck value in the contract.\n *\n * Emits an {IERC1967-Upgraded} event.\n */\n function upgradeToAndCall(address newImplementation, bytes memory data) internal {\n _setImplementation(newImplementation);\n emit IERC1967.Upgraded(newImplementation);\n\n if (data.length > 0) {\n Address.functionDelegateCall(newImplementation, data);\n } else {\n _checkNonPayable();\n }\n }\n\n /**\n * @dev Storage slot with the admin of the contract.\n * This is the keccak-256 hash of \"eip1967.proxy.admin\" subtracted by 1.\n */\n // solhint-disable-next-line private-vars-leading-underscore\n bytes32 internal constant ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;\n\n /**\n * @dev Returns the current admin.\n *\n * TIP: To get this value clients can read directly from the storage slot shown below (specified by ERC-1967) using\n * the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\n * `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`\n */\n function getAdmin() internal view returns (address) {\n return StorageSlot.getAddressSlot(ADMIN_SLOT).value;\n }\n\n /**\n * @dev Stores a new address in the ERC-1967 admin slot.\n */\n function _setAdmin(address newAdmin) private {\n if (newAdmin == address(0)) {\n revert ERC1967InvalidAdmin(address(0));\n }\n StorageSlot.getAddressSlot(ADMIN_SLOT).value = newAdmin;\n }\n\n /**\n * @dev Changes the admin of the proxy.\n *\n * Emits an {IERC1967-AdminChanged} event.\n */\n function changeAdmin(address newAdmin) internal {\n emit IERC1967.AdminChanged(getAdmin(), newAdmin);\n _setAdmin(newAdmin);\n }\n\n /**\n * @dev The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy.\n * This is the keccak-256 hash of \"eip1967.proxy.beacon\" subtracted by 1.\n */\n // solhint-disable-next-line private-vars-leading-underscore\n bytes32 internal constant BEACON_SLOT = 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50;\n\n /**\n * @dev Returns the current beacon.\n */\n function getBeacon() internal view returns (address) {\n return StorageSlot.getAddressSlot(BEACON_SLOT).value;\n }\n\n /**\n * @dev Stores a new beacon in the ERC-1967 beacon slot.\n */\n function _setBeacon(address newBeacon) private {\n if (newBeacon.code.length == 0) {\n revert ERC1967InvalidBeacon(newBeacon);\n }\n\n StorageSlot.getAddressSlot(BEACON_SLOT).value = newBeacon;\n\n address beaconImplementation = IBeacon(newBeacon).implementation();\n if (beaconImplementation.code.length == 0) {\n revert ERC1967InvalidImplementation(beaconImplementation);\n }\n }\n\n /**\n * @dev Change the beacon and trigger a setup call if data is nonempty.\n * This function is payable only if the setup call is performed, otherwise `msg.value` is rejected\n * to avoid stuck value in the contract.\n *\n * Emits an {IERC1967-BeaconUpgraded} event.\n *\n * CAUTION: Invoking this function has no effect on an instance of {BeaconProxy} since v5, since\n * it uses an immutable beacon without looking at the value of the ERC-1967 beacon slot for\n * efficiency.\n */\n function upgradeBeaconToAndCall(address newBeacon, bytes memory data) internal {\n _setBeacon(newBeacon);\n emit IERC1967.BeaconUpgraded(newBeacon);\n\n if (data.length > 0) {\n Address.functionDelegateCall(IBeacon(newBeacon).implementation(), data);\n } else {\n _checkNonPayable();\n }\n }\n\n /**\n * @dev Reverts if `msg.value` is not zero. It can be used to avoid `msg.value` stuck in the contract\n * if an upgrade doesn't perform an initialization call.\n */\n function _checkNonPayable() private {\n if (msg.value > 0) {\n revert ERC1967NonPayable();\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (proxy/Proxy.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM\n * instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to\n * be specified by overriding the virtual {_implementation} function.\n *\n * Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a\n * different contract through the {_delegate} function.\n *\n * The success and return data of the delegated call will be returned back to the caller of the proxy.\n */\nabstract contract Proxy {\n /**\n * @dev Delegates the current call to `implementation`.\n *\n * This function does not return to its internal call site, it will return directly to the external caller.\n */\n function _delegate(address implementation) internal virtual {\n assembly {\n // Copy msg.data. We take full control of memory in this inline assembly\n // block because it will not return to Solidity code. We overwrite the\n // Solidity scratch pad at memory position 0.\n calldatacopy(0, 0, calldatasize())\n\n // Call the implementation.\n // out and outsize are 0 because we don't know the size yet.\n let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)\n\n // Copy the returned data.\n returndatacopy(0, 0, returndatasize())\n\n switch result\n // delegatecall returns 0 on error.\n case 0 {\n revert(0, returndatasize())\n }\n default {\n return(0, returndatasize())\n }\n }\n }\n\n /**\n * @dev This is a virtual function that should be overridden so it returns the address to which the fallback\n * function and {_fallback} should delegate.\n */\n function _implementation() internal view virtual returns (address);\n\n /**\n * @dev Delegates the current call to the address returned by `_implementation()`.\n *\n * This function does not return to its internal call site, it will return directly to the external caller.\n */\n function _fallback() internal virtual {\n _delegate(_implementation());\n }\n\n /**\n * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other\n * function in the contract matches the call data.\n */\n fallback() external payable virtual {\n _fallback();\n }\n}\n"},"lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.2.0) (proxy/beacon/BeaconProxy.sol)\n\npragma solidity ^0.8.22;\n\nimport {IBeacon} from \"./IBeacon.sol\";\nimport {Proxy} from \"../Proxy.sol\";\nimport {ERC1967Utils} from \"../ERC1967/ERC1967Utils.sol\";\n\n/**\n * @dev This contract implements a proxy that gets the implementation address for each call from an {UpgradeableBeacon}.\n *\n * The beacon address can only be set once during construction, and cannot be changed afterwards. It is stored in an\n * immutable variable to avoid unnecessary storage reads, and also in the beacon storage slot specified by\n * https://eips.ethereum.org/EIPS/eip-1967[ERC-1967] so that it can be accessed externally.\n *\n * CAUTION: Since the beacon address can never be changed, you must ensure that you either control the beacon, or trust\n * the beacon to not upgrade the implementation maliciously.\n *\n * IMPORTANT: Do not use the implementation logic to modify the beacon storage slot. Doing so would leave the proxy in\n * an inconsistent state where the beacon storage slot does not match the beacon address.\n */\ncontract BeaconProxy is Proxy {\n // An immutable address for the beacon to avoid unnecessary SLOADs before each delegate call.\n address private immutable _beacon;\n\n /**\n * @dev Initializes the proxy with `beacon`.\n *\n * If `data` is nonempty, it's used as data in a delegate call to the implementation returned by the beacon. This\n * will typically be an encoded function call, and allows initializing the storage of the proxy like a Solidity\n * constructor.\n *\n * Requirements:\n *\n * - `beacon` must be a contract with the interface {IBeacon}.\n * - If `data` is empty, `msg.value` must be zero.\n */\n constructor(address beacon, bytes memory data) payable {\n ERC1967Utils.upgradeBeaconToAndCall(beacon, data);\n _beacon = beacon;\n }\n\n /**\n * @dev Returns the current implementation address of the associated beacon.\n */\n function _implementation() internal view virtual override returns (address) {\n return IBeacon(_getBeacon()).implementation();\n }\n\n /**\n * @dev Returns the beacon.\n */\n function _getBeacon() internal view virtual returns (address) {\n return _beacon;\n }\n}\n"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (proxy/beacon/IBeacon.sol)\n\npragma solidity >=0.4.16;\n\n/**\n * @dev This is the interface that {BeaconProxy} expects of its beacon.\n */\ninterface IBeacon {\n /**\n * @dev Must return an address that can be used as a delegate call target.\n *\n * {UpgradeableBeacon} will check that this address is a contract.\n */\n function implementation() external view returns (address);\n}\n"},"lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (proxy/beacon/UpgradeableBeacon.sol)\n\npragma solidity ^0.8.20;\n\nimport {IBeacon} from \"./IBeacon.sol\";\nimport {Ownable} from \"../../access/Ownable.sol\";\n\n/**\n * @dev This contract is used in conjunction with one or more instances of {BeaconProxy} to determine their\n * implementation contract, which is where they will delegate all function calls.\n *\n * An owner is able to change the implementation the beacon points to, thus upgrading the proxies that use this beacon.\n */\ncontract UpgradeableBeacon is IBeacon, Ownable {\n address private _implementation;\n\n /**\n * @dev The `implementation` of the beacon is invalid.\n */\n error BeaconInvalidImplementation(address implementation);\n\n /**\n * @dev Emitted when the implementation returned by the beacon is changed.\n */\n event Upgraded(address indexed implementation);\n\n /**\n * @dev Sets the address of the initial implementation, and the initial owner who can upgrade the beacon.\n */\n constructor(address implementation_, address initialOwner) Ownable(initialOwner) {\n _setImplementation(implementation_);\n }\n\n /**\n * @dev Returns the current implementation address.\n */\n function implementation() public view virtual returns (address) {\n return _implementation;\n }\n\n /**\n * @dev Upgrades the beacon to a new implementation.\n *\n * Emits an {Upgraded} event.\n *\n * Requirements:\n *\n * - msg.sender must be the owner of the contract.\n * - `newImplementation` must be a contract.\n */\n function upgradeTo(address newImplementation) public virtual onlyOwner {\n _setImplementation(newImplementation);\n }\n\n /**\n * @dev Sets the implementation contract address for this beacon\n *\n * Requirements:\n *\n * - `newImplementation` must be a contract.\n */\n function _setImplementation(address newImplementation) private {\n if (newImplementation.code.length == 0) {\n revert BeaconInvalidImplementation(newImplementation);\n }\n _implementation = newImplementation;\n emit Upgraded(newImplementation);\n }\n}\n"},"lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.2.0) (proxy/transparent/ProxyAdmin.sol)\n\npragma solidity ^0.8.22;\n\nimport {ITransparentUpgradeableProxy} from \"./TransparentUpgradeableProxy.sol\";\nimport {Ownable} from \"../../access/Ownable.sol\";\n\n/**\n * @dev This is an auxiliary contract meant to be assigned as the admin of a {TransparentUpgradeableProxy}. For an\n * explanation of why you would want to use this see the documentation for {TransparentUpgradeableProxy}.\n */\ncontract ProxyAdmin is Ownable {\n /**\n * @dev The version of the upgrade interface of the contract. If this getter is missing, both `upgrade(address,address)`\n * and `upgradeAndCall(address,address,bytes)` are present, and `upgrade` must be used if no function should be called,\n * while `upgradeAndCall` will invoke the `receive` function if the third argument is the empty byte string.\n * If the getter returns `\"5.0.0\"`, only `upgradeAndCall(address,address,bytes)` is present, and the third argument must\n * be the empty byte string if no function should be called, making it impossible to invoke the `receive` function\n * during an upgrade.\n */\n string public constant UPGRADE_INTERFACE_VERSION = \"5.0.0\";\n\n /**\n * @dev Sets the initial owner who can perform upgrades.\n */\n constructor(address initialOwner) Ownable(initialOwner) {}\n\n /**\n * @dev Upgrades `proxy` to `implementation` and calls a function on the new implementation.\n * See {TransparentUpgradeableProxy-_dispatchUpgradeToAndCall}.\n *\n * Requirements:\n *\n * - This contract must be the admin of `proxy`.\n * - If `data` is empty, `msg.value` must be zero.\n */\n function upgradeAndCall(\n ITransparentUpgradeableProxy proxy,\n address implementation,\n bytes memory data\n ) public payable virtual onlyOwner {\n proxy.upgradeToAndCall{value: msg.value}(implementation, data);\n }\n}\n"},"lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.2.0) (proxy/transparent/TransparentUpgradeableProxy.sol)\n\npragma solidity ^0.8.22;\n\nimport {ERC1967Utils} from \"../ERC1967/ERC1967Utils.sol\";\nimport {ERC1967Proxy} from \"../ERC1967/ERC1967Proxy.sol\";\nimport {IERC1967} from \"../../interfaces/IERC1967.sol\";\nimport {ProxyAdmin} from \"./ProxyAdmin.sol\";\n\n/**\n * @dev Interface for {TransparentUpgradeableProxy}. In order to implement transparency, {TransparentUpgradeableProxy}\n * does not implement this interface directly, and its upgradeability mechanism is implemented by an internal dispatch\n * mechanism. The compiler is unaware that these functions are implemented by {TransparentUpgradeableProxy} and will not\n * include them in the ABI so this interface must be used to interact with it.\n */\ninterface ITransparentUpgradeableProxy is IERC1967 {\n /// @dev See {UUPSUpgradeable-upgradeToAndCall}\n function upgradeToAndCall(address newImplementation, bytes calldata data) external payable;\n}\n\n/**\n * @dev This contract implements a proxy that is upgradeable through an associated {ProxyAdmin} instance.\n *\n * To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector\n * clashing], which can potentially be used in an attack, this contract uses the\n * https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two\n * things that go hand in hand:\n *\n * 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if\n * that call matches the {ITransparentUpgradeableProxy-upgradeToAndCall} function exposed by the proxy itself.\n * 2. If the admin calls the proxy, it can call the `upgradeToAndCall` function but any other call won't be forwarded to\n * the implementation. If the admin tries to call a function on the implementation it will fail with an error indicating\n * the proxy admin cannot fallback to the target implementation.\n *\n * These properties mean that the admin account can only be used for upgrading the proxy, so it's best if it's a\n * dedicated account that is not used for anything else. This will avoid headaches due to sudden errors when trying to\n * call a function from the proxy implementation. For this reason, the proxy deploys an instance of {ProxyAdmin} and\n * allows upgrades only if they come through it. You should think of the `ProxyAdmin` instance as the administrative\n * interface of the proxy, including the ability to change who can trigger upgrades by transferring ownership.\n *\n * NOTE: The real interface of this proxy is that defined in `ITransparentUpgradeableProxy`. This contract does not\n * inherit from that interface, and instead `upgradeToAndCall` is implicitly implemented using a custom dispatch\n * mechanism in `_fallback`. Consequently, the compiler will not produce an ABI for this contract. This is necessary to\n * fully implement transparency without decoding reverts caused by selector clashes between the proxy and the\n * implementation.\n *\n * NOTE: This proxy does not inherit from {Context} deliberately. The {ProxyAdmin} of this contract won't send a\n * meta-transaction in any way, and any other meta-transaction setup should be made in the implementation contract.\n *\n * IMPORTANT: This contract avoids unnecessary storage reads by setting the admin only during construction as an\n * immutable variable, preventing any changes thereafter. However, the admin slot defined in ERC-1967 can still be\n * overwritten by the implementation logic pointed to by this proxy. In such cases, the contract may end up in an\n * undesirable state where the admin slot is different from the actual admin. Relying on the value of the admin slot\n * is generally fine if the implementation is trusted.\n *\n * WARNING: It is not recommended to extend this contract to add additional external functions. If you do so, the\n * compiler will not check that there are no selector conflicts, due to the note above. A selector clash between any new\n * function and the functions declared in {ITransparentUpgradeableProxy} will be resolved in favor of the new one. This\n * could render the `upgradeToAndCall` function inaccessible, preventing upgradeability and compromising transparency.\n */\ncontract TransparentUpgradeableProxy is ERC1967Proxy {\n // An immutable address for the admin to avoid unnecessary SLOADs before each call\n // at the expense of removing the ability to change the admin once it's set.\n // This is acceptable if the admin is always a ProxyAdmin instance or similar contract\n // with its own ability to transfer the permissions to another account.\n address private immutable _admin;\n\n /**\n * @dev The proxy caller is the current admin, and can't fallback to the proxy target.\n */\n error ProxyDeniedAdminAccess();\n\n /**\n * @dev Initializes an upgradeable proxy managed by an instance of a {ProxyAdmin} with an `initialOwner`,\n * backed by the implementation at `_logic`, and optionally initialized with `_data` as explained in\n * {ERC1967Proxy-constructor}.\n */\n constructor(address _logic, address initialOwner, bytes memory _data) payable ERC1967Proxy(_logic, _data) {\n _admin = address(new ProxyAdmin(initialOwner));\n // Set the storage value and emit an event for ERC-1967 compatibility\n ERC1967Utils.changeAdmin(_proxyAdmin());\n }\n\n /**\n * @dev Returns the admin of this proxy.\n */\n function _proxyAdmin() internal view virtual returns (address) {\n return _admin;\n }\n\n /**\n * @dev If caller is the admin process the call internally, otherwise transparently fallback to the proxy behavior.\n */\n function _fallback() internal virtual override {\n if (msg.sender == _proxyAdmin()) {\n if (msg.sig != ITransparentUpgradeableProxy.upgradeToAndCall.selector) {\n revert ProxyDeniedAdminAccess();\n } else {\n _dispatchUpgradeToAndCall();\n }\n } else {\n super._fallback();\n }\n }\n\n /**\n * @dev Upgrade the implementation of the proxy. See {ERC1967Utils-upgradeToAndCall}.\n *\n * Requirements:\n *\n * - If `data` is empty, `msg.value` must be zero.\n */\n function _dispatchUpgradeToAndCall() private {\n (address newImplementation, bytes memory data) = abi.decode(msg.data[4:], (address, bytes));\n ERC1967Utils.upgradeToAndCall(newImplementation, data);\n }\n}\n"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/ERC20.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC20} from \"./IERC20.sol\";\nimport {IERC20Metadata} from \"./extensions/IERC20Metadata.sol\";\nimport {Context} from \"../../utils/Context.sol\";\nimport {IERC20Errors} from \"../../interfaces/draft-IERC6093.sol\";\n\n/**\n * @dev Implementation of the {IERC20} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * The default value of {decimals} is 18. To change this, you should override\n * this function so it returns a different value.\n *\n * We have followed general OpenZeppelin Contracts guidelines: functions revert\n * instead returning `false` on failure. This behavior is nonetheless\n * conventional and does not conflict with the expectations of ERC-20\n * applications.\n */\nabstract contract ERC20 is Context, IERC20, IERC20Metadata, IERC20Errors {\n mapping(address account => uint256) private _balances;\n\n mapping(address account => mapping(address spender => uint256)) private _allowances;\n\n uint256 private _totalSupply;\n\n string private _name;\n string private _symbol;\n\n /**\n * @dev Sets the values for {name} and {symbol}.\n *\n * Both values are immutable: they can only be set once during construction.\n */\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n /**\n * @dev Returns the name of the token.\n */\n function name() public view virtual returns (string memory) {\n return _name;\n }\n\n /**\n * @dev Returns the symbol of the token, usually a shorter version of the\n * name.\n */\n function symbol() public view virtual returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev Returns the number of decimals used to get its user representation.\n * For example, if `decimals` equals `2`, a balance of `505` tokens should\n * be displayed to a user as `5.05` (`505 / 10 ** 2`).\n *\n * Tokens usually opt for a value of 18, imitating the relationship between\n * Ether and Wei. This is the default value returned by this function, unless\n * it's overridden.\n *\n * NOTE: This information is only used for _display_ purposes: it in\n * no way affects any of the arithmetic of the contract, including\n * {IERC20-balanceOf} and {IERC20-transfer}.\n */\n function decimals() public view virtual returns (uint8) {\n return 18;\n }\n\n /// @inheritdoc IERC20\n function totalSupply() public view virtual returns (uint256) {\n return _totalSupply;\n }\n\n /// @inheritdoc IERC20\n function balanceOf(address account) public view virtual returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - the caller must have a balance of at least `value`.\n */\n function transfer(address to, uint256 value) public virtual returns (bool) {\n address owner = _msgSender();\n _transfer(owner, to, value);\n return true;\n }\n\n /// @inheritdoc IERC20\n function allowance(address owner, address spender) public view virtual returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * NOTE: If `value` is the maximum `uint256`, the allowance is not updated on\n * `transferFrom`. This is semantically equivalent to an infinite approval.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 value) public virtual returns (bool) {\n address owner = _msgSender();\n _approve(owner, spender, value);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Skips emitting an {Approval} event indicating an allowance update. This is not\n * required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve].\n *\n * NOTE: Does not update the allowance if the current allowance\n * is the maximum `uint256`.\n *\n * Requirements:\n *\n * - `from` and `to` cannot be the zero address.\n * - `from` must have a balance of at least `value`.\n * - the caller must have allowance for ``from``'s tokens of at least\n * `value`.\n */\n function transferFrom(address from, address to, uint256 value) public virtual returns (bool) {\n address spender = _msgSender();\n _spendAllowance(from, spender, value);\n _transfer(from, to, value);\n return true;\n }\n\n /**\n * @dev Moves a `value` amount of tokens from `from` to `to`.\n *\n * This internal function is equivalent to {transfer}, and can be used to\n * e.g. implement automatic token fees, slashing mechanisms, etc.\n *\n * Emits a {Transfer} event.\n *\n * NOTE: This function is not virtual, {_update} should be overridden instead.\n */\n function _transfer(address from, address to, uint256 value) internal {\n if (from == address(0)) {\n revert ERC20InvalidSender(address(0));\n }\n if (to == address(0)) {\n revert ERC20InvalidReceiver(address(0));\n }\n _update(from, to, value);\n }\n\n /**\n * @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from`\n * (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding\n * this function.\n *\n * Emits a {Transfer} event.\n */\n function _update(address from, address to, uint256 value) internal virtual {\n if (from == address(0)) {\n // Overflow check required: The rest of the code assumes that totalSupply never overflows\n _totalSupply += value;\n } else {\n uint256 fromBalance = _balances[from];\n if (fromBalance < value) {\n revert ERC20InsufficientBalance(from, fromBalance, value);\n }\n unchecked {\n // Overflow not possible: value <= fromBalance <= totalSupply.\n _balances[from] = fromBalance - value;\n }\n }\n\n if (to == address(0)) {\n unchecked {\n // Overflow not possible: value <= totalSupply or value <= fromBalance <= totalSupply.\n _totalSupply -= value;\n }\n } else {\n unchecked {\n // Overflow not possible: balance + value is at most totalSupply, which we know fits into a uint256.\n _balances[to] += value;\n }\n }\n\n emit Transfer(from, to, value);\n }\n\n /**\n * @dev Creates a `value` amount of tokens and assigns them to `account`, by transferring it from address(0).\n * Relies on the `_update` mechanism\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * NOTE: This function is not virtual, {_update} should be overridden instead.\n */\n function _mint(address account, uint256 value) internal {\n if (account == address(0)) {\n revert ERC20InvalidReceiver(address(0));\n }\n _update(address(0), account, value);\n }\n\n /**\n * @dev Destroys a `value` amount of tokens from `account`, lowering the total supply.\n * Relies on the `_update` mechanism.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * NOTE: This function is not virtual, {_update} should be overridden instead\n */\n function _burn(address account, uint256 value) internal {\n if (account == address(0)) {\n revert ERC20InvalidSender(address(0));\n }\n _update(account, address(0), value);\n }\n\n /**\n * @dev Sets `value` as the allowance of `spender` over the `owner`'s tokens.\n *\n * This internal function is equivalent to `approve`, and can be used to\n * e.g. set automatic allowances for certain subsystems, etc.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `owner` cannot be the zero address.\n * - `spender` cannot be the zero address.\n *\n * Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument.\n */\n function _approve(address owner, address spender, uint256 value) internal {\n _approve(owner, spender, value, true);\n }\n\n /**\n * @dev Variant of {_approve} with an optional flag to enable or disable the {Approval} event.\n *\n * By default (when calling {_approve}) the flag is set to true. On the other hand, approval changes made by\n * `_spendAllowance` during the `transferFrom` operation set the flag to false. This saves gas by not emitting any\n * `Approval` event during `transferFrom` operations.\n *\n * Anyone who wishes to continue emitting `Approval` events on the`transferFrom` operation can force the flag to\n * true using the following override:\n *\n * ```solidity\n * function _approve(address owner, address spender, uint256 value, bool) internal virtual override {\n * super._approve(owner, spender, value, true);\n * }\n * ```\n *\n * Requirements are the same as {_approve}.\n */\n function _approve(address owner, address spender, uint256 value, bool emitEvent) internal virtual {\n if (owner == address(0)) {\n revert ERC20InvalidApprover(address(0));\n }\n if (spender == address(0)) {\n revert ERC20InvalidSpender(address(0));\n }\n _allowances[owner][spender] = value;\n if (emitEvent) {\n emit Approval(owner, spender, value);\n }\n }\n\n /**\n * @dev Updates `owner`'s allowance for `spender` based on spent `value`.\n *\n * Does not update the allowance value in case of infinite allowance.\n * Revert if not enough allowance is available.\n *\n * Does not emit an {Approval} event.\n */\n function _spendAllowance(address owner, address spender, uint256 value) internal virtual {\n uint256 currentAllowance = allowance(owner, spender);\n if (currentAllowance < type(uint256).max) {\n if (currentAllowance < value) {\n revert ERC20InsufficientAllowance(spender, currentAllowance, value);\n }\n unchecked {\n _approve(owner, spender, currentAllowance - value, false);\n }\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/IERC20.sol)\n\npragma solidity >=0.4.16;\n\n/**\n * @dev Interface of the ERC-20 standard as defined in the ERC.\n */\ninterface IERC20 {\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n /**\n * @dev Returns the value of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the value of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves a `value` amount of tokens from the caller's account to `to`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address to, uint256 value) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n * caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 value) external returns (bool);\n\n /**\n * @dev Moves a `value` amount of tokens from `from` to `to` using the\n * allowance mechanism. `value` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address from, address to, uint256 value) external returns (bool);\n}\n"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/extensions/IERC20Metadata.sol)\n\npragma solidity >=0.6.2;\n\nimport {IERC20} from \"../IERC20.sol\";\n\n/**\n * @dev Interface for the optional metadata functions from the ERC-20 standard.\n */\ninterface IERC20Metadata is IERC20 {\n /**\n * @dev Returns the name of the token.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the symbol of the token.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the decimals places of the token.\n */\n function decimals() external view returns (uint8);\n}\n"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.3.0) (token/ERC20/utils/SafeERC20.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC20} from \"../IERC20.sol\";\nimport {IERC1363} from \"../../../interfaces/IERC1363.sol\";\n\n/**\n * @title SafeERC20\n * @dev Wrappers around ERC-20 operations that throw on failure (when the token\n * contract returns false). Tokens that return no value (and instead revert or\n * throw on failure) are also supported, non-reverting calls are assumed to be\n * successful.\n * To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,\n * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\n */\nlibrary SafeERC20 {\n /**\n * @dev An operation with an ERC-20 token failed.\n */\n error SafeERC20FailedOperation(address token);\n\n /**\n * @dev Indicates a failed `decreaseAllowance` request.\n */\n error SafeERC20FailedDecreaseAllowance(address spender, uint256 currentAllowance, uint256 requestedDecrease);\n\n /**\n * @dev Transfer `value` amount of `token` from the calling contract to `to`. If `token` returns no value,\n * non-reverting calls are assumed to be successful.\n */\n function safeTransfer(IERC20 token, address to, uint256 value) internal {\n _callOptionalReturn(token, abi.encodeCall(token.transfer, (to, value)));\n }\n\n /**\n * @dev Transfer `value` amount of `token` from `from` to `to`, spending the approval given by `from` to the\n * calling contract. If `token` returns no value, non-reverting calls are assumed to be successful.\n */\n function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {\n _callOptionalReturn(token, abi.encodeCall(token.transferFrom, (from, to, value)));\n }\n\n /**\n * @dev Variant of {safeTransfer} that returns a bool instead of reverting if the operation is not successful.\n */\n function trySafeTransfer(IERC20 token, address to, uint256 value) internal returns (bool) {\n return _callOptionalReturnBool(token, abi.encodeCall(token.transfer, (to, value)));\n }\n\n /**\n * @dev Variant of {safeTransferFrom} that returns a bool instead of reverting if the operation is not successful.\n */\n function trySafeTransferFrom(IERC20 token, address from, address to, uint256 value) internal returns (bool) {\n return _callOptionalReturnBool(token, abi.encodeCall(token.transferFrom, (from, to, value)));\n }\n\n /**\n * @dev Increase the calling contract's allowance toward `spender` by `value`. If `token` returns no value,\n * non-reverting calls are assumed to be successful.\n *\n * IMPORTANT: If the token implements ERC-7674 (ERC-20 with temporary allowance), and if the \"client\"\n * smart contract uses ERC-7674 to set temporary allowances, then the \"client\" smart contract should avoid using\n * this function. Performing a {safeIncreaseAllowance} or {safeDecreaseAllowance} operation on a token contract\n * that has a non-zero temporary allowance (for that particular owner-spender) will result in unexpected behavior.\n */\n function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal {\n uint256 oldAllowance = token.allowance(address(this), spender);\n forceApprove(token, spender, oldAllowance + value);\n }\n\n /**\n * @dev Decrease the calling contract's allowance toward `spender` by `requestedDecrease`. If `token` returns no\n * value, non-reverting calls are assumed to be successful.\n *\n * IMPORTANT: If the token implements ERC-7674 (ERC-20 with temporary allowance), and if the \"client\"\n * smart contract uses ERC-7674 to set temporary allowances, then the \"client\" smart contract should avoid using\n * this function. Performing a {safeIncreaseAllowance} or {safeDecreaseAllowance} operation on a token contract\n * that has a non-zero temporary allowance (for that particular owner-spender) will result in unexpected behavior.\n */\n function safeDecreaseAllowance(IERC20 token, address spender, uint256 requestedDecrease) internal {\n unchecked {\n uint256 currentAllowance = token.allowance(address(this), spender);\n if (currentAllowance < requestedDecrease) {\n revert SafeERC20FailedDecreaseAllowance(spender, currentAllowance, requestedDecrease);\n }\n forceApprove(token, spender, currentAllowance - requestedDecrease);\n }\n }\n\n /**\n * @dev Set the calling contract's allowance toward `spender` to `value`. If `token` returns no value,\n * non-reverting calls are assumed to be successful. Meant to be used with tokens that require the approval\n * to be set to zero before setting it to a non-zero value, such as USDT.\n *\n * NOTE: If the token implements ERC-7674, this function will not modify any temporary allowance. This function\n * only sets the \"standard\" allowance. Any temporary allowance will remain active, in addition to the value being\n * set here.\n */\n function forceApprove(IERC20 token, address spender, uint256 value) internal {\n bytes memory approvalCall = abi.encodeCall(token.approve, (spender, value));\n\n if (!_callOptionalReturnBool(token, approvalCall)) {\n _callOptionalReturn(token, abi.encodeCall(token.approve, (spender, 0)));\n _callOptionalReturn(token, approvalCall);\n }\n }\n\n /**\n * @dev Performs an {ERC1363} transferAndCall, with a fallback to the simple {ERC20} transfer if the target has no\n * code. This can be used to implement an {ERC721}-like safe transfer that rely on {ERC1363} checks when\n * targeting contracts.\n *\n * Reverts if the returned value is other than `true`.\n */\n function transferAndCallRelaxed(IERC1363 token, address to, uint256 value, bytes memory data) internal {\n if (to.code.length == 0) {\n safeTransfer(token, to, value);\n } else if (!token.transferAndCall(to, value, data)) {\n revert SafeERC20FailedOperation(address(token));\n }\n }\n\n /**\n * @dev Performs an {ERC1363} transferFromAndCall, with a fallback to the simple {ERC20} transferFrom if the target\n * has no code. This can be used to implement an {ERC721}-like safe transfer that rely on {ERC1363} checks when\n * targeting contracts.\n *\n * Reverts if the returned value is other than `true`.\n */\n function transferFromAndCallRelaxed(\n IERC1363 token,\n address from,\n address to,\n uint256 value,\n bytes memory data\n ) internal {\n if (to.code.length == 0) {\n safeTransferFrom(token, from, to, value);\n } else if (!token.transferFromAndCall(from, to, value, data)) {\n revert SafeERC20FailedOperation(address(token));\n }\n }\n\n /**\n * @dev Performs an {ERC1363} approveAndCall, with a fallback to the simple {ERC20} approve if the target has no\n * code. This can be used to implement an {ERC721}-like safe transfer that rely on {ERC1363} checks when\n * targeting contracts.\n *\n * NOTE: When the recipient address (`to`) has no code (i.e. is an EOA), this function behaves as {forceApprove}.\n * Opposedly, when the recipient address (`to`) has code, this function only attempts to call {ERC1363-approveAndCall}\n * once without retrying, and relies on the returned value to be true.\n *\n * Reverts if the returned value is other than `true`.\n */\n function approveAndCallRelaxed(IERC1363 token, address to, uint256 value, bytes memory data) internal {\n if (to.code.length == 0) {\n forceApprove(token, to, value);\n } else if (!token.approveAndCall(to, value, data)) {\n revert SafeERC20FailedOperation(address(token));\n }\n }\n\n /**\n * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n * on the return value: the return value is optional (but if data is returned, it must not be false).\n * @param token The token targeted by the call.\n * @param data The call data (encoded using abi.encode or one of its variants).\n *\n * This is a variant of {_callOptionalReturnBool} that reverts if call fails to meet the requirements.\n */\n function _callOptionalReturn(IERC20 token, bytes memory data) private {\n uint256 returnSize;\n uint256 returnValue;\n assembly (\"memory-safe\") {\n let success := call(gas(), token, 0, add(data, 0x20), mload(data), 0, 0x20)\n // bubble errors\n if iszero(success) {\n let ptr := mload(0x40)\n returndatacopy(ptr, 0, returndatasize())\n revert(ptr, returndatasize())\n }\n returnSize := returndatasize()\n returnValue := mload(0)\n }\n\n if (returnSize == 0 ? address(token).code.length == 0 : returnValue != 1) {\n revert SafeERC20FailedOperation(address(token));\n }\n }\n\n /**\n * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n * on the return value: the return value is optional (but if data is returned, it must not be false).\n * @param token The token targeted by the call.\n * @param data The call data (encoded using abi.encode or one of its variants).\n *\n * This is a variant of {_callOptionalReturn} that silently catches all reverts and returns a bool instead.\n */\n function _callOptionalReturnBool(IERC20 token, bytes memory data) private returns (bool) {\n bool success;\n uint256 returnSize;\n uint256 returnValue;\n assembly (\"memory-safe\") {\n success := call(gas(), token, 0, add(data, 0x20), mload(data), 0, 0x20)\n returnSize := returndatasize()\n returnValue := mload(0)\n }\n return success && (returnSize == 0 ? address(token).code.length > 0 : returnValue == 1);\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (utils/Address.sol)\n\npragma solidity ^0.8.20;\n\nimport {Errors} from \"./Errors.sol\";\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n /**\n * @dev There's no code at `target` (it is not a contract).\n */\n error AddressEmptyCode(address target);\n\n /**\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n * `recipient`, forwarding all available gas and reverting on errors.\n *\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\n * imposed by `transfer`, making them unable to receive funds via\n * `transfer`. {sendValue} removes this limitation.\n *\n * https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n *\n * IMPORTANT: because control is transferred to `recipient`, care must be\n * taken to not create reentrancy vulnerabilities. Consider using\n * {ReentrancyGuard} or the\n * https://solidity.readthedocs.io/en/v0.8.20/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n */\n function sendValue(address payable recipient, uint256 amount) internal {\n if (address(this).balance < amount) {\n revert Errors.InsufficientBalance(address(this).balance, amount);\n }\n\n (bool success, bytes memory returndata) = recipient.call{value: amount}(\"\");\n if (!success) {\n _revert(returndata);\n }\n }\n\n /**\n * @dev Performs a Solidity function call using a low level `call`. A\n * plain `call` is an unsafe replacement for a function call: use this\n * function instead.\n *\n * If `target` reverts with a revert reason or custom error, it is bubbled\n * up by this function (like regular Solidity function calls). However, if\n * the call reverted with no returned reason, this function reverts with a\n * {Errors.FailedCall} error.\n *\n * Returns the raw returned data. To convert to the expected return value,\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n *\n * Requirements:\n *\n * - `target` must be a contract.\n * - calling `target` with `data` must not revert.\n */\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but also transferring `value` wei to `target`.\n *\n * Requirements:\n *\n * - the calling contract must have an ETH balance of at least `value`.\n * - the called Solidity function must be `payable`.\n */\n function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {\n if (address(this).balance < value) {\n revert Errors.InsufficientBalance(address(this).balance, value);\n }\n (bool success, bytes memory returndata) = target.call{value: value}(data);\n return verifyCallResultFromTarget(target, success, returndata);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a static call.\n */\n function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\n (bool success, bytes memory returndata) = target.staticcall(data);\n return verifyCallResultFromTarget(target, success, returndata);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a delegate call.\n */\n function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {\n (bool success, bytes memory returndata) = target.delegatecall(data);\n return verifyCallResultFromTarget(target, success, returndata);\n }\n\n /**\n * @dev Tool to verify that a low level call to smart-contract was successful, and reverts if the target\n * was not a contract or bubbling up the revert reason (falling back to {Errors.FailedCall}) in case\n * of an unsuccessful call.\n */\n function verifyCallResultFromTarget(\n address target,\n bool success,\n bytes memory returndata\n ) internal view returns (bytes memory) {\n if (!success) {\n _revert(returndata);\n } else {\n // only check if target is a contract if the call was successful and the return data is empty\n // otherwise we already know that it was a contract\n if (returndata.length == 0 && target.code.length == 0) {\n revert AddressEmptyCode(target);\n }\n return returndata;\n }\n }\n\n /**\n * @dev Tool to verify that a low level call was successful, and reverts if it wasn't, either by bubbling the\n * revert reason or with a default {Errors.FailedCall} error.\n */\n function verifyCallResult(bool success, bytes memory returndata) internal pure returns (bytes memory) {\n if (!success) {\n _revert(returndata);\n } else {\n return returndata;\n }\n }\n\n /**\n * @dev Reverts with returndata if present. Otherwise reverts with {Errors.FailedCall}.\n */\n function _revert(bytes memory returndata) private pure {\n // Look for revert reason and bubble it up if present\n if (returndata.length > 0) {\n // The easiest way to bubble the revert reason is using memory via assembly\n assembly (\"memory-safe\") {\n revert(add(returndata, 0x20), mload(returndata))\n }\n } else {\n revert Errors.FailedCall();\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/Arrays.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (utils/Arrays.sol)\n// This file was procedurally generated from scripts/generate/templates/Arrays.js.\n\npragma solidity ^0.8.20;\n\nimport {Comparators} from \"./Comparators.sol\";\nimport {SlotDerivation} from \"./SlotDerivation.sol\";\nimport {StorageSlot} from \"./StorageSlot.sol\";\nimport {Math} from \"./math/Math.sol\";\n\n/**\n * @dev Collection of functions related to array types.\n */\nlibrary Arrays {\n using SlotDerivation for bytes32;\n using StorageSlot for bytes32;\n\n /**\n * @dev Sort an array of uint256 (in memory) following the provided comparator function.\n *\n * This function does the sorting \"in place\", meaning that it overrides the input. The object is returned for\n * convenience, but that returned value can be discarded safely if the caller has a memory pointer to the array.\n *\n * NOTE: this function's cost is `O(n · log(n))` in average and `O(n²)` in the worst case, with n the length of the\n * array. Using it in view functions that are executed through `eth_call` is safe, but one should be very careful\n * when executing this as part of a transaction. If the array being sorted is too large, the sort operation may\n * consume more gas than is available in a block, leading to potential DoS.\n *\n * IMPORTANT: Consider memory side-effects when using custom comparator functions that access memory in an unsafe way.\n */\n function sort(\n uint256[] memory array,\n function(uint256, uint256) pure returns (bool) comp\n ) internal pure returns (uint256[] memory) {\n _quickSort(_begin(array), _end(array), comp);\n return array;\n }\n\n /**\n * @dev Variant of {sort} that sorts an array of uint256 in increasing order.\n */\n function sort(uint256[] memory array) internal pure returns (uint256[] memory) {\n sort(array, Comparators.lt);\n return array;\n }\n\n /**\n * @dev Sort an array of address (in memory) following the provided comparator function.\n *\n * This function does the sorting \"in place\", meaning that it overrides the input. The object is returned for\n * convenience, but that returned value can be discarded safely if the caller has a memory pointer to the array.\n *\n * NOTE: this function's cost is `O(n · log(n))` in average and `O(n²)` in the worst case, with n the length of the\n * array. Using it in view functions that are executed through `eth_call` is safe, but one should be very careful\n * when executing this as part of a transaction. If the array being sorted is too large, the sort operation may\n * consume more gas than is available in a block, leading to potential DoS.\n *\n * IMPORTANT: Consider memory side-effects when using custom comparator functions that access memory in an unsafe way.\n */\n function sort(\n address[] memory array,\n function(address, address) pure returns (bool) comp\n ) internal pure returns (address[] memory) {\n sort(_castToUint256Array(array), _castToUint256Comp(comp));\n return array;\n }\n\n /**\n * @dev Variant of {sort} that sorts an array of address in increasing order.\n */\n function sort(address[] memory array) internal pure returns (address[] memory) {\n sort(_castToUint256Array(array), Comparators.lt);\n return array;\n }\n\n /**\n * @dev Sort an array of bytes32 (in memory) following the provided comparator function.\n *\n * This function does the sorting \"in place\", meaning that it overrides the input. The object is returned for\n * convenience, but that returned value can be discarded safely if the caller has a memory pointer to the array.\n *\n * NOTE: this function's cost is `O(n · log(n))` in average and `O(n²)` in the worst case, with n the length of the\n * array. Using it in view functions that are executed through `eth_call` is safe, but one should be very careful\n * when executing this as part of a transaction. If the array being sorted is too large, the sort operation may\n * consume more gas than is available in a block, leading to potential DoS.\n *\n * IMPORTANT: Consider memory side-effects when using custom comparator functions that access memory in an unsafe way.\n */\n function sort(\n bytes32[] memory array,\n function(bytes32, bytes32) pure returns (bool) comp\n ) internal pure returns (bytes32[] memory) {\n sort(_castToUint256Array(array), _castToUint256Comp(comp));\n return array;\n }\n\n /**\n * @dev Variant of {sort} that sorts an array of bytes32 in increasing order.\n */\n function sort(bytes32[] memory array) internal pure returns (bytes32[] memory) {\n sort(_castToUint256Array(array), Comparators.lt);\n return array;\n }\n\n /**\n * @dev Performs a quick sort of a segment of memory. The segment sorted starts at `begin` (inclusive), and stops\n * at end (exclusive). Sorting follows the `comp` comparator.\n *\n * Invariant: `begin <= end`. This is the case when initially called by {sort} and is preserved in subcalls.\n *\n * IMPORTANT: Memory locations between `begin` and `end` are not validated/zeroed. This function should\n * be used only if the limits are within a memory array.\n */\n function _quickSort(uint256 begin, uint256 end, function(uint256, uint256) pure returns (bool) comp) private pure {\n unchecked {\n if (end - begin < 0x40) return;\n\n // Use first element as pivot\n uint256 pivot = _mload(begin);\n // Position where the pivot should be at the end of the loop\n uint256 pos = begin;\n\n for (uint256 it = begin + 0x20; it < end; it += 0x20) {\n if (comp(_mload(it), pivot)) {\n // If the value stored at the iterator's position comes before the pivot, we increment the\n // position of the pivot and move the value there.\n pos += 0x20;\n _swap(pos, it);\n }\n }\n\n _swap(begin, pos); // Swap pivot into place\n _quickSort(begin, pos, comp); // Sort the left side of the pivot\n _quickSort(pos + 0x20, end, comp); // Sort the right side of the pivot\n }\n }\n\n /**\n * @dev Pointer to the memory location of the first element of `array`.\n */\n function _begin(uint256[] memory array) private pure returns (uint256 ptr) {\n assembly (\"memory-safe\") {\n ptr := add(array, 0x20)\n }\n }\n\n /**\n * @dev Pointer to the memory location of the first memory word (32bytes) after `array`. This is the memory word\n * that comes just after the last element of the array.\n */\n function _end(uint256[] memory array) private pure returns (uint256 ptr) {\n unchecked {\n return _begin(array) + array.length * 0x20;\n }\n }\n\n /**\n * @dev Load memory word (as a uint256) at location `ptr`.\n */\n function _mload(uint256 ptr) private pure returns (uint256 value) {\n assembly {\n value := mload(ptr)\n }\n }\n\n /**\n * @dev Swaps the elements memory location `ptr1` and `ptr2`.\n */\n function _swap(uint256 ptr1, uint256 ptr2) private pure {\n assembly {\n let value1 := mload(ptr1)\n let value2 := mload(ptr2)\n mstore(ptr1, value2)\n mstore(ptr2, value1)\n }\n }\n\n /// @dev Helper: low level cast address memory array to uint256 memory array\n function _castToUint256Array(address[] memory input) private pure returns (uint256[] memory output) {\n assembly {\n output := input\n }\n }\n\n /// @dev Helper: low level cast bytes32 memory array to uint256 memory array\n function _castToUint256Array(bytes32[] memory input) private pure returns (uint256[] memory output) {\n assembly {\n output := input\n }\n }\n\n /// @dev Helper: low level cast address comp function to uint256 comp function\n function _castToUint256Comp(\n function(address, address) pure returns (bool) input\n ) private pure returns (function(uint256, uint256) pure returns (bool) output) {\n assembly {\n output := input\n }\n }\n\n /// @dev Helper: low level cast bytes32 comp function to uint256 comp function\n function _castToUint256Comp(\n function(bytes32, bytes32) pure returns (bool) input\n ) private pure returns (function(uint256, uint256) pure returns (bool) output) {\n assembly {\n output := input\n }\n }\n\n /**\n * @dev Searches a sorted `array` and returns the first index that contains\n * a value greater or equal to `element`. If no such index exists (i.e. all\n * values in the array are strictly less than `element`), the array length is\n * returned. Time complexity O(log n).\n *\n * NOTE: The `array` is expected to be sorted in ascending order, and to\n * contain no repeated elements.\n *\n * IMPORTANT: Deprecated. This implementation behaves as {lowerBound} but lacks\n * support for repeated elements in the array. The {lowerBound} function should\n * be used instead.\n */\n function findUpperBound(uint256[] storage array, uint256 element) internal view returns (uint256) {\n uint256 low = 0;\n uint256 high = array.length;\n\n if (high == 0) {\n return 0;\n }\n\n while (low < high) {\n uint256 mid = Math.average(low, high);\n\n // Note that mid will always be strictly less than high (i.e. it will be a valid array index)\n // because Math.average rounds towards zero (it does integer division with truncation).\n if (unsafeAccess(array, mid).value > element) {\n high = mid;\n } else {\n low = mid + 1;\n }\n }\n\n // At this point `low` is the exclusive upper bound. We will return the inclusive upper bound.\n if (low > 0 && unsafeAccess(array, low - 1).value == element) {\n return low - 1;\n } else {\n return low;\n }\n }\n\n /**\n * @dev Searches an `array` sorted in ascending order and returns the first\n * index that contains a value greater or equal than `element`. If no such index\n * exists (i.e. all values in the array are strictly less than `element`), the array\n * length is returned. Time complexity O(log n).\n *\n * See C++'s https://en.cppreference.com/w/cpp/algorithm/lower_bound[lower_bound].\n */\n function lowerBound(uint256[] storage array, uint256 element) internal view returns (uint256) {\n uint256 low = 0;\n uint256 high = array.length;\n\n if (high == 0) {\n return 0;\n }\n\n while (low < high) {\n uint256 mid = Math.average(low, high);\n\n // Note that mid will always be strictly less than high (i.e. it will be a valid array index)\n // because Math.average rounds towards zero (it does integer division with truncation).\n if (unsafeAccess(array, mid).value < element) {\n // this cannot overflow because mid < high\n unchecked {\n low = mid + 1;\n }\n } else {\n high = mid;\n }\n }\n\n return low;\n }\n\n /**\n * @dev Searches an `array` sorted in ascending order and returns the first\n * index that contains a value strictly greater than `element`. If no such index\n * exists (i.e. all values in the array are strictly less than `element`), the array\n * length is returned. Time complexity O(log n).\n *\n * See C++'s https://en.cppreference.com/w/cpp/algorithm/upper_bound[upper_bound].\n */\n function upperBound(uint256[] storage array, uint256 element) internal view returns (uint256) {\n uint256 low = 0;\n uint256 high = array.length;\n\n if (high == 0) {\n return 0;\n }\n\n while (low < high) {\n uint256 mid = Math.average(low, high);\n\n // Note that mid will always be strictly less than high (i.e. it will be a valid array index)\n // because Math.average rounds towards zero (it does integer division with truncation).\n if (unsafeAccess(array, mid).value > element) {\n high = mid;\n } else {\n // this cannot overflow because mid < high\n unchecked {\n low = mid + 1;\n }\n }\n }\n\n return low;\n }\n\n /**\n * @dev Same as {lowerBound}, but with an array in memory.\n */\n function lowerBoundMemory(uint256[] memory array, uint256 element) internal pure returns (uint256) {\n uint256 low = 0;\n uint256 high = array.length;\n\n if (high == 0) {\n return 0;\n }\n\n while (low < high) {\n uint256 mid = Math.average(low, high);\n\n // Note that mid will always be strictly less than high (i.e. it will be a valid array index)\n // because Math.average rounds towards zero (it does integer division with truncation).\n if (unsafeMemoryAccess(array, mid) < element) {\n // this cannot overflow because mid < high\n unchecked {\n low = mid + 1;\n }\n } else {\n high = mid;\n }\n }\n\n return low;\n }\n\n /**\n * @dev Same as {upperBound}, but with an array in memory.\n */\n function upperBoundMemory(uint256[] memory array, uint256 element) internal pure returns (uint256) {\n uint256 low = 0;\n uint256 high = array.length;\n\n if (high == 0) {\n return 0;\n }\n\n while (low < high) {\n uint256 mid = Math.average(low, high);\n\n // Note that mid will always be strictly less than high (i.e. it will be a valid array index)\n // because Math.average rounds towards zero (it does integer division with truncation).\n if (unsafeMemoryAccess(array, mid) > element) {\n high = mid;\n } else {\n // this cannot overflow because mid < high\n unchecked {\n low = mid + 1;\n }\n }\n }\n\n return low;\n }\n\n /**\n * @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n *\n * WARNING: Only use if you are certain `pos` is lower than the array length.\n */\n function unsafeAccess(address[] storage arr, uint256 pos) internal pure returns (StorageSlot.AddressSlot storage) {\n bytes32 slot;\n assembly (\"memory-safe\") {\n slot := arr.slot\n }\n return slot.deriveArray().offset(pos).getAddressSlot();\n }\n\n /**\n * @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n *\n * WARNING: Only use if you are certain `pos` is lower than the array length.\n */\n function unsafeAccess(bytes32[] storage arr, uint256 pos) internal pure returns (StorageSlot.Bytes32Slot storage) {\n bytes32 slot;\n assembly (\"memory-safe\") {\n slot := arr.slot\n }\n return slot.deriveArray().offset(pos).getBytes32Slot();\n }\n\n /**\n * @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n *\n * WARNING: Only use if you are certain `pos` is lower than the array length.\n */\n function unsafeAccess(uint256[] storage arr, uint256 pos) internal pure returns (StorageSlot.Uint256Slot storage) {\n bytes32 slot;\n assembly (\"memory-safe\") {\n slot := arr.slot\n }\n return slot.deriveArray().offset(pos).getUint256Slot();\n }\n\n /**\n * @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n *\n * WARNING: Only use if you are certain `pos` is lower than the array length.\n */\n function unsafeAccess(bytes[] storage arr, uint256 pos) internal pure returns (StorageSlot.BytesSlot storage) {\n bytes32 slot;\n assembly (\"memory-safe\") {\n slot := arr.slot\n }\n return slot.deriveArray().offset(pos).getBytesSlot();\n }\n\n /**\n * @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n *\n * WARNING: Only use if you are certain `pos` is lower than the array length.\n */\n function unsafeAccess(string[] storage arr, uint256 pos) internal pure returns (StorageSlot.StringSlot storage) {\n bytes32 slot;\n assembly (\"memory-safe\") {\n slot := arr.slot\n }\n return slot.deriveArray().offset(pos).getStringSlot();\n }\n\n /**\n * @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n *\n * WARNING: Only use if you are certain `pos` is lower than the array length.\n */\n function unsafeMemoryAccess(address[] memory arr, uint256 pos) internal pure returns (address res) {\n assembly {\n res := mload(add(add(arr, 0x20), mul(pos, 0x20)))\n }\n }\n\n /**\n * @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n *\n * WARNING: Only use if you are certain `pos` is lower than the array length.\n */\n function unsafeMemoryAccess(bytes32[] memory arr, uint256 pos) internal pure returns (bytes32 res) {\n assembly {\n res := mload(add(add(arr, 0x20), mul(pos, 0x20)))\n }\n }\n\n /**\n * @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n *\n * WARNING: Only use if you are certain `pos` is lower than the array length.\n */\n function unsafeMemoryAccess(uint256[] memory arr, uint256 pos) internal pure returns (uint256 res) {\n assembly {\n res := mload(add(add(arr, 0x20), mul(pos, 0x20)))\n }\n }\n\n /**\n * @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n *\n * WARNING: Only use if you are certain `pos` is lower than the array length.\n */\n function unsafeMemoryAccess(bytes[] memory arr, uint256 pos) internal pure returns (bytes memory res) {\n assembly {\n res := mload(add(add(arr, 0x20), mul(pos, 0x20)))\n }\n }\n\n /**\n * @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n *\n * WARNING: Only use if you are certain `pos` is lower than the array length.\n */\n function unsafeMemoryAccess(string[] memory arr, uint256 pos) internal pure returns (string memory res) {\n assembly {\n res := mload(add(add(arr, 0x20), mul(pos, 0x20)))\n }\n }\n\n /**\n * @dev Helper to set the length of a dynamic array. Directly writing to `.length` is forbidden.\n *\n * WARNING: this does not clear elements if length is reduced, of initialize elements if length is increased.\n */\n function unsafeSetLength(address[] storage array, uint256 len) internal {\n assembly (\"memory-safe\") {\n sstore(array.slot, len)\n }\n }\n\n /**\n * @dev Helper to set the length of a dynamic array. Directly writing to `.length` is forbidden.\n *\n * WARNING: this does not clear elements if length is reduced, of initialize elements if length is increased.\n */\n function unsafeSetLength(bytes32[] storage array, uint256 len) internal {\n assembly (\"memory-safe\") {\n sstore(array.slot, len)\n }\n }\n\n /**\n * @dev Helper to set the length of a dynamic array. Directly writing to `.length` is forbidden.\n *\n * WARNING: this does not clear elements if length is reduced, of initialize elements if length is increased.\n */\n function unsafeSetLength(uint256[] storage array, uint256 len) internal {\n assembly (\"memory-safe\") {\n sstore(array.slot, len)\n }\n }\n\n /**\n * @dev Helper to set the length of a dynamic array. Directly writing to `.length` is forbidden.\n *\n * WARNING: this does not clear elements if length is reduced, of initialize elements if length is increased.\n */\n function unsafeSetLength(bytes[] storage array, uint256 len) internal {\n assembly (\"memory-safe\") {\n sstore(array.slot, len)\n }\n }\n\n /**\n * @dev Helper to set the length of a dynamic array. Directly writing to `.length` is forbidden.\n *\n * WARNING: this does not clear elements if length is reduced, of initialize elements if length is increased.\n */\n function unsafeSetLength(string[] storage array, uint256 len) internal {\n assembly (\"memory-safe\") {\n sstore(array.slot, len)\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/Comparators.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/Comparators.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Provides a set of functions to compare values.\n *\n * _Available since v5.1._\n */\nlibrary Comparators {\n function lt(uint256 a, uint256 b) internal pure returns (bool) {\n return a < b;\n }\n\n function gt(uint256 a, uint256 b) internal pure returns (bool) {\n return a > b;\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n\n function _contextSuffixLength() internal view virtual returns (uint256) {\n return 0;\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/Errors.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Collection of common custom errors used in multiple contracts\n *\n * IMPORTANT: Backwards compatibility is not guaranteed in future versions of the library.\n * It is recommended to avoid relying on the error API for critical functionality.\n *\n * _Available since v5.1._\n */\nlibrary Errors {\n /**\n * @dev The ETH balance of the account is not enough to perform the operation.\n */\n error InsufficientBalance(uint256 balance, uint256 needed);\n\n /**\n * @dev A call to an address target failed. The target may have reverted.\n */\n error FailedCall();\n\n /**\n * @dev The deployment failed.\n */\n error FailedDeployment();\n\n /**\n * @dev A necessary precompile is missing.\n */\n error MissingPrecompile(address);\n}\n"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/Panic.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Helper library for emitting standardized panic codes.\n *\n * ```solidity\n * contract Example {\n * using Panic for uint256;\n *\n * // Use any of the declared internal constants\n * function foo() { Panic.GENERIC.panic(); }\n *\n * // Alternatively\n * function foo() { Panic.panic(Panic.GENERIC); }\n * }\n * ```\n *\n * Follows the list from https://github.com/ethereum/solidity/blob/v0.8.24/libsolutil/ErrorCodes.h[libsolutil].\n *\n * _Available since v5.1._\n */\n// slither-disable-next-line unused-state\nlibrary Panic {\n /// @dev generic / unspecified error\n uint256 internal constant GENERIC = 0x00;\n /// @dev used by the assert() builtin\n uint256 internal constant ASSERT = 0x01;\n /// @dev arithmetic underflow or overflow\n uint256 internal constant UNDER_OVERFLOW = 0x11;\n /// @dev division or modulo by zero\n uint256 internal constant DIVISION_BY_ZERO = 0x12;\n /// @dev enum conversion error\n uint256 internal constant ENUM_CONVERSION_ERROR = 0x21;\n /// @dev invalid encoding in storage\n uint256 internal constant STORAGE_ENCODING_ERROR = 0x22;\n /// @dev empty array pop\n uint256 internal constant EMPTY_ARRAY_POP = 0x31;\n /// @dev array out of bounds access\n uint256 internal constant ARRAY_OUT_OF_BOUNDS = 0x32;\n /// @dev resource error (too large allocation or too large array)\n uint256 internal constant RESOURCE_ERROR = 0x41;\n /// @dev calling invalid internal function\n uint256 internal constant INVALID_INTERNAL_FUNCTION = 0x51;\n\n /// @dev Reverts with a panic code. Recommended to use with\n /// the internal constants with predefined codes.\n function panic(uint256 code) internal pure {\n assembly (\"memory-safe\") {\n mstore(0x00, 0x4e487b71)\n mstore(0x20, code)\n revert(0x1c, 0x24)\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.3.0) (utils/SlotDerivation.sol)\n// This file was procedurally generated from scripts/generate/templates/SlotDerivation.js.\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Library for computing storage (and transient storage) locations from namespaces and deriving slots\n * corresponding to standard patterns. The derivation method for array and mapping matches the storage layout used by\n * the solidity language / compiler.\n *\n * See https://docs.soliditylang.org/en/v0.8.20/internals/layout_in_storage.html#mappings-and-dynamic-arrays[Solidity docs for mappings and dynamic arrays.].\n *\n * Example usage:\n * ```solidity\n * contract Example {\n * // Add the library methods\n * using StorageSlot for bytes32;\n * using SlotDerivation for bytes32;\n *\n * // Declare a namespace\n * string private constant _NAMESPACE = \"\"; // eg. OpenZeppelin.Slot\n *\n * function setValueInNamespace(uint256 key, address newValue) internal {\n * _NAMESPACE.erc7201Slot().deriveMapping(key).getAddressSlot().value = newValue;\n * }\n *\n * function getValueInNamespace(uint256 key) internal view returns (address) {\n * return _NAMESPACE.erc7201Slot().deriveMapping(key).getAddressSlot().value;\n * }\n * }\n * ```\n *\n * TIP: Consider using this library along with {StorageSlot}.\n *\n * NOTE: This library provides a way to manipulate storage locations in a non-standard way. Tooling for checking\n * upgrade safety will ignore the slots accessed through this library.\n *\n * _Available since v5.1._\n */\nlibrary SlotDerivation {\n /**\n * @dev Derive an ERC-7201 slot from a string (namespace).\n */\n function erc7201Slot(string memory namespace) internal pure returns (bytes32 slot) {\n assembly (\"memory-safe\") {\n mstore(0x00, sub(keccak256(add(namespace, 0x20), mload(namespace)), 1))\n slot := and(keccak256(0x00, 0x20), not(0xff))\n }\n }\n\n /**\n * @dev Add an offset to a slot to get the n-th element of a structure or an array.\n */\n function offset(bytes32 slot, uint256 pos) internal pure returns (bytes32 result) {\n unchecked {\n return bytes32(uint256(slot) + pos);\n }\n }\n\n /**\n * @dev Derive the location of the first element in an array from the slot where the length is stored.\n */\n function deriveArray(bytes32 slot) internal pure returns (bytes32 result) {\n assembly (\"memory-safe\") {\n mstore(0x00, slot)\n result := keccak256(0x00, 0x20)\n }\n }\n\n /**\n * @dev Derive the location of a mapping element from the key.\n */\n function deriveMapping(bytes32 slot, address key) internal pure returns (bytes32 result) {\n assembly (\"memory-safe\") {\n mstore(0x00, and(key, shr(96, not(0))))\n mstore(0x20, slot)\n result := keccak256(0x00, 0x40)\n }\n }\n\n /**\n * @dev Derive the location of a mapping element from the key.\n */\n function deriveMapping(bytes32 slot, bool key) internal pure returns (bytes32 result) {\n assembly (\"memory-safe\") {\n mstore(0x00, iszero(iszero(key)))\n mstore(0x20, slot)\n result := keccak256(0x00, 0x40)\n }\n }\n\n /**\n * @dev Derive the location of a mapping element from the key.\n */\n function deriveMapping(bytes32 slot, bytes32 key) internal pure returns (bytes32 result) {\n assembly (\"memory-safe\") {\n mstore(0x00, key)\n mstore(0x20, slot)\n result := keccak256(0x00, 0x40)\n }\n }\n\n /**\n * @dev Derive the location of a mapping element from the key.\n */\n function deriveMapping(bytes32 slot, uint256 key) internal pure returns (bytes32 result) {\n assembly (\"memory-safe\") {\n mstore(0x00, key)\n mstore(0x20, slot)\n result := keccak256(0x00, 0x40)\n }\n }\n\n /**\n * @dev Derive the location of a mapping element from the key.\n */\n function deriveMapping(bytes32 slot, int256 key) internal pure returns (bytes32 result) {\n assembly (\"memory-safe\") {\n mstore(0x00, key)\n mstore(0x20, slot)\n result := keccak256(0x00, 0x40)\n }\n }\n\n /**\n * @dev Derive the location of a mapping element from the key.\n */\n function deriveMapping(bytes32 slot, string memory key) internal pure returns (bytes32 result) {\n assembly (\"memory-safe\") {\n let length := mload(key)\n let begin := add(key, 0x20)\n let end := add(begin, length)\n let cache := mload(end)\n mstore(end, slot)\n result := keccak256(begin, add(length, 0x20))\n mstore(end, cache)\n }\n }\n\n /**\n * @dev Derive the location of a mapping element from the key.\n */\n function deriveMapping(bytes32 slot, bytes memory key) internal pure returns (bytes32 result) {\n assembly (\"memory-safe\") {\n let length := mload(key)\n let begin := add(key, 0x20)\n let end := add(begin, length)\n let cache := mload(end)\n mstore(end, slot)\n result := keccak256(begin, add(length, 0x20))\n mstore(end, cache)\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/StorageSlot.sol)\n// This file was procedurally generated from scripts/generate/templates/StorageSlot.js.\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Library for reading and writing primitive types to specific storage slots.\n *\n * Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.\n * This library helps with reading and writing to such slots without the need for inline assembly.\n *\n * The functions in this library return Slot structs that contain a `value` member that can be used to read or write.\n *\n * Example usage to set ERC-1967 implementation slot:\n * ```solidity\n * contract ERC1967 {\n * // Define the slot. Alternatively, use the SlotDerivation library to derive the slot.\n * bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n *\n * function _getImplementation() internal view returns (address) {\n * return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;\n * }\n *\n * function _setImplementation(address newImplementation) internal {\n * require(newImplementation.code.length > 0);\n * StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;\n * }\n * }\n * ```\n *\n * TIP: Consider using this library along with {SlotDerivation}.\n */\nlibrary StorageSlot {\n struct AddressSlot {\n address value;\n }\n\n struct BooleanSlot {\n bool value;\n }\n\n struct Bytes32Slot {\n bytes32 value;\n }\n\n struct Uint256Slot {\n uint256 value;\n }\n\n struct Int256Slot {\n int256 value;\n }\n\n struct StringSlot {\n string value;\n }\n\n struct BytesSlot {\n bytes value;\n }\n\n /**\n * @dev Returns an `AddressSlot` with member `value` located at `slot`.\n */\n function getAddressSlot(bytes32 slot) internal pure returns (AddressSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `BooleanSlot` with member `value` located at `slot`.\n */\n function getBooleanSlot(bytes32 slot) internal pure returns (BooleanSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `Bytes32Slot` with member `value` located at `slot`.\n */\n function getBytes32Slot(bytes32 slot) internal pure returns (Bytes32Slot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `Uint256Slot` with member `value` located at `slot`.\n */\n function getUint256Slot(bytes32 slot) internal pure returns (Uint256Slot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `Int256Slot` with member `value` located at `slot`.\n */\n function getInt256Slot(bytes32 slot) internal pure returns (Int256Slot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `StringSlot` with member `value` located at `slot`.\n */\n function getStringSlot(bytes32 slot) internal pure returns (StringSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns an `StringSlot` representation of the string storage pointer `store`.\n */\n function getStringSlot(string storage store) internal pure returns (StringSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := store.slot\n }\n }\n\n /**\n * @dev Returns a `BytesSlot` with member `value` located at `slot`.\n */\n function getBytesSlot(bytes32 slot) internal pure returns (BytesSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns an `BytesSlot` representation of the bytes storage pointer `store`.\n */\n function getBytesSlot(bytes storage store) internal pure returns (BytesSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := store.slot\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (utils/Strings.sol)\n\npragma solidity ^0.8.20;\n\nimport {Math} from \"./math/Math.sol\";\nimport {SafeCast} from \"./math/SafeCast.sol\";\nimport {SignedMath} from \"./math/SignedMath.sol\";\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n using SafeCast for *;\n\n bytes16 private constant HEX_DIGITS = \"0123456789abcdef\";\n uint8 private constant ADDRESS_LENGTH = 20;\n uint256 private constant SPECIAL_CHARS_LOOKUP =\n (1 << 0x08) | // backspace\n (1 << 0x09) | // tab\n (1 << 0x0a) | // newline\n (1 << 0x0c) | // form feed\n (1 << 0x0d) | // carriage return\n (1 << 0x22) | // double quote\n (1 << 0x5c); // backslash\n\n /**\n * @dev The `value` string doesn't fit in the specified `length`.\n */\n error StringsInsufficientHexLength(uint256 value, uint256 length);\n\n /**\n * @dev The string being parsed contains characters that are not in scope of the given base.\n */\n error StringsInvalidChar();\n\n /**\n * @dev The string being parsed is not a properly formatted address.\n */\n error StringsInvalidAddressFormat();\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` decimal representation.\n */\n function toString(uint256 value) internal pure returns (string memory) {\n unchecked {\n uint256 length = Math.log10(value) + 1;\n string memory buffer = new string(length);\n uint256 ptr;\n assembly (\"memory-safe\") {\n ptr := add(add(buffer, 0x20), length)\n }\n while (true) {\n ptr--;\n assembly (\"memory-safe\") {\n mstore8(ptr, byte(mod(value, 10), HEX_DIGITS))\n }\n value /= 10;\n if (value == 0) break;\n }\n return buffer;\n }\n }\n\n /**\n * @dev Converts a `int256` to its ASCII `string` decimal representation.\n */\n function toStringSigned(int256 value) internal pure returns (string memory) {\n return string.concat(value < 0 ? \"-\" : \"\", toString(SignedMath.abs(value)));\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.\n */\n function toHexString(uint256 value) internal pure returns (string memory) {\n unchecked {\n return toHexString(value, Math.log256(value) + 1);\n }\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.\n */\n function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\n uint256 localValue = value;\n bytes memory buffer = new bytes(2 * length + 2);\n buffer[0] = \"0\";\n buffer[1] = \"x\";\n for (uint256 i = 2 * length + 1; i > 1; --i) {\n buffer[i] = HEX_DIGITS[localValue & 0xf];\n localValue >>= 4;\n }\n if (localValue != 0) {\n revert StringsInsufficientHexLength(value, length);\n }\n return string(buffer);\n }\n\n /**\n * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal\n * representation.\n */\n function toHexString(address addr) internal pure returns (string memory) {\n return toHexString(uint256(uint160(addr)), ADDRESS_LENGTH);\n }\n\n /**\n * @dev Converts an `address` with fixed length of 20 bytes to its checksummed ASCII `string` hexadecimal\n * representation, according to EIP-55.\n */\n function toChecksumHexString(address addr) internal pure returns (string memory) {\n bytes memory buffer = bytes(toHexString(addr));\n\n // hash the hex part of buffer (skip length + 2 bytes, length 40)\n uint256 hashValue;\n assembly (\"memory-safe\") {\n hashValue := shr(96, keccak256(add(buffer, 0x22), 40))\n }\n\n for (uint256 i = 41; i > 1; --i) {\n // possible values for buffer[i] are 48 (0) to 57 (9) and 97 (a) to 102 (f)\n if (hashValue & 0xf > 7 && uint8(buffer[i]) > 96) {\n // case shift by xoring with 0x20\n buffer[i] ^= 0x20;\n }\n hashValue >>= 4;\n }\n return string(buffer);\n }\n\n /**\n * @dev Returns true if the two strings are equal.\n */\n function equal(string memory a, string memory b) internal pure returns (bool) {\n return bytes(a).length == bytes(b).length && keccak256(bytes(a)) == keccak256(bytes(b));\n }\n\n /**\n * @dev Parse a decimal string and returns the value as a `uint256`.\n *\n * Requirements:\n * - The string must be formatted as `[0-9]*`\n * - The result must fit into an `uint256` type\n */\n function parseUint(string memory input) internal pure returns (uint256) {\n return parseUint(input, 0, bytes(input).length);\n }\n\n /**\n * @dev Variant of {parseUint-string} that parses a substring of `input` located between position `begin` (included) and\n * `end` (excluded).\n *\n * Requirements:\n * - The substring must be formatted as `[0-9]*`\n * - The result must fit into an `uint256` type\n */\n function parseUint(string memory input, uint256 begin, uint256 end) internal pure returns (uint256) {\n (bool success, uint256 value) = tryParseUint(input, begin, end);\n if (!success) revert StringsInvalidChar();\n return value;\n }\n\n /**\n * @dev Variant of {parseUint-string} that returns false if the parsing fails because of an invalid character.\n *\n * NOTE: This function will revert if the result does not fit in a `uint256`.\n */\n function tryParseUint(string memory input) internal pure returns (bool success, uint256 value) {\n return _tryParseUintUncheckedBounds(input, 0, bytes(input).length);\n }\n\n /**\n * @dev Variant of {parseUint-string-uint256-uint256} that returns false if the parsing fails because of an invalid\n * character.\n *\n * NOTE: This function will revert if the result does not fit in a `uint256`.\n */\n function tryParseUint(\n string memory input,\n uint256 begin,\n uint256 end\n ) internal pure returns (bool success, uint256 value) {\n if (end > bytes(input).length || begin > end) return (false, 0);\n return _tryParseUintUncheckedBounds(input, begin, end);\n }\n\n /**\n * @dev Implementation of {tryParseUint-string-uint256-uint256} that does not check bounds. Caller should make sure that\n * `begin <= end <= input.length`. Other inputs would result in undefined behavior.\n */\n function _tryParseUintUncheckedBounds(\n string memory input,\n uint256 begin,\n uint256 end\n ) private pure returns (bool success, uint256 value) {\n bytes memory buffer = bytes(input);\n\n uint256 result = 0;\n for (uint256 i = begin; i < end; ++i) {\n uint8 chr = _tryParseChr(bytes1(_unsafeReadBytesOffset(buffer, i)));\n if (chr > 9) return (false, 0);\n result *= 10;\n result += chr;\n }\n return (true, result);\n }\n\n /**\n * @dev Parse a decimal string and returns the value as a `int256`.\n *\n * Requirements:\n * - The string must be formatted as `[-+]?[0-9]*`\n * - The result must fit in an `int256` type.\n */\n function parseInt(string memory input) internal pure returns (int256) {\n return parseInt(input, 0, bytes(input).length);\n }\n\n /**\n * @dev Variant of {parseInt-string} that parses a substring of `input` located between position `begin` (included) and\n * `end` (excluded).\n *\n * Requirements:\n * - The substring must be formatted as `[-+]?[0-9]*`\n * - The result must fit in an `int256` type.\n */\n function parseInt(string memory input, uint256 begin, uint256 end) internal pure returns (int256) {\n (bool success, int256 value) = tryParseInt(input, begin, end);\n if (!success) revert StringsInvalidChar();\n return value;\n }\n\n /**\n * @dev Variant of {parseInt-string} that returns false if the parsing fails because of an invalid character or if\n * the result does not fit in a `int256`.\n *\n * NOTE: This function will revert if the absolute value of the result does not fit in a `uint256`.\n */\n function tryParseInt(string memory input) internal pure returns (bool success, int256 value) {\n return _tryParseIntUncheckedBounds(input, 0, bytes(input).length);\n }\n\n uint256 private constant ABS_MIN_INT256 = 2 ** 255;\n\n /**\n * @dev Variant of {parseInt-string-uint256-uint256} that returns false if the parsing fails because of an invalid\n * character or if the result does not fit in a `int256`.\n *\n * NOTE: This function will revert if the absolute value of the result does not fit in a `uint256`.\n */\n function tryParseInt(\n string memory input,\n uint256 begin,\n uint256 end\n ) internal pure returns (bool success, int256 value) {\n if (end > bytes(input).length || begin > end) return (false, 0);\n return _tryParseIntUncheckedBounds(input, begin, end);\n }\n\n /**\n * @dev Implementation of {tryParseInt-string-uint256-uint256} that does not check bounds. Caller should make sure that\n * `begin <= end <= input.length`. Other inputs would result in undefined behavior.\n */\n function _tryParseIntUncheckedBounds(\n string memory input,\n uint256 begin,\n uint256 end\n ) private pure returns (bool success, int256 value) {\n bytes memory buffer = bytes(input);\n\n // Check presence of a negative sign.\n bytes1 sign = begin == end ? bytes1(0) : bytes1(_unsafeReadBytesOffset(buffer, begin)); // don't do out-of-bound (possibly unsafe) read if sub-string is empty\n bool positiveSign = sign == bytes1(\"+\");\n bool negativeSign = sign == bytes1(\"-\");\n uint256 offset = (positiveSign || negativeSign).toUint();\n\n (bool absSuccess, uint256 absValue) = tryParseUint(input, begin + offset, end);\n\n if (absSuccess && absValue < ABS_MIN_INT256) {\n return (true, negativeSign ? -int256(absValue) : int256(absValue));\n } else if (absSuccess && negativeSign && absValue == ABS_MIN_INT256) {\n return (true, type(int256).min);\n } else return (false, 0);\n }\n\n /**\n * @dev Parse a hexadecimal string (with or without \"0x\" prefix), and returns the value as a `uint256`.\n *\n * Requirements:\n * - The string must be formatted as `(0x)?[0-9a-fA-F]*`\n * - The result must fit in an `uint256` type.\n */\n function parseHexUint(string memory input) internal pure returns (uint256) {\n return parseHexUint(input, 0, bytes(input).length);\n }\n\n /**\n * @dev Variant of {parseHexUint-string} that parses a substring of `input` located between position `begin` (included) and\n * `end` (excluded).\n *\n * Requirements:\n * - The substring must be formatted as `(0x)?[0-9a-fA-F]*`\n * - The result must fit in an `uint256` type.\n */\n function parseHexUint(string memory input, uint256 begin, uint256 end) internal pure returns (uint256) {\n (bool success, uint256 value) = tryParseHexUint(input, begin, end);\n if (!success) revert StringsInvalidChar();\n return value;\n }\n\n /**\n * @dev Variant of {parseHexUint-string} that returns false if the parsing fails because of an invalid character.\n *\n * NOTE: This function will revert if the result does not fit in a `uint256`.\n */\n function tryParseHexUint(string memory input) internal pure returns (bool success, uint256 value) {\n return _tryParseHexUintUncheckedBounds(input, 0, bytes(input).length);\n }\n\n /**\n * @dev Variant of {parseHexUint-string-uint256-uint256} that returns false if the parsing fails because of an\n * invalid character.\n *\n * NOTE: This function will revert if the result does not fit in a `uint256`.\n */\n function tryParseHexUint(\n string memory input,\n uint256 begin,\n uint256 end\n ) internal pure returns (bool success, uint256 value) {\n if (end > bytes(input).length || begin > end) return (false, 0);\n return _tryParseHexUintUncheckedBounds(input, begin, end);\n }\n\n /**\n * @dev Implementation of {tryParseHexUint-string-uint256-uint256} that does not check bounds. Caller should make sure that\n * `begin <= end <= input.length`. Other inputs would result in undefined behavior.\n */\n function _tryParseHexUintUncheckedBounds(\n string memory input,\n uint256 begin,\n uint256 end\n ) private pure returns (bool success, uint256 value) {\n bytes memory buffer = bytes(input);\n\n // skip 0x prefix if present\n bool hasPrefix = (end > begin + 1) && bytes2(_unsafeReadBytesOffset(buffer, begin)) == bytes2(\"0x\"); // don't do out-of-bound (possibly unsafe) read if sub-string is empty\n uint256 offset = hasPrefix.toUint() * 2;\n\n uint256 result = 0;\n for (uint256 i = begin + offset; i < end; ++i) {\n uint8 chr = _tryParseChr(bytes1(_unsafeReadBytesOffset(buffer, i)));\n if (chr > 15) return (false, 0);\n result *= 16;\n unchecked {\n // Multiplying by 16 is equivalent to a shift of 4 bits (with additional overflow check).\n // This guarantees that adding a value < 16 will not cause an overflow, hence the unchecked.\n result += chr;\n }\n }\n return (true, result);\n }\n\n /**\n * @dev Parse a hexadecimal string (with or without \"0x\" prefix), and returns the value as an `address`.\n *\n * Requirements:\n * - The string must be formatted as `(0x)?[0-9a-fA-F]{40}`\n */\n function parseAddress(string memory input) internal pure returns (address) {\n return parseAddress(input, 0, bytes(input).length);\n }\n\n /**\n * @dev Variant of {parseAddress-string} that parses a substring of `input` located between position `begin` (included) and\n * `end` (excluded).\n *\n * Requirements:\n * - The substring must be formatted as `(0x)?[0-9a-fA-F]{40}`\n */\n function parseAddress(string memory input, uint256 begin, uint256 end) internal pure returns (address) {\n (bool success, address value) = tryParseAddress(input, begin, end);\n if (!success) revert StringsInvalidAddressFormat();\n return value;\n }\n\n /**\n * @dev Variant of {parseAddress-string} that returns false if the parsing fails because the input is not a properly\n * formatted address. See {parseAddress-string} requirements.\n */\n function tryParseAddress(string memory input) internal pure returns (bool success, address value) {\n return tryParseAddress(input, 0, bytes(input).length);\n }\n\n /**\n * @dev Variant of {parseAddress-string-uint256-uint256} that returns false if the parsing fails because input is not a properly\n * formatted address. See {parseAddress-string-uint256-uint256} requirements.\n */\n function tryParseAddress(\n string memory input,\n uint256 begin,\n uint256 end\n ) internal pure returns (bool success, address value) {\n if (end > bytes(input).length || begin > end) return (false, address(0));\n\n bool hasPrefix = (end > begin + 1) && bytes2(_unsafeReadBytesOffset(bytes(input), begin)) == bytes2(\"0x\"); // don't do out-of-bound (possibly unsafe) read if sub-string is empty\n uint256 expectedLength = 40 + hasPrefix.toUint() * 2;\n\n // check that input is the correct length\n if (end - begin == expectedLength) {\n // length guarantees that this does not overflow, and value is at most type(uint160).max\n (bool s, uint256 v) = _tryParseHexUintUncheckedBounds(input, begin, end);\n return (s, address(uint160(v)));\n } else {\n return (false, address(0));\n }\n }\n\n function _tryParseChr(bytes1 chr) private pure returns (uint8) {\n uint8 value = uint8(chr);\n\n // Try to parse `chr`:\n // - Case 1: [0-9]\n // - Case 2: [a-f]\n // - Case 3: [A-F]\n // - otherwise not supported\n unchecked {\n if (value > 47 && value < 58) value -= 48;\n else if (value > 96 && value < 103) value -= 87;\n else if (value > 64 && value < 71) value -= 55;\n else return type(uint8).max;\n }\n\n return value;\n }\n\n /**\n * @dev Escape special characters in JSON strings. This can be useful to prevent JSON injection in NFT metadata.\n *\n * WARNING: This function should only be used in double quoted JSON strings. Single quotes are not escaped.\n *\n * NOTE: This function escapes all unicode characters, and not just the ones in ranges defined in section 2.5 of\n * RFC-4627 (U+0000 to U+001F, U+0022 and U+005C). ECMAScript's `JSON.parse` does recover escaped unicode\n * characters that are not in this range, but other tooling may provide different results.\n */\n function escapeJSON(string memory input) internal pure returns (string memory) {\n bytes memory buffer = bytes(input);\n bytes memory output = new bytes(2 * buffer.length); // worst case scenario\n uint256 outputLength = 0;\n\n for (uint256 i; i < buffer.length; ++i) {\n bytes1 char = bytes1(_unsafeReadBytesOffset(buffer, i));\n if (((SPECIAL_CHARS_LOOKUP & (1 << uint8(char))) != 0)) {\n output[outputLength++] = \"\\\\\";\n if (char == 0x08) output[outputLength++] = \"b\";\n else if (char == 0x09) output[outputLength++] = \"t\";\n else if (char == 0x0a) output[outputLength++] = \"n\";\n else if (char == 0x0c) output[outputLength++] = \"f\";\n else if (char == 0x0d) output[outputLength++] = \"r\";\n else if (char == 0x5c) output[outputLength++] = \"\\\\\";\n else if (char == 0x22) {\n // solhint-disable-next-line quotes\n output[outputLength++] = '\"';\n }\n } else {\n output[outputLength++] = char;\n }\n }\n // write the actual length and deallocate unused memory\n assembly (\"memory-safe\") {\n mstore(output, outputLength)\n mstore(0x40, add(output, shl(5, shr(5, add(outputLength, 63)))))\n }\n\n return string(output);\n }\n\n /**\n * @dev Reads a bytes32 from a bytes array without bounds checking.\n *\n * NOTE: making this function internal would mean it could be used with memory unsafe offset, and marking the\n * assembly block as such would prevent some optimizations.\n */\n function _unsafeReadBytesOffset(bytes memory buffer, uint256 offset) private pure returns (bytes32 value) {\n // This is not memory safe in the general case, but all calls to this private function are within bounds.\n assembly (\"memory-safe\") {\n value := mload(add(add(buffer, 0x20), offset))\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (utils/introspection/ERC165.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC165} from \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC-165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n */\nabstract contract ERC165 is IERC165 {\n /// @inheritdoc IERC165\n function supportsInterface(bytes4 interfaceId) public view virtual returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/introspection/ERC165Checker.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC165} from \"./IERC165.sol\";\n\n/**\n * @dev Library used to query support of an interface declared via {IERC165}.\n *\n * Note that these functions return the actual result of the query: they do not\n * `revert` if an interface is not supported. It is up to the caller to decide\n * what to do in these cases.\n */\nlibrary ERC165Checker {\n // As per the ERC-165 spec, no interface should ever match 0xffffffff\n bytes4 private constant INTERFACE_ID_INVALID = 0xffffffff;\n\n /**\n * @dev Returns true if `account` supports the {IERC165} interface.\n */\n function supportsERC165(address account) internal view returns (bool) {\n // Any contract that implements ERC-165 must explicitly indicate support of\n // InterfaceId_ERC165 and explicitly indicate non-support of InterfaceId_Invalid\n return\n supportsERC165InterfaceUnchecked(account, type(IERC165).interfaceId) &&\n !supportsERC165InterfaceUnchecked(account, INTERFACE_ID_INVALID);\n }\n\n /**\n * @dev Returns true if `account` supports the interface defined by\n * `interfaceId`. Support for {IERC165} itself is queried automatically.\n *\n * See {IERC165-supportsInterface}.\n */\n function supportsInterface(address account, bytes4 interfaceId) internal view returns (bool) {\n // query support of both ERC-165 as per the spec and support of _interfaceId\n return supportsERC165(account) && supportsERC165InterfaceUnchecked(account, interfaceId);\n }\n\n /**\n * @dev Returns a boolean array where each value corresponds to the\n * interfaces passed in and whether they're supported or not. This allows\n * you to batch check interfaces for a contract where your expectation\n * is that some interfaces may not be supported.\n *\n * See {IERC165-supportsInterface}.\n */\n function getSupportedInterfaces(\n address account,\n bytes4[] memory interfaceIds\n ) internal view returns (bool[] memory) {\n // an array of booleans corresponding to interfaceIds and whether they're supported or not\n bool[] memory interfaceIdsSupported = new bool[](interfaceIds.length);\n\n // query support of ERC-165 itself\n if (supportsERC165(account)) {\n // query support of each interface in interfaceIds\n for (uint256 i = 0; i < interfaceIds.length; i++) {\n interfaceIdsSupported[i] = supportsERC165InterfaceUnchecked(account, interfaceIds[i]);\n }\n }\n\n return interfaceIdsSupported;\n }\n\n /**\n * @dev Returns true if `account` supports all the interfaces defined in\n * `interfaceIds`. Support for {IERC165} itself is queried automatically.\n *\n * Batch-querying can lead to gas savings by skipping repeated checks for\n * {IERC165} support.\n *\n * See {IERC165-supportsInterface}.\n */\n function supportsAllInterfaces(address account, bytes4[] memory interfaceIds) internal view returns (bool) {\n // query support of ERC-165 itself\n if (!supportsERC165(account)) {\n return false;\n }\n\n // query support of each interface in interfaceIds\n for (uint256 i = 0; i < interfaceIds.length; i++) {\n if (!supportsERC165InterfaceUnchecked(account, interfaceIds[i])) {\n return false;\n }\n }\n\n // all interfaces supported\n return true;\n }\n\n /**\n * @notice Query if a contract implements an interface, does not check ERC-165 support\n * @param account The address of the contract to query for support of an interface\n * @param interfaceId The interface identifier, as specified in ERC-165\n * @return true if the contract at account indicates support of the interface with\n * identifier interfaceId, false otherwise\n * @dev Assumes that account contains a contract that supports ERC-165, otherwise\n * the behavior of this method is undefined. This precondition can be checked\n * with {supportsERC165}.\n *\n * Some precompiled contracts will falsely indicate support for a given interface, so caution\n * should be exercised when using this function.\n *\n * Interface identification is specified in ERC-165.\n */\n function supportsERC165InterfaceUnchecked(address account, bytes4 interfaceId) internal view returns (bool) {\n // prepare call\n bytes memory encodedParams = abi.encodeCall(IERC165.supportsInterface, (interfaceId));\n\n // perform static call\n bool success;\n uint256 returnSize;\n uint256 returnValue;\n assembly (\"memory-safe\") {\n success := staticcall(30000, account, add(encodedParams, 0x20), mload(encodedParams), 0x00, 0x20)\n returnSize := returndatasize()\n returnValue := mload(0x00)\n }\n\n return success && returnSize >= 0x20 && returnValue > 0;\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (utils/introspection/IERC165.sol)\n\npragma solidity >=0.4.16;\n\n/**\n * @dev Interface of the ERC-165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[ERC].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.3.0) (utils/math/Math.sol)\n\npragma solidity ^0.8.20;\n\nimport {Panic} from \"../Panic.sol\";\nimport {SafeCast} from \"./SafeCast.sol\";\n\n/**\n * @dev Standard math utilities missing in the Solidity language.\n */\nlibrary Math {\n enum Rounding {\n Floor, // Toward negative infinity\n Ceil, // Toward positive infinity\n Trunc, // Toward zero\n Expand // Away from zero\n }\n\n /**\n * @dev Return the 512-bit addition of two uint256.\n *\n * The result is stored in two 256 variables such that sum = high * 2²⁵⁶ + low.\n */\n function add512(uint256 a, uint256 b) internal pure returns (uint256 high, uint256 low) {\n assembly (\"memory-safe\") {\n low := add(a, b)\n high := lt(low, a)\n }\n }\n\n /**\n * @dev Return the 512-bit multiplication of two uint256.\n *\n * The result is stored in two 256 variables such that product = high * 2²⁵⁶ + low.\n */\n function mul512(uint256 a, uint256 b) internal pure returns (uint256 high, uint256 low) {\n // 512-bit multiply [high low] = x * y. Compute the product mod 2²⁵⁶ and mod 2²⁵⁶ - 1, then use\n // the Chinese Remainder Theorem to reconstruct the 512 bit result. The result is stored in two 256\n // variables such that product = high * 2²⁵⁶ + low.\n assembly (\"memory-safe\") {\n let mm := mulmod(a, b, not(0))\n low := mul(a, b)\n high := sub(sub(mm, low), lt(mm, low))\n }\n }\n\n /**\n * @dev Returns the addition of two unsigned integers, with a success flag (no overflow).\n */\n function tryAdd(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {\n unchecked {\n uint256 c = a + b;\n success = c >= a;\n result = c * SafeCast.toUint(success);\n }\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, with a success flag (no overflow).\n */\n function trySub(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {\n unchecked {\n uint256 c = a - b;\n success = c <= a;\n result = c * SafeCast.toUint(success);\n }\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, with a success flag (no overflow).\n */\n function tryMul(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {\n unchecked {\n uint256 c = a * b;\n assembly (\"memory-safe\") {\n // Only true when the multiplication doesn't overflow\n // (c / a == b) || (a == 0)\n success := or(eq(div(c, a), b), iszero(a))\n }\n // equivalent to: success ? c : 0\n result = c * SafeCast.toUint(success);\n }\n }\n\n /**\n * @dev Returns the division of two unsigned integers, with a success flag (no division by zero).\n */\n function tryDiv(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {\n unchecked {\n success = b > 0;\n assembly (\"memory-safe\") {\n // The `DIV` opcode returns zero when the denominator is 0.\n result := div(a, b)\n }\n }\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers, with a success flag (no division by zero).\n */\n function tryMod(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {\n unchecked {\n success = b > 0;\n assembly (\"memory-safe\") {\n // The `MOD` opcode returns zero when the denominator is 0.\n result := mod(a, b)\n }\n }\n }\n\n /**\n * @dev Unsigned saturating addition, bounds to `2²⁵⁶ - 1` instead of overflowing.\n */\n function saturatingAdd(uint256 a, uint256 b) internal pure returns (uint256) {\n (bool success, uint256 result) = tryAdd(a, b);\n return ternary(success, result, type(uint256).max);\n }\n\n /**\n * @dev Unsigned saturating subtraction, bounds to zero instead of overflowing.\n */\n function saturatingSub(uint256 a, uint256 b) internal pure returns (uint256) {\n (, uint256 result) = trySub(a, b);\n return result;\n }\n\n /**\n * @dev Unsigned saturating multiplication, bounds to `2²⁵⁶ - 1` instead of overflowing.\n */\n function saturatingMul(uint256 a, uint256 b) internal pure returns (uint256) {\n (bool success, uint256 result) = tryMul(a, b);\n return ternary(success, result, type(uint256).max);\n }\n\n /**\n * @dev Branchless ternary evaluation for `a ? b : c`. Gas costs are constant.\n *\n * IMPORTANT: This function may reduce bytecode size and consume less gas when used standalone.\n * However, the compiler may optimize Solidity ternary operations (i.e. `a ? b : c`) to only compute\n * one branch when needed, making this function more expensive.\n */\n function ternary(bool condition, uint256 a, uint256 b) internal pure returns (uint256) {\n unchecked {\n // branchless ternary works because:\n // b ^ (a ^ b) == a\n // b ^ 0 == b\n return b ^ ((a ^ b) * SafeCast.toUint(condition));\n }\n }\n\n /**\n * @dev Returns the largest of two numbers.\n */\n function max(uint256 a, uint256 b) internal pure returns (uint256) {\n return ternary(a > b, a, b);\n }\n\n /**\n * @dev Returns the smallest of two numbers.\n */\n function min(uint256 a, uint256 b) internal pure returns (uint256) {\n return ternary(a < b, a, b);\n }\n\n /**\n * @dev Returns the average of two numbers. The result is rounded towards\n * zero.\n */\n function average(uint256 a, uint256 b) internal pure returns (uint256) {\n // (a + b) / 2 can overflow.\n return (a & b) + (a ^ b) / 2;\n }\n\n /**\n * @dev Returns the ceiling of the division of two numbers.\n *\n * This differs from standard division with `/` in that it rounds towards infinity instead\n * of rounding towards zero.\n */\n function ceilDiv(uint256 a, uint256 b) internal pure returns (uint256) {\n if (b == 0) {\n // Guarantee the same behavior as in a regular Solidity division.\n Panic.panic(Panic.DIVISION_BY_ZERO);\n }\n\n // The following calculation ensures accurate ceiling division without overflow.\n // Since a is non-zero, (a - 1) / b will not overflow.\n // The largest possible result occurs when (a - 1) / b is type(uint256).max,\n // but the largest value we can obtain is type(uint256).max - 1, which happens\n // when a = type(uint256).max and b = 1.\n unchecked {\n return SafeCast.toUint(a > 0) * ((a - 1) / b + 1);\n }\n }\n\n /**\n * @dev Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or\n * denominator == 0.\n *\n * Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv) with further edits by\n * Uniswap Labs also under MIT license.\n */\n function mulDiv(uint256 x, uint256 y, uint256 denominator) internal pure returns (uint256 result) {\n unchecked {\n (uint256 high, uint256 low) = mul512(x, y);\n\n // Handle non-overflow cases, 256 by 256 division.\n if (high == 0) {\n // Solidity will revert if denominator == 0, unlike the div opcode on its own.\n // The surrounding unchecked block does not change this fact.\n // See https://docs.soliditylang.org/en/latest/control-structures.html#checked-or-unchecked-arithmetic.\n return low / denominator;\n }\n\n // Make sure the result is less than 2²⁵⁶. Also prevents denominator == 0.\n if (denominator <= high) {\n Panic.panic(ternary(denominator == 0, Panic.DIVISION_BY_ZERO, Panic.UNDER_OVERFLOW));\n }\n\n ///////////////////////////////////////////////\n // 512 by 256 division.\n ///////////////////////////////////////////////\n\n // Make division exact by subtracting the remainder from [high low].\n uint256 remainder;\n assembly (\"memory-safe\") {\n // Compute remainder using mulmod.\n remainder := mulmod(x, y, denominator)\n\n // Subtract 256 bit number from 512 bit number.\n high := sub(high, gt(remainder, low))\n low := sub(low, remainder)\n }\n\n // Factor powers of two out of denominator and compute largest power of two divisor of denominator.\n // Always >= 1. See https://cs.stackexchange.com/q/138556/92363.\n\n uint256 twos = denominator & (0 - denominator);\n assembly (\"memory-safe\") {\n // Divide denominator by twos.\n denominator := div(denominator, twos)\n\n // Divide [high low] by twos.\n low := div(low, twos)\n\n // Flip twos such that it is 2²⁵⁶ / twos. If twos is zero, then it becomes one.\n twos := add(div(sub(0, twos), twos), 1)\n }\n\n // Shift in bits from high into low.\n low |= high * twos;\n\n // Invert denominator mod 2²⁵⁶. Now that denominator is an odd number, it has an inverse modulo 2²⁵⁶ such\n // that denominator * inv ≡ 1 mod 2²⁵⁶. Compute the inverse by starting with a seed that is correct for\n // four bits. That is, denominator * inv ≡ 1 mod 2⁴.\n uint256 inverse = (3 * denominator) ^ 2;\n\n // Use the Newton-Raphson iteration to improve the precision. Thanks to Hensel's lifting lemma, this also\n // works in modular arithmetic, doubling the correct bits in each step.\n inverse *= 2 - denominator * inverse; // inverse mod 2⁸\n inverse *= 2 - denominator * inverse; // inverse mod 2¹⁶\n inverse *= 2 - denominator * inverse; // inverse mod 2³²\n inverse *= 2 - denominator * inverse; // inverse mod 2⁶⁴\n inverse *= 2 - denominator * inverse; // inverse mod 2¹²⁸\n inverse *= 2 - denominator * inverse; // inverse mod 2²⁵⁶\n\n // Because the division is now exact we can divide by multiplying with the modular inverse of denominator.\n // This will give us the correct result modulo 2²⁵⁶. Since the preconditions guarantee that the outcome is\n // less than 2²⁵⁶, this is the final result. We don't need to compute the high bits of the result and high\n // is no longer required.\n result = low * inverse;\n return result;\n }\n }\n\n /**\n * @dev Calculates x * y / denominator with full precision, following the selected rounding direction.\n */\n function mulDiv(uint256 x, uint256 y, uint256 denominator, Rounding rounding) internal pure returns (uint256) {\n return mulDiv(x, y, denominator) + SafeCast.toUint(unsignedRoundsUp(rounding) && mulmod(x, y, denominator) > 0);\n }\n\n /**\n * @dev Calculates floor(x * y >> n) with full precision. Throws if result overflows a uint256.\n */\n function mulShr(uint256 x, uint256 y, uint8 n) internal pure returns (uint256 result) {\n unchecked {\n (uint256 high, uint256 low) = mul512(x, y);\n if (high >= 1 << n) {\n Panic.panic(Panic.UNDER_OVERFLOW);\n }\n return (high << (256 - n)) | (low >> n);\n }\n }\n\n /**\n * @dev Calculates x * y >> n with full precision, following the selected rounding direction.\n */\n function mulShr(uint256 x, uint256 y, uint8 n, Rounding rounding) internal pure returns (uint256) {\n return mulShr(x, y, n) + SafeCast.toUint(unsignedRoundsUp(rounding) && mulmod(x, y, 1 << n) > 0);\n }\n\n /**\n * @dev Calculate the modular multiplicative inverse of a number in Z/nZ.\n *\n * If n is a prime, then Z/nZ is a field. In that case all elements are inversible, except 0.\n * If n is not a prime, then Z/nZ is not a field, and some elements might not be inversible.\n *\n * If the input value is not inversible, 0 is returned.\n *\n * NOTE: If you know for sure that n is (big) a prime, it may be cheaper to use Fermat's little theorem and get the\n * inverse using `Math.modExp(a, n - 2, n)`. See {invModPrime}.\n */\n function invMod(uint256 a, uint256 n) internal pure returns (uint256) {\n unchecked {\n if (n == 0) return 0;\n\n // The inverse modulo is calculated using the Extended Euclidean Algorithm (iterative version)\n // Used to compute integers x and y such that: ax + ny = gcd(a, n).\n // When the gcd is 1, then the inverse of a modulo n exists and it's x.\n // ax + ny = 1\n // ax = 1 + (-y)n\n // ax ≡ 1 (mod n) # x is the inverse of a modulo n\n\n // If the remainder is 0 the gcd is n right away.\n uint256 remainder = a % n;\n uint256 gcd = n;\n\n // Therefore the initial coefficients are:\n // ax + ny = gcd(a, n) = n\n // 0a + 1n = n\n int256 x = 0;\n int256 y = 1;\n\n while (remainder != 0) {\n uint256 quotient = gcd / remainder;\n\n (gcd, remainder) = (\n // The old remainder is the next gcd to try.\n remainder,\n // Compute the next remainder.\n // Can't overflow given that (a % gcd) * (gcd // (a % gcd)) <= gcd\n // where gcd is at most n (capped to type(uint256).max)\n gcd - remainder * quotient\n );\n\n (x, y) = (\n // Increment the coefficient of a.\n y,\n // Decrement the coefficient of n.\n // Can overflow, but the result is casted to uint256 so that the\n // next value of y is \"wrapped around\" to a value between 0 and n - 1.\n x - y * int256(quotient)\n );\n }\n\n if (gcd != 1) return 0; // No inverse exists.\n return ternary(x < 0, n - uint256(-x), uint256(x)); // Wrap the result if it's negative.\n }\n }\n\n /**\n * @dev Variant of {invMod}. More efficient, but only works if `p` is known to be a prime greater than `2`.\n *\n * From https://en.wikipedia.org/wiki/Fermat%27s_little_theorem[Fermat's little theorem], we know that if p is\n * prime, then `a**(p-1) ≡ 1 mod p`. As a consequence, we have `a * a**(p-2) ≡ 1 mod p`, which means that\n * `a**(p-2)` is the modular multiplicative inverse of a in Fp.\n *\n * NOTE: this function does NOT check that `p` is a prime greater than `2`.\n */\n function invModPrime(uint256 a, uint256 p) internal view returns (uint256) {\n unchecked {\n return Math.modExp(a, p - 2, p);\n }\n }\n\n /**\n * @dev Returns the modular exponentiation of the specified base, exponent and modulus (b ** e % m)\n *\n * Requirements:\n * - modulus can't be zero\n * - underlying staticcall to precompile must succeed\n *\n * IMPORTANT: The result is only valid if the underlying call succeeds. When using this function, make\n * sure the chain you're using it on supports the precompiled contract for modular exponentiation\n * at address 0x05 as specified in https://eips.ethereum.org/EIPS/eip-198[EIP-198]. Otherwise,\n * the underlying function will succeed given the lack of a revert, but the result may be incorrectly\n * interpreted as 0.\n */\n function modExp(uint256 b, uint256 e, uint256 m) internal view returns (uint256) {\n (bool success, uint256 result) = tryModExp(b, e, m);\n if (!success) {\n Panic.panic(Panic.DIVISION_BY_ZERO);\n }\n return result;\n }\n\n /**\n * @dev Returns the modular exponentiation of the specified base, exponent and modulus (b ** e % m).\n * It includes a success flag indicating if the operation succeeded. Operation will be marked as failed if trying\n * to operate modulo 0 or if the underlying precompile reverted.\n *\n * IMPORTANT: The result is only valid if the success flag is true. When using this function, make sure the chain\n * you're using it on supports the precompiled contract for modular exponentiation at address 0x05 as specified in\n * https://eips.ethereum.org/EIPS/eip-198[EIP-198]. Otherwise, the underlying function will succeed given the lack\n * of a revert, but the result may be incorrectly interpreted as 0.\n */\n function tryModExp(uint256 b, uint256 e, uint256 m) internal view returns (bool success, uint256 result) {\n if (m == 0) return (false, 0);\n assembly (\"memory-safe\") {\n let ptr := mload(0x40)\n // | Offset | Content | Content (Hex) |\n // |-----------|------------|--------------------------------------------------------------------|\n // | 0x00:0x1f | size of b | 0x0000000000000000000000000000000000000000000000000000000000000020 |\n // | 0x20:0x3f | size of e | 0x0000000000000000000000000000000000000000000000000000000000000020 |\n // | 0x40:0x5f | size of m | 0x0000000000000000000000000000000000000000000000000000000000000020 |\n // | 0x60:0x7f | value of b | 0x<.............................................................b> |\n // | 0x80:0x9f | value of e | 0x<.............................................................e> |\n // | 0xa0:0xbf | value of m | 0x<.............................................................m> |\n mstore(ptr, 0x20)\n mstore(add(ptr, 0x20), 0x20)\n mstore(add(ptr, 0x40), 0x20)\n mstore(add(ptr, 0x60), b)\n mstore(add(ptr, 0x80), e)\n mstore(add(ptr, 0xa0), m)\n\n // Given the result < m, it's guaranteed to fit in 32 bytes,\n // so we can use the memory scratch space located at offset 0.\n success := staticcall(gas(), 0x05, ptr, 0xc0, 0x00, 0x20)\n result := mload(0x00)\n }\n }\n\n /**\n * @dev Variant of {modExp} that supports inputs of arbitrary length.\n */\n function modExp(bytes memory b, bytes memory e, bytes memory m) internal view returns (bytes memory) {\n (bool success, bytes memory result) = tryModExp(b, e, m);\n if (!success) {\n Panic.panic(Panic.DIVISION_BY_ZERO);\n }\n return result;\n }\n\n /**\n * @dev Variant of {tryModExp} that supports inputs of arbitrary length.\n */\n function tryModExp(\n bytes memory b,\n bytes memory e,\n bytes memory m\n ) internal view returns (bool success, bytes memory result) {\n if (_zeroBytes(m)) return (false, new bytes(0));\n\n uint256 mLen = m.length;\n\n // Encode call args in result and move the free memory pointer\n result = abi.encodePacked(b.length, e.length, mLen, b, e, m);\n\n assembly (\"memory-safe\") {\n let dataPtr := add(result, 0x20)\n // Write result on top of args to avoid allocating extra memory.\n success := staticcall(gas(), 0x05, dataPtr, mload(result), dataPtr, mLen)\n // Overwrite the length.\n // result.length > returndatasize() is guaranteed because returndatasize() == m.length\n mstore(result, mLen)\n // Set the memory pointer after the returned data.\n mstore(0x40, add(dataPtr, mLen))\n }\n }\n\n /**\n * @dev Returns whether the provided byte array is zero.\n */\n function _zeroBytes(bytes memory byteArray) private pure returns (bool) {\n for (uint256 i = 0; i < byteArray.length; ++i) {\n if (byteArray[i] != 0) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded\n * towards zero.\n *\n * This method is based on Newton's method for computing square roots; the algorithm is restricted to only\n * using integer operations.\n */\n function sqrt(uint256 a) internal pure returns (uint256) {\n unchecked {\n // Take care of easy edge cases when a == 0 or a == 1\n if (a <= 1) {\n return a;\n }\n\n // In this function, we use Newton's method to get a root of `f(x) := x² - a`. It involves building a\n // sequence x_n that converges toward sqrt(a). For each iteration x_n, we also define the error between\n // the current value as `ε_n = | x_n - sqrt(a) |`.\n //\n // For our first estimation, we consider `e` the smallest power of 2 which is bigger than the square root\n // of the target. (i.e. `2**(e-1) ≤ sqrt(a) < 2**e`). We know that `e ≤ 128` because `(2¹²⁸)² = 2²⁵⁶` is\n // bigger than any uint256.\n //\n // By noticing that\n // `2**(e-1) ≤ sqrt(a) < 2**e → (2**(e-1))² ≤ a < (2**e)² → 2**(2*e-2) ≤ a < 2**(2*e)`\n // we can deduce that `e - 1` is `log2(a) / 2`. We can thus compute `x_n = 2**(e-1)` using a method similar\n // to the msb function.\n uint256 aa = a;\n uint256 xn = 1;\n\n if (aa >= (1 << 128)) {\n aa >>= 128;\n xn <<= 64;\n }\n if (aa >= (1 << 64)) {\n aa >>= 64;\n xn <<= 32;\n }\n if (aa >= (1 << 32)) {\n aa >>= 32;\n xn <<= 16;\n }\n if (aa >= (1 << 16)) {\n aa >>= 16;\n xn <<= 8;\n }\n if (aa >= (1 << 8)) {\n aa >>= 8;\n xn <<= 4;\n }\n if (aa >= (1 << 4)) {\n aa >>= 4;\n xn <<= 2;\n }\n if (aa >= (1 << 2)) {\n xn <<= 1;\n }\n\n // We now have x_n such that `x_n = 2**(e-1) ≤ sqrt(a) < 2**e = 2 * x_n`. This implies ε_n ≤ 2**(e-1).\n //\n // We can refine our estimation by noticing that the middle of that interval minimizes the error.\n // If we move x_n to equal 2**(e-1) + 2**(e-2), then we reduce the error to ε_n ≤ 2**(e-2).\n // This is going to be our x_0 (and ε_0)\n xn = (3 * xn) >> 1; // ε_0 := | x_0 - sqrt(a) | ≤ 2**(e-2)\n\n // From here, Newton's method give us:\n // x_{n+1} = (x_n + a / x_n) / 2\n //\n // One should note that:\n // x_{n+1}² - a = ((x_n + a / x_n) / 2)² - a\n // = ((x_n² + a) / (2 * x_n))² - a\n // = (x_n⁴ + 2 * a * x_n² + a²) / (4 * x_n²) - a\n // = (x_n⁴ + 2 * a * x_n² + a² - 4 * a * x_n²) / (4 * x_n²)\n // = (x_n⁴ - 2 * a * x_n² + a²) / (4 * x_n²)\n // = (x_n² - a)² / (2 * x_n)²\n // = ((x_n² - a) / (2 * x_n))²\n // ≥ 0\n // Which proves that for all n ≥ 1, sqrt(a) ≤ x_n\n //\n // This gives us the proof of quadratic convergence of the sequence:\n // ε_{n+1} = | x_{n+1} - sqrt(a) |\n // = | (x_n + a / x_n) / 2 - sqrt(a) |\n // = | (x_n² + a - 2*x_n*sqrt(a)) / (2 * x_n) |\n // = | (x_n - sqrt(a))² / (2 * x_n) |\n // = | ε_n² / (2 * x_n) |\n // = ε_n² / | (2 * x_n) |\n //\n // For the first iteration, we have a special case where x_0 is known:\n // ε_1 = ε_0² / | (2 * x_0) |\n // ≤ (2**(e-2))² / (2 * (2**(e-1) + 2**(e-2)))\n // ≤ 2**(2*e-4) / (3 * 2**(e-1))\n // ≤ 2**(e-3) / 3\n // ≤ 2**(e-3-log2(3))\n // ≤ 2**(e-4.5)\n //\n // For the following iterations, we use the fact that, 2**(e-1) ≤ sqrt(a) ≤ x_n:\n // ε_{n+1} = ε_n² / | (2 * x_n) |\n // ≤ (2**(e-k))² / (2 * 2**(e-1))\n // ≤ 2**(2*e-2*k) / 2**e\n // ≤ 2**(e-2*k)\n xn = (xn + a / xn) >> 1; // ε_1 := | x_1 - sqrt(a) | ≤ 2**(e-4.5) -- special case, see above\n xn = (xn + a / xn) >> 1; // ε_2 := | x_2 - sqrt(a) | ≤ 2**(e-9) -- general case with k = 4.5\n xn = (xn + a / xn) >> 1; // ε_3 := | x_3 - sqrt(a) | ≤ 2**(e-18) -- general case with k = 9\n xn = (xn + a / xn) >> 1; // ε_4 := | x_4 - sqrt(a) | ≤ 2**(e-36) -- general case with k = 18\n xn = (xn + a / xn) >> 1; // ε_5 := | x_5 - sqrt(a) | ≤ 2**(e-72) -- general case with k = 36\n xn = (xn + a / xn) >> 1; // ε_6 := | x_6 - sqrt(a) | ≤ 2**(e-144) -- general case with k = 72\n\n // Because e ≤ 128 (as discussed during the first estimation phase), we know have reached a precision\n // ε_6 ≤ 2**(e-144) < 1. Given we're operating on integers, then we can ensure that xn is now either\n // sqrt(a) or sqrt(a) + 1.\n return xn - SafeCast.toUint(xn > a / xn);\n }\n }\n\n /**\n * @dev Calculates sqrt(a), following the selected rounding direction.\n */\n function sqrt(uint256 a, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = sqrt(a);\n return result + SafeCast.toUint(unsignedRoundsUp(rounding) && result * result < a);\n }\n }\n\n /**\n * @dev Return the log in base 2 of a positive value rounded towards zero.\n * Returns 0 if given 0.\n */\n function log2(uint256 x) internal pure returns (uint256 r) {\n // If value has upper 128 bits set, log2 result is at least 128\n r = SafeCast.toUint(x > 0xffffffffffffffffffffffffffffffff) << 7;\n // If upper 64 bits of 128-bit half set, add 64 to result\n r |= SafeCast.toUint((x >> r) > 0xffffffffffffffff) << 6;\n // If upper 32 bits of 64-bit half set, add 32 to result\n r |= SafeCast.toUint((x >> r) > 0xffffffff) << 5;\n // If upper 16 bits of 32-bit half set, add 16 to result\n r |= SafeCast.toUint((x >> r) > 0xffff) << 4;\n // If upper 8 bits of 16-bit half set, add 8 to result\n r |= SafeCast.toUint((x >> r) > 0xff) << 3;\n // If upper 4 bits of 8-bit half set, add 4 to result\n r |= SafeCast.toUint((x >> r) > 0xf) << 2;\n\n // Shifts value right by the current result and use it as an index into this lookup table:\n //\n // | x (4 bits) | index | table[index] = MSB position |\n // |------------|---------|-----------------------------|\n // | 0000 | 0 | table[0] = 0 |\n // | 0001 | 1 | table[1] = 0 |\n // | 0010 | 2 | table[2] = 1 |\n // | 0011 | 3 | table[3] = 1 |\n // | 0100 | 4 | table[4] = 2 |\n // | 0101 | 5 | table[5] = 2 |\n // | 0110 | 6 | table[6] = 2 |\n // | 0111 | 7 | table[7] = 2 |\n // | 1000 | 8 | table[8] = 3 |\n // | 1001 | 9 | table[9] = 3 |\n // | 1010 | 10 | table[10] = 3 |\n // | 1011 | 11 | table[11] = 3 |\n // | 1100 | 12 | table[12] = 3 |\n // | 1101 | 13 | table[13] = 3 |\n // | 1110 | 14 | table[14] = 3 |\n // | 1111 | 15 | table[15] = 3 |\n //\n // The lookup table is represented as a 32-byte value with the MSB positions for 0-15 in the last 16 bytes.\n assembly (\"memory-safe\") {\n r := or(r, byte(shr(r, x), 0x0000010102020202030303030303030300000000000000000000000000000000))\n }\n }\n\n /**\n * @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log2(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log2(value);\n return result + SafeCast.toUint(unsignedRoundsUp(rounding) && 1 << result < value);\n }\n }\n\n /**\n * @dev Return the log in base 10 of a positive value rounded towards zero.\n * Returns 0 if given 0.\n */\n function log10(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >= 10 ** 64) {\n value /= 10 ** 64;\n result += 64;\n }\n if (value >= 10 ** 32) {\n value /= 10 ** 32;\n result += 32;\n }\n if (value >= 10 ** 16) {\n value /= 10 ** 16;\n result += 16;\n }\n if (value >= 10 ** 8) {\n value /= 10 ** 8;\n result += 8;\n }\n if (value >= 10 ** 4) {\n value /= 10 ** 4;\n result += 4;\n }\n if (value >= 10 ** 2) {\n value /= 10 ** 2;\n result += 2;\n }\n if (value >= 10 ** 1) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log10(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log10(value);\n return result + SafeCast.toUint(unsignedRoundsUp(rounding) && 10 ** result < value);\n }\n }\n\n /**\n * @dev Return the log in base 256 of a positive value rounded towards zero.\n * Returns 0 if given 0.\n *\n * Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string.\n */\n function log256(uint256 x) internal pure returns (uint256 r) {\n // If value has upper 128 bits set, log2 result is at least 128\n r = SafeCast.toUint(x > 0xffffffffffffffffffffffffffffffff) << 7;\n // If upper 64 bits of 128-bit half set, add 64 to result\n r |= SafeCast.toUint((x >> r) > 0xffffffffffffffff) << 6;\n // If upper 32 bits of 64-bit half set, add 32 to result\n r |= SafeCast.toUint((x >> r) > 0xffffffff) << 5;\n // If upper 16 bits of 32-bit half set, add 16 to result\n r |= SafeCast.toUint((x >> r) > 0xffff) << 4;\n // Add 1 if upper 8 bits of 16-bit half set, and divide accumulated result by 8\n return (r >> 3) | SafeCast.toUint((x >> r) > 0xff);\n }\n\n /**\n * @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log256(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log256(value);\n return result + SafeCast.toUint(unsignedRoundsUp(rounding) && 1 << (result << 3) < value);\n }\n }\n\n /**\n * @dev Returns whether a provided rounding mode is considered rounding up for unsigned integers.\n */\n function unsignedRoundsUp(Rounding rounding) internal pure returns (bool) {\n return uint8(rounding) % 2 == 1;\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/math/SafeCast.sol)\n// This file was procedurally generated from scripts/generate/templates/SafeCast.js.\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Wrappers over Solidity's uintXX/intXX/bool casting operators with added overflow\n * checks.\n *\n * Downcasting from uint256/int256 in Solidity does not revert on overflow. This can\n * easily result in undesired exploitation or bugs, since developers usually\n * assume that overflows raise errors. `SafeCast` restores this intuition by\n * reverting the transaction when such an operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n */\nlibrary SafeCast {\n /**\n * @dev Value doesn't fit in an uint of `bits` size.\n */\n error SafeCastOverflowedUintDowncast(uint8 bits, uint256 value);\n\n /**\n * @dev An int value doesn't fit in an uint of `bits` size.\n */\n error SafeCastOverflowedIntToUint(int256 value);\n\n /**\n * @dev Value doesn't fit in an int of `bits` size.\n */\n error SafeCastOverflowedIntDowncast(uint8 bits, int256 value);\n\n /**\n * @dev An uint value doesn't fit in an int of `bits` size.\n */\n error SafeCastOverflowedUintToInt(uint256 value);\n\n /**\n * @dev Returns the downcasted uint248 from uint256, reverting on\n * overflow (when the input is greater than largest uint248).\n *\n * Counterpart to Solidity's `uint248` operator.\n *\n * Requirements:\n *\n * - input must fit into 248 bits\n */\n function toUint248(uint256 value) internal pure returns (uint248) {\n if (value > type(uint248).max) {\n revert SafeCastOverflowedUintDowncast(248, value);\n }\n return uint248(value);\n }\n\n /**\n * @dev Returns the downcasted uint240 from uint256, reverting on\n * overflow (when the input is greater than largest uint240).\n *\n * Counterpart to Solidity's `uint240` operator.\n *\n * Requirements:\n *\n * - input must fit into 240 bits\n */\n function toUint240(uint256 value) internal pure returns (uint240) {\n if (value > type(uint240).max) {\n revert SafeCastOverflowedUintDowncast(240, value);\n }\n return uint240(value);\n }\n\n /**\n * @dev Returns the downcasted uint232 from uint256, reverting on\n * overflow (when the input is greater than largest uint232).\n *\n * Counterpart to Solidity's `uint232` operator.\n *\n * Requirements:\n *\n * - input must fit into 232 bits\n */\n function toUint232(uint256 value) internal pure returns (uint232) {\n if (value > type(uint232).max) {\n revert SafeCastOverflowedUintDowncast(232, value);\n }\n return uint232(value);\n }\n\n /**\n * @dev Returns the downcasted uint224 from uint256, reverting on\n * overflow (when the input is greater than largest uint224).\n *\n * Counterpart to Solidity's `uint224` operator.\n *\n * Requirements:\n *\n * - input must fit into 224 bits\n */\n function toUint224(uint256 value) internal pure returns (uint224) {\n if (value > type(uint224).max) {\n revert SafeCastOverflowedUintDowncast(224, value);\n }\n return uint224(value);\n }\n\n /**\n * @dev Returns the downcasted uint216 from uint256, reverting on\n * overflow (when the input is greater than largest uint216).\n *\n * Counterpart to Solidity's `uint216` operator.\n *\n * Requirements:\n *\n * - input must fit into 216 bits\n */\n function toUint216(uint256 value) internal pure returns (uint216) {\n if (value > type(uint216).max) {\n revert SafeCastOverflowedUintDowncast(216, value);\n }\n return uint216(value);\n }\n\n /**\n * @dev Returns the downcasted uint208 from uint256, reverting on\n * overflow (when the input is greater than largest uint208).\n *\n * Counterpart to Solidity's `uint208` operator.\n *\n * Requirements:\n *\n * - input must fit into 208 bits\n */\n function toUint208(uint256 value) internal pure returns (uint208) {\n if (value > type(uint208).max) {\n revert SafeCastOverflowedUintDowncast(208, value);\n }\n return uint208(value);\n }\n\n /**\n * @dev Returns the downcasted uint200 from uint256, reverting on\n * overflow (when the input is greater than largest uint200).\n *\n * Counterpart to Solidity's `uint200` operator.\n *\n * Requirements:\n *\n * - input must fit into 200 bits\n */\n function toUint200(uint256 value) internal pure returns (uint200) {\n if (value > type(uint200).max) {\n revert SafeCastOverflowedUintDowncast(200, value);\n }\n return uint200(value);\n }\n\n /**\n * @dev Returns the downcasted uint192 from uint256, reverting on\n * overflow (when the input is greater than largest uint192).\n *\n * Counterpart to Solidity's `uint192` operator.\n *\n * Requirements:\n *\n * - input must fit into 192 bits\n */\n function toUint192(uint256 value) internal pure returns (uint192) {\n if (value > type(uint192).max) {\n revert SafeCastOverflowedUintDowncast(192, value);\n }\n return uint192(value);\n }\n\n /**\n * @dev Returns the downcasted uint184 from uint256, reverting on\n * overflow (when the input is greater than largest uint184).\n *\n * Counterpart to Solidity's `uint184` operator.\n *\n * Requirements:\n *\n * - input must fit into 184 bits\n */\n function toUint184(uint256 value) internal pure returns (uint184) {\n if (value > type(uint184).max) {\n revert SafeCastOverflowedUintDowncast(184, value);\n }\n return uint184(value);\n }\n\n /**\n * @dev Returns the downcasted uint176 from uint256, reverting on\n * overflow (when the input is greater than largest uint176).\n *\n * Counterpart to Solidity's `uint176` operator.\n *\n * Requirements:\n *\n * - input must fit into 176 bits\n */\n function toUint176(uint256 value) internal pure returns (uint176) {\n if (value > type(uint176).max) {\n revert SafeCastOverflowedUintDowncast(176, value);\n }\n return uint176(value);\n }\n\n /**\n * @dev Returns the downcasted uint168 from uint256, reverting on\n * overflow (when the input is greater than largest uint168).\n *\n * Counterpart to Solidity's `uint168` operator.\n *\n * Requirements:\n *\n * - input must fit into 168 bits\n */\n function toUint168(uint256 value) internal pure returns (uint168) {\n if (value > type(uint168).max) {\n revert SafeCastOverflowedUintDowncast(168, value);\n }\n return uint168(value);\n }\n\n /**\n * @dev Returns the downcasted uint160 from uint256, reverting on\n * overflow (when the input is greater than largest uint160).\n *\n * Counterpart to Solidity's `uint160` operator.\n *\n * Requirements:\n *\n * - input must fit into 160 bits\n */\n function toUint160(uint256 value) internal pure returns (uint160) {\n if (value > type(uint160).max) {\n revert SafeCastOverflowedUintDowncast(160, value);\n }\n return uint160(value);\n }\n\n /**\n * @dev Returns the downcasted uint152 from uint256, reverting on\n * overflow (when the input is greater than largest uint152).\n *\n * Counterpart to Solidity's `uint152` operator.\n *\n * Requirements:\n *\n * - input must fit into 152 bits\n */\n function toUint152(uint256 value) internal pure returns (uint152) {\n if (value > type(uint152).max) {\n revert SafeCastOverflowedUintDowncast(152, value);\n }\n return uint152(value);\n }\n\n /**\n * @dev Returns the downcasted uint144 from uint256, reverting on\n * overflow (when the input is greater than largest uint144).\n *\n * Counterpart to Solidity's `uint144` operator.\n *\n * Requirements:\n *\n * - input must fit into 144 bits\n */\n function toUint144(uint256 value) internal pure returns (uint144) {\n if (value > type(uint144).max) {\n revert SafeCastOverflowedUintDowncast(144, value);\n }\n return uint144(value);\n }\n\n /**\n * @dev Returns the downcasted uint136 from uint256, reverting on\n * overflow (when the input is greater than largest uint136).\n *\n * Counterpart to Solidity's `uint136` operator.\n *\n * Requirements:\n *\n * - input must fit into 136 bits\n */\n function toUint136(uint256 value) internal pure returns (uint136) {\n if (value > type(uint136).max) {\n revert SafeCastOverflowedUintDowncast(136, value);\n }\n return uint136(value);\n }\n\n /**\n * @dev Returns the downcasted uint128 from uint256, reverting on\n * overflow (when the input is greater than largest uint128).\n *\n * Counterpart to Solidity's `uint128` operator.\n *\n * Requirements:\n *\n * - input must fit into 128 bits\n */\n function toUint128(uint256 value) internal pure returns (uint128) {\n if (value > type(uint128).max) {\n revert SafeCastOverflowedUintDowncast(128, value);\n }\n return uint128(value);\n }\n\n /**\n * @dev Returns the downcasted uint120 from uint256, reverting on\n * overflow (when the input is greater than largest uint120).\n *\n * Counterpart to Solidity's `uint120` operator.\n *\n * Requirements:\n *\n * - input must fit into 120 bits\n */\n function toUint120(uint256 value) internal pure returns (uint120) {\n if (value > type(uint120).max) {\n revert SafeCastOverflowedUintDowncast(120, value);\n }\n return uint120(value);\n }\n\n /**\n * @dev Returns the downcasted uint112 from uint256, reverting on\n * overflow (when the input is greater than largest uint112).\n *\n * Counterpart to Solidity's `uint112` operator.\n *\n * Requirements:\n *\n * - input must fit into 112 bits\n */\n function toUint112(uint256 value) internal pure returns (uint112) {\n if (value > type(uint112).max) {\n revert SafeCastOverflowedUintDowncast(112, value);\n }\n return uint112(value);\n }\n\n /**\n * @dev Returns the downcasted uint104 from uint256, reverting on\n * overflow (when the input is greater than largest uint104).\n *\n * Counterpart to Solidity's `uint104` operator.\n *\n * Requirements:\n *\n * - input must fit into 104 bits\n */\n function toUint104(uint256 value) internal pure returns (uint104) {\n if (value > type(uint104).max) {\n revert SafeCastOverflowedUintDowncast(104, value);\n }\n return uint104(value);\n }\n\n /**\n * @dev Returns the downcasted uint96 from uint256, reverting on\n * overflow (when the input is greater than largest uint96).\n *\n * Counterpart to Solidity's `uint96` operator.\n *\n * Requirements:\n *\n * - input must fit into 96 bits\n */\n function toUint96(uint256 value) internal pure returns (uint96) {\n if (value > type(uint96).max) {\n revert SafeCastOverflowedUintDowncast(96, value);\n }\n return uint96(value);\n }\n\n /**\n * @dev Returns the downcasted uint88 from uint256, reverting on\n * overflow (when the input is greater than largest uint88).\n *\n * Counterpart to Solidity's `uint88` operator.\n *\n * Requirements:\n *\n * - input must fit into 88 bits\n */\n function toUint88(uint256 value) internal pure returns (uint88) {\n if (value > type(uint88).max) {\n revert SafeCastOverflowedUintDowncast(88, value);\n }\n return uint88(value);\n }\n\n /**\n * @dev Returns the downcasted uint80 from uint256, reverting on\n * overflow (when the input is greater than largest uint80).\n *\n * Counterpart to Solidity's `uint80` operator.\n *\n * Requirements:\n *\n * - input must fit into 80 bits\n */\n function toUint80(uint256 value) internal pure returns (uint80) {\n if (value > type(uint80).max) {\n revert SafeCastOverflowedUintDowncast(80, value);\n }\n return uint80(value);\n }\n\n /**\n * @dev Returns the downcasted uint72 from uint256, reverting on\n * overflow (when the input is greater than largest uint72).\n *\n * Counterpart to Solidity's `uint72` operator.\n *\n * Requirements:\n *\n * - input must fit into 72 bits\n */\n function toUint72(uint256 value) internal pure returns (uint72) {\n if (value > type(uint72).max) {\n revert SafeCastOverflowedUintDowncast(72, value);\n }\n return uint72(value);\n }\n\n /**\n * @dev Returns the downcasted uint64 from uint256, reverting on\n * overflow (when the input is greater than largest uint64).\n *\n * Counterpart to Solidity's `uint64` operator.\n *\n * Requirements:\n *\n * - input must fit into 64 bits\n */\n function toUint64(uint256 value) internal pure returns (uint64) {\n if (value > type(uint64).max) {\n revert SafeCastOverflowedUintDowncast(64, value);\n }\n return uint64(value);\n }\n\n /**\n * @dev Returns the downcasted uint56 from uint256, reverting on\n * overflow (when the input is greater than largest uint56).\n *\n * Counterpart to Solidity's `uint56` operator.\n *\n * Requirements:\n *\n * - input must fit into 56 bits\n */\n function toUint56(uint256 value) internal pure returns (uint56) {\n if (value > type(uint56).max) {\n revert SafeCastOverflowedUintDowncast(56, value);\n }\n return uint56(value);\n }\n\n /**\n * @dev Returns the downcasted uint48 from uint256, reverting on\n * overflow (when the input is greater than largest uint48).\n *\n * Counterpart to Solidity's `uint48` operator.\n *\n * Requirements:\n *\n * - input must fit into 48 bits\n */\n function toUint48(uint256 value) internal pure returns (uint48) {\n if (value > type(uint48).max) {\n revert SafeCastOverflowedUintDowncast(48, value);\n }\n return uint48(value);\n }\n\n /**\n * @dev Returns the downcasted uint40 from uint256, reverting on\n * overflow (when the input is greater than largest uint40).\n *\n * Counterpart to Solidity's `uint40` operator.\n *\n * Requirements:\n *\n * - input must fit into 40 bits\n */\n function toUint40(uint256 value) internal pure returns (uint40) {\n if (value > type(uint40).max) {\n revert SafeCastOverflowedUintDowncast(40, value);\n }\n return uint40(value);\n }\n\n /**\n * @dev Returns the downcasted uint32 from uint256, reverting on\n * overflow (when the input is greater than largest uint32).\n *\n * Counterpart to Solidity's `uint32` operator.\n *\n * Requirements:\n *\n * - input must fit into 32 bits\n */\n function toUint32(uint256 value) internal pure returns (uint32) {\n if (value > type(uint32).max) {\n revert SafeCastOverflowedUintDowncast(32, value);\n }\n return uint32(value);\n }\n\n /**\n * @dev Returns the downcasted uint24 from uint256, reverting on\n * overflow (when the input is greater than largest uint24).\n *\n * Counterpart to Solidity's `uint24` operator.\n *\n * Requirements:\n *\n * - input must fit into 24 bits\n */\n function toUint24(uint256 value) internal pure returns (uint24) {\n if (value > type(uint24).max) {\n revert SafeCastOverflowedUintDowncast(24, value);\n }\n return uint24(value);\n }\n\n /**\n * @dev Returns the downcasted uint16 from uint256, reverting on\n * overflow (when the input is greater than largest uint16).\n *\n * Counterpart to Solidity's `uint16` operator.\n *\n * Requirements:\n *\n * - input must fit into 16 bits\n */\n function toUint16(uint256 value) internal pure returns (uint16) {\n if (value > type(uint16).max) {\n revert SafeCastOverflowedUintDowncast(16, value);\n }\n return uint16(value);\n }\n\n /**\n * @dev Returns the downcasted uint8 from uint256, reverting on\n * overflow (when the input is greater than largest uint8).\n *\n * Counterpart to Solidity's `uint8` operator.\n *\n * Requirements:\n *\n * - input must fit into 8 bits\n */\n function toUint8(uint256 value) internal pure returns (uint8) {\n if (value > type(uint8).max) {\n revert SafeCastOverflowedUintDowncast(8, value);\n }\n return uint8(value);\n }\n\n /**\n * @dev Converts a signed int256 into an unsigned uint256.\n *\n * Requirements:\n *\n * - input must be greater than or equal to 0.\n */\n function toUint256(int256 value) internal pure returns (uint256) {\n if (value < 0) {\n revert SafeCastOverflowedIntToUint(value);\n }\n return uint256(value);\n }\n\n /**\n * @dev Returns the downcasted int248 from int256, reverting on\n * overflow (when the input is less than smallest int248 or\n * greater than largest int248).\n *\n * Counterpart to Solidity's `int248` operator.\n *\n * Requirements:\n *\n * - input must fit into 248 bits\n */\n function toInt248(int256 value) internal pure returns (int248 downcasted) {\n downcasted = int248(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(248, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int240 from int256, reverting on\n * overflow (when the input is less than smallest int240 or\n * greater than largest int240).\n *\n * Counterpart to Solidity's `int240` operator.\n *\n * Requirements:\n *\n * - input must fit into 240 bits\n */\n function toInt240(int256 value) internal pure returns (int240 downcasted) {\n downcasted = int240(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(240, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int232 from int256, reverting on\n * overflow (when the input is less than smallest int232 or\n * greater than largest int232).\n *\n * Counterpart to Solidity's `int232` operator.\n *\n * Requirements:\n *\n * - input must fit into 232 bits\n */\n function toInt232(int256 value) internal pure returns (int232 downcasted) {\n downcasted = int232(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(232, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int224 from int256, reverting on\n * overflow (when the input is less than smallest int224 or\n * greater than largest int224).\n *\n * Counterpart to Solidity's `int224` operator.\n *\n * Requirements:\n *\n * - input must fit into 224 bits\n */\n function toInt224(int256 value) internal pure returns (int224 downcasted) {\n downcasted = int224(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(224, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int216 from int256, reverting on\n * overflow (when the input is less than smallest int216 or\n * greater than largest int216).\n *\n * Counterpart to Solidity's `int216` operator.\n *\n * Requirements:\n *\n * - input must fit into 216 bits\n */\n function toInt216(int256 value) internal pure returns (int216 downcasted) {\n downcasted = int216(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(216, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int208 from int256, reverting on\n * overflow (when the input is less than smallest int208 or\n * greater than largest int208).\n *\n * Counterpart to Solidity's `int208` operator.\n *\n * Requirements:\n *\n * - input must fit into 208 bits\n */\n function toInt208(int256 value) internal pure returns (int208 downcasted) {\n downcasted = int208(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(208, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int200 from int256, reverting on\n * overflow (when the input is less than smallest int200 or\n * greater than largest int200).\n *\n * Counterpart to Solidity's `int200` operator.\n *\n * Requirements:\n *\n * - input must fit into 200 bits\n */\n function toInt200(int256 value) internal pure returns (int200 downcasted) {\n downcasted = int200(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(200, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int192 from int256, reverting on\n * overflow (when the input is less than smallest int192 or\n * greater than largest int192).\n *\n * Counterpart to Solidity's `int192` operator.\n *\n * Requirements:\n *\n * - input must fit into 192 bits\n */\n function toInt192(int256 value) internal pure returns (int192 downcasted) {\n downcasted = int192(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(192, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int184 from int256, reverting on\n * overflow (when the input is less than smallest int184 or\n * greater than largest int184).\n *\n * Counterpart to Solidity's `int184` operator.\n *\n * Requirements:\n *\n * - input must fit into 184 bits\n */\n function toInt184(int256 value) internal pure returns (int184 downcasted) {\n downcasted = int184(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(184, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int176 from int256, reverting on\n * overflow (when the input is less than smallest int176 or\n * greater than largest int176).\n *\n * Counterpart to Solidity's `int176` operator.\n *\n * Requirements:\n *\n * - input must fit into 176 bits\n */\n function toInt176(int256 value) internal pure returns (int176 downcasted) {\n downcasted = int176(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(176, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int168 from int256, reverting on\n * overflow (when the input is less than smallest int168 or\n * greater than largest int168).\n *\n * Counterpart to Solidity's `int168` operator.\n *\n * Requirements:\n *\n * - input must fit into 168 bits\n */\n function toInt168(int256 value) internal pure returns (int168 downcasted) {\n downcasted = int168(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(168, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int160 from int256, reverting on\n * overflow (when the input is less than smallest int160 or\n * greater than largest int160).\n *\n * Counterpart to Solidity's `int160` operator.\n *\n * Requirements:\n *\n * - input must fit into 160 bits\n */\n function toInt160(int256 value) internal pure returns (int160 downcasted) {\n downcasted = int160(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(160, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int152 from int256, reverting on\n * overflow (when the input is less than smallest int152 or\n * greater than largest int152).\n *\n * Counterpart to Solidity's `int152` operator.\n *\n * Requirements:\n *\n * - input must fit into 152 bits\n */\n function toInt152(int256 value) internal pure returns (int152 downcasted) {\n downcasted = int152(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(152, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int144 from int256, reverting on\n * overflow (when the input is less than smallest int144 or\n * greater than largest int144).\n *\n * Counterpart to Solidity's `int144` operator.\n *\n * Requirements:\n *\n * - input must fit into 144 bits\n */\n function toInt144(int256 value) internal pure returns (int144 downcasted) {\n downcasted = int144(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(144, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int136 from int256, reverting on\n * overflow (when the input is less than smallest int136 or\n * greater than largest int136).\n *\n * Counterpart to Solidity's `int136` operator.\n *\n * Requirements:\n *\n * - input must fit into 136 bits\n */\n function toInt136(int256 value) internal pure returns (int136 downcasted) {\n downcasted = int136(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(136, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int128 from int256, reverting on\n * overflow (when the input is less than smallest int128 or\n * greater than largest int128).\n *\n * Counterpart to Solidity's `int128` operator.\n *\n * Requirements:\n *\n * - input must fit into 128 bits\n */\n function toInt128(int256 value) internal pure returns (int128 downcasted) {\n downcasted = int128(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(128, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int120 from int256, reverting on\n * overflow (when the input is less than smallest int120 or\n * greater than largest int120).\n *\n * Counterpart to Solidity's `int120` operator.\n *\n * Requirements:\n *\n * - input must fit into 120 bits\n */\n function toInt120(int256 value) internal pure returns (int120 downcasted) {\n downcasted = int120(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(120, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int112 from int256, reverting on\n * overflow (when the input is less than smallest int112 or\n * greater than largest int112).\n *\n * Counterpart to Solidity's `int112` operator.\n *\n * Requirements:\n *\n * - input must fit into 112 bits\n */\n function toInt112(int256 value) internal pure returns (int112 downcasted) {\n downcasted = int112(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(112, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int104 from int256, reverting on\n * overflow (when the input is less than smallest int104 or\n * greater than largest int104).\n *\n * Counterpart to Solidity's `int104` operator.\n *\n * Requirements:\n *\n * - input must fit into 104 bits\n */\n function toInt104(int256 value) internal pure returns (int104 downcasted) {\n downcasted = int104(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(104, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int96 from int256, reverting on\n * overflow (when the input is less than smallest int96 or\n * greater than largest int96).\n *\n * Counterpart to Solidity's `int96` operator.\n *\n * Requirements:\n *\n * - input must fit into 96 bits\n */\n function toInt96(int256 value) internal pure returns (int96 downcasted) {\n downcasted = int96(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(96, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int88 from int256, reverting on\n * overflow (when the input is less than smallest int88 or\n * greater than largest int88).\n *\n * Counterpart to Solidity's `int88` operator.\n *\n * Requirements:\n *\n * - input must fit into 88 bits\n */\n function toInt88(int256 value) internal pure returns (int88 downcasted) {\n downcasted = int88(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(88, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int80 from int256, reverting on\n * overflow (when the input is less than smallest int80 or\n * greater than largest int80).\n *\n * Counterpart to Solidity's `int80` operator.\n *\n * Requirements:\n *\n * - input must fit into 80 bits\n */\n function toInt80(int256 value) internal pure returns (int80 downcasted) {\n downcasted = int80(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(80, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int72 from int256, reverting on\n * overflow (when the input is less than smallest int72 or\n * greater than largest int72).\n *\n * Counterpart to Solidity's `int72` operator.\n *\n * Requirements:\n *\n * - input must fit into 72 bits\n */\n function toInt72(int256 value) internal pure returns (int72 downcasted) {\n downcasted = int72(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(72, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int64 from int256, reverting on\n * overflow (when the input is less than smallest int64 or\n * greater than largest int64).\n *\n * Counterpart to Solidity's `int64` operator.\n *\n * Requirements:\n *\n * - input must fit into 64 bits\n */\n function toInt64(int256 value) internal pure returns (int64 downcasted) {\n downcasted = int64(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(64, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int56 from int256, reverting on\n * overflow (when the input is less than smallest int56 or\n * greater than largest int56).\n *\n * Counterpart to Solidity's `int56` operator.\n *\n * Requirements:\n *\n * - input must fit into 56 bits\n */\n function toInt56(int256 value) internal pure returns (int56 downcasted) {\n downcasted = int56(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(56, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int48 from int256, reverting on\n * overflow (when the input is less than smallest int48 or\n * greater than largest int48).\n *\n * Counterpart to Solidity's `int48` operator.\n *\n * Requirements:\n *\n * - input must fit into 48 bits\n */\n function toInt48(int256 value) internal pure returns (int48 downcasted) {\n downcasted = int48(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(48, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int40 from int256, reverting on\n * overflow (when the input is less than smallest int40 or\n * greater than largest int40).\n *\n * Counterpart to Solidity's `int40` operator.\n *\n * Requirements:\n *\n * - input must fit into 40 bits\n */\n function toInt40(int256 value) internal pure returns (int40 downcasted) {\n downcasted = int40(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(40, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int32 from int256, reverting on\n * overflow (when the input is less than smallest int32 or\n * greater than largest int32).\n *\n * Counterpart to Solidity's `int32` operator.\n *\n * Requirements:\n *\n * - input must fit into 32 bits\n */\n function toInt32(int256 value) internal pure returns (int32 downcasted) {\n downcasted = int32(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(32, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int24 from int256, reverting on\n * overflow (when the input is less than smallest int24 or\n * greater than largest int24).\n *\n * Counterpart to Solidity's `int24` operator.\n *\n * Requirements:\n *\n * - input must fit into 24 bits\n */\n function toInt24(int256 value) internal pure returns (int24 downcasted) {\n downcasted = int24(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(24, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int16 from int256, reverting on\n * overflow (when the input is less than smallest int16 or\n * greater than largest int16).\n *\n * Counterpart to Solidity's `int16` operator.\n *\n * Requirements:\n *\n * - input must fit into 16 bits\n */\n function toInt16(int256 value) internal pure returns (int16 downcasted) {\n downcasted = int16(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(16, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int8 from int256, reverting on\n * overflow (when the input is less than smallest int8 or\n * greater than largest int8).\n *\n * Counterpart to Solidity's `int8` operator.\n *\n * Requirements:\n *\n * - input must fit into 8 bits\n */\n function toInt8(int256 value) internal pure returns (int8 downcasted) {\n downcasted = int8(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(8, value);\n }\n }\n\n /**\n * @dev Converts an unsigned uint256 into a signed int256.\n *\n * Requirements:\n *\n * - input must be less than or equal to maxInt256.\n */\n function toInt256(uint256 value) internal pure returns (int256) {\n // Note: Unsafe cast below is okay because `type(int256).max` is guaranteed to be positive\n if (value > uint256(type(int256).max)) {\n revert SafeCastOverflowedUintToInt(value);\n }\n return int256(value);\n }\n\n /**\n * @dev Cast a boolean (false or true) to a uint256 (0 or 1) with no jump.\n */\n function toUint(bool b) internal pure returns (uint256 u) {\n assembly (\"memory-safe\") {\n u := iszero(iszero(b))\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/math/SignedMath.sol)\n\npragma solidity ^0.8.20;\n\nimport {SafeCast} from \"./SafeCast.sol\";\n\n/**\n * @dev Standard signed math utilities missing in the Solidity language.\n */\nlibrary SignedMath {\n /**\n * @dev Branchless ternary evaluation for `a ? b : c`. Gas costs are constant.\n *\n * IMPORTANT: This function may reduce bytecode size and consume less gas when used standalone.\n * However, the compiler may optimize Solidity ternary operations (i.e. `a ? b : c`) to only compute\n * one branch when needed, making this function more expensive.\n */\n function ternary(bool condition, int256 a, int256 b) internal pure returns (int256) {\n unchecked {\n // branchless ternary works because:\n // b ^ (a ^ b) == a\n // b ^ 0 == b\n return b ^ ((a ^ b) * int256(SafeCast.toUint(condition)));\n }\n }\n\n /**\n * @dev Returns the largest of two signed numbers.\n */\n function max(int256 a, int256 b) internal pure returns (int256) {\n return ternary(a > b, a, b);\n }\n\n /**\n * @dev Returns the smallest of two signed numbers.\n */\n function min(int256 a, int256 b) internal pure returns (int256) {\n return ternary(a < b, a, b);\n }\n\n /**\n * @dev Returns the average of two signed numbers without overflow.\n * The result is rounded towards zero.\n */\n function average(int256 a, int256 b) internal pure returns (int256) {\n // Formula from the book \"Hacker's Delight\"\n int256 x = (a & b) + ((a ^ b) >> 1);\n return x + (int256(uint256(x) >> 255) & (a ^ b));\n }\n\n /**\n * @dev Returns the absolute unsigned value of a signed value.\n */\n function abs(int256 n) internal pure returns (uint256) {\n unchecked {\n // Formula from the \"Bit Twiddling Hacks\" by Sean Eron Anderson.\n // Since `n` is a signed integer, the generated bytecode will use the SAR opcode to perform the right shift,\n // taking advantage of the most significant (or \"sign\" bit) in two's complement representation.\n // This opcode adds new most significant bits set to the value of the previous most significant bit. As a result,\n // the mask will either be `bytes32(0)` (if n is positive) or `~bytes32(0)` (if n is negative).\n int256 mask = n >> 255;\n\n // A `bytes32(0)` mask leaves the input unchanged, while a `~bytes32(0)` mask complements it.\n return uint256((n + mask) ^ mask);\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (utils/structs/EnumerableSet.sol)\n// This file was procedurally generated from scripts/generate/templates/EnumerableSet.js.\n\npragma solidity ^0.8.20;\n\nimport {Arrays} from \"../Arrays.sol\";\nimport {Math} from \"../math/Math.sol\";\n\n/**\n * @dev Library for managing\n * https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive\n * types.\n *\n * Sets have the following properties:\n *\n * - Elements are added, removed, and checked for existence in constant time\n * (O(1)).\n * - Elements are enumerated in O(n). No guarantees are made on the ordering.\n * - Set can be cleared (all elements removed) in O(n).\n *\n * ```solidity\n * contract Example {\n * // Add the library methods\n * using EnumerableSet for EnumerableSet.AddressSet;\n *\n * // Declare a set state variable\n * EnumerableSet.AddressSet private mySet;\n * }\n * ```\n *\n * The following types are supported:\n *\n * - `bytes32` (`Bytes32Set`) since v3.3.0\n * - `address` (`AddressSet`) since v3.3.0\n * - `uint256` (`UintSet`) since v3.3.0\n * - `string` (`StringSet`) since v5.4.0\n * - `bytes` (`BytesSet`) since v5.4.0\n *\n * [WARNING]\n * ====\n * Trying to delete such a structure from storage will likely result in data corruption, rendering the structure\n * unusable.\n * See https://github.com/ethereum/solidity/pull/11843[ethereum/solidity#11843] for more info.\n *\n * In order to clean an EnumerableSet, you can either remove all elements one by one or create a fresh instance using an\n * array of EnumerableSet.\n * ====\n */\nlibrary EnumerableSet {\n // To implement this library for multiple types with as little code\n // repetition as possible, we write it in terms of a generic Set type with\n // bytes32 values.\n // The Set implementation uses private functions, and user-facing\n // implementations (such as AddressSet) are just wrappers around the\n // underlying Set.\n // This means that we can only create new EnumerableSets for types that fit\n // in bytes32.\n\n struct Set {\n // Storage of set values\n bytes32[] _values;\n // Position is the index of the value in the `values` array plus 1.\n // Position 0 is used to mean a value is not in the set.\n mapping(bytes32 value => uint256) _positions;\n }\n\n /**\n * @dev Add a value to a set. O(1).\n *\n * Returns true if the value was added to the set, that is if it was not\n * already present.\n */\n function _add(Set storage set, bytes32 value) private returns (bool) {\n if (!_contains(set, value)) {\n set._values.push(value);\n // The value is stored at length-1, but we add 1 to all indexes\n // and use 0 as a sentinel value\n set._positions[value] = set._values.length;\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the value was removed from the set, that is if it was\n * present.\n */\n function _remove(Set storage set, bytes32 value) private returns (bool) {\n // We cache the value's position to prevent multiple reads from the same storage slot\n uint256 position = set._positions[value];\n\n if (position != 0) {\n // Equivalent to contains(set, value)\n // To delete an element from the _values array in O(1), we swap the element to delete with the last one in\n // the array, and then remove the last element (sometimes called as 'swap and pop').\n // This modifies the order of the array, as noted in {at}.\n\n uint256 valueIndex = position - 1;\n uint256 lastIndex = set._values.length - 1;\n\n if (valueIndex != lastIndex) {\n bytes32 lastValue = set._values[lastIndex];\n\n // Move the lastValue to the index where the value to delete is\n set._values[valueIndex] = lastValue;\n // Update the tracked position of the lastValue (that was just moved)\n set._positions[lastValue] = position;\n }\n\n // Delete the slot where the moved value was stored\n set._values.pop();\n\n // Delete the tracked position for the deleted slot\n delete set._positions[value];\n\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @dev Removes all the values from a set. O(n).\n *\n * WARNING: This function has an unbounded cost that scales with set size. Developers should keep in mind that\n * using it may render the function uncallable if the set grows to the point where clearing it consumes too much\n * gas to fit in a block.\n */\n function _clear(Set storage set) private {\n uint256 len = _length(set);\n for (uint256 i = 0; i < len; ++i) {\n delete set._positions[set._values[i]];\n }\n Arrays.unsafeSetLength(set._values, 0);\n }\n\n /**\n * @dev Returns true if the value is in the set. O(1).\n */\n function _contains(Set storage set, bytes32 value) private view returns (bool) {\n return set._positions[value] != 0;\n }\n\n /**\n * @dev Returns the number of values on the set. O(1).\n */\n function _length(Set storage set) private view returns (uint256) {\n return set._values.length;\n }\n\n /**\n * @dev Returns the value stored at position `index` in the set. O(1).\n *\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function _at(Set storage set, uint256 index) private view returns (bytes32) {\n return set._values[index];\n }\n\n /**\n * @dev Return the entire set in an array\n *\n * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n * this function has an unbounded cost, and using it as part of a state-changing function may render the function\n * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\n */\n function _values(Set storage set) private view returns (bytes32[] memory) {\n return set._values;\n }\n\n /**\n * @dev Return a slice of the set in an array\n *\n * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n * this function has an unbounded cost, and using it as part of a state-changing function may render the function\n * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\n */\n function _values(Set storage set, uint256 start, uint256 end) private view returns (bytes32[] memory) {\n unchecked {\n end = Math.min(end, _length(set));\n start = Math.min(start, end);\n\n uint256 len = end - start;\n bytes32[] memory result = new bytes32[](len);\n for (uint256 i = 0; i < len; ++i) {\n result[i] = Arrays.unsafeAccess(set._values, start + i).value;\n }\n return result;\n }\n }\n\n // Bytes32Set\n\n struct Bytes32Set {\n Set _inner;\n }\n\n /**\n * @dev Add a value to a set. O(1).\n *\n * Returns true if the value was added to the set, that is if it was not\n * already present.\n */\n function add(Bytes32Set storage set, bytes32 value) internal returns (bool) {\n return _add(set._inner, value);\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the value was removed from the set, that is if it was\n * present.\n */\n function remove(Bytes32Set storage set, bytes32 value) internal returns (bool) {\n return _remove(set._inner, value);\n }\n\n /**\n * @dev Removes all the values from a set. O(n).\n *\n * WARNING: Developers should keep in mind that this function has an unbounded cost and using it may render the\n * function uncallable if the set grows to the point where clearing it consumes too much gas to fit in a block.\n */\n function clear(Bytes32Set storage set) internal {\n _clear(set._inner);\n }\n\n /**\n * @dev Returns true if the value is in the set. O(1).\n */\n function contains(Bytes32Set storage set, bytes32 value) internal view returns (bool) {\n return _contains(set._inner, value);\n }\n\n /**\n * @dev Returns the number of values in the set. O(1).\n */\n function length(Bytes32Set storage set) internal view returns (uint256) {\n return _length(set._inner);\n }\n\n /**\n * @dev Returns the value stored at position `index` in the set. O(1).\n *\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function at(Bytes32Set storage set, uint256 index) internal view returns (bytes32) {\n return _at(set._inner, index);\n }\n\n /**\n * @dev Return the entire set in an array\n *\n * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n * this function has an unbounded cost, and using it as part of a state-changing function may render the function\n * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\n */\n function values(Bytes32Set storage set) internal view returns (bytes32[] memory) {\n bytes32[] memory store = _values(set._inner);\n bytes32[] memory result;\n\n assembly (\"memory-safe\") {\n result := store\n }\n\n return result;\n }\n\n /**\n * @dev Return a slice of the set in an array\n *\n * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n * this function has an unbounded cost, and using it as part of a state-changing function may render the function\n * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\n */\n function values(Bytes32Set storage set, uint256 start, uint256 end) internal view returns (bytes32[] memory) {\n bytes32[] memory store = _values(set._inner, start, end);\n bytes32[] memory result;\n\n assembly (\"memory-safe\") {\n result := store\n }\n\n return result;\n }\n\n // AddressSet\n\n struct AddressSet {\n Set _inner;\n }\n\n /**\n * @dev Add a value to a set. O(1).\n *\n * Returns true if the value was added to the set, that is if it was not\n * already present.\n */\n function add(AddressSet storage set, address value) internal returns (bool) {\n return _add(set._inner, bytes32(uint256(uint160(value))));\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the value was removed from the set, that is if it was\n * present.\n */\n function remove(AddressSet storage set, address value) internal returns (bool) {\n return _remove(set._inner, bytes32(uint256(uint160(value))));\n }\n\n /**\n * @dev Removes all the values from a set. O(n).\n *\n * WARNING: Developers should keep in mind that this function has an unbounded cost and using it may render the\n * function uncallable if the set grows to the point where clearing it consumes too much gas to fit in a block.\n */\n function clear(AddressSet storage set) internal {\n _clear(set._inner);\n }\n\n /**\n * @dev Returns true if the value is in the set. O(1).\n */\n function contains(AddressSet storage set, address value) internal view returns (bool) {\n return _contains(set._inner, bytes32(uint256(uint160(value))));\n }\n\n /**\n * @dev Returns the number of values in the set. O(1).\n */\n function length(AddressSet storage set) internal view returns (uint256) {\n return _length(set._inner);\n }\n\n /**\n * @dev Returns the value stored at position `index` in the set. O(1).\n *\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function at(AddressSet storage set, uint256 index) internal view returns (address) {\n return address(uint160(uint256(_at(set._inner, index))));\n }\n\n /**\n * @dev Return the entire set in an array\n *\n * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n * this function has an unbounded cost, and using it as part of a state-changing function may render the function\n * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\n */\n function values(AddressSet storage set) internal view returns (address[] memory) {\n bytes32[] memory store = _values(set._inner);\n address[] memory result;\n\n assembly (\"memory-safe\") {\n result := store\n }\n\n return result;\n }\n\n /**\n * @dev Return a slice of the set in an array\n *\n * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n * this function has an unbounded cost, and using it as part of a state-changing function may render the function\n * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\n */\n function values(AddressSet storage set, uint256 start, uint256 end) internal view returns (address[] memory) {\n bytes32[] memory store = _values(set._inner, start, end);\n address[] memory result;\n\n assembly (\"memory-safe\") {\n result := store\n }\n\n return result;\n }\n\n // UintSet\n\n struct UintSet {\n Set _inner;\n }\n\n /**\n * @dev Add a value to a set. O(1).\n *\n * Returns true if the value was added to the set, that is if it was not\n * already present.\n */\n function add(UintSet storage set, uint256 value) internal returns (bool) {\n return _add(set._inner, bytes32(value));\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the value was removed from the set, that is if it was\n * present.\n */\n function remove(UintSet storage set, uint256 value) internal returns (bool) {\n return _remove(set._inner, bytes32(value));\n }\n\n /**\n * @dev Removes all the values from a set. O(n).\n *\n * WARNING: Developers should keep in mind that this function has an unbounded cost and using it may render the\n * function uncallable if the set grows to the point where clearing it consumes too much gas to fit in a block.\n */\n function clear(UintSet storage set) internal {\n _clear(set._inner);\n }\n\n /**\n * @dev Returns true if the value is in the set. O(1).\n */\n function contains(UintSet storage set, uint256 value) internal view returns (bool) {\n return _contains(set._inner, bytes32(value));\n }\n\n /**\n * @dev Returns the number of values in the set. O(1).\n */\n function length(UintSet storage set) internal view returns (uint256) {\n return _length(set._inner);\n }\n\n /**\n * @dev Returns the value stored at position `index` in the set. O(1).\n *\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function at(UintSet storage set, uint256 index) internal view returns (uint256) {\n return uint256(_at(set._inner, index));\n }\n\n /**\n * @dev Return the entire set in an array\n *\n * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n * this function has an unbounded cost, and using it as part of a state-changing function may render the function\n * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\n */\n function values(UintSet storage set) internal view returns (uint256[] memory) {\n bytes32[] memory store = _values(set._inner);\n uint256[] memory result;\n\n assembly (\"memory-safe\") {\n result := store\n }\n\n return result;\n }\n\n /**\n * @dev Return a slice of the set in an array\n *\n * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n * this function has an unbounded cost, and using it as part of a state-changing function may render the function\n * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\n */\n function values(UintSet storage set, uint256 start, uint256 end) internal view returns (uint256[] memory) {\n bytes32[] memory store = _values(set._inner, start, end);\n uint256[] memory result;\n\n assembly (\"memory-safe\") {\n result := store\n }\n\n return result;\n }\n\n struct StringSet {\n // Storage of set values\n string[] _values;\n // Position is the index of the value in the `values` array plus 1.\n // Position 0 is used to mean a value is not in the set.\n mapping(string value => uint256) _positions;\n }\n\n /**\n * @dev Add a value to a set. O(1).\n *\n * Returns true if the value was added to the set, that is if it was not\n * already present.\n */\n function add(StringSet storage set, string memory value) internal returns (bool) {\n if (!contains(set, value)) {\n set._values.push(value);\n // The value is stored at length-1, but we add 1 to all indexes\n // and use 0 as a sentinel value\n set._positions[value] = set._values.length;\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the value was removed from the set, that is if it was\n * present.\n */\n function remove(StringSet storage set, string memory value) internal returns (bool) {\n // We cache the value's position to prevent multiple reads from the same storage slot\n uint256 position = set._positions[value];\n\n if (position != 0) {\n // Equivalent to contains(set, value)\n // To delete an element from the _values array in O(1), we swap the element to delete with the last one in\n // the array, and then remove the last element (sometimes called as 'swap and pop').\n // This modifies the order of the array, as noted in {at}.\n\n uint256 valueIndex = position - 1;\n uint256 lastIndex = set._values.length - 1;\n\n if (valueIndex != lastIndex) {\n string memory lastValue = set._values[lastIndex];\n\n // Move the lastValue to the index where the value to delete is\n set._values[valueIndex] = lastValue;\n // Update the tracked position of the lastValue (that was just moved)\n set._positions[lastValue] = position;\n }\n\n // Delete the slot where the moved value was stored\n set._values.pop();\n\n // Delete the tracked position for the deleted slot\n delete set._positions[value];\n\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @dev Removes all the values from a set. O(n).\n *\n * WARNING: Developers should keep in mind that this function has an unbounded cost and using it may render the\n * function uncallable if the set grows to the point where clearing it consumes too much gas to fit in a block.\n */\n function clear(StringSet storage set) internal {\n uint256 len = length(set);\n for (uint256 i = 0; i < len; ++i) {\n delete set._positions[set._values[i]];\n }\n Arrays.unsafeSetLength(set._values, 0);\n }\n\n /**\n * @dev Returns true if the value is in the set. O(1).\n */\n function contains(StringSet storage set, string memory value) internal view returns (bool) {\n return set._positions[value] != 0;\n }\n\n /**\n * @dev Returns the number of values on the set. O(1).\n */\n function length(StringSet storage set) internal view returns (uint256) {\n return set._values.length;\n }\n\n /**\n * @dev Returns the value stored at position `index` in the set. O(1).\n *\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function at(StringSet storage set, uint256 index) internal view returns (string memory) {\n return set._values[index];\n }\n\n /**\n * @dev Return the entire set in an array\n *\n * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n * this function has an unbounded cost, and using it as part of a state-changing function may render the function\n * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\n */\n function values(StringSet storage set) internal view returns (string[] memory) {\n return set._values;\n }\n\n /**\n * @dev Return a slice of the set in an array\n *\n * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n * this function has an unbounded cost, and using it as part of a state-changing function may render the function\n * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\n */\n function values(StringSet storage set, uint256 start, uint256 end) internal view returns (string[] memory) {\n unchecked {\n end = Math.min(end, length(set));\n start = Math.min(start, end);\n\n uint256 len = end - start;\n string[] memory result = new string[](len);\n for (uint256 i = 0; i < len; ++i) {\n result[i] = Arrays.unsafeAccess(set._values, start + i).value;\n }\n return result;\n }\n }\n\n struct BytesSet {\n // Storage of set values\n bytes[] _values;\n // Position is the index of the value in the `values` array plus 1.\n // Position 0 is used to mean a value is not in the set.\n mapping(bytes value => uint256) _positions;\n }\n\n /**\n * @dev Add a value to a set. O(1).\n *\n * Returns true if the value was added to the set, that is if it was not\n * already present.\n */\n function add(BytesSet storage set, bytes memory value) internal returns (bool) {\n if (!contains(set, value)) {\n set._values.push(value);\n // The value is stored at length-1, but we add 1 to all indexes\n // and use 0 as a sentinel value\n set._positions[value] = set._values.length;\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the value was removed from the set, that is if it was\n * present.\n */\n function remove(BytesSet storage set, bytes memory value) internal returns (bool) {\n // We cache the value's position to prevent multiple reads from the same storage slot\n uint256 position = set._positions[value];\n\n if (position != 0) {\n // Equivalent to contains(set, value)\n // To delete an element from the _values array in O(1), we swap the element to delete with the last one in\n // the array, and then remove the last element (sometimes called as 'swap and pop').\n // This modifies the order of the array, as noted in {at}.\n\n uint256 valueIndex = position - 1;\n uint256 lastIndex = set._values.length - 1;\n\n if (valueIndex != lastIndex) {\n bytes memory lastValue = set._values[lastIndex];\n\n // Move the lastValue to the index where the value to delete is\n set._values[valueIndex] = lastValue;\n // Update the tracked position of the lastValue (that was just moved)\n set._positions[lastValue] = position;\n }\n\n // Delete the slot where the moved value was stored\n set._values.pop();\n\n // Delete the tracked position for the deleted slot\n delete set._positions[value];\n\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @dev Removes all the values from a set. O(n).\n *\n * WARNING: Developers should keep in mind that this function has an unbounded cost and using it may render the\n * function uncallable if the set grows to the point where clearing it consumes too much gas to fit in a block.\n */\n function clear(BytesSet storage set) internal {\n uint256 len = length(set);\n for (uint256 i = 0; i < len; ++i) {\n delete set._positions[set._values[i]];\n }\n Arrays.unsafeSetLength(set._values, 0);\n }\n\n /**\n * @dev Returns true if the value is in the set. O(1).\n */\n function contains(BytesSet storage set, bytes memory value) internal view returns (bool) {\n return set._positions[value] != 0;\n }\n\n /**\n * @dev Returns the number of values on the set. O(1).\n */\n function length(BytesSet storage set) internal view returns (uint256) {\n return set._values.length;\n }\n\n /**\n * @dev Returns the value stored at position `index` in the set. O(1).\n *\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function at(BytesSet storage set, uint256 index) internal view returns (bytes memory) {\n return set._values[index];\n }\n\n /**\n * @dev Return the entire set in an array\n *\n * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n * this function has an unbounded cost, and using it as part of a state-changing function may render the function\n * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\n */\n function values(BytesSet storage set) internal view returns (bytes[] memory) {\n return set._values;\n }\n\n /**\n * @dev Return a slice of the set in an array\n *\n * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n * this function has an unbounded cost, and using it as part of a state-changing function may render the function\n * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\n */\n function values(BytesSet storage set, uint256 start, uint256 end) internal view returns (bytes[] memory) {\n unchecked {\n end = Math.min(end, length(set));\n start = Math.min(start, end);\n\n uint256 len = end - start;\n bytes[] memory result = new bytes[](len);\n for (uint256 i = 0; i < len; ++i) {\n result[i] = Arrays.unsafeAccess(set._values, start + i).value;\n }\n return result;\n }\n }\n}\n"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (access/AccessControl.sol)\n\npragma solidity ^0.8.20;\n\nimport {IAccessControl} from \"@openzeppelin/contracts/access/IAccessControl.sol\";\nimport {ContextUpgradeable} from \"../utils/ContextUpgradeable.sol\";\nimport {IERC165} from \"@openzeppelin/contracts/utils/introspection/IERC165.sol\";\nimport {ERC165Upgradeable} from \"../utils/introspection/ERC165Upgradeable.sol\";\nimport {Initializable} from \"../proxy/utils/Initializable.sol\";\n\n/**\n * @dev Contract module that allows children to implement role-based access\n * control mechanisms. This is a lightweight version that doesn't allow enumerating role\n * members except through off-chain means by accessing the contract event logs. Some\n * applications may benefit from on-chain enumerability, for those cases see\n * {AccessControlEnumerable}.\n *\n * Roles are referred to by their `bytes32` identifier. These should be exposed\n * in the external API and be unique. The best way to achieve this is by\n * using `public constant` hash digests:\n *\n * ```solidity\n * bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n * ```\n *\n * Roles can be used to represent a set of permissions. To restrict access to a\n * function call, use {hasRole}:\n *\n * ```solidity\n * function foo() public {\n * require(hasRole(MY_ROLE, msg.sender));\n * ...\n * }\n * ```\n *\n * Roles can be granted and revoked dynamically via the {grantRole} and\n * {revokeRole} functions. Each role has an associated admin role, and only\n * accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n *\n * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n * that only accounts with this role will be able to grant or revoke other\n * roles. More complex role relationships can be created by using\n * {_setRoleAdmin}.\n *\n * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n * grant and revoke this role. Extra precautions should be taken to secure\n * accounts that have been granted it. We recommend using {AccessControlDefaultAdminRules}\n * to enforce additional security measures for this role.\n */\nabstract contract AccessControlUpgradeable is Initializable, ContextUpgradeable, IAccessControl, ERC165Upgradeable {\n struct RoleData {\n mapping(address account => bool) hasRole;\n bytes32 adminRole;\n }\n\n bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;\n\n\n /// @custom:storage-location erc7201:openzeppelin.storage.AccessControl\n struct AccessControlStorage {\n mapping(bytes32 role => RoleData) _roles;\n }\n\n // keccak256(abi.encode(uint256(keccak256(\"openzeppelin.storage.AccessControl\")) - 1)) & ~bytes32(uint256(0xff))\n bytes32 private constant AccessControlStorageLocation = 0x02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800;\n\n function _getAccessControlStorage() private pure returns (AccessControlStorage storage $) {\n assembly {\n $.slot := AccessControlStorageLocation\n }\n }\n\n /**\n * @dev Modifier that checks that an account has a specific role. Reverts\n * with an {AccessControlUnauthorizedAccount} error including the required role.\n */\n modifier onlyRole(bytes32 role) {\n _checkRole(role);\n _;\n }\n\n function __AccessControl_init() internal onlyInitializing {\n }\n\n function __AccessControl_init_unchained() internal onlyInitializing {\n }\n /// @inheritdoc IERC165\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IAccessControl).interfaceId || super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) public view virtual returns (bool) {\n AccessControlStorage storage $ = _getAccessControlStorage();\n return $._roles[role].hasRole[account];\n }\n\n /**\n * @dev Reverts with an {AccessControlUnauthorizedAccount} error if `_msgSender()`\n * is missing `role`. Overriding this function changes the behavior of the {onlyRole} modifier.\n */\n function _checkRole(bytes32 role) internal view virtual {\n _checkRole(role, _msgSender());\n }\n\n /**\n * @dev Reverts with an {AccessControlUnauthorizedAccount} error if `account`\n * is missing `role`.\n */\n function _checkRole(bytes32 role, address account) internal view virtual {\n if (!hasRole(role, account)) {\n revert AccessControlUnauthorizedAccount(account, role);\n }\n }\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) public view virtual returns (bytes32) {\n AccessControlStorage storage $ = _getAccessControlStorage();\n return $._roles[role].adminRole;\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n *\n * May emit a {RoleGranted} event.\n */\n function grantRole(bytes32 role, address account) public virtual onlyRole(getRoleAdmin(role)) {\n _grantRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n *\n * May emit a {RoleRevoked} event.\n */\n function revokeRole(bytes32 role, address account) public virtual onlyRole(getRoleAdmin(role)) {\n _revokeRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been revoked `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `callerConfirmation`.\n *\n * May emit a {RoleRevoked} event.\n */\n function renounceRole(bytes32 role, address callerConfirmation) public virtual {\n if (callerConfirmation != _msgSender()) {\n revert AccessControlBadConfirmation();\n }\n\n _revokeRole(role, callerConfirmation);\n }\n\n /**\n * @dev Sets `adminRole` as ``role``'s admin role.\n *\n * Emits a {RoleAdminChanged} event.\n */\n function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {\n AccessControlStorage storage $ = _getAccessControlStorage();\n bytes32 previousAdminRole = getRoleAdmin(role);\n $._roles[role].adminRole = adminRole;\n emit RoleAdminChanged(role, previousAdminRole, adminRole);\n }\n\n /**\n * @dev Attempts to grant `role` to `account` and returns a boolean indicating if `role` was granted.\n *\n * Internal function without access restriction.\n *\n * May emit a {RoleGranted} event.\n */\n function _grantRole(bytes32 role, address account) internal virtual returns (bool) {\n AccessControlStorage storage $ = _getAccessControlStorage();\n if (!hasRole(role, account)) {\n $._roles[role].hasRole[account] = true;\n emit RoleGranted(role, account, _msgSender());\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @dev Attempts to revoke `role` from `account` and returns a boolean indicating if `role` was revoked.\n *\n * Internal function without access restriction.\n *\n * May emit a {RoleRevoked} event.\n */\n function _revokeRole(bytes32 role, address account) internal virtual returns (bool) {\n AccessControlStorage storage $ = _getAccessControlStorage();\n if (hasRole(role, account)) {\n $._roles[role].hasRole[account] = false;\n emit RoleRevoked(role, account, _msgSender());\n return true;\n } else {\n return false;\n }\n }\n}\n"},"lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (access/extensions/AccessControlDefaultAdminRules.sol)\n\npragma solidity ^0.8.20;\n\nimport {IAccessControlDefaultAdminRules} from \"@openzeppelin/contracts/access/extensions/IAccessControlDefaultAdminRules.sol\";\nimport {AccessControlUpgradeable} from \"../AccessControlUpgradeable.sol\";\nimport {IAccessControl} from \"@openzeppelin/contracts/access/IAccessControl.sol\";\nimport {SafeCast} from \"@openzeppelin/contracts/utils/math/SafeCast.sol\";\nimport {Math} from \"@openzeppelin/contracts/utils/math/Math.sol\";\nimport {IERC5313} from \"@openzeppelin/contracts/interfaces/IERC5313.sol\";\nimport {IERC165} from \"@openzeppelin/contracts/utils/introspection/IERC165.sol\";\nimport {Initializable} from \"../../proxy/utils/Initializable.sol\";\n\n/**\n * @dev Extension of {AccessControl} that allows specifying special rules to manage\n * the `DEFAULT_ADMIN_ROLE` holder, which is a sensitive role with special permissions\n * over other roles that may potentially have privileged rights in the system.\n *\n * If a specific role doesn't have an admin role assigned, the holder of the\n * `DEFAULT_ADMIN_ROLE` will have the ability to grant it and revoke it.\n *\n * This contract implements the following risk mitigations on top of {AccessControl}:\n *\n * * Only one account holds the `DEFAULT_ADMIN_ROLE` since deployment until it's potentially renounced.\n * * Enforces a 2-step process to transfer the `DEFAULT_ADMIN_ROLE` to another account.\n * * Enforces a configurable delay between the two steps, with the ability to cancel before the transfer is accepted.\n * * The delay can be changed by scheduling, see {changeDefaultAdminDelay}.\n * * Role transfers must wait at least one block after scheduling before it can be accepted.\n * * It is not possible to use another role to manage the `DEFAULT_ADMIN_ROLE`.\n *\n * Example usage:\n *\n * ```solidity\n * contract MyToken is AccessControlDefaultAdminRules {\n * constructor() AccessControlDefaultAdminRules(\n * 3 days,\n * msg.sender // Explicit initial `DEFAULT_ADMIN_ROLE` holder\n * ) {}\n * }\n * ```\n */\nabstract contract AccessControlDefaultAdminRulesUpgradeable is Initializable, IAccessControlDefaultAdminRules, IERC5313, AccessControlUpgradeable {\n /// @custom:storage-location erc7201:openzeppelin.storage.AccessControlDefaultAdminRules\n struct AccessControlDefaultAdminRulesStorage {\n // pending admin pair read/written together frequently\n address _pendingDefaultAdmin;\n uint48 _pendingDefaultAdminSchedule; // 0 == unset\n\n uint48 _currentDelay;\n address _currentDefaultAdmin;\n\n // pending delay pair read/written together frequently\n uint48 _pendingDelay;\n uint48 _pendingDelaySchedule; // 0 == unset\n }\n\n // keccak256(abi.encode(uint256(keccak256(\"openzeppelin.storage.AccessControlDefaultAdminRules\")) - 1)) & ~bytes32(uint256(0xff))\n bytes32 private constant AccessControlDefaultAdminRulesStorageLocation = 0xeef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698400;\n\n function _getAccessControlDefaultAdminRulesStorage() private pure returns (AccessControlDefaultAdminRulesStorage storage $) {\n assembly {\n $.slot := AccessControlDefaultAdminRulesStorageLocation\n }\n }\n\n /**\n * @dev Sets the initial values for {defaultAdminDelay} and {defaultAdmin} address.\n */\n function __AccessControlDefaultAdminRules_init(uint48 initialDelay, address initialDefaultAdmin) internal onlyInitializing {\n __AccessControlDefaultAdminRules_init_unchained(initialDelay, initialDefaultAdmin);\n }\n\n function __AccessControlDefaultAdminRules_init_unchained(uint48 initialDelay, address initialDefaultAdmin) internal onlyInitializing {\n AccessControlDefaultAdminRulesStorage storage $ = _getAccessControlDefaultAdminRulesStorage();\n if (initialDefaultAdmin == address(0)) {\n revert AccessControlInvalidDefaultAdmin(address(0));\n }\n $._currentDelay = initialDelay;\n _grantRole(DEFAULT_ADMIN_ROLE, initialDefaultAdmin);\n }\n\n /// @inheritdoc IERC165\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IAccessControlDefaultAdminRules).interfaceId || super.supportsInterface(interfaceId);\n }\n\n /// @inheritdoc IERC5313\n function owner() public view virtual returns (address) {\n return defaultAdmin();\n }\n\n ///\n /// Override AccessControl role management\n ///\n\n /**\n * @dev See {AccessControl-grantRole}. Reverts for `DEFAULT_ADMIN_ROLE`.\n */\n function grantRole(bytes32 role, address account) public virtual override(AccessControlUpgradeable, IAccessControl) {\n if (role == DEFAULT_ADMIN_ROLE) {\n revert AccessControlEnforcedDefaultAdminRules();\n }\n super.grantRole(role, account);\n }\n\n /**\n * @dev See {AccessControl-revokeRole}. Reverts for `DEFAULT_ADMIN_ROLE`.\n */\n function revokeRole(bytes32 role, address account) public virtual override(AccessControlUpgradeable, IAccessControl) {\n if (role == DEFAULT_ADMIN_ROLE) {\n revert AccessControlEnforcedDefaultAdminRules();\n }\n super.revokeRole(role, account);\n }\n\n /**\n * @dev See {AccessControl-renounceRole}.\n *\n * For the `DEFAULT_ADMIN_ROLE`, it only allows renouncing in two steps by first calling\n * {beginDefaultAdminTransfer} to the `address(0)`, so it's required that the {pendingDefaultAdmin} schedule\n * has also passed when calling this function.\n *\n * After its execution, it will not be possible to call `onlyRole(DEFAULT_ADMIN_ROLE)` functions.\n *\n * NOTE: Renouncing `DEFAULT_ADMIN_ROLE` will leave the contract without a {defaultAdmin},\n * thereby disabling any functionality that is only available for it, and the possibility of reassigning a\n * non-administrated role.\n */\n function renounceRole(bytes32 role, address account) public virtual override(AccessControlUpgradeable, IAccessControl) {\n AccessControlDefaultAdminRulesStorage storage $ = _getAccessControlDefaultAdminRulesStorage();\n if (role == DEFAULT_ADMIN_ROLE && account == defaultAdmin()) {\n (address newDefaultAdmin, uint48 schedule) = pendingDefaultAdmin();\n if (newDefaultAdmin != address(0) || !_isScheduleSet(schedule) || !_hasSchedulePassed(schedule)) {\n revert AccessControlEnforcedDefaultAdminDelay(schedule);\n }\n delete $._pendingDefaultAdminSchedule;\n }\n super.renounceRole(role, account);\n }\n\n /**\n * @dev See {AccessControl-_grantRole}.\n *\n * For `DEFAULT_ADMIN_ROLE`, it only allows granting if there isn't already a {defaultAdmin} or if the\n * role has been previously renounced.\n *\n * NOTE: Exposing this function through another mechanism may make the `DEFAULT_ADMIN_ROLE`\n * assignable again. Make sure to guarantee this is the expected behavior in your implementation.\n */\n function _grantRole(bytes32 role, address account) internal virtual override returns (bool) {\n AccessControlDefaultAdminRulesStorage storage $ = _getAccessControlDefaultAdminRulesStorage();\n if (role == DEFAULT_ADMIN_ROLE) {\n if (defaultAdmin() != address(0)) {\n revert AccessControlEnforcedDefaultAdminRules();\n }\n $._currentDefaultAdmin = account;\n }\n return super._grantRole(role, account);\n }\n\n /// @inheritdoc AccessControlUpgradeable\n function _revokeRole(bytes32 role, address account) internal virtual override returns (bool) {\n AccessControlDefaultAdminRulesStorage storage $ = _getAccessControlDefaultAdminRulesStorage();\n if (role == DEFAULT_ADMIN_ROLE && account == defaultAdmin()) {\n delete $._currentDefaultAdmin;\n }\n return super._revokeRole(role, account);\n }\n\n /**\n * @dev See {AccessControl-_setRoleAdmin}. Reverts for `DEFAULT_ADMIN_ROLE`.\n */\n function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual override {\n if (role == DEFAULT_ADMIN_ROLE) {\n revert AccessControlEnforcedDefaultAdminRules();\n }\n super._setRoleAdmin(role, adminRole);\n }\n\n ///\n /// AccessControlDefaultAdminRules accessors\n ///\n\n /// @inheritdoc IAccessControlDefaultAdminRules\n function defaultAdmin() public view virtual returns (address) {\n AccessControlDefaultAdminRulesStorage storage $ = _getAccessControlDefaultAdminRulesStorage();\n return $._currentDefaultAdmin;\n }\n\n /// @inheritdoc IAccessControlDefaultAdminRules\n function pendingDefaultAdmin() public view virtual returns (address newAdmin, uint48 schedule) {\n AccessControlDefaultAdminRulesStorage storage $ = _getAccessControlDefaultAdminRulesStorage();\n return ($._pendingDefaultAdmin, $._pendingDefaultAdminSchedule);\n }\n\n /// @inheritdoc IAccessControlDefaultAdminRules\n function defaultAdminDelay() public view virtual returns (uint48) {\n AccessControlDefaultAdminRulesStorage storage $ = _getAccessControlDefaultAdminRulesStorage();\n uint48 schedule = $._pendingDelaySchedule;\n return (_isScheduleSet(schedule) && _hasSchedulePassed(schedule)) ? $._pendingDelay : $._currentDelay;\n }\n\n /// @inheritdoc IAccessControlDefaultAdminRules\n function pendingDefaultAdminDelay() public view virtual returns (uint48 newDelay, uint48 schedule) {\n AccessControlDefaultAdminRulesStorage storage $ = _getAccessControlDefaultAdminRulesStorage();\n schedule = $._pendingDelaySchedule;\n return (_isScheduleSet(schedule) && !_hasSchedulePassed(schedule)) ? ($._pendingDelay, schedule) : (0, 0);\n }\n\n /// @inheritdoc IAccessControlDefaultAdminRules\n function defaultAdminDelayIncreaseWait() public view virtual returns (uint48) {\n return 5 days;\n }\n\n ///\n /// AccessControlDefaultAdminRules public and internal setters for defaultAdmin/pendingDefaultAdmin\n ///\n\n /// @inheritdoc IAccessControlDefaultAdminRules\n function beginDefaultAdminTransfer(address newAdmin) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n _beginDefaultAdminTransfer(newAdmin);\n }\n\n /**\n * @dev See {beginDefaultAdminTransfer}.\n *\n * Internal function without access restriction.\n */\n function _beginDefaultAdminTransfer(address newAdmin) internal virtual {\n uint48 newSchedule = SafeCast.toUint48(block.timestamp) + defaultAdminDelay();\n _setPendingDefaultAdmin(newAdmin, newSchedule);\n emit DefaultAdminTransferScheduled(newAdmin, newSchedule);\n }\n\n /// @inheritdoc IAccessControlDefaultAdminRules\n function cancelDefaultAdminTransfer() public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n _cancelDefaultAdminTransfer();\n }\n\n /**\n * @dev See {cancelDefaultAdminTransfer}.\n *\n * Internal function without access restriction.\n */\n function _cancelDefaultAdminTransfer() internal virtual {\n _setPendingDefaultAdmin(address(0), 0);\n }\n\n /// @inheritdoc IAccessControlDefaultAdminRules\n function acceptDefaultAdminTransfer() public virtual {\n (address newDefaultAdmin, ) = pendingDefaultAdmin();\n if (_msgSender() != newDefaultAdmin) {\n // Enforce newDefaultAdmin explicit acceptance.\n revert AccessControlInvalidDefaultAdmin(_msgSender());\n }\n _acceptDefaultAdminTransfer();\n }\n\n /**\n * @dev See {acceptDefaultAdminTransfer}.\n *\n * Internal function without access restriction.\n */\n function _acceptDefaultAdminTransfer() internal virtual {\n AccessControlDefaultAdminRulesStorage storage $ = _getAccessControlDefaultAdminRulesStorage();\n (address newAdmin, uint48 schedule) = pendingDefaultAdmin();\n if (!_isScheduleSet(schedule) || !_hasSchedulePassed(schedule)) {\n revert AccessControlEnforcedDefaultAdminDelay(schedule);\n }\n _revokeRole(DEFAULT_ADMIN_ROLE, defaultAdmin());\n _grantRole(DEFAULT_ADMIN_ROLE, newAdmin);\n delete $._pendingDefaultAdmin;\n delete $._pendingDefaultAdminSchedule;\n }\n\n ///\n /// AccessControlDefaultAdminRules public and internal setters for defaultAdminDelay/pendingDefaultAdminDelay\n ///\n\n /// @inheritdoc IAccessControlDefaultAdminRules\n function changeDefaultAdminDelay(uint48 newDelay) public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n _changeDefaultAdminDelay(newDelay);\n }\n\n /**\n * @dev See {changeDefaultAdminDelay}.\n *\n * Internal function without access restriction.\n */\n function _changeDefaultAdminDelay(uint48 newDelay) internal virtual {\n uint48 newSchedule = SafeCast.toUint48(block.timestamp) + _delayChangeWait(newDelay);\n _setPendingDelay(newDelay, newSchedule);\n emit DefaultAdminDelayChangeScheduled(newDelay, newSchedule);\n }\n\n /// @inheritdoc IAccessControlDefaultAdminRules\n function rollbackDefaultAdminDelay() public virtual onlyRole(DEFAULT_ADMIN_ROLE) {\n _rollbackDefaultAdminDelay();\n }\n\n /**\n * @dev See {rollbackDefaultAdminDelay}.\n *\n * Internal function without access restriction.\n */\n function _rollbackDefaultAdminDelay() internal virtual {\n _setPendingDelay(0, 0);\n }\n\n /**\n * @dev Returns the amount of seconds to wait after the `newDelay` will\n * become the new {defaultAdminDelay}.\n *\n * The value returned guarantees that if the delay is reduced, it will go into effect\n * after a wait that honors the previously set delay.\n *\n * See {defaultAdminDelayIncreaseWait}.\n */\n function _delayChangeWait(uint48 newDelay) internal view virtual returns (uint48) {\n uint48 currentDelay = defaultAdminDelay();\n\n // When increasing the delay, we schedule the delay change to occur after a period of \"new delay\" has passed, up\n // to a maximum given by defaultAdminDelayIncreaseWait, by default 5 days. For example, if increasing from 1 day\n // to 3 days, the new delay will come into effect after 3 days. If increasing from 1 day to 10 days, the new\n // delay will come into effect after 5 days. The 5 day wait period is intended to be able to fix an error like\n // using milliseconds instead of seconds.\n //\n // When decreasing the delay, we wait the difference between \"current delay\" and \"new delay\". This guarantees\n // that an admin transfer cannot be made faster than \"current delay\" at the time the delay change is scheduled.\n // For example, if decreasing from 10 days to 3 days, the new delay will come into effect after 7 days.\n return\n newDelay > currentDelay\n ? uint48(Math.min(newDelay, defaultAdminDelayIncreaseWait())) // no need to safecast, both inputs are uint48\n : currentDelay - newDelay;\n }\n\n ///\n /// Private setters\n ///\n\n /**\n * @dev Setter of the tuple for pending admin and its schedule.\n *\n * May emit a DefaultAdminTransferCanceled event.\n */\n function _setPendingDefaultAdmin(address newAdmin, uint48 newSchedule) private {\n AccessControlDefaultAdminRulesStorage storage $ = _getAccessControlDefaultAdminRulesStorage();\n (, uint48 oldSchedule) = pendingDefaultAdmin();\n\n $._pendingDefaultAdmin = newAdmin;\n $._pendingDefaultAdminSchedule = newSchedule;\n\n // An `oldSchedule` from `pendingDefaultAdmin()` is only set if it hasn't been accepted.\n if (_isScheduleSet(oldSchedule)) {\n // Emit for implicit cancellations when another default admin was scheduled.\n emit DefaultAdminTransferCanceled();\n }\n }\n\n /**\n * @dev Setter of the tuple for pending delay and its schedule.\n *\n * May emit a DefaultAdminDelayChangeCanceled event.\n */\n function _setPendingDelay(uint48 newDelay, uint48 newSchedule) private {\n AccessControlDefaultAdminRulesStorage storage $ = _getAccessControlDefaultAdminRulesStorage();\n uint48 oldSchedule = $._pendingDelaySchedule;\n\n if (_isScheduleSet(oldSchedule)) {\n if (_hasSchedulePassed(oldSchedule)) {\n // Materialize a virtual delay\n $._currentDelay = $._pendingDelay;\n } else {\n // Emit for implicit cancellations when another delay was scheduled.\n emit DefaultAdminDelayChangeCanceled();\n }\n }\n\n $._pendingDelay = newDelay;\n $._pendingDelaySchedule = newSchedule;\n }\n\n ///\n /// Private helpers\n ///\n\n /**\n * @dev Defines if an `schedule` is considered set. For consistency purposes.\n */\n function _isScheduleSet(uint48 schedule) private pure returns (bool) {\n return schedule != 0;\n }\n\n /**\n * @dev Defines if an `schedule` is considered passed. For consistency purposes.\n */\n function _hasSchedulePassed(uint48 schedule) private view returns (bool) {\n return schedule < block.timestamp;\n }\n}\n"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.3.0) (proxy/utils/Initializable.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed\n * behind a proxy. Since proxied contracts do not make use of a constructor, it's common to move constructor logic to an\n * external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer\n * function so it can only be called once. The {initializer} modifier provided by this contract will have this effect.\n *\n * The initialization functions use a version number. Once a version number is used, it is consumed and cannot be\n * reused. This mechanism prevents re-execution of each \"step\" but allows the creation of new initialization steps in\n * case an upgrade adds a module that needs to be initialized.\n *\n * For example:\n *\n * [.hljs-theme-light.nopadding]\n * ```solidity\n * contract MyToken is ERC20Upgradeable {\n * function initialize() initializer public {\n * __ERC20_init(\"MyToken\", \"MTK\");\n * }\n * }\n *\n * contract MyTokenV2 is MyToken, ERC20PermitUpgradeable {\n * function initializeV2() reinitializer(2) public {\n * __ERC20Permit_init(\"MyToken\");\n * }\n * }\n * ```\n *\n * TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as\n * possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}.\n *\n * CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure\n * that all initializers are idempotent. This is not verified automatically as constructors are by Solidity.\n *\n * [CAUTION]\n * ====\n * Avoid leaving a contract uninitialized.\n *\n * An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation\n * contract, which may impact the proxy. To prevent the implementation contract from being used, you should invoke\n * the {_disableInitializers} function in the constructor to automatically lock it when it is deployed:\n *\n * [.hljs-theme-light.nopadding]\n * ```\n * /// @custom:oz-upgrades-unsafe-allow constructor\n * constructor() {\n * _disableInitializers();\n * }\n * ```\n * ====\n */\nabstract contract Initializable {\n /**\n * @dev Storage of the initializable contract.\n *\n * It's implemented on a custom ERC-7201 namespace to reduce the risk of storage collisions\n * when using with upgradeable contracts.\n *\n * @custom:storage-location erc7201:openzeppelin.storage.Initializable\n */\n struct InitializableStorage {\n /**\n * @dev Indicates that the contract has been initialized.\n */\n uint64 _initialized;\n /**\n * @dev Indicates that the contract is in the process of being initialized.\n */\n bool _initializing;\n }\n\n // keccak256(abi.encode(uint256(keccak256(\"openzeppelin.storage.Initializable\")) - 1)) & ~bytes32(uint256(0xff))\n bytes32 private constant INITIALIZABLE_STORAGE = 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00;\n\n /**\n * @dev The contract is already initialized.\n */\n error InvalidInitialization();\n\n /**\n * @dev The contract is not initializing.\n */\n error NotInitializing();\n\n /**\n * @dev Triggered when the contract has been initialized or reinitialized.\n */\n event Initialized(uint64 version);\n\n /**\n * @dev A modifier that defines a protected initializer function that can be invoked at most once. In its scope,\n * `onlyInitializing` functions can be used to initialize parent contracts.\n *\n * Similar to `reinitializer(1)`, except that in the context of a constructor an `initializer` may be invoked any\n * number of times. This behavior in the constructor can be useful during testing and is not expected to be used in\n * production.\n *\n * Emits an {Initialized} event.\n */\n modifier initializer() {\n // solhint-disable-next-line var-name-mixedcase\n InitializableStorage storage $ = _getInitializableStorage();\n\n // Cache values to avoid duplicated sloads\n bool isTopLevelCall = !$._initializing;\n uint64 initialized = $._initialized;\n\n // Allowed calls:\n // - initialSetup: the contract is not in the initializing state and no previous version was\n // initialized\n // - construction: the contract is initialized at version 1 (no reinitialization) and the\n // current contract is just being deployed\n bool initialSetup = initialized == 0 && isTopLevelCall;\n bool construction = initialized == 1 && address(this).code.length == 0;\n\n if (!initialSetup && !construction) {\n revert InvalidInitialization();\n }\n $._initialized = 1;\n if (isTopLevelCall) {\n $._initializing = true;\n }\n _;\n if (isTopLevelCall) {\n $._initializing = false;\n emit Initialized(1);\n }\n }\n\n /**\n * @dev A modifier that defines a protected reinitializer function that can be invoked at most once, and only if the\n * contract hasn't been initialized to a greater version before. In its scope, `onlyInitializing` functions can be\n * used to initialize parent contracts.\n *\n * A reinitializer may be used after the original initialization step. This is essential to configure modules that\n * are added through upgrades and that require initialization.\n *\n * When `version` is 1, this modifier is similar to `initializer`, except that functions marked with `reinitializer`\n * cannot be nested. If one is invoked in the context of another, execution will revert.\n *\n * Note that versions can jump in increments greater than 1; this implies that if multiple reinitializers coexist in\n * a contract, executing them in the right order is up to the developer or operator.\n *\n * WARNING: Setting the version to 2**64 - 1 will prevent any future reinitialization.\n *\n * Emits an {Initialized} event.\n */\n modifier reinitializer(uint64 version) {\n // solhint-disable-next-line var-name-mixedcase\n InitializableStorage storage $ = _getInitializableStorage();\n\n if ($._initializing || $._initialized >= version) {\n revert InvalidInitialization();\n }\n $._initialized = version;\n $._initializing = true;\n _;\n $._initializing = false;\n emit Initialized(version);\n }\n\n /**\n * @dev Modifier to protect an initialization function so that it can only be invoked by functions with the\n * {initializer} and {reinitializer} modifiers, directly or indirectly.\n */\n modifier onlyInitializing() {\n _checkInitializing();\n _;\n }\n\n /**\n * @dev Reverts if the contract is not in an initializing state. See {onlyInitializing}.\n */\n function _checkInitializing() internal view virtual {\n if (!_isInitializing()) {\n revert NotInitializing();\n }\n }\n\n /**\n * @dev Locks the contract, preventing any future reinitialization. This cannot be part of an initializer call.\n * Calling this in the constructor of a contract will prevent that contract from being initialized or reinitialized\n * to any version. It is recommended to use this to lock implementation contracts that are designed to be called\n * through proxies.\n *\n * Emits an {Initialized} event the first time it is successfully executed.\n */\n function _disableInitializers() internal virtual {\n // solhint-disable-next-line var-name-mixedcase\n InitializableStorage storage $ = _getInitializableStorage();\n\n if ($._initializing) {\n revert InvalidInitialization();\n }\n if ($._initialized != type(uint64).max) {\n $._initialized = type(uint64).max;\n emit Initialized(type(uint64).max);\n }\n }\n\n /**\n * @dev Returns the highest version that has been initialized. See {reinitializer}.\n */\n function _getInitializedVersion() internal view returns (uint64) {\n return _getInitializableStorage()._initialized;\n }\n\n /**\n * @dev Returns `true` if the contract is currently initializing. See {onlyInitializing}.\n */\n function _isInitializing() internal view returns (bool) {\n return _getInitializableStorage()._initializing;\n }\n\n /**\n * @dev Pointer to storage slot. Allows integrators to override it with a custom storage location.\n *\n * NOTE: Consider following the ERC-7201 formula to derive storage locations.\n */\n function _initializableStorageSlot() internal pure virtual returns (bytes32) {\n return INITIALIZABLE_STORAGE;\n }\n\n /**\n * @dev Returns a pointer to the storage namespace.\n */\n // solhint-disable-next-line var-name-mixedcase\n function _getInitializableStorage() private pure returns (InitializableStorage storage $) {\n bytes32 slot = _initializableStorageSlot();\n assembly {\n $.slot := slot\n }\n }\n}\n"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.3.0) (proxy/utils/UUPSUpgradeable.sol)\n\npragma solidity ^0.8.22;\n\nimport {IERC1822Proxiable} from \"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\";\nimport {ERC1967Utils} from \"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\";\nimport {Initializable} from \"./Initializable.sol\";\n\n/**\n * @dev An upgradeability mechanism designed for UUPS proxies. The functions included here can perform an upgrade of an\n * {ERC1967Proxy}, when this contract is set as the implementation behind such a proxy.\n *\n * A security mechanism ensures that an upgrade does not turn off upgradeability accidentally, although this risk is\n * reinstated if the upgrade retains upgradeability but removes the security mechanism, e.g. by replacing\n * `UUPSUpgradeable` with a custom implementation of upgrades.\n *\n * The {_authorizeUpgrade} function must be overridden to include access restriction to the upgrade mechanism.\n */\nabstract contract UUPSUpgradeable is Initializable, IERC1822Proxiable {\n /// @custom:oz-upgrades-unsafe-allow state-variable-immutable\n address private immutable __self = address(this);\n\n /**\n * @dev The version of the upgrade interface of the contract. If this getter is missing, both `upgradeTo(address)`\n * and `upgradeToAndCall(address,bytes)` are present, and `upgradeTo` must be used if no function should be called,\n * while `upgradeToAndCall` will invoke the `receive` function if the second argument is the empty byte string.\n * If the getter returns `\"5.0.0\"`, only `upgradeToAndCall(address,bytes)` is present, and the second argument must\n * be the empty byte string if no function should be called, making it impossible to invoke the `receive` function\n * during an upgrade.\n */\n string public constant UPGRADE_INTERFACE_VERSION = \"5.0.0\";\n\n /**\n * @dev The call is from an unauthorized context.\n */\n error UUPSUnauthorizedCallContext();\n\n /**\n * @dev The storage `slot` is unsupported as a UUID.\n */\n error UUPSUnsupportedProxiableUUID(bytes32 slot);\n\n /**\n * @dev Check that the execution is being performed through a delegatecall call and that the execution context is\n * a proxy contract with an implementation (as defined in ERC-1967) pointing to self. This should only be the case\n * for UUPS and transparent proxies that are using the current contract as their implementation. Execution of a\n * function through ERC-1167 minimal proxies (clones) would not normally pass this test, but is not guaranteed to\n * fail.\n */\n modifier onlyProxy() {\n _checkProxy();\n _;\n }\n\n /**\n * @dev Check that the execution is not being performed through a delegate call. This allows a function to be\n * callable on the implementing contract but not through proxies.\n */\n modifier notDelegated() {\n _checkNotDelegated();\n _;\n }\n\n function __UUPSUpgradeable_init() internal onlyInitializing {\n }\n\n function __UUPSUpgradeable_init_unchained() internal onlyInitializing {\n }\n /**\n * @dev Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the\n * implementation. It is used to validate the implementation's compatibility when performing an upgrade.\n *\n * IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n * bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n * function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\n */\n function proxiableUUID() external view virtual notDelegated returns (bytes32) {\n return ERC1967Utils.IMPLEMENTATION_SLOT;\n }\n\n /**\n * @dev Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call\n * encoded in `data`.\n *\n * Calls {_authorizeUpgrade}.\n *\n * Emits an {Upgraded} event.\n *\n * @custom:oz-upgrades-unsafe-allow-reachable delegatecall\n */\n function upgradeToAndCall(address newImplementation, bytes memory data) public payable virtual onlyProxy {\n _authorizeUpgrade(newImplementation);\n _upgradeToAndCallUUPS(newImplementation, data);\n }\n\n /**\n * @dev Reverts if the execution is not performed via delegatecall or the execution\n * context is not of a proxy with an ERC-1967 compliant implementation pointing to self.\n */\n function _checkProxy() internal view virtual {\n if (\n address(this) == __self || // Must be called through delegatecall\n ERC1967Utils.getImplementation() != __self // Must be called through an active proxy\n ) {\n revert UUPSUnauthorizedCallContext();\n }\n }\n\n /**\n * @dev Reverts if the execution is performed via delegatecall.\n * See {notDelegated}.\n */\n function _checkNotDelegated() internal view virtual {\n if (address(this) != __self) {\n // Must not be called through delegatecall\n revert UUPSUnauthorizedCallContext();\n }\n }\n\n /**\n * @dev Function that should revert when `msg.sender` is not authorized to upgrade the contract. Called by\n * {upgradeToAndCall}.\n *\n * Normally, this function will use an xref:access.adoc[access control] modifier such as {Ownable-onlyOwner}.\n *\n * ```solidity\n * function _authorizeUpgrade(address) internal onlyOwner {}\n * ```\n */\n function _authorizeUpgrade(address newImplementation) internal virtual;\n\n /**\n * @dev Performs an implementation upgrade with a security check for UUPS proxies, and additional setup call.\n *\n * As a security check, {proxiableUUID} is invoked in the new implementation, and the return value\n * is expected to be the implementation slot in ERC-1967.\n *\n * Emits an {IERC1967-Upgraded} event.\n */\n function _upgradeToAndCallUUPS(address newImplementation, bytes memory data) private {\n try IERC1822Proxiable(newImplementation).proxiableUUID() returns (bytes32 slot) {\n if (slot != ERC1967Utils.IMPLEMENTATION_SLOT) {\n revert UUPSUnsupportedProxiableUUID(slot);\n }\n ERC1967Utils.upgradeToAndCall(newImplementation, data);\n } catch {\n // The implementation is not UUPS\n revert ERC1967Utils.ERC1967InvalidImplementation(newImplementation);\n }\n }\n}\n"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)\n\npragma solidity ^0.8.20;\nimport {Initializable} from \"../proxy/utils/Initializable.sol\";\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract ContextUpgradeable is Initializable {\n function __Context_init() internal onlyInitializing {\n }\n\n function __Context_init_unchained() internal onlyInitializing {\n }\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n\n function _contextSuffixLength() internal view virtual returns (uint256) {\n return 0;\n }\n}\n"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (utils/introspection/ERC165.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC165} from \"@openzeppelin/contracts/utils/introspection/IERC165.sol\";\nimport {Initializable} from \"../../proxy/utils/Initializable.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC-165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n */\nabstract contract ERC165Upgradeable is Initializable, IERC165 {\n function __ERC165_init() internal onlyInitializing {\n }\n\n function __ERC165_init_unchained() internal onlyInitializing {\n }\n /// @inheritdoc IERC165\n function supportsInterface(bytes4 interfaceId) public view virtual returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n"},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport {Options, DefenderOptions} from \"./Options.sol\";\nimport {Core} from \"./internal/Core.sol\";\nimport {DefenderDeploy} from \"./internal/DefenderDeploy.sol\";\n\n/**\n * @dev Library for interacting with OpenZeppelin Defender from Forge scripts or tests.\n */\nlibrary Defender {\n /**\n * @dev Deploys a contract to the current network using OpenZeppelin Defender.\n *\n * WARNING: Do not use this function directly if you are deploying an upgradeable contract. This function does not validate whether the contract is upgrade safe.\n *\n * NOTE: If using an EOA or Safe to deploy, go to https://defender.openzeppelin.com/v2/#/deploy[Defender deploy] to submit the pending deployment while the script is running.\n * The script waits for the deployment to complete before it continues.\n *\n * @param contractName Name of the contract to deploy, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @return Address of the deployed contract\n */\n function deployContract(string memory contractName) internal returns (address) {\n return deployContract(contractName, \"\");\n }\n\n /**\n * @dev Deploys a contract to the current network using OpenZeppelin Defender.\n *\n * WARNING: Do not use this function directly if you are deploying an upgradeable contract. This function does not validate whether the contract is upgrade safe.\n *\n * NOTE: If using an EOA or Safe to deploy, go to https://defender.openzeppelin.com/v2/#/deploy[Defender deploy] to submit the pending deployment while the script is running.\n * The script waits for the deployment to complete before it continues.\n *\n * @param contractName Name of the contract to deploy, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param defenderOpts Defender deployment options. Note that the `useDefenderDeploy` option is always treated as `true` when called from this function.\n * @return Address of the deployed contract\n */\n function deployContract(\n string memory contractName,\n DefenderOptions memory defenderOpts\n ) internal returns (address) {\n return deployContract(contractName, \"\", defenderOpts);\n }\n\n /**\n * @dev Deploys a contract with constructor arguments to the current network using OpenZeppelin Defender.\n *\n * WARNING: Do not use this function directly if you are deploying an upgradeable contract. This function does not validate whether the contract is upgrade safe.\n *\n * NOTE: If using an EOA or Safe to deploy, go to https://defender.openzeppelin.com/v2/#/deploy[Defender deploy] to submit the pending deployment while the script is running.\n * The script waits for the deployment to complete before it continues.\n *\n * @param contractName Name of the contract to deploy, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param constructorData Encoded constructor arguments\n * @return Address of the deployed contract\n */\n function deployContract(string memory contractName, bytes memory constructorData) internal returns (address) {\n DefenderOptions memory defenderOpts;\n return deployContract(contractName, constructorData, defenderOpts);\n }\n\n /**\n * @dev Deploys a contract with constructor arguments to the current network using OpenZeppelin Defender.\n *\n * WARNING: Do not use this function directly if you are deploying an upgradeable contract. This function does not validate whether the contract is upgrade safe.\n *\n * NOTE: If using an EOA or Safe to deploy, go to https://defender.openzeppelin.com/v2/#/deploy[Defender deploy] to submit the pending deployment while the script is running.\n * The script waits for the deployment to complete before it continues.\n *\n * @param contractName Name of the contract to deploy, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param constructorData Encoded constructor arguments\n * @param defenderOpts Defender deployment options. Note that the `useDefenderDeploy` option is always treated as `true` when called from this function.\n * @return Address of the deployed contract\n */\n function deployContract(\n string memory contractName,\n bytes memory constructorData,\n DefenderOptions memory defenderOpts\n ) internal returns (address) {\n return DefenderDeploy.deploy(contractName, constructorData, defenderOpts);\n }\n\n /**\n * @dev Proposes an upgrade to an upgradeable proxy using OpenZeppelin Defender.\n *\n * This function validates a new implementation contract in comparison with a reference contract, deploys the new implementation contract using Defender,\n * and proposes an upgrade to the new implementation contract using an upgrade approval process on Defender.\n *\n * Supported for UUPS or Transparent proxies. Not currently supported for beacon proxies or beacons.\n * For beacons, use `Upgrades.prepareUpgrade` along with a transaction proposal on Defender to upgrade the beacon to the deployed implementation.\n *\n * Requires that either the `referenceContract` option is set, or the contract has a `@custom:oz-upgrades-from ` annotation.\n *\n * WARNING: Ensure that the reference contract is the same as the current implementation contract that the proxy is pointing to.\n * This function does not validate that the reference contract is the current implementation.\n *\n * NOTE: If using an EOA or Safe to deploy, go to https://defender.openzeppelin.com/v2/#/deploy[Defender deploy] to submit the pending deployment of the new implementation contract while the script is running.\n * The script waits for the deployment to complete before it continues.\n *\n * @param proxyAddress The proxy address\n * @param newImplementationContractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param opts Common options. Note that the `defender.useDefenderDeploy` option is always treated as `true` when called from this function.\n * @return Struct containing the proposal ID and URL for the upgrade proposal\n */\n function proposeUpgrade(\n address proxyAddress,\n string memory newImplementationContractName,\n Options memory opts\n ) internal returns (ProposeUpgradeResponse memory) {\n opts.defender.useDefenderDeploy = true;\n address proxyAdminAddress = Core.getAdminAddress(proxyAddress);\n address newImplementationAddress = Core.prepareUpgrade(newImplementationContractName, opts);\n return\n DefenderDeploy.proposeUpgrade(\n proxyAddress,\n proxyAdminAddress,\n newImplementationAddress,\n newImplementationContractName,\n opts\n );\n }\n\n /**\n * @dev Gets the default deploy approval process configured for your deployment environment on OpenZeppelin Defender.\n *\n * @return Struct with the default deploy approval process ID and the associated address, such as a Relayer, EOA, or multisig wallet address.\n */\n function getDeployApprovalProcess() internal returns (ApprovalProcessResponse memory) {\n return DefenderDeploy.getApprovalProcess(\"getDeployApprovalProcess\");\n }\n\n /**\n * @dev Gets the default upgrade approval process configured for your deployment environment on OpenZeppelin Defender.\n * For example, this is useful for determining the default multisig wallet that you can use in your scripts to assign as the owner of your proxy.\n *\n * @return Struct with the default upgrade approval process ID and the associated address, such as a multisig or governor contract address.\n */\n function getUpgradeApprovalProcess() internal returns (ApprovalProcessResponse memory) {\n return DefenderDeploy.getApprovalProcess(\"getUpgradeApprovalProcess\");\n }\n}\n\nstruct ProposeUpgradeResponse {\n string proposalId;\n string url;\n}\n\nstruct ApprovalProcessResponse {\n string approvalProcessId;\n address via;\n string viaType;\n}\n"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\n/**\n * Common options.\n */\nstruct Options {\n /*\n * The reference contract to use for storage layout comparisons.\n *\n * For supported formats, see https://docs.openzeppelin.com/upgrades-plugins/api-foundry-upgrades#contract_name_formats\n *\n * If not using the `referenceBuildInfoDir` option, this must be in Foundry artifact format.\n *\n * If using the `referenceBuildInfoDir` option, this must be in annotation format prefixed with the build info directory short name.\n * For example, if `referenceBuildInfoDir` is `previous-builds/build-info-v1` and the reference contract name is `ContractV1`,\n * then set this to `build-info-v1:ContractV1`\n *\n * If not set, attempts to use the `@custom:oz-upgrades-from ` annotation from the contract.\n */\n string referenceContract;\n /*\n * Absolute or relative path to a build info directory from a previous version of the project to use for storage layout comparisons.\n * Relative paths must be relative to the Foundry project root.\n *\n * When using this option, refer to this directory using prefix `:` before the contract name or fully qualified name\n * in the `referenceContract` option or `@custom:oz-upgrades-from` annotation, where `` is the directory short name.\n * The directory short name must be unique when compared to the main build info directory.\n */\n string referenceBuildInfoDir;\n /*\n * Encoded constructor arguments for the implementation contract.\n * Note that these are different from initializer arguments, and will be used in the deployment of the implementation contract itself.\n * Can be used to initialize immutable variables.\n */\n bytes constructorData;\n /*\n * Exclude validations for contracts in source file paths that match any of the given glob patterns.\n * For example, patterns such as \"contracts/helpers/*.sol\". Does not apply to reference contracts.\n */\n string[] exclude;\n /*\n * Selectively disable one or more validation errors. Comma-separated list that must be compatible with the\n * --unsafeAllow option described in https://docs.openzeppelin.com/upgrades-plugins/api-core#usage\n */\n string unsafeAllow;\n /*\n * Configure storage layout check to allow variable renaming\n */\n bool unsafeAllowRenames;\n /*\n * Skips checking the `initialOwner` parameter of `Upgrades.deployTransparentProxy`.\n * When deploying a transparent proxy, the `initialOwner` must be the address of an EOA or a contract that can call functions on a ProxyAdmin. It must not be a ProxyAdmin contract itself.\n * Use this if you encounter an error due to this check and are sure that the `initialOwner` is not a ProxyAdmin contract.\n */\n bool unsafeSkipProxyAdminCheck;\n /*\n * Skips checking for storage layout compatibility errors. This is a dangerous option meant to be used as a last resort.\n */\n bool unsafeSkipStorageCheck;\n /*\n * Skips all upgrade safety checks. This is a dangerous option meant to be used as a last resort.\n */\n bool unsafeSkipAllChecks;\n /*\n * Options for OpenZeppelin Defender deployments.\n */\n DefenderOptions defender;\n}\n\n/**\n * Options for OpenZeppelin Defender deployments.\n */\nstruct DefenderOptions {\n /*\n * Deploys contracts using OpenZeppelin Defender instead of broadcasting deployments through Forge. Defaults to `false`. See DEFENDER.md.\n *\n * NOTE: If using an EOA or Safe to deploy, go to https://defender.openzeppelin.com/v2/#/deploy[Defender deploy] to submit the pending deployment(s) while the script is running.\n * The script waits for each deployment to complete before it continues.\n */\n bool useDefenderDeploy;\n /*\n * When using OpenZeppelin Defender deployments, whether to skip verifying source code on block explorers. Defaults to `false`.\n */\n bool skipVerifySourceCode;\n /*\n * When using OpenZeppelin Defender deployments, the ID of the relayer to use for the deployment. Defaults to the relayer configured for your deployment environment on Defender.\n */\n string relayerId;\n /*\n * Applies to OpenZeppelin Defender deployments only.\n * If this is not set, deployments will be performed using the CREATE opcode.\n * If this is set, deployments will be performed using the CREATE2 opcode with the provided salt.\n * Note that deployments using a Safe are done using CREATE2 and require a salt.\n *\n * WARNING: CREATE2 affects `msg.sender` behavior. See https://docs.openzeppelin.com/defender/v2/tutorial/deploy#deploy-caveat for more information.\n */\n bytes32 salt;\n /*\n * The ID of the upgrade approval process to use when proposing an upgrade.\n * Defaults to the upgrade approval process configured for your deployment environment on Defender.\n */\n string upgradeApprovalProcessId;\n /*\n * License type to display on block explorers for verified source code.\n * See https://etherscan.io/contract-license-types for supported values and use the string found in brackets, e.g. MIT.\n * If not set, infers the license type by using the SPDX license identifier from the contract's Solidity file.\n * Cannot be set if `skipLicenseType` or `skipVerifySourceCode` is `true`.\n */\n string licenseType;\n /*\n * If set to `true`, does not set the license type on block explorers for verified source code.\n * Use this if your contract's license type is not supported by block explorers.\n * Defaults to `false`.\n */\n bool skipLicenseType;\n /*\n * Transaction overrides for OpenZeppelin Defender deployments.\n */\n TxOverrides txOverrides;\n /*\n * When using OpenZeppelin Defender deployments, you can use this to identify, tag, or classify deployments.\n * See https://docs.openzeppelin.com/defender/module/deploy#metadata.\n * Must be a JSON string, for example: '{ \"commitHash\": \"4ae3e0d\", \"tag\": \"v1.0.0\", \"anyOtherField\": \"anyValue\" }'\n */\n string metadata;\n}\n\n/**\n * Transaction overrides for OpenZeppelin Defender deployments.\n */\nstruct TxOverrides {\n /*\n * Maximum amount of gas to allow the deployment transaction to use.\n */\n uint256 gasLimit;\n /*\n * Gas price for legacy transactions, in wei.\n */\n uint256 gasPrice;\n /*\n * Maximum total fee per gas, in wei.\n */\n uint256 maxFeePerGas;\n /*\n * Maximum priority fee per gas, in wei.\n */\n uint256 maxPriorityFeePerGas;\n}\n"},"lib/openzeppelin-foundry-upgrades/src/Upgrades.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nimport {ERC1967Proxy} from \"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\";\nimport {TransparentUpgradeableProxy} from \"@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\";\nimport {UpgradeableBeacon} from \"@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol\";\nimport {BeaconProxy} from \"@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol\";\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {Options} from \"./Options.sol\";\nimport {Core} from \"./internal/Core.sol\";\nimport {Utils} from \"./internal/Utils.sol\";\n\n/**\n * @dev Library for deploying and managing upgradeable contracts from Forge scripts or tests.\n *\n * NOTE: Requires OpenZeppelin Contracts v5 or higher.\n */\nlibrary Upgrades {\n /**\n * @dev Deploys a UUPS proxy using the given contract as the implementation.\n *\n * @param contractName Name of the contract to use as the implementation, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param initializerData Encoded call data of the initializer function to call during creation of the proxy, or empty if no initialization is required\n * @param opts Common options\n * @return Proxy address\n */\n function deployUUPSProxy(\n string memory contractName,\n bytes memory initializerData,\n Options memory opts\n ) internal returns (address) {\n address impl = deployImplementation(contractName, opts);\n\n return Core.deploy(\"ERC1967Proxy.sol:ERC1967Proxy\", abi.encode(impl, initializerData), opts);\n }\n\n /**\n * @dev Deploys a UUPS proxy using the given contract as the implementation.\n *\n * @param contractName Name of the contract to use as the implementation, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param initializerData Encoded call data of the initializer function to call during creation of the proxy, or empty if no initialization is required\n * @return Proxy address\n */\n function deployUUPSProxy(string memory contractName, bytes memory initializerData) internal returns (address) {\n Options memory opts;\n return deployUUPSProxy(contractName, initializerData, opts);\n }\n\n /**\n * @dev Deploys a transparent proxy using the given contract as the implementation.\n *\n * @param contractName Name of the contract to use as the implementation, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param initialOwner Address to set as the owner of the ProxyAdmin contract which gets deployed by the proxy\n * @param initializerData Encoded call data of the initializer function to call during creation of the proxy, or empty if no initialization is required\n * @param opts Common options\n * @return Proxy address\n */\n function deployTransparentProxy(\n string memory contractName,\n address initialOwner,\n bytes memory initializerData,\n Options memory opts\n ) internal returns (address) {\n if (!opts.unsafeSkipAllChecks && !opts.unsafeSkipProxyAdminCheck && Core.inferProxyAdmin(initialOwner)) {\n revert(\n string.concat(\n \"`initialOwner` must not be a ProxyAdmin contract. If the contract at address \",\n Vm(Utils.CHEATCODE_ADDRESS).toString(initialOwner),\n \" is not a ProxyAdmin contract and you are sure that this contract is able to call functions on an actual ProxyAdmin, skip this check with the `unsafeSkipProxyAdminCheck` option.\"\n )\n );\n }\n\n address impl = deployImplementation(contractName, opts);\n\n return\n Core.deploy(\n \"TransparentUpgradeableProxy.sol:TransparentUpgradeableProxy\",\n abi.encode(impl, initialOwner, initializerData),\n opts\n );\n }\n\n /**\n * @dev Deploys a transparent proxy using the given contract as the implementation.\n *\n * @param contractName Name of the contract to use as the implementation, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param initialOwner Address to set as the owner of the ProxyAdmin contract which gets deployed by the proxy\n * @param initializerData Encoded call data of the initializer function to call during creation of the proxy, or empty if no initialization is required\n * @return Proxy address\n */\n function deployTransparentProxy(\n string memory contractName,\n address initialOwner,\n bytes memory initializerData\n ) internal returns (address) {\n Options memory opts;\n return deployTransparentProxy(contractName, initialOwner, initializerData, opts);\n }\n\n /**\n * @dev Upgrades a proxy to a new implementation contract. Only supported for UUPS or transparent proxies.\n *\n * Requires that either the `referenceContract` option is set, or the new implementation contract has a `@custom:oz-upgrades-from ` annotation.\n *\n * @param proxy Address of the proxy to upgrade\n * @param contractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param data Encoded call data of an arbitrary function to call during the upgrade process, or empty if no function needs to be called during the upgrade\n * @param opts Common options\n */\n function upgradeProxy(address proxy, string memory contractName, bytes memory data, Options memory opts) internal {\n Core.upgradeProxy(proxy, contractName, data, opts);\n }\n\n /**\n * @dev Upgrades a proxy to a new implementation contract. Only supported for UUPS or transparent proxies.\n *\n * Requires that either the `referenceContract` option is set, or the new implementation contract has a `@custom:oz-upgrades-from ` annotation.\n *\n * @param proxy Address of the proxy to upgrade\n * @param contractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param data Encoded call data of an arbitrary function to call during the upgrade process, or empty if no function needs to be called during the upgrade\n */\n function upgradeProxy(address proxy, string memory contractName, bytes memory data) internal {\n Options memory opts;\n Core.upgradeProxy(proxy, contractName, data, opts);\n }\n\n /**\n * @notice For tests only. If broadcasting in scripts, use the `--sender
` option with `forge script` instead.\n *\n * @dev Upgrades a proxy to a new implementation contract. Only supported for UUPS or transparent proxies.\n *\n * Requires that either the `referenceContract` option is set, or the new implementation contract has a `@custom:oz-upgrades-from ` annotation.\n *\n * This function provides an additional `tryCaller` parameter to test an upgrade using a specific caller address.\n * Use this if you encounter `OwnableUnauthorizedAccount` errors in your tests.\n *\n * @param proxy Address of the proxy to upgrade\n * @param contractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param data Encoded call data of an arbitrary function to call during the upgrade process, or empty if no function needs to be called during the upgrade\n * @param opts Common options\n * @param tryCaller Address to use as the caller of the upgrade function. This should be the address that owns the proxy or its ProxyAdmin.\n */\n function upgradeProxy(\n address proxy,\n string memory contractName,\n bytes memory data,\n Options memory opts,\n address tryCaller\n ) internal {\n Core.upgradeProxy(proxy, contractName, data, opts, tryCaller);\n }\n\n /**\n * @notice For tests only. If broadcasting in scripts, use the `--sender
` option with `forge script` instead.\n *\n * @dev Upgrades a proxy to a new implementation contract. Only supported for UUPS or transparent proxies.\n *\n * Requires that either the `referenceContract` option is set, or the new implementation contract has a `@custom:oz-upgrades-from ` annotation.\n *\n * This function provides an additional `tryCaller` parameter to test an upgrade using a specific caller address.\n * Use this if you encounter `OwnableUnauthorizedAccount` errors in your tests.\n *\n * @param proxy Address of the proxy to upgrade\n * @param contractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param data Encoded call data of an arbitrary function to call during the upgrade process, or empty if no function needs to be called during the upgrade\n * @param tryCaller Address to use as the caller of the upgrade function. This should be the address that owns the proxy or its ProxyAdmin.\n */\n function upgradeProxy(address proxy, string memory contractName, bytes memory data, address tryCaller) internal {\n Options memory opts;\n Core.upgradeProxy(proxy, contractName, data, opts, tryCaller);\n }\n\n /**\n * @dev Deploys an upgradeable beacon using the given contract as the implementation.\n *\n * @param contractName Name of the contract to use as the implementation, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param initialOwner Address to set as the owner of the UpgradeableBeacon contract which gets deployed\n * @param opts Common options\n * @return Beacon address\n */\n function deployBeacon(\n string memory contractName,\n address initialOwner,\n Options memory opts\n ) internal returns (address) {\n address impl = deployImplementation(contractName, opts);\n\n return Core.deploy(\"UpgradeableBeacon.sol:UpgradeableBeacon\", abi.encode(impl, initialOwner), opts);\n }\n\n /**\n * @dev Deploys an upgradeable beacon using the given contract as the implementation.\n *\n * @param contractName Name of the contract to use as the implementation, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param initialOwner Address to set as the owner of the UpgradeableBeacon contract which gets deployed\n * @return Beacon address\n */\n function deployBeacon(string memory contractName, address initialOwner) internal returns (address) {\n Options memory opts;\n return deployBeacon(contractName, initialOwner, opts);\n }\n\n /**\n * @dev Upgrades a beacon to a new implementation contract.\n *\n * Requires that either the `referenceContract` option is set, or the new implementation contract has a `@custom:oz-upgrades-from ` annotation.\n *\n * @param beacon Address of the beacon to upgrade\n * @param contractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param opts Common options\n */\n function upgradeBeacon(address beacon, string memory contractName, Options memory opts) internal {\n Core.upgradeBeacon(beacon, contractName, opts);\n }\n\n /**\n * @dev Upgrades a beacon to a new implementation contract.\n *\n * Requires that either the `referenceContract` option is set, or the new implementation contract has a `@custom:oz-upgrades-from ` annotation.\n *\n * @param beacon Address of the beacon to upgrade\n * @param contractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n */\n function upgradeBeacon(address beacon, string memory contractName) internal {\n Options memory opts;\n Core.upgradeBeacon(beacon, contractName, opts);\n }\n\n /**\n * @notice For tests only. If broadcasting in scripts, use the `--sender
` option with `forge script` instead.\n *\n * @dev Upgrades a beacon to a new implementation contract.\n *\n * Requires that either the `referenceContract` option is set, or the new implementation contract has a `@custom:oz-upgrades-from ` annotation.\n *\n * This function provides an additional `tryCaller` parameter to test an upgrade using a specific caller address.\n * Use this if you encounter `OwnableUnauthorizedAccount` errors in your tests.\n *\n * @param beacon Address of the beacon to upgrade\n * @param contractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param opts Common options\n * @param tryCaller Address to use as the caller of the upgrade function. This should be the address that owns the beacon.\n */\n function upgradeBeacon(\n address beacon,\n string memory contractName,\n Options memory opts,\n address tryCaller\n ) internal {\n Core.upgradeBeacon(beacon, contractName, opts, tryCaller);\n }\n\n /**\n * @notice For tests only. If broadcasting in scripts, use the `--sender
` option with `forge script` instead.\n *\n * @dev Upgrades a beacon to a new implementation contract.\n *\n * Requires that either the `referenceContract` option is set, or the new implementation contract has a `@custom:oz-upgrades-from ` annotation.\n *\n * This function provides an additional `tryCaller` parameter to test an upgrade using a specific caller address.\n * Use this if you encounter `OwnableUnauthorizedAccount` errors in your tests.\n *\n * @param beacon Address of the beacon to upgrade\n * @param contractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param tryCaller Address to use as the caller of the upgrade function. This should be the address that owns the beacon.\n */\n function upgradeBeacon(address beacon, string memory contractName, address tryCaller) internal {\n Options memory opts;\n Core.upgradeBeacon(beacon, contractName, opts, tryCaller);\n }\n\n /**\n * @dev Deploys a beacon proxy using the given beacon and call data.\n *\n * @param beacon Address of the beacon to use\n * @param data Encoded call data of the initializer function to call during creation of the proxy, or empty if no initialization is required\n * @return Proxy address\n */\n function deployBeaconProxy(address beacon, bytes memory data) internal returns (address) {\n Options memory opts;\n return deployBeaconProxy(beacon, data, opts);\n }\n\n /**\n * @dev Deploys a beacon proxy using the given beacon and call data.\n *\n * @param beacon Address of the beacon to use\n * @param data Encoded call data of the initializer function to call during creation of the proxy, or empty if no initialization is required\n * @param opts Common options\n * @return Proxy address\n */\n function deployBeaconProxy(address beacon, bytes memory data, Options memory opts) internal returns (address) {\n return Core.deploy(\"BeaconProxy.sol:BeaconProxy\", abi.encode(beacon, data), opts);\n }\n\n /**\n * @dev Validates an implementation contract, but does not deploy it.\n *\n * @param contractName Name of the contract to validate, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param opts Common options\n */\n function validateImplementation(string memory contractName, Options memory opts) internal {\n Core.validateImplementation(contractName, opts);\n }\n\n /**\n * @dev Validates and deploys an implementation contract, and returns its address.\n *\n * @param contractName Name of the contract to deploy, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param opts Common options\n * @return Address of the implementation contract\n */\n function deployImplementation(string memory contractName, Options memory opts) internal returns (address) {\n return Core.deployImplementation(contractName, opts);\n }\n\n /**\n * @dev Validates a new implementation contract in comparison with a reference contract, but does not deploy it.\n *\n * Requires that either the `referenceContract` option is set, or the contract has a `@custom:oz-upgrades-from ` annotation.\n *\n * @param contractName Name of the contract to validate, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param opts Common options\n */\n function validateUpgrade(string memory contractName, Options memory opts) internal {\n Core.validateUpgrade(contractName, opts);\n }\n\n /**\n * @dev Validates a new implementation contract in comparison with a reference contract, deploys the new implementation contract,\n * and returns its address.\n *\n * Requires that either the `referenceContract` option is set, or the contract has a `@custom:oz-upgrades-from ` annotation.\n *\n * Use this method to prepare an upgrade to be run from an admin address you do not control directly or cannot use from your deployment environment.\n *\n * @param contractName Name of the contract to deploy, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param opts Common options\n * @return Address of the new implementation contract\n */\n function prepareUpgrade(string memory contractName, Options memory opts) internal returns (address) {\n return Core.prepareUpgrade(contractName, opts);\n }\n\n /**\n * @dev Gets the admin address of a transparent proxy from its ERC1967 admin storage slot.\n *\n * @param proxy Address of a transparent proxy\n * @return Admin address\n */\n function getAdminAddress(address proxy) internal view returns (address) {\n return Core.getAdminAddress(proxy);\n }\n\n /**\n * @dev Gets the implementation address of a transparent or UUPS proxy from its ERC1967 implementation storage slot.\n *\n * @param proxy Address of a transparent or UUPS proxy\n * @return Implementation address\n */\n function getImplementationAddress(address proxy) internal view returns (address) {\n return Core.getImplementationAddress(proxy);\n }\n\n /**\n * @dev Gets the beacon address of a beacon proxy from its ERC1967 beacon storage slot.\n *\n * @param proxy Address of a beacon proxy\n * @return Beacon address\n */\n function getBeaconAddress(address proxy) internal view returns (address) {\n return Core.getBeaconAddress(proxy);\n }\n}\n\n/**\n * @dev Library for deploying and managing upgradeable contracts from Forge tests, without validations.\n *\n * Can be used with `forge coverage`. Requires implementation contracts to be instantiated first.\n * Does not require `--ffi` and does not require a clean compilation before each run.\n *\n * Not supported for OpenZeppelin Defender deployments.\n *\n * WARNING: Not recommended for use in Forge scripts.\n * `UnsafeUpgrades` does not validate whether your contracts are upgrade safe or whether new implementations are compatible with previous ones.\n * Use `Upgrades` if you want validations to be run.\n *\n * NOTE: Requires OpenZeppelin Contracts v5 or higher.\n */\nlibrary UnsafeUpgrades {\n /**\n * @dev Deploys a UUPS proxy using the given contract address as the implementation.\n *\n * @param impl Address of the contract to use as the implementation\n * @param initializerData Encoded call data of the initializer function to call during creation of the proxy, or empty if no initialization is required\n * @return Proxy address\n */\n function deployUUPSProxy(address impl, bytes memory initializerData) internal returns (address) {\n return address(new ERC1967Proxy(impl, initializerData));\n }\n\n /**\n * @dev Deploys a transparent proxy using the given contract address as the implementation.\n *\n * @param impl Address of the contract to use as the implementation\n * @param initialOwner Address to set as the owner of the ProxyAdmin contract which gets deployed by the proxy\n * @param initializerData Encoded call data of the initializer function to call during creation of the proxy, or empty if no initialization is required\n * @return Proxy address\n */\n function deployTransparentProxy(\n address impl,\n address initialOwner,\n bytes memory initializerData\n ) internal returns (address) {\n return address(new TransparentUpgradeableProxy(impl, initialOwner, initializerData));\n }\n\n /**\n * @dev Upgrades a proxy to a new implementation contract address. Only supported for UUPS or transparent proxies.\n *\n * @param proxy Address of the proxy to upgrade\n * @param newImpl Address of the new implementation contract to upgrade to\n * @param data Encoded call data of an arbitrary function to call during the upgrade process, or empty if no function needs to be called during the upgrade\n */\n function upgradeProxy(address proxy, address newImpl, bytes memory data) internal {\n Core.upgradeProxyTo(proxy, newImpl, data);\n }\n\n /**\n * @notice For tests only. If broadcasting in scripts, use the `--sender
` option with `forge script` instead.\n *\n * @dev Upgrades a proxy to a new implementation contract address. Only supported for UUPS or transparent proxies.\n *\n * This function provides an additional `tryCaller` parameter to test an upgrade using a specific caller address.\n * Use this if you encounter `OwnableUnauthorizedAccount` errors in your tests.\n *\n * @param proxy Address of the proxy to upgrade\n * @param newImpl Address of the new implementation contract to upgrade to\n * @param data Encoded call data of an arbitrary function to call during the upgrade process, or empty if no function needs to be called during the upgrade\n * @param tryCaller Address to use as the caller of the upgrade function. This should be the address that owns the proxy or its ProxyAdmin.\n */\n function upgradeProxy(address proxy, address newImpl, bytes memory data, address tryCaller) internal {\n Core.upgradeProxyTo(proxy, newImpl, data, tryCaller);\n }\n\n /**\n * @dev Deploys an upgradeable beacon using the given contract address as the implementation.\n *\n * @param impl Address of the contract to use as the implementation\n * @param initialOwner Address to set as the owner of the UpgradeableBeacon contract which gets deployed\n * @return Beacon address\n */\n function deployBeacon(address impl, address initialOwner) internal returns (address) {\n return address(new UpgradeableBeacon(impl, initialOwner));\n }\n\n /**\n * @dev Upgrades a beacon to a new implementation contract address.\n *\n * @param beacon Address of the beacon to upgrade\n * @param newImpl Address of the new implementation contract to upgrade to\n */\n function upgradeBeacon(address beacon, address newImpl) internal {\n Core.upgradeBeaconTo(beacon, newImpl);\n }\n\n /**\n * @notice For tests only. If broadcasting in scripts, use the `--sender
` option with `forge script` instead.\n *\n * @dev Upgrades a beacon to a new implementation contract address.\n *\n * This function provides an additional `tryCaller` parameter to test an upgrade using a specific caller address.\n * Use this if you encounter `OwnableUnauthorizedAccount` errors in your tests.\n *\n * @param beacon Address of the beacon to upgrade\n * @param newImpl Address of the new implementation contract to upgrade to\n * @param tryCaller Address to use as the caller of the upgrade function. This should be the address that owns the beacon.\n */\n function upgradeBeacon(address beacon, address newImpl, address tryCaller) internal {\n Core.upgradeBeaconTo(beacon, newImpl, tryCaller);\n }\n\n /**\n * @dev Deploys a beacon proxy using the given beacon and call data.\n *\n * @param beacon Address of the beacon to use\n * @param data Encoded call data of the initializer function to call during creation of the proxy, or empty if no initialization is required\n * @return Proxy address\n */\n function deployBeaconProxy(address beacon, bytes memory data) internal returns (address) {\n return address(new BeaconProxy(beacon, data));\n }\n\n /**\n * @dev Gets the admin address of a transparent proxy from its ERC1967 admin storage slot.\n *\n * @param proxy Address of a transparent proxy\n * @return Admin address\n */\n function getAdminAddress(address proxy) internal view returns (address) {\n return Core.getAdminAddress(proxy);\n }\n\n /**\n * @dev Gets the implementation address of a transparent or UUPS proxy from its ERC1967 implementation storage slot.\n *\n * @param proxy Address of a transparent or UUPS proxy\n * @return Implementation address\n */\n function getImplementationAddress(address proxy) internal view returns (address) {\n return Core.getImplementationAddress(proxy);\n }\n\n /**\n * @dev Gets the beacon address of a beacon proxy from its ERC1967 beacon storage slot.\n *\n * @param proxy Address of a beacon proxy\n * @return Beacon address\n */\n function getBeaconAddress(address proxy) internal view returns (address) {\n return Core.getBeaconAddress(proxy);\n }\n}\n"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {console} from \"forge-std/console.sol\";\n\nimport {Strings} from \"@openzeppelin/contracts/utils/Strings.sol\";\n\nimport {Options} from \"../Options.sol\";\nimport {Versions} from \"./Versions.sol\";\nimport {Utils} from \"./Utils.sol\";\nimport {DefenderDeploy} from \"./DefenderDeploy.sol\";\n\nimport {IUpgradeableProxy} from \"./interfaces/IUpgradeableProxy.sol\";\nimport {IProxyAdmin} from \"./interfaces/IProxyAdmin.sol\";\nimport {IUpgradeableBeacon} from \"./interfaces/IUpgradeableBeacon.sol\";\n\n/**\n * @dev Internal helper methods to validate/deploy implementations and perform upgrades.\n *\n * WARNING: DO NOT USE DIRECTLY. Use Upgrades.sol, LegacyUpgrades.sol or Defender.sol instead.\n */\nlibrary Core {\n /**\n * @dev Upgrades a proxy to a new implementation contract. Only supported for UUPS or transparent proxies.\n *\n * Requires that either the `referenceContract` option is set, or the new implementation contract has a `@custom:oz-upgrades-from ` annotation.\n *\n * @param proxy Address of the proxy to upgrade\n * @param contractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param data Encoded call data of an arbitrary function to call during the upgrade process, or empty if no function needs to be called during the upgrade\n * @param opts Common options\n */\n function upgradeProxy(address proxy, string memory contractName, bytes memory data, Options memory opts) internal {\n address newImpl = prepareUpgrade(contractName, opts);\n upgradeProxyTo(proxy, newImpl, data);\n }\n\n /**\n * @notice For tests only. If broadcasting in scripts, use the `--sender
` option with `forge script` instead.\n *\n * @dev Upgrades a proxy to a new implementation contract. Only supported for UUPS or transparent proxies.\n *\n * Requires that either the `referenceContract` option is set, or the new implementation contract has a `@custom:oz-upgrades-from ` annotation.\n *\n * This function provides an additional `tryCaller` parameter to test an upgrade using a specific caller address.\n * Use this if you encounter `OwnableUnauthorizedAccount` errors in your tests.\n *\n * @param proxy Address of the proxy to upgrade\n * @param contractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param data Encoded call data of an arbitrary function to call during the upgrade process, or empty if no function needs to be called during the upgrade\n * @param opts Common options\n * @param tryCaller Address to use as the caller of the upgrade function. This should be the address that owns the proxy or its ProxyAdmin.\n */\n function upgradeProxy(\n address proxy,\n string memory contractName,\n bytes memory data,\n Options memory opts,\n address tryCaller\n ) internal tryPrank(tryCaller) {\n upgradeProxy(proxy, contractName, data, opts);\n }\n\n using Strings for *;\n\n /**\n * @dev Upgrades a proxy to a new implementation contract. Only supported for UUPS or transparent proxies.\n *\n * @param proxy Address of the proxy to upgrade\n * @param newImpl Address of the new implementation contract to upgrade to\n * @param data Encoded call data of an arbitrary function to call during the upgrade process, or empty if no function needs to be called during the upgrade\n */\n function upgradeProxyTo(address proxy, address newImpl, bytes memory data) internal {\n Vm vm = Vm(Utils.CHEATCODE_ADDRESS);\n\n bytes32 adminSlot = vm.load(proxy, ADMIN_SLOT);\n if (adminSlot == bytes32(0)) {\n string memory upgradeInterfaceVersion = getUpgradeInterfaceVersion(proxy);\n if (upgradeInterfaceVersion.equal(\"5.0.0\") || data.length > 0) {\n IUpgradeableProxy(proxy).upgradeToAndCall(newImpl, data);\n } else {\n IUpgradeableProxy(proxy).upgradeTo(newImpl);\n }\n } else {\n address admin = address(uint160(uint256(adminSlot)));\n string memory upgradeInterfaceVersion = getUpgradeInterfaceVersion(admin);\n if (upgradeInterfaceVersion.equal(\"5.0.0\") || data.length > 0) {\n IProxyAdmin(admin).upgradeAndCall(proxy, newImpl, data);\n } else {\n IProxyAdmin(admin).upgrade(proxy, newImpl);\n }\n }\n }\n\n /**\n * @notice For tests only. If broadcasting in scripts, use the `--sender
` option with `forge script` instead.\n *\n * @dev Upgrades a proxy to a new implementation contract. Only supported for UUPS or transparent proxies.\n *\n * This function provides an additional `tryCaller` parameter to test an upgrade using a specific caller address.\n * Use this if you encounter `OwnableUnauthorizedAccount` errors in your tests.\n *\n * @param proxy Address of the proxy to upgrade\n * @param newImpl Address of the new implementation contract to upgrade to\n * @param data Encoded call data of an arbitrary function to call during the upgrade process, or empty if no function needs to be called during the upgrade\n * @param tryCaller Address to use as the caller of the upgrade function. This should be the address that owns the proxy or its ProxyAdmin.\n */\n function upgradeProxyTo(\n address proxy,\n address newImpl,\n bytes memory data,\n address tryCaller\n ) internal tryPrank(tryCaller) {\n upgradeProxyTo(proxy, newImpl, data);\n }\n\n /**\n * @dev Upgrades a beacon to a new implementation contract.\n *\n * Requires that either the `referenceContract` option is set, or the new implementation contract has a `@custom:oz-upgrades-from ` annotation.\n *\n * @param beacon Address of the beacon to upgrade\n * @param contractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param opts Common options\n */\n function upgradeBeacon(address beacon, string memory contractName, Options memory opts) internal {\n address newImpl = prepareUpgrade(contractName, opts);\n upgradeBeaconTo(beacon, newImpl);\n }\n\n /**\n * @notice For tests only. If broadcasting in scripts, use the `--sender
` option with `forge script` instead.\n *\n * @dev Upgrades a beacon to a new implementation contract.\n *\n * Requires that either the `referenceContract` option is set, or the new implementation contract has a `@custom:oz-upgrades-from ` annotation.\n *\n * This function provides an additional `tryCaller` parameter to test an upgrade using a specific caller address.\n * Use this if you encounter `OwnableUnauthorizedAccount` errors in your tests.\n *\n * @param beacon Address of the beacon to upgrade\n * @param contractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param opts Common options\n * @param tryCaller Address to use as the caller of the upgrade function. This should be the address that owns the beacon.\n */\n function upgradeBeacon(\n address beacon,\n string memory contractName,\n Options memory opts,\n address tryCaller\n ) internal tryPrank(tryCaller) {\n upgradeBeacon(beacon, contractName, opts);\n }\n\n /**\n * @dev Upgrades a beacon to a new implementation contract address.\n *\n * @param beacon Address of the beacon to upgrade\n * @param newImpl Address of the new implementation contract to upgrade to\n */\n function upgradeBeaconTo(address beacon, address newImpl) internal {\n IUpgradeableBeacon(beacon).upgradeTo(newImpl);\n }\n\n /**\n * @notice For tests only. If broadcasting in scripts, use the `--sender
` option with `forge script` instead.\n *\n * @dev Upgrades a beacon to a new implementation contract.\n *\n * This function provides an additional `tryCaller` parameter to test an upgrade using a specific caller address.\n * Use this if you encounter `OwnableUnauthorizedAccount` errors in your tests.\n *\n * @param beacon Address of the beacon to upgrade\n * @param newImpl Address of the new implementation contract to upgrade to\n * @param tryCaller Address to use as the caller of the upgrade function. This should be the address that owns the beacon.\n */\n function upgradeBeaconTo(address beacon, address newImpl, address tryCaller) internal tryPrank(tryCaller) {\n upgradeBeaconTo(beacon, newImpl);\n }\n\n /**\n * @dev Validates an implementation contract, but does not deploy it.\n *\n * @param contractName Name of the contract to validate, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param opts Common options\n */\n function validateImplementation(string memory contractName, Options memory opts) internal {\n _validate(contractName, opts, false);\n }\n\n /**\n * @dev Validates and deploys an implementation contract, and returns its address.\n *\n * @param contractName Name of the contract to deploy, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param opts Common options\n * @return Address of the implementation contract\n */\n function deployImplementation(string memory contractName, Options memory opts) internal returns (address) {\n validateImplementation(contractName, opts);\n return deploy(contractName, opts.constructorData, opts);\n }\n\n /**\n * @dev Validates a new implementation contract in comparison with a reference contract, but does not deploy it.\n *\n * Requires that either the `referenceContract` option is set, or the contract has a `@custom:oz-upgrades-from ` annotation.\n *\n * @param contractName Name of the contract to validate, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param opts Common options\n */\n function validateUpgrade(string memory contractName, Options memory opts) internal {\n _validate(contractName, opts, true);\n }\n\n /**\n * @dev Validates a new implementation contract in comparison with a reference contract, deploys the new implementation contract,\n * and returns its address.\n *\n * Requires that either the `referenceContract` option is set, or the contract has a `@custom:oz-upgrades-from ` annotation.\n *\n * Use this method to prepare an upgrade to be run from an admin address you do not control directly or cannot use from your deployment environment.\n *\n * @param contractName Name of the contract to deploy, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param opts Common options\n * @return Address of the new implementation contract\n */\n function prepareUpgrade(string memory contractName, Options memory opts) internal returns (address) {\n validateUpgrade(contractName, opts);\n return deploy(contractName, opts.constructorData, opts);\n }\n\n /**\n * @dev Gets the admin address of a transparent proxy from its ERC1967 admin storage slot.\n *\n * @param proxy Address of a transparent proxy\n * @return Admin address\n */\n function getAdminAddress(address proxy) internal view returns (address) {\n Vm vm = Vm(Utils.CHEATCODE_ADDRESS);\n\n bytes32 adminSlot = vm.load(proxy, ADMIN_SLOT);\n return address(uint160(uint256(adminSlot)));\n }\n\n /**\n * @dev Gets the implementation address of a transparent or UUPS proxy from its ERC1967 implementation storage slot.\n *\n * @param proxy Address of a transparent or UUPS proxy\n * @return Implementation address\n */\n function getImplementationAddress(address proxy) internal view returns (address) {\n Vm vm = Vm(Utils.CHEATCODE_ADDRESS);\n\n bytes32 implSlot = vm.load(proxy, IMPLEMENTATION_SLOT);\n return address(uint160(uint256(implSlot)));\n }\n\n /**\n * @dev Gets the beacon address of a beacon proxy from its ERC1967 beacon storage slot.\n *\n * @param proxy Address of a beacon proxy\n * @return Beacon address\n */\n function getBeaconAddress(address proxy) internal view returns (address) {\n Vm vm = Vm(Utils.CHEATCODE_ADDRESS);\n\n bytes32 beaconSlot = vm.load(proxy, BEACON_SLOT);\n return address(uint160(uint256(beaconSlot)));\n }\n\n /**\n * @notice For tests only. If broadcasting in scripts, use the `--sender
` option with `forge script` instead.\n *\n * @dev Runs a function as a prank, or just runs the function normally if the prank could not be started.\n */\n modifier tryPrank(address deployer) {\n Vm vm = Vm(Utils.CHEATCODE_ADDRESS);\n\n try vm.startPrank(deployer) {\n _;\n vm.stopPrank();\n } catch {\n _;\n }\n }\n\n /**\n * @dev Storage slot with the address of the implementation.\n * This is the keccak-256 hash of \"eip1967.proxy.implementation\" subtracted by 1.\n */\n bytes32 private constant IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n\n /**\n * @dev Storage slot with the admin of the proxy.\n * This is the keccak-256 hash of \"eip1967.proxy.admin\" subtracted by 1.\n */\n bytes32 private constant ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;\n\n /**\n * @dev Storage slot with the UpgradeableBeacon contract which defines the implementation for the proxy.\n * This is the keccak-256 hash of \"eip1967.proxy.beacon\" subtracted by 1.\n */\n bytes32 private constant BEACON_SLOT = 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50;\n\n /**\n * @dev Gets the upgrade interface version string from a proxy or admin contract using the `UPGRADE_INTERFACE_VERSION()` getter.\n * If the contract does not have the getter or the return data does not look like a string, this function returns an empty string.\n */\n function getUpgradeInterfaceVersion(address addr) internal view returns (string memory) {\n // Use staticcall to prevent forge from broadcasting it, and to ensure no state changes\n (bool success, bytes memory returndata) = addr.staticcall(\n abi.encodeWithSignature(\"UPGRADE_INTERFACE_VERSION()\")\n );\n if (success && returndata.length > 32) {\n return abi.decode(returndata, (string));\n } else {\n return \"\";\n }\n }\n\n /**\n * @dev Infers whether the address might be a ProxyAdmin contract.\n */\n function inferProxyAdmin(address addr) internal view returns (bool) {\n return _hasOwner(addr);\n }\n\n /**\n * @dev Returns true if the address is a contract with an `owner()` function that is not state-changing and returns something that might be an address,\n * otherwise returns false.\n */\n function _hasOwner(address addr) private view returns (bool) {\n // Use staticcall to prevent forge from broadcasting it, and to ensure no state changes\n (bool success, bytes memory returndata) = addr.staticcall(abi.encodeWithSignature(\"owner()\"));\n return (success && returndata.length == 32);\n }\n\n function _validate(string memory contractName, Options memory opts, bool requireReference) private {\n if (opts.unsafeSkipAllChecks) {\n return;\n }\n\n string[] memory inputs = buildValidateCommand(contractName, opts, requireReference);\n Vm.FfiResult memory result = Utils.runAsBashCommand(inputs);\n string memory stdout = string(result.stdout);\n\n // CLI validate command uses exit code to indicate if the validation passed or failed.\n Vm vm = Vm(Utils.CHEATCODE_ADDRESS);\n if (result.exitCode == 0) {\n // As an extra precaution, we also check stdout for \"SUCCESS\" to ensure it actually ran.\n if (vm.contains(stdout, \"SUCCESS\")) {\n if (result.stderr.length > 0) {\n // Prints warnings from stderr\n console.log(string(result.stderr));\n }\n return;\n } else {\n revert(string(abi.encodePacked(\"Failed to run upgrade safety validation: \", stdout)));\n }\n } else {\n if (vm.contains(stdout, \"FAILED\")) {\n if (result.stderr.length > 0) {\n // Prints warnings from stderr\n console.log(string(result.stderr));\n }\n // Validations ran but some contracts were not upgrade safe\n revert(string(abi.encodePacked(\"Upgrade safety validation failed:\\n\", stdout)));\n } else {\n // Validations failed to run\n revert(string(abi.encodePacked(\"Failed to run upgrade safety validation: \", string(result.stderr))));\n }\n }\n }\n\n function buildValidateCommand(\n string memory contractName,\n Options memory opts,\n bool requireReference\n ) internal view returns (string[] memory) {\n string memory outDir = Utils.getOutDir();\n\n string[] memory inputBuilder = new string[](2 ** 16);\n\n uint16 i = 0;\n\n inputBuilder[i++] = \"npx\";\n inputBuilder[i++] = string(abi.encodePacked(\"@openzeppelin/upgrades-core@\", Versions.UPGRADES_CORE));\n inputBuilder[i++] = \"validate\";\n inputBuilder[i++] = string(abi.encodePacked(outDir, \"/build-info\"));\n inputBuilder[i++] = \"--contract\";\n inputBuilder[i++] = Utils.getFullyQualifiedName(contractName, outDir);\n\n bool hasReferenceContract = bytes(opts.referenceContract).length != 0;\n bool hasReferenceBuildInfoDir = bytes(opts.referenceBuildInfoDir).length != 0;\n\n if (hasReferenceContract) {\n string memory referenceArg = hasReferenceBuildInfoDir\n ? opts.referenceContract\n : Utils.getFullyQualifiedName(opts.referenceContract, outDir);\n inputBuilder[i++] = \"--reference\";\n inputBuilder[i++] = string(abi.encodePacked('\"', referenceArg, '\"'));\n }\n\n if (hasReferenceBuildInfoDir) {\n inputBuilder[i++] = \"--referenceBuildInfoDirs\";\n inputBuilder[i++] = string(abi.encodePacked('\"', opts.referenceBuildInfoDir, '\"'));\n }\n\n for (uint8 j = 0; j < opts.exclude.length; j++) {\n string memory exclude = opts.exclude[j];\n if (bytes(exclude).length != 0) {\n inputBuilder[i++] = \"--exclude\";\n inputBuilder[i++] = string(abi.encodePacked('\"', exclude, '\"'));\n }\n }\n\n if (opts.unsafeSkipStorageCheck) {\n inputBuilder[i++] = \"--unsafeSkipStorageCheck\";\n } else if (requireReference) {\n inputBuilder[i++] = \"--requireReference\";\n }\n\n if (bytes(opts.unsafeAllow).length != 0) {\n inputBuilder[i++] = \"--unsafeAllow\";\n inputBuilder[i++] = opts.unsafeAllow;\n }\n\n if (opts.unsafeAllowRenames) {\n inputBuilder[i++] = \"--unsafeAllowRenames\";\n }\n\n // Create a copy of inputs but with the correct length\n string[] memory inputs = new string[](i);\n for (uint16 j = 0; j < i; j++) {\n inputs[j] = inputBuilder[j];\n }\n\n return inputs;\n }\n\n function deploy(\n string memory contractName,\n bytes memory constructorData,\n Options memory opts\n ) internal returns (address) {\n if (opts.defender.useDefenderDeploy) {\n return DefenderDeploy.deploy(contractName, constructorData, opts.defender);\n } else {\n return _deploy(contractName, constructorData);\n }\n }\n\n function _deploy(string memory contractName, bytes memory constructorData) private returns (address) {\n bytes memory creationCode = Vm(Utils.CHEATCODE_ADDRESS).getCode(contractName);\n address deployedAddress = _deployFromBytecode(abi.encodePacked(creationCode, constructorData));\n if (deployedAddress == address(0)) {\n revert(\n string(\n abi.encodePacked(\n \"Failed to deploy contract \",\n contractName,\n ' using constructor data \"',\n string(constructorData),\n '\"'\n )\n )\n );\n }\n return deployedAddress;\n }\n\n function _deployFromBytecode(bytes memory bytecode) private returns (address) {\n address addr;\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(0, add(bytecode, 32), mload(bytecode))\n }\n return addr;\n }\n}\n"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {console} from \"forge-std/console.sol\";\n\nimport {Strings} from \"@openzeppelin/contracts/utils/Strings.sol\";\n\nimport {Utils, ContractInfo} from \"./Utils.sol\";\nimport {Versions} from \"./Versions.sol\";\nimport {Options, DefenderOptions} from \"../Options.sol\";\nimport {ProposeUpgradeResponse, ApprovalProcessResponse} from \"../Defender.sol\";\n\n/**\n * @dev Internal helper methods for Defender deployments.\n *\n * WARNING: DO NOT USE DIRECTLY. Use Defender.sol instead.\n */\nlibrary DefenderDeploy {\n function deploy(\n string memory contractName,\n bytes memory constructorData,\n DefenderOptions memory defenderOpts\n ) internal returns (address) {\n string memory outDir = Utils.getOutDir();\n ContractInfo memory contractInfo = Utils.getContractInfo(contractName, outDir);\n string memory buildInfoFile = Utils.getBuildInfoFile(\n contractInfo.sourceCodeHash,\n contractInfo.shortName,\n outDir\n );\n\n string[] memory inputs = buildDeployCommand(contractInfo, buildInfoFile, constructorData, defenderOpts);\n\n Vm.FfiResult memory result = Utils.runAsBashCommand(inputs);\n string memory stdout = string(result.stdout);\n\n if (result.exitCode != 0) {\n revert(string(abi.encodePacked(\"Failed to deploy contract \", contractName, \": \", string(result.stderr))));\n }\n\n string memory deployedAddress = _parseLine(\"Deployed to address: \", stdout, true);\n return Vm(Utils.CHEATCODE_ADDRESS).parseAddress(deployedAddress);\n }\n\n function buildDeployCommand(\n ContractInfo memory contractInfo,\n string memory buildInfoFile,\n bytes memory constructorData,\n DefenderOptions memory defenderOpts\n ) internal view returns (string[] memory) {\n Vm vm = Vm(Utils.CHEATCODE_ADDRESS);\n\n if (bytes(defenderOpts.licenseType).length != 0) {\n if (defenderOpts.skipVerifySourceCode) {\n revert(\"The `licenseType` option cannot be used when the `skipVerifySourceCode` option is `true`\");\n } else if (defenderOpts.skipLicenseType) {\n revert(\"The `licenseType` option cannot be used when the `skipLicenseType` option is `true`\");\n }\n }\n\n string[] memory inputBuilder = new string[](255);\n\n uint8 i = 0;\n\n inputBuilder[i++] = \"npx\";\n inputBuilder[i++] = string(\n abi.encodePacked(\"@openzeppelin/defender-deploy-client-cli@\", Versions.DEFENDER_DEPLOY_CLIENT_CLI)\n );\n inputBuilder[i++] = \"deploy\";\n inputBuilder[i++] = \"--contractName\";\n inputBuilder[i++] = contractInfo.shortName;\n inputBuilder[i++] = \"--contractPath\";\n inputBuilder[i++] = contractInfo.contractPath;\n inputBuilder[i++] = \"--chainId\";\n inputBuilder[i++] = Strings.toString(block.chainid);\n inputBuilder[i++] = \"--buildInfoFile\";\n inputBuilder[i++] = buildInfoFile;\n if (constructorData.length > 0) {\n inputBuilder[i++] = \"--constructorBytecode\";\n inputBuilder[i++] = vm.toString(constructorData);\n }\n if (defenderOpts.skipVerifySourceCode) {\n inputBuilder[i++] = \"--verifySourceCode\";\n inputBuilder[i++] = \"false\";\n } else if (bytes(defenderOpts.licenseType).length != 0) {\n inputBuilder[i++] = \"--licenseType\";\n inputBuilder[i++] = string(abi.encodePacked('\"', defenderOpts.licenseType, '\"'));\n } else if (!defenderOpts.skipLicenseType && bytes(contractInfo.license).length != 0) {\n inputBuilder[i++] = \"--licenseType\";\n inputBuilder[i++] = string(abi.encodePacked('\"', _toLicenseType(contractInfo), '\"'));\n }\n if (bytes(defenderOpts.relayerId).length != 0) {\n inputBuilder[i++] = \"--relayerId\";\n inputBuilder[i++] = defenderOpts.relayerId;\n }\n if (defenderOpts.salt != 0) {\n inputBuilder[i++] = \"--salt\";\n inputBuilder[i++] = vm.toString(defenderOpts.salt);\n }\n if (defenderOpts.txOverrides.gasLimit != 0) {\n inputBuilder[i++] = \"--gasLimit\";\n inputBuilder[i++] = Strings.toString(defenderOpts.txOverrides.gasLimit);\n }\n if (defenderOpts.txOverrides.gasPrice != 0) {\n inputBuilder[i++] = \"--gasPrice\";\n inputBuilder[i++] = Strings.toString(defenderOpts.txOverrides.gasPrice);\n }\n if (defenderOpts.txOverrides.maxFeePerGas != 0) {\n inputBuilder[i++] = \"--maxFeePerGas\";\n inputBuilder[i++] = Strings.toString(defenderOpts.txOverrides.maxFeePerGas);\n }\n if (defenderOpts.txOverrides.maxPriorityFeePerGas != 0) {\n inputBuilder[i++] = \"--maxPriorityFeePerGas\";\n inputBuilder[i++] = Strings.toString(defenderOpts.txOverrides.maxPriorityFeePerGas);\n }\n if (bytes(defenderOpts.metadata).length != 0) {\n inputBuilder[i++] = \"--metadata\";\n inputBuilder[i++] = string(abi.encodePacked('\"', vm.replace(defenderOpts.metadata, '\"', '\\\\\"'), '\"'));\n }\n inputBuilder[i++] = \"--origin\";\n inputBuilder[i++] = \"Foundry\";\n\n // Create a copy of inputs but with the correct length\n string[] memory inputs = new string[](i);\n for (uint8 j = 0; j < i; j++) {\n inputs[j] = inputBuilder[j];\n }\n\n return inputs;\n }\n\n using Strings for string;\n\n function _toLicenseType(ContractInfo memory contractInfo) private pure returns (string memory) {\n string memory id = contractInfo.license;\n if (id.equal(\"UNLICENSED\")) {\n return \"None\";\n } else if (id.equal(\"Unlicense\")) {\n return \"Unlicense\";\n } else if (id.equal(\"MIT\")) {\n return \"MIT\";\n } else if (id.equal(\"GPL-2.0-only\") || id.equal(\"GPL-2.0-or-later\")) {\n return \"GNU GPLv2\";\n } else if (id.equal(\"GPL-3.0-only\") || id.equal(\"GPL-3.0-or-later\")) {\n return \"GNU GPLv3\";\n } else if (id.equal(\"LGPL-2.1-only\") || id.equal(\"LGPL-2.1-or-later\")) {\n return \"GNU LGPLv2.1\";\n } else if (id.equal(\"LGPL-3.0-only\") || id.equal(\"LGPL-3.0-or-later\")) {\n return \"GNU LGPLv3\";\n } else if (id.equal(\"BSD-2-Clause\")) {\n return \"BSD-2-Clause\";\n } else if (id.equal(\"BSD-3-Clause\")) {\n return \"BSD-3-Clause\";\n } else if (id.equal(\"MPL-2.0\")) {\n return \"MPL-2.0\";\n } else if (id.equal(\"OSL-3.0\")) {\n return \"OSL-3.0\";\n } else if (id.equal(\"Apache-2.0\")) {\n return \"Apache-2.0\";\n } else if (id.equal(\"AGPL-3.0-only\") || id.equal(\"AGPL-3.0-or-later\")) {\n return \"GNU AGPLv3\";\n } else if (id.equal(\"BUSL-1.1\")) {\n return \"BSL 1.1\";\n } else {\n revert(\n string(\n abi.encodePacked(\n \"SPDX license identifier \",\n contractInfo.license,\n \" in \",\n contractInfo.contractPath,\n \" does not look like a supported license for block explorer verification. Use the `licenseType` option to specify a license type, or set the `skipLicenseType` option to `true` to skip.\"\n )\n )\n );\n }\n }\n\n function proposeUpgrade(\n address proxyAddress,\n address proxyAdminAddress,\n address newImplementationAddress,\n string memory newImplementationContractName,\n Options memory opts\n ) internal returns (ProposeUpgradeResponse memory) {\n Vm vm = Vm(Utils.CHEATCODE_ADDRESS);\n\n string memory outDir = Utils.getOutDir();\n ContractInfo memory contractInfo = Utils.getContractInfo(newImplementationContractName, outDir);\n\n string[] memory inputs = buildProposeUpgradeCommand(\n proxyAddress,\n proxyAdminAddress,\n newImplementationAddress,\n contractInfo,\n opts\n );\n\n Vm.FfiResult memory result = Utils.runAsBashCommand(inputs);\n string memory stdout = string(result.stdout);\n\n if (result.exitCode != 0) {\n revert(\n string(\n abi.encodePacked(\n \"Failed to propose upgrade for proxy \",\n vm.toString(proxyAddress),\n \": \",\n string(result.stderr)\n )\n )\n );\n }\n\n return parseProposeUpgradeResponse(stdout);\n }\n\n function parseProposeUpgradeResponse(string memory stdout) internal returns (ProposeUpgradeResponse memory) {\n ProposeUpgradeResponse memory response;\n response.proposalId = _parseLine(\"Proposal ID: \", stdout, true);\n response.url = _parseLine(\"Proposal URL: \", stdout, false);\n return response;\n }\n\n function _parseLine(\n string memory expectedPrefix,\n string memory stdout,\n bool required\n ) private returns (string memory) {\n Vm vm = Vm(Utils.CHEATCODE_ADDRESS);\n if (vm.contains(stdout, expectedPrefix)) {\n // Get the substring after the prefix\n string[] memory segments = vm.split(stdout, expectedPrefix);\n if (segments.length > 2) {\n revert(\n string(\n abi.encodePacked(\n \"Found multiple occurrences of prefix '\",\n expectedPrefix,\n \"' in output: \",\n stdout\n )\n )\n );\n }\n string memory suffix = segments[1];\n // Keep only the first line\n return vm.split(suffix, \"\\n\")[0];\n } else if (required) {\n revert(\n string(abi.encodePacked(\"Failed to find line with prefix '\", expectedPrefix, \"' in output: \", stdout))\n );\n } else {\n return \"\";\n }\n }\n\n function buildProposeUpgradeCommand(\n address proxyAddress,\n address proxyAdminAddress,\n address newImplementationAddress,\n ContractInfo memory contractInfo,\n Options memory opts\n ) internal view returns (string[] memory) {\n Vm vm = Vm(Utils.CHEATCODE_ADDRESS);\n\n string[] memory inputBuilder = new string[](255);\n\n uint8 i = 0;\n\n inputBuilder[i++] = \"npx\";\n inputBuilder[i++] = string(\n abi.encodePacked(\"@openzeppelin/defender-deploy-client-cli@\", Versions.DEFENDER_DEPLOY_CLIENT_CLI)\n );\n inputBuilder[i++] = \"proposeUpgrade\";\n inputBuilder[i++] = \"--proxyAddress\";\n inputBuilder[i++] = vm.toString(proxyAddress);\n inputBuilder[i++] = \"--newImplementationAddress\";\n inputBuilder[i++] = vm.toString(newImplementationAddress);\n inputBuilder[i++] = \"--chainId\";\n inputBuilder[i++] = Strings.toString(block.chainid);\n inputBuilder[i++] = \"--contractArtifactFile\";\n inputBuilder[i++] = string(abi.encodePacked('\"', contractInfo.artifactPath, '\"'));\n if (proxyAdminAddress != address(0)) {\n inputBuilder[i++] = \"--proxyAdminAddress\";\n inputBuilder[i++] = vm.toString(proxyAdminAddress);\n }\n if (bytes(opts.defender.upgradeApprovalProcessId).length != 0) {\n inputBuilder[i++] = \"--approvalProcessId\";\n inputBuilder[i++] = opts.defender.upgradeApprovalProcessId;\n }\n\n // Create a copy of inputs but with the correct length\n string[] memory inputs = new string[](i);\n for (uint8 j = 0; j < i; j++) {\n inputs[j] = inputBuilder[j];\n }\n\n return inputs;\n }\n\n function getApprovalProcess(string memory command) internal returns (ApprovalProcessResponse memory) {\n string[] memory inputs = buildGetApprovalProcessCommand(command);\n\n Vm.FfiResult memory result = Utils.runAsBashCommand(inputs);\n string memory stdout = string(result.stdout);\n\n if (result.exitCode != 0) {\n revert(string(abi.encodePacked(\"Failed to get approval process: \", string(result.stderr))));\n }\n\n return parseApprovalProcessResponse(stdout);\n }\n\n function parseApprovalProcessResponse(string memory stdout) internal returns (ApprovalProcessResponse memory) {\n Vm vm = Vm(Utils.CHEATCODE_ADDRESS);\n\n ApprovalProcessResponse memory response;\n\n response.approvalProcessId = _parseLine(\"Approval process ID: \", stdout, true);\n\n string memory viaString = _parseLine(\"Via: \", stdout, false);\n if (bytes(viaString).length != 0) {\n response.via = vm.parseAddress(viaString);\n }\n\n response.viaType = _parseLine(\"Via type: \", stdout, false);\n\n return response;\n }\n\n function buildGetApprovalProcessCommand(string memory command) internal view returns (string[] memory) {\n string[] memory inputBuilder = new string[](255);\n\n uint8 i = 0;\n\n inputBuilder[i++] = \"npx\";\n inputBuilder[i++] = string(\n abi.encodePacked(\"@openzeppelin/defender-deploy-client-cli@\", Versions.DEFENDER_DEPLOY_CLIENT_CLI)\n );\n inputBuilder[i++] = command;\n inputBuilder[i++] = \"--chainId\";\n inputBuilder[i++] = Strings.toString(block.chainid);\n\n // Create a copy of inputs but with the correct length\n string[] memory inputs = new string[](i);\n for (uint8 j = 0; j < i; j++) {\n inputs[j] = inputBuilder[j];\n }\n\n return inputs;\n }\n}\n"},"lib/openzeppelin-foundry-upgrades/src/internal/StringFinder.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {Utils} from \"./Utils.sol\";\n\n/**\n * String finder functions using Forge's string cheatcodes.\n * For internal use only.\n */\nlibrary StringFinder {\n /**\n * Returns whether the subject string contains the search string.\n */\n function contains(string memory subject, string memory search) internal returns (bool) {\n Vm vm = Vm(Utils.CHEATCODE_ADDRESS);\n return vm.contains(subject, search);\n }\n\n /**\n * Returns whether the subject string starts with the search string.\n */\n function startsWith(string memory subject, string memory search) internal pure returns (bool) {\n Vm vm = Vm(Utils.CHEATCODE_ADDRESS);\n uint256 index = vm.indexOf(subject, search);\n return index == 0;\n }\n\n /**\n * Returns whether the subject string ends with the search string.\n */\n function endsWith(string memory subject, string memory search) internal pure returns (bool) {\n Vm vm = Vm(Utils.CHEATCODE_ADDRESS);\n string[] memory tokens = vm.split(subject, search);\n return tokens.length > 1 && bytes(tokens[tokens.length - 1]).length == 0;\n }\n\n /**\n * Returns the number of non-overlapping occurrences of the search string in the subject string.\n */\n function count(string memory subject, string memory search) internal pure returns (uint256) {\n Vm vm = Vm(Utils.CHEATCODE_ADDRESS);\n string[] memory tokens = vm.split(subject, search);\n return tokens.length - 1;\n }\n}\n"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport {Vm} from \"forge-std/Vm.sol\";\nimport {console} from \"forge-std/console.sol\";\n\nimport {StringFinder} from \"./StringFinder.sol\";\n\nstruct ContractInfo {\n /*\n * Contract path, e.g. \"src/MyContract.sol\"\n */\n string contractPath;\n /*\n * Contract short name, e.g. \"MyContract\"\n */\n string shortName;\n /*\n * License identifier from the compiled artifact. Empty if not found.\n */\n string license;\n /*\n * keccak256 hash of the source code from metadata\n */\n string sourceCodeHash;\n /*\n * Artifact file path e.g. the path of the file 'out/MyContract.sol/MyContract.json'\n */\n string artifactPath;\n}\n\n/**\n * @dev Internal helper methods used by Upgrades and Defender libraries.\n */\nlibrary Utils {\n address constant CHEATCODE_ADDRESS = 0x7109709ECfa91a80626fF3989D68f67F5b1DD12D;\n\n /**\n * @dev Gets the fully qualified name of a contract.\n *\n * @param contractName Contract name in the format \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param outDir Foundry output directory to search in if contractName is not an artifact path\n * @return Fully qualified name of the contract, e.g. \"src/MyContract.sol:MyContract\"\n */\n function getFullyQualifiedName(\n string memory contractName,\n string memory outDir\n ) internal view returns (string memory) {\n ContractInfo memory info = getContractInfo(contractName, outDir);\n return string(abi.encodePacked(info.contractPath, \":\", info.shortName));\n }\n\n /**\n * @dev Gets information about a contract from its Foundry artifact.\n *\n * @param contractName Contract name in the format \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n * @param outDir Foundry output directory to search in if contractName is not an artifact path\n * @return ContractInfo struct containing information about the contract\n */\n function getContractInfo(\n string memory contractName,\n string memory outDir\n ) internal view returns (ContractInfo memory) {\n Vm vm = Vm(CHEATCODE_ADDRESS);\n\n ContractInfo memory info;\n\n info.shortName = _toShortName(contractName);\n\n string memory fileName = _toFileName(contractName);\n\n string memory artifactPath = string(\n abi.encodePacked(vm.projectRoot(), \"/\", outDir, \"/\", fileName, \"/\", info.shortName, \".json\")\n );\n string memory artifactJson = vm.readFile(artifactPath);\n\n if (!vm.keyExistsJson(artifactJson, \".ast\")) {\n revert(\n string(\n abi.encodePacked(\n \"Could not find AST in artifact \",\n artifactPath,\n \". Set `ast = true` in foundry.toml\"\n )\n )\n );\n }\n info.contractPath = vm.parseJsonString(artifactJson, \".ast.absolutePath\");\n if (vm.keyExistsJson(artifactJson, \".ast.license\")) {\n info.license = vm.parseJsonString(artifactJson, \".ast.license\");\n }\n info.sourceCodeHash = vm.parseJsonString(\n artifactJson,\n string(abi.encodePacked(\".metadata.sources.['\", info.contractPath, \"'].keccak256\"))\n );\n info.artifactPath = artifactPath;\n\n return info;\n }\n\n using StringFinder for string;\n\n /**\n * Gets the path to the build-info file that contains the given bytecode.\n *\n * @param sourceCodeHash keccak256 hash of the source code from metadata\n * @param contractName Contract name to display in error message if build-info file is not found\n * @param outDir Foundry output directory that contains a build-info directory\n * @return The path to the build-info file that contains the given bytecode\n */\n function getBuildInfoFile(\n string memory sourceCodeHash,\n string memory contractName,\n string memory outDir\n ) internal returns (string memory) {\n string[] memory inputs = new string[](4);\n inputs[0] = \"grep\";\n inputs[1] = \"-rl\";\n inputs[2] = string(abi.encodePacked('\"', sourceCodeHash, '\"'));\n inputs[3] = string(abi.encodePacked(outDir, \"/build-info\"));\n\n Vm.FfiResult memory result = runAsBashCommand(inputs);\n string memory stdout = string(result.stdout);\n\n if (!stdout.endsWith(\".json\")) {\n revert(\n string(\n abi.encodePacked(\n \"Could not find build-info file with matching source code hash for contract \",\n contractName\n )\n )\n );\n }\n\n return stdout;\n }\n\n /**\n * @dev Gets the output directory from the FOUNDRY_OUT environment variable, or defaults to \"out\" if not set.\n */\n function getOutDir() internal view returns (string memory) {\n Vm vm = Vm(CHEATCODE_ADDRESS);\n\n string memory defaultOutDir = \"out\";\n return vm.envOr(\"FOUNDRY_OUT\", defaultOutDir);\n }\n\n function _toFileName(string memory name) private pure returns (string memory) {\n Vm vm = Vm(CHEATCODE_ADDRESS);\n if (name.endsWith(\".sol\")) {\n return name;\n } else if (name.count(\":\") == 1) {\n return vm.split(name, \":\")[0];\n } else {\n if (name.endsWith(\".json\")) {\n string[] memory parts = vm.split(name, \"/\");\n if (parts.length > 1) {\n return parts[parts.length - 2];\n }\n }\n\n revert(\n string(\n abi.encodePacked(\n \"Contract name \",\n name,\n \" must be in the format MyContract.sol:MyContract or MyContract.sol or out/MyContract.sol/MyContract.json\"\n )\n )\n );\n }\n }\n\n function _toShortName(string memory name) private pure returns (string memory) {\n Vm vm = Vm(CHEATCODE_ADDRESS);\n if (name.endsWith(\".sol\") && name.count(\".sol\") == 1) {\n return vm.replace(name, \".sol\", \"\");\n } else if (name.count(\":\") == 1) {\n return vm.split(name, \":\")[1];\n } else if (name.endsWith(\".json\") && name.count(\".json\") == 1) {\n string[] memory parts = vm.split(name, \"/\");\n string memory jsonName = parts[parts.length - 1];\n return vm.replace(jsonName, \".json\", \"\");\n } else {\n revert(\n string(\n abi.encodePacked(\n \"Contract name \",\n name,\n \" must be in the format MyContract.sol:MyContract or MyContract.sol or out/MyContract.sol/MyContract.json\"\n )\n )\n );\n }\n }\n\n /**\n * @dev Converts an array of inputs to a bash command.\n * @param inputs Inputs for a command, e.g. [\"grep\", \"-rl\", \"0x1234\", \"out/build-info\"]\n * @param bashPath Path to the bash executable or just \"bash\" if it is in the PATH\n * @return A bash command that runs the given inputs, e.g. [\"bash\", \"-c\", \"grep -rl 0x1234 out/build-info\"]\n */\n function toBashCommand(string[] memory inputs, string memory bashPath) internal pure returns (string[] memory) {\n string memory commandString;\n for (uint i = 0; i < inputs.length; i++) {\n commandString = string(abi.encodePacked(commandString, inputs[i]));\n if (i != inputs.length - 1) {\n commandString = string(abi.encodePacked(commandString, \" \"));\n }\n }\n\n string[] memory result = new string[](3);\n result[0] = bashPath;\n result[1] = \"-c\";\n result[2] = commandString;\n return result;\n }\n\n /**\n * @dev Runs an arbitrary command using bash.\n * @param inputs Inputs for a command, e.g. [\"grep\", \"-rl\", \"0x1234\", \"out/build-info\"]\n * @return The result of the corresponding bash command as a Vm.FfiResult struct\n */\n function runAsBashCommand(string[] memory inputs) internal returns (Vm.FfiResult memory) {\n Vm vm = Vm(CHEATCODE_ADDRESS);\n string memory defaultBashPath = \"bash\";\n string memory bashPath = vm.envOr(\"OPENZEPPELIN_BASH_PATH\", defaultBashPath);\n\n string[] memory bashCommand = toBashCommand(inputs, bashPath);\n Vm.FfiResult memory result = vm.tryFfi(bashCommand);\n if (result.exitCode != 0 && result.stdout.length == 0 && result.stderr.length == 0) {\n // On Windows, using the bash executable from WSL leads to a non-zero exit code and no output\n revert(\n string(\n abi.encodePacked(\n 'Failed to run bash command with \"',\n bashCommand[0],\n '\". If you are using Windows, set the OPENZEPPELIN_BASH_PATH environment variable to the fully qualified path of the bash executable. For example, if you are using Git for Windows, add the following line in the .env file of your project (using forward slashes):\\nOPENZEPPELIN_BASH_PATH=\"C:/Program Files/Git/bin/bash\"'\n )\n )\n );\n } else {\n return result;\n }\n }\n}\n"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nlibrary Versions {\n // TODO add a workflow to update this automatically based on package.json\n string constant UPGRADES_CORE = \"^1.37.0\";\n string constant DEFENDER_DEPLOY_CLIENT_CLI = \"0.0.1-alpha.10\";\n}\n"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IProxyAdmin {\n /**\n * Upgrades a proxy to a new implementation without calling a function on the new implementation.\n */\n function upgrade(address, address) external;\n\n /**\n * Upgrades a proxy to a new implementation and calls a function on the new implementation.\n * If UPGRADE_INTERFACE_VERSION is \"5.0.0\", bytes can be empty if no function should be called on the new implementation.\n */\n function upgradeAndCall(address, address, bytes memory) external payable;\n}\n"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IUpgradeableBeacon {\n /**\n * Upgrades the beacon to a new implementation.\n */\n function upgradeTo(address) external;\n}\n"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IUpgradeableProxy {\n /**\n * Upgrades the proxy to a new implementation without calling a function on the new implementation.\n */\n function upgradeTo(address) external;\n\n /**\n * Upgrades the proxy to a new implementation and calls a function on the new implementation.\n * If UPGRADE_INTERFACE_VERSION is \"5.0.0\", bytes can be empty if no function should be called on the new implementation.\n */\n function upgradeToAndCall(address, bytes memory) external payable;\n}\n"},"lib/protocol/packages/core/contracts/common/implementation/AncillaryData.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity ^0.8.0;\n\n/**\n * @title Library for encoding and decoding ancillary data for DVM price requests.\n * @notice We assume that on-chain ancillary data can be formatted directly from bytes to utf8 encoding via\n * web3.utils.hexToUtf8, and that clients will parse the utf8-encoded ancillary data as a comma-delimitted key-value\n * dictionary. Therefore, this library provides internal methods that aid appending to ancillary data from Solidity\n * smart contracts. More details on UMA's ancillary data guidelines below:\n * https://docs.google.com/document/d/1zhKKjgY1BupBGPPrY_WOJvui0B6DMcd-xDR8-9-SPDw/edit\n */\nlibrary AncillaryData {\n // This converts the bottom half of a bytes32 input to hex in a highly gas-optimized way.\n // Source: the brilliant implementation at https://gitter.im/ethereum/solidity?at=5840d23416207f7b0ed08c9b.\n function toUtf8Bytes32Bottom(bytes32 bytesIn) private pure returns (bytes32) {\n unchecked {\n uint256 x = uint256(bytesIn);\n\n // Nibble interleave\n x = x & 0x00000000000000000000000000000000ffffffffffffffffffffffffffffffff;\n x = (x | (x * 2**64)) & 0x0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff;\n x = (x | (x * 2**32)) & 0x00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff;\n x = (x | (x * 2**16)) & 0x0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff;\n x = (x | (x * 2**8)) & 0x00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff;\n x = (x | (x * 2**4)) & 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f;\n\n // Hex encode\n uint256 h = (x & 0x0808080808080808080808080808080808080808080808080808080808080808) / 8;\n uint256 i = (x & 0x0404040404040404040404040404040404040404040404040404040404040404) / 4;\n uint256 j = (x & 0x0202020202020202020202020202020202020202020202020202020202020202) / 2;\n x = x + (h & (i | j)) * 0x27 + 0x3030303030303030303030303030303030303030303030303030303030303030;\n\n // Return the result.\n return bytes32(x);\n }\n }\n\n /**\n * @notice Returns utf8-encoded bytes32 string that can be read via web3.utils.hexToUtf8.\n * @dev Will return bytes32 in all lower case hex characters and without the leading 0x.\n * This has minor changes from the toUtf8BytesAddress to control for the size of the input.\n * @param bytesIn bytes32 to encode.\n * @return utf8 encoded bytes32.\n */\n function toUtf8Bytes(bytes32 bytesIn) internal pure returns (bytes memory) {\n return abi.encodePacked(toUtf8Bytes32Bottom(bytesIn >> 128), toUtf8Bytes32Bottom(bytesIn));\n }\n\n /**\n * @notice Returns utf8-encoded address that can be read via web3.utils.hexToUtf8.\n * Source: https://ethereum.stackexchange.com/questions/8346/convert-address-to-string/8447#8447\n * @dev Will return address in all lower case characters and without the leading 0x.\n * @param x address to encode.\n * @return utf8 encoded address bytes.\n */\n function toUtf8BytesAddress(address x) internal pure returns (bytes memory) {\n return\n abi.encodePacked(toUtf8Bytes32Bottom(bytes32(bytes20(x)) >> 128), bytes8(toUtf8Bytes32Bottom(bytes20(x))));\n }\n\n /**\n * @notice Converts a uint into a base-10, UTF-8 representation stored in a `string` type.\n * @dev This method is based off of this code: https://stackoverflow.com/a/65707309.\n */\n function toUtf8BytesUint(uint256 x) internal pure returns (bytes memory) {\n if (x == 0) {\n return \"0\";\n }\n uint256 j = x;\n uint256 len;\n while (j != 0) {\n len++;\n j /= 10;\n }\n bytes memory bstr = new bytes(len);\n uint256 k = len;\n while (x != 0) {\n k = k - 1;\n uint8 temp = (48 + uint8(x - (x / 10) * 10));\n bytes1 b1 = bytes1(temp);\n bstr[k] = b1;\n x /= 10;\n }\n return bstr;\n }\n\n function appendKeyValueBytes32(\n bytes memory currentAncillaryData,\n bytes memory key,\n bytes32 value\n ) internal pure returns (bytes memory) {\n bytes memory prefix = constructPrefix(currentAncillaryData, key);\n return abi.encodePacked(currentAncillaryData, prefix, toUtf8Bytes(value));\n }\n\n /**\n * @notice Adds \"key:value\" to `currentAncillaryData` where `value` is an address that first needs to be converted\n * to utf8 bytes. For example, if `utf8(currentAncillaryData)=\"k1:v1\"`, then this function will return\n * `utf8(k1:v1,key:value)`, and if `currentAncillaryData` is blank, then this will return `utf8(key:value)`.\n * @param currentAncillaryData This bytes data should ideally be able to be utf8-decoded, but its OK if not.\n * @param key Again, this bytes data should ideally be able to be utf8-decoded, but its OK if not.\n * @param value An address to set as the value in the key:value pair to append to `currentAncillaryData`.\n * @return Newly appended ancillary data.\n */\n function appendKeyValueAddress(\n bytes memory currentAncillaryData,\n bytes memory key,\n address value\n ) internal pure returns (bytes memory) {\n bytes memory prefix = constructPrefix(currentAncillaryData, key);\n return abi.encodePacked(currentAncillaryData, prefix, toUtf8BytesAddress(value));\n }\n\n /**\n * @notice Adds \"key:value\" to `currentAncillaryData` where `value` is a uint that first needs to be converted\n * to utf8 bytes. For example, if `utf8(currentAncillaryData)=\"k1:v1\"`, then this function will return\n * `utf8(k1:v1,key:value)`, and if `currentAncillaryData` is blank, then this will return `utf8(key:value)`.\n * @param currentAncillaryData This bytes data should ideally be able to be utf8-decoded, but its OK if not.\n * @param key Again, this bytes data should ideally be able to be utf8-decoded, but its OK if not.\n * @param value A uint to set as the value in the key:value pair to append to `currentAncillaryData`.\n * @return Newly appended ancillary data.\n */\n function appendKeyValueUint(\n bytes memory currentAncillaryData,\n bytes memory key,\n uint256 value\n ) internal pure returns (bytes memory) {\n bytes memory prefix = constructPrefix(currentAncillaryData, key);\n return abi.encodePacked(currentAncillaryData, prefix, toUtf8BytesUint(value));\n }\n\n /**\n * @notice Helper method that returns the left hand side of a \"key:value\" pair plus the colon \":\" and a leading\n * comma \",\" if the `currentAncillaryData` is not empty. The return value is intended to be prepended as a prefix to\n * some utf8 value that is ultimately added to a comma-delimited, key-value dictionary.\n */\n function constructPrefix(bytes memory currentAncillaryData, bytes memory key) internal pure returns (bytes memory) {\n if (currentAncillaryData.length > 0) {\n return abi.encodePacked(\",\", key, \":\");\n } else {\n return abi.encodePacked(key, \":\");\n }\n }\n}\n"},"lib/protocol/packages/core/contracts/common/implementation/Lockable.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity ^0.8.0;\n\n/**\n * @title A contract that provides modifiers to prevent reentrancy to state-changing and view-only methods. This contract\n * is inspired by https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/ReentrancyGuard.sol\n * and https://github.com/balancer-labs/balancer-core/blob/master/contracts/BPool.sol.\n */\ncontract Lockable {\n bool private _notEntered;\n\n constructor() {\n // Storing an initial non-zero value makes deployment a bit more expensive, but in exchange the refund on every\n // call to nonReentrant will be lower in amount. Since refunds are capped to a percentage of the total\n // transaction's gas, it is best to keep them low in cases like this one, to increase the likelihood of the full\n // refund coming into effect.\n _notEntered = true;\n }\n\n /**\n * @dev Prevents a contract from calling itself, directly or indirectly.\n * Calling a `nonReentrant` function from another `nonReentrant` function is not supported. It is possible to\n * prevent this from happening by making the `nonReentrant` function external, and making it call a `private`\n * function that does the actual state modification.\n */\n modifier nonReentrant() {\n _preEntranceCheck();\n _preEntranceSet();\n _;\n _postEntranceReset();\n }\n\n /**\n * @dev Designed to prevent a view-only method from being re-entered during a call to a `nonReentrant()` state-changing method.\n */\n modifier nonReentrantView() {\n _preEntranceCheck();\n _;\n }\n\n // Internal methods are used to avoid copying the require statement's bytecode to every `nonReentrant()` method.\n // On entry into a function, `_preEntranceCheck()` should always be called to check if the function is being\n // re-entered. Then, if the function modifies state, it should call `_postEntranceSet()`, perform its logic, and\n // then call `_postEntranceReset()`.\n // View-only methods can simply call `_preEntranceCheck()` to make sure that it is not being re-entered.\n function _preEntranceCheck() internal view {\n // On the first call to nonReentrant, _notEntered will be true\n require(_notEntered, \"ReentrancyGuard: reentrant call\");\n }\n\n function _preEntranceSet() internal {\n // Any calls to nonReentrant after this point will fail\n _notEntered = false;\n }\n\n function _postEntranceReset() internal {\n // By storing the original value once again, a refund is triggered (see\n // https://eips.ethereum.org/EIPS/eip-2200)\n _notEntered = true;\n }\n\n // These functions are intended to be used by child contracts to temporarily disable and re-enable the guard.\n // Intended use:\n // _startReentrantGuardDisabled();\n // ...\n // _endReentrantGuardDisabled();\n //\n // IMPORTANT: these should NEVER be used in a method that isn't inside a nonReentrant block. Otherwise, it's\n // possible to permanently lock your contract.\n function _startReentrantGuardDisabled() internal {\n _notEntered = true;\n }\n\n function _endReentrantGuardDisabled() internal {\n _notEntered = false;\n }\n}\n"},"lib/protocol/packages/core/contracts/data-verification-mechanism/implementation/Constants.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity ^0.8.0;\n\n/**\n * @title Stores common interface names used throughout the DVM by registration in the Finder.\n */\nlibrary OracleInterfaces {\n bytes32 public constant Oracle = \"Oracle\";\n bytes32 public constant IdentifierWhitelist = \"IdentifierWhitelist\";\n bytes32 public constant Store = \"Store\";\n bytes32 public constant FinancialContractsAdmin = \"FinancialContractsAdmin\";\n bytes32 public constant Registry = \"Registry\";\n bytes32 public constant CollateralWhitelist = \"CollateralWhitelist\";\n bytes32 public constant OptimisticOracle = \"OptimisticOracle\";\n bytes32 public constant OptimisticOracleV2 = \"OptimisticOracleV2\";\n bytes32 public constant OptimisticOracleV3 = \"OptimisticOracleV3\";\n bytes32 public constant Bridge = \"Bridge\";\n bytes32 public constant GenericHandler = \"GenericHandler\";\n bytes32 public constant SkinnyOptimisticOracle = \"SkinnyOptimisticOracle\";\n bytes32 public constant ChildMessenger = \"ChildMessenger\";\n bytes32 public constant OracleHub = \"OracleHub\";\n bytes32 public constant OracleSpoke = \"OracleSpoke\";\n}\n\n/**\n * @title Commonly re-used values for contracts associated with the OptimisticOracle.\n */\nlibrary OptimisticOracleConstraints {\n // Any price request submitted to the OptimisticOracle must contain ancillary data no larger than this value.\n // This value must be <= the Voting contract's `ancillaryBytesLimit` constant value otherwise it is possible\n // that a price can be requested to the OptimisticOracle successfully, but cannot be resolved by the DVM which\n // refuses to accept a price request made with ancillary data length over a certain size.\n uint256 public constant ancillaryBytesLimit = 8192;\n}\n"},"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/FinderInterface.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity ^0.8.0;\n\n/**\n * @title Provides addresses of the live contracts implementing certain interfaces.\n * @dev Examples are the Oracle or Store interfaces.\n */\ninterface FinderInterface {\n /**\n * @notice Updates the address of the contract that implements `interfaceName`.\n * @param interfaceName bytes32 encoding of the interface name that is either changed or registered.\n * @param implementationAddress address of the deployed contract that implements the interface.\n */\n function changeImplementationAddress(bytes32 interfaceName, address implementationAddress) external;\n\n /**\n * @notice Gets the address of the contract that implements the given `interfaceName`.\n * @param interfaceName queried interface.\n * @return implementationAddress address of the deployed contract that implements the interface.\n */\n function getImplementationAddress(bytes32 interfaceName) external view returns (address);\n}\n"},"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/IdentifierWhitelistInterface.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity ^0.8.0;\n\n/**\n * @title Interface for whitelists of supported identifiers that the oracle can provide prices for.\n */\ninterface IdentifierWhitelistInterface {\n /**\n * @notice Adds the provided identifier as a supported identifier.\n * @dev Price requests using this identifier will succeed after this call.\n * @param identifier bytes32 encoding of the string identifier. Eg: BTC/USD.\n */\n function addSupportedIdentifier(bytes32 identifier) external;\n\n /**\n * @notice Removes the identifier from the whitelist.\n * @dev Price requests using this identifier will no longer succeed after this call.\n * @param identifier bytes32 encoding of the string identifier. Eg: BTC/USD.\n */\n function removeSupportedIdentifier(bytes32 identifier) external;\n\n /**\n * @notice Checks whether an identifier is on the whitelist.\n * @param identifier bytes32 encoding of the string identifier. Eg: BTC/USD.\n * @return bool if the identifier is supported (or not).\n */\n function isIdentifierSupported(bytes32 identifier) external view returns (bool);\n}\n"},"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/OracleAncillaryInterface.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity ^0.8.0;\n\n/**\n * @title Financial contract facing Oracle interface.\n * @dev Interface used by financial contracts to interact with the Oracle. Voters will use a different interface.\n */\nabstract contract OracleAncillaryInterface {\n /**\n * @notice Enqueues a request (if a request isn't already present) for the given `identifier`, `time` pair.\n * @dev Time must be in the past and the identifier must be supported.\n * @param identifier uniquely identifies the price requested. eg BTC/USD (encoded as bytes32) could be requested.\n * @param ancillaryData arbitrary data appended to a price request to give the voters more info from the caller.\n * @param time unix timestamp for the price request.\n */\n\n function requestPrice(\n bytes32 identifier,\n uint256 time,\n bytes memory ancillaryData\n ) public virtual;\n\n /**\n * @notice Whether the price for `identifier` and `time` is available.\n * @dev Time must be in the past and the identifier must be supported.\n * @param identifier uniquely identifies the price requested. eg BTC/USD (encoded as bytes32) could be requested.\n * @param time unix timestamp for the price request.\n * @param ancillaryData arbitrary data appended to a price request to give the voters more info from the caller.\n * @return bool if the DVM has resolved to a price for the given identifier and timestamp.\n */\n function hasPrice(\n bytes32 identifier,\n uint256 time,\n bytes memory ancillaryData\n ) public view virtual returns (bool);\n\n /**\n * @notice Gets the price for `identifier` and `time` if it has already been requested and resolved.\n * @dev If the price is not available, the method reverts.\n * @param identifier uniquely identifies the price requested. eg BTC/USD (encoded as bytes32) could be requested.\n * @param time unix timestamp for the price request.\n * @param ancillaryData arbitrary data appended to a price request to give the voters more info from the caller.\n * @return int256 representing the resolved price for the given identifier and timestamp.\n */\n\n function getPrice(\n bytes32 identifier,\n uint256 time,\n bytes memory ancillaryData\n ) public view virtual returns (int256);\n}\n"},"script/DeployAddressWhitelist.s.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity ^0.8.0;\n\nimport {Script} from \"forge-std/Script.sol\";\nimport {console} from \"forge-std/console.sol\";\nimport {AddressWhitelist} from \"../src/common/implementation/AddressWhitelist.sol\";\n\n/**\n * @title Deployment script for AddressWhitelist\n * @notice Deploys the AddressWhitelist contract with configurable ownership\n *\n * Environment variables:\n * - MNEMONIC: Required. The mnemonic phrase for the deployer wallet\n * - WHITELIST_OWNER: Optional. The address to set as owner. If not set, uses deployer address.\n * If set to 0x0000000000000000000000000000000000000000, burns ownership.\n */\ncontract DeployAddressWhitelist is Script {\n function run() external {\n // Load environment variables from .env file (if it exists)\n // This will automatically load variables from .env file in the project root\n\n // Get required environment variables\n string memory mnemonic = vm.envString(\"MNEMONIC\");\n\n // Derive the 0 index address from mnemonic\n uint256 deployerPrivateKey = vm.deriveKey(mnemonic, 0);\n address deployer = vm.addr(deployerPrivateKey);\n\n // Check if WHITELIST_OWNER is set, default to deployer if not set\n address whitelistOwner = vm.envOr(\"WHITELIST_OWNER\", deployer);\n\n // Start broadcasting transactions with the derived private key\n vm.startBroadcast(deployerPrivateKey);\n\n // Deploy the contract with deployer as owner (always safe)\n AddressWhitelist whitelist = new AddressWhitelist();\n\n console.log(\"AddressWhitelist deployed at:\", address(whitelist));\n\n // Handle ownership logic\n if (whitelistOwner == address(0)) {\n // If WHITELIST_OWNER is set to 0 address, burn ownership\n console.log(\"Burning ownership to zero address...\");\n whitelist.renounceOwnership();\n console.log(\"Ownership burned to zero address\");\n } else if (whitelistOwner != deployer) {\n // If WHITELIST_OWNER is set to a different address, transfer ownership\n console.log(\"Transferring ownership to:\", whitelistOwner);\n whitelist.transferOwnership(whitelistOwner);\n console.log(\"Ownership transferred to:\", whitelistOwner);\n } else {\n // If WHITELIST_OWNER is not set or same as deployer, keep deployer as owner\n console.log(\"Keeping deployer as owner:\", deployer);\n }\n\n vm.stopBroadcast();\n\n // Output deployment summary\n console.log(\"\\n=== Deployment Summary ===\");\n console.log(\"Contract:\", address(whitelist));\n console.log(\"Chain ID:\", block.chainid);\n console.log(\"Deployer:\", deployer);\n console.log(\"Final Owner:\", whitelist.owner());\n }\n}\n"},"script/DeployDisabledAddressWhitelist.s.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity ^0.8.0;\n\nimport {Script} from \"forge-std/Script.sol\";\nimport {console} from \"forge-std/console.sol\";\nimport {DisabledAddressWhitelist} from \"../src/common/implementation/DisabledAddressWhitelist.sol\";\n\n/**\n * @title Deployment script for DisabledAddressWhitelist\n * @notice Deploys the DisabledAddressWhitelist contract with optional configuration\n *\n * Environment variables:\n * - MNEMONIC: Required. The mnemonic phrase for the deployer wallet\n */\ncontract DeployDisabledAddressWhitelist is Script {\n function run() external {\n // Load environment variables from .env file (if it exists)\n // This will automatically load variables from .env file in the project root\n\n // Get required environment variables\n string memory mnemonic = vm.envString(\"MNEMONIC\");\n\n // Derive the 0 index address from mnemonic\n uint256 deployerPrivateKey = vm.deriveKey(mnemonic, 0);\n address deployer = vm.addr(deployerPrivateKey);\n\n // Start broadcasting transactions with the derived private key\n vm.startBroadcast(deployerPrivateKey);\n\n // Deploy the contract\n DisabledAddressWhitelist whitelist = new DisabledAddressWhitelist();\n\n console.log(\"DisabledAddressWhitelist deployed at:\", address(whitelist));\n\n vm.stopBroadcast();\n\n // Output deployment summary\n console.log(\"\\n=== Deployment Summary ===\");\n console.log(\"Contract:\", address(whitelist));\n console.log(\"Chain ID:\", block.chainid);\n console.log(\"Deployer:\", deployer);\n }\n}\n"},"script/DeployManagedOptimisticOracleV2.s.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity ^0.8.0;\n\nimport {Script} from \"forge-std/Script.sol\";\nimport {console} from \"forge-std/console.sol\";\nimport {ERC1967Proxy} from \"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\";\nimport {Upgrades} from \"@openzeppelin/foundry-upgrades/Upgrades.sol\";\n\nimport {ManagedOptimisticOracleV2} from \"../src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol\";\nimport {IERC20} from \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\n\n/**\n * @title Deployment script for ManagedOptimisticOracleV2\n * @notice Deploys the ManagedOptimisticOracleV2 contract with proxy using OZ Upgrades\n *\n * Environment variables:\n * - MNEMONIC: Required. The mnemonic phrase for the deployer wallet\n * - FINDER_ADDRESS: Optional. Address of the Finder contract. If not provided, will use network-specific defaults:\n * - Sepolia (11155111): 0xf4C48eDAd256326086AEfbd1A53e1896815F8f13\n * - Amoy (80002): 0x28077B47Cd03326De7838926A63699849DD4fa87\n * - Ethereum Mainnet (1): 0x40f941E48A552bF496B154Af6bf55725f18D77c3\n * - Polygon Mainnet (137): 0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64\n * - DEFAULT_PROPOSER_WHITELIST: Required. Address of the default proposer whitelist\n * - REQUESTER_WHITELIST: Required. Address of the requester whitelist\n * - CONFIG_ADMIN: Optional. Address of the config admin (defaults to deployer if not provided)\n * - UPGRADE_ADMIN: Optional. Address of the upgrade admin (defaults to deployer if not provided)\n * - DEFAULT_LIVENESS: Optional. Default liveness period in seconds (defaults to 7200 if not provided)\n * - MINIMUM_LIVENESS: Optional. Minimum liveness period in seconds (defaults to 3600 if not provided)\n * - CUSTOM_CURRENCY: Optional. Address of a custom currency bond range to initialize\n * - MINIMUM_BOND_AMOUNT: Optional. Minimum bond amount for the custom currency\n * - MAXIMUM_BOND_AMOUNT: Optional. Maximum bond amount for the custom currency\n */\ncontract DeployManagedOptimisticOracleV2 is Script {\n function run() external {\n uint256 deployerPrivateKey = _getDeployerPrivateKey();\n address deployer = vm.addr(deployerPrivateKey);\n\n // Get Finder address with network-specific defaults\n address finderAddress = vm.envOr(\"FINDER_ADDRESS\", address(0));\n if (finderAddress == address(0)) {\n finderAddress = _getDefaultFinderAddress();\n }\n\n address defaultProposerWhitelist = vm.envAddress(\"DEFAULT_PROPOSER_WHITELIST\");\n address requesterWhitelist = vm.envAddress(\"REQUESTER_WHITELIST\");\n\n uint256 defaultLiveness = vm.envOr(\"DEFAULT_LIVENESS\", uint256(7200)); // Default to 2 hours (7200 seconds)\n uint256 minimumLiveness = vm.envOr(\"MINIMUM_LIVENESS\", uint256(3600)); // Default to 1 hour (3600 seconds)\n\n address customCurrency = vm.envOr(\"CUSTOM_CURRENCY\", address(0));\n uint128 minimumBondAmount = uint128(vm.envOr(\"MINIMUM_BOND_AMOUNT\", uint256(0)));\n uint128 maximumBondAmount = uint128(vm.envOr(\"MAXIMUM_BOND_AMOUNT\", uint256(0)));\n\n ManagedOptimisticOracleV2.CurrencyBondRange[] memory currencyBondRanges;\n if (customCurrency != address(0)) {\n // If custom currency is provided, create a single bond range.\n currencyBondRanges = new ManagedOptimisticOracleV2.CurrencyBondRange[](1);\n currencyBondRanges[0] = ManagedOptimisticOracleV2.CurrencyBondRange({\n currency: IERC20(customCurrency),\n range: ManagedOptimisticOracleV2.BondRange({minimumBond: minimumBondAmount, maximumBond: maximumBondAmount})\n });\n } else {\n // If no custom currency is provided, use default bond ranges based on the network.\n currencyBondRanges = _getDefaultCurrencyBondRanges();\n }\n\n // Get admin addresses with deployer as default\n address configAdmin = vm.envOr(\"CONFIG_ADMIN\", deployer);\n address upgradeAdmin = vm.envOr(\"UPGRADE_ADMIN\", deployer);\n\n console.log(\"Deployer:\", deployer);\n console.log(\"Finder Address:\", finderAddress);\n console.log(\"Default Proposer Whitelist:\", defaultProposerWhitelist);\n console.log(\"Requester Whitelist:\", requesterWhitelist);\n console.log(\"Config Admin:\", configAdmin);\n console.log(\"Upgrade Admin:\", upgradeAdmin);\n console.log(\"Default Liveness:\", defaultLiveness);\n console.log(\"Minimum Liveness:\", minimumLiveness);\n\n // Start broadcasting transactions with the derived private key\n vm.startBroadcast(deployerPrivateKey);\n\n // Deploy implementation and proxy using OZ Upgrades\n ManagedOptimisticOracleV2 proxy = ManagedOptimisticOracleV2(\n Upgrades.deployUUPSProxy(\n \"ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2\",\n abi.encodeCall(\n ManagedOptimisticOracleV2.initialize,\n (\n defaultLiveness,\n finderAddress,\n defaultProposerWhitelist,\n requesterWhitelist,\n currencyBondRanges,\n minimumLiveness,\n configAdmin,\n upgradeAdmin\n )\n )\n )\n );\n\n vm.stopBroadcast();\n\n // Output deployment summary\n console.log(\"\\n=== Deployment Summary ===\");\n console.log(\"Proxy Address:\", address(proxy));\n console.log(\"Implementation Address:\", Upgrades.getImplementationAddress(address(proxy)));\n console.log(\"Chain ID:\", block.chainid);\n console.log(\"Deployer:\", deployer);\n console.log(\"Config Admin:\", configAdmin);\n console.log(\"Upgrade Admin:\", upgradeAdmin);\n console.log(\"Default Liveness:\", defaultLiveness);\n console.log(\"Minimum Liveness:\", minimumLiveness);\n console.log(\"Default Proposer Whitelist:\", defaultProposerWhitelist);\n console.log(\"Requester Whitelist:\", requesterWhitelist);\n\n console.log(\"\\nBond ranges:\");\n for (uint256 i = 0; i < currencyBondRanges.length; i++) {\n console.log(\" Currency:\", address(currencyBondRanges[i].currency));\n console.log(\" Minimum Bond Amount:\", currencyBondRanges[i].range.minimumBond);\n console.log(\" Maximum Bond Amount:\", currencyBondRanges[i].range.maximumBond);\n }\n }\n\n /**\n * @notice Derives the deployer's private key from the mnemonic\n * @return deployerPrivateKey The derived private key for the deployer\n */\n function _getDeployerPrivateKey() internal view returns (uint256) {\n string memory mnemonic = vm.envString(\"MNEMONIC\");\n // Derive the 0 index address from mnemonic\n return vm.deriveKey(mnemonic, 0);\n }\n\n /**\n * @notice Returns the default Finder address for the current network\n * @return finderAddress The default Finder address for the current chain\n */\n function _getDefaultFinderAddress() internal view returns (address finderAddress) {\n uint256 chainId = block.chainid;\n\n if (chainId == 11155111) {\n // Sepolia\n return 0xf4C48eDAd256326086AEfbd1A53e1896815F8f13;\n } else if (chainId == 80002) {\n // Amoy\n return 0x28077B47Cd03326De7838926A63699849DD4fa87;\n } else if (chainId == 1) {\n // Ethereum Mainnet\n return 0x40f941E48A552bF496B154Af6bf55725f18D77c3;\n } else if (chainId == 137) {\n // Polygon Mainnet\n return 0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64;\n } else {\n revert(\"No default Finder address for this network. Please set FINDER_ADDRESS explicitly.\");\n }\n }\n\n function _getDefaultCurrencyBondRanges()\n internal\n view\n returns (ManagedOptimisticOracleV2.CurrencyBondRange[] memory)\n {\n uint256 chainId = block.chainid;\n\n if (chainId == 137) {\n // Polygon default bond range\n ManagedOptimisticOracleV2.CurrencyBondRange[] memory currencyBondRanges =\n new ManagedOptimisticOracleV2.CurrencyBondRange[](1);\n currencyBondRanges[0] = ManagedOptimisticOracleV2.CurrencyBondRange({\n currency: IERC20(0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174), // USDC.e on Polygon\n range: ManagedOptimisticOracleV2.BondRange({minimumBond: 100 * 10 ** 6, maximumBond: 100_000 * 10 ** 6}) // 100 to 100,000 USDC.e\n });\n return currencyBondRanges;\n }\n\n // Returns empty array for other networks\n return new ManagedOptimisticOracleV2.CurrencyBondRange[](0);\n }\n}\n"},"script/RedeployAddressWhitelist.s.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity ^0.8.0;\n\nimport {Script} from \"forge-std/Script.sol\";\nimport {console} from \"forge-std/console.sol\";\nimport {AddressWhitelist} from \"../src/common/implementation/AddressWhitelist.sol\";\n\n/**\n * @title Redeployment script for AddressWhitelist\n * @notice Deploys a new AddressWhitelist contract duplicating the configuration from a previous deployment\n *\n * Environment variables:\n * - MNEMONIC: Required. The mnemonic phrase for the deployer wallet\n * - PREVIOUS_ADDRESS_WHITELIST: Required. The address of the previous AddressWhitelist contract to duplicate\n * - DEPLOYER_MULTISIG: Optional. The address of a Safe multisig to use for batching transactions\n * - MULTISEND_ADDRESS: Optional. The address of the MultiSend contract (defaults to MultiSendCallOnly v1.4.1)\n */\ncontract RedeployAddressWhitelist is Script {\n function run() external {\n // Load environment variables\n string memory mnemonic = vm.envString(\"MNEMONIC\");\n address previousWhitelist = vm.envAddress(\"PREVIOUS_ADDRESS_WHITELIST\");\n address deployerMultisig = vm.envOr(\"DEPLOYER_MULTISIG\", address(0));\n // MultiSend address (defaults to MultiSendCallOnly v1.4.1 if not provided)\n address multisendAddress = vm.envOr(\"MULTISEND_ADDRESS\", 0x9641d764fc13c8B624c04430C7356C1C7C8102e2);\n\n // Derive deployer address from mnemonic\n uint256 deployerPrivateKey = vm.deriveKey(mnemonic, 0);\n address deployer = vm.addr(deployerPrivateKey);\n\n console.log(\"Previous AddressWhitelist:\", previousWhitelist);\n console.log(\"Deployer:\", deployer);\n\n // Validate multisig configuration if provided\n if (deployerMultisig != address(0)) {\n console.log(\"Multisig address provided:\", deployerMultisig);\n validateMultisig(deployerMultisig, deployer);\n console.log(\"MultiSend address:\", multisendAddress);\n }\n\n // Get previous contract configuration\n AddressWhitelist previousWhitelistContract = AddressWhitelist(previousWhitelist);\n address previousOwner = previousWhitelistContract.owner();\n address[] memory whitelistedAddresses = previousWhitelistContract.getWhitelist();\n\n console.log(\"Previous Owner:\", previousOwner);\n console.log(\"Number of whitelisted addresses to copy:\", whitelistedAddresses.length);\n\n // Deploy new contract\n vm.startBroadcast(deployerPrivateKey);\n AddressWhitelist newWhitelist = new AddressWhitelist();\n console.log(\"New AddressWhitelist deployed at:\", address(newWhitelist));\n\n // Determine executor for whitelist operations\n address executor = deployerMultisig != address(0) ? deployerMultisig : deployer;\n console.log(\"Using executor for whitelist operations:\", executor);\n\n // Handle whitelist copying and ownership\n if (deployerMultisig != address(0)) {\n // Transfer ownership to multisig for batch execution\n console.log(\"Transferring ownership to multisig for batching...\");\n newWhitelist.transferOwnership(deployerMultisig);\n\n // Execute batch transaction through multisig (includes whitelist additions + ownership)\n console.log(\"Batching whitelist additions and ownership operations through multisig...\");\n batchAddToWhitelistWithOwnership(\n newWhitelist, whitelistedAddresses, deployerMultisig, multisendAddress, deployer, previousOwner\n );\n } else {\n // Use deployer directly for individual transactions\n console.log(\"Copying whitelisted addresses using deployer...\");\n for (uint256 i = 0; i < whitelistedAddresses.length; i++) {\n address addr = whitelistedAddresses[i];\n newWhitelist.addToWhitelist(addr);\n console.log(\"Added to whitelist:\", addr);\n }\n console.log(\"Finished copying whitelisted addresses\");\n\n // Handle ownership for non-multisig deployments\n if (previousOwner == address(0)) {\n console.log(\"Previous contract had no owner, burning ownership on new contract...\");\n newWhitelist.renounceOwnership();\n console.log(\"Ownership burned to zero address\");\n } else if (previousOwner != executor) {\n console.log(\"Transferring ownership to previous owner:\", previousOwner);\n newWhitelist.transferOwnership(previousOwner);\n console.log(\"Ownership transferred to:\", previousOwner);\n } else {\n console.log(\"Keeping executor as owner:\", executor);\n }\n }\n\n vm.stopBroadcast();\n\n // Output deployment summary\n console.log(\"\\n=== Redeployment Summary ===\");\n console.log(\"New Contract:\", address(newWhitelist));\n console.log(\"Previous Contract:\", previousWhitelist);\n console.log(\"Chain ID:\", block.chainid);\n console.log(\"Deployer:\", deployer);\n console.log(\"Previous Owner:\", previousOwner);\n console.log(\"Final Owner:\", newWhitelist.owner());\n console.log(\"Whitelisted Addresses Copied:\", whitelistedAddresses.length);\n\n // Verify whitelist content\n address[] memory newWhitelistAddresses = newWhitelist.getWhitelist();\n console.log(\"New Contract Whitelist Count:\", newWhitelistAddresses.length);\n\n bool countMatches = whitelistedAddresses.length == newWhitelistAddresses.length;\n bool allAddressesPresent = true;\n\n if (countMatches) {\n for (uint256 i = 0; i < whitelistedAddresses.length; i++) {\n bool isPresent = newWhitelist.isOnWhitelist(whitelistedAddresses[i]);\n if (!isPresent) {\n console.log(\"Missing address from new whitelist:\", whitelistedAddresses[i]);\n allAddressesPresent = false;\n }\n }\n }\n\n if (countMatches && allAddressesPresent) {\n console.log(\"[SUCCESS] Whitelist copy verification: SUCCESS\");\n } else {\n console.log(\"[FAILED] Whitelist copy verification: FAILED\");\n if (!countMatches) {\n console.log(\"Count mismatch - Expected:\", whitelistedAddresses.length);\n console.log(\"Count mismatch - Actual:\", newWhitelistAddresses.length);\n }\n if (!allAddressesPresent) {\n console.log(\"Some addresses are missing from the new whitelist\");\n }\n revert(\"Whitelist copy verification failed\");\n }\n\n // Verify ownership restoration\n address finalOwner = newWhitelist.owner();\n if (finalOwner == previousOwner) {\n console.log(\"[SUCCESS] Ownership verification: SUCCESS\");\n } else {\n console.log(\"[FAILED] Ownership verification: FAILED\");\n console.log(\"Expected:\", previousOwner);\n console.log(\"Actual:\", finalOwner);\n revert(\"Ownership verification failed\");\n }\n }\n\n /**\n * @notice Validates multisig configuration: deployer must be a signer and threshold must be 1\n * @param multisig The multisig contract address\n * @param deployer The deployer address to validate as signer\n */\n function validateMultisig(address multisig, address deployer) internal view {\n uint256 threshold = getMultisigThreshold(multisig);\n if (threshold != 1) {\n revert(\"Multisig threshold must be 1 for single signature\");\n }\n console.log(\"Multisig threshold validated:\", threshold);\n\n bool isSigner = isMultisigSigner(multisig, deployer);\n if (!isSigner) {\n revert(\"Deployer is not a signer of the multisig\");\n }\n console.log(\"Deployer signer validation: SUCCESS\");\n }\n\n /**\n * @notice Gets the multisig threshold value\n * @param multisig The multisig contract address\n * @return threshold The threshold value\n */\n function getMultisigThreshold(address multisig) internal view returns (uint256 threshold) {\n bytes memory result = callMultisigFunction(multisig, \"getThreshold()\");\n return abi.decode(result, (uint256));\n }\n\n /**\n * @notice Checks if an address is a multisig signer\n * @param multisig The multisig contract address\n * @param signer The signer address to check\n * @return isSigner Whether the address is a signer\n */\n function isMultisigSigner(address multisig, address signer) internal view returns (bool isSigner) {\n bytes memory result = callMultisigFunction(multisig, \"isOwner(address)\", abi.encode(signer));\n return abi.decode(result, (bool));\n }\n\n /**\n * @notice Helper function to call multisig functions with optional data\n * @param target The target contract address\n * @param signature The function signature\n * @param data The encoded function data (optional)\n * @return result The function result\n */\n function callMultisigFunction(address target, string memory signature, bytes memory data)\n internal\n view\n returns (bytes memory result)\n {\n bytes memory callData = data.length > 0\n ? abi.encodePacked(abi.encodeWithSignature(signature), data)\n : abi.encodeWithSignature(signature);\n (bool success, bytes memory returndata) = target.staticcall(callData);\n if (!success) {\n revert(\"Multisig function call failed\");\n }\n return returndata;\n }\n\n /**\n * @notice Helper function to call multisig functions without data\n * @param target The target contract address\n * @param signature The function signature\n * @return result The function result\n */\n function callMultisigFunction(address target, string memory signature)\n internal\n view\n returns (bytes memory result)\n {\n return callMultisigFunction(target, signature, \"\");\n }\n\n /**\n * @notice Batch add addresses to whitelist and handle ownership through Safe multisig using execTransaction\n * @param whitelist The whitelist contract\n * @param addresses Array of addresses to add\n * @param multisig The Safe multisig contract address\n * @param multisend The MultiSend contract address\n * @param deployer The deployer address (must be a signer)\n * @param previousOwner The previous owner address to restore\n */\n function batchAddToWhitelistWithOwnership(\n AddressWhitelist whitelist,\n address[] memory addresses,\n address multisig,\n address multisend,\n address deployer,\n address previousOwner\n ) internal {\n // Create batch transaction data using MultiSend contract pattern\n // MultiSend contract allows batching multiple calls in a single transaction\n bytes memory batchData = createMultiSendBatchWithOwnership(whitelist, addresses, previousOwner);\n\n // Construct v=1 signature (approved hash): r=deployer address, s=0, v=1\n bytes memory signature = abi.encodePacked(\n bytes32(uint256(uint160(deployer))), // r = deployer address\n bytes32(0), // s = 0\n uint8(1) // v = 1 (approved hash)\n );\n\n console.log(\"Executing batch transaction through Safe multisig via MultiSend...\");\n\n // Execute batch via Safe's execTransaction with delegatecall to MultiSend\n (bool success,) = multisig.call(\n abi.encodeWithSignature(\n \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\",\n multisend, // to: MultiSend contract\n 0, // value\n batchData, // data: MultiSend batch data\n 1, // operation: delegatecall\n 0, // safeTxGas\n 0, // baseGas\n 0, // gasPrice\n address(0), // gasToken\n address(0), // refundReceiver\n signature // signatures\n )\n );\n\n if (success) {\n console.log(\"Batch execution through multisig successful\");\n } else {\n revert(\"Batch execution through multisig failed\");\n }\n }\n\n /**\n * @notice Creates MultiSend batch data for whitelist additions and ownership operations\n * @param whitelist The whitelist contract\n * @param addresses Array of addresses to add\n * @param previousOwner The previous owner address to restore\n * @return batchData The encoded MultiSend batch data\n */\n function createMultiSendBatchWithOwnership(\n AddressWhitelist whitelist,\n address[] memory addresses,\n address previousOwner\n ) internal pure returns (bytes memory batchData) {\n bytes memory operations = new bytes(0);\n\n // Add all whitelist addresses\n for (uint256 i = 0; i < addresses.length; i++) {\n bytes memory callData = abi.encodeWithSignature(\"addToWhitelist(address)\", addresses[i]);\n operations = appendOperation(operations, 0, address(whitelist), 0, callData);\n }\n\n // Handle ownership based on previous owner\n if (previousOwner == address(0)) {\n // Burn ownership if previous contract had no owner\n bytes memory renounceOwnershipData = abi.encodeWithSignature(\"renounceOwnership()\");\n operations = appendOperation(operations, 0, address(whitelist), 0, renounceOwnershipData);\n } else {\n // Transfer ownership to previous owner\n bytes memory transferOwnershipData = abi.encodeWithSignature(\"transferOwnership(address)\", previousOwner);\n operations = appendOperation(operations, 0, address(whitelist), 0, transferOwnershipData);\n }\n\n batchData = abi.encodeWithSignature(\"multiSend(bytes)\", operations);\n }\n\n /**\n * @notice Appends a MultiSend operation to the operations array\n * @param operations The existing operations array\n * @param operationType The operation type (0 for call, 1 for delegatecall)\n * @param target The target contract address\n * @param value The ETH value to send\n * @param callData The encoded function call data\n * @return The updated operations array\n */\n function appendOperation(\n bytes memory operations,\n uint8 operationType,\n address target,\n uint256 value,\n bytes memory callData\n ) internal pure returns (bytes memory) {\n return abi.encodePacked(\n operations,\n operationType, // operation: call or delegatecall\n target, // to: target contract\n value, // value: ETH value\n uint256(callData.length), // dataLength\n callData // data\n );\n }\n}\n"},"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity ^0.8.0;\n\nimport {Script} from \"forge-std/Script.sol\";\nimport {console} from \"forge-std/console.sol\";\nimport {ManagedOptimisticOracleV2} from \"../src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol\";\nimport {AddressWhitelistInterface} from \"../src/common/interfaces/AddressWhitelistInterface.sol\";\nimport {Ownable} from \"@openzeppelin/contracts/access/Ownable.sol\";\n\n/**\n * @title Update whitelists script for ManagedOptimisticOracleV2\n * @notice Updates the default proposer and/or requester whitelists using CONFIG_ADMIN_ROLE\n *\n * Environment variables:\n * - MNEMONIC: Required. The mnemonic phrase for the deployer wallet\n * - PROXY_ADDRESS: Required. Address of the existing ManagedOptimisticOracleV2 proxy contract\n * - NEW_DEFAULT_PROPOSER_WHITELIST: Optional. New address for the default proposer whitelist\n * - NEW_REQUESTER_WHITELIST: Optional. New address for the requester whitelist\n * - CONFIG_ADMIN: Required if deployer doesn't hold CONFIG_ADMIN_ROLE. Address of the config admin for multisig mode\n * - VERIFY_WHITELIST_CONFIGURATION: Optional. Whether to verify whitelist configuration (defaults to true)\n * Note: At least one of NEW_DEFAULT_PROPOSER_WHITELIST or NEW_REQUESTER_WHITELIST must be provided\n */\ncontract UpdateManagedOptimisticOracleV2Whitelists is Script {\n function run() external {\n uint256 deployerPrivateKey = _getDeployerPrivateKey();\n address deployerAddress = vm.addr(deployerPrivateKey);\n\n // Get the proxy address to update\n address proxyAddress = vm.envAddress(\"PROXY_ADDRESS\");\n\n // Get the new whitelist addresses (at least one must be provided)\n address newDefaultProposerWhitelist = vm.envOr(\"NEW_DEFAULT_PROPOSER_WHITELIST\", address(0));\n address newRequesterWhitelist = vm.envOr(\"NEW_REQUESTER_WHITELIST\", address(0));\n\n // Get verification flag (defaults to true)\n bool verifyWhitelistConfiguration = vm.envOr(\"VERIFY_WHITELIST_CONFIGURATION\", true);\n\n // Get the contract instance\n ManagedOptimisticOracleV2 moo = ManagedOptimisticOracleV2(proxyAddress);\n\n // Get current whitelist addresses for comparison\n address currentDefaultProposerWhitelist = address(moo.defaultProposerWhitelist());\n address currentRequesterWhitelist = address(moo.requesterWhitelist());\n\n // Validate that at least one whitelist is being updated\n require(\n newDefaultProposerWhitelist != address(0) || newRequesterWhitelist != address(0),\n \"At least one whitelist must be provided\"\n );\n\n // Validate that new whitelist addresses are different from current ones\n if (newDefaultProposerWhitelist != address(0) && newDefaultProposerWhitelist == currentDefaultProposerWhitelist)\n {\n revert(\"New default proposer whitelist address is the same as current address\");\n }\n if (newRequesterWhitelist != address(0) && newRequesterWhitelist == currentRequesterWhitelist) {\n revert(\"New requester whitelist address is the same as current address\");\n }\n\n // Check if deployer has CONFIG_ADMIN_ROLE\n bytes32 configAdminRole = moo.CONFIG_ADMIN_ROLE();\n bool hasConfigAdminRole = moo.hasRole(configAdminRole, deployerAddress);\n\n // Get the config admin address if deployer doesn't have the role\n address configAdminAddress = address(0);\n if (!hasConfigAdminRole) {\n configAdminAddress = vm.envAddress(\"CONFIG_ADMIN\");\n console.log(\"Config Admin Address:\", configAdminAddress);\n }\n\n // Log initial setup\n console.log(\"Deployer Address:\", deployerAddress);\n console.log(\"Proxy Address:\", proxyAddress);\n console.log(\"Has CONFIG_ADMIN_ROLE:\", hasConfigAdminRole);\n\n if (newDefaultProposerWhitelist != address(0)) {\n console.log(\"New Default Proposer Whitelist:\", newDefaultProposerWhitelist);\n }\n if (newRequesterWhitelist != address(0)) {\n console.log(\"New Requester Whitelist:\", newRequesterWhitelist);\n }\n\n console.log(\"Current Default Proposer Whitelist:\", currentDefaultProposerWhitelist);\n console.log(\"Current Requester Whitelist:\", currentRequesterWhitelist);\n\n // Verify whitelist configuration before making changes if enabled\n if (verifyWhitelistConfiguration) {\n console.log(\"\\n=== PRE-CHANGE WHITELIST CONFIGURATION VERIFICATION ===\");\n\n _verifyWhitelistConfiguration(\n currentDefaultProposerWhitelist, newDefaultProposerWhitelist, \"Default Proposer Whitelist\"\n );\n\n _verifyWhitelistConfiguration(currentRequesterWhitelist, newRequesterWhitelist, \"Requester Whitelist\");\n }\n\n // Check if we need to impersonate or can execute directly\n bool shouldImpersonate = !hasConfigAdminRole;\n\n if (shouldImpersonate) {\n // Multisig mode - simulate updates and generate transaction data\n console.log(\"\\n=== IMPERSONATION MODE ===\");\n console.log(\"MNEMONIC does not correspond to config admin\");\n console.log(\"Simulating whitelist updates and generating transaction data\");\n\n // Simulate the whitelist updates using multicall to verify they would succeed\n console.log(\"\\n=== SIMULATING WHITELIST UPDATES ===\");\n\n // Prepare multicall data for whitelist updates\n bytes[] memory multicallData = _prepareMulticallData(newDefaultProposerWhitelist, newRequesterWhitelist);\n\n // Generate multicall transaction data\n bytes memory multicallTransactionData = abi.encodeCall(moo.multicall, (multicallData));\n\n // Simulate multicall execution\n console.log(\"Simulating multicall execution...\");\n vm.prank(configAdminAddress);\n moo.multicall(multicallData);\n console.log(\"Multicall simulation successful!\");\n\n // Generate transaction data for multisig using multicall\n console.log(\"\\n=== MULTISIG TRANSACTION DATA ===\");\n console.log(\"Target Contract:\", proxyAddress);\n console.log(\"Config Admin:\", configAdminAddress);\n console.log(\"Chain ID:\", block.chainid);\n console.log(\"Transaction Data:\", vm.toString(multicallTransactionData));\n console.log(\"Number of operations:\", multicallData.length);\n\n console.log(\"\\nUse these transaction data in your multisig wallet to execute the whitelist updates.\");\n console.log(\"The config admin address is:\", configAdminAddress);\n } else {\n // Direct mode - execute updates directly\n console.log(\"\\n=== DIRECT EXECUTION MODE ===\");\n console.log(\"Deployer has CONFIG_ADMIN_ROLE\");\n console.log(\"Executing whitelist updates directly\");\n\n // Start broadcasting transactions with the derived private key\n vm.startBroadcast(deployerPrivateKey);\n\n // Prepare and execute multicall for atomic updates\n bytes[] memory multicallData = _prepareMulticallData(newDefaultProposerWhitelist, newRequesterWhitelist);\n moo.multicall(multicallData);\n\n vm.stopBroadcast();\n }\n\n // Verify the updates (common for both modes)\n console.log(\"\\n=== VERIFICATION ===\");\n _verifyWhitelistUpdates(moo, newDefaultProposerWhitelist, newRequesterWhitelist);\n\n // Output update summary\n console.log(\"\\n=== Update Summary ===\");\n console.log(\"Proxy Address:\", proxyAddress);\n console.log(\"Chain ID:\", block.chainid);\n console.log(\"Deployer:\", deployerAddress);\n console.log(\"CONFIG_ADMIN_ROLE:\", hasConfigAdminRole);\n\n if (newDefaultProposerWhitelist != address(0)) {\n console.log(\"Default Proposer Whitelist:\");\n console.log(\" From:\", currentDefaultProposerWhitelist);\n console.log(\" To:\", address(moo.defaultProposerWhitelist()));\n }\n\n if (newRequesterWhitelist != address(0)) {\n console.log(\"Requester Whitelist:\");\n console.log(\" From:\", currentRequesterWhitelist);\n console.log(\" To:\", address(moo.requesterWhitelist()));\n }\n }\n\n /**\n * @notice Derives the deployer's private key from the mnemonic\n * @return deployerPrivateKey The derived private key for the deployer\n */\n function _getDeployerPrivateKey() internal view returns (uint256) {\n string memory mnemonic = vm.envString(\"MNEMONIC\");\n // Derive the 0 index address from mnemonic\n return vm.deriveKey(mnemonic, 0);\n }\n\n /**\n * @notice Appends a bytes element to a bytes array\n * @param array The existing bytes array\n * @param element The bytes element to append\n * @return The updated bytes array\n */\n function _appendToBytesArray(bytes[] memory array, bytes memory element) internal pure returns (bytes[] memory) {\n bytes[] memory newArray = new bytes[](array.length + 1);\n for (uint256 i = 0; i < array.length; i++) {\n newArray[i] = array[i];\n }\n newArray[array.length] = element;\n return newArray;\n }\n\n /**\n * @notice Prepares multicall data for whitelist updates\n * @param newDefaultProposerWhitelist New default proposer whitelist address\n * @param newRequesterWhitelist New requester whitelist address\n * @return multicallData Array of encoded function calls for multicall\n */\n function _prepareMulticallData(address newDefaultProposerWhitelist, address newRequesterWhitelist)\n internal\n pure\n returns (bytes[] memory)\n {\n bytes[] memory multicallData = new bytes[](0);\n\n if (newDefaultProposerWhitelist != address(0)) {\n multicallData = _appendToBytesArray(\n multicallData,\n abi.encodeCall(ManagedOptimisticOracleV2.setDefaultProposerWhitelist, (newDefaultProposerWhitelist))\n );\n }\n\n if (newRequesterWhitelist != address(0)) {\n multicallData = _appendToBytesArray(\n multicallData, abi.encodeCall(ManagedOptimisticOracleV2.setRequesterWhitelist, (newRequesterWhitelist))\n );\n }\n\n return multicallData;\n }\n\n /**\n * @notice Verifies whitelist updates by checking the current state\n * @param moo The ManagedOptimisticOracleV2 contract instance\n * @param expectedDefaultProposerWhitelist Expected default proposer whitelist address\n * @param expectedRequesterWhitelist Expected requester whitelist address\n */\n function _verifyWhitelistUpdates(\n ManagedOptimisticOracleV2 moo,\n address expectedDefaultProposerWhitelist,\n address expectedRequesterWhitelist\n ) internal view {\n address currentDefaultProposerWhitelist = address(moo.defaultProposerWhitelist());\n address currentRequesterWhitelist = address(moo.requesterWhitelist());\n\n if (expectedDefaultProposerWhitelist != address(0)) {\n bool proposerUpdateSuccess = currentDefaultProposerWhitelist == expectedDefaultProposerWhitelist;\n console.log(\"Default Proposer Whitelist Update:\", proposerUpdateSuccess ? \"SUCCESS\" : \"FAILED\");\n if (!proposerUpdateSuccess) {\n console.log(\"Expected:\", expectedDefaultProposerWhitelist);\n console.log(\"Actual:\", currentDefaultProposerWhitelist);\n revert(\"Default proposer whitelist update verification failed\");\n }\n }\n\n if (expectedRequesterWhitelist != address(0)) {\n bool requesterUpdateSuccess = currentRequesterWhitelist == expectedRequesterWhitelist;\n console.log(\"Requester Whitelist Update:\", requesterUpdateSuccess ? \"SUCCESS\" : \"FAILED\");\n if (!requesterUpdateSuccess) {\n console.log(\"Expected:\", expectedRequesterWhitelist);\n console.log(\"Actual:\", currentRequesterWhitelist);\n revert(\"Requester whitelist update verification failed\");\n }\n }\n }\n\n /**\n * @notice Verifies that a single whitelist pair has the same owners and whitelist contents\n * @param oldWhitelistAddress Old whitelist contract address\n * @param newWhitelistAddress New whitelist contract address\n * @param whitelistName Name of the whitelist for logging purposes\n */\n function _verifyWhitelistConfiguration(\n address oldWhitelistAddress,\n address newWhitelistAddress,\n string memory whitelistName\n ) internal view {\n // Skip verification if new whitelist address is not provided\n if (newWhitelistAddress == address(0)) {\n return;\n }\n AddressWhitelistInterface oldWhitelist = AddressWhitelistInterface(oldWhitelistAddress);\n AddressWhitelistInterface newWhitelist = AddressWhitelistInterface(newWhitelistAddress);\n\n // Get owners\n address oldOwner = Ownable(oldWhitelistAddress).owner();\n address newOwner = Ownable(newWhitelistAddress).owner();\n\n // Get whitelist contents\n address[] memory oldWhitelistContents = oldWhitelist.getWhitelist();\n address[] memory newWhitelistContents = newWhitelist.getWhitelist();\n\n // Verify owners match\n bool ownersMatch = oldOwner == newOwner;\n console.log(string.concat(whitelistName, \" - Owner Match:\"), ownersMatch ? \"PASS\" : \"FAIL\");\n if (!ownersMatch) {\n console.log(\" Old Owner:\", oldOwner);\n console.log(\" New Owner:\", newOwner);\n revert(string.concat(whitelistName, \" owners do not match\"));\n }\n\n // Verify whitelist contents match\n bool contentsMatch = _compareWhitelistContents(oldWhitelistContents, newWhitelistContents, newWhitelist);\n console.log(string.concat(whitelistName, \" - Contents Match:\"), contentsMatch ? \"PASS\" : \"FAIL\");\n if (!contentsMatch) {\n revert(string.concat(whitelistName, \" contents do not match\"));\n }\n\n console.log(string.concat(whitelistName, \" - Configuration Verification:\"), \"PASS\");\n }\n\n /**\n * @notice Compares two whitelist contents for equality (order-independent)\n * @param oldWhitelistContents Old whitelist addresses\n * @param newWhitelistContents New whitelist addresses\n * @param newWhitelistInterface Interface to check membership in new whitelist\n * @return True if whitelists contain the same addresses, false otherwise\n */\n function _compareWhitelistContents(\n address[] memory oldWhitelistContents,\n address[] memory newWhitelistContents,\n AddressWhitelistInterface newWhitelistInterface\n ) internal view returns (bool) {\n // Check if counts match\n if (oldWhitelistContents.length != newWhitelistContents.length) {\n console.log(\" Old Whitelist Count:\", oldWhitelistContents.length);\n console.log(\" New Whitelist Count:\", newWhitelistContents.length);\n return false;\n }\n\n // Check if all addresses from old whitelist are present in new whitelist\n for (uint256 i = 0; i < oldWhitelistContents.length; i++) {\n if (!newWhitelistInterface.isOnWhitelist(oldWhitelistContents[i])) {\n console.log(\"First missing address from old whitelist:\", oldWhitelistContents[i]);\n return false;\n }\n }\n\n return true;\n }\n}\n"},"script/UpgradeManagedOptimisticOracleV2.s.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity ^0.8.0;\n\nimport {Script} from \"forge-std/Script.sol\";\nimport {console} from \"forge-std/console.sol\";\nimport {Upgrades} from \"@openzeppelin/foundry-upgrades/Upgrades.sol\";\nimport {Options} from \"@openzeppelin/foundry-upgrades/Options.sol\";\n\nimport {ManagedOptimisticOracleV2} from \"../src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol\";\n\n/**\n * @title Upgrade script for ManagedOptimisticOracleV2\n * @notice Upgrades the ManagedOptimisticOracleV2 contract implementation using OZ Upgrades\n *\n * Environment variables:\n * - MNEMONIC: Required. The mnemonic phrase for the upgrade admin wallet\n * - PROXY_ADDRESS: Required. Address of the existing proxy contract to upgrade\n * - REFERENCE_BUILD_VERSION: Required. Integer version number to derive reference contract and build info dir (e.g., 1 for \"build-info-v1:ManagedOptimisticOracleV2\" and \"old-builds/build-info-v1\")\n */\ncontract UpgradeManagedOptimisticOracleV2 is Script {\n function run() external {\n uint256 deployerPrivateKey = _getDeployerPrivateKey();\n address deployerAddress = vm.addr(deployerPrivateKey);\n\n // Get the proxy address to upgrade\n address proxyAddress = vm.envAddress(\"PROXY_ADDRESS\");\n\n // Fetch the upgrade admin from the contract\n address upgradeAdmin = ManagedOptimisticOracleV2(proxyAddress).owner();\n\n // Required reference build version for upgrade validation\n uint256 referenceBuildVersion = vm.envUint(\"REFERENCE_BUILD_VERSION\");\n\n // Build upgrade validation options\n Options memory opts;\n opts.referenceContract =\n string.concat(\"build-info-v\", vm.toString(referenceBuildVersion), \":ManagedOptimisticOracleV2\");\n opts.referenceBuildInfoDir = string.concat(\"old-builds/build-info-v\", vm.toString(referenceBuildVersion));\n\n // Log initial setup\n console.log(\"Deployer Address:\", deployerAddress);\n console.log(\"Upgrade Admin:\", upgradeAdmin);\n console.log(\"Proxy Address:\", proxyAddress);\n console.log(\"Reference Contract:\", opts.referenceContract);\n console.log(\"Reference Build Info Dir:\", opts.referenceBuildInfoDir);\n\n // Check if we need to impersonate or can execute directly\n bool shouldImpersonate = upgradeAdmin != deployerAddress;\n\n if (shouldImpersonate) {\n // Multisig mode - deploy implementation and generate transaction data\n console.log(\"\\n=== IMPERSONATION MODE ===\");\n console.log(\"MNEMONIC does not correspond to upgrade admin\");\n console.log(\"Deploying new implementation and generating upgrade transaction data\");\n\n // Deploy the new implementation\n console.log(\"\\n=== DEPLOYING NEW IMPLEMENTATION ===\");\n vm.startBroadcast(deployerPrivateKey);\n address newImplementationAddress =\n Upgrades.prepareUpgrade(\"ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2\", opts);\n vm.stopBroadcast();\n console.log(\"New Implementation Address:\", newImplementationAddress);\n\n // Generate upgrade transaction data\n bytes memory upgradeData =\n abi.encodeWithSignature(\"upgradeToAndCall(address,bytes)\", newImplementationAddress, bytes(\"\"));\n\n // Simulate the upgrade transaction to verify it would succeed\n console.log(\"\\n=== SIMULATING UPGRADE TRANSACTION ===\");\n vm.startPrank(upgradeAdmin);\n (bool success, bytes memory result) = proxyAddress.call(upgradeData);\n vm.stopPrank();\n\n if (success) {\n console.log(\"Upgrade simulation successful!\");\n } else {\n console.log(\"Upgrade simulation failed!\");\n console.log(\"Error:\", vm.toString(result));\n revert(\"Upgrade simulation failed - check the error above\");\n }\n\n // Log transaction data for multisig\n console.log(\"\\n=== MULTISIG UPGRADE TRANSACTION DATA ===\");\n console.log(\"Target Contract:\", proxyAddress);\n console.log(\"Transaction Data:\", vm.toString(upgradeData));\n console.log(\"Upgrade Admin:\", upgradeAdmin);\n console.log(\"Chain ID:\", block.chainid);\n console.log(\"\\nUse this transaction data in your multisig wallet to execute the upgrade.\");\n console.log(\"The new implementation has been deployed at:\", newImplementationAddress);\n } else {\n // Direct mode - execute upgrade directly\n console.log(\"\\n=== DIRECT EXECUTION MODE ===\");\n console.log(\"MNEMONIC corresponds to upgrade admin\");\n console.log(\"Executing upgrade directly\");\n\n // Start broadcasting transactions with the derived private key\n vm.startBroadcast(deployerPrivateKey);\n\n // Upgrade the proxy\n Upgrades.upgradeProxy(\n proxyAddress, \"ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2\", bytes(\"\"), opts\n );\n\n vm.stopBroadcast();\n\n // Output upgrade summary\n console.log(\"\\n=== Upgrade Summary ===\");\n console.log(\"Proxy Address:\", proxyAddress);\n console.log(\"New Implementation Address:\", Upgrades.getImplementationAddress(proxyAddress));\n console.log(\"Chain ID:\", block.chainid);\n console.log(\"Upgrade Admin:\", upgradeAdmin);\n }\n }\n\n /**\n * @notice Derives the deployer's private key from the mnemonic\n * @return deployerPrivateKey The derived private key for the deployer\n */\n function _getDeployerPrivateKey() internal view returns (uint256) {\n string memory mnemonic = vm.envString(\"MNEMONIC\");\n // Derive the 0 index address from mnemonic\n return vm.deriveKey(mnemonic, 0);\n }\n}\n"},"src/common/implementation/AddressLegacy.sol":{"content":"// SPDX-License-Identifier: MIT\n// Copied from OpenZeppelin Contracts (last updated v4.9.0) (utils/Address.sol) to make isContract function available\n// as it has been deprecated in OpenZeppelin Contracts v5.x\n\npragma solidity ^0.8.1;\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary AddressLegacy {\n /**\n * @dev Returns true if `account` is a contract.\n *\n * [IMPORTANT]\n * ====\n * It is unsafe to assume that an address for which this function returns\n * false is an externally-owned account (EOA) and not a contract.\n *\n * Among others, `isContract` will return false for the following\n * types of addresses:\n *\n * - an externally-owned account\n * - a contract in construction\n * - an address where a contract will be created\n * - an address where a contract lived, but was destroyed\n *\n * Furthermore, `isContract` will also return true if the target contract within\n * the same transaction is already scheduled for destruction by `SELFDESTRUCT`,\n * which only has an effect at the end of a transaction.\n * ====\n *\n * [IMPORTANT]\n * ====\n * You shouldn't rely on `isContract` to protect against flash loan attacks!\n *\n * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n * constructor.\n * ====\n */\n function isContract(address account) internal view returns (bool) {\n // This method relies on extcodesize/address.code.length, which returns 0\n // for contracts in construction, since the code is only stored at the end\n // of the constructor execution.\n\n return account.code.length > 0;\n }\n}\n"},"src/common/implementation/AddressWhitelist.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\n// Based on https://github.com/UMAprotocol/protocol/blob/%40uma/core%402.62.0/packages/core/contracts/common/implementation/AddressWhitelist.sol\n// adding the functionality to check if the whitelist is enabled and to be compatible with OpenZeppelin v5.x. This also\n// uses named imports and linting from Foundry.\n\npragma solidity ^0.8.0;\n\nimport {AddressWhitelistInterface} from \"../interfaces/AddressWhitelistInterface.sol\";\nimport {ERC165} from \"@openzeppelin/contracts/utils/introspection/ERC165.sol\";\nimport {Ownable} from \"@openzeppelin/contracts/access/Ownable.sol\";\nimport {Lockable} from \"@uma/contracts/common/implementation/Lockable.sol\";\nimport {EnumerableSet} from \"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\";\n\n/**\n * @title A contract to track a whitelist of addresses.\n * @custom:security-contact bugs@umaproject.org\n */\ncontract AddressWhitelist is AddressWhitelistInterface, Ownable, Lockable, ERC165 {\n using EnumerableSet for EnumerableSet.AddressSet;\n\n // Holds the entire whitelist of addresses. Order is not guaranteed and may change over time.\n EnumerableSet.AddressSet whitelistedSet;\n\n event AddedToWhitelist(address indexed addedAddress);\n event RemovedFromWhitelist(address indexed removedAddress);\n\n /**\n * @notice Constructor to initialize the contract.\n * @dev This makes it compatible with v5.x of OpenZeppelin's Ownable contract.\n */\n constructor() Ownable(msg.sender) {}\n\n /**\n * @notice Adds an address to the whitelist.\n * @param newElement the new address to add.\n */\n function addToWhitelist(address newElement) external override nonReentrant onlyOwner {\n bool added = whitelistedSet.add(newElement);\n if (added) {\n emit AddedToWhitelist(newElement);\n }\n }\n\n /**\n * @notice Removes an address from the whitelist.\n * @param elementToRemove the existing address to remove.\n */\n function removeFromWhitelist(address elementToRemove) external override nonReentrant onlyOwner {\n bool removed = whitelistedSet.remove(elementToRemove);\n if (removed) {\n emit RemovedFromWhitelist(elementToRemove);\n }\n }\n\n /**\n * @notice Checks whether an address is on the whitelist.\n * @param elementToCheck the address to check.\n * @return True if `elementToCheck` is on the whitelist, or False.\n */\n function isOnWhitelist(address elementToCheck) public view virtual override nonReentrantView returns (bool) {\n return whitelistedSet.contains(elementToCheck);\n }\n\n /**\n * @notice Gets all addresses that are currently included in the whitelist.\n * @dev Returns a copy of the entire set via EnumerableSet.values(). This operation is O(n) in the number of\n * addresses and theoretically unbounded. In practice, in the context of `ManagedOptimisticOracleV2.sol` this list\n * is expected to remain small, so this method is not expected to run out of gas.\n * Order of addresses is arbitrary and not guaranteed to be stable across calls.\n * @return activeWhitelist the list of addresses on the whitelist.\n */\n function getWhitelist() external view override nonReentrantView returns (address[] memory activeWhitelist) {\n return whitelistedSet.values();\n }\n\n /**\n * @notice Checks if the whitelist is enabled.\n * @dev For this implementation, the whitelist is always considered enabled.\n * @return enabled Always returns true.\n */\n function isWhitelistEnabled() external pure override returns (bool enabled) {\n return true;\n }\n\n /**\n * @notice Returns true if this contract implements the interface defined by interfaceId.\n * @param interfaceId The interface identifier, as specified in ERC-165.\n * @return True if the contract implements the interface defined by interfaceId.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(AddressWhitelistInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n}\n"},"src/common/implementation/DisabledAddressWhitelist.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity ^0.8.4;\n\nimport {ERC165} from \"@openzeppelin/contracts/utils/introspection/ERC165.sol\";\nimport {AddressWhitelistInterface} from \"../interfaces/AddressWhitelistInterface.sol\";\n\n/**\n * @notice This contract is an implementation of AddressWhitelistInterface where the whitelist is permanently disabled.\n * @dev All addresses are considered to be on this whitelist.\n * @custom:security-contact bugs@umaproject.org\n */\ncontract DisabledAddressWhitelist is AddressWhitelistInterface, ERC165 {\n error CannotAddToDisabledAddressWhitelist();\n error CannotRemoveFromDisabledAddressWhitelist();\n\n function addToWhitelist(address) external pure {\n revert CannotAddToDisabledAddressWhitelist();\n }\n\n function removeFromWhitelist(address) external pure {\n revert CannotRemoveFromDisabledAddressWhitelist();\n }\n\n function isOnWhitelist(address) external pure returns (bool) {\n return true;\n }\n\n function getWhitelist() external pure returns (address[] memory) {\n return new address[](0);\n }\n\n function isWhitelistEnabled() external pure returns (bool enabled) {\n return false;\n }\n\n /**\n * @notice Returns true if this contract implements the interface defined by interfaceId.\n * @param interfaceId The interface identifier, as specified in ERC-165.\n * @return True if the contract implements the interface defined by interfaceId.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(AddressWhitelistInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n}\n"},"src/common/implementation/LockableUpgradeable.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\n// Ported from https://github.com/UMAprotocol/protocol/blob/%40uma/core%402.62.0/packages/core/contracts/common/implementation/Lockable.sol\n// to be compatible for use in upgradeable contracts and using custom errors.\n\npragma solidity ^0.8.27;\n\nimport {Initializable} from \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\n\n/**\n * @title A contract that provides modifiers to prevent reentrancy to state-changing and view-only methods. This contract\n * is inspired by https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/ReentrancyGuard.sol\n * and https://github.com/balancer-labs/balancer-core/blob/master/contracts/BPool.sol.\n */\nabstract contract LockableUpgradeable is Initializable {\n error ReentrancyGuardReentrantCall();\n\n bool private _notEntered;\n\n /**\n * @notice initializes the LockableUpgradeable contract\n */\n function __LockableUpgradeable_init() internal onlyInitializing {\n // Storing an initial non-zero value makes deployment a bit more expensive, but in exchange the refund on every\n // call to nonReentrant will be lower in amount. Since refunds are capped to a percentage of the total\n // transaction's gas, it is best to keep them low in cases like this one, to increase the likelihood of the full\n // refund coming into effect.\n _notEntered = true;\n }\n\n /**\n * @dev Prevents a contract from calling itself, directly or indirectly.\n * Calling a `nonReentrant` function from another `nonReentrant` function is not supported. It is possible to\n * prevent this from happening by making the `nonReentrant` function external, and making it call a `private`\n * function that does the actual state modification.\n */\n modifier nonReentrant() {\n _preEntranceCheck();\n _preEntranceSet();\n _;\n _postEntranceReset();\n }\n\n /**\n * @dev Designed to prevent a view-only method from being re-entered during a call to a `nonReentrant()` state-changing method.\n */\n modifier nonReentrantView() {\n _preEntranceCheck();\n _;\n }\n\n // Internal methods are used to avoid copying the require statement's bytecode to every `nonReentrant()` method.\n // On entry into a function, `_preEntranceCheck()` should always be called to check if the function is being\n // re-entered. Then, if the function modifies state, it should call `_postEntranceSet()`, perform its logic, and\n // then call `_postEntranceReset()`.\n // View-only methods can simply call `_preEntranceCheck()` to make sure that it is not being re-entered.\n function _preEntranceCheck() internal view {\n // On the first call to nonReentrant, _notEntered will be true\n require(_notEntered, ReentrancyGuardReentrantCall());\n }\n\n function _preEntranceSet() internal {\n // Any calls to nonReentrant after this point will fail\n _notEntered = false;\n }\n\n function _postEntranceReset() internal {\n // By storing the original value once again, a refund is triggered (see\n // https://eips.ethereum.org/EIPS/eip-2200)\n _notEntered = true;\n }\n\n // These functions are intended to be used by child contracts to temporarily disable and re-enable the guard.\n // Intended use:\n // _startReentrantGuardDisabled();\n // ...\n // _endReentrantGuardDisabled();\n //\n // IMPORTANT: these should NEVER be used in a method that isn't inside a nonReentrant block. Otherwise, it's\n // possible to permanently lock your contract.\n function _startReentrantGuardDisabled() internal {\n _notEntered = true;\n }\n\n function _endReentrantGuardDisabled() internal {\n _notEntered = false;\n }\n\n /**\n * @dev Reserve storage slots for future versions of this base contract to add state variables without affecting the\n * storage layout of child contracts. Decrement the size of __gap whenever state variables are added. This is at the\n * bottom of contract to make sure its always at the end of storage.\n * See https://docs.openzeppelin.com/upgrades-plugins/writing-upgradeable#storage-gaps\n */\n uint256[49] private __gap;\n}\n"},"src/common/implementation/MultiCaller.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\n// Ported from https://github.com/UMAprotocol/protocol/blob/%40uma/core%402.62.0/packages/core/contracts/common/implementation/MultiCaller.sol\n// to be compatible for use in upgradeable contracts.\n\npragma solidity ^0.8.0;\n\n/**\n * @title MultiCaller\n * @notice Logic is 100% copied from \"@uma/core/contracts/common/implementation/MultiCaller.sol\" but a\n * comment is added to clarify why we allow delegatecall() in this contract, which is typically unsafe for use in\n * upgradeable implementation contracts.\n * @dev See https://docs.openzeppelin.com/upgrades-plugins/1.x/faq#delegatecall-selfdestruct for more details.\n */\nabstract contract MultiCaller {\n function multicall(bytes[] calldata data) external returns (bytes[] memory results) {\n results = new bytes[](data.length);\n for (uint256 i = 0; i < data.length; i++) {\n // Typically, implementation contracts used in the upgradeable proxy pattern shouldn't call `delegatecall`\n // because it could allow a malicious actor to call this implementation contract directly (rather than\n // through a proxy contract) and then selfdestruct() the contract, thereby freezing the upgradeable\n // proxy. However, since we're only delegatecall-ing into this contract, then we can consider this\n // use of delegatecall() safe.\n\n /// @custom:oz-upgrades-unsafe-allow delegatecall\n (bool success, bytes memory result) = address(this).delegatecall(data[i]);\n\n if (!success) {\n // Next 5 lines from https://ethereum.stackexchange.com/a/83577\n if (result.length < 68) revert();\n assembly {\n result := add(result, 0x04)\n }\n revert(abi.decode(result, (string)));\n }\n\n results[i] = result;\n }\n }\n\n /**\n * @dev Reserve storage slots for future versions of this base contract to add state variables without affecting the\n * storage layout of child contracts. Decrement the size of __gap whenever state variables are added. This is at the\n * bottom of contract to make sure its always at the end of storage.\n * See https://docs.openzeppelin.com/upgrades-plugins/writing-upgradeable#storage-gaps\n */\n uint256[50] private __gap;\n}\n"},"src/common/interfaces/AddressWhitelistInterface.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\n// Based on https://github.com/UMAprotocol/protocol/blob/%40uma/core%402.62.0/packages/core/contracts/common/interfaces/AddressWhitelistInterface.sol\n// adding the functionality to check if the whitelist is enabled.\n\npragma solidity ^0.8.0;\n\ninterface AddressWhitelistInterface {\n function addToWhitelist(address newElement) external;\n\n function removeFromWhitelist(address newElement) external;\n\n function isOnWhitelist(address newElement) external view returns (bool);\n\n function getWhitelist() external view returns (address[] memory);\n\n function isWhitelistEnabled() external view returns (bool);\n}\n"},"src/common/interfaces/FixedPointInterface.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\n// Derived from https://github.com/UMAprotocol/protocol/blob/%40uma/core%402.62.0/packages/core/contracts/common/implementation/FixedPoint.sol\n// to expose the Unsigned struct for use in other contracts. The rest of the FixedPoint library logic is not required\n// here and any porting would require significant changes to the codebase related to the removed support of SafeMath in\n// OpenZeppelin 5.x.\n\npragma solidity ^0.8.0;\n\n/**\n * @title Interface for fixed point arithmetic on uints\n */\ninterface FixedPointInterface {\n struct Unsigned {\n uint256 rawValue;\n }\n}\n"},"src/data-verification-mechanism/interfaces/StoreInterface.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\n// Ported from https://github.com/UMAprotocol/protocol/blob/%40uma/core%402.62.0/packages/core/contracts/data-verification-mechanism/interfaces/StoreInterface.sol\n// to use FixedPointInterface.Unsigned as the FixedPoint library is not compatible with OpenZeppelin v5.x. This also\n// uses named imports.\n\npragma solidity ^0.8.0;\n\nimport {IERC20} from \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport {FixedPointInterface} from \"../../common/interfaces/FixedPointInterface.sol\";\n\n/**\n * @title Interface that allows financial contracts to pay oracle fees for their use of the system.\n */\ninterface StoreInterface {\n /**\n * @notice Pays Oracle fees in ETH to the store.\n * @dev To be used by contracts whose margin currency is ETH.\n */\n function payOracleFees() external payable;\n\n /**\n * @notice Pays oracle fees in the margin currency, erc20Address, to the store.\n * @dev To be used if the margin currency is an ERC20 token rather than ETH.\n * @param erc20Address address of the ERC20 token used to pay the fee.\n * @param amount number of tokens to transfer. An approval for at least this amount must exist.\n */\n function payOracleFeesErc20(address erc20Address, FixedPointInterface.Unsigned calldata amount) external;\n\n /**\n * @notice Computes the regular oracle fees that a contract should pay for a period.\n * @param startTime defines the beginning time from which the fee is paid.\n * @param endTime end time until which the fee is paid.\n * @param pfc \"profit from corruption\", or the maximum amount of margin currency that a\n * token sponsor could extract from the contract through corrupting the price feed in their favor.\n * @return regularFee amount owed for the duration from start to end time for the given pfc.\n * @return latePenalty for paying the fee after the deadline.\n */\n function computeRegularFee(uint256 startTime, uint256 endTime, FixedPointInterface.Unsigned calldata pfc)\n external\n view\n returns (FixedPointInterface.Unsigned memory regularFee, FixedPointInterface.Unsigned memory latePenalty);\n\n /**\n * @notice Computes the final oracle fees that a contract should pay at settlement.\n * @param currency token used to pay the final fee.\n * @return finalFee amount due.\n */\n function computeFinalFee(address currency) external view returns (FixedPointInterface.Unsigned memory);\n}\n"},"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity ^0.8.27;\n\nimport {ERC165Checker} from \"@openzeppelin/contracts/utils/introspection/ERC165Checker.sol\";\nimport {IERC20} from \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\n\nimport {AddressWhitelistInterface} from \"../../common/interfaces/AddressWhitelistInterface.sol\";\nimport {ManagedOptimisticOracleV2Interface} from \"../interfaces/ManagedOptimisticOracleV2Interface.sol\";\nimport {MultiCaller} from \"../../common/implementation/MultiCaller.sol\";\nimport {OptimisticOracleV2} from \"./OptimisticOracleV2.sol\";\n\n/**\n * @title Managed Optimistic Oracle V2.\n * @notice Pre-DVM escalation contract that allows faster settlement and management of price requests.\n * @custom:security-contact bugs@umaproject.org\n */\ncontract ManagedOptimisticOracleV2 is ManagedOptimisticOracleV2Interface, OptimisticOracleV2, MultiCaller {\n struct BondRange {\n uint128 minimumBond;\n uint128 maximumBond;\n }\n\n struct CurrencyBondRange {\n IERC20 currency;\n BondRange range;\n }\n\n struct CustomBond {\n uint256 amount;\n // isSet is not used anymore as amount cannot be set to 0, but it is kept for storage layout compatibility.\n bool isSet;\n }\n\n struct CustomLiveness {\n uint256 liveness;\n // isSet is not used anymore as liveness cannot be set to 0, but it is kept for storage layout compatibility.\n bool isSet;\n }\n\n // Config admin role is used to manage request managers and set other default parameters.\n bytes32 public constant CONFIG_ADMIN_ROLE = keccak256(\"CONFIG_ADMIN_ROLE\");\n\n // Request manager role is used to manage proposer whitelists, bonds, and liveness for individual requests.\n bytes32 public constant REQUEST_MANAGER_ROLE = keccak256(\"REQUEST_MANAGER_ROLE\");\n\n // Default whitelist for proposers.\n AddressWhitelistInterface public defaultProposerWhitelist;\n AddressWhitelistInterface public requesterWhitelist;\n\n // Custom bonds set by request managers for specific request and currency combinations.\n mapping(bytes32 managedRequestId => mapping(IERC20 currency => CustomBond)) public customBonds;\n\n // Custom liveness values set by request managers for specific requests.\n mapping(bytes32 managedRequestId => CustomLiveness) public customLivenessValues;\n\n // Custom proposer whitelists set by request managers for specific requests.\n mapping(bytes32 managedRequestId => AddressWhitelistInterface) public customProposerWhitelists;\n\n // Admin controlled ranges limiting the changes that can be made by request managers.\n // Unset currency -> (0,0) range; manager-set custom bonds revert until explicitly set.\n mapping(IERC20 currency => BondRange) public allowedBondRanges;\n\n // Admin controlled minimum liveness that can be set by request managers.\n uint256 public minimumLiveness;\n\n /// @custom:oz-upgrades-unsafe-allow constructor\n constructor() {\n _disableInitializers();\n }\n\n /**\n * @notice Initializer.\n * @param _defaultLiveness applied to each price request.\n * @param _finderAddress to use to get addresses of DVM contracts.\n * @param _defaultProposerWhitelist address of the default whitelist.\n * @param _requesterWhitelist address of the requester whitelist.\n * @param _allowedBondRanges array of allowed bond ranges for different currencies.\n * @param _minimumLiveness that can be overridden for a request.\n * @param configAdmin address, which is used for managing request managers and contract parameters.\n * @param upgradeAdmin address, which also can manage the config admin role.\n */\n function initialize(\n uint256 _defaultLiveness,\n address _finderAddress,\n address _defaultProposerWhitelist,\n address _requesterWhitelist,\n CurrencyBondRange[] calldata _allowedBondRanges,\n uint256 _minimumLiveness,\n address configAdmin,\n address upgradeAdmin\n ) external initializer {\n __OptimisticOracleV2_init(_defaultLiveness, _finderAddress, upgradeAdmin);\n\n // Config admin is managing the request manager role.\n // Contract upgrade admin retains the default admin role that can also manage the config admin role.\n _grantRole(CONFIG_ADMIN_ROLE, configAdmin);\n _setRoleAdmin(REQUEST_MANAGER_ROLE, CONFIG_ADMIN_ROLE);\n\n _setDefaultProposerWhitelist(_defaultProposerWhitelist);\n _setRequesterWhitelist(_requesterWhitelist);\n // Explicit ranges enable manager-set custom bonds per currency (forbid-by-default).\n for (uint256 i = 0; i < _allowedBondRanges.length; i++) {\n _setAllowedBondRange(_allowedBondRanges[i].currency, _allowedBondRanges[i].range);\n }\n _setMinimumLiveness(_minimumLiveness);\n }\n\n /**\n * @dev Throws if called by any account other than the config admin.\n */\n modifier onlyConfigAdmin() {\n _checkRole(CONFIG_ADMIN_ROLE);\n _;\n }\n\n /**\n * @dev Throws if called by any account other than the request manager.\n */\n modifier onlyRequestManager() {\n _checkRole(REQUEST_MANAGER_ROLE);\n _;\n }\n\n /**\n * @notice Adds a request manager.\n * @dev Only callable by the config admin (checked in grantRole of AccessControlUpgradeable).\n * @param requestManager address of the request manager to set.\n */\n function addRequestManager(address requestManager) external nonReentrant {\n grantRole(REQUEST_MANAGER_ROLE, requestManager);\n }\n\n /**\n * @notice Removes a request manager.\n * @dev Only callable by the config admin (checked in revokeRole of AccessControlUpgradeable).\n * @param requestManager address of the request manager to remove.\n */\n function removeRequestManager(address requestManager) external nonReentrant {\n revokeRole(REQUEST_MANAGER_ROLE, requestManager);\n }\n\n /**\n * @notice Sets the bounds for a bond that can be set for a request.\n * @dev This can be used to limit the bond amount that can be set by request managers, callable by the config admin.\n * @param currency the ERC20 token used for bonding proposals and disputes. Must be approved for use with the DVM.\n * @param newRange new allowed range for the bond.\n */\n function setAllowedBondRange(IERC20 currency, BondRange calldata newRange) external nonReentrant onlyConfigAdmin {\n _setAllowedBondRange(currency, newRange);\n }\n\n /**\n * @notice Sets the minimum liveness that can be set for a request.\n * @dev This can be used to limit the liveness period that can be set by request managers, callable by the config admin.\n * @param _minimumLiveness new minimum liveness period.\n */\n function setMinimumLiveness(uint256 _minimumLiveness) external nonReentrant onlyConfigAdmin {\n _setMinimumLiveness(_minimumLiveness);\n }\n\n /**\n * @notice Sets the default proposer whitelist.\n * @dev Only callable by the config admin.\n * @param whitelist address of the whitelist to set.\n */\n function setDefaultProposerWhitelist(address whitelist) external nonReentrant onlyConfigAdmin {\n _setDefaultProposerWhitelist(whitelist);\n }\n\n /**\n * @notice Sets the requester whitelist.\n * @dev Only callable by the config admin.\n * @param whitelist address of the whitelist to set.\n */\n function setRequesterWhitelist(address whitelist) external nonReentrant onlyConfigAdmin {\n _setRequesterWhitelist(whitelist);\n }\n\n /**\n * @notice Requests a new price.\n * @param identifier price identifier being requested.\n * @param timestamp timestamp of the price being requested.\n * @param ancillaryData ancillary data representing additional args being passed with the price request.\n * @param currency ERC20 token used for payment of rewards and fees. Must be approved for use with the DVM.\n * @param reward reward offered to a successful proposer. Will be pulled from the caller. Note: this can be 0,\n * which could make sense if the contract requests and proposes the value in the same call or\n * provides its own reward system.\n * @return totalBond default bond (final fee) + final fee that the proposer and disputer will be required to pay.\n * This can be changed with a subsequent call to setBond().\n */\n function requestPrice(\n bytes32 identifier,\n uint256 timestamp,\n bytes memory ancillaryData,\n IERC20 currency,\n uint256 reward\n ) public override returns (uint256 totalBond) {\n require(requesterWhitelist.isOnWhitelist(msg.sender), RequesterNotWhitelisted());\n return super.requestPrice(identifier, timestamp, ancillaryData, currency, reward);\n }\n\n /**\n * @notice Set the proposal bond associated with a price request.\n * @dev This would also override any subsequent calls to setBond() by the requester.\n * @param requester sender of the initial price request.\n * @param identifier price identifier to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @param currency ERC20 token used for payment of rewards and fees. Must be approved for use with the DVM.\n * @param bond custom bond amount to set.\n */\n function requestManagerSetBond(\n address requester,\n bytes32 identifier,\n bytes memory ancillaryData,\n IERC20 currency,\n uint256 bond\n ) external nonReentrant onlyRequestManager {\n require(_getCollateralWhitelist().isOnWhitelist(address(currency)), UnsupportedCurrency());\n _validateBond(currency, bond);\n bytes32 managedRequestId = getManagedRequestId(requester, identifier, ancillaryData);\n customBonds[managedRequestId][currency].amount = bond;\n emit CustomBondSet(managedRequestId, requester, identifier, ancillaryData, currency, bond);\n }\n\n /**\n * @notice Sets a custom liveness value for the request. Liveness is the amount of time a proposal must wait before\n * being auto-resolved.\n * @dev This would also override any subsequent calls to setLiveness() by the requester.\n * @param requester sender of the initial price request.\n * @param identifier price identifier to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @param customLiveness new custom liveness.\n */\n function requestManagerSetCustomLiveness(\n address requester,\n bytes32 identifier,\n bytes memory ancillaryData,\n uint256 customLiveness\n ) external nonReentrant onlyRequestManager {\n _validateLiveness(customLiveness);\n bytes32 managedRequestId = getManagedRequestId(requester, identifier, ancillaryData);\n customLivenessValues[managedRequestId].liveness = customLiveness;\n emit CustomLivenessSet(managedRequestId, requester, identifier, ancillaryData, customLiveness);\n }\n\n /**\n * @notice Sets the proposer whitelist for a request.\n * @dev This can also be set in advance of the request as the timestamp is omitted from the mapping key derivation.\n * @param requester sender of the initial price request.\n * @param identifier price identifier to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @param whitelist address of the whitelist to set.\n */\n function requestManagerSetProposerWhitelist(\n address requester,\n bytes32 identifier,\n bytes memory ancillaryData,\n address whitelist\n ) external nonReentrant onlyRequestManager {\n // Zero address is allowed to disable the custom proposer whitelist.\n if (whitelist != address(0)) {\n _validateWhitelistInterface(whitelist);\n }\n bytes32 managedRequestId = getManagedRequestId(requester, identifier, ancillaryData);\n customProposerWhitelists[managedRequestId] = AddressWhitelistInterface(whitelist);\n emit CustomProposerWhitelistSet(managedRequestId, requester, identifier, ancillaryData, whitelist);\n }\n\n /**\n * @notice Proposes a price value on another address' behalf. Note: this address will receive any rewards that come\n * from this proposal. However, any bonds are pulled from the caller.\n * @param proposer address to set as the proposer.\n * @param requester sender of the initial price request.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @param proposedPrice price being proposed.\n * @return totalBond the amount that's pulled from the caller's wallet as a bond. The bond will be returned to\n * the proposer once settled if the proposal is correct.\n */\n function proposePriceFor(\n address proposer,\n address requester,\n bytes32 identifier,\n uint256 timestamp,\n bytes memory ancillaryData,\n int256 proposedPrice\n ) public override returns (uint256 totalBond) {\n // Apply the custom bond and liveness overrides if set.\n Request storage request = _getRequest(requester, identifier, timestamp, ancillaryData);\n bytes32 managedRequestId = getManagedRequestId(requester, identifier, ancillaryData);\n uint256 customBond = customBonds[managedRequestId][request.currency].amount;\n if (customBond != 0) {\n request.requestSettings.bond = customBond;\n }\n uint256 customLiveness = customLivenessValues[managedRequestId].liveness;\n if (customLiveness != 0) {\n request.requestSettings.customLiveness = customLiveness;\n }\n\n AddressWhitelistInterface whitelist = _getEffectiveProposerWhitelist(requester, identifier, ancillaryData);\n\n require(whitelist.isOnWhitelist(proposer), ProposerNotWhitelisted());\n require(whitelist.isOnWhitelist(msg.sender), SenderNotWhitelisted());\n return super.proposePriceFor(proposer, requester, identifier, timestamp, ancillaryData, proposedPrice);\n }\n\n /**\n * @notice Gets the custom proposer whitelist for a request.\n * @dev This omits the timestamp from the key derivation, so the whitelist might have been set in advance of the\n * request.\n * @param requester sender of the initial price request.\n * @param identifier price identifier to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @return AddressWhitelistInterface the custom proposer whitelist for the request or zero address if not set.\n */\n function getCustomProposerWhitelist(address requester, bytes32 identifier, bytes memory ancillaryData)\n external\n view\n nonReentrantView\n returns (AddressWhitelistInterface)\n {\n return customProposerWhitelists[getManagedRequestId(requester, identifier, ancillaryData)];\n }\n\n /**\n * @notice Returns the proposer whitelist and whether whitelist is enabled for a given request.\n * @dev If no custom proposer whitelist is set for the request, the default proposer whitelist is used.\n * If whitelist used is DisabledAddressWhitelist, the returned proposer list will be empty and isEnabled will be false,\n * indicating that any address is allowed to propose.\n * @param requester The address that made or will make the price request.\n * @param identifier The identifier of the price request.\n * @param ancillaryData Additional data used to uniquely identify the request.\n * @return allowedProposers The list of addresses allowed to propose, if whitelist is enabled. Otherwise, an empty array.\n * @return isEnabled A boolean indicating whether whitelist is enabled for this request.\n */\n function getProposerWhitelistWithEnabledStatus(address requester, bytes32 identifier, bytes memory ancillaryData)\n external\n view\n nonReentrantView\n returns (address[] memory allowedProposers, bool isEnabled)\n {\n AddressWhitelistInterface whitelist = _getEffectiveProposerWhitelist(requester, identifier, ancillaryData);\n return (whitelist.getWhitelist(), whitelist.isWhitelistEnabled());\n }\n\n /**\n * @notice Gets the ID for a managed request.\n * @dev This omits the timestamp from the key derivation, so it can be used for managed requests in advance.\n * @param requester sender of the initial price request.\n * @param identifier price identifier to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @return bytes32 the ID for the managed request.\n */\n function getManagedRequestId(address requester, bytes32 identifier, bytes memory ancillaryData)\n public\n pure\n returns (bytes32)\n {\n return keccak256(abi.encodePacked(requester, identifier, ancillaryData));\n }\n\n /**\n * @notice Sets the bounds for a bond that can be set for a request.\n * @dev This can be used to limit the bond amount that can be set by request managers. Setting the minimum and\n * maximum both to 0 effectively blocks the request manager from overriding the bond for a given currency.\n * @param currency the ERC20 token used for bonding proposals and disputes. Must be approved for use with the DVM.\n * @param newRange new allowed range for the bond.\n */\n function _setAllowedBondRange(IERC20 currency, BondRange calldata newRange) private {\n require(_getCollateralWhitelist().isOnWhitelist(address(currency)), UnsupportedCurrency());\n require(newRange.minimumBond <= newRange.maximumBond, MinimumBondAboveMaximumBond());\n allowedBondRanges[currency] = newRange;\n emit AllowedBondRangeUpdated(currency, newRange.minimumBond, newRange.maximumBond);\n }\n\n /**\n * @notice Sets the minimum liveness that can be set for a request.\n * @dev This can be used to limit the liveness period that can be set by request managers.\n * @param _minimumLiveness new minimum liveness period.\n */\n function _setMinimumLiveness(uint256 _minimumLiveness) private {\n super._validateLiveness(_minimumLiveness);\n minimumLiveness = _minimumLiveness;\n emit MinimumLivenessUpdated(_minimumLiveness);\n }\n\n /**\n * @notice Sets the default proposer whitelist.\n * @param whitelist address of the whitelist to set.\n */\n function _setDefaultProposerWhitelist(address whitelist) private {\n _validateWhitelistInterface(whitelist);\n defaultProposerWhitelist = AddressWhitelistInterface(whitelist);\n emit DefaultProposerWhitelistUpdated(whitelist);\n }\n\n /**\n * @notice Sets the requester whitelist.\n * @param whitelist address of the whitelist to set.\n */\n function _setRequesterWhitelist(address whitelist) private {\n _validateWhitelistInterface(whitelist);\n requesterWhitelist = AddressWhitelistInterface(whitelist);\n emit RequesterWhitelistUpdated(whitelist);\n }\n\n /**\n * @notice Validates that the given address implements the AddressWhitelistInterface.\n * @dev Reverts if the address does not implement the interface.\n * @param whitelist address of the whitelist to validate.\n */\n function _validateWhitelistInterface(address whitelist) internal view {\n require(\n ERC165Checker.supportsInterface(whitelist, type(AddressWhitelistInterface).interfaceId),\n UnsupportedWhitelistInterface()\n );\n }\n\n /**\n * @notice Validates the bond amount.\n * @dev Reverts if the bond is outside the allowed bond range (controllable by the config admin) or it is 0 (which\n * makes sure the allowed bond range was explicitly set).\n * @param currency the ERC20 token used for bonding proposals and disputes. Must be approved for use with the DVM.\n * @param bond the bond amount to validate.\n */\n function _validateBond(IERC20 currency, uint256 bond) private view {\n require(bond != 0, ZeroBondNotAllowed());\n BondRange memory allowedRange = allowedBondRanges[currency];\n require(bond >= uint256(allowedRange.minimumBond), BondBelowMinimumBond());\n require(bond <= uint256(allowedRange.maximumBond), BondExceedsMaximumBond());\n }\n\n /**\n * @notice Validates the liveness period.\n * @dev Reverts if the liveness period is less than the minimum liveness (controllable by the config admin) or\n * above the maximum liveness (which is set in the parent contract).\n * @param liveness the liveness period to validate.\n */\n function _validateLiveness(uint256 liveness) internal view override {\n require(liveness >= minimumLiveness, LivenessTooLow());\n super._validateLiveness(liveness);\n }\n\n /**\n * @notice Gets the effective proposer whitelist contract for a given request.\n * @dev Returns the custom proposer whitelist if set; otherwise falls back to the default. Timestamp is omitted from\n * the key derivation, so this can be used for checks before the request is made.\n * @param requester The address that made or will make the price request.\n * @param identifier The identifier of the price request.\n * @param ancillaryData Additional data used to uniquely identify the request.\n * @return whitelist The effective AddressWhitelistInterface for the request.\n */\n function _getEffectiveProposerWhitelist(address requester, bytes32 identifier, bytes memory ancillaryData)\n private\n view\n returns (AddressWhitelistInterface whitelist)\n {\n whitelist = customProposerWhitelists[getManagedRequestId(requester, identifier, ancillaryData)];\n if (address(whitelist) == address(0)) {\n whitelist = defaultProposerWhitelist;\n }\n }\n\n /**\n * @dev Reserve storage slots for future versions of this base contract to add state variables without affecting the\n * storage layout of child contracts. Decrement the size of __gap whenever state variables are added. This is at the\n * bottom of contract to make sure its always at the end of storage.\n * See https://docs.openzeppelin.com/upgrades-plugins/writing-upgradeable#storage-gaps\n */\n uint256[993] private __gap;\n}\n"},"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\n// Ported from https://github.com/UMAprotocol/protocol/blob/%40uma/core%402.62.0/packages/core/contracts/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol\n// to be compatible for use in upgradeable contracts and OpenZeppelin v5.x. This also uses custom errors, named imports\n// and linting from Foundry.\n\npragma solidity ^0.8.27;\n\nimport {IERC20} from \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport {SafeERC20} from \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\";\n\nimport {AccessControlDefaultAdminRulesUpgradeable} from\n \"@openzeppelin/contracts-upgradeable/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol\";\nimport {UUPSUpgradeable} from \"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\";\n\nimport {AncillaryData} from \"@uma/contracts/common/implementation/AncillaryData.sol\";\nimport {FinderInterface} from \"@uma/contracts/data-verification-mechanism/interfaces/FinderInterface.sol\";\nimport {IdentifierWhitelistInterface} from\n \"@uma/contracts/data-verification-mechanism/interfaces/IdentifierWhitelistInterface.sol\";\nimport {OracleAncillaryInterface} from\n \"@uma/contracts/data-verification-mechanism/interfaces/OracleAncillaryInterface.sol\";\nimport {OracleInterfaces} from \"@uma/contracts/data-verification-mechanism/implementation/Constants.sol\";\n\nimport {OptimisticOracleV2Interface} from \"../interfaces/OptimisticOracleV2Interface.sol\";\n\nimport {AddressLegacy} from \"../../common/implementation/AddressLegacy.sol\";\nimport {AddressWhitelist} from \"../../common/implementation/AddressWhitelist.sol\";\nimport {FixedPointInterface} from \"../../common/interfaces/FixedPointInterface.sol\";\nimport {LockableUpgradeable} from \"../../common/implementation/LockableUpgradeable.sol\";\nimport {StoreInterface} from \"../../data-verification-mechanism/interfaces/StoreInterface.sol\";\n\n/**\n * @title Optimistic Requester.\n * @notice Optional interface that requesters can implement to receive callbacks.\n * @dev this contract does _not_ work with ERC777 collateral currencies or any others that call into the receiver on\n * transfer(). Using an ERC777 token would allow a user to maliciously grief other participants (while also losing\n * money themselves).\n */\ninterface OptimisticRequester {\n /**\n * @notice Callback for proposals.\n * @param identifier price identifier being requested.\n * @param timestamp timestamp of the price being requested.\n * @param ancillaryData ancillary data of the price being requested.\n */\n function priceProposed(bytes32 identifier, uint256 timestamp, bytes memory ancillaryData) external;\n\n /**\n * @notice Callback for disputes.\n * @param identifier price identifier being requested.\n * @param timestamp timestamp of the price being requested.\n * @param ancillaryData ancillary data of the price being requested.\n * @param refund refund received in the case that refundOnDispute was enabled.\n */\n function priceDisputed(bytes32 identifier, uint256 timestamp, bytes memory ancillaryData, uint256 refund)\n external;\n\n /**\n * @notice Callback for settlement.\n * @param identifier price identifier being requested.\n * @param timestamp timestamp of the price being requested.\n * @param ancillaryData ancillary data of the price being requested.\n * @param price price that was resolved by the escalation process.\n */\n function priceSettled(bytes32 identifier, uint256 timestamp, bytes memory ancillaryData, int256 price) external;\n}\n\n/**\n * @title Optimistic Oracle.\n * @notice Pre-DVM escalation contract that allows faster settlement.\n * @custom:security-contact bugs@umaproject.org\n */\ncontract OptimisticOracleV2 is\n OptimisticOracleV2Interface,\n UUPSUpgradeable,\n AccessControlDefaultAdminRulesUpgradeable,\n LockableUpgradeable\n{\n using SafeERC20 for IERC20;\n using AddressLegacy for address;\n\n bytes32 public constant UPGRADE_ADMIN_ROLE = DEFAULT_ADMIN_ROLE;\n\n // Finder to provide addresses for DVM contracts.\n FinderInterface public override finder;\n\n // Default liveness value for all price requests.\n uint256 public override defaultLiveness;\n\n // This is effectively the extra ancillary data to add \",ooRequester:0000000000000000000000000000000000000000\".\n uint256 private constant MAX_ADDED_ANCILLARY_DATA = 53;\n uint256 public constant OO_ANCILLARY_DATA_LIMIT = ancillaryBytesLimit - MAX_ADDED_ANCILLARY_DATA;\n int256 public constant TOO_EARLY_RESPONSE = type(int256).min;\n\n /// @custom:oz-upgrades-unsafe-allow constructor\n constructor() {\n _disableInitializers();\n }\n\n /**\n * @notice Initializer (external).\n * @dev Used only for standalone deployments of the OptimisticOracleV2Upgradeable contract.\n * @param _liveness default liveness applied to each price request.\n * @param _finderAddress finder to use to get addresses of DVM contracts.\n */\n function initialize(uint256 _liveness, address _finderAddress, address upgradeAdmin) external initializer {\n __OptimisticOracleV2_init(_liveness, _finderAddress, upgradeAdmin);\n }\n\n /**\n * @notice Initializer (internal, main entry point).\n * @param _liveness default liveness applied to each price request.\n * @param _finderAddress finder to use to get addresses of DVM contracts.\n */\n function __OptimisticOracleV2_init(uint256 _liveness, address _finderAddress, address upgradeAdmin)\n internal\n onlyInitializing\n {\n __UUPSUpgradeable_init();\n __AccessControlDefaultAdminRules_init(3 days, upgradeAdmin); // Initialize `DEFAULT_ADMIN_ROLE`, and by extension, `UPGRADE_ADMIN_ROLE`\n __LockableUpgradeable_init();\n __OptimisticOracleV2_init_unchained(_liveness, _finderAddress);\n }\n\n /**\n * @notice Initializer (internal, unchained).\n * @param _liveness default liveness applied to each price request.\n * @param _finderAddress finder to use to get addresses of DVM contracts.\n */\n function __OptimisticOracleV2_init_unchained(uint256 _liveness, address _finderAddress) internal onlyInitializing {\n finder = FinderInterface(_finderAddress);\n _validateLiveness(_liveness);\n defaultLiveness = _liveness;\n }\n\n /**\n * @dev Throws if called by any account other than the upgrade admin.\n */\n modifier onlyUpgradeAdmin() {\n _checkRole(UPGRADE_ADMIN_ROLE);\n _;\n }\n\n /**\n * @notice Authorizes the upgrade of the contract.\n * @dev This is required for UUPSUpgradeable. Only the upgrade admin can authorize upgrades.\n */\n function _authorizeUpgrade(address) internal override onlyUpgradeAdmin {}\n\n /**\n * @notice Requests a new price.\n * @param identifier price identifier being requested.\n * @param timestamp timestamp of the price being requested.\n * @param ancillaryData ancillary data representing additional args being passed with the price request.\n * @param currency ERC20 token used for payment of rewards and fees. Must be approved for use with the DVM.\n * @param reward reward offered to a successful proposer. Will be pulled from the caller. Note: this can be 0,\n * which could make sense if the contract requests and proposes the value in the same call or\n * provides its own reward system.\n * @return totalBond default bond (final fee) + final fee that the proposer and disputer will be required to pay.\n * This can be changed with a subsequent call to setBond().\n */\n function requestPrice(\n bytes32 identifier,\n uint256 timestamp,\n bytes memory ancillaryData,\n IERC20 currency,\n uint256 reward\n ) public virtual override nonReentrant returns (uint256 totalBond) {\n require(_getState(msg.sender, identifier, timestamp, ancillaryData) == State.Invalid, RequestStateNotInvalid());\n require(_getIdentifierWhitelist().isIdentifierSupported(identifier), UnsupportedIdentifier());\n require(_getCollateralWhitelist().isOnWhitelist(address(currency)), UnsupportedCurrency());\n require(timestamp <= getCurrentTime(), TimestampInFuture());\n\n // This ensures that the ancillary data is <= the OO limit, which is lower than the DVM limit because the\n // OO adds some data before sending to the DVM.\n require(ancillaryData.length <= OO_ANCILLARY_DATA_LIMIT, AncillaryDataTooLong());\n\n uint256 finalFee = _getStore().computeFinalFee(address(currency)).rawValue;\n requests[_getId(msg.sender, identifier, timestamp, ancillaryData)] = Request({\n proposer: address(0),\n disputer: address(0),\n currency: currency,\n settled: false,\n requestSettings: RequestSettings({\n eventBased: false,\n refundOnDispute: false,\n callbackOnPriceProposed: false,\n callbackOnPriceDisputed: false,\n callbackOnPriceSettled: false,\n bond: finalFee,\n customLiveness: 0\n }),\n proposedPrice: 0,\n resolvedPrice: 0,\n expirationTime: 0,\n reward: reward,\n finalFee: finalFee\n });\n\n if (reward > 0) {\n currency.safeTransferFrom(msg.sender, address(this), reward);\n }\n\n emit RequestPrice(msg.sender, identifier, timestamp, ancillaryData, address(currency), reward, finalFee);\n\n // This function returns the initial proposal bond for this request, which can be customized by calling\n // setBond() with the same identifier and timestamp.\n return finalFee * 2;\n }\n\n /**\n * @notice Set the proposal bond associated with a price request.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @param bond custom bond amount to set.\n * @return totalBond new bond + final fee that the proposer and disputer will be required to pay. This can be\n * changed again with a subsequent call to setBond().\n */\n function setBond(bytes32 identifier, uint256 timestamp, bytes memory ancillaryData, uint256 bond)\n external\n override\n nonReentrant\n returns (uint256 totalBond)\n {\n require(\n _getState(msg.sender, identifier, timestamp, ancillaryData) == State.Requested, RequestStateNotRequested()\n );\n Request storage request = _getRequest(msg.sender, identifier, timestamp, ancillaryData);\n request.requestSettings.bond = bond;\n\n // Total bond is the final fee + the newly set bond.\n return bond + request.finalFee;\n }\n\n /**\n * @notice Sets the request to refund the reward if the proposal is disputed. This can help to \"hedge\" the caller\n * in the event of a dispute-caused delay. Note: in the event of a dispute, the winner still receives the other's\n * bond, so there is still profit to be made even if the reward is refunded.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n */\n function setRefundOnDispute(bytes32 identifier, uint256 timestamp, bytes memory ancillaryData)\n external\n override\n nonReentrant\n {\n require(\n _getState(msg.sender, identifier, timestamp, ancillaryData) == State.Requested, RequestStateNotRequested()\n );\n _getRequest(msg.sender, identifier, timestamp, ancillaryData).requestSettings.refundOnDispute = true;\n }\n\n /**\n * @notice Sets a custom liveness value for the request. Liveness is the amount of time a proposal must wait before\n * being auto-resolved.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @param customLiveness new custom liveness.\n */\n function setCustomLiveness(\n bytes32 identifier,\n uint256 timestamp,\n bytes memory ancillaryData,\n uint256 customLiveness\n ) external override nonReentrant {\n require(\n _getState(msg.sender, identifier, timestamp, ancillaryData) == State.Requested, RequestStateNotRequested()\n );\n _validateLiveness(customLiveness);\n _getRequest(msg.sender, identifier, timestamp, ancillaryData).requestSettings.customLiveness = customLiveness;\n }\n\n /**\n * @notice Sets the request to be an \"event-based\" request.\n * @dev Calling this method has a few impacts on the request:\n *\n * 1. The timestamp at which the request is evaluated is the time of the proposal, not the timestamp associated\n * with the request.\n *\n * 2. The proposer cannot propose the \"too early\" value (TOO_EARLY_RESPONSE). This is to ensure that a proposer who\n * prematurely proposes a response loses their bond.\n *\n * 3. RefundoOnDispute is automatically set, meaning disputes trigger the reward to be automatically refunded to\n * the requesting contract.\n *\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n */\n function setEventBased(bytes32 identifier, uint256 timestamp, bytes memory ancillaryData)\n external\n override\n nonReentrant\n {\n require(\n _getState(msg.sender, identifier, timestamp, ancillaryData) == State.Requested, RequestStateNotRequested()\n );\n Request storage request = _getRequest(msg.sender, identifier, timestamp, ancillaryData);\n request.requestSettings.eventBased = true;\n request.requestSettings.refundOnDispute = true;\n }\n\n /**\n * @notice Sets which callbacks should be enabled for the request.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @param callbackOnPriceProposed whether to enable the callback onPriceProposed.\n * @param callbackOnPriceDisputed whether to enable the callback onPriceDisputed.\n * @param callbackOnPriceSettled whether to enable the callback onPriceSettled.\n */\n function setCallbacks(\n bytes32 identifier,\n uint256 timestamp,\n bytes memory ancillaryData,\n bool callbackOnPriceProposed,\n bool callbackOnPriceDisputed,\n bool callbackOnPriceSettled\n ) external override nonReentrant {\n require(\n _getState(msg.sender, identifier, timestamp, ancillaryData) == State.Requested, RequestStateNotRequested()\n );\n Request storage request = _getRequest(msg.sender, identifier, timestamp, ancillaryData);\n request.requestSettings.callbackOnPriceProposed = callbackOnPriceProposed;\n request.requestSettings.callbackOnPriceDisputed = callbackOnPriceDisputed;\n request.requestSettings.callbackOnPriceSettled = callbackOnPriceSettled;\n }\n\n /**\n * @notice Proposes a price value on another address' behalf. Note: this address will receive any rewards that come\n * from this proposal. However, any bonds are pulled from the caller.\n * @param proposer address to set as the proposer.\n * @param requester sender of the initial price request.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @param proposedPrice price being proposed.\n * @return totalBond the amount that's pulled from the caller's wallet as a bond. The bond will be returned to\n * the proposer once settled if the proposal is correct.\n */\n function proposePriceFor(\n address proposer,\n address requester,\n bytes32 identifier,\n uint256 timestamp,\n bytes memory ancillaryData,\n int256 proposedPrice\n ) public virtual override nonReentrant returns (uint256 totalBond) {\n require(proposer != address(0), ProposerAddressCannotBeZero());\n require(\n _getState(requester, identifier, timestamp, ancillaryData) == State.Requested, RequestStateNotRequested()\n );\n Request storage request = _getRequest(requester, identifier, timestamp, ancillaryData);\n if (request.requestSettings.eventBased) {\n require(proposedPrice != TOO_EARLY_RESPONSE, CannotProposeTooEarly());\n }\n request.proposer = proposer;\n request.proposedPrice = proposedPrice;\n\n // If a custom liveness has been set, use it instead of the default.\n request.expirationTime = getCurrentTime()\n + (request.requestSettings.customLiveness != 0 ? request.requestSettings.customLiveness : defaultLiveness);\n\n totalBond = request.requestSettings.bond + request.finalFee;\n if (totalBond > 0) request.currency.safeTransferFrom(msg.sender, address(this), totalBond);\n\n emit ProposePrice(\n requester,\n proposer,\n identifier,\n timestamp,\n ancillaryData,\n proposedPrice,\n request.expirationTime,\n address(request.currency)\n );\n\n // End the re-entrancy guard early to allow the caller to potentially take OO-related actions inside this callback.\n _startReentrantGuardDisabled();\n // Callback.\n if (requester.isContract() && request.requestSettings.callbackOnPriceProposed) {\n OptimisticRequester(requester).priceProposed(identifier, timestamp, ancillaryData);\n }\n _endReentrantGuardDisabled();\n }\n\n /**\n * @notice Proposes a price value for an existing price request.\n * @param requester sender of the initial price request.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @param proposedPrice price being proposed.\n * @return totalBond the amount that's pulled from the proposer's wallet as a bond. The bond will be returned to\n * the proposer once settled if the proposal is correct.\n */\n function proposePrice(\n address requester,\n bytes32 identifier,\n uint256 timestamp,\n bytes memory ancillaryData,\n int256 proposedPrice\n ) external override returns (uint256 totalBond) {\n // Note: re-entrancy guard is done in the inner call.\n return proposePriceFor(msg.sender, requester, identifier, timestamp, ancillaryData, proposedPrice);\n }\n\n /**\n * @notice Disputes a price request with an active proposal on another address' behalf. Note: this address will\n * receive any rewards that come from this dispute. However, any bonds are pulled from the caller.\n * @param disputer address to set as the disputer.\n * @param requester sender of the initial price request.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @return totalBond the amount that's pulled from the caller's wallet as a bond. The bond will be returned to\n * the disputer once settled if the dispute was valid (the proposal was incorrect).\n */\n function disputePriceFor(\n address disputer,\n address requester,\n bytes32 identifier,\n uint256 timestamp,\n bytes memory ancillaryData\n ) public override nonReentrant returns (uint256 totalBond) {\n require(disputer != address(0), DisputerAddressCannotBeZero());\n require(_getState(requester, identifier, timestamp, ancillaryData) == State.Proposed, RequestStateNotProposed());\n Request storage request = _getRequest(requester, identifier, timestamp, ancillaryData);\n request.disputer = disputer;\n\n uint256 finalFee = request.finalFee;\n uint256 bond = request.requestSettings.bond;\n totalBond = bond + finalFee;\n if (totalBond > 0) {\n request.currency.safeTransferFrom(msg.sender, address(this), totalBond);\n }\n\n StoreInterface store = _getStore();\n\n // Along with the final fee, \"burn\" part of the loser's bond to ensure that a larger bond always makes it\n // proportionally more expensive to delay the resolution even if the proposer and disputer are the same\n // party.\n\n // The total fee is the burned bond and the final fee added together.\n uint256 totalFee = finalFee + _computeBurnedBond(request);\n if (totalFee > 0) {\n request.currency.safeIncreaseAllowance(address(store), totalFee);\n _getStore().payOracleFeesErc20(address(request.currency), FixedPointInterface.Unsigned(totalFee));\n }\n\n _getOracle().requestPrice(\n identifier, _getTimestampForDvmRequest(request, timestamp), _stampAncillaryData(ancillaryData, requester)\n );\n\n // Compute refund.\n uint256 refund = 0;\n if (request.reward > 0 && request.requestSettings.refundOnDispute) {\n refund = request.reward;\n request.reward = 0;\n request.currency.safeTransfer(requester, refund);\n }\n\n emit DisputePrice(\n requester, request.proposer, disputer, identifier, timestamp, ancillaryData, request.proposedPrice\n );\n\n // End the re-entrancy guard early to allow the caller to potentially re-request inside this callback.\n _startReentrantGuardDisabled();\n // Callback.\n if (requester.isContract() && request.requestSettings.callbackOnPriceDisputed) {\n OptimisticRequester(requester).priceDisputed(identifier, timestamp, ancillaryData, refund);\n }\n _endReentrantGuardDisabled();\n }\n\n /**\n * @notice Disputes a price value for an existing price request with an active proposal.\n * @param requester sender of the initial price request.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @return totalBond the amount that's pulled from the disputer's wallet as a bond. The bond will be returned to\n * the disputer once settled if the dispute was valid (the proposal was incorrect).\n */\n function disputePrice(address requester, bytes32 identifier, uint256 timestamp, bytes memory ancillaryData)\n external\n override\n returns (uint256 totalBond)\n {\n // Note: re-entrancy guard is done in the inner call.\n return disputePriceFor(msg.sender, requester, identifier, timestamp, ancillaryData);\n }\n\n /**\n * @notice Retrieves a price that was previously requested by a caller. Reverts if the request is not settled\n * or settleable. Note: this method is not view so that this call may actually settle the price request if it\n * hasn't been settled.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @return resolved price.\n */\n function settleAndGetPrice(bytes32 identifier, uint256 timestamp, bytes memory ancillaryData)\n external\n override\n nonReentrant\n returns (int256)\n {\n if (_getState(msg.sender, identifier, timestamp, ancillaryData) != State.Settled) {\n _settle(msg.sender, identifier, timestamp, ancillaryData);\n }\n\n return _getRequest(msg.sender, identifier, timestamp, ancillaryData).resolvedPrice;\n }\n\n /**\n * @notice Attempts to settle an outstanding price request. Will revert if it isn't settleable.\n * @param requester sender of the initial price request.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @return payout the amount that the \"winner\" (proposer or disputer) receives on settlement. This amount includes\n * the returned bonds as well as additional rewards.\n */\n function settle(address requester, bytes32 identifier, uint256 timestamp, bytes memory ancillaryData)\n external\n override\n nonReentrant\n returns (uint256 payout)\n {\n return _settle(requester, identifier, timestamp, ancillaryData);\n }\n\n /**\n * @notice Gets the current data structure containing all information about a price request.\n * @param requester sender of the initial price request.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @return the Request data structure.\n */\n function getRequest(address requester, bytes32 identifier, uint256 timestamp, bytes memory ancillaryData)\n public\n view\n override\n nonReentrantView\n returns (Request memory)\n {\n return _getRequest(requester, identifier, timestamp, ancillaryData);\n }\n\n /**\n * @notice Computes the current state of a price request. See the State enum for more details.\n * @param requester sender of the initial price request.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @return the State.\n */\n function getState(address requester, bytes32 identifier, uint256 timestamp, bytes memory ancillaryData)\n public\n view\n override\n nonReentrantView\n returns (State)\n {\n return _getState(requester, identifier, timestamp, ancillaryData);\n }\n\n /**\n * @notice Checks if a given request has resolved, expired or been settled (i.e the optimistic oracle has a price).\n * @param requester sender of the initial price request.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @return boolean indicating true if price exists and false if not.\n */\n function hasPrice(address requester, bytes32 identifier, uint256 timestamp, bytes memory ancillaryData)\n public\n view\n override\n nonReentrantView\n returns (bool)\n {\n State state = _getState(requester, identifier, timestamp, ancillaryData);\n return state == State.Settled || state == State.Resolved || state == State.Expired;\n }\n\n /**\n * @notice Generates stamped ancillary data in the format that it would be used in the case of a price dispute.\n * @param ancillaryData ancillary data of the price being requested.\n * @param requester sender of the initial price request.\n * @return the stamped ancillary bytes.\n */\n function stampAncillaryData(bytes memory ancillaryData, address requester)\n public\n pure\n override\n returns (bytes memory)\n {\n return _stampAncillaryData(ancillaryData, requester);\n }\n\n function _getId(address requester, bytes32 identifier, uint256 timestamp, bytes memory ancillaryData)\n private\n pure\n returns (bytes32)\n {\n return keccak256(abi.encodePacked(requester, identifier, timestamp, ancillaryData));\n }\n\n function _settle(address requester, bytes32 identifier, uint256 timestamp, bytes memory ancillaryData)\n private\n returns (uint256 payout)\n {\n State state = _getState(requester, identifier, timestamp, ancillaryData);\n\n // Set it to settled so this function can never be entered again.\n Request storage request = _getRequest(requester, identifier, timestamp, ancillaryData);\n request.settled = true;\n\n if (state == State.Expired) {\n // In the expiry case, just pay back the proposer's bond and final fee along with the reward.\n request.resolvedPrice = request.proposedPrice;\n payout = request.requestSettings.bond + request.finalFee + request.reward;\n request.currency.safeTransfer(request.proposer, payout);\n } else if (state == State.Resolved) {\n // In the Resolved case, pay either the disputer or the proposer the entire payout (+ bond and reward).\n request.resolvedPrice = _getOracle().getPrice(\n identifier,\n _getTimestampForDvmRequest(request, timestamp),\n _stampAncillaryData(ancillaryData, requester)\n );\n bool disputeSuccess = request.resolvedPrice != request.proposedPrice;\n uint256 bond = request.requestSettings.bond;\n\n // Unburned portion of the loser's bond = 1 - burned bond.\n uint256 unburnedBond = bond - _computeBurnedBond(request);\n\n // Winner gets:\n // - Their bond back.\n // - The unburned portion of the loser's bond.\n // - Their final fee back.\n // - The request reward (if not already refunded -- if refunded, it will be set to 0).\n payout = bond + unburnedBond + request.finalFee + request.reward;\n request.currency.safeTransfer(disputeSuccess ? request.disputer : request.proposer, payout);\n } else {\n revert RequestNotSettleable();\n }\n\n emit Settle(\n requester,\n request.proposer,\n request.disputer,\n identifier,\n timestamp,\n ancillaryData,\n request.resolvedPrice,\n payout\n );\n\n // Temporarily disable the re-entrancy guard early to allow the caller to take an OO-related action inside this callback.\n _startReentrantGuardDisabled();\n // Callback.\n if (requester.isContract() && request.requestSettings.callbackOnPriceSettled) {\n OptimisticRequester(requester).priceSettled(identifier, timestamp, ancillaryData, request.resolvedPrice);\n }\n _endReentrantGuardDisabled();\n }\n\n function _getRequest(address requester, bytes32 identifier, uint256 timestamp, bytes memory ancillaryData)\n internal\n view\n returns (Request storage)\n {\n return requests[_getId(requester, identifier, timestamp, ancillaryData)];\n }\n\n function _computeBurnedBond(Request storage request) private view returns (uint256) {\n // burnedBond = floor(bond / 2)\n return request.requestSettings.bond / 2;\n }\n\n function _validateLiveness(uint256 _liveness) internal view virtual {\n require(_liveness < 5200 weeks, LivenessTooLarge());\n require(_liveness > 0, LivenessCannotBeZero());\n }\n\n function _getState(address requester, bytes32 identifier, uint256 timestamp, bytes memory ancillaryData)\n private\n view\n returns (State)\n {\n Request storage request = _getRequest(requester, identifier, timestamp, ancillaryData);\n\n if (address(request.currency) == address(0)) return State.Invalid;\n\n if (request.proposer == address(0)) return State.Requested;\n\n if (request.settled) return State.Settled;\n\n if (request.disputer == address(0)) {\n return request.expirationTime <= getCurrentTime() ? State.Expired : State.Proposed;\n }\n\n return _getOracle().hasPrice(\n identifier, _getTimestampForDvmRequest(request, timestamp), _stampAncillaryData(ancillaryData, requester)\n ) ? State.Resolved : State.Disputed;\n }\n\n function _getOracle() private view returns (OracleAncillaryInterface) {\n return OracleAncillaryInterface(finder.getImplementationAddress(OracleInterfaces.Oracle));\n }\n\n function _getCollateralWhitelist() internal view returns (AddressWhitelist) {\n return AddressWhitelist(finder.getImplementationAddress(OracleInterfaces.CollateralWhitelist));\n }\n\n function _getStore() private view returns (StoreInterface) {\n return StoreInterface(finder.getImplementationAddress(OracleInterfaces.Store));\n }\n\n function _getIdentifierWhitelist() private view returns (IdentifierWhitelistInterface) {\n return IdentifierWhitelistInterface(finder.getImplementationAddress(OracleInterfaces.IdentifierWhitelist));\n }\n\n function _getTimestampForDvmRequest(Request storage request, uint256 requestTimestamp)\n private\n view\n returns (uint256)\n {\n if (request.requestSettings.eventBased) {\n uint256 liveness =\n request.requestSettings.customLiveness != 0 ? request.requestSettings.customLiveness : defaultLiveness;\n return request.expirationTime - liveness;\n } else {\n return requestTimestamp;\n }\n }\n\n /**\n * @dev We don't handle specifically the case where `ancillaryData` is not already readily translateable in utf8.\n * For those cases, we assume that the client will be able to strip out the utf8-translateable part of the\n * ancillary data that this contract stamps.\n */\n function _stampAncillaryData(bytes memory ancillaryData, address requester) private pure returns (bytes memory) {\n // Since this contract will be the one to formally submit DVM price requests, its useful for voters to know who\n // the original requester was.\n return AncillaryData.appendKeyValueAddress(ancillaryData, \"ooRequester\", requester);\n }\n\n function getCurrentTime() public view override returns (uint256) {\n return block.timestamp;\n }\n\n /**\n * @dev Reserve storage slots for future versions of this base contract to add state variables without affecting the\n * storage layout of child contracts. Decrement the size of __gap whenever state variables are added. This is at the\n * bottom of contract to make sure its always at the end of storage.\n * See https://docs.openzeppelin.com/upgrades-plugins/writing-upgradeable#storage-gaps\n */\n uint256[998] private __gap;\n}\n"},"src/optimistic-oracle-v2/interfaces/ManagedOptimisticOracleV2Interface.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity ^0.8.4;\n\nimport {IERC20} from \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\n\n/**\n * @title Events and Errors for the ManagedOptimisticOracleV2 contract.\n * @notice Contains events for request manager management, bond and liveness updates, and whitelists,\n * and custom errors for various conditions.\n */\nabstract contract ManagedOptimisticOracleV2Interface {\n /// @notice Thrown when a requester is not on the requester whitelist.\n error RequesterNotWhitelisted();\n /// @notice Thrown when a zero value bond is set.\n error ZeroBondNotAllowed();\n /// @notice Thrown when a bond is set lower than the minimum allowed bond.\n error BondBelowMinimumBond();\n /// @notice Thrown when a bond is set higher than the maximum allowed bond.\n error BondExceedsMaximumBond();\n /// @notice Thrown when a liveness is set lower than the minimum allowed liveness.\n error LivenessTooLow();\n /// @notice Thrown when a proposer is not on the effective proposer whitelist.\n error ProposerNotWhitelisted();\n /// @notice Thrown when the message sender is not on the effective proposer whitelist for a proposal.\n error SenderNotWhitelisted();\n /// @notice Thrown when a whitelist does not support the required interface.\n error UnsupportedWhitelistInterface();\n /// @notice Thrown when minimum bond is higher than maximum bond.\n error MinimumBondAboveMaximumBond();\n\n event AllowedBondRangeUpdated(IERC20 indexed currency, uint256 newMinimumBond, uint256 newMaximumBond);\n event MinimumLivenessUpdated(uint256 newMinimumLiveness);\n event DefaultProposerWhitelistUpdated(address indexed newWhitelist);\n event RequesterWhitelistUpdated(address indexed newWhitelist);\n event CustomBondSet(\n bytes32 indexed managedRequestId,\n address requester,\n bytes32 indexed identifier,\n bytes ancillaryData,\n IERC20 indexed currency,\n uint256 bond\n );\n event CustomLivenessSet(\n bytes32 indexed managedRequestId,\n address indexed requester,\n bytes32 indexed identifier,\n bytes ancillaryData,\n uint256 customLiveness\n );\n event CustomProposerWhitelistSet(\n bytes32 indexed managedRequestId,\n address requester,\n bytes32 indexed identifier,\n bytes ancillaryData,\n address indexed newWhitelist\n );\n}\n"},"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\n// Ported from https://github.com/UMAprotocol/protocol/blob/%40uma/core%402.62.0/packages/core/contracts/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol\n// to be compatible for use in upgradeable contracts and OpenZeppelin v5.x. This also uses custom errors, named imports\n// and linting from Foundry.\n\npragma solidity ^0.8.4;\n\nimport {IERC20} from \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport {FinderInterface} from \"@uma/contracts/data-verification-mechanism/interfaces/FinderInterface.sol\";\n\n/**\n * @title Financial contract facing Oracle interface.\n * @dev Interface used by financial contracts to interact with the Oracle. Voters will use a different interface.\n */\nabstract contract OptimisticOracleV2Interface {\n /// @notice Thrown when a request is not in the expected Invalid state.\n error RequestStateNotInvalid();\n /// @notice Thrown when a request is not in the expected Requested state.\n error RequestStateNotRequested();\n /// @notice Thrown when a request is not in the expected Proposed state.\n error RequestStateNotProposed();\n /// @notice Thrown when an identifier is not supported by the identifier whitelist.\n error UnsupportedIdentifier();\n /// @notice Thrown when a currency is not supported by the collateral whitelist.\n error UnsupportedCurrency();\n /// @notice Thrown when a timestamp is in the future.\n error TimestampInFuture();\n /// @notice Thrown when ancillary data exceeds the allowed limit.\n error AncillaryDataTooLong();\n /// @notice Thrown when a proposer address is zero.\n error ProposerAddressCannotBeZero();\n /// @notice Thrown when trying to propose the \"too early\" response for event-based requests.\n error CannotProposeTooEarly();\n /// @notice Thrown when a disputer address is zero.\n error DisputerAddressCannotBeZero();\n /// @notice Thrown when liveness period is too large.\n error LivenessTooLarge();\n /// @notice Thrown when liveness period cannot be zero.\n error LivenessCannotBeZero();\n /// @notice Thrown when trying to settle a request that is not settleable.\n error RequestNotSettleable();\n\n event RequestPrice(\n address indexed requester,\n bytes32 identifier,\n uint256 timestamp,\n bytes ancillaryData,\n address currency,\n uint256 reward,\n uint256 finalFee\n );\n event ProposePrice(\n address indexed requester,\n address indexed proposer,\n bytes32 identifier,\n uint256 timestamp,\n bytes ancillaryData,\n int256 proposedPrice,\n uint256 expirationTimestamp,\n address currency\n );\n event DisputePrice(\n address indexed requester,\n address indexed proposer,\n address indexed disputer,\n bytes32 identifier,\n uint256 timestamp,\n bytes ancillaryData,\n int256 proposedPrice\n );\n event Settle(\n address indexed requester,\n address indexed proposer,\n address indexed disputer,\n bytes32 identifier,\n uint256 timestamp,\n bytes ancillaryData,\n int256 price,\n uint256 payout\n );\n // Struct representing the state of a price request.\n\n enum State {\n Invalid, // Never requested.\n Requested, // Requested, no other actions taken.\n Proposed, // Proposed, but not expired or disputed yet.\n Expired, // Proposed, not disputed, past liveness.\n Disputed, // Disputed, but no DVM price returned yet.\n Resolved, // Disputed and DVM price is available.\n Settled // Final price has been set in the contract (can get here from Expired or Resolved).\n\n }\n\n struct RequestSettings {\n bool eventBased; // True if the request is set to be event-based.\n bool refundOnDispute; // True if the requester should be refunded their reward on dispute.\n bool callbackOnPriceProposed; // True if callbackOnPriceProposed callback is required.\n bool callbackOnPriceDisputed; // True if callbackOnPriceDisputed callback is required.\n bool callbackOnPriceSettled; // True if callbackOnPriceSettled callback is required.\n uint256 bond; // Bond that the proposer and disputer must pay on top of the final fee.\n uint256 customLiveness; // Custom liveness value set by the requester.\n }\n\n // Struct representing a price request.\n struct Request {\n address proposer; // Address of the proposer.\n address disputer; // Address of the disputer.\n IERC20 currency; // ERC20 token used to pay rewards and fees.\n bool settled; // True if the request is settled.\n RequestSettings requestSettings; // Custom settings associated with a request.\n int256 proposedPrice; // Price that the proposer submitted.\n int256 resolvedPrice; // Price resolved once the request is settled.\n uint256 expirationTime; // Time at which the request auto-settles without a dispute.\n uint256 reward; // Amount of the currency to pay to the proposer on settlement.\n uint256 finalFee; // Final fee to pay to the Store upon request to the DVM.\n }\n\n // This value must be <= the Voting contract's `ancillaryBytesLimit` value otherwise it is possible\n // that a price can be requested to this contract successfully, but cannot be disputed because the DVM refuses\n // to accept a price request made with ancillary data length over a certain size.\n uint256 public constant ancillaryBytesLimit = 8192;\n\n function defaultLiveness() external view virtual returns (uint256);\n\n function finder() external view virtual returns (FinderInterface);\n\n function getCurrentTime() external view virtual returns (uint256);\n\n // Note: this is required so that typechain generates a return value with named fields.\n mapping(bytes32 => Request) public requests;\n\n /**\n * @notice Requests a new price.\n * @param identifier price identifier being requested.\n * @param timestamp timestamp of the price being requested.\n * @param ancillaryData ancillary data representing additional args being passed with the price request.\n * @param currency ERC20 token used for payment of rewards and fees. Must be approved for use with the DVM.\n * @param reward reward offered to a successful proposer. Will be pulled from the caller. Note: this can be 0,\n * which could make sense if the contract requests and proposes the value in the same call or\n * provides its own reward system.\n * @return totalBond default bond (final fee) + final fee that the proposer and disputer will be required to pay.\n * This can be changed with a subsequent call to setBond().\n */\n function requestPrice(\n bytes32 identifier,\n uint256 timestamp,\n bytes memory ancillaryData,\n IERC20 currency,\n uint256 reward\n ) external virtual returns (uint256 totalBond);\n\n /**\n * @notice Set the proposal bond associated with a price request.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @param bond custom bond amount to set.\n * @return totalBond new bond + final fee that the proposer and disputer will be required to pay. This can be\n * changed again with a subsequent call to setBond().\n */\n function setBond(bytes32 identifier, uint256 timestamp, bytes memory ancillaryData, uint256 bond)\n external\n virtual\n returns (uint256 totalBond);\n\n /**\n * @notice Sets the request to refund the reward if the proposal is disputed. This can help to \"hedge\" the caller\n * in the event of a dispute-caused delay. Note: in the event of a dispute, the winner still receives the other's\n * bond, so there is still profit to be made even if the reward is refunded.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n */\n function setRefundOnDispute(bytes32 identifier, uint256 timestamp, bytes memory ancillaryData) external virtual;\n\n /**\n * @notice Sets a custom liveness value for the request. Liveness is the amount of time a proposal must wait before\n * being auto-resolved.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @param customLiveness new custom liveness.\n */\n function setCustomLiveness(\n bytes32 identifier,\n uint256 timestamp,\n bytes memory ancillaryData,\n uint256 customLiveness\n ) external virtual;\n\n /**\n * @notice Sets the request to be an \"event-based\" request.\n * @dev Calling this method has a few impacts on the request:\n *\n * 1. The timestamp at which the request is evaluated is the time of the proposal, not the timestamp associated\n * with the request.\n *\n * 2. The proposer cannot propose the \"too early\" value (TOO_EARLY_RESPONSE). This is to ensure that a proposer who\n * prematurely proposes a response loses their bond.\n *\n * 3. RefundoOnDispute is automatically set, meaning disputes trigger the reward to be automatically refunded to\n * the requesting contract.\n *\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n */\n function setEventBased(bytes32 identifier, uint256 timestamp, bytes memory ancillaryData) external virtual;\n\n /**\n * @notice Sets which callbacks should be enabled for the request.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @param callbackOnPriceProposed whether to enable the callback onPriceProposed.\n * @param callbackOnPriceDisputed whether to enable the callback onPriceDisputed.\n * @param callbackOnPriceSettled whether to enable the callback onPriceSettled.\n */\n function setCallbacks(\n bytes32 identifier,\n uint256 timestamp,\n bytes memory ancillaryData,\n bool callbackOnPriceProposed,\n bool callbackOnPriceDisputed,\n bool callbackOnPriceSettled\n ) external virtual;\n\n /**\n * @notice Proposes a price value on another address' behalf. Note: this address will receive any rewards that come\n * from this proposal. However, any bonds are pulled from the caller.\n * @param proposer address to set as the proposer.\n * @param requester sender of the initial price request.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @param proposedPrice price being proposed.\n * @return totalBond the amount that's pulled from the caller's wallet as a bond. The bond will be returned to\n * the proposer once settled if the proposal is correct.\n */\n function proposePriceFor(\n address proposer,\n address requester,\n bytes32 identifier,\n uint256 timestamp,\n bytes memory ancillaryData,\n int256 proposedPrice\n ) public virtual returns (uint256 totalBond);\n\n /**\n * @notice Proposes a price value for an existing price request.\n * @param requester sender of the initial price request.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @param proposedPrice price being proposed.\n * @return totalBond the amount that's pulled from the proposer's wallet as a bond. The bond will be returned to\n * the proposer once settled if the proposal is correct.\n */\n function proposePrice(\n address requester,\n bytes32 identifier,\n uint256 timestamp,\n bytes memory ancillaryData,\n int256 proposedPrice\n ) external virtual returns (uint256 totalBond);\n\n /**\n * @notice Disputes a price request with an active proposal on another address' behalf. Note: this address will\n * receive any rewards that come from this dispute. However, any bonds are pulled from the caller.\n * @param disputer address to set as the disputer.\n * @param requester sender of the initial price request.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @return totalBond the amount that's pulled from the caller's wallet as a bond. The bond will be returned to\n * the disputer once settled if the dispute was value (the proposal was incorrect).\n */\n function disputePriceFor(\n address disputer,\n address requester,\n bytes32 identifier,\n uint256 timestamp,\n bytes memory ancillaryData\n ) public virtual returns (uint256 totalBond);\n\n /**\n * @notice Disputes a price value for an existing price request with an active proposal.\n * @param requester sender of the initial price request.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @return totalBond the amount that's pulled from the disputer's wallet as a bond. The bond will be returned to\n * the disputer once settled if the dispute was valid (the proposal was incorrect).\n */\n function disputePrice(address requester, bytes32 identifier, uint256 timestamp, bytes memory ancillaryData)\n external\n virtual\n returns (uint256 totalBond);\n\n /**\n * @notice Retrieves a price that was previously requested by a caller. Reverts if the request is not settled\n * or settleable. Note: this method is not view so that this call may actually settle the price request if it\n * hasn't been settled.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @return resolved price.\n */\n function settleAndGetPrice(bytes32 identifier, uint256 timestamp, bytes memory ancillaryData)\n external\n virtual\n returns (int256);\n\n /**\n * @notice Attempts to settle an outstanding price request. Will revert if it isn't settleable.\n * @param requester sender of the initial price request.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @return payout the amount that the \"winner\" (proposer or disputer) receives on settlement. This amount includes\n * the returned bonds as well as additional rewards.\n */\n function settle(address requester, bytes32 identifier, uint256 timestamp, bytes memory ancillaryData)\n external\n virtual\n returns (uint256 payout);\n\n /**\n * @notice Gets the current data structure containing all information about a price request.\n * @param requester sender of the initial price request.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @return the Request data structure.\n */\n function getRequest(address requester, bytes32 identifier, uint256 timestamp, bytes memory ancillaryData)\n public\n view\n virtual\n returns (Request memory);\n\n /**\n * @notice Returns the state of a price request.\n * @param requester sender of the initial price request.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @return the State enum value.\n */\n function getState(address requester, bytes32 identifier, uint256 timestamp, bytes memory ancillaryData)\n public\n view\n virtual\n returns (State);\n\n /**\n * @notice Checks if a given request has resolved or been settled (i.e the optimistic oracle has a price).\n * @param requester sender of the initial price request.\n * @param identifier price identifier to identify the existing request.\n * @param timestamp timestamp to identify the existing request.\n * @param ancillaryData ancillary data of the price being requested.\n * @return true if price has resolved or settled, false otherwise.\n */\n function hasPrice(address requester, bytes32 identifier, uint256 timestamp, bytes memory ancillaryData)\n public\n view\n virtual\n returns (bool);\n\n function stampAncillaryData(bytes memory ancillaryData, address requester)\n public\n view\n virtual\n returns (bytes memory);\n\n /**\n * @dev Reserve storage slots for future versions of this base contract to add state variables without affecting the\n * storage layout of child contracts. Decrement the size of __gap whenever state variables are added. This is at the\n * bottom of contract to make sure its always at the end of storage.\n * See https://docs.openzeppelin.com/upgrades-plugins/writing-upgradeable#storage-gaps\n */\n uint256[49] private __gap;\n}\n"},"test/ManagedOptimisticOracleV2.t.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity ^0.8.27;\n\nimport {Test} from \"forge-std/Test.sol\";\n\nimport {ManagedOptimisticOracleV2} from \"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol\";\nimport {ManagedOptimisticOracleV2Interface} from\n \"src/optimistic-oracle-v2/interfaces/ManagedOptimisticOracleV2Interface.sol\";\nimport {OptimisticOracleV2Interface} from \"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol\";\n\nimport {OracleInterfaces} from \"@uma/contracts/data-verification-mechanism/implementation/Constants.sol\";\nimport {IdentifierWhitelistInterface} from\n \"@uma/contracts/data-verification-mechanism/interfaces/IdentifierWhitelistInterface.sol\";\nimport {FinderInterface} from \"@uma/contracts/data-verification-mechanism/interfaces/FinderInterface.sol\";\n\nimport {AddressWhitelist} from \"src/common/implementation/AddressWhitelist.sol\";\nimport {DisabledAddressWhitelist} from \"src/common/implementation/DisabledAddressWhitelist.sol\";\nimport {AddressWhitelistInterface} from \"src/common/interfaces/AddressWhitelistInterface.sol\";\nimport {StoreInterface} from \"src/data-verification-mechanism/interfaces/StoreInterface.sol\";\nimport {FixedPointInterface} from \"src/common/interfaces/FixedPointInterface.sol\";\n\nimport {IERC20} from \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport {ERC20Mock} from \"@openzeppelin/contracts/mocks/token/ERC20Mock.sol\";\nimport {IAccessControl} from \"@openzeppelin/contracts/access/IAccessControl.sol\";\nimport {ERC1967Proxy} from \"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\";\n\ncontract MockStore is StoreInterface {\n mapping(address => uint256) public finalFeeByCurrency;\n\n function setFinalFee(address currency, uint256 amount) external {\n finalFeeByCurrency[currency] = amount;\n }\n\n function payOracleFees() external payable {}\n\n function payOracleFeesErc20(address, /*erc20Address*/ FixedPointInterface.Unsigned calldata /*amount*/ ) external {}\n\n function computeRegularFee(uint256, uint256, FixedPointInterface.Unsigned calldata)\n external\n pure\n returns (FixedPointInterface.Unsigned memory regularFee, FixedPointInterface.Unsigned memory latePenalty)\n {\n regularFee = FixedPointInterface.Unsigned({rawValue: 0});\n latePenalty = FixedPointInterface.Unsigned({rawValue: 0});\n }\n\n function computeFinalFee(address currency) external view returns (FixedPointInterface.Unsigned memory) {\n return FixedPointInterface.Unsigned({rawValue: finalFeeByCurrency[currency]});\n }\n}\n\ncontract MockIdentifierWhitelist is IdentifierWhitelistInterface {\n mapping(bytes32 => bool) public supported;\n\n function addSupportedIdentifier(bytes32 identifier) external override {\n supported[identifier] = true;\n }\n\n function removeSupportedIdentifier(bytes32 identifier) external override {\n supported[identifier] = false;\n }\n\n function isIdentifierSupported(bytes32 identifier) external view override returns (bool) {\n return supported[identifier];\n }\n}\n\ncontract MockFinder is FinderInterface {\n mapping(bytes32 => address) public interfacesImplemented;\n\n function changeImplementationAddress(bytes32 interfaceName, address implementationAddress) external override {\n interfacesImplemented[interfaceName] = implementationAddress;\n }\n\n function getImplementationAddress(bytes32 interfaceName) external view override returns (address) {\n address implementationAddress = interfacesImplemented[interfaceName];\n require(implementationAddress != address(0), \"Implementation not found\");\n return implementationAddress;\n }\n}\n\ncontract ManagedOptimisticOracleV2Test is Test {\n // Actors (assigned via makeAddr in setUp for clarity and determinism)\n address internal configAdmin;\n address internal upgradeAdmin;\n address internal requestManager;\n address internal requester;\n address internal nonRequester;\n address internal proposer;\n address internal otherProposer;\n address internal sender;\n address internal otherSender;\n\n // Core contracts\n ManagedOptimisticOracleV2 internal moo;\n FinderInterface internal finder;\n AddressWhitelist internal collateralWhitelist;\n AddressWhitelist internal defaultProposerWhitelist;\n AddressWhitelist internal requesterWhitelist;\n DisabledAddressWhitelist internal disabledWhitelist;\n MockIdentifierWhitelist internal idWhitelist;\n MockStore internal store;\n ERC20Mock internal currency;\n ERC20Mock internal otherCurrency;\n\n // Common constants\n bytes32 internal constant IDENTIFIER = keccak256(\"PRICE_ID\");\n bytes internal constant ANCILLARY = bytes(\":memo: test\");\n\n function setUp() public {\n // Addresses\n configAdmin = makeAddr(\"configAdmin\");\n upgradeAdmin = makeAddr(\"upgradeAdmin\");\n requestManager = makeAddr(\"requestManager\");\n requester = makeAddr(\"requester\");\n nonRequester = makeAddr(\"nonRequester\");\n proposer = makeAddr(\"proposer\");\n otherProposer = makeAddr(\"otherProposer\");\n sender = makeAddr(\"sender\");\n otherSender = makeAddr(\"otherSender\");\n vm.label(configAdmin, \"CONFIG_ADMIN\");\n vm.label(upgradeAdmin, \"UPGRADE_ADMIN\");\n vm.label(requestManager, \"REQUEST_MANAGER\");\n vm.label(requester, \"REQUESTER\");\n vm.label(nonRequester, \"NON_REQUESTER\");\n vm.label(proposer, \"PROPOSER\");\n vm.label(otherProposer, \"OTHER_PROPOSER\");\n vm.label(sender, \"SENDER\");\n vm.label(otherSender, \"OTHER_SENDER\");\n\n // Deploy infra and register in Finder\n finder = new MockFinder();\n\n collateralWhitelist = new AddressWhitelist();\n defaultProposerWhitelist = new AddressWhitelist();\n requesterWhitelist = new AddressWhitelist();\n disabledWhitelist = new DisabledAddressWhitelist();\n idWhitelist = new MockIdentifierWhitelist();\n store = new MockStore();\n\n // Tokens\n currency = new ERC20Mock();\n otherCurrency = new ERC20Mock();\n\n // Collateral whitelist: allow `currency`, disallow `otherCurrency` initially\n collateralWhitelist.addToWhitelist(address(currency));\n\n // Identifier whitelist\n idWhitelist.addSupportedIdentifier(IDENTIFIER);\n\n // Register in Finder\n finder.changeImplementationAddress(OracleInterfaces.CollateralWhitelist, address(collateralWhitelist));\n finder.changeImplementationAddress(OracleInterfaces.IdentifierWhitelist, address(idWhitelist));\n finder.changeImplementationAddress(OracleInterfaces.Store, address(store));\n\n // Set a final fee for currency\n store.setFinalFee(address(currency), 10 ether);\n\n // Proposer whitelist and Requester whitelist initial setup\n defaultProposerWhitelist.addToWhitelist(proposer);\n defaultProposerWhitelist.addToWhitelist(sender);\n requesterWhitelist.addToWhitelist(requester);\n\n // Deploy MOOv2 implementation and initialize behind proxy\n ManagedOptimisticOracleV2 impl = new ManagedOptimisticOracleV2();\n\n ManagedOptimisticOracleV2.CurrencyBondRange[] memory ranges =\n new ManagedOptimisticOracleV2.CurrencyBondRange[](1);\n ranges[0] = ManagedOptimisticOracleV2.CurrencyBondRange({\n currency: IERC20(address(currency)),\n range: ManagedOptimisticOracleV2.BondRange({minimumBond: uint128(1 ether), maximumBond: uint128(1_000 ether)})\n });\n\n bytes memory initData = abi.encodeWithSelector(\n ManagedOptimisticOracleV2.initialize.selector,\n 2 days,\n address(finder),\n address(defaultProposerWhitelist),\n address(requesterWhitelist),\n ranges,\n 1 hours,\n configAdmin,\n upgradeAdmin\n );\n ERC1967Proxy proxy = new ERC1967Proxy(address(impl), initData);\n moo = ManagedOptimisticOracleV2(address(proxy));\n\n // Grant request manager\n vm.startPrank(configAdmin);\n moo.addRequestManager(requestManager);\n vm.stopPrank();\n }\n\n function _makeRequest(address _requester, uint256 _timestamp, uint256 reward)\n internal\n returns (uint256 totalBond)\n {\n vm.prank(_requester);\n currency.mint(_requester, reward);\n vm.prank(_requester);\n currency.approve(address(moo), type(uint256).max);\n vm.prank(_requester);\n return moo.requestPrice(IDENTIFIER, _timestamp, ANCILLARY, IERC20(address(currency)), reward);\n }\n\n function _proposeFor(address _msgSender, address _proposer, address _requester, uint256 _timestamp, int256 _price)\n internal\n returns (uint256)\n {\n // Give and approve funds to msg.sender to cover totalBond\n vm.prank(_msgSender);\n currency.mint(_msgSender, 10_000 ether);\n vm.prank(_msgSender);\n currency.approve(address(moo), type(uint256).max);\n vm.prank(_msgSender);\n return moo.proposePriceFor(_proposer, _requester, IDENTIFIER, _timestamp, ANCILLARY, _price);\n }\n\n function _prepareFunds(address _msgSender) internal {\n vm.prank(_msgSender);\n currency.mint(_msgSender, 10_000 ether);\n vm.prank(_msgSender);\n currency.approve(address(moo), type(uint256).max);\n }\n\n // -------------------- Initialization & Roles --------------------\n\n function testInitializeSetsState() external {\n // default proposer whitelist\n (address[] memory list, bool enabled) =\n moo.getProposerWhitelistWithEnabledStatus(requester, IDENTIFIER, ANCILLARY);\n assertTrue(enabled);\n assertEq(list.length, 2);\n\n // requester whitelist enforced\n vm.expectRevert(ManagedOptimisticOracleV2Interface.RequesterNotWhitelisted.selector);\n moo.requestPrice(IDENTIFIER, block.timestamp, ANCILLARY, IERC20(address(currency)), 0);\n\n // role admin configuration\n bytes32 CONFIG_ADMIN_ROLE = moo.CONFIG_ADMIN_ROLE();\n bytes32 REQUEST_MANAGER_ROLE = moo.REQUEST_MANAGER_ROLE();\n assertTrue(moo.hasRole(CONFIG_ADMIN_ROLE, configAdmin));\n // request manager role uses config admin as its admin\n assertEq(moo.getRoleAdmin(REQUEST_MANAGER_ROLE), CONFIG_ADMIN_ROLE);\n }\n\n function testOnlyConfigAdminSetters() external {\n // setAllowedBondRange as non-admin -> revert\n vm.expectRevert(\n abi.encodeWithSelector(\n IAccessControl.AccessControlUnauthorizedAccount.selector, address(this), moo.CONFIG_ADMIN_ROLE()\n )\n );\n moo.setAllowedBondRange(IERC20(address(currency)), ManagedOptimisticOracleV2.BondRange(1, 2));\n\n // setMinimumLiveness as non-admin -> revert\n vm.expectRevert(\n abi.encodeWithSelector(\n IAccessControl.AccessControlUnauthorizedAccount.selector, address(this), moo.CONFIG_ADMIN_ROLE()\n )\n );\n moo.setMinimumLiveness(1);\n\n // setDefaultProposerWhitelist as non-admin -> revert\n vm.expectRevert(\n abi.encodeWithSelector(\n IAccessControl.AccessControlUnauthorizedAccount.selector, address(this), moo.CONFIG_ADMIN_ROLE()\n )\n );\n moo.setDefaultProposerWhitelist(address(defaultProposerWhitelist));\n\n // setRequesterWhitelist as non-admin -> revert\n vm.expectRevert(\n abi.encodeWithSelector(\n IAccessControl.AccessControlUnauthorizedAccount.selector, address(this), moo.CONFIG_ADMIN_ROLE()\n )\n );\n moo.setRequesterWhitelist(address(requesterWhitelist));\n }\n\n function testAddAndRemoveRequestManager() external {\n bytes32 REQUEST_MANAGER_ROLE = moo.REQUEST_MANAGER_ROLE();\n\n // Non-admin cannot add manager\n address newMgr = address(0x1234);\n vm.expectRevert(\n abi.encodeWithSelector(\n IAccessControl.AccessControlUnauthorizedAccount.selector, address(this), moo.CONFIG_ADMIN_ROLE()\n )\n );\n moo.addRequestManager(newMgr);\n\n // Admin adds\n vm.startPrank(configAdmin);\n vm.expectEmit(true, false, false, true);\n emit IAccessControl.RoleGranted(REQUEST_MANAGER_ROLE, newMgr, configAdmin);\n moo.addRequestManager(newMgr);\n vm.stopPrank();\n assertTrue(moo.hasRole(REQUEST_MANAGER_ROLE, newMgr));\n\n // Admin removes\n vm.startPrank(configAdmin);\n vm.expectEmit(true, false, false, true);\n emit IAccessControl.RoleRevoked(REQUEST_MANAGER_ROLE, newMgr, configAdmin);\n moo.removeRequestManager(newMgr);\n vm.stopPrank();\n assertFalse(moo.hasRole(REQUEST_MANAGER_ROLE, newMgr));\n }\n\n // -------------------- Whitelist Management --------------------\n\n function testSetDefaultProposerWhitelistValidations() external {\n // Invalid whitelist should revert (does not support interface via ERC165)\n vm.prank(configAdmin);\n vm.expectRevert(ManagedOptimisticOracleV2Interface.UnsupportedWhitelistInterface.selector);\n moo.setDefaultProposerWhitelist(address(currency));\n\n // Valid update\n AddressWhitelist wl = new AddressWhitelist();\n vm.prank(configAdmin);\n vm.expectEmit(true, false, false, true);\n emit ManagedOptimisticOracleV2Interface.DefaultProposerWhitelistUpdated(address(wl));\n moo.setDefaultProposerWhitelist(address(wl));\n }\n\n function testSetRequesterWhitelistValidations() external {\n // Invalid whitelist should revert\n vm.prank(configAdmin);\n vm.expectRevert(ManagedOptimisticOracleV2Interface.UnsupportedWhitelistInterface.selector);\n moo.setRequesterWhitelist(address(currency));\n\n // Valid update\n AddressWhitelist wl = new AddressWhitelist();\n vm.prank(configAdmin);\n vm.expectEmit(true, false, false, true);\n emit ManagedOptimisticOracleV2Interface.RequesterWhitelistUpdated(address(wl));\n moo.setRequesterWhitelist(address(wl));\n }\n\n function testRequesterWhitelistEnforcedOnRequestPrice() external {\n // Non-whitelisted requester -> revert\n vm.expectRevert(ManagedOptimisticOracleV2Interface.RequesterNotWhitelisted.selector);\n moo.requestPrice(IDENTIFIER, block.timestamp, ANCILLARY, IERC20(address(currency)), 0);\n\n // Whitelisted requester -> ok\n uint256 totalBond = _makeRequest(requester, block.timestamp, 0);\n // finalFee is 10 ether; initial bond = finalFee*2 per base contract\n assertEq(totalBond, 20 ether);\n }\n\n function testGetProposerWhitelistWithEnabledStatus() external {\n (address[] memory list, bool enabled) =\n moo.getProposerWhitelistWithEnabledStatus(requester, IDENTIFIER, ANCILLARY);\n assertTrue(enabled);\n assertEq(list.length, 2);\n\n // Set custom disabled whitelist for the request\n vm.prank(requestManager);\n moo.requestManagerSetProposerWhitelist(requester, IDENTIFIER, ANCILLARY, address(disabledWhitelist));\n\n (list, enabled) = moo.getProposerWhitelistWithEnabledStatus(requester, IDENTIFIER, ANCILLARY);\n assertFalse(enabled);\n assertEq(list.length, 0);\n }\n\n function testGetCustomProposerWhitelist() external {\n // Not set yet -> zero address\n AddressWhitelistInterface wl = moo.getCustomProposerWhitelist(requester, IDENTIFIER, ANCILLARY);\n assertEq(address(wl), address(0));\n\n // Set -> observed\n vm.prank(requestManager);\n moo.requestManagerSetProposerWhitelist(requester, IDENTIFIER, ANCILLARY, address(defaultProposerWhitelist));\n wl = moo.getCustomProposerWhitelist(requester, IDENTIFIER, ANCILLARY);\n assertEq(address(wl), address(defaultProposerWhitelist));\n }\n\n // -------------------- Propose Access Control --------------------\n\n function testProposePriceForChecksDefaultWhitelist() external {\n uint256 t = block.timestamp;\n _makeRequest(requester, t, 0);\n\n // Valid proposer and sender in default whitelist\n uint256 totalBond = _proposeFor(sender, proposer, requester, t, 42);\n assertGt(totalBond, 0);\n\n // Invalid proposer: create a new request for t+1 and use non-whitelisted proposer\n vm.warp(t + 1);\n _makeRequest(requester, block.timestamp, 0);\n _prepareFunds(sender);\n vm.expectRevert(ManagedOptimisticOracleV2Interface.ProposerNotWhitelisted.selector);\n vm.prank(sender);\n moo.proposePriceFor(otherProposer, requester, IDENTIFIER, t + 1, ANCILLARY, 1);\n\n // Invalid sender\n vm.warp(t + 2);\n _makeRequest(requester, block.timestamp, 0);\n _prepareFunds(otherSender);\n vm.expectRevert(ManagedOptimisticOracleV2Interface.SenderNotWhitelisted.selector);\n vm.prank(otherSender);\n moo.proposePriceFor(proposer, requester, IDENTIFIER, t + 2, ANCILLARY, 1);\n }\n\n function testProposePriceForWithCustomDisabledWhitelist() external {\n uint256 t = block.timestamp;\n _makeRequest(requester, t, 0);\n\n // Set disabled custom whitelist for this request\n vm.prank(requestManager);\n moo.requestManagerSetProposerWhitelist(requester, IDENTIFIER, ANCILLARY, address(disabledWhitelist));\n\n // Neither proposer nor sender are in default whitelist now (use other addresses) -> should still pass\n address freeSender = makeAddr(\"freeSender\");\n address freeProposer = makeAddr(\"freeProposer\");\n uint256 totalBond = _proposeFor(freeSender, freeProposer, requester, t, 7);\n assertGt(totalBond, 0);\n }\n\n // -------------------- Bond Range Management --------------------\n\n function testSetAllowedBondRangeValidations() external {\n // Currency must be on collateral whitelist\n vm.prank(configAdmin);\n vm.expectRevert(OptimisticOracleV2Interface.UnsupportedCurrency.selector);\n moo.setAllowedBondRange(IERC20(address(otherCurrency)), ManagedOptimisticOracleV2.BondRange(1, 2));\n\n // Min cannot be greater than max\n vm.prank(configAdmin);\n vm.expectRevert(ManagedOptimisticOracleV2Interface.MinimumBondAboveMaximumBond.selector);\n moo.setAllowedBondRange(IERC20(address(currency)), ManagedOptimisticOracleV2.BondRange(10, 5));\n }\n\n function testRequestManagerSetBondEnforcementAndEvents() external {\n // Non-manager cannot set\n vm.expectRevert(\n abi.encodeWithSelector(\n IAccessControl.AccessControlUnauthorizedAccount.selector, address(this), moo.REQUEST_MANAGER_ROLE()\n )\n );\n moo.requestManagerSetBond(requester, IDENTIFIER, ANCILLARY, IERC20(address(currency)), 2 ether);\n\n // Manager can set within range\n vm.expectEmit(true, true, true, true);\n bytes32 managedId = moo.getManagedRequestId(requester, IDENTIFIER, ANCILLARY);\n emit ManagedOptimisticOracleV2Interface.CustomBondSet(\n managedId, requester, IDENTIFIER, ANCILLARY, IERC20(address(currency)), 2 ether\n );\n vm.prank(requestManager);\n moo.requestManagerSetBond(requester, IDENTIFIER, ANCILLARY, IERC20(address(currency)), 2 ether);\n\n // Zero bond not allowed\n vm.prank(requestManager);\n vm.expectRevert(ManagedOptimisticOracleV2Interface.ZeroBondNotAllowed.selector);\n moo.requestManagerSetBond(requester, IDENTIFIER, ANCILLARY, IERC20(address(currency)), 0);\n\n // Below min\n vm.prank(requestManager);\n vm.expectRevert(ManagedOptimisticOracleV2Interface.BondBelowMinimumBond.selector);\n moo.requestManagerSetBond(requester, IDENTIFIER, ANCILLARY, IERC20(address(currency)), 0.5 ether);\n\n // Above max\n vm.prank(requestManager);\n vm.expectRevert(ManagedOptimisticOracleV2Interface.BondExceedsMaximumBond.selector);\n moo.requestManagerSetBond(requester, IDENTIFIER, ANCILLARY, IERC20(address(currency)), 2_000 ether);\n\n // If range not configured for other currency (min=max=0), any non-zero should revert (exceeds max)\n vm.prank(requestManager);\n vm.expectRevert(OptimisticOracleV2Interface.UnsupportedCurrency.selector);\n moo.requestManagerSetBond(requester, IDENTIFIER, ANCILLARY, IERC20(address(otherCurrency)), 1);\n }\n\n function testCustomBondAppliedOnPropose() external {\n uint256 t = block.timestamp;\n _makeRequest(requester, t, 0);\n\n // Set custom bond of 5 ether\n vm.prank(requestManager);\n moo.requestManagerSetBond(requester, IDENTIFIER, ANCILLARY, IERC20(address(currency)), 5 ether);\n\n // Propose and verify total bond = custom bond + final fee (10 ether)\n uint256 totalBond = _proposeFor(sender, proposer, requester, t, 100);\n assertEq(totalBond, 15 ether);\n\n // Also read back the request and check bond updated\n OptimisticOracleV2Interface.Request memory req = moo.getRequest(requester, IDENTIFIER, t, ANCILLARY);\n assertEq(req.requestSettings.bond, 5 ether);\n }\n\n // -------------------- Liveness Management --------------------\n\n function testSetMinimumLivenessAndValidation() external {\n // Only config admin\n vm.expectRevert(\n abi.encodeWithSelector(\n IAccessControl.AccessControlUnauthorizedAccount.selector, address(this), moo.CONFIG_ADMIN_ROLE()\n )\n );\n moo.setMinimumLiveness(2 hours);\n\n // Invalid values\n vm.prank(configAdmin);\n vm.expectRevert(OptimisticOracleV2Interface.LivenessCannotBeZero.selector);\n moo.setMinimumLiveness(0);\n\n vm.prank(configAdmin);\n vm.expectRevert(OptimisticOracleV2Interface.LivenessTooLarge.selector);\n moo.setMinimumLiveness(type(uint256).max);\n\n // Valid update\n vm.prank(configAdmin);\n moo.setMinimumLiveness(6 hours);\n assertEq(moo.minimumLiveness(), 6 hours);\n }\n\n function testRequestManagerSetCustomLivenessValidationAndEffect() external {\n uint256 t = block.timestamp;\n _makeRequest(requester, t, 0);\n\n // Below minimum -> revert\n vm.prank(requestManager);\n vm.expectRevert(ManagedOptimisticOracleV2Interface.LivenessTooLow.selector);\n moo.requestManagerSetCustomLiveness(requester, IDENTIFIER, ANCILLARY, 1);\n\n // Above base max -> revert\n vm.prank(requestManager);\n vm.expectRevert(OptimisticOracleV2Interface.LivenessTooLarge.selector);\n moo.requestManagerSetCustomLiveness(requester, IDENTIFIER, ANCILLARY, 5200 weeks);\n\n // Valid set and event\n vm.expectEmit(true, true, true, true);\n bytes32 managedId = moo.getManagedRequestId(requester, IDENTIFIER, ANCILLARY);\n emit ManagedOptimisticOracleV2Interface.CustomLivenessSet(managedId, requester, IDENTIFIER, ANCILLARY, 3 hours);\n vm.prank(requestManager);\n moo.requestManagerSetCustomLiveness(requester, IDENTIFIER, ANCILLARY, 3 hours);\n\n // Propose and check expiration time = now + 3 hours\n vm.warp(t + 10);\n _proposeFor(sender, proposer, requester, t, 123);\n OptimisticOracleV2Interface.Request memory req = moo.getRequest(requester, IDENTIFIER, t, ANCILLARY);\n assertEq(req.expirationTime, block.timestamp + 3 hours);\n }\n\n // -------------------- Utility --------------------\n\n function testGetManagedRequestId() external view {\n bytes32 id1 = moo.getManagedRequestId(requester, IDENTIFIER, ANCILLARY);\n bytes32 id2 = keccak256(abi.encodePacked(requester, IDENTIFIER, ANCILLARY));\n assertEq(id1, id2);\n }\n\n // -------------------- Ownership / Control Relationships --------------------\n\n function testRolesAndOwnershipRelations() external view {\n // UPGRADE_ADMIN_ROLE must equal DEFAULT_ADMIN_ROLE\n assertEq(moo.UPGRADE_ADMIN_ROLE(), moo.DEFAULT_ADMIN_ROLE());\n\n // upgradeAdmin holds default admin role; configAdmin doesn't\n assertTrue(moo.hasRole(moo.DEFAULT_ADMIN_ROLE(), upgradeAdmin));\n assertFalse(moo.hasRole(moo.DEFAULT_ADMIN_ROLE(), configAdmin));\n\n // CONFIG_ADMIN_ROLE is administered by DEFAULT_ADMIN_ROLE\n assertEq(moo.getRoleAdmin(moo.CONFIG_ADMIN_ROLE()), moo.DEFAULT_ADMIN_ROLE());\n\n // REQUEST_MANAGER_ROLE is administered by CONFIG_ADMIN_ROLE (already tested elsewhere but double-check)\n assertEq(moo.getRoleAdmin(moo.REQUEST_MANAGER_ROLE()), moo.CONFIG_ADMIN_ROLE());\n }\n\n function testDefaultAdminManagesConfigAdminRole() external {\n address newConfig = makeAddr(\"newConfigAdmin\");\n // DEFAULT_ADMIN can grant CONFIG_ADMIN_ROLE\n vm.startPrank(upgradeAdmin);\n moo.grantRole(moo.CONFIG_ADMIN_ROLE(), newConfig);\n // DEFAULT_ADMIN can revoke CONFIG_ADMIN_ROLE\n moo.revokeRole(moo.CONFIG_ADMIN_ROLE(), configAdmin);\n vm.stopPrank();\n assertTrue(moo.hasRole(moo.CONFIG_ADMIN_ROLE(), newConfig));\n assertFalse(moo.hasRole(moo.CONFIG_ADMIN_ROLE(), configAdmin));\n }\n\n function testUpgradeAuthorization() external {\n // Non-upgrade admin cannot upgrade\n ManagedOptimisticOracleV2 impl2 = new ManagedOptimisticOracleV2();\n vm.expectRevert(\n abi.encodeWithSelector(\n IAccessControl.AccessControlUnauthorizedAccount.selector, address(this), moo.DEFAULT_ADMIN_ROLE()\n )\n );\n moo.upgradeToAndCall(address(impl2), \"\");\n\n // Upgrade admin can upgrade\n uint256 prevMinLiveness = moo.minimumLiveness();\n vm.prank(upgradeAdmin);\n moo.upgradeToAndCall(address(impl2), \"\");\n // State preserved\n assertEq(moo.minimumLiveness(), prevMinLiveness);\n assertEq(moo.defaultLiveness(), 2 days);\n }\n\n function testUpgradeAdminCannotCallConfigSetters() external {\n // DEFAULT_ADMIN (upgrade admin) cannot call config-admin-only functions\n vm.expectRevert();\n vm.prank(upgradeAdmin);\n moo.setMinimumLiveness(4 hours);\n }\n\n // -------------------- Additional Events & Validations --------------------\n\n function testRequestManagerSetProposerWhitelistValidationsAndEvent() external {\n // Invalid interface (non-whitelist) should revert; zero allowed\n vm.prank(requestManager);\n vm.expectRevert(ManagedOptimisticOracleV2Interface.UnsupportedWhitelistInterface.selector);\n moo.requestManagerSetProposerWhitelist(requester, IDENTIFIER, ANCILLARY, address(currency));\n\n // Event on set\n vm.expectEmit(true, true, false, true);\n bytes32 managedId = moo.getManagedRequestId(requester, IDENTIFIER, ANCILLARY);\n emit ManagedOptimisticOracleV2Interface.CustomProposerWhitelistSet(\n managedId, requester, IDENTIFIER, ANCILLARY, address(disabledWhitelist)\n );\n vm.prank(requestManager);\n moo.requestManagerSetProposerWhitelist(requester, IDENTIFIER, ANCILLARY, address(disabledWhitelist));\n }\n\n function testResetCustomProposerWhitelistToDefault() external {\n uint256 t = block.timestamp;\n _makeRequest(requester, t, 0);\n\n // Disable whitelist per-request\n vm.prank(requestManager);\n moo.requestManagerSetProposerWhitelist(requester, IDENTIFIER, ANCILLARY, address(disabledWhitelist));\n\n // Any addresses can propose\n address freeSender = makeAddr(\"freeSender\");\n address freeProposer = makeAddr(\"freeProposer\");\n _proposeFor(freeSender, freeProposer, requester, t, 7);\n\n // Reset to default by setting zero address\n vm.prank(requestManager);\n moo.requestManagerSetProposerWhitelist(requester, IDENTIFIER, ANCILLARY, address(0));\n\n // Now free addresses should be blocked by default whitelist (first check proposer)\n vm.prank(freeSender);\n vm.expectRevert(ManagedOptimisticOracleV2Interface.ProposerNotWhitelisted.selector);\n moo.proposePriceFor(freeProposer, requester, IDENTIFIER, t + 1, ANCILLARY, 1);\n }\n\n function testAllowedBondRangeEventAndBehavior() external {\n // Event on set\n vm.prank(configAdmin);\n vm.expectEmit(true, false, false, true);\n emit ManagedOptimisticOracleV2Interface.AllowedBondRangeUpdated(IERC20(address(currency)), 2 ether, 3 ether);\n moo.setAllowedBondRange(IERC20(address(currency)), ManagedOptimisticOracleV2.BondRange(2 ether, 3 ether));\n }\n\n function testMinimumLivenessEvent() external {\n vm.prank(configAdmin);\n vm.expectEmit(false, false, false, true);\n emit ManagedOptimisticOracleV2Interface.MinimumLivenessUpdated(8 hours);\n moo.setMinimumLiveness(8 hours);\n }\n\n function testBondOverrideBlockedForWhitelistedButUnconfiguredCurrency() external {\n // Add otherCurrency to collateral whitelist but do not set allowedBondRange\n collateralWhitelist.addToWhitelist(address(otherCurrency));\n\n // Manager attempts to set bond > 0 should fail as max allowed defaults to 0\n vm.prank(requestManager);\n vm.expectRevert(ManagedOptimisticOracleV2Interface.BondExceedsMaximumBond.selector);\n moo.requestManagerSetBond(requester, IDENTIFIER, ANCILLARY, IERC20(address(otherCurrency)), 1);\n }\n\n function testRemovedRequestManagerCannotCall() external {\n address tempMgr = makeAddr(\"tempMgr\");\n // Add then remove\n vm.startPrank(configAdmin);\n moo.addRequestManager(tempMgr);\n moo.removeRequestManager(tempMgr);\n vm.stopPrank();\n // Now calls must revert\n vm.startPrank(tempMgr);\n vm.expectRevert();\n moo.requestManagerSetCustomLiveness(requester, IDENTIFIER, ANCILLARY, 2 hours);\n vm.stopPrank();\n }\n}\n"},"test/common/AddressWhitelist.t.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity ^0.8.27;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {Vm} from \"forge-std/Vm.sol\";\n\nimport {AddressWhitelist} from \"src/common/implementation/AddressWhitelist.sol\";\nimport {AddressWhitelistInterface} from \"src/common/interfaces/AddressWhitelistInterface.sol\";\nimport {Ownable} from \"@openzeppelin/contracts/access/Ownable.sol\";\n\ncontract AddressWhitelistTest is Test {\n AddressWhitelist private whitelist;\n\n address private alice = makeAddr(\"alice\");\n address private bob = makeAddr(\"bob\");\n address private carol = makeAddr(\"carol\");\n address private nonOwner = makeAddr(\"nonOwner\");\n\n function setUp() public {\n whitelist = new AddressWhitelist();\n }\n\n function test_AddAndContains() public {\n assertFalse(whitelist.isOnWhitelist(alice));\n whitelist.addToWhitelist(alice);\n assertTrue(whitelist.isOnWhitelist(alice));\n\n address[] memory all = whitelist.getWhitelist();\n assertEq(all.length, 1);\n assertEq(all[0], alice);\n }\n\n function test_AddDuplicate_NoDuplicate_NoEvent() public {\n whitelist.addToWhitelist(alice);\n\n vm.recordLogs();\n whitelist.addToWhitelist(alice); // duplicate add should be a no-op\n Vm.Log[] memory logs = vm.getRecordedLogs();\n assertEq(logs.length, 0, \"duplicate add should not emit an event\");\n\n address[] memory all = whitelist.getWhitelist();\n assertEq(all.length, 1);\n assertEq(all[0], alice);\n }\n\n function test_Remove_RemovesAndUpdatesView() public {\n whitelist.addToWhitelist(alice);\n whitelist.addToWhitelist(bob);\n\n assertTrue(whitelist.isOnWhitelist(alice));\n assertTrue(whitelist.isOnWhitelist(bob));\n\n whitelist.removeFromWhitelist(alice);\n\n assertFalse(whitelist.isOnWhitelist(alice));\n assertTrue(whitelist.isOnWhitelist(bob));\n\n address[] memory all = whitelist.getWhitelist();\n assertEq(all.length, 1);\n assertEq(all[0], bob);\n }\n\n function test_RemoveNonexistent_NoRevert_NoEvent() public {\n vm.recordLogs();\n whitelist.removeFromWhitelist(alice); // not present\n Vm.Log[] memory logs = vm.getRecordedLogs();\n assertEq(logs.length, 0, \"removing missing element should not emit an event\");\n }\n\n function test_OnlyOwner_AddAndRemove_RevertForNonOwner() public {\n vm.prank(nonOwner);\n vm.expectRevert(abi.encodeWithSelector(Ownable.OwnableUnauthorizedAccount.selector, nonOwner));\n whitelist.addToWhitelist(alice);\n\n whitelist.addToWhitelist(alice);\n\n vm.prank(nonOwner);\n vm.expectRevert(abi.encodeWithSelector(Ownable.OwnableUnauthorizedAccount.selector, nonOwner));\n whitelist.removeFromWhitelist(alice);\n }\n\n function test_GetWhitelist_MultipleAddresses_IgnoresOrder() public {\n whitelist.addToWhitelist(alice);\n whitelist.addToWhitelist(bob);\n whitelist.addToWhitelist(carol);\n\n address[] memory all = whitelist.getWhitelist();\n assertEq(all.length, 3);\n assertTrue(_contains(all, alice));\n assertTrue(_contains(all, bob));\n assertTrue(_contains(all, carol));\n }\n\n function test_IsWhitelistEnabled_AlwaysTrue() public view {\n assertTrue(whitelist.isWhitelistEnabled());\n }\n\n function test_SupportsInterface() public view {\n bytes4 iid = type(AddressWhitelistInterface).interfaceId;\n assertTrue(whitelist.supportsInterface(iid));\n assertFalse(whitelist.supportsInterface(0xffffffff));\n }\n\n // --------- helpers ---------\n function _contains(address[] memory arr, address target) private pure returns (bool) {\n for (uint256 i = 0; i < arr.length; i++) {\n if (arr[i] == target) return true;\n }\n return false;\n }\n}\n"}},"settings":{"remappings":["forge-std/=lib/forge-std/src/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","@uma/contracts/=lib/protocol/packages/core/contracts/","ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","protocol/=lib/protocol/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"lib/forge-std/src/Base.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/forge-std/src/Script.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/forge-std/src/StdAssertions.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/forge-std/src/StdChains.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/forge-std/src/StdCheats.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/forge-std/src/StdConstants.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/forge-std/src/StdError.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/forge-std/src/StdInvariant.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/forge-std/src/StdJson.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/forge-std/src/StdMath.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/forge-std/src/StdStorage.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/forge-std/src/StdStyle.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/forge-std/src/StdToml.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/forge-std/src/StdUtils.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/forge-std/src/Test.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/forge-std/src/Vm.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/forge-std/src/console.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/forge-std/src/console2.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/forge-std/src/interfaces/IMulticall3.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/forge-std/src/safeconsole.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/utils/Arrays.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/utils/Comparators.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-foundry-upgrades/src/Upgrades.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-foundry-upgrades/src/internal/StringFinder.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/protocol/packages/core/contracts/common/implementation/AncillaryData.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/protocol/packages/core/contracts/common/implementation/Lockable.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/protocol/packages/core/contracts/data-verification-mechanism/implementation/Constants.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/FinderInterface.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/IdentifierWhitelistInterface.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/OracleAncillaryInterface.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"script/DeployAddressWhitelist.s.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"script/DeployDisabledAddressWhitelist.s.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"script/DeployManagedOptimisticOracleV2.s.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"script/RedeployAddressWhitelist.s.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"script/UpgradeManagedOptimisticOracleV2.s.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"src/common/implementation/AddressLegacy.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"src/common/implementation/AddressWhitelist.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"src/common/implementation/DisabledAddressWhitelist.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"src/common/implementation/LockableUpgradeable.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"src/common/implementation/MultiCaller.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"src/common/interfaces/AddressWhitelistInterface.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"src/common/interfaces/FixedPointInterface.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"src/data-verification-mechanism/interfaces/StoreInterface.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"src/optimistic-oracle-v2/interfaces/ManagedOptimisticOracleV2Interface.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"test/ManagedOptimisticOracleV2.t.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]},"test/common/AddressWhitelist.t.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata","storageLayout"]}},"evmVersion":"cancun","viaIR":false,"libraries":{}},"allowPaths":["/home/reinism/repos/UMAprotocol/managed-oracle","/home/reinism/repos/UMAprotocol/managed-oracle/lib"],"basePath":"/home/reinism/repos/UMAprotocol/managed-oracle","includePaths":["/home/reinism/repos/UMAprotocol/managed-oracle"]},"output":{"errors":[{"sourceLocation":{"file":"test/ManagedOptimisticOracleV2.t.sol","start":3674,"end":29862},"type":"Warning","component":"general","severity":"warning","errorCode":"5574","message":"Contract code size is 65837 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.","formattedMessage":"Warning: Contract code size is 65837 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.\n --> test/ManagedOptimisticOracleV2.t.sol:82:1:\n |\n82 | contract ManagedOptimisticOracleV2Test is Test {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n"},{"sourceLocation":{"file":"test/ManagedOptimisticOracleV2.t.sol","start":3674,"end":29862},"type":"Warning","component":"general","severity":"warning","errorCode":"3860","message":"Contract initcode size is 65896 bytes and exceeds 49152 bytes (a limit introduced in Shanghai). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.","formattedMessage":"Warning: Contract initcode size is 65896 bytes and exceeds 49152 bytes (a limit introduced in Shanghai). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.\n --> test/ManagedOptimisticOracleV2.t.sol:82:1:\n |\n82 | contract ManagedOptimisticOracleV2Test is Test {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n"}],"contracts":{"lib/forge-std/src/Base.sol":{"CommonBase":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"CONSOLE\":{\"details\":\"console.sol and console2.sol work by executing a staticcall to this address. Calculated as `address(uint160(uint88(bytes11(\\\"console.log\\\"))))`.\"},\"CREATE2_FACTORY\":{\"details\":\"Used when deploying with create2. Taken from https://github.com/Arachnid/deterministic-deployment-proxy.\"},\"DEFAULT_SENDER\":{\"details\":\"The default address for tx.origin and msg.sender. Calculated as `address(uint160(uint256(keccak256(\\\"foundry default caller\\\"))))`.\"},\"DEFAULT_TEST_CONTRACT\":{\"details\":\"The address of the first contract `CREATE`d by a running test contract. When running tests, each test contract is `CREATE`d by `DEFAULT_SENDER` with nonce 1. Calculated as `VM.computeCreateAddress(VM.computeCreateAddress(DEFAULT_SENDER, 1), 1)`.\"},\"MULTICALL3_ADDRESS\":{\"details\":\"Deterministic deployment address of the Multicall3 contract. Taken from https://www.multicall3.com.\"},\"SECP256K1_ORDER\":{\"details\":\"The order of the secp256k1 curve.\"},\"VM_ADDRESS\":{\"details\":\"Cheat code address. Calculated as `address(uint160(uint256(keccak256(\\\"hevm cheat code\\\"))))`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"CommonBase\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0xa3735a6618a3014e42bb4329ad143e3b2c59cd95094350202e4c4a06c9d585dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef9db48d94726ec3d3fa3a84a8d520903705190f7ee7a04a065335a6aeeac4d\",\"dweb:/ipfs/QmSWmNny7TkzyqRPjGdpERAJuBwwznrGPLUqS4DZy5fX5z\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":46,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)8093_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))"},"t_mapping(t_bytes32,t_struct(FindData)8068_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)8068_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)8068_storage)"},"t_struct(FindData)8068_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":8061,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":8063,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":8065,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":8067,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(StdStorage)8093_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":8077,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))"},{"astId":8080,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":8082,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":8084,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":8086,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":8088,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":8090,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":8092,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}},"ScriptBase":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"ScriptBase\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0xa3735a6618a3014e42bb4329ad143e3b2c59cd95094350202e4c4a06c9d585dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef9db48d94726ec3d3fa3a84a8d520903705190f7ee7a04a065335a6aeeac4d\",\"dweb:/ipfs/QmSWmNny7TkzyqRPjGdpERAJuBwwznrGPLUqS4DZy5fX5z\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":46,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)8093_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))"},"t_mapping(t_bytes32,t_struct(FindData)8068_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)8068_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)8068_storage)"},"t_struct(FindData)8068_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":8061,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":8063,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":8065,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":8067,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(StdStorage)8093_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":8077,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))"},{"astId":8080,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":8082,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":8084,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":8086,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":8088,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":8090,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":8092,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}},"TestBase":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"TestBase\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0xa3735a6618a3014e42bb4329ad143e3b2c59cd95094350202e4c4a06c9d585dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef9db48d94726ec3d3fa3a84a8d520903705190f7ee7a04a065335a6aeeac4d\",\"dweb:/ipfs/QmSWmNny7TkzyqRPjGdpERAJuBwwznrGPLUqS4DZy5fX5z\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":46,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)8093_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))"},"t_mapping(t_bytes32,t_struct(FindData)8068_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)8068_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)8068_storage)"},"t_struct(FindData)8068_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":8061,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":8063,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":8065,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":8067,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(StdStorage)8093_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":8077,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))"},{"astId":8080,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":8082,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":8084,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":8086,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":8088,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":8090,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":8092,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/forge-std/src/Script.sol":{"Script":{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Script.sol\":\"Script\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0xa3735a6618a3014e42bb4329ad143e3b2c59cd95094350202e4c4a06c9d585dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef9db48d94726ec3d3fa3a84a8d520903705190f7ee7a04a065335a6aeeac4d\",\"dweb:/ipfs/QmSWmNny7TkzyqRPjGdpERAJuBwwznrGPLUqS4DZy5fX5z\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xd3edaf57db178f839d97ccee0009c2b7b20f78c2adca9028a6013acb8d5b4c5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f17329ac1d25d3e6657ca240dee0a3f9b2cf22a64a05b87dac15252dee74351\",\"dweb:/ipfs/QmPHxkEwgVpQNbU52s58RmmegrkYGj8bNKTVSW8rZm3dBm\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x7274081e11c05164fd8eadde4de8305c033e58a43008dea58065f3170ccf0737\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9801614b6c9d3e472982e6cc68f5f1ad03682f84eafb686be65633c7132d138\",\"dweb:/ipfs/QmcQSUcrm2A7XuektnxJjvYGmZtBeA6LKPxCXRqdXBX776\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":46,"contract":"lib/forge-std/src/Script.sol:Script","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)8093_storage"},{"astId":2745,"contract":"lib/forge-std/src/Script.sol:Script","label":"stdChainsInitialized","offset":0,"slot":"8","type":"t_bool"},{"astId":2766,"contract":"lib/forge-std/src/Script.sol:Script","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)2761_storage)"},{"astId":2770,"contract":"lib/forge-std/src/Script.sol:Script","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":2774,"contract":"lib/forge-std/src/Script.sol:Script","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":2777,"contract":"lib/forge-std/src/Script.sol:Script","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":3715,"contract":"lib/forge-std/src/Script.sol:Script","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":99,"contract":"lib/forge-std/src/Script.sol:Script","label":"IS_SCRIPT","offset":2,"slot":"12","type":"t_bool"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))"},"t_mapping(t_bytes32,t_struct(FindData)8068_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)8068_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)8068_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)2761_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)2761_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)2761_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":2754,"contract":"lib/forge-std/src/Script.sol:Script","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":2756,"contract":"lib/forge-std/src/Script.sol:Script","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":2758,"contract":"lib/forge-std/src/Script.sol:Script","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":2760,"contract":"lib/forge-std/src/Script.sol:Script","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)8068_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":8061,"contract":"lib/forge-std/src/Script.sol:Script","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":8063,"contract":"lib/forge-std/src/Script.sol:Script","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":8065,"contract":"lib/forge-std/src/Script.sol:Script","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":8067,"contract":"lib/forge-std/src/Script.sol:Script","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(StdStorage)8093_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":8077,"contract":"lib/forge-std/src/Script.sol:Script","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))"},{"astId":8080,"contract":"lib/forge-std/src/Script.sol:Script","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":8082,"contract":"lib/forge-std/src/Script.sol:Script","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":8084,"contract":"lib/forge-std/src/Script.sol:Script","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":8086,"contract":"lib/forge-std/src/Script.sol:Script","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":8088,"contract":"lib/forge-std/src/Script.sol:Script","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":8090,"contract":"lib/forge-std/src/Script.sol:Script","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":8092,"contract":"lib/forge-std/src/Script.sol:Script","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47"}}}},"lib/forge-std/src/StdAssertions.sol":{"StdAssertions":{"abi":[{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdAssertions.sol\":\"StdAssertions\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x4584f551c3a875c26423c1e50a77179bc2f9c9c1ee6d0f0c6be0f89ca5ee8270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef118876a862b60ba8a6612b8b3f3a6c226e11a0071a2e9695f021586d1bfdbe\",\"dweb:/ipfs/QmXd2vD91PkvoFWasFkgbDi89PctmgsHVxGvGNyhjmRK2b\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":244,"contract":"lib/forge-std/src/StdAssertions.sol:StdAssertions","label":"_failed","offset":0,"slot":"0","type":"t_bool"}],"types":{"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"}}},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"failed()":"ba414fa6"}}}},"lib/forge-std/src/StdChains.sol":{"StdChains":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"StdChains provides information about EVM compatible chains that can be used in scripts/tests. For each chain, the chain's name, chain ID, and a default RPC URL are provided. Chains are identified by their alias, which is the same as the alias in the `[rpc_endpoints]` section of the `foundry.toml` file. For best UX, ensure the alias in the `foundry.toml` file match the alias used in this contract, which can be found as the first argument to the `setChainWithDefaultRpcUrl` call in the `initializeStdChains` function. There are two main ways to use this contract: 1. Set a chain with `setChain(string memory chainAlias, ChainData memory chain)` or `setChain(string memory chainAlias, Chain memory chain)` 2. Get a chain with `getChain(string memory chainAlias)` or `getChain(uint256 chainId)`. The first time either of those are used, chains are initialized with the default set of RPC URLs. This is done in `initializeStdChains`, which uses `setChainWithDefaultRpcUrl`. Defaults are recorded in `defaultRpcUrls`. The `setChain` function is straightforward, and it simply saves off the given chain data. The `getChain` methods use `getChainWithUpdatedRpcUrl` to return a chain. For example, let's say we want to retrieve the RPC URL for `mainnet`: - If you have specified data with `setChain`, it will return that. - If you have configured a mainnet RPC URL in `foundry.toml`, it will return the URL, provided it is valid (e.g. a URL is specified, or an environment variable is given and exists). - If neither of the above conditions is met, the default data is returned. Summarizing the above, the prioritization hierarchy is `setChain` -> `foundry.toml` -> environment variable -> defaults.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdChains.sol\":\"StdChains\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xd3edaf57db178f839d97ccee0009c2b7b20f78c2adca9028a6013acb8d5b4c5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f17329ac1d25d3e6657ca240dee0a3f9b2cf22a64a05b87dac15252dee74351\",\"dweb:/ipfs/QmPHxkEwgVpQNbU52s58RmmegrkYGj8bNKTVSW8rZm3dBm\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":2745,"contract":"lib/forge-std/src/StdChains.sol:StdChains","label":"stdChainsInitialized","offset":0,"slot":"0","type":"t_bool"},{"astId":2766,"contract":"lib/forge-std/src/StdChains.sol:StdChains","label":"chains","offset":0,"slot":"1","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)2761_storage)"},{"astId":2770,"contract":"lib/forge-std/src/StdChains.sol:StdChains","label":"defaultRpcUrls","offset":0,"slot":"2","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":2774,"contract":"lib/forge-std/src/StdChains.sol:StdChains","label":"idToAlias","offset":0,"slot":"3","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":2777,"contract":"lib/forge-std/src/StdChains.sol:StdChains","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"4","type":"t_bool"}],"types":{"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)2761_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)2761_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)2761_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":2754,"contract":"lib/forge-std/src/StdChains.sol:StdChains","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":2756,"contract":"lib/forge-std/src/StdChains.sol:StdChains","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":2758,"contract":"lib/forge-std/src/StdChains.sol:StdChains","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":2760,"contract":"lib/forge-std/src/StdChains.sol:StdChains","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/forge-std/src/StdCheats.sol":{"StdCheats":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdCheats.sol\":\"StdCheats\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":3715,"contract":"lib/forge-std/src/StdCheats.sol:StdCheats","label":"gasMeteringOff","offset":0,"slot":"0","type":"t_bool"},{"astId":5782,"contract":"lib/forge-std/src/StdCheats.sol:StdCheats","label":"stdstore","offset":0,"slot":"1","type":"t_struct(StdStorage)8093_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))"},"t_mapping(t_bytes32,t_struct(FindData)8068_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)8068_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)8068_storage)"},"t_struct(FindData)8068_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":8061,"contract":"lib/forge-std/src/StdCheats.sol:StdCheats","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":8063,"contract":"lib/forge-std/src/StdCheats.sol:StdCheats","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":8065,"contract":"lib/forge-std/src/StdCheats.sol:StdCheats","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":8067,"contract":"lib/forge-std/src/StdCheats.sol:StdCheats","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(StdStorage)8093_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":8077,"contract":"lib/forge-std/src/StdCheats.sol:StdCheats","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))"},{"astId":8080,"contract":"lib/forge-std/src/StdCheats.sol:StdCheats","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":8082,"contract":"lib/forge-std/src/StdCheats.sol:StdCheats","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":8084,"contract":"lib/forge-std/src/StdCheats.sol:StdCheats","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":8086,"contract":"lib/forge-std/src/StdCheats.sol:StdCheats","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":8088,"contract":"lib/forge-std/src/StdCheats.sol:StdCheats","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":8090,"contract":"lib/forge-std/src/StdCheats.sol:StdCheats","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":8092,"contract":"lib/forge-std/src/StdCheats.sol:StdCheats","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}},"StdCheatsSafe":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdCheats.sol\":\"StdCheatsSafe\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":3715,"contract":"lib/forge-std/src/StdCheats.sol:StdCheatsSafe","label":"gasMeteringOff","offset":0,"slot":"0","type":"t_bool"}],"types":{"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"}}},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/forge-std/src/StdConstants.sol":{"StdConstants":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"CONSOLE\":{\"details\":\"console.sol and console2.sol work by executing a staticcall to this address. Calculated as `address(uint160(uint88(bytes11(\\\"console.log\\\"))))`.\"},\"CREATE2_FACTORY\":{\"details\":\"Used when deploying with create2. Taken from https://github.com/Arachnid/deterministic-deployment-proxy.\"},\"DEFAULT_SENDER\":{\"details\":\"The default address for tx.origin and msg.sender. Calculated as `address(uint160(uint256(keccak256(\\\"foundry default caller\\\"))))`.\"},\"DEFAULT_TEST_CONTRACT\":{\"details\":\"The address of the first contract `CREATE`d by a running test contract. When running tests, each test contract is `CREATE`d by `DEFAULT_SENDER` with nonce 1. Calculated as `VM.computeCreateAddress(VM.computeCreateAddress(DEFAULT_SENDER, 1), 1)`.\"},\"MULTICALL3_ADDRESS\":{\"details\":\"Deterministic deployment address of the Multicall3 contract. Taken from https://www.multicall3.com.\"},\"SECP256K1_ORDER\":{\"details\":\"The order of the secp256k1 curve.\"},\"VM\":{\"details\":\"Cheat code address. Calculated as `address(uint160(uint256(keccak256(\\\"hevm cheat code\\\"))))`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdConstants.sol\":\"StdConstants\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220f6459298649d517b0b9d9fa60923834dfb0fa85ffd1971b4bc261eddfa79b78b64736f6c634300081e0033","sourceMap":"153:1713:5:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;153:1713:5;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220f6459298649d517b0b9d9fa60923834dfb0fa85ffd1971b4bc261eddfa79b78b64736f6c634300081e0033","sourceMap":"153:1713:5:-:0;;;;;;;;","linkReferences":{}}}}},"lib/forge-std/src/StdError.sol":{"stdError":{"abi":[{"type":"function","name":"arithmeticError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"assertionError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"divisionError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"encodeStorageError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"enumConversionError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"indexOOBError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"memOverflowError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"popError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"zeroVarError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"arithmeticError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assertionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"divisionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"encodeStorageError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enumConversionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"indexOOBError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"memOverflowError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"popError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"zeroVarError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdError.sol\":\"stdError\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"610233610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061009b575f3560e01c8063986c5f681161006e578063986c5f68146100d5578063b22dc54d146100dd578063b67689da146100e5578063d160e4de146100ed578063fa784a44146100f5575f5ffd5b806305ee86121461009f57806310332977146100bd5780631de45560146100c55780638995290f146100cd575b5f5ffd5b6100a76100fd565b6040516100b491906101c8565b60405180910390f35b6100a7610138565b6100a761014a565b6100a761015c565b6100a761016e565b6100a7610180565b6100a7610192565b6100a76101a4565b6100a76101b6565b604051603260248201526044015b60408051601f198184030181529190526020810180516001600160e01b0316634e487b7160e01b17905281565b6040516001602482015260440161010b565b6040516021602482015260440161010b565b6040516011602482015260440161010b565b6040516041602482015260440161010b565b6040516031602482015260440161010b565b6040516051602482015260440161010b565b6040516022602482015260440161010b565b6040516012602482015260440161010b565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f8301168401019150509291505056fea26469706673582212202f9c08ee6951380d5413bdd01d336a8d8d8a98015a07eed1d952060e205ee1b464736f6c634300081e0033","sourceMap":"162:850:6:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;162:850:6;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040526004361061009b575f3560e01c8063986c5f681161006e578063986c5f68146100d5578063b22dc54d146100dd578063b67689da146100e5578063d160e4de146100ed578063fa784a44146100f5575f5ffd5b806305ee86121461009f57806310332977146100bd5780631de45560146100c55780638995290f146100cd575b5f5ffd5b6100a76100fd565b6040516100b491906101c8565b60405180910390f35b6100a7610138565b6100a761014a565b6100a761015c565b6100a761016e565b6100a7610180565b6100a7610192565b6100a76101a4565b6100a76101b6565b604051603260248201526044015b60408051601f198184030181529190526020810180516001600160e01b0316634e487b7160e01b17905281565b6040516001602482015260440161010b565b6040516021602482015260440161010b565b6040516011602482015260440161010b565b6040516041602482015260440161010b565b6040516031602482015260440161010b565b6040516051602482015260440161010b565b6040516022602482015260440161010b565b6040516012602482015260440161010b565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f8301168401019150509291505056fea26469706673582212202f9c08ee6951380d5413bdd01d336a8d8d8a98015a07eed1d952060e205ee1b464736f6c634300081e0033","sourceMap":"162:850:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;740:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;185:86;;;:::i;461:91::-;;;:::i;277:87::-;;;:::i;831:88::-;;;:::i;654:80::-;;;:::i;925:84::-;;;:::i;558:90::-;;;:::i;370:85::-;;;:::i;740:::-;778:47;;820:4;778:47;;;596:36:102;569:18;;778:47:6;;;;-1:-1:-1;;778:47:6;;;;;;;;;;;;;;-1:-1:-1;;;;;778:47:6;-1:-1:-1;;;778:47:6;;;740:85;:::o;185:86::-;224:47;;266:4;224:47;;;596:36:102;569:18;;224:47:6;443:195:102;461:91:6;505:47;;547:4;505:47;;;596:36:102;569:18;;505:47:6;443:195:102;277:87:6;317:47;;359:4;317:47;;;596:36:102;569:18;;317:47:6;443:195:102;831:88:6;872:47;;914:4;872:47;;;596:36:102;569:18;;872:47:6;443:195:102;654:80:6;687:47;;729:4;687:47;;;596:36:102;569:18;;687:47:6;443:195:102;925:84:6;962:47;;1004:4;962:47;;;596:36:102;569:18;;962:47:6;443:195:102;558:90:6;601:47;;643:4;601:47;;;596:36:102;569:18;;601:47:6;443:195:102;370:85:6;408:47;;450:4;408:47;;;596:36:102;569:18;;408:47:6;443:195:102;14:424;169:2;158:9;151:21;132:4;201:6;195:13;244:6;239:2;228:9;224:18;217:34;303:6;298:2;290:6;286:15;281:2;270:9;266:18;260:50;359:1;354:2;345:6;334:9;330:22;326:31;319:42;429:2;422;418:7;413:2;405:6;401:15;397:29;386:9;382:45;378:54;370:62;;;14:424;;;;:::o","linkReferences":{}},"methodIdentifiers":{"arithmeticError()":"8995290f","assertionError()":"10332977","divisionError()":"fa784a44","encodeStorageError()":"d160e4de","enumConversionError()":"1de45560","indexOOBError()":"05ee8612","memOverflowError()":"986c5f68","popError()":"b22dc54d","zeroVarError()":"b67689da"}}}},"lib/forge-std/src/StdInvariant.sol":{"StdInvariant":{"abi":[{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdInvariant.sol\":\"StdInvariant\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":6699,"contract":"lib/forge-std/src/StdInvariant.sol:StdInvariant","label":"_excludedContracts","offset":0,"slot":"0","type":"t_array(t_address)dyn_storage"},{"astId":6702,"contract":"lib/forge-std/src/StdInvariant.sol:StdInvariant","label":"_excludedSenders","offset":0,"slot":"1","type":"t_array(t_address)dyn_storage"},{"astId":6705,"contract":"lib/forge-std/src/StdInvariant.sol:StdInvariant","label":"_targetedContracts","offset":0,"slot":"2","type":"t_array(t_address)dyn_storage"},{"astId":6708,"contract":"lib/forge-std/src/StdInvariant.sol:StdInvariant","label":"_targetedSenders","offset":0,"slot":"3","type":"t_array(t_address)dyn_storage"},{"astId":6711,"contract":"lib/forge-std/src/StdInvariant.sol:StdInvariant","label":"_excludedArtifacts","offset":0,"slot":"4","type":"t_array(t_string_storage)dyn_storage"},{"astId":6714,"contract":"lib/forge-std/src/StdInvariant.sol:StdInvariant","label":"_targetedArtifacts","offset":0,"slot":"5","type":"t_array(t_string_storage)dyn_storage"},{"astId":6718,"contract":"lib/forge-std/src/StdInvariant.sol:StdInvariant","label":"_targetedArtifactSelectors","offset":0,"slot":"6","type":"t_array(t_struct(FuzzArtifactSelector)6690_storage)dyn_storage"},{"astId":6722,"contract":"lib/forge-std/src/StdInvariant.sol:StdInvariant","label":"_excludedSelectors","offset":0,"slot":"7","type":"t_array(t_struct(FuzzSelector)6684_storage)dyn_storage"},{"astId":6726,"contract":"lib/forge-std/src/StdInvariant.sol:StdInvariant","label":"_targetedSelectors","offset":0,"slot":"8","type":"t_array(t_struct(FuzzSelector)6684_storage)dyn_storage"},{"astId":6730,"contract":"lib/forge-std/src/StdInvariant.sol:StdInvariant","label":"_targetedInterfaces","offset":0,"slot":"9","type":"t_array(t_struct(FuzzInterface)6696_storage)dyn_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzArtifactSelector)6690_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzArtifactSelector[]","numberOfBytes":"32","base":"t_struct(FuzzArtifactSelector)6690_storage"},"t_array(t_struct(FuzzInterface)6696_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)6696_storage"},"t_array(t_struct(FuzzSelector)6684_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)6684_storage"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(FuzzArtifactSelector)6690_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzArtifactSelector","numberOfBytes":"64","members":[{"astId":6686,"contract":"lib/forge-std/src/StdInvariant.sol:StdInvariant","label":"artifact","offset":0,"slot":"0","type":"t_string_storage"},{"astId":6689,"contract":"lib/forge-std/src/StdInvariant.sol:StdInvariant","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(FuzzInterface)6696_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":6692,"contract":"lib/forge-std/src/StdInvariant.sol:StdInvariant","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":6695,"contract":"lib/forge-std/src/StdInvariant.sol:StdInvariant","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)6684_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":6680,"contract":"lib/forge-std/src/StdInvariant.sol:StdInvariant","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":6683,"contract":"lib/forge-std/src/StdInvariant.sol:StdInvariant","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]}}},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"}}}},"lib/forge-std/src/StdJson.sol":{"stdJson":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdJson.sol\":\"stdJson\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220ae5a9d4a89c23cc0241eacfcb92519ff3c875346c87cab6b57beda64777a773c64736f6c634300081e0033","sourceMap":"610:9092:8:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;610:9092:8;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220ae5a9d4a89c23cc0241eacfcb92519ff3c875346c87cab6b57beda64777a773c64736f6c634300081e0033","sourceMap":"610:9092:8:-:0;;;;;;;;","linkReferences":{}}}}},"lib/forge-std/src/StdMath.sol":{"stdMath":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdMath.sol\":\"stdMath\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122011c0b24cde71d3aa0cadcde0ffcbb6125be5d612608054b82eaa6ca0311773eb64736f6c634300081e0033","sourceMap":"65:1294:9:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;65:1294:9;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122011c0b24cde71d3aa0cadcde0ffcbb6125be5d612608054b82eaa6ca0311773eb64736f6c634300081e0033","sourceMap":"65:1294:9:-:0;;;;;;;;","linkReferences":{}}}}},"lib/forge-std/src/StdStorage.sol":{"stdStorage":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStorage.sol\":\"stdStorage\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122030ebe70ee8d11e2631366f4e1381bd3ecdd15116658e97f710dffd954417043164736f6c634300081e0033","sourceMap":"12759:5081:10:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;12759:5081:10;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122030ebe70ee8d11e2631366f4e1381bd3ecdd15116658e97f710dffd954417043164736f6c634300081e0033","sourceMap":"12759:5081:10:-:0;;;;;;;;","linkReferences":{}}}},"stdStorageSafe":{"abi":[{"type":"event","name":"SlotFound","inputs":[{"name":"who","type":"address","indexed":false,"internalType":"address"},{"name":"fsig","type":"bytes4","indexed":false,"internalType":"bytes4"},{"name":"keysHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"slot","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"WARNING_UninitedSlot","inputs":[{"name":"who","type":"address","indexed":false,"internalType":"address"},{"name":"slot","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"fsig\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"keysHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"SlotFound\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"WARNING_UninitedSlot\",\"type\":\"event\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStorage.sol\":\"stdStorageSafe\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122023b7af8437ab66d238613a74ff4f175c5d041ced0e81dd10a348a65aff449ed564736f6c634300081e0033","sourceMap":"450:12307:10:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;450:12307:10;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122023b7af8437ab66d238613a74ff4f175c5d041ced0e81dd10a348a65aff449ed564736f6c634300081e0033","sourceMap":"450:12307:10:-:0;;;;;;;;","linkReferences":{}}}}},"lib/forge-std/src/StdStyle.sol":{"StdStyle":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStyle.sol\":\"StdStyle\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122079dcc4b9139ba734dd8efbbcab57579682019830c3546871de0b6f726fd19cc364736f6c634300081e0033","sourceMap":"100:10361:11:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;100:10361:11;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122079dcc4b9139ba734dd8efbbcab57579682019830c3546871de0b6f726fd19cc364736f6c634300081e0033","sourceMap":"100:10361:11:-:0;;;;;;;;","linkReferences":{}}}}},"lib/forge-std/src/StdToml.sol":{"stdToml":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdToml.sol\":\"stdToml\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212208cebab1d8c6b31e28a36e5792d32865fb83d6614210a63198c2f5dc333c6a24564736f6c634300081e0033","sourceMap":"610:9092:12:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;610:9092:12;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212208cebab1d8c6b31e28a36e5792d32865fb83d6614210a63198c2f5dc333c6a24564736f6c634300081e0033","sourceMap":"610:9092:12:-:0;;;;;;;;","linkReferences":{}}}}},"lib/forge-std/src/StdUtils.sol":{"StdUtils":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdUtils.sol\":\"StdUtils\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x7274081e11c05164fd8eadde4de8305c033e58a43008dea58065f3170ccf0737\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9801614b6c9d3e472982e6cc68f5f1ad03682f84eafb686be65633c7132d138\",\"dweb:/ipfs/QmcQSUcrm2A7XuektnxJjvYGmZtBeA6LKPxCXRqdXBX776\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/forge-std/src/Test.sol":{"Test":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Test.sol\":\"Test\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0xa3735a6618a3014e42bb4329ad143e3b2c59cd95094350202e4c4a06c9d585dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef9db48d94726ec3d3fa3a84a8d520903705190f7ee7a04a065335a6aeeac4d\",\"dweb:/ipfs/QmSWmNny7TkzyqRPjGdpERAJuBwwznrGPLUqS4DZy5fX5z\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x4584f551c3a875c26423c1e50a77179bc2f9c9c1ee6d0f0c6be0f89ca5ee8270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef118876a862b60ba8a6612b8b3f3a6c226e11a0071a2e9695f021586d1bfdbe\",\"dweb:/ipfs/QmXd2vD91PkvoFWasFkgbDi89PctmgsHVxGvGNyhjmRK2b\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xd3edaf57db178f839d97ccee0009c2b7b20f78c2adca9028a6013acb8d5b4c5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f17329ac1d25d3e6657ca240dee0a3f9b2cf22a64a05b87dac15252dee74351\",\"dweb:/ipfs/QmPHxkEwgVpQNbU52s58RmmegrkYGj8bNKTVSW8rZm3dBm\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x7274081e11c05164fd8eadde4de8305c033e58a43008dea58065f3170ccf0737\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9801614b6c9d3e472982e6cc68f5f1ad03682f84eafb686be65633c7132d138\",\"dweb:/ipfs/QmcQSUcrm2A7XuektnxJjvYGmZtBeA6LKPxCXRqdXBX776\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":46,"contract":"lib/forge-std/src/Test.sol:Test","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)8093_storage"},{"astId":244,"contract":"lib/forge-std/src/Test.sol:Test","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":2745,"contract":"lib/forge-std/src/Test.sol:Test","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":2766,"contract":"lib/forge-std/src/Test.sol:Test","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)2761_storage)"},{"astId":2770,"contract":"lib/forge-std/src/Test.sol:Test","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":2774,"contract":"lib/forge-std/src/Test.sol:Test","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":2777,"contract":"lib/forge-std/src/Test.sol:Test","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":3715,"contract":"lib/forge-std/src/Test.sol:Test","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":5782,"contract":"lib/forge-std/src/Test.sol:Test","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)8093_storage"},{"astId":6699,"contract":"lib/forge-std/src/Test.sol:Test","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":6702,"contract":"lib/forge-std/src/Test.sol:Test","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":6705,"contract":"lib/forge-std/src/Test.sol:Test","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":6708,"contract":"lib/forge-std/src/Test.sol:Test","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":6711,"contract":"lib/forge-std/src/Test.sol:Test","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":6714,"contract":"lib/forge-std/src/Test.sol:Test","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":6718,"contract":"lib/forge-std/src/Test.sol:Test","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzArtifactSelector)6690_storage)dyn_storage"},{"astId":6722,"contract":"lib/forge-std/src/Test.sol:Test","label":"_excludedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)6684_storage)dyn_storage"},{"astId":6726,"contract":"lib/forge-std/src/Test.sol:Test","label":"_targetedSelectors","offset":0,"slot":"29","type":"t_array(t_struct(FuzzSelector)6684_storage)dyn_storage"},{"astId":6730,"contract":"lib/forge-std/src/Test.sol:Test","label":"_targetedInterfaces","offset":0,"slot":"30","type":"t_array(t_struct(FuzzInterface)6696_storage)dyn_storage"},{"astId":12985,"contract":"lib/forge-std/src/Test.sol:Test","label":"IS_TEST","offset":0,"slot":"31","type":"t_bool"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzArtifactSelector)6690_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzArtifactSelector[]","numberOfBytes":"32","base":"t_struct(FuzzArtifactSelector)6690_storage"},"t_array(t_struct(FuzzInterface)6696_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)6696_storage"},"t_array(t_struct(FuzzSelector)6684_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)6684_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))"},"t_mapping(t_bytes32,t_struct(FindData)8068_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)8068_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)8068_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)2761_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)2761_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)2761_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":2754,"contract":"lib/forge-std/src/Test.sol:Test","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":2756,"contract":"lib/forge-std/src/Test.sol:Test","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":2758,"contract":"lib/forge-std/src/Test.sol:Test","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":2760,"contract":"lib/forge-std/src/Test.sol:Test","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)8068_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":8061,"contract":"lib/forge-std/src/Test.sol:Test","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":8063,"contract":"lib/forge-std/src/Test.sol:Test","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":8065,"contract":"lib/forge-std/src/Test.sol:Test","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":8067,"contract":"lib/forge-std/src/Test.sol:Test","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzArtifactSelector)6690_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzArtifactSelector","numberOfBytes":"64","members":[{"astId":6686,"contract":"lib/forge-std/src/Test.sol:Test","label":"artifact","offset":0,"slot":"0","type":"t_string_storage"},{"astId":6689,"contract":"lib/forge-std/src/Test.sol:Test","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(FuzzInterface)6696_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":6692,"contract":"lib/forge-std/src/Test.sol:Test","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":6695,"contract":"lib/forge-std/src/Test.sol:Test","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)6684_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":6680,"contract":"lib/forge-std/src/Test.sol:Test","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":6683,"contract":"lib/forge-std/src/Test.sol:Test","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(StdStorage)8093_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":8077,"contract":"lib/forge-std/src/Test.sol:Test","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))"},{"astId":8080,"contract":"lib/forge-std/src/Test.sol:Test","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":8082,"contract":"lib/forge-std/src/Test.sol:Test","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":8084,"contract":"lib/forge-std/src/Test.sol:Test","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":8086,"contract":"lib/forge-std/src/Test.sol:Test","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":8088,"contract":"lib/forge-std/src/Test.sol:Test","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":8090,"contract":"lib/forge-std/src/Test.sol:Test","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":8092,"contract":"lib/forge-std/src/Test.sol:Test","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"}}}},"lib/forge-std/src/Vm.sol":{"Vm":{"abi":[{"type":"function","name":"accessList","inputs":[{"name":"access","type":"tuple[]","internalType":"struct VmSafe.AccessListItem[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"storageKeys","type":"bytes32[]","internalType":"bytes32[]"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"accesses","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[{"name":"readSlots","type":"bytes32[]","internalType":"bytes32[]"},{"name":"writeSlots","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"activeFork","inputs":[],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"addr","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"allowCheatcodes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertFalse","inputs":[{"name":"condition","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertFalse","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertTrue","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertTrue","inputs":[{"name":"condition","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assume","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assumeNoRevert","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assumeNoRevert","inputs":[{"name":"potentialReverts","type":"tuple[]","internalType":"struct VmSafe.PotentialRevert[]","components":[{"name":"reverter","type":"address","internalType":"address"},{"name":"partialMatch","type":"bool","internalType":"bool"},{"name":"revertData","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assumeNoRevert","inputs":[{"name":"potentialRevert","type":"tuple","internalType":"struct VmSafe.PotentialRevert","components":[{"name":"reverter","type":"address","internalType":"address"},{"name":"partialMatch","type":"bool","internalType":"bool"},{"name":"revertData","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"attachBlob","inputs":[{"name":"blob","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"attachDelegation","inputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"blobBaseFee","inputs":[{"name":"newBlobBaseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"blobhashes","inputs":[{"name":"hashes","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"breakpoint","inputs":[{"name":"char","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"breakpoint","inputs":[{"name":"char","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"broadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcastRawTransaction","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"chainId","inputs":[{"name":"newChainId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"clearMockedCalls","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cloneAccount","inputs":[{"name":"source","type":"address","internalType":"address"},{"name":"target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"closeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"coinbase","inputs":[{"name":"newCoinbase","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"computeCreate2Address","inputs":[{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"initCodeHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"computeCreate2Address","inputs":[{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"initCodeHash","type":"bytes32","internalType":"bytes32"},{"name":"deployer","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"computeCreateAddress","inputs":[{"name":"deployer","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"contains","inputs":[{"name":"subject","type":"string","internalType":"string"},{"name":"search","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"cool","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"coolSlot","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"copyFile","inputs":[{"name":"from","type":"string","internalType":"string"},{"name":"to","type":"string","internalType":"string"}],"outputs":[{"name":"copied","type":"uint64","internalType":"uint64"}],"stateMutability":"nonpayable"},{"type":"function","name":"copyStorage","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"recursive","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSelectFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSelectFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSelectFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"walletLabel","type":"string","internalType":"string"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"walletLabel","type":"string","internalType":"string"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"deal","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newBalance","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteSnapshot","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"deleteSnapshots","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteStateSnapshot","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"deleteStateSnapshots","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"},{"name":"language","type":"string","internalType":"string"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"},{"name":"language","type":"string","internalType":"string"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"difficulty","inputs":[{"name":"newDifficulty","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"dumpState","inputs":[{"name":"pathToStateJson","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"ensNamehash","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"envExists","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool","internalType":"bool"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256","internalType":"int256"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"etch","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"newRuntimeBytecode","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"eth_getLogs","inputs":[{"name":"fromBlock","type":"uint256","internalType":"uint256"},{"name":"toBlock","type":"uint256","internalType":"uint256"},{"name":"target","type":"address","internalType":"address"},{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"logs","type":"tuple[]","internalType":"struct VmSafe.EthGetLogs[]","components":[{"name":"emitter","type":"address","internalType":"address"},{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"transactionHash","type":"bytes32","internalType":"bytes32"},{"name":"transactionIndex","type":"uint64","internalType":"uint64"},{"name":"logIndex","type":"uint256","internalType":"uint256"},{"name":"removed","type":"bool","internalType":"bool"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"exists","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"gas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"gas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCallMinGas","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"minGas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCallMinGas","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"minGas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCreate","inputs":[{"name":"bytecode","type":"bytes","internalType":"bytes"},{"name":"deployer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCreate2","inputs":[{"name":"bytecode","type":"bytes","internalType":"bytes"},{"name":"deployer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"},{"name":"emitter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"emitter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"emitter","type":"address","internalType":"address"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"},{"name":"emitter","type":"address","internalType":"address"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmitAnonymous","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmitAnonymous","inputs":[{"name":"emitter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmitAnonymous","inputs":[{"name":"checkTopic0","type":"bool","internalType":"bool"},{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"},{"name":"emitter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmitAnonymous","inputs":[{"name":"checkTopic0","type":"bool","internalType":"bool"},{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectPartialRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectPartialRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"},{"name":"reverter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"reverter","type":"address","internalType":"address"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"},{"name":"reverter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes","internalType":"bytes"},{"name":"reverter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"},{"name":"reverter","type":"address","internalType":"address"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes","internalType":"bytes"},{"name":"reverter","type":"address","internalType":"address"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"reverter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectSafeMemory","inputs":[{"name":"min","type":"uint64","internalType":"uint64"},{"name":"max","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectSafeMemoryCall","inputs":[{"name":"min","type":"uint64","internalType":"uint64"},{"name":"max","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fee","inputs":[{"name":"newBasefee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"ffi","inputs":[{"name":"commandInput","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"result","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"foundryVersionAtLeast","inputs":[{"name":"version","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"foundryVersionCmp","inputs":[{"name":"version","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"fsMetadata","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"metadata","type":"tuple","internalType":"struct VmSafe.FsMetadata","components":[{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"},{"name":"length","type":"uint256","internalType":"uint256"},{"name":"readOnly","type":"bool","internalType":"bool"},{"name":"modified","type":"uint256","internalType":"uint256"},{"name":"accessed","type":"uint256","internalType":"uint256"},{"name":"created","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getArtifactPathByCode","inputs":[{"name":"code","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getArtifactPathByDeployedCode","inputs":[{"name":"deployedCode","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getBlobBaseFee","inputs":[],"outputs":[{"name":"blobBaseFee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlobhashes","inputs":[],"outputs":[{"name":"hashes","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"height","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBroadcast","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"}],"outputs":[{"name":"","type":"tuple","internalType":"struct VmSafe.BroadcastTxSummary","components":[{"name":"txHash","type":"bytes32","internalType":"bytes32"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"success","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getBroadcasts","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct VmSafe.BroadcastTxSummary[]","components":[{"name":"txHash","type":"bytes32","internalType":"bytes32"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"success","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getBroadcasts","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct VmSafe.BroadcastTxSummary[]","components":[{"name":"txHash","type":"bytes32","internalType":"bytes32"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"success","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getChain","inputs":[{"name":"chainAlias","type":"string","internalType":"string"}],"outputs":[{"name":"chain","type":"tuple","internalType":"struct VmSafe.Chain","components":[{"name":"name","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"chainAlias","type":"string","internalType":"string"},{"name":"rpcUrl","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getChain","inputs":[{"name":"chainId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"chain","type":"tuple","internalType":"struct VmSafe.Chain","components":[{"name":"name","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"chainAlias","type":"string","internalType":"string"},{"name":"rpcUrl","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"creationBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDeployedCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"runtimeBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDeployment","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDeployment","inputs":[{"name":"contractName","type":"string","internalType":"string"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDeployments","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"deployedAddresses","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getFoundryVersion","inputs":[],"outputs":[{"name":"version","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getLabel","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"currentLabel","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getMappingKeyAndParentOf","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"elementSlot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"found","type":"bool","internalType":"bool"},{"name":"key","type":"bytes32","internalType":"bytes32"},{"name":"parent","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getMappingLength","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"mappingSlot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"length","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getMappingSlotAt","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"mappingSlot","type":"bytes32","internalType":"bytes32"},{"name":"idx","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getNonce","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"nonpayable"},{"type":"function","name":"getRecordedLogs","inputs":[],"outputs":[{"name":"logs","type":"tuple[]","internalType":"struct VmSafe.Log[]","components":[{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"emitter","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"getStateDiff","inputs":[],"outputs":[{"name":"diff","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getStateDiffJson","inputs":[],"outputs":[{"name":"diff","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getWallets","inputs":[],"outputs":[{"name":"wallets","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"indexOf","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"interceptInitcode","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isContext","inputs":[{"name":"context","type":"uint8","internalType":"enum VmSafe.ForgeContext"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDir","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPersistent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"persistent","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExists","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExistsJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExistsToml","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"label","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newLabel","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"lastCallGas","inputs":[],"outputs":[{"name":"gas","type":"tuple","internalType":"struct VmSafe.Gas","components":[{"name":"gasLimit","type":"uint64","internalType":"uint64"},{"name":"gasTotalUsed","type":"uint64","internalType":"uint64"},{"name":"gasMemoryUsed","type":"uint64","internalType":"uint64"},{"name":"gasRefunded","type":"int64","internalType":"int64"},{"name":"gasRemaining","type":"uint64","internalType":"uint64"}]}],"stateMutability":"view"},{"type":"function","name":"load","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"data","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"loadAllocs","inputs":[{"name":"pathToAllocsJson","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"accounts","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"account0","type":"address","internalType":"address"},{"name":"account1","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"account0","type":"address","internalType":"address"},{"name":"account1","type":"address","internalType":"address"},{"name":"account2","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes4","internalType":"bytes4"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes4","internalType":"bytes4"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCallRevert","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes4","internalType":"bytes4"},{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCallRevert","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes4","internalType":"bytes4"},{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCallRevert","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCallRevert","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCalls","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCalls","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockFunction","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"noAccessList","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"parseAddress","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseBool","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes32","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseInt","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonAddress","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonAddressArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBool","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBoolArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes32","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes32Array","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytesArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonInt","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonIntArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256[]","internalType":"int256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonKeys","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"keys","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonString","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonStringArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonType","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonType","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonTypeArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonUint","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonUintArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseToml","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseToml","inputs":[{"name":"toml","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlAddress","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlAddressArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBool","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBoolArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes32","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes32Array","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytesArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlInt","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlIntArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256[]","internalType":"int256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlKeys","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"keys","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlString","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlStringArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlType","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlType","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlTypeArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlUint","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlUintArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseUint","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"pauseGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pauseTracing","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"prank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"},{"name":"delegateCall","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"delegateCall","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prank","inputs":[{"name":"msgSender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prevrandao","inputs":[{"name":"newPrevrandao","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prevrandao","inputs":[{"name":"newPrevrandao","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"projectRoot","inputs":[],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"prompt","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"input","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptAddress","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptSecret","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"input","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptSecretUint","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptUint","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"publicKeyP256","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomBool","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"randomBytes","inputs":[{"name":"len","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"randomBytes4","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"randomBytes8","inputs":[],"outputs":[{"name":"","type":"bytes8","internalType":"bytes8"}],"stateMutability":"view"},{"type":"function","name":"randomInt","inputs":[],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"randomInt","inputs":[{"name":"bits","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"randomUint","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomUint","inputs":[{"name":"bits","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"randomUint","inputs":[{"name":"min","type":"uint256","internalType":"uint256"},{"name":"max","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"readCallers","inputs":[],"outputs":[{"name":"callerMode","type":"uint8","internalType":"enum VmSafe.CallerMode"},{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"maxDepth","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"maxDepth","type":"uint64","internalType":"uint64"},{"name":"followLinks","type":"bool","internalType":"bool"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"readLine","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"line","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readLink","inputs":[{"name":"linkPath","type":"string","internalType":"string"}],"outputs":[{"name":"targetPath","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"record","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordLogs","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKey","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKeys","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"count","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"keyAddrs","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKeys","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"language","type":"string","internalType":"string"},{"name":"count","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"keyAddrs","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"removeDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"recursive","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"replace","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"from","type":"string","internalType":"string"},{"name":"to","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"resetGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resetNonce","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resumeGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resumeTracing","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"revertTo","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"revertToAndDelete","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"revertToState","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"revertToStateAndDelete","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"revokePersistent","inputs":[{"name":"accounts","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokePersistent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"roll","inputs":[{"name":"newHeight","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rpc","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"method","type":"string","internalType":"string"},{"name":"params","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"rpc","inputs":[{"name":"method","type":"string","internalType":"string"},{"name":"params","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"rpcUrl","inputs":[{"name":"rpcAlias","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"rpcUrlStructs","inputs":[],"outputs":[{"name":"urls","type":"tuple[]","internalType":"struct VmSafe.Rpc[]","components":[{"name":"key","type":"string","internalType":"string"},{"name":"url","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"rpcUrls","inputs":[],"outputs":[{"name":"urls","type":"string[2][]","internalType":"string[2][]"}],"stateMutability":"view"},{"type":"function","name":"selectFork","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeJson","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeJsonType","inputs":[{"name":"typeDescription","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"serializeJsonType","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUintToHex","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitraryStorage","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"overwrite","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitraryStorage","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBlockhash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEnv","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newNonce","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNonceUnsafe","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newNonce","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"shuffle","inputs":[{"name":"array","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"sign","inputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"sign","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"sign","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"sign","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signAndAttachDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signAndAttachDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signCompact","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"signCompact","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signCompact","inputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signCompact","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signP256","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"skip","inputs":[{"name":"skipTest","type":"bool","internalType":"bool"},{"name":"reason","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"skip","inputs":[{"name":"skipTest","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sleep","inputs":[{"name":"duration","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"snapshot","inputs":[],"outputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"snapshotGasLastCall","inputs":[{"name":"group","type":"string","internalType":"string"},{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"gasUsed","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"snapshotGasLastCall","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"gasUsed","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"snapshotState","inputs":[],"outputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"snapshotValue","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"snapshotValue","inputs":[{"name":"group","type":"string","internalType":"string"},{"name":"name","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sort","inputs":[{"name":"array","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"split","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"delimiter","type":"string","internalType":"string"}],"outputs":[{"name":"outputs","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"startBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startDebugTraceRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startMappingRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPrank","inputs":[{"name":"msgSender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPrank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"delegateCall","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPrank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPrank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"},{"name":"delegateCall","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startSnapshotGas","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startSnapshotGas","inputs":[{"name":"group","type":"string","internalType":"string"},{"name":"name","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startStateDiffRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopAndReturnDebugTraceRecording","inputs":[],"outputs":[{"name":"step","type":"tuple[]","internalType":"struct VmSafe.DebugStep[]","components":[{"name":"stack","type":"uint256[]","internalType":"uint256[]"},{"name":"memoryInput","type":"bytes","internalType":"bytes"},{"name":"opcode","type":"uint8","internalType":"uint8"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isOutOfGas","type":"bool","internalType":"bool"},{"name":"contractAddr","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"stopAndReturnStateDiff","inputs":[],"outputs":[{"name":"accountAccesses","type":"tuple[]","internalType":"struct VmSafe.AccountAccess[]","components":[{"name":"chainInfo","type":"tuple","internalType":"struct VmSafe.ChainInfo","components":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"chainId","type":"uint256","internalType":"uint256"}]},{"name":"kind","type":"uint8","internalType":"enum VmSafe.AccountAccessKind"},{"name":"account","type":"address","internalType":"address"},{"name":"accessor","type":"address","internalType":"address"},{"name":"initialized","type":"bool","internalType":"bool"},{"name":"oldBalance","type":"uint256","internalType":"uint256"},{"name":"newBalance","type":"uint256","internalType":"uint256"},{"name":"deployedCode","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"reverted","type":"bool","internalType":"bool"},{"name":"storageAccesses","type":"tuple[]","internalType":"struct VmSafe.StorageAccess[]","components":[{"name":"account","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"isWrite","type":"bool","internalType":"bool"},{"name":"previousValue","type":"bytes32","internalType":"bytes32"},{"name":"newValue","type":"bytes32","internalType":"bytes32"},{"name":"reverted","type":"bool","internalType":"bool"}]},{"name":"depth","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"stopBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopExpectSafeMemory","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopMappingRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopPrank","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopSnapshotGas","inputs":[{"name":"group","type":"string","internalType":"string"},{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"gasUsed","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"stopSnapshotGas","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"gasUsed","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"stopSnapshotGas","inputs":[],"outputs":[{"name":"gasUsed","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"store","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"toBase64","inputs":[{"name":"data","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64URL","inputs":[{"name":"data","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64URL","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toLowercase","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toUppercase","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"transact","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transact","inputs":[{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"trim","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"tryFfi","inputs":[{"name":"commandInput","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"result","type":"tuple","internalType":"struct VmSafe.FfiResult","components":[{"name":"exitCode","type":"int32","internalType":"int32"},{"name":"stdout","type":"bytes","internalType":"bytes"},{"name":"stderr","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"txGasPrice","inputs":[{"name":"newGasPrice","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unixTime","inputs":[],"outputs":[{"name":"milliseconds","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"warmSlot","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"warp","inputs":[{"name":"newTimestamp","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeFile","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeLine","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeToml","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeToml","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"storageKeys\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct VmSafe.AccessListItem[]\",\"name\":\"access\",\"type\":\"tuple[]\"}],\"name\":\"accessList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"readSlots\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writeSlots\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"allowCheatcodes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertFalse\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assertFalse\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assertTrue\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertTrue\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assumeNoRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"partialMatch\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.PotentialRevert[]\",\"name\":\"potentialReverts\",\"type\":\"tuple[]\"}],\"name\":\"assumeNoRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"partialMatch\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.PotentialRevert\",\"name\":\"potentialRevert\",\"type\":\"tuple\"}],\"name\":\"assumeNoRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"blob\",\"type\":\"bytes\"}],\"name\":\"attachBlob\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"name\":\"attachDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newBlobBaseFee\",\"type\":\"uint256\"}],\"name\":\"blobBaseFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"hashes\",\"type\":\"bytes32[]\"}],\"name\":\"blobhashes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"broadcastRawTransaction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newChainId\",\"type\":\"uint256\"}],\"name\":\"chainId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clearMockedCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"source\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"cloneAccount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newCoinbase\",\"type\":\"address\"}],\"name\":\"coinbase\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"initCodeHash\",\"type\":\"bytes32\"}],\"name\":\"computeCreate2Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"initCodeHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"}],\"name\":\"computeCreate2Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"computeCreateAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"subject\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"search\",\"type\":\"string\"}],\"name\":\"contains\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"cool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"coolSlot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"from\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"to\",\"type\":\"string\"}],\"name\":\"copyFile\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"copied\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"copyStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"createDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"walletLabel\",\"type\":\"string\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"walletLabel\",\"type\":\"string\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"deal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"deleteSnapshot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deleteSnapshots\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"deleteStateSnapshot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deleteStateSnapshots\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newDifficulty\",\"type\":\"uint256\"}],\"name\":\"difficulty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"pathToStateJson\",\"type\":\"string\"}],\"name\":\"dumpState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"ensNamehash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"defaultValue\",\"type\":\"bytes32[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"defaultValue\",\"type\":\"int256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"defaultValue\",\"type\":\"bool\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"defaultValue\",\"type\":\"address\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"defaultValue\",\"type\":\"uint256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"defaultValue\",\"type\":\"bytes[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"defaultValue\",\"type\":\"uint256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"defaultValue\",\"type\":\"string[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"defaultValue\",\"type\":\"bytes\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"defaultValue\",\"type\":\"bytes32\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"defaultValue\",\"type\":\"int256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultValue\",\"type\":\"address[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"defaultValue\",\"type\":\"string\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"defaultValue\",\"type\":\"bool[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"newRuntimeBytecode\",\"type\":\"bytes\"}],\"name\":\"etch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"fromBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"toBlock\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"}],\"name\":\"eth_getLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"transactionHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"transactionIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"logIndex\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"removed\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.EthGetLogs[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"exists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"gas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"gas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minGas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCallMinGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minGas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCallMinGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"}],\"name\":\"expectCreate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"}],\"name\":\"expectCreate2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectEmitAnonymous\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmitAnonymous\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic0\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmitAnonymous\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic0\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"}],\"name\":\"expectEmitAnonymous\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"}],\"name\":\"expectPartialRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"},{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"}],\"name\":\"expectPartialRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"},{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"},{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"min\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"max\",\"type\":\"uint64\"}],\"name\":\"expectSafeMemory\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"min\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"max\",\"type\":\"uint64\"}],\"name\":\"expectSafeMemoryCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newBasefee\",\"type\":\"uint256\"}],\"name\":\"fee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"name\":\"foundryVersionAtLeast\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"name\":\"foundryVersionCmp\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"fsMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"readOnly\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"modified\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.FsMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"code\",\"type\":\"bytes\"}],\"name\":\"getArtifactPathByCode\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"deployedCode\",\"type\":\"bytes\"}],\"name\":\"getArtifactPathByDeployedCode\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlobBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blobBaseFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlobhashes\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"hashes\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"height\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"}],\"name\":\"getBroadcast\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.BroadcastTxSummary\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"getBroadcasts\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.BroadcastTxSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"}],\"name\":\"getBroadcasts\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.BroadcastTxSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"chainAlias\",\"type\":\"string\"}],\"name\":\"getChain\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"chainAlias\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"rpcUrl\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Chain\",\"name\":\"chain\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"name\":\"getChain\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"chainAlias\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"rpcUrl\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Chain\",\"name\":\"chain\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"creationBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getDeployedCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"runtimeBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"getDeployment\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"name\":\"getDeployment\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"getDeployments\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"deployedAddresses\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFoundryVersion\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getLabel\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"currentLabel\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"elementSlot\",\"type\":\"bytes32\"}],\"name\":\"getMappingKeyAndParentOf\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"found\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"parent\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"mappingSlot\",\"type\":\"bytes32\"}],\"name\":\"getMappingLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"mappingSlot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"idx\",\"type\":\"uint256\"}],\"name\":\"getMappingSlotAt\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.Log[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateDiff\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"diff\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateDiffJson\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"diff\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWallets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"wallets\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"indexOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"interceptInitcode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum VmSafe.ForgeContext\",\"name\":\"context\",\"type\":\"uint8\"}],\"name\":\"isContext\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"isDir\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"isFile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isPersistent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"persistent\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExistsJson\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExistsToml\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newLabel\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastCallGas\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"gasLimit\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasTotalUsed\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasMemoryUsed\",\"type\":\"uint64\"},{\"internalType\":\"int64\",\"name\":\"gasRefunded\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"gasRemaining\",\"type\":\"uint64\"}],\"internalType\":\"struct VmSafe.Gas\",\"name\":\"gas\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"pathToAllocsJson\",\"type\":\"string\"}],\"name\":\"loadAllocs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account1\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account1\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account2\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"data\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes4\",\"name\":\"data\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"data\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes4\",\"name\":\"data\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"name\":\"mockCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"name\":\"mockCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"mockFunction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"noAccessList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parsedValue\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"parsedValue\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"parsedValue\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"parsedValue\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"parsedValue\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonKeys\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"keys\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseJsonType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseJsonType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseJsonTypeArray\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseToml\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"}],\"name\":\"parseToml\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlKeys\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"keys\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseTomlType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseTomlType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseTomlTypeArray\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"parsedValue\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseTracing\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"newPrevrandao\",\"type\":\"bytes32\"}],\"name\":\"prevrandao\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newPrevrandao\",\"type\":\"uint256\"}],\"name\":\"prevrandao\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectRoot\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"prompt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptSecret\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptSecretUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"publicKeyP256\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"len\",\"type\":\"uint256\"}],\"name\":\"randomBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomBytes4\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomBytes8\",\"outputs\":[{\"internalType\":\"bytes8\",\"name\":\"\",\"type\":\"bytes8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"bits\",\"type\":\"uint256\"}],\"name\":\"randomInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"bits\",\"type\":\"uint256\"}],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"readCallers\",\"outputs\":[{\"internalType\":\"enum VmSafe.CallerMode\",\"name\":\"callerMode\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"followLinks\",\"type\":\"bool\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFileBinary\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"line\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"linkPath\",\"type\":\"string\"}],\"name\":\"readLink\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"targetPath\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"rememberKey\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"count\",\"type\":\"uint32\"}],\"name\":\"rememberKeys\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"keyAddrs\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"count\",\"type\":\"uint32\"}],\"name\":\"rememberKeys\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"keyAddrs\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"removeDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"from\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"to\",\"type\":\"string\"}],\"name\":\"replace\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resetGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"resetNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeTracing\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertToAndDelete\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertToState\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertToStateAndDelete\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newHeight\",\"type\":\"uint256\"}],\"name\":\"roll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"method\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"params\",\"type\":\"string\"}],\"name\":\"rpc\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"method\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"params\",\"type\":\"string\"}],\"name\":\"rpc\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"rpcAlias\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrlStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Rpc[]\",\"name\":\"urls\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"urls\",\"type\":\"string[2][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"name\":\"selectFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"values\",\"type\":\"address[]\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"values\",\"type\":\"bool[]\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"values\",\"type\":\"bytes32[]\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"values\",\"type\":\"int256[]\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeJson\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeJsonType\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeJsonType\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"values\",\"type\":\"string[]\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUintToHex\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"overwrite\",\"type\":\"bool\"}],\"name\":\"setArbitraryStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"setArbitraryStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"name\":\"setBlockhash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"name\":\"setNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"name\":\"setNonceUnsafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"array\",\"type\":\"uint256[]\"}],\"name\":\"shuffle\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"signAndAttachDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"name\":\"signAndAttachDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"signDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"name\":\"signDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signP256\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"skipTest\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"skip\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"skipTest\",\"type\":\"bool\"}],\"name\":\"skip\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"sleep\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"snapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"group\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"snapshotGasLastCall\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"snapshotGasLastCall\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"snapshotState\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"snapshotValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"group\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"snapshotValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"array\",\"type\":\"uint256[]\"}],\"name\":\"sort\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delimiter\",\"type\":\"string\"}],\"name\":\"split\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"outputs\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startDebugTraceRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startMappingRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"startSnapshotGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"group\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"startSnapshotGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startStateDiffRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopAndReturnDebugTraceRecording\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"stack\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"memoryInput\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"opcode\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isOutOfGas\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"contractAddr\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.DebugStep[]\",\"name\":\"step\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopAndReturnStateDiff\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.ChainInfo\",\"name\":\"chainInfo\",\"type\":\"tuple\"},{\"internalType\":\"enum VmSafe.AccountAccessKind\",\"name\":\"kind\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"accessor\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"oldBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"deployedCode\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isWrite\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"previousValue\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newValue\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.StorageAccess[]\",\"name\":\"storageAccesses\",\"type\":\"tuple[]\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"}],\"internalType\":\"struct VmSafe.AccountAccess[]\",\"name\":\"accountAccesses\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopExpectSafeMemory\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopMappingRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"group\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"stopSnapshotGas\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"stopSnapshotGas\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopSnapshotGas\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"toBase64\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"toBase64\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"toBase64URL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"toBase64URL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"toLowercase\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"toUppercase\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"transact\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"transact\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"trim\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"tryFfi\",\"outputs\":[{\"components\":[{\"internalType\":\"int32\",\"name\":\"exitCode\",\"type\":\"int32\"},{\"internalType\":\"bytes\",\"name\":\"stdout\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"stderr\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.FfiResult\",\"name\":\"result\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newGasPrice\",\"type\":\"uint256\"}],\"name\":\"txGasPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unixTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"milliseconds\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"warmSlot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newTimestamp\",\"type\":\"uint256\"}],\"name\":\"warp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"writeFileBinary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeToml\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeToml\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"accessList((address,bytes32[])[])\":{\"notice\":\"Utility cheatcode to set an EIP-2930 access list for all subsequent transactions.\"},\"accesses(address)\":{\"notice\":\"Gets all accessed reads and write slot from a `vm.record` session, for a given address.\"},\"activeFork()\":{\"notice\":\"Returns the identifier of the currently active fork. Reverts if no fork is currently active.\"},\"addr(uint256)\":{\"notice\":\"Gets the address for a given private key.\"},\"allowCheatcodes(address)\":{\"notice\":\"In forking mode, explicitly grant the given address cheatcode access.\"},\"assertApproxEqAbs(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\"},\"assertApproxEqAbs(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure.\"},\"assertApproxEqAbs(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\"},\"assertApproxEqAbs(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure.\"},\"assertApproxEqAbsDecimal(int256,int256,uint256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message.\"},\"assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message.\"},\"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqRel(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\"},\"assertApproxEqRel(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure.\"},\"assertApproxEqRel(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\"},\"assertApproxEqRel(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure.\"},\"assertApproxEqRelDecimal(int256,int256,uint256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message.\"},\"assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message.\"},\"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertEq(address,address)\":{\"notice\":\"Asserts that two `address` values are equal.\"},\"assertEq(address,address,string)\":{\"notice\":\"Asserts that two `address` values are equal and includes error message into revert string on failure.\"},\"assertEq(address[],address[])\":{\"notice\":\"Asserts that two arrays of `address` values are equal.\"},\"assertEq(address[],address[],string)\":{\"notice\":\"Asserts that two arrays of `address` values are equal and includes error message into revert string on failure.\"},\"assertEq(bool,bool)\":{\"notice\":\"Asserts that two `bool` values are equal.\"},\"assertEq(bool,bool,string)\":{\"notice\":\"Asserts that two `bool` values are equal and includes error message into revert string on failure.\"},\"assertEq(bool[],bool[])\":{\"notice\":\"Asserts that two arrays of `bool` values are equal.\"},\"assertEq(bool[],bool[],string)\":{\"notice\":\"Asserts that two arrays of `bool` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes,bytes)\":{\"notice\":\"Asserts that two `bytes` values are equal.\"},\"assertEq(bytes,bytes,string)\":{\"notice\":\"Asserts that two `bytes` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes32,bytes32)\":{\"notice\":\"Asserts that two `bytes32` values are equal.\"},\"assertEq(bytes32,bytes32,string)\":{\"notice\":\"Asserts that two `bytes32` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes32[],bytes32[])\":{\"notice\":\"Asserts that two arrays of `bytes32` values are equal.\"},\"assertEq(bytes32[],bytes32[],string)\":{\"notice\":\"Asserts that two arrays of `bytes32` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes[],bytes[])\":{\"notice\":\"Asserts that two arrays of `bytes` values are equal.\"},\"assertEq(bytes[],bytes[],string)\":{\"notice\":\"Asserts that two arrays of `bytes` values are equal and includes error message into revert string on failure.\"},\"assertEq(int256,int256)\":{\"notice\":\"Asserts that two `int256` values are equal.\"},\"assertEq(int256,int256,string)\":{\"notice\":\"Asserts that two `int256` values are equal and includes error message into revert string on failure.\"},\"assertEq(int256[],int256[])\":{\"notice\":\"Asserts that two arrays of `int256` values are equal.\"},\"assertEq(int256[],int256[],string)\":{\"notice\":\"Asserts that two arrays of `int256` values are equal and includes error message into revert string on failure.\"},\"assertEq(string,string)\":{\"notice\":\"Asserts that two `string` values are equal.\"},\"assertEq(string,string,string)\":{\"notice\":\"Asserts that two `string` values are equal and includes error message into revert string on failure.\"},\"assertEq(string[],string[])\":{\"notice\":\"Asserts that two arrays of `string` values are equal.\"},\"assertEq(string[],string[],string)\":{\"notice\":\"Asserts that two arrays of `string` values are equal and includes error message into revert string on failure.\"},\"assertEq(uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are equal.\"},\"assertEq(uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are equal and includes error message into revert string on failure.\"},\"assertEq(uint256[],uint256[])\":{\"notice\":\"Asserts that two arrays of `uint256 values are equal.\"},\"assertEq(uint256[],uint256[],string)\":{\"notice\":\"Asserts that two arrays of `uint256` values are equal and includes error message into revert string on failure.\"},\"assertEqDecimal(int256,int256,uint256)\":{\"notice\":\"Asserts that two `int256` values are equal, formatting them with decimals in failure message.\"},\"assertEqDecimal(int256,int256,uint256,string)\":{\"notice\":\"Asserts that two `int256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertEqDecimal(uint256,uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are equal, formatting them with decimals in failure message.\"},\"assertEqDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertFalse(bool)\":{\"notice\":\"Asserts that the given condition is false.\"},\"assertFalse(bool,string)\":{\"notice\":\"Asserts that the given condition is false and includes error message into revert string on failure.\"},\"assertGe(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second.\"},\"assertGe(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure.\"},\"assertGe(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second.\"},\"assertGe(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure.\"},\"assertGeDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message.\"},\"assertGeDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGeDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message.\"},\"assertGeDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGt(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second.\"},\"assertGt(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Includes error message into revert string on failure.\"},\"assertGt(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second.\"},\"assertGt(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Includes error message into revert string on failure.\"},\"assertGtDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message.\"},\"assertGtDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGtDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message.\"},\"assertGtDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLe(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second.\"},\"assertLe(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure.\"},\"assertLe(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second.\"},\"assertLe(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure.\"},\"assertLeDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message.\"},\"assertLeDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLeDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message.\"},\"assertLeDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLt(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second.\"},\"assertLt(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Includes error message into revert string on failure.\"},\"assertLt(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second.\"},\"assertLt(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Includes error message into revert string on failure.\"},\"assertLtDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message.\"},\"assertLtDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLtDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message.\"},\"assertLtDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertNotEq(address,address)\":{\"notice\":\"Asserts that two `address` values are not equal.\"},\"assertNotEq(address,address,string)\":{\"notice\":\"Asserts that two `address` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(address[],address[])\":{\"notice\":\"Asserts that two arrays of `address` values are not equal.\"},\"assertNotEq(address[],address[],string)\":{\"notice\":\"Asserts that two arrays of `address` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bool,bool)\":{\"notice\":\"Asserts that two `bool` values are not equal.\"},\"assertNotEq(bool,bool,string)\":{\"notice\":\"Asserts that two `bool` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bool[],bool[])\":{\"notice\":\"Asserts that two arrays of `bool` values are not equal.\"},\"assertNotEq(bool[],bool[],string)\":{\"notice\":\"Asserts that two arrays of `bool` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes,bytes)\":{\"notice\":\"Asserts that two `bytes` values are not equal.\"},\"assertNotEq(bytes,bytes,string)\":{\"notice\":\"Asserts that two `bytes` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes32,bytes32)\":{\"notice\":\"Asserts that two `bytes32` values are not equal.\"},\"assertNotEq(bytes32,bytes32,string)\":{\"notice\":\"Asserts that two `bytes32` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes32[],bytes32[])\":{\"notice\":\"Asserts that two arrays of `bytes32` values are not equal.\"},\"assertNotEq(bytes32[],bytes32[],string)\":{\"notice\":\"Asserts that two arrays of `bytes32` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes[],bytes[])\":{\"notice\":\"Asserts that two arrays of `bytes` values are not equal.\"},\"assertNotEq(bytes[],bytes[],string)\":{\"notice\":\"Asserts that two arrays of `bytes` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(int256,int256)\":{\"notice\":\"Asserts that two `int256` values are not equal.\"},\"assertNotEq(int256,int256,string)\":{\"notice\":\"Asserts that two `int256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(int256[],int256[])\":{\"notice\":\"Asserts that two arrays of `int256` values are not equal.\"},\"assertNotEq(int256[],int256[],string)\":{\"notice\":\"Asserts that two arrays of `int256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(string,string)\":{\"notice\":\"Asserts that two `string` values are not equal.\"},\"assertNotEq(string,string,string)\":{\"notice\":\"Asserts that two `string` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(string[],string[])\":{\"notice\":\"Asserts that two arrays of `string` values are not equal.\"},\"assertNotEq(string[],string[],string)\":{\"notice\":\"Asserts that two arrays of `string` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are not equal.\"},\"assertNotEq(uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(uint256[],uint256[])\":{\"notice\":\"Asserts that two arrays of `uint256` values are not equal.\"},\"assertNotEq(uint256[],uint256[],string)\":{\"notice\":\"Asserts that two arrays of `uint256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEqDecimal(int256,int256,uint256)\":{\"notice\":\"Asserts that two `int256` values are not equal, formatting them with decimals in failure message.\"},\"assertNotEqDecimal(int256,int256,uint256,string)\":{\"notice\":\"Asserts that two `int256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertNotEqDecimal(uint256,uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message.\"},\"assertNotEqDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertTrue(bool)\":{\"notice\":\"Asserts that the given condition is true.\"},\"assertTrue(bool,string)\":{\"notice\":\"Asserts that the given condition is true and includes error message into revert string on failure.\"},\"assume(bool)\":{\"notice\":\"If the condition is false, discard this run's fuzz inputs and generate new ones.\"},\"assumeNoRevert((address,bool,bytes))\":{\"notice\":\"Discard this run's fuzz inputs and generate new ones if next call reverts with the potential revert parameters.\"},\"assumeNoRevert((address,bool,bytes)[])\":{\"notice\":\"Discard this run's fuzz inputs and generate new ones if next call reverts with the any of the potential revert parameters.\"},\"assumeNoRevert()\":{\"notice\":\"Discard this run's fuzz inputs and generate new ones if next call reverted.\"},\"attachBlob(bytes)\":{\"notice\":\"Attach an EIP-4844 blob to the next call\"},\"attachDelegation((uint8,bytes32,bytes32,uint64,address))\":{\"notice\":\"Designate the next call as an EIP-7702 transaction\"},\"blobBaseFee(uint256)\":{\"notice\":\"Sets `block.blobbasefee`\"},\"blobhashes(bytes32[])\":{\"notice\":\"Sets the blobhashes in the transaction. Not available on EVM versions before Cancun. If used on unsupported EVM versions it will revert.\"},\"breakpoint(string)\":{\"notice\":\"Writes a breakpoint to jump to in the debugger.\"},\"breakpoint(string,bool)\":{\"notice\":\"Writes a conditional breakpoint to jump to in the debugger.\"},\"broadcast()\":{\"notice\":\"Has the next call (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used.\"},\"broadcast(address)\":{\"notice\":\"Has the next call (at this call depth only) create a transaction with the address provided as the sender that can later be signed and sent onchain.\"},\"broadcast(uint256)\":{\"notice\":\"Has the next call (at this call depth only) create a transaction with the private key provided as the sender that can later be signed and sent onchain.\"},\"broadcastRawTransaction(bytes)\":{\"notice\":\"Takes a signed transaction and broadcasts it to the network.\"},\"chainId(uint256)\":{\"notice\":\"Sets `block.chainid`.\"},\"clearMockedCalls()\":{\"notice\":\"Clears all mocked calls.\"},\"cloneAccount(address,address)\":{\"notice\":\"Clones a source account code, state, balance and nonce to a target account and updates in-memory EVM state.\"},\"closeFile(string)\":{\"notice\":\"Closes file for reading, resetting the offset and allowing to read it from beginning with readLine. `path` is relative to the project root.\"},\"coinbase(address)\":{\"notice\":\"Sets `block.coinbase`.\"},\"computeCreate2Address(bytes32,bytes32)\":{\"notice\":\"Compute the address of a contract created with CREATE2 using the default CREATE2 deployer.\"},\"computeCreate2Address(bytes32,bytes32,address)\":{\"notice\":\"Compute the address of a contract created with CREATE2 using the given CREATE2 deployer.\"},\"computeCreateAddress(address,uint256)\":{\"notice\":\"Compute the address a contract will be deployed at for a given deployer address and nonce.\"},\"contains(string,string)\":{\"notice\":\"Returns true if `search` is found in `subject`, false otherwise.\"},\"cool(address)\":{\"notice\":\"Marks the slots of an account and the account address as cold.\"},\"coolSlot(address,bytes32)\":{\"notice\":\"Utility cheatcode to mark specific storage slot as cold, simulating no prior read.\"},\"copyFile(string,string)\":{\"notice\":\"Copies the contents of one file to another. This function will **overwrite** the contents of `to`. On success, the total number of bytes copied is returned and it is equal to the length of the `to` file as reported by `metadata`. Both `from` and `to` are relative to the project root.\"},\"copyStorage(address,address)\":{\"notice\":\"Utility cheatcode to copy storage of `from` contract to another `to` contract.\"},\"createDir(string,bool)\":{\"notice\":\"Creates a new, empty directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - User lacks permissions to modify `path`. - A parent of the given path doesn't exist and `recursive` is false. - `path` already exists and `recursive` is false. `path` is relative to the project root.\"},\"createFork(string)\":{\"notice\":\"Creates a new fork with the given endpoint and the _latest_ block and returns the identifier of the fork.\"},\"createFork(string,bytes32)\":{\"notice\":\"Creates a new fork with the given endpoint and at the block the given transaction was mined in, replays all transaction mined in the block before the transaction, and returns the identifier of the fork.\"},\"createFork(string,uint256)\":{\"notice\":\"Creates a new fork with the given endpoint and block and returns the identifier of the fork.\"},\"createSelectFork(string)\":{\"notice\":\"Creates and also selects a new fork with the given endpoint and the latest block and returns the identifier of the fork.\"},\"createSelectFork(string,bytes32)\":{\"notice\":\"Creates and also selects new fork with the given endpoint and at the block the given transaction was mined in, replays all transaction mined in the block before the transaction, returns the identifier of the fork.\"},\"createSelectFork(string,uint256)\":{\"notice\":\"Creates and also selects a new fork with the given endpoint and block and returns the identifier of the fork.\"},\"createWallet(string)\":{\"notice\":\"Derives a private key from the name, labels the account with that name, and returns the wallet.\"},\"createWallet(uint256)\":{\"notice\":\"Generates a wallet from the private key and returns the wallet.\"},\"createWallet(uint256,string)\":{\"notice\":\"Generates a wallet from the private key, labels the account with that name, and returns the wallet.\"},\"deal(address,uint256)\":{\"notice\":\"Sets an address' balance.\"},\"deleteSnapshot(uint256)\":{\"notice\":\"`deleteSnapshot` is being deprecated in favor of `deleteStateSnapshot`. It will be removed in future versions.\"},\"deleteSnapshots()\":{\"notice\":\"`deleteSnapshots` is being deprecated in favor of `deleteStateSnapshots`. It will be removed in future versions.\"},\"deleteStateSnapshot(uint256)\":{\"notice\":\"Removes the snapshot with the given ID created by `snapshot`. Takes the snapshot ID to delete. Returns `true` if the snapshot was successfully deleted. Returns `false` if the snapshot does not exist.\"},\"deleteStateSnapshots()\":{\"notice\":\"Removes _all_ snapshots previously created by `snapshot`.\"},\"deployCode(string)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"deployCode(string,bytes)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments.\"},\"deployCode(string,bytes,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments.\"},\"deployCode(string,bytes,uint256)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments and `msg.value`.\"},\"deployCode(string,bytes,uint256,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments and `msg.value`.\"},\"deployCode(string,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"deployCode(string,uint256)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts `msg.value`.\"},\"deployCode(string,uint256,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts `msg.value`.\"},\"deriveKey(string,string,uint32)\":{\"notice\":\"Derive a private key from a provided mnenomic string (or mnenomic file path) at `{derivationPath}{index}`.\"},\"deriveKey(string,string,uint32,string)\":{\"notice\":\"Derive a private key from a provided mnenomic string (or mnenomic file path) in the specified language at `{derivationPath}{index}`.\"},\"deriveKey(string,uint32)\":{\"notice\":\"Derive a private key from a provided mnenomic string (or mnenomic file path) at the derivation path `m/44'/60'/0'/0/{index}`.\"},\"deriveKey(string,uint32,string)\":{\"notice\":\"Derive a private key from a provided mnenomic string (or mnenomic file path) in the specified language at the derivation path `m/44'/60'/0'/0/{index}`.\"},\"difficulty(uint256)\":{\"notice\":\"Sets `block.difficulty`. Not available on EVM versions from Paris onwards. Use `prevrandao` instead. Reverts if used on unsupported EVM versions.\"},\"dumpState(string)\":{\"notice\":\"Dump a genesis JSON file's `allocs` to disk.\"},\"ensNamehash(string)\":{\"notice\":\"Returns ENS namehash for provided string.\"},\"envAddress(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `address`. Reverts if the variable was not found or could not be parsed.\"},\"envAddress(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBool(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable was not found or could not be parsed.\"},\"envBool(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes32(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes32(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envExists(string)\":{\"notice\":\"Gets the environment variable `name` and returns true if it exists, else returns false.\"},\"envInt(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable was not found or could not be parsed.\"},\"envInt(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envOr(string,address)\":{\"notice\":\"Gets the environment variable `name` and parses it as `address`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bool)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bytes)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bytes32)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,int256)\":{\"notice\":\"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `string`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,address[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bool[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bytes32[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bytes[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,int256[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,string[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,uint256[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,uint256)\":{\"notice\":\"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envString(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `string`. Reverts if the variable was not found or could not be parsed.\"},\"envString(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envUint(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable was not found or could not be parsed.\"},\"envUint(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"etch(address,bytes)\":{\"notice\":\"Sets an address' code.\"},\"eth_getLogs(uint256,uint256,address,bytes32[])\":{\"notice\":\"Gets all the logs according to specified filter.\"},\"exists(string)\":{\"notice\":\"Returns true if the given path points to an existing entity, else returns false.\"},\"expectCall(address,bytes)\":{\"notice\":\"Expects a call to an address with the specified calldata. Calldata can either be a strict or a partial match.\"},\"expectCall(address,bytes,uint64)\":{\"notice\":\"Expects given number of calls to an address with the specified calldata.\"},\"expectCall(address,uint256,bytes)\":{\"notice\":\"Expects a call to an address with the specified `msg.value` and calldata.\"},\"expectCall(address,uint256,bytes,uint64)\":{\"notice\":\"Expects given number of calls to an address with the specified `msg.value` and calldata.\"},\"expectCall(address,uint256,uint64,bytes)\":{\"notice\":\"Expect a call to an address with the specified `msg.value`, gas, and calldata.\"},\"expectCall(address,uint256,uint64,bytes,uint64)\":{\"notice\":\"Expects given number of calls to an address with the specified `msg.value`, gas, and calldata.\"},\"expectCallMinGas(address,uint256,uint64,bytes)\":{\"notice\":\"Expect a call to an address with the specified `msg.value` and calldata, and a *minimum* amount of gas.\"},\"expectCallMinGas(address,uint256,uint64,bytes,uint64)\":{\"notice\":\"Expect given number of calls to an address with the specified `msg.value` and calldata, and a *minimum* amount of gas.\"},\"expectCreate(bytes,address)\":{\"notice\":\"Expects the deployment of the specified bytecode by the specified address using the CREATE opcode\"},\"expectCreate2(bytes,address)\":{\"notice\":\"Expects the deployment of the specified bytecode by the specified address using the CREATE2 opcode\"},\"expectEmit()\":{\"notice\":\"Prepare an expected log with all topic and data checks enabled. Call this function, then emit an event, then call a function. Internally after the call, we check if logs were emitted in the expected order with the expected topics and data.\"},\"expectEmit(address)\":{\"notice\":\"Same as the previous method, but also checks supplied address against emitting contract.\"},\"expectEmit(address,uint64)\":{\"notice\":\"Expect a given number of logs from a specific emitter with all topic and data checks enabled.\"},\"expectEmit(bool,bool,bool,bool)\":{\"notice\":\"Prepare an expected log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData.). Call this function, then emit an event, then call a function. Internally after the call, we check if logs were emitted in the expected order with the expected topics and data (as specified by the booleans).\"},\"expectEmit(bool,bool,bool,bool,address)\":{\"notice\":\"Same as the previous method, but also checks supplied address against emitting contract.\"},\"expectEmit(bool,bool,bool,bool,address,uint64)\":{\"notice\":\"Expect a given number of logs from a specific emitter with the provided topics.\"},\"expectEmit(bool,bool,bool,bool,uint64)\":{\"notice\":\"Expect a given number of logs with the provided topics.\"},\"expectEmit(uint64)\":{\"notice\":\"Expect a given number of logs with all topic and data checks enabled.\"},\"expectEmitAnonymous()\":{\"notice\":\"Prepare an expected anonymous log with all topic and data checks enabled. Call this function, then emit an anonymous event, then call a function. Internally after the call, we check if logs were emitted in the expected order with the expected topics and data.\"},\"expectEmitAnonymous(address)\":{\"notice\":\"Same as the previous method, but also checks supplied address against emitting contract.\"},\"expectEmitAnonymous(bool,bool,bool,bool,bool)\":{\"notice\":\"Prepare an expected anonymous log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData.). Call this function, then emit an anonymous event, then call a function. Internally after the call, we check if logs were emitted in the expected order with the expected topics and data (as specified by the booleans).\"},\"expectEmitAnonymous(bool,bool,bool,bool,bool,address)\":{\"notice\":\"Same as the previous method, but also checks supplied address against emitting contract.\"},\"expectPartialRevert(bytes4)\":{\"notice\":\"Expects an error on next call that starts with the revert data.\"},\"expectPartialRevert(bytes4,address)\":{\"notice\":\"Expects an error on next call to reverter address, that starts with the revert data.\"},\"expectRevert()\":{\"notice\":\"Expects an error on next call with any revert data.\"},\"expectRevert(address)\":{\"notice\":\"Expects an error with any revert data on next call to reverter address.\"},\"expectRevert(address,uint64)\":{\"notice\":\"Expects a `count` number of reverts from the upcoming calls from the reverter address.\"},\"expectRevert(bytes)\":{\"notice\":\"Expects an error on next call that exactly matches the revert data.\"},\"expectRevert(bytes,address)\":{\"notice\":\"Expects an error from reverter address on next call, that exactly matches the revert data.\"},\"expectRevert(bytes,address,uint64)\":{\"notice\":\"Expects a `count` number of reverts from the upcoming calls from the reverter address that exactly match the revert data.\"},\"expectRevert(bytes,uint64)\":{\"notice\":\"Expects a `count` number of reverts from the upcoming calls that exactly match the revert data.\"},\"expectRevert(bytes4)\":{\"notice\":\"Expects an error on next call that exactly matches the revert data.\"},\"expectRevert(bytes4,address)\":{\"notice\":\"Expects an error from reverter address on next call, with any revert data.\"},\"expectRevert(bytes4,address,uint64)\":{\"notice\":\"Expects a `count` number of reverts from the upcoming calls from the reverter address that match the revert data.\"},\"expectRevert(bytes4,uint64)\":{\"notice\":\"Expects a `count` number of reverts from the upcoming calls that match the revert data.\"},\"expectRevert(uint64)\":{\"notice\":\"Expects a `count` number of reverts from the upcoming calls with any revert data or reverter.\"},\"expectSafeMemory(uint64,uint64)\":{\"notice\":\"Only allows memory writes to offsets [0x00, 0x60) \\u222a [min, max) in the current subcontext. If any other memory is written to, the test will fail. Can be called multiple times to add more ranges to the set.\"},\"expectSafeMemoryCall(uint64,uint64)\":{\"notice\":\"Only allows memory writes to offsets [0x00, 0x60) \\u222a [min, max) in the next created subcontext. If any other memory is written to, the test will fail. Can be called multiple times to add more ranges to the set.\"},\"fee(uint256)\":{\"notice\":\"Sets `block.basefee`.\"},\"ffi(string[])\":{\"notice\":\"Performs a foreign function call via the terminal.\"},\"foundryVersionAtLeast(string)\":{\"notice\":\"Returns true if the current Foundry version is greater than or equal to the given version. The given version string must be in the format `major.minor.patch`. This is equivalent to `foundryVersionCmp(version) >= 0`.\"},\"foundryVersionCmp(string)\":{\"notice\":\"Compares the current Foundry version with the given version string. The given version string must be in the format `major.minor.patch`. Returns: -1 if current Foundry version is less than the given version 0 if current Foundry version equals the given version 1 if current Foundry version is greater than the given version This result can then be used with a comparison operator against `0`. For example, to check if the current Foundry version is greater than or equal to `1.0.0`: `if (foundryVersionCmp(\\\"1.0.0\\\") >= 0) { ... }`\"},\"fsMetadata(string)\":{\"notice\":\"Given a path, query the file system to get information about a file, directory, etc.\"},\"getArtifactPathByCode(bytes)\":{\"notice\":\"Gets the artifact path from code (aka. creation code).\"},\"getArtifactPathByDeployedCode(bytes)\":{\"notice\":\"Gets the artifact path from deployed code (aka. runtime code).\"},\"getBlobBaseFee()\":{\"notice\":\"Gets the current `block.blobbasefee`. You should use this instead of `block.blobbasefee` if you use `vm.blobBaseFee`, as `block.blobbasefee` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBlobhashes()\":{\"notice\":\"Gets the blockhashes from the current transaction. Not available on EVM versions before Cancun. If used on unsupported EVM versions it will revert.\"},\"getBlockNumber()\":{\"notice\":\"Gets the current `block.number`. You should use this instead of `block.number` if you use `vm.roll`, as `block.number` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBlockTimestamp()\":{\"notice\":\"Gets the current `block.timestamp`. You should use this instead of `block.timestamp` if you use `vm.warp`, as `block.timestamp` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBroadcast(string,uint64,uint8)\":{\"notice\":\"Returns the most recent broadcast for the given contract on `chainId` matching `txType`. For example: The most recent deployment can be fetched by passing `txType` as `CREATE` or `CREATE2`. The most recent call can be fetched by passing `txType` as `CALL`.\"},\"getBroadcasts(string,uint64)\":{\"notice\":\"Returns all broadcasts for the given contract on `chainId`. Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber.\"},\"getBroadcasts(string,uint64,uint8)\":{\"notice\":\"Returns all broadcasts for the given contract on `chainId` with the specified `txType`. Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber.\"},\"getChain(string)\":{\"notice\":\"Returns a Chain struct for specific alias\"},\"getChain(uint256)\":{\"notice\":\"Returns a Chain struct for specific chainId\"},\"getCode(string)\":{\"notice\":\"Gets the creation bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"getDeployedCode(string)\":{\"notice\":\"Gets the deployed bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"getDeployment(string)\":{\"notice\":\"Returns the most recent deployment for the current `chainId`.\"},\"getDeployment(string,uint64)\":{\"notice\":\"Returns the most recent deployment for the given contract on `chainId`\"},\"getDeployments(string,uint64)\":{\"notice\":\"Returns all deployments for the given contract on `chainId` Sorted in descending order of deployment time i.e descending order of BroadcastTxSummary.blockNumber. The most recent deployment is the first element, and the oldest is the last.\"},\"getFoundryVersion()\":{\"notice\":\"Returns the Foundry version. Format: -+.. Sample output: 0.3.0-nightly+3cb96bde9b.1737036656.debug Note: Build timestamps may vary slightly across platforms due to separate CI jobs. For reliable version comparisons, use UNIX format (e.g., >= 1700000000) to compare timestamps while ignoring minor time differences.\"},\"getLabel(address)\":{\"notice\":\"Gets the label for the specified address.\"},\"getMappingKeyAndParentOf(address,bytes32)\":{\"notice\":\"Gets the map key and parent of a mapping at a given slot, for a given address.\"},\"getMappingLength(address,bytes32)\":{\"notice\":\"Gets the number of elements in the mapping at the given slot, for a given address.\"},\"getMappingSlotAt(address,bytes32,uint256)\":{\"notice\":\"Gets the elements at index idx of the mapping at the given slot, for a given address. The index must be less than the length of the mapping (i.e. the number of keys in the mapping).\"},\"getNonce((address,uint256,uint256,uint256))\":{\"notice\":\"Get the nonce of a `Wallet`.\"},\"getNonce(address)\":{\"notice\":\"Gets the nonce of an account.\"},\"getRecordedLogs()\":{\"notice\":\"Gets all the recorded logs.\"},\"getStateDiff()\":{\"notice\":\"Returns state diffs from current `vm.startStateDiffRecording` session.\"},\"getStateDiffJson()\":{\"notice\":\"Returns state diffs from current `vm.startStateDiffRecording` session, in json format.\"},\"getWallets()\":{\"notice\":\"Returns addresses of available unlocked wallets in the script environment.\"},\"indexOf(string,string)\":{\"notice\":\"Returns the index of the first occurrence of a `key` in an `input` string. Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `key` is not found. Returns 0 in case of an empty `key`.\"},\"interceptInitcode()\":{\"notice\":\"Causes the next contract creation (via new) to fail and return its initcode in the returndata buffer. This allows type-safe access to the initcode payload that would be used for contract creation. Example usage: vm.interceptInitcode(); bytes memory initcode; try new MyContract(param1, param2) { assert(false); } catch (bytes memory interceptedInitcode) { initcode = interceptedInitcode; }\"},\"isContext(uint8)\":{\"notice\":\"Returns true if `forge` command was executed in given context.\"},\"isDir(string)\":{\"notice\":\"Returns true if the path exists on disk and is pointing at a directory, else returns false.\"},\"isFile(string)\":{\"notice\":\"Returns true if the path exists on disk and is pointing at a regular file, else returns false.\"},\"isPersistent(address)\":{\"notice\":\"Returns true if the account is marked as persistent.\"},\"keyExists(string,string)\":{\"notice\":\"Checks if `key` exists in a JSON object `keyExists` is being deprecated in favor of `keyExistsJson`. It will be removed in future versions.\"},\"keyExistsJson(string,string)\":{\"notice\":\"Checks if `key` exists in a JSON object.\"},\"keyExistsToml(string,string)\":{\"notice\":\"Checks if `key` exists in a TOML table.\"},\"label(address,string)\":{\"notice\":\"Labels an address in call traces.\"},\"lastCallGas()\":{\"notice\":\"Gets the gas used in the last call from the callee perspective.\"},\"load(address,bytes32)\":{\"notice\":\"Loads a storage slot from an address.\"},\"loadAllocs(string)\":{\"notice\":\"Load a genesis JSON file's `allocs` into the in-memory EVM state.\"},\"makePersistent(address)\":{\"notice\":\"Marks that the account(s) should use persistent storage across fork swaps in a multifork setup Meaning, changes made to the state of this account will be kept when switching forks.\"},\"makePersistent(address,address)\":{\"notice\":\"See `makePersistent(address)`.\"},\"makePersistent(address,address,address)\":{\"notice\":\"See `makePersistent(address)`.\"},\"makePersistent(address[])\":{\"notice\":\"See `makePersistent(address)`.\"},\"mockCall(address,bytes,bytes)\":{\"notice\":\"Mocks a call to an address, returning specified data. Calldata can either be strict or a partial match, e.g. if you only pass a Solidity selector to the expected calldata, then the entire Solidity function will be mocked.\"},\"mockCall(address,bytes4,bytes)\":{\"notice\":\"Mocks a call to an address, returning specified data. Calldata can either be strict or a partial match, e.g. if you only pass a Solidity selector to the expected calldata, then the entire Solidity function will be mocked. Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\"},\"mockCall(address,uint256,bytes,bytes)\":{\"notice\":\"Mocks a call to an address with a specific `msg.value`, returning specified data. Calldata match takes precedence over `msg.value` in case of ambiguity.\"},\"mockCall(address,uint256,bytes4,bytes)\":{\"notice\":\"Mocks a call to an address with a specific `msg.value`, returning specified data. Calldata match takes precedence over `msg.value` in case of ambiguity. Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\"},\"mockCallRevert(address,bytes,bytes)\":{\"notice\":\"Reverts a call to an address with specified revert data.\"},\"mockCallRevert(address,bytes4,bytes)\":{\"notice\":\"Reverts a call to an address with specified revert data. Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\"},\"mockCallRevert(address,uint256,bytes,bytes)\":{\"notice\":\"Reverts a call to an address with a specific `msg.value`, with specified revert data.\"},\"mockCallRevert(address,uint256,bytes4,bytes)\":{\"notice\":\"Reverts a call to an address with a specific `msg.value`, with specified revert data. Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\"},\"mockCalls(address,bytes,bytes[])\":{\"notice\":\"Mocks multiple calls to an address, returning specified data for each call.\"},\"mockCalls(address,uint256,bytes,bytes[])\":{\"notice\":\"Mocks multiple calls to an address with a specific `msg.value`, returning specified data for each call.\"},\"mockFunction(address,address,bytes)\":{\"notice\":\"Whenever a call is made to `callee` with calldata `data`, this cheatcode instead calls `target` with the same calldata. This functionality is similar to a delegate call made to `target` contract from `callee`. Can be used to substitute a call to a function with another implementation that captures the primary logic of the original function but is easier to reason about. If calldata is not a strict match then partial match by selector is attempted.\"},\"noAccessList()\":{\"notice\":\"Utility cheatcode to remove any EIP-2930 access list set by `accessList` cheatcode.\"},\"parseAddress(string)\":{\"notice\":\"Parses the given `string` into an `address`.\"},\"parseBool(string)\":{\"notice\":\"Parses the given `string` into a `bool`.\"},\"parseBytes(string)\":{\"notice\":\"Parses the given `string` into `bytes`.\"},\"parseBytes32(string)\":{\"notice\":\"Parses the given `string` into a `bytes32`.\"},\"parseInt(string)\":{\"notice\":\"Parses the given `string` into a `int256`.\"},\"parseJson(string)\":{\"notice\":\"ABI-encodes a JSON object.\"},\"parseJson(string,string)\":{\"notice\":\"ABI-encodes a JSON object at `key`.\"},\"parseJsonAddress(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `address`.\"},\"parseJsonAddressArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `address[]`.\"},\"parseJsonBool(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bool`.\"},\"parseJsonBoolArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bool[]`.\"},\"parseJsonBytes(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes`.\"},\"parseJsonBytes32(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes32`.\"},\"parseJsonBytes32Array(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes32[]`.\"},\"parseJsonBytesArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes[]`.\"},\"parseJsonInt(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `int256`.\"},\"parseJsonIntArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `int256[]`.\"},\"parseJsonKeys(string,string)\":{\"notice\":\"Returns an array of all the keys in a JSON object.\"},\"parseJsonString(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `string`.\"},\"parseJsonStringArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `string[]`.\"},\"parseJsonType(string,string)\":{\"notice\":\"Parses a string of JSON data and coerces it to type corresponding to `typeDescription`.\"},\"parseJsonType(string,string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to type corresponding to `typeDescription`.\"},\"parseJsonTypeArray(string,string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to type array corresponding to `typeDescription`.\"},\"parseJsonUint(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `uint256`.\"},\"parseJsonUintArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `uint256[]`.\"},\"parseToml(string)\":{\"notice\":\"ABI-encodes a TOML table.\"},\"parseToml(string,string)\":{\"notice\":\"ABI-encodes a TOML table at `key`.\"},\"parseTomlAddress(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `address`.\"},\"parseTomlAddressArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `address[]`.\"},\"parseTomlBool(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bool`.\"},\"parseTomlBoolArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bool[]`.\"},\"parseTomlBytes(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes`.\"},\"parseTomlBytes32(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes32`.\"},\"parseTomlBytes32Array(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes32[]`.\"},\"parseTomlBytesArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes[]`.\"},\"parseTomlInt(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `int256`.\"},\"parseTomlIntArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `int256[]`.\"},\"parseTomlKeys(string,string)\":{\"notice\":\"Returns an array of all the keys in a TOML table.\"},\"parseTomlString(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `string`.\"},\"parseTomlStringArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `string[]`.\"},\"parseTomlType(string,string)\":{\"notice\":\"Parses a string of TOML data and coerces it to type corresponding to `typeDescription`.\"},\"parseTomlType(string,string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to type corresponding to `typeDescription`.\"},\"parseTomlTypeArray(string,string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to type array corresponding to `typeDescription`.\"},\"parseTomlUint(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `uint256`.\"},\"parseTomlUintArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `uint256[]`.\"},\"parseUint(string)\":{\"notice\":\"Parses the given `string` into a `uint256`.\"},\"pauseGasMetering()\":{\"notice\":\"Pauses gas metering (i.e. gas usage is not counted). Noop if already paused.\"},\"pauseTracing()\":{\"notice\":\"Pauses collection of call traces. Useful in cases when you want to skip tracing of complex calls which are not useful for debugging.\"},\"prank(address)\":{\"notice\":\"Sets the *next* call's `msg.sender` to be the input address.\"},\"prank(address,address)\":{\"notice\":\"Sets the *next* call's `msg.sender` to be the input address, and the `tx.origin` to be the second input.\"},\"prank(address,address,bool)\":{\"notice\":\"Sets the *next* delegate call's `msg.sender` to be the input address, and the `tx.origin` to be the second input.\"},\"prank(address,bool)\":{\"notice\":\"Sets the *next* delegate call's `msg.sender` to be the input address.\"},\"prevrandao(bytes32)\":{\"notice\":\"Sets `block.prevrandao`. Not available on EVM versions before Paris. Use `difficulty` instead. If used on unsupported EVM versions it will revert.\"},\"prevrandao(uint256)\":{\"notice\":\"Sets `block.prevrandao`. Not available on EVM versions before Paris. Use `difficulty` instead. If used on unsupported EVM versions it will revert.\"},\"projectRoot()\":{\"notice\":\"Get the path of the current project root.\"},\"prompt(string)\":{\"notice\":\"Prompts the user for a string value in the terminal.\"},\"promptAddress(string)\":{\"notice\":\"Prompts the user for an address in the terminal.\"},\"promptSecret(string)\":{\"notice\":\"Prompts the user for a hidden string value in the terminal.\"},\"promptSecretUint(string)\":{\"notice\":\"Prompts the user for hidden uint256 in the terminal (usually pk).\"},\"promptUint(string)\":{\"notice\":\"Prompts the user for uint256 in the terminal.\"},\"publicKeyP256(uint256)\":{\"notice\":\"Derives secp256r1 public key from the provided `privateKey`.\"},\"randomAddress()\":{\"notice\":\"Returns a random `address`.\"},\"randomBool()\":{\"notice\":\"Returns a random `bool`.\"},\"randomBytes(uint256)\":{\"notice\":\"Returns a random byte array value of the given length.\"},\"randomBytes4()\":{\"notice\":\"Returns a random fixed-size byte array of length 4.\"},\"randomBytes8()\":{\"notice\":\"Returns a random fixed-size byte array of length 8.\"},\"randomInt()\":{\"notice\":\"Returns a random `int256` value.\"},\"randomInt(uint256)\":{\"notice\":\"Returns a random `int256` value of given bits.\"},\"randomUint()\":{\"notice\":\"Returns a random uint256 value.\"},\"randomUint(uint256)\":{\"notice\":\"Returns a random `uint256` value of given bits.\"},\"randomUint(uint256,uint256)\":{\"notice\":\"Returns random uint256 value between the provided range (=min..=max).\"},\"readCallers()\":{\"notice\":\"Reads the current `msg.sender` and `tx.origin` from state and reports if there is any active caller modification.\"},\"readDir(string)\":{\"notice\":\"Reads the directory at the given path recursively, up to `maxDepth`. `maxDepth` defaults to 1, meaning only the direct children of the given directory will be returned. Follows symbolic links if `followLinks` is true.\"},\"readDir(string,uint64)\":{\"notice\":\"See `readDir(string)`.\"},\"readDir(string,uint64,bool)\":{\"notice\":\"See `readDir(string)`.\"},\"readFile(string)\":{\"notice\":\"Reads the entire content of file to string. `path` is relative to the project root.\"},\"readFileBinary(string)\":{\"notice\":\"Reads the entire content of file as binary. `path` is relative to the project root.\"},\"readLine(string)\":{\"notice\":\"Reads next line of file to string.\"},\"readLink(string)\":{\"notice\":\"Reads a symbolic link, returning the path that the link points to. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` is not a symbolic link. - `path` does not exist.\"},\"record()\":{\"notice\":\"Records all storage reads and writes.\"},\"recordLogs()\":{\"notice\":\"Record all the transaction logs.\"},\"rememberKey(uint256)\":{\"notice\":\"Adds a private key to the local forge wallet and returns the address.\"},\"rememberKeys(string,string,string,uint32)\":{\"notice\":\"Derive a set number of wallets from a mnemonic in the specified language at the derivation path `m/44'/60'/0'/0/{0..count}`. The respective private keys are saved to the local forge wallet for later use and their addresses are returned.\"},\"rememberKeys(string,string,uint32)\":{\"notice\":\"Derive a set number of wallets from a mnemonic at the derivation path `m/44'/60'/0'/0/{0..count}`. The respective private keys are saved to the local forge wallet for later use and their addresses are returned.\"},\"removeDir(string,bool)\":{\"notice\":\"Removes a directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` doesn't exist. - `path` isn't a directory. - User lacks permissions to modify `path`. - The directory is not empty and `recursive` is false. `path` is relative to the project root.\"},\"removeFile(string)\":{\"notice\":\"Removes a file from the filesystem. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` points to a directory. - The file doesn't exist. - The user lacks permissions to remove the file. `path` is relative to the project root.\"},\"replace(string,string,string)\":{\"notice\":\"Replaces occurrences of `from` in the given `string` with `to`.\"},\"resetGasMetering()\":{\"notice\":\"Reset gas metering (i.e. gas usage is set to gas limit).\"},\"resetNonce(address)\":{\"notice\":\"Resets the nonce of an account to 0 for EOAs and 1 for contract accounts.\"},\"resumeGasMetering()\":{\"notice\":\"Resumes gas metering (i.e. gas usage is counted again). Noop if already on.\"},\"resumeTracing()\":{\"notice\":\"Unpauses collection of call traces.\"},\"revertTo(uint256)\":{\"notice\":\"`revertTo` is being deprecated in favor of `revertToState`. It will be removed in future versions.\"},\"revertToAndDelete(uint256)\":{\"notice\":\"`revertToAndDelete` is being deprecated in favor of `revertToStateAndDelete`. It will be removed in future versions.\"},\"revertToState(uint256)\":{\"notice\":\"Revert the state of the EVM to a previous snapshot Takes the snapshot ID to revert to. Returns `true` if the snapshot was successfully reverted. Returns `false` if the snapshot does not exist. **Note:** This does not automatically delete the snapshot. To delete the snapshot use `deleteStateSnapshot`.\"},\"revertToStateAndDelete(uint256)\":{\"notice\":\"Revert the state of the EVM to a previous snapshot and automatically deletes the snapshots Takes the snapshot ID to revert to. Returns `true` if the snapshot was successfully reverted and deleted. Returns `false` if the snapshot does not exist.\"},\"revokePersistent(address)\":{\"notice\":\"Revokes persistent status from the address, previously added via `makePersistent`.\"},\"revokePersistent(address[])\":{\"notice\":\"See `revokePersistent(address)`.\"},\"roll(uint256)\":{\"notice\":\"Sets `block.height`.\"},\"rollFork(bytes32)\":{\"notice\":\"Updates the currently active fork to given transaction. This will `rollFork` with the number of the block the transaction was mined in and replays all transaction mined before it in the block.\"},\"rollFork(uint256)\":{\"notice\":\"Updates the currently active fork to given block number This is similar to `roll` but for the currently active fork.\"},\"rollFork(uint256,bytes32)\":{\"notice\":\"Updates the given fork to block number of the given transaction and replays all transaction mined before it in the block.\"},\"rollFork(uint256,uint256)\":{\"notice\":\"Updates the given fork to given block number.\"},\"rpc(string,string)\":{\"notice\":\"Performs an Ethereum JSON-RPC request to the current fork URL.\"},\"rpc(string,string,string)\":{\"notice\":\"Performs an Ethereum JSON-RPC request to the given endpoint.\"},\"rpcUrl(string)\":{\"notice\":\"Returns the RPC url for the given alias.\"},\"rpcUrlStructs()\":{\"notice\":\"Returns all rpc urls and their aliases as structs.\"},\"rpcUrls()\":{\"notice\":\"Returns all rpc urls and their aliases `[alias, url][]`.\"},\"selectFork(uint256)\":{\"notice\":\"Takes a fork identifier created by `createFork` and sets the corresponding forked state as active.\"},\"serializeAddress(string,string,address)\":{\"notice\":\"See `serializeJson`.\"},\"serializeAddress(string,string,address[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBool(string,string,bool)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBool(string,string,bool[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes(string,string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes(string,string,bytes[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes32(string,string,bytes32)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes32(string,string,bytes32[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeInt(string,string,int256)\":{\"notice\":\"See `serializeJson`.\"},\"serializeInt(string,string,int256[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeJson(string,string)\":{\"notice\":\"Serializes a key and value to a JSON object stored in-memory that can be later written to a file. Returns the stringified version of the specific JSON file up to that moment.\"},\"serializeJsonType(string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeJsonType(string,string,string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeString(string,string,string)\":{\"notice\":\"See `serializeJson`.\"},\"serializeString(string,string,string[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeUint(string,string,uint256)\":{\"notice\":\"See `serializeJson`.\"},\"serializeUint(string,string,uint256[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeUintToHex(string,string,uint256)\":{\"notice\":\"See `serializeJson`.\"},\"setArbitraryStorage(address)\":{\"notice\":\"Utility cheatcode to set arbitrary storage for given target address.\"},\"setArbitraryStorage(address,bool)\":{\"notice\":\"Utility cheatcode to set arbitrary storage for given target address and overwrite any storage slots that have been previously set.\"},\"setBlockhash(uint256,bytes32)\":{\"notice\":\"Set blockhash for the current block. It only sets the blockhash for blocks where `block.number - 256 <= number < block.number`.\"},\"setEnv(string,string)\":{\"notice\":\"Sets environment variables.\"},\"setNonce(address,uint64)\":{\"notice\":\"Sets the nonce of an account. Must be higher than the current nonce of the account.\"},\"setNonceUnsafe(address,uint64)\":{\"notice\":\"Sets the nonce of an account to an arbitrary value.\"},\"shuffle(uint256[])\":{\"notice\":\"Randomly shuffles an array.\"},\"sign((address,uint256,uint256,uint256),bytes32)\":{\"notice\":\"Signs data with a `Wallet`.\"},\"sign(address,bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Raises error if none of the signers passed into the script have provided address.\"},\"sign(bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script.\"},\"sign(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256k1 curve.\"},\"signAndAttachDelegation(address,uint256)\":{\"notice\":\"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction\"},\"signAndAttachDelegation(address,uint256,uint64)\":{\"notice\":\"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction for specific nonce\"},\"signCompact((address,uint256,uint256,uint256),bytes32)\":{\"notice\":\"Signs data with a `Wallet`. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes.\"},\"signCompact(address,bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes. Raises error if none of the signers passed into the script have provided address.\"},\"signCompact(bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script.\"},\"signCompact(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes.\"},\"signDelegation(address,uint256)\":{\"notice\":\"Sign an EIP-7702 authorization for delegation\"},\"signDelegation(address,uint256,uint64)\":{\"notice\":\"Sign an EIP-7702 authorization for delegation for specific nonce\"},\"signP256(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256r1 curve.\"},\"skip(bool)\":{\"notice\":\"Marks a test as skipped. Must be called at the top level of a test.\"},\"skip(bool,string)\":{\"notice\":\"Marks a test as skipped with a reason. Must be called at the top level of a test.\"},\"sleep(uint256)\":{\"notice\":\"Suspends execution of the main thread for `duration` milliseconds.\"},\"snapshot()\":{\"notice\":\"`snapshot` is being deprecated in favor of `snapshotState`. It will be removed in future versions.\"},\"snapshotGasLastCall(string)\":{\"notice\":\"Snapshot capture the gas usage of the last call by name from the callee perspective.\"},\"snapshotGasLastCall(string,string)\":{\"notice\":\"Snapshot capture the gas usage of the last call by name in a group from the callee perspective.\"},\"snapshotState()\":{\"notice\":\"Snapshot the current state of the evm. Returns the ID of the snapshot that was created. To revert a snapshot use `revertToState`.\"},\"snapshotValue(string,string,uint256)\":{\"notice\":\"Snapshot capture an arbitrary numerical value by name in a group.\"},\"snapshotValue(string,uint256)\":{\"notice\":\"Snapshot capture an arbitrary numerical value by name. The group name is derived from the contract name.\"},\"sort(uint256[])\":{\"notice\":\"Sorts an array in ascending order.\"},\"split(string,string)\":{\"notice\":\"Splits the given `string` into an array of strings divided by the `delimiter`.\"},\"startBroadcast()\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used.\"},\"startBroadcast(address)\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions with the address provided that can later be signed and sent onchain.\"},\"startBroadcast(uint256)\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions with the private key provided that can later be signed and sent onchain.\"},\"startDebugTraceRecording()\":{\"notice\":\"Records the debug trace during the run.\"},\"startMappingRecording()\":{\"notice\":\"Starts recording all map SSTOREs for later retrieval.\"},\"startPrank(address)\":{\"notice\":\"Sets all subsequent calls' `msg.sender` to be the input address until `stopPrank` is called.\"},\"startPrank(address,address)\":{\"notice\":\"Sets all subsequent calls' `msg.sender` to be the input address until `stopPrank` is called, and the `tx.origin` to be the second input.\"},\"startPrank(address,address,bool)\":{\"notice\":\"Sets all subsequent delegate calls' `msg.sender` to be the input address until `stopPrank` is called, and the `tx.origin` to be the second input.\"},\"startPrank(address,bool)\":{\"notice\":\"Sets all subsequent delegate calls' `msg.sender` to be the input address until `stopPrank` is called.\"},\"startSnapshotGas(string)\":{\"notice\":\"Start a snapshot capture of the current gas usage by name. The group name is derived from the contract name.\"},\"startSnapshotGas(string,string)\":{\"notice\":\"Start a snapshot capture of the current gas usage by name in a group.\"},\"startStateDiffRecording()\":{\"notice\":\"Record all account accesses as part of CREATE, CALL or SELFDESTRUCT opcodes in order, along with the context of the calls\"},\"stopAndReturnDebugTraceRecording()\":{\"notice\":\"Stop debug trace recording and returns the recorded debug trace.\"},\"stopAndReturnStateDiff()\":{\"notice\":\"Returns an ordered array of all account accesses from a `vm.startStateDiffRecording` session.\"},\"stopBroadcast()\":{\"notice\":\"Stops collecting onchain transactions.\"},\"stopExpectSafeMemory()\":{\"notice\":\"Stops all safe memory expectation in the current subcontext.\"},\"stopMappingRecording()\":{\"notice\":\"Stops recording all map SSTOREs for later retrieval and clears the recorded data.\"},\"stopPrank()\":{\"notice\":\"Resets subsequent calls' `msg.sender` to be `address(this)`.\"},\"stopSnapshotGas()\":{\"notice\":\"Stop the snapshot capture of the current gas by latest snapshot name, capturing the gas used since the start.\"},\"stopSnapshotGas(string)\":{\"notice\":\"Stop the snapshot capture of the current gas usage by name, capturing the gas used since the start. The group name is derived from the contract name.\"},\"stopSnapshotGas(string,string)\":{\"notice\":\"Stop the snapshot capture of the current gas usage by name in a group, capturing the gas used since the start.\"},\"store(address,bytes32,bytes32)\":{\"notice\":\"Stores a value to an address' storage slot.\"},\"toBase64(bytes)\":{\"notice\":\"Encodes a `bytes` value to a base64 string.\"},\"toBase64(string)\":{\"notice\":\"Encodes a `string` value to a base64 string.\"},\"toBase64URL(bytes)\":{\"notice\":\"Encodes a `bytes` value to a base64url string.\"},\"toBase64URL(string)\":{\"notice\":\"Encodes a `string` value to a base64url string.\"},\"toLowercase(string)\":{\"notice\":\"Converts the given `string` value to Lowercase.\"},\"toString(address)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bool)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bytes)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bytes32)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(int256)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(uint256)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toUppercase(string)\":{\"notice\":\"Converts the given `string` value to Uppercase.\"},\"transact(bytes32)\":{\"notice\":\"Fetches the given transaction from the active fork and executes it on the current state.\"},\"transact(uint256,bytes32)\":{\"notice\":\"Fetches the given transaction from the given fork and executes it on the current state.\"},\"trim(string)\":{\"notice\":\"Trims leading and trailing whitespace from the given `string` value.\"},\"tryFfi(string[])\":{\"notice\":\"Performs a foreign function call via terminal and returns the exit code, stdout, and stderr.\"},\"txGasPrice(uint256)\":{\"notice\":\"Sets `tx.gasprice`.\"},\"unixTime()\":{\"notice\":\"Returns the time since unix epoch in milliseconds.\"},\"warmSlot(address,bytes32)\":{\"notice\":\"Utility cheatcode to mark specific storage slot as warm, simulating a prior read.\"},\"warp(uint256)\":{\"notice\":\"Sets `block.timestamp`.\"},\"writeFile(string,string)\":{\"notice\":\"Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root.\"},\"writeFileBinary(string,bytes)\":{\"notice\":\"Writes binary data to a file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root.\"},\"writeJson(string,string)\":{\"notice\":\"Write a serialized JSON object to a file. If the file exists, it will be overwritten.\"},\"writeJson(string,string,string)\":{\"notice\":\"Write a serialized JSON object to an **existing** JSON file, replacing a value with key = This is useful to replace a specific value of a JSON file, without having to parse the entire thing.\"},\"writeLine(string,string)\":{\"notice\":\"Writes line to file, creating a file if it does not exist. `path` is relative to the project root.\"},\"writeToml(string,string)\":{\"notice\":\"Takes serialized JSON, converts to TOML and write a serialized TOML to a file.\"},\"writeToml(string,string,string)\":{\"notice\":\"Takes serialized JSON, converts to TOML and write a serialized TOML table to an **existing** TOML file, replacing a value with key = This is useful to replace a specific value of a TOML file, without having to parse the entire thing.\"}},\"notice\":\"The `Vm` interface does allow manipulation of the EVM state. These are all intended to be used in tests, but it is not recommended to use these cheats in scripts.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Vm.sol\":\"Vm\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"accessList((address,bytes32[])[])":"743e4cb7","accesses(address)":"65bc9481","activeFork()":"2f103f22","addr(uint256)":"ffa18649","allowCheatcodes(address)":"ea060291","assertApproxEqAbs(int256,int256,uint256)":"240f839d","assertApproxEqAbs(int256,int256,uint256,string)":"8289e621","assertApproxEqAbs(uint256,uint256,uint256)":"16d207c6","assertApproxEqAbs(uint256,uint256,uint256,string)":"f710b062","assertApproxEqAbsDecimal(int256,int256,uint256,uint256)":"3d5bc8bc","assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)":"6a5066d4","assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)":"045c55ce","assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)":"60429eb2","assertApproxEqRel(int256,int256,uint256)":"fea2d14f","assertApproxEqRel(int256,int256,uint256,string)":"ef277d72","assertApproxEqRel(uint256,uint256,uint256)":"8cf25ef4","assertApproxEqRel(uint256,uint256,uint256,string)":"1ecb7d33","assertApproxEqRelDecimal(int256,int256,uint256,uint256)":"abbf21cc","assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)":"fccc11c4","assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)":"21ed2977","assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)":"82d6c8fd","assertEq(address,address)":"515361f6","assertEq(address,address,string)":"2f2769d1","assertEq(address[],address[])":"3868ac34","assertEq(address[],address[],string)":"3e9173c5","assertEq(bool,bool)":"f7fe3477","assertEq(bool,bool,string)":"4db19e7e","assertEq(bool[],bool[])":"707df785","assertEq(bool[],bool[],string)":"e48a8f8d","assertEq(bytes,bytes)":"97624631","assertEq(bytes,bytes,string)":"e24fed00","assertEq(bytes32,bytes32)":"7c84c69b","assertEq(bytes32,bytes32,string)":"c1fa1ed0","assertEq(bytes32[],bytes32[])":"0cc9ee84","assertEq(bytes32[],bytes32[],string)":"e03e9177","assertEq(bytes[],bytes[])":"e5fb9b4a","assertEq(bytes[],bytes[],string)":"f413f0b6","assertEq(int256,int256)":"fe74f05b","assertEq(int256,int256,string)":"714a2f13","assertEq(int256[],int256[])":"711043ac","assertEq(int256[],int256[],string)":"191f1b30","assertEq(string,string)":"f320d963","assertEq(string,string,string)":"36f656d8","assertEq(string[],string[])":"cf1c049c","assertEq(string[],string[],string)":"eff6b27d","assertEq(uint256,uint256)":"98296c54","assertEq(uint256,uint256,string)":"88b44c85","assertEq(uint256[],uint256[])":"975d5a12","assertEq(uint256[],uint256[],string)":"5d18c73a","assertEqDecimal(int256,int256,uint256)":"48016c04","assertEqDecimal(int256,int256,uint256,string)":"7e77b0c5","assertEqDecimal(uint256,uint256,uint256)":"27af7d9c","assertEqDecimal(uint256,uint256,uint256,string)":"d0cbbdef","assertFalse(bool)":"a5982885","assertFalse(bool,string)":"7ba04809","assertGe(int256,int256)":"0a30b771","assertGe(int256,int256,string)":"a84328dd","assertGe(uint256,uint256)":"a8d4d1d9","assertGe(uint256,uint256,string)":"e25242c0","assertGeDecimal(int256,int256,uint256)":"dc28c0f1","assertGeDecimal(int256,int256,uint256,string)":"5df93c9b","assertGeDecimal(uint256,uint256,uint256)":"3d1fe08a","assertGeDecimal(uint256,uint256,uint256,string)":"8bff9133","assertGt(int256,int256)":"5a362d45","assertGt(int256,int256,string)":"f8d33b9b","assertGt(uint256,uint256)":"db07fcd2","assertGt(uint256,uint256,string)":"d9a3c4d2","assertGtDecimal(int256,int256,uint256)":"78611f0e","assertGtDecimal(int256,int256,uint256,string)":"04a5c7ab","assertGtDecimal(uint256,uint256,uint256)":"eccd2437","assertGtDecimal(uint256,uint256,uint256,string)":"64949a8d","assertLe(int256,int256)":"95fd154e","assertLe(int256,int256,string)":"4dfe692c","assertLe(uint256,uint256)":"8466f415","assertLe(uint256,uint256,string)":"d17d4b0d","assertLeDecimal(int256,int256,uint256)":"11d1364a","assertLeDecimal(int256,int256,uint256,string)":"aa5cf788","assertLeDecimal(uint256,uint256,uint256)":"c304aab7","assertLeDecimal(uint256,uint256,uint256,string)":"7fefbbe0","assertLt(int256,int256)":"3e914080","assertLt(int256,int256,string)":"9ff531e3","assertLt(uint256,uint256)":"b12fc005","assertLt(uint256,uint256,string)":"65d5c135","assertLtDecimal(int256,int256,uint256)":"dbe8d88b","assertLtDecimal(int256,int256,uint256,string)":"40f0b4e0","assertLtDecimal(uint256,uint256,uint256)":"2077337e","assertLtDecimal(uint256,uint256,uint256,string)":"a972d037","assertNotEq(address,address)":"b12e1694","assertNotEq(address,address,string)":"8775a591","assertNotEq(address[],address[])":"46d0b252","assertNotEq(address[],address[],string)":"72c7e0b5","assertNotEq(bool,bool)":"236e4d66","assertNotEq(bool,bool,string)":"1091a261","assertNotEq(bool[],bool[])":"286fafea","assertNotEq(bool[],bool[],string)":"62c6f9fb","assertNotEq(bytes,bytes)":"3cf78e28","assertNotEq(bytes,bytes,string)":"9507540e","assertNotEq(bytes32,bytes32)":"898e83fc","assertNotEq(bytes32,bytes32,string)":"b2332f51","assertNotEq(bytes32[],bytes32[])":"0603ea68","assertNotEq(bytes32[],bytes32[],string)":"b873634c","assertNotEq(bytes[],bytes[])":"edecd035","assertNotEq(bytes[],bytes[],string)":"1dcd1f68","assertNotEq(int256,int256)":"f4c004e3","assertNotEq(int256,int256,string)":"4724c5b9","assertNotEq(int256[],int256[])":"0b72f4ef","assertNotEq(int256[],int256[],string)":"d3977322","assertNotEq(string,string)":"6a8237b3","assertNotEq(string,string,string)":"78bdcea7","assertNotEq(string[],string[])":"bdfacbe8","assertNotEq(string[],string[],string)":"b67187f3","assertNotEq(uint256,uint256)":"b7909320","assertNotEq(uint256,uint256,string)":"98f9bdbd","assertNotEq(uint256[],uint256[])":"56f29cba","assertNotEq(uint256[],uint256[],string)":"9a7fbd8f","assertNotEqDecimal(int256,int256,uint256)":"14e75680","assertNotEqDecimal(int256,int256,uint256,string)":"33949f0b","assertNotEqDecimal(uint256,uint256,uint256)":"669efca7","assertNotEqDecimal(uint256,uint256,uint256,string)":"f5a55558","assertTrue(bool)":"0c9fd581","assertTrue(bool,string)":"a34edc03","assume(bool)":"4c63e562","assumeNoRevert((address,bool,bytes))":"d8591eeb","assumeNoRevert((address,bool,bytes)[])":"8a4592cc","assumeNoRevert()":"285b366a","attachBlob(bytes)":"10cb385c","attachDelegation((uint8,bytes32,bytes32,uint64,address))":"14ae3519","blobBaseFee(uint256)":"6d315d7e","blobhashes(bytes32[])":"129de7eb","breakpoint(string)":"f0259e92","breakpoint(string,bool)":"f7d39a8d","broadcast()":"afc98040","broadcast(address)":"e6962cdb","broadcast(uint256)":"f67a965b","broadcastRawTransaction(bytes)":"8c0c72e0","chainId(uint256)":"4049ddd2","clearMockedCalls()":"3fdf4e15","cloneAccount(address,address)":"533d61c9","closeFile(string)":"48c3241f","coinbase(address)":"ff483c54","computeCreate2Address(bytes32,bytes32)":"890c283b","computeCreate2Address(bytes32,bytes32,address)":"d323826a","computeCreateAddress(address,uint256)":"74637a7a","contains(string,string)":"3fb18aec","cool(address)":"40ff9f21","coolSlot(address,bytes32)":"8c78e654","copyFile(string,string)":"a54a87d8","copyStorage(address,address)":"203dac0d","createDir(string,bool)":"168b64d3","createFork(string)":"31ba3498","createFork(string,bytes32)":"7ca29682","createFork(string,uint256)":"6ba3ba2b","createSelectFork(string)":"98680034","createSelectFork(string,bytes32)":"84d52b7a","createSelectFork(string,uint256)":"71ee464d","createWallet(string)":"7404f1d2","createWallet(uint256)":"7a675bb6","createWallet(uint256,string)":"ed7c5462","deal(address,uint256)":"c88a5e6d","deleteSnapshot(uint256)":"a6368557","deleteSnapshots()":"421ae469","deleteStateSnapshot(uint256)":"08d6b37a","deleteStateSnapshots()":"e0933c74","deployCode(string)":"9a8325a0","deployCode(string,bytes)":"29ce9dde","deployCode(string,bytes,bytes32)":"016155bf","deployCode(string,bytes,uint256)":"ff5d64e4","deployCode(string,bytes,uint256,bytes32)":"3aa773ea","deployCode(string,bytes32)":"17ab1d79","deployCode(string,uint256)":"0af6a701","deployCode(string,uint256,bytes32)":"002cb687","deriveKey(string,string,uint32)":"6bcb2c1b","deriveKey(string,string,uint32,string)":"29233b1f","deriveKey(string,uint32)":"6229498b","deriveKey(string,uint32,string)":"32c8176d","difficulty(uint256)":"46cc92d9","dumpState(string)":"709ecd3f","ensNamehash(string)":"8c374c65","envAddress(string)":"350d56bf","envAddress(string,string)":"ad31b9fa","envBool(string)":"7ed1ec7d","envBool(string,string)":"aaaddeaf","envBytes(string)":"4d7baf06","envBytes(string,string)":"ddc2651b","envBytes32(string)":"97949042","envBytes32(string,string)":"5af231c1","envExists(string)":"ce8365f9","envInt(string)":"892a0c61","envInt(string,string)":"42181150","envOr(string,address)":"561fe540","envOr(string,bool)":"4777f3cf","envOr(string,bytes)":"b3e47705","envOr(string,bytes32)":"b4a85892","envOr(string,int256)":"bbcb713e","envOr(string,string)":"d145736c","envOr(string,string,address[])":"c74e9deb","envOr(string,string,bool[])":"eb85e83b","envOr(string,string,bytes32[])":"2281f367","envOr(string,string,bytes[])":"64bc3e64","envOr(string,string,int256[])":"4700d74b","envOr(string,string,string[])":"859216bc","envOr(string,string,uint256[])":"74318528","envOr(string,uint256)":"5e97348f","envString(string)":"f877cb19","envString(string,string)":"14b02bc9","envUint(string)":"c1978d1f","envUint(string,string)":"f3dec099","etch(address,bytes)":"b4d6c782","eth_getLogs(uint256,uint256,address,bytes32[])":"35e1349b","exists(string)":"261a323e","expectCall(address,bytes)":"bd6af434","expectCall(address,bytes,uint64)":"c1adbbff","expectCall(address,uint256,bytes)":"f30c7ba3","expectCall(address,uint256,bytes,uint64)":"a2b1a1ae","expectCall(address,uint256,uint64,bytes)":"23361207","expectCall(address,uint256,uint64,bytes,uint64)":"65b7b7cc","expectCallMinGas(address,uint256,uint64,bytes)":"08e4e116","expectCallMinGas(address,uint256,uint64,bytes,uint64)":"e13a1834","expectCreate(bytes,address)":"73cdce36","expectCreate2(bytes,address)":"ea54a472","expectEmit()":"440ed10d","expectEmit(address)":"86b9620d","expectEmit(address,uint64)":"b43aece3","expectEmit(bool,bool,bool,bool)":"491cc7c2","expectEmit(bool,bool,bool,bool,address)":"81bad6f3","expectEmit(bool,bool,bool,bool,address,uint64)":"c339d02c","expectEmit(bool,bool,bool,bool,uint64)":"5e1d1c33","expectEmit(uint64)":"4c74a335","expectEmitAnonymous()":"2e5f270c","expectEmitAnonymous(address)":"6fc68705","expectEmitAnonymous(bool,bool,bool,bool,bool)":"c948db5e","expectEmitAnonymous(bool,bool,bool,bool,bool,address)":"71c95899","expectPartialRevert(bytes4)":"11fb5b9c","expectPartialRevert(bytes4,address)":"51aa008a","expectRevert()":"f4844814","expectRevert(address)":"d814f38a","expectRevert(address,uint64)":"1ff5f952","expectRevert(bytes)":"f28dceb3","expectRevert(bytes,address)":"61ebcf12","expectRevert(bytes,address,uint64)":"d345fb1f","expectRevert(bytes,uint64)":"4994c273","expectRevert(bytes4)":"c31eb0e0","expectRevert(bytes4,address)":"260bc5de","expectRevert(bytes4,address,uint64)":"b0762d73","expectRevert(bytes4,uint64)":"e45ca72d","expectRevert(uint64)":"4ee38244","expectSafeMemory(uint64,uint64)":"6d016688","expectSafeMemoryCall(uint64,uint64)":"05838bf4","fee(uint256)":"39b37ab0","ffi(string[])":"89160467","foundryVersionAtLeast(string)":"6248be1f","foundryVersionCmp(string)":"ca7b0a09","fsMetadata(string)":"af368a08","getArtifactPathByCode(bytes)":"eb74848c","getArtifactPathByDeployedCode(bytes)":"6d853ba5","getBlobBaseFee()":"1f6d6ef7","getBlobhashes()":"f56ff18b","getBlockNumber()":"42cbb15c","getBlockTimestamp()":"796b89b9","getBroadcast(string,uint64,uint8)":"3dc90cb3","getBroadcasts(string,uint64)":"f2fa4a26","getBroadcasts(string,uint64,uint8)":"f7afe919","getChain(string)":"4cc1c2bb","getChain(uint256)":"b6791ad4","getCode(string)":"8d1cc925","getDeployedCode(string)":"3ebf73b4","getDeployment(string)":"a8091d97","getDeployment(string,uint64)":"0debd5d6","getDeployments(string,uint64)":"74e133dd","getFoundryVersion()":"ea991bb5","getLabel(address)":"28a249b0","getMappingKeyAndParentOf(address,bytes32)":"876e24e6","getMappingLength(address,bytes32)":"2f2fd63f","getMappingSlotAt(address,bytes32,uint256)":"ebc73ab4","getNonce((address,uint256,uint256,uint256))":"a5748aad","getNonce(address)":"2d0335ab","getRecordedLogs()":"191553a4","getStateDiff()":"80df01cc","getStateDiffJson()":"f54fe009","getWallets()":"db7a4605","indexOf(string,string)":"8a0807b7","interceptInitcode()":"838653c7","isContext(uint8)":"64af255d","isDir(string)":"7d15d019","isFile(string)":"e0eb04d4","isPersistent(address)":"d92d8efd","keyExists(string,string)":"528a683c","keyExistsJson(string,string)":"db4235f6","keyExistsToml(string,string)":"600903ad","label(address,string)":"c657c718","lastCallGas()":"2b589b28","load(address,bytes32)":"667f9d70","loadAllocs(string)":"b3a056d7","makePersistent(address)":"57e22dde","makePersistent(address,address)":"4074e0a8","makePersistent(address,address,address)":"efb77a75","makePersistent(address[])":"1d9e269e","mockCall(address,bytes,bytes)":"b96213e4","mockCall(address,bytes4,bytes)":"08e0c537","mockCall(address,uint256,bytes,bytes)":"81409b91","mockCall(address,uint256,bytes4,bytes)":"e7b36a3d","mockCallRevert(address,bytes,bytes)":"dbaad147","mockCallRevert(address,bytes4,bytes)":"2dfba5df","mockCallRevert(address,uint256,bytes,bytes)":"d23cd037","mockCallRevert(address,uint256,bytes4,bytes)":"596c8f04","mockCalls(address,bytes,bytes[])":"5c5c3de9","mockCalls(address,uint256,bytes,bytes[])":"08bcbae1","mockFunction(address,address,bytes)":"adf84d21","noAccessList()":"238ad778","parseAddress(string)":"c6ce059d","parseBool(string)":"974ef924","parseBytes(string)":"8f5d232d","parseBytes32(string)":"087e6e81","parseInt(string)":"42346c5e","parseJson(string)":"6a82600a","parseJson(string,string)":"85940ef1","parseJsonAddress(string,string)":"1e19e657","parseJsonAddressArray(string,string)":"2fce7883","parseJsonBool(string,string)":"9f86dc91","parseJsonBoolArray(string,string)":"91f3b94f","parseJsonBytes(string,string)":"fd921be8","parseJsonBytes32(string,string)":"1777e59d","parseJsonBytes32Array(string,string)":"91c75bc3","parseJsonBytesArray(string,string)":"6631aa99","parseJsonInt(string,string)":"7b048ccd","parseJsonIntArray(string,string)":"9983c28a","parseJsonKeys(string,string)":"213e4198","parseJsonString(string,string)":"49c4fac8","parseJsonStringArray(string,string)":"498fdcf4","parseJsonType(string,string)":"a9da313b","parseJsonType(string,string,string)":"e3f5ae33","parseJsonTypeArray(string,string,string)":"0175d535","parseJsonUint(string,string)":"addde2b6","parseJsonUintArray(string,string)":"522074ab","parseToml(string)":"592151f0","parseToml(string,string)":"37736e08","parseTomlAddress(string,string)":"65e7c844","parseTomlAddressArray(string,string)":"65c428e7","parseTomlBool(string,string)":"d30dced6","parseTomlBoolArray(string,string)":"127cfe9a","parseTomlBytes(string,string)":"d77bfdb9","parseTomlBytes32(string,string)":"8e214810","parseTomlBytes32Array(string,string)":"3e716f81","parseTomlBytesArray(string,string)":"b197c247","parseTomlInt(string,string)":"c1350739","parseTomlIntArray(string,string)":"d3522ae6","parseTomlKeys(string,string)":"812a44b2","parseTomlString(string,string)":"8bb8dd43","parseTomlStringArray(string,string)":"9f629281","parseTomlType(string,string)":"47fa5e11","parseTomlType(string,string,string)":"f9fa5cdb","parseTomlTypeArray(string,string,string)":"49be3743","parseTomlUint(string,string)":"cc7b0487","parseTomlUintArray(string,string)":"b5df27c8","parseUint(string)":"fa91454d","pauseGasMetering()":"d1a5b36f","pauseTracing()":"c94d1f90","prank(address)":"ca669fa7","prank(address,address)":"47e50cce","prank(address,address,bool)":"7d73d042","prank(address,bool)":"a7f8bf5c","prevrandao(bytes32)":"3b925549","prevrandao(uint256)":"9cb1c0d4","projectRoot()":"d930a0e6","prompt(string)":"47eaf474","promptAddress(string)":"62ee05f4","promptSecret(string)":"1e279d41","promptSecretUint(string)":"69ca02b7","promptUint(string)":"652fd489","publicKeyP256(uint256)":"c453949e","randomAddress()":"d5bee9f5","randomBool()":"cdc126bd","randomBytes(uint256)":"6c5d32a9","randomBytes4()":"9b7cd579","randomBytes8()":"0497b0a5","randomInt()":"111f1202","randomInt(uint256)":"12845966","randomUint()":"25124730","randomUint(uint256)":"cf81e69c","randomUint(uint256,uint256)":"d61b051b","readCallers()":"4ad0bac9","readDir(string)":"c4bc59e0","readDir(string,uint64)":"1497876c","readDir(string,uint64,bool)":"8102d70d","readFile(string)":"60f9bb11","readFileBinary(string)":"16ed7bc4","readLine(string)":"70f55728","readLink(string)":"9f5684a2","record()":"266cf109","recordLogs()":"41af2f52","rememberKey(uint256)":"22100064","rememberKeys(string,string,string,uint32)":"f8d58eaf","rememberKeys(string,string,uint32)":"97cb9189","removeDir(string,bool)":"45c62011","removeFile(string)":"f1afe04d","replace(string,string,string)":"e00ad03e","resetGasMetering()":"be367dd3","resetNonce(address)":"1c72346d","resumeGasMetering()":"2bcd50e0","resumeTracing()":"72a09ccb","revertTo(uint256)":"44d7f0a4","revertToAndDelete(uint256)":"03e0aca9","revertToState(uint256)":"c2527405","revertToStateAndDelete(uint256)":"3a1985dc","revokePersistent(address)":"997a0222","revokePersistent(address[])":"3ce969e6","roll(uint256)":"1f7b4f30","rollFork(bytes32)":"0f29772b","rollFork(uint256)":"d9bbf3a1","rollFork(uint256,bytes32)":"f2830f7b","rollFork(uint256,uint256)":"d74c83a4","rpc(string,string)":"1206c8a8","rpc(string,string,string)":"0199a220","rpcUrl(string)":"975a6ce9","rpcUrlStructs()":"9d2ad72a","rpcUrls()":"a85a8418","selectFork(uint256)":"9ebf6827","serializeAddress(string,string,address)":"972c6062","serializeAddress(string,string,address[])":"1e356e1a","serializeBool(string,string,bool)":"ac22e971","serializeBool(string,string,bool[])":"92925aa1","serializeBytes(string,string,bytes)":"f21d52c7","serializeBytes(string,string,bytes[])":"9884b232","serializeBytes32(string,string,bytes32)":"2d812b44","serializeBytes32(string,string,bytes32[])":"201e43e2","serializeInt(string,string,int256)":"3f33db60","serializeInt(string,string,int256[])":"7676e127","serializeJson(string,string)":"9b3358b0","serializeJsonType(string,bytes)":"6d4f96a6","serializeJsonType(string,string,string,bytes)":"6f93bccb","serializeString(string,string,string)":"88da6d35","serializeString(string,string,string[])":"561cd6f3","serializeUint(string,string,uint256)":"129e9002","serializeUint(string,string,uint256[])":"fee9a469","serializeUintToHex(string,string,uint256)":"ae5a2ae8","setArbitraryStorage(address)":"e1631837","setArbitraryStorage(address,bool)":"d3ec2a0b","setBlockhash(uint256,bytes32)":"5314b54a","setEnv(string,string)":"3d5923ee","setNonce(address,uint64)":"f8e18b57","setNonceUnsafe(address,uint64)":"9b67b21c","shuffle(uint256[])":"54f1469c","sign((address,uint256,uint256,uint256),bytes32)":"b25c5a25","sign(address,bytes32)":"8c1aa205","sign(bytes32)":"799cd333","sign(uint256,bytes32)":"e341eaa4","signAndAttachDelegation(address,uint256)":"c7fa7288","signAndAttachDelegation(address,uint256,uint64)":"cde3e5be","signCompact((address,uint256,uint256,uint256),bytes32)":"3d0e292f","signCompact(address,bytes32)":"8e2f97bf","signCompact(bytes32)":"a282dc4b","signCompact(uint256,bytes32)":"cc2a781f","signDelegation(address,uint256)":"5b593c7b","signDelegation(address,uint256,uint64)":"ceba2ec3","signP256(uint256,bytes32)":"83211b40","skip(bool)":"dd82d13e","skip(bool,string)":"c42a80a7","sleep(uint256)":"fa9d8713","snapshot()":"9711715a","snapshotGasLastCall(string)":"dd9fca12","snapshotGasLastCall(string,string)":"200c6772","snapshotState()":"9cd23835","snapshotValue(string,string,uint256)":"6d2b27d8","snapshotValue(string,uint256)":"51db805a","sort(uint256[])":"9ec8b026","split(string,string)":"8bb75533","startBroadcast()":"7fb5297f","startBroadcast(address)":"7fec2a8d","startBroadcast(uint256)":"ce817d47","startDebugTraceRecording()":"419c8832","startMappingRecording()":"3e9705c0","startPrank(address)":"06447d56","startPrank(address,address)":"45b56078","startPrank(address,address,bool)":"4eb859b5","startPrank(address,bool)":"1cc0b435","startSnapshotGas(string)":"3cad9d7b","startSnapshotGas(string,string)":"6cd0cc53","startStateDiffRecording()":"cf22e3c9","stopAndReturnDebugTraceRecording()":"ced398a2","stopAndReturnStateDiff()":"aa5cf90e","stopBroadcast()":"76eadd36","stopExpectSafeMemory()":"0956441b","stopMappingRecording()":"0d4aae9b","stopPrank()":"90c5013b","stopSnapshotGas()":"f6402eda","stopSnapshotGas(string)":"773b2805","stopSnapshotGas(string,string)":"0c9db707","store(address,bytes32,bytes32)":"70ca10bb","toBase64(bytes)":"a5cbfe65","toBase64(string)":"3f8be2c8","toBase64URL(bytes)":"c8bd0e4a","toBase64URL(string)":"ae3165b3","toLowercase(string)":"50bb0884","toString(address)":"56ca623e","toString(bool)":"71dce7da","toString(bytes)":"71aad10d","toString(bytes32)":"b11a19e8","toString(int256)":"a322c40e","toString(uint256)":"6900a3ae","toUppercase(string)":"074ae3d7","transact(bytes32)":"be646da1","transact(uint256,bytes32)":"4d8abc4b","trim(string)":"b2dad155","tryFfi(string[])":"f45c1ce7","txGasPrice(uint256)":"48f50c0f","unixTime()":"625387dc","warmSlot(address,bytes32)":"b23184cf","warp(uint256)":"e5d6bf02","writeFile(string,string)":"897e0a97","writeFileBinary(string,bytes)":"1f21fc80","writeJson(string,string)":"e23cd19f","writeJson(string,string,string)":"35d6ad46","writeLine(string,string)":"619d897f","writeToml(string,string)":"c0865ba7","writeToml(string,string,string)":"51ac6a33"}}},"VmSafe":{"abi":[{"type":"function","name":"accesses","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[{"name":"readSlots","type":"bytes32[]","internalType":"bytes32[]"},{"name":"writeSlots","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"addr","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertFalse","inputs":[{"name":"condition","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertFalse","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertTrue","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertTrue","inputs":[{"name":"condition","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assume","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assumeNoRevert","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assumeNoRevert","inputs":[{"name":"potentialReverts","type":"tuple[]","internalType":"struct VmSafe.PotentialRevert[]","components":[{"name":"reverter","type":"address","internalType":"address"},{"name":"partialMatch","type":"bool","internalType":"bool"},{"name":"revertData","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assumeNoRevert","inputs":[{"name":"potentialRevert","type":"tuple","internalType":"struct VmSafe.PotentialRevert","components":[{"name":"reverter","type":"address","internalType":"address"},{"name":"partialMatch","type":"bool","internalType":"bool"},{"name":"revertData","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"attachBlob","inputs":[{"name":"blob","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"attachDelegation","inputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"breakpoint","inputs":[{"name":"char","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"breakpoint","inputs":[{"name":"char","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"broadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcastRawTransaction","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"closeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"computeCreate2Address","inputs":[{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"initCodeHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"computeCreate2Address","inputs":[{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"initCodeHash","type":"bytes32","internalType":"bytes32"},{"name":"deployer","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"computeCreateAddress","inputs":[{"name":"deployer","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"contains","inputs":[{"name":"subject","type":"string","internalType":"string"},{"name":"search","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"copyFile","inputs":[{"name":"from","type":"string","internalType":"string"},{"name":"to","type":"string","internalType":"string"}],"outputs":[{"name":"copied","type":"uint64","internalType":"uint64"}],"stateMutability":"nonpayable"},{"type":"function","name":"copyStorage","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"recursive","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"walletLabel","type":"string","internalType":"string"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"walletLabel","type":"string","internalType":"string"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"},{"name":"language","type":"string","internalType":"string"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"},{"name":"language","type":"string","internalType":"string"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"ensNamehash","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"envExists","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool","internalType":"bool"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256","internalType":"int256"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"eth_getLogs","inputs":[{"name":"fromBlock","type":"uint256","internalType":"uint256"},{"name":"toBlock","type":"uint256","internalType":"uint256"},{"name":"target","type":"address","internalType":"address"},{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"logs","type":"tuple[]","internalType":"struct VmSafe.EthGetLogs[]","components":[{"name":"emitter","type":"address","internalType":"address"},{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"transactionHash","type":"bytes32","internalType":"bytes32"},{"name":"transactionIndex","type":"uint64","internalType":"uint64"},{"name":"logIndex","type":"uint256","internalType":"uint256"},{"name":"removed","type":"bool","internalType":"bool"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"exists","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"ffi","inputs":[{"name":"commandInput","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"result","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"foundryVersionAtLeast","inputs":[{"name":"version","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"foundryVersionCmp","inputs":[{"name":"version","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"fsMetadata","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"metadata","type":"tuple","internalType":"struct VmSafe.FsMetadata","components":[{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"},{"name":"length","type":"uint256","internalType":"uint256"},{"name":"readOnly","type":"bool","internalType":"bool"},{"name":"modified","type":"uint256","internalType":"uint256"},{"name":"accessed","type":"uint256","internalType":"uint256"},{"name":"created","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getArtifactPathByCode","inputs":[{"name":"code","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getArtifactPathByDeployedCode","inputs":[{"name":"deployedCode","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getBlobBaseFee","inputs":[],"outputs":[{"name":"blobBaseFee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"height","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBroadcast","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"}],"outputs":[{"name":"","type":"tuple","internalType":"struct VmSafe.BroadcastTxSummary","components":[{"name":"txHash","type":"bytes32","internalType":"bytes32"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"success","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getBroadcasts","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct VmSafe.BroadcastTxSummary[]","components":[{"name":"txHash","type":"bytes32","internalType":"bytes32"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"success","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getBroadcasts","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct VmSafe.BroadcastTxSummary[]","components":[{"name":"txHash","type":"bytes32","internalType":"bytes32"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"success","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getChain","inputs":[{"name":"chainAlias","type":"string","internalType":"string"}],"outputs":[{"name":"chain","type":"tuple","internalType":"struct VmSafe.Chain","components":[{"name":"name","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"chainAlias","type":"string","internalType":"string"},{"name":"rpcUrl","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getChain","inputs":[{"name":"chainId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"chain","type":"tuple","internalType":"struct VmSafe.Chain","components":[{"name":"name","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"chainAlias","type":"string","internalType":"string"},{"name":"rpcUrl","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"creationBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDeployedCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"runtimeBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDeployment","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDeployment","inputs":[{"name":"contractName","type":"string","internalType":"string"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDeployments","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"deployedAddresses","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getFoundryVersion","inputs":[],"outputs":[{"name":"version","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getLabel","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"currentLabel","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getMappingKeyAndParentOf","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"elementSlot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"found","type":"bool","internalType":"bool"},{"name":"key","type":"bytes32","internalType":"bytes32"},{"name":"parent","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getMappingLength","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"mappingSlot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"length","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getMappingSlotAt","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"mappingSlot","type":"bytes32","internalType":"bytes32"},{"name":"idx","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getNonce","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"nonpayable"},{"type":"function","name":"getRecordedLogs","inputs":[],"outputs":[{"name":"logs","type":"tuple[]","internalType":"struct VmSafe.Log[]","components":[{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"emitter","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"getStateDiff","inputs":[],"outputs":[{"name":"diff","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getStateDiffJson","inputs":[],"outputs":[{"name":"diff","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getWallets","inputs":[],"outputs":[{"name":"wallets","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"indexOf","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"isContext","inputs":[{"name":"context","type":"uint8","internalType":"enum VmSafe.ForgeContext"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDir","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExists","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExistsJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExistsToml","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"label","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newLabel","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"lastCallGas","inputs":[],"outputs":[{"name":"gas","type":"tuple","internalType":"struct VmSafe.Gas","components":[{"name":"gasLimit","type":"uint64","internalType":"uint64"},{"name":"gasTotalUsed","type":"uint64","internalType":"uint64"},{"name":"gasMemoryUsed","type":"uint64","internalType":"uint64"},{"name":"gasRefunded","type":"int64","internalType":"int64"},{"name":"gasRemaining","type":"uint64","internalType":"uint64"}]}],"stateMutability":"view"},{"type":"function","name":"load","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"data","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"parseAddress","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseBool","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes32","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseInt","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonAddress","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonAddressArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBool","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBoolArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes32","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes32Array","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytesArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonInt","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonIntArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256[]","internalType":"int256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonKeys","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"keys","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonString","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonStringArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonType","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonType","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonTypeArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonUint","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonUintArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseToml","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseToml","inputs":[{"name":"toml","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlAddress","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlAddressArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBool","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBoolArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes32","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes32Array","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytesArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlInt","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlIntArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256[]","internalType":"int256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlKeys","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"keys","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlString","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlStringArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlType","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlType","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlTypeArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlUint","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlUintArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseUint","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"pauseGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pauseTracing","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"projectRoot","inputs":[],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"prompt","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"input","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptAddress","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptSecret","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"input","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptSecretUint","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptUint","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"publicKeyP256","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomBool","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"randomBytes","inputs":[{"name":"len","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"randomBytes4","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"randomBytes8","inputs":[],"outputs":[{"name":"","type":"bytes8","internalType":"bytes8"}],"stateMutability":"view"},{"type":"function","name":"randomInt","inputs":[],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"randomInt","inputs":[{"name":"bits","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"randomUint","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomUint","inputs":[{"name":"bits","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"randomUint","inputs":[{"name":"min","type":"uint256","internalType":"uint256"},{"name":"max","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"maxDepth","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"maxDepth","type":"uint64","internalType":"uint64"},{"name":"followLinks","type":"bool","internalType":"bool"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"readLine","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"line","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readLink","inputs":[{"name":"linkPath","type":"string","internalType":"string"}],"outputs":[{"name":"targetPath","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"record","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordLogs","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKey","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKeys","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"count","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"keyAddrs","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKeys","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"language","type":"string","internalType":"string"},{"name":"count","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"keyAddrs","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"removeDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"recursive","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"replace","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"from","type":"string","internalType":"string"},{"name":"to","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"resetGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resumeGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resumeTracing","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"rpc","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"method","type":"string","internalType":"string"},{"name":"params","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"rpc","inputs":[{"name":"method","type":"string","internalType":"string"},{"name":"params","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"rpcUrl","inputs":[{"name":"rpcAlias","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"rpcUrlStructs","inputs":[],"outputs":[{"name":"urls","type":"tuple[]","internalType":"struct VmSafe.Rpc[]","components":[{"name":"key","type":"string","internalType":"string"},{"name":"url","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"rpcUrls","inputs":[],"outputs":[{"name":"urls","type":"string[2][]","internalType":"string[2][]"}],"stateMutability":"view"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeJson","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeJsonType","inputs":[{"name":"typeDescription","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"serializeJsonType","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUintToHex","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitraryStorage","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"overwrite","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitraryStorage","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEnv","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"shuffle","inputs":[{"name":"array","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"sign","inputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"sign","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"sign","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"sign","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signAndAttachDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signAndAttachDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signCompact","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"signCompact","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signCompact","inputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signCompact","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signP256","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"sleep","inputs":[{"name":"duration","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sort","inputs":[{"name":"array","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"split","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"delimiter","type":"string","internalType":"string"}],"outputs":[{"name":"outputs","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"startBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startDebugTraceRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startMappingRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startStateDiffRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopAndReturnDebugTraceRecording","inputs":[],"outputs":[{"name":"step","type":"tuple[]","internalType":"struct VmSafe.DebugStep[]","components":[{"name":"stack","type":"uint256[]","internalType":"uint256[]"},{"name":"memoryInput","type":"bytes","internalType":"bytes"},{"name":"opcode","type":"uint8","internalType":"uint8"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isOutOfGas","type":"bool","internalType":"bool"},{"name":"contractAddr","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"stopAndReturnStateDiff","inputs":[],"outputs":[{"name":"accountAccesses","type":"tuple[]","internalType":"struct VmSafe.AccountAccess[]","components":[{"name":"chainInfo","type":"tuple","internalType":"struct VmSafe.ChainInfo","components":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"chainId","type":"uint256","internalType":"uint256"}]},{"name":"kind","type":"uint8","internalType":"enum VmSafe.AccountAccessKind"},{"name":"account","type":"address","internalType":"address"},{"name":"accessor","type":"address","internalType":"address"},{"name":"initialized","type":"bool","internalType":"bool"},{"name":"oldBalance","type":"uint256","internalType":"uint256"},{"name":"newBalance","type":"uint256","internalType":"uint256"},{"name":"deployedCode","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"reverted","type":"bool","internalType":"bool"},{"name":"storageAccesses","type":"tuple[]","internalType":"struct VmSafe.StorageAccess[]","components":[{"name":"account","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"isWrite","type":"bool","internalType":"bool"},{"name":"previousValue","type":"bytes32","internalType":"bytes32"},{"name":"newValue","type":"bytes32","internalType":"bytes32"},{"name":"reverted","type":"bool","internalType":"bool"}]},{"name":"depth","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"stopBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopMappingRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"toBase64","inputs":[{"name":"data","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64URL","inputs":[{"name":"data","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64URL","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toLowercase","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toUppercase","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"trim","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"tryFfi","inputs":[{"name":"commandInput","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"result","type":"tuple","internalType":"struct VmSafe.FfiResult","components":[{"name":"exitCode","type":"int32","internalType":"int32"},{"name":"stdout","type":"bytes","internalType":"bytes"},{"name":"stderr","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"unixTime","inputs":[],"outputs":[{"name":"milliseconds","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"writeFile","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeLine","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeToml","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeToml","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"readSlots\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writeSlots\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertFalse\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assertFalse\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assertTrue\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertTrue\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assumeNoRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"partialMatch\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.PotentialRevert[]\",\"name\":\"potentialReverts\",\"type\":\"tuple[]\"}],\"name\":\"assumeNoRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"partialMatch\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.PotentialRevert\",\"name\":\"potentialRevert\",\"type\":\"tuple\"}],\"name\":\"assumeNoRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"blob\",\"type\":\"bytes\"}],\"name\":\"attachBlob\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"name\":\"attachDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"broadcastRawTransaction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"initCodeHash\",\"type\":\"bytes32\"}],\"name\":\"computeCreate2Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"initCodeHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"}],\"name\":\"computeCreate2Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"computeCreateAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"subject\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"search\",\"type\":\"string\"}],\"name\":\"contains\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"from\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"to\",\"type\":\"string\"}],\"name\":\"copyFile\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"copied\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"copyStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"createDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"walletLabel\",\"type\":\"string\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"walletLabel\",\"type\":\"string\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"ensNamehash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"defaultValue\",\"type\":\"bytes32[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"defaultValue\",\"type\":\"int256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"defaultValue\",\"type\":\"bool\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"defaultValue\",\"type\":\"address\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"defaultValue\",\"type\":\"uint256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"defaultValue\",\"type\":\"bytes[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"defaultValue\",\"type\":\"uint256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"defaultValue\",\"type\":\"string[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"defaultValue\",\"type\":\"bytes\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"defaultValue\",\"type\":\"bytes32\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"defaultValue\",\"type\":\"int256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultValue\",\"type\":\"address[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"defaultValue\",\"type\":\"string\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"defaultValue\",\"type\":\"bool[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"fromBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"toBlock\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"}],\"name\":\"eth_getLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"transactionHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"transactionIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"logIndex\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"removed\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.EthGetLogs[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"exists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"name\":\"foundryVersionAtLeast\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"name\":\"foundryVersionCmp\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"fsMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"readOnly\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"modified\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.FsMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"code\",\"type\":\"bytes\"}],\"name\":\"getArtifactPathByCode\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"deployedCode\",\"type\":\"bytes\"}],\"name\":\"getArtifactPathByDeployedCode\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlobBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blobBaseFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"height\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"}],\"name\":\"getBroadcast\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.BroadcastTxSummary\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"getBroadcasts\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.BroadcastTxSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"}],\"name\":\"getBroadcasts\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.BroadcastTxSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"chainAlias\",\"type\":\"string\"}],\"name\":\"getChain\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"chainAlias\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"rpcUrl\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Chain\",\"name\":\"chain\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"name\":\"getChain\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"chainAlias\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"rpcUrl\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Chain\",\"name\":\"chain\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"creationBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getDeployedCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"runtimeBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"getDeployment\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"name\":\"getDeployment\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"getDeployments\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"deployedAddresses\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFoundryVersion\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getLabel\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"currentLabel\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"elementSlot\",\"type\":\"bytes32\"}],\"name\":\"getMappingKeyAndParentOf\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"found\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"parent\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"mappingSlot\",\"type\":\"bytes32\"}],\"name\":\"getMappingLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"mappingSlot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"idx\",\"type\":\"uint256\"}],\"name\":\"getMappingSlotAt\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.Log[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateDiff\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"diff\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateDiffJson\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"diff\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWallets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"wallets\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"indexOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum VmSafe.ForgeContext\",\"name\":\"context\",\"type\":\"uint8\"}],\"name\":\"isContext\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"isDir\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"isFile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExistsJson\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExistsToml\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newLabel\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastCallGas\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"gasLimit\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasTotalUsed\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasMemoryUsed\",\"type\":\"uint64\"},{\"internalType\":\"int64\",\"name\":\"gasRefunded\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"gasRemaining\",\"type\":\"uint64\"}],\"internalType\":\"struct VmSafe.Gas\",\"name\":\"gas\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parsedValue\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"parsedValue\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"parsedValue\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"parsedValue\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"parsedValue\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonKeys\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"keys\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseJsonType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseJsonType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseJsonTypeArray\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseToml\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"}],\"name\":\"parseToml\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlKeys\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"keys\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseTomlType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseTomlType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseTomlTypeArray\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"parsedValue\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseTracing\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectRoot\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"prompt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptSecret\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptSecretUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"publicKeyP256\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"len\",\"type\":\"uint256\"}],\"name\":\"randomBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomBytes4\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomBytes8\",\"outputs\":[{\"internalType\":\"bytes8\",\"name\":\"\",\"type\":\"bytes8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"bits\",\"type\":\"uint256\"}],\"name\":\"randomInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"bits\",\"type\":\"uint256\"}],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"followLinks\",\"type\":\"bool\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFileBinary\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"line\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"linkPath\",\"type\":\"string\"}],\"name\":\"readLink\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"targetPath\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"rememberKey\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"count\",\"type\":\"uint32\"}],\"name\":\"rememberKeys\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"keyAddrs\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"count\",\"type\":\"uint32\"}],\"name\":\"rememberKeys\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"keyAddrs\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"removeDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"from\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"to\",\"type\":\"string\"}],\"name\":\"replace\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resetGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeTracing\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"method\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"params\",\"type\":\"string\"}],\"name\":\"rpc\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"method\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"params\",\"type\":\"string\"}],\"name\":\"rpc\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"rpcAlias\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrlStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Rpc[]\",\"name\":\"urls\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"urls\",\"type\":\"string[2][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"values\",\"type\":\"address[]\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"values\",\"type\":\"bool[]\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"values\",\"type\":\"bytes32[]\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"values\",\"type\":\"int256[]\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeJson\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeJsonType\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeJsonType\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"values\",\"type\":\"string[]\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUintToHex\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"overwrite\",\"type\":\"bool\"}],\"name\":\"setArbitraryStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"setArbitraryStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"array\",\"type\":\"uint256[]\"}],\"name\":\"shuffle\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"signAndAttachDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"name\":\"signAndAttachDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"signDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"name\":\"signDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signP256\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"sleep\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"array\",\"type\":\"uint256[]\"}],\"name\":\"sort\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delimiter\",\"type\":\"string\"}],\"name\":\"split\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"outputs\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startDebugTraceRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startMappingRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startStateDiffRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopAndReturnDebugTraceRecording\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"stack\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"memoryInput\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"opcode\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isOutOfGas\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"contractAddr\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.DebugStep[]\",\"name\":\"step\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopAndReturnStateDiff\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.ChainInfo\",\"name\":\"chainInfo\",\"type\":\"tuple\"},{\"internalType\":\"enum VmSafe.AccountAccessKind\",\"name\":\"kind\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"accessor\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"oldBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"deployedCode\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isWrite\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"previousValue\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newValue\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.StorageAccess[]\",\"name\":\"storageAccesses\",\"type\":\"tuple[]\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"}],\"internalType\":\"struct VmSafe.AccountAccess[]\",\"name\":\"accountAccesses\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopMappingRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"toBase64\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"toBase64\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"toBase64URL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"toBase64URL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"toLowercase\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"toUppercase\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"trim\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"tryFfi\",\"outputs\":[{\"components\":[{\"internalType\":\"int32\",\"name\":\"exitCode\",\"type\":\"int32\"},{\"internalType\":\"bytes\",\"name\":\"stdout\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"stderr\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.FfiResult\",\"name\":\"result\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unixTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"milliseconds\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"writeFileBinary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeToml\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeToml\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"accesses(address)\":{\"notice\":\"Gets all accessed reads and write slot from a `vm.record` session, for a given address.\"},\"addr(uint256)\":{\"notice\":\"Gets the address for a given private key.\"},\"assertApproxEqAbs(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\"},\"assertApproxEqAbs(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure.\"},\"assertApproxEqAbs(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\"},\"assertApproxEqAbs(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure.\"},\"assertApproxEqAbsDecimal(int256,int256,uint256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message.\"},\"assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message.\"},\"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqRel(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\"},\"assertApproxEqRel(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure.\"},\"assertApproxEqRel(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\"},\"assertApproxEqRel(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure.\"},\"assertApproxEqRelDecimal(int256,int256,uint256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message.\"},\"assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message.\"},\"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertEq(address,address)\":{\"notice\":\"Asserts that two `address` values are equal.\"},\"assertEq(address,address,string)\":{\"notice\":\"Asserts that two `address` values are equal and includes error message into revert string on failure.\"},\"assertEq(address[],address[])\":{\"notice\":\"Asserts that two arrays of `address` values are equal.\"},\"assertEq(address[],address[],string)\":{\"notice\":\"Asserts that two arrays of `address` values are equal and includes error message into revert string on failure.\"},\"assertEq(bool,bool)\":{\"notice\":\"Asserts that two `bool` values are equal.\"},\"assertEq(bool,bool,string)\":{\"notice\":\"Asserts that two `bool` values are equal and includes error message into revert string on failure.\"},\"assertEq(bool[],bool[])\":{\"notice\":\"Asserts that two arrays of `bool` values are equal.\"},\"assertEq(bool[],bool[],string)\":{\"notice\":\"Asserts that two arrays of `bool` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes,bytes)\":{\"notice\":\"Asserts that two `bytes` values are equal.\"},\"assertEq(bytes,bytes,string)\":{\"notice\":\"Asserts that two `bytes` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes32,bytes32)\":{\"notice\":\"Asserts that two `bytes32` values are equal.\"},\"assertEq(bytes32,bytes32,string)\":{\"notice\":\"Asserts that two `bytes32` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes32[],bytes32[])\":{\"notice\":\"Asserts that two arrays of `bytes32` values are equal.\"},\"assertEq(bytes32[],bytes32[],string)\":{\"notice\":\"Asserts that two arrays of `bytes32` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes[],bytes[])\":{\"notice\":\"Asserts that two arrays of `bytes` values are equal.\"},\"assertEq(bytes[],bytes[],string)\":{\"notice\":\"Asserts that two arrays of `bytes` values are equal and includes error message into revert string on failure.\"},\"assertEq(int256,int256)\":{\"notice\":\"Asserts that two `int256` values are equal.\"},\"assertEq(int256,int256,string)\":{\"notice\":\"Asserts that two `int256` values are equal and includes error message into revert string on failure.\"},\"assertEq(int256[],int256[])\":{\"notice\":\"Asserts that two arrays of `int256` values are equal.\"},\"assertEq(int256[],int256[],string)\":{\"notice\":\"Asserts that two arrays of `int256` values are equal and includes error message into revert string on failure.\"},\"assertEq(string,string)\":{\"notice\":\"Asserts that two `string` values are equal.\"},\"assertEq(string,string,string)\":{\"notice\":\"Asserts that two `string` values are equal and includes error message into revert string on failure.\"},\"assertEq(string[],string[])\":{\"notice\":\"Asserts that two arrays of `string` values are equal.\"},\"assertEq(string[],string[],string)\":{\"notice\":\"Asserts that two arrays of `string` values are equal and includes error message into revert string on failure.\"},\"assertEq(uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are equal.\"},\"assertEq(uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are equal and includes error message into revert string on failure.\"},\"assertEq(uint256[],uint256[])\":{\"notice\":\"Asserts that two arrays of `uint256 values are equal.\"},\"assertEq(uint256[],uint256[],string)\":{\"notice\":\"Asserts that two arrays of `uint256` values are equal and includes error message into revert string on failure.\"},\"assertEqDecimal(int256,int256,uint256)\":{\"notice\":\"Asserts that two `int256` values are equal, formatting them with decimals in failure message.\"},\"assertEqDecimal(int256,int256,uint256,string)\":{\"notice\":\"Asserts that two `int256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertEqDecimal(uint256,uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are equal, formatting them with decimals in failure message.\"},\"assertEqDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertFalse(bool)\":{\"notice\":\"Asserts that the given condition is false.\"},\"assertFalse(bool,string)\":{\"notice\":\"Asserts that the given condition is false and includes error message into revert string on failure.\"},\"assertGe(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second.\"},\"assertGe(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure.\"},\"assertGe(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second.\"},\"assertGe(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure.\"},\"assertGeDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message.\"},\"assertGeDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGeDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message.\"},\"assertGeDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGt(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second.\"},\"assertGt(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Includes error message into revert string on failure.\"},\"assertGt(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second.\"},\"assertGt(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Includes error message into revert string on failure.\"},\"assertGtDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message.\"},\"assertGtDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGtDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message.\"},\"assertGtDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLe(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second.\"},\"assertLe(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure.\"},\"assertLe(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second.\"},\"assertLe(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure.\"},\"assertLeDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message.\"},\"assertLeDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLeDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message.\"},\"assertLeDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLt(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second.\"},\"assertLt(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Includes error message into revert string on failure.\"},\"assertLt(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second.\"},\"assertLt(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Includes error message into revert string on failure.\"},\"assertLtDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message.\"},\"assertLtDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLtDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message.\"},\"assertLtDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertNotEq(address,address)\":{\"notice\":\"Asserts that two `address` values are not equal.\"},\"assertNotEq(address,address,string)\":{\"notice\":\"Asserts that two `address` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(address[],address[])\":{\"notice\":\"Asserts that two arrays of `address` values are not equal.\"},\"assertNotEq(address[],address[],string)\":{\"notice\":\"Asserts that two arrays of `address` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bool,bool)\":{\"notice\":\"Asserts that two `bool` values are not equal.\"},\"assertNotEq(bool,bool,string)\":{\"notice\":\"Asserts that two `bool` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bool[],bool[])\":{\"notice\":\"Asserts that two arrays of `bool` values are not equal.\"},\"assertNotEq(bool[],bool[],string)\":{\"notice\":\"Asserts that two arrays of `bool` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes,bytes)\":{\"notice\":\"Asserts that two `bytes` values are not equal.\"},\"assertNotEq(bytes,bytes,string)\":{\"notice\":\"Asserts that two `bytes` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes32,bytes32)\":{\"notice\":\"Asserts that two `bytes32` values are not equal.\"},\"assertNotEq(bytes32,bytes32,string)\":{\"notice\":\"Asserts that two `bytes32` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes32[],bytes32[])\":{\"notice\":\"Asserts that two arrays of `bytes32` values are not equal.\"},\"assertNotEq(bytes32[],bytes32[],string)\":{\"notice\":\"Asserts that two arrays of `bytes32` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes[],bytes[])\":{\"notice\":\"Asserts that two arrays of `bytes` values are not equal.\"},\"assertNotEq(bytes[],bytes[],string)\":{\"notice\":\"Asserts that two arrays of `bytes` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(int256,int256)\":{\"notice\":\"Asserts that two `int256` values are not equal.\"},\"assertNotEq(int256,int256,string)\":{\"notice\":\"Asserts that two `int256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(int256[],int256[])\":{\"notice\":\"Asserts that two arrays of `int256` values are not equal.\"},\"assertNotEq(int256[],int256[],string)\":{\"notice\":\"Asserts that two arrays of `int256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(string,string)\":{\"notice\":\"Asserts that two `string` values are not equal.\"},\"assertNotEq(string,string,string)\":{\"notice\":\"Asserts that two `string` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(string[],string[])\":{\"notice\":\"Asserts that two arrays of `string` values are not equal.\"},\"assertNotEq(string[],string[],string)\":{\"notice\":\"Asserts that two arrays of `string` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are not equal.\"},\"assertNotEq(uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(uint256[],uint256[])\":{\"notice\":\"Asserts that two arrays of `uint256` values are not equal.\"},\"assertNotEq(uint256[],uint256[],string)\":{\"notice\":\"Asserts that two arrays of `uint256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEqDecimal(int256,int256,uint256)\":{\"notice\":\"Asserts that two `int256` values are not equal, formatting them with decimals in failure message.\"},\"assertNotEqDecimal(int256,int256,uint256,string)\":{\"notice\":\"Asserts that two `int256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertNotEqDecimal(uint256,uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message.\"},\"assertNotEqDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertTrue(bool)\":{\"notice\":\"Asserts that the given condition is true.\"},\"assertTrue(bool,string)\":{\"notice\":\"Asserts that the given condition is true and includes error message into revert string on failure.\"},\"assume(bool)\":{\"notice\":\"If the condition is false, discard this run's fuzz inputs and generate new ones.\"},\"assumeNoRevert((address,bool,bytes))\":{\"notice\":\"Discard this run's fuzz inputs and generate new ones if next call reverts with the potential revert parameters.\"},\"assumeNoRevert((address,bool,bytes)[])\":{\"notice\":\"Discard this run's fuzz inputs and generate new ones if next call reverts with the any of the potential revert parameters.\"},\"assumeNoRevert()\":{\"notice\":\"Discard this run's fuzz inputs and generate new ones if next call reverted.\"},\"attachBlob(bytes)\":{\"notice\":\"Attach an EIP-4844 blob to the next call\"},\"attachDelegation((uint8,bytes32,bytes32,uint64,address))\":{\"notice\":\"Designate the next call as an EIP-7702 transaction\"},\"breakpoint(string)\":{\"notice\":\"Writes a breakpoint to jump to in the debugger.\"},\"breakpoint(string,bool)\":{\"notice\":\"Writes a conditional breakpoint to jump to in the debugger.\"},\"broadcast()\":{\"notice\":\"Has the next call (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used.\"},\"broadcast(address)\":{\"notice\":\"Has the next call (at this call depth only) create a transaction with the address provided as the sender that can later be signed and sent onchain.\"},\"broadcast(uint256)\":{\"notice\":\"Has the next call (at this call depth only) create a transaction with the private key provided as the sender that can later be signed and sent onchain.\"},\"broadcastRawTransaction(bytes)\":{\"notice\":\"Takes a signed transaction and broadcasts it to the network.\"},\"closeFile(string)\":{\"notice\":\"Closes file for reading, resetting the offset and allowing to read it from beginning with readLine. `path` is relative to the project root.\"},\"computeCreate2Address(bytes32,bytes32)\":{\"notice\":\"Compute the address of a contract created with CREATE2 using the default CREATE2 deployer.\"},\"computeCreate2Address(bytes32,bytes32,address)\":{\"notice\":\"Compute the address of a contract created with CREATE2 using the given CREATE2 deployer.\"},\"computeCreateAddress(address,uint256)\":{\"notice\":\"Compute the address a contract will be deployed at for a given deployer address and nonce.\"},\"contains(string,string)\":{\"notice\":\"Returns true if `search` is found in `subject`, false otherwise.\"},\"copyFile(string,string)\":{\"notice\":\"Copies the contents of one file to another. This function will **overwrite** the contents of `to`. On success, the total number of bytes copied is returned and it is equal to the length of the `to` file as reported by `metadata`. Both `from` and `to` are relative to the project root.\"},\"copyStorage(address,address)\":{\"notice\":\"Utility cheatcode to copy storage of `from` contract to another `to` contract.\"},\"createDir(string,bool)\":{\"notice\":\"Creates a new, empty directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - User lacks permissions to modify `path`. - A parent of the given path doesn't exist and `recursive` is false. - `path` already exists and `recursive` is false. `path` is relative to the project root.\"},\"createWallet(string)\":{\"notice\":\"Derives a private key from the name, labels the account with that name, and returns the wallet.\"},\"createWallet(uint256)\":{\"notice\":\"Generates a wallet from the private key and returns the wallet.\"},\"createWallet(uint256,string)\":{\"notice\":\"Generates a wallet from the private key, labels the account with that name, and returns the wallet.\"},\"deployCode(string)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"deployCode(string,bytes)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments.\"},\"deployCode(string,bytes,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments.\"},\"deployCode(string,bytes,uint256)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments and `msg.value`.\"},\"deployCode(string,bytes,uint256,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments and `msg.value`.\"},\"deployCode(string,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"deployCode(string,uint256)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts `msg.value`.\"},\"deployCode(string,uint256,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts `msg.value`.\"},\"deriveKey(string,string,uint32)\":{\"notice\":\"Derive a private key from a provided mnenomic string (or mnenomic file path) at `{derivationPath}{index}`.\"},\"deriveKey(string,string,uint32,string)\":{\"notice\":\"Derive a private key from a provided mnenomic string (or mnenomic file path) in the specified language at `{derivationPath}{index}`.\"},\"deriveKey(string,uint32)\":{\"notice\":\"Derive a private key from a provided mnenomic string (or mnenomic file path) at the derivation path `m/44'/60'/0'/0/{index}`.\"},\"deriveKey(string,uint32,string)\":{\"notice\":\"Derive a private key from a provided mnenomic string (or mnenomic file path) in the specified language at the derivation path `m/44'/60'/0'/0/{index}`.\"},\"ensNamehash(string)\":{\"notice\":\"Returns ENS namehash for provided string.\"},\"envAddress(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `address`. Reverts if the variable was not found or could not be parsed.\"},\"envAddress(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBool(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable was not found or could not be parsed.\"},\"envBool(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes32(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes32(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envExists(string)\":{\"notice\":\"Gets the environment variable `name` and returns true if it exists, else returns false.\"},\"envInt(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable was not found or could not be parsed.\"},\"envInt(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envOr(string,address)\":{\"notice\":\"Gets the environment variable `name` and parses it as `address`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bool)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bytes)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bytes32)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,int256)\":{\"notice\":\"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `string`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,address[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bool[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bytes32[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bytes[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,int256[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,string[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,uint256[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,uint256)\":{\"notice\":\"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envString(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `string`. Reverts if the variable was not found or could not be parsed.\"},\"envString(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envUint(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable was not found or could not be parsed.\"},\"envUint(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"eth_getLogs(uint256,uint256,address,bytes32[])\":{\"notice\":\"Gets all the logs according to specified filter.\"},\"exists(string)\":{\"notice\":\"Returns true if the given path points to an existing entity, else returns false.\"},\"ffi(string[])\":{\"notice\":\"Performs a foreign function call via the terminal.\"},\"foundryVersionAtLeast(string)\":{\"notice\":\"Returns true if the current Foundry version is greater than or equal to the given version. The given version string must be in the format `major.minor.patch`. This is equivalent to `foundryVersionCmp(version) >= 0`.\"},\"foundryVersionCmp(string)\":{\"notice\":\"Compares the current Foundry version with the given version string. The given version string must be in the format `major.minor.patch`. Returns: -1 if current Foundry version is less than the given version 0 if current Foundry version equals the given version 1 if current Foundry version is greater than the given version This result can then be used with a comparison operator against `0`. For example, to check if the current Foundry version is greater than or equal to `1.0.0`: `if (foundryVersionCmp(\\\"1.0.0\\\") >= 0) { ... }`\"},\"fsMetadata(string)\":{\"notice\":\"Given a path, query the file system to get information about a file, directory, etc.\"},\"getArtifactPathByCode(bytes)\":{\"notice\":\"Gets the artifact path from code (aka. creation code).\"},\"getArtifactPathByDeployedCode(bytes)\":{\"notice\":\"Gets the artifact path from deployed code (aka. runtime code).\"},\"getBlobBaseFee()\":{\"notice\":\"Gets the current `block.blobbasefee`. You should use this instead of `block.blobbasefee` if you use `vm.blobBaseFee`, as `block.blobbasefee` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBlockNumber()\":{\"notice\":\"Gets the current `block.number`. You should use this instead of `block.number` if you use `vm.roll`, as `block.number` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBlockTimestamp()\":{\"notice\":\"Gets the current `block.timestamp`. You should use this instead of `block.timestamp` if you use `vm.warp`, as `block.timestamp` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBroadcast(string,uint64,uint8)\":{\"notice\":\"Returns the most recent broadcast for the given contract on `chainId` matching `txType`. For example: The most recent deployment can be fetched by passing `txType` as `CREATE` or `CREATE2`. The most recent call can be fetched by passing `txType` as `CALL`.\"},\"getBroadcasts(string,uint64)\":{\"notice\":\"Returns all broadcasts for the given contract on `chainId`. Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber.\"},\"getBroadcasts(string,uint64,uint8)\":{\"notice\":\"Returns all broadcasts for the given contract on `chainId` with the specified `txType`. Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber.\"},\"getChain(string)\":{\"notice\":\"Returns a Chain struct for specific alias\"},\"getChain(uint256)\":{\"notice\":\"Returns a Chain struct for specific chainId\"},\"getCode(string)\":{\"notice\":\"Gets the creation bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"getDeployedCode(string)\":{\"notice\":\"Gets the deployed bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"getDeployment(string)\":{\"notice\":\"Returns the most recent deployment for the current `chainId`.\"},\"getDeployment(string,uint64)\":{\"notice\":\"Returns the most recent deployment for the given contract on `chainId`\"},\"getDeployments(string,uint64)\":{\"notice\":\"Returns all deployments for the given contract on `chainId` Sorted in descending order of deployment time i.e descending order of BroadcastTxSummary.blockNumber. The most recent deployment is the first element, and the oldest is the last.\"},\"getFoundryVersion()\":{\"notice\":\"Returns the Foundry version. Format: -+.. Sample output: 0.3.0-nightly+3cb96bde9b.1737036656.debug Note: Build timestamps may vary slightly across platforms due to separate CI jobs. For reliable version comparisons, use UNIX format (e.g., >= 1700000000) to compare timestamps while ignoring minor time differences.\"},\"getLabel(address)\":{\"notice\":\"Gets the label for the specified address.\"},\"getMappingKeyAndParentOf(address,bytes32)\":{\"notice\":\"Gets the map key and parent of a mapping at a given slot, for a given address.\"},\"getMappingLength(address,bytes32)\":{\"notice\":\"Gets the number of elements in the mapping at the given slot, for a given address.\"},\"getMappingSlotAt(address,bytes32,uint256)\":{\"notice\":\"Gets the elements at index idx of the mapping at the given slot, for a given address. The index must be less than the length of the mapping (i.e. the number of keys in the mapping).\"},\"getNonce((address,uint256,uint256,uint256))\":{\"notice\":\"Get the nonce of a `Wallet`.\"},\"getNonce(address)\":{\"notice\":\"Gets the nonce of an account.\"},\"getRecordedLogs()\":{\"notice\":\"Gets all the recorded logs.\"},\"getStateDiff()\":{\"notice\":\"Returns state diffs from current `vm.startStateDiffRecording` session.\"},\"getStateDiffJson()\":{\"notice\":\"Returns state diffs from current `vm.startStateDiffRecording` session, in json format.\"},\"getWallets()\":{\"notice\":\"Returns addresses of available unlocked wallets in the script environment.\"},\"indexOf(string,string)\":{\"notice\":\"Returns the index of the first occurrence of a `key` in an `input` string. Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `key` is not found. Returns 0 in case of an empty `key`.\"},\"isContext(uint8)\":{\"notice\":\"Returns true if `forge` command was executed in given context.\"},\"isDir(string)\":{\"notice\":\"Returns true if the path exists on disk and is pointing at a directory, else returns false.\"},\"isFile(string)\":{\"notice\":\"Returns true if the path exists on disk and is pointing at a regular file, else returns false.\"},\"keyExists(string,string)\":{\"notice\":\"Checks if `key` exists in a JSON object `keyExists` is being deprecated in favor of `keyExistsJson`. It will be removed in future versions.\"},\"keyExistsJson(string,string)\":{\"notice\":\"Checks if `key` exists in a JSON object.\"},\"keyExistsToml(string,string)\":{\"notice\":\"Checks if `key` exists in a TOML table.\"},\"label(address,string)\":{\"notice\":\"Labels an address in call traces.\"},\"lastCallGas()\":{\"notice\":\"Gets the gas used in the last call from the callee perspective.\"},\"load(address,bytes32)\":{\"notice\":\"Loads a storage slot from an address.\"},\"parseAddress(string)\":{\"notice\":\"Parses the given `string` into an `address`.\"},\"parseBool(string)\":{\"notice\":\"Parses the given `string` into a `bool`.\"},\"parseBytes(string)\":{\"notice\":\"Parses the given `string` into `bytes`.\"},\"parseBytes32(string)\":{\"notice\":\"Parses the given `string` into a `bytes32`.\"},\"parseInt(string)\":{\"notice\":\"Parses the given `string` into a `int256`.\"},\"parseJson(string)\":{\"notice\":\"ABI-encodes a JSON object.\"},\"parseJson(string,string)\":{\"notice\":\"ABI-encodes a JSON object at `key`.\"},\"parseJsonAddress(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `address`.\"},\"parseJsonAddressArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `address[]`.\"},\"parseJsonBool(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bool`.\"},\"parseJsonBoolArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bool[]`.\"},\"parseJsonBytes(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes`.\"},\"parseJsonBytes32(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes32`.\"},\"parseJsonBytes32Array(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes32[]`.\"},\"parseJsonBytesArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes[]`.\"},\"parseJsonInt(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `int256`.\"},\"parseJsonIntArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `int256[]`.\"},\"parseJsonKeys(string,string)\":{\"notice\":\"Returns an array of all the keys in a JSON object.\"},\"parseJsonString(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `string`.\"},\"parseJsonStringArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `string[]`.\"},\"parseJsonType(string,string)\":{\"notice\":\"Parses a string of JSON data and coerces it to type corresponding to `typeDescription`.\"},\"parseJsonType(string,string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to type corresponding to `typeDescription`.\"},\"parseJsonTypeArray(string,string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to type array corresponding to `typeDescription`.\"},\"parseJsonUint(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `uint256`.\"},\"parseJsonUintArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `uint256[]`.\"},\"parseToml(string)\":{\"notice\":\"ABI-encodes a TOML table.\"},\"parseToml(string,string)\":{\"notice\":\"ABI-encodes a TOML table at `key`.\"},\"parseTomlAddress(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `address`.\"},\"parseTomlAddressArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `address[]`.\"},\"parseTomlBool(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bool`.\"},\"parseTomlBoolArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bool[]`.\"},\"parseTomlBytes(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes`.\"},\"parseTomlBytes32(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes32`.\"},\"parseTomlBytes32Array(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes32[]`.\"},\"parseTomlBytesArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes[]`.\"},\"parseTomlInt(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `int256`.\"},\"parseTomlIntArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `int256[]`.\"},\"parseTomlKeys(string,string)\":{\"notice\":\"Returns an array of all the keys in a TOML table.\"},\"parseTomlString(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `string`.\"},\"parseTomlStringArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `string[]`.\"},\"parseTomlType(string,string)\":{\"notice\":\"Parses a string of TOML data and coerces it to type corresponding to `typeDescription`.\"},\"parseTomlType(string,string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to type corresponding to `typeDescription`.\"},\"parseTomlTypeArray(string,string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to type array corresponding to `typeDescription`.\"},\"parseTomlUint(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `uint256`.\"},\"parseTomlUintArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `uint256[]`.\"},\"parseUint(string)\":{\"notice\":\"Parses the given `string` into a `uint256`.\"},\"pauseGasMetering()\":{\"notice\":\"Pauses gas metering (i.e. gas usage is not counted). Noop if already paused.\"},\"pauseTracing()\":{\"notice\":\"Pauses collection of call traces. Useful in cases when you want to skip tracing of complex calls which are not useful for debugging.\"},\"projectRoot()\":{\"notice\":\"Get the path of the current project root.\"},\"prompt(string)\":{\"notice\":\"Prompts the user for a string value in the terminal.\"},\"promptAddress(string)\":{\"notice\":\"Prompts the user for an address in the terminal.\"},\"promptSecret(string)\":{\"notice\":\"Prompts the user for a hidden string value in the terminal.\"},\"promptSecretUint(string)\":{\"notice\":\"Prompts the user for hidden uint256 in the terminal (usually pk).\"},\"promptUint(string)\":{\"notice\":\"Prompts the user for uint256 in the terminal.\"},\"publicKeyP256(uint256)\":{\"notice\":\"Derives secp256r1 public key from the provided `privateKey`.\"},\"randomAddress()\":{\"notice\":\"Returns a random `address`.\"},\"randomBool()\":{\"notice\":\"Returns a random `bool`.\"},\"randomBytes(uint256)\":{\"notice\":\"Returns a random byte array value of the given length.\"},\"randomBytes4()\":{\"notice\":\"Returns a random fixed-size byte array of length 4.\"},\"randomBytes8()\":{\"notice\":\"Returns a random fixed-size byte array of length 8.\"},\"randomInt()\":{\"notice\":\"Returns a random `int256` value.\"},\"randomInt(uint256)\":{\"notice\":\"Returns a random `int256` value of given bits.\"},\"randomUint()\":{\"notice\":\"Returns a random uint256 value.\"},\"randomUint(uint256)\":{\"notice\":\"Returns a random `uint256` value of given bits.\"},\"randomUint(uint256,uint256)\":{\"notice\":\"Returns random uint256 value between the provided range (=min..=max).\"},\"readDir(string)\":{\"notice\":\"Reads the directory at the given path recursively, up to `maxDepth`. `maxDepth` defaults to 1, meaning only the direct children of the given directory will be returned. Follows symbolic links if `followLinks` is true.\"},\"readDir(string,uint64)\":{\"notice\":\"See `readDir(string)`.\"},\"readDir(string,uint64,bool)\":{\"notice\":\"See `readDir(string)`.\"},\"readFile(string)\":{\"notice\":\"Reads the entire content of file to string. `path` is relative to the project root.\"},\"readFileBinary(string)\":{\"notice\":\"Reads the entire content of file as binary. `path` is relative to the project root.\"},\"readLine(string)\":{\"notice\":\"Reads next line of file to string.\"},\"readLink(string)\":{\"notice\":\"Reads a symbolic link, returning the path that the link points to. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` is not a symbolic link. - `path` does not exist.\"},\"record()\":{\"notice\":\"Records all storage reads and writes.\"},\"recordLogs()\":{\"notice\":\"Record all the transaction logs.\"},\"rememberKey(uint256)\":{\"notice\":\"Adds a private key to the local forge wallet and returns the address.\"},\"rememberKeys(string,string,string,uint32)\":{\"notice\":\"Derive a set number of wallets from a mnemonic in the specified language at the derivation path `m/44'/60'/0'/0/{0..count}`. The respective private keys are saved to the local forge wallet for later use and their addresses are returned.\"},\"rememberKeys(string,string,uint32)\":{\"notice\":\"Derive a set number of wallets from a mnemonic at the derivation path `m/44'/60'/0'/0/{0..count}`. The respective private keys are saved to the local forge wallet for later use and their addresses are returned.\"},\"removeDir(string,bool)\":{\"notice\":\"Removes a directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` doesn't exist. - `path` isn't a directory. - User lacks permissions to modify `path`. - The directory is not empty and `recursive` is false. `path` is relative to the project root.\"},\"removeFile(string)\":{\"notice\":\"Removes a file from the filesystem. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` points to a directory. - The file doesn't exist. - The user lacks permissions to remove the file. `path` is relative to the project root.\"},\"replace(string,string,string)\":{\"notice\":\"Replaces occurrences of `from` in the given `string` with `to`.\"},\"resetGasMetering()\":{\"notice\":\"Reset gas metering (i.e. gas usage is set to gas limit).\"},\"resumeGasMetering()\":{\"notice\":\"Resumes gas metering (i.e. gas usage is counted again). Noop if already on.\"},\"resumeTracing()\":{\"notice\":\"Unpauses collection of call traces.\"},\"rpc(string,string)\":{\"notice\":\"Performs an Ethereum JSON-RPC request to the current fork URL.\"},\"rpc(string,string,string)\":{\"notice\":\"Performs an Ethereum JSON-RPC request to the given endpoint.\"},\"rpcUrl(string)\":{\"notice\":\"Returns the RPC url for the given alias.\"},\"rpcUrlStructs()\":{\"notice\":\"Returns all rpc urls and their aliases as structs.\"},\"rpcUrls()\":{\"notice\":\"Returns all rpc urls and their aliases `[alias, url][]`.\"},\"serializeAddress(string,string,address)\":{\"notice\":\"See `serializeJson`.\"},\"serializeAddress(string,string,address[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBool(string,string,bool)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBool(string,string,bool[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes(string,string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes(string,string,bytes[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes32(string,string,bytes32)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes32(string,string,bytes32[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeInt(string,string,int256)\":{\"notice\":\"See `serializeJson`.\"},\"serializeInt(string,string,int256[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeJson(string,string)\":{\"notice\":\"Serializes a key and value to a JSON object stored in-memory that can be later written to a file. Returns the stringified version of the specific JSON file up to that moment.\"},\"serializeJsonType(string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeJsonType(string,string,string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeString(string,string,string)\":{\"notice\":\"See `serializeJson`.\"},\"serializeString(string,string,string[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeUint(string,string,uint256)\":{\"notice\":\"See `serializeJson`.\"},\"serializeUint(string,string,uint256[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeUintToHex(string,string,uint256)\":{\"notice\":\"See `serializeJson`.\"},\"setArbitraryStorage(address)\":{\"notice\":\"Utility cheatcode to set arbitrary storage for given target address.\"},\"setArbitraryStorage(address,bool)\":{\"notice\":\"Utility cheatcode to set arbitrary storage for given target address and overwrite any storage slots that have been previously set.\"},\"setEnv(string,string)\":{\"notice\":\"Sets environment variables.\"},\"shuffle(uint256[])\":{\"notice\":\"Randomly shuffles an array.\"},\"sign((address,uint256,uint256,uint256),bytes32)\":{\"notice\":\"Signs data with a `Wallet`.\"},\"sign(address,bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Raises error if none of the signers passed into the script have provided address.\"},\"sign(bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script.\"},\"sign(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256k1 curve.\"},\"signAndAttachDelegation(address,uint256)\":{\"notice\":\"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction\"},\"signAndAttachDelegation(address,uint256,uint64)\":{\"notice\":\"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction for specific nonce\"},\"signCompact((address,uint256,uint256,uint256),bytes32)\":{\"notice\":\"Signs data with a `Wallet`. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes.\"},\"signCompact(address,bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes. Raises error if none of the signers passed into the script have provided address.\"},\"signCompact(bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script.\"},\"signCompact(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes.\"},\"signDelegation(address,uint256)\":{\"notice\":\"Sign an EIP-7702 authorization for delegation\"},\"signDelegation(address,uint256,uint64)\":{\"notice\":\"Sign an EIP-7702 authorization for delegation for specific nonce\"},\"signP256(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256r1 curve.\"},\"sleep(uint256)\":{\"notice\":\"Suspends execution of the main thread for `duration` milliseconds.\"},\"sort(uint256[])\":{\"notice\":\"Sorts an array in ascending order.\"},\"split(string,string)\":{\"notice\":\"Splits the given `string` into an array of strings divided by the `delimiter`.\"},\"startBroadcast()\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used.\"},\"startBroadcast(address)\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions with the address provided that can later be signed and sent onchain.\"},\"startBroadcast(uint256)\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions with the private key provided that can later be signed and sent onchain.\"},\"startDebugTraceRecording()\":{\"notice\":\"Records the debug trace during the run.\"},\"startMappingRecording()\":{\"notice\":\"Starts recording all map SSTOREs for later retrieval.\"},\"startStateDiffRecording()\":{\"notice\":\"Record all account accesses as part of CREATE, CALL or SELFDESTRUCT opcodes in order, along with the context of the calls\"},\"stopAndReturnDebugTraceRecording()\":{\"notice\":\"Stop debug trace recording and returns the recorded debug trace.\"},\"stopAndReturnStateDiff()\":{\"notice\":\"Returns an ordered array of all account accesses from a `vm.startStateDiffRecording` session.\"},\"stopBroadcast()\":{\"notice\":\"Stops collecting onchain transactions.\"},\"stopMappingRecording()\":{\"notice\":\"Stops recording all map SSTOREs for later retrieval and clears the recorded data.\"},\"toBase64(bytes)\":{\"notice\":\"Encodes a `bytes` value to a base64 string.\"},\"toBase64(string)\":{\"notice\":\"Encodes a `string` value to a base64 string.\"},\"toBase64URL(bytes)\":{\"notice\":\"Encodes a `bytes` value to a base64url string.\"},\"toBase64URL(string)\":{\"notice\":\"Encodes a `string` value to a base64url string.\"},\"toLowercase(string)\":{\"notice\":\"Converts the given `string` value to Lowercase.\"},\"toString(address)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bool)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bytes)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bytes32)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(int256)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(uint256)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toUppercase(string)\":{\"notice\":\"Converts the given `string` value to Uppercase.\"},\"trim(string)\":{\"notice\":\"Trims leading and trailing whitespace from the given `string` value.\"},\"tryFfi(string[])\":{\"notice\":\"Performs a foreign function call via terminal and returns the exit code, stdout, and stderr.\"},\"unixTime()\":{\"notice\":\"Returns the time since unix epoch in milliseconds.\"},\"writeFile(string,string)\":{\"notice\":\"Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root.\"},\"writeFileBinary(string,bytes)\":{\"notice\":\"Writes binary data to a file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root.\"},\"writeJson(string,string)\":{\"notice\":\"Write a serialized JSON object to a file. If the file exists, it will be overwritten.\"},\"writeJson(string,string,string)\":{\"notice\":\"Write a serialized JSON object to an **existing** JSON file, replacing a value with key = This is useful to replace a specific value of a JSON file, without having to parse the entire thing.\"},\"writeLine(string,string)\":{\"notice\":\"Writes line to file, creating a file if it does not exist. `path` is relative to the project root.\"},\"writeToml(string,string)\":{\"notice\":\"Takes serialized JSON, converts to TOML and write a serialized TOML to a file.\"},\"writeToml(string,string,string)\":{\"notice\":\"Takes serialized JSON, converts to TOML and write a serialized TOML table to an **existing** TOML file, replacing a value with key = This is useful to replace a specific value of a TOML file, without having to parse the entire thing.\"}},\"notice\":\"The `VmSafe` interface does not allow manipulation of the EVM state or other actions that may result in Script simulations differing from on-chain execution. It is recommended to only use these cheats in scripts.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Vm.sol\":\"VmSafe\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"accesses(address)":"65bc9481","addr(uint256)":"ffa18649","assertApproxEqAbs(int256,int256,uint256)":"240f839d","assertApproxEqAbs(int256,int256,uint256,string)":"8289e621","assertApproxEqAbs(uint256,uint256,uint256)":"16d207c6","assertApproxEqAbs(uint256,uint256,uint256,string)":"f710b062","assertApproxEqAbsDecimal(int256,int256,uint256,uint256)":"3d5bc8bc","assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)":"6a5066d4","assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)":"045c55ce","assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)":"60429eb2","assertApproxEqRel(int256,int256,uint256)":"fea2d14f","assertApproxEqRel(int256,int256,uint256,string)":"ef277d72","assertApproxEqRel(uint256,uint256,uint256)":"8cf25ef4","assertApproxEqRel(uint256,uint256,uint256,string)":"1ecb7d33","assertApproxEqRelDecimal(int256,int256,uint256,uint256)":"abbf21cc","assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)":"fccc11c4","assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)":"21ed2977","assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)":"82d6c8fd","assertEq(address,address)":"515361f6","assertEq(address,address,string)":"2f2769d1","assertEq(address[],address[])":"3868ac34","assertEq(address[],address[],string)":"3e9173c5","assertEq(bool,bool)":"f7fe3477","assertEq(bool,bool,string)":"4db19e7e","assertEq(bool[],bool[])":"707df785","assertEq(bool[],bool[],string)":"e48a8f8d","assertEq(bytes,bytes)":"97624631","assertEq(bytes,bytes,string)":"e24fed00","assertEq(bytes32,bytes32)":"7c84c69b","assertEq(bytes32,bytes32,string)":"c1fa1ed0","assertEq(bytes32[],bytes32[])":"0cc9ee84","assertEq(bytes32[],bytes32[],string)":"e03e9177","assertEq(bytes[],bytes[])":"e5fb9b4a","assertEq(bytes[],bytes[],string)":"f413f0b6","assertEq(int256,int256)":"fe74f05b","assertEq(int256,int256,string)":"714a2f13","assertEq(int256[],int256[])":"711043ac","assertEq(int256[],int256[],string)":"191f1b30","assertEq(string,string)":"f320d963","assertEq(string,string,string)":"36f656d8","assertEq(string[],string[])":"cf1c049c","assertEq(string[],string[],string)":"eff6b27d","assertEq(uint256,uint256)":"98296c54","assertEq(uint256,uint256,string)":"88b44c85","assertEq(uint256[],uint256[])":"975d5a12","assertEq(uint256[],uint256[],string)":"5d18c73a","assertEqDecimal(int256,int256,uint256)":"48016c04","assertEqDecimal(int256,int256,uint256,string)":"7e77b0c5","assertEqDecimal(uint256,uint256,uint256)":"27af7d9c","assertEqDecimal(uint256,uint256,uint256,string)":"d0cbbdef","assertFalse(bool)":"a5982885","assertFalse(bool,string)":"7ba04809","assertGe(int256,int256)":"0a30b771","assertGe(int256,int256,string)":"a84328dd","assertGe(uint256,uint256)":"a8d4d1d9","assertGe(uint256,uint256,string)":"e25242c0","assertGeDecimal(int256,int256,uint256)":"dc28c0f1","assertGeDecimal(int256,int256,uint256,string)":"5df93c9b","assertGeDecimal(uint256,uint256,uint256)":"3d1fe08a","assertGeDecimal(uint256,uint256,uint256,string)":"8bff9133","assertGt(int256,int256)":"5a362d45","assertGt(int256,int256,string)":"f8d33b9b","assertGt(uint256,uint256)":"db07fcd2","assertGt(uint256,uint256,string)":"d9a3c4d2","assertGtDecimal(int256,int256,uint256)":"78611f0e","assertGtDecimal(int256,int256,uint256,string)":"04a5c7ab","assertGtDecimal(uint256,uint256,uint256)":"eccd2437","assertGtDecimal(uint256,uint256,uint256,string)":"64949a8d","assertLe(int256,int256)":"95fd154e","assertLe(int256,int256,string)":"4dfe692c","assertLe(uint256,uint256)":"8466f415","assertLe(uint256,uint256,string)":"d17d4b0d","assertLeDecimal(int256,int256,uint256)":"11d1364a","assertLeDecimal(int256,int256,uint256,string)":"aa5cf788","assertLeDecimal(uint256,uint256,uint256)":"c304aab7","assertLeDecimal(uint256,uint256,uint256,string)":"7fefbbe0","assertLt(int256,int256)":"3e914080","assertLt(int256,int256,string)":"9ff531e3","assertLt(uint256,uint256)":"b12fc005","assertLt(uint256,uint256,string)":"65d5c135","assertLtDecimal(int256,int256,uint256)":"dbe8d88b","assertLtDecimal(int256,int256,uint256,string)":"40f0b4e0","assertLtDecimal(uint256,uint256,uint256)":"2077337e","assertLtDecimal(uint256,uint256,uint256,string)":"a972d037","assertNotEq(address,address)":"b12e1694","assertNotEq(address,address,string)":"8775a591","assertNotEq(address[],address[])":"46d0b252","assertNotEq(address[],address[],string)":"72c7e0b5","assertNotEq(bool,bool)":"236e4d66","assertNotEq(bool,bool,string)":"1091a261","assertNotEq(bool[],bool[])":"286fafea","assertNotEq(bool[],bool[],string)":"62c6f9fb","assertNotEq(bytes,bytes)":"3cf78e28","assertNotEq(bytes,bytes,string)":"9507540e","assertNotEq(bytes32,bytes32)":"898e83fc","assertNotEq(bytes32,bytes32,string)":"b2332f51","assertNotEq(bytes32[],bytes32[])":"0603ea68","assertNotEq(bytes32[],bytes32[],string)":"b873634c","assertNotEq(bytes[],bytes[])":"edecd035","assertNotEq(bytes[],bytes[],string)":"1dcd1f68","assertNotEq(int256,int256)":"f4c004e3","assertNotEq(int256,int256,string)":"4724c5b9","assertNotEq(int256[],int256[])":"0b72f4ef","assertNotEq(int256[],int256[],string)":"d3977322","assertNotEq(string,string)":"6a8237b3","assertNotEq(string,string,string)":"78bdcea7","assertNotEq(string[],string[])":"bdfacbe8","assertNotEq(string[],string[],string)":"b67187f3","assertNotEq(uint256,uint256)":"b7909320","assertNotEq(uint256,uint256,string)":"98f9bdbd","assertNotEq(uint256[],uint256[])":"56f29cba","assertNotEq(uint256[],uint256[],string)":"9a7fbd8f","assertNotEqDecimal(int256,int256,uint256)":"14e75680","assertNotEqDecimal(int256,int256,uint256,string)":"33949f0b","assertNotEqDecimal(uint256,uint256,uint256)":"669efca7","assertNotEqDecimal(uint256,uint256,uint256,string)":"f5a55558","assertTrue(bool)":"0c9fd581","assertTrue(bool,string)":"a34edc03","assume(bool)":"4c63e562","assumeNoRevert((address,bool,bytes))":"d8591eeb","assumeNoRevert((address,bool,bytes)[])":"8a4592cc","assumeNoRevert()":"285b366a","attachBlob(bytes)":"10cb385c","attachDelegation((uint8,bytes32,bytes32,uint64,address))":"14ae3519","breakpoint(string)":"f0259e92","breakpoint(string,bool)":"f7d39a8d","broadcast()":"afc98040","broadcast(address)":"e6962cdb","broadcast(uint256)":"f67a965b","broadcastRawTransaction(bytes)":"8c0c72e0","closeFile(string)":"48c3241f","computeCreate2Address(bytes32,bytes32)":"890c283b","computeCreate2Address(bytes32,bytes32,address)":"d323826a","computeCreateAddress(address,uint256)":"74637a7a","contains(string,string)":"3fb18aec","copyFile(string,string)":"a54a87d8","copyStorage(address,address)":"203dac0d","createDir(string,bool)":"168b64d3","createWallet(string)":"7404f1d2","createWallet(uint256)":"7a675bb6","createWallet(uint256,string)":"ed7c5462","deployCode(string)":"9a8325a0","deployCode(string,bytes)":"29ce9dde","deployCode(string,bytes,bytes32)":"016155bf","deployCode(string,bytes,uint256)":"ff5d64e4","deployCode(string,bytes,uint256,bytes32)":"3aa773ea","deployCode(string,bytes32)":"17ab1d79","deployCode(string,uint256)":"0af6a701","deployCode(string,uint256,bytes32)":"002cb687","deriveKey(string,string,uint32)":"6bcb2c1b","deriveKey(string,string,uint32,string)":"29233b1f","deriveKey(string,uint32)":"6229498b","deriveKey(string,uint32,string)":"32c8176d","ensNamehash(string)":"8c374c65","envAddress(string)":"350d56bf","envAddress(string,string)":"ad31b9fa","envBool(string)":"7ed1ec7d","envBool(string,string)":"aaaddeaf","envBytes(string)":"4d7baf06","envBytes(string,string)":"ddc2651b","envBytes32(string)":"97949042","envBytes32(string,string)":"5af231c1","envExists(string)":"ce8365f9","envInt(string)":"892a0c61","envInt(string,string)":"42181150","envOr(string,address)":"561fe540","envOr(string,bool)":"4777f3cf","envOr(string,bytes)":"b3e47705","envOr(string,bytes32)":"b4a85892","envOr(string,int256)":"bbcb713e","envOr(string,string)":"d145736c","envOr(string,string,address[])":"c74e9deb","envOr(string,string,bool[])":"eb85e83b","envOr(string,string,bytes32[])":"2281f367","envOr(string,string,bytes[])":"64bc3e64","envOr(string,string,int256[])":"4700d74b","envOr(string,string,string[])":"859216bc","envOr(string,string,uint256[])":"74318528","envOr(string,uint256)":"5e97348f","envString(string)":"f877cb19","envString(string,string)":"14b02bc9","envUint(string)":"c1978d1f","envUint(string,string)":"f3dec099","eth_getLogs(uint256,uint256,address,bytes32[])":"35e1349b","exists(string)":"261a323e","ffi(string[])":"89160467","foundryVersionAtLeast(string)":"6248be1f","foundryVersionCmp(string)":"ca7b0a09","fsMetadata(string)":"af368a08","getArtifactPathByCode(bytes)":"eb74848c","getArtifactPathByDeployedCode(bytes)":"6d853ba5","getBlobBaseFee()":"1f6d6ef7","getBlockNumber()":"42cbb15c","getBlockTimestamp()":"796b89b9","getBroadcast(string,uint64,uint8)":"3dc90cb3","getBroadcasts(string,uint64)":"f2fa4a26","getBroadcasts(string,uint64,uint8)":"f7afe919","getChain(string)":"4cc1c2bb","getChain(uint256)":"b6791ad4","getCode(string)":"8d1cc925","getDeployedCode(string)":"3ebf73b4","getDeployment(string)":"a8091d97","getDeployment(string,uint64)":"0debd5d6","getDeployments(string,uint64)":"74e133dd","getFoundryVersion()":"ea991bb5","getLabel(address)":"28a249b0","getMappingKeyAndParentOf(address,bytes32)":"876e24e6","getMappingLength(address,bytes32)":"2f2fd63f","getMappingSlotAt(address,bytes32,uint256)":"ebc73ab4","getNonce((address,uint256,uint256,uint256))":"a5748aad","getNonce(address)":"2d0335ab","getRecordedLogs()":"191553a4","getStateDiff()":"80df01cc","getStateDiffJson()":"f54fe009","getWallets()":"db7a4605","indexOf(string,string)":"8a0807b7","isContext(uint8)":"64af255d","isDir(string)":"7d15d019","isFile(string)":"e0eb04d4","keyExists(string,string)":"528a683c","keyExistsJson(string,string)":"db4235f6","keyExistsToml(string,string)":"600903ad","label(address,string)":"c657c718","lastCallGas()":"2b589b28","load(address,bytes32)":"667f9d70","parseAddress(string)":"c6ce059d","parseBool(string)":"974ef924","parseBytes(string)":"8f5d232d","parseBytes32(string)":"087e6e81","parseInt(string)":"42346c5e","parseJson(string)":"6a82600a","parseJson(string,string)":"85940ef1","parseJsonAddress(string,string)":"1e19e657","parseJsonAddressArray(string,string)":"2fce7883","parseJsonBool(string,string)":"9f86dc91","parseJsonBoolArray(string,string)":"91f3b94f","parseJsonBytes(string,string)":"fd921be8","parseJsonBytes32(string,string)":"1777e59d","parseJsonBytes32Array(string,string)":"91c75bc3","parseJsonBytesArray(string,string)":"6631aa99","parseJsonInt(string,string)":"7b048ccd","parseJsonIntArray(string,string)":"9983c28a","parseJsonKeys(string,string)":"213e4198","parseJsonString(string,string)":"49c4fac8","parseJsonStringArray(string,string)":"498fdcf4","parseJsonType(string,string)":"a9da313b","parseJsonType(string,string,string)":"e3f5ae33","parseJsonTypeArray(string,string,string)":"0175d535","parseJsonUint(string,string)":"addde2b6","parseJsonUintArray(string,string)":"522074ab","parseToml(string)":"592151f0","parseToml(string,string)":"37736e08","parseTomlAddress(string,string)":"65e7c844","parseTomlAddressArray(string,string)":"65c428e7","parseTomlBool(string,string)":"d30dced6","parseTomlBoolArray(string,string)":"127cfe9a","parseTomlBytes(string,string)":"d77bfdb9","parseTomlBytes32(string,string)":"8e214810","parseTomlBytes32Array(string,string)":"3e716f81","parseTomlBytesArray(string,string)":"b197c247","parseTomlInt(string,string)":"c1350739","parseTomlIntArray(string,string)":"d3522ae6","parseTomlKeys(string,string)":"812a44b2","parseTomlString(string,string)":"8bb8dd43","parseTomlStringArray(string,string)":"9f629281","parseTomlType(string,string)":"47fa5e11","parseTomlType(string,string,string)":"f9fa5cdb","parseTomlTypeArray(string,string,string)":"49be3743","parseTomlUint(string,string)":"cc7b0487","parseTomlUintArray(string,string)":"b5df27c8","parseUint(string)":"fa91454d","pauseGasMetering()":"d1a5b36f","pauseTracing()":"c94d1f90","projectRoot()":"d930a0e6","prompt(string)":"47eaf474","promptAddress(string)":"62ee05f4","promptSecret(string)":"1e279d41","promptSecretUint(string)":"69ca02b7","promptUint(string)":"652fd489","publicKeyP256(uint256)":"c453949e","randomAddress()":"d5bee9f5","randomBool()":"cdc126bd","randomBytes(uint256)":"6c5d32a9","randomBytes4()":"9b7cd579","randomBytes8()":"0497b0a5","randomInt()":"111f1202","randomInt(uint256)":"12845966","randomUint()":"25124730","randomUint(uint256)":"cf81e69c","randomUint(uint256,uint256)":"d61b051b","readDir(string)":"c4bc59e0","readDir(string,uint64)":"1497876c","readDir(string,uint64,bool)":"8102d70d","readFile(string)":"60f9bb11","readFileBinary(string)":"16ed7bc4","readLine(string)":"70f55728","readLink(string)":"9f5684a2","record()":"266cf109","recordLogs()":"41af2f52","rememberKey(uint256)":"22100064","rememberKeys(string,string,string,uint32)":"f8d58eaf","rememberKeys(string,string,uint32)":"97cb9189","removeDir(string,bool)":"45c62011","removeFile(string)":"f1afe04d","replace(string,string,string)":"e00ad03e","resetGasMetering()":"be367dd3","resumeGasMetering()":"2bcd50e0","resumeTracing()":"72a09ccb","rpc(string,string)":"1206c8a8","rpc(string,string,string)":"0199a220","rpcUrl(string)":"975a6ce9","rpcUrlStructs()":"9d2ad72a","rpcUrls()":"a85a8418","serializeAddress(string,string,address)":"972c6062","serializeAddress(string,string,address[])":"1e356e1a","serializeBool(string,string,bool)":"ac22e971","serializeBool(string,string,bool[])":"92925aa1","serializeBytes(string,string,bytes)":"f21d52c7","serializeBytes(string,string,bytes[])":"9884b232","serializeBytes32(string,string,bytes32)":"2d812b44","serializeBytes32(string,string,bytes32[])":"201e43e2","serializeInt(string,string,int256)":"3f33db60","serializeInt(string,string,int256[])":"7676e127","serializeJson(string,string)":"9b3358b0","serializeJsonType(string,bytes)":"6d4f96a6","serializeJsonType(string,string,string,bytes)":"6f93bccb","serializeString(string,string,string)":"88da6d35","serializeString(string,string,string[])":"561cd6f3","serializeUint(string,string,uint256)":"129e9002","serializeUint(string,string,uint256[])":"fee9a469","serializeUintToHex(string,string,uint256)":"ae5a2ae8","setArbitraryStorage(address)":"e1631837","setArbitraryStorage(address,bool)":"d3ec2a0b","setEnv(string,string)":"3d5923ee","shuffle(uint256[])":"54f1469c","sign((address,uint256,uint256,uint256),bytes32)":"b25c5a25","sign(address,bytes32)":"8c1aa205","sign(bytes32)":"799cd333","sign(uint256,bytes32)":"e341eaa4","signAndAttachDelegation(address,uint256)":"c7fa7288","signAndAttachDelegation(address,uint256,uint64)":"cde3e5be","signCompact((address,uint256,uint256,uint256),bytes32)":"3d0e292f","signCompact(address,bytes32)":"8e2f97bf","signCompact(bytes32)":"a282dc4b","signCompact(uint256,bytes32)":"cc2a781f","signDelegation(address,uint256)":"5b593c7b","signDelegation(address,uint256,uint64)":"ceba2ec3","signP256(uint256,bytes32)":"83211b40","sleep(uint256)":"fa9d8713","sort(uint256[])":"9ec8b026","split(string,string)":"8bb75533","startBroadcast()":"7fb5297f","startBroadcast(address)":"7fec2a8d","startBroadcast(uint256)":"ce817d47","startDebugTraceRecording()":"419c8832","startMappingRecording()":"3e9705c0","startStateDiffRecording()":"cf22e3c9","stopAndReturnDebugTraceRecording()":"ced398a2","stopAndReturnStateDiff()":"aa5cf90e","stopBroadcast()":"76eadd36","stopMappingRecording()":"0d4aae9b","toBase64(bytes)":"a5cbfe65","toBase64(string)":"3f8be2c8","toBase64URL(bytes)":"c8bd0e4a","toBase64URL(string)":"ae3165b3","toLowercase(string)":"50bb0884","toString(address)":"56ca623e","toString(bool)":"71dce7da","toString(bytes)":"71aad10d","toString(bytes32)":"b11a19e8","toString(int256)":"a322c40e","toString(uint256)":"6900a3ae","toUppercase(string)":"074ae3d7","trim(string)":"b2dad155","tryFfi(string[])":"f45c1ce7","unixTime()":"625387dc","writeFile(string,string)":"897e0a97","writeFileBinary(string,bytes)":"1f21fc80","writeJson(string,string)":"e23cd19f","writeJson(string,string,string)":"35d6ad46","writeLine(string,string)":"619d897f","writeToml(string,string)":"c0865ba7","writeToml(string,string,string)":"51ac6a33"}}}},"lib/forge-std/src/console.sol":{"console":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/console.sol\":\"console\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220dcbf7760a1f7944317d41028b436abe561954f687ed8dee98a2e4c42f3d1549064736f6c634300081e0033","sourceMap":"66:69203:16:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;66:69203:16;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220dcbf7760a1f7944317d41028b436abe561954f687ed8dee98a2e4c42f3d1549064736f6c634300081e0033","sourceMap":"66:69203:16:-:0;;;;;;;;","linkReferences":{}}}}},"lib/forge-std/src/interfaces/IMulticall3.sol":{"IMulticall3":{"abi":[{"type":"function","name":"aggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"payable"},{"type":"function","name":"aggregate3","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"aggregate3Value","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3Value[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"blockAndAggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"getBasefee","inputs":[],"outputs":[{"name":"basefee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getChainId","inputs":[],"outputs":[{"name":"chainid","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockCoinbase","inputs":[],"outputs":[{"name":"coinbase","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockDifficulty","inputs":[],"outputs":[{"name":"difficulty","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockGasLimit","inputs":[],"outputs":[{"name":"gaslimit","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastBlockHash","inputs":[],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tryAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"tryBlockAndAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainid\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IMulticall3.sol\":\"IMulticall3\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"aggregate((address,bytes)[])":"252dba42","aggregate3((address,bool,bytes)[])":"82ad56cb","aggregate3Value((address,bool,uint256,bytes)[])":"174dea71","blockAndAggregate((address,bytes)[])":"c3077fa9","getBasefee()":"3e64a696","getBlockHash(uint256)":"ee82ac5e","getBlockNumber()":"42cbb15c","getChainId()":"3408e470","getCurrentBlockCoinbase()":"a8b0574e","getCurrentBlockDifficulty()":"72425d9d","getCurrentBlockGasLimit()":"86d516e8","getCurrentBlockTimestamp()":"0f28c97d","getEthBalance(address)":"4d2301cc","getLastBlockHash()":"27e86d6e","tryAggregate(bool,(address,bytes)[])":"bce38bd7","tryBlockAndAggregate(bool,(address,bytes)[])":"399542e9"}}}},"lib/forge-std/src/safeconsole.sol":{"safeconsole":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"philogy \",\"details\":\"Code generated automatically by script.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/safeconsole.sol\":\"safeconsole\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212201650ac017362b801ed93f08126b87141f04b828973f5e325cc477bb9ee9398ce64736f6c634300081e0033","sourceMap":"163:427371:19:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;163:427371:19;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212201650ac017362b801ed93f08126b87141f04b828973f5e325cc477bb9ee9398ce64736f6c634300081e0033","sourceMap":"163:427371:19:-:0;;;;;;;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"IAccessControl":{"abi":[{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"External interface of AccessControl declared to support ERC-165 detection.\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}]},\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted to signal this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {AccessControl-_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":\"IAccessControl\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xbff9f59c84e5337689161ce7641c0ef8e872d6a7536fbc1f5133f128887aba3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b308f882e796f7b79c9502deacb0a62983035c6f6f4e962b319ba6a1f4a77d3d\",\"dweb:/ipfs/QmaWCW7ahEQqFjwhSUhV7Ae7WhfNvzSpE7DQ58hvEooqPL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f"}}}},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"Ownable":{"abi":[{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. The initial owner is set to the address provided by the deployer. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the address provided by the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":41200,"contract":"lib/openzeppelin-contracts/contracts/access/Ownable.sol:Ownable","label":"_owner","offset":0,"slot":"0","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"}}},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"owner()":"8da5cb5b","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b"}}}},"lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol":{"IAccessControlDefaultAdminRules":{"abi":[{"type":"function","name":"acceptDefaultAdminTransfer","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"beginDefaultAdminTransfer","inputs":[{"name":"newAdmin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cancelDefaultAdminTransfer","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"changeDefaultAdminDelay","inputs":[{"name":"newDelay","type":"uint48","internalType":"uint48"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"defaultAdmin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"defaultAdminDelay","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"defaultAdminDelayIncreaseWait","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"pendingDefaultAdmin","inputs":[],"outputs":[{"name":"newAdmin","type":"address","internalType":"address"},{"name":"acceptSchedule","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"pendingDefaultAdminDelay","inputs":[],"outputs":[{"name":"newDelay","type":"uint48","internalType":"uint48"},{"name":"effectSchedule","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollbackDefaultAdminDelay","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"DefaultAdminDelayChangeCanceled","inputs":[],"anonymous":false},{"type":"event","name":"DefaultAdminDelayChangeScheduled","inputs":[{"name":"newDelay","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"effectSchedule","type":"uint48","indexed":false,"internalType":"uint48"}],"anonymous":false},{"type":"event","name":"DefaultAdminTransferCanceled","inputs":[],"anonymous":false},{"type":"event","name":"DefaultAdminTransferScheduled","inputs":[{"name":"newAdmin","type":"address","indexed":true,"internalType":"address"},{"name":"acceptSchedule","type":"uint48","indexed":false,"internalType":"uint48"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlEnforcedDefaultAdminDelay","inputs":[{"name":"schedule","type":"uint48","internalType":"uint48"}]},{"type":"error","name":"AccessControlEnforcedDefaultAdminRules","inputs":[]},{"type":"error","name":"AccessControlInvalidDefaultAdmin","inputs":[{"name":"defaultAdmin","type":"address","internalType":"address"}]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"schedule\",\"type\":\"uint48\"}],\"name\":\"AccessControlEnforcedDefaultAdminDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AccessControlEnforcedDefaultAdminRules\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"defaultAdmin\",\"type\":\"address\"}],\"name\":\"AccessControlInvalidDefaultAdmin\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"DefaultAdminDelayChangeCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"newDelay\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"effectSchedule\",\"type\":\"uint48\"}],\"name\":\"DefaultAdminDelayChangeScheduled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"DefaultAdminTransferCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"acceptSchedule\",\"type\":\"uint48\"}],\"name\":\"DefaultAdminTransferScheduled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"acceptDefaultAdminTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"beginDefaultAdminTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cancelDefaultAdminTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"newDelay\",\"type\":\"uint48\"}],\"name\":\"changeDefaultAdminDelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultAdmin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultAdminDelay\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultAdminDelayIncreaseWait\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingDefaultAdmin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"acceptSchedule\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingDefaultAdminDelay\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"newDelay\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"effectSchedule\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rollbackDefaultAdminDelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"External interface of AccessControlDefaultAdminRules declared to support ERC-165 detection.\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlEnforcedDefaultAdminDelay(uint48)\":[{\"details\":\"The delay for transferring the default admin delay is enforced and the operation must wait until `schedule`. NOTE: `schedule` can be 0 indicating there's no transfer scheduled.\"}],\"AccessControlEnforcedDefaultAdminRules()\":[{\"details\":\"At least one of the following rules was violated: - The `DEFAULT_ADMIN_ROLE` must only be managed by itself. - The `DEFAULT_ADMIN_ROLE` must only be held by one account at the time. - Any `DEFAULT_ADMIN_ROLE` transfer must be in two delayed steps.\"}],\"AccessControlInvalidDefaultAdmin(address)\":[{\"details\":\"The new default admin is not a valid default admin.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}]},\"events\":{\"DefaultAdminDelayChangeCanceled()\":{\"details\":\"Emitted when a {pendingDefaultAdminDelay} is reset if its schedule didn't pass.\"},\"DefaultAdminDelayChangeScheduled(uint48,uint48)\":{\"details\":\"Emitted when a {defaultAdminDelay} change is started, setting `newDelay` as the next delay to be applied between default admin transfer after `effectSchedule` has passed.\"},\"DefaultAdminTransferCanceled()\":{\"details\":\"Emitted when a {pendingDefaultAdmin} is reset if it was never accepted, regardless of its schedule.\"},\"DefaultAdminTransferScheduled(address,uint48)\":{\"details\":\"Emitted when a {defaultAdmin} transfer is started, setting `newAdmin` as the next address to become the {defaultAdmin} by calling {acceptDefaultAdminTransfer} only after `acceptSchedule` passes.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted to signal this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"acceptDefaultAdminTransfer()\":{\"details\":\"Completes a {defaultAdmin} transfer previously started with {beginDefaultAdminTransfer}. After calling the function: - `DEFAULT_ADMIN_ROLE` should be granted to the caller. - `DEFAULT_ADMIN_ROLE` should be revoked from the previous holder. - {pendingDefaultAdmin} should be reset to zero values. Requirements: - Only can be called by the {pendingDefaultAdmin}'s `newAdmin`. - The {pendingDefaultAdmin}'s `acceptSchedule` should've passed.\"},\"beginDefaultAdminTransfer(address)\":{\"details\":\"Starts a {defaultAdmin} transfer by setting a {pendingDefaultAdmin} scheduled for acceptance after the current timestamp plus a {defaultAdminDelay}. Requirements: - Only can be called by the current {defaultAdmin}. Emits a DefaultAdminRoleChangeStarted event.\"},\"cancelDefaultAdminTransfer()\":{\"details\":\"Cancels a {defaultAdmin} transfer previously started with {beginDefaultAdminTransfer}. A {pendingDefaultAdmin} not yet accepted can also be cancelled with this function. Requirements: - Only can be called by the current {defaultAdmin}. May emit a DefaultAdminTransferCanceled event.\"},\"changeDefaultAdminDelay(uint48)\":{\"details\":\"Initiates a {defaultAdminDelay} update by setting a {pendingDefaultAdminDelay} scheduled for getting into effect after the current timestamp plus a {defaultAdminDelay}. This function guarantees that any call to {beginDefaultAdminTransfer} done between the timestamp this method is called and the {pendingDefaultAdminDelay} effect schedule will use the current {defaultAdminDelay} set before calling. The {pendingDefaultAdminDelay}'s effect schedule is defined in a way that waiting until the schedule and then calling {beginDefaultAdminTransfer} with the new delay will take at least the same as another {defaultAdmin} complete transfer (including acceptance). The schedule is designed for two scenarios: - When the delay is changed for a larger one the schedule is `block.timestamp + newDelay` capped by {defaultAdminDelayIncreaseWait}. - When the delay is changed for a shorter one, the schedule is `block.timestamp + (current delay - new delay)`. A {pendingDefaultAdminDelay} that never got into effect will be canceled in favor of a new scheduled change. Requirements: - Only can be called by the current {defaultAdmin}. Emits a DefaultAdminDelayChangeScheduled event and may emit a DefaultAdminDelayChangeCanceled event.\"},\"defaultAdmin()\":{\"details\":\"Returns the address of the current `DEFAULT_ADMIN_ROLE` holder.\"},\"defaultAdminDelay()\":{\"details\":\"Returns the delay required to schedule the acceptance of a {defaultAdmin} transfer started. This delay will be added to the current timestamp when calling {beginDefaultAdminTransfer} to set the acceptance schedule. NOTE: If a delay change has been scheduled, it will take effect as soon as the schedule passes, making this function returns the new delay. See {changeDefaultAdminDelay}.\"},\"defaultAdminDelayIncreaseWait()\":{\"details\":\"Maximum time in seconds for an increase to {defaultAdminDelay} (that is scheduled using {changeDefaultAdminDelay}) to take effect. Default to 5 days. When the {defaultAdminDelay} is scheduled to be increased, it goes into effect after the new delay has passed with the purpose of giving enough time for reverting any accidental change (i.e. using milliseconds instead of seconds) that may lock the contract. However, to avoid excessive schedules, the wait is capped by this function and it can be overrode for a custom {defaultAdminDelay} increase scheduling. IMPORTANT: Make sure to add a reasonable amount of time while overriding this value, otherwise, there's a risk of setting a high new delay that goes into effect almost immediately without the possibility of human intervention in the case of an input error (eg. set milliseconds instead of seconds).\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {AccessControl-_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"pendingDefaultAdmin()\":{\"details\":\"Returns a tuple of a `newAdmin` and an accept schedule. After the `schedule` passes, the `newAdmin` will be able to accept the {defaultAdmin} role by calling {acceptDefaultAdminTransfer}, completing the role transfer. A zero value only in `acceptSchedule` indicates no pending admin transfer. NOTE: A zero address `newAdmin` means that {defaultAdmin} is being renounced.\"},\"pendingDefaultAdminDelay()\":{\"details\":\"Returns a tuple of `newDelay` and an effect schedule. After the `schedule` passes, the `newDelay` will get into effect immediately for every new {defaultAdmin} transfer started with {beginDefaultAdminTransfer}. A zero value only in `effectSchedule` indicates no pending delay change. NOTE: A zero value only for `newDelay` means that the next {defaultAdminDelay} will be zero after the effect schedule.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.\"},\"rollbackDefaultAdminDelay()\":{\"details\":\"Cancels a scheduled {defaultAdminDelay} change. Requirements: - Only can be called by the current {defaultAdmin}. May emit a DefaultAdminDelayChangeCanceled event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol\":\"IAccessControlDefaultAdminRules\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xbff9f59c84e5337689161ce7641c0ef8e872d6a7536fbc1f5133f128887aba3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b308f882e796f7b79c9502deacb0a62983035c6f6f4e962b319ba6a1f4a77d3d\",\"dweb:/ipfs/QmaWCW7ahEQqFjwhSUhV7Ae7WhfNvzSpE7DQ58hvEooqPL\"]},\"lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol\":{\"keccak256\":\"0x956d6404c7b61b920a9ccbc9918f94a2bd3004de3dd13310995eda5bc17f1ead\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c12dc67a285548d455683db60f1ed845c03ac3c27f8f24f905defd3c54601406\",\"dweb:/ipfs/QmXDaxKsnq6RxH44VPSqxjLyygdXn3GR1o6W9pr2iXzjZq\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"acceptDefaultAdminTransfer()":"cefc1429","beginDefaultAdminTransfer(address)":"634e93da","cancelDefaultAdminTransfer()":"d602b9fd","changeDefaultAdminDelay(uint48)":"649a5ec7","defaultAdmin()":"84ef8ffc","defaultAdminDelay()":"cc8463c8","defaultAdminDelayIncreaseWait()":"022d63fb","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","pendingDefaultAdmin()":"cf6eefb7","pendingDefaultAdminDelay()":"a1eda53c","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","rollbackDefaultAdminDelay()":"0aa6220b"}}}},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"IERC1363":{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"approveAndCall","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"approveAndCall","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferAndCall","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferAndCall","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFromAndCall","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFromAndCall","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approveAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"approveAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"transferAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"transferFromAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFromAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC-1363 standard as defined in the https://eips.ethereum.org/EIPS/eip-1363[ERC-1363]. Defines an extension interface for ERC-20 tokens that supports executing code on a recipient contract after `transfer` or `transferFrom`, or code on a spender contract after `approve`, in a single transaction.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"approveAndCall(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens and then calls {IERC1363Spender-onApprovalReceived} on `spender`.\",\"params\":{\"spender\":\"The address which will spend the funds.\",\"value\":\"The amount of tokens to be spent.\"},\"returns\":{\"_0\":\"A boolean value indicating whether the operation succeeded unless throwing.\"}},\"approveAndCall(address,uint256,bytes)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens and then calls {IERC1363Spender-onApprovalReceived} on `spender`.\",\"params\":{\"data\":\"Additional data with no specified format, sent in call to `spender`.\",\"spender\":\"The address which will spend the funds.\",\"value\":\"The amount of tokens to be spent.\"},\"returns\":{\"_0\":\"A boolean value indicating whether the operation succeeded unless throwing.\"}},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferAndCall(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to` and then calls {IERC1363Receiver-onTransferReceived} on `to`.\",\"params\":{\"to\":\"The address which you want to transfer to.\",\"value\":\"The amount of tokens to be transferred.\"},\"returns\":{\"_0\":\"A boolean value indicating whether the operation succeeded unless throwing.\"}},\"transferAndCall(address,uint256,bytes)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to` and then calls {IERC1363Receiver-onTransferReceived} on `to`.\",\"params\":{\"data\":\"Additional data with no specified format, sent in call to `to`.\",\"to\":\"The address which you want to transfer to.\",\"value\":\"The amount of tokens to be transferred.\"},\"returns\":{\"_0\":\"A boolean value indicating whether the operation succeeded unless throwing.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFromAndCall(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism and then calls {IERC1363Receiver-onTransferReceived} on `to`.\",\"params\":{\"from\":\"The address which you want to send tokens from.\",\"to\":\"The address which you want to transfer to.\",\"value\":\"The amount of tokens to be transferred.\"},\"returns\":{\"_0\":\"A boolean value indicating whether the operation succeeded unless throwing.\"}},\"transferFromAndCall(address,address,uint256,bytes)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism and then calls {IERC1363Receiver-onTransferReceived} on `to`.\",\"params\":{\"data\":\"Additional data with no specified format, sent in call to `to`.\",\"from\":\"The address which you want to send tokens from.\",\"to\":\"The address which you want to transfer to.\",\"value\":\"The amount of tokens to be transferred.\"},\"returns\":{\"_0\":\"A boolean value indicating whether the operation succeeded unless throwing.\"}}},\"title\":\"IERC1363\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":\"IERC1363\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","approveAndCall(address,uint256)":"3177029f","approveAndCall(address,uint256,bytes)":"cae9ca51","balanceOf(address)":"70a08231","supportsInterface(bytes4)":"01ffc9a7","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferAndCall(address,uint256)":"1296ee62","transferAndCall(address,uint256,bytes)":"4000aea0","transferFrom(address,address,uint256)":"23b872dd","transferFromAndCall(address,address,uint256)":"d8fbe994","transferFromAndCall(address,address,uint256,bytes)":"c1d34b89"}}}},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"IERC1967":{"abi":[{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"ERC-1967: Proxy Storage Slots. This interface contains the events defined in the ERC.\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":\"IERC1967\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol":{"IERC5313":{"abi":[{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the Light Contract Ownership Standard. A standardized minimal interface required to identify an account that controls a contract\",\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Gets the address of the owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol\":\"IERC5313\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol\":{\"keccak256\":\"0x21529ba6918f994ec44fb97cef2b717d730268e911a4e626f3e425a4394f7bae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10949be539eb61e5ea8996cc93f21be61949c16a1b717adc2b3f8f099c1e1feb\",\"dweb:/ipfs/QmagATozhFXBUVTLaiHWyqVPgew9N1x18V6hBF46AZPeLw\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"owner()":"8da5cb5b"}}}},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"IERC1822Proxiable":{"abi":[{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"ERC-1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified proxy whose upgrades are fully controlled by the current implementation.\",\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"details\":\"Returns the storage slot that the proxiable contract assumes is being used to store the implementation address. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":\"IERC1822Proxiable\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"proxiableUUID()":"52d1902d"}}}},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"IERC1155Errors":{"abi":[{"type":"error","name":"ERC1155InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"},{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC1155InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1155InvalidArrayLength","inputs":[{"name":"idsLength","type":"uint256","internalType":"uint256"},{"name":"valuesLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC1155InvalidOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1155InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1155InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1155MissingApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC1155InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"idsLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"valuesLength\",\"type\":\"uint256\"}],\"name\":\"ERC1155InvalidArrayLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC1155MissingApprovalForAll\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-1155 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens.\",\"errors\":{\"ERC1155InsufficientBalance(address,uint256,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC1155InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC1155InvalidArrayLength(uint256,uint256)\":[{\"details\":\"Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation. Used in batch transfers.\",\"params\":{\"idsLength\":\"Length of the array of token identifiers\",\"valuesLength\":\"Length of the array of token amounts\"}}],\"ERC1155InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC1155InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC1155InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC1155MissingApprovalForAll(address,address)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"owner\":\"Address of the current owner of a token.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":\"IERC1155Errors\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23\",\"dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}},"IERC20Errors":{"abi":[{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-20 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens.\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":\"IERC20Errors\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23\",\"dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}},"IERC721Errors":{"abi":[{"type":"error","name":"ERC721IncorrectOwner","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InsufficientApproval","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC721InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721NonexistentToken","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-721 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens.\",\"errors\":{\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-20. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":\"IERC721Errors\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23\",\"dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol":{"ERC20Mock":{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol\":\"ERC20Mock\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23\",\"dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR\"]},\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol\":{\"keccak256\":\"0x3ae81a443846c6d9bd387d6c6a5d7271a25095c83bb93817eefdaa22e13ca9e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f98462a56f254dc0046038e92527e3b7ee5bf0e03f60e3459fbd400c14be01a7\",\"dweb:/ipfs/QmevANfRaMrqy8Jh33LxEs5vP2xBPQspxtij8bsonw3GHM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x86b7b71a6aedefdad89b607378eeab1dcc5389b9ea7d17346d08af01d7190994\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1dc2db8d94a21eac8efe03adf574c419b08536409b416057a2b5b95cb772c43c\",\"dweb:/ipfs/QmZfqJCKVU1ScuX2A7s8WZdQEaikwJbDH5JBrBdKTUT4Gu\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":42478,"contract":"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol:ERC20Mock","label":"_balances","offset":0,"slot":"0","type":"t_mapping(t_address,t_uint256)"},{"astId":42484,"contract":"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol:ERC20Mock","label":"_allowances","offset":0,"slot":"1","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":42486,"contract":"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol:ERC20Mock","label":"_totalSupply","offset":0,"slot":"2","type":"t_uint256"},{"astId":42488,"contract":"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol:ERC20Mock","label":"_name","offset":0,"slot":"3","type":"t_string_storage"},{"astId":42490,"contract":"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol:ERC20Mock","label":"_symbol","offset":0,"slot":"4","type":"t_string_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"608060405234801561000f575f5ffd5b506040518060400160405280600981526020016845524332304d6f636b60b81b815250604051806040016040528060048152602001634532304d60e01b815250816003908161005e919061010b565b50600461006b828261010b565b5050506101c5565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061009b57607f821691505b6020821081036100b957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561010657805f5260205f20601f840160051c810160208510156100e45750805b601f840160051c820191505b81811015610103575f81556001016100f0565b50505b505050565b81516001600160401b0381111561012457610124610073565b610138816101328454610087565b846100bf565b6020601f82116001811461016a575f83156101535750848201515b5f19600385901b1c1916600184901b178455610103565b5f84815260208120601f198516915b828110156101995787850151825560209485019460019092019101610179565b50848210156101b657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b6107a2806101d25f395ff3fe608060405234801561000f575f5ffd5b50600436106100a6575f3560e01c806340c10f191161006e57806340c10f191461011f57806370a082311461013457806395d89b411461015c5780639dc29fac14610164578063a9059cbb14610177578063dd62ed3e1461018a575f5ffd5b806306fdde03146100aa578063095ea7b3146100c857806318160ddd146100eb57806323b872dd146100fd578063313ce56714610110575b5f5ffd5b6100b26101c2565b6040516100bf9190610612565b60405180910390f35b6100db6100d6366004610662565b610252565b60405190151581526020016100bf565b6002545b6040519081526020016100bf565b6100db61010b36600461068a565b61026b565b604051601281526020016100bf565b61013261012d366004610662565b61028e565b005b6100ef6101423660046106c4565b6001600160a01b03165f9081526020819052604090205490565b6100b261029c565b610132610172366004610662565b6102ab565b6100db610185366004610662565b6102b5565b6100ef6101983660046106e4565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6060600380546101d190610715565b80601f01602080910402602001604051908101604052809291908181526020018280546101fd90610715565b80156102485780601f1061021f57610100808354040283529160200191610248565b820191905f5260205f20905b81548152906001019060200180831161022b57829003601f168201915b5050505050905090565b5f3361025f8185856102c2565b60019150505b92915050565b5f336102788582856102d4565b610283858585610355565b506001949350505050565b61029882826103b2565b5050565b6060600480546101d190610715565b61029882826103e6565b5f3361025f818585610355565b6102cf838383600161041a565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f1981101561034f578181101561034157604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b61034f84848484035f61041a565b50505050565b6001600160a01b03831661037e57604051634b637e8f60e11b81525f6004820152602401610338565b6001600160a01b0382166103a75760405163ec442f0560e01b81525f6004820152602401610338565b6102cf8383836104ec565b6001600160a01b0382166103db5760405163ec442f0560e01b81525f6004820152602401610338565b6102985f83836104ec565b6001600160a01b03821661040f57604051634b637e8f60e11b81525f6004820152602401610338565b610298825f836104ec565b6001600160a01b0384166104435760405163e602df0560e01b81525f6004820152602401610338565b6001600160a01b03831661046c57604051634a1406b160e11b81525f6004820152602401610338565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561034f57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104de91815260200190565b60405180910390a350505050565b6001600160a01b038316610516578060025f82825461050b919061074d565b909155506105869050565b6001600160a01b0383165f90815260208190526040902054818110156105685760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610338565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166105a2576002805482900390556105c0565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161060591815260200190565b60405180910390a3505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461065d575f5ffd5b919050565b5f5f60408385031215610673575f5ffd5b61067c83610647565b946020939093013593505050565b5f5f5f6060848603121561069c575f5ffd5b6106a584610647565b92506106b360208501610647565b929592945050506040919091013590565b5f602082840312156106d4575f5ffd5b6106dd82610647565b9392505050565b5f5f604083850312156106f5575f5ffd5b6106fe83610647565b915061070c60208401610647565b90509250929050565b600181811c9082168061072957607f821691505b60208210810361074757634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561026557634e487b7160e01b5f52601160045260245ffdfea2646970667358221220f963e794a9d6bd283bcaf264032592d8dec551c1889fb7a8e994481049612d7d64736f6c634300081e0033","sourceMap":"110:281:36:-:0;;;144:43;;;;;;;;;;1582:113:45;;;;;;;;;;;;;-1:-1:-1;;;1582:113:45;;;;;;;;;;;;;;;;-1:-1:-1;;;1582:113:45;;;1656:5;1648;:13;;;;;;:::i;:::-;-1:-1:-1;1671:7:45;:17;1681:7;1671;:17;:::i;:::-;;1582:113;;110:281:36;;14:127:102;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:518::-;759:2;754:3;751:11;748:421;;;795:5;792:1;785:16;839:4;836:1;826:18;909:2;897:10;893:19;890:1;886:27;880:4;876:38;945:4;933:10;930:20;927:47;;;-1:-1:-1;968:4:102;927:47;1023:2;1018:3;1014:12;1011:1;1007:20;1001:4;997:31;987:41;;1078:81;1096:2;1089:5;1086:13;1078:81;;;1155:1;1141:16;;1122:1;1111:13;1078:81;;;1082:3;;748:421;657:518;;;:::o;1351:1299::-;1471:10;;-1:-1:-1;;;;;1493:30:102;;1490:56;;;1526:18;;:::i;:::-;1555:97;1645:6;1605:38;1637:4;1631:11;1605:38;:::i;:::-;1599:4;1555:97;:::i;:::-;1701:4;1732:2;1721:14;;1749:1;1744:649;;;;2437:1;2454:6;2451:89;;;-1:-1:-1;2506:19:102;;;2500:26;2451:89;-1:-1:-1;;1308:1:102;1304:11;;;1300:24;1296:29;1286:40;1332:1;1328:11;;;1283:57;2553:81;;1714:930;;1744:649;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1780:20:102;;;1898:222;1912:7;1909:1;1906:14;1898:222;;;1994:19;;;1988:26;1973:42;;2101:4;2086:20;;;;2054:1;2042:14;;;;1928:12;1898:222;;;1902:3;2148:6;2139:7;2136:19;2133:201;;;2209:19;;;2203:26;-1:-1:-1;;2292:1:102;2288:14;;;2304:3;2284:24;2280:37;2276:42;2261:58;2246:74;;2133:201;-1:-1:-1;;;;2380:1:102;2364:14;;;2360:22;2347:36;;-1:-1:-1;1351:1299:102:o;:::-;110:281:36;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561000f575f5ffd5b50600436106100a6575f3560e01c806340c10f191161006e57806340c10f191461011f57806370a082311461013457806395d89b411461015c5780639dc29fac14610164578063a9059cbb14610177578063dd62ed3e1461018a575f5ffd5b806306fdde03146100aa578063095ea7b3146100c857806318160ddd146100eb57806323b872dd146100fd578063313ce56714610110575b5f5ffd5b6100b26101c2565b6040516100bf9190610612565b60405180910390f35b6100db6100d6366004610662565b610252565b60405190151581526020016100bf565b6002545b6040519081526020016100bf565b6100db61010b36600461068a565b61026b565b604051601281526020016100bf565b61013261012d366004610662565b61028e565b005b6100ef6101423660046106c4565b6001600160a01b03165f9081526020819052604090205490565b6100b261029c565b610132610172366004610662565b6102ab565b6100db610185366004610662565b6102b5565b6100ef6101983660046106e4565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6060600380546101d190610715565b80601f01602080910402602001604051908101604052809291908181526020018280546101fd90610715565b80156102485780601f1061021f57610100808354040283529160200191610248565b820191905f5260205f20905b81548152906001019060200180831161022b57829003601f168201915b5050505050905090565b5f3361025f8185856102c2565b60019150505b92915050565b5f336102788582856102d4565b610283858585610355565b506001949350505050565b61029882826103b2565b5050565b6060600480546101d190610715565b61029882826103e6565b5f3361025f818585610355565b6102cf838383600161041a565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f1981101561034f578181101561034157604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b61034f84848484035f61041a565b50505050565b6001600160a01b03831661037e57604051634b637e8f60e11b81525f6004820152602401610338565b6001600160a01b0382166103a75760405163ec442f0560e01b81525f6004820152602401610338565b6102cf8383836104ec565b6001600160a01b0382166103db5760405163ec442f0560e01b81525f6004820152602401610338565b6102985f83836104ec565b6001600160a01b03821661040f57604051634b637e8f60e11b81525f6004820152602401610338565b610298825f836104ec565b6001600160a01b0384166104435760405163e602df0560e01b81525f6004820152602401610338565b6001600160a01b03831661046c57604051634a1406b160e11b81525f6004820152602401610338565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561034f57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104de91815260200190565b60405180910390a350505050565b6001600160a01b038316610516578060025f82825461050b919061074d565b909155506105869050565b6001600160a01b0383165f90815260208190526040902054818110156105685760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610338565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166105a2576002805482900390556105c0565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161060591815260200190565b60405180910390a3505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461065d575f5ffd5b919050565b5f5f60408385031215610673575f5ffd5b61067c83610647565b946020939093013593505050565b5f5f5f6060848603121561069c575f5ffd5b6106a584610647565b92506106b360208501610647565b929592945050506040919091013590565b5f602082840312156106d4575f5ffd5b6106dd82610647565b9392505050565b5f5f604083850312156106f5575f5ffd5b6106fe83610647565b915061070c60208401610647565b90509250929050565b600181811c9082168061072957607f821691505b60208210810361074757634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561026557634e487b7160e01b5f52601160045260245ffdfea2646970667358221220f963e794a9d6bd283bcaf264032592d8dec551c1889fb7a8e994481049612d7d64736f6c634300081e0033","sourceMap":"110:281:36:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1760:89:45;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3902:186;;;;;;:::i;:::-;;:::i;:::-;;;1085:14:102;;1078:22;1060:41;;1048:2;1033:18;3902:186:45;920:187:102;2803:97:45;2881:12;;2803:97;;;1258:25:102;;;1246:2;1231:18;2803:97:45;1112:177:102;4680:244:45;;;;;;:::i;:::-;;:::i;2688:82::-;;;2761:2;1815:36:102;;1803:2;1788:18;2688:82:45;1673:184:102;193:95:36;;;;;;:::i;:::-;;:::i;:::-;;2933:116:45;;;;;;:::i;:::-;-1:-1:-1;;;;;3024:18:45;2998:7;3024:18;;;;;;;;;;;;2933:116;1962:93;;;:::i;294:95:36:-;;;;;;:::i;:::-;;:::i;3244:178:45:-;;;;;;:::i;:::-;;:::i;3455:140::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3561:18:45;;;3535:7;3561:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3455:140;1760:89;1805:13;1837:5;1830:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1760:89;:::o;3902:186::-;3975:4;735:10:52;4029:31:45;735:10:52;4045:7:45;4054:5;4029:8;:31::i;:::-;4077:4;4070:11;;;3902:186;;;;;:::o;4680:244::-;4767:4;735:10:52;4823:37:45;4839:4;735:10:52;4854:5:45;4823:15;:37::i;:::-;4870:26;4880:4;4886:2;4890:5;4870:9;:26::i;:::-;-1:-1:-1;4913:4:45;;4680:244;-1:-1:-1;;;;4680:244:45:o;193:95:36:-;259:22;265:7;274:6;259:5;:22::i;:::-;193:95;;:::o;1962:93:45:-;2009:13;2041:7;2034:14;;;;;:::i;294:95:36:-;360:22;366:7;375:6;360:5;:22::i;3244:178:45:-;3313:4;735:10:52;3367:27:45;735:10:52;3384:2:45;3388:5;3367:9;:27::i;8630:128::-;8714:37;8723:5;8730:7;8739:5;8746:4;8714:8;:37::i;:::-;8630:128;;;:::o;10319:476::-;-1:-1:-1;;;;;3561:18:45;;;10418:24;3561:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;10484:36:45;;10480:309;;;10559:5;10540:16;:24;10536:130;;;10591:60;;-1:-1:-1;;;10591:60:45;;-1:-1:-1;;;;;2923:32:102;;10591:60:45;;;2905:51:102;2972:18;;;2965:34;;;3015:18;;;3008:34;;;2878:18;;10591:60:45;;;;;;;;10536:130;10707:57;10716:5;10723:7;10751:5;10732:16;:24;10758:5;10707:8;:57::i;:::-;10408:387;10319:476;;;:::o;5297:300::-;-1:-1:-1;;;;;5380:18:45;;5376:86;;5421:30;;-1:-1:-1;;;5421:30:45;;5448:1;5421:30;;;3199:51:102;3172:18;;5421:30:45;3053:203:102;5376:86:45;-1:-1:-1;;;;;5475:16:45;;5471:86;;5514:32;;-1:-1:-1;;;5514:32:45;;5543:1;5514:32;;;3199:51:102;3172:18;;5514:32:45;3053:203:102;5471:86:45;5566:24;5574:4;5580:2;5584:5;5566:7;:24::i;7362:208::-;-1:-1:-1;;;;;7432:21:45;;7428:91;;7476:32;;-1:-1:-1;;;7476:32:45;;7505:1;7476:32;;;3199:51:102;3172:18;;7476:32:45;3053:203:102;7428:91:45;7528:35;7544:1;7548:7;7557:5;7528:7;:35::i;7888:206::-;-1:-1:-1;;;;;7958:21:45;;7954:89;;8002:30;;-1:-1:-1;;;8002:30:45;;8029:1;8002:30;;;3199:51:102;3172:18;;8002:30:45;3053:203:102;7954:89:45;8052:35;8060:7;8077:1;8081:5;8052:7;:35::i;9605:432::-;-1:-1:-1;;;;;9717:19:45;;9713:89;;9759:32;;-1:-1:-1;;;9759:32:45;;9788:1;9759:32;;;3199:51:102;3172:18;;9759:32:45;3053:203:102;9713:89:45;-1:-1:-1;;;;;9815:21:45;;9811:90;;9859:31;;-1:-1:-1;;;9859:31:45;;9887:1;9859:31;;;3199:51:102;3172:18;;9859:31:45;3053:203:102;9811:90:45;-1:-1:-1;;;;;9910:18:45;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;:35;;;9955:76;;;;10005:7;-1:-1:-1;;;;;9989:31:45;9998:5;-1:-1:-1;;;;;9989:31:45;;10014:5;9989:31;;;;1258:25:102;;1246:2;1231:18;;1112:177;9989:31:45;;;;;;;;9605:432;;;;:::o;5912:1107::-;-1:-1:-1;;;;;6001:18:45;;5997:540;;6153:5;6137:12;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;5997:540:45;;-1:-1:-1;5997:540:45;;-1:-1:-1;;;;;6211:15:45;;6189:19;6211:15;;;;;;;;;;;6244:19;;;6240:115;;;6290:50;;-1:-1:-1;;;6290:50:45;;-1:-1:-1;;;;;2923:32:102;;6290:50:45;;;2905:51:102;2972:18;;;2965:34;;;3015:18;;;3008:34;;;2878:18;;6290:50:45;2703:345:102;6240:115:45;-1:-1:-1;;;;;6475:15:45;;:9;:15;;;;;;;;;;6493:19;;;;6475:37;;5997:540;-1:-1:-1;;;;;6551:16:45;;6547:425;;6714:12;:21;;;;;;;6547:425;;;-1:-1:-1;;;;;6925:13:45;;:9;:13;;;;;;;;;;:22;;;;;;6547:425;7002:2;-1:-1:-1;;;;;6987:25:45;6996:4;-1:-1:-1;;;;;6987:25:45;;7006:5;6987:25;;;;1258::102;;1246:2;1231:18;;1112:177;6987:25:45;;;;;;;;5912:1107;;;:::o;14:418:102:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:173::-;505:20;;-1:-1:-1;;;;;554:31:102;;544:42;;534:70;;600:1;597;590:12;534:70;437:173;;;:::o;615:300::-;683:6;691;744:2;732:9;723:7;719:23;715:32;712:52;;;760:1;757;750:12;712:52;783:29;802:9;783:29;:::i;:::-;773:39;881:2;866:18;;;;853:32;;-1:-1:-1;;;615:300:102:o;1294:374::-;1371:6;1379;1387;1440:2;1428:9;1419:7;1415:23;1411:32;1408:52;;;1456:1;1453;1446:12;1408:52;1479:29;1498:9;1479:29;:::i;:::-;1469:39;;1527:38;1561:2;1550:9;1546:18;1527:38;:::i;:::-;1294:374;;1517:48;;-1:-1:-1;;;1634:2:102;1619:18;;;;1606:32;;1294:374::o;1862:186::-;1921:6;1974:2;1962:9;1953:7;1949:23;1945:32;1942:52;;;1990:1;1987;1980:12;1942:52;2013:29;2032:9;2013:29;:::i;:::-;2003:39;1862:186;-1:-1:-1;;;1862:186:102:o;2053:260::-;2121:6;2129;2182:2;2170:9;2161:7;2157:23;2153:32;2150:52;;;2198:1;2195;2188:12;2150:52;2221:29;2240:9;2221:29;:::i;:::-;2211:39;;2269:38;2303:2;2292:9;2288:18;2269:38;:::i;:::-;2259:48;;2053:260;;;;;:::o;2318:380::-;2397:1;2393:12;;;;2440;;;2461:61;;2515:4;2507:6;2503:17;2493:27;;2461:61;2568:2;2560:6;2557:14;2537:18;2534:38;2531:161;;2614:10;2609:3;2605:20;2602:1;2595:31;2649:4;2646:1;2639:15;2677:4;2674:1;2667:15;2531:161;;2318:380;;;:::o;3261:222::-;3326:9;;;3347:10;;;3344:133;;;3399:10;3394:3;3390:20;3387:1;3380:31;3434:4;3431:1;3424:15;3462:4;3459:1;3452:15","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(address,uint256)":"9dc29fac","decimals()":"313ce567","mint(address,uint256)":"40c10f19","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}}}},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"ERC1967Proxy":{"abi":[{"type":"constructor","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"_data","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"fallback","stateMutability":"payable"},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"details\":\"This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an implementation address that can be changed. This address is stored in storage in the location specified by https://eips.ethereum.org/EIPS/eip-1967[ERC-1967], so that it doesn't conflict with the storage layout of the implementation behind the proxy.\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}]},\"events\":{\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the upgradeable proxy with an initial implementation specified by `implementation`. If `_data` is nonempty, it's used as data in a delegate call to `implementation`. This will typically be an encoded function call, and allows initializing the storage of the proxy like a Solidity constructor. Requirements: - If `data` is empty, `msg.value` must be zero.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":\"ERC1967Proxy\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa3066ff86b94128a9d3956a63a0511fa1aae41bd455772ab587b32ff322acb2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf7b192fd82acf6187970c80548f624b1b9c80425b62fa49e7fdb538a52de049\",\"dweb:/ipfs/QmWXG1YCde1tqDYTbNwjkZDWVgPEjzaQGSDqWkyKLzaNua\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60806040526040516103cf3803806103cf8339810160408190526100229161023b565b61002c8282610033565b5050610320565b61003c82610091565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561008557610080828261010c565b505050565b61008d61017f565b5050565b806001600160a01b03163b5f036100cb57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b031684604051610128919061030a565b5f60405180830381855af49150503d805f8114610160576040519150601f19603f3d011682016040523d82523d5f602084013e610165565b606091505b5090925090506101768583836101a0565b95945050505050565b341561019e5760405163b398979f60e01b815260040160405180910390fd5b565b6060826101b5576101b0826101ff565b6101f8565b81511580156101cc57506001600160a01b0384163b155b156101f557604051639996b31560e01b81526001600160a01b03851660048201526024016100c2565b50805b9392505050565b80511561020e57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b5f5f6040838503121561024c575f5ffd5b82516001600160a01b0381168114610262575f5ffd5b60208401519092506001600160401b0381111561027d575f5ffd5b8301601f8101851361028d575f5ffd5b80516001600160401b038111156102a6576102a6610227565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102d4576102d4610227565b6040528181528282016020018710156102eb575f5ffd5b8160208401602083015e5f602083830101528093505050509250929050565b5f82518060208501845e5f920191825250919050565b60a38061032c5f395ff3fe6080604052600a600c565b005b60186014601a565b6050565b565b5f604b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f5f375f5f365f845af43d5f5f3e8080156069573d5ff35b3d5ffdfea2646970667358221220500b02fd3000f109cd1c16029025651bf95e379ee555325f66378bee76405e8764736f6c634300081e0033","sourceMap":"600:1117:37:-:0;;;1081:133;;;;;;;;;;;;;;;;;;:::i;:::-;1155:52;1185:14;1201:5;1155:29;:52::i;:::-;1081:133;;600:1117;;2264:344:38;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:38;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;:::-;;2264:344;;:::o;2454:148::-;2573:18;:16;:18::i;:::-;2264:344;;:::o;1671:281::-;1748:17;-1:-1:-1;;;;;1748:29:38;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:38;;-1:-1:-1;;;;;1416:32:102;;1805:47:38;;;1398:51:102;1371:18;;1805:47:38;;;;;;;;1744:119;811:66;1872:73;;-1:-1:-1;;;;;;1872:73:38;-1:-1:-1;;;;;1872:73:38;;;;;;;;;;1671:281::o;3916:253:49:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:49;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4023:67:49;;-1:-1:-1;4023:67:49;-1:-1:-1;4107:55:49;4134:6;4023:67;;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:49:o;6113:122:38:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:38;;;;;;;;;;;6159:70;6113:122::o;4437:582:49:-;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:49;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:49;;-1:-1:-1;;;;;1416:32:102;;4933:24:49;;;1398:51:102;1371:18;;4933:24:49;1252:203:102;4853:119:49;-1:-1:-1;4992:10:49;4605:408;4437:582;;;;;:::o;5559:434::-;5690:17;;:21;5686:301;;5894:10;5888:17;5881:4;5869:10;5865:21;5858:48;5686:301;5957:19;;-1:-1:-1;;;5957:19:49;;;;;;;;;;;14:127:102;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:1101;234:6;242;295:2;283:9;274:7;270:23;266:32;263:52;;;311:1;308;301:12;263:52;337:16;;-1:-1:-1;;;;;382:31:102;;372:42;;362:70;;428:1;425;418:12;362:70;500:2;485:18;;479:25;451:5;;-1:-1:-1;;;;;;516:30:102;;513:50;;;559:1;556;549:12;513:50;582:22;;635:4;627:13;;623:27;-1:-1:-1;613:55:102;;664:1;661;654:12;613:55;691:9;;-1:-1:-1;;;;;712:30:102;;709:56;;;745:18;;:::i;:::-;794:2;788:9;886:2;848:17;;-1:-1:-1;;844:31:102;;;877:2;840:40;836:54;824:67;;-1:-1:-1;;;;;906:34:102;;942:22;;;903:62;900:88;;;968:18;;:::i;:::-;1004:2;997:22;1028;;;1069:15;;;1086:2;1065:24;1062:37;-1:-1:-1;1059:57:102;;;1112:1;1109;1102:12;1059:57;1161:6;1156:2;1152;1148:11;1143:2;1135:6;1131:15;1125:43;1214:1;1209:2;1200:6;1192;1188:19;1184:28;1177:39;1235:6;1225:16;;;;;146:1101;;;;;:::o;1460:301::-;1589:3;1627:6;1621:13;1673:6;1666:4;1658:6;1654:17;1649:3;1643:37;1735:1;1699:16;;1724:13;;;-1:-1:-1;1699:16:102;1460:301;-1:-1:-1;1460:301:102:o;:::-;600:1117:37;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080604052600a600c565b005b60186014601a565b6050565b565b5f604b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f5f375f5f365f845af43d5f5f3e8080156069573d5ff35b3d5ffdfea2646970667358221220500b02fd3000f109cd1c16029025651bf95e379ee555325f66378bee76405e8764736f6c634300081e0033","sourceMap":"600:1117:37:-:0;;;2649:11:39;:9;:11::i;:::-;600:1117:37;2323:83:39;2371:28;2381:17;:15;:17::i;:::-;2371:9;:28::i;:::-;2323:83::o;1583:132:37:-;1650:7;1676:32;811:66:38;1519:53;-1:-1:-1;;;;;1519:53:38;;1441:138;1676:32:37;1669:39;;1583:132;:::o;949:895:39:-;1287:14;1284:1;1281;1268:34;1501:1;1498;1482:14;1479:1;1463:14;1456:5;1443:60;1577:16;1574:1;1571;1556:38;1615:6;1682:66;;;;1797:16;1794:1;1787:27;1682:66;1717:16;1714:1;1707:27","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol":{"ERC1967Utils":{"abi":[{"type":"error","name":"ERC1967InvalidAdmin","inputs":[{"name":"admin","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidBeacon","inputs":[{"name":"beacon","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidAdmin\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidBeacon\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"This library provides getters and event emitting update functions for https://eips.ethereum.org/EIPS/eip-1967[ERC-1967] slots.\",\"errors\":{\"ERC1967InvalidAdmin(address)\":[{\"details\":\"The `admin` of the proxy is invalid.\"}],\"ERC1967InvalidBeacon(address)\":[{\"details\":\"The `beacon` of the proxy is invalid.\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}]},\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"ADMIN_SLOT\":{\"details\":\"Storage slot with the admin of the contract. This is the keccak-256 hash of \\\"eip1967.proxy.admin\\\" subtracted by 1.\"},\"BEACON_SLOT\":{\"details\":\"The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy. This is the keccak-256 hash of \\\"eip1967.proxy.beacon\\\" subtracted by 1.\"},\"IMPLEMENTATION_SLOT\":{\"details\":\"Storage slot with the address of the current implementation. This is the keccak-256 hash of \\\"eip1967.proxy.implementation\\\" subtracted by 1.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":\"ERC1967Utils\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212209ae5216b924bd41dbcab3822ddb94c2ae6039ce5c989091501464e7865f52e1f64736f6c634300081e0033","sourceMap":"496:5741:38:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;496:5741:38;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212209ae5216b924bd41dbcab3822ddb94c2ae6039ce5c989091501464e7865f52e1f64736f6c634300081e0033","sourceMap":"496:5741:38:-:0;;;;;;;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"Proxy":{"abi":[{"type":"fallback","stateMutability":"payable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"details\":\"This abstract contract provides a fallback function that delegates all calls to another contract using the EVM instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to be specified by overriding the virtual {_implementation} function. Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a different contract through the {_delegate} function. The success and return data of the delegated call will be returned back to the caller of the proxy.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":\"Proxy\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol":{"BeaconProxy":{"abi":[{"type":"constructor","inputs":[{"name":"beacon","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"fallback","stateMutability":"payable"},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidBeacon","inputs":[{"name":"beacon","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidBeacon\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"details\":\"This contract implements a proxy that gets the implementation address for each call from an {UpgradeableBeacon}. The beacon address can only be set once during construction, and cannot be changed afterwards. It is stored in an immutable variable to avoid unnecessary storage reads, and also in the beacon storage slot specified by https://eips.ethereum.org/EIPS/eip-1967[ERC-1967] so that it can be accessed externally. CAUTION: Since the beacon address can never be changed, you must ensure that you either control the beacon, or trust the beacon to not upgrade the implementation maliciously. IMPORTANT: Do not use the implementation logic to modify the beacon storage slot. Doing so would leave the proxy in an inconsistent state where the beacon storage slot does not match the beacon address.\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidBeacon(address)\":[{\"details\":\"The `beacon` of the proxy is invalid.\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}]},\"events\":{\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the proxy with `beacon`. If `data` is nonempty, it's used as data in a delegate call to the implementation returned by the beacon. This will typically be an encoded function call, and allows initializing the storage of the proxy like a Solidity constructor. Requirements: - `beacon` must be a contract with the interface {IBeacon}. - If `data` is empty, `msg.value` must be zero.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol\":\"BeaconProxy\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol\":{\"keccak256\":\"0xef92aebf99249a8ac1d682b9a0f04b6f2af2a8f631cb126625bab15bafcefda8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a0709f54f682b4d22d3108e5951019145cd0b4abda4517638410d231f37d960\",\"dweb:/ipfs/QmdR3oRXqheNuBVRW1cMqDCffBsV1DtuvRHuaDph4ZTku2\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60a060405260405161057638038061057683398101604081905261002291610353565b61002c828261003e565b506001600160a01b0316608052610444565b610047826100fb565b6040516001600160a01b038316907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e905f90a28051156100ef576100ea826001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100c0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100e49190610415565b82610209565b505050565b6100f761027c565b5050565b806001600160a01b03163b5f0361013557604051631933b43b60e21b81526001600160a01b03821660048201526024015b60405180910390fd5b807fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b0319166001600160a01b0392831617905560408051635c60da1b60e01b815290515f92841691635c60da1b9160048083019260209291908290030181865afa1580156101ae573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101d29190610415565b9050806001600160a01b03163b5f036100f757604051634c9c8ce360e01b81526001600160a01b038216600482015260240161012c565b60605f5f846001600160a01b031684604051610225919061042e565b5f60405180830381855af49150503d805f811461025d576040519150601f19603f3d011682016040523d82523d5f602084013e610262565b606091505b50909250905061027385838361029d565b95945050505050565b341561029b5760405163b398979f60e01b815260040160405180910390fd5b565b6060826102b2576102ad826102fc565b6102f5565b81511580156102c957506001600160a01b0384163b155b156102f257604051639996b31560e01b81526001600160a01b038516600482015260240161012c565b50805b9392505050565b80511561030b57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b80516001600160a01b038116811461033a575f5ffd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f5f60408385031215610364575f5ffd5b61036d83610324565b60208401519092506001600160401b03811115610388575f5ffd5b8301601f81018513610398575f5ffd5b80516001600160401b038111156103b1576103b161033f565b604051601f8201601f19908116603f011681016001600160401b03811182821017156103df576103df61033f565b6040528181528282016020018710156103f6575f5ffd5b8160208401602083015e5f602083830101528093505050509250929050565b5f60208284031215610425575f5ffd5b6102f582610324565b5f82518060208501845e5f920191825250919050565b60805161011b61045b5f395f601d015261011b5ff3fe6080604052600a600c565b005b60186014601a565b609d565b565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156076573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906098919060ba565b905090565b365f5f375f5f365f845af43d5f5f3e80801560b6573d5ff35b3d5ffd5b5f6020828403121560c9575f5ffd5b81516001600160a01b038116811460de575f5ffd5b939250505056fea26469706673582212208545ce333e35c88f3603b6925e9e7e7386a4d6c34b06131544ed78a3a955d1b264736f6c634300081e0033","sourceMap":"1116:1194:40:-:0;;;1773:147;;;;;;;;;;;;;;;;;;:::i;:::-;1838:49;1874:6;1882:4;1838:35;:49::i;:::-;-1:-1:-1;;;;;;1897:16:40;;;1116:1194;;5582:342:38;5671:21;5682:9;5671:10;:21::i;:::-;5707:34;;-1:-1:-1;;;;;5707:34:38;;;;;;;;5756:11;;:15;5752:166;;5787:71;5824:9;-1:-1:-1;;;;;5816:33:38;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5853:4;5787:28;:71::i;:::-;;5582:342;;:::o;5752:166::-;5889:18;:16;:18::i;:::-;5582:342;;:::o;4620:437::-;4681:9;-1:-1:-1;;;;;4681:21:38;;4706:1;4681:26;4677:95;;4730:31;;-1:-1:-1;;;4730:31:38;;-1:-1:-1;;;;;1729:32:102;;4730:31:38;;;1711:51:102;1684:18;;4730:31:38;;;;;;;;4677:95;4830:9;4286:66;4782:57;;-1:-1:-1;;;;;;4782:57:38;-1:-1:-1;;;;;4782:57:38;;;;;;4881:35;;;-1:-1:-1;;;4881:35:38;;;;-1:-1:-1;;4881:33:38;;;;;:35;;;;;;;;;;;;;;:33;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4850:66;;4930:20;-1:-1:-1;;;;;4930:32:38;;4966:1;4930:37;4926:125;;4990:50;;-1:-1:-1;;;4990:50:38;;-1:-1:-1;;;;;1729:32:102;;4990:50:38;;;1711:51:102;1684:18;;4990:50:38;1565:203:102;3916:253:49;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:49;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4023:67:49;;-1:-1:-1;4023:67:49;-1:-1:-1;4107:55:49;4134:6;4023:67;;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:49:o;6113:122:38:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:38;;;;;;;;;;;6159:70;6113:122::o;4437:582:49:-;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:49;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:49;;-1:-1:-1;;;;;1729:32:102;;4933:24:49;;;1711:51:102;1684:18;;4933:24:49;1565:203:102;4853:119:49;-1:-1:-1;4992:10:49;4605:408;4437:582;;;;;:::o;5559:434::-;5690:17;;:21;5686:301;;5894:10;5888:17;5881:4;5869:10;5865:21;5858:48;5686:301;5957:19;;-1:-1:-1;;;5957:19:49;;;;;;;;;;;14:177:102;93:13;;-1:-1:-1;;;;;135:31:102;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:127::-;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:1019;416:6;424;477:2;465:9;456:7;452:23;448:32;445:52;;;493:1;490;483:12;445:52;516:40;546:9;516:40;:::i;:::-;600:2;585:18;;579:25;506:50;;-1:-1:-1;;;;;;616:30:102;;613:50;;;659:1;656;649:12;613:50;682:22;;735:4;727:13;;723:27;-1:-1:-1;713:55:102;;764:1;761;754:12;713:55;791:9;;-1:-1:-1;;;;;812:30:102;;809:56;;;845:18;;:::i;:::-;894:2;888:9;986:2;948:17;;-1:-1:-1;;944:31:102;;;977:2;940:40;936:54;924:67;;-1:-1:-1;;;;;1006:34:102;;1042:22;;;1003:62;1000:88;;;1068:18;;:::i;:::-;1104:2;1097:22;1128;;;1169:15;;;1186:2;1165:24;1162:37;-1:-1:-1;1159:57:102;;;1212:1;1209;1202:12;1159:57;1261:6;1256:2;1252;1248:11;1243:2;1235:6;1231:15;1225:43;1314:1;1309:2;1300:6;1292;1288:19;1284:28;1277:39;1335:6;1325:16;;;;;328:1019;;;;;:::o;1352:208::-;1422:6;1475:2;1463:9;1454:7;1450:23;1446:32;1443:52;;;1491:1;1488;1481:12;1443:52;1514:40;1544:9;1514:40;:::i;1773:301::-;1902:3;1940:6;1934:13;1986:6;1979:4;1971:6;1967:17;1962:3;1956:37;2048:1;2012:16;;2037:13;;;-1:-1:-1;2012:16:102;1773:301;-1:-1:-1;1773:301:102:o;:::-;1116:1194:40;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080604052600a600c565b005b60186014601a565b609d565b565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156076573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906098919060ba565b905090565b365f5f375f5f365f845af43d5f5f3e80801560b6573d5ff35b3d5ffd5b5f6020828403121560c9575f5ffd5b81516001600160a01b038116811460de575f5ffd5b939250505056fea26469706673582212208545ce333e35c88f3603b6925e9e7e7386a4d6c34b06131544ed78a3a955d1b264736f6c634300081e0033","sourceMap":"1116:1194:40:-:0;;;2649:11:39;:9;:11::i;:::-;1116:1194:40;2323:83:39;2371:28;2381:17;:15;:17::i;:::-;2371:9;:28::i;:::-;2323:83::o;2023:138:40:-;2090:7;2294;-1:-1:-1;;;;;2116:36:40;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2109:45;;2023:138;:::o;949:895:39:-;1287:14;1284:1;1281;1268:34;1501:1;1498;1482:14;1479:1;1463:14;1456:5;1443:60;1577:16;1574:1;1571;1556:38;1615:6;1682:66;;;;1797:16;1794:1;1787:27;1682:66;1717:16;1714:1;1707:27;14:290:102;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:102;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:102:o","linkReferences":{},"immutableReferences":{"42128":[{"start":29,"length":32}]}}}}},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"IBeacon":{"abi":[{"type":"function","name":"implementation","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is the interface that {BeaconProxy} expects of its beacon.\",\"kind\":\"dev\",\"methods\":{\"implementation()\":{\"details\":\"Must return an address that can be used as a delegate call target. {UpgradeableBeacon} will check that this address is a contract.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":\"IBeacon\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"implementation()":"5c60da1b"}}}},"lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol":{"UpgradeableBeacon":{"abi":[{"type":"constructor","inputs":[{"name":"implementation_","type":"address","internalType":"address"},{"name":"initialOwner","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"implementation","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"BeaconInvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"BeaconInvalidImplementation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This contract is used in conjunction with one or more instances of {BeaconProxy} to determine their implementation contract, which is where they will delegate all function calls. An owner is able to change the implementation the beacon points to, thus upgrading the proxies that use this beacon.\",\"errors\":{\"BeaconInvalidImplementation(address)\":[{\"details\":\"The `implementation` of the beacon is invalid.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"events\":{\"Upgraded(address)\":{\"details\":\"Emitted when the implementation returned by the beacon is changed.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Sets the address of the initial implementation, and the initial owner who can upgrade the beacon.\"},\"implementation()\":{\"details\":\"Returns the current implementation address.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"details\":\"Upgrades the beacon to a new implementation. Emits an {Upgraded} event. Requirements: - msg.sender must be the owner of the contract. - `newImplementation` must be a contract.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol\":\"UpgradeableBeacon\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol\":{\"keccak256\":\"0x5920bac7215d12961e23b207f6e81a1d64aa4935a4469abe95b64a96a3c3007b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b34bb828c45c3a4ebf6c2c585971abf5089e61357a3818a2900c7e85b74a1299\",\"dweb:/ipfs/QmewGAzKsPXYfSjCKxuH1SekKxtdyzhdbdyxjF5gohLigt\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":41200,"contract":"lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol:UpgradeableBeacon","label":"_owner","offset":0,"slot":"0","type":"t_address"},{"astId":42196,"contract":"lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol:UpgradeableBeacon","label":"_implementation","offset":0,"slot":"1","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"}}},"evm":{"bytecode":{"object":"608060405234801561000f575f5ffd5b5060405161042138038061042183398101604081905261002e9161015f565b806001600160a01b03811661005d57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b61006681610077565b50610070826100c6565b5050610190565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b806001600160a01b03163b5f036100fb5760405163211eb15960e21b81526001600160a01b0382166004820152602401610054565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b80516001600160a01b038116811461015a575f5ffd5b919050565b5f5f60408385031215610170575f5ffd5b61017983610144565b915061018760208401610144565b90509250929050565b6102848061019d5f395ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80633659cfe6146100595780635c60da1b1461006e578063715018a6146100975780638da5cb5b1461009f578063f2fde38b146100af575b5f5ffd5b61006c610067366004610221565b6100c2565b005b6001546001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b61006c6100d6565b5f546001600160a01b031661007b565b61006c6100bd366004610221565b6100e9565b6100ca610128565b6100d381610154565b50565b6100de610128565b6100e75f6101d2565b565b6100f1610128565b6001600160a01b03811661011f57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6100d3816101d2565b5f546001600160a01b031633146100e75760405163118cdaa760e01b8152336004820152602401610116565b806001600160a01b03163b5f036101895760405163211eb15960e21b81526001600160a01b0382166004820152602401610116565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60208284031215610231575f5ffd5b81356001600160a01b0381168114610247575f5ffd5b939250505056fea2646970667358221220cd0cebca7672cd329fcd65414ced9c2a938edf6eb752bfe16513426badddd25464736f6c634300081e0033","sourceMap":"555:1663:42:-:0;;;1059:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1126:12;-1:-1:-1;;;;;1273:26:27;;1269:95;;1322:31;;-1:-1:-1;;;1322:31:27;;1350:1;1322:31;;;640:51:102;613:18;;1322:31:27;;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;1150:35:42::1;1169:15:::0;1150:18:::1;:35::i;:::-;1059:133:::0;;555:1663;;2912:187:27;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:27;;;-1:-1:-1;;;;;;3020:17:27;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;1932:284:42:-;2009:17;-1:-1:-1;;;;;2009:29:42;;2042:1;2009:34;2005:118;;2066:46;;-1:-1:-1;;;2066:46:42;;-1:-1:-1;;;;;658:32:102;;2066:46:42;;;640:51:102;613:18;;2066:46:42;494:203:102;2005:118:42;2132:15;:35;;-1:-1:-1;;;;;;2132:35:42;-1:-1:-1;;;;;2132:35:42;;;;;;;;2182:27;;;;-1:-1:-1;;2182:27:42;1932:284;:::o;14:177:102:-;93:13;;-1:-1:-1;;;;;135:31:102;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:293::-;275:6;283;336:2;324:9;315:7;311:23;307:32;304:52;;;352:1;349;342:12;304:52;375:40;405:9;375:40;:::i;:::-;365:50;;434:49;479:2;468:9;464:18;434:49;:::i;:::-;424:59;;196:293;;;;;:::o;494:203::-;555:1663:42;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80633659cfe6146100595780635c60da1b1461006e578063715018a6146100975780638da5cb5b1461009f578063f2fde38b146100af575b5f5ffd5b61006c610067366004610221565b6100c2565b005b6001546001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b61006c6100d6565b5f546001600160a01b031661007b565b61006c6100bd366004610221565b6100e9565b6100ca610128565b6100d381610154565b50565b6100de610128565b6100e75f6101d2565b565b6100f1610128565b6001600160a01b03811661011f57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6100d3816101d2565b5f546001600160a01b031633146100e75760405163118cdaa760e01b8152336004820152602401610116565b806001600160a01b03163b5f036101895760405163211eb15960e21b81526001600160a01b0382166004820152602401610116565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60208284031215610231575f5ffd5b81356001600160a01b0381168114610247575f5ffd5b939250505056fea2646970667358221220cd0cebca7672cd329fcd65414ced9c2a938edf6eb752bfe16513426badddd25464736f6c634300081e0033","sourceMap":"555:1663:42:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1632:125;;;;;;:::i;:::-;;:::i;:::-;;1270:103;1351:15;;-1:-1:-1;;;;;1351:15:42;1270:103;;;-1:-1:-1;;;;;469:32:102;;;451:51;;439:2;424:18;1270:103:42;;;;;;;2293:101:27;;;:::i;1638:85::-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:27;1638:85;;2543:215;;;;;;:::i;:::-;;:::i;1632:125:42:-;1531:13:27;:11;:13::i;:::-;1713:37:42::1;1732:17;1713:18;:37::i;:::-;1632:125:::0;:::o;2293:101:27:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;2543:215::-;1531:13;:11;:13::i;:::-;-1:-1:-1;;;;;2627:22:27;::::1;2623:91;;2672:31;::::0;-1:-1:-1;;;2672:31:27;;2700:1:::1;2672:31;::::0;::::1;451:51:102::0;424:18;;2672:31:27::1;;;;;;;;2623:91;2723:28;2742:8;2723:18;:28::i;1796:162::-:0;1684:7;1710:6;-1:-1:-1;;;;;1710:6:27;735:10:52;1855:23:27;1851:101;;1901:40;;-1:-1:-1;;;1901:40:27;;735:10:52;1901:40:27;;;451:51:102;424:18;;1901:40:27;305:203:102;1932:284:42;2009:17;-1:-1:-1;;;;;2009:29:42;;2042:1;2009:34;2005:118;;2066:46;;-1:-1:-1;;;2066:46:42;;-1:-1:-1;;;;;469:32:102;;2066:46:42;;;451:51:102;424:18;;2066:46:42;305:203:102;2005:118:42;2132:15;:35;;-1:-1:-1;;;;;;2132:35:42;-1:-1:-1;;;;;2132:35:42;;;;;;;;2182:27;;;;-1:-1:-1;;2182:27:42;1932:284;:::o;2912:187:27:-;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:27;;;-1:-1:-1;;;;;;3020:17:27;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;14:286:102:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;168:23;;-1:-1:-1;;;;;220:31:102;;210:42;;200:70;;266:1;263;256:12;200:70;289:5;14:286;-1:-1:-1;;;14:286:102:o","linkReferences":{}},"methodIdentifiers":{"implementation()":"5c60da1b","owner()":"8da5cb5b","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6"}}}},"lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol":{"ProxyAdmin":{"abi":[{"type":"constructor","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeAndCall","inputs":[{"name":"proxy","type":"address","internalType":"contract ITransparentUpgradeableProxy"},{"name":"implementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ITransparentUpgradeableProxy\",\"name\":\"proxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is an auxiliary contract meant to be assigned as the admin of a {TransparentUpgradeableProxy}. For an explanation of why you would want to use this see the documentation for {TransparentUpgradeableProxy}.\",\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Sets the initial owner who can perform upgrades.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeAndCall(address,address,bytes)\":{\"details\":\"Upgrades `proxy` to `implementation` and calls a function on the new implementation. See {TransparentUpgradeableProxy-_dispatchUpgradeToAndCall}. Requirements: - This contract must be the admin of `proxy`. - If `data` is empty, `msg.value` must be zero.\"}},\"stateVariables\":{\"UPGRADE_INTERFACE_VERSION\":{\"details\":\"The version of the upgrade interface of the contract. If this getter is missing, both `upgrade(address,address)` and `upgradeAndCall(address,address,bytes)` are present, and `upgrade` must be used if no function should be called, while `upgradeAndCall` will invoke the `receive` function if the third argument is the empty byte string. If the getter returns `\\\"5.0.0\\\"`, only `upgradeAndCall(address,address,bytes)` is present, and the third argument must be the empty byte string if no function should be called, making it impossible to invoke the `receive` function during an upgrade.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol\":\"ProxyAdmin\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa3066ff86b94128a9d3956a63a0511fa1aae41bd455772ab587b32ff322acb2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf7b192fd82acf6187970c80548f624b1b9c80425b62fa49e7fdb538a52de049\",\"dweb:/ipfs/QmWXG1YCde1tqDYTbNwjkZDWVgPEjzaQGSDqWkyKLzaNua\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol\":{\"keccak256\":\"0x46f86003755f50eff00a7c5aaf493ae62e024142b8aec4493a313851d3c14872\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://462c770cb667cc75ab22df5a29c50873b24b267274edf87ac5cfe0112bf4c3f7\",\"dweb:/ipfs/QmTfKk32AkQ2yyYZCYJ44V69EM5t9ryBFC6bRF7FVMHXvj\"]},\"lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":{\"keccak256\":\"0x92579f452fe663595a898cbac85d80bb3868a6c9f034f19ba7fbebdfa3b65a4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d07a888cd4a26c7077a30dd99e9ac30fbe2752bfb37e58c65f06a3b192079ef3\",\"dweb:/ipfs/QmZCQY4FC4ynBv9dha4BBWM1vYxTUJPBdFBS4HEFe6XzVB\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":41200,"contract":"lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol:ProxyAdmin","label":"_owner","offset":0,"slot":"0","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"}}},"evm":{"bytecode":{"object":"6080604052348015600e575f5ffd5b506040516104e63803806104e6833981016040819052602b9160b4565b806001600160a01b038116605857604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b605f816065565b505060df565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f6020828403121560c3575f5ffd5b81516001600160a01b038116811460d8575f5ffd5b9392505050565b6103fa806100ec5f395ff3fe608060405260043610610049575f3560e01c8063715018a61461004d5780638da5cb5b146100635780639623609d1461008e578063ad3cb1cc146100a1578063f2fde38b146100de575b5f5ffd5b348015610058575f5ffd5b506100616100fd565b005b34801561006e575f5ffd5b505f546040516001600160a01b0390911681526020015b60405180910390f35b61006161009c366004610260565b610110565b3480156100ac575f5ffd5b506100d1604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100859190610365565b3480156100e9575f5ffd5b506100616100f836600461037e565b61017b565b6101056101bd565b61010e5f6101e9565b565b6101186101bd565b60405163278f794360e11b81526001600160a01b03841690634f1ef2869034906101489086908690600401610399565b5f604051808303818588803b15801561015f575f5ffd5b505af1158015610171573d5f5f3e3d5ffd5b5050505050505050565b6101836101bd565b6001600160a01b0381166101b157604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6101ba816101e9565b50565b5f546001600160a01b0316331461010e5760405163118cdaa760e01b81523360048201526024016101a8565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146101ba575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b5f5f5f60608486031215610272575f5ffd5b833561027d81610238565b9250602084013561028d81610238565b9150604084013567ffffffffffffffff8111156102a8575f5ffd5b8401601f810186136102b8575f5ffd5b803567ffffffffffffffff8111156102d2576102d261024c565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156103015761030161024c565b604052818152828201602001881015610318575f5ffd5b816020840160208301375f602083830101528093505050509250925092565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6103776020830184610337565b9392505050565b5f6020828403121561038e575f5ffd5b813561037781610238565b6001600160a01b03831681526040602082018190525f906103bc90830184610337565b94935050505056fea264697066735822122095ea881d6ce186c1d29bad3bf67fdc1bcde638d4e19110856801c85cba0c518c64736f6c634300081e0033","sourceMap":"502:1462:43:-:0;;;1329:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1371:12;-1:-1:-1;;;;;1273:26:27;;1269:95;;1322:31;;-1:-1:-1;;;1322:31:27;;1350:1;1322:31;;;455:51:102;428:18;;1322:31:27;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;1225:187;1329:58:43;502:1462;;2912:187:27;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:27;;;-1:-1:-1;;;;;;3020:17:27;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;14:290:102:-;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:102;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:102:o;309:203::-;502:1462:43;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405260043610610049575f3560e01c8063715018a61461004d5780638da5cb5b146100635780639623609d1461008e578063ad3cb1cc146100a1578063f2fde38b146100de575b5f5ffd5b348015610058575f5ffd5b506100616100fd565b005b34801561006e575f5ffd5b505f546040516001600160a01b0390911681526020015b60405180910390f35b61006161009c366004610260565b610110565b3480156100ac575f5ffd5b506100d1604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100859190610365565b3480156100e9575f5ffd5b506100616100f836600461037e565b61017b565b6101056101bd565b61010e5f6101e9565b565b6101186101bd565b60405163278f794360e11b81526001600160a01b03841690634f1ef2869034906101489086908690600401610399565b5f604051808303818588803b15801561015f575f5ffd5b505af1158015610171573d5f5f3e3d5ffd5b5050505050505050565b6101836101bd565b6001600160a01b0381166101b157604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6101ba816101e9565b50565b5f546001600160a01b0316331461010e5760405163118cdaa760e01b81523360048201526024016101a8565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146101ba575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b5f5f5f60608486031215610272575f5ffd5b833561027d81610238565b9250602084013561028d81610238565b9150604084013567ffffffffffffffff8111156102a8575f5ffd5b8401601f810186136102b8575f5ffd5b803567ffffffffffffffff8111156102d2576102d261024c565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156103015761030161024c565b604052818152828201602001881015610318575f5ffd5b816020840160208301375f602083830101528093505050509250925092565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6103776020830184610337565b9392505050565b5f6020828403121561038e575f5ffd5b813561037781610238565b6001600160a01b03831681526040602082018190525f906103bc90830184610337565b94935050505056fea264697066735822122095ea881d6ce186c1d29bad3bf67fdc1bcde638d4e19110856801c85cba0c518c64736f6c634300081e0033","sourceMap":"502:1462:43:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2293:101:27;;;;;;;;;;;;;:::i;:::-;;1638:85;;;;;;;;;;-1:-1:-1;1684:7:27;1710:6;1638:85;;-1:-1:-1;;;;;1710:6:27;;;160:51:102;;148:2;133:18;1638:85:27;;;;;;;;1717:245:43;;;;;;:::i;:::-;;:::i;1187:58::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1187:58:43;;;;;;;;;;;;:::i;2543:215:27:-;;;;;;;;;;-1:-1:-1;2543:215:27;;;;;:::i;:::-;;:::i;2293:101::-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;1717:245:43:-;1531:13:27;:11;:13::i;:::-;1893:62:43::1;::::0;-1:-1:-1;;;1893:62:43;;-1:-1:-1;;;;;1893:22:43;::::1;::::0;::::1;::::0;1923:9:::1;::::0;1893:62:::1;::::0;1934:14;;1950:4;;1893:62:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1717:245:::0;;;:::o;2543:215:27:-;1531:13;:11;:13::i;:::-;-1:-1:-1;;;;;2627:22:27;::::1;2623:91;;2672:31;::::0;-1:-1:-1;;;2672:31:27;;2700:1:::1;2672:31;::::0;::::1;160:51:102::0;133:18;;2672:31:27::1;;;;;;;;2623:91;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;1796:162::-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:27;735:10:52;1855:23:27;1851:101;;1901:40;;-1:-1:-1;;;1901:40:27;;735:10:52;1901:40:27;;;160:51:102;133:18;;1901:40:27;14:203:102;2912:187:27;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:27;;;-1:-1:-1;;;;;;3020:17:27;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;222:161:102:-;-1:-1:-1;;;;;327:31:102;;317:42;;307:70;;373:1;370;363:12;388:127;449:10;444:3;440:20;437:1;430:31;480:4;477:1;470:15;504:4;501:1;494:15;520:1318;644:6;652;660;713:2;701:9;692:7;688:23;684:32;681:52;;;729:1;726;719:12;681:52;768:9;755:23;787:61;842:5;787:61;:::i;:::-;867:5;-1:-1:-1;924:2:102;909:18;;896:32;937:63;896:32;937:63;:::i;:::-;1019:7;-1:-1:-1;1077:2:102;1062:18;;1049:32;1104:18;1093:30;;1090:50;;;1136:1;1133;1126:12;1090:50;1159:22;;1212:4;1204:13;;1200:27;-1:-1:-1;1190:55:102;;1241:1;1238;1231:12;1190:55;1281:2;1268:16;1307:18;1299:6;1296:30;1293:56;;;1329:18;;:::i;:::-;1378:2;1372:9;1470:2;1432:17;;-1:-1:-1;;1428:31:102;;;1461:2;1424:40;1420:54;1408:67;;1505:18;1490:34;;1526:22;;;1487:62;1484:88;;;1552:18;;:::i;:::-;1588:2;1581:22;1612;;;1653:15;;;1670:2;1649:24;1646:37;-1:-1:-1;1643:57:102;;;1696:1;1693;1686:12;1643:57;1752:6;1747:2;1743;1739:11;1734:2;1726:6;1722:15;1709:50;1805:1;1800:2;1791:6;1783;1779:19;1775:28;1768:39;1826:6;1816:16;;;;;520:1318;;;;;:::o;1843:289::-;1885:3;1923:5;1917:12;1950:6;1945:3;1938:19;2006:6;1999:4;1992:5;1988:16;1981:4;1976:3;1972:14;1966:47;2058:1;2051:4;2042:6;2037:3;2033:16;2029:27;2022:38;2121:4;2114:2;2110:7;2105:2;2097:6;2093:15;2089:29;2084:3;2080:39;2076:50;2069:57;;;1843:289;;;;:::o;2137:220::-;2286:2;2275:9;2268:21;2249:4;2306:45;2347:2;2336:9;2332:18;2324:6;2306:45;:::i;:::-;2298:53;2137:220;-1:-1:-1;;;2137:220:102:o;2362:277::-;2421:6;2474:2;2462:9;2453:7;2449:23;2445:32;2442:52;;;2490:1;2487;2480:12;2442:52;2529:9;2516:23;2548:61;2603:5;2548:61;:::i;2644:315::-;-1:-1:-1;;;;;2819:32:102;;2801:51;;2888:2;2883;2868:18;;2861:30;;;-1:-1:-1;;2908:45:102;;2934:18;;2926:6;2908:45;:::i;:::-;2900:53;2644:315;-1:-1:-1;;;;2644:315:102:o","linkReferences":{}},"methodIdentifiers":{"UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","owner()":"8da5cb5b","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b","upgradeAndCall(address,address,bytes)":"9623609d"}}}},"lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol":{"ITransparentUpgradeableProxy":{"abi":[{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for {TransparentUpgradeableProxy}. In order to implement transparency, {TransparentUpgradeableProxy} does not implement this interface directly, and its upgradeability mechanism is implemented by an internal dispatch mechanism. The compiler is unaware that these functions are implemented by {TransparentUpgradeableProxy} and will not include them in the ABI so this interface must be used to interact with it.\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"upgradeToAndCall(address,bytes)\":{\"details\":\"See {UUPSUpgradeable-upgradeToAndCall}\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":\"ITransparentUpgradeableProxy\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa3066ff86b94128a9d3956a63a0511fa1aae41bd455772ab587b32ff322acb2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf7b192fd82acf6187970c80548f624b1b9c80425b62fa49e7fdb538a52de049\",\"dweb:/ipfs/QmWXG1YCde1tqDYTbNwjkZDWVgPEjzaQGSDqWkyKLzaNua\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol\":{\"keccak256\":\"0x46f86003755f50eff00a7c5aaf493ae62e024142b8aec4493a313851d3c14872\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://462c770cb667cc75ab22df5a29c50873b24b267274edf87ac5cfe0112bf4c3f7\",\"dweb:/ipfs/QmTfKk32AkQ2yyYZCYJ44V69EM5t9ryBFC6bRF7FVMHXvj\"]},\"lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":{\"keccak256\":\"0x92579f452fe663595a898cbac85d80bb3868a6c9f034f19ba7fbebdfa3b65a4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d07a888cd4a26c7077a30dd99e9ac30fbe2752bfb37e58c65f06a3b192079ef3\",\"dweb:/ipfs/QmZCQY4FC4ynBv9dha4BBWM1vYxTUJPBdFBS4HEFe6XzVB\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"upgradeToAndCall(address,bytes)":"4f1ef286"}}},"TransparentUpgradeableProxy":{"abi":[{"type":"constructor","inputs":[{"name":"_logic","type":"address","internalType":"address"},{"name":"initialOwner","type":"address","internalType":"address"},{"name":"_data","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"fallback","stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidAdmin","inputs":[{"name":"admin","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"ProxyDeniedAdminAccess","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_logic\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidAdmin\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProxyDeniedAdminAccess\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"details\":\"This contract implements a proxy that is upgradeable through an associated {ProxyAdmin} instance. To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector clashing], which can potentially be used in an attack, this contract uses the https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two things that go hand in hand: 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if that call matches the {ITransparentUpgradeableProxy-upgradeToAndCall} function exposed by the proxy itself. 2. If the admin calls the proxy, it can call the `upgradeToAndCall` function but any other call won't be forwarded to the implementation. If the admin tries to call a function on the implementation it will fail with an error indicating the proxy admin cannot fallback to the target implementation. These properties mean that the admin account can only be used for upgrading the proxy, so it's best if it's a dedicated account that is not used for anything else. This will avoid headaches due to sudden errors when trying to call a function from the proxy implementation. For this reason, the proxy deploys an instance of {ProxyAdmin} and allows upgrades only if they come through it. You should think of the `ProxyAdmin` instance as the administrative interface of the proxy, including the ability to change who can trigger upgrades by transferring ownership. NOTE: The real interface of this proxy is that defined in `ITransparentUpgradeableProxy`. This contract does not inherit from that interface, and instead `upgradeToAndCall` is implicitly implemented using a custom dispatch mechanism in `_fallback`. Consequently, the compiler will not produce an ABI for this contract. This is necessary to fully implement transparency without decoding reverts caused by selector clashes between the proxy and the implementation. NOTE: This proxy does not inherit from {Context} deliberately. The {ProxyAdmin} of this contract won't send a meta-transaction in any way, and any other meta-transaction setup should be made in the implementation contract. IMPORTANT: This contract avoids unnecessary storage reads by setting the admin only during construction as an immutable variable, preventing any changes thereafter. However, the admin slot defined in ERC-1967 can still be overwritten by the implementation logic pointed to by this proxy. In such cases, the contract may end up in an undesirable state where the admin slot is different from the actual admin. Relying on the value of the admin slot is generally fine if the implementation is trusted. WARNING: It is not recommended to extend this contract to add additional external functions. If you do so, the compiler will not check that there are no selector conflicts, due to the note above. A selector clash between any new function and the functions declared in {ITransparentUpgradeableProxy} will be resolved in favor of the new one. This could render the `upgradeToAndCall` function inaccessible, preventing upgradeability and compromising transparency.\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidAdmin(address)\":[{\"details\":\"The `admin` of the proxy is invalid.\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"ProxyDeniedAdminAccess()\":[{\"details\":\"The proxy caller is the current admin, and can't fallback to the proxy target.\"}]},\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes an upgradeable proxy managed by an instance of a {ProxyAdmin} with an `initialOwner`, backed by the implementation at `_logic`, and optionally initialized with `_data` as explained in {ERC1967Proxy-constructor}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":\"TransparentUpgradeableProxy\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa3066ff86b94128a9d3956a63a0511fa1aae41bd455772ab587b32ff322acb2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf7b192fd82acf6187970c80548f624b1b9c80425b62fa49e7fdb538a52de049\",\"dweb:/ipfs/QmWXG1YCde1tqDYTbNwjkZDWVgPEjzaQGSDqWkyKLzaNua\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol\":{\"keccak256\":\"0x46f86003755f50eff00a7c5aaf493ae62e024142b8aec4493a313851d3c14872\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://462c770cb667cc75ab22df5a29c50873b24b267274edf87ac5cfe0112bf4c3f7\",\"dweb:/ipfs/QmTfKk32AkQ2yyYZCYJ44V69EM5t9ryBFC6bRF7FVMHXvj\"]},\"lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":{\"keccak256\":\"0x92579f452fe663595a898cbac85d80bb3868a6c9f034f19ba7fbebdfa3b65a4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d07a888cd4a26c7077a30dd99e9ac30fbe2752bfb37e58c65f06a3b192079ef3\",\"dweb:/ipfs/QmZCQY4FC4ynBv9dha4BBWM1vYxTUJPBdFBS4HEFe6XzVB\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60a0604052604051610dc7380380610dc783398101604081905261002291610369565b828161002e828261008c565b50508160405161003d9061032d565b6001600160a01b039091168152602001604051809103905ff080158015610066573d5f5f3e3d5ffd5b506001600160a01b031660805261008461007f60805190565b6100ea565b505050610450565b61009582610157565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156100de576100d982826101d5565b505050565b6100e6610248565b5050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6101295f516020610da75f395f51905f52546001600160a01b031690565b604080516001600160a01b03928316815291841660208301520160405180910390a161015481610269565b50565b806001600160a01b03163b5f0361019157604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b60605f5f846001600160a01b0316846040516101f1919061043a565b5f60405180830381855af49150503d805f8114610229576040519150601f19603f3d011682016040523d82523d5f602084013e61022e565b606091505b50909250905061023f8583836102a6565b95945050505050565b34156102675760405163b398979f60e01b815260040160405180910390fd5b565b6001600160a01b03811661029257604051633173bdd160e11b81525f6004820152602401610188565b805f516020610da75f395f51905f526101b4565b6060826102bb576102b682610305565b6102fe565b81511580156102d257506001600160a01b0384163b155b156102fb57604051639996b31560e01b81526001600160a01b0385166004820152602401610188565b50805b9392505050565b80511561031457805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b6104e6806108c183390190565b80516001600160a01b0381168114610350575f5ffd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f5f5f6060848603121561037b575f5ffd5b6103848461033a565b92506103926020850161033a565b60408501519092506001600160401b038111156103ad575f5ffd5b8401601f810186136103bd575f5ffd5b80516001600160401b038111156103d6576103d6610355565b604051601f8201601f19908116603f011681016001600160401b038111828210171561040457610404610355565b60405281815282820160200188101561041b575f5ffd5b8160208401602083015e5f602083830101528093505050509250925092565b5f82518060208501845e5f920191825250919050565b60805161045a6104675f395f6010015261045a5ff3fe608060405261000c61000e565b005b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361007a575f356001600160e01b03191663278f794360e11b14610070576040516334ad5dbb60e21b815260040160405180910390fd5b610078610082565b565b6100786100b0565b5f806100913660048184610302565b81019061009e919061033d565b915091506100ac82826100c0565b5050565b6100786100bb61011a565b610151565b6100c98261016f565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156101125761010d82826101ea565b505050565b6100ac61025c565b5f61014c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f5f375f5f365f845af43d5f5f3e80801561016b573d5ff35b3d5ffd5b806001600160a01b03163b5f036101a957604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b031684604051610206919061040e565b5f60405180830381855af49150503d805f811461023e576040519150601f19603f3d011682016040523d82523d5f602084013e610243565b606091505b509150915061025385838361027b565b95945050505050565b34156100785760405163b398979f60e01b815260040160405180910390fd5b6060826102905761028b826102da565b6102d3565b81511580156102a757506001600160a01b0384163b155b156102d057604051639996b31560e01b81526001600160a01b03851660048201526024016101a0565b50805b9392505050565b8051156102e957805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b5f5f85851115610310575f5ffd5b8386111561031c575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f5f6040838503121561034e575f5ffd5b82356001600160a01b0381168114610364575f5ffd5b9150602083013567ffffffffffffffff81111561037f575f5ffd5b8301601f8101851361038f575f5ffd5b803567ffffffffffffffff8111156103a9576103a9610329565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156103d8576103d8610329565b6040528181528282016020018710156103ef575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f82518060208501845e5f92019182525091905056fea26469706673582212205301ed95ede30cf40647d456c1aa12a1447c4e5e90eb2349ef4be437cc6ea31364736f6c634300081e00336080604052348015600e575f5ffd5b506040516104e63803806104e6833981016040819052602b9160b4565b806001600160a01b038116605857604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b605f816065565b505060df565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f6020828403121560c3575f5ffd5b81516001600160a01b038116811460d8575f5ffd5b9392505050565b6103fa806100ec5f395ff3fe608060405260043610610049575f3560e01c8063715018a61461004d5780638da5cb5b146100635780639623609d1461008e578063ad3cb1cc146100a1578063f2fde38b146100de575b5f5ffd5b348015610058575f5ffd5b506100616100fd565b005b34801561006e575f5ffd5b505f546040516001600160a01b0390911681526020015b60405180910390f35b61006161009c366004610260565b610110565b3480156100ac575f5ffd5b506100d1604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100859190610365565b3480156100e9575f5ffd5b506100616100f836600461037e565b61017b565b6101056101bd565b61010e5f6101e9565b565b6101186101bd565b60405163278f794360e11b81526001600160a01b03841690634f1ef2869034906101489086908690600401610399565b5f604051808303818588803b15801561015f575f5ffd5b505af1158015610171573d5f5f3e3d5ffd5b5050505050505050565b6101836101bd565b6001600160a01b0381166101b157604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6101ba816101e9565b50565b5f546001600160a01b0316331461010e5760405163118cdaa760e01b81523360048201526024016101a8565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146101ba575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b5f5f5f60608486031215610272575f5ffd5b833561027d81610238565b9250602084013561028d81610238565b9150604084013567ffffffffffffffff8111156102a8575f5ffd5b8401601f810186136102b8575f5ffd5b803567ffffffffffffffff8111156102d2576102d261024c565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156103015761030161024c565b604052818152828201602001881015610318575f5ffd5b816020840160208301375f602083830101528093505050509250925092565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6103776020830184610337565b9392505050565b5f6020828403121561038e575f5ffd5b813561037781610238565b6001600160a01b03831681526040602082018190525f906103bc90830184610337565b94935050505056fea264697066735822122095ea881d6ce186c1d29bad3bf67fdc1bcde638d4e19110856801c85cba0c518c64736f6c634300081e0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103","sourceMap":"4314:2231:44:-:0;;;5157:296;;;;;;;;;;;;;;;;;;:::i;:::-;5248:6;5256:5;1155:52:37;5248:6:44;5256:5;1155:29:37;:52::i;:::-;1081:133;;5305:12:44::1;5290:28;;;;;:::i;:::-;-1:-1:-1::0;;;;;1601:32:102;;;1583:51;;1571:2;1556:18;5290:28:44::1;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;;5273:46:44::1;;::::0;5407:39:::1;5432:13;5600:6:::0;;;5520:93;5432:13:::1;5407:24;:39::i;:::-;5157:296:::0;;;4314:2231;;2264:344:38;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:38;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;:::-;;2264:344;;:::o;2454:148::-;2573:18;:16;:18::i;:::-;2264:344;;:::o;3827:142::-;3890:43;3912:10;-1:-1:-1;;;;;;;;;;;3356:44:38;-1:-1:-1;;;;;3356:44:38;;3287:120;3912:10;3890:43;;;-1:-1:-1;;;;;1837:32:102;;;1819:51;;1906:32;;;1901:2;1886:18;;1879:60;1792:18;3890:43:38;;;;;;;3943:19;3953:8;3943:9;:19::i;:::-;3827:142;:::o;1671:281::-;1748:17;-1:-1:-1;;;;;1748:29:38;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:38;;-1:-1:-1;;;;;1601:32:102;;1805:47:38;;;1583:51:102;1556:18;;1805:47:38;;;;;;;;1744:119;1928:17;811:66;1872:47;:73;;-1:-1:-1;;;;;;1872:73:38;-1:-1:-1;;;;;1872:73:38;;;;;;;;;;-1:-1:-1;1671:281:38:o;3916:253:49:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:49;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4023:67:49;;-1:-1:-1;4023:67:49;-1:-1:-1;4107:55:49;4134:6;4023:67;;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:49:o;6113:122:38:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:38;;;;;;;;;;;6159:70;6113:122::o;3490:217::-;-1:-1:-1;;;;;3549:22:38;;3545:91;;3594:31;;-1:-1:-1;;;3594:31:38;;3622:1;3594:31;;;1583:51:102;1556:18;;3594:31:38;1437:203:102;3545:91:38;3692:8;-1:-1:-1;;;;;;;;;;;3645:38:38;1899:163:56:o;4437:582:49:-;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:49;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:49;;-1:-1:-1;;;;;1601:32:102;;4933:24:49;;;1583:51:102;1556:18;;4933:24:49;1437:203:102;4853:119:49;-1:-1:-1;4992:10:49;4605:408;4437:582;;;;;:::o;5559:434::-;5690:17;;:21;5686:301;;5894:10;5888:17;5881:4;5869:10;5865:21;5858:48;5686:301;5957:19;;-1:-1:-1;;;5957:19:49;;;;;;;;;;;4314:2231:44;;;;;;;;:::o;14:177:102:-;93:13;;-1:-1:-1;;;;;135:31:102;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:127::-;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:1104;425:6;433;441;494:2;482:9;473:7;469:23;465:32;462:52;;;510:1;507;500:12;462:52;533:40;563:9;533:40;:::i;:::-;523:50;;592:49;637:2;626:9;622:18;592:49;:::i;:::-;685:2;670:18;;664:25;582:59;;-1:-1:-1;;;;;;701:30:102;;698:50;;;744:1;741;734:12;698:50;767:22;;820:4;812:13;;808:27;-1:-1:-1;798:55:102;;849:1;846;839:12;798:55;876:9;;-1:-1:-1;;;;;897:30:102;;894:56;;;930:18;;:::i;:::-;979:2;973:9;1071:2;1033:17;;-1:-1:-1;;1029:31:102;;;1062:2;1025:40;1021:54;1009:67;;-1:-1:-1;;;;;1091:34:102;;1127:22;;;1088:62;1085:88;;;1153:18;;:::i;:::-;1189:2;1182:22;1213;;;1254:15;;;1271:2;1250:24;1247:37;-1:-1:-1;1244:57:102;;;1297:1;1294;1287:12;1244:57;1346:6;1341:2;1337;1333:11;1328:2;1320:6;1316:15;1310:43;1399:1;1394:2;1385:6;1377;1373:19;1369:28;1362:39;1420:6;1410:16;;;;;328:1104;;;;;:::o;1950:301::-;2079:3;2117:6;2111:13;2163:6;2156:4;2148:6;2144:17;2139:3;2133:37;2225:1;2189:16;;2214:13;;;-1:-1:-1;2189:16:102;1950:301;-1:-1:-1;1950:301:102:o;:::-;4314:2231:44;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405261000c61000e565b005b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361007a575f356001600160e01b03191663278f794360e11b14610070576040516334ad5dbb60e21b815260040160405180910390fd5b610078610082565b565b6100786100b0565b5f806100913660048184610302565b81019061009e919061033d565b915091506100ac82826100c0565b5050565b6100786100bb61011a565b610151565b6100c98261016f565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156101125761010d82826101ea565b505050565b6100ac61025c565b5f61014c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f5f375f5f365f845af43d5f5f3e80801561016b573d5ff35b3d5ffd5b806001600160a01b03163b5f036101a957604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b031684604051610206919061040e565b5f60405180830381855af49150503d805f811461023e576040519150601f19603f3d011682016040523d82523d5f602084013e610243565b606091505b509150915061025385838361027b565b95945050505050565b34156100785760405163b398979f60e01b815260040160405180910390fd5b6060826102905761028b826102da565b6102d3565b81511580156102a757506001600160a01b0384163b155b156102d057604051639996b31560e01b81526001600160a01b03851660048201526024016101a0565b50805b9392505050565b8051156102e957805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b5f5f85851115610310575f5ffd5b8386111561031c575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f5f6040838503121561034e575f5ffd5b82356001600160a01b0381168114610364575f5ffd5b9150602083013567ffffffffffffffff81111561037f575f5ffd5b8301601f8101851361038f575f5ffd5b803567ffffffffffffffff8111156103a9576103a9610329565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156103d8576103d8610329565b6040528181528282016020018710156103ef575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f82518060208501845e5f92019182525091905056fea26469706673582212205301ed95ede30cf40647d456c1aa12a1447c4e5e90eb2349ef4be437cc6ea31364736f6c634300081e0033","sourceMap":"4314:2231:44:-:0;;;2649:11:39;:9;:11::i;:::-;4314:2231:44;5755:369;5600:6;-1:-1:-1;;;;;5816:27:44;:10;:27;5812:306;;5863:7;;-1:-1:-1;;;;;;5863:7:44;-1:-1:-1;;;5863:65:44;5859:201;;5955:24;;-1:-1:-1;;;5955:24:44;;;;;;;;;;;5859:201;6018:27;:25;:27::i;:::-;5755:369::o;5812:306::-;6090:17;:15;:17::i;6326:217::-;6382:25;;6441:12;:8;6450:1;6441:8;6382:25;6441:12;:::i;:::-;6430:42;;;;;;;:::i;:::-;6381:91;;;;6482:54;6512:17;6531:4;6482:29;:54::i;:::-;6371:172;;6326:217::o;2323:83:39:-;2371:28;2381:17;:15;:17::i;:::-;2371:9;:28::i;2264:344:38:-;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:38;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;:::-;;6371:172:44;;6326:217::o;2454:148:38:-;2573:18;:16;:18::i;1583:132:37:-;1650:7;1676:32;811:66:38;1519:53;-1:-1:-1;;;;;1519:53:38;;1441:138;1676:32:37;1669:39;;1583:132;:::o;949:895:39:-;1287:14;1284:1;1281;1268:34;1501:1;1498;1482:14;1479:1;1463:14;1456:5;1443:60;1577:16;1574:1;1571;1556:38;1615:6;1682:66;;;;1797:16;1794:1;1787:27;1682:66;1717:16;1714:1;1707:27;1671:281:38;1748:17;-1:-1:-1;;;;;1748:29:38;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:38;;-1:-1:-1;;;;;1777:32:102;;1805:47:38;;;1759:51:102;1732:18;;1805:47:38;;;;;;;;1744:119;811:66;1872:73;;-1:-1:-1;;;;;;1872:73:38;-1:-1:-1;;;;;1872:73:38;;;;;;;;;;1671:281::o;3916:253:49:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:49;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4023:67;;;;4107:55;4134:6;4142:7;4151:10;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:49:o;6113:122:38:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:38;;;;;;;;;;;4437:582:49;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:49;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:49;;-1:-1:-1;;;;;1777:32:102;;4933:24:49;;;1759:51:102;1732:18;;4933:24:49;1613:203:102;4853:119:49;-1:-1:-1;4992:10:49;4605:408;4437:582;;;;;:::o;5559:434::-;5690:17;;:21;5686:301;;5894:10;5888:17;5881:4;5869:10;5865:21;5858:48;5686:301;5957:19;;-1:-1:-1;;;5957:19:49;;;;;;;;;;;14:331:102;119:9;130;172:8;160:10;157:24;154:44;;;194:1;191;184:12;154:44;223:6;213:8;210:20;207:40;;;243:1;240;233:12;207:40;-1:-1:-1;;269:23:102;;;314:25;;;;;-1:-1:-1;14:331:102:o;350:127::-;411:10;406:3;402:20;399:1;392:31;442:4;439:1;432:15;466:4;463:1;456:15;482:1126;567:6;575;628:2;616:9;607:7;603:23;599:32;596:52;;;644:1;641;634:12;596:52;670:23;;-1:-1:-1;;;;;722:31:102;;712:42;;702:70;;768:1;765;758:12;702:70;791:5;-1:-1:-1;847:2:102;832:18;;819:32;874:18;863:30;;860:50;;;906:1;903;896:12;860:50;929:22;;982:4;974:13;;970:27;-1:-1:-1;960:55:102;;1011:1;1008;1001:12;960:55;1051:2;1038:16;1077:18;1069:6;1066:30;1063:56;;;1099:18;;:::i;:::-;1148:2;1142:9;1240:2;1202:17;;-1:-1:-1;;1198:31:102;;;1231:2;1194:40;1190:54;1178:67;;1275:18;1260:34;;1296:22;;;1257:62;1254:88;;;1322:18;;:::i;:::-;1358:2;1351:22;1382;;;1423:15;;;1440:2;1419:24;1416:37;-1:-1:-1;1413:57:102;;;1466:1;1463;1456:12;1413:57;1522:6;1517:2;1513;1509:11;1504:2;1496:6;1492:15;1479:50;1575:1;1570:2;1561:6;1553;1549:19;1545:28;1538:39;1596:6;1586:16;;;;;482:1126;;;;;:::o;1821:301::-;1950:3;1988:6;1982:13;2034:6;2027:4;2019:6;2015:17;2010:3;2004:37;2096:1;2060:16;;2085:13;;;-1:-1:-1;2060:16:102;1821:301;-1:-1:-1;1821:301:102:o","linkReferences":{},"immutableReferences":{"42346":[{"start":16,"length":32}]}}}}},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"ERC20":{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC-20 applications.\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. Both values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23\",\"dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x86b7b71a6aedefdad89b607378eeab1dcc5389b9ea7d17346d08af01d7190994\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1dc2db8d94a21eac8efe03adf574c419b08536409b416057a2b5b95cb772c43c\",\"dweb:/ipfs/QmZfqJCKVU1ScuX2A7s8WZdQEaikwJbDH5JBrBdKTUT4Gu\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":42478,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_balances","offset":0,"slot":"0","type":"t_mapping(t_address,t_uint256)"},{"astId":42484,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_allowances","offset":0,"slot":"1","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":42486,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_totalSupply","offset":0,"slot":"2","type":"t_uint256"},{"astId":42488,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_name","offset":0,"slot":"3","type":"t_string_storage"},{"astId":42490,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_symbol","offset":0,"slot":"4","type":"t_string_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}}}},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"IERC20":{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC-20 standard as defined in the ERC.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}}}},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"IERC20Metadata":{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC-20 standard.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}}}},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"SafeERC20":{"abi":[{"type":"error","name":"SafeERC20FailedDecreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"currentAllowance","type":"uint256","internalType":"uint256"},{"name":"requestedDecrease","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requestedDecrease\",\"type\":\"uint256\"}],\"name\":\"SafeERC20FailedDecreaseAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Wrappers around ERC-20 operations that throw on failure (when the token contract returns false). Tokens that return no value (and instead revert or throw on failure) are also supported, non-reverting calls are assumed to be successful. To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract, which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\",\"errors\":{\"SafeERC20FailedDecreaseAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failed `decreaseAllowance` request.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"kind\":\"dev\",\"methods\":{},\"title\":\"SafeERC20\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508\",\"dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220d8a56bc34bf172f95962b2aa73daef2627cf6ab38bb751c9834f7b117607739d64736f6c634300081e0033","sourceMap":"698:9376:48:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;698:9376:48;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220d8a56bc34bf172f95962b2aa73daef2627cf6ab38bb751c9834f7b117607739d64736f6c634300081e0033","sourceMap":"698:9376:48:-:0;;;;;;;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"Address":{"abi":[{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220665cd9afb73e46711ccfd0ab8d23be9c48e2e6fb59503a6f652050052be60c4e64736f6c634300081e0033","sourceMap":"233:5762:49:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;233:5762:49;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220665cd9afb73e46711ccfd0ab8d23be9c48e2e6fb59503a6f652050052be60c4e64736f6c634300081e0033","sourceMap":"233:5762:49:-:0;;;;;;;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/Arrays.sol":{"Arrays":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to array types.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Arrays.sol\":\"Arrays\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Arrays.sol\":{\"keccak256\":\"0xa4b9958797e0e9cde82a090525e90f80d5745ba1c67ee72b488bd3087498a17e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9344f7c2f80322c2e76d9d89bed03fd12f3e011e74fde7cf24ea21bdd2abe2d\",\"dweb:/ipfs/QmPMAjF5x2fHUAee2FKMZDBbFVrbZbPCr3a9KHLZaSn1zY\"]},\"lib/openzeppelin-contracts/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2\",\"dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212200805dd83046e7e36e1c1b92bb3765338da9672ed2e45bfd89674872ab40d201464736f6c634300081e0033","sourceMap":"459:20446:50:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;459:20446:50;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212200805dd83046e7e36e1c1b92bb3765338da9672ed2e45bfd89674872ab40d201464736f6c634300081e0033","sourceMap":"459:20446:50:-:0;;;;;;;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/Comparators.sol":{"Comparators":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides a set of functions to compare values. _Available since v5.1._\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Comparators.sol\":\"Comparators\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220ccd39f580499af06eb517017e44970f047d8f7e4b0084cf7dadcae39c1fc8c5e64736f6c634300081e0033","sourceMap":"224:218:51:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;224:218:51;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220ccd39f580499af06eb517017e44970f047d8f7e4b0084cf7dadcae39c1fc8c5e64736f6c634300081e0033","sourceMap":"224:218:51:-:0;;;;;;;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"Context":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"Errors":{"abi":[{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"FailedDeployment","inputs":[]},{"type":"error","name":"InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"MissingPrecompile","inputs":[{"name":"","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedDeployment\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"MissingPrecompile\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Collection of common custom errors used in multiple contracts IMPORTANT: Backwards compatibility is not guaranteed in future versions of the library. It is recommended to avoid relying on the error API for critical functionality. _Available since v5.1._\",\"errors\":{\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"FailedDeployment()\":[{\"details\":\"The deployment failed.\"}],\"InsufficientBalance(uint256,uint256)\":[{\"details\":\"The ETH balance of the account is not enough to perform the operation.\"}],\"MissingPrecompile(address)\":[{\"details\":\"A necessary precompile is missing.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":\"Errors\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122013e6ea5bbcfaad733d53826e8a54d65784b4c9969e641b3d661021cdd47aa55b64736f6c634300081e0033","sourceMap":"411:484:53:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;411:484:53;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122013e6ea5bbcfaad733d53826e8a54d65784b4c9969e641b3d661021cdd47aa55b64736f6c634300081e0033","sourceMap":"411:484:53:-:0;;;;;;;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"Panic":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Helper library for emitting standardized panic codes. ```solidity contract Example { using Panic for uint256; // Use any of the declared internal constants function foo() { Panic.GENERIC.panic(); } // Alternatively function foo() { Panic.panic(Panic.GENERIC); } } ``` Follows the list from https://github.com/ethereum/solidity/blob/v0.8.24/libsolutil/ErrorCodes.h[libsolutil]. _Available since v5.1._\",\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"ARRAY_OUT_OF_BOUNDS\":{\"details\":\"array out of bounds access\"},\"ASSERT\":{\"details\":\"used by the assert() builtin\"},\"DIVISION_BY_ZERO\":{\"details\":\"division or modulo by zero\"},\"EMPTY_ARRAY_POP\":{\"details\":\"empty array pop\"},\"ENUM_CONVERSION_ERROR\":{\"details\":\"enum conversion error\"},\"GENERIC\":{\"details\":\"generic / unspecified error\"},\"INVALID_INTERNAL_FUNCTION\":{\"details\":\"calling invalid internal function\"},\"RESOURCE_ERROR\":{\"details\":\"resource error (too large allocation or too large array)\"},\"STORAGE_ENCODING_ERROR\":{\"details\":\"invalid encoding in storage\"},\"UNDER_OVERFLOW\":{\"details\":\"arithmetic underflow or overflow\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":\"Panic\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220157d7ad2e64b9c90b6c62ca73e92268f8ea8e60d69920cf9d8b20e4daebe83d364736f6c634300081e0033","sourceMap":"657:1315:54:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;657:1315:54;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220157d7ad2e64b9c90b6c62ca73e92268f8ea8e60d69920cf9d8b20e4daebe83d364736f6c634300081e0033","sourceMap":"657:1315:54:-:0;;;;;;;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol":{"SlotDerivation":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for computing storage (and transient storage) locations from namespaces and deriving slots corresponding to standard patterns. The derivation method for array and mapping matches the storage layout used by the solidity language / compiler. See https://docs.soliditylang.org/en/v0.8.20/internals/layout_in_storage.html#mappings-and-dynamic-arrays[Solidity docs for mappings and dynamic arrays.]. Example usage: ```solidity contract Example { // Add the library methods using StorageSlot for bytes32; using SlotDerivation for bytes32; // Declare a namespace string private constant _NAMESPACE = \\\"\\\"; // eg. OpenZeppelin.Slot function setValueInNamespace(uint256 key, address newValue) internal { _NAMESPACE.erc7201Slot().deriveMapping(key).getAddressSlot().value = newValue; } function getValueInNamespace(uint256 key) internal view returns (address) { return _NAMESPACE.erc7201Slot().deriveMapping(key).getAddressSlot().value; } } ``` TIP: Consider using this library along with {StorageSlot}. NOTE: This library provides a way to manipulate storage locations in a non-standard way. Tooling for checking upgrade safety will ignore the slots accessed through this library. _Available since v5.1._\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":\"SlotDerivation\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2\",\"dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220adc975b4d04e591c8287ae18faf6de621a553586276ca9649020d2cd107587c764736f6c634300081e0033","sourceMap":"1599:3723:55:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1599:3723:55;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220adc975b4d04e591c8287ae18faf6de621a553586276ca9649020d2cd107587c764736f6c634300081e0033","sourceMap":"1599:3723:55:-:0;;;;;;;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"StorageSlot":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for reading and writing primitive types to specific storage slots. Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts. This library helps with reading and writing to such slots without the need for inline assembly. The functions in this library return Slot structs that contain a `value` member that can be used to read or write. Example usage to set ERC-1967 implementation slot: ```solidity contract ERC1967 { // Define the slot. Alternatively, use the SlotDerivation library to derive the slot. bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; function _getImplementation() internal view returns (address) { return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value; } function _setImplementation(address newImplementation) internal { require(newImplementation.code.length > 0); StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation; } } ``` TIP: Consider using this library along with {SlotDerivation}.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":\"StorageSlot\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220b56871cd8cc09276c1bec9300947062e28db98060d106fc214afe42f4f1c6dd964736f6c634300081e0033","sourceMap":"1407:2774:56:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1407:2774:56;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220b56871cd8cc09276c1bec9300947062e28db98060d106fc214afe42f4f1c6dd964736f6c634300081e0033","sourceMap":"1407:2774:56:-:0;;;;;;;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"Strings":{"abi":[{"type":"error","name":"StringsInsufficientHexLength","inputs":[{"name":"value","type":"uint256","internalType":"uint256"},{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"StringsInvalidAddressFormat","inputs":[]},{"type":"error","name":"StringsInvalidChar","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"StringsInsufficientHexLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StringsInvalidAddressFormat\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StringsInvalidChar\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"String operations.\",\"errors\":{\"StringsInsufficientHexLength(uint256,uint256)\":[{\"details\":\"The `value` string doesn't fit in the specified `length`.\"}],\"StringsInvalidAddressFormat()\":[{\"details\":\"The string being parsed is not a properly formatted address.\"}],\"StringsInvalidChar()\":[{\"details\":\"The string being parsed contains characters that are not in scope of the given base.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0xad148d59f05165f9217d0a9e1ac8f772abb02ea6aaad8a756315c532bf79f9f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e3599867c2182f5831e9268b274b2ef2047825837df6b4d81c9e89254b093e\",\"dweb:/ipfs/QmZbL7XAYr5RmaNaooPgZRmcDXaudfsYQfYD9y5iAECvpS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122050f25e5b558748656442cc06363982939656dcabf011556ca97358216de013f864736f6c634300081e0033","sourceMap":"297:18982:57:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;297:18982:57;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122050f25e5b558748656442cc06363982939656dcabf011556ca97358216de013f864736f6c634300081e0033","sourceMap":"297:18982:57:-:0;;;;;;;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"ERC165":{"abi":[{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC165} interface. Contracts that want to implement ERC-165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ```\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"}}}},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"ERC165Checker":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library used to query support of an interface declared via {IERC165}. Note that these functions return the actual result of the query: they do not `revert` if an interface is not supported. It is up to the caller to decide what to do in these cases.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":\"ERC165Checker\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x27c3c648062924bd44cd6f38541c78e6de145dd49515ee62321e42fc1b72e5c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cce2ebc0392b5a96f5c7bbaaf5c3d23c0e7190e64cfa05a49978badc1496141\",\"dweb:/ipfs/QmYQC1U12igR1osVyjRHaHiiTgYYuPjncAxwmjbZ452dCL\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220d8c3e153ad89775ff26b5c8a7c932d488bf711d188befbe5ffd8ed249033695664736f6c634300081e0033","sourceMap":"465:4588:59:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;465:4588:59;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220d8c3e153ad89775ff26b5c8a7c932d488bf711d188befbe5ffd8ed249033695664736f6c634300081e0033","sourceMap":"465:4588:59:-:0;;;;;;;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"IERC165":{"abi":[{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC-165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[ERC]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"}}}},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"Math":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":\"Math\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220d8ec371cab6ed2e63f72fb66d9c79fae7b2e86d79a9c14197db6ae02bec4706164736f6c634300081e0033","sourceMap":"281:31863:61:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;281:31863:61;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220d8ec371cab6ed2e63f72fb66d9c79fae7b2e86d79a9c14197db6ae02bec4706164736f6c634300081e0033","sourceMap":"281:31863:61:-:0;;;;;;;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"SafeCast":{"abi":[{"type":"error","name":"SafeCastOverflowedIntDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"int256","internalType":"int256"}]},{"type":"error","name":"SafeCastOverflowedIntToUint","inputs":[{"name":"value","type":"int256","internalType":"int256"}]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeCastOverflowedUintToInt","inputs":[{"name":"value","type":"uint256","internalType":"uint256"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"SafeCastOverflowedIntDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"SafeCastOverflowedIntToUint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintToInt\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Wrappers over Solidity's uintXX/intXX/bool casting operators with added overflow checks. Downcasting from uint256/int256 in Solidity does not revert on overflow. This can easily result in undesired exploitation or bugs, since developers usually assume that overflows raise errors. `SafeCast` restores this intuition by reverting the transaction when such an operation overflows. Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always.\",\"errors\":{\"SafeCastOverflowedIntDowncast(uint8,int256)\":[{\"details\":\"Value doesn't fit in an int of `bits` size.\"}],\"SafeCastOverflowedIntToUint(int256)\":[{\"details\":\"An int value doesn't fit in an uint of `bits` size.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"SafeCastOverflowedUintToInt(uint256)\":[{\"details\":\"An uint value doesn't fit in an int of `bits` size.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":\"SafeCast\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212209094fefd2a7d043bcc62678a865c08e84c7dfafe2aa3c1f30a7c461652ec96c764736f6c634300081e0033","sourceMap":"769:34173:62:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;769:34173:62;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212209094fefd2a7d043bcc62678a865c08e84c7dfafe2aa3c1f30a7c461652ec96c764736f6c634300081e0033","sourceMap":"769:34173:62:-:0;;;;;;;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"SignedMath":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard signed math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":\"SignedMath\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220c7d0dbcec3704f73a2727d26f135488304fceacbc05bd34cc8ed888306cd0ebb64736f6c634300081e0033","sourceMap":"258:2354:63:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;258:2354:63;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220c7d0dbcec3704f73a2727d26f135488304fceacbc05bd34cc8ed888306cd0ebb64736f6c634300081e0033","sourceMap":"258:2354:63:-:0;;;;;;;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"EnumerableSet":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for managing https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive types. Sets have the following properties: - Elements are added, removed, and checked for existence in constant time (O(1)). - Elements are enumerated in O(n). No guarantees are made on the ordering. - Set can be cleared (all elements removed) in O(n). ```solidity contract Example { // Add the library methods using EnumerableSet for EnumerableSet.AddressSet; // Declare a set state variable EnumerableSet.AddressSet private mySet; } ``` The following types are supported: - `bytes32` (`Bytes32Set`) since v3.3.0 - `address` (`AddressSet`) since v3.3.0 - `uint256` (`UintSet`) since v3.3.0 - `string` (`StringSet`) since v5.4.0 - `bytes` (`BytesSet`) since v5.4.0 [WARNING] ==== Trying to delete such a structure from storage will likely result in data corruption, rendering the structure unusable. See https://github.com/ethereum/solidity/pull/11843[ethereum/solidity#11843] for more info. In order to clean an EnumerableSet, you can either remove all elements one by one or create a fresh instance using an array of EnumerableSet. ====\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":\"EnumerableSet\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Arrays.sol\":{\"keccak256\":\"0xa4b9958797e0e9cde82a090525e90f80d5745ba1c67ee72b488bd3087498a17e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9344f7c2f80322c2e76d9d89bed03fd12f3e011e74fde7cf24ea21bdd2abe2d\",\"dweb:/ipfs/QmPMAjF5x2fHUAee2FKMZDBbFVrbZbPCr3a9KHLZaSn1zY\"]},\"lib/openzeppelin-contracts/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2\",\"dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x1fc283df727585919c3db301b948a3e827aee16917457ad7f916db9da2228e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4f4b5e2cd0ebc3b74e41e4e94771a0417eedd9b11cec3ef9f90b2ac2989264b\",\"dweb:/ipfs/QmZmsEsvsXiwAyAe1YeoLSKezeFcvR1giUeEY6ex4zpsTS\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220edd9469661131d3e9bdea6b92e646218c49af42144310ea15a64acc5e900d2ff64736f6c634300081e0033","sourceMap":"1586:28038:64:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1586:28038:64;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220edd9469661131d3e9bdea6b92e646218c49af42144310ea15a64acc5e900d2ff64736f6c634300081e0033","sourceMap":"1586:28038:64:-:0;;;;;;;;","linkReferences":{}}}}},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"AccessControlUpgradeable":{"abi":[{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module that allows children to implement role-based access control mechanisms. This is a lightweight version that doesn't allow enumerating role members except through off-chain means by accessing the contract event logs. Some applications may benefit from on-chain enumerability, for those cases see {AccessControlEnumerable}. Roles are referred to by their `bytes32` identifier. These should be exposed in the external API and be unique. The best way to achieve this is by using `public constant` hash digests: ```solidity bytes32 public constant MY_ROLE = keccak256(\\\"MY_ROLE\\\"); ``` Roles can be used to represent a set of permissions. To restrict access to a function call, use {hasRole}: ```solidity function foo() public { require(hasRole(MY_ROLE, msg.sender)); ... } ``` Roles can be granted and revoked dynamically via the {grantRole} and {revokeRole} functions. Each role has an associated admin role, and only accounts that have a role's admin role can call {grantRole} and {revokeRole}. By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means that only accounts with this role will be able to grant or revoke other roles. More complex role relationships can be created by using {_setRoleAdmin}. WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to grant and revoke this role. Extra precautions should be taken to secure accounts that have been granted it. We recommend using {AccessControlDefaultAdminRules} to enforce additional security measures for this role.\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted to signal this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":\"AccessControlUpgradeable\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x85a70e2b1b65e9ba456add364d22b97eb9944083df1c39c0b4bd6a4b5aa386a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d32a33be6ca4d8e89b9e82e3f9cec7a6c4e040534152313ff55da85b8f193059\",\"dweb:/ipfs/QmeR55L8t2A8xZ1nvT5y4yVWfFbbmpaGAtGBMz3GGNpuyP\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x6694b63ddb2c59bbe341c846171798350e8f72fa02189fcdeaca864e28b54e1f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d945d33e2189ac4e531e4ed228f59ca957b3898c4f9051f4b8c7ae44d72b23a\",\"dweb:/ipfs/QmRcEwubTe3xyXxthijs5fVzEgUFSxeddjd5PGfhBnkunX\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xbff9f59c84e5337689161ce7641c0ef8e872d6a7536fbc1f5133f128887aba3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b308f882e796f7b79c9502deacb0a62983035c6f6f4e962b319ba6a1f4a77d3d\",\"dweb:/ipfs/QmaWCW7ahEQqFjwhSUhV7Ae7WhfNvzSpE7DQ58hvEooqPL\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7"}}}},"lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol":{"AccessControlDefaultAdminRulesUpgradeable":{"abi":[{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"acceptDefaultAdminTransfer","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"beginDefaultAdminTransfer","inputs":[{"name":"newAdmin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cancelDefaultAdminTransfer","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"changeDefaultAdminDelay","inputs":[{"name":"newDelay","type":"uint48","internalType":"uint48"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"defaultAdmin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"defaultAdminDelay","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"defaultAdminDelayIncreaseWait","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingDefaultAdmin","inputs":[],"outputs":[{"name":"newAdmin","type":"address","internalType":"address"},{"name":"schedule","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"pendingDefaultAdminDelay","inputs":[],"outputs":[{"name":"newDelay","type":"uint48","internalType":"uint48"},{"name":"schedule","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollbackDefaultAdminDelay","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"DefaultAdminDelayChangeCanceled","inputs":[],"anonymous":false},{"type":"event","name":"DefaultAdminDelayChangeScheduled","inputs":[{"name":"newDelay","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"effectSchedule","type":"uint48","indexed":false,"internalType":"uint48"}],"anonymous":false},{"type":"event","name":"DefaultAdminTransferCanceled","inputs":[],"anonymous":false},{"type":"event","name":"DefaultAdminTransferScheduled","inputs":[{"name":"newAdmin","type":"address","indexed":true,"internalType":"address"},{"name":"acceptSchedule","type":"uint48","indexed":false,"internalType":"uint48"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlEnforcedDefaultAdminDelay","inputs":[{"name":"schedule","type":"uint48","internalType":"uint48"}]},{"type":"error","name":"AccessControlEnforcedDefaultAdminRules","inputs":[]},{"type":"error","name":"AccessControlInvalidDefaultAdmin","inputs":[{"name":"defaultAdmin","type":"address","internalType":"address"}]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"schedule\",\"type\":\"uint48\"}],\"name\":\"AccessControlEnforcedDefaultAdminDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AccessControlEnforcedDefaultAdminRules\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"defaultAdmin\",\"type\":\"address\"}],\"name\":\"AccessControlInvalidDefaultAdmin\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"DefaultAdminDelayChangeCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"newDelay\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"effectSchedule\",\"type\":\"uint48\"}],\"name\":\"DefaultAdminDelayChangeScheduled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"DefaultAdminTransferCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"acceptSchedule\",\"type\":\"uint48\"}],\"name\":\"DefaultAdminTransferScheduled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"acceptDefaultAdminTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"beginDefaultAdminTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cancelDefaultAdminTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"newDelay\",\"type\":\"uint48\"}],\"name\":\"changeDefaultAdminDelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultAdmin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultAdminDelay\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultAdminDelayIncreaseWait\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingDefaultAdmin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"schedule\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingDefaultAdminDelay\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"newDelay\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"schedule\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rollbackDefaultAdminDelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {AccessControl} that allows specifying special rules to manage the `DEFAULT_ADMIN_ROLE` holder, which is a sensitive role with special permissions over other roles that may potentially have privileged rights in the system. If a specific role doesn't have an admin role assigned, the holder of the `DEFAULT_ADMIN_ROLE` will have the ability to grant it and revoke it. This contract implements the following risk mitigations on top of {AccessControl}: * Only one account holds the `DEFAULT_ADMIN_ROLE` since deployment until it's potentially renounced. * Enforces a 2-step process to transfer the `DEFAULT_ADMIN_ROLE` to another account. * Enforces a configurable delay between the two steps, with the ability to cancel before the transfer is accepted. * The delay can be changed by scheduling, see {changeDefaultAdminDelay}. * Role transfers must wait at least one block after scheduling before it can be accepted. * It is not possible to use another role to manage the `DEFAULT_ADMIN_ROLE`. Example usage: ```solidity contract MyToken is AccessControlDefaultAdminRules { constructor() AccessControlDefaultAdminRules( 3 days, msg.sender // Explicit initial `DEFAULT_ADMIN_ROLE` holder ) {} } ```\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlEnforcedDefaultAdminDelay(uint48)\":[{\"details\":\"The delay for transferring the default admin delay is enforced and the operation must wait until `schedule`. NOTE: `schedule` can be 0 indicating there's no transfer scheduled.\"}],\"AccessControlEnforcedDefaultAdminRules()\":[{\"details\":\"At least one of the following rules was violated: - The `DEFAULT_ADMIN_ROLE` must only be managed by itself. - The `DEFAULT_ADMIN_ROLE` must only be held by one account at the time. - Any `DEFAULT_ADMIN_ROLE` transfer must be in two delayed steps.\"}],\"AccessControlInvalidDefaultAdmin(address)\":[{\"details\":\"The new default admin is not a valid default admin.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"DefaultAdminDelayChangeCanceled()\":{\"details\":\"Emitted when a {pendingDefaultAdminDelay} is reset if its schedule didn't pass.\"},\"DefaultAdminDelayChangeScheduled(uint48,uint48)\":{\"details\":\"Emitted when a {defaultAdminDelay} change is started, setting `newDelay` as the next delay to be applied between default admin transfer after `effectSchedule` has passed.\"},\"DefaultAdminTransferCanceled()\":{\"details\":\"Emitted when a {pendingDefaultAdmin} is reset if it was never accepted, regardless of its schedule.\"},\"DefaultAdminTransferScheduled(address,uint48)\":{\"details\":\"Emitted when a {defaultAdmin} transfer is started, setting `newAdmin` as the next address to become the {defaultAdmin} by calling {acceptDefaultAdminTransfer} only after `acceptSchedule` passes.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted to signal this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"acceptDefaultAdminTransfer()\":{\"details\":\"Completes a {defaultAdmin} transfer previously started with {beginDefaultAdminTransfer}. After calling the function: - `DEFAULT_ADMIN_ROLE` should be granted to the caller. - `DEFAULT_ADMIN_ROLE` should be revoked from the previous holder. - {pendingDefaultAdmin} should be reset to zero values. Requirements: - Only can be called by the {pendingDefaultAdmin}'s `newAdmin`. - The {pendingDefaultAdmin}'s `acceptSchedule` should've passed.\"},\"beginDefaultAdminTransfer(address)\":{\"details\":\"Starts a {defaultAdmin} transfer by setting a {pendingDefaultAdmin} scheduled for acceptance after the current timestamp plus a {defaultAdminDelay}. Requirements: - Only can be called by the current {defaultAdmin}. Emits a DefaultAdminRoleChangeStarted event.\"},\"cancelDefaultAdminTransfer()\":{\"details\":\"Cancels a {defaultAdmin} transfer previously started with {beginDefaultAdminTransfer}. A {pendingDefaultAdmin} not yet accepted can also be cancelled with this function. Requirements: - Only can be called by the current {defaultAdmin}. May emit a DefaultAdminTransferCanceled event.\"},\"changeDefaultAdminDelay(uint48)\":{\"details\":\"Initiates a {defaultAdminDelay} update by setting a {pendingDefaultAdminDelay} scheduled for getting into effect after the current timestamp plus a {defaultAdminDelay}. This function guarantees that any call to {beginDefaultAdminTransfer} done between the timestamp this method is called and the {pendingDefaultAdminDelay} effect schedule will use the current {defaultAdminDelay} set before calling. The {pendingDefaultAdminDelay}'s effect schedule is defined in a way that waiting until the schedule and then calling {beginDefaultAdminTransfer} with the new delay will take at least the same as another {defaultAdmin} complete transfer (including acceptance). The schedule is designed for two scenarios: - When the delay is changed for a larger one the schedule is `block.timestamp + newDelay` capped by {defaultAdminDelayIncreaseWait}. - When the delay is changed for a shorter one, the schedule is `block.timestamp + (current delay - new delay)`. A {pendingDefaultAdminDelay} that never got into effect will be canceled in favor of a new scheduled change. Requirements: - Only can be called by the current {defaultAdmin}. Emits a DefaultAdminDelayChangeScheduled event and may emit a DefaultAdminDelayChangeCanceled event.\"},\"defaultAdmin()\":{\"details\":\"Returns the address of the current `DEFAULT_ADMIN_ROLE` holder.\"},\"defaultAdminDelay()\":{\"details\":\"Returns the delay required to schedule the acceptance of a {defaultAdmin} transfer started. This delay will be added to the current timestamp when calling {beginDefaultAdminTransfer} to set the acceptance schedule. NOTE: If a delay change has been scheduled, it will take effect as soon as the schedule passes, making this function returns the new delay. See {changeDefaultAdminDelay}.\"},\"defaultAdminDelayIncreaseWait()\":{\"details\":\"Maximum time in seconds for an increase to {defaultAdminDelay} (that is scheduled using {changeDefaultAdminDelay}) to take effect. Default to 5 days. When the {defaultAdminDelay} is scheduled to be increased, it goes into effect after the new delay has passed with the purpose of giving enough time for reverting any accidental change (i.e. using milliseconds instead of seconds) that may lock the contract. However, to avoid excessive schedules, the wait is capped by this function and it can be overrode for a custom {defaultAdminDelay} increase scheduling. IMPORTANT: Make sure to add a reasonable amount of time while overriding this value, otherwise, there's a risk of setting a high new delay that goes into effect almost immediately without the possibility of human intervention in the case of an input error (eg. set milliseconds instead of seconds).\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"See {AccessControl-grantRole}. Reverts for `DEFAULT_ADMIN_ROLE`.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"owner()\":{\"details\":\"Gets the address of the owner.\"},\"pendingDefaultAdmin()\":{\"details\":\"Returns a tuple of a `newAdmin` and an accept schedule. After the `schedule` passes, the `newAdmin` will be able to accept the {defaultAdmin} role by calling {acceptDefaultAdminTransfer}, completing the role transfer. A zero value only in `acceptSchedule` indicates no pending admin transfer. NOTE: A zero address `newAdmin` means that {defaultAdmin} is being renounced.\"},\"pendingDefaultAdminDelay()\":{\"details\":\"Returns a tuple of `newDelay` and an effect schedule. After the `schedule` passes, the `newDelay` will get into effect immediately for every new {defaultAdmin} transfer started with {beginDefaultAdminTransfer}. A zero value only in `effectSchedule` indicates no pending delay change. NOTE: A zero value only for `newDelay` means that the next {defaultAdminDelay} will be zero after the effect schedule.\"},\"renounceRole(bytes32,address)\":{\"details\":\"See {AccessControl-renounceRole}. For the `DEFAULT_ADMIN_ROLE`, it only allows renouncing in two steps by first calling {beginDefaultAdminTransfer} to the `address(0)`, so it's required that the {pendingDefaultAdmin} schedule has also passed when calling this function. After its execution, it will not be possible to call `onlyRole(DEFAULT_ADMIN_ROLE)` functions. NOTE: Renouncing `DEFAULT_ADMIN_ROLE` will leave the contract without a {defaultAdmin}, thereby disabling any functionality that is only available for it, and the possibility of reassigning a non-administrated role.\"},\"revokeRole(bytes32,address)\":{\"details\":\"See {AccessControl-revokeRole}. Reverts for `DEFAULT_ADMIN_ROLE`.\"},\"rollbackDefaultAdminDelay()\":{\"details\":\"Cancels a scheduled {defaultAdminDelay} change. Requirements: - Only can be called by the current {defaultAdmin}. May emit a DefaultAdminDelayChangeCanceled event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol\":\"AccessControlDefaultAdminRulesUpgradeable\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x85a70e2b1b65e9ba456add364d22b97eb9944083df1c39c0b4bd6a4b5aa386a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d32a33be6ca4d8e89b9e82e3f9cec7a6c4e040534152313ff55da85b8f193059\",\"dweb:/ipfs/QmeR55L8t2A8xZ1nvT5y4yVWfFbbmpaGAtGBMz3GGNpuyP\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol\":{\"keccak256\":\"0x2922ed589f7063a685dffc9297f8b669c1e86f2fde9078c08d8bff079cf636a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0bd42676681a1c4563f61a767bfbc50ef207544a3d6eee9aa66830cc15ccb679\",\"dweb:/ipfs/QmRMCKEXNWJq1EdCjNQtTXf9tuppnyGtaiBCiNk3TYVcK1\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x6694b63ddb2c59bbe341c846171798350e8f72fa02189fcdeaca864e28b54e1f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d945d33e2189ac4e531e4ed228f59ca957b3898c4f9051f4b8c7ae44d72b23a\",\"dweb:/ipfs/QmRcEwubTe3xyXxthijs5fVzEgUFSxeddjd5PGfhBnkunX\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xbff9f59c84e5337689161ce7641c0ef8e872d6a7536fbc1f5133f128887aba3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b308f882e796f7b79c9502deacb0a62983035c6f6f4e962b319ba6a1f4a77d3d\",\"dweb:/ipfs/QmaWCW7ahEQqFjwhSUhV7Ae7WhfNvzSpE7DQ58hvEooqPL\"]},\"lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol\":{\"keccak256\":\"0x956d6404c7b61b920a9ccbc9918f94a2bd3004de3dd13310995eda5bc17f1ead\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c12dc67a285548d455683db60f1ed845c03ac3c27f8f24f905defd3c54601406\",\"dweb:/ipfs/QmXDaxKsnq6RxH44VPSqxjLyygdXn3GR1o6W9pr2iXzjZq\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol\":{\"keccak256\":\"0x21529ba6918f994ec44fb97cef2b717d730268e911a4e626f3e425a4394f7bae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10949be539eb61e5ea8996cc93f21be61949c16a1b717adc2b3f8f099c1e1feb\",\"dweb:/ipfs/QmagATozhFXBUVTLaiHWyqVPgew9N1x18V6hBF46AZPeLw\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","acceptDefaultAdminTransfer()":"cefc1429","beginDefaultAdminTransfer(address)":"634e93da","cancelDefaultAdminTransfer()":"d602b9fd","changeDefaultAdminDelay(uint48)":"649a5ec7","defaultAdmin()":"84ef8ffc","defaultAdminDelay()":"cc8463c8","defaultAdminDelayIncreaseWait()":"022d63fb","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","owner()":"8da5cb5b","pendingDefaultAdmin()":"cf6eefb7","pendingDefaultAdminDelay()":"a1eda53c","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","rollbackDefaultAdminDelay()":"0aa6220b","supportsInterface(bytes4)":"01ffc9a7"}}}},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"Initializable":{"abi":[{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"}],\"devdoc\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor constructor() { _disableInitializers(); } ``` ====\",\"details\":\"This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed behind a proxy. Since proxied contracts do not make use of a constructor, it's common to move constructor logic to an external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer function so it can only be called once. The {initializer} modifier provided by this contract will have this effect. The initialization functions use a version number. Once a version number is used, it is consumed and cannot be reused. This mechanism prevents re-execution of each \\\"step\\\" but allows the creation of new initialization steps in case an upgrade adds a module that needs to be initialized. For example: [.hljs-theme-light.nopadding] ```solidity contract MyToken is ERC20Upgradeable { function initialize() initializer public { __ERC20_init(\\\"MyToken\\\", \\\"MTK\\\"); } } contract MyTokenV2 is MyToken, ERC20PermitUpgradeable { function initializeV2() reinitializer(2) public { __ERC20Permit_init(\\\"MyToken\\\"); } } ``` TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}. CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure that all initializers are idempotent. This is not verified automatically as constructors are by Solidity. [CAUTION] ==== Avoid leaving a contract uninitialized. An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation contract, which may impact the proxy. To prevent the implementation contract from being used, you should invoke the {_disableInitializers} function in the constructor to automatically lock it when it is deployed: [.hljs-theme-light.nopadding] ```\",\"errors\":{\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":\"Initializable\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":{"UUPSUpgradeable":{"abi":[{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"An upgradeability mechanism designed for UUPS proxies. The functions included here can perform an upgrade of an {ERC1967Proxy}, when this contract is set as the implementation behind such a proxy. A security mechanism ensures that an upgrade does not turn off upgradeability accidentally, although this risk is reinstated if the upgrade retains upgradeability but removes the security mechanism, e.g. by replacing `UUPSUpgradeable` with a custom implementation of upgrades. The {_authorizeUpgrade} function must be overridden to include access restriction to the upgrade mechanism.\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"UPGRADE_INTERFACE_VERSION\":{\"details\":\"The version of the upgrade interface of the contract. If this getter is missing, both `upgradeTo(address)` and `upgradeToAndCall(address,bytes)` are present, and `upgradeTo` must be used if no function should be called, while `upgradeToAndCall` will invoke the `receive` function if the second argument is the empty byte string. If the getter returns `\\\"5.0.0\\\"`, only `upgradeToAndCall(address,bytes)` is present, and the second argument must be the empty byte string if no function should be called, making it impossible to invoke the `receive` function during an upgrade.\"},\"__self\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":\"UUPSUpgradeable\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","proxiableUUID()":"52d1902d","upgradeToAndCall(address,bytes)":"4f1ef286"}}}},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"ContextUpgradeable":{"abi":[{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"errors\":{\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":\"ContextUpgradeable\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"ERC165Upgradeable":{"abi":[{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC165} interface. Contracts that want to implement ERC-165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ```\",\"errors\":{\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":\"ERC165Upgradeable\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x6694b63ddb2c59bbe341c846171798350e8f72fa02189fcdeaca864e28b54e1f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d945d33e2189ac4e531e4ed228f59ca957b3898c4f9051f4b8c7ae44d72b23a\",\"dweb:/ipfs/QmRcEwubTe3xyXxthijs5fVzEgUFSxeddjd5PGfhBnkunX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"}}}},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"Defender":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for interacting with OpenZeppelin Defender from Forge scripts or tests.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":\"Defender\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0xad148d59f05165f9217d0a9e1ac8f772abb02ea6aaad8a756315c532bf79f9f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e3599867c2182f5831e9268b274b2ef2047825837df6b4d81c9e89254b093e\",\"dweb:/ipfs/QmZbL7XAYr5RmaNaooPgZRmcDXaudfsYQfYD9y5iAECvpS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xd62ea6bdc1d148c473846b5bd943144a4e492cb93496fc54645258fdc2e261f7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58d96f48c6cde51bb137e851c2a481cb7f0003accfd17594c4ba0586be3c3bb\",\"dweb:/ipfs/QmdioTToxjZy2buydukEPdGrDqBEtLqtokRkN5ghgzm19V\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x1f671c2d16c7e66ef014d284bed46aa0fbf36d99d788e8874a8bc64f2e1f75e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991fcba03f07c28f7c04b8a85f4acbb9ffcf0f7f7e1b3e4c2eb6fc0585c2a3d1\",\"dweb:/ipfs/QmXBAMjyCnEqdYQw7vSKfQSUZK8C1aRgGXu46AiGeeut6B\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x5df88a72cb2f2e22f609636474a828595fc284e9745a7569ec73cd3c13f54ff5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec83f6823ed33ed0da807034e5556d5a84abdbb8c989fec141900d73970d05d9\",\"dweb:/ipfs/QmVb7Rfoaqn8gzKJNrSRJGVU2qSNuvMc7FJrb4j928upCK\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/StringFinder.sol\":{\"keccak256\":\"0x423f79ce68a98fd38d2654a47fd373f58036fbef129dd1a189d0534e67c38c50\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5fec9580ff736edf6bac3f2b03f9a6c2036ba5e71bf2210491e614be8795dfd\",\"dweb:/ipfs/QmavYcUmMnf9czYo2cLxR4VLyiwtaA68yvf2g3pyoE9a4A\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x96c6430958a3c74dc93b470f3656352412691e1a8c53e7225ca8b8c32ab3e77b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b1ce52f58c935c8cc930edeb13cdf6cf8d0bc2d5e58ff5f5d555383d97eda9d\",\"dweb:/ipfs/QmSWXzxtUijtQPxEQhuFw9JA5XiMWQshmYd39ZboqWRbHr\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0x50d28b08e922e5313831d5a45aca27d5dd429c3f891e26c89d16b088bca8372d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://208be31cc96d534f64e5293872d99cc68932df6505ea3b6b0e8f7b19cd1cd0c4\",\"dweb:/ipfs/QmbyznRaPjcZXSJ7w6ms1zrQcdtofWEPs7HSkVvFX6tQ1L\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122041e45041aa3465d2aac6921e83f4adc1f253614c0a2da71a12dcfd6b449ab56564736f6c634300081e0033","sourceMap":"314:7975:65:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;314:7975:65;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122041e45041aa3465d2aac6921e83f4adc1f253614c0a2da71a12dcfd6b449ab56564736f6c634300081e0033","sourceMap":"314:7975:65:-:0;;;;;;;;","linkReferences":{}}}}},"lib/openzeppelin-foundry-upgrades/src/Upgrades.sol":{"UnsafeUpgrades":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for deploying and managing upgradeable contracts from Forge tests, without validations. Can be used with `forge coverage`. Requires implementation contracts to be instantiated first. Does not require `--ffi` and does not require a clean compilation before each run. Not supported for OpenZeppelin Defender deployments. WARNING: Not recommended for use in Forge scripts. `UnsafeUpgrades` does not validate whether your contracts are upgrade safe or whether new implementations are compatible with previous ones. Use `Upgrades` if you want validations to be run. NOTE: Requires OpenZeppelin Contracts v5 or higher.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-foundry-upgrades/src/Upgrades.sol\":\"UnsafeUpgrades\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa3066ff86b94128a9d3956a63a0511fa1aae41bd455772ab587b32ff322acb2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf7b192fd82acf6187970c80548f624b1b9c80425b62fa49e7fdb538a52de049\",\"dweb:/ipfs/QmWXG1YCde1tqDYTbNwjkZDWVgPEjzaQGSDqWkyKLzaNua\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol\":{\"keccak256\":\"0xef92aebf99249a8ac1d682b9a0f04b6f2af2a8f631cb126625bab15bafcefda8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a0709f54f682b4d22d3108e5951019145cd0b4abda4517638410d231f37d960\",\"dweb:/ipfs/QmdR3oRXqheNuBVRW1cMqDCffBsV1DtuvRHuaDph4ZTku2\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol\":{\"keccak256\":\"0x5920bac7215d12961e23b207f6e81a1d64aa4935a4469abe95b64a96a3c3007b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b34bb828c45c3a4ebf6c2c585971abf5089e61357a3818a2900c7e85b74a1299\",\"dweb:/ipfs/QmewGAzKsPXYfSjCKxuH1SekKxtdyzhdbdyxjF5gohLigt\"]},\"lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol\":{\"keccak256\":\"0x46f86003755f50eff00a7c5aaf493ae62e024142b8aec4493a313851d3c14872\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://462c770cb667cc75ab22df5a29c50873b24b267274edf87ac5cfe0112bf4c3f7\",\"dweb:/ipfs/QmTfKk32AkQ2yyYZCYJ44V69EM5t9ryBFC6bRF7FVMHXvj\"]},\"lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":{\"keccak256\":\"0x92579f452fe663595a898cbac85d80bb3868a6c9f034f19ba7fbebdfa3b65a4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d07a888cd4a26c7077a30dd99e9ac30fbe2752bfb37e58c65f06a3b192079ef3\",\"dweb:/ipfs/QmZCQY4FC4ynBv9dha4BBWM1vYxTUJPBdFBS4HEFe6XzVB\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0xad148d59f05165f9217d0a9e1ac8f772abb02ea6aaad8a756315c532bf79f9f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e3599867c2182f5831e9268b274b2ef2047825837df6b4d81c9e89254b093e\",\"dweb:/ipfs/QmZbL7XAYr5RmaNaooPgZRmcDXaudfsYQfYD9y5iAECvpS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xd62ea6bdc1d148c473846b5bd943144a4e492cb93496fc54645258fdc2e261f7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58d96f48c6cde51bb137e851c2a481cb7f0003accfd17594c4ba0586be3c3bb\",\"dweb:/ipfs/QmdioTToxjZy2buydukEPdGrDqBEtLqtokRkN5ghgzm19V\"]},\"lib/openzeppelin-foundry-upgrades/src/Upgrades.sol\":{\"keccak256\":\"0x822dc23091a6ef7c1207bdc65eba8716b635392cd061e56b99d042216686d6e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c376817ffdc56d89bdb10c4b42e56b4c4c294686f914fb65cc3e96c108f660c0\",\"dweb:/ipfs/QmXHy6WYztETzHKGjzLpDmvgFkzxsv1hEbMkEbwNyWn47o\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x1f671c2d16c7e66ef014d284bed46aa0fbf36d99d788e8874a8bc64f2e1f75e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991fcba03f07c28f7c04b8a85f4acbb9ffcf0f7f7e1b3e4c2eb6fc0585c2a3d1\",\"dweb:/ipfs/QmXBAMjyCnEqdYQw7vSKfQSUZK8C1aRgGXu46AiGeeut6B\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x5df88a72cb2f2e22f609636474a828595fc284e9745a7569ec73cd3c13f54ff5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec83f6823ed33ed0da807034e5556d5a84abdbb8c989fec141900d73970d05d9\",\"dweb:/ipfs/QmVb7Rfoaqn8gzKJNrSRJGVU2qSNuvMc7FJrb4j928upCK\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/StringFinder.sol\":{\"keccak256\":\"0x423f79ce68a98fd38d2654a47fd373f58036fbef129dd1a189d0534e67c38c50\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5fec9580ff736edf6bac3f2b03f9a6c2036ba5e71bf2210491e614be8795dfd\",\"dweb:/ipfs/QmavYcUmMnf9czYo2cLxR4VLyiwtaA68yvf2g3pyoE9a4A\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x96c6430958a3c74dc93b470f3656352412691e1a8c53e7225ca8b8c32ab3e77b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b1ce52f58c935c8cc930edeb13cdf6cf8d0bc2d5e58ff5f5d555383d97eda9d\",\"dweb:/ipfs/QmSWXzxtUijtQPxEQhuFw9JA5XiMWQshmYd39ZboqWRbHr\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0x50d28b08e922e5313831d5a45aca27d5dd429c3f891e26c89d16b088bca8372d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://208be31cc96d534f64e5293872d99cc68932df6505ea3b6b0e8f7b19cd1cd0c4\",\"dweb:/ipfs/QmbyznRaPjcZXSJ7w6ms1zrQcdtofWEPs7HSkVvFX6tQ1L\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122010a79ae55f65258d8dba722f7810c4d9bf01195dce0d0f8edecfb2265daf6abc64736f6c634300081e0033","sourceMap":"20236:6207:67:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;20236:6207:67;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122010a79ae55f65258d8dba722f7810c4d9bf01195dce0d0f8edecfb2265daf6abc64736f6c634300081e0033","sourceMap":"20236:6207:67:-:0;;;;;;;;","linkReferences":{}}}},"Upgrades":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for deploying and managing upgradeable contracts from Forge scripts or tests. NOTE: Requires OpenZeppelin Contracts v5 or higher.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-foundry-upgrades/src/Upgrades.sol\":\"Upgrades\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa3066ff86b94128a9d3956a63a0511fa1aae41bd455772ab587b32ff322acb2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf7b192fd82acf6187970c80548f624b1b9c80425b62fa49e7fdb538a52de049\",\"dweb:/ipfs/QmWXG1YCde1tqDYTbNwjkZDWVgPEjzaQGSDqWkyKLzaNua\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol\":{\"keccak256\":\"0xef92aebf99249a8ac1d682b9a0f04b6f2af2a8f631cb126625bab15bafcefda8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a0709f54f682b4d22d3108e5951019145cd0b4abda4517638410d231f37d960\",\"dweb:/ipfs/QmdR3oRXqheNuBVRW1cMqDCffBsV1DtuvRHuaDph4ZTku2\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol\":{\"keccak256\":\"0x5920bac7215d12961e23b207f6e81a1d64aa4935a4469abe95b64a96a3c3007b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b34bb828c45c3a4ebf6c2c585971abf5089e61357a3818a2900c7e85b74a1299\",\"dweb:/ipfs/QmewGAzKsPXYfSjCKxuH1SekKxtdyzhdbdyxjF5gohLigt\"]},\"lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol\":{\"keccak256\":\"0x46f86003755f50eff00a7c5aaf493ae62e024142b8aec4493a313851d3c14872\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://462c770cb667cc75ab22df5a29c50873b24b267274edf87ac5cfe0112bf4c3f7\",\"dweb:/ipfs/QmTfKk32AkQ2yyYZCYJ44V69EM5t9ryBFC6bRF7FVMHXvj\"]},\"lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":{\"keccak256\":\"0x92579f452fe663595a898cbac85d80bb3868a6c9f034f19ba7fbebdfa3b65a4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d07a888cd4a26c7077a30dd99e9ac30fbe2752bfb37e58c65f06a3b192079ef3\",\"dweb:/ipfs/QmZCQY4FC4ynBv9dha4BBWM1vYxTUJPBdFBS4HEFe6XzVB\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0xad148d59f05165f9217d0a9e1ac8f772abb02ea6aaad8a756315c532bf79f9f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e3599867c2182f5831e9268b274b2ef2047825837df6b4d81c9e89254b093e\",\"dweb:/ipfs/QmZbL7XAYr5RmaNaooPgZRmcDXaudfsYQfYD9y5iAECvpS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xd62ea6bdc1d148c473846b5bd943144a4e492cb93496fc54645258fdc2e261f7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58d96f48c6cde51bb137e851c2a481cb7f0003accfd17594c4ba0586be3c3bb\",\"dweb:/ipfs/QmdioTToxjZy2buydukEPdGrDqBEtLqtokRkN5ghgzm19V\"]},\"lib/openzeppelin-foundry-upgrades/src/Upgrades.sol\":{\"keccak256\":\"0x822dc23091a6ef7c1207bdc65eba8716b635392cd061e56b99d042216686d6e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c376817ffdc56d89bdb10c4b42e56b4c4c294686f914fb65cc3e96c108f660c0\",\"dweb:/ipfs/QmXHy6WYztETzHKGjzLpDmvgFkzxsv1hEbMkEbwNyWn47o\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x1f671c2d16c7e66ef014d284bed46aa0fbf36d99d788e8874a8bc64f2e1f75e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991fcba03f07c28f7c04b8a85f4acbb9ffcf0f7f7e1b3e4c2eb6fc0585c2a3d1\",\"dweb:/ipfs/QmXBAMjyCnEqdYQw7vSKfQSUZK8C1aRgGXu46AiGeeut6B\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x5df88a72cb2f2e22f609636474a828595fc284e9745a7569ec73cd3c13f54ff5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec83f6823ed33ed0da807034e5556d5a84abdbb8c989fec141900d73970d05d9\",\"dweb:/ipfs/QmVb7Rfoaqn8gzKJNrSRJGVU2qSNuvMc7FJrb4j928upCK\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/StringFinder.sol\":{\"keccak256\":\"0x423f79ce68a98fd38d2654a47fd373f58036fbef129dd1a189d0534e67c38c50\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5fec9580ff736edf6bac3f2b03f9a6c2036ba5e71bf2210491e614be8795dfd\",\"dweb:/ipfs/QmavYcUmMnf9czYo2cLxR4VLyiwtaA68yvf2g3pyoE9a4A\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x96c6430958a3c74dc93b470f3656352412691e1a8c53e7225ca8b8c32ab3e77b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b1ce52f58c935c8cc930edeb13cdf6cf8d0bc2d5e58ff5f5d555383d97eda9d\",\"dweb:/ipfs/QmSWXzxtUijtQPxEQhuFw9JA5XiMWQshmYd39ZboqWRbHr\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0x50d28b08e922e5313831d5a45aca27d5dd429c3f891e26c89d16b088bca8372d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://208be31cc96d534f64e5293872d99cc68932df6505ea3b6b0e8f7b19cd1cd0c4\",\"dweb:/ipfs/QmbyznRaPjcZXSJ7w6ms1zrQcdtofWEPs7HSkVvFX6tQ1L\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212209f66595b7eb524cae84f4b444f44ab905f120aea5dc1f35140e7ee4d72cb66e764736f6c634300081e0033","sourceMap":"762:18802:67:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;762:18802:67;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212209f66595b7eb524cae84f4b444f44ab905f120aea5dc1f35140e7ee4d72cb66e764736f6c634300081e0033","sourceMap":"762:18802:67:-:0;;;;;;;;","linkReferences":{}}}}},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"Core":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Internal helper methods to validate/deploy implementations and perform upgrades. WARNING: DO NOT USE DIRECTLY. Use Upgrades.sol, LegacyUpgrades.sol or Defender.sol instead.\",\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"ADMIN_SLOT\":{\"details\":\"Storage slot with the admin of the proxy. This is the keccak-256 hash of \\\"eip1967.proxy.admin\\\" subtracted by 1.\"},\"BEACON_SLOT\":{\"details\":\"Storage slot with the UpgradeableBeacon contract which defines the implementation for the proxy. This is the keccak-256 hash of \\\"eip1967.proxy.beacon\\\" subtracted by 1.\"},\"IMPLEMENTATION_SLOT\":{\"details\":\"Storage slot with the address of the implementation. This is the keccak-256 hash of \\\"eip1967.proxy.implementation\\\" subtracted by 1.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":\"Core\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0xad148d59f05165f9217d0a9e1ac8f772abb02ea6aaad8a756315c532bf79f9f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e3599867c2182f5831e9268b274b2ef2047825837df6b4d81c9e89254b093e\",\"dweb:/ipfs/QmZbL7XAYr5RmaNaooPgZRmcDXaudfsYQfYD9y5iAECvpS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xd62ea6bdc1d148c473846b5bd943144a4e492cb93496fc54645258fdc2e261f7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58d96f48c6cde51bb137e851c2a481cb7f0003accfd17594c4ba0586be3c3bb\",\"dweb:/ipfs/QmdioTToxjZy2buydukEPdGrDqBEtLqtokRkN5ghgzm19V\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x1f671c2d16c7e66ef014d284bed46aa0fbf36d99d788e8874a8bc64f2e1f75e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991fcba03f07c28f7c04b8a85f4acbb9ffcf0f7f7e1b3e4c2eb6fc0585c2a3d1\",\"dweb:/ipfs/QmXBAMjyCnEqdYQw7vSKfQSUZK8C1aRgGXu46AiGeeut6B\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x5df88a72cb2f2e22f609636474a828595fc284e9745a7569ec73cd3c13f54ff5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec83f6823ed33ed0da807034e5556d5a84abdbb8c989fec141900d73970d05d9\",\"dweb:/ipfs/QmVb7Rfoaqn8gzKJNrSRJGVU2qSNuvMc7FJrb4j928upCK\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/StringFinder.sol\":{\"keccak256\":\"0x423f79ce68a98fd38d2654a47fd373f58036fbef129dd1a189d0534e67c38c50\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5fec9580ff736edf6bac3f2b03f9a6c2036ba5e71bf2210491e614be8795dfd\",\"dweb:/ipfs/QmavYcUmMnf9czYo2cLxR4VLyiwtaA68yvf2g3pyoE9a4A\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x96c6430958a3c74dc93b470f3656352412691e1a8c53e7225ca8b8c32ab3e77b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b1ce52f58c935c8cc930edeb13cdf6cf8d0bc2d5e58ff5f5d555383d97eda9d\",\"dweb:/ipfs/QmSWXzxtUijtQPxEQhuFw9JA5XiMWQshmYd39ZboqWRbHr\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0x50d28b08e922e5313831d5a45aca27d5dd429c3f891e26c89d16b088bca8372d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://208be31cc96d534f64e5293872d99cc68932df6505ea3b6b0e8f7b19cd1cd0c4\",\"dweb:/ipfs/QmbyznRaPjcZXSJ7w6ms1zrQcdtofWEPs7HSkVvFX6tQ1L\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212206bde4d4e39690d4560049387a723262d29aa21f9aa2caece5eae0fb871f8b0ca64736f6c634300081e0033","sourceMap":"776:20671:68:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;776:20671:68;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212206bde4d4e39690d4560049387a723262d29aa21f9aa2caece5eae0fb871f8b0ca64736f6c634300081e0033","sourceMap":"776:20671:68:-:0;;;;;;;;","linkReferences":{}}}}},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"DefenderDeploy":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Internal helper methods for Defender deployments. WARNING: DO NOT USE DIRECTLY. Use Defender.sol instead.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":\"DefenderDeploy\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0xad148d59f05165f9217d0a9e1ac8f772abb02ea6aaad8a756315c532bf79f9f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e3599867c2182f5831e9268b274b2ef2047825837df6b4d81c9e89254b093e\",\"dweb:/ipfs/QmZbL7XAYr5RmaNaooPgZRmcDXaudfsYQfYD9y5iAECvpS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xd62ea6bdc1d148c473846b5bd943144a4e492cb93496fc54645258fdc2e261f7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58d96f48c6cde51bb137e851c2a481cb7f0003accfd17594c4ba0586be3c3bb\",\"dweb:/ipfs/QmdioTToxjZy2buydukEPdGrDqBEtLqtokRkN5ghgzm19V\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x1f671c2d16c7e66ef014d284bed46aa0fbf36d99d788e8874a8bc64f2e1f75e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991fcba03f07c28f7c04b8a85f4acbb9ffcf0f7f7e1b3e4c2eb6fc0585c2a3d1\",\"dweb:/ipfs/QmXBAMjyCnEqdYQw7vSKfQSUZK8C1aRgGXu46AiGeeut6B\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x5df88a72cb2f2e22f609636474a828595fc284e9745a7569ec73cd3c13f54ff5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec83f6823ed33ed0da807034e5556d5a84abdbb8c989fec141900d73970d05d9\",\"dweb:/ipfs/QmVb7Rfoaqn8gzKJNrSRJGVU2qSNuvMc7FJrb4j928upCK\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/StringFinder.sol\":{\"keccak256\":\"0x423f79ce68a98fd38d2654a47fd373f58036fbef129dd1a189d0534e67c38c50\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5fec9580ff736edf6bac3f2b03f9a6c2036ba5e71bf2210491e614be8795dfd\",\"dweb:/ipfs/QmavYcUmMnf9czYo2cLxR4VLyiwtaA68yvf2g3pyoE9a4A\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x96c6430958a3c74dc93b470f3656352412691e1a8c53e7225ca8b8c32ab3e77b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b1ce52f58c935c8cc930edeb13cdf6cf8d0bc2d5e58ff5f5d555383d97eda9d\",\"dweb:/ipfs/QmSWXzxtUijtQPxEQhuFw9JA5XiMWQshmYd39ZboqWRbHr\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0x50d28b08e922e5313831d5a45aca27d5dd429c3f891e26c89d16b088bca8372d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://208be31cc96d534f64e5293872d99cc68932df6505ea3b6b0e8f7b19cd1cd0c4\",\"dweb:/ipfs/QmbyznRaPjcZXSJ7w6ms1zrQcdtofWEPs7HSkVvFX6tQ1L\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122092b58e698113843c1aa0225a95fd7a5e624b7521c92d3988256f889108b2150e64736f6c634300081e0033","sourceMap":"567:13259:69:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;567:13259:69;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122092b58e698113843c1aa0225a95fd7a5e624b7521c92d3988256f889108b2150e64736f6c634300081e0033","sourceMap":"567:13259:69:-:0;;;;;;;;","linkReferences":{}}}}},"lib/openzeppelin-foundry-upgrades/src/internal/StringFinder.sol":{"StringFinder":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"String finder functions using Forge's string cheatcodes. For internal use only.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-foundry-upgrades/src/internal/StringFinder.sol\":\"StringFinder\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/StringFinder.sol\":{\"keccak256\":\"0x423f79ce68a98fd38d2654a47fd373f58036fbef129dd1a189d0534e67c38c50\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5fec9580ff736edf6bac3f2b03f9a6c2036ba5e71bf2210491e614be8795dfd\",\"dweb:/ipfs/QmavYcUmMnf9czYo2cLxR4VLyiwtaA68yvf2g3pyoE9a4A\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x96c6430958a3c74dc93b470f3656352412691e1a8c53e7225ca8b8c32ab3e77b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b1ce52f58c935c8cc930edeb13cdf6cf8d0bc2d5e58ff5f5d555383d97eda9d\",\"dweb:/ipfs/QmSWXzxtUijtQPxEQhuFw9JA5XiMWQshmYd39ZboqWRbHr\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220c2e94391206285c0c4a4a8537751340169b55a79dc571260e6467d59bb65e56064736f6c634300081e0033","sourceMap":"224:1360:70:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;224:1360:70;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220c2e94391206285c0c4a4a8537751340169b55a79dc571260e6467d59bb65e56064736f6c634300081e0033","sourceMap":"224:1360:70:-:0;;;;;;;;","linkReferences":{}}}}},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"Utils":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Internal helper methods used by Upgrades and Defender libraries.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":\"Utils\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/StringFinder.sol\":{\"keccak256\":\"0x423f79ce68a98fd38d2654a47fd373f58036fbef129dd1a189d0534e67c38c50\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5fec9580ff736edf6bac3f2b03f9a6c2036ba5e71bf2210491e614be8795dfd\",\"dweb:/ipfs/QmavYcUmMnf9czYo2cLxR4VLyiwtaA68yvf2g3pyoE9a4A\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x96c6430958a3c74dc93b470f3656352412691e1a8c53e7225ca8b8c32ab3e77b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b1ce52f58c935c8cc930edeb13cdf6cf8d0bc2d5e58ff5f5d555383d97eda9d\",\"dweb:/ipfs/QmSWXzxtUijtQPxEQhuFw9JA5XiMWQshmYd39ZboqWRbHr\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122019f4c9b3cbda432547343e919f60c7711fef15ffd4f52b95342a062ea53541b164736f6c634300081e0033","sourceMap":"804:8667:71:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;804:8667:71;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122019f4c9b3cbda432547343e919f60c7711fef15ffd4f52b95342a062ea53541b164736f6c634300081e0033","sourceMap":"804:8667:71:-:0;;;;;;;;","linkReferences":{}}}}},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"Versions":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":\"Versions\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0x50d28b08e922e5313831d5a45aca27d5dd429c3f891e26c89d16b088bca8372d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://208be31cc96d534f64e5293872d99cc68932df6505ea3b6b0e8f7b19cd1cd0c4\",\"dweb:/ipfs/QmbyznRaPjcZXSJ7w6ms1zrQcdtofWEPs7HSkVvFX6tQ1L\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122013f5e41da1e6f17f255c32c9872db0f349ed5cbafa9f2f54afd4f2e67a6c13db64736f6c634300081e0033","sourceMap":"57:212:72:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;57:212:72;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122013f5e41da1e6f17f255c32c9872db0f349ed5cbafa9f2f54afd4f2e67a6c13db64736f6c634300081e0033","sourceMap":"57:212:72:-:0;;;;;;;;","linkReferences":{}}}}},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"IProxyAdmin":{"abi":[{"type":"function","name":"upgrade","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeAndCall","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"upgrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"upgradeAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"upgrade(address,address)\":{\"notice\":\"Upgrades a proxy to a new implementation without calling a function on the new implementation.\"},\"upgradeAndCall(address,address,bytes)\":{\"notice\":\"Upgrades a proxy to a new implementation and calls a function on the new implementation. If UPGRADE_INTERFACE_VERSION is \\\"5.0.0\\\", bytes can be empty if no function should be called on the new implementation.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":\"IProxyAdmin\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"upgrade(address,address)":"99a88ec4","upgradeAndCall(address,address,bytes)":"9623609d"}}}},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"IUpgradeableBeacon":{"abi":[{"type":"function","name":"upgradeTo","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"upgradeTo(address)\":{\"notice\":\"Upgrades the beacon to a new implementation.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":\"IUpgradeableBeacon\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"upgradeTo(address)":"3659cfe6"}}}},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"IUpgradeableProxy":{"abi":[{"type":"function","name":"upgradeTo","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"upgradeTo(address)\":{\"notice\":\"Upgrades the proxy to a new implementation without calling a function on the new implementation.\"},\"upgradeToAndCall(address,bytes)\":{\"notice\":\"Upgrades the proxy to a new implementation and calls a function on the new implementation. If UPGRADE_INTERFACE_VERSION is \\\"5.0.0\\\", bytes can be empty if no function should be called on the new implementation.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":\"IUpgradeableProxy\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"}}}},"lib/protocol/packages/core/contracts/common/implementation/AncillaryData.sol":{"AncillaryData":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Library for encoding and decoding ancillary data for DVM price requests.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"We assume that on-chain ancillary data can be formatted directly from bytes to utf8 encoding via web3.utils.hexToUtf8, and that clients will parse the utf8-encoded ancillary data as a comma-delimitted key-value dictionary. Therefore, this library provides internal methods that aid appending to ancillary data from Solidity smart contracts. More details on UMA's ancillary data guidelines below: https://docs.google.com/document/d/1zhKKjgY1BupBGPPrY_WOJvui0B6DMcd-xDR8-9-SPDw/edit\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/protocol/packages/core/contracts/common/implementation/AncillaryData.sol\":\"AncillaryData\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/protocol/packages/core/contracts/common/implementation/AncillaryData.sol\":{\"keccak256\":\"0x8ff33ac32d3e6de25de9e0ac2c0ff9a621f187fa97e9ee84092b327471baa3ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0bbaed49756e8cf7ef405e132f441cd7a735ac6186a200b0179147e7d137b74a\",\"dweb:/ipfs/QmeSBJX5a61LZPxbkUKS2NF4LSxemgDwjD65fCAmyP7PX2\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122014a56d8fb14f8f4e1c8785a85c8f3710c81510c0502852fe5f674f085656c35564736f6c634300081e0033","sourceMap":"663:6562:76:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;663:6562:76;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122014a56d8fb14f8f4e1c8785a85c8f3710c81510c0502852fe5f674f085656c35564736f6c634300081e0033","sourceMap":"663:6562:76:-:0;;;;;;;;","linkReferences":{}}}}},"lib/protocol/packages/core/contracts/common/implementation/Lockable.sol":{"Lockable":{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"A contract that provides modifiers to prevent reentrancy to state-changing and view-only methods. This contract is inspired by https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/ReentrancyGuard.sol and https://github.com/balancer-labs/balancer-core/blob/master/contracts/BPool.sol.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/protocol/packages/core/contracts/common/implementation/Lockable.sol\":\"Lockable\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/protocol/packages/core/contracts/common/implementation/Lockable.sol\":{\"keccak256\":\"0x41d78fcce54598ad5f26bc0b778c0f4fedbd836401625e49e736979f69a87ef0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ce111bb50441ef5125e7d42284f6debbc17fd589515d7b8cede7e9d1d5f0ede\",\"dweb:/ipfs/QmaXiXACWVEDDHoCHNXdVBoNpf8QNHkUZ1kf5MfbxfL6jj\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":56837,"contract":"lib/protocol/packages/core/contracts/common/implementation/Lockable.sol:Lockable","label":"_notEntered","offset":0,"slot":"0","type":"t_bool"}],"types":{"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"}}},"evm":{"bytecode":{"object":"6080604052348015600e575f5ffd5b505f805460ff19166001179055603e8060265f395ff3fe60806040525f5ffdfea26469706673582212204855fcc4f8cd54752fd7374c91a2c9db32ee2a7b28b059658db588f337a4077164736f6c634300081e0033","sourceMap":"405:2852:77:-:0;;;460:439;;;;;;;;;-1:-1:-1;874:11:77;:18;;-1:-1:-1;;874:18:77;888:4;874:18;;;405:2852;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60806040525f5ffdfea26469706673582212204855fcc4f8cd54752fd7374c91a2c9db32ee2a7b28b059658db588f337a4077164736f6c634300081e0033","sourceMap":"405:2852:77:-:0;;;;;","linkReferences":{}}}}},"lib/protocol/packages/core/contracts/data-verification-mechanism/implementation/Constants.sol":{"OptimisticOracleConstraints":{"abi":[{"type":"function","name":"ancillaryBytesLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ancillaryBytesLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Commonly re-used values for contracts associated with the OptimisticOracle.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/protocol/packages/core/contracts/data-verification-mechanism/implementation/Constants.sol\":\"OptimisticOracleConstraints\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/protocol/packages/core/contracts/data-verification-mechanism/implementation/Constants.sol\":{\"keccak256\":\"0xe40957105a9240c6bcb9753fd0011fe9f382c437cd6771c57bf7a96f8ceb9c84\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cbf0d25e841b1f5c4022d09fb29220cb428139443cb29c4ab8dbfff71dffcc05\",\"dweb:/ipfs/QmSVVr5wH1tZi6WmKyuy1K8yS6JN4DeK5kWaZpPKtXiqkK\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60866032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106032575f3560e01c8063c371dda7146036575b5f5ffd5b603e61200081565b60405190815260200160405180910390f3fea2646970667358221220d03e958e2a7d8eb0fc6e7eafbb0f3568cc2690502b7d6aa977ebe3d38011cab064736f6c634300081e0033","sourceMap":"1235:531:78:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1235:531:78;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"73000000000000000000000000000000000000000030146080604052600436106032575f3560e01c8063c371dda7146036575b5f5ffd5b603e61200081565b60405190815260200160405180910390f3fea2646970667358221220d03e958e2a7d8eb0fc6e7eafbb0f3568cc2690502b7d6aa977ebe3d38011cab064736f6c634300081e0033","sourceMap":"1235:531:78:-:0;;;;;;;;;;;;;;;;;;;;;;;;1713:50;;1759:4;1713:50;;;;;168:25:102;;;156:2;141:18;1713:50:78;;;;;;","linkReferences":{}},"methodIdentifiers":{"ancillaryBytesLimit()":"c371dda7"}}},"OracleInterfaces":{"abi":[{"type":"function","name":"Bridge","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"ChildMessenger","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"CollateralWhitelist","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FinancialContractsAdmin","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"GenericHandler","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"IdentifierWhitelist","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"OptimisticOracle","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"OptimisticOracleV2","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"OptimisticOracleV3","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"Oracle","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"OracleHub","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"OracleSpoke","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"Registry","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SkinnyOptimisticOracle","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"Store","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Bridge\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ChildMessenger\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CollateralWhitelist\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FinancialContractsAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GenericHandler\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IdentifierWhitelist\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OptimisticOracle\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OptimisticOracleV2\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OptimisticOracleV3\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"Oracle\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OracleHub\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OracleSpoke\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"Registry\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SkinnyOptimisticOracle\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"Store\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Stores common interface names used throughout the DVM by registration in the Finder.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/protocol/packages/core/contracts/data-verification-mechanism/implementation/Constants.sol\":\"OracleInterfaces\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/protocol/packages/core/contracts/data-verification-mechanism/implementation/Constants.sol\":{\"keccak256\":\"0xe40957105a9240c6bcb9753fd0011fe9f382c437cd6771c57bf7a96f8ceb9c84\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cbf0d25e841b1f5c4022d09fb29220cb428139443cb29c4ab8dbfff71dffcc05\",\"dweb:/ipfs/QmSVVr5wH1tZi6WmKyuy1K8yS6JN4DeK5kWaZpPKtXiqkK\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6102b3610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100fb575f3560e01c80634f4a180b1161009e5780637db9743b1161006e5780637db9743b1461022a5780638adca47f1461023c578063f02f8e8314610251578063f24a534e1461026d575f5ffd5b80634f4a180b146101cd578063598dd097146101ea5780635fa2ef10146102075780637608ea2f14610217575f5ffd5b80632a71e5b3116100d95780632a71e5b31461015b57806342e90c33146101825780634596ac9b14610191578063473e7ccd146101b1575f5ffd5b8063079b6c63146100ff5780631a0fbfb3146101295780631a4dbd1c14610141575b5f5ffd5b6101176d23b2b732b934b1a430b7323632b960911b81565b60405190815260200160405180910390f35b6101176d21b434b63226b2b9b9b2b733b2b960911b81565b6101176f4f7074696d69737469634f7261636c6560801b81565b6101177f46696e616e6369616c436f6e74726163747341646d696e00000000000000000081565b6101176453746f726560d81b81565b61011775536b696e6e794f7074696d69737469634f7261636c6560501b81565b6101177127b83a34b6b4b9ba34b1a7b930b1b632ab1960711b81565b610117721259195b9d1a599a595c95da1a5d195b1a5cdd606a1b81565b6101177210dbdb1b185d195c985b15da1a5d195b1a5cdd606a1b81565b6101176542726964676560d01b81565b6101176827b930b1b632a43ab160b91b81565b61011767526567697374727960c01b81565b6101176a4f7261636c6553706f6b6560a81b81565b610117714f7074696d69737469634f7261636c65563360701b81565b610117654f7261636c6560d01b8156fea264697066735822122054655a8ab83a9df0bc4b2a4fc18005c8dca6a7fe3fca1035a0e1cf8a5a6b732e64736f6c634300081e0033","sourceMap":"170:969:78:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;170:969:78;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"73000000000000000000000000000000000000000030146080604052600436106100fb575f3560e01c80634f4a180b1161009e5780637db9743b1161006e5780637db9743b1461022a5780638adca47f1461023c578063f02f8e8314610251578063f24a534e1461026d575f5ffd5b80634f4a180b146101cd578063598dd097146101ea5780635fa2ef10146102075780637608ea2f14610217575f5ffd5b80632a71e5b3116100d95780632a71e5b31461015b57806342e90c33146101825780634596ac9b14610191578063473e7ccd146101b1575f5ffd5b8063079b6c63146100ff5780631a0fbfb3146101295780631a4dbd1c14610141575b5f5ffd5b6101176d23b2b732b934b1a430b7323632b960911b81565b60405190815260200160405180910390f35b6101176d21b434b63226b2b9b9b2b733b2b960911b81565b6101176f4f7074696d69737469634f7261636c6560801b81565b6101177f46696e616e6369616c436f6e74726163747341646d696e00000000000000000081565b6101176453746f726560d81b81565b61011775536b696e6e794f7074696d69737469634f7261636c6560501b81565b6101177127b83a34b6b4b9ba34b1a7b930b1b632ab1960711b81565b610117721259195b9d1a599a595c95da1a5d195b1a5cdd606a1b81565b6101177210dbdb1b185d195c985b15da1a5d195b1a5cdd606a1b81565b6101176542726964676560d01b81565b6101176827b930b1b632a43ab160b91b81565b61011767526567697374727960c01b81565b6101176a4f7261636c6553706f6b6560a81b81565b610117714f7074696d69737469634f7261636c65563360701b81565b610117654f7261636c6560d01b8156fea264697066735822122054655a8ab83a9df0bc4b2a4fc18005c8dca6a7fe3fca1035a0e1cf8a5a6b732e64736f6c634300081e0033","sourceMap":"170:969:78:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;827:57;;-1:-1:-1;;;827:57:78;;;;;168:25:102;;;156:2;141:18;827:57:78;;;;;;;969;;-1:-1:-1;;;969:57:78;;571:61;;-1:-1:-1;;;571:61:78;;366:75;;;;;321:39;;-1:-1:-1;;;321:39:78;;890:73;;-1:-1:-1;;;890:73:78;;638:65;;-1:-1:-1;;;638:65:78;;248:67;;-1:-1:-1;;;248:67:78;;498;;-1:-1:-1;;;498:67:78;;780:41;;-1:-1:-1;;;780:41:78;;1032:47;;-1:-1:-1;;;1032:47:78;;447:45;;-1:-1:-1;;;447:45:78;;1085:51;;-1:-1:-1;;;1085:51:78;;709:65;;-1:-1:-1;;;709:65:78;;201:41;;-1:-1:-1;;;201:41:78;","linkReferences":{}},"methodIdentifiers":{"Bridge()":"5fa2ef10","ChildMessenger()":"1a0fbfb3","CollateralWhitelist()":"598dd097","FinancialContractsAdmin()":"2a71e5b3","GenericHandler()":"079b6c63","IdentifierWhitelist()":"4f4a180b","OptimisticOracle()":"1a4dbd1c","OptimisticOracleV2()":"473e7ccd","OptimisticOracleV3()":"f02f8e83","Oracle()":"f24a534e","OracleHub()":"7608ea2f","OracleSpoke()":"8adca47f","Registry()":"7db9743b","SkinnyOptimisticOracle()":"4596ac9b","Store()":"42e90c33"}}}},"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/FinderInterface.sol":{"FinderInterface":{"abi":[{"type":"function","name":"changeImplementationAddress","inputs":[{"name":"interfaceName","type":"bytes32","internalType":"bytes32"},{"name":"implementationAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getImplementationAddress","inputs":[{"name":"interfaceName","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"interfaceName\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"implementationAddress\",\"type\":\"address\"}],\"name\":\"changeImplementationAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"interfaceName\",\"type\":\"bytes32\"}],\"name\":\"getImplementationAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Examples are the Oracle or Store interfaces.\",\"kind\":\"dev\",\"methods\":{\"changeImplementationAddress(bytes32,address)\":{\"params\":{\"implementationAddress\":\"address of the deployed contract that implements the interface.\",\"interfaceName\":\"bytes32 encoding of the interface name that is either changed or registered.\"}},\"getImplementationAddress(bytes32)\":{\"params\":{\"interfaceName\":\"queried interface.\"},\"returns\":{\"_0\":\"implementationAddress address of the deployed contract that implements the interface.\"}}},\"title\":\"Provides addresses of the live contracts implementing certain interfaces.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"changeImplementationAddress(bytes32,address)\":{\"notice\":\"Updates the address of the contract that implements `interfaceName`.\"},\"getImplementationAddress(bytes32)\":{\"notice\":\"Gets the address of the contract that implements the given `interfaceName`.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/FinderInterface.sol\":\"FinderInterface\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/FinderInterface.sol\":{\"keccak256\":\"0x9166fbfe08e954eb86d33c114fcde7ce4fd0dda5d9d28b31210582bfc769fa86\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e611e12bcaaebfdf65b67c566ff1d34708e757f01a445bd87c55862e89383b81\",\"dweb:/ipfs/QmYNSq5oopTShdS6j4VWKqoLxmQSRKmWebCxw6K4LfmKrf\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"changeImplementationAddress(bytes32,address)":"31f9665e","getImplementationAddress(bytes32)":"aafd5e40"}}}},"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/IdentifierWhitelistInterface.sol":{"IdentifierWhitelistInterface":{"abi":[{"type":"function","name":"addSupportedIdentifier","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isIdentifierSupported","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"removeSupportedIdentifier","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"}],\"name\":\"addSupportedIdentifier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"}],\"name\":\"isIdentifierSupported\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"}],\"name\":\"removeSupportedIdentifier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"addSupportedIdentifier(bytes32)\":{\"details\":\"Price requests using this identifier will succeed after this call.\",\"params\":{\"identifier\":\"bytes32 encoding of the string identifier. Eg: BTC/USD.\"}},\"isIdentifierSupported(bytes32)\":{\"params\":{\"identifier\":\"bytes32 encoding of the string identifier. Eg: BTC/USD.\"},\"returns\":{\"_0\":\"bool if the identifier is supported (or not).\"}},\"removeSupportedIdentifier(bytes32)\":{\"details\":\"Price requests using this identifier will no longer succeed after this call.\",\"params\":{\"identifier\":\"bytes32 encoding of the string identifier. Eg: BTC/USD.\"}}},\"title\":\"Interface for whitelists of supported identifiers that the oracle can provide prices for.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addSupportedIdentifier(bytes32)\":{\"notice\":\"Adds the provided identifier as a supported identifier.\"},\"isIdentifierSupported(bytes32)\":{\"notice\":\"Checks whether an identifier is on the whitelist.\"},\"removeSupportedIdentifier(bytes32)\":{\"notice\":\"Removes the identifier from the whitelist.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/IdentifierWhitelistInterface.sol\":\"IdentifierWhitelistInterface\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/IdentifierWhitelistInterface.sol\":{\"keccak256\":\"0x9ae86a30dd1a8c03fb2c6d27be570bb30c4c0b13ac63cde8620b7e4b51d88dc9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a71d2aff48e075ecab56a9c9767775d1d77e04ec9191fed124e71003220549e3\",\"dweb:/ipfs/QmYPWsZXro6fzqpZY6UxQ5X8znEXfLp2sun8oXzdz8bTyc\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"addSupportedIdentifier(bytes32)":"10a7e201","isIdentifierSupported(bytes32)":"90978d1b","removeSupportedIdentifier(bytes32)":"8e0d3ca7"}}}},"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/OracleAncillaryInterface.sol":{"OracleAncillaryInterface":{"abi":[{"type":"function","name":"getPrice","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"time","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"hasPrice","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"time","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"requestPrice","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"time","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"time\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"time\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"hasPrice\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"time\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"requestPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface used by financial contracts to interact with the Oracle. Voters will use a different interface.\",\"kind\":\"dev\",\"methods\":{\"getPrice(bytes32,uint256,bytes)\":{\"details\":\"If the price is not available, the method reverts.\",\"params\":{\"ancillaryData\":\"arbitrary data appended to a price request to give the voters more info from the caller.\",\"identifier\":\"uniquely identifies the price requested. eg BTC/USD (encoded as bytes32) could be requested.\",\"time\":\"unix timestamp for the price request.\"},\"returns\":{\"_0\":\"int256 representing the resolved price for the given identifier and timestamp.\"}},\"hasPrice(bytes32,uint256,bytes)\":{\"details\":\"Time must be in the past and the identifier must be supported.\",\"params\":{\"ancillaryData\":\"arbitrary data appended to a price request to give the voters more info from the caller.\",\"identifier\":\"uniquely identifies the price requested. eg BTC/USD (encoded as bytes32) could be requested.\",\"time\":\"unix timestamp for the price request.\"},\"returns\":{\"_0\":\"bool if the DVM has resolved to a price for the given identifier and timestamp.\"}},\"requestPrice(bytes32,uint256,bytes)\":{\"details\":\"Time must be in the past and the identifier must be supported.\",\"params\":{\"ancillaryData\":\"arbitrary data appended to a price request to give the voters more info from the caller.\",\"identifier\":\"uniquely identifies the price requested. eg BTC/USD (encoded as bytes32) could be requested.\",\"time\":\"unix timestamp for the price request.\"}}},\"title\":\"Financial contract facing Oracle interface.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getPrice(bytes32,uint256,bytes)\":{\"notice\":\"Gets the price for `identifier` and `time` if it has already been requested and resolved.\"},\"hasPrice(bytes32,uint256,bytes)\":{\"notice\":\"Whether the price for `identifier` and `time` is available.\"},\"requestPrice(bytes32,uint256,bytes)\":{\"notice\":\"Enqueues a request (if a request isn't already present) for the given `identifier`, `time` pair.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/OracleAncillaryInterface.sol\":\"OracleAncillaryInterface\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/OracleAncillaryInterface.sol\":{\"keccak256\":\"0xd58b41fe1e389f7871db7c04f2c05c1aac1d0455bbc521534da81fd657016a1f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cc532e9c550bb1bba0daa33fda748590cd06ce94a9566fe65dac04e7d40977bc\",\"dweb:/ipfs/QmZKvfRW2LJFt5MWZbKuU9ujkXnS2hkPUJVj8wwJWcuZGX\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getPrice(bytes32,uint256,bytes)":"719c6d56","hasPrice(bytes32,uint256,bytes)":"b551cd50","requestPrice(bytes32,uint256,bytes)":"216666a4"}}}},"script/DeployAddressWhitelist.s.sol":{"DeployAddressWhitelist":{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Deployment script for AddressWhitelist\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Deploys the AddressWhitelist contract with configurable ownership Environment variables: - MNEMONIC: Required. The mnemonic phrase for the deployer wallet - WHITELIST_OWNER: Optional. The address to set as owner. If not set, uses deployer address. If set to 0x0000000000000000000000000000000000000000, burns ownership.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"script/DeployAddressWhitelist.s.sol\":\"DeployAddressWhitelist\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0xa3735a6618a3014e42bb4329ad143e3b2c59cd95094350202e4c4a06c9d585dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef9db48d94726ec3d3fa3a84a8d520903705190f7ee7a04a065335a6aeeac4d\",\"dweb:/ipfs/QmSWmNny7TkzyqRPjGdpERAJuBwwznrGPLUqS4DZy5fX5z\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xd3edaf57db178f839d97ccee0009c2b7b20f78c2adca9028a6013acb8d5b4c5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f17329ac1d25d3e6657ca240dee0a3f9b2cf22a64a05b87dac15252dee74351\",\"dweb:/ipfs/QmPHxkEwgVpQNbU52s58RmmegrkYGj8bNKTVSW8rZm3dBm\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x7274081e11c05164fd8eadde4de8305c033e58a43008dea58065f3170ccf0737\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9801614b6c9d3e472982e6cc68f5f1ad03682f84eafb686be65633c7132d138\",\"dweb:/ipfs/QmcQSUcrm2A7XuektnxJjvYGmZtBeA6LKPxCXRqdXBX776\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/utils/Arrays.sol\":{\"keccak256\":\"0xa4b9958797e0e9cde82a090525e90f80d5745ba1c67ee72b488bd3087498a17e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9344f7c2f80322c2e76d9d89bed03fd12f3e011e74fde7cf24ea21bdd2abe2d\",\"dweb:/ipfs/QmPMAjF5x2fHUAee2FKMZDBbFVrbZbPCr3a9KHLZaSn1zY\"]},\"lib/openzeppelin-contracts/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2\",\"dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x1fc283df727585919c3db301b948a3e827aee16917457ad7f916db9da2228e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4f4b5e2cd0ebc3b74e41e4e94771a0417eedd9b11cec3ef9f90b2ac2989264b\",\"dweb:/ipfs/QmZmsEsvsXiwAyAe1YeoLSKezeFcvR1giUeEY6ex4zpsTS\"]},\"lib/protocol/packages/core/contracts/common/implementation/Lockable.sol\":{\"keccak256\":\"0x41d78fcce54598ad5f26bc0b778c0f4fedbd836401625e49e736979f69a87ef0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ce111bb50441ef5125e7d42284f6debbc17fd589515d7b8cede7e9d1d5f0ede\",\"dweb:/ipfs/QmaXiXACWVEDDHoCHNXdVBoNpf8QNHkUZ1kf5MfbxfL6jj\"]},\"script/DeployAddressWhitelist.s.sol\":{\"keccak256\":\"0x931294e236a65e11e1668df16987a42704378b840a3d87f6a53ed3da07b10b21\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://650e20b70e5eb435badeb2eba4749fefcb90b8f6d561b61a55bdac23ecad1623\",\"dweb:/ipfs/QmaimVRJ7uq8yHDNVUND53GfqH7RbTpTrSefSwbWCtFFdg\"]},\"src/common/implementation/AddressWhitelist.sol\":{\"keccak256\":\"0xa3b999d7b717c1bf4bb1b958ef5e26717ad965babe994aa8db3fb301f240c876\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7e1c4c81902a72dcf579e28f922f4910aadf5edaee4b2a4defe60c61dc00fbca\",\"dweb:/ipfs/QmUMZbko39hTe8epg77B8k9XYGmKNxLjnkLdd6x8v2xDyV\"]},\"src/common/interfaces/AddressWhitelistInterface.sol\":{\"keccak256\":\"0x126b2bc590041cf213c274bedc91c06a263ddff5e11a090be80d7db8b1cb0d8f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0f47e32816f895d4a3a060eded9bba7853eff6a6d99c3de5b4d1ca8359ce1c49\",\"dweb:/ipfs/QmVWt7xTr68owupHSUUJNfV2N3n2bTvTWtXCDtu8k3uVBN\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":46,"contract":"script/DeployAddressWhitelist.s.sol:DeployAddressWhitelist","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)8093_storage"},{"astId":2745,"contract":"script/DeployAddressWhitelist.s.sol:DeployAddressWhitelist","label":"stdChainsInitialized","offset":0,"slot":"8","type":"t_bool"},{"astId":2766,"contract":"script/DeployAddressWhitelist.s.sol:DeployAddressWhitelist","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)2761_storage)"},{"astId":2770,"contract":"script/DeployAddressWhitelist.s.sol:DeployAddressWhitelist","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":2774,"contract":"script/DeployAddressWhitelist.s.sol:DeployAddressWhitelist","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":2777,"contract":"script/DeployAddressWhitelist.s.sol:DeployAddressWhitelist","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":3715,"contract":"script/DeployAddressWhitelist.s.sol:DeployAddressWhitelist","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":99,"contract":"script/DeployAddressWhitelist.s.sol:DeployAddressWhitelist","label":"IS_SCRIPT","offset":2,"slot":"12","type":"t_bool"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))"},"t_mapping(t_bytes32,t_struct(FindData)8068_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)8068_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)8068_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)2761_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)2761_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)2761_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":2754,"contract":"script/DeployAddressWhitelist.s.sol:DeployAddressWhitelist","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":2756,"contract":"script/DeployAddressWhitelist.s.sol:DeployAddressWhitelist","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":2758,"contract":"script/DeployAddressWhitelist.s.sol:DeployAddressWhitelist","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":2760,"contract":"script/DeployAddressWhitelist.s.sol:DeployAddressWhitelist","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)8068_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":8061,"contract":"script/DeployAddressWhitelist.s.sol:DeployAddressWhitelist","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":8063,"contract":"script/DeployAddressWhitelist.s.sol:DeployAddressWhitelist","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":8065,"contract":"script/DeployAddressWhitelist.s.sol:DeployAddressWhitelist","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":8067,"contract":"script/DeployAddressWhitelist.s.sol:DeployAddressWhitelist","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(StdStorage)8093_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":8077,"contract":"script/DeployAddressWhitelist.s.sol:DeployAddressWhitelist","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))"},{"astId":8080,"contract":"script/DeployAddressWhitelist.s.sol:DeployAddressWhitelist","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":8082,"contract":"script/DeployAddressWhitelist.s.sol:DeployAddressWhitelist","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":8084,"contract":"script/DeployAddressWhitelist.s.sol:DeployAddressWhitelist","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":8086,"contract":"script/DeployAddressWhitelist.s.sol:DeployAddressWhitelist","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":8088,"contract":"script/DeployAddressWhitelist.s.sol:DeployAddressWhitelist","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":8090,"contract":"script/DeployAddressWhitelist.s.sol:DeployAddressWhitelist","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":8092,"contract":"script/DeployAddressWhitelist.s.sol:DeployAddressWhitelist","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"6080604052600c805462ff00ff191662010001179055348015601f575f5ffd5b5061118d8061002d5f395ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c8063c040622614610038578063f8ccbf4714610042575b5f5ffd5b610040610069565b005b600c546100559062010000900460ff1681565b604051901515815260200160405180910390f35b60405163f877cb1960e01b81526020600482015260086024820152674d4e454d4f4e494360c01b60448201525f90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f877cb19906064015f60405180830381865afa1580156100d0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526100f79190810190610815565b604051636229498b60e01b81529091505f90737109709ecfa91a80626ff3989d68f67f5b1dd12d90636229498b9061013590859085906004016108f6565b602060405180830381865afa158015610150573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610174919061091d565b6040516001625e79b760e01b03198152600481018290529091505f90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156101ca573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ee9190610934565b604080516301587f9560e61b81526004810191909152600f60448201526e2ba424aa22a624a9aa2fa7aba722a960891b60648201526001600160a01b03821660248201529091505f90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063561fe54090608401602060405180830381865afa158015610271573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102959190610934565b60405163ce817d4760e01b815260048101859052909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ce817d47906024015f604051808303815f87803b1580156102e2575f5ffd5b505af11580156102f4573d5f5f3e3d5ffd5b505050505f604051610305906107f4565b604051809103905ff08015801561031e573d5f5f3e3d5ffd5b5090506103606040518060400160405280601d81526020017f4164647265737357686974656c697374206465706c6f7965642061743a00000081525082610701565b6001600160a01b0382166104205761038f6040518060600160405280602481526020016111346024913961074a565b806001600160a01b031663715018a66040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156103c7575f5ffd5b505af11580156103d9573d5f5f3e3d5ffd5b5050505061041b6040518060400160405280602081526020017f4f776e657273686970206275726e656420746f207a65726f206164647265737381525061074a565b61054c565b826001600160a01b0316826001600160a01b03161461050d576104786040518060400160405280601a81526020017f5472616e7366657272696e67206f776e65727368697020746f3a00000000000081525083610701565b60405163f2fde38b60e01b81526001600160a01b03838116600483015282169063f2fde38b906024015f604051808303815f87803b1580156104b8575f5ffd5b505af11580156104ca573d5f5f3e3d5ffd5b5050505061041b6040518060400160405280601981526020017f4f776e657273686970207472616e7366657272656420746f3a0000000000000081525083610701565b61054c6040518060400160405280601a81526020017f4b656570696e67206465706c6f796572206173206f776e65723a00000000000081525084610701565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6001600160a01b03166376eadd366040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610598575f5ffd5b505af11580156105aa573d5f5f3e3d5ffd5b505050506105ec6040518060400160405280601b81526020017f0a3d3d3d204465706c6f796d656e742053756d6d617279203d3d3d000000000081525061074a565b6106176040518060400160405280600981526020016821b7b73a3930b1ba1d60b91b81525082610701565b6106426040518060400160405280600981526020016821b430b4b71024a21d60b91b81525046610790565b61066d604051806040016040528060098152602001682232b83637bcb2b91d60b91b81525084610701565b6106fa6040518060400160405280600c81526020016b2334b730b61027bbb732b91d60a11b815250826001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106d1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f59190610934565b610701565b5050505050565b6107468282604051602401610717929190610961565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b1790526107d1565b5050565b61078d8160405160240161075e919061098a565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b1790526107d1565b50565b61074682826040516024016107a692919061099c565b60408051601f198184030181529190526020810180516001600160e01b0316632d839cb360e21b1790525b61078d815f6a636f6e736f6c652e6c6f6790505f5f835160208501845afa505050565b610776806109be83390190565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610825575f5ffd5b815167ffffffffffffffff81111561083b575f5ffd5b8201601f8101841361084b575f5ffd5b805167ffffffffffffffff81111561086557610865610801565b604051601f8201601f19908116603f0116810167ffffffffffffffff8111828210171561089457610894610801565b6040528181528282016020018610156108ab575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b604081525f61090860408301856108c8565b905063ffffffff831660208301529392505050565b5f6020828403121561092d575f5ffd5b5051919050565b5f60208284031215610944575f5ffd5b81516001600160a01b038116811461095a575f5ffd5b9392505050565b604081525f61097360408301856108c8565b905060018060a01b03831660208301529392505050565b602081525f61095a60208301846108c8565b604081525f6109ae60408301856108c8565b9050826020830152939250505056fe6080604052348015600e575f5ffd5b503380603357604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b603a816051565b505f805460ff60a01b1916600160a01b17905560a0565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6106c9806100ad5f395ff3fe608060405234801561000f575f5ffd5b5060043610610090575f3560e01c80638ab1d681116100635780638ab1d681146100e05780638da5cb5b146100f3578063d01f63f51461010d578063e43252d714610122578063f2fde38b14610135575f5ffd5b806301ffc9a714610094578063184d69ab146100bc5780633a3ab672146100c3578063715018a6146100d6575b5f5ffd5b6100a76100a23660046105b4565b610148565b60405190151581526020015b60405180910390f35b60016100a7565b6100a76100d13660046105db565b61017e565b6100de610192565b005b6100de6100ee3660046105db565b6101a5565b5f546040516001600160a01b0390911681526020016100b3565b610115610229565b6040516100b39190610601565b6100de6101303660046105db565b610242565b6100de6101433660046105db565b6102c2565b5f6001600160e01b03198216634e759c3d60e11b148061017857506301ffc9a760e01b6001600160e01b03198316145b92915050565b5f610187610301565b610178600183610359565b61019a61037d565b6101a35f6103a9565b565b6101ad610301565b6101be5f805460ff60a01b19169055565b6101c661037d565b5f6101d26001836103f8565b9050801561020e576040516001600160a01b038316907fcdd2e9b91a56913d370075169cefa1602ba36be5301664f752192bb1709df757905f90a25b506102265f805460ff60a01b1916600160a01b179055565b50565b6060610233610301565b61023d600161040c565b905090565b61024a610301565b61025b5f805460ff60a01b19169055565b61026361037d565b5f61026f600183610418565b9050801561020e576040516001600160a01b038316907fa850ae9193f515cbae8d35e8925bd2be26627fc91bce650b8652ed254e9cab03905f90a2506102265f805460ff60a01b1916600160a01b179055565b6102ca61037d565b6001600160a01b0381166102f857604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610226816103a9565b5f54600160a01b900460ff166101a35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102ef565b6001600160a01b0381165f90815260018301602052604081205415155b9392505050565b5f546001600160a01b031633146101a35760405163118cdaa760e01b81523360048201526024016102ef565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f610376836001600160a01b03841661042c565b60605f6103768361050f565b5f610376836001600160a01b038416610568565b5f8181526001830160205260408120548015610506575f61044e60018361064c565b85549091505f906104619060019061064c565b90508082146104c0575f865f01828154811061047f5761047f61066b565b905f5260205f200154905080875f01848154811061049f5761049f61066b565b5f918252602080832090910192909255918252600188019052604090208390555b85548690806104d1576104d161067f565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610178565b5f915050610178565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561055c57602002820191905f5260205f20905b815481526020019060010190808311610548575b50505050509050919050565b5f8181526001830160205260408120546105ad57508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610178565b505f610178565b5f602082840312156105c4575f5ffd5b81356001600160e01b031981168114610376575f5ffd5b5f602082840312156105eb575f5ffd5b81356001600160a01b0381168114610376575f5ffd5b602080825282518282018190525f918401906040840190835b818110156106415783516001600160a01b031683526020938401939092019160010161061a565b509095945050505050565b8181038181111561017857634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffdfea264697066735822122017d19cb92913b1d48716ee47b65ab4e02ee922b90d01232dfa3dfd8cb8c5357c64736f6c634300081e00334275726e696e67206f776e65727368697020746f207a65726f20616464726573732e2e2ea2646970667358221220ef7a1bf718a09d163df5e2489470404e0f4d8cf8d5cabe64a7de63c9f9a8ecea64736f6c634300081e0033","sourceMap":"665:2139:82:-:0;;;3126:44:3;;;-1:-1:-1;;849:28:1;;;;;665:2139:82;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561000f575f5ffd5b5060043610610034575f3560e01c8063c040622614610038578063f8ccbf4714610042575b5f5ffd5b610040610069565b005b600c546100559062010000900460ff1681565b604051901515815260200160405180910390f35b60405163f877cb1960e01b81526020600482015260086024820152674d4e454d4f4e494360c01b60448201525f90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f877cb19906064015f60405180830381865afa1580156100d0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526100f79190810190610815565b604051636229498b60e01b81529091505f90737109709ecfa91a80626ff3989d68f67f5b1dd12d90636229498b9061013590859085906004016108f6565b602060405180830381865afa158015610150573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610174919061091d565b6040516001625e79b760e01b03198152600481018290529091505f90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156101ca573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ee9190610934565b604080516301587f9560e61b81526004810191909152600f60448201526e2ba424aa22a624a9aa2fa7aba722a960891b60648201526001600160a01b03821660248201529091505f90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063561fe54090608401602060405180830381865afa158015610271573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102959190610934565b60405163ce817d4760e01b815260048101859052909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ce817d47906024015f604051808303815f87803b1580156102e2575f5ffd5b505af11580156102f4573d5f5f3e3d5ffd5b505050505f604051610305906107f4565b604051809103905ff08015801561031e573d5f5f3e3d5ffd5b5090506103606040518060400160405280601d81526020017f4164647265737357686974656c697374206465706c6f7965642061743a00000081525082610701565b6001600160a01b0382166104205761038f6040518060600160405280602481526020016111346024913961074a565b806001600160a01b031663715018a66040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156103c7575f5ffd5b505af11580156103d9573d5f5f3e3d5ffd5b5050505061041b6040518060400160405280602081526020017f4f776e657273686970206275726e656420746f207a65726f206164647265737381525061074a565b61054c565b826001600160a01b0316826001600160a01b03161461050d576104786040518060400160405280601a81526020017f5472616e7366657272696e67206f776e65727368697020746f3a00000000000081525083610701565b60405163f2fde38b60e01b81526001600160a01b03838116600483015282169063f2fde38b906024015f604051808303815f87803b1580156104b8575f5ffd5b505af11580156104ca573d5f5f3e3d5ffd5b5050505061041b6040518060400160405280601981526020017f4f776e657273686970207472616e7366657272656420746f3a0000000000000081525083610701565b61054c6040518060400160405280601a81526020017f4b656570696e67206465706c6f796572206173206f776e65723a00000000000081525084610701565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6001600160a01b03166376eadd366040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610598575f5ffd5b505af11580156105aa573d5f5f3e3d5ffd5b505050506105ec6040518060400160405280601b81526020017f0a3d3d3d204465706c6f796d656e742053756d6d617279203d3d3d000000000081525061074a565b6106176040518060400160405280600981526020016821b7b73a3930b1ba1d60b91b81525082610701565b6106426040518060400160405280600981526020016821b430b4b71024a21d60b91b81525046610790565b61066d604051806040016040528060098152602001682232b83637bcb2b91d60b91b81525084610701565b6106fa6040518060400160405280600c81526020016b2334b730b61027bbb732b91d60a11b815250826001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106d1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f59190610934565b610701565b5050505050565b6107468282604051602401610717929190610961565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b1790526107d1565b5050565b61078d8160405160240161075e919061098a565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b1790526107d1565b50565b61074682826040516024016107a692919061099c565b60408051601f198184030181529190526020810180516001600160e01b0316632d839cb360e21b1790525b61078d815f6a636f6e736f6c652e6c6f6790505f5f835160208501845afa505050565b610776806109be83390190565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610825575f5ffd5b815167ffffffffffffffff81111561083b575f5ffd5b8201601f8101841361084b575f5ffd5b805167ffffffffffffffff81111561086557610865610801565b604051601f8201601f19908116603f0116810167ffffffffffffffff8111828210171561089457610894610801565b6040528181528282016020018610156108ab575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b604081525f61090860408301856108c8565b905063ffffffff831660208301529392505050565b5f6020828403121561092d575f5ffd5b5051919050565b5f60208284031215610944575f5ffd5b81516001600160a01b038116811461095a575f5ffd5b9392505050565b604081525f61097360408301856108c8565b905060018060a01b03831660208301529392505050565b602081525f61095a60208301846108c8565b604081525f6109ae60408301856108c8565b9050826020830152939250505056fe6080604052348015600e575f5ffd5b503380603357604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b603a816051565b505f805460ff60a01b1916600160a01b17905560a0565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6106c9806100ad5f395ff3fe608060405234801561000f575f5ffd5b5060043610610090575f3560e01c80638ab1d681116100635780638ab1d681146100e05780638da5cb5b146100f3578063d01f63f51461010d578063e43252d714610122578063f2fde38b14610135575f5ffd5b806301ffc9a714610094578063184d69ab146100bc5780633a3ab672146100c3578063715018a6146100d6575b5f5ffd5b6100a76100a23660046105b4565b610148565b60405190151581526020015b60405180910390f35b60016100a7565b6100a76100d13660046105db565b61017e565b6100de610192565b005b6100de6100ee3660046105db565b6101a5565b5f546040516001600160a01b0390911681526020016100b3565b610115610229565b6040516100b39190610601565b6100de6101303660046105db565b610242565b6100de6101433660046105db565b6102c2565b5f6001600160e01b03198216634e759c3d60e11b148061017857506301ffc9a760e01b6001600160e01b03198316145b92915050565b5f610187610301565b610178600183610359565b61019a61037d565b6101a35f6103a9565b565b6101ad610301565b6101be5f805460ff60a01b19169055565b6101c661037d565b5f6101d26001836103f8565b9050801561020e576040516001600160a01b038316907fcdd2e9b91a56913d370075169cefa1602ba36be5301664f752192bb1709df757905f90a25b506102265f805460ff60a01b1916600160a01b179055565b50565b6060610233610301565b61023d600161040c565b905090565b61024a610301565b61025b5f805460ff60a01b19169055565b61026361037d565b5f61026f600183610418565b9050801561020e576040516001600160a01b038316907fa850ae9193f515cbae8d35e8925bd2be26627fc91bce650b8652ed254e9cab03905f90a2506102265f805460ff60a01b1916600160a01b179055565b6102ca61037d565b6001600160a01b0381166102f857604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610226816103a9565b5f54600160a01b900460ff166101a35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102ef565b6001600160a01b0381165f90815260018301602052604081205415155b9392505050565b5f546001600160a01b031633146101a35760405163118cdaa760e01b81523360048201526024016102ef565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f610376836001600160a01b03841661042c565b60605f6103768361050f565b5f610376836001600160a01b038416610568565b5f8181526001830160205260408120548015610506575f61044e60018361064c565b85549091505f906104619060019061064c565b90508082146104c0575f865f01828154811061047f5761047f61066b565b905f5260205f200154905080875f01848154811061049f5761049f61066b565b5f918252602080832090910192909255918252600188019052604090208390555b85548690806104d1576104d161067f565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610178565b5f915050610178565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561055c57602002820191905f5260205f20905b815481526020019060010190808311610548575b50505050509050919050565b5f8181526001830160205260408120546105ad57508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610178565b505f610178565b5f602082840312156105c4575f5ffd5b81356001600160e01b031981168114610376575f5ffd5b5f602082840312156105eb575f5ffd5b81356001600160a01b0381168114610376575f5ffd5b602080825282518282018190525f918401906040840190835b818110156106415783516001600160a01b031683526020938401939092019160010161061a565b509095945050505050565b8181038181111561017857634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffdfea264697066735822122017d19cb92913b1d48716ee47b65ab4e02ee922b90d01232dfa3dfd8cb8c5357c64736f6c634300081e00334275726e696e67206f776e65727368697020746f207a65726f20616464726573732e2e2ea2646970667358221220ef7a1bf718a09d163df5e2489470404e0f4d8cf8d5cabe64a7de63c9f9a8ecea64736f6c634300081e0033","sourceMap":"665:2139:82:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;713:2089;;;:::i;:::-;;849:28:1;;;;;;;;;;;;;;;179:14:102;;172:22;154:41;;142:2;127:18;849:28:1;;;;;;;713:2089:82;972:24;;-1:-1:-1;;;972:24:82;;408:2:102;972:24:82;;;390:21:102;447:1;427:18;;;420:29;-1:-1:-1;;;465:18:102;;;458:38;947:22:82;;336:42:0;;972:12:82;;513:18:102;;972:24:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;972:24:82;;;;;;;;;;;;:::i;:::-;1088:25;;-1:-1:-1;;;1088:25:82;;947:49;;-1:-1:-1;1059:26:82;;336:42:0;;1088:12:82;;:25;;947:49;;1059:26;;1088:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1142:27;;-1:-1:-1;;;;;;1142:27:82;;;;;2563:25:102;;;1059:54:82;;-1:-1:-1;1123:16:82;;336:42:0;;1142:7:82;;2536:18:102;;1142:27:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1280:37;;;-1:-1:-1;;;1280:37:82;;;;;3106:21:102;;;;3163:2;3143:18;;;3136:30;-1:-1:-1;;;3182:18:102;;;3175:45;-1:-1:-1;;;;;3294:32:102;;3272:20;;;3265:62;1123:46:82;;-1:-1:-1;1255:22:82;;336:42:0;;1280:8:82;;3237:19:102;;1280:37:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1400;;-1:-1:-1;;;1400:37:82;;;;;2563:25:102;;;1255:62:82;;-1:-1:-1;336:42:0;;1400:17:82;;2536:18:102;;1400:37:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1516:26;1545:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1516:51;;1578:64;;;;;;;;;;;;;;;;;;1631:9;1578:11;:64::i;:::-;-1:-1:-1;;;;;1691:28:82;;1687:786;;1805:51;;;;;;;;;;;;;;;;;;:11;:51::i;:::-;1870:9;-1:-1:-1;;;;;1870:27:82;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1913:47;;;;;;;;;;;;;;;;;;:11;:47::i;:::-;1687:786;;;1999:8;-1:-1:-1;;;;;1981:26:82;:14;-1:-1:-1;;;;;1981:26:82;;1977:496;;2107:57;;;;;;;;;;;;;;;;;;2149:14;2107:11;:57::i;:::-;2178:43;;-1:-1:-1;;;2178:43:82;;-1:-1:-1;;;;;3502:32:102;;;2178:43:82;;;3484:51:102;2178:27:82;;;;;3457:18:102;;2178:43:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2235:56;;;;;;;;;;;;;;;;;;2276:14;2235:11;:56::i;1977:496::-;2411:51;;;;;;;;;;;;;;;;;;2453:8;2411:11;:51::i;:::-;336:42:0;-1:-1:-1;;;;;2483:16:82;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2549:43;;;;;;;;;;;;;;;;;;:11;:43::i;:::-;2602:44;;;;;;;;;;;;;;-1:-1:-1;;;2602:44:82;;;2635:9;2602:11;:44::i;:::-;2656:39;;;;;;;;;;;;;;-1:-1:-1;;;2656:39:82;;;2681:13;2656:11;:39::i;:::-;2705:34;;;;;;;;;;;;;;-1:-1:-1;;;2705:34:82;;;2730:8;2705:11;:34::i;:::-;2749:46;;;;;;;;;;;;;;-1:-1:-1;;;2749:46:82;;;2777:9;-1:-1:-1;;;;;2777:15:82;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2749:11;:46::i;:::-;737:2065;;;;;713:2089::o;7740:145:16:-;7807:71;7870:2;7874;7823:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7823:54:16;;;;;;;;;;;;;;-1:-1:-1;;;;;7823:54:16;-1:-1:-1;;;7823:54:16;;;7807:15;:71::i;:::-;7740:145;;:::o;6191:121::-;6246:59;6301:2;6262:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6262:42:16;;;;;;;;;;;;;;-1:-1:-1;;;;;6262:42:16;-1:-1:-1;;;6262:42:16;;;6246:15;:59::i;:::-;6191:121;:::o;7139:145::-;7206:71;7269:2;7273;7222:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7222:54:16;;;;;;;;;;;;;;-1:-1:-1;;;;;7222:54:16;-1:-1:-1;;;7222:54:16;;;851:129;922:51;965:7;265:22;131:42;265:40;;594:1;571;541:7;535:14;510:2;501:7;497:16;461:14;434:5;402:211;381:246;367:270;180:463;:::o;-1:-1:-1:-;;;;;;;;:::o;542:127:102:-;603:10;598:3;594:20;591:1;584:31;634:4;631:1;624:15;658:4;655:1;648:15;674:935;754:6;807:2;795:9;786:7;782:23;778:32;775:52;;;823:1;820;813:12;775:52;856:9;850:16;889:18;881:6;878:30;875:50;;;921:1;918;911:12;875:50;944:22;;997:4;989:13;;985:27;-1:-1:-1;975:55:102;;1026:1;1023;1016:12;975:55;1059:2;1053:9;1085:18;1077:6;1074:30;1071:56;;;1107:18;;:::i;:::-;1156:2;1150:9;1248:2;1210:17;;-1:-1:-1;;1206:31:102;;;1239:2;1202:40;1198:54;1186:67;;1283:18;1268:34;;1304:22;;;1265:62;1262:88;;;1330:18;;:::i;:::-;1366:2;1359:22;1390;;;1431:15;;;1448:2;1427:24;1424:37;-1:-1:-1;1421:57:102;;;1474:1;1471;1464:12;1421:57;1523:6;1518:2;1514;1510:11;1505:2;1497:6;1493:15;1487:43;1576:1;1550:19;;;1571:2;1546:28;1539:39;;;;1554:6;674:935;-1:-1:-1;;;;674:935:102:o;1614:289::-;1656:3;1694:5;1688:12;1721:6;1716:3;1709:19;1777:6;1770:4;1763:5;1759:16;1752:4;1747:3;1743:14;1737:47;1829:1;1822:4;1813:6;1808:3;1804:16;1800:27;1793:38;1892:4;1885:2;1881:7;1876:2;1868:6;1864:15;1860:29;1855:3;1851:39;1847:50;1840:57;;;1614:289;;;;:::o;1908:315::-;2092:2;2081:9;2074:21;2055:4;2112:45;2153:2;2142:9;2138:18;2130:6;2112:45;:::i;:::-;2104:53;;2205:10;2197:6;2193:23;2188:2;2177:9;2173:18;2166:51;1908:315;;;;;:::o;2228:184::-;2298:6;2351:2;2339:9;2330:7;2326:23;2322:32;2319:52;;;2367:1;2364;2357:12;2319:52;-1:-1:-1;2390:16:102;;2228:184;-1:-1:-1;2228:184:102:o;2599:290::-;2669:6;2722:2;2710:9;2701:7;2697:23;2693:32;2690:52;;;2738:1;2735;2728:12;2690:52;2764:16;;-1:-1:-1;;;;;2809:31:102;;2799:42;;2789:70;;2855:1;2852;2845:12;2789:70;2878:5;2599:290;-1:-1:-1;;;2599:290:102:o;3546:317::-;3723:2;3712:9;3705:21;3686:4;3743:45;3784:2;3773:9;3769:18;3761:6;3743:45;:::i;:::-;3735:53;;3853:1;3849;3844:3;3840:11;3836:19;3828:6;3824:32;3819:2;3808:9;3804:18;3797:60;3546:317;;;;;:::o;3868:220::-;4017:2;4006:9;3999:21;3980:4;4037:45;4078:2;4067:9;4063:18;4055:6;4037:45;:::i;4093:291::-;4270:2;4259:9;4252:21;4233:4;4290:45;4331:2;4320:9;4316:18;4308:6;4290:45;:::i;:::-;4282:53;;4371:6;4366:2;4355:9;4351:18;4344:34;4093:291;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","run()":"c0406226"}}}},"script/DeployDisabledAddressWhitelist.s.sol":{"DeployDisabledAddressWhitelist":{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Deployment script for DisabledAddressWhitelist\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Deploys the DisabledAddressWhitelist contract with optional configuration Environment variables: - MNEMONIC: Required. The mnemonic phrase for the deployer wallet\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"script/DeployDisabledAddressWhitelist.s.sol\":\"DeployDisabledAddressWhitelist\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0xa3735a6618a3014e42bb4329ad143e3b2c59cd95094350202e4c4a06c9d585dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef9db48d94726ec3d3fa3a84a8d520903705190f7ee7a04a065335a6aeeac4d\",\"dweb:/ipfs/QmSWmNny7TkzyqRPjGdpERAJuBwwznrGPLUqS4DZy5fX5z\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xd3edaf57db178f839d97ccee0009c2b7b20f78c2adca9028a6013acb8d5b4c5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f17329ac1d25d3e6657ca240dee0a3f9b2cf22a64a05b87dac15252dee74351\",\"dweb:/ipfs/QmPHxkEwgVpQNbU52s58RmmegrkYGj8bNKTVSW8rZm3dBm\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x7274081e11c05164fd8eadde4de8305c033e58a43008dea58065f3170ccf0737\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9801614b6c9d3e472982e6cc68f5f1ad03682f84eafb686be65633c7132d138\",\"dweb:/ipfs/QmcQSUcrm2A7XuektnxJjvYGmZtBeA6LKPxCXRqdXBX776\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"script/DeployDisabledAddressWhitelist.s.sol\":{\"keccak256\":\"0xe4cd479cc16cef1be74d4fa19735207cbff7d8d70177ed0a596dfd6f6654d2ec\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a60913393f9bc943f4782a6e0987360b40d396bd41be80383e189e2c010b0600\",\"dweb:/ipfs/QmeB1Bxz4tyQUuvyGNQjcFXc93GEtvPqppaQj3z659BPUQ\"]},\"src/common/implementation/DisabledAddressWhitelist.sol\":{\"keccak256\":\"0x34d42ccd54fb72eef815f5187088ba6dede2f9a7fc202495d4eaec284f415954\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e9a4569e7bb99d3631da6a52696b83e4bc52e09d2bc1cb7e4d93b657103b1879\",\"dweb:/ipfs/QmVBBrXbiXFmH7U2DKWR8rmNCLusxA3feJ9dWRZXczoEof\"]},\"src/common/interfaces/AddressWhitelistInterface.sol\":{\"keccak256\":\"0x126b2bc590041cf213c274bedc91c06a263ddff5e11a090be80d7db8b1cb0d8f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0f47e32816f895d4a3a060eded9bba7853eff6a6d99c3de5b4d1ca8359ce1c49\",\"dweb:/ipfs/QmVWt7xTr68owupHSUUJNfV2N3n2bTvTWtXCDtu8k3uVBN\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":46,"contract":"script/DeployDisabledAddressWhitelist.s.sol:DeployDisabledAddressWhitelist","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)8093_storage"},{"astId":2745,"contract":"script/DeployDisabledAddressWhitelist.s.sol:DeployDisabledAddressWhitelist","label":"stdChainsInitialized","offset":0,"slot":"8","type":"t_bool"},{"astId":2766,"contract":"script/DeployDisabledAddressWhitelist.s.sol:DeployDisabledAddressWhitelist","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)2761_storage)"},{"astId":2770,"contract":"script/DeployDisabledAddressWhitelist.s.sol:DeployDisabledAddressWhitelist","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":2774,"contract":"script/DeployDisabledAddressWhitelist.s.sol:DeployDisabledAddressWhitelist","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":2777,"contract":"script/DeployDisabledAddressWhitelist.s.sol:DeployDisabledAddressWhitelist","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":3715,"contract":"script/DeployDisabledAddressWhitelist.s.sol:DeployDisabledAddressWhitelist","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":99,"contract":"script/DeployDisabledAddressWhitelist.s.sol:DeployDisabledAddressWhitelist","label":"IS_SCRIPT","offset":2,"slot":"12","type":"t_bool"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))"},"t_mapping(t_bytes32,t_struct(FindData)8068_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)8068_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)8068_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)2761_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)2761_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)2761_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":2754,"contract":"script/DeployDisabledAddressWhitelist.s.sol:DeployDisabledAddressWhitelist","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":2756,"contract":"script/DeployDisabledAddressWhitelist.s.sol:DeployDisabledAddressWhitelist","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":2758,"contract":"script/DeployDisabledAddressWhitelist.s.sol:DeployDisabledAddressWhitelist","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":2760,"contract":"script/DeployDisabledAddressWhitelist.s.sol:DeployDisabledAddressWhitelist","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)8068_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":8061,"contract":"script/DeployDisabledAddressWhitelist.s.sol:DeployDisabledAddressWhitelist","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":8063,"contract":"script/DeployDisabledAddressWhitelist.s.sol:DeployDisabledAddressWhitelist","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":8065,"contract":"script/DeployDisabledAddressWhitelist.s.sol:DeployDisabledAddressWhitelist","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":8067,"contract":"script/DeployDisabledAddressWhitelist.s.sol:DeployDisabledAddressWhitelist","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(StdStorage)8093_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":8077,"contract":"script/DeployDisabledAddressWhitelist.s.sol:DeployDisabledAddressWhitelist","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))"},{"astId":8080,"contract":"script/DeployDisabledAddressWhitelist.s.sol:DeployDisabledAddressWhitelist","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":8082,"contract":"script/DeployDisabledAddressWhitelist.s.sol:DeployDisabledAddressWhitelist","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":8084,"contract":"script/DeployDisabledAddressWhitelist.s.sol:DeployDisabledAddressWhitelist","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":8086,"contract":"script/DeployDisabledAddressWhitelist.s.sol:DeployDisabledAddressWhitelist","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":8088,"contract":"script/DeployDisabledAddressWhitelist.s.sol:DeployDisabledAddressWhitelist","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":8090,"contract":"script/DeployDisabledAddressWhitelist.s.sol:DeployDisabledAddressWhitelist","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":8092,"contract":"script/DeployDisabledAddressWhitelist.s.sol:DeployDisabledAddressWhitelist","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"6080604052600c805462ff00ff191662010001179055348015601f575f5ffd5b506109198061002d5f395ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c8063c040622614610038578063f8ccbf4714610042575b5f5ffd5b610040610069565b005b600c546100559062010000900460ff1681565b604051901515815260200160405180910390f35b60405163f877cb1960e01b81526020600482015260086024820152674d4e454d4f4e494360c01b60448201525f90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f877cb19906064015f60405180830381865afa1580156100d0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526100f791908101906104d7565b604051636229498b60e01b81529091505f90737109709ecfa91a80626ff3989d68f67f5b1dd12d90636229498b9061013590859085906004016105b8565b602060405180830381865afa158015610150573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061017491906105df565b6040516001625e79b760e01b03198152600481018290529091505f90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156101ca573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ee91906105f6565b60405163ce817d4760e01b815260048101849052909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ce817d47906024015f604051808303815f87803b15801561023b575f5ffd5b505af115801561024d573d5f5f3e3d5ffd5b505050505f60405161025e906104b6565b604051809103905ff080158015610277573d5f5f3e3d5ffd5b50905061029c6040518060600160405280602581526020016108bf60259139826103c3565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6001600160a01b03166376eadd366040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156102e8575f5ffd5b505af11580156102fa573d5f5f3e3d5ffd5b5050505061033c6040518060400160405280601b81526020017f0a3d3d3d204465706c6f796d656e742053756d6d617279203d3d3d000000000081525061040c565b6103676040518060400160405280600981526020016821b7b73a3930b1ba1d60b91b815250826103c3565b6103926040518060400160405280600981526020016821b430b4b71024a21d60b91b81525046610452565b6103bd604051806040016040528060098152602001682232b83637bcb2b91d60b91b815250836103c3565b50505050565b61040882826040516024016103d9929190610623565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b179052610493565b5050565b61044f81604051602401610420919061064c565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b179052610493565b50565b610408828260405160240161046892919061065e565b60408051601f198184030181529190526020810180516001600160e01b0316632d839cb360e21b1790525b61044f815f6a636f6e736f6c652e6c6f6790505f5f835160208501845afa505050565b61023f8061068083390190565b634e487b7160e01b5f52604160045260245ffd5b5f602082840312156104e7575f5ffd5b815167ffffffffffffffff8111156104fd575f5ffd5b8201601f8101841361050d575f5ffd5b805167ffffffffffffffff811115610527576105276104c3565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715610556576105566104c3565b60405281815282820160200186101561056d575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b604081525f6105ca604083018561058a565b905063ffffffff831660208301529392505050565b5f602082840312156105ef575f5ffd5b5051919050565b5f60208284031215610606575f5ffd5b81516001600160a01b038116811461061c575f5ffd5b9392505050565b604081525f610635604083018561058a565b905060018060a01b03831660208301529392505050565b602081525f61061c602083018461058a565b604081525f610670604083018561058a565b9050826020830152939250505056fe6080604052348015600e575f5ffd5b506102238061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610060575f3560e01c806301ffc9a714610064578063184d69ab1461008c5780633a3ab672146100925780638ab1d681146100a6578063d01f63f5146100bb578063e43252d7146100d3575b5f5ffd5b61007761007236600461014e565b6100e6565b60405190151581526020015b60405180910390f35b5f610077565b6100776100a036600461017c565b50600190565b6100b96100b436600461017c565b61011c565b005b604080515f81526020810191829052610083916101a2565b6100b96100e136600461017c565b610135565b5f6001600160e01b03198216634e759c3d60e11b148061011657506301ffc9a760e01b6001600160e01b03198316145b92915050565b60405163d338e07160e01b815260040160405180910390fd5b604051633d1e966960e01b815260040160405180910390fd5b5f6020828403121561015e575f5ffd5b81356001600160e01b031981168114610175575f5ffd5b9392505050565b5f6020828403121561018c575f5ffd5b81356001600160a01b0381168114610175575f5ffd5b602080825282518282018190525f918401906040840190835b818110156101e25783516001600160a01b03168352602093840193909201916001016101bb565b50909594505050505056fea2646970667358221220667dab0109ff277b9cda81b787fa528383a71dabba7a84e2b1268b068da774b264736f6c634300081e003344697361626c65644164647265737357686974656c697374206465706c6f7965642061743aa26469706673582212204d84333988e6fdd04bc90d647d2f8fb46cfffde80aef579a9f9014027df800ee64736f6c634300081e0033","sourceMap":"508:1100:83:-:0;;;3126:44:3;;;-1:-1:-1;;849:28:1;;;;;508:1100:83;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561000f575f5ffd5b5060043610610034575f3560e01c8063c040622614610038578063f8ccbf4714610042575b5f5ffd5b610040610069565b005b600c546100559062010000900460ff1681565b604051901515815260200160405180910390f35b60405163f877cb1960e01b81526020600482015260086024820152674d4e454d4f4e494360c01b60448201525f90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f877cb19906064015f60405180830381865afa1580156100d0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526100f791908101906104d7565b604051636229498b60e01b81529091505f90737109709ecfa91a80626ff3989d68f67f5b1dd12d90636229498b9061013590859085906004016105b8565b602060405180830381865afa158015610150573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061017491906105df565b6040516001625e79b760e01b03198152600481018290529091505f90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156101ca573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ee91906105f6565b60405163ce817d4760e01b815260048101849052909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ce817d47906024015f604051808303815f87803b15801561023b575f5ffd5b505af115801561024d573d5f5f3e3d5ffd5b505050505f60405161025e906104b6565b604051809103905ff080158015610277573d5f5f3e3d5ffd5b50905061029c6040518060600160405280602581526020016108bf60259139826103c3565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6001600160a01b03166376eadd366040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156102e8575f5ffd5b505af11580156102fa573d5f5f3e3d5ffd5b5050505061033c6040518060400160405280601b81526020017f0a3d3d3d204465706c6f796d656e742053756d6d617279203d3d3d000000000081525061040c565b6103676040518060400160405280600981526020016821b7b73a3930b1ba1d60b91b815250826103c3565b6103926040518060400160405280600981526020016821b430b4b71024a21d60b91b81525046610452565b6103bd604051806040016040528060098152602001682232b83637bcb2b91d60b91b815250836103c3565b50505050565b61040882826040516024016103d9929190610623565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b179052610493565b5050565b61044f81604051602401610420919061064c565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b179052610493565b50565b610408828260405160240161046892919061065e565b60408051601f198184030181529190526020810180516001600160e01b0316632d839cb360e21b1790525b61044f815f6a636f6e736f6c652e6c6f6790505f5f835160208501845afa505050565b61023f8061068083390190565b634e487b7160e01b5f52604160045260245ffd5b5f602082840312156104e7575f5ffd5b815167ffffffffffffffff8111156104fd575f5ffd5b8201601f8101841361050d575f5ffd5b805167ffffffffffffffff811115610527576105276104c3565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715610556576105566104c3565b60405281815282820160200186101561056d575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b604081525f6105ca604083018561058a565b905063ffffffff831660208301529392505050565b5f602082840312156105ef575f5ffd5b5051919050565b5f60208284031215610606575f5ffd5b81516001600160a01b038116811461061c575f5ffd5b9392505050565b604081525f610635604083018561058a565b905060018060a01b03831660208301529392505050565b602081525f61061c602083018461058a565b604081525f610670604083018561058a565b9050826020830152939250505056fe6080604052348015600e575f5ffd5b506102238061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610060575f3560e01c806301ffc9a714610064578063184d69ab1461008c5780633a3ab672146100925780638ab1d681146100a6578063d01f63f5146100bb578063e43252d7146100d3575b5f5ffd5b61007761007236600461014e565b6100e6565b60405190151581526020015b60405180910390f35b5f610077565b6100776100a036600461017c565b50600190565b6100b96100b436600461017c565b61011c565b005b604080515f81526020810191829052610083916101a2565b6100b96100e136600461017c565b610135565b5f6001600160e01b03198216634e759c3d60e11b148061011657506301ffc9a760e01b6001600160e01b03198316145b92915050565b60405163d338e07160e01b815260040160405180910390fd5b604051633d1e966960e01b815260040160405180910390fd5b5f6020828403121561015e575f5ffd5b81356001600160e01b031981168114610175575f5ffd5b9392505050565b5f6020828403121561018c575f5ffd5b81356001600160a01b0381168114610175575f5ffd5b602080825282518282018190525f918401906040840190835b818110156101e25783516001600160a01b03168352602093840193909201916001016101bb565b50909594505050505056fea2646970667358221220667dab0109ff277b9cda81b787fa528383a71dabba7a84e2b1268b068da774b264736f6c634300081e003344697361626c65644164647265737357686974656c697374206465706c6f7965642061743aa26469706673582212204d84333988e6fdd04bc90d647d2f8fb46cfffde80aef579a9f9014027df800ee64736f6c634300081e0033","sourceMap":"508:1100:83:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;564:1042;;;:::i;:::-;;849:28:1;;;;;;;;;;;;;;;179:14:102;;172:22;154:41;;142:2;127:18;849:28:1;;;;;;;564:1042:83;823:24;;-1:-1:-1;;;823:24:83;;408:2:102;823:24:83;;;390:21:102;447:1;427:18;;;420:29;-1:-1:-1;;;465:18:102;;;458:38;798:22:83;;336:42:0;;823:12:83;;513:18:102;;823:24:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;823:24:83;;;;;;;;;;;;:::i;:::-;939:25;;-1:-1:-1;;;939:25:83;;798:49;;-1:-1:-1;910:26:83;;336:42:0;;939:12:83;;:25;;798:49;;910:26;;939:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;993:27;;-1:-1:-1;;;;;;993:27:83;;;;;2563:25:102;;;910:54:83;;-1:-1:-1;974:16:83;;336:42:0;;993:7:83;;2536:18:102;;993:27:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1103:37;;-1:-1:-1;;;1103:37:83;;;;;2563:25:102;;;974:46:83;;-1:-1:-1;336:42:0;;1103:17:83;;2536:18:102;;1103:37:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1182:34;1219:30;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1182:67;;1260:72;;;;;;;;;;;;;;;;;;1321:9;1260:11;:72::i;:::-;336:42:0;-1:-1:-1;;;;;1343:16:83;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1409:43;;;;;;;;;;;;;;;;;;:11;:43::i;:::-;1462:44;;;;;;;;;;;;;;-1:-1:-1;;;1462:44:83;;;1495:9;1462:11;:44::i;:::-;1516:39;;;;;;;;;;;;;;-1:-1:-1;;;1516:39:83;;;1541:13;1516:11;:39::i;:::-;1565:34;;;;;;;;;;;;;;-1:-1:-1;;;1565:34:83;;;1590:8;1565:11;:34::i;:::-;588:1018;;;;564:1042::o;7740:145:16:-;7807:71;7870:2;7874;7823:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7823:54:16;;;;;;;;;;;;;;-1:-1:-1;;;;;7823:54:16;-1:-1:-1;;;7823:54:16;;;7807:15;:71::i;:::-;7740:145;;:::o;6191:121::-;6246:59;6301:2;6262:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6262:42:16;;;;;;;;;;;;;;-1:-1:-1;;;;;6262:42:16;-1:-1:-1;;;6262:42:16;;;6246:15;:59::i;:::-;6191:121;:::o;7139:145::-;7206:71;7269:2;7273;7222:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7222:54:16;;;;;;;;;;;;;;-1:-1:-1;;;;;7222:54:16;-1:-1:-1;;;7222:54:16;;;851:129;922:51;965:7;265:22;131:42;265:40;;594:1;571;541:7;535:14;510:2;501:7;497:16;461:14;434:5;402:211;381:246;367:270;180:463;:::o;-1:-1:-1:-;;;;;;;;:::o;542:127:102:-;603:10;598:3;594:20;591:1;584:31;634:4;631:1;624:15;658:4;655:1;648:15;674:935;754:6;807:2;795:9;786:7;782:23;778:32;775:52;;;823:1;820;813:12;775:52;856:9;850:16;889:18;881:6;878:30;875:50;;;921:1;918;911:12;875:50;944:22;;997:4;989:13;;985:27;-1:-1:-1;975:55:102;;1026:1;1023;1016:12;975:55;1059:2;1053:9;1085:18;1077:6;1074:30;1071:56;;;1107:18;;:::i;:::-;1156:2;1150:9;1248:2;1210:17;;-1:-1:-1;;1206:31:102;;;1239:2;1202:40;1198:54;1186:67;;1283:18;1268:34;;1304:22;;;1265:62;1262:88;;;1330:18;;:::i;:::-;1366:2;1359:22;1390;;;1431:15;;;1448:2;1427:24;1424:37;-1:-1:-1;1421:57:102;;;1474:1;1471;1464:12;1421:57;1523:6;1518:2;1514;1510:11;1505:2;1497:6;1493:15;1487:43;1576:1;1550:19;;;1571:2;1546:28;1539:39;;;;1554:6;674:935;-1:-1:-1;;;;674:935:102:o;1614:289::-;1656:3;1694:5;1688:12;1721:6;1716:3;1709:19;1777:6;1770:4;1763:5;1759:16;1752:4;1747:3;1743:14;1737:47;1829:1;1822:4;1813:6;1808:3;1804:16;1800:27;1793:38;1892:4;1885:2;1881:7;1876:2;1868:6;1864:15;1860:29;1855:3;1851:39;1847:50;1840:57;;;1614:289;;;;:::o;1908:315::-;2092:2;2081:9;2074:21;2055:4;2112:45;2153:2;2142:9;2138:18;2130:6;2112:45;:::i;:::-;2104:53;;2205:10;2197:6;2193:23;2188:2;2177:9;2173:18;2166:51;1908:315;;;;;:::o;2228:184::-;2298:6;2351:2;2339:9;2330:7;2326:23;2322:32;2319:52;;;2367:1;2364;2357:12;2319:52;-1:-1:-1;2390:16:102;;2228:184;-1:-1:-1;2228:184:102:o;2599:290::-;2669:6;2722:2;2710:9;2701:7;2697:23;2693:32;2690:52;;;2738:1;2735;2728:12;2690:52;2764:16;;-1:-1:-1;;;;;2809:31:102;;2799:42;;2789:70;;2855:1;2852;2845:12;2789:70;2878:5;2599:290;-1:-1:-1;;;2599:290:102:o;2894:317::-;3071:2;3060:9;3053:21;3034:4;3091:45;3132:2;3121:9;3117:18;3109:6;3091:45;:::i;:::-;3083:53;;3201:1;3197;3192:3;3188:11;3184:19;3176:6;3172:32;3167:2;3156:9;3152:18;3145:60;2894:317;;;;;:::o;3216:220::-;3365:2;3354:9;3347:21;3328:4;3385:45;3426:2;3415:9;3411:18;3403:6;3385:45;:::i;3441:291::-;3618:2;3607:9;3600:21;3581:4;3638:45;3679:2;3668:9;3664:18;3656:6;3638:45;:::i;:::-;3630:53;;3719:6;3714:2;3703:9;3699:18;3692:34;3441:291;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","run()":"c0406226"}}}},"script/DeployManagedOptimisticOracleV2.s.sol":{"DeployManagedOptimisticOracleV2":{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Deployment script for ManagedOptimisticOracleV2\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Deploys the ManagedOptimisticOracleV2 contract with proxy using OZ Upgrades Environment variables: - MNEMONIC: Required. The mnemonic phrase for the deployer wallet - FINDER_ADDRESS: Optional. Address of the Finder contract. If not provided, will use network-specific defaults: - Sepolia (11155111): 0xf4C48eDAd256326086AEfbd1A53e1896815F8f13 - Amoy (80002): 0x28077B47Cd03326De7838926A63699849DD4fa87 - Ethereum Mainnet (1): 0x40f941E48A552bF496B154Af6bf55725f18D77c3 - Polygon Mainnet (137): 0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64 - DEFAULT_PROPOSER_WHITELIST: Required. Address of the default proposer whitelist - REQUESTER_WHITELIST: Required. Address of the requester whitelist - CONFIG_ADMIN: Optional. Address of the config admin (defaults to deployer if not provided) - UPGRADE_ADMIN: Optional. Address of the upgrade admin (defaults to deployer if not provided) - DEFAULT_LIVENESS: Optional. Default liveness period in seconds (defaults to 7200 if not provided) - MINIMUM_LIVENESS: Optional. Minimum liveness period in seconds (defaults to 3600 if not provided) - CUSTOM_CURRENCY: Optional. Address of a custom currency bond range to initialize - MINIMUM_BOND_AMOUNT: Optional. Minimum bond amount for the custom currency - MAXIMUM_BOND_AMOUNT: Optional. Maximum bond amount for the custom currency\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"script/DeployManagedOptimisticOracleV2.s.sol\":\"DeployManagedOptimisticOracleV2\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0xa3735a6618a3014e42bb4329ad143e3b2c59cd95094350202e4c4a06c9d585dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef9db48d94726ec3d3fa3a84a8d520903705190f7ee7a04a065335a6aeeac4d\",\"dweb:/ipfs/QmSWmNny7TkzyqRPjGdpERAJuBwwznrGPLUqS4DZy5fX5z\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xd3edaf57db178f839d97ccee0009c2b7b20f78c2adca9028a6013acb8d5b4c5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f17329ac1d25d3e6657ca240dee0a3f9b2cf22a64a05b87dac15252dee74351\",\"dweb:/ipfs/QmPHxkEwgVpQNbU52s58RmmegrkYGj8bNKTVSW8rZm3dBm\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x7274081e11c05164fd8eadde4de8305c033e58a43008dea58065f3170ccf0737\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9801614b6c9d3e472982e6cc68f5f1ad03682f84eafb686be65633c7132d138\",\"dweb:/ipfs/QmcQSUcrm2A7XuektnxJjvYGmZtBeA6LKPxCXRqdXBX776\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x85a70e2b1b65e9ba456add364d22b97eb9944083df1c39c0b4bd6a4b5aa386a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d32a33be6ca4d8e89b9e82e3f9cec7a6c4e040534152313ff55da85b8f193059\",\"dweb:/ipfs/QmeR55L8t2A8xZ1nvT5y4yVWfFbbmpaGAtGBMz3GGNpuyP\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol\":{\"keccak256\":\"0x2922ed589f7063a685dffc9297f8b669c1e86f2fde9078c08d8bff079cf636a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0bd42676681a1c4563f61a767bfbc50ef207544a3d6eee9aa66830cc15ccb679\",\"dweb:/ipfs/QmRMCKEXNWJq1EdCjNQtTXf9tuppnyGtaiBCiNk3TYVcK1\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x6694b63ddb2c59bbe341c846171798350e8f72fa02189fcdeaca864e28b54e1f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d945d33e2189ac4e531e4ed228f59ca957b3898c4f9051f4b8c7ae44d72b23a\",\"dweb:/ipfs/QmRcEwubTe3xyXxthijs5fVzEgUFSxeddjd5PGfhBnkunX\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xbff9f59c84e5337689161ce7641c0ef8e872d6a7536fbc1f5133f128887aba3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b308f882e796f7b79c9502deacb0a62983035c6f6f4e962b319ba6a1f4a77d3d\",\"dweb:/ipfs/QmaWCW7ahEQqFjwhSUhV7Ae7WhfNvzSpE7DQ58hvEooqPL\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol\":{\"keccak256\":\"0x956d6404c7b61b920a9ccbc9918f94a2bd3004de3dd13310995eda5bc17f1ead\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c12dc67a285548d455683db60f1ed845c03ac3c27f8f24f905defd3c54601406\",\"dweb:/ipfs/QmXDaxKsnq6RxH44VPSqxjLyygdXn3GR1o6W9pr2iXzjZq\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol\":{\"keccak256\":\"0x21529ba6918f994ec44fb97cef2b717d730268e911a4e626f3e425a4394f7bae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10949be539eb61e5ea8996cc93f21be61949c16a1b717adc2b3f8f099c1e1feb\",\"dweb:/ipfs/QmagATozhFXBUVTLaiHWyqVPgew9N1x18V6hBF46AZPeLw\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa3066ff86b94128a9d3956a63a0511fa1aae41bd455772ab587b32ff322acb2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf7b192fd82acf6187970c80548f624b1b9c80425b62fa49e7fdb538a52de049\",\"dweb:/ipfs/QmWXG1YCde1tqDYTbNwjkZDWVgPEjzaQGSDqWkyKLzaNua\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol\":{\"keccak256\":\"0xef92aebf99249a8ac1d682b9a0f04b6f2af2a8f631cb126625bab15bafcefda8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a0709f54f682b4d22d3108e5951019145cd0b4abda4517638410d231f37d960\",\"dweb:/ipfs/QmdR3oRXqheNuBVRW1cMqDCffBsV1DtuvRHuaDph4ZTku2\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol\":{\"keccak256\":\"0x5920bac7215d12961e23b207f6e81a1d64aa4935a4469abe95b64a96a3c3007b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b34bb828c45c3a4ebf6c2c585971abf5089e61357a3818a2900c7e85b74a1299\",\"dweb:/ipfs/QmewGAzKsPXYfSjCKxuH1SekKxtdyzhdbdyxjF5gohLigt\"]},\"lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol\":{\"keccak256\":\"0x46f86003755f50eff00a7c5aaf493ae62e024142b8aec4493a313851d3c14872\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://462c770cb667cc75ab22df5a29c50873b24b267274edf87ac5cfe0112bf4c3f7\",\"dweb:/ipfs/QmTfKk32AkQ2yyYZCYJ44V69EM5t9ryBFC6bRF7FVMHXvj\"]},\"lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":{\"keccak256\":\"0x92579f452fe663595a898cbac85d80bb3868a6c9f034f19ba7fbebdfa3b65a4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d07a888cd4a26c7077a30dd99e9ac30fbe2752bfb37e58c65f06a3b192079ef3\",\"dweb:/ipfs/QmZCQY4FC4ynBv9dha4BBWM1vYxTUJPBdFBS4HEFe6XzVB\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508\",\"dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"lib/openzeppelin-contracts/contracts/utils/Arrays.sol\":{\"keccak256\":\"0xa4b9958797e0e9cde82a090525e90f80d5745ba1c67ee72b488bd3087498a17e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9344f7c2f80322c2e76d9d89bed03fd12f3e011e74fde7cf24ea21bdd2abe2d\",\"dweb:/ipfs/QmPMAjF5x2fHUAee2FKMZDBbFVrbZbPCr3a9KHLZaSn1zY\"]},\"lib/openzeppelin-contracts/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2\",\"dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0xad148d59f05165f9217d0a9e1ac8f772abb02ea6aaad8a756315c532bf79f9f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e3599867c2182f5831e9268b274b2ef2047825837df6b4d81c9e89254b093e\",\"dweb:/ipfs/QmZbL7XAYr5RmaNaooPgZRmcDXaudfsYQfYD9y5iAECvpS\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x27c3c648062924bd44cd6f38541c78e6de145dd49515ee62321e42fc1b72e5c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cce2ebc0392b5a96f5c7bbaaf5c3d23c0e7190e64cfa05a49978badc1496141\",\"dweb:/ipfs/QmYQC1U12igR1osVyjRHaHiiTgYYuPjncAxwmjbZ452dCL\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x1fc283df727585919c3db301b948a3e827aee16917457ad7f916db9da2228e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4f4b5e2cd0ebc3b74e41e4e94771a0417eedd9b11cec3ef9f90b2ac2989264b\",\"dweb:/ipfs/QmZmsEsvsXiwAyAe1YeoLSKezeFcvR1giUeEY6ex4zpsTS\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xd62ea6bdc1d148c473846b5bd943144a4e492cb93496fc54645258fdc2e261f7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58d96f48c6cde51bb137e851c2a481cb7f0003accfd17594c4ba0586be3c3bb\",\"dweb:/ipfs/QmdioTToxjZy2buydukEPdGrDqBEtLqtokRkN5ghgzm19V\"]},\"lib/openzeppelin-foundry-upgrades/src/Upgrades.sol\":{\"keccak256\":\"0x822dc23091a6ef7c1207bdc65eba8716b635392cd061e56b99d042216686d6e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c376817ffdc56d89bdb10c4b42e56b4c4c294686f914fb65cc3e96c108f660c0\",\"dweb:/ipfs/QmXHy6WYztETzHKGjzLpDmvgFkzxsv1hEbMkEbwNyWn47o\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x1f671c2d16c7e66ef014d284bed46aa0fbf36d99d788e8874a8bc64f2e1f75e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991fcba03f07c28f7c04b8a85f4acbb9ffcf0f7f7e1b3e4c2eb6fc0585c2a3d1\",\"dweb:/ipfs/QmXBAMjyCnEqdYQw7vSKfQSUZK8C1aRgGXu46AiGeeut6B\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x5df88a72cb2f2e22f609636474a828595fc284e9745a7569ec73cd3c13f54ff5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec83f6823ed33ed0da807034e5556d5a84abdbb8c989fec141900d73970d05d9\",\"dweb:/ipfs/QmVb7Rfoaqn8gzKJNrSRJGVU2qSNuvMc7FJrb4j928upCK\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/StringFinder.sol\":{\"keccak256\":\"0x423f79ce68a98fd38d2654a47fd373f58036fbef129dd1a189d0534e67c38c50\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5fec9580ff736edf6bac3f2b03f9a6c2036ba5e71bf2210491e614be8795dfd\",\"dweb:/ipfs/QmavYcUmMnf9czYo2cLxR4VLyiwtaA68yvf2g3pyoE9a4A\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x96c6430958a3c74dc93b470f3656352412691e1a8c53e7225ca8b8c32ab3e77b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b1ce52f58c935c8cc930edeb13cdf6cf8d0bc2d5e58ff5f5d555383d97eda9d\",\"dweb:/ipfs/QmSWXzxtUijtQPxEQhuFw9JA5XiMWQshmYd39ZboqWRbHr\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0x50d28b08e922e5313831d5a45aca27d5dd429c3f891e26c89d16b088bca8372d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://208be31cc96d534f64e5293872d99cc68932df6505ea3b6b0e8f7b19cd1cd0c4\",\"dweb:/ipfs/QmbyznRaPjcZXSJ7w6ms1zrQcdtofWEPs7HSkVvFX6tQ1L\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"lib/protocol/packages/core/contracts/common/implementation/AncillaryData.sol\":{\"keccak256\":\"0x8ff33ac32d3e6de25de9e0ac2c0ff9a621f187fa97e9ee84092b327471baa3ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0bbaed49756e8cf7ef405e132f441cd7a735ac6186a200b0179147e7d137b74a\",\"dweb:/ipfs/QmeSBJX5a61LZPxbkUKS2NF4LSxemgDwjD65fCAmyP7PX2\"]},\"lib/protocol/packages/core/contracts/common/implementation/Lockable.sol\":{\"keccak256\":\"0x41d78fcce54598ad5f26bc0b778c0f4fedbd836401625e49e736979f69a87ef0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ce111bb50441ef5125e7d42284f6debbc17fd589515d7b8cede7e9d1d5f0ede\",\"dweb:/ipfs/QmaXiXACWVEDDHoCHNXdVBoNpf8QNHkUZ1kf5MfbxfL6jj\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/implementation/Constants.sol\":{\"keccak256\":\"0xe40957105a9240c6bcb9753fd0011fe9f382c437cd6771c57bf7a96f8ceb9c84\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cbf0d25e841b1f5c4022d09fb29220cb428139443cb29c4ab8dbfff71dffcc05\",\"dweb:/ipfs/QmSVVr5wH1tZi6WmKyuy1K8yS6JN4DeK5kWaZpPKtXiqkK\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/FinderInterface.sol\":{\"keccak256\":\"0x9166fbfe08e954eb86d33c114fcde7ce4fd0dda5d9d28b31210582bfc769fa86\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e611e12bcaaebfdf65b67c566ff1d34708e757f01a445bd87c55862e89383b81\",\"dweb:/ipfs/QmYNSq5oopTShdS6j4VWKqoLxmQSRKmWebCxw6K4LfmKrf\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/IdentifierWhitelistInterface.sol\":{\"keccak256\":\"0x9ae86a30dd1a8c03fb2c6d27be570bb30c4c0b13ac63cde8620b7e4b51d88dc9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a71d2aff48e075ecab56a9c9767775d1d77e04ec9191fed124e71003220549e3\",\"dweb:/ipfs/QmYPWsZXro6fzqpZY6UxQ5X8znEXfLp2sun8oXzdz8bTyc\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/OracleAncillaryInterface.sol\":{\"keccak256\":\"0xd58b41fe1e389f7871db7c04f2c05c1aac1d0455bbc521534da81fd657016a1f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cc532e9c550bb1bba0daa33fda748590cd06ce94a9566fe65dac04e7d40977bc\",\"dweb:/ipfs/QmZKvfRW2LJFt5MWZbKuU9ujkXnS2hkPUJVj8wwJWcuZGX\"]},\"script/DeployManagedOptimisticOracleV2.s.sol\":{\"keccak256\":\"0xa82c2ce421831ec5dd0a44fd32a3a97f61290bb70efddcda3a9e1b3c972f63f6\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://53b29ffb9e868e8892a2135050d8d8cd176e8f87da2f64b92e1152e738f97247\",\"dweb:/ipfs/QmQyaybS5zSJwrLh2uwY7WCxQAs6icSSw72QGraJTuBeDT\"]},\"src/common/implementation/AddressLegacy.sol\":{\"keccak256\":\"0x441f6c1a04ebb7ad44e54e1b9e3a6ca9f2468358842f93ec73e392f928daf85f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2cba7f3e831503913b6a147eec2f5fc6a2c5cdf1df11ae65582a42c5680ecd\",\"dweb:/ipfs/QmdBEXFnViR66ibJeyjKNh2xJoY8v1y3u3u1D9UXdPawFA\"]},\"src/common/implementation/AddressWhitelist.sol\":{\"keccak256\":\"0xa3b999d7b717c1bf4bb1b958ef5e26717ad965babe994aa8db3fb301f240c876\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7e1c4c81902a72dcf579e28f922f4910aadf5edaee4b2a4defe60c61dc00fbca\",\"dweb:/ipfs/QmUMZbko39hTe8epg77B8k9XYGmKNxLjnkLdd6x8v2xDyV\"]},\"src/common/implementation/LockableUpgradeable.sol\":{\"keccak256\":\"0x1a10eec9d7f12b051d343c65016a9c60a4bece53da4da2eceb8a8dc007b336e2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://9b8c203e136583fa946e4ae0e7bc9774837f865f8b319daa97c84ceb8a16c95b\",\"dweb:/ipfs/QmPJPPL27TB8qt66ZHquDCYtuubcTStRqxn4nxQnehMdA2\"]},\"src/common/implementation/MultiCaller.sol\":{\"keccak256\":\"0x1cef2a13b361679c2ef5d0d97fcbb0ae0cf4858b97a6dd8ab68e3974ea5ffe4a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ad81f2964ce1b40a8ee56a56612d6b773f260e5a3381dc50cd85ba1f9f6af46f\",\"dweb:/ipfs/QmU3Pbxq8rMhGKqNiBa6vWqtiHw9RzdZ4zbTayhgGdyAnz\"]},\"src/common/interfaces/AddressWhitelistInterface.sol\":{\"keccak256\":\"0x126b2bc590041cf213c274bedc91c06a263ddff5e11a090be80d7db8b1cb0d8f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0f47e32816f895d4a3a060eded9bba7853eff6a6d99c3de5b4d1ca8359ce1c49\",\"dweb:/ipfs/QmVWt7xTr68owupHSUUJNfV2N3n2bTvTWtXCDtu8k3uVBN\"]},\"src/common/interfaces/FixedPointInterface.sol\":{\"keccak256\":\"0xceca09e6aa78c97698fa0b1f40657f6c3c723d5d94150ef6476affb9671df753\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d5d1b01017749d96befb5c2e8a8c6d9dd041f57e1d9a66238c296cc28512d2e5\",\"dweb:/ipfs/QmVPiky59JTngjwZNdxbmD7H1Lwa5AgTjzv975wSnavFFy\"]},\"src/data-verification-mechanism/interfaces/StoreInterface.sol\":{\"keccak256\":\"0x1905509e908c6a9b8b3a89449d2d86fd7192d0e588cbe542edd21351d9971ee5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://346e602f41469943453fbe039bf7554b23e1eba3128ff3858d32b35ebcc2ae88\",\"dweb:/ipfs/QmcjZ73TwMjondBDKEHyZ9KUjZzcxsy6Dmqs8QxPK3KBde\"]},\"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol\":{\"keccak256\":\"0xc9d7a66b24fdae13296742642c015e563ee14c2b14aa5d2e27feb9dcd9251420\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47f9fb2885988c20219b93679f3f840b24f7abafa98ed3c09e8a072bc002b6f8\",\"dweb:/ipfs/QmZGW9Jmbsm5ddbsCcVxBeLqV5vvtiXAunjhTg8KYJwLzj\"]},\"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol\":{\"keccak256\":\"0xa0552c2797adccd632c07e77795cf258ff13e2cc435a14a7c530ea0f8acb49c2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ce250692f3db536caf05b193754741f62682c6bcac542780b1acc4b2fbf8bb25\",\"dweb:/ipfs/QmSQTPq4goBfGYfxV2V5B78y4PADfvjJsbPrKedoQxuS2h\"]},\"src/optimistic-oracle-v2/interfaces/ManagedOptimisticOracleV2Interface.sol\":{\"keccak256\":\"0xc852903a36f8ef8224be0f3769df0bbda8ae51a30e307546f16397af2fa26de1\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7e1cc2d1655db300d72b8005d2387efde447c71a723efa46db823cff376aff3e\",\"dweb:/ipfs/QmUDwx2TjTkf6JjFTJ3kRDoWdtUaUTdk35PJSDhJni9mFo\"]},\"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol\":{\"keccak256\":\"0x33a251fab5e475a286832db9bc3aabf7f597497f07e06c2da8779d4f486336d1\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e8789e875af4c98c16a085279a5dd545fe2fe32716e66c41343ea0edaf8fad9f\",\"dweb:/ipfs/QmQTzL8h24WkcfchRfSRrCysAfSprVCF2RNc4AMQTchTyZ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":46,"contract":"script/DeployManagedOptimisticOracleV2.s.sol:DeployManagedOptimisticOracleV2","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)8093_storage"},{"astId":2745,"contract":"script/DeployManagedOptimisticOracleV2.s.sol:DeployManagedOptimisticOracleV2","label":"stdChainsInitialized","offset":0,"slot":"8","type":"t_bool"},{"astId":2766,"contract":"script/DeployManagedOptimisticOracleV2.s.sol:DeployManagedOptimisticOracleV2","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)2761_storage)"},{"astId":2770,"contract":"script/DeployManagedOptimisticOracleV2.s.sol:DeployManagedOptimisticOracleV2","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":2774,"contract":"script/DeployManagedOptimisticOracleV2.s.sol:DeployManagedOptimisticOracleV2","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":2777,"contract":"script/DeployManagedOptimisticOracleV2.s.sol:DeployManagedOptimisticOracleV2","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":3715,"contract":"script/DeployManagedOptimisticOracleV2.s.sol:DeployManagedOptimisticOracleV2","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":99,"contract":"script/DeployManagedOptimisticOracleV2.s.sol:DeployManagedOptimisticOracleV2","label":"IS_SCRIPT","offset":2,"slot":"12","type":"t_bool"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))"},"t_mapping(t_bytes32,t_struct(FindData)8068_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)8068_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)8068_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)2761_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)2761_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)2761_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":2754,"contract":"script/DeployManagedOptimisticOracleV2.s.sol:DeployManagedOptimisticOracleV2","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":2756,"contract":"script/DeployManagedOptimisticOracleV2.s.sol:DeployManagedOptimisticOracleV2","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":2758,"contract":"script/DeployManagedOptimisticOracleV2.s.sol:DeployManagedOptimisticOracleV2","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":2760,"contract":"script/DeployManagedOptimisticOracleV2.s.sol:DeployManagedOptimisticOracleV2","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)8068_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":8061,"contract":"script/DeployManagedOptimisticOracleV2.s.sol:DeployManagedOptimisticOracleV2","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":8063,"contract":"script/DeployManagedOptimisticOracleV2.s.sol:DeployManagedOptimisticOracleV2","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":8065,"contract":"script/DeployManagedOptimisticOracleV2.s.sol:DeployManagedOptimisticOracleV2","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":8067,"contract":"script/DeployManagedOptimisticOracleV2.s.sol:DeployManagedOptimisticOracleV2","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(StdStorage)8093_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":8077,"contract":"script/DeployManagedOptimisticOracleV2.s.sol:DeployManagedOptimisticOracleV2","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))"},{"astId":8080,"contract":"script/DeployManagedOptimisticOracleV2.s.sol:DeployManagedOptimisticOracleV2","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":8082,"contract":"script/DeployManagedOptimisticOracleV2.s.sol:DeployManagedOptimisticOracleV2","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":8084,"contract":"script/DeployManagedOptimisticOracleV2.s.sol:DeployManagedOptimisticOracleV2","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":8086,"contract":"script/DeployManagedOptimisticOracleV2.s.sol:DeployManagedOptimisticOracleV2","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":8088,"contract":"script/DeployManagedOptimisticOracleV2.s.sol:DeployManagedOptimisticOracleV2","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":8090,"contract":"script/DeployManagedOptimisticOracleV2.s.sol:DeployManagedOptimisticOracleV2","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":8092,"contract":"script/DeployManagedOptimisticOracleV2.s.sol:DeployManagedOptimisticOracleV2","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"6080604052600c805462ff00ff191662010001179055348015601f575f5ffd5b506157628061002d5f395ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c8063c040622614610038578063f8ccbf4714610042575b5f5ffd5b610040610069565b005b600c546100559062010000900460ff1681565b604051901515815260200160405180910390f35b5f610072610e0e565b6040516001625e79b760e01b03198152600481018290529091505f905f5160206156d65f395f51905f529063ffa1864990602401602060405180830381865afa1580156100c1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100e5919061461e565b604080516301587f9560e61b81526004810191909152600e60448201526d46494e4445525f4144445245535360901b60648201525f602482018190529192505f5160206156d65f395f51905f529063561fe54090608401602060405180830381865afa158015610157573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061017b919061461e565b90506001600160a01b03811661019657610193610f11565b90505b60405163350d56bf60e01b815260206004820152601a60248201527f44454641554c545f50524f504f5345525f57484954454c49535400000000000060448201525f905f5160206156d65f395f51905f529063350d56bf90606401602060405180830381865afa15801561020c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610230919061461e565b60405163350d56bf60e01b8152602060048201526013602482015272149154555154d5115497d5d2125511531254d5606a1b60448201529091505f905f5160206156d65f395f51905f529063350d56bf90606401602060405180830381865afa15801561029f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102c3919061461e565b60408051635e97348f60e01b81526004810191909152601060448201526f44454641554c545f4c4956454e45535360801b6064820152611c2060248201529091505f905f5160206156d65f395f51905f5290635e97348f90608401602060405180830381865afa158015610339573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061035d9190614644565b60408051635e97348f60e01b81526004810191909152601060448201526f4d494e494d554d5f4c4956454e45535360801b6064820152610e1060248201529091505f905f5160206156d65f395f51905f5290635e97348f90608401602060405180830381865afa1580156103d3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103f79190614644565b604080516301587f9560e61b81526004810191909152600f60448201526e435553544f4d5f43555252454e435960881b60648201525f602482018190529192505f5160206156d65f395f51905f529063561fe54090608401602060405180830381865afa15801561046a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061048e919061461e565b60408051635e97348f60e01b8152600481019190915260136044820152721352539253555357d093d39117d05353d55395606a1b60648201525f602482018190529192505f5160206156d65f395f51905f5290635e97348f90608401602060405180830381865afa158015610505573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105299190614644565b60408051635e97348f60e01b8152600481019190915260136044820152721350561253555357d093d39117d05353d55395606a1b60648201525f602482018190529192505f5160206156d65f395f51905f5290635e97348f90608401602060405180830381865afa1580156105a0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105c49190614644565b905060606001600160a01b0384161561066f5760408051600180825281830190925290816020015b6105f461450d565b8152602001906001900390816105ec5790505090506040518060400160405280856001600160a01b031681526020016040518060400160405280866001600160801b03168152602001856001600160801b0316815250815250815f8151811061065f5761065f61466f565b602002602001018190525061067a565b610677611031565b90505b604080516301587f9560e61b81526004810191909152600c60448201526b21a7a72324a3afa0a226a4a760a11b60648201526001600160a01b038b1660248201525f905f5160206156d65f395f51905f529063561fe54090608401602060405180830381865afa1580156106f0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610714919061461e565b604080516301587f9560e61b81526004810191909152600d60448201526c2aa823a920a222afa0a226a4a760991b60648201526001600160a01b038d1660248201529091505f905f5160206156d65f395f51905f529063561fe54090608401602060405180830381865afa15801561078e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b2919061461e565b90506107df604051806040016040528060098152602001682232b83637bcb2b91d60b91b8152508d61112b565b6108106040518060400160405280600f81526020016e2334b73232b91020b2323932b9b99d60891b8152508c61112b565b61084f6040518060400160405280601b81526020017f44656661756c742050726f706f7365722057686974656c6973743a00000000008152508b61112b565b610885604051806040016040528060148152602001732932b8bab2b9ba32b9102bb434ba32b634b9ba1d60611b8152508a61112b565b6108b46040518060400160405280600d81526020016c21b7b73334b39020b236b4b71d60991b8152508361112b565b6108e46040518060400160405280600e81526020016d2ab833b930b2329020b236b4b71d60911b8152508261112b565b610917604051806040016040528060118152602001702232b330bab63a102634bb32b732b9b99d60791b81525089611174565b61094a6040518060400160405280601181526020017026b4b734b6bab6902634bb32b732b9b99d60791b81525088611174565b60405163ce817d4760e01b8152600481018e90525f5160206156d65f395f51905f529063ce817d47906024015f604051808303815f87803b15801561098d575f5ffd5b505af115801561099f573d5f5f3e3d5ffd5b505050505f610a0e6040518060600160405280603781526020016156f6603791398a8e8e8e898e8a8a6040516024016109df989796959493929190614683565b60408051601f198184030181529190526020810180516001600160e01b03166366d90e6360e11b1790526111b9565b90505f5160206156d65f395f51905f526001600160a01b03166376eadd366040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610a55575f5ffd5b505af1158015610a67573d5f5f3e3d5ffd5b50505050610aa96040518060400160405280601b81526020017f0a3d3d3d204465706c6f796d656e742053756d6d617279203d3d3d00000000008152506111d7565b610ad96040518060400160405280600e81526020016d283937bc3c9020b2323932b9b99d60911b8152508261112b565b610b206040518060400160405280601781526020017f496d706c656d656e746174696f6e20416464726573733a000000000000000000815250610b1b8361121d565b61112b565b610b4b6040518060400160405280600981526020016821b430b4b71024a21d60b91b81525046611174565b610b76604051806040016040528060098152602001682232b83637bcb2b91d60b91b8152508e61112b565b610ba56040518060400160405280600d81526020016c21b7b73334b39020b236b4b71d60991b8152508461112b565b610bd56040518060400160405280600e81526020016d2ab833b930b2329020b236b4b71d60911b8152508361112b565b610c08604051806040016040528060118152602001702232b330bab63a102634bb32b732b9b99d60791b8152508a611174565b610c3b6040518060400160405280601181526020017026b4b734b6bab6902634bb32b732b9b99d60791b81525089611174565b610c7a6040518060400160405280601b81526020017f44656661756c742050726f706f7365722057686974656c6973743a00000000008152508c61112b565b610cb0604051806040016040528060148152602001732932b8bab2b9ba32b9102bb434ba32b634b9ba1d60611b8152508b61112b565b610cde6040518060400160405280600d81526020016c052137b732103930b733b2b99d60991b8152506111d7565b5f5b8451811015610dfd57610d326040518060400160405280600b81526020016a101021bab93932b731bc9d60a91b815250868381518110610d2257610d2261466f565b60200260200101515f015161112b565b610d9360405180604001604052806016815260200175101026b4b734b6bab6902137b7321020b6b7bab73a1d60511b815250868381518110610d7657610d7661466f565b6020026020010151602001515f01516001600160801b0316611174565b610df560405180604001604052806016815260200175101026b0bc34b6bab6902137b7321020b6b7bab73a1d60511b815250868381518110610dd757610dd761466f565b602002602001015160200151602001516001600160801b0316611174565b600101610ce0565b505050505050505050505050505050565b60405163f877cb1960e01b81526020600482015260086024820152674d4e454d4f4e494360c01b60448201525f9081905f5160206156d65f395f51905f529063f877cb19906064015f60405180830381865afa158015610e70573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e979190810190614819565b604051636229498b60e01b81529091505f5160206156d65f395f51905f5290636229498b90610ecc9084905f90600401614878565b602060405180830381865afa158015610ee7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0b9190614644565b91505090565b5f4662aa36a7819003610f395773f4c48edad256326086aefbd1a53e1896815f8f1391505090565b806201388203610f5e577328077b47cd03326de7838926a63699849dd4fa8791505090565b80600103610f81577340f941e48a552bf496b154af6bf55725f18d77c391505090565b80608903610fa4577309aea4b2242abc8bb4bb78d537a67a245a7bec6491505090565b60405162461bcd60e51b815260206004820152605160248201527f4e6f2064656661756c742046696e646572206164647265737320666f7220746860448201527f6973206e6574776f726b2e20506c65617365207365742046494e4445525f4144606482015270222922a9a99032bc383634b1b4ba363c9760791b608482015260a4015b60405180910390fd5b60604660898190036110f4576040805160018082528183019092525f91816020015b61105b61450d565b8152602001906001900390816110535790505090506040518060400160405280732791bca1f2de4661ed88a30c99a7a9449aa841746001600160a01b0316815260200160405180604001604052806305f5e1006001600160801b0316815260200164174876e8006001600160801b0316815250815250815f815181106110e3576110e361466f565b602090810291909101015292915050565b604080515f8082526020820190925290611124565b61111161450d565b8152602001906001900390816111095790505b5091505090565b611170828260405160240161114192919061489f565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b179052611227565b5050565b611170828260405160240161118a9291906148c8565b60408051601f198184030181529190526020810180516001600160e01b0316632d839cb360e21b179052611227565b5f6111c2614559565b6111cd848483611230565b9150505b92915050565b61121a816040516024016111eb91906148e9565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b179052611227565b50565b5f6111d1826112aa565b61121a81611351565b5f5f61123c8584611370565b905061129f6040518060400160405280601d81526020017f4552433139363750726f78792e736f6c3a4552433139363750726f7879000000815250828660405160200161128a9291906148fb565b6040516020818303038152906040528561137b565b9150505b9392505050565b604051630667f9d760e41b81526001600160a01b03821660048201527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60248201525f905f5160206156d65f395f51905f52908290829063667f9d7090604401602060405180830381865afa158015611325573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113499190614644565b949350505050565b5f6a636f6e736f6c652e6c6f6790505f5f835160208501845afa505050565b5f6112a383836113aa565b610120810151515f90156113a05761139984848461012001516113c4565b90506112a3565b6113998484611517565b5f6113b583836115dc565b6112a38383604001518461137b565b5f5f6113ce6115e7565b90505f6113db868361167c565b90505f6113f18260600151836020015185611a81565b90505f61140083838989611c06565b90505f61140c826129bb565b602081015181519192509060030b1561145c57898260400151604051602001611436929190614935565b60408051601f198184030181529082905262461bcd60e51b8252611028916004016148e9565b5f6114966040518060400160405280601581526020017402232b83637bcb2b2103a379030b2323932b9b99d1605d1b815250836001612b43565b60405163c6ce059d60e01b81529091505f5160206156d65f395f51905f529063c6ce059d906114c99084906004016148e9565b602060405180830381865afa1580156114e4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611508919061461e565b9b9a5050505050505050505050565b604051638d1cc92560e01b81525f9081905f5160206156d65f395f51905f5290638d1cc9259061154b9087906004016148e9565b5f60405180830381865afa158015611565573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261158c9190810190614819565b90505f6115b982856040516020016115a592919061497b565b604051602081830303815290604052612d2b565b90506001600160a01b0381166111cd57848460405160200161143692919061498f565b61117082825f612d3c565b60408051808201825260038152621bdd5d60ea1b602082015290516334515cdb60e21b81526060915f5160206156d65f395f51905f5291829063d145736c90611634908490600401614a03565b5f60405180830381865afa15801561164e573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526116759190810190614819565b9250505090565b6116ae6040518060a0016040528060608152602001606081526020016060815260200160608152602001606081525090565b5f5f5160206156d65f395f51905f5290506116f16040518060a0016040528060608152602001606081526020016060815260200160608152602001606081525090565b6116fa85612ed9565b60208201525f611709866131ed565b90505f836001600160a01b031663d930a0e66040518163ffffffff1660e01b81526004015f60405180830381865afa158015611747573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261176e9190810190614819565b868385602001516040516020016117889493929190614a37565b60408051601f19818403018152908290526360f9bb1160e01b825291505f906001600160a01b038616906360f9bb11906117c69085906004016148e9565b5f60405180830381865afa1580156117e0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526118079190810190614819565b604051636da11afb60e11b81529091506001600160a01b0386169063db4235f690611836908490600401614a9b565b602060405180830381865afa158015611851573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118759190614ad3565b61188a57816040516020016114369190614af2565b6040516309389f5960e31b81526001600160a01b038616906349c4fac8906118b6908490600401614b5b565b5f60405180830381865afa1580156118d0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526118f79190810190614819565b8452604051636da11afb60e11b81526001600160a01b0386169063db4235f690611925908490600401614ba0565b602060405180830381865afa158015611940573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119649190614ad3565b156119dc576040516309389f5960e31b81526001600160a01b038616906349c4fac890611995908490600401614ba0565b5f60405180830381865afa1580156119af573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526119d69190810190614819565b60408501525b846001600160a01b03166349c4fac882865f0151604051602001611a009190614be0565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401611a2c929190614c24565b5f60405180830381865afa158015611a46573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a6d9190810190614819565b606085015250608083015250949350505050565b60408051600480825260a082019092526060915f9190816020015b6060815260200190600190039081611a9c579050509050604051806040016040528060048152602001630677265760e41b815250815f81518110611ae257611ae261466f565b6020026020010181905250604051806040016040528060038152602001620b5c9b60ea1b81525081600181518110611b1c57611b1c61466f565b602002602001018190525084604051602001611b389190614c48565b60405160208183030381529060405281600281518110611b5a57611b5a61466f565b602002602001018190525082604051602001611b769190614c6e565b60405160208183030381529060405281600381518110611b9857611b9861466f565b60200260200101819052505f611bad826129bb565b90505f81602001519050611be760405180604001604052806005815260200164173539b7b760d91b815250826133c290919063ffffffff16565b611bfc57856040516020016114369190614c94565b9695505050505050565b60a0810151516060905f5160206156d65f395f51905f529015611d5557826020015115611cc15760405162461bcd60e51b815260206004820152605860248201527f54686520606c6963656e73655479706560206f7074696f6e2063616e6e6f742060448201527f62652075736564207768656e207468652060736b6970566572696679536f757260648201527f6365436f646560206f7074696f6e206973206074727565600000000000000000608482015260a401611028565b8260c0015115611d555760405162461bcd60e51b815260206004820152605360248201527f54686520606c6963656e73655479706560206f7074696f6e2063616e6e6f742060448201527f62652075736564207768656e207468652060736b69704c6963656e7365547970606482015272032b01037b83a34b7b71034b990303a393ab2b606d1b608482015260a401611028565b6040805160ff80825261200082019092525f91816020015b6060815260200190600190039081611d6d5750506040805180820190915260038152620dce0f60eb1b60208201529091505f908282611dab81614d13565b935060ff1681518110611dc057611dc061466f565b60200260200101819052506040518060400160405280600e81526020016d0302e302e312d616c7068612e31360941b815250604051602001611e029190614d31565b604051602081830303815290604052828280611e1d90614d13565b935060ff1681518110611e3257611e3261466f565b6020026020010181905250604051806040016040528060068152602001656465706c6f7960d01b815250828280611e6890614d13565b935060ff1681518110611e7d57611e7d61466f565b60200260200101819052506040518060400160405280600e81526020016d2d2d636f6e74726163744e616d6560901b815250828280611ebb90614d13565b935060ff1681518110611ed057611ed061466f565b60200260200101819052508760200151828280611eec90614d13565b935060ff1681518110611f0157611f0161466f565b60200260200101819052506040518060400160405280600e81526020016d05a5ac6dedce8e4c2c6e8a0c2e8d60931b815250828280611f3f90614d13565b935060ff1681518110611f5457611f5461466f565b602090810291909101015287518282611f6c81614d13565b935060ff1681518110611f8157611f8161466f565b6020026020010181905250604051806040016040528060098152602001680b4b58da185a5b925960ba1b815250828280611fba90614d13565b935060ff1681518110611fcf57611fcf61466f565b6020026020010181905250611fe34661347c565b8282611fee81614d13565b935060ff16815181106120035761200361466f565b60200260200101819052506040518060400160405280600f81526020016e2d2d6275696c64496e666f46696c6560881b81525082828061204290614d13565b935060ff16815181106120575761205761466f565b60200260200101819052508682828061206f90614d13565b935060ff16815181106120845761208461466f565b6020908102919091010152855115612186576040805180820190915260158152742d2d636f6e7374727563746f7242797465636f646560581b602082015282826120cd81614d13565b935060ff16815181106120e2576120e261466f565b60209081029190910101526040516371aad10d60e01b81526001600160a01b038416906371aad10d906121199089906004016148e9565b5f60405180830381865afa158015612133573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261215a9190810190614819565b828261216581614d13565b935060ff168151811061217a5761217a61466f565b60200260200101819052505b846020015115612233576040805180820190915260128152712d2d766572696679536f75726365436f646560701b602082015282826121c481614d13565b935060ff16815181106121d9576121d961466f565b60200260200101819052506040518060400160405280600581526020016466616c736560d81b81525082828061220e90614d13565b935060ff16815181106122235761222361466f565b602002602001018190525061237c565b60a085015151156122bd5760408051808201909152600d81526c2d2d6c6963656e73655479706560981b6020820152828261226d81614d13565b935060ff16815181106122825761228261466f565b60200260200101819052508460a001516040516020016122a29190614c48565b60405160208183030381529060405282828061220e90614d13565b8460c001511580156122d3575060408801515115155b1561237c5760408051808201909152600d81526c2d2d6c6963656e73655479706560981b6020820152828261230781614d13565b935060ff168151811061231c5761231c61466f565b60200260200101819052506123308861350b565b6040516020016123409190614c48565b60405160208183030381529060405282828061235b90614d13565b935060ff16815181106123705761237061466f565b60200260200101819052505b604085015151156124065760408051808201909152600b81526a0b4b5c995b185e595c925960aa1b602082015282826123b481614d13565b935060ff16815181106123c9576123c961466f565b602002602001018190525084604001518282806123e590614d13565b935060ff16815181106123fa576123fa61466f565b60200260200101819052505b6060850151156124f3576040805180820190915260068152650b4b5cd85b1d60d21b6020820152828261243881614d13565b935060ff168151811061244d5761244d61466f565b60209081029190910101526060850151604051631623433d60e31b815260048101919091526001600160a01b0384169063b11a19e8906024015f60405180830381865afa1580156124a0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526124c79190810190614819565b82826124d281614d13565b935060ff16815181106124e7576124e761466f565b60200260200101819052505b60e085015151156125865760408051808201909152600a8152690b4b59d85cd31a5b5a5d60b21b6020820152828261252a81614d13565b935060ff168151811061253f5761253f61466f565b602002602001018190525061255a8560e001515f015161347c565b828261256581614d13565b935060ff168151811061257a5761257a61466f565b60200260200101819052505b60e0850151602001511561261d5760408051808201909152600a8152692d2d676173507269636560b01b602082015282826125c081614d13565b935060ff16815181106125d5576125d561466f565b60200260200101819052506125f18560e001516020015161347c565b82826125fc81614d13565b935060ff16815181106126115761261161466f565b60200260200101819052505b60e085015160400151156126b85760408051808201909152600e81526d2d2d6d617846656550657247617360901b6020820152828261265b81614d13565b935060ff16815181106126705761267061466f565b602002602001018190525061268c8560e001516040015161347c565b828261269781614d13565b935060ff16815181106126ac576126ac61466f565b60200260200101819052505b60e0850151606001511561275b576040805180820190915260168152752d2d6d61785072696f7269747946656550657247617360501b602082015282826126fe81614d13565b935060ff16815181106127135761271361466f565b602002602001018190525061272f8560e001516060015161347c565b828261273a81614d13565b935060ff168151811061274f5761274f61466f565b60200260200101819052505b61010085015151156128715760408051808201909152600a8152692d2d6d6574616461746160b01b6020820152828261279381614d13565b935060ff16815181106127a8576127a861466f565b6020908102919091010152610100850151604051637005681f60e11b81526001600160a01b0385169163e00ad03e916127e49190600401614d74565b5f60405180830381865afa1580156127fe573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526128259190810190614819565b6040516020016128359190614c48565b60405160208183030381529060405282828061285090614d13565b935060ff16815181106128655761286561466f565b60200260200101819052505b6040805180820190915260088152671696b7b934b3b4b760c11b6020820152828261289b81614d13565b935060ff16815181106128b0576128b061466f565b602002602001018190525060405180604001604052806007815260200166466f756e64727960c81b8152508282806128e790614d13565b935060ff16815181106128fc576128fc61466f565b60200260200101819052505f8160ff166001600160401b038111156129235761292361465b565b60405190808252806020026020018201604052801561295657816020015b60608152602001906001900390816129415790505b5090505f5b8260ff168160ff1610156129ae57838160ff168151811061297e5761297e61466f565b6020026020010151828260ff168151811061299b5761299b61466f565b602090810291909101015260010161295b565b5098975050505050505050565b6129e160405180606001604052805f60030b815260200160608152602001606081525090565b6040805180820182526004808252630c4c2e6d60e31b602083015291516334515cdb60e21b81525f5160206156d65f395f51905f52925f91849163d145736c91612a2d91869101614dc6565b5f60405180830381865afa158015612a47573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612a6e9190810190614819565b90505f612a7b8683613b10565b90505f846001600160a01b031663f45c1ce7836040518263ffffffff1660e01b8152600401612aaa9190614e05565b5f604051808303815f875af1158015612ac5573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612aec9190810190614e68565b805190915060030b15801590612b055750602081015151155b8015612b145750604081015151155b15611bfc57815f81518110612b2b57612b2b61466f565b60200260200101516040516020016114369190614f14565b604051630fec62bb60e21b81526060905f5160206156d65f395f51905f52908190633fb18aec90612b7a9087908990600401614c24565b6020604051808303815f875af1158015612b96573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bba9190614ad3565b15612cfd57604051638bb7553360e01b81525f906001600160a01b03831690638bb7553390612bef9088908a90600401614c24565b5f60405180830381865afa158015612c09573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612c3091908101906150d5565b9050600281511115612c4f57858560405160200161143692919061519e565b5f81600181518110612c6357612c6361466f565b60200260200101519050826001600160a01b0316638bb75533826040518263ffffffff1660e01b8152600401612c9991906151fe565b5f60405180830381865afa158015612cb3573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612cda91908101906150d5565b5f81518110612ceb57612ceb61466f565b602002602001015193505050506112a3565b8215612d16578484604051602001611436929190615232565b505060408051602081019091525f81526112a3565b5f5f8251602084015ff09392505050565b81610100015115612d4c57505050565b5f612d58848484613c47565b90505f612d64826129bb565b60208101518151919250905f5160206156d65f395f51905f529060030b5f03612e2a57604051630fec62bb60e21b81526001600160a01b03821690633fb18aec90612db390859060040161526d565b6020604051808303815f875af1158015612dcf573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612df39190614ad3565b15612e195760408301515115612e1057612e1083604001516111d7565b50505050505050565b8160405160200161143691906152a8565b604051630fec62bb60e21b81526001600160a01b03821690633fb18aec90612e569085906004016152eb565b6020604051808303815f875af1158015612e72573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e969190614ad3565b15612ec45760408301515115612eb357612eb383604001516111d7565b816040516020016114369190615325565b826040015160405160200161143691906152a8565b6040805180820190915260048152630b9cdbdb60e21b60208201526060905f5160206156d65f395f51905f5290612f119084906133c2565b8015612f4257506040805180820190915260048152630b9cdbdb60e21b6020820152612f3e90849061434a565b6001145b15612fb457604051637005681f60e11b81526001600160a01b0382169063e00ad03e90612f73908690600401615361565b5f60405180830381865afa158015612f8d573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526112a39190810190614819565b6040805180820190915260018152601d60f91b6020820152612fd790849061434a565b60010361306d57604051638bb7553360e01b81526001600160a01b03821690638bb755339061300a9086906004016153aa565b5f60405180830381865afa158015613024573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261304b91908101906150d5565b60018151811061305d5761305d61466f565b6020026020010151915050919050565b604080518082019091526005815264173539b7b760d91b60208201526130949084906133c2565b80156130c65750604080518082019091526005815264173539b7b760d91b60208201526130c290849061434a565b6001145b156131dc57604051638bb7553360e01b81525f906001600160a01b03831690638bb75533906130f99087906004016153df565b5f60405180830381865afa158015613113573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261313a91908101906150d5565b90505f816001835161314c9190615414565b8151811061315c5761315c61466f565b60200260200101519050826001600160a01b031663e00ad03e826040518263ffffffff1660e01b81526004016131929190615427565b5f60405180830381865afa1580156131ac573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526131d39190810190614819565b95945050505050565b826040516020016114369190615471565b6040805180820190915260048152630b9cdbdb60e21b60208201526060905f5160206156d65f395f51905f52906132259084906133c2565b15613231575090919050565b6040805180820190915260018152601d60f91b602082015261325490849061434a565b6001036132d957604051638bb7553360e01b81526001600160a01b03821690638bb75533906132879086906004016153aa565b5f60405180830381865afa1580156132a1573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526132c891908101906150d5565b5f8151811061305d5761305d61466f565b604080518082019091526005815264173539b7b760d91b60208201526133009084906133c2565b156131dc57604051638bb7553360e01b81525f906001600160a01b03831690638bb75533906133339087906004016153df565b5f60405180830381865afa15801561334d573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261337491908101906150d5565b90506001815111156133b057806002825161338f9190615414565b8151811061339f5761339f61466f565b602002602001015192505050919050565b50826040516020016114369190615471565b604051638bb7553360e01b81525f905f5160206156d65f395f51905f529082908290638bb75533906133fa9088908890600401614c24565b5f60405180830381865afa158015613414573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261343b91908101906150d5565b9050600181511180156131d3575080600182516134589190615414565b815181106134685761346861466f565b6020026020010151515f1495945050505050565b60605f613488836143d3565b60010190505f816001600160401b038111156134a6576134a661465b565b6040519080825280601f01601f1916602001820160405280156134d0576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846134da57509392505050565b6040808201518151808301909252600a8252691553931250d15394d15160b21b602083015260609161353e9082906144aa565b156135655750506040805180820190915260048152634e6f6e6560e01b6020820152919050565b604080518082019091526009815268556e6c6963656e736560b81b60208201526135909082906144aa565b156135bc575050604080518082019091526009815268556e6c6963656e736560b81b6020820152919050565b60408051808201909152600381526213525560ea1b60208201526135e19082906144aa565b1561360757505060408051808201909152600381526213525560ea1b6020820152919050565b60408051808201909152600c81526b47504c2d322e302d6f6e6c7960a01b60208201526136359082906144aa565b8061366d575060408051808201909152601081526f23a8261699171816b7b916b630ba32b960811b602082015261366d9082906144aa565b1561369957505060408051808201909152600981526823a72a9023a8263b1960b91b6020820152919050565b60408051808201909152600c81526b47504c2d332e302d6f6e6c7960a01b60208201526136c79082906144aa565b806136ff575060408051808201909152601081526f23a8261699971816b7b916b630ba32b960811b60208201526136ff9082906144aa565b1561372b575050604080518082019091526009815268474e552047504c763360b81b6020820152919050565b60408051808201909152600d81526c4c47504c2d322e312d6f6e6c7960981b602082015261375a9082906144aa565b8061379357506040805180820190915260118152702623a8261699171896b7b916b630ba32b960791b60208201526137939082906144aa565b156137c257505060408051808201909152600c81526b474e55204c47504c76322e3160a01b6020820152919050565b60408051808201909152600d81526c4c47504c2d332e302d6f6e6c7960981b60208201526137f19082906144aa565b8061382a57506040805180820190915260118152702623a8261699971816b7b916b630ba32b960791b602082015261382a9082906144aa565b1561385757505060408051808201909152600a815269474e55204c47504c763360b01b6020820152919050565b60408051808201909152600c81526b4253442d322d436c6175736560a01b60208201526138859082906144aa565b156138b457505060408051808201909152600c81526b4253442d322d436c6175736560a01b6020820152919050565b60408051808201909152600c81526b4253442d332d436c6175736560a01b60208201526138e29082906144aa565b1561391157505060408051808201909152600c81526b4253442d332d436c6175736560a01b6020820152919050565b60408051808201909152600781526604d504c2d322e360cc1b602082015261393a9082906144aa565b1561396457505060408051808201909152600781526604d504c2d322e360cc1b6020820152919050565b60408051808201909152600781526604f534c2d332e360cc1b602082015261398d9082906144aa565b156139b757505060408051808201909152600781526604f534c2d332e360cc1b6020820152919050565b60408051808201909152600a81526904170616368652d322e360b41b60208201526139e39082906144aa565b15613a1057505060408051808201909152600a81526904170616368652d322e360b41b6020820152919050565b60408051808201909152600d81526c4147504c2d332e302d6f6e6c7960981b6020820152613a3f9082906144aa565b80613a78575060408051808201909152601181527020a3a8261699971816b7b916b630ba32b960791b6020820152613a789082906144aa565b15613aa557505060408051808201909152600a815269474e55204147504c763360b01b6020820152919050565b6040805180820190915260088152674255534c2d312e3160c01b6020820152613acf9082906144aa565b15613af957505060408051808201909152600781526642534c20312e3160c81b6020820152919050565b60408084015184519151611436929060200161551d565b6060805f5b8451811015613b9a5781858281518110613b3157613b3161466f565b6020026020010151604051602001613b4a92919061497b565b604051602081830303815290604052915060018551613b699190615414565b8114613b925781604051602001613b809190615652565b60405160208183030381529060405291505b600101613b15565b50604080516003808252608082019092525f91816020015b6060815260200190600190039081613bb257905050905083815f81518110613bdc57613bdc61466f565b6020026020010181905250604051806040016040528060028152602001612d6360f01b81525081600181518110613c1557613c1561466f565b60200260200101819052508181600281518110613c3457613c3461466f565b6020908102919091010152949350505050565b60605f613c526115e7565b60408051620100008082526220002082019092529192505f9190816020015b6060815260200190600190039081613c715750506040805180820190915260038152620dce0f60eb1b60208201529091505f908282613caf8161566e565b935061ffff1681518110613cc557613cc561466f565b60200260200101819052506040518060400160405280600781526020016605e312e33372e360cc1b815250604051602001613d009190615685565b604051602081830303815290604052828280613d1b9061566e565b935061ffff1681518110613d3157613d3161466f565b60200260200101819052506040518060400160405280600881526020016776616c696461746560c01b815250828280613d699061566e565b935061ffff1681518110613d7f57613d7f61466f565b602002602001018190525082604051602001613d9b9190614c6e565b604051602081830303815290604052828280613db69061566e565b935061ffff1681518110613dcc57613dcc61466f565b60200260200101819052506040518060400160405280600a8152602001690b4b58dbdb9d1c9858dd60b21b815250828280613e069061566e565b935061ffff1681518110613e1c57613e1c61466f565b6020026020010181905250613e3187846144ce565b8282613e3c8161566e565b935061ffff1681518110613e5257613e5261466f565b60209081029190910181019190915286515190870151519015801591151590613f31575f81613e8c578851613e8790876144ce565b613e8f565b88515b90506040518060400160405280600b81526020016a2d2d7265666572656e636560a81b815250858580613ec19061566e565b965061ffff1681518110613ed757613ed761466f565b602002602001018190525080604051602001613ef39190614c48565b604051602081830303815290604052858580613f0e9061566e565b965061ffff1681518110613f2457613f2461466f565b6020026020010181905250505b8015613fe95760408051808201909152601881527f2d2d7265666572656e63654275696c64496e666f44697273000000000000000060208201528484613f768161566e565b955061ffff1681518110613f8c57613f8c61466f565b60200260200101819052508760200151604051602001613fac9190614c48565b604051602081830303815290604052848480613fc79061566e565b955061ffff1681518110613fdd57613fdd61466f565b60200260200101819052505b5f5b8860600151518160ff1610156140d4575f89606001518260ff16815181106140155761401561466f565b6020026020010151905080515f146140c1576040805180820190915260098152682d2d6578636c75646560b81b602082015286866140528161566e565b975061ffff16815181106140685761406861466f565b6020026020010181905250806040516020016140849190614c48565b60405160208183030381529060405286868061409f9061566e565b975061ffff16815181106140b5576140b561466f565b60200260200101819052505b50806140cc81614d13565b915050613feb565b508760e00151156141445760408051808201909152601881527f2d2d756e73616665536b697053746f72616765436865636b00000000000000006020820152848461411e8161566e565b955061ffff16815181106141345761413461466f565b60200260200101819052506141a0565b86156141a0576040805180820190915260128152712d2d726571756972655265666572656e636560701b6020820152848461417e8161566e565b955061ffff16815181106141945761419461466f565b60200260200101819052505b6080880151511561422e5760408051808201909152600d81526c2d2d756e73616665416c6c6f7760981b602082015284846141da8161566e565b955061ffff16815181106141f0576141f061466f565b6020026020010181905250876080015184848061420c9061566e565b955061ffff16815181106142225761422261466f565b60200260200101819052505b8760a0015115614290576040805180820190915260148152732d2d756e73616665416c6c6f7752656e616d657360601b6020820152848461426e8161566e565b955061ffff16815181106142845761428461466f565b60200260200101819052505b5f8361ffff166001600160401b038111156142ad576142ad61465b565b6040519080825280602002602001820160405280156142e057816020015b60608152602001906001900390816142cb5790505b5090505f5b8461ffff168161ffff16101561433c57858161ffff168151811061430b5761430b61466f565b6020026020010151828261ffff16815181106143295761432961466f565b60209081029190910101526001016142e5565b509998505050505050505050565b604051638bb7553360e01b81525f905f5160206156d65f395f51905f529082908290638bb75533906143829088908890600401614c24565b5f60405180830381865afa15801561439c573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526143c391908101906150d5565b9050600181516131d39190615414565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106144115772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef8100000000831061443d576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061445b57662386f26fc10000830492506010015b6305f5e1008310614473576305f5e100830492506008015b612710831061448757612710830492506004015b60648310614499576064830492506002015b600a83106111d15760010192915050565b5f815183511480156112a35750508051602091820120825192909101919091201490565b60605f6144db848461167c565b80516020808301516040519394506144f5939091016156b6565b60405160208183030381529060405291505092915050565b60405180604001604052805f6001600160a01b0316815260200161455460405180604001604052805f6001600160801b031681526020015f6001600160801b031681525090565b905290565b60405180610140016040528060608152602001606081526020016060815260200160608152602001606081526020015f151581526020015f151581526020015f151581526020015f151581526020016145546040518061012001604052805f151581526020015f15158152602001606081526020015f815260200160608152602001606081526020015f1515815260200161461160405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001606081525090565b5f6020828403121561462e575f5ffd5b81516001600160a01b03811681146112a3575f5ffd5b5f60208284031215614654575f5ffd5b5051919050565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b8881526001600160a01b03888116602080840191909152888216604084015290871660608301526101006080830181905286519083018190525f91870190610120840190835b8181101561471357835180516001600160a01b0316845260209081015180516001600160801b039081168387015290820151166040850152909301926060909201916001016146c9565b505060a084018790526001600160a01b03861660c085015291506147349050565b6001600160a01b03831660e08301529998505050505050505050565b604051606081016001600160401b03811182821017156147725761477261465b565b60405290565b604051601f8201601f191681016001600160401b03811182821017156147a0576147a061465b565b604052919050565b5f82601f8301126147b7575f5ffd5b8151602083015f5f6001600160401b038411156147d6576147d661465b565b50601f8301601f19166020016147eb81614778565b9150508281528583830111156147ff575f5ffd5b8282602083015e5f92810160200192909252509392505050565b5f60208284031215614829575f5ffd5b81516001600160401b0381111561483e575f5ffd5b6111cd848285016147a8565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b604081525f61488a604083018561484a565b905063ffffffff831660208301529392505050565b604081525f6148b1604083018561484a565b905060018060a01b03831660208301529392505050565b604081525f6148da604083018561484a565b90508260208301529392505050565b602081525f6112a3602083018461484a565b6001600160a01b03831681526040602082018190525f906113499083018461484a565b5f81518060208401855e5f93019283525090919050565b7f4661696c656420746f206465706c6f7920636f6e74726163742000000000000081525f614966601a83018561491e565b6101d160f51b815261129f600282018561491e565b5f611349614989838661491e565b8461491e565b7f4661696c656420746f206465706c6f7920636f6e74726163742000000000000081525f6149c0601a83018561491e565b7f207573696e6720636f6e7374727563746f72206461746120220000000000000081526149f0601982018561491e565b601160f91b815260010195945050505050565b60408152600b60408201526a1193d55391149657d3d55560aa1b6060820152608060208201525f6112a3608083018461484a565b5f614a42828761491e565b602f60f81b8152614a56600182018761491e565b9050602f60f81b8152614a6c600182018661491e565b9050602f60f81b8152614a82600182018561491e565b64173539b7b760d91b8152600501979650505050505050565b604081525f614aad604083018461484a565b828103602084015260048152630b985cdd60e21b60208201526040810191505092915050565b5f60208284031215614ae3575f5ffd5b815180151581146112a3575f5ffd5b7f436f756c64206e6f742066696e642041535420696e206172746966616374200081525f614b23601f83018461491e565b7f2e205365742060617374203d20747275656020696e20666f756e6472792e746f8152611b5b60f21b60208201526022019392505050565b604081525f614b6d604083018461484a565b8281036020840152601181527005cc2e6e85cc2c4e6ded8eae8caa0c2e8d607b1b60208201526040810191505092915050565b604081525f614bb2604083018461484a565b8281036020840152600c81526b2e6173742e6c6963656e736560a01b60208201526040810191505092915050565b732e6d657461646174612e736f75726365732e5b2760601b81525f614c08601483018461491e565b6b13ae9735b2b1b1b0b5991a9b60a11b8152600c019392505050565b604081525f614c36604083018561484a565b828103602084015261129f818561484a565b601160f91b81525f614c5d600183018461491e565b601160f91b81526001019392505050565b5f614c79828461491e565b6a2f6275696c642d696e666f60a81b8152600b019392505050565b7f436f756c64206e6f742066696e64206275696c642d696e666f2066696c65207781527f697468206d61746368696e6720736f7572636520636f6465206861736820666f60208201526a0391031b7b73a3930b1ba160ad1b60408201525f6112a3604b83018461491e565b634e487b7160e01b5f52601160045260245ffd5b5f60ff821660ff8103614d2857614d28614cff565b60010192915050565b7f406f70656e7a657070656c696e2f646566656e6465722d6465706c6f792d636c81526801a595b9d0b58db1a560be1b60208201525f6112a3602983018461491e565b606081525f614d86606083018461484a565b82810380602085015260018252601160f91b60208301526040810160408501525060026040820152612e1160f11b60608201526080810191505092915050565b60408152601660408201527509ea08a9cb48aa0a08a98929cbe8482a690bea082a8960531b6060820152608060208201525f6112a3608083018461484a565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015614e5c57603f19878603018452614e4785835161484a565b94506020938401939190910190600101614e2b565b50929695505050505050565b5f60208284031215614e78575f5ffd5b81516001600160401b03811115614e8d575f5ffd5b820160608185031215614e9e575f5ffd5b614ea6614750565b81518060030b8114614eb6575f5ffd5b815260208201516001600160401b03811115614ed0575f5ffd5b614edc868285016147a8565b60208301525060408201516001600160401b03811115614efa575f5ffd5b614f06868285016147a8565b604083015250949350505050565b7f4661696c656420746f2072756e206261736820636f6d6d616e642077697468208152601160f91b60208201525f614f4f602183018461491e565b7f222e20496620796f7520617265207573696e672057696e646f77732c2073657481527f20746865204f50454e5a455050454c494e5f424153485f5041544820656e766960208201527f726f6e6d656e74207661726961626c6520746f207468652066756c6c7920717560408201527f616c69666965642070617468206f66207468652062617368206578656375746160608201527f626c652e20466f72206578616d706c652c20696620796f75206172652075736960808201527f6e672047697420666f722057696e646f77732c206164642074686520666f6c6c60a08201527f6f77696e67206c696e6520696e20746865202e656e762066696c65206f66207960c08201527f6f75722070726f6a65637420287573696e6720666f727761726420736c61736860e08201527f6573293a0a4f50454e5a455050454c494e5f424153485f504154483d22433a2f6101008201527f50726f6772616d2046696c65732f4769742f62696e2f6261736822000000000061012082015261013b019392505050565b5f602082840312156150e5575f5ffd5b81516001600160401b038111156150fa575f5ffd5b8201601f8101841361510a575f5ffd5b80516001600160401b038111156151235761512361465b565b8060051b61513360208201614778565b9182526020818401810192908101908784111561514e575f5ffd5b6020850192505b838310156151935782516001600160401b03811115615172575f5ffd5b615181896020838901016147a8565b83525060209283019290910190615155565b979650505050505050565b7f466f756e64206d756c7469706c65206f6363757272656e636573206f6620707281526565666978202760d01b60208201525f6151de602683018561491e565b6c0139034b71037baba383aba1d1609d1b815261129f600d82018561491e565b604081525f615210604083018461484a565b82810360209384015260018152600560f91b9281019290925250604001919050565b7f4661696c656420746f2066696e64206c696e65207769746820707265666978208152602760f81b60208201525f6151de602183018561491e565b604081525f61527f604083018461484a565b828103602084015260078152665355434345535360c81b60208201526040810191505092915050565b7f4661696c656420746f2072756e2075706772616465207361666574792076616c815268034b230ba34b7b71d160bd1b60208201525f6112a3602983018461491e565b604081525f6152fd604083018461484a565b8281036020840152600681526511905253115160d21b60208201526040810191505092915050565b7f55706772616465207361666574792076616c69646174696f6e206661696c65648152611d0560f11b60208201525f6112a3602283018461491e565b606081525f615373606083018461484a565b82810380602085015260048252630b9cdbdb60e21b6020830152604081016040850152505f60408201526060810191505092915050565b604081525f6153bc604083018461484a565b828103602084015260018152601d60f91b60208201526040810191505092915050565b604081525f6153f1604083018461484a565b828103602084015260018152602f60f81b60208201526040810191505092915050565b818103818111156111d1576111d1614cff565b606081525f615439606083018461484a565b8281038060208501526005825264173539b7b760d91b6020830152604081016040850152505f60408201526060810191505092915050565b6d021b7b73a3930b1ba103730b6b2960951b81525f615493600e83018461491e565b7f206d75737420626520696e2074686520666f726d6174204d79436f6e7472616381527f742e736f6c3a4d79436f6e7472616374206f72204d79436f6e74726163742e7360208201527f6f6c206f72206f75742f4d79436f6e74726163742e736f6c2f4d79436f6e747260408201526730b1ba173539b7b760c11b60608201526068019392505050565b7f53504458206c6963656e7365206964656e74696669657220000000000000000081525f61554e601883018561491e565b6301034b7160e51b8152615565600482018561491e565b7f20646f6573206e6f74206c6f6f6b206c696b65206120737570706f727465642081527f6c6963656e736520666f7220626c6f636b206578706c6f72657220766572696660208201527f69636174696f6e2e205573652074686520606c6963656e73655479706560206f60408201527f7074696f6e20746f20737065636966792061206c6963656e736520747970652c60608201527f206f7220736574207468652060736b69704c6963656e73655479706560206f7060808201527f74696f6e20746f2060747275656020746f20736b69702e00000000000000000060a082015260b70195945050505050565b5f61565d828461491e565b600160fd1b81526001019392505050565b5f61ffff821661ffff8103614d2857614d28614cff565b7f406f70656e7a657070656c696e2f75706772616465732d636f7265400000000081525f6112a3601c83018461491e565b5f6156c1828561491e565b601d60f91b815261129f600182018561491e56fe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d4d616e616765644f7074696d69737469634f7261636c6556322e736f6c3a4d616e616765644f7074696d69737469634f7261636c655632a2646970667358221220652feb5bcc85da6157c8824abca4fc5d8e4f5d281faa7196d127a6031ab4022a64736f6c634300081e0033","sourceMap":"1951:6769:84:-:0;;;3126:44:3;;;-1:-1:-1;;849:28:1;;;;;1951:6769:84;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561000f575f5ffd5b5060043610610034575f3560e01c8063c040622614610038578063f8ccbf4714610042575b5f5ffd5b610040610069565b005b600c546100559062010000900460ff1681565b604051901515815260200160405180910390f35b5f610072610e0e565b6040516001625e79b760e01b03198152600481018290529091505f905f5160206156d65f395f51905f529063ffa1864990602401602060405180830381865afa1580156100c1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100e5919061461e565b604080516301587f9560e61b81526004810191909152600e60448201526d46494e4445525f4144445245535360901b60648201525f602482018190529192505f5160206156d65f395f51905f529063561fe54090608401602060405180830381865afa158015610157573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061017b919061461e565b90506001600160a01b03811661019657610193610f11565b90505b60405163350d56bf60e01b815260206004820152601a60248201527f44454641554c545f50524f504f5345525f57484954454c49535400000000000060448201525f905f5160206156d65f395f51905f529063350d56bf90606401602060405180830381865afa15801561020c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610230919061461e565b60405163350d56bf60e01b8152602060048201526013602482015272149154555154d5115497d5d2125511531254d5606a1b60448201529091505f905f5160206156d65f395f51905f529063350d56bf90606401602060405180830381865afa15801561029f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102c3919061461e565b60408051635e97348f60e01b81526004810191909152601060448201526f44454641554c545f4c4956454e45535360801b6064820152611c2060248201529091505f905f5160206156d65f395f51905f5290635e97348f90608401602060405180830381865afa158015610339573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061035d9190614644565b60408051635e97348f60e01b81526004810191909152601060448201526f4d494e494d554d5f4c4956454e45535360801b6064820152610e1060248201529091505f905f5160206156d65f395f51905f5290635e97348f90608401602060405180830381865afa1580156103d3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103f79190614644565b604080516301587f9560e61b81526004810191909152600f60448201526e435553544f4d5f43555252454e435960881b60648201525f602482018190529192505f5160206156d65f395f51905f529063561fe54090608401602060405180830381865afa15801561046a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061048e919061461e565b60408051635e97348f60e01b8152600481019190915260136044820152721352539253555357d093d39117d05353d55395606a1b60648201525f602482018190529192505f5160206156d65f395f51905f5290635e97348f90608401602060405180830381865afa158015610505573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105299190614644565b60408051635e97348f60e01b8152600481019190915260136044820152721350561253555357d093d39117d05353d55395606a1b60648201525f602482018190529192505f5160206156d65f395f51905f5290635e97348f90608401602060405180830381865afa1580156105a0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105c49190614644565b905060606001600160a01b0384161561066f5760408051600180825281830190925290816020015b6105f461450d565b8152602001906001900390816105ec5790505090506040518060400160405280856001600160a01b031681526020016040518060400160405280866001600160801b03168152602001856001600160801b0316815250815250815f8151811061065f5761065f61466f565b602002602001018190525061067a565b610677611031565b90505b604080516301587f9560e61b81526004810191909152600c60448201526b21a7a72324a3afa0a226a4a760a11b60648201526001600160a01b038b1660248201525f905f5160206156d65f395f51905f529063561fe54090608401602060405180830381865afa1580156106f0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610714919061461e565b604080516301587f9560e61b81526004810191909152600d60448201526c2aa823a920a222afa0a226a4a760991b60648201526001600160a01b038d1660248201529091505f905f5160206156d65f395f51905f529063561fe54090608401602060405180830381865afa15801561078e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b2919061461e565b90506107df604051806040016040528060098152602001682232b83637bcb2b91d60b91b8152508d61112b565b6108106040518060400160405280600f81526020016e2334b73232b91020b2323932b9b99d60891b8152508c61112b565b61084f6040518060400160405280601b81526020017f44656661756c742050726f706f7365722057686974656c6973743a00000000008152508b61112b565b610885604051806040016040528060148152602001732932b8bab2b9ba32b9102bb434ba32b634b9ba1d60611b8152508a61112b565b6108b46040518060400160405280600d81526020016c21b7b73334b39020b236b4b71d60991b8152508361112b565b6108e46040518060400160405280600e81526020016d2ab833b930b2329020b236b4b71d60911b8152508261112b565b610917604051806040016040528060118152602001702232b330bab63a102634bb32b732b9b99d60791b81525089611174565b61094a6040518060400160405280601181526020017026b4b734b6bab6902634bb32b732b9b99d60791b81525088611174565b60405163ce817d4760e01b8152600481018e90525f5160206156d65f395f51905f529063ce817d47906024015f604051808303815f87803b15801561098d575f5ffd5b505af115801561099f573d5f5f3e3d5ffd5b505050505f610a0e6040518060600160405280603781526020016156f6603791398a8e8e8e898e8a8a6040516024016109df989796959493929190614683565b60408051601f198184030181529190526020810180516001600160e01b03166366d90e6360e11b1790526111b9565b90505f5160206156d65f395f51905f526001600160a01b03166376eadd366040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610a55575f5ffd5b505af1158015610a67573d5f5f3e3d5ffd5b50505050610aa96040518060400160405280601b81526020017f0a3d3d3d204465706c6f796d656e742053756d6d617279203d3d3d00000000008152506111d7565b610ad96040518060400160405280600e81526020016d283937bc3c9020b2323932b9b99d60911b8152508261112b565b610b206040518060400160405280601781526020017f496d706c656d656e746174696f6e20416464726573733a000000000000000000815250610b1b8361121d565b61112b565b610b4b6040518060400160405280600981526020016821b430b4b71024a21d60b91b81525046611174565b610b76604051806040016040528060098152602001682232b83637bcb2b91d60b91b8152508e61112b565b610ba56040518060400160405280600d81526020016c21b7b73334b39020b236b4b71d60991b8152508461112b565b610bd56040518060400160405280600e81526020016d2ab833b930b2329020b236b4b71d60911b8152508361112b565b610c08604051806040016040528060118152602001702232b330bab63a102634bb32b732b9b99d60791b8152508a611174565b610c3b6040518060400160405280601181526020017026b4b734b6bab6902634bb32b732b9b99d60791b81525089611174565b610c7a6040518060400160405280601b81526020017f44656661756c742050726f706f7365722057686974656c6973743a00000000008152508c61112b565b610cb0604051806040016040528060148152602001732932b8bab2b9ba32b9102bb434ba32b634b9ba1d60611b8152508b61112b565b610cde6040518060400160405280600d81526020016c052137b732103930b733b2b99d60991b8152506111d7565b5f5b8451811015610dfd57610d326040518060400160405280600b81526020016a101021bab93932b731bc9d60a91b815250868381518110610d2257610d2261466f565b60200260200101515f015161112b565b610d9360405180604001604052806016815260200175101026b4b734b6bab6902137b7321020b6b7bab73a1d60511b815250868381518110610d7657610d7661466f565b6020026020010151602001515f01516001600160801b0316611174565b610df560405180604001604052806016815260200175101026b0bc34b6bab6902137b7321020b6b7bab73a1d60511b815250868381518110610dd757610dd761466f565b602002602001015160200151602001516001600160801b0316611174565b600101610ce0565b505050505050505050505050505050565b60405163f877cb1960e01b81526020600482015260086024820152674d4e454d4f4e494360c01b60448201525f9081905f5160206156d65f395f51905f529063f877cb19906064015f60405180830381865afa158015610e70573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e979190810190614819565b604051636229498b60e01b81529091505f5160206156d65f395f51905f5290636229498b90610ecc9084905f90600401614878565b602060405180830381865afa158015610ee7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0b9190614644565b91505090565b5f4662aa36a7819003610f395773f4c48edad256326086aefbd1a53e1896815f8f1391505090565b806201388203610f5e577328077b47cd03326de7838926a63699849dd4fa8791505090565b80600103610f81577340f941e48a552bf496b154af6bf55725f18d77c391505090565b80608903610fa4577309aea4b2242abc8bb4bb78d537a67a245a7bec6491505090565b60405162461bcd60e51b815260206004820152605160248201527f4e6f2064656661756c742046696e646572206164647265737320666f7220746860448201527f6973206e6574776f726b2e20506c65617365207365742046494e4445525f4144606482015270222922a9a99032bc383634b1b4ba363c9760791b608482015260a4015b60405180910390fd5b60604660898190036110f4576040805160018082528183019092525f91816020015b61105b61450d565b8152602001906001900390816110535790505090506040518060400160405280732791bca1f2de4661ed88a30c99a7a9449aa841746001600160a01b0316815260200160405180604001604052806305f5e1006001600160801b0316815260200164174876e8006001600160801b0316815250815250815f815181106110e3576110e361466f565b602090810291909101015292915050565b604080515f8082526020820190925290611124565b61111161450d565b8152602001906001900390816111095790505b5091505090565b611170828260405160240161114192919061489f565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b179052611227565b5050565b611170828260405160240161118a9291906148c8565b60408051601f198184030181529190526020810180516001600160e01b0316632d839cb360e21b179052611227565b5f6111c2614559565b6111cd848483611230565b9150505b92915050565b61121a816040516024016111eb91906148e9565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b179052611227565b50565b5f6111d1826112aa565b61121a81611351565b5f5f61123c8584611370565b905061129f6040518060400160405280601d81526020017f4552433139363750726f78792e736f6c3a4552433139363750726f7879000000815250828660405160200161128a9291906148fb565b6040516020818303038152906040528561137b565b9150505b9392505050565b604051630667f9d760e41b81526001600160a01b03821660048201527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60248201525f905f5160206156d65f395f51905f52908290829063667f9d7090604401602060405180830381865afa158015611325573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113499190614644565b949350505050565b5f6a636f6e736f6c652e6c6f6790505f5f835160208501845afa505050565b5f6112a383836113aa565b610120810151515f90156113a05761139984848461012001516113c4565b90506112a3565b6113998484611517565b5f6113b583836115dc565b6112a38383604001518461137b565b5f5f6113ce6115e7565b90505f6113db868361167c565b90505f6113f18260600151836020015185611a81565b90505f61140083838989611c06565b90505f61140c826129bb565b602081015181519192509060030b1561145c57898260400151604051602001611436929190614935565b60408051601f198184030181529082905262461bcd60e51b8252611028916004016148e9565b5f6114966040518060400160405280601581526020017402232b83637bcb2b2103a379030b2323932b9b99d1605d1b815250836001612b43565b60405163c6ce059d60e01b81529091505f5160206156d65f395f51905f529063c6ce059d906114c99084906004016148e9565b602060405180830381865afa1580156114e4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611508919061461e565b9b9a5050505050505050505050565b604051638d1cc92560e01b81525f9081905f5160206156d65f395f51905f5290638d1cc9259061154b9087906004016148e9565b5f60405180830381865afa158015611565573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261158c9190810190614819565b90505f6115b982856040516020016115a592919061497b565b604051602081830303815290604052612d2b565b90506001600160a01b0381166111cd57848460405160200161143692919061498f565b61117082825f612d3c565b60408051808201825260038152621bdd5d60ea1b602082015290516334515cdb60e21b81526060915f5160206156d65f395f51905f5291829063d145736c90611634908490600401614a03565b5f60405180830381865afa15801561164e573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526116759190810190614819565b9250505090565b6116ae6040518060a0016040528060608152602001606081526020016060815260200160608152602001606081525090565b5f5f5160206156d65f395f51905f5290506116f16040518060a0016040528060608152602001606081526020016060815260200160608152602001606081525090565b6116fa85612ed9565b60208201525f611709866131ed565b90505f836001600160a01b031663d930a0e66040518163ffffffff1660e01b81526004015f60405180830381865afa158015611747573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261176e9190810190614819565b868385602001516040516020016117889493929190614a37565b60408051601f19818403018152908290526360f9bb1160e01b825291505f906001600160a01b038616906360f9bb11906117c69085906004016148e9565b5f60405180830381865afa1580156117e0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526118079190810190614819565b604051636da11afb60e11b81529091506001600160a01b0386169063db4235f690611836908490600401614a9b565b602060405180830381865afa158015611851573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118759190614ad3565b61188a57816040516020016114369190614af2565b6040516309389f5960e31b81526001600160a01b038616906349c4fac8906118b6908490600401614b5b565b5f60405180830381865afa1580156118d0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526118f79190810190614819565b8452604051636da11afb60e11b81526001600160a01b0386169063db4235f690611925908490600401614ba0565b602060405180830381865afa158015611940573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119649190614ad3565b156119dc576040516309389f5960e31b81526001600160a01b038616906349c4fac890611995908490600401614ba0565b5f60405180830381865afa1580156119af573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526119d69190810190614819565b60408501525b846001600160a01b03166349c4fac882865f0151604051602001611a009190614be0565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401611a2c929190614c24565b5f60405180830381865afa158015611a46573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a6d9190810190614819565b606085015250608083015250949350505050565b60408051600480825260a082019092526060915f9190816020015b6060815260200190600190039081611a9c579050509050604051806040016040528060048152602001630677265760e41b815250815f81518110611ae257611ae261466f565b6020026020010181905250604051806040016040528060038152602001620b5c9b60ea1b81525081600181518110611b1c57611b1c61466f565b602002602001018190525084604051602001611b389190614c48565b60405160208183030381529060405281600281518110611b5a57611b5a61466f565b602002602001018190525082604051602001611b769190614c6e565b60405160208183030381529060405281600381518110611b9857611b9861466f565b60200260200101819052505f611bad826129bb565b90505f81602001519050611be760405180604001604052806005815260200164173539b7b760d91b815250826133c290919063ffffffff16565b611bfc57856040516020016114369190614c94565b9695505050505050565b60a0810151516060905f5160206156d65f395f51905f529015611d5557826020015115611cc15760405162461bcd60e51b815260206004820152605860248201527f54686520606c6963656e73655479706560206f7074696f6e2063616e6e6f742060448201527f62652075736564207768656e207468652060736b6970566572696679536f757260648201527f6365436f646560206f7074696f6e206973206074727565600000000000000000608482015260a401611028565b8260c0015115611d555760405162461bcd60e51b815260206004820152605360248201527f54686520606c6963656e73655479706560206f7074696f6e2063616e6e6f742060448201527f62652075736564207768656e207468652060736b69704c6963656e7365547970606482015272032b01037b83a34b7b71034b990303a393ab2b606d1b608482015260a401611028565b6040805160ff80825261200082019092525f91816020015b6060815260200190600190039081611d6d5750506040805180820190915260038152620dce0f60eb1b60208201529091505f908282611dab81614d13565b935060ff1681518110611dc057611dc061466f565b60200260200101819052506040518060400160405280600e81526020016d0302e302e312d616c7068612e31360941b815250604051602001611e029190614d31565b604051602081830303815290604052828280611e1d90614d13565b935060ff1681518110611e3257611e3261466f565b6020026020010181905250604051806040016040528060068152602001656465706c6f7960d01b815250828280611e6890614d13565b935060ff1681518110611e7d57611e7d61466f565b60200260200101819052506040518060400160405280600e81526020016d2d2d636f6e74726163744e616d6560901b815250828280611ebb90614d13565b935060ff1681518110611ed057611ed061466f565b60200260200101819052508760200151828280611eec90614d13565b935060ff1681518110611f0157611f0161466f565b60200260200101819052506040518060400160405280600e81526020016d05a5ac6dedce8e4c2c6e8a0c2e8d60931b815250828280611f3f90614d13565b935060ff1681518110611f5457611f5461466f565b602090810291909101015287518282611f6c81614d13565b935060ff1681518110611f8157611f8161466f565b6020026020010181905250604051806040016040528060098152602001680b4b58da185a5b925960ba1b815250828280611fba90614d13565b935060ff1681518110611fcf57611fcf61466f565b6020026020010181905250611fe34661347c565b8282611fee81614d13565b935060ff16815181106120035761200361466f565b60200260200101819052506040518060400160405280600f81526020016e2d2d6275696c64496e666f46696c6560881b81525082828061204290614d13565b935060ff16815181106120575761205761466f565b60200260200101819052508682828061206f90614d13565b935060ff16815181106120845761208461466f565b6020908102919091010152855115612186576040805180820190915260158152742d2d636f6e7374727563746f7242797465636f646560581b602082015282826120cd81614d13565b935060ff16815181106120e2576120e261466f565b60209081029190910101526040516371aad10d60e01b81526001600160a01b038416906371aad10d906121199089906004016148e9565b5f60405180830381865afa158015612133573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261215a9190810190614819565b828261216581614d13565b935060ff168151811061217a5761217a61466f565b60200260200101819052505b846020015115612233576040805180820190915260128152712d2d766572696679536f75726365436f646560701b602082015282826121c481614d13565b935060ff16815181106121d9576121d961466f565b60200260200101819052506040518060400160405280600581526020016466616c736560d81b81525082828061220e90614d13565b935060ff16815181106122235761222361466f565b602002602001018190525061237c565b60a085015151156122bd5760408051808201909152600d81526c2d2d6c6963656e73655479706560981b6020820152828261226d81614d13565b935060ff16815181106122825761228261466f565b60200260200101819052508460a001516040516020016122a29190614c48565b60405160208183030381529060405282828061220e90614d13565b8460c001511580156122d3575060408801515115155b1561237c5760408051808201909152600d81526c2d2d6c6963656e73655479706560981b6020820152828261230781614d13565b935060ff168151811061231c5761231c61466f565b60200260200101819052506123308861350b565b6040516020016123409190614c48565b60405160208183030381529060405282828061235b90614d13565b935060ff16815181106123705761237061466f565b60200260200101819052505b604085015151156124065760408051808201909152600b81526a0b4b5c995b185e595c925960aa1b602082015282826123b481614d13565b935060ff16815181106123c9576123c961466f565b602002602001018190525084604001518282806123e590614d13565b935060ff16815181106123fa576123fa61466f565b60200260200101819052505b6060850151156124f3576040805180820190915260068152650b4b5cd85b1d60d21b6020820152828261243881614d13565b935060ff168151811061244d5761244d61466f565b60209081029190910101526060850151604051631623433d60e31b815260048101919091526001600160a01b0384169063b11a19e8906024015f60405180830381865afa1580156124a0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526124c79190810190614819565b82826124d281614d13565b935060ff16815181106124e7576124e761466f565b60200260200101819052505b60e085015151156125865760408051808201909152600a8152690b4b59d85cd31a5b5a5d60b21b6020820152828261252a81614d13565b935060ff168151811061253f5761253f61466f565b602002602001018190525061255a8560e001515f015161347c565b828261256581614d13565b935060ff168151811061257a5761257a61466f565b60200260200101819052505b60e0850151602001511561261d5760408051808201909152600a8152692d2d676173507269636560b01b602082015282826125c081614d13565b935060ff16815181106125d5576125d561466f565b60200260200101819052506125f18560e001516020015161347c565b82826125fc81614d13565b935060ff16815181106126115761261161466f565b60200260200101819052505b60e085015160400151156126b85760408051808201909152600e81526d2d2d6d617846656550657247617360901b6020820152828261265b81614d13565b935060ff16815181106126705761267061466f565b602002602001018190525061268c8560e001516040015161347c565b828261269781614d13565b935060ff16815181106126ac576126ac61466f565b60200260200101819052505b60e0850151606001511561275b576040805180820190915260168152752d2d6d61785072696f7269747946656550657247617360501b602082015282826126fe81614d13565b935060ff16815181106127135761271361466f565b602002602001018190525061272f8560e001516060015161347c565b828261273a81614d13565b935060ff168151811061274f5761274f61466f565b60200260200101819052505b61010085015151156128715760408051808201909152600a8152692d2d6d6574616461746160b01b6020820152828261279381614d13565b935060ff16815181106127a8576127a861466f565b6020908102919091010152610100850151604051637005681f60e11b81526001600160a01b0385169163e00ad03e916127e49190600401614d74565b5f60405180830381865afa1580156127fe573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526128259190810190614819565b6040516020016128359190614c48565b60405160208183030381529060405282828061285090614d13565b935060ff16815181106128655761286561466f565b60200260200101819052505b6040805180820190915260088152671696b7b934b3b4b760c11b6020820152828261289b81614d13565b935060ff16815181106128b0576128b061466f565b602002602001018190525060405180604001604052806007815260200166466f756e64727960c81b8152508282806128e790614d13565b935060ff16815181106128fc576128fc61466f565b60200260200101819052505f8160ff166001600160401b038111156129235761292361465b565b60405190808252806020026020018201604052801561295657816020015b60608152602001906001900390816129415790505b5090505f5b8260ff168160ff1610156129ae57838160ff168151811061297e5761297e61466f565b6020026020010151828260ff168151811061299b5761299b61466f565b602090810291909101015260010161295b565b5098975050505050505050565b6129e160405180606001604052805f60030b815260200160608152602001606081525090565b6040805180820182526004808252630c4c2e6d60e31b602083015291516334515cdb60e21b81525f5160206156d65f395f51905f52925f91849163d145736c91612a2d91869101614dc6565b5f60405180830381865afa158015612a47573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612a6e9190810190614819565b90505f612a7b8683613b10565b90505f846001600160a01b031663f45c1ce7836040518263ffffffff1660e01b8152600401612aaa9190614e05565b5f604051808303815f875af1158015612ac5573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612aec9190810190614e68565b805190915060030b15801590612b055750602081015151155b8015612b145750604081015151155b15611bfc57815f81518110612b2b57612b2b61466f565b60200260200101516040516020016114369190614f14565b604051630fec62bb60e21b81526060905f5160206156d65f395f51905f52908190633fb18aec90612b7a9087908990600401614c24565b6020604051808303815f875af1158015612b96573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bba9190614ad3565b15612cfd57604051638bb7553360e01b81525f906001600160a01b03831690638bb7553390612bef9088908a90600401614c24565b5f60405180830381865afa158015612c09573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612c3091908101906150d5565b9050600281511115612c4f57858560405160200161143692919061519e565b5f81600181518110612c6357612c6361466f565b60200260200101519050826001600160a01b0316638bb75533826040518263ffffffff1660e01b8152600401612c9991906151fe565b5f60405180830381865afa158015612cb3573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612cda91908101906150d5565b5f81518110612ceb57612ceb61466f565b602002602001015193505050506112a3565b8215612d16578484604051602001611436929190615232565b505060408051602081019091525f81526112a3565b5f5f8251602084015ff09392505050565b81610100015115612d4c57505050565b5f612d58848484613c47565b90505f612d64826129bb565b60208101518151919250905f5160206156d65f395f51905f529060030b5f03612e2a57604051630fec62bb60e21b81526001600160a01b03821690633fb18aec90612db390859060040161526d565b6020604051808303815f875af1158015612dcf573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612df39190614ad3565b15612e195760408301515115612e1057612e1083604001516111d7565b50505050505050565b8160405160200161143691906152a8565b604051630fec62bb60e21b81526001600160a01b03821690633fb18aec90612e569085906004016152eb565b6020604051808303815f875af1158015612e72573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e969190614ad3565b15612ec45760408301515115612eb357612eb383604001516111d7565b816040516020016114369190615325565b826040015160405160200161143691906152a8565b6040805180820190915260048152630b9cdbdb60e21b60208201526060905f5160206156d65f395f51905f5290612f119084906133c2565b8015612f4257506040805180820190915260048152630b9cdbdb60e21b6020820152612f3e90849061434a565b6001145b15612fb457604051637005681f60e11b81526001600160a01b0382169063e00ad03e90612f73908690600401615361565b5f60405180830381865afa158015612f8d573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526112a39190810190614819565b6040805180820190915260018152601d60f91b6020820152612fd790849061434a565b60010361306d57604051638bb7553360e01b81526001600160a01b03821690638bb755339061300a9086906004016153aa565b5f60405180830381865afa158015613024573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261304b91908101906150d5565b60018151811061305d5761305d61466f565b6020026020010151915050919050565b604080518082019091526005815264173539b7b760d91b60208201526130949084906133c2565b80156130c65750604080518082019091526005815264173539b7b760d91b60208201526130c290849061434a565b6001145b156131dc57604051638bb7553360e01b81525f906001600160a01b03831690638bb75533906130f99087906004016153df565b5f60405180830381865afa158015613113573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261313a91908101906150d5565b90505f816001835161314c9190615414565b8151811061315c5761315c61466f565b60200260200101519050826001600160a01b031663e00ad03e826040518263ffffffff1660e01b81526004016131929190615427565b5f60405180830381865afa1580156131ac573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526131d39190810190614819565b95945050505050565b826040516020016114369190615471565b6040805180820190915260048152630b9cdbdb60e21b60208201526060905f5160206156d65f395f51905f52906132259084906133c2565b15613231575090919050565b6040805180820190915260018152601d60f91b602082015261325490849061434a565b6001036132d957604051638bb7553360e01b81526001600160a01b03821690638bb75533906132879086906004016153aa565b5f60405180830381865afa1580156132a1573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526132c891908101906150d5565b5f8151811061305d5761305d61466f565b604080518082019091526005815264173539b7b760d91b60208201526133009084906133c2565b156131dc57604051638bb7553360e01b81525f906001600160a01b03831690638bb75533906133339087906004016153df565b5f60405180830381865afa15801561334d573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261337491908101906150d5565b90506001815111156133b057806002825161338f9190615414565b8151811061339f5761339f61466f565b602002602001015192505050919050565b50826040516020016114369190615471565b604051638bb7553360e01b81525f905f5160206156d65f395f51905f529082908290638bb75533906133fa9088908890600401614c24565b5f60405180830381865afa158015613414573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261343b91908101906150d5565b9050600181511180156131d3575080600182516134589190615414565b815181106134685761346861466f565b6020026020010151515f1495945050505050565b60605f613488836143d3565b60010190505f816001600160401b038111156134a6576134a661465b565b6040519080825280601f01601f1916602001820160405280156134d0576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846134da57509392505050565b6040808201518151808301909252600a8252691553931250d15394d15160b21b602083015260609161353e9082906144aa565b156135655750506040805180820190915260048152634e6f6e6560e01b6020820152919050565b604080518082019091526009815268556e6c6963656e736560b81b60208201526135909082906144aa565b156135bc575050604080518082019091526009815268556e6c6963656e736560b81b6020820152919050565b60408051808201909152600381526213525560ea1b60208201526135e19082906144aa565b1561360757505060408051808201909152600381526213525560ea1b6020820152919050565b60408051808201909152600c81526b47504c2d322e302d6f6e6c7960a01b60208201526136359082906144aa565b8061366d575060408051808201909152601081526f23a8261699171816b7b916b630ba32b960811b602082015261366d9082906144aa565b1561369957505060408051808201909152600981526823a72a9023a8263b1960b91b6020820152919050565b60408051808201909152600c81526b47504c2d332e302d6f6e6c7960a01b60208201526136c79082906144aa565b806136ff575060408051808201909152601081526f23a8261699971816b7b916b630ba32b960811b60208201526136ff9082906144aa565b1561372b575050604080518082019091526009815268474e552047504c763360b81b6020820152919050565b60408051808201909152600d81526c4c47504c2d322e312d6f6e6c7960981b602082015261375a9082906144aa565b8061379357506040805180820190915260118152702623a8261699171896b7b916b630ba32b960791b60208201526137939082906144aa565b156137c257505060408051808201909152600c81526b474e55204c47504c76322e3160a01b6020820152919050565b60408051808201909152600d81526c4c47504c2d332e302d6f6e6c7960981b60208201526137f19082906144aa565b8061382a57506040805180820190915260118152702623a8261699971816b7b916b630ba32b960791b602082015261382a9082906144aa565b1561385757505060408051808201909152600a815269474e55204c47504c763360b01b6020820152919050565b60408051808201909152600c81526b4253442d322d436c6175736560a01b60208201526138859082906144aa565b156138b457505060408051808201909152600c81526b4253442d322d436c6175736560a01b6020820152919050565b60408051808201909152600c81526b4253442d332d436c6175736560a01b60208201526138e29082906144aa565b1561391157505060408051808201909152600c81526b4253442d332d436c6175736560a01b6020820152919050565b60408051808201909152600781526604d504c2d322e360cc1b602082015261393a9082906144aa565b1561396457505060408051808201909152600781526604d504c2d322e360cc1b6020820152919050565b60408051808201909152600781526604f534c2d332e360cc1b602082015261398d9082906144aa565b156139b757505060408051808201909152600781526604f534c2d332e360cc1b6020820152919050565b60408051808201909152600a81526904170616368652d322e360b41b60208201526139e39082906144aa565b15613a1057505060408051808201909152600a81526904170616368652d322e360b41b6020820152919050565b60408051808201909152600d81526c4147504c2d332e302d6f6e6c7960981b6020820152613a3f9082906144aa565b80613a78575060408051808201909152601181527020a3a8261699971816b7b916b630ba32b960791b6020820152613a789082906144aa565b15613aa557505060408051808201909152600a815269474e55204147504c763360b01b6020820152919050565b6040805180820190915260088152674255534c2d312e3160c01b6020820152613acf9082906144aa565b15613af957505060408051808201909152600781526642534c20312e3160c81b6020820152919050565b60408084015184519151611436929060200161551d565b6060805f5b8451811015613b9a5781858281518110613b3157613b3161466f565b6020026020010151604051602001613b4a92919061497b565b604051602081830303815290604052915060018551613b699190615414565b8114613b925781604051602001613b809190615652565b60405160208183030381529060405291505b600101613b15565b50604080516003808252608082019092525f91816020015b6060815260200190600190039081613bb257905050905083815f81518110613bdc57613bdc61466f565b6020026020010181905250604051806040016040528060028152602001612d6360f01b81525081600181518110613c1557613c1561466f565b60200260200101819052508181600281518110613c3457613c3461466f565b6020908102919091010152949350505050565b60605f613c526115e7565b60408051620100008082526220002082019092529192505f9190816020015b6060815260200190600190039081613c715750506040805180820190915260038152620dce0f60eb1b60208201529091505f908282613caf8161566e565b935061ffff1681518110613cc557613cc561466f565b60200260200101819052506040518060400160405280600781526020016605e312e33372e360cc1b815250604051602001613d009190615685565b604051602081830303815290604052828280613d1b9061566e565b935061ffff1681518110613d3157613d3161466f565b60200260200101819052506040518060400160405280600881526020016776616c696461746560c01b815250828280613d699061566e565b935061ffff1681518110613d7f57613d7f61466f565b602002602001018190525082604051602001613d9b9190614c6e565b604051602081830303815290604052828280613db69061566e565b935061ffff1681518110613dcc57613dcc61466f565b60200260200101819052506040518060400160405280600a8152602001690b4b58dbdb9d1c9858dd60b21b815250828280613e069061566e565b935061ffff1681518110613e1c57613e1c61466f565b6020026020010181905250613e3187846144ce565b8282613e3c8161566e565b935061ffff1681518110613e5257613e5261466f565b60209081029190910181019190915286515190870151519015801591151590613f31575f81613e8c578851613e8790876144ce565b613e8f565b88515b90506040518060400160405280600b81526020016a2d2d7265666572656e636560a81b815250858580613ec19061566e565b965061ffff1681518110613ed757613ed761466f565b602002602001018190525080604051602001613ef39190614c48565b604051602081830303815290604052858580613f0e9061566e565b965061ffff1681518110613f2457613f2461466f565b6020026020010181905250505b8015613fe95760408051808201909152601881527f2d2d7265666572656e63654275696c64496e666f44697273000000000000000060208201528484613f768161566e565b955061ffff1681518110613f8c57613f8c61466f565b60200260200101819052508760200151604051602001613fac9190614c48565b604051602081830303815290604052848480613fc79061566e565b955061ffff1681518110613fdd57613fdd61466f565b60200260200101819052505b5f5b8860600151518160ff1610156140d4575f89606001518260ff16815181106140155761401561466f565b6020026020010151905080515f146140c1576040805180820190915260098152682d2d6578636c75646560b81b602082015286866140528161566e565b975061ffff16815181106140685761406861466f565b6020026020010181905250806040516020016140849190614c48565b60405160208183030381529060405286868061409f9061566e565b975061ffff16815181106140b5576140b561466f565b60200260200101819052505b50806140cc81614d13565b915050613feb565b508760e00151156141445760408051808201909152601881527f2d2d756e73616665536b697053746f72616765436865636b00000000000000006020820152848461411e8161566e565b955061ffff16815181106141345761413461466f565b60200260200101819052506141a0565b86156141a0576040805180820190915260128152712d2d726571756972655265666572656e636560701b6020820152848461417e8161566e565b955061ffff16815181106141945761419461466f565b60200260200101819052505b6080880151511561422e5760408051808201909152600d81526c2d2d756e73616665416c6c6f7760981b602082015284846141da8161566e565b955061ffff16815181106141f0576141f061466f565b6020026020010181905250876080015184848061420c9061566e565b955061ffff16815181106142225761422261466f565b60200260200101819052505b8760a0015115614290576040805180820190915260148152732d2d756e73616665416c6c6f7752656e616d657360601b6020820152848461426e8161566e565b955061ffff16815181106142845761428461466f565b60200260200101819052505b5f8361ffff166001600160401b038111156142ad576142ad61465b565b6040519080825280602002602001820160405280156142e057816020015b60608152602001906001900390816142cb5790505b5090505f5b8461ffff168161ffff16101561433c57858161ffff168151811061430b5761430b61466f565b6020026020010151828261ffff16815181106143295761432961466f565b60209081029190910101526001016142e5565b509998505050505050505050565b604051638bb7553360e01b81525f905f5160206156d65f395f51905f529082908290638bb75533906143829088908890600401614c24565b5f60405180830381865afa15801561439c573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526143c391908101906150d5565b9050600181516131d39190615414565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106144115772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef8100000000831061443d576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061445b57662386f26fc10000830492506010015b6305f5e1008310614473576305f5e100830492506008015b612710831061448757612710830492506004015b60648310614499576064830492506002015b600a83106111d15760010192915050565b5f815183511480156112a35750508051602091820120825192909101919091201490565b60605f6144db848461167c565b80516020808301516040519394506144f5939091016156b6565b60405160208183030381529060405291505092915050565b60405180604001604052805f6001600160a01b0316815260200161455460405180604001604052805f6001600160801b031681526020015f6001600160801b031681525090565b905290565b60405180610140016040528060608152602001606081526020016060815260200160608152602001606081526020015f151581526020015f151581526020015f151581526020015f151581526020016145546040518061012001604052805f151581526020015f15158152602001606081526020015f815260200160608152602001606081526020015f1515815260200161461160405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001606081525090565b5f6020828403121561462e575f5ffd5b81516001600160a01b03811681146112a3575f5ffd5b5f60208284031215614654575f5ffd5b5051919050565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b8881526001600160a01b03888116602080840191909152888216604084015290871660608301526101006080830181905286519083018190525f91870190610120840190835b8181101561471357835180516001600160a01b0316845260209081015180516001600160801b039081168387015290820151166040850152909301926060909201916001016146c9565b505060a084018790526001600160a01b03861660c085015291506147349050565b6001600160a01b03831660e08301529998505050505050505050565b604051606081016001600160401b03811182821017156147725761477261465b565b60405290565b604051601f8201601f191681016001600160401b03811182821017156147a0576147a061465b565b604052919050565b5f82601f8301126147b7575f5ffd5b8151602083015f5f6001600160401b038411156147d6576147d661465b565b50601f8301601f19166020016147eb81614778565b9150508281528583830111156147ff575f5ffd5b8282602083015e5f92810160200192909252509392505050565b5f60208284031215614829575f5ffd5b81516001600160401b0381111561483e575f5ffd5b6111cd848285016147a8565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b604081525f61488a604083018561484a565b905063ffffffff831660208301529392505050565b604081525f6148b1604083018561484a565b905060018060a01b03831660208301529392505050565b604081525f6148da604083018561484a565b90508260208301529392505050565b602081525f6112a3602083018461484a565b6001600160a01b03831681526040602082018190525f906113499083018461484a565b5f81518060208401855e5f93019283525090919050565b7f4661696c656420746f206465706c6f7920636f6e74726163742000000000000081525f614966601a83018561491e565b6101d160f51b815261129f600282018561491e565b5f611349614989838661491e565b8461491e565b7f4661696c656420746f206465706c6f7920636f6e74726163742000000000000081525f6149c0601a83018561491e565b7f207573696e6720636f6e7374727563746f72206461746120220000000000000081526149f0601982018561491e565b601160f91b815260010195945050505050565b60408152600b60408201526a1193d55391149657d3d55560aa1b6060820152608060208201525f6112a3608083018461484a565b5f614a42828761491e565b602f60f81b8152614a56600182018761491e565b9050602f60f81b8152614a6c600182018661491e565b9050602f60f81b8152614a82600182018561491e565b64173539b7b760d91b8152600501979650505050505050565b604081525f614aad604083018461484a565b828103602084015260048152630b985cdd60e21b60208201526040810191505092915050565b5f60208284031215614ae3575f5ffd5b815180151581146112a3575f5ffd5b7f436f756c64206e6f742066696e642041535420696e206172746966616374200081525f614b23601f83018461491e565b7f2e205365742060617374203d20747275656020696e20666f756e6472792e746f8152611b5b60f21b60208201526022019392505050565b604081525f614b6d604083018461484a565b8281036020840152601181527005cc2e6e85cc2c4e6ded8eae8caa0c2e8d607b1b60208201526040810191505092915050565b604081525f614bb2604083018461484a565b8281036020840152600c81526b2e6173742e6c6963656e736560a01b60208201526040810191505092915050565b732e6d657461646174612e736f75726365732e5b2760601b81525f614c08601483018461491e565b6b13ae9735b2b1b1b0b5991a9b60a11b8152600c019392505050565b604081525f614c36604083018561484a565b828103602084015261129f818561484a565b601160f91b81525f614c5d600183018461491e565b601160f91b81526001019392505050565b5f614c79828461491e565b6a2f6275696c642d696e666f60a81b8152600b019392505050565b7f436f756c64206e6f742066696e64206275696c642d696e666f2066696c65207781527f697468206d61746368696e6720736f7572636520636f6465206861736820666f60208201526a0391031b7b73a3930b1ba160ad1b60408201525f6112a3604b83018461491e565b634e487b7160e01b5f52601160045260245ffd5b5f60ff821660ff8103614d2857614d28614cff565b60010192915050565b7f406f70656e7a657070656c696e2f646566656e6465722d6465706c6f792d636c81526801a595b9d0b58db1a560be1b60208201525f6112a3602983018461491e565b606081525f614d86606083018461484a565b82810380602085015260018252601160f91b60208301526040810160408501525060026040820152612e1160f11b60608201526080810191505092915050565b60408152601660408201527509ea08a9cb48aa0a08a98929cbe8482a690bea082a8960531b6060820152608060208201525f6112a3608083018461484a565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015614e5c57603f19878603018452614e4785835161484a565b94506020938401939190910190600101614e2b565b50929695505050505050565b5f60208284031215614e78575f5ffd5b81516001600160401b03811115614e8d575f5ffd5b820160608185031215614e9e575f5ffd5b614ea6614750565b81518060030b8114614eb6575f5ffd5b815260208201516001600160401b03811115614ed0575f5ffd5b614edc868285016147a8565b60208301525060408201516001600160401b03811115614efa575f5ffd5b614f06868285016147a8565b604083015250949350505050565b7f4661696c656420746f2072756e206261736820636f6d6d616e642077697468208152601160f91b60208201525f614f4f602183018461491e565b7f222e20496620796f7520617265207573696e672057696e646f77732c2073657481527f20746865204f50454e5a455050454c494e5f424153485f5041544820656e766960208201527f726f6e6d656e74207661726961626c6520746f207468652066756c6c7920717560408201527f616c69666965642070617468206f66207468652062617368206578656375746160608201527f626c652e20466f72206578616d706c652c20696620796f75206172652075736960808201527f6e672047697420666f722057696e646f77732c206164642074686520666f6c6c60a08201527f6f77696e67206c696e6520696e20746865202e656e762066696c65206f66207960c08201527f6f75722070726f6a65637420287573696e6720666f727761726420736c61736860e08201527f6573293a0a4f50454e5a455050454c494e5f424153485f504154483d22433a2f6101008201527f50726f6772616d2046696c65732f4769742f62696e2f6261736822000000000061012082015261013b019392505050565b5f602082840312156150e5575f5ffd5b81516001600160401b038111156150fa575f5ffd5b8201601f8101841361510a575f5ffd5b80516001600160401b038111156151235761512361465b565b8060051b61513360208201614778565b9182526020818401810192908101908784111561514e575f5ffd5b6020850192505b838310156151935782516001600160401b03811115615172575f5ffd5b615181896020838901016147a8565b83525060209283019290910190615155565b979650505050505050565b7f466f756e64206d756c7469706c65206f6363757272656e636573206f6620707281526565666978202760d01b60208201525f6151de602683018561491e565b6c0139034b71037baba383aba1d1609d1b815261129f600d82018561491e565b604081525f615210604083018461484a565b82810360209384015260018152600560f91b9281019290925250604001919050565b7f4661696c656420746f2066696e64206c696e65207769746820707265666978208152602760f81b60208201525f6151de602183018561491e565b604081525f61527f604083018461484a565b828103602084015260078152665355434345535360c81b60208201526040810191505092915050565b7f4661696c656420746f2072756e2075706772616465207361666574792076616c815268034b230ba34b7b71d160bd1b60208201525f6112a3602983018461491e565b604081525f6152fd604083018461484a565b8281036020840152600681526511905253115160d21b60208201526040810191505092915050565b7f55706772616465207361666574792076616c69646174696f6e206661696c65648152611d0560f11b60208201525f6112a3602283018461491e565b606081525f615373606083018461484a565b82810380602085015260048252630b9cdbdb60e21b6020830152604081016040850152505f60408201526060810191505092915050565b604081525f6153bc604083018461484a565b828103602084015260018152601d60f91b60208201526040810191505092915050565b604081525f6153f1604083018461484a565b828103602084015260018152602f60f81b60208201526040810191505092915050565b818103818111156111d1576111d1614cff565b606081525f615439606083018461484a565b8281038060208501526005825264173539b7b760d91b6020830152604081016040850152505f60408201526060810191505092915050565b6d021b7b73a3930b1ba103730b6b2960951b81525f615493600e83018461491e565b7f206d75737420626520696e2074686520666f726d6174204d79436f6e7472616381527f742e736f6c3a4d79436f6e7472616374206f72204d79436f6e74726163742e7360208201527f6f6c206f72206f75742f4d79436f6e74726163742e736f6c2f4d79436f6e747260408201526730b1ba173539b7b760c11b60608201526068019392505050565b7f53504458206c6963656e7365206964656e74696669657220000000000000000081525f61554e601883018561491e565b6301034b7160e51b8152615565600482018561491e565b7f20646f6573206e6f74206c6f6f6b206c696b65206120737570706f727465642081527f6c6963656e736520666f7220626c6f636b206578706c6f72657220766572696660208201527f69636174696f6e2e205573652074686520606c6963656e73655479706560206f60408201527f7074696f6e20746f20737065636966792061206c6963656e736520747970652c60608201527f206f7220736574207468652060736b69704c6963656e73655479706560206f7060808201527f74696f6e20746f2060747275656020746f20736b69702e00000000000000000060a082015260b70195945050505050565b5f61565d828461491e565b600160fd1b81526001019392505050565b5f61ffff821661ffff8103614d2857614d28614cff565b7f406f70656e7a657070656c696e2f75706772616465732d636f7265400000000081525f6112a3601c83018461491e565b5f6156c1828561491e565b601d60f91b815261129f600182018561491e56fe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d4d616e616765644f7074696d69737469634f7261636c6556322e736f6c3a4d616e616765644f7074696d69737469634f7261636c655632a2646970667358221220652feb5bcc85da6157c8824abca4fc5d8e4f5d281faa7196d127a6031ab4022a64736f6c634300081e0033","sourceMap":"1951:6769:84:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2008:4437;;;:::i;:::-;;849:28:1;;;;;;;;;;;;;;;179:14:102;;172:22;154:41;;142:2;127:18;849:28:1;;;;;;;2008:4437:84;2042:26;2071:24;:22;:24::i;:::-;2124:27;;-1:-1:-1;;;;;;2124:27:84;;;;;352:25:102;;;2042:53:84;;-1:-1:-1;2105:16:84;;-1:-1:-1;;;;;;;;;;;336:42:0;2124:7:84;;325:18:102;;2124:27:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2247:38;;;-1:-1:-1;;;2247:38:84;;;;;1004:21:102;;;;1061:2;1041:18;;;1034:30;-1:-1:-1;;;1080:18:102;;;1073:44;2223:21:84;1169:20:102;;;1162:62;;;2105:46:84;;-1:-1:-1;;;;;;;;;;;;336:42:0;2247:8:84;;1134:19:102;;2247:38:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2223:62;-1:-1:-1;;;;;;2299:27:84;;2295:100;;2358:26;:24;:26::i;:::-;2342:42;;2295:100;2440:43;;-1:-1:-1;;;2440:43:84;;1437:2:102;2440:43:84;;;1419:21:102;1476:2;1456:18;;;1449:30;1515:28;1495:18;;;1488:56;2405:32:84;;-1:-1:-1;;;;;;;;;;;336:42:0;2440:13:84;;1561:18:102;;2440:43:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2522:36;;-1:-1:-1;;;2522:36:84;;1792:2:102;2522:36:84;;;1774:21:102;1831:2;1811:18;;;1804:30;-1:-1:-1;;;1850:18:102;;;1843:49;2405:78:84;;-1:-1:-1;2493:26:84;;-1:-1:-1;;;;;;;;;;;336:42:0;2522:13:84;;1909:18:102;;2522:36:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2595:43;;;-1:-1:-1;;;2595:43:84;;;;;2150:21:102;;;;2207:2;2187:18;;;2180:30;-1:-1:-1;;;2226:18:102;;;2219:46;2632:4:84;2317:20:102;;;2310:36;2493:65:84;;-1:-1:-1;2569:23:84;;-1:-1:-1;;;;;;;;;;;336:42:0;2595:8:84;;2282:19:102;;2595:43:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2711;;;-1:-1:-1;;;2711:43:84;;;;;2758:21:102;;;;2815:2;2795:18;;;2788:30;-1:-1:-1;;;2834:18:102;;;2827:46;2748:4:84;2925:20:102;;;2918:36;2569:69:84;;-1:-1:-1;2685:23:84;;-1:-1:-1;;;;;;;;;;;336:42:0;2711:8:84;;2890:19:102;;2711:43:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2826:39;;;-1:-1:-1;;;2826:39:84;;;;;3177:21:102;;;;3234:2;3214:18;;;3207:30;-1:-1:-1;;;3253:18:102;;;3246:45;2801:22:84;3343:20:102;;;3336:62;;;2685:69:84;;-1:-1:-1;;;;;;;;;;;;336:42:0;2826:8:84;;3308:19:102;;2826:39:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2911:43;;;-1:-1:-1;;;2911:43:84;;;;;3621:21:102;;;;3678:2;3658:18;;;3651:30;-1:-1:-1;;;3697:18:102;;;3690:49;2875:25:84;3791:20:102;;;3784:36;;;2801:64:84;;-1:-1:-1;;;;;;;;;;;;336:42:0;2911:8:84;;3756:19:102;;2911:43:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3001;;;-1:-1:-1;;;3001:43:84;;;;;4043:21:102;;;;4100:2;4080:18;;;4073:30;-1:-1:-1;;;4119:18:102;;;4112:49;2965:25:84;4213:20:102;;;4206:36;;;2875:80:84;;-1:-1:-1;;;;;;;;;;;;336:42:0;3001:8:84;;4178:19:102;;3001:43:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2965:80;-1:-1:-1;3056:71:84;-1:-1:-1;;;;;3141:28:84;;;3137:659;;3281:52;;;3331:1;3281:52;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;3260:73;;3371:235;;;;;;;;3450:14;-1:-1:-1;;;;;3371:235:84;;;;;3490:101;;;;;;;;3540:17;-1:-1:-1;;;;;3490:101:84;;;;;3572:17;-1:-1:-1;;;;;3490:101:84;;;;3371:235;;;3347:18;3366:1;3347:21;;;;;;;;:::i;:::-;;;;;;:259;;;;3137:659;;;3754:31;:29;:31::i;:::-;3733:52;;3137:659;3884:34;;;-1:-1:-1;;;3884:34:84;;;;;4729:21:102;;;;4786:2;4766:18;;;4759:30;-1:-1:-1;;;4805:18:102;;;4798:42;-1:-1:-1;;;;;4914:32:102;;4892:20;;;4885:62;3862:19:84;;-1:-1:-1;;;;;;;;;;;336:42:0;3884:8:84;;4857:19:102;;3884:34:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3951:35;;;-1:-1:-1;;;3951:35:84;;;;;5170:21:102;;;;5227:2;5207:18;;;5200:30;-1:-1:-1;;;5246:18:102;;;5239:43;-1:-1:-1;;;;;5356:32:102;;5334:20;;;5327:62;3862:56:84;;-1:-1:-1;3928:20:84;;-1:-1:-1;;;;;;;;;;;336:42:0;3951:8:84;;5299:19:102;;3951:35:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3928:58;;3997:34;;;;;;;;;;;;;;-1:-1:-1;;;3997:34:84;;;4022:8;3997:11;:34::i;:::-;4041:45;;;;;;;;;;;;;;-1:-1:-1;;;4041:45:84;;;4072:13;4041:11;:45::i;:::-;4096:68;;;;;;;;;;;;;;;;;;4139:24;4096:11;:68::i;:::-;4174:55;;;;;;;;;;;;;;-1:-1:-1;;;4174:55:84;;;4210:18;4174:11;:55::i;:::-;4239:41;;;;;;;;;;;;;;-1:-1:-1;;;4239:41:84;;;4268:11;4239;:41::i;:::-;4290:43;;;;;;;;;;;;;;-1:-1:-1;;;4290:43:84;;;4320:12;4290:11;:43::i;:::-;4343:49;;;;;;;;;;;;;;-1:-1:-1;;;4343:49:84;;;4376:15;4343:11;:49::i;:::-;4402;;;;;;;;;;;;;;-1:-1:-1;;;4402:49:84;;;4435:15;4402:11;:49::i;:::-;4534:37;;-1:-1:-1;;;4534:37:84;;;;;352:25:102;;;-1:-1:-1;;;;;;;;;;;336:42:0;4534:17:84;;325:18:102;;4534:37:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4643:31;4716:599;;;;;;;;;;;;;;;;;;4953:15;4994:13;5033:24;5083:18;5127;5171:15;5212:11;5249:12;4833:468;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4833:468:84;;;;;;;;;;;;;;-1:-1:-1;;;;;4833:468:84;-1:-1:-1;;;4833:468:84;;;4716:24;:599::i;:::-;4643:682;;-1:-1:-1;;;;;;;;;;;;;;;;5336:16:84;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5402:43;;;;;;;;;;;;;;;;;;:11;:43::i;:::-;5455:45;;;;;;;;;;;;;;-1:-1:-1;;;5455:45:84;;;5493:5;5455:11;:45::i;:::-;5510:89;;;;;;;;;;;;;;;;;;5549:49;5591:5;5549:33;:49::i;:::-;5510:11;:89::i;:::-;5609:39;;;;;;;;;;;;;;-1:-1:-1;;;5609:39:84;;;5634:13;5609:11;:39::i;:::-;5658:34;;;;;;;;;;;;;;-1:-1:-1;;;5658:34:84;;;5683:8;5658:11;:34::i;:::-;5702:41;;;;;;;;;;;;;;-1:-1:-1;;;5702:41:84;;;5731:11;5702;:41::i;:::-;5753:43;;;;;;;;;;;;;;-1:-1:-1;;;5753:43:84;;;5783:12;5753:11;:43::i;:::-;5806:49;;;;;;;;;;;;;;-1:-1:-1;;;5806:49:84;;;5839:15;5806:11;:49::i;:::-;5865;;;;;;;;;;;;;;-1:-1:-1;;;5865:49:84;;;5898:15;5865:11;:49::i;:::-;5924:68;;;;;;;;;;;;;;;;;;5967:24;5924:11;:68::i;:::-;6002:55;;;;;;;;;;;;;;-1:-1:-1;;;6002:55:84;;;6038:18;6002:11;:55::i;:::-;6068:29;;;;;;;;;;;;;;-1:-1:-1;;;6068:29:84;;;:11;:29::i;:::-;6112:9;6107:332;6131:18;:25;6127:1;:29;6107:332;;;6177:67;;;;;;;;;;;;;;-1:-1:-1;;;6177:67:84;;;6212:18;6231:1;6212:21;;;;;;;;:::i;:::-;;;;;;;:30;;;6177:11;:67::i;:::-;6258:78;;;;;;;;;;;;;;-1:-1:-1;;;6258:78:84;;;6296:18;6315:1;6296:21;;;;;;;;:::i;:::-;;;;;;;:27;;;:39;;;-1:-1:-1;;;;;6258:78:84;:11;:78::i;:::-;6350;;;;;;;;;;;;;;-1:-1:-1;;;6350:78:84;;;6388:18;6407:1;6388:21;;;;;;;;:::i;:::-;;;;;;;:27;;;:39;;;-1:-1:-1;;;;;6350:78:84;:11;:78::i;:::-;6158:3;;6107:332;;;;2032:4413;;;;;;;;;;;;;;2008:4437::o;6610:226::-;6711:24;;-1:-1:-1;;;6711:24:84;;7204:2:102;6711:24:84;;;7186:21:102;7243:1;7223:18;;;7216:29;-1:-1:-1;;;7261:18:102;;;7254:38;6667:7:84;;;;-1:-1:-1;;;;;;;;;;;336:42:0;6711:12:84;;7309:18:102;;6711:24:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6711:24:84;;;;;;;;;;;;:::i;:::-;6804:25;;-1:-1:-1;;;6804:25:84;;6686:49;;-1:-1:-1;;;;;;;;;;;;336:42:0;6804:12:84;;:25;;6686:49;;6827:1;;6804:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6797:32;;;6610:226;:::o;7010:767::-;7069:21;7120:13;7159:8;7148:19;;;7144:627;;7213:42;7206:49;;;7010:767;:::o;7144:627::-;7276:7;7287:5;7276:16;7272:499;;7335:42;7328:49;;;7010:767;:::o;7272:499::-;7398:7;7409:1;7398:12;7394:377;;7465:42;7458:49;;;7010:767;:::o;7394:377::-;7528:7;7539:3;7528:14;7524:247;;7596:42;7589:49;;;7010:767;:::o;7524:247::-;7669:91;;-1:-1:-1;;;7669:91:84;;9688:2:102;7669:91:84;;;9670:21:102;9727:2;9707:18;;;9700:30;9766:34;9746:18;;;9739:62;9837:34;9817:18;;;9810:62;-1:-1:-1;;;9888:19:102;;;9881:48;9946:19;;7669:91:84;;;;;;;;7783:935;7871:52;7957:13;7996:3;7985:14;;;7981:611;;8147:52;;;8197:1;8147:52;;;;;;;;;8057:71;;8147:52;;;;;;:::i;:::-;;;;;;;;;;;;;;;;8057:142;;8237:305;;;;;;;;8316:42;-1:-1:-1;;;;;8237:305:84;;;;;8405:97;;;;;;;;8455:13;-1:-1:-1;;;;;8405:97:84;;;;;8483:17;-1:-1:-1;;;;;8405:97:84;;;;8237:305;;;8213:18;8232:1;8213:21;;;;;;;;:::i;:::-;;;;;;;;;;:329;8563:18;7783:935;-1:-1:-1;;7783:935:84:o;7981:611::-;8659:52;;;8709:1;8659:52;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;8652:59;;;7783:935;:::o;7740:145:16:-;7807:71;7870:2;7874;7823:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7823:54:16;;;;;;;;;;;;;;-1:-1:-1;;;;;7823:54:16;-1:-1:-1;;;7823:54:16;;;7807:15;:71::i;:::-;7740:145;;:::o;7139:::-;7206:71;7269:2;7273;7222:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7222:54:16;;;;;;;;;;;;;;-1:-1:-1;;;;;7222:54:16;-1:-1:-1;;;7222:54:16;;;7206:15;:71::i;2113:215:67:-;2214:7;2233:19;;:::i;:::-;2269:52;2285:12;2299:15;2316:4;2269:15;:52::i;:::-;2262:59;;;2113:215;;;;;:::o;6191:121:16:-;6246:59;6301:2;6262:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6262:42:16;;;;;;;;;;;;;;-1:-1:-1;;;;;6262:42:16;-1:-1:-1;;;6262:42:16;;;6246:15;:59::i;:::-;6191:121;:::o;19099:141:67:-;19171:7;19197:36;19227:5;19197:29;:36::i;851:129:16:-;922:51;965:7;934:29;922:51::i;1295:336:67:-;1447:7;1466:12;1481:40;1502:12;1516:4;1481:20;:40::i;:::-;1466:55;;1539:85;;;;;;;;;;;;;;;;;;1595:4;1601:15;1584:33;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1619:4;1539:11;:85::i;:::-;1532:92;;;1295:336;;;;;;:::o;12368:250:68:-;12524:35;;-1:-1:-1;;;12524:35:68;;-1:-1:-1;;;;;11375:32:102;;12524:35:68;;;11357:51:102;13749:66:68;11424:18:102;;;11417:34;12440:7:68;;-1:-1:-1;;;;;;;;;;;861:42:71;12440:7:68;;861:42:71;;12524:7:68;;11330:18:102;;12524:35:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12505:54;12368:250;-1:-1:-1;;;;12368:250:68:o;180:463:16:-;265:22;131:42;265:40;;594:1;571;541:7;535:14;510:2;501:7;497:16;461:14;434:5;402:211;381:246;367:270;180:463;:::o;16788:175:67:-;16885:7;16911:45;16937:12;16951:4;16911:25;:45::i;20042:380:68:-;20208:13;;;;:31;20185:7;;20204:212;;;20262:67;20284:12;20298:15;20315:4;:13;;;20262:21;:67::i;:::-;20255:74;;;;20204:212;20367:38;20375:12;20389:15;20367:7;:38::i;9842:230::-;9939:7;9958:42;9981:12;9995:4;9958:22;:42::i;:::-;10017:48;10024:12;10038:4;:20;;;10060:4;10017:6;:48::i;596:1052:69:-;755:7;774:20;797:17;:15;:17::i;:::-;774:40;;824:32;859:43;881:12;895:6;859:21;:43::i;:::-;824:78;;912:27;942:129;978:12;:27;;;1019:12;:22;;;1055:6;942:22;:129::i;:::-;912:159;;1082:22;1107:78;1126:12;1140:13;1155:15;1172:12;1107:18;:78::i;:::-;1082:103;;1196:26;1225:30;1248:6;1225:22;:30::i;:::-;1295:13;;;;1324:15;;1196:59;;-1:-1:-1;1295:13:69;1324:20;;;1320:156;;1421:12;1448:6;:13;;;1374:89;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1374:89:69;;;;;;;;;;-1:-1:-1;;;1360:105:69;;;;;;;:::i;1320:156::-;1486:29;1518:49;;;;;;;;;;;;;;-1:-1:-1;;;1518:49:69;;;1554:6;1562:4;1518:10;:49::i;:::-;1584:57;;-1:-1:-1;;;1584:57:69;;1486:81;;-1:-1:-1;;;;;;;;;;;;861:42:71;1584:40:69;;:57;;1486:81;;1584:57;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1577:64;596:1052;-1:-1:-1;;;;;;;;;;;596:1052:69:o;20428:745:68:-;20567:49;;-1:-1:-1;;;20567:49:68;;20520:7;;;;-1:-1:-1;;;;;;;;;;;861:42:71;20567:35:68;;:49;;20603:12;;20567:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20567:49:68;;;;;;;;;;;;:::i;:::-;20539:77;;20626:23;20652:68;20689:12;20703:15;20672:47;;;;;;;;;:::i;:::-;;;;;;;;;;;;;20652:19;:68::i;:::-;20626:94;-1:-1:-1;;;;;;20734:29:68;;20730:405;;20927:12;21025:15;20831:261;;;;;;;;;:::i;9327:143::-;9427:36;9437:12;9451:4;9457:5;9427:9;:36::i;4994:206:71:-;5103:35;;;;;;;;;;;-1:-1:-1;;;5103:35:71;;;;5155:38;;-1:-1:-1;;;5155:38:71;;5038:13;;-1:-1:-1;;;;;;;;;;;861:42:71;;;5155:8;;:38;;5103:35;;5155:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5155:38:71;;;;;;;;;;;;:::i;:::-;5148:45;;;;4994:206;:::o;2078:1403::-;2198:19;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2198:19:71;2229:5;-1:-1:-1;;;;;;;;;;;2229:29:71;;2269:24;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2269:24:71;2321:26;2334:12;2321;:26::i;:::-;2304:14;;;:43;2358:22;2383:25;2395:12;2383:11;:25::i;:::-;2358:50;;2419:26;2485:2;-1:-1:-1;;;;;2485:14:71;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2485:16:71;;;;;;;;;;;;:::i;:::-;2508:6;2521:8;2536:4;:14;;;2468:92;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2468:92:71;;;;;;;;;;-1:-1:-1;;;2609:25:71;;2468:92;-1:-1:-1;2580:26:71;;-1:-1:-1;;;;;2609:11:71;;;;;:25;;2468:92;;2609:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2609:25:71;;;;;;;;;;;;:::i;:::-;2650:38;;-1:-1:-1;;;2650:38:71;;2580:54;;-1:-1:-1;;;;;;2650:16:71;;;;;:38;;2580:54;;2650:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2645:351;;2857:12;2756:197;;;;;;;;:::i;2645:351::-;3025:53;;-1:-1:-1;;;3025:53:71;;-1:-1:-1;;;;;3025:18:71;;;;;:53;;3044:12;;3025:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3025:53:71;;;;;;;;;;;;:::i;:::-;3005:73;;3092:46;;-1:-1:-1;;;3092:46:71;;-1:-1:-1;;;;;3092:16:71;;;;;:46;;3109:12;;3092:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3088:140;;;3169:48;;-1:-1:-1;;;3169:48:71;;-1:-1:-1;;;;;3169:18:71;;;;;:48;;3188:12;;3169:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3169:48:71;;;;;;;;;;;;:::i;:::-;3154:12;;;:63;3088:140;3259:2;-1:-1:-1;;;;;3259:18:71;;3291:12;3365:4;:17;;;3324:75;;;;;;;;:::i;:::-;;;;;;;;;;;;;3259:151;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3259:151:71;;;;;;;;;;;;:::i;:::-;3237:19;;;:173;-1:-1:-1;3420:17:71;;;:32;-1:-1:-1;3237:19:71;2078:1403;-1:-1:-1;;;;2078:1403:71:o;3965:893::-;4169:15;;;4182:1;4169:15;;;;;;;;;4119:13;;4144:22;;4169:15;;;;;;;;;;;;;;;;;;;;;4144:40;;4194:18;;;;;;;;;;;;;-1:-1:-1;;;4194:18:71;;;:6;4201:1;4194:9;;;;;;;;:::i;:::-;;;;;;:18;;;;4222:17;;;;;;;;;;;;;-1:-1:-1;;;4222:17:71;;;:6;4229:1;4222:9;;;;;;;;:::i;:::-;;;;;;:17;;;;4290:14;4268:42;;;;;;;;:::i;:::-;;;;;;;;;;;;;4249:6;4256:1;4249:9;;;;;;;;:::i;:::-;;;;;;:62;;;;4357:6;4340:39;;;;;;;;:::i;:::-;;;;;;;;;;;;;4321:6;4328:1;4321:9;;;;;;;;:::i;:::-;;;;;;:59;;;;4391:26;4420:24;4437:6;4420:16;:24::i;:::-;4391:53;;4454:20;4484:6;:13;;;4454:44;;4514:24;;;;;;;;;;;;;;-1:-1:-1;;;4514:24:71;;;:6;:15;;:24;;;;:::i;:::-;4509:319;;4751:12;4606:179;;;;;;;;:::i;4509:319::-;4845:6;3965:893;-1:-1:-1;;;;;;3965:893:71:o;1654:3874:69:-;1956:24;;;;1950:38;1873:15;;-1:-1:-1;;;;;;;;;;;861:42:71;1950:43:69;1946:409;;2013:12;:33;;;2009:336;;;2066:98;;-1:-1:-1;;;2066:98:69;;20241:2:102;2066:98:69;;;20223:21:102;20280:2;20260:18;;;20253:30;20319:34;20299:18;;;20292:62;20390:34;20370:18;;;20363:62;20462:26;20441:19;;;20434:55;20506:19;;2066:98:69;20039:492:102;2009:336:69;2189:12;:28;;;2185:160;;;2237:93;;-1:-1:-1;;;2237:93:69;;20738:2:102;2237:93:69;;;20720:21:102;20777:2;20757:18;;;20750:30;20816:34;20796:18;;;20789:62;20887:34;20867:18;;;20860:62;-1:-1:-1;;;20938:19:102;;;20931:50;20998:19;;2237:93:69;20536:487:102;2185:160:69;2396:17;;;2409:3;2396:17;;;;;;;;;2365:28;;2396:17;;;;;;;;;;;;;;;;;-1:-1:-1;;2446:25:69;;;;;;;;;;;;-1:-1:-1;;;2446:25:69;;;;2365:48;;-1:-1:-1;;;2365:48:69;-1:-1:-1;2459:3:69;-1:-1:-1;2459:3:69;:::i;:::-;;;2446:17;;;;;;;;;;:::i;:::-;;;;;;:25;;;;2583:35;;;;;;;;;;;;;-1:-1:-1;;;2583:35:69;;;2521:98;;;;;;;;:::i;:::-;;;;;;;;;;;;;2481:12;2494:3;;;;;:::i;:::-;;;2481:17;;;;;;;;;;:::i;:::-;;;;;;:148;;;;2639:28;;;;;;;;;;;;;-1:-1:-1;;;2639:28:69;;;:12;2652:3;;;;;:::i;:::-;;;2639:17;;;;;;;;;;:::i;:::-;;;;;;:28;;;;2677:36;;;;;;;;;;;;;-1:-1:-1;;;2677:36:69;;;:12;2690:3;;;;;:::i;:::-;;;2677:17;;;;;;;;;;:::i;:::-;;;;;;:36;;;;2743:12;:22;;;2723:12;2736:3;;;;;:::i;:::-;;;2723:17;;;;;;;;;;:::i;:::-;;;;;;:42;;;;2775:36;;;;;;;;;;;;;-1:-1:-1;;;2775:36:69;;;:12;2788:3;;;;;:::i;:::-;;;2775:17;;;;;;;;;;:::i;:::-;;;;;;;;;;:36;2841:25;;2821:12;2834:3;;;;:::i;:::-;;;2821:17;;;;;;;;;;:::i;:::-;;;;;;:45;;;;2876:31;;;;;;;;;;;;;-1:-1:-1;;;2876:31:69;;;:12;2889:3;;;;;:::i;:::-;;;2876:17;;;;;;;;;;:::i;:::-;;;;;;:31;;;;2937;2954:13;2937:16;:31::i;:::-;2917:12;2930:3;;;;:::i;:::-;;;2917:17;;;;;;;;;;:::i;:::-;;;;;;:51;;;;2978:37;;;;;;;;;;;;;-1:-1:-1;;;2978:37:69;;;:12;2991:3;;;;;:::i;:::-;;;2978:17;;;;;;;;;;:::i;:::-;;;;;;:37;;;;3045:13;3025:12;3038:3;;;;;:::i;:::-;;;3025:17;;;;;;;;;;:::i;:::-;;;;;;;;;;:33;3072:22;;:26;3068:162;;3114:43;;;;;;;;;;;;-1:-1:-1;;;3114:43:69;;;;:12;3127:3;;;;:::i;:::-;;;3114:17;;;;;;;;;;:::i;:::-;;;;;;;;;;:43;3191:28;;-1:-1:-1;;;3191:28:69;;-1:-1:-1;;;;;3191:11:69;;;;;:28;;3203:15;;3191:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3191:28:69;;;;;;;;;;;;:::i;:::-;3171:12;3184:3;;;;:::i;:::-;;;3171:17;;;;;;;;;;:::i;:::-;;;;;;:48;;;;3068:162;3243:12;:33;;;3239:596;;;3292:40;;;;;;;;;;;;-1:-1:-1;;;3292:40:69;;;;:12;3305:3;;;;:::i;:::-;;;3292:17;;;;;;;;;;:::i;:::-;;;;;;:40;;;;3346:27;;;;;;;;;;;;;-1:-1:-1;;;3346:27:69;;;:12;3359:3;;;;;:::i;:::-;;;3346:17;;;;;;;;;;:::i;:::-;;;;;;:27;;;;3239:596;;;3400:24;;;;3394:38;:43;3390:445;;3453:35;;;;;;;;;;;;-1:-1:-1;;;3453:35:69;;;;:12;3466:3;;;;:::i;:::-;;;3453:17;;;;;;;;;;:::i;:::-;;;;;;:35;;;;3551:12;:24;;;3529:52;;;;;;;;:::i;:::-;;;;;;;;;;;;;3502:12;3515:3;;;;;:::i;3390:445::-;3604:12;:28;;;3603:29;:72;;;;-1:-1:-1;3642:20:69;;;;3636:34;:39;;3603:72;3599:236;;;3691:35;;;;;;;;;;;;-1:-1:-1;;;3691:35:69;;;;:12;3704:3;;;;:::i;:::-;;;3691:17;;;;;;;;;;:::i;:::-;;;;;;:35;;;;3789:28;3804:12;3789:14;:28::i;:::-;3767:56;;;;;;;;:::i;:::-;;;;;;;;;;;;;3740:12;3753:3;;;;;:::i;:::-;;;3740:17;;;;;;;;;;:::i;:::-;;;;;;:84;;;;3599:236;3854:22;;;;3848:36;:41;3844:161;;3905:33;;;;;;;;;;;;-1:-1:-1;;;3905:33:69;;;;:12;3918:3;;;;:::i;:::-;;;3905:17;;;;;;;;;;:::i;:::-;;;;;;:33;;;;3972:12;:22;;;3952:12;3965:3;;;;;:::i;:::-;;;3952:17;;;;;;;;;;:::i;:::-;;;;;;:42;;;;3844:161;4018:17;;;;:22;4014:145;;4056:28;;;;;;;;;;;;-1:-1:-1;;;4056:28:69;;;;:12;4069:3;;;;:::i;:::-;;;4056:17;;;;;;;;;;:::i;:::-;;;;;;;;;;:28;4130:17;;;;4118:30;;-1:-1:-1;;;4118:30:69;;;;;352:25:102;;;;-1:-1:-1;;;;;4118:11:69;;;;;325:18:102;;4118:30:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4118:30:69;;;;;;;;;;;;:::i;:::-;4098:12;4111:3;;;;:::i;:::-;;;4098:17;;;;;;;;;;:::i;:::-;;;;;;:50;;;;4014:145;4172:24;;;;:33;:38;4168:186;;4226:32;;;;;;;;;;;;-1:-1:-1;;;4226:32:69;;;;:12;4239:3;;;;:::i;:::-;;;4226:17;;;;;;;;;;:::i;:::-;;;;;;:32;;;;4292:51;4309:12;:24;;;:33;;;4292:16;:51::i;:::-;4272:12;4285:3;;;;:::i;:::-;;;4272:17;;;;;;;;;;:::i;:::-;;;;;;:71;;;;4168:186;4367:24;;;;:33;;;:38;4363:186;;4421:32;;;;;;;;;;;;-1:-1:-1;;;4421:32:69;;;;:12;4434:3;;;;:::i;:::-;;;4421:17;;;;;;;;;;:::i;:::-;;;;;;:32;;;;4487:51;4504:12;:24;;;:33;;;4487:16;:51::i;:::-;4467:12;4480:3;;;;:::i;:::-;;;4467:17;;;;;;;;;;:::i;:::-;;;;;;:71;;;;4363:186;4562:24;;;;:37;;;:42;4558:198;;4620:36;;;;;;;;;;;;-1:-1:-1;;;4620:36:69;;;;:12;4633:3;;;;:::i;:::-;;;4620:17;;;;;;;;;;:::i;:::-;;;;;;:36;;;;4690:55;4707:12;:24;;;:37;;;4690:16;:55::i;:::-;4670:12;4683:3;;;;:::i;:::-;;;4670:17;;;;;;;;;;:::i;:::-;;;;;;:75;;;;4558:198;4769:24;;;;:45;;;:50;4765:222;;4835:44;;;;;;;;;;;;-1:-1:-1;;;4835:44:69;;;;:12;4848:3;;;;:::i;:::-;;;4835:17;;;;;;;;;;:::i;:::-;;;;;;:44;;;;4913:63;4930:12;:24;;;:45;;;4913:16;:63::i;:::-;4893:12;4906:3;;;;:::i;:::-;;;4893:17;;;;;;;;;;:::i;:::-;;;;;;:83;;;;4765:222;5006:21;;;;5000:35;:40;4996:218;;5056:32;;;;;;;;;;;;-1:-1:-1;;;5056:32:69;;;;:12;5069:3;;;;:::i;:::-;;;5056:17;;;;;;;;;;:::i;:::-;;;;;;;;;;:32;5162:21;;;;5151:45;;-1:-1:-1;;;5151:45:69;;-1:-1:-1;;;;;5151:10:69;;;;;:45;;5162:21;5151:45;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5151:45:69;;;;;;;;;;;;:::i;:::-;5129:73;;;;;;;;:::i;:::-;;;;;;;;;;;;;5102:12;5115:3;;;;;:::i;:::-;;;5102:17;;;;;;;;;;:::i;:::-;;;;;;:101;;;;4996:218;5223:30;;;;;;;;;;;;-1:-1:-1;;;5223:30:69;;;;:12;5236:3;;;;:::i;:::-;;;5223:17;;;;;;;;;;:::i;:::-;;;;;;:30;;;;5263:29;;;;;;;;;;;;;-1:-1:-1;;;5263:29:69;;;:12;5276:3;;;;;:::i;:::-;;;5263:17;;;;;;;;;;:::i;:::-;;;;;;:29;;;;5366:22;5404:1;5391:15;;-1:-1:-1;;;;;5391:15:69;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5366:40:69;-1:-1:-1;5421:7:69;5416:82;5438:1;5434:5;;:1;:5;;;5416:82;;;5472:12;5485:1;5472:15;;;;;;;;;;:::i;:::-;;;;;;;5460:6;5467:1;5460:9;;;;;;;;;;:::i;:::-;;;;;;;;;;:27;5441:3;;5416:82;;;-1:-1:-1;5515:6:69;1654:3874;-1:-1:-1;;;;;;;;1654:3874:69:o;8232:1237:71:-;8300:19;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;8300:19:71;8370:38;;;;;;;;;;;;-1:-1:-1;;;8370:38:71;;;;8443:51;;-1:-1:-1;;;8443:51:71;;-1:-1:-1;;;;;;;;;;;861:42:71;8331:5;;861:42;;8443:8;;:51;;8370:38;;8443:51;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8443:51:71;;;;;;;;;;;;:::i;:::-;8418:76;;8505:27;8535:31;8549:6;8557:8;8535:13;:31::i;:::-;8505:61;;8576:26;8605:2;-1:-1:-1;;;;;8605:9:71;;8615:11;8605:22;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8605:22:71;;;;;;;;;;;;:::i;:::-;8641:15;;8576:51;;-1:-1:-1;8641:20:71;;;;;;:49;;-1:-1:-1;8665:13:71;;;;:20;:25;8641:49;:78;;;;-1:-1:-1;8694:13:71;;;;:20;:25;8641:78;8637:826;;;8996:11;9008:1;8996:14;;;;;;;;:::i;:::-;;;;;;;8893:483;;;;;;;;:::i;9087:1152:69:-;9295:35;;-1:-1:-1;;;9295:35:69;;9221:13;;-1:-1:-1;;;;;;;;;;;861:42:71;;;9295:11:69;;:35;;9307:6;;9315:14;;9295:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9291:942;;;9423:32;;-1:-1:-1;;;9423:32:69;;9396:24;;-1:-1:-1;;;;;9423:8:69;;;;;:32;;9432:6;;9440:14;;9423:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9423:32:69;;;;;;;;;;;;:::i;:::-;9396:59;;9491:1;9473:8;:15;:19;9469:395;;;9688:14;9777:6;9572:237;;;;;;;;;:::i;9469:395::-;9877:20;9900:8;9909:1;9900:11;;;;;;;;:::i;:::-;;;;;;;9877:34;;9972:2;-1:-1:-1;;;;;9972:8:69;;9981:6;9972:22;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9972:22:69;;;;;;;;;;;;:::i;:::-;9995:1;9972:25;;;;;;;;:::i;:::-;;;;;;;9965:32;;;;;;;9291:942;10018:8;10014:219;;;10127:14;10160:6;10073:94;;;;;;;;;:::i;10014:219::-;-1:-1:-1;;10213:9:69;;;;;;;;;-1:-1:-1;10213:9:69;;;;21179:266:68;21248:7;21267:12;21398:8;21392:15;21387:2;21377:8;21373:17;21370:1;21363:45;21355:53;21179:266;-1:-1:-1;;;21179:266:68:o;15903:1676::-;16016:4;:24;;;16012:61;;;15903:1676;;;:::o;16012:61::-;16083:22;16108:58;16129:12;16143:4;16149:16;16108:20;:58::i;:::-;16083:83;;16176:26;16205:30;16228:6;16205:22;:30::i;:::-;16275:13;;;;16444:15;;16176:59;;-1:-1:-1;16275:13:68;-1:-1:-1;;;;;;;;;;;861:42:71;16444:20:68;;16245;16444;16440:1133;;16585:30;;-1:-1:-1;;;16585:30:68;;-1:-1:-1;;;;;16585:11:68;;;;;:30;;16597:6;;16585:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16581:372;;;16639:13;;;;:20;:24;16635:156;;16738:34;16757:6;:13;;;16738:11;:34::i;:::-;16808:7;;;;15903:1676;;;:::o;16581:372::-;16929:6;16867:69;;;;;;;;:::i;16440:1133::-;16987:29;;-1:-1:-1;;;16987:29:68;;-1:-1:-1;;;;;16987:11:68;;;;;:29;;16999:6;;16987:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16983:580;;;17040:13;;;;:20;:24;17036:156;;17139:34;17158:6;:13;;;17139:11;:34::i;:::-;17355:6;17299:63;;;;;;;;:::i;16983:580::-;17531:6;:13;;;17462:84;;;;;;;;:::i;6079:937:71:-;6211:21;;;;;;;;;;;;-1:-1:-1;;;6211:21:71;;;;6143:13;;-1:-1:-1;;;;;;;;;;;861:42:71;6211:21;;:4;;:13;:21::i;:::-;:48;;;;-1:-1:-1;6236:18:71;;;;;;;;;;;;-1:-1:-1;;;6236:18:71;;;;;;:4;;:10;:18::i;:::-;6258:1;6236:23;6211:48;6207:803;;;6282:28;;-1:-1:-1;;;6282:28:71;;-1:-1:-1;;;;;6282:10:71;;;;;:28;;6293:4;;6282:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6282:28:71;;;;;;;;;;;;:::i;6207:803::-;6331:15;;;;;;;;;;;;-1:-1:-1;;;6331:15:71;;;;;;:4;;:10;:15::i;:::-;6350:1;6331:20;6327:683;;6374:19;;-1:-1:-1;;;6374:19:71;;-1:-1:-1;;;;;6374:8:71;;;;;:19;;6383:4;;6374:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6374:19:71;;;;;;;;;;;;:::i;:::-;6394:1;6374:22;;;;;;;;:::i;:::-;;;;;;;6367:29;;;6079:937;;;:::o;6327:683::-;6417:22;;;;;;;;;;;;-1:-1:-1;;;6417:22:71;;;;;;:4;;:13;:22::i;:::-;:50;;;;-1:-1:-1;6443:19:71;;;;;;;;;;;;-1:-1:-1;;;6443:19:71;;;;;;:4;;:10;:19::i;:::-;6466:1;6443:24;6417:50;6413:597;;;6507:19;;-1:-1:-1;;;6507:19:71;;6483:21;;-1:-1:-1;;;;;6507:8:71;;;;;:19;;6516:4;;6507:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6507:19:71;;;;;;;;;;;;:::i;:::-;6483:43;;6540:22;6565:5;6586:1;6571:5;:12;:16;;;;:::i;:::-;6565:23;;;;;;;;:::i;:::-;;;;;;;6540:48;;6609:2;-1:-1:-1;;;;;6609:10:71;;6620:8;6609:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6609:33:71;;;;;;;;;;;;:::i;:::-;6602:40;6079:937;-1:-1:-1;;;;;6079:937:71:o;6413:597::-;6809:4;6725:242;;;;;;;;:::i;5206:867::-;5337:21;;;;;;;;;;;;-1:-1:-1;;;5337:21:71;;;;5269:13;;-1:-1:-1;;;;;;;;;;;861:42:71;5337:21;;:4;;:13;:21::i;:::-;5333:734;;;-1:-1:-1;5381:4:71;;5206:867;-1:-1:-1;5206:867:71:o;5333:734::-;5406:15;;;;;;;;;;;;-1:-1:-1;;;5406:15:71;;;;;;:4;;:10;:15::i;:::-;5425:1;5406:20;5402:665;;5449:19;;-1:-1:-1;;;5449:19:71;;-1:-1:-1;;;;;5449:8:71;;;;;:19;;5458:4;;5449:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5449:19:71;;;;;;;;;;;;:::i;:::-;5469:1;5449:22;;;;;;;;:::i;5402:665::-;5506:22;;;;;;;;;;;;-1:-1:-1;;;5506:22:71;;;;;;:4;;:13;:22::i;:::-;5502:214;;;5572:19;;-1:-1:-1;;;5572:19:71;;5548:21;;-1:-1:-1;;;;;5572:8:71;;;;;:19;;5581:4;;5572:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5572:19:71;;;;;;;;;;;;:::i;:::-;5548:43;;5628:1;5613:5;:12;:16;5609:93;;;5660:5;5681:1;5666:5;:12;:16;;;;:::i;:::-;5660:23;;;;;;;;:::i;:::-;;;;;;;5653:30;;;;5206:867;;;:::o;5609:93::-;5530:186;5866:4;5782:242;;;;;;;;:::i;935:286:70:-;1107:25;;-1:-1:-1;;;1107:25:70;;1021:4;;-1:-1:-1;;;;;;;;;;;861:42:71;1021:4:70;;861:42:71;;1107:8:70;;:25;;1116:7;;1125:6;;1107:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1107:25:70;;;;;;;;;;;;:::i;:::-;1082:50;;1165:1;1149:6;:13;:17;:65;;;;;1176:6;1199:1;1183:6;:13;:17;;;;:::i;:::-;1176:25;;;;;;;;:::i;:::-;;;;;;;1170:39;1213:1;1170:44;1142:72;935:286;-1:-1:-1;;;;;935:286:70:o;1308:634:57:-;1364:13;1413:14;1430:17;1441:5;1430:10;:17::i;:::-;1450:1;1430:21;1413:38;;1465:20;1499:6;-1:-1:-1;;;;;1488:18:57;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1488:18:57;-1:-1:-1;1465:41:57;-1:-1:-1;1595:30:57;;;1611:4;1595:30;1652:247;-1:-1:-1;;1683:5:57;-1:-1:-1;;;1782:2:57;1771:14;;1766:32;1683:5;1753:46;1843:2;1834:11;;;-1:-1:-1;1863:21:57;1652:247;1863:21;-1:-1:-1;1919:6:57;1308:634;-1:-1:-1;;;1308:634:57:o;5565:1936:69:-;5689:20;;;;;5723:22;;;;;;;;;;;-1:-1:-1;;;5723:22:69;;;;5645:13;;5723:22;;5689:20;;5723:8;:22::i;:::-;5719:1776;;;-1:-1:-1;;5761:13:69;;;;;;;;;;;;-1:-1:-1;;;5761:13:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;5719:1776::-;5795:21;;;;;;;;;;;;-1:-1:-1;;;5795:21:69;;;;;;:2;;:8;:21::i;:::-;5791:1704;;;-1:-1:-1;;5832:18:69;;;;;;;;;;;;-1:-1:-1;;;5832:18:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;5791:1704::-;5871:15;;;;;;;;;;;;-1:-1:-1;;;5871:15:69;;;;;;:2;;:8;:15::i;:::-;5867:1628;;;-1:-1:-1;;5902:12:69;;;;;;;;;;;;-1:-1:-1;;;5902:12:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;5867:1628::-;5935:24;;;;;;;;;;;;-1:-1:-1;;;5935:24:69;;;;;;:2;;:8;:24::i;:::-;:56;;;-1:-1:-1;5963:28:69;;;;;;;;;;;;-1:-1:-1;;;5963:28:69;;;;;;:2;;:8;:28::i;:::-;5931:1564;;;-1:-1:-1;;6007:18:69;;;;;;;;;;;;-1:-1:-1;;;6007:18:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;5931:1564::-;6046:24;;;;;;;;;;;;-1:-1:-1;;;6046:24:69;;;;;;:2;;:8;:24::i;:::-;:56;;;-1:-1:-1;6074:28:69;;;;;;;;;;;;-1:-1:-1;;;6074:28:69;;;;;;:2;;:8;:28::i;:::-;6042:1453;;;-1:-1:-1;;6118:18:69;;;;;;;;;;;;-1:-1:-1;;;6118:18:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;6042:1453::-;6157:25;;;;;;;;;;;;-1:-1:-1;;;6157:25:69;;;;;;:2;;:8;:25::i;:::-;:58;;;-1:-1:-1;6186:29:69;;;;;;;;;;;;-1:-1:-1;;;6186:29:69;;;;;;:2;;:8;:29::i;:::-;6153:1342;;;-1:-1:-1;;6231:21:69;;;;;;;;;;;;-1:-1:-1;;;6231:21:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;6153:1342::-;6273:25;;;;;;;;;;;;-1:-1:-1;;;6273:25:69;;;;;;:2;;:8;:25::i;:::-;:58;;;-1:-1:-1;6302:29:69;;;;;;;;;;;;-1:-1:-1;;;6302:29:69;;;;;;:2;;:8;:29::i;:::-;6269:1226;;;-1:-1:-1;;6347:19:69;;;;;;;;;;;;-1:-1:-1;;;6347:19:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;6269:1226::-;6387:24;;;;;;;;;;;;-1:-1:-1;;;6387:24:69;;;;;;:2;;:8;:24::i;:::-;6383:1112;;;-1:-1:-1;;6427:21:69;;;;;;;;;;;;-1:-1:-1;;;6427:21:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;6383:1112::-;6469:24;;;;;;;;;;;;-1:-1:-1;;;6469:24:69;;;;;;:2;;:8;:24::i;:::-;6465:1030;;;-1:-1:-1;;6509:21:69;;;;;;;;;;;;-1:-1:-1;;;6509:21:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;6465:1030::-;6551:19;;;;;;;;;;;;-1:-1:-1;;;6551:19:69;;;;;;:2;;:8;:19::i;:::-;6547:948;;;-1:-1:-1;;6586:16:69;;;;;;;;;;;;-1:-1:-1;;;6586:16:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;6547:948::-;6623:19;;;;;;;;;;;;-1:-1:-1;;;6623:19:69;;;;;;:2;;:8;:19::i;:::-;6619:876;;;-1:-1:-1;;6658:16:69;;;;;;;;;;;;-1:-1:-1;;;6658:16:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;6619:876::-;6695:22;;;;;;;;;;;;-1:-1:-1;;;6695:22:69;;;;;;:2;;:8;:22::i;:::-;6691:804;;;-1:-1:-1;;6733:19:69;;;;;;;;;;;;-1:-1:-1;;;6733:19:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;6691:804::-;6773:25;;;;;;;;;;;;-1:-1:-1;;;6773:25:69;;;;;;:2;;:8;:25::i;:::-;:58;;;-1:-1:-1;6802:29:69;;;;;;;;;;;;-1:-1:-1;;;6802:29:69;;;;;;:2;;:8;:29::i;:::-;6769:726;;;-1:-1:-1;;6847:19:69;;;;;;;;;;;;-1:-1:-1;;;6847:19:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;6769:726::-;6887:20;;;;;;;;;;;;-1:-1:-1;;;6887:20:69;;;;;;:2;;:8;:20::i;:::-;6883:612;;;-1:-1:-1;;6923:16:69;;;;;;;;;;;;-1:-1:-1;;;6923:16:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;6883:612::-;7116:20;;;;;7194:25;;7022:430;;;;7194:25;7022:430;;;:::i;7388:595:71:-;7482:15;;7551:6;7546:266;7567:6;:13;7563:1;:17;7546:266;;;7641:13;7656:6;7663:1;7656:9;;;;;;;;:::i;:::-;;;;;;;7624:42;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7601:66;;7706:1;7690:6;:13;:17;;;;:::i;:::-;7685:1;:22;7681:121;;7767:13;7750:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;7727:60;;7681:121;7582:3;;7546:266;;;-1:-1:-1;7847:15:71;;;7860:1;7847:15;;;;;;;;;7822:22;;7847:15;;;;;;;;;;;;;;;;;;;;7822:40;;7884:8;7872:6;7879:1;7872:9;;;;;;;;:::i;:::-;;;;;;:20;;;;7902:16;;;;;;;;;;;;;-1:-1:-1;;;7902:16:71;;;:6;7909:1;7902:9;;;;;;;;:::i;:::-;;;;;;:16;;;;7940:13;7928:6;7935:1;7928:9;;;;;;;;:::i;:::-;;;;;;;;;;:25;7970:6;7388:595;-1:-1:-1;;;;7388:595:71:o;17585:2451:68:-;17740:15;17767:20;17790:17;:15;:17::i;:::-;17849:21;;;17862:7;17849:21;;;;;;;;;17767:40;;-1:-1:-1;17818:28:68;;17849:21;;;;;;;;;;;;;;;;;;-1:-1:-1;;17904:25:68;;;;;;;;;;;;-1:-1:-1;;;17904:25:68;;;;17818:52;;-1:-1:-1;;;17818:52:68;-1:-1:-1;17917:3:68;-1:-1:-1;17917:3:68;:::i;:::-;;;17904:17;;;;;;;;;;:::i;:::-;;;;;;:25;;;;18015:22;;;;;;;;;;;;;-1:-1:-1;;;18015:22:68;;;17966:72;;;;;;;;:::i;:::-;;;;;;;;;;;;;17939:12;17952:3;;;;;:::i;:::-;;;17939:17;;;;;;;;;;:::i;:::-;;;;;;:100;;;;18049:30;;;;;;;;;;;;;-1:-1:-1;;;18049:30:68;;;:12;18062:3;;;;;:::i;:::-;;;18049:17;;;;;;;;;;:::i;:::-;;;;;;:30;;;;18133:6;18116:39;;;;;;;;:::i;:::-;;;;;;;;;;;;;18089:12;18102:3;;;;;:::i;:::-;;;18089:17;;;;;;;;;;:::i;:::-;;;;;;:67;;;;18166:32;;;;;;;;;;;;;-1:-1:-1;;;18166:32:68;;;:12;18179:3;;;;;:::i;:::-;;;18166:17;;;;;;;;;;:::i;:::-;;;;;;:32;;;;18228:49;18256:12;18270:6;18228:27;:49::i;:::-;18208:12;18221:3;;;;:::i;:::-;;;18208:17;;;;;;;;;;:::i;:::-;;;;;;;;;;;:69;;;;18322:22;;18316:36;18405:26;;;;18399:40;18316:41;;;;;18399:45;;;18455:352;;18495:26;18524:24;:143;;18636:22;;18608:59;;18660:6;18608:27;:59::i;:::-;18524:143;;;18567:22;;18524:143;18495:172;;18681:33;;;;;;;;;;;;;-1:-1:-1;;;18681:33:68;;;:12;18694:3;;;;;:::i;:::-;;;18681:17;;;;;;;;;;:::i;:::-;;;;;;:33;;;;18777:12;18755:40;;;;;;;;:::i;:::-;;;;;;;;;;;;;18728:12;18741:3;;;;;:::i;:::-;;;18728:17;;;;;;;;;;:::i;:::-;;;;;;:68;;;;18481:326;18455:352;18821:24;18817:197;;;18861:46;;;;;;;;;;;;;;;;;:12;18874:3;;;;:::i;:::-;;;18861:17;;;;;;;;;;:::i;:::-;;;;;;:46;;;;18970:4;:26;;;18948:54;;;;;;;;:::i;:::-;;;;;;;;;;;;;18921:12;18934:3;;;;;:::i;:::-;;;18921:17;;;;;;;;;;:::i;:::-;;;;;;:82;;;;18817:197;19029:7;19024:302;19046:4;:12;;;:19;19042:1;:23;;;19024:302;;;19086:21;19110:4;:12;;;19123:1;19110:15;;;;;;;;;;:::i;:::-;;;;;;;19086:39;;19149:7;19143:21;19168:1;19143:26;19139:177;;19189:31;;;;;;;;;;;;-1:-1:-1;;;19189:31:68;;;;:12;19202:3;;;;:::i;:::-;;;19189:17;;;;;;;;;;:::i;:::-;;;;;;:31;;;;19287:7;19265:35;;;;;;;;:::i;:::-;;;;;;;;;;;;;19238:12;19251:3;;;;;:::i;:::-;;;19238:17;;;;;;;;;;:::i;:::-;;;;;;:63;;;;19139:177;-1:-1:-1;19067:3:68;;;;:::i;:::-;;;;19024:302;;;;19340:4;:27;;;19336:197;;;19383:46;;;;;;;;;;;;;;;;;:12;19396:3;;;;:::i;:::-;;;19383:17;;;;;;;;;;:::i;:::-;;;;;;:46;;;;19336:197;;;19450:16;19446:87;;;19482:40;;;;;;;;;;;;-1:-1:-1;;;19482:40:68;;;;:12;19495:3;;;;:::i;:::-;;;19482:17;;;;;;;;;;:::i;:::-;;;;;;:40;;;;19446:87;19553:16;;;;19547:30;:35;19543:151;;19598:35;;;;;;;;;;;;-1:-1:-1;;;19598:35:68;;;;:12;19611:3;;;;:::i;:::-;;;19598:17;;;;;;;;;;:::i;:::-;;;;;;:35;;;;19667:4;:16;;;19647:12;19660:3;;;;;:::i;:::-;;;19647:17;;;;;;;;;;:::i;:::-;;;;;;:36;;;;19543:151;19708:4;:23;;;19704:96;;;19747:42;;;;;;;;;;;;-1:-1:-1;;;19747:42:68;;;;:12;19760:3;;;;:::i;:::-;;;19747:17;;;;;;;;;;:::i;:::-;;;;;;:42;;;;19704:96;19873:22;19911:1;19898:15;;-1:-1:-1;;;;;19898:15:68;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19873:40:68;-1:-1:-1;19928:8:68;19923:83;19946:1;19942:5;;:1;:5;;;19923:83;;;19980:12;19993:1;19980:15;;;;;;;;;;:::i;:::-;;;;;;;19968:6;19975:1;19968:9;;;;;;;;;;:::i;:::-;;;;;;;;;;:27;19949:3;;19923:83;;;-1:-1:-1;20023:6:68;17585:2451;-1:-1:-1;;;;;;;;;17585:2451:68:o;1344:238:70:-;1516:25;;-1:-1:-1;;;1516:25:70;;1427:7;;-1:-1:-1;;;;;;;;;;;861:42:71;1427:7:70;;861:42:71;;1516:8:70;;:25;;1525:7;;1534:6;;1516:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1516:25:70;;;;;;;;;;;;:::i;:::-;1491:50;;1574:1;1558:6;:13;:17;;;;:::i;29154:916:61:-;29207:7;;-1:-1:-1;;;29282:17:61;;29278:103;;-1:-1:-1;;;29319:17:61;;;-1:-1:-1;29364:2:61;29354:12;29278:103;29407:8;29398:5;:17;29394:103;;29444:8;29435:17;;;-1:-1:-1;29480:2:61;29470:12;29394:103;29523:8;29514:5;:17;29510:103;;29560:8;29551:17;;;-1:-1:-1;29596:2:61;29586:12;29510:103;29639:7;29630:5;:16;29626:100;;29675:7;29666:16;;;-1:-1:-1;29710:1:61;29700:11;29626:100;29752:7;29743:5;:16;29739:100;;29788:7;29779:16;;;-1:-1:-1;29823:1:61;29813:11;29739:100;29865:7;29856:5;:16;29852:100;;29901:7;29892:16;;;-1:-1:-1;29936:1:61;29926:11;29852:100;29978:7;29969:5;:16;29965:66;;30015:1;30005:11;30057:6;29154:916;-1:-1:-1;;29154:916:61:o;4420:182:57:-;4492:4;4540:1;4534:15;4521:1;4515:15;:34;:80;;;;-1:-1:-1;;4576:19:57;;;;;;;4553;;;;;;;;;;:42;;4420:182::o;1338:303:71:-;1464:13;1489:24;1516:37;1532:12;1546:6;1516:15;:37::i;:::-;1594:17;;1618:14;;;;;1577:56;;1489:64;;-1:-1:-1;1577:56:71;;1618:14;;1577:56;;:::i;:::-;;;;;;;;;;;;;1563:71;;;1338:303;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;388:290:102:-;458:6;511:2;499:9;490:7;486:23;482:32;479:52;;;527:1;524;517:12;479:52;553:16;;-1:-1:-1;;;;;598:31:102;;588:42;;578:70;;644:1;641;634:12;2357:184;2427:6;2480:2;2468:9;2459:7;2455:23;2451:32;2448:52;;;2496:1;2493;2486:12;2448:52;-1:-1:-1;2519:16:102;;2357:184;-1:-1:-1;2357:184:102:o;4253:127::-;4314:10;4309:3;4305:20;4302:1;4295:31;4345:4;4342:1;4335:15;4369:4;4366:1;4359:15;4385:127;4446:10;4441:3;4437:20;4434:1;4427:31;4477:4;4474:1;4467:15;4501:4;4498:1;4491:15;5400:1597;5871:25;;;-1:-1:-1;;;;;5932:32:102;;;5927:2;5912:18;;;5905:60;;;;6001:32;;;5996:2;5981:18;;5974:60;6070:32;;;6065:2;6050:18;;6043:60;5858:3;6134;6119:19;;6112:32;;;6193:13;;5843:19;;;6215:22;;;5810:4;;6295:15;;;6268:3;6253:19;;;5810:4;6338:477;6352:6;6349:1;6346:13;6338:477;;;6411:13;;6453:9;;-1:-1:-1;;;;;6449:35:102;6437:48;;6532:2;6524:11;;;6518:18;6574:19;;-1:-1:-1;;;;;6570:60:102;;;6556:12;;;6549:82;6675:21;;;6669:28;6665:69;6660:2;6651:12;;6644:91;6790:15;;;;6764:2;6755:12;;;;6481:1;6367:9;6338:477;;;-1:-1:-1;;6866:3:102;6851:19;;6844:35;;;-1:-1:-1;;;;;749:31:102;;6930:3;6915:19;;737:44;6832:3;-1:-1:-1;6888:47:102;;-1:-1:-1;683:104:102;6888:47;-1:-1:-1;;;;;749:31:102;;6986:3;6971:19;;737:44;5400:1597;;;;;;;;;;;:::o;7338:253::-;7410:2;7404:9;7452:4;7440:17;;-1:-1:-1;;;;;7472:34:102;;7508:22;;;7469:62;7466:88;;;7534:18;;:::i;:::-;7570:2;7563:22;7338:253;:::o;7596:275::-;7667:2;7661:9;7732:2;7713:13;;-1:-1:-1;;7709:27:102;7697:40;;-1:-1:-1;;;;;7752:34:102;;7788:22;;;7749:62;7746:88;;;7814:18;;:::i;:::-;7850:2;7843:22;7596:275;;-1:-1:-1;7596:275:102:o;7876:627::-;7930:5;7983:3;7976:4;7968:6;7964:17;7960:27;7950:55;;8001:1;7998;7991:12;7950:55;8034:6;8028:13;8073:4;8065:6;8061:17;8102:1;8124;-1:-1:-1;;;;;8140:6:102;8137:30;8134:56;;;8170:18;;:::i;:::-;-1:-1:-1;8236:2:102;8215:15;;-1:-1:-1;;8211:29:102;8242:4;8207:40;8267:21;8207:40;8267:21;:::i;:::-;8256:32;;;8313:6;8304:7;8297:23;8353:3;8344:6;8339:3;8335:16;8332:25;8329:45;;;8370:1;8367;8360:12;8329:45;8414:6;8409:3;8402:4;8393:7;8389:18;8383:38;8470:1;8441:20;;;8463:4;8437:31;8430:42;;;;-1:-1:-1;8445:7:102;7876:627;-1:-1:-1;;;7876:627:102:o;8508:337::-;8588:6;8641:2;8629:9;8620:7;8616:23;8612:32;8609:52;;;8657:1;8654;8647:12;8609:52;8690:9;8684:16;-1:-1:-1;;;;;8715:6:102;8712:30;8709:50;;;8755:1;8752;8745:12;8709:50;8778:61;8831:7;8822:6;8811:9;8807:22;8778:61;:::i;8850:300::-;8903:3;8941:5;8935:12;8968:6;8963:3;8956:19;9024:6;9017:4;9010:5;9006:16;8999:4;8994:3;8990:14;8984:47;9076:1;9069:4;9060:6;9055:3;9051:16;9047:27;9040:38;9139:4;9132:2;9128:7;9123:2;9115:6;9111:15;9107:29;9102:3;9098:39;9094:50;9087:57;;;8850:300;;;;:::o;9155:326::-;9339:2;9328:9;9321:21;9302:4;9359:56;9411:2;9400:9;9396:18;9388:6;9359:56;:::i;:::-;9351:64;;9463:10;9455:6;9451:23;9446:2;9435:9;9431:18;9424:51;9155:326;;;;;:::o;9976:328::-;10153:2;10142:9;10135:21;10116:4;10173:56;10225:2;10214:9;10210:18;10202:6;10173:56;:::i;:::-;10165:64;;10294:1;10290;10285:3;10281:11;10277:19;10269:6;10265:32;10260:2;10249:9;10245:18;10238:60;9976:328;;;;;:::o;10309:302::-;10486:2;10475:9;10468:21;10449:4;10506:56;10558:2;10547:9;10543:18;10535:6;10506:56;:::i;:::-;10498:64;;10598:6;10593:2;10582:9;10578:18;10571:34;10309:302;;;;;:::o;10616:231::-;10765:2;10754:9;10747:21;10728:4;10785:56;10837:2;10826:9;10822:18;10814:6;10785:56;:::i;10852:326::-;-1:-1:-1;;;;;11027:32:102;;11009:51;;11096:2;11091;11076:18;;11069:30;;;-1:-1:-1;;11116:56:102;;11153:18;;11145:6;11116:56;:::i;11651:212::-;11693:3;11731:5;11725:12;11775:6;11768:4;11761:5;11757:16;11752:3;11746:36;11837:1;11801:16;;11826:13;;;-1:-1:-1;11801:16:102;;11651:212;-1:-1:-1;11651:212:102:o;11868:582::-;12279:28;12274:3;12267:41;12249:3;12327:39;12362:2;12357:3;12353:12;12345:6;12327:39;:::i;:::-;-1:-1:-1;;;12382:2:102;12375:16;12407:37;12441:1;12437:2;12433:10;12425:6;12407:37;:::i;12796:263::-;12971:3;12996:57;13022:30;13048:3;13040:6;13022:30;:::i;:::-;13014:6;12996:57;:::i;13064:808::-;13576:28;13571:3;13564:41;13546:3;13624:39;13659:2;13654:3;13650:12;13642:6;13624:39;:::i;:::-;13683:66;13679:2;13672:78;13769:38;13803:2;13799;13795:11;13787:6;13769:38;:::i;:::-;-1:-1:-1;;;13816:24:102;;13864:1;13856:10;;13064:808;-1:-1:-1;;;;;13064:808:102:o;13877:464::-;14127:2;14116:9;14109:21;14166:2;14161;14150:9;14146:18;14139:30;-1:-1:-1;;;14200:2:102;14189:9;14185:18;14178:41;14257:3;14250:4;14239:9;14235:20;14228:33;14090:4;14278:57;14330:3;14319:9;14315:19;14307:6;14278:57;:::i;14346:1037::-;15025:3;15053:30;15079:3;15071:6;15053:30;:::i;:::-;-1:-1:-1;;;15099:2:102;15092:15;15126:37;15160:1;15156:2;15152:10;15144:6;15126:37;:::i;:::-;15116:47;;-1:-1:-1;;;15179:2:102;15172:15;15206:37;15240:1;15236:2;15232:10;15224:6;15206:37;:::i;:::-;15196:47;;-1:-1:-1;;;15259:2:102;15252:15;15286:37;15320:1;15316:2;15312:10;15304:6;15286:37;:::i;:::-;-1:-1:-1;;;15332:19:102;;15375:1;15367:10;;14346:1037;-1:-1:-1;;;;;;;14346:1037:102:o;15388:495::-;15638:2;15627:9;15620:21;15601:4;15664:56;15716:2;15705:9;15701:18;15693:6;15664:56;:::i;:::-;15768:9;15760:6;15756:22;15751:2;15740:9;15736:18;15729:50;15803:1;15795:6;15788:17;-1:-1:-1;;;15833:2:102;15825:6;15821:15;15814:31;15874:2;15866:6;15862:15;15854:23;;;15388:495;;;;:::o;15888:277::-;15955:6;16008:2;15996:9;15987:7;15983:23;15979:32;15976:52;;;16024:1;16021;16014:12;15976:52;16056:9;16050:16;16109:5;16102:13;16095:21;16088:5;16085:32;16075:60;;16131:1;16128;16121:12;16170:577;16533:33;16528:3;16521:46;16503:3;16586:39;16621:2;16616:3;16612:12;16604:6;16586:39;:::i;:::-;16645:34;16634:46;;-1:-1:-1;;;16704:2:102;16696:11;;16689:25;16738:2;16730:11;;16170:577;-1:-1:-1;;;16170:577:102:o;16752:509::-;17002:2;16991:9;16984:21;16965:4;17028:56;17080:2;17069:9;17065:18;17057:6;17028:56;:::i;:::-;17132:9;17124:6;17120:22;17115:2;17104:9;17100:18;17093:50;17167:2;17159:6;17152:18;-1:-1:-1;;;17198:2:102;17190:6;17186:15;17179:44;17252:2;17244:6;17240:15;17232:23;;;16752:509;;;;:::o;17266:504::-;17516:2;17505:9;17498:21;17479:4;17542:56;17594:2;17583:9;17579:18;17571:6;17542:56;:::i;:::-;17646:9;17638:6;17634:22;17629:2;17618:9;17614:18;17607:50;17681:2;17673:6;17666:18;-1:-1:-1;;;17712:2:102;17704:6;17700:15;17693:39;17761:2;17753:6;17749:15;17741:23;;;17266:504;;;;:::o;17775:512::-;-1:-1:-1;;;18133:3:102;18126:35;18108:3;18180:39;18215:2;18210:3;18206:12;18198:6;18180:39;:::i;:::-;-1:-1:-1;;;18228:26:102;;18278:2;18270:11;;17775:512;-1:-1:-1;;;17775:512:102:o;18292:405::-;18489:2;18478:9;18471:21;18452:4;18515:56;18567:2;18556:9;18552:18;18544:6;18515:56;:::i;:::-;18619:9;18611:6;18607:22;18602:2;18591:9;18587:18;18580:50;18647:44;18684:6;18676;18647:44;:::i;18702:498::-;-1:-1:-1;;;19053:25:102;;19035:3;19097:38;19132:1;19123:11;;19115:6;19097:38;:::i;:::-;-1:-1:-1;;;19144:24:102;;19192:1;19184:10;;18702:498;-1:-1:-1;;;18702:498:102:o;19205:357::-;19437:3;19465:30;19491:3;19483:6;19465:30;:::i;:::-;-1:-1:-1;;;19504:25:102;;19553:2;19545:11;;19205:357;-1:-1:-1;;;19205:357:102:o;19567:467::-;19829:34;19824:3;19817:47;19894:34;19889:2;19884:3;19880:12;19873:56;-1:-1:-1;;;19954:2:102;19949:3;19945:12;19938:35;19799:3;19989:39;20024:2;20019:3;20015:12;20007:6;19989:39;:::i;21028:127::-;21089:10;21084:3;21080:20;21077:1;21070:31;21120:4;21117:1;21110:15;21144:4;21141:1;21134:15;21160:175;21197:3;21241:4;21234:5;21230:16;21270:4;21261:7;21258:17;21255:43;;21278:18;;:::i;:::-;21327:1;21314:15;;21160:175;-1:-1:-1;;21160:175:102:o;21340:400::-;21602:34;21597:3;21590:47;-1:-1:-1;;;21662:2:102;21657:3;21653:12;21646:33;21572:3;21695:39;21730:2;21725:3;21721:12;21713:6;21695:39;:::i;22161:756::-;22512:2;22501:9;22494:21;22475:4;22538:56;22590:2;22579:9;22575:18;22567:6;22538:56;:::i;:::-;22625:9;22617:6;22613:22;22671:2;22666;22655:9;22651:18;22644:30;22698:1;22690:6;22683:17;22742:2;22737:3;22733:12;22728:2;22720:6;22716:15;22709:37;22790:2;22786;22782:11;22777:2;22766:9;22762:18;22755:39;;22827:1;22822:2;22814:6;22810:15;22803:26;22871:5;22866:3;22862:15;22857:2;22849:6;22845:15;22838:40;22907:3;22899:6;22895:16;22887:24;;;22161:756;;;;:::o;22922:475::-;23172:2;23161:9;23154:21;23211:2;23206;23195:9;23191:18;23184:30;-1:-1:-1;;;23245:2:102;23234:9;23230:18;23223:52;23313:3;23306:4;23295:9;23291:20;23284:33;23135:4;23334:57;23386:3;23375:9;23371:19;23363:6;23334:57;:::i;23402:793::-;23564:4;23612:2;23601:9;23597:18;23642:2;23631:9;23624:21;23665:6;23700;23694:13;23731:6;23723;23716:22;23769:2;23758:9;23754:18;23747:25;;23831:2;23821:6;23818:1;23814:14;23803:9;23799:30;23795:39;23781:53;;23869:2;23861:6;23857:15;23890:1;23900:266;23914:6;23911:1;23908:13;23900:266;;;24007:2;24003:7;23991:9;23983:6;23979:22;23975:36;23970:3;23963:49;24035:51;24079:6;24070;24064:13;24035:51;:::i;:::-;24025:61;-1:-1:-1;24121:2:102;24144:12;;;;24109:15;;;;;23936:1;23929:9;23900:266;;;-1:-1:-1;24183:6:102;;23402:793;-1:-1:-1;;;;;;23402:793:102:o;24200:962::-;24298:6;24351:2;24339:9;24330:7;24326:23;24322:32;24319:52;;;24367:1;24364;24357:12;24319:52;24400:9;24394:16;-1:-1:-1;;;;;24425:6:102;24422:30;24419:50;;;24465:1;24462;24455:12;24419:50;24488:22;;24544:4;24526:16;;;24522:27;24519:47;;;24562:1;24559;24552:12;24519:47;24588:22;;:::i;:::-;24640:2;24634:9;24688:7;24685:1;24674:22;24665:7;24662:35;24652:63;;24711:1;24708;24701:12;24652:63;24724:22;;24785:2;24777:11;;24771:18;-1:-1:-1;;;;;24801:32:102;;24798:52;;;24846:1;24843;24836:12;24798:52;24882:56;24930:7;24919:8;24915:2;24911:17;24882:56;:::i;:::-;24877:2;24870:5;24866:14;24859:80;;24978:2;24974;24970:11;24964:18;-1:-1:-1;;;;;24997:8:102;24994:32;24991:52;;;25039:1;25036;25029:12;24991:52;25075:56;25123:7;25112:8;25108:2;25104:17;25075:56;:::i;:::-;25070:2;25059:14;;25052:80;-1:-1:-1;25063:5:102;24200:962;-1:-1:-1;;;;24200:962:102:o;25167:1266::-;25530:34;25518:47;;-1:-1:-1;;;25590:2:102;25581:12;;25574:34;-1:-1:-1;25627:39:102;25662:2;25653:12;;25645:6;25627:39;:::i;:::-;25686:66;25675:78;;25782:34;25777:2;25769:11;;25762:55;25846:34;25841:2;25833:11;;25826:55;25910:34;25905:2;25897:11;;25890:55;25975:34;25969:3;25961:12;;25954:56;26040:34;26034:3;26026:12;;26019:56;26105:34;26099:3;26091:12;;26084:56;26170:34;26164:3;26156:12;;26149:56;26235:66;26229:3;26221:12;;26214:88;26332:66;26326:3;26318:12;;26311:88;26423:3;26415:12;;25167:1266;-1:-1:-1;;;25167:1266:102:o;26438:1104::-;26543:6;26596:2;26584:9;26575:7;26571:23;26567:32;26564:52;;;26612:1;26609;26602:12;26564:52;26645:9;26639:16;-1:-1:-1;;;;;26670:6:102;26667:30;26664:50;;;26710:1;26707;26700:12;26664:50;26733:22;;26786:4;26778:13;;26774:27;-1:-1:-1;26764:55:102;;26815:1;26812;26805:12;26764:55;26848:2;26842:9;-1:-1:-1;;;;;26866:6:102;26863:30;26860:56;;;26896:18;;:::i;:::-;26942:6;26939:1;26935:14;26969:28;26993:2;26989;26985:11;26969:28;:::i;:::-;27031:19;;;27075:2;27105:11;;;27101:20;;;27066:12;;;;27133:19;;;27130:39;;;27165:1;27162;27155:12;27130:39;27197:2;27193;27189:11;27178:22;;27209:303;27225:6;27220:3;27217:15;27209:303;;;27304:3;27298:10;-1:-1:-1;;;;;27327:11:102;27324:35;27321:55;;;27372:1;27369;27362:12;27321:55;27401:68;27461:7;27456:2;27442:11;27438:2;27434:20;27430:29;27401:68;:::i;:::-;27389:81;;-1:-1:-1;27499:2:102;27242:12;;;;27490;;;;27209:303;;;27531:5;26438:1104;-1:-1:-1;;;;;;;26438:1104:102:o;27547:639::-;27958:34;27953:3;27946:47;-1:-1:-1;;;28018:2:102;28013:3;28009:12;28002:30;27928:3;28051:39;28086:2;28081:3;28077:12;28069:6;28051:39;:::i;:::-;-1:-1:-1;;;28106:2:102;28099:27;28142:38;28176:2;28172;28168:11;28160:6;28142:38;:::i;28191:500::-;28441:2;28430:9;28423:21;28404:4;28467:56;28519:2;28508:9;28504:18;28496:6;28467:56;:::i;:::-;28559:22;;;28554:2;28539:18;;;28532:50;28606:1;28591:17;;-1:-1:-1;;;28624:15:102;;;28617:36;;;;-1:-1:-1;28682:2:102;28670:15;;28191:500;-1:-1:-1;28191:500:102:o;28696:634::-;29107:34;29102:3;29095:47;-1:-1:-1;;;29167:2:102;29162:3;29158:12;29151:25;29077:3;29195:39;29230:2;29225:3;29221:12;29213:6;29195:39;:::i;29335:498::-;29585:2;29574:9;29567:21;29548:4;29611:56;29663:2;29652:9;29648:18;29640:6;29611:56;:::i;:::-;29715:9;29707:6;29703:22;29698:2;29687:9;29683:18;29676:50;29750:1;29742:6;29735:17;-1:-1:-1;;;29780:2:102;29772:6;29768:15;29761:34;29824:2;29816:6;29812:15;29804:23;;;29335:498;;;;:::o;29838:400::-;30100:34;30095:3;30088:47;-1:-1:-1;;;30160:2:102;30155:3;30151:12;30144:33;30070:3;30193:39;30228:2;30223:3;30219:12;30211:6;30193:39;:::i;30243:497::-;30493:2;30482:9;30475:21;30456:4;30519:56;30571:2;30560:9;30556:18;30548:6;30519:56;:::i;:::-;30623:9;30615:6;30611:22;30606:2;30595:9;30591:18;30584:50;30658:1;30650:6;30643:17;-1:-1:-1;;;30688:2:102;30680:6;30676:15;30669:33;30731:2;30723:6;30719:15;30711:23;;;30243:497;;;;:::o;30745:403::-;31007:34;30995:47;;-1:-1:-1;;;31067:2:102;31058:12;;31051:36;-1:-1:-1;31103:39:102;31138:2;31129:12;;31121:6;31103:39;:::i;31153:700::-;31504:2;31493:9;31486:21;31467:4;31530:56;31582:2;31571:9;31567:18;31559:6;31530:56;:::i;:::-;31617:9;31609:6;31605:22;31663:2;31658;31647:9;31643:18;31636:30;31690:1;31682:6;31675:17;-1:-1:-1;;;31720:2:102;31712:6;31708:15;31701:31;31776:2;31772;31768:11;31763:2;31752:9;31748:18;31741:39;;31813:1;31808:2;31800:6;31796:15;31789:26;31844:2;31836:6;31832:15;31824:23;;;31153:700;;;;:::o;31858:492::-;32108:2;32097:9;32090:21;32071:4;32134:56;32186:2;32175:9;32171:18;32163:6;32134:56;:::i;:::-;32238:9;32230:6;32226:22;32221:2;32210:9;32206:18;32199:50;32273:1;32265:6;32258:17;-1:-1:-1;;;32303:2:102;32295:6;32291:15;32284:28;32341:2;32333:6;32329:15;32321:23;;;31858:492;;;;:::o;32355:::-;32605:2;32594:9;32587:21;32568:4;32631:56;32683:2;32672:9;32668:18;32660:6;32631:56;:::i;:::-;32735:9;32727:6;32723:22;32718:2;32707:9;32703:18;32696:50;32770:1;32762:6;32755:17;-1:-1:-1;;;32800:2:102;32792:6;32788:15;32781:28;32838:2;32830:6;32826:15;32818:23;;;32355:492;;;;:::o;32852:128::-;32919:9;;;32940:11;;;32937:37;;;32954:18;;:::i;32985:701::-;33336:2;33325:9;33318:21;33299:4;33362:56;33414:2;33403:9;33399:18;33391:6;33362:56;:::i;:::-;33449:9;33441:6;33437:22;33495:2;33490;33479:9;33475:18;33468:30;33522:1;33514:6;33507:17;-1:-1:-1;;;33552:2:102;33544:6;33540:15;33533:32;33609:2;33605;33601:11;33596:2;33585:9;33581:18;33574:39;;33646:1;33641:2;33633:6;33629:15;33622:26;33677:2;33669:6;33665:15;33657:23;;;32985:701;;;;:::o;33691:695::-;-1:-1:-1;;;34049:3:102;34042:29;34024:3;34090:39;34125:2;34120:3;34116:12;34108:6;34090:39;:::i;:::-;34149:34;34138:46;;34213:34;34208:2;34200:11;;34193:55;34277:34;34272:2;34264:11;;34257:55;-1:-1:-1;;;34336:2:102;34328:11;;34321:31;34376:3;34368:12;;33691:695;-1:-1:-1;;;33691:695:102:o;34523:1082::-;35035:26;35030:3;35023:39;35005:3;35081:39;35116:2;35111:3;35107:12;35099:6;35081:39;:::i;:::-;-1:-1:-1;;;35136:2:102;35129:18;35166:37;35200:1;35196:2;35192:10;35184:6;35166:37;:::i;:::-;35223:34;35212:46;;35287:34;35282:2;35274:11;;35267:55;35351:34;35346:2;35338:11;;35331:55;35415:34;35410:2;35402:11;;35395:55;35480:34;35474:3;35466:12;;35459:56;35545:25;35539:3;35531:12;;35524:47;35595:3;35587:12;;34523:1082;-1:-1:-1;;;;;34523:1082:102:o;35882:346::-;36114:3;36142:30;36168:3;36160:6;36142:30;:::i;:::-;-1:-1:-1;;;36181:15:102;;36220:1;36212:10;;35882:346;-1:-1:-1;;;35882:346:102:o;36233:180::-;36271:3;36315:6;36308:5;36304:18;36346:6;36337:7;36334:19;36331:45;;36356:18;;:::i;36418:354::-;36680:30;36675:3;36668:43;36650:3;36727:39;36762:2;36757:3;36753:12;36745:6;36727:39;:::i;36777:421::-;37057:3;37085:30;37111:3;37103:6;37085:30;:::i;:::-;-1:-1:-1;;;37131:2:102;37124:15;37155:37;37189:1;37185:2;37181:10;37173:6;37155:37;:::i","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","run()":"c0406226"}}}},"script/RedeployAddressWhitelist.s.sol":{"RedeployAddressWhitelist":{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Redeployment script for AddressWhitelist\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Deploys a new AddressWhitelist contract duplicating the configuration from a previous deployment Environment variables: - MNEMONIC: Required. The mnemonic phrase for the deployer wallet - PREVIOUS_ADDRESS_WHITELIST: Required. The address of the previous AddressWhitelist contract to duplicate - DEPLOYER_MULTISIG: Optional. The address of a Safe multisig to use for batching transactions - MULTISEND_ADDRESS: Optional. The address of the MultiSend contract (defaults to MultiSendCallOnly v1.4.1)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"script/RedeployAddressWhitelist.s.sol\":\"RedeployAddressWhitelist\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0xa3735a6618a3014e42bb4329ad143e3b2c59cd95094350202e4c4a06c9d585dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef9db48d94726ec3d3fa3a84a8d520903705190f7ee7a04a065335a6aeeac4d\",\"dweb:/ipfs/QmSWmNny7TkzyqRPjGdpERAJuBwwznrGPLUqS4DZy5fX5z\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xd3edaf57db178f839d97ccee0009c2b7b20f78c2adca9028a6013acb8d5b4c5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f17329ac1d25d3e6657ca240dee0a3f9b2cf22a64a05b87dac15252dee74351\",\"dweb:/ipfs/QmPHxkEwgVpQNbU52s58RmmegrkYGj8bNKTVSW8rZm3dBm\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x7274081e11c05164fd8eadde4de8305c033e58a43008dea58065f3170ccf0737\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9801614b6c9d3e472982e6cc68f5f1ad03682f84eafb686be65633c7132d138\",\"dweb:/ipfs/QmcQSUcrm2A7XuektnxJjvYGmZtBeA6LKPxCXRqdXBX776\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/utils/Arrays.sol\":{\"keccak256\":\"0xa4b9958797e0e9cde82a090525e90f80d5745ba1c67ee72b488bd3087498a17e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9344f7c2f80322c2e76d9d89bed03fd12f3e011e74fde7cf24ea21bdd2abe2d\",\"dweb:/ipfs/QmPMAjF5x2fHUAee2FKMZDBbFVrbZbPCr3a9KHLZaSn1zY\"]},\"lib/openzeppelin-contracts/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2\",\"dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x1fc283df727585919c3db301b948a3e827aee16917457ad7f916db9da2228e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4f4b5e2cd0ebc3b74e41e4e94771a0417eedd9b11cec3ef9f90b2ac2989264b\",\"dweb:/ipfs/QmZmsEsvsXiwAyAe1YeoLSKezeFcvR1giUeEY6ex4zpsTS\"]},\"lib/protocol/packages/core/contracts/common/implementation/Lockable.sol\":{\"keccak256\":\"0x41d78fcce54598ad5f26bc0b778c0f4fedbd836401625e49e736979f69a87ef0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ce111bb50441ef5125e7d42284f6debbc17fd589515d7b8cede7e9d1d5f0ede\",\"dweb:/ipfs/QmaXiXACWVEDDHoCHNXdVBoNpf8QNHkUZ1kf5MfbxfL6jj\"]},\"script/RedeployAddressWhitelist.s.sol\":{\"keccak256\":\"0x51ab048065292609fb1619effb5559fe1a30ea94dc1d9acbdd7185bbcc5d1457\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://b09b1bf252195a8b4b362e6c22ee423875a7cdb3c1f7b40ea1dbc5d7f779f864\",\"dweb:/ipfs/QmVTauu8S8QZoKnjKBSRBWMjrNvzT514nggQ15RHjJt28M\"]},\"src/common/implementation/AddressWhitelist.sol\":{\"keccak256\":\"0xa3b999d7b717c1bf4bb1b958ef5e26717ad965babe994aa8db3fb301f240c876\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7e1c4c81902a72dcf579e28f922f4910aadf5edaee4b2a4defe60c61dc00fbca\",\"dweb:/ipfs/QmUMZbko39hTe8epg77B8k9XYGmKNxLjnkLdd6x8v2xDyV\"]},\"src/common/interfaces/AddressWhitelistInterface.sol\":{\"keccak256\":\"0x126b2bc590041cf213c274bedc91c06a263ddff5e11a090be80d7db8b1cb0d8f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0f47e32816f895d4a3a060eded9bba7853eff6a6d99c3de5b4d1ca8359ce1c49\",\"dweb:/ipfs/QmVWt7xTr68owupHSUUJNfV2N3n2bTvTWtXCDtu8k3uVBN\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":46,"contract":"script/RedeployAddressWhitelist.s.sol:RedeployAddressWhitelist","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)8093_storage"},{"astId":2745,"contract":"script/RedeployAddressWhitelist.s.sol:RedeployAddressWhitelist","label":"stdChainsInitialized","offset":0,"slot":"8","type":"t_bool"},{"astId":2766,"contract":"script/RedeployAddressWhitelist.s.sol:RedeployAddressWhitelist","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)2761_storage)"},{"astId":2770,"contract":"script/RedeployAddressWhitelist.s.sol:RedeployAddressWhitelist","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":2774,"contract":"script/RedeployAddressWhitelist.s.sol:RedeployAddressWhitelist","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":2777,"contract":"script/RedeployAddressWhitelist.s.sol:RedeployAddressWhitelist","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":3715,"contract":"script/RedeployAddressWhitelist.s.sol:RedeployAddressWhitelist","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":99,"contract":"script/RedeployAddressWhitelist.s.sol:RedeployAddressWhitelist","label":"IS_SCRIPT","offset":2,"slot":"12","type":"t_bool"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))"},"t_mapping(t_bytes32,t_struct(FindData)8068_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)8068_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)8068_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)2761_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)2761_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)2761_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":2754,"contract":"script/RedeployAddressWhitelist.s.sol:RedeployAddressWhitelist","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":2756,"contract":"script/RedeployAddressWhitelist.s.sol:RedeployAddressWhitelist","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":2758,"contract":"script/RedeployAddressWhitelist.s.sol:RedeployAddressWhitelist","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":2760,"contract":"script/RedeployAddressWhitelist.s.sol:RedeployAddressWhitelist","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)8068_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":8061,"contract":"script/RedeployAddressWhitelist.s.sol:RedeployAddressWhitelist","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":8063,"contract":"script/RedeployAddressWhitelist.s.sol:RedeployAddressWhitelist","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":8065,"contract":"script/RedeployAddressWhitelist.s.sol:RedeployAddressWhitelist","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":8067,"contract":"script/RedeployAddressWhitelist.s.sol:RedeployAddressWhitelist","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(StdStorage)8093_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":8077,"contract":"script/RedeployAddressWhitelist.s.sol:RedeployAddressWhitelist","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))"},{"astId":8080,"contract":"script/RedeployAddressWhitelist.s.sol:RedeployAddressWhitelist","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":8082,"contract":"script/RedeployAddressWhitelist.s.sol:RedeployAddressWhitelist","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":8084,"contract":"script/RedeployAddressWhitelist.s.sol:RedeployAddressWhitelist","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":8086,"contract":"script/RedeployAddressWhitelist.s.sol:RedeployAddressWhitelist","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":8088,"contract":"script/RedeployAddressWhitelist.s.sol:RedeployAddressWhitelist","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":8090,"contract":"script/RedeployAddressWhitelist.s.sol:RedeployAddressWhitelist","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":8092,"contract":"script/RedeployAddressWhitelist.s.sol:RedeployAddressWhitelist","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"6080604052600c805462ff00ff191662010001179055348015601f575f5ffd5b506127e08061002d5f395ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c8063c040622614610038578063f8ccbf4714610042575b5f5ffd5b610040610069565b005b600c546100559062010000900460ff1681565b604051901515815260200160405180910390f35b60405163f877cb1960e01b81526020600482015260086024820152674d4e454d4f4e494360c01b60448201525f90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f877cb19906064015f60405180830381865afa1580156100d0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526100f7919081019061196a565b60405163350d56bf60e01b815260206004820152601a60248201527f50524556494f55535f414444524553535f57484954454c49535400000000000060448201529091505f90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063350d56bf90606401602060405180830381865afa158015610177573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061019b9190611a19565b604080516301587f9560e61b8152600481019190915260116044820152704445504c4f5945525f4d554c544953494760781b60648201525f60248201819052919250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063561fe54090608401602060405180830381865afa158015610217573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061023b9190611a19565b604080516301587f9560e61b8152600481019190915260116044820152704d554c544953454e445f4144445245535360781b6064820152739641d764fc13c8b624c04430c7356c1c7c8102e260248201529091505f90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063561fe54090608401602060405180830381865afa1580156102cb573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102ef9190611a19565b604051636229498b60e01b81529091505f90737109709ecfa91a80626ff3989d68f67f5b1dd12d90636229498b9061032d9088908590600401611a60565b602060405180830381865afa158015610348573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061036c9190611a87565b6040516001625e79b760e01b03198152600481018290529091505f90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156103c2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103e69190611a19565b90506104276040518060400160405280601a81526020017f50726576696f7573204164647265737357686974656c6973743a0000000000008152508661112e565b610452604051806040016040528060098152602001682232b83637bcb2b91d60b91b8152508261112e565b6001600160a01b038416156104de576104a06040518060400160405280601a81526020017f4d756c746973696720616464726573732070726f76696465643a0000000000008152508561112e565b6104aa8482611177565b6104de6040518060400160405280601281526020017126bab63a34a9b2b7321030b2323932b9b99d60711b8152508461112e565b5f8590505f816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561051f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105439190611a19565b90505f826001600160a01b031663d01f63f56040518163ffffffff1660e01b81526004015f60405180830381865afa158015610581573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526105a89190810190611a9e565b90506105db6040518060400160405280600f81526020016e283932bb34b7bab99027bbb732b91d60891b8152508361112e565b6105fe6040518060600160405280602881526020016125d76028913982516112be565b60405163ce817d4760e01b815260048101869052737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ce817d47906024015f604051808303815f87803b158015610648575f5ffd5b505af115801561065a573d5f5f3e3d5ffd5b505050505f60405161066b90611918565b604051809103905ff080158015610684573d5f5f3e3d5ffd5b5090506106a96040518060600160405280602181526020016125b6602191398261112e565b5f6001600160a01b0389166106be57856106c0565b885b90506106e46040518060600160405280602881526020016125ff602891398261112e565b6001600160a01b0389161561079e576107146040518060600160405280603281526020016124e160329139611303565b60405163f2fde38b60e01b81526001600160a01b038a8116600483015283169063f2fde38b906024015f604051808303815f87803b158015610754575f5ffd5b505af1158015610766573d5f5f3e3d5ffd5b5050505061078b60405180608001604052806049815260200161246f60499139611303565b61079982848b8b8a89611349565b610a6c565b6107bf6040518060600160405280602f815260200161273a602f9139611303565b5f5b8351811015610880575f8482815181106107dd576107dd611b4d565b602090810291909101015160405163e43252d760e01b81526001600160a01b0380831660048301529192509085169063e43252d7906024015f604051808303815f87803b15801561082c575f5ffd5b505af115801561083e573d5f5f3e3d5ffd5b505050506108776040518060400160405280601381526020017220b23232b2103a37903bb434ba32b634b9ba1d60691b8152508261112e565b506001016107c1565b506108a260405180606001604052806026815260200161253f60269139611303565b6001600160a01b03841661095d576108d160405180608001604052806044815260200161262760449139611303565b816001600160a01b031663715018a66040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610909575f5ffd5b505af115801561091b573d5f5f3e3d5ffd5b505050506107996040518060400160405280602081526020017f4f776e657273686970206275726e656420746f207a65726f2061646472657373815250611303565b806001600160a01b0316846001600160a01b031614610a2d576109986040518060600160405280602981526020016124b8602991398561112e565b60405163f2fde38b60e01b81526001600160a01b03858116600483015283169063f2fde38b906024015f604051808303815f87803b1580156109d8575f5ffd5b505af11580156109ea573d5f5f3e3d5ffd5b505050506107996040518060400160405280601981526020017f4f776e657273686970207472616e7366657272656420746f3a000000000000008152508561112e565b610a6c6040518060400160405280601a81526020017f4b656570696e67206578656375746f72206173206f776e65723a0000000000008152508261112e565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6001600160a01b03166376eadd366040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610ab8575f5ffd5b505af1158015610aca573d5f5f3e3d5ffd5b50505050610b0c6040518060400160405280601d81526020017f0a3d3d3d2052656465706c6f796d656e742053756d6d617279203d3d3d000000815250611303565b610b3b6040518060400160405280600d81526020016c2732bb9021b7b73a3930b1ba1d60991b8152508361112e565b610b6f60405180604001604052806012815260200171283932bb34b7bab99021b7b73a3930b1ba1d60711b8152508b61112e565b610b9a6040518060400160405280600981526020016821b430b4b71024a21d60b91b815250466112be565b610bc5604051806040016040528060098152602001682232b83637bcb2b91d60b91b8152508761112e565b610bf66040518060400160405280600f81526020016e283932bb34b7bab99027bbb732b91d60891b8152508561112e565b610c836040518060400160405280600c81526020016b2334b730b61027bbb732b91d60a11b815250836001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c5a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c7e9190611a19565b61112e565b610cc36040518060400160405280601d81526020017f57686974656c69737465642041646472657373657320436f706965643a00000081525084516112be565b5f826001600160a01b031663d01f63f56040518163ffffffff1660e01b81526004015f60405180830381865afa158015610cff573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d269190810190611a9e565b9050610d686040518060400160405280601d81526020017f4e657720436f6e74726163742057686974656c69737420436f756e743a00000081525082516112be565b805184511460018115610e65575f5b8651811015610e63575f866001600160a01b0316633a3ab672898481518110610da257610da2611b4d565b60200260200101516040518263ffffffff1660e01b8152600401610dd591906001600160a01b0391909116815260200190565b602060405180830381865afa158015610df0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e149190611b61565b905080610e5a57610e566040518060600160405280602381526020016126bd60239139898481518110610e4957610e49611b4d565b602002602001015161112e565b5f92505b50600101610d77565b505b818015610e6f5750805b15610e9a57610e956040518060600160405280602e8152602001612565602e9139611303565b610fbe565b610ebb6040518060600160405280602c8152602001612513602c9139611303565b81610f4057610f006040518060400160405280601a81526020017f436f756e74206d69736d61746368202d2045787065637465643a00000000000081525087516112be565b610f406040518060400160405280601881526020017f436f756e74206d69736d61746368202d2041637475616c3a000000000000000081525084516112be565b80610f6657610f666040518060600160405280603181526020016126e060319139611303565b60405162461bcd60e51b815260206004820152602260248201527f57686974656c69737420636f707920766572696669636174696f6e206661696c604482015261195960f21b60648201526084015b60405180910390fd5b5f856001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ffb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061101f9190611a19565b9050876001600160a01b0316816001600160a01b0316036110605761105b60405180606001604052806029815260200161271160299139611303565b61111d565b61108160405180606001604052806027815260200161266b60279139611303565b6110ac6040518060400160405280600981526020016822bc3832b1ba32b21d60b91b8152508961112e565b6110d56040518060400160405280600781526020016620b1ba3ab0b61d60c91b8152508261112e565b60405162461bcd60e51b815260206004820152601d60248201527f4f776e65727368697020766572696669636174696f6e206661696c65640000006044820152606401610fb5565b505050505050505050505050505050565b6111738282604051602401611144929190611b80565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b1790526114de565b5050565b5f611181836114e7565b9050806001146111ed5760405162461bcd60e51b815260206004820152603160248201527f4d756c7469736967207468726573686f6c64206d757374206265203120666f726044820152702073696e676c65207369676e617475726560781b6064820152608401610fb5565b61122c6040518060400160405280601d81526020017f4d756c7469736967207468726573686f6c642076616c6964617465643a000000815250826112be565b5f6112378484611536565b9050806112975760405162461bcd60e51b815260206004820152602860248201527f4465706c6f796572206973206e6f742061207369676e6572206f6620746865206044820152676d756c746973696760c01b6064820152608401610fb5565b6112b860405180606001604052806023815260200161259360239139611303565b50505050565b61117382826040516024016112d4929190611ba9565b60408051601f198184030181529190526020810180516001600160e01b0316632d839cb360e21b1790526114de565b611346816040516024016113179190611bca565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b1790526114de565b50565b5f6113558787846115b7565b604080516001600160a01b03861660208201525f81830152600160f81b60608201528151604181830301815260e1820190925260426061820181815293945091926113a99290916127699060810139611303565b5f866001600160a01b0316865f8560015f5f5f5f5f8b6040516024016113d89a99989796959493929190611bdc565b60408051601f198184030181529181526020820180516001600160e01b031663353b090160e11b1790525161140d9190611c84565b5f604051808303815f865af19150503d805f8114611446576040519150601f19603f3d011682016040523d82523d5f602084013e61144b565b606091505b50509050801561147b576114766040518060600160405280602b8152602001612692602b9139611303565b6114d3565b60405162461bcd60e51b815260206004820152602760248201527f426174636820657865637574696f6e207468726f756768206d756c74697369676044820152660819985a5b195960ca1b6064820152608401610fb5565b505050505050505050565b61134681611736565b5f5f611519836040518060400160405280600e81526020016d6765745468726573686f6c64282960901b815250611755565b90508080602001905181019061152f9190611a87565b9392505050565b5f5f611599846040518060400160405280601081526020016f69734f776e657228616464726573732960801b8152508560405160200161158591906001600160a01b0391909116815260200190565b60405160208183030381529060405261176c565b9050808060200190518101906115af9190611b61565b949350505050565b604080515f808252602082019092526060915b8451811015611651575f8582815181106115e6576115e6611b4d565b602002602001015160405160240161160d91906001600160a01b0391909116815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663e43252d760e01b1790529050611646835f8981856118e0565b9250506001016115ca565b506001600160a01b03831661169e576040805160048152602481019091526020810180516001600160e01b03166338a80c5360e11b179052611696825f8881856118e0565b9150506116f2565b6040516001600160a01b03841660248201525f9060440160408051601f198184030181529190526020810180516001600160e01b031663f2fde38b60e01b17905290506116ee825f8881856118e0565b9150505b806040516024016117039190611bca565b60408051601f198184030181529190526020810180516001600160e01b03166346c07f8560e11b17905295945050505050565b5f6a636f6e736f6c652e6c6f6790505f5f835160208501845afa505050565b606061152f838360405180602001604052805f8152505b60605f5f8351116117c2576040805160048152602481019182905290611793908690611c84565b6040519081900390206020820180516001600160e01b03166001600160e01b031990921691909117905261182b565b60408051600481526024810191829052906117de908690611c84565b60405180910390206001600160e01b0319166020820180516001600160e01b0383818316178352505050508360405160200161181b929190611c8f565b6040516020818303038152906040525b90505f5f866001600160a01b0316836040516118479190611c84565b5f60405180830381855afa9150503d805f811461187f576040519150601f19603f3d011682016040523d82523d5f602084013e611884565b606091505b5091509150816118d65760405162461bcd60e51b815260206004820152601d60248201527f4d756c74697369672066756e6374696f6e2063616c6c206661696c65640000006044820152606401610fb5565b9695505050505050565b6060858585858551866040516020016118fe96959493929190611ca3565b604051602081830303815290604052905095945050505050565b61077680611cf983390190565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561196257611962611925565b604052919050565b5f6020828403121561197a575f5ffd5b815167ffffffffffffffff811115611990575f5ffd5b8201601f810184136119a0575f5ffd5b805167ffffffffffffffff8111156119ba576119ba611925565b6119cd601f8201601f1916602001611939565b8181528560208385010111156119e1575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b80516001600160a01b0381168114611a14575f5ffd5b919050565b5f60208284031215611a29575f5ffd5b61152f826119fe565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b604081525f611a726040830185611a32565b905063ffffffff831660208301529392505050565b5f60208284031215611a97575f5ffd5b5051919050565b5f60208284031215611aae575f5ffd5b815167ffffffffffffffff811115611ac4575f5ffd5b8201601f81018413611ad4575f5ffd5b805167ffffffffffffffff811115611aee57611aee611925565b8060051b611afe60208201611939565b91825260208184018101929081019087841115611b19575f5ffd5b6020850194505b83851015611b4257611b31856119fe565b825260209485019490910190611b20565b979650505050505050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611b71575f5ffd5b8151801515811461152f575f5ffd5b604081525f611b926040830185611a32565b905060018060a01b03831660208301529392505050565b604081525f611bbb6040830185611a32565b90508260208301529392505050565b602081525f61152f6020830184611a32565b6001600160a01b038b16815260ff8a166020820152610140604082018190525f90611c099083018b611a32565b60ff8a81166060850152898116608085015288811660a0850152871660c08401526001600160a01b03861660e08401526001600160a01b038516610100840152828103610120840152611c5c8185611a32565b9d9c50505050505050505050505050565b5f81518060208401855e5f93019283525090919050565b5f61152f8284611c6d565b5f6115af611c9d8386611c6d565b84611c6d565b5f611cae8289611c6d565b60ff60f81b8860f81b1681526bffffffffffffffffffffffff198760601b166001820152856015820152846035820152611ceb6055820185611c6d565b999850505050505050505056fe6080604052348015600e575f5ffd5b503380603357604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b603a816051565b505f805460ff60a01b1916600160a01b17905560a0565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6106c9806100ad5f395ff3fe608060405234801561000f575f5ffd5b5060043610610090575f3560e01c80638ab1d681116100635780638ab1d681146100e05780638da5cb5b146100f3578063d01f63f51461010d578063e43252d714610122578063f2fde38b14610135575f5ffd5b806301ffc9a714610094578063184d69ab146100bc5780633a3ab672146100c3578063715018a6146100d6575b5f5ffd5b6100a76100a23660046105b4565b610148565b60405190151581526020015b60405180910390f35b60016100a7565b6100a76100d13660046105db565b61017e565b6100de610192565b005b6100de6100ee3660046105db565b6101a5565b5f546040516001600160a01b0390911681526020016100b3565b610115610229565b6040516100b39190610601565b6100de6101303660046105db565b610242565b6100de6101433660046105db565b6102c2565b5f6001600160e01b03198216634e759c3d60e11b148061017857506301ffc9a760e01b6001600160e01b03198316145b92915050565b5f610187610301565b610178600183610359565b61019a61037d565b6101a35f6103a9565b565b6101ad610301565b6101be5f805460ff60a01b19169055565b6101c661037d565b5f6101d26001836103f8565b9050801561020e576040516001600160a01b038316907fcdd2e9b91a56913d370075169cefa1602ba36be5301664f752192bb1709df757905f90a25b506102265f805460ff60a01b1916600160a01b179055565b50565b6060610233610301565b61023d600161040c565b905090565b61024a610301565b61025b5f805460ff60a01b19169055565b61026361037d565b5f61026f600183610418565b9050801561020e576040516001600160a01b038316907fa850ae9193f515cbae8d35e8925bd2be26627fc91bce650b8652ed254e9cab03905f90a2506102265f805460ff60a01b1916600160a01b179055565b6102ca61037d565b6001600160a01b0381166102f857604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610226816103a9565b5f54600160a01b900460ff166101a35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102ef565b6001600160a01b0381165f90815260018301602052604081205415155b9392505050565b5f546001600160a01b031633146101a35760405163118cdaa760e01b81523360048201526024016102ef565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f610376836001600160a01b03841661042c565b60605f6103768361050f565b5f610376836001600160a01b038416610568565b5f8181526001830160205260408120548015610506575f61044e60018361064c565b85549091505f906104619060019061064c565b90508082146104c0575f865f01828154811061047f5761047f61066b565b905f5260205f200154905080875f01848154811061049f5761049f61066b565b5f918252602080832090910192909255918252600188019052604090208390555b85548690806104d1576104d161067f565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610178565b5f915050610178565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561055c57602002820191905f5260205f20905b815481526020019060010190808311610548575b50505050509050919050565b5f8181526001830160205260408120546105ad57508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610178565b505f610178565b5f602082840312156105c4575f5ffd5b81356001600160e01b031981168114610376575f5ffd5b5f602082840312156105eb575f5ffd5b81356001600160a01b0381168114610376575f5ffd5b602080825282518282018190525f918401906040840190835b818110156106415783516001600160a01b031683526020938401939092019160010161061a565b509095945050505050565b8181038181111561017857634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffdfea264697066735822122017d19cb92913b1d48716ee47b65ab4e02ee922b90d01232dfa3dfd8cb8c5357c64736f6c634300081e00334261746368696e672077686974656c697374206164646974696f6e7320616e64206f776e657273686970206f7065726174696f6e73207468726f756768206d756c74697369672e2e2e5472616e7366657272696e67206f776e65727368697020746f2070726576696f7573206f776e65723a5472616e7366657272696e67206f776e65727368697020746f206d756c746973696720666f72206261746368696e672e2e2e5b4641494c45445d2057686974656c69737420636f707920766572696669636174696f6e3a204641494c454446696e697368656420636f7079696e672077686974656c6973746564206164647265737365735b535543434553535d2057686974656c69737420636f707920766572696669636174696f6e3a20535543434553534465706c6f796572207369676e65722076616c69646174696f6e3a20535543434553534e6577204164647265737357686974656c697374206465706c6f7965642061743a4e756d626572206f662077686974656c69737465642061646472657373657320746f20636f70793a5573696e67206578656375746f7220666f722077686974656c697374206f7065726174696f6e733a50726576696f757320636f6e747261637420686164206e6f206f776e65722c206275726e696e67206f776e657273686970206f6e206e657720636f6e74726163742e2e2e5b4641494c45445d204f776e65727368697020766572696669636174696f6e3a204641494c4544426174636820657865637574696f6e207468726f756768206d756c7469736967207375636365737366756c4d697373696e6720616464726573732066726f6d206e65772077686974656c6973743a536f6d652061646472657373657320617265206d697373696e672066726f6d20746865206e65772077686974656c6973745b535543434553535d204f776e65727368697020766572696669636174696f6e3a2053554343455353436f7079696e672077686974656c697374656420616464726573736573207573696e67206465706c6f7965722e2e2e457865637574696e67206261746368207472616e73616374696f6e207468726f7567682053616665206d756c746973696720766961204d756c746953656e642e2e2ea26469706673582212201b976b29fa69a84095eb468fae0baa86c763834af48ba38e71994067bdb7501c64736f6c634300081e0033","sourceMap":"828:13997:85:-:0;;;3126:44:3;;;-1:-1:-1;;849:28:1;;;;;828:13997:85;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561000f575f5ffd5b5060043610610034575f3560e01c8063c040622614610038578063f8ccbf4714610042575b5f5ffd5b610040610069565b005b600c546100559062010000900460ff1681565b604051901515815260200160405180910390f35b60405163f877cb1960e01b81526020600482015260086024820152674d4e454d4f4e494360c01b60448201525f90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f877cb19906064015f60405180830381865afa1580156100d0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526100f7919081019061196a565b60405163350d56bf60e01b815260206004820152601a60248201527f50524556494f55535f414444524553535f57484954454c49535400000000000060448201529091505f90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063350d56bf90606401602060405180830381865afa158015610177573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061019b9190611a19565b604080516301587f9560e61b8152600481019190915260116044820152704445504c4f5945525f4d554c544953494760781b60648201525f60248201819052919250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063561fe54090608401602060405180830381865afa158015610217573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061023b9190611a19565b604080516301587f9560e61b8152600481019190915260116044820152704d554c544953454e445f4144445245535360781b6064820152739641d764fc13c8b624c04430c7356c1c7c8102e260248201529091505f90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063561fe54090608401602060405180830381865afa1580156102cb573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102ef9190611a19565b604051636229498b60e01b81529091505f90737109709ecfa91a80626ff3989d68f67f5b1dd12d90636229498b9061032d9088908590600401611a60565b602060405180830381865afa158015610348573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061036c9190611a87565b6040516001625e79b760e01b03198152600481018290529091505f90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156103c2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103e69190611a19565b90506104276040518060400160405280601a81526020017f50726576696f7573204164647265737357686974656c6973743a0000000000008152508661112e565b610452604051806040016040528060098152602001682232b83637bcb2b91d60b91b8152508261112e565b6001600160a01b038416156104de576104a06040518060400160405280601a81526020017f4d756c746973696720616464726573732070726f76696465643a0000000000008152508561112e565b6104aa8482611177565b6104de6040518060400160405280601281526020017126bab63a34a9b2b7321030b2323932b9b99d60711b8152508461112e565b5f8590505f816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561051f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105439190611a19565b90505f826001600160a01b031663d01f63f56040518163ffffffff1660e01b81526004015f60405180830381865afa158015610581573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526105a89190810190611a9e565b90506105db6040518060400160405280600f81526020016e283932bb34b7bab99027bbb732b91d60891b8152508361112e565b6105fe6040518060600160405280602881526020016125d76028913982516112be565b60405163ce817d4760e01b815260048101869052737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ce817d47906024015f604051808303815f87803b158015610648575f5ffd5b505af115801561065a573d5f5f3e3d5ffd5b505050505f60405161066b90611918565b604051809103905ff080158015610684573d5f5f3e3d5ffd5b5090506106a96040518060600160405280602181526020016125b6602191398261112e565b5f6001600160a01b0389166106be57856106c0565b885b90506106e46040518060600160405280602881526020016125ff602891398261112e565b6001600160a01b0389161561079e576107146040518060600160405280603281526020016124e160329139611303565b60405163f2fde38b60e01b81526001600160a01b038a8116600483015283169063f2fde38b906024015f604051808303815f87803b158015610754575f5ffd5b505af1158015610766573d5f5f3e3d5ffd5b5050505061078b60405180608001604052806049815260200161246f60499139611303565b61079982848b8b8a89611349565b610a6c565b6107bf6040518060600160405280602f815260200161273a602f9139611303565b5f5b8351811015610880575f8482815181106107dd576107dd611b4d565b602090810291909101015160405163e43252d760e01b81526001600160a01b0380831660048301529192509085169063e43252d7906024015f604051808303815f87803b15801561082c575f5ffd5b505af115801561083e573d5f5f3e3d5ffd5b505050506108776040518060400160405280601381526020017220b23232b2103a37903bb434ba32b634b9ba1d60691b8152508261112e565b506001016107c1565b506108a260405180606001604052806026815260200161253f60269139611303565b6001600160a01b03841661095d576108d160405180608001604052806044815260200161262760449139611303565b816001600160a01b031663715018a66040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610909575f5ffd5b505af115801561091b573d5f5f3e3d5ffd5b505050506107996040518060400160405280602081526020017f4f776e657273686970206275726e656420746f207a65726f2061646472657373815250611303565b806001600160a01b0316846001600160a01b031614610a2d576109986040518060600160405280602981526020016124b8602991398561112e565b60405163f2fde38b60e01b81526001600160a01b03858116600483015283169063f2fde38b906024015f604051808303815f87803b1580156109d8575f5ffd5b505af11580156109ea573d5f5f3e3d5ffd5b505050506107996040518060400160405280601981526020017f4f776e657273686970207472616e7366657272656420746f3a000000000000008152508561112e565b610a6c6040518060400160405280601a81526020017f4b656570696e67206578656375746f72206173206f776e65723a0000000000008152508261112e565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6001600160a01b03166376eadd366040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610ab8575f5ffd5b505af1158015610aca573d5f5f3e3d5ffd5b50505050610b0c6040518060400160405280601d81526020017f0a3d3d3d2052656465706c6f796d656e742053756d6d617279203d3d3d000000815250611303565b610b3b6040518060400160405280600d81526020016c2732bb9021b7b73a3930b1ba1d60991b8152508361112e565b610b6f60405180604001604052806012815260200171283932bb34b7bab99021b7b73a3930b1ba1d60711b8152508b61112e565b610b9a6040518060400160405280600981526020016821b430b4b71024a21d60b91b815250466112be565b610bc5604051806040016040528060098152602001682232b83637bcb2b91d60b91b8152508761112e565b610bf66040518060400160405280600f81526020016e283932bb34b7bab99027bbb732b91d60891b8152508561112e565b610c836040518060400160405280600c81526020016b2334b730b61027bbb732b91d60a11b815250836001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c5a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c7e9190611a19565b61112e565b610cc36040518060400160405280601d81526020017f57686974656c69737465642041646472657373657320436f706965643a00000081525084516112be565b5f826001600160a01b031663d01f63f56040518163ffffffff1660e01b81526004015f60405180830381865afa158015610cff573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d269190810190611a9e565b9050610d686040518060400160405280601d81526020017f4e657720436f6e74726163742057686974656c69737420436f756e743a00000081525082516112be565b805184511460018115610e65575f5b8651811015610e63575f866001600160a01b0316633a3ab672898481518110610da257610da2611b4d565b60200260200101516040518263ffffffff1660e01b8152600401610dd591906001600160a01b0391909116815260200190565b602060405180830381865afa158015610df0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e149190611b61565b905080610e5a57610e566040518060600160405280602381526020016126bd60239139898481518110610e4957610e49611b4d565b602002602001015161112e565b5f92505b50600101610d77565b505b818015610e6f5750805b15610e9a57610e956040518060600160405280602e8152602001612565602e9139611303565b610fbe565b610ebb6040518060600160405280602c8152602001612513602c9139611303565b81610f4057610f006040518060400160405280601a81526020017f436f756e74206d69736d61746368202d2045787065637465643a00000000000081525087516112be565b610f406040518060400160405280601881526020017f436f756e74206d69736d61746368202d2041637475616c3a000000000000000081525084516112be565b80610f6657610f666040518060600160405280603181526020016126e060319139611303565b60405162461bcd60e51b815260206004820152602260248201527f57686974656c69737420636f707920766572696669636174696f6e206661696c604482015261195960f21b60648201526084015b60405180910390fd5b5f856001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ffb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061101f9190611a19565b9050876001600160a01b0316816001600160a01b0316036110605761105b60405180606001604052806029815260200161271160299139611303565b61111d565b61108160405180606001604052806027815260200161266b60279139611303565b6110ac6040518060400160405280600981526020016822bc3832b1ba32b21d60b91b8152508961112e565b6110d56040518060400160405280600781526020016620b1ba3ab0b61d60c91b8152508261112e565b60405162461bcd60e51b815260206004820152601d60248201527f4f776e65727368697020766572696669636174696f6e206661696c65640000006044820152606401610fb5565b505050505050505050505050505050565b6111738282604051602401611144929190611b80565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b1790526114de565b5050565b5f611181836114e7565b9050806001146111ed5760405162461bcd60e51b815260206004820152603160248201527f4d756c7469736967207468726573686f6c64206d757374206265203120666f726044820152702073696e676c65207369676e617475726560781b6064820152608401610fb5565b61122c6040518060400160405280601d81526020017f4d756c7469736967207468726573686f6c642076616c6964617465643a000000815250826112be565b5f6112378484611536565b9050806112975760405162461bcd60e51b815260206004820152602860248201527f4465706c6f796572206973206e6f742061207369676e6572206f6620746865206044820152676d756c746973696760c01b6064820152608401610fb5565b6112b860405180606001604052806023815260200161259360239139611303565b50505050565b61117382826040516024016112d4929190611ba9565b60408051601f198184030181529190526020810180516001600160e01b0316632d839cb360e21b1790526114de565b611346816040516024016113179190611bca565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b1790526114de565b50565b5f6113558787846115b7565b604080516001600160a01b03861660208201525f81830152600160f81b60608201528151604181830301815260e1820190925260426061820181815293945091926113a99290916127699060810139611303565b5f866001600160a01b0316865f8560015f5f5f5f5f8b6040516024016113d89a99989796959493929190611bdc565b60408051601f198184030181529181526020820180516001600160e01b031663353b090160e11b1790525161140d9190611c84565b5f604051808303815f865af19150503d805f8114611446576040519150601f19603f3d011682016040523d82523d5f602084013e61144b565b606091505b50509050801561147b576114766040518060600160405280602b8152602001612692602b9139611303565b6114d3565b60405162461bcd60e51b815260206004820152602760248201527f426174636820657865637574696f6e207468726f756768206d756c74697369676044820152660819985a5b195960ca1b6064820152608401610fb5565b505050505050505050565b61134681611736565b5f5f611519836040518060400160405280600e81526020016d6765745468726573686f6c64282960901b815250611755565b90508080602001905181019061152f9190611a87565b9392505050565b5f5f611599846040518060400160405280601081526020016f69734f776e657228616464726573732960801b8152508560405160200161158591906001600160a01b0391909116815260200190565b60405160208183030381529060405261176c565b9050808060200190518101906115af9190611b61565b949350505050565b604080515f808252602082019092526060915b8451811015611651575f8582815181106115e6576115e6611b4d565b602002602001015160405160240161160d91906001600160a01b0391909116815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663e43252d760e01b1790529050611646835f8981856118e0565b9250506001016115ca565b506001600160a01b03831661169e576040805160048152602481019091526020810180516001600160e01b03166338a80c5360e11b179052611696825f8881856118e0565b9150506116f2565b6040516001600160a01b03841660248201525f9060440160408051601f198184030181529190526020810180516001600160e01b031663f2fde38b60e01b17905290506116ee825f8881856118e0565b9150505b806040516024016117039190611bca565b60408051601f198184030181529190526020810180516001600160e01b03166346c07f8560e11b17905295945050505050565b5f6a636f6e736f6c652e6c6f6790505f5f835160208501845afa505050565b606061152f838360405180602001604052805f8152505b60605f5f8351116117c2576040805160048152602481019182905290611793908690611c84565b6040519081900390206020820180516001600160e01b03166001600160e01b031990921691909117905261182b565b60408051600481526024810191829052906117de908690611c84565b60405180910390206001600160e01b0319166020820180516001600160e01b0383818316178352505050508360405160200161181b929190611c8f565b6040516020818303038152906040525b90505f5f866001600160a01b0316836040516118479190611c84565b5f60405180830381855afa9150503d805f811461187f576040519150601f19603f3d011682016040523d82523d5f602084013e611884565b606091505b5091509150816118d65760405162461bcd60e51b815260206004820152601d60248201527f4d756c74697369672066756e6374696f6e2063616c6c206661696c65640000006044820152606401610fb5565b9695505050505050565b6060858585858551866040516020016118fe96959493929190611ca3565b604051602081830303815290604052905095945050505050565b61077680611cf983390190565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561196257611962611925565b604052919050565b5f6020828403121561197a575f5ffd5b815167ffffffffffffffff811115611990575f5ffd5b8201601f810184136119a0575f5ffd5b805167ffffffffffffffff8111156119ba576119ba611925565b6119cd601f8201601f1916602001611939565b8181528560208385010111156119e1575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b80516001600160a01b0381168114611a14575f5ffd5b919050565b5f60208284031215611a29575f5ffd5b61152f826119fe565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b604081525f611a726040830185611a32565b905063ffffffff831660208301529392505050565b5f60208284031215611a97575f5ffd5b5051919050565b5f60208284031215611aae575f5ffd5b815167ffffffffffffffff811115611ac4575f5ffd5b8201601f81018413611ad4575f5ffd5b805167ffffffffffffffff811115611aee57611aee611925565b8060051b611afe60208201611939565b91825260208184018101929081019087841115611b19575f5ffd5b6020850194505b83851015611b4257611b31856119fe565b825260209485019490910190611b20565b979650505050505050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611b71575f5ffd5b8151801515811461152f575f5ffd5b604081525f611b926040830185611a32565b905060018060a01b03831660208301529392505050565b604081525f611bbb6040830185611a32565b90508260208301529392505050565b602081525f61152f6020830184611a32565b6001600160a01b038b16815260ff8a166020820152610140604082018190525f90611c099083018b611a32565b60ff8a81166060850152898116608085015288811660a0850152871660c08401526001600160a01b03861660e08401526001600160a01b038516610100840152828103610120840152611c5c8185611a32565b9d9c50505050505050505050505050565b5f81518060208401855e5f93019283525090919050565b5f61152f8284611c6d565b5f6115af611c9d8386611c6d565b84611c6d565b5f611cae8289611c6d565b60ff60f81b8860f81b1681526bffffffffffffffffffffffff198760601b166001820152856015820152846035820152611ceb6055820185611c6d565b999850505050505050505056fe6080604052348015600e575f5ffd5b503380603357604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b603a816051565b505f805460ff60a01b1916600160a01b17905560a0565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6106c9806100ad5f395ff3fe608060405234801561000f575f5ffd5b5060043610610090575f3560e01c80638ab1d681116100635780638ab1d681146100e05780638da5cb5b146100f3578063d01f63f51461010d578063e43252d714610122578063f2fde38b14610135575f5ffd5b806301ffc9a714610094578063184d69ab146100bc5780633a3ab672146100c3578063715018a6146100d6575b5f5ffd5b6100a76100a23660046105b4565b610148565b60405190151581526020015b60405180910390f35b60016100a7565b6100a76100d13660046105db565b61017e565b6100de610192565b005b6100de6100ee3660046105db565b6101a5565b5f546040516001600160a01b0390911681526020016100b3565b610115610229565b6040516100b39190610601565b6100de6101303660046105db565b610242565b6100de6101433660046105db565b6102c2565b5f6001600160e01b03198216634e759c3d60e11b148061017857506301ffc9a760e01b6001600160e01b03198316145b92915050565b5f610187610301565b610178600183610359565b61019a61037d565b6101a35f6103a9565b565b6101ad610301565b6101be5f805460ff60a01b19169055565b6101c661037d565b5f6101d26001836103f8565b9050801561020e576040516001600160a01b038316907fcdd2e9b91a56913d370075169cefa1602ba36be5301664f752192bb1709df757905f90a25b506102265f805460ff60a01b1916600160a01b179055565b50565b6060610233610301565b61023d600161040c565b905090565b61024a610301565b61025b5f805460ff60a01b19169055565b61026361037d565b5f61026f600183610418565b9050801561020e576040516001600160a01b038316907fa850ae9193f515cbae8d35e8925bd2be26627fc91bce650b8652ed254e9cab03905f90a2506102265f805460ff60a01b1916600160a01b179055565b6102ca61037d565b6001600160a01b0381166102f857604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610226816103a9565b5f54600160a01b900460ff166101a35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102ef565b6001600160a01b0381165f90815260018301602052604081205415155b9392505050565b5f546001600160a01b031633146101a35760405163118cdaa760e01b81523360048201526024016102ef565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f610376836001600160a01b03841661042c565b60605f6103768361050f565b5f610376836001600160a01b038416610568565b5f8181526001830160205260408120548015610506575f61044e60018361064c565b85549091505f906104619060019061064c565b90508082146104c0575f865f01828154811061047f5761047f61066b565b905f5260205f200154905080875f01848154811061049f5761049f61066b565b5f918252602080832090910192909255918252600188019052604090208390555b85548690806104d1576104d161067f565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610178565b5f915050610178565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561055c57602002820191905f5260205f20905b815481526020019060010190808311610548575b50505050509050919050565b5f8181526001830160205260408120546105ad57508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610178565b505f610178565b5f602082840312156105c4575f5ffd5b81356001600160e01b031981168114610376575f5ffd5b5f602082840312156105eb575f5ffd5b81356001600160a01b0381168114610376575f5ffd5b602080825282518282018190525f918401906040840190835b818110156106415783516001600160a01b031683526020938401939092019160010161061a565b509095945050505050565b8181038181111561017857634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffdfea264697066735822122017d19cb92913b1d48716ee47b65ab4e02ee922b90d01232dfa3dfd8cb8c5357c64736f6c634300081e00334261746368696e672077686974656c697374206164646974696f6e7320616e64206f776e657273686970206f7065726174696f6e73207468726f756768206d756c74697369672e2e2e5472616e7366657272696e67206f776e65727368697020746f2070726576696f7573206f776e65723a5472616e7366657272696e67206f776e65727368697020746f206d756c746973696720666f72206261746368696e672e2e2e5b4641494c45445d2057686974656c69737420636f707920766572696669636174696f6e3a204641494c454446696e697368656420636f7079696e672077686974656c6973746564206164647265737365735b535543434553535d2057686974656c69737420636f707920766572696669636174696f6e3a20535543434553534465706c6f796572207369676e65722076616c69646174696f6e3a20535543434553534e6577204164647265737357686974656c697374206465706c6f7965642061743a4e756d626572206f662077686974656c69737465642061646472657373657320746f20636f70793a5573696e67206578656375746f7220666f722077686974656c697374206f7065726174696f6e733a50726576696f757320636f6e747261637420686164206e6f206f776e65722c206275726e696e67206f776e657273686970206f6e206e657720636f6e74726163742e2e2e5b4641494c45445d204f776e65727368697020766572696669636174696f6e3a204641494c4544426174636820657865637574696f6e207468726f756768206d756c7469736967207375636365737366756c4d697373696e6720616464726573732066726f6d206e65772077686974656c6973743a536f6d652061646472657373657320617265206d697373696e672066726f6d20746865206e65772077686974656c6973745b535543434553535d204f776e65727368697020766572696669636174696f6e3a2053554343455353436f7079696e672077686974656c697374656420616464726573736573207573696e67206465706c6f7965722e2e2e457865637574696e67206261746368207472616e73616374696f6e207468726f7567682053616665206d756c746973696720766961204d756c746953656e642e2e2ea26469706673582212201b976b29fa69a84095eb468fae0baa86c763834af48ba38e71994067bdb7501c64736f6c634300081e0033","sourceMap":"828:13997:85:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;878:6207;;;:::i;:::-;;849:28:1;;;;;;;;;;;;;;;179:14:102;;172:22;154:41;;142:2;127:18;849:28:1;;;;;;;878:6207:85;975:24;;-1:-1:-1;;;975:24:85;;408:2:102;975:24:85;;;390:21:102;447:1;427:18;;;420:29;-1:-1:-1;;;465:18:102;;;458:38;950:22:85;;336:42:0;;975:12:85;;513:18:102;;975:24:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;975:24:85;;;;;;;;;;;;:::i;:::-;1037:43;;-1:-1:-1;;;1037:43:85;;1917:2:102;1037:43:85;;;1899:21:102;1956:2;1936:18;;;1929:30;1995:28;1975:18;;;1968:56;950:49:85;;-1:-1:-1;1009:25:85;;336:42:0;;1037:13:85;;2041:18:102;;1037:43:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1117:41;;;-1:-1:-1;;;1117:41:85;;;;;2786:21:102;;;;2843:2;2823:18;;;2816:30;-1:-1:-1;;;2862:18:102;;;2855:47;1090:24:85;2954:20:102;;;2947:62;;;1009:71:85;;-1:-1:-1;336:42:0;;1117:8:85;;2919:19:102;;1117:41:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1279:73;;;-1:-1:-1;;;1279:73:85;;;;;3232:21:102;;;;3289:2;3269:18;;;3262:30;-1:-1:-1;;;3308:18:102;;;3301:47;1309:42:85;3400:20:102;;;3393:62;1090:68:85;;-1:-1:-1;1252:24:85;;336:42:0;;1279:8:85;;3365:19:102;;1279:73:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1441:25;;-1:-1:-1;;;1441:25:85;;1252:100;;-1:-1:-1;1412:26:85;;336:42:0;;1441:12:85;;:25;;1454:8;;1412:26;;1441:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1495:27;;-1:-1:-1;;;;;;1495:27:85;;;;;4415:25:102;;;1412:54:85;;-1:-1:-1;1476:16:85;;336:42:0;;1495:7:85;;4388:18:102;;1495:27:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1476:46;;1533:60;;;;;;;;;;;;;;;;;;1575:17;1533:11;:60::i;:::-;1603:34;;;;;;;;;;;;;;-1:-1:-1;;;1603:34:85;;;1628:8;1603:11;:34::i;:::-;-1:-1:-1;;;;;1707:30:85;;;1703:243;;1753:59;;;;;;;;;;;;;;;;;;1795:16;1753:11;:59::i;:::-;1826:44;1843:16;1861:8;1826:16;:44::i;:::-;1884:51;;;;;;;;;;;;;;-1:-1:-1;;;1884:51:85;;;1918:16;1884:11;:51::i;:::-;2003:42;2065:17;2003:80;;2093:21;2117:25;-1:-1:-1;;;;;2117:31:85;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2093:57;;2160:37;2200:25;-1:-1:-1;;;;;2200:38:85;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2200:40:85;;;;;;;;;;;;:::i;:::-;2160:80;;2251:45;;;;;;;;;;;;;;-1:-1:-1;;;2251:45:85;;;2282:13;2251:11;:45::i;:::-;2306:84;;;;;;;;;;;;;;;;;;2362:20;:27;2306:11;:84::i;:::-;2432:37;;-1:-1:-1;;;2432:37:85;;;;;4415:25:102;;;336:42:0;;2432:17:85;;4388:18:102;;2432:37:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2479:29;2511:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2479:54;;2543:71;;;;;;;;;;;;;;;;;;2600:12;2543:11;:71::i;:::-;2680:16;-1:-1:-1;;;;;2699:30:85;;:60;;2751:8;2699:60;;;2732:16;2699:60;2680:79;;2769:65;;;;;;;;;;;;;;;;;;2825:8;2769:11;:65::i;:::-;-1:-1:-1;;;;;2899:30:85;;;2895:1813;;3011:65;;;;;;;;;;;;;;;;;;:11;:65::i;:::-;3090:48;;-1:-1:-1;;;3090:48:85;;-1:-1:-1;;;;;5570:32:102;;;3090:48:85;;;5552:51:102;3090:30:85;;;;;5525:18:102;;3090:48:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3254:88;;;;;;;;;;;;;;;;;;:11;:88::i;:::-;3356:159;3406:12;3420:20;3442:16;3460;3478:8;3488:13;3356:32;:159::i;:::-;2895:1813;;;3611:62;;;;;;;;;;;;;;;;;;:11;:62::i;:::-;3692:9;3687:238;3711:20;:27;3707:1;:31;3687:238;;;3763:12;3778:20;3799:1;3778:23;;;;;;;;:::i;:::-;;;;;;;;;;;3819:33;;-1:-1:-1;;;3819:33:85;;-1:-1:-1;;;;;5570:32:102;;;3819:33:85;;;5552:51:102;3778:23:85;;-1:-1:-1;3819:27:85;;;;;;5525:18:102;;3819:33:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3870:40;;;;;;;;;;;;;;-1:-1:-1;;;3870:40:85;;;3905:4;3870:11;:40::i;:::-;-1:-1:-1;3740:3:85;;3687:238;;;;3938:53;;;;;;;;;;;;;;;;;;:11;:53::i;:::-;-1:-1:-1;;;;;4071:27:85;;4067:631;;4118:83;;;;;;;;;;;;;;;;;;:11;:83::i;:::-;4219:12;-1:-1:-1;;;;;4219:30:85;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4269:47;;;;;;;;;;;;;;;;;;:11;:47::i;4067:631::-;4358:8;-1:-1:-1;;;;;4341:25:85;:13;-1:-1:-1;;;;;4341:25:85;;4337:361;;4386:71;;;;;;;;;;;;;;;;;;4443:13;4386:11;:71::i;:::-;4475:45;;-1:-1:-1;;;4475:45:85;;-1:-1:-1;;;;;5570:32:102;;;4475:45:85;;;5552:51:102;4475:30:85;;;;;5525:18:102;;4475:45:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4538:55;;;;;;;;;;;;;;;;;;4579:13;4538:11;:55::i;4337:361::-;4632:51;;;;;;;;;;;;;;;;;;4674:8;4632:11;:51::i;:::-;336:42:0;-1:-1:-1;;;;;4718:16:85;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4784:45;;;;;;;;;;;;;;;;;;:11;:45::i;:::-;4839:51;;;;;;;;;;;;;;-1:-1:-1;;;4839:51:85;;;4876:12;4839:11;:51::i;:::-;4900:52;;;;;;;;;;;;;;-1:-1:-1;;;4900:52:85;;;4934:17;4900:11;:52::i;:::-;4962:39;;;;;;;;;;;;;;-1:-1:-1;;;4962:39:85;;;4987:13;4962:11;:39::i;:::-;5011:34;;;;;;;;;;;;;;-1:-1:-1;;;5011:34:85;;;5036:8;5011:11;:34::i;:::-;5055:45;;;;;;;;;;;;;;-1:-1:-1;;;5055:45:85;;;5086:13;5055:11;:45::i;:::-;5110:49;;;;;;;;;;;;;;-1:-1:-1;;;5110:49:85;;;5138:12;-1:-1:-1;;;;;5138:18:85;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5110:11;:49::i;:::-;5169:73;;;;;;;;;;;;;;;;;;5214:20;:27;5169:11;:73::i;:::-;5289:38;5330:12;-1:-1:-1;;;;;5330:25:85;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5330:27:85;;;;;;;;;;;;:::i;:::-;5289:68;;5367:74;;;;;;;;;;;;;;;;;;5412:21;:28;5367:11;:74::i;:::-;5503:28;;5472:27;;:59;5568:4;5583:399;;;;5620:9;5615:357;5639:20;:27;5635:1;:31;5615:357;;;5691:14;5708:12;-1:-1:-1;;;;;5708:26:85;;5735:20;5756:1;5735:23;;;;;;;;:::i;:::-;;;;;;;5708:51;;;;;;;;;;;;;;-1:-1:-1;;;;;5570:32:102;;;;5552:51;;5540:2;5525:18;;5406:203;5708:51:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5691:68;;5782:9;5777:181;;5815:75;;;;;;;;;;;;;;;;;;5866:20;5887:1;5866:23;;;;;;;;:::i;:::-;;;;;;;5815:11;:75::i;:::-;5934:5;5912:27;;5777:181;-1:-1:-1;5668:3:85;;5615:357;;;;5583:399;5996:12;:35;;;;;6012:19;5996:35;5992:633;;;6047:61;;;;;;;;;;;;;;;;;;:11;:61::i;:::-;5992:633;;;6139:59;;;;;;;;;;;;;;;;;;:11;:59::i;:::-;6217:12;6212:209;;6249:70;;;;;;;;;;;;;;;;;;6291:20;:27;6249:11;:70::i;:::-;6337:69;;;;;;;;;;;;;;;;;;6377:21;:28;6337:11;:69::i;:::-;6439:19;6434:123;;6478:64;;;;;;;;;;;;;;;;;;:11;:64::i;:::-;6570:44;;-1:-1:-1;;;6570:44:85;;6230:2:102;6570:44:85;;;6212:21:102;6269:2;6249:18;;;6242:30;6308:34;6288:18;;;6281:62;-1:-1:-1;;;6359:18:102;;;6352:32;6401:19;;6570:44:85;;;;;;;;5992:633;6675:18;6696:12;-1:-1:-1;;;;;6696:18:85;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6675:41;;6744:13;-1:-1:-1;;;;;6730:27:85;:10;-1:-1:-1;;;;;6730:27:85;;6726:353;;6773:56;;;;;;;;;;;;;;;;;;:11;:56::i;:::-;6726:353;;;6860:54;;;;;;;;;;;;;;;;;;:11;:54::i;:::-;6928:39;;;;;;;;;;;;;;-1:-1:-1;;;6928:39:85;;;6953:13;6928:11;:39::i;:::-;6981:34;;;;;;;;;;;;;;-1:-1:-1;;;6981:34:85;;;7004:10;6981:11;:34::i;:::-;7029:39;;-1:-1:-1;;;7029:39:85;;6633:2:102;7029:39:85;;;6615:21:102;6672:2;6652:18;;;6645:30;6711:31;6691:18;;;6684:59;6760:18;;7029:39:85;6431:353:102;6726::85;902:6183;;;;;;;;;;;;;;;878:6207::o;7740:145:16:-;7807:71;7870:2;7874;7823:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7823:54:16;;;;;;;;;;;;;;-1:-1:-1;;;;;7823:54:16;-1:-1:-1;;;7823:54:16;;;7807:15;:71::i;:::-;7740:145;;:::o;7325:543:85:-;7411:17;7431:30;7452:8;7431:20;:30::i;:::-;7411:50;;7475:9;7488:1;7475:14;7471:104;;7505:59;;-1:-1:-1;;;7505:59:85;;7313:2:102;7505:59:85;;;7295:21:102;7352:2;7332:18;;;7325:30;7391:34;7371:18;;;7364:62;-1:-1:-1;;;7442:18:102;;;7435:47;7499:19;;7505:59:85;7111:413:102;7471:104:85;7584:55;;;;;;;;;;;;;;;;;;7629:9;7584:11;:55::i;:::-;7650:13;7666:36;7683:8;7693;7666:16;:36::i;:::-;7650:52;;7717:8;7712:90;;7741:50;;-1:-1:-1;;;7741:50:85;;7731:2:102;7741:50:85;;;7713:21:102;7770:2;7750:18;;;7743:30;7809:34;7789:18;;;7782:62;-1:-1:-1;;;7860:18:102;;;7853:38;7908:19;;7741:50:85;7529:404:102;7712:90:85;7811:50;;;;;;;;;;;;;;;;;;:11;:50::i;:::-;7401:467;;7325:543;;:::o;7139:145:16:-;7206:71;7269:2;7273;7222:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7222:54:16;;;;;;;;;;;;;;-1:-1:-1;;;;;7222:54:16;-1:-1:-1;;;7222:54:16;;;7206:15;:71::i;6191:121::-;6246:59;6301:2;6262:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6262:42:16;;;;;;;;;;;;;;-1:-1:-1;;;;;6262:42:16;-1:-1:-1;;;6262:42:16;;;6246:15;:59::i;:::-;6191:121;:::o;10488:1784:85:-;10896:22;10921:70;10955:9;10966;10977:13;10921:33;:70::i;:::-;11108:179;;;-1:-1:-1;;;;;11146:26:85;;11108:179;;;8640:19:102;11083:22:85;8675:12:102;;;8668:28;-1:-1:-1;;;8712:12:102;;;8705:58;11108:179:85;;;;;;;;;11298:81;;;;;;;8779:12:102;;;11298:81:85;;;10896:95;;-1:-1:-1;11108:179:85;;11298:81;;8779:12:102;;11298:81:85;;;;;:11;:81::i;:::-;11474:12;11491:8;-1:-1:-1;;;;;11491:13:85;11669:9;11722:1;11750:9;11807:1;11853;11885;11915;11954;11994;12032:9;11518:551;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;11518:551:85;;;;;;;;;;;;;;-1:-1:-1;;;;;11518:551:85;-1:-1:-1;;;11518:551:85;;;11491:588;;;11518:551;11491:588;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11473:606;;;12094:7;12090:176;;;12117:58;;;;;;;;;;;;;;;;;;:11;:58::i;:::-;12090:176;;;12206:49;;-1:-1:-1;;;12206:49:85;;10509:2:102;12206:49:85;;;10491:21:102;10548:2;10528:18;;;10521:30;10587:34;10567:18;;;10560:62;-1:-1:-1;;;10638:18:102;;;10631:37;10685:19;;12206:49:85;10307:403:102;12090:176:85;10727:1545;;;10488:1784;;;;;;:::o;851:129:16:-;922:51;965:7;934:29;922:51::i;8037:223:85:-;8108:17;8137:19;8159:48;8180:8;8159:48;;;;;;;;;;;;;-1:-1:-1;;;8159:48:85;;;:20;:48::i;:::-;8137:70;;8235:6;8224:29;;;;;;;;;;;;:::i;:::-;8217:36;8037:223;-1:-1:-1;;;8037:223:85:o;8497:250::-;8580:13;8605:19;8627:70;8648:8;8627:70;;;;;;;;;;;;;-1:-1:-1;;;8627:70:85;;;8689:6;8678:18;;;;;;;-1:-1:-1;;;;;5570:32:102;;;;5552:51;;5540:2;5525:18;;5406:203;8678:18:85;;;;;;;;;;;;;8627:20;:70::i;:::-;8605:92;;8725:6;8714:26;;;;;;;;;;;;:::i;:::-;8707:33;8497:250;-1:-1:-1;;;;8497:250:85:o;12608:1292::-;12843:12;;;12817:23;12843:12;;;;;;;;;12783:22;;12905:250;12929:9;:16;12925:1;:20;12905:250;;;12966:21;13041:9;13051:1;13041:12;;;;;;;;:::i;:::-;;;;;;;12990:64;;;;;;;-1:-1:-1;;;;;5570:32:102;;;;5552:51;;5540:2;5525:18;;5406:203;12990:64:85;;;;-1:-1:-1;;12990:64:85;;;;;;;;;;;;;;-1:-1:-1;;;;;12990:64:85;-1:-1:-1;;;12990:64:85;;;;-1:-1:-1;13081:63:85;13097:10;-1:-1:-1;13120:9:85;-1:-1:-1;12990:64:85;13081:15;:63::i;:::-;13068:76;-1:-1:-1;;12947:3:85;;12905:250;;;-1:-1:-1;;;;;;13221:27:85;;13217:599;;13365:46;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13365:46:85;-1:-1:-1;;;13365:46:85;;;13438:76;13454:10;13328:34;13477:9;13328:34;13365:46;13438:15;:76::i;:::-;13425:89;;13250:275;13217:599;;;13634:68;;-1:-1:-1;;;;;5570:32:102;;13634:68:85;;;5552:51:102;13597:34:85;;5525:18:102;;13634:68:85;;;-1:-1:-1;;13634:68:85;;;;;;;;;;;;;;-1:-1:-1;;;;;13634:68:85;-1:-1:-1;;;13634:68:85;;;;-1:-1:-1;13729:76:85;13745:10;-1:-1:-1;13768:9:85;-1:-1:-1;13634:68:85;13729:15;:76::i;:::-;13716:89;;13531:285;13217:599;13882:10;13838:55;;;;;;;;:::i;:::-;;;;-1:-1:-1;;13838:55:85;;;;;;;;;;;;;;-1:-1:-1;;;;;13838:55:85;-1:-1:-1;;;13838:55:85;;;;12608:1292;-1:-1:-1;;;;;12608:1292:85:o;180:463:16:-;265:22;131:42;265:40;;594:1;571;541:7;535:14;510:2;501:7;497:16;461:14;434:5;402:211;381:246;367:270;180:463;:::o;9804:210:85:-;9922:19;9964:43;9985:6;9993:9;9964:43;;;;;;;;;;;;9040:533;9177:19;9212:21;9250:1;9236:4;:11;:15;:137;;9339:34;;;;;;;;;;;;;;;;9363:9;;9339:34;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;9339:34:85;-1:-1:-1;;;;;;9339:34:85;;;;;;;;;9236:137;;;9283:34;;;;;;;;;;;;;;;;9307:9;;9283:34;:::i;:::-;;;;;;;;-1:-1:-1;;;;;9283:34:85;;;;;;;-1:-1:-1;;;;;9283:34:85;;;;;;;;;;;9319:4;9266:58;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9236:137;9212:161;;9384:12;9398:23;9425:6;-1:-1:-1;;;;;9425:17:85;9443:8;9425:27;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9383:69;;;;9467:7;9462:78;;9490:39;;-1:-1:-1;;;9490:39:85;;11602:2:102;9490:39:85;;;11584:21:102;11641:2;11621:18;;;11614:30;11680:31;11660:18;;;11653:59;11729:18;;9490:39:85;11400:353:102;9462:78:85;9556:10;9040:533;-1:-1:-1;;;;;;9040:533:85:o;14315:508::-;14509:12;14570:10;14594:13;14656:6;14699:5;14746:8;:15;14790:8;14540:276;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;14533:283;;14315:508;;;;;;;:::o;-1:-1:-1:-;;;;;;;;:::o;542:127:102:-;603:10;598:3;594:20;591:1;584:31;634:4;631:1;624:15;658:4;655:1;648:15;674:275;745:2;739:9;810:2;791:13;;-1:-1:-1;;787:27:102;775:40;;845:18;830:34;;866:22;;;827:62;824:88;;;892:18;;:::i;:::-;928:2;921:22;674:275;;-1:-1:-1;674:275:102:o;954:756::-;1034:6;1087:2;1075:9;1066:7;1062:23;1058:32;1055:52;;;1103:1;1100;1093:12;1055:52;1136:9;1130:16;1169:18;1161:6;1158:30;1155:50;;;1201:1;1198;1191:12;1155:50;1224:22;;1277:4;1269:13;;1265:27;-1:-1:-1;1255:55:102;;1306:1;1303;1296:12;1255:55;1339:2;1333:9;1365:18;1357:6;1354:30;1351:56;;;1387:18;;:::i;:::-;1429:57;1476:2;1453:17;;-1:-1:-1;;1449:31:102;1482:2;1445:40;1429:57;:::i;:::-;1509:6;1502:5;1495:21;1557:7;1552:2;1543:6;1539:2;1535:15;1531:24;1528:37;1525:57;;;1578:1;1575;1568:12;1525:57;1626:6;1621:2;1617;1613:11;1608:2;1601:5;1597:14;1591:42;1678:1;1653:18;;;1673:2;1649:27;1642:38;;;;1657:5;954:756;-1:-1:-1;;;;954:756:102:o;2070:177::-;2149:13;;-1:-1:-1;;;;;2191:31:102;;2181:42;;2171:70;;2237:1;2234;2227:12;2171:70;2070:177;;;:::o;2252:208::-;2322:6;2375:2;2363:9;2354:7;2350:23;2346:32;2343:52;;;2391:1;2388;2381:12;2343:52;2414:40;2444:9;2414:40;:::i;3466:289::-;3508:3;3546:5;3540:12;3573:6;3568:3;3561:19;3629:6;3622:4;3615:5;3611:16;3604:4;3599:3;3595:14;3589:47;3681:1;3674:4;3665:6;3660:3;3656:16;3652:27;3645:38;3744:4;3737:2;3733:7;3728:2;3720:6;3716:15;3712:29;3707:3;3703:39;3699:50;3692:57;;;3466:289;;;;:::o;3760:315::-;3944:2;3933:9;3926:21;3907:4;3964:45;4005:2;3994:9;3990:18;3982:6;3964:45;:::i;:::-;3956:53;;4057:10;4049:6;4045:23;4040:2;4029:9;4025:18;4018:51;3760:315;;;;;:::o;4080:184::-;4150:6;4203:2;4191:9;4182:7;4178:23;4174:32;4171:52;;;4219:1;4216;4209:12;4171:52;-1:-1:-1;4242:16:102;;4080:184;-1:-1:-1;4080:184:102:o;4451:950::-;4546:6;4599:2;4587:9;4578:7;4574:23;4570:32;4567:52;;;4615:1;4612;4605:12;4567:52;4648:9;4642:16;4681:18;4673:6;4670:30;4667:50;;;4713:1;4710;4703:12;4667:50;4736:22;;4789:4;4781:13;;4777:27;-1:-1:-1;4767:55:102;;4818:1;4815;4808:12;4767:55;4851:2;4845:9;4877:18;4869:6;4866:30;4863:56;;;4899:18;;:::i;:::-;4945:6;4942:1;4938:14;4972:28;4996:2;4992;4988:11;4972:28;:::i;:::-;5034:19;;;5078:2;5108:11;;;5104:20;;;5069:12;;;;5136:19;;;5133:39;;;5168:1;5165;5158:12;5133:39;5200:2;5196;5192:11;5181:22;;5212:159;5228:6;5223:3;5220:15;5212:159;;;5294:34;5324:3;5294:34;:::i;:::-;5282:47;;5358:2;5245:12;;;;5349;;;;5212:159;;;5390:5;4451:950;-1:-1:-1;;;;;;;4451:950:102:o;5614:127::-;5675:10;5670:3;5666:20;5663:1;5656:31;5706:4;5703:1;5696:15;5730:4;5727:1;5720:15;5746:277;5813:6;5866:2;5854:9;5845:7;5841:23;5837:32;5834:52;;;5882:1;5879;5872:12;5834:52;5914:9;5908:16;5967:5;5960:13;5953:21;5946:5;5943:32;5933:60;;5989:1;5986;5979:12;6789:317;6966:2;6955:9;6948:21;6929:4;6986:45;7027:2;7016:9;7012:18;7004:6;6986:45;:::i;:::-;6978:53;;7096:1;7092;7087:3;7083:11;7079:19;7071:6;7067:32;7062:2;7051:9;7047:18;7040:60;6789:317;;;;;:::o;7938:291::-;8115:2;8104:9;8097:21;8078:4;8135:45;8176:2;8165:9;8161:18;8153:6;8135:45;:::i;:::-;8127:53;;8216:6;8211:2;8200:9;8196:18;8189:34;7938:291;;;;;:::o;8234:220::-;8383:2;8372:9;8365:21;8346:4;8403:45;8444:2;8433:9;8429:18;8421:6;8403:45;:::i;8802:1090::-;-1:-1:-1;;;;;9249:32:102;;9231:51;;9330:4;9318:17;;9313:2;9298:18;;9291:45;9372:3;9367:2;9352:18;;9345:31;;;-1:-1:-1;;9399:46:102;;9425:19;;9417:6;9399:46;:::i;:::-;9493:4;9481:17;;;9476:2;9461:18;;9454:45;9536:17;;;9530:3;9515:19;;9508:46;9591:17;;;9585:3;9570:19;;9563:46;9646:17;;9640:3;9625:19;;9618:46;-1:-1:-1;;;;;2531:31:102;;9715:3;9700:19;;2519:44;-1:-1:-1;;;;;2531:31:102;;9771:3;9756:19;;2519:44;9825:9;9817:6;9813:22;9807:3;9796:9;9792:19;9785:51;9853:33;9879:6;9871;9853:33;:::i;:::-;9845:41;8802:1090;-1:-1:-1;;;;;;;;;;;;;8802:1090:102:o;9897:211::-;9938:3;9976:5;9970:12;10020:6;10013:4;10006:5;10002:16;9997:3;9991:36;10082:1;10046:16;;10071:13;;;-1:-1:-1;10046:16:102;;9897:211;-1:-1:-1;9897:211:102:o;10113:189::-;10242:3;10267:29;10292:3;10284:6;10267:29;:::i;11134:261::-;11309:3;11334:55;11359:29;11384:3;11376:6;11359:29;:::i;:::-;11351:6;11334:55;:::i;11758:628::-;12041:3;12072:29;12097:3;12089:6;12072:29;:::i;:::-;12155:3;12150;12146:13;12137:6;12132:3;12128:16;12124:36;12117:5;12110:51;12217:26;12213:31;12204:6;12200:2;12196:15;12192:53;12188:1;12181:5;12177:13;12170:76;12278:6;12273:2;12266:5;12262:14;12255:30;12317:6;12312:2;12305:5;12301:14;12294:30;12340:40;12376:2;12369:5;12365:14;12357:6;12340:40;:::i;:::-;12333:47;11758:628;-1:-1:-1;;;;;;;;;11758:628:102:o","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","run()":"c0406226"}}}},"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol":{"UpdateManagedOptimisticOracleV2Whitelists":{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Update whitelists script for ManagedOptimisticOracleV2\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Updates the default proposer and/or requester whitelists using CONFIG_ADMIN_ROLE Environment variables: - MNEMONIC: Required. The mnemonic phrase for the deployer wallet - PROXY_ADDRESS: Required. Address of the existing ManagedOptimisticOracleV2 proxy contract - NEW_DEFAULT_PROPOSER_WHITELIST: Optional. New address for the default proposer whitelist - NEW_REQUESTER_WHITELIST: Optional. New address for the requester whitelist - CONFIG_ADMIN: Required if deployer doesn't hold CONFIG_ADMIN_ROLE. Address of the config admin for multisig mode - VERIFY_WHITELIST_CONFIGURATION: Optional. Whether to verify whitelist configuration (defaults to true) Note: At least one of NEW_DEFAULT_PROPOSER_WHITELIST or NEW_REQUESTER_WHITELIST must be provided\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol\":\"UpdateManagedOptimisticOracleV2Whitelists\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0xa3735a6618a3014e42bb4329ad143e3b2c59cd95094350202e4c4a06c9d585dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef9db48d94726ec3d3fa3a84a8d520903705190f7ee7a04a065335a6aeeac4d\",\"dweb:/ipfs/QmSWmNny7TkzyqRPjGdpERAJuBwwznrGPLUqS4DZy5fX5z\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xd3edaf57db178f839d97ccee0009c2b7b20f78c2adca9028a6013acb8d5b4c5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f17329ac1d25d3e6657ca240dee0a3f9b2cf22a64a05b87dac15252dee74351\",\"dweb:/ipfs/QmPHxkEwgVpQNbU52s58RmmegrkYGj8bNKTVSW8rZm3dBm\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x7274081e11c05164fd8eadde4de8305c033e58a43008dea58065f3170ccf0737\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9801614b6c9d3e472982e6cc68f5f1ad03682f84eafb686be65633c7132d138\",\"dweb:/ipfs/QmcQSUcrm2A7XuektnxJjvYGmZtBeA6LKPxCXRqdXBX776\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x85a70e2b1b65e9ba456add364d22b97eb9944083df1c39c0b4bd6a4b5aa386a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d32a33be6ca4d8e89b9e82e3f9cec7a6c4e040534152313ff55da85b8f193059\",\"dweb:/ipfs/QmeR55L8t2A8xZ1nvT5y4yVWfFbbmpaGAtGBMz3GGNpuyP\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol\":{\"keccak256\":\"0x2922ed589f7063a685dffc9297f8b669c1e86f2fde9078c08d8bff079cf636a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0bd42676681a1c4563f61a767bfbc50ef207544a3d6eee9aa66830cc15ccb679\",\"dweb:/ipfs/QmRMCKEXNWJq1EdCjNQtTXf9tuppnyGtaiBCiNk3TYVcK1\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x6694b63ddb2c59bbe341c846171798350e8f72fa02189fcdeaca864e28b54e1f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d945d33e2189ac4e531e4ed228f59ca957b3898c4f9051f4b8c7ae44d72b23a\",\"dweb:/ipfs/QmRcEwubTe3xyXxthijs5fVzEgUFSxeddjd5PGfhBnkunX\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xbff9f59c84e5337689161ce7641c0ef8e872d6a7536fbc1f5133f128887aba3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b308f882e796f7b79c9502deacb0a62983035c6f6f4e962b319ba6a1f4a77d3d\",\"dweb:/ipfs/QmaWCW7ahEQqFjwhSUhV7Ae7WhfNvzSpE7DQ58hvEooqPL\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol\":{\"keccak256\":\"0x956d6404c7b61b920a9ccbc9918f94a2bd3004de3dd13310995eda5bc17f1ead\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c12dc67a285548d455683db60f1ed845c03ac3c27f8f24f905defd3c54601406\",\"dweb:/ipfs/QmXDaxKsnq6RxH44VPSqxjLyygdXn3GR1o6W9pr2iXzjZq\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol\":{\"keccak256\":\"0x21529ba6918f994ec44fb97cef2b717d730268e911a4e626f3e425a4394f7bae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10949be539eb61e5ea8996cc93f21be61949c16a1b717adc2b3f8f099c1e1feb\",\"dweb:/ipfs/QmagATozhFXBUVTLaiHWyqVPgew9N1x18V6hBF46AZPeLw\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508\",\"dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"lib/openzeppelin-contracts/contracts/utils/Arrays.sol\":{\"keccak256\":\"0xa4b9958797e0e9cde82a090525e90f80d5745ba1c67ee72b488bd3087498a17e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9344f7c2f80322c2e76d9d89bed03fd12f3e011e74fde7cf24ea21bdd2abe2d\",\"dweb:/ipfs/QmPMAjF5x2fHUAee2FKMZDBbFVrbZbPCr3a9KHLZaSn1zY\"]},\"lib/openzeppelin-contracts/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2\",\"dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x27c3c648062924bd44cd6f38541c78e6de145dd49515ee62321e42fc1b72e5c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cce2ebc0392b5a96f5c7bbaaf5c3d23c0e7190e64cfa05a49978badc1496141\",\"dweb:/ipfs/QmYQC1U12igR1osVyjRHaHiiTgYYuPjncAxwmjbZ452dCL\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x1fc283df727585919c3db301b948a3e827aee16917457ad7f916db9da2228e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4f4b5e2cd0ebc3b74e41e4e94771a0417eedd9b11cec3ef9f90b2ac2989264b\",\"dweb:/ipfs/QmZmsEsvsXiwAyAe1YeoLSKezeFcvR1giUeEY6ex4zpsTS\"]},\"lib/protocol/packages/core/contracts/common/implementation/AncillaryData.sol\":{\"keccak256\":\"0x8ff33ac32d3e6de25de9e0ac2c0ff9a621f187fa97e9ee84092b327471baa3ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0bbaed49756e8cf7ef405e132f441cd7a735ac6186a200b0179147e7d137b74a\",\"dweb:/ipfs/QmeSBJX5a61LZPxbkUKS2NF4LSxemgDwjD65fCAmyP7PX2\"]},\"lib/protocol/packages/core/contracts/common/implementation/Lockable.sol\":{\"keccak256\":\"0x41d78fcce54598ad5f26bc0b778c0f4fedbd836401625e49e736979f69a87ef0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ce111bb50441ef5125e7d42284f6debbc17fd589515d7b8cede7e9d1d5f0ede\",\"dweb:/ipfs/QmaXiXACWVEDDHoCHNXdVBoNpf8QNHkUZ1kf5MfbxfL6jj\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/implementation/Constants.sol\":{\"keccak256\":\"0xe40957105a9240c6bcb9753fd0011fe9f382c437cd6771c57bf7a96f8ceb9c84\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cbf0d25e841b1f5c4022d09fb29220cb428139443cb29c4ab8dbfff71dffcc05\",\"dweb:/ipfs/QmSVVr5wH1tZi6WmKyuy1K8yS6JN4DeK5kWaZpPKtXiqkK\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/FinderInterface.sol\":{\"keccak256\":\"0x9166fbfe08e954eb86d33c114fcde7ce4fd0dda5d9d28b31210582bfc769fa86\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e611e12bcaaebfdf65b67c566ff1d34708e757f01a445bd87c55862e89383b81\",\"dweb:/ipfs/QmYNSq5oopTShdS6j4VWKqoLxmQSRKmWebCxw6K4LfmKrf\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/IdentifierWhitelistInterface.sol\":{\"keccak256\":\"0x9ae86a30dd1a8c03fb2c6d27be570bb30c4c0b13ac63cde8620b7e4b51d88dc9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a71d2aff48e075ecab56a9c9767775d1d77e04ec9191fed124e71003220549e3\",\"dweb:/ipfs/QmYPWsZXro6fzqpZY6UxQ5X8znEXfLp2sun8oXzdz8bTyc\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/OracleAncillaryInterface.sol\":{\"keccak256\":\"0xd58b41fe1e389f7871db7c04f2c05c1aac1d0455bbc521534da81fd657016a1f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cc532e9c550bb1bba0daa33fda748590cd06ce94a9566fe65dac04e7d40977bc\",\"dweb:/ipfs/QmZKvfRW2LJFt5MWZbKuU9ujkXnS2hkPUJVj8wwJWcuZGX\"]},\"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol\":{\"keccak256\":\"0xbf2125a983f8dfefdd8c7df4f2c9d0084d78861d0e2f661433e2a3dd3320b6ef\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4da1ef40424b5f23b449c76b06638291edcab49368c8a8ee7029fa0168648e57\",\"dweb:/ipfs/QmTMLS6A1EbGHcsA2QbDcJsMm5B8ZcRtSPYTvAXQb9Rsd1\"]},\"src/common/implementation/AddressLegacy.sol\":{\"keccak256\":\"0x441f6c1a04ebb7ad44e54e1b9e3a6ca9f2468358842f93ec73e392f928daf85f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2cba7f3e831503913b6a147eec2f5fc6a2c5cdf1df11ae65582a42c5680ecd\",\"dweb:/ipfs/QmdBEXFnViR66ibJeyjKNh2xJoY8v1y3u3u1D9UXdPawFA\"]},\"src/common/implementation/AddressWhitelist.sol\":{\"keccak256\":\"0xa3b999d7b717c1bf4bb1b958ef5e26717ad965babe994aa8db3fb301f240c876\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7e1c4c81902a72dcf579e28f922f4910aadf5edaee4b2a4defe60c61dc00fbca\",\"dweb:/ipfs/QmUMZbko39hTe8epg77B8k9XYGmKNxLjnkLdd6x8v2xDyV\"]},\"src/common/implementation/LockableUpgradeable.sol\":{\"keccak256\":\"0x1a10eec9d7f12b051d343c65016a9c60a4bece53da4da2eceb8a8dc007b336e2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://9b8c203e136583fa946e4ae0e7bc9774837f865f8b319daa97c84ceb8a16c95b\",\"dweb:/ipfs/QmPJPPL27TB8qt66ZHquDCYtuubcTStRqxn4nxQnehMdA2\"]},\"src/common/implementation/MultiCaller.sol\":{\"keccak256\":\"0x1cef2a13b361679c2ef5d0d97fcbb0ae0cf4858b97a6dd8ab68e3974ea5ffe4a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ad81f2964ce1b40a8ee56a56612d6b773f260e5a3381dc50cd85ba1f9f6af46f\",\"dweb:/ipfs/QmU3Pbxq8rMhGKqNiBa6vWqtiHw9RzdZ4zbTayhgGdyAnz\"]},\"src/common/interfaces/AddressWhitelistInterface.sol\":{\"keccak256\":\"0x126b2bc590041cf213c274bedc91c06a263ddff5e11a090be80d7db8b1cb0d8f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0f47e32816f895d4a3a060eded9bba7853eff6a6d99c3de5b4d1ca8359ce1c49\",\"dweb:/ipfs/QmVWt7xTr68owupHSUUJNfV2N3n2bTvTWtXCDtu8k3uVBN\"]},\"src/common/interfaces/FixedPointInterface.sol\":{\"keccak256\":\"0xceca09e6aa78c97698fa0b1f40657f6c3c723d5d94150ef6476affb9671df753\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d5d1b01017749d96befb5c2e8a8c6d9dd041f57e1d9a66238c296cc28512d2e5\",\"dweb:/ipfs/QmVPiky59JTngjwZNdxbmD7H1Lwa5AgTjzv975wSnavFFy\"]},\"src/data-verification-mechanism/interfaces/StoreInterface.sol\":{\"keccak256\":\"0x1905509e908c6a9b8b3a89449d2d86fd7192d0e588cbe542edd21351d9971ee5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://346e602f41469943453fbe039bf7554b23e1eba3128ff3858d32b35ebcc2ae88\",\"dweb:/ipfs/QmcjZ73TwMjondBDKEHyZ9KUjZzcxsy6Dmqs8QxPK3KBde\"]},\"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol\":{\"keccak256\":\"0xc9d7a66b24fdae13296742642c015e563ee14c2b14aa5d2e27feb9dcd9251420\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47f9fb2885988c20219b93679f3f840b24f7abafa98ed3c09e8a072bc002b6f8\",\"dweb:/ipfs/QmZGW9Jmbsm5ddbsCcVxBeLqV5vvtiXAunjhTg8KYJwLzj\"]},\"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol\":{\"keccak256\":\"0xa0552c2797adccd632c07e77795cf258ff13e2cc435a14a7c530ea0f8acb49c2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ce250692f3db536caf05b193754741f62682c6bcac542780b1acc4b2fbf8bb25\",\"dweb:/ipfs/QmSQTPq4goBfGYfxV2V5B78y4PADfvjJsbPrKedoQxuS2h\"]},\"src/optimistic-oracle-v2/interfaces/ManagedOptimisticOracleV2Interface.sol\":{\"keccak256\":\"0xc852903a36f8ef8224be0f3769df0bbda8ae51a30e307546f16397af2fa26de1\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7e1cc2d1655db300d72b8005d2387efde447c71a723efa46db823cff376aff3e\",\"dweb:/ipfs/QmUDwx2TjTkf6JjFTJ3kRDoWdtUaUTdk35PJSDhJni9mFo\"]},\"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol\":{\"keccak256\":\"0x33a251fab5e475a286832db9bc3aabf7f597497f07e06c2da8779d4f486336d1\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e8789e875af4c98c16a085279a5dd545fe2fe32716e66c41343ea0edaf8fad9f\",\"dweb:/ipfs/QmQTzL8h24WkcfchRfSRrCysAfSprVCF2RNc4AMQTchTyZ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":46,"contract":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol:UpdateManagedOptimisticOracleV2Whitelists","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)8093_storage"},{"astId":2745,"contract":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol:UpdateManagedOptimisticOracleV2Whitelists","label":"stdChainsInitialized","offset":0,"slot":"8","type":"t_bool"},{"astId":2766,"contract":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol:UpdateManagedOptimisticOracleV2Whitelists","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)2761_storage)"},{"astId":2770,"contract":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol:UpdateManagedOptimisticOracleV2Whitelists","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":2774,"contract":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol:UpdateManagedOptimisticOracleV2Whitelists","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":2777,"contract":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol:UpdateManagedOptimisticOracleV2Whitelists","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":3715,"contract":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol:UpdateManagedOptimisticOracleV2Whitelists","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":99,"contract":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol:UpdateManagedOptimisticOracleV2Whitelists","label":"IS_SCRIPT","offset":2,"slot":"12","type":"t_bool"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))"},"t_mapping(t_bytes32,t_struct(FindData)8068_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)8068_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)8068_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)2761_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)2761_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)2761_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":2754,"contract":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol:UpdateManagedOptimisticOracleV2Whitelists","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":2756,"contract":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol:UpdateManagedOptimisticOracleV2Whitelists","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":2758,"contract":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol:UpdateManagedOptimisticOracleV2Whitelists","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":2760,"contract":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol:UpdateManagedOptimisticOracleV2Whitelists","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)8068_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":8061,"contract":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol:UpdateManagedOptimisticOracleV2Whitelists","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":8063,"contract":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol:UpdateManagedOptimisticOracleV2Whitelists","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":8065,"contract":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol:UpdateManagedOptimisticOracleV2Whitelists","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":8067,"contract":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol:UpdateManagedOptimisticOracleV2Whitelists","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(StdStorage)8093_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":8077,"contract":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol:UpdateManagedOptimisticOracleV2Whitelists","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))"},{"astId":8080,"contract":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol:UpdateManagedOptimisticOracleV2Whitelists","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":8082,"contract":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol:UpdateManagedOptimisticOracleV2Whitelists","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":8084,"contract":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol:UpdateManagedOptimisticOracleV2Whitelists","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":8086,"contract":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol:UpdateManagedOptimisticOracleV2Whitelists","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":8088,"contract":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol:UpdateManagedOptimisticOracleV2Whitelists","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":8090,"contract":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol:UpdateManagedOptimisticOracleV2Whitelists","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":8092,"contract":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol:UpdateManagedOptimisticOracleV2Whitelists","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"6080604052600c805462ff00ff191662010001179055348015601f575f5ffd5b506126f38061002d5f395ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c8063c040622614610038578063f8ccbf4714610042575b5f5ffd5b610040610069565b005b600c546100559062010000900460ff1681565b604051901515815260200160405180910390f35b5f6100726112c6565b6040516001625e79b760e01b03198152600481018290529091505f905f5160206124af5f395f51905f529063ffa1864990602401602060405180830381865afa1580156100c1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100e59190611f4f565b60405163350d56bf60e01b815260206004820152600d60248201526c50524f58595f4144445245535360981b60448201529091505f905f5160206124af5f395f51905f529063350d56bf90606401602060405180830381865afa15801561014e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101729190611f4f565b604080516301587f9560e61b81526004810191909152601e60448201527f4e45575f44454641554c545f50524f504f5345525f57484954454c495354000060648201525f602482018190529192505f5160206124af5f395f51905f529063561fe54090608401602060405180830381865afa1580156101f3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102179190611f4f565b604080516301587f9560e61b81526004810191909152601760448201527f4e45575f5245515545535445525f57484954454c49535400000000000000000060648201525f602482018190529192505f5160206124af5f395f51905f529063561fe54090608401602060405180830381865afa158015610298573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102bc9190611f4f565b60408051634777f3cf60e01b81526004810191909152601e60448201527f5645524946595f57484954454c4953545f434f4e46494755524154494f4e00006064820152600160248201529091505f905f5160206124af5f395f51905f5290634777f3cf90608401602060405180830381865afa15801561033e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103629190611f6a565b90505f8490505f816001600160a01b031663ab328fb26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103a5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103c99190611f4f565b90505f826001600160a01b0316632589382b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610408573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061042c9190611f4f565b90506001600160a01b03861615158061044d57506001600160a01b03851615155b6104ae5760405162461bcd60e51b815260206004820152602760248201527f4174206c65617374206f6e652077686974656c697374206d75737420626520706044820152661c9bdd9a59195960ca1b60648201526084015b60405180910390fd5b6001600160a01b038616158015906104d75750816001600160a01b0316866001600160a01b0316145b156105585760405162461bcd60e51b815260206004820152604560248201527f4e65772064656661756c742070726f706f7365722077686974656c697374206160448201527f646472657373206973207468652073616d652061732063757272656e74206164606482015264647265737360d81b608482015260a4016104a5565b6001600160a01b038516158015906105815750806001600160a01b0316856001600160a01b0316145b156105f45760405162461bcd60e51b815260206004820152603e60248201527f4e6577207265717565737465722077686974656c69737420616464726573732060448201527f6973207468652073616d652061732063757272656e742061646472657373000060648201526084016104a5565b5f836001600160a01b031663c78ef28c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610631573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106559190611f89565b604051632474521560e21b8152600481018290526001600160a01b038b811660248301529192505f918616906391d1485490604401602060405180830381865afa1580156106a5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106c99190611f6a565b90505f816107915760405163350d56bf60e01b815260206004820152600c60248201526b21a7a72324a3afa0a226a4a760a11b60448201525f5160206124af5f395f51905f529063350d56bf90606401602060405180830381865afa158015610734573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107589190611f4f565b90506107916040518060400160405280601581526020017421b7b73334b39020b236b4b71020b2323932b9b99d60591b815250826113c9565b6107c4604051806040016040528060118152602001702232b83637bcb2b91020b2323932b9b99d60791b8152508c6113c9565b6107f46040518060400160405280600e81526020016d283937bc3c9020b2323932b9b99d60911b8152508b6113c9565b61082c604051806040016040528060168152602001752430b99021a7a72324a3afa0a226a4a72fa927a6229d60511b81525083611412565b6001600160a01b0389161561087a5761087a6040518060400160405280601f81526020017f4e65772044656661756c742050726f706f7365722057686974656c6973743a008152508a6113c9565b6001600160a01b038816156108c8576108c86040518060400160405280601881526020017f4e6577205265717565737465722057686974656c6973743a0000000000000000815250896113c9565b6108ea60405180606001604052806023815260200161256060239139866113c9565b6109296040518060400160405280601c81526020017f43757272656e74205265717565737465722057686974656c6973743a00000000815250856113c9565b86156109c65761095060405180606001604052806038815260200161263160389139611457565b610990858a6040518060400160405280601a81526020017f44656661756c742050726f706f7365722057686974656c69737400000000000081525061149d565b6109c684896040518060400160405280601381526020017214995c5d595cdd195c8815da1a5d195b1a5cdd606a1b81525061149d565b81158015610de857610a0c6040518060400160405280601b81526020017f0a3d3d3d20494d504552534f4e4154494f4e204d4f4445203d3d3d0000000000815250611457565b610a2d6040518060600160405280602c8152602001612534602c9139611457565b610a4e6040518060600160405280603c81526020016124cf603c9139611457565b610a6f6040518060600160405280602581526020016125ea60259139611457565b5f610a7a8b8b6117e7565b90505f886001600160a01b031663ac9650d883604051602401610a9d9190611fce565b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050509050610aed6040518060600160405280602181526020016125a560219139611457565b60405163ca669fa760e01b81526001600160a01b03851660048201525f5160206124af5f395f51905f529063ca669fa7906024015f604051808303815f87803b158015610b38575f5ffd5b505af1158015610b4a573d5f5f3e3d5ffd5b5050604051631592ca1b60e31b81526001600160a01b038c16925063ac9650d89150610b7a908590600401611fce565b5f604051808303815f875af1158015610b95573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610bbc91908101906120f2565b50610bfb6040518060400160405280602081526020017f4d756c746963616c6c2073696d756c6174696f6e207375636365737366756c21815250611457565b610c1c60405180606001604052806022815260200161260f60229139611457565b610c4e6040518060400160405280601081526020016f2a30b933b2ba1021b7b73a3930b1ba1d60811b8152508e6113c9565b610c7d6040518060400160405280600d81526020016c21b7b73334b39020b236b4b71d60991b815250856113c9565b610ca86040518060400160405280600981526020016821b430b4b71024a21d60b91b815250466118d9565b60408051808201825260118152702a3930b739b0b1ba34b7b7102230ba309d60791b602082015290516371aad10d60e01b8152610d4991905f5160206124af5f395f51905f52906371aad10d90610d039086906004016121bb565b5f60405180830381865afa158015610d1d573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d4491908101906121cd565b61191e565b610d8160405180604001604052806015815260200174273ab6b132b91037b31037b832b930ba34b7b7399d60591b81525083516118d9565b610da260405180608001604052806055815260200161266960559139611457565b610de16040518060400160405280601c81526020017f54686520636f6e6669672061646d696e20616464726573732069733a00000000815250856113c9565b5050610fb8565b610e266040518060400160405280601e81526020017f0a3d3d3d2044495245435420455845435554494f4e204d4f4445203d3d3d0000815250611457565b610e646040518060400160405280601e81526020017f4465706c6f7965722068617320434f4e4649475f41444d494e5f524f4c450000815250611457565b610e856040518060600160405280602481526020016125c660249139611457565b60405163ce817d4760e01b8152600481018e90525f5160206124af5f395f51905f529063ce817d47906024015f604051808303815f87803b158015610ec8575f5ffd5b505af1158015610eda573d5f5f3e3d5ffd5b505050505f610ee98b8b6117e7565b604051631592ca1b60e31b81529091506001600160a01b0389169063ac9650d890610f18908490600401611fce565b5f604051808303815f875af1158015610f33573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f5a91908101906120f2565b505f5160206124af5f395f51905f526001600160a01b03166376eadd366040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610fa0575f5ffd5b505af1158015610fb2573d5f5f3e3d5ffd5b50505050505b610fee604051806040016040528060158152602001740a3d3d3d20564552494649434154494f4e203d3d3d60581b815250611457565b610ff9878b8b611963565b6110376040518060400160405280601781526020017f0a3d3d3d205570646174652053756d6d617279203d3d3d000000000000000000815250611457565b6110676040518060400160405280600e81526020016d283937bc3c9020b2323932b9b99d60911b8152508c6113c9565b6110926040518060400160405280600981526020016821b430b4b71024a21d60b91b815250466118d9565b6110bd604051806040016040528060098152602001682232b83637bcb2b91d60b91b8152508d6113c9565b6110f16040518060400160405280601281526020017121a7a72324a3afa0a226a4a72fa927a6229d60711b81525084611412565b6001600160a01b038a16156111ed5761113e6040518060400160405280601b81526020017f44656661756c742050726f706f7365722057686974656c6973743a0000000000815250611457565b611167604051806040016040528060078152602001661010233937b69d60c91b815250876113c9565b6111ed6040518060400160405280600581526020016410102a379d60d91b815250886001600160a01b031663ab328fb26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111c4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111e89190611f4f565b6113c9565b6001600160a01b038916156112b757611231604051806040016040528060148152602001732932b8bab2b9ba32b9102bb434ba32b634b9ba1d60611b815250611457565b61125a604051806040016040528060078152602001661010233937b69d60c91b815250866113c9565b6112b76040518060400160405280600581526020016410102a379d60d91b815250886001600160a01b0316632589382b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111c4573d5f5f3e3d5ffd5b50505050505050505050505050565b60405163f877cb1960e01b81526020600482015260086024820152674d4e454d4f4e494360c01b60448201525f9081905f5160206124af5f395f51905f529063f877cb19906064015f60405180830381865afa158015611328573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261134f91908101906121cd565b604051636229498b60e01b81529091505f5160206124af5f395f51905f5290636229498b906113849084905f9060040161221a565b602060405180830381865afa15801561139f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c39190611f89565b91505090565b61140e82826040516024016113df929190612241565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b179052611cc5565b5050565b61140e828260405160240161142892919061226a565b60408051601f198184030181529190526020810180516001600160e01b031663c3b5563560e01b179052611cc5565b61149a8160405160240161146b91906121bb565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b179052611cc5565b50565b6001600160a01b0382166114b057505050565b5f8390505f8390505f856001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114f5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115199190611f4f565b90505f856001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611558573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157c9190611f4f565b90505f846001600160a01b031663d01f63f56040518163ffffffff1660e01b81526004015f60405180830381865afa1580156115ba573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526115e1919081019061228d565b90505f846001600160a01b031663d01f63f56040518163ffffffff1660e01b81526004015f60405180830381865afa15801561161f573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611646919081019061228d565b90505f836001600160a01b0316856001600160a01b03161490506116cc88604051602001611674919061233e565b604051602081830303815290604052826116aa57604051806040016040528060048152602001631190525360e21b81525061191e565b604051806040016040528060048152602001635041535360e01b81525061191e565b80611764576116ff6040518060400160405280600c81526020016b101027b6321027bbb732b91d60a11b815250866113c9565b61172d6040518060400160405280600c81526020016b10102732bb9027bbb732b91d60a11b815250856113c9565b8760405160200161173e9190612368565b60408051601f198184030181529082905262461bcd60e51b82526104a5916004016121bb565b5f611770848489611cce565b9050611786896040516020016116749190612397565b8061179c578860405160200161173e91906123c4565b6117da896040516020016117b091906123f5565b60408051601f1981840301815282820190915260048252635041535360e01b60208301529061191e565b5050505050505050505050565b604080515f808252602082019092526060919081611815565b60608152602001906001900390816118005790505b5090506001600160a01b03841615611874576040516001600160a01b038516602482015261187190829060440160408051601f198184030181529190526020810180516001600160e01b0316631fa50cef60e01b179052611e4c565b90505b6001600160a01b038316156118d0576040516001600160a01b03841660248201526118cd90829060440160408051601f198184030181529190526020810180516001600160e01b03166335c10e8360e11b179052611e4c565b90505b90505b92915050565b61140e82826040516024016118ef92919061242d565b60408051601f198184030181529190526020810180516001600160e01b0316632d839cb360e21b179052611cc5565b61140e828260405160240161193492919061244e565b60408051601f198184030181529190526020810180516001600160e01b0316634b5c427760e01b179052611cc5565b5f836001600160a01b031663ab328fb26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119a0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119c49190611f4f565b90505f846001600160a01b0316632589382b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a03573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a279190611f4f565b90506001600160a01b03841615611b7b575f846001600160a01b0316836001600160a01b0316149050611aba6040518060600160405280602281526020016125836022913982611a95576040518060400160405280600681526020016511905253115160d21b81525061191e565b604051806040016040528060078152602001665355434345535360c81b81525061191e565b80611b7957611aea6040518060400160405280600981526020016822bc3832b1ba32b21d60b91b815250866113c9565b611b136040518060400160405280600781526020016620b1ba3ab0b61d60c91b815250846113c9565b60405162461bcd60e51b815260206004820152603560248201527f44656661756c742070726f706f7365722077686974656c69737420757064617460448201527419481d995c9a599a58d85d1a5bdb8819985a5b1959605a1b60648201526084016104a5565b505b6001600160a01b03831615611cbe575f836001600160a01b0316826001600160a01b0316149050611c046040518060400160405280601b81526020017f5265717565737465722057686974656c697374205570646174653a000000000081525082611a95576040518060400160405280600681526020016511905253115160d21b81525061191e565b80611cbc57611c346040518060400160405280600981526020016822bc3832b1ba32b21d60b91b815250856113c9565b611c5d6040518060400160405280600781526020016620b1ba3ab0b61d60c91b815250836113c9565b60405162461bcd60e51b815260206004820152602e60248201527f5265717565737465722077686974656c6973742075706461746520766572696660448201526d1a58d85d1a5bdb8819985a5b195960921b60648201526084016104a5565b505b5050505050565b61149a81611f1c565b5f8251845114611d5157611d1160405180604001604052806016815260200175101027b632102bb434ba32b634b9ba1021b7bab73a1d60511b81525085516118d9565b611d4a6040518060400160405280601681526020017510102732bb902bb434ba32b634b9ba1021b7bab73a1d60511b81525084516118d9565b505f611e45565b5f5b8451811015611e3f57826001600160a01b0316633a3ab672868381518110611d7d57611d7d61247b565b60200260200101516040518263ffffffff1660e01b8152600401611db091906001600160a01b0391909116815260200190565b602060405180830381865afa158015611dcb573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611def9190611f6a565b611e3757611e2e60405180606001604052806029815260200161250b60299139868381518110611e2157611e2161247b565b60200260200101516113c9565b5f915050611e45565b600101611d53565b50600190505b9392505050565b60605f83516001611e5d919061248f565b67ffffffffffffffff811115611e7557611e75612031565b604051908082528060200260200182016040528015611ea857816020015b6060815260200190600190039081611e935790505b5090505f5b8451811015611ef557848181518110611ec857611ec861247b565b6020026020010151828281518110611ee257611ee261247b565b6020908102919091010152600101611ead565b508281855181518110611f0a57611f0a61247b565b60209081029190910101529392505050565b5f6a636f6e736f6c652e6c6f6790505f5f835160208501845afa505050565b6001600160a01b038116811461149a575f5ffd5b5f60208284031215611f5f575f5ffd5b81516118d081611f3b565b5f60208284031215611f7a575f5ffd5b815180151581146118d0575f5ffd5b5f60208284031215611f99575f5ffd5b5051919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561202557603f19878603018452612010858351611fa0565b94506020938401939190910190600101611ff4565b50929695505050505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561206e5761206e612031565b604052919050565b5f67ffffffffffffffff82111561208f5761208f612031565b5060051b60200190565b5f5f67ffffffffffffffff8411156120b3576120b3612031565b50601f8301601f19166020016120c881612045565b9150508281528383830111156120dc575f5ffd5b8282602083015e5f602084830101529392505050565b5f60208284031215612102575f5ffd5b815167ffffffffffffffff811115612118575f5ffd5b8201601f81018413612128575f5ffd5b805161213b61213682612076565b612045565b8082825260208201915060208360051b85010192508683111561215c575f5ffd5b602084015b838110156121b057805167ffffffffffffffff81111561217f575f5ffd5b8501603f8101891361218f575f5ffd5b6121a189602083015160408401612099565b84525060209283019201612161565b509695505050505050565b602081525f611e456020830184611fa0565b5f602082840312156121dd575f5ffd5b815167ffffffffffffffff8111156121f3575f5ffd5b8201601f81018413612203575f5ffd5b61221284825160208401612099565b949350505050565b604081525f61222c6040830185611fa0565b905063ffffffff831660208301529392505050565b604081525f6122536040830185611fa0565b905060018060a01b03831660208301529392505050565b604081525f61227c6040830185611fa0565b905082151560208301529392505050565b5f6020828403121561229d575f5ffd5b815167ffffffffffffffff8111156122b3575f5ffd5b8201601f810184136122c3575f5ffd5b80516122d161213682612076565b8082825260208201915060208360051b8501019250868311156122f2575f5ffd5b6020840193505b8284101561231d57835161230c81611f3b565b8252602093840193909101906122f9565b9695505050505050565b5f81518060208401855e5f93019283525090919050565b5f6123498284612327565b6e10169027bbb732b91026b0ba31b41d60891b8152600f019392505050565b5f6123738284612327565b73040deeedccae4e640c8de40dcdee840dac2e8c6d60631b81526014019392505050565b5f6123a28284612327565b7110169021b7b73a32b73a399026b0ba31b41d60711b81526012019392505050565b5f6123cf8284612327565b75040c6dedce8cadce8e640c8de40dcdee840dac2e8c6d60531b81526016019392505050565b5f6124008284612327565b7f202d20436f6e66696775726174696f6e20566572696669636174696f6e3a00008152601e019392505050565b604081525f61243f6040830185611fa0565b90508260208301529392505050565b604081525f6124606040830185611fa0565b82810360208401526124728185611fa0565b95945050505050565b634e487b7160e01b5f52603260045260245ffd5b808201808211156118d357634e487b7160e01b5f52601160045260245ffdfe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d53696d756c6174696e672077686974656c697374207570646174657320616e642067656e65726174696e67207472616e73616374696f6e20646174614669727374206d697373696e6720616464726573732066726f6d206f6c642077686974656c6973743a4d4e454d4f4e494320646f6573206e6f7420636f72726573706f6e6420746f20636f6e6669672061646d696e43757272656e742044656661756c742050726f706f7365722057686974656c6973743a44656661756c742050726f706f7365722057686974656c697374205570646174653a53696d756c6174696e67206d756c746963616c6c20657865637574696f6e2e2e2e457865637574696e672077686974656c6973742075706461746573206469726563746c790a3d3d3d2053494d554c4154494e472057484954454c4953542055504441544553203d3d3d0a3d3d3d204d554c5449534947205452414e53414354494f4e2044415441203d3d3d0a3d3d3d205052452d4348414e47452057484954454c49535420434f4e46494755524154494f4e20564552494649434154494f4e203d3d3d0a557365207468657365207472616e73616374696f6e206461746120696e20796f7572206d756c74697369672077616c6c657420746f2065786563757465207468652077686974656c69737420757064617465732ea2646970667358221220911ff66af5a1caaec96e87bce3b3e2fac4f40662e05b6fe07dc20fb0220c373764736f6c634300081e0033","sourceMap":"1300:14254:86:-:0;;;3126:44:3;;;-1:-1:-1;;849:28:1;;;;;1300:14254:86;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561000f575f5ffd5b5060043610610034575f3560e01c8063c040622614610038578063f8ccbf4714610042575b5f5ffd5b610040610069565b005b600c546100559062010000900460ff1681565b604051901515815260200160405180910390f35b5f6100726112c6565b6040516001625e79b760e01b03198152600481018290529091505f905f5160206124af5f395f51905f529063ffa1864990602401602060405180830381865afa1580156100c1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100e59190611f4f565b60405163350d56bf60e01b815260206004820152600d60248201526c50524f58595f4144445245535360981b60448201529091505f905f5160206124af5f395f51905f529063350d56bf90606401602060405180830381865afa15801561014e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101729190611f4f565b604080516301587f9560e61b81526004810191909152601e60448201527f4e45575f44454641554c545f50524f504f5345525f57484954454c495354000060648201525f602482018190529192505f5160206124af5f395f51905f529063561fe54090608401602060405180830381865afa1580156101f3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102179190611f4f565b604080516301587f9560e61b81526004810191909152601760448201527f4e45575f5245515545535445525f57484954454c49535400000000000000000060648201525f602482018190529192505f5160206124af5f395f51905f529063561fe54090608401602060405180830381865afa158015610298573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102bc9190611f4f565b60408051634777f3cf60e01b81526004810191909152601e60448201527f5645524946595f57484954454c4953545f434f4e46494755524154494f4e00006064820152600160248201529091505f905f5160206124af5f395f51905f5290634777f3cf90608401602060405180830381865afa15801561033e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103629190611f6a565b90505f8490505f816001600160a01b031663ab328fb26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103a5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103c99190611f4f565b90505f826001600160a01b0316632589382b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610408573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061042c9190611f4f565b90506001600160a01b03861615158061044d57506001600160a01b03851615155b6104ae5760405162461bcd60e51b815260206004820152602760248201527f4174206c65617374206f6e652077686974656c697374206d75737420626520706044820152661c9bdd9a59195960ca1b60648201526084015b60405180910390fd5b6001600160a01b038616158015906104d75750816001600160a01b0316866001600160a01b0316145b156105585760405162461bcd60e51b815260206004820152604560248201527f4e65772064656661756c742070726f706f7365722077686974656c697374206160448201527f646472657373206973207468652073616d652061732063757272656e74206164606482015264647265737360d81b608482015260a4016104a5565b6001600160a01b038516158015906105815750806001600160a01b0316856001600160a01b0316145b156105f45760405162461bcd60e51b815260206004820152603e60248201527f4e6577207265717565737465722077686974656c69737420616464726573732060448201527f6973207468652073616d652061732063757272656e742061646472657373000060648201526084016104a5565b5f836001600160a01b031663c78ef28c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610631573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106559190611f89565b604051632474521560e21b8152600481018290526001600160a01b038b811660248301529192505f918616906391d1485490604401602060405180830381865afa1580156106a5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106c99190611f6a565b90505f816107915760405163350d56bf60e01b815260206004820152600c60248201526b21a7a72324a3afa0a226a4a760a11b60448201525f5160206124af5f395f51905f529063350d56bf90606401602060405180830381865afa158015610734573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107589190611f4f565b90506107916040518060400160405280601581526020017421b7b73334b39020b236b4b71020b2323932b9b99d60591b815250826113c9565b6107c4604051806040016040528060118152602001702232b83637bcb2b91020b2323932b9b99d60791b8152508c6113c9565b6107f46040518060400160405280600e81526020016d283937bc3c9020b2323932b9b99d60911b8152508b6113c9565b61082c604051806040016040528060168152602001752430b99021a7a72324a3afa0a226a4a72fa927a6229d60511b81525083611412565b6001600160a01b0389161561087a5761087a6040518060400160405280601f81526020017f4e65772044656661756c742050726f706f7365722057686974656c6973743a008152508a6113c9565b6001600160a01b038816156108c8576108c86040518060400160405280601881526020017f4e6577205265717565737465722057686974656c6973743a0000000000000000815250896113c9565b6108ea60405180606001604052806023815260200161256060239139866113c9565b6109296040518060400160405280601c81526020017f43757272656e74205265717565737465722057686974656c6973743a00000000815250856113c9565b86156109c65761095060405180606001604052806038815260200161263160389139611457565b610990858a6040518060400160405280601a81526020017f44656661756c742050726f706f7365722057686974656c69737400000000000081525061149d565b6109c684896040518060400160405280601381526020017214995c5d595cdd195c8815da1a5d195b1a5cdd606a1b81525061149d565b81158015610de857610a0c6040518060400160405280601b81526020017f0a3d3d3d20494d504552534f4e4154494f4e204d4f4445203d3d3d0000000000815250611457565b610a2d6040518060600160405280602c8152602001612534602c9139611457565b610a4e6040518060600160405280603c81526020016124cf603c9139611457565b610a6f6040518060600160405280602581526020016125ea60259139611457565b5f610a7a8b8b6117e7565b90505f886001600160a01b031663ac9650d883604051602401610a9d9190611fce565b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050509050610aed6040518060600160405280602181526020016125a560219139611457565b60405163ca669fa760e01b81526001600160a01b03851660048201525f5160206124af5f395f51905f529063ca669fa7906024015f604051808303815f87803b158015610b38575f5ffd5b505af1158015610b4a573d5f5f3e3d5ffd5b5050604051631592ca1b60e31b81526001600160a01b038c16925063ac9650d89150610b7a908590600401611fce565b5f604051808303815f875af1158015610b95573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610bbc91908101906120f2565b50610bfb6040518060400160405280602081526020017f4d756c746963616c6c2073696d756c6174696f6e207375636365737366756c21815250611457565b610c1c60405180606001604052806022815260200161260f60229139611457565b610c4e6040518060400160405280601081526020016f2a30b933b2ba1021b7b73a3930b1ba1d60811b8152508e6113c9565b610c7d6040518060400160405280600d81526020016c21b7b73334b39020b236b4b71d60991b815250856113c9565b610ca86040518060400160405280600981526020016821b430b4b71024a21d60b91b815250466118d9565b60408051808201825260118152702a3930b739b0b1ba34b7b7102230ba309d60791b602082015290516371aad10d60e01b8152610d4991905f5160206124af5f395f51905f52906371aad10d90610d039086906004016121bb565b5f60405180830381865afa158015610d1d573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d4491908101906121cd565b61191e565b610d8160405180604001604052806015815260200174273ab6b132b91037b31037b832b930ba34b7b7399d60591b81525083516118d9565b610da260405180608001604052806055815260200161266960559139611457565b610de16040518060400160405280601c81526020017f54686520636f6e6669672061646d696e20616464726573732069733a00000000815250856113c9565b5050610fb8565b610e266040518060400160405280601e81526020017f0a3d3d3d2044495245435420455845435554494f4e204d4f4445203d3d3d0000815250611457565b610e646040518060400160405280601e81526020017f4465706c6f7965722068617320434f4e4649475f41444d494e5f524f4c450000815250611457565b610e856040518060600160405280602481526020016125c660249139611457565b60405163ce817d4760e01b8152600481018e90525f5160206124af5f395f51905f529063ce817d47906024015f604051808303815f87803b158015610ec8575f5ffd5b505af1158015610eda573d5f5f3e3d5ffd5b505050505f610ee98b8b6117e7565b604051631592ca1b60e31b81529091506001600160a01b0389169063ac9650d890610f18908490600401611fce565b5f604051808303815f875af1158015610f33573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f5a91908101906120f2565b505f5160206124af5f395f51905f526001600160a01b03166376eadd366040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610fa0575f5ffd5b505af1158015610fb2573d5f5f3e3d5ffd5b50505050505b610fee604051806040016040528060158152602001740a3d3d3d20564552494649434154494f4e203d3d3d60581b815250611457565b610ff9878b8b611963565b6110376040518060400160405280601781526020017f0a3d3d3d205570646174652053756d6d617279203d3d3d000000000000000000815250611457565b6110676040518060400160405280600e81526020016d283937bc3c9020b2323932b9b99d60911b8152508c6113c9565b6110926040518060400160405280600981526020016821b430b4b71024a21d60b91b815250466118d9565b6110bd604051806040016040528060098152602001682232b83637bcb2b91d60b91b8152508d6113c9565b6110f16040518060400160405280601281526020017121a7a72324a3afa0a226a4a72fa927a6229d60711b81525084611412565b6001600160a01b038a16156111ed5761113e6040518060400160405280601b81526020017f44656661756c742050726f706f7365722057686974656c6973743a0000000000815250611457565b611167604051806040016040528060078152602001661010233937b69d60c91b815250876113c9565b6111ed6040518060400160405280600581526020016410102a379d60d91b815250886001600160a01b031663ab328fb26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111c4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111e89190611f4f565b6113c9565b6001600160a01b038916156112b757611231604051806040016040528060148152602001732932b8bab2b9ba32b9102bb434ba32b634b9ba1d60611b815250611457565b61125a604051806040016040528060078152602001661010233937b69d60c91b815250866113c9565b6112b76040518060400160405280600581526020016410102a379d60d91b815250886001600160a01b0316632589382b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111c4573d5f5f3e3d5ffd5b50505050505050505050505050565b60405163f877cb1960e01b81526020600482015260086024820152674d4e454d4f4e494360c01b60448201525f9081905f5160206124af5f395f51905f529063f877cb19906064015f60405180830381865afa158015611328573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261134f91908101906121cd565b604051636229498b60e01b81529091505f5160206124af5f395f51905f5290636229498b906113849084905f9060040161221a565b602060405180830381865afa15801561139f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c39190611f89565b91505090565b61140e82826040516024016113df929190612241565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b179052611cc5565b5050565b61140e828260405160240161142892919061226a565b60408051601f198184030181529190526020810180516001600160e01b031663c3b5563560e01b179052611cc5565b61149a8160405160240161146b91906121bb565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b179052611cc5565b50565b6001600160a01b0382166114b057505050565b5f8390505f8390505f856001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114f5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115199190611f4f565b90505f856001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611558573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157c9190611f4f565b90505f846001600160a01b031663d01f63f56040518163ffffffff1660e01b81526004015f60405180830381865afa1580156115ba573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526115e1919081019061228d565b90505f846001600160a01b031663d01f63f56040518163ffffffff1660e01b81526004015f60405180830381865afa15801561161f573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611646919081019061228d565b90505f836001600160a01b0316856001600160a01b03161490506116cc88604051602001611674919061233e565b604051602081830303815290604052826116aa57604051806040016040528060048152602001631190525360e21b81525061191e565b604051806040016040528060048152602001635041535360e01b81525061191e565b80611764576116ff6040518060400160405280600c81526020016b101027b6321027bbb732b91d60a11b815250866113c9565b61172d6040518060400160405280600c81526020016b10102732bb9027bbb732b91d60a11b815250856113c9565b8760405160200161173e9190612368565b60408051601f198184030181529082905262461bcd60e51b82526104a5916004016121bb565b5f611770848489611cce565b9050611786896040516020016116749190612397565b8061179c578860405160200161173e91906123c4565b6117da896040516020016117b091906123f5565b60408051601f1981840301815282820190915260048252635041535360e01b60208301529061191e565b5050505050505050505050565b604080515f808252602082019092526060919081611815565b60608152602001906001900390816118005790505b5090506001600160a01b03841615611874576040516001600160a01b038516602482015261187190829060440160408051601f198184030181529190526020810180516001600160e01b0316631fa50cef60e01b179052611e4c565b90505b6001600160a01b038316156118d0576040516001600160a01b03841660248201526118cd90829060440160408051601f198184030181529190526020810180516001600160e01b03166335c10e8360e11b179052611e4c565b90505b90505b92915050565b61140e82826040516024016118ef92919061242d565b60408051601f198184030181529190526020810180516001600160e01b0316632d839cb360e21b179052611cc5565b61140e828260405160240161193492919061244e565b60408051601f198184030181529190526020810180516001600160e01b0316634b5c427760e01b179052611cc5565b5f836001600160a01b031663ab328fb26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119a0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119c49190611f4f565b90505f846001600160a01b0316632589382b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a03573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a279190611f4f565b90506001600160a01b03841615611b7b575f846001600160a01b0316836001600160a01b0316149050611aba6040518060600160405280602281526020016125836022913982611a95576040518060400160405280600681526020016511905253115160d21b81525061191e565b604051806040016040528060078152602001665355434345535360c81b81525061191e565b80611b7957611aea6040518060400160405280600981526020016822bc3832b1ba32b21d60b91b815250866113c9565b611b136040518060400160405280600781526020016620b1ba3ab0b61d60c91b815250846113c9565b60405162461bcd60e51b815260206004820152603560248201527f44656661756c742070726f706f7365722077686974656c69737420757064617460448201527419481d995c9a599a58d85d1a5bdb8819985a5b1959605a1b60648201526084016104a5565b505b6001600160a01b03831615611cbe575f836001600160a01b0316826001600160a01b0316149050611c046040518060400160405280601b81526020017f5265717565737465722057686974656c697374205570646174653a000000000081525082611a95576040518060400160405280600681526020016511905253115160d21b81525061191e565b80611cbc57611c346040518060400160405280600981526020016822bc3832b1ba32b21d60b91b815250856113c9565b611c5d6040518060400160405280600781526020016620b1ba3ab0b61d60c91b815250836113c9565b60405162461bcd60e51b815260206004820152602e60248201527f5265717565737465722077686974656c6973742075706461746520766572696660448201526d1a58d85d1a5bdb8819985a5b195960921b60648201526084016104a5565b505b5050505050565b61149a81611f1c565b5f8251845114611d5157611d1160405180604001604052806016815260200175101027b632102bb434ba32b634b9ba1021b7bab73a1d60511b81525085516118d9565b611d4a6040518060400160405280601681526020017510102732bb902bb434ba32b634b9ba1021b7bab73a1d60511b81525084516118d9565b505f611e45565b5f5b8451811015611e3f57826001600160a01b0316633a3ab672868381518110611d7d57611d7d61247b565b60200260200101516040518263ffffffff1660e01b8152600401611db091906001600160a01b0391909116815260200190565b602060405180830381865afa158015611dcb573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611def9190611f6a565b611e3757611e2e60405180606001604052806029815260200161250b60299139868381518110611e2157611e2161247b565b60200260200101516113c9565b5f915050611e45565b600101611d53565b50600190505b9392505050565b60605f83516001611e5d919061248f565b67ffffffffffffffff811115611e7557611e75612031565b604051908082528060200260200182016040528015611ea857816020015b6060815260200190600190039081611e935790505b5090505f5b8451811015611ef557848181518110611ec857611ec861247b565b6020026020010151828281518110611ee257611ee261247b565b6020908102919091010152600101611ead565b508281855181518110611f0a57611f0a61247b565b60209081029190910101529392505050565b5f6a636f6e736f6c652e6c6f6790505f5f835160208501845afa505050565b6001600160a01b038116811461149a575f5ffd5b5f60208284031215611f5f575f5ffd5b81516118d081611f3b565b5f60208284031215611f7a575f5ffd5b815180151581146118d0575f5ffd5b5f60208284031215611f99575f5ffd5b5051919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561202557603f19878603018452612010858351611fa0565b94506020938401939190910190600101611ff4565b50929695505050505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561206e5761206e612031565b604052919050565b5f67ffffffffffffffff82111561208f5761208f612031565b5060051b60200190565b5f5f67ffffffffffffffff8411156120b3576120b3612031565b50601f8301601f19166020016120c881612045565b9150508281528383830111156120dc575f5ffd5b8282602083015e5f602084830101529392505050565b5f60208284031215612102575f5ffd5b815167ffffffffffffffff811115612118575f5ffd5b8201601f81018413612128575f5ffd5b805161213b61213682612076565b612045565b8082825260208201915060208360051b85010192508683111561215c575f5ffd5b602084015b838110156121b057805167ffffffffffffffff81111561217f575f5ffd5b8501603f8101891361218f575f5ffd5b6121a189602083015160408401612099565b84525060209283019201612161565b509695505050505050565b602081525f611e456020830184611fa0565b5f602082840312156121dd575f5ffd5b815167ffffffffffffffff8111156121f3575f5ffd5b8201601f81018413612203575f5ffd5b61221284825160208401612099565b949350505050565b604081525f61222c6040830185611fa0565b905063ffffffff831660208301529392505050565b604081525f6122536040830185611fa0565b905060018060a01b03831660208301529392505050565b604081525f61227c6040830185611fa0565b905082151560208301529392505050565b5f6020828403121561229d575f5ffd5b815167ffffffffffffffff8111156122b3575f5ffd5b8201601f810184136122c3575f5ffd5b80516122d161213682612076565b8082825260208201915060208360051b8501019250868311156122f2575f5ffd5b6020840193505b8284101561231d57835161230c81611f3b565b8252602093840193909101906122f9565b9695505050505050565b5f81518060208401855e5f93019283525090919050565b5f6123498284612327565b6e10169027bbb732b91026b0ba31b41d60891b8152600f019392505050565b5f6123738284612327565b73040deeedccae4e640c8de40dcdee840dac2e8c6d60631b81526014019392505050565b5f6123a28284612327565b7110169021b7b73a32b73a399026b0ba31b41d60711b81526012019392505050565b5f6123cf8284612327565b75040c6dedce8cadce8e640c8de40dcdee840dac2e8c6d60531b81526016019392505050565b5f6124008284612327565b7f202d20436f6e66696775726174696f6e20566572696669636174696f6e3a00008152601e019392505050565b604081525f61243f6040830185611fa0565b90508260208301529392505050565b604081525f6124606040830185611fa0565b82810360208401526124728185611fa0565b95945050505050565b634e487b7160e01b5f52603260045260245ffd5b808201808211156118d357634e487b7160e01b5f52601160045260245ffdfe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d53696d756c6174696e672077686974656c697374207570646174657320616e642067656e65726174696e67207472616e73616374696f6e20646174614669727374206d697373696e6720616464726573732066726f6d206f6c642077686974656c6973743a4d4e454d4f4e494320646f6573206e6f7420636f72726573706f6e6420746f20636f6e6669672061646d696e43757272656e742044656661756c742050726f706f7365722057686974656c6973743a44656661756c742050726f706f7365722057686974656c697374205570646174653a53696d756c6174696e67206d756c746963616c6c20657865637574696f6e2e2e2e457865637574696e672077686974656c6973742075706461746573206469726563746c790a3d3d3d2053494d554c4154494e472057484954454c4953542055504441544553203d3d3d0a3d3d3d204d554c5449534947205452414e53414354494f4e2044415441203d3d3d0a3d3d3d205052452d4348414e47452057484954454c49535420434f4e46494755524154494f4e20564552494649434154494f4e203d3d3d0a557365207468657365207472616e73616374696f6e206461746120696e20796f7572206d756c74697369672077616c6c657420746f2065786563757465207468652077686974656c69737420757064617465732ea2646970667358221220911ff66af5a1caaec96e87bce3b3e2fac4f40662e05b6fe07dc20fb0220c373764736f6c634300081e0033","sourceMap":"1300:14254:86:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1367:6963;;;:::i;:::-;;849:28:1;;;;;;;;;;;;;;;179:14:102;;172:22;154:41;;142:2;127:18;849:28:1;;;;;;;1367:6963:86;1401:26;1430:24;:22;:24::i;:::-;1490:27;;-1:-1:-1;;;;;;1490:27:86;;;;;352:25:102;;;1401:53:86;;-1:-1:-1;1464:23:86;;-1:-1:-1;;;;;;;;;;;336:42:0;1490:7:86;;325:18:102;;1490:27:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1594:30;;-1:-1:-1;;;1594:30:86;;982:2:102;1594:30:86;;;964:21:102;1021:2;1001:18;;;994:30;-1:-1:-1;;;1040:18:102;;;1033:43;1464:53:86;;-1:-1:-1;1571:20:86;;-1:-1:-1;;;;;;;;;;;336:42:0;1594:13:86;;1093:18:102;;1594:30:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1748:54;;;-1:-1:-1;;;1748:54:86;;;;;1334:21:102;;;;1391:2;1371:18;;;1364:30;1430:32;1410:18;;;1403:60;1710:35:86;1515:20:102;;;1508:62;;;1571:53:86;;-1:-1:-1;;;;;;;;;;;;336:42:0;1748:8:86;;1480:19:102;;1748:54:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1844:47;;;-1:-1:-1;;;1844:47:86;;;;;1793:21:102;;;;1850:2;1830:18;;;1823:30;1889:25;1869:18;;;1862:53;1812:29:86;1967:20:102;;;1960:62;;;1710:92:86;;-1:-1:-1;;;;;;;;;;;;336:42:0;1844:8:86;;1932:19:102;;1844:47:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1990:48;;;-1:-1:-1;;;1990:48:86;;;;;2239:21:102;;;;2296:2;2276:18;;;2269:30;2335:32;2315:18;;;2308:60;2033:4:86;2420:20:102;;;2413:52;1812:79:86;;-1:-1:-1;1954:33:86;;-1:-1:-1;;;;;;;;;;;336:42:0;1990:8:86;;2385:19:102;;1990:48:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1954:84;;2086:29;2144:12;2086:71;;2226:39;2276:3;-1:-1:-1;;;;;2276:28:86;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2226:81;;2317:33;2361:3;-1:-1:-1;;;;;2361:22:86;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2317:69;-1:-1:-1;;;;;;2483:41:86;;;;;:80;;-1:-1:-1;;;;;;2528:35:86;;;;2483:80;2462:166;;;;-1:-1:-1;;;2462:166:86;;3251:2:102;2462:166:86;;;3233:21:102;3290:2;3270:18;;;3263:30;3329:34;3309:18;;;3302:62;-1:-1:-1;;;3380:18:102;;;3373:37;3427:19;;2462:166:86;;;;;;;;;-1:-1:-1;;;;;2724:41:86;;;;;;:107;;;2800:31;-1:-1:-1;;;;;2769:62:86;:27;-1:-1:-1;;;;;2769:62:86;;2724:107;2720:225;;;2855:79;;-1:-1:-1;;;2855:79:86;;3659:2:102;2855:79:86;;;3641:21:102;3698:2;3678:18;;;3671:30;3737:34;3717:18;;;3710:62;3808:34;3788:18;;;3781:62;-1:-1:-1;;;3859:19:102;;;3852:36;3905:19;;2855:79:86;3457:473:102;2720:225:86;-1:-1:-1;;;;;2958:35:86;;;;;;:89;;;3022:25;-1:-1:-1;;;;;2997:50:86;:21;-1:-1:-1;;;;;2997:50:86;;2958:89;2954:192;;;3063:72;;-1:-1:-1;;;3063:72:86;;4137:2:102;3063:72:86;;;4119:21:102;4176:2;4156:18;;;4149:30;4215:34;4195:18;;;4188:62;4286:32;4266:18;;;4259:60;4336:19;;3063:72:86;3935:426:102;2954:192:86;3207:23;3233:3;-1:-1:-1;;;;;3233:21:86;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3292:45;;-1:-1:-1;;;3292:45:86;;;;;4729:25:102;;;-1:-1:-1;;;;;4790:32:102;;;4770:18;;;4763:60;3207:49:86;;-1:-1:-1;3266:23:86;;3292:11;;;;;4702:18:102;;3292:45:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3266:71;-1:-1:-1;3422:26:86;3266:71;3471:170;;3531:29;;-1:-1:-1;;;3531:29:86;;5036:2:102;3531:29:86;;;5018:21:102;5075:2;5055:18;;;5048:30;-1:-1:-1;;;5094:18:102;;;5087:42;-1:-1:-1;;;;;;;;;;;336:42:0;3531:13:86;;5146:18:102;;3531:29:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3510:50;;3574:56;;;;;;;;;;;;;;-1:-1:-1;;;3574:56:86;;;3611:18;3574:11;:56::i;:::-;3680:49;;;;;;;;;;;;;;-1:-1:-1;;;3680:49:86;;;3713:15;3680:11;:49::i;:::-;3739:43;;;;;;;;;;;;;;-1:-1:-1;;;3739:43:86;;;3769:12;3739:11;:43::i;:::-;3792:57;;;;;;;;;;;;;;-1:-1:-1;;;3792:57:86;;;3830:18;3792:11;:57::i;:::-;-1:-1:-1;;;;;3864:41:86;;;3860:147;;3921:75;;;;;;;;;;;;;;;;;;3968:27;3921:11;:75::i;:::-;-1:-1:-1;;;;;4020:35:86;;;4016:128;;4071:62;;;;;;;;;;;;;;;;;;4111:21;4071:11;:62::i;:::-;4154:83;;;;;;;;;;;;;;;;;;4205:31;4154:11;:83::i;:::-;4247:70;;;;;;;;;;;;;;;;;;4291:25;4247:11;:70::i;:::-;4407:28;4403:414;;;4451:72;;;;;;;;;;;;;;;;;;:11;:72::i;:::-;4538:151;4585:31;4618:27;4538:151;;;;;;;;;;;;;;;;;:29;:151::i;:::-;4704:102;4734:25;4761:21;4704:102;;;;;;;;;;;;;-1:-1:-1;;;4704:102:86;;;:29;:102::i;:::-;4919:19;;4949:2373;;;;5064:43;;;;;;;;;;;;;;;;;;:11;:43::i;:::-;5121:59;;;;;;;;;;;;;;;;;;:11;:59::i;:::-;5194:75;;;;;;;;;;;;;;;;;;:11;:75::i;:::-;5375:53;;;;;;;;;;;;;;;;;;:11;:53::i;:::-;5503:28;5534:73;5556:27;5585:21;5534;:73::i;:::-;5503:104;;5673:37;5728:3;-1:-1:-1;;;;;5728:13:86;;5744;5713:46;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5713:46:86;;;;;;;;;;;5673:86;;5818:48;;;;;;;;;;;;;;;;;;:11;:48::i;:::-;5880:28;;-1:-1:-1;;;5880:28:86;;-1:-1:-1;;;;;6416:32:102;;5880:28:86;;;6398:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;5880:8:86;;6371:18:102;;5880:28:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5922:28:86;;-1:-1:-1;;;5922:28:86;;-1:-1:-1;;;;;5922:13:86;;;-1:-1:-1;5922:13:86;;-1:-1:-1;5922:28:86;;5936:13;;5922:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5922:28:86;;;;;;;;;;;;:::i;:::-;;5964:47;;;;;;;;;;;;;;;;;;:11;:47::i;:::-;6096:50;;;;;;;;;;;;;;;;;;:11;:50::i;:::-;6160:45;;;;;;;;;;;;;;-1:-1:-1;;;6160:45:86;;;6192:12;6160:11;:45::i;:::-;6219:48;;;;;;;;;;;;;;-1:-1:-1;;;6219:48:86;;;6248:18;6219:11;:48::i;:::-;6281:39;;;;;;;;;;;;;;-1:-1:-1;;;6281:39:86;;;6306:13;6281:11;:39::i;:::-;6334:71;;;;;;;;;;;-1:-1:-1;;;6334:71:86;;;;6367:37;;-1:-1:-1;;;6367:37:86;;6334:71;;;-1:-1:-1;;;;;;;;;;;336:42:0;6367:11:86;;:37;;6379:24;;6367:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6367:37:86;;;;;;;;;;;;:::i;:::-;6334:11;:71::i;:::-;6419:58;;;;;;;;;;;;;;-1:-1:-1;;;6419:58:86;;;6456:13;:20;6419:11;:58::i;:::-;6492:101;;;;;;;;;;;;;;;;;;:11;:101::i;:::-;6607:63;;;;;;;;;;;;;;;;;;6651:18;6607:11;:63::i;:::-;4972:1709;;4949:2373;;;6755:46;;;;;;;;;;;;;;;;;;:11;:46::i;:::-;6815:45;;;;;;;;;;;;;;;;;;:11;:45::i;:::-;6874:51;;;;;;;;;;;;;;;;;;:11;:51::i;:::-;7016:37;;-1:-1:-1;;;7016:37:86;;;;;352:25:102;;;-1:-1:-1;;;;;;;;;;;336:42:0;7016:17:86;;325:18:102;;7016:37:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7132:28;7163:73;7185:27;7214:21;7163;:73::i;:::-;7250:28;;-1:-1:-1;;;7250:28:86;;7132:104;;-1:-1:-1;;;;;;7250:13:86;;;;;:28;;7132:104;;7250:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7250:28:86;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;;;;;;;;;;;;7293:16:86;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6687:635;4949:2373;7386:37;;;;;;;;;;;;;;-1:-1:-1;;;7386:37:86;;;:11;:37::i;:::-;7433:80;7457:3;7462:27;7491:21;7433:23;:80::i;:::-;7557:39;;;;;;;;;;;;;;;;;;:11;:39::i;:::-;7606:43;;;;;;;;;;;;;;-1:-1:-1;;;7606:43:86;;;7636:12;7606:11;:43::i;:::-;7659:39;;;;;;;;;;;;;;-1:-1:-1;;;7659:39:86;;;7684:13;7659:11;:39::i;:::-;7708:41;;;;;;;;;;;;;;-1:-1:-1;;;7708:41:86;;;7733:15;7708:11;:41::i;:::-;7759:53;;;;;;;;;;;;;;-1:-1:-1;;;7759:53:86;;;7793:18;7759:11;:53::i;:::-;-1:-1:-1;;;;;7827:41:86;;;7823:258;;7884:42;;;;;;;;;;;;;;;;;;:11;:42::i;:::-;7940:55;;;;;;;;;;;;;;-1:-1:-1;;;7940:55:86;;;7963:31;7940:11;:55::i;:::-;8009:61;;;;;;;;;;;;;;-1:-1:-1;;;8009:61:86;;;8038:3;-1:-1:-1;;;;;8038:28:86;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8009:11;:61::i;:::-;-1:-1:-1;;;;;8095:35:86;;;8091:233;;8146:35;;;;;;;;;;;;;;-1:-1:-1;;;8146:35:86;;;:11;:35::i;:::-;8195:49;;;;;;;;;;;;;;-1:-1:-1;;;8195:49:86;;;8218:25;8195:11;:49::i;:::-;8258:55;;;;;;;;;;;;;;-1:-1:-1;;;8258:55:86;;;8287:3;-1:-1:-1;;;;;8287:22:86;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8258:55;1391:6939;;;;;;;;;;;;;1367:6963::o;8495:226::-;8596:24;;-1:-1:-1;;;8596:24:86;;9586:2:102;8596:24:86;;;9568:21:102;9625:1;9605:18;;;9598:29;-1:-1:-1;;;9643:18:102;;;9636:38;8552:7:86;;;;-1:-1:-1;;;;;;;;;;;336:42:0;8596:12:86;;9691:18:102;;8596:24:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8596:24:86;;;;;;;;;;;;:::i;:::-;8689:25;;-1:-1:-1;;;8689:25:86;;8571:49;;-1:-1:-1;;;;;;;;;;;;336:42:0;8689:12:86;;:25;;8571:49;;8712:1;;8689:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8682:32;;;8495:226;:::o;7740:145:16:-;7807:71;7870:2;7874;7823:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7823:54:16;;;;;;;;;;;;;;-1:-1:-1;;;;;7823:54:16;-1:-1:-1;;;7823:54:16;;;7807:15;:71::i;:::-;7740:145;;:::o;7595:139::-;7659:68;7719:2;7723;7675:51;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7675:51:16;;;;;;;;;;;;;;-1:-1:-1;;;;;7675:51:16;-1:-1:-1;;;7675:51:16;;;7659:15;:68::i;6191:121::-;6246:59;6301:2;6262:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6262:42:16;;;;;;;;;;;;;;-1:-1:-1;;;;;6262:42:16;-1:-1:-1;;;6262:42:16;;;6246:15;:59::i;:::-;6191:121;:::o;12501:1732:86:-;-1:-1:-1;;;;;12755:33:86;;12751:70;;12501:1732;;;:::o;12751:70::-;12830:38;12897:19;12830:87;;12927:38;12994:19;12927:87;;13047:16;13074:19;-1:-1:-1;;;;;13066:34:86;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13047:55;;13112:16;13139:19;-1:-1:-1;;;;;13131:34:86;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13112:55;;13212:37;13252:12;-1:-1:-1;;;;;13252:25:86;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13252:27:86;;;;;;;;;;;;:::i;:::-;13212:67;;13289:37;13329:12;-1:-1:-1;;;;;13329:25:86;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13329:27:86;;;;;;;;;;;;:::i;:::-;13289:67;;13398:16;13429:8;-1:-1:-1;;;;;13417:20:86;:8;-1:-1:-1;;;;;13417:20:86;;13398:39;;13447:91;13473:13;13459:47;;;;;;;;:::i;:::-;;;;;;;;;;;;;13508:11;:29;;;;;;;;;;;;;;;-1:-1:-1;;;13508:29:86;;;6334:11;:71::i;13508:29::-;;;;;;;;;;;;;;-1:-1:-1;;;13508:29:86;;;13447:11;:91::i;:::-;13553:11;13548:205;;13580:37;;;;;;;;;;;;;;-1:-1:-1;;;13580:37:86;;;13608:8;13580:11;:37::i;:::-;13631;;;;;;;;;;;;;;-1:-1:-1;;;13631:37:86;;;13659:8;13631:11;:37::i;:::-;13703:13;13689:52;;;;;;;;:::i;:::-;;;;-1:-1:-1;;13689:52:86;;;;;;;;;;-1:-1:-1;;;13682:60:86;;;;;;;:::i;13548:205::-;13806:18;13827:83;13853:20;13875;13897:12;13827:25;:83::i;:::-;13806:104;;13920:96;13946:13;13932:50;;;;;;;;:::i;13920:96::-;14031:13;14026:107;;14081:13;14067:54;;;;;;;;:::i;14026:107::-;14143:83;14169:13;14155:62;;;;;;;;:::i;:::-;;;;-1:-1:-1;;14155:62:86;;;;;;14143:83;;;;;;;;;-1:-1:-1;;;14155:62:86;14143:83;;;14155:62;14143:11;:83::i;:::-;12671:1562;;;;;;;;12501:1732;;;:::o;9590:785::-;9797:14;;;9766:28;9797:14;;;;;;;;;9736;;9766:28;;9797:14;;;;;;;;;;;;;;;;;;;-1:-1:-1;9766:45:86;-1:-1:-1;;;;;;9826:41:86;;;9822:270;;9967:100;;-1:-1:-1;;;;;6416:32:102;;9967:100:86;;;6398:51:102;9899:182:86;;9936:13;;6371:18:102;;9967:100:86;;;-1:-1:-1;;9967:100:86;;;;;;;;;;;;;;-1:-1:-1;;;;;9967:100:86;-1:-1:-1;;;9967:100:86;;;9899:19;:182::i;:::-;9883:198;;9822:270;-1:-1:-1;;;;;10106:35:86;;;10102:236;;10225:88;;-1:-1:-1;;;;;6416:32:102;;10225:88:86;;;6398:51:102;10173:154:86;;10210:13;;6371:18:102;;10225:88:86;;;-1:-1:-1;;10225:88:86;;;;;;;;;;;;;;-1:-1:-1;;;;;10225:88:86;-1:-1:-1;;;10225:88:86;;;10173:19;:154::i;:::-;10157:170;;10102:236;10355:13;-1:-1:-1;9590:785:86;;;;;:::o;7139:145:16:-;7206:71;7269:2;7273;7222:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7222:54:16;;;;;;;;;;;;;;-1:-1:-1;;;;;7222:54:16;-1:-1:-1;;;7222:54:16;;;7206:15;:71::i;7439:150::-;7512:70;7574:2;7578;7528:53;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7528:53:16;;;;;;;;;;;;;;-1:-1:-1;;;;;7528:53:16;-1:-1:-1;;;7528:53:16;;;7512:15;:70::i;10704:1478:86:-;10900:39;10950:3;-1:-1:-1;;;;;10950:28:86;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10900:81;;10991:33;11035:3;-1:-1:-1;;;;;11035:22:86;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10991:69;-1:-1:-1;;;;;;11075:46:86;;;11071:568;;11137:26;11201:32;-1:-1:-1;;;;;11166:67:86;:31;-1:-1:-1;;;;;11166:67:86;;11137:96;;11247:95;;;;;;;;;;;;;;;;;;11297:21;:44;;;;;;;;;;;;;;;-1:-1:-1;;;11297:44:86;;;6334:11;:71::i;11297:44::-;;;;;;;;;;;;;;-1:-1:-1;;;11297:44:86;;;11247:11;:95::i;:::-;11361:21;11356:273;;11402:58;;;;;;;;;;;;;;-1:-1:-1;;;11402:58:86;;;11427:32;11402:11;:58::i;:::-;11478:55;;;;;;;;;;;;;;-1:-1:-1;;;11478:55:86;;;11501:31;11478:11;:55::i;:::-;11551:63;;-1:-1:-1;;;11551:63:86;;14987:2:102;11551:63:86;;;14969:21:102;15026:2;15006:18;;;14999:30;15065:34;15045:18;;;15038:62;-1:-1:-1;;;15116:18:102;;;15109:51;15177:19;;11551:63:86;14785:417:102;11356:273:86;11123:516;11071:568;-1:-1:-1;;;;;11653:40:86;;;11649:527;;11709:27;11768:26;-1:-1:-1;;;;;11739:55:86;:25;-1:-1:-1;;;;;11739:55:86;;11709:85;;11808:89;;;;;;;;;;;;;;;;;;11851:22;:45;;;;;;;;;;;;;;;-1:-1:-1;;;11851:45:86;;;6334:11;:71::i;11808:89::-;11916:22;11911:255;;11958:52;;;;;;;;;;;;;;-1:-1:-1;;;11958:52:86;;;11983:26;11958:11;:52::i;:::-;12028:49;;;;;;;;;;;;;;-1:-1:-1;;;12028:49:86;;;12051:25;12028:11;:49::i;:::-;12095:56;;-1:-1:-1;;;12095:56:86;;15409:2:102;12095:56:86;;;15391:21:102;15448:2;15428:18;;;15421:30;15487:34;15467:18;;;15460:62;-1:-1:-1;;;15538:18:102;;;15531:44;15592:19;;12095:56:86;15207:410:102;11911:255:86;11695:481;11649:527;10890:1292;;10704:1478;;;:::o;851:129:16:-;922:51;965:7;934:29;922:51::i;14614:938:86:-;14829:4;14913:20;:27;14882:20;:27;:58;14878:261;;14956:66;;;;;;;;;;;;;;-1:-1:-1;;;14956:66:86;;;14994:20;:27;14956:11;:66::i;:::-;15036;;;;;;;;;;;;;;-1:-1:-1;;;15036:66:86;;;15074:20;:27;15036:11;:66::i;:::-;-1:-1:-1;15123:5:86;15116:12;;14878:261;15236:9;15231:293;15255:20;:27;15251:1;:31;15231:293;;;15308:21;-1:-1:-1;;;;;15308:35:86;;15344:20;15365:1;15344:23;;;;;;;;:::i;:::-;;;;;;;15308:60;;;;;;;;;;;;;;-1:-1:-1;;;;;6416:32:102;;;;6398:51;;6386:2;6371:18;;6252:203;15308:60:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15303:211;;15388:81;;;;;;;;;;;;;;;;;;15445:20;15466:1;15445:23;;;;;;;;:::i;:::-;;;;;;;15388:11;:81::i;:::-;15494:5;15487:12;;;;;15303:211;15284:3;;15231:293;;;;15541:4;15534:11;;14614:938;;;;;;:::o;8933:350::-;9029:14;9055:23;9093:5;:12;9108:1;9093:16;;;;:::i;:::-;9081:29;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9055:55:86;-1:-1:-1;9125:9:86;9120:90;9144:5;:12;9140:1;:16;9120:90;;;9191:5;9197:1;9191:8;;;;;;;;:::i;:::-;;;;;;;9177;9186:1;9177:11;;;;;;;;:::i;:::-;;;;;;;;;;:22;9158:3;;9120:90;;;;9244:7;9219:8;9228:5;:12;9219:22;;;;;;;;:::i;:::-;;;;;;;;;;:32;9268:8;8933:350;-1:-1:-1;;;8933:350:86:o;180:463:16:-;265:22;131:42;265:40;;594:1;571;541:7;535:14;510:2;501:7;497:16;461:14;434:5;402:211;381:246;367:270;180:463;:::o;388:131:102:-;-1:-1:-1;;;;;463:31:102;;453:42;;443:70;;509:1;506;499:12;524:251;594:6;647:2;635:9;626:7;622:23;618:32;615:52;;;663:1;660;653:12;615:52;695:9;689:16;714:31;739:5;714:31;:::i;2476:277::-;2543:6;2596:2;2584:9;2575:7;2571:23;2567:32;2564:52;;;2612:1;2609;2602:12;2564:52;2644:9;2638:16;2697:5;2690:13;2683:21;2676:5;2673:32;2663:60;;2719:1;2716;2709:12;4366:184;4436:6;4489:2;4477:9;4468:7;4464:23;4460:32;4457:52;;;4505:1;4502;4495:12;4457:52;-1:-1:-1;4528:16:102;;4366:184;-1:-1:-1;4366:184:102:o;5175:288::-;5216:3;5254:5;5248:12;5281:6;5276:3;5269:19;5337:6;5330:4;5323:5;5319:16;5312:4;5307:3;5303:14;5297:47;5389:1;5382:4;5373:6;5368:3;5364:16;5360:27;5353:38;5452:4;5445:2;5441:7;5436:2;5428:6;5424:15;5420:29;5415:3;5411:39;5407:50;5400:57;;;5175:288;;;;:::o;5468:779::-;5628:4;5676:2;5665:9;5661:18;5706:2;5695:9;5688:21;5729:6;5764;5758:13;5795:6;5787;5780:22;5833:2;5822:9;5818:18;5811:25;;5895:2;5885:6;5882:1;5878:14;5867:9;5863:30;5859:39;5845:53;;5933:2;5925:6;5921:15;5954:1;5964:254;5978:6;5975:1;5972:13;5964:254;;;6071:2;6067:7;6055:9;6047:6;6043:22;6039:36;6034:3;6027:49;6099:39;6131:6;6122;6116:13;6099:39;:::i;:::-;6089:49;-1:-1:-1;6173:2:102;6196:12;;;;6161:15;;;;;6000:1;5993:9;5964:254;;;-1:-1:-1;6235:6:102;;5468:779;-1:-1:-1;;;;;;5468:779:102:o;6460:127::-;6521:10;6516:3;6512:20;6509:1;6502:31;6552:4;6549:1;6542:15;6576:4;6573:1;6566:15;6592:275;6663:2;6657:9;6728:2;6709:13;;-1:-1:-1;;6705:27:102;6693:40;;6763:18;6748:34;;6784:22;;;6745:62;6742:88;;;6810:18;;:::i;:::-;6846:2;6839:22;6592:275;;-1:-1:-1;6592:275:102:o;6872:181::-;6930:4;6963:18;6955:6;6952:30;6949:56;;;6985:18;;:::i;:::-;-1:-1:-1;7030:1:102;7026:14;7042:4;7022:25;;6872:181::o;7058:453::-;7133:5;7165:1;7189:18;7181:6;7178:30;7175:56;;;7211:18;;:::i;:::-;-1:-1:-1;7277:2:102;7256:15;;-1:-1:-1;;7252:29:102;7283:4;7248:40;7306:21;7248:40;7306:21;:::i;:::-;7297:30;;;7350:6;7343:5;7336:21;7390:3;7381:6;7376:3;7372:16;7369:25;7366:45;;;7407:1;7404;7397:12;7366:45;7449:6;7444:3;7437:4;7430:5;7426:16;7420:36;7503:1;7496:4;7487:6;7480:5;7476:18;7472:29;7465:40;7058:453;;;;;:::o;7516:1178::-;7620:6;7673:2;7661:9;7652:7;7648:23;7644:32;7641:52;;;7689:1;7686;7679:12;7641:52;7722:9;7716:16;7755:18;7747:6;7744:30;7741:50;;;7787:1;7784;7777:12;7741:50;7810:22;;7863:4;7855:13;;7851:27;-1:-1:-1;7841:55:102;;7892:1;7889;7882:12;7841:55;7925:2;7919:9;7948:62;7964:45;8002:6;7964:45;:::i;:::-;7948:62;:::i;:::-;8032:3;8056:6;8051:3;8044:19;8088:2;8083:3;8079:12;8072:19;;8143:2;8133:6;8130:1;8126:14;8122:2;8118:23;8114:32;8100:46;;8169:7;8161:6;8158:19;8155:39;;;8190:1;8187;8180:12;8155:39;8222:2;8218;8214:11;8234:430;8250:6;8245:3;8242:15;8234:430;;;8329:3;8323:10;8365:18;8352:11;8349:35;8346:55;;;8397:1;8394;8387:12;8346:55;8424:20;;8479:2;8471:11;;8467:25;-1:-1:-1;8457:53:102;;8506:1;8503;8496:12;8457:53;8535:86;8613:7;8607:2;8603;8599:11;8593:18;8588:2;8584;8580:11;8535:86;:::i;:::-;8523:99;;-1:-1:-1;8651:2:102;8642:12;;;;8267;8234:430;;;-1:-1:-1;8683:5:102;7516:1178;-1:-1:-1;;;;;;7516:1178:102:o;8699:217::-;8846:2;8835:9;8828:21;8809:4;8866:44;8906:2;8895:9;8891:18;8883:6;8866:44;:::i;8921:458::-;9001:6;9054:2;9042:9;9033:7;9029:23;9025:32;9022:52;;;9070:1;9067;9060:12;9022:52;9103:9;9097:16;9136:18;9128:6;9125:30;9122:50;;;9168:1;9165;9158:12;9122:50;9191:22;;9244:4;9236:13;;9232:27;-1:-1:-1;9222:55:102;;9273:1;9270;9263:12;9222:55;9296:77;9365:7;9360:2;9354:9;9349:2;9345;9341:11;9296:77;:::i;:::-;9286:87;8921:458;-1:-1:-1;;;;8921:458:102:o;9720:314::-;9904:2;9893:9;9886:21;9867:4;9924:44;9964:2;9953:9;9949:18;9941:6;9924:44;:::i;:::-;9916:52;;10016:10;10008:6;10004:23;9999:2;9988:9;9984:18;9977:51;9720:314;;;;;:::o;10228:316::-;10405:2;10394:9;10387:21;10368:4;10425:44;10465:2;10454:9;10450:18;10442:6;10425:44;:::i;:::-;10417:52;;10534:1;10530;10525:3;10521:11;10517:19;10509:6;10505:32;10500:2;10489:9;10485:18;10478:60;10228:316;;;;;:::o;10549:300::-;10720:2;10709:9;10702:21;10683:4;10740:44;10780:2;10769:9;10765:18;10757:6;10740:44;:::i;:::-;10732:52;;10834:6;10827:14;10820:22;10815:2;10804:9;10800:18;10793:50;10549:300;;;;;:::o;11078:949::-;11173:6;11226:2;11214:9;11205:7;11201:23;11197:32;11194:52;;;11242:1;11239;11232:12;11194:52;11275:9;11269:16;11308:18;11300:6;11297:30;11294:50;;;11340:1;11337;11330:12;11294:50;11363:22;;11416:4;11408:13;;11404:27;-1:-1:-1;11394:55:102;;11445:1;11442;11435:12;11394:55;11478:2;11472:9;11501:62;11517:45;11555:6;11517:45;:::i;11501:62::-;11585:3;11609:6;11604:3;11597:19;11641:2;11636:3;11632:12;11625:19;;11696:2;11686:6;11683:1;11679:14;11675:2;11671:23;11667:32;11653:46;;11722:7;11714:6;11711:19;11708:39;;;11743:1;11740;11733:12;11708:39;11775:2;11771;11767:11;11756:22;;11787:210;11803:6;11798:3;11795:15;11787:210;;;11876:3;11870:10;11893:31;11918:5;11893:31;:::i;:::-;11937:18;;11984:2;11820:12;;;;11975;;;;11787:210;;;12016:5;11078:949;-1:-1:-1;;;;;;11078:949:102:o;12032:212::-;12074:3;12112:5;12106:12;12156:6;12149:4;12142:5;12138:16;12133:3;12127:36;12218:1;12182:16;;12207:13;;;-1:-1:-1;12182:16:102;;12032:212;-1:-1:-1;12032:212:102:o;12249:360::-;12471:3;12502:30;12528:3;12520:6;12502:30;:::i;:::-;-1:-1:-1;;;12541:32:102;;12600:2;12589:14;;12249:360;-1:-1:-1;;;12249:360:102:o;12614:365::-;12836:3;12867:30;12893:3;12885:6;12867:30;:::i;:::-;-1:-1:-1;;;12906:37:102;;12970:2;12959:14;;12614:365;-1:-1:-1;;;12614:365:102:o;12984:363::-;13206:3;13237:30;13263:3;13255:6;13237:30;:::i;:::-;-1:-1:-1;;;13276:35:102;;13338:2;13327:14;;12984:363;-1:-1:-1;;;12984:363:102:o;13352:367::-;13574:3;13605:30;13631:3;13623:6;13605:30;:::i;:::-;-1:-1:-1;;;13644:39:102;;13710:2;13699:14;;13352:367;-1:-1:-1;;;13352:367:102:o;13724:375::-;13946:3;13977:30;14003:3;13995:6;13977:30;:::i;:::-;14030:32;14016:47;;14090:2;14079:14;;13724:375;-1:-1:-1;;;13724:375:102:o;14104:290::-;14281:2;14270:9;14263:21;14244:4;14301:44;14341:2;14330:9;14326:18;14318:6;14301:44;:::i;:::-;14293:52;;14381:6;14376:2;14365:9;14361:18;14354:34;14104:290;;;;;:::o;14399:381::-;14596:2;14585:9;14578:21;14559:4;14622:44;14662:2;14651:9;14647:18;14639:6;14622:44;:::i;:::-;14714:9;14706:6;14702:22;14697:2;14686:9;14682:18;14675:50;14742:32;14767:6;14759;14742:32;:::i;:::-;14734:40;14399:381;-1:-1:-1;;;;;14399:381:102:o;15622:127::-;15683:10;15678:3;15674:20;15671:1;15664:31;15714:4;15711:1;15704:15;15738:4;15735:1;15728:15;15754:222;15819:9;;;15840:10;;;15837:133;;;15892:10;15887:3;15883:20;15880:1;15873:31;15927:4;15924:1;15917:15;15955:4;15952:1;15945:15","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","run()":"c0406226"}}}},"script/UpgradeManagedOptimisticOracleV2.s.sol":{"UpgradeManagedOptimisticOracleV2":{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Upgrade script for ManagedOptimisticOracleV2\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Upgrades the ManagedOptimisticOracleV2 contract implementation using OZ Upgrades Environment variables: - MNEMONIC: Required. The mnemonic phrase for the upgrade admin wallet - PROXY_ADDRESS: Required. Address of the existing proxy contract to upgrade - REFERENCE_BUILD_VERSION: Required. Integer version number to derive reference contract and build info dir (e.g., 1 for \\\"build-info-v1:ManagedOptimisticOracleV2\\\" and \\\"old-builds/build-info-v1\\\")\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"script/UpgradeManagedOptimisticOracleV2.s.sol\":\"UpgradeManagedOptimisticOracleV2\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0xa3735a6618a3014e42bb4329ad143e3b2c59cd95094350202e4c4a06c9d585dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef9db48d94726ec3d3fa3a84a8d520903705190f7ee7a04a065335a6aeeac4d\",\"dweb:/ipfs/QmSWmNny7TkzyqRPjGdpERAJuBwwznrGPLUqS4DZy5fX5z\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xd3edaf57db178f839d97ccee0009c2b7b20f78c2adca9028a6013acb8d5b4c5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f17329ac1d25d3e6657ca240dee0a3f9b2cf22a64a05b87dac15252dee74351\",\"dweb:/ipfs/QmPHxkEwgVpQNbU52s58RmmegrkYGj8bNKTVSW8rZm3dBm\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x7274081e11c05164fd8eadde4de8305c033e58a43008dea58065f3170ccf0737\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9801614b6c9d3e472982e6cc68f5f1ad03682f84eafb686be65633c7132d138\",\"dweb:/ipfs/QmcQSUcrm2A7XuektnxJjvYGmZtBeA6LKPxCXRqdXBX776\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x85a70e2b1b65e9ba456add364d22b97eb9944083df1c39c0b4bd6a4b5aa386a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d32a33be6ca4d8e89b9e82e3f9cec7a6c4e040534152313ff55da85b8f193059\",\"dweb:/ipfs/QmeR55L8t2A8xZ1nvT5y4yVWfFbbmpaGAtGBMz3GGNpuyP\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol\":{\"keccak256\":\"0x2922ed589f7063a685dffc9297f8b669c1e86f2fde9078c08d8bff079cf636a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0bd42676681a1c4563f61a767bfbc50ef207544a3d6eee9aa66830cc15ccb679\",\"dweb:/ipfs/QmRMCKEXNWJq1EdCjNQtTXf9tuppnyGtaiBCiNk3TYVcK1\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x6694b63ddb2c59bbe341c846171798350e8f72fa02189fcdeaca864e28b54e1f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d945d33e2189ac4e531e4ed228f59ca957b3898c4f9051f4b8c7ae44d72b23a\",\"dweb:/ipfs/QmRcEwubTe3xyXxthijs5fVzEgUFSxeddjd5PGfhBnkunX\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xbff9f59c84e5337689161ce7641c0ef8e872d6a7536fbc1f5133f128887aba3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b308f882e796f7b79c9502deacb0a62983035c6f6f4e962b319ba6a1f4a77d3d\",\"dweb:/ipfs/QmaWCW7ahEQqFjwhSUhV7Ae7WhfNvzSpE7DQ58hvEooqPL\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol\":{\"keccak256\":\"0x956d6404c7b61b920a9ccbc9918f94a2bd3004de3dd13310995eda5bc17f1ead\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c12dc67a285548d455683db60f1ed845c03ac3c27f8f24f905defd3c54601406\",\"dweb:/ipfs/QmXDaxKsnq6RxH44VPSqxjLyygdXn3GR1o6W9pr2iXzjZq\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol\":{\"keccak256\":\"0x21529ba6918f994ec44fb97cef2b717d730268e911a4e626f3e425a4394f7bae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10949be539eb61e5ea8996cc93f21be61949c16a1b717adc2b3f8f099c1e1feb\",\"dweb:/ipfs/QmagATozhFXBUVTLaiHWyqVPgew9N1x18V6hBF46AZPeLw\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa3066ff86b94128a9d3956a63a0511fa1aae41bd455772ab587b32ff322acb2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf7b192fd82acf6187970c80548f624b1b9c80425b62fa49e7fdb538a52de049\",\"dweb:/ipfs/QmWXG1YCde1tqDYTbNwjkZDWVgPEjzaQGSDqWkyKLzaNua\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol\":{\"keccak256\":\"0xef92aebf99249a8ac1d682b9a0f04b6f2af2a8f631cb126625bab15bafcefda8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a0709f54f682b4d22d3108e5951019145cd0b4abda4517638410d231f37d960\",\"dweb:/ipfs/QmdR3oRXqheNuBVRW1cMqDCffBsV1DtuvRHuaDph4ZTku2\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol\":{\"keccak256\":\"0x5920bac7215d12961e23b207f6e81a1d64aa4935a4469abe95b64a96a3c3007b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b34bb828c45c3a4ebf6c2c585971abf5089e61357a3818a2900c7e85b74a1299\",\"dweb:/ipfs/QmewGAzKsPXYfSjCKxuH1SekKxtdyzhdbdyxjF5gohLigt\"]},\"lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol\":{\"keccak256\":\"0x46f86003755f50eff00a7c5aaf493ae62e024142b8aec4493a313851d3c14872\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://462c770cb667cc75ab22df5a29c50873b24b267274edf87ac5cfe0112bf4c3f7\",\"dweb:/ipfs/QmTfKk32AkQ2yyYZCYJ44V69EM5t9ryBFC6bRF7FVMHXvj\"]},\"lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":{\"keccak256\":\"0x92579f452fe663595a898cbac85d80bb3868a6c9f034f19ba7fbebdfa3b65a4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d07a888cd4a26c7077a30dd99e9ac30fbe2752bfb37e58c65f06a3b192079ef3\",\"dweb:/ipfs/QmZCQY4FC4ynBv9dha4BBWM1vYxTUJPBdFBS4HEFe6XzVB\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508\",\"dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"lib/openzeppelin-contracts/contracts/utils/Arrays.sol\":{\"keccak256\":\"0xa4b9958797e0e9cde82a090525e90f80d5745ba1c67ee72b488bd3087498a17e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9344f7c2f80322c2e76d9d89bed03fd12f3e011e74fde7cf24ea21bdd2abe2d\",\"dweb:/ipfs/QmPMAjF5x2fHUAee2FKMZDBbFVrbZbPCr3a9KHLZaSn1zY\"]},\"lib/openzeppelin-contracts/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2\",\"dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0xad148d59f05165f9217d0a9e1ac8f772abb02ea6aaad8a756315c532bf79f9f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e3599867c2182f5831e9268b274b2ef2047825837df6b4d81c9e89254b093e\",\"dweb:/ipfs/QmZbL7XAYr5RmaNaooPgZRmcDXaudfsYQfYD9y5iAECvpS\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x27c3c648062924bd44cd6f38541c78e6de145dd49515ee62321e42fc1b72e5c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cce2ebc0392b5a96f5c7bbaaf5c3d23c0e7190e64cfa05a49978badc1496141\",\"dweb:/ipfs/QmYQC1U12igR1osVyjRHaHiiTgYYuPjncAxwmjbZ452dCL\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x1fc283df727585919c3db301b948a3e827aee16917457ad7f916db9da2228e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4f4b5e2cd0ebc3b74e41e4e94771a0417eedd9b11cec3ef9f90b2ac2989264b\",\"dweb:/ipfs/QmZmsEsvsXiwAyAe1YeoLSKezeFcvR1giUeEY6ex4zpsTS\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xd62ea6bdc1d148c473846b5bd943144a4e492cb93496fc54645258fdc2e261f7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58d96f48c6cde51bb137e851c2a481cb7f0003accfd17594c4ba0586be3c3bb\",\"dweb:/ipfs/QmdioTToxjZy2buydukEPdGrDqBEtLqtokRkN5ghgzm19V\"]},\"lib/openzeppelin-foundry-upgrades/src/Upgrades.sol\":{\"keccak256\":\"0x822dc23091a6ef7c1207bdc65eba8716b635392cd061e56b99d042216686d6e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c376817ffdc56d89bdb10c4b42e56b4c4c294686f914fb65cc3e96c108f660c0\",\"dweb:/ipfs/QmXHy6WYztETzHKGjzLpDmvgFkzxsv1hEbMkEbwNyWn47o\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x1f671c2d16c7e66ef014d284bed46aa0fbf36d99d788e8874a8bc64f2e1f75e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991fcba03f07c28f7c04b8a85f4acbb9ffcf0f7f7e1b3e4c2eb6fc0585c2a3d1\",\"dweb:/ipfs/QmXBAMjyCnEqdYQw7vSKfQSUZK8C1aRgGXu46AiGeeut6B\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x5df88a72cb2f2e22f609636474a828595fc284e9745a7569ec73cd3c13f54ff5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec83f6823ed33ed0da807034e5556d5a84abdbb8c989fec141900d73970d05d9\",\"dweb:/ipfs/QmVb7Rfoaqn8gzKJNrSRJGVU2qSNuvMc7FJrb4j928upCK\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/StringFinder.sol\":{\"keccak256\":\"0x423f79ce68a98fd38d2654a47fd373f58036fbef129dd1a189d0534e67c38c50\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5fec9580ff736edf6bac3f2b03f9a6c2036ba5e71bf2210491e614be8795dfd\",\"dweb:/ipfs/QmavYcUmMnf9czYo2cLxR4VLyiwtaA68yvf2g3pyoE9a4A\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x96c6430958a3c74dc93b470f3656352412691e1a8c53e7225ca8b8c32ab3e77b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b1ce52f58c935c8cc930edeb13cdf6cf8d0bc2d5e58ff5f5d555383d97eda9d\",\"dweb:/ipfs/QmSWXzxtUijtQPxEQhuFw9JA5XiMWQshmYd39ZboqWRbHr\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0x50d28b08e922e5313831d5a45aca27d5dd429c3f891e26c89d16b088bca8372d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://208be31cc96d534f64e5293872d99cc68932df6505ea3b6b0e8f7b19cd1cd0c4\",\"dweb:/ipfs/QmbyznRaPjcZXSJ7w6ms1zrQcdtofWEPs7HSkVvFX6tQ1L\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"lib/protocol/packages/core/contracts/common/implementation/AncillaryData.sol\":{\"keccak256\":\"0x8ff33ac32d3e6de25de9e0ac2c0ff9a621f187fa97e9ee84092b327471baa3ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0bbaed49756e8cf7ef405e132f441cd7a735ac6186a200b0179147e7d137b74a\",\"dweb:/ipfs/QmeSBJX5a61LZPxbkUKS2NF4LSxemgDwjD65fCAmyP7PX2\"]},\"lib/protocol/packages/core/contracts/common/implementation/Lockable.sol\":{\"keccak256\":\"0x41d78fcce54598ad5f26bc0b778c0f4fedbd836401625e49e736979f69a87ef0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ce111bb50441ef5125e7d42284f6debbc17fd589515d7b8cede7e9d1d5f0ede\",\"dweb:/ipfs/QmaXiXACWVEDDHoCHNXdVBoNpf8QNHkUZ1kf5MfbxfL6jj\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/implementation/Constants.sol\":{\"keccak256\":\"0xe40957105a9240c6bcb9753fd0011fe9f382c437cd6771c57bf7a96f8ceb9c84\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cbf0d25e841b1f5c4022d09fb29220cb428139443cb29c4ab8dbfff71dffcc05\",\"dweb:/ipfs/QmSVVr5wH1tZi6WmKyuy1K8yS6JN4DeK5kWaZpPKtXiqkK\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/FinderInterface.sol\":{\"keccak256\":\"0x9166fbfe08e954eb86d33c114fcde7ce4fd0dda5d9d28b31210582bfc769fa86\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e611e12bcaaebfdf65b67c566ff1d34708e757f01a445bd87c55862e89383b81\",\"dweb:/ipfs/QmYNSq5oopTShdS6j4VWKqoLxmQSRKmWebCxw6K4LfmKrf\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/IdentifierWhitelistInterface.sol\":{\"keccak256\":\"0x9ae86a30dd1a8c03fb2c6d27be570bb30c4c0b13ac63cde8620b7e4b51d88dc9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a71d2aff48e075ecab56a9c9767775d1d77e04ec9191fed124e71003220549e3\",\"dweb:/ipfs/QmYPWsZXro6fzqpZY6UxQ5X8znEXfLp2sun8oXzdz8bTyc\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/OracleAncillaryInterface.sol\":{\"keccak256\":\"0xd58b41fe1e389f7871db7c04f2c05c1aac1d0455bbc521534da81fd657016a1f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cc532e9c550bb1bba0daa33fda748590cd06ce94a9566fe65dac04e7d40977bc\",\"dweb:/ipfs/QmZKvfRW2LJFt5MWZbKuU9ujkXnS2hkPUJVj8wwJWcuZGX\"]},\"script/UpgradeManagedOptimisticOracleV2.s.sol\":{\"keccak256\":\"0x932b8f268ed071dd1ae5c0760c1ea5ec0002ba32ba3a954ada8f884f58bc34fe\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4b29a17d589b6b4ced4abc93819d676a1e4da3776066de214c4d9bc13f2e680c\",\"dweb:/ipfs/QmYYZquYEtkXxJmV2c9QPzMyfyvttrqzsW1KTZ9FXQ91NK\"]},\"src/common/implementation/AddressLegacy.sol\":{\"keccak256\":\"0x441f6c1a04ebb7ad44e54e1b9e3a6ca9f2468358842f93ec73e392f928daf85f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2cba7f3e831503913b6a147eec2f5fc6a2c5cdf1df11ae65582a42c5680ecd\",\"dweb:/ipfs/QmdBEXFnViR66ibJeyjKNh2xJoY8v1y3u3u1D9UXdPawFA\"]},\"src/common/implementation/AddressWhitelist.sol\":{\"keccak256\":\"0xa3b999d7b717c1bf4bb1b958ef5e26717ad965babe994aa8db3fb301f240c876\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7e1c4c81902a72dcf579e28f922f4910aadf5edaee4b2a4defe60c61dc00fbca\",\"dweb:/ipfs/QmUMZbko39hTe8epg77B8k9XYGmKNxLjnkLdd6x8v2xDyV\"]},\"src/common/implementation/LockableUpgradeable.sol\":{\"keccak256\":\"0x1a10eec9d7f12b051d343c65016a9c60a4bece53da4da2eceb8a8dc007b336e2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://9b8c203e136583fa946e4ae0e7bc9774837f865f8b319daa97c84ceb8a16c95b\",\"dweb:/ipfs/QmPJPPL27TB8qt66ZHquDCYtuubcTStRqxn4nxQnehMdA2\"]},\"src/common/implementation/MultiCaller.sol\":{\"keccak256\":\"0x1cef2a13b361679c2ef5d0d97fcbb0ae0cf4858b97a6dd8ab68e3974ea5ffe4a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ad81f2964ce1b40a8ee56a56612d6b773f260e5a3381dc50cd85ba1f9f6af46f\",\"dweb:/ipfs/QmU3Pbxq8rMhGKqNiBa6vWqtiHw9RzdZ4zbTayhgGdyAnz\"]},\"src/common/interfaces/AddressWhitelistInterface.sol\":{\"keccak256\":\"0x126b2bc590041cf213c274bedc91c06a263ddff5e11a090be80d7db8b1cb0d8f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0f47e32816f895d4a3a060eded9bba7853eff6a6d99c3de5b4d1ca8359ce1c49\",\"dweb:/ipfs/QmVWt7xTr68owupHSUUJNfV2N3n2bTvTWtXCDtu8k3uVBN\"]},\"src/common/interfaces/FixedPointInterface.sol\":{\"keccak256\":\"0xceca09e6aa78c97698fa0b1f40657f6c3c723d5d94150ef6476affb9671df753\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d5d1b01017749d96befb5c2e8a8c6d9dd041f57e1d9a66238c296cc28512d2e5\",\"dweb:/ipfs/QmVPiky59JTngjwZNdxbmD7H1Lwa5AgTjzv975wSnavFFy\"]},\"src/data-verification-mechanism/interfaces/StoreInterface.sol\":{\"keccak256\":\"0x1905509e908c6a9b8b3a89449d2d86fd7192d0e588cbe542edd21351d9971ee5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://346e602f41469943453fbe039bf7554b23e1eba3128ff3858d32b35ebcc2ae88\",\"dweb:/ipfs/QmcjZ73TwMjondBDKEHyZ9KUjZzcxsy6Dmqs8QxPK3KBde\"]},\"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol\":{\"keccak256\":\"0xc9d7a66b24fdae13296742642c015e563ee14c2b14aa5d2e27feb9dcd9251420\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47f9fb2885988c20219b93679f3f840b24f7abafa98ed3c09e8a072bc002b6f8\",\"dweb:/ipfs/QmZGW9Jmbsm5ddbsCcVxBeLqV5vvtiXAunjhTg8KYJwLzj\"]},\"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol\":{\"keccak256\":\"0xa0552c2797adccd632c07e77795cf258ff13e2cc435a14a7c530ea0f8acb49c2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ce250692f3db536caf05b193754741f62682c6bcac542780b1acc4b2fbf8bb25\",\"dweb:/ipfs/QmSQTPq4goBfGYfxV2V5B78y4PADfvjJsbPrKedoQxuS2h\"]},\"src/optimistic-oracle-v2/interfaces/ManagedOptimisticOracleV2Interface.sol\":{\"keccak256\":\"0xc852903a36f8ef8224be0f3769df0bbda8ae51a30e307546f16397af2fa26de1\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7e1cc2d1655db300d72b8005d2387efde447c71a723efa46db823cff376aff3e\",\"dweb:/ipfs/QmUDwx2TjTkf6JjFTJ3kRDoWdtUaUTdk35PJSDhJni9mFo\"]},\"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol\":{\"keccak256\":\"0x33a251fab5e475a286832db9bc3aabf7f597497f07e06c2da8779d4f486336d1\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e8789e875af4c98c16a085279a5dd545fe2fe32716e66c41343ea0edaf8fad9f\",\"dweb:/ipfs/QmQTzL8h24WkcfchRfSRrCysAfSprVCF2RNc4AMQTchTyZ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":46,"contract":"script/UpgradeManagedOptimisticOracleV2.s.sol:UpgradeManagedOptimisticOracleV2","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)8093_storage"},{"astId":2745,"contract":"script/UpgradeManagedOptimisticOracleV2.s.sol:UpgradeManagedOptimisticOracleV2","label":"stdChainsInitialized","offset":0,"slot":"8","type":"t_bool"},{"astId":2766,"contract":"script/UpgradeManagedOptimisticOracleV2.s.sol:UpgradeManagedOptimisticOracleV2","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)2761_storage)"},{"astId":2770,"contract":"script/UpgradeManagedOptimisticOracleV2.s.sol:UpgradeManagedOptimisticOracleV2","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":2774,"contract":"script/UpgradeManagedOptimisticOracleV2.s.sol:UpgradeManagedOptimisticOracleV2","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":2777,"contract":"script/UpgradeManagedOptimisticOracleV2.s.sol:UpgradeManagedOptimisticOracleV2","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":3715,"contract":"script/UpgradeManagedOptimisticOracleV2.s.sol:UpgradeManagedOptimisticOracleV2","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":99,"contract":"script/UpgradeManagedOptimisticOracleV2.s.sol:UpgradeManagedOptimisticOracleV2","label":"IS_SCRIPT","offset":2,"slot":"12","type":"t_bool"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))"},"t_mapping(t_bytes32,t_struct(FindData)8068_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)8068_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)8068_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)2761_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)2761_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)2761_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":2754,"contract":"script/UpgradeManagedOptimisticOracleV2.s.sol:UpgradeManagedOptimisticOracleV2","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":2756,"contract":"script/UpgradeManagedOptimisticOracleV2.s.sol:UpgradeManagedOptimisticOracleV2","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":2758,"contract":"script/UpgradeManagedOptimisticOracleV2.s.sol:UpgradeManagedOptimisticOracleV2","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":2760,"contract":"script/UpgradeManagedOptimisticOracleV2.s.sol:UpgradeManagedOptimisticOracleV2","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)8068_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":8061,"contract":"script/UpgradeManagedOptimisticOracleV2.s.sol:UpgradeManagedOptimisticOracleV2","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":8063,"contract":"script/UpgradeManagedOptimisticOracleV2.s.sol:UpgradeManagedOptimisticOracleV2","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":8065,"contract":"script/UpgradeManagedOptimisticOracleV2.s.sol:UpgradeManagedOptimisticOracleV2","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":8067,"contract":"script/UpgradeManagedOptimisticOracleV2.s.sol:UpgradeManagedOptimisticOracleV2","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(StdStorage)8093_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":8077,"contract":"script/UpgradeManagedOptimisticOracleV2.s.sol:UpgradeManagedOptimisticOracleV2","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))"},{"astId":8080,"contract":"script/UpgradeManagedOptimisticOracleV2.s.sol:UpgradeManagedOptimisticOracleV2","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":8082,"contract":"script/UpgradeManagedOptimisticOracleV2.s.sol:UpgradeManagedOptimisticOracleV2","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":8084,"contract":"script/UpgradeManagedOptimisticOracleV2.s.sol:UpgradeManagedOptimisticOracleV2","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":8086,"contract":"script/UpgradeManagedOptimisticOracleV2.s.sol:UpgradeManagedOptimisticOracleV2","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":8088,"contract":"script/UpgradeManagedOptimisticOracleV2.s.sol:UpgradeManagedOptimisticOracleV2","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":8090,"contract":"script/UpgradeManagedOptimisticOracleV2.s.sol:UpgradeManagedOptimisticOracleV2","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":8092,"contract":"script/UpgradeManagedOptimisticOracleV2.s.sol:UpgradeManagedOptimisticOracleV2","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"6080604052600c805462ff00ff191662010001179055348015601f575f5ffd5b5061593a8061002d5f395ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c8063c040622614610038578063f8ccbf4714610042575b5f5ffd5b610040610069565b005b600c546100559062010000900460ff1681565b604051901515815260200160405180910390f35b5f610072610d74565b6040516001625e79b760e01b03198152600481018290529091505f905f51602061572c5f395f51905f529063ffa1864990602401602060405180830381865afa1580156100c1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100e5919061468d565b60405163350d56bf60e01b815260206004820152600d60248201526c50524f58595f4144445245535360981b60448201529091505f905f51602061572c5f395f51905f529063350d56bf90606401602060405180830381865afa15801561014e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610172919061468d565b90505f816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101b1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101d5919061468d565b60405163c1978d1f60e01b815260206004820152601760248201527f5245464552454e43455f4255494c445f56455253494f4e00000000000000000060448201529091505f905f51602061572c5f395f51905f529063c1978d1f90606401602060405180830381865afa15801561024e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061027291906146b3565b905061027c6145be565b60405163348051d760e11b8152600481018390525f51602061572c5f395f51905f5290636900a3ae906024015f60405180830381865afa1580156102c2573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526102e991908101906147a7565b6040516020016102f991906147ef565b60408051808303601f190181529181529082525163348051d760e11b8152600481018390525f51602061572c5f395f51905f5290636900a3ae906024015f60405180830381865afa158015610350573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261037791908101906147a7565b604051602001610387919061483c565b60405160208183030381529060405281602001819052506103d1604051806040016040528060118152602001702232b83637bcb2b91020b2323932b9b99d60791b81525086610e77565b6104016040518060400160405280600e81526020016d2ab833b930b2329020b236b4b71d60911b81525084610e77565b6104316040518060400160405280600e81526020016d283937bc3c9020b2323932b9b99d60911b81525085610e77565b610469604051806040016040528060138152602001722932b332b932b731b29021b7b73a3930b1ba1d60691b815250825f0151610ec0565b6104ac6040518060400160405280601981526020017f5265666572656e6365204275696c6420496e666f204469723a000000000000008152508260200151610ec0565b6001600160a01b0383811690861614801590610ad8576105006040518060400160405280601b81526020017f0a3d3d3d20494d504552534f4e4154494f4e204d4f4445203d3d3d0000000000815250610f05565b6105216040518060600160405280602d81526020016157c7602d9139610f05565b6105426040518060800160405280604481526020016157f460449139610f05565b61056360405180606001604052806025815260200161585f60259139610f05565b60405163ce817d4760e01b8152600481018890525f51602061572c5f395f51905f529063ce817d47906024015f604051808303815f87803b1580156105a6575f5ffd5b505af11580156105b8573d5f5f3e3d5ffd5b505050505f6105df6040518060600160405280603781526020016158ce6037913984610f4b565b90505f51602061572c5f395f51905f526001600160a01b03166376eadd366040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610626575f5ffd5b505af1158015610638573d5f5f3e3d5ffd5b5050505061067b6040518060400160405280601b81526020017f4e657720496d706c656d656e746174696f6e20416464726573733a000000000081525082610e77565b604080516020810182525f808252915161069991849160240161489b565b60408051601f19818403018152918152602080830180516001600160e01b031663278f794360e11b17905281516060810190925260278083529293506106e6929061583890830139610f05565b6040516303223eab60e11b81526001600160a01b03871660048201525f51602061572c5f395f51905f52906306447d56906024015f604051808303815f87803b158015610731575f5ffd5b505af1158015610743573d5f5f3e3d5ffd5b505050505f5f886001600160a01b03168360405161076191906148be565b5f604051808303815f865af19150503d805f811461079a576040519150601f19603f3d011682016040523d82523d5f602084013e61079f565b606091505b50915091505f51602061572c5f395f51905f526001600160a01b03166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156107e9575f5ffd5b505af11580156107fb573d5f5f3e3d5ffd5b505050508115610848576108436040518060400160405280601e81526020017f557067726164652073696d756c6174696f6e207375636365737366756c210000815250610f05565b610983565b6108866040518060400160405280601a81526020017f557067726164652073696d756c6174696f6e206661696c656421000000000000815250610f05565b604080518082018252600681526522b93937b91d60d11b602082015290516371aad10d60e01b815261091c91905f51602061572c5f395f51905f52906371aad10d906108d69086906004016148c9565b5f60405180830381865afa1580156108f0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261091791908101906147a7565b610ec0565b60405162461bcd60e51b815260206004820152603160248201527f557067726164652073696d756c6174696f6e206661696c6564202d20636865636044820152706b20746865206572726f722061626f766560781b60648201526084015b60405180910390fd5b6109a46040518060600160405280602a815260200161579d602a9139610f05565b6109d66040518060400160405280601081526020016f2a30b933b2ba1021b7b73a3930b1ba1d60811b8152508a610e77565b60408051808201825260118152702a3930b739b0b1ba34b7b7102230ba309d60791b602082015290516371aad10d60e01b8152610a3191905f51602061572c5f395f51905f52906371aad10d906108d69088906004016148c9565b610a616040518060400160405280600e81526020016d2ab833b930b2329020b236b4b71d60911b81525089610e77565b610a8c6040518060400160405280600981526020016821b430b4b71024a21d60b91b81525046610f5f565b610aad6040518060800160405280604a8152602001615884604a9139610f05565b610acf6040518060600160405280602c8152602001615771602c913985610e77565b50505050610d6b565b610b166040518060400160405280601e81526020017f0a3d3d3d2044495245435420455845435554494f4e204d4f4445203d3d3d0000815250610f05565b610b3760405180606001604052806025815260200161574c60259139610f05565b610b756040518060400160405280601a81526020017f457865637574696e672075706772616465206469726563746c79000000000000815250610f05565b60405163ce817d4760e01b8152600481018890525f51602061572c5f395f51905f529063ce817d47906024015f604051808303815f87803b158015610bb8575f5ffd5b505af1158015610bca573d5f5f3e3d5ffd5b50505050610c00856040518060600160405280603781526020016158ce6037913960405180602001604052805f81525085610fa4565b5f51602061572c5f395f51905f526001600160a01b03166376eadd366040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610c45575f5ffd5b505af1158015610c57573d5f5f3e3d5ffd5b50505050610c996040518060400160405280601881526020017f0a3d3d3d20557067726164652053756d6d617279203d3d3d0000000000000000815250610f05565b610cc96040518060400160405280600e81526020016d283937bc3c9020b2323932b9b99d60911b81525086610e77565b610d106040518060400160405280601b81526020017f4e657720496d706c656d656e746174696f6e20416464726573733a0000000000815250610d0b87610fb6565b610e77565b610d3b6040518060400160405280600981526020016821b430b4b71024a21d60b91b81525046610f5f565b610d6b6040518060400160405280600e81526020016d2ab833b930b2329020b236b4b71d60911b81525085610e77565b50505050505050565b60405163f877cb1960e01b81526020600482015260086024820152674d4e454d4f4e494360c01b60448201525f9081905f51602061572c5f395f51905f529063f877cb19906064015f60405180830381865afa158015610dd6573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610dfd91908101906147a7565b604051636229498b60e01b81529091505f51602061572c5f395f51905f5290636229498b90610e329084905f906004016148db565b602060405180830381865afa158015610e4d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7191906146b3565b91505090565b610ebc8282604051602401610e8d929190614902565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b179052610fc0565b5050565b610ebc8282604051602401610ed692919061492b565b60408051601f198184030181529190526020810180516001600160e01b0316634b5c427760e01b179052610fc0565b610f4881604051602401610f1991906148c9565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b179052610fc0565b50565b5f610f568383610fc9565b90505b92915050565b610ebc8282604051602401610f7592919061494f565b60408051601f198184030181529190526020810180516001600160e01b0316632d839cb360e21b179052610fc0565b610fb084848484610fe3565b50505050565b5f610f5982611002565b610f48816110a9565b5f610fd483836110c8565b610f56838360400151846110d4565b5f610fee8483610fc9565b9050610ffb85828561110a565b5050505050565b604051630667f9d760e41b81526001600160a01b03821660048201527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60248201525f905f51602061572c5f395f51905f52908290829063667f9d7090604401602060405180830381865afa15801561107d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a191906146b3565b949350505050565b5f6a636f6e736f6c652e6c6f6790505f5f835160208501845afa505050565b610ebc828260016113c4565b610120810151515f90156110f9576110f2848484610120015161157e565b9050611103565b6110f284846116ab565b9392505050565b604051630667f9d760e41b81526001600160a01b03841660048201527fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360248201525f51602061572c5f395f51905f52905f90829063667f9d7090604401602060405180830381865afa158015611183573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111a791906146b3565b9050806112b7575f6111b886611770565b90506111ea604051806040016040528060058152602001640352e302e360dc1b8152508261183590919063ffffffff16565b806111f557505f8451115b1561125a5760405163278f794360e11b81526001600160a01b03871690634f1ef28690611228908890889060040161489b565b5f604051808303815f87803b15801561123f575f5ffd5b505af1158015611251573d5f5f3e3d5ffd5b505050506112b1565b604051631b2ce7f360e11b81526001600160a01b038681166004830152871690633659cfe6906024015f604051808303815f87803b15801561129a575f5ffd5b505af11580156112ac573d5f5f3e3d5ffd5b505050505b50610ffb565b805f6112c282611770565b90506112f4604051806040016040528060058152602001640352e302e360dc1b8152508261183590919063ffffffff16565b806112ff57505f8551115b1561135d57604051639623609d60e01b81526001600160a01b03831690639623609d90611334908a908a908a90600401614970565b5f604051808303815f87803b15801561134b575f5ffd5b505af1158015610acf573d5f5f3e3d5ffd5b60405163266a23b160e21b81526001600160a01b03888116600483015287811660248301528316906399a88ec4906044015f604051808303815f87803b1580156113a5575f5ffd5b505af11580156113b7573d5f5f3e3d5ffd5b5050505050505050505050565b816101000151156113d457505050565b5f6113e0848484611859565b90505f6113ec82611f5c565b60208101518151919250905f51602061572c5f395f51905f529060030b5f036114cf57604051630fec62bb60e21b81526001600160a01b03821690633fb18aec9061143b90859060040161499b565b6020604051808303815f875af1158015611457573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061147b91906149d6565b156114985760408301515115610d6b57610d6b8360400151610f05565b816040516020016114a991906149f5565b60408051601f198184030181529082905262461bcd60e51b825261097a916004016148c9565b604051630fec62bb60e21b81526001600160a01b03821690633fb18aec906114fb908590600401614a38565b6020604051808303815f875af1158015611517573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061153b91906149d6565b156115695760408301515115611558576115588360400151610f05565b816040516020016114a99190614a72565b82604001516040516020016114a991906149f5565b5f5f6115886120ee565b90505f6115958683612183565b90505f6115ab8260600151836020015185612588565b90505f6115ba83838989612703565b90505f6115c682611f5c565b602081015181519192509060030b156115f0578982604001516040516020016114a9929190614aae565b5f61162a6040518060400160405280601581526020017402232b83637bcb2b2103a379030b2323932b9b99d1605d1b8152508360016134b8565b60405163c6ce059d60e01b81529091505f51602061572c5f395f51905f529063c6ce059d9061165d9084906004016148c9565b602060405180830381865afa158015611678573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061169c919061468d565b9b9a5050505050505050505050565b604051638d1cc92560e01b81525f9081905f51602061572c5f395f51905f5290638d1cc925906116df9087906004016148c9565b5f60405180830381865afa1580156116f9573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261172091908101906147a7565b90505f61174d8285604051602001611739929190614af4565b6040516020818303038152906040526136a0565b90506001600160a01b0381166110a15784846040516020016114a9929190614b08565b60408051600481526024810182526020810180516001600160e01b0316632b4f2c7360e21b17905290516060915f9182916001600160a01b038616916117b691906148be565b5f60405180830381855afa9150503d805f81146117ee576040519150601f19603f3d011682016040523d82523d5f602084013e6117f3565b606091505b5091509150818015611806575060208151115b1561181f57808060200190518101906110a191906147a7565b505060408051602081019091525f815292915050565b5f81518351148015610f565750508051602091820120825192909101919091201490565b60605f6118646120ee565b60408051620100008082526220002082019092529192505f9190816020015b60608152602001906001900390816118835750506040805180820190915260038152620dce0f60eb1b60208201529091505f9082826118c181614b90565b935061ffff16815181106118d7576118d7614bb0565b60200260200101819052506040518060400160405280600781526020016605e312e33372e360cc1b8152506040516020016119129190614bc4565b60405160208183030381529060405282828061192d90614b90565b935061ffff168151811061194357611943614bb0565b60200260200101819052506040518060400160405280600881526020016776616c696461746560c01b81525082828061197b90614b90565b935061ffff168151811061199157611991614bb0565b6020026020010181905250826040516020016119ad9190614bf5565b6040516020818303038152906040528282806119c890614b90565b935061ffff16815181106119de576119de614bb0565b60200260200101819052506040518060400160405280600a8152602001690b4b58dbdb9d1c9858dd60b21b815250828280611a1890614b90565b935061ffff1681518110611a2e57611a2e614bb0565b6020026020010181905250611a4387846136b1565b8282611a4e81614b90565b935061ffff1681518110611a6457611a64614bb0565b60209081029190910181019190915286515190870151519015801591151590611b43575f81611a9e578851611a9990876136b1565b611aa1565b88515b90506040518060400160405280600b81526020016a2d2d7265666572656e636560a81b815250858580611ad390614b90565b965061ffff1681518110611ae957611ae9614bb0565b602002602001018190525080604051602001611b059190614c1b565b604051602081830303815290604052858580611b2090614b90565b965061ffff1681518110611b3657611b36614bb0565b6020026020010181905250505b8015611bfb5760408051808201909152601881527f2d2d7265666572656e63654275696c64496e666f44697273000000000000000060208201528484611b8881614b90565b955061ffff1681518110611b9e57611b9e614bb0565b60200260200101819052508760200151604051602001611bbe9190614c1b565b604051602081830303815290604052848480611bd990614b90565b955061ffff1681518110611bef57611bef614bb0565b60200260200101819052505b5f5b8860600151518160ff161015611ce6575f89606001518260ff1681518110611c2757611c27614bb0565b6020026020010151905080515f14611cd3576040805180820190915260098152682d2d6578636c75646560b81b60208201528686611c6481614b90565b975061ffff1681518110611c7a57611c7a614bb0565b602002602001018190525080604051602001611c969190614c1b565b604051602081830303815290604052868680611cb190614b90565b975061ffff1681518110611cc757611cc7614bb0565b60200260200101819052505b5080611cde81614c41565b915050611bfd565b508760e0015115611d565760408051808201909152601881527f2d2d756e73616665536b697053746f72616765436865636b000000000000000060208201528484611d3081614b90565b955061ffff1681518110611d4657611d46614bb0565b6020026020010181905250611db2565b8615611db2576040805180820190915260128152712d2d726571756972655265666572656e636560701b60208201528484611d9081614b90565b955061ffff1681518110611da657611da6614bb0565b60200260200101819052505b60808801515115611e405760408051808201909152600d81526c2d2d756e73616665416c6c6f7760981b60208201528484611dec81614b90565b955061ffff1681518110611e0257611e02614bb0565b60200260200101819052508760800151848480611e1e90614b90565b955061ffff1681518110611e3457611e34614bb0565b60200260200101819052505b8760a0015115611ea2576040805180820190915260148152732d2d756e73616665416c6c6f7752656e616d657360601b60208201528484611e8081614b90565b955061ffff1681518110611e9657611e96614bb0565b60200260200101819052505b5f8361ffff166001600160401b03811115611ebf57611ebf6146ca565b604051908082528060200260200182016040528015611ef257816020015b6060815260200190600190039081611edd5790505b5090505f5b8461ffff168161ffff161015611f4e57858161ffff1681518110611f1d57611f1d614bb0565b6020026020010151828261ffff1681518110611f3b57611f3b614bb0565b6020908102919091010152600101611ef7565b509998505050505050505050565b611f8260405180606001604052805f60030b815260200160608152602001606081525090565b6040805180820182526004808252630c4c2e6d60e31b602083015291516334515cdb60e21b81525f51602061572c5f395f51905f52925f91849163d145736c91611fce91869101614c56565b5f60405180830381865afa158015611fe8573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261200f91908101906147a7565b90505f61201c86836136f0565b90505f846001600160a01b031663f45c1ce7836040518263ffffffff1660e01b815260040161204b9190614c95565b5f604051808303815f875af1158015612066573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261208d9190810190614cf8565b805190915060030b158015906120a65750602081015151155b80156120b55750604081015151155b156120e457815f815181106120cc576120cc614bb0565b60200260200101516040516020016114a99190614da4565b9695505050505050565b60408051808201825260038152621bdd5d60ea1b602082015290516334515cdb60e21b81526060915f51602061572c5f395f51905f5291829063d145736c9061213b908490600401614f65565b5f60405180830381865afa158015612155573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261217c91908101906147a7565b9250505090565b6121b56040518060a0016040528060608152602001606081526020016060815260200160608152602001606081525090565b5f5f51602061572c5f395f51905f5290506121f86040518060a0016040528060608152602001606081526020016060815260200160608152602001606081525090565b61220185613827565b60208201525f61221086613b3b565b90505f836001600160a01b031663d930a0e66040518163ffffffff1660e01b81526004015f60405180830381865afa15801561224e573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261227591908101906147a7565b8683856020015160405160200161228f9493929190614f99565b60408051601f19818403018152908290526360f9bb1160e01b825291505f906001600160a01b038616906360f9bb11906122cd9085906004016148c9565b5f60405180830381865afa1580156122e7573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261230e91908101906147a7565b604051636da11afb60e11b81529091506001600160a01b0386169063db4235f69061233d908490600401614ffd565b602060405180830381865afa158015612358573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061237c91906149d6565b61239157816040516020016114a99190615035565b6040516309389f5960e31b81526001600160a01b038616906349c4fac8906123bd90849060040161509e565b5f60405180830381865afa1580156123d7573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526123fe91908101906147a7565b8452604051636da11afb60e11b81526001600160a01b0386169063db4235f69061242c9084906004016150e3565b602060405180830381865afa158015612447573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061246b91906149d6565b156124e3576040516309389f5960e31b81526001600160a01b038616906349c4fac89061249c9084906004016150e3565b5f60405180830381865afa1580156124b6573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526124dd91908101906147a7565b60408501525b846001600160a01b03166349c4fac882865f01516040516020016125079190615123565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161253392919061492b565b5f60405180830381865afa15801561254d573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261257491908101906147a7565b606085015250608083015250949350505050565b60408051600480825260a082019092526060915f9190816020015b60608152602001906001900390816125a3579050509050604051806040016040528060048152602001630677265760e41b815250815f815181106125e9576125e9614bb0565b6020026020010181905250604051806040016040528060038152602001620b5c9b60ea1b8152508160018151811061262357612623614bb0565b60200260200101819052508460405160200161263f9190614c1b565b6040516020818303038152906040528160028151811061266157612661614bb0565b60200260200101819052508260405160200161267d9190614bf5565b6040516020818303038152906040528160038151811061269f5761269f614bb0565b60200260200101819052505f6126b482611f5c565b90505f816020015190506126ee60405180604001604052806005815260200164173539b7b760d91b81525082613d1090919063ffffffff16565b6120e457856040516020016114a99190615167565b60a0810151516060905f51602061572c5f395f51905f529015612852578260200151156127be5760405162461bcd60e51b815260206004820152605860248201527f54686520606c6963656e73655479706560206f7074696f6e2063616e6e6f742060448201527f62652075736564207768656e207468652060736b6970566572696679536f757260648201527f6365436f646560206f7074696f6e206973206074727565600000000000000000608482015260a40161097a565b8260c00151156128525760405162461bcd60e51b815260206004820152605360248201527f54686520606c6963656e73655479706560206f7074696f6e2063616e6e6f742060448201527f62652075736564207768656e207468652060736b69704c6963656e7365547970606482015272032b01037b83a34b7b71034b990303a393ab2b606d1b608482015260a40161097a565b6040805160ff80825261200082019092525f91816020015b606081526020019060019003908161286a5750506040805180820190915260038152620dce0f60eb1b60208201529091505f9082826128a881614c41565b935060ff16815181106128bd576128bd614bb0565b60200260200101819052506040518060400160405280600e81526020016d0302e302e312d616c7068612e31360941b8152506040516020016128ff91906151d2565b60405160208183030381529060405282828061291a90614c41565b935060ff168151811061292f5761292f614bb0565b6020026020010181905250604051806040016040528060068152602001656465706c6f7960d01b81525082828061296590614c41565b935060ff168151811061297a5761297a614bb0565b60200260200101819052506040518060400160405280600e81526020016d2d2d636f6e74726163744e616d6560901b8152508282806129b890614c41565b935060ff16815181106129cd576129cd614bb0565b602002602001018190525087602001518282806129e990614c41565b935060ff16815181106129fe576129fe614bb0565b60200260200101819052506040518060400160405280600e81526020016d05a5ac6dedce8e4c2c6e8a0c2e8d60931b815250828280612a3c90614c41565b935060ff1681518110612a5157612a51614bb0565b602090810291909101015287518282612a6981614c41565b935060ff1681518110612a7e57612a7e614bb0565b6020026020010181905250604051806040016040528060098152602001680b4b58da185a5b925960ba1b815250828280612ab790614c41565b935060ff1681518110612acc57612acc614bb0565b6020026020010181905250612ae046613dca565b8282612aeb81614c41565b935060ff1681518110612b0057612b00614bb0565b60200260200101819052506040518060400160405280600f81526020016e2d2d6275696c64496e666f46696c6560881b815250828280612b3f90614c41565b935060ff1681518110612b5457612b54614bb0565b602002602001018190525086828280612b6c90614c41565b935060ff1681518110612b8157612b81614bb0565b6020908102919091010152855115612c83576040805180820190915260158152742d2d636f6e7374727563746f7242797465636f646560581b60208201528282612bca81614c41565b935060ff1681518110612bdf57612bdf614bb0565b60209081029190910101526040516371aad10d60e01b81526001600160a01b038416906371aad10d90612c169089906004016148c9565b5f60405180830381865afa158015612c30573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612c5791908101906147a7565b8282612c6281614c41565b935060ff1681518110612c7757612c77614bb0565b60200260200101819052505b846020015115612d30576040805180820190915260128152712d2d766572696679536f75726365436f646560701b60208201528282612cc181614c41565b935060ff1681518110612cd657612cd6614bb0565b60200260200101819052506040518060400160405280600581526020016466616c736560d81b815250828280612d0b90614c41565b935060ff1681518110612d2057612d20614bb0565b6020026020010181905250612e79565b60a08501515115612dba5760408051808201909152600d81526c2d2d6c6963656e73655479706560981b60208201528282612d6a81614c41565b935060ff1681518110612d7f57612d7f614bb0565b60200260200101819052508460a00151604051602001612d9f9190614c1b565b604051602081830303815290604052828280612d0b90614c41565b8460c00151158015612dd0575060408801515115155b15612e795760408051808201909152600d81526c2d2d6c6963656e73655479706560981b60208201528282612e0481614c41565b935060ff1681518110612e1957612e19614bb0565b6020026020010181905250612e2d88613e59565b604051602001612e3d9190614c1b565b604051602081830303815290604052828280612e5890614c41565b935060ff1681518110612e6d57612e6d614bb0565b60200260200101819052505b60408501515115612f035760408051808201909152600b81526a0b4b5c995b185e595c925960aa1b60208201528282612eb181614c41565b935060ff1681518110612ec657612ec6614bb0565b60200260200101819052508460400151828280612ee290614c41565b935060ff1681518110612ef757612ef7614bb0565b60200260200101819052505b606085015115612ff0576040805180820190915260068152650b4b5cd85b1d60d21b60208201528282612f3581614c41565b935060ff1681518110612f4a57612f4a614bb0565b60209081029190910101526060850151604051631623433d60e31b815260048101919091526001600160a01b0384169063b11a19e8906024015f60405180830381865afa158015612f9d573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612fc491908101906147a7565b8282612fcf81614c41565b935060ff1681518110612fe457612fe4614bb0565b60200260200101819052505b60e085015151156130835760408051808201909152600a8152690b4b59d85cd31a5b5a5d60b21b6020820152828261302781614c41565b935060ff168151811061303c5761303c614bb0565b60200260200101819052506130578560e001515f0151613dca565b828261306281614c41565b935060ff168151811061307757613077614bb0565b60200260200101819052505b60e0850151602001511561311a5760408051808201909152600a8152692d2d676173507269636560b01b602082015282826130bd81614c41565b935060ff16815181106130d2576130d2614bb0565b60200260200101819052506130ee8560e0015160200151613dca565b82826130f981614c41565b935060ff168151811061310e5761310e614bb0565b60200260200101819052505b60e085015160400151156131b55760408051808201909152600e81526d2d2d6d617846656550657247617360901b6020820152828261315881614c41565b935060ff168151811061316d5761316d614bb0565b60200260200101819052506131898560e0015160400151613dca565b828261319481614c41565b935060ff16815181106131a9576131a9614bb0565b60200260200101819052505b60e08501516060015115613258576040805180820190915260168152752d2d6d61785072696f7269747946656550657247617360501b602082015282826131fb81614c41565b935060ff168151811061321057613210614bb0565b602002602001018190525061322c8560e0015160600151613dca565b828261323781614c41565b935060ff168151811061324c5761324c614bb0565b60200260200101819052505b610100850151511561336e5760408051808201909152600a8152692d2d6d6574616461746160b01b6020820152828261329081614c41565b935060ff16815181106132a5576132a5614bb0565b6020908102919091010152610100850151604051637005681f60e11b81526001600160a01b0385169163e00ad03e916132e19190600401615215565b5f60405180830381865afa1580156132fb573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261332291908101906147a7565b6040516020016133329190614c1b565b60405160208183030381529060405282828061334d90614c41565b935060ff168151811061336257613362614bb0565b60200260200101819052505b6040805180820190915260088152671696b7b934b3b4b760c11b6020820152828261339881614c41565b935060ff16815181106133ad576133ad614bb0565b602002602001018190525060405180604001604052806007815260200166466f756e64727960c81b8152508282806133e490614c41565b935060ff16815181106133f9576133f9614bb0565b60200260200101819052505f8160ff166001600160401b03811115613420576134206146ca565b60405190808252806020026020018201604052801561345357816020015b606081526020019060019003908161343e5790505b5090505f5b8260ff168160ff1610156134ab57838160ff168151811061347b5761347b614bb0565b6020026020010151828260ff168151811061349857613498614bb0565b6020908102919091010152600101613458565b5098975050505050505050565b604051630fec62bb60e21b81526060905f51602061572c5f395f51905f52908190633fb18aec906134ef908790899060040161492b565b6020604051808303815f875af115801561350b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061352f91906149d6565b1561367257604051638bb7553360e01b81525f906001600160a01b03831690638bb75533906135649088908a9060040161492b565b5f60405180830381865afa15801561357e573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526135a59190810190615267565b90506002815111156135c45785856040516020016114a9929190615330565b5f816001815181106135d8576135d8614bb0565b60200260200101519050826001600160a01b0316638bb75533826040518263ffffffff1660e01b815260040161360e9190615390565b5f60405180830381865afa158015613628573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261364f9190810190615267565b5f8151811061366057613660614bb0565b60200260200101519350505050611103565b821561368b5784846040516020016114a99291906153c4565b505060408051602081019091525f8152611103565b5f5f8251602084015ff09392505050565b60605f6136be8484612183565b80516020808301516040519394506136d8939091016153ff565b60405160208183030381529060405291505092915050565b6060805f5b845181101561377a578185828151811061371157613711614bb0565b602002602001015160405160200161372a929190614af4565b604051602081830303815290604052915060018551613749919061541e565b811461377257816040516020016137609190615431565b60405160208183030381529060405291505b6001016136f5565b50604080516003808252608082019092525f91816020015b606081526020019060019003908161379257905050905083815f815181106137bc576137bc614bb0565b6020026020010181905250604051806040016040528060028152602001612d6360f01b815250816001815181106137f5576137f5614bb0565b6020026020010181905250818160028151811061381457613814614bb0565b6020908102919091010152949350505050565b6040805180820190915260048152630b9cdbdb60e21b60208201526060905f51602061572c5f395f51905f529061385f908490613d10565b801561389057506040805180820190915260048152630b9cdbdb60e21b602082015261388c90849061445e565b6001145b1561390257604051637005681f60e11b81526001600160a01b0382169063e00ad03e906138c190869060040161544d565b5f60405180830381865afa1580156138db573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261110391908101906147a7565b6040805180820190915260018152601d60f91b602082015261392590849061445e565b6001036139bb57604051638bb7553360e01b81526001600160a01b03821690638bb7553390613958908690600401615496565b5f60405180830381865afa158015613972573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526139999190810190615267565b6001815181106139ab576139ab614bb0565b6020026020010151915050919050565b604080518082019091526005815264173539b7b760d91b60208201526139e2908490613d10565b8015613a145750604080518082019091526005815264173539b7b760d91b6020820152613a1090849061445e565b6001145b15613b2a57604051638bb7553360e01b81525f906001600160a01b03831690638bb7553390613a479087906004016154cb565b5f60405180830381865afa158015613a61573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052613a889190810190615267565b90505f8160018351613a9a919061541e565b81518110613aaa57613aaa614bb0565b60200260200101519050826001600160a01b031663e00ad03e826040518263ffffffff1660e01b8152600401613ae09190615500565b5f60405180830381865afa158015613afa573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052613b2191908101906147a7565b95945050505050565b826040516020016114a9919061554a565b6040805180820190915260048152630b9cdbdb60e21b60208201526060905f51602061572c5f395f51905f5290613b73908490613d10565b15613b7f575090919050565b6040805180820190915260018152601d60f91b6020820152613ba290849061445e565b600103613c2757604051638bb7553360e01b81526001600160a01b03821690638bb7553390613bd5908690600401615496565b5f60405180830381865afa158015613bef573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052613c169190810190615267565b5f815181106139ab576139ab614bb0565b604080518082019091526005815264173539b7b760d91b6020820152613c4e908490613d10565b15613b2a57604051638bb7553360e01b81525f906001600160a01b03831690638bb7553390613c819087906004016154cb565b5f60405180830381865afa158015613c9b573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052613cc29190810190615267565b9050600181511115613cfe578060028251613cdd919061541e565b81518110613ced57613ced614bb0565b602002602001015192505050919050565b50826040516020016114a9919061554a565b604051638bb7553360e01b81525f905f51602061572c5f395f51905f529082908290638bb7553390613d48908890889060040161492b565b5f60405180830381865afa158015613d62573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052613d899190810190615267565b905060018151118015613b2157508060018251613da6919061541e565b81518110613db657613db6614bb0565b6020026020010151515f1495945050505050565b60605f613dd6836144e7565b60010190505f816001600160401b03811115613df457613df46146ca565b6040519080825280601f01601f191660200182016040528015613e1e576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084613e2857509392505050565b6040808201518151808301909252600a8252691553931250d15394d15160b21b6020830152606091613e8c908290611835565b15613eb35750506040805180820190915260048152634e6f6e6560e01b6020820152919050565b604080518082019091526009815268556e6c6963656e736560b81b6020820152613ede908290611835565b15613f0a575050604080518082019091526009815268556e6c6963656e736560b81b6020820152919050565b60408051808201909152600381526213525560ea1b6020820152613f2f908290611835565b15613f5557505060408051808201909152600381526213525560ea1b6020820152919050565b60408051808201909152600c81526b47504c2d322e302d6f6e6c7960a01b6020820152613f83908290611835565b80613fbb575060408051808201909152601081526f23a8261699171816b7b916b630ba32b960811b6020820152613fbb908290611835565b15613fe757505060408051808201909152600981526823a72a9023a8263b1960b91b6020820152919050565b60408051808201909152600c81526b47504c2d332e302d6f6e6c7960a01b6020820152614015908290611835565b8061404d575060408051808201909152601081526f23a8261699971816b7b916b630ba32b960811b602082015261404d908290611835565b15614079575050604080518082019091526009815268474e552047504c763360b81b6020820152919050565b60408051808201909152600d81526c4c47504c2d322e312d6f6e6c7960981b60208201526140a8908290611835565b806140e157506040805180820190915260118152702623a8261699171896b7b916b630ba32b960791b60208201526140e1908290611835565b1561411057505060408051808201909152600c81526b474e55204c47504c76322e3160a01b6020820152919050565b60408051808201909152600d81526c4c47504c2d332e302d6f6e6c7960981b602082015261413f908290611835565b8061417857506040805180820190915260118152702623a8261699971816b7b916b630ba32b960791b6020820152614178908290611835565b156141a557505060408051808201909152600a815269474e55204c47504c763360b01b6020820152919050565b60408051808201909152600c81526b4253442d322d436c6175736560a01b60208201526141d3908290611835565b1561420257505060408051808201909152600c81526b4253442d322d436c6175736560a01b6020820152919050565b60408051808201909152600c81526b4253442d332d436c6175736560a01b6020820152614230908290611835565b1561425f57505060408051808201909152600c81526b4253442d332d436c6175736560a01b6020820152919050565b60408051808201909152600781526604d504c2d322e360cc1b6020820152614288908290611835565b156142b257505060408051808201909152600781526604d504c2d322e360cc1b6020820152919050565b60408051808201909152600781526604f534c2d332e360cc1b60208201526142db908290611835565b1561430557505060408051808201909152600781526604f534c2d332e360cc1b6020820152919050565b60408051808201909152600a81526904170616368652d322e360b41b6020820152614331908290611835565b1561435e57505060408051808201909152600a81526904170616368652d322e360b41b6020820152919050565b60408051808201909152600d81526c4147504c2d332e302d6f6e6c7960981b602082015261438d908290611835565b806143c6575060408051808201909152601181527020a3a8261699971816b7b916b630ba32b960791b60208201526143c6908290611835565b156143f357505060408051808201909152600a815269474e55204147504c763360b01b6020820152919050565b6040805180820190915260088152674255534c2d312e3160c01b602082015261441d908290611835565b1561444757505060408051808201909152600781526642534c20312e3160c81b6020820152919050565b604080840151845191516114a992906020016155f6565b604051638bb7553360e01b81525f905f51602061572c5f395f51905f529082908290638bb7553390614496908890889060040161492b565b5f60405180830381865afa1580156144b0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526144d79190810190615267565b905060018151613b21919061541e565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106145255772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310614551576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061456f57662386f26fc10000830492506010015b6305f5e1008310614587576305f5e100830492506008015b612710831061459b57612710830492506004015b606483106145ad576064830492506002015b600a8310610f595760010192915050565b60405180610140016040528060608152602001606081526020016060815260200160608152602001606081526020015f151581526020015f151581526020015f151581526020015f1515815260200161461561461a565b905290565b6040518061012001604052805f151581526020015f15158152602001606081526020015f815260200160608152602001606081526020015f1515815260200161468060405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001606081525090565b5f6020828403121561469d575f5ffd5b81516001600160a01b0381168114611103575f5ffd5b5f602082840312156146c3575f5ffd5b5051919050565b634e487b7160e01b5f52604160045260245ffd5b604051606081016001600160401b0381118282101715614700576147006146ca565b60405290565b604051601f8201601f191681016001600160401b038111828210171561472e5761472e6146ca565b604052919050565b5f82601f830112614745575f5ffd5b8151602083015f5f6001600160401b03841115614764576147646146ca565b50601f8301601f191660200161477981614706565b91505082815285838301111561478d575f5ffd5b8282602083015e5f92810160200192909252509392505050565b5f602082840312156147b7575f5ffd5b81516001600160401b038111156147cc575f5ffd5b6110a184828501614736565b5f81518060208401855e5f93019283525090919050565b6b313ab4b63216b4b7333796bb60a11b81525f61480f600c8301846147d8565b7f3a4d616e616765644f7074696d69737469634f7261636c6556320000000000008152601a019392505050565b7f6f6c642d6275696c64732f6275696c642d696e666f2d7600000000000000000081525f610f5660178301846147d8565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6001600160a01b03831681526040602082018190525f906110a19083018461486d565b5f610f5682846147d8565b602081525f610f56602083018461486d565b604081525f6148ed604083018561486d565b905063ffffffff831660208301529392505050565b604081525f614914604083018561486d565b905060018060a01b03831660208301529392505050565b604081525f61493d604083018561486d565b8281036020840152613b21818561486d565b604081525f614961604083018561486d565b90508260208301529392505050565b6001600160a01b038481168252831660208201526060604082018190525f90613b219083018461486d565b604081525f6149ad604083018461486d565b828103602084015260078152665355434345535360c81b60208201526040810191505092915050565b5f602082840312156149e6575f5ffd5b81518015158114611103575f5ffd5b7f4661696c656420746f2072756e2075706772616465207361666574792076616c815268034b230ba34b7b71d160bd1b60208201525f610f5660298301846147d8565b604081525f614a4a604083018461486d565b8281036020840152600681526511905253115160d21b60208201526040810191505092915050565b7f55706772616465207361666574792076616c69646174696f6e206661696c65648152611d0560f11b60208201525f610f5660228301846147d8565b7f4661696c656420746f206465706c6f7920636f6e74726163742000000000000081525f614adf601a8301856147d8565b6101d160f51b8152613b2160028201856147d8565b5f6110a1614b0283866147d8565b846147d8565b7f4661696c656420746f206465706c6f7920636f6e74726163742000000000000081525f614b39601a8301856147d8565b7f207573696e6720636f6e7374727563746f7220646174612022000000000000008152614b6960198201856147d8565b601160f91b815260010195945050505050565b634e487b7160e01b5f52601160045260245ffd5b5f61ffff821661ffff8103614ba757614ba7614b7c565b60010192915050565b634e487b7160e01b5f52603260045260245ffd5b7f406f70656e7a657070656c696e2f75706772616465732d636f7265400000000081525f610f56601c8301846147d8565b5f614c0082846147d8565b6a2f6275696c642d696e666f60a81b8152600b019392505050565b601160f91b81525f614c3060018301846147d8565b601160f91b81526001019392505050565b5f60ff821660ff8103614ba757614ba7614b7c565b60408152601660408201527509ea08a9cb48aa0a08a98929cbe8482a690bea082a8960531b6060820152608060208201525f610f56608083018461486d565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015614cec57603f19878603018452614cd785835161486d565b94506020938401939190910190600101614cbb565b50929695505050505050565b5f60208284031215614d08575f5ffd5b81516001600160401b03811115614d1d575f5ffd5b820160608185031215614d2e575f5ffd5b614d366146de565b81518060030b8114614d46575f5ffd5b815260208201516001600160401b03811115614d60575f5ffd5b614d6c86828501614736565b60208301525060408201516001600160401b03811115614d8a575f5ffd5b614d9686828501614736565b604083015250949350505050565b7f4661696c656420746f2072756e206261736820636f6d6d616e642077697468208152601160f91b60208201525f614ddf60218301846147d8565b7f222e20496620796f7520617265207573696e672057696e646f77732c2073657481527f20746865204f50454e5a455050454c494e5f424153485f5041544820656e766960208201527f726f6e6d656e74207661726961626c6520746f207468652066756c6c7920717560408201527f616c69666965642070617468206f66207468652062617368206578656375746160608201527f626c652e20466f72206578616d706c652c20696620796f75206172652075736960808201527f6e672047697420666f722057696e646f77732c206164642074686520666f6c6c60a08201527f6f77696e67206c696e6520696e20746865202e656e762066696c65206f66207960c08201527f6f75722070726f6a65637420287573696e6720666f727761726420736c61736860e08201527f6573293a0a4f50454e5a455050454c494e5f424153485f504154483d22433a2f6101008201527f50726f6772616d2046696c65732f4769742f62696e2f6261736822000000000061012082015261013b019392505050565b60408152600b60408201526a1193d55391149657d3d55560aa1b6060820152608060208201525f610f56608083018461486d565b5f614fa482876147d8565b602f60f81b8152614fb860018201876147d8565b9050602f60f81b8152614fce60018201866147d8565b9050602f60f81b8152614fe460018201856147d8565b64173539b7b760d91b8152600501979650505050505050565b604081525f61500f604083018461486d565b828103602084015260048152630b985cdd60e21b60208201526040810191505092915050565b7f436f756c64206e6f742066696e642041535420696e206172746966616374200081525f615066601f8301846147d8565b7f2e205365742060617374203d20747275656020696e20666f756e6472792e746f8152611b5b60f21b60208201526022019392505050565b604081525f6150b0604083018461486d565b8281036020840152601181527005cc2e6e85cc2c4e6ded8eae8caa0c2e8d607b1b60208201526040810191505092915050565b604081525f6150f5604083018461486d565b8281036020840152600c81526b2e6173742e6c6963656e736560a01b60208201526040810191505092915050565b732e6d657461646174612e736f75726365732e5b2760601b81525f61514b60148301846147d8565b6b13ae9735b2b1b1b0b5991a9b60a11b8152600c019392505050565b7f436f756c64206e6f742066696e64206275696c642d696e666f2066696c65207781527f697468206d61746368696e6720736f7572636520636f6465206861736820666f60208201526a0391031b7b73a3930b1ba160ad1b60408201525f610f56604b8301846147d8565b7f406f70656e7a657070656c696e2f646566656e6465722d6465706c6f792d636c81526801a595b9d0b58db1a560be1b60208201525f610f5660298301846147d8565b606081525f615227606083018461486d565b82810380602085015260018252601160f91b60208301526040810160408501525060026040820152612e1160f11b60608201526080810191505092915050565b5f60208284031215615277575f5ffd5b81516001600160401b0381111561528c575f5ffd5b8201601f8101841361529c575f5ffd5b80516001600160401b038111156152b5576152b56146ca565b8060051b6152c560208201614706565b918252602081840181019290810190878411156152e0575f5ffd5b6020850192505b838310156153255782516001600160401b03811115615304575f5ffd5b61531389602083890101614736565b835250602092830192909101906152e7565b979650505050505050565b7f466f756e64206d756c7469706c65206f6363757272656e636573206f6620707281526565666978202760d01b60208201525f61537060268301856147d8565b6c0139034b71037baba383aba1d1609d1b8152613b21600d8201856147d8565b604081525f6153a2604083018461486d565b82810360209384015260018152600560f91b9281019290925250604001919050565b7f4661696c656420746f2066696e64206c696e65207769746820707265666978208152602760f81b60208201525f61537060218301856147d8565b5f61540a82856147d8565b601d60f91b8152613b2160018201856147d8565b81810381811115610f5957610f59614b7c565b5f61543c82846147d8565b600160fd1b81526001019392505050565b606081525f61545f606083018461486d565b82810380602085015260048252630b9cdbdb60e21b6020830152604081016040850152505f60408201526060810191505092915050565b604081525f6154a8604083018461486d565b828103602084015260018152601d60f91b60208201526040810191505092915050565b604081525f6154dd604083018461486d565b828103602084015260018152602f60f81b60208201526040810191505092915050565b606081525f615512606083018461486d565b8281038060208501526005825264173539b7b760d91b6020830152604081016040850152505f60408201526060810191505092915050565b6d021b7b73a3930b1ba103730b6b2960951b81525f61556c600e8301846147d8565b7f206d75737420626520696e2074686520666f726d6174204d79436f6e7472616381527f742e736f6c3a4d79436f6e7472616374206f72204d79436f6e74726163742e7360208201527f6f6c206f72206f75742f4d79436f6e74726163742e736f6c2f4d79436f6e747260408201526730b1ba173539b7b760c11b60608201526068019392505050565b7f53504458206c6963656e7365206964656e74696669657220000000000000000081525f61562760188301856147d8565b6301034b7160e51b815261563e60048201856147d8565b7f20646f6573206e6f74206c6f6f6b206c696b65206120737570706f727465642081527f6c6963656e736520666f7220626c6f636b206578706c6f72657220766572696660208201527f69636174696f6e2e205573652074686520606c6963656e73655479706560206f60408201527f7074696f6e20746f20737065636966792061206c6963656e736520747970652c60608201527f206f7220736574207468652060736b69704c6963656e73655479706560206f7060808201527f74696f6e20746f2060747275656020746f20736b69702e00000000000000000060a082015260b7019594505050505056fe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d4d4e454d4f4e494320636f72726573706f6e647320746f20757067726164652061646d696e546865206e657720696d706c656d656e746174696f6e20686173206265656e206465706c6f7965642061743a0a3d3d3d204d554c54495349472055504752414445205452414e53414354494f4e2044415441203d3d3d4d4e454d4f4e494320646f6573206e6f7420636f72726573706f6e6420746f20757067726164652061646d696e4465706c6f79696e67206e657720696d706c656d656e746174696f6e20616e642067656e65726174696e672075706772616465207472616e73616374696f6e20646174610a3d3d3d2053494d554c4154494e472055504752414445205452414e53414354494f4e203d3d3d0a3d3d3d204445504c4f59494e47204e455720494d504c454d454e544154494f4e203d3d3d0a5573652074686973207472616e73616374696f6e206461746120696e20796f7572206d756c74697369672077616c6c657420746f20657865637574652074686520757067726164652e4d616e616765644f7074696d69737469634f7261636c6556322e736f6c3a4d616e616765644f7074696d69737469634f7261636c655632a26469706673582212207fdae152bc5ca7ac1ccb15aa45c2e747c547fe049caae302ca8d91319ec7631a64736f6c634300081e0033","sourceMap":"951:4942:87:-:0;;;3126:44:3;;;-1:-1:-1;;849:28:1;;;;;951:4942:87;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561000f575f5ffd5b5060043610610034575f3560e01c8063c040622614610038578063f8ccbf4714610042575b5f5ffd5b610040610069565b005b600c546100559062010000900460ff1681565b604051901515815260200160405180910390f35b5f610072610d74565b6040516001625e79b760e01b03198152600481018290529091505f905f51602061572c5f395f51905f529063ffa1864990602401602060405180830381865afa1580156100c1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100e5919061468d565b60405163350d56bf60e01b815260206004820152600d60248201526c50524f58595f4144445245535360981b60448201529091505f905f51602061572c5f395f51905f529063350d56bf90606401602060405180830381865afa15801561014e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610172919061468d565b90505f816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101b1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101d5919061468d565b60405163c1978d1f60e01b815260206004820152601760248201527f5245464552454e43455f4255494c445f56455253494f4e00000000000000000060448201529091505f905f51602061572c5f395f51905f529063c1978d1f90606401602060405180830381865afa15801561024e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061027291906146b3565b905061027c6145be565b60405163348051d760e11b8152600481018390525f51602061572c5f395f51905f5290636900a3ae906024015f60405180830381865afa1580156102c2573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526102e991908101906147a7565b6040516020016102f991906147ef565b60408051808303601f190181529181529082525163348051d760e11b8152600481018390525f51602061572c5f395f51905f5290636900a3ae906024015f60405180830381865afa158015610350573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261037791908101906147a7565b604051602001610387919061483c565b60405160208183030381529060405281602001819052506103d1604051806040016040528060118152602001702232b83637bcb2b91020b2323932b9b99d60791b81525086610e77565b6104016040518060400160405280600e81526020016d2ab833b930b2329020b236b4b71d60911b81525084610e77565b6104316040518060400160405280600e81526020016d283937bc3c9020b2323932b9b99d60911b81525085610e77565b610469604051806040016040528060138152602001722932b332b932b731b29021b7b73a3930b1ba1d60691b815250825f0151610ec0565b6104ac6040518060400160405280601981526020017f5265666572656e6365204275696c6420496e666f204469723a000000000000008152508260200151610ec0565b6001600160a01b0383811690861614801590610ad8576105006040518060400160405280601b81526020017f0a3d3d3d20494d504552534f4e4154494f4e204d4f4445203d3d3d0000000000815250610f05565b6105216040518060600160405280602d81526020016157c7602d9139610f05565b6105426040518060800160405280604481526020016157f460449139610f05565b61056360405180606001604052806025815260200161585f60259139610f05565b60405163ce817d4760e01b8152600481018890525f51602061572c5f395f51905f529063ce817d47906024015f604051808303815f87803b1580156105a6575f5ffd5b505af11580156105b8573d5f5f3e3d5ffd5b505050505f6105df6040518060600160405280603781526020016158ce6037913984610f4b565b90505f51602061572c5f395f51905f526001600160a01b03166376eadd366040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610626575f5ffd5b505af1158015610638573d5f5f3e3d5ffd5b5050505061067b6040518060400160405280601b81526020017f4e657720496d706c656d656e746174696f6e20416464726573733a000000000081525082610e77565b604080516020810182525f808252915161069991849160240161489b565b60408051601f19818403018152918152602080830180516001600160e01b031663278f794360e11b17905281516060810190925260278083529293506106e6929061583890830139610f05565b6040516303223eab60e11b81526001600160a01b03871660048201525f51602061572c5f395f51905f52906306447d56906024015f604051808303815f87803b158015610731575f5ffd5b505af1158015610743573d5f5f3e3d5ffd5b505050505f5f886001600160a01b03168360405161076191906148be565b5f604051808303815f865af19150503d805f811461079a576040519150601f19603f3d011682016040523d82523d5f602084013e61079f565b606091505b50915091505f51602061572c5f395f51905f526001600160a01b03166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156107e9575f5ffd5b505af11580156107fb573d5f5f3e3d5ffd5b505050508115610848576108436040518060400160405280601e81526020017f557067726164652073696d756c6174696f6e207375636365737366756c210000815250610f05565b610983565b6108866040518060400160405280601a81526020017f557067726164652073696d756c6174696f6e206661696c656421000000000000815250610f05565b604080518082018252600681526522b93937b91d60d11b602082015290516371aad10d60e01b815261091c91905f51602061572c5f395f51905f52906371aad10d906108d69086906004016148c9565b5f60405180830381865afa1580156108f0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261091791908101906147a7565b610ec0565b60405162461bcd60e51b815260206004820152603160248201527f557067726164652073696d756c6174696f6e206661696c6564202d20636865636044820152706b20746865206572726f722061626f766560781b60648201526084015b60405180910390fd5b6109a46040518060600160405280602a815260200161579d602a9139610f05565b6109d66040518060400160405280601081526020016f2a30b933b2ba1021b7b73a3930b1ba1d60811b8152508a610e77565b60408051808201825260118152702a3930b739b0b1ba34b7b7102230ba309d60791b602082015290516371aad10d60e01b8152610a3191905f51602061572c5f395f51905f52906371aad10d906108d69088906004016148c9565b610a616040518060400160405280600e81526020016d2ab833b930b2329020b236b4b71d60911b81525089610e77565b610a8c6040518060400160405280600981526020016821b430b4b71024a21d60b91b81525046610f5f565b610aad6040518060800160405280604a8152602001615884604a9139610f05565b610acf6040518060600160405280602c8152602001615771602c913985610e77565b50505050610d6b565b610b166040518060400160405280601e81526020017f0a3d3d3d2044495245435420455845435554494f4e204d4f4445203d3d3d0000815250610f05565b610b3760405180606001604052806025815260200161574c60259139610f05565b610b756040518060400160405280601a81526020017f457865637574696e672075706772616465206469726563746c79000000000000815250610f05565b60405163ce817d4760e01b8152600481018890525f51602061572c5f395f51905f529063ce817d47906024015f604051808303815f87803b158015610bb8575f5ffd5b505af1158015610bca573d5f5f3e3d5ffd5b50505050610c00856040518060600160405280603781526020016158ce6037913960405180602001604052805f81525085610fa4565b5f51602061572c5f395f51905f526001600160a01b03166376eadd366040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610c45575f5ffd5b505af1158015610c57573d5f5f3e3d5ffd5b50505050610c996040518060400160405280601881526020017f0a3d3d3d20557067726164652053756d6d617279203d3d3d0000000000000000815250610f05565b610cc96040518060400160405280600e81526020016d283937bc3c9020b2323932b9b99d60911b81525086610e77565b610d106040518060400160405280601b81526020017f4e657720496d706c656d656e746174696f6e20416464726573733a0000000000815250610d0b87610fb6565b610e77565b610d3b6040518060400160405280600981526020016821b430b4b71024a21d60b91b81525046610f5f565b610d6b6040518060400160405280600e81526020016d2ab833b930b2329020b236b4b71d60911b81525085610e77565b50505050505050565b60405163f877cb1960e01b81526020600482015260086024820152674d4e454d4f4e494360c01b60448201525f9081905f51602061572c5f395f51905f529063f877cb19906064015f60405180830381865afa158015610dd6573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610dfd91908101906147a7565b604051636229498b60e01b81529091505f51602061572c5f395f51905f5290636229498b90610e329084905f906004016148db565b602060405180830381865afa158015610e4d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7191906146b3565b91505090565b610ebc8282604051602401610e8d929190614902565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b179052610fc0565b5050565b610ebc8282604051602401610ed692919061492b565b60408051601f198184030181529190526020810180516001600160e01b0316634b5c427760e01b179052610fc0565b610f4881604051602401610f1991906148c9565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b179052610fc0565b50565b5f610f568383610fc9565b90505b92915050565b610ebc8282604051602401610f7592919061494f565b60408051601f198184030181529190526020810180516001600160e01b0316632d839cb360e21b179052610fc0565b610fb084848484610fe3565b50505050565b5f610f5982611002565b610f48816110a9565b5f610fd483836110c8565b610f56838360400151846110d4565b5f610fee8483610fc9565b9050610ffb85828561110a565b5050505050565b604051630667f9d760e41b81526001600160a01b03821660048201527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60248201525f905f51602061572c5f395f51905f52908290829063667f9d7090604401602060405180830381865afa15801561107d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a191906146b3565b949350505050565b5f6a636f6e736f6c652e6c6f6790505f5f835160208501845afa505050565b610ebc828260016113c4565b610120810151515f90156110f9576110f2848484610120015161157e565b9050611103565b6110f284846116ab565b9392505050565b604051630667f9d760e41b81526001600160a01b03841660048201527fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360248201525f51602061572c5f395f51905f52905f90829063667f9d7090604401602060405180830381865afa158015611183573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111a791906146b3565b9050806112b7575f6111b886611770565b90506111ea604051806040016040528060058152602001640352e302e360dc1b8152508261183590919063ffffffff16565b806111f557505f8451115b1561125a5760405163278f794360e11b81526001600160a01b03871690634f1ef28690611228908890889060040161489b565b5f604051808303815f87803b15801561123f575f5ffd5b505af1158015611251573d5f5f3e3d5ffd5b505050506112b1565b604051631b2ce7f360e11b81526001600160a01b038681166004830152871690633659cfe6906024015f604051808303815f87803b15801561129a575f5ffd5b505af11580156112ac573d5f5f3e3d5ffd5b505050505b50610ffb565b805f6112c282611770565b90506112f4604051806040016040528060058152602001640352e302e360dc1b8152508261183590919063ffffffff16565b806112ff57505f8551115b1561135d57604051639623609d60e01b81526001600160a01b03831690639623609d90611334908a908a908a90600401614970565b5f604051808303815f87803b15801561134b575f5ffd5b505af1158015610acf573d5f5f3e3d5ffd5b60405163266a23b160e21b81526001600160a01b03888116600483015287811660248301528316906399a88ec4906044015f604051808303815f87803b1580156113a5575f5ffd5b505af11580156113b7573d5f5f3e3d5ffd5b5050505050505050505050565b816101000151156113d457505050565b5f6113e0848484611859565b90505f6113ec82611f5c565b60208101518151919250905f51602061572c5f395f51905f529060030b5f036114cf57604051630fec62bb60e21b81526001600160a01b03821690633fb18aec9061143b90859060040161499b565b6020604051808303815f875af1158015611457573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061147b91906149d6565b156114985760408301515115610d6b57610d6b8360400151610f05565b816040516020016114a991906149f5565b60408051601f198184030181529082905262461bcd60e51b825261097a916004016148c9565b604051630fec62bb60e21b81526001600160a01b03821690633fb18aec906114fb908590600401614a38565b6020604051808303815f875af1158015611517573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061153b91906149d6565b156115695760408301515115611558576115588360400151610f05565b816040516020016114a99190614a72565b82604001516040516020016114a991906149f5565b5f5f6115886120ee565b90505f6115958683612183565b90505f6115ab8260600151836020015185612588565b90505f6115ba83838989612703565b90505f6115c682611f5c565b602081015181519192509060030b156115f0578982604001516040516020016114a9929190614aae565b5f61162a6040518060400160405280601581526020017402232b83637bcb2b2103a379030b2323932b9b99d1605d1b8152508360016134b8565b60405163c6ce059d60e01b81529091505f51602061572c5f395f51905f529063c6ce059d9061165d9084906004016148c9565b602060405180830381865afa158015611678573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061169c919061468d565b9b9a5050505050505050505050565b604051638d1cc92560e01b81525f9081905f51602061572c5f395f51905f5290638d1cc925906116df9087906004016148c9565b5f60405180830381865afa1580156116f9573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261172091908101906147a7565b90505f61174d8285604051602001611739929190614af4565b6040516020818303038152906040526136a0565b90506001600160a01b0381166110a15784846040516020016114a9929190614b08565b60408051600481526024810182526020810180516001600160e01b0316632b4f2c7360e21b17905290516060915f9182916001600160a01b038616916117b691906148be565b5f60405180830381855afa9150503d805f81146117ee576040519150601f19603f3d011682016040523d82523d5f602084013e6117f3565b606091505b5091509150818015611806575060208151115b1561181f57808060200190518101906110a191906147a7565b505060408051602081019091525f815292915050565b5f81518351148015610f565750508051602091820120825192909101919091201490565b60605f6118646120ee565b60408051620100008082526220002082019092529192505f9190816020015b60608152602001906001900390816118835750506040805180820190915260038152620dce0f60eb1b60208201529091505f9082826118c181614b90565b935061ffff16815181106118d7576118d7614bb0565b60200260200101819052506040518060400160405280600781526020016605e312e33372e360cc1b8152506040516020016119129190614bc4565b60405160208183030381529060405282828061192d90614b90565b935061ffff168151811061194357611943614bb0565b60200260200101819052506040518060400160405280600881526020016776616c696461746560c01b81525082828061197b90614b90565b935061ffff168151811061199157611991614bb0565b6020026020010181905250826040516020016119ad9190614bf5565b6040516020818303038152906040528282806119c890614b90565b935061ffff16815181106119de576119de614bb0565b60200260200101819052506040518060400160405280600a8152602001690b4b58dbdb9d1c9858dd60b21b815250828280611a1890614b90565b935061ffff1681518110611a2e57611a2e614bb0565b6020026020010181905250611a4387846136b1565b8282611a4e81614b90565b935061ffff1681518110611a6457611a64614bb0565b60209081029190910181019190915286515190870151519015801591151590611b43575f81611a9e578851611a9990876136b1565b611aa1565b88515b90506040518060400160405280600b81526020016a2d2d7265666572656e636560a81b815250858580611ad390614b90565b965061ffff1681518110611ae957611ae9614bb0565b602002602001018190525080604051602001611b059190614c1b565b604051602081830303815290604052858580611b2090614b90565b965061ffff1681518110611b3657611b36614bb0565b6020026020010181905250505b8015611bfb5760408051808201909152601881527f2d2d7265666572656e63654275696c64496e666f44697273000000000000000060208201528484611b8881614b90565b955061ffff1681518110611b9e57611b9e614bb0565b60200260200101819052508760200151604051602001611bbe9190614c1b565b604051602081830303815290604052848480611bd990614b90565b955061ffff1681518110611bef57611bef614bb0565b60200260200101819052505b5f5b8860600151518160ff161015611ce6575f89606001518260ff1681518110611c2757611c27614bb0565b6020026020010151905080515f14611cd3576040805180820190915260098152682d2d6578636c75646560b81b60208201528686611c6481614b90565b975061ffff1681518110611c7a57611c7a614bb0565b602002602001018190525080604051602001611c969190614c1b565b604051602081830303815290604052868680611cb190614b90565b975061ffff1681518110611cc757611cc7614bb0565b60200260200101819052505b5080611cde81614c41565b915050611bfd565b508760e0015115611d565760408051808201909152601881527f2d2d756e73616665536b697053746f72616765436865636b000000000000000060208201528484611d3081614b90565b955061ffff1681518110611d4657611d46614bb0565b6020026020010181905250611db2565b8615611db2576040805180820190915260128152712d2d726571756972655265666572656e636560701b60208201528484611d9081614b90565b955061ffff1681518110611da657611da6614bb0565b60200260200101819052505b60808801515115611e405760408051808201909152600d81526c2d2d756e73616665416c6c6f7760981b60208201528484611dec81614b90565b955061ffff1681518110611e0257611e02614bb0565b60200260200101819052508760800151848480611e1e90614b90565b955061ffff1681518110611e3457611e34614bb0565b60200260200101819052505b8760a0015115611ea2576040805180820190915260148152732d2d756e73616665416c6c6f7752656e616d657360601b60208201528484611e8081614b90565b955061ffff1681518110611e9657611e96614bb0565b60200260200101819052505b5f8361ffff166001600160401b03811115611ebf57611ebf6146ca565b604051908082528060200260200182016040528015611ef257816020015b6060815260200190600190039081611edd5790505b5090505f5b8461ffff168161ffff161015611f4e57858161ffff1681518110611f1d57611f1d614bb0565b6020026020010151828261ffff1681518110611f3b57611f3b614bb0565b6020908102919091010152600101611ef7565b509998505050505050505050565b611f8260405180606001604052805f60030b815260200160608152602001606081525090565b6040805180820182526004808252630c4c2e6d60e31b602083015291516334515cdb60e21b81525f51602061572c5f395f51905f52925f91849163d145736c91611fce91869101614c56565b5f60405180830381865afa158015611fe8573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261200f91908101906147a7565b90505f61201c86836136f0565b90505f846001600160a01b031663f45c1ce7836040518263ffffffff1660e01b815260040161204b9190614c95565b5f604051808303815f875af1158015612066573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261208d9190810190614cf8565b805190915060030b158015906120a65750602081015151155b80156120b55750604081015151155b156120e457815f815181106120cc576120cc614bb0565b60200260200101516040516020016114a99190614da4565b9695505050505050565b60408051808201825260038152621bdd5d60ea1b602082015290516334515cdb60e21b81526060915f51602061572c5f395f51905f5291829063d145736c9061213b908490600401614f65565b5f60405180830381865afa158015612155573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261217c91908101906147a7565b9250505090565b6121b56040518060a0016040528060608152602001606081526020016060815260200160608152602001606081525090565b5f5f51602061572c5f395f51905f5290506121f86040518060a0016040528060608152602001606081526020016060815260200160608152602001606081525090565b61220185613827565b60208201525f61221086613b3b565b90505f836001600160a01b031663d930a0e66040518163ffffffff1660e01b81526004015f60405180830381865afa15801561224e573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261227591908101906147a7565b8683856020015160405160200161228f9493929190614f99565b60408051601f19818403018152908290526360f9bb1160e01b825291505f906001600160a01b038616906360f9bb11906122cd9085906004016148c9565b5f60405180830381865afa1580156122e7573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261230e91908101906147a7565b604051636da11afb60e11b81529091506001600160a01b0386169063db4235f69061233d908490600401614ffd565b602060405180830381865afa158015612358573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061237c91906149d6565b61239157816040516020016114a99190615035565b6040516309389f5960e31b81526001600160a01b038616906349c4fac8906123bd90849060040161509e565b5f60405180830381865afa1580156123d7573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526123fe91908101906147a7565b8452604051636da11afb60e11b81526001600160a01b0386169063db4235f69061242c9084906004016150e3565b602060405180830381865afa158015612447573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061246b91906149d6565b156124e3576040516309389f5960e31b81526001600160a01b038616906349c4fac89061249c9084906004016150e3565b5f60405180830381865afa1580156124b6573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526124dd91908101906147a7565b60408501525b846001600160a01b03166349c4fac882865f01516040516020016125079190615123565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161253392919061492b565b5f60405180830381865afa15801561254d573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261257491908101906147a7565b606085015250608083015250949350505050565b60408051600480825260a082019092526060915f9190816020015b60608152602001906001900390816125a3579050509050604051806040016040528060048152602001630677265760e41b815250815f815181106125e9576125e9614bb0565b6020026020010181905250604051806040016040528060038152602001620b5c9b60ea1b8152508160018151811061262357612623614bb0565b60200260200101819052508460405160200161263f9190614c1b565b6040516020818303038152906040528160028151811061266157612661614bb0565b60200260200101819052508260405160200161267d9190614bf5565b6040516020818303038152906040528160038151811061269f5761269f614bb0565b60200260200101819052505f6126b482611f5c565b90505f816020015190506126ee60405180604001604052806005815260200164173539b7b760d91b81525082613d1090919063ffffffff16565b6120e457856040516020016114a99190615167565b60a0810151516060905f51602061572c5f395f51905f529015612852578260200151156127be5760405162461bcd60e51b815260206004820152605860248201527f54686520606c6963656e73655479706560206f7074696f6e2063616e6e6f742060448201527f62652075736564207768656e207468652060736b6970566572696679536f757260648201527f6365436f646560206f7074696f6e206973206074727565600000000000000000608482015260a40161097a565b8260c00151156128525760405162461bcd60e51b815260206004820152605360248201527f54686520606c6963656e73655479706560206f7074696f6e2063616e6e6f742060448201527f62652075736564207768656e207468652060736b69704c6963656e7365547970606482015272032b01037b83a34b7b71034b990303a393ab2b606d1b608482015260a40161097a565b6040805160ff80825261200082019092525f91816020015b606081526020019060019003908161286a5750506040805180820190915260038152620dce0f60eb1b60208201529091505f9082826128a881614c41565b935060ff16815181106128bd576128bd614bb0565b60200260200101819052506040518060400160405280600e81526020016d0302e302e312d616c7068612e31360941b8152506040516020016128ff91906151d2565b60405160208183030381529060405282828061291a90614c41565b935060ff168151811061292f5761292f614bb0565b6020026020010181905250604051806040016040528060068152602001656465706c6f7960d01b81525082828061296590614c41565b935060ff168151811061297a5761297a614bb0565b60200260200101819052506040518060400160405280600e81526020016d2d2d636f6e74726163744e616d6560901b8152508282806129b890614c41565b935060ff16815181106129cd576129cd614bb0565b602002602001018190525087602001518282806129e990614c41565b935060ff16815181106129fe576129fe614bb0565b60200260200101819052506040518060400160405280600e81526020016d05a5ac6dedce8e4c2c6e8a0c2e8d60931b815250828280612a3c90614c41565b935060ff1681518110612a5157612a51614bb0565b602090810291909101015287518282612a6981614c41565b935060ff1681518110612a7e57612a7e614bb0565b6020026020010181905250604051806040016040528060098152602001680b4b58da185a5b925960ba1b815250828280612ab790614c41565b935060ff1681518110612acc57612acc614bb0565b6020026020010181905250612ae046613dca565b8282612aeb81614c41565b935060ff1681518110612b0057612b00614bb0565b60200260200101819052506040518060400160405280600f81526020016e2d2d6275696c64496e666f46696c6560881b815250828280612b3f90614c41565b935060ff1681518110612b5457612b54614bb0565b602002602001018190525086828280612b6c90614c41565b935060ff1681518110612b8157612b81614bb0565b6020908102919091010152855115612c83576040805180820190915260158152742d2d636f6e7374727563746f7242797465636f646560581b60208201528282612bca81614c41565b935060ff1681518110612bdf57612bdf614bb0565b60209081029190910101526040516371aad10d60e01b81526001600160a01b038416906371aad10d90612c169089906004016148c9565b5f60405180830381865afa158015612c30573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612c5791908101906147a7565b8282612c6281614c41565b935060ff1681518110612c7757612c77614bb0565b60200260200101819052505b846020015115612d30576040805180820190915260128152712d2d766572696679536f75726365436f646560701b60208201528282612cc181614c41565b935060ff1681518110612cd657612cd6614bb0565b60200260200101819052506040518060400160405280600581526020016466616c736560d81b815250828280612d0b90614c41565b935060ff1681518110612d2057612d20614bb0565b6020026020010181905250612e79565b60a08501515115612dba5760408051808201909152600d81526c2d2d6c6963656e73655479706560981b60208201528282612d6a81614c41565b935060ff1681518110612d7f57612d7f614bb0565b60200260200101819052508460a00151604051602001612d9f9190614c1b565b604051602081830303815290604052828280612d0b90614c41565b8460c00151158015612dd0575060408801515115155b15612e795760408051808201909152600d81526c2d2d6c6963656e73655479706560981b60208201528282612e0481614c41565b935060ff1681518110612e1957612e19614bb0565b6020026020010181905250612e2d88613e59565b604051602001612e3d9190614c1b565b604051602081830303815290604052828280612e5890614c41565b935060ff1681518110612e6d57612e6d614bb0565b60200260200101819052505b60408501515115612f035760408051808201909152600b81526a0b4b5c995b185e595c925960aa1b60208201528282612eb181614c41565b935060ff1681518110612ec657612ec6614bb0565b60200260200101819052508460400151828280612ee290614c41565b935060ff1681518110612ef757612ef7614bb0565b60200260200101819052505b606085015115612ff0576040805180820190915260068152650b4b5cd85b1d60d21b60208201528282612f3581614c41565b935060ff1681518110612f4a57612f4a614bb0565b60209081029190910101526060850151604051631623433d60e31b815260048101919091526001600160a01b0384169063b11a19e8906024015f60405180830381865afa158015612f9d573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612fc491908101906147a7565b8282612fcf81614c41565b935060ff1681518110612fe457612fe4614bb0565b60200260200101819052505b60e085015151156130835760408051808201909152600a8152690b4b59d85cd31a5b5a5d60b21b6020820152828261302781614c41565b935060ff168151811061303c5761303c614bb0565b60200260200101819052506130578560e001515f0151613dca565b828261306281614c41565b935060ff168151811061307757613077614bb0565b60200260200101819052505b60e0850151602001511561311a5760408051808201909152600a8152692d2d676173507269636560b01b602082015282826130bd81614c41565b935060ff16815181106130d2576130d2614bb0565b60200260200101819052506130ee8560e0015160200151613dca565b82826130f981614c41565b935060ff168151811061310e5761310e614bb0565b60200260200101819052505b60e085015160400151156131b55760408051808201909152600e81526d2d2d6d617846656550657247617360901b6020820152828261315881614c41565b935060ff168151811061316d5761316d614bb0565b60200260200101819052506131898560e0015160400151613dca565b828261319481614c41565b935060ff16815181106131a9576131a9614bb0565b60200260200101819052505b60e08501516060015115613258576040805180820190915260168152752d2d6d61785072696f7269747946656550657247617360501b602082015282826131fb81614c41565b935060ff168151811061321057613210614bb0565b602002602001018190525061322c8560e0015160600151613dca565b828261323781614c41565b935060ff168151811061324c5761324c614bb0565b60200260200101819052505b610100850151511561336e5760408051808201909152600a8152692d2d6d6574616461746160b01b6020820152828261329081614c41565b935060ff16815181106132a5576132a5614bb0565b6020908102919091010152610100850151604051637005681f60e11b81526001600160a01b0385169163e00ad03e916132e19190600401615215565b5f60405180830381865afa1580156132fb573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261332291908101906147a7565b6040516020016133329190614c1b565b60405160208183030381529060405282828061334d90614c41565b935060ff168151811061336257613362614bb0565b60200260200101819052505b6040805180820190915260088152671696b7b934b3b4b760c11b6020820152828261339881614c41565b935060ff16815181106133ad576133ad614bb0565b602002602001018190525060405180604001604052806007815260200166466f756e64727960c81b8152508282806133e490614c41565b935060ff16815181106133f9576133f9614bb0565b60200260200101819052505f8160ff166001600160401b03811115613420576134206146ca565b60405190808252806020026020018201604052801561345357816020015b606081526020019060019003908161343e5790505b5090505f5b8260ff168160ff1610156134ab57838160ff168151811061347b5761347b614bb0565b6020026020010151828260ff168151811061349857613498614bb0565b6020908102919091010152600101613458565b5098975050505050505050565b604051630fec62bb60e21b81526060905f51602061572c5f395f51905f52908190633fb18aec906134ef908790899060040161492b565b6020604051808303815f875af115801561350b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061352f91906149d6565b1561367257604051638bb7553360e01b81525f906001600160a01b03831690638bb75533906135649088908a9060040161492b565b5f60405180830381865afa15801561357e573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526135a59190810190615267565b90506002815111156135c45785856040516020016114a9929190615330565b5f816001815181106135d8576135d8614bb0565b60200260200101519050826001600160a01b0316638bb75533826040518263ffffffff1660e01b815260040161360e9190615390565b5f60405180830381865afa158015613628573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261364f9190810190615267565b5f8151811061366057613660614bb0565b60200260200101519350505050611103565b821561368b5784846040516020016114a99291906153c4565b505060408051602081019091525f8152611103565b5f5f8251602084015ff09392505050565b60605f6136be8484612183565b80516020808301516040519394506136d8939091016153ff565b60405160208183030381529060405291505092915050565b6060805f5b845181101561377a578185828151811061371157613711614bb0565b602002602001015160405160200161372a929190614af4565b604051602081830303815290604052915060018551613749919061541e565b811461377257816040516020016137609190615431565b60405160208183030381529060405291505b6001016136f5565b50604080516003808252608082019092525f91816020015b606081526020019060019003908161379257905050905083815f815181106137bc576137bc614bb0565b6020026020010181905250604051806040016040528060028152602001612d6360f01b815250816001815181106137f5576137f5614bb0565b6020026020010181905250818160028151811061381457613814614bb0565b6020908102919091010152949350505050565b6040805180820190915260048152630b9cdbdb60e21b60208201526060905f51602061572c5f395f51905f529061385f908490613d10565b801561389057506040805180820190915260048152630b9cdbdb60e21b602082015261388c90849061445e565b6001145b1561390257604051637005681f60e11b81526001600160a01b0382169063e00ad03e906138c190869060040161544d565b5f60405180830381865afa1580156138db573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261110391908101906147a7565b6040805180820190915260018152601d60f91b602082015261392590849061445e565b6001036139bb57604051638bb7553360e01b81526001600160a01b03821690638bb7553390613958908690600401615496565b5f60405180830381865afa158015613972573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526139999190810190615267565b6001815181106139ab576139ab614bb0565b6020026020010151915050919050565b604080518082019091526005815264173539b7b760d91b60208201526139e2908490613d10565b8015613a145750604080518082019091526005815264173539b7b760d91b6020820152613a1090849061445e565b6001145b15613b2a57604051638bb7553360e01b81525f906001600160a01b03831690638bb7553390613a479087906004016154cb565b5f60405180830381865afa158015613a61573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052613a889190810190615267565b90505f8160018351613a9a919061541e565b81518110613aaa57613aaa614bb0565b60200260200101519050826001600160a01b031663e00ad03e826040518263ffffffff1660e01b8152600401613ae09190615500565b5f60405180830381865afa158015613afa573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052613b2191908101906147a7565b95945050505050565b826040516020016114a9919061554a565b6040805180820190915260048152630b9cdbdb60e21b60208201526060905f51602061572c5f395f51905f5290613b73908490613d10565b15613b7f575090919050565b6040805180820190915260018152601d60f91b6020820152613ba290849061445e565b600103613c2757604051638bb7553360e01b81526001600160a01b03821690638bb7553390613bd5908690600401615496565b5f60405180830381865afa158015613bef573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052613c169190810190615267565b5f815181106139ab576139ab614bb0565b604080518082019091526005815264173539b7b760d91b6020820152613c4e908490613d10565b15613b2a57604051638bb7553360e01b81525f906001600160a01b03831690638bb7553390613c819087906004016154cb565b5f60405180830381865afa158015613c9b573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052613cc29190810190615267565b9050600181511115613cfe578060028251613cdd919061541e565b81518110613ced57613ced614bb0565b602002602001015192505050919050565b50826040516020016114a9919061554a565b604051638bb7553360e01b81525f905f51602061572c5f395f51905f529082908290638bb7553390613d48908890889060040161492b565b5f60405180830381865afa158015613d62573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052613d899190810190615267565b905060018151118015613b2157508060018251613da6919061541e565b81518110613db657613db6614bb0565b6020026020010151515f1495945050505050565b60605f613dd6836144e7565b60010190505f816001600160401b03811115613df457613df46146ca565b6040519080825280601f01601f191660200182016040528015613e1e576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084613e2857509392505050565b6040808201518151808301909252600a8252691553931250d15394d15160b21b6020830152606091613e8c908290611835565b15613eb35750506040805180820190915260048152634e6f6e6560e01b6020820152919050565b604080518082019091526009815268556e6c6963656e736560b81b6020820152613ede908290611835565b15613f0a575050604080518082019091526009815268556e6c6963656e736560b81b6020820152919050565b60408051808201909152600381526213525560ea1b6020820152613f2f908290611835565b15613f5557505060408051808201909152600381526213525560ea1b6020820152919050565b60408051808201909152600c81526b47504c2d322e302d6f6e6c7960a01b6020820152613f83908290611835565b80613fbb575060408051808201909152601081526f23a8261699171816b7b916b630ba32b960811b6020820152613fbb908290611835565b15613fe757505060408051808201909152600981526823a72a9023a8263b1960b91b6020820152919050565b60408051808201909152600c81526b47504c2d332e302d6f6e6c7960a01b6020820152614015908290611835565b8061404d575060408051808201909152601081526f23a8261699971816b7b916b630ba32b960811b602082015261404d908290611835565b15614079575050604080518082019091526009815268474e552047504c763360b81b6020820152919050565b60408051808201909152600d81526c4c47504c2d322e312d6f6e6c7960981b60208201526140a8908290611835565b806140e157506040805180820190915260118152702623a8261699171896b7b916b630ba32b960791b60208201526140e1908290611835565b1561411057505060408051808201909152600c81526b474e55204c47504c76322e3160a01b6020820152919050565b60408051808201909152600d81526c4c47504c2d332e302d6f6e6c7960981b602082015261413f908290611835565b8061417857506040805180820190915260118152702623a8261699971816b7b916b630ba32b960791b6020820152614178908290611835565b156141a557505060408051808201909152600a815269474e55204c47504c763360b01b6020820152919050565b60408051808201909152600c81526b4253442d322d436c6175736560a01b60208201526141d3908290611835565b1561420257505060408051808201909152600c81526b4253442d322d436c6175736560a01b6020820152919050565b60408051808201909152600c81526b4253442d332d436c6175736560a01b6020820152614230908290611835565b1561425f57505060408051808201909152600c81526b4253442d332d436c6175736560a01b6020820152919050565b60408051808201909152600781526604d504c2d322e360cc1b6020820152614288908290611835565b156142b257505060408051808201909152600781526604d504c2d322e360cc1b6020820152919050565b60408051808201909152600781526604f534c2d332e360cc1b60208201526142db908290611835565b1561430557505060408051808201909152600781526604f534c2d332e360cc1b6020820152919050565b60408051808201909152600a81526904170616368652d322e360b41b6020820152614331908290611835565b1561435e57505060408051808201909152600a81526904170616368652d322e360b41b6020820152919050565b60408051808201909152600d81526c4147504c2d332e302d6f6e6c7960981b602082015261438d908290611835565b806143c6575060408051808201909152601181527020a3a8261699971816b7b916b630ba32b960791b60208201526143c6908290611835565b156143f357505060408051808201909152600a815269474e55204147504c763360b01b6020820152919050565b6040805180820190915260088152674255534c2d312e3160c01b602082015261441d908290611835565b1561444757505060408051808201909152600781526642534c20312e3160c81b6020820152919050565b604080840151845191516114a992906020016155f6565b604051638bb7553360e01b81525f905f51602061572c5f395f51905f529082908290638bb7553390614496908890889060040161492b565b5f60405180830381865afa1580156144b0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526144d79190810190615267565b905060018151613b21919061541e565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106145255772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310614551576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061456f57662386f26fc10000830492506010015b6305f5e1008310614587576305f5e100830492506008015b612710831061459b57612710830492506004015b606483106145ad576064830492506002015b600a8310610f595760010192915050565b60405180610140016040528060608152602001606081526020016060815260200160608152602001606081526020015f151581526020015f151581526020015f151581526020015f1515815260200161461561461a565b905290565b6040518061012001604052805f151581526020015f15158152602001606081526020015f815260200160608152602001606081526020015f1515815260200161468060405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001606081525090565b5f6020828403121561469d575f5ffd5b81516001600160a01b0381168114611103575f5ffd5b5f602082840312156146c3575f5ffd5b5051919050565b634e487b7160e01b5f52604160045260245ffd5b604051606081016001600160401b0381118282101715614700576147006146ca565b60405290565b604051601f8201601f191681016001600160401b038111828210171561472e5761472e6146ca565b604052919050565b5f82601f830112614745575f5ffd5b8151602083015f5f6001600160401b03841115614764576147646146ca565b50601f8301601f191660200161477981614706565b91505082815285838301111561478d575f5ffd5b8282602083015e5f92810160200192909252509392505050565b5f602082840312156147b7575f5ffd5b81516001600160401b038111156147cc575f5ffd5b6110a184828501614736565b5f81518060208401855e5f93019283525090919050565b6b313ab4b63216b4b7333796bb60a11b81525f61480f600c8301846147d8565b7f3a4d616e616765644f7074696d69737469634f7261636c6556320000000000008152601a019392505050565b7f6f6c642d6275696c64732f6275696c642d696e666f2d7600000000000000000081525f610f5660178301846147d8565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6001600160a01b03831681526040602082018190525f906110a19083018461486d565b5f610f5682846147d8565b602081525f610f56602083018461486d565b604081525f6148ed604083018561486d565b905063ffffffff831660208301529392505050565b604081525f614914604083018561486d565b905060018060a01b03831660208301529392505050565b604081525f61493d604083018561486d565b8281036020840152613b21818561486d565b604081525f614961604083018561486d565b90508260208301529392505050565b6001600160a01b038481168252831660208201526060604082018190525f90613b219083018461486d565b604081525f6149ad604083018461486d565b828103602084015260078152665355434345535360c81b60208201526040810191505092915050565b5f602082840312156149e6575f5ffd5b81518015158114611103575f5ffd5b7f4661696c656420746f2072756e2075706772616465207361666574792076616c815268034b230ba34b7b71d160bd1b60208201525f610f5660298301846147d8565b604081525f614a4a604083018461486d565b8281036020840152600681526511905253115160d21b60208201526040810191505092915050565b7f55706772616465207361666574792076616c69646174696f6e206661696c65648152611d0560f11b60208201525f610f5660228301846147d8565b7f4661696c656420746f206465706c6f7920636f6e74726163742000000000000081525f614adf601a8301856147d8565b6101d160f51b8152613b2160028201856147d8565b5f6110a1614b0283866147d8565b846147d8565b7f4661696c656420746f206465706c6f7920636f6e74726163742000000000000081525f614b39601a8301856147d8565b7f207573696e6720636f6e7374727563746f7220646174612022000000000000008152614b6960198201856147d8565b601160f91b815260010195945050505050565b634e487b7160e01b5f52601160045260245ffd5b5f61ffff821661ffff8103614ba757614ba7614b7c565b60010192915050565b634e487b7160e01b5f52603260045260245ffd5b7f406f70656e7a657070656c696e2f75706772616465732d636f7265400000000081525f610f56601c8301846147d8565b5f614c0082846147d8565b6a2f6275696c642d696e666f60a81b8152600b019392505050565b601160f91b81525f614c3060018301846147d8565b601160f91b81526001019392505050565b5f60ff821660ff8103614ba757614ba7614b7c565b60408152601660408201527509ea08a9cb48aa0a08a98929cbe8482a690bea082a8960531b6060820152608060208201525f610f56608083018461486d565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015614cec57603f19878603018452614cd785835161486d565b94506020938401939190910190600101614cbb565b50929695505050505050565b5f60208284031215614d08575f5ffd5b81516001600160401b03811115614d1d575f5ffd5b820160608185031215614d2e575f5ffd5b614d366146de565b81518060030b8114614d46575f5ffd5b815260208201516001600160401b03811115614d60575f5ffd5b614d6c86828501614736565b60208301525060408201516001600160401b03811115614d8a575f5ffd5b614d9686828501614736565b604083015250949350505050565b7f4661696c656420746f2072756e206261736820636f6d6d616e642077697468208152601160f91b60208201525f614ddf60218301846147d8565b7f222e20496620796f7520617265207573696e672057696e646f77732c2073657481527f20746865204f50454e5a455050454c494e5f424153485f5041544820656e766960208201527f726f6e6d656e74207661726961626c6520746f207468652066756c6c7920717560408201527f616c69666965642070617468206f66207468652062617368206578656375746160608201527f626c652e20466f72206578616d706c652c20696620796f75206172652075736960808201527f6e672047697420666f722057696e646f77732c206164642074686520666f6c6c60a08201527f6f77696e67206c696e6520696e20746865202e656e762066696c65206f66207960c08201527f6f75722070726f6a65637420287573696e6720666f727761726420736c61736860e08201527f6573293a0a4f50454e5a455050454c494e5f424153485f504154483d22433a2f6101008201527f50726f6772616d2046696c65732f4769742f62696e2f6261736822000000000061012082015261013b019392505050565b60408152600b60408201526a1193d55391149657d3d55560aa1b6060820152608060208201525f610f56608083018461486d565b5f614fa482876147d8565b602f60f81b8152614fb860018201876147d8565b9050602f60f81b8152614fce60018201866147d8565b9050602f60f81b8152614fe460018201856147d8565b64173539b7b760d91b8152600501979650505050505050565b604081525f61500f604083018461486d565b828103602084015260048152630b985cdd60e21b60208201526040810191505092915050565b7f436f756c64206e6f742066696e642041535420696e206172746966616374200081525f615066601f8301846147d8565b7f2e205365742060617374203d20747275656020696e20666f756e6472792e746f8152611b5b60f21b60208201526022019392505050565b604081525f6150b0604083018461486d565b8281036020840152601181527005cc2e6e85cc2c4e6ded8eae8caa0c2e8d607b1b60208201526040810191505092915050565b604081525f6150f5604083018461486d565b8281036020840152600c81526b2e6173742e6c6963656e736560a01b60208201526040810191505092915050565b732e6d657461646174612e736f75726365732e5b2760601b81525f61514b60148301846147d8565b6b13ae9735b2b1b1b0b5991a9b60a11b8152600c019392505050565b7f436f756c64206e6f742066696e64206275696c642d696e666f2066696c65207781527f697468206d61746368696e6720736f7572636520636f6465206861736820666f60208201526a0391031b7b73a3930b1ba160ad1b60408201525f610f56604b8301846147d8565b7f406f70656e7a657070656c696e2f646566656e6465722d6465706c6f792d636c81526801a595b9d0b58db1a560be1b60208201525f610f5660298301846147d8565b606081525f615227606083018461486d565b82810380602085015260018252601160f91b60208301526040810160408501525060026040820152612e1160f11b60608201526080810191505092915050565b5f60208284031215615277575f5ffd5b81516001600160401b0381111561528c575f5ffd5b8201601f8101841361529c575f5ffd5b80516001600160401b038111156152b5576152b56146ca565b8060051b6152c560208201614706565b918252602081840181019290810190878411156152e0575f5ffd5b6020850192505b838310156153255782516001600160401b03811115615304575f5ffd5b61531389602083890101614736565b835250602092830192909101906152e7565b979650505050505050565b7f466f756e64206d756c7469706c65206f6363757272656e636573206f6620707281526565666978202760d01b60208201525f61537060268301856147d8565b6c0139034b71037baba383aba1d1609d1b8152613b21600d8201856147d8565b604081525f6153a2604083018461486d565b82810360209384015260018152600560f91b9281019290925250604001919050565b7f4661696c656420746f2066696e64206c696e65207769746820707265666978208152602760f81b60208201525f61537060218301856147d8565b5f61540a82856147d8565b601d60f91b8152613b2160018201856147d8565b81810381811115610f5957610f59614b7c565b5f61543c82846147d8565b600160fd1b81526001019392505050565b606081525f61545f606083018461486d565b82810380602085015260048252630b9cdbdb60e21b6020830152604081016040850152505f60408201526060810191505092915050565b604081525f6154a8604083018461486d565b828103602084015260018152601d60f91b60208201526040810191505092915050565b604081525f6154dd604083018461486d565b828103602084015260018152602f60f81b60208201526040810191505092915050565b606081525f615512606083018461486d565b8281038060208501526005825264173539b7b760d91b6020830152604081016040850152505f60408201526060810191505092915050565b6d021b7b73a3930b1ba103730b6b2960951b81525f61556c600e8301846147d8565b7f206d75737420626520696e2074686520666f726d6174204d79436f6e7472616381527f742e736f6c3a4d79436f6e7472616374206f72204d79436f6e74726163742e7360208201527f6f6c206f72206f75742f4d79436f6e74726163742e736f6c2f4d79436f6e747260408201526730b1ba173539b7b760c11b60608201526068019392505050565b7f53504458206c6963656e7365206964656e74696669657220000000000000000081525f61562760188301856147d8565b6301034b7160e51b815261563e60048201856147d8565b7f20646f6573206e6f74206c6f6f6b206c696b65206120737570706f727465642081527f6c6963656e736520666f7220626c6f636b206578706c6f72657220766572696660208201527f69636174696f6e2e205573652074686520606c6963656e73655479706560206f60408201527f7074696f6e20746f20737065636966792061206c6963656e736520747970652c60608201527f206f7220736574207468652060736b69704c6963656e73655479706560206f7060808201527f74696f6e20746f2060747275656020746f20736b69702e00000000000000000060a082015260b7019594505050505056fe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d4d4e454d4f4e494320636f72726573706f6e647320746f20757067726164652061646d696e546865206e657720696d706c656d656e746174696f6e20686173206265656e206465706c6f7965642061743a0a3d3d3d204d554c54495349472055504752414445205452414e53414354494f4e2044415441203d3d3d4d4e454d4f4e494320646f6573206e6f7420636f72726573706f6e6420746f20757067726164652061646d696e4465706c6f79696e67206e657720696d706c656d656e746174696f6e20616e642067656e65726174696e672075706772616465207472616e73616374696f6e20646174610a3d3d3d2053494d554c4154494e472055504752414445205452414e53414354494f4e203d3d3d0a3d3d3d204445504c4f59494e47204e455720494d504c454d454e544154494f4e203d3d3d0a5573652074686973207472616e73616374696f6e206461746120696e20796f7572206d756c74697369672077616c6c657420746f20657865637574652074686520757067726164652e4d616e616765644f7074696d69737469634f7261636c6556322e736f6c3a4d616e616765644f7074696d69737469634f7261636c655632a26469706673582212207fdae152bc5ca7ac1ccb15aa45c2e747c547fe049caae302ca8d91319ec7631a64736f6c634300081e0033","sourceMap":"951:4942:87:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1009:4491;;;:::i;:::-;;849:28:1;;;;;;;;;;;;;;;179:14:102;;172:22;154:41;;142:2;127:18;849:28:1;;;;;;;1009:4491:87;1043:26;1072:24;:22;:24::i;:::-;1132:27;;-1:-1:-1;;;;;;1132:27:87;;;;;352:25:102;;;1043:53:87;;-1:-1:-1;1106:23:87;;-1:-1:-1;;;;;;;;;;;336:42:0;1132:7:87;;325:18:102;;1132:27:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1237:30;;-1:-1:-1;;;1237:30:87;;885:2:102;1237:30:87;;;867:21:102;924:2;904:18;;;897:30;-1:-1:-1;;;943:18:102;;;936:43;1106:53:87;;-1:-1:-1;1214:20:87;;-1:-1:-1;;;;;;;;;;;336:42:0;1237:13:87;;996:18:102;;1237:30:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1214:53;;1331:20;1380:12;-1:-1:-1;;;;;1354:45:87;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1511:37;;-1:-1:-1;;;1511:37:87;;1227:2:102;1511:37:87;;;1209:21:102;1266:2;1246:18;;;1239:30;1305:25;1285:18;;;1278:53;1331:70:87;;-1:-1:-1;1479:29:87;;-1:-1:-1;;;;;;;;;;;336:42:0;1511:10:87;;1348:18:102;;1511:37:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1479:69;;1603:19;;:::i;:::-;1699:34;;-1:-1:-1;;;1699:34:87;;;;;352:25:102;;;-1:-1:-1;;;;;;;;;;;336:42:0;1699:11:87;;325:18:102;;1699:34:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1699:34:87;;;;;;;;;;;;:::i;:::-;1669:95;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;1669:95:87;;;;;;1632:132;;;1844:34;-1:-1:-1;;;1844:34:87;;;;;352:25:102;;;-1:-1:-1;;;;;;;;;;;336:42:0;1844:11:87;;325:18:102;;1844:34:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1844:34:87;;;;;;;;;;;;:::i;:::-;1803:76;;;;;;;;:::i;:::-;;;;;;;;;;;;;1774:4;:26;;:105;;;;1919:49;;;;;;;;;;;;;;-1:-1:-1;;;1919:49:87;;;1952:15;1919:11;:49::i;:::-;1978:43;;;;;;;;;;;;;;-1:-1:-1;;;1978:43:87;;;2008:12;1978:11;:43::i;:::-;2031;;;;;;;;;;;;;;-1:-1:-1;;;2031:43:87;;;2061:12;2031:11;:43::i;:::-;2084:58;;;;;;;;;;;;;;-1:-1:-1;;;2084:58:87;;;2119:4;:22;;;2084:11;:58::i;:::-;2152:68;;;;;;;;;;;;;;;;;;2193:4;:26;;;2152:11;:68::i;:::-;-1:-1:-1;;;;;2323:31:87;;;;;;;;;;2365:3129;;2485:43;;;;;;;;;;;;;;;;;;:11;:43::i;:::-;2542:60;;;;;;;;;;;;;;;;;;:11;:60::i;:::-;2616:83;;;;;;;;;;;;;;;;;;:11;:83::i;:::-;2759:53;;;;;;;;;;;;;;;;;;:11;:53::i;:::-;2826:37;;-1:-1:-1;;;2826:37:87;;;;;352:25:102;;;-1:-1:-1;;;;;;;;;;;336:42:0;2826:17:87;;325:18:102;;2826:37:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2877:32;2928:88;;;;;;;;;;;;;;;;;;3011:4;2928:23;:88::i;:::-;2877:139;;-1:-1:-1;;;;;;;;;;;;;;;;3030:16:87;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3062:68;;;;;;;;;;;;;;;;;;3105:24;3062:11;:68::i;:::-;3322:9;;;;;;;;3194:24;3322:9;;;3237:95;;;;3296:24;;3237:95;;;:::i;:::-;;;;-1:-1:-1;;3237:95:87;;;;;;;;;;;;;;;-1:-1:-1;;;;;3237:95:87;-1:-1:-1;;;3237:95:87;;;3422:55;;;;;;;;;;;;3237:95;;-1:-1:-1;3422:55:87;;;;;;;;:11;:55::i;:::-;3491:27;;-1:-1:-1;;;3491:27:87;;-1:-1:-1;;;;;5059:32:102;;3491:27:87;;;5041:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;3491:13:87;;5014:18:102;;3491:27:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3533:12;3547:19;3570:12;-1:-1:-1;;;;;3570:17:87;3588:11;3570:30;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3532:68;;;;-1:-1:-1;;;;;;;;;;;;;;;;3614:12:87;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3647:7;3643:308;;;3674:45;;;;;;;;;;;;;;;;;;:11;:45::i;:::-;3643:308;;;3758:41;;;;;;;;;;;;;;;;;;:11;:41::i;:::-;3817:42;;;;;;;;;;;-1:-1:-1;;;3817:42:87;;;;3839:19;;-1:-1:-1;;;3839:19:87;;3817:42;;;-1:-1:-1;;;;;;;;;;;336:42:0;3839:11:87;;:19;;3851:6;;3839:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3839:19:87;;;;;;;;;;;;:::i;:::-;3817:11;:42::i;:::-;3877:59;;-1:-1:-1;;;3877:59:87;;5722:2:102;3877:59:87;;;5704:21:102;5761:2;5741:18;;;5734:30;5800:34;5780:18;;;5773:62;-1:-1:-1;;;5851:18:102;;;5844:47;5908:19;;3877:59:87;;;;;;;;3643:308;4014:58;;;;;;;;;;;;;;;;;;:11;:58::i;:::-;4086:45;;;;;;;;;;;;;;-1:-1:-1;;;4086:45:87;;;4118:12;4086:11;:45::i;:::-;4145:58;;;;;;;;;;;-1:-1:-1;;;4145:58:87;;;;4178:24;;-1:-1:-1;;;4178:24:87;;4145:58;;;-1:-1:-1;;;;;;;;;;;336:42:0;4178:11:87;;:24;;4190:11;;4178:24;;;:::i;4145:58::-;4217:43;;;;;;;;;;;;;;-1:-1:-1;;;4217:43:87;;;4247:12;4217:11;:43::i;:::-;4274:39;;;;;;;;;;;;;;-1:-1:-1;;;4274:39:87;;;4299:13;4274:11;:39::i;:::-;4327:90;;;;;;;;;;;;;;;;;;:11;:90::i;:::-;4431:85;;;;;;;;;;;;;;;;;;4491:24;4431:11;:85::i;:::-;2388:2139;;;;2365:3129;;;4601:46;;;;;;;;;;;;;;;;;;:11;:46::i;:::-;4661:52;;;;;;;;;;;;;;;;;;:11;:52::i;:::-;4727:41;;;;;;;;;;;;;;;;;;:11;:41::i;:::-;4859:37;;-1:-1:-1;;;4859:37:87;;;;;352:25:102;;;-1:-1:-1;;;;;;;;;;;336:42:0;4859:17:87;;325:18:102;;4859:37:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4944:141;4983:12;4944:141;;;;;;;;;;;;;;;;;5056:9;;;;;;;;;;;;5067:4;4944:21;:141::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;5100:16:87;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5171:40;;;;;;;;;;;;;;;;;;:11;:40::i;:::-;5225:43;;;;;;;;;;;;;;-1:-1:-1;;;5225:43:87;;;5255:12;5225:11;:43::i;:::-;5282:91;;;;;;;;;;;;;;;;;;5325:47;5359:12;5325:33;:47::i;:::-;5282:11;:91::i;:::-;5387:39;;;;;;;;;;;;;;-1:-1:-1;;;5387:39:87;;;5412:13;5387:11;:39::i;:::-;5440:43;;;;;;;;;;;;;;-1:-1:-1;;;5440:43:87;;;5470:12;5440:11;:43::i;:::-;1033:4467;;;;;;;1009:4491::o;5665:226::-;5766:24;;-1:-1:-1;;;5766:24:87;;6140:2:102;5766:24:87;;;6122:21:102;6179:1;6159:18;;;6152:29;-1:-1:-1;;;6197:18:102;;;6190:38;5722:7:87;;;;-1:-1:-1;;;;;;;;;;;336:42:0;5766:12:87;;6245:18:102;;5766:24:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5766:24:87;;;;;;;;;;;;:::i;:::-;5859:25;;-1:-1:-1;;;5859:25:87;;5741:49;;-1:-1:-1;;;;;;;;;;;;336:42:0;5859:12:87;;:25;;5741:49;;5882:1;;5859:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5852:32;;;5665:226;:::o;7740:145:16:-;7807:71;7870:2;7874;7823:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7823:54:16;;;;;;;;;;;;;;-1:-1:-1;;;;;7823:54:16;-1:-1:-1;;;7823:54:16;;;7807:15;:71::i;:::-;7740:145;;:::o;7439:150::-;7512:70;7574:2;7578;7528:53;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7528:53:16;;;;;;;;;;;;;;-1:-1:-1;;;;;7528:53:16;-1:-1:-1;;;7528:53:16;;;7512:15;:70::i;6191:121::-;6246:59;6301:2;6262:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6262:42:16;;;;;;;;;;;;;;-1:-1:-1;;;;;6262:42:16;-1:-1:-1;;;6262:42:16;;;6246:15;:59::i;:::-;6191:121;:::o;18362:163:67:-;18453:7;18479:39;18499:12;18513:4;18479:19;:39::i;:::-;18472:46;;18362:163;;;;;:::o;7139:145:16:-;7206:71;7269:2;7273;7222:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7222:54:16;;;;;;;;;;;;;;-1:-1:-1;;;;;7222:54:16;-1:-1:-1;;;7222:54:16;;;7206:15;:71::i;5681:181:67:-;5805:50;5823:5;5830:12;5844:4;5850;5805:17;:50::i;:::-;5681:181;;;;:::o;19099:141::-;19171:7;19197:36;19227:5;19197:29;:36::i;851:129:16:-;922:51;965:7;934:29;922:51::i;11466:217:68:-;11557:7;11576:35;11592:12;11606:4;11576:15;:35::i;:::-;11628:48;11635:12;11649:4;:20;;;11671:4;11628:6;:48::i;1532:229::-;1656:15;1674:34;1689:12;1703:4;1674:14;:34::i;:::-;1656:52;;1718:36;1733:5;1740:7;1749:4;1718:14;:36::i;:::-;1646:115;1532:229;;;;:::o;12368:250::-;12524:35;;-1:-1:-1;;;12524:35:68;;-1:-1:-1;;;;;8011:32:102;;12524:35:68;;;7993:51:102;13749:66:68;8060:18:102;;;8053:34;12440:7:68;;-1:-1:-1;;;;;;;;;;;861:42:71;12440:7:68;;861:42:71;;12524:7:68;;7966:18:102;;12524:35:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12505:54;12368:250;-1:-1:-1;;;;12368:250:68:o;180:463:16:-;265:22;131:42;265:40;;594:1;571;541:7;535:14;510:2;501:7;497:16;461:14;434:5;402:211;381:246;367:270;180:463;:::o;10569:135:68:-;10662:35;10672:12;10686:4;10692;10662:9;:35::i;20042:380::-;20208:13;;;;:31;20185:7;;20204:212;;;20262:67;20284:12;20298:15;20315:4;:13;;;20262:21;:67::i;:::-;20255:74;;;;20204:212;20367:38;20375:12;20389:15;20367:7;:38::i;20204:212::-;20042:380;;;;;:::o;3706:991::-;3866:26;;-1:-1:-1;;;3866:26:68;;-1:-1:-1;;;;;8011:32:102;;3866:26:68;;;7993:51:102;14007:66:68;8060:18:102;;;8053:34;-1:-1:-1;;;;;;;;;;;861:42:71;3800:5:68;;861:42:71;;3866:7:68;;7966:18:102;;3866:26:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3846:46;-1:-1:-1;3846:46:68;3902:789;;3945:37;3985:33;4012:5;3985:26;:33::i;:::-;3945:73;;4036:38;;;;;;;;;;;;;;-1:-1:-1;;;4036:38:68;;;:23;:29;;:38;;;;:::i;:::-;:57;;;;4092:1;4078:4;:11;:15;4036:57;4032:234;;;4113:56;;-1:-1:-1;;;4113:56:68;;-1:-1:-1;;;;;4113:41:68;;;;;:56;;4155:7;;4164:4;;4113:56;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4032:234;;;4208:43;;-1:-1:-1;;;4208:43:68;;-1:-1:-1;;;;;5059:32:102;;;4208:43:68;;;5041:51:102;4208:34:68;;;;;5014:18:102;;4208:43:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4032:234;3931:345;3902:789;;;4336:9;4296:13;4402:33;4336:9;4402:26;:33::i;:::-;4362:73;;4453:38;;;;;;;;;;;;;;-1:-1:-1;;;4453:38:68;;;:23;:29;;:38;;;;:::i;:::-;:57;;;;4509:1;4495:4;:11;:15;4453:57;4449:232;;;4530:55;;-1:-1:-1;;;4530:55:68;;-1:-1:-1;;;;;4530:33:68;;;;;:55;;4564:5;;4571:7;;4580:4;;4530:55;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4449:232;4624:42;;-1:-1:-1;;;4624:42:68;;-1:-1:-1;;;;;8895:32:102;;;4624:42:68;;;8877:51:102;8964:32;;;8944:18;;;8937:60;4624:26:68;;;;;8850:18:102;;4624:42:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4282:409;;3790:907;;3706:991;;;:::o;15903:1676::-;16016:4;:24;;;16012:61;;;15903:1676;;;:::o;16012:61::-;16083:22;16108:58;16129:12;16143:4;16149:16;16108:20;:58::i;:::-;16083:83;;16176:26;16205:30;16228:6;16205:22;:30::i;:::-;16275:13;;;;16444:15;;16176:59;;-1:-1:-1;16275:13:68;-1:-1:-1;;;;;;;;;;;861:42:71;16444:20:68;;16245;16444;16440:1133;;16585:30;;-1:-1:-1;;;16585:30:68;;-1:-1:-1;;;;;16585:11:68;;;;;:30;;16597:6;;16585:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16581:372;;;16639:13;;;;:20;:24;16635:156;;16738:34;16757:6;:13;;;16738:11;:34::i;16581:372::-;16929:6;16867:69;;;;;;;;:::i;:::-;;;;-1:-1:-1;;16867:69:68;;;;;;;;;;-1:-1:-1;;;16853:85:68;;;;;;;:::i;16440:1133::-;16987:29;;-1:-1:-1;;;16987:29:68;;-1:-1:-1;;;;;16987:11:68;;;;;:29;;16999:6;;16987:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16983:580;;;17040:13;;;;:20;:24;17036:156;;17139:34;17158:6;:13;;;17139:11;:34::i;:::-;17355:6;17299:63;;;;;;;;:::i;16983:580::-;17531:6;:13;;;17462:84;;;;;;;;:::i;596:1052:69:-;755:7;774:20;797:17;:15;:17::i;:::-;774:40;;824:32;859:43;881:12;895:6;859:21;:43::i;:::-;824:78;;912:27;942:129;978:12;:27;;;1019:12;:22;;;1055:6;942:22;:129::i;:::-;912:159;;1082:22;1107:78;1126:12;1140:13;1155:15;1172:12;1107:18;:78::i;:::-;1082:103;;1196:26;1225:30;1248:6;1225:22;:30::i;:::-;1295:13;;;;1324:15;;1196:59;;-1:-1:-1;1295:13:69;1324:20;;;1320:156;;1421:12;1448:6;:13;;;1374:89;;;;;;;;;:::i;1320:156::-;1486:29;1518:49;;;;;;;;;;;;;;-1:-1:-1;;;1518:49:69;;;1554:6;1562:4;1518:10;:49::i;:::-;1584:57;;-1:-1:-1;;;1584:57:69;;1486:81;;-1:-1:-1;;;;;;;;;;;;861:42:71;1584:40:69;;:57;;1486:81;;1584:57;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1577:64;596:1052;-1:-1:-1;;;;;;;;;;;596:1052:69:o;20428:745:68:-;20567:49;;-1:-1:-1;;;20567:49:68;;20520:7;;;;-1:-1:-1;;;;;;;;;;;861:42:71;20567:35:68;;:49;;20603:12;;20567:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20567:49:68;;;;;;;;;;;;:::i;:::-;20539:77;;20626:23;20652:68;20689:12;20703:15;20672:47;;;;;;;;;:::i;:::-;;;;;;;;;;;;;20652:19;:68::i;:::-;20626:94;-1:-1:-1;;;;;;20734:29:68;;20730:405;;20927:12;21025:15;20831:261;;;;;;;;;:::i;14679:488::-;14944:54;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14944:54:68;-1:-1:-1;;;14944:54:68;;;14915:93;;14752:13;;14874:12;;;;-1:-1:-1;;;;;14915:15:68;;;:93;;14944:54;14915:93;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14873:135;;;;15022:7;:33;;;;;15053:2;15033:10;:17;:22;15022:33;15018:143;;;15089:10;15078:32;;;;;;;;;;;;:::i;15018:143::-;-1:-1:-1;;15141:9:68;;;;;;;;;-1:-1:-1;15141:9:68;;;14679:488;-1:-1:-1;;14679:488:68:o;4420:182:57:-;4492:4;4540:1;4534:15;4521:1;4515:15;:34;:80;;;;-1:-1:-1;;4576:19:57;;;;;;;4553;;;;;;;;;;:42;;4420:182::o;17585:2451:68:-;17740:15;17767:20;17790:17;:15;:17::i;:::-;17849:21;;;17862:7;17849:21;;;;;;;;;17767:40;;-1:-1:-1;17818:28:68;;17849:21;;;;;;;;;;;;;;;;;;-1:-1:-1;;17904:25:68;;;;;;;;;;;;-1:-1:-1;;;17904:25:68;;;;17818:52;;-1:-1:-1;;;17818:52:68;-1:-1:-1;17917:3:68;-1:-1:-1;17917:3:68;:::i;:::-;;;17904:17;;;;;;;;;;:::i;:::-;;;;;;:25;;;;18015:22;;;;;;;;;;;;;-1:-1:-1;;;18015:22:68;;;17966:72;;;;;;;;:::i;:::-;;;;;;;;;;;;;17939:12;17952:3;;;;;:::i;:::-;;;17939:17;;;;;;;;;;:::i;:::-;;;;;;:100;;;;18049:30;;;;;;;;;;;;;-1:-1:-1;;;18049:30:68;;;:12;18062:3;;;;;:::i;:::-;;;18049:17;;;;;;;;;;:::i;:::-;;;;;;:30;;;;18133:6;18116:39;;;;;;;;:::i;:::-;;;;;;;;;;;;;18089:12;18102:3;;;;;:::i;:::-;;;18089:17;;;;;;;;;;:::i;:::-;;;;;;:67;;;;18166:32;;;;;;;;;;;;;-1:-1:-1;;;18166:32:68;;;:12;18179:3;;;;;:::i;:::-;;;18166:17;;;;;;;;;;:::i;:::-;;;;;;:32;;;;18228:49;18256:12;18270:6;18228:27;:49::i;:::-;18208:12;18221:3;;;;:::i;:::-;;;18208:17;;;;;;;;;;:::i;:::-;;;;;;;;;;;:69;;;;18322:22;;18316:36;18405:26;;;;18399:40;18316:41;;;;;18399:45;;;18455:352;;18495:26;18524:24;:143;;18636:22;;18608:59;;18660:6;18608:27;:59::i;:::-;18524:143;;;18567:22;;18524:143;18495:172;;18681:33;;;;;;;;;;;;;-1:-1:-1;;;18681:33:68;;;:12;18694:3;;;;;:::i;:::-;;;18681:17;;;;;;;;;;:::i;:::-;;;;;;:33;;;;18777:12;18755:40;;;;;;;;:::i;:::-;;;;;;;;;;;;;18728:12;18741:3;;;;;:::i;:::-;;;18728:17;;;;;;;;;;:::i;:::-;;;;;;:68;;;;18481:326;18455:352;18821:24;18817:197;;;18861:46;;;;;;;;;;;;;;;;;:12;18874:3;;;;:::i;:::-;;;18861:17;;;;;;;;;;:::i;:::-;;;;;;:46;;;;18970:4;:26;;;18948:54;;;;;;;;:::i;:::-;;;;;;;;;;;;;18921:12;18934:3;;;;;:::i;:::-;;;18921:17;;;;;;;;;;:::i;:::-;;;;;;:82;;;;18817:197;19029:7;19024:302;19046:4;:12;;;:19;19042:1;:23;;;19024:302;;;19086:21;19110:4;:12;;;19123:1;19110:15;;;;;;;;;;:::i;:::-;;;;;;;19086:39;;19149:7;19143:21;19168:1;19143:26;19139:177;;19189:31;;;;;;;;;;;;-1:-1:-1;;;19189:31:68;;;;:12;19202:3;;;;:::i;:::-;;;19189:17;;;;;;;;;;:::i;:::-;;;;;;:31;;;;19287:7;19265:35;;;;;;;;:::i;:::-;;;;;;;;;;;;;19238:12;19251:3;;;;;:::i;:::-;;;19238:17;;;;;;;;;;:::i;:::-;;;;;;:63;;;;19139:177;-1:-1:-1;19067:3:68;;;;:::i;:::-;;;;19024:302;;;;19340:4;:27;;;19336:197;;;19383:46;;;;;;;;;;;;;;;;;:12;19396:3;;;;:::i;:::-;;;19383:17;;;;;;;;;;:::i;:::-;;;;;;:46;;;;19336:197;;;19450:16;19446:87;;;19482:40;;;;;;;;;;;;-1:-1:-1;;;19482:40:68;;;;:12;19495:3;;;;:::i;:::-;;;19482:17;;;;;;;;;;:::i;:::-;;;;;;:40;;;;19446:87;19553:16;;;;19547:30;:35;19543:151;;19598:35;;;;;;;;;;;;-1:-1:-1;;;19598:35:68;;;;:12;19611:3;;;;:::i;:::-;;;19598:17;;;;;;;;;;:::i;:::-;;;;;;:35;;;;19667:4;:16;;;19647:12;19660:3;;;;;:::i;:::-;;;19647:17;;;;;;;;;;:::i;:::-;;;;;;:36;;;;19543:151;19708:4;:23;;;19704:96;;;19747:42;;;;;;;;;;;;-1:-1:-1;;;19747:42:68;;;;:12;19760:3;;;;:::i;:::-;;;19747:17;;;;;;;;;;:::i;:::-;;;;;;:42;;;;19704:96;19873:22;19911:1;19898:15;;-1:-1:-1;;;;;19898:15:68;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19873:40:68;-1:-1:-1;19928:8:68;19923:83;19946:1;19942:5;;:1;:5;;;19923:83;;;19980:12;19993:1;19980:15;;;;;;;;;;:::i;:::-;;;;;;;19968:6;19975:1;19968:9;;;;;;;;;;:::i;:::-;;;;;;;;;;:27;19949:3;;19923:83;;;-1:-1:-1;20023:6:68;17585:2451;-1:-1:-1;;;;;;;;;17585:2451:68:o;8232:1237:71:-;8300:19;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;8300:19:71;8370:38;;;;;;;;;;;;-1:-1:-1;;;8370:38:71;;;;8443:51;;-1:-1:-1;;;8443:51:71;;-1:-1:-1;;;;;;;;;;;861:42:71;8331:5;;861:42;;8443:8;;:51;;8370:38;;8443:51;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8443:51:71;;;;;;;;;;;;:::i;:::-;8418:76;;8505:27;8535:31;8549:6;8557:8;8535:13;:31::i;:::-;8505:61;;8576:26;8605:2;-1:-1:-1;;;;;8605:9:71;;8615:11;8605:22;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8605:22:71;;;;;;;;;;;;:::i;:::-;8641:15;;8576:51;;-1:-1:-1;8641:20:71;;;;;;:49;;-1:-1:-1;8665:13:71;;;;:20;:25;8641:49;:78;;;;-1:-1:-1;8694:13:71;;;;:20;:25;8641:78;8637:826;;;8996:11;9008:1;8996:14;;;;;;;;:::i;:::-;;;;;;;8893:483;;;;;;;;:::i;8637:826::-;9446:6;8232:1237;-1:-1:-1;;;;;;8232:1237:71:o;4994:206::-;5103:35;;;;;;;;;;;-1:-1:-1;;;5103:35:71;;;;5155:38;;-1:-1:-1;;;5155:38:71;;5038:13;;-1:-1:-1;;;;;;;;;;;861:42:71;;;5155:8;;:38;;5103:35;;5155:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5155:38:71;;;;;;;;;;;;:::i;:::-;5148:45;;;;4994:206;:::o;2078:1403::-;2198:19;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2198:19:71;2229:5;-1:-1:-1;;;;;;;;;;;2229:29:71;;2269:24;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2269:24:71;2321:26;2334:12;2321;:26::i;:::-;2304:14;;;:43;2358:22;2383:25;2395:12;2383:11;:25::i;:::-;2358:50;;2419:26;2485:2;-1:-1:-1;;;;;2485:14:71;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2485:16:71;;;;;;;;;;;;:::i;:::-;2508:6;2521:8;2536:4;:14;;;2468:92;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2468:92:71;;;;;;;;;;-1:-1:-1;;;2609:25:71;;2468:92;-1:-1:-1;2580:26:71;;-1:-1:-1;;;;;2609:11:71;;;;;:25;;2468:92;;2609:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2609:25:71;;;;;;;;;;;;:::i;:::-;2650:38;;-1:-1:-1;;;2650:38:71;;2580:54;;-1:-1:-1;;;;;;2650:16:71;;;;;:38;;2580:54;;2650:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2645:351;;2857:12;2756:197;;;;;;;;:::i;2645:351::-;3025:53;;-1:-1:-1;;;3025:53:71;;-1:-1:-1;;;;;3025:18:71;;;;;:53;;3044:12;;3025:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3025:53:71;;;;;;;;;;;;:::i;:::-;3005:73;;3092:46;;-1:-1:-1;;;3092:46:71;;-1:-1:-1;;;;;3092:16:71;;;;;:46;;3109:12;;3092:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3088:140;;;3169:48;;-1:-1:-1;;;3169:48:71;;-1:-1:-1;;;;;3169:18:71;;;;;:48;;3188:12;;3169:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3169:48:71;;;;;;;;;;;;:::i;:::-;3154:12;;;:63;3088:140;3259:2;-1:-1:-1;;;;;3259:18:71;;3291:12;3365:4;:17;;;3324:75;;;;;;;;:::i;:::-;;;;;;;;;;;;;3259:151;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3259:151:71;;;;;;;;;;;;:::i;:::-;3237:19;;;:173;-1:-1:-1;3420:17:71;;;:32;-1:-1:-1;3237:19:71;2078:1403;-1:-1:-1;;;;2078:1403:71:o;3965:893::-;4169:15;;;4182:1;4169:15;;;;;;;;;4119:13;;4144:22;;4169:15;;;;;;;;;;;;;;;;;;;;;4144:40;;4194:18;;;;;;;;;;;;;-1:-1:-1;;;4194:18:71;;;:6;4201:1;4194:9;;;;;;;;:::i;:::-;;;;;;:18;;;;4222:17;;;;;;;;;;;;;-1:-1:-1;;;4222:17:71;;;:6;4229:1;4222:9;;;;;;;;:::i;:::-;;;;;;:17;;;;4290:14;4268:42;;;;;;;;:::i;:::-;;;;;;;;;;;;;4249:6;4256:1;4249:9;;;;;;;;:::i;:::-;;;;;;:62;;;;4357:6;4340:39;;;;;;;;:::i;:::-;;;;;;;;;;;;;4321:6;4328:1;4321:9;;;;;;;;:::i;:::-;;;;;;:59;;;;4391:26;4420:24;4437:6;4420:16;:24::i;:::-;4391:53;;4454:20;4484:6;:13;;;4454:44;;4514:24;;;;;;;;;;;;;;-1:-1:-1;;;4514:24:71;;;:6;:15;;:24;;;;:::i;:::-;4509:319;;4751:12;4606:179;;;;;;;;:::i;1654:3874:69:-;1956:24;;;;1950:38;1873:15;;-1:-1:-1;;;;;;;;;;;861:42:71;1950:43:69;1946:409;;2013:12;:33;;;2009:336;;;2066:98;;-1:-1:-1;;;2066:98:69;;23197:2:102;2066:98:69;;;23179:21:102;23236:2;23216:18;;;23209:30;23275:34;23255:18;;;23248:62;23346:34;23326:18;;;23319:62;23418:26;23397:19;;;23390:55;23462:19;;2066:98:69;22995:492:102;2009:336:69;2189:12;:28;;;2185:160;;;2237:93;;-1:-1:-1;;;2237:93:69;;23694:2:102;2237:93:69;;;23676:21:102;23733:2;23713:18;;;23706:30;23772:34;23752:18;;;23745:62;23843:34;23823:18;;;23816:62;-1:-1:-1;;;23894:19:102;;;23887:50;23954:19;;2237:93:69;23492:487:102;2185:160:69;2396:17;;;2409:3;2396:17;;;;;;;;;2365:28;;2396:17;;;;;;;;;;;;;;;;;-1:-1:-1;;2446:25:69;;;;;;;;;;;;-1:-1:-1;;;2446:25:69;;;;2365:48;;-1:-1:-1;;;2365:48:69;-1:-1:-1;2459:3:69;-1:-1:-1;2459:3:69;:::i;:::-;;;2446:17;;;;;;;;;;:::i;:::-;;;;;;:25;;;;2583:35;;;;;;;;;;;;;-1:-1:-1;;;2583:35:69;;;2521:98;;;;;;;;:::i;:::-;;;;;;;;;;;;;2481:12;2494:3;;;;;:::i;:::-;;;2481:17;;;;;;;;;;:::i;:::-;;;;;;:148;;;;2639:28;;;;;;;;;;;;;-1:-1:-1;;;2639:28:69;;;:12;2652:3;;;;;:::i;:::-;;;2639:17;;;;;;;;;;:::i;:::-;;;;;;:28;;;;2677:36;;;;;;;;;;;;;-1:-1:-1;;;2677:36:69;;;:12;2690:3;;;;;:::i;:::-;;;2677:17;;;;;;;;;;:::i;:::-;;;;;;:36;;;;2743:12;:22;;;2723:12;2736:3;;;;;:::i;:::-;;;2723:17;;;;;;;;;;:::i;:::-;;;;;;:42;;;;2775:36;;;;;;;;;;;;;-1:-1:-1;;;2775:36:69;;;:12;2788:3;;;;;:::i;:::-;;;2775:17;;;;;;;;;;:::i;:::-;;;;;;;;;;:36;2841:25;;2821:12;2834:3;;;;:::i;:::-;;;2821:17;;;;;;;;;;:::i;:::-;;;;;;:45;;;;2876:31;;;;;;;;;;;;;-1:-1:-1;;;2876:31:69;;;:12;2889:3;;;;;:::i;:::-;;;2876:17;;;;;;;;;;:::i;:::-;;;;;;:31;;;;2937;2954:13;2937:16;:31::i;:::-;2917:12;2930:3;;;;:::i;:::-;;;2917:17;;;;;;;;;;:::i;:::-;;;;;;:51;;;;2978:37;;;;;;;;;;;;;-1:-1:-1;;;2978:37:69;;;:12;2991:3;;;;;:::i;:::-;;;2978:17;;;;;;;;;;:::i;:::-;;;;;;:37;;;;3045:13;3025:12;3038:3;;;;;:::i;:::-;;;3025:17;;;;;;;;;;:::i;:::-;;;;;;;;;;:33;3072:22;;:26;3068:162;;3114:43;;;;;;;;;;;;-1:-1:-1;;;3114:43:69;;;;:12;3127:3;;;;:::i;:::-;;;3114:17;;;;;;;;;;:::i;:::-;;;;;;;;;;:43;3191:28;;-1:-1:-1;;;3191:28:69;;-1:-1:-1;;;;;3191:11:69;;;;;:28;;3203:15;;3191:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3191:28:69;;;;;;;;;;;;:::i;:::-;3171:12;3184:3;;;;:::i;:::-;;;3171:17;;;;;;;;;;:::i;:::-;;;;;;:48;;;;3068:162;3243:12;:33;;;3239:596;;;3292:40;;;;;;;;;;;;-1:-1:-1;;;3292:40:69;;;;:12;3305:3;;;;:::i;:::-;;;3292:17;;;;;;;;;;:::i;:::-;;;;;;:40;;;;3346:27;;;;;;;;;;;;;-1:-1:-1;;;3346:27:69;;;:12;3359:3;;;;;:::i;:::-;;;3346:17;;;;;;;;;;:::i;:::-;;;;;;:27;;;;3239:596;;;3400:24;;;;3394:38;:43;3390:445;;3453:35;;;;;;;;;;;;-1:-1:-1;;;3453:35:69;;;;:12;3466:3;;;;:::i;:::-;;;3453:17;;;;;;;;;;:::i;:::-;;;;;;:35;;;;3551:12;:24;;;3529:52;;;;;;;;:::i;:::-;;;;;;;;;;;;;3502:12;3515:3;;;;;:::i;3390:445::-;3604:12;:28;;;3603:29;:72;;;;-1:-1:-1;3642:20:69;;;;3636:34;:39;;3603:72;3599:236;;;3691:35;;;;;;;;;;;;-1:-1:-1;;;3691:35:69;;;;:12;3704:3;;;;:::i;:::-;;;3691:17;;;;;;;;;;:::i;:::-;;;;;;:35;;;;3789:28;3804:12;3789:14;:28::i;:::-;3767:56;;;;;;;;:::i;:::-;;;;;;;;;;;;;3740:12;3753:3;;;;;:::i;:::-;;;3740:17;;;;;;;;;;:::i;:::-;;;;;;:84;;;;3599:236;3854:22;;;;3848:36;:41;3844:161;;3905:33;;;;;;;;;;;;-1:-1:-1;;;3905:33:69;;;;:12;3918:3;;;;:::i;:::-;;;3905:17;;;;;;;;;;:::i;:::-;;;;;;:33;;;;3972:12;:22;;;3952:12;3965:3;;;;;:::i;:::-;;;3952:17;;;;;;;;;;:::i;:::-;;;;;;:42;;;;3844:161;4018:17;;;;:22;4014:145;;4056:28;;;;;;;;;;;;-1:-1:-1;;;4056:28:69;;;;:12;4069:3;;;;:::i;:::-;;;4056:17;;;;;;;;;;:::i;:::-;;;;;;;;;;:28;4130:17;;;;4118:30;;-1:-1:-1;;;4118:30:69;;;;;352:25:102;;;;-1:-1:-1;;;;;4118:11:69;;;;;325:18:102;;4118:30:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4118:30:69;;;;;;;;;;;;:::i;:::-;4098:12;4111:3;;;;:::i;:::-;;;4098:17;;;;;;;;;;:::i;:::-;;;;;;:50;;;;4014:145;4172:24;;;;:33;:38;4168:186;;4226:32;;;;;;;;;;;;-1:-1:-1;;;4226:32:69;;;;:12;4239:3;;;;:::i;:::-;;;4226:17;;;;;;;;;;:::i;:::-;;;;;;:32;;;;4292:51;4309:12;:24;;;:33;;;4292:16;:51::i;:::-;4272:12;4285:3;;;;:::i;:::-;;;4272:17;;;;;;;;;;:::i;:::-;;;;;;:71;;;;4168:186;4367:24;;;;:33;;;:38;4363:186;;4421:32;;;;;;;;;;;;-1:-1:-1;;;4421:32:69;;;;:12;4434:3;;;;:::i;:::-;;;4421:17;;;;;;;;;;:::i;:::-;;;;;;:32;;;;4487:51;4504:12;:24;;;:33;;;4487:16;:51::i;:::-;4467:12;4480:3;;;;:::i;:::-;;;4467:17;;;;;;;;;;:::i;:::-;;;;;;:71;;;;4363:186;4562:24;;;;:37;;;:42;4558:198;;4620:36;;;;;;;;;;;;-1:-1:-1;;;4620:36:69;;;;:12;4633:3;;;;:::i;:::-;;;4620:17;;;;;;;;;;:::i;:::-;;;;;;:36;;;;4690:55;4707:12;:24;;;:37;;;4690:16;:55::i;:::-;4670:12;4683:3;;;;:::i;:::-;;;4670:17;;;;;;;;;;:::i;:::-;;;;;;:75;;;;4558:198;4769:24;;;;:45;;;:50;4765:222;;4835:44;;;;;;;;;;;;-1:-1:-1;;;4835:44:69;;;;:12;4848:3;;;;:::i;:::-;;;4835:17;;;;;;;;;;:::i;:::-;;;;;;:44;;;;4913:63;4930:12;:24;;;:45;;;4913:16;:63::i;:::-;4893:12;4906:3;;;;:::i;:::-;;;4893:17;;;;;;;;;;:::i;:::-;;;;;;:83;;;;4765:222;5006:21;;;;5000:35;:40;4996:218;;5056:32;;;;;;;;;;;;-1:-1:-1;;;5056:32:69;;;;:12;5069:3;;;;:::i;:::-;;;5056:17;;;;;;;;;;:::i;:::-;;;;;;;;;;:32;5162:21;;;;5151:45;;-1:-1:-1;;;5151:45:69;;-1:-1:-1;;;;;5151:10:69;;;;;:45;;5162:21;5151:45;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5151:45:69;;;;;;;;;;;;:::i;:::-;5129:73;;;;;;;;:::i;:::-;;;;;;;;;;;;;5102:12;5115:3;;;;;:::i;:::-;;;5102:17;;;;;;;;;;:::i;:::-;;;;;;:101;;;;4996:218;5223:30;;;;;;;;;;;;-1:-1:-1;;;5223:30:69;;;;:12;5236:3;;;;:::i;:::-;;;5223:17;;;;;;;;;;:::i;:::-;;;;;;:30;;;;5263:29;;;;;;;;;;;;;-1:-1:-1;;;5263:29:69;;;:12;5276:3;;;;;:::i;:::-;;;5263:17;;;;;;;;;;:::i;:::-;;;;;;:29;;;;5366:22;5404:1;5391:15;;-1:-1:-1;;;;;5391:15:69;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5366:40:69;-1:-1:-1;5421:7:69;5416:82;5438:1;5434:5;;:1;:5;;;5416:82;;;5472:12;5485:1;5472:15;;;;;;;;;;:::i;:::-;;;;;;;5460:6;5467:1;5460:9;;;;;;;;;;:::i;:::-;;;;;;;;;;:27;5441:3;;5416:82;;;-1:-1:-1;5515:6:69;1654:3874;-1:-1:-1;;;;;;;;1654:3874:69:o;9087:1152::-;9295:35;;-1:-1:-1;;;9295:35:69;;9221:13;;-1:-1:-1;;;;;;;;;;;861:42:71;;;9295:11:69;;:35;;9307:6;;9315:14;;9295:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9291:942;;;9423:32;;-1:-1:-1;;;9423:32:69;;9396:24;;-1:-1:-1;;;;;9423:8:69;;;;;:32;;9432:6;;9440:14;;9423:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9423:32:69;;;;;;;;;;;;:::i;:::-;9396:59;;9491:1;9473:8;:15;:19;9469:395;;;9688:14;9777:6;9572:237;;;;;;;;;:::i;9469:395::-;9877:20;9900:8;9909:1;9900:11;;;;;;;;:::i;:::-;;;;;;;9877:34;;9972:2;-1:-1:-1;;;;;9972:8:69;;9981:6;9972:22;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9972:22:69;;;;;;;;;;;;:::i;:::-;9995:1;9972:25;;;;;;;;:::i;:::-;;;;;;;9965:32;;;;;;;9291:942;10018:8;10014:219;;;10127:14;10160:6;10073:94;;;;;;;;;:::i;10014:219::-;-1:-1:-1;;10213:9:69;;;;;;;;;-1:-1:-1;10213:9:69;;;;21179:266:68;21248:7;21267:12;21398:8;21392:15;21387:2;21377:8;21373:17;21370:1;21363:45;21355:53;21179:266;-1:-1:-1;;;21179:266:68:o;1338:303:71:-;1464:13;1489:24;1516:37;1532:12;1546:6;1516:15;:37::i;:::-;1594:17;;1618:14;;;;;1577:56;;1489:64;;-1:-1:-1;1577:56:71;;1618:14;;1577:56;;:::i;:::-;;;;;;;;;;;;;1563:71;;;1338:303;;;;:::o;7388:595::-;7482:15;;7551:6;7546:266;7567:6;:13;7563:1;:17;7546:266;;;7641:13;7656:6;7663:1;7656:9;;;;;;;;:::i;:::-;;;;;;;7624:42;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7601:66;;7706:1;7690:6;:13;:17;;;;:::i;:::-;7685:1;:22;7681:121;;7767:13;7750:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;7727:60;;7681:121;7582:3;;7546:266;;;-1:-1:-1;7847:15:71;;;7860:1;7847:15;;;;;;;;;7822:22;;7847:15;;;;;;;;;;;;;;;;;;;;7822:40;;7884:8;7872:6;7879:1;7872:9;;;;;;;;:::i;:::-;;;;;;:20;;;;7902:16;;;;;;;;;;;;;-1:-1:-1;;;7902:16:71;;;:6;7909:1;7902:9;;;;;;;;:::i;:::-;;;;;;:16;;;;7940:13;7928:6;7935:1;7928:9;;;;;;;;:::i;:::-;;;;;;;;;;:25;7970:6;7388:595;-1:-1:-1;;;;7388:595:71:o;6079:937::-;6211:21;;;;;;;;;;;;-1:-1:-1;;;6211:21:71;;;;6143:13;;-1:-1:-1;;;;;;;;;;;861:42:71;6211:21;;:4;;:13;:21::i;:::-;:48;;;;-1:-1:-1;6236:18:71;;;;;;;;;;;;-1:-1:-1;;;6236:18:71;;;;;;:4;;:10;:18::i;:::-;6258:1;6236:23;6211:48;6207:803;;;6282:28;;-1:-1:-1;;;6282:28:71;;-1:-1:-1;;;;;6282:10:71;;;;;:28;;6293:4;;6282:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6282:28:71;;;;;;;;;;;;:::i;6207:803::-;6331:15;;;;;;;;;;;;-1:-1:-1;;;6331:15:71;;;;;;:4;;:10;:15::i;:::-;6350:1;6331:20;6327:683;;6374:19;;-1:-1:-1;;;6374:19:71;;-1:-1:-1;;;;;6374:8:71;;;;;:19;;6383:4;;6374:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6374:19:71;;;;;;;;;;;;:::i;:::-;6394:1;6374:22;;;;;;;;:::i;:::-;;;;;;;6367:29;;;6079:937;;;:::o;6327:683::-;6417:22;;;;;;;;;;;;-1:-1:-1;;;6417:22:71;;;;;;:4;;:13;:22::i;:::-;:50;;;;-1:-1:-1;6443:19:71;;;;;;;;;;;;-1:-1:-1;;;6443:19:71;;;;;;:4;;:10;:19::i;:::-;6466:1;6443:24;6417:50;6413:597;;;6507:19;;-1:-1:-1;;;6507:19:71;;6483:21;;-1:-1:-1;;;;;6507:8:71;;;;;:19;;6516:4;;6507:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6507:19:71;;;;;;;;;;;;:::i;:::-;6483:43;;6540:22;6565:5;6586:1;6571:5;:12;:16;;;;:::i;:::-;6565:23;;;;;;;;:::i;:::-;;;;;;;6540:48;;6609:2;-1:-1:-1;;;;;6609:10:71;;6620:8;6609:33;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6609:33:71;;;;;;;;;;;;:::i;:::-;6602:40;6079:937;-1:-1:-1;;;;;6079:937:71:o;6413:597::-;6809:4;6725:242;;;;;;;;:::i;5206:867::-;5337:21;;;;;;;;;;;;-1:-1:-1;;;5337:21:71;;;;5269:13;;-1:-1:-1;;;;;;;;;;;861:42:71;5337:21;;:4;;:13;:21::i;:::-;5333:734;;;-1:-1:-1;5381:4:71;;5206:867;-1:-1:-1;5206:867:71:o;5333:734::-;5406:15;;;;;;;;;;;;-1:-1:-1;;;5406:15:71;;;;;;:4;;:10;:15::i;:::-;5425:1;5406:20;5402:665;;5449:19;;-1:-1:-1;;;5449:19:71;;-1:-1:-1;;;;;5449:8:71;;;;;:19;;5458:4;;5449:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5449:19:71;;;;;;;;;;;;:::i;:::-;5469:1;5449:22;;;;;;;;:::i;5402:665::-;5506:22;;;;;;;;;;;;-1:-1:-1;;;5506:22:71;;;;;;:4;;:13;:22::i;:::-;5502:214;;;5572:19;;-1:-1:-1;;;5572:19:71;;5548:21;;-1:-1:-1;;;;;5572:8:71;;;;;:19;;5581:4;;5572:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5572:19:71;;;;;;;;;;;;:::i;:::-;5548:43;;5628:1;5613:5;:12;:16;5609:93;;;5660:5;5681:1;5666:5;:12;:16;;;;:::i;:::-;5660:23;;;;;;;;:::i;:::-;;;;;;;5653:30;;;;5206:867;;;:::o;5609:93::-;5530:186;5866:4;5782:242;;;;;;;;:::i;935:286:70:-;1107:25;;-1:-1:-1;;;1107:25:70;;1021:4;;-1:-1:-1;;;;;;;;;;;861:42:71;1021:4:70;;861:42:71;;1107:8:70;;:25;;1116:7;;1125:6;;1107:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1107:25:70;;;;;;;;;;;;:::i;:::-;1082:50;;1165:1;1149:6;:13;:17;:65;;;;;1176:6;1199:1;1183:6;:13;:17;;;;:::i;:::-;1176:25;;;;;;;;:::i;:::-;;;;;;;1170:39;1213:1;1170:44;1142:72;935:286;-1:-1:-1;;;;;935:286:70:o;1308:634:57:-;1364:13;1413:14;1430:17;1441:5;1430:10;:17::i;:::-;1450:1;1430:21;1413:38;;1465:20;1499:6;-1:-1:-1;;;;;1488:18:57;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1488:18:57;-1:-1:-1;1465:41:57;-1:-1:-1;1595:30:57;;;1611:4;1595:30;1652:247;-1:-1:-1;;1683:5:57;-1:-1:-1;;;1782:2:57;1771:14;;1766:32;1683:5;1753:46;1843:2;1834:11;;;-1:-1:-1;1863:21:57;1652:247;1863:21;-1:-1:-1;1919:6:57;1308:634;-1:-1:-1;;;1308:634:57:o;5565:1936:69:-;5689:20;;;;;5723:22;;;;;;;;;;;-1:-1:-1;;;5723:22:69;;;;5645:13;;5723:22;;5689:20;;5723:8;:22::i;:::-;5719:1776;;;-1:-1:-1;;5761:13:69;;;;;;;;;;;;-1:-1:-1;;;5761:13:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;5719:1776::-;5795:21;;;;;;;;;;;;-1:-1:-1;;;5795:21:69;;;;;;:2;;:8;:21::i;:::-;5791:1704;;;-1:-1:-1;;5832:18:69;;;;;;;;;;;;-1:-1:-1;;;5832:18:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;5791:1704::-;5871:15;;;;;;;;;;;;-1:-1:-1;;;5871:15:69;;;;;;:2;;:8;:15::i;:::-;5867:1628;;;-1:-1:-1;;5902:12:69;;;;;;;;;;;;-1:-1:-1;;;5902:12:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;5867:1628::-;5935:24;;;;;;;;;;;;-1:-1:-1;;;5935:24:69;;;;;;:2;;:8;:24::i;:::-;:56;;;-1:-1:-1;5963:28:69;;;;;;;;;;;;-1:-1:-1;;;5963:28:69;;;;;;:2;;:8;:28::i;:::-;5931:1564;;;-1:-1:-1;;6007:18:69;;;;;;;;;;;;-1:-1:-1;;;6007:18:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;5931:1564::-;6046:24;;;;;;;;;;;;-1:-1:-1;;;6046:24:69;;;;;;:2;;:8;:24::i;:::-;:56;;;-1:-1:-1;6074:28:69;;;;;;;;;;;;-1:-1:-1;;;6074:28:69;;;;;;:2;;:8;:28::i;:::-;6042:1453;;;-1:-1:-1;;6118:18:69;;;;;;;;;;;;-1:-1:-1;;;6118:18:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;6042:1453::-;6157:25;;;;;;;;;;;;-1:-1:-1;;;6157:25:69;;;;;;:2;;:8;:25::i;:::-;:58;;;-1:-1:-1;6186:29:69;;;;;;;;;;;;-1:-1:-1;;;6186:29:69;;;;;;:2;;:8;:29::i;:::-;6153:1342;;;-1:-1:-1;;6231:21:69;;;;;;;;;;;;-1:-1:-1;;;6231:21:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;6153:1342::-;6273:25;;;;;;;;;;;;-1:-1:-1;;;6273:25:69;;;;;;:2;;:8;:25::i;:::-;:58;;;-1:-1:-1;6302:29:69;;;;;;;;;;;;-1:-1:-1;;;6302:29:69;;;;;;:2;;:8;:29::i;:::-;6269:1226;;;-1:-1:-1;;6347:19:69;;;;;;;;;;;;-1:-1:-1;;;6347:19:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;6269:1226::-;6387:24;;;;;;;;;;;;-1:-1:-1;;;6387:24:69;;;;;;:2;;:8;:24::i;:::-;6383:1112;;;-1:-1:-1;;6427:21:69;;;;;;;;;;;;-1:-1:-1;;;6427:21:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;6383:1112::-;6469:24;;;;;;;;;;;;-1:-1:-1;;;6469:24:69;;;;;;:2;;:8;:24::i;:::-;6465:1030;;;-1:-1:-1;;6509:21:69;;;;;;;;;;;;-1:-1:-1;;;6509:21:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;6465:1030::-;6551:19;;;;;;;;;;;;-1:-1:-1;;;6551:19:69;;;;;;:2;;:8;:19::i;:::-;6547:948;;;-1:-1:-1;;6586:16:69;;;;;;;;;;;;-1:-1:-1;;;6586:16:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;6547:948::-;6623:19;;;;;;;;;;;;-1:-1:-1;;;6623:19:69;;;;;;:2;;:8;:19::i;:::-;6619:876;;;-1:-1:-1;;6658:16:69;;;;;;;;;;;;-1:-1:-1;;;6658:16:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;6619:876::-;6695:22;;;;;;;;;;;;-1:-1:-1;;;6695:22:69;;;;;;:2;;:8;:22::i;:::-;6691:804;;;-1:-1:-1;;6733:19:69;;;;;;;;;;;;-1:-1:-1;;;6733:19:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;6691:804::-;6773:25;;;;;;;;;;;;-1:-1:-1;;;6773:25:69;;;;;;:2;;:8;:25::i;:::-;:58;;;-1:-1:-1;6802:29:69;;;;;;;;;;;;-1:-1:-1;;;6802:29:69;;;;;;:2;;:8;:29::i;:::-;6769:726;;;-1:-1:-1;;6847:19:69;;;;;;;;;;;;-1:-1:-1;;;6847:19:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;6769:726::-;6887:20;;;;;;;;;;;;-1:-1:-1;;;6887:20:69;;;;;;:2;;:8;:20::i;:::-;6883:612;;;-1:-1:-1;;6923:16:69;;;;;;;;;;;;-1:-1:-1;;;6923:16:69;;;;;5565:1936;-1:-1:-1;5565:1936:69:o;6883:612::-;7116:20;;;;;7194:25;;7022:430;;;;7194:25;7022:430;;;:::i;1344:238:70:-;1516:25;;-1:-1:-1;;;1516:25:70;;1427:7;;-1:-1:-1;;;;;;;;;;;861:42:71;1427:7:70;;861:42:71;;1516:8:70;;:25;;1525:7;;1534:6;;1516:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1516:25:70;;;;;;;;;;;;:::i;:::-;1491:50;;1574:1;1558:6;:13;:17;;;;:::i;29154:916:61:-;29207:7;;-1:-1:-1;;;29282:17:61;;29278:103;;-1:-1:-1;;;29319:17:61;;;-1:-1:-1;29364:2:61;29354:12;29278:103;29407:8;29398:5;:17;29394:103;;29444:8;29435:17;;;-1:-1:-1;29480:2:61;29470:12;29394:103;29523:8;29514:5;:17;29510:103;;29560:8;29551:17;;;-1:-1:-1;29596:2:61;29586:12;29510:103;29639:7;29630:5;:16;29626:100;;29675:7;29666:16;;;-1:-1:-1;29710:1:61;29700:11;29626:100;29752:7;29743:5;:16;29739:100;;29788:7;29779:16;;;-1:-1:-1;29823:1:61;29813:11;29739:100;29865:7;29856:5;:16;29852:100;;29901:7;29892:16;;;-1:-1:-1;29936:1:61;29926:11;29852:100;29978:7;29969:5;:16;29965:66;;30015:1;30005:11;30057:6;29154:916;-1:-1:-1;;29154:916:61:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;388:290:102:-;458:6;511:2;499:9;490:7;486:23;482:32;479:52;;;527:1;524;517:12;479:52;553:16;;-1:-1:-1;;;;;598:31:102;;588:42;;578:70;;644:1;641;634:12;1377:184;1447:6;1500:2;1488:9;1479:7;1475:23;1471:32;1468:52;;;1516:1;1513;1506:12;1468:52;-1:-1:-1;1539:16:102;;1377:184;-1:-1:-1;1377:184:102:o;1566:127::-;1627:10;1622:3;1618:20;1615:1;1608:31;1658:4;1655:1;1648:15;1682:4;1679:1;1672:15;1698:253;1770:2;1764:9;1812:4;1800:17;;-1:-1:-1;;;;;1832:34:102;;1868:22;;;1829:62;1826:88;;;1894:18;;:::i;:::-;1930:2;1923:22;1698:253;:::o;1956:275::-;2027:2;2021:9;2092:2;2073:13;;-1:-1:-1;;2069:27:102;2057:40;;-1:-1:-1;;;;;2112:34:102;;2148:22;;;2109:62;2106:88;;;2174:18;;:::i;:::-;2210:2;2203:22;1956:275;;-1:-1:-1;1956:275:102:o;2236:627::-;2290:5;2343:3;2336:4;2328:6;2324:17;2320:27;2310:55;;2361:1;2358;2351:12;2310:55;2394:6;2388:13;2433:4;2425:6;2421:17;2462:1;2484;-1:-1:-1;;;;;2500:6:102;2497:30;2494:56;;;2530:18;;:::i;:::-;-1:-1:-1;2596:2:102;2575:15;;-1:-1:-1;;2571:29:102;2602:4;2567:40;2627:21;2567:40;2627:21;:::i;:::-;2616:32;;;2673:6;2664:7;2657:23;2713:3;2704:6;2699:3;2695:16;2692:25;2689:45;;;2730:1;2727;2720:12;2689:45;2774:6;2769:3;2762:4;2753:7;2749:18;2743:38;2830:1;2801:20;;;2823:4;2797:31;2790:42;;;;-1:-1:-1;2805:7:102;2236:627;-1:-1:-1;;;2236:627:102:o;2868:337::-;2948:6;3001:2;2989:9;2980:7;2976:23;2972:32;2969:52;;;3017:1;3014;3007:12;2969:52;3050:9;3044:16;-1:-1:-1;;;;;3075:6:102;3072:30;3069:50;;;3115:1;3112;3105:12;3069:50;3138:61;3191:7;3182:6;3171:9;3167:22;3138:61;:::i;3210:212::-;3252:3;3290:5;3284:12;3334:6;3327:4;3320:5;3316:16;3311:3;3305:36;3396:1;3360:16;;3385:13;;;-1:-1:-1;3360:16:102;;3210:212;-1:-1:-1;3210:212:102:o;3427:507::-;-1:-1:-1;;;3765:3:102;3758:27;3740:3;3807:39;3842:2;3837:3;3833:12;3825:6;3807:39;:::i;:::-;3869:28;3855:43;;3925:2;3914:14;;3427:507;-1:-1:-1;;;3427:507:102:o;3939:339::-;4191:25;4186:3;4179:38;4161:3;4233:39;4268:2;4263:3;4259:12;4251:6;4233:39;:::i;4283:288::-;4324:3;4362:5;4356:12;4389:6;4384:3;4377:19;4445:6;4438:4;4431:5;4427:16;4420:4;4415:3;4411:14;4405:47;4497:1;4490:4;4481:6;4476:3;4472:16;4468:27;4461:38;4560:4;4553:2;4549:7;4544:2;4536:6;4532:15;4528:29;4523:3;4519:39;4515:50;4508:57;;;4283:288;;;;:::o;4576:314::-;-1:-1:-1;;;;;4751:32:102;;4733:51;;4820:2;4815;4800:18;;4793:30;;;-1:-1:-1;;4840:44:102;;4865:18;;4857:6;4840:44;:::i;5103:190::-;5232:3;5257:30;5283:3;5275:6;5257:30;:::i;5298:217::-;5445:2;5434:9;5427:21;5408:4;5465:44;5505:2;5494:9;5490:18;5482:6;5465:44;:::i;6274:314::-;6458:2;6447:9;6440:21;6421:4;6478:44;6518:2;6507:9;6503:18;6495:6;6478:44;:::i;:::-;6470:52;;6570:10;6562:6;6558:23;6553:2;6542:9;6538:18;6531:51;6274:314;;;;;:::o;6593:316::-;6770:2;6759:9;6752:21;6733:4;6790:44;6830:2;6819:9;6815:18;6807:6;6790:44;:::i;:::-;6782:52;;6899:1;6895;6890:3;6886:11;6882:19;6874:6;6870:32;6865:2;6854:9;6850:18;6843:60;6593:316;;;;;:::o;6914:381::-;7111:2;7100:9;7093:21;7074:4;7137:44;7177:2;7166:9;7162:18;7154:6;7137:44;:::i;:::-;7229:9;7221:6;7217:22;7212:2;7201:9;7197:18;7190:50;7257:32;7282:6;7274;7257:32;:::i;7524:290::-;7701:2;7690:9;7683:21;7664:4;7721:44;7761:2;7750:9;7746:18;7738:6;7721:44;:::i;:::-;7713:52;;7801:6;7796:2;7785:9;7781:18;7774:34;7524:290;;;;;:::o;8287:411::-;-1:-1:-1;;;;;8490:32:102;;;8472:51;;8559:32;;8554:2;8539:18;;8532:60;8628:2;8623;8608:18;;8601:30;;;-1:-1:-1;;8648:44:102;;8673:18;;8665:6;8648:44;:::i;9008:486::-;9258:2;9247:9;9240:21;9221:4;9284:44;9324:2;9313:9;9309:18;9301:6;9284:44;:::i;:::-;9376:9;9368:6;9364:22;9359:2;9348:9;9344:18;9337:50;9411:1;9403:6;9396:17;-1:-1:-1;;;9441:2:102;9433:6;9429:15;9422:34;9485:2;9477:6;9473:15;9465:23;;;9008:486;;;;:::o;9499:277::-;9566:6;9619:2;9607:9;9598:7;9594:23;9590:32;9587:52;;;9635:1;9632;9625:12;9587:52;9667:9;9661:16;9720:5;9713:13;9706:21;9699:5;9696:32;9686:60;;9742:1;9739;9732:12;9781:400;10043:34;10038:3;10031:47;-1:-1:-1;;;10103:2:102;10098:3;10094:12;10087:33;10013:3;10136:39;10171:2;10166:3;10162:12;10154:6;10136:39;:::i;10186:485::-;10436:2;10425:9;10418:21;10399:4;10462:44;10502:2;10491:9;10487:18;10479:6;10462:44;:::i;:::-;10554:9;10546:6;10542:22;10537:2;10526:9;10522:18;10515:50;10589:1;10581:6;10574:17;-1:-1:-1;;;10619:2:102;10611:6;10607:15;10600:33;10662:2;10654:6;10650:15;10642:23;;;10186:485;;;;:::o;10676:403::-;10938:34;10926:47;;-1:-1:-1;;;10998:2:102;10989:12;;10982:36;-1:-1:-1;11034:39:102;11069:2;11060:12;;11052:6;11034:39;:::i;11084:582::-;11495:28;11490:3;11483:41;11465:3;11543:39;11578:2;11573:3;11569:12;11561:6;11543:39;:::i;:::-;-1:-1:-1;;;11598:2:102;11591:16;11623:37;11657:1;11653:2;11649:10;11641:6;11623:37;:::i;12012:263::-;12187:3;12212:57;12238:30;12264:3;12256:6;12238:30;:::i;:::-;12230:6;12212:57;:::i;12280:808::-;12792:28;12787:3;12780:41;12762:3;12840:39;12875:2;12870:3;12866:12;12858:6;12840:39;:::i;:::-;12899:66;12895:2;12888:78;12985:38;13019:2;13015;13011:11;13003:6;12985:38;:::i;:::-;-1:-1:-1;;;13032:24:102;;13080:1;13072:10;;12280:808;-1:-1:-1;;;;;12280:808:102:o;13093:127::-;13154:10;13149:3;13145:20;13142:1;13135:31;13185:4;13182:1;13175:15;13209:4;13206:1;13199:15;13225:180;13263:3;13307:6;13300:5;13296:18;13338:6;13329:7;13326:19;13323:45;;13348:18;;:::i;:::-;13397:1;13384:15;;13225:180;-1:-1:-1;;13225:180:102:o;13410:127::-;13471:10;13466:3;13462:20;13459:1;13452:31;13502:4;13499:1;13492:15;13526:4;13523:1;13516:15;13542:354;13804:30;13799:3;13792:43;13774:3;13851:39;13886:2;13881:3;13877:12;13869:6;13851:39;:::i;13901:357::-;14133:3;14161:30;14187:3;14179:6;14161:30;:::i;:::-;-1:-1:-1;;;14200:25:102;;14249:2;14241:11;;13901:357;-1:-1:-1;;;13901:357:102:o;14263:498::-;-1:-1:-1;;;14614:25:102;;14596:3;14658:38;14693:1;14684:11;;14676:6;14658:38;:::i;:::-;-1:-1:-1;;;14705:24:102;;14753:1;14745:10;;14263:498;-1:-1:-1;;;14263:498:102:o;14766:175::-;14803:3;14847:4;14840:5;14836:16;14876:4;14867:7;14864:17;14861:43;;14884:18;;:::i;14946:463::-;15196:2;15185:9;15178:21;15235:2;15230;15219:9;15215:18;15208:30;-1:-1:-1;;;15269:2:102;15258:9;15254:18;15247:52;15337:3;15330:4;15319:9;15315:20;15308:33;15159:4;15358:45;15398:3;15387:9;15383:19;15375:6;15358:45;:::i;15414:781::-;15576:4;15624:2;15613:9;15609:18;15654:2;15643:9;15636:21;15677:6;15712;15706:13;15743:6;15735;15728:22;15781:2;15770:9;15766:18;15759:25;;15843:2;15833:6;15830:1;15826:14;15815:9;15811:30;15807:39;15793:53;;15881:2;15873:6;15869:15;15902:1;15912:254;15926:6;15923:1;15920:13;15912:254;;;16019:2;16015:7;16003:9;15995:6;15991:22;15987:36;15982:3;15975:49;16047:39;16079:6;16070;16064:13;16047:39;:::i;:::-;16037:49;-1:-1:-1;16121:2:102;16144:12;;;;16109:15;;;;;15948:1;15941:9;15912:254;;;-1:-1:-1;16183:6:102;;15414:781;-1:-1:-1;;;;;;15414:781:102:o;16200:962::-;16298:6;16351:2;16339:9;16330:7;16326:23;16322:32;16319:52;;;16367:1;16364;16357:12;16319:52;16400:9;16394:16;-1:-1:-1;;;;;16425:6:102;16422:30;16419:50;;;16465:1;16462;16455:12;16419:50;16488:22;;16544:4;16526:16;;;16522:27;16519:47;;;16562:1;16559;16552:12;16519:47;16588:22;;:::i;:::-;16640:2;16634:9;16688:7;16685:1;16674:22;16665:7;16662:35;16652:63;;16711:1;16708;16701:12;16652:63;16724:22;;16785:2;16777:11;;16771:18;-1:-1:-1;;;;;16801:32:102;;16798:52;;;16846:1;16843;16836:12;16798:52;16882:56;16930:7;16919:8;16915:2;16911:17;16882:56;:::i;:::-;16877:2;16870:5;16866:14;16859:80;;16978:2;16974;16970:11;16964:18;-1:-1:-1;;;;;16997:8:102;16994:32;16991:52;;;17039:1;17036;17029:12;16991:52;17075:56;17123:7;17112:8;17108:2;17104:17;17075:56;:::i;:::-;17070:2;17059:14;;17052:80;-1:-1:-1;17063:5:102;16200:962;-1:-1:-1;;;;16200:962:102:o;17167:1266::-;17530:34;17518:47;;-1:-1:-1;;;17590:2:102;17581:12;;17574:34;-1:-1:-1;17627:39:102;17662:2;17653:12;;17645:6;17627:39;:::i;:::-;17686:66;17675:78;;17782:34;17777:2;17769:11;;17762:55;17846:34;17841:2;17833:11;;17826:55;17910:34;17905:2;17897:11;;17890:55;17975:34;17969:3;17961:12;;17954:56;18040:34;18034:3;18026:12;;18019:56;18105:34;18099:3;18091:12;;18084:56;18170:34;18164:3;18156:12;;18149:56;18235:66;18229:3;18221:12;;18214:88;18332:66;18326:3;18318:12;;18311:88;18423:3;18415:12;;17167:1266;-1:-1:-1;;;17167:1266:102:o;18438:452::-;18688:2;18677:9;18670:21;18727:2;18722;18711:9;18707:18;18700:30;-1:-1:-1;;;18761:2:102;18750:9;18746:18;18739:41;18818:3;18811:4;18800:9;18796:20;18789:33;18651:4;18839:45;18879:3;18868:9;18864:19;18856:6;18839:45;:::i;18895:1037::-;19574:3;19602:30;19628:3;19620:6;19602:30;:::i;:::-;-1:-1:-1;;;19648:2:102;19641:15;19675:37;19709:1;19705:2;19701:10;19693:6;19675:37;:::i;:::-;19665:47;;-1:-1:-1;;;19728:2:102;19721:15;19755:37;19789:1;19785:2;19781:10;19773:6;19755:37;:::i;:::-;19745:47;;-1:-1:-1;;;19808:2:102;19801:15;19835:37;19869:1;19865:2;19861:10;19853:6;19835:37;:::i;:::-;-1:-1:-1;;;19881:19:102;;19924:1;19916:10;;18895:1037;-1:-1:-1;;;;;;;18895:1037:102:o;19937:483::-;20187:2;20176:9;20169:21;20150:4;20213:44;20253:2;20242:9;20238:18;20230:6;20213:44;:::i;:::-;20305:9;20297:6;20293:22;20288:2;20277:9;20273:18;20266:50;20340:1;20332:6;20325:17;-1:-1:-1;;;20370:2:102;20362:6;20358:15;20351:31;20411:2;20403:6;20399:15;20391:23;;;19937:483;;;;:::o;20425:577::-;20788:33;20783:3;20776:46;20758:3;20841:39;20876:2;20871:3;20867:12;20859:6;20841:39;:::i;:::-;20900:34;20889:46;;-1:-1:-1;;;20959:2:102;20951:11;;20944:25;20993:2;20985:11;;20425:577;-1:-1:-1;;;20425:577:102:o;21007:497::-;21257:2;21246:9;21239:21;21220:4;21283:44;21323:2;21312:9;21308:18;21300:6;21283:44;:::i;:::-;21375:9;21367:6;21363:22;21358:2;21347:9;21343:18;21336:50;21410:2;21402:6;21395:18;-1:-1:-1;;;21441:2:102;21433:6;21429:15;21422:44;21495:2;21487:6;21483:15;21475:23;;;21007:497;;;;:::o;21509:492::-;21759:2;21748:9;21741:21;21722:4;21785:44;21825:2;21814:9;21810:18;21802:6;21785:44;:::i;:::-;21877:9;21869:6;21865:22;21860:2;21849:9;21845:18;21838:50;21912:2;21904:6;21897:18;-1:-1:-1;;;21943:2:102;21935:6;21931:15;21924:39;21992:2;21984:6;21980:15;21972:23;;;21509:492;;;;:::o;22006:512::-;-1:-1:-1;;;22364:3:102;22357:35;22339:3;22411:39;22446:2;22441:3;22437:12;22429:6;22411:39;:::i;:::-;-1:-1:-1;;;22459:26:102;;22509:2;22501:11;;22006:512;-1:-1:-1;;;22006:512:102:o;22523:467::-;22785:34;22780:3;22773:47;22850:34;22845:2;22840:3;22836:12;22829:56;-1:-1:-1;;;22910:2:102;22905:3;22901:12;22894:35;22755:3;22945:39;22980:2;22975:3;22971:12;22963:6;22945:39;:::i;23984:400::-;24246:34;24241:3;24234:47;-1:-1:-1;;;24306:2:102;24301:3;24297:12;24290:33;24216:3;24339:39;24374:2;24369:3;24365:12;24357:6;24339:39;:::i;24571:744::-;24922:2;24911:9;24904:21;24885:4;24948:44;24988:2;24977:9;24973:18;24965:6;24948:44;:::i;:::-;25023:9;25015:6;25011:22;25069:2;25064;25053:9;25049:18;25042:30;25096:1;25088:6;25081:17;25140:2;25135:3;25131:12;25126:2;25118:6;25114:15;25107:37;25188:2;25184;25180:11;25175:2;25164:9;25160:18;25153:39;;25225:1;25220:2;25212:6;25208:15;25201:26;25269:5;25264:3;25260:15;25255:2;25247:6;25243:15;25236:40;25305:3;25297:6;25293:16;25285:24;;;24571:744;;;;:::o;25320:1104::-;25425:6;25478:2;25466:9;25457:7;25453:23;25449:32;25446:52;;;25494:1;25491;25484:12;25446:52;25527:9;25521:16;-1:-1:-1;;;;;25552:6:102;25549:30;25546:50;;;25592:1;25589;25582:12;25546:50;25615:22;;25668:4;25660:13;;25656:27;-1:-1:-1;25646:55:102;;25697:1;25694;25687:12;25646:55;25730:2;25724:9;-1:-1:-1;;;;;25748:6:102;25745:30;25742:56;;;25778:18;;:::i;:::-;25824:6;25821:1;25817:14;25851:28;25875:2;25871;25867:11;25851:28;:::i;:::-;25913:19;;;25957:2;25987:11;;;25983:20;;;25948:12;;;;26015:19;;;26012:39;;;26047:1;26044;26037:12;26012:39;26079:2;26075;26071:11;26060:22;;26091:303;26107:6;26102:3;26099:15;26091:303;;;26186:3;26180:10;-1:-1:-1;;;;;26209:11:102;26206:35;26203:55;;;26254:1;26251;26244:12;26203:55;26283:68;26343:7;26338:2;26324:11;26320:2;26316:20;26312:29;26283:68;:::i;:::-;26271:81;;-1:-1:-1;26381:2:102;26124:12;;;;26372;;;;26091:303;;;26413:5;25320:1104;-1:-1:-1;;;;;;;25320:1104:102:o;26429:639::-;26840:34;26835:3;26828:47;-1:-1:-1;;;26900:2:102;26895:3;26891:12;26884:30;26810:3;26933:39;26968:2;26963:3;26959:12;26951:6;26933:39;:::i;:::-;-1:-1:-1;;;26988:2:102;26981:27;27024:38;27058:2;27054;27050:11;27042:6;27024:38;:::i;27073:488::-;27323:2;27312:9;27305:21;27286:4;27349:44;27389:2;27378:9;27374:18;27366:6;27349:44;:::i;:::-;27429:22;;;27424:2;27409:18;;;27402:50;27476:1;27461:17;;-1:-1:-1;;;27494:15:102;;;27487:36;;;;-1:-1:-1;27552:2:102;27540:15;;27073:488;-1:-1:-1;27073:488:102:o;27566:634::-;27977:34;27972:3;27965:47;-1:-1:-1;;;28037:2:102;28032:3;28028:12;28021:25;27947:3;28065:39;28100:2;28095:3;28091:12;28083:6;28065:39;:::i;28205:421::-;28485:3;28513:30;28539:3;28531:6;28513:30;:::i;:::-;-1:-1:-1;;;28559:2:102;28552:15;28583:37;28617:1;28613:2;28609:10;28601:6;28583:37;:::i;28903:128::-;28970:9;;;28991:11;;;28988:37;;;29005:18;;:::i;29036:346::-;29268:3;29296:30;29322:3;29314:6;29296:30;:::i;:::-;-1:-1:-1;;;29335:15:102;;29374:1;29366:10;;29036:346;-1:-1:-1;;;29036:346:102:o;29387:688::-;29738:2;29727:9;29720:21;29701:4;29764:44;29804:2;29793:9;29789:18;29781:6;29764:44;:::i;:::-;29839:9;29831:6;29827:22;29885:2;29880;29869:9;29865:18;29858:30;29912:1;29904:6;29897:17;-1:-1:-1;;;29942:2:102;29934:6;29930:15;29923:31;29998:2;29994;29990:11;29985:2;29974:9;29970:18;29963:39;;30035:1;30030:2;30022:6;30018:15;30011:26;30066:2;30058:6;30054:15;30046:23;;;29387:688;;;;:::o;30080:480::-;30330:2;30319:9;30312:21;30293:4;30356:44;30396:2;30385:9;30381:18;30373:6;30356:44;:::i;:::-;30448:9;30440:6;30436:22;30431:2;30420:9;30416:18;30409:50;30483:1;30475:6;30468:17;-1:-1:-1;;;30513:2:102;30505:6;30501:15;30494:28;30551:2;30543:6;30539:15;30531:23;;;30080:480;;;;:::o;30565:::-;30815:2;30804:9;30797:21;30778:4;30841:44;30881:2;30870:9;30866:18;30858:6;30841:44;:::i;:::-;30933:9;30925:6;30921:22;30916:2;30905:9;30901:18;30894:50;30968:1;30960:6;30953:17;-1:-1:-1;;;30998:2:102;30990:6;30986:15;30979:28;31036:2;31028:6;31024:15;31016:23;;;30565:480;;;;:::o;31050:689::-;31401:2;31390:9;31383:21;31364:4;31427:44;31467:2;31456:9;31452:18;31444:6;31427:44;:::i;:::-;31502:9;31494:6;31490:22;31548:2;31543;31532:9;31528:18;31521:30;31575:1;31567:6;31560:17;-1:-1:-1;;;31605:2:102;31597:6;31593:15;31586:32;31662:2;31658;31654:11;31649:2;31638:9;31634:18;31627:39;;31699:1;31694:2;31686:6;31682:15;31675:26;31730:2;31722:6;31718:15;31710:23;;;31050:689;;;;:::o;31744:695::-;-1:-1:-1;;;32102:3:102;32095:29;32077:3;32143:39;32178:2;32173:3;32169:12;32161:6;32143:39;:::i;:::-;32202:34;32191:46;;32266:34;32261:2;32253:11;;32246:55;32330:34;32325:2;32317:11;;32310:55;-1:-1:-1;;;32389:2:102;32381:11;;32374:31;32429:3;32421:12;;31744:695;-1:-1:-1;;;31744:695:102:o;32576:1082::-;33088:26;33083:3;33076:39;33058:3;33134:39;33169:2;33164:3;33160:12;33152:6;33134:39;:::i;:::-;-1:-1:-1;;;33189:2:102;33182:18;33219:37;33253:1;33249:2;33245:10;33237:6;33219:37;:::i;:::-;33276:34;33265:46;;33340:34;33335:2;33327:11;;33320:55;33404:34;33399:2;33391:11;;33384:55;33468:34;33463:2;33455:11;;33448:55;33533:34;33527:3;33519:12;;33512:56;33598:25;33592:3;33584:12;;33577:47;33648:3;33640:12;;32576:1082;-1:-1:-1;;;;;32576:1082:102:o","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","run()":"c0406226"}}}},"src/common/implementation/AddressLegacy.sol":{"AddressLegacy":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/common/implementation/AddressLegacy.sol\":\"AddressLegacy\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"src/common/implementation/AddressLegacy.sol\":{\"keccak256\":\"0x441f6c1a04ebb7ad44e54e1b9e3a6ca9f2468358842f93ec73e392f928daf85f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2cba7f3e831503913b6a147eec2f5fc6a2c5cdf1df11ae65582a42c5680ecd\",\"dweb:/ipfs/QmdBEXFnViR66ibJeyjKNh2xJoY8v1y3u3u1D9UXdPawFA\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220ea04a5ea253ec8b22e60c9edf07b905de6719b2e6732f796007cbd995ce404d964736f6c634300081e0033","sourceMap":"304:1546:88:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;304:1546:88;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220ea04a5ea253ec8b22e60c9edf07b905de6719b2e6732f796007cbd995ce404d964736f6c634300081e0033","sourceMap":"304:1546:88:-:0;;;;;;;;","linkReferences":{}}}}},"src/common/implementation/AddressWhitelist.sol":{"AddressWhitelist":{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addToWhitelist","inputs":[{"name":"newElement","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getWhitelist","inputs":[],"outputs":[{"name":"activeWhitelist","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"isOnWhitelist","inputs":[{"name":"elementToCheck","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWhitelistEnabled","inputs":[],"outputs":[{"name":"enabled","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeFromWhitelist","inputs":[{"name":"elementToRemove","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AddedToWhitelist","inputs":[{"name":"addedAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RemovedFromWhitelist","inputs":[{"name":"removedAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"addedAddress\",\"type\":\"address\"}],\"name\":\"AddedToWhitelist\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"removedAddress\",\"type\":\"address\"}],\"name\":\"RemovedFromWhitelist\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newElement\",\"type\":\"address\"}],\"name\":\"addToWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWhitelist\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"activeWhitelist\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"elementToCheck\",\"type\":\"address\"}],\"name\":\"isOnWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isWhitelistEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"elementToRemove\",\"type\":\"address\"}],\"name\":\"removeFromWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"custom:security-contact\":\"bugs@umaproject.org\",\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"addToWhitelist(address)\":{\"params\":{\"newElement\":\"the new address to add.\"}},\"constructor\":{\"details\":\"This makes it compatible with v5.x of OpenZeppelin's Ownable contract.\"},\"getWhitelist()\":{\"details\":\"Returns a copy of the entire set via EnumerableSet.values(). This operation is O(n) in the number of addresses and theoretically unbounded. In practice, in the context of `ManagedOptimisticOracleV2.sol` this list is expected to remain small, so this method is not expected to run out of gas. Order of addresses is arbitrary and not guaranteed to be stable across calls.\",\"returns\":{\"activeWhitelist\":\"the list of addresses on the whitelist.\"}},\"isOnWhitelist(address)\":{\"params\":{\"elementToCheck\":\"the address to check.\"},\"returns\":{\"_0\":\"True if `elementToCheck` is on the whitelist, or False.\"}},\"isWhitelistEnabled()\":{\"details\":\"For this implementation, the whitelist is always considered enabled.\",\"returns\":{\"enabled\":\"Always returns true.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"removeFromWhitelist(address)\":{\"params\":{\"elementToRemove\":\"the existing address to remove.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The interface identifier, as specified in ERC-165.\"},\"returns\":{\"_0\":\"True if the contract implements the interface defined by interfaceId.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"title\":\"A contract to track a whitelist of addresses.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addToWhitelist(address)\":{\"notice\":\"Adds an address to the whitelist.\"},\"constructor\":{\"notice\":\"Constructor to initialize the contract.\"},\"getWhitelist()\":{\"notice\":\"Gets all addresses that are currently included in the whitelist.\"},\"isOnWhitelist(address)\":{\"notice\":\"Checks whether an address is on the whitelist.\"},\"isWhitelistEnabled()\":{\"notice\":\"Checks if the whitelist is enabled.\"},\"removeFromWhitelist(address)\":{\"notice\":\"Removes an address from the whitelist.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Returns true if this contract implements the interface defined by interfaceId.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/common/implementation/AddressWhitelist.sol\":\"AddressWhitelist\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/utils/Arrays.sol\":{\"keccak256\":\"0xa4b9958797e0e9cde82a090525e90f80d5745ba1c67ee72b488bd3087498a17e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9344f7c2f80322c2e76d9d89bed03fd12f3e011e74fde7cf24ea21bdd2abe2d\",\"dweb:/ipfs/QmPMAjF5x2fHUAee2FKMZDBbFVrbZbPCr3a9KHLZaSn1zY\"]},\"lib/openzeppelin-contracts/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2\",\"dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x1fc283df727585919c3db301b948a3e827aee16917457ad7f916db9da2228e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4f4b5e2cd0ebc3b74e41e4e94771a0417eedd9b11cec3ef9f90b2ac2989264b\",\"dweb:/ipfs/QmZmsEsvsXiwAyAe1YeoLSKezeFcvR1giUeEY6ex4zpsTS\"]},\"lib/protocol/packages/core/contracts/common/implementation/Lockable.sol\":{\"keccak256\":\"0x41d78fcce54598ad5f26bc0b778c0f4fedbd836401625e49e736979f69a87ef0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ce111bb50441ef5125e7d42284f6debbc17fd589515d7b8cede7e9d1d5f0ede\",\"dweb:/ipfs/QmaXiXACWVEDDHoCHNXdVBoNpf8QNHkUZ1kf5MfbxfL6jj\"]},\"src/common/implementation/AddressWhitelist.sol\":{\"keccak256\":\"0xa3b999d7b717c1bf4bb1b958ef5e26717ad965babe994aa8db3fb301f240c876\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7e1c4c81902a72dcf579e28f922f4910aadf5edaee4b2a4defe60c61dc00fbca\",\"dweb:/ipfs/QmUMZbko39hTe8epg77B8k9XYGmKNxLjnkLdd6x8v2xDyV\"]},\"src/common/interfaces/AddressWhitelistInterface.sol\":{\"keccak256\":\"0x126b2bc590041cf213c274bedc91c06a263ddff5e11a090be80d7db8b1cb0d8f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0f47e32816f895d4a3a060eded9bba7853eff6a6d99c3de5b4d1ca8359ce1c49\",\"dweb:/ipfs/QmVWt7xTr68owupHSUUJNfV2N3n2bTvTWtXCDtu8k3uVBN\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":41200,"contract":"src/common/implementation/AddressWhitelist.sol:AddressWhitelist","label":"_owner","offset":0,"slot":"0","type":"t_address"},{"astId":56837,"contract":"src/common/implementation/AddressWhitelist.sol:AddressWhitelist","label":"_notEntered","offset":20,"slot":"0","type":"t_bool"},{"astId":60362,"contract":"src/common/implementation/AddressWhitelist.sol:AddressWhitelist","label":"whitelistedSet","offset":0,"slot":"1","type":"t_struct(AddressSet)50830_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_bytes32,t_uint256)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_struct(AddressSet)50830_storage":{"encoding":"inplace","label":"struct EnumerableSet.AddressSet","numberOfBytes":"64","members":[{"astId":50829,"contract":"src/common/implementation/AddressWhitelist.sol:AddressWhitelist","label":"_inner","offset":0,"slot":"0","type":"t_struct(Set)50344_storage"}]},"t_struct(Set)50344_storage":{"encoding":"inplace","label":"struct EnumerableSet.Set","numberOfBytes":"64","members":[{"astId":50339,"contract":"src/common/implementation/AddressWhitelist.sol:AddressWhitelist","label":"_values","offset":0,"slot":"0","type":"t_array(t_bytes32)dyn_storage"},{"astId":50343,"contract":"src/common/implementation/AddressWhitelist.sol:AddressWhitelist","label":"_positions","offset":0,"slot":"1","type":"t_mapping(t_bytes32,t_uint256)"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"6080604052348015600e575f5ffd5b503380603357604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b603a816051565b505f805460ff60a01b1916600160a01b17905560a0565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6106c9806100ad5f395ff3fe608060405234801561000f575f5ffd5b5060043610610090575f3560e01c80638ab1d681116100635780638ab1d681146100e05780638da5cb5b146100f3578063d01f63f51461010d578063e43252d714610122578063f2fde38b14610135575f5ffd5b806301ffc9a714610094578063184d69ab146100bc5780633a3ab672146100c3578063715018a6146100d6575b5f5ffd5b6100a76100a23660046105b4565b610148565b60405190151581526020015b60405180910390f35b60016100a7565b6100a76100d13660046105db565b61017e565b6100de610192565b005b6100de6100ee3660046105db565b6101a5565b5f546040516001600160a01b0390911681526020016100b3565b610115610229565b6040516100b39190610601565b6100de6101303660046105db565b610242565b6100de6101433660046105db565b6102c2565b5f6001600160e01b03198216634e759c3d60e11b148061017857506301ffc9a760e01b6001600160e01b03198316145b92915050565b5f610187610301565b610178600183610359565b61019a61037d565b6101a35f6103a9565b565b6101ad610301565b6101be5f805460ff60a01b19169055565b6101c661037d565b5f6101d26001836103f8565b9050801561020e576040516001600160a01b038316907fcdd2e9b91a56913d370075169cefa1602ba36be5301664f752192bb1709df757905f90a25b506102265f805460ff60a01b1916600160a01b179055565b50565b6060610233610301565b61023d600161040c565b905090565b61024a610301565b61025b5f805460ff60a01b19169055565b61026361037d565b5f61026f600183610418565b9050801561020e576040516001600160a01b038316907fa850ae9193f515cbae8d35e8925bd2be26627fc91bce650b8652ed254e9cab03905f90a2506102265f805460ff60a01b1916600160a01b179055565b6102ca61037d565b6001600160a01b0381166102f857604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610226816103a9565b5f54600160a01b900460ff166101a35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102ef565b6001600160a01b0381165f90815260018301602052604081205415155b9392505050565b5f546001600160a01b031633146101a35760405163118cdaa760e01b81523360048201526024016102ef565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f610376836001600160a01b03841661042c565b60605f6103768361050f565b5f610376836001600160a01b038416610568565b5f8181526001830160205260408120548015610506575f61044e60018361064c565b85549091505f906104619060019061064c565b90508082146104c0575f865f01828154811061047f5761047f61066b565b905f5260205f200154905080875f01848154811061049f5761049f61066b565b5f918252602080832090910192909255918252600188019052604090208390555b85548690806104d1576104d161067f565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610178565b5f915050610178565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561055c57602002820191905f5260205f20905b815481526020019060010190808311610548575b50505050509050919050565b5f8181526001830160205260408120546105ad57508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610178565b505f610178565b5f602082840312156105c4575f5ffd5b81356001600160e01b031981168114610376575f5ffd5b5f602082840312156105eb575f5ffd5b81356001600160a01b0381168114610376575f5ffd5b602080825282518282018190525f918401906040840190835b818110156106415783516001600160a01b031683526020938401939092019160010161061a565b509095945050505050565b8181038181111561017857634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffdfea264697066735822122017d19cb92913b1d48716ee47b65ab4e02ee922b90d01232dfa3dfd8cb8c5357c64736f6c634300081e0033","sourceMap":"891:3237:89:-:0;;;1455:36;;;;;;;;;-1:-1:-1;1477:10:89;;1269:95:27;;1322:31;;-1:-1:-1;;;1322:31:27;;1350:1;1322:31;;;160:51:102;133:18;;1322:31:27;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;874:11:77;:18;;-1:-1:-1;;;;874:18:77;-1:-1:-1;;;874:18:77;;;891:3237:89;;2912:187:27;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:27;;;-1:-1:-1;;;;;;3020:17:27;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;14:203:102:-;891:3237:89;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561000f575f5ffd5b5060043610610090575f3560e01c80638ab1d681116100635780638ab1d681146100e05780638da5cb5b146100f3578063d01f63f51461010d578063e43252d714610122578063f2fde38b14610135575f5ffd5b806301ffc9a714610094578063184d69ab146100bc5780633a3ab672146100c3578063715018a6146100d6575b5f5ffd5b6100a76100a23660046105b4565b610148565b60405190151581526020015b60405180910390f35b60016100a7565b6100a76100d13660046105db565b61017e565b6100de610192565b005b6100de6100ee3660046105db565b6101a5565b5f546040516001600160a01b0390911681526020016100b3565b610115610229565b6040516100b39190610601565b6100de6101303660046105db565b610242565b6100de6101433660046105db565b6102c2565b5f6001600160e01b03198216634e759c3d60e11b148061017857506301ffc9a760e01b6001600160e01b03198316145b92915050565b5f610187610301565b610178600183610359565b61019a61037d565b6101a35f6103a9565b565b6101ad610301565b6101be5f805460ff60a01b19169055565b6101c661037d565b5f6101d26001836103f8565b9050801561020e576040516001600160a01b038316907fcdd2e9b91a56913d370075169cefa1602ba36be5301664f752192bb1709df757905f90a25b506102265f805460ff60a01b1916600160a01b179055565b50565b6060610233610301565b61023d600161040c565b905090565b61024a610301565b61025b5f805460ff60a01b19169055565b61026361037d565b5f61026f600183610418565b9050801561020e576040516001600160a01b038316907fa850ae9193f515cbae8d35e8925bd2be26627fc91bce650b8652ed254e9cab03905f90a2506102265f805460ff60a01b1916600160a01b179055565b6102ca61037d565b6001600160a01b0381166102f857604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610226816103a9565b5f54600160a01b900460ff166101a35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102ef565b6001600160a01b0381165f90815260018301602052604081205415155b9392505050565b5f546001600160a01b031633146101a35760405163118cdaa760e01b81523360048201526024016102ef565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f610376836001600160a01b03841661042c565b60605f6103768361050f565b5f610376836001600160a01b038416610568565b5f8181526001830160205260408120548015610506575f61044e60018361064c565b85549091505f906104619060019061064c565b90508082146104c0575f865f01828154811061047f5761047f61066b565b905f5260205f200154905080875f01848154811061049f5761049f61066b565b5f918252602080832090910192909255918252600188019052604090208390555b85548690806104d1576104d161067f565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610178565b5f915050610178565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561055c57602002820191905f5260205f20905b815481526020019060010190808311610548575b50505050509050919050565b5f8181526001830160205260408120546105ad57508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610178565b505f610178565b5f602082840312156105c4575f5ffd5b81356001600160e01b031981168114610376575f5ffd5b5f602082840312156105eb575f5ffd5b81356001600160a01b0381168114610376575f5ffd5b602080825282518282018190525f918401906040840190835b818110156106415783516001600160a01b031683526020938401939092019160010161061a565b509095945050505050565b8181038181111561017857634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffdfea264697066735822122017d19cb92913b1d48716ee47b65ab4e02ee922b90d01232dfa3dfd8cb8c5357c64736f6c634300081e0033","sourceMap":"891:3237:89:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3913:213;;;;;;:::i;:::-;;:::i;:::-;;;470:14:102;;463:22;445:41;;433:2;418:18;3913:213:89;;;;;;;;3531:104;3624:4;3531:104;;2432:171;;;;;;:::i;:::-;;:::i;2293:101:27:-;;;:::i;:::-;;1972:254:89;;;;;;:::i;:::-;;:::i;1638:85:27:-;1684:7;1710:6;1638:85;;-1:-1:-1;;;;;1710:6:27;;;934:51:102;;922:2;907:18;1638:85:27;788:203:102;3179:154:89;;;:::i;:::-;;;;;;;:::i;1611:223::-;;;;;;:::i;:::-;;:::i;2543:215:27:-;;;;;;:::i;:::-;;:::i;3913:213:89:-;3998:4;-1:-1:-1;;;;;;4021:58:89;;-1:-1:-1;;;4021:58:89;;:98;;-1:-1:-1;;;;;;;;;;829:40:58;;;4083:36:89;4014:105;3913:213;-1:-1:-1;;3913:213:89:o;2432:171::-;2534:4;1603:19:77;:17;:19::i;:::-;2557:39:89::1;:14;2581::::0;2557:23:::1;:39::i;2293:101:27:-:0;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;1972:254:89:-;1317:19:77;:17;:19::i;:::-;1346:17;2459:5;2445:19;;-1:-1:-1;;;;2445:19:77;;;2335:136;1346:17;1531:13:27::1;:11;:13::i;:::-;2077:12:89::2;2092:38;:14;2114:15:::0;2092:21:::2;:38::i;:::-;2077:53;;2144:7;2140:80;;;2172:37;::::0;-1:-1:-1;;;;;2172:37:89;::::2;::::0;::::2;::::0;;;::::2;2140:80;2067:159;1384:20:77::0;2658:11;:18;;-1:-1:-1;;;;2658:18:77;-1:-1:-1;;;2658:18:77;;;2477:206;1384:20;1972:254:89;:::o;3179:154::-;3252:32;1603:19:77;:17;:19::i;:::-;3303:23:89::1;:14;:21;:23::i;:::-;3296:30;;3179:154:::0;:::o;1611:223::-;1317:19:77;:17;:19::i;:::-;1346:17;2459:5;2445:19;;-1:-1:-1;;;;2445:19:77;;;2335:136;1346:17;1531:13:27::1;:11;:13::i;:::-;1706:10:89::2;1719:30;:14;1738:10:::0;1719:18:::2;:30::i;:::-;1706:43;;1763:5;1759:69;;;1789:28;::::0;-1:-1:-1;;;;;1789:28:89;::::2;::::0;::::2;::::0;;;::::2;1696:138;1384:20:77::0;2658:11;:18;;-1:-1:-1;;;;2658:18:77;-1:-1:-1;;;2658:18:77;;;2477:206;2543:215:27;1531:13;:11;:13::i;:::-;-1:-1:-1;;;;;2627:22:27;::::1;2623:91;;2672:31;::::0;-1:-1:-1;;;2672:31:27;;2700:1:::1;2672:31;::::0;::::1;934:51:102::0;907:18;;2672:31:27::1;;;;;;;;2623:91;2723:28;2742:8;2723:18;:28::i;2143:186:77:-:0;2275:11;;-1:-1:-1;;;2275:11:77;;;;2267:55;;;;-1:-1:-1;;;2267:55:77;;1840:2:102;2267:55:77;;;1822:21:102;1879:2;1859:18;;;1852:30;1918:33;1898:18;;;1891:61;1969:18;;2267:55:77;1638:355:102;12370:165:64;-1:-1:-1;;;;;12503:23:64;;12450:4;5197:21;;;:14;;;:21;;;;;;:26;;12473:55;12466:62;12370:165;-1:-1:-1;;;12370:165:64:o;1796:162:27:-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:27;735:10:52;1855:23:27;1851:101;;1901:40;;-1:-1:-1;;;1901:40:27;;735:10:52;1901:40:27;;;934:51:102;907:18;;1901:40:27;788:203:102;2912:187:27;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:27;;;-1:-1:-1;;;;;;3020:17:27;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;11736:156:64:-;11809:4;11832:53;11840:3;-1:-1:-1;;;;;11860:23:64;;11832:7;:53::i;13769:273::-;13832:16;13860:22;13885:19;13893:3;13885:7;:19::i;11418:150::-;11488:4;11511:50;11516:3;-1:-1:-1;;;;;11536:23:64;;11511:4;:50::i;3071:1368::-;3137:4;3266:21;;;:14;;;:21;;;;;;3302:13;;3298:1135;;3669:18;3690:12;3701:1;3690:8;:12;:::i;:::-;3736:18;;3669:33;;-1:-1:-1;3716:17:64;;3736:22;;3757:1;;3736:22;:::i;:::-;3716:42;;3791:9;3777:10;:23;3773:378;;3820:17;3840:3;:11;;3852:9;3840:22;;;;;;;;:::i;:::-;;;;;;;;;3820:42;;3987:9;3961:3;:11;;3973:10;3961:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:35;;;;4100:25;;;:14;;;:25;;;;;:36;;;3773:378;4229:17;;:3;;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4332:3;:14;;:21;4347:5;4332:21;;;;;;;;;;;4325:28;;;4375:4;4368:11;;;;;;;3298:1135;4417:5;4410:12;;;;;6418:109;6474:16;6509:3;:11;;6502:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6418:109;;;:::o;2497:406::-;2560:4;5197:21;;;:14;;;:21;;;;;;2576:321;;-1:-1:-1;2618:23:64;;;;;;;;:11;:23;;;;;;;;;;;;;2800:18;;2776:21;;;:14;;;:21;;;;;;:42;;;;2832:11;;2576:321;-1:-1:-1;2881:5:64;2874:12;;14:286:102;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:102;;209:43;;199:71;;266:1;263;256:12;497:286;556:6;609:2;597:9;588:7;584:23;580:32;577:52;;;625:1;622;615:12;577:52;651:23;;-1:-1:-1;;;;;703:31:102;;693:42;;683:70;;749:1;746;739:12;996:637;1186:2;1198:21;;;1268:13;;1171:18;;;1290:22;;;1138:4;;1369:15;;;1343:2;1328:18;;;1138:4;1412:195;1426:6;1423:1;1420:13;1412:195;;;1491:13;;-1:-1:-1;;;;;1487:39:102;1475:52;;1556:2;1582:15;;;;1547:12;;;;1523:1;1441:9;1412:195;;;-1:-1:-1;1624:3:102;;996:637;-1:-1:-1;;;;;996:637:102:o;1998:225::-;2065:9;;;2086:11;;;2083:134;;;2139:10;2134:3;2130:20;2127:1;2120:31;2174:4;2171:1;2164:15;2202:4;2199:1;2192:15;2228:127;2289:10;2284:3;2280:20;2277:1;2270:31;2320:4;2317:1;2310:15;2344:4;2341:1;2334:15;2360:127;2421:10;2416:3;2412:20;2409:1;2402:31;2452:4;2449:1;2442:15;2476:4;2473:1;2466:15","linkReferences":{}},"methodIdentifiers":{"addToWhitelist(address)":"e43252d7","getWhitelist()":"d01f63f5","isOnWhitelist(address)":"3a3ab672","isWhitelistEnabled()":"184d69ab","owner()":"8da5cb5b","removeFromWhitelist(address)":"8ab1d681","renounceOwnership()":"715018a6","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b"}}}},"src/common/implementation/DisabledAddressWhitelist.sol":{"DisabledAddressWhitelist":{"abi":[{"type":"function","name":"addToWhitelist","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"getWhitelist","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"isOnWhitelist","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"isWhitelistEnabled","inputs":[],"outputs":[{"name":"enabled","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"removeFromWhitelist","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"error","name":"CannotAddToDisabledAddressWhitelist","inputs":[]},{"type":"error","name":"CannotRemoveFromDisabledAddressWhitelist","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CannotAddToDisabledAddressWhitelist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CannotRemoveFromDisabledAddressWhitelist\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"addToWhitelist\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWhitelist\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isOnWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isWhitelistEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"removeFromWhitelist\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"custom:security-contact\":\"bugs@umaproject.org\",\"details\":\"All addresses are considered to be on this whitelist.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The interface identifier, as specified in ERC-165.\"},\"returns\":{\"_0\":\"True if the contract implements the interface defined by interfaceId.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"supportsInterface(bytes4)\":{\"notice\":\"Returns true if this contract implements the interface defined by interfaceId.\"}},\"notice\":\"This contract is an implementation of AddressWhitelistInterface where the whitelist is permanently disabled.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/common/implementation/DisabledAddressWhitelist.sol\":\"DisabledAddressWhitelist\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"src/common/implementation/DisabledAddressWhitelist.sol\":{\"keccak256\":\"0x34d42ccd54fb72eef815f5187088ba6dede2f9a7fc202495d4eaec284f415954\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e9a4569e7bb99d3631da6a52696b83e4bc52e09d2bc1cb7e4d93b657103b1879\",\"dweb:/ipfs/QmVBBrXbiXFmH7U2DKWR8rmNCLusxA3feJ9dWRZXczoEof\"]},\"src/common/interfaces/AddressWhitelistInterface.sol\":{\"keccak256\":\"0x126b2bc590041cf213c274bedc91c06a263ddff5e11a090be80d7db8b1cb0d8f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0f47e32816f895d4a3a060eded9bba7853eff6a6d99c3de5b4d1ca8359ce1c49\",\"dweb:/ipfs/QmVWt7xTr68owupHSUUJNfV2N3n2bTvTWtXCDtu8k3uVBN\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080604052348015600e575f5ffd5b506102238061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610060575f3560e01c806301ffc9a714610064578063184d69ab1461008c5780633a3ab672146100925780638ab1d681146100a6578063d01f63f5146100bb578063e43252d7146100d3575b5f5ffd5b61007761007236600461014e565b6100e6565b60405190151581526020015b60405180910390f35b5f610077565b6100776100a036600461017c565b50600190565b6100b96100b436600461017c565b61011c565b005b604080515f81526020810191829052610083916101a2565b6100b96100e136600461017c565b610135565b5f6001600160e01b03198216634e759c3d60e11b148061011657506301ffc9a760e01b6001600160e01b03198316145b92915050565b60405163d338e07160e01b815260040160405180910390fd5b604051633d1e966960e01b815260040160405180910390fd5b5f6020828403121561015e575f5ffd5b81356001600160e01b031981168114610175575f5ffd5b9392505050565b5f6020828403121561018c575f5ffd5b81356001600160a01b0381168114610175575f5ffd5b602080825282518282018190525f918401906040840190835b818110156101e25783516001600160a01b03168352602093840193909201916001016101bb565b50909594505050505056fea2646970667358221220667dab0109ff277b9cda81b787fa528383a71dabba7a84e2b1268b068da774b264736f6c634300081e0033","sourceMap":"472:1214:90:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561000f575f5ffd5b5060043610610060575f3560e01c806301ffc9a714610064578063184d69ab1461008c5780633a3ab672146100925780638ab1d681146100a6578063d01f63f5146100bb578063e43252d7146100d3575b5f5ffd5b61007761007236600461014e565b6100e6565b60405190151581526020015b60405180910390f35b5f610077565b6100776100a036600461017c565b50600190565b6100b96100b436600461017c565b61011c565b005b604080515f81526020810191829052610083916101a2565b6100b96100e136600461017c565b610135565b5f6001600160e01b03198216634e759c3d60e11b148061011657506301ffc9a760e01b6001600160e01b03198316145b92915050565b60405163d338e07160e01b815260040160405180910390fd5b604051633d1e966960e01b815260040160405180910390fd5b5f6020828403121561015e575f5ffd5b81356001600160e01b031981168114610175575f5ffd5b9392505050565b5f6020828403121561018c575f5ffd5b81356001600160a01b0381168114610175575f5ffd5b602080825282518282018190525f918401906040840190835b818110156101e25783516001600160a01b03168352602093840193909201916001016101bb565b50909594505050505056fea2646970667358221220667dab0109ff277b9cda81b787fa528383a71dabba7a84e2b1268b068da774b264736f6c634300081e0033","sourceMap":"472:1214:90:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1471:213;;;;;;:::i;:::-;;:::i;:::-;;;470:14:102;;463:22;445:41;;433:2;418:18;1471:213:90;;;;;;;;1097:96;1150:12;1097:96;;891:89;;;;;;:::i;:::-;-1:-1:-1;969:4:90;;891:89;767:118;;;;;;:::i;:::-;;:::i;:::-;;986:105;1068:16;;;1082:1;1068:16;;;;;;;;;986:105;;;:::i;653:108::-;;;;;;:::i;:::-;;:::i;1471:213::-;1556:4;-1:-1:-1;;;;;;1579:58:90;;-1:-1:-1;;;1579:58:90;;:98;;-1:-1:-1;;;;;;;;;;829:40:58;;;1641:36:90;1572:105;1471:213;-1:-1:-1;;1471:213:90:o;767:118::-;836:42;;-1:-1:-1;;;836:42:90;;;;;;;;;;;653:108;717:37;;-1:-1:-1;;;717:37:90;;;;;;;;;;;14:286:102;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:102;;209:43;;199:71;;266:1;263;256:12;199:71;289:5;14:286;-1:-1:-1;;;14:286:102:o;497:::-;556:6;609:2;597:9;588:7;584:23;580:32;577:52;;;625:1;622;615:12;577:52;651:23;;-1:-1:-1;;;;;703:31:102;;693:42;;683:70;;749:1;746;739:12;788:637;978:2;990:21;;;1060:13;;963:18;;;1082:22;;;930:4;;1161:15;;;1135:2;1120:18;;;930:4;1204:195;1218:6;1215:1;1212:13;1204:195;;;1283:13;;-1:-1:-1;;;;;1279:39:102;1267:52;;1348:2;1374:15;;;;1339:12;;;;1315:1;1233:9;1204:195;;;-1:-1:-1;1416:3:102;;788:637;-1:-1:-1;;;;;788:637:102:o","linkReferences":{}},"methodIdentifiers":{"addToWhitelist(address)":"e43252d7","getWhitelist()":"d01f63f5","isOnWhitelist(address)":"3a3ab672","isWhitelistEnabled()":"184d69ab","removeFromWhitelist(address)":"8ab1d681","supportsInterface(bytes4)":"01ffc9a7"}}}},"src/common/implementation/LockableUpgradeable.sol":{"LockableUpgradeable":{"abi":[{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"}],\"devdoc\":{\"errors\":{\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"__gap\":{\"details\":\"Reserve storage slots for future versions of this base contract to add state variables without affecting the storage layout of child contracts. Decrement the size of __gap whenever state variables are added. This is at the bottom of contract to make sure its always at the end of storage. See https://docs.openzeppelin.com/upgrades-plugins/writing-upgradeable#storage-gaps\"}},\"title\":\"A contract that provides modifiers to prevent reentrancy to state-changing and view-only methods. This contract is inspired by https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/ReentrancyGuard.sol and https://github.com/balancer-labs/balancer-core/blob/master/contracts/BPool.sol.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/common/implementation/LockableUpgradeable.sol\":\"LockableUpgradeable\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"src/common/implementation/LockableUpgradeable.sol\":{\"keccak256\":\"0x1a10eec9d7f12b051d343c65016a9c60a4bece53da4da2eceb8a8dc007b336e2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://9b8c203e136583fa946e4ae0e7bc9774837f865f8b319daa97c84ceb8a16c95b\",\"dweb:/ipfs/QmPJPPL27TB8qt66ZHquDCYtuubcTStRqxn4nxQnehMdA2\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":60594,"contract":"src/common/implementation/LockableUpgradeable.sol:LockableUpgradeable","label":"_notEntered","offset":0,"slot":"0","type":"t_bool"},{"astId":60674,"contract":"src/common/implementation/LockableUpgradeable.sol:LockableUpgradeable","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)49_storage"}],"types":{"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"src/common/implementation/MultiCaller.sol":{"MultiCaller":{"abi":[{"type":"function","name":"multicall","inputs":[{"name":"data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"results","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"}],\"name\":\"multicall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"results\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"See https://docs.openzeppelin.com/upgrades-plugins/1.x/faq#delegatecall-selfdestruct for more details.\",\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"__gap\":{\"details\":\"Reserve storage slots for future versions of this base contract to add state variables without affecting the storage layout of child contracts. Decrement the size of __gap whenever state variables are added. This is at the bottom of contract to make sure its always at the end of storage. See https://docs.openzeppelin.com/upgrades-plugins/writing-upgradeable#storage-gaps\"}},\"title\":\"MultiCaller\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Logic is 100% copied from \\\"@uma/core/contracts/common/implementation/MultiCaller.sol\\\" but a comment is added to clarify why we allow delegatecall() in this contract, which is typically unsafe for use in upgradeable implementation contracts.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/common/implementation/MultiCaller.sol\":\"MultiCaller\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"src/common/implementation/MultiCaller.sol\":{\"keccak256\":\"0x1cef2a13b361679c2ef5d0d97fcbb0ae0cf4858b97a6dd8ab68e3974ea5ffe4a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ad81f2964ce1b40a8ee56a56612d6b773f260e5a3381dc50cd85ba1f9f6af46f\",\"dweb:/ipfs/QmU3Pbxq8rMhGKqNiBa6vWqtiHw9RzdZ4zbTayhgGdyAnz\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":60758,"contract":"src/common/implementation/MultiCaller.sol:MultiCaller","label":"__gap","offset":0,"slot":"0","type":"t_array(t_uint256)50_storage"}],"types":{"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"multicall(bytes[])":"ac9650d8"}}}},"src/common/interfaces/AddressWhitelistInterface.sol":{"AddressWhitelistInterface":{"abi":[{"type":"function","name":"addToWhitelist","inputs":[{"name":"newElement","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getWhitelist","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"isOnWhitelist","inputs":[{"name":"newElement","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWhitelistEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"removeFromWhitelist","inputs":[{"name":"newElement","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newElement\",\"type\":\"address\"}],\"name\":\"addToWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWhitelist\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newElement\",\"type\":\"address\"}],\"name\":\"isOnWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isWhitelistEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newElement\",\"type\":\"address\"}],\"name\":\"removeFromWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/common/interfaces/AddressWhitelistInterface.sol\":\"AddressWhitelistInterface\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"src/common/interfaces/AddressWhitelistInterface.sol\":{\"keccak256\":\"0x126b2bc590041cf213c274bedc91c06a263ddff5e11a090be80d7db8b1cb0d8f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0f47e32816f895d4a3a060eded9bba7853eff6a6d99c3de5b4d1ca8359ce1c49\",\"dweb:/ipfs/QmVWt7xTr68owupHSUUJNfV2N3n2bTvTWtXCDtu8k3uVBN\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"addToWhitelist(address)":"e43252d7","getWhitelist()":"d01f63f5","isOnWhitelist(address)":"3a3ab672","isWhitelistEnabled()":"184d69ab","removeFromWhitelist(address)":"8ab1d681"}}}},"src/common/interfaces/FixedPointInterface.sol":{"FixedPointInterface":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Interface for fixed point arithmetic on uints\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/common/interfaces/FixedPointInterface.sol\":\"FixedPointInterface\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"src/common/interfaces/FixedPointInterface.sol\":{\"keccak256\":\"0xceca09e6aa78c97698fa0b1f40657f6c3c723d5d94150ef6476affb9671df753\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d5d1b01017749d96befb5c2e8a8c6d9dd041f57e1d9a66238c296cc28512d2e5\",\"dweb:/ipfs/QmVPiky59JTngjwZNdxbmD7H1Lwa5AgTjzv975wSnavFFy\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"src/data-verification-mechanism/interfaces/StoreInterface.sol":{"StoreInterface":{"abi":[{"type":"function","name":"computeFinalFee","inputs":[{"name":"currency","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct FixedPointInterface.Unsigned","components":[{"name":"rawValue","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"computeRegularFee","inputs":[{"name":"startTime","type":"uint256","internalType":"uint256"},{"name":"endTime","type":"uint256","internalType":"uint256"},{"name":"pfc","type":"tuple","internalType":"struct FixedPointInterface.Unsigned","components":[{"name":"rawValue","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"regularFee","type":"tuple","internalType":"struct FixedPointInterface.Unsigned","components":[{"name":"rawValue","type":"uint256","internalType":"uint256"}]},{"name":"latePenalty","type":"tuple","internalType":"struct FixedPointInterface.Unsigned","components":[{"name":"rawValue","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"payOracleFees","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"payOracleFeesErc20","inputs":[{"name":"erc20Address","type":"address","internalType":"address"},{"name":"amount","type":"tuple","internalType":"struct FixedPointInterface.Unsigned","components":[{"name":"rawValue","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"computeFinalFee\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"rawValue\",\"type\":\"uint256\"}],\"internalType\":\"struct FixedPointInterface.Unsigned\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endTime\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"rawValue\",\"type\":\"uint256\"}],\"internalType\":\"struct FixedPointInterface.Unsigned\",\"name\":\"pfc\",\"type\":\"tuple\"}],\"name\":\"computeRegularFee\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"rawValue\",\"type\":\"uint256\"}],\"internalType\":\"struct FixedPointInterface.Unsigned\",\"name\":\"regularFee\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"rawValue\",\"type\":\"uint256\"}],\"internalType\":\"struct FixedPointInterface.Unsigned\",\"name\":\"latePenalty\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payOracleFees\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"erc20Address\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"rawValue\",\"type\":\"uint256\"}],\"internalType\":\"struct FixedPointInterface.Unsigned\",\"name\":\"amount\",\"type\":\"tuple\"}],\"name\":\"payOracleFeesErc20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"computeFinalFee(address)\":{\"params\":{\"currency\":\"token used to pay the final fee.\"},\"returns\":{\"_0\":\"finalFee amount due.\"}},\"computeRegularFee(uint256,uint256,(uint256))\":{\"params\":{\"endTime\":\"end time until which the fee is paid.\",\"pfc\":\"\\\"profit from corruption\\\", or the maximum amount of margin currency that a token sponsor could extract from the contract through corrupting the price feed in their favor.\",\"startTime\":\"defines the beginning time from which the fee is paid.\"},\"returns\":{\"latePenalty\":\"for paying the fee after the deadline.\",\"regularFee\":\"amount owed for the duration from start to end time for the given pfc.\"}},\"payOracleFees()\":{\"details\":\"To be used by contracts whose margin currency is ETH.\"},\"payOracleFeesErc20(address,(uint256))\":{\"details\":\"To be used if the margin currency is an ERC20 token rather than ETH.\",\"params\":{\"amount\":\"number of tokens to transfer. An approval for at least this amount must exist.\",\"erc20Address\":\"address of the ERC20 token used to pay the fee.\"}}},\"title\":\"Interface that allows financial contracts to pay oracle fees for their use of the system.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"computeFinalFee(address)\":{\"notice\":\"Computes the final oracle fees that a contract should pay at settlement.\"},\"computeRegularFee(uint256,uint256,(uint256))\":{\"notice\":\"Computes the regular oracle fees that a contract should pay for a period.\"},\"payOracleFees()\":{\"notice\":\"Pays Oracle fees in ETH to the store.\"},\"payOracleFeesErc20(address,(uint256))\":{\"notice\":\"Pays oracle fees in the margin currency, erc20Address, to the store.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/data-verification-mechanism/interfaces/StoreInterface.sol\":\"StoreInterface\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"src/common/interfaces/FixedPointInterface.sol\":{\"keccak256\":\"0xceca09e6aa78c97698fa0b1f40657f6c3c723d5d94150ef6476affb9671df753\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d5d1b01017749d96befb5c2e8a8c6d9dd041f57e1d9a66238c296cc28512d2e5\",\"dweb:/ipfs/QmVPiky59JTngjwZNdxbmD7H1Lwa5AgTjzv975wSnavFFy\"]},\"src/data-verification-mechanism/interfaces/StoreInterface.sol\":{\"keccak256\":\"0x1905509e908c6a9b8b3a89449d2d86fd7192d0e588cbe542edd21351d9971ee5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://346e602f41469943453fbe039bf7554b23e1eba3128ff3858d32b35ebcc2ae88\",\"dweb:/ipfs/QmcjZ73TwMjondBDKEHyZ9KUjZzcxsy6Dmqs8QxPK3KBde\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"computeFinalFee(address)":"5b97aadd","computeRegularFee(uint256,uint256,(uint256))":"74201feb","payOracleFees()":"cd3a9b24","payOracleFeesErc20(address,(uint256))":"8659d232"}}}},"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol":{"ManagedOptimisticOracleV2":{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"CONFIG_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"OO_ANCILLARY_DATA_LIMIT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"REQUEST_MANAGER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"TOO_EARLY_RESPONSE","inputs":[],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"acceptDefaultAdminTransfer","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addRequestManager","inputs":[{"name":"requestManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allowedBondRanges","inputs":[{"name":"currency","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"minimumBond","type":"uint128","internalType":"uint128"},{"name":"maximumBond","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"ancillaryBytesLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"beginDefaultAdminTransfer","inputs":[{"name":"newAdmin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cancelDefaultAdminTransfer","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"changeDefaultAdminDelay","inputs":[{"name":"newDelay","type":"uint48","internalType":"uint48"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"customBonds","inputs":[{"name":"managedRequestId","type":"bytes32","internalType":"bytes32"},{"name":"currency","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"isSet","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"customLivenessValues","inputs":[{"name":"managedRequestId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"liveness","type":"uint256","internalType":"uint256"},{"name":"isSet","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"customProposerWhitelists","inputs":[{"name":"managedRequestId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"contract AddressWhitelistInterface"}],"stateMutability":"view"},{"type":"function","name":"defaultAdmin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"defaultAdminDelay","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"defaultAdminDelayIncreaseWait","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"defaultLiveness","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"defaultProposerWhitelist","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract AddressWhitelistInterface"}],"stateMutability":"view"},{"type":"function","name":"disputePrice","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"totalBond","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"disputePriceFor","inputs":[{"name":"disputer","type":"address","internalType":"address"},{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"totalBond","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"finder","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract FinderInterface"}],"stateMutability":"view"},{"type":"function","name":"getCurrentTime","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCustomProposerWhitelist","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"address","internalType":"contract AddressWhitelistInterface"}],"stateMutability":"view"},{"type":"function","name":"getManagedRequestId","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"getProposerWhitelistWithEnabledStatus","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"allowedProposers","type":"address[]","internalType":"address[]"},{"name":"isEnabled","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getRequest","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"tuple","internalType":"struct OptimisticOracleV2Interface.Request","components":[{"name":"proposer","type":"address","internalType":"address"},{"name":"disputer","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"settled","type":"bool","internalType":"bool"},{"name":"requestSettings","type":"tuple","internalType":"struct OptimisticOracleV2Interface.RequestSettings","components":[{"name":"eventBased","type":"bool","internalType":"bool"},{"name":"refundOnDispute","type":"bool","internalType":"bool"},{"name":"callbackOnPriceProposed","type":"bool","internalType":"bool"},{"name":"callbackOnPriceDisputed","type":"bool","internalType":"bool"},{"name":"callbackOnPriceSettled","type":"bool","internalType":"bool"},{"name":"bond","type":"uint256","internalType":"uint256"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}]},{"name":"proposedPrice","type":"int256","internalType":"int256"},{"name":"resolvedPrice","type":"int256","internalType":"int256"},{"name":"expirationTime","type":"uint256","internalType":"uint256"},{"name":"reward","type":"uint256","internalType":"uint256"},{"name":"finalFee","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getState","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint8","internalType":"enum OptimisticOracleV2Interface.State"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasPrice","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_liveness","type":"uint256","internalType":"uint256"},{"name":"_finderAddress","type":"address","internalType":"address"},{"name":"upgradeAdmin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_defaultLiveness","type":"uint256","internalType":"uint256"},{"name":"_finderAddress","type":"address","internalType":"address"},{"name":"_defaultProposerWhitelist","type":"address","internalType":"address"},{"name":"_requesterWhitelist","type":"address","internalType":"address"},{"name":"_allowedBondRanges","type":"tuple[]","internalType":"struct ManagedOptimisticOracleV2.CurrencyBondRange[]","components":[{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"range","type":"tuple","internalType":"struct ManagedOptimisticOracleV2.BondRange","components":[{"name":"minimumBond","type":"uint128","internalType":"uint128"},{"name":"maximumBond","type":"uint128","internalType":"uint128"}]}]},{"name":"_minimumLiveness","type":"uint256","internalType":"uint256"},{"name":"configAdmin","type":"address","internalType":"address"},{"name":"upgradeAdmin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"minimumLiveness","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"multicall","inputs":[{"name":"data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"results","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingDefaultAdmin","inputs":[],"outputs":[{"name":"newAdmin","type":"address","internalType":"address"},{"name":"schedule","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"pendingDefaultAdminDelay","inputs":[],"outputs":[{"name":"newDelay","type":"uint48","internalType":"uint48"},{"name":"schedule","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"proposePrice","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"proposedPrice","type":"int256","internalType":"int256"}],"outputs":[{"name":"totalBond","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"proposePriceFor","inputs":[{"name":"proposer","type":"address","internalType":"address"},{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"proposedPrice","type":"int256","internalType":"int256"}],"outputs":[{"name":"totalBond","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"removeRequestManager","inputs":[{"name":"requestManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"requestManagerSetBond","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"bond","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"requestManagerSetCustomLiveness","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"requestManagerSetProposerWhitelist","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"whitelist","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"requestPrice","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"reward","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"totalBond","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"requesterWhitelist","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract AddressWhitelistInterface"}],"stateMutability":"view"},{"type":"function","name":"requests","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"proposer","type":"address","internalType":"address"},{"name":"disputer","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"settled","type":"bool","internalType":"bool"},{"name":"requestSettings","type":"tuple","internalType":"struct OptimisticOracleV2Interface.RequestSettings","components":[{"name":"eventBased","type":"bool","internalType":"bool"},{"name":"refundOnDispute","type":"bool","internalType":"bool"},{"name":"callbackOnPriceProposed","type":"bool","internalType":"bool"},{"name":"callbackOnPriceDisputed","type":"bool","internalType":"bool"},{"name":"callbackOnPriceSettled","type":"bool","internalType":"bool"},{"name":"bond","type":"uint256","internalType":"uint256"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}]},{"name":"proposedPrice","type":"int256","internalType":"int256"},{"name":"resolvedPrice","type":"int256","internalType":"int256"},{"name":"expirationTime","type":"uint256","internalType":"uint256"},{"name":"reward","type":"uint256","internalType":"uint256"},{"name":"finalFee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollbackDefaultAdminDelay","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setAllowedBondRange","inputs":[{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"newRange","type":"tuple","internalType":"struct ManagedOptimisticOracleV2.BondRange","components":[{"name":"minimumBond","type":"uint128","internalType":"uint128"},{"name":"maximumBond","type":"uint128","internalType":"uint128"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBond","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"bond","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"totalBond","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"setCallbacks","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"callbackOnPriceProposed","type":"bool","internalType":"bool"},{"name":"callbackOnPriceDisputed","type":"bool","internalType":"bool"},{"name":"callbackOnPriceSettled","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCustomLiveness","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDefaultProposerWhitelist","inputs":[{"name":"whitelist","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEventBased","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMinimumLiveness","inputs":[{"name":"_minimumLiveness","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRefundOnDispute","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRequesterWhitelist","inputs":[{"name":"whitelist","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"settle","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"payout","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"settleAndGetPrice","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"nonpayable"},{"type":"function","name":"stampAncillaryData","inputs":[{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"requester","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AllowedBondRangeUpdated","inputs":[{"name":"currency","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"newMinimumBond","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newMaximumBond","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CustomBondSet","inputs":[{"name":"managedRequestId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"requester","type":"address","indexed":false,"internalType":"address"},{"name":"identifier","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"ancillaryData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"currency","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"bond","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CustomLivenessSet","inputs":[{"name":"managedRequestId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"requester","type":"address","indexed":true,"internalType":"address"},{"name":"identifier","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"ancillaryData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"customLiveness","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CustomProposerWhitelistSet","inputs":[{"name":"managedRequestId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"requester","type":"address","indexed":false,"internalType":"address"},{"name":"identifier","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"ancillaryData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"newWhitelist","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DefaultAdminDelayChangeCanceled","inputs":[],"anonymous":false},{"type":"event","name":"DefaultAdminDelayChangeScheduled","inputs":[{"name":"newDelay","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"effectSchedule","type":"uint48","indexed":false,"internalType":"uint48"}],"anonymous":false},{"type":"event","name":"DefaultAdminTransferCanceled","inputs":[],"anonymous":false},{"type":"event","name":"DefaultAdminTransferScheduled","inputs":[{"name":"newAdmin","type":"address","indexed":true,"internalType":"address"},{"name":"acceptSchedule","type":"uint48","indexed":false,"internalType":"uint48"}],"anonymous":false},{"type":"event","name":"DefaultProposerWhitelistUpdated","inputs":[{"name":"newWhitelist","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DisputePrice","inputs":[{"name":"requester","type":"address","indexed":true,"internalType":"address"},{"name":"proposer","type":"address","indexed":true,"internalType":"address"},{"name":"disputer","type":"address","indexed":true,"internalType":"address"},{"name":"identifier","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"ancillaryData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"proposedPrice","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"MinimumLivenessUpdated","inputs":[{"name":"newMinimumLiveness","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposePrice","inputs":[{"name":"requester","type":"address","indexed":true,"internalType":"address"},{"name":"proposer","type":"address","indexed":true,"internalType":"address"},{"name":"identifier","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"ancillaryData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"proposedPrice","type":"int256","indexed":false,"internalType":"int256"},{"name":"expirationTimestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"currency","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RequestPrice","inputs":[{"name":"requester","type":"address","indexed":true,"internalType":"address"},{"name":"identifier","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"ancillaryData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"currency","type":"address","indexed":false,"internalType":"address"},{"name":"reward","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"finalFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RequesterWhitelistUpdated","inputs":[{"name":"newWhitelist","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Settle","inputs":[{"name":"requester","type":"address","indexed":true,"internalType":"address"},{"name":"proposer","type":"address","indexed":true,"internalType":"address"},{"name":"disputer","type":"address","indexed":true,"internalType":"address"},{"name":"identifier","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"ancillaryData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"price","type":"int256","indexed":false,"internalType":"int256"},{"name":"payout","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlEnforcedDefaultAdminDelay","inputs":[{"name":"schedule","type":"uint48","internalType":"uint48"}]},{"type":"error","name":"AccessControlEnforcedDefaultAdminRules","inputs":[]},{"type":"error","name":"AccessControlInvalidDefaultAdmin","inputs":[{"name":"defaultAdmin","type":"address","internalType":"address"}]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"AncillaryDataTooLong","inputs":[]},{"type":"error","name":"BondBelowMinimumBond","inputs":[]},{"type":"error","name":"BondExceedsMaximumBond","inputs":[]},{"type":"error","name":"CannotProposeTooEarly","inputs":[]},{"type":"error","name":"DisputerAddressCannotBeZero","inputs":[]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"LivenessCannotBeZero","inputs":[]},{"type":"error","name":"LivenessTooLarge","inputs":[]},{"type":"error","name":"LivenessTooLow","inputs":[]},{"type":"error","name":"MinimumBondAboveMaximumBond","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"ProposerAddressCannotBeZero","inputs":[]},{"type":"error","name":"ProposerNotWhitelisted","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"RequestNotSettleable","inputs":[]},{"type":"error","name":"RequestStateNotInvalid","inputs":[]},{"type":"error","name":"RequestStateNotProposed","inputs":[]},{"type":"error","name":"RequestStateNotRequested","inputs":[]},{"type":"error","name":"RequesterNotWhitelisted","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"SenderNotWhitelisted","inputs":[]},{"type":"error","name":"TimestampInFuture","inputs":[]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"UnsupportedCurrency","inputs":[]},{"type":"error","name":"UnsupportedIdentifier","inputs":[]},{"type":"error","name":"UnsupportedWhitelistInterface","inputs":[]},{"type":"error","name":"ZeroBondNotAllowed","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"schedule\",\"type\":\"uint48\"}],\"name\":\"AccessControlEnforcedDefaultAdminDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AccessControlEnforcedDefaultAdminRules\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"defaultAdmin\",\"type\":\"address\"}],\"name\":\"AccessControlInvalidDefaultAdmin\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AncillaryDataTooLong\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondBelowMinimumBond\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondExceedsMaximumBond\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CannotProposeTooEarly\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DisputerAddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LivenessCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LivenessTooLarge\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LivenessTooLow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MinimumBondAboveMaximumBond\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposerAddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposerNotWhitelisted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RequestNotSettleable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RequestStateNotInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RequestStateNotProposed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RequestStateNotRequested\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RequesterNotWhitelisted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotWhitelisted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TimestampInFuture\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedCurrency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedIdentifier\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedWhitelistInterface\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroBondNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newMinimumBond\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newMaximumBond\",\"type\":\"uint256\"}],\"name\":\"AllowedBondRangeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"managedRequestId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"bond\",\"type\":\"uint256\"}],\"name\":\"CustomBondSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"managedRequestId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"customLiveness\",\"type\":\"uint256\"}],\"name\":\"CustomLivenessSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"managedRequestId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newWhitelist\",\"type\":\"address\"}],\"name\":\"CustomProposerWhitelistSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"DefaultAdminDelayChangeCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"newDelay\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"effectSchedule\",\"type\":\"uint48\"}],\"name\":\"DefaultAdminDelayChangeScheduled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"DefaultAdminTransferCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"acceptSchedule\",\"type\":\"uint48\"}],\"name\":\"DefaultAdminTransferScheduled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newWhitelist\",\"type\":\"address\"}],\"name\":\"DefaultProposerWhitelistUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"proposedPrice\",\"type\":\"int256\"}],\"name\":\"DisputePrice\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newMinimumLiveness\",\"type\":\"uint256\"}],\"name\":\"MinimumLivenessUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"proposedPrice\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expirationTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"ProposePrice\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"finalFee\",\"type\":\"uint256\"}],\"name\":\"RequestPrice\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newWhitelist\",\"type\":\"address\"}],\"name\":\"RequesterWhitelistUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"price\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payout\",\"type\":\"uint256\"}],\"name\":\"Settle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CONFIG_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OO_ANCILLARY_DATA_LIMIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REQUEST_MANAGER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TOO_EARLY_RESPONSE\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"acceptDefaultAdminTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requestManager\",\"type\":\"address\"}],\"name\":\"addRequestManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"allowedBondRanges\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"minimumBond\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"maximumBond\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ancillaryBytesLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"beginDefaultAdminTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cancelDefaultAdminTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"newDelay\",\"type\":\"uint48\"}],\"name\":\"changeDefaultAdminDelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"managedRequestId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IERC20\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"customBonds\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isSet\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"managedRequestId\",\"type\":\"bytes32\"}],\"name\":\"customLivenessValues\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"liveness\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isSet\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"managedRequestId\",\"type\":\"bytes32\"}],\"name\":\"customProposerWhitelists\",\"outputs\":[{\"internalType\":\"contract AddressWhitelistInterface\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultAdmin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultAdminDelay\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultAdminDelayIncreaseWait\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultLiveness\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultProposerWhitelist\",\"outputs\":[{\"internalType\":\"contract AddressWhitelistInterface\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"disputePrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBond\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"disputePriceFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBond\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"finder\",\"outputs\":[{\"internalType\":\"contract FinderInterface\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"getCustomProposerWhitelist\",\"outputs\":[{\"internalType\":\"contract AddressWhitelistInterface\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"getManagedRequestId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"getProposerWhitelistWithEnabledStatus\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"allowedProposers\",\"type\":\"address[]\"},{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"getRequest\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"settled\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"eventBased\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"refundOnDispute\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceProposed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceDisputed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceSettled\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"bond\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"customLiveness\",\"type\":\"uint256\"}],\"internalType\":\"struct OptimisticOracleV2Interface.RequestSettings\",\"name\":\"requestSettings\",\"type\":\"tuple\"},{\"internalType\":\"int256\",\"name\":\"proposedPrice\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"resolvedPrice\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"finalFee\",\"type\":\"uint256\"}],\"internalType\":\"struct OptimisticOracleV2Interface.Request\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"getState\",\"outputs\":[{\"internalType\":\"enum OptimisticOracleV2Interface.State\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"hasPrice\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_liveness\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_finderAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"upgradeAdmin\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_defaultLiveness\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_finderAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_defaultProposerWhitelist\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_requesterWhitelist\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"contract IERC20\",\"name\":\"currency\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint128\",\"name\":\"minimumBond\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"maximumBond\",\"type\":\"uint128\"}],\"internalType\":\"struct ManagedOptimisticOracleV2.BondRange\",\"name\":\"range\",\"type\":\"tuple\"}],\"internalType\":\"struct ManagedOptimisticOracleV2.CurrencyBondRange[]\",\"name\":\"_allowedBondRanges\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"_minimumLiveness\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"configAdmin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"upgradeAdmin\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minimumLiveness\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"}],\"name\":\"multicall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"results\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingDefaultAdmin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"schedule\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingDefaultAdminDelay\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"newDelay\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"schedule\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"int256\",\"name\":\"proposedPrice\",\"type\":\"int256\"}],\"name\":\"proposePrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBond\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"int256\",\"name\":\"proposedPrice\",\"type\":\"int256\"}],\"name\":\"proposePriceFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBond\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requestManager\",\"type\":\"address\"}],\"name\":\"removeRequestManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"bond\",\"type\":\"uint256\"}],\"name\":\"requestManagerSetBond\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"customLiveness\",\"type\":\"uint256\"}],\"name\":\"requestManagerSetCustomLiveness\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"whitelist\",\"type\":\"address\"}],\"name\":\"requestManagerSetProposerWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"}],\"name\":\"requestPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBond\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"requesterWhitelist\",\"outputs\":[{\"internalType\":\"contract AddressWhitelistInterface\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"requests\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"settled\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"eventBased\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"refundOnDispute\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceProposed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceDisputed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceSettled\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"bond\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"customLiveness\",\"type\":\"uint256\"}],\"internalType\":\"struct OptimisticOracleV2Interface.RequestSettings\",\"name\":\"requestSettings\",\"type\":\"tuple\"},{\"internalType\":\"int256\",\"name\":\"proposedPrice\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"resolvedPrice\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"finalFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rollbackDefaultAdminDelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"currency\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint128\",\"name\":\"minimumBond\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"maximumBond\",\"type\":\"uint128\"}],\"internalType\":\"struct ManagedOptimisticOracleV2.BondRange\",\"name\":\"newRange\",\"type\":\"tuple\"}],\"name\":\"setAllowedBondRange\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"bond\",\"type\":\"uint256\"}],\"name\":\"setBond\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBond\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceProposed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceDisputed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceSettled\",\"type\":\"bool\"}],\"name\":\"setCallbacks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"customLiveness\",\"type\":\"uint256\"}],\"name\":\"setCustomLiveness\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"whitelist\",\"type\":\"address\"}],\"name\":\"setDefaultProposerWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"setEventBased\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_minimumLiveness\",\"type\":\"uint256\"}],\"name\":\"setMinimumLiveness\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"setRefundOnDispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"whitelist\",\"type\":\"address\"}],\"name\":\"setRequesterWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"payout\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"settleAndGetPrice\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"}],\"name\":\"stampAncillaryData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:security-contact\":\"bugs@umaproject.org\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlEnforcedDefaultAdminDelay(uint48)\":[{\"details\":\"The delay for transferring the default admin delay is enforced and the operation must wait until `schedule`. NOTE: `schedule` can be 0 indicating there's no transfer scheduled.\"}],\"AccessControlEnforcedDefaultAdminRules()\":[{\"details\":\"At least one of the following rules was violated: - The `DEFAULT_ADMIN_ROLE` must only be managed by itself. - The `DEFAULT_ADMIN_ROLE` must only be held by one account at the time. - Any `DEFAULT_ADMIN_ROLE` transfer must be in two delayed steps.\"}],\"AccessControlInvalidDefaultAdmin(address)\":[{\"details\":\"The new default admin is not a valid default admin.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"DefaultAdminDelayChangeCanceled()\":{\"details\":\"Emitted when a {pendingDefaultAdminDelay} is reset if its schedule didn't pass.\"},\"DefaultAdminDelayChangeScheduled(uint48,uint48)\":{\"details\":\"Emitted when a {defaultAdminDelay} change is started, setting `newDelay` as the next delay to be applied between default admin transfer after `effectSchedule` has passed.\"},\"DefaultAdminTransferCanceled()\":{\"details\":\"Emitted when a {pendingDefaultAdmin} is reset if it was never accepted, regardless of its schedule.\"},\"DefaultAdminTransferScheduled(address,uint48)\":{\"details\":\"Emitted when a {defaultAdmin} transfer is started, setting `newAdmin` as the next address to become the {defaultAdmin} by calling {acceptDefaultAdminTransfer} only after `acceptSchedule` passes.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted to signal this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"acceptDefaultAdminTransfer()\":{\"details\":\"Completes a {defaultAdmin} transfer previously started with {beginDefaultAdminTransfer}. After calling the function: - `DEFAULT_ADMIN_ROLE` should be granted to the caller. - `DEFAULT_ADMIN_ROLE` should be revoked from the previous holder. - {pendingDefaultAdmin} should be reset to zero values. Requirements: - Only can be called by the {pendingDefaultAdmin}'s `newAdmin`. - The {pendingDefaultAdmin}'s `acceptSchedule` should've passed.\"},\"addRequestManager(address)\":{\"details\":\"Only callable by the config admin (checked in grantRole of AccessControlUpgradeable).\",\"params\":{\"requestManager\":\"address of the request manager to set.\"}},\"beginDefaultAdminTransfer(address)\":{\"details\":\"Starts a {defaultAdmin} transfer by setting a {pendingDefaultAdmin} scheduled for acceptance after the current timestamp plus a {defaultAdminDelay}. Requirements: - Only can be called by the current {defaultAdmin}. Emits a DefaultAdminRoleChangeStarted event.\"},\"cancelDefaultAdminTransfer()\":{\"details\":\"Cancels a {defaultAdmin} transfer previously started with {beginDefaultAdminTransfer}. A {pendingDefaultAdmin} not yet accepted can also be cancelled with this function. Requirements: - Only can be called by the current {defaultAdmin}. May emit a DefaultAdminTransferCanceled event.\"},\"changeDefaultAdminDelay(uint48)\":{\"details\":\"Initiates a {defaultAdminDelay} update by setting a {pendingDefaultAdminDelay} scheduled for getting into effect after the current timestamp plus a {defaultAdminDelay}. This function guarantees that any call to {beginDefaultAdminTransfer} done between the timestamp this method is called and the {pendingDefaultAdminDelay} effect schedule will use the current {defaultAdminDelay} set before calling. The {pendingDefaultAdminDelay}'s effect schedule is defined in a way that waiting until the schedule and then calling {beginDefaultAdminTransfer} with the new delay will take at least the same as another {defaultAdmin} complete transfer (including acceptance). The schedule is designed for two scenarios: - When the delay is changed for a larger one the schedule is `block.timestamp + newDelay` capped by {defaultAdminDelayIncreaseWait}. - When the delay is changed for a shorter one, the schedule is `block.timestamp + (current delay - new delay)`. A {pendingDefaultAdminDelay} that never got into effect will be canceled in favor of a new scheduled change. Requirements: - Only can be called by the current {defaultAdmin}. Emits a DefaultAdminDelayChangeScheduled event and may emit a DefaultAdminDelayChangeCanceled event.\"},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"defaultAdmin()\":{\"details\":\"Returns the address of the current `DEFAULT_ADMIN_ROLE` holder.\"},\"defaultAdminDelay()\":{\"details\":\"Returns the delay required to schedule the acceptance of a {defaultAdmin} transfer started. This delay will be added to the current timestamp when calling {beginDefaultAdminTransfer} to set the acceptance schedule. NOTE: If a delay change has been scheduled, it will take effect as soon as the schedule passes, making this function returns the new delay. See {changeDefaultAdminDelay}.\"},\"defaultAdminDelayIncreaseWait()\":{\"details\":\"Maximum time in seconds for an increase to {defaultAdminDelay} (that is scheduled using {changeDefaultAdminDelay}) to take effect. Default to 5 days. When the {defaultAdminDelay} is scheduled to be increased, it goes into effect after the new delay has passed with the purpose of giving enough time for reverting any accidental change (i.e. using milliseconds instead of seconds) that may lock the contract. However, to avoid excessive schedules, the wait is capped by this function and it can be overrode for a custom {defaultAdminDelay} increase scheduling. IMPORTANT: Make sure to add a reasonable amount of time while overriding this value, otherwise, there's a risk of setting a high new delay that goes into effect almost immediately without the possibility of human intervention in the case of an input error (eg. set milliseconds instead of seconds).\"},\"disputePrice(address,bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"requester\":\"sender of the initial price request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"totalBond\":\"the amount that's pulled from the disputer's wallet as a bond. The bond will be returned to the disputer once settled if the dispute was valid (the proposal was incorrect).\"}},\"disputePriceFor(address,address,bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"disputer\":\"address to set as the disputer.\",\"identifier\":\"price identifier to identify the existing request.\",\"requester\":\"sender of the initial price request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"totalBond\":\"the amount that's pulled from the caller's wallet as a bond. The bond will be returned to the disputer once settled if the dispute was valid (the proposal was incorrect).\"}},\"getCustomProposerWhitelist(address,bytes32,bytes)\":{\"details\":\"This omits the timestamp from the key derivation, so the whitelist might have been set in advance of the request.\",\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"requester\":\"sender of the initial price request.\"},\"returns\":{\"_0\":\"AddressWhitelistInterface the custom proposer whitelist for the request or zero address if not set.\"}},\"getManagedRequestId(address,bytes32,bytes)\":{\"details\":\"This omits the timestamp from the key derivation, so it can be used for managed requests in advance.\",\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"requester\":\"sender of the initial price request.\"},\"returns\":{\"_0\":\"bytes32 the ID for the managed request.\"}},\"getProposerWhitelistWithEnabledStatus(address,bytes32,bytes)\":{\"details\":\"If no custom proposer whitelist is set for the request, the default proposer whitelist is used. If whitelist used is DisabledAddressWhitelist, the returned proposer list will be empty and isEnabled will be false, indicating that any address is allowed to propose.\",\"params\":{\"ancillaryData\":\"Additional data used to uniquely identify the request.\",\"identifier\":\"The identifier of the price request.\",\"requester\":\"The address that made or will make the price request.\"},\"returns\":{\"allowedProposers\":\"The list of addresses allowed to propose, if whitelist is enabled. Otherwise, an empty array.\",\"isEnabled\":\"A boolean indicating whether whitelist is enabled for this request.\"}},\"getRequest(address,bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"requester\":\"sender of the initial price request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"_0\":\"the Request data structure.\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getState(address,bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"requester\":\"sender of the initial price request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"_0\":\"the State.\"}},\"grantRole(bytes32,address)\":{\"details\":\"See {AccessControl-grantRole}. Reverts for `DEFAULT_ADMIN_ROLE`.\"},\"hasPrice(address,bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"requester\":\"sender of the initial price request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"_0\":\"boolean indicating true if price exists and false if not.\"}},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(uint256,address,address)\":{\"details\":\"Used only for standalone deployments of the OptimisticOracleV2Upgradeable contract.\",\"params\":{\"_finderAddress\":\"finder to use to get addresses of DVM contracts.\",\"_liveness\":\"default liveness applied to each price request.\"}},\"initialize(uint256,address,address,address,(address,(uint128,uint128))[],uint256,address,address)\":{\"params\":{\"_allowedBondRanges\":\"array of allowed bond ranges for different currencies.\",\"_defaultLiveness\":\"applied to each price request.\",\"_defaultProposerWhitelist\":\"address of the default whitelist.\",\"_finderAddress\":\"to use to get addresses of DVM contracts.\",\"_minimumLiveness\":\"that can be overridden for a request.\",\"_requesterWhitelist\":\"address of the requester whitelist.\",\"configAdmin\":\"address, which is used for managing request managers and contract parameters.\",\"upgradeAdmin\":\"address, which also can manage the config admin role.\"}},\"owner()\":{\"details\":\"Gets the address of the owner.\"},\"pendingDefaultAdmin()\":{\"details\":\"Returns a tuple of a `newAdmin` and an accept schedule. After the `schedule` passes, the `newAdmin` will be able to accept the {defaultAdmin} role by calling {acceptDefaultAdminTransfer}, completing the role transfer. A zero value only in `acceptSchedule` indicates no pending admin transfer. NOTE: A zero address `newAdmin` means that {defaultAdmin} is being renounced.\"},\"pendingDefaultAdminDelay()\":{\"details\":\"Returns a tuple of `newDelay` and an effect schedule. After the `schedule` passes, the `newDelay` will get into effect immediately for every new {defaultAdmin} transfer started with {beginDefaultAdminTransfer}. A zero value only in `effectSchedule` indicates no pending delay change. NOTE: A zero value only for `newDelay` means that the next {defaultAdminDelay} will be zero after the effect schedule.\"},\"proposePrice(address,bytes32,uint256,bytes,int256)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"proposedPrice\":\"price being proposed.\",\"requester\":\"sender of the initial price request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"totalBond\":\"the amount that's pulled from the proposer's wallet as a bond. The bond will be returned to the proposer once settled if the proposal is correct.\"}},\"proposePriceFor(address,address,bytes32,uint256,bytes,int256)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"proposedPrice\":\"price being proposed.\",\"proposer\":\"address to set as the proposer.\",\"requester\":\"sender of the initial price request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"totalBond\":\"the amount that's pulled from the caller's wallet as a bond. The bond will be returned to the proposer once settled if the proposal is correct.\"}},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"removeRequestManager(address)\":{\"details\":\"Only callable by the config admin (checked in revokeRole of AccessControlUpgradeable).\",\"params\":{\"requestManager\":\"address of the request manager to remove.\"}},\"renounceRole(bytes32,address)\":{\"details\":\"See {AccessControl-renounceRole}. For the `DEFAULT_ADMIN_ROLE`, it only allows renouncing in two steps by first calling {beginDefaultAdminTransfer} to the `address(0)`, so it's required that the {pendingDefaultAdmin} schedule has also passed when calling this function. After its execution, it will not be possible to call `onlyRole(DEFAULT_ADMIN_ROLE)` functions. NOTE: Renouncing `DEFAULT_ADMIN_ROLE` will leave the contract without a {defaultAdmin}, thereby disabling any functionality that is only available for it, and the possibility of reassigning a non-administrated role.\"},\"requestManagerSetBond(address,bytes32,bytes,address,uint256)\":{\"details\":\"This would also override any subsequent calls to setBond() by the requester.\",\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"bond\":\"custom bond amount to set.\",\"currency\":\"ERC20 token used for payment of rewards and fees. Must be approved for use with the DVM.\",\"identifier\":\"price identifier to identify the existing request.\",\"requester\":\"sender of the initial price request.\"}},\"requestManagerSetCustomLiveness(address,bytes32,bytes,uint256)\":{\"details\":\"This would also override any subsequent calls to setLiveness() by the requester.\",\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"customLiveness\":\"new custom liveness.\",\"identifier\":\"price identifier to identify the existing request.\",\"requester\":\"sender of the initial price request.\"}},\"requestManagerSetProposerWhitelist(address,bytes32,bytes,address)\":{\"details\":\"This can also be set in advance of the request as the timestamp is omitted from the mapping key derivation.\",\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"requester\":\"sender of the initial price request.\",\"whitelist\":\"address of the whitelist to set.\"}},\"requestPrice(bytes32,uint256,bytes,address,uint256)\":{\"params\":{\"ancillaryData\":\"ancillary data representing additional args being passed with the price request.\",\"currency\":\"ERC20 token used for payment of rewards and fees. Must be approved for use with the DVM.\",\"identifier\":\"price identifier being requested.\",\"reward\":\"reward offered to a successful proposer. Will be pulled from the caller. Note: this can be 0, which could make sense if the contract requests and proposes the value in the same call or provides its own reward system.\",\"timestamp\":\"timestamp of the price being requested.\"},\"returns\":{\"totalBond\":\"default bond (final fee) + final fee that the proposer and disputer will be required to pay. This can be changed with a subsequent call to setBond().\"}},\"revokeRole(bytes32,address)\":{\"details\":\"See {AccessControl-revokeRole}. Reverts for `DEFAULT_ADMIN_ROLE`.\"},\"rollbackDefaultAdminDelay()\":{\"details\":\"Cancels a scheduled {defaultAdminDelay} change. Requirements: - Only can be called by the current {defaultAdmin}. May emit a DefaultAdminDelayChangeCanceled event.\"},\"setAllowedBondRange(address,(uint128,uint128))\":{\"details\":\"This can be used to limit the bond amount that can be set by request managers, callable by the config admin.\",\"params\":{\"currency\":\"the ERC20 token used for bonding proposals and disputes. Must be approved for use with the DVM.\",\"newRange\":\"new allowed range for the bond.\"}},\"setBond(bytes32,uint256,bytes,uint256)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"bond\":\"custom bond amount to set.\",\"identifier\":\"price identifier to identify the existing request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"totalBond\":\"new bond + final fee that the proposer and disputer will be required to pay. This can be changed again with a subsequent call to setBond().\"}},\"setCallbacks(bytes32,uint256,bytes,bool,bool,bool)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"callbackOnPriceDisputed\":\"whether to enable the callback onPriceDisputed.\",\"callbackOnPriceProposed\":\"whether to enable the callback onPriceProposed.\",\"callbackOnPriceSettled\":\"whether to enable the callback onPriceSettled.\",\"identifier\":\"price identifier to identify the existing request.\",\"timestamp\":\"timestamp to identify the existing request.\"}},\"setCustomLiveness(bytes32,uint256,bytes,uint256)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"customLiveness\":\"new custom liveness.\",\"identifier\":\"price identifier to identify the existing request.\",\"timestamp\":\"timestamp to identify the existing request.\"}},\"setDefaultProposerWhitelist(address)\":{\"details\":\"Only callable by the config admin.\",\"params\":{\"whitelist\":\"address of the whitelist to set.\"}},\"setEventBased(bytes32,uint256,bytes)\":{\"details\":\"Calling this method has a few impacts on the request: 1. The timestamp at which the request is evaluated is the time of the proposal, not the timestamp associated with the request. 2. The proposer cannot propose the \\\"too early\\\" value (TOO_EARLY_RESPONSE). This is to ensure that a proposer who prematurely proposes a response loses their bond. 3. RefundoOnDispute is automatically set, meaning disputes trigger the reward to be automatically refunded to the requesting contract.\",\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"timestamp\":\"timestamp to identify the existing request.\"}},\"setMinimumLiveness(uint256)\":{\"details\":\"This can be used to limit the liveness period that can be set by request managers, callable by the config admin.\",\"params\":{\"_minimumLiveness\":\"new minimum liveness period.\"}},\"setRefundOnDispute(bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"timestamp\":\"timestamp to identify the existing request.\"}},\"setRequesterWhitelist(address)\":{\"details\":\"Only callable by the config admin.\",\"params\":{\"whitelist\":\"address of the whitelist to set.\"}},\"settle(address,bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"requester\":\"sender of the initial price request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"payout\":\"the amount that the \\\"winner\\\" (proposer or disputer) receives on settlement. This amount includes the returned bonds as well as additional rewards.\"}},\"settleAndGetPrice(bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"_0\":\"resolved price.\"}},\"stampAncillaryData(bytes,address)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"requester\":\"sender of the initial price request.\"},\"returns\":{\"_0\":\"the stamped ancillary bytes.\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"__gap\":{\"details\":\"Reserve storage slots for future versions of this base contract to add state variables without affecting the storage layout of child contracts. Decrement the size of __gap whenever state variables are added. This is at the bottom of contract to make sure its always at the end of storage. See https://docs.openzeppelin.com/upgrades-plugins/writing-upgradeable#storage-gaps\"}},\"title\":\"Managed Optimistic Oracle V2.\",\"version\":1},\"userdoc\":{\"errors\":{\"AncillaryDataTooLong()\":[{\"notice\":\"Thrown when ancillary data exceeds the allowed limit.\"}],\"BondBelowMinimumBond()\":[{\"notice\":\"Thrown when a bond is set lower than the minimum allowed bond.\"}],\"BondExceedsMaximumBond()\":[{\"notice\":\"Thrown when a bond is set higher than the maximum allowed bond.\"}],\"CannotProposeTooEarly()\":[{\"notice\":\"Thrown when trying to propose the \\\"too early\\\" response for event-based requests.\"}],\"DisputerAddressCannotBeZero()\":[{\"notice\":\"Thrown when a disputer address is zero.\"}],\"LivenessCannotBeZero()\":[{\"notice\":\"Thrown when liveness period cannot be zero.\"}],\"LivenessTooLarge()\":[{\"notice\":\"Thrown when liveness period is too large.\"}],\"LivenessTooLow()\":[{\"notice\":\"Thrown when a liveness is set lower than the minimum allowed liveness.\"}],\"MinimumBondAboveMaximumBond()\":[{\"notice\":\"Thrown when minimum bond is higher than maximum bond.\"}],\"ProposerAddressCannotBeZero()\":[{\"notice\":\"Thrown when a proposer address is zero.\"}],\"ProposerNotWhitelisted()\":[{\"notice\":\"Thrown when a proposer is not on the effective proposer whitelist.\"}],\"RequestNotSettleable()\":[{\"notice\":\"Thrown when trying to settle a request that is not settleable.\"}],\"RequestStateNotInvalid()\":[{\"notice\":\"Thrown when a request is not in the expected Invalid state.\"}],\"RequestStateNotProposed()\":[{\"notice\":\"Thrown when a request is not in the expected Proposed state.\"}],\"RequestStateNotRequested()\":[{\"notice\":\"Thrown when a request is not in the expected Requested state.\"}],\"RequesterNotWhitelisted()\":[{\"notice\":\"Thrown when a requester is not on the requester whitelist.\"}],\"SenderNotWhitelisted()\":[{\"notice\":\"Thrown when the message sender is not on the effective proposer whitelist for a proposal.\"}],\"TimestampInFuture()\":[{\"notice\":\"Thrown when a timestamp is in the future.\"}],\"UnsupportedCurrency()\":[{\"notice\":\"Thrown when a currency is not supported by the collateral whitelist.\"}],\"UnsupportedIdentifier()\":[{\"notice\":\"Thrown when an identifier is not supported by the identifier whitelist.\"}],\"UnsupportedWhitelistInterface()\":[{\"notice\":\"Thrown when a whitelist does not support the required interface.\"}],\"ZeroBondNotAllowed()\":[{\"notice\":\"Thrown when a zero value bond is set.\"}]},\"kind\":\"user\",\"methods\":{\"addRequestManager(address)\":{\"notice\":\"Adds a request manager.\"},\"disputePrice(address,bytes32,uint256,bytes)\":{\"notice\":\"Disputes a price value for an existing price request with an active proposal.\"},\"disputePriceFor(address,address,bytes32,uint256,bytes)\":{\"notice\":\"Disputes a price request with an active proposal on another address' behalf. Note: this address will receive any rewards that come from this dispute. However, any bonds are pulled from the caller.\"},\"getCustomProposerWhitelist(address,bytes32,bytes)\":{\"notice\":\"Gets the custom proposer whitelist for a request.\"},\"getManagedRequestId(address,bytes32,bytes)\":{\"notice\":\"Gets the ID for a managed request.\"},\"getProposerWhitelistWithEnabledStatus(address,bytes32,bytes)\":{\"notice\":\"Returns the proposer whitelist and whether whitelist is enabled for a given request.\"},\"getRequest(address,bytes32,uint256,bytes)\":{\"notice\":\"Gets the current data structure containing all information about a price request.\"},\"getState(address,bytes32,uint256,bytes)\":{\"notice\":\"Computes the current state of a price request. See the State enum for more details.\"},\"hasPrice(address,bytes32,uint256,bytes)\":{\"notice\":\"Checks if a given request has resolved, expired or been settled (i.e the optimistic oracle has a price).\"},\"initialize(uint256,address,address)\":{\"notice\":\"Initializer (external).\"},\"initialize(uint256,address,address,address,(address,(uint128,uint128))[],uint256,address,address)\":{\"notice\":\"Initializer.\"},\"proposePrice(address,bytes32,uint256,bytes,int256)\":{\"notice\":\"Proposes a price value for an existing price request.\"},\"proposePriceFor(address,address,bytes32,uint256,bytes,int256)\":{\"notice\":\"Proposes a price value on another address' behalf. Note: this address will receive any rewards that come from this proposal. However, any bonds are pulled from the caller.\"},\"removeRequestManager(address)\":{\"notice\":\"Removes a request manager.\"},\"requestManagerSetBond(address,bytes32,bytes,address,uint256)\":{\"notice\":\"Set the proposal bond associated with a price request.\"},\"requestManagerSetCustomLiveness(address,bytes32,bytes,uint256)\":{\"notice\":\"Sets a custom liveness value for the request. Liveness is the amount of time a proposal must wait before being auto-resolved.\"},\"requestManagerSetProposerWhitelist(address,bytes32,bytes,address)\":{\"notice\":\"Sets the proposer whitelist for a request.\"},\"requestPrice(bytes32,uint256,bytes,address,uint256)\":{\"notice\":\"Requests a new price.\"},\"setAllowedBondRange(address,(uint128,uint128))\":{\"notice\":\"Sets the bounds for a bond that can be set for a request.\"},\"setBond(bytes32,uint256,bytes,uint256)\":{\"notice\":\"Set the proposal bond associated with a price request.\"},\"setCallbacks(bytes32,uint256,bytes,bool,bool,bool)\":{\"notice\":\"Sets which callbacks should be enabled for the request.\"},\"setCustomLiveness(bytes32,uint256,bytes,uint256)\":{\"notice\":\"Sets a custom liveness value for the request. Liveness is the amount of time a proposal must wait before being auto-resolved.\"},\"setDefaultProposerWhitelist(address)\":{\"notice\":\"Sets the default proposer whitelist.\"},\"setEventBased(bytes32,uint256,bytes)\":{\"notice\":\"Sets the request to be an \\\"event-based\\\" request.\"},\"setMinimumLiveness(uint256)\":{\"notice\":\"Sets the minimum liveness that can be set for a request.\"},\"setRefundOnDispute(bytes32,uint256,bytes)\":{\"notice\":\"Sets the request to refund the reward if the proposal is disputed. This can help to \\\"hedge\\\" the caller in the event of a dispute-caused delay. Note: in the event of a dispute, the winner still receives the other's bond, so there is still profit to be made even if the reward is refunded.\"},\"setRequesterWhitelist(address)\":{\"notice\":\"Sets the requester whitelist.\"},\"settle(address,bytes32,uint256,bytes)\":{\"notice\":\"Attempts to settle an outstanding price request. Will revert if it isn't settleable.\"},\"settleAndGetPrice(bytes32,uint256,bytes)\":{\"notice\":\"Retrieves a price that was previously requested by a caller. Reverts if the request is not settled or settleable. Note: this method is not view so that this call may actually settle the price request if it hasn't been settled.\"},\"stampAncillaryData(bytes,address)\":{\"notice\":\"Generates stamped ancillary data in the format that it would be used in the case of a price dispute.\"}},\"notice\":\"Pre-DVM escalation contract that allows faster settlement and management of price requests.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol\":\"ManagedOptimisticOracleV2\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x85a70e2b1b65e9ba456add364d22b97eb9944083df1c39c0b4bd6a4b5aa386a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d32a33be6ca4d8e89b9e82e3f9cec7a6c4e040534152313ff55da85b8f193059\",\"dweb:/ipfs/QmeR55L8t2A8xZ1nvT5y4yVWfFbbmpaGAtGBMz3GGNpuyP\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol\":{\"keccak256\":\"0x2922ed589f7063a685dffc9297f8b669c1e86f2fde9078c08d8bff079cf636a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0bd42676681a1c4563f61a767bfbc50ef207544a3d6eee9aa66830cc15ccb679\",\"dweb:/ipfs/QmRMCKEXNWJq1EdCjNQtTXf9tuppnyGtaiBCiNk3TYVcK1\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x6694b63ddb2c59bbe341c846171798350e8f72fa02189fcdeaca864e28b54e1f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d945d33e2189ac4e531e4ed228f59ca957b3898c4f9051f4b8c7ae44d72b23a\",\"dweb:/ipfs/QmRcEwubTe3xyXxthijs5fVzEgUFSxeddjd5PGfhBnkunX\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xbff9f59c84e5337689161ce7641c0ef8e872d6a7536fbc1f5133f128887aba3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b308f882e796f7b79c9502deacb0a62983035c6f6f4e962b319ba6a1f4a77d3d\",\"dweb:/ipfs/QmaWCW7ahEQqFjwhSUhV7Ae7WhfNvzSpE7DQ58hvEooqPL\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol\":{\"keccak256\":\"0x956d6404c7b61b920a9ccbc9918f94a2bd3004de3dd13310995eda5bc17f1ead\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c12dc67a285548d455683db60f1ed845c03ac3c27f8f24f905defd3c54601406\",\"dweb:/ipfs/QmXDaxKsnq6RxH44VPSqxjLyygdXn3GR1o6W9pr2iXzjZq\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol\":{\"keccak256\":\"0x21529ba6918f994ec44fb97cef2b717d730268e911a4e626f3e425a4394f7bae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10949be539eb61e5ea8996cc93f21be61949c16a1b717adc2b3f8f099c1e1feb\",\"dweb:/ipfs/QmagATozhFXBUVTLaiHWyqVPgew9N1x18V6hBF46AZPeLw\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508\",\"dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"lib/openzeppelin-contracts/contracts/utils/Arrays.sol\":{\"keccak256\":\"0xa4b9958797e0e9cde82a090525e90f80d5745ba1c67ee72b488bd3087498a17e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9344f7c2f80322c2e76d9d89bed03fd12f3e011e74fde7cf24ea21bdd2abe2d\",\"dweb:/ipfs/QmPMAjF5x2fHUAee2FKMZDBbFVrbZbPCr3a9KHLZaSn1zY\"]},\"lib/openzeppelin-contracts/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2\",\"dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x27c3c648062924bd44cd6f38541c78e6de145dd49515ee62321e42fc1b72e5c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cce2ebc0392b5a96f5c7bbaaf5c3d23c0e7190e64cfa05a49978badc1496141\",\"dweb:/ipfs/QmYQC1U12igR1osVyjRHaHiiTgYYuPjncAxwmjbZ452dCL\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x1fc283df727585919c3db301b948a3e827aee16917457ad7f916db9da2228e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4f4b5e2cd0ebc3b74e41e4e94771a0417eedd9b11cec3ef9f90b2ac2989264b\",\"dweb:/ipfs/QmZmsEsvsXiwAyAe1YeoLSKezeFcvR1giUeEY6ex4zpsTS\"]},\"lib/protocol/packages/core/contracts/common/implementation/AncillaryData.sol\":{\"keccak256\":\"0x8ff33ac32d3e6de25de9e0ac2c0ff9a621f187fa97e9ee84092b327471baa3ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0bbaed49756e8cf7ef405e132f441cd7a735ac6186a200b0179147e7d137b74a\",\"dweb:/ipfs/QmeSBJX5a61LZPxbkUKS2NF4LSxemgDwjD65fCAmyP7PX2\"]},\"lib/protocol/packages/core/contracts/common/implementation/Lockable.sol\":{\"keccak256\":\"0x41d78fcce54598ad5f26bc0b778c0f4fedbd836401625e49e736979f69a87ef0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ce111bb50441ef5125e7d42284f6debbc17fd589515d7b8cede7e9d1d5f0ede\",\"dweb:/ipfs/QmaXiXACWVEDDHoCHNXdVBoNpf8QNHkUZ1kf5MfbxfL6jj\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/implementation/Constants.sol\":{\"keccak256\":\"0xe40957105a9240c6bcb9753fd0011fe9f382c437cd6771c57bf7a96f8ceb9c84\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cbf0d25e841b1f5c4022d09fb29220cb428139443cb29c4ab8dbfff71dffcc05\",\"dweb:/ipfs/QmSVVr5wH1tZi6WmKyuy1K8yS6JN4DeK5kWaZpPKtXiqkK\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/FinderInterface.sol\":{\"keccak256\":\"0x9166fbfe08e954eb86d33c114fcde7ce4fd0dda5d9d28b31210582bfc769fa86\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e611e12bcaaebfdf65b67c566ff1d34708e757f01a445bd87c55862e89383b81\",\"dweb:/ipfs/QmYNSq5oopTShdS6j4VWKqoLxmQSRKmWebCxw6K4LfmKrf\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/IdentifierWhitelistInterface.sol\":{\"keccak256\":\"0x9ae86a30dd1a8c03fb2c6d27be570bb30c4c0b13ac63cde8620b7e4b51d88dc9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a71d2aff48e075ecab56a9c9767775d1d77e04ec9191fed124e71003220549e3\",\"dweb:/ipfs/QmYPWsZXro6fzqpZY6UxQ5X8znEXfLp2sun8oXzdz8bTyc\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/OracleAncillaryInterface.sol\":{\"keccak256\":\"0xd58b41fe1e389f7871db7c04f2c05c1aac1d0455bbc521534da81fd657016a1f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cc532e9c550bb1bba0daa33fda748590cd06ce94a9566fe65dac04e7d40977bc\",\"dweb:/ipfs/QmZKvfRW2LJFt5MWZbKuU9ujkXnS2hkPUJVj8wwJWcuZGX\"]},\"src/common/implementation/AddressLegacy.sol\":{\"keccak256\":\"0x441f6c1a04ebb7ad44e54e1b9e3a6ca9f2468358842f93ec73e392f928daf85f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2cba7f3e831503913b6a147eec2f5fc6a2c5cdf1df11ae65582a42c5680ecd\",\"dweb:/ipfs/QmdBEXFnViR66ibJeyjKNh2xJoY8v1y3u3u1D9UXdPawFA\"]},\"src/common/implementation/AddressWhitelist.sol\":{\"keccak256\":\"0xa3b999d7b717c1bf4bb1b958ef5e26717ad965babe994aa8db3fb301f240c876\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7e1c4c81902a72dcf579e28f922f4910aadf5edaee4b2a4defe60c61dc00fbca\",\"dweb:/ipfs/QmUMZbko39hTe8epg77B8k9XYGmKNxLjnkLdd6x8v2xDyV\"]},\"src/common/implementation/LockableUpgradeable.sol\":{\"keccak256\":\"0x1a10eec9d7f12b051d343c65016a9c60a4bece53da4da2eceb8a8dc007b336e2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://9b8c203e136583fa946e4ae0e7bc9774837f865f8b319daa97c84ceb8a16c95b\",\"dweb:/ipfs/QmPJPPL27TB8qt66ZHquDCYtuubcTStRqxn4nxQnehMdA2\"]},\"src/common/implementation/MultiCaller.sol\":{\"keccak256\":\"0x1cef2a13b361679c2ef5d0d97fcbb0ae0cf4858b97a6dd8ab68e3974ea5ffe4a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ad81f2964ce1b40a8ee56a56612d6b773f260e5a3381dc50cd85ba1f9f6af46f\",\"dweb:/ipfs/QmU3Pbxq8rMhGKqNiBa6vWqtiHw9RzdZ4zbTayhgGdyAnz\"]},\"src/common/interfaces/AddressWhitelistInterface.sol\":{\"keccak256\":\"0x126b2bc590041cf213c274bedc91c06a263ddff5e11a090be80d7db8b1cb0d8f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0f47e32816f895d4a3a060eded9bba7853eff6a6d99c3de5b4d1ca8359ce1c49\",\"dweb:/ipfs/QmVWt7xTr68owupHSUUJNfV2N3n2bTvTWtXCDtu8k3uVBN\"]},\"src/common/interfaces/FixedPointInterface.sol\":{\"keccak256\":\"0xceca09e6aa78c97698fa0b1f40657f6c3c723d5d94150ef6476affb9671df753\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d5d1b01017749d96befb5c2e8a8c6d9dd041f57e1d9a66238c296cc28512d2e5\",\"dweb:/ipfs/QmVPiky59JTngjwZNdxbmD7H1Lwa5AgTjzv975wSnavFFy\"]},\"src/data-verification-mechanism/interfaces/StoreInterface.sol\":{\"keccak256\":\"0x1905509e908c6a9b8b3a89449d2d86fd7192d0e588cbe542edd21351d9971ee5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://346e602f41469943453fbe039bf7554b23e1eba3128ff3858d32b35ebcc2ae88\",\"dweb:/ipfs/QmcjZ73TwMjondBDKEHyZ9KUjZzcxsy6Dmqs8QxPK3KBde\"]},\"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol\":{\"keccak256\":\"0xc9d7a66b24fdae13296742642c015e563ee14c2b14aa5d2e27feb9dcd9251420\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47f9fb2885988c20219b93679f3f840b24f7abafa98ed3c09e8a072bc002b6f8\",\"dweb:/ipfs/QmZGW9Jmbsm5ddbsCcVxBeLqV5vvtiXAunjhTg8KYJwLzj\"]},\"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol\":{\"keccak256\":\"0xa0552c2797adccd632c07e77795cf258ff13e2cc435a14a7c530ea0f8acb49c2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ce250692f3db536caf05b193754741f62682c6bcac542780b1acc4b2fbf8bb25\",\"dweb:/ipfs/QmSQTPq4goBfGYfxV2V5B78y4PADfvjJsbPrKedoQxuS2h\"]},\"src/optimistic-oracle-v2/interfaces/ManagedOptimisticOracleV2Interface.sol\":{\"keccak256\":\"0xc852903a36f8ef8224be0f3769df0bbda8ae51a30e307546f16397af2fa26de1\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7e1cc2d1655db300d72b8005d2387efde447c71a723efa46db823cff376aff3e\",\"dweb:/ipfs/QmUDwx2TjTkf6JjFTJ3kRDoWdtUaUTdk35PJSDhJni9mFo\"]},\"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol\":{\"keccak256\":\"0x33a251fab5e475a286832db9bc3aabf7f597497f07e06c2da8779d4f486336d1\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e8789e875af4c98c16a085279a5dd545fe2fe32716e66c41343ea0edaf8fad9f\",\"dweb:/ipfs/QmQTzL8h24WkcfchRfSRrCysAfSprVCF2RNc4AMQTchTyZ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":63821,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"requests","offset":0,"slot":"0","type":"t_mapping(t_bytes32,t_struct(Request)63797_storage)"},{"astId":64048,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)49_storage"},{"astId":60594,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"_notEntered","offset":0,"slot":"50","type":"t_bool"},{"astId":60674,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"__gap","offset":0,"slot":"51","type":"t_array(t_uint256)49_storage"},{"astId":61862,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"finder","offset":0,"slot":"100","type":"t_contract(FinderInterface)56983"},{"astId":61865,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"defaultLiveness","offset":0,"slot":"101","type":"t_uint256"},{"astId":63543,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)998_storage"},{"astId":60758,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"__gap","offset":0,"slot":"1100","type":"t_array(t_uint256)50_storage"},{"astId":60900,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"defaultProposerWhitelist","offset":0,"slot":"1150","type":"t_contract(AddressWhitelistInterface)60790"},{"astId":60903,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"requesterWhitelist","offset":0,"slot":"1151","type":"t_contract(AddressWhitelistInterface)60790"},{"astId":60911,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"customBonds","offset":0,"slot":"1152","type":"t_mapping(t_bytes32,t_mapping(t_contract(IERC20)43048,t_struct(CustomBond)60882_storage))"},{"astId":60916,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"customLivenessValues","offset":0,"slot":"1153","type":"t_mapping(t_bytes32,t_struct(CustomLiveness)60887_storage)"},{"astId":60921,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"customProposerWhitelists","offset":0,"slot":"1154","type":"t_mapping(t_bytes32,t_contract(AddressWhitelistInterface)60790)"},{"astId":60927,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"allowedBondRanges","offset":0,"slot":"1155","type":"t_mapping(t_contract(IERC20)43048,t_struct(BondRange)60870_storage)"},{"astId":60929,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"minimumLiveness","offset":0,"slot":"1156","type":"t_uint256"},{"astId":61770,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"__gap","offset":0,"slot":"1157","type":"t_array(t_uint256)993_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_array(t_uint256)993_storage":{"encoding":"inplace","label":"uint256[993]","numberOfBytes":"31776","base":"t_uint256"},"t_array(t_uint256)998_storage":{"encoding":"inplace","label":"uint256[998]","numberOfBytes":"31936","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(AddressWhitelistInterface)60790":{"encoding":"inplace","label":"contract AddressWhitelistInterface","numberOfBytes":"20"},"t_contract(FinderInterface)56983":{"encoding":"inplace","label":"contract FinderInterface","numberOfBytes":"20"},"t_contract(IERC20)43048":{"encoding":"inplace","label":"contract IERC20","numberOfBytes":"20"},"t_int256":{"encoding":"inplace","label":"int256","numberOfBytes":"32"},"t_mapping(t_bytes32,t_contract(AddressWhitelistInterface)60790)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => contract AddressWhitelistInterface)","numberOfBytes":"32","value":"t_contract(AddressWhitelistInterface)60790"},"t_mapping(t_bytes32,t_mapping(t_contract(IERC20)43048,t_struct(CustomBond)60882_storage))":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => mapping(contract IERC20 => struct ManagedOptimisticOracleV2.CustomBond))","numberOfBytes":"32","value":"t_mapping(t_contract(IERC20)43048,t_struct(CustomBond)60882_storage)"},"t_mapping(t_bytes32,t_struct(CustomLiveness)60887_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct ManagedOptimisticOracleV2.CustomLiveness)","numberOfBytes":"32","value":"t_struct(CustomLiveness)60887_storage"},"t_mapping(t_bytes32,t_struct(Request)63797_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct OptimisticOracleV2Interface.Request)","numberOfBytes":"32","value":"t_struct(Request)63797_storage"},"t_mapping(t_contract(IERC20)43048,t_struct(BondRange)60870_storage)":{"encoding":"mapping","key":"t_contract(IERC20)43048","label":"mapping(contract IERC20 => struct ManagedOptimisticOracleV2.BondRange)","numberOfBytes":"32","value":"t_struct(BondRange)60870_storage"},"t_mapping(t_contract(IERC20)43048,t_struct(CustomBond)60882_storage)":{"encoding":"mapping","key":"t_contract(IERC20)43048","label":"mapping(contract IERC20 => struct ManagedOptimisticOracleV2.CustomBond)","numberOfBytes":"32","value":"t_struct(CustomBond)60882_storage"},"t_struct(BondRange)60870_storage":{"encoding":"inplace","label":"struct ManagedOptimisticOracleV2.BondRange","numberOfBytes":"32","members":[{"astId":60867,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"minimumBond","offset":0,"slot":"0","type":"t_uint128"},{"astId":60869,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"maximumBond","offset":16,"slot":"0","type":"t_uint128"}]},"t_struct(CustomBond)60882_storage":{"encoding":"inplace","label":"struct ManagedOptimisticOracleV2.CustomBond","numberOfBytes":"64","members":[{"astId":60879,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"amount","offset":0,"slot":"0","type":"t_uint256"},{"astId":60881,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"isSet","offset":0,"slot":"1","type":"t_bool"}]},"t_struct(CustomLiveness)60887_storage":{"encoding":"inplace","label":"struct ManagedOptimisticOracleV2.CustomLiveness","numberOfBytes":"64","members":[{"astId":60884,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"liveness","offset":0,"slot":"0","type":"t_uint256"},{"astId":60886,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"isSet","offset":0,"slot":"1","type":"t_bool"}]},"t_struct(Request)63797_storage":{"encoding":"inplace","label":"struct OptimisticOracleV2Interface.Request","numberOfBytes":"352","members":[{"astId":63776,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"proposer","offset":0,"slot":"0","type":"t_address"},{"astId":63778,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"disputer","offset":0,"slot":"1","type":"t_address"},{"astId":63781,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"currency","offset":0,"slot":"2","type":"t_contract(IERC20)43048"},{"astId":63783,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"settled","offset":20,"slot":"2","type":"t_bool"},{"astId":63786,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"requestSettings","offset":0,"slot":"3","type":"t_struct(RequestSettings)63774_storage"},{"astId":63788,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"proposedPrice","offset":0,"slot":"6","type":"t_int256"},{"astId":63790,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"resolvedPrice","offset":0,"slot":"7","type":"t_int256"},{"astId":63792,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"expirationTime","offset":0,"slot":"8","type":"t_uint256"},{"astId":63794,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"reward","offset":0,"slot":"9","type":"t_uint256"},{"astId":63796,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"finalFee","offset":0,"slot":"10","type":"t_uint256"}]},"t_struct(RequestSettings)63774_storage":{"encoding":"inplace","label":"struct OptimisticOracleV2Interface.RequestSettings","numberOfBytes":"96","members":[{"astId":63761,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"eventBased","offset":0,"slot":"0","type":"t_bool"},{"astId":63763,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"refundOnDispute","offset":1,"slot":"0","type":"t_bool"},{"astId":63765,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"callbackOnPriceProposed","offset":2,"slot":"0","type":"t_bool"},{"astId":63767,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"callbackOnPriceDisputed","offset":3,"slot":"0","type":"t_bool"},{"astId":63769,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"callbackOnPriceSettled","offset":4,"slot":"0","type":"t_bool"},{"astId":63771,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"bond","offset":0,"slot":"1","type":"t_uint256"},{"astId":63773,"contract":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2","label":"customLiveness","offset":0,"slot":"2","type":"t_uint256"}]},"t_uint128":{"encoding":"inplace","label":"uint128","numberOfBytes":"16"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"60a060405230608052348015610013575f5ffd5b5061001c610029565b610024610029565b6100db565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100795760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d85780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b60805161597f6101015f395f8181612d6a01528181612d930152612ed3015261597f5ff3fe6080604052600436106103ea575f3560e01c806391d148541161020a578063b8b4f9081161011e578063cf6eefb7116100a8578063f327b07511610078578063f327b07514610d4d578063f38fdc0214610d6c578063fba7f1e314610d8c578063fe4e198314610dab578063ff8c1a8c14610dc0575f5ffd5b8063cf6eefb714610c9f578063d547741f14610cd9578063d602b9fd14610cf8578063e92706c614610d0c575f5ffd5b8063c371dda7116100ee578063c371dda714610c23578063c78ef28c14610c38578063cc8463c814610c58578063cdb21cc614610c6c578063cefc142914610c8b575f5ffd5b8063b8b4f90814610b9a578063b9a3c84c14610bb9578063ba4b930c14610bd8578063bc58ccaa14610c04575f5ffd5b8063ab328fb21161019f578063af5d2f391161016f578063af5d2f3914610a92578063afe1fcff14610ab1578063b4988fd014610afc578063b6cdb8ee14610b1b578063b873c4df14610b3a575f5ffd5b8063ab328fb2146109ea578063ac9650d814610a0a578063ad3cb1cc14610a36578063ad5a755a14610a73575f5ffd5b8063a1eda53c116101da578063a1eda53c1461095e578063a217fddf146107db578063a625b01e14610991578063a9904f9b146109be575f5ffd5b806391d148541461080457806391f58dcb1461082357806393ae2ebd146108425780639d86698514610861575f5ffd5b80634f1ef286116103015780636b821d061161029657806384ef8ffc1161026657806384ef8ffc1461077e5780638aca6afc146107925780638da5cb5b146107c75780638ffc2120146107db57806391152f10146107ee575f5ffd5b80636b821d061461070257806376c7823f146107215780637746e7ae146107405780637c82288f1461075f575f5ffd5b80635e9a79a9116102d15780635e9a79a914610686578063634e93da146106a5578063649a5ec7146106c45780636982ece0146106e3575f5ffd5b80634f1ef2861461062157806352d1902d1461063457806353b59239146106485780635845e68a14610667575f5ffd5b80632589382b11610382578063347b4dba11610352578063347b4dba1461059157806336568abe146105b0578063473c45fe146105cf5780634835698a146105ee5780634ccb56f51461060d575f5ffd5b80632589382b1461050957806329cb924d146105415780632f2ff15d1461055357806332ecce9e14610572575f5ffd5b8063120698af116103bd578063120698af1461048d5780631480db39146104ac5780631fa50cef146104cb578063248a9ca3146104ea575f5ffd5b806301ffc9a7146103ee578063022d63fb146104225780630aa6220b1461044a57806311df92f114610460575b5f5ffd5b3480156103f9575f5ffd5b5061040d61040836600461481c565b610dd7565b60405190151581526020015b60405180910390f35b34801561042d575f5ffd5b50620697805b60405165ffffffffffff9091168152602001610419565b348015610455575f5ffd5b5061045e610e01565b005b34801561046b575f5ffd5b5061047f61047a366004614913565b610e16565b604051908152602001610419565b348015610498575f5ffd5b5061045e6104a7366004614978565b610eb7565b3480156104b7575f5ffd5b5061045e6104c63660046149d3565b610f2f565b3480156104d6575f5ffd5b5061045e6104e53660046149d3565b610f5e565b3480156104f5575f5ffd5b5061047f6105043660046149ee565b610f8d565b348015610514575f5ffd5b5061047f54610529906001600160a01b031681565b6040516001600160a01b039091168152602001610419565b34801561054c575f5ffd5b504261047f565b34801561055e575f5ffd5b5061045e61056d366004614a05565b610fad565b34801561057d575f5ffd5b5061045e61058c3660046149ee565b610fd9565b34801561059c575f5ffd5b5061045e6105ab366004614a33565b611008565b3480156105bb575f5ffd5b5061045e6105ca366004614a05565b6110ce565b3480156105da575f5ffd5b5061045e6105e9366004614a9a565b611190565b3480156105f9575f5ffd5b5061047f610608366004614aed565b6111ff565b348015610618575f5ffd5b5061047f611235565b61045e61062f366004614b2b565b611245565b34801561063f575f5ffd5b5061047f611260565b348015610653575f5ffd5b5061047f610662366004614978565b61127b565b348015610672575f5ffd5b5061045e610681366004614b77565b6112d8565b348015610691575f5ffd5b5061047f6106a0366004614bb5565b611310565b3480156106b0575f5ffd5b5061045e6106bf3660046149d3565b61133f565b3480156106cf575f5ffd5b5061045e6106de366004614c13565b611352565b3480156106ee575f5ffd5b5061045e6106fd366004614c38565b611365565b34801561070d575f5ffd5b5061045e61071c3660046149d3565b6113f5565b34801561072c575f5ffd5b5061047f61073b366004614c77565b611424565b34801561074b575f5ffd5b5061052961075a366004614aed565b61178c565b34801561076a575f5ffd5b5061047f610779366004614ce7565b6117c5565b348015610789575f5ffd5b5061052961196e565b34801561079d575f5ffd5b506105296107ac3660046149ee565b6104826020525f90815260409020546001600160a01b031681565b3480156107d2575f5ffd5b50610529611989565b3480156107e6575f5ffd5b5061047f5f81565b3480156107f9575f5ffd5b5061047f6104845481565b34801561080f575f5ffd5b5061040d61081e366004614a05565b611997565b34801561082e575f5ffd5b5061045e61083d366004614978565b6119cd565b34801561084d575f5ffd5b5061045e61085c366004614d61565b611a49565b34801561086c575f5ffd5b5061094861087b3660046149ee565b5f6020818152918152604090819020805460018201546002830154845160e081018652600385015460ff8082161515835261010082048116151598830198909852620100008104881615159682019690965263010000008604871615156060820152640100000000909504861615156080860152600484015460a0860152600584015460c08601526006840154600785015460088601546009870154600a909701546001600160a01b03968716999587169896851697600160a01b9095049095169594929391929091908a565b6040516104199a99989796959493929190614def565b348015610969575f5ffd5b50610972611b8e565b6040805165ffffffffffff938416815292909116602083015201610419565b34801561099c575f5ffd5b506109b06109ab366004614aed565b611bfd565b604051610419929190614e56565b3480156109c9575f5ffd5b506109dd6109d8366004614bb5565b611ce5565b6040516104199190614eae565b3480156109f5575f5ffd5b5061047e54610529906001600160a01b031681565b348015610a15575f5ffd5b50610a29610a24366004614f5b565b611e92565b6040516104199190614ff8565b348015610a41575f5ffd5b50610a66604051806040016040528060058152602001640352e302e360dc1b81525081565b604051610419919061505b565b348015610a7e575f5ffd5b5061047f610a8d366004614a9a565b611fd8565b348015610a9d575f5ffd5b50610a66610aac36600461506d565b612057565b348015610abc575f5ffd5b50610ae7610acb3660046149ee565b6104816020525f90815260409020805460019091015460ff1682565b60408051928352901515602083015201610419565b348015610b07575f5ffd5b5061045e610b163660046150b0565b612063565b348015610b26575f5ffd5b5061045e610b353660046149d3565b61215e565b348015610b45575f5ffd5b50610b7a610b543660046149d3565b6104836020525f90815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610419565b348015610ba5575f5ffd5b5061047f610bb43660046150ef565b612185565b348015610bc4575f5ffd5b50606454610529906001600160a01b031681565b348015610be3575f5ffd5b50610bf7610bf2366004614bb5565b612194565b6040516104199190615168565b348015610c0f575f5ffd5b5061040d610c1e366004614bb5565b6121a9565b348015610c2e575f5ffd5b5061047f61200081565b348015610c43575f5ffd5b5061047f5f51602061588a5f395f51905f5281565b348015610c63575f5ffd5b50610433612217565b348015610c77575f5ffd5b5061045e610c8636600461518e565b612292565b348015610c96575f5ffd5b5061045e612448565b348015610caa575f5ffd5b50610cb3612487565b604080516001600160a01b03909316835265ffffffffffff909116602083015201610419565b348015610ce4575f5ffd5b5061045e610cf3366004614a05565b6124b4565b348015610d03575f5ffd5b5061045e6124dc565b348015610d17575f5ffd5b50610ae7610d26366004614a05565b61048060209081525f92835260408084209091529082529020805460019091015460ff1682565b348015610d58575f5ffd5b5061045e610d67366004615273565b6124ee565b348015610d77575f5ffd5b5061047f5f5160206158ea5f395f51905f5281565b348015610d97575f5ffd5b5061047f610da6366004614bb5565b612594565b348015610db6575f5ffd5b5061047f60655481565b348015610dcb575f5ffd5b5061047f600160ff1b81565b5f6001600160e01b031982166318a4c3c360e11b1480610dfb5750610dfb826125a2565b92915050565b5f610e0b816125d6565b610e136125e0565b50565b61047f54604051631d1d5b3960e11b81523360048201525f916001600160a01b031690633a3ab67290602401602060405180830381865afa158015610e5d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e8191906152f6565b610e9e57604051630f3c7c2760e01b815260040160405180910390fd5b610eab86868686866125ec565b90505b95945050505050565b610ebf612a87565b610ec7612aaa565b6001610ed533858585612ab6565b6006811115610ee657610ee6615154565b14610f0457604051633a4e124d60e11b815260040160405180910390fd5b5f610f1133858585612be8565b600301805461ffff191661010117905550610f2a612c0e565b505050565b610f37612a87565b610f3f612aaa565b610f565f5160206158ea5f395f51905f52826124b4565b610e13612c0e565b610f66612a87565b610f6e612aaa565b610f845f51602061588a5f395f51905f526125d6565b610f5681612c1d565b5f9081525f51602061590a5f395f51905f52602052604090206001015490565b81610fcb57604051631fe1e13d60e11b815260040160405180910390fd5b610fd58282612c70565b5050565b610fe1612a87565b610fe9612aaa565b610fff5f51602061588a5f395f51905f526125d6565b610f5681612c8c565b611010612a87565b611018612aaa565b61102e5f5160206158ea5f395f51905f526125d6565b6001600160a01b038116156110465761104681612cd1565b5f6110528585856111ff565b5f81815261048260205260409081902080546001600160a01b0319166001600160a01b038616908117909155905191925090859083907f6176bed8b34e20579b664c32ad00534f173e1f7c4410232beef89bed4464ddc0906110b7908a908990615311565b60405180910390a4506110c8612c0e565b50505050565b5f5160206158ca5f395f51905f528215801561110257506110ed61196e565b6001600160a01b0316826001600160a01b0316145b15611186575f5f611111612487565b90925090506001600160a01b038216151580611133575065ffffffffffff8116155b8061114657504265ffffffffffff821610155b15611173576040516319ca5ebb60e01b815265ffffffffffff821660048201526024015b60405180910390fd5b5050805465ffffffffffff60a01b191681555b610f2a8383612cff565b611198612a87565b6111a0612aaa565b60016111ae33868686612ab6565b60068111156111bf576111bf615154565b146111dd57604051633a4e124d60e11b815260040160405180910390fd5b6111e681612d32565b806111f333868686612be8565b600501556110c8612c0e565b5f8383836040516020016112159392919061534b565b6040516020818303038152906040528051906020012090505b9392505050565b6112426035612000615383565b81565b61124d612d5f565b61125682612e03565b610fd58282612e0c565b5f611269612ec8565b505f5160206158aa5f395f51905f5290565b5f611284612a87565b61128c612aaa565b600661129a33868686612ab6565b60068111156112ab576112ab615154565b146112be576112bc33858585612f11565b505b6112ca33858585612be8565b60070154905061122e612c0e565b6112e0612a87565b6112e8612aaa565b6112fe5f51602061588a5f395f51905f526125d6565b611308828261320a565b610fd5612c0e565b5f611319612a87565b611321612aaa565b61132d85858585612f11565b9050611337612c0e565b949350505050565b5f611349816125d6565b610fd58261337d565b5f61135c816125d6565b610fd5826133e8565b61136d612a87565b611375612aaa565b61138b5f5160206158ea5f395f51905f526125d6565b61139481612d32565b5f6113a08585856111ff565b5f8181526104816020526040908190208490555190915084906001600160a01b0387169083907fc5314bcb93c25473b858a5086195e309861a64b4c3ddae4d0a5cb9c5fb6f30f4906110b79088908890615396565b6113fd612a87565b611405612aaa565b61141b5f51602061588a5f395f51905f526125d6565b610f5681613457565b5f61142d612a87565b611435612aaa565b6001600160a01b03861661145c5760405163bef5ceeb60e01b815260040160405180910390fd5b600261146a86868686612ab6565b600681111561147b5761147b615154565b1461149957604051631bc1990760e31b815260040160405180910390fd5b5f6114a686868686612be8565b6001810180546001600160a01b0319166001600160a01b038a16179055600a8101546004820154919250906114db82826153b7565b935083156114fd5760028301546114fd906001600160a01b03163330876134aa565b5f611506613511565b90505f61151285613584565b61151c90856153b7565b905080156115b457600285015461153d906001600160a01b03168383613597565b611545613511565b600286015460408051602081018252848152905163432ce91960e11b81526001600160a01b03928316600482015290516024820152911690638659d232906044015f604051808303815f87803b15801561159d575f5ffd5b505af11580156115af573d5f5f3e3d5ffd5b505050505b6115bc61361e565b6001600160a01b031663216666a48a6115d5888c613657565b6115df8b8f6136a2565b6040518463ffffffff1660e01b81526004016115fd939291906153ca565b5f604051808303815f87803b158015611614575f5ffd5b505af1158015611626573d5f5f3e3d5ffd5b50505060098601545f91501580159061164857506003860154610100900460ff165b1561167157506009850180545f9091556002860154611671906001600160a01b03168c836136d2565b8b6001600160a01b0316865f015f9054906101000a90046001600160a01b03166001600160a01b03168c6001600160a01b03167f5165909c3d1c01c5d1e121ac6f6d01dda1ba24bc9e1f975b5a375339c15be7f38d8d8d8c600601546040516116dd94939291906153e8565b60405180910390a46116ed612c0e565b6001600160a01b038b163b15158015611711575060038601546301000000900460ff165b15611776576040516306c791b960e11b81526001600160a01b038c1690630d8f237290611748908d908d908d9087906004016153e8565b5f604051808303815f87803b15801561175f575f5ffd5b505af1158015611771573d5f5f3e3d5ffd5b505050505b61177e612aaa565b505050505050610eae612c0e565b5f611795612a87565b6104825f6117a48686866111ff565b815260208101919091526040015f20546001600160a01b0316949350505050565b5f5f6117d387878787612be8565b90505f6117e18888876111ff565b5f8181526104806020908152604080832060028701546001600160a01b03168452909152902054909150801561181957600483018190555b5f8281526104816020526040902054801561183657600584018190555b5f6118428b8b8a613703565b604051631d1d5b3960e11b81526001600160a01b038e8116600483015291925090821690633a3ab67290602401602060405180830381865afa15801561188a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118ae91906152f6565b6118cb57604051636ffe5a9560e01b815260040160405180910390fd5b604051631d1d5b3960e11b81523360048201526001600160a01b03821690633a3ab67290602401602060405180830381865afa15801561190d573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061193191906152f6565b61194e57604051637ed449a960e01b815260040160405180910390fd5b61195c8c8c8c8c8c8c613748565b955050505050505b9695505050505050565b5f51602061592a5f395f51905f52546001600160a01b031690565b5f61199261196e565b905090565b5f9182525f51602061590a5f395f51905f52602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6119d5612a87565b6119dd612aaa565b60016119eb33858585612ab6565b60068111156119fc576119fc615154565b14611a1a57604051633a4e124d60e11b815260040160405180910390fd5b6001611a2833858585612be8565b60030180549115156101000261ff0019909216919091179055610f2a612c0e565b611a51612a87565b611a59612aaa565b611a6f5f5160206158ea5f395f51905f526125d6565b611a77613977565b604051631d1d5b3960e11b81526001600160a01b0384811660048301529190911690633a3ab67290602401602060405180830381865afa158015611abd573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ae191906152f6565b611afe57604051631131fa7160e11b815260040160405180910390fd5b611b0882826139bd565b5f611b148686866111ff565b5f818152610480602090815260408083206001600160a01b038816808552925291829020859055905191925090869083907f4544c320b43beb5421d5149ff92fa72b40f00ac65294c4b8ca3906f08fb5a8c290611b76908b908a908990615417565b60405180910390a450611b87612c0e565b5050505050565b5f51602061592a5f395f51905f52545f90600160d01b900465ffffffffffff165f5160206158ca5f395f51905f528115801590611bd357504265ffffffffffff831610155b611bde575f5f611bf4565b6001810154600160a01b900465ffffffffffff16825b92509250509091565b60605f611c08612a87565b5f611c14868686613703565b9050806001600160a01b031663d01f63f56040518163ffffffff1660e01b81526004015f60405180830381865afa158015611c51573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611c78919081019061544a565b816001600160a01b031663184d69ab6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cb4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cd891906152f6565b9250925050935093915050565b611d6b60408051610140810182525f80825260208083018290528284018290526060808401839052845160e081018652838152918201839052938101829052928301819052608083810182905260a0840182905260c084019190915290919082019081526020015f81526020015f81526020015f81526020015f81526020015f81525090565b611d73612a87565b611d7f85858585612be8565b604080516101408101825282546001600160a01b0390811682526001840154811660208084019190915260028501549182168385015260ff600160a01b90920482161515606080850191909152845160e08082018752600388015480861615158352610100808204871615159584019590955262010000810486161515978301979097526301000000870485161515928201929092526401000000009095049092161515608085810191909152600486015460a080870191909152600587015460c08088019190915291850195909552600686015494840194909452600785015493830193909352600884015490820152600983015491810191909152600a909101546101208201529050949350505050565b6060816001600160401b03811115611eac57611eac614843565b604051908082528060200260200182016040528015611edf57816020015b6060815260200190600190039081611eca5790505b5090505f5b82811015611fd1575f8030868685818110611f0157611f016154f1565b9050602002810190611f139190615505565b604051611f2192919061554e565b5f60405180830381855af49150503d805f8114611f59576040519150601f19603f3d011682016040523d82523d5f602084013e611f5e565b606091505b509150915081611fa957604481511015611f76575f5ffd5b60048101905080806020019051810190611f90919061555d565b60405162461bcd60e51b815260040161116a919061505b565b80848481518110611fbc57611fbc6154f1565b60209081029190910101525050600101611ee4565b5092915050565b5f611fe1612a87565b611fe9612aaa565b6001611ff733878787612ab6565b600681111561200857612008615154565b1461202657604051633a4e124d60e11b815260040160405180910390fd5b5f61203333878787612be8565b60048101849055600a81015490915061204c90846153b7565b915050611337612c0e565b606061122e83836136a2565b5f61206c613a6e565b805490915060ff600160401b82041615906001600160401b03165f811580156120925750825b90505f826001600160401b031660011480156120ad5750303b155b9050811580156120bb575080155b156120d95760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561210357845460ff60401b1916600160401b1785555b61210e888888613a96565b831561215457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b612166612a87565b61216e612aaa565b610f565f5160206158ea5f395f51905f5282610fad565b5f610eab3387878787876117c5565b5f61219d612a87565b610eae85858585612ab6565b5f6121b2612a87565b5f6121bf86868686612ab6565b905060068160068111156121d5576121d5615154565b14806121f2575060058160068111156121f0576121f0615154565b145b806119645750600381600681111561220c5761220c615154565b149695505050505050565b5f51602061592a5f395f51905f52545f905f5160206158ca5f395f51905f5290600160d01b900465ffffffffffff16801580159061225c57504265ffffffffffff8216105b612276578154600160d01b900465ffffffffffff1661228b565b6001820154600160a01b900465ffffffffffff165b9250505090565b5f61229b613a6e565b805490915060ff600160401b82041615906001600160401b03165f811580156122c15750825b90505f826001600160401b031660011480156122dc5750303b155b9050811580156122ea575080155b156123085760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561233257845460ff60401b1916600160401b1785555b61233d8e8e88613a96565b6123545f51602061588a5f395f51905f5288613ac5565b506123795f5160206158ea5f395f51905f525f51602061588a5f395f51905f52613b31565b6123828c612c1d565b61238b8b613457565b5f5b898110156123e8576123e08b8b838181106123aa576123aa6154f1565b6123c092602060609092020190810191506149d3565b8c8c848181106123d2576123d26154f1565b90506060020160200161320a565b60010161238d565b506123f288612c8c565b831561243857845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050505050505050565b5f612451612487565b509050336001600160a01b0382161461247f57604051636116401160e11b815233600482015260240161116a565b610e13613b59565b5f5160206158ca5f395f51905f52546001600160a01b03811691600160a01b90910465ffffffffffff1690565b816124d257604051631fe1e13d60e11b815260040160405180910390fd5b610fd58282613bf2565b5f6124e6816125d6565b610e13613c0e565b6124f6612a87565b6124fe612aaa565b600161250c33888888612ab6565b600681111561251d5761251d615154565b1461253b57604051633a4e124d60e11b815260040160405180910390fd5b5f61254833888888612be8565b600301805463ffff00001916620100008615150263ff0000001916176301000000851515021764ff000000001916640100000000841515021790555061258c612c0e565b505050505050565b5f610eae3386868686611424565b5f6001600160e01b03198216637965db0b60e01b1480610dfb57506301ffc9a760e01b6001600160e01b0319831614610dfb565b610e138133613c18565b6125ea5f5f613c51565b565b5f6125f5612a87565b6125fd612aaa565b5f61260a33888888612ab6565b600681111561261b5761261b615154565b146126395760405163f757fcff60e01b815260040160405180910390fd5b612641613d29565b6001600160a01b03166390978d1b876040518263ffffffff1660e01b815260040161266e91815260200190565b602060405180830381865afa158015612689573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126ad91906152f6565b6126ca576040516356175d8f60e01b815260040160405180910390fd5b6126d2613977565b604051631d1d5b3960e11b81526001600160a01b0385811660048301529190911690633a3ab67290602401602060405180830381865afa158015612718573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061273c91906152f6565b61275957604051631131fa7160e11b815260040160405180910390fd5b4285111561277a576040516347860b9760e01b815260040160405180910390fd5b6127876035612000615383565b845111156127a857604051630a56acd960e01b815260040160405180910390fd5b5f6127b1613511565b604051635b97aadd60e01b81526001600160a01b0386811660048301529190911690635b97aadd90602401602060405180830381865afa1580156127f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061281b91906155d1565b5f015190506040518061014001604052805f6001600160a01b031681526020015f6001600160a01b03168152602001856001600160a01b031681526020015f151581526020016040518060e001604052805f151581526020015f151581526020015f151581526020015f151581526020015f151581526020018481526020015f81525081526020015f81526020015f81526020015f8152602001848152602001828152505f5f6128cd338b8b8b613d6f565b815260208082019290925260409081015f20835181546001600160a01b03199081166001600160a01b039283161783558585015160018401805490921690831617905584830151600283018054606080890151939094166001600160a81b031990911617600160a01b9215159290920291909117905560808086015180516003850180549783015196830151948301519383015161ffff1990981691151561ff0019169190911761010096151587021763ffff00001916620100009415159490940263ff0000001916939093176301000000921515929092029190911764ff0000000019166401000000009515159590950294909417905560a080840151600483015560c0938401516005830155840151600682015591830151600783015560e08301516008830155820151600982015561012090910151600a909101558215612a2657612a266001600160a01b0385163330866134aa565b336001600160a01b03167ff1679315ff325c257a944e0ca1bfe7b26616039e9511f9610d4ba3eca851027b888888888887604051612a6996959493929190615612565b60405180910390a2612a7c816002615657565b915050610eae612c0e565b60325460ff166125ea57604051633ee5aeb560e01b815260040160405180910390fd5b6032805460ff19169055565b5f5f612ac486868686612be8565b60028101549091506001600160a01b0316612ae2575f915050611337565b80546001600160a01b0316612afb576001915050611337565b6002810154600160a01b900460ff1615612b19576006915050611337565b60018101546001600160a01b0316612b49574281600801541115612b3e576002612b41565b60035b915050611337565b612b5161361e565b6001600160a01b031663b551cd5086612b6a8488613657565b612b74878b6136a2565b6040518463ffffffff1660e01b8152600401612b92939291906153ca565b602060405180830381865afa158015612bad573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bd191906152f6565b612bdc576004611964565b50600595945050505050565b5f5f5f612bf787878787613d6f565b81526020019081526020015f209050949350505050565b6032805460ff19166001179055565b612c2681612cd1565b61047e80546001600160a01b0319166001600160a01b0383169081179091556040517fe983c4450684b2324d78afaa992b88be67cf4d3919d7a6539ca774d7bb5189f4905f90a250565b612c7982610f8d565b612c82816125d6565b6110c88383613ac5565b612c9581613da7565b6104848190556040518181527fc41d1b4ad42d6f594ce26dc949c6aa711df74301f1f2c17b3a36d30c9761abf39060200160405180910390a150565b612ce281634e759c3d60e11b613deb565b610e13576040516367cc38ef60e01b815260040160405180910390fd5b6001600160a01b0381163314612d285760405163334bd91960e11b815260040160405180910390fd5b610f2a8282613e06565b61048454811015612d56576040516337d02b5d60e21b815260040160405180910390fd5b610e1381613da7565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480612de557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612dd95f5160206158aa5f395f51905f52546001600160a01b031690565b6001600160a01b031614155b156125ea5760405163703e46dd60e11b815260040160405180910390fd5b610e135f6125d6565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612e66575060408051601f3d908101601f19168201909252612e639181019061566e565b60015b612e8e57604051634c9c8ce360e01b81526001600160a01b038316600482015260240161116a565b5f5160206158aa5f395f51905f528114612ebe57604051632a87526960e21b81526004810182905260240161116a565b610f2a8383613e5d565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146125ea5760405163703e46dd60e11b815260040160405180910390fd5b5f5f612f1f86868686612ab6565b90505f612f2e87878787612be8565b60028101805460ff60a01b1916600160a01b17905590506003826006811115612f5957612f59615154565b03612fb157600681015460078201556009810154600a8201546004830154612f8191906153b7565b612f8b91906153b7565b81546002830154919450612fac916001600160a01b039081169116856136d2565b613106565b6005826006811115612fc557612fc5615154565b036130ed57612fd261361e565b6001600160a01b031663719c6d5687612feb8489613657565b612ff5888c6136a2565b6040518463ffffffff1660e01b8152600401613013939291906153ca565b602060405180830381865afa15801561302e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613052919061566e565b6007820181905560068201546004830154911415905f61307184613584565b61307b9083615383565b9050836009015484600a0154828461309391906153b7565b61309d91906153b7565b6130a791906153b7565b95506130e5836130c15784546001600160a01b03166130d0565b60018501546001600160a01b03165b60028601546001600160a01b031690886136d2565b505050613106565b604051639c71cb8360e01b815260040160405180910390fd5b6001810154815460078301546040516001600160a01b0393841693928316928b16917f3f384afb4bd9f0aef0298c80399950011420eb33b0e1a750b20966270247b9a09161315b918c918c918c918c90615685565b60405180910390a461316b612c0e565b6001600160a01b0387163b1515801561319057506003810154640100000000900460ff165b156131f85760078101546040516304cc1fd560e01b81526001600160a01b038916916304cc1fd5916131ca918a918a918a916004016153e8565b5f604051808303815f87803b1580156131e1575f5ffd5b505af11580156131f3573d5f5f3e3d5ffd5b505050505b613200612aaa565b5050949350505050565b613212613977565b604051631d1d5b3960e11b81526001600160a01b0384811660048301529190911690633a3ab67290602401602060405180830381865afa158015613258573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061327c91906152f6565b61329957604051631131fa7160e11b815260040160405180910390fd5b6132a960408201602083016156cb565b6001600160801b03166132bf60208301836156cb565b6001600160801b031611156132e757604051635b1a743760e01b815260040160405180910390fd5b6001600160a01b0382165f90815261048360205260409020819061330b82826156e6565b50506001600160a01b0382167f143b6bf2ebf8381dc4db7edfc69b944d4a518b2be84f1d6230aecb2b698100e461334560208401846156cb565b61335560408501602086016156cb565b604080516001600160801b039384168152929091166020830152015b60405180910390a25050565b5f613386612217565b61338f42613eb2565b6133999190615737565b90506133a58282613ee8565b60405165ffffffffffff821681526001600160a01b038316907f3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed690602001613371565b5f6133f282613f72565b6133fb42613eb2565b6134059190615737565b90506134118282613c51565b6040805165ffffffffffff8085168252831660208201527ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b910160405180910390a15050565b61346081612cd1565b61047f80546001600160a01b0319166001600160a01b0383169081179091556040517fab1796ea525d29607f67aabc405756efd2fc7c4eb2531e627f6ec697ac618a8e905f90a250565b6040516001600160a01b0384811660248301528381166044830152606482018390526110c89186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613fb9565b6064546040516302abf57960e61b81526453746f726560d81b60048201525f916001600160a01b03169063aafd5e40906024015b602060405180830381865afa158015613560573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119929190615755565b60048101545f90610dfb90600290615784565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301525f919085169063dd62ed3e90604401602060405180830381865afa1580156135e4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613608919061566e565b90506110c8848461361985856153b7565b614025565b6064546040516302abf57960e61b8152654f7261636c6560d01b60048201525f916001600160a01b03169063aafd5e4090602401613545565b60038201545f9060ff161561369b5760058301545f90810361367b57606554613681565b60058401545b90508084600801546136939190615383565b915050610dfb565b5080610dfb565b606061122e836040518060400160405280600b81526020016a37b7a932b8bab2b9ba32b960a91b815250846140b4565b6040516001600160a01b03838116602483015260448201839052610f2a91859182169063a9059cbb906064016134df565b5f6104825f6137138686866111ff565b815260208101919091526040015f20546001600160a01b031690508061122e575061047e546001600160a01b03169392505050565b5f613751612a87565b613759612aaa565b6001600160a01b0387166137805760405163062a0f5b60e21b815260040160405180910390fd5b600161378e87878787612ab6565b600681111561379f5761379f615154565b146137bd57604051633a4e124d60e11b815260040160405180910390fd5b5f6137ca87878787612be8565b600381015490915060ff16156137fe57600160ff1b83036137fe5760405163cad802eb60e01b815260040160405180910390fd5b80546001600160a01b0319166001600160a01b0389161781556006810183905560058101545f0361383157606554613837565b60058101545b61384190426153b7565b6008820155600a810154600482015461385a91906153b7565b9150811561387c57600281015461387c906001600160a01b03163330856134aa565b600881015460028201546040516001600160a01b038b8116938b8216937f6e51dd00371aabffa82cd401592f76ed51e98a9ea4b58751c70463a2c78b5ca1936138d0938d938d938d938d93909116906157a3565b60405180910390a36138e0612c0e565b6001600160a01b0387163b151580156139035750600381015462010000900460ff165b1561396657604051639c2fd1df60e01b81526001600160a01b03881690639c2fd1df90613938908990899089906004016153ca565b5f604051808303815f87803b15801561394f575f5ffd5b505af1158015613961573d5f5f3e3d5ffd5b505050505b61396e612aaa565b50611964612c0e565b6064546040516302abf57960e61b81527210dbdb1b185d195c985b15da1a5d195b1a5cdd606a1b60048201525f916001600160a01b03169063aafd5e4090602401613545565b805f036139dd57604051634935f70160e11b815260040160405180910390fd5b6001600160a01b0382165f90815261048360209081526040918290208251808401909352546001600160801b03808216808552600160801b9092041691830191909152821015613a405760405163dba3b86160e01b815260040160405180910390fd5b80602001516001600160801b0316821115610f2a57604051631f7b5d6160e01b815260040160405180910390fd5b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610dfb565b613a9e6140f9565b613aa661411e565b613ab36203f48082614126565b613abb614138565b610f2a8383614140565b5f5f5160206158ca5f395f51905f5283613b27575f613ae261196e565b6001600160a01b031614613b0957604051631fe1e13d60e11b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0385161790555b6113378484614172565b81613b4f57604051631fe1e13d60e11b815260040160405180910390fd5b610fd58282614213565b5f5160206158ca5f395f51905f525f80613b71612487565b91509150613b868165ffffffffffff16151590565b1580613b9a57504265ffffffffffff821610155b15613bc2576040516319ca5ebb60e01b815265ffffffffffff8216600482015260240161116a565b613bd35f613bce61196e565b613e06565b50613bde5f83613ac5565b505081546001600160d01b03191690915550565b613bfb82610f8d565b613c04816125d6565b6110c88383613e06565b6125ea5f5f613ee8565b613c228282611997565b610fd55760405163e2517d3f60e01b81526001600160a01b03821660048201526024810183905260440161116a565b5f51602061592a5f395f51905f52545f5160206158ca5f395f51905f5290600160d01b900465ffffffffffff168015613ceb574265ffffffffffff82161015613cc257600182015482546001600160d01b0316600160a01b90910465ffffffffffff16600160d01b02178255613ceb565b6040517f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5905f90a15b5060010180546001600160a01b0316600160a01b65ffffffffffff948516026001600160d01b031617600160d01b9290931691909102919091179055565b6064546040516302abf57960e61b8152721259195b9d1a599a595c95da1a5d195b1a5cdd606a1b60048201525f916001600160a01b03169063aafd5e4090602401613545565b5f84848484604051602001613d8794939291906157e8565b604051602081830303815290604052805190602001209050949350505050565b63bb7448008110613dcb5760405163cb40339f60e01b815260040160405180910390fd5b5f8111610e135760405163fa050ec160e01b815260040160405180910390fd5b5f613df583614273565b801561122e575061122e83836142a5565b5f5f5160206158ca5f395f51905f5283158015613e3b5750613e2661196e565b6001600160a01b0316836001600160a01b0316145b15613e53576001810180546001600160a01b03191690555b611337848461432b565b613e66826143a4565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115613eaa57610f2a8282614407565b610fd5614470565b5f65ffffffffffff821115613ee4576040516306dfcc6560e41b8152603060048201526024810183905260440161116a565b5090565b5f5160206158ca5f395f51905f525f613eff612487565b835465ffffffffffff8616600160a01b026001600160d01b03199091166001600160a01b038816171784559150613f3f90508165ffffffffffff16151590565b156110c8576040517f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109905f90a150505050565b5f5f613f7c612217565b90508065ffffffffffff168365ffffffffffff1611613fa457613f9f8382615812565b61122e565b61122e65ffffffffffff84166206978061448f565b5f5f60205f8451602086015f885af180613fd8576040513d5f823e3d81fd5b50505f513d91508115613fef578060011415613ffc565b6001600160a01b0384163b155b156110c857604051635274afe760e01b81526001600160a01b038516600482015260240161116a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052614076848261449e565b6110c8576040516001600160a01b0384811660248301525f60448301526140aa91869182169063095ea7b3906064016134df565b6110c88482613fb9565b60605f6140c185856144e3565b905084816140ce85614525565b6040516020016140e093929190615830565b6040516020818303038152906040529150509392505050565b61410161458d565b6125ea57604051631afcd79f60e31b815260040160405180910390fd5b6125ea6140f9565b61412e6140f9565b610fd582826145a6565b612c0e6140f9565b6141486140f9565b606480546001600160a01b0319166001600160a01b03831617905561416c82612d32565b50606555565b5f5f51602061590a5f395f51905f5261418b8484611997565b61420a575f848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556141c03390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610dfb565b5f915050610dfb565b5f51602061590a5f395f51905f525f61422b84610f8d565b5f85815260208490526040808220600101869055519192508491839187917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a450505050565b5f614285826301ffc9a760e01b6142a5565b8015610dfb575061429e826001600160e01b03196142a5565b1592915050565b6040516001600160e01b0319821660248201525f90819060440160408051601f19818403018152919052602080820180516001600160e01b03166301ffc9a760e01b17815282519293505f9283928392909183918a617530fa92503d91505f519050828015614315575060208210155b801561432057505f81115b979650505050505050565b5f5f51602061590a5f395f51905f526143448484611997565b1561420a575f848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610dfb565b806001600160a01b03163b5f036143d957604051634c9c8ce360e01b81526001600160a01b038216600482015260240161116a565b5f5160206158aa5f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b031684604051614423919061584d565b5f60405180830381855af49150503d805f811461445b576040519150601f19603f3d011682016040523d82523d5f602084013e614460565b606091505b5091509150610eae85838361460c565b34156125ea5760405163b398979f60e01b815260040160405180910390fd5b5f82821882841002821861122e565b5f5f5f5f60205f8651602088015f8a5af192503d91505f519050828015611964575081156144cf5780600114611964565b50505050506001600160a01b03163b151590565b81516060901561451457816040516020016144fe9190615858565b6040516020818303038152906040529050610dfb565b816040516020016144fe919061587e565b606061453d6001600160801b03602084901c16614663565b6145538360601b6001600160601b031916614663565b6040516020016145779291909182526001600160c01b031916602082015260280190565b6040516020818303038152906040529050919050565b5f614596613a6e565b54600160401b900460ff16919050565b6145ae6140f9565b5f5160206158ca5f395f51905f526001600160a01b0382166145e557604051636116401160e11b81525f600482015260240161116a565b80546001600160d01b0316600160d01b65ffffffffffff8516021781556110c85f83613ac5565b60608261461c57613f9f826147f4565b815115801561463357506001600160a01b0384163b155b1561465c57604051639996b31560e01b81526001600160a01b038516600482015260240161116a565b508061122e565b5f5f825f1c9050806001600160801b0316905080600160401b02811777ffffffffffffffff0000000000000000ffffffffffffffff169050806401000000000281177bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16905080620100000281177dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff169050806101000281177eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff1690508060100281177f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f1690505f6008827f0808080808080808080808080808080808080808080808080808080808080808168161477657614776615770565b0460047f040404040404040404040404040404040404040404040404040404040404040484160460027f020202020202020202020202020202020202020202020202020202020202020285160417166027029091017f3030303030303030303030303030303030303030303030303030303030303030019392505050565b80511561480357805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b5f6020828403121561482c575f5ffd5b81356001600160e01b03198116811461122e575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b038111828210171561487f5761487f614843565b604052919050565b5f6001600160401b0382111561489f5761489f614843565b50601f01601f191660200190565b5f82601f8301126148bc575f5ffd5b81356148cf6148ca82614887565b614857565b8181528460208386010111156148e3575f5ffd5b816020850160208301375f918101602001919091529392505050565b6001600160a01b0381168114610e13575f5ffd5b5f5f5f5f5f60a08688031215614927575f5ffd5b853594506020860135935060408601356001600160401b0381111561494a575f5ffd5b614956888289016148ad565b9350506060860135614967816148ff565b949793965091946080013592915050565b5f5f5f6060848603121561498a575f5ffd5b833592506020840135915060408401356001600160401b038111156149ad575f5ffd5b6149b9868287016148ad565b9150509250925092565b80356149ce816148ff565b919050565b5f602082840312156149e3575f5ffd5b813561122e816148ff565b5f602082840312156149fe575f5ffd5b5035919050565b5f5f60408385031215614a16575f5ffd5b823591506020830135614a28816148ff565b809150509250929050565b5f5f5f5f60808587031215614a46575f5ffd5b8435614a51816148ff565b93506020850135925060408501356001600160401b03811115614a72575f5ffd5b614a7e878288016148ad565b9250506060850135614a8f816148ff565b939692955090935050565b5f5f5f5f60808587031215614aad575f5ffd5b843593506020850135925060408501356001600160401b03811115614ad0575f5ffd5b614adc878288016148ad565b949793965093946060013593505050565b5f5f5f60608486031215614aff575f5ffd5b8335614b0a816148ff565b92506020840135915060408401356001600160401b038111156149ad575f5ffd5b5f5f60408385031215614b3c575f5ffd5b8235614b47816148ff565b915060208301356001600160401b03811115614b61575f5ffd5b614b6d858286016148ad565b9150509250929050565b5f5f8284036060811215614b89575f5ffd5b8335614b94816148ff565b92506040601f1982011215614ba7575f5ffd5b506020830190509250929050565b5f5f5f5f60808587031215614bc8575f5ffd5b8435614bd3816148ff565b9350602085013592506040850135915060608501356001600160401b03811115614bfb575f5ffd5b614c07878288016148ad565b91505092959194509250565b5f60208284031215614c23575f5ffd5b813565ffffffffffff8116811461122e575f5ffd5b5f5f5f5f60808587031215614c4b575f5ffd5b8435614c56816148ff565b93506020850135925060408501356001600160401b03811115614ad0575f5ffd5b5f5f5f5f5f60a08688031215614c8b575f5ffd5b8535614c96816148ff565b94506020860135614ca6816148ff565b9350604086013592506060860135915060808601356001600160401b03811115614cce575f5ffd5b614cda888289016148ad565b9150509295509295909350565b5f5f5f5f5f5f60c08789031215614cfc575f5ffd5b8635614d07816148ff565b95506020870135614d17816148ff565b9450604087013593506060870135925060808701356001600160401b03811115614d3f575f5ffd5b614d4b89828a016148ad565b9699959850939692959460a09093013593505050565b5f5f5f5f5f60a08688031215614d75575f5ffd5b8535614d80816148ff565b94506020860135935060408601356001600160401b0381111561494a575f5ffd5b80511515825260208101511515602083015260408101511515604083015260608101511515606083015260808101511515608083015260a081015160a083015260c081015160c08301525050565b6001600160a01b038b811682528a811660208301528916604082015287151560608201526102008101614e256080830189614da1565b6101608201969096526101808101949094526101a08401929092526101c08301526101e09091015295945050505050565b604080825283519082018190525f9060208501906060840190835b81811015614e985783516001600160a01b0316835260209384019390920191600101614e71565b5050809250505082151560208301529392505050565b81516001600160a01b0316815261020081016020830151614eda60208401826001600160a01b03169052565b506040830151614ef560408401826001600160a01b03169052565b506060830151614f09606084018215159052565b506080830151614f1c6080840182614da1565b5060a083015161016083015260c083015161018083015260e08301516101a08301526101008301516101c0830152610120909201516101e09091015290565b5f5f60208385031215614f6c575f5ffd5b82356001600160401b03811115614f81575f5ffd5b8301601f81018513614f91575f5ffd5b80356001600160401b03811115614fa6575f5ffd5b8560208260051b8401011115614fba575f5ffd5b6020919091019590945092505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561504f57603f1987860301845261503a858351614fca565b9450602093840193919091019060010161501e565b50929695505050505050565b602081525f61122e6020830184614fca565b5f5f6040838503121561507e575f5ffd5b82356001600160401b03811115615093575f5ffd5b61509f858286016148ad565b9250506020830135614a28816148ff565b5f5f5f606084860312156150c2575f5ffd5b8335925060208401356150d4816148ff565b915060408401356150e4816148ff565b809150509250925092565b5f5f5f5f5f60a08688031215615103575f5ffd5b853561510e816148ff565b9450602086013593506040860135925060608601356001600160401b03811115615136575f5ffd5b615142888289016148ad565b95989497509295608001359392505050565b634e487b7160e01b5f52602160045260245ffd5b602081016007831061518857634e487b7160e01b5f52602160045260245ffd5b91905290565b5f5f5f5f5f5f5f5f5f6101008a8c0312156151a7575f5ffd5b8935985060208a01356151b9816148ff565b975060408a01356151c9816148ff565b965060608a01356151d9816148ff565b955060808a01356001600160401b038111156151f3575f5ffd5b8a01601f81018c13615203575f5ffd5b80356001600160401b03811115615218575f5ffd5b8c602060608302840101111561522c575f5ffd5b6020919091019550935060a08a0135925061524960c08b016149c3565b915061525760e08b016149c3565b90509295985092959850929598565b8015158114610e13575f5ffd5b5f5f5f5f5f5f60c08789031215615288575f5ffd5b863595506020870135945060408701356001600160401b038111156152ab575f5ffd5b6152b789828a016148ad565b94505060608701356152c881615266565b925060808701356152d881615266565b915060a08701356152e881615266565b809150509295509295509295565b5f60208284031215615306575f5ffd5b815161122e81615266565b6001600160a01b03831681526040602082018190525f9061133790830184614fca565b5f81518060208401855e5f93019283525090919050565b6001600160601b03198460601b1681528260148201525f610eae6034830184615334565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dfb57610dfb61536f565b604081525f6153a86040830185614fca565b90508260208301529392505050565b80820180821115610dfb57610dfb61536f565b838152826020820152606060408201525f610eae6060830184614fca565b848152836020820152608060408201525f6154066080830185614fca565b905082606083015295945050505050565b6001600160a01b03841681526060602082018190525f9061543a90830185614fca565b9050826040830152949350505050565b5f6020828403121561545a575f5ffd5b81516001600160401b0381111561546f575f5ffd5b8201601f8101841361547f575f5ffd5b80516001600160401b0381111561549857615498614843565b8060051b6154a860208201614857565b918252602081840181019290810190878411156154c3575f5ffd5b6020850194505b8385101561432057845192506154df836148ff565b828252602094850194909101906154ca565b634e487b7160e01b5f52603260045260245ffd5b5f5f8335601e1984360301811261551a575f5ffd5b8301803591506001600160401b03821115615533575f5ffd5b602001915036819003821315615547575f5ffd5b9250929050565b818382375f9101908152919050565b5f6020828403121561556d575f5ffd5b81516001600160401b03811115615582575f5ffd5b8201601f81018413615592575f5ffd5b80516155a06148ca82614887565b8181528560208385010111156155b4575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b5f60208284031280156155e2575f5ffd5b50604051602081016001600160401b038111828210171561560557615605614843565b6040529151825250919050565b86815285602082015260c060408201525f61563060c0830187614fca565b6001600160a01b0395909516606083015250608081019290925260a0909101529392505050565b8082028115828204841417610dfb57610dfb61536f565b5f6020828403121561567e575f5ffd5b5051919050565b85815284602082015260a060408201525f6156a360a0830186614fca565b606083019490945250608001529392505050565b6001600160801b0381168114610e13575f5ffd5b5f602082840312156156db575f5ffd5b813561122e816156b7565b81356156f1816156b7565b6001600160801b0381169050806001600160801b0319835416178255602083013561571b816156b7565b60801b6fffffffffffffffffffffffffffffffff191617905550565b65ffffffffffff8181168382160190811115610dfb57610dfb61536f565b5f60208284031215615765575f5ffd5b815161122e816148ff565b634e487b7160e01b5f52601260045260245ffd5b5f8261579e57634e487b7160e01b5f52601260045260245ffd5b500490565b86815285602082015260c060408201525f6157c160c0830187614fca565b60608301959095525060808101929092526001600160a01b031660a0909101529392505050565b6001600160601b03198560601b1681528360148201528260348201525f610eab6054830184615334565b65ffffffffffff8281168282160390811115610dfb57610dfb61536f565b5f610eae6158476158418488615334565b86615334565b84615334565b5f61122e8284615334565b600b60fa1b81525f61586d6001830184615334565b601d60f91b81526001019392505050565b5f61586d828461533456feb92d52e77ebaa0cae5c23e882d85609efbcb44029214147dd132daf9ef1018af360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbceef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d869840027b8807ed0d425f20d0c4bc217dc8c5223cdf4dda073a600a26677d83eb2fb5302dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800eef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698401a2646970667358221220dbe68c0c0268cd87cfcbfa0d97372f406d651be32f9d44335e2fcdebae53339464736f6c634300081e0033","sourceMap":"769:21682:96:-:0;;;1171:4:23;1128:48;;2939:53:96;;;;;;;;;-1:-1:-1;4638:22:97;:20;:22::i;:::-;2963::96;:20;:22::i;:::-;769:21682;;7709:422:22;3147:66;7898:15;;;;;;;7894:76;;;7936:23;;-1:-1:-1;;;7936:23:22;;;;;;;;;;;7894:76;7983:14;;-1:-1:-1;;;;;7983:14:22;;;:34;7979:146;;8033:33;;-1:-1:-1;;;;;;8033:33:22;-1:-1:-1;;;;;8033:33:22;;;;;8085:29;;158:50:102;;;8085:29:22;;146:2:102;131:18;8085:29:22;;;;;;;7979:146;7758:373;7709:422::o;14:200:102:-;769:21682:96;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080604052600436106103ea575f3560e01c806391d148541161020a578063b8b4f9081161011e578063cf6eefb7116100a8578063f327b07511610078578063f327b07514610d4d578063f38fdc0214610d6c578063fba7f1e314610d8c578063fe4e198314610dab578063ff8c1a8c14610dc0575f5ffd5b8063cf6eefb714610c9f578063d547741f14610cd9578063d602b9fd14610cf8578063e92706c614610d0c575f5ffd5b8063c371dda7116100ee578063c371dda714610c23578063c78ef28c14610c38578063cc8463c814610c58578063cdb21cc614610c6c578063cefc142914610c8b575f5ffd5b8063b8b4f90814610b9a578063b9a3c84c14610bb9578063ba4b930c14610bd8578063bc58ccaa14610c04575f5ffd5b8063ab328fb21161019f578063af5d2f391161016f578063af5d2f3914610a92578063afe1fcff14610ab1578063b4988fd014610afc578063b6cdb8ee14610b1b578063b873c4df14610b3a575f5ffd5b8063ab328fb2146109ea578063ac9650d814610a0a578063ad3cb1cc14610a36578063ad5a755a14610a73575f5ffd5b8063a1eda53c116101da578063a1eda53c1461095e578063a217fddf146107db578063a625b01e14610991578063a9904f9b146109be575f5ffd5b806391d148541461080457806391f58dcb1461082357806393ae2ebd146108425780639d86698514610861575f5ffd5b80634f1ef286116103015780636b821d061161029657806384ef8ffc1161026657806384ef8ffc1461077e5780638aca6afc146107925780638da5cb5b146107c75780638ffc2120146107db57806391152f10146107ee575f5ffd5b80636b821d061461070257806376c7823f146107215780637746e7ae146107405780637c82288f1461075f575f5ffd5b80635e9a79a9116102d15780635e9a79a914610686578063634e93da146106a5578063649a5ec7146106c45780636982ece0146106e3575f5ffd5b80634f1ef2861461062157806352d1902d1461063457806353b59239146106485780635845e68a14610667575f5ffd5b80632589382b11610382578063347b4dba11610352578063347b4dba1461059157806336568abe146105b0578063473c45fe146105cf5780634835698a146105ee5780634ccb56f51461060d575f5ffd5b80632589382b1461050957806329cb924d146105415780632f2ff15d1461055357806332ecce9e14610572575f5ffd5b8063120698af116103bd578063120698af1461048d5780631480db39146104ac5780631fa50cef146104cb578063248a9ca3146104ea575f5ffd5b806301ffc9a7146103ee578063022d63fb146104225780630aa6220b1461044a57806311df92f114610460575b5f5ffd5b3480156103f9575f5ffd5b5061040d61040836600461481c565b610dd7565b60405190151581526020015b60405180910390f35b34801561042d575f5ffd5b50620697805b60405165ffffffffffff9091168152602001610419565b348015610455575f5ffd5b5061045e610e01565b005b34801561046b575f5ffd5b5061047f61047a366004614913565b610e16565b604051908152602001610419565b348015610498575f5ffd5b5061045e6104a7366004614978565b610eb7565b3480156104b7575f5ffd5b5061045e6104c63660046149d3565b610f2f565b3480156104d6575f5ffd5b5061045e6104e53660046149d3565b610f5e565b3480156104f5575f5ffd5b5061047f6105043660046149ee565b610f8d565b348015610514575f5ffd5b5061047f54610529906001600160a01b031681565b6040516001600160a01b039091168152602001610419565b34801561054c575f5ffd5b504261047f565b34801561055e575f5ffd5b5061045e61056d366004614a05565b610fad565b34801561057d575f5ffd5b5061045e61058c3660046149ee565b610fd9565b34801561059c575f5ffd5b5061045e6105ab366004614a33565b611008565b3480156105bb575f5ffd5b5061045e6105ca366004614a05565b6110ce565b3480156105da575f5ffd5b5061045e6105e9366004614a9a565b611190565b3480156105f9575f5ffd5b5061047f610608366004614aed565b6111ff565b348015610618575f5ffd5b5061047f611235565b61045e61062f366004614b2b565b611245565b34801561063f575f5ffd5b5061047f611260565b348015610653575f5ffd5b5061047f610662366004614978565b61127b565b348015610672575f5ffd5b5061045e610681366004614b77565b6112d8565b348015610691575f5ffd5b5061047f6106a0366004614bb5565b611310565b3480156106b0575f5ffd5b5061045e6106bf3660046149d3565b61133f565b3480156106cf575f5ffd5b5061045e6106de366004614c13565b611352565b3480156106ee575f5ffd5b5061045e6106fd366004614c38565b611365565b34801561070d575f5ffd5b5061045e61071c3660046149d3565b6113f5565b34801561072c575f5ffd5b5061047f61073b366004614c77565b611424565b34801561074b575f5ffd5b5061052961075a366004614aed565b61178c565b34801561076a575f5ffd5b5061047f610779366004614ce7565b6117c5565b348015610789575f5ffd5b5061052961196e565b34801561079d575f5ffd5b506105296107ac3660046149ee565b6104826020525f90815260409020546001600160a01b031681565b3480156107d2575f5ffd5b50610529611989565b3480156107e6575f5ffd5b5061047f5f81565b3480156107f9575f5ffd5b5061047f6104845481565b34801561080f575f5ffd5b5061040d61081e366004614a05565b611997565b34801561082e575f5ffd5b5061045e61083d366004614978565b6119cd565b34801561084d575f5ffd5b5061045e61085c366004614d61565b611a49565b34801561086c575f5ffd5b5061094861087b3660046149ee565b5f6020818152918152604090819020805460018201546002830154845160e081018652600385015460ff8082161515835261010082048116151598830198909852620100008104881615159682019690965263010000008604871615156060820152640100000000909504861615156080860152600484015460a0860152600584015460c08601526006840154600785015460088601546009870154600a909701546001600160a01b03968716999587169896851697600160a01b9095049095169594929391929091908a565b6040516104199a99989796959493929190614def565b348015610969575f5ffd5b50610972611b8e565b6040805165ffffffffffff938416815292909116602083015201610419565b34801561099c575f5ffd5b506109b06109ab366004614aed565b611bfd565b604051610419929190614e56565b3480156109c9575f5ffd5b506109dd6109d8366004614bb5565b611ce5565b6040516104199190614eae565b3480156109f5575f5ffd5b5061047e54610529906001600160a01b031681565b348015610a15575f5ffd5b50610a29610a24366004614f5b565b611e92565b6040516104199190614ff8565b348015610a41575f5ffd5b50610a66604051806040016040528060058152602001640352e302e360dc1b81525081565b604051610419919061505b565b348015610a7e575f5ffd5b5061047f610a8d366004614a9a565b611fd8565b348015610a9d575f5ffd5b50610a66610aac36600461506d565b612057565b348015610abc575f5ffd5b50610ae7610acb3660046149ee565b6104816020525f90815260409020805460019091015460ff1682565b60408051928352901515602083015201610419565b348015610b07575f5ffd5b5061045e610b163660046150b0565b612063565b348015610b26575f5ffd5b5061045e610b353660046149d3565b61215e565b348015610b45575f5ffd5b50610b7a610b543660046149d3565b6104836020525f90815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610419565b348015610ba5575f5ffd5b5061047f610bb43660046150ef565b612185565b348015610bc4575f5ffd5b50606454610529906001600160a01b031681565b348015610be3575f5ffd5b50610bf7610bf2366004614bb5565b612194565b6040516104199190615168565b348015610c0f575f5ffd5b5061040d610c1e366004614bb5565b6121a9565b348015610c2e575f5ffd5b5061047f61200081565b348015610c43575f5ffd5b5061047f5f51602061588a5f395f51905f5281565b348015610c63575f5ffd5b50610433612217565b348015610c77575f5ffd5b5061045e610c8636600461518e565b612292565b348015610c96575f5ffd5b5061045e612448565b348015610caa575f5ffd5b50610cb3612487565b604080516001600160a01b03909316835265ffffffffffff909116602083015201610419565b348015610ce4575f5ffd5b5061045e610cf3366004614a05565b6124b4565b348015610d03575f5ffd5b5061045e6124dc565b348015610d17575f5ffd5b50610ae7610d26366004614a05565b61048060209081525f92835260408084209091529082529020805460019091015460ff1682565b348015610d58575f5ffd5b5061045e610d67366004615273565b6124ee565b348015610d77575f5ffd5b5061047f5f5160206158ea5f395f51905f5281565b348015610d97575f5ffd5b5061047f610da6366004614bb5565b612594565b348015610db6575f5ffd5b5061047f60655481565b348015610dcb575f5ffd5b5061047f600160ff1b81565b5f6001600160e01b031982166318a4c3c360e11b1480610dfb5750610dfb826125a2565b92915050565b5f610e0b816125d6565b610e136125e0565b50565b61047f54604051631d1d5b3960e11b81523360048201525f916001600160a01b031690633a3ab67290602401602060405180830381865afa158015610e5d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e8191906152f6565b610e9e57604051630f3c7c2760e01b815260040160405180910390fd5b610eab86868686866125ec565b90505b95945050505050565b610ebf612a87565b610ec7612aaa565b6001610ed533858585612ab6565b6006811115610ee657610ee6615154565b14610f0457604051633a4e124d60e11b815260040160405180910390fd5b5f610f1133858585612be8565b600301805461ffff191661010117905550610f2a612c0e565b505050565b610f37612a87565b610f3f612aaa565b610f565f5160206158ea5f395f51905f52826124b4565b610e13612c0e565b610f66612a87565b610f6e612aaa565b610f845f51602061588a5f395f51905f526125d6565b610f5681612c1d565b5f9081525f51602061590a5f395f51905f52602052604090206001015490565b81610fcb57604051631fe1e13d60e11b815260040160405180910390fd5b610fd58282612c70565b5050565b610fe1612a87565b610fe9612aaa565b610fff5f51602061588a5f395f51905f526125d6565b610f5681612c8c565b611010612a87565b611018612aaa565b61102e5f5160206158ea5f395f51905f526125d6565b6001600160a01b038116156110465761104681612cd1565b5f6110528585856111ff565b5f81815261048260205260409081902080546001600160a01b0319166001600160a01b038616908117909155905191925090859083907f6176bed8b34e20579b664c32ad00534f173e1f7c4410232beef89bed4464ddc0906110b7908a908990615311565b60405180910390a4506110c8612c0e565b50505050565b5f5160206158ca5f395f51905f528215801561110257506110ed61196e565b6001600160a01b0316826001600160a01b0316145b15611186575f5f611111612487565b90925090506001600160a01b038216151580611133575065ffffffffffff8116155b8061114657504265ffffffffffff821610155b15611173576040516319ca5ebb60e01b815265ffffffffffff821660048201526024015b60405180910390fd5b5050805465ffffffffffff60a01b191681555b610f2a8383612cff565b611198612a87565b6111a0612aaa565b60016111ae33868686612ab6565b60068111156111bf576111bf615154565b146111dd57604051633a4e124d60e11b815260040160405180910390fd5b6111e681612d32565b806111f333868686612be8565b600501556110c8612c0e565b5f8383836040516020016112159392919061534b565b6040516020818303038152906040528051906020012090505b9392505050565b6112426035612000615383565b81565b61124d612d5f565b61125682612e03565b610fd58282612e0c565b5f611269612ec8565b505f5160206158aa5f395f51905f5290565b5f611284612a87565b61128c612aaa565b600661129a33868686612ab6565b60068111156112ab576112ab615154565b146112be576112bc33858585612f11565b505b6112ca33858585612be8565b60070154905061122e612c0e565b6112e0612a87565b6112e8612aaa565b6112fe5f51602061588a5f395f51905f526125d6565b611308828261320a565b610fd5612c0e565b5f611319612a87565b611321612aaa565b61132d85858585612f11565b9050611337612c0e565b949350505050565b5f611349816125d6565b610fd58261337d565b5f61135c816125d6565b610fd5826133e8565b61136d612a87565b611375612aaa565b61138b5f5160206158ea5f395f51905f526125d6565b61139481612d32565b5f6113a08585856111ff565b5f8181526104816020526040908190208490555190915084906001600160a01b0387169083907fc5314bcb93c25473b858a5086195e309861a64b4c3ddae4d0a5cb9c5fb6f30f4906110b79088908890615396565b6113fd612a87565b611405612aaa565b61141b5f51602061588a5f395f51905f526125d6565b610f5681613457565b5f61142d612a87565b611435612aaa565b6001600160a01b03861661145c5760405163bef5ceeb60e01b815260040160405180910390fd5b600261146a86868686612ab6565b600681111561147b5761147b615154565b1461149957604051631bc1990760e31b815260040160405180910390fd5b5f6114a686868686612be8565b6001810180546001600160a01b0319166001600160a01b038a16179055600a8101546004820154919250906114db82826153b7565b935083156114fd5760028301546114fd906001600160a01b03163330876134aa565b5f611506613511565b90505f61151285613584565b61151c90856153b7565b905080156115b457600285015461153d906001600160a01b03168383613597565b611545613511565b600286015460408051602081018252848152905163432ce91960e11b81526001600160a01b03928316600482015290516024820152911690638659d232906044015f604051808303815f87803b15801561159d575f5ffd5b505af11580156115af573d5f5f3e3d5ffd5b505050505b6115bc61361e565b6001600160a01b031663216666a48a6115d5888c613657565b6115df8b8f6136a2565b6040518463ffffffff1660e01b81526004016115fd939291906153ca565b5f604051808303815f87803b158015611614575f5ffd5b505af1158015611626573d5f5f3e3d5ffd5b50505060098601545f91501580159061164857506003860154610100900460ff165b1561167157506009850180545f9091556002860154611671906001600160a01b03168c836136d2565b8b6001600160a01b0316865f015f9054906101000a90046001600160a01b03166001600160a01b03168c6001600160a01b03167f5165909c3d1c01c5d1e121ac6f6d01dda1ba24bc9e1f975b5a375339c15be7f38d8d8d8c600601546040516116dd94939291906153e8565b60405180910390a46116ed612c0e565b6001600160a01b038b163b15158015611711575060038601546301000000900460ff165b15611776576040516306c791b960e11b81526001600160a01b038c1690630d8f237290611748908d908d908d9087906004016153e8565b5f604051808303815f87803b15801561175f575f5ffd5b505af1158015611771573d5f5f3e3d5ffd5b505050505b61177e612aaa565b505050505050610eae612c0e565b5f611795612a87565b6104825f6117a48686866111ff565b815260208101919091526040015f20546001600160a01b0316949350505050565b5f5f6117d387878787612be8565b90505f6117e18888876111ff565b5f8181526104806020908152604080832060028701546001600160a01b03168452909152902054909150801561181957600483018190555b5f8281526104816020526040902054801561183657600584018190555b5f6118428b8b8a613703565b604051631d1d5b3960e11b81526001600160a01b038e8116600483015291925090821690633a3ab67290602401602060405180830381865afa15801561188a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118ae91906152f6565b6118cb57604051636ffe5a9560e01b815260040160405180910390fd5b604051631d1d5b3960e11b81523360048201526001600160a01b03821690633a3ab67290602401602060405180830381865afa15801561190d573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061193191906152f6565b61194e57604051637ed449a960e01b815260040160405180910390fd5b61195c8c8c8c8c8c8c613748565b955050505050505b9695505050505050565b5f51602061592a5f395f51905f52546001600160a01b031690565b5f61199261196e565b905090565b5f9182525f51602061590a5f395f51905f52602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6119d5612a87565b6119dd612aaa565b60016119eb33858585612ab6565b60068111156119fc576119fc615154565b14611a1a57604051633a4e124d60e11b815260040160405180910390fd5b6001611a2833858585612be8565b60030180549115156101000261ff0019909216919091179055610f2a612c0e565b611a51612a87565b611a59612aaa565b611a6f5f5160206158ea5f395f51905f526125d6565b611a77613977565b604051631d1d5b3960e11b81526001600160a01b0384811660048301529190911690633a3ab67290602401602060405180830381865afa158015611abd573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ae191906152f6565b611afe57604051631131fa7160e11b815260040160405180910390fd5b611b0882826139bd565b5f611b148686866111ff565b5f818152610480602090815260408083206001600160a01b038816808552925291829020859055905191925090869083907f4544c320b43beb5421d5149ff92fa72b40f00ac65294c4b8ca3906f08fb5a8c290611b76908b908a908990615417565b60405180910390a450611b87612c0e565b5050505050565b5f51602061592a5f395f51905f52545f90600160d01b900465ffffffffffff165f5160206158ca5f395f51905f528115801590611bd357504265ffffffffffff831610155b611bde575f5f611bf4565b6001810154600160a01b900465ffffffffffff16825b92509250509091565b60605f611c08612a87565b5f611c14868686613703565b9050806001600160a01b031663d01f63f56040518163ffffffff1660e01b81526004015f60405180830381865afa158015611c51573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611c78919081019061544a565b816001600160a01b031663184d69ab6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cb4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cd891906152f6565b9250925050935093915050565b611d6b60408051610140810182525f80825260208083018290528284018290526060808401839052845160e081018652838152918201839052938101829052928301819052608083810182905260a0840182905260c084019190915290919082019081526020015f81526020015f81526020015f81526020015f81526020015f81525090565b611d73612a87565b611d7f85858585612be8565b604080516101408101825282546001600160a01b0390811682526001840154811660208084019190915260028501549182168385015260ff600160a01b90920482161515606080850191909152845160e08082018752600388015480861615158352610100808204871615159584019590955262010000810486161515978301979097526301000000870485161515928201929092526401000000009095049092161515608085810191909152600486015460a080870191909152600587015460c08088019190915291850195909552600686015494840194909452600785015493830193909352600884015490820152600983015491810191909152600a909101546101208201529050949350505050565b6060816001600160401b03811115611eac57611eac614843565b604051908082528060200260200182016040528015611edf57816020015b6060815260200190600190039081611eca5790505b5090505f5b82811015611fd1575f8030868685818110611f0157611f016154f1565b9050602002810190611f139190615505565b604051611f2192919061554e565b5f60405180830381855af49150503d805f8114611f59576040519150601f19603f3d011682016040523d82523d5f602084013e611f5e565b606091505b509150915081611fa957604481511015611f76575f5ffd5b60048101905080806020019051810190611f90919061555d565b60405162461bcd60e51b815260040161116a919061505b565b80848481518110611fbc57611fbc6154f1565b60209081029190910101525050600101611ee4565b5092915050565b5f611fe1612a87565b611fe9612aaa565b6001611ff733878787612ab6565b600681111561200857612008615154565b1461202657604051633a4e124d60e11b815260040160405180910390fd5b5f61203333878787612be8565b60048101849055600a81015490915061204c90846153b7565b915050611337612c0e565b606061122e83836136a2565b5f61206c613a6e565b805490915060ff600160401b82041615906001600160401b03165f811580156120925750825b90505f826001600160401b031660011480156120ad5750303b155b9050811580156120bb575080155b156120d95760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561210357845460ff60401b1916600160401b1785555b61210e888888613a96565b831561215457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b612166612a87565b61216e612aaa565b610f565f5160206158ea5f395f51905f5282610fad565b5f610eab3387878787876117c5565b5f61219d612a87565b610eae85858585612ab6565b5f6121b2612a87565b5f6121bf86868686612ab6565b905060068160068111156121d5576121d5615154565b14806121f2575060058160068111156121f0576121f0615154565b145b806119645750600381600681111561220c5761220c615154565b149695505050505050565b5f51602061592a5f395f51905f52545f905f5160206158ca5f395f51905f5290600160d01b900465ffffffffffff16801580159061225c57504265ffffffffffff8216105b612276578154600160d01b900465ffffffffffff1661228b565b6001820154600160a01b900465ffffffffffff165b9250505090565b5f61229b613a6e565b805490915060ff600160401b82041615906001600160401b03165f811580156122c15750825b90505f826001600160401b031660011480156122dc5750303b155b9050811580156122ea575080155b156123085760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561233257845460ff60401b1916600160401b1785555b61233d8e8e88613a96565b6123545f51602061588a5f395f51905f5288613ac5565b506123795f5160206158ea5f395f51905f525f51602061588a5f395f51905f52613b31565b6123828c612c1d565b61238b8b613457565b5f5b898110156123e8576123e08b8b838181106123aa576123aa6154f1565b6123c092602060609092020190810191506149d3565b8c8c848181106123d2576123d26154f1565b90506060020160200161320a565b60010161238d565b506123f288612c8c565b831561243857845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050505050505050565b5f612451612487565b509050336001600160a01b0382161461247f57604051636116401160e11b815233600482015260240161116a565b610e13613b59565b5f5160206158ca5f395f51905f52546001600160a01b03811691600160a01b90910465ffffffffffff1690565b816124d257604051631fe1e13d60e11b815260040160405180910390fd5b610fd58282613bf2565b5f6124e6816125d6565b610e13613c0e565b6124f6612a87565b6124fe612aaa565b600161250c33888888612ab6565b600681111561251d5761251d615154565b1461253b57604051633a4e124d60e11b815260040160405180910390fd5b5f61254833888888612be8565b600301805463ffff00001916620100008615150263ff0000001916176301000000851515021764ff000000001916640100000000841515021790555061258c612c0e565b505050505050565b5f610eae3386868686611424565b5f6001600160e01b03198216637965db0b60e01b1480610dfb57506301ffc9a760e01b6001600160e01b0319831614610dfb565b610e138133613c18565b6125ea5f5f613c51565b565b5f6125f5612a87565b6125fd612aaa565b5f61260a33888888612ab6565b600681111561261b5761261b615154565b146126395760405163f757fcff60e01b815260040160405180910390fd5b612641613d29565b6001600160a01b03166390978d1b876040518263ffffffff1660e01b815260040161266e91815260200190565b602060405180830381865afa158015612689573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126ad91906152f6565b6126ca576040516356175d8f60e01b815260040160405180910390fd5b6126d2613977565b604051631d1d5b3960e11b81526001600160a01b0385811660048301529190911690633a3ab67290602401602060405180830381865afa158015612718573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061273c91906152f6565b61275957604051631131fa7160e11b815260040160405180910390fd5b4285111561277a576040516347860b9760e01b815260040160405180910390fd5b6127876035612000615383565b845111156127a857604051630a56acd960e01b815260040160405180910390fd5b5f6127b1613511565b604051635b97aadd60e01b81526001600160a01b0386811660048301529190911690635b97aadd90602401602060405180830381865afa1580156127f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061281b91906155d1565b5f015190506040518061014001604052805f6001600160a01b031681526020015f6001600160a01b03168152602001856001600160a01b031681526020015f151581526020016040518060e001604052805f151581526020015f151581526020015f151581526020015f151581526020015f151581526020018481526020015f81525081526020015f81526020015f81526020015f8152602001848152602001828152505f5f6128cd338b8b8b613d6f565b815260208082019290925260409081015f20835181546001600160a01b03199081166001600160a01b039283161783558585015160018401805490921690831617905584830151600283018054606080890151939094166001600160a81b031990911617600160a01b9215159290920291909117905560808086015180516003850180549783015196830151948301519383015161ffff1990981691151561ff0019169190911761010096151587021763ffff00001916620100009415159490940263ff0000001916939093176301000000921515929092029190911764ff0000000019166401000000009515159590950294909417905560a080840151600483015560c0938401516005830155840151600682015591830151600783015560e08301516008830155820151600982015561012090910151600a909101558215612a2657612a266001600160a01b0385163330866134aa565b336001600160a01b03167ff1679315ff325c257a944e0ca1bfe7b26616039e9511f9610d4ba3eca851027b888888888887604051612a6996959493929190615612565b60405180910390a2612a7c816002615657565b915050610eae612c0e565b60325460ff166125ea57604051633ee5aeb560e01b815260040160405180910390fd5b6032805460ff19169055565b5f5f612ac486868686612be8565b60028101549091506001600160a01b0316612ae2575f915050611337565b80546001600160a01b0316612afb576001915050611337565b6002810154600160a01b900460ff1615612b19576006915050611337565b60018101546001600160a01b0316612b49574281600801541115612b3e576002612b41565b60035b915050611337565b612b5161361e565b6001600160a01b031663b551cd5086612b6a8488613657565b612b74878b6136a2565b6040518463ffffffff1660e01b8152600401612b92939291906153ca565b602060405180830381865afa158015612bad573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bd191906152f6565b612bdc576004611964565b50600595945050505050565b5f5f5f612bf787878787613d6f565b81526020019081526020015f209050949350505050565b6032805460ff19166001179055565b612c2681612cd1565b61047e80546001600160a01b0319166001600160a01b0383169081179091556040517fe983c4450684b2324d78afaa992b88be67cf4d3919d7a6539ca774d7bb5189f4905f90a250565b612c7982610f8d565b612c82816125d6565b6110c88383613ac5565b612c9581613da7565b6104848190556040518181527fc41d1b4ad42d6f594ce26dc949c6aa711df74301f1f2c17b3a36d30c9761abf39060200160405180910390a150565b612ce281634e759c3d60e11b613deb565b610e13576040516367cc38ef60e01b815260040160405180910390fd5b6001600160a01b0381163314612d285760405163334bd91960e11b815260040160405180910390fd5b610f2a8282613e06565b61048454811015612d56576040516337d02b5d60e21b815260040160405180910390fd5b610e1381613da7565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480612de557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612dd95f5160206158aa5f395f51905f52546001600160a01b031690565b6001600160a01b031614155b156125ea5760405163703e46dd60e11b815260040160405180910390fd5b610e135f6125d6565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612e66575060408051601f3d908101601f19168201909252612e639181019061566e565b60015b612e8e57604051634c9c8ce360e01b81526001600160a01b038316600482015260240161116a565b5f5160206158aa5f395f51905f528114612ebe57604051632a87526960e21b81526004810182905260240161116a565b610f2a8383613e5d565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146125ea5760405163703e46dd60e11b815260040160405180910390fd5b5f5f612f1f86868686612ab6565b90505f612f2e87878787612be8565b60028101805460ff60a01b1916600160a01b17905590506003826006811115612f5957612f59615154565b03612fb157600681015460078201556009810154600a8201546004830154612f8191906153b7565b612f8b91906153b7565b81546002830154919450612fac916001600160a01b039081169116856136d2565b613106565b6005826006811115612fc557612fc5615154565b036130ed57612fd261361e565b6001600160a01b031663719c6d5687612feb8489613657565b612ff5888c6136a2565b6040518463ffffffff1660e01b8152600401613013939291906153ca565b602060405180830381865afa15801561302e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613052919061566e565b6007820181905560068201546004830154911415905f61307184613584565b61307b9083615383565b9050836009015484600a0154828461309391906153b7565b61309d91906153b7565b6130a791906153b7565b95506130e5836130c15784546001600160a01b03166130d0565b60018501546001600160a01b03165b60028601546001600160a01b031690886136d2565b505050613106565b604051639c71cb8360e01b815260040160405180910390fd5b6001810154815460078301546040516001600160a01b0393841693928316928b16917f3f384afb4bd9f0aef0298c80399950011420eb33b0e1a750b20966270247b9a09161315b918c918c918c918c90615685565b60405180910390a461316b612c0e565b6001600160a01b0387163b1515801561319057506003810154640100000000900460ff165b156131f85760078101546040516304cc1fd560e01b81526001600160a01b038916916304cc1fd5916131ca918a918a918a916004016153e8565b5f604051808303815f87803b1580156131e1575f5ffd5b505af11580156131f3573d5f5f3e3d5ffd5b505050505b613200612aaa565b5050949350505050565b613212613977565b604051631d1d5b3960e11b81526001600160a01b0384811660048301529190911690633a3ab67290602401602060405180830381865afa158015613258573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061327c91906152f6565b61329957604051631131fa7160e11b815260040160405180910390fd5b6132a960408201602083016156cb565b6001600160801b03166132bf60208301836156cb565b6001600160801b031611156132e757604051635b1a743760e01b815260040160405180910390fd5b6001600160a01b0382165f90815261048360205260409020819061330b82826156e6565b50506001600160a01b0382167f143b6bf2ebf8381dc4db7edfc69b944d4a518b2be84f1d6230aecb2b698100e461334560208401846156cb565b61335560408501602086016156cb565b604080516001600160801b039384168152929091166020830152015b60405180910390a25050565b5f613386612217565b61338f42613eb2565b6133999190615737565b90506133a58282613ee8565b60405165ffffffffffff821681526001600160a01b038316907f3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed690602001613371565b5f6133f282613f72565b6133fb42613eb2565b6134059190615737565b90506134118282613c51565b6040805165ffffffffffff8085168252831660208201527ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b910160405180910390a15050565b61346081612cd1565b61047f80546001600160a01b0319166001600160a01b0383169081179091556040517fab1796ea525d29607f67aabc405756efd2fc7c4eb2531e627f6ec697ac618a8e905f90a250565b6040516001600160a01b0384811660248301528381166044830152606482018390526110c89186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613fb9565b6064546040516302abf57960e61b81526453746f726560d81b60048201525f916001600160a01b03169063aafd5e40906024015b602060405180830381865afa158015613560573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119929190615755565b60048101545f90610dfb90600290615784565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301525f919085169063dd62ed3e90604401602060405180830381865afa1580156135e4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613608919061566e565b90506110c8848461361985856153b7565b614025565b6064546040516302abf57960e61b8152654f7261636c6560d01b60048201525f916001600160a01b03169063aafd5e4090602401613545565b60038201545f9060ff161561369b5760058301545f90810361367b57606554613681565b60058401545b90508084600801546136939190615383565b915050610dfb565b5080610dfb565b606061122e836040518060400160405280600b81526020016a37b7a932b8bab2b9ba32b960a91b815250846140b4565b6040516001600160a01b03838116602483015260448201839052610f2a91859182169063a9059cbb906064016134df565b5f6104825f6137138686866111ff565b815260208101919091526040015f20546001600160a01b031690508061122e575061047e546001600160a01b03169392505050565b5f613751612a87565b613759612aaa565b6001600160a01b0387166137805760405163062a0f5b60e21b815260040160405180910390fd5b600161378e87878787612ab6565b600681111561379f5761379f615154565b146137bd57604051633a4e124d60e11b815260040160405180910390fd5b5f6137ca87878787612be8565b600381015490915060ff16156137fe57600160ff1b83036137fe5760405163cad802eb60e01b815260040160405180910390fd5b80546001600160a01b0319166001600160a01b0389161781556006810183905560058101545f0361383157606554613837565b60058101545b61384190426153b7565b6008820155600a810154600482015461385a91906153b7565b9150811561387c57600281015461387c906001600160a01b03163330856134aa565b600881015460028201546040516001600160a01b038b8116938b8216937f6e51dd00371aabffa82cd401592f76ed51e98a9ea4b58751c70463a2c78b5ca1936138d0938d938d938d938d93909116906157a3565b60405180910390a36138e0612c0e565b6001600160a01b0387163b151580156139035750600381015462010000900460ff165b1561396657604051639c2fd1df60e01b81526001600160a01b03881690639c2fd1df90613938908990899089906004016153ca565b5f604051808303815f87803b15801561394f575f5ffd5b505af1158015613961573d5f5f3e3d5ffd5b505050505b61396e612aaa565b50611964612c0e565b6064546040516302abf57960e61b81527210dbdb1b185d195c985b15da1a5d195b1a5cdd606a1b60048201525f916001600160a01b03169063aafd5e4090602401613545565b805f036139dd57604051634935f70160e11b815260040160405180910390fd5b6001600160a01b0382165f90815261048360209081526040918290208251808401909352546001600160801b03808216808552600160801b9092041691830191909152821015613a405760405163dba3b86160e01b815260040160405180910390fd5b80602001516001600160801b0316821115610f2a57604051631f7b5d6160e01b815260040160405180910390fd5b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610dfb565b613a9e6140f9565b613aa661411e565b613ab36203f48082614126565b613abb614138565b610f2a8383614140565b5f5f5160206158ca5f395f51905f5283613b27575f613ae261196e565b6001600160a01b031614613b0957604051631fe1e13d60e11b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0385161790555b6113378484614172565b81613b4f57604051631fe1e13d60e11b815260040160405180910390fd5b610fd58282614213565b5f5160206158ca5f395f51905f525f80613b71612487565b91509150613b868165ffffffffffff16151590565b1580613b9a57504265ffffffffffff821610155b15613bc2576040516319ca5ebb60e01b815265ffffffffffff8216600482015260240161116a565b613bd35f613bce61196e565b613e06565b50613bde5f83613ac5565b505081546001600160d01b03191690915550565b613bfb82610f8d565b613c04816125d6565b6110c88383613e06565b6125ea5f5f613ee8565b613c228282611997565b610fd55760405163e2517d3f60e01b81526001600160a01b03821660048201526024810183905260440161116a565b5f51602061592a5f395f51905f52545f5160206158ca5f395f51905f5290600160d01b900465ffffffffffff168015613ceb574265ffffffffffff82161015613cc257600182015482546001600160d01b0316600160a01b90910465ffffffffffff16600160d01b02178255613ceb565b6040517f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5905f90a15b5060010180546001600160a01b0316600160a01b65ffffffffffff948516026001600160d01b031617600160d01b9290931691909102919091179055565b6064546040516302abf57960e61b8152721259195b9d1a599a595c95da1a5d195b1a5cdd606a1b60048201525f916001600160a01b03169063aafd5e4090602401613545565b5f84848484604051602001613d8794939291906157e8565b604051602081830303815290604052805190602001209050949350505050565b63bb7448008110613dcb5760405163cb40339f60e01b815260040160405180910390fd5b5f8111610e135760405163fa050ec160e01b815260040160405180910390fd5b5f613df583614273565b801561122e575061122e83836142a5565b5f5f5160206158ca5f395f51905f5283158015613e3b5750613e2661196e565b6001600160a01b0316836001600160a01b0316145b15613e53576001810180546001600160a01b03191690555b611337848461432b565b613e66826143a4565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115613eaa57610f2a8282614407565b610fd5614470565b5f65ffffffffffff821115613ee4576040516306dfcc6560e41b8152603060048201526024810183905260440161116a565b5090565b5f5160206158ca5f395f51905f525f613eff612487565b835465ffffffffffff8616600160a01b026001600160d01b03199091166001600160a01b038816171784559150613f3f90508165ffffffffffff16151590565b156110c8576040517f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109905f90a150505050565b5f5f613f7c612217565b90508065ffffffffffff168365ffffffffffff1611613fa457613f9f8382615812565b61122e565b61122e65ffffffffffff84166206978061448f565b5f5f60205f8451602086015f885af180613fd8576040513d5f823e3d81fd5b50505f513d91508115613fef578060011415613ffc565b6001600160a01b0384163b155b156110c857604051635274afe760e01b81526001600160a01b038516600482015260240161116a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052614076848261449e565b6110c8576040516001600160a01b0384811660248301525f60448301526140aa91869182169063095ea7b3906064016134df565b6110c88482613fb9565b60605f6140c185856144e3565b905084816140ce85614525565b6040516020016140e093929190615830565b6040516020818303038152906040529150509392505050565b61410161458d565b6125ea57604051631afcd79f60e31b815260040160405180910390fd5b6125ea6140f9565b61412e6140f9565b610fd582826145a6565b612c0e6140f9565b6141486140f9565b606480546001600160a01b0319166001600160a01b03831617905561416c82612d32565b50606555565b5f5f51602061590a5f395f51905f5261418b8484611997565b61420a575f848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556141c03390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610dfb565b5f915050610dfb565b5f51602061590a5f395f51905f525f61422b84610f8d565b5f85815260208490526040808220600101869055519192508491839187917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a450505050565b5f614285826301ffc9a760e01b6142a5565b8015610dfb575061429e826001600160e01b03196142a5565b1592915050565b6040516001600160e01b0319821660248201525f90819060440160408051601f19818403018152919052602080820180516001600160e01b03166301ffc9a760e01b17815282519293505f9283928392909183918a617530fa92503d91505f519050828015614315575060208210155b801561432057505f81115b979650505050505050565b5f5f51602061590a5f395f51905f526143448484611997565b1561420a575f848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610dfb565b806001600160a01b03163b5f036143d957604051634c9c8ce360e01b81526001600160a01b038216600482015260240161116a565b5f5160206158aa5f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b031684604051614423919061584d565b5f60405180830381855af49150503d805f811461445b576040519150601f19603f3d011682016040523d82523d5f602084013e614460565b606091505b5091509150610eae85838361460c565b34156125ea5760405163b398979f60e01b815260040160405180910390fd5b5f82821882841002821861122e565b5f5f5f5f60205f8651602088015f8a5af192503d91505f519050828015611964575081156144cf5780600114611964565b50505050506001600160a01b03163b151590565b81516060901561451457816040516020016144fe9190615858565b6040516020818303038152906040529050610dfb565b816040516020016144fe919061587e565b606061453d6001600160801b03602084901c16614663565b6145538360601b6001600160601b031916614663565b6040516020016145779291909182526001600160c01b031916602082015260280190565b6040516020818303038152906040529050919050565b5f614596613a6e565b54600160401b900460ff16919050565b6145ae6140f9565b5f5160206158ca5f395f51905f526001600160a01b0382166145e557604051636116401160e11b81525f600482015260240161116a565b80546001600160d01b0316600160d01b65ffffffffffff8516021781556110c85f83613ac5565b60608261461c57613f9f826147f4565b815115801561463357506001600160a01b0384163b155b1561465c57604051639996b31560e01b81526001600160a01b038516600482015260240161116a565b508061122e565b5f5f825f1c9050806001600160801b0316905080600160401b02811777ffffffffffffffff0000000000000000ffffffffffffffff169050806401000000000281177bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16905080620100000281177dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff169050806101000281177eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff1690508060100281177f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f1690505f6008827f0808080808080808080808080808080808080808080808080808080808080808168161477657614776615770565b0460047f040404040404040404040404040404040404040404040404040404040404040484160460027f020202020202020202020202020202020202020202020202020202020202020285160417166027029091017f3030303030303030303030303030303030303030303030303030303030303030019392505050565b80511561480357805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b5f6020828403121561482c575f5ffd5b81356001600160e01b03198116811461122e575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b038111828210171561487f5761487f614843565b604052919050565b5f6001600160401b0382111561489f5761489f614843565b50601f01601f191660200190565b5f82601f8301126148bc575f5ffd5b81356148cf6148ca82614887565b614857565b8181528460208386010111156148e3575f5ffd5b816020850160208301375f918101602001919091529392505050565b6001600160a01b0381168114610e13575f5ffd5b5f5f5f5f5f60a08688031215614927575f5ffd5b853594506020860135935060408601356001600160401b0381111561494a575f5ffd5b614956888289016148ad565b9350506060860135614967816148ff565b949793965091946080013592915050565b5f5f5f6060848603121561498a575f5ffd5b833592506020840135915060408401356001600160401b038111156149ad575f5ffd5b6149b9868287016148ad565b9150509250925092565b80356149ce816148ff565b919050565b5f602082840312156149e3575f5ffd5b813561122e816148ff565b5f602082840312156149fe575f5ffd5b5035919050565b5f5f60408385031215614a16575f5ffd5b823591506020830135614a28816148ff565b809150509250929050565b5f5f5f5f60808587031215614a46575f5ffd5b8435614a51816148ff565b93506020850135925060408501356001600160401b03811115614a72575f5ffd5b614a7e878288016148ad565b9250506060850135614a8f816148ff565b939692955090935050565b5f5f5f5f60808587031215614aad575f5ffd5b843593506020850135925060408501356001600160401b03811115614ad0575f5ffd5b614adc878288016148ad565b949793965093946060013593505050565b5f5f5f60608486031215614aff575f5ffd5b8335614b0a816148ff565b92506020840135915060408401356001600160401b038111156149ad575f5ffd5b5f5f60408385031215614b3c575f5ffd5b8235614b47816148ff565b915060208301356001600160401b03811115614b61575f5ffd5b614b6d858286016148ad565b9150509250929050565b5f5f8284036060811215614b89575f5ffd5b8335614b94816148ff565b92506040601f1982011215614ba7575f5ffd5b506020830190509250929050565b5f5f5f5f60808587031215614bc8575f5ffd5b8435614bd3816148ff565b9350602085013592506040850135915060608501356001600160401b03811115614bfb575f5ffd5b614c07878288016148ad565b91505092959194509250565b5f60208284031215614c23575f5ffd5b813565ffffffffffff8116811461122e575f5ffd5b5f5f5f5f60808587031215614c4b575f5ffd5b8435614c56816148ff565b93506020850135925060408501356001600160401b03811115614ad0575f5ffd5b5f5f5f5f5f60a08688031215614c8b575f5ffd5b8535614c96816148ff565b94506020860135614ca6816148ff565b9350604086013592506060860135915060808601356001600160401b03811115614cce575f5ffd5b614cda888289016148ad565b9150509295509295909350565b5f5f5f5f5f5f60c08789031215614cfc575f5ffd5b8635614d07816148ff565b95506020870135614d17816148ff565b9450604087013593506060870135925060808701356001600160401b03811115614d3f575f5ffd5b614d4b89828a016148ad565b9699959850939692959460a09093013593505050565b5f5f5f5f5f60a08688031215614d75575f5ffd5b8535614d80816148ff565b94506020860135935060408601356001600160401b0381111561494a575f5ffd5b80511515825260208101511515602083015260408101511515604083015260608101511515606083015260808101511515608083015260a081015160a083015260c081015160c08301525050565b6001600160a01b038b811682528a811660208301528916604082015287151560608201526102008101614e256080830189614da1565b6101608201969096526101808101949094526101a08401929092526101c08301526101e09091015295945050505050565b604080825283519082018190525f9060208501906060840190835b81811015614e985783516001600160a01b0316835260209384019390920191600101614e71565b5050809250505082151560208301529392505050565b81516001600160a01b0316815261020081016020830151614eda60208401826001600160a01b03169052565b506040830151614ef560408401826001600160a01b03169052565b506060830151614f09606084018215159052565b506080830151614f1c6080840182614da1565b5060a083015161016083015260c083015161018083015260e08301516101a08301526101008301516101c0830152610120909201516101e09091015290565b5f5f60208385031215614f6c575f5ffd5b82356001600160401b03811115614f81575f5ffd5b8301601f81018513614f91575f5ffd5b80356001600160401b03811115614fa6575f5ffd5b8560208260051b8401011115614fba575f5ffd5b6020919091019590945092505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561504f57603f1987860301845261503a858351614fca565b9450602093840193919091019060010161501e565b50929695505050505050565b602081525f61122e6020830184614fca565b5f5f6040838503121561507e575f5ffd5b82356001600160401b03811115615093575f5ffd5b61509f858286016148ad565b9250506020830135614a28816148ff565b5f5f5f606084860312156150c2575f5ffd5b8335925060208401356150d4816148ff565b915060408401356150e4816148ff565b809150509250925092565b5f5f5f5f5f60a08688031215615103575f5ffd5b853561510e816148ff565b9450602086013593506040860135925060608601356001600160401b03811115615136575f5ffd5b615142888289016148ad565b95989497509295608001359392505050565b634e487b7160e01b5f52602160045260245ffd5b602081016007831061518857634e487b7160e01b5f52602160045260245ffd5b91905290565b5f5f5f5f5f5f5f5f5f6101008a8c0312156151a7575f5ffd5b8935985060208a01356151b9816148ff565b975060408a01356151c9816148ff565b965060608a01356151d9816148ff565b955060808a01356001600160401b038111156151f3575f5ffd5b8a01601f81018c13615203575f5ffd5b80356001600160401b03811115615218575f5ffd5b8c602060608302840101111561522c575f5ffd5b6020919091019550935060a08a0135925061524960c08b016149c3565b915061525760e08b016149c3565b90509295985092959850929598565b8015158114610e13575f5ffd5b5f5f5f5f5f5f60c08789031215615288575f5ffd5b863595506020870135945060408701356001600160401b038111156152ab575f5ffd5b6152b789828a016148ad565b94505060608701356152c881615266565b925060808701356152d881615266565b915060a08701356152e881615266565b809150509295509295509295565b5f60208284031215615306575f5ffd5b815161122e81615266565b6001600160a01b03831681526040602082018190525f9061133790830184614fca565b5f81518060208401855e5f93019283525090919050565b6001600160601b03198460601b1681528260148201525f610eae6034830184615334565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dfb57610dfb61536f565b604081525f6153a86040830185614fca565b90508260208301529392505050565b80820180821115610dfb57610dfb61536f565b838152826020820152606060408201525f610eae6060830184614fca565b848152836020820152608060408201525f6154066080830185614fca565b905082606083015295945050505050565b6001600160a01b03841681526060602082018190525f9061543a90830185614fca565b9050826040830152949350505050565b5f6020828403121561545a575f5ffd5b81516001600160401b0381111561546f575f5ffd5b8201601f8101841361547f575f5ffd5b80516001600160401b0381111561549857615498614843565b8060051b6154a860208201614857565b918252602081840181019290810190878411156154c3575f5ffd5b6020850194505b8385101561432057845192506154df836148ff565b828252602094850194909101906154ca565b634e487b7160e01b5f52603260045260245ffd5b5f5f8335601e1984360301811261551a575f5ffd5b8301803591506001600160401b03821115615533575f5ffd5b602001915036819003821315615547575f5ffd5b9250929050565b818382375f9101908152919050565b5f6020828403121561556d575f5ffd5b81516001600160401b03811115615582575f5ffd5b8201601f81018413615592575f5ffd5b80516155a06148ca82614887565b8181528560208385010111156155b4575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b5f60208284031280156155e2575f5ffd5b50604051602081016001600160401b038111828210171561560557615605614843565b6040529151825250919050565b86815285602082015260c060408201525f61563060c0830187614fca565b6001600160a01b0395909516606083015250608081019290925260a0909101529392505050565b8082028115828204841417610dfb57610dfb61536f565b5f6020828403121561567e575f5ffd5b5051919050565b85815284602082015260a060408201525f6156a360a0830186614fca565b606083019490945250608001529392505050565b6001600160801b0381168114610e13575f5ffd5b5f602082840312156156db575f5ffd5b813561122e816156b7565b81356156f1816156b7565b6001600160801b0381169050806001600160801b0319835416178255602083013561571b816156b7565b60801b6fffffffffffffffffffffffffffffffff191617905550565b65ffffffffffff8181168382160190811115610dfb57610dfb61536f565b5f60208284031215615765575f5ffd5b815161122e816148ff565b634e487b7160e01b5f52601260045260245ffd5b5f8261579e57634e487b7160e01b5f52601260045260245ffd5b500490565b86815285602082015260c060408201525f6157c160c0830187614fca565b60608301959095525060808101929092526001600160a01b031660a0909101529392505050565b6001600160601b03198560601b1681528360148201528260348201525f610eab6054830184615334565b65ffffffffffff8281168282160390811115610dfb57610dfb61536f565b5f610eae6158476158418488615334565b86615334565b84615334565b5f61122e8284615334565b600b60fa1b81525f61586d6001830184615334565b601d60f91b81526001019392505050565b5f61586d828461533456feb92d52e77ebaa0cae5c23e882d85609efbcb44029214147dd132daf9ef1018af360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbceef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d869840027b8807ed0d425f20d0c4bc217dc8c5223cdf4dda073a600a26677d83eb2fb5302dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800eef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698401a2646970667358221220dbe68c0c0268cd87cfcbfa0d97372f406d651be32f9d44335e2fcdebae53339464736f6c634300081e0033","sourceMap":"769:21682:96:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4146:219:21;;;;;;;;;;-1:-1:-1;4146:219:21;;;;;:::i;:::-;;:::i;:::-;;;566:14:102;;559:22;541:41;;529:2;514:18;4146:219:21;;;;;;;;9909:108;;;;;;;;;;-1:-1:-1;10004:6:21;9909:108;;;767:14:102;755:27;;;737:46;;725:2;710:18;9909:108:21;593:196:102;13102:126:21;;;;;;;;;;;;;:::i;:::-;;8405:400:96;;;;;;;;;;-1:-1:-1;8405:400:96;;;;;:::i;:::-;;:::i;:::-;;;3024:25:102;;;3012:2;2997:18;8405:400:96;2878:177:102;13632:507:97;;;;;;;;;;-1:-1:-1;13632:507:97;;;;;:::i;:::-;;:::i;5777:141:96:-;;;;;;;;;;-1:-1:-1;5777:141:96;;;;;:::i;:::-;;:::i;7081:150::-;;;;;;;;;;-1:-1:-1;7081:150:96;;;;;:::i;:::-;;:::i;4807:191:20:-;;;;;;;;;;-1:-1:-1;4807:191:20;;;;;:::i;:::-;;:::i;1924:51:96:-;;;;;;;;;;-1:-1:-1;1924:51:96;;;;-1:-1:-1;;;;;1924:51:96;;;;;;-1:-1:-1;;;;;4774:32:102;;;4756:51;;4744:2;4729:18;1924:51:96;4575:238:102;34389:104:97;;;;;;;;;;-1:-1:-1;34471:15:97;34389:104;;4656:276:21;;;;;;;;;;-1:-1:-1;4656:276:21;;;;;:::i;:::-;;:::i;6757:146:96:-;;;;;;;;;;-1:-1:-1;6757:146:96;;;;;:::i;:::-;;:::i;11496:687::-;;;;;;;;;;-1:-1:-1;11496:687:96;;;;;:::i;:::-;;:::i;5995:682:21:-;;;;;;;;;;-1:-1:-1;5995:682:21;;;;;:::i;:::-;;:::i;12256:503:97:-;;;;;;;;;;-1:-1:-1;12256:503:97;;;;;:::i;:::-;;:::i;16832:243:96:-;;;;;;;;;;-1:-1:-1;16832:243:96;;;;;:::i;:::-;;:::i;4392:96:97:-;;;;;;;;;;;;;:::i;4161:214:23:-;;;;;;:::i;:::-;;:::i;3708:134::-;;;;;;;;;;;;;:::i;23888:451:97:-;;;;;;;;;;-1:-1:-1;23888:451:97;;;;;:::i;:::-;;:::i;6308:170:96:-;;;;;;;;;;-1:-1:-1;6308:170:96;;;;;:::i;:::-;;:::i;24915:274:97:-;;;;;;;;;;-1:-1:-1;24915:274:97;;;;;:::i;:::-;;:::i;10196:150:21:-;;;;;;;;;;-1:-1:-1;10196:150:21;;;;;:::i;:::-;;:::i;12486:145::-;;;;;;;;;;-1:-1:-1;12486:145:21;;;;;:::i;:::-;;:::i;10496:533:96:-;;;;;;;;;;-1:-1:-1;10496:533:96;;;;;:::i;:::-;;:::i;7402:138::-;;;;;;;;;;-1:-1:-1;7402:138:96;;;;;:::i;:::-;;:::i;19928:2492:97:-;;;;;;;;;;-1:-1:-1;19928:2492:97;;;;;:::i;:::-;;:::i;14776:313:96:-;;;;;;;;;;-1:-1:-1;14776:313:96;;;;;:::i;:::-;;:::i;12958:1273::-;;;;;;;;;;-1:-1:-1;12958:1273:96;;;;;:::i;:::-;;:::i;8482:211:21:-;;;;;;;;;;;;;:::i;2419:94:96:-;;;;;;;;;;-1:-1:-1;2419:94:96;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;2419:94:96;;;4400:93:21;;;;;;;;;;;;;:::i;3947:63:97:-;;;;;;;;;;-1:-1:-1;3947:63:97;2443:4:20;3947:63:97;;2849:30:96;;;;;;;;;;;;;;;;3780:207:20;;;;;;;;;;-1:-1:-1;3780:207:20;;;;;:::i;:::-;;:::i;11401:418:97:-;;;;;;;;;;-1:-1:-1;11401:418:97;;;;;:::i;:::-;;:::i;9354:619:96:-;;;;;;;;;;-1:-1:-1;9354:619:96;;;;;:::i;:::-;;:::i;5858:43:99:-;;;;;;;;;;-1:-1:-1;5858:43:99;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5858:43:99;;;;;;;;;;;;-1:-1:-1;;;5858:43:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;9483:368:21:-;;;;;;;;;;;;;:::i;:::-;;;;14886:14:102;14874:27;;;14856:46;;14938:27;;;;14933:2;14918:18;;14911:55;14829:18;9483:368:21;14686:286:102;15943:439:96;;;;;;;;;;-1:-1:-1;15943:439:96;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;25629:297:97:-;;;;;;;;;;-1:-1:-1;25629:297:97;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1861:57:96:-;;;;;;;;;;-1:-1:-1;1861:57:96;;;;-1:-1:-1;;;;;1861:57:96;;;700:1201:92;;;;;;;;;;-1:-1:-1;700:1201:92;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1819:58:23:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:23;;;;;;;;;;;;:::i;10254:591:97:-;;;;;;;;;;-1:-1:-1;10254:591:97;;;;;:::i;:::-;;:::i;27826:224::-;;;;;;;;;;-1:-1:-1;27826:224:97;;;;;:::i;:::-;;:::i;2252:79:96:-;;;;;;;;;;-1:-1:-1;2252:79:96;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;19689:25:102;;;19757:14;;19750:22;19745:2;19730:18;;19723:50;19662:18;2252:79:96;19521:258:102;4974:189:97;;;;;;;;;;-1:-1:-1;4974:189:97;;;;;:::i;:::-;;:::i;5406:137:96:-;;;;;;;;;;-1:-1:-1;5406:137:96;;;;;:::i;:::-;;:::i;2702:62::-;;;;;;;;;;-1:-1:-1;2702:62:96;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;2702:62:96;;;;-1:-1:-1;;;2702:62:96;;;;;;;;;-1:-1:-1;;;;;20781:47:102;;;20763:66;;20865:47;;;;20860:2;20845:18;;20838:75;20736:18;2702:62:96;20589:330:102;18752:399:97;;;;;;;;;;-1:-1:-1;18752:399:97;;;;;:::i;:::-;;:::i;4071:38::-;;;;;;;;;;-1:-1:-1;4071:38:97;;;;-1:-1:-1;;;;;4071:38:97;;;26351:284;;;;;;;;;;-1:-1:-1;26351:284:97;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;27128:382::-;;;;;;;;;;-1:-1:-1;27128:382:97;;;;;:::i;:::-;;:::i;5492:50:99:-;;;;;;;;;;;;5538:4;5492:50;;1541:74:96;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1541:74:96;;9087:338:21;;;;;;;;;;;;;:::i;3661:1151:96:-;;;;;;;;;;-1:-1:-1;3661:1151:96;;;;;:::i;:::-;;:::i;11244:344:21:-;;;;;;;;;;;;;:::i;8751:278::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;24140:32:102;;;24122:51;;24221:14;24209:27;;;24204:2;24189:18;;24182:55;24095:18;8751:278:21;23950:293:102;5032:278:21;;;;;;;;;;-1:-1:-1;5032:278:21;;;;;:::i;:::-;;:::i;10819:128::-;;;;;;;;;;;;;:::i;2074:94:96:-;;;;;;;;;;-1:-1:-1;2074:94:96;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14705:761:97;;;;;;;;;;-1:-1:-1;14705:761:97;;;;;:::i;:::-;;:::i;1734:80:96:-;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1734:80:96;;23018:344:97;;;;;;;;;;-1:-1:-1;23018:344:97;;;;;:::i;:::-;;:::i;4170:39::-;;;;;;;;;;;;;;;;4494:60;;;;;;;;;;;;-1:-1:-1;;;4494:60:97;;4146:219:21;4231:4;-1:-1:-1;;;;;;4254:64:21;;-1:-1:-1;;;4254:64:21;;:104;;;4322:36;4346:11;4322:23;:36::i;:::-;4247:111;4146:219;-1:-1:-1;;4146:219:21:o;13102:126::-;2443:4:20;3272:16;2443:4;3272:10;:16::i;:::-;13193:28:21::1;:26;:28::i;:::-;13102:126:::0;:::o;8405:400:96:-;8635:18;;:44;;-1:-1:-1;;;8635:44:96;;8668:10;8635:44;;;4756:51:102;8598:17:96;;-1:-1:-1;;;;;8635:18:96;;:32;;4729:18:102;;8635:44:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8627:80;;;;-1:-1:-1;;;8627:80:96;;;;;;;;;;;;8724:74;8743:10;8755:9;8766:13;8781:8;8791:6;8724:18;:74::i;:::-;8717:81;;8405:400;;;;;;;;:::o;13632:507:97:-;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;13875:15:97::1;13812:59;13822:10;13834;13846:9;13857:13;13812:9;:59::i;:::-;:78;;;;;;;;:::i;:::-;;13791:137;;;;-1:-1:-1::0;;;13791:137:97::1;;;;;;;;;;;;13938:23;13964:61;13976:10;13988;14000:9;14011:13;13964:11;:61::i;:::-;14035:23;;:41:::0;;-1:-1:-1;;14086:46:97;;;;;-1:-1:-1;1908:20:91;:18;:20::i;:::-;13632:507:97;;;:::o;5777:141:96:-;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;5863:48:96::1;-1:-1:-1::0;;;;;;;;;;;5896:14:96::1;5863:10;:48::i;:::-;1908:20:91::0;:18;:20::i;7081:150:96:-;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;4944:29:96::1;-1:-1:-1::0;;;;;;;;;;;4944:10:96::1;:29::i;:::-;7185:39:::2;7214:9;7185:28;:39::i;4807:191:20:-:0;4872:7;4967:14;;;-1:-1:-1;;;;;;;;;;;4967:14:20;;;;;:24;;;;4807:191::o;4656:276:21:-;4786:4;4782:104;;4835:40;;-1:-1:-1;;;4835:40:21;;;;;;;;;;;4782:104;4895:30;4911:4;4917:7;4895:15;:30::i;:::-;4656:276;;:::o;6757:146:96:-;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;4944:29:96::1;-1:-1:-1::0;;;;;;;;;;;4944:10:96::1;:29::i;:::-;6859:37:::2;6879:16;6859:19;:37::i;11496:687::-:0;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;5129:32:96::1;-1:-1:-1::0;;;;;;;;;;;5129:10:96::1;:32::i;:::-;-1:-1:-1::0;;;;;11796:23:96;::::2;::::0;11792:92:::2;;11835:38;11863:9;11835:27;:38::i;:::-;11893:24;11920:57;11940:9;11951:10;11963:13;11920:19;:57::i;:::-;11987:42;::::0;;;:24:::2;:42;::::0;;;;;;:81;;-1:-1:-1;;;;;;11987:81:96::2;-1:-1:-1::0;;;;;11987:81:96;::::2;::::0;;::::2;::::0;;;12083:93;;11987:42;;-1:-1:-1;11987:81:96;12139:10;;11987:42;;12083:93:::2;::::0;::::2;::::0;12128:9;;12151:13;;12083:93:::2;:::i;:::-;;;;;;;;11705:478;1908:20:91::0;:18;:20::i;:::-;11496:687:96;;;;:::o;5995:682:21:-;-1:-1:-1;;;;;;;;;;;6231:26:21;;:55;;;;;6272:14;:12;:14::i;:::-;-1:-1:-1;;;;;6261:25:21;:7;-1:-1:-1;;;;;6261:25:21;;6231:55;6227:401;;;6303:23;6328:15;6347:21;:19;:21::i;:::-;6302:66;;-1:-1:-1;6302:66:21;-1:-1:-1;;;;;;6386:29:21;;;;;:58;;-1:-1:-1;16952:13:21;;;;6386:58;:91;;;-1:-1:-1;17180:15:21;17169:26;;;;6448:29;6386:91;6382:185;;;6504:48;;-1:-1:-1;;;6504:48:21;;767:14:102;755:27;;6504:48:21;;;737:46:102;710:18;;6504:48:21;;;;;;;;6382:185;-1:-1:-1;;6580:37:21;;-1:-1:-1;;;;6580:37:21;;;6227:401;6637:33;6656:4;6662:7;6637:18;:33::i;12256:503:97:-;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;12537:15:97::1;12474:59;12484:10;12496;12508:9;12519:13;12474:9;:59::i;:::-;:78;;;;;;;;:::i;:::-;;12453:137;;;;-1:-1:-1::0;;;12453:137:97::1;;;;;;;;;;;;12600:33;12618:14;12600:17;:33::i;:::-;12738:14;12643:61;12655:10;12667;12679:9;12690:13;12643:11;:61::i;:::-;:92:::0;;:109;1908:20:91;:18;:20::i;16832:243:96:-;16973:7;17030:9;17041:10;17053:13;17013:54;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;17003:65;;;;;;16996:72;;16832:243;;;;;;:::o;4392:96:97:-;4442:46;4384:2;5538:4:99;4442:46:97;:::i;:::-;4392:96;:::o;4161:214:23:-;2655:13;:11;:13::i;:::-;4276:36:::1;4294:17;4276;:36::i;:::-;4322:46;4344:17;4363:4;4322:21;:46::i;3708:134::-:0;3777:7;2926:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3708:134:23;:::o;23888:451:97:-;24054:6;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;24143:13:97::1;24080:59;24090:10;24102;24114:9;24125:13;24080:9;:59::i;:::-;:76;;;;;;;;:::i;:::-;;24076:164;;24172:57;24180:10;24192;24204:9;24215:13;24172:7;:57::i;:::-;;24076:164;24257:61;24269:10;24281;24293:9;24304:13;24257:11;:61::i;:::-;:75;;;24250:82;;1908:20:91::0;:18;:20::i;6308:170:96:-;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;4944:29:96::1;-1:-1:-1::0;;;;;;;;;;;4944:10:96::1;:29::i;:::-;6431:40:::2;6452:8;6462;6431:20;:40::i;:::-;1908:20:91::0;:18;:20::i;24915:274:97:-;25089:14;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;25126:56:97::1;25134:9;25145:10;25157:9;25168:13;25126:7;:56::i;:::-;25119:63;;1908:20:91::0;:18;:20::i;:::-;24915:274:97;;;;;;:::o;10196:150:21:-;2443:4:20;3272:16;2443:4;3272:10;:16::i;:::-;10303:36:21::1;10330:8;10303:26;:36::i;12486:145::-:0;2443:4:20;3272:16;2443:4;3272:10;:16::i;:::-;12590:34:21::1;12615:8;12590:24;:34::i;10496:533:96:-:0;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;5129:32:96::1;-1:-1:-1::0;;;;;;;;;;;5129:10:96::1;:32::i;:::-;10717:33:::2;10735:14;10717:17;:33::i;:::-;10760:24;10787:57;10807:9;10818:10;10830:13;10787:19;:57::i;:::-;10854:38;::::0;;;:20:::2;:38;::::0;;;;;;:64;;;10933:89;10760:84;;-1:-1:-1;10980:10:96;;-1:-1:-1;;;;;10933:89:96;::::2;::::0;10760:84;;10933:89:::2;::::0;::::2;::::0;10992:13;;10904:14;;10933:89:::2;:::i;7402:138::-:0;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;4944:29:96::1;-1:-1:-1::0;;;;;;;;;;;4944:10:96::1;:29::i;:::-;7500:33:::2;7523:9;7500:22;:33::i;19928:2492:97:-:0;20141:17;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;-1:-1:-1;;;;;20178:22:97;::::1;20170:62;;;;-1:-1:-1::0;;;20170:62:97::1;;;;;;;;;;;;20312:14;20250:58;20260:9;20271:10;20283:9;20294:13;20250:9;:58::i;:::-;:76;;;;;;;;:::i;:::-;;20242:112;;;;-1:-1:-1::0;;;20242:112:97::1;;;;;;;;;;;;20364:23;20390:60;20402:9;20413:10;20425:9;20436:13;20390:11;:60::i;:::-;20460:16;::::0;::::1;:27:::0;;-1:-1:-1;;;;;;20460:27:97::1;-1:-1:-1::0;;;;;20460:27:97;::::1;;::::0;;20517:16:::1;::::0;::::1;::::0;20558:28;;;;20460:16;;-1:-1:-1;20517:16:97;20608:15:::1;20517:16:::0;20558:28;20608:15:::1;:::i;:::-;20596:27:::0;-1:-1:-1;20637:13:97;;20633:115:::1;;20666:16;::::0;::::1;::::0;:71:::1;::::0;-1:-1:-1;;;;;20666:16:97::1;20700:10;20720:4;20727:9:::0;20666:33:::1;:71::i;:::-;20758:20;20781:11;:9;:11::i;:::-;20758:34;;21126:16;21156:27;21175:7;21156:18;:27::i;:::-;21145:38;::::0;:8;:38:::1;:::i;:::-;21126:57:::0;-1:-1:-1;21197:12:97;;21193:218:::1;;21225:16;::::0;::::1;::::0;:64:::1;::::0;-1:-1:-1;;;;;21225:16:97::1;21272:5:::0;21280:8;21225:38:::1;:64::i;:::-;21303:11;:9;:11::i;:::-;21342:16;::::0;::::1;::::0;21361:38:::1;::::0;;::::1;::::0;::::1;::::0;;;;;21303:97;;-1:-1:-1;;;21303:97:97;;-1:-1:-1;;;;;21342:16:97;;::::1;21303:97;::::0;::::1;27828:51:102::0;27915:13;;27895:18;;;27888:41;21303:30:97;::::1;::::0;::::1;::::0;27801:18:102;;21303:97:97::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21193:218;21421:12;:10;:12::i;:::-;-1:-1:-1::0;;;;;21421:25:97::1;;21460:10;21472:46;21499:7;21508:9;21472:26;:46::i;:::-;21520:45;21540:13;21555:9;21520:19;:45::i;:::-;21421:154;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;21645:14:97::1;::::0;::::1;::::0;21613::::1;::::0;-1:-1:-1;21645:18:97;;;;:61:::1;;-1:-1:-1::0;21667:23:97::1;::::0;::::1;:39:::0;::::1;::::0;::::1;;;21645:61;21641:209;;;-1:-1:-1::0;21731:14:97::1;::::0;::::1;::::0;;21776:1:::1;21759:18:::0;;;21791:16:::1;::::0;::::1;::::0;:48:::1;::::0;-1:-1:-1;;;;;21791:16:97::1;21821:9:::0;21731:14;21791:29:::1;:48::i;:::-;21920:8;-1:-1:-1::0;;;;;21865:134:97::1;21902:7;:16;;;;;;;;;;-1:-1:-1::0;;;;;21902:16:97::1;-1:-1:-1::0;;;;;21865:134:97::1;21891:9;-1:-1:-1::0;;;;;21865:134:97::1;;21930:10;21942:9;21953:13;21968:7;:21;;;21865:134;;;;;;;;;:::i;:::-;;;;;;;;22121:30;:28;:30::i;:::-;-1:-1:-1::0;;;;;22186:20:97;::::1;1818:19:88::0;:23;;22186:73:97::1;;;;-1:-1:-1::0;22212:23:97::1;::::0;::::1;:47:::0;;;::::1;;;22186:73;22182:194;;;22275:90;::::0;-1:-1:-1;;;22275:90:97;;-1:-1:-1;;;;;22275:44:97;::::1;::::0;::::1;::::0;:90:::1;::::0;22320:10;;22332:9;;22343:13;;22358:6;;22275:90:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22182:194;22385:28;:26;:28::i;:::-;20160:2260;;;;;;1908:20:91::0;:18;:20::i;14776:313:96:-;14951:25;2127:19:91;:17;:19::i;:::-;14999:24:96::1;:83;15024:57;15044:9;15055:10;15067:13;15024:19;:57::i;:::-;14999:83:::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;14999:83:96;;-1:-1:-1;;;;;14999:83:96::1;::::0;14776:313;-1:-1:-1;;;;14776:313:96:o;12958:1273::-;13188:17;13281:23;13307:60;13319:9;13330:10;13342:9;13353:13;13307:11;:60::i;:::-;13281:86;;13377:24;13404:57;13424:9;13435:10;13447:13;13404:19;:57::i;:::-;13471:18;13492:29;;;:11;:29;;;;;;;;13522:16;;;;-1:-1:-1;;;;;13522:16:96;13492:47;;;;;;;:54;13377:84;;-1:-1:-1;13560:15:96;;13556:87;;13591:28;;;:41;;;13556:87;13652:22;13677:38;;;:20;:38;;;;;:47;13738:19;;13734:105;;13773:38;;;:55;;;13734:105;13849:35;13887:68;13918:9;13929:10;13941:13;13887:30;:68::i;:::-;13974:33;;-1:-1:-1;;;13974:33:96;;-1:-1:-1;;;;;4774:32:102;;;13974:33:96;;;4756:51:102;13849:106:96;;-1:-1:-1;13974:23:96;;;;;;4729:18:102;;13974:33:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13966:68;;;;-1:-1:-1;;;13966:68:96;;;;;;;;;;;;14052:35;;-1:-1:-1;;;14052:35:96;;14076:10;14052:35;;;4756:51:102;-1:-1:-1;;;;;14052:23:96;;;;;4729:18:102;;14052:35:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14044:68;;;;-1:-1:-1;;;14044:68:96;;;;;;;;;;;;14129:95;14151:8;14161:9;14172:10;14184:9;14195:13;14210;14129:21;:95::i;:::-;14122:102;;;;;;;12958:1273;;;;;;;;;:::o;8482:211:21:-;-1:-1:-1;;;;;;;;;;;8664:22:21;-1:-1:-1;;;;;8664:22:21;;8482:211::o;4400:93::-;4446:7;4472:14;:12;:14::i;:::-;4465:21;;4400:93;:::o;3780:207:20:-;3857:4;3949:14;;;-1:-1:-1;;;;;;;;;;;3949:14:20;;;;;;;;-1:-1:-1;;;;;3949:31:20;;;;;;;;;;;;;;;3780:207::o;11401:418:97:-;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;11649:15:97::1;11586:59;11596:10;11608;11620:9;11631:13;11586:9;:59::i;:::-;:78;;;;;;;;:::i;:::-;;11565:137;;;;-1:-1:-1::0;;;11565:137:97::1;;;;;;;;;;;;11808:4;11712:61;11724:10;11736;11748:9;11759:13;11712:11;:61::i;:::-;:77;;:100:::0;;;::::1;;;;-1:-1:-1::0;;11712:100:97;;::::1;::::0;;;::::1;::::0;;1908:20:91;:18;:20::i;9354:619:96:-;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;5129:32:96::1;-1:-1:-1::0;;;;;;;;;;;5129:10:96::1;:32::i;:::-;9588:25:::2;:23;:25::i;:::-;:58;::::0;-1:-1:-1;;;9588:58:96;;-1:-1:-1;;;;;4774:32:102;;;9588:58:96::2;::::0;::::2;4756:51:102::0;9588:39:96;;;::::2;::::0;::::2;::::0;4729:18:102;;9588:58:96::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9580:90;;;;-1:-1:-1::0;;;9580:90:96::2;;;;;;;;;;;;9680:29;9694:8;9704:4;9680:13;:29::i;:::-;9719:24;9746:57;9766:9;9777:10;9789:13;9746:19;:57::i;:::-;9813:29;::::0;;;:11:::2;:29;::::0;;;;;;;-1:-1:-1;;;;;9813:39:96;::::2;::::0;;;;;;;;;:53;;;9881:85;;9719:84;;-1:-1:-1;9813:39:96;9924:10;;9719:84;;9881:85:::2;::::0;::::2;::::0;9913:9;;9936:13;;9862:4;;9881:85:::2;:::i;:::-;;;;;;;;9570:403;1908:20:91::0;:18;:20::i;:::-;9354:619:96;;;;;:::o;9483:368:21:-;-1:-1:-1;;;;;;;;;;;9706:23:21;9548:15;;-1:-1:-1;;;9706:23:21;;;;-1:-1:-1;;;;;;;;;;;16952:13:21;;;;;9747:57;;-1:-1:-1;17180:15:21;17169:26;;;;9775:29;9747:57;9746:98;;9839:1;9842;9746:98;;;9809:15;;;;-1:-1:-1;;;9809:15:21;;;;9826:8;9746:98;9739:105;;;;;9483:368;;:::o;15943:439:96:-;16129:33;16164:14;2127:19:91;:17;:19::i;:::-;16194:35:96::1;16232:68;16263:9;16274:10;16286:13;16232:30;:68::i;:::-;16194:106;;16318:9;-1:-1:-1::0;;;;;16318:22:96::1;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;16318:24:96::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;16344:9;-1:-1:-1::0;;;;;16344:28:96::1;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16310:65;;;;;15943:439:::0;;;;;;:::o;25629:297:97:-;25822:14;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25822:14:97;2127:19:91;:17;:19::i;:::-;25859:60:97::1;25871:9;25882:10;25894:9;25905:13;25859:11;:60::i;:::-;25852:67;::::0;;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;25852:67:97;;::::1;::::0;;;;::::1;::::0;;::::1;;::::0;;::::1;::::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;::::1;-1:-1:-1::0;;;25852:67:97;;::::1;::::0;::::1;;;::::0;;;;;;;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;::::1;;;::::0;;::::1;::::0;;::::1;::::0;::::1;;;::::0;;::::1;::::0;;;;;;::::1;::::0;::::1;;;::::0;;;;;;;;;::::1;::::0;::::1;;;::::0;;;;;;;;;;::::1;::::0;;::::1;;;::::0;;;;;;;;::::1;::::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::1;::::0;::::1;::::0;;;;;;;;::::1;::::0;::::1;::::0;;;;;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;;::::1;::::0;;::::1;::::0;;;;;;-1:-1:-1;25629:297:97;;;;;;:::o;700:1201:92:-;760:22;816:4;-1:-1:-1;;;;;804:24:92;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;794:34:92;-1:-1:-1;843:9:92;838:1057;858:15;;;838:1057;;;1458:12;;1503:4;1522;;1527:1;1522:7;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;1495:35;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1457:73;;;;1550:7;1545:306;;1677:2;1661:6;:13;:18;1657:32;;;1681:8;;;1657:32;1760:4;1752:6;1748:17;1738:27;;1818:6;1807:28;;;;;;;;;;;;:::i;:::-;1800:36;;-1:-1:-1;;;1800:36:92;;;;;;;;:::i;1545:306::-;1878:6;1865:7;1873:1;1865:10;;;;;;;;:::i;:::-;;;;;;;;;;:19;-1:-1:-1;;875:3:92;;838:1057;;;;700:1201;;;;:::o;10254:591:97:-;10424:17;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;10541:15:97::1;10478:59;10488:10;10500;10512:9;10523:13;10478:9;:59::i;:::-;:78;;;;;;;;:::i;:::-;;10457:137;;;;-1:-1:-1::0;;;10457:137:97::1;;;;;;;;;;;;10604:23;10630:61;10642:10;10654;10666:9;10677:13;10630:11;:61::i;:::-;10701:28:::0;;;:35;;;10822:16:::1;::::0;::::1;::::0;10604:87;;-1:-1:-1;10815:23:97::1;::::0;10732:4;10815:23:::1;:::i;:::-;10808:30;;;1908:20:91::0;:18;:20::i;27826:224:97:-;27963:12;27998:45;28018:13;28033:9;27998:19;:45::i;4974:189::-;4158:30:22;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:22;-1:-1:-1;;;4302:15:22;;;4301:16;;-1:-1:-1;;;;;4348:14:22;4279:19;4724:16;;:34;;;;;4744:14;4724:34;4704:54;;4768:17;4788:11;-1:-1:-1;;;;;4788:16:22;4803:1;4788:16;:50;;;;-1:-1:-1;4816:4:22;4808:25;:30;4788:50;4768:70;;4854:12;4853:13;:30;;;;;4871:12;4870:13;4853:30;4849:91;;;4906:23;;-1:-1:-1;;;4906:23:22;;;;;;;;;;;4849:91;4949:18;;-1:-1:-1;;4949:18:22;4966:1;4949:18;;;4977:67;;;;5011:22;;-1:-1:-1;;;;5011:22:22;-1:-1:-1;;;5011:22:22;;;4977:67;5090:66:97::1;5116:9;5127:14;5143:12;5090:25;:66::i;:::-;5068:14:22::0;5064:101;;;5098:23;;-1:-1:-1;;;;5098:23:22;;;5140:14;;-1:-1:-1;32402:50:102;;5140:14:22;;32390:2:102;32375:18;5140:14:22;;;;;;;5064:101;4092:1079;;;;;4974:189:97;;;:::o;5406:137:96:-;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;5489:47:96::1;-1:-1:-1::0;;;;;;;;;;;5521:14:96::1;5489:9;:47::i;18752:399:97:-:0;18955:17;19053:91;19069:10;19081:9;19092:10;19104:9;19115:13;19130;19053:15;:91::i;26351:284::-;26542:5;2127:19:91;:17;:19::i;:::-;26570:58:97::1;26580:9;26591:10;26603:9;26614:13;26570:9;:58::i;27128:382::-:0;27319:4;2127:19:91;:17;:19::i;:::-;27339:11:97::1;27353:58;27363:9;27374:10;27386:9;27397:13;27353:9;:58::i;:::-;27339:72:::0;-1:-1:-1;27437:13:97::1;27428:5;:22;;;;;;;;:::i;:::-;;:49;;;-1:-1:-1::0;27463:14:97::1;27454:5;:23;;;;;;;;:::i;:::-;;27428:49;:75;;;-1:-1:-1::0;27490:13:97::1;27481:5;:22;;;;;;;;:::i;:::-;;27421:82:::0;27128:382;-1:-1:-1;;;;;;27128:382:97:o;9087:338:21:-;-1:-1:-1;;;;;;;;;;;9284:23:21;9145:6;;-1:-1:-1;;;;;;;;;;;3245:45:21;-1:-1:-1;;;9284:23:21;;;;16952:13;;;;;9325:56;;-1:-1:-1;17180:15:21;17169:26;;;;9353:28;9324:94;;9403:15;;-1:-1:-1;;;9403:15:21;;;;9324:94;;;9385:15;;;;-1:-1:-1;;;9385:15:21;;;;9324:94;9317:101;;;;9087:338;:::o;3661:1151:96:-;4158:30:22;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:22;-1:-1:-1;;;4302:15:22;;;4301:16;;-1:-1:-1;;;;;4348:14:22;4279:19;4724:16;;:34;;;;;4744:14;4724:34;4704:54;;4768:17;4788:11;-1:-1:-1;;;;;4788:16:22;4803:1;4788:16;:50;;;;-1:-1:-1;4816:4:22;4808:25;:30;4788:50;4768:70;;4854:12;4853:13;:30;;;;;4871:12;4870:13;4853:30;4849:91;;;4906:23;;-1:-1:-1;;;4906:23:22;;;;;;;;;;;4849:91;4949:18;;-1:-1:-1;;4949:18:22;4966:1;4949:18;;;4977:67;;;;5011:22;;-1:-1:-1;;;;5011:22:22;-1:-1:-1;;;5011:22:22;;;4977:67;4014:73:96::1;4040:16;4058:14;4074:12;4014:25;:73::i;:::-;4269:42;-1:-1:-1::0;;;;;;;;;;;4299:11:96::1;4269:10;:42::i;:::-;;4321:54;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;4321:13:96::1;:54::i;:::-;4386:55;4415:25;4386:28;:55::i;:::-;4451:43;4474:19;4451:22;:43::i;:::-;4602:9;4597:162;4617:29:::0;;::::1;4597:162;;;4667:81;4688:18;;4707:1;4688:21;;;;;;;:::i;:::-;:30;::::0;::::1;:21;::::0;;::::1;;:30:::0;;::::1;::::0;-1:-1:-1;4688:30:96::1;:::i;:::-;4720:18;;4739:1;4720:21;;;;;;;:::i;:::-;;;;;;:27;;4667:20;:81::i;:::-;4648:3;;4597:162;;;;4768:37;4788:16;4768:19;:37::i;:::-;5068:14:22::0;5064:101;;;5098:23;;-1:-1:-1;;;;5098:23:22;;;5140:14;;-1:-1:-1;32402:50:102;;5140:14:22;;32390:2:102;32375:18;5140:14:22;;;;;;;5064:101;4092:1079;;;;;3661:1151:96;;;;;;;;;:::o;11244:344:21:-;11308:23;11337:21;:19;:21::i;:::-;-1:-1:-1;11307:51:21;-1:-1:-1;966:10:24;-1:-1:-1;;;;;11372:31:21;;;11368:175;;11486:46;;-1:-1:-1;;;11486:46:21;;966:10:24;11486:46:21;;;4756:51:102;4729:18;;11486:46:21;4575:238:102;11368:175:21;11552:29;:27;:29::i;8751:278::-;-1:-1:-1;;;;;;;;;;;8967:22:21;-1:-1:-1;;;;;8967:22:21;;;-1:-1:-1;;;8991:30:21;;;;;;8751:278::o;5032:::-;5163:4;5159:104;;5212:40;;-1:-1:-1;;;5212:40:21;;;;;;;;;;;5159:104;5272:31;5289:4;5295:7;5272:16;:31::i;10819:128::-;2443:4:20;3272:16;2443:4;3272:10;:16::i;:::-;10911:29:21::1;:27;:29::i;14705:761:97:-:0;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;15062:15:97::1;14999:59;15009:10;15021;15033:9;15044:13;14999:9;:59::i;:::-;:78;;;;;;;;:::i;:::-;;14978:137;;;;-1:-1:-1::0;;;14978:137:97::1;;;;;;;;;;;;15125:23;15151:61;15163:10;15175;15187:9;15198:13;15151:11;:61::i;:::-;15222:23;;:73:::0;;-1:-1:-1;;15305:73:97;15222;;::::1;;;-1:-1:-1::0;;15305:73:97;;;;::::1;;;;-1:-1:-1::0;;15388:71:97::1;::::0;;::::1;;;;::::0;;-1:-1:-1;1908:20:91;:18;:20::i;:::-;14705:761:97;;;;;;:::o;23018:344::-;23177:17;23279:76;23295:10;23307:9;23318:10;23330:9;23341:13;23279:15;:76::i;3491:202:20:-;3576:4;-1:-1:-1;;;;;;3599:47:20;;-1:-1:-1;;;3599:47:20;;:87;;-1:-1:-1;;;;;;;;;;1101:40:25;;;3650:36:20;1002:146:25;4196:103:20;4262:30;4273:4;966:10:24;4262::20;:30::i;13355:94:21:-;13420:22;13437:1;13440;13420:16;:22::i;:::-;13355:94::o;7595:2132:97:-;7809:17;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;7909:13:97::1;7846:59;7856:10;7868;7880:9;7891:13;7846:9;:59::i;:::-;:76;;;;;;;;:::i;:::-;;7838:111;;;;-1:-1:-1::0;;;7838:111:97::1;;;;;;;;;;;;7967:25;:23;:25::i;:::-;-1:-1:-1::0;;;;;7967:47:97::1;;8015:10;7967:59;;;;;;;;;;;;;3024:25:102::0;;3012:2;2997:18;;2878:177;7967:59:97::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7959:93;;;;-1:-1:-1::0;;;7959:93:97::1;;;;;;;;;;;;8070:25;:23;:25::i;:::-;:58;::::0;-1:-1:-1;;;8070:58:97;;-1:-1:-1;;;;;4774:32:102;;;8070:58:97::1;::::0;::::1;4756:51:102::0;8070:39:97;;;::::1;::::0;::::1;::::0;4729:18:102;;8070:58:97::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8062:90;;;;-1:-1:-1::0;;;8062:90:97::1;;;;;;;;;;;;34471:15:::0;8170:9:::1;:29;;8162:59;;;;-1:-1:-1::0;;;8162:59:97::1;;;;;;;;;;;;4442:46;4384:2;5538:4:99;4442:46:97;:::i;:::-;8410:13;:20;:47;;8402:80;;;;-1:-1:-1::0;;;8402:80:97::1;;;;;;;;;;;;8493:16;8512:11;:9;:11::i;:::-;:46;::::0;-1:-1:-1;;;8512:46:97;;-1:-1:-1;;;;;4774:32:102;;;8512:46:97::1;::::0;::::1;4756:51:102::0;8512:27:97;;;::::1;::::0;::::1;::::0;4729:18:102;;8512:46:97::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:55;;;8493:74;;8646:645;;;;;;;;8686:1;-1:-1:-1::0;;;;;8646:645:97::1;;;;;8720:1;-1:-1:-1::0;;;;;8646:645:97::1;;;;;8746:8;-1:-1:-1::0;;;;;8646:645:97::1;;;;;8777:5;8646:645;;;;;;8813:316;;;;;;;;8859:5;8813:316;;;;;;8899:5;8813:316;;;;;;8947:5;8813:316;;;;;;8995:5;8813:316;;;;;;9042:5;8813:316;;;;;;9071:8;8813:316;;;;9113:1;8813:316;;::::0;8646:645:::1;;;;9158:1;8646:645;;;;9188:1;8646:645;;;;9219:1;8646:645;;;;9242:6;8646:645;;;;9272:8;8646:645;;::::0;8577:8:::1;:66;8586:56;8593:10;8605;8617:9;8628:13;8586:6;:56::i;:::-;8577:66:::0;;::::1;::::0;;::::1;::::0;;;;;;;;-1:-1:-1;8577:66:97;:714;;;;-1:-1:-1;;;;;;8577:714:97;;::::1;-1:-1:-1::0;;;;;8577:714:97;;::::1;;::::0;;;;::::1;::::0;-1:-1:-1;8577:714:97;::::1;::::0;;;;::::1;::::0;;::::1;;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;::::1;-1:-1:-1::0;;;;;;8577:714:97;;;;-1:-1:-1;;;8577:714:97;::::1;;::::0;;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;8577:714:97;;;;::::1;;-1:-1:-1::0;;8577:714:97;;;;;::::1;::::0;::::1;;::::0;::::1;;-1:-1:-1::0;;8577:714:97;;;::::1;;::::0;;;::::1;-1:-1:-1::0;;8577:714:97;;;;;;;::::1;;::::0;;;::::1;::::0;;;::::1;-1:-1:-1::0;;8577:714:97::1;::::0;;::::1;;::::0;;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;9306:10;;9302:101:::1;;9332:60;-1:-1:-1::0;;;;;9332:25:97;::::1;9358:10;9378:4;9385:6:::0;9332:25:::1;:60::i;:::-;9431:10;-1:-1:-1::0;;;;;9418:99:97::1;;9443:10;9455:9;9466:13;9489:8;9500:6;9508:8;9418:99;;;;;;;;;;;:::i;:::-;;;;;;;;9708:12;:8:::0;9719:1:::1;9708:12;:::i;:::-;9701:19;;;1908:20:91::0;:18;:20::i;2667:183::-;2799:11;;;;2791:52;;;;-1:-1:-1;;;2791:52:91;;;;;;;;;;;2856:136;2966:11;:19;;-1:-1:-1;;2966:19:91;;;2856:136::o;31666:817:97:-;31817:5;31838:23;31864:60;31876:9;31887:10;31899:9;31910:13;31864:11;:60::i;:::-;31947:16;;;;31838:86;;-1:-1:-1;;;;;;31947:16:97;31935:65;;31987:13;31980:20;;;;;31935:65;32015:16;;-1:-1:-1;;;;;32015:16:97;32011:58;;32054:15;32047:22;;;;;32011:58;32084:15;;;;-1:-1:-1;;;32084:15:97;;;;32080:41;;;32108:13;32101:20;;;;;32080:41;32136:16;;;;-1:-1:-1;;;;;32136:16:97;32132:143;;34471:15;32189:7;:22;;;:42;;:75;;32250:14;32189:75;;;32234:13;32189:75;32182:82;;;;;32132:143;32292:12;:10;:12::i;:::-;-1:-1:-1;;;;;32292:21:97;;32327:10;32339:46;32366:7;32375:9;32339:26;:46::i;:::-;32387:45;32407:13;32422:9;32387:19;:45::i;:::-;32292:150;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:184;;32462:14;32292:184;;;-1:-1:-1;32445:14:97;;31666:817;-1:-1:-1;;;;;31666:817:97:o;31012:264::-;31166:15;31204:8;:65;31213:55;31220:9;31231:10;31243:9;31254:13;31213:6;:55::i;:::-;31204:65;;;;;;;;;;;31197:72;;31012:264;;;;;;:::o;2998:206:91:-;3179:11;:18;;-1:-1:-1;;3179:18:91;3193:4;3179:18;;;2998:206::o;18595:250:96:-;18670:38;18698:9;18670:27;:38::i;:::-;18718:24;:63;;-1:-1:-1;;;;;;18718:63:96;-1:-1:-1;;;;;18718:63:96;;;;;;;;18796:42;;;;-1:-1:-1;;18796:42:96;18595:250;:::o;5294:136:20:-;5368:18;5381:4;5368:12;:18::i;:::-;3272:16;3283:4;3272:10;:16::i;:::-;5398:25:::1;5409:4;5415:7;5398:10;:25::i;18244:220:96:-:0;18317:41;18341:16;18317:23;:41::i;:::-;18368:15;:34;;;18417:40;;3024:25:102;;;18417:40:96;;3012:2:102;2997:18;18417:40:96;;;;;;;18244:220;:::o;19444:250::-;19545:87;19577:9;-1:-1:-1;;;19545:31:96;:87::i;:::-;19524:163;;;;-1:-1:-1;;;19524:163:96;;;;;;;;;;;6396:245:20;-1:-1:-1;;;;;6489:34:20;;966:10:24;6489:34:20;6485:102;;6546:30;;-1:-1:-1;;;6546:30:20;;;;;;;;;;;6485:102;6597:37;6609:4;6615:18;6597:11;:37::i;20781:182:96:-;20879:15;;20867:8;:27;;20859:54;;;;-1:-1:-1;;;20859:54:96;;;;;;;;;;;;20923:33;20947:8;20923:23;:33::i;4578:312:23:-;4658:4;-1:-1:-1;;;;;4667:6:23;4650:23;;;:120;;;4764:6;-1:-1:-1;;;;;4728:42:23;:32;-1:-1:-1;;;;;;;;;;;1519:53:38;-1:-1:-1;;;;;1519:53:38;;1441:138;4728:32:23;-1:-1:-1;;;;;4728:42:23;;;4650:120;4633:251;;;4844:29;;-1:-1:-1;;;4844:29:23;;;;;;;;;;;6657:73:97;6435:30;2443:4:20;6435:10:97;:30::i;6032:538:23:-;6149:17;-1:-1:-1;;;;;6131:50:23;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6131:52:23;;;;;;;;-1:-1:-1;;6131:52:23;;;;;;;;;;;;:::i;:::-;;;6127:437;;6493:60;;-1:-1:-1;;;6493:60:23;;-1:-1:-1;;;;;4774:32:102;;6493:60:23;;;4756:51:102;4729:18;;6493:60:23;4575:238:102;6127:437:23;-1:-1:-1;;;;;;;;;;;6225:40:23;;6221:120;;6292:34;;-1:-1:-1;;;6292:34:23;;;;;3024:25:102;;;2997:18;;6292:34:23;2878:177:102;6221:120:23;6354:54;6384:17;6403:4;6354:29;:54::i;5007:213::-;5081:4;-1:-1:-1;;;;;5090:6:23;5073:23;;5069:145;;5174:29;;-1:-1:-1;;;5174:29:23;;;;;;;;;;;28323:2683:97;28459:14;28489:11;28503:58;28513:9;28524:10;28536:9;28547:13;28503:9;:58::i;:::-;28489:72;;28646:23;28672:60;28684:9;28695:10;28707:9;28718:13;28672:11;:60::i;:::-;28742:15;;;:22;;-1:-1:-1;;;;28742:22:97;-1:-1:-1;;;28742:22:97;;;28646:86;-1:-1:-1;28788:13:97;28779:5;:22;;;;;;;;:::i;:::-;;28775:1535;;28947:21;;;;28923;;;:45;29041:14;;;;29022:16;;;;28991:28;;;;:47;;29022:16;28991:47;:::i;:::-;:64;;;;:::i;:::-;29099:16;;29069;;;;28982:73;;-1:-1:-1;29069:55:97;;-1:-1:-1;;;;;29069:16:97;;;;29099;28982:73;29069:29;:55::i;:::-;28775:1535;;;29154:14;29145:5;:23;;;;;;;;:::i;:::-;;29141:1169;;29324:12;:10;:12::i;:::-;-1:-1:-1;;;;;29324:21:97;;29363:10;29391:46;29418:7;29427:9;29391:26;:46::i;:::-;29455:45;29475:13;29490:9;29455:19;:45::i;:::-;29324:190;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29300:21;;;:214;;;29575:21;;;;29625:28;;;;29550:46;;;;29528:19;29769:27;29300:7;29769:18;:27::i;:::-;29762:34;;:4;:34;:::i;:::-;29739:57;;30120:7;:14;;;30101:7;:16;;;30086:12;30079:4;:19;;;;:::i;:::-;:38;;;;:::i;:::-;:55;;;;:::i;:::-;30070:64;;30148:91;30178:14;:52;;30214:16;;-1:-1:-1;;;;;30214:16:97;30178:52;;;30195:16;;;;-1:-1:-1;;;;;30195:16:97;30178:52;30148:16;;;;-1:-1:-1;;;;;30148:16:97;;30232:6;30148:29;:91::i;:::-;29170:1080;;;29141:1169;;;30277:22;;-1:-1:-1;;;30277:22:97;;;;;;;;;;;29141:1169;30398:16;;;;30368;;30502:21;;;;30325:228;;-1:-1:-1;;;;;30398:16:97;;;;30368;;;;30325:228;;;;;;;30428:10;;30452:9;;30475:13;;30537:6;;30325:228;:::i;:::-;;;;;;;;30694:30;:28;:30::i;:::-;-1:-1:-1;;;;;30759:20:97;;1818:19:88;:23;;30759:72:97;;;;-1:-1:-1;30785:23:97;;;:46;;;;;;30759:72;30755:207;;;30929:21;;;;30847:104;;-1:-1:-1;;;30847:104:97;;-1:-1:-1;;;;;30847:43:97;;;;;:104;;30891:10;;30903:9;;30914:13;;30847:104;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30755:207;30971:28;:26;:28::i;:::-;28479:2527;;28323:2683;;;;;;:::o;17570:425:96:-;17672:25;:23;:25::i;:::-;:58;;-1:-1:-1;;;17672:58:96;;-1:-1:-1;;;;;4774:32:102;;;17672:58:96;;;4756:51:102;17672:39:96;;;;;;;4729:18:102;;17672:58:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17664:90;;;;-1:-1:-1;;;17664:90:96;;;;;;;;;;;;17796:20;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17772:44:96;:20;;;;:8;:20;:::i;:::-;-1:-1:-1;;;;;17772:44:96;;;17764:84;;;;-1:-1:-1;;;17764:84:96;;;;;;;;;;;;-1:-1:-1;;;;;17858:27:96;;;;;;:17;:27;;;;;17888:8;;17858:38;17888:8;17858:27;:38;:::i;:::-;-1:-1:-1;;;;;;;17911:77:96;;;17945:20;;;;:8;:20;:::i;:::-;17967;;;;;;;;:::i;:::-;17911:77;;;-1:-1:-1;;;;;20781:47:102;;;20763:66;;20865:47;;;;20860:2;20845:18;;20838:75;20736:18;17911:77:96;;;;;;;;17570:425;;:::o;10473:288:21:-;10554:18;10612:19;:17;:19::i;:::-;10575:34;10593:15;10575:17;:34::i;:::-;:56;;;;:::i;:::-;10554:77;;10641:46;10665:8;10675:11;10641:23;:46::i;:::-;10702:52;;767:14:102;755:27;;737:46;;-1:-1:-1;;;;;10702:52:21;;;;;725:2:102;710:18;10702:52:21;593:196:102;12756:288:21;12834:18;12892:26;12909:8;12892:16;:26::i;:::-;12855:34;12873:15;12855:17;:34::i;:::-;:63;;;;:::i;:::-;12834:84;;12928:39;12945:8;12955:11;12928:16;:39::i;:::-;12982:55;;;14886:14:102;14874:27;;;14856:46;;14938:27;;14933:2;14918:18;;14911:55;12982::21;;14829:18:102;12982:55:21;;;;;;;12824:220;12756:288;:::o;18969:232:96:-;19038:38;19066:9;19038:27;:38::i;:::-;19086:18;:57;;-1:-1:-1;;;;;;19086:57:96;-1:-1:-1;;;;;19086:57:96;;;;;;;;19158:36;;;;-1:-1:-1;;19158:36:96;18969:232;:::o;1618:188:48:-;1745:53;;-1:-1:-1;;;;;36417:32:102;;;1745:53:48;;;36399:51:102;36486:32;;;36466:18;;;36459:60;36535:18;;;36528:34;;;1718:81:48;;1738:5;;1760:18;;;;;36372::102;;1745:53:48;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1745:53:48;;;;;;;;;;;1718:19;:81::i;32864:154:97:-;32955:6;;:55;;-1:-1:-1;;;32955:55:97;;-1:-1:-1;;;32955:55:97;;;3024:25:102;32907:14:97;;-1:-1:-1;;;;;32955:6:97;;:31;;2997:18:102;;32955:55:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;31282:180::-;31423:28;;;;31357:7;;31423:32;;31454:1;;31423:32;:::i;3146:225:48:-;3265:39;;-1:-1:-1;;;3265:39:48;;3289:4;3265:39;;;37365:51:102;-1:-1:-1;;;;;37452:32:102;;;37432:18;;;37425:60;3242:20:48;;3265:15;;;;;;37338:18:102;;3265:39:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3242:62;-1:-1:-1;3314:50:48;3327:5;3334:7;3343:20;3358:5;3242:62;3343:20;:::i;:::-;3314:12;:50::i;32489:176:97:-;32601:6;;:56;;-1:-1:-1;;;32601:56:97;;-1:-1:-1;;;32601:56:97;;;3024:25:102;32533:24:97;;-1:-1:-1;;;;;32601:6:97;;:31;;2997:18:102;;32601:56:97;2878:177:102;33240:472:97;33400:23;;;:34;33373:7;;33400:34;;33396:310;;;33485:38;;;;33450:16;;33485:43;;:102;;33572:15;;33485:102;;;33531:38;;;;33485:102;33450:137;;33633:8;33608:7;:22;;;:33;;;;:::i;:::-;33601:40;;;;;33396:310;-1:-1:-1;33679:16:97;33672:23;;34012:371;34110:12;34300:76;34336:13;34300:76;;;;;;;;;;;;;-1:-1:-1;;;34300:76:97;;;34366:9;34300:35;:76::i;1219:160:48:-;1328:43;;-1:-1:-1;;;;;37923:32:102;;;1328:43:48;;;37905:51:102;37972:18;;;37965:34;;;1301:71:48;;1321:5;;1343:14;;;;;37878:18:102;;1328:43:48;37731:274:102;21580:414:96;21733:35;21796:24;:83;21821:57;21841:9;21852:10;21864:13;21821:19;:57::i;:::-;21796:83;;;;;;;;;;;-1:-1:-1;21796:83:96;;-1:-1:-1;;;;;21796:83:96;;-1:-1:-1;21796:83:96;21889:99;;-1:-1:-1;21953:24:96;;-1:-1:-1;;;;;21953:24:96;21580:414;;;;;:::o;16241:1914:97:-;16492:17;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;-1:-1:-1;;;;;16529:22:97;::::1;16521:62;;;;-1:-1:-1::0;;;16521:62:97::1;;;;;;;;;;;;16676:15;16614:58;16624:9;16635:10;16647:9;16658:13;16614:9;:58::i;:::-;:77;;;;;;;;:::i;:::-;;16593:136;;;;-1:-1:-1::0;;;16593:136:97::1;;;;;;;;;;;;16739:23;16765:60;16777:9;16788:10;16800:9;16811:13;16765:11;:60::i;:::-;16839:23;::::0;::::1;:34:::0;16739:86;;-1:-1:-1;16839:34:97::1;;16835:134;;;-1:-1:-1::0;;;16897:13:97::1;:35:::0;16889:69:::1;;;;-1:-1:-1::0;;;16889:69:97::1;;;;;;;;;;;;16978:27:::0;;-1:-1:-1;;;;;;16978:27:97::1;-1:-1:-1::0;;;;;16978:27:97;::::1;;::::0;;17015:21:::1;::::0;::::1;:37:::0;;;17197:38;;;;-1:-1:-1;17197:43:97;:102:::1;;17284:15;;17197:102;;;17243:38:::0;;;;17197:102:::1;17165:135;::::0;34471:15;17165:135:::1;:::i;:::-;17140:22;::::0;::::1;:160:::0;17354:16:::1;::::0;::::1;::::0;17323:28;;;;:47:::1;::::0;17354:16;17323:47:::1;:::i;:::-;17311:59:::0;-1:-1:-1;17384:13:97;;17380:90:::1;;17399:16;::::0;::::1;::::0;:71:::1;::::0;-1:-1:-1;;;;;17399:16:97::1;17433:10;17453:4;17460:9:::0;17399:33:::1;:71::i;:::-;17658:22;::::0;::::1;::::0;17702:16:::1;::::0;::::1;::::0;17486:243:::1;::::0;-1:-1:-1;;;;;17486:243:97;;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;17557:10;;17581:9;;17604:13;;17631;;17702:16;;::::1;::::0;17486:243:::1;:::i;:::-;;;;;;;;17864:30;:28;:30::i;:::-;-1:-1:-1::0;;;;;17929:20:97;::::1;1818:19:88::0;:23;;17929:73:97::1;;;;-1:-1:-1::0;17955:23:97::1;::::0;::::1;:47:::0;;;::::1;;;17929:73;17925:186;;;18018:82;::::0;-1:-1:-1;;;18018:82:97;;-1:-1:-1;;;;;18018:44:97;::::1;::::0;::::1;::::0;:82:::1;::::0;18063:10;;18075:9;;18086:13;;18018:82:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17925:186;18120:28;:26;:28::i;:::-;16511:1644;1908:20:91::0;:18;:20::i;32671:187:97:-;32781:6;;:69;;-1:-1:-1;;;32781:69:97;;-1:-1:-1;;;32781:69:97;;;3024:25:102;32729:16:97;;-1:-1:-1;;;;;32781:6:97;;:31;;2997:18:102;;32781:69:97;2878:177:102;20106:363:96;20191:4;20199:1;20191:9;20183:40;;;;-1:-1:-1;;;20183:40:96;;;;;;;;;;;;-1:-1:-1;;;;;20265:27:96;;20233:29;20265:27;;;:17;:27;;;;;;;;;20233:59;;;;;;;;;-1:-1:-1;;;;;20233:59:96;;;;;;-1:-1:-1;;;20233:59:96;;;;;;;;;;;20310:41;;;20302:74;;;;-1:-1:-1;;;20302:74:96;;;;;;;;;;;;20410:12;:24;;;-1:-1:-1;;;;;20402:33:96;20394:4;:41;;20386:76;;;;-1:-1:-1;;;20386:76:96;;;;;;;;;;;9071:205:22;9129:30;;3147:66;9186:27;8819:122;5392:441:97;6929:20:22;:18;:20::i;:::-;5548:24:97::1;:22;:24::i;:::-;5582:59;5620:6;5628:12;5582:37;:59::i;:::-;5726:28;:26;:28::i;:::-;5764:62;5800:9;5811:14;5764:35;:62::i;7105:475:21:-:0;7191:4;-1:-1:-1;;;;;;;;;;;7314:4:21;7310:216;;7386:1;7360:14;:12;:14::i;:::-;-1:-1:-1;;;;;7360:28:21;;7356:114;;7415:40;;-1:-1:-1;;;7415:40:21;;;;;;;;;;;7356:114;7483:22;;;:32;;-1:-1:-1;;;;;;7483:32:21;-1:-1:-1;;;;;7483:32:21;;;;;7310:216;7542:31;7559:4;7565:7;7542:16;:31::i;8110:248::-;8206:4;8202:104;;8255:40;;-1:-1:-1;;;8255:40:21;;;;;;;;;;;8202:104;8315:36;8335:4;8341:9;8315:19;:36::i;11716:581::-;-1:-1:-1;;;;;;;;;;;11782:47:21;;11923:21;:19;:21::i;:::-;11885:59;;;;11959:24;11974:8;16952:13;;;;;16866:106;11959:24;11958:25;:58;;;-1:-1:-1;17180:15:21;17169:26;;;;11987:29;11958:58;11954:144;;;12039:48;;-1:-1:-1;;;12039:48:21;;767:14:102;755:27;;12039:48:21;;;737:46:102;710:18;;12039:48:21;593:196:102;11954:144:21;12107:47;2443:4:20;12139:14:21;:12;:14::i;:::-;12107:11;:47::i;:::-;-1:-1:-1;12164:40:21;2443:4:20;12195:8:21;12164:10;:40::i;:::-;-1:-1:-1;;12214:29:21;;-1:-1:-1;;;;;;12253:37:21;;;;-1:-1:-1;11716:581:21:o;5710:138:20:-;5785:18;5798:4;5785:12;:18::i;:::-;3272:16;3283:4;3272:10;:16::i;:::-;5815:26:::1;5827:4;5833:7;5815:11;:26::i;11075:111:21:-:0;11141:38;11173:1;11177;11141:23;:38::i;4429:197:20:-;4517:22;4525:4;4531:7;4517;:22::i;:::-;4512:108;;4562:47;;-1:-1:-1;;;4562:47:20;;-1:-1:-1;;;;;37923:32:102;;4562:47:20;;;37905:51:102;37972:18;;;37965:34;;;37878:18;;4562:47:20;37731:274:102;16023:698:21;-1:-1:-1;;;;;;;;;;;16228:23:21;-1:-1:-1;;;;;;;;;;;3245:45:21;-1:-1:-1;;;16228:23:21;;;;16952:13;;16262:369;;17180:15;17169:26;;;;16309:312;;;16429:15;;;;16411:33;;-1:-1:-1;;;;;16411:33:21;-1:-1:-1;;;16429:15:21;;;;;-1:-1:-1;;;16411:33:21;;;;16309:312;;;16573:33;;;;;;;16309:312;-1:-1:-1;16641:15:21;;:26;;-1:-1:-1;;;;;16677:37:21;-1:-1:-1;;;16641:26:21;;;;;-1:-1:-1;;;;;16677:37:21;;-1:-1:-1;;;16677:37:21;;;;;;;;;;;;;;16023:698::o;33024:210:97:-;33157:6;;:69;;-1:-1:-1;;;33157:69:97;;-1:-1:-1;;;33157:69:97;;;3024:25:102;33081:28:97;;-1:-1:-1;;;;;33157:6:97;;:31;;2997:18:102;;33157:69:97;2878:177:102;28056:261:97;28204:7;28261:9;28272:10;28284:9;28295:13;28244:65;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;28234:76;;;;;;28227:83;;28056:261;;;;;;:::o;31468:192::-;31566:10;31554:9;:22;31546:51;;;;-1:-1:-1;;;31546:51:97;;;;;;;;;;;;31627:1;31615:9;:13;31607:46;;;;-1:-1:-1;;;31607:46:97;;;;;;;;;;;1364:283:59;1451:4;1559:23;1574:7;1559:14;:23::i;:::-;:81;;;;;1586:54;1619:7;1628:11;1586:32;:54::i;7631:376:21:-;7718:4;-1:-1:-1;;;;;;;;;;;7841:26:21;;:55;;;;;7882:14;:12;:14::i;:::-;-1:-1:-1;;;;;7871:25:21;:7;-1:-1:-1;;;;;7871:25:21;;7841:55;7837:115;;;7919:22;;;7912:29;;-1:-1:-1;;;;;;7912:29:21;;;7837:115;7968:32;7986:4;7992:7;7968:17;:32::i;2264:344:38:-;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:38;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;2454:148::-;2573:18;:16;:18::i;14296:213:62:-;14352:6;14382:16;14374:24;;14370:103;;;14421:41;;-1:-1:-1;;;14421:41:62;;14452:2;14421:41;;;39522:36:102;39574:18;;;39567:34;;;39495:18;;14421:41:62;39341:266:102;14370:103:62;-1:-1:-1;14496:5:62;14296:213::o;15237:632:21:-;-1:-1:-1;;;;;;;;;;;15326:47:21;15454:21;:19;:21::i;:::-;15486:33;;15529:44;;;-1:-1:-1;;;15529:44:21;-1:-1:-1;;;;;;15529:44:21;;;-1:-1:-1;;;;;15486:33:21;;15529:44;;;;15429:46;-1:-1:-1;15685:27:21;;-1:-1:-1;15429:46:21;16952:13;;;;;16866:106;15685:27;15681:182;;;15822:30;;;;;;;15316:553;;15237:632;;:::o;13796:1249::-;13870:6;13888:19;13910;:17;:19::i;:::-;13888:41;;14859:12;14848:23;;:8;:23;;;:190;;15015:23;15030:8;15015:12;:23;:::i;:::-;14848:190;;;14897:51;;;;10004:6;14897:8;:51::i;8370:720:48:-;8450:18;8478:19;8616:4;8613:1;8606:4;8600:11;8593:4;8587;8583:15;8580:1;8573:5;8566;8561:60;8673:7;8663:176;;8717:4;8711:11;8762:16;8759:1;8754:3;8739:40;8808:16;8803:3;8796:29;8663:176;-1:-1:-1;;8916:1:48;8910:8;8866:16;;-1:-1:-1;8942:15:48;;:68;;8994:11;9009:1;8994:16;;8942:68;;;-1:-1:-1;;;;;8960:26:48;;;:31;8942:68;8938:146;;;9033:40;;-1:-1:-1;;;9033:40:48;;-1:-1:-1;;;;;4774:32:102;;9033:40:48;;;4756:51:102;4729:18;;9033:40:48;4575:238:102;5084:380:48;5199:47;;;-1:-1:-1;;;;;37923:32:102;;5199:47:48;;;37905:51:102;37972:18;;;;37965:34;;;5199:47:48;;;;;;;;;;37878:18:102;;;;5199:47:48;;;;;;;;-1:-1:-1;;;;;5199:47:48;-1:-1:-1;;;5199:47:48;;;5262:44;5214:13;5199:47;5262:23;:44::i;:::-;5257:201;;5349:43;;-1:-1:-1;;;;;37923:32:102;;;5349:43:48;;;37905:51:102;5389:1:48;37972:18:102;;;37965:34;5322:71:48;;5342:5;;5364:13;;;;;37878:18:102;;5349:43:48;37731:274:102;5322:71:48;5407:40;5427:5;5434:12;5407:19;:40::i;5184:337:76:-;5336:12;5360:19;5382:42;5398:20;5420:3;5382:15;:42::i;:::-;5360:64;;5458:20;5480:6;5488:25;5507:5;5488:18;:25::i;:::-;5441:73;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5434:80;;;5184:337;;;;;:::o;7082:141:22:-;7149:17;:15;:17::i;:::-;7144:73;;7189:17;;-1:-1:-1;;;7189:17:22;;;;;;;;;;;2970:67:23;6929:20:22;:18;:20::i;3416:222:21:-;6929:20:22;:18;:20::i;:::-;3549:82:21::1;3597:12;3611:19;3549:47;:82::i;934:489:91:-:0;6929:20:22;:18;:20::i;6055:246:97:-;6929:20:22;:18;:20::i;:::-;6179:6:97::1;:40:::0;;-1:-1:-1;;;;;;6179:40:97::1;-1:-1:-1::0;;;;;6179:40:97;::::1;;::::0;;6229:28:::1;6247:9:::0;6229:17:::1;:28::i;:::-;-1:-1:-1::0;6267:15:97::1;:27:::0;6055:246::o;7318:387:20:-;7395:4;-1:-1:-1;;;;;;;;;;;7485:22:20;7493:4;7499:7;7485;:22::i;:::-;7480:219;;7523:8;:14;;;;;;;;;;;-1:-1:-1;;;;;7523:31:20;;;;;;;;;:38;;-1:-1:-1;;7523:38:20;7557:4;7523:38;;;7607:12;966:10:24;;887:96;7607:12:20;-1:-1:-1;;;;;7580:40:20;7598:7;-1:-1:-1;;;;;7580:40:20;7592:4;7580:40;;;;;;;;;;7641:4;7634:11;;;;;7480:219;7683:5;7676:12;;;;;6766:318;-1:-1:-1;;;;;;;;;;;6849:30:20;6946:18;6959:4;6946:12;:18::i;:::-;6974:8;:14;;;;;;;;;;;:24;;:36;;;7025:52;6918:46;;-1:-1:-1;7001:9:20;;6918:46;;6983:4;;7025:52;;6974:8;7025:52;6839:245;;6766:318;;:::o;719:427:59:-;783:4;991:68;1024:7;-1:-1:-1;;;991:32:59;:68::i;:::-;:148;;;;-1:-1:-1;1076:63:59;1109:7;-1:-1:-1;;;;;;1076:32:59;:63::i;:::-;1075:64;972:167;719:427;-1:-1:-1;;719:427:59:o;4403:648::-;4574:56;;-1:-1:-1;;;;;;40586:33:102;;4574:56:59;;;40568:52:102;4505:4:59;;;;40541:18:102;;4574:56:59;;;-1:-1:-1;;4574:56:59;;;;;;;;;;;;;;;-1:-1:-1;;;;;4574:56:59;-1:-1:-1;;;4574:56:59;;;4854:20;;4574:56;;-1:-1:-1;;;;;;;4574:56:59;;-1:-1:-1;;4819:7:59;4812:5;4801:86;4790:97;;4914:16;4900:30;;4964:4;4958:11;4943:26;;4996:7;:29;;;;;5021:4;5007:10;:18;;4996:29;:48;;;;;5043:1;5029:11;:15;4996:48;4989:55;4403:648;-1:-1:-1;;;;;;;4403:648:59:o;7942:388:20:-;8020:4;-1:-1:-1;;;;;;;;;;;8109:22:20;8117:4;8123:7;8109;:22::i;:::-;8105:219;;;8181:5;8147:14;;;;;;;;;;;-1:-1:-1;;;;;8147:31:20;;;;;;;;;;:39;;-1:-1:-1;;8147:39:20;;;8205:40;966:10:24;;8147:14:20;;8205:40;;8181:5;8205:40;8266:4;8259:11;;;;;1671:281:38;1748:17;-1:-1:-1;;;;;1748:29:38;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:38;;-1:-1:-1;;;;;4774:32:102;;1805:47:38;;;4756:51:102;4729:18;;1805:47:38;4575:238:102;1744:119:38;-1:-1:-1;;;;;;;;;;;1872:73:38;;-1:-1:-1;;;;;;1872:73:38;-1:-1:-1;;;;;1872:73:38;;;;;;;;;;1671:281::o;3916:253:49:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:49;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4023:67;;;;4107:55;4134:6;4142:7;4151:10;4107:26;:55::i;6113:122:38:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:38;;;;;;;;;;;5617:111:61;5675:7;5312:5;;;5709;;;5311:36;5306:42;;5701:20;5071:294;9592:480:48;9675:4;9691:12;9713:18;9741:19;9875:4;9872:1;9865:4;9859:11;9852:4;9846;9842:15;9839:1;9832:5;9825;9820:60;9809:71;;9907:16;9893:30;;9957:1;9951:8;9936:23;;9985:7;:80;;;;-1:-1:-1;9997:15:48;;:67;;10048:11;10063:1;10048:16;9997:67;;;-1:-1:-1;;;;;;;;;;10015:26:48;;:30;;;9592:480::o;6928:295:76:-;7057:27;;7029:12;;7057:31;7053:164;;7133:3;7111:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;7104:38;;;;7053:164;7197:3;7180:26;;;;;;;;:::i;3145:218::-;3207:12;3267:47;-1:-1:-1;;;;;3287:26:76;;;;;3267:19;:47::i;:::-;3323:31;3351:1;3343:10;;-1:-1:-1;;;;;3323:31:76;;:19;:31::i;:::-;3250:106;;;;;;;;41810:19:102;;;-1:-1:-1;;;;;;41859:41:102;41854:2;41845:12;;41838:63;41926:2;41917:12;;41655:280;3250:106:76;;;;;;;;;;;;;3231:125;;3145:218;;;:::o;8485:120:22:-;8535:4;8558:26;:24;:26::i;:::-;:40;-1:-1:-1;;;8558:40:22;;;;;;-1:-1:-1;8485:120:22:o;3644:468:21:-;6929:20:22;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;3894:33:21;::::1;3890:115;;3950:44;::::0;-1:-1:-1;;;3950:44:21;;3991:1:::1;3950:44;::::0;::::1;4756:51:102::0;4729:18;;3950:44:21::1;4575:238:102::0;3890:115:21::1;4014:30:::0;;-1:-1:-1;;;;;4014:30:21::1;-1:-1:-1::0;;;4014:30:21::1;::::0;::::1;;;::::0;;4054:51:::1;-1:-1:-1::0;4085:19:21;4054:10:::1;:51::i;4437:582:49:-:0;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;4605:408::-;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:49;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:49;;-1:-1:-1;;;;;4774:32:102;;4933:24:49;;;4756:51:102;4729:18;;4933:24:49;4575:238:102;4853:119:49;-1:-1:-1;4992:10:49;4985:17;;897:1306:76;965:7;1008:9;1028:7;1020:16;;1008:28;;1088:1;-1:-1:-1;;;;;1088:70:76;1084:74;;1182:1;-1:-1:-1;;;1182:9:76;1177:1;:15;1196:66;1176:86;1172:90;;1286:1;1290:5;1286:9;1281:1;:15;1300:66;1280:86;1276:90;;1390:1;1394:5;1390:9;1385:1;:15;1404:66;1384:86;1380:90;;1494:1;1498:4;1494:8;1489:1;:14;1507:66;1488:85;1484:89;;1597:1;1601:4;1597:8;1592:1;:14;1610:66;1591:85;1587:89;;1717:9;1804:1;1730;1734:66;1730:70;1729:76;;;;;:::i;:::-;;1906:1;1836:66;1832:70;;1831:76;2008:1;1938:66;1934:70;;1933:76;2037:5;2032:11;2047:4;2031:20;2027:24;;;2054:66;2027:93;;;-1:-1:-1;;;897:1306:76:o;5559:434:49:-;5690:17;;:21;5686:301;;5894:10;5888:17;5881:4;5869:10;5865:21;5858:48;5686:301;5957:19;;-1:-1:-1;;;5957:19:49;;;;;;;;;;;14:286:102;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:102;;209:43;;199:71;;266:1;263;256:12;794:127;855:10;850:3;846:20;843:1;836:31;886:4;883:1;876:15;910:4;907:1;900:15;926:275;997:2;991:9;1062:2;1043:13;;-1:-1:-1;;1039:27:102;1027:40;;-1:-1:-1;;;;;1082:34:102;;1118:22;;;1079:62;1076:88;;;1144:18;;:::i;:::-;1180:2;1173:22;926:275;;-1:-1:-1;926:275:102:o;1206:186::-;1254:4;-1:-1:-1;;;;;1279:6:102;1276:30;1273:56;;;1309:18;;:::i;:::-;-1:-1:-1;1375:2:102;1354:15;-1:-1:-1;;1350:29:102;1381:4;1346:40;;1206:186::o;1397:486::-;1439:5;1492:3;1485:4;1477:6;1473:17;1469:27;1459:55;;1510:1;1507;1500:12;1459:55;1550:6;1537:20;1581:52;1597:35;1625:6;1597:35;:::i;:::-;1581:52;:::i;:::-;1658:6;1649:7;1642:23;1712:3;1705:4;1696:6;1688;1684:19;1680:30;1677:39;1674:59;;;1729:1;1726;1719:12;1674:59;1794:6;1787:4;1779:6;1775:17;1768:4;1759:7;1755:18;1742:59;1850:1;1821:20;;;1843:4;1817:31;1810:42;;;;1825:7;1397:486;-1:-1:-1;;;1397:486:102:o;1888:139::-;-1:-1:-1;;;;;1971:31:102;;1961:42;;1951:70;;2017:1;2014;2007:12;2032:841;2152:6;2160;2168;2176;2184;2237:3;2225:9;2216:7;2212:23;2208:33;2205:53;;;2254:1;2251;2244:12;2205:53;2299:23;;;-1:-1:-1;2419:2:102;2404:18;;2391:32;;-1:-1:-1;2500:2:102;2485:18;;2472:32;-1:-1:-1;;;;;2516:30:102;;2513:50;;;2559:1;2556;2549:12;2513:50;2582:49;2623:7;2614:6;2603:9;2599:22;2582:49;:::i;:::-;2572:59;;;2683:2;2672:9;2668:18;2655:32;2696:41;2729:7;2696:41;:::i;:::-;2032:841;;;;-1:-1:-1;2032:841:102;;2836:3;2821:19;2808:33;;2032:841;-1:-1:-1;;2032:841:102:o;3060:554::-;3146:6;3154;3162;3215:2;3203:9;3194:7;3190:23;3186:32;3183:52;;;3231:1;3228;3221:12;3183:52;3276:23;;;-1:-1:-1;3396:2:102;3381:18;;3368:32;;-1:-1:-1;3477:2:102;3462:18;;3449:32;-1:-1:-1;;;;;3493:30:102;;3490:50;;;3536:1;3533;3526:12;3490:50;3559:49;3600:7;3591:6;3580:9;3576:22;3559:49;:::i;:::-;3549:59;;;3060:554;;;;;:::o;3619:142::-;3687:20;;3716:39;3687:20;3716:39;:::i;:::-;3619:142;;;:::o;3766:255::-;3825:6;3878:2;3866:9;3857:7;3853:23;3849:32;3846:52;;;3894:1;3891;3884:12;3846:52;3933:9;3920:23;3952:39;3985:5;3952:39;:::i;4026:226::-;4085:6;4138:2;4126:9;4117:7;4113:23;4109:32;4106:52;;;4154:1;4151;4144:12;4106:52;-1:-1:-1;4199:23:102;;4026:226;-1:-1:-1;4026:226:102:o;4818:375::-;4886:6;4894;4947:2;4935:9;4926:7;4922:23;4918:32;4915:52;;;4963:1;4960;4953:12;4915:52;5008:23;;;-1:-1:-1;5107:2:102;5092:18;;5079:32;5120:41;5079:32;5120:41;:::i;:::-;5180:7;5170:17;;;4818:375;;;;;:::o;5429:733::-;5524:6;5532;5540;5548;5601:3;5589:9;5580:7;5576:23;5572:33;5569:53;;;5618:1;5615;5608:12;5569:53;5657:9;5644:23;5676:39;5709:5;5676:39;:::i;:::-;5734:5;-1:-1:-1;5812:2:102;5797:18;;5784:32;;-1:-1:-1;5893:2:102;5878:18;;5865:32;-1:-1:-1;;;;;5909:30:102;;5906:50;;;5952:1;5949;5942:12;5906:50;5975:49;6016:7;6007:6;5996:9;5992:22;5975:49;:::i;:::-;5965:59;;;6076:2;6065:9;6061:18;6048:32;6089:41;6122:7;6089:41;:::i;:::-;5429:733;;;;-1:-1:-1;5429:733:102;;-1:-1:-1;;5429:733:102:o;6167:675::-;6262:6;6270;6278;6286;6339:3;6327:9;6318:7;6314:23;6310:33;6307:53;;;6356:1;6353;6346:12;6307:53;6401:23;;;-1:-1:-1;6521:2:102;6506:18;;6493:32;;-1:-1:-1;6602:2:102;6587:18;;6574:32;-1:-1:-1;;;;;6618:30:102;;6615:50;;;6661:1;6658;6651:12;6615:50;6684:49;6725:7;6716:6;6705:9;6701:22;6684:49;:::i;:::-;6167:675;;;;-1:-1:-1;6674:59:102;;6806:2;6791:18;6778:32;;-1:-1:-1;;;6167:675:102:o;6847:583::-;6933:6;6941;6949;7002:2;6990:9;6981:7;6977:23;6973:32;6970:52;;;7018:1;7015;7008:12;6970:52;7057:9;7044:23;7076:39;7109:5;7076:39;:::i;:::-;7134:5;-1:-1:-1;7212:2:102;7197:18;;7184:32;;-1:-1:-1;7293:2:102;7278:18;;7265:32;-1:-1:-1;;;;;7309:30:102;;7306:50;;;7352:1;7349;7342:12;7435:463;7512:6;7520;7573:2;7561:9;7552:7;7548:23;7544:32;7541:52;;;7589:1;7586;7579:12;7541:52;7628:9;7615:23;7647:39;7680:5;7647:39;:::i;:::-;7705:5;-1:-1:-1;7761:2:102;7746:18;;7733:32;-1:-1:-1;;;;;7777:30:102;;7774:50;;;7820:1;7817;7810:12;7774:50;7843:49;7884:7;7875:6;7864:9;7860:22;7843:49;:::i;:::-;7833:59;;;7435:463;;;;;:::o;8083:430::-;8197:6;8205;8249:9;8240:7;8236:23;8279:2;8275;8271:11;8268:31;;;8295:1;8292;8285:12;8268:31;8334:9;8321:23;8353:39;8386:5;8353:39;:::i;:::-;8411:5;-1:-1:-1;8450:2:102;-1:-1:-1;;8432:16:102;;8428:25;8425:45;;;8466:1;8463;8456:12;8425:45;;8504:2;8493:9;8489:18;8479:28;;8083:430;;;;;:::o;8518:704::-;8613:6;8621;8629;8637;8690:3;8678:9;8669:7;8665:23;8661:33;8658:53;;;8707:1;8704;8697:12;8658:53;8746:9;8733:23;8765:39;8798:5;8765:39;:::i;:::-;8823:5;-1:-1:-1;8901:2:102;8886:18;;8873:32;;-1:-1:-1;9004:2:102;8989:18;;8976:32;;-1:-1:-1;9085:2:102;9070:18;;9057:32;-1:-1:-1;;;;;9101:30:102;;9098:50;;;9144:1;9141;9134:12;9098:50;9167:49;9208:7;9199:6;9188:9;9184:22;9167:49;:::i;:::-;9157:59;;;8518:704;;;;;;;:::o;9227:280::-;9285:6;9338:2;9326:9;9317:7;9313:23;9309:32;9306:52;;;9354:1;9351;9344:12;9306:52;9393:9;9380:23;9443:14;9436:5;9432:26;9425:5;9422:37;9412:65;;9473:1;9470;9463:12;9512:704;9607:6;9615;9623;9631;9684:3;9672:9;9663:7;9659:23;9655:33;9652:53;;;9701:1;9698;9691:12;9652:53;9740:9;9727:23;9759:39;9792:5;9759:39;:::i;:::-;9817:5;-1:-1:-1;9895:2:102;9880:18;;9867:32;;-1:-1:-1;9976:2:102;9961:18;;9948:32;-1:-1:-1;;;;;9992:30:102;;9989:50;;;10035:1;10032;10025:12;10221:854;10325:6;10333;10341;10349;10357;10410:3;10398:9;10389:7;10385:23;10381:33;10378:53;;;10427:1;10424;10417:12;10378:53;10466:9;10453:23;10485:39;10518:5;10485:39;:::i;:::-;10543:5;-1:-1:-1;10600:2:102;10585:18;;10572:32;10613:41;10572:32;10613:41;:::i;:::-;10673:7;-1:-1:-1;10753:2:102;10738:18;;10725:32;;-1:-1:-1;10856:2:102;10841:18;;10828:32;;-1:-1:-1;10937:3:102;10922:19;;10909:33;-1:-1:-1;;;;;10954:30:102;;10951:50;;;10997:1;10994;10987:12;10951:50;11020:49;11061:7;11052:6;11041:9;11037:22;11020:49;:::i;:::-;11010:59;;;10221:854;;;;;;;;:::o;11080:974::-;11192:6;11200;11208;11216;11224;11232;11285:3;11273:9;11264:7;11260:23;11256:33;11253:53;;;11302:1;11299;11292:12;11253:53;11341:9;11328:23;11360:39;11393:5;11360:39;:::i;:::-;11418:5;-1:-1:-1;11475:2:102;11460:18;;11447:32;11488:41;11447:32;11488:41;:::i;:::-;11548:7;-1:-1:-1;11628:2:102;11613:18;;11600:32;;-1:-1:-1;11731:2:102;11716:18;;11703:32;;-1:-1:-1;11812:3:102;11797:19;;11784:33;-1:-1:-1;;;;;11829:30:102;;11826:50;;;11872:1;11869;11862:12;11826:50;11895:49;11936:7;11927:6;11916:9;11912:22;11895:49;:::i;:::-;11080:974;;;;-1:-1:-1;11080:974:102;;;;;12017:3;12002:19;;;11989:33;;-1:-1:-1;;;11080:974:102:o;12267:870::-;12387:6;12395;12403;12411;12419;12472:3;12460:9;12451:7;12447:23;12443:33;12440:53;;;12489:1;12486;12479:12;12440:53;12528:9;12515:23;12547:39;12580:5;12547:39;:::i;:::-;12605:5;-1:-1:-1;12683:2:102;12668:18;;12655:32;;-1:-1:-1;12764:2:102;12749:18;;12736:32;-1:-1:-1;;;;;12780:30:102;;12777:50;;;12823:1;12820;12813:12;13142:516;13243:5;13237:12;13230:20;13223:28;13218:3;13211:41;13315:4;13308:5;13304:16;13298:23;13291:31;13284:39;13277:4;13272:3;13268:14;13261:63;13387:4;13380:5;13376:16;13370:23;13363:31;13356:39;13349:4;13344:3;13340:14;13333:63;13459:4;13452:5;13448:16;13442:23;13435:31;13428:39;13421:4;13416:3;13412:14;13405:63;13531:4;13524:5;13520:16;13514:23;13507:31;13500:39;13493:4;13488:3;13484:14;13477:63;13589:4;13582:5;13578:16;13572:23;13565:4;13560:3;13556:14;13549:47;13645:4;13638:5;13634:16;13628:23;13621:4;13616:3;13612:14;13605:47;;;13142:516::o;13663:1018::-;-1:-1:-1;;;;;14154:32:102;;;14136:51;;14223:32;;;14218:2;14203:18;;14196:60;14292:32;;14287:2;14272:18;;14265:60;14368:14;;14361:22;14356:2;14341:18;;14334:50;14123:3;14108:19;;14393:62;14450:3;14435:19;;14427:6;14393:62;:::i;:::-;14486:3;14471:19;;14464:35;;;;14530:3;14515:19;;14508:35;;;;14574:3;14559:19;;14552:35;;;;14618:3;14603:19;;14596:35;14662:3;14647:19;;;14640:35;13663:1018;;-1:-1:-1;;;;;13663:1018:102:o;14977:726::-;15189:2;15201:21;;;15271:13;;15174:18;;;15293:22;;;15141:4;;15384;15372:17;;;15346:2;15331:18;;;15141:4;15417:199;15431:6;15428:1;15425:13;15417:199;;;15496:13;;-1:-1:-1;;;;;15492:39:102;15480:52;;15561:4;15589:17;;;;15552:14;;;;15528:1;15446:9;15417:199;;;15421:3;;15633;15625:11;;;;15688:6;15681:14;15674:22;15667:4;15656:9;15652:20;15645:52;14977:726;;;;;:::o;15708:1147::-;15953:13;;-1:-1:-1;;;;;4532:31:102;4520:44;;15894:3;15879:19;;16025:4;16017:6;16013:17;16007:24;16040:81;16115:4;16104:9;16100:20;16086:12;-1:-1:-1;;;;;4532:31:102;4520:44;;4439:131;16040:81;;16170:4;16162:6;16158:17;16152:24;16185:83;16262:4;16251:9;16247:20;16231:14;-1:-1:-1;;;;;4532:31:102;4520:44;;4439:131;16185:83;;16317:4;16309:6;16305:17;16299:24;16332:53;16379:4;16368:9;16364:20;16348:14;375:13;368:21;356:34;;305:91;16332:53;;16434:4;16426:6;16422:17;16416:24;16449:71;16514:4;16503:9;16499:20;16483:14;16449:71;:::i;:::-;-1:-1:-1;16578:4:102;16566:17;;16560:24;16551:6;16536:22;;16529:56;16643:4;16631:17;;16625:24;16616:6;16601:22;;16594:56;16708:4;16696:17;;16690:24;16681:6;16666:22;;16659:56;16773:6;16761:19;;16755:26;16746:6;16731:22;;16724:58;16840:6;16828:19;;;16822:26;16813:6;16798:22;;;16791:58;15708:1147;:::o;16860:621::-;16957:6;16965;17018:2;17006:9;16997:7;16993:23;16989:32;16986:52;;;17034:1;17031;17024:12;16986:52;17074:9;17061:23;-1:-1:-1;;;;;17099:6:102;17096:30;17093:50;;;17139:1;17136;17129:12;17093:50;17162:22;;17215:4;17207:13;;17203:27;-1:-1:-1;17193:55:102;;17244:1;17241;17234:12;17193:55;17284:2;17271:16;-1:-1:-1;;;;;17302:6:102;17299:30;17296:50;;;17342:1;17339;17332:12;17296:50;17395:7;17390:2;17380:6;17377:1;17373:14;17369:2;17365:23;17361:32;17358:45;17355:65;;;17416:1;17413;17406:12;17355:65;17447:2;17439:11;;;;;17469:6;;-1:-1:-1;16860:621:102;-1:-1:-1;;;16860:621:102:o;17486:299::-;17538:3;17576:5;17570:12;17603:6;17598:3;17591:19;17659:6;17652:4;17645:5;17641:16;17634:4;17629:3;17625:14;17619:47;17711:1;17704:4;17695:6;17690:3;17686:16;17682:27;17675:38;17774:4;17767:2;17763:7;17758:2;17750:6;17746:15;17742:29;17737:3;17733:39;17729:50;17722:57;;;17486:299;;;;:::o;17790:790::-;17950:4;17998:2;17987:9;17983:18;18028:2;18017:9;18010:21;18051:6;18086;18080:13;18117:6;18109;18102:22;18155:2;18144:9;18140:18;18133:25;;18217:2;18207:6;18204:1;18200:14;18189:9;18185:30;18181:39;18167:53;;18255:2;18247:6;18243:15;18276:1;18286:265;18300:6;18297:1;18294:13;18286:265;;;18393:2;18389:7;18377:9;18369:6;18365:22;18361:36;18356:3;18349:49;18421:50;18464:6;18455;18449:13;18421:50;:::i;:::-;18411:60;-1:-1:-1;18506:2:102;18529:12;;;;18494:15;;;;;18322:1;18315:9;18286:265;;;-1:-1:-1;18568:6:102;;17790:790;-1:-1:-1;;;;;;17790:790:102:o;18585:230::-;18734:2;18723:9;18716:21;18697:4;18754:55;18805:2;18794:9;18790:18;18782:6;18754:55;:::i;18820:463::-;18897:6;18905;18958:2;18946:9;18937:7;18933:23;18929:32;18926:52;;;18974:1;18971;18964:12;18926:52;19014:9;19001:23;-1:-1:-1;;;;;19039:6:102;19036:30;19033:50;;;19079:1;19076;19069:12;19033:50;19102:49;19143:7;19134:6;19123:9;19119:22;19102:49;:::i;:::-;19092:59;;;19201:2;19190:9;19186:18;19173:32;19214:39;19247:5;19214:39;:::i;19784:524::-;19861:6;19869;19877;19930:2;19918:9;19909:7;19905:23;19901:32;19898:52;;;19946:1;19943;19936:12;19898:52;19991:23;;;-1:-1:-1;20090:2:102;20075:18;;20062:32;20103:41;20062:32;20103:41;:::i;:::-;20163:7;-1:-1:-1;20222:2:102;20207:18;;20194:32;20235:41;20194:32;20235:41;:::i;:::-;20295:7;20285:17;;;19784:524;;;;;:::o;20924:824::-;21027:6;21035;21043;21051;21059;21112:3;21100:9;21091:7;21087:23;21083:33;21080:53;;;21129:1;21126;21119:12;21080:53;21168:9;21155:23;21187:39;21220:5;21187:39;:::i;:::-;21245:5;-1:-1:-1;21323:2:102;21308:18;;21295:32;;-1:-1:-1;21426:2:102;21411:18;;21398:32;;-1:-1:-1;21507:2:102;21492:18;;21479:32;-1:-1:-1;;;;;21523:30:102;;21520:50;;;21566:1;21563;21556:12;21520:50;21589:49;21630:7;21621:6;21610:9;21606:22;21589:49;:::i;:::-;20924:824;;;;-1:-1:-1;20924:824:102;;21711:3;21696:19;21683:33;;20924:824;-1:-1:-1;;;20924:824:102:o;21986:127::-;22047:10;22042:3;22038:20;22035:1;22028:31;22078:4;22075:1;22068:15;22102:4;22099:1;22092:15;22118:339;22261:2;22246:18;;22294:1;22283:13;;22273:144;;22339:10;22334:3;22330:20;22327:1;22320:31;22374:4;22371:1;22364:15;22402:4;22399:1;22392:15;22273:144;22426:25;;;22118:339;:::o;22462:1483::-;22649:6;22657;22665;22673;22681;22689;22697;22705;22713;22766:3;22754:9;22745:7;22741:23;22737:33;22734:53;;;22783:1;22780;22773:12;22734:53;22828:23;;;-1:-1:-1;22927:2:102;22912:18;;22899:32;22940:41;22899:32;22940:41;:::i;:::-;23000:7;-1:-1:-1;23059:2:102;23044:18;;23031:32;23072:41;23031:32;23072:41;:::i;:::-;23132:7;-1:-1:-1;23191:2:102;23176:18;;23163:32;23204:41;23163:32;23204:41;:::i;:::-;23264:7;-1:-1:-1;23322:3:102;23307:19;;23294:33;-1:-1:-1;;;;;23339:30:102;;23336:50;;;23382:1;23379;23372:12;23336:50;23405:22;;23458:4;23450:13;;23446:27;-1:-1:-1;23436:55:102;;23487:1;23484;23477:12;23436:55;23527:2;23514:16;-1:-1:-1;;;;;23545:6:102;23542:30;23539:50;;;23585:1;23582;23575:12;23539:50;23639:7;23634:2;23628;23620:6;23616:15;23612:2;23608:24;23604:33;23601:46;23598:66;;;23660:1;23657;23650:12;23598:66;23691:2;23683:11;;;;;-1:-1:-1;23713:6:102;-1:-1:-1;23792:3:102;23777:19;;23764:33;;-1:-1:-1;23842:39:102;23876:3;23861:19;;23842:39;:::i;:::-;23832:49;;23900:39;23934:3;23923:9;23919:19;23900:39;:::i;:::-;23890:49;;22462:1483;;;;;;;;;;;:::o;24644:118::-;24730:5;24723:13;24716:21;24709:5;24706:32;24696:60;;24752:1;24749;24742:12;24767:962;24871:6;24879;24887;24895;24903;24911;24964:3;24952:9;24943:7;24939:23;24935:33;24932:53;;;24981:1;24978;24971:12;24932:53;25026:23;;;-1:-1:-1;25146:2:102;25131:18;;25118:32;;-1:-1:-1;25227:2:102;25212:18;;25199:32;-1:-1:-1;;;;;25243:30:102;;25240:50;;;25286:1;25283;25276:12;25240:50;25309:49;25350:7;25341:6;25330:9;25326:22;25309:49;:::i;:::-;25299:59;;;25410:2;25399:9;25395:18;25382:32;25423:30;25445:7;25423:30;:::i;:::-;25472:7;-1:-1:-1;25531:3:102;25516:19;;25503:33;25545:30;25503:33;25545:30;:::i;:::-;25594:7;-1:-1:-1;25653:3:102;25638:19;;25625:33;25667:30;25625:33;25667:30;:::i;:::-;25716:7;25706:17;;;24767:962;;;;;;;;:::o;25734:245::-;25801:6;25854:2;25842:9;25833:7;25829:23;25825:32;25822:52;;;25870:1;25867;25860:12;25822:52;25902:9;25896:16;25921:28;25943:5;25921:28;:::i;25984:325::-;-1:-1:-1;;;;;26159:32:102;;26141:51;;26228:2;26223;26208:18;;26201:30;;;-1:-1:-1;;26248:55:102;;26284:18;;26276:6;26248:55;:::i;26314:211::-;26355:3;26393:5;26387:12;26437:6;26430:4;26423:5;26419:16;26414:3;26408:36;26499:1;26463:16;;26488:13;;;-1:-1:-1;26463:16:102;;26314:211;-1:-1:-1;26314:211:102:o;26530:366::-;-1:-1:-1;;;;;26766:31:102;26757:6;26753:2;26749:15;26745:53;26740:3;26733:66;26829:6;26824:2;26819:3;26815:12;26808:28;26715:3;26852:38;26886:2;26881:3;26877:12;26869:6;26852:38;:::i;26901:127::-;26962:10;26957:3;26953:20;26950:1;26943:31;26993:4;26990:1;26983:15;27017:4;27014:1;27007:15;27033:128;27100:9;;;27121:11;;;27118:37;;;27135:18;;:::i;27166:299::-;27341:2;27330:9;27323:21;27304:4;27361:55;27412:2;27401:9;27397:18;27389:6;27361:55;:::i;:::-;27353:63;;27452:6;27447:2;27436:9;27432:18;27425:34;27166:299;;;;;:::o;27470:125::-;27535:9;;;27556:10;;;27553:36;;;27569:18;;:::i;27940:370::-;28143:6;28132:9;28125:25;28186:6;28181:2;28170:9;28166:18;28159:34;28229:2;28224;28213:9;28209:18;28202:30;28106:4;28249:55;28300:2;28289:9;28285:18;28277:6;28249:55;:::i;28315:441::-;28544:6;28533:9;28526:25;28587:6;28582:2;28571:9;28567:18;28560:34;28630:3;28625:2;28614:9;28610:18;28603:31;28507:4;28651:56;28702:3;28691:9;28687:19;28679:6;28651:56;:::i;:::-;28643:64;;28743:6;28738:2;28727:9;28723:18;28716:34;28315:441;;;;;;;:::o;29209:396::-;-1:-1:-1;;;;;29412:32:102;;29394:51;;29481:2;29476;29461:18;;29454:30;;;-1:-1:-1;;29501:55:102;;29537:18;;29529:6;29501:55;:::i;:::-;29493:63;;29592:6;29587:2;29576:9;29572:18;29565:34;29209:396;;;;;;:::o;29610:1009::-;29705:6;29758:2;29746:9;29737:7;29733:23;29729:32;29726:52;;;29774:1;29771;29764:12;29726:52;29807:9;29801:16;-1:-1:-1;;;;;29832:6:102;29829:30;29826:50;;;29872:1;29869;29862:12;29826:50;29895:22;;29948:4;29940:13;;29936:27;-1:-1:-1;29926:55:102;;29977:1;29974;29967:12;29926:55;30010:2;30004:9;-1:-1:-1;;;;;30028:6:102;30025:30;30022:56;;;30058:18;;:::i;:::-;30104:6;30101:1;30097:14;30131:28;30155:2;30151;30147:11;30131:28;:::i;:::-;30193:19;;;30237:2;30267:11;;;30263:20;;;30228:12;;;;30295:19;;;30292:39;;;30327:1;30324;30317:12;30292:39;30359:2;30355;30351:11;30340:22;;30371:218;30387:6;30382:3;30379:15;30371:218;;;30460:3;30454:10;30441:23;;30477:39;30510:5;30477:39;:::i;:::-;30529:18;;;30576:2;30404:12;;;;30567;;;;30371:218;;30624:127;30685:10;30680:3;30676:20;30673:1;30666:31;30716:4;30713:1;30706:15;30740:4;30737:1;30730:15;30756:521;30833:4;30839:6;30899:11;30886:25;30993:2;30989:7;30978:8;30962:14;30958:29;30954:43;30934:18;30930:68;30920:96;;31012:1;31009;31002:12;30920:96;31039:33;;31091:20;;;-1:-1:-1;;;;;;31123:30:102;;31120:50;;;31166:1;31163;31156:12;31120:50;31199:4;31187:17;;-1:-1:-1;31230:14:102;31226:27;;;31216:38;;31213:58;;;31267:1;31264;31257:12;31213:58;30756:521;;;;;:::o;31282:271::-;31465:6;31457;31452:3;31439:33;31421:3;31491:16;;31516:13;;;31491:16;31282:271;-1:-1:-1;31282:271:102:o;31558:686::-;31638:6;31691:2;31679:9;31670:7;31666:23;31662:32;31659:52;;;31707:1;31704;31697:12;31659:52;31740:9;31734:16;-1:-1:-1;;;;;31765:6:102;31762:30;31759:50;;;31805:1;31802;31795:12;31759:50;31828:22;;31881:4;31873:13;;31869:27;-1:-1:-1;31859:55:102;;31910:1;31907;31900:12;31859:55;31943:2;31937:9;31968:52;31984:35;32012:6;31984:35;:::i;31968:52::-;32043:6;32036:5;32029:21;32091:7;32086:2;32077:6;32073:2;32069:15;32065:24;32062:37;32059:57;;;32112:1;32109;32102:12;32059:57;32160:6;32155:2;32151;32147:11;32142:2;32135:5;32131:14;32125:42;32212:1;32187:18;;;32207:2;32183:27;32176:38;;;;32191:5;31558:686;-1:-1:-1;;;;31558:686:102:o;32463:547::-;32560:6;32620:2;32608:9;32599:7;32595:23;32591:32;32635:2;32632:22;;;32650:1;32647;32640:12;32632:22;-1:-1:-1;32719:2:102;32713:9;32761:2;32749:15;;-1:-1:-1;;;;;32779:34:102;;32815:22;;;32776:62;32773:88;;;32841:18;;:::i;:::-;32877:2;32870:22;32933:16;;32958:21;;-1:-1:-1;32965:6:102;32463:547;-1:-1:-1;32463:547:102:o;33015:613::-;33302:6;33291:9;33284:25;33345:6;33340:2;33329:9;33325:18;33318:34;33388:3;33383:2;33372:9;33368:18;33361:31;33265:4;33409:56;33460:3;33449:9;33445:19;33437:6;33409:56;:::i;:::-;-1:-1:-1;;;;;33501:32:102;;;;33496:2;33481:18;;33474:60;-1:-1:-1;33565:3:102;33550:19;;33543:35;;;;33521:3;33594:19;;;33587:35;33501:32;33401:64;-1:-1:-1;;;33015:613:102:o;33633:168::-;33706:9;;;33737;;33754:15;;;33748:22;;33734:37;33724:71;;33775:18;;:::i;33806:184::-;33876:6;33929:2;33917:9;33908:7;33904:23;33900:32;33897:52;;;33945:1;33942;33935:12;33897:52;-1:-1:-1;33968:16:102;;33806:184;-1:-1:-1;33806:184:102:o;34183:513::-;34440:6;34429:9;34422:25;34483:6;34478:2;34467:9;34463:18;34456:34;34526:3;34521:2;34510:9;34506:18;34499:31;34403:4;34547:56;34598:3;34587:9;34583:19;34575:6;34547:56;:::i;:::-;34634:2;34619:18;;34612:34;;;;-1:-1:-1;34677:3:102;34662:19;34655:35;34539:64;34183:513;-1:-1:-1;;;34183:513:102:o;34701:146::-;-1:-1:-1;;;;;34780:5:102;34776:46;34769:5;34766:57;34756:85;;34837:1;34834;34827:12;34852:247;34911:6;34964:2;34952:9;34943:7;34939:23;34935:32;34932:52;;;34980:1;34977;34970:12;34932:52;35019:9;35006:23;35038:31;35063:5;35038:31;:::i;35104:569::-;35276:5;35263:19;35291:33;35316:7;35291:33;:::i;:::-;-1:-1:-1;;;;;35347:7:102;35343:48;35333:58;;35475:2;-1:-1:-1;;;;;35433:39:102;35426:4;35420:11;35416:57;35413:65;35407:4;35400:79;35527:2;35520:5;35516:14;35503:28;35540:33;35565:7;35540:33;:::i;:::-;35610:3;35606:17;-1:-1:-1;;35602:63:102;35595:71;35582:85;;-1:-1:-1;35104:569:102:o;36013:179::-;36112:14;36081:22;;;36105;;;36077:51;;36140:23;;36137:49;;;36166:18;;:::i;36573:259::-;36643:6;36696:2;36684:9;36675:7;36671:23;36667:32;36664:52;;;36712:1;36709;36702:12;36664:52;36744:9;36738:16;36763:39;36796:5;36763:39;:::i;36837:127::-;36898:10;36893:3;36889:20;36886:1;36879:31;36929:4;36926:1;36919:15;36953:4;36950:1;36943:15;36969:217;37009:1;37035;37025:132;;37079:10;37074:3;37070:20;37067:1;37060:31;37114:4;37111:1;37104:15;37142:4;37139:1;37132:15;37025:132;-1:-1:-1;37171:9:102;;36969:217::o;38010:611::-;38295:6;38284:9;38277:25;38338:6;38333:2;38322:9;38318:18;38311:34;38381:3;38376:2;38365:9;38361:18;38354:31;38258:4;38402:56;38453:3;38442:9;38438:19;38430:6;38402:56;:::i;:::-;38489:2;38474:18;;38467:34;;;;-1:-1:-1;38532:3:102;38517:19;;38510:35;;;;-1:-1:-1;;;;;38582:32:102;38602:3;38561:19;;;38554:61;38394:64;38010:611;-1:-1:-1;;;38010:611:102:o;38905:431::-;-1:-1:-1;;;;;39169:31:102;39160:6;39156:2;39152:15;39148:53;39143:3;39136:66;39232:6;39227:2;39222:3;39218:12;39211:28;39269:6;39264:2;39259:3;39255:12;39248:28;39118:3;39292:38;39326:2;39321:3;39317:12;39309:6;39292:38;:::i;39612:182::-;39713:14;39706:22;;;39682;;;39678:51;;39741:24;;39738:50;;;39768:18;;:::i;40086:333::-;40307:3;40332:81;40357:55;40382:29;40407:3;40399:6;40382:29;:::i;:::-;40374:6;40357:55;:::i;:::-;40349:6;40332:81;:::i;40631:189::-;40760:3;40785:29;40810:3;40802:6;40785:29;:::i;40825:477::-;-1:-1:-1;;;41181:3:102;41174:16;41156:3;41209:37;41243:1;41238:3;41234:11;41226:6;41209:37;:::i;:::-;-1:-1:-1;;;41255:15:102;;41294:1;41286:10;;40825:477;-1:-1:-1;;;40825:477:102:o;41307:343::-;41537:3;41565:29;41590:3;41582:6;41565:29;:::i","linkReferences":{},"immutableReferences":{"40860":[{"start":11626,"length":32},{"start":11667,"length":32},{"start":11987,"length":32}]}},"methodIdentifiers":{"CONFIG_ADMIN_ROLE()":"c78ef28c","DEFAULT_ADMIN_ROLE()":"a217fddf","OO_ANCILLARY_DATA_LIMIT()":"4ccb56f5","REQUEST_MANAGER_ROLE()":"f38fdc02","TOO_EARLY_RESPONSE()":"ff8c1a8c","UPGRADE_ADMIN_ROLE()":"8ffc2120","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","acceptDefaultAdminTransfer()":"cefc1429","addRequestManager(address)":"b6cdb8ee","allowedBondRanges(address)":"b873c4df","ancillaryBytesLimit()":"c371dda7","beginDefaultAdminTransfer(address)":"634e93da","cancelDefaultAdminTransfer()":"d602b9fd","changeDefaultAdminDelay(uint48)":"649a5ec7","customBonds(bytes32,address)":"e92706c6","customLivenessValues(bytes32)":"afe1fcff","customProposerWhitelists(bytes32)":"8aca6afc","defaultAdmin()":"84ef8ffc","defaultAdminDelay()":"cc8463c8","defaultAdminDelayIncreaseWait()":"022d63fb","defaultLiveness()":"fe4e1983","defaultProposerWhitelist()":"ab328fb2","disputePrice(address,bytes32,uint256,bytes)":"fba7f1e3","disputePriceFor(address,address,bytes32,uint256,bytes)":"76c7823f","finder()":"b9a3c84c","getCurrentTime()":"29cb924d","getCustomProposerWhitelist(address,bytes32,bytes)":"7746e7ae","getManagedRequestId(address,bytes32,bytes)":"4835698a","getProposerWhitelistWithEnabledStatus(address,bytes32,bytes)":"a625b01e","getRequest(address,bytes32,uint256,bytes)":"a9904f9b","getRoleAdmin(bytes32)":"248a9ca3","getState(address,bytes32,uint256,bytes)":"ba4b930c","grantRole(bytes32,address)":"2f2ff15d","hasPrice(address,bytes32,uint256,bytes)":"bc58ccaa","hasRole(bytes32,address)":"91d14854","initialize(uint256,address,address)":"b4988fd0","initialize(uint256,address,address,address,(address,(uint128,uint128))[],uint256,address,address)":"cdb21cc6","minimumLiveness()":"91152f10","multicall(bytes[])":"ac9650d8","owner()":"8da5cb5b","pendingDefaultAdmin()":"cf6eefb7","pendingDefaultAdminDelay()":"a1eda53c","proposePrice(address,bytes32,uint256,bytes,int256)":"b8b4f908","proposePriceFor(address,address,bytes32,uint256,bytes,int256)":"7c82288f","proxiableUUID()":"52d1902d","removeRequestManager(address)":"1480db39","renounceRole(bytes32,address)":"36568abe","requestManagerSetBond(address,bytes32,bytes,address,uint256)":"93ae2ebd","requestManagerSetCustomLiveness(address,bytes32,bytes,uint256)":"6982ece0","requestManagerSetProposerWhitelist(address,bytes32,bytes,address)":"347b4dba","requestPrice(bytes32,uint256,bytes,address,uint256)":"11df92f1","requesterWhitelist()":"2589382b","requests(bytes32)":"9d866985","revokeRole(bytes32,address)":"d547741f","rollbackDefaultAdminDelay()":"0aa6220b","setAllowedBondRange(address,(uint128,uint128))":"5845e68a","setBond(bytes32,uint256,bytes,uint256)":"ad5a755a","setCallbacks(bytes32,uint256,bytes,bool,bool,bool)":"f327b075","setCustomLiveness(bytes32,uint256,bytes,uint256)":"473c45fe","setDefaultProposerWhitelist(address)":"1fa50cef","setEventBased(bytes32,uint256,bytes)":"120698af","setMinimumLiveness(uint256)":"32ecce9e","setRefundOnDispute(bytes32,uint256,bytes)":"91f58dcb","setRequesterWhitelist(address)":"6b821d06","settle(address,bytes32,uint256,bytes)":"5e9a79a9","settleAndGetPrice(bytes32,uint256,bytes)":"53b59239","stampAncillaryData(bytes,address)":"af5d2f39","supportsInterface(bytes4)":"01ffc9a7","upgradeToAndCall(address,bytes)":"4f1ef286"}}}},"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol":{"OptimisticOracleV2":{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"OO_ANCILLARY_DATA_LIMIT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"TOO_EARLY_RESPONSE","inputs":[],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"acceptDefaultAdminTransfer","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"ancillaryBytesLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"beginDefaultAdminTransfer","inputs":[{"name":"newAdmin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cancelDefaultAdminTransfer","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"changeDefaultAdminDelay","inputs":[{"name":"newDelay","type":"uint48","internalType":"uint48"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"defaultAdmin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"defaultAdminDelay","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"defaultAdminDelayIncreaseWait","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"defaultLiveness","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"disputePrice","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"totalBond","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"disputePriceFor","inputs":[{"name":"disputer","type":"address","internalType":"address"},{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"totalBond","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"finder","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract FinderInterface"}],"stateMutability":"view"},{"type":"function","name":"getCurrentTime","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRequest","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"tuple","internalType":"struct OptimisticOracleV2Interface.Request","components":[{"name":"proposer","type":"address","internalType":"address"},{"name":"disputer","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"settled","type":"bool","internalType":"bool"},{"name":"requestSettings","type":"tuple","internalType":"struct OptimisticOracleV2Interface.RequestSettings","components":[{"name":"eventBased","type":"bool","internalType":"bool"},{"name":"refundOnDispute","type":"bool","internalType":"bool"},{"name":"callbackOnPriceProposed","type":"bool","internalType":"bool"},{"name":"callbackOnPriceDisputed","type":"bool","internalType":"bool"},{"name":"callbackOnPriceSettled","type":"bool","internalType":"bool"},{"name":"bond","type":"uint256","internalType":"uint256"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}]},{"name":"proposedPrice","type":"int256","internalType":"int256"},{"name":"resolvedPrice","type":"int256","internalType":"int256"},{"name":"expirationTime","type":"uint256","internalType":"uint256"},{"name":"reward","type":"uint256","internalType":"uint256"},{"name":"finalFee","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getState","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint8","internalType":"enum OptimisticOracleV2Interface.State"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasPrice","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_liveness","type":"uint256","internalType":"uint256"},{"name":"_finderAddress","type":"address","internalType":"address"},{"name":"upgradeAdmin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingDefaultAdmin","inputs":[],"outputs":[{"name":"newAdmin","type":"address","internalType":"address"},{"name":"schedule","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"pendingDefaultAdminDelay","inputs":[],"outputs":[{"name":"newDelay","type":"uint48","internalType":"uint48"},{"name":"schedule","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"proposePrice","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"proposedPrice","type":"int256","internalType":"int256"}],"outputs":[{"name":"totalBond","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"proposePriceFor","inputs":[{"name":"proposer","type":"address","internalType":"address"},{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"proposedPrice","type":"int256","internalType":"int256"}],"outputs":[{"name":"totalBond","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"requestPrice","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"reward","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"totalBond","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"requests","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"proposer","type":"address","internalType":"address"},{"name":"disputer","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"settled","type":"bool","internalType":"bool"},{"name":"requestSettings","type":"tuple","internalType":"struct OptimisticOracleV2Interface.RequestSettings","components":[{"name":"eventBased","type":"bool","internalType":"bool"},{"name":"refundOnDispute","type":"bool","internalType":"bool"},{"name":"callbackOnPriceProposed","type":"bool","internalType":"bool"},{"name":"callbackOnPriceDisputed","type":"bool","internalType":"bool"},{"name":"callbackOnPriceSettled","type":"bool","internalType":"bool"},{"name":"bond","type":"uint256","internalType":"uint256"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}]},{"name":"proposedPrice","type":"int256","internalType":"int256"},{"name":"resolvedPrice","type":"int256","internalType":"int256"},{"name":"expirationTime","type":"uint256","internalType":"uint256"},{"name":"reward","type":"uint256","internalType":"uint256"},{"name":"finalFee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollbackDefaultAdminDelay","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBond","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"bond","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"totalBond","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"setCallbacks","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"callbackOnPriceProposed","type":"bool","internalType":"bool"},{"name":"callbackOnPriceDisputed","type":"bool","internalType":"bool"},{"name":"callbackOnPriceSettled","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCustomLiveness","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEventBased","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRefundOnDispute","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"settle","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"payout","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"settleAndGetPrice","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"nonpayable"},{"type":"function","name":"stampAncillaryData","inputs":[{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"requester","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"DefaultAdminDelayChangeCanceled","inputs":[],"anonymous":false},{"type":"event","name":"DefaultAdminDelayChangeScheduled","inputs":[{"name":"newDelay","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"effectSchedule","type":"uint48","indexed":false,"internalType":"uint48"}],"anonymous":false},{"type":"event","name":"DefaultAdminTransferCanceled","inputs":[],"anonymous":false},{"type":"event","name":"DefaultAdminTransferScheduled","inputs":[{"name":"newAdmin","type":"address","indexed":true,"internalType":"address"},{"name":"acceptSchedule","type":"uint48","indexed":false,"internalType":"uint48"}],"anonymous":false},{"type":"event","name":"DisputePrice","inputs":[{"name":"requester","type":"address","indexed":true,"internalType":"address"},{"name":"proposer","type":"address","indexed":true,"internalType":"address"},{"name":"disputer","type":"address","indexed":true,"internalType":"address"},{"name":"identifier","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"ancillaryData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"proposedPrice","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"ProposePrice","inputs":[{"name":"requester","type":"address","indexed":true,"internalType":"address"},{"name":"proposer","type":"address","indexed":true,"internalType":"address"},{"name":"identifier","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"ancillaryData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"proposedPrice","type":"int256","indexed":false,"internalType":"int256"},{"name":"expirationTimestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"currency","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RequestPrice","inputs":[{"name":"requester","type":"address","indexed":true,"internalType":"address"},{"name":"identifier","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"ancillaryData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"currency","type":"address","indexed":false,"internalType":"address"},{"name":"reward","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"finalFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Settle","inputs":[{"name":"requester","type":"address","indexed":true,"internalType":"address"},{"name":"proposer","type":"address","indexed":true,"internalType":"address"},{"name":"disputer","type":"address","indexed":true,"internalType":"address"},{"name":"identifier","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"ancillaryData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"price","type":"int256","indexed":false,"internalType":"int256"},{"name":"payout","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlEnforcedDefaultAdminDelay","inputs":[{"name":"schedule","type":"uint48","internalType":"uint48"}]},{"type":"error","name":"AccessControlEnforcedDefaultAdminRules","inputs":[]},{"type":"error","name":"AccessControlInvalidDefaultAdmin","inputs":[{"name":"defaultAdmin","type":"address","internalType":"address"}]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"AncillaryDataTooLong","inputs":[]},{"type":"error","name":"CannotProposeTooEarly","inputs":[]},{"type":"error","name":"DisputerAddressCannotBeZero","inputs":[]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"LivenessCannotBeZero","inputs":[]},{"type":"error","name":"LivenessTooLarge","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"ProposerAddressCannotBeZero","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"RequestNotSettleable","inputs":[]},{"type":"error","name":"RequestStateNotInvalid","inputs":[]},{"type":"error","name":"RequestStateNotProposed","inputs":[]},{"type":"error","name":"RequestStateNotRequested","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"TimestampInFuture","inputs":[]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"UnsupportedCurrency","inputs":[]},{"type":"error","name":"UnsupportedIdentifier","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"schedule\",\"type\":\"uint48\"}],\"name\":\"AccessControlEnforcedDefaultAdminDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AccessControlEnforcedDefaultAdminRules\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"defaultAdmin\",\"type\":\"address\"}],\"name\":\"AccessControlInvalidDefaultAdmin\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AncillaryDataTooLong\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CannotProposeTooEarly\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DisputerAddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LivenessCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LivenessTooLarge\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposerAddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RequestNotSettleable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RequestStateNotInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RequestStateNotProposed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RequestStateNotRequested\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TimestampInFuture\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedCurrency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedIdentifier\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"DefaultAdminDelayChangeCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"newDelay\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"effectSchedule\",\"type\":\"uint48\"}],\"name\":\"DefaultAdminDelayChangeScheduled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"DefaultAdminTransferCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"acceptSchedule\",\"type\":\"uint48\"}],\"name\":\"DefaultAdminTransferScheduled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"proposedPrice\",\"type\":\"int256\"}],\"name\":\"DisputePrice\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"proposedPrice\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expirationTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"ProposePrice\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"finalFee\",\"type\":\"uint256\"}],\"name\":\"RequestPrice\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"price\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payout\",\"type\":\"uint256\"}],\"name\":\"Settle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OO_ANCILLARY_DATA_LIMIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TOO_EARLY_RESPONSE\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"acceptDefaultAdminTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ancillaryBytesLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"beginDefaultAdminTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cancelDefaultAdminTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"newDelay\",\"type\":\"uint48\"}],\"name\":\"changeDefaultAdminDelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultAdmin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultAdminDelay\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultAdminDelayIncreaseWait\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultLiveness\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"disputePrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBond\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"disputePriceFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBond\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"finder\",\"outputs\":[{\"internalType\":\"contract FinderInterface\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"getRequest\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"settled\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"eventBased\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"refundOnDispute\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceProposed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceDisputed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceSettled\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"bond\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"customLiveness\",\"type\":\"uint256\"}],\"internalType\":\"struct OptimisticOracleV2Interface.RequestSettings\",\"name\":\"requestSettings\",\"type\":\"tuple\"},{\"internalType\":\"int256\",\"name\":\"proposedPrice\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"resolvedPrice\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"finalFee\",\"type\":\"uint256\"}],\"internalType\":\"struct OptimisticOracleV2Interface.Request\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"getState\",\"outputs\":[{\"internalType\":\"enum OptimisticOracleV2Interface.State\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"hasPrice\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_liveness\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_finderAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"upgradeAdmin\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingDefaultAdmin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"schedule\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingDefaultAdminDelay\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"newDelay\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"schedule\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"int256\",\"name\":\"proposedPrice\",\"type\":\"int256\"}],\"name\":\"proposePrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBond\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"int256\",\"name\":\"proposedPrice\",\"type\":\"int256\"}],\"name\":\"proposePriceFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBond\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"}],\"name\":\"requestPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBond\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"requests\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"settled\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"eventBased\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"refundOnDispute\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceProposed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceDisputed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceSettled\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"bond\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"customLiveness\",\"type\":\"uint256\"}],\"internalType\":\"struct OptimisticOracleV2Interface.RequestSettings\",\"name\":\"requestSettings\",\"type\":\"tuple\"},{\"internalType\":\"int256\",\"name\":\"proposedPrice\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"resolvedPrice\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"finalFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rollbackDefaultAdminDelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"bond\",\"type\":\"uint256\"}],\"name\":\"setBond\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBond\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceProposed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceDisputed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceSettled\",\"type\":\"bool\"}],\"name\":\"setCallbacks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"customLiveness\",\"type\":\"uint256\"}],\"name\":\"setCustomLiveness\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"setEventBased\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"setRefundOnDispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"payout\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"settleAndGetPrice\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"}],\"name\":\"stampAncillaryData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:security-contact\":\"bugs@umaproject.org\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlEnforcedDefaultAdminDelay(uint48)\":[{\"details\":\"The delay for transferring the default admin delay is enforced and the operation must wait until `schedule`. NOTE: `schedule` can be 0 indicating there's no transfer scheduled.\"}],\"AccessControlEnforcedDefaultAdminRules()\":[{\"details\":\"At least one of the following rules was violated: - The `DEFAULT_ADMIN_ROLE` must only be managed by itself. - The `DEFAULT_ADMIN_ROLE` must only be held by one account at the time. - Any `DEFAULT_ADMIN_ROLE` transfer must be in two delayed steps.\"}],\"AccessControlInvalidDefaultAdmin(address)\":[{\"details\":\"The new default admin is not a valid default admin.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"DefaultAdminDelayChangeCanceled()\":{\"details\":\"Emitted when a {pendingDefaultAdminDelay} is reset if its schedule didn't pass.\"},\"DefaultAdminDelayChangeScheduled(uint48,uint48)\":{\"details\":\"Emitted when a {defaultAdminDelay} change is started, setting `newDelay` as the next delay to be applied between default admin transfer after `effectSchedule` has passed.\"},\"DefaultAdminTransferCanceled()\":{\"details\":\"Emitted when a {pendingDefaultAdmin} is reset if it was never accepted, regardless of its schedule.\"},\"DefaultAdminTransferScheduled(address,uint48)\":{\"details\":\"Emitted when a {defaultAdmin} transfer is started, setting `newAdmin` as the next address to become the {defaultAdmin} by calling {acceptDefaultAdminTransfer} only after `acceptSchedule` passes.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted to signal this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"acceptDefaultAdminTransfer()\":{\"details\":\"Completes a {defaultAdmin} transfer previously started with {beginDefaultAdminTransfer}. After calling the function: - `DEFAULT_ADMIN_ROLE` should be granted to the caller. - `DEFAULT_ADMIN_ROLE` should be revoked from the previous holder. - {pendingDefaultAdmin} should be reset to zero values. Requirements: - Only can be called by the {pendingDefaultAdmin}'s `newAdmin`. - The {pendingDefaultAdmin}'s `acceptSchedule` should've passed.\"},\"beginDefaultAdminTransfer(address)\":{\"details\":\"Starts a {defaultAdmin} transfer by setting a {pendingDefaultAdmin} scheduled for acceptance after the current timestamp plus a {defaultAdminDelay}. Requirements: - Only can be called by the current {defaultAdmin}. Emits a DefaultAdminRoleChangeStarted event.\"},\"cancelDefaultAdminTransfer()\":{\"details\":\"Cancels a {defaultAdmin} transfer previously started with {beginDefaultAdminTransfer}. A {pendingDefaultAdmin} not yet accepted can also be cancelled with this function. Requirements: - Only can be called by the current {defaultAdmin}. May emit a DefaultAdminTransferCanceled event.\"},\"changeDefaultAdminDelay(uint48)\":{\"details\":\"Initiates a {defaultAdminDelay} update by setting a {pendingDefaultAdminDelay} scheduled for getting into effect after the current timestamp plus a {defaultAdminDelay}. This function guarantees that any call to {beginDefaultAdminTransfer} done between the timestamp this method is called and the {pendingDefaultAdminDelay} effect schedule will use the current {defaultAdminDelay} set before calling. The {pendingDefaultAdminDelay}'s effect schedule is defined in a way that waiting until the schedule and then calling {beginDefaultAdminTransfer} with the new delay will take at least the same as another {defaultAdmin} complete transfer (including acceptance). The schedule is designed for two scenarios: - When the delay is changed for a larger one the schedule is `block.timestamp + newDelay` capped by {defaultAdminDelayIncreaseWait}. - When the delay is changed for a shorter one, the schedule is `block.timestamp + (current delay - new delay)`. A {pendingDefaultAdminDelay} that never got into effect will be canceled in favor of a new scheduled change. Requirements: - Only can be called by the current {defaultAdmin}. Emits a DefaultAdminDelayChangeScheduled event and may emit a DefaultAdminDelayChangeCanceled event.\"},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"defaultAdmin()\":{\"details\":\"Returns the address of the current `DEFAULT_ADMIN_ROLE` holder.\"},\"defaultAdminDelay()\":{\"details\":\"Returns the delay required to schedule the acceptance of a {defaultAdmin} transfer started. This delay will be added to the current timestamp when calling {beginDefaultAdminTransfer} to set the acceptance schedule. NOTE: If a delay change has been scheduled, it will take effect as soon as the schedule passes, making this function returns the new delay. See {changeDefaultAdminDelay}.\"},\"defaultAdminDelayIncreaseWait()\":{\"details\":\"Maximum time in seconds for an increase to {defaultAdminDelay} (that is scheduled using {changeDefaultAdminDelay}) to take effect. Default to 5 days. When the {defaultAdminDelay} is scheduled to be increased, it goes into effect after the new delay has passed with the purpose of giving enough time for reverting any accidental change (i.e. using milliseconds instead of seconds) that may lock the contract. However, to avoid excessive schedules, the wait is capped by this function and it can be overrode for a custom {defaultAdminDelay} increase scheduling. IMPORTANT: Make sure to add a reasonable amount of time while overriding this value, otherwise, there's a risk of setting a high new delay that goes into effect almost immediately without the possibility of human intervention in the case of an input error (eg. set milliseconds instead of seconds).\"},\"disputePrice(address,bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"requester\":\"sender of the initial price request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"totalBond\":\"the amount that's pulled from the disputer's wallet as a bond. The bond will be returned to the disputer once settled if the dispute was valid (the proposal was incorrect).\"}},\"disputePriceFor(address,address,bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"disputer\":\"address to set as the disputer.\",\"identifier\":\"price identifier to identify the existing request.\",\"requester\":\"sender of the initial price request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"totalBond\":\"the amount that's pulled from the caller's wallet as a bond. The bond will be returned to the disputer once settled if the dispute was valid (the proposal was incorrect).\"}},\"getRequest(address,bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"requester\":\"sender of the initial price request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"_0\":\"the Request data structure.\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getState(address,bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"requester\":\"sender of the initial price request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"_0\":\"the State.\"}},\"grantRole(bytes32,address)\":{\"details\":\"See {AccessControl-grantRole}. Reverts for `DEFAULT_ADMIN_ROLE`.\"},\"hasPrice(address,bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"requester\":\"sender of the initial price request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"_0\":\"boolean indicating true if price exists and false if not.\"}},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(uint256,address,address)\":{\"details\":\"Used only for standalone deployments of the OptimisticOracleV2Upgradeable contract.\",\"params\":{\"_finderAddress\":\"finder to use to get addresses of DVM contracts.\",\"_liveness\":\"default liveness applied to each price request.\"}},\"owner()\":{\"details\":\"Gets the address of the owner.\"},\"pendingDefaultAdmin()\":{\"details\":\"Returns a tuple of a `newAdmin` and an accept schedule. After the `schedule` passes, the `newAdmin` will be able to accept the {defaultAdmin} role by calling {acceptDefaultAdminTransfer}, completing the role transfer. A zero value only in `acceptSchedule` indicates no pending admin transfer. NOTE: A zero address `newAdmin` means that {defaultAdmin} is being renounced.\"},\"pendingDefaultAdminDelay()\":{\"details\":\"Returns a tuple of `newDelay` and an effect schedule. After the `schedule` passes, the `newDelay` will get into effect immediately for every new {defaultAdmin} transfer started with {beginDefaultAdminTransfer}. A zero value only in `effectSchedule` indicates no pending delay change. NOTE: A zero value only for `newDelay` means that the next {defaultAdminDelay} will be zero after the effect schedule.\"},\"proposePrice(address,bytes32,uint256,bytes,int256)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"proposedPrice\":\"price being proposed.\",\"requester\":\"sender of the initial price request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"totalBond\":\"the amount that's pulled from the proposer's wallet as a bond. The bond will be returned to the proposer once settled if the proposal is correct.\"}},\"proposePriceFor(address,address,bytes32,uint256,bytes,int256)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"proposedPrice\":\"price being proposed.\",\"proposer\":\"address to set as the proposer.\",\"requester\":\"sender of the initial price request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"totalBond\":\"the amount that's pulled from the caller's wallet as a bond. The bond will be returned to the proposer once settled if the proposal is correct.\"}},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceRole(bytes32,address)\":{\"details\":\"See {AccessControl-renounceRole}. For the `DEFAULT_ADMIN_ROLE`, it only allows renouncing in two steps by first calling {beginDefaultAdminTransfer} to the `address(0)`, so it's required that the {pendingDefaultAdmin} schedule has also passed when calling this function. After its execution, it will not be possible to call `onlyRole(DEFAULT_ADMIN_ROLE)` functions. NOTE: Renouncing `DEFAULT_ADMIN_ROLE` will leave the contract without a {defaultAdmin}, thereby disabling any functionality that is only available for it, and the possibility of reassigning a non-administrated role.\"},\"requestPrice(bytes32,uint256,bytes,address,uint256)\":{\"params\":{\"ancillaryData\":\"ancillary data representing additional args being passed with the price request.\",\"currency\":\"ERC20 token used for payment of rewards and fees. Must be approved for use with the DVM.\",\"identifier\":\"price identifier being requested.\",\"reward\":\"reward offered to a successful proposer. Will be pulled from the caller. Note: this can be 0, which could make sense if the contract requests and proposes the value in the same call or provides its own reward system.\",\"timestamp\":\"timestamp of the price being requested.\"},\"returns\":{\"totalBond\":\"default bond (final fee) + final fee that the proposer and disputer will be required to pay. This can be changed with a subsequent call to setBond().\"}},\"revokeRole(bytes32,address)\":{\"details\":\"See {AccessControl-revokeRole}. Reverts for `DEFAULT_ADMIN_ROLE`.\"},\"rollbackDefaultAdminDelay()\":{\"details\":\"Cancels a scheduled {defaultAdminDelay} change. Requirements: - Only can be called by the current {defaultAdmin}. May emit a DefaultAdminDelayChangeCanceled event.\"},\"setBond(bytes32,uint256,bytes,uint256)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"bond\":\"custom bond amount to set.\",\"identifier\":\"price identifier to identify the existing request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"totalBond\":\"new bond + final fee that the proposer and disputer will be required to pay. This can be changed again with a subsequent call to setBond().\"}},\"setCallbacks(bytes32,uint256,bytes,bool,bool,bool)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"callbackOnPriceDisputed\":\"whether to enable the callback onPriceDisputed.\",\"callbackOnPriceProposed\":\"whether to enable the callback onPriceProposed.\",\"callbackOnPriceSettled\":\"whether to enable the callback onPriceSettled.\",\"identifier\":\"price identifier to identify the existing request.\",\"timestamp\":\"timestamp to identify the existing request.\"}},\"setCustomLiveness(bytes32,uint256,bytes,uint256)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"customLiveness\":\"new custom liveness.\",\"identifier\":\"price identifier to identify the existing request.\",\"timestamp\":\"timestamp to identify the existing request.\"}},\"setEventBased(bytes32,uint256,bytes)\":{\"details\":\"Calling this method has a few impacts on the request: 1. The timestamp at which the request is evaluated is the time of the proposal, not the timestamp associated with the request. 2. The proposer cannot propose the \\\"too early\\\" value (TOO_EARLY_RESPONSE). This is to ensure that a proposer who prematurely proposes a response loses their bond. 3. RefundoOnDispute is automatically set, meaning disputes trigger the reward to be automatically refunded to the requesting contract.\",\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"timestamp\":\"timestamp to identify the existing request.\"}},\"setRefundOnDispute(bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"timestamp\":\"timestamp to identify the existing request.\"}},\"settle(address,bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"requester\":\"sender of the initial price request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"payout\":\"the amount that the \\\"winner\\\" (proposer or disputer) receives on settlement. This amount includes the returned bonds as well as additional rewards.\"}},\"settleAndGetPrice(bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"_0\":\"resolved price.\"}},\"stampAncillaryData(bytes,address)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"requester\":\"sender of the initial price request.\"},\"returns\":{\"_0\":\"the stamped ancillary bytes.\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"__gap\":{\"details\":\"Reserve storage slots for future versions of this base contract to add state variables without affecting the storage layout of child contracts. Decrement the size of __gap whenever state variables are added. This is at the bottom of contract to make sure its always at the end of storage. See https://docs.openzeppelin.com/upgrades-plugins/writing-upgradeable#storage-gaps\"}},\"title\":\"Optimistic Oracle.\",\"version\":1},\"userdoc\":{\"errors\":{\"AncillaryDataTooLong()\":[{\"notice\":\"Thrown when ancillary data exceeds the allowed limit.\"}],\"CannotProposeTooEarly()\":[{\"notice\":\"Thrown when trying to propose the \\\"too early\\\" response for event-based requests.\"}],\"DisputerAddressCannotBeZero()\":[{\"notice\":\"Thrown when a disputer address is zero.\"}],\"LivenessCannotBeZero()\":[{\"notice\":\"Thrown when liveness period cannot be zero.\"}],\"LivenessTooLarge()\":[{\"notice\":\"Thrown when liveness period is too large.\"}],\"ProposerAddressCannotBeZero()\":[{\"notice\":\"Thrown when a proposer address is zero.\"}],\"RequestNotSettleable()\":[{\"notice\":\"Thrown when trying to settle a request that is not settleable.\"}],\"RequestStateNotInvalid()\":[{\"notice\":\"Thrown when a request is not in the expected Invalid state.\"}],\"RequestStateNotProposed()\":[{\"notice\":\"Thrown when a request is not in the expected Proposed state.\"}],\"RequestStateNotRequested()\":[{\"notice\":\"Thrown when a request is not in the expected Requested state.\"}],\"TimestampInFuture()\":[{\"notice\":\"Thrown when a timestamp is in the future.\"}],\"UnsupportedCurrency()\":[{\"notice\":\"Thrown when a currency is not supported by the collateral whitelist.\"}],\"UnsupportedIdentifier()\":[{\"notice\":\"Thrown when an identifier is not supported by the identifier whitelist.\"}]},\"kind\":\"user\",\"methods\":{\"disputePrice(address,bytes32,uint256,bytes)\":{\"notice\":\"Disputes a price value for an existing price request with an active proposal.\"},\"disputePriceFor(address,address,bytes32,uint256,bytes)\":{\"notice\":\"Disputes a price request with an active proposal on another address' behalf. Note: this address will receive any rewards that come from this dispute. However, any bonds are pulled from the caller.\"},\"getRequest(address,bytes32,uint256,bytes)\":{\"notice\":\"Gets the current data structure containing all information about a price request.\"},\"getState(address,bytes32,uint256,bytes)\":{\"notice\":\"Computes the current state of a price request. See the State enum for more details.\"},\"hasPrice(address,bytes32,uint256,bytes)\":{\"notice\":\"Checks if a given request has resolved, expired or been settled (i.e the optimistic oracle has a price).\"},\"initialize(uint256,address,address)\":{\"notice\":\"Initializer (external).\"},\"proposePrice(address,bytes32,uint256,bytes,int256)\":{\"notice\":\"Proposes a price value for an existing price request.\"},\"proposePriceFor(address,address,bytes32,uint256,bytes,int256)\":{\"notice\":\"Proposes a price value on another address' behalf. Note: this address will receive any rewards that come from this proposal. However, any bonds are pulled from the caller.\"},\"requestPrice(bytes32,uint256,bytes,address,uint256)\":{\"notice\":\"Requests a new price.\"},\"setBond(bytes32,uint256,bytes,uint256)\":{\"notice\":\"Set the proposal bond associated with a price request.\"},\"setCallbacks(bytes32,uint256,bytes,bool,bool,bool)\":{\"notice\":\"Sets which callbacks should be enabled for the request.\"},\"setCustomLiveness(bytes32,uint256,bytes,uint256)\":{\"notice\":\"Sets a custom liveness value for the request. Liveness is the amount of time a proposal must wait before being auto-resolved.\"},\"setEventBased(bytes32,uint256,bytes)\":{\"notice\":\"Sets the request to be an \\\"event-based\\\" request.\"},\"setRefundOnDispute(bytes32,uint256,bytes)\":{\"notice\":\"Sets the request to refund the reward if the proposal is disputed. This can help to \\\"hedge\\\" the caller in the event of a dispute-caused delay. Note: in the event of a dispute, the winner still receives the other's bond, so there is still profit to be made even if the reward is refunded.\"},\"settle(address,bytes32,uint256,bytes)\":{\"notice\":\"Attempts to settle an outstanding price request. Will revert if it isn't settleable.\"},\"settleAndGetPrice(bytes32,uint256,bytes)\":{\"notice\":\"Retrieves a price that was previously requested by a caller. Reverts if the request is not settled or settleable. Note: this method is not view so that this call may actually settle the price request if it hasn't been settled.\"},\"stampAncillaryData(bytes,address)\":{\"notice\":\"Generates stamped ancillary data in the format that it would be used in the case of a price dispute.\"}},\"notice\":\"Pre-DVM escalation contract that allows faster settlement.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol\":\"OptimisticOracleV2\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x85a70e2b1b65e9ba456add364d22b97eb9944083df1c39c0b4bd6a4b5aa386a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d32a33be6ca4d8e89b9e82e3f9cec7a6c4e040534152313ff55da85b8f193059\",\"dweb:/ipfs/QmeR55L8t2A8xZ1nvT5y4yVWfFbbmpaGAtGBMz3GGNpuyP\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol\":{\"keccak256\":\"0x2922ed589f7063a685dffc9297f8b669c1e86f2fde9078c08d8bff079cf636a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0bd42676681a1c4563f61a767bfbc50ef207544a3d6eee9aa66830cc15ccb679\",\"dweb:/ipfs/QmRMCKEXNWJq1EdCjNQtTXf9tuppnyGtaiBCiNk3TYVcK1\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x6694b63ddb2c59bbe341c846171798350e8f72fa02189fcdeaca864e28b54e1f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d945d33e2189ac4e531e4ed228f59ca957b3898c4f9051f4b8c7ae44d72b23a\",\"dweb:/ipfs/QmRcEwubTe3xyXxthijs5fVzEgUFSxeddjd5PGfhBnkunX\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xbff9f59c84e5337689161ce7641c0ef8e872d6a7536fbc1f5133f128887aba3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b308f882e796f7b79c9502deacb0a62983035c6f6f4e962b319ba6a1f4a77d3d\",\"dweb:/ipfs/QmaWCW7ahEQqFjwhSUhV7Ae7WhfNvzSpE7DQ58hvEooqPL\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol\":{\"keccak256\":\"0x956d6404c7b61b920a9ccbc9918f94a2bd3004de3dd13310995eda5bc17f1ead\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c12dc67a285548d455683db60f1ed845c03ac3c27f8f24f905defd3c54601406\",\"dweb:/ipfs/QmXDaxKsnq6RxH44VPSqxjLyygdXn3GR1o6W9pr2iXzjZq\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol\":{\"keccak256\":\"0x21529ba6918f994ec44fb97cef2b717d730268e911a4e626f3e425a4394f7bae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10949be539eb61e5ea8996cc93f21be61949c16a1b717adc2b3f8f099c1e1feb\",\"dweb:/ipfs/QmagATozhFXBUVTLaiHWyqVPgew9N1x18V6hBF46AZPeLw\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508\",\"dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"lib/openzeppelin-contracts/contracts/utils/Arrays.sol\":{\"keccak256\":\"0xa4b9958797e0e9cde82a090525e90f80d5745ba1c67ee72b488bd3087498a17e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9344f7c2f80322c2e76d9d89bed03fd12f3e011e74fde7cf24ea21bdd2abe2d\",\"dweb:/ipfs/QmPMAjF5x2fHUAee2FKMZDBbFVrbZbPCr3a9KHLZaSn1zY\"]},\"lib/openzeppelin-contracts/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2\",\"dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x1fc283df727585919c3db301b948a3e827aee16917457ad7f916db9da2228e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4f4b5e2cd0ebc3b74e41e4e94771a0417eedd9b11cec3ef9f90b2ac2989264b\",\"dweb:/ipfs/QmZmsEsvsXiwAyAe1YeoLSKezeFcvR1giUeEY6ex4zpsTS\"]},\"lib/protocol/packages/core/contracts/common/implementation/AncillaryData.sol\":{\"keccak256\":\"0x8ff33ac32d3e6de25de9e0ac2c0ff9a621f187fa97e9ee84092b327471baa3ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0bbaed49756e8cf7ef405e132f441cd7a735ac6186a200b0179147e7d137b74a\",\"dweb:/ipfs/QmeSBJX5a61LZPxbkUKS2NF4LSxemgDwjD65fCAmyP7PX2\"]},\"lib/protocol/packages/core/contracts/common/implementation/Lockable.sol\":{\"keccak256\":\"0x41d78fcce54598ad5f26bc0b778c0f4fedbd836401625e49e736979f69a87ef0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ce111bb50441ef5125e7d42284f6debbc17fd589515d7b8cede7e9d1d5f0ede\",\"dweb:/ipfs/QmaXiXACWVEDDHoCHNXdVBoNpf8QNHkUZ1kf5MfbxfL6jj\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/implementation/Constants.sol\":{\"keccak256\":\"0xe40957105a9240c6bcb9753fd0011fe9f382c437cd6771c57bf7a96f8ceb9c84\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cbf0d25e841b1f5c4022d09fb29220cb428139443cb29c4ab8dbfff71dffcc05\",\"dweb:/ipfs/QmSVVr5wH1tZi6WmKyuy1K8yS6JN4DeK5kWaZpPKtXiqkK\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/FinderInterface.sol\":{\"keccak256\":\"0x9166fbfe08e954eb86d33c114fcde7ce4fd0dda5d9d28b31210582bfc769fa86\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e611e12bcaaebfdf65b67c566ff1d34708e757f01a445bd87c55862e89383b81\",\"dweb:/ipfs/QmYNSq5oopTShdS6j4VWKqoLxmQSRKmWebCxw6K4LfmKrf\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/IdentifierWhitelistInterface.sol\":{\"keccak256\":\"0x9ae86a30dd1a8c03fb2c6d27be570bb30c4c0b13ac63cde8620b7e4b51d88dc9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a71d2aff48e075ecab56a9c9767775d1d77e04ec9191fed124e71003220549e3\",\"dweb:/ipfs/QmYPWsZXro6fzqpZY6UxQ5X8znEXfLp2sun8oXzdz8bTyc\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/OracleAncillaryInterface.sol\":{\"keccak256\":\"0xd58b41fe1e389f7871db7c04f2c05c1aac1d0455bbc521534da81fd657016a1f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cc532e9c550bb1bba0daa33fda748590cd06ce94a9566fe65dac04e7d40977bc\",\"dweb:/ipfs/QmZKvfRW2LJFt5MWZbKuU9ujkXnS2hkPUJVj8wwJWcuZGX\"]},\"src/common/implementation/AddressLegacy.sol\":{\"keccak256\":\"0x441f6c1a04ebb7ad44e54e1b9e3a6ca9f2468358842f93ec73e392f928daf85f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2cba7f3e831503913b6a147eec2f5fc6a2c5cdf1df11ae65582a42c5680ecd\",\"dweb:/ipfs/QmdBEXFnViR66ibJeyjKNh2xJoY8v1y3u3u1D9UXdPawFA\"]},\"src/common/implementation/AddressWhitelist.sol\":{\"keccak256\":\"0xa3b999d7b717c1bf4bb1b958ef5e26717ad965babe994aa8db3fb301f240c876\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7e1c4c81902a72dcf579e28f922f4910aadf5edaee4b2a4defe60c61dc00fbca\",\"dweb:/ipfs/QmUMZbko39hTe8epg77B8k9XYGmKNxLjnkLdd6x8v2xDyV\"]},\"src/common/implementation/LockableUpgradeable.sol\":{\"keccak256\":\"0x1a10eec9d7f12b051d343c65016a9c60a4bece53da4da2eceb8a8dc007b336e2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://9b8c203e136583fa946e4ae0e7bc9774837f865f8b319daa97c84ceb8a16c95b\",\"dweb:/ipfs/QmPJPPL27TB8qt66ZHquDCYtuubcTStRqxn4nxQnehMdA2\"]},\"src/common/interfaces/AddressWhitelistInterface.sol\":{\"keccak256\":\"0x126b2bc590041cf213c274bedc91c06a263ddff5e11a090be80d7db8b1cb0d8f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0f47e32816f895d4a3a060eded9bba7853eff6a6d99c3de5b4d1ca8359ce1c49\",\"dweb:/ipfs/QmVWt7xTr68owupHSUUJNfV2N3n2bTvTWtXCDtu8k3uVBN\"]},\"src/common/interfaces/FixedPointInterface.sol\":{\"keccak256\":\"0xceca09e6aa78c97698fa0b1f40657f6c3c723d5d94150ef6476affb9671df753\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d5d1b01017749d96befb5c2e8a8c6d9dd041f57e1d9a66238c296cc28512d2e5\",\"dweb:/ipfs/QmVPiky59JTngjwZNdxbmD7H1Lwa5AgTjzv975wSnavFFy\"]},\"src/data-verification-mechanism/interfaces/StoreInterface.sol\":{\"keccak256\":\"0x1905509e908c6a9b8b3a89449d2d86fd7192d0e588cbe542edd21351d9971ee5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://346e602f41469943453fbe039bf7554b23e1eba3128ff3858d32b35ebcc2ae88\",\"dweb:/ipfs/QmcjZ73TwMjondBDKEHyZ9KUjZzcxsy6Dmqs8QxPK3KBde\"]},\"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol\":{\"keccak256\":\"0xa0552c2797adccd632c07e77795cf258ff13e2cc435a14a7c530ea0f8acb49c2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ce250692f3db536caf05b193754741f62682c6bcac542780b1acc4b2fbf8bb25\",\"dweb:/ipfs/QmSQTPq4goBfGYfxV2V5B78y4PADfvjJsbPrKedoQxuS2h\"]},\"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol\":{\"keccak256\":\"0x33a251fab5e475a286832db9bc3aabf7f597497f07e06c2da8779d4f486336d1\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e8789e875af4c98c16a085279a5dd545fe2fe32716e66c41343ea0edaf8fad9f\",\"dweb:/ipfs/QmQTzL8h24WkcfchRfSRrCysAfSprVCF2RNc4AMQTchTyZ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":63821,"contract":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol:OptimisticOracleV2","label":"requests","offset":0,"slot":"0","type":"t_mapping(t_bytes32,t_struct(Request)63797_storage)"},{"astId":64048,"contract":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol:OptimisticOracleV2","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)49_storage"},{"astId":60594,"contract":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol:OptimisticOracleV2","label":"_notEntered","offset":0,"slot":"50","type":"t_bool"},{"astId":60674,"contract":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol:OptimisticOracleV2","label":"__gap","offset":0,"slot":"51","type":"t_array(t_uint256)49_storage"},{"astId":61862,"contract":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol:OptimisticOracleV2","label":"finder","offset":0,"slot":"100","type":"t_contract(FinderInterface)56983"},{"astId":61865,"contract":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol:OptimisticOracleV2","label":"defaultLiveness","offset":0,"slot":"101","type":"t_uint256"},{"astId":63543,"contract":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol:OptimisticOracleV2","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)998_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)998_storage":{"encoding":"inplace","label":"uint256[998]","numberOfBytes":"31936","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(FinderInterface)56983":{"encoding":"inplace","label":"contract FinderInterface","numberOfBytes":"20"},"t_contract(IERC20)43048":{"encoding":"inplace","label":"contract IERC20","numberOfBytes":"20"},"t_int256":{"encoding":"inplace","label":"int256","numberOfBytes":"32"},"t_mapping(t_bytes32,t_struct(Request)63797_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct OptimisticOracleV2Interface.Request)","numberOfBytes":"32","value":"t_struct(Request)63797_storage"},"t_struct(Request)63797_storage":{"encoding":"inplace","label":"struct OptimisticOracleV2Interface.Request","numberOfBytes":"352","members":[{"astId":63776,"contract":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol:OptimisticOracleV2","label":"proposer","offset":0,"slot":"0","type":"t_address"},{"astId":63778,"contract":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol:OptimisticOracleV2","label":"disputer","offset":0,"slot":"1","type":"t_address"},{"astId":63781,"contract":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol:OptimisticOracleV2","label":"currency","offset":0,"slot":"2","type":"t_contract(IERC20)43048"},{"astId":63783,"contract":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol:OptimisticOracleV2","label":"settled","offset":20,"slot":"2","type":"t_bool"},{"astId":63786,"contract":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol:OptimisticOracleV2","label":"requestSettings","offset":0,"slot":"3","type":"t_struct(RequestSettings)63774_storage"},{"astId":63788,"contract":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol:OptimisticOracleV2","label":"proposedPrice","offset":0,"slot":"6","type":"t_int256"},{"astId":63790,"contract":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol:OptimisticOracleV2","label":"resolvedPrice","offset":0,"slot":"7","type":"t_int256"},{"astId":63792,"contract":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol:OptimisticOracleV2","label":"expirationTime","offset":0,"slot":"8","type":"t_uint256"},{"astId":63794,"contract":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol:OptimisticOracleV2","label":"reward","offset":0,"slot":"9","type":"t_uint256"},{"astId":63796,"contract":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol:OptimisticOracleV2","label":"finalFee","offset":0,"slot":"10","type":"t_uint256"}]},"t_struct(RequestSettings)63774_storage":{"encoding":"inplace","label":"struct OptimisticOracleV2Interface.RequestSettings","numberOfBytes":"96","members":[{"astId":63761,"contract":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol:OptimisticOracleV2","label":"eventBased","offset":0,"slot":"0","type":"t_bool"},{"astId":63763,"contract":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol:OptimisticOracleV2","label":"refundOnDispute","offset":1,"slot":"0","type":"t_bool"},{"astId":63765,"contract":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol:OptimisticOracleV2","label":"callbackOnPriceProposed","offset":2,"slot":"0","type":"t_bool"},{"astId":63767,"contract":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol:OptimisticOracleV2","label":"callbackOnPriceDisputed","offset":3,"slot":"0","type":"t_bool"},{"astId":63769,"contract":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol:OptimisticOracleV2","label":"callbackOnPriceSettled","offset":4,"slot":"0","type":"t_bool"},{"astId":63771,"contract":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol:OptimisticOracleV2","label":"bond","offset":0,"slot":"1","type":"t_uint256"},{"astId":63773,"contract":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol:OptimisticOracleV2","label":"customLiveness","offset":0,"slot":"2","type":"t_uint256"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"60a060405230608052348015610013575f5ffd5b5061001c610021565b6100d3565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100715760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d05780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051613ee56100f95f395f818161215c0152818161218501526122c50152613ee55ff3fe608060405260043610610275575f3560e01c806391f58dcb1161014a578063ba4b930c116100be578063d547741f11610078578063d547741f14610841578063d602b9fd14610860578063f327b07514610874578063fba7f1e314610893578063fe4e1983146108b2578063ff8c1a8c146108c7575f5ffd5b8063ba4b930c1461077f578063bc58ccaa146107ab578063c371dda7146107ca578063cc8463c8146107df578063cefc1429146107f3578063cf6eefb714610807575f5ffd5b8063ad3cb1cc1161010f578063ad3cb1cc146106a7578063ad5a755a146106e4578063af5d2f3914610703578063b4988fd014610722578063b8b4f90814610741578063b9a3c84c14610760575f5ffd5b806391f58dcb1461052c5780639d8669851461054b578063a1eda53c14610648578063a217fddf146104fa578063a9904f9b1461067b575f5ffd5b80634f1ef286116101ec57806376c7823f116101a657806376c7823f1461047c5780637c82288f1461049b57806384ef8ffc146104ba5780638da5cb5b146104e65780638ffc2120146104fa57806391d148541461050d575f5ffd5b80634f1ef286146103d957806352d1902d146103ec57806353b59239146104005780635e9a79a91461041f578063634e93da1461043e578063649a5ec71461045d575f5ffd5b8063248a9ca31161023d578063248a9ca31461033757806329cb924d146103565780632f2ff15d1461036857806336568abe14610387578063473c45fe146103a65780634ccb56f5146103c5575f5ffd5b806301ffc9a714610279578063022d63fb146102ad5780630aa6220b146102d557806311df92f1146102eb578063120698af14610318575b5f5ffd5b348015610284575f5ffd5b506102986102933660046133f2565b6108de565b60405190151581526020015b60405180910390f35b3480156102b8575f5ffd5b50620697805b60405165ffffffffffff90911681526020016102a4565b3480156102e0575f5ffd5b506102e9610908565b005b3480156102f6575f5ffd5b5061030a6103053660046134ca565b61091d565b6040519081526020016102a4565b348015610323575f5ffd5b506102e961033236600461352f565b610dc1565b348015610342575f5ffd5b5061030a61035136600461357a565b610e39565b348015610361575f5ffd5b504261030a565b348015610373575f5ffd5b506102e9610382366004613591565b610e59565b348015610392575f5ffd5b506102e96103a1366004613591565b610e85565b3480156103b1575f5ffd5b506102e96103c03660046135bf565b610f47565b3480156103d0575f5ffd5b5061030a610fbc565b6102e96103e7366004613612565b610fcc565b3480156103f7575f5ffd5b5061030a610fe7565b34801561040b575f5ffd5b5061030a61041a36600461352f565b611002565b34801561042a575f5ffd5b5061030a61043936600461365e565b611066565b348015610449575f5ffd5b506102e96104583660046136bc565b611095565b348015610468575f5ffd5b506102e96104773660046136d7565b6110a8565b348015610487575f5ffd5b5061030a6104963660046136fc565b6110bb565b3480156104a6575f5ffd5b5061030a6104b536600461376c565b611423565b3480156104c5575f5ffd5b506104ce61165c565b6040516001600160a01b0390911681526020016102a4565b3480156104f1575f5ffd5b506104ce611677565b348015610505575f5ffd5b5061030a5f81565b348015610518575f5ffd5b50610298610527366004613591565b611685565b348015610537575f5ffd5b506102e961054636600461352f565b6116bb565b348015610556575f5ffd5b5061063261056536600461357a565b5f6020818152918152604090819020805460018201546002830154845160e081018652600385015460ff8082161515835261010082048116151598830198909852620100008104881615159682019690965263010000008604871615156060820152640100000000909504861615156080860152600484015460a0860152600584015460c08601526006840154600785015460088601546009870154600a909701546001600160a01b03968716999587169896851697600160a01b9095049095169594929391929091908a565b6040516102a49a99989796959493929190613834565b348015610653575f5ffd5b5061065c611737565b6040805165ffffffffffff9384168152929091166020830152016102a4565b348015610686575f5ffd5b5061069a61069536600461365e565b6117a6565b6040516102a4919061389b565b3480156106b2575f5ffd5b506106d7604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516102a49190613976565b3480156106ef575f5ffd5b5061030a6106fe3660046135bf565b611953565b34801561070e575f5ffd5b506106d761071d366004613988565b6119d2565b34801561072d575f5ffd5b506102e961073c3660046139cb565b6119de565b34801561074c575f5ffd5b5061030a61075b366004613a0a565b611ad9565b34801561076b575f5ffd5b506064546104ce906001600160a01b031681565b34801561078a575f5ffd5b5061079e61079936600461365e565b611ae8565b6040516102a49190613a83565b3480156107b6575f5ffd5b506102986107c536600461365e565b611afd565b3480156107d5575f5ffd5b5061030a61200081565b3480156107ea575f5ffd5b506102be611b6b565b3480156107fe575f5ffd5b506102e9611be6565b348015610812575f5ffd5b5061081b611c25565b604080516001600160a01b03909316835265ffffffffffff9091166020830152016102a4565b34801561084c575f5ffd5b506102e961085b366004613591565b611c52565b34801561086b575f5ffd5b506102e9611c7a565b34801561087f575f5ffd5b506102e961088e366004613ab6565b611c8c565b34801561089e575f5ffd5b5061030a6108ad36600461365e565b611d32565b3480156108bd575f5ffd5b5061030a60655481565b3480156108d2575f5ffd5b5061030a600160ff1b81565b5f6001600160e01b031982166318a4c3c360e11b1480610902575061090282611d40565b92915050565b5f61091281611d74565b61091a611d7e565b50565b5f610926611d8a565b61092e611dad565b5f61093b33888888611db9565b600681111561094c5761094c613a6f565b1461096a5760405163f757fcff60e01b815260040160405180910390fd5b610972611eeb565b6001600160a01b03166390978d1b876040518263ffffffff1660e01b815260040161099f91815260200190565b602060405180830381865afa1580156109ba573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109de9190613b39565b6109fb576040516356175d8f60e01b815260040160405180910390fd5b610a03611f6c565b604051631d1d5b3960e11b81526001600160a01b0385811660048301529190911690633a3ab67290602401602060405180830381865afa158015610a49573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a6d9190613b39565b610a8a57604051631131fa7160e11b815260040160405180910390fd5b42851115610aab576040516347860b9760e01b815260040160405180910390fd5b610ab86035612000613b68565b84511115610ad957604051630a56acd960e01b815260040160405180910390fd5b5f610ae2611fb2565b604051635b97aadd60e01b81526001600160a01b0386811660048301529190911690635b97aadd90602401602060405180830381865afa158015610b28573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b4c9190613b7b565b5f015190506040518061014001604052805f6001600160a01b031681526020015f6001600160a01b03168152602001856001600160a01b031681526020015f151581526020016040518060e001604052805f151581526020015f151581526020015f151581526020015f151581526020015f151581526020018481526020015f81525081526020015f81526020015f81526020015f8152602001848152602001828152505f5f610bfe338b8b8b611fea565b815260208082019290925260409081015f20835181546001600160a01b03199081166001600160a01b039283161783558585015160018401805490921690831617905584830151600283018054606080890151939094166001600160a81b031990911617600160a01b9215159290920291909117905560808086015180516003850180549783015196830151948301519383015161ffff1990981691151561ff0019169190911761010096151587021763ffff00001916620100009415159490940263ff0000001916939093176301000000921515929092029190911764ff0000000019166401000000009515159590950294909417905560a080840151600483015560c0938401516005830155840151600682015591830151600783015560e08301516008830155820151600982015561012090910151600a909101558215610d5757610d576001600160a01b038516333086612022565b336001600160a01b03167ff1679315ff325c257a944e0ca1bfe7b26616039e9511f9610d4ba3eca851027b888888888887604051610d9a96959493929190613bbc565b60405180910390a2610dad816002613c01565b915050610db8612089565b95945050505050565b610dc9611d8a565b610dd1611dad565b6001610ddf33858585611db9565b6006811115610df057610df0613a6f565b14610e0e57604051633a4e124d60e11b815260040160405180910390fd5b5f610e1b33858585612098565b600301805461ffff191661010117905550610e34612089565b505050565b5f9081525f516020613e705f395f51905f52602052604090206001015490565b81610e7757604051631fe1e13d60e11b815260040160405180910390fd5b610e8182826120be565b5050565b5f516020613e505f395f51905f5282158015610eb95750610ea461165c565b6001600160a01b0316826001600160a01b0316145b15610f3d575f5f610ec8611c25565b90925090506001600160a01b038216151580610eea575065ffffffffffff8116155b80610efd57504265ffffffffffff821610155b15610f2a576040516319ca5ebb60e01b815265ffffffffffff821660048201526024015b60405180910390fd5b5050805465ffffffffffff60a01b191681555b610e3483836120da565b610f4f611d8a565b610f57611dad565b6001610f6533868686611db9565b6006811115610f7657610f76613a6f565b14610f9457604051633a4e124d60e11b815260040160405180910390fd5b610f9d8161210d565b80610faa33868686612098565b60050155610fb6612089565b50505050565b610fc96035612000613b68565b81565b610fd4612151565b610fdd826121f5565b610e8182826121fe565b5f610ff06122ba565b505f516020613e305f395f51905f5290565b5f61100b611d8a565b611013611dad565b600661102133868686611db9565b600681111561103257611032613a6f565b146110455761104333858585612303565b505b61105133858585612098565b60070154905061105f612089565b9392505050565b5f61106f611d8a565b611077611dad565b61108385858585612303565b905061108d612089565b949350505050565b5f61109f81611d74565b610e81826125fc565b5f6110b281611d74565b610e818261266e565b5f6110c4611d8a565b6110cc611dad565b6001600160a01b0386166110f35760405163bef5ceeb60e01b815260040160405180910390fd5b600261110186868686611db9565b600681111561111257611112613a6f565b1461113057604051631bc1990760e31b815260040160405180910390fd5b5f61113d86868686612098565b6001810180546001600160a01b0319166001600160a01b038a16179055600a8101546004820154919250906111728282613c18565b93508315611194576002830154611194906001600160a01b0316333087612022565b5f61119d611fb2565b90505f6111a9856126dd565b6111b39085613c18565b9050801561124b5760028501546111d4906001600160a01b031683836126f0565b6111dc611fb2565b600286015460408051602081018252848152905163432ce91960e11b81526001600160a01b03928316600482015290516024820152911690638659d232906044015f604051808303815f87803b158015611234575f5ffd5b505af1158015611246573d5f5f3e3d5ffd5b505050505b611253612777565b6001600160a01b031663216666a48a61126c888c6127b0565b6112768b8f6127fb565b6040518463ffffffff1660e01b815260040161129493929190613c2b565b5f604051808303815f87803b1580156112ab575f5ffd5b505af11580156112bd573d5f5f3e3d5ffd5b50505060098601545f9150158015906112df57506003860154610100900460ff165b1561130857506009850180545f9091556002860154611308906001600160a01b03168c8361282b565b8b6001600160a01b0316865f015f9054906101000a90046001600160a01b03166001600160a01b03168c6001600160a01b03167f5165909c3d1c01c5d1e121ac6f6d01dda1ba24bc9e1f975b5a375339c15be7f38d8d8d8c600601546040516113749493929190613c49565b60405180910390a4611384612089565b6001600160a01b038b163b151580156113a8575060038601546301000000900460ff165b1561140d576040516306c791b960e11b81526001600160a01b038c1690630d8f2372906113df908d908d908d908790600401613c49565b5f604051808303815f87803b1580156113f6575f5ffd5b505af1158015611408573d5f5f3e3d5ffd5b505050505b611415611dad565b505050505050610db8612089565b5f61142c611d8a565b611434611dad565b6001600160a01b03871661145b5760405163062a0f5b60e21b815260040160405180910390fd5b600161146987878787611db9565b600681111561147a5761147a613a6f565b1461149857604051633a4e124d60e11b815260040160405180910390fd5b5f6114a587878787612098565b600381015490915060ff16156114d957600160ff1b83036114d95760405163cad802eb60e01b815260040160405180910390fd5b80546001600160a01b0319166001600160a01b0389161781556006810183905560058101545f0361150c57606554611512565b60058101545b61151c9042613c18565b6008820155600a81015460048201546115359190613c18565b91508115611557576002810154611557906001600160a01b0316333085612022565b600881015460028201546040516001600160a01b038b8116938b8216937f6e51dd00371aabffa82cd401592f76ed51e98a9ea4b58751c70463a2c78b5ca1936115ab938d938d938d938d9390911690613c78565b60405180910390a36115bb612089565b6001600160a01b0387163b151580156115de5750600381015462010000900460ff165b1561164157604051639c2fd1df60e01b81526001600160a01b03881690639c2fd1df9061161390899089908990600401613c2b565b5f604051808303815f87803b15801561162a575f5ffd5b505af115801561163c573d5f5f3e3d5ffd5b505050505b611649611dad565b50611652612089565b9695505050505050565b5f516020613e905f395f51905f52546001600160a01b031690565b5f61168061165c565b905090565b5f9182525f516020613e705f395f51905f52602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6116c3611d8a565b6116cb611dad565b60016116d933858585611db9565b60068111156116ea576116ea613a6f565b1461170857604051633a4e124d60e11b815260040160405180910390fd5b600161171633858585612098565b60030180549115156101000261ff0019909216919091179055610e34612089565b5f516020613e905f395f51905f52545f90600160d01b900465ffffffffffff165f516020613e505f395f51905f52811580159061177c57504265ffffffffffff831610155b611787575f5f61179d565b6001810154600160a01b900465ffffffffffff16825b92509250509091565b61182c60408051610140810182525f80825260208083018290528284018290526060808401839052845160e081018652838152918201839052938101829052928301819052608083810182905260a0840182905260c084019190915290919082019081526020015f81526020015f81526020015f81526020015f81526020015f81525090565b611834611d8a565b61184085858585612098565b604080516101408101825282546001600160a01b0390811682526001840154811660208084019190915260028501549182168385015260ff600160a01b90920482161515606080850191909152845160e08082018752600388015480861615158352610100808204871615159584019590955262010000810486161515978301979097526301000000870485161515928201929092526401000000009095049092161515608085810191909152600486015460a080870191909152600587015460c08088019190915291850195909552600686015494840194909452600785015493830193909352600884015490820152600983015491810191909152600a909101546101208201529050949350505050565b5f61195c611d8a565b611964611dad565b600161197233878787611db9565b600681111561198357611983613a6f565b146119a157604051633a4e124d60e11b815260040160405180910390fd5b5f6119ae33878787612098565b60048101849055600a8101549091506119c79084613c18565b91505061108d612089565b606061105f83836127fb565b5f6119e761285c565b805490915060ff600160401b82041615906001600160401b03165f81158015611a0d5750825b90505f826001600160401b03166001148015611a285750303b155b905081158015611a36575080155b15611a545760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611a7e57845460ff60401b1916600160401b1785555b611a89888888612884565b8315611acf57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b5f611652338787878787611423565b5f611af1611d8a565b610db885858585611db9565b5f611b06611d8a565b5f611b1386868686611db9565b90506006816006811115611b2957611b29613a6f565b1480611b4657506005816006811115611b4457611b44613a6f565b145b8061165257506003816006811115611b6057611b60613a6f565b149695505050505050565b5f516020613e905f395f51905f52545f905f516020613e505f395f51905f5290600160d01b900465ffffffffffff168015801590611bb057504265ffffffffffff8216105b611bca578154600160d01b900465ffffffffffff16611bdf565b6001820154600160a01b900465ffffffffffff165b9250505090565b5f611bef611c25565b509050336001600160a01b03821614611c1d57604051636116401160e11b8152336004820152602401610f21565b61091a6128b3565b5f516020613e505f395f51905f52546001600160a01b03811691600160a01b90910465ffffffffffff1690565b81611c7057604051631fe1e13d60e11b815260040160405180910390fd5b610e81828261294c565b5f611c8481611d74565b61091a612968565b611c94611d8a565b611c9c611dad565b6001611caa33888888611db9565b6006811115611cbb57611cbb613a6f565b14611cd957604051633a4e124d60e11b815260040160405180910390fd5b5f611ce633888888612098565b600301805463ffff00001916620100008615150263ff0000001916176301000000851515021764ff0000000019166401000000008415150217905550611d2a612089565b505050505050565b5f610db833868686866110bb565b5f6001600160e01b03198216637965db0b60e01b148061090257506301ffc9a760e01b6001600160e01b0319831614610902565b61091a8133612972565b611d885f5f6129ab565b565b60325460ff16611d8857604051633ee5aeb560e01b815260040160405180910390fd5b6032805460ff19169055565b5f5f611dc786868686612098565b60028101549091506001600160a01b0316611de5575f91505061108d565b80546001600160a01b0316611dfe57600191505061108d565b6002810154600160a01b900460ff1615611e1c57600691505061108d565b60018101546001600160a01b0316611e4c574281600801541115611e41576002611e44565b60035b91505061108d565b611e54612777565b6001600160a01b031663b551cd5086611e6d84886127b0565b611e77878b6127fb565b6040518463ffffffff1660e01b8152600401611e9593929190613c2b565b602060405180830381865afa158015611eb0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ed49190613b39565b611edf576004611652565b50600595945050505050565b6064546040516302abf57960e61b8152721259195b9d1a599a595c95da1a5d195b1a5cdd606a1b60048201525f916001600160a01b03169063aafd5e40906024015b602060405180830381865afa158015611f48573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116809190613cbd565b6064546040516302abf57960e61b81527210dbdb1b185d195c985b15da1a5d195b1a5cdd606a1b60048201525f916001600160a01b03169063aafd5e4090602401611f2d565b6064546040516302abf57960e61b81526453746f726560d81b60048201525f916001600160a01b03169063aafd5e4090602401611f2d565b5f848484846040516020016120029493929190613cef565b604051602081830303815290604052805190602001209050949350505050565b6040516001600160a01b038481166024830152838116604483015260648201839052610fb69186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612a83565b6032805460ff19166001179055565b5f5f5f6120a787878787611fea565b81526020019081526020015f209050949350505050565b6120c782610e39565b6120d081611d74565b610fb68383612aef565b6001600160a01b03811633146121035760405163334bd91960e11b815260040160405180910390fd5b610e348282612b5b565b63bb74480081106121315760405163cb40339f60e01b815260040160405180910390fd5b5f811161091a5760405163fa050ec160e01b815260040160405180910390fd5b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806121d757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166121cb5f516020613e305f395f51905f52546001600160a01b031690565b6001600160a01b031614155b15611d885760405163703e46dd60e11b815260040160405180910390fd5b61091a5f611d74565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612258575060408051601f3d908101601f1916820190925261225591810190613d1e565b60015b61228057604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610f21565b5f516020613e305f395f51905f5281146122b057604051632a87526960e21b815260048101829052602401610f21565b610e348383612bb2565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611d885760405163703e46dd60e11b815260040160405180910390fd5b5f5f61231186868686611db9565b90505f61232087878787612098565b60028101805460ff60a01b1916600160a01b1790559050600382600681111561234b5761234b613a6f565b036123a357600681015460078201556009810154600a82015460048301546123739190613c18565b61237d9190613c18565b8154600283015491945061239e916001600160a01b0390811691168561282b565b6124f8565b60058260068111156123b7576123b7613a6f565b036124df576123c4612777565b6001600160a01b031663719c6d56876123dd84896127b0565b6123e7888c6127fb565b6040518463ffffffff1660e01b815260040161240593929190613c2b565b602060405180830381865afa158015612420573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124449190613d1e565b6007820181905560068201546004830154911415905f612463846126dd565b61246d9083613b68565b9050836009015484600a015482846124859190613c18565b61248f9190613c18565b6124999190613c18565b95506124d7836124b35784546001600160a01b03166124c2565b60018501546001600160a01b03165b60028601546001600160a01b0316908861282b565b5050506124f8565b604051639c71cb8360e01b815260040160405180910390fd5b6001810154815460078301546040516001600160a01b0393841693928316928b16917f3f384afb4bd9f0aef0298c80399950011420eb33b0e1a750b20966270247b9a09161254d918c918c918c918c90613d35565b60405180910390a461255d612089565b6001600160a01b0387163b1515801561258257506003810154640100000000900460ff165b156125ea5760078101546040516304cc1fd560e01b81526001600160a01b038916916304cc1fd5916125bc918a918a918a91600401613c49565b5f604051808303815f87803b1580156125d3575f5ffd5b505af11580156125e5573d5f5f3e3d5ffd5b505050505b6125f2611dad565b5050949350505050565b5f612605611b6b565b61260e42612c07565b6126189190613d67565b90506126248282612c3d565b60405165ffffffffffff821681526001600160a01b038316907f3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed69060200160405180910390a25050565b5f61267882612cc7565b61268142612c07565b61268b9190613d67565b905061269782826129ab565b6040805165ffffffffffff8085168252831660208201527ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b910160405180910390a15050565b60048101545f9061090290600290613d99565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301525f919085169063dd62ed3e90604401602060405180830381865afa15801561273d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127619190613d1e565b9050610fb684846127728585613c18565b612d0e565b6064546040516302abf57960e61b8152654f7261636c6560d01b60048201525f916001600160a01b03169063aafd5e4090602401611f2d565b60038201545f9060ff16156127f45760058301545f9081036127d4576065546127da565b60058401545b90508084600801546127ec9190613b68565b915050610902565b5080610902565b606061105f836040518060400160405280600b81526020016a37b7a932b8bab2b9ba32b960a91b81525084612d9d565b6040516001600160a01b03838116602483015260448201839052610e3491859182169063a9059cbb90606401612057565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610902565b61288c612de2565b612894612e07565b6128a16203f48082612e0f565b6128a9612e21565b610e348383612e29565b5f516020613e505f395f51905f525f806128cb611c25565b915091506128e08165ffffffffffff16151590565b15806128f457504265ffffffffffff821610155b1561291c576040516319ca5ebb60e01b815265ffffffffffff82166004820152602401610f21565b61292d5f61292861165c565b612b5b565b506129385f83612aef565b505081546001600160d01b03191690915550565b61295582610e39565b61295e81611d74565b610fb68383612b5b565b611d885f5f612c3d565b61297c8282611685565b610e815760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401610f21565b5f516020613e905f395f51905f52545f516020613e505f395f51905f5290600160d01b900465ffffffffffff168015612a45574265ffffffffffff82161015612a1c57600182015482546001600160d01b0316600160a01b90910465ffffffffffff16600160d01b02178255612a45565b6040517f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5905f90a15b5060010180546001600160a01b0316600160a01b65ffffffffffff948516026001600160d01b031617600160d01b9290931691909102919091179055565b5f5f60205f8451602086015f885af180612aa2576040513d5f823e3d81fd5b50505f513d91508115612ab9578060011415612ac6565b6001600160a01b0384163b155b15610fb657604051635274afe760e01b81526001600160a01b0385166004820152602401610f21565b5f5f516020613e505f395f51905f5283612b51575f612b0c61165c565b6001600160a01b031614612b3357604051631fe1e13d60e11b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0385161790555b61108d8484612e5b565b5f5f516020613e505f395f51905f5283158015612b905750612b7b61165c565b6001600160a01b0316836001600160a01b0316145b15612ba8576001810180546001600160a01b03191690555b61108d8484612efc565b612bbb82612f75565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115612bff57610e348282612fd8565b610e81613041565b5f65ffffffffffff821115612c39576040516306dfcc6560e41b81526030600482015260248101839052604401610f21565b5090565b5f516020613e505f395f51905f525f612c54611c25565b835465ffffffffffff8616600160a01b026001600160d01b03199091166001600160a01b038816171784559150612c9490508165ffffffffffff16151590565b15610fb6576040517f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109905f90a150505050565b5f5f612cd1611b6b565b90508065ffffffffffff168365ffffffffffff1611612cf957612cf48382613db8565b61105f565b61105f65ffffffffffff841662069780613060565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612d5f848261306f565b610fb6576040516001600160a01b0384811660248301525f6044830152612d9391869182169063095ea7b390606401612057565b610fb68482612a83565b60605f612daa85856130b4565b90508481612db7856130f6565b604051602001612dc993929190613dd6565b6040516020818303038152906040529150509392505050565b612dea613163565b611d8857604051631afcd79f60e31b815260040160405180910390fd5b611d88612de2565b612e17612de2565b610e81828261317c565b612089612de2565b612e31612de2565b606480546001600160a01b0319166001600160a01b038316179055612e558261210d565b50606555565b5f5f516020613e705f395f51905f52612e748484611685565b612ef3575f848152602082815260408083206001600160a01b03871684529091529020805460ff19166001179055612ea93390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610902565b5f915050610902565b5f5f516020613e705f395f51905f52612f158484611685565b15612ef3575f848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610902565b806001600160a01b03163b5f03612faa57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610f21565b5f516020613e305f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b031684604051612ff49190613df3565b5f60405180830381855af49150503d805f811461302c576040519150601f19603f3d011682016040523d82523d5f602084013e613031565b606091505b5091509150610db88583836131e2565b3415611d885760405163b398979f60e01b815260040160405180910390fd5b5f82821882841002821861105f565b5f5f5f5f60205f8651602088015f8a5af192503d91505f519050828015611652575081156130a05780600114611652565b50505050506001600160a01b03163b151590565b8151606090156130e557816040516020016130cf9190613dfe565b6040516020818303038152906040529050610902565b816040516020016130cf9190613e24565b606061310e6001600160801b03602084901c16613239565b6131298360601b6bffffffffffffffffffffffff1916613239565b60405160200161314d9291909182526001600160c01b031916602082015260280190565b6040516020818303038152906040529050919050565b5f61316c61285c565b54600160401b900460ff16919050565b613184612de2565b5f516020613e505f395f51905f526001600160a01b0382166131bb57604051636116401160e11b81525f6004820152602401610f21565b80546001600160d01b0316600160d01b65ffffffffffff851602178155610fb65f83612aef565b6060826131f257612cf4826133ca565b815115801561320957506001600160a01b0384163b155b1561323257604051639996b31560e01b81526001600160a01b0385166004820152602401610f21565b508061105f565b5f5f825f1c9050806001600160801b0316905080600160401b02811777ffffffffffffffff0000000000000000ffffffffffffffff169050806401000000000281177bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16905080620100000281177dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff169050806101000281177eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff1690508060100281177f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f1690505f6008827f0808080808080808080808080808080808080808080808080808080808080808168161334c5761334c613d85565b0460047f040404040404040404040404040404040404040404040404040404040404040484160460027f020202020202020202020202020202020202020202020202020202020202020285160417166027029091017f3030303030303030303030303030303030303030303030303030303030303030019392505050565b8051156133d957805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b5f60208284031215613402575f5ffd5b81356001600160e01b03198116811461105f575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011261343c575f5ffd5b81356001600160401b0381111561345557613455613419565b604051601f8201601f19908116603f011681016001600160401b038111828210171561348357613483613419565b60405281815283820160200185101561349a575f5ffd5b816020850160208301375f918101602001919091529392505050565b6001600160a01b038116811461091a575f5ffd5b5f5f5f5f5f60a086880312156134de575f5ffd5b853594506020860135935060408601356001600160401b03811115613501575f5ffd5b61350d8882890161342d565b935050606086013561351e816134b6565b949793965091946080013592915050565b5f5f5f60608486031215613541575f5ffd5b833592506020840135915060408401356001600160401b03811115613564575f5ffd5b6135708682870161342d565b9150509250925092565b5f6020828403121561358a575f5ffd5b5035919050565b5f5f604083850312156135a2575f5ffd5b8235915060208301356135b4816134b6565b809150509250929050565b5f5f5f5f608085870312156135d2575f5ffd5b843593506020850135925060408501356001600160401b038111156135f5575f5ffd5b6136018782880161342d565b949793965093946060013593505050565b5f5f60408385031215613623575f5ffd5b823561362e816134b6565b915060208301356001600160401b03811115613648575f5ffd5b6136548582860161342d565b9150509250929050565b5f5f5f5f60808587031215613671575f5ffd5b843561367c816134b6565b9350602085013592506040850135915060608501356001600160401b038111156136a4575f5ffd5b6136b08782880161342d565b91505092959194509250565b5f602082840312156136cc575f5ffd5b813561105f816134b6565b5f602082840312156136e7575f5ffd5b813565ffffffffffff8116811461105f575f5ffd5b5f5f5f5f5f60a08688031215613710575f5ffd5b853561371b816134b6565b9450602086013561372b816134b6565b9350604086013592506060860135915060808601356001600160401b03811115613753575f5ffd5b61375f8882890161342d565b9150509295509295909350565b5f5f5f5f5f5f60c08789031215613781575f5ffd5b863561378c816134b6565b9550602087013561379c816134b6565b9450604087013593506060870135925060808701356001600160401b038111156137c4575f5ffd5b6137d089828a0161342d565b9699959850939692959460a09093013593505050565b80511515825260208101511515602083015260408101511515604083015260608101511515606083015260808101511515608083015260a081015160a083015260c081015160c08301525050565b6001600160a01b038b811682528a81166020830152891660408201528715156060820152610200810161386a60808301896137e6565b6101608201969096526101808101949094526101a08401929092526101c08301526101e09091015295945050505050565b81516001600160a01b03168152610200810160208301516138c760208401826001600160a01b03169052565b5060408301516138e260408401826001600160a01b03169052565b5060608301516138f6606084018215159052565b50608083015161390960808401826137e6565b5060a083015161016083015260c083015161018083015260e08301516101a08301526101008301516101c0830152610120909201516101e09091015290565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61105f6020830184613948565b5f5f60408385031215613999575f5ffd5b82356001600160401b038111156139ae575f5ffd5b6139ba8582860161342d565b92505060208301356135b4816134b6565b5f5f5f606084860312156139dd575f5ffd5b8335925060208401356139ef816134b6565b915060408401356139ff816134b6565b809150509250925092565b5f5f5f5f5f60a08688031215613a1e575f5ffd5b8535613a29816134b6565b9450602086013593506040860135925060608601356001600160401b03811115613a51575f5ffd5b613a5d8882890161342d565b95989497509295608001359392505050565b634e487b7160e01b5f52602160045260245ffd5b6020810160078310613aa357634e487b7160e01b5f52602160045260245ffd5b91905290565b801515811461091a575f5ffd5b5f5f5f5f5f5f60c08789031215613acb575f5ffd5b863595506020870135945060408701356001600160401b03811115613aee575f5ffd5b613afa89828a0161342d565b9450506060870135613b0b81613aa9565b92506080870135613b1b81613aa9565b915060a0870135613b2b81613aa9565b809150509295509295509295565b5f60208284031215613b49575f5ffd5b815161105f81613aa9565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090257610902613b54565b5f6020828403128015613b8c575f5ffd5b50604051602081016001600160401b0381118282101715613baf57613baf613419565b6040529151825250919050565b86815285602082015260c060408201525f613bda60c0830187613948565b6001600160a01b0395909516606083015250608081019290925260a0909101529392505050565b808202811582820484141761090257610902613b54565b8082018082111561090257610902613b54565b838152826020820152606060408201525f610db86060830184613948565b848152836020820152608060408201525f613c676080830185613948565b905082606083015295945050505050565b86815285602082015260c060408201525f613c9660c0830187613948565b60608301959095525060808101929092526001600160a01b031660a0909101529392505050565b5f60208284031215613ccd575f5ffd5b815161105f816134b6565b5f81518060208401855e5f93019283525090919050565b6bffffffffffffffffffffffff198560601b1681528360148201528260348201525f6116526054830184613cd8565b5f60208284031215613d2e575f5ffd5b5051919050565b85815284602082015260a060408201525f613d5360a0830186613948565b606083019490945250608001529392505050565b65ffffffffffff818116838216019081111561090257610902613b54565b634e487b7160e01b5f52601260045260245ffd5b5f82613db357634e487b7160e01b5f52601260045260245ffd5b500490565b65ffffffffffff828116828216039081111561090257610902613b54565b5f610db8613ded613de78488613cd8565b86613cd8565b84613cd8565b5f61105f8284613cd8565b600b60fa1b81525f613e136001830184613cd8565b601d60f91b81526001019392505050565b5f613e138284613cd856fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbceef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d869840002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800eef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698401a264697066735822122084abf5fd074f4fe985616476d20dc12606dba4c91b93fbd23ca57cf37b96dd0064736f6c634300081e0033","sourceMap":"3715:31235:97:-:0;;;1171:4:23;1128:48;;4614:53:97;;;;;;;;;-1:-1:-1;4638:22:97;:20;:22::i;:::-;3715:31235;;7709:422:22;3147:66;7898:15;;;;;;;7894:76;;;7936:23;;-1:-1:-1;;;7936:23:22;;;;;;;;;;;7894:76;7983:14;;-1:-1:-1;;;;;7983:14:22;;;:34;7979:146;;8033:33;;-1:-1:-1;;;;;;8033:33:22;-1:-1:-1;;;;;8033:33:22;;;;;8085:29;;158:50:102;;;8085:29:22;;146:2:102;131:18;8085:29:22;;;;;;;7979:146;7758:373;7709:422::o;14:200:102:-;3715:31235:97;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405260043610610275575f3560e01c806391f58dcb1161014a578063ba4b930c116100be578063d547741f11610078578063d547741f14610841578063d602b9fd14610860578063f327b07514610874578063fba7f1e314610893578063fe4e1983146108b2578063ff8c1a8c146108c7575f5ffd5b8063ba4b930c1461077f578063bc58ccaa146107ab578063c371dda7146107ca578063cc8463c8146107df578063cefc1429146107f3578063cf6eefb714610807575f5ffd5b8063ad3cb1cc1161010f578063ad3cb1cc146106a7578063ad5a755a146106e4578063af5d2f3914610703578063b4988fd014610722578063b8b4f90814610741578063b9a3c84c14610760575f5ffd5b806391f58dcb1461052c5780639d8669851461054b578063a1eda53c14610648578063a217fddf146104fa578063a9904f9b1461067b575f5ffd5b80634f1ef286116101ec57806376c7823f116101a657806376c7823f1461047c5780637c82288f1461049b57806384ef8ffc146104ba5780638da5cb5b146104e65780638ffc2120146104fa57806391d148541461050d575f5ffd5b80634f1ef286146103d957806352d1902d146103ec57806353b59239146104005780635e9a79a91461041f578063634e93da1461043e578063649a5ec71461045d575f5ffd5b8063248a9ca31161023d578063248a9ca31461033757806329cb924d146103565780632f2ff15d1461036857806336568abe14610387578063473c45fe146103a65780634ccb56f5146103c5575f5ffd5b806301ffc9a714610279578063022d63fb146102ad5780630aa6220b146102d557806311df92f1146102eb578063120698af14610318575b5f5ffd5b348015610284575f5ffd5b506102986102933660046133f2565b6108de565b60405190151581526020015b60405180910390f35b3480156102b8575f5ffd5b50620697805b60405165ffffffffffff90911681526020016102a4565b3480156102e0575f5ffd5b506102e9610908565b005b3480156102f6575f5ffd5b5061030a6103053660046134ca565b61091d565b6040519081526020016102a4565b348015610323575f5ffd5b506102e961033236600461352f565b610dc1565b348015610342575f5ffd5b5061030a61035136600461357a565b610e39565b348015610361575f5ffd5b504261030a565b348015610373575f5ffd5b506102e9610382366004613591565b610e59565b348015610392575f5ffd5b506102e96103a1366004613591565b610e85565b3480156103b1575f5ffd5b506102e96103c03660046135bf565b610f47565b3480156103d0575f5ffd5b5061030a610fbc565b6102e96103e7366004613612565b610fcc565b3480156103f7575f5ffd5b5061030a610fe7565b34801561040b575f5ffd5b5061030a61041a36600461352f565b611002565b34801561042a575f5ffd5b5061030a61043936600461365e565b611066565b348015610449575f5ffd5b506102e96104583660046136bc565b611095565b348015610468575f5ffd5b506102e96104773660046136d7565b6110a8565b348015610487575f5ffd5b5061030a6104963660046136fc565b6110bb565b3480156104a6575f5ffd5b5061030a6104b536600461376c565b611423565b3480156104c5575f5ffd5b506104ce61165c565b6040516001600160a01b0390911681526020016102a4565b3480156104f1575f5ffd5b506104ce611677565b348015610505575f5ffd5b5061030a5f81565b348015610518575f5ffd5b50610298610527366004613591565b611685565b348015610537575f5ffd5b506102e961054636600461352f565b6116bb565b348015610556575f5ffd5b5061063261056536600461357a565b5f6020818152918152604090819020805460018201546002830154845160e081018652600385015460ff8082161515835261010082048116151598830198909852620100008104881615159682019690965263010000008604871615156060820152640100000000909504861615156080860152600484015460a0860152600584015460c08601526006840154600785015460088601546009870154600a909701546001600160a01b03968716999587169896851697600160a01b9095049095169594929391929091908a565b6040516102a49a99989796959493929190613834565b348015610653575f5ffd5b5061065c611737565b6040805165ffffffffffff9384168152929091166020830152016102a4565b348015610686575f5ffd5b5061069a61069536600461365e565b6117a6565b6040516102a4919061389b565b3480156106b2575f5ffd5b506106d7604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516102a49190613976565b3480156106ef575f5ffd5b5061030a6106fe3660046135bf565b611953565b34801561070e575f5ffd5b506106d761071d366004613988565b6119d2565b34801561072d575f5ffd5b506102e961073c3660046139cb565b6119de565b34801561074c575f5ffd5b5061030a61075b366004613a0a565b611ad9565b34801561076b575f5ffd5b506064546104ce906001600160a01b031681565b34801561078a575f5ffd5b5061079e61079936600461365e565b611ae8565b6040516102a49190613a83565b3480156107b6575f5ffd5b506102986107c536600461365e565b611afd565b3480156107d5575f5ffd5b5061030a61200081565b3480156107ea575f5ffd5b506102be611b6b565b3480156107fe575f5ffd5b506102e9611be6565b348015610812575f5ffd5b5061081b611c25565b604080516001600160a01b03909316835265ffffffffffff9091166020830152016102a4565b34801561084c575f5ffd5b506102e961085b366004613591565b611c52565b34801561086b575f5ffd5b506102e9611c7a565b34801561087f575f5ffd5b506102e961088e366004613ab6565b611c8c565b34801561089e575f5ffd5b5061030a6108ad36600461365e565b611d32565b3480156108bd575f5ffd5b5061030a60655481565b3480156108d2575f5ffd5b5061030a600160ff1b81565b5f6001600160e01b031982166318a4c3c360e11b1480610902575061090282611d40565b92915050565b5f61091281611d74565b61091a611d7e565b50565b5f610926611d8a565b61092e611dad565b5f61093b33888888611db9565b600681111561094c5761094c613a6f565b1461096a5760405163f757fcff60e01b815260040160405180910390fd5b610972611eeb565b6001600160a01b03166390978d1b876040518263ffffffff1660e01b815260040161099f91815260200190565b602060405180830381865afa1580156109ba573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109de9190613b39565b6109fb576040516356175d8f60e01b815260040160405180910390fd5b610a03611f6c565b604051631d1d5b3960e11b81526001600160a01b0385811660048301529190911690633a3ab67290602401602060405180830381865afa158015610a49573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a6d9190613b39565b610a8a57604051631131fa7160e11b815260040160405180910390fd5b42851115610aab576040516347860b9760e01b815260040160405180910390fd5b610ab86035612000613b68565b84511115610ad957604051630a56acd960e01b815260040160405180910390fd5b5f610ae2611fb2565b604051635b97aadd60e01b81526001600160a01b0386811660048301529190911690635b97aadd90602401602060405180830381865afa158015610b28573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b4c9190613b7b565b5f015190506040518061014001604052805f6001600160a01b031681526020015f6001600160a01b03168152602001856001600160a01b031681526020015f151581526020016040518060e001604052805f151581526020015f151581526020015f151581526020015f151581526020015f151581526020018481526020015f81525081526020015f81526020015f81526020015f8152602001848152602001828152505f5f610bfe338b8b8b611fea565b815260208082019290925260409081015f20835181546001600160a01b03199081166001600160a01b039283161783558585015160018401805490921690831617905584830151600283018054606080890151939094166001600160a81b031990911617600160a01b9215159290920291909117905560808086015180516003850180549783015196830151948301519383015161ffff1990981691151561ff0019169190911761010096151587021763ffff00001916620100009415159490940263ff0000001916939093176301000000921515929092029190911764ff0000000019166401000000009515159590950294909417905560a080840151600483015560c0938401516005830155840151600682015591830151600783015560e08301516008830155820151600982015561012090910151600a909101558215610d5757610d576001600160a01b038516333086612022565b336001600160a01b03167ff1679315ff325c257a944e0ca1bfe7b26616039e9511f9610d4ba3eca851027b888888888887604051610d9a96959493929190613bbc565b60405180910390a2610dad816002613c01565b915050610db8612089565b95945050505050565b610dc9611d8a565b610dd1611dad565b6001610ddf33858585611db9565b6006811115610df057610df0613a6f565b14610e0e57604051633a4e124d60e11b815260040160405180910390fd5b5f610e1b33858585612098565b600301805461ffff191661010117905550610e34612089565b505050565b5f9081525f516020613e705f395f51905f52602052604090206001015490565b81610e7757604051631fe1e13d60e11b815260040160405180910390fd5b610e8182826120be565b5050565b5f516020613e505f395f51905f5282158015610eb95750610ea461165c565b6001600160a01b0316826001600160a01b0316145b15610f3d575f5f610ec8611c25565b90925090506001600160a01b038216151580610eea575065ffffffffffff8116155b80610efd57504265ffffffffffff821610155b15610f2a576040516319ca5ebb60e01b815265ffffffffffff821660048201526024015b60405180910390fd5b5050805465ffffffffffff60a01b191681555b610e3483836120da565b610f4f611d8a565b610f57611dad565b6001610f6533868686611db9565b6006811115610f7657610f76613a6f565b14610f9457604051633a4e124d60e11b815260040160405180910390fd5b610f9d8161210d565b80610faa33868686612098565b60050155610fb6612089565b50505050565b610fc96035612000613b68565b81565b610fd4612151565b610fdd826121f5565b610e8182826121fe565b5f610ff06122ba565b505f516020613e305f395f51905f5290565b5f61100b611d8a565b611013611dad565b600661102133868686611db9565b600681111561103257611032613a6f565b146110455761104333858585612303565b505b61105133858585612098565b60070154905061105f612089565b9392505050565b5f61106f611d8a565b611077611dad565b61108385858585612303565b905061108d612089565b949350505050565b5f61109f81611d74565b610e81826125fc565b5f6110b281611d74565b610e818261266e565b5f6110c4611d8a565b6110cc611dad565b6001600160a01b0386166110f35760405163bef5ceeb60e01b815260040160405180910390fd5b600261110186868686611db9565b600681111561111257611112613a6f565b1461113057604051631bc1990760e31b815260040160405180910390fd5b5f61113d86868686612098565b6001810180546001600160a01b0319166001600160a01b038a16179055600a8101546004820154919250906111728282613c18565b93508315611194576002830154611194906001600160a01b0316333087612022565b5f61119d611fb2565b90505f6111a9856126dd565b6111b39085613c18565b9050801561124b5760028501546111d4906001600160a01b031683836126f0565b6111dc611fb2565b600286015460408051602081018252848152905163432ce91960e11b81526001600160a01b03928316600482015290516024820152911690638659d232906044015f604051808303815f87803b158015611234575f5ffd5b505af1158015611246573d5f5f3e3d5ffd5b505050505b611253612777565b6001600160a01b031663216666a48a61126c888c6127b0565b6112768b8f6127fb565b6040518463ffffffff1660e01b815260040161129493929190613c2b565b5f604051808303815f87803b1580156112ab575f5ffd5b505af11580156112bd573d5f5f3e3d5ffd5b50505060098601545f9150158015906112df57506003860154610100900460ff165b1561130857506009850180545f9091556002860154611308906001600160a01b03168c8361282b565b8b6001600160a01b0316865f015f9054906101000a90046001600160a01b03166001600160a01b03168c6001600160a01b03167f5165909c3d1c01c5d1e121ac6f6d01dda1ba24bc9e1f975b5a375339c15be7f38d8d8d8c600601546040516113749493929190613c49565b60405180910390a4611384612089565b6001600160a01b038b163b151580156113a8575060038601546301000000900460ff165b1561140d576040516306c791b960e11b81526001600160a01b038c1690630d8f2372906113df908d908d908d908790600401613c49565b5f604051808303815f87803b1580156113f6575f5ffd5b505af1158015611408573d5f5f3e3d5ffd5b505050505b611415611dad565b505050505050610db8612089565b5f61142c611d8a565b611434611dad565b6001600160a01b03871661145b5760405163062a0f5b60e21b815260040160405180910390fd5b600161146987878787611db9565b600681111561147a5761147a613a6f565b1461149857604051633a4e124d60e11b815260040160405180910390fd5b5f6114a587878787612098565b600381015490915060ff16156114d957600160ff1b83036114d95760405163cad802eb60e01b815260040160405180910390fd5b80546001600160a01b0319166001600160a01b0389161781556006810183905560058101545f0361150c57606554611512565b60058101545b61151c9042613c18565b6008820155600a81015460048201546115359190613c18565b91508115611557576002810154611557906001600160a01b0316333085612022565b600881015460028201546040516001600160a01b038b8116938b8216937f6e51dd00371aabffa82cd401592f76ed51e98a9ea4b58751c70463a2c78b5ca1936115ab938d938d938d938d9390911690613c78565b60405180910390a36115bb612089565b6001600160a01b0387163b151580156115de5750600381015462010000900460ff165b1561164157604051639c2fd1df60e01b81526001600160a01b03881690639c2fd1df9061161390899089908990600401613c2b565b5f604051808303815f87803b15801561162a575f5ffd5b505af115801561163c573d5f5f3e3d5ffd5b505050505b611649611dad565b50611652612089565b9695505050505050565b5f516020613e905f395f51905f52546001600160a01b031690565b5f61168061165c565b905090565b5f9182525f516020613e705f395f51905f52602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6116c3611d8a565b6116cb611dad565b60016116d933858585611db9565b60068111156116ea576116ea613a6f565b1461170857604051633a4e124d60e11b815260040160405180910390fd5b600161171633858585612098565b60030180549115156101000261ff0019909216919091179055610e34612089565b5f516020613e905f395f51905f52545f90600160d01b900465ffffffffffff165f516020613e505f395f51905f52811580159061177c57504265ffffffffffff831610155b611787575f5f61179d565b6001810154600160a01b900465ffffffffffff16825b92509250509091565b61182c60408051610140810182525f80825260208083018290528284018290526060808401839052845160e081018652838152918201839052938101829052928301819052608083810182905260a0840182905260c084019190915290919082019081526020015f81526020015f81526020015f81526020015f81526020015f81525090565b611834611d8a565b61184085858585612098565b604080516101408101825282546001600160a01b0390811682526001840154811660208084019190915260028501549182168385015260ff600160a01b90920482161515606080850191909152845160e08082018752600388015480861615158352610100808204871615159584019590955262010000810486161515978301979097526301000000870485161515928201929092526401000000009095049092161515608085810191909152600486015460a080870191909152600587015460c08088019190915291850195909552600686015494840194909452600785015493830193909352600884015490820152600983015491810191909152600a909101546101208201529050949350505050565b5f61195c611d8a565b611964611dad565b600161197233878787611db9565b600681111561198357611983613a6f565b146119a157604051633a4e124d60e11b815260040160405180910390fd5b5f6119ae33878787612098565b60048101849055600a8101549091506119c79084613c18565b91505061108d612089565b606061105f83836127fb565b5f6119e761285c565b805490915060ff600160401b82041615906001600160401b03165f81158015611a0d5750825b90505f826001600160401b03166001148015611a285750303b155b905081158015611a36575080155b15611a545760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611a7e57845460ff60401b1916600160401b1785555b611a89888888612884565b8315611acf57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b5f611652338787878787611423565b5f611af1611d8a565b610db885858585611db9565b5f611b06611d8a565b5f611b1386868686611db9565b90506006816006811115611b2957611b29613a6f565b1480611b4657506005816006811115611b4457611b44613a6f565b145b8061165257506003816006811115611b6057611b60613a6f565b149695505050505050565b5f516020613e905f395f51905f52545f905f516020613e505f395f51905f5290600160d01b900465ffffffffffff168015801590611bb057504265ffffffffffff8216105b611bca578154600160d01b900465ffffffffffff16611bdf565b6001820154600160a01b900465ffffffffffff165b9250505090565b5f611bef611c25565b509050336001600160a01b03821614611c1d57604051636116401160e11b8152336004820152602401610f21565b61091a6128b3565b5f516020613e505f395f51905f52546001600160a01b03811691600160a01b90910465ffffffffffff1690565b81611c7057604051631fe1e13d60e11b815260040160405180910390fd5b610e81828261294c565b5f611c8481611d74565b61091a612968565b611c94611d8a565b611c9c611dad565b6001611caa33888888611db9565b6006811115611cbb57611cbb613a6f565b14611cd957604051633a4e124d60e11b815260040160405180910390fd5b5f611ce633888888612098565b600301805463ffff00001916620100008615150263ff0000001916176301000000851515021764ff0000000019166401000000008415150217905550611d2a612089565b505050505050565b5f610db833868686866110bb565b5f6001600160e01b03198216637965db0b60e01b148061090257506301ffc9a760e01b6001600160e01b0319831614610902565b61091a8133612972565b611d885f5f6129ab565b565b60325460ff16611d8857604051633ee5aeb560e01b815260040160405180910390fd5b6032805460ff19169055565b5f5f611dc786868686612098565b60028101549091506001600160a01b0316611de5575f91505061108d565b80546001600160a01b0316611dfe57600191505061108d565b6002810154600160a01b900460ff1615611e1c57600691505061108d565b60018101546001600160a01b0316611e4c574281600801541115611e41576002611e44565b60035b91505061108d565b611e54612777565b6001600160a01b031663b551cd5086611e6d84886127b0565b611e77878b6127fb565b6040518463ffffffff1660e01b8152600401611e9593929190613c2b565b602060405180830381865afa158015611eb0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ed49190613b39565b611edf576004611652565b50600595945050505050565b6064546040516302abf57960e61b8152721259195b9d1a599a595c95da1a5d195b1a5cdd606a1b60048201525f916001600160a01b03169063aafd5e40906024015b602060405180830381865afa158015611f48573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116809190613cbd565b6064546040516302abf57960e61b81527210dbdb1b185d195c985b15da1a5d195b1a5cdd606a1b60048201525f916001600160a01b03169063aafd5e4090602401611f2d565b6064546040516302abf57960e61b81526453746f726560d81b60048201525f916001600160a01b03169063aafd5e4090602401611f2d565b5f848484846040516020016120029493929190613cef565b604051602081830303815290604052805190602001209050949350505050565b6040516001600160a01b038481166024830152838116604483015260648201839052610fb69186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050612a83565b6032805460ff19166001179055565b5f5f5f6120a787878787611fea565b81526020019081526020015f209050949350505050565b6120c782610e39565b6120d081611d74565b610fb68383612aef565b6001600160a01b03811633146121035760405163334bd91960e11b815260040160405180910390fd5b610e348282612b5b565b63bb74480081106121315760405163cb40339f60e01b815260040160405180910390fd5b5f811161091a5760405163fa050ec160e01b815260040160405180910390fd5b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806121d757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166121cb5f516020613e305f395f51905f52546001600160a01b031690565b6001600160a01b031614155b15611d885760405163703e46dd60e11b815260040160405180910390fd5b61091a5f611d74565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612258575060408051601f3d908101601f1916820190925261225591810190613d1e565b60015b61228057604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610f21565b5f516020613e305f395f51905f5281146122b057604051632a87526960e21b815260048101829052602401610f21565b610e348383612bb2565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611d885760405163703e46dd60e11b815260040160405180910390fd5b5f5f61231186868686611db9565b90505f61232087878787612098565b60028101805460ff60a01b1916600160a01b1790559050600382600681111561234b5761234b613a6f565b036123a357600681015460078201556009810154600a82015460048301546123739190613c18565b61237d9190613c18565b8154600283015491945061239e916001600160a01b0390811691168561282b565b6124f8565b60058260068111156123b7576123b7613a6f565b036124df576123c4612777565b6001600160a01b031663719c6d56876123dd84896127b0565b6123e7888c6127fb565b6040518463ffffffff1660e01b815260040161240593929190613c2b565b602060405180830381865afa158015612420573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124449190613d1e565b6007820181905560068201546004830154911415905f612463846126dd565b61246d9083613b68565b9050836009015484600a015482846124859190613c18565b61248f9190613c18565b6124999190613c18565b95506124d7836124b35784546001600160a01b03166124c2565b60018501546001600160a01b03165b60028601546001600160a01b0316908861282b565b5050506124f8565b604051639c71cb8360e01b815260040160405180910390fd5b6001810154815460078301546040516001600160a01b0393841693928316928b16917f3f384afb4bd9f0aef0298c80399950011420eb33b0e1a750b20966270247b9a09161254d918c918c918c918c90613d35565b60405180910390a461255d612089565b6001600160a01b0387163b1515801561258257506003810154640100000000900460ff165b156125ea5760078101546040516304cc1fd560e01b81526001600160a01b038916916304cc1fd5916125bc918a918a918a91600401613c49565b5f604051808303815f87803b1580156125d3575f5ffd5b505af11580156125e5573d5f5f3e3d5ffd5b505050505b6125f2611dad565b5050949350505050565b5f612605611b6b565b61260e42612c07565b6126189190613d67565b90506126248282612c3d565b60405165ffffffffffff821681526001600160a01b038316907f3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed69060200160405180910390a25050565b5f61267882612cc7565b61268142612c07565b61268b9190613d67565b905061269782826129ab565b6040805165ffffffffffff8085168252831660208201527ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b910160405180910390a15050565b60048101545f9061090290600290613d99565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301525f919085169063dd62ed3e90604401602060405180830381865afa15801561273d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127619190613d1e565b9050610fb684846127728585613c18565b612d0e565b6064546040516302abf57960e61b8152654f7261636c6560d01b60048201525f916001600160a01b03169063aafd5e4090602401611f2d565b60038201545f9060ff16156127f45760058301545f9081036127d4576065546127da565b60058401545b90508084600801546127ec9190613b68565b915050610902565b5080610902565b606061105f836040518060400160405280600b81526020016a37b7a932b8bab2b9ba32b960a91b81525084612d9d565b6040516001600160a01b03838116602483015260448201839052610e3491859182169063a9059cbb90606401612057565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610902565b61288c612de2565b612894612e07565b6128a16203f48082612e0f565b6128a9612e21565b610e348383612e29565b5f516020613e505f395f51905f525f806128cb611c25565b915091506128e08165ffffffffffff16151590565b15806128f457504265ffffffffffff821610155b1561291c576040516319ca5ebb60e01b815265ffffffffffff82166004820152602401610f21565b61292d5f61292861165c565b612b5b565b506129385f83612aef565b505081546001600160d01b03191690915550565b61295582610e39565b61295e81611d74565b610fb68383612b5b565b611d885f5f612c3d565b61297c8282611685565b610e815760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401610f21565b5f516020613e905f395f51905f52545f516020613e505f395f51905f5290600160d01b900465ffffffffffff168015612a45574265ffffffffffff82161015612a1c57600182015482546001600160d01b0316600160a01b90910465ffffffffffff16600160d01b02178255612a45565b6040517f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5905f90a15b5060010180546001600160a01b0316600160a01b65ffffffffffff948516026001600160d01b031617600160d01b9290931691909102919091179055565b5f5f60205f8451602086015f885af180612aa2576040513d5f823e3d81fd5b50505f513d91508115612ab9578060011415612ac6565b6001600160a01b0384163b155b15610fb657604051635274afe760e01b81526001600160a01b0385166004820152602401610f21565b5f5f516020613e505f395f51905f5283612b51575f612b0c61165c565b6001600160a01b031614612b3357604051631fe1e13d60e11b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0385161790555b61108d8484612e5b565b5f5f516020613e505f395f51905f5283158015612b905750612b7b61165c565b6001600160a01b0316836001600160a01b0316145b15612ba8576001810180546001600160a01b03191690555b61108d8484612efc565b612bbb82612f75565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115612bff57610e348282612fd8565b610e81613041565b5f65ffffffffffff821115612c39576040516306dfcc6560e41b81526030600482015260248101839052604401610f21565b5090565b5f516020613e505f395f51905f525f612c54611c25565b835465ffffffffffff8616600160a01b026001600160d01b03199091166001600160a01b038816171784559150612c9490508165ffffffffffff16151590565b15610fb6576040517f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109905f90a150505050565b5f5f612cd1611b6b565b90508065ffffffffffff168365ffffffffffff1611612cf957612cf48382613db8565b61105f565b61105f65ffffffffffff841662069780613060565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612d5f848261306f565b610fb6576040516001600160a01b0384811660248301525f6044830152612d9391869182169063095ea7b390606401612057565b610fb68482612a83565b60605f612daa85856130b4565b90508481612db7856130f6565b604051602001612dc993929190613dd6565b6040516020818303038152906040529150509392505050565b612dea613163565b611d8857604051631afcd79f60e31b815260040160405180910390fd5b611d88612de2565b612e17612de2565b610e81828261317c565b612089612de2565b612e31612de2565b606480546001600160a01b0319166001600160a01b038316179055612e558261210d565b50606555565b5f5f516020613e705f395f51905f52612e748484611685565b612ef3575f848152602082815260408083206001600160a01b03871684529091529020805460ff19166001179055612ea93390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610902565b5f915050610902565b5f5f516020613e705f395f51905f52612f158484611685565b15612ef3575f848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610902565b806001600160a01b03163b5f03612faa57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610f21565b5f516020613e305f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b031684604051612ff49190613df3565b5f60405180830381855af49150503d805f811461302c576040519150601f19603f3d011682016040523d82523d5f602084013e613031565b606091505b5091509150610db88583836131e2565b3415611d885760405163b398979f60e01b815260040160405180910390fd5b5f82821882841002821861105f565b5f5f5f5f60205f8651602088015f8a5af192503d91505f519050828015611652575081156130a05780600114611652565b50505050506001600160a01b03163b151590565b8151606090156130e557816040516020016130cf9190613dfe565b6040516020818303038152906040529050610902565b816040516020016130cf9190613e24565b606061310e6001600160801b03602084901c16613239565b6131298360601b6bffffffffffffffffffffffff1916613239565b60405160200161314d9291909182526001600160c01b031916602082015260280190565b6040516020818303038152906040529050919050565b5f61316c61285c565b54600160401b900460ff16919050565b613184612de2565b5f516020613e505f395f51905f526001600160a01b0382166131bb57604051636116401160e11b81525f6004820152602401610f21565b80546001600160d01b0316600160d01b65ffffffffffff851602178155610fb65f83612aef565b6060826131f257612cf4826133ca565b815115801561320957506001600160a01b0384163b155b1561323257604051639996b31560e01b81526001600160a01b0385166004820152602401610f21565b508061105f565b5f5f825f1c9050806001600160801b0316905080600160401b02811777ffffffffffffffff0000000000000000ffffffffffffffff169050806401000000000281177bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16905080620100000281177dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff169050806101000281177eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff1690508060100281177f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f1690505f6008827f0808080808080808080808080808080808080808080808080808080808080808168161334c5761334c613d85565b0460047f040404040404040404040404040404040404040404040404040404040404040484160460027f020202020202020202020202020202020202020202020202020202020202020285160417166027029091017f3030303030303030303030303030303030303030303030303030303030303030019392505050565b8051156133d957805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b5f60208284031215613402575f5ffd5b81356001600160e01b03198116811461105f575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011261343c575f5ffd5b81356001600160401b0381111561345557613455613419565b604051601f8201601f19908116603f011681016001600160401b038111828210171561348357613483613419565b60405281815283820160200185101561349a575f5ffd5b816020850160208301375f918101602001919091529392505050565b6001600160a01b038116811461091a575f5ffd5b5f5f5f5f5f60a086880312156134de575f5ffd5b853594506020860135935060408601356001600160401b03811115613501575f5ffd5b61350d8882890161342d565b935050606086013561351e816134b6565b949793965091946080013592915050565b5f5f5f60608486031215613541575f5ffd5b833592506020840135915060408401356001600160401b03811115613564575f5ffd5b6135708682870161342d565b9150509250925092565b5f6020828403121561358a575f5ffd5b5035919050565b5f5f604083850312156135a2575f5ffd5b8235915060208301356135b4816134b6565b809150509250929050565b5f5f5f5f608085870312156135d2575f5ffd5b843593506020850135925060408501356001600160401b038111156135f5575f5ffd5b6136018782880161342d565b949793965093946060013593505050565b5f5f60408385031215613623575f5ffd5b823561362e816134b6565b915060208301356001600160401b03811115613648575f5ffd5b6136548582860161342d565b9150509250929050565b5f5f5f5f60808587031215613671575f5ffd5b843561367c816134b6565b9350602085013592506040850135915060608501356001600160401b038111156136a4575f5ffd5b6136b08782880161342d565b91505092959194509250565b5f602082840312156136cc575f5ffd5b813561105f816134b6565b5f602082840312156136e7575f5ffd5b813565ffffffffffff8116811461105f575f5ffd5b5f5f5f5f5f60a08688031215613710575f5ffd5b853561371b816134b6565b9450602086013561372b816134b6565b9350604086013592506060860135915060808601356001600160401b03811115613753575f5ffd5b61375f8882890161342d565b9150509295509295909350565b5f5f5f5f5f5f60c08789031215613781575f5ffd5b863561378c816134b6565b9550602087013561379c816134b6565b9450604087013593506060870135925060808701356001600160401b038111156137c4575f5ffd5b6137d089828a0161342d565b9699959850939692959460a09093013593505050565b80511515825260208101511515602083015260408101511515604083015260608101511515606083015260808101511515608083015260a081015160a083015260c081015160c08301525050565b6001600160a01b038b811682528a81166020830152891660408201528715156060820152610200810161386a60808301896137e6565b6101608201969096526101808101949094526101a08401929092526101c08301526101e09091015295945050505050565b81516001600160a01b03168152610200810160208301516138c760208401826001600160a01b03169052565b5060408301516138e260408401826001600160a01b03169052565b5060608301516138f6606084018215159052565b50608083015161390960808401826137e6565b5060a083015161016083015260c083015161018083015260e08301516101a08301526101008301516101c0830152610120909201516101e09091015290565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61105f6020830184613948565b5f5f60408385031215613999575f5ffd5b82356001600160401b038111156139ae575f5ffd5b6139ba8582860161342d565b92505060208301356135b4816134b6565b5f5f5f606084860312156139dd575f5ffd5b8335925060208401356139ef816134b6565b915060408401356139ff816134b6565b809150509250925092565b5f5f5f5f5f60a08688031215613a1e575f5ffd5b8535613a29816134b6565b9450602086013593506040860135925060608601356001600160401b03811115613a51575f5ffd5b613a5d8882890161342d565b95989497509295608001359392505050565b634e487b7160e01b5f52602160045260245ffd5b6020810160078310613aa357634e487b7160e01b5f52602160045260245ffd5b91905290565b801515811461091a575f5ffd5b5f5f5f5f5f5f60c08789031215613acb575f5ffd5b863595506020870135945060408701356001600160401b03811115613aee575f5ffd5b613afa89828a0161342d565b9450506060870135613b0b81613aa9565b92506080870135613b1b81613aa9565b915060a0870135613b2b81613aa9565b809150509295509295509295565b5f60208284031215613b49575f5ffd5b815161105f81613aa9565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090257610902613b54565b5f6020828403128015613b8c575f5ffd5b50604051602081016001600160401b0381118282101715613baf57613baf613419565b6040529151825250919050565b86815285602082015260c060408201525f613bda60c0830187613948565b6001600160a01b0395909516606083015250608081019290925260a0909101529392505050565b808202811582820484141761090257610902613b54565b8082018082111561090257610902613b54565b838152826020820152606060408201525f610db86060830184613948565b848152836020820152608060408201525f613c676080830185613948565b905082606083015295945050505050565b86815285602082015260c060408201525f613c9660c0830187613948565b60608301959095525060808101929092526001600160a01b031660a0909101529392505050565b5f60208284031215613ccd575f5ffd5b815161105f816134b6565b5f81518060208401855e5f93019283525090919050565b6bffffffffffffffffffffffff198560601b1681528360148201528260348201525f6116526054830184613cd8565b5f60208284031215613d2e575f5ffd5b5051919050565b85815284602082015260a060408201525f613d5360a0830186613948565b606083019490945250608001529392505050565b65ffffffffffff818116838216019081111561090257610902613b54565b634e487b7160e01b5f52601260045260245ffd5b5f82613db357634e487b7160e01b5f52601260045260245ffd5b500490565b65ffffffffffff828116828216039081111561090257610902613b54565b5f610db8613ded613de78488613cd8565b86613cd8565b84613cd8565b5f61105f8284613cd8565b600b60fa1b81525f613e136001830184613cd8565b601d60f91b81526001019392505050565b5f613e138284613cd856fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbceef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d869840002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800eef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698401a264697066735822122084abf5fd074f4fe985616476d20dc12606dba4c91b93fbd23ca57cf37b96dd0064736f6c634300081e0033","sourceMap":"3715:31235:97:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4146:219:21;;;;;;;;;;-1:-1:-1;4146:219:21;;;;;:::i;:::-;;:::i;:::-;;;566:14:102;;559:22;541:41;;529:2;514:18;4146:219:21;;;;;;;;9909:108;;;;;;;;;;-1:-1:-1;10004:6:21;9909:108;;;767:14:102;755:27;;;737:46;;725:2;710:18;9909:108:21;593:196:102;13102:126:21;;;;;;;;;;;;;:::i;:::-;;7595:2132:97;;;;;;;;;;-1:-1:-1;7595:2132:97;;;;;:::i;:::-;;:::i;:::-;;;2812:25:102;;;2800:2;2785:18;7595:2132:97;2666:177:102;13632:507:97;;;;;;;;;;-1:-1:-1;13632:507:97;;;;;:::i;:::-;;:::i;4807:191:20:-;;;;;;;;;;-1:-1:-1;4807:191:20;;;;;:::i;:::-;;:::i;34389:104:97:-;;;;;;;;;;-1:-1:-1;34471:15:97;34389:104;;4656:276:21;;;;;;;;;;-1:-1:-1;4656:276:21;;;;;:::i;:::-;;:::i;5995:682::-;;;;;;;;;;-1:-1:-1;5995:682:21;;;;;:::i;:::-;;:::i;12256:503:97:-;;;;;;;;;;-1:-1:-1;12256:503:97;;;;;:::i;:::-;;:::i;4392:96::-;;;;;;;;;;;;;:::i;4161:214:23:-;;;;;;:::i;:::-;;:::i;3708:134::-;;;;;;;;;;;;;:::i;23888:451:97:-;;;;;;;;;;-1:-1:-1;23888:451:97;;;;;:::i;:::-;;:::i;24915:274::-;;;;;;;;;;-1:-1:-1;24915:274:97;;;;;:::i;:::-;;:::i;10196:150:21:-;;;;;;;;;;-1:-1:-1;10196:150:21;;;;;:::i;:::-;;:::i;12486:145::-;;;;;;;;;;-1:-1:-1;12486:145:21;;;;;:::i;:::-;;:::i;19928:2492:97:-;;;;;;;;;;-1:-1:-1;19928:2492:97;;;;;:::i;:::-;;:::i;16241:1914::-;;;;;;;;;;-1:-1:-1;16241:1914:97;;;;;:::i;:::-;;:::i;8482:211:21:-;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;8893:32:102;;;8875:51;;8863:2;8848:18;8482:211:21;8729:203:102;4400:93:21;;;;;;;;;;;;;:::i;3947:63:97:-;;;;;;;;;;-1:-1:-1;3947:63:97;2443:4:20;3947:63:97;;3780:207:20;;;;;;;;;;-1:-1:-1;3780:207:20;;;;;:::i;:::-;;:::i;11401:418:97:-;;;;;;;;;;-1:-1:-1;11401:418:97;;;;;:::i;:::-;;:::i;5858:43:99:-;;;;;;;;;;-1:-1:-1;5858:43:99;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5858:43:99;;;;;;;;;;;;-1:-1:-1;;;5858:43:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;9483:368:21:-;;;;;;;;;;;;;:::i;:::-;;;;10681:14:102;10669:27;;;10651:46;;10733:27;;;;10728:2;10713:18;;10706:55;10624:18;9483:368:21;10481:286:102;25629:297:97;;;;;;;;;;-1:-1:-1;25629:297:97;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1819:58:23:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:23;;;;;;;;;;;;:::i;10254:591:97:-;;;;;;;;;;-1:-1:-1;10254:591:97;;;;;:::i;:::-;;:::i;27826:224::-;;;;;;;;;;-1:-1:-1;27826:224:97;;;;;:::i;:::-;;:::i;4974:189::-;;;;;;;;;;-1:-1:-1;4974:189:97;;;;;:::i;:::-;;:::i;18752:399::-;;;;;;;;;;-1:-1:-1;18752:399:97;;;;;:::i;:::-;;:::i;4071:38::-;;;;;;;;;;-1:-1:-1;4071:38:97;;;;-1:-1:-1;;;;;4071:38:97;;;26351:284;;;;;;;;;;-1:-1:-1;26351:284:97;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;27128:382::-;;;;;;;;;;-1:-1:-1;27128:382:97;;;;;:::i;:::-;;:::i;5492:50:99:-;;;;;;;;;;;;5538:4;5492:50;;9087:338:21;;;;;;;;;;;;;:::i;11244:344::-;;;;;;;;;;;;;:::i;8751:278::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;15310:32:102;;;15292:51;;15391:14;15379:27;;;15374:2;15359:18;;15352:55;15265:18;8751:278:21;15120:293:102;5032:278:21;;;;;;;;;;-1:-1:-1;5032:278:21;;;;;:::i;:::-;;:::i;10819:128::-;;;;;;;;;;;;;:::i;14705:761:97:-;;;;;;;;;;-1:-1:-1;14705:761:97;;;;;:::i;:::-;;:::i;23018:344::-;;;;;;;;;;-1:-1:-1;23018:344:97;;;;;:::i;:::-;;:::i;4170:39::-;;;;;;;;;;;;;;;;4494:60;;;;;;;;;;;;-1:-1:-1;;;4494:60:97;;4146:219:21;4231:4;-1:-1:-1;;;;;;4254:64:21;;-1:-1:-1;;;4254:64:21;;:104;;;4322:36;4346:11;4322:23;:36::i;:::-;4247:111;4146:219;-1:-1:-1;;4146:219:21:o;13102:126::-;2443:4:20;3272:16;2443:4;3272:10;:16::i;:::-;13193:28:21::1;:26;:28::i;:::-;13102:126:::0;:::o;7595:2132:97:-;7809:17;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;7909:13:97::1;7846:59;7856:10;7868;7880:9;7891:13;7846:9;:59::i;:::-;:76;;;;;;;;:::i;:::-;;7838:111;;;;-1:-1:-1::0;;;7838:111:97::1;;;;;;;;;;;;7967:25;:23;:25::i;:::-;-1:-1:-1::0;;;;;7967:47:97::1;;8015:10;7967:59;;;;;;;;;;;;;2812:25:102::0;;2800:2;2785:18;;2666:177;7967:59:97::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7959:93;;;;-1:-1:-1::0;;;7959:93:97::1;;;;;;;;;;;;8070:25;:23;:25::i;:::-;:58;::::0;-1:-1:-1;;;8070:58:97;;-1:-1:-1;;;;;8893:32:102;;;8070:58:97::1;::::0;::::1;8875:51:102::0;8070:39:97;;;::::1;::::0;::::1;::::0;8848:18:102;;8070:58:97::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8062:90;;;;-1:-1:-1::0;;;8062:90:97::1;;;;;;;;;;;;34471:15:::0;8170:9:::1;:29;;8162:59;;;;-1:-1:-1::0;;;8162:59:97::1;;;;;;;;;;;;4442:46;4384:2;5538:4:99;4442:46:97;:::i;:::-;8410:13;:20;:47;;8402:80;;;;-1:-1:-1::0;;;8402:80:97::1;;;;;;;;;;;;8493:16;8512:11;:9;:11::i;:::-;:46;::::0;-1:-1:-1;;;8512:46:97;;-1:-1:-1;;;;;8893:32:102;;;8512:46:97::1;::::0;::::1;8875:51:102::0;8512:27:97;;;::::1;::::0;::::1;::::0;8848:18:102;;8512:46:97::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:55;;;8493:74;;8646:645;;;;;;;;8686:1;-1:-1:-1::0;;;;;8646:645:97::1;;;;;8720:1;-1:-1:-1::0;;;;;8646:645:97::1;;;;;8746:8;-1:-1:-1::0;;;;;8646:645:97::1;;;;;8777:5;8646:645;;;;;;8813:316;;;;;;;;8859:5;8813:316;;;;;;8899:5;8813:316;;;;;;8947:5;8813:316;;;;;;8995:5;8813:316;;;;;;9042:5;8813:316;;;;;;9071:8;8813:316;;;;9113:1;8813:316;;::::0;8646:645:::1;;;;9158:1;8646:645;;;;9188:1;8646:645;;;;9219:1;8646:645;;;;9242:6;8646:645;;;;9272:8;8646:645;;::::0;8577:8:::1;:66;8586:56;8593:10;8605;8617:9;8628:13;8586:6;:56::i;:::-;8577:66:::0;;::::1;::::0;;::::1;::::0;;;;;;;;-1:-1:-1;8577:66:97;:714;;;;-1:-1:-1;;;;;;8577:714:97;;::::1;-1:-1:-1::0;;;;;8577:714:97;;::::1;;::::0;;;;::::1;::::0;-1:-1:-1;8577:714:97;::::1;::::0;;;;::::1;::::0;;::::1;;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;::::1;-1:-1:-1::0;;;;;;8577:714:97;;;;-1:-1:-1;;;8577:714:97;::::1;;::::0;;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;8577:714:97;;;;::::1;;-1:-1:-1::0;;8577:714:97;;;;;::::1;::::0;::::1;;::::0;::::1;;-1:-1:-1::0;;8577:714:97;;;::::1;;::::0;;;::::1;-1:-1:-1::0;;8577:714:97;;;;;;;::::1;;::::0;;;::::1;::::0;;;::::1;-1:-1:-1::0;;8577:714:97::1;::::0;;::::1;;::::0;;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;9306:10;;9302:101:::1;;9332:60;-1:-1:-1::0;;;;;9332:25:97;::::1;9358:10;9378:4;9385:6:::0;9332:25:::1;:60::i;:::-;9431:10;-1:-1:-1::0;;;;;9418:99:97::1;;9443:10;9455:9;9466:13;9489:8;9500:6;9508:8;9418:99;;;;;;;;;;;:::i;:::-;;;;;;;;9708:12;:8:::0;9719:1:::1;9708:12;:::i;:::-;9701:19;;;1908:20:91::0;:18;:20::i;:::-;7595:2132:97;;;;;;;:::o;13632:507::-;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;13875:15:97::1;13812:59;13822:10;13834;13846:9;13857:13;13812:9;:59::i;:::-;:78;;;;;;;;:::i;:::-;;13791:137;;;;-1:-1:-1::0;;;13791:137:97::1;;;;;;;;;;;;13938:23;13964:61;13976:10;13988;14000:9;14011:13;13964:11;:61::i;:::-;14035:23;;:41:::0;;-1:-1:-1;;14086:46:97;;;;;-1:-1:-1;1908:20:91;:18;:20::i;:::-;13632:507:97;;;:::o;4807:191:20:-;4872:7;4967:14;;;-1:-1:-1;;;;;;;;;;;4967:14:20;;;;;:24;;;;4807:191::o;4656:276:21:-;4786:4;4782:104;;4835:40;;-1:-1:-1;;;4835:40:21;;;;;;;;;;;4782:104;4895:30;4911:4;4917:7;4895:15;:30::i;:::-;4656:276;;:::o;5995:682::-;-1:-1:-1;;;;;;;;;;;6231:26:21;;:55;;;;;6272:14;:12;:14::i;:::-;-1:-1:-1;;;;;6261:25:21;:7;-1:-1:-1;;;;;6261:25:21;;6231:55;6227:401;;;6303:23;6328:15;6347:21;:19;:21::i;:::-;6302:66;;-1:-1:-1;6302:66:21;-1:-1:-1;;;;;;6386:29:21;;;;;:58;;-1:-1:-1;16952:13:21;;;;6386:58;:91;;;-1:-1:-1;17180:15:21;17169:26;;;;6448:29;6386:91;6382:185;;;6504:48;;-1:-1:-1;;;6504:48:21;;767:14:102;755:27;;6504:48:21;;;737:46:102;710:18;;6504:48:21;;;;;;;;6382:185;-1:-1:-1;;6580:37:21;;-1:-1:-1;;;;6580:37:21;;;6227:401;6637:33;6656:4;6662:7;6637:18;:33::i;12256:503:97:-;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;12537:15:97::1;12474:59;12484:10;12496;12508:9;12519:13;12474:9;:59::i;:::-;:78;;;;;;;;:::i;:::-;;12453:137;;;;-1:-1:-1::0;;;12453:137:97::1;;;;;;;;;;;;12600:33;12618:14;12600:17;:33::i;:::-;12738:14;12643:61;12655:10;12667;12679:9;12690:13;12643:11;:61::i;:::-;:92:::0;;:109;1908:20:91;:18;:20::i;:::-;12256:503:97;;;;:::o;4392:96::-;4442:46;4384:2;5538:4:99;4442:46:97;:::i;:::-;4392:96;:::o;4161:214:23:-;2655:13;:11;:13::i;:::-;4276:36:::1;4294:17;4276;:36::i;:::-;4322:46;4344:17;4363:4;4322:21;:46::i;3708:134::-:0;3777:7;2926:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3708:134:23;:::o;23888:451:97:-;24054:6;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;24143:13:97::1;24080:59;24090:10;24102;24114:9;24125:13;24080:9;:59::i;:::-;:76;;;;;;;;:::i;:::-;;24076:164;;24172:57;24180:10;24192;24204:9;24215:13;24172:7;:57::i;:::-;;24076:164;24257:61;24269:10;24281;24293:9;24304:13;24257:11;:61::i;:::-;:75;;;24250:82;;1908:20:91::0;:18;:20::i;:::-;23888:451:97;;;;;:::o;24915:274::-;25089:14;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;25126:56:97::1;25134:9;25145:10;25157:9;25168:13;25126:7;:56::i;:::-;25119:63;;1908:20:91::0;:18;:20::i;:::-;24915:274:97;;;;;;:::o;10196:150:21:-;2443:4:20;3272:16;2443:4;3272:10;:16::i;:::-;10303:36:21::1;10330:8;10303:26;:36::i;12486:145::-:0;2443:4:20;3272:16;2443:4;3272:10;:16::i;:::-;12590:34:21::1;12615:8;12590:24;:34::i;19928:2492:97:-:0;20141:17;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;-1:-1:-1;;;;;20178:22:97;::::1;20170:62;;;;-1:-1:-1::0;;;20170:62:97::1;;;;;;;;;;;;20312:14;20250:58;20260:9;20271:10;20283:9;20294:13;20250:9;:58::i;:::-;:76;;;;;;;;:::i;:::-;;20242:112;;;;-1:-1:-1::0;;;20242:112:97::1;;;;;;;;;;;;20364:23;20390:60;20402:9;20413:10;20425:9;20436:13;20390:11;:60::i;:::-;20460:16;::::0;::::1;:27:::0;;-1:-1:-1;;;;;;20460:27:97::1;-1:-1:-1::0;;;;;20460:27:97;::::1;;::::0;;20517:16:::1;::::0;::::1;::::0;20558:28;;;;20460:16;;-1:-1:-1;20517:16:97;20608:15:::1;20517:16:::0;20558:28;20608:15:::1;:::i;:::-;20596:27:::0;-1:-1:-1;20637:13:97;;20633:115:::1;;20666:16;::::0;::::1;::::0;:71:::1;::::0;-1:-1:-1;;;;;20666:16:97::1;20700:10;20720:4;20727:9:::0;20666:33:::1;:71::i;:::-;20758:20;20781:11;:9;:11::i;:::-;20758:34;;21126:16;21156:27;21175:7;21156:18;:27::i;:::-;21145:38;::::0;:8;:38:::1;:::i;:::-;21126:57:::0;-1:-1:-1;21197:12:97;;21193:218:::1;;21225:16;::::0;::::1;::::0;:64:::1;::::0;-1:-1:-1;;;;;21225:16:97::1;21272:5:::0;21280:8;21225:38:::1;:64::i;:::-;21303:11;:9;:11::i;:::-;21342:16;::::0;::::1;::::0;21361:38:::1;::::0;;::::1;::::0;::::1;::::0;;;;;21303:97;;-1:-1:-1;;;21303:97:97;;-1:-1:-1;;;;;21342:16:97;;::::1;21303:97;::::0;::::1;18714:51:102::0;18801:13;;18781:18;;;18774:41;21303:30:97;::::1;::::0;::::1;::::0;18687:18:102;;21303:97:97::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21193:218;21421:12;:10;:12::i;:::-;-1:-1:-1::0;;;;;21421:25:97::1;;21460:10;21472:46;21499:7;21508:9;21472:26;:46::i;:::-;21520:45;21540:13;21555:9;21520:19;:45::i;:::-;21421:154;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;21645:14:97::1;::::0;::::1;::::0;21613::::1;::::0;-1:-1:-1;21645:18:97;;;;:61:::1;;-1:-1:-1::0;21667:23:97::1;::::0;::::1;:39:::0;::::1;::::0;::::1;;;21645:61;21641:209;;;-1:-1:-1::0;21731:14:97::1;::::0;::::1;::::0;;21776:1:::1;21759:18:::0;;;21791:16:::1;::::0;::::1;::::0;:48:::1;::::0;-1:-1:-1;;;;;21791:16:97::1;21821:9:::0;21731:14;21791:29:::1;:48::i;:::-;21920:8;-1:-1:-1::0;;;;;21865:134:97::1;21902:7;:16;;;;;;;;;;-1:-1:-1::0;;;;;21902:16:97::1;-1:-1:-1::0;;;;;21865:134:97::1;21891:9;-1:-1:-1::0;;;;;21865:134:97::1;;21930:10;21942:9;21953:13;21968:7;:21;;;21865:134;;;;;;;;;:::i;:::-;;;;;;;;22121:30;:28;:30::i;:::-;-1:-1:-1::0;;;;;22186:20:97;::::1;1818:19:88::0;:23;;22186:73:97::1;;;;-1:-1:-1::0;22212:23:97::1;::::0;::::1;:47:::0;;;::::1;;;22186:73;22182:194;;;22275:90;::::0;-1:-1:-1;;;22275:90:97;;-1:-1:-1;;;;;22275:44:97;::::1;::::0;::::1;::::0;:90:::1;::::0;22320:10;;22332:9;;22343:13;;22358:6;;22275:90:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22182:194;22385:28;:26;:28::i;:::-;20160:2260;;;;;;1908:20:91::0;:18;:20::i;16241:1914:97:-;16492:17;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;-1:-1:-1;;;;;16529:22:97;::::1;16521:62;;;;-1:-1:-1::0;;;16521:62:97::1;;;;;;;;;;;;16676:15;16614:58;16624:9;16635:10;16647:9;16658:13;16614:9;:58::i;:::-;:77;;;;;;;;:::i;:::-;;16593:136;;;;-1:-1:-1::0;;;16593:136:97::1;;;;;;;;;;;;16739:23;16765:60;16777:9;16788:10;16800:9;16811:13;16765:11;:60::i;:::-;16839:23;::::0;::::1;:34:::0;16739:86;;-1:-1:-1;16839:34:97::1;;16835:134;;;-1:-1:-1::0;;;16897:13:97::1;:35:::0;16889:69:::1;;;;-1:-1:-1::0;;;16889:69:97::1;;;;;;;;;;;;16978:27:::0;;-1:-1:-1;;;;;;16978:27:97::1;-1:-1:-1::0;;;;;16978:27:97;::::1;;::::0;;17015:21:::1;::::0;::::1;:37:::0;;;17197:38;;;;-1:-1:-1;17197:43:97;:102:::1;;17284:15;;17197:102;;;17243:38:::0;;;;17197:102:::1;17165:135;::::0;34471:15;17165:135:::1;:::i;:::-;17140:22;::::0;::::1;:160:::0;17354:16:::1;::::0;::::1;::::0;17323:28;;;;:47:::1;::::0;17354:16;17323:47:::1;:::i;:::-;17311:59:::0;-1:-1:-1;17384:13:97;;17380:90:::1;;17399:16;::::0;::::1;::::0;:71:::1;::::0;-1:-1:-1;;;;;17399:16:97::1;17433:10;17453:4;17460:9:::0;17399:33:::1;:71::i;:::-;17658:22;::::0;::::1;::::0;17702:16:::1;::::0;::::1;::::0;17486:243:::1;::::0;-1:-1:-1;;;;;17486:243:97;;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;17557:10;;17581:9;;17604:13;;17631;;17702:16;;::::1;::::0;17486:243:::1;:::i;:::-;;;;;;;;17864:30;:28;:30::i;:::-;-1:-1:-1::0;;;;;17929:20:97;::::1;1818:19:88::0;:23;;17929:73:97::1;;;;-1:-1:-1::0;17955:23:97::1;::::0;::::1;:47:::0;;;::::1;;;17929:73;17925:186;;;18018:82;::::0;-1:-1:-1;;;18018:82:97;;-1:-1:-1;;;;;18018:44:97;::::1;::::0;::::1;::::0;:82:::1;::::0;18063:10;;18075:9;;18086:13;;18018:82:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17925:186;18120:28;:26;:28::i;:::-;16511:1644;1908:20:91::0;:18;:20::i;:::-;16241:1914:97;;;;;;;;:::o;8482:211:21:-;-1:-1:-1;;;;;;;;;;;8664:22:21;-1:-1:-1;;;;;8664:22:21;;8482:211::o;4400:93::-;4446:7;4472:14;:12;:14::i;:::-;4465:21;;4400:93;:::o;3780:207:20:-;3857:4;3949:14;;;-1:-1:-1;;;;;;;;;;;3949:14:20;;;;;;;;-1:-1:-1;;;;;3949:31:20;;;;;;;;;;;;;;;3780:207::o;11401:418:97:-;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;11649:15:97::1;11586:59;11596:10;11608;11620:9;11631:13;11586:9;:59::i;:::-;:78;;;;;;;;:::i;:::-;;11565:137;;;;-1:-1:-1::0;;;11565:137:97::1;;;;;;;;;;;;11808:4;11712:61;11724:10;11736;11748:9;11759:13;11712:11;:61::i;:::-;:77;;:100:::0;;;::::1;;;;-1:-1:-1::0;;11712:100:97;;::::1;::::0;;;::::1;::::0;;1908:20:91;:18;:20::i;9483:368:21:-;-1:-1:-1;;;;;;;;;;;9706:23:21;9548:15;;-1:-1:-1;;;9706:23:21;;;;-1:-1:-1;;;;;;;;;;;16952:13:21;;;;;9747:57;;-1:-1:-1;17180:15:21;17169:26;;;;9775:29;9747:57;9746:98;;9839:1;9842;9746:98;;;9809:15;;;;-1:-1:-1;;;9809:15:21;;;;9826:8;9746:98;9739:105;;;;;9483:368;;:::o;25629:297:97:-;25822:14;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25822:14:97;2127:19:91;:17;:19::i;:::-;25859:60:97::1;25871:9;25882:10;25894:9;25905:13;25859:11;:60::i;:::-;25852:67;::::0;;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;25852:67:97;;::::1;::::0;;;;::::1;::::0;;::::1;;::::0;;::::1;::::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;::::1;-1:-1:-1::0;;;25852:67:97;;::::1;::::0;::::1;;;::::0;;;;;;;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;::::1;;;::::0;;::::1;::::0;;::::1;::::0;::::1;;;::::0;;::::1;::::0;;;;;;::::1;::::0;::::1;;;::::0;;;;;;;;;::::1;::::0;::::1;;;::::0;;;;;;;;;;::::1;::::0;;::::1;;;::::0;;;;;;;;::::1;::::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::1;::::0;::::1;::::0;;;;;;;;::::1;::::0;::::1;::::0;;;;;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;;::::1;::::0;;::::1;::::0;;;;;;-1:-1:-1;25629:297:97;;;;;;:::o;10254:591::-;10424:17;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;10541:15:97::1;10478:59;10488:10;10500;10512:9;10523:13;10478:9;:59::i;:::-;:78;;;;;;;;:::i;:::-;;10457:137;;;;-1:-1:-1::0;;;10457:137:97::1;;;;;;;;;;;;10604:23;10630:61;10642:10;10654;10666:9;10677:13;10630:11;:61::i;:::-;10701:28:::0;;;:35;;;10822:16:::1;::::0;::::1;::::0;10604:87;;-1:-1:-1;10815:23:97::1;::::0;10732:4;10815:23:::1;:::i;:::-;10808:30;;;1908:20:91::0;:18;:20::i;27826:224:97:-;27963:12;27998:45;28018:13;28033:9;27998:19;:45::i;4974:189::-;4158:30:22;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:22;-1:-1:-1;;;4302:15:22;;;4301:16;;-1:-1:-1;;;;;4348:14:22;4279:19;4724:16;;:34;;;;;4744:14;4724:34;4704:54;;4768:17;4788:11;-1:-1:-1;;;;;4788:16:22;4803:1;4788:16;:50;;;;-1:-1:-1;4816:4:22;4808:25;:30;4788:50;4768:70;;4854:12;4853:13;:30;;;;;4871:12;4870:13;4853:30;4849:91;;;4906:23;;-1:-1:-1;;;4906:23:22;;;;;;;;;;;4849:91;4949:18;;-1:-1:-1;;4949:18:22;4966:1;4949:18;;;4977:67;;;;5011:22;;-1:-1:-1;;;;5011:22:22;-1:-1:-1;;;5011:22:22;;;4977:67;5090:66:97::1;5116:9;5127:14;5143:12;5090:25;:66::i;:::-;5068:14:22::0;5064:101;;;5098:23;;-1:-1:-1;;;;5098:23:22;;;5140:14;;-1:-1:-1;20824:50:102;;5140:14:22;;20812:2:102;20797:18;5140:14:22;;;;;;;5064:101;4092:1079;;;;;4974:189:97;;;:::o;18752:399::-;18955:17;19053:91;19069:10;19081:9;19092:10;19104:9;19115:13;19130;19053:15;:91::i;26351:284::-;26542:5;2127:19:91;:17;:19::i;:::-;26570:58:97::1;26580:9;26591:10;26603:9;26614:13;26570:9;:58::i;27128:382::-:0;27319:4;2127:19:91;:17;:19::i;:::-;27339:11:97::1;27353:58;27363:9;27374:10;27386:9;27397:13;27353:9;:58::i;:::-;27339:72:::0;-1:-1:-1;27437:13:97::1;27428:5;:22;;;;;;;;:::i;:::-;;:49;;;-1:-1:-1::0;27463:14:97::1;27454:5;:23;;;;;;;;:::i;:::-;;27428:49;:75;;;-1:-1:-1::0;27490:13:97::1;27481:5;:22;;;;;;;;:::i;:::-;;27421:82:::0;27128:382;-1:-1:-1;;;;;;27128:382:97:o;9087:338:21:-;-1:-1:-1;;;;;;;;;;;9284:23:21;9145:6;;-1:-1:-1;;;;;;;;;;;3245:45:21;-1:-1:-1;;;9284:23:21;;;;16952:13;;;;;9325:56;;-1:-1:-1;17180:15:21;17169:26;;;;9353:28;9324:94;;9403:15;;-1:-1:-1;;;9403:15:21;;;;9324:94;;;9385:15;;;;-1:-1:-1;;;9385:15:21;;;;9324:94;9317:101;;;;9087:338;:::o;11244:344::-;11308:23;11337:21;:19;:21::i;:::-;-1:-1:-1;11307:51:21;-1:-1:-1;966:10:24;-1:-1:-1;;;;;11372:31:21;;;11368:175;;11486:46;;-1:-1:-1;;;11486:46:21;;966:10:24;11486:46:21;;;8875:51:102;8848:18;;11486:46:21;8729:203:102;11368:175:21;11552:29;:27;:29::i;8751:278::-;-1:-1:-1;;;;;;;;;;;8967:22:21;-1:-1:-1;;;;;8967:22:21;;;-1:-1:-1;;;8991:30:21;;;;;;8751:278::o;5032:::-;5163:4;5159:104;;5212:40;;-1:-1:-1;;;5212:40:21;;;;;;;;;;;5159:104;5272:31;5289:4;5295:7;5272:16;:31::i;10819:128::-;2443:4:20;3272:16;2443:4;3272:10;:16::i;:::-;10911:29:21::1;:27;:29::i;14705:761:97:-:0;1841:19:91;:17;:19::i;:::-;1870:17;:15;:17::i;:::-;15062:15:97::1;14999:59;15009:10;15021;15033:9;15044:13;14999:9;:59::i;:::-;:78;;;;;;;;:::i;:::-;;14978:137;;;;-1:-1:-1::0;;;14978:137:97::1;;;;;;;;;;;;15125:23;15151:61;15163:10;15175;15187:9;15198:13;15151:11;:61::i;:::-;15222:23;;:73:::0;;-1:-1:-1;;15305:73:97;15222;;::::1;;;-1:-1:-1::0;;15305:73:97;;;;::::1;;;;-1:-1:-1::0;;15388:71:97::1;::::0;;::::1;;;;::::0;;-1:-1:-1;1908:20:91;:18;:20::i;:::-;14705:761:97;;;;;;:::o;23018:344::-;23177:17;23279:76;23295:10;23307:9;23318:10;23330:9;23341:13;23279:15;:76::i;3491:202:20:-;3576:4;-1:-1:-1;;;;;;3599:47:20;;-1:-1:-1;;;3599:47:20;;:87;;-1:-1:-1;;;;;;;;;;1101:40:25;;;3650:36:20;1002:146:25;4196:103:20;4262:30;4273:4;966:10:24;4262::20;:30::i;13355:94:21:-;13420:22;13437:1;13440;13420:16;:22::i;:::-;13355:94::o;2667:183:91:-;2799:11;;;;2791:52;;;;-1:-1:-1;;;2791:52:91;;;;;;;;;;;2856:136;2966:11;:19;;-1:-1:-1;;2966:19:91;;;2856:136::o;31666:817:97:-;31817:5;31838:23;31864:60;31876:9;31887:10;31899:9;31910:13;31864:11;:60::i;:::-;31947:16;;;;31838:86;;-1:-1:-1;;;;;;31947:16:97;31935:65;;31987:13;31980:20;;;;;31935:65;32015:16;;-1:-1:-1;;;;;32015:16:97;32011:58;;32054:15;32047:22;;;;;32011:58;32084:15;;;;-1:-1:-1;;;32084:15:97;;;;32080:41;;;32108:13;32101:20;;;;;32080:41;32136:16;;;;-1:-1:-1;;;;;32136:16:97;32132:143;;34471:15;32189:7;:22;;;:42;;:75;;32250:14;32189:75;;;32234:13;32189:75;32182:82;;;;;32132:143;32292:12;:10;:12::i;:::-;-1:-1:-1;;;;;32292:21:97;;32327:10;32339:46;32366:7;32375:9;32339:26;:46::i;:::-;32387:45;32407:13;32422:9;32387:19;:45::i;:::-;32292:150;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:184;;32462:14;32292:184;;;-1:-1:-1;32445:14:97;;31666:817;-1:-1:-1;;;;;31666:817:97:o;33024:210::-;33157:6;;:69;;-1:-1:-1;;;33157:69:97;;-1:-1:-1;;;33157:69:97;;;2812:25:102;33081:28:97;;-1:-1:-1;;;;;33157:6:97;;:31;;2785:18:102;;33157:69:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;32671:187::-;32781:6;;:69;;-1:-1:-1;;;32781:69:97;;-1:-1:-1;;;32781:69:97;;;2812:25:102;32729:16:97;;-1:-1:-1;;;;;32781:6:97;;:31;;2785:18:102;;32781:69:97;2666:177:102;32864:154:97;32955:6;;:55;;-1:-1:-1;;;32955:55:97;;-1:-1:-1;;;32955:55:97;;;2812:25:102;32907:14:97;;-1:-1:-1;;;;;32955:6:97;;:31;;2785:18:102;;32955:55:97;2666:177:102;28056:261:97;28204:7;28261:9;28272:10;28284:9;28295:13;28244:65;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;28234:76;;;;;;28227:83;;28056:261;;;;;;:::o;1618:188:48:-;1745:53;;-1:-1:-1;;;;;22021:32:102;;;1745:53:48;;;22003:51:102;22090:32;;;22070:18;;;22063:60;22139:18;;;22132:34;;;1718:81:48;;1738:5;;1760:18;;;;;21976::102;;1745:53:48;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1745:53:48;;;;;;;;;;;1718:19;:81::i;2998:206:91:-;3179:11;:18;;-1:-1:-1;;3179:18:91;3193:4;3179:18;;;2998:206::o;31012:264:97:-;31166:15;31204:8;:65;31213:55;31220:9;31231:10;31243:9;31254:13;31213:6;:55::i;:::-;31204:65;;;;;;;;;;;31197:72;;31012:264;;;;;;:::o;5294:136:20:-;5368:18;5381:4;5368:12;:18::i;:::-;3272:16;3283:4;3272:10;:16::i;:::-;5398:25:::1;5409:4;5415:7;5398:10;:25::i;6396:245::-:0;-1:-1:-1;;;;;6489:34:20;;966:10:24;6489:34:20;6485:102;;6546:30;;-1:-1:-1;;;6546:30:20;;;;;;;;;;;6485:102;6597:37;6609:4;6615:18;6597:11;:37::i;31468:192:97:-;31566:10;31554:9;:22;31546:51;;;;-1:-1:-1;;;31546:51:97;;;;;;;;;;;;31627:1;31615:9;:13;31607:46;;;;-1:-1:-1;;;31607:46:97;;;;;;;;;;;4578:312:23;4658:4;-1:-1:-1;;;;;4667:6:23;4650:23;;;:120;;;4764:6;-1:-1:-1;;;;;4728:42:23;:32;-1:-1:-1;;;;;;;;;;;1519:53:38;-1:-1:-1;;;;;1519:53:38;;1441:138;4728:32:23;-1:-1:-1;;;;;4728:42:23;;;4650:120;4633:251;;;4844:29;;-1:-1:-1;;;4844:29:23;;;;;;;;;;;6657:73:97;6435:30;2443:4:20;6435:10:97;:30::i;6032:538:23:-;6149:17;-1:-1:-1;;;;;6131:50:23;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6131:52:23;;;;;;;;-1:-1:-1;;6131:52:23;;;;;;;;;;;;:::i;:::-;;;6127:437;;6493:60;;-1:-1:-1;;;6493:60:23;;-1:-1:-1;;;;;8893:32:102;;6493:60:23;;;8875:51:102;8848:18;;6493:60:23;8729:203:102;6127:437:23;-1:-1:-1;;;;;;;;;;;6225:40:23;;6221:120;;6292:34;;-1:-1:-1;;;6292:34:23;;;;;2812:25:102;;;2785:18;;6292:34:23;2666:177:102;6221:120:23;6354:54;6384:17;6403:4;6354:29;:54::i;5007:213::-;5081:4;-1:-1:-1;;;;;5090:6:23;5073:23;;5069:145;;5174:29;;-1:-1:-1;;;5174:29:23;;;;;;;;;;;28323:2683:97;28459:14;28489:11;28503:58;28513:9;28524:10;28536:9;28547:13;28503:9;:58::i;:::-;28489:72;;28646:23;28672:60;28684:9;28695:10;28707:9;28718:13;28672:11;:60::i;:::-;28742:15;;;:22;;-1:-1:-1;;;;28742:22:97;-1:-1:-1;;;28742:22:97;;;28646:86;-1:-1:-1;28788:13:97;28779:5;:22;;;;;;;;:::i;:::-;;28775:1535;;28947:21;;;;28923;;;:45;29041:14;;;;29022:16;;;;28991:28;;;;:47;;29022:16;28991:47;:::i;:::-;:64;;;;:::i;:::-;29099:16;;29069;;;;28982:73;;-1:-1:-1;29069:55:97;;-1:-1:-1;;;;;29069:16:97;;;;29099;28982:73;29069:29;:55::i;:::-;28775:1535;;;29154:14;29145:5;:23;;;;;;;;:::i;:::-;;29141:1169;;29324:12;:10;:12::i;:::-;-1:-1:-1;;;;;29324:21:97;;29363:10;29391:46;29418:7;29427:9;29391:26;:46::i;:::-;29455:45;29475:13;29490:9;29455:19;:45::i;:::-;29324:190;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29300:21;;;:214;;;29575:21;;;;29625:28;;;;29550:46;;;;29528:19;29769:27;29300:7;29769:18;:27::i;:::-;29762:34;;:4;:34;:::i;:::-;29739:57;;30120:7;:14;;;30101:7;:16;;;30086:12;30079:4;:19;;;;:::i;:::-;:38;;;;:::i;:::-;:55;;;;:::i;:::-;30070:64;;30148:91;30178:14;:52;;30214:16;;-1:-1:-1;;;;;30214:16:97;30178:52;;;30195:16;;;;-1:-1:-1;;;;;30195:16:97;30178:52;30148:16;;;;-1:-1:-1;;;;;30148:16:97;;30232:6;30148:29;:91::i;:::-;29170:1080;;;29141:1169;;;30277:22;;-1:-1:-1;;;30277:22:97;;;;;;;;;;;29141:1169;30398:16;;;;30368;;30502:21;;;;30325:228;;-1:-1:-1;;;;;30398:16:97;;;;30368;;;;30325:228;;;;;;;30428:10;;30452:9;;30475:13;;30537:6;;30325:228;:::i;:::-;;;;;;;;30694:30;:28;:30::i;:::-;-1:-1:-1;;;;;30759:20:97;;1818:19:88;:23;;30759:72:97;;;;-1:-1:-1;30785:23:97;;;:46;;;;;;30759:72;30755:207;;;30929:21;;;;30847:104;;-1:-1:-1;;;30847:104:97;;-1:-1:-1;;;;;30847:43:97;;;;;:104;;30891:10;;30903:9;;30914:13;;30847:104;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30755:207;30971:28;:26;:28::i;:::-;28479:2527;;28323:2683;;;;;;:::o;10473:288:21:-;10554:18;10612:19;:17;:19::i;:::-;10575:34;10593:15;10575:17;:34::i;:::-;:56;;;;:::i;:::-;10554:77;;10641:46;10665:8;10675:11;10641:23;:46::i;:::-;10702:52;;767:14:102;755:27;;737:46;;-1:-1:-1;;;;;10702:52:21;;;;;725:2:102;710:18;10702:52:21;;;;;;;10544:217;10473:288;:::o;12756:::-;12834:18;12892:26;12909:8;12892:16;:26::i;:::-;12855:34;12873:15;12855:17;:34::i;:::-;:63;;;;:::i;:::-;12834:84;;12928:39;12945:8;12955:11;12928:16;:39::i;:::-;12982:55;;;10681:14:102;10669:27;;;10651:46;;10733:27;;10728:2;10713:18;;10706:55;12982::21;;10624:18:102;12982:55:21;;;;;;;12824:220;12756:288;:::o;31282:180:97:-;31423:28;;;;31357:7;;31423:32;;31454:1;;31423:32;:::i;3146:225:48:-;3265:39;;-1:-1:-1;;;3265:39:48;;3289:4;3265:39;;;23774:51:102;-1:-1:-1;;;;;23861:32:102;;;23841:18;;;23834:60;3242:20:48;;3265:15;;;;;;23747:18:102;;3265:39:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3242:62;-1:-1:-1;3314:50:48;3327:5;3334:7;3343:20;3358:5;3242:62;3343:20;:::i;:::-;3314:12;:50::i;32489:176:97:-;32601:6;;:56;;-1:-1:-1;;;32601:56:97;;-1:-1:-1;;;32601:56:97;;;2812:25:102;32533:24:97;;-1:-1:-1;;;;;32601:6:97;;:31;;2785:18:102;;32601:56:97;2666:177:102;33240:472:97;33400:23;;;:34;33373:7;;33400:34;;33396:310;;;33485:38;;;;33450:16;;33485:43;;:102;;33572:15;;33485:102;;;33531:38;;;;33485:102;33450:137;;33633:8;33608:7;:22;;;:33;;;;:::i;:::-;33601:40;;;;;33396:310;-1:-1:-1;33679:16:97;33672:23;;34012:371;34110:12;34300:76;34336:13;34300:76;;;;;;;;;;;;;-1:-1:-1;;;34300:76:97;;;34366:9;34300:35;:76::i;1219:160:48:-;1328:43;;-1:-1:-1;;;;;24332:32:102;;;1328:43:48;;;24314:51:102;24381:18;;;24374:34;;;1301:71:48;;1321:5;;1343:14;;;;;24287:18:102;;1328:43:48;24140:274:102;9071:205:22;9129:30;;3147:66;9186:27;8819:122;5392:441:97;6929:20:22;:18;:20::i;:::-;5548:24:97::1;:22;:24::i;:::-;5582:59;5620:6;5628:12;5582:37;:59::i;:::-;5726:28;:26;:28::i;:::-;5764:62;5800:9;5811:14;5764:35;:62::i;11716:581:21:-:0;-1:-1:-1;;;;;;;;;;;11782:47:21;;11923:21;:19;:21::i;:::-;11885:59;;;;11959:24;11974:8;16952:13;;;;;16866:106;11959:24;11958:25;:58;;;-1:-1:-1;17180:15:21;17169:26;;;;11987:29;11958:58;11954:144;;;12039:48;;-1:-1:-1;;;12039:48:21;;767:14:102;755:27;;12039:48:21;;;737:46:102;710:18;;12039:48:21;593:196:102;11954:144:21;12107:47;2443:4:20;12139:14:21;:12;:14::i;:::-;12107:11;:47::i;:::-;-1:-1:-1;12164:40:21;2443:4:20;12195:8:21;12164:10;:40::i;:::-;-1:-1:-1;;12214:29:21;;-1:-1:-1;;;;;;12253:37:21;;;;-1:-1:-1;11716:581:21:o;5710:138:20:-;5785:18;5798:4;5785:12;:18::i;:::-;3272:16;3283:4;3272:10;:16::i;:::-;5815:26:::1;5827:4;5833:7;5815:11;:26::i;11075:111:21:-:0;11141:38;11173:1;11177;11141:23;:38::i;4429:197:20:-;4517:22;4525:4;4531:7;4517;:22::i;:::-;4512:108;;4562:47;;-1:-1:-1;;;4562:47:20;;-1:-1:-1;;;;;24332:32:102;;4562:47:20;;;24314:51:102;24381:18;;;24374:34;;;24287:18;;4562:47:20;24140:274:102;16023:698:21;-1:-1:-1;;;;;;;;;;;16228:23:21;-1:-1:-1;;;;;;;;;;;3245:45:21;-1:-1:-1;;;16228:23:21;;;;16952:13;;16262:369;;17180:15;17169:26;;;;16309:312;;;16429:15;;;;16411:33;;-1:-1:-1;;;;;16411:33:21;-1:-1:-1;;;16429:15:21;;;;;-1:-1:-1;;;16411:33:21;;;;16309:312;;;16573:33;;;;;;;16309:312;-1:-1:-1;16641:15:21;;:26;;-1:-1:-1;;;;;16677:37:21;-1:-1:-1;;;16641:26:21;;;;;-1:-1:-1;;;;;16677:37:21;;-1:-1:-1;;;16677:37:21;;;;;;;;;;;;;;16023:698::o;8370:720:48:-;8450:18;8478:19;8616:4;8613:1;8606:4;8600:11;8593:4;8587;8583:15;8580:1;8573:5;8566;8561:60;8673:7;8663:176;;8717:4;8711:11;8762:16;8759:1;8754:3;8739:40;8808:16;8803:3;8796:29;8663:176;-1:-1:-1;;8916:1:48;8910:8;8866:16;;-1:-1:-1;8942:15:48;;:68;;8994:11;9009:1;8994:16;;8942:68;;;-1:-1:-1;;;;;8960:26:48;;;:31;8942:68;8938:146;;;9033:40;;-1:-1:-1;;;9033:40:48;;-1:-1:-1;;;;;8893:32:102;;9033:40:48;;;8875:51:102;8848:18;;9033:40:48;8729:203:102;7105:475:21;7191:4;-1:-1:-1;;;;;;;;;;;7314:4:21;7310:216;;7386:1;7360:14;:12;:14::i;:::-;-1:-1:-1;;;;;7360:28:21;;7356:114;;7415:40;;-1:-1:-1;;;7415:40:21;;;;;;;;;;;7356:114;7483:22;;;:32;;-1:-1:-1;;;;;;7483:32:21;-1:-1:-1;;;;;7483:32:21;;;;;7310:216;7542:31;7559:4;7565:7;7542:16;:31::i;7631:376::-;7718:4;-1:-1:-1;;;;;;;;;;;7841:26:21;;:55;;;;;7882:14;:12;:14::i;:::-;-1:-1:-1;;;;;7871:25:21;:7;-1:-1:-1;;;;;7871:25:21;;7841:55;7837:115;;;7919:22;;;7912:29;;-1:-1:-1;;;;;;7912:29:21;;;7837:115;7968:32;7986:4;7992:7;7968:17;:32::i;2264:344:38:-;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:38;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;2454:148::-;2573:18;:16;:18::i;14296:213:62:-;14352:6;14382:16;14374:24;;14370:103;;;14421:41;;-1:-1:-1;;;14421:41:62;;14452:2;14421:41;;;24879:36:102;24931:18;;;24924:34;;;24852:18;;14421:41:62;24698:266:102;14370:103:62;-1:-1:-1;14496:5:62;14296:213::o;15237:632:21:-;-1:-1:-1;;;;;;;;;;;15326:47:21;15454:21;:19;:21::i;:::-;15486:33;;15529:44;;;-1:-1:-1;;;15529:44:21;-1:-1:-1;;;;;;15529:44:21;;;-1:-1:-1;;;;;15486:33:21;;15529:44;;;;15429:46;-1:-1:-1;15685:27:21;;-1:-1:-1;15429:46:21;16952:13;;;;;16866:106;15685:27;15681:182;;;15822:30;;;;;;;15316:553;;15237:632;;:::o;13796:1249::-;13870:6;13888:19;13910;:17;:19::i;:::-;13888:41;;14859:12;14848:23;;:8;:23;;;:190;;15015:23;15030:8;15015:12;:23;:::i;:::-;14848:190;;;14897:51;;;;10004:6;14897:8;:51::i;5084:380:48:-;5199:47;;;-1:-1:-1;;;;;24332:32:102;;5199:47:48;;;24314:51:102;24381:18;;;;24374:34;;;5199:47:48;;;;;;;;;;24287:18:102;;;;5199:47:48;;;;;;;;-1:-1:-1;;;;;5199:47:48;-1:-1:-1;;;5199:47:48;;;5262:44;5214:13;5199:47;5262:23;:44::i;:::-;5257:201;;5349:43;;-1:-1:-1;;;;;24332:32:102;;;5349:43:48;;;24314:51:102;5389:1:48;24381:18:102;;;24374:34;5322:71:48;;5342:5;;5364:13;;;;;24287:18:102;;5349:43:48;24140:274:102;5322:71:48;5407:40;5427:5;5434:12;5407:19;:40::i;5184:337:76:-;5336:12;5360:19;5382:42;5398:20;5420:3;5382:15;:42::i;:::-;5360:64;;5458:20;5480:6;5488:25;5507:5;5488:18;:25::i;:::-;5441:73;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5434:80;;;5184:337;;;;;:::o;7082:141:22:-;7149:17;:15;:17::i;:::-;7144:73;;7189:17;;-1:-1:-1;;;7189:17:22;;;;;;;;;;;2970:67:23;6929:20:22;:18;:20::i;3416:222:21:-;6929:20:22;:18;:20::i;:::-;3549:82:21::1;3597:12;3611:19;3549:47;:82::i;934:489:91:-:0;6929:20:22;:18;:20::i;6055:246:97:-;6929:20:22;:18;:20::i;:::-;6179:6:97::1;:40:::0;;-1:-1:-1;;;;;;6179:40:97::1;-1:-1:-1::0;;;;;6179:40:97;::::1;;::::0;;6229:28:::1;6247:9:::0;6229:17:::1;:28::i;:::-;-1:-1:-1::0;6267:15:97::1;:27:::0;6055:246::o;7318:387:20:-;7395:4;-1:-1:-1;;;;;;;;;;;7485:22:20;7493:4;7499:7;7485;:22::i;:::-;7480:219;;7523:8;:14;;;;;;;;;;;-1:-1:-1;;;;;7523:31:20;;;;;;;;;:38;;-1:-1:-1;;7523:38:20;7557:4;7523:38;;;7607:12;966:10:24;;887:96;7607:12:20;-1:-1:-1;;;;;7580:40:20;7598:7;-1:-1:-1;;;;;7580:40:20;7592:4;7580:40;;;;;;;;;;7641:4;7634:11;;;;;7480:219;7683:5;7676:12;;;;;7942:388;8020:4;-1:-1:-1;;;;;;;;;;;8109:22:20;8117:4;8123:7;8109;:22::i;:::-;8105:219;;;8181:5;8147:14;;;;;;;;;;;-1:-1:-1;;;;;8147:31:20;;;;;;;;;;:39;;-1:-1:-1;;8147:39:20;;;8205:40;966:10:24;;8147:14:20;;8205:40;;8181:5;8205:40;8266:4;8259:11;;;;;1671:281:38;1748:17;-1:-1:-1;;;;;1748:29:38;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:38;;-1:-1:-1;;;;;8893:32:102;;1805:47:38;;;8875:51:102;8848:18;;1805:47:38;8729:203:102;1744:119:38;-1:-1:-1;;;;;;;;;;;1872:73:38;;-1:-1:-1;;;;;;1872:73:38;-1:-1:-1;;;;;1872:73:38;;;;;;;;;;1671:281::o;3916:253:49:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:49;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4023:67;;;;4107:55;4134:6;4142:7;4151:10;4107:26;:55::i;6113:122:38:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:38;;;;;;;;;;;5617:111:61;5675:7;5312:5;;;5709;;;5311:36;5306:42;;5701:20;5071:294;9592:480:48;9675:4;9691:12;9713:18;9741:19;9875:4;9872:1;9865:4;9859:11;9852:4;9846;9842:15;9839:1;9832:5;9825;9820:60;9809:71;;9907:16;9893:30;;9957:1;9951:8;9936:23;;9985:7;:80;;;;-1:-1:-1;9997:15:48;;:67;;10048:11;10063:1;10048:16;9997:67;;;-1:-1:-1;;;;;;;;;;10015:26:48;;:30;;;9592:480::o;6928:295:76:-;7057:27;;7029:12;;7057:31;7053:164;;7133:3;7111:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;7104:38;;;;7053:164;7197:3;7180:26;;;;;;;;:::i;3145:218::-;3207:12;3267:47;-1:-1:-1;;;;;3287:26:76;;;;;3267:19;:47::i;:::-;3323:31;3351:1;3343:10;;3323:31;;;:19;:31::i;:::-;3250:106;;;;;;;;26960:19:102;;;-1:-1:-1;;;;;;27009:41:102;27004:2;26995:12;;26988:63;27076:2;27067:12;;26805:280;3250:106:76;;;;;;;;;;;;;3231:125;;3145:218;;;:::o;8485:120:22:-;8535:4;8558:26;:24;:26::i;:::-;:40;-1:-1:-1;;;8558:40:22;;;;;;-1:-1:-1;8485:120:22:o;3644:468:21:-;6929:20:22;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;3894:33:21;::::1;3890:115;;3950:44;::::0;-1:-1:-1;;;3950:44:21;;3991:1:::1;3950:44;::::0;::::1;8875:51:102::0;8848:18;;3950:44:21::1;8729:203:102::0;3890:115:21::1;4014:30:::0;;-1:-1:-1;;;;;4014:30:21::1;-1:-1:-1::0;;;4014:30:21::1;::::0;::::1;;;::::0;;4054:51:::1;-1:-1:-1::0;4085:19:21;4054:10:::1;:51::i;4437:582:49:-:0;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;4605:408::-;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:49;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:49;;-1:-1:-1;;;;;8893:32:102;;4933:24:49;;;8875:51:102;8848:18;;4933:24:49;8729:203:102;4853:119:49;-1:-1:-1;4992:10:49;4985:17;;897:1306:76;965:7;1008:9;1028:7;1020:16;;1008:28;;1088:1;-1:-1:-1;;;;;1088:70:76;1084:74;;1182:1;-1:-1:-1;;;1182:9:76;1177:1;:15;1196:66;1176:86;1172:90;;1286:1;1290:5;1286:9;1281:1;:15;1300:66;1280:86;1276:90;;1390:1;1394:5;1390:9;1385:1;:15;1404:66;1384:86;1380:90;;1494:1;1498:4;1494:8;1489:1;:14;1507:66;1488:85;1484:89;;1597:1;1601:4;1597:8;1592:1;:14;1610:66;1591:85;1587:89;;1717:9;1804:1;1730;1734:66;1730:70;1729:76;;;;;:::i;:::-;;1906:1;1836:66;1832:70;;1831:76;2008:1;1938:66;1934:70;;1933:76;2037:5;2032:11;2047:4;2031:20;2027:24;;;2054:66;2027:93;;;-1:-1:-1;;;897:1306:76:o;5559:434:49:-;5690:17;;:21;5686:301;;5894:10;5888:17;5881:4;5869:10;5865:21;5858:48;5686:301;5957:19;;-1:-1:-1;;;5957:19:49;;;;;;;;;;;14:286:102;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:102;;209:43;;199:71;;266:1;263;256:12;794:127;855:10;850:3;846:20;843:1;836:31;886:4;883:1;876:15;910:4;907:1;900:15;926:745;968:5;1021:3;1014:4;1006:6;1002:17;998:27;988:55;;1039:1;1036;1029:12;988:55;1079:6;1066:20;-1:-1:-1;;;;;1101:6:102;1098:30;1095:56;;;1131:18;;:::i;:::-;1200:2;1194:9;1292:2;1254:17;;-1:-1:-1;;1250:31:102;;;1283:2;1246:40;1242:54;1230:67;;-1:-1:-1;;;;;1312:34:102;;1348:22;;;1309:62;1306:88;;;1374:18;;:::i;:::-;1410:2;1403:22;1434;;;1475:19;;;1496:4;1471:30;1468:39;-1:-1:-1;1465:59:102;;;1520:1;1517;1510:12;1465:59;1584:6;1577:4;1569:6;1565:17;1558:4;1550:6;1546:17;1533:58;1639:1;1611:19;;;1632:4;1607:30;1600:41;;;;1615:6;926:745;-1:-1:-1;;;926:745:102:o;1676:139::-;-1:-1:-1;;;;;1759:31:102;;1749:42;;1739:70;;1805:1;1802;1795:12;1820:841;1940:6;1948;1956;1964;1972;2025:3;2013:9;2004:7;2000:23;1996:33;1993:53;;;2042:1;2039;2032:12;1993:53;2087:23;;;-1:-1:-1;2207:2:102;2192:18;;2179:32;;-1:-1:-1;2288:2:102;2273:18;;2260:32;-1:-1:-1;;;;;2304:30:102;;2301:50;;;2347:1;2344;2337:12;2301:50;2370:49;2411:7;2402:6;2391:9;2387:22;2370:49;:::i;:::-;2360:59;;;2471:2;2460:9;2456:18;2443:32;2484:41;2517:7;2484:41;:::i;:::-;1820:841;;;;-1:-1:-1;1820:841:102;;2624:3;2609:19;2596:33;;1820:841;-1:-1:-1;;1820:841:102:o;2848:554::-;2934:6;2942;2950;3003:2;2991:9;2982:7;2978:23;2974:32;2971:52;;;3019:1;3016;3009:12;2971:52;3064:23;;;-1:-1:-1;3184:2:102;3169:18;;3156:32;;-1:-1:-1;3265:2:102;3250:18;;3237:32;-1:-1:-1;;;;;3281:30:102;;3278:50;;;3324:1;3321;3314:12;3278:50;3347:49;3388:7;3379:6;3368:9;3364:22;3347:49;:::i;:::-;3337:59;;;2848:554;;;;;:::o;3407:226::-;3466:6;3519:2;3507:9;3498:7;3494:23;3490:32;3487:52;;;3535:1;3532;3525:12;3487:52;-1:-1:-1;3580:23:102;;3407:226;-1:-1:-1;3407:226:102:o;3820:375::-;3888:6;3896;3949:2;3937:9;3928:7;3924:23;3920:32;3917:52;;;3965:1;3962;3955:12;3917:52;4010:23;;;-1:-1:-1;4109:2:102;4094:18;;4081:32;4122:41;4081:32;4122:41;:::i;:::-;4182:7;4172:17;;;3820:375;;;;;:::o;4200:675::-;4295:6;4303;4311;4319;4372:3;4360:9;4351:7;4347:23;4343:33;4340:53;;;4389:1;4386;4379:12;4340:53;4434:23;;;-1:-1:-1;4554:2:102;4539:18;;4526:32;;-1:-1:-1;4635:2:102;4620:18;;4607:32;-1:-1:-1;;;;;4651:30:102;;4648:50;;;4694:1;4691;4684:12;4648:50;4717:49;4758:7;4749:6;4738:9;4734:22;4717:49;:::i;:::-;4200:675;;;;-1:-1:-1;4707:59:102;;4839:2;4824:18;4811:32;;-1:-1:-1;;;4200:675:102:o;4880:463::-;4957:6;4965;5018:2;5006:9;4997:7;4993:23;4989:32;4986:52;;;5034:1;5031;5024:12;4986:52;5073:9;5060:23;5092:39;5125:5;5092:39;:::i;:::-;5150:5;-1:-1:-1;5206:2:102;5191:18;;5178:32;-1:-1:-1;;;;;5222:30:102;;5219:50;;;5265:1;5262;5255:12;5219:50;5288:49;5329:7;5320:6;5309:9;5305:22;5288:49;:::i;:::-;5278:59;;;4880:463;;;;;:::o;5528:704::-;5623:6;5631;5639;5647;5700:3;5688:9;5679:7;5675:23;5671:33;5668:53;;;5717:1;5714;5707:12;5668:53;5756:9;5743:23;5775:39;5808:5;5775:39;:::i;:::-;5833:5;-1:-1:-1;5911:2:102;5896:18;;5883:32;;-1:-1:-1;6014:2:102;5999:18;;5986:32;;-1:-1:-1;6095:2:102;6080:18;;6067:32;-1:-1:-1;;;;;6111:30:102;;6108:50;;;6154:1;6151;6144:12;6108:50;6177:49;6218:7;6209:6;6198:9;6194:22;6177:49;:::i;:::-;6167:59;;;5528:704;;;;;;;:::o;6237:255::-;6296:6;6349:2;6337:9;6328:7;6324:23;6320:32;6317:52;;;6365:1;6362;6355:12;6317:52;6404:9;6391:23;6423:39;6456:5;6423:39;:::i;6497:280::-;6555:6;6608:2;6596:9;6587:7;6583:23;6579:32;6576:52;;;6624:1;6621;6614:12;6576:52;6663:9;6650:23;6713:14;6706:5;6702:26;6695:5;6692:37;6682:65;;6743:1;6740;6733:12;6782:854;6886:6;6894;6902;6910;6918;6971:3;6959:9;6950:7;6946:23;6942:33;6939:53;;;6988:1;6985;6978:12;6939:53;7027:9;7014:23;7046:39;7079:5;7046:39;:::i;:::-;7104:5;-1:-1:-1;7161:2:102;7146:18;;7133:32;7174:41;7133:32;7174:41;:::i;:::-;7234:7;-1:-1:-1;7314:2:102;7299:18;;7286:32;;-1:-1:-1;7417:2:102;7402:18;;7389:32;;-1:-1:-1;7498:3:102;7483:19;;7470:33;-1:-1:-1;;;;;7515:30:102;;7512:50;;;7558:1;7555;7548:12;7512:50;7581:49;7622:7;7613:6;7602:9;7598:22;7581:49;:::i;:::-;7571:59;;;6782:854;;;;;;;;:::o;7641:974::-;7753:6;7761;7769;7777;7785;7793;7846:3;7834:9;7825:7;7821:23;7817:33;7814:53;;;7863:1;7860;7853:12;7814:53;7902:9;7889:23;7921:39;7954:5;7921:39;:::i;:::-;7979:5;-1:-1:-1;8036:2:102;8021:18;;8008:32;8049:41;8008:32;8049:41;:::i;:::-;8109:7;-1:-1:-1;8189:2:102;8174:18;;8161:32;;-1:-1:-1;8292:2:102;8277:18;;8264:32;;-1:-1:-1;8373:3:102;8358:19;;8345:33;-1:-1:-1;;;;;8390:30:102;;8387:50;;;8433:1;8430;8423:12;8387:50;8456:49;8497:7;8488:6;8477:9;8473:22;8456:49;:::i;:::-;7641:974;;;;-1:-1:-1;7641:974:102;;;;;8578:3;8563:19;;;8550:33;;-1:-1:-1;;;7641:974:102:o;8937:516::-;9038:5;9032:12;9025:20;9018:28;9013:3;9006:41;9110:4;9103:5;9099:16;9093:23;9086:31;9079:39;9072:4;9067:3;9063:14;9056:63;9182:4;9175:5;9171:16;9165:23;9158:31;9151:39;9144:4;9139:3;9135:14;9128:63;9254:4;9247:5;9243:16;9237:23;9230:31;9223:39;9216:4;9211:3;9207:14;9200:63;9326:4;9319:5;9315:16;9309:23;9302:31;9295:39;9288:4;9283:3;9279:14;9272:63;9384:4;9377:5;9373:16;9367:23;9360:4;9355:3;9351:14;9344:47;9440:4;9433:5;9429:16;9423:23;9416:4;9411:3;9407:14;9400:47;;;8937:516::o;9458:1018::-;-1:-1:-1;;;;;9949:32:102;;;9931:51;;10018:32;;;10013:2;9998:18;;9991:60;10087:32;;10082:2;10067:18;;10060:60;10163:14;;10156:22;10151:2;10136:18;;10129:50;9918:3;9903:19;;10188:62;10245:3;10230:19;;10222:6;10188:62;:::i;:::-;10281:3;10266:19;;10259:35;;;;10325:3;10310:19;;10303:35;;;;10369:3;10354:19;;10347:35;;;;10413:3;10398:19;;10391:35;10457:3;10442:19;;;10435:35;9458:1018;;-1:-1:-1;;;;;9458:1018:102:o;10772:1066::-;10990:13;;-1:-1:-1;;;;;8686:31:102;8674:44;;10958:3;10943:19;;11062:4;11054:6;11050:17;11044:24;11077:54;11125:4;11114:9;11110:20;11096:12;-1:-1:-1;;;;;8686:31:102;8674:44;;8620:104;11077:54;;11180:4;11172:6;11168:17;11162:24;11195:56;11245:4;11234:9;11230:20;11214:14;-1:-1:-1;;;;;8686:31:102;8674:44;;8620:104;11195:56;;11300:4;11292:6;11288:17;11282:24;11315:53;11362:4;11351:9;11347:20;11331:14;375:13;368:21;356:34;;305:91;11315:53;;11417:4;11409:6;11405:17;11399:24;11432:71;11497:4;11486:9;11482:20;11466:14;11432:71;:::i;:::-;-1:-1:-1;11561:4:102;11549:17;;11543:24;11534:6;11519:22;;11512:56;11626:4;11614:17;;11608:24;11599:6;11584:22;;11577:56;11691:4;11679:17;;11673:24;11664:6;11649:22;;11642:56;11756:6;11744:19;;11738:26;11729:6;11714:22;;11707:58;11823:6;11811:19;;;11805:26;11796:6;11781:22;;;11774:58;10772:1066;:::o;11843:289::-;11885:3;11923:5;11917:12;11950:6;11945:3;11938:19;12006:6;11999:4;11992:5;11988:16;11981:4;11976:3;11972:14;11966:47;12058:1;12051:4;12042:6;12037:3;12033:16;12029:27;12022:38;12121:4;12114:2;12110:7;12105:2;12097:6;12093:15;12089:29;12084:3;12080:39;12076:50;12069:57;;;11843:289;;;;:::o;12137:220::-;12286:2;12275:9;12268:21;12249:4;12306:45;12347:2;12336:9;12332:18;12324:6;12306:45;:::i;12362:463::-;12439:6;12447;12500:2;12488:9;12479:7;12475:23;12471:32;12468:52;;;12516:1;12513;12506:12;12468:52;12556:9;12543:23;-1:-1:-1;;;;;12581:6:102;12578:30;12575:50;;;12621:1;12618;12611:12;12575:50;12644:49;12685:7;12676:6;12665:9;12661:22;12644:49;:::i;:::-;12634:59;;;12743:2;12732:9;12728:18;12715:32;12756:39;12789:5;12756:39;:::i;13053:524::-;13130:6;13138;13146;13199:2;13187:9;13178:7;13174:23;13170:32;13167:52;;;13215:1;13212;13205:12;13167:52;13260:23;;;-1:-1:-1;13359:2:102;13344:18;;13331:32;13372:41;13331:32;13372:41;:::i;:::-;13432:7;-1:-1:-1;13491:2:102;13476:18;;13463:32;13504:41;13463:32;13504:41;:::i;:::-;13564:7;13554:17;;;13053:524;;;;;:::o;13582:824::-;13685:6;13693;13701;13709;13717;13770:3;13758:9;13749:7;13745:23;13741:33;13738:53;;;13787:1;13784;13777:12;13738:53;13826:9;13813:23;13845:39;13878:5;13845:39;:::i;:::-;13903:5;-1:-1:-1;13981:2:102;13966:18;;13953:32;;-1:-1:-1;14084:2:102;14069:18;;14056:32;;-1:-1:-1;14165:2:102;14150:18;;14137:32;-1:-1:-1;;;;;14181:30:102;;14178:50;;;14224:1;14221;14214:12;14178:50;14247:49;14288:7;14279:6;14268:9;14264:22;14247:49;:::i;:::-;13582:824;;;;-1:-1:-1;13582:824:102;;14369:3;14354:19;14341:33;;13582:824;-1:-1:-1;;;13582:824:102:o;14644:127::-;14705:10;14700:3;14696:20;14693:1;14686:31;14736:4;14733:1;14726:15;14760:4;14757:1;14750:15;14776:339;14919:2;14904:18;;14952:1;14941:13;;14931:144;;14997:10;14992:3;14988:20;14985:1;14978:31;15032:4;15029:1;15022:15;15060:4;15057:1;15050:15;14931:144;15084:25;;;14776:339;:::o;15418:118::-;15504:5;15497:13;15490:21;15483:5;15480:32;15470:60;;15526:1;15523;15516:12;15541:962;15645:6;15653;15661;15669;15677;15685;15738:3;15726:9;15717:7;15713:23;15709:33;15706:53;;;15755:1;15752;15745:12;15706:53;15800:23;;;-1:-1:-1;15920:2:102;15905:18;;15892:32;;-1:-1:-1;16001:2:102;15986:18;;15973:32;-1:-1:-1;;;;;16017:30:102;;16014:50;;;16060:1;16057;16050:12;16014:50;16083:49;16124:7;16115:6;16104:9;16100:22;16083:49;:::i;:::-;16073:59;;;16184:2;16173:9;16169:18;16156:32;16197:30;16219:7;16197:30;:::i;:::-;16246:7;-1:-1:-1;16305:3:102;16290:19;;16277:33;16319:30;16277:33;16319:30;:::i;:::-;16368:7;-1:-1:-1;16427:3:102;16412:19;;16399:33;16441:30;16399:33;16441:30;:::i;:::-;16490:7;16480:17;;;15541:962;;;;;;;;:::o;16508:245::-;16575:6;16628:2;16616:9;16607:7;16603:23;16599:32;16596:52;;;16644:1;16641;16634:12;16596:52;16676:9;16670:16;16695:28;16717:5;16695:28;:::i;16758:127::-;16819:10;16814:3;16810:20;16807:1;16800:31;16850:4;16847:1;16840:15;16874:4;16871:1;16864:15;16890:128;16957:9;;;16978:11;;;16975:37;;;16992:18;;:::i;17023:547::-;17120:6;17180:2;17168:9;17159:7;17155:23;17151:32;17195:2;17192:22;;;17210:1;17207;17200:12;17192:22;-1:-1:-1;17279:2:102;17273:9;17321:2;17309:15;;-1:-1:-1;;;;;17339:34:102;;17375:22;;;17336:62;17333:88;;;17401:18;;:::i;:::-;17437:2;17430:22;17493:16;;17518:21;;-1:-1:-1;17525:6:102;17023:547;-1:-1:-1;17023:547:102:o;17575:603::-;17862:6;17851:9;17844:25;17905:6;17900:2;17889:9;17885:18;17878:34;17948:3;17943:2;17932:9;17928:18;17921:31;17825:4;17969:46;18010:3;17999:9;17995:19;17987:6;17969:46;:::i;:::-;-1:-1:-1;;;;;18051:32:102;;;;18046:2;18031:18;;18024:60;-1:-1:-1;18115:3:102;18100:19;;18093:35;;;;18071:3;18144:19;;;18137:35;18051:32;17961:54;-1:-1:-1;;;17575:603:102:o;18183:168::-;18256:9;;;18287;;18304:15;;;18298:22;;18284:37;18274:71;;18325:18;;:::i;18356:125::-;18421:9;;;18442:10;;;18439:36;;;18455:18;;:::i;18826:360::-;19029:6;19018:9;19011:25;19072:6;19067:2;19056:9;19052:18;19045:34;19115:2;19110;19099:9;19095:18;19088:30;18992:4;19135:45;19176:2;19165:9;19161:18;19153:6;19135:45;:::i;19191:431::-;19420:6;19409:9;19402:25;19463:6;19458:2;19447:9;19443:18;19436:34;19506:3;19501:2;19490:9;19486:18;19479:31;19383:4;19527:46;19568:3;19557:9;19553:19;19545:6;19527:46;:::i;:::-;19519:54;;19609:6;19604:2;19593:9;19589:18;19582:34;19191:431;;;;;;;:::o;20065:601::-;20350:6;20339:9;20332:25;20393:6;20388:2;20377:9;20373:18;20366:34;20436:3;20431:2;20420:9;20416:18;20409:31;20313:4;20457:46;20498:3;20487:9;20483:19;20475:6;20457:46;:::i;:::-;20534:2;20519:18;;20512:34;;;;-1:-1:-1;20577:3:102;20562:19;;20555:35;;;;-1:-1:-1;;;;;20627:32:102;20647:3;20606:19;;;20599:61;20449:54;20065:601;-1:-1:-1;;;20065:601:102:o;20885:259::-;20955:6;21008:2;20996:9;20987:7;20983:23;20979:32;20976:52;;;21024:1;21021;21014:12;20976:52;21056:9;21050:16;21075:39;21108:5;21075:39;:::i;21149:211::-;21190:3;21228:5;21222:12;21272:6;21265:4;21258:5;21254:16;21249:3;21243:36;21334:1;21298:16;;21323:13;;;-1:-1:-1;21298:16:102;;21149:211;-1:-1:-1;21149:211:102:o;21365:431::-;21633:26;21629:31;21620:6;21616:2;21612:15;21608:53;21603:3;21596:66;21692:6;21687:2;21682:3;21678:12;21671:28;21729:6;21724:2;21719:3;21715:12;21708:28;21578:3;21752:38;21786:2;21781:3;21777:12;21769:6;21752:38;:::i;22177:184::-;22247:6;22300:2;22288:9;22279:7;22275:23;22271:32;22268:52;;;22316:1;22313;22306:12;22268:52;-1:-1:-1;22339:16:102;;22177:184;-1:-1:-1;22177:184:102:o;22554:503::-;22811:6;22800:9;22793:25;22854:6;22849:2;22838:9;22834:18;22827:34;22897:3;22892:2;22881:9;22877:18;22870:31;22774:4;22918:46;22959:3;22948:9;22944:19;22936:6;22918:46;:::i;:::-;22995:2;22980:18;;22973:34;;;;-1:-1:-1;23038:3:102;23023:19;23016:35;22910:54;22554:503;-1:-1:-1;;;22554:503:102:o;23062:179::-;23161:14;23130:22;;;23154;;;23126:51;;23189:23;;23186:49;;;23215:18;;:::i;23246:127::-;23307:10;23302:3;23298:20;23295:1;23288:31;23338:4;23335:1;23328:15;23362:4;23359:1;23352:15;23378:217;23418:1;23444;23434:132;;23488:10;23483:3;23479:20;23476:1;23469:31;23523:4;23520:1;23513:15;23551:4;23548:1;23541:15;23434:132;-1:-1:-1;23580:9:102;;23378:217::o;24969:182::-;25070:14;25063:22;;;25039;;;25035:51;;25098:24;;25095:50;;;25125:18;;:::i;25443:333::-;25664:3;25689:81;25714:55;25739:29;25764:3;25756:6;25739:29;:::i;:::-;25731:6;25714:55;:::i;:::-;25706:6;25689:81;:::i;25781:189::-;25910:3;25935:29;25960:3;25952:6;25935:29;:::i;25975:477::-;-1:-1:-1;;;26331:3:102;26324:16;26306:3;26359:37;26393:1;26388:3;26384:11;26376:6;26359:37;:::i;:::-;-1:-1:-1;;;26405:15:102;;26444:1;26436:10;;25975:477;-1:-1:-1;;;25975:477:102:o;26457:343::-;26687:3;26715:29;26740:3;26732:6;26715:29;:::i","linkReferences":{},"immutableReferences":{"40860":[{"start":8540,"length":32},{"start":8581,"length":32},{"start":8901,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","OO_ANCILLARY_DATA_LIMIT()":"4ccb56f5","TOO_EARLY_RESPONSE()":"ff8c1a8c","UPGRADE_ADMIN_ROLE()":"8ffc2120","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","acceptDefaultAdminTransfer()":"cefc1429","ancillaryBytesLimit()":"c371dda7","beginDefaultAdminTransfer(address)":"634e93da","cancelDefaultAdminTransfer()":"d602b9fd","changeDefaultAdminDelay(uint48)":"649a5ec7","defaultAdmin()":"84ef8ffc","defaultAdminDelay()":"cc8463c8","defaultAdminDelayIncreaseWait()":"022d63fb","defaultLiveness()":"fe4e1983","disputePrice(address,bytes32,uint256,bytes)":"fba7f1e3","disputePriceFor(address,address,bytes32,uint256,bytes)":"76c7823f","finder()":"b9a3c84c","getCurrentTime()":"29cb924d","getRequest(address,bytes32,uint256,bytes)":"a9904f9b","getRoleAdmin(bytes32)":"248a9ca3","getState(address,bytes32,uint256,bytes)":"ba4b930c","grantRole(bytes32,address)":"2f2ff15d","hasPrice(address,bytes32,uint256,bytes)":"bc58ccaa","hasRole(bytes32,address)":"91d14854","initialize(uint256,address,address)":"b4988fd0","owner()":"8da5cb5b","pendingDefaultAdmin()":"cf6eefb7","pendingDefaultAdminDelay()":"a1eda53c","proposePrice(address,bytes32,uint256,bytes,int256)":"b8b4f908","proposePriceFor(address,address,bytes32,uint256,bytes,int256)":"7c82288f","proxiableUUID()":"52d1902d","renounceRole(bytes32,address)":"36568abe","requestPrice(bytes32,uint256,bytes,address,uint256)":"11df92f1","requests(bytes32)":"9d866985","revokeRole(bytes32,address)":"d547741f","rollbackDefaultAdminDelay()":"0aa6220b","setBond(bytes32,uint256,bytes,uint256)":"ad5a755a","setCallbacks(bytes32,uint256,bytes,bool,bool,bool)":"f327b075","setCustomLiveness(bytes32,uint256,bytes,uint256)":"473c45fe","setEventBased(bytes32,uint256,bytes)":"120698af","setRefundOnDispute(bytes32,uint256,bytes)":"91f58dcb","settle(address,bytes32,uint256,bytes)":"5e9a79a9","settleAndGetPrice(bytes32,uint256,bytes)":"53b59239","stampAncillaryData(bytes,address)":"af5d2f39","supportsInterface(bytes4)":"01ffc9a7","upgradeToAndCall(address,bytes)":"4f1ef286"}}},"OptimisticRequester":{"abi":[{"type":"function","name":"priceDisputed","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"refund","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"priceProposed","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"priceSettled","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"price","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"refund\",\"type\":\"uint256\"}],\"name\":\"priceDisputed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"priceProposed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"int256\",\"name\":\"price\",\"type\":\"int256\"}],\"name\":\"priceSettled\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"this contract does _not_ work with ERC777 collateral currencies or any others that call into the receiver on transfer(). Using an ERC777 token would allow a user to maliciously grief other participants (while also losing money themselves).\",\"kind\":\"dev\",\"methods\":{\"priceDisputed(bytes32,uint256,bytes,uint256)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier being requested.\",\"refund\":\"refund received in the case that refundOnDispute was enabled.\",\"timestamp\":\"timestamp of the price being requested.\"}},\"priceProposed(bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier being requested.\",\"timestamp\":\"timestamp of the price being requested.\"}},\"priceSettled(bytes32,uint256,bytes,int256)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier being requested.\",\"price\":\"price that was resolved by the escalation process.\",\"timestamp\":\"timestamp of the price being requested.\"}}},\"title\":\"Optimistic Requester.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"priceDisputed(bytes32,uint256,bytes,uint256)\":{\"notice\":\"Callback for disputes.\"},\"priceProposed(bytes32,uint256,bytes)\":{\"notice\":\"Callback for proposals.\"},\"priceSettled(bytes32,uint256,bytes,int256)\":{\"notice\":\"Callback for settlement.\"}},\"notice\":\"Optional interface that requesters can implement to receive callbacks.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol\":\"OptimisticRequester\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x85a70e2b1b65e9ba456add364d22b97eb9944083df1c39c0b4bd6a4b5aa386a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d32a33be6ca4d8e89b9e82e3f9cec7a6c4e040534152313ff55da85b8f193059\",\"dweb:/ipfs/QmeR55L8t2A8xZ1nvT5y4yVWfFbbmpaGAtGBMz3GGNpuyP\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol\":{\"keccak256\":\"0x2922ed589f7063a685dffc9297f8b669c1e86f2fde9078c08d8bff079cf636a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0bd42676681a1c4563f61a767bfbc50ef207544a3d6eee9aa66830cc15ccb679\",\"dweb:/ipfs/QmRMCKEXNWJq1EdCjNQtTXf9tuppnyGtaiBCiNk3TYVcK1\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x6694b63ddb2c59bbe341c846171798350e8f72fa02189fcdeaca864e28b54e1f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d945d33e2189ac4e531e4ed228f59ca957b3898c4f9051f4b8c7ae44d72b23a\",\"dweb:/ipfs/QmRcEwubTe3xyXxthijs5fVzEgUFSxeddjd5PGfhBnkunX\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xbff9f59c84e5337689161ce7641c0ef8e872d6a7536fbc1f5133f128887aba3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b308f882e796f7b79c9502deacb0a62983035c6f6f4e962b319ba6a1f4a77d3d\",\"dweb:/ipfs/QmaWCW7ahEQqFjwhSUhV7Ae7WhfNvzSpE7DQ58hvEooqPL\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol\":{\"keccak256\":\"0x956d6404c7b61b920a9ccbc9918f94a2bd3004de3dd13310995eda5bc17f1ead\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c12dc67a285548d455683db60f1ed845c03ac3c27f8f24f905defd3c54601406\",\"dweb:/ipfs/QmXDaxKsnq6RxH44VPSqxjLyygdXn3GR1o6W9pr2iXzjZq\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol\":{\"keccak256\":\"0x21529ba6918f994ec44fb97cef2b717d730268e911a4e626f3e425a4394f7bae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10949be539eb61e5ea8996cc93f21be61949c16a1b717adc2b3f8f099c1e1feb\",\"dweb:/ipfs/QmagATozhFXBUVTLaiHWyqVPgew9N1x18V6hBF46AZPeLw\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508\",\"dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"lib/openzeppelin-contracts/contracts/utils/Arrays.sol\":{\"keccak256\":\"0xa4b9958797e0e9cde82a090525e90f80d5745ba1c67ee72b488bd3087498a17e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9344f7c2f80322c2e76d9d89bed03fd12f3e011e74fde7cf24ea21bdd2abe2d\",\"dweb:/ipfs/QmPMAjF5x2fHUAee2FKMZDBbFVrbZbPCr3a9KHLZaSn1zY\"]},\"lib/openzeppelin-contracts/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2\",\"dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x1fc283df727585919c3db301b948a3e827aee16917457ad7f916db9da2228e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4f4b5e2cd0ebc3b74e41e4e94771a0417eedd9b11cec3ef9f90b2ac2989264b\",\"dweb:/ipfs/QmZmsEsvsXiwAyAe1YeoLSKezeFcvR1giUeEY6ex4zpsTS\"]},\"lib/protocol/packages/core/contracts/common/implementation/AncillaryData.sol\":{\"keccak256\":\"0x8ff33ac32d3e6de25de9e0ac2c0ff9a621f187fa97e9ee84092b327471baa3ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0bbaed49756e8cf7ef405e132f441cd7a735ac6186a200b0179147e7d137b74a\",\"dweb:/ipfs/QmeSBJX5a61LZPxbkUKS2NF4LSxemgDwjD65fCAmyP7PX2\"]},\"lib/protocol/packages/core/contracts/common/implementation/Lockable.sol\":{\"keccak256\":\"0x41d78fcce54598ad5f26bc0b778c0f4fedbd836401625e49e736979f69a87ef0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ce111bb50441ef5125e7d42284f6debbc17fd589515d7b8cede7e9d1d5f0ede\",\"dweb:/ipfs/QmaXiXACWVEDDHoCHNXdVBoNpf8QNHkUZ1kf5MfbxfL6jj\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/implementation/Constants.sol\":{\"keccak256\":\"0xe40957105a9240c6bcb9753fd0011fe9f382c437cd6771c57bf7a96f8ceb9c84\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cbf0d25e841b1f5c4022d09fb29220cb428139443cb29c4ab8dbfff71dffcc05\",\"dweb:/ipfs/QmSVVr5wH1tZi6WmKyuy1K8yS6JN4DeK5kWaZpPKtXiqkK\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/FinderInterface.sol\":{\"keccak256\":\"0x9166fbfe08e954eb86d33c114fcde7ce4fd0dda5d9d28b31210582bfc769fa86\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e611e12bcaaebfdf65b67c566ff1d34708e757f01a445bd87c55862e89383b81\",\"dweb:/ipfs/QmYNSq5oopTShdS6j4VWKqoLxmQSRKmWebCxw6K4LfmKrf\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/IdentifierWhitelistInterface.sol\":{\"keccak256\":\"0x9ae86a30dd1a8c03fb2c6d27be570bb30c4c0b13ac63cde8620b7e4b51d88dc9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a71d2aff48e075ecab56a9c9767775d1d77e04ec9191fed124e71003220549e3\",\"dweb:/ipfs/QmYPWsZXro6fzqpZY6UxQ5X8znEXfLp2sun8oXzdz8bTyc\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/OracleAncillaryInterface.sol\":{\"keccak256\":\"0xd58b41fe1e389f7871db7c04f2c05c1aac1d0455bbc521534da81fd657016a1f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cc532e9c550bb1bba0daa33fda748590cd06ce94a9566fe65dac04e7d40977bc\",\"dweb:/ipfs/QmZKvfRW2LJFt5MWZbKuU9ujkXnS2hkPUJVj8wwJWcuZGX\"]},\"src/common/implementation/AddressLegacy.sol\":{\"keccak256\":\"0x441f6c1a04ebb7ad44e54e1b9e3a6ca9f2468358842f93ec73e392f928daf85f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2cba7f3e831503913b6a147eec2f5fc6a2c5cdf1df11ae65582a42c5680ecd\",\"dweb:/ipfs/QmdBEXFnViR66ibJeyjKNh2xJoY8v1y3u3u1D9UXdPawFA\"]},\"src/common/implementation/AddressWhitelist.sol\":{\"keccak256\":\"0xa3b999d7b717c1bf4bb1b958ef5e26717ad965babe994aa8db3fb301f240c876\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7e1c4c81902a72dcf579e28f922f4910aadf5edaee4b2a4defe60c61dc00fbca\",\"dweb:/ipfs/QmUMZbko39hTe8epg77B8k9XYGmKNxLjnkLdd6x8v2xDyV\"]},\"src/common/implementation/LockableUpgradeable.sol\":{\"keccak256\":\"0x1a10eec9d7f12b051d343c65016a9c60a4bece53da4da2eceb8a8dc007b336e2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://9b8c203e136583fa946e4ae0e7bc9774837f865f8b319daa97c84ceb8a16c95b\",\"dweb:/ipfs/QmPJPPL27TB8qt66ZHquDCYtuubcTStRqxn4nxQnehMdA2\"]},\"src/common/interfaces/AddressWhitelistInterface.sol\":{\"keccak256\":\"0x126b2bc590041cf213c274bedc91c06a263ddff5e11a090be80d7db8b1cb0d8f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0f47e32816f895d4a3a060eded9bba7853eff6a6d99c3de5b4d1ca8359ce1c49\",\"dweb:/ipfs/QmVWt7xTr68owupHSUUJNfV2N3n2bTvTWtXCDtu8k3uVBN\"]},\"src/common/interfaces/FixedPointInterface.sol\":{\"keccak256\":\"0xceca09e6aa78c97698fa0b1f40657f6c3c723d5d94150ef6476affb9671df753\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d5d1b01017749d96befb5c2e8a8c6d9dd041f57e1d9a66238c296cc28512d2e5\",\"dweb:/ipfs/QmVPiky59JTngjwZNdxbmD7H1Lwa5AgTjzv975wSnavFFy\"]},\"src/data-verification-mechanism/interfaces/StoreInterface.sol\":{\"keccak256\":\"0x1905509e908c6a9b8b3a89449d2d86fd7192d0e588cbe542edd21351d9971ee5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://346e602f41469943453fbe039bf7554b23e1eba3128ff3858d32b35ebcc2ae88\",\"dweb:/ipfs/QmcjZ73TwMjondBDKEHyZ9KUjZzcxsy6Dmqs8QxPK3KBde\"]},\"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol\":{\"keccak256\":\"0xa0552c2797adccd632c07e77795cf258ff13e2cc435a14a7c530ea0f8acb49c2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ce250692f3db536caf05b193754741f62682c6bcac542780b1acc4b2fbf8bb25\",\"dweb:/ipfs/QmSQTPq4goBfGYfxV2V5B78y4PADfvjJsbPrKedoQxuS2h\"]},\"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol\":{\"keccak256\":\"0x33a251fab5e475a286832db9bc3aabf7f597497f07e06c2da8779d4f486336d1\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e8789e875af4c98c16a085279a5dd545fe2fe32716e66c41343ea0edaf8fad9f\",\"dweb:/ipfs/QmQTzL8h24WkcfchRfSRrCysAfSprVCF2RNc4AMQTchTyZ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"priceDisputed(bytes32,uint256,bytes,uint256)":"0d8f2372","priceProposed(bytes32,uint256,bytes)":"9c2fd1df","priceSettled(bytes32,uint256,bytes,int256)":"04cc1fd5"}}}},"src/optimistic-oracle-v2/interfaces/ManagedOptimisticOracleV2Interface.sol":{"ManagedOptimisticOracleV2Interface":{"abi":[{"type":"event","name":"AllowedBondRangeUpdated","inputs":[{"name":"currency","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"newMinimumBond","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newMaximumBond","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CustomBondSet","inputs":[{"name":"managedRequestId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"requester","type":"address","indexed":false,"internalType":"address"},{"name":"identifier","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"ancillaryData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"currency","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"bond","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CustomLivenessSet","inputs":[{"name":"managedRequestId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"requester","type":"address","indexed":true,"internalType":"address"},{"name":"identifier","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"ancillaryData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"customLiveness","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CustomProposerWhitelistSet","inputs":[{"name":"managedRequestId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"requester","type":"address","indexed":false,"internalType":"address"},{"name":"identifier","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"ancillaryData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"newWhitelist","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DefaultProposerWhitelistUpdated","inputs":[{"name":"newWhitelist","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MinimumLivenessUpdated","inputs":[{"name":"newMinimumLiveness","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RequesterWhitelistUpdated","inputs":[{"name":"newWhitelist","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"BondBelowMinimumBond","inputs":[]},{"type":"error","name":"BondExceedsMaximumBond","inputs":[]},{"type":"error","name":"LivenessTooLow","inputs":[]},{"type":"error","name":"MinimumBondAboveMaximumBond","inputs":[]},{"type":"error","name":"ProposerNotWhitelisted","inputs":[]},{"type":"error","name":"RequesterNotWhitelisted","inputs":[]},{"type":"error","name":"SenderNotWhitelisted","inputs":[]},{"type":"error","name":"UnsupportedWhitelistInterface","inputs":[]},{"type":"error","name":"ZeroBondNotAllowed","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"BondBelowMinimumBond\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondExceedsMaximumBond\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LivenessTooLow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MinimumBondAboveMaximumBond\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposerNotWhitelisted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RequesterNotWhitelisted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotWhitelisted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedWhitelistInterface\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroBondNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newMinimumBond\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newMaximumBond\",\"type\":\"uint256\"}],\"name\":\"AllowedBondRangeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"managedRequestId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"bond\",\"type\":\"uint256\"}],\"name\":\"CustomBondSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"managedRequestId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"customLiveness\",\"type\":\"uint256\"}],\"name\":\"CustomLivenessSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"managedRequestId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newWhitelist\",\"type\":\"address\"}],\"name\":\"CustomProposerWhitelistSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newWhitelist\",\"type\":\"address\"}],\"name\":\"DefaultProposerWhitelistUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newMinimumLiveness\",\"type\":\"uint256\"}],\"name\":\"MinimumLivenessUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newWhitelist\",\"type\":\"address\"}],\"name\":\"RequesterWhitelistUpdated\",\"type\":\"event\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Events and Errors for the ManagedOptimisticOracleV2 contract.\",\"version\":1},\"userdoc\":{\"errors\":{\"BondBelowMinimumBond()\":[{\"notice\":\"Thrown when a bond is set lower than the minimum allowed bond.\"}],\"BondExceedsMaximumBond()\":[{\"notice\":\"Thrown when a bond is set higher than the maximum allowed bond.\"}],\"LivenessTooLow()\":[{\"notice\":\"Thrown when a liveness is set lower than the minimum allowed liveness.\"}],\"MinimumBondAboveMaximumBond()\":[{\"notice\":\"Thrown when minimum bond is higher than maximum bond.\"}],\"ProposerNotWhitelisted()\":[{\"notice\":\"Thrown when a proposer is not on the effective proposer whitelist.\"}],\"RequesterNotWhitelisted()\":[{\"notice\":\"Thrown when a requester is not on the requester whitelist.\"}],\"SenderNotWhitelisted()\":[{\"notice\":\"Thrown when the message sender is not on the effective proposer whitelist for a proposal.\"}],\"UnsupportedWhitelistInterface()\":[{\"notice\":\"Thrown when a whitelist does not support the required interface.\"}],\"ZeroBondNotAllowed()\":[{\"notice\":\"Thrown when a zero value bond is set.\"}]},\"kind\":\"user\",\"methods\":{},\"notice\":\"Contains events for request manager management, bond and liveness updates, and whitelists, and custom errors for various conditions.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/optimistic-oracle-v2/interfaces/ManagedOptimisticOracleV2Interface.sol\":\"ManagedOptimisticOracleV2Interface\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"src/optimistic-oracle-v2/interfaces/ManagedOptimisticOracleV2Interface.sol\":{\"keccak256\":\"0xc852903a36f8ef8224be0f3769df0bbda8ae51a30e307546f16397af2fa26de1\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7e1cc2d1655db300d72b8005d2387efde447c71a723efa46db823cff376aff3e\",\"dweb:/ipfs/QmUDwx2TjTkf6JjFTJ3kRDoWdtUaUTdk35PJSDhJni9mFo\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol":{"OptimisticOracleV2Interface":{"abi":[{"type":"function","name":"ancillaryBytesLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"defaultLiveness","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"disputePrice","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"totalBond","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"disputePriceFor","inputs":[{"name":"disputer","type":"address","internalType":"address"},{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"totalBond","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"finder","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract FinderInterface"}],"stateMutability":"view"},{"type":"function","name":"getCurrentTime","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRequest","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"tuple","internalType":"struct OptimisticOracleV2Interface.Request","components":[{"name":"proposer","type":"address","internalType":"address"},{"name":"disputer","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"settled","type":"bool","internalType":"bool"},{"name":"requestSettings","type":"tuple","internalType":"struct OptimisticOracleV2Interface.RequestSettings","components":[{"name":"eventBased","type":"bool","internalType":"bool"},{"name":"refundOnDispute","type":"bool","internalType":"bool"},{"name":"callbackOnPriceProposed","type":"bool","internalType":"bool"},{"name":"callbackOnPriceDisputed","type":"bool","internalType":"bool"},{"name":"callbackOnPriceSettled","type":"bool","internalType":"bool"},{"name":"bond","type":"uint256","internalType":"uint256"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}]},{"name":"proposedPrice","type":"int256","internalType":"int256"},{"name":"resolvedPrice","type":"int256","internalType":"int256"},{"name":"expirationTime","type":"uint256","internalType":"uint256"},{"name":"reward","type":"uint256","internalType":"uint256"},{"name":"finalFee","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getState","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint8","internalType":"enum OptimisticOracleV2Interface.State"}],"stateMutability":"view"},{"type":"function","name":"hasPrice","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"proposePrice","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"proposedPrice","type":"int256","internalType":"int256"}],"outputs":[{"name":"totalBond","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"proposePriceFor","inputs":[{"name":"proposer","type":"address","internalType":"address"},{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"proposedPrice","type":"int256","internalType":"int256"}],"outputs":[{"name":"totalBond","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"requestPrice","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"reward","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"totalBond","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"requests","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"proposer","type":"address","internalType":"address"},{"name":"disputer","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"settled","type":"bool","internalType":"bool"},{"name":"requestSettings","type":"tuple","internalType":"struct OptimisticOracleV2Interface.RequestSettings","components":[{"name":"eventBased","type":"bool","internalType":"bool"},{"name":"refundOnDispute","type":"bool","internalType":"bool"},{"name":"callbackOnPriceProposed","type":"bool","internalType":"bool"},{"name":"callbackOnPriceDisputed","type":"bool","internalType":"bool"},{"name":"callbackOnPriceSettled","type":"bool","internalType":"bool"},{"name":"bond","type":"uint256","internalType":"uint256"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}]},{"name":"proposedPrice","type":"int256","internalType":"int256"},{"name":"resolvedPrice","type":"int256","internalType":"int256"},{"name":"expirationTime","type":"uint256","internalType":"uint256"},{"name":"reward","type":"uint256","internalType":"uint256"},{"name":"finalFee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setBond","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"bond","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"totalBond","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"setCallbacks","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"callbackOnPriceProposed","type":"bool","internalType":"bool"},{"name":"callbackOnPriceDisputed","type":"bool","internalType":"bool"},{"name":"callbackOnPriceSettled","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCustomLiveness","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEventBased","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRefundOnDispute","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"settle","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"payout","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"settleAndGetPrice","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint256","internalType":"uint256"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"nonpayable"},{"type":"function","name":"stampAncillaryData","inputs":[{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"requester","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"event","name":"DisputePrice","inputs":[{"name":"requester","type":"address","indexed":true,"internalType":"address"},{"name":"proposer","type":"address","indexed":true,"internalType":"address"},{"name":"disputer","type":"address","indexed":true,"internalType":"address"},{"name":"identifier","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"ancillaryData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"proposedPrice","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"ProposePrice","inputs":[{"name":"requester","type":"address","indexed":true,"internalType":"address"},{"name":"proposer","type":"address","indexed":true,"internalType":"address"},{"name":"identifier","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"ancillaryData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"proposedPrice","type":"int256","indexed":false,"internalType":"int256"},{"name":"expirationTimestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"currency","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RequestPrice","inputs":[{"name":"requester","type":"address","indexed":true,"internalType":"address"},{"name":"identifier","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"ancillaryData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"currency","type":"address","indexed":false,"internalType":"address"},{"name":"reward","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"finalFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Settle","inputs":[{"name":"requester","type":"address","indexed":true,"internalType":"address"},{"name":"proposer","type":"address","indexed":true,"internalType":"address"},{"name":"disputer","type":"address","indexed":true,"internalType":"address"},{"name":"identifier","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"ancillaryData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"price","type":"int256","indexed":false,"internalType":"int256"},{"name":"payout","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AncillaryDataTooLong","inputs":[]},{"type":"error","name":"CannotProposeTooEarly","inputs":[]},{"type":"error","name":"DisputerAddressCannotBeZero","inputs":[]},{"type":"error","name":"LivenessCannotBeZero","inputs":[]},{"type":"error","name":"LivenessTooLarge","inputs":[]},{"type":"error","name":"ProposerAddressCannotBeZero","inputs":[]},{"type":"error","name":"RequestNotSettleable","inputs":[]},{"type":"error","name":"RequestStateNotInvalid","inputs":[]},{"type":"error","name":"RequestStateNotProposed","inputs":[]},{"type":"error","name":"RequestStateNotRequested","inputs":[]},{"type":"error","name":"TimestampInFuture","inputs":[]},{"type":"error","name":"UnsupportedCurrency","inputs":[]},{"type":"error","name":"UnsupportedIdentifier","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AncillaryDataTooLong\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CannotProposeTooEarly\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DisputerAddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LivenessCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LivenessTooLarge\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposerAddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RequestNotSettleable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RequestStateNotInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RequestStateNotProposed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RequestStateNotRequested\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TimestampInFuture\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedCurrency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedIdentifier\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"proposedPrice\",\"type\":\"int256\"}],\"name\":\"DisputePrice\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"proposedPrice\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expirationTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"ProposePrice\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"finalFee\",\"type\":\"uint256\"}],\"name\":\"RequestPrice\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"price\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payout\",\"type\":\"uint256\"}],\"name\":\"Settle\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ancillaryBytesLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultLiveness\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"disputePrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBond\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"disputePriceFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBond\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"finder\",\"outputs\":[{\"internalType\":\"contract FinderInterface\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"getRequest\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"settled\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"eventBased\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"refundOnDispute\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceProposed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceDisputed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceSettled\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"bond\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"customLiveness\",\"type\":\"uint256\"}],\"internalType\":\"struct OptimisticOracleV2Interface.RequestSettings\",\"name\":\"requestSettings\",\"type\":\"tuple\"},{\"internalType\":\"int256\",\"name\":\"proposedPrice\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"resolvedPrice\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"finalFee\",\"type\":\"uint256\"}],\"internalType\":\"struct OptimisticOracleV2Interface.Request\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"getState\",\"outputs\":[{\"internalType\":\"enum OptimisticOracleV2Interface.State\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"hasPrice\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"int256\",\"name\":\"proposedPrice\",\"type\":\"int256\"}],\"name\":\"proposePrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBond\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"int256\",\"name\":\"proposedPrice\",\"type\":\"int256\"}],\"name\":\"proposePriceFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBond\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"contract IERC20\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"}],\"name\":\"requestPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBond\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"requests\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"settled\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"eventBased\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"refundOnDispute\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceProposed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceDisputed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceSettled\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"bond\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"customLiveness\",\"type\":\"uint256\"}],\"internalType\":\"struct OptimisticOracleV2Interface.RequestSettings\",\"name\":\"requestSettings\",\"type\":\"tuple\"},{\"internalType\":\"int256\",\"name\":\"proposedPrice\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"resolvedPrice\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"finalFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"bond\",\"type\":\"uint256\"}],\"name\":\"setBond\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBond\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceProposed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceDisputed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"callbackOnPriceSettled\",\"type\":\"bool\"}],\"name\":\"setCallbacks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"customLiveness\",\"type\":\"uint256\"}],\"name\":\"setCustomLiveness\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"setEventBased\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"setRefundOnDispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"payout\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"}],\"name\":\"settleAndGetPrice\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"}],\"name\":\"stampAncillaryData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface used by financial contracts to interact with the Oracle. Voters will use a different interface.\",\"kind\":\"dev\",\"methods\":{\"disputePrice(address,bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"requester\":\"sender of the initial price request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"totalBond\":\"the amount that's pulled from the disputer's wallet as a bond. The bond will be returned to the disputer once settled if the dispute was valid (the proposal was incorrect).\"}},\"disputePriceFor(address,address,bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"disputer\":\"address to set as the disputer.\",\"identifier\":\"price identifier to identify the existing request.\",\"requester\":\"sender of the initial price request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"totalBond\":\"the amount that's pulled from the caller's wallet as a bond. The bond will be returned to the disputer once settled if the dispute was value (the proposal was incorrect).\"}},\"getRequest(address,bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"requester\":\"sender of the initial price request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"_0\":\"the Request data structure.\"}},\"getState(address,bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"requester\":\"sender of the initial price request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"_0\":\"the State enum value.\"}},\"hasPrice(address,bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"requester\":\"sender of the initial price request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"_0\":\"true if price has resolved or settled, false otherwise.\"}},\"proposePrice(address,bytes32,uint256,bytes,int256)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"proposedPrice\":\"price being proposed.\",\"requester\":\"sender of the initial price request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"totalBond\":\"the amount that's pulled from the proposer's wallet as a bond. The bond will be returned to the proposer once settled if the proposal is correct.\"}},\"proposePriceFor(address,address,bytes32,uint256,bytes,int256)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"proposedPrice\":\"price being proposed.\",\"proposer\":\"address to set as the proposer.\",\"requester\":\"sender of the initial price request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"totalBond\":\"the amount that's pulled from the caller's wallet as a bond. The bond will be returned to the proposer once settled if the proposal is correct.\"}},\"requestPrice(bytes32,uint256,bytes,address,uint256)\":{\"params\":{\"ancillaryData\":\"ancillary data representing additional args being passed with the price request.\",\"currency\":\"ERC20 token used for payment of rewards and fees. Must be approved for use with the DVM.\",\"identifier\":\"price identifier being requested.\",\"reward\":\"reward offered to a successful proposer. Will be pulled from the caller. Note: this can be 0, which could make sense if the contract requests and proposes the value in the same call or provides its own reward system.\",\"timestamp\":\"timestamp of the price being requested.\"},\"returns\":{\"totalBond\":\"default bond (final fee) + final fee that the proposer and disputer will be required to pay. This can be changed with a subsequent call to setBond().\"}},\"setBond(bytes32,uint256,bytes,uint256)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"bond\":\"custom bond amount to set.\",\"identifier\":\"price identifier to identify the existing request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"totalBond\":\"new bond + final fee that the proposer and disputer will be required to pay. This can be changed again with a subsequent call to setBond().\"}},\"setCallbacks(bytes32,uint256,bytes,bool,bool,bool)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"callbackOnPriceDisputed\":\"whether to enable the callback onPriceDisputed.\",\"callbackOnPriceProposed\":\"whether to enable the callback onPriceProposed.\",\"callbackOnPriceSettled\":\"whether to enable the callback onPriceSettled.\",\"identifier\":\"price identifier to identify the existing request.\",\"timestamp\":\"timestamp to identify the existing request.\"}},\"setCustomLiveness(bytes32,uint256,bytes,uint256)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"customLiveness\":\"new custom liveness.\",\"identifier\":\"price identifier to identify the existing request.\",\"timestamp\":\"timestamp to identify the existing request.\"}},\"setEventBased(bytes32,uint256,bytes)\":{\"details\":\"Calling this method has a few impacts on the request: 1. The timestamp at which the request is evaluated is the time of the proposal, not the timestamp associated with the request. 2. The proposer cannot propose the \\\"too early\\\" value (TOO_EARLY_RESPONSE). This is to ensure that a proposer who prematurely proposes a response loses their bond. 3. RefundoOnDispute is automatically set, meaning disputes trigger the reward to be automatically refunded to the requesting contract.\",\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"timestamp\":\"timestamp to identify the existing request.\"}},\"setRefundOnDispute(bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"timestamp\":\"timestamp to identify the existing request.\"}},\"settle(address,bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"requester\":\"sender of the initial price request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"payout\":\"the amount that the \\\"winner\\\" (proposer or disputer) receives on settlement. This amount includes the returned bonds as well as additional rewards.\"}},\"settleAndGetPrice(bytes32,uint256,bytes)\":{\"params\":{\"ancillaryData\":\"ancillary data of the price being requested.\",\"identifier\":\"price identifier to identify the existing request.\",\"timestamp\":\"timestamp to identify the existing request.\"},\"returns\":{\"_0\":\"resolved price.\"}}},\"stateVariables\":{\"__gap\":{\"details\":\"Reserve storage slots for future versions of this base contract to add state variables without affecting the storage layout of child contracts. Decrement the size of __gap whenever state variables are added. This is at the bottom of contract to make sure its always at the end of storage. See https://docs.openzeppelin.com/upgrades-plugins/writing-upgradeable#storage-gaps\"}},\"title\":\"Financial contract facing Oracle interface.\",\"version\":1},\"userdoc\":{\"errors\":{\"AncillaryDataTooLong()\":[{\"notice\":\"Thrown when ancillary data exceeds the allowed limit.\"}],\"CannotProposeTooEarly()\":[{\"notice\":\"Thrown when trying to propose the \\\"too early\\\" response for event-based requests.\"}],\"DisputerAddressCannotBeZero()\":[{\"notice\":\"Thrown when a disputer address is zero.\"}],\"LivenessCannotBeZero()\":[{\"notice\":\"Thrown when liveness period cannot be zero.\"}],\"LivenessTooLarge()\":[{\"notice\":\"Thrown when liveness period is too large.\"}],\"ProposerAddressCannotBeZero()\":[{\"notice\":\"Thrown when a proposer address is zero.\"}],\"RequestNotSettleable()\":[{\"notice\":\"Thrown when trying to settle a request that is not settleable.\"}],\"RequestStateNotInvalid()\":[{\"notice\":\"Thrown when a request is not in the expected Invalid state.\"}],\"RequestStateNotProposed()\":[{\"notice\":\"Thrown when a request is not in the expected Proposed state.\"}],\"RequestStateNotRequested()\":[{\"notice\":\"Thrown when a request is not in the expected Requested state.\"}],\"TimestampInFuture()\":[{\"notice\":\"Thrown when a timestamp is in the future.\"}],\"UnsupportedCurrency()\":[{\"notice\":\"Thrown when a currency is not supported by the collateral whitelist.\"}],\"UnsupportedIdentifier()\":[{\"notice\":\"Thrown when an identifier is not supported by the identifier whitelist.\"}]},\"kind\":\"user\",\"methods\":{\"disputePrice(address,bytes32,uint256,bytes)\":{\"notice\":\"Disputes a price value for an existing price request with an active proposal.\"},\"disputePriceFor(address,address,bytes32,uint256,bytes)\":{\"notice\":\"Disputes a price request with an active proposal on another address' behalf. Note: this address will receive any rewards that come from this dispute. However, any bonds are pulled from the caller.\"},\"getRequest(address,bytes32,uint256,bytes)\":{\"notice\":\"Gets the current data structure containing all information about a price request.\"},\"getState(address,bytes32,uint256,bytes)\":{\"notice\":\"Returns the state of a price request.\"},\"hasPrice(address,bytes32,uint256,bytes)\":{\"notice\":\"Checks if a given request has resolved or been settled (i.e the optimistic oracle has a price).\"},\"proposePrice(address,bytes32,uint256,bytes,int256)\":{\"notice\":\"Proposes a price value for an existing price request.\"},\"proposePriceFor(address,address,bytes32,uint256,bytes,int256)\":{\"notice\":\"Proposes a price value on another address' behalf. Note: this address will receive any rewards that come from this proposal. However, any bonds are pulled from the caller.\"},\"requestPrice(bytes32,uint256,bytes,address,uint256)\":{\"notice\":\"Requests a new price.\"},\"setBond(bytes32,uint256,bytes,uint256)\":{\"notice\":\"Set the proposal bond associated with a price request.\"},\"setCallbacks(bytes32,uint256,bytes,bool,bool,bool)\":{\"notice\":\"Sets which callbacks should be enabled for the request.\"},\"setCustomLiveness(bytes32,uint256,bytes,uint256)\":{\"notice\":\"Sets a custom liveness value for the request. Liveness is the amount of time a proposal must wait before being auto-resolved.\"},\"setEventBased(bytes32,uint256,bytes)\":{\"notice\":\"Sets the request to be an \\\"event-based\\\" request.\"},\"setRefundOnDispute(bytes32,uint256,bytes)\":{\"notice\":\"Sets the request to refund the reward if the proposal is disputed. This can help to \\\"hedge\\\" the caller in the event of a dispute-caused delay. Note: in the event of a dispute, the winner still receives the other's bond, so there is still profit to be made even if the reward is refunded.\"},\"settle(address,bytes32,uint256,bytes)\":{\"notice\":\"Attempts to settle an outstanding price request. Will revert if it isn't settleable.\"},\"settleAndGetPrice(bytes32,uint256,bytes)\":{\"notice\":\"Retrieves a price that was previously requested by a caller. Reverts if the request is not settled or settleable. Note: this method is not view so that this call may actually settle the price request if it hasn't been settled.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol\":\"OptimisticOracleV2Interface\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/FinderInterface.sol\":{\"keccak256\":\"0x9166fbfe08e954eb86d33c114fcde7ce4fd0dda5d9d28b31210582bfc769fa86\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e611e12bcaaebfdf65b67c566ff1d34708e757f01a445bd87c55862e89383b81\",\"dweb:/ipfs/QmYNSq5oopTShdS6j4VWKqoLxmQSRKmWebCxw6K4LfmKrf\"]},\"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol\":{\"keccak256\":\"0x33a251fab5e475a286832db9bc3aabf7f597497f07e06c2da8779d4f486336d1\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e8789e875af4c98c16a085279a5dd545fe2fe32716e66c41343ea0edaf8fad9f\",\"dweb:/ipfs/QmQTzL8h24WkcfchRfSRrCysAfSprVCF2RNc4AMQTchTyZ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":63821,"contract":"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol:OptimisticOracleV2Interface","label":"requests","offset":0,"slot":"0","type":"t_mapping(t_bytes32,t_struct(Request)63797_storage)"},{"astId":64048,"contract":"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol:OptimisticOracleV2Interface","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)49_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(IERC20)43048":{"encoding":"inplace","label":"contract IERC20","numberOfBytes":"20"},"t_int256":{"encoding":"inplace","label":"int256","numberOfBytes":"32"},"t_mapping(t_bytes32,t_struct(Request)63797_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct OptimisticOracleV2Interface.Request)","numberOfBytes":"32","value":"t_struct(Request)63797_storage"},"t_struct(Request)63797_storage":{"encoding":"inplace","label":"struct OptimisticOracleV2Interface.Request","numberOfBytes":"352","members":[{"astId":63776,"contract":"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol:OptimisticOracleV2Interface","label":"proposer","offset":0,"slot":"0","type":"t_address"},{"astId":63778,"contract":"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol:OptimisticOracleV2Interface","label":"disputer","offset":0,"slot":"1","type":"t_address"},{"astId":63781,"contract":"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol:OptimisticOracleV2Interface","label":"currency","offset":0,"slot":"2","type":"t_contract(IERC20)43048"},{"astId":63783,"contract":"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol:OptimisticOracleV2Interface","label":"settled","offset":20,"slot":"2","type":"t_bool"},{"astId":63786,"contract":"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol:OptimisticOracleV2Interface","label":"requestSettings","offset":0,"slot":"3","type":"t_struct(RequestSettings)63774_storage"},{"astId":63788,"contract":"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol:OptimisticOracleV2Interface","label":"proposedPrice","offset":0,"slot":"6","type":"t_int256"},{"astId":63790,"contract":"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol:OptimisticOracleV2Interface","label":"resolvedPrice","offset":0,"slot":"7","type":"t_int256"},{"astId":63792,"contract":"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol:OptimisticOracleV2Interface","label":"expirationTime","offset":0,"slot":"8","type":"t_uint256"},{"astId":63794,"contract":"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol:OptimisticOracleV2Interface","label":"reward","offset":0,"slot":"9","type":"t_uint256"},{"astId":63796,"contract":"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol:OptimisticOracleV2Interface","label":"finalFee","offset":0,"slot":"10","type":"t_uint256"}]},"t_struct(RequestSettings)63774_storage":{"encoding":"inplace","label":"struct OptimisticOracleV2Interface.RequestSettings","numberOfBytes":"96","members":[{"astId":63761,"contract":"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol:OptimisticOracleV2Interface","label":"eventBased","offset":0,"slot":"0","type":"t_bool"},{"astId":63763,"contract":"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol:OptimisticOracleV2Interface","label":"refundOnDispute","offset":1,"slot":"0","type":"t_bool"},{"astId":63765,"contract":"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol:OptimisticOracleV2Interface","label":"callbackOnPriceProposed","offset":2,"slot":"0","type":"t_bool"},{"astId":63767,"contract":"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol:OptimisticOracleV2Interface","label":"callbackOnPriceDisputed","offset":3,"slot":"0","type":"t_bool"},{"astId":63769,"contract":"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol:OptimisticOracleV2Interface","label":"callbackOnPriceSettled","offset":4,"slot":"0","type":"t_bool"},{"astId":63771,"contract":"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol:OptimisticOracleV2Interface","label":"bond","offset":0,"slot":"1","type":"t_uint256"},{"astId":63773,"contract":"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol:OptimisticOracleV2Interface","label":"customLiveness","offset":0,"slot":"2","type":"t_uint256"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"ancillaryBytesLimit()":"c371dda7","defaultLiveness()":"fe4e1983","disputePrice(address,bytes32,uint256,bytes)":"fba7f1e3","disputePriceFor(address,address,bytes32,uint256,bytes)":"76c7823f","finder()":"b9a3c84c","getCurrentTime()":"29cb924d","getRequest(address,bytes32,uint256,bytes)":"a9904f9b","getState(address,bytes32,uint256,bytes)":"ba4b930c","hasPrice(address,bytes32,uint256,bytes)":"bc58ccaa","proposePrice(address,bytes32,uint256,bytes,int256)":"b8b4f908","proposePriceFor(address,address,bytes32,uint256,bytes,int256)":"7c82288f","requestPrice(bytes32,uint256,bytes,address,uint256)":"11df92f1","requests(bytes32)":"9d866985","setBond(bytes32,uint256,bytes,uint256)":"ad5a755a","setCallbacks(bytes32,uint256,bytes,bool,bool,bool)":"f327b075","setCustomLiveness(bytes32,uint256,bytes,uint256)":"473c45fe","setEventBased(bytes32,uint256,bytes)":"120698af","setRefundOnDispute(bytes32,uint256,bytes)":"91f58dcb","settle(address,bytes32,uint256,bytes)":"5e9a79a9","settleAndGetPrice(bytes32,uint256,bytes)":"53b59239","stampAncillaryData(bytes,address)":"af5d2f39"}}}},"test/ManagedOptimisticOracleV2.t.sol":{"ManagedOptimisticOracleV2Test":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testAddAndRemoveRequestManager","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testAllowedBondRangeEventAndBehavior","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testBondOverrideBlockedForWhitelistedButUnconfiguredCurrency","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCustomBondAppliedOnPropose","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDefaultAdminManagesConfigAdminRole","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCustomProposerWhitelist","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetManagedRequestId","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"testGetProposerWhitelistWithEnabledStatus","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testInitializeSetsState","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testMinimumLivenessEvent","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testOnlyConfigAdminSetters","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testProposePriceForChecksDefaultWhitelist","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testProposePriceForWithCustomDisabledWhitelist","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRemovedRequestManagerCannotCall","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRequestManagerSetBondEnforcementAndEvents","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRequestManagerSetCustomLivenessValidationAndEffect","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRequestManagerSetProposerWhitelistValidationsAndEvent","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRequesterWhitelistEnforcedOnRequestPrice","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testResetCustomProposerWhitelistToDefault","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRolesAndOwnershipRelations","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"testSetAllowedBondRangeValidations","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testSetDefaultProposerWhitelistValidations","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testSetMinimumLivenessAndValidation","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testSetRequesterWhitelistValidations","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testUpgradeAdminCannotCallConfigSetters","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testUpgradeAuthorization","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AllowedBondRangeUpdated","inputs":[{"name":"currency","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"newMinimumBond","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newMaximumBond","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CustomBondSet","inputs":[{"name":"managedRequestId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"requester","type":"address","indexed":false,"internalType":"address"},{"name":"identifier","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"ancillaryData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"currency","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"bond","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CustomLivenessSet","inputs":[{"name":"managedRequestId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"requester","type":"address","indexed":true,"internalType":"address"},{"name":"identifier","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"ancillaryData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"customLiveness","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CustomProposerWhitelistSet","inputs":[{"name":"managedRequestId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"requester","type":"address","indexed":false,"internalType":"address"},{"name":"identifier","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"ancillaryData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"newWhitelist","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DefaultProposerWhitelistUpdated","inputs":[{"name":"newWhitelist","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MinimumLivenessUpdated","inputs":[{"name":"newMinimumLiveness","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RequesterWhitelistUpdated","inputs":[{"name":"newWhitelist","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newMinimumBond\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newMaximumBond\",\"type\":\"uint256\"}],\"name\":\"AllowedBondRangeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"managedRequestId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"indexed\":true,\"internalType\":\"contract IERC20\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"bond\",\"type\":\"uint256\"}],\"name\":\"CustomBondSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"managedRequestId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"customLiveness\",\"type\":\"uint256\"}],\"name\":\"CustomLivenessSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"managedRequestId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"ancillaryData\",\"type\":\"bytes\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newWhitelist\",\"type\":\"address\"}],\"name\":\"CustomProposerWhitelistSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newWhitelist\",\"type\":\"address\"}],\"name\":\"DefaultProposerWhitelistUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newMinimumLiveness\",\"type\":\"uint256\"}],\"name\":\"MinimumLivenessUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newWhitelist\",\"type\":\"address\"}],\"name\":\"RequesterWhitelistUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAddAndRemoveRequestManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAllowedBondRangeEventAndBehavior\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBondOverrideBlockedForWhitelistedButUnconfiguredCurrency\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCustomBondAppliedOnPropose\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDefaultAdminManagesConfigAdminRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCustomProposerWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetManagedRequestId\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetProposerWhitelistWithEnabledStatus\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInitializeSetsState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testMinimumLivenessEvent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyConfigAdminSetters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testProposePriceForChecksDefaultWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testProposePriceForWithCustomDisabledWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRemovedRequestManagerCannotCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRequestManagerSetBondEnforcementAndEvents\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRequestManagerSetCustomLivenessValidationAndEffect\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRequestManagerSetProposerWhitelistValidationsAndEvent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRequesterWhitelistEnforcedOnRequestPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testResetCustomProposerWhitelistToDefault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRolesAndOwnershipRelations\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSetAllowedBondRangeValidations\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSetDefaultProposerWhitelistValidations\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSetMinimumLivenessAndValidation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSetRequesterWhitelistValidations\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testUpgradeAdminCannotCallConfigSetters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testUpgradeAuthorization\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/ManagedOptimisticOracleV2.t.sol\":\"ManagedOptimisticOracleV2Test\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0xa3735a6618a3014e42bb4329ad143e3b2c59cd95094350202e4c4a06c9d585dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef9db48d94726ec3d3fa3a84a8d520903705190f7ee7a04a065335a6aeeac4d\",\"dweb:/ipfs/QmSWmNny7TkzyqRPjGdpERAJuBwwznrGPLUqS4DZy5fX5z\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x4584f551c3a875c26423c1e50a77179bc2f9c9c1ee6d0f0c6be0f89ca5ee8270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef118876a862b60ba8a6612b8b3f3a6c226e11a0071a2e9695f021586d1bfdbe\",\"dweb:/ipfs/QmXd2vD91PkvoFWasFkgbDi89PctmgsHVxGvGNyhjmRK2b\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xd3edaf57db178f839d97ccee0009c2b7b20f78c2adca9028a6013acb8d5b4c5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f17329ac1d25d3e6657ca240dee0a3f9b2cf22a64a05b87dac15252dee74351\",\"dweb:/ipfs/QmPHxkEwgVpQNbU52s58RmmegrkYGj8bNKTVSW8rZm3dBm\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x7274081e11c05164fd8eadde4de8305c033e58a43008dea58065f3170ccf0737\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9801614b6c9d3e472982e6cc68f5f1ad03682f84eafb686be65633c7132d138\",\"dweb:/ipfs/QmcQSUcrm2A7XuektnxJjvYGmZtBeA6LKPxCXRqdXBX776\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x85a70e2b1b65e9ba456add364d22b97eb9944083df1c39c0b4bd6a4b5aa386a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d32a33be6ca4d8e89b9e82e3f9cec7a6c4e040534152313ff55da85b8f193059\",\"dweb:/ipfs/QmeR55L8t2A8xZ1nvT5y4yVWfFbbmpaGAtGBMz3GGNpuyP\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol\":{\"keccak256\":\"0x2922ed589f7063a685dffc9297f8b669c1e86f2fde9078c08d8bff079cf636a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0bd42676681a1c4563f61a767bfbc50ef207544a3d6eee9aa66830cc15ccb679\",\"dweb:/ipfs/QmRMCKEXNWJq1EdCjNQtTXf9tuppnyGtaiBCiNk3TYVcK1\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x6694b63ddb2c59bbe341c846171798350e8f72fa02189fcdeaca864e28b54e1f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d945d33e2189ac4e531e4ed228f59ca957b3898c4f9051f4b8c7ae44d72b23a\",\"dweb:/ipfs/QmRcEwubTe3xyXxthijs5fVzEgUFSxeddjd5PGfhBnkunX\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xbff9f59c84e5337689161ce7641c0ef8e872d6a7536fbc1f5133f128887aba3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b308f882e796f7b79c9502deacb0a62983035c6f6f4e962b319ba6a1f4a77d3d\",\"dweb:/ipfs/QmaWCW7ahEQqFjwhSUhV7Ae7WhfNvzSpE7DQ58hvEooqPL\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol\":{\"keccak256\":\"0x956d6404c7b61b920a9ccbc9918f94a2bd3004de3dd13310995eda5bc17f1ead\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c12dc67a285548d455683db60f1ed845c03ac3c27f8f24f905defd3c54601406\",\"dweb:/ipfs/QmXDaxKsnq6RxH44VPSqxjLyygdXn3GR1o6W9pr2iXzjZq\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol\":{\"keccak256\":\"0x21529ba6918f994ec44fb97cef2b717d730268e911a4e626f3e425a4394f7bae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10949be539eb61e5ea8996cc93f21be61949c16a1b717adc2b3f8f099c1e1feb\",\"dweb:/ipfs/QmagATozhFXBUVTLaiHWyqVPgew9N1x18V6hBF46AZPeLw\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23\",\"dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR\"]},\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol\":{\"keccak256\":\"0x3ae81a443846c6d9bd387d6c6a5d7271a25095c83bb93817eefdaa22e13ca9e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f98462a56f254dc0046038e92527e3b7ee5bf0e03f60e3459fbd400c14be01a7\",\"dweb:/ipfs/QmevANfRaMrqy8Jh33LxEs5vP2xBPQspxtij8bsonw3GHM\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa3066ff86b94128a9d3956a63a0511fa1aae41bd455772ab587b32ff322acb2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf7b192fd82acf6187970c80548f624b1b9c80425b62fa49e7fdb538a52de049\",\"dweb:/ipfs/QmWXG1YCde1tqDYTbNwjkZDWVgPEjzaQGSDqWkyKLzaNua\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x86b7b71a6aedefdad89b607378eeab1dcc5389b9ea7d17346d08af01d7190994\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1dc2db8d94a21eac8efe03adf574c419b08536409b416057a2b5b95cb772c43c\",\"dweb:/ipfs/QmZfqJCKVU1ScuX2A7s8WZdQEaikwJbDH5JBrBdKTUT4Gu\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508\",\"dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"lib/openzeppelin-contracts/contracts/utils/Arrays.sol\":{\"keccak256\":\"0xa4b9958797e0e9cde82a090525e90f80d5745ba1c67ee72b488bd3087498a17e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9344f7c2f80322c2e76d9d89bed03fd12f3e011e74fde7cf24ea21bdd2abe2d\",\"dweb:/ipfs/QmPMAjF5x2fHUAee2FKMZDBbFVrbZbPCr3a9KHLZaSn1zY\"]},\"lib/openzeppelin-contracts/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2\",\"dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x27c3c648062924bd44cd6f38541c78e6de145dd49515ee62321e42fc1b72e5c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cce2ebc0392b5a96f5c7bbaaf5c3d23c0e7190e64cfa05a49978badc1496141\",\"dweb:/ipfs/QmYQC1U12igR1osVyjRHaHiiTgYYuPjncAxwmjbZ452dCL\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x1fc283df727585919c3db301b948a3e827aee16917457ad7f916db9da2228e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4f4b5e2cd0ebc3b74e41e4e94771a0417eedd9b11cec3ef9f90b2ac2989264b\",\"dweb:/ipfs/QmZmsEsvsXiwAyAe1YeoLSKezeFcvR1giUeEY6ex4zpsTS\"]},\"lib/protocol/packages/core/contracts/common/implementation/AncillaryData.sol\":{\"keccak256\":\"0x8ff33ac32d3e6de25de9e0ac2c0ff9a621f187fa97e9ee84092b327471baa3ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0bbaed49756e8cf7ef405e132f441cd7a735ac6186a200b0179147e7d137b74a\",\"dweb:/ipfs/QmeSBJX5a61LZPxbkUKS2NF4LSxemgDwjD65fCAmyP7PX2\"]},\"lib/protocol/packages/core/contracts/common/implementation/Lockable.sol\":{\"keccak256\":\"0x41d78fcce54598ad5f26bc0b778c0f4fedbd836401625e49e736979f69a87ef0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ce111bb50441ef5125e7d42284f6debbc17fd589515d7b8cede7e9d1d5f0ede\",\"dweb:/ipfs/QmaXiXACWVEDDHoCHNXdVBoNpf8QNHkUZ1kf5MfbxfL6jj\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/implementation/Constants.sol\":{\"keccak256\":\"0xe40957105a9240c6bcb9753fd0011fe9f382c437cd6771c57bf7a96f8ceb9c84\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cbf0d25e841b1f5c4022d09fb29220cb428139443cb29c4ab8dbfff71dffcc05\",\"dweb:/ipfs/QmSVVr5wH1tZi6WmKyuy1K8yS6JN4DeK5kWaZpPKtXiqkK\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/FinderInterface.sol\":{\"keccak256\":\"0x9166fbfe08e954eb86d33c114fcde7ce4fd0dda5d9d28b31210582bfc769fa86\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e611e12bcaaebfdf65b67c566ff1d34708e757f01a445bd87c55862e89383b81\",\"dweb:/ipfs/QmYNSq5oopTShdS6j4VWKqoLxmQSRKmWebCxw6K4LfmKrf\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/IdentifierWhitelistInterface.sol\":{\"keccak256\":\"0x9ae86a30dd1a8c03fb2c6d27be570bb30c4c0b13ac63cde8620b7e4b51d88dc9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a71d2aff48e075ecab56a9c9767775d1d77e04ec9191fed124e71003220549e3\",\"dweb:/ipfs/QmYPWsZXro6fzqpZY6UxQ5X8znEXfLp2sun8oXzdz8bTyc\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/OracleAncillaryInterface.sol\":{\"keccak256\":\"0xd58b41fe1e389f7871db7c04f2c05c1aac1d0455bbc521534da81fd657016a1f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cc532e9c550bb1bba0daa33fda748590cd06ce94a9566fe65dac04e7d40977bc\",\"dweb:/ipfs/QmZKvfRW2LJFt5MWZbKuU9ujkXnS2hkPUJVj8wwJWcuZGX\"]},\"src/common/implementation/AddressLegacy.sol\":{\"keccak256\":\"0x441f6c1a04ebb7ad44e54e1b9e3a6ca9f2468358842f93ec73e392f928daf85f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2cba7f3e831503913b6a147eec2f5fc6a2c5cdf1df11ae65582a42c5680ecd\",\"dweb:/ipfs/QmdBEXFnViR66ibJeyjKNh2xJoY8v1y3u3u1D9UXdPawFA\"]},\"src/common/implementation/AddressWhitelist.sol\":{\"keccak256\":\"0xa3b999d7b717c1bf4bb1b958ef5e26717ad965babe994aa8db3fb301f240c876\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7e1c4c81902a72dcf579e28f922f4910aadf5edaee4b2a4defe60c61dc00fbca\",\"dweb:/ipfs/QmUMZbko39hTe8epg77B8k9XYGmKNxLjnkLdd6x8v2xDyV\"]},\"src/common/implementation/DisabledAddressWhitelist.sol\":{\"keccak256\":\"0x34d42ccd54fb72eef815f5187088ba6dede2f9a7fc202495d4eaec284f415954\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e9a4569e7bb99d3631da6a52696b83e4bc52e09d2bc1cb7e4d93b657103b1879\",\"dweb:/ipfs/QmVBBrXbiXFmH7U2DKWR8rmNCLusxA3feJ9dWRZXczoEof\"]},\"src/common/implementation/LockableUpgradeable.sol\":{\"keccak256\":\"0x1a10eec9d7f12b051d343c65016a9c60a4bece53da4da2eceb8a8dc007b336e2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://9b8c203e136583fa946e4ae0e7bc9774837f865f8b319daa97c84ceb8a16c95b\",\"dweb:/ipfs/QmPJPPL27TB8qt66ZHquDCYtuubcTStRqxn4nxQnehMdA2\"]},\"src/common/implementation/MultiCaller.sol\":{\"keccak256\":\"0x1cef2a13b361679c2ef5d0d97fcbb0ae0cf4858b97a6dd8ab68e3974ea5ffe4a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ad81f2964ce1b40a8ee56a56612d6b773f260e5a3381dc50cd85ba1f9f6af46f\",\"dweb:/ipfs/QmU3Pbxq8rMhGKqNiBa6vWqtiHw9RzdZ4zbTayhgGdyAnz\"]},\"src/common/interfaces/AddressWhitelistInterface.sol\":{\"keccak256\":\"0x126b2bc590041cf213c274bedc91c06a263ddff5e11a090be80d7db8b1cb0d8f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0f47e32816f895d4a3a060eded9bba7853eff6a6d99c3de5b4d1ca8359ce1c49\",\"dweb:/ipfs/QmVWt7xTr68owupHSUUJNfV2N3n2bTvTWtXCDtu8k3uVBN\"]},\"src/common/interfaces/FixedPointInterface.sol\":{\"keccak256\":\"0xceca09e6aa78c97698fa0b1f40657f6c3c723d5d94150ef6476affb9671df753\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d5d1b01017749d96befb5c2e8a8c6d9dd041f57e1d9a66238c296cc28512d2e5\",\"dweb:/ipfs/QmVPiky59JTngjwZNdxbmD7H1Lwa5AgTjzv975wSnavFFy\"]},\"src/data-verification-mechanism/interfaces/StoreInterface.sol\":{\"keccak256\":\"0x1905509e908c6a9b8b3a89449d2d86fd7192d0e588cbe542edd21351d9971ee5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://346e602f41469943453fbe039bf7554b23e1eba3128ff3858d32b35ebcc2ae88\",\"dweb:/ipfs/QmcjZ73TwMjondBDKEHyZ9KUjZzcxsy6Dmqs8QxPK3KBde\"]},\"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol\":{\"keccak256\":\"0xc9d7a66b24fdae13296742642c015e563ee14c2b14aa5d2e27feb9dcd9251420\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47f9fb2885988c20219b93679f3f840b24f7abafa98ed3c09e8a072bc002b6f8\",\"dweb:/ipfs/QmZGW9Jmbsm5ddbsCcVxBeLqV5vvtiXAunjhTg8KYJwLzj\"]},\"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol\":{\"keccak256\":\"0xa0552c2797adccd632c07e77795cf258ff13e2cc435a14a7c530ea0f8acb49c2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ce250692f3db536caf05b193754741f62682c6bcac542780b1acc4b2fbf8bb25\",\"dweb:/ipfs/QmSQTPq4goBfGYfxV2V5B78y4PADfvjJsbPrKedoQxuS2h\"]},\"src/optimistic-oracle-v2/interfaces/ManagedOptimisticOracleV2Interface.sol\":{\"keccak256\":\"0xc852903a36f8ef8224be0f3769df0bbda8ae51a30e307546f16397af2fa26de1\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7e1cc2d1655db300d72b8005d2387efde447c71a723efa46db823cff376aff3e\",\"dweb:/ipfs/QmUDwx2TjTkf6JjFTJ3kRDoWdtUaUTdk35PJSDhJni9mFo\"]},\"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol\":{\"keccak256\":\"0x33a251fab5e475a286832db9bc3aabf7f597497f07e06c2da8779d4f486336d1\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e8789e875af4c98c16a085279a5dd545fe2fe32716e66c41343ea0edaf8fad9f\",\"dweb:/ipfs/QmQTzL8h24WkcfchRfSRrCysAfSprVCF2RNc4AMQTchTyZ\"]},\"test/ManagedOptimisticOracleV2.t.sol\":{\"keccak256\":\"0x03f4ed2c4422618ba59753f176dc55ab5da0e24fc241b864f28e08795e413d54\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e702c3e25c2e11e558e7feea14d38648205caa514102cec5481709d746f49a2b\",\"dweb:/ipfs/QmXaTqQjitWJTWPfcyKMg6HiQfoszqsqM2GBJZvKLxCSBx\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":46,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)8093_storage"},{"astId":244,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":2745,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":2766,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)2761_storage)"},{"astId":2770,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":2774,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":2777,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":3715,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":5782,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)8093_storage"},{"astId":6699,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":6702,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":6705,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":6708,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":6711,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":6714,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":6718,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzArtifactSelector)6690_storage)dyn_storage"},{"astId":6722,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"_excludedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)6684_storage)dyn_storage"},{"astId":6726,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"_targetedSelectors","offset":0,"slot":"29","type":"t_array(t_struct(FuzzSelector)6684_storage)dyn_storage"},{"astId":6730,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"_targetedInterfaces","offset":0,"slot":"30","type":"t_array(t_struct(FuzzInterface)6696_storage)dyn_storage"},{"astId":12985,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"IS_TEST","offset":0,"slot":"31","type":"t_bool"},{"astId":64263,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"configAdmin","offset":1,"slot":"31","type":"t_address"},{"astId":64265,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"upgradeAdmin","offset":0,"slot":"32","type":"t_address"},{"astId":64267,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"requestManager","offset":0,"slot":"33","type":"t_address"},{"astId":64269,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"requester","offset":0,"slot":"34","type":"t_address"},{"astId":64271,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"nonRequester","offset":0,"slot":"35","type":"t_address"},{"astId":64273,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"proposer","offset":0,"slot":"36","type":"t_address"},{"astId":64275,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"otherProposer","offset":0,"slot":"37","type":"t_address"},{"astId":64277,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"sender","offset":0,"slot":"38","type":"t_address"},{"astId":64279,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"otherSender","offset":0,"slot":"39","type":"t_address"},{"astId":64282,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"moo","offset":0,"slot":"40","type":"t_contract(ManagedOptimisticOracleV2)61771"},{"astId":64285,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"finder","offset":0,"slot":"41","type":"t_contract(FinderInterface)56983"},{"astId":64288,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"collateralWhitelist","offset":0,"slot":"42","type":"t_contract(AddressWhitelist)60496"},{"astId":64291,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"defaultProposerWhitelist","offset":0,"slot":"43","type":"t_contract(AddressWhitelist)60496"},{"astId":64294,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"requesterWhitelist","offset":0,"slot":"44","type":"t_contract(AddressWhitelist)60496"},{"astId":64297,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"disabledWhitelist","offset":0,"slot":"45","type":"t_contract(DisabledAddressWhitelist)60583"},{"astId":64300,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"idWhitelist","offset":0,"slot":"46","type":"t_contract(MockIdentifierWhitelist)64210"},{"astId":64303,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"store","offset":0,"slot":"47","type":"t_contract(MockStore)64164"},{"astId":64306,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"currency","offset":0,"slot":"48","type":"t_contract(ERC20Mock)41747"},{"astId":64309,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"otherCurrency","offset":0,"slot":"49","type":"t_contract(ERC20Mock)41747"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzArtifactSelector)6690_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzArtifactSelector[]","numberOfBytes":"32","base":"t_struct(FuzzArtifactSelector)6690_storage"},"t_array(t_struct(FuzzInterface)6696_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)6696_storage"},"t_array(t_struct(FuzzSelector)6684_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)6684_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(AddressWhitelist)60496":{"encoding":"inplace","label":"contract AddressWhitelist","numberOfBytes":"20"},"t_contract(DisabledAddressWhitelist)60583":{"encoding":"inplace","label":"contract DisabledAddressWhitelist","numberOfBytes":"20"},"t_contract(ERC20Mock)41747":{"encoding":"inplace","label":"contract ERC20Mock","numberOfBytes":"20"},"t_contract(FinderInterface)56983":{"encoding":"inplace","label":"contract FinderInterface","numberOfBytes":"20"},"t_contract(ManagedOptimisticOracleV2)61771":{"encoding":"inplace","label":"contract ManagedOptimisticOracleV2","numberOfBytes":"20"},"t_contract(MockIdentifierWhitelist)64210":{"encoding":"inplace","label":"contract MockIdentifierWhitelist","numberOfBytes":"20"},"t_contract(MockStore)64164":{"encoding":"inplace","label":"contract MockStore","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))"},"t_mapping(t_bytes32,t_struct(FindData)8068_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)8068_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)8068_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)2761_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)2761_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)2761_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":2754,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":2756,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":2758,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":2760,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)8068_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":8061,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":8063,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":8065,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":8067,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzArtifactSelector)6690_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzArtifactSelector","numberOfBytes":"64","members":[{"astId":6686,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"artifact","offset":0,"slot":"0","type":"t_string_storage"},{"astId":6689,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(FuzzInterface)6696_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":6692,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":6695,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)6684_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":6680,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":6683,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(StdStorage)8093_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":8077,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))"},{"astId":8080,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":8082,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":8084,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":8086,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":8088,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":8090,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":8092,"contract":"test/ManagedOptimisticOracleV2.t.sol:ManagedOptimisticOracleV2Test","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"6080604052600c8054600160ff199182168117909255601f80549091169091179055348015602b575f5ffd5b506201012d806200003b5f395ff3fe608060405234801561000f575f5ffd5b5060043610610234575f3560e01c80638424944211610135578063c75ead24116100b4578063eaf48b1211610079578063eaf48b12146103a4578063ee448c36146103ac578063f15b40ec146103b4578063fa7626d4146103bc578063fea47122146103c9575f5ffd5b8063c75ead241461037c578063cb062ceb14610384578063d53045bb1461038c578063d6352a3614610394578063e20c9f711461039c575f5ffd5b8063ac40329a116100fa578063ac40329a14610344578063b0464fdc1461034c578063b5508aa914610354578063b8fcbfd21461035c578063ba414fa614610364575f5ffd5b8063842494421461030257806385226c811461030a578063916a17c61461031f5780639f35298214610334578063a452fa7c1461033c575f5ffd5b80633f7286f4116101c157806366d9a9a01161018657806366d9a9a0146102cd57806371283f17146102e25780637d58df6e146102ea578063801006b7146102f25780638113f192146102fa575f5ffd5b80633f7286f4146102a55780634353e5d6146102ad5780634c6f2260146102b5578063508ac0f0146102bd5780635e341e80146102c5575f5ffd5b80631ed7831c116102075780631ed7831c1461025a5780632ade3880146102785780632c4991db1461028d578063309524d2146102955780633e5e3c231461029d575f5ffd5b80630a9254e414610238578063114fac2614610242578063174f873b1461024a5780631d78ce7b14610252575b5f5ffd5b6102406103d1565b005b61024061140a565b61024061157a565b6102406117d5565b6102626118c9565b60405161026f9190617f66565b60405180910390f35b610280611929565b60405161026f9190617fdf565b610240611a65565b610240611c8d565b610262611f4b565b610262611fa9565b610240612007565b6102406123f2565b610240612dbb565b610240612f5b565b6102d5613321565b60405161026f91906180ec565b610240613485565b610240613717565b610240613857565b610240613ac6565b610240613fc1565b610312614450565b60405161026f919061816a565b61032761451b565b60405161026f91906181c1565b6102406145fc565b610240614bef565b610240614d73565b61032761543c565b61031261551d565b6102406155e8565b61036c615957565b604051901515815260200161026f565b610240615a12565b610240615b2f565b610240615ec4565b610240616145565b610262616556565b6102406165b4565b6102406168f5565b610240616d8c565b601f5461036c9060ff1681565b61024061734e565b6103fd6040518060400160405280600b81526020016a31b7b73334b3a0b236b4b760a91b8152506174e2565b601f60016101000a8154816001600160a01b0302191690836001600160a01b031602179055506104506040518060400160405280600c81526020016b3ab833b930b232a0b236b4b760a11b8152506174e2565b60205f6101000a8154816001600160a01b0302191690836001600160a01b031602179055506104a46040518060400160405280600e81526020016d3932b8bab2b9ba26b0b730b3b2b960911b8152506174e2565b602180546001600160a01b0319166001600160a01b03929092169190911790556040805180820190915260098152683932b8bab2b9ba32b960b91b60208201526104ed906174e2565b602280546001600160a01b0319166001600160a01b039290921691909117905560408051808201909152600c81526b3737b72932b8bab2b9ba32b960a11b6020820152610539906174e2565b602380546001600160a01b0319166001600160a01b0392909216919091179055604080518082019091526008815267383937b837b9b2b960c11b6020820152610581906174e2565b602480546001600160a01b0319166001600160a01b039290921691909117905560408051808201909152600d81526c37ba3432b9283937b837b9b2b960991b60208201526105ce906174e2565b602580546001600160a01b0319166001600160a01b039290921691909117905560408051808201909152600681526539b2b73232b960d11b6020820152610614906174e2565b602680546001600160a01b0319166001600160a01b039290921691909117905560408051808201909152600b81526a37ba3432b929b2b73232b960a91b602082015261065f906174e2565b602780546001600160a01b0319166001600160a01b03928316179055601f54604080516318caf8e360e31b815261010090920490921660048201526024810191909152600c60448201526b21a7a72324a3afa0a226a4a760a11b60648201525f516020620100b85f395f51905f529063c657c718906084015f604051808303815f87803b1580156106ee575f5ffd5b505af1158015610700573d5f5f3e3d5ffd5b5050602054604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600d60448201526c2aa823a920a222afa0a226a4a760991b60648201525f516020620100b85f395f51905f52925063c657c71891506084015f604051808303815f87803b158015610777575f5ffd5b505af1158015610789573d5f5f3e3d5ffd5b5050602154604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600f60448201526e2922a8aaa2a9aa2fa6a0a720a3a2a960891b60648201525f516020620100b85f395f51905f52925063c657c71891506084015f604051808303815f87803b158015610802575f5ffd5b505af1158015610814573d5f5f3e3d5ffd5b5050602254604080516318caf8e360e31b81526001600160a01b039092166004830152602482015260096044820152682922a8aaa2a9aa22a960b91b60648201525f516020620100b85f395f51905f52925063c657c71891506084015f604051808303815f87803b158015610887575f5ffd5b505af1158015610899573d5f5f3e3d5ffd5b5050602354604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600d60448201526c2727a72fa922a8aaa2a9aa22a960991b60648201525f516020620100b85f395f51905f52925063c657c71891506084015f604051808303815f87803b158015610910575f5ffd5b505af1158015610922573d5f5f3e3d5ffd5b505060248054604080516318caf8e360e31b81526001600160a01b039092166004830152918101919091526008604482015267282927a827a9a2a960c11b60648201525f516020620100b85f395f51905f52925063c657c71891506084015f604051808303815f87803b158015610997575f5ffd5b505af11580156109a9573d5f5f3e3d5ffd5b5050602554604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600e60448201526d27aa2422a92fa82927a827a9a2a960911b60648201525f516020620100b85f395f51905f52925063c657c71891506084015f604051808303815f87803b158015610a21575f5ffd5b505af1158015610a33573d5f5f3e3d5ffd5b5050602654604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600660448201526529a2a72222a960d11b60648201525f516020620100b85f395f51905f52925063c657c71891506084015f604051808303815f87803b158015610aa3575f5ffd5b505af1158015610ab5573d5f5f3e3d5ffd5b5050602754604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600c60448201526b27aa2422a92fa9a2a72222a960a11b60648201525f516020620100b85f395f51905f52925063c657c71891506084015f604051808303815f87803b158015610b2b575f5ffd5b505af1158015610b3d573d5f5f3e3d5ffd5b50505050604051610b4d90617eaa565b604051809103905ff080158015610b66573d5f5f3e3d5ffd5b50602980546001600160a01b0319166001600160a01b0392909216919091179055604051610b9390617eb8565b604051809103905ff080158015610bac573d5f5f3e3d5ffd5b50602a80546001600160a01b0319166001600160a01b0392909216919091179055604051610bd990617eb8565b604051809103905ff080158015610bf2573d5f5f3e3d5ffd5b50602b80546001600160a01b0319166001600160a01b0392909216919091179055604051610c1f90617eb8565b604051809103905ff080158015610c38573d5f5f3e3d5ffd5b50602c80546001600160a01b0319166001600160a01b0392909216919091179055604051610c6590617ec6565b604051809103905ff080158015610c7e573d5f5f3e3d5ffd5b50602d80546001600160a01b0319166001600160a01b0392909216919091179055604051610cab90617ed4565b604051809103905ff080158015610cc4573d5f5f3e3d5ffd5b50602e80546001600160a01b0319166001600160a01b0392909216919091179055604051610cf190617ee2565b604051809103905ff080158015610d0a573d5f5f3e3d5ffd5b50602f80546001600160a01b0319166001600160a01b0392909216919091179055604051610d3790617ef0565b604051809103905ff080158015610d50573d5f5f3e3d5ffd5b50603080546001600160a01b0319166001600160a01b0392909216919091179055604051610d7d90617ef0565b604051809103905ff080158015610d96573d5f5f3e3d5ffd5b50603180546001600160a01b0319166001600160a01b03928316179055602a5460305460405163e43252d760e01b8152908316600482015291169063e43252d7906024015f604051808303815f87803b158015610df1575f5ffd5b505af1158015610e03573d5f5f3e3d5ffd5b5050602e546040516310a7e20160e01b81525f516020620100d85f395f51905f5260048201526001600160a01b0390911692506310a7e20191506024015f604051808303815f87803b158015610e57575f5ffd5b505af1158015610e69573d5f5f3e3d5ffd5b5050602954602a546040516318fcb32f60e11b81527210dbdb1b185d195c985b15da1a5d195b1a5cdd606a1b60048201526001600160a01b039182166024820152911692506331f9665e91506044015f604051808303815f87803b158015610ecf575f5ffd5b505af1158015610ee1573d5f5f3e3d5ffd5b5050602954602e546040516318fcb32f60e11b8152721259195b9d1a599a595c95da1a5d195b1a5cdd606a1b60048201526001600160a01b039182166024820152911692506331f9665e91506044015f604051808303815f87803b158015610f47575f5ffd5b505af1158015610f59573d5f5f3e3d5ffd5b5050602954602f546040516318fcb32f60e11b81526453746f726560d81b60048201526001600160a01b039182166024820152911692506331f9665e91506044015f604051808303815f87803b158015610fb1575f5ffd5b505af1158015610fc3573d5f5f3e3d5ffd5b5050602f5460305460405163074df7f560e41b81526001600160a01b0392831694506374df7f5093506110069290911690678ac7230489e8000090600401618238565b5f604051808303815f87803b15801561101d575f5ffd5b505af115801561102f573d5f5f3e3d5ffd5b5050602b546024805460405163e43252d760e01b81526001600160a01b0391821660048201529216935063e43252d79250015f604051808303815f87803b158015611078575f5ffd5b505af115801561108a573d5f5f3e3d5ffd5b5050602b5460265460405163e43252d760e01b81526001600160a01b0391821660048201529116925063e43252d791506024015f604051808303815f87803b1580156110d4575f5ffd5b505af11580156110e6573d5f5f3e3d5ffd5b5050602c5460225460405163e43252d760e01b81526001600160a01b0391821660048201529116925063e43252d791506024015f604051808303815f87803b158015611130575f5ffd5b505af1158015611142573d5f5f3e3d5ffd5b505050505f60405161115390617efe565b604051809103905ff08015801561116c573d5f5f3e3d5ffd5b506040805160018082528183019092529192505f9190816020015b61118f617f0c565b8152602001906001900390816111875750506040805180820182526030546001600160a01b031681528151808301909252670de0b6b3a76400008252683635c9adc5dea0000060208084019190915281019190915281519192509082905f906111fa576111fa618265565b602090810291909101810191909152602954602b54602c54601f5493546040515f956366d90e6360e11b9561125c956202a300956001600160a01b039283169591831694908316938b93610e1093610100909204811692911690602401618279565b604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b03838183161783525050505090505f83826040516112a090617f58565b6112ab92919061834e565b604051809103905ff0801580156112c4573d5f5f3e3d5ffd5b50602880546001600160a01b0319166001600160a01b0383811691909117909155601f546040516303223eab60e11b815261010090910490911660048201529091505f516020620100b85f395f51905f52906306447d56906024015f604051808303815f87803b158015611336575f5ffd5b505af1158015611348573d5f5f3e3d5ffd5b5050602854602154604051635b66dc7760e11b81526001600160a01b0391821660048201529116925063b6cdb8ee91506024015f604051808303815f87803b158015611392575f5ffd5b505af11580156113a4573d5f5f3e3d5ffd5b505050505f516020620100b85f395f51905f526001600160a01b03166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156113ee575f5ffd5b505af1158015611400573d5f5f3e3d5ffd5b5050505050505050565b601f5460405163ca669fa760e01b81526101009091046001600160a01b031660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b15801561145e575f5ffd5b505af1158015611470573d5f5f3e3d5ffd5b505060405163248e63e160e11b81525f60048201819052602482018190526044820152600160648201525f516020620100b85f395f51905f52925063491cc7c291506084015f604051808303815f87803b1580156114cc575f5ffd5b505af11580156114de573d5f5f3e3d5ffd5b505050507fc41d1b4ad42d6f594ce26dc949c6aa711df74301f1f2c17b3a36d30c9761abf361708060405161151591815260200190565b60405180910390a1602854604051631976674f60e11b815261708060048201526001600160a01b03909116906332ecce9e906024015b5f604051808303815f87803b158015611562575f5ffd5b505af1158015611574573d5f5f3e3d5ffd5b50505050565b601f5460405163ca669fa760e01b81526101009091046001600160a01b031660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b1580156115ce575f5ffd5b505af11580156115e0573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e0915061161c90631131fa7160e11b90600401618371565b5f604051808303815f87803b158015611633575f5ffd5b505af1158015611645573d5f5f3e3d5ffd5b505060285460315460408051808201825260018152600260208201529051632c22f34560e11b81526001600160a01b039384169550635845e68a94506116919390921691600401618386565b5f604051808303815f87803b1580156116a8575f5ffd5b505af11580156116ba573d5f5f3e3d5ffd5b5050601f5460405163ca669fa760e01b81526101009091046001600160a01b031660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015611712575f5ffd5b505af1158015611724573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e0915061176090635b1a743760e01b90600401618371565b5f604051808303815f87803b158015611777575f5ffd5b505af1158015611789573d5f5f3e3d5ffd5b5050602854603054604080518082018252600a8152600560208201529051632c22f34560e11b81526001600160a01b039384169550635845e68a945061154b9390921691600401618386565b5f516020620100b85f395f51905f526001600160a01b031663f48448146040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561181b575f5ffd5b505af115801561182d573d5f5f3e3d5ffd5b505060205460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015611881575f5ffd5b505af1158015611893573d5f5f3e3d5ffd5b5050602854604051631976674f60e11b815261384060048201526001600160a01b0390911692506332ecce9e915060240161154b565b6060601680548060200260200160405190810160405280929190818152602001828054801561191f57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311611901575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020015f905b82821015611a5c575f84815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b82821015611a45578382905f5260205f200180546119ba906183b9565b80601f01602080910402602001604051908101604052809291908181526020018280546119e6906183b9565b8015611a315780601f10611a0857610100808354040283529160200191611a31565b820191905f5260205f20905b815481529060010190602001808311611a1457829003601f168201915b50505050508152602001906001019061199d565b50505050815250508152602001906001019061194c565b50505050905090565b6022544290611a7e906001600160a01b0316825f6174f3565b5060215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b158015611acf575f5ffd5b505af1158015611ae1573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015260305491516393ae2ebd60e01b81526001600160a01b0394851696506393ae2ebd9550611b5994938416935f516020620100d85f395f51905f52931690674563918244f40000906004016183f1565b5f604051808303815f87803b158015611b70575f5ffd5b505af1158015611b82573d5f5f3e3d5ffd5b50506026546024546022545f9450611bae93506001600160a01b039283169291821691168560646177a6565b9050611bc28167d02ab486cedc0000617a60565b602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152905163a9904f9b60e01b81525f936001600160a01b039081169363a9904f9b93611c2c9392909116915f516020620100d85f395f51905f52918991600401618434565b61020060405180830381865afa158015611c48573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c6c9190618591565b9050611c88816080015160a00151674563918244f40000617a60565b505050565b601f5460405163ca669fa760e01b81526101009091046001600160a01b031660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b158015611ce1575f5ffd5b505af1158015611cf3573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e09150611d2f906367cc38ef60e01b90600401618371565b5f604051808303815f87803b158015611d46575f5ffd5b505af1158015611d58573d5f5f3e3d5ffd5b50506028546030546040516335c10e8360e11b81526001600160a01b03918216600482015291169250636b821d0691506024015f604051808303815f87803b158015611da2575f5ffd5b505af1158015611db4573d5f5f3e3d5ffd5b505050505f604051611dc590617eb8565b604051809103905ff080158015611dde573d5f5f3e3d5ffd5b50601f5460405163ca669fa760e01b81526101009091046001600160a01b031660048201529091505f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b158015611e36575f5ffd5b505af1158015611e48573d5f5f3e3d5ffd5b505060405163248e63e160e11b81526001600482018190525f60248301819052604483015260648201525f516020620100b85f395f51905f52925063491cc7c291506084015f604051808303815f87803b158015611ea4575f5ffd5b505af1158015611eb6573d5f5f3e3d5ffd5b50506040516001600160a01b03841692507fab1796ea525d29607f67aabc405756efd2fc7c4eb2531e627f6ec697ac618a8e91505f90a26028546040516335c10e8360e11b81526001600160a01b03838116600483015290911690636b821d06906024015b5f604051808303815f87803b158015611f32575f5ffd5b505af1158015611f44573d5f5f3e3d5ffd5b5050505050565b6060601880548060200260200160405190810160405280929190818152602001828054801561191f57602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311611901575050505050905090565b6060601780548060200260200160405190810160405280929190818152602001828054801561191f57602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311611901575050505050905090565b5f60405161201490617efe565b604051809103905ff08015801561202d573d5f5f3e3d5ffd5b5090505f516020620100b85f395f51905f526001600160a01b031663f28dceb363e2517d3f60e01b3060285f9054906101000a90046001600160a01b03166001600160a01b031663a217fddf6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120a6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120ca919061863c565b6040516024016120db929190618238565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e084901b909216825261212091600401618653565b5f604051808303815f87803b158015612137575f5ffd5b505af1158015612149573d5f5f3e3d5ffd5b50506028546040805163278f794360e11b81526001600160a01b03868116600483015260248201929092525f604482015291169250634f1ef28691506064015f604051808303815f87803b15801561219f575f5ffd5b505af11580156121b1573d5f5f3e3d5ffd5b505050505f60285f9054906101000a90046001600160a01b03166001600160a01b03166391152f106040518163ffffffff1660e01b8152600401602060405180830381865afa158015612206573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061222a919061863c565b60205460405163ca669fa760e01b81526001600160a01b0390911660048201529091505f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b15801561227d575f5ffd5b505af115801561228f573d5f5f3e3d5ffd5b50506028546040805163278f794360e11b81526001600160a01b03878116600483015260248201929092525f604482015291169250634f1ef28691506064015f604051808303815f87803b1580156122e5575f5ffd5b505af11580156122f7573d5f5f3e3d5ffd5b5050505061237860285f9054906101000a90046001600160a01b03166001600160a01b03166391152f106040518163ffffffff1660e01b8152600401602060405180830381865afa15801561234e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612372919061863c565b82617a60565b6028546040805163fe4e198360e01b815290516123ee926001600160a01b03169163fe4e19839160048083019260209291908290030181865afa1580156123c1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123e5919061863c565b6202a300617a60565b5050565b602854604080516379c7ee0160e11b815290515f516020620100b85f395f51905f529263f28dceb39263e2517d3f60e01b9230926001600160a01b03169163f38fdc029160048083019260209291908290030181865afa158015612458573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061247c919061863c565b60405160240161248d929190618238565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e084901b90921682526124d291600401618653565b5f604051808303815f87803b1580156124e9575f5ffd5b505af11580156124fb573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015260305491516393ae2ebd60e01b81526001600160a01b0394851696506393ae2ebd955061257394938416935f516020620100d85f395f51905f52931690671bc16d674ec80000906004016183f1565b5f604051808303815f87803b15801561258a575f5ffd5b505af115801561259c573d5f5f3e3d5ffd5b505060405163248e63e160e11b8152600160048201819052602482018190526044820181905260648201525f516020620100b85f395f51905f52925063491cc7c291506084015f604051808303815f87803b1580156125f9575f5ffd5b505af115801561260b573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152905163241ab4c560e11b81525f95506001600160a01b039384169450634835698a936126749316915f516020620100d85f395f51905f5291600401618665565b602060405180830381865afa15801561268f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126b3919061863c565b603054602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015290519394506001600160a01b03928316935f516020620100d85f395f51905f529386937f4544c320b43beb5421d5149ff92fa72b40f00ac65294c4b8ca3906f08fb5a8c293612737939290911691671bc16d674ec8000090618694565b60405180910390a460215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b15801561278f575f5ffd5b505af11580156127a1573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015260305491516393ae2ebd60e01b81526001600160a01b0394851696506393ae2ebd955061281994938416935f516020620100d85f395f51905f52931690671bc16d674ec80000906004016183f1565b5f604051808303815f87803b158015612830575f5ffd5b505af1158015612842573d5f5f3e3d5ffd5b505060215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015612896575f5ffd5b505af11580156128a8573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e091506128e490634935f70160e11b90600401618371565b5f604051808303815f87803b1580156128fb575f5ffd5b505af115801561290d573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015260305491516393ae2ebd60e01b81526001600160a01b0394851696506393ae2ebd955061297d94938416935f516020620100d85f395f51905f529316905f906004016183f1565b5f604051808303815f87803b158015612994575f5ffd5b505af11580156129a6573d5f5f3e3d5ffd5b505060215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b1580156129fa575f5ffd5b505af1158015612a0c573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e09150612a489063dba3b86160e01b90600401618371565b5f604051808303815f87803b158015612a5f575f5ffd5b505af1158015612a71573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015260305491516393ae2ebd60e01b81526001600160a01b0394851696506393ae2ebd9550612ae994938416935f516020620100d85f395f51905f529316906706f05b59d3b20000906004016183f1565b5f604051808303815f87803b158015612b00575f5ffd5b505af1158015612b12573d5f5f3e3d5ffd5b505060215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015612b66575f5ffd5b505af1158015612b78573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e09150612bb490631f7b5d6160e01b90600401618371565b5f604051808303815f87803b158015612bcb575f5ffd5b505af1158015612bdd573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015260305491516393ae2ebd60e01b81526001600160a01b0394851696506393ae2ebd9550612c5694938416935f516020620100d85f395f51905f52931690686c6b935b8bbd400000906004016183f1565b5f604051808303815f87803b158015612c6d575f5ffd5b505af1158015612c7f573d5f5f3e3d5ffd5b505060215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015612cd3575f5ffd5b505af1158015612ce5573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e09150612d2190631131fa7160e11b90600401618371565b5f604051808303815f87803b158015612d38575f5ffd5b505af1158015612d4a573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015260315491516393ae2ebd60e01b81526001600160a01b0394851696506393ae2ebd9550611f1b94938416935f516020620100d85f395f51905f529316906001906004016183f1565b6022544290612dd4906001600160a01b0316825f6174f3565b5060215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b158015612e25575f5ffd5b505af1158015612e37573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152602d549151631a3da6dd60e11b81526001600160a01b03948516965063347b4dba9550612ea594938416935f516020620100d85f395f51905f529316906004016186c7565b5f604051808303815f87803b158015612ebc575f5ffd5b505af1158015612ece573d5f5f3e3d5ffd5b505050505f612efe6040518060400160405280600a815260200169333932b2a9b2b73232b960b11b8152506174e2565b90505f612f2e6040518060400160405280600c81526020016b333932b2a83937b837b9b2b960a11b8152506174e2565b6022549091505f90612f4f90849084906001600160a01b03168760076177a6565b9050611574815f617ac5565b60215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b158015612fab575f5ffd5b505af1158015612fbd573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e09150612ff9906367cc38ef60e01b90600401618371565b5f604051808303815f87803b158015613010575f5ffd5b505af1158015613022573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b60208201526030549151631a3da6dd60e11b81526001600160a01b03948516965063347b4dba955061309094938416935f516020620100d85f395f51905f529316906004016186c7565b5f604051808303815f87803b1580156130a7575f5ffd5b505af11580156130b9573d5f5f3e3d5ffd5b505060405163248e63e160e11b8152600160048201819052602482018190525f604483015260648201525f516020620100b85f395f51905f52925063491cc7c291506084015f604051808303815f87803b158015613115575f5ffd5b505af1158015613127573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152905163241ab4c560e11b81525f95506001600160a01b039384169450634835698a936131909316915f516020620100d85f395f51905f5291600401618665565b602060405180830381865afa1580156131ab573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131cf919061863c565b602d54602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015290519394506001600160a01b03928316935f516020620100d85f395f51905f529386937f6176bed8b34e20579b664c32ad00534f173e1f7c4410232beef89bed4464ddc09361324993929091169161834e565b60405180910390a460215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b1580156132a1575f5ffd5b505af11580156132b3573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152602d549151631a3da6dd60e11b81526001600160a01b03948516965063347b4dba9550611f1b94938416935f516020620100d85f395f51905f529316906004016186c7565b6060601b805480602002602001604051908101604052809291908181526020015f905b82821015611a5c578382905f5260205f2090600202016040518060400160405290815f82018054613374906183b9565b80601f01602080910402602001604051908101604052809291908181526020018280546133a0906183b9565b80156133eb5780601f106133c2576101008083540402835291602001916133eb565b820191905f5260205f20905b8154815290600101906020018083116133ce57829003601f168201915b505050505081526020016001820180548060200260200160405190810160405280929190818152602001828054801561346d57602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161342f5790505b50505050508152505081526020019060010190613344565b601f5460405163ca669fa760e01b81526101009091046001600160a01b031660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b1580156134d9575f5ffd5b505af11580156134eb573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e09150613527906367cc38ef60e01b90600401618371565b5f604051808303815f87803b15801561353e575f5ffd5b505af1158015613550573d5f5f3e3d5ffd5b5050602854603054604051631fa50cef60e01b81526001600160a01b03918216600482015291169250631fa50cef91506024015f604051808303815f87803b15801561359a575f5ffd5b505af11580156135ac573d5f5f3e3d5ffd5b505050505f6040516135bd90617eb8565b604051809103905ff0801580156135d6573d5f5f3e3d5ffd5b50601f5460405163ca669fa760e01b81526101009091046001600160a01b031660048201529091505f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b15801561362e575f5ffd5b505af1158015613640573d5f5f3e3d5ffd5b505060405163248e63e160e11b81526001600482018190525f60248301819052604483015260648201525f516020620100b85f395f51905f52925063491cc7c291506084015f604051808303815f87803b15801561369c575f5ffd5b505af11580156136ae573d5f5f3e3d5ffd5b50506040516001600160a01b03841692507fe983c4450684b2324d78afaa992b88be67cf4d3919d7a6539ca774d7bb5189f491505f90a2602854604051631fa50cef60e01b81526001600160a01b03838116600483015290911690631fa50cef90602401611f1b565b604051630618f58760e51b81525f516020620100b85f395f51905f529063c31eb0e09061374f90630f3c7c2760e01b90600401618371565b5f604051808303815f87803b158015613766575f5ffd5b505af1158015613778573d5f5f3e3d5ffd5b5050602854604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015260305491516311df92f160e01b81526001600160a01b0393841695506311df92f194506137e5935f516020620100d85f395f51905f52934293929116905f90600401618706565b6020604051808303815f875af1158015613801573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613825919061863c565b506022545f9061383f906001600160a01b031642836174f3565b9050613854816801158e460913d00000617a60565b50565b602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b60208201529051633ba373d760e11b81525f936001600160a01b0390811693637746e7ae936138bf9391909216915f516020620100d85f395f51905f5291600401618665565b602060405180830381865afa1580156138da573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138fe9190618724565b905061390a815f617afe565b60215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b15801561395a575f5ffd5b505af115801561396c573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152602b549151631a3da6dd60e11b81526001600160a01b03948516965063347b4dba95506139da94938416935f516020620100d85f395f51905f529316906004016186c7565b5f604051808303815f87803b1580156139f1575f5ffd5b505af1158015613a03573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b60208201529051633ba373d760e11b81526001600160a01b039384169550637746e7ae9450613a6d93909216915f516020620100d85f395f51905f529190600401618665565b602060405180830381865afa158015613a88573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613aac9190618724565b602b549091506138549082906001600160a01b0316617afe565b602854604080516331e3bca360e21b815290515f516020620100b85f395f51905f529263f28dceb39263e2517d3f60e01b9230926001600160a01b03169163c78ef28c9160048083019260209291908290030181865afa158015613b2c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613b50919061863c565b604051602401613b61929190618238565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e084901b9092168252613ba691600401618653565b5f604051808303815f87803b158015613bbd575f5ffd5b505af1158015613bcf573d5f5f3e3d5ffd5b5050602854604051631976674f60e11b8152611c2060048201526001600160a01b0390911692506332ecce9e91506024015f604051808303815f87803b158015613c17575f5ffd5b505af1158015613c29573d5f5f3e3d5ffd5b5050601f5460405163ca669fa760e01b81526101009091046001600160a01b031660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015613c81575f5ffd5b505af1158015613c93573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e09150613ccf9063fa050ec160e01b90600401618371565b5f604051808303815f87803b158015613ce6575f5ffd5b505af1158015613cf8573d5f5f3e3d5ffd5b5050602854604051631976674f60e11b81525f60048201526001600160a01b0390911692506332ecce9e91506024015f604051808303815f87803b158015613d3e575f5ffd5b505af1158015613d50573d5f5f3e3d5ffd5b5050601f5460405163ca669fa760e01b81526101009091046001600160a01b031660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015613da8575f5ffd5b505af1158015613dba573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e09150613df69063cb40339f60e01b90600401618371565b5f604051808303815f87803b158015613e0d575f5ffd5b505af1158015613e1f573d5f5f3e3d5ffd5b5050602854604051631976674f60e11b81525f1960048201526001600160a01b0390911692506332ecce9e91506024015f604051808303815f87803b158015613e66575f5ffd5b505af1158015613e78573d5f5f3e3d5ffd5b5050601f5460405163ca669fa760e01b81526101009091046001600160a01b031660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015613ed0575f5ffd5b505af1158015613ee2573d5f5f3e3d5ffd5b5050602854604051631976674f60e11b815261546060048201526001600160a01b0390911692506332ecce9e91506024015f604051808303815f87803b158015613f2a575f5ffd5b505af1158015613f3c573d5f5f3e3d5ffd5b50505050613fbf60285f9054906101000a90046001600160a01b03166001600160a01b03166391152f106040518163ffffffff1660e01b8152600401602060405180830381865afa158015613f93573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613fb7919061863c565b615460617a60565b565b6028546040805163047fe10960e51b815290516140a7926001600160a01b031691638ffc21209160048083019260209291908290030181865afa15801561400a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061402e919061863c565b60285f9054906101000a90046001600160a01b03166001600160a01b031663a217fddf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561407e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906140a2919061863c565b617b40565b6028546040805163a217fddf60e01b81529051614191926001600160a01b0316916391d1485491839163a217fddf9160048083019260209291908290030181865afa1580156140f8573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061411c919061863c565b60205460405160e084901b6001600160e01b031916815260048101929092526001600160a01b031660248201526044015b602060405180830381865afa158015614168573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061418c919061873f565b617b79565b6028546040805163a217fddf60e01b81529051614280926001600160a01b0316916391d1485491839163a217fddf9160048083019260209291908290030181865afa1580156141e2573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614206919061863c565b601f5460405160e084901b6001600160e01b0319168152600481019290925261010090046001600160a01b031660248201526044015b602060405180830381865afa158015614257573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061427b919061873f565b617bd0565b602854604080516331e3bca360e21b8152905161432e926001600160a01b03169163248a9ca391839163c78ef28c9160048083019260209291908290030181865afa1580156142d1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906142f5919061863c565b6040518263ffffffff1660e01b815260040161431391815260200190565b602060405180830381865afa15801561400a573d5f5f3e3d5ffd5b602854604080516379c7ee0160e11b81529051613fbf926001600160a01b03169163248a9ca391839163f38fdc029160048083019260209291908290030181865afa15801561437f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906143a3919061863c565b6040518263ffffffff1660e01b81526004016143c191815260200190565b602060405180830381865afa1580156143dc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614400919061863c565b60285f9054906101000a90046001600160a01b03166001600160a01b031663c78ef28c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561407e573d5f5f3e3d5ffd5b6060601a805480602002602001604051908101604052809291908181526020015f905b82821015611a5c578382905f5260205f20018054614490906183b9565b80601f01602080910402602001604051908101604052809291908181526020018280546144bc906183b9565b80156145075780601f106144de57610100808354040283529160200191614507565b820191905f5260205f20905b8154815290600101906020018083116144ea57829003601f168201915b505050505081526020019060010190614473565b6060601d805480602002602001604051908101604052809291908181526020015f905b82821015611a5c575f8481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156145e457602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116145a65790505b5050505050815250508152602001906001019061453e565b602854604080516379c7ee0160e11b815290515f926001600160a01b03169163f38fdc029160048083019260209291908290030181865afa158015614643573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614667919061863c565b602854604080516331e3bca360e21b81529051929350611234925f516020620100b85f395f51905f529263f28dceb39263e2517d3f60e01b9230926001600160a01b03169163c78ef28c9160048083019260209291908290030181865afa1580156146d4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906146f8919061863c565b604051602401614709929190618238565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e084901b909216825261474e91600401618653565b5f604051808303815f87803b158015614765575f5ffd5b505af1158015614777573d5f5f3e3d5ffd5b5050602854604051635b66dc7760e11b81526001600160a01b038581166004830152909116925063b6cdb8ee91506024015f604051808303815f87803b1580156147bf575f5ffd5b505af11580156147d1573d5f5f3e3d5ffd5b5050601f546040516303223eab60e11b81526101009091046001600160a01b031660048201525f516020620100b85f395f51905f5292506306447d5691506024015f604051808303815f87803b158015614829575f5ffd5b505af115801561483b573d5f5f3e3d5ffd5b505060405163248e63e160e11b81526001600482018190525f60248301819052604483015260648201525f516020620100b85f395f51905f52925063491cc7c291506084015f604051808303815f87803b158015614897575f5ffd5b505af11580156148a9573d5f5f3e3d5ffd5b5050601f546040516001600160a01b0361010090920482169350908416915084907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d905f90a4602854604051635b66dc7760e11b81526001600160a01b0383811660048301529091169063b6cdb8ee906024015f604051808303815f87803b158015614933575f5ffd5b505af1158015614945573d5f5f3e3d5ffd5b505050505f516020620100b85f395f51905f526001600160a01b03166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561498f575f5ffd5b505af11580156149a1573d5f5f3e3d5ffd5b5050602854604051632474521560e21b8152600481018690526001600160a01b0385811660248301526149e2945090911691506391d148549060440161414d565b601f546040516303223eab60e11b81526101009091046001600160a01b031660048201525f516020620100b85f395f51905f52906306447d56906024015f604051808303815f87803b158015614a36575f5ffd5b505af1158015614a48573d5f5f3e3d5ffd5b505060405163248e63e160e11b81526001600482018190525f60248301819052604483015260648201525f516020620100b85f395f51905f52925063491cc7c291506084015f604051808303815f87803b158015614aa4575f5ffd5b505af1158015614ab6573d5f5f3e3d5ffd5b5050601f546040516001600160a01b0361010090920482169350908416915084907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b905f90a4602854604051631480db3960e01b81526001600160a01b03838116600483015290911690631480db39906024015f604051808303815f87803b158015614b40575f5ffd5b505af1158015614b52573d5f5f3e3d5ffd5b505050505f516020620100b85f395f51905f526001600160a01b03166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015614b9c575f5ffd5b505af1158015614bae573d5f5f3e3d5ffd5b5050602854604051632474521560e21b8152600481018690526001600160a01b0385811660248301526123ee945090911691506391d148549060440161423c565b601f5460405163ca669fa760e01b81526101009091046001600160a01b031660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b158015614c43575f5ffd5b505af1158015614c55573d5f5f3e3d5ffd5b505060405163248e63e160e11b81526001600482018190525f60248301819052604483015260648201525f516020620100b85f395f51905f52925063491cc7c291506084015f604051808303815f87803b158015614cb1575f5ffd5b505af1158015614cc3573d5f5f3e3d5ffd5b505060305460408051671bc16d674ec8000081526729a2241af62c000060208201526001600160a01b0390921693507f143b6bf2ebf8381dc4db7edfc69b944d4a518b2be84f1d6230aecb2b698100e492500160405180910390a2602854603054604080518082018252671bc16d674ec8000081526729a2241af62c000060208201529051632c22f34560e11b81526001600160a01b0393841693635845e68a9361154b93911691600401618386565b6022544290614d8c906001600160a01b0316825f6174f3565b5060215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b158015614ddd575f5ffd5b505af1158015614def573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e09150614e2b906337d02b5d60e21b90600401618371565b5f604051808303815f87803b158015614e42575f5ffd5b505af1158015614e54573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152905163034c176760e51b81526001600160a01b039384169550636982ece09450614ec193909216915f516020620100d85f395f51905f529190600190600401618758565b5f604051808303815f87803b158015614ed8575f5ffd5b505af1158015614eea573d5f5f3e3d5ffd5b505060215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015614f3e575f5ffd5b505af1158015614f50573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e09150614f8c9063cb40339f60e01b90600401618371565b5f604051808303815f87803b158015614fa3575f5ffd5b505af1158015614fb5573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152905163034c176760e51b81526001600160a01b039384169550636982ece0945061502593909216915f516020620100d85f395f51905f52919063bb74480090600401618758565b5f604051808303815f87803b15801561503c575f5ffd5b505af115801561504e573d5f5f3e3d5ffd5b505060405163248e63e160e11b8152600160048201819052602482018190526044820181905260648201525f516020620100b85f395f51905f52925063491cc7c291506084015f604051808303815f87803b1580156150ab575f5ffd5b505af11580156150bd573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152905163241ab4c560e11b81525f95506001600160a01b039384169450634835698a936151269316915f516020620100d85f395f51905f5291600401618665565b602060405180830381865afa158015615141573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190615165919061863c565b602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015290519293505f516020620100d85f395f51905f52926001600160a01b039092169184917fc5314bcb93c25473b858a5086195e309861a64b4c3ddae4d0a5cb9c5fb6f30f4916151dc9190612a309061878f565b60405180910390a460215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b158015615234575f5ffd5b505af1158015615246573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152905163034c176760e51b81526001600160a01b039384169550636982ece094506152b493909216915f516020620100d85f395f51905f529190612a3090600401618758565b5f604051808303815f87803b1580156152cb575f5ffd5b505af11580156152dd573d5f5f3e3d5ffd5b505f516020620100b85f395f51905f52925063e5d6bf029150615303905084600a6187b0565b6040518263ffffffff1660e01b815260040161532191815260200190565b5f604051808303815f87803b158015615338575f5ffd5b505af115801561534a573d5f5f3e3d5ffd5b505060265460245460225461537494506001600160a01b039283169350908216911685607b6177a6565b50602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152905163a9904f9b60e01b81525f936001600160a01b039081169363a9904f9b936153df9392909116915f516020620100d85f395f51905f52918991600401618434565b61020060405180830381865afa1580156153fb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061541f9190618591565b9050611c888160e0015142612a3061543791906187b0565b617a60565b6060601c805480602002602001604051908101604052809291908181526020015f905b82821015611a5c575f8481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561550557602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116154c75790505b5050505050815250508152602001906001019061545f565b60606019805480602002602001604051908101604052809291908181526020015f905b82821015611a5c578382905f5260205f2001805461555d906183b9565b80601f0160208091040260200160405190810160405280929190818152602001828054615589906183b9565b80156155d45780601f106155ab576101008083540402835291602001916155d4565b820191905f5260205f20905b8154815290600101906020018083116155b757829003601f168201915b505050505081526020019060010190615540565b602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b60208201529051635312d80f60e11b81525f9384936001600160a01b039182169363a625b01e9361565293909216915f516020620100d85f395f51905f529190600401618665565b5f60405180830381865afa15801561566c573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261569391908101906187d5565b915091506156a081617b79565b6156ac82516002617a60565b604051630618f58760e51b81525f516020620100b85f395f51905f529063c31eb0e0906156e490630f3c7c2760e01b90600401618371565b5f604051808303815f87803b1580156156fb575f5ffd5b505af115801561570d573d5f5f3e3d5ffd5b5050602854604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015260305491516311df92f160e01b81526001600160a01b0393841695506311df92f1945061577a935f516020620100d85f395f51905f52934293929116905f90600401618706565b6020604051808303815f875af1158015615796573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906157ba919061863c565b50602854604080516331e3bca360e21b815290515f926001600160a01b03169163c78ef28c9160048083019260209291908290030181865afa158015615802573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190615826919061863c565b90505f60285f9054906101000a90046001600160a01b03166001600160a01b031663f38fdc026040518163ffffffff1660e01b8152600401602060405180830381865afa158015615879573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061589d919061863c565b602854601f54604051632474521560e21b8152600481018690526001600160a01b03610100909204821660248201529293506158e4929116906391d148549060440161414d565b60285460405163248a9ca360e01b815260048101839052611574916001600160a01b03169063248a9ca390602401602060405180830381865afa15801561592d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190615951919061863c565b83617b40565b6008545f9060ff161561596e575060085460ff1690565b604051630667f9d760e41b81525f905f516020620100b85f395f51905f529063667f9d70906159cc907f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d906519985a5b195960d21b90600401618238565b602060405180830381865afa1580156159e7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190615a0b919061863c565b1415905090565b602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152905163241ab4c560e11b81525f936001600160a01b0390811693634835698a93615a7a9391909216915f516020620100d85f395f51905f5291600401618665565b602060405180830381865afa158015615a95573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190615ab9919061863c565b602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b60208083019190915291519394505f93615b0d936001600160a01b0316925f516020620100d85f395f51905f529291016188b3565b6040516020818303038152906040528051906020012090506123ee8282617b40565b5f615b5f6040518060400160405280600e81526020016d3732bba1b7b73334b3a0b236b4b760911b8152506174e2565b6020546040516303223eab60e11b81526001600160a01b0390911660048201529091505f516020620100b85f395f51905f52906306447d56906024015f604051808303815f87803b158015615bb2575f5ffd5b505af1158015615bc4573d5f5f3e3d5ffd5b5050602854604080516331e3bca360e21b815290516001600160a01b039092169350632f2ff15d9250839163c78ef28c916004808201926020929091908290030181865afa158015615c18573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190615c3c919061863c565b6040516001600160e01b031960e084901b16815260048101919091526001600160a01b03841660248201526044015f604051808303815f87803b158015615c81575f5ffd5b505af1158015615c93573d5f5f3e3d5ffd5b5050602854604080516331e3bca360e21b815290516001600160a01b03909216935063d547741f9250839163c78ef28c916004808201926020929091908290030181865afa158015615ce7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190615d0b919061863c565b601f5460405160e084901b6001600160e01b0319168152600481019290925261010090046001600160a01b031660248201526044015f604051808303815f87803b158015615d57575f5ffd5b505af1158015615d69573d5f5f3e3d5ffd5b505050505f516020620100b85f395f51905f526001600160a01b03166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015615db3575f5ffd5b505af1158015615dc5573d5f5f3e3d5ffd5b5050602854604080516331e3bca360e21b81529051615e7394506001600160a01b0390921692506391d1485491839163c78ef28c9160048083019260209291908290030181865afa158015615e1c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190615e40919061863c565b6040516001600160e01b031960e084901b16815260048101919091526001600160a01b038516602482015260440161414d565b602854604080516331e3bca360e21b81529051613854926001600160a01b0316916391d1485491839163c78ef28c9160048083019260209291908290030181865afa1580156141e2573d5f5f3e3d5ffd5b602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b60208201529051635312d80f60e11b81525f9384936001600160a01b039182169363a625b01e93615f2e93909216915f516020620100d85f395f51905f529190600401618665565b5f60405180830381865afa158015615f48573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052615f6f91908101906187d5565b91509150615f7c81617b79565b615f8882516002617a60565b60215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b158015615fd8575f5ffd5b505af1158015615fea573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152602d549151631a3da6dd60e11b81526001600160a01b03948516965063347b4dba955061605894938416935f516020620100d85f395f51905f529316906004016186c7565b5f604051808303815f87803b15801561606f575f5ffd5b505af1158015616081573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b60208201529051635312d80f60e11b81526001600160a01b03938416955063a625b01e94506160eb93909216915f516020620100d85f395f51905f529190600401618665565b5f60405180830381865afa158015616105573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261612c91908101906187d5565b909250905061613a81617bd0565b6123ee82515f617a60565b602254429061615e906001600160a01b0316825f6174f3565b5060215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b1580156161af575f5ffd5b505af11580156161c1573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152602d549151631a3da6dd60e11b81526001600160a01b03948516965063347b4dba955061622f94938416935f516020620100d85f395f51905f529316906004016186c7565b5f604051808303815f87803b158015616246575f5ffd5b505af1158015616258573d5f5f3e3d5ffd5b505050505f6162886040518060400160405280600a815260200169333932b2a9b2b73232b960b11b8152506174e2565b90505f6162b86040518060400160405280600c81526020016b333932b2a83937b837b9b2b960a11b8152506174e2565b6022549091506162d790839083906001600160a01b03168660076177a6565b5060215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b158015616328575f5ffd5b505af115801561633a573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b60208201529051631a3da6dd60e11b81526001600160a01b03938416955063347b4dba94506163a693909216915f516020620100d85f395f51905f5291905f906004016186c7565b5f604051808303815f87803b1580156163bd575f5ffd5b505af11580156163cf573d5f5f3e3d5ffd5b505060405163ca669fa760e01b81526001600160a01b03851660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b15801561641f575f5ffd5b505af1158015616431573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e0915061646d90636ffe5a9560e01b90600401618371565b5f604051808303815f87803b158015616484575f5ffd5b505af1158015616496573d5f5f3e3d5ffd5b50506028546022546001600160a01b039182169350637c82288f92508491165f516020620100d85f395f51905f526164cf8860016187b0565b6040518060400160405280600b81526020016a0e9b595b5bce881d195cdd60aa1b81525060016040518763ffffffff1660e01b8152600401616516969594939291906188dc565b6020604051808303815f875af1158015616532573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611574919061863c565b6060601580548060200260200160405190810160405280929190818152602001828054801561191f57602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311611901575050505050905090565b5f6165dd604051806040016040528060078152602001663a32b6b826b3b960c91b8152506174e2565b601f546040516303223eab60e11b81526101009091046001600160a01b031660048201529091505f516020620100b85f395f51905f52906306447d56906024015f604051808303815f87803b158015616634575f5ffd5b505af1158015616646573d5f5f3e3d5ffd5b5050602854604051635b66dc7760e11b81526001600160a01b038581166004830152909116925063b6cdb8ee91506024015f604051808303815f87803b15801561668e575f5ffd5b505af11580156166a0573d5f5f3e3d5ffd5b5050602854604051631480db3960e01b81526001600160a01b0385811660048301529091169250631480db3991506024015f604051808303815f87803b1580156166e8575f5ffd5b505af11580156166fa573d5f5f3e3d5ffd5b505050505f516020620100b85f395f51905f526001600160a01b03166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015616744575f5ffd5b505af1158015616756573d5f5f3e3d5ffd5b50506040516303223eab60e11b81526001600160a01b03841660048201525f516020620100b85f395f51905f5292506306447d5691506024015f604051808303815f87803b1580156167a6575f5ffd5b505af11580156167b8573d5f5f3e3d5ffd5b505050505f516020620100b85f395f51905f526001600160a01b031663f48448146040518163ffffffff1660e01b81526004015f604051808303815f87803b158015616802575f5ffd5b505af1158015616814573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152905163034c176760e51b81526001600160a01b039384169550636982ece0945061688293909216915f516020620100d85f395f51905f529190611c2090600401618758565b5f604051808303815f87803b158015616899575f5ffd5b505af11580156168ab573d5f5f3e3d5ffd5b505050505f516020620100b85f395f51905f526001600160a01b03166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611f32575f5ffd5b602254429061690e906001600160a01b0316825f6174f3565b506026546024546022545f92616937926001600160a01b0391821692908216911685602a6177a6565b9050616943815f617ac5565b5f516020620100b85f395f51905f5263e5d6bf026169628460016187b0565b6040518263ffffffff1660e01b815260040161698091815260200190565b5f604051808303815f87803b158015616997575f5ffd5b505af11580156169a9573d5f5f3e3d5ffd5b50506022546169c592506001600160a01b03169050425f6174f3565b506026546169db906001600160a01b0316617c03565b604051630618f58760e51b81525f516020620100b85f395f51905f529063c31eb0e090616a1390636ffe5a9560e01b90600401618371565b5f604051808303815f87803b158015616a2a575f5ffd5b505af1158015616a3c573d5f5f3e3d5ffd5b505060265460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015616a90575f5ffd5b505af1158015616aa2573d5f5f3e3d5ffd5b50506028546025546022546001600160a01b039283169450637c82288f935090821691165f516020620100d85f395f51905f52616ae08760016187b0565b6040518060400160405280600b81526020016a0e9b595b5bce881d195cdd60aa1b81525060016040518763ffffffff1660e01b8152600401616b27969594939291906188dc565b6020604051808303815f875af1158015616b43573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190616b67919061863c565b505f516020620100b85f395f51905f5263e5d6bf02616b878460026187b0565b6040518263ffffffff1660e01b8152600401616ba591815260200190565b5f604051808303815f87803b158015616bbc575f5ffd5b505af1158015616bce573d5f5f3e3d5ffd5b5050602254616bea92506001600160a01b03169050425f6174f3565b50602754616c00906001600160a01b0316617c03565b604051630618f58760e51b81525f516020620100b85f395f51905f529063c31eb0e090616c3890637ed449a960e01b90600401618371565b5f604051808303815f87803b158015616c4f575f5ffd5b505af1158015616c61573d5f5f3e3d5ffd5b505060275460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015616cb5575f5ffd5b505af1158015616cc7573d5f5f3e3d5ffd5b50506028546024546022546001600160a01b039283169450637c82288f935090821691165f516020620100d85f395f51905f52616d058760026187b0565b6040518060400160405280600b81526020016a0e9b595b5bce881d195cdd60aa1b81525060016040518763ffffffff1660e01b8152600401616d4c969594939291906188dc565b6020604051808303815f875af1158015616d68573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c88919061863c565b602854604080516331e3bca360e21b815290515f516020620100b85f395f51905f529263f28dceb39263e2517d3f60e01b9230926001600160a01b03169163c78ef28c9160048083019260209291908290030181865afa158015616df2573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190616e16919061863c565b604051602401616e27929190618238565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e084901b9092168252616e6c91600401618653565b5f604051808303815f87803b158015616e83575f5ffd5b505af1158015616e95573d5f5f3e3d5ffd5b505060285460305460408051808201825260018152600260208201529051632c22f34560e11b81526001600160a01b039384169550635845e68a9450616ee19390921691600401618386565b5f604051808303815f87803b158015616ef8575f5ffd5b505af1158015616f0a573d5f5f3e3d5ffd5b505050505f516020620100b85f395f51905f526001600160a01b031663f28dceb363e2517d3f60e01b3060285f9054906101000a90046001600160a01b03166001600160a01b031663c78ef28c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015616f84573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190616fa8919061863c565b604051602401616fb9929190618238565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e084901b9092168252616ffe91600401618653565b5f604051808303815f87803b158015617015575f5ffd5b505af1158015617027573d5f5f3e3d5ffd5b5050602854604051631976674f60e11b8152600160048201526001600160a01b0390911692506332ecce9e91506024015f604051808303815f87803b15801561706e575f5ffd5b505af1158015617080573d5f5f3e3d5ffd5b505050505f516020620100b85f395f51905f526001600160a01b031663f28dceb363e2517d3f60e01b3060285f9054906101000a90046001600160a01b03166001600160a01b031663c78ef28c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156170fa573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061711e919061863c565b60405160240161712f929190618238565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e084901b909216825261717491600401618653565b5f604051808303815f87803b15801561718b575f5ffd5b505af115801561719d573d5f5f3e3d5ffd5b5050602854602b54604051631fa50cef60e01b81526001600160a01b03918216600482015291169250631fa50cef91506024015f604051808303815f87803b1580156171e7575f5ffd5b505af11580156171f9573d5f5f3e3d5ffd5b505050505f516020620100b85f395f51905f526001600160a01b031663f28dceb363e2517d3f60e01b3060285f9054906101000a90046001600160a01b03166001600160a01b031663c78ef28c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015617273573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190617297919061863c565b6040516024016172a8929190618238565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e084901b90921682526172ed91600401618653565b5f604051808303815f87803b158015617304575f5ffd5b505af1158015617316573d5f5f3e3d5ffd5b5050602854602c546040516335c10e8360e11b81526001600160a01b03918216600482015291169250636b821d06915060240161154b565b602a5460315460405163e43252d760e01b81526001600160a01b03918216600482015291169063e43252d7906024015f604051808303815f87803b158015617394575f5ffd5b505af11580156173a6573d5f5f3e3d5ffd5b505060215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b1580156173fa575f5ffd5b505af115801561740c573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e0915061744890631f7b5d6160e01b90600401618371565b5f604051808303815f87803b15801561745f575f5ffd5b505af1158015617471573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015260315491516393ae2ebd60e01b81526001600160a01b0394851696506393ae2ebd955061154b94938416935f516020620100d85f395f51905f529316906001906004016183f1565b5f6174ec82617da8565b5092915050565b60405163ca669fa760e01b81526001600160a01b03841660048201525f905f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b158015617541575f5ffd5b505af1158015617553573d5f5f3e3d5ffd5b50506030546040516340c10f1960e01b81526001600160a01b0390911692506340c10f1991506175899087908690600401618238565b5f604051808303815f87803b1580156175a0575f5ffd5b505af11580156175b2573d5f5f3e3d5ffd5b505060405163ca669fa760e01b81526001600160a01b03871660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015617602575f5ffd5b505af1158015617614573d5f5f3e3d5ffd5b505060305460285460405163095ea7b360e01b81526001600160a01b03928316945063095ea7b3935061765092909116905f1990600401618238565b6020604051808303815f875af115801561766c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190617690919061873f565b5060405163ca669fa760e01b81526001600160a01b03851660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b1580156176dd575f5ffd5b505af11580156176ef573d5f5f3e3d5ffd5b5050602854604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015260305491516311df92f160e01b81526001600160a01b0393841695506311df92f1945061775c935f516020620100d85f395f51905f52938a93929116908990600401618706565b6020604051808303815f875af1158015617778573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061779c919061863c565b90505b9392505050565b60405163ca669fa760e01b81526001600160a01b03861660048201525f905f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b1580156177f4575f5ffd5b505af1158015617806573d5f5f3e3d5ffd5b50506030546040516340c10f1960e01b81526001600160a01b0390911692506340c10f19915061784690899069021e19e0c9bab240000090600401618238565b5f604051808303815f87803b15801561785d575f5ffd5b505af115801561786f573d5f5f3e3d5ffd5b505060405163ca669fa760e01b81526001600160a01b03891660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b1580156178bf575f5ffd5b505af11580156178d1573d5f5f3e3d5ffd5b505060305460285460405163095ea7b360e01b81526001600160a01b03928316945063095ea7b3935061790d92909116905f1990600401618238565b6020604051808303815f875af1158015617929573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061794d919061873f565b5060405163ca669fa760e01b81526001600160a01b03871660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b15801561799a575f5ffd5b505af11580156179ac573d5f5f3e3d5ffd5b5050602854604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b60208201529051637c82288f60e01b81526001600160a01b039092169350637c82288f9250617a1691899189915f516020620100d85f395f51905f52918a918a906004016188dc565b6020604051808303815f875af1158015617a32573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190617a56919061863c565b9695505050505050565b60405163260a5b1560e21b815260048101839052602481018290525f516020620100b85f395f51905f52906398296c54906044015b5f6040518083038186803b158015617aab575f5ffd5b505afa158015617abd573d5f5f3e3d5ffd5b505050505050565b604051636d83fe6960e11b815260048101839052602481018290525f516020620100b85f395f51905f529063db07fcd290604401617a95565b6040516328a9b0fb60e11b81526001600160a01b038084166004830152821660248201525f516020620100b85f395f51905f529063515361f690604401617a95565b604051637c84c69b60e01b815260048101839052602481018290525f516020620100b85f395f51905f5290637c84c69b90604401617a95565b604051630c9fd58160e01b815281151560048201525f516020620100b85f395f51905f5290630c9fd581906024015b5f6040518083038186803b158015617bbe575f5ffd5b505afa158015611f44573d5f5f3e3d5ffd5b60405163a598288560e01b815281151560048201525f516020620100b85f395f51905f529063a598288590602401617ba8565b60405163ca669fa760e01b81526001600160a01b03821660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b158015617c4f575f5ffd5b505af1158015617c61573d5f5f3e3d5ffd5b50506030546040516340c10f1960e01b81526001600160a01b0390911692506340c10f199150617ca190849069021e19e0c9bab240000090600401618238565b5f604051808303815f87803b158015617cb8575f5ffd5b505af1158015617cca573d5f5f3e3d5ffd5b505060405163ca669fa760e01b81526001600160a01b03841660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015617d1a575f5ffd5b505af1158015617d2c573d5f5f3e3d5ffd5b505060305460285460405163095ea7b360e01b81526001600160a01b03928316945063095ea7b39350617d6892909116905f1990600401618238565b6020604051808303815f875af1158015617d84573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123ee919061873f565b5f5f82604051602001617dbb9190618928565b60408051808303601f190181529082905280516020909101206001625e79b760e01b031982526004820181905291505f516020620100b85f395f51905f529063ffa1864990602401602060405180830381865afa158015617e1e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190617e429190618724565b6040516318caf8e360e31b81529092505f516020620100b85f395f51905f529063c657c71890617e78908590879060040161834e565b5f604051808303815f87803b158015617e8f575f5ffd5b505af1158015617ea1573d5f5f3e3d5ffd5b50505050915091565b6101e7806200893483390190565b6107768062008b1b83390190565b61023f806200929183390190565b61014b80620094d083390190565b6102da806200961b83390190565b61097480620098f583390190565b615a80806200a26983390190565b60405180604001604052805f6001600160a01b03168152602001617f5360405180604001604052805f6001600160801b031681526020015f6001600160801b031681525090565b905290565b6103cf806200fce983390190565b602080825282518282018190525f918401906040840190835b81811015617fa65783516001600160a01b0316835260209384019390920191600101617f7f565b509095945050505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561809c57603f19878603018452815180516001600160a01b03168652602090810151604082880181905281519088018190529101906060600582901b8801810191908801905f5b8181101561808257605f198a850301835261806c848651617fb1565b6020958601959094509290920191600101618050565b509197505050602094850194929092019150600101618005565b50929695505050505050565b5f8151808452602084019350602083015f5b828110156180e25781516001600160e01b0319168652602095860195909101906001016180ba565b5093949350505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561809c57603f1987860301845281518051604087526181386040880182617fb1565b905060208201519150868103602088015261815381836180a8565b965050506020938401939190910190600101618112565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561809c57603f198786030184526181ac858351617fb1565b94506020938401939190910190600101618190565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561809c57868503603f19018452815180516001600160a01b03168652602090810151604091870182905290618222908701826180a8565b95505060209384019391909101906001016181e7565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b62ffffff891681526001600160a01b03888116602080840191909152888216604084015290871660608301526101006080830181905286519083018190525f91870190610120840190835b8181101561830e57835180516001600160a01b0316845260209081015180516001600160801b039081168387015290820151166040850152909301926060909201916001016182c4565b505061ffff871660a085015291506183239050565b6001600160a01b03841660c08301526001600160a01b03831660e08301529998505050505050505050565b6001600160a01b03831681526040602082018190525f9061779c90830184617fb1565b6001600160e01b031991909116815260200190565b6001600160a01b03831681526060810161779f602083018480516001600160801b03908116835260209182015116910152565b600181811c908216806183cd57607f821691505b6020821081036183eb57634e487b7160e01b5f52602260045260245ffd5b50919050565b60018060a01b038616815284602082015260a060408201525f61841760a0830186617fb1565b6001600160a01b0394909416606083015250608001529392505050565b60018060a01b0385168152836020820152826040820152608060608201525f617a566080830184617fb1565b604051610140810167ffffffffffffffff8111828210171561848457618484618251565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156184b3576184b3618251565b604052919050565b6001600160a01b0381168114613854575f5ffd5b80516184da816184bb565b919050565b805180151581146184da575f5ffd5b5f60e082840312156184fe575f5ffd5b60405160e0810167ffffffffffffffff8111828210171561852157618521618251565b604052905080618530836184df565b815261853e602084016184df565b602082015261854f604084016184df565b6040820152618560606084016184df565b6060820152618571608084016184df565b608082015260a0838101519082015260c092830151920191909152919050565b5f6102008284031280156185a3575f5ffd5b506185ac618460565b6185b5836184cf565b81526185c3602084016184cf565b60208201526185d4604084016184cf565b60408201526185e5606084016184df565b60608201526185f784608085016184ee565b608082015261016083015160a082015261018083015160c08201526101a083015160e08201526101c08301516101008201526101e09092015161012083015250919050565b5f6020828403121561864c575f5ffd5b5051919050565b602081525f61779f6020830184617fb1565b60018060a01b0384168152826020820152606060408201525f61868b6060830184617fb1565b95945050505050565b6001600160a01b03841681526060602082018190525f906186b790830185617fb1565b9050826040830152949350505050565b60018060a01b0385168152836020820152608060408201525f6186ed6080830185617fb1565b905060018060a01b038316606083015295945050505050565b85815284602082015260a060408201525f61841760a0830186617fb1565b5f60208284031215618734575f5ffd5b815161779f816184bb565b5f6020828403121561874f575f5ffd5b61779f826184df565b60018060a01b0385168152836020820152608060408201525f61877e6080830185617fb1565b905082606083015295945050505050565b604081525f6187a16040830185617fb1565b90508260208301529392505050565b808201808211156187cf57634e487b7160e01b5f52601160045260245ffd5b92915050565b5f5f604083850312156187e6575f5ffd5b825167ffffffffffffffff8111156187fc575f5ffd5b8301601f8101851361880c575f5ffd5b805167ffffffffffffffff81111561882657618826618251565b8060051b6188366020820161848a565b91825260208184018101929081019088841115618851575f5ffd5b6020850194505b8385101561887f578451925061886d836184bb565b82825260209485019490910190618858565b8096505050505050618893602084016184df565b90509250929050565b5f81518060208401855e5f93019283525090919050565b6bffffffffffffffffffffffff198460601b1681528260148201525f61868b603483018461889c565b6001600160a01b03878116825286166020820152604081018590526060810184905260c0608082018190525f9061891590830185617fb1565b90508260a0830152979650505050505050565b5f61779f828461889c56fe6080604052348015600e575f5ffd5b506101cb8061001c5f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c806331f9665e14610043578063aafd5e4014610080578063cc48f4db146100af575b5f5ffd5b61007e610051366004610145565b5f9182526020829052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b005b61009361008e36600461017e565b6100d7565b6040516001600160a01b03909116815260200160405180910390f35b6100936100bd36600461017e565b5f602081905290815260409020546001600160a01b031681565b5f818152602081905260408120546001600160a01b03168061013f5760405162461bcd60e51b815260206004820152601860248201527f496d706c656d656e746174696f6e206e6f7420666f756e640000000000000000604482015260640160405180910390fd5b92915050565b5f5f60408385031215610156575f5ffd5b8235915060208301356001600160a01b0381168114610173575f5ffd5b809150509250929050565b5f6020828403121561018e575f5ffd5b503591905056fea2646970667358221220e71b7f221fddfdc05118438e524facdd17805943c54f17b6639ee61fb1c4194264736f6c634300081e00336080604052348015600e575f5ffd5b503380603357604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b603a816051565b505f805460ff60a01b1916600160a01b17905560a0565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6106c9806100ad5f395ff3fe608060405234801561000f575f5ffd5b5060043610610090575f3560e01c80638ab1d681116100635780638ab1d681146100e05780638da5cb5b146100f3578063d01f63f51461010d578063e43252d714610122578063f2fde38b14610135575f5ffd5b806301ffc9a714610094578063184d69ab146100bc5780633a3ab672146100c3578063715018a6146100d6575b5f5ffd5b6100a76100a23660046105b4565b610148565b60405190151581526020015b60405180910390f35b60016100a7565b6100a76100d13660046105db565b61017e565b6100de610192565b005b6100de6100ee3660046105db565b6101a5565b5f546040516001600160a01b0390911681526020016100b3565b610115610229565b6040516100b39190610601565b6100de6101303660046105db565b610242565b6100de6101433660046105db565b6102c2565b5f6001600160e01b03198216634e759c3d60e11b148061017857506301ffc9a760e01b6001600160e01b03198316145b92915050565b5f610187610301565b610178600183610359565b61019a61037d565b6101a35f6103a9565b565b6101ad610301565b6101be5f805460ff60a01b19169055565b6101c661037d565b5f6101d26001836103f8565b9050801561020e576040516001600160a01b038316907fcdd2e9b91a56913d370075169cefa1602ba36be5301664f752192bb1709df757905f90a25b506102265f805460ff60a01b1916600160a01b179055565b50565b6060610233610301565b61023d600161040c565b905090565b61024a610301565b61025b5f805460ff60a01b19169055565b61026361037d565b5f61026f600183610418565b9050801561020e576040516001600160a01b038316907fa850ae9193f515cbae8d35e8925bd2be26627fc91bce650b8652ed254e9cab03905f90a2506102265f805460ff60a01b1916600160a01b179055565b6102ca61037d565b6001600160a01b0381166102f857604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610226816103a9565b5f54600160a01b900460ff166101a35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102ef565b6001600160a01b0381165f90815260018301602052604081205415155b9392505050565b5f546001600160a01b031633146101a35760405163118cdaa760e01b81523360048201526024016102ef565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f610376836001600160a01b03841661042c565b60605f6103768361050f565b5f610376836001600160a01b038416610568565b5f8181526001830160205260408120548015610506575f61044e60018361064c565b85549091505f906104619060019061064c565b90508082146104c0575f865f01828154811061047f5761047f61066b565b905f5260205f200154905080875f01848154811061049f5761049f61066b565b5f918252602080832090910192909255918252600188019052604090208390555b85548690806104d1576104d161067f565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610178565b5f915050610178565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561055c57602002820191905f5260205f20905b815481526020019060010190808311610548575b50505050509050919050565b5f8181526001830160205260408120546105ad57508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610178565b505f610178565b5f602082840312156105c4575f5ffd5b81356001600160e01b031981168114610376575f5ffd5b5f602082840312156105eb575f5ffd5b81356001600160a01b0381168114610376575f5ffd5b602080825282518282018190525f918401906040840190835b818110156106415783516001600160a01b031683526020938401939092019160010161061a565b509095945050505050565b8181038181111561017857634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffdfea264697066735822122017d19cb92913b1d48716ee47b65ab4e02ee922b90d01232dfa3dfd8cb8c5357c64736f6c634300081e00336080604052348015600e575f5ffd5b506102238061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610060575f3560e01c806301ffc9a714610064578063184d69ab1461008c5780633a3ab672146100925780638ab1d681146100a6578063d01f63f5146100bb578063e43252d7146100d3575b5f5ffd5b61007761007236600461014e565b6100e6565b60405190151581526020015b60405180910390f35b5f610077565b6100776100a036600461017c565b50600190565b6100b96100b436600461017c565b61011c565b005b604080515f81526020810191829052610083916101a2565b6100b96100e136600461017c565b610135565b5f6001600160e01b03198216634e759c3d60e11b148061011657506301ffc9a760e01b6001600160e01b03198316145b92915050565b60405163d338e07160e01b815260040160405180910390fd5b604051633d1e966960e01b815260040160405180910390fd5b5f6020828403121561015e575f5ffd5b81356001600160e01b031981168114610175575f5ffd5b9392505050565b5f6020828403121561018c575f5ffd5b81356001600160a01b0381168114610175575f5ffd5b602080825282518282018190525f918401906040840190835b818110156101e25783516001600160a01b03168352602093840193909201916001016101bb565b50909594505050505056fea2646970667358221220667dab0109ff277b9cda81b787fa528383a71dabba7a84e2b1268b068da774b264736f6c634300081e00336080604052348015600e575f5ffd5b5061012f8061001c5f395ff3fe6080604052348015600e575f5ffd5b50600436106044575f3560e01c806310a7e2011460485780637193f2f014606f5780638e0d3ca71460a257806390978d1b1460c4575b5f5ffd5b606d605336600460e3565b5f908152602081905260409020805460ff19166001179055565b005b608e607a36600460e3565b5f6020819052908152604090205460ff1681565b604051901515815260200160405180910390f35b606d60ad36600460e3565b5f908152602081905260409020805460ff19169055565b608e60cf36600460e3565b5f9081526020819052604090205460ff1690565b5f6020828403121560f2575f5ffd5b503591905056fea2646970667358221220d26d541b6c8bb85d71c8735b8b16e3b15f60223383f1ec0ee40c5871d6abac8964736f6c634300081e00336080604052348015600e575f5ffd5b506102be8061001c5f395ff3fe608060405260043610610054575f3560e01c80635b97aadd1461005857806374201feb146100b557806374df7f501461011c5780638659d23214610153578063a3e4cea114610171578063cd3a9b2414610151575b5f5ffd5b348015610063575f5ffd5b506100a16100723660046101c5565b60408051602080820183525f91829052825180820184526001600160a01b039490941682528190522054815290565b604051905181526020015b60405180910390f35b3480156100c0575f5ffd5b506101076100cf3660046101fb565b505060408051602080820183525f91829052825180820184528290528251808201845282815283519182019093529081529092909150565b604080519251835290516020830152016100ac565b348015610127575f5ffd5b5061015161013636600461022e565b6001600160a01b039091165f90815260208190526040902055565b005b34801561015e575f5ffd5b5061015161016d366004610256565b5050565b34801561017c575f5ffd5b5061019c61018b3660046101c5565b5f6020819052908152604090205481565b6040519081526020016100ac565b80356001600160a01b03811681146101c0575f5ffd5b919050565b5f602082840312156101d5575f5ffd5b6101de826101aa565b9392505050565b5f602082840312156101f5575f5ffd5b50919050565b5f5f5f6060848603121561020d575f5ffd5b833592506020840135915061022585604086016101e5565b90509250925092565b5f5f6040838503121561023f575f5ffd5b610248836101aa565b946020939093013593505050565b5f5f60408385031215610267575f5ffd5b610270836101aa565b915061027f84602085016101e5565b9050925092905056fea26469706673582212200a25a7607fa0fa639f23ed9d4094e8686abd62a82f4928d3273cfe2064ad372264736f6c634300081e0033608060405234801561000f575f5ffd5b506040518060400160405280600981526020016845524332304d6f636b60b81b815250604051806040016040528060048152602001634532304d60e01b815250816003908161005e919061010b565b50600461006b828261010b565b5050506101c5565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061009b57607f821691505b6020821081036100b957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561010657805f5260205f20601f840160051c810160208510156100e45750805b601f840160051c820191505b81811015610103575f81556001016100f0565b50505b505050565b81516001600160401b0381111561012457610124610073565b610138816101328454610087565b846100bf565b6020601f82116001811461016a575f83156101535750848201515b5f19600385901b1c1916600184901b178455610103565b5f84815260208120601f198516915b828110156101995787850151825560209485019460019092019101610179565b50848210156101b657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b6107a2806101d25f395ff3fe608060405234801561000f575f5ffd5b50600436106100a6575f3560e01c806340c10f191161006e57806340c10f191461011f57806370a082311461013457806395d89b411461015c5780639dc29fac14610164578063a9059cbb14610177578063dd62ed3e1461018a575f5ffd5b806306fdde03146100aa578063095ea7b3146100c857806318160ddd146100eb57806323b872dd146100fd578063313ce56714610110575b5f5ffd5b6100b26101c2565b6040516100bf9190610612565b60405180910390f35b6100db6100d6366004610662565b610252565b60405190151581526020016100bf565b6002545b6040519081526020016100bf565b6100db61010b36600461068a565b61026b565b604051601281526020016100bf565b61013261012d366004610662565b61028e565b005b6100ef6101423660046106c4565b6001600160a01b03165f9081526020819052604090205490565b6100b261029c565b610132610172366004610662565b6102ab565b6100db610185366004610662565b6102b5565b6100ef6101983660046106e4565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6060600380546101d190610715565b80601f01602080910402602001604051908101604052809291908181526020018280546101fd90610715565b80156102485780601f1061021f57610100808354040283529160200191610248565b820191905f5260205f20905b81548152906001019060200180831161022b57829003601f168201915b5050505050905090565b5f3361025f8185856102c2565b60019150505b92915050565b5f336102788582856102d4565b610283858585610355565b506001949350505050565b61029882826103b2565b5050565b6060600480546101d190610715565b61029882826103e6565b5f3361025f818585610355565b6102cf838383600161041a565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f1981101561034f578181101561034157604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b61034f84848484035f61041a565b50505050565b6001600160a01b03831661037e57604051634b637e8f60e11b81525f6004820152602401610338565b6001600160a01b0382166103a75760405163ec442f0560e01b81525f6004820152602401610338565b6102cf8383836104ec565b6001600160a01b0382166103db5760405163ec442f0560e01b81525f6004820152602401610338565b6102985f83836104ec565b6001600160a01b03821661040f57604051634b637e8f60e11b81525f6004820152602401610338565b610298825f836104ec565b6001600160a01b0384166104435760405163e602df0560e01b81525f6004820152602401610338565b6001600160a01b03831661046c57604051634a1406b160e11b81525f6004820152602401610338565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561034f57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104de91815260200190565b60405180910390a350505050565b6001600160a01b038316610516578060025f82825461050b919061074d565b909155506105869050565b6001600160a01b0383165f90815260208190526040902054818110156105685760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610338565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166105a2576002805482900390556105c0565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161060591815260200190565b60405180910390a3505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461065d575f5ffd5b919050565b5f5f60408385031215610673575f5ffd5b61067c83610647565b946020939093013593505050565b5f5f5f6060848603121561069c575f5ffd5b6106a584610647565b92506106b360208501610647565b929592945050506040919091013590565b5f602082840312156106d4575f5ffd5b6106dd82610647565b9392505050565b5f5f604083850312156106f5575f5ffd5b6106fe83610647565b915061070c60208401610647565b90509250929050565b600181811c9082168061072957607f821691505b60208210810361074757634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561026557634e487b7160e01b5f52601160045260245ffdfea2646970667358221220f963e794a9d6bd283bcaf264032592d8dec551c1889fb7a8e994481049612d7d64736f6c634300081e003360a060405230608052348015610013575f5ffd5b5061001c610029565b610024610029565b6100db565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100795760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d85780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b60805161597f6101015f395f8181612d6a01528181612d930152612ed3015261597f5ff3fe6080604052600436106103ea575f3560e01c806391d148541161020a578063b8b4f9081161011e578063cf6eefb7116100a8578063f327b07511610078578063f327b07514610d4d578063f38fdc0214610d6c578063fba7f1e314610d8c578063fe4e198314610dab578063ff8c1a8c14610dc0575f5ffd5b8063cf6eefb714610c9f578063d547741f14610cd9578063d602b9fd14610cf8578063e92706c614610d0c575f5ffd5b8063c371dda7116100ee578063c371dda714610c23578063c78ef28c14610c38578063cc8463c814610c58578063cdb21cc614610c6c578063cefc142914610c8b575f5ffd5b8063b8b4f90814610b9a578063b9a3c84c14610bb9578063ba4b930c14610bd8578063bc58ccaa14610c04575f5ffd5b8063ab328fb21161019f578063af5d2f391161016f578063af5d2f3914610a92578063afe1fcff14610ab1578063b4988fd014610afc578063b6cdb8ee14610b1b578063b873c4df14610b3a575f5ffd5b8063ab328fb2146109ea578063ac9650d814610a0a578063ad3cb1cc14610a36578063ad5a755a14610a73575f5ffd5b8063a1eda53c116101da578063a1eda53c1461095e578063a217fddf146107db578063a625b01e14610991578063a9904f9b146109be575f5ffd5b806391d148541461080457806391f58dcb1461082357806393ae2ebd146108425780639d86698514610861575f5ffd5b80634f1ef286116103015780636b821d061161029657806384ef8ffc1161026657806384ef8ffc1461077e5780638aca6afc146107925780638da5cb5b146107c75780638ffc2120146107db57806391152f10146107ee575f5ffd5b80636b821d061461070257806376c7823f146107215780637746e7ae146107405780637c82288f1461075f575f5ffd5b80635e9a79a9116102d15780635e9a79a914610686578063634e93da146106a5578063649a5ec7146106c45780636982ece0146106e3575f5ffd5b80634f1ef2861461062157806352d1902d1461063457806353b59239146106485780635845e68a14610667575f5ffd5b80632589382b11610382578063347b4dba11610352578063347b4dba1461059157806336568abe146105b0578063473c45fe146105cf5780634835698a146105ee5780634ccb56f51461060d575f5ffd5b80632589382b1461050957806329cb924d146105415780632f2ff15d1461055357806332ecce9e14610572575f5ffd5b8063120698af116103bd578063120698af1461048d5780631480db39146104ac5780631fa50cef146104cb578063248a9ca3146104ea575f5ffd5b806301ffc9a7146103ee578063022d63fb146104225780630aa6220b1461044a57806311df92f114610460575b5f5ffd5b3480156103f9575f5ffd5b5061040d61040836600461481c565b610dd7565b60405190151581526020015b60405180910390f35b34801561042d575f5ffd5b50620697805b60405165ffffffffffff9091168152602001610419565b348015610455575f5ffd5b5061045e610e01565b005b34801561046b575f5ffd5b5061047f61047a366004614913565b610e16565b604051908152602001610419565b348015610498575f5ffd5b5061045e6104a7366004614978565b610eb7565b3480156104b7575f5ffd5b5061045e6104c63660046149d3565b610f2f565b3480156104d6575f5ffd5b5061045e6104e53660046149d3565b610f5e565b3480156104f5575f5ffd5b5061047f6105043660046149ee565b610f8d565b348015610514575f5ffd5b5061047f54610529906001600160a01b031681565b6040516001600160a01b039091168152602001610419565b34801561054c575f5ffd5b504261047f565b34801561055e575f5ffd5b5061045e61056d366004614a05565b610fad565b34801561057d575f5ffd5b5061045e61058c3660046149ee565b610fd9565b34801561059c575f5ffd5b5061045e6105ab366004614a33565b611008565b3480156105bb575f5ffd5b5061045e6105ca366004614a05565b6110ce565b3480156105da575f5ffd5b5061045e6105e9366004614a9a565b611190565b3480156105f9575f5ffd5b5061047f610608366004614aed565b6111ff565b348015610618575f5ffd5b5061047f611235565b61045e61062f366004614b2b565b611245565b34801561063f575f5ffd5b5061047f611260565b348015610653575f5ffd5b5061047f610662366004614978565b61127b565b348015610672575f5ffd5b5061045e610681366004614b77565b6112d8565b348015610691575f5ffd5b5061047f6106a0366004614bb5565b611310565b3480156106b0575f5ffd5b5061045e6106bf3660046149d3565b61133f565b3480156106cf575f5ffd5b5061045e6106de366004614c13565b611352565b3480156106ee575f5ffd5b5061045e6106fd366004614c38565b611365565b34801561070d575f5ffd5b5061045e61071c3660046149d3565b6113f5565b34801561072c575f5ffd5b5061047f61073b366004614c77565b611424565b34801561074b575f5ffd5b5061052961075a366004614aed565b61178c565b34801561076a575f5ffd5b5061047f610779366004614ce7565b6117c5565b348015610789575f5ffd5b5061052961196e565b34801561079d575f5ffd5b506105296107ac3660046149ee565b6104826020525f90815260409020546001600160a01b031681565b3480156107d2575f5ffd5b50610529611989565b3480156107e6575f5ffd5b5061047f5f81565b3480156107f9575f5ffd5b5061047f6104845481565b34801561080f575f5ffd5b5061040d61081e366004614a05565b611997565b34801561082e575f5ffd5b5061045e61083d366004614978565b6119cd565b34801561084d575f5ffd5b5061045e61085c366004614d61565b611a49565b34801561086c575f5ffd5b5061094861087b3660046149ee565b5f6020818152918152604090819020805460018201546002830154845160e081018652600385015460ff8082161515835261010082048116151598830198909852620100008104881615159682019690965263010000008604871615156060820152640100000000909504861615156080860152600484015460a0860152600584015460c08601526006840154600785015460088601546009870154600a909701546001600160a01b03968716999587169896851697600160a01b9095049095169594929391929091908a565b6040516104199a99989796959493929190614def565b348015610969575f5ffd5b50610972611b8e565b6040805165ffffffffffff938416815292909116602083015201610419565b34801561099c575f5ffd5b506109b06109ab366004614aed565b611bfd565b604051610419929190614e56565b3480156109c9575f5ffd5b506109dd6109d8366004614bb5565b611ce5565b6040516104199190614eae565b3480156109f5575f5ffd5b5061047e54610529906001600160a01b031681565b348015610a15575f5ffd5b50610a29610a24366004614f5b565b611e92565b6040516104199190614ff8565b348015610a41575f5ffd5b50610a66604051806040016040528060058152602001640352e302e360dc1b81525081565b604051610419919061505b565b348015610a7e575f5ffd5b5061047f610a8d366004614a9a565b611fd8565b348015610a9d575f5ffd5b50610a66610aac36600461506d565b612057565b348015610abc575f5ffd5b50610ae7610acb3660046149ee565b6104816020525f90815260409020805460019091015460ff1682565b60408051928352901515602083015201610419565b348015610b07575f5ffd5b5061045e610b163660046150b0565b612063565b348015610b26575f5ffd5b5061045e610b353660046149d3565b61215e565b348015610b45575f5ffd5b50610b7a610b543660046149d3565b6104836020525f90815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610419565b348015610ba5575f5ffd5b5061047f610bb43660046150ef565b612185565b348015610bc4575f5ffd5b50606454610529906001600160a01b031681565b348015610be3575f5ffd5b50610bf7610bf2366004614bb5565b612194565b6040516104199190615168565b348015610c0f575f5ffd5b5061040d610c1e366004614bb5565b6121a9565b348015610c2e575f5ffd5b5061047f61200081565b348015610c43575f5ffd5b5061047f5f51602061588a5f395f51905f5281565b348015610c63575f5ffd5b50610433612217565b348015610c77575f5ffd5b5061045e610c8636600461518e565b612292565b348015610c96575f5ffd5b5061045e612448565b348015610caa575f5ffd5b50610cb3612487565b604080516001600160a01b03909316835265ffffffffffff909116602083015201610419565b348015610ce4575f5ffd5b5061045e610cf3366004614a05565b6124b4565b348015610d03575f5ffd5b5061045e6124dc565b348015610d17575f5ffd5b50610ae7610d26366004614a05565b61048060209081525f92835260408084209091529082529020805460019091015460ff1682565b348015610d58575f5ffd5b5061045e610d67366004615273565b6124ee565b348015610d77575f5ffd5b5061047f5f5160206158ea5f395f51905f5281565b348015610d97575f5ffd5b5061047f610da6366004614bb5565b612594565b348015610db6575f5ffd5b5061047f60655481565b348015610dcb575f5ffd5b5061047f600160ff1b81565b5f6001600160e01b031982166318a4c3c360e11b1480610dfb5750610dfb826125a2565b92915050565b5f610e0b816125d6565b610e136125e0565b50565b61047f54604051631d1d5b3960e11b81523360048201525f916001600160a01b031690633a3ab67290602401602060405180830381865afa158015610e5d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e8191906152f6565b610e9e57604051630f3c7c2760e01b815260040160405180910390fd5b610eab86868686866125ec565b90505b95945050505050565b610ebf612a87565b610ec7612aaa565b6001610ed533858585612ab6565b6006811115610ee657610ee6615154565b14610f0457604051633a4e124d60e11b815260040160405180910390fd5b5f610f1133858585612be8565b600301805461ffff191661010117905550610f2a612c0e565b505050565b610f37612a87565b610f3f612aaa565b610f565f5160206158ea5f395f51905f52826124b4565b610e13612c0e565b610f66612a87565b610f6e612aaa565b610f845f51602061588a5f395f51905f526125d6565b610f5681612c1d565b5f9081525f51602061590a5f395f51905f52602052604090206001015490565b81610fcb57604051631fe1e13d60e11b815260040160405180910390fd5b610fd58282612c70565b5050565b610fe1612a87565b610fe9612aaa565b610fff5f51602061588a5f395f51905f526125d6565b610f5681612c8c565b611010612a87565b611018612aaa565b61102e5f5160206158ea5f395f51905f526125d6565b6001600160a01b038116156110465761104681612cd1565b5f6110528585856111ff565b5f81815261048260205260409081902080546001600160a01b0319166001600160a01b038616908117909155905191925090859083907f6176bed8b34e20579b664c32ad00534f173e1f7c4410232beef89bed4464ddc0906110b7908a908990615311565b60405180910390a4506110c8612c0e565b50505050565b5f5160206158ca5f395f51905f528215801561110257506110ed61196e565b6001600160a01b0316826001600160a01b0316145b15611186575f5f611111612487565b90925090506001600160a01b038216151580611133575065ffffffffffff8116155b8061114657504265ffffffffffff821610155b15611173576040516319ca5ebb60e01b815265ffffffffffff821660048201526024015b60405180910390fd5b5050805465ffffffffffff60a01b191681555b610f2a8383612cff565b611198612a87565b6111a0612aaa565b60016111ae33868686612ab6565b60068111156111bf576111bf615154565b146111dd57604051633a4e124d60e11b815260040160405180910390fd5b6111e681612d32565b806111f333868686612be8565b600501556110c8612c0e565b5f8383836040516020016112159392919061534b565b6040516020818303038152906040528051906020012090505b9392505050565b6112426035612000615383565b81565b61124d612d5f565b61125682612e03565b610fd58282612e0c565b5f611269612ec8565b505f5160206158aa5f395f51905f5290565b5f611284612a87565b61128c612aaa565b600661129a33868686612ab6565b60068111156112ab576112ab615154565b146112be576112bc33858585612f11565b505b6112ca33858585612be8565b60070154905061122e612c0e565b6112e0612a87565b6112e8612aaa565b6112fe5f51602061588a5f395f51905f526125d6565b611308828261320a565b610fd5612c0e565b5f611319612a87565b611321612aaa565b61132d85858585612f11565b9050611337612c0e565b949350505050565b5f611349816125d6565b610fd58261337d565b5f61135c816125d6565b610fd5826133e8565b61136d612a87565b611375612aaa565b61138b5f5160206158ea5f395f51905f526125d6565b61139481612d32565b5f6113a08585856111ff565b5f8181526104816020526040908190208490555190915084906001600160a01b0387169083907fc5314bcb93c25473b858a5086195e309861a64b4c3ddae4d0a5cb9c5fb6f30f4906110b79088908890615396565b6113fd612a87565b611405612aaa565b61141b5f51602061588a5f395f51905f526125d6565b610f5681613457565b5f61142d612a87565b611435612aaa565b6001600160a01b03861661145c5760405163bef5ceeb60e01b815260040160405180910390fd5b600261146a86868686612ab6565b600681111561147b5761147b615154565b1461149957604051631bc1990760e31b815260040160405180910390fd5b5f6114a686868686612be8565b6001810180546001600160a01b0319166001600160a01b038a16179055600a8101546004820154919250906114db82826153b7565b935083156114fd5760028301546114fd906001600160a01b03163330876134aa565b5f611506613511565b90505f61151285613584565b61151c90856153b7565b905080156115b457600285015461153d906001600160a01b03168383613597565b611545613511565b600286015460408051602081018252848152905163432ce91960e11b81526001600160a01b03928316600482015290516024820152911690638659d232906044015f604051808303815f87803b15801561159d575f5ffd5b505af11580156115af573d5f5f3e3d5ffd5b505050505b6115bc61361e565b6001600160a01b031663216666a48a6115d5888c613657565b6115df8b8f6136a2565b6040518463ffffffff1660e01b81526004016115fd939291906153ca565b5f604051808303815f87803b158015611614575f5ffd5b505af1158015611626573d5f5f3e3d5ffd5b50505060098601545f91501580159061164857506003860154610100900460ff165b1561167157506009850180545f9091556002860154611671906001600160a01b03168c836136d2565b8b6001600160a01b0316865f015f9054906101000a90046001600160a01b03166001600160a01b03168c6001600160a01b03167f5165909c3d1c01c5d1e121ac6f6d01dda1ba24bc9e1f975b5a375339c15be7f38d8d8d8c600601546040516116dd94939291906153e8565b60405180910390a46116ed612c0e565b6001600160a01b038b163b15158015611711575060038601546301000000900460ff165b15611776576040516306c791b960e11b81526001600160a01b038c1690630d8f237290611748908d908d908d9087906004016153e8565b5f604051808303815f87803b15801561175f575f5ffd5b505af1158015611771573d5f5f3e3d5ffd5b505050505b61177e612aaa565b505050505050610eae612c0e565b5f611795612a87565b6104825f6117a48686866111ff565b815260208101919091526040015f20546001600160a01b0316949350505050565b5f5f6117d387878787612be8565b90505f6117e18888876111ff565b5f8181526104806020908152604080832060028701546001600160a01b03168452909152902054909150801561181957600483018190555b5f8281526104816020526040902054801561183657600584018190555b5f6118428b8b8a613703565b604051631d1d5b3960e11b81526001600160a01b038e8116600483015291925090821690633a3ab67290602401602060405180830381865afa15801561188a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118ae91906152f6565b6118cb57604051636ffe5a9560e01b815260040160405180910390fd5b604051631d1d5b3960e11b81523360048201526001600160a01b03821690633a3ab67290602401602060405180830381865afa15801561190d573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061193191906152f6565b61194e57604051637ed449a960e01b815260040160405180910390fd5b61195c8c8c8c8c8c8c613748565b955050505050505b9695505050505050565b5f51602061592a5f395f51905f52546001600160a01b031690565b5f61199261196e565b905090565b5f9182525f51602061590a5f395f51905f52602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6119d5612a87565b6119dd612aaa565b60016119eb33858585612ab6565b60068111156119fc576119fc615154565b14611a1a57604051633a4e124d60e11b815260040160405180910390fd5b6001611a2833858585612be8565b60030180549115156101000261ff0019909216919091179055610f2a612c0e565b611a51612a87565b611a59612aaa565b611a6f5f5160206158ea5f395f51905f526125d6565b611a77613977565b604051631d1d5b3960e11b81526001600160a01b0384811660048301529190911690633a3ab67290602401602060405180830381865afa158015611abd573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ae191906152f6565b611afe57604051631131fa7160e11b815260040160405180910390fd5b611b0882826139bd565b5f611b148686866111ff565b5f818152610480602090815260408083206001600160a01b038816808552925291829020859055905191925090869083907f4544c320b43beb5421d5149ff92fa72b40f00ac65294c4b8ca3906f08fb5a8c290611b76908b908a908990615417565b60405180910390a450611b87612c0e565b5050505050565b5f51602061592a5f395f51905f52545f90600160d01b900465ffffffffffff165f5160206158ca5f395f51905f528115801590611bd357504265ffffffffffff831610155b611bde575f5f611bf4565b6001810154600160a01b900465ffffffffffff16825b92509250509091565b60605f611c08612a87565b5f611c14868686613703565b9050806001600160a01b031663d01f63f56040518163ffffffff1660e01b81526004015f60405180830381865afa158015611c51573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611c78919081019061544a565b816001600160a01b031663184d69ab6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cb4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cd891906152f6565b9250925050935093915050565b611d6b60408051610140810182525f80825260208083018290528284018290526060808401839052845160e081018652838152918201839052938101829052928301819052608083810182905260a0840182905260c084019190915290919082019081526020015f81526020015f81526020015f81526020015f81526020015f81525090565b611d73612a87565b611d7f85858585612be8565b604080516101408101825282546001600160a01b0390811682526001840154811660208084019190915260028501549182168385015260ff600160a01b90920482161515606080850191909152845160e08082018752600388015480861615158352610100808204871615159584019590955262010000810486161515978301979097526301000000870485161515928201929092526401000000009095049092161515608085810191909152600486015460a080870191909152600587015460c08088019190915291850195909552600686015494840194909452600785015493830193909352600884015490820152600983015491810191909152600a909101546101208201529050949350505050565b6060816001600160401b03811115611eac57611eac614843565b604051908082528060200260200182016040528015611edf57816020015b6060815260200190600190039081611eca5790505b5090505f5b82811015611fd1575f8030868685818110611f0157611f016154f1565b9050602002810190611f139190615505565b604051611f2192919061554e565b5f60405180830381855af49150503d805f8114611f59576040519150601f19603f3d011682016040523d82523d5f602084013e611f5e565b606091505b509150915081611fa957604481511015611f76575f5ffd5b60048101905080806020019051810190611f90919061555d565b60405162461bcd60e51b815260040161116a919061505b565b80848481518110611fbc57611fbc6154f1565b60209081029190910101525050600101611ee4565b5092915050565b5f611fe1612a87565b611fe9612aaa565b6001611ff733878787612ab6565b600681111561200857612008615154565b1461202657604051633a4e124d60e11b815260040160405180910390fd5b5f61203333878787612be8565b60048101849055600a81015490915061204c90846153b7565b915050611337612c0e565b606061122e83836136a2565b5f61206c613a6e565b805490915060ff600160401b82041615906001600160401b03165f811580156120925750825b90505f826001600160401b031660011480156120ad5750303b155b9050811580156120bb575080155b156120d95760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561210357845460ff60401b1916600160401b1785555b61210e888888613a96565b831561215457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b612166612a87565b61216e612aaa565b610f565f5160206158ea5f395f51905f5282610fad565b5f610eab3387878787876117c5565b5f61219d612a87565b610eae85858585612ab6565b5f6121b2612a87565b5f6121bf86868686612ab6565b905060068160068111156121d5576121d5615154565b14806121f2575060058160068111156121f0576121f0615154565b145b806119645750600381600681111561220c5761220c615154565b149695505050505050565b5f51602061592a5f395f51905f52545f905f5160206158ca5f395f51905f5290600160d01b900465ffffffffffff16801580159061225c57504265ffffffffffff8216105b612276578154600160d01b900465ffffffffffff1661228b565b6001820154600160a01b900465ffffffffffff165b9250505090565b5f61229b613a6e565b805490915060ff600160401b82041615906001600160401b03165f811580156122c15750825b90505f826001600160401b031660011480156122dc5750303b155b9050811580156122ea575080155b156123085760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561233257845460ff60401b1916600160401b1785555b61233d8e8e88613a96565b6123545f51602061588a5f395f51905f5288613ac5565b506123795f5160206158ea5f395f51905f525f51602061588a5f395f51905f52613b31565b6123828c612c1d565b61238b8b613457565b5f5b898110156123e8576123e08b8b838181106123aa576123aa6154f1565b6123c092602060609092020190810191506149d3565b8c8c848181106123d2576123d26154f1565b90506060020160200161320a565b60010161238d565b506123f288612c8c565b831561243857845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050505050505050565b5f612451612487565b509050336001600160a01b0382161461247f57604051636116401160e11b815233600482015260240161116a565b610e13613b59565b5f5160206158ca5f395f51905f52546001600160a01b03811691600160a01b90910465ffffffffffff1690565b816124d257604051631fe1e13d60e11b815260040160405180910390fd5b610fd58282613bf2565b5f6124e6816125d6565b610e13613c0e565b6124f6612a87565b6124fe612aaa565b600161250c33888888612ab6565b600681111561251d5761251d615154565b1461253b57604051633a4e124d60e11b815260040160405180910390fd5b5f61254833888888612be8565b600301805463ffff00001916620100008615150263ff0000001916176301000000851515021764ff000000001916640100000000841515021790555061258c612c0e565b505050505050565b5f610eae3386868686611424565b5f6001600160e01b03198216637965db0b60e01b1480610dfb57506301ffc9a760e01b6001600160e01b0319831614610dfb565b610e138133613c18565b6125ea5f5f613c51565b565b5f6125f5612a87565b6125fd612aaa565b5f61260a33888888612ab6565b600681111561261b5761261b615154565b146126395760405163f757fcff60e01b815260040160405180910390fd5b612641613d29565b6001600160a01b03166390978d1b876040518263ffffffff1660e01b815260040161266e91815260200190565b602060405180830381865afa158015612689573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126ad91906152f6565b6126ca576040516356175d8f60e01b815260040160405180910390fd5b6126d2613977565b604051631d1d5b3960e11b81526001600160a01b0385811660048301529190911690633a3ab67290602401602060405180830381865afa158015612718573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061273c91906152f6565b61275957604051631131fa7160e11b815260040160405180910390fd5b4285111561277a576040516347860b9760e01b815260040160405180910390fd5b6127876035612000615383565b845111156127a857604051630a56acd960e01b815260040160405180910390fd5b5f6127b1613511565b604051635b97aadd60e01b81526001600160a01b0386811660048301529190911690635b97aadd90602401602060405180830381865afa1580156127f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061281b91906155d1565b5f015190506040518061014001604052805f6001600160a01b031681526020015f6001600160a01b03168152602001856001600160a01b031681526020015f151581526020016040518060e001604052805f151581526020015f151581526020015f151581526020015f151581526020015f151581526020018481526020015f81525081526020015f81526020015f81526020015f8152602001848152602001828152505f5f6128cd338b8b8b613d6f565b815260208082019290925260409081015f20835181546001600160a01b03199081166001600160a01b039283161783558585015160018401805490921690831617905584830151600283018054606080890151939094166001600160a81b031990911617600160a01b9215159290920291909117905560808086015180516003850180549783015196830151948301519383015161ffff1990981691151561ff0019169190911761010096151587021763ffff00001916620100009415159490940263ff0000001916939093176301000000921515929092029190911764ff0000000019166401000000009515159590950294909417905560a080840151600483015560c0938401516005830155840151600682015591830151600783015560e08301516008830155820151600982015561012090910151600a909101558215612a2657612a266001600160a01b0385163330866134aa565b336001600160a01b03167ff1679315ff325c257a944e0ca1bfe7b26616039e9511f9610d4ba3eca851027b888888888887604051612a6996959493929190615612565b60405180910390a2612a7c816002615657565b915050610eae612c0e565b60325460ff166125ea57604051633ee5aeb560e01b815260040160405180910390fd5b6032805460ff19169055565b5f5f612ac486868686612be8565b60028101549091506001600160a01b0316612ae2575f915050611337565b80546001600160a01b0316612afb576001915050611337565b6002810154600160a01b900460ff1615612b19576006915050611337565b60018101546001600160a01b0316612b49574281600801541115612b3e576002612b41565b60035b915050611337565b612b5161361e565b6001600160a01b031663b551cd5086612b6a8488613657565b612b74878b6136a2565b6040518463ffffffff1660e01b8152600401612b92939291906153ca565b602060405180830381865afa158015612bad573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bd191906152f6565b612bdc576004611964565b50600595945050505050565b5f5f5f612bf787878787613d6f565b81526020019081526020015f209050949350505050565b6032805460ff19166001179055565b612c2681612cd1565b61047e80546001600160a01b0319166001600160a01b0383169081179091556040517fe983c4450684b2324d78afaa992b88be67cf4d3919d7a6539ca774d7bb5189f4905f90a250565b612c7982610f8d565b612c82816125d6565b6110c88383613ac5565b612c9581613da7565b6104848190556040518181527fc41d1b4ad42d6f594ce26dc949c6aa711df74301f1f2c17b3a36d30c9761abf39060200160405180910390a150565b612ce281634e759c3d60e11b613deb565b610e13576040516367cc38ef60e01b815260040160405180910390fd5b6001600160a01b0381163314612d285760405163334bd91960e11b815260040160405180910390fd5b610f2a8282613e06565b61048454811015612d56576040516337d02b5d60e21b815260040160405180910390fd5b610e1381613da7565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480612de557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612dd95f5160206158aa5f395f51905f52546001600160a01b031690565b6001600160a01b031614155b156125ea5760405163703e46dd60e11b815260040160405180910390fd5b610e135f6125d6565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612e66575060408051601f3d908101601f19168201909252612e639181019061566e565b60015b612e8e57604051634c9c8ce360e01b81526001600160a01b038316600482015260240161116a565b5f5160206158aa5f395f51905f528114612ebe57604051632a87526960e21b81526004810182905260240161116a565b610f2a8383613e5d565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146125ea5760405163703e46dd60e11b815260040160405180910390fd5b5f5f612f1f86868686612ab6565b90505f612f2e87878787612be8565b60028101805460ff60a01b1916600160a01b17905590506003826006811115612f5957612f59615154565b03612fb157600681015460078201556009810154600a8201546004830154612f8191906153b7565b612f8b91906153b7565b81546002830154919450612fac916001600160a01b039081169116856136d2565b613106565b6005826006811115612fc557612fc5615154565b036130ed57612fd261361e565b6001600160a01b031663719c6d5687612feb8489613657565b612ff5888c6136a2565b6040518463ffffffff1660e01b8152600401613013939291906153ca565b602060405180830381865afa15801561302e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613052919061566e565b6007820181905560068201546004830154911415905f61307184613584565b61307b9083615383565b9050836009015484600a0154828461309391906153b7565b61309d91906153b7565b6130a791906153b7565b95506130e5836130c15784546001600160a01b03166130d0565b60018501546001600160a01b03165b60028601546001600160a01b031690886136d2565b505050613106565b604051639c71cb8360e01b815260040160405180910390fd5b6001810154815460078301546040516001600160a01b0393841693928316928b16917f3f384afb4bd9f0aef0298c80399950011420eb33b0e1a750b20966270247b9a09161315b918c918c918c918c90615685565b60405180910390a461316b612c0e565b6001600160a01b0387163b1515801561319057506003810154640100000000900460ff165b156131f85760078101546040516304cc1fd560e01b81526001600160a01b038916916304cc1fd5916131ca918a918a918a916004016153e8565b5f604051808303815f87803b1580156131e1575f5ffd5b505af11580156131f3573d5f5f3e3d5ffd5b505050505b613200612aaa565b5050949350505050565b613212613977565b604051631d1d5b3960e11b81526001600160a01b0384811660048301529190911690633a3ab67290602401602060405180830381865afa158015613258573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061327c91906152f6565b61329957604051631131fa7160e11b815260040160405180910390fd5b6132a960408201602083016156cb565b6001600160801b03166132bf60208301836156cb565b6001600160801b031611156132e757604051635b1a743760e01b815260040160405180910390fd5b6001600160a01b0382165f90815261048360205260409020819061330b82826156e6565b50506001600160a01b0382167f143b6bf2ebf8381dc4db7edfc69b944d4a518b2be84f1d6230aecb2b698100e461334560208401846156cb565b61335560408501602086016156cb565b604080516001600160801b039384168152929091166020830152015b60405180910390a25050565b5f613386612217565b61338f42613eb2565b6133999190615737565b90506133a58282613ee8565b60405165ffffffffffff821681526001600160a01b038316907f3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed690602001613371565b5f6133f282613f72565b6133fb42613eb2565b6134059190615737565b90506134118282613c51565b6040805165ffffffffffff8085168252831660208201527ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b910160405180910390a15050565b61346081612cd1565b61047f80546001600160a01b0319166001600160a01b0383169081179091556040517fab1796ea525d29607f67aabc405756efd2fc7c4eb2531e627f6ec697ac618a8e905f90a250565b6040516001600160a01b0384811660248301528381166044830152606482018390526110c89186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613fb9565b6064546040516302abf57960e61b81526453746f726560d81b60048201525f916001600160a01b03169063aafd5e40906024015b602060405180830381865afa158015613560573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119929190615755565b60048101545f90610dfb90600290615784565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301525f919085169063dd62ed3e90604401602060405180830381865afa1580156135e4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613608919061566e565b90506110c8848461361985856153b7565b614025565b6064546040516302abf57960e61b8152654f7261636c6560d01b60048201525f916001600160a01b03169063aafd5e4090602401613545565b60038201545f9060ff161561369b5760058301545f90810361367b57606554613681565b60058401545b90508084600801546136939190615383565b915050610dfb565b5080610dfb565b606061122e836040518060400160405280600b81526020016a37b7a932b8bab2b9ba32b960a91b815250846140b4565b6040516001600160a01b03838116602483015260448201839052610f2a91859182169063a9059cbb906064016134df565b5f6104825f6137138686866111ff565b815260208101919091526040015f20546001600160a01b031690508061122e575061047e546001600160a01b03169392505050565b5f613751612a87565b613759612aaa565b6001600160a01b0387166137805760405163062a0f5b60e21b815260040160405180910390fd5b600161378e87878787612ab6565b600681111561379f5761379f615154565b146137bd57604051633a4e124d60e11b815260040160405180910390fd5b5f6137ca87878787612be8565b600381015490915060ff16156137fe57600160ff1b83036137fe5760405163cad802eb60e01b815260040160405180910390fd5b80546001600160a01b0319166001600160a01b0389161781556006810183905560058101545f0361383157606554613837565b60058101545b61384190426153b7565b6008820155600a810154600482015461385a91906153b7565b9150811561387c57600281015461387c906001600160a01b03163330856134aa565b600881015460028201546040516001600160a01b038b8116938b8216937f6e51dd00371aabffa82cd401592f76ed51e98a9ea4b58751c70463a2c78b5ca1936138d0938d938d938d938d93909116906157a3565b60405180910390a36138e0612c0e565b6001600160a01b0387163b151580156139035750600381015462010000900460ff165b1561396657604051639c2fd1df60e01b81526001600160a01b03881690639c2fd1df90613938908990899089906004016153ca565b5f604051808303815f87803b15801561394f575f5ffd5b505af1158015613961573d5f5f3e3d5ffd5b505050505b61396e612aaa565b50611964612c0e565b6064546040516302abf57960e61b81527210dbdb1b185d195c985b15da1a5d195b1a5cdd606a1b60048201525f916001600160a01b03169063aafd5e4090602401613545565b805f036139dd57604051634935f70160e11b815260040160405180910390fd5b6001600160a01b0382165f90815261048360209081526040918290208251808401909352546001600160801b03808216808552600160801b9092041691830191909152821015613a405760405163dba3b86160e01b815260040160405180910390fd5b80602001516001600160801b0316821115610f2a57604051631f7b5d6160e01b815260040160405180910390fd5b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610dfb565b613a9e6140f9565b613aa661411e565b613ab36203f48082614126565b613abb614138565b610f2a8383614140565b5f5f5160206158ca5f395f51905f5283613b27575f613ae261196e565b6001600160a01b031614613b0957604051631fe1e13d60e11b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0385161790555b6113378484614172565b81613b4f57604051631fe1e13d60e11b815260040160405180910390fd5b610fd58282614213565b5f5160206158ca5f395f51905f525f80613b71612487565b91509150613b868165ffffffffffff16151590565b1580613b9a57504265ffffffffffff821610155b15613bc2576040516319ca5ebb60e01b815265ffffffffffff8216600482015260240161116a565b613bd35f613bce61196e565b613e06565b50613bde5f83613ac5565b505081546001600160d01b03191690915550565b613bfb82610f8d565b613c04816125d6565b6110c88383613e06565b6125ea5f5f613ee8565b613c228282611997565b610fd55760405163e2517d3f60e01b81526001600160a01b03821660048201526024810183905260440161116a565b5f51602061592a5f395f51905f52545f5160206158ca5f395f51905f5290600160d01b900465ffffffffffff168015613ceb574265ffffffffffff82161015613cc257600182015482546001600160d01b0316600160a01b90910465ffffffffffff16600160d01b02178255613ceb565b6040517f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5905f90a15b5060010180546001600160a01b0316600160a01b65ffffffffffff948516026001600160d01b031617600160d01b9290931691909102919091179055565b6064546040516302abf57960e61b8152721259195b9d1a599a595c95da1a5d195b1a5cdd606a1b60048201525f916001600160a01b03169063aafd5e4090602401613545565b5f84848484604051602001613d8794939291906157e8565b604051602081830303815290604052805190602001209050949350505050565b63bb7448008110613dcb5760405163cb40339f60e01b815260040160405180910390fd5b5f8111610e135760405163fa050ec160e01b815260040160405180910390fd5b5f613df583614273565b801561122e575061122e83836142a5565b5f5f5160206158ca5f395f51905f5283158015613e3b5750613e2661196e565b6001600160a01b0316836001600160a01b0316145b15613e53576001810180546001600160a01b03191690555b611337848461432b565b613e66826143a4565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115613eaa57610f2a8282614407565b610fd5614470565b5f65ffffffffffff821115613ee4576040516306dfcc6560e41b8152603060048201526024810183905260440161116a565b5090565b5f5160206158ca5f395f51905f525f613eff612487565b835465ffffffffffff8616600160a01b026001600160d01b03199091166001600160a01b038816171784559150613f3f90508165ffffffffffff16151590565b156110c8576040517f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109905f90a150505050565b5f5f613f7c612217565b90508065ffffffffffff168365ffffffffffff1611613fa457613f9f8382615812565b61122e565b61122e65ffffffffffff84166206978061448f565b5f5f60205f8451602086015f885af180613fd8576040513d5f823e3d81fd5b50505f513d91508115613fef578060011415613ffc565b6001600160a01b0384163b155b156110c857604051635274afe760e01b81526001600160a01b038516600482015260240161116a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052614076848261449e565b6110c8576040516001600160a01b0384811660248301525f60448301526140aa91869182169063095ea7b3906064016134df565b6110c88482613fb9565b60605f6140c185856144e3565b905084816140ce85614525565b6040516020016140e093929190615830565b6040516020818303038152906040529150509392505050565b61410161458d565b6125ea57604051631afcd79f60e31b815260040160405180910390fd5b6125ea6140f9565b61412e6140f9565b610fd582826145a6565b612c0e6140f9565b6141486140f9565b606480546001600160a01b0319166001600160a01b03831617905561416c82612d32565b50606555565b5f5f51602061590a5f395f51905f5261418b8484611997565b61420a575f848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556141c03390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610dfb565b5f915050610dfb565b5f51602061590a5f395f51905f525f61422b84610f8d565b5f85815260208490526040808220600101869055519192508491839187917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a450505050565b5f614285826301ffc9a760e01b6142a5565b8015610dfb575061429e826001600160e01b03196142a5565b1592915050565b6040516001600160e01b0319821660248201525f90819060440160408051601f19818403018152919052602080820180516001600160e01b03166301ffc9a760e01b17815282519293505f9283928392909183918a617530fa92503d91505f519050828015614315575060208210155b801561432057505f81115b979650505050505050565b5f5f51602061590a5f395f51905f526143448484611997565b1561420a575f848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610dfb565b806001600160a01b03163b5f036143d957604051634c9c8ce360e01b81526001600160a01b038216600482015260240161116a565b5f5160206158aa5f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b031684604051614423919061584d565b5f60405180830381855af49150503d805f811461445b576040519150601f19603f3d011682016040523d82523d5f602084013e614460565b606091505b5091509150610eae85838361460c565b34156125ea5760405163b398979f60e01b815260040160405180910390fd5b5f82821882841002821861122e565b5f5f5f5f60205f8651602088015f8a5af192503d91505f519050828015611964575081156144cf5780600114611964565b50505050506001600160a01b03163b151590565b81516060901561451457816040516020016144fe9190615858565b6040516020818303038152906040529050610dfb565b816040516020016144fe919061587e565b606061453d6001600160801b03602084901c16614663565b6145538360601b6001600160601b031916614663565b6040516020016145779291909182526001600160c01b031916602082015260280190565b6040516020818303038152906040529050919050565b5f614596613a6e565b54600160401b900460ff16919050565b6145ae6140f9565b5f5160206158ca5f395f51905f526001600160a01b0382166145e557604051636116401160e11b81525f600482015260240161116a565b80546001600160d01b0316600160d01b65ffffffffffff8516021781556110c85f83613ac5565b60608261461c57613f9f826147f4565b815115801561463357506001600160a01b0384163b155b1561465c57604051639996b31560e01b81526001600160a01b038516600482015260240161116a565b508061122e565b5f5f825f1c9050806001600160801b0316905080600160401b02811777ffffffffffffffff0000000000000000ffffffffffffffff169050806401000000000281177bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16905080620100000281177dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff169050806101000281177eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff1690508060100281177f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f1690505f6008827f0808080808080808080808080808080808080808080808080808080808080808168161477657614776615770565b0460047f040404040404040404040404040404040404040404040404040404040404040484160460027f020202020202020202020202020202020202020202020202020202020202020285160417166027029091017f3030303030303030303030303030303030303030303030303030303030303030019392505050565b80511561480357805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b5f6020828403121561482c575f5ffd5b81356001600160e01b03198116811461122e575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b038111828210171561487f5761487f614843565b604052919050565b5f6001600160401b0382111561489f5761489f614843565b50601f01601f191660200190565b5f82601f8301126148bc575f5ffd5b81356148cf6148ca82614887565b614857565b8181528460208386010111156148e3575f5ffd5b816020850160208301375f918101602001919091529392505050565b6001600160a01b0381168114610e13575f5ffd5b5f5f5f5f5f60a08688031215614927575f5ffd5b853594506020860135935060408601356001600160401b0381111561494a575f5ffd5b614956888289016148ad565b9350506060860135614967816148ff565b949793965091946080013592915050565b5f5f5f6060848603121561498a575f5ffd5b833592506020840135915060408401356001600160401b038111156149ad575f5ffd5b6149b9868287016148ad565b9150509250925092565b80356149ce816148ff565b919050565b5f602082840312156149e3575f5ffd5b813561122e816148ff565b5f602082840312156149fe575f5ffd5b5035919050565b5f5f60408385031215614a16575f5ffd5b823591506020830135614a28816148ff565b809150509250929050565b5f5f5f5f60808587031215614a46575f5ffd5b8435614a51816148ff565b93506020850135925060408501356001600160401b03811115614a72575f5ffd5b614a7e878288016148ad565b9250506060850135614a8f816148ff565b939692955090935050565b5f5f5f5f60808587031215614aad575f5ffd5b843593506020850135925060408501356001600160401b03811115614ad0575f5ffd5b614adc878288016148ad565b949793965093946060013593505050565b5f5f5f60608486031215614aff575f5ffd5b8335614b0a816148ff565b92506020840135915060408401356001600160401b038111156149ad575f5ffd5b5f5f60408385031215614b3c575f5ffd5b8235614b47816148ff565b915060208301356001600160401b03811115614b61575f5ffd5b614b6d858286016148ad565b9150509250929050565b5f5f8284036060811215614b89575f5ffd5b8335614b94816148ff565b92506040601f1982011215614ba7575f5ffd5b506020830190509250929050565b5f5f5f5f60808587031215614bc8575f5ffd5b8435614bd3816148ff565b9350602085013592506040850135915060608501356001600160401b03811115614bfb575f5ffd5b614c07878288016148ad565b91505092959194509250565b5f60208284031215614c23575f5ffd5b813565ffffffffffff8116811461122e575f5ffd5b5f5f5f5f60808587031215614c4b575f5ffd5b8435614c56816148ff565b93506020850135925060408501356001600160401b03811115614ad0575f5ffd5b5f5f5f5f5f60a08688031215614c8b575f5ffd5b8535614c96816148ff565b94506020860135614ca6816148ff565b9350604086013592506060860135915060808601356001600160401b03811115614cce575f5ffd5b614cda888289016148ad565b9150509295509295909350565b5f5f5f5f5f5f60c08789031215614cfc575f5ffd5b8635614d07816148ff565b95506020870135614d17816148ff565b9450604087013593506060870135925060808701356001600160401b03811115614d3f575f5ffd5b614d4b89828a016148ad565b9699959850939692959460a09093013593505050565b5f5f5f5f5f60a08688031215614d75575f5ffd5b8535614d80816148ff565b94506020860135935060408601356001600160401b0381111561494a575f5ffd5b80511515825260208101511515602083015260408101511515604083015260608101511515606083015260808101511515608083015260a081015160a083015260c081015160c08301525050565b6001600160a01b038b811682528a811660208301528916604082015287151560608201526102008101614e256080830189614da1565b6101608201969096526101808101949094526101a08401929092526101c08301526101e09091015295945050505050565b604080825283519082018190525f9060208501906060840190835b81811015614e985783516001600160a01b0316835260209384019390920191600101614e71565b5050809250505082151560208301529392505050565b81516001600160a01b0316815261020081016020830151614eda60208401826001600160a01b03169052565b506040830151614ef560408401826001600160a01b03169052565b506060830151614f09606084018215159052565b506080830151614f1c6080840182614da1565b5060a083015161016083015260c083015161018083015260e08301516101a08301526101008301516101c0830152610120909201516101e09091015290565b5f5f60208385031215614f6c575f5ffd5b82356001600160401b03811115614f81575f5ffd5b8301601f81018513614f91575f5ffd5b80356001600160401b03811115614fa6575f5ffd5b8560208260051b8401011115614fba575f5ffd5b6020919091019590945092505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561504f57603f1987860301845261503a858351614fca565b9450602093840193919091019060010161501e565b50929695505050505050565b602081525f61122e6020830184614fca565b5f5f6040838503121561507e575f5ffd5b82356001600160401b03811115615093575f5ffd5b61509f858286016148ad565b9250506020830135614a28816148ff565b5f5f5f606084860312156150c2575f5ffd5b8335925060208401356150d4816148ff565b915060408401356150e4816148ff565b809150509250925092565b5f5f5f5f5f60a08688031215615103575f5ffd5b853561510e816148ff565b9450602086013593506040860135925060608601356001600160401b03811115615136575f5ffd5b615142888289016148ad565b95989497509295608001359392505050565b634e487b7160e01b5f52602160045260245ffd5b602081016007831061518857634e487b7160e01b5f52602160045260245ffd5b91905290565b5f5f5f5f5f5f5f5f5f6101008a8c0312156151a7575f5ffd5b8935985060208a01356151b9816148ff565b975060408a01356151c9816148ff565b965060608a01356151d9816148ff565b955060808a01356001600160401b038111156151f3575f5ffd5b8a01601f81018c13615203575f5ffd5b80356001600160401b03811115615218575f5ffd5b8c602060608302840101111561522c575f5ffd5b6020919091019550935060a08a0135925061524960c08b016149c3565b915061525760e08b016149c3565b90509295985092959850929598565b8015158114610e13575f5ffd5b5f5f5f5f5f5f60c08789031215615288575f5ffd5b863595506020870135945060408701356001600160401b038111156152ab575f5ffd5b6152b789828a016148ad565b94505060608701356152c881615266565b925060808701356152d881615266565b915060a08701356152e881615266565b809150509295509295509295565b5f60208284031215615306575f5ffd5b815161122e81615266565b6001600160a01b03831681526040602082018190525f9061133790830184614fca565b5f81518060208401855e5f93019283525090919050565b6001600160601b03198460601b1681528260148201525f610eae6034830184615334565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dfb57610dfb61536f565b604081525f6153a86040830185614fca565b90508260208301529392505050565b80820180821115610dfb57610dfb61536f565b838152826020820152606060408201525f610eae6060830184614fca565b848152836020820152608060408201525f6154066080830185614fca565b905082606083015295945050505050565b6001600160a01b03841681526060602082018190525f9061543a90830185614fca565b9050826040830152949350505050565b5f6020828403121561545a575f5ffd5b81516001600160401b0381111561546f575f5ffd5b8201601f8101841361547f575f5ffd5b80516001600160401b0381111561549857615498614843565b8060051b6154a860208201614857565b918252602081840181019290810190878411156154c3575f5ffd5b6020850194505b8385101561432057845192506154df836148ff565b828252602094850194909101906154ca565b634e487b7160e01b5f52603260045260245ffd5b5f5f8335601e1984360301811261551a575f5ffd5b8301803591506001600160401b03821115615533575f5ffd5b602001915036819003821315615547575f5ffd5b9250929050565b818382375f9101908152919050565b5f6020828403121561556d575f5ffd5b81516001600160401b03811115615582575f5ffd5b8201601f81018413615592575f5ffd5b80516155a06148ca82614887565b8181528560208385010111156155b4575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b5f60208284031280156155e2575f5ffd5b50604051602081016001600160401b038111828210171561560557615605614843565b6040529151825250919050565b86815285602082015260c060408201525f61563060c0830187614fca565b6001600160a01b0395909516606083015250608081019290925260a0909101529392505050565b8082028115828204841417610dfb57610dfb61536f565b5f6020828403121561567e575f5ffd5b5051919050565b85815284602082015260a060408201525f6156a360a0830186614fca565b606083019490945250608001529392505050565b6001600160801b0381168114610e13575f5ffd5b5f602082840312156156db575f5ffd5b813561122e816156b7565b81356156f1816156b7565b6001600160801b0381169050806001600160801b0319835416178255602083013561571b816156b7565b60801b6fffffffffffffffffffffffffffffffff191617905550565b65ffffffffffff8181168382160190811115610dfb57610dfb61536f565b5f60208284031215615765575f5ffd5b815161122e816148ff565b634e487b7160e01b5f52601260045260245ffd5b5f8261579e57634e487b7160e01b5f52601260045260245ffd5b500490565b86815285602082015260c060408201525f6157c160c0830187614fca565b60608301959095525060808101929092526001600160a01b031660a0909101529392505050565b6001600160601b03198560601b1681528360148201528260348201525f610eab6054830184615334565b65ffffffffffff8281168282160390811115610dfb57610dfb61536f565b5f610eae6158476158418488615334565b86615334565b84615334565b5f61122e8284615334565b600b60fa1b81525f61586d6001830184615334565b601d60f91b81526001019392505050565b5f61586d828461533456feb92d52e77ebaa0cae5c23e882d85609efbcb44029214147dd132daf9ef1018af360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbceef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d869840027b8807ed0d425f20d0c4bc217dc8c5223cdf4dda073a600a26677d83eb2fb5302dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800eef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698401a2646970667358221220dbe68c0c0268cd87cfcbfa0d97372f406d651be32f9d44335e2fcdebae53339464736f6c634300081e003360806040526040516103cf3803806103cf8339810160408190526100229161023b565b61002c8282610033565b5050610320565b61003c82610091565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561008557610080828261010c565b505050565b61008d61017f565b5050565b806001600160a01b03163b5f036100cb57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b031684604051610128919061030a565b5f60405180830381855af49150503d805f8114610160576040519150601f19603f3d011682016040523d82523d5f602084013e610165565b606091505b5090925090506101768583836101a0565b95945050505050565b341561019e5760405163b398979f60e01b815260040160405180910390fd5b565b6060826101b5576101b0826101ff565b6101f8565b81511580156101cc57506001600160a01b0384163b155b156101f557604051639996b31560e01b81526001600160a01b03851660048201526024016100c2565b50805b9392505050565b80511561020e57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b5f5f6040838503121561024c575f5ffd5b82516001600160a01b0381168114610262575f5ffd5b60208401519092506001600160401b0381111561027d575f5ffd5b8301601f8101851361028d575f5ffd5b80516001600160401b038111156102a6576102a6610227565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102d4576102d4610227565b6040528181528282016020018710156102eb575f5ffd5b8160208401602083015e5f602083830101528093505050509250929050565b5f82518060208501845e5f920191825250919050565b60a38061032c5f395ff3fe6080604052600a600c565b005b60186014601a565b6050565b565b5f604b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f5f375f5f365f845af43d5f5f3e8080156069573d5ff35b3d5ffdfea2646970667358221220500b02fd3000f109cd1c16029025651bf95e379ee555325f66378bee76405e8764736f6c634300081e00330000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d59cc78b3d04193ae92175ab14d00bb163c097a14bae6f073d18bfc99df6f6ee9a26469706673582212207f48cbd3ca104fecbb193e440f89253fc4b6fd109747f4926a6f0894971f4afd64736f6c634300081e0033","sourceMap":"3674:26188:100:-:0;;;3126:44:3;;;3166:4;-1:-1:-1;;3126:44:3;;;;;;;;1065:26:14;;;;;;;;;;;3674:26188:100;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561000f575f5ffd5b5060043610610234575f3560e01c80638424944211610135578063c75ead24116100b4578063eaf48b1211610079578063eaf48b12146103a4578063ee448c36146103ac578063f15b40ec146103b4578063fa7626d4146103bc578063fea47122146103c9575f5ffd5b8063c75ead241461037c578063cb062ceb14610384578063d53045bb1461038c578063d6352a3614610394578063e20c9f711461039c575f5ffd5b8063ac40329a116100fa578063ac40329a14610344578063b0464fdc1461034c578063b5508aa914610354578063b8fcbfd21461035c578063ba414fa614610364575f5ffd5b8063842494421461030257806385226c811461030a578063916a17c61461031f5780639f35298214610334578063a452fa7c1461033c575f5ffd5b80633f7286f4116101c157806366d9a9a01161018657806366d9a9a0146102cd57806371283f17146102e25780637d58df6e146102ea578063801006b7146102f25780638113f192146102fa575f5ffd5b80633f7286f4146102a55780634353e5d6146102ad5780634c6f2260146102b5578063508ac0f0146102bd5780635e341e80146102c5575f5ffd5b80631ed7831c116102075780631ed7831c1461025a5780632ade3880146102785780632c4991db1461028d578063309524d2146102955780633e5e3c231461029d575f5ffd5b80630a9254e414610238578063114fac2614610242578063174f873b1461024a5780631d78ce7b14610252575b5f5ffd5b6102406103d1565b005b61024061140a565b61024061157a565b6102406117d5565b6102626118c9565b60405161026f9190617f66565b60405180910390f35b610280611929565b60405161026f9190617fdf565b610240611a65565b610240611c8d565b610262611f4b565b610262611fa9565b610240612007565b6102406123f2565b610240612dbb565b610240612f5b565b6102d5613321565b60405161026f91906180ec565b610240613485565b610240613717565b610240613857565b610240613ac6565b610240613fc1565b610312614450565b60405161026f919061816a565b61032761451b565b60405161026f91906181c1565b6102406145fc565b610240614bef565b610240614d73565b61032761543c565b61031261551d565b6102406155e8565b61036c615957565b604051901515815260200161026f565b610240615a12565b610240615b2f565b610240615ec4565b610240616145565b610262616556565b6102406165b4565b6102406168f5565b610240616d8c565b601f5461036c9060ff1681565b61024061734e565b6103fd6040518060400160405280600b81526020016a31b7b73334b3a0b236b4b760a91b8152506174e2565b601f60016101000a8154816001600160a01b0302191690836001600160a01b031602179055506104506040518060400160405280600c81526020016b3ab833b930b232a0b236b4b760a11b8152506174e2565b60205f6101000a8154816001600160a01b0302191690836001600160a01b031602179055506104a46040518060400160405280600e81526020016d3932b8bab2b9ba26b0b730b3b2b960911b8152506174e2565b602180546001600160a01b0319166001600160a01b03929092169190911790556040805180820190915260098152683932b8bab2b9ba32b960b91b60208201526104ed906174e2565b602280546001600160a01b0319166001600160a01b039290921691909117905560408051808201909152600c81526b3737b72932b8bab2b9ba32b960a11b6020820152610539906174e2565b602380546001600160a01b0319166001600160a01b0392909216919091179055604080518082019091526008815267383937b837b9b2b960c11b6020820152610581906174e2565b602480546001600160a01b0319166001600160a01b039290921691909117905560408051808201909152600d81526c37ba3432b9283937b837b9b2b960991b60208201526105ce906174e2565b602580546001600160a01b0319166001600160a01b039290921691909117905560408051808201909152600681526539b2b73232b960d11b6020820152610614906174e2565b602680546001600160a01b0319166001600160a01b039290921691909117905560408051808201909152600b81526a37ba3432b929b2b73232b960a91b602082015261065f906174e2565b602780546001600160a01b0319166001600160a01b03928316179055601f54604080516318caf8e360e31b815261010090920490921660048201526024810191909152600c60448201526b21a7a72324a3afa0a226a4a760a11b60648201525f516020620100b85f395f51905f529063c657c718906084015f604051808303815f87803b1580156106ee575f5ffd5b505af1158015610700573d5f5f3e3d5ffd5b5050602054604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600d60448201526c2aa823a920a222afa0a226a4a760991b60648201525f516020620100b85f395f51905f52925063c657c71891506084015f604051808303815f87803b158015610777575f5ffd5b505af1158015610789573d5f5f3e3d5ffd5b5050602154604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600f60448201526e2922a8aaa2a9aa2fa6a0a720a3a2a960891b60648201525f516020620100b85f395f51905f52925063c657c71891506084015f604051808303815f87803b158015610802575f5ffd5b505af1158015610814573d5f5f3e3d5ffd5b5050602254604080516318caf8e360e31b81526001600160a01b039092166004830152602482015260096044820152682922a8aaa2a9aa22a960b91b60648201525f516020620100b85f395f51905f52925063c657c71891506084015f604051808303815f87803b158015610887575f5ffd5b505af1158015610899573d5f5f3e3d5ffd5b5050602354604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600d60448201526c2727a72fa922a8aaa2a9aa22a960991b60648201525f516020620100b85f395f51905f52925063c657c71891506084015f604051808303815f87803b158015610910575f5ffd5b505af1158015610922573d5f5f3e3d5ffd5b505060248054604080516318caf8e360e31b81526001600160a01b039092166004830152918101919091526008604482015267282927a827a9a2a960c11b60648201525f516020620100b85f395f51905f52925063c657c71891506084015f604051808303815f87803b158015610997575f5ffd5b505af11580156109a9573d5f5f3e3d5ffd5b5050602554604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600e60448201526d27aa2422a92fa82927a827a9a2a960911b60648201525f516020620100b85f395f51905f52925063c657c71891506084015f604051808303815f87803b158015610a21575f5ffd5b505af1158015610a33573d5f5f3e3d5ffd5b5050602654604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600660448201526529a2a72222a960d11b60648201525f516020620100b85f395f51905f52925063c657c71891506084015f604051808303815f87803b158015610aa3575f5ffd5b505af1158015610ab5573d5f5f3e3d5ffd5b5050602754604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600c60448201526b27aa2422a92fa9a2a72222a960a11b60648201525f516020620100b85f395f51905f52925063c657c71891506084015f604051808303815f87803b158015610b2b575f5ffd5b505af1158015610b3d573d5f5f3e3d5ffd5b50505050604051610b4d90617eaa565b604051809103905ff080158015610b66573d5f5f3e3d5ffd5b50602980546001600160a01b0319166001600160a01b0392909216919091179055604051610b9390617eb8565b604051809103905ff080158015610bac573d5f5f3e3d5ffd5b50602a80546001600160a01b0319166001600160a01b0392909216919091179055604051610bd990617eb8565b604051809103905ff080158015610bf2573d5f5f3e3d5ffd5b50602b80546001600160a01b0319166001600160a01b0392909216919091179055604051610c1f90617eb8565b604051809103905ff080158015610c38573d5f5f3e3d5ffd5b50602c80546001600160a01b0319166001600160a01b0392909216919091179055604051610c6590617ec6565b604051809103905ff080158015610c7e573d5f5f3e3d5ffd5b50602d80546001600160a01b0319166001600160a01b0392909216919091179055604051610cab90617ed4565b604051809103905ff080158015610cc4573d5f5f3e3d5ffd5b50602e80546001600160a01b0319166001600160a01b0392909216919091179055604051610cf190617ee2565b604051809103905ff080158015610d0a573d5f5f3e3d5ffd5b50602f80546001600160a01b0319166001600160a01b0392909216919091179055604051610d3790617ef0565b604051809103905ff080158015610d50573d5f5f3e3d5ffd5b50603080546001600160a01b0319166001600160a01b0392909216919091179055604051610d7d90617ef0565b604051809103905ff080158015610d96573d5f5f3e3d5ffd5b50603180546001600160a01b0319166001600160a01b03928316179055602a5460305460405163e43252d760e01b8152908316600482015291169063e43252d7906024015f604051808303815f87803b158015610df1575f5ffd5b505af1158015610e03573d5f5f3e3d5ffd5b5050602e546040516310a7e20160e01b81525f516020620100d85f395f51905f5260048201526001600160a01b0390911692506310a7e20191506024015f604051808303815f87803b158015610e57575f5ffd5b505af1158015610e69573d5f5f3e3d5ffd5b5050602954602a546040516318fcb32f60e11b81527210dbdb1b185d195c985b15da1a5d195b1a5cdd606a1b60048201526001600160a01b039182166024820152911692506331f9665e91506044015f604051808303815f87803b158015610ecf575f5ffd5b505af1158015610ee1573d5f5f3e3d5ffd5b5050602954602e546040516318fcb32f60e11b8152721259195b9d1a599a595c95da1a5d195b1a5cdd606a1b60048201526001600160a01b039182166024820152911692506331f9665e91506044015f604051808303815f87803b158015610f47575f5ffd5b505af1158015610f59573d5f5f3e3d5ffd5b5050602954602f546040516318fcb32f60e11b81526453746f726560d81b60048201526001600160a01b039182166024820152911692506331f9665e91506044015f604051808303815f87803b158015610fb1575f5ffd5b505af1158015610fc3573d5f5f3e3d5ffd5b5050602f5460305460405163074df7f560e41b81526001600160a01b0392831694506374df7f5093506110069290911690678ac7230489e8000090600401618238565b5f604051808303815f87803b15801561101d575f5ffd5b505af115801561102f573d5f5f3e3d5ffd5b5050602b546024805460405163e43252d760e01b81526001600160a01b0391821660048201529216935063e43252d79250015f604051808303815f87803b158015611078575f5ffd5b505af115801561108a573d5f5f3e3d5ffd5b5050602b5460265460405163e43252d760e01b81526001600160a01b0391821660048201529116925063e43252d791506024015f604051808303815f87803b1580156110d4575f5ffd5b505af11580156110e6573d5f5f3e3d5ffd5b5050602c5460225460405163e43252d760e01b81526001600160a01b0391821660048201529116925063e43252d791506024015f604051808303815f87803b158015611130575f5ffd5b505af1158015611142573d5f5f3e3d5ffd5b505050505f60405161115390617efe565b604051809103905ff08015801561116c573d5f5f3e3d5ffd5b506040805160018082528183019092529192505f9190816020015b61118f617f0c565b8152602001906001900390816111875750506040805180820182526030546001600160a01b031681528151808301909252670de0b6b3a76400008252683635c9adc5dea0000060208084019190915281019190915281519192509082905f906111fa576111fa618265565b602090810291909101810191909152602954602b54602c54601f5493546040515f956366d90e6360e11b9561125c956202a300956001600160a01b039283169591831694908316938b93610e1093610100909204811692911690602401618279565b604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b03838183161783525050505090505f83826040516112a090617f58565b6112ab92919061834e565b604051809103905ff0801580156112c4573d5f5f3e3d5ffd5b50602880546001600160a01b0319166001600160a01b0383811691909117909155601f546040516303223eab60e11b815261010090910490911660048201529091505f516020620100b85f395f51905f52906306447d56906024015f604051808303815f87803b158015611336575f5ffd5b505af1158015611348573d5f5f3e3d5ffd5b5050602854602154604051635b66dc7760e11b81526001600160a01b0391821660048201529116925063b6cdb8ee91506024015f604051808303815f87803b158015611392575f5ffd5b505af11580156113a4573d5f5f3e3d5ffd5b505050505f516020620100b85f395f51905f526001600160a01b03166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156113ee575f5ffd5b505af1158015611400573d5f5f3e3d5ffd5b5050505050505050565b601f5460405163ca669fa760e01b81526101009091046001600160a01b031660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b15801561145e575f5ffd5b505af1158015611470573d5f5f3e3d5ffd5b505060405163248e63e160e11b81525f60048201819052602482018190526044820152600160648201525f516020620100b85f395f51905f52925063491cc7c291506084015f604051808303815f87803b1580156114cc575f5ffd5b505af11580156114de573d5f5f3e3d5ffd5b505050507fc41d1b4ad42d6f594ce26dc949c6aa711df74301f1f2c17b3a36d30c9761abf361708060405161151591815260200190565b60405180910390a1602854604051631976674f60e11b815261708060048201526001600160a01b03909116906332ecce9e906024015b5f604051808303815f87803b158015611562575f5ffd5b505af1158015611574573d5f5f3e3d5ffd5b50505050565b601f5460405163ca669fa760e01b81526101009091046001600160a01b031660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b1580156115ce575f5ffd5b505af11580156115e0573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e0915061161c90631131fa7160e11b90600401618371565b5f604051808303815f87803b158015611633575f5ffd5b505af1158015611645573d5f5f3e3d5ffd5b505060285460315460408051808201825260018152600260208201529051632c22f34560e11b81526001600160a01b039384169550635845e68a94506116919390921691600401618386565b5f604051808303815f87803b1580156116a8575f5ffd5b505af11580156116ba573d5f5f3e3d5ffd5b5050601f5460405163ca669fa760e01b81526101009091046001600160a01b031660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015611712575f5ffd5b505af1158015611724573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e0915061176090635b1a743760e01b90600401618371565b5f604051808303815f87803b158015611777575f5ffd5b505af1158015611789573d5f5f3e3d5ffd5b5050602854603054604080518082018252600a8152600560208201529051632c22f34560e11b81526001600160a01b039384169550635845e68a945061154b9390921691600401618386565b5f516020620100b85f395f51905f526001600160a01b031663f48448146040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561181b575f5ffd5b505af115801561182d573d5f5f3e3d5ffd5b505060205460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015611881575f5ffd5b505af1158015611893573d5f5f3e3d5ffd5b5050602854604051631976674f60e11b815261384060048201526001600160a01b0390911692506332ecce9e915060240161154b565b6060601680548060200260200160405190810160405280929190818152602001828054801561191f57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311611901575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020015f905b82821015611a5c575f84815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b82821015611a45578382905f5260205f200180546119ba906183b9565b80601f01602080910402602001604051908101604052809291908181526020018280546119e6906183b9565b8015611a315780601f10611a0857610100808354040283529160200191611a31565b820191905f5260205f20905b815481529060010190602001808311611a1457829003601f168201915b50505050508152602001906001019061199d565b50505050815250508152602001906001019061194c565b50505050905090565b6022544290611a7e906001600160a01b0316825f6174f3565b5060215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b158015611acf575f5ffd5b505af1158015611ae1573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015260305491516393ae2ebd60e01b81526001600160a01b0394851696506393ae2ebd9550611b5994938416935f516020620100d85f395f51905f52931690674563918244f40000906004016183f1565b5f604051808303815f87803b158015611b70575f5ffd5b505af1158015611b82573d5f5f3e3d5ffd5b50506026546024546022545f9450611bae93506001600160a01b039283169291821691168560646177a6565b9050611bc28167d02ab486cedc0000617a60565b602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152905163a9904f9b60e01b81525f936001600160a01b039081169363a9904f9b93611c2c9392909116915f516020620100d85f395f51905f52918991600401618434565b61020060405180830381865afa158015611c48573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c6c9190618591565b9050611c88816080015160a00151674563918244f40000617a60565b505050565b601f5460405163ca669fa760e01b81526101009091046001600160a01b031660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b158015611ce1575f5ffd5b505af1158015611cf3573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e09150611d2f906367cc38ef60e01b90600401618371565b5f604051808303815f87803b158015611d46575f5ffd5b505af1158015611d58573d5f5f3e3d5ffd5b50506028546030546040516335c10e8360e11b81526001600160a01b03918216600482015291169250636b821d0691506024015f604051808303815f87803b158015611da2575f5ffd5b505af1158015611db4573d5f5f3e3d5ffd5b505050505f604051611dc590617eb8565b604051809103905ff080158015611dde573d5f5f3e3d5ffd5b50601f5460405163ca669fa760e01b81526101009091046001600160a01b031660048201529091505f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b158015611e36575f5ffd5b505af1158015611e48573d5f5f3e3d5ffd5b505060405163248e63e160e11b81526001600482018190525f60248301819052604483015260648201525f516020620100b85f395f51905f52925063491cc7c291506084015f604051808303815f87803b158015611ea4575f5ffd5b505af1158015611eb6573d5f5f3e3d5ffd5b50506040516001600160a01b03841692507fab1796ea525d29607f67aabc405756efd2fc7c4eb2531e627f6ec697ac618a8e91505f90a26028546040516335c10e8360e11b81526001600160a01b03838116600483015290911690636b821d06906024015b5f604051808303815f87803b158015611f32575f5ffd5b505af1158015611f44573d5f5f3e3d5ffd5b5050505050565b6060601880548060200260200160405190810160405280929190818152602001828054801561191f57602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311611901575050505050905090565b6060601780548060200260200160405190810160405280929190818152602001828054801561191f57602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311611901575050505050905090565b5f60405161201490617efe565b604051809103905ff08015801561202d573d5f5f3e3d5ffd5b5090505f516020620100b85f395f51905f526001600160a01b031663f28dceb363e2517d3f60e01b3060285f9054906101000a90046001600160a01b03166001600160a01b031663a217fddf6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120a6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120ca919061863c565b6040516024016120db929190618238565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e084901b909216825261212091600401618653565b5f604051808303815f87803b158015612137575f5ffd5b505af1158015612149573d5f5f3e3d5ffd5b50506028546040805163278f794360e11b81526001600160a01b03868116600483015260248201929092525f604482015291169250634f1ef28691506064015f604051808303815f87803b15801561219f575f5ffd5b505af11580156121b1573d5f5f3e3d5ffd5b505050505f60285f9054906101000a90046001600160a01b03166001600160a01b03166391152f106040518163ffffffff1660e01b8152600401602060405180830381865afa158015612206573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061222a919061863c565b60205460405163ca669fa760e01b81526001600160a01b0390911660048201529091505f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b15801561227d575f5ffd5b505af115801561228f573d5f5f3e3d5ffd5b50506028546040805163278f794360e11b81526001600160a01b03878116600483015260248201929092525f604482015291169250634f1ef28691506064015f604051808303815f87803b1580156122e5575f5ffd5b505af11580156122f7573d5f5f3e3d5ffd5b5050505061237860285f9054906101000a90046001600160a01b03166001600160a01b03166391152f106040518163ffffffff1660e01b8152600401602060405180830381865afa15801561234e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612372919061863c565b82617a60565b6028546040805163fe4e198360e01b815290516123ee926001600160a01b03169163fe4e19839160048083019260209291908290030181865afa1580156123c1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123e5919061863c565b6202a300617a60565b5050565b602854604080516379c7ee0160e11b815290515f516020620100b85f395f51905f529263f28dceb39263e2517d3f60e01b9230926001600160a01b03169163f38fdc029160048083019260209291908290030181865afa158015612458573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061247c919061863c565b60405160240161248d929190618238565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e084901b90921682526124d291600401618653565b5f604051808303815f87803b1580156124e9575f5ffd5b505af11580156124fb573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015260305491516393ae2ebd60e01b81526001600160a01b0394851696506393ae2ebd955061257394938416935f516020620100d85f395f51905f52931690671bc16d674ec80000906004016183f1565b5f604051808303815f87803b15801561258a575f5ffd5b505af115801561259c573d5f5f3e3d5ffd5b505060405163248e63e160e11b8152600160048201819052602482018190526044820181905260648201525f516020620100b85f395f51905f52925063491cc7c291506084015f604051808303815f87803b1580156125f9575f5ffd5b505af115801561260b573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152905163241ab4c560e11b81525f95506001600160a01b039384169450634835698a936126749316915f516020620100d85f395f51905f5291600401618665565b602060405180830381865afa15801561268f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126b3919061863c565b603054602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015290519394506001600160a01b03928316935f516020620100d85f395f51905f529386937f4544c320b43beb5421d5149ff92fa72b40f00ac65294c4b8ca3906f08fb5a8c293612737939290911691671bc16d674ec8000090618694565b60405180910390a460215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b15801561278f575f5ffd5b505af11580156127a1573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015260305491516393ae2ebd60e01b81526001600160a01b0394851696506393ae2ebd955061281994938416935f516020620100d85f395f51905f52931690671bc16d674ec80000906004016183f1565b5f604051808303815f87803b158015612830575f5ffd5b505af1158015612842573d5f5f3e3d5ffd5b505060215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015612896575f5ffd5b505af11580156128a8573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e091506128e490634935f70160e11b90600401618371565b5f604051808303815f87803b1580156128fb575f5ffd5b505af115801561290d573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015260305491516393ae2ebd60e01b81526001600160a01b0394851696506393ae2ebd955061297d94938416935f516020620100d85f395f51905f529316905f906004016183f1565b5f604051808303815f87803b158015612994575f5ffd5b505af11580156129a6573d5f5f3e3d5ffd5b505060215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b1580156129fa575f5ffd5b505af1158015612a0c573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e09150612a489063dba3b86160e01b90600401618371565b5f604051808303815f87803b158015612a5f575f5ffd5b505af1158015612a71573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015260305491516393ae2ebd60e01b81526001600160a01b0394851696506393ae2ebd9550612ae994938416935f516020620100d85f395f51905f529316906706f05b59d3b20000906004016183f1565b5f604051808303815f87803b158015612b00575f5ffd5b505af1158015612b12573d5f5f3e3d5ffd5b505060215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015612b66575f5ffd5b505af1158015612b78573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e09150612bb490631f7b5d6160e01b90600401618371565b5f604051808303815f87803b158015612bcb575f5ffd5b505af1158015612bdd573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015260305491516393ae2ebd60e01b81526001600160a01b0394851696506393ae2ebd9550612c5694938416935f516020620100d85f395f51905f52931690686c6b935b8bbd400000906004016183f1565b5f604051808303815f87803b158015612c6d575f5ffd5b505af1158015612c7f573d5f5f3e3d5ffd5b505060215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015612cd3575f5ffd5b505af1158015612ce5573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e09150612d2190631131fa7160e11b90600401618371565b5f604051808303815f87803b158015612d38575f5ffd5b505af1158015612d4a573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015260315491516393ae2ebd60e01b81526001600160a01b0394851696506393ae2ebd9550611f1b94938416935f516020620100d85f395f51905f529316906001906004016183f1565b6022544290612dd4906001600160a01b0316825f6174f3565b5060215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b158015612e25575f5ffd5b505af1158015612e37573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152602d549151631a3da6dd60e11b81526001600160a01b03948516965063347b4dba9550612ea594938416935f516020620100d85f395f51905f529316906004016186c7565b5f604051808303815f87803b158015612ebc575f5ffd5b505af1158015612ece573d5f5f3e3d5ffd5b505050505f612efe6040518060400160405280600a815260200169333932b2a9b2b73232b960b11b8152506174e2565b90505f612f2e6040518060400160405280600c81526020016b333932b2a83937b837b9b2b960a11b8152506174e2565b6022549091505f90612f4f90849084906001600160a01b03168760076177a6565b9050611574815f617ac5565b60215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b158015612fab575f5ffd5b505af1158015612fbd573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e09150612ff9906367cc38ef60e01b90600401618371565b5f604051808303815f87803b158015613010575f5ffd5b505af1158015613022573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b60208201526030549151631a3da6dd60e11b81526001600160a01b03948516965063347b4dba955061309094938416935f516020620100d85f395f51905f529316906004016186c7565b5f604051808303815f87803b1580156130a7575f5ffd5b505af11580156130b9573d5f5f3e3d5ffd5b505060405163248e63e160e11b8152600160048201819052602482018190525f604483015260648201525f516020620100b85f395f51905f52925063491cc7c291506084015f604051808303815f87803b158015613115575f5ffd5b505af1158015613127573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152905163241ab4c560e11b81525f95506001600160a01b039384169450634835698a936131909316915f516020620100d85f395f51905f5291600401618665565b602060405180830381865afa1580156131ab573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131cf919061863c565b602d54602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015290519394506001600160a01b03928316935f516020620100d85f395f51905f529386937f6176bed8b34e20579b664c32ad00534f173e1f7c4410232beef89bed4464ddc09361324993929091169161834e565b60405180910390a460215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b1580156132a1575f5ffd5b505af11580156132b3573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152602d549151631a3da6dd60e11b81526001600160a01b03948516965063347b4dba9550611f1b94938416935f516020620100d85f395f51905f529316906004016186c7565b6060601b805480602002602001604051908101604052809291908181526020015f905b82821015611a5c578382905f5260205f2090600202016040518060400160405290815f82018054613374906183b9565b80601f01602080910402602001604051908101604052809291908181526020018280546133a0906183b9565b80156133eb5780601f106133c2576101008083540402835291602001916133eb565b820191905f5260205f20905b8154815290600101906020018083116133ce57829003601f168201915b505050505081526020016001820180548060200260200160405190810160405280929190818152602001828054801561346d57602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161342f5790505b50505050508152505081526020019060010190613344565b601f5460405163ca669fa760e01b81526101009091046001600160a01b031660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b1580156134d9575f5ffd5b505af11580156134eb573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e09150613527906367cc38ef60e01b90600401618371565b5f604051808303815f87803b15801561353e575f5ffd5b505af1158015613550573d5f5f3e3d5ffd5b5050602854603054604051631fa50cef60e01b81526001600160a01b03918216600482015291169250631fa50cef91506024015f604051808303815f87803b15801561359a575f5ffd5b505af11580156135ac573d5f5f3e3d5ffd5b505050505f6040516135bd90617eb8565b604051809103905ff0801580156135d6573d5f5f3e3d5ffd5b50601f5460405163ca669fa760e01b81526101009091046001600160a01b031660048201529091505f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b15801561362e575f5ffd5b505af1158015613640573d5f5f3e3d5ffd5b505060405163248e63e160e11b81526001600482018190525f60248301819052604483015260648201525f516020620100b85f395f51905f52925063491cc7c291506084015f604051808303815f87803b15801561369c575f5ffd5b505af11580156136ae573d5f5f3e3d5ffd5b50506040516001600160a01b03841692507fe983c4450684b2324d78afaa992b88be67cf4d3919d7a6539ca774d7bb5189f491505f90a2602854604051631fa50cef60e01b81526001600160a01b03838116600483015290911690631fa50cef90602401611f1b565b604051630618f58760e51b81525f516020620100b85f395f51905f529063c31eb0e09061374f90630f3c7c2760e01b90600401618371565b5f604051808303815f87803b158015613766575f5ffd5b505af1158015613778573d5f5f3e3d5ffd5b5050602854604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015260305491516311df92f160e01b81526001600160a01b0393841695506311df92f194506137e5935f516020620100d85f395f51905f52934293929116905f90600401618706565b6020604051808303815f875af1158015613801573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613825919061863c565b506022545f9061383f906001600160a01b031642836174f3565b9050613854816801158e460913d00000617a60565b50565b602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b60208201529051633ba373d760e11b81525f936001600160a01b0390811693637746e7ae936138bf9391909216915f516020620100d85f395f51905f5291600401618665565b602060405180830381865afa1580156138da573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138fe9190618724565b905061390a815f617afe565b60215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b15801561395a575f5ffd5b505af115801561396c573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152602b549151631a3da6dd60e11b81526001600160a01b03948516965063347b4dba95506139da94938416935f516020620100d85f395f51905f529316906004016186c7565b5f604051808303815f87803b1580156139f1575f5ffd5b505af1158015613a03573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b60208201529051633ba373d760e11b81526001600160a01b039384169550637746e7ae9450613a6d93909216915f516020620100d85f395f51905f529190600401618665565b602060405180830381865afa158015613a88573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613aac9190618724565b602b549091506138549082906001600160a01b0316617afe565b602854604080516331e3bca360e21b815290515f516020620100b85f395f51905f529263f28dceb39263e2517d3f60e01b9230926001600160a01b03169163c78ef28c9160048083019260209291908290030181865afa158015613b2c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613b50919061863c565b604051602401613b61929190618238565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e084901b9092168252613ba691600401618653565b5f604051808303815f87803b158015613bbd575f5ffd5b505af1158015613bcf573d5f5f3e3d5ffd5b5050602854604051631976674f60e11b8152611c2060048201526001600160a01b0390911692506332ecce9e91506024015f604051808303815f87803b158015613c17575f5ffd5b505af1158015613c29573d5f5f3e3d5ffd5b5050601f5460405163ca669fa760e01b81526101009091046001600160a01b031660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015613c81575f5ffd5b505af1158015613c93573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e09150613ccf9063fa050ec160e01b90600401618371565b5f604051808303815f87803b158015613ce6575f5ffd5b505af1158015613cf8573d5f5f3e3d5ffd5b5050602854604051631976674f60e11b81525f60048201526001600160a01b0390911692506332ecce9e91506024015f604051808303815f87803b158015613d3e575f5ffd5b505af1158015613d50573d5f5f3e3d5ffd5b5050601f5460405163ca669fa760e01b81526101009091046001600160a01b031660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015613da8575f5ffd5b505af1158015613dba573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e09150613df69063cb40339f60e01b90600401618371565b5f604051808303815f87803b158015613e0d575f5ffd5b505af1158015613e1f573d5f5f3e3d5ffd5b5050602854604051631976674f60e11b81525f1960048201526001600160a01b0390911692506332ecce9e91506024015f604051808303815f87803b158015613e66575f5ffd5b505af1158015613e78573d5f5f3e3d5ffd5b5050601f5460405163ca669fa760e01b81526101009091046001600160a01b031660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015613ed0575f5ffd5b505af1158015613ee2573d5f5f3e3d5ffd5b5050602854604051631976674f60e11b815261546060048201526001600160a01b0390911692506332ecce9e91506024015f604051808303815f87803b158015613f2a575f5ffd5b505af1158015613f3c573d5f5f3e3d5ffd5b50505050613fbf60285f9054906101000a90046001600160a01b03166001600160a01b03166391152f106040518163ffffffff1660e01b8152600401602060405180830381865afa158015613f93573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613fb7919061863c565b615460617a60565b565b6028546040805163047fe10960e51b815290516140a7926001600160a01b031691638ffc21209160048083019260209291908290030181865afa15801561400a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061402e919061863c565b60285f9054906101000a90046001600160a01b03166001600160a01b031663a217fddf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561407e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906140a2919061863c565b617b40565b6028546040805163a217fddf60e01b81529051614191926001600160a01b0316916391d1485491839163a217fddf9160048083019260209291908290030181865afa1580156140f8573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061411c919061863c565b60205460405160e084901b6001600160e01b031916815260048101929092526001600160a01b031660248201526044015b602060405180830381865afa158015614168573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061418c919061873f565b617b79565b6028546040805163a217fddf60e01b81529051614280926001600160a01b0316916391d1485491839163a217fddf9160048083019260209291908290030181865afa1580156141e2573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614206919061863c565b601f5460405160e084901b6001600160e01b0319168152600481019290925261010090046001600160a01b031660248201526044015b602060405180830381865afa158015614257573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061427b919061873f565b617bd0565b602854604080516331e3bca360e21b8152905161432e926001600160a01b03169163248a9ca391839163c78ef28c9160048083019260209291908290030181865afa1580156142d1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906142f5919061863c565b6040518263ffffffff1660e01b815260040161431391815260200190565b602060405180830381865afa15801561400a573d5f5f3e3d5ffd5b602854604080516379c7ee0160e11b81529051613fbf926001600160a01b03169163248a9ca391839163f38fdc029160048083019260209291908290030181865afa15801561437f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906143a3919061863c565b6040518263ffffffff1660e01b81526004016143c191815260200190565b602060405180830381865afa1580156143dc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614400919061863c565b60285f9054906101000a90046001600160a01b03166001600160a01b031663c78ef28c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561407e573d5f5f3e3d5ffd5b6060601a805480602002602001604051908101604052809291908181526020015f905b82821015611a5c578382905f5260205f20018054614490906183b9565b80601f01602080910402602001604051908101604052809291908181526020018280546144bc906183b9565b80156145075780601f106144de57610100808354040283529160200191614507565b820191905f5260205f20905b8154815290600101906020018083116144ea57829003601f168201915b505050505081526020019060010190614473565b6060601d805480602002602001604051908101604052809291908181526020015f905b82821015611a5c575f8481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156145e457602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116145a65790505b5050505050815250508152602001906001019061453e565b602854604080516379c7ee0160e11b815290515f926001600160a01b03169163f38fdc029160048083019260209291908290030181865afa158015614643573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614667919061863c565b602854604080516331e3bca360e21b81529051929350611234925f516020620100b85f395f51905f529263f28dceb39263e2517d3f60e01b9230926001600160a01b03169163c78ef28c9160048083019260209291908290030181865afa1580156146d4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906146f8919061863c565b604051602401614709929190618238565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e084901b909216825261474e91600401618653565b5f604051808303815f87803b158015614765575f5ffd5b505af1158015614777573d5f5f3e3d5ffd5b5050602854604051635b66dc7760e11b81526001600160a01b038581166004830152909116925063b6cdb8ee91506024015f604051808303815f87803b1580156147bf575f5ffd5b505af11580156147d1573d5f5f3e3d5ffd5b5050601f546040516303223eab60e11b81526101009091046001600160a01b031660048201525f516020620100b85f395f51905f5292506306447d5691506024015f604051808303815f87803b158015614829575f5ffd5b505af115801561483b573d5f5f3e3d5ffd5b505060405163248e63e160e11b81526001600482018190525f60248301819052604483015260648201525f516020620100b85f395f51905f52925063491cc7c291506084015f604051808303815f87803b158015614897575f5ffd5b505af11580156148a9573d5f5f3e3d5ffd5b5050601f546040516001600160a01b0361010090920482169350908416915084907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d905f90a4602854604051635b66dc7760e11b81526001600160a01b0383811660048301529091169063b6cdb8ee906024015f604051808303815f87803b158015614933575f5ffd5b505af1158015614945573d5f5f3e3d5ffd5b505050505f516020620100b85f395f51905f526001600160a01b03166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561498f575f5ffd5b505af11580156149a1573d5f5f3e3d5ffd5b5050602854604051632474521560e21b8152600481018690526001600160a01b0385811660248301526149e2945090911691506391d148549060440161414d565b601f546040516303223eab60e11b81526101009091046001600160a01b031660048201525f516020620100b85f395f51905f52906306447d56906024015f604051808303815f87803b158015614a36575f5ffd5b505af1158015614a48573d5f5f3e3d5ffd5b505060405163248e63e160e11b81526001600482018190525f60248301819052604483015260648201525f516020620100b85f395f51905f52925063491cc7c291506084015f604051808303815f87803b158015614aa4575f5ffd5b505af1158015614ab6573d5f5f3e3d5ffd5b5050601f546040516001600160a01b0361010090920482169350908416915084907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b905f90a4602854604051631480db3960e01b81526001600160a01b03838116600483015290911690631480db39906024015f604051808303815f87803b158015614b40575f5ffd5b505af1158015614b52573d5f5f3e3d5ffd5b505050505f516020620100b85f395f51905f526001600160a01b03166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015614b9c575f5ffd5b505af1158015614bae573d5f5f3e3d5ffd5b5050602854604051632474521560e21b8152600481018690526001600160a01b0385811660248301526123ee945090911691506391d148549060440161423c565b601f5460405163ca669fa760e01b81526101009091046001600160a01b031660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b158015614c43575f5ffd5b505af1158015614c55573d5f5f3e3d5ffd5b505060405163248e63e160e11b81526001600482018190525f60248301819052604483015260648201525f516020620100b85f395f51905f52925063491cc7c291506084015f604051808303815f87803b158015614cb1575f5ffd5b505af1158015614cc3573d5f5f3e3d5ffd5b505060305460408051671bc16d674ec8000081526729a2241af62c000060208201526001600160a01b0390921693507f143b6bf2ebf8381dc4db7edfc69b944d4a518b2be84f1d6230aecb2b698100e492500160405180910390a2602854603054604080518082018252671bc16d674ec8000081526729a2241af62c000060208201529051632c22f34560e11b81526001600160a01b0393841693635845e68a9361154b93911691600401618386565b6022544290614d8c906001600160a01b0316825f6174f3565b5060215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b158015614ddd575f5ffd5b505af1158015614def573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e09150614e2b906337d02b5d60e21b90600401618371565b5f604051808303815f87803b158015614e42575f5ffd5b505af1158015614e54573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152905163034c176760e51b81526001600160a01b039384169550636982ece09450614ec193909216915f516020620100d85f395f51905f529190600190600401618758565b5f604051808303815f87803b158015614ed8575f5ffd5b505af1158015614eea573d5f5f3e3d5ffd5b505060215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015614f3e575f5ffd5b505af1158015614f50573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e09150614f8c9063cb40339f60e01b90600401618371565b5f604051808303815f87803b158015614fa3575f5ffd5b505af1158015614fb5573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152905163034c176760e51b81526001600160a01b039384169550636982ece0945061502593909216915f516020620100d85f395f51905f52919063bb74480090600401618758565b5f604051808303815f87803b15801561503c575f5ffd5b505af115801561504e573d5f5f3e3d5ffd5b505060405163248e63e160e11b8152600160048201819052602482018190526044820181905260648201525f516020620100b85f395f51905f52925063491cc7c291506084015f604051808303815f87803b1580156150ab575f5ffd5b505af11580156150bd573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152905163241ab4c560e11b81525f95506001600160a01b039384169450634835698a936151269316915f516020620100d85f395f51905f5291600401618665565b602060405180830381865afa158015615141573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190615165919061863c565b602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015290519293505f516020620100d85f395f51905f52926001600160a01b039092169184917fc5314bcb93c25473b858a5086195e309861a64b4c3ddae4d0a5cb9c5fb6f30f4916151dc9190612a309061878f565b60405180910390a460215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b158015615234575f5ffd5b505af1158015615246573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152905163034c176760e51b81526001600160a01b039384169550636982ece094506152b493909216915f516020620100d85f395f51905f529190612a3090600401618758565b5f604051808303815f87803b1580156152cb575f5ffd5b505af11580156152dd573d5f5f3e3d5ffd5b505f516020620100b85f395f51905f52925063e5d6bf029150615303905084600a6187b0565b6040518263ffffffff1660e01b815260040161532191815260200190565b5f604051808303815f87803b158015615338575f5ffd5b505af115801561534a573d5f5f3e3d5ffd5b505060265460245460225461537494506001600160a01b039283169350908216911685607b6177a6565b50602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152905163a9904f9b60e01b81525f936001600160a01b039081169363a9904f9b936153df9392909116915f516020620100d85f395f51905f52918991600401618434565b61020060405180830381865afa1580156153fb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061541f9190618591565b9050611c888160e0015142612a3061543791906187b0565b617a60565b6060601c805480602002602001604051908101604052809291908181526020015f905b82821015611a5c575f8481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561550557602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116154c75790505b5050505050815250508152602001906001019061545f565b60606019805480602002602001604051908101604052809291908181526020015f905b82821015611a5c578382905f5260205f2001805461555d906183b9565b80601f0160208091040260200160405190810160405280929190818152602001828054615589906183b9565b80156155d45780601f106155ab576101008083540402835291602001916155d4565b820191905f5260205f20905b8154815290600101906020018083116155b757829003601f168201915b505050505081526020019060010190615540565b602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b60208201529051635312d80f60e11b81525f9384936001600160a01b039182169363a625b01e9361565293909216915f516020620100d85f395f51905f529190600401618665565b5f60405180830381865afa15801561566c573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261569391908101906187d5565b915091506156a081617b79565b6156ac82516002617a60565b604051630618f58760e51b81525f516020620100b85f395f51905f529063c31eb0e0906156e490630f3c7c2760e01b90600401618371565b5f604051808303815f87803b1580156156fb575f5ffd5b505af115801561570d573d5f5f3e3d5ffd5b5050602854604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015260305491516311df92f160e01b81526001600160a01b0393841695506311df92f1945061577a935f516020620100d85f395f51905f52934293929116905f90600401618706565b6020604051808303815f875af1158015615796573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906157ba919061863c565b50602854604080516331e3bca360e21b815290515f926001600160a01b03169163c78ef28c9160048083019260209291908290030181865afa158015615802573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190615826919061863c565b90505f60285f9054906101000a90046001600160a01b03166001600160a01b031663f38fdc026040518163ffffffff1660e01b8152600401602060405180830381865afa158015615879573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061589d919061863c565b602854601f54604051632474521560e21b8152600481018690526001600160a01b03610100909204821660248201529293506158e4929116906391d148549060440161414d565b60285460405163248a9ca360e01b815260048101839052611574916001600160a01b03169063248a9ca390602401602060405180830381865afa15801561592d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190615951919061863c565b83617b40565b6008545f9060ff161561596e575060085460ff1690565b604051630667f9d760e41b81525f905f516020620100b85f395f51905f529063667f9d70906159cc907f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d906519985a5b195960d21b90600401618238565b602060405180830381865afa1580156159e7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190615a0b919061863c565b1415905090565b602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152905163241ab4c560e11b81525f936001600160a01b0390811693634835698a93615a7a9391909216915f516020620100d85f395f51905f5291600401618665565b602060405180830381865afa158015615a95573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190615ab9919061863c565b602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b60208083019190915291519394505f93615b0d936001600160a01b0316925f516020620100d85f395f51905f529291016188b3565b6040516020818303038152906040528051906020012090506123ee8282617b40565b5f615b5f6040518060400160405280600e81526020016d3732bba1b7b73334b3a0b236b4b760911b8152506174e2565b6020546040516303223eab60e11b81526001600160a01b0390911660048201529091505f516020620100b85f395f51905f52906306447d56906024015f604051808303815f87803b158015615bb2575f5ffd5b505af1158015615bc4573d5f5f3e3d5ffd5b5050602854604080516331e3bca360e21b815290516001600160a01b039092169350632f2ff15d9250839163c78ef28c916004808201926020929091908290030181865afa158015615c18573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190615c3c919061863c565b6040516001600160e01b031960e084901b16815260048101919091526001600160a01b03841660248201526044015f604051808303815f87803b158015615c81575f5ffd5b505af1158015615c93573d5f5f3e3d5ffd5b5050602854604080516331e3bca360e21b815290516001600160a01b03909216935063d547741f9250839163c78ef28c916004808201926020929091908290030181865afa158015615ce7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190615d0b919061863c565b601f5460405160e084901b6001600160e01b0319168152600481019290925261010090046001600160a01b031660248201526044015f604051808303815f87803b158015615d57575f5ffd5b505af1158015615d69573d5f5f3e3d5ffd5b505050505f516020620100b85f395f51905f526001600160a01b03166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015615db3575f5ffd5b505af1158015615dc5573d5f5f3e3d5ffd5b5050602854604080516331e3bca360e21b81529051615e7394506001600160a01b0390921692506391d1485491839163c78ef28c9160048083019260209291908290030181865afa158015615e1c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190615e40919061863c565b6040516001600160e01b031960e084901b16815260048101919091526001600160a01b038516602482015260440161414d565b602854604080516331e3bca360e21b81529051613854926001600160a01b0316916391d1485491839163c78ef28c9160048083019260209291908290030181865afa1580156141e2573d5f5f3e3d5ffd5b602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b60208201529051635312d80f60e11b81525f9384936001600160a01b039182169363a625b01e93615f2e93909216915f516020620100d85f395f51905f529190600401618665565b5f60405180830381865afa158015615f48573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052615f6f91908101906187d5565b91509150615f7c81617b79565b615f8882516002617a60565b60215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b158015615fd8575f5ffd5b505af1158015615fea573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152602d549151631a3da6dd60e11b81526001600160a01b03948516965063347b4dba955061605894938416935f516020620100d85f395f51905f529316906004016186c7565b5f604051808303815f87803b15801561606f575f5ffd5b505af1158015616081573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b60208201529051635312d80f60e11b81526001600160a01b03938416955063a625b01e94506160eb93909216915f516020620100d85f395f51905f529190600401618665565b5f60405180830381865afa158015616105573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261612c91908101906187d5565b909250905061613a81617bd0565b6123ee82515f617a60565b602254429061615e906001600160a01b0316825f6174f3565b5060215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b1580156161af575f5ffd5b505af11580156161c1573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152602d549151631a3da6dd60e11b81526001600160a01b03948516965063347b4dba955061622f94938416935f516020620100d85f395f51905f529316906004016186c7565b5f604051808303815f87803b158015616246575f5ffd5b505af1158015616258573d5f5f3e3d5ffd5b505050505f6162886040518060400160405280600a815260200169333932b2a9b2b73232b960b11b8152506174e2565b90505f6162b86040518060400160405280600c81526020016b333932b2a83937b837b9b2b960a11b8152506174e2565b6022549091506162d790839083906001600160a01b03168660076177a6565b5060215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b158015616328575f5ffd5b505af115801561633a573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b60208201529051631a3da6dd60e11b81526001600160a01b03938416955063347b4dba94506163a693909216915f516020620100d85f395f51905f5291905f906004016186c7565b5f604051808303815f87803b1580156163bd575f5ffd5b505af11580156163cf573d5f5f3e3d5ffd5b505060405163ca669fa760e01b81526001600160a01b03851660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b15801561641f575f5ffd5b505af1158015616431573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e0915061646d90636ffe5a9560e01b90600401618371565b5f604051808303815f87803b158015616484575f5ffd5b505af1158015616496573d5f5f3e3d5ffd5b50506028546022546001600160a01b039182169350637c82288f92508491165f516020620100d85f395f51905f526164cf8860016187b0565b6040518060400160405280600b81526020016a0e9b595b5bce881d195cdd60aa1b81525060016040518763ffffffff1660e01b8152600401616516969594939291906188dc565b6020604051808303815f875af1158015616532573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611574919061863c565b6060601580548060200260200160405190810160405280929190818152602001828054801561191f57602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311611901575050505050905090565b5f6165dd604051806040016040528060078152602001663a32b6b826b3b960c91b8152506174e2565b601f546040516303223eab60e11b81526101009091046001600160a01b031660048201529091505f516020620100b85f395f51905f52906306447d56906024015f604051808303815f87803b158015616634575f5ffd5b505af1158015616646573d5f5f3e3d5ffd5b5050602854604051635b66dc7760e11b81526001600160a01b038581166004830152909116925063b6cdb8ee91506024015f604051808303815f87803b15801561668e575f5ffd5b505af11580156166a0573d5f5f3e3d5ffd5b5050602854604051631480db3960e01b81526001600160a01b0385811660048301529091169250631480db3991506024015f604051808303815f87803b1580156166e8575f5ffd5b505af11580156166fa573d5f5f3e3d5ffd5b505050505f516020620100b85f395f51905f526001600160a01b03166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015616744575f5ffd5b505af1158015616756573d5f5f3e3d5ffd5b50506040516303223eab60e11b81526001600160a01b03841660048201525f516020620100b85f395f51905f5292506306447d5691506024015f604051808303815f87803b1580156167a6575f5ffd5b505af11580156167b8573d5f5f3e3d5ffd5b505050505f516020620100b85f395f51905f526001600160a01b031663f48448146040518163ffffffff1660e01b81526004015f604051808303815f87803b158015616802575f5ffd5b505af1158015616814573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b6020820152905163034c176760e51b81526001600160a01b039384169550636982ece0945061688293909216915f516020620100d85f395f51905f529190611c2090600401618758565b5f604051808303815f87803b158015616899575f5ffd5b505af11580156168ab573d5f5f3e3d5ffd5b505050505f516020620100b85f395f51905f526001600160a01b03166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611f32575f5ffd5b602254429061690e906001600160a01b0316825f6174f3565b506026546024546022545f92616937926001600160a01b0391821692908216911685602a6177a6565b9050616943815f617ac5565b5f516020620100b85f395f51905f5263e5d6bf026169628460016187b0565b6040518263ffffffff1660e01b815260040161698091815260200190565b5f604051808303815f87803b158015616997575f5ffd5b505af11580156169a9573d5f5f3e3d5ffd5b50506022546169c592506001600160a01b03169050425f6174f3565b506026546169db906001600160a01b0316617c03565b604051630618f58760e51b81525f516020620100b85f395f51905f529063c31eb0e090616a1390636ffe5a9560e01b90600401618371565b5f604051808303815f87803b158015616a2a575f5ffd5b505af1158015616a3c573d5f5f3e3d5ffd5b505060265460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015616a90575f5ffd5b505af1158015616aa2573d5f5f3e3d5ffd5b50506028546025546022546001600160a01b039283169450637c82288f935090821691165f516020620100d85f395f51905f52616ae08760016187b0565b6040518060400160405280600b81526020016a0e9b595b5bce881d195cdd60aa1b81525060016040518763ffffffff1660e01b8152600401616b27969594939291906188dc565b6020604051808303815f875af1158015616b43573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190616b67919061863c565b505f516020620100b85f395f51905f5263e5d6bf02616b878460026187b0565b6040518263ffffffff1660e01b8152600401616ba591815260200190565b5f604051808303815f87803b158015616bbc575f5ffd5b505af1158015616bce573d5f5f3e3d5ffd5b5050602254616bea92506001600160a01b03169050425f6174f3565b50602754616c00906001600160a01b0316617c03565b604051630618f58760e51b81525f516020620100b85f395f51905f529063c31eb0e090616c3890637ed449a960e01b90600401618371565b5f604051808303815f87803b158015616c4f575f5ffd5b505af1158015616c61573d5f5f3e3d5ffd5b505060275460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015616cb5575f5ffd5b505af1158015616cc7573d5f5f3e3d5ffd5b50506028546024546022546001600160a01b039283169450637c82288f935090821691165f516020620100d85f395f51905f52616d058760026187b0565b6040518060400160405280600b81526020016a0e9b595b5bce881d195cdd60aa1b81525060016040518763ffffffff1660e01b8152600401616d4c969594939291906188dc565b6020604051808303815f875af1158015616d68573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c88919061863c565b602854604080516331e3bca360e21b815290515f516020620100b85f395f51905f529263f28dceb39263e2517d3f60e01b9230926001600160a01b03169163c78ef28c9160048083019260209291908290030181865afa158015616df2573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190616e16919061863c565b604051602401616e27929190618238565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e084901b9092168252616e6c91600401618653565b5f604051808303815f87803b158015616e83575f5ffd5b505af1158015616e95573d5f5f3e3d5ffd5b505060285460305460408051808201825260018152600260208201529051632c22f34560e11b81526001600160a01b039384169550635845e68a9450616ee19390921691600401618386565b5f604051808303815f87803b158015616ef8575f5ffd5b505af1158015616f0a573d5f5f3e3d5ffd5b505050505f516020620100b85f395f51905f526001600160a01b031663f28dceb363e2517d3f60e01b3060285f9054906101000a90046001600160a01b03166001600160a01b031663c78ef28c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015616f84573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190616fa8919061863c565b604051602401616fb9929190618238565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e084901b9092168252616ffe91600401618653565b5f604051808303815f87803b158015617015575f5ffd5b505af1158015617027573d5f5f3e3d5ffd5b5050602854604051631976674f60e11b8152600160048201526001600160a01b0390911692506332ecce9e91506024015f604051808303815f87803b15801561706e575f5ffd5b505af1158015617080573d5f5f3e3d5ffd5b505050505f516020620100b85f395f51905f526001600160a01b031663f28dceb363e2517d3f60e01b3060285f9054906101000a90046001600160a01b03166001600160a01b031663c78ef28c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156170fa573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061711e919061863c565b60405160240161712f929190618238565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e084901b909216825261717491600401618653565b5f604051808303815f87803b15801561718b575f5ffd5b505af115801561719d573d5f5f3e3d5ffd5b5050602854602b54604051631fa50cef60e01b81526001600160a01b03918216600482015291169250631fa50cef91506024015f604051808303815f87803b1580156171e7575f5ffd5b505af11580156171f9573d5f5f3e3d5ffd5b505050505f516020620100b85f395f51905f526001600160a01b031663f28dceb363e2517d3f60e01b3060285f9054906101000a90046001600160a01b03166001600160a01b031663c78ef28c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015617273573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190617297919061863c565b6040516024016172a8929190618238565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e084901b90921682526172ed91600401618653565b5f604051808303815f87803b158015617304575f5ffd5b505af1158015617316573d5f5f3e3d5ffd5b5050602854602c546040516335c10e8360e11b81526001600160a01b03918216600482015291169250636b821d06915060240161154b565b602a5460315460405163e43252d760e01b81526001600160a01b03918216600482015291169063e43252d7906024015f604051808303815f87803b158015617394575f5ffd5b505af11580156173a6573d5f5f3e3d5ffd5b505060215460405163ca669fa760e01b81526001600160a01b0390911660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b1580156173fa575f5ffd5b505af115801561740c573d5f5f3e3d5ffd5b5050604051630618f58760e51b81525f516020620100b85f395f51905f52925063c31eb0e0915061744890631f7b5d6160e01b90600401618371565b5f604051808303815f87803b15801561745f575f5ffd5b505af1158015617471573d5f5f3e3d5ffd5b5050602854602254604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015260315491516393ae2ebd60e01b81526001600160a01b0394851696506393ae2ebd955061154b94938416935f516020620100d85f395f51905f529316906001906004016183f1565b5f6174ec82617da8565b5092915050565b60405163ca669fa760e01b81526001600160a01b03841660048201525f905f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b158015617541575f5ffd5b505af1158015617553573d5f5f3e3d5ffd5b50506030546040516340c10f1960e01b81526001600160a01b0390911692506340c10f1991506175899087908690600401618238565b5f604051808303815f87803b1580156175a0575f5ffd5b505af11580156175b2573d5f5f3e3d5ffd5b505060405163ca669fa760e01b81526001600160a01b03871660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015617602575f5ffd5b505af1158015617614573d5f5f3e3d5ffd5b505060305460285460405163095ea7b360e01b81526001600160a01b03928316945063095ea7b3935061765092909116905f1990600401618238565b6020604051808303815f875af115801561766c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190617690919061873f565b5060405163ca669fa760e01b81526001600160a01b03851660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b1580156176dd575f5ffd5b505af11580156176ef573d5f5f3e3d5ffd5b5050602854604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b602082015260305491516311df92f160e01b81526001600160a01b0393841695506311df92f1945061775c935f516020620100d85f395f51905f52938a93929116908990600401618706565b6020604051808303815f875af1158015617778573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061779c919061863c565b90505b9392505050565b60405163ca669fa760e01b81526001600160a01b03861660048201525f905f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b1580156177f4575f5ffd5b505af1158015617806573d5f5f3e3d5ffd5b50506030546040516340c10f1960e01b81526001600160a01b0390911692506340c10f19915061784690899069021e19e0c9bab240000090600401618238565b5f604051808303815f87803b15801561785d575f5ffd5b505af115801561786f573d5f5f3e3d5ffd5b505060405163ca669fa760e01b81526001600160a01b03891660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b1580156178bf575f5ffd5b505af11580156178d1573d5f5f3e3d5ffd5b505060305460285460405163095ea7b360e01b81526001600160a01b03928316945063095ea7b3935061790d92909116905f1990600401618238565b6020604051808303815f875af1158015617929573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061794d919061873f565b5060405163ca669fa760e01b81526001600160a01b03871660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b15801561799a575f5ffd5b505af11580156179ac573d5f5f3e3d5ffd5b5050602854604080518082018252600b81526a0e9b595b5bce881d195cdd60aa1b60208201529051637c82288f60e01b81526001600160a01b039092169350637c82288f9250617a1691899189915f516020620100d85f395f51905f52918a918a906004016188dc565b6020604051808303815f875af1158015617a32573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190617a56919061863c565b9695505050505050565b60405163260a5b1560e21b815260048101839052602481018290525f516020620100b85f395f51905f52906398296c54906044015b5f6040518083038186803b158015617aab575f5ffd5b505afa158015617abd573d5f5f3e3d5ffd5b505050505050565b604051636d83fe6960e11b815260048101839052602481018290525f516020620100b85f395f51905f529063db07fcd290604401617a95565b6040516328a9b0fb60e11b81526001600160a01b038084166004830152821660248201525f516020620100b85f395f51905f529063515361f690604401617a95565b604051637c84c69b60e01b815260048101839052602481018290525f516020620100b85f395f51905f5290637c84c69b90604401617a95565b604051630c9fd58160e01b815281151560048201525f516020620100b85f395f51905f5290630c9fd581906024015b5f6040518083038186803b158015617bbe575f5ffd5b505afa158015611f44573d5f5f3e3d5ffd5b60405163a598288560e01b815281151560048201525f516020620100b85f395f51905f529063a598288590602401617ba8565b60405163ca669fa760e01b81526001600160a01b03821660048201525f516020620100b85f395f51905f529063ca669fa7906024015f604051808303815f87803b158015617c4f575f5ffd5b505af1158015617c61573d5f5f3e3d5ffd5b50506030546040516340c10f1960e01b81526001600160a01b0390911692506340c10f199150617ca190849069021e19e0c9bab240000090600401618238565b5f604051808303815f87803b158015617cb8575f5ffd5b505af1158015617cca573d5f5f3e3d5ffd5b505060405163ca669fa760e01b81526001600160a01b03841660048201525f516020620100b85f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015617d1a575f5ffd5b505af1158015617d2c573d5f5f3e3d5ffd5b505060305460285460405163095ea7b360e01b81526001600160a01b03928316945063095ea7b39350617d6892909116905f1990600401618238565b6020604051808303815f875af1158015617d84573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123ee919061873f565b5f5f82604051602001617dbb9190618928565b60408051808303601f190181529082905280516020909101206001625e79b760e01b031982526004820181905291505f516020620100b85f395f51905f529063ffa1864990602401602060405180830381865afa158015617e1e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190617e429190618724565b6040516318caf8e360e31b81529092505f516020620100b85f395f51905f529063c657c71890617e78908590879060040161834e565b5f604051808303815f87803b158015617e8f575f5ffd5b505af1158015617ea1573d5f5f3e3d5ffd5b50505050915091565b6101e7806200893483390190565b6107768062008b1b83390190565b61023f806200929183390190565b61014b80620094d083390190565b6102da806200961b83390190565b61097480620098f583390190565b615a80806200a26983390190565b60405180604001604052805f6001600160a01b03168152602001617f5360405180604001604052805f6001600160801b031681526020015f6001600160801b031681525090565b905290565b6103cf806200fce983390190565b602080825282518282018190525f918401906040840190835b81811015617fa65783516001600160a01b0316835260209384019390920191600101617f7f565b509095945050505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561809c57603f19878603018452815180516001600160a01b03168652602090810151604082880181905281519088018190529101906060600582901b8801810191908801905f5b8181101561808257605f198a850301835261806c848651617fb1565b6020958601959094509290920191600101618050565b509197505050602094850194929092019150600101618005565b50929695505050505050565b5f8151808452602084019350602083015f5b828110156180e25781516001600160e01b0319168652602095860195909101906001016180ba565b5093949350505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561809c57603f1987860301845281518051604087526181386040880182617fb1565b905060208201519150868103602088015261815381836180a8565b965050506020938401939190910190600101618112565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561809c57603f198786030184526181ac858351617fb1565b94506020938401939190910190600101618190565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561809c57868503603f19018452815180516001600160a01b03168652602090810151604091870182905290618222908701826180a8565b95505060209384019391909101906001016181e7565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b62ffffff891681526001600160a01b03888116602080840191909152888216604084015290871660608301526101006080830181905286519083018190525f91870190610120840190835b8181101561830e57835180516001600160a01b0316845260209081015180516001600160801b039081168387015290820151166040850152909301926060909201916001016182c4565b505061ffff871660a085015291506183239050565b6001600160a01b03841660c08301526001600160a01b03831660e08301529998505050505050505050565b6001600160a01b03831681526040602082018190525f9061779c90830184617fb1565b6001600160e01b031991909116815260200190565b6001600160a01b03831681526060810161779f602083018480516001600160801b03908116835260209182015116910152565b600181811c908216806183cd57607f821691505b6020821081036183eb57634e487b7160e01b5f52602260045260245ffd5b50919050565b60018060a01b038616815284602082015260a060408201525f61841760a0830186617fb1565b6001600160a01b0394909416606083015250608001529392505050565b60018060a01b0385168152836020820152826040820152608060608201525f617a566080830184617fb1565b604051610140810167ffffffffffffffff8111828210171561848457618484618251565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156184b3576184b3618251565b604052919050565b6001600160a01b0381168114613854575f5ffd5b80516184da816184bb565b919050565b805180151581146184da575f5ffd5b5f60e082840312156184fe575f5ffd5b60405160e0810167ffffffffffffffff8111828210171561852157618521618251565b604052905080618530836184df565b815261853e602084016184df565b602082015261854f604084016184df565b6040820152618560606084016184df565b6060820152618571608084016184df565b608082015260a0838101519082015260c092830151920191909152919050565b5f6102008284031280156185a3575f5ffd5b506185ac618460565b6185b5836184cf565b81526185c3602084016184cf565b60208201526185d4604084016184cf565b60408201526185e5606084016184df565b60608201526185f784608085016184ee565b608082015261016083015160a082015261018083015160c08201526101a083015160e08201526101c08301516101008201526101e09092015161012083015250919050565b5f6020828403121561864c575f5ffd5b5051919050565b602081525f61779f6020830184617fb1565b60018060a01b0384168152826020820152606060408201525f61868b6060830184617fb1565b95945050505050565b6001600160a01b03841681526060602082018190525f906186b790830185617fb1565b9050826040830152949350505050565b60018060a01b0385168152836020820152608060408201525f6186ed6080830185617fb1565b905060018060a01b038316606083015295945050505050565b85815284602082015260a060408201525f61841760a0830186617fb1565b5f60208284031215618734575f5ffd5b815161779f816184bb565b5f6020828403121561874f575f5ffd5b61779f826184df565b60018060a01b0385168152836020820152608060408201525f61877e6080830185617fb1565b905082606083015295945050505050565b604081525f6187a16040830185617fb1565b90508260208301529392505050565b808201808211156187cf57634e487b7160e01b5f52601160045260245ffd5b92915050565b5f5f604083850312156187e6575f5ffd5b825167ffffffffffffffff8111156187fc575f5ffd5b8301601f8101851361880c575f5ffd5b805167ffffffffffffffff81111561882657618826618251565b8060051b6188366020820161848a565b91825260208184018101929081019088841115618851575f5ffd5b6020850194505b8385101561887f578451925061886d836184bb565b82825260209485019490910190618858565b8096505050505050618893602084016184df565b90509250929050565b5f81518060208401855e5f93019283525090919050565b6bffffffffffffffffffffffff198460601b1681528260148201525f61868b603483018461889c565b6001600160a01b03878116825286166020820152604081018590526060810184905260c0608082018190525f9061891590830185617fb1565b90508260a0830152979650505050505050565b5f61779f828461889c56fe6080604052348015600e575f5ffd5b506101cb8061001c5f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c806331f9665e14610043578063aafd5e4014610080578063cc48f4db146100af575b5f5ffd5b61007e610051366004610145565b5f9182526020829052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b005b61009361008e36600461017e565b6100d7565b6040516001600160a01b03909116815260200160405180910390f35b6100936100bd36600461017e565b5f602081905290815260409020546001600160a01b031681565b5f818152602081905260408120546001600160a01b03168061013f5760405162461bcd60e51b815260206004820152601860248201527f496d706c656d656e746174696f6e206e6f7420666f756e640000000000000000604482015260640160405180910390fd5b92915050565b5f5f60408385031215610156575f5ffd5b8235915060208301356001600160a01b0381168114610173575f5ffd5b809150509250929050565b5f6020828403121561018e575f5ffd5b503591905056fea2646970667358221220e71b7f221fddfdc05118438e524facdd17805943c54f17b6639ee61fb1c4194264736f6c634300081e00336080604052348015600e575f5ffd5b503380603357604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b603a816051565b505f805460ff60a01b1916600160a01b17905560a0565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6106c9806100ad5f395ff3fe608060405234801561000f575f5ffd5b5060043610610090575f3560e01c80638ab1d681116100635780638ab1d681146100e05780638da5cb5b146100f3578063d01f63f51461010d578063e43252d714610122578063f2fde38b14610135575f5ffd5b806301ffc9a714610094578063184d69ab146100bc5780633a3ab672146100c3578063715018a6146100d6575b5f5ffd5b6100a76100a23660046105b4565b610148565b60405190151581526020015b60405180910390f35b60016100a7565b6100a76100d13660046105db565b61017e565b6100de610192565b005b6100de6100ee3660046105db565b6101a5565b5f546040516001600160a01b0390911681526020016100b3565b610115610229565b6040516100b39190610601565b6100de6101303660046105db565b610242565b6100de6101433660046105db565b6102c2565b5f6001600160e01b03198216634e759c3d60e11b148061017857506301ffc9a760e01b6001600160e01b03198316145b92915050565b5f610187610301565b610178600183610359565b61019a61037d565b6101a35f6103a9565b565b6101ad610301565b6101be5f805460ff60a01b19169055565b6101c661037d565b5f6101d26001836103f8565b9050801561020e576040516001600160a01b038316907fcdd2e9b91a56913d370075169cefa1602ba36be5301664f752192bb1709df757905f90a25b506102265f805460ff60a01b1916600160a01b179055565b50565b6060610233610301565b61023d600161040c565b905090565b61024a610301565b61025b5f805460ff60a01b19169055565b61026361037d565b5f61026f600183610418565b9050801561020e576040516001600160a01b038316907fa850ae9193f515cbae8d35e8925bd2be26627fc91bce650b8652ed254e9cab03905f90a2506102265f805460ff60a01b1916600160a01b179055565b6102ca61037d565b6001600160a01b0381166102f857604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610226816103a9565b5f54600160a01b900460ff166101a35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102ef565b6001600160a01b0381165f90815260018301602052604081205415155b9392505050565b5f546001600160a01b031633146101a35760405163118cdaa760e01b81523360048201526024016102ef565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f610376836001600160a01b03841661042c565b60605f6103768361050f565b5f610376836001600160a01b038416610568565b5f8181526001830160205260408120548015610506575f61044e60018361064c565b85549091505f906104619060019061064c565b90508082146104c0575f865f01828154811061047f5761047f61066b565b905f5260205f200154905080875f01848154811061049f5761049f61066b565b5f918252602080832090910192909255918252600188019052604090208390555b85548690806104d1576104d161067f565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610178565b5f915050610178565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561055c57602002820191905f5260205f20905b815481526020019060010190808311610548575b50505050509050919050565b5f8181526001830160205260408120546105ad57508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610178565b505f610178565b5f602082840312156105c4575f5ffd5b81356001600160e01b031981168114610376575f5ffd5b5f602082840312156105eb575f5ffd5b81356001600160a01b0381168114610376575f5ffd5b602080825282518282018190525f918401906040840190835b818110156106415783516001600160a01b031683526020938401939092019160010161061a565b509095945050505050565b8181038181111561017857634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffdfea264697066735822122017d19cb92913b1d48716ee47b65ab4e02ee922b90d01232dfa3dfd8cb8c5357c64736f6c634300081e00336080604052348015600e575f5ffd5b506102238061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610060575f3560e01c806301ffc9a714610064578063184d69ab1461008c5780633a3ab672146100925780638ab1d681146100a6578063d01f63f5146100bb578063e43252d7146100d3575b5f5ffd5b61007761007236600461014e565b6100e6565b60405190151581526020015b60405180910390f35b5f610077565b6100776100a036600461017c565b50600190565b6100b96100b436600461017c565b61011c565b005b604080515f81526020810191829052610083916101a2565b6100b96100e136600461017c565b610135565b5f6001600160e01b03198216634e759c3d60e11b148061011657506301ffc9a760e01b6001600160e01b03198316145b92915050565b60405163d338e07160e01b815260040160405180910390fd5b604051633d1e966960e01b815260040160405180910390fd5b5f6020828403121561015e575f5ffd5b81356001600160e01b031981168114610175575f5ffd5b9392505050565b5f6020828403121561018c575f5ffd5b81356001600160a01b0381168114610175575f5ffd5b602080825282518282018190525f918401906040840190835b818110156101e25783516001600160a01b03168352602093840193909201916001016101bb565b50909594505050505056fea2646970667358221220667dab0109ff277b9cda81b787fa528383a71dabba7a84e2b1268b068da774b264736f6c634300081e00336080604052348015600e575f5ffd5b5061012f8061001c5f395ff3fe6080604052348015600e575f5ffd5b50600436106044575f3560e01c806310a7e2011460485780637193f2f014606f5780638e0d3ca71460a257806390978d1b1460c4575b5f5ffd5b606d605336600460e3565b5f908152602081905260409020805460ff19166001179055565b005b608e607a36600460e3565b5f6020819052908152604090205460ff1681565b604051901515815260200160405180910390f35b606d60ad36600460e3565b5f908152602081905260409020805460ff19169055565b608e60cf36600460e3565b5f9081526020819052604090205460ff1690565b5f6020828403121560f2575f5ffd5b503591905056fea2646970667358221220d26d541b6c8bb85d71c8735b8b16e3b15f60223383f1ec0ee40c5871d6abac8964736f6c634300081e00336080604052348015600e575f5ffd5b506102be8061001c5f395ff3fe608060405260043610610054575f3560e01c80635b97aadd1461005857806374201feb146100b557806374df7f501461011c5780638659d23214610153578063a3e4cea114610171578063cd3a9b2414610151575b5f5ffd5b348015610063575f5ffd5b506100a16100723660046101c5565b60408051602080820183525f91829052825180820184526001600160a01b039490941682528190522054815290565b604051905181526020015b60405180910390f35b3480156100c0575f5ffd5b506101076100cf3660046101fb565b505060408051602080820183525f91829052825180820184528290528251808201845282815283519182019093529081529092909150565b604080519251835290516020830152016100ac565b348015610127575f5ffd5b5061015161013636600461022e565b6001600160a01b039091165f90815260208190526040902055565b005b34801561015e575f5ffd5b5061015161016d366004610256565b5050565b34801561017c575f5ffd5b5061019c61018b3660046101c5565b5f6020819052908152604090205481565b6040519081526020016100ac565b80356001600160a01b03811681146101c0575f5ffd5b919050565b5f602082840312156101d5575f5ffd5b6101de826101aa565b9392505050565b5f602082840312156101f5575f5ffd5b50919050565b5f5f5f6060848603121561020d575f5ffd5b833592506020840135915061022585604086016101e5565b90509250925092565b5f5f6040838503121561023f575f5ffd5b610248836101aa565b946020939093013593505050565b5f5f60408385031215610267575f5ffd5b610270836101aa565b915061027f84602085016101e5565b9050925092905056fea26469706673582212200a25a7607fa0fa639f23ed9d4094e8686abd62a82f4928d3273cfe2064ad372264736f6c634300081e0033608060405234801561000f575f5ffd5b506040518060400160405280600981526020016845524332304d6f636b60b81b815250604051806040016040528060048152602001634532304d60e01b815250816003908161005e919061010b565b50600461006b828261010b565b5050506101c5565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061009b57607f821691505b6020821081036100b957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561010657805f5260205f20601f840160051c810160208510156100e45750805b601f840160051c820191505b81811015610103575f81556001016100f0565b50505b505050565b81516001600160401b0381111561012457610124610073565b610138816101328454610087565b846100bf565b6020601f82116001811461016a575f83156101535750848201515b5f19600385901b1c1916600184901b178455610103565b5f84815260208120601f198516915b828110156101995787850151825560209485019460019092019101610179565b50848210156101b657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b6107a2806101d25f395ff3fe608060405234801561000f575f5ffd5b50600436106100a6575f3560e01c806340c10f191161006e57806340c10f191461011f57806370a082311461013457806395d89b411461015c5780639dc29fac14610164578063a9059cbb14610177578063dd62ed3e1461018a575f5ffd5b806306fdde03146100aa578063095ea7b3146100c857806318160ddd146100eb57806323b872dd146100fd578063313ce56714610110575b5f5ffd5b6100b26101c2565b6040516100bf9190610612565b60405180910390f35b6100db6100d6366004610662565b610252565b60405190151581526020016100bf565b6002545b6040519081526020016100bf565b6100db61010b36600461068a565b61026b565b604051601281526020016100bf565b61013261012d366004610662565b61028e565b005b6100ef6101423660046106c4565b6001600160a01b03165f9081526020819052604090205490565b6100b261029c565b610132610172366004610662565b6102ab565b6100db610185366004610662565b6102b5565b6100ef6101983660046106e4565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6060600380546101d190610715565b80601f01602080910402602001604051908101604052809291908181526020018280546101fd90610715565b80156102485780601f1061021f57610100808354040283529160200191610248565b820191905f5260205f20905b81548152906001019060200180831161022b57829003601f168201915b5050505050905090565b5f3361025f8185856102c2565b60019150505b92915050565b5f336102788582856102d4565b610283858585610355565b506001949350505050565b61029882826103b2565b5050565b6060600480546101d190610715565b61029882826103e6565b5f3361025f818585610355565b6102cf838383600161041a565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f1981101561034f578181101561034157604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b61034f84848484035f61041a565b50505050565b6001600160a01b03831661037e57604051634b637e8f60e11b81525f6004820152602401610338565b6001600160a01b0382166103a75760405163ec442f0560e01b81525f6004820152602401610338565b6102cf8383836104ec565b6001600160a01b0382166103db5760405163ec442f0560e01b81525f6004820152602401610338565b6102985f83836104ec565b6001600160a01b03821661040f57604051634b637e8f60e11b81525f6004820152602401610338565b610298825f836104ec565b6001600160a01b0384166104435760405163e602df0560e01b81525f6004820152602401610338565b6001600160a01b03831661046c57604051634a1406b160e11b81525f6004820152602401610338565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561034f57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104de91815260200190565b60405180910390a350505050565b6001600160a01b038316610516578060025f82825461050b919061074d565b909155506105869050565b6001600160a01b0383165f90815260208190526040902054818110156105685760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610338565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166105a2576002805482900390556105c0565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161060591815260200190565b60405180910390a3505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461065d575f5ffd5b919050565b5f5f60408385031215610673575f5ffd5b61067c83610647565b946020939093013593505050565b5f5f5f6060848603121561069c575f5ffd5b6106a584610647565b92506106b360208501610647565b929592945050506040919091013590565b5f602082840312156106d4575f5ffd5b6106dd82610647565b9392505050565b5f5f604083850312156106f5575f5ffd5b6106fe83610647565b915061070c60208401610647565b90509250929050565b600181811c9082168061072957607f821691505b60208210810361074757634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561026557634e487b7160e01b5f52601160045260245ffdfea2646970667358221220f963e794a9d6bd283bcaf264032592d8dec551c1889fb7a8e994481049612d7d64736f6c634300081e003360a060405230608052348015610013575f5ffd5b5061001c610029565b610024610029565b6100db565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100795760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d85780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b60805161597f6101015f395f8181612d6a01528181612d930152612ed3015261597f5ff3fe6080604052600436106103ea575f3560e01c806391d148541161020a578063b8b4f9081161011e578063cf6eefb7116100a8578063f327b07511610078578063f327b07514610d4d578063f38fdc0214610d6c578063fba7f1e314610d8c578063fe4e198314610dab578063ff8c1a8c14610dc0575f5ffd5b8063cf6eefb714610c9f578063d547741f14610cd9578063d602b9fd14610cf8578063e92706c614610d0c575f5ffd5b8063c371dda7116100ee578063c371dda714610c23578063c78ef28c14610c38578063cc8463c814610c58578063cdb21cc614610c6c578063cefc142914610c8b575f5ffd5b8063b8b4f90814610b9a578063b9a3c84c14610bb9578063ba4b930c14610bd8578063bc58ccaa14610c04575f5ffd5b8063ab328fb21161019f578063af5d2f391161016f578063af5d2f3914610a92578063afe1fcff14610ab1578063b4988fd014610afc578063b6cdb8ee14610b1b578063b873c4df14610b3a575f5ffd5b8063ab328fb2146109ea578063ac9650d814610a0a578063ad3cb1cc14610a36578063ad5a755a14610a73575f5ffd5b8063a1eda53c116101da578063a1eda53c1461095e578063a217fddf146107db578063a625b01e14610991578063a9904f9b146109be575f5ffd5b806391d148541461080457806391f58dcb1461082357806393ae2ebd146108425780639d86698514610861575f5ffd5b80634f1ef286116103015780636b821d061161029657806384ef8ffc1161026657806384ef8ffc1461077e5780638aca6afc146107925780638da5cb5b146107c75780638ffc2120146107db57806391152f10146107ee575f5ffd5b80636b821d061461070257806376c7823f146107215780637746e7ae146107405780637c82288f1461075f575f5ffd5b80635e9a79a9116102d15780635e9a79a914610686578063634e93da146106a5578063649a5ec7146106c45780636982ece0146106e3575f5ffd5b80634f1ef2861461062157806352d1902d1461063457806353b59239146106485780635845e68a14610667575f5ffd5b80632589382b11610382578063347b4dba11610352578063347b4dba1461059157806336568abe146105b0578063473c45fe146105cf5780634835698a146105ee5780634ccb56f51461060d575f5ffd5b80632589382b1461050957806329cb924d146105415780632f2ff15d1461055357806332ecce9e14610572575f5ffd5b8063120698af116103bd578063120698af1461048d5780631480db39146104ac5780631fa50cef146104cb578063248a9ca3146104ea575f5ffd5b806301ffc9a7146103ee578063022d63fb146104225780630aa6220b1461044a57806311df92f114610460575b5f5ffd5b3480156103f9575f5ffd5b5061040d61040836600461481c565b610dd7565b60405190151581526020015b60405180910390f35b34801561042d575f5ffd5b50620697805b60405165ffffffffffff9091168152602001610419565b348015610455575f5ffd5b5061045e610e01565b005b34801561046b575f5ffd5b5061047f61047a366004614913565b610e16565b604051908152602001610419565b348015610498575f5ffd5b5061045e6104a7366004614978565b610eb7565b3480156104b7575f5ffd5b5061045e6104c63660046149d3565b610f2f565b3480156104d6575f5ffd5b5061045e6104e53660046149d3565b610f5e565b3480156104f5575f5ffd5b5061047f6105043660046149ee565b610f8d565b348015610514575f5ffd5b5061047f54610529906001600160a01b031681565b6040516001600160a01b039091168152602001610419565b34801561054c575f5ffd5b504261047f565b34801561055e575f5ffd5b5061045e61056d366004614a05565b610fad565b34801561057d575f5ffd5b5061045e61058c3660046149ee565b610fd9565b34801561059c575f5ffd5b5061045e6105ab366004614a33565b611008565b3480156105bb575f5ffd5b5061045e6105ca366004614a05565b6110ce565b3480156105da575f5ffd5b5061045e6105e9366004614a9a565b611190565b3480156105f9575f5ffd5b5061047f610608366004614aed565b6111ff565b348015610618575f5ffd5b5061047f611235565b61045e61062f366004614b2b565b611245565b34801561063f575f5ffd5b5061047f611260565b348015610653575f5ffd5b5061047f610662366004614978565b61127b565b348015610672575f5ffd5b5061045e610681366004614b77565b6112d8565b348015610691575f5ffd5b5061047f6106a0366004614bb5565b611310565b3480156106b0575f5ffd5b5061045e6106bf3660046149d3565b61133f565b3480156106cf575f5ffd5b5061045e6106de366004614c13565b611352565b3480156106ee575f5ffd5b5061045e6106fd366004614c38565b611365565b34801561070d575f5ffd5b5061045e61071c3660046149d3565b6113f5565b34801561072c575f5ffd5b5061047f61073b366004614c77565b611424565b34801561074b575f5ffd5b5061052961075a366004614aed565b61178c565b34801561076a575f5ffd5b5061047f610779366004614ce7565b6117c5565b348015610789575f5ffd5b5061052961196e565b34801561079d575f5ffd5b506105296107ac3660046149ee565b6104826020525f90815260409020546001600160a01b031681565b3480156107d2575f5ffd5b50610529611989565b3480156107e6575f5ffd5b5061047f5f81565b3480156107f9575f5ffd5b5061047f6104845481565b34801561080f575f5ffd5b5061040d61081e366004614a05565b611997565b34801561082e575f5ffd5b5061045e61083d366004614978565b6119cd565b34801561084d575f5ffd5b5061045e61085c366004614d61565b611a49565b34801561086c575f5ffd5b5061094861087b3660046149ee565b5f6020818152918152604090819020805460018201546002830154845160e081018652600385015460ff8082161515835261010082048116151598830198909852620100008104881615159682019690965263010000008604871615156060820152640100000000909504861615156080860152600484015460a0860152600584015460c08601526006840154600785015460088601546009870154600a909701546001600160a01b03968716999587169896851697600160a01b9095049095169594929391929091908a565b6040516104199a99989796959493929190614def565b348015610969575f5ffd5b50610972611b8e565b6040805165ffffffffffff938416815292909116602083015201610419565b34801561099c575f5ffd5b506109b06109ab366004614aed565b611bfd565b604051610419929190614e56565b3480156109c9575f5ffd5b506109dd6109d8366004614bb5565b611ce5565b6040516104199190614eae565b3480156109f5575f5ffd5b5061047e54610529906001600160a01b031681565b348015610a15575f5ffd5b50610a29610a24366004614f5b565b611e92565b6040516104199190614ff8565b348015610a41575f5ffd5b50610a66604051806040016040528060058152602001640352e302e360dc1b81525081565b604051610419919061505b565b348015610a7e575f5ffd5b5061047f610a8d366004614a9a565b611fd8565b348015610a9d575f5ffd5b50610a66610aac36600461506d565b612057565b348015610abc575f5ffd5b50610ae7610acb3660046149ee565b6104816020525f90815260409020805460019091015460ff1682565b60408051928352901515602083015201610419565b348015610b07575f5ffd5b5061045e610b163660046150b0565b612063565b348015610b26575f5ffd5b5061045e610b353660046149d3565b61215e565b348015610b45575f5ffd5b50610b7a610b543660046149d3565b6104836020525f90815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610419565b348015610ba5575f5ffd5b5061047f610bb43660046150ef565b612185565b348015610bc4575f5ffd5b50606454610529906001600160a01b031681565b348015610be3575f5ffd5b50610bf7610bf2366004614bb5565b612194565b6040516104199190615168565b348015610c0f575f5ffd5b5061040d610c1e366004614bb5565b6121a9565b348015610c2e575f5ffd5b5061047f61200081565b348015610c43575f5ffd5b5061047f5f51602061588a5f395f51905f5281565b348015610c63575f5ffd5b50610433612217565b348015610c77575f5ffd5b5061045e610c8636600461518e565b612292565b348015610c96575f5ffd5b5061045e612448565b348015610caa575f5ffd5b50610cb3612487565b604080516001600160a01b03909316835265ffffffffffff909116602083015201610419565b348015610ce4575f5ffd5b5061045e610cf3366004614a05565b6124b4565b348015610d03575f5ffd5b5061045e6124dc565b348015610d17575f5ffd5b50610ae7610d26366004614a05565b61048060209081525f92835260408084209091529082529020805460019091015460ff1682565b348015610d58575f5ffd5b5061045e610d67366004615273565b6124ee565b348015610d77575f5ffd5b5061047f5f5160206158ea5f395f51905f5281565b348015610d97575f5ffd5b5061047f610da6366004614bb5565b612594565b348015610db6575f5ffd5b5061047f60655481565b348015610dcb575f5ffd5b5061047f600160ff1b81565b5f6001600160e01b031982166318a4c3c360e11b1480610dfb5750610dfb826125a2565b92915050565b5f610e0b816125d6565b610e136125e0565b50565b61047f54604051631d1d5b3960e11b81523360048201525f916001600160a01b031690633a3ab67290602401602060405180830381865afa158015610e5d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e8191906152f6565b610e9e57604051630f3c7c2760e01b815260040160405180910390fd5b610eab86868686866125ec565b90505b95945050505050565b610ebf612a87565b610ec7612aaa565b6001610ed533858585612ab6565b6006811115610ee657610ee6615154565b14610f0457604051633a4e124d60e11b815260040160405180910390fd5b5f610f1133858585612be8565b600301805461ffff191661010117905550610f2a612c0e565b505050565b610f37612a87565b610f3f612aaa565b610f565f5160206158ea5f395f51905f52826124b4565b610e13612c0e565b610f66612a87565b610f6e612aaa565b610f845f51602061588a5f395f51905f526125d6565b610f5681612c1d565b5f9081525f51602061590a5f395f51905f52602052604090206001015490565b81610fcb57604051631fe1e13d60e11b815260040160405180910390fd5b610fd58282612c70565b5050565b610fe1612a87565b610fe9612aaa565b610fff5f51602061588a5f395f51905f526125d6565b610f5681612c8c565b611010612a87565b611018612aaa565b61102e5f5160206158ea5f395f51905f526125d6565b6001600160a01b038116156110465761104681612cd1565b5f6110528585856111ff565b5f81815261048260205260409081902080546001600160a01b0319166001600160a01b038616908117909155905191925090859083907f6176bed8b34e20579b664c32ad00534f173e1f7c4410232beef89bed4464ddc0906110b7908a908990615311565b60405180910390a4506110c8612c0e565b50505050565b5f5160206158ca5f395f51905f528215801561110257506110ed61196e565b6001600160a01b0316826001600160a01b0316145b15611186575f5f611111612487565b90925090506001600160a01b038216151580611133575065ffffffffffff8116155b8061114657504265ffffffffffff821610155b15611173576040516319ca5ebb60e01b815265ffffffffffff821660048201526024015b60405180910390fd5b5050805465ffffffffffff60a01b191681555b610f2a8383612cff565b611198612a87565b6111a0612aaa565b60016111ae33868686612ab6565b60068111156111bf576111bf615154565b146111dd57604051633a4e124d60e11b815260040160405180910390fd5b6111e681612d32565b806111f333868686612be8565b600501556110c8612c0e565b5f8383836040516020016112159392919061534b565b6040516020818303038152906040528051906020012090505b9392505050565b6112426035612000615383565b81565b61124d612d5f565b61125682612e03565b610fd58282612e0c565b5f611269612ec8565b505f5160206158aa5f395f51905f5290565b5f611284612a87565b61128c612aaa565b600661129a33868686612ab6565b60068111156112ab576112ab615154565b146112be576112bc33858585612f11565b505b6112ca33858585612be8565b60070154905061122e612c0e565b6112e0612a87565b6112e8612aaa565b6112fe5f51602061588a5f395f51905f526125d6565b611308828261320a565b610fd5612c0e565b5f611319612a87565b611321612aaa565b61132d85858585612f11565b9050611337612c0e565b949350505050565b5f611349816125d6565b610fd58261337d565b5f61135c816125d6565b610fd5826133e8565b61136d612a87565b611375612aaa565b61138b5f5160206158ea5f395f51905f526125d6565b61139481612d32565b5f6113a08585856111ff565b5f8181526104816020526040908190208490555190915084906001600160a01b0387169083907fc5314bcb93c25473b858a5086195e309861a64b4c3ddae4d0a5cb9c5fb6f30f4906110b79088908890615396565b6113fd612a87565b611405612aaa565b61141b5f51602061588a5f395f51905f526125d6565b610f5681613457565b5f61142d612a87565b611435612aaa565b6001600160a01b03861661145c5760405163bef5ceeb60e01b815260040160405180910390fd5b600261146a86868686612ab6565b600681111561147b5761147b615154565b1461149957604051631bc1990760e31b815260040160405180910390fd5b5f6114a686868686612be8565b6001810180546001600160a01b0319166001600160a01b038a16179055600a8101546004820154919250906114db82826153b7565b935083156114fd5760028301546114fd906001600160a01b03163330876134aa565b5f611506613511565b90505f61151285613584565b61151c90856153b7565b905080156115b457600285015461153d906001600160a01b03168383613597565b611545613511565b600286015460408051602081018252848152905163432ce91960e11b81526001600160a01b03928316600482015290516024820152911690638659d232906044015f604051808303815f87803b15801561159d575f5ffd5b505af11580156115af573d5f5f3e3d5ffd5b505050505b6115bc61361e565b6001600160a01b031663216666a48a6115d5888c613657565b6115df8b8f6136a2565b6040518463ffffffff1660e01b81526004016115fd939291906153ca565b5f604051808303815f87803b158015611614575f5ffd5b505af1158015611626573d5f5f3e3d5ffd5b50505060098601545f91501580159061164857506003860154610100900460ff165b1561167157506009850180545f9091556002860154611671906001600160a01b03168c836136d2565b8b6001600160a01b0316865f015f9054906101000a90046001600160a01b03166001600160a01b03168c6001600160a01b03167f5165909c3d1c01c5d1e121ac6f6d01dda1ba24bc9e1f975b5a375339c15be7f38d8d8d8c600601546040516116dd94939291906153e8565b60405180910390a46116ed612c0e565b6001600160a01b038b163b15158015611711575060038601546301000000900460ff165b15611776576040516306c791b960e11b81526001600160a01b038c1690630d8f237290611748908d908d908d9087906004016153e8565b5f604051808303815f87803b15801561175f575f5ffd5b505af1158015611771573d5f5f3e3d5ffd5b505050505b61177e612aaa565b505050505050610eae612c0e565b5f611795612a87565b6104825f6117a48686866111ff565b815260208101919091526040015f20546001600160a01b0316949350505050565b5f5f6117d387878787612be8565b90505f6117e18888876111ff565b5f8181526104806020908152604080832060028701546001600160a01b03168452909152902054909150801561181957600483018190555b5f8281526104816020526040902054801561183657600584018190555b5f6118428b8b8a613703565b604051631d1d5b3960e11b81526001600160a01b038e8116600483015291925090821690633a3ab67290602401602060405180830381865afa15801561188a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118ae91906152f6565b6118cb57604051636ffe5a9560e01b815260040160405180910390fd5b604051631d1d5b3960e11b81523360048201526001600160a01b03821690633a3ab67290602401602060405180830381865afa15801561190d573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061193191906152f6565b61194e57604051637ed449a960e01b815260040160405180910390fd5b61195c8c8c8c8c8c8c613748565b955050505050505b9695505050505050565b5f51602061592a5f395f51905f52546001600160a01b031690565b5f61199261196e565b905090565b5f9182525f51602061590a5f395f51905f52602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6119d5612a87565b6119dd612aaa565b60016119eb33858585612ab6565b60068111156119fc576119fc615154565b14611a1a57604051633a4e124d60e11b815260040160405180910390fd5b6001611a2833858585612be8565b60030180549115156101000261ff0019909216919091179055610f2a612c0e565b611a51612a87565b611a59612aaa565b611a6f5f5160206158ea5f395f51905f526125d6565b611a77613977565b604051631d1d5b3960e11b81526001600160a01b0384811660048301529190911690633a3ab67290602401602060405180830381865afa158015611abd573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ae191906152f6565b611afe57604051631131fa7160e11b815260040160405180910390fd5b611b0882826139bd565b5f611b148686866111ff565b5f818152610480602090815260408083206001600160a01b038816808552925291829020859055905191925090869083907f4544c320b43beb5421d5149ff92fa72b40f00ac65294c4b8ca3906f08fb5a8c290611b76908b908a908990615417565b60405180910390a450611b87612c0e565b5050505050565b5f51602061592a5f395f51905f52545f90600160d01b900465ffffffffffff165f5160206158ca5f395f51905f528115801590611bd357504265ffffffffffff831610155b611bde575f5f611bf4565b6001810154600160a01b900465ffffffffffff16825b92509250509091565b60605f611c08612a87565b5f611c14868686613703565b9050806001600160a01b031663d01f63f56040518163ffffffff1660e01b81526004015f60405180830381865afa158015611c51573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611c78919081019061544a565b816001600160a01b031663184d69ab6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cb4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cd891906152f6565b9250925050935093915050565b611d6b60408051610140810182525f80825260208083018290528284018290526060808401839052845160e081018652838152918201839052938101829052928301819052608083810182905260a0840182905260c084019190915290919082019081526020015f81526020015f81526020015f81526020015f81526020015f81525090565b611d73612a87565b611d7f85858585612be8565b604080516101408101825282546001600160a01b0390811682526001840154811660208084019190915260028501549182168385015260ff600160a01b90920482161515606080850191909152845160e08082018752600388015480861615158352610100808204871615159584019590955262010000810486161515978301979097526301000000870485161515928201929092526401000000009095049092161515608085810191909152600486015460a080870191909152600587015460c08088019190915291850195909552600686015494840194909452600785015493830193909352600884015490820152600983015491810191909152600a909101546101208201529050949350505050565b6060816001600160401b03811115611eac57611eac614843565b604051908082528060200260200182016040528015611edf57816020015b6060815260200190600190039081611eca5790505b5090505f5b82811015611fd1575f8030868685818110611f0157611f016154f1565b9050602002810190611f139190615505565b604051611f2192919061554e565b5f60405180830381855af49150503d805f8114611f59576040519150601f19603f3d011682016040523d82523d5f602084013e611f5e565b606091505b509150915081611fa957604481511015611f76575f5ffd5b60048101905080806020019051810190611f90919061555d565b60405162461bcd60e51b815260040161116a919061505b565b80848481518110611fbc57611fbc6154f1565b60209081029190910101525050600101611ee4565b5092915050565b5f611fe1612a87565b611fe9612aaa565b6001611ff733878787612ab6565b600681111561200857612008615154565b1461202657604051633a4e124d60e11b815260040160405180910390fd5b5f61203333878787612be8565b60048101849055600a81015490915061204c90846153b7565b915050611337612c0e565b606061122e83836136a2565b5f61206c613a6e565b805490915060ff600160401b82041615906001600160401b03165f811580156120925750825b90505f826001600160401b031660011480156120ad5750303b155b9050811580156120bb575080155b156120d95760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561210357845460ff60401b1916600160401b1785555b61210e888888613a96565b831561215457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b612166612a87565b61216e612aaa565b610f565f5160206158ea5f395f51905f5282610fad565b5f610eab3387878787876117c5565b5f61219d612a87565b610eae85858585612ab6565b5f6121b2612a87565b5f6121bf86868686612ab6565b905060068160068111156121d5576121d5615154565b14806121f2575060058160068111156121f0576121f0615154565b145b806119645750600381600681111561220c5761220c615154565b149695505050505050565b5f51602061592a5f395f51905f52545f905f5160206158ca5f395f51905f5290600160d01b900465ffffffffffff16801580159061225c57504265ffffffffffff8216105b612276578154600160d01b900465ffffffffffff1661228b565b6001820154600160a01b900465ffffffffffff165b9250505090565b5f61229b613a6e565b805490915060ff600160401b82041615906001600160401b03165f811580156122c15750825b90505f826001600160401b031660011480156122dc5750303b155b9050811580156122ea575080155b156123085760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561233257845460ff60401b1916600160401b1785555b61233d8e8e88613a96565b6123545f51602061588a5f395f51905f5288613ac5565b506123795f5160206158ea5f395f51905f525f51602061588a5f395f51905f52613b31565b6123828c612c1d565b61238b8b613457565b5f5b898110156123e8576123e08b8b838181106123aa576123aa6154f1565b6123c092602060609092020190810191506149d3565b8c8c848181106123d2576123d26154f1565b90506060020160200161320a565b60010161238d565b506123f288612c8c565b831561243857845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050505050505050565b5f612451612487565b509050336001600160a01b0382161461247f57604051636116401160e11b815233600482015260240161116a565b610e13613b59565b5f5160206158ca5f395f51905f52546001600160a01b03811691600160a01b90910465ffffffffffff1690565b816124d257604051631fe1e13d60e11b815260040160405180910390fd5b610fd58282613bf2565b5f6124e6816125d6565b610e13613c0e565b6124f6612a87565b6124fe612aaa565b600161250c33888888612ab6565b600681111561251d5761251d615154565b1461253b57604051633a4e124d60e11b815260040160405180910390fd5b5f61254833888888612be8565b600301805463ffff00001916620100008615150263ff0000001916176301000000851515021764ff000000001916640100000000841515021790555061258c612c0e565b505050505050565b5f610eae3386868686611424565b5f6001600160e01b03198216637965db0b60e01b1480610dfb57506301ffc9a760e01b6001600160e01b0319831614610dfb565b610e138133613c18565b6125ea5f5f613c51565b565b5f6125f5612a87565b6125fd612aaa565b5f61260a33888888612ab6565b600681111561261b5761261b615154565b146126395760405163f757fcff60e01b815260040160405180910390fd5b612641613d29565b6001600160a01b03166390978d1b876040518263ffffffff1660e01b815260040161266e91815260200190565b602060405180830381865afa158015612689573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126ad91906152f6565b6126ca576040516356175d8f60e01b815260040160405180910390fd5b6126d2613977565b604051631d1d5b3960e11b81526001600160a01b0385811660048301529190911690633a3ab67290602401602060405180830381865afa158015612718573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061273c91906152f6565b61275957604051631131fa7160e11b815260040160405180910390fd5b4285111561277a576040516347860b9760e01b815260040160405180910390fd5b6127876035612000615383565b845111156127a857604051630a56acd960e01b815260040160405180910390fd5b5f6127b1613511565b604051635b97aadd60e01b81526001600160a01b0386811660048301529190911690635b97aadd90602401602060405180830381865afa1580156127f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061281b91906155d1565b5f015190506040518061014001604052805f6001600160a01b031681526020015f6001600160a01b03168152602001856001600160a01b031681526020015f151581526020016040518060e001604052805f151581526020015f151581526020015f151581526020015f151581526020015f151581526020018481526020015f81525081526020015f81526020015f81526020015f8152602001848152602001828152505f5f6128cd338b8b8b613d6f565b815260208082019290925260409081015f20835181546001600160a01b03199081166001600160a01b039283161783558585015160018401805490921690831617905584830151600283018054606080890151939094166001600160a81b031990911617600160a01b9215159290920291909117905560808086015180516003850180549783015196830151948301519383015161ffff1990981691151561ff0019169190911761010096151587021763ffff00001916620100009415159490940263ff0000001916939093176301000000921515929092029190911764ff0000000019166401000000009515159590950294909417905560a080840151600483015560c0938401516005830155840151600682015591830151600783015560e08301516008830155820151600982015561012090910151600a909101558215612a2657612a266001600160a01b0385163330866134aa565b336001600160a01b03167ff1679315ff325c257a944e0ca1bfe7b26616039e9511f9610d4ba3eca851027b888888888887604051612a6996959493929190615612565b60405180910390a2612a7c816002615657565b915050610eae612c0e565b60325460ff166125ea57604051633ee5aeb560e01b815260040160405180910390fd5b6032805460ff19169055565b5f5f612ac486868686612be8565b60028101549091506001600160a01b0316612ae2575f915050611337565b80546001600160a01b0316612afb576001915050611337565b6002810154600160a01b900460ff1615612b19576006915050611337565b60018101546001600160a01b0316612b49574281600801541115612b3e576002612b41565b60035b915050611337565b612b5161361e565b6001600160a01b031663b551cd5086612b6a8488613657565b612b74878b6136a2565b6040518463ffffffff1660e01b8152600401612b92939291906153ca565b602060405180830381865afa158015612bad573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bd191906152f6565b612bdc576004611964565b50600595945050505050565b5f5f5f612bf787878787613d6f565b81526020019081526020015f209050949350505050565b6032805460ff19166001179055565b612c2681612cd1565b61047e80546001600160a01b0319166001600160a01b0383169081179091556040517fe983c4450684b2324d78afaa992b88be67cf4d3919d7a6539ca774d7bb5189f4905f90a250565b612c7982610f8d565b612c82816125d6565b6110c88383613ac5565b612c9581613da7565b6104848190556040518181527fc41d1b4ad42d6f594ce26dc949c6aa711df74301f1f2c17b3a36d30c9761abf39060200160405180910390a150565b612ce281634e759c3d60e11b613deb565b610e13576040516367cc38ef60e01b815260040160405180910390fd5b6001600160a01b0381163314612d285760405163334bd91960e11b815260040160405180910390fd5b610f2a8282613e06565b61048454811015612d56576040516337d02b5d60e21b815260040160405180910390fd5b610e1381613da7565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480612de557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612dd95f5160206158aa5f395f51905f52546001600160a01b031690565b6001600160a01b031614155b156125ea5760405163703e46dd60e11b815260040160405180910390fd5b610e135f6125d6565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612e66575060408051601f3d908101601f19168201909252612e639181019061566e565b60015b612e8e57604051634c9c8ce360e01b81526001600160a01b038316600482015260240161116a565b5f5160206158aa5f395f51905f528114612ebe57604051632a87526960e21b81526004810182905260240161116a565b610f2a8383613e5d565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146125ea5760405163703e46dd60e11b815260040160405180910390fd5b5f5f612f1f86868686612ab6565b90505f612f2e87878787612be8565b60028101805460ff60a01b1916600160a01b17905590506003826006811115612f5957612f59615154565b03612fb157600681015460078201556009810154600a8201546004830154612f8191906153b7565b612f8b91906153b7565b81546002830154919450612fac916001600160a01b039081169116856136d2565b613106565b6005826006811115612fc557612fc5615154565b036130ed57612fd261361e565b6001600160a01b031663719c6d5687612feb8489613657565b612ff5888c6136a2565b6040518463ffffffff1660e01b8152600401613013939291906153ca565b602060405180830381865afa15801561302e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613052919061566e565b6007820181905560068201546004830154911415905f61307184613584565b61307b9083615383565b9050836009015484600a0154828461309391906153b7565b61309d91906153b7565b6130a791906153b7565b95506130e5836130c15784546001600160a01b03166130d0565b60018501546001600160a01b03165b60028601546001600160a01b031690886136d2565b505050613106565b604051639c71cb8360e01b815260040160405180910390fd5b6001810154815460078301546040516001600160a01b0393841693928316928b16917f3f384afb4bd9f0aef0298c80399950011420eb33b0e1a750b20966270247b9a09161315b918c918c918c918c90615685565b60405180910390a461316b612c0e565b6001600160a01b0387163b1515801561319057506003810154640100000000900460ff165b156131f85760078101546040516304cc1fd560e01b81526001600160a01b038916916304cc1fd5916131ca918a918a918a916004016153e8565b5f604051808303815f87803b1580156131e1575f5ffd5b505af11580156131f3573d5f5f3e3d5ffd5b505050505b613200612aaa565b5050949350505050565b613212613977565b604051631d1d5b3960e11b81526001600160a01b0384811660048301529190911690633a3ab67290602401602060405180830381865afa158015613258573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061327c91906152f6565b61329957604051631131fa7160e11b815260040160405180910390fd5b6132a960408201602083016156cb565b6001600160801b03166132bf60208301836156cb565b6001600160801b031611156132e757604051635b1a743760e01b815260040160405180910390fd5b6001600160a01b0382165f90815261048360205260409020819061330b82826156e6565b50506001600160a01b0382167f143b6bf2ebf8381dc4db7edfc69b944d4a518b2be84f1d6230aecb2b698100e461334560208401846156cb565b61335560408501602086016156cb565b604080516001600160801b039384168152929091166020830152015b60405180910390a25050565b5f613386612217565b61338f42613eb2565b6133999190615737565b90506133a58282613ee8565b60405165ffffffffffff821681526001600160a01b038316907f3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed690602001613371565b5f6133f282613f72565b6133fb42613eb2565b6134059190615737565b90506134118282613c51565b6040805165ffffffffffff8085168252831660208201527ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b910160405180910390a15050565b61346081612cd1565b61047f80546001600160a01b0319166001600160a01b0383169081179091556040517fab1796ea525d29607f67aabc405756efd2fc7c4eb2531e627f6ec697ac618a8e905f90a250565b6040516001600160a01b0384811660248301528381166044830152606482018390526110c89186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050613fb9565b6064546040516302abf57960e61b81526453746f726560d81b60048201525f916001600160a01b03169063aafd5e40906024015b602060405180830381865afa158015613560573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119929190615755565b60048101545f90610dfb90600290615784565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301525f919085169063dd62ed3e90604401602060405180830381865afa1580156135e4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613608919061566e565b90506110c8848461361985856153b7565b614025565b6064546040516302abf57960e61b8152654f7261636c6560d01b60048201525f916001600160a01b03169063aafd5e4090602401613545565b60038201545f9060ff161561369b5760058301545f90810361367b57606554613681565b60058401545b90508084600801546136939190615383565b915050610dfb565b5080610dfb565b606061122e836040518060400160405280600b81526020016a37b7a932b8bab2b9ba32b960a91b815250846140b4565b6040516001600160a01b03838116602483015260448201839052610f2a91859182169063a9059cbb906064016134df565b5f6104825f6137138686866111ff565b815260208101919091526040015f20546001600160a01b031690508061122e575061047e546001600160a01b03169392505050565b5f613751612a87565b613759612aaa565b6001600160a01b0387166137805760405163062a0f5b60e21b815260040160405180910390fd5b600161378e87878787612ab6565b600681111561379f5761379f615154565b146137bd57604051633a4e124d60e11b815260040160405180910390fd5b5f6137ca87878787612be8565b600381015490915060ff16156137fe57600160ff1b83036137fe5760405163cad802eb60e01b815260040160405180910390fd5b80546001600160a01b0319166001600160a01b0389161781556006810183905560058101545f0361383157606554613837565b60058101545b61384190426153b7565b6008820155600a810154600482015461385a91906153b7565b9150811561387c57600281015461387c906001600160a01b03163330856134aa565b600881015460028201546040516001600160a01b038b8116938b8216937f6e51dd00371aabffa82cd401592f76ed51e98a9ea4b58751c70463a2c78b5ca1936138d0938d938d938d938d93909116906157a3565b60405180910390a36138e0612c0e565b6001600160a01b0387163b151580156139035750600381015462010000900460ff165b1561396657604051639c2fd1df60e01b81526001600160a01b03881690639c2fd1df90613938908990899089906004016153ca565b5f604051808303815f87803b15801561394f575f5ffd5b505af1158015613961573d5f5f3e3d5ffd5b505050505b61396e612aaa565b50611964612c0e565b6064546040516302abf57960e61b81527210dbdb1b185d195c985b15da1a5d195b1a5cdd606a1b60048201525f916001600160a01b03169063aafd5e4090602401613545565b805f036139dd57604051634935f70160e11b815260040160405180910390fd5b6001600160a01b0382165f90815261048360209081526040918290208251808401909352546001600160801b03808216808552600160801b9092041691830191909152821015613a405760405163dba3b86160e01b815260040160405180910390fd5b80602001516001600160801b0316821115610f2a57604051631f7b5d6160e01b815260040160405180910390fd5b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610dfb565b613a9e6140f9565b613aa661411e565b613ab36203f48082614126565b613abb614138565b610f2a8383614140565b5f5f5160206158ca5f395f51905f5283613b27575f613ae261196e565b6001600160a01b031614613b0957604051631fe1e13d60e11b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0385161790555b6113378484614172565b81613b4f57604051631fe1e13d60e11b815260040160405180910390fd5b610fd58282614213565b5f5160206158ca5f395f51905f525f80613b71612487565b91509150613b868165ffffffffffff16151590565b1580613b9a57504265ffffffffffff821610155b15613bc2576040516319ca5ebb60e01b815265ffffffffffff8216600482015260240161116a565b613bd35f613bce61196e565b613e06565b50613bde5f83613ac5565b505081546001600160d01b03191690915550565b613bfb82610f8d565b613c04816125d6565b6110c88383613e06565b6125ea5f5f613ee8565b613c228282611997565b610fd55760405163e2517d3f60e01b81526001600160a01b03821660048201526024810183905260440161116a565b5f51602061592a5f395f51905f52545f5160206158ca5f395f51905f5290600160d01b900465ffffffffffff168015613ceb574265ffffffffffff82161015613cc257600182015482546001600160d01b0316600160a01b90910465ffffffffffff16600160d01b02178255613ceb565b6040517f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5905f90a15b5060010180546001600160a01b0316600160a01b65ffffffffffff948516026001600160d01b031617600160d01b9290931691909102919091179055565b6064546040516302abf57960e61b8152721259195b9d1a599a595c95da1a5d195b1a5cdd606a1b60048201525f916001600160a01b03169063aafd5e4090602401613545565b5f84848484604051602001613d8794939291906157e8565b604051602081830303815290604052805190602001209050949350505050565b63bb7448008110613dcb5760405163cb40339f60e01b815260040160405180910390fd5b5f8111610e135760405163fa050ec160e01b815260040160405180910390fd5b5f613df583614273565b801561122e575061122e83836142a5565b5f5f5160206158ca5f395f51905f5283158015613e3b5750613e2661196e565b6001600160a01b0316836001600160a01b0316145b15613e53576001810180546001600160a01b03191690555b611337848461432b565b613e66826143a4565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115613eaa57610f2a8282614407565b610fd5614470565b5f65ffffffffffff821115613ee4576040516306dfcc6560e41b8152603060048201526024810183905260440161116a565b5090565b5f5160206158ca5f395f51905f525f613eff612487565b835465ffffffffffff8616600160a01b026001600160d01b03199091166001600160a01b038816171784559150613f3f90508165ffffffffffff16151590565b156110c8576040517f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109905f90a150505050565b5f5f613f7c612217565b90508065ffffffffffff168365ffffffffffff1611613fa457613f9f8382615812565b61122e565b61122e65ffffffffffff84166206978061448f565b5f5f60205f8451602086015f885af180613fd8576040513d5f823e3d81fd5b50505f513d91508115613fef578060011415613ffc565b6001600160a01b0384163b155b156110c857604051635274afe760e01b81526001600160a01b038516600482015260240161116a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052614076848261449e565b6110c8576040516001600160a01b0384811660248301525f60448301526140aa91869182169063095ea7b3906064016134df565b6110c88482613fb9565b60605f6140c185856144e3565b905084816140ce85614525565b6040516020016140e093929190615830565b6040516020818303038152906040529150509392505050565b61410161458d565b6125ea57604051631afcd79f60e31b815260040160405180910390fd5b6125ea6140f9565b61412e6140f9565b610fd582826145a6565b612c0e6140f9565b6141486140f9565b606480546001600160a01b0319166001600160a01b03831617905561416c82612d32565b50606555565b5f5f51602061590a5f395f51905f5261418b8484611997565b61420a575f848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556141c03390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610dfb565b5f915050610dfb565b5f51602061590a5f395f51905f525f61422b84610f8d565b5f85815260208490526040808220600101869055519192508491839187917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a450505050565b5f614285826301ffc9a760e01b6142a5565b8015610dfb575061429e826001600160e01b03196142a5565b1592915050565b6040516001600160e01b0319821660248201525f90819060440160408051601f19818403018152919052602080820180516001600160e01b03166301ffc9a760e01b17815282519293505f9283928392909183918a617530fa92503d91505f519050828015614315575060208210155b801561432057505f81115b979650505050505050565b5f5f51602061590a5f395f51905f526143448484611997565b1561420a575f848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610dfb565b806001600160a01b03163b5f036143d957604051634c9c8ce360e01b81526001600160a01b038216600482015260240161116a565b5f5160206158aa5f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b031684604051614423919061584d565b5f60405180830381855af49150503d805f811461445b576040519150601f19603f3d011682016040523d82523d5f602084013e614460565b606091505b5091509150610eae85838361460c565b34156125ea5760405163b398979f60e01b815260040160405180910390fd5b5f82821882841002821861122e565b5f5f5f5f60205f8651602088015f8a5af192503d91505f519050828015611964575081156144cf5780600114611964565b50505050506001600160a01b03163b151590565b81516060901561451457816040516020016144fe9190615858565b6040516020818303038152906040529050610dfb565b816040516020016144fe919061587e565b606061453d6001600160801b03602084901c16614663565b6145538360601b6001600160601b031916614663565b6040516020016145779291909182526001600160c01b031916602082015260280190565b6040516020818303038152906040529050919050565b5f614596613a6e565b54600160401b900460ff16919050565b6145ae6140f9565b5f5160206158ca5f395f51905f526001600160a01b0382166145e557604051636116401160e11b81525f600482015260240161116a565b80546001600160d01b0316600160d01b65ffffffffffff8516021781556110c85f83613ac5565b60608261461c57613f9f826147f4565b815115801561463357506001600160a01b0384163b155b1561465c57604051639996b31560e01b81526001600160a01b038516600482015260240161116a565b508061122e565b5f5f825f1c9050806001600160801b0316905080600160401b02811777ffffffffffffffff0000000000000000ffffffffffffffff169050806401000000000281177bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16905080620100000281177dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff169050806101000281177eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff1690508060100281177f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f1690505f6008827f0808080808080808080808080808080808080808080808080808080808080808168161477657614776615770565b0460047f040404040404040404040404040404040404040404040404040404040404040484160460027f020202020202020202020202020202020202020202020202020202020202020285160417166027029091017f3030303030303030303030303030303030303030303030303030303030303030019392505050565b80511561480357805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b5f6020828403121561482c575f5ffd5b81356001600160e01b03198116811461122e575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b038111828210171561487f5761487f614843565b604052919050565b5f6001600160401b0382111561489f5761489f614843565b50601f01601f191660200190565b5f82601f8301126148bc575f5ffd5b81356148cf6148ca82614887565b614857565b8181528460208386010111156148e3575f5ffd5b816020850160208301375f918101602001919091529392505050565b6001600160a01b0381168114610e13575f5ffd5b5f5f5f5f5f60a08688031215614927575f5ffd5b853594506020860135935060408601356001600160401b0381111561494a575f5ffd5b614956888289016148ad565b9350506060860135614967816148ff565b949793965091946080013592915050565b5f5f5f6060848603121561498a575f5ffd5b833592506020840135915060408401356001600160401b038111156149ad575f5ffd5b6149b9868287016148ad565b9150509250925092565b80356149ce816148ff565b919050565b5f602082840312156149e3575f5ffd5b813561122e816148ff565b5f602082840312156149fe575f5ffd5b5035919050565b5f5f60408385031215614a16575f5ffd5b823591506020830135614a28816148ff565b809150509250929050565b5f5f5f5f60808587031215614a46575f5ffd5b8435614a51816148ff565b93506020850135925060408501356001600160401b03811115614a72575f5ffd5b614a7e878288016148ad565b9250506060850135614a8f816148ff565b939692955090935050565b5f5f5f5f60808587031215614aad575f5ffd5b843593506020850135925060408501356001600160401b03811115614ad0575f5ffd5b614adc878288016148ad565b949793965093946060013593505050565b5f5f5f60608486031215614aff575f5ffd5b8335614b0a816148ff565b92506020840135915060408401356001600160401b038111156149ad575f5ffd5b5f5f60408385031215614b3c575f5ffd5b8235614b47816148ff565b915060208301356001600160401b03811115614b61575f5ffd5b614b6d858286016148ad565b9150509250929050565b5f5f8284036060811215614b89575f5ffd5b8335614b94816148ff565b92506040601f1982011215614ba7575f5ffd5b506020830190509250929050565b5f5f5f5f60808587031215614bc8575f5ffd5b8435614bd3816148ff565b9350602085013592506040850135915060608501356001600160401b03811115614bfb575f5ffd5b614c07878288016148ad565b91505092959194509250565b5f60208284031215614c23575f5ffd5b813565ffffffffffff8116811461122e575f5ffd5b5f5f5f5f60808587031215614c4b575f5ffd5b8435614c56816148ff565b93506020850135925060408501356001600160401b03811115614ad0575f5ffd5b5f5f5f5f5f60a08688031215614c8b575f5ffd5b8535614c96816148ff565b94506020860135614ca6816148ff565b9350604086013592506060860135915060808601356001600160401b03811115614cce575f5ffd5b614cda888289016148ad565b9150509295509295909350565b5f5f5f5f5f5f60c08789031215614cfc575f5ffd5b8635614d07816148ff565b95506020870135614d17816148ff565b9450604087013593506060870135925060808701356001600160401b03811115614d3f575f5ffd5b614d4b89828a016148ad565b9699959850939692959460a09093013593505050565b5f5f5f5f5f60a08688031215614d75575f5ffd5b8535614d80816148ff565b94506020860135935060408601356001600160401b0381111561494a575f5ffd5b80511515825260208101511515602083015260408101511515604083015260608101511515606083015260808101511515608083015260a081015160a083015260c081015160c08301525050565b6001600160a01b038b811682528a811660208301528916604082015287151560608201526102008101614e256080830189614da1565b6101608201969096526101808101949094526101a08401929092526101c08301526101e09091015295945050505050565b604080825283519082018190525f9060208501906060840190835b81811015614e985783516001600160a01b0316835260209384019390920191600101614e71565b5050809250505082151560208301529392505050565b81516001600160a01b0316815261020081016020830151614eda60208401826001600160a01b03169052565b506040830151614ef560408401826001600160a01b03169052565b506060830151614f09606084018215159052565b506080830151614f1c6080840182614da1565b5060a083015161016083015260c083015161018083015260e08301516101a08301526101008301516101c0830152610120909201516101e09091015290565b5f5f60208385031215614f6c575f5ffd5b82356001600160401b03811115614f81575f5ffd5b8301601f81018513614f91575f5ffd5b80356001600160401b03811115614fa6575f5ffd5b8560208260051b8401011115614fba575f5ffd5b6020919091019590945092505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561504f57603f1987860301845261503a858351614fca565b9450602093840193919091019060010161501e565b50929695505050505050565b602081525f61122e6020830184614fca565b5f5f6040838503121561507e575f5ffd5b82356001600160401b03811115615093575f5ffd5b61509f858286016148ad565b9250506020830135614a28816148ff565b5f5f5f606084860312156150c2575f5ffd5b8335925060208401356150d4816148ff565b915060408401356150e4816148ff565b809150509250925092565b5f5f5f5f5f60a08688031215615103575f5ffd5b853561510e816148ff565b9450602086013593506040860135925060608601356001600160401b03811115615136575f5ffd5b615142888289016148ad565b95989497509295608001359392505050565b634e487b7160e01b5f52602160045260245ffd5b602081016007831061518857634e487b7160e01b5f52602160045260245ffd5b91905290565b5f5f5f5f5f5f5f5f5f6101008a8c0312156151a7575f5ffd5b8935985060208a01356151b9816148ff565b975060408a01356151c9816148ff565b965060608a01356151d9816148ff565b955060808a01356001600160401b038111156151f3575f5ffd5b8a01601f81018c13615203575f5ffd5b80356001600160401b03811115615218575f5ffd5b8c602060608302840101111561522c575f5ffd5b6020919091019550935060a08a0135925061524960c08b016149c3565b915061525760e08b016149c3565b90509295985092959850929598565b8015158114610e13575f5ffd5b5f5f5f5f5f5f60c08789031215615288575f5ffd5b863595506020870135945060408701356001600160401b038111156152ab575f5ffd5b6152b789828a016148ad565b94505060608701356152c881615266565b925060808701356152d881615266565b915060a08701356152e881615266565b809150509295509295509295565b5f60208284031215615306575f5ffd5b815161122e81615266565b6001600160a01b03831681526040602082018190525f9061133790830184614fca565b5f81518060208401855e5f93019283525090919050565b6001600160601b03198460601b1681528260148201525f610eae6034830184615334565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610dfb57610dfb61536f565b604081525f6153a86040830185614fca565b90508260208301529392505050565b80820180821115610dfb57610dfb61536f565b838152826020820152606060408201525f610eae6060830184614fca565b848152836020820152608060408201525f6154066080830185614fca565b905082606083015295945050505050565b6001600160a01b03841681526060602082018190525f9061543a90830185614fca565b9050826040830152949350505050565b5f6020828403121561545a575f5ffd5b81516001600160401b0381111561546f575f5ffd5b8201601f8101841361547f575f5ffd5b80516001600160401b0381111561549857615498614843565b8060051b6154a860208201614857565b918252602081840181019290810190878411156154c3575f5ffd5b6020850194505b8385101561432057845192506154df836148ff565b828252602094850194909101906154ca565b634e487b7160e01b5f52603260045260245ffd5b5f5f8335601e1984360301811261551a575f5ffd5b8301803591506001600160401b03821115615533575f5ffd5b602001915036819003821315615547575f5ffd5b9250929050565b818382375f9101908152919050565b5f6020828403121561556d575f5ffd5b81516001600160401b03811115615582575f5ffd5b8201601f81018413615592575f5ffd5b80516155a06148ca82614887565b8181528560208385010111156155b4575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b5f60208284031280156155e2575f5ffd5b50604051602081016001600160401b038111828210171561560557615605614843565b6040529151825250919050565b86815285602082015260c060408201525f61563060c0830187614fca565b6001600160a01b0395909516606083015250608081019290925260a0909101529392505050565b8082028115828204841417610dfb57610dfb61536f565b5f6020828403121561567e575f5ffd5b5051919050565b85815284602082015260a060408201525f6156a360a0830186614fca565b606083019490945250608001529392505050565b6001600160801b0381168114610e13575f5ffd5b5f602082840312156156db575f5ffd5b813561122e816156b7565b81356156f1816156b7565b6001600160801b0381169050806001600160801b0319835416178255602083013561571b816156b7565b60801b6fffffffffffffffffffffffffffffffff191617905550565b65ffffffffffff8181168382160190811115610dfb57610dfb61536f565b5f60208284031215615765575f5ffd5b815161122e816148ff565b634e487b7160e01b5f52601260045260245ffd5b5f8261579e57634e487b7160e01b5f52601260045260245ffd5b500490565b86815285602082015260c060408201525f6157c160c0830187614fca565b60608301959095525060808101929092526001600160a01b031660a0909101529392505050565b6001600160601b03198560601b1681528360148201528260348201525f610eab6054830184615334565b65ffffffffffff8281168282160390811115610dfb57610dfb61536f565b5f610eae6158476158418488615334565b86615334565b84615334565b5f61122e8284615334565b600b60fa1b81525f61586d6001830184615334565b601d60f91b81526001019392505050565b5f61586d828461533456feb92d52e77ebaa0cae5c23e882d85609efbcb44029214147dd132daf9ef1018af360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbceef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d869840027b8807ed0d425f20d0c4bc217dc8c5223cdf4dda073a600a26677d83eb2fb5302dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800eef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698401a2646970667358221220dbe68c0c0268cd87cfcbfa0d97372f406d651be32f9d44335e2fcdebae53339464736f6c634300081e003360806040526040516103cf3803806103cf8339810160408190526100229161023b565b61002c8282610033565b5050610320565b61003c82610091565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561008557610080828261010c565b505050565b61008d61017f565b5050565b806001600160a01b03163b5f036100cb57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b031684604051610128919061030a565b5f60405180830381855af49150503d805f8114610160576040519150601f19603f3d011682016040523d82523d5f602084013e610165565b606091505b5090925090506101768583836101a0565b95945050505050565b341561019e5760405163b398979f60e01b815260040160405180910390fd5b565b6060826101b5576101b0826101ff565b6101f8565b81511580156101cc57506001600160a01b0384163b155b156101f557604051639996b31560e01b81526001600160a01b03851660048201526024016100c2565b50805b9392505050565b80511561020e57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b5f5f6040838503121561024c575f5ffd5b82516001600160a01b0381168114610262575f5ffd5b60208401519092506001600160401b0381111561027d575f5ffd5b8301601f8101851361028d575f5ffd5b80516001600160401b038111156102a6576102a6610227565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102d4576102d4610227565b6040528181528282016020018710156102eb575f5ffd5b8160208401602083015e5f602083830101528093505050509250929050565b5f82518060208501845e5f920191825250919050565b60a38061032c5f395ff3fe6080604052600a600c565b005b60186014601a565b6050565b565b5f604b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f5f375f5f365f845af43d5f5f3e8080156069573d5ff35b3d5ffdfea2646970667358221220500b02fd3000f109cd1c16029025651bf95e379ee555325f66378bee76405e8764736f6c634300081e00330000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d59cc78b3d04193ae92175ab14d00bb163c097a14bae6f073d18bfc99df6f6ee9a26469706673582212207f48cbd3ca104fecbb193e440f89253fc4b6fd109747f4926a6f0894971f4afd64736f6c634300081e0033","sourceMap":"3674:26188:100:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4728:3435;;;:::i;:::-;;28551:255;;;:::i;17811:612::-;;;:::i;25901:248::-;;;:::i;2907:134:7:-;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3823:151;;;:::i;:::-;;;;;;;:::i;20427:733:100:-;;;:::i;13541:587::-;;;:::i;3684:133:7:-;;;:::i;3385:141::-;;;:::i;25163:732:100:-;;;:::i;18429:1992::-;;;:::i;17042:691::-;;;:::i;26237:868::-;;;:::i;3193:186:7:-;;;:::i;:::-;;;;;;;:::i;12884:651:100:-;;;:::i;14134:538::-;;;:::i;15323:569::-;;;:::i;21236:819::-;;;:::i;23831:768::-;;;:::i;3047:140:7:-;;;:::i;:::-;;;;;;;:::i;3532:146::-;;;:::i;:::-;;;;;;;:::i;11718:1089:100:-;;;:::i;28144:401::-;;;:::i;22061:1366::-;;;:::i;2754:147:7:-;;;:::i;2459:141::-;;;:::i;9460:890:100:-;;;:::i;1243:204:2:-;;;:::i;:::-;;;6277:14:102;;6270:22;6252:41;;6240:2;6225:18;1243:204:2;6112:187:102;23491:250:100;;;:::i;24605:552::-;;;:::i;14678:639::-;;;:::i;27111:1027::-;;;:::i;2606:142:7:-;;;:::i;29376:484:100:-;;;:::i;15971:1065::-;;;:::i;10356:1356::-;;;:::i;1065:26:14:-;;;;;;;;;28812:558:100;;;:::i;4728:3435::-;4797:23;;;;;;;;;;;;;;-1:-1:-1;;;4797:23:100;;;:8;:23::i;:::-;4783:11;;:37;;;;;-1:-1:-1;;;;;4783:37:100;;;;;-1:-1:-1;;;;;4783:37:100;;;;;;4845:24;;;;;;;;;;;;;;-1:-1:-1;;;4845:24:100;;;:8;:24::i;:::-;4830:12;;:39;;;;;-1:-1:-1;;;;;4830:39:100;;;;;-1:-1:-1;;;;;4830:39:100;;;;;;4896:26;;;;;;;;;;;;;;-1:-1:-1;;;4896:26:100;;;:8;:26::i;:::-;4879:14;:43;;-1:-1:-1;;;;;;4879:43:100;-1:-1:-1;;;;;4879:43:100;;;;;;;;;;4944:21;;;;;;;;;;;;-1:-1:-1;;;4944:21:100;;;;;;:8;:21::i;:::-;4932:9;:33;;-1:-1:-1;;;;;;4932:33:100;-1:-1:-1;;;;;4932:33:100;;;;;;;;;;4990:24;;;;;;;;;;;;-1:-1:-1;;;4990:24:100;;;;;;:8;:24::i;:::-;4975:12;:39;;-1:-1:-1;;;;;;4975:39:100;-1:-1:-1;;;;;4975:39:100;;;;;;;;;;5035:20;;;;;;;;;;;;-1:-1:-1;;;5035:20:100;;;;;;:8;:20::i;:::-;5024:8;:31;;-1:-1:-1;;;;;;5024:31:100;-1:-1:-1;;;;;5024:31:100;;;;;;;;;;5081:25;;;;;;;;;;;;-1:-1:-1;;;5081:25:100;;;;;;:8;:25::i;:::-;5065:13;:41;;-1:-1:-1;;;;;;5065:41:100;-1:-1:-1;;;;;5065:41:100;;;;;;;;;;5125:18;;;;;;;;;;;;-1:-1:-1;;;5125:18:100;;;;;;:8;:18::i;:::-;5116:6;:27;;-1:-1:-1;;;;;;5116:27:100;-1:-1:-1;;;;;5116:27:100;;;;;;;;;;5167:23;;;;;;;;;;;;-1:-1:-1;;;5167:23:100;;;;;;:8;:23::i;:::-;5153:11;:37;;-1:-1:-1;;;;;;5153:37:100;-1:-1:-1;;;;;5153:37:100;;;;;;5209:11;;5200:37;;;-1:-1:-1;;;5200:37:100;;5153;5209:11;;;;;;5200:37;;;6516:51:102;6583:18;;;6576:30;;;;6642:2;6622:18;;;6615:30;-1:-1:-1;;;6661:18:102;;;6654:42;-1:-1:-1;;;;;;;;;;;336:42:0;5200:8:100;;6713:19:102;;5200:37:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5256:12:100;;5247:39;;;-1:-1:-1;;;5247:39:100;;-1:-1:-1;;;;;5256:12:100;;;5247:39;;;6955:51:102;7022:18;;;7015:30;7081:2;7061:18;;;7054:30;-1:-1:-1;;;7100:18:102;;;7093:43;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;5247:8:100;;-1:-1:-1;7153:19:102;;5247:39:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5305:14:100;;5296:43;;;-1:-1:-1;;;5296:43:100;;-1:-1:-1;;;;;5305:14:100;;;5296:43;;;7395:51:102;7462:18;;;7455:30;7521:2;7501:18;;;7494:30;-1:-1:-1;;;7540:18:102;;;7533:45;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;5296:8:100;;-1:-1:-1;7595:19:102;;5296:43:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5358:9:100;;5349:32;;;-1:-1:-1;;;5349:32:100;;-1:-1:-1;;;;;5358:9:100;;;5349:32;;;7837:51:102;7904:18;;;7897:30;7963:1;7943:18;;;7936:29;-1:-1:-1;;;7981:18:102;;;7974:39;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;5349:8:100;;-1:-1:-1;8030:19:102;;5349:32:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5400:12:100;;5391:39;;;-1:-1:-1;;;5391:39:100;;-1:-1:-1;;;;;5400:12:100;;;5391:39;;;8272:51:102;8339:18;;;8332:30;8398:2;8378:18;;;8371:30;-1:-1:-1;;;8417:18:102;;;8410:43;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;5391:8:100;;-1:-1:-1;8470:19:102;;5391:39:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5449:8:100;;;5440:30;;;-1:-1:-1;;;5440:30:100;;-1:-1:-1;;;;;5449:8:100;;;5440:30;;;8712:51:102;8779:18;;;8772:30;;;;8838:1;8818:18;;;8811:29;-1:-1:-1;;;8856:18:102;;;8849:38;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;5440:8:100;;-1:-1:-1;8904:19:102;;5440:30:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5489:13:100;;5480:41;;;-1:-1:-1;;;5480:41:100;;-1:-1:-1;;;;;5489:13:100;;;5480:41;;;9146:51:102;9213:18;;;9206:30;9272:2;9252:18;;;9245:30;-1:-1:-1;;;9291:18:102;;;9284:44;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;5480:8:100;;-1:-1:-1;9345:19:102;;5480:41:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5540:6:100;;5531:26;;;-1:-1:-1;;;5531:26:100;;-1:-1:-1;;;;;5540:6:100;;;5531:26;;;9587:51:102;9654:18;;;9647:30;9713:1;9693:18;;;9686:29;-1:-1:-1;;;9731:18:102;;;9724:36;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;5531:8:100;;-1:-1:-1;9777:19:102;;5531:26:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5576:11:100;;5567:37;;;-1:-1:-1;;;5567:37:100;;-1:-1:-1;;;;;5576:11:100;;;5567:37;;;10019:51:102;10086:18;;;10079:30;10145:2;10125:18;;;10118:30;-1:-1:-1;;;10164:18:102;;;10157:42;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;5567:8:100;;-1:-1:-1;10216:19:102;;5567:37:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5671:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5662:6:100;:25;;-1:-1:-1;;;;;;5662:25:100;-1:-1:-1;;;;;5662:25:100;;;;;;;;;;5720:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5698:19:100;:44;;-1:-1:-1;;;;;;5698:44:100;-1:-1:-1;;;;;5698:44:100;;;;;;;;;;5779:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5752:24:100;:49;;-1:-1:-1;;;;;;5752:49:100;-1:-1:-1;;;;;5752:49:100;;;;;;;;;;5832:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5811:18:100;:43;;-1:-1:-1;;;;;;5811:43:100;-1:-1:-1;;;;;5811:43:100;;;;;;;;;;5884:30;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5864:17:100;:50;;-1:-1:-1;;;;;;5864:50:100;-1:-1:-1;;;;;5864:50:100;;;;;;;;;;5938:29;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5924:11:100;:43;;-1:-1:-1;;;;;;5924:43:100;-1:-1:-1;;;;;5924:43:100;;;;;;;;;;5985:15;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5977:5:100;:23;;-1:-1:-1;;;;;;5977:23:100;-1:-1:-1;;;;;5977:23:100;;;;;;;;;;6040:15;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6029:8:100;:26;;-1:-1:-1;;;;;;6029:26:100;-1:-1:-1;;;;;6029:26:100;;;;;;;;;;6081:15;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6065:13:100;:31;;-1:-1:-1;;;;;;6065:31:100;-1:-1:-1;;;;;6065:31:100;;;;;;6193:19;;6236:8;;6193:53;;-1:-1:-1;;;6193:53:100;;6236:8;;;6193:53;;;10392:51:102;6193:19:100;;;:34;;10365:18:102;;6193:53:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6289:11:100;;:46;;-1:-1:-1;;;6289:46:100;;-1:-1:-1;;;;;;;;;;;6289:46:100;;;10600:25:102;-1:-1:-1;;;;;6289:11:100;;;;-1:-1:-1;6289:34:100;;-1:-1:-1;10573:18:102;;6289:46:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6376:6:100;;6457:19;;6376:102;;-1:-1:-1;;;6376:102:100;;-1:-1:-1;;;6376:102:100;;;10810:25:102;-1:-1:-1;;;;;6457:19:100;;;10851:18:102;;;10844:60;6376:6:100;;;-1:-1:-1;6376:34:100;;-1:-1:-1;10783:18:102;;6376:102:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6488:6:100;;6569:11;;6488:94;;-1:-1:-1;;;6488:94:100;;-1:-1:-1;;;6488:94:100;;;10810:25:102;-1:-1:-1;;;;;6569:11:100;;;10851:18:102;;;10844:60;6488:6:100;;;-1:-1:-1;6488:34:100;;-1:-1:-1;10783:18:102;;6488:94:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6592:6:100;;6659:5;;6592:74;;-1:-1:-1;;;6592:74:100;;-1:-1:-1;;;6592:74:100;;;10810:25:102;-1:-1:-1;;;;;6659:5:100;;;10851:18:102;;;10844:60;6592:6:100;;;-1:-1:-1;6592:34:100;;-1:-1:-1;10783:18:102;;6592:74:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6717:5:100;;6743:8;;6717:46;;-1:-1:-1;;;6717:46:100;;-1:-1:-1;;;;;6717:5:100;;;;-1:-1:-1;6717:17:100;;-1:-1:-1;6717:46:100;;6743:8;;;;6754;;6717:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6842:24:100;;6882:8;;;6842:49;;-1:-1:-1;;;6842:49:100;;-1:-1:-1;;;;;6882:8:100;;;6842:49;;;10392:51:102;6842:24:100;;;-1:-1:-1;6842:39:100;;-1:-1:-1;10365:18:102;6842:49:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6901:24:100;;6941:6;;6901:47;;-1:-1:-1;;;6901:47:100;;-1:-1:-1;;;;;6941:6:100;;;6901:47;;;10392:51:102;6901:24:100;;;-1:-1:-1;6901:39:100;;-1:-1:-1;10365:18:102;;6901:47:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6958:18:100;;6992:9;;6958:44;;-1:-1:-1;;;6958:44:100;;-1:-1:-1;;;;;6992:9:100;;;6958:44;;;10392:51:102;6958:18:100;;;-1:-1:-1;6958:33:100;;-1:-1:-1;10365:18:102;;6958:44:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7080:30;7113:31;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7229:52:100;;;7279:1;7229:52;;;;;;;;;7080:64;;-1:-1:-1;7155:59:100;;7229:52;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;7303:228:100;;;;;;;;7386:8;;-1:-1:-1;;;;;7386:8:100;7303:228;;7417:103;;;;;;;;7475:7;7417:103;;7506:11;7303:228;7417:103;;;;;;;7303:228;;;;;;7291:9;;;;-1:-1:-1;7303:228:100;7291:9;;-1:-1:-1;;7291:9:100;;;;:::i;:::-;;;;;;;;;;;:240;;;;7689:6;;7718:24;;7765:18;;7839:11;;7864:12;;7566:320;;7542:21;;-1:-1:-1;;;7602:45:100;7566:320;;7661:6;;-1:-1:-1;;;;;7689:6:100;;;;7718:24;;;;7765:18;;;;7798:6;;7818:7;;7689:6;7839:11;;;;;;7864:12;;;7566:320;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;7566:320:100;;;;;;;-1:-1:-1;;;;;7566:320:100;;;;;;;;;;;7542:344;;7896:18;7942:4;7949:8;7917:41;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7968:3:100;:47;;-1:-1:-1;;;;;;7968:47:100;-1:-1:-1;;;;;7968:47:100;;;;;;;;;;8073:11;;8059:26;;-1:-1:-1;;;8059:26:100;;7968:47;8073:11;;;;;;8059:26;;;10392:51:102;7968:47:100;;-1:-1:-1;;;;;;;;;;;;336:42:0;8059:13:100;;10365:18:102;;8059:26:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8095:3:100;;8117:14;;8095:37;;-1:-1:-1;;;8095:37:100;;-1:-1:-1;;;;;8117:14:100;;;8095:37;;;10392:51:102;8095:3:100;;;-1:-1:-1;8095:21:100;;-1:-1:-1;10365:18:102;;8095:37:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;8142:12:100;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4752:3411;;;;4728:3435::o;28551:255::-;28615:11;;28606:21;;-1:-1:-1;;;28606:21:100;;28615:11;;;;-1:-1:-1;;;;;28615:11:100;28606:21;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;28606:8:100;;10365:18:102;;28606:21:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;28637:40:100;;-1:-1:-1;;;28637:40:100;;28651:5;28637:40;;;13873:41:102;;;13930:18;;;13923:50;;;13989:18;;;13982:50;28672:4:100;14048:18:102;;;14041:50;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;28637:13:100;;-1:-1:-1;13845:19:102;;28637:40:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28692:66;28750:7;28692:66;;;;10600:25:102;;10588:2;10573:18;;10454:177;28692:66:100;;;;;;;;28768:3;;:31;;-1:-1:-1;;;28768:31:100;;28791:7;28768:31;;;10600:25:102;-1:-1:-1;;;;;28768:3:100;;;;:22;;10573:18:102;;28768:31:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28551:255::o;17811:612::-;17937:11;;17928:21;;-1:-1:-1;;;17928:21:100;;17937:11;;;;-1:-1:-1;;;;;17937:11:100;17928:21;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;17928:8:100;;10365:18:102;;17928:21:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17959:73:100;;-1:-1:-1;;;17959:73:100;;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;17959:15:100;;-1:-1:-1;17959:73:100;;-1:-1:-1;;;17975:56:100;17959:73;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18042:3:100;;18081:13;;18098:41;;;;;;;;18042:3;18098:41;;18137:1;18098:41;;;;18042:98;;-1:-1:-1;;;18042:98:100;;-1:-1:-1;;;;;18042:3:100;;;;-1:-1:-1;18042:23:100;;-1:-1:-1;18042:98:100;;18081:13;;;;18042:98;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18202:11:100;;18193:21;;-1:-1:-1;;;18193:21:100;;18202:11;;;;-1:-1:-1;;;;;18202:11:100;18193:21;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;18193:8:100;;-1:-1:-1;10365:18:102;;18193:21:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18224:88:100;;-1:-1:-1;;;18224:88:100;;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;18224:15:100;;-1:-1:-1;18224:88:100;;-1:-1:-1;;;18240:71:100;18224:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18322:3:100;;18361:8;;18373:42;;;;;;;;18409:2;18373:42;;18413:1;18373:42;;;;18322:94;;-1:-1:-1;;;18322:94:100;;-1:-1:-1;;;;;18322:3:100;;;;-1:-1:-1;18322:23:100;;-1:-1:-1;18322:94:100;;18361:8;;;;18322:94;;;:::i;25901:248::-;-1:-1:-1;;;;;;;;;;;;;;;;26052:15:100;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;26088:12:100;;26079:22;;-1:-1:-1;;;26079:22:100;;-1:-1:-1;;;;;26088:12:100;;;26079:22;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;26079:8:100;;-1:-1:-1;10365:18:102;;26079:22:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;26111:3:100;;:31;;-1:-1:-1;;;26111:31:100;;26134:7;26111:31;;;10600:25:102;-1:-1:-1;;;;;26111:3:100;;;;-1:-1:-1;26111:22:100;;-1:-1:-1;10573:18:102;;26111:31:100;10454:177:102;2907:134:7;2954:33;3018:16;2999:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2999:35:7;;;;;;;;;;;;;;;;;;;;;;;2907:134;:::o;3823:151::-;3872:42;3948:19;3926:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3926:41:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3823:151;:::o;20427:733:100:-;20538:9;;20500:15;;20525:29;;-1:-1:-1;;;;;20538:9:100;20500:15;20488:9;20525:12;:29::i;:::-;-1:-1:-1;20612:14:100;;20603:24;;-1:-1:-1;;;20603:24:100;;-1:-1:-1;;;;;20612:14:100;;;20603:24;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;20603:8:100;;10365:18:102;;20603:24:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20637:3:100;;20663:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;20712:8;;20637:95;;-1:-1:-1;;;20637:95:100;;-1:-1:-1;;;;;20637:3:100;;;;-1:-1:-1;20637:25:100;;-1:-1:-1;20637:95:100;;20663:9;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;20712:8;;20724:7;;20637:95;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20853:6:100;;20861:8;;20871:9;;20821:17;;-1:-1:-1;20841:48:100;;-1:-1:-1;;;;;;20853:6:100;;;;20861:8;;;;20871:9;20882:1;20885:3;20841:11;:48::i;:::-;20821:68;;20899:29;20908:9;20919:8;20899;:29::i;:::-;21049:3;;21064:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;21049:51;;-1:-1:-1;;;21049:51:100;;-1:-1:-1;;;;;;;21049:3:100;;;;:14;;:51;;21064:9;;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;21087:1;;21049:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21000:100;;21110:43;21119:3;:19;;;:24;;;21145:7;21110:8;:43::i;:::-;20478:682;;;20427:733::o;13541:587::-;13660:11;;13651:21;;-1:-1:-1;;;13651:21:100;;13660:11;;;;-1:-1:-1;;;;;13660:11:100;13651:21;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;13651:8:100;;10365:18:102;;13651:21:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13682:90:100;;-1:-1:-1;;;13682:90:100;;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;13682:15:100;;-1:-1:-1;13682:90:100;;-1:-1:-1;;;13698:73:100;13682:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13782:3:100;;13816:8;;13782:44;;-1:-1:-1;;;13782:44:100;;-1:-1:-1;;;;;13816:8:100;;;13782:44;;;10392:51:102;13782:3:100;;;-1:-1:-1;13782:25:100;;-1:-1:-1;10365:18:102;;13782:44:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13861:19;13883:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13924:11:100;;13915:21;;-1:-1:-1;;;13915:21:100;;13924:11;;;;-1:-1:-1;;;;;13924:11:100;13915:21;;;10392:51:102;13861:44:100;;-1:-1:-1;;;;;;;;;;;;336:42:0;13915:8:100;;10365:18:102;;13915:21:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13946:39:100;;-1:-1:-1;;;13946:39:100;;13960:4;13946:39;;;13873:41:102;;;13966:5:100;13930:18:102;;;13923:50;;;13989:18;;;13982:50;14048:18;;;14041:50;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;13946:13:100;;-1:-1:-1;13845:19:102;;13946:39:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14000:73:100;;-1:-1:-1;;;;;14000:73:100;;;-1:-1:-1;14000:73:100;;-1:-1:-1;14000:73:100;;;14083:3;;:38;;-1:-1:-1;;;14083:38:100;;-1:-1:-1;;;;;10410:32:102;;;14083:38:100;;;10392:51:102;14083:3:100;;;;:25;;10365:18:102;;14083:38:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13598:530;13541:587::o;3684:133:7:-;3730:33;3794:16;3775:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3775:35:7;;;;;;;;;;;;;;;;;;;;;;3684:133;:::o;3385:141::-;3433:35;3501:18;3480:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3480:39:7;;;;;;;;;;;;;;;;;;;;;;3385:141;:::o;25163:732:100:-;25262:31;25296;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;25262:65;;-1:-1:-1;;;;;;;;;;;;;;;;25337:15:100;;25406:56;;;25472:4;25479:3;;;;;;;;;-1:-1:-1;;;;;25479:3:100;-1:-1:-1;;;;;25479:22:100;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25366:151;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;25366:151:100;;;;;;;;;;;;;;-1:-1:-1;;;;;25366:151:100;-1:-1:-1;;;;;;25366:151:100;;;;;;25337:190;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;25537:3:100;;:40;;;-1:-1:-1;;;25537:40:100;;-1:-1:-1;;;;;20712:32:102;;;25537:40:100;;;20694:51:102;20761:18;;;20754:30;;;;-1:-1:-1;20800:18:102;;;20793:29;25537:3:100;;;-1:-1:-1;25537:20:100;;-1:-1:-1;20839:18:102;;25537:40:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25625:23;25651:3;;;;;;;;;-1:-1:-1;;;;;25651:3:100;-1:-1:-1;;;;;25651:19:100;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25691:12;;25682:22;;-1:-1:-1;;;25682:22:100;;-1:-1:-1;;;;;25691:12:100;;;25682:22;;;10392:51:102;25625:47:100;;-1:-1:-1;;;;;;;;;;;;336:42:0;25682:8:100;;10365:18:102;;25682:22:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;25714:3:100;;:40;;;-1:-1:-1;;;25714:40:100;;-1:-1:-1;;;;;20712:32:102;;;25714:40:100;;;20694:51:102;20761:18;;;20754:30;;;;-1:-1:-1;20800:18:102;;;20793:29;25714:3:100;;;-1:-1:-1;25714:20:100;;-1:-1:-1;20839:18:102;;25714:40:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25791:48;25800:3;;;;;;;;;-1:-1:-1;;;;;25800:3:100;-1:-1:-1;;;;;25800:19:100;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25823:15;25791:8;:48::i;:::-;25858:3;;:21;;;-1:-1:-1;;;25858:21:100;;;;25849:39;;-1:-1:-1;;;;;25858:3:100;;:19;;:21;;;;;;;;;;;;;;:3;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25881:6;25849:8;:39::i;:::-;25208:687;;25163:732::o;18429:1992::-;18681:3;;:26;;;-1:-1:-1;;;18681:26:100;;;;-1:-1:-1;;;;;;;;;;;336:42:0;18539:15:100;;-1:-1:-1;;;18608:56:100;18674:4;;-1:-1:-1;;;;;18681:3:100;;:24;;:26;;;;;;;;;;;;;;:3;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18568:153;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;18568:153:100;;;;;;;;;;;;;;-1:-1:-1;;;;;18568:153:100;-1:-1:-1;;;;;;18568:153:100;;;;;;18539:192;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18741:3:100;;18767:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;18816:8;;18741:95;;-1:-1:-1;;;18741:95:100;;-1:-1:-1;;;;;18741:3:100;;;;-1:-1:-1;18741:25:100;;-1:-1:-1;18741:95:100;;18767:9;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;18816:8;;18828:7;;18741:95;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18887:37:100;;-1:-1:-1;;;18887:37:100;;18901:4;18887:37;;;13873:41:102;;;13930:18;;;13923:50;;;13989:18;;;13982:50;;;14048:18;;;14041:50;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;18887:13:100;;-1:-1:-1;13845:19:102;;18887:37:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18954:3:100;;18978:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;18954:57;;-1:-1:-1;;;18954:57:100;;18934:17;;-1:-1:-1;;;;;;18954:3:100;;;;-1:-1:-1;18954:23:100;;:57;;18978:9;;-1:-1:-1;;;;;;;;;;;4638:21:100;18954:57;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19148:8;;19099:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;19026:151;;18934:77;;-1:-1:-1;;;;;;19148:8:100;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;18934:77;;19026:151;;;;19099:9;;;;;19160:7;;19026:151;:::i;:::-;;;;;;;;19196:14;;19187:24;;-1:-1:-1;;;19187:24:100;;-1:-1:-1;;;;;19196:14:100;;;19187:24;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;19187:8:100;;10365:18:102;;19187:24:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19221:3:100;;19247:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;19296:8;;19221:95;;-1:-1:-1;;;19221:95:100;;-1:-1:-1;;;;;19221:3:100;;;;-1:-1:-1;19221:25:100;;-1:-1:-1;19221:95:100;;19247:9;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;19296:8;;19308:7;;19221:95;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19369:14:100;;19360:24;;-1:-1:-1;;;19360:24:100;;-1:-1:-1;;;;;19369:14:100;;;19360:24;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;19360:8:100;;-1:-1:-1;10365:18:102;;19360:24:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19394:79:100;;-1:-1:-1;;;19394:79:100;;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;19394:15:100;;-1:-1:-1;19394:79:100;;-1:-1:-1;;;19410:62:100;19394:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19483:3:100;;19509:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;19558:8;;19483:89;;-1:-1:-1;;;19483:89:100;;-1:-1:-1;;;;;19483:3:100;;;;-1:-1:-1;19483:25:100;;-1:-1:-1;19483:89:100;;19509:9;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;19558:8;;19483:3;;:89;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19613:14:100;;19604:24;;-1:-1:-1;;;19604:24:100;;-1:-1:-1;;;;;19613:14:100;;;19604:24;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;19604:8:100;;-1:-1:-1;10365:18:102;;19604:24:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19638:81:100;;-1:-1:-1;;;19638:81:100;;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;19638:15:100;;-1:-1:-1;19638:81:100;;-1:-1:-1;;;19654:64:100;19638:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19729:3:100;;19755:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;19804:8;;19729:97;;-1:-1:-1;;;19729:97:100;;-1:-1:-1;;;;;19729:3:100;;;;-1:-1:-1;19729:25:100;;-1:-1:-1;19729:97:100;;19755:9;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;19804:8;;19816:9;;19729:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19867:14:100;;19858:24;;-1:-1:-1;;;19858:24:100;;-1:-1:-1;;;;;19867:14:100;;;19858:24;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;19858:8:100;;-1:-1:-1;10365:18:102;;19858:24:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19892:83:100;;-1:-1:-1;;;19892:83:100;;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;19892:15:100;;-1:-1:-1;19892:83:100;;-1:-1:-1;;;19908:66:100;19892:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19985:3:100;;20011:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;20060:8;;19985:99;;-1:-1:-1;;;19985:99:100;;-1:-1:-1;;;;;19985:3:100;;;;-1:-1:-1;19985:25:100;;-1:-1:-1;19985:99:100;;20011:9;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;20060:8;;20072:11;;19985:99;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20212:14:100;;20203:24;;-1:-1:-1;;;20203:24:100;;-1:-1:-1;;;;;20212:14:100;;;20203:24;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;20203:8:100;;-1:-1:-1;10365:18:102;;20203:24:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20237:73:100;;-1:-1:-1;;;20237:73:100;;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;20237:15:100;;-1:-1:-1;20237:73:100;;-1:-1:-1;;;20253:56:100;20237:73;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20320:3:100;;20346:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;20395:13;;20320:94;;-1:-1:-1;;;20320:94:100;;-1:-1:-1;;;;;20320:3:100;;;;-1:-1:-1;20320:25:100;;-1:-1:-1;20320:94:100;;20346:9;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;20395:13;;20320:3;;:94;;;:::i;17042:691::-;17169:9;;17131:15;;17156:29;;-1:-1:-1;;;;;17169:9:100;17131:15;17119:9;17156:12;:29::i;:::-;-1:-1:-1;17263:14:100;;17254:24;;-1:-1:-1;;;17254:24:100;;-1:-1:-1;;;;;17263:14:100;;;17254:24;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;17254:8:100;;10365:18:102;;17254:24:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17288:3:100;;17327:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;17369:17;;17288:100;;-1:-1:-1;;;17288:100:100;;-1:-1:-1;;;;;17288:3:100;;;;-1:-1:-1;17288:38:100;;-1:-1:-1;17288:100:100;;17327:9;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;17369:17;;17288:100;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17510:18;17531:22;;;;;;;;;;;;;;-1:-1:-1;;;17531:22:100;;;:8;:22::i;:::-;17510:43;;17563:20;17586:24;;;;;;;;;;;;;;-1:-1:-1;;;17586:24:100;;;:8;:24::i;:::-;17678:9;;17563:47;;-1:-1:-1;17620:17:100;;17640:54;;17652:10;;17563:47;;-1:-1:-1;;;;;17678:9:100;17689:1;17692;17640:11;:54::i;:::-;17620:74;;17704:22;17713:9;17724:1;17704:8;:22::i;26237:868::-;26407:14;;26398:24;;-1:-1:-1;;;26398:24:100;;-1:-1:-1;;;;;26407:14:100;;;26398:24;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;26398:8:100;;10365:18:102;;26398:24:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;26432:90:100;;-1:-1:-1;;;26432:90:100;;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;26432:15:100;;-1:-1:-1;26432:90:100;;-1:-1:-1;;;26448:73:100;26432:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;26532:3:100;;26571:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;26613:8;;26532:91;;-1:-1:-1;;;26532:91:100;;-1:-1:-1;;;;;26532:3:100;;;;-1:-1:-1;26532:38:100;;-1:-1:-1;26532:91:100;;26571:9;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;26613:8;;26532:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;26658:38:100;;-1:-1:-1;;;26658:38:100;;26672:4;26658:38;;;13873:41:102;;;13930:18;;;13923:50;;;26684:5:100;13989:18:102;;;13982:50;14048:18;;;14041:50;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;26658:13:100;;-1:-1:-1;13845:19:102;;26658:38:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;26726:3:100;;26750:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;26726:57;;-1:-1:-1;;;26726:57:100;;26706:17;;-1:-1:-1;;;;;;26726:3:100;;;;-1:-1:-1;26726:23:100;;:57;;26750:9;;-1:-1:-1;;;;;;;;;;;4638:21:100;26726:57;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;26926:17;;26884:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;26798:156;;26706:77;;-1:-1:-1;;;;;;26926:17:100;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;26706:77;;26798:156;;;;26884:9;;;;;26798:156;:::i;:::-;;;;;;;;26973:14;;26964:24;;-1:-1:-1;;;26964:24:100;;-1:-1:-1;;;;;26973:14:100;;;26964:24;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;26964:8:100;;10365:18:102;;26964:24:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;26998:3:100;;27037:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;27079:17;;26998:100;;-1:-1:-1;;;26998:100:100;;-1:-1:-1;;;;;26998:3:100;;;;-1:-1:-1;26998:38:100;;-1:-1:-1;26998:100:100;;27037:9;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;27079:17;;26998:100;;;:::i;3193:186:7:-;3249:56;3346:26;3317:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3317:55:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12884:651:100;13049:11;;13040:21;;-1:-1:-1;;;13040:21:100;;13049:11;;;;-1:-1:-1;;;;;13049:11:100;13040:21;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;13040:8:100;;10365:18:102;;13040:21:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13071:90:100;;-1:-1:-1;;;13071:90:100;;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;13071:15:100;;-1:-1:-1;13071:90:100;;-1:-1:-1;;;13087:73:100;13071:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13171:3:100;;13211:8;;13171:50;;-1:-1:-1;;;13171:50:100;;-1:-1:-1;;;;;13211:8:100;;;13171:50;;;10392:51:102;13171:3:100;;;-1:-1:-1;13171:31:100;;-1:-1:-1;10365:18:102;;13171:50:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13256:19;13278:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13319:11:100;;13310:21;;-1:-1:-1;;;13310:21:100;;13319:11;;;;-1:-1:-1;;;;;13319:11:100;13310:21;;;10392:51:102;13256:44:100;;-1:-1:-1;;;;;;;;;;;;336:42:0;13310:8:100;;10365:18:102;;13310:21:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13341:39:100;;-1:-1:-1;;;13341:39:100;;13355:4;13341:39;;;13873:41:102;;;13361:5:100;13930:18:102;;;13923:50;;;13989:18;;;13982:50;14048:18;;;14041:50;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;13341:13:100;;-1:-1:-1;13845:19:102;;13341:39:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13395:79:100;;-1:-1:-1;;;;;13395:79:100;;;-1:-1:-1;13395:79:100;;-1:-1:-1;13395:79:100;;;13484:3;;:44;;-1:-1:-1;;;13484:44:100;;-1:-1:-1;;;;;10410:32:102;;;13484:44:100;;;10392:51:102;13484:3:100;;;;:31;;10365:18:102;;13484:44:100;10246:203:102;14134:538:100;14256:84;;-1:-1:-1;;;14256:84:100;;-1:-1:-1;;;;;;;;;;;336:42:0;14256:15:100;;:84;;-1:-1:-1;;;14272:67:100;14256:84;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14350:3:100;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;14422:8;;14350:86;;-1:-1:-1;;;14350:86:100;;-1:-1:-1;;;;;14350:3:100;;;;-1:-1:-1;14350:16:100;;-1:-1:-1;14350:86:100;;-1:-1:-1;;;;;;;;;;;4638:21:100;14379:15;;4701:20;14422:8;;;14350:3;;:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;14519:9:100;;14486:17;;14506:43;;-1:-1:-1;;;;;14519:9:100;14530:15;14486:17;14506:12;:43::i;:::-;14486:63;;14636:29;14645:9;14656:8;14636;:29::i;:::-;14199:473;14134:538::o;15323:569::-;15454:3;;15485:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;15454:64;;-1:-1:-1;;;15454:64:100;;15423:28;;-1:-1:-1;;;;;15454:3:100;;;;:30;;:64;;15485:9;;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;15454:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15423:95;;15528:33;15545:2;15558:1;15528:8;:33::i;:::-;15608:14;;15599:24;;-1:-1:-1;;;15599:24:100;;-1:-1:-1;;;;;15608:14:100;;;15599:24;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;15599:8:100;;10365:18:102;;15599:24:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15633:3:100;;15672:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;15714:24;;15633:107;;-1:-1:-1;;;15633:107:100;;-1:-1:-1;;;;;15633:3:100;;;;-1:-1:-1;15633:38:100;;-1:-1:-1;15633:107:100;;15672:9;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;15714:24;;15633:107;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15755:3:100;;15786:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;15755:64;;-1:-1:-1;;;15755:64:100;;-1:-1:-1;;;;;15755:3:100;;;;-1:-1:-1;15755:30:100;;-1:-1:-1;15755:64:100;;15786:9;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;4701:20;15755:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15859:24;;15750:69;;-1:-1:-1;15829:56:100;;15750:69;;-1:-1:-1;;;;;15859:24:100;15829:8;:56::i;21236:819::-;21473:3;;:23;;;-1:-1:-1;;;21473:23:100;;;;-1:-1:-1;;;;;;;;;;;336:42:0;21331:15:100;;-1:-1:-1;;;21400:56:100;21466:4;;-1:-1:-1;;;;;21473:3:100;;:21;;:23;;;;;;;;;;;;;;:3;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21360:150;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;21360:150:100;;;;;;;;;;;;;;-1:-1:-1;;;;;21360:150:100;-1:-1:-1;;;;;;21360:150:100;;;;;;21331:189;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;21530:3:100;;:31;;-1:-1:-1;;;21530:31:100;;21553:7;21530:31;;;10600:25:102;-1:-1:-1;;;;;21530:3:100;;;;-1:-1:-1;21530:22:100;;-1:-1:-1;10573:18:102;;21530:31:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;21607:11:100;;21598:21;;-1:-1:-1;;;21598:21:100;;21607:11;;;;-1:-1:-1;;;;;21607:11:100;21598:21;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;21598:8:100;;-1:-1:-1;10365:18:102;;21598:21:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;21629:74:100;;-1:-1:-1;;;21629:74:100;;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;21629:15:100;;-1:-1:-1;21629:74:100;;-1:-1:-1;;;21645:57:100;21629:74;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;21713:3:100;;:25;;-1:-1:-1;;;21713:25:100;;:3;:25;;;10600::102;-1:-1:-1;;;;;21713:3:100;;;;-1:-1:-1;21713:22:100;;-1:-1:-1;10573:18:102;;21713:25:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;21758:11:100;;21749:21;;-1:-1:-1;;;21749:21:100;;21758:11;;;;-1:-1:-1;;;;;21758:11:100;21749:21;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;21749:8:100;;-1:-1:-1;10365:18:102;;21749:21:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;21780:70:100;;-1:-1:-1;;;21780:70:100;;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;21780:15:100;;-1:-1:-1;21780:70:100;;-1:-1:-1;;;21796:53:100;21780:70;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;21860:3:100;;:41;;-1:-1:-1;;;21860:41:100;;-1:-1:-1;;21860:41:100;;;10600:25:102;-1:-1:-1;;;;;21860:3:100;;;;-1:-1:-1;21860:22:100;;-1:-1:-1;10573:18:102;;21860:41:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;21945:11:100;;21936:21;;-1:-1:-1;;;21936:21:100;;21945:11;;;;-1:-1:-1;;;;;21945:11:100;21936:21;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;21936:8:100;;-1:-1:-1;10365:18:102;;21936:21:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;21967:3:100;;:31;;-1:-1:-1;;;21967:31:100;;21990:7;21967:31;;;10600:25:102;-1:-1:-1;;;;;21967:3:100;;;;-1:-1:-1;21967:22:100;;-1:-1:-1;10573:18:102;;21967:31:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22008:40;22017:3;;;;;;;;;-1:-1:-1;;;;;22017:3:100;-1:-1:-1;;;;;22017:19:100;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22040:7;22008:8;:40::i;:::-;21236:819::o;23831:768::-;23966:3;;:24;;;-1:-1:-1;;;23966:24:100;;;;23957:60;;-1:-1:-1;;;;;23966:3:100;;:22;;:24;;;;;;;;;;;;;;:3;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23992:3;;;;;;;;;-1:-1:-1;;;;;23992:3:100;-1:-1:-1;;;;;23992:22:100;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23957:8;:60::i;:::-;24109:3;;24121:24;;;-1:-1:-1;;;24121:24:100;;;;24098:63;;-1:-1:-1;;;;;24109:3:100;;:11;;:3;;24121:22;;:24;;;;;;;;;;;;;;24109:3;24121:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24147:12;;24109:51;;;;;;-1:-1:-1;;;;;;24109:51:100;;;;;;10810:25:102;;;;-1:-1:-1;;;;;24147:12:100;10851:18:102;;;10844:60;10783:18;;24109:51:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24098:10;:63::i;:::-;24183:3;;24195:24;;;-1:-1:-1;;;24195:24:100;;;;24171:63;;-1:-1:-1;;;;;24183:3:100;;:11;;:3;;24195:22;;:24;;;;;;;;;;;;;;24183:3;24195:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24221:11;;24183:50;;;;;;-1:-1:-1;;;;;;24183:50:100;;;;;;10810:25:102;;;;24221:11:100;;;-1:-1:-1;;;;;24221:11:100;10851:18:102;;;10844:60;10783:18;;24183:50:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24171:11;:63::i;:::-;24321:3;;24338:23;;;-1:-1:-1;;;24338:23:100;;;;24312:77;;-1:-1:-1;;;;;24321:3:100;;:16;;:3;;24338:21;;:23;;;;;;;;;;;;;;24321:3;24338:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24321:41;;;;;;;;;;;;;10600:25:102;;10588:2;10573:18;;10454:177;24321:41:100;;;;;;;;;;;;;;;;;;;;;;;24312:77;24522:3;;24539:26;;;-1:-1:-1;;;24539:26:100;;;;24513:79;;-1:-1:-1;;;;;24522:3:100;;:16;;:3;;24539:24;;:26;;;;;;;;;;;;;;24522:3;24539:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24522:44;;;;;;;;;;;;;10600:25:102;;10588:2;10573:18;;10454:177;24522:44:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24568:3;;;;;;;;;-1:-1:-1;;;;;24568:3:100;-1:-1:-1;;;;;24568:21:100;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3047:140:7;3095:34;3162:18;3141:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3532:146;3580:40;3653:18;3632:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3632:39:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3632:39:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11718:1089:100;11810:3;;:26;;;-1:-1:-1;;;11810:26:100;;;;11779:28;;-1:-1:-1;;;;;11810:3:100;;:24;;:26;;;;;;;;;;;;;;:3;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12071:3;;:23;;;-1:-1:-1;;;12071:23:100;;;;11779:57;;-1:-1:-1;11912:6:100;;-1:-1:-1;;;;;;;;;;;336:42:0;11929:15:100;;-1:-1:-1;;;11998:56:100;12064:4;;-1:-1:-1;;;;;12071:3:100;;:21;;:23;;;;;;;;;;;;;;:3;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11958:150;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;11958:150:100;;;;;;;;;;;;;;-1:-1:-1;;;;;11958:150:100;-1:-1:-1;;;;;;11958:150:100;;;;;;11929:189;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12128:3:100;;:29;;-1:-1:-1;;;12128:29:100;;-1:-1:-1;;;;;10410:32:102;;;12128:29:100;;;10392:51:102;12128:3:100;;;;-1:-1:-1;12128:21:100;;-1:-1:-1;10365:18:102;;12128:29:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12204:11:100;;12190:26;;-1:-1:-1;;;12190:26:100;;12204:11;;;;-1:-1:-1;;;;;12204:11:100;12190:26;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;12190:13:100;;-1:-1:-1;10365:18:102;;12190:26:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12226:39:100;;-1:-1:-1;;;12226:39:100;;12240:4;12226:39;;;13873:41:102;;;12246:5:100;13930:18:102;;;13923:50;;;13989:18;;;13982:50;14048:18;;;14041:50;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;12226:13:100;;-1:-1:-1;13845:19:102;;12226:39:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12337:11:100;;12280:69;;-1:-1:-1;;;;;12337:11:100;;;;;;;-1:-1:-1;12280:69:100;;;;-1:-1:-1;12307:20:100;;12280:69;;;;;12359:3;;:29;;-1:-1:-1;;;12359:29:100;;-1:-1:-1;;;;;10410:32:102;;;12359:29:100;;;10392:51:102;12359:3:100;;;;:21;;10365:18:102;;12359:29:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;12398:12:100;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12433:3:100;;:41;;-1:-1:-1;;;12433:41:100;;;;;10810:25:102;;;-1:-1:-1;;;;;10871:32:102;;;10851:18;;;10844:60;12422:53:100;;-1:-1:-1;12433:3:100;;;;-1:-1:-1;12433:11:100;;10783:18:102;;12433:41:100;10636:274:102;12422:53:100;12525:11;;12511:26;;-1:-1:-1;;;12511:26:100;;12525:11;;;;-1:-1:-1;;;;;12525:11:100;12511:26;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;12511:13:100;;10365:18:102;;12511:26:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12547:39:100;;-1:-1:-1;;;12547:39:100;;12561:4;12547:39;;;13873:41:102;;;12567:5:100;13930:18:102;;;13923:50;;;13989:18;;;13982:50;14048:18;;;14041:50;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;12547:13:100;;-1:-1:-1;13845:19:102;;12547:39:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12658:11:100;;12601:69;;-1:-1:-1;;;;;12658:11:100;;;;;;;-1:-1:-1;12601:69:100;;;;-1:-1:-1;12628:20:100;;12601:69;;;;;12680:3;;:32;;-1:-1:-1;;;12680:32:100;;-1:-1:-1;;;;;10410:32:102;;;12680::100;;;10392:51:102;12680:3:100;;;;:24;;10365:18:102;;12680:32:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;12722:12:100;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12758:3:100;;:41;;-1:-1:-1;;;12758:41:100;;;;;10810:25:102;;;-1:-1:-1;;;;;10871:32:102;;;10851:18;;;10844:60;12746:54:100;;-1:-1:-1;12758:3:100;;;;-1:-1:-1;12758:11:100;;10783:18:102;;12758:41:100;10636:274:102;28144:401:100;28244:11;;28235:21;;-1:-1:-1;;;28235:21:100;;28244:11;;;;-1:-1:-1;;;;;28244:11:100;28235:21;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;28235:8:100;;10365:18:102;;28235:21:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;28266:39:100;;-1:-1:-1;;;28266:39:100;;28280:4;28266:39;;;13873:41:102;;;28286:5:100;13930:18:102;;;13923:50;;;13989:18;;;13982:50;14048:18;;;14041:50;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;28266:13:100;;-1:-1:-1;13845:19:102;;28266:39:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;28394:8:100;;28320:103;;;28406:7;27430:25:102;;28415:7:100;27486:2:102;27471:18;;27464:34;-1:-1:-1;;;;;28394:8:100;;;;-1:-1:-1;28320:103:100;;-1:-1:-1;27403:18:102;28320:103:100;;;;;;;28433:3;;28472:8;;28484:53;;;;;;;;28520:7;28484:53;;28529:7;28484:53;;;;28433:105;;-1:-1:-1;;;28433:105:100;;-1:-1:-1;;;;;28433:3:100;;;;:23;;:105;;28472:8;;;28433:105;;;:::i;22061:1366::-;22196:9;;22158:15;;22183:29;;-1:-1:-1;;;;;22196:9:100;22158:15;22146:9;22183:12;:29::i;:::-;-1:-1:-1;22267:14:100;;22258:24;;-1:-1:-1;;;22258:24:100;;-1:-1:-1;;;;;22267:14:100;;;22258:24;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;22258:8:100;;10365:18:102;;22258:24:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;22292:75:100;;-1:-1:-1;;;22292:75:100;;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;22292:15:100;;-1:-1:-1;22292:75:100;;-1:-1:-1;;;22308:58:100;22292:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;22377:3:100;;22413:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;22377:72;;-1:-1:-1;;;22377:72:100;;-1:-1:-1;;;;;22377:3:100;;;;-1:-1:-1;22377:35:100;;-1:-1:-1;22377:72:100;;22413:9;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;4701:20;22377:3;;:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;22505:14:100;;22496:24;;-1:-1:-1;;;22496:24:100;;-1:-1:-1;;;;;22505:14:100;;;22496:24;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;22496:8:100;;-1:-1:-1;10365:18:102;;22496:24:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;22530:70:100;;-1:-1:-1;;;22530:70:100;;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;22530:15:100;;-1:-1:-1;22530:70:100;;-1:-1:-1;;;22546:53:100;22530:70;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;22610:3:100;;22646:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;22610:81;;-1:-1:-1;;;22610:81:100;;-1:-1:-1;;;;;22610:3:100;;;;-1:-1:-1;22610:35:100;;-1:-1:-1;22610:81:100;;22646:9;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;4701:20;22680:10;;22610:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;22733:37:100;;-1:-1:-1;;;22733:37:100;;22747:4;22733:37;;;13873:41:102;;;13930:18;;;13923:50;;;13989:18;;;13982:50;;;14048:18;;;14041:50;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;22733:13:100;;-1:-1:-1;13845:19:102;;22733:37:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;22800:3:100;;22824:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;22800:57;;-1:-1:-1;;;22800:57:100;;22780:17;;-1:-1:-1;;;;;;22800:3:100;;;;-1:-1:-1;22800:23:100;;:57;;22824:9;;-1:-1:-1;;;;;;;;;;;4638:21:100;22800:57;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22936:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;22872:106;;22780:77;;-1:-1:-1;;;;;;;;;;;;4638:21:100;-1:-1:-1;;;;;22936:9:100;;;;22780:77;;22872:106;;;;4701:20;22970:7;;22872:106;:::i;:::-;;;;;;;;22997:14;;22988:24;;-1:-1:-1;;;22988:24:100;;-1:-1:-1;;;;;22997:14:100;;;22988:24;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;22988:8:100;;10365:18:102;;22988:24:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;23022:3:100;;23058:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;23022:78;;-1:-1:-1;;;23022:78:100;;-1:-1:-1;;;;;23022:3:100;;;;-1:-1:-1;23022:35:100;;-1:-1:-1;23022:78:100;;23058:9;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;4701:20;23092:7;;23022:78;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;336:42:0;-1:-1:-1;23172:7:100;;-1:-1:-1;23180:6:100;;-1:-1:-1;23180:1:100;23184:2;23180:6;:::i;:::-;23172:15;;;;;;;;;;;;;10600:25:102;;10588:2;10573:18;;10454:177;23172:15:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;23209:6:100;;23217:8;;23227:9;;23197:48;;-1:-1:-1;;;;;;23209:6:100;;;;-1:-1:-1;23217:8:100;;;;23227:9;23238:1;23241:3;23197:11;:48::i;:::-;-1:-1:-1;23304:3:100;;23319:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;23304:51;;-1:-1:-1;;;23304:51:100;;-1:-1:-1;;;;;;;23304:3:100;;;;:14;;:51;;23319:9;;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;23342:1;;23304:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23255:100;;23365:55;23374:3;:18;;;23394:15;23412:7;23394:25;;;;:::i;:::-;23365:8;:55::i;2754:147:7:-;2803:40;2876:18;2855:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2855:39:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2855:39:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2459:141;2508:34;2575:18;2554:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9460:890:100;9604:3;;9646:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;9604:75;;-1:-1:-1;;;9604:75:100;;-1:-1:-1;;;;;;;;;9604:3:100;;;;:41;;:75;;9646:9;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;4701:20;9604:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9604:75:100;;;;;;;;;;;;:::i;:::-;9552:127;;;;9689:19;9700:7;9689:10;:19::i;:::-;9718:24;9727:4;:11;9740:1;9718:8;:24::i;:::-;9793:84;;-1:-1:-1;;;9793:84:100;;-1:-1:-1;;;;;;;;;;;336:42:0;9793:15:100;;:84;;-1:-1:-1;;;9809:67:100;9793:84;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9887:3:100;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;9959:8;;9887:86;;-1:-1:-1;;;9887:86:100;;-1:-1:-1;;;;;9887:3:100;;;;-1:-1:-1;9887:16:100;;-1:-1:-1;9887:86:100;;-1:-1:-1;;;;;;;;;;;4638:21:100;9916:15;;4701:20;9959:8;;;9887:3;;:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10048:3:100;;:23;;;-1:-1:-1;;;10048:23:100;;;;10020:25;;-1:-1:-1;;;;;10048:3:100;;:21;;:23;;;;;;;;;;;;;;:3;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10020:51;;10081:28;10112:3;;;;;;;;;-1:-1:-1;;;;;10112:3:100;-1:-1:-1;;;;;10112:24:100;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10159:3;;10190:11;;10159:43;;-1:-1:-1;;;10159:43:100;;;;;10810:25:102;;;-1:-1:-1;;;;;10159:3:100;10190:11;;;;;10851:18:102;;;10844:60;10081:57:100;;-1:-1:-1;10148:55:100;;10159:3;;;:11;;10783:18:102;;10159:43:100;10636:274:102;10148:55:100;10285:3;;:38;;-1:-1:-1;;;10285:38:100;;;;;10600:25:102;;;10276:67:100;;-1:-1:-1;;;;;10285:3:100;;:16;;10573:18:102;;10285:38:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10325:17;10276:8;:67::i;1243:204:2:-;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:2;;;;;1243:204::o;1298:143::-;1377:39;;-1:-1:-1;;;1377:39:2;;1428:1;;-1:-1:-1;;;;;;;;;;;1377:7:2;;;:39;;219:28;;-1:-1:-1;;;1398:17:2;1377:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;23491:250:100:-;23564:3;;23588:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;23564:57;;-1:-1:-1;;;23564:57:100;;23550:11;;-1:-1:-1;;;;;23564:3:100;;;;:23;;:57;;23588:9;;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;23564:57;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23672:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;;;;;23655:50;;23550:71;;-1:-1:-1;23631:11:100;;23655:50;;-1:-1:-1;;;;;23672:9:100;;-1:-1:-1;;;;;;;;;;;4638:21:100;4701:20;23655:50;;:::i;:::-;;;;;;;;;;;;;23645:61;;;;;;23631:75;;23716:18;23725:3;23730;23716:8;:18::i;24605:552::-;24674:17;24694:26;;;;;;;;;;;;;;-1:-1:-1;;;24694:26:100;;;:8;:26::i;:::-;24797:12;;24783:27;;-1:-1:-1;;;24783:27:100;;-1:-1:-1;;;;;24797:12:100;;;24783:27;;;10392:51:102;24674:46:100;;-1:-1:-1;;;;;;;;;;;;336:42:0;24783:13:100;;10365:18:102;;24783:27:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;24820:3:100;;24834:23;;;-1:-1:-1;;;24834:23:100;;;;-1:-1:-1;;;;;24820:3:100;;;;-1:-1:-1;24820:13:100;;-1:-1:-1;24820:3:100;;24834:21;;:23;;;;;;;;;;;;;;;24820:3;24834:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24820:49;;-1:-1:-1;;;;;;24820:49:100;;;;;;;;;;10810:25:102;;;;-1:-1:-1;;;;;10871:32:102;;10851:18;;;10844:60;10783:18;;24820:49:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;24933:3:100;;24948:23;;;-1:-1:-1;;;24948:23:100;;;;-1:-1:-1;;;;;24933:3:100;;;;-1:-1:-1;24933:14:100;;-1:-1:-1;24933:3:100;;24948:21;;:23;;;;;;;;;;;;;;;24933:3;24948:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24973:11;;24933:52;;;;;;-1:-1:-1;;;;;;24933:52:100;;;;;;10810:25:102;;;;24973:11:100;;;-1:-1:-1;;;;;24973:11:100;10851:18:102;;;10844:60;10783:18;;24933:52:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;24995:12:100;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;25030:3:100;;25042:23;;;-1:-1:-1;;;25042:23:100;;;;25019:59;;-1:-1:-1;;;;;;25030:3:100;;;;-1:-1:-1;25030:11:100;;:3;;25042:21;;:23;;;;;;;;;;;;;;25030:3;25042:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25030:47;;-1:-1:-1;;;;;;25030:47:100;;;;;;;;;;10810:25:102;;;;-1:-1:-1;;;;;10871:32:102;;10851:18;;;10844:60;10783:18;;25030:47:100;10636:274:102;25019:59:100;25100:3;;25112:23;;;-1:-1:-1;;;25112:23:100;;;;25088:62;;-1:-1:-1;;;;;25100:3:100;;:11;;:3;;25112:21;;:23;;;;;;;;;;;;;;25100:3;25112:23;;;;;;;;;;;;;;14678:639;14802:3;;14844:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;14802:75;;-1:-1:-1;;;14802:75:100;;-1:-1:-1;;;;;;;;;14802:3:100;;;;:41;;:75;;14844:9;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;4701:20;14802:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14802:75:100;;;;;;;;;;;;:::i;:::-;14750:127;;;;14887:19;14898:7;14887:10;:19::i;:::-;14916:24;14925:4;:11;14938:1;14916:8;:24::i;:::-;15017:14;;15008:24;;-1:-1:-1;;;15008:24:100;;-1:-1:-1;;;;;15017:14:100;;;15008:24;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;15008:8:100;;10365:18:102;;15008:24:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15042:3:100;;15081:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;15123:17;;15042:100;;-1:-1:-1;;;15042:100:100;;-1:-1:-1;;;;;15042:3:100;;;;-1:-1:-1;15042:38:100;;-1:-1:-1;15042:100:100;;15081:9;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;15123:17;;15042:100;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15171:3:100;;15213:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;15171:75;;-1:-1:-1;;;15171:75:100;;-1:-1:-1;;;;;15171:3:100;;;;-1:-1:-1;15171:41:100;;-1:-1:-1;15171:75:100;;15213:9;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;4701:20;15171:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15171:75:100;;;;;;;;;;;;:::i;:::-;15153:93;;-1:-1:-1;15153:93:100;-1:-1:-1;15256:20:100;15153:93;15256:11;:20::i;:::-;15286:24;15295:4;:11;15308:1;15286:8;:24::i;27111:1027::-;27233:9;;27195:15;;27220:29;;-1:-1:-1;;;;;27233:9:100;27195:15;27183:9;27220:12;:29::i;:::-;-1:-1:-1;27310:14:100;;27301:24;;-1:-1:-1;;;27301:24:100;;-1:-1:-1;;;;;27310:14:100;;;27301:24;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;27301:8:100;;10365:18:102;;27301:24:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;27335:3:100;;27374:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;27416:17;;27335:100;;-1:-1:-1;;;27335:100:100;;-1:-1:-1;;;;;27335:3:100;;;;-1:-1:-1;27335:38:100;;-1:-1:-1;27335:100:100;;27374:9;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;27416:17;;27335:100;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27483:18;27504:22;;;;;;;;;;;;;;-1:-1:-1;;;27504:22:100;;;:8;:22::i;:::-;27483:43;;27536:20;27559:24;;;;;;;;;;;;;;-1:-1:-1;;;27559:24:100;;;:8;:24::i;:::-;27631:9;;27536:47;;-1:-1:-1;27593:54:100;;27605:10;;27536:47;;-1:-1:-1;;;;;27631:9:100;27642:1;27645;27593:11;:54::i;:::-;-1:-1:-1;27719:14:100;;27710:24;;-1:-1:-1;;;27710:24:100;;-1:-1:-1;;;;;27719:14:100;;;27710:24;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;27710:8:100;;10365:18:102;;27710:24:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;27744:3:100;;27783:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;27744:84;;-1:-1:-1;;;27744:84:100;;-1:-1:-1;;;;;27744:3:100;;;;-1:-1:-1;27744:38:100;;-1:-1:-1;27744:84:100;;27783:9;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;4701:20;-1:-1:-1;;27744:84:100;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;27931:20:100;;-1:-1:-1;;;27931:20:100;;-1:-1:-1;;;;;10410:32:102;;27931:20:100;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;27931:8:100;;-1:-1:-1;10365:18:102;;27931:20:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;27961:83:100;;-1:-1:-1;;;27961:83:100;;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;27961:15:100;;-1:-1:-1;27961:83:100;;-1:-1:-1;;;27977:66:100;27961:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;28054:3:100;;28088:9;;-1:-1:-1;;;;;28054:3:100;;;;-1:-1:-1;28054:19:100;;-1:-1:-1;28074:12:100;;28088:9;-1:-1:-1;;;;;;;;;;;28111:5:100;:1;28054:3;28111:5;:::i;:::-;4701:20;;;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;28129:1;28054:77;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2606:142:7:-;2655:35;2723:18;2702:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2702:39:7;;;;;;;;;;;;;;;;;;;;;;2606:142;:::o;29376:484:100:-;29442:15;29460:19;;;;;;;;;;;;;;-1:-1:-1;;;29460:19:100;;;:8;:19::i;:::-;29530:11;;29516:26;;-1:-1:-1;;;29516:26:100;;29530:11;;;;-1:-1:-1;;;;;29530:11:100;29516:26;;;10392:51:102;29442:37:100;;-1:-1:-1;;;;;;;;;;;;336:42:0;29516:13:100;;10365:18:102;;29516:26:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;29552:3:100;;:30;;-1:-1:-1;;;29552:30:100;;-1:-1:-1;;;;;10410:32:102;;;29552:30:100;;;10392:51:102;29552:3:100;;;;-1:-1:-1;29552:21:100;;-1:-1:-1;10365:18:102;;29552:30:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;29592:3:100;;:33;;-1:-1:-1;;;29592:33:100;;-1:-1:-1;;;;;10410:32:102;;;29592:33:100;;;10392:51:102;29592:3:100;;;;-1:-1:-1;29592:24:100;;-1:-1:-1;10365:18:102;;29592:33:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;29635:12:100;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;29692:22:100;;-1:-1:-1;;;29692:22:100;;-1:-1:-1;;;;;10410:32:102;;29692:22:100;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;29692:13:100;;-1:-1:-1;10365:18:102;;29692:22:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;29724:15:100;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;29751:3:100;;29787:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;29751:78;;-1:-1:-1;;;29751:78:100;;-1:-1:-1;;;;;29751:3:100;;;;-1:-1:-1;29751:35:100;;-1:-1:-1;29751:78:100;;29787:9;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;4701:20;29821:7;;29751:78;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;29839:12:100;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15971:1065;16093:9;;16055:15;;16080:29;;-1:-1:-1;;;;;16093:9:100;16055:15;16043:9;16080:12;:29::i;:::-;-1:-1:-1;16210:6:100;;16218:8;;16228:9;;16178:17;;16198:47;;-1:-1:-1;;;;;16210:6:100;;;;16218:8;;;;16228:9;16239:1;16242:2;16198:11;:47::i;:::-;16178:67;;16255:22;16264:9;16275:1;16255:8;:22::i;:::-;-1:-1:-1;;;;;;;;;;;16379:7:100;16387:5;:1;16391;16387:5;:::i;:::-;16379:14;;;;;;;;;;;;;10600:25:102;;10588:2;10573:18;;10454:177;16379:14:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16416:9:100;;16403:43;;-1:-1:-1;;;;;;16416:9:100;;-1:-1:-1;16427:15:100;16416:9;16403:12;:43::i;:::-;-1:-1:-1;16470:6:100;;16456:21;;-1:-1:-1;;;;;16470:6:100;16456:13;:21::i;:::-;16487:83;;-1:-1:-1;;;16487:83:100;;-1:-1:-1;;;;;;;;;;;336:42:0;16487:15:100;;:83;;-1:-1:-1;;;16503:66:100;16487:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16589:6:100;;16580:16;;-1:-1:-1;;;16580:16:100;;-1:-1:-1;;;;;16589:6:100;;;16580:16;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;16580:8:100;;-1:-1:-1;10365:18:102;;16580:16:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16606:3:100;;16626:13;;16641:9;;-1:-1:-1;;;;;16606:3:100;;;;-1:-1:-1;16606:19:100;;-1:-1:-1;16626:13:100;;;;16641:9;-1:-1:-1;;;;;;;;;;;16664:5:100;:1;16606:3;16664:5;:::i;:::-;4701:20;;;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;16682:1;16606:78;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;16721:7:100;16729:5;:1;16733;16729:5;:::i;:::-;16721:14;;;;;;;;;;;;;10600:25:102;;10588:2;10573:18;;10454:177;16721:14:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16758:9:100;;16745:43;;-1:-1:-1;;;;;;16758:9:100;;-1:-1:-1;16769:15:100;16758:9;16745:12;:43::i;:::-;-1:-1:-1;16812:11:100;;16798:26;;-1:-1:-1;;;;;16812:11:100;16798:13;:26::i;:::-;16834:81;;-1:-1:-1;;;16834:81:100;;-1:-1:-1;;;;;;;;;;;336:42:0;16834:15:100;;:81;;-1:-1:-1;;;16850:64:100;16834:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16934:11:100;;16925:21;;-1:-1:-1;;;16925:21:100;;-1:-1:-1;;;;;16934:11:100;;;16925:21;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;16925:8:100;;-1:-1:-1;10365:18:102;;16925:21:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16956:3:100;;16976:8;;16986:9;;-1:-1:-1;;;;;16956:3:100;;;;-1:-1:-1;16956:19:100;;-1:-1:-1;16976:8:100;;;;16986:9;-1:-1:-1;;;;;;;;;;;17009:5:100;:1;17013;17009:5;:::i;:::-;4701:20;;;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;17027:1;16956:73;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;10356:1356::-;10609:3;;:23;;;-1:-1:-1;;;10609:23:100;;;;-1:-1:-1;;;;;;;;;;;336:42:0;10467:15:100;;-1:-1:-1;;;10536:56:100;10602:4;;-1:-1:-1;;;;;10609:3:100;;:21;;:23;;;;;;;;;;;;;;:3;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10496:150;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;10496:150:100;;;;;;;;;;;;;;-1:-1:-1;;;;;10496:150:100;-1:-1:-1;;;;;;10496:150:100;;;;;;10467:189;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10666:3:100;;10705:8;;10717:41;;;;;;;;10666:3;10717:41;;10756:1;10717:41;;;;10666:93;;-1:-1:-1;;;10666:93:100;;-1:-1:-1;;;;;10666:3:100;;;;-1:-1:-1;10666:23:100;;-1:-1:-1;10666:93:100;;10705:8;;;;10666:93;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;10823:15:100;;10892:56;;;10958:4;10965:3;;;;;;;;;-1:-1:-1;;;;;10965:3:100;-1:-1:-1;;;;;10965:21:100;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10852:150;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;10852:150:100;;;;;;;;;;;;;;-1:-1:-1;;;;;10852:150:100;-1:-1:-1;;;;;;10852:150:100;;;;;;10823:189;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11022:3:100;;:25;;-1:-1:-1;;;11022:25:100;;:3;:25;;;10600::102;-1:-1:-1;;;;;11022:3:100;;;;-1:-1:-1;11022:22:100;;-1:-1:-1;10573:18:102;;11022:25:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;11120:15:100;;11189:56;;;11255:4;11262:3;;;;;;;;;-1:-1:-1;;;;;11262:3:100;-1:-1:-1;;;;;11262:21:100;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11149:150;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;11149:150:100;;;;;;;;;;;;;;-1:-1:-1;;;;;11149:150:100;-1:-1:-1;;;;;;11149:150:100;;;;;;11120:189;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11319:3:100;;11359:24;;11319:66;;-1:-1:-1;;;11319:66:100;;-1:-1:-1;;;;;11359:24:100;;;11319:66;;;10392:51:102;11319:3:100;;;-1:-1:-1;11319:31:100;;-1:-1:-1;10365:18:102;;11319:66:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;11452:15:100;;11521:56;;;11587:4;11594:3;;;;;;;;;-1:-1:-1;;;;;11594:3:100;-1:-1:-1;;;;;11594:21:100;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11481:150;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;11481:150:100;;;;;;;;;;;;;;-1:-1:-1;;;;;11481:150:100;-1:-1:-1;;;;;;11481:150:100;;;;;;11452:189;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11651:3:100;;11685:18;;11651:54;;-1:-1:-1;;;11651:54:100;;-1:-1:-1;;;;;11685:18:100;;;11651:54;;;10392:51:102;11651:3:100;;;-1:-1:-1;11651:25:100;;-1:-1:-1;10365:18:102;;11651:54:100;10246:203:102;28812:558:100;28988:19;;29031:13;;28988:58;;-1:-1:-1;;;28988:58:100;;-1:-1:-1;;;;;29031:13:100;;;28988:58;;;10392:51:102;28988:19:100;;;:34;;10365:18:102;;28988:58:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;29151:14:100;;29142:24;;-1:-1:-1;;;29142:24:100;;-1:-1:-1;;;;;29151:14:100;;;29142:24;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;29142:8:100;;-1:-1:-1;10365:18:102;;29142:24:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;29176:83:100;;-1:-1:-1;;;29176:83:100;;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;29176:15:100;;-1:-1:-1;29176:83:100;;-1:-1:-1;;;29192:66:100;29176:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;29269:3:100;;29295:9;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;29344:13;;29269:94;;-1:-1:-1;;;29269:94:100;;-1:-1:-1;;;;;29269:3:100;;;;-1:-1:-1;29269:25:100;;-1:-1:-1;29269:94:100;;29295:9;;;;-1:-1:-1;;;;;;;;;;;4638:21:100;29344:13;;29269:3;;:94;;;:::i;20760:125:4:-;20824:12;20858:20;20873:4;20858:14;:20::i;:::-;-1:-1:-1;20848:30:4;20760:125;-1:-1:-1;;20760:125:4:o;8169:437:100:-;8314:20;;-1:-1:-1;;;8314:20:100;;-1:-1:-1;;;;;10410:32:102;;8314:20:100;;;10392:51:102;8281:17:100;;-1:-1:-1;;;;;;;;;;;336:42:0;8314:8:100;;10365:18:102;;8314:20:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8344:8:100;;:33;;-1:-1:-1;;;8344:33:100;;-1:-1:-1;;;;;8344:8:100;;;;-1:-1:-1;8344:13:100;;-1:-1:-1;8344:33:100;;8358:10;;8370:6;;8344:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8387:20:100;;-1:-1:-1;;;8387:20:100;;-1:-1:-1;;;;;10410:32:102;;8387:20:100;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;8387:8:100;;-1:-1:-1;10365:18:102;;8387:20:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8417:8:100;;8442:3;;8417:49;;-1:-1:-1;;;8417:49:100;;-1:-1:-1;;;;;8417:8:100;;;;-1:-1:-1;8417:16:100;;-1:-1:-1;8417:49:100;;8442:3;;;;-1:-1:-1;;8448:17:100;8417:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;8476:20:100;;-1:-1:-1;;;8476:20:100;;-1:-1:-1;;;;;10410:32:102;;8476:20:100;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;8476:8:100;;10365:18:102;;8476:20:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8513:3:100;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;8580:8;;8513:86;;-1:-1:-1;;;8513:86:100;;-1:-1:-1;;;;;8513:3:100;;;;-1:-1:-1;8513:16:100;;-1:-1:-1;8513:86:100;;-1:-1:-1;;;;;;;;;;;4638:21:100;8542:10;;4701:20;8580:8;;;8592:6;;8513:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8506:93;;8169:437;;;;;;:::o;8612:536::-;8851:20;;-1:-1:-1;;;8851:20:100;;-1:-1:-1;;;;;10410:32:102;;8851:20:100;;;10392:51:102;8761:7:100;;-1:-1:-1;;;;;;;;;;;336:42:0;8851:8:100;;10365:18:102;;8851:20:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8881:8:100;;:39;;-1:-1:-1;;;8881:39:100;;-1:-1:-1;;;;;8881:8:100;;;;-1:-1:-1;8881:13:100;;-1:-1:-1;8881:39:100;;8895:10;;8907:12;;8881:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8930:20:100;;-1:-1:-1;;;8930:20:100;;-1:-1:-1;;;;;10410:32:102;;8930:20:100;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;8930:8:100;;-1:-1:-1;10365:18:102;;8930:20:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8960:8:100;;8985:3;;8960:49;;-1:-1:-1;;;8960:49:100;;-1:-1:-1;;;;;8960:8:100;;;;-1:-1:-1;8960:16:100;;-1:-1:-1;8960:49:100;;8985:3;;;;-1:-1:-1;;8991:17:100;8960:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;9019:20:100;;-1:-1:-1;;;9019:20:100;;-1:-1:-1;;;;;10410:32:102;;9019:20:100;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;9019:8:100;;10365:18:102;;9019:20:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9056:3:100;;4701:20;;;;;;;;;;;-1:-1:-1;;;4701:20:100;;;;9056:85;;-1:-1:-1;;;9056:85:100;;-1:-1:-1;;;;;9056:3:100;;;;-1:-1:-1;9056:19:100;;-1:-1:-1;9056:85:100;;9076:9;;9087:10;;-1:-1:-1;;;;;;;;;;;4638:21:100;9111:10;;9134:6;;9056:85;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9049:92;8612:536;-1:-1:-1;;;;;;8612:536:100:o;2270:110:2:-;2349:24;;-1:-1:-1;;;2349:24:2;;;;;27430:25:102;;;27471:18;;;27464:34;;;-1:-1:-1;;;;;;;;;;;2349:11:2;;;27403:18:102;;2349:24:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2270:110;;:::o;13112:::-;13191:24;;-1:-1:-1;;;13191:24:2;;;;;27430:25:102;;;27471:18;;;27464:34;;;-1:-1:-1;;;;;;;;;;;13191:11:2;;;27403:18:102;;13191:24:2;27204:300:102;3454:110:2;3533:24;;-1:-1:-1;;;3533:24:2;;-1:-1:-1;;;;;34680:32:102;;;3533:24:2;;;34662:51:102;34749:32;;34729:18;;;34722:60;-1:-1:-1;;;;;;;;;;;3533:11:2;;;34635:18:102;;3533:24:2;34488:300:102;3710:110:2;3789:24;;-1:-1:-1;;;3789:24:2;;;;;27430:25:102;;;27471:18;;;27464:34;;;-1:-1:-1;;;;;;;;;;;3789:11:2;;;27403:18:102;;3789:24:2;27204:300:102;1594:89:2;1657:19;;-1:-1:-1;;;1657:19:2;;6277:14:102;;6270:22;1657:19:2;;;6252:41:102;-1:-1:-1;;;;;;;;;;;1657:13:2;;;6225:18:102;;1657:19:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1808:91;1872:20;;-1:-1:-1;;;1872:20:2;;6277:14:102;;6270:22;1872:20:2;;;6252:41:102;-1:-1:-1;;;;;;;;;;;1872:14:2;;;6225:18:102;;1872:20:2;6112:187:102;9154:227:100;9216:20;;-1:-1:-1;;;9216:20:100;;-1:-1:-1;;;;;10410:32:102;;9216:20:100;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;9216:8:100;;10365:18:102;;9216:20:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9246:8:100;;:39;;-1:-1:-1;;;9246:39:100;;-1:-1:-1;;;;;9246:8:100;;;;-1:-1:-1;9246:13:100;;-1:-1:-1;9246:39:100;;9260:10;;9272:12;;9246:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9295:20:100;;-1:-1:-1;;;9295:20:100;;-1:-1:-1;;;;;10410:32:102;;9295:20:100;;;10392:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;9295:8:100;;-1:-1:-1;10365:18:102;;9295:20:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9325:8:100;;9350:3;;9325:49;;-1:-1:-1;;;9325:49:100;;-1:-1:-1;;;;;9325:8:100;;;;-1:-1:-1;9325:16:100;;-1:-1:-1;9325:49:100;;9350:3;;;;-1:-1:-1;;9356:17:100;9325:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;20479:242:4:-;20549:12;20563:18;20641:4;20624:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20624:22:4;;;;;;;20614:33;;20624:22;20614:33;;;;-1:-1:-1;;;;;;20665:19:4;;;;;10600:25:102;;;20614:33:4;-1:-1:-1;;;;;;;;;;;;20665:7:4;;;10573:18:102;;20665:19:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20694:20;;-1:-1:-1;;;20694:20:4;;20658:26;;-1:-1:-1;;;;;;;;;;;;20694:8:4;;;:20;;20658:26;;20709:4;;20694:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20479:242;;;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;123:637:102:-;313:2;325:21;;;395:13;;298:18;;;417:22;;;265:4;;496:15;;;470:2;455:18;;;265:4;539:195;553:6;550:1;547:13;539:195;;;618:13;;-1:-1:-1;;;;;614:39:102;602:52;;683:2;709:15;;;;674:12;;;;650:1;568:9;539:195;;;-1:-1:-1;751:3:102;;123:637;-1:-1:-1;;;;;123:637:102:o;765:289::-;807:3;845:5;839:12;872:6;867:3;860:19;928:6;921:4;914:5;910:16;903:4;898:3;894:14;888:47;980:1;973:4;964:6;959:3;955:16;951:27;944:38;1043:4;1036:2;1032:7;1027:2;1019:6;1015:15;1011:29;1006:3;1002:39;998:50;991:57;;;765:289;;;;:::o;1059:1626::-;1263:4;1311:2;1300:9;1296:18;1341:2;1330:9;1323:21;1364:6;1399;1393:13;1430:6;1422;1415:22;1468:2;1457:9;1453:18;1446:25;;1530:2;1520:6;1517:1;1513:14;1502:9;1498:30;1494:39;1480:53;;1568:2;1560:6;1556:15;1589:1;1599:1057;1613:6;1610:1;1607:13;1599:1057;;;-1:-1:-1;;1678:22:102;;;1674:36;1662:49;;1734:13;;1821:9;;-1:-1:-1;;;;;1817:35:102;1802:51;;1900:2;1892:11;;;1886:18;1786:2;1924:15;;;1917:27;;;2005:19;;1774:15;;;2037:24;;;2192:21;;;2095:2;2145:1;2141:16;;;2129:29;;2125:38;;;2083:15;;;;-1:-1:-1;2251:296:102;2267:8;2262:3;2259:17;2251:296;;;2373:2;2369:7;2360:6;2352;2348:19;2344:33;2337:5;2330:48;2405:42;2440:6;2429:8;2423:15;2405:42;:::i;:::-;2490:2;2476:17;;;;2395:52;;-1:-1:-1;2519:14:102;;;;;2295:1;2286:11;2251:296;;;-1:-1:-1;2570:6:102;;-1:-1:-1;;;2611:2:102;2634:12;;;;2599:15;;;;;-1:-1:-1;1635:1:102;1628:9;1599:1057;;;-1:-1:-1;2673:6:102;;1059:1626;-1:-1:-1;;;;;;1059:1626:102:o;2690:446::-;2742:3;2780:5;2774:12;2807:6;2802:3;2795:19;2839:4;2834:3;2830:14;2823:21;;2878:4;2871:5;2867:16;2901:1;2911:200;2925:6;2922:1;2919:13;2911:200;;;2990:13;;-1:-1:-1;;;;;;2986:40:102;2974:53;;3056:4;3047:14;;;;3084:17;;;;2947:1;2940:9;2911:200;;;-1:-1:-1;3127:3:102;;2690:446;-1:-1:-1;;;;2690:446:102:o;3141:1143::-;3359:4;3407:2;3396:9;3392:18;3437:2;3426:9;3419:21;3460:6;3495;3489:13;3526:6;3518;3511:22;3564:2;3553:9;3549:18;3542:25;;3626:2;3616:6;3613:1;3609:14;3598:9;3594:30;3590:39;3576:53;;3664:2;3656:6;3652:15;3685:1;3695:560;3709:6;3706:1;3703:13;3695:560;;;3802:2;3798:7;3786:9;3778:6;3774:22;3770:36;3765:3;3758:49;3836:6;3830:13;3882:2;3876:9;3913:2;3905:6;3898:18;3943:48;3987:2;3979:6;3975:15;3961:12;3943:48;:::i;:::-;3929:62;;4040:2;4036;4032:11;4026:18;4004:40;;4093:6;4085;4081:19;4076:2;4068:6;4064:15;4057:44;4124:51;4168:6;4152:14;4124:51;:::i;:::-;4114:61;-1:-1:-1;;;4210:2:102;4233:12;;;;4198:15;;;;;3731:1;3724:9;3695:560;;4289:782;4451:4;4499:2;4488:9;4484:18;4529:2;4518:9;4511:21;4552:6;4587;4581:13;4618:6;4610;4603:22;4656:2;4645:9;4641:18;4634:25;;4718:2;4708:6;4705:1;4701:14;4690:9;4686:30;4682:39;4668:53;;4756:2;4748:6;4744:15;4777:1;4787:255;4801:6;4798:1;4795:13;4787:255;;;4894:2;4890:7;4878:9;4870:6;4866:22;4862:36;4857:3;4850:49;4922:40;4955:6;4946;4940:13;4922:40;:::i;:::-;4912:50;-1:-1:-1;4997:2:102;5020:12;;;;4985:15;;;;;4823:1;4816:9;4787:255;;5076:1031;5278:4;5326:2;5315:9;5311:18;5356:2;5345:9;5338:21;5379:6;5414;5408:13;5445:6;5437;5430:22;5483:2;5472:9;5468:18;5461:25;;5545:2;5535:6;5532:1;5528:14;5517:9;5513:30;5509:39;5495:53;;5583:2;5575:6;5571:15;5604:1;5614:464;5628:6;5625:1;5622:13;5614:464;;;5693:22;;;-1:-1:-1;;5689:36:102;5677:49;;5749:13;;5794:9;;-1:-1:-1;;;;;5790:35:102;5775:51;;5873:2;5865:11;;;5859:18;5914:2;5897:15;;;5890:27;;;5859:18;5940:58;;5982:15;;5859:18;5940:58;:::i;:::-;5930:68;-1:-1:-1;;6033:2:102;6056:12;;;;6021:15;;;;;5650:1;5643:9;5614:464;;10915:301;-1:-1:-1;;;;;11134:32:102;;;;11116:51;;11198:2;11183:18;;11176:34;11104:2;11089:18;;10915:301::o;11221:127::-;11282:10;11277:3;11273:20;11270:1;11263:31;11313:4;11310:1;11303:15;11337:4;11334:1;11327:15;11353:127;11414:10;11409:3;11405:20;11402:1;11395:31;11445:4;11442:1;11435:15;11469:4;11466:1;11459:15;11822:1519;12345:8;12333:21;;12315:40;;-1:-1:-1;;;;;12391:32:102;;;12386:2;12371:18;;;12364:60;;;;12460:32;;;12455:2;12440:18;;12433:60;12529:32;;;12524:2;12509:18;;12502:60;12302:3;12593;12578:19;;12571:32;;;12652:13;;12287:19;;;12674:22;;;12254:4;;12754:15;;;12727:3;12712:19;;;12254:4;12797:346;12811:6;12808:1;12805:13;12797:346;;;12870:13;;12912:9;;-1:-1:-1;;;;;12908:35:102;12896:48;;12991:2;12983:11;;;12977:18;11564:12;;-1:-1:-1;;;;;11560:53:102;;;13050:12;;;11548:66;11656:16;;;11650:23;11646:64;11630:14;;;11623:88;13118:15;;;;13092:2;13083:12;;;;12833:1;12826:9;12797:346;;;-1:-1:-1;;11803:6:102;11792:18;;13218:3;13203:19;;11780:31;13160:3;-1:-1:-1;13172:51:102;;-1:-1:-1;11722:95:102;13172:51;-1:-1:-1;;;;;80:31:102;;13274:3;13259:19;;68:44;-1:-1:-1;;;;;80:31:102;;13330:3;13315:19;;68:44;11822:1519;;;;;;;;;;;:::o;13346:315::-;-1:-1:-1;;;;;13521:32:102;;13503:51;;13590:2;13585;13570:18;;13563:30;;;-1:-1:-1;;13610:45:102;;13636:18;;13628:6;13610:45;:::i;14296:202::-;-1:-1:-1;;;;;;14458:33:102;;;;14440:52;;14428:2;14413:18;;14296:202::o;14503:367::-;-1:-1:-1;;;;;14767:32:102;;14749:51;;14737:2;14722:18;;14809:55;14860:2;14845:18;;14837:6;11564:12;;-1:-1:-1;;;;;11560:53:102;;;11548:66;;11667:4;11656:16;;;11650:23;11646:64;11630:14;;11623:88;11485:232;15069:380;15148:1;15144:12;;;;15191;;;15212:61;;15266:4;15258:6;15254:17;15244:27;;15212:61;15319:2;15311:6;15308:14;15288:18;15285:38;15282:161;;15365:10;15360:3;15356:20;15353:1;15346:31;15400:4;15397:1;15390:15;15428:4;15425:1;15418:15;15282:161;;15069:380;;;:::o;15454:599::-;15784:1;15780;15775:3;15771:11;15767:19;15759:6;15755:32;15744:9;15737:51;15824:6;15819:2;15808:9;15804:18;15797:34;15867:3;15862:2;15851:9;15847:18;15840:31;15718:4;15888:46;15929:3;15918:9;15914:19;15906:6;15888:46;:::i;:::-;-1:-1:-1;;;;;15970:32:102;;;;15965:2;15950:18;;15943:60;-1:-1:-1;16034:3:102;16019:19;16012:35;15880:54;15454:599;-1:-1:-1;;;15454:599:102:o;16058:459::-;16318:1;16314;16309:3;16305:11;16301:19;16293:6;16289:32;16278:9;16271:51;16358:6;16353:2;16342:9;16338:18;16331:34;16401:6;16396:2;16385:9;16381:18;16374:34;16444:3;16439:2;16428:9;16424:18;16417:31;16252:4;16465:46;16506:3;16495:9;16491:19;16483:6;16465:46;:::i;16522:255::-;16594:2;16588:9;16636:6;16624:19;;16673:18;16658:34;;16694:22;;;16655:62;16652:88;;;16720:18;;:::i;:::-;16756:2;16749:22;16522:255;:::o;16782:275::-;16853:2;16847:9;16918:2;16899:13;;-1:-1:-1;;16895:27:102;16883:40;;16953:18;16938:34;;16974:22;;;16935:62;16932:88;;;17000:18;;:::i;:::-;17036:2;17029:22;16782:275;;-1:-1:-1;16782:275:102:o;17062:131::-;-1:-1:-1;;;;;17137:31:102;;17127:42;;17117:70;;17183:1;17180;17173:12;17198:138;17277:13;;17299:31;17277:13;17299:31;:::i;:::-;17198:138;;;:::o;17341:164::-;17417:13;;17466;;17459:21;17449:32;;17439:60;;17495:1;17492;17485:12;17510:1007;17583:5;17631:4;17619:9;17614:3;17610:19;17606:30;17603:50;;;17649:1;17646;17639:12;17603:50;17702:2;17696:9;17744:4;17732:17;;17779:18;17764:34;;17800:22;;;17761:62;17758:88;;;17826:18;;:::i;:::-;17862:2;17855:22;17895:6;-1:-1:-1;17895:6:102;17925:37;17952:9;17925:37;:::i;:::-;17917:6;17910:53;17996:46;18038:2;18027:9;18023:18;17996:46;:::i;:::-;17991:2;17983:6;17979:15;17972:71;18076:46;18118:2;18107:9;18103:18;18076:46;:::i;:::-;18071:2;18063:6;18059:15;18052:71;18156:46;18198:2;18187:9;18183:18;18156:46;:::i;:::-;18151:2;18143:6;18139:15;18132:71;18237:47;18279:3;18268:9;18264:19;18237:47;:::i;:::-;18231:3;18219:16;;18212:73;18351:3;18336:19;;;18330:26;18372:16;;;18365:33;18464:3;18449:19;;;18443:26;18485:16;;18478:33;;;;17510:1007;;-1:-1:-1;17510:1007:102:o;18522:1265::-;18618:6;18678:3;18666:9;18657:7;18653:23;18649:33;18694:2;18691:22;;;18709:1;18706;18699:12;18691:22;-1:-1:-1;18751:22:102;;:::i;:::-;18796:40;18826:9;18796:40;:::i;:::-;18789:5;18782:55;18869:49;18914:2;18903:9;18899:18;18869:49;:::i;:::-;18864:2;18857:5;18853:14;18846:73;18951:49;18996:2;18985:9;18981:18;18951:49;:::i;:::-;18946:2;18939:5;18935:14;18928:73;19033:46;19075:2;19064:9;19060:18;19033:46;:::i;:::-;19028:2;19021:5;19017:14;19010:70;19113:74;19179:7;19173:3;19162:9;19158:19;19113:74;:::i;:::-;19107:3;19096:15;;19089:99;19254:3;19239:19;;19233:26;19286:4;19275:16;;19268:33;19367:3;19352:19;;19346:26;-1:-1:-1;19388:16:102;;19381:33;19480:3;19465:19;;19459:26;19512:4;19501:16;;19494:33;19593:3;19578:19;;19572:26;19625:6;19614:18;;19607:35;19708:3;19693:19;;;19687:26;19740:6;19729:18;;19722:35;-1:-1:-1;19100:5:102;18522:1265;-1:-1:-1;18522:1265:102:o;19792:184::-;19862:6;19915:2;19903:9;19894:7;19890:23;19886:32;19883:52;;;19931:1;19928;19921:12;19883:52;-1:-1:-1;19954:16:102;;19792:184;-1:-1:-1;19792:184:102:o;20260:218::-;20407:2;20396:9;20389:21;20370:4;20427:45;20468:2;20457:9;20453:18;20445:6;20427:45;:::i;21707:386::-;21939:1;21935;21930:3;21926:11;21922:19;21914:6;21910:32;21899:9;21892:51;21979:6;21974:2;21963:9;21959:18;21952:34;22022:2;22017;22006:9;22002:18;21995:30;21873:4;22042:45;22083:2;22072:9;22068:18;22060:6;22042:45;:::i;:::-;22034:53;21707:386;-1:-1:-1;;;;;21707:386:102:o;22098:412::-;-1:-1:-1;;;;;22327:32:102;;22309:51;;22396:2;22391;22376:18;;22369:30;;;-1:-1:-1;;22416:45:102;;22442:18;;22434:6;22416:45;:::i;:::-;22408:53;;22497:6;22492:2;22481:9;22477:18;22470:34;22098:412;;;;;;:::o;24897:485::-;25157:1;25153;25148:3;25144:11;25140:19;25132:6;25128:32;25117:9;25110:51;25197:6;25192:2;25181:9;25177:18;25170:34;25240:3;25235:2;25224:9;25220:18;25213:31;25091:4;25261:46;25302:3;25291:9;25287:19;25279:6;25261:46;:::i;:::-;25253:54;;25372:1;25368;25363:3;25359:11;25355:19;25347:6;25343:32;25338:2;25327:9;25323:18;25316:60;24897:485;;;;;;;:::o;25387:555::-;25670:6;25659:9;25652:25;25713:6;25708:2;25697:9;25693:18;25686:34;25756:3;25751:2;25740:9;25736:18;25729:31;25633:4;25777:46;25818:3;25807:9;25803:19;25795:6;25777:46;:::i;25947:286::-;26052:6;26105:2;26093:9;26084:7;26080:23;26076:32;26073:52;;;26121:1;26118;26111:12;26073:52;26153:9;26147:16;26172:31;26197:5;26172:31;:::i;26997:202::-;27064:6;27117:2;27105:9;27096:7;27092:23;27088:32;27085:52;;;27133:1;27130;27123:12;27085:52;27156:37;27183:9;27156:37;:::i;27509:467::-;27777:1;27773;27768:3;27764:11;27760:19;27752:6;27748:32;27737:9;27730:51;27817:6;27812:2;27801:9;27797:18;27790:34;27860:3;27855:2;27844:9;27840:18;27833:31;27711:4;27881:46;27922:3;27911:9;27907:19;27899:6;27881:46;:::i;:::-;27873:54;;27963:6;27958:2;27947:9;27943:18;27936:34;27509:467;;;;;;;:::o;28462:301::-;28649:2;28638:9;28631:21;28612:4;28669:45;28710:2;28699:9;28695:18;28687:6;28669:45;:::i;:::-;28661:53;;28750:6;28745:2;28734:9;28730:18;28723:34;28462:301;;;;;:::o;29244:222::-;29309:9;;;29330:10;;;29327:133;;;29382:10;29377:3;29373:20;29370:1;29363:31;29417:4;29414:1;29407:15;29445:4;29442:1;29435:15;29327:133;29244:222;;;;:::o;29471:1094::-;29572:6;29580;29633:2;29621:9;29612:7;29608:23;29604:32;29601:52;;;29649:1;29646;29639:12;29601:52;29682:9;29676:16;29715:18;29707:6;29704:30;29701:50;;;29747:1;29744;29737:12;29701:50;29770:22;;29823:4;29815:13;;29811:27;-1:-1:-1;29801:55:102;;29852:1;29849;29842:12;29801:55;29885:2;29879:9;29911:18;29903:6;29900:30;29897:56;;;29933:18;;:::i;:::-;29979:6;29976:1;29972:14;30006:30;30030:4;30026:2;30022:13;30006:30;:::i;:::-;30070:19;;;30114:4;30146:11;;;30142:22;;;30105:14;;;;30176:19;;;30173:39;;;30208:1;30205;30198:12;30173:39;30240:4;30236:2;30232:13;30221:24;;30254:214;30270:6;30265:3;30262:15;30254:214;;;30345:3;30339:10;30326:23;;30362:31;30387:5;30362:31;:::i;:::-;30406:18;;;30453:4;30287:14;;;;30444;;;;30254:214;;;30487:5;30477:15;;;;;;;30511:48;30553:4;30542:9;30538:20;30511:48;:::i;:::-;30501:58;;29471:1094;;;;;:::o;30570:211::-;30611:3;30649:5;30643:12;30693:6;30686:4;30679:5;30675:16;30670:3;30664:36;30755:1;30719:16;;30744:13;;;-1:-1:-1;30719:16:102;;30570:211;-1:-1:-1;30570:211:102:o;30786:366::-;31026:26;31022:31;31013:6;31009:2;31005:15;31001:53;30996:3;30989:66;31085:6;31080:2;31075:3;31071:12;31064:28;30971:3;31108:38;31142:2;31137:3;31133:12;31125:6;31108:38;:::i;31157:636::-;-1:-1:-1;;;;;31451:32:102;;;31433:51;;31520:32;;31515:2;31500:18;;31493:60;31584:2;31569:18;;31562:34;;;31627:2;31612:18;;31605:34;;;31676:3;31670;31655:19;;31648:32;;;-1:-1:-1;;31697:46:102;;31723:19;;31715:6;31697:46;:::i;:::-;31689:54;;31780:6;31774:3;31763:9;31759:19;31752:35;31157:636;;;;;;;;;:::o;35046:191::-;35177:3;35202:29;35227:3;35219:6;35202:29;:::i","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testAddAndRemoveRequestManager()":"9f352982","testAllowedBondRangeEventAndBehavior()":"a452fa7c","testBondOverrideBlockedForWhitelistedButUnconfiguredCurrency()":"fea47122","testCustomBondAppliedOnPropose()":"2c4991db","testDefaultAdminManagesConfigAdminRole()":"cb062ceb","testGetCustomProposerWhitelist()":"801006b7","testGetManagedRequestId()":"c75ead24","testGetProposerWhitelistWithEnabledStatus()":"d53045bb","testInitializeSetsState()":"b8fcbfd2","testMinimumLivenessEvent()":"114fac26","testOnlyConfigAdminSetters()":"f15b40ec","testProposePriceForChecksDefaultWhitelist()":"ee448c36","testProposePriceForWithCustomDisabledWhitelist()":"508ac0f0","testRemovedRequestManagerCannotCall()":"eaf48b12","testRequestManagerSetBondEnforcementAndEvents()":"4c6f2260","testRequestManagerSetCustomLivenessValidationAndEffect()":"ac40329a","testRequestManagerSetProposerWhitelistValidationsAndEvent()":"5e341e80","testRequesterWhitelistEnforcedOnRequestPrice()":"7d58df6e","testResetCustomProposerWhitelistToDefault()":"d6352a36","testRolesAndOwnershipRelations()":"84249442","testSetAllowedBondRangeValidations()":"174f873b","testSetDefaultProposerWhitelistValidations()":"71283f17","testSetMinimumLivenessAndValidation()":"8113f192","testSetRequesterWhitelistValidations()":"309524d2","testUpgradeAdminCannotCallConfigSetters()":"1d78ce7b","testUpgradeAuthorization()":"4353e5d6"}}},"MockFinder":{"abi":[{"type":"function","name":"changeImplementationAddress","inputs":[{"name":"interfaceName","type":"bytes32","internalType":"bytes32"},{"name":"implementationAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getImplementationAddress","inputs":[{"name":"interfaceName","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"interfacesImplemented","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"interfaceName\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"implementationAddress\",\"type\":\"address\"}],\"name\":\"changeImplementationAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"interfaceName\",\"type\":\"bytes32\"}],\"name\":\"getImplementationAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"interfacesImplemented\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"changeImplementationAddress(bytes32,address)\":{\"params\":{\"implementationAddress\":\"address of the deployed contract that implements the interface.\",\"interfaceName\":\"bytes32 encoding of the interface name that is either changed or registered.\"}},\"getImplementationAddress(bytes32)\":{\"params\":{\"interfaceName\":\"queried interface.\"},\"returns\":{\"_0\":\"implementationAddress address of the deployed contract that implements the interface.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"changeImplementationAddress(bytes32,address)\":{\"notice\":\"Updates the address of the contract that implements `interfaceName`.\"},\"getImplementationAddress(bytes32)\":{\"notice\":\"Gets the address of the contract that implements the given `interfaceName`.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/ManagedOptimisticOracleV2.t.sol\":\"MockFinder\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0xa3735a6618a3014e42bb4329ad143e3b2c59cd95094350202e4c4a06c9d585dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef9db48d94726ec3d3fa3a84a8d520903705190f7ee7a04a065335a6aeeac4d\",\"dweb:/ipfs/QmSWmNny7TkzyqRPjGdpERAJuBwwznrGPLUqS4DZy5fX5z\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x4584f551c3a875c26423c1e50a77179bc2f9c9c1ee6d0f0c6be0f89ca5ee8270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef118876a862b60ba8a6612b8b3f3a6c226e11a0071a2e9695f021586d1bfdbe\",\"dweb:/ipfs/QmXd2vD91PkvoFWasFkgbDi89PctmgsHVxGvGNyhjmRK2b\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xd3edaf57db178f839d97ccee0009c2b7b20f78c2adca9028a6013acb8d5b4c5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f17329ac1d25d3e6657ca240dee0a3f9b2cf22a64a05b87dac15252dee74351\",\"dweb:/ipfs/QmPHxkEwgVpQNbU52s58RmmegrkYGj8bNKTVSW8rZm3dBm\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x7274081e11c05164fd8eadde4de8305c033e58a43008dea58065f3170ccf0737\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9801614b6c9d3e472982e6cc68f5f1ad03682f84eafb686be65633c7132d138\",\"dweb:/ipfs/QmcQSUcrm2A7XuektnxJjvYGmZtBeA6LKPxCXRqdXBX776\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x85a70e2b1b65e9ba456add364d22b97eb9944083df1c39c0b4bd6a4b5aa386a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d32a33be6ca4d8e89b9e82e3f9cec7a6c4e040534152313ff55da85b8f193059\",\"dweb:/ipfs/QmeR55L8t2A8xZ1nvT5y4yVWfFbbmpaGAtGBMz3GGNpuyP\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol\":{\"keccak256\":\"0x2922ed589f7063a685dffc9297f8b669c1e86f2fde9078c08d8bff079cf636a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0bd42676681a1c4563f61a767bfbc50ef207544a3d6eee9aa66830cc15ccb679\",\"dweb:/ipfs/QmRMCKEXNWJq1EdCjNQtTXf9tuppnyGtaiBCiNk3TYVcK1\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x6694b63ddb2c59bbe341c846171798350e8f72fa02189fcdeaca864e28b54e1f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d945d33e2189ac4e531e4ed228f59ca957b3898c4f9051f4b8c7ae44d72b23a\",\"dweb:/ipfs/QmRcEwubTe3xyXxthijs5fVzEgUFSxeddjd5PGfhBnkunX\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xbff9f59c84e5337689161ce7641c0ef8e872d6a7536fbc1f5133f128887aba3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b308f882e796f7b79c9502deacb0a62983035c6f6f4e962b319ba6a1f4a77d3d\",\"dweb:/ipfs/QmaWCW7ahEQqFjwhSUhV7Ae7WhfNvzSpE7DQ58hvEooqPL\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol\":{\"keccak256\":\"0x956d6404c7b61b920a9ccbc9918f94a2bd3004de3dd13310995eda5bc17f1ead\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c12dc67a285548d455683db60f1ed845c03ac3c27f8f24f905defd3c54601406\",\"dweb:/ipfs/QmXDaxKsnq6RxH44VPSqxjLyygdXn3GR1o6W9pr2iXzjZq\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol\":{\"keccak256\":\"0x21529ba6918f994ec44fb97cef2b717d730268e911a4e626f3e425a4394f7bae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10949be539eb61e5ea8996cc93f21be61949c16a1b717adc2b3f8f099c1e1feb\",\"dweb:/ipfs/QmagATozhFXBUVTLaiHWyqVPgew9N1x18V6hBF46AZPeLw\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23\",\"dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR\"]},\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol\":{\"keccak256\":\"0x3ae81a443846c6d9bd387d6c6a5d7271a25095c83bb93817eefdaa22e13ca9e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f98462a56f254dc0046038e92527e3b7ee5bf0e03f60e3459fbd400c14be01a7\",\"dweb:/ipfs/QmevANfRaMrqy8Jh33LxEs5vP2xBPQspxtij8bsonw3GHM\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa3066ff86b94128a9d3956a63a0511fa1aae41bd455772ab587b32ff322acb2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf7b192fd82acf6187970c80548f624b1b9c80425b62fa49e7fdb538a52de049\",\"dweb:/ipfs/QmWXG1YCde1tqDYTbNwjkZDWVgPEjzaQGSDqWkyKLzaNua\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x86b7b71a6aedefdad89b607378eeab1dcc5389b9ea7d17346d08af01d7190994\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1dc2db8d94a21eac8efe03adf574c419b08536409b416057a2b5b95cb772c43c\",\"dweb:/ipfs/QmZfqJCKVU1ScuX2A7s8WZdQEaikwJbDH5JBrBdKTUT4Gu\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508\",\"dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"lib/openzeppelin-contracts/contracts/utils/Arrays.sol\":{\"keccak256\":\"0xa4b9958797e0e9cde82a090525e90f80d5745ba1c67ee72b488bd3087498a17e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9344f7c2f80322c2e76d9d89bed03fd12f3e011e74fde7cf24ea21bdd2abe2d\",\"dweb:/ipfs/QmPMAjF5x2fHUAee2FKMZDBbFVrbZbPCr3a9KHLZaSn1zY\"]},\"lib/openzeppelin-contracts/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2\",\"dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x27c3c648062924bd44cd6f38541c78e6de145dd49515ee62321e42fc1b72e5c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cce2ebc0392b5a96f5c7bbaaf5c3d23c0e7190e64cfa05a49978badc1496141\",\"dweb:/ipfs/QmYQC1U12igR1osVyjRHaHiiTgYYuPjncAxwmjbZ452dCL\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x1fc283df727585919c3db301b948a3e827aee16917457ad7f916db9da2228e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4f4b5e2cd0ebc3b74e41e4e94771a0417eedd9b11cec3ef9f90b2ac2989264b\",\"dweb:/ipfs/QmZmsEsvsXiwAyAe1YeoLSKezeFcvR1giUeEY6ex4zpsTS\"]},\"lib/protocol/packages/core/contracts/common/implementation/AncillaryData.sol\":{\"keccak256\":\"0x8ff33ac32d3e6de25de9e0ac2c0ff9a621f187fa97e9ee84092b327471baa3ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0bbaed49756e8cf7ef405e132f441cd7a735ac6186a200b0179147e7d137b74a\",\"dweb:/ipfs/QmeSBJX5a61LZPxbkUKS2NF4LSxemgDwjD65fCAmyP7PX2\"]},\"lib/protocol/packages/core/contracts/common/implementation/Lockable.sol\":{\"keccak256\":\"0x41d78fcce54598ad5f26bc0b778c0f4fedbd836401625e49e736979f69a87ef0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ce111bb50441ef5125e7d42284f6debbc17fd589515d7b8cede7e9d1d5f0ede\",\"dweb:/ipfs/QmaXiXACWVEDDHoCHNXdVBoNpf8QNHkUZ1kf5MfbxfL6jj\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/implementation/Constants.sol\":{\"keccak256\":\"0xe40957105a9240c6bcb9753fd0011fe9f382c437cd6771c57bf7a96f8ceb9c84\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cbf0d25e841b1f5c4022d09fb29220cb428139443cb29c4ab8dbfff71dffcc05\",\"dweb:/ipfs/QmSVVr5wH1tZi6WmKyuy1K8yS6JN4DeK5kWaZpPKtXiqkK\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/FinderInterface.sol\":{\"keccak256\":\"0x9166fbfe08e954eb86d33c114fcde7ce4fd0dda5d9d28b31210582bfc769fa86\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e611e12bcaaebfdf65b67c566ff1d34708e757f01a445bd87c55862e89383b81\",\"dweb:/ipfs/QmYNSq5oopTShdS6j4VWKqoLxmQSRKmWebCxw6K4LfmKrf\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/IdentifierWhitelistInterface.sol\":{\"keccak256\":\"0x9ae86a30dd1a8c03fb2c6d27be570bb30c4c0b13ac63cde8620b7e4b51d88dc9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a71d2aff48e075ecab56a9c9767775d1d77e04ec9191fed124e71003220549e3\",\"dweb:/ipfs/QmYPWsZXro6fzqpZY6UxQ5X8znEXfLp2sun8oXzdz8bTyc\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/OracleAncillaryInterface.sol\":{\"keccak256\":\"0xd58b41fe1e389f7871db7c04f2c05c1aac1d0455bbc521534da81fd657016a1f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cc532e9c550bb1bba0daa33fda748590cd06ce94a9566fe65dac04e7d40977bc\",\"dweb:/ipfs/QmZKvfRW2LJFt5MWZbKuU9ujkXnS2hkPUJVj8wwJWcuZGX\"]},\"src/common/implementation/AddressLegacy.sol\":{\"keccak256\":\"0x441f6c1a04ebb7ad44e54e1b9e3a6ca9f2468358842f93ec73e392f928daf85f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2cba7f3e831503913b6a147eec2f5fc6a2c5cdf1df11ae65582a42c5680ecd\",\"dweb:/ipfs/QmdBEXFnViR66ibJeyjKNh2xJoY8v1y3u3u1D9UXdPawFA\"]},\"src/common/implementation/AddressWhitelist.sol\":{\"keccak256\":\"0xa3b999d7b717c1bf4bb1b958ef5e26717ad965babe994aa8db3fb301f240c876\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7e1c4c81902a72dcf579e28f922f4910aadf5edaee4b2a4defe60c61dc00fbca\",\"dweb:/ipfs/QmUMZbko39hTe8epg77B8k9XYGmKNxLjnkLdd6x8v2xDyV\"]},\"src/common/implementation/DisabledAddressWhitelist.sol\":{\"keccak256\":\"0x34d42ccd54fb72eef815f5187088ba6dede2f9a7fc202495d4eaec284f415954\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e9a4569e7bb99d3631da6a52696b83e4bc52e09d2bc1cb7e4d93b657103b1879\",\"dweb:/ipfs/QmVBBrXbiXFmH7U2DKWR8rmNCLusxA3feJ9dWRZXczoEof\"]},\"src/common/implementation/LockableUpgradeable.sol\":{\"keccak256\":\"0x1a10eec9d7f12b051d343c65016a9c60a4bece53da4da2eceb8a8dc007b336e2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://9b8c203e136583fa946e4ae0e7bc9774837f865f8b319daa97c84ceb8a16c95b\",\"dweb:/ipfs/QmPJPPL27TB8qt66ZHquDCYtuubcTStRqxn4nxQnehMdA2\"]},\"src/common/implementation/MultiCaller.sol\":{\"keccak256\":\"0x1cef2a13b361679c2ef5d0d97fcbb0ae0cf4858b97a6dd8ab68e3974ea5ffe4a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ad81f2964ce1b40a8ee56a56612d6b773f260e5a3381dc50cd85ba1f9f6af46f\",\"dweb:/ipfs/QmU3Pbxq8rMhGKqNiBa6vWqtiHw9RzdZ4zbTayhgGdyAnz\"]},\"src/common/interfaces/AddressWhitelistInterface.sol\":{\"keccak256\":\"0x126b2bc590041cf213c274bedc91c06a263ddff5e11a090be80d7db8b1cb0d8f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0f47e32816f895d4a3a060eded9bba7853eff6a6d99c3de5b4d1ca8359ce1c49\",\"dweb:/ipfs/QmVWt7xTr68owupHSUUJNfV2N3n2bTvTWtXCDtu8k3uVBN\"]},\"src/common/interfaces/FixedPointInterface.sol\":{\"keccak256\":\"0xceca09e6aa78c97698fa0b1f40657f6c3c723d5d94150ef6476affb9671df753\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d5d1b01017749d96befb5c2e8a8c6d9dd041f57e1d9a66238c296cc28512d2e5\",\"dweb:/ipfs/QmVPiky59JTngjwZNdxbmD7H1Lwa5AgTjzv975wSnavFFy\"]},\"src/data-verification-mechanism/interfaces/StoreInterface.sol\":{\"keccak256\":\"0x1905509e908c6a9b8b3a89449d2d86fd7192d0e588cbe542edd21351d9971ee5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://346e602f41469943453fbe039bf7554b23e1eba3128ff3858d32b35ebcc2ae88\",\"dweb:/ipfs/QmcjZ73TwMjondBDKEHyZ9KUjZzcxsy6Dmqs8QxPK3KBde\"]},\"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol\":{\"keccak256\":\"0xc9d7a66b24fdae13296742642c015e563ee14c2b14aa5d2e27feb9dcd9251420\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47f9fb2885988c20219b93679f3f840b24f7abafa98ed3c09e8a072bc002b6f8\",\"dweb:/ipfs/QmZGW9Jmbsm5ddbsCcVxBeLqV5vvtiXAunjhTg8KYJwLzj\"]},\"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol\":{\"keccak256\":\"0xa0552c2797adccd632c07e77795cf258ff13e2cc435a14a7c530ea0f8acb49c2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ce250692f3db536caf05b193754741f62682c6bcac542780b1acc4b2fbf8bb25\",\"dweb:/ipfs/QmSQTPq4goBfGYfxV2V5B78y4PADfvjJsbPrKedoQxuS2h\"]},\"src/optimistic-oracle-v2/interfaces/ManagedOptimisticOracleV2Interface.sol\":{\"keccak256\":\"0xc852903a36f8ef8224be0f3769df0bbda8ae51a30e307546f16397af2fa26de1\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7e1cc2d1655db300d72b8005d2387efde447c71a723efa46db823cff376aff3e\",\"dweb:/ipfs/QmUDwx2TjTkf6JjFTJ3kRDoWdtUaUTdk35PJSDhJni9mFo\"]},\"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol\":{\"keccak256\":\"0x33a251fab5e475a286832db9bc3aabf7f597497f07e06c2da8779d4f486336d1\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e8789e875af4c98c16a085279a5dd545fe2fe32716e66c41343ea0edaf8fad9f\",\"dweb:/ipfs/QmQTzL8h24WkcfchRfSRrCysAfSprVCF2RNc4AMQTchTyZ\"]},\"test/ManagedOptimisticOracleV2.t.sol\":{\"keccak256\":\"0x03f4ed2c4422618ba59753f176dc55ab5da0e24fc241b864f28e08795e413d54\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e702c3e25c2e11e558e7feea14d38648205caa514102cec5481709d746f49a2b\",\"dweb:/ipfs/QmXaTqQjitWJTWPfcyKMg6HiQfoszqsqM2GBJZvKLxCSBx\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":64216,"contract":"test/ManagedOptimisticOracleV2.t.sol:MockFinder","label":"interfacesImplemented","offset":0,"slot":"0","type":"t_mapping(t_bytes32,t_address)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_bytes32,t_address)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => address)","numberOfBytes":"32","value":"t_address"}}},"evm":{"bytecode":{"object":"6080604052348015600e575f5ffd5b506101cb8061001c5f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c806331f9665e14610043578063aafd5e4014610080578063cc48f4db146100af575b5f5ffd5b61007e610051366004610145565b5f9182526020829052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b005b61009361008e36600461017e565b6100d7565b6040516001600160a01b03909116815260200160405180910390f35b6100936100bd36600461017e565b5f602081905290815260409020546001600160a01b031681565b5f818152602081905260408120546001600160a01b03168061013f5760405162461bcd60e51b815260206004820152601860248201527f496d706c656d656e746174696f6e206e6f7420666f756e640000000000000000604482015260640160405180910390fd5b92915050565b5f5f60408385031215610156575f5ffd5b8235915060208301356001600160a01b0381168114610173575f5ffd5b809150509250929050565b5f6020828403121561018e575f5ffd5b503591905056fea2646970667358221220e71b7f221fddfdc05118438e524facdd17805943c54f17b6639ee61fb1c4194264736f6c634300081e0033","sourceMap":"3067:605:100:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561000f575f5ffd5b506004361061003f575f3560e01c806331f9665e14610043578063aafd5e4014610080578063cc48f4db146100af575b5f5ffd5b61007e610051366004610145565b5f9182526020829052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b005b61009361008e36600461017e565b6100d7565b6040516001600160a01b03909116815260200160405180910390f35b6100936100bd36600461017e565b5f602081905290815260409020546001600160a01b031681565b5f818152602081905260408120546001600160a01b03168061013f5760405162461bcd60e51b815260206004820152601860248201527f496d706c656d656e746174696f6e206e6f7420666f756e640000000000000000604482015260640160405180910390fd5b92915050565b5f5f60408385031215610156575f5ffd5b8235915060208301356001600160a01b0381168114610173575f5ffd5b809150509250929050565b5f6020828403121561018e575f5ffd5b503591905056fea2646970667358221220e71b7f221fddfdc05118438e524facdd17805943c54f17b6639ee61fb1c4194264736f6c634300081e0033","sourceMap":"3067:605:100:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3175:186;;;;;;:::i;:::-;3294:21;:36;;;;;;;;;;;:60;;-1:-1:-1;;;;;;3294:60:100;-1:-1:-1;;;;;3294:60:100;;;;;;;;;3175:186;;;3367:303;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;822:32:102;;;804:51;;792:2;777:18;3367:303:100;;;;;;;3112:56;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;3112:56:100;;;3367:303;3456:7;3507:36;;;;;;;;;;;-1:-1:-1;;;;;3507:36:100;;3553:72;;;;-1:-1:-1;;;3553:72:100;;1068:2:102;3553:72:100;;;1050:21:102;1107:2;1087:18;;;1080:30;1146:26;1126:18;;;1119:54;1190:18;;3553:72:100;;;;;;;;3642:21;3367:303;-1:-1:-1;;3367:303:100:o;14:408:102:-;82:6;90;143:2;131:9;122:7;118:23;114:32;111:52;;;159:1;156;149:12;111:52;204:23;;;-1:-1:-1;303:2:102;288:18;;275:32;-1:-1:-1;;;;;338:33:102;;326:46;;316:74;;386:1;383;376:12;316:74;409:7;399:17;;;14:408;;;;;:::o;427:226::-;486:6;539:2;527:9;518:7;514:23;510:32;507:52;;;555:1;552;545:12;507:52;-1:-1:-1;600:23:102;;427:226;-1:-1:-1;427:226:102:o","linkReferences":{}},"methodIdentifiers":{"changeImplementationAddress(bytes32,address)":"31f9665e","getImplementationAddress(bytes32)":"aafd5e40","interfacesImplemented(bytes32)":"cc48f4db"}}},"MockIdentifierWhitelist":{"abi":[{"type":"function","name":"addSupportedIdentifier","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isIdentifierSupported","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"removeSupportedIdentifier","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supported","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"}],\"name\":\"addSupportedIdentifier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"}],\"name\":\"isIdentifierSupported\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"identifier\",\"type\":\"bytes32\"}],\"name\":\"removeSupportedIdentifier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"supported\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"addSupportedIdentifier(bytes32)\":{\"details\":\"Price requests using this identifier will succeed after this call.\",\"params\":{\"identifier\":\"bytes32 encoding of the string identifier. Eg: BTC/USD.\"}},\"isIdentifierSupported(bytes32)\":{\"params\":{\"identifier\":\"bytes32 encoding of the string identifier. Eg: BTC/USD.\"},\"returns\":{\"_0\":\"bool if the identifier is supported (or not).\"}},\"removeSupportedIdentifier(bytes32)\":{\"details\":\"Price requests using this identifier will no longer succeed after this call.\",\"params\":{\"identifier\":\"bytes32 encoding of the string identifier. Eg: BTC/USD.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addSupportedIdentifier(bytes32)\":{\"notice\":\"Adds the provided identifier as a supported identifier.\"},\"isIdentifierSupported(bytes32)\":{\"notice\":\"Checks whether an identifier is on the whitelist.\"},\"removeSupportedIdentifier(bytes32)\":{\"notice\":\"Removes the identifier from the whitelist.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/ManagedOptimisticOracleV2.t.sol\":\"MockIdentifierWhitelist\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0xa3735a6618a3014e42bb4329ad143e3b2c59cd95094350202e4c4a06c9d585dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef9db48d94726ec3d3fa3a84a8d520903705190f7ee7a04a065335a6aeeac4d\",\"dweb:/ipfs/QmSWmNny7TkzyqRPjGdpERAJuBwwznrGPLUqS4DZy5fX5z\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x4584f551c3a875c26423c1e50a77179bc2f9c9c1ee6d0f0c6be0f89ca5ee8270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef118876a862b60ba8a6612b8b3f3a6c226e11a0071a2e9695f021586d1bfdbe\",\"dweb:/ipfs/QmXd2vD91PkvoFWasFkgbDi89PctmgsHVxGvGNyhjmRK2b\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xd3edaf57db178f839d97ccee0009c2b7b20f78c2adca9028a6013acb8d5b4c5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f17329ac1d25d3e6657ca240dee0a3f9b2cf22a64a05b87dac15252dee74351\",\"dweb:/ipfs/QmPHxkEwgVpQNbU52s58RmmegrkYGj8bNKTVSW8rZm3dBm\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x7274081e11c05164fd8eadde4de8305c033e58a43008dea58065f3170ccf0737\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9801614b6c9d3e472982e6cc68f5f1ad03682f84eafb686be65633c7132d138\",\"dweb:/ipfs/QmcQSUcrm2A7XuektnxJjvYGmZtBeA6LKPxCXRqdXBX776\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x85a70e2b1b65e9ba456add364d22b97eb9944083df1c39c0b4bd6a4b5aa386a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d32a33be6ca4d8e89b9e82e3f9cec7a6c4e040534152313ff55da85b8f193059\",\"dweb:/ipfs/QmeR55L8t2A8xZ1nvT5y4yVWfFbbmpaGAtGBMz3GGNpuyP\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol\":{\"keccak256\":\"0x2922ed589f7063a685dffc9297f8b669c1e86f2fde9078c08d8bff079cf636a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0bd42676681a1c4563f61a767bfbc50ef207544a3d6eee9aa66830cc15ccb679\",\"dweb:/ipfs/QmRMCKEXNWJq1EdCjNQtTXf9tuppnyGtaiBCiNk3TYVcK1\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x6694b63ddb2c59bbe341c846171798350e8f72fa02189fcdeaca864e28b54e1f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d945d33e2189ac4e531e4ed228f59ca957b3898c4f9051f4b8c7ae44d72b23a\",\"dweb:/ipfs/QmRcEwubTe3xyXxthijs5fVzEgUFSxeddjd5PGfhBnkunX\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xbff9f59c84e5337689161ce7641c0ef8e872d6a7536fbc1f5133f128887aba3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b308f882e796f7b79c9502deacb0a62983035c6f6f4e962b319ba6a1f4a77d3d\",\"dweb:/ipfs/QmaWCW7ahEQqFjwhSUhV7Ae7WhfNvzSpE7DQ58hvEooqPL\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol\":{\"keccak256\":\"0x956d6404c7b61b920a9ccbc9918f94a2bd3004de3dd13310995eda5bc17f1ead\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c12dc67a285548d455683db60f1ed845c03ac3c27f8f24f905defd3c54601406\",\"dweb:/ipfs/QmXDaxKsnq6RxH44VPSqxjLyygdXn3GR1o6W9pr2iXzjZq\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol\":{\"keccak256\":\"0x21529ba6918f994ec44fb97cef2b717d730268e911a4e626f3e425a4394f7bae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10949be539eb61e5ea8996cc93f21be61949c16a1b717adc2b3f8f099c1e1feb\",\"dweb:/ipfs/QmagATozhFXBUVTLaiHWyqVPgew9N1x18V6hBF46AZPeLw\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23\",\"dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR\"]},\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol\":{\"keccak256\":\"0x3ae81a443846c6d9bd387d6c6a5d7271a25095c83bb93817eefdaa22e13ca9e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f98462a56f254dc0046038e92527e3b7ee5bf0e03f60e3459fbd400c14be01a7\",\"dweb:/ipfs/QmevANfRaMrqy8Jh33LxEs5vP2xBPQspxtij8bsonw3GHM\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa3066ff86b94128a9d3956a63a0511fa1aae41bd455772ab587b32ff322acb2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf7b192fd82acf6187970c80548f624b1b9c80425b62fa49e7fdb538a52de049\",\"dweb:/ipfs/QmWXG1YCde1tqDYTbNwjkZDWVgPEjzaQGSDqWkyKLzaNua\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x86b7b71a6aedefdad89b607378eeab1dcc5389b9ea7d17346d08af01d7190994\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1dc2db8d94a21eac8efe03adf574c419b08536409b416057a2b5b95cb772c43c\",\"dweb:/ipfs/QmZfqJCKVU1ScuX2A7s8WZdQEaikwJbDH5JBrBdKTUT4Gu\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508\",\"dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"lib/openzeppelin-contracts/contracts/utils/Arrays.sol\":{\"keccak256\":\"0xa4b9958797e0e9cde82a090525e90f80d5745ba1c67ee72b488bd3087498a17e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9344f7c2f80322c2e76d9d89bed03fd12f3e011e74fde7cf24ea21bdd2abe2d\",\"dweb:/ipfs/QmPMAjF5x2fHUAee2FKMZDBbFVrbZbPCr3a9KHLZaSn1zY\"]},\"lib/openzeppelin-contracts/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2\",\"dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x27c3c648062924bd44cd6f38541c78e6de145dd49515ee62321e42fc1b72e5c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cce2ebc0392b5a96f5c7bbaaf5c3d23c0e7190e64cfa05a49978badc1496141\",\"dweb:/ipfs/QmYQC1U12igR1osVyjRHaHiiTgYYuPjncAxwmjbZ452dCL\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x1fc283df727585919c3db301b948a3e827aee16917457ad7f916db9da2228e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4f4b5e2cd0ebc3b74e41e4e94771a0417eedd9b11cec3ef9f90b2ac2989264b\",\"dweb:/ipfs/QmZmsEsvsXiwAyAe1YeoLSKezeFcvR1giUeEY6ex4zpsTS\"]},\"lib/protocol/packages/core/contracts/common/implementation/AncillaryData.sol\":{\"keccak256\":\"0x8ff33ac32d3e6de25de9e0ac2c0ff9a621f187fa97e9ee84092b327471baa3ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0bbaed49756e8cf7ef405e132f441cd7a735ac6186a200b0179147e7d137b74a\",\"dweb:/ipfs/QmeSBJX5a61LZPxbkUKS2NF4LSxemgDwjD65fCAmyP7PX2\"]},\"lib/protocol/packages/core/contracts/common/implementation/Lockable.sol\":{\"keccak256\":\"0x41d78fcce54598ad5f26bc0b778c0f4fedbd836401625e49e736979f69a87ef0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ce111bb50441ef5125e7d42284f6debbc17fd589515d7b8cede7e9d1d5f0ede\",\"dweb:/ipfs/QmaXiXACWVEDDHoCHNXdVBoNpf8QNHkUZ1kf5MfbxfL6jj\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/implementation/Constants.sol\":{\"keccak256\":\"0xe40957105a9240c6bcb9753fd0011fe9f382c437cd6771c57bf7a96f8ceb9c84\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cbf0d25e841b1f5c4022d09fb29220cb428139443cb29c4ab8dbfff71dffcc05\",\"dweb:/ipfs/QmSVVr5wH1tZi6WmKyuy1K8yS6JN4DeK5kWaZpPKtXiqkK\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/FinderInterface.sol\":{\"keccak256\":\"0x9166fbfe08e954eb86d33c114fcde7ce4fd0dda5d9d28b31210582bfc769fa86\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e611e12bcaaebfdf65b67c566ff1d34708e757f01a445bd87c55862e89383b81\",\"dweb:/ipfs/QmYNSq5oopTShdS6j4VWKqoLxmQSRKmWebCxw6K4LfmKrf\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/IdentifierWhitelistInterface.sol\":{\"keccak256\":\"0x9ae86a30dd1a8c03fb2c6d27be570bb30c4c0b13ac63cde8620b7e4b51d88dc9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a71d2aff48e075ecab56a9c9767775d1d77e04ec9191fed124e71003220549e3\",\"dweb:/ipfs/QmYPWsZXro6fzqpZY6UxQ5X8znEXfLp2sun8oXzdz8bTyc\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/OracleAncillaryInterface.sol\":{\"keccak256\":\"0xd58b41fe1e389f7871db7c04f2c05c1aac1d0455bbc521534da81fd657016a1f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cc532e9c550bb1bba0daa33fda748590cd06ce94a9566fe65dac04e7d40977bc\",\"dweb:/ipfs/QmZKvfRW2LJFt5MWZbKuU9ujkXnS2hkPUJVj8wwJWcuZGX\"]},\"src/common/implementation/AddressLegacy.sol\":{\"keccak256\":\"0x441f6c1a04ebb7ad44e54e1b9e3a6ca9f2468358842f93ec73e392f928daf85f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2cba7f3e831503913b6a147eec2f5fc6a2c5cdf1df11ae65582a42c5680ecd\",\"dweb:/ipfs/QmdBEXFnViR66ibJeyjKNh2xJoY8v1y3u3u1D9UXdPawFA\"]},\"src/common/implementation/AddressWhitelist.sol\":{\"keccak256\":\"0xa3b999d7b717c1bf4bb1b958ef5e26717ad965babe994aa8db3fb301f240c876\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7e1c4c81902a72dcf579e28f922f4910aadf5edaee4b2a4defe60c61dc00fbca\",\"dweb:/ipfs/QmUMZbko39hTe8epg77B8k9XYGmKNxLjnkLdd6x8v2xDyV\"]},\"src/common/implementation/DisabledAddressWhitelist.sol\":{\"keccak256\":\"0x34d42ccd54fb72eef815f5187088ba6dede2f9a7fc202495d4eaec284f415954\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e9a4569e7bb99d3631da6a52696b83e4bc52e09d2bc1cb7e4d93b657103b1879\",\"dweb:/ipfs/QmVBBrXbiXFmH7U2DKWR8rmNCLusxA3feJ9dWRZXczoEof\"]},\"src/common/implementation/LockableUpgradeable.sol\":{\"keccak256\":\"0x1a10eec9d7f12b051d343c65016a9c60a4bece53da4da2eceb8a8dc007b336e2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://9b8c203e136583fa946e4ae0e7bc9774837f865f8b319daa97c84ceb8a16c95b\",\"dweb:/ipfs/QmPJPPL27TB8qt66ZHquDCYtuubcTStRqxn4nxQnehMdA2\"]},\"src/common/implementation/MultiCaller.sol\":{\"keccak256\":\"0x1cef2a13b361679c2ef5d0d97fcbb0ae0cf4858b97a6dd8ab68e3974ea5ffe4a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ad81f2964ce1b40a8ee56a56612d6b773f260e5a3381dc50cd85ba1f9f6af46f\",\"dweb:/ipfs/QmU3Pbxq8rMhGKqNiBa6vWqtiHw9RzdZ4zbTayhgGdyAnz\"]},\"src/common/interfaces/AddressWhitelistInterface.sol\":{\"keccak256\":\"0x126b2bc590041cf213c274bedc91c06a263ddff5e11a090be80d7db8b1cb0d8f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0f47e32816f895d4a3a060eded9bba7853eff6a6d99c3de5b4d1ca8359ce1c49\",\"dweb:/ipfs/QmVWt7xTr68owupHSUUJNfV2N3n2bTvTWtXCDtu8k3uVBN\"]},\"src/common/interfaces/FixedPointInterface.sol\":{\"keccak256\":\"0xceca09e6aa78c97698fa0b1f40657f6c3c723d5d94150ef6476affb9671df753\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d5d1b01017749d96befb5c2e8a8c6d9dd041f57e1d9a66238c296cc28512d2e5\",\"dweb:/ipfs/QmVPiky59JTngjwZNdxbmD7H1Lwa5AgTjzv975wSnavFFy\"]},\"src/data-verification-mechanism/interfaces/StoreInterface.sol\":{\"keccak256\":\"0x1905509e908c6a9b8b3a89449d2d86fd7192d0e588cbe542edd21351d9971ee5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://346e602f41469943453fbe039bf7554b23e1eba3128ff3858d32b35ebcc2ae88\",\"dweb:/ipfs/QmcjZ73TwMjondBDKEHyZ9KUjZzcxsy6Dmqs8QxPK3KBde\"]},\"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol\":{\"keccak256\":\"0xc9d7a66b24fdae13296742642c015e563ee14c2b14aa5d2e27feb9dcd9251420\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47f9fb2885988c20219b93679f3f840b24f7abafa98ed3c09e8a072bc002b6f8\",\"dweb:/ipfs/QmZGW9Jmbsm5ddbsCcVxBeLqV5vvtiXAunjhTg8KYJwLzj\"]},\"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol\":{\"keccak256\":\"0xa0552c2797adccd632c07e77795cf258ff13e2cc435a14a7c530ea0f8acb49c2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ce250692f3db536caf05b193754741f62682c6bcac542780b1acc4b2fbf8bb25\",\"dweb:/ipfs/QmSQTPq4goBfGYfxV2V5B78y4PADfvjJsbPrKedoQxuS2h\"]},\"src/optimistic-oracle-v2/interfaces/ManagedOptimisticOracleV2Interface.sol\":{\"keccak256\":\"0xc852903a36f8ef8224be0f3769df0bbda8ae51a30e307546f16397af2fa26de1\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7e1cc2d1655db300d72b8005d2387efde447c71a723efa46db823cff376aff3e\",\"dweb:/ipfs/QmUDwx2TjTkf6JjFTJ3kRDoWdtUaUTdk35PJSDhJni9mFo\"]},\"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol\":{\"keccak256\":\"0x33a251fab5e475a286832db9bc3aabf7f597497f07e06c2da8779d4f486336d1\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e8789e875af4c98c16a085279a5dd545fe2fe32716e66c41343ea0edaf8fad9f\",\"dweb:/ipfs/QmQTzL8h24WkcfchRfSRrCysAfSprVCF2RNc4AMQTchTyZ\"]},\"test/ManagedOptimisticOracleV2.t.sol\":{\"keccak256\":\"0x03f4ed2c4422618ba59753f176dc55ab5da0e24fc241b864f28e08795e413d54\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e702c3e25c2e11e558e7feea14d38648205caa514102cec5481709d746f49a2b\",\"dweb:/ipfs/QmXaTqQjitWJTWPfcyKMg6HiQfoszqsqM2GBJZvKLxCSBx\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":64170,"contract":"test/ManagedOptimisticOracleV2.t.sol:MockIdentifierWhitelist","label":"supported","offset":0,"slot":"0","type":"t_mapping(t_bytes32,t_bool)"}],"types":{"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_bytes32,t_bool)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => bool)","numberOfBytes":"32","value":"t_bool"}}},"evm":{"bytecode":{"object":"6080604052348015600e575f5ffd5b5061012f8061001c5f395ff3fe6080604052348015600e575f5ffd5b50600436106044575f3560e01c806310a7e2011460485780637193f2f014606f5780638e0d3ca71460a257806390978d1b1460c4575b5f5ffd5b606d605336600460e3565b5f908152602081905260409020805460ff19166001179055565b005b608e607a36600460e3565b5f6020819052908152604090205460ff1681565b604051901515815260200160405180910390f35b606d60ad36600460e3565b5f908152602081905260409020805460ff19169055565b608e60cf36600460e3565b5f9081526020819052604090205460ff1690565b5f6020828403121560f2575f5ffd5b503591905056fea2646970667358221220d26d541b6c8bb85d71c8735b8b16e3b15f60223383f1ec0ee40c5871d6abac8964736f6c634300081e0033","sourceMap":"2564:501:100:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080604052348015600e575f5ffd5b50600436106044575f3560e01c806310a7e2011460485780637193f2f014606f5780638e0d3ca71460a257806390978d1b1460c4575b5f5ffd5b606d605336600460e3565b5f908152602081905260409020805460ff19166001179055565b005b608e607a36600460e3565b5f6020819052908152604090205460ff1681565b604051901515815260200160405180910390f35b606d60ad36600460e3565b5f908152602081905260409020805460ff19169055565b608e60cf36600460e3565b5f9081526020819052604090205460ff1690565b5f6020828403121560f2575f5ffd5b503591905056fea2646970667358221220d26d541b6c8bb85d71c8735b8b16e3b15f60223383f1ec0ee40c5871d6abac8964736f6c634300081e0033","sourceMap":"2564:501:100:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2683:115;;;;;;:::i;:::-;2763:9;:21;;;;;;;;;;:28;;-1:-1:-1;;2763:28:100;2787:4;2763:28;;;2683:115;;;2635:41;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;364:14:102;;357:22;339:41;;327:2;312:18;2635:41:100;;;;;;;2804:119;;;;;;:::i;:::-;2911:5;2887:21;;;;;;;;;;:29;;-1:-1:-1;;2887:29:100;;;2804:119;2929:134;;;;;;:::i;:::-;3012:4;3035:21;;;;;;;;;;;;;;2929:134;14:180:102;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:102;;14:180;-1:-1:-1;14:180:102:o","linkReferences":{}},"methodIdentifiers":{"addSupportedIdentifier(bytes32)":"10a7e201","isIdentifierSupported(bytes32)":"90978d1b","removeSupportedIdentifier(bytes32)":"8e0d3ca7","supported(bytes32)":"7193f2f0"}}},"MockStore":{"abi":[{"type":"function","name":"computeFinalFee","inputs":[{"name":"currency","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct FixedPointInterface.Unsigned","components":[{"name":"rawValue","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"computeRegularFee","inputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"tuple","internalType":"struct FixedPointInterface.Unsigned","components":[{"name":"rawValue","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"regularFee","type":"tuple","internalType":"struct FixedPointInterface.Unsigned","components":[{"name":"rawValue","type":"uint256","internalType":"uint256"}]},{"name":"latePenalty","type":"tuple","internalType":"struct FixedPointInterface.Unsigned","components":[{"name":"rawValue","type":"uint256","internalType":"uint256"}]}],"stateMutability":"pure"},{"type":"function","name":"finalFeeByCurrency","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"payOracleFees","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"payOracleFeesErc20","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"tuple","internalType":"struct FixedPointInterface.Unsigned","components":[{"name":"rawValue","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFinalFee","inputs":[{"name":"currency","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"computeFinalFee\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"rawValue\",\"type\":\"uint256\"}],\"internalType\":\"struct FixedPointInterface.Unsigned\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"rawValue\",\"type\":\"uint256\"}],\"internalType\":\"struct FixedPointInterface.Unsigned\",\"name\":\"\",\"type\":\"tuple\"}],\"name\":\"computeRegularFee\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"rawValue\",\"type\":\"uint256\"}],\"internalType\":\"struct FixedPointInterface.Unsigned\",\"name\":\"regularFee\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"rawValue\",\"type\":\"uint256\"}],\"internalType\":\"struct FixedPointInterface.Unsigned\",\"name\":\"latePenalty\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"finalFeeByCurrency\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payOracleFees\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"rawValue\",\"type\":\"uint256\"}],\"internalType\":\"struct FixedPointInterface.Unsigned\",\"name\":\"\",\"type\":\"tuple\"}],\"name\":\"payOracleFeesErc20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setFinalFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"computeFinalFee(address)\":{\"params\":{\"currency\":\"token used to pay the final fee.\"},\"returns\":{\"_0\":\"finalFee amount due.\"}},\"payOracleFees()\":{\"details\":\"To be used by contracts whose margin currency is ETH.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"computeFinalFee(address)\":{\"notice\":\"Computes the final oracle fees that a contract should pay at settlement.\"},\"payOracleFees()\":{\"notice\":\"Pays Oracle fees in ETH to the store.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/ManagedOptimisticOracleV2.t.sol\":\"MockStore\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0xa3735a6618a3014e42bb4329ad143e3b2c59cd95094350202e4c4a06c9d585dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef9db48d94726ec3d3fa3a84a8d520903705190f7ee7a04a065335a6aeeac4d\",\"dweb:/ipfs/QmSWmNny7TkzyqRPjGdpERAJuBwwznrGPLUqS4DZy5fX5z\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x4584f551c3a875c26423c1e50a77179bc2f9c9c1ee6d0f0c6be0f89ca5ee8270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef118876a862b60ba8a6612b8b3f3a6c226e11a0071a2e9695f021586d1bfdbe\",\"dweb:/ipfs/QmXd2vD91PkvoFWasFkgbDi89PctmgsHVxGvGNyhjmRK2b\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xd3edaf57db178f839d97ccee0009c2b7b20f78c2adca9028a6013acb8d5b4c5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f17329ac1d25d3e6657ca240dee0a3f9b2cf22a64a05b87dac15252dee74351\",\"dweb:/ipfs/QmPHxkEwgVpQNbU52s58RmmegrkYGj8bNKTVSW8rZm3dBm\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x7274081e11c05164fd8eadde4de8305c033e58a43008dea58065f3170ccf0737\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9801614b6c9d3e472982e6cc68f5f1ad03682f84eafb686be65633c7132d138\",\"dweb:/ipfs/QmcQSUcrm2A7XuektnxJjvYGmZtBeA6LKPxCXRqdXBX776\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x85a70e2b1b65e9ba456add364d22b97eb9944083df1c39c0b4bd6a4b5aa386a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d32a33be6ca4d8e89b9e82e3f9cec7a6c4e040534152313ff55da85b8f193059\",\"dweb:/ipfs/QmeR55L8t2A8xZ1nvT5y4yVWfFbbmpaGAtGBMz3GGNpuyP\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol\":{\"keccak256\":\"0x2922ed589f7063a685dffc9297f8b669c1e86f2fde9078c08d8bff079cf636a1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0bd42676681a1c4563f61a767bfbc50ef207544a3d6eee9aa66830cc15ccb679\",\"dweb:/ipfs/QmRMCKEXNWJq1EdCjNQtTXf9tuppnyGtaiBCiNk3TYVcK1\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x6694b63ddb2c59bbe341c846171798350e8f72fa02189fcdeaca864e28b54e1f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d945d33e2189ac4e531e4ed228f59ca957b3898c4f9051f4b8c7ae44d72b23a\",\"dweb:/ipfs/QmRcEwubTe3xyXxthijs5fVzEgUFSxeddjd5PGfhBnkunX\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xbff9f59c84e5337689161ce7641c0ef8e872d6a7536fbc1f5133f128887aba3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b308f882e796f7b79c9502deacb0a62983035c6f6f4e962b319ba6a1f4a77d3d\",\"dweb:/ipfs/QmaWCW7ahEQqFjwhSUhV7Ae7WhfNvzSpE7DQ58hvEooqPL\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol\":{\"keccak256\":\"0x956d6404c7b61b920a9ccbc9918f94a2bd3004de3dd13310995eda5bc17f1ead\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c12dc67a285548d455683db60f1ed845c03ac3c27f8f24f905defd3c54601406\",\"dweb:/ipfs/QmXDaxKsnq6RxH44VPSqxjLyygdXn3GR1o6W9pr2iXzjZq\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol\":{\"keccak256\":\"0x21529ba6918f994ec44fb97cef2b717d730268e911a4e626f3e425a4394f7bae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10949be539eb61e5ea8996cc93f21be61949c16a1b717adc2b3f8f099c1e1feb\",\"dweb:/ipfs/QmagATozhFXBUVTLaiHWyqVPgew9N1x18V6hBF46AZPeLw\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23\",\"dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR\"]},\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol\":{\"keccak256\":\"0x3ae81a443846c6d9bd387d6c6a5d7271a25095c83bb93817eefdaa22e13ca9e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f98462a56f254dc0046038e92527e3b7ee5bf0e03f60e3459fbd400c14be01a7\",\"dweb:/ipfs/QmevANfRaMrqy8Jh33LxEs5vP2xBPQspxtij8bsonw3GHM\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa3066ff86b94128a9d3956a63a0511fa1aae41bd455772ab587b32ff322acb2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf7b192fd82acf6187970c80548f624b1b9c80425b62fa49e7fdb538a52de049\",\"dweb:/ipfs/QmWXG1YCde1tqDYTbNwjkZDWVgPEjzaQGSDqWkyKLzaNua\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x86b7b71a6aedefdad89b607378eeab1dcc5389b9ea7d17346d08af01d7190994\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1dc2db8d94a21eac8efe03adf574c419b08536409b416057a2b5b95cb772c43c\",\"dweb:/ipfs/QmZfqJCKVU1ScuX2A7s8WZdQEaikwJbDH5JBrBdKTUT4Gu\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508\",\"dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"lib/openzeppelin-contracts/contracts/utils/Arrays.sol\":{\"keccak256\":\"0xa4b9958797e0e9cde82a090525e90f80d5745ba1c67ee72b488bd3087498a17e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9344f7c2f80322c2e76d9d89bed03fd12f3e011e74fde7cf24ea21bdd2abe2d\",\"dweb:/ipfs/QmPMAjF5x2fHUAee2FKMZDBbFVrbZbPCr3a9KHLZaSn1zY\"]},\"lib/openzeppelin-contracts/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2\",\"dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x27c3c648062924bd44cd6f38541c78e6de145dd49515ee62321e42fc1b72e5c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cce2ebc0392b5a96f5c7bbaaf5c3d23c0e7190e64cfa05a49978badc1496141\",\"dweb:/ipfs/QmYQC1U12igR1osVyjRHaHiiTgYYuPjncAxwmjbZ452dCL\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x1fc283df727585919c3db301b948a3e827aee16917457ad7f916db9da2228e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4f4b5e2cd0ebc3b74e41e4e94771a0417eedd9b11cec3ef9f90b2ac2989264b\",\"dweb:/ipfs/QmZmsEsvsXiwAyAe1YeoLSKezeFcvR1giUeEY6ex4zpsTS\"]},\"lib/protocol/packages/core/contracts/common/implementation/AncillaryData.sol\":{\"keccak256\":\"0x8ff33ac32d3e6de25de9e0ac2c0ff9a621f187fa97e9ee84092b327471baa3ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0bbaed49756e8cf7ef405e132f441cd7a735ac6186a200b0179147e7d137b74a\",\"dweb:/ipfs/QmeSBJX5a61LZPxbkUKS2NF4LSxemgDwjD65fCAmyP7PX2\"]},\"lib/protocol/packages/core/contracts/common/implementation/Lockable.sol\":{\"keccak256\":\"0x41d78fcce54598ad5f26bc0b778c0f4fedbd836401625e49e736979f69a87ef0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ce111bb50441ef5125e7d42284f6debbc17fd589515d7b8cede7e9d1d5f0ede\",\"dweb:/ipfs/QmaXiXACWVEDDHoCHNXdVBoNpf8QNHkUZ1kf5MfbxfL6jj\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/implementation/Constants.sol\":{\"keccak256\":\"0xe40957105a9240c6bcb9753fd0011fe9f382c437cd6771c57bf7a96f8ceb9c84\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cbf0d25e841b1f5c4022d09fb29220cb428139443cb29c4ab8dbfff71dffcc05\",\"dweb:/ipfs/QmSVVr5wH1tZi6WmKyuy1K8yS6JN4DeK5kWaZpPKtXiqkK\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/FinderInterface.sol\":{\"keccak256\":\"0x9166fbfe08e954eb86d33c114fcde7ce4fd0dda5d9d28b31210582bfc769fa86\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e611e12bcaaebfdf65b67c566ff1d34708e757f01a445bd87c55862e89383b81\",\"dweb:/ipfs/QmYNSq5oopTShdS6j4VWKqoLxmQSRKmWebCxw6K4LfmKrf\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/IdentifierWhitelistInterface.sol\":{\"keccak256\":\"0x9ae86a30dd1a8c03fb2c6d27be570bb30c4c0b13ac63cde8620b7e4b51d88dc9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a71d2aff48e075ecab56a9c9767775d1d77e04ec9191fed124e71003220549e3\",\"dweb:/ipfs/QmYPWsZXro6fzqpZY6UxQ5X8znEXfLp2sun8oXzdz8bTyc\"]},\"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/OracleAncillaryInterface.sol\":{\"keccak256\":\"0xd58b41fe1e389f7871db7c04f2c05c1aac1d0455bbc521534da81fd657016a1f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cc532e9c550bb1bba0daa33fda748590cd06ce94a9566fe65dac04e7d40977bc\",\"dweb:/ipfs/QmZKvfRW2LJFt5MWZbKuU9ujkXnS2hkPUJVj8wwJWcuZGX\"]},\"src/common/implementation/AddressLegacy.sol\":{\"keccak256\":\"0x441f6c1a04ebb7ad44e54e1b9e3a6ca9f2468358842f93ec73e392f928daf85f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2cba7f3e831503913b6a147eec2f5fc6a2c5cdf1df11ae65582a42c5680ecd\",\"dweb:/ipfs/QmdBEXFnViR66ibJeyjKNh2xJoY8v1y3u3u1D9UXdPawFA\"]},\"src/common/implementation/AddressWhitelist.sol\":{\"keccak256\":\"0xa3b999d7b717c1bf4bb1b958ef5e26717ad965babe994aa8db3fb301f240c876\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7e1c4c81902a72dcf579e28f922f4910aadf5edaee4b2a4defe60c61dc00fbca\",\"dweb:/ipfs/QmUMZbko39hTe8epg77B8k9XYGmKNxLjnkLdd6x8v2xDyV\"]},\"src/common/implementation/DisabledAddressWhitelist.sol\":{\"keccak256\":\"0x34d42ccd54fb72eef815f5187088ba6dede2f9a7fc202495d4eaec284f415954\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e9a4569e7bb99d3631da6a52696b83e4bc52e09d2bc1cb7e4d93b657103b1879\",\"dweb:/ipfs/QmVBBrXbiXFmH7U2DKWR8rmNCLusxA3feJ9dWRZXczoEof\"]},\"src/common/implementation/LockableUpgradeable.sol\":{\"keccak256\":\"0x1a10eec9d7f12b051d343c65016a9c60a4bece53da4da2eceb8a8dc007b336e2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://9b8c203e136583fa946e4ae0e7bc9774837f865f8b319daa97c84ceb8a16c95b\",\"dweb:/ipfs/QmPJPPL27TB8qt66ZHquDCYtuubcTStRqxn4nxQnehMdA2\"]},\"src/common/implementation/MultiCaller.sol\":{\"keccak256\":\"0x1cef2a13b361679c2ef5d0d97fcbb0ae0cf4858b97a6dd8ab68e3974ea5ffe4a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ad81f2964ce1b40a8ee56a56612d6b773f260e5a3381dc50cd85ba1f9f6af46f\",\"dweb:/ipfs/QmU3Pbxq8rMhGKqNiBa6vWqtiHw9RzdZ4zbTayhgGdyAnz\"]},\"src/common/interfaces/AddressWhitelistInterface.sol\":{\"keccak256\":\"0x126b2bc590041cf213c274bedc91c06a263ddff5e11a090be80d7db8b1cb0d8f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0f47e32816f895d4a3a060eded9bba7853eff6a6d99c3de5b4d1ca8359ce1c49\",\"dweb:/ipfs/QmVWt7xTr68owupHSUUJNfV2N3n2bTvTWtXCDtu8k3uVBN\"]},\"src/common/interfaces/FixedPointInterface.sol\":{\"keccak256\":\"0xceca09e6aa78c97698fa0b1f40657f6c3c723d5d94150ef6476affb9671df753\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d5d1b01017749d96befb5c2e8a8c6d9dd041f57e1d9a66238c296cc28512d2e5\",\"dweb:/ipfs/QmVPiky59JTngjwZNdxbmD7H1Lwa5AgTjzv975wSnavFFy\"]},\"src/data-verification-mechanism/interfaces/StoreInterface.sol\":{\"keccak256\":\"0x1905509e908c6a9b8b3a89449d2d86fd7192d0e588cbe542edd21351d9971ee5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://346e602f41469943453fbe039bf7554b23e1eba3128ff3858d32b35ebcc2ae88\",\"dweb:/ipfs/QmcjZ73TwMjondBDKEHyZ9KUjZzcxsy6Dmqs8QxPK3KBde\"]},\"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol\":{\"keccak256\":\"0xc9d7a66b24fdae13296742642c015e563ee14c2b14aa5d2e27feb9dcd9251420\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47f9fb2885988c20219b93679f3f840b24f7abafa98ed3c09e8a072bc002b6f8\",\"dweb:/ipfs/QmZGW9Jmbsm5ddbsCcVxBeLqV5vvtiXAunjhTg8KYJwLzj\"]},\"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol\":{\"keccak256\":\"0xa0552c2797adccd632c07e77795cf258ff13e2cc435a14a7c530ea0f8acb49c2\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://ce250692f3db536caf05b193754741f62682c6bcac542780b1acc4b2fbf8bb25\",\"dweb:/ipfs/QmSQTPq4goBfGYfxV2V5B78y4PADfvjJsbPrKedoQxuS2h\"]},\"src/optimistic-oracle-v2/interfaces/ManagedOptimisticOracleV2Interface.sol\":{\"keccak256\":\"0xc852903a36f8ef8224be0f3769df0bbda8ae51a30e307546f16397af2fa26de1\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7e1cc2d1655db300d72b8005d2387efde447c71a723efa46db823cff376aff3e\",\"dweb:/ipfs/QmUDwx2TjTkf6JjFTJ3kRDoWdtUaUTdk35PJSDhJni9mFo\"]},\"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol\":{\"keccak256\":\"0x33a251fab5e475a286832db9bc3aabf7f597497f07e06c2da8779d4f486336d1\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e8789e875af4c98c16a085279a5dd545fe2fe32716e66c41343ea0edaf8fad9f\",\"dweb:/ipfs/QmQTzL8h24WkcfchRfSRrCysAfSprVCF2RNc4AMQTchTyZ\"]},\"test/ManagedOptimisticOracleV2.t.sol\":{\"keccak256\":\"0x03f4ed2c4422618ba59753f176dc55ab5da0e24fc241b864f28e08795e413d54\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e702c3e25c2e11e558e7feea14d38648205caa514102cec5481709d746f49a2b\",\"dweb:/ipfs/QmXaTqQjitWJTWPfcyKMg6HiQfoszqsqM2GBJZvKLxCSBx\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":64089,"contract":"test/ManagedOptimisticOracleV2.t.sol:MockStore","label":"finalFeeByCurrency","offset":0,"slot":"0","type":"t_mapping(t_address,t_uint256)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"6080604052348015600e575f5ffd5b506102be8061001c5f395ff3fe608060405260043610610054575f3560e01c80635b97aadd1461005857806374201feb146100b557806374df7f501461011c5780638659d23214610153578063a3e4cea114610171578063cd3a9b2414610151575b5f5ffd5b348015610063575f5ffd5b506100a16100723660046101c5565b60408051602080820183525f91829052825180820184526001600160a01b039490941682528190522054815290565b604051905181526020015b60405180910390f35b3480156100c0575f5ffd5b506101076100cf3660046101fb565b505060408051602080820183525f91829052825180820184528290528251808201845282815283519182019093529081529092909150565b604080519251835290516020830152016100ac565b348015610127575f5ffd5b5061015161013636600461022e565b6001600160a01b039091165f90815260208190526040902055565b005b34801561015e575f5ffd5b5061015161016d366004610256565b5050565b34801561017c575f5ffd5b5061019c61018b3660046101c5565b5f6020819052908152604090205481565b6040519081526020016100ac565b80356001600160a01b03811681146101c0575f5ffd5b919050565b5f602082840312156101d5575f5ffd5b6101de826101aa565b9392505050565b5f602082840312156101f5575f5ffd5b50919050565b5f5f5f6060848603121561020d575f5ffd5b833592506020840135915061022585604086016101e5565b90509250925092565b5f5f6040838503121561023f575f5ffd5b610248836101aa565b946020939093013593505050565b5f5f60408385031215610267575f5ffd5b610270836101aa565b915061027f84602085016101e5565b9050925092905056fea26469706673582212200a25a7607fa0fa639f23ed9d4094e8686abd62a82f4928d3273cfe2064ad372264736f6c634300081e0033","sourceMap":"1586:976:100:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405260043610610054575f3560e01c80635b97aadd1461005857806374201feb146100b557806374df7f501461011c5780638659d23214610153578063a3e4cea114610171578063cd3a9b2414610151575b5f5ffd5b348015610063575f5ffd5b506100a16100723660046101c5565b60408051602080820183525f91829052825180820184526001600160a01b039490941682528190522054815290565b604051905181526020015b60405180910390f35b3480156100c0575f5ffd5b506101076100cf3660046101fb565b505060408051602080820183525f91829052825180820184528290528251808201845282815283519182019093529081529092909150565b604080519251835290516020830152016100ac565b348015610127575f5ffd5b5061015161013636600461022e565b6001600160a01b039091165f90815260208190526040902055565b005b34801561015e575f5ffd5b5061015161016d366004610256565b5050565b34801561017c575f5ffd5b5061019c61018b3660046101c5565b5f6020819052908152604090205481565b6040519081526020016100ac565b80356001600160a01b03811681146101c0575f5ffd5b919050565b5f602082840312156101d5575f5ffd5b6101de826101aa565b9392505050565b5f602082840312156101f5575f5ffd5b50919050565b5f5f5f6060848603121561020d575f5ffd5b833592506020840135915061022585604086016101e5565b90509250925092565b5f5f6040838503121561023f575f5ffd5b610248836101aa565b946020939093013593505050565b5f5f60408385031215610267575f5ffd5b610270836101aa565b915061027f84602085016101e5565b9050925092905056fea26469706673582212200a25a7607fa0fa639f23ed9d4094e8686abd62a82f4928d3273cfe2064ad372264736f6c634300081e0033","sourceMap":"1586:976:100:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2363:197;;;;;;;;;;-1:-1:-1;2363:197:100;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;2483:70:100;;;;;;;-1:-1:-1;;;;;2523:28:100;;;;;;;;;;;2483:70;;;2363:197;;;;601:13:102;;583:32;;571:2;556:18;2363:197:100;;;;;;;;1985:372;;;;;;;;;;-1:-1:-1;1985:372:100;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;2240:43:100;;;;;;;;;;2307;;;;;;;;;;;2240;;2307;;-1:-1:-1;1985:372:100;;;;;1567:13:102;;1549:32;;1617:13;;1612:2;1597:18;;1590:41;1522:18;1985:372:100;1267:370:102;1689:118:100;;;;;;;;;;-1:-1:-1;1689:118:100;;;;;:::i;:::-;-1:-1:-1;;;;;1763:28:100;;;:18;:28;;;;;;;;;;:37;1689:118;;;1863:116;;;;;;;;;;-1:-1:-1;1863:116:100;;;;;:::i;:::-;;;;1629:53;;;;;;;;;;-1:-1:-1;1629:53:100;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2413:25:102;;;2401:2;2386:18;1629:53:100;2267:177:102;14:173;82:20;;-1:-1:-1;;;;;131:31:102;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;:::-;333:39;192:186;-1:-1:-1;;;192:186:102:o;626:156::-;687:5;732:2;723:6;718:3;714:16;710:25;707:45;;;748:1;745;738:12;707:45;-1:-1:-1;770:6:102;626:156;-1:-1:-1;626:156:102:o;787:475::-;893:6;901;909;962:2;950:9;941:7;937:23;933:32;930:52;;;978:1;975;968:12;930:52;1023:23;;;-1:-1:-1;1143:2:102;1128:18;;1115:32;;-1:-1:-1;1192:64:102;1248:7;1243:2;1228:18;;1192:64;:::i;:::-;1182:74;;787:475;;;;;:::o;1642:300::-;1710:6;1718;1771:2;1759:9;1750:7;1746:23;1742:32;1739:52;;;1787:1;1784;1777:12;1739:52;1810:29;1829:9;1810:29;:::i;:::-;1800:39;1908:2;1893:18;;;;1880:32;;-1:-1:-1;;;1642:300:102:o;1947:315::-;2044:6;2052;2105:2;2093:9;2084:7;2080:23;2076:32;2073:52;;;2121:1;2118;2111:12;2073:52;2144:29;2163:9;2144:29;:::i;:::-;2134:39;;2192:64;2248:7;2243:2;2232:9;2228:18;2192:64;:::i;:::-;2182:74;;1947:315;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"computeFinalFee(address)":"5b97aadd","computeRegularFee(uint256,uint256,(uint256))":"74201feb","finalFeeByCurrency(address)":"a3e4cea1","payOracleFees()":"cd3a9b24","payOracleFeesErc20(address,(uint256))":"8659d232","setFinalFee(address,uint256)":"74df7f50"}}}},"test/common/AddressWhitelist.t.sol":{"AddressWhitelistTest":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"test_AddAndContains","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_AddDuplicate_NoDuplicate_NoEvent","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_GetWhitelist_MultipleAddresses_IgnoresOrder","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_IsWhitelistEnabled_AlwaysTrue","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"test_OnlyOwner_AddAndRemove_RevertForNonOwner","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RemoveNonexistent_NoRevert_NoEvent","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_Remove_RemovesAndUpdatesView","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_SupportsInterface","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_AddAndContains\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_AddDuplicate_NoDuplicate_NoEvent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_GetWhitelist_MultipleAddresses_IgnoresOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_IsWhitelistEnabled_AlwaysTrue\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_OnlyOwner_AddAndRemove_RevertForNonOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_RemoveNonexistent_NoRevert_NoEvent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_Remove_RemovesAndUpdatesView\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SupportsInterface\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/common/AddressWhitelist.t.sol\":\"AddressWhitelistTest\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":@uma/contracts/=lib/protocol/packages/core/contracts/\",\":ds-test/=lib/protocol/packages/core/temp/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":protocol/=lib/protocol/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0xa3735a6618a3014e42bb4329ad143e3b2c59cd95094350202e4c4a06c9d585dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef9db48d94726ec3d3fa3a84a8d520903705190f7ee7a04a065335a6aeeac4d\",\"dweb:/ipfs/QmSWmNny7TkzyqRPjGdpERAJuBwwznrGPLUqS4DZy5fX5z\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x4584f551c3a875c26423c1e50a77179bc2f9c9c1ee6d0f0c6be0f89ca5ee8270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef118876a862b60ba8a6612b8b3f3a6c226e11a0071a2e9695f021586d1bfdbe\",\"dweb:/ipfs/QmXd2vD91PkvoFWasFkgbDi89PctmgsHVxGvGNyhjmRK2b\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xd3edaf57db178f839d97ccee0009c2b7b20f78c2adca9028a6013acb8d5b4c5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f17329ac1d25d3e6657ca240dee0a3f9b2cf22a64a05b87dac15252dee74351\",\"dweb:/ipfs/QmPHxkEwgVpQNbU52s58RmmegrkYGj8bNKTVSW8rZm3dBm\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x7274081e11c05164fd8eadde4de8305c033e58a43008dea58065f3170ccf0737\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9801614b6c9d3e472982e6cc68f5f1ad03682f84eafb686be65633c7132d138\",\"dweb:/ipfs/QmcQSUcrm2A7XuektnxJjvYGmZtBeA6LKPxCXRqdXBX776\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/utils/Arrays.sol\":{\"keccak256\":\"0xa4b9958797e0e9cde82a090525e90f80d5745ba1c67ee72b488bd3087498a17e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9344f7c2f80322c2e76d9d89bed03fd12f3e011e74fde7cf24ea21bdd2abe2d\",\"dweb:/ipfs/QmPMAjF5x2fHUAee2FKMZDBbFVrbZbPCr3a9KHLZaSn1zY\"]},\"lib/openzeppelin-contracts/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2\",\"dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x1fc283df727585919c3db301b948a3e827aee16917457ad7f916db9da2228e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4f4b5e2cd0ebc3b74e41e4e94771a0417eedd9b11cec3ef9f90b2ac2989264b\",\"dweb:/ipfs/QmZmsEsvsXiwAyAe1YeoLSKezeFcvR1giUeEY6ex4zpsTS\"]},\"lib/protocol/packages/core/contracts/common/implementation/Lockable.sol\":{\"keccak256\":\"0x41d78fcce54598ad5f26bc0b778c0f4fedbd836401625e49e736979f69a87ef0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ce111bb50441ef5125e7d42284f6debbc17fd589515d7b8cede7e9d1d5f0ede\",\"dweb:/ipfs/QmaXiXACWVEDDHoCHNXdVBoNpf8QNHkUZ1kf5MfbxfL6jj\"]},\"src/common/implementation/AddressWhitelist.sol\":{\"keccak256\":\"0xa3b999d7b717c1bf4bb1b958ef5e26717ad965babe994aa8db3fb301f240c876\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7e1c4c81902a72dcf579e28f922f4910aadf5edaee4b2a4defe60c61dc00fbca\",\"dweb:/ipfs/QmUMZbko39hTe8epg77B8k9XYGmKNxLjnkLdd6x8v2xDyV\"]},\"src/common/interfaces/AddressWhitelistInterface.sol\":{\"keccak256\":\"0x126b2bc590041cf213c274bedc91c06a263ddff5e11a090be80d7db8b1cb0d8f\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0f47e32816f895d4a3a060eded9bba7853eff6a6d99c3de5b4d1ca8359ce1c49\",\"dweb:/ipfs/QmVWt7xTr68owupHSUUJNfV2N3n2bTvTWtXCDtu8k3uVBN\"]},\"test/common/AddressWhitelist.t.sol\":{\"keccak256\":\"0xb944f6cd0f3f122c3b26fb7e502cd2f0088821de4a138fedd4179bd1186a5dd6\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e017eff6c03ca772e18a99bac7026bc7577f6edb9fb549d656366e34cdc70eb7\",\"dweb:/ipfs/QmQKuCZx2eF1YKF4uZz84zgNhcvV5TbbEvHDSpAFDxQs5u\"]}},\"version\":1}","userdoc":{},"devdoc":{},"storageLayout":{"storage":[{"astId":46,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)8093_storage"},{"astId":244,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":2745,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":2766,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)2761_storage)"},{"astId":2770,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":2774,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":2777,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":3715,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":5782,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)8093_storage"},{"astId":6699,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":6702,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":6705,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":6708,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":6711,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":6714,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":6718,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzArtifactSelector)6690_storage)dyn_storage"},{"astId":6722,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"_excludedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)6684_storage)dyn_storage"},{"astId":6726,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"_targetedSelectors","offset":0,"slot":"29","type":"t_array(t_struct(FuzzSelector)6684_storage)dyn_storage"},{"astId":6730,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"_targetedInterfaces","offset":0,"slot":"30","type":"t_array(t_struct(FuzzInterface)6696_storage)dyn_storage"},{"astId":12985,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"IS_TEST","offset":0,"slot":"31","type":"t_bool"},{"astId":66863,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"whitelist","offset":1,"slot":"31","type":"t_contract(AddressWhitelist)60496"},{"astId":66868,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"alice","offset":0,"slot":"32","type":"t_address"},{"astId":66873,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"bob","offset":0,"slot":"33","type":"t_address"},{"astId":66878,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"carol","offset":0,"slot":"34","type":"t_address"},{"astId":66883,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"nonOwner","offset":0,"slot":"35","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzArtifactSelector)6690_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzArtifactSelector[]","numberOfBytes":"32","base":"t_struct(FuzzArtifactSelector)6690_storage"},"t_array(t_struct(FuzzInterface)6696_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)6696_storage"},"t_array(t_struct(FuzzSelector)6684_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)6684_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(AddressWhitelist)60496":{"encoding":"inplace","label":"contract AddressWhitelist","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))"},"t_mapping(t_bytes32,t_struct(FindData)8068_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)8068_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)8068_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)2761_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)2761_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)2761_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":2754,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":2756,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":2758,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":2760,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)8068_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":8061,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":8063,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":8065,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":8067,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzArtifactSelector)6690_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzArtifactSelector","numberOfBytes":"64","members":[{"astId":6686,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"artifact","offset":0,"slot":"0","type":"t_string_storage"},{"astId":6689,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(FuzzInterface)6696_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":6692,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":6695,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)6684_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":6680,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":6683,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(StdStorage)8093_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":8077,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)8068_storage)))"},{"astId":8080,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":8082,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":8084,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":8086,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":8088,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":8090,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":8092,"contract":"test/common/AddressWhitelist.t.sol:AddressWhitelistTest","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"evm":{"bytecode":{"object":"600c8054600160ff199182168117909255601f8054909116909117905560c06040526005608090815264616c69636560d81b60a05261003d9061014a565b60205f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555061008c604051806040016040528060038152602001623137b160e91b81525061014a60201b60201c565b602180546001600160a01b0319166001600160a01b039290921691909117905560408051808201909152600581526418d85c9bdb60da1b60208201526100d19061014a565b602280546001600160a01b0319166001600160a01b03929092169190911790556040805180820190915260088152673737b727bbb732b960c11b60208201526101199061014a565b602380546001600160a01b0319166001600160a01b0392909216919091179055348015610144575f5ffd5b506102f0565b5f6101548261015b565b5092915050565b5f5f8260405160200161016e9190610269565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156101d7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101fb919061027f565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061023790859087906004016102ac565b5f604051808303815f87803b15801561024e575f5ffd5b505af1158015610260573d5f5f3e3d5ffd5b50505050915091565b5f82518060208501845e5f920191825250919050565b5f6020828403121561028f575f5ffd5b81516001600160a01b03811681146102a5575f5ffd5b9392505050565b60018060a01b0383168152604060208201525f82518060408401528060208501606085015e5f606082850101526060601f19601f8301168401019150509392505050565b612a12806102fd5f395ff3fe608060405234801561000f575f5ffd5b5060043610610132575f3560e01c806385226c81116100b4578063ba414fa611610079578063ba414fa6146101fa578063d658bab214610212578063e20c9f711461021a578063fa3bdbd814610222578063fa7626d41461022a578063fdcfc63414610237575f5ffd5b806385226c81146101b85780638f1bdd3b146101cd578063916a17c6146101d5578063b0464fdc146101ea578063b5508aa9146101f2575f5ffd5b806332a918e6116100fa57806332a918e61461018357806332f8bce91461018b5780633e5e3c23146101935780633f7286f41461019b57806366d9a9a0146101a3575f5ffd5b80630a9254e4146101365780631ed7831c146101405780632278c1381461015e57806324a52ca9146101665780632ade38801461016e575b5f5ffd5b61013e61023f565b005b61014861028d565b6040516101559190611b25565b60405180910390f35b61013e6102ed565b61013e6103f1565b6101766106c1565b6040516101559190611b9e565b61013e6107fd565b61013e610b2c565b610148610d26565b610148610d84565b6101ab610de2565b6040516101559190611cab565b6101c0610f46565b6040516101559190611d29565b61013e611011565b6101dd6111a4565b6040516101559190611d80565b6101dd611285565b6101c0611366565b610202611431565b6040519015158152602001610155565b61013e6114ca565b610148611520565b61013e61157e565b601f546102029060ff1681565b61013e6116d1565b60405161024b90611b18565b604051809103905ff080158015610264573d5f5f3e3d5ffd5b50601f60016101000a8154816001600160a01b0302191690836001600160a01b03160217905550565b606060168054806020026020016040519081016040528092919081815260200182805480156102e357602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116102c5575b5050505050905090565b601f546040516301ffc9a760e01b8152634e759c3d60e11b600482018190529161036f916101009091046001600160a01b0316906301ffc9a7906024015b602060405180830381865afa158015610346573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061036a9190611df7565b611924565b601f546040516301ffc9a760e01b81526001600160e01b031960048201526103ee9161010090046001600160a01b0316906301ffc9a7906024015b602060405180830381865afa1580156103c5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103e99190611df7565b611981565b50565b601f5460205460405163e43252d760e01b81526001600160a01b039182166004820152610100909204169063e43252d7906024015f604051808303815f87803b15801561043c575f5ffd5b505af115801561044e573d5f5f3e3d5ffd5b5050601f5460215460405163e43252d760e01b81526001600160a01b03918216600482015261010090920416925063e43252d791506024015f604051808303815f87803b15801561049d575f5ffd5b505af11580156104af573d5f5f3e3d5ffd5b5050601f54602054604051631d1d5b3960e11b81526001600160a01b0391821660048201526104f09450610100909204169150633a3ab6729060240161032b565b601f54602154604051631d1d5b3960e11b81526001600160a01b03918216600482015261052e92610100900490911690633a3ab6729060240161032b565b601f54602054604051638ab1d68160e01b81526001600160a01b0391821660048201526101009092041690638ab1d681906024015f604051808303815f87803b158015610579575f5ffd5b505af115801561058b573d5f5f3e3d5ffd5b5050601f54602054604051631d1d5b3960e11b81526001600160a01b0391821660048201526105cc9450610100909204169150633a3ab672906024016103aa565b601f54602154604051631d1d5b3960e11b81526001600160a01b03918216600482015261060a92610100900490911690633a3ab6729060240161032b565b5f601f60019054906101000a90046001600160a01b03166001600160a01b031663d01f63f56040518163ffffffff1660e01b81526004015f60405180830381865afa15801561065b573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526106829190810190611ec9565b9050610690815160016119b3565b6103ee815f815181106106a5576106a5611f66565b60209081029190910101516021546001600160a01b0316611a17565b6060601e805480602002602001604051908101604052809291908181526020015f905b828210156107f4575f84815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156107dd578382905f5260205f2001805461075290611f7a565b80601f016020809104026020016040519081016040528092919081815260200182805461077e90611f7a565b80156107c95780601f106107a0576101008083540402835291602001916107c9565b820191905f5260205f20905b8154815290600101906020018083116107ac57829003601f168201915b505050505081526020019060010190610735565b5050505081525050815260200190600101906106e4565b50505050905090565b60235460405163ca669fa760e01b81526001600160a01b0390911660048201525f5160206129665f395f51905f529063ca669fa7906024015f604051808303815f87803b15801561084c575f5ffd5b505af115801561085e573d5f5f3e3d5ffd5b5050602354604080516001600160a01b0390921660248084019190915281518084039091018152604490920181526020820180516001600160e01b031663118cdaa760e01b1790525163f28dceb360e01b81525f5160206129665f395f51905f52935063f28dceb392506108d59190600401611fb2565b5f604051808303815f87803b1580156108ec575f5ffd5b505af11580156108fe573d5f5f3e3d5ffd5b5050601f5460205460405163e43252d760e01b81526001600160a01b03918216600482015261010090920416925063e43252d791506024015f604051808303815f87803b15801561094d575f5ffd5b505af115801561095f573d5f5f3e3d5ffd5b5050601f5460205460405163e43252d760e01b81526001600160a01b03918216600482015261010090920416925063e43252d791506024015f604051808303815f87803b1580156109ae575f5ffd5b505af11580156109c0573d5f5f3e3d5ffd5b505060235460405163ca669fa760e01b81526001600160a01b0390911660048201525f5160206129665f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015610a13575f5ffd5b505af1158015610a25573d5f5f3e3d5ffd5b5050602354604080516001600160a01b0390921660248084019190915281518084039091018152604490920181526020820180516001600160e01b031663118cdaa760e01b1790525163f28dceb360e01b81525f5160206129665f395f51905f52935063f28dceb39250610a9c9190600401611fb2565b5f604051808303815f87803b158015610ab3575f5ffd5b505af1158015610ac5573d5f5f3e3d5ffd5b5050601f54602054604051638ab1d68160e01b81526001600160a01b039182166004820152610100909204169250638ab1d68191506024015f604051808303815f87803b158015610b14575f5ffd5b505af1158015610b26573d5f5f3e3d5ffd5b50505050565b601f5460205460405163e43252d760e01b81526001600160a01b039182166004820152610100909204169063e43252d7906024015f604051808303815f87803b158015610b77575f5ffd5b505af1158015610b89573d5f5f3e3d5ffd5b5050601f5460215460405163e43252d760e01b81526001600160a01b03918216600482015261010090920416925063e43252d791506024015f604051808303815f87803b158015610bd8575f5ffd5b505af1158015610bea573d5f5f3e3d5ffd5b5050601f5460225460405163e43252d760e01b81526001600160a01b03918216600482015261010090920416925063e43252d791506024015f604051808303815f87803b158015610c39575f5ffd5b505af1158015610c4b573d5f5f3e3d5ffd5b505050505f601f60019054906101000a90046001600160a01b03166001600160a01b031663d01f63f56040518163ffffffff1660e01b81526004015f60405180830381865afa158015610ca0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610cc79190810190611ec9565b9050610cd5815160036119b3565b602054610cf09061036a9083906001600160a01b0316611a58565b602154610d0b9061036a9083906001600160a01b0316611a58565b6022546103ee9061036a9083906001600160a01b0316611a58565b606060188054806020026020016040519081016040528092919081815260200182805480156102e357602002820191905f5260205f209081546001600160a01b031681526001909101906020018083116102c5575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156102e357602002820191905f5260205f209081546001600160a01b031681526001909101906020018083116102c5575050505050905090565b6060601b805480602002602001604051908101604052809291908181526020015f905b828210156107f4578382905f5260205f2090600202016040518060400160405290815f82018054610e3590611f7a565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6190611f7a565b8015610eac5780601f10610e8357610100808354040283529160200191610eac565b820191905f5260205f20905b815481529060010190602001808311610e8f57829003601f168201915b5050505050815260200160018201805480602002602001604051908101604052809291908181526020018280548015610f2e57602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610ef05790505b50505050508152505081526020019060010190610e05565b6060601a805480602002602001604051908101604052809291908181526020015f905b828210156107f4578382905f5260205f20018054610f8690611f7a565b80601f0160208091040260200160405190810160405280929190818152602001828054610fb290611f7a565b8015610ffd5780601f10610fd457610100808354040283529160200191610ffd565b820191905f5260205f20905b815481529060010190602001808311610fe057829003601f168201915b505050505081526020019060010190610f69565b601f54602054604051631d1d5b3960e11b81526001600160a01b03918216600482015261104f92610100900490911690633a3ab672906024016103aa565b601f5460205460405163e43252d760e01b81526001600160a01b039182166004820152610100909204169063e43252d7906024015f604051808303815f87803b15801561109a575f5ffd5b505af11580156110ac573d5f5f3e3d5ffd5b5050601f54602054604051631d1d5b3960e11b81526001600160a01b0391821660048201526110ed9450610100909204169150633a3ab6729060240161032b565b5f601f60019054906101000a90046001600160a01b03166001600160a01b031663d01f63f56040518163ffffffff1660e01b81526004015f60405180830381865afa15801561113e573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526111659190810190611ec9565b9050611173815160016119b3565b6103ee815f8151811061118857611188611f66565b60209081029190910181015190546001600160a01b0316611a17565b6060601d805480602002602001604051908101604052809291908181526020015f905b828210156107f4575f8481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561126d57602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161122f5790505b505050505081525050815260200190600101906111c7565b6060601c805480602002602001604051908101604052809291908181526020015f905b828210156107f4575f8481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561134e57602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116113105790505b505050505081525050815260200190600101906112a8565b60606019805480602002602001604051908101604052809291908181526020015f905b828210156107f4578382905f5260205f200180546113a690611f7a565b80601f01602080910402602001604051908101604052809291908181526020018280546113d290611f7a565b801561141d5780601f106113f45761010080835404028352916020019161141d565b820191905f5260205f20905b81548152906001019060200180831161140057829003601f168201915b505050505081526020019060010190611389565b6008545f9060ff1615611448575060085460ff1690565b604051630667f9d760e41b81525f5160206129665f395f51905f52600482018190526519985a5b195960d21b60248301525f9163667f9d7090604401602060405180830381865afa15801561149f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114c39190611fc4565b1415905090565b61151e601f60019054906101000a90046001600160a01b03166001600160a01b031663184d69ab6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610346573d5f5f3e3d5ffd5b565b606060158054806020026020016040519081016040528092919081815260200182805480156102e357602002820191905f5260205f209081546001600160a01b031681526001909101906020018083116102c5575050505050905090565b5f5160206129665f395f51905f526001600160a01b03166341af2f526040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156115c3575f5ffd5b505af11580156115d5573d5f5f3e3d5ffd5b5050601f54602054604051638ab1d68160e01b81526001600160a01b039182166004820152610100909204169250638ab1d68191506024015f604051808303815f87803b158015611624575f5ffd5b505af1158015611636573d5f5f3e3d5ffd5b505050505f5f5160206129665f395f51905f526001600160a01b031663191553a46040518163ffffffff1660e01b81526004015f604051808303815f875af1158015611684573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526116ab9190810190612047565b90506103ee81515f60405180606001604052806031815260200161298660319139611ab3565b601f5460205460405163e43252d760e01b81526001600160a01b039182166004820152610100909204169063e43252d7906024015f604051808303815f87803b15801561171c575f5ffd5b505af115801561172e573d5f5f3e3d5ffd5b505050505f5160206129665f395f51905f526001600160a01b03166341af2f526040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611777575f5ffd5b505af1158015611789573d5f5f3e3d5ffd5b5050601f5460205460405163e43252d760e01b81526001600160a01b03918216600482015261010090920416925063e43252d791506024015f604051808303815f87803b1580156117d8575f5ffd5b505af11580156117ea573d5f5f3e3d5ffd5b505050505f5f5160206129665f395f51905f526001600160a01b031663191553a46040518163ffffffff1660e01b81526004015f604051808303815f875af1158015611838573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261185f9190810190612047565b905061188581515f6040518060600160405280602681526020016129b760269139611ab3565b5f601f60019054906101000a90046001600160a01b03166001600160a01b031663d01f63f56040518163ffffffff1660e01b81526004015f60405180830381865afa1580156118d6573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526118fd9190810190611ec9565b905061190b815160016119b3565b611920815f8151811061118857611188611f66565b5050565b604051630c9fd58160e01b815281151560048201525f5160206129665f395f51905f5290630c9fd581906024015b5f6040518083038186803b158015611968575f5ffd5b505afa15801561197a573d5f5f3e3d5ffd5b5050505050565b60405163a598288560e01b815281151560048201525f5160206129665f395f51905f529063a598288590602401611952565b60405163260a5b1560e21b815260048101839052602481018290525f5160206129665f395f51905f52906398296c54906044015b5f6040518083038186803b1580156119fd575f5ffd5b505afa158015611a0f573d5f5f3e3d5ffd5b505050505050565b6040516328a9b0fb60e11b81526001600160a01b038084166004830152821660248201525f5160206129665f395f51905f529063515361f6906044016119e7565b5f805b8351811015611aa857826001600160a01b0316848281518110611a8057611a80611f66565b60200260200101516001600160a01b031603611aa0576001915050611aad565b600101611a5b565b505f90505b92915050565b6040516388b44c8560e01b81525f5160206129665f395f51905f52906388b44c8590611ae7908690869086906004016121c8565b5f6040518083038186803b158015611afd575f5ffd5b505afa158015611b0f573d5f5f3e3d5ffd5b50505050505050565b610776806121f083390190565b602080825282518282018190525f918401906040840190835b81811015611b655783516001600160a01b0316835260209384019390920191600101611b3e565b509095945050505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611c5b57603f19878603018452815180516001600160a01b03168652602090810151604082880181905281519088018190529101906060600582901b8801810191908801905f5b81811015611c4157605f198a8503018352611c2b848651611b70565b6020958601959094509290920191600101611c0f565b509197505050602094850194929092019150600101611bc4565b50929695505050505050565b5f8151808452602084019350602083015f5b82811015611ca15781516001600160e01b031916865260209586019590910190600101611c79565b5093949350505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611c5b57603f198786030184528151805160408752611cf76040880182611b70565b9050602082015191508681036020880152611d128183611c67565b965050506020938401939190910190600101611cd1565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611c5b57603f19878603018452611d6b858351611b70565b94506020938401939190910190600101611d4f565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611c5b57868503603f19018452815180516001600160a01b03168652602090810151604091870182905290611de190870182611c67565b9550506020938401939190910190600101611da6565b5f60208284031215611e07575f5ffd5b81518015158114611e16575f5ffd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611e5457611e54611e1d565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e8357611e83611e1d565b604052919050565b5f67ffffffffffffffff821115611ea457611ea4611e1d565b5060051b60200190565b80516001600160a01b0381168114611ec4575f5ffd5b919050565b5f60208284031215611ed9575f5ffd5b815167ffffffffffffffff811115611eef575f5ffd5b8201601f81018413611eff575f5ffd5b8051611f12611f0d82611e8b565b611e5a565b8082825260208201915060208360051b850101925086831115611f33575f5ffd5b6020840193505b82841015611f5c57611f4b84611eae565b825260209384019390910190611f3a565b9695505050505050565b634e487b7160e01b5f52603260045260245ffd5b600181811c90821680611f8e57607f821691505b602082108103611fac57634e487b7160e01b5f52602260045260245ffd5b50919050565b602081525f611e166020830184611b70565b5f60208284031215611fd4575f5ffd5b5051919050565b5f82601f830112611fea575f5ffd5b815167ffffffffffffffff81111561200457612004611e1d565b612017601f8201601f1916602001611e5a565b81815284602083860101111561202b575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215612057575f5ffd5b815167ffffffffffffffff81111561206d575f5ffd5b8201601f8101841361207d575f5ffd5b805161208b611f0d82611e8b565b8082825260208201915060208360051b8501019250868311156120ac575f5ffd5b602084015b838110156121bd57805167ffffffffffffffff8111156120cf575f5ffd5b85016060818a03601f190112156120e4575f5ffd5b6120ec611e31565b602082015167ffffffffffffffff811115612105575f5ffd5b82016020810190603f018b13612119575f5ffd5b8051612127611f0d82611e8b565b8082825260208201915060208360051b85010192508d831115612148575f5ffd5b6020840193505b8284101561216a57835182526020938401939091019061214f565b8452505050604082015167ffffffffffffffff811115612188575f5ffd5b6121978b602083860101611fdb565b6020830152506121a960608301611eae565b6040820152845250602092830192016120b1565b509695505050505050565b838152826020820152606060408201525f6121e66060830184611b70565b9594505050505056fe6080604052348015600e575f5ffd5b503380603357604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b603a816051565b505f805460ff60a01b1916600160a01b17905560a0565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6106c9806100ad5f395ff3fe608060405234801561000f575f5ffd5b5060043610610090575f3560e01c80638ab1d681116100635780638ab1d681146100e05780638da5cb5b146100f3578063d01f63f51461010d578063e43252d714610122578063f2fde38b14610135575f5ffd5b806301ffc9a714610094578063184d69ab146100bc5780633a3ab672146100c3578063715018a6146100d6575b5f5ffd5b6100a76100a23660046105b4565b610148565b60405190151581526020015b60405180910390f35b60016100a7565b6100a76100d13660046105db565b61017e565b6100de610192565b005b6100de6100ee3660046105db565b6101a5565b5f546040516001600160a01b0390911681526020016100b3565b610115610229565b6040516100b39190610601565b6100de6101303660046105db565b610242565b6100de6101433660046105db565b6102c2565b5f6001600160e01b03198216634e759c3d60e11b148061017857506301ffc9a760e01b6001600160e01b03198316145b92915050565b5f610187610301565b610178600183610359565b61019a61037d565b6101a35f6103a9565b565b6101ad610301565b6101be5f805460ff60a01b19169055565b6101c661037d565b5f6101d26001836103f8565b9050801561020e576040516001600160a01b038316907fcdd2e9b91a56913d370075169cefa1602ba36be5301664f752192bb1709df757905f90a25b506102265f805460ff60a01b1916600160a01b179055565b50565b6060610233610301565b61023d600161040c565b905090565b61024a610301565b61025b5f805460ff60a01b19169055565b61026361037d565b5f61026f600183610418565b9050801561020e576040516001600160a01b038316907fa850ae9193f515cbae8d35e8925bd2be26627fc91bce650b8652ed254e9cab03905f90a2506102265f805460ff60a01b1916600160a01b179055565b6102ca61037d565b6001600160a01b0381166102f857604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610226816103a9565b5f54600160a01b900460ff166101a35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102ef565b6001600160a01b0381165f90815260018301602052604081205415155b9392505050565b5f546001600160a01b031633146101a35760405163118cdaa760e01b81523360048201526024016102ef565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f610376836001600160a01b03841661042c565b60605f6103768361050f565b5f610376836001600160a01b038416610568565b5f8181526001830160205260408120548015610506575f61044e60018361064c565b85549091505f906104619060019061064c565b90508082146104c0575f865f01828154811061047f5761047f61066b565b905f5260205f200154905080875f01848154811061049f5761049f61066b565b5f918252602080832090910192909255918252600188019052604090208390555b85548690806104d1576104d161067f565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610178565b5f915050610178565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561055c57602002820191905f5260205f20905b815481526020019060010190808311610548575b50505050509050919050565b5f8181526001830160205260408120546105ad57508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610178565b505f610178565b5f602082840312156105c4575f5ffd5b81356001600160e01b031981168114610376575f5ffd5b5f602082840312156105eb575f5ffd5b81356001600160a01b0381168114610376575f5ffd5b602080825282518282018190525f918401906040840190835b818110156106415783516001600160a01b031683526020938401939092019160010161061a565b509095945050505050565b8181038181111561017857634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffdfea264697066735822122017d19cb92913b1d48716ee47b65ab4e02ee922b90d01232dfa3dfd8cb8c5357c64736f6c634300081e00330000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d72656d6f76696e67206d697373696e6720656c656d656e742073686f756c64206e6f7420656d697420616e206576656e746475706c6963617465206164642073686f756c64206e6f7420656d697420616e206576656e74a264697066735822122009c9d216867afb49f0ac08ddb5fba878b64aea60b6f9c0ca40085b2cf9f7f50364736f6c634300081e0033","sourceMap":"3126:44:3:-:0;;;3166:4;-1:-1:-1;;3126:44:3;;;;;;;;1065:26:14;;;;;;;;;;;501:17:101;392:3474;501:17;;392:3474;501:17;;;-1:-1:-1;;;501:17:101;;;;:8;:17::i;:::-;477:41;;;;;;;-1:-1:-1;;;;;477:41:101;;;;;-1:-1:-1;;;;;477:41:101;;;;;;546:15;;;;;;;;;;;;;;-1:-1:-1;;;546:15:101;;;:8;;;:15;;:::i;:::-;524:37;;;-1:-1:-1;;;;;;524:37:101;-1:-1:-1;;;;;524:37:101;;;;;;;;;;591:17;;;;;;;;;;;;-1:-1:-1;;;591:17:101;;;;;;:8;:17::i;:::-;567:41;;;-1:-1:-1;;;;;;567:41:101;-1:-1:-1;;;;;567:41:101;;;;;;;;;;641:20;;;;;;;;;;;;-1:-1:-1;;;641:20:101;;;;;;:8;:20::i;:::-;614:47;;;-1:-1:-1;;;;;;614:47:101;-1:-1:-1;;;;;614:47:101;;;;;;;;;;392:3474;;;;;;;;;;;;20760:125:4;20824:12;20858:20;20873:4;20858:14;:20::i;:::-;-1:-1:-1;20848:30:4;20760:125;-1:-1:-1;;20760:125:4:o;20479:242::-;20549:12;20563:18;20641:4;20624:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20624:22:4;;;;;;;20614:33;;20624:22;20614:33;;;;-1:-1:-1;;;;;;20665:19:4;;;;;468:25:102;;;20614:33:4;-1:-1:-1;20665:7:4;;;;441:18:102;;20665:19:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20694:20;;-1:-1:-1;;;20694:20:4;;20658:26;;-1:-1:-1;20694:8:4;;;;:20;;20658:26;;20709:4;;20694:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20479:242;;;:::o;14:303:102:-;145:3;183:6;177:13;229:6;222:4;214:6;210:17;205:3;199:37;291:1;255:16;;280:13;;;-1:-1:-1;255:16:102;14:303;-1:-1:-1;14:303:102:o;504:290::-;574:6;627:2;615:9;606:7;602:23;598:32;595:52;;;643:1;640;633:12;595:52;669:16;;-1:-1:-1;;;;;714:31:102;;704:42;;694:70;;760:1;757;750:12;694:70;783:5;504:290;-1:-1:-1;;;504:290:102:o;799:515::-;1005:1;1001;996:3;992:11;988:19;980:6;976:32;965:9;958:51;1045:2;1040;1029:9;1025:18;1018:30;939:4;1077:6;1071:13;1120:6;1115:2;1104:9;1100:18;1093:34;1179:6;1174:2;1166:6;1162:15;1157:2;1146:9;1142:18;1136:50;1235:1;1230:2;1221:6;1210:9;1206:22;1202:31;1195:42;1305:2;1298;1294:7;1289:2;1281:6;1277:15;1273:29;1262:9;1258:45;1254:54;1246:62;;;799:515;;;;;:::o;:::-;392:3474:101;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561000f575f5ffd5b5060043610610132575f3560e01c806385226c81116100b4578063ba414fa611610079578063ba414fa6146101fa578063d658bab214610212578063e20c9f711461021a578063fa3bdbd814610222578063fa7626d41461022a578063fdcfc63414610237575f5ffd5b806385226c81146101b85780638f1bdd3b146101cd578063916a17c6146101d5578063b0464fdc146101ea578063b5508aa9146101f2575f5ffd5b806332a918e6116100fa57806332a918e61461018357806332f8bce91461018b5780633e5e3c23146101935780633f7286f41461019b57806366d9a9a0146101a3575f5ffd5b80630a9254e4146101365780631ed7831c146101405780632278c1381461015e57806324a52ca9146101665780632ade38801461016e575b5f5ffd5b61013e61023f565b005b61014861028d565b6040516101559190611b25565b60405180910390f35b61013e6102ed565b61013e6103f1565b6101766106c1565b6040516101559190611b9e565b61013e6107fd565b61013e610b2c565b610148610d26565b610148610d84565b6101ab610de2565b6040516101559190611cab565b6101c0610f46565b6040516101559190611d29565b61013e611011565b6101dd6111a4565b6040516101559190611d80565b6101dd611285565b6101c0611366565b610202611431565b6040519015158152602001610155565b61013e6114ca565b610148611520565b61013e61157e565b601f546102029060ff1681565b61013e6116d1565b60405161024b90611b18565b604051809103905ff080158015610264573d5f5f3e3d5ffd5b50601f60016101000a8154816001600160a01b0302191690836001600160a01b03160217905550565b606060168054806020026020016040519081016040528092919081815260200182805480156102e357602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116102c5575b5050505050905090565b601f546040516301ffc9a760e01b8152634e759c3d60e11b600482018190529161036f916101009091046001600160a01b0316906301ffc9a7906024015b602060405180830381865afa158015610346573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061036a9190611df7565b611924565b601f546040516301ffc9a760e01b81526001600160e01b031960048201526103ee9161010090046001600160a01b0316906301ffc9a7906024015b602060405180830381865afa1580156103c5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103e99190611df7565b611981565b50565b601f5460205460405163e43252d760e01b81526001600160a01b039182166004820152610100909204169063e43252d7906024015f604051808303815f87803b15801561043c575f5ffd5b505af115801561044e573d5f5f3e3d5ffd5b5050601f5460215460405163e43252d760e01b81526001600160a01b03918216600482015261010090920416925063e43252d791506024015f604051808303815f87803b15801561049d575f5ffd5b505af11580156104af573d5f5f3e3d5ffd5b5050601f54602054604051631d1d5b3960e11b81526001600160a01b0391821660048201526104f09450610100909204169150633a3ab6729060240161032b565b601f54602154604051631d1d5b3960e11b81526001600160a01b03918216600482015261052e92610100900490911690633a3ab6729060240161032b565b601f54602054604051638ab1d68160e01b81526001600160a01b0391821660048201526101009092041690638ab1d681906024015f604051808303815f87803b158015610579575f5ffd5b505af115801561058b573d5f5f3e3d5ffd5b5050601f54602054604051631d1d5b3960e11b81526001600160a01b0391821660048201526105cc9450610100909204169150633a3ab672906024016103aa565b601f54602154604051631d1d5b3960e11b81526001600160a01b03918216600482015261060a92610100900490911690633a3ab6729060240161032b565b5f601f60019054906101000a90046001600160a01b03166001600160a01b031663d01f63f56040518163ffffffff1660e01b81526004015f60405180830381865afa15801561065b573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526106829190810190611ec9565b9050610690815160016119b3565b6103ee815f815181106106a5576106a5611f66565b60209081029190910101516021546001600160a01b0316611a17565b6060601e805480602002602001604051908101604052809291908181526020015f905b828210156107f4575f84815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156107dd578382905f5260205f2001805461075290611f7a565b80601f016020809104026020016040519081016040528092919081815260200182805461077e90611f7a565b80156107c95780601f106107a0576101008083540402835291602001916107c9565b820191905f5260205f20905b8154815290600101906020018083116107ac57829003601f168201915b505050505081526020019060010190610735565b5050505081525050815260200190600101906106e4565b50505050905090565b60235460405163ca669fa760e01b81526001600160a01b0390911660048201525f5160206129665f395f51905f529063ca669fa7906024015f604051808303815f87803b15801561084c575f5ffd5b505af115801561085e573d5f5f3e3d5ffd5b5050602354604080516001600160a01b0390921660248084019190915281518084039091018152604490920181526020820180516001600160e01b031663118cdaa760e01b1790525163f28dceb360e01b81525f5160206129665f395f51905f52935063f28dceb392506108d59190600401611fb2565b5f604051808303815f87803b1580156108ec575f5ffd5b505af11580156108fe573d5f5f3e3d5ffd5b5050601f5460205460405163e43252d760e01b81526001600160a01b03918216600482015261010090920416925063e43252d791506024015f604051808303815f87803b15801561094d575f5ffd5b505af115801561095f573d5f5f3e3d5ffd5b5050601f5460205460405163e43252d760e01b81526001600160a01b03918216600482015261010090920416925063e43252d791506024015f604051808303815f87803b1580156109ae575f5ffd5b505af11580156109c0573d5f5f3e3d5ffd5b505060235460405163ca669fa760e01b81526001600160a01b0390911660048201525f5160206129665f395f51905f52925063ca669fa791506024015f604051808303815f87803b158015610a13575f5ffd5b505af1158015610a25573d5f5f3e3d5ffd5b5050602354604080516001600160a01b0390921660248084019190915281518084039091018152604490920181526020820180516001600160e01b031663118cdaa760e01b1790525163f28dceb360e01b81525f5160206129665f395f51905f52935063f28dceb39250610a9c9190600401611fb2565b5f604051808303815f87803b158015610ab3575f5ffd5b505af1158015610ac5573d5f5f3e3d5ffd5b5050601f54602054604051638ab1d68160e01b81526001600160a01b039182166004820152610100909204169250638ab1d68191506024015f604051808303815f87803b158015610b14575f5ffd5b505af1158015610b26573d5f5f3e3d5ffd5b50505050565b601f5460205460405163e43252d760e01b81526001600160a01b039182166004820152610100909204169063e43252d7906024015f604051808303815f87803b158015610b77575f5ffd5b505af1158015610b89573d5f5f3e3d5ffd5b5050601f5460215460405163e43252d760e01b81526001600160a01b03918216600482015261010090920416925063e43252d791506024015f604051808303815f87803b158015610bd8575f5ffd5b505af1158015610bea573d5f5f3e3d5ffd5b5050601f5460225460405163e43252d760e01b81526001600160a01b03918216600482015261010090920416925063e43252d791506024015f604051808303815f87803b158015610c39575f5ffd5b505af1158015610c4b573d5f5f3e3d5ffd5b505050505f601f60019054906101000a90046001600160a01b03166001600160a01b031663d01f63f56040518163ffffffff1660e01b81526004015f60405180830381865afa158015610ca0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610cc79190810190611ec9565b9050610cd5815160036119b3565b602054610cf09061036a9083906001600160a01b0316611a58565b602154610d0b9061036a9083906001600160a01b0316611a58565b6022546103ee9061036a9083906001600160a01b0316611a58565b606060188054806020026020016040519081016040528092919081815260200182805480156102e357602002820191905f5260205f209081546001600160a01b031681526001909101906020018083116102c5575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156102e357602002820191905f5260205f209081546001600160a01b031681526001909101906020018083116102c5575050505050905090565b6060601b805480602002602001604051908101604052809291908181526020015f905b828210156107f4578382905f5260205f2090600202016040518060400160405290815f82018054610e3590611f7a565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6190611f7a565b8015610eac5780601f10610e8357610100808354040283529160200191610eac565b820191905f5260205f20905b815481529060010190602001808311610e8f57829003601f168201915b5050505050815260200160018201805480602002602001604051908101604052809291908181526020018280548015610f2e57602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610ef05790505b50505050508152505081526020019060010190610e05565b6060601a805480602002602001604051908101604052809291908181526020015f905b828210156107f4578382905f5260205f20018054610f8690611f7a565b80601f0160208091040260200160405190810160405280929190818152602001828054610fb290611f7a565b8015610ffd5780601f10610fd457610100808354040283529160200191610ffd565b820191905f5260205f20905b815481529060010190602001808311610fe057829003601f168201915b505050505081526020019060010190610f69565b601f54602054604051631d1d5b3960e11b81526001600160a01b03918216600482015261104f92610100900490911690633a3ab672906024016103aa565b601f5460205460405163e43252d760e01b81526001600160a01b039182166004820152610100909204169063e43252d7906024015f604051808303815f87803b15801561109a575f5ffd5b505af11580156110ac573d5f5f3e3d5ffd5b5050601f54602054604051631d1d5b3960e11b81526001600160a01b0391821660048201526110ed9450610100909204169150633a3ab6729060240161032b565b5f601f60019054906101000a90046001600160a01b03166001600160a01b031663d01f63f56040518163ffffffff1660e01b81526004015f60405180830381865afa15801561113e573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526111659190810190611ec9565b9050611173815160016119b3565b6103ee815f8151811061118857611188611f66565b60209081029190910181015190546001600160a01b0316611a17565b6060601d805480602002602001604051908101604052809291908181526020015f905b828210156107f4575f8481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561126d57602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161122f5790505b505050505081525050815260200190600101906111c7565b6060601c805480602002602001604051908101604052809291908181526020015f905b828210156107f4575f8481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561134e57602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116113105790505b505050505081525050815260200190600101906112a8565b60606019805480602002602001604051908101604052809291908181526020015f905b828210156107f4578382905f5260205f200180546113a690611f7a565b80601f01602080910402602001604051908101604052809291908181526020018280546113d290611f7a565b801561141d5780601f106113f45761010080835404028352916020019161141d565b820191905f5260205f20905b81548152906001019060200180831161140057829003601f168201915b505050505081526020019060010190611389565b6008545f9060ff1615611448575060085460ff1690565b604051630667f9d760e41b81525f5160206129665f395f51905f52600482018190526519985a5b195960d21b60248301525f9163667f9d7090604401602060405180830381865afa15801561149f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114c39190611fc4565b1415905090565b61151e601f60019054906101000a90046001600160a01b03166001600160a01b031663184d69ab6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610346573d5f5f3e3d5ffd5b565b606060158054806020026020016040519081016040528092919081815260200182805480156102e357602002820191905f5260205f209081546001600160a01b031681526001909101906020018083116102c5575050505050905090565b5f5160206129665f395f51905f526001600160a01b03166341af2f526040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156115c3575f5ffd5b505af11580156115d5573d5f5f3e3d5ffd5b5050601f54602054604051638ab1d68160e01b81526001600160a01b039182166004820152610100909204169250638ab1d68191506024015f604051808303815f87803b158015611624575f5ffd5b505af1158015611636573d5f5f3e3d5ffd5b505050505f5f5160206129665f395f51905f526001600160a01b031663191553a46040518163ffffffff1660e01b81526004015f604051808303815f875af1158015611684573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526116ab9190810190612047565b90506103ee81515f60405180606001604052806031815260200161298660319139611ab3565b601f5460205460405163e43252d760e01b81526001600160a01b039182166004820152610100909204169063e43252d7906024015f604051808303815f87803b15801561171c575f5ffd5b505af115801561172e573d5f5f3e3d5ffd5b505050505f5160206129665f395f51905f526001600160a01b03166341af2f526040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611777575f5ffd5b505af1158015611789573d5f5f3e3d5ffd5b5050601f5460205460405163e43252d760e01b81526001600160a01b03918216600482015261010090920416925063e43252d791506024015f604051808303815f87803b1580156117d8575f5ffd5b505af11580156117ea573d5f5f3e3d5ffd5b505050505f5f5160206129665f395f51905f526001600160a01b031663191553a46040518163ffffffff1660e01b81526004015f604051808303815f875af1158015611838573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261185f9190810190612047565b905061188581515f6040518060600160405280602681526020016129b760269139611ab3565b5f601f60019054906101000a90046001600160a01b03166001600160a01b031663d01f63f56040518163ffffffff1660e01b81526004015f60405180830381865afa1580156118d6573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526118fd9190810190611ec9565b905061190b815160016119b3565b611920815f8151811061118857611188611f66565b5050565b604051630c9fd58160e01b815281151560048201525f5160206129665f395f51905f5290630c9fd581906024015b5f6040518083038186803b158015611968575f5ffd5b505afa15801561197a573d5f5f3e3d5ffd5b5050505050565b60405163a598288560e01b815281151560048201525f5160206129665f395f51905f529063a598288590602401611952565b60405163260a5b1560e21b815260048101839052602481018290525f5160206129665f395f51905f52906398296c54906044015b5f6040518083038186803b1580156119fd575f5ffd5b505afa158015611a0f573d5f5f3e3d5ffd5b505050505050565b6040516328a9b0fb60e11b81526001600160a01b038084166004830152821660248201525f5160206129665f395f51905f529063515361f6906044016119e7565b5f805b8351811015611aa857826001600160a01b0316848281518110611a8057611a80611f66565b60200260200101516001600160a01b031603611aa0576001915050611aad565b600101611a5b565b505f90505b92915050565b6040516388b44c8560e01b81525f5160206129665f395f51905f52906388b44c8590611ae7908690869086906004016121c8565b5f6040518083038186803b158015611afd575f5ffd5b505afa158015611b0f573d5f5f3e3d5ffd5b50505050505050565b610776806121f083390190565b602080825282518282018190525f918401906040840190835b81811015611b655783516001600160a01b0316835260209384019390920191600101611b3e565b509095945050505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611c5b57603f19878603018452815180516001600160a01b03168652602090810151604082880181905281519088018190529101906060600582901b8801810191908801905f5b81811015611c4157605f198a8503018352611c2b848651611b70565b6020958601959094509290920191600101611c0f565b509197505050602094850194929092019150600101611bc4565b50929695505050505050565b5f8151808452602084019350602083015f5b82811015611ca15781516001600160e01b031916865260209586019590910190600101611c79565b5093949350505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611c5b57603f198786030184528151805160408752611cf76040880182611b70565b9050602082015191508681036020880152611d128183611c67565b965050506020938401939190910190600101611cd1565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611c5b57603f19878603018452611d6b858351611b70565b94506020938401939190910190600101611d4f565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611c5b57868503603f19018452815180516001600160a01b03168652602090810151604091870182905290611de190870182611c67565b9550506020938401939190910190600101611da6565b5f60208284031215611e07575f5ffd5b81518015158114611e16575f5ffd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715611e5457611e54611e1d565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e8357611e83611e1d565b604052919050565b5f67ffffffffffffffff821115611ea457611ea4611e1d565b5060051b60200190565b80516001600160a01b0381168114611ec4575f5ffd5b919050565b5f60208284031215611ed9575f5ffd5b815167ffffffffffffffff811115611eef575f5ffd5b8201601f81018413611eff575f5ffd5b8051611f12611f0d82611e8b565b611e5a565b8082825260208201915060208360051b850101925086831115611f33575f5ffd5b6020840193505b82841015611f5c57611f4b84611eae565b825260209384019390910190611f3a565b9695505050505050565b634e487b7160e01b5f52603260045260245ffd5b600181811c90821680611f8e57607f821691505b602082108103611fac57634e487b7160e01b5f52602260045260245ffd5b50919050565b602081525f611e166020830184611b70565b5f60208284031215611fd4575f5ffd5b5051919050565b5f82601f830112611fea575f5ffd5b815167ffffffffffffffff81111561200457612004611e1d565b612017601f8201601f1916602001611e5a565b81815284602083860101111561202b575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215612057575f5ffd5b815167ffffffffffffffff81111561206d575f5ffd5b8201601f8101841361207d575f5ffd5b805161208b611f0d82611e8b565b8082825260208201915060208360051b8501019250868311156120ac575f5ffd5b602084015b838110156121bd57805167ffffffffffffffff8111156120cf575f5ffd5b85016060818a03601f190112156120e4575f5ffd5b6120ec611e31565b602082015167ffffffffffffffff811115612105575f5ffd5b82016020810190603f018b13612119575f5ffd5b8051612127611f0d82611e8b565b8082825260208201915060208360051b85010192508d831115612148575f5ffd5b6020840193505b8284101561216a57835182526020938401939091019061214f565b8452505050604082015167ffffffffffffffff811115612188575f5ffd5b6121978b602083860101611fdb565b6020830152506121a960608301611eae565b6040820152845250602092830192016120b1565b509695505050505050565b838152826020820152606060408201525f6121e66060830184611b70565b9594505050505056fe6080604052348015600e575f5ffd5b503380603357604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b603a816051565b505f805460ff60a01b1916600160a01b17905560a0565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6106c9806100ad5f395ff3fe608060405234801561000f575f5ffd5b5060043610610090575f3560e01c80638ab1d681116100635780638ab1d681146100e05780638da5cb5b146100f3578063d01f63f51461010d578063e43252d714610122578063f2fde38b14610135575f5ffd5b806301ffc9a714610094578063184d69ab146100bc5780633a3ab672146100c3578063715018a6146100d6575b5f5ffd5b6100a76100a23660046105b4565b610148565b60405190151581526020015b60405180910390f35b60016100a7565b6100a76100d13660046105db565b61017e565b6100de610192565b005b6100de6100ee3660046105db565b6101a5565b5f546040516001600160a01b0390911681526020016100b3565b610115610229565b6040516100b39190610601565b6100de6101303660046105db565b610242565b6100de6101433660046105db565b6102c2565b5f6001600160e01b03198216634e759c3d60e11b148061017857506301ffc9a760e01b6001600160e01b03198316145b92915050565b5f610187610301565b610178600183610359565b61019a61037d565b6101a35f6103a9565b565b6101ad610301565b6101be5f805460ff60a01b19169055565b6101c661037d565b5f6101d26001836103f8565b9050801561020e576040516001600160a01b038316907fcdd2e9b91a56913d370075169cefa1602ba36be5301664f752192bb1709df757905f90a25b506102265f805460ff60a01b1916600160a01b179055565b50565b6060610233610301565b61023d600161040c565b905090565b61024a610301565b61025b5f805460ff60a01b19169055565b61026361037d565b5f61026f600183610418565b9050801561020e576040516001600160a01b038316907fa850ae9193f515cbae8d35e8925bd2be26627fc91bce650b8652ed254e9cab03905f90a2506102265f805460ff60a01b1916600160a01b179055565b6102ca61037d565b6001600160a01b0381166102f857604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610226816103a9565b5f54600160a01b900460ff166101a35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102ef565b6001600160a01b0381165f90815260018301602052604081205415155b9392505050565b5f546001600160a01b031633146101a35760405163118cdaa760e01b81523360048201526024016102ef565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f610376836001600160a01b03841661042c565b60605f6103768361050f565b5f610376836001600160a01b038416610568565b5f8181526001830160205260408120548015610506575f61044e60018361064c565b85549091505f906104619060019061064c565b90508082146104c0575f865f01828154811061047f5761047f61066b565b905f5260205f200154905080875f01848154811061049f5761049f61066b565b5f918252602080832090910192909255918252600188019052604090208390555b85548690806104d1576104d161067f565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610178565b5f915050610178565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561055c57602002820191905f5260205f20905b815481526020019060010190808311610548575b50505050509050919050565b5f8181526001830160205260408120546105ad57508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610178565b505f610178565b5f602082840312156105c4575f5ffd5b81356001600160e01b031981168114610376575f5ffd5b5f602082840312156105eb575f5ffd5b81356001600160a01b0381168114610376575f5ffd5b602080825282518282018190525f918401906040840190835b818110156106415783516001600160a01b031683526020938401939092019160010161061a565b509095945050505050565b8181038181111561017857634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffdfea264697066735822122017d19cb92913b1d48716ee47b65ab4e02ee922b90d01232dfa3dfd8cb8c5357c64736f6c634300081e00330000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d72656d6f76696e67206d697373696e6720656c656d656e742073686f756c64206e6f7420656d697420616e206576656e746475706c6963617465206164642073686f756c64206e6f7420656d697420616e206576656e74a264697066735822122009c9d216867afb49f0ac08ddb5fba878b64aea60b6f9c0ca40085b2cf9f7f50364736f6c634300081e0033","sourceMap":"392:3474:101:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;668:75;;;:::i;:::-;;2907:134:7;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3366:235:101;;;:::i;1535:515::-;;;:::i;3823:151:7:-;;;:::i;:::-;;;;;;;:::i;2353:465:101:-;;;:::i;2824:413::-;;;:::i;3684:133:7:-;;;:::i;3385:141::-;;;:::i;3193:186::-;;;:::i;:::-;;;;;;;:::i;3047:140::-;;;:::i;:::-;;;;;;;:::i;749:315:101:-;;;:::i;3532:146:7:-;;;:::i;:::-;;;;;;;:::i;2754:147::-;;;:::i;2459:141::-;;;:::i;1243:204:2:-;;;:::i;:::-;;;6168:14:102;;6161:22;6143:41;;6131:2;6116:18;1243:204:2;6003:187:102;3243:117:101;;;:::i;2606:142:7:-;;;:::i;2056:291:101:-;;;:::i;1065:26:14:-;;;;;;;;;1070:459:101;;;:::i;668:75::-;714:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;702:9;;:34;;;;;-1:-1:-1;;;;;702:34:101;;;;;-1:-1:-1;;;;;702:34:101;;;;;;668:75::o;2907:134:7:-;2954:33;3018:16;2999:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2999:35:7;;;;;;;;;;;;;;;;;;;;;;;2907:134;:::o;3366:235:101:-;3499:9;;:32;;-1:-1:-1;;;3499:32:101;;-1:-1:-1;;;3499:32:101;;;6339:52:102;;;3435:43:101;3488:44;;3499:9;;;;-1:-1:-1;;;;;3499:9:101;;:27;;6312:18:102;;3499:32:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3488:10;:44::i;:::-;3554:9;;:39;;-1:-1:-1;;;3554:39:101;;-1:-1:-1;;;;;;3554:39:101;;;6846:62:102;3542:52:101;;3554:9;;;-1:-1:-1;;;;;3554:9:101;;:27;;6819:18:102;;3554:39:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3542:11;:52::i;:::-;3412:189;3366:235::o;1535:515::-;1597:9;;1622:5;;1597:31;;-1:-1:-1;;;1597:31:101;;-1:-1:-1;;;;;1622:5:101;;;1597:31;;;7065:51:102;1597:9:101;;;;;;:24;;7038:18:102;;1597:31:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1638:9:101;;1663:3;;1638:29;;-1:-1:-1;;;1638:29:101;;-1:-1:-1;;;;;1663:3:101;;;1638:29;;;7065:51:102;1638:9:101;;;;;;-1:-1:-1;1638:24:101;;-1:-1:-1;7038:18:102;;1638:29:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1689:9:101;;1713:5;;1689:30;;-1:-1:-1;;;1689:30:101;;-1:-1:-1;;;;;1713:5:101;;;1689:30;;;7065:51:102;1678:42:101;;-1:-1:-1;1689:9:101;;;;;;-1:-1:-1;1689:23:101;;7038:18:102;;1689:30:101;6919:203:102;1678:42:101;1741:9;;1765:3;;1741:28;;-1:-1:-1;;;1741:28:101;;-1:-1:-1;;;;;1765:3:101;;;1741:28;;;7065:51:102;1730:40:101;;1741:9;;;;;;;:23;;7038:18:102;;1741:28:101;6919:203:102;1730:40:101;1781:9;;1811:5;;1781:36;;-1:-1:-1;;;1781:36:101;;-1:-1:-1;;;;;1811:5:101;;;1781:36;;;7065:51:102;1781:9:101;;;;;;:29;;7038:18:102;;1781:36:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1840:9:101;;1864:5;;1840:30;;-1:-1:-1;;;1840:30:101;;-1:-1:-1;;;;;1864:5:101;;;1840:30;;;7065:51:102;1828:43:101;;-1:-1:-1;1840:9:101;;;;;;-1:-1:-1;1840:23:101;;7038:18:102;;1840:30:101;6919:203:102;1828:43:101;1892:9;;1916:3;;1892:28;;-1:-1:-1;;;1892:28:101;;-1:-1:-1;;;;;1916:3:101;;;1892:28;;;7065:51:102;1881:40:101;;1892:9;;;;;;;:23;;7038:18:102;;1892:28:101;6919:203:102;1881:40:101;1932:20;1955:9;;;;;;;;;-1:-1:-1;;;;;1955:9:101;-1:-1:-1;;;;;1955:22:101;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1955:24:101;;;;;;;;;;;;:::i;:::-;1932:47;;1989:23;1998:3;:10;2010:1;1989:8;:23::i;:::-;2022:21;2031:3;2035:1;2031:6;;;;;;;;:::i;:::-;;;;;;;;;;;2039:3;;-1:-1:-1;;;;;2039:3:101;2022:8;:21::i;3823:151:7:-;3872:42;3948:19;3926:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3926:41:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3823:151;:::o;2353:465:101:-;2436:8;;2427:18;;-1:-1:-1;;;2427:18:101;;-1:-1:-1;;;;;2436:8:101;;;2427:18;;;7065:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;2427:8:101;;7038:18:102;;2427::101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2539:8:101;;2471:77;;;-1:-1:-1;;;;;2539:8:101;;;2471:77;;;;7065:51:102;;;;2471:77:101;;;;;;;;;;7038:18:102;;;;2471:77:101;;;;;;;-1:-1:-1;;;;;2471:77:101;-1:-1:-1;;;2471:77:101;;;2455:94;-1:-1:-1;;;2455:94:101;;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;2455:15:101;;-1:-1:-1;2455:94:101;;2471:77;2455:94;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2559:9:101;;2584:5;;2559:31;;-1:-1:-1;;;2559:31:101;;-1:-1:-1;;;;;2584:5:101;;;2559:31;;;7065:51:102;2559:9:101;;;;;;-1:-1:-1;2559:24:101;;-1:-1:-1;7038:18:102;;2559:31:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2601:9:101;;2626:5;;2601:31;;-1:-1:-1;;;2601:31:101;;-1:-1:-1;;;;;2626:5:101;;;2601:31;;;7065:51:102;2601:9:101;;;;;;-1:-1:-1;2601:24:101;;-1:-1:-1;7038:18:102;;2601:31:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2652:8:101;;2643:18;;-1:-1:-1;;;2643:18:101;;-1:-1:-1;;;;;2652:8:101;;;2643:18;;;7065:51:102;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;2643:8:101;;-1:-1:-1;7038:18:102;;2643::101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2755:8:101;;2687:77;;;-1:-1:-1;;;;;2755:8:101;;;2687:77;;;;7065:51:102;;;;2687:77:101;;;;;;;;;;7038:18:102;;;;2687:77:101;;;;;;;-1:-1:-1;;;;;2687:77:101;-1:-1:-1;;;2687:77:101;;;2671:94;-1:-1:-1;;;2671:94:101;;-1:-1:-1;;;;;;;;;;;336:42:0;-1:-1:-1;2671:15:101;;-1:-1:-1;2671:94:101;;2687:77;2671:94;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2775:9:101;;2805:5;;2775:36;;-1:-1:-1;;;2775:36:101;;-1:-1:-1;;;;;2805:5:101;;;2775:36;;;7065:51:102;2775:9:101;;;;;;-1:-1:-1;2775:29:101;;-1:-1:-1;7038:18:102;;2775:36:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2353:465::o;2824:413::-;2901:9;;2926:5;;2901:31;;-1:-1:-1;;;2901:31:101;;-1:-1:-1;;;;;2926:5:101;;;2901:31;;;7065:51:102;2901:9:101;;;;;;:24;;7038:18:102;;2901:31:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2942:9:101;;2967:3;;2942:29;;-1:-1:-1;;;2942:29:101;;-1:-1:-1;;;;;2967:3:101;;;2942:29;;;7065:51:102;2942:9:101;;;;;;-1:-1:-1;2942:24:101;;-1:-1:-1;7038:18:102;;2942:29:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2981:9:101;;3006:5;;2981:31;;-1:-1:-1;;;2981:31:101;;-1:-1:-1;;;;;3006:5:101;;;2981:31;;;7065:51:102;2981:9:101;;;;;;-1:-1:-1;2981:24:101;;-1:-1:-1;7038:18:102;;2981:31:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3023:20;3046:9;;;;;;;;;-1:-1:-1;;;;;3046:9:101;-1:-1:-1;;;;;3046:22:101;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3046:24:101;;;;;;;;;;;;:::i;:::-;3023:47;;3080:23;3089:3;:10;3101:1;3080:8;:23::i;:::-;3139:5;;3113:33;;3124:21;;3134:3;;-1:-1:-1;;;;;3139:5:101;3124:9;:21::i;3113:33::-;3182:3;;3156:31;;3167:19;;3177:3;;-1:-1:-1;;;;;3182:3:101;3167:9;:19::i;3156:31::-;3223:5;;3197:33;;3208:21;;3218:3;;-1:-1:-1;;;;;3223:5:101;3208:9;:21::i;3684:133:7:-;3730:33;3794:16;3775:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3775:35:7;;;;;;;;;;;;;;;;;;;;;;3684:133;:::o;3385:141::-;3433:35;3501:18;3480:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3480:39:7;;;;;;;;;;;;;;;;;;;;;;3385:141;:::o;3193:186::-;3249:56;3346:26;3317:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3317:55:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3047:140;3095:34;3162:18;3141:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;749:315:101;809:9;;833:5;;809:30;;-1:-1:-1;;;809:30:101;;-1:-1:-1;;;;;833:5:101;;;809:30;;;7065:51:102;797:43:101;;809:9;;;;;;;:23;;7038:18:102;;809:30:101;6919:203:102;797:43:101;850:9;;875:5;;850:31;;-1:-1:-1;;;850:31:101;;-1:-1:-1;;;;;875:5:101;;;850:31;;;7065:51:102;850:9:101;;;;;;:24;;7038:18:102;;850:31:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;902:9:101;;926:5;;902:30;;-1:-1:-1;;;902:30:101;;-1:-1:-1;;;;;926:5:101;;;902:30;;;7065:51:102;891:42:101;;-1:-1:-1;902:9:101;;;;;;-1:-1:-1;902:23:101;;7038:18:102;;902:30:101;6919:203:102;891:42:101;944:20;967:9;;;;;;;;;-1:-1:-1;;;;;967:9:101;-1:-1:-1;;;;;967:22:101;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;967:24:101;;;;;;;;;;;;:::i;:::-;944:47;;1001:23;1010:3;:10;1022:1;1001:8;:23::i;:::-;1034;1043:3;1047:1;1043:6;;;;;;;;:::i;:::-;;;;;;;;;;;;1051:5;;-1:-1:-1;;;;;1051:5:101;1034:8;:23::i;3532:146:7:-;3580:40;3653:18;3632:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3632:39:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3632:39:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2754:147;2803:40;2876:18;2855:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2855:39:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2855:39:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2459:141;2508:34;2575:18;2554:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:2;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:2;;;;;1243:204::o;1298:143::-;1377:39;;-1:-1:-1;;;1377:39:2;;-1:-1:-1;;;;;;;;;;;1377:39:2;;;9986:51:102;;;-1:-1:-1;;;10053:18:102;;;10046:34;1428:1:2;;1377:7;;9959:18:102;;1377:39:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;3243:117:101:-;3311:42;3322:9;;;;;;;;;-1:-1:-1;;;;;3322:9:101;-1:-1:-1;;;;;3322:28:101;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3311:42;3243:117::o;2606:142:7:-;2655:35;2723:18;2702:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2702:39:7;;;;;;;;;;;;;;;;;;;;;;2606:142;:::o;2056:291:101:-;-1:-1:-1;;;;;;;;;;;;;;;;2124:13:101;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2149:9:101;;2179:5;;2149:36;;-1:-1:-1;;;2149:36:101;;-1:-1:-1;;;;;2179:5:101;;;2149:36;;;7065:51:102;2149:9:101;;;;;;-1:-1:-1;2149:29:101;;-1:-1:-1;7038:18:102;;2149:36:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2210:20;-1:-1:-1;;;;;;;;;;;;;;;;2233:18:101;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2233:20:101;;;;;;;;;;;;:::i;:::-;2210:43;;2263:77;2272:4;:11;2285:1;2263:77;;;;;;;;;;;;;;;;;:8;:77::i;1070:459::-;1136:9;;1161:5;;1136:31;;-1:-1:-1;;;1136:31:101;;-1:-1:-1;;;;;1161:5:101;;;1136:31;;;7065:51:102;1136:9:101;;;;;;:24;;7038:18:102;;1136:31:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;1178:13:101;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1203:9:101;;1228:5;;1203:31;;-1:-1:-1;;;1203:31:101;;-1:-1:-1;;;;;1228:5:101;;;1203:31;;;7065:51:102;1203:9:101;;;;;;-1:-1:-1;1203:24:101;;-1:-1:-1;7038:18:102;;1203:31:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1279:20;-1:-1:-1;;;;;;;;;;;;;;;;1302:18:101;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1302:20:101;;;;;;;;;;;;:::i;:::-;1279:43;;1332:66;1341:4;:11;1354:1;1332:66;;;;;;;;;;;;;;;;;:8;:66::i;:::-;1409:20;1432:9;;;;;;;;;-1:-1:-1;;;;;1432:9:101;-1:-1:-1;;;;;1432:22:101;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1432:24:101;;;;;;;;;;;;:::i;:::-;1409:47;;1466:23;1475:3;:10;1487:1;1466:8;:23::i;:::-;1499;1508:3;1512:1;1508:6;;;;;;;;:::i;1499:23::-;1126:403;;1070:459::o;1594:89:2:-;1657:19;;-1:-1:-1;;;1657:19:2;;6168:14:102;;6161:22;1657:19:2;;;6143:41:102;-1:-1:-1;;;;;;;;;;;1657:13:2;;;6116:18:102;;1657:19:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:89;:::o;1808:91::-;1872:20;;-1:-1:-1;;;1872:20:2;;6168:14:102;;6161:22;1872:20:2;;;6143:41:102;-1:-1:-1;;;;;;;;;;;1872:14:2;;;6116:18:102;;1872:20:2;6003:187:102;2270:110:2;2349:24;;-1:-1:-1;;;2349:24:2;;;;;13428:25:102;;;13469:18;;;13462:34;;;-1:-1:-1;;;;;;;;;;;2349:11:2;;;13401:18:102;;2349:24:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2270:110;;:::o;3454:::-;3533:24;;-1:-1:-1;;;3533:24:2;;-1:-1:-1;;;;;13699:32:102;;;3533:24:2;;;13681:51:102;13768:32;;13748:18;;;13741:60;-1:-1:-1;;;;;;;;;;;3533:11:2;;;13654:18:102;;3533:24:2;13507:300:102;3642:222:101;3721:4;;3737:99;3761:3;:10;3757:1;:14;3737:99;;;3806:6;-1:-1:-1;;;;;3796:16:101;:3;3800:1;3796:6;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;3796:16:101;;3792:33;;3821:4;3814:11;;;;;3792:33;3773:3;;3737:99;;;;3852:5;3845:12;;3642:222;;;;;:::o;2386:134:2:-;2484:29;;-1:-1:-1;;;2484:29:2;;-1:-1:-1;;;;;;;;;;;2484:11:2;;;:29;;2496:4;;2502:5;;2509:3;;2484:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2386:134;;;:::o;-1:-1:-1:-;;;;;;;;:::o;14:637:102:-;204:2;216:21;;;286:13;;189:18;;;308:22;;;156:4;;387:15;;;361:2;346:18;;;156:4;430:195;444:6;441:1;438:13;430:195;;;509:13;;-1:-1:-1;;;;;505:39:102;493:52;;574:2;600:15;;;;565:12;;;;541:1;459:9;430:195;;;-1:-1:-1;642:3:102;;14:637;-1:-1:-1;;;;;14:637:102:o;656:289::-;698:3;736:5;730:12;763:6;758:3;751:19;819:6;812:4;805:5;801:16;794:4;789:3;785:14;779:47;871:1;864:4;855:6;850:3;846:16;842:27;835:38;934:4;927:2;923:7;918:2;910:6;906:15;902:29;897:3;893:39;889:50;882:57;;;656:289;;;;:::o;950:1626::-;1154:4;1202:2;1191:9;1187:18;1232:2;1221:9;1214:21;1255:6;1290;1284:13;1321:6;1313;1306:22;1359:2;1348:9;1344:18;1337:25;;1421:2;1411:6;1408:1;1404:14;1393:9;1389:30;1385:39;1371:53;;1459:2;1451:6;1447:15;1480:1;1490:1057;1504:6;1501:1;1498:13;1490:1057;;;-1:-1:-1;;1569:22:102;;;1565:36;1553:49;;1625:13;;1712:9;;-1:-1:-1;;;;;1708:35:102;1693:51;;1791:2;1783:11;;;1777:18;1677:2;1815:15;;;1808:27;;;1896:19;;1665:15;;;1928:24;;;2083:21;;;1986:2;2036:1;2032:16;;;2020:29;;2016:38;;;1974:15;;;;-1:-1:-1;2142:296:102;2158:8;2153:3;2150:17;2142:296;;;2264:2;2260:7;2251:6;2243;2239:19;2235:33;2228:5;2221:48;2296:42;2331:6;2320:8;2314:15;2296:42;:::i;:::-;2381:2;2367:17;;;;2286:52;;-1:-1:-1;2410:14:102;;;;;2186:1;2177:11;2142:296;;;-1:-1:-1;2461:6:102;;-1:-1:-1;;;2502:2:102;2525:12;;;;2490:15;;;;;-1:-1:-1;1526:1:102;1519:9;1490:1057;;;-1:-1:-1;2564:6:102;;950:1626;-1:-1:-1;;;;;;950:1626:102:o;2581:446::-;2633:3;2671:5;2665:12;2698:6;2693:3;2686:19;2730:4;2725:3;2721:14;2714:21;;2769:4;2762:5;2758:16;2792:1;2802:200;2816:6;2813:1;2810:13;2802:200;;;2881:13;;-1:-1:-1;;;;;;2877:40:102;2865:53;;2947:4;2938:14;;;;2975:17;;;;2838:1;2831:9;2802:200;;;-1:-1:-1;3018:3:102;;2581:446;-1:-1:-1;;;;2581:446:102:o;3032:1143::-;3250:4;3298:2;3287:9;3283:18;3328:2;3317:9;3310:21;3351:6;3386;3380:13;3417:6;3409;3402:22;3455:2;3444:9;3440:18;3433:25;;3517:2;3507:6;3504:1;3500:14;3489:9;3485:30;3481:39;3467:53;;3555:2;3547:6;3543:15;3576:1;3586:560;3600:6;3597:1;3594:13;3586:560;;;3693:2;3689:7;3677:9;3669:6;3665:22;3661:36;3656:3;3649:49;3727:6;3721:13;3773:2;3767:9;3804:2;3796:6;3789:18;3834:48;3878:2;3870:6;3866:15;3852:12;3834:48;:::i;:::-;3820:62;;3931:2;3927;3923:11;3917:18;3895:40;;3984:6;3976;3972:19;3967:2;3959:6;3955:15;3948:44;4015:51;4059:6;4043:14;4015:51;:::i;:::-;4005:61;-1:-1:-1;;;4101:2:102;4124:12;;;;4089:15;;;;;3622:1;3615:9;3586:560;;4180:782;4342:4;4390:2;4379:9;4375:18;4420:2;4409:9;4402:21;4443:6;4478;4472:13;4509:6;4501;4494:22;4547:2;4536:9;4532:18;4525:25;;4609:2;4599:6;4596:1;4592:14;4581:9;4577:30;4573:39;4559:53;;4647:2;4639:6;4635:15;4668:1;4678:255;4692:6;4689:1;4686:13;4678:255;;;4785:2;4781:7;4769:9;4761:6;4757:22;4753:36;4748:3;4741:49;4813:40;4846:6;4837;4831:13;4813:40;:::i;:::-;4803:50;-1:-1:-1;4888:2:102;4911:12;;;;4876:15;;;;;4714:1;4707:9;4678:255;;4967:1031;5169:4;5217:2;5206:9;5202:18;5247:2;5236:9;5229:21;5270:6;5305;5299:13;5336:6;5328;5321:22;5374:2;5363:9;5359:18;5352:25;;5436:2;5426:6;5423:1;5419:14;5408:9;5404:30;5400:39;5386:53;;5474:2;5466:6;5462:15;5495:1;5505:464;5519:6;5516:1;5513:13;5505:464;;;5584:22;;;-1:-1:-1;;5580:36:102;5568:49;;5640:13;;5685:9;;-1:-1:-1;;;;;5681:35:102;5666:51;;5764:2;5756:11;;;5750:18;5805:2;5788:15;;;5781:27;;;5750:18;5831:58;;5873:15;;5750:18;5831:58;:::i;:::-;5821:68;-1:-1:-1;;5924:2:102;5947:12;;;;5912:15;;;;;5541:1;5534:9;5505:464;;6402:277;6469:6;6522:2;6510:9;6501:7;6497:23;6493:32;6490:52;;;6538:1;6535;6528:12;6490:52;6570:9;6564:16;6623:5;6616:13;6609:21;6602:5;6599:32;6589:60;;6645:1;6642;6635:12;6589:60;6668:5;6402:277;-1:-1:-1;;;6402:277:102:o;7127:127::-;7188:10;7183:3;7179:20;7176:1;7169:31;7219:4;7216:1;7209:15;7243:4;7240:1;7233:15;7259:253;7331:2;7325:9;7373:4;7361:17;;7408:18;7393:34;;7429:22;;;7390:62;7387:88;;;7455:18;;:::i;:::-;7491:2;7484:22;7259:253;:::o;7517:275::-;7588:2;7582:9;7653:2;7634:13;;-1:-1:-1;;7630:27:102;7618:40;;7688:18;7673:34;;7709:22;;;7670:62;7667:88;;;7735:18;;:::i;:::-;7771:2;7764:22;7517:275;;-1:-1:-1;7517:275:102:o;7797:183::-;7857:4;7890:18;7882:6;7879:30;7876:56;;;7912:18;;:::i;:::-;-1:-1:-1;7957:1:102;7953:14;7969:4;7949:25;;7797:183::o;7985:177::-;8064:13;;-1:-1:-1;;;;;8106:31:102;;8096:42;;8086:70;;8152:1;8149;8142:12;8086:70;7985:177;;;:::o;8167:900::-;8262:6;8315:2;8303:9;8294:7;8290:23;8286:32;8283:52;;;8331:1;8328;8321:12;8283:52;8364:9;8358:16;8397:18;8389:6;8386:30;8383:50;;;8429:1;8426;8419:12;8383:50;8452:22;;8505:4;8497:13;;8493:27;-1:-1:-1;8483:55:102;;8534:1;8531;8524:12;8483:55;8567:2;8561:9;8590:64;8606:47;8646:6;8606:47;:::i;:::-;8590:64;:::i;:::-;8676:3;8700:6;8695:3;8688:19;8732:2;8727:3;8723:12;8716:19;;8787:2;8777:6;8774:1;8770:14;8766:2;8762:23;8758:32;8744:46;;8813:7;8805:6;8802:19;8799:39;;;8834:1;8831;8824:12;8799:39;8866:2;8862;8858:11;8847:22;;8878:159;8894:6;8889:3;8886:15;8878:159;;;8960:34;8990:3;8960:34;:::i;:::-;8948:47;;9024:2;8911:12;;;;9015;;;;8878:159;;;9056:5;8167:900;-1:-1:-1;;;;;;8167:900:102:o;9072:127::-;9133:10;9128:3;9124:20;9121:1;9114:31;9164:4;9161:1;9154:15;9188:4;9185:1;9178:15;9204:380;9283:1;9279:12;;;;9326;;;9347:61;;9401:4;9393:6;9389:17;9379:27;;9347:61;9454:2;9446:6;9443:14;9423:18;9420:38;9417:161;;9500:10;9495:3;9491:20;9488:1;9481:31;9535:4;9532:1;9525:15;9563:4;9560:1;9553:15;9417:161;;9204:380;;;:::o;9589:218::-;9736:2;9725:9;9718:21;9699:4;9756:45;9797:2;9786:9;9782:18;9774:6;9756:45;:::i;10091:230::-;10161:6;10214:2;10202:9;10193:7;10189:23;10185:32;10182:52;;;10230:1;10227;10220:12;10182:52;-1:-1:-1;10275:16:102;;10091:230;-1:-1:-1;10091:230:102:o;10326:555::-;10379:5;10432:3;10425:4;10417:6;10413:17;10409:27;10399:55;;10450:1;10447;10440:12;10399:55;10483:6;10477:13;10513:18;10505:6;10502:30;10499:56;;;10535:18;;:::i;:::-;10579:59;10626:2;10603:17;;-1:-1:-1;;10599:31:102;10632:4;10595:42;10579:59;:::i;:::-;10663:6;10654:7;10647:23;10717:3;10710:4;10701:6;10693;10689:19;10685:30;10682:39;10679:59;;;10734:1;10731;10724:12;10679:59;10792:6;10785:4;10777:6;10773:17;10766:4;10757:7;10753:18;10747:52;10848:1;10819:20;;;10841:4;10815:31;10808:42;;;;10823:7;10326:555;-1:-1:-1;;;10326:555:102:o;10886:2363::-;11003:6;11056:2;11044:9;11035:7;11031:23;11027:32;11024:52;;;11072:1;11069;11062:12;11024:52;11105:9;11099:16;11138:18;11130:6;11127:30;11124:50;;;11170:1;11167;11160:12;11124:50;11193:22;;11246:4;11238:13;;11234:27;-1:-1:-1;11224:55:102;;11275:1;11272;11265:12;11224:55;11308:2;11302:9;11331:64;11347:47;11387:6;11347:47;:::i;11331:64::-;11417:3;11441:6;11436:3;11429:19;11473:2;11468:3;11464:12;11457:19;;11528:2;11518:6;11515:1;11511:14;11507:2;11503:23;11499:32;11485:46;;11554:7;11546:6;11543:19;11540:39;;;11575:1;11572;11565:12;11540:39;11607:2;11603;11599:11;11619:1600;11635:6;11630:3;11627:15;11619:1600;;;11714:3;11708:10;11750:18;11737:11;11734:35;11731:55;;;11782:1;11779;11772:12;11731:55;11809:20;;11881:4;11853:16;;;-1:-1:-1;;11849:30:102;11845:41;11842:61;;;11899:1;11896;11889:12;11842:61;11929:22;;:::i;:::-;11994:2;11990;11986:11;11980:18;12027;12017:8;12014:32;12011:52;;;12059:1;12056;12049:12;12011:52;12090:17;;12109:2;12086:26;;;12139:13;;12135:27;-1:-1:-1;12125:55:102;;12176:1;12173;12166:12;12125:55;12215:2;12209:9;12244:66;12260:49;12300:8;12260:49;:::i;12244:66::-;12338:5;12370:8;12363:5;12356:23;12412:2;12405:5;12401:14;12392:23;;12475:2;12463:8;12460:1;12456:16;12452:2;12448:25;12444:34;12428:50;;12507:7;12497:8;12494:21;12491:41;;;12528:1;12525;12518:12;12491:41;12566:2;12562;12558:11;12545:24;;12582:235;12600:8;12593:5;12590:19;12582:235;;;12712:12;;12741:22;;12800:2;12621:14;;;;12789;;;;12582:235;;;12830:22;;-1:-1:-1;;;12895:2:102;12887:11;;12881:18;12928;12915:32;;12912:52;;;12960:1;12957;12950:12;12912:52;13000:64;13056:7;13051:2;13040:8;13036:2;13032:17;13028:26;13000:64;:::i;:::-;12995:2;12988:5;12984:14;12977:88;;13101:44;13139:4;13135:2;13131:13;13101:44;:::i;:::-;13096:2;13085:14;;13078:68;13159:18;;-1:-1:-1;13206:2:102;13197:12;;;;11652;11619:1600;;;-1:-1:-1;13238:5:102;10886:2363;-1:-1:-1;;;;;;10886:2363:102:o;13812:362::-;14017:6;14006:9;13999:25;14060:6;14055:2;14044:9;14040:18;14033:34;14103:2;14098;14087:9;14083:18;14076:30;13980:4;14123:45;14164:2;14153:9;14149:18;14141:6;14123:45;:::i;:::-;14115:53;13812:362;-1:-1:-1;;;;;13812:362:102:o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","test_AddAndContains()":"8f1bdd3b","test_AddDuplicate_NoDuplicate_NoEvent()":"fdcfc634","test_GetWhitelist_MultipleAddresses_IgnoresOrder()":"32f8bce9","test_IsWhitelistEnabled_AlwaysTrue()":"d658bab2","test_OnlyOwner_AddAndRemove_RevertForNonOwner()":"32a918e6","test_RemoveNonexistent_NoRevert_NoEvent()":"fa3bdbd8","test_Remove_RemovesAndUpdatesView()":"24a52ca9","test_SupportsInterface()":"2278c138"}}}}},"sources":{"lib/forge-std/src/Base.sol":{"id":0,"ast":{"absolutePath":"lib/forge-std/src/Base.sol","id":60,"exportedSymbols":{"CommonBase":[47],"ScriptBase":[59],"StdStorage":[8093],"TestBase":[50],"Vm":[18001],"VmSafe":[16930]},"nodeType":"SourceUnit","src":"32:2195:0","nodes":[{"id":1,"nodeType":"PragmaDirective","src":"32:31:0","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":3,"nodeType":"ImportDirective","src":"65:44:0","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":60,"sourceUnit":10051,"symbolAliases":[{"foreign":{"id":2,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8093,"src":"73:10:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":6,"nodeType":"ImportDirective","src":"110:36:0","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":60,"sourceUnit":18002,"symbolAliases":[{"foreign":{"id":4,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"118:2:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":5,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16930,"src":"122:6:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":47,"nodeType":"ContractDefinition","src":"148:1927:0","nodes":[{"id":10,"nodeType":"VariableDeclaration","src":"297:81:0","nodes":[],"constant":true,"documentation":{"id":7,"nodeType":"StructuredDocumentation","src":"183:109:0","text":"@dev Cheat code address.\n Calculated as `address(uint160(uint256(keccak256(\"hevm cheat code\"))))`."},"mutability":"constant","name":"VM_ADDRESS","nameLocation":"323:10:0","scope":47,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8,"name":"address","nodeType":"ElementaryTypeName","src":"297:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307837313039373039454366613931613830363236664633393839443638663637463562314444313244","id":9,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"336:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x7109709ECfa91a80626fF3989D68f67F5b1DD12D"},"visibility":"internal"},{"id":14,"nodeType":"VariableDeclaration","src":"548:78:0","nodes":[],"constant":true,"documentation":{"id":11,"nodeType":"StructuredDocumentation","src":"384:159:0","text":"@dev console.sol and console2.sol work by executing a staticcall to this address.\n Calculated as `address(uint160(uint88(bytes11(\"console.log\"))))`."},"mutability":"constant","name":"CONSOLE","nameLocation":"574:7:0","scope":47,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12,"name":"address","nodeType":"ElementaryTypeName","src":"548:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":13,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"584:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"internal"},{"id":18,"nodeType":"VariableDeclaration","src":"758:86:0","nodes":[],"constant":true,"documentation":{"id":15,"nodeType":"StructuredDocumentation","src":"632:121:0","text":"@dev Used when deploying with create2.\n Taken from https://github.com/Arachnid/deterministic-deployment-proxy."},"mutability":"constant","name":"CREATE2_FACTORY","nameLocation":"784:15:0","scope":47,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16,"name":"address","nodeType":"ElementaryTypeName","src":"758:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":17,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"802:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"visibility":"internal"},{"id":22,"nodeType":"VariableDeclaration","src":"1001:85:0","nodes":[],"constant":true,"documentation":{"id":19,"nodeType":"StructuredDocumentation","src":"850:146:0","text":"@dev The default address for tx.origin and msg.sender.\n Calculated as `address(uint160(uint256(keccak256(\"foundry default caller\"))))`."},"mutability":"constant","name":"DEFAULT_SENDER","nameLocation":"1027:14:0","scope":47,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20,"name":"address","nodeType":"ElementaryTypeName","src":"1001:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307831383034633841423146313245366262663338393464343038336633336530373330396431663338","id":21,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1044:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38"},"visibility":"internal"},{"id":26,"nodeType":"VariableDeclaration","src":"1367:92:0","nodes":[],"constant":true,"documentation":{"id":23,"nodeType":"StructuredDocumentation","src":"1092:270:0","text":"@dev The address of the first contract `CREATE`d by a running test contract.\n When running tests, each test contract is `CREATE`d by `DEFAULT_SENDER` with nonce 1.\n Calculated as `VM.computeCreateAddress(VM.computeCreateAddress(DEFAULT_SENDER, 1), 1)`."},"mutability":"constant","name":"DEFAULT_TEST_CONTRACT","nameLocation":"1393:21:0","scope":47,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24,"name":"address","nodeType":"ElementaryTypeName","src":"1367:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307835363135644542373938424233453464466130313339644661316233443433334363323362373266","id":25,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1417:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f"},"visibility":"internal"},{"id":30,"nodeType":"VariableDeclaration","src":"1586:89:0","nodes":[],"constant":true,"documentation":{"id":27,"nodeType":"StructuredDocumentation","src":"1465:116:0","text":"@dev Deterministic deployment address of the Multicall3 contract.\n Taken from https://www.multicall3.com."},"mutability":"constant","name":"MULTICALL3_ADDRESS","nameLocation":"1612:18:0","scope":47,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28,"name":"address","nodeType":"ElementaryTypeName","src":"1586:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":29,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1633:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"},"visibility":"internal"},{"id":34,"nodeType":"VariableDeclaration","src":"1728:130:0","nodes":[],"constant":true,"documentation":{"id":31,"nodeType":"StructuredDocumentation","src":"1681:42:0","text":"@dev The order of the secp256k1 curve."},"mutability":"constant","name":"SECP256K1_ORDER","nameLocation":"1754:15:0","scope":47,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32,"name":"uint256","nodeType":"ElementaryTypeName","src":"1728:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383532383337353634323739303734393034333832363035313633313431353138313631343934333337","id":33,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1780:78:0","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907852837564279074904382605163141518161494337_by_1","typeString":"int_const 1157...(70 digits omitted)...4337"},"value":"115792089237316195423570985008687907852837564279074904382605163141518161494337"},"visibility":"internal"},{"id":37,"nodeType":"VariableDeclaration","src":"1865:126:0","nodes":[],"constant":true,"mutability":"constant","name":"UINT256_MAX","nameLocation":"1891:11:0","scope":47,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35,"name":"uint256","nodeType":"ElementaryTypeName","src":"1865:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":36,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1913:78:0","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"internal"},{"id":43,"nodeType":"VariableDeclaration","src":"1998:40:0","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"2019:2:0","scope":47,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":39,"nodeType":"UserDefinedTypeName","pathNode":{"id":38,"name":"Vm","nameLocations":["1998:2:0"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"1998:2:0"},"referencedDeclaration":18001,"src":"1998:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"value":{"arguments":[{"id":41,"name":"VM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10,"src":"2027:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":40,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"2024:2:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":42,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2024:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"internal"},{"id":46,"nodeType":"VariableDeclaration","src":"2044:28:0","nodes":[],"constant":false,"mutability":"mutable","name":"stdstore","nameLocation":"2064:8:0","scope":47,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage","typeString":"struct StdStorage"},"typeName":{"id":45,"nodeType":"UserDefinedTypeName","pathNode":{"id":44,"name":"StdStorage","nameLocations":["2044:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"2044:10:0"},"referencedDeclaration":8093,"src":"2044:10:0","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"CommonBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[47],"name":"CommonBase","nameLocation":"166:10:0","scope":60,"usedErrors":[],"usedEvents":[]},{"id":50,"nodeType":"ContractDefinition","src":"2077:43:0","nodes":[],"abstract":true,"baseContracts":[{"baseName":{"id":48,"name":"CommonBase","nameLocations":["2107:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":47,"src":"2107:10:0"},"id":49,"nodeType":"InheritanceSpecifier","src":"2107:10:0"}],"canonicalName":"TestBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[50,47],"name":"TestBase","nameLocation":"2095:8:0","scope":60,"usedErrors":[],"usedEvents":[]},{"id":59,"nodeType":"ContractDefinition","src":"2122:104:0","nodes":[{"id":58,"nodeType":"VariableDeclaration","src":"2171:52:0","nodes":[],"constant":true,"mutability":"constant","name":"vmSafe","nameLocation":"2196:6:0","scope":59,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"},"typeName":{"id":54,"nodeType":"UserDefinedTypeName","pathNode":{"id":53,"name":"VmSafe","nameLocations":["2171:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":16930,"src":"2171:6:0"},"referencedDeclaration":16930,"src":"2171:6:0","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"value":{"arguments":[{"id":56,"name":"VM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10,"src":"2212:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":55,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16930,"src":"2205:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$16930_$","typeString":"type(contract VmSafe)"}},"id":57,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2205:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":51,"name":"CommonBase","nameLocations":["2154:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":47,"src":"2154:10:0"},"id":52,"nodeType":"InheritanceSpecifier","src":"2154:10:0"}],"canonicalName":"ScriptBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[59,47],"name":"ScriptBase","nameLocation":"2140:10:0","scope":60,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/Script.sol":{"id":1,"ast":{"absolutePath":"lib/forge-std/src/Script.sol","id":101,"exportedSymbols":{"Script":[100],"ScriptBase":[59],"StdChains":[3683],"StdCheatsSafe":[5773],"StdConstants":[6609],"StdStorage":[8093],"StdStyle":[11261],"StdUtils":[12932],"VmSafe":[16930],"console":[26117],"console2":[26117],"safeconsole":[39359],"stdJson":[7913],"stdMath":[8055],"stdStorageSafe":[9445]},"nodeType":"SourceUnit","src":"32:849:1","nodes":[{"id":61,"nodeType":"PragmaDirective","src":"32:31:1","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":63,"nodeType":"ImportDirective","src":"127:38:1","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"./console.sol","nameLocation":"-1:-1:-1","scope":101,"sourceUnit":26118,"symbolAliases":[{"foreign":{"id":62,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"135:7:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65,"nodeType":"ImportDirective","src":"166:40:1","nodes":[],"absolutePath":"lib/forge-std/src/console2.sol","file":"./console2.sol","nameLocation":"-1:-1:-1","scope":101,"sourceUnit":26122,"symbolAliases":[{"foreign":{"id":64,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"174:8:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":67,"nodeType":"ImportDirective","src":"207:46:1","nodes":[],"absolutePath":"lib/forge-std/src/safeconsole.sol","file":"./safeconsole.sol","nameLocation":"-1:-1:-1","scope":101,"sourceUnit":39360,"symbolAliases":[{"foreign":{"id":66,"name":"safeconsole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39359,"src":"215:11:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":69,"nodeType":"ImportDirective","src":"254:42:1","nodes":[],"absolutePath":"lib/forge-std/src/StdChains.sol","file":"./StdChains.sol","nameLocation":"-1:-1:-1","scope":101,"sourceUnit":3684,"symbolAliases":[{"foreign":{"id":68,"name":"StdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3683,"src":"262:9:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":71,"nodeType":"ImportDirective","src":"297:46:1","nodes":[],"absolutePath":"lib/forge-std/src/StdCheats.sol","file":"./StdCheats.sol","nameLocation":"-1:-1:-1","scope":101,"sourceUnit":6569,"symbolAliases":[{"foreign":{"id":70,"name":"StdCheatsSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5773,"src":"305:13:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73,"nodeType":"ImportDirective","src":"344:48:1","nodes":[],"absolutePath":"lib/forge-std/src/StdConstants.sol","file":"./StdConstants.sol","nameLocation":"-1:-1:-1","scope":101,"sourceUnit":6610,"symbolAliases":[{"foreign":{"id":72,"name":"StdConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6609,"src":"352:12:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":75,"nodeType":"ImportDirective","src":"393:38:1","nodes":[],"absolutePath":"lib/forge-std/src/StdJson.sol","file":"./StdJson.sol","nameLocation":"-1:-1:-1","scope":101,"sourceUnit":7914,"symbolAliases":[{"foreign":{"id":74,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7913,"src":"401:7:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77,"nodeType":"ImportDirective","src":"432:38:1","nodes":[],"absolutePath":"lib/forge-std/src/StdMath.sol","file":"./StdMath.sol","nameLocation":"-1:-1:-1","scope":101,"sourceUnit":8056,"symbolAliases":[{"foreign":{"id":76,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8055,"src":"440:7:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":80,"nodeType":"ImportDirective","src":"471:60:1","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":101,"sourceUnit":10051,"symbolAliases":[{"foreign":{"id":78,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8093,"src":"479:10:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":79,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"491:14:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":82,"nodeType":"ImportDirective","src":"532:40:1","nodes":[],"absolutePath":"lib/forge-std/src/StdStyle.sol","file":"./StdStyle.sol","nameLocation":"-1:-1:-1","scope":101,"sourceUnit":11262,"symbolAliases":[{"foreign":{"id":81,"name":"StdStyle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11261,"src":"540:8:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":84,"nodeType":"ImportDirective","src":"573:40:1","nodes":[],"absolutePath":"lib/forge-std/src/StdUtils.sol","file":"./StdUtils.sol","nameLocation":"-1:-1:-1","scope":101,"sourceUnit":12933,"symbolAliases":[{"foreign":{"id":83,"name":"StdUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12932,"src":"581:8:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":86,"nodeType":"ImportDirective","src":"614:32:1","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":101,"sourceUnit":18002,"symbolAliases":[{"foreign":{"id":85,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16930,"src":"622:6:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":88,"nodeType":"ImportDirective","src":"668:38:1","nodes":[],"absolutePath":"lib/forge-std/src/Base.sol","file":"./Base.sol","nameLocation":"-1:-1:-1","scope":101,"sourceUnit":60,"symbolAliases":[{"foreign":{"id":87,"name":"ScriptBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59,"src":"676:10:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":100,"nodeType":"ContractDefinition","src":"725:155:1","nodes":[{"id":99,"nodeType":"VariableDeclaration","src":"849:28:1","nodes":[],"constant":false,"functionSelector":"f8ccbf47","mutability":"mutable","name":"IS_SCRIPT","nameLocation":"861:9:1","scope":100,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":97,"name":"bool","nodeType":"ElementaryTypeName","src":"849:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":98,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"873:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"public"}],"abstract":true,"baseContracts":[{"baseName":{"id":89,"name":"ScriptBase","nameLocations":["753:10:1"],"nodeType":"IdentifierPath","referencedDeclaration":59,"src":"753:10:1"},"id":90,"nodeType":"InheritanceSpecifier","src":"753:10:1"},{"baseName":{"id":91,"name":"StdChains","nameLocations":["765:9:1"],"nodeType":"IdentifierPath","referencedDeclaration":3683,"src":"765:9:1"},"id":92,"nodeType":"InheritanceSpecifier","src":"765:9:1"},{"baseName":{"id":93,"name":"StdCheatsSafe","nameLocations":["776:13:1"],"nodeType":"IdentifierPath","referencedDeclaration":5773,"src":"776:13:1"},"id":94,"nodeType":"InheritanceSpecifier","src":"776:13:1"},{"baseName":{"id":95,"name":"StdUtils","nameLocations":["791:8:1"],"nodeType":"IdentifierPath","referencedDeclaration":12932,"src":"791:8:1"},"id":96,"nodeType":"InheritanceSpecifier","src":"791:8:1"}],"canonicalName":"Script","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[100,12932,5773,3683,59,47],"name":"Script","nameLocation":"743:6:1","scope":101,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdAssertions.sol":{"id":2,"ast":{"absolutePath":"lib/forge-std/src/StdAssertions.sol","id":2722,"exportedSymbols":{"StdAssertions":[2721],"Vm":[18001]},"nodeType":"SourceUnit","src":"32:23328:2","nodes":[{"id":102,"nodeType":"PragmaDirective","src":"32:31:2","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":103,"nodeType":"PragmaDirective","src":"64:33:2","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":105,"nodeType":"ImportDirective","src":"99:28:2","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":2722,"sourceUnit":18002,"symbolAliases":[{"foreign":{"id":104,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"107:2:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2721,"nodeType":"ContractDefinition","src":"129:23230:2","nodes":[{"id":122,"nodeType":"VariableDeclaration","src":"167:84:2","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"187:2:2","scope":2721,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":107,"nodeType":"UserDefinedTypeName","pathNode":{"id":106,"name":"Vm","nameLocations":["167:2:2"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"167:2:2"},"referencedDeclaration":18001,"src":"167:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"229:17:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":115,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"219:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"219:28:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":114,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"211:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":113,"name":"uint256","nodeType":"ElementaryTypeName","src":"211:7:2","typeDescriptions":{}}},"id":118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"211:37:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":112,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"203:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":111,"name":"uint160","nodeType":"ElementaryTypeName","src":"203:7:2","typeDescriptions":{}}},"id":119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"203:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":110,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"195:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":109,"name":"address","nodeType":"ElementaryTypeName","src":"195:7:2","typeDescriptions":{}}},"id":120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"195:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":108,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"192:2:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"192:59:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"private"},{"id":126,"nodeType":"EventDefinition","src":"258:18:2","nodes":[],"anonymous":false,"eventSelector":"41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","name":"log","nameLocation":"264:3:2","parameters":{"id":125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":124,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":126,"src":"268:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":123,"name":"string","nodeType":"ElementaryTypeName","src":"268:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"267:8:2"}},{"id":130,"nodeType":"EventDefinition","src":"281:18:2","nodes":[],"anonymous":false,"eventSelector":"e7950ede0394b9f2ce4a5a1bf5a7e1852411f7e6661b4308c913c4bfd11027e4","name":"logs","nameLocation":"287:4:2","parameters":{"id":129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":128,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":130,"src":"292:5:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":127,"name":"bytes","nodeType":"ElementaryTypeName","src":"292:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"291:7:2"}},{"id":134,"nodeType":"EventDefinition","src":"305:27:2","nodes":[],"anonymous":false,"eventSelector":"7ae74c527414ae135fd97047b12921a5ec3911b804197855d67e25c7b75ee6f3","name":"log_address","nameLocation":"311:11:2","parameters":{"id":133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":132,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":134,"src":"323:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":131,"name":"address","nodeType":"ElementaryTypeName","src":"323:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"322:9:2"}},{"id":138,"nodeType":"EventDefinition","src":"337:27:2","nodes":[],"anonymous":false,"eventSelector":"e81699b85113eea1c73e10588b2b035e55893369632173afd43feb192fac64e3","name":"log_bytes32","nameLocation":"343:11:2","parameters":{"id":137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":136,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":138,"src":"355:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":135,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"354:9:2"}},{"id":142,"nodeType":"EventDefinition","src":"369:22:2","nodes":[],"anonymous":false,"eventSelector":"0eb5d52624c8d28ada9fc55a8c502ed5aa3fbe2fb6e91b71b5f376882b1d2fb8","name":"log_int","nameLocation":"375:7:2","parameters":{"id":141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":140,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":142,"src":"383:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":139,"name":"int256","nodeType":"ElementaryTypeName","src":"383:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"382:8:2"}},{"id":146,"nodeType":"EventDefinition","src":"396:24:2","nodes":[],"anonymous":false,"eventSelector":"2cab9790510fd8bdfbd2115288db33fec66691d476efc5427cfd4c0969301755","name":"log_uint","nameLocation":"402:8:2","parameters":{"id":145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":144,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":146,"src":"411:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":143,"name":"uint256","nodeType":"ElementaryTypeName","src":"411:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"410:9:2"}},{"id":150,"nodeType":"EventDefinition","src":"425:23:2","nodes":[],"anonymous":false,"eventSelector":"23b62ad0584d24a75f0bf3560391ef5659ec6db1269c56e11aa241d637f19b20","name":"log_bytes","nameLocation":"431:9:2","parameters":{"id":149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":148,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":150,"src":"441:5:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":147,"name":"bytes","nodeType":"ElementaryTypeName","src":"441:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"440:7:2"}},{"id":154,"nodeType":"EventDefinition","src":"453:25:2","nodes":[],"anonymous":false,"eventSelector":"0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b","name":"log_string","nameLocation":"459:10:2","parameters":{"id":153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":152,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":154,"src":"470:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":151,"name":"string","nodeType":"ElementaryTypeName","src":"470:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"469:8:2"}},{"id":160,"nodeType":"EventDefinition","src":"484:49:2","nodes":[],"anonymous":false,"eventSelector":"9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f","name":"log_named_address","nameLocation":"490:17:2","parameters":{"id":159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":156,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"515:3:2","nodeType":"VariableDeclaration","scope":160,"src":"508:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":155,"name":"string","nodeType":"ElementaryTypeName","src":"508:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":158,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"528:3:2","nodeType":"VariableDeclaration","scope":160,"src":"520:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":157,"name":"address","nodeType":"ElementaryTypeName","src":"520:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"507:25:2"}},{"id":166,"nodeType":"EventDefinition","src":"538:49:2","nodes":[],"anonymous":false,"eventSelector":"afb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99","name":"log_named_bytes32","nameLocation":"544:17:2","parameters":{"id":165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":162,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"569:3:2","nodeType":"VariableDeclaration","scope":166,"src":"562:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":161,"name":"string","nodeType":"ElementaryTypeName","src":"562:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":164,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"582:3:2","nodeType":"VariableDeclaration","scope":166,"src":"574:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":163,"name":"bytes32","nodeType":"ElementaryTypeName","src":"574:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"561:25:2"}},{"id":174,"nodeType":"EventDefinition","src":"592:70:2","nodes":[],"anonymous":false,"eventSelector":"5da6ce9d51151ba10c09a559ef24d520b9dac5c5b8810ae8434e4d0d86411a95","name":"log_named_decimal_int","nameLocation":"598:21:2","parameters":{"id":173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":168,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"627:3:2","nodeType":"VariableDeclaration","scope":174,"src":"620:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":167,"name":"string","nodeType":"ElementaryTypeName","src":"620:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":170,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"639:3:2","nodeType":"VariableDeclaration","scope":174,"src":"632:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":169,"name":"int256","nodeType":"ElementaryTypeName","src":"632:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":172,"indexed":false,"mutability":"mutable","name":"decimals","nameLocation":"652:8:2","nodeType":"VariableDeclaration","scope":174,"src":"644:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":171,"name":"uint256","nodeType":"ElementaryTypeName","src":"644:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"619:42:2"}},{"id":182,"nodeType":"EventDefinition","src":"667:72:2","nodes":[],"anonymous":false,"eventSelector":"eb8ba43ced7537421946bd43e828b8b2b8428927aa8f801c13d934bf11aca57b","name":"log_named_decimal_uint","nameLocation":"673:22:2","parameters":{"id":181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"703:3:2","nodeType":"VariableDeclaration","scope":182,"src":"696:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":175,"name":"string","nodeType":"ElementaryTypeName","src":"696:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":178,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"716:3:2","nodeType":"VariableDeclaration","scope":182,"src":"708:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":177,"name":"uint256","nodeType":"ElementaryTypeName","src":"708:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":180,"indexed":false,"mutability":"mutable","name":"decimals","nameLocation":"729:8:2","nodeType":"VariableDeclaration","scope":182,"src":"721:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":179,"name":"uint256","nodeType":"ElementaryTypeName","src":"721:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"695:43:2"}},{"id":188,"nodeType":"EventDefinition","src":"744:44:2","nodes":[],"anonymous":false,"eventSelector":"2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168","name":"log_named_int","nameLocation":"750:13:2","parameters":{"id":187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":184,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"771:3:2","nodeType":"VariableDeclaration","scope":188,"src":"764:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":183,"name":"string","nodeType":"ElementaryTypeName","src":"764:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":186,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"783:3:2","nodeType":"VariableDeclaration","scope":188,"src":"776:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":185,"name":"int256","nodeType":"ElementaryTypeName","src":"776:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"763:24:2"}},{"id":194,"nodeType":"EventDefinition","src":"793:46:2","nodes":[],"anonymous":false,"eventSelector":"b2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8","name":"log_named_uint","nameLocation":"799:14:2","parameters":{"id":193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":190,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"821:3:2","nodeType":"VariableDeclaration","scope":194,"src":"814:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":189,"name":"string","nodeType":"ElementaryTypeName","src":"814:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":192,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"834:3:2","nodeType":"VariableDeclaration","scope":194,"src":"826:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":191,"name":"uint256","nodeType":"ElementaryTypeName","src":"826:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"813:25:2"}},{"id":200,"nodeType":"EventDefinition","src":"844:45:2","nodes":[],"anonymous":false,"eventSelector":"d26e16cad4548705e4c9e2d94f98ee91c289085ee425594fd5635fa2964ccf18","name":"log_named_bytes","nameLocation":"850:15:2","parameters":{"id":199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":196,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"873:3:2","nodeType":"VariableDeclaration","scope":200,"src":"866:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":195,"name":"string","nodeType":"ElementaryTypeName","src":"866:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":198,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"884:3:2","nodeType":"VariableDeclaration","scope":200,"src":"878:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":197,"name":"bytes","nodeType":"ElementaryTypeName","src":"878:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"865:23:2"}},{"id":206,"nodeType":"EventDefinition","src":"894:47:2","nodes":[],"anonymous":false,"eventSelector":"280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583","name":"log_named_string","nameLocation":"900:16:2","parameters":{"id":205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":202,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"924:3:2","nodeType":"VariableDeclaration","scope":206,"src":"917:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":201,"name":"string","nodeType":"ElementaryTypeName","src":"917:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":204,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"936:3:2","nodeType":"VariableDeclaration","scope":206,"src":"929:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":203,"name":"string","nodeType":"ElementaryTypeName","src":"929:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"916:24:2"}},{"id":211,"nodeType":"EventDefinition","src":"947:31:2","nodes":[],"anonymous":false,"eventSelector":"fb102865d50addddf69da9b5aa1bced66c80cf869a5c8d0471a467e18ce9cab1","name":"log_array","nameLocation":"953:9:2","parameters":{"id":210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":209,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"973:3:2","nodeType":"VariableDeclaration","scope":211,"src":"963:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":207,"name":"uint256","nodeType":"ElementaryTypeName","src":"963:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":208,"nodeType":"ArrayTypeName","src":"963:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"962:15:2"}},{"id":216,"nodeType":"EventDefinition","src":"983:30:2","nodes":[],"anonymous":false,"eventSelector":"890a82679b470f2bd82816ed9b161f97d8b967f37fa3647c21d5bf39749e2dd5","name":"log_array","nameLocation":"989:9:2","parameters":{"id":215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":214,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1008:3:2","nodeType":"VariableDeclaration","scope":216,"src":"999:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":212,"name":"int256","nodeType":"ElementaryTypeName","src":"999:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":213,"nodeType":"ArrayTypeName","src":"999:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"998:14:2"}},{"id":221,"nodeType":"EventDefinition","src":"1018:31:2","nodes":[],"anonymous":false,"eventSelector":"40e1840f5769073d61bd01372d9b75baa9842d5629a0c99ff103be1178a8e9e2","name":"log_array","nameLocation":"1024:9:2","parameters":{"id":220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":219,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1044:3:2","nodeType":"VariableDeclaration","scope":221,"src":"1034:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":217,"name":"address","nodeType":"ElementaryTypeName","src":"1034:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":218,"nodeType":"ArrayTypeName","src":"1034:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1033:15:2"}},{"id":228,"nodeType":"EventDefinition","src":"1054:49:2","nodes":[],"anonymous":false,"eventSelector":"00aaa39c9ffb5f567a4534380c737075702e1f7f14107fc95328e3b56c0325fb","name":"log_named_array","nameLocation":"1060:15:2","parameters":{"id":227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":223,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1083:3:2","nodeType":"VariableDeclaration","scope":228,"src":"1076:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":222,"name":"string","nodeType":"ElementaryTypeName","src":"1076:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":226,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1098:3:2","nodeType":"VariableDeclaration","scope":228,"src":"1088:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":224,"name":"uint256","nodeType":"ElementaryTypeName","src":"1088:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":225,"nodeType":"ArrayTypeName","src":"1088:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1075:27:2"}},{"id":235,"nodeType":"EventDefinition","src":"1108:48:2","nodes":[],"anonymous":false,"eventSelector":"a73eda09662f46dde729be4611385ff34fe6c44fbbc6f7e17b042b59a3445b57","name":"log_named_array","nameLocation":"1114:15:2","parameters":{"id":234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":230,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1137:3:2","nodeType":"VariableDeclaration","scope":235,"src":"1130:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":229,"name":"string","nodeType":"ElementaryTypeName","src":"1130:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":233,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1151:3:2","nodeType":"VariableDeclaration","scope":235,"src":"1142:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":231,"name":"int256","nodeType":"ElementaryTypeName","src":"1142:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":232,"nodeType":"ArrayTypeName","src":"1142:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"1129:26:2"}},{"id":242,"nodeType":"EventDefinition","src":"1161:49:2","nodes":[],"anonymous":false,"eventSelector":"3bcfb2ae2e8d132dd1fce7cf278a9a19756a9fceabe470df3bdabb4bc577d1bd","name":"log_named_array","nameLocation":"1167:15:2","parameters":{"id":241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":237,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1190:3:2","nodeType":"VariableDeclaration","scope":242,"src":"1183:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":236,"name":"string","nodeType":"ElementaryTypeName","src":"1183:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":240,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1205:3:2","nodeType":"VariableDeclaration","scope":242,"src":"1195:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":238,"name":"address","nodeType":"ElementaryTypeName","src":"1195:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":239,"nodeType":"ArrayTypeName","src":"1195:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1182:27:2"}},{"id":244,"nodeType":"VariableDeclaration","src":"1216:20:2","nodes":[],"constant":false,"mutability":"mutable","name":"_failed","nameLocation":"1229:7:2","scope":2721,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":243,"name":"bool","nodeType":"ElementaryTypeName","src":"1216:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":273,"nodeType":"FunctionDefinition","src":"1243:204:2","nodes":[],"body":{"id":272,"nodeType":"Block","src":"1288:159:2","nodes":[],"statements":[{"condition":{"id":249,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":244,"src":"1302:7:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":270,"nodeType":"Block","src":"1356:85:2","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":257,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"1393:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}],"id":256,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1385:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":255,"name":"address","nodeType":"ElementaryTypeName","src":"1385:7:2","typeDescriptions":{}}},"id":258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1385:11:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"6661696c6564","id":261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1406:8:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""},"value":"failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""}],"id":260,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1398:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":259,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1398:7:2","typeDescriptions":{}}},"id":262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1398:17:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":253,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"1377:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1380:4:2","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":13945,"src":"1377:7:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1377:39:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1428:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":265,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1420:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":264,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1420:7:2","typeDescriptions":{}}},"id":267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1420:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1377:53:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":248,"id":269,"nodeType":"Return","src":"1370:60:2"}]},"id":271,"nodeType":"IfStatement","src":"1298:143:2","trueBody":{"id":252,"nodeType":"Block","src":"1311:39:2","statements":[{"expression":{"id":250,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":244,"src":"1332:7:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":248,"id":251,"nodeType":"Return","src":"1325:14:2"}]}}]},"functionSelector":"ba414fa6","implemented":true,"kind":"function","modifiers":[],"name":"failed","nameLocation":"1252:6:2","parameters":{"id":245,"nodeType":"ParameterList","parameters":[],"src":"1258:2:2"},"returnParameters":{"id":248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":247,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":273,"src":"1282:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":246,"name":"bool","nodeType":"ElementaryTypeName","src":"1282:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1281:6:2"},"scope":2721,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":301,"nodeType":"FunctionDefinition","src":"1453:135:2","nodes":[],"body":{"id":300,"nodeType":"Block","src":"1486:102:2","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":281,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"1513:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}],"id":280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1505:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":279,"name":"address","nodeType":"ElementaryTypeName","src":"1505:7:2","typeDescriptions":{}}},"id":282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1505:11:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"6661696c6564","id":285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1526:8:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""},"value":"failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""}],"id":284,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1518:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":283,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1518:7:2","typeDescriptions":{}}},"id":286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1518:17:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"hexValue":"31","id":291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1553:1:2","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":290,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1545:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":289,"name":"uint256","nodeType":"ElementaryTypeName","src":"1545:7:2","typeDescriptions":{}}},"id":292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1545:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":288,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1537:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":287,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1537:7:2","typeDescriptions":{}}},"id":293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1537:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":276,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"1496:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1499:5:2","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":17564,"src":"1496:8:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1496:61:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":295,"nodeType":"ExpressionStatement","src":"1496:61:2"},{"expression":{"id":298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":296,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":244,"src":"1567:7:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1577:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"1567:14:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":299,"nodeType":"ExpressionStatement","src":"1567:14:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"fail","nameLocation":"1462:4:2","parameters":{"id":274,"nodeType":"ParameterList","parameters":[],"src":"1466:2:2"},"returnParameters":{"id":275,"nodeType":"ParameterList","parameters":[],"src":"1486:0:2"},"scope":2721,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":313,"nodeType":"FunctionDefinition","src":"1594:89:2","nodes":[],"body":{"id":312,"nodeType":"Block","src":"1647:36:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":309,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":303,"src":"1671:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":306,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"1657:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1660:10:2","memberName":"assertTrue","nodeType":"MemberAccess","referencedDeclaration":16365,"src":"1657:13:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1657:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":311,"nodeType":"ExpressionStatement","src":"1657:19:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"1603:10:2","parameters":{"id":304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":303,"mutability":"mutable","name":"data","nameLocation":"1619:4:2","nodeType":"VariableDeclaration","scope":313,"src":"1614:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":302,"name":"bool","nodeType":"ElementaryTypeName","src":"1614:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1613:11:2"},"returnParameters":{"id":305,"nodeType":"ParameterList","parameters":[],"src":"1647:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":328,"nodeType":"FunctionDefinition","src":"1689:113:2","nodes":[],"body":{"id":327,"nodeType":"Block","src":"1761:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":323,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"1785:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":324,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":317,"src":"1791:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":320,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"1771:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1774:10:2","memberName":"assertTrue","nodeType":"MemberAccess","referencedDeclaration":16373,"src":"1771:13:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure external"}},"id":325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1771:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":326,"nodeType":"ExpressionStatement","src":"1771:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"1698:10:2","parameters":{"id":318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":315,"mutability":"mutable","name":"data","nameLocation":"1714:4:2","nodeType":"VariableDeclaration","scope":328,"src":"1709:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":314,"name":"bool","nodeType":"ElementaryTypeName","src":"1709:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":317,"mutability":"mutable","name":"err","nameLocation":"1734:3:2","nodeType":"VariableDeclaration","scope":328,"src":"1720:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":316,"name":"string","nodeType":"ElementaryTypeName","src":"1720:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1708:30:2"},"returnParameters":{"id":319,"nodeType":"ParameterList","parameters":[],"src":"1761:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":340,"nodeType":"FunctionDefinition","src":"1808:91:2","nodes":[],"body":{"id":339,"nodeType":"Block","src":"1862:37:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":336,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":330,"src":"1887:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":333,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"1872:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1875:11:2","memberName":"assertFalse","nodeType":"MemberAccess","referencedDeclaration":15707,"src":"1872:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1872:20:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":338,"nodeType":"ExpressionStatement","src":"1872:20:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"1817:11:2","parameters":{"id":331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":330,"mutability":"mutable","name":"data","nameLocation":"1834:4:2","nodeType":"VariableDeclaration","scope":340,"src":"1829:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":329,"name":"bool","nodeType":"ElementaryTypeName","src":"1829:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1828:11:2"},"returnParameters":{"id":332,"nodeType":"ParameterList","parameters":[],"src":"1862:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":355,"nodeType":"FunctionDefinition","src":"1905:115:2","nodes":[],"body":{"id":354,"nodeType":"Block","src":"1978:42:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":350,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":342,"src":"2003:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":351,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":344,"src":"2009:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":347,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"1988:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1991:11:2","memberName":"assertFalse","nodeType":"MemberAccess","referencedDeclaration":15715,"src":"1988:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure external"}},"id":352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1988:25:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":353,"nodeType":"ExpressionStatement","src":"1988:25:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"1914:11:2","parameters":{"id":345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":342,"mutability":"mutable","name":"data","nameLocation":"1931:4:2","nodeType":"VariableDeclaration","scope":355,"src":"1926:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":341,"name":"bool","nodeType":"ElementaryTypeName","src":"1926:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":344,"mutability":"mutable","name":"err","nameLocation":"1951:3:2","nodeType":"VariableDeclaration","scope":355,"src":"1937:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":343,"name":"string","nodeType":"ElementaryTypeName","src":"1937:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1925:30:2"},"returnParameters":{"id":346,"nodeType":"ParameterList","parameters":[],"src":"1978:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":370,"nodeType":"FunctionDefinition","src":"2026:104:2","nodes":[],"body":{"id":369,"nodeType":"Block","src":"2089:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":365,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"2111:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":366,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":359,"src":"2117:5:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":362,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"2099:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2102:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15429,"src":"2099:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure external"}},"id":367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2099:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":368,"nodeType":"ExpressionStatement","src":"2099:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2035:8:2","parameters":{"id":360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":357,"mutability":"mutable","name":"left","nameLocation":"2049:4:2","nodeType":"VariableDeclaration","scope":370,"src":"2044:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":356,"name":"bool","nodeType":"ElementaryTypeName","src":"2044:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":359,"mutability":"mutable","name":"right","nameLocation":"2060:5:2","nodeType":"VariableDeclaration","scope":370,"src":"2055:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":358,"name":"bool","nodeType":"ElementaryTypeName","src":"2055:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2043:23:2"},"returnParameters":{"id":361,"nodeType":"ParameterList","parameters":[],"src":"2089:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":388,"nodeType":"FunctionDefinition","src":"2136:128:2","nodes":[],"body":{"id":387,"nodeType":"Block","src":"2218:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":382,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":372,"src":"2240:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":383,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":374,"src":"2246:5:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":384,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":376,"src":"2253:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":379,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"2228:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2231:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15439,"src":"2228:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure external"}},"id":385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2228:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":386,"nodeType":"ExpressionStatement","src":"2228:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2145:8:2","parameters":{"id":377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":372,"mutability":"mutable","name":"left","nameLocation":"2159:4:2","nodeType":"VariableDeclaration","scope":388,"src":"2154:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":371,"name":"bool","nodeType":"ElementaryTypeName","src":"2154:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":374,"mutability":"mutable","name":"right","nameLocation":"2170:5:2","nodeType":"VariableDeclaration","scope":388,"src":"2165:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":373,"name":"bool","nodeType":"ElementaryTypeName","src":"2165:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":376,"mutability":"mutable","name":"err","nameLocation":"2191:3:2","nodeType":"VariableDeclaration","scope":388,"src":"2177:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":375,"name":"string","nodeType":"ElementaryTypeName","src":"2177:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2153:42:2"},"returnParameters":{"id":378,"nodeType":"ParameterList","parameters":[],"src":"2218:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":403,"nodeType":"FunctionDefinition","src":"2270:110:2","nodes":[],"body":{"id":402,"nodeType":"Block","src":"2339:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":398,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":390,"src":"2361:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":399,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":392,"src":"2367:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":395,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"2349:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2352:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15549,"src":"2349:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2349:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":401,"nodeType":"ExpressionStatement","src":"2349:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2279:8:2","parameters":{"id":393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":390,"mutability":"mutable","name":"left","nameLocation":"2296:4:2","nodeType":"VariableDeclaration","scope":403,"src":"2288:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":389,"name":"uint256","nodeType":"ElementaryTypeName","src":"2288:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":392,"mutability":"mutable","name":"right","nameLocation":"2310:5:2","nodeType":"VariableDeclaration","scope":403,"src":"2302:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":391,"name":"uint256","nodeType":"ElementaryTypeName","src":"2302:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2287:29:2"},"returnParameters":{"id":394,"nodeType":"ParameterList","parameters":[],"src":"2339:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":421,"nodeType":"FunctionDefinition","src":"2386:134:2","nodes":[],"body":{"id":420,"nodeType":"Block","src":"2474:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":415,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":405,"src":"2496:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":416,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":407,"src":"2502:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":417,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":409,"src":"2509:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":412,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"2484:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2487:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15647,"src":"2484:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2484:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":419,"nodeType":"ExpressionStatement","src":"2484:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2395:8:2","parameters":{"id":410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":405,"mutability":"mutable","name":"left","nameLocation":"2412:4:2","nodeType":"VariableDeclaration","scope":421,"src":"2404:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":404,"name":"uint256","nodeType":"ElementaryTypeName","src":"2404:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":407,"mutability":"mutable","name":"right","nameLocation":"2426:5:2","nodeType":"VariableDeclaration","scope":421,"src":"2418:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":406,"name":"uint256","nodeType":"ElementaryTypeName","src":"2418:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":409,"mutability":"mutable","name":"err","nameLocation":"2447:3:2","nodeType":"VariableDeclaration","scope":421,"src":"2433:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":408,"name":"string","nodeType":"ElementaryTypeName","src":"2433:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2403:48:2"},"returnParameters":{"id":411,"nodeType":"ParameterList","parameters":[],"src":"2474:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":439,"nodeType":"FunctionDefinition","src":"2526:152:2","nodes":[],"body":{"id":438,"nodeType":"Block","src":"2620:58:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":433,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":423,"src":"2649:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":434,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":425,"src":"2655:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":435,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":427,"src":"2662:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":430,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"2630:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2633:15:2","memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":15387,"src":"2630:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2630:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":437,"nodeType":"ExpressionStatement","src":"2630:41:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"2535:15:2","parameters":{"id":428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":423,"mutability":"mutable","name":"left","nameLocation":"2559:4:2","nodeType":"VariableDeclaration","scope":439,"src":"2551:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":422,"name":"uint256","nodeType":"ElementaryTypeName","src":"2551:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":425,"mutability":"mutable","name":"right","nameLocation":"2573:5:2","nodeType":"VariableDeclaration","scope":439,"src":"2565:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":424,"name":"uint256","nodeType":"ElementaryTypeName","src":"2565:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":427,"mutability":"mutable","name":"decimals","nameLocation":"2588:8:2","nodeType":"VariableDeclaration","scope":439,"src":"2580:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":426,"name":"uint256","nodeType":"ElementaryTypeName","src":"2580:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2550:47:2"},"returnParameters":{"id":429,"nodeType":"ParameterList","parameters":[],"src":"2620:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":460,"nodeType":"FunctionDefinition","src":"2684:176:2","nodes":[],"body":{"id":459,"nodeType":"Block","src":"2797:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":453,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":441,"src":"2826:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":454,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":443,"src":"2832:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":455,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":445,"src":"2839:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":456,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":447,"src":"2849:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":450,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"2807:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2810:15:2","memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":15399,"src":"2807:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,string memory) pure external"}},"id":457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2807:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":458,"nodeType":"ExpressionStatement","src":"2807:46:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"2693:15:2","parameters":{"id":448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":441,"mutability":"mutable","name":"left","nameLocation":"2717:4:2","nodeType":"VariableDeclaration","scope":460,"src":"2709:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":440,"name":"uint256","nodeType":"ElementaryTypeName","src":"2709:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":443,"mutability":"mutable","name":"right","nameLocation":"2731:5:2","nodeType":"VariableDeclaration","scope":460,"src":"2723:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":442,"name":"uint256","nodeType":"ElementaryTypeName","src":"2723:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":445,"mutability":"mutable","name":"decimals","nameLocation":"2746:8:2","nodeType":"VariableDeclaration","scope":460,"src":"2738:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":444,"name":"uint256","nodeType":"ElementaryTypeName","src":"2738:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":447,"mutability":"mutable","name":"err","nameLocation":"2770:3:2","nodeType":"VariableDeclaration","scope":460,"src":"2756:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":446,"name":"string","nodeType":"ElementaryTypeName","src":"2756:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2708:66:2"},"returnParameters":{"id":449,"nodeType":"ParameterList","parameters":[],"src":"2797:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":475,"nodeType":"FunctionDefinition","src":"2866:108:2","nodes":[],"body":{"id":474,"nodeType":"Block","src":"2933:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":470,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":462,"src":"2955:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":471,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":464,"src":"2961:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":467,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"2943:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2946:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15655,"src":"2943:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2943:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":473,"nodeType":"ExpressionStatement","src":"2943:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2875:8:2","parameters":{"id":465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":462,"mutability":"mutable","name":"left","nameLocation":"2891:4:2","nodeType":"VariableDeclaration","scope":475,"src":"2884:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":461,"name":"int256","nodeType":"ElementaryTypeName","src":"2884:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":464,"mutability":"mutable","name":"right","nameLocation":"2904:5:2","nodeType":"VariableDeclaration","scope":475,"src":"2897:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":463,"name":"int256","nodeType":"ElementaryTypeName","src":"2897:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2883:27:2"},"returnParameters":{"id":466,"nodeType":"ParameterList","parameters":[],"src":"2933:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":493,"nodeType":"FunctionDefinition","src":"2980:132:2","nodes":[],"body":{"id":492,"nodeType":"Block","src":"3066:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":487,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":477,"src":"3088:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":488,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":479,"src":"3094:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":489,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":481,"src":"3101:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":484,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"3076:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3079:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15665,"src":"3076:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3076:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":491,"nodeType":"ExpressionStatement","src":"3076:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2989:8:2","parameters":{"id":482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":477,"mutability":"mutable","name":"left","nameLocation":"3005:4:2","nodeType":"VariableDeclaration","scope":493,"src":"2998:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":476,"name":"int256","nodeType":"ElementaryTypeName","src":"2998:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":479,"mutability":"mutable","name":"right","nameLocation":"3018:5:2","nodeType":"VariableDeclaration","scope":493,"src":"3011:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":478,"name":"int256","nodeType":"ElementaryTypeName","src":"3011:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":481,"mutability":"mutable","name":"err","nameLocation":"3039:3:2","nodeType":"VariableDeclaration","scope":493,"src":"3025:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":480,"name":"string","nodeType":"ElementaryTypeName","src":"3025:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2997:46:2"},"returnParameters":{"id":483,"nodeType":"ParameterList","parameters":[],"src":"3066:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":511,"nodeType":"FunctionDefinition","src":"3118:150:2","nodes":[],"body":{"id":510,"nodeType":"Block","src":"3210:58:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":505,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":495,"src":"3239:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":506,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":497,"src":"3245:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":507,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":499,"src":"3252:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":502,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"3220:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3223:15:2","memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":15409,"src":"3220:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3220:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":509,"nodeType":"ExpressionStatement","src":"3220:41:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"3127:15:2","parameters":{"id":500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":495,"mutability":"mutable","name":"left","nameLocation":"3150:4:2","nodeType":"VariableDeclaration","scope":511,"src":"3143:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":494,"name":"int256","nodeType":"ElementaryTypeName","src":"3143:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":497,"mutability":"mutable","name":"right","nameLocation":"3163:5:2","nodeType":"VariableDeclaration","scope":511,"src":"3156:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":496,"name":"int256","nodeType":"ElementaryTypeName","src":"3156:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":499,"mutability":"mutable","name":"decimals","nameLocation":"3178:8:2","nodeType":"VariableDeclaration","scope":511,"src":"3170:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":498,"name":"uint256","nodeType":"ElementaryTypeName","src":"3170:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3142:45:2"},"returnParameters":{"id":501,"nodeType":"ParameterList","parameters":[],"src":"3210:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":532,"nodeType":"FunctionDefinition","src":"3274:174:2","nodes":[],"body":{"id":531,"nodeType":"Block","src":"3385:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":525,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":513,"src":"3414:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":526,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":515,"src":"3420:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":527,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":517,"src":"3427:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":528,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":519,"src":"3437:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":522,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"3395:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3398:15:2","memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":15421,"src":"3395:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,string memory) pure external"}},"id":529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3395:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":530,"nodeType":"ExpressionStatement","src":"3395:46:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"3283:15:2","parameters":{"id":520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":513,"mutability":"mutable","name":"left","nameLocation":"3306:4:2","nodeType":"VariableDeclaration","scope":532,"src":"3299:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":512,"name":"int256","nodeType":"ElementaryTypeName","src":"3299:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":515,"mutability":"mutable","name":"right","nameLocation":"3319:5:2","nodeType":"VariableDeclaration","scope":532,"src":"3312:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":514,"name":"int256","nodeType":"ElementaryTypeName","src":"3312:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":517,"mutability":"mutable","name":"decimals","nameLocation":"3334:8:2","nodeType":"VariableDeclaration","scope":532,"src":"3326:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":516,"name":"uint256","nodeType":"ElementaryTypeName","src":"3326:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":519,"mutability":"mutable","name":"err","nameLocation":"3358:3:2","nodeType":"VariableDeclaration","scope":532,"src":"3344:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":518,"name":"string","nodeType":"ElementaryTypeName","src":"3344:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3298:64:2"},"returnParameters":{"id":521,"nodeType":"ParameterList","parameters":[],"src":"3385:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":547,"nodeType":"FunctionDefinition","src":"3454:110:2","nodes":[],"body":{"id":546,"nodeType":"Block","src":"3523:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":542,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":534,"src":"3545:4:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":543,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":536,"src":"3551:5:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":539,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"3533:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3536:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15673,"src":"3533:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure external"}},"id":544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3533:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":545,"nodeType":"ExpressionStatement","src":"3533:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3463:8:2","parameters":{"id":537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":534,"mutability":"mutable","name":"left","nameLocation":"3480:4:2","nodeType":"VariableDeclaration","scope":547,"src":"3472:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":533,"name":"address","nodeType":"ElementaryTypeName","src":"3472:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":536,"mutability":"mutable","name":"right","nameLocation":"3494:5:2","nodeType":"VariableDeclaration","scope":547,"src":"3486:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":535,"name":"address","nodeType":"ElementaryTypeName","src":"3486:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3471:29:2"},"returnParameters":{"id":538,"nodeType":"ParameterList","parameters":[],"src":"3523:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":565,"nodeType":"FunctionDefinition","src":"3570:134:2","nodes":[],"body":{"id":564,"nodeType":"Block","src":"3658:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":559,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":549,"src":"3680:4:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":560,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":551,"src":"3686:5:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":561,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":553,"src":"3693:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":556,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"3668:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3671:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15683,"src":"3668:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,address,string memory) pure external"}},"id":562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3668:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":563,"nodeType":"ExpressionStatement","src":"3668:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3579:8:2","parameters":{"id":554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":549,"mutability":"mutable","name":"left","nameLocation":"3596:4:2","nodeType":"VariableDeclaration","scope":565,"src":"3588:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":548,"name":"address","nodeType":"ElementaryTypeName","src":"3588:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":551,"mutability":"mutable","name":"right","nameLocation":"3610:5:2","nodeType":"VariableDeclaration","scope":565,"src":"3602:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":550,"name":"address","nodeType":"ElementaryTypeName","src":"3602:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":553,"mutability":"mutable","name":"err","nameLocation":"3631:3:2","nodeType":"VariableDeclaration","scope":565,"src":"3617:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":552,"name":"string","nodeType":"ElementaryTypeName","src":"3617:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3587:48:2"},"returnParameters":{"id":555,"nodeType":"ParameterList","parameters":[],"src":"3658:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":580,"nodeType":"FunctionDefinition","src":"3710:110:2","nodes":[],"body":{"id":579,"nodeType":"Block","src":"3779:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":575,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":567,"src":"3801:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":576,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":569,"src":"3807:5:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":572,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"3789:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3792:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15691,"src":"3789:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure external"}},"id":577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3789:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":578,"nodeType":"ExpressionStatement","src":"3789:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3719:8:2","parameters":{"id":570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":567,"mutability":"mutable","name":"left","nameLocation":"3736:4:2","nodeType":"VariableDeclaration","scope":580,"src":"3728:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":566,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3728:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":569,"mutability":"mutable","name":"right","nameLocation":"3750:5:2","nodeType":"VariableDeclaration","scope":580,"src":"3742:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":568,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3742:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3727:29:2"},"returnParameters":{"id":571,"nodeType":"ParameterList","parameters":[],"src":"3779:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":598,"nodeType":"FunctionDefinition","src":"3826:134:2","nodes":[],"body":{"id":597,"nodeType":"Block","src":"3914:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":592,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":582,"src":"3936:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":593,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":584,"src":"3942:5:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":594,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":586,"src":"3949:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":589,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"3924:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3927:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15701,"src":"3924:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure external"}},"id":595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3924:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":596,"nodeType":"ExpressionStatement","src":"3924:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3835:8:2","parameters":{"id":587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":582,"mutability":"mutable","name":"left","nameLocation":"3852:4:2","nodeType":"VariableDeclaration","scope":598,"src":"3844:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":581,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3844:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":584,"mutability":"mutable","name":"right","nameLocation":"3866:5:2","nodeType":"VariableDeclaration","scope":598,"src":"3858:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":583,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3858:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":586,"mutability":"mutable","name":"err","nameLocation":"3887:3:2","nodeType":"VariableDeclaration","scope":598,"src":"3873:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":585,"name":"string","nodeType":"ElementaryTypeName","src":"3873:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3843:48:2"},"returnParameters":{"id":588,"nodeType":"ParameterList","parameters":[],"src":"3914:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":611,"nodeType":"FunctionDefinition","src":"3966:109:2","nodes":[],"body":{"id":610,"nodeType":"Block","src":"4037:38:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":606,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":600,"src":"4056:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":607,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":602,"src":"4062:5:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":605,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":580,"src":"4047:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4047:21:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":609,"nodeType":"ExpressionStatement","src":"4047:21:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq32","nameLocation":"3975:10:2","parameters":{"id":603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":600,"mutability":"mutable","name":"left","nameLocation":"3994:4:2","nodeType":"VariableDeclaration","scope":611,"src":"3986:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":599,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3986:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":602,"mutability":"mutable","name":"right","nameLocation":"4008:5:2","nodeType":"VariableDeclaration","scope":611,"src":"4000:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":601,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4000:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3985:29:2"},"returnParameters":{"id":604,"nodeType":"ParameterList","parameters":[],"src":"4037:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":627,"nodeType":"FunctionDefinition","src":"4081:133:2","nodes":[],"body":{"id":626,"nodeType":"Block","src":"4171:43:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":621,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":613,"src":"4190:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":622,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":615,"src":"4196:5:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":623,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":617,"src":"4203:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":620,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":598,"src":"4181:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure"}},"id":624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4181:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":625,"nodeType":"ExpressionStatement","src":"4181:26:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq32","nameLocation":"4090:10:2","parameters":{"id":618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":613,"mutability":"mutable","name":"left","nameLocation":"4109:4:2","nodeType":"VariableDeclaration","scope":627,"src":"4101:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":612,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4101:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":615,"mutability":"mutable","name":"right","nameLocation":"4123:5:2","nodeType":"VariableDeclaration","scope":627,"src":"4115:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":614,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4115:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":617,"mutability":"mutable","name":"err","nameLocation":"4144:3:2","nodeType":"VariableDeclaration","scope":627,"src":"4130:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":616,"name":"string","nodeType":"ElementaryTypeName","src":"4130:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4100:48:2"},"returnParameters":{"id":619,"nodeType":"ParameterList","parameters":[],"src":"4171:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":642,"nodeType":"FunctionDefinition","src":"4220:122:2","nodes":[],"body":{"id":641,"nodeType":"Block","src":"4301:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":637,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":629,"src":"4323:4:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":638,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":631,"src":"4329:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":634,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"4311:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4314:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15447,"src":"4311:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure external"}},"id":639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4311:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":640,"nodeType":"ExpressionStatement","src":"4311:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4229:8:2","parameters":{"id":632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":629,"mutability":"mutable","name":"left","nameLocation":"4252:4:2","nodeType":"VariableDeclaration","scope":642,"src":"4238:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":628,"name":"string","nodeType":"ElementaryTypeName","src":"4238:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":631,"mutability":"mutable","name":"right","nameLocation":"4272:5:2","nodeType":"VariableDeclaration","scope":642,"src":"4258:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":630,"name":"string","nodeType":"ElementaryTypeName","src":"4258:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4237:41:2"},"returnParameters":{"id":633,"nodeType":"ParameterList","parameters":[],"src":"4301:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":660,"nodeType":"FunctionDefinition","src":"4348:146:2","nodes":[],"body":{"id":659,"nodeType":"Block","src":"4448:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":654,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":644,"src":"4470:4:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":655,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":646,"src":"4476:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":656,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":648,"src":"4483:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":651,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"4458:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4461:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15457,"src":"4458:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory,string memory) pure external"}},"id":657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4458:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":658,"nodeType":"ExpressionStatement","src":"4458:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4357:8:2","parameters":{"id":649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":644,"mutability":"mutable","name":"left","nameLocation":"4380:4:2","nodeType":"VariableDeclaration","scope":660,"src":"4366:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":643,"name":"string","nodeType":"ElementaryTypeName","src":"4366:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":646,"mutability":"mutable","name":"right","nameLocation":"4400:5:2","nodeType":"VariableDeclaration","scope":660,"src":"4386:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":645,"name":"string","nodeType":"ElementaryTypeName","src":"4386:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":648,"mutability":"mutable","name":"err","nameLocation":"4421:3:2","nodeType":"VariableDeclaration","scope":660,"src":"4407:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":647,"name":"string","nodeType":"ElementaryTypeName","src":"4407:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4365:60:2"},"returnParameters":{"id":650,"nodeType":"ParameterList","parameters":[],"src":"4448:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":675,"nodeType":"FunctionDefinition","src":"4500:120:2","nodes":[],"body":{"id":674,"nodeType":"Block","src":"4579:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":670,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":662,"src":"4601:4:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":671,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":664,"src":"4607:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":667,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"4589:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4592:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15465,"src":"4589:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory) pure external"}},"id":672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4589:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":673,"nodeType":"ExpressionStatement","src":"4589:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4509:8:2","parameters":{"id":665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":662,"mutability":"mutable","name":"left","nameLocation":"4531:4:2","nodeType":"VariableDeclaration","scope":675,"src":"4518:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":661,"name":"bytes","nodeType":"ElementaryTypeName","src":"4518:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":664,"mutability":"mutable","name":"right","nameLocation":"4550:5:2","nodeType":"VariableDeclaration","scope":675,"src":"4537:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":663,"name":"bytes","nodeType":"ElementaryTypeName","src":"4537:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4517:39:2"},"returnParameters":{"id":666,"nodeType":"ParameterList","parameters":[],"src":"4579:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":693,"nodeType":"FunctionDefinition","src":"4626:144:2","nodes":[],"body":{"id":692,"nodeType":"Block","src":"4724:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":687,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":677,"src":"4746:4:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":688,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":679,"src":"4752:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":689,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":681,"src":"4759:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":684,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"4734:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4737:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15475,"src":"4734:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory,string memory) pure external"}},"id":690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4734:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":691,"nodeType":"ExpressionStatement","src":"4734:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4635:8:2","parameters":{"id":682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":677,"mutability":"mutable","name":"left","nameLocation":"4657:4:2","nodeType":"VariableDeclaration","scope":693,"src":"4644:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":676,"name":"bytes","nodeType":"ElementaryTypeName","src":"4644:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":679,"mutability":"mutable","name":"right","nameLocation":"4676:5:2","nodeType":"VariableDeclaration","scope":693,"src":"4663:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":678,"name":"bytes","nodeType":"ElementaryTypeName","src":"4663:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":681,"mutability":"mutable","name":"err","nameLocation":"4697:3:2","nodeType":"VariableDeclaration","scope":693,"src":"4683:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":680,"name":"string","nodeType":"ElementaryTypeName","src":"4683:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4643:58:2"},"returnParameters":{"id":683,"nodeType":"ParameterList","parameters":[],"src":"4724:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":710,"nodeType":"FunctionDefinition","src":"4776:122:2","nodes":[],"body":{"id":709,"nodeType":"Block","src":"4857:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":705,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":696,"src":"4879:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":706,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":699,"src":"4885:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"},{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}],"expression":{"id":702,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"4867:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4870:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15485,"src":"4867:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bool_$dyn_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$returns$__$","typeString":"function (bool[] memory,bool[] memory) pure external"}},"id":707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4867:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":708,"nodeType":"ExpressionStatement","src":"4867:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4785:8:2","parameters":{"id":700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":696,"mutability":"mutable","name":"left","nameLocation":"4808:4:2","nodeType":"VariableDeclaration","scope":710,"src":"4794:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":694,"name":"bool","nodeType":"ElementaryTypeName","src":"4794:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":695,"nodeType":"ArrayTypeName","src":"4794:6:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":699,"mutability":"mutable","name":"right","nameLocation":"4828:5:2","nodeType":"VariableDeclaration","scope":710,"src":"4814:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":697,"name":"bool","nodeType":"ElementaryTypeName","src":"4814:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":698,"nodeType":"ArrayTypeName","src":"4814:6:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"4793:41:2"},"returnParameters":{"id":701,"nodeType":"ParameterList","parameters":[],"src":"4857:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":730,"nodeType":"FunctionDefinition","src":"4904:146:2","nodes":[],"body":{"id":729,"nodeType":"Block","src":"5004:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":724,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"5026:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":725,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"5032:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":726,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":718,"src":"5039:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"},{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":721,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"5014:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5017:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15497,"src":"5014:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bool_$dyn_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool[] memory,bool[] memory,string memory) pure external"}},"id":727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5014:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":728,"nodeType":"ExpressionStatement","src":"5014:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4913:8:2","parameters":{"id":719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":713,"mutability":"mutable","name":"left","nameLocation":"4936:4:2","nodeType":"VariableDeclaration","scope":730,"src":"4922:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":711,"name":"bool","nodeType":"ElementaryTypeName","src":"4922:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":712,"nodeType":"ArrayTypeName","src":"4922:6:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":716,"mutability":"mutable","name":"right","nameLocation":"4956:5:2","nodeType":"VariableDeclaration","scope":730,"src":"4942:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":714,"name":"bool","nodeType":"ElementaryTypeName","src":"4942:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":715,"nodeType":"ArrayTypeName","src":"4942:6:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":718,"mutability":"mutable","name":"err","nameLocation":"4977:3:2","nodeType":"VariableDeclaration","scope":730,"src":"4963:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":717,"name":"string","nodeType":"ElementaryTypeName","src":"4963:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4921:60:2"},"returnParameters":{"id":720,"nodeType":"ParameterList","parameters":[],"src":"5004:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":747,"nodeType":"FunctionDefinition","src":"5056:128:2","nodes":[],"body":{"id":746,"nodeType":"Block","src":"5143:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":742,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":733,"src":"5165:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":743,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":736,"src":"5171:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"expression":{"id":739,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"5153:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5156:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15507,"src":"5153:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256[] memory,uint256[] memory) pure external"}},"id":744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5153:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":745,"nodeType":"ExpressionStatement","src":"5153:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5065:8:2","parameters":{"id":737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":733,"mutability":"mutable","name":"left","nameLocation":"5091:4:2","nodeType":"VariableDeclaration","scope":747,"src":"5074:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":731,"name":"uint256","nodeType":"ElementaryTypeName","src":"5074:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":732,"nodeType":"ArrayTypeName","src":"5074:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":736,"mutability":"mutable","name":"right","nameLocation":"5114:5:2","nodeType":"VariableDeclaration","scope":747,"src":"5097:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":734,"name":"uint256","nodeType":"ElementaryTypeName","src":"5097:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":735,"nodeType":"ArrayTypeName","src":"5097:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"5073:47:2"},"returnParameters":{"id":738,"nodeType":"ParameterList","parameters":[],"src":"5143:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":767,"nodeType":"FunctionDefinition","src":"5190:152:2","nodes":[],"body":{"id":766,"nodeType":"Block","src":"5296:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":761,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"5318:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":762,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":753,"src":"5324:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":763,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":755,"src":"5331:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":758,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"5306:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5309:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15519,"src":"5306:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256[] memory,uint256[] memory,string memory) pure external"}},"id":764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5306:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":765,"nodeType":"ExpressionStatement","src":"5306:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5199:8:2","parameters":{"id":756,"nodeType":"ParameterList","parameters":[{"constant":false,"id":750,"mutability":"mutable","name":"left","nameLocation":"5225:4:2","nodeType":"VariableDeclaration","scope":767,"src":"5208:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":748,"name":"uint256","nodeType":"ElementaryTypeName","src":"5208:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":749,"nodeType":"ArrayTypeName","src":"5208:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":753,"mutability":"mutable","name":"right","nameLocation":"5248:5:2","nodeType":"VariableDeclaration","scope":767,"src":"5231:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":751,"name":"uint256","nodeType":"ElementaryTypeName","src":"5231:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":752,"nodeType":"ArrayTypeName","src":"5231:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":755,"mutability":"mutable","name":"err","nameLocation":"5269:3:2","nodeType":"VariableDeclaration","scope":767,"src":"5255:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":754,"name":"string","nodeType":"ElementaryTypeName","src":"5255:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5207:66:2"},"returnParameters":{"id":757,"nodeType":"ParameterList","parameters":[],"src":"5296:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":784,"nodeType":"FunctionDefinition","src":"5348:126:2","nodes":[],"body":{"id":783,"nodeType":"Block","src":"5433:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":779,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":770,"src":"5455:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":780,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":773,"src":"5461:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}],"expression":{"id":776,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"5443:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5446:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15529,"src":"5443:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_int256_$dyn_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$__$","typeString":"function (int256[] memory,int256[] memory) pure external"}},"id":781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5443:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":782,"nodeType":"ExpressionStatement","src":"5443:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5357:8:2","parameters":{"id":774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":770,"mutability":"mutable","name":"left","nameLocation":"5382:4:2","nodeType":"VariableDeclaration","scope":784,"src":"5366:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":768,"name":"int256","nodeType":"ElementaryTypeName","src":"5366:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":769,"nodeType":"ArrayTypeName","src":"5366:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":773,"mutability":"mutable","name":"right","nameLocation":"5404:5:2","nodeType":"VariableDeclaration","scope":784,"src":"5388:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":771,"name":"int256","nodeType":"ElementaryTypeName","src":"5388:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":772,"nodeType":"ArrayTypeName","src":"5388:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"5365:45:2"},"returnParameters":{"id":775,"nodeType":"ParameterList","parameters":[],"src":"5433:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":804,"nodeType":"FunctionDefinition","src":"5480:150:2","nodes":[],"body":{"id":803,"nodeType":"Block","src":"5584:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":798,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":787,"src":"5606:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":799,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":790,"src":"5612:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":800,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":792,"src":"5619:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":795,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"5594:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5597:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15541,"src":"5594:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_int256_$dyn_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256[] memory,int256[] memory,string memory) pure external"}},"id":801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5594:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":802,"nodeType":"ExpressionStatement","src":"5594:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5489:8:2","parameters":{"id":793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":787,"mutability":"mutable","name":"left","nameLocation":"5514:4:2","nodeType":"VariableDeclaration","scope":804,"src":"5498:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":785,"name":"int256","nodeType":"ElementaryTypeName","src":"5498:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":786,"nodeType":"ArrayTypeName","src":"5498:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":790,"mutability":"mutable","name":"right","nameLocation":"5536:5:2","nodeType":"VariableDeclaration","scope":804,"src":"5520:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":788,"name":"int256","nodeType":"ElementaryTypeName","src":"5520:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":789,"nodeType":"ArrayTypeName","src":"5520:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":792,"mutability":"mutable","name":"err","nameLocation":"5557:3:2","nodeType":"VariableDeclaration","scope":804,"src":"5543:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":791,"name":"string","nodeType":"ElementaryTypeName","src":"5543:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5497:64:2"},"returnParameters":{"id":794,"nodeType":"ParameterList","parameters":[],"src":"5584:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":821,"nodeType":"FunctionDefinition","src":"5636:128:2","nodes":[],"body":{"id":820,"nodeType":"Block","src":"5723:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":816,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":807,"src":"5745:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":817,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":810,"src":"5751:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":813,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"5733:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5736:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15559,"src":"5733:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory,address[] memory) pure external"}},"id":818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5733:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":819,"nodeType":"ExpressionStatement","src":"5733:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5645:8:2","parameters":{"id":811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":807,"mutability":"mutable","name":"left","nameLocation":"5671:4:2","nodeType":"VariableDeclaration","scope":821,"src":"5654:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":805,"name":"address","nodeType":"ElementaryTypeName","src":"5654:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":806,"nodeType":"ArrayTypeName","src":"5654:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":810,"mutability":"mutable","name":"right","nameLocation":"5694:5:2","nodeType":"VariableDeclaration","scope":821,"src":"5677:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":808,"name":"address","nodeType":"ElementaryTypeName","src":"5677:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":809,"nodeType":"ArrayTypeName","src":"5677:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5653:47:2"},"returnParameters":{"id":812,"nodeType":"ParameterList","parameters":[],"src":"5723:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":841,"nodeType":"FunctionDefinition","src":"5770:152:2","nodes":[],"body":{"id":840,"nodeType":"Block","src":"5876:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":835,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":824,"src":"5898:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":836,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":827,"src":"5904:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":837,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"5911:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":832,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"5886:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5889:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15571,"src":"5886:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (address[] memory,address[] memory,string memory) pure external"}},"id":838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5886:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":839,"nodeType":"ExpressionStatement","src":"5886:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5779:8:2","parameters":{"id":830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":824,"mutability":"mutable","name":"left","nameLocation":"5805:4:2","nodeType":"VariableDeclaration","scope":841,"src":"5788:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":822,"name":"address","nodeType":"ElementaryTypeName","src":"5788:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":823,"nodeType":"ArrayTypeName","src":"5788:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":827,"mutability":"mutable","name":"right","nameLocation":"5828:5:2","nodeType":"VariableDeclaration","scope":841,"src":"5811:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":825,"name":"address","nodeType":"ElementaryTypeName","src":"5811:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":826,"nodeType":"ArrayTypeName","src":"5811:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":829,"mutability":"mutable","name":"err","nameLocation":"5849:3:2","nodeType":"VariableDeclaration","scope":841,"src":"5835:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":828,"name":"string","nodeType":"ElementaryTypeName","src":"5835:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5787:66:2"},"returnParameters":{"id":831,"nodeType":"ParameterList","parameters":[],"src":"5876:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":858,"nodeType":"FunctionDefinition","src":"5928:128:2","nodes":[],"body":{"id":857,"nodeType":"Block","src":"6015:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":853,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":844,"src":"6037:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":854,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":847,"src":"6043:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":850,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"6025:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6028:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15581,"src":"6025:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$","typeString":"function (bytes32[] memory,bytes32[] memory) pure external"}},"id":855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6025:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":856,"nodeType":"ExpressionStatement","src":"6025:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5937:8:2","parameters":{"id":848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":844,"mutability":"mutable","name":"left","nameLocation":"5963:4:2","nodeType":"VariableDeclaration","scope":858,"src":"5946:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":842,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5946:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":843,"nodeType":"ArrayTypeName","src":"5946:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":847,"mutability":"mutable","name":"right","nameLocation":"5986:5:2","nodeType":"VariableDeclaration","scope":858,"src":"5969:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":845,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5969:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":846,"nodeType":"ArrayTypeName","src":"5969:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"5945:47:2"},"returnParameters":{"id":849,"nodeType":"ParameterList","parameters":[],"src":"6015:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":878,"nodeType":"FunctionDefinition","src":"6062:152:2","nodes":[],"body":{"id":877,"nodeType":"Block","src":"6168:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":872,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":861,"src":"6190:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":873,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":864,"src":"6196:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":874,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":866,"src":"6203:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":869,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"6178:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6181:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15593,"src":"6178:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32[] memory,bytes32[] memory,string memory) pure external"}},"id":875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6178:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":876,"nodeType":"ExpressionStatement","src":"6178:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6071:8:2","parameters":{"id":867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":861,"mutability":"mutable","name":"left","nameLocation":"6097:4:2","nodeType":"VariableDeclaration","scope":878,"src":"6080:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":859,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6080:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":860,"nodeType":"ArrayTypeName","src":"6080:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":864,"mutability":"mutable","name":"right","nameLocation":"6120:5:2","nodeType":"VariableDeclaration","scope":878,"src":"6103:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":862,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6103:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":863,"nodeType":"ArrayTypeName","src":"6103:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":866,"mutability":"mutable","name":"err","nameLocation":"6141:3:2","nodeType":"VariableDeclaration","scope":878,"src":"6127:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":865,"name":"string","nodeType":"ElementaryTypeName","src":"6127:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6079:66:2"},"returnParameters":{"id":868,"nodeType":"ParameterList","parameters":[],"src":"6168:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":895,"nodeType":"FunctionDefinition","src":"6220:126:2","nodes":[],"body":{"id":894,"nodeType":"Block","src":"6305:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":890,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":881,"src":"6327:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":891,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":884,"src":"6333:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":887,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"6315:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6318:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15603,"src":"6315:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (string memory[] memory,string memory[] memory) pure external"}},"id":892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6315:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":893,"nodeType":"ExpressionStatement","src":"6315:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6229:8:2","parameters":{"id":885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":881,"mutability":"mutable","name":"left","nameLocation":"6254:4:2","nodeType":"VariableDeclaration","scope":895,"src":"6238:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":879,"name":"string","nodeType":"ElementaryTypeName","src":"6238:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":880,"nodeType":"ArrayTypeName","src":"6238:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":884,"mutability":"mutable","name":"right","nameLocation":"6276:5:2","nodeType":"VariableDeclaration","scope":895,"src":"6260:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":882,"name":"string","nodeType":"ElementaryTypeName","src":"6260:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":883,"nodeType":"ArrayTypeName","src":"6260:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"6237:45:2"},"returnParameters":{"id":886,"nodeType":"ParameterList","parameters":[],"src":"6305:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":915,"nodeType":"FunctionDefinition","src":"6352:150:2","nodes":[],"body":{"id":914,"nodeType":"Block","src":"6456:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":909,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":898,"src":"6478:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":910,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":901,"src":"6484:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":911,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":903,"src":"6491:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":906,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"6466:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6469:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15615,"src":"6466:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory[] memory,string memory[] memory,string memory) pure external"}},"id":912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6466:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":913,"nodeType":"ExpressionStatement","src":"6466:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6361:8:2","parameters":{"id":904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":898,"mutability":"mutable","name":"left","nameLocation":"6386:4:2","nodeType":"VariableDeclaration","scope":915,"src":"6370:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":896,"name":"string","nodeType":"ElementaryTypeName","src":"6370:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":897,"nodeType":"ArrayTypeName","src":"6370:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":901,"mutability":"mutable","name":"right","nameLocation":"6408:5:2","nodeType":"VariableDeclaration","scope":915,"src":"6392:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":899,"name":"string","nodeType":"ElementaryTypeName","src":"6392:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":900,"nodeType":"ArrayTypeName","src":"6392:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":903,"mutability":"mutable","name":"err","nameLocation":"6429:3:2","nodeType":"VariableDeclaration","scope":915,"src":"6415:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":902,"name":"string","nodeType":"ElementaryTypeName","src":"6415:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6369:64:2"},"returnParameters":{"id":905,"nodeType":"ParameterList","parameters":[],"src":"6456:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":932,"nodeType":"FunctionDefinition","src":"6508:124:2","nodes":[],"body":{"id":931,"nodeType":"Block","src":"6591:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":927,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":918,"src":"6613:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":928,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":921,"src":"6619:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"expression":{"id":924,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"6601:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6604:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15625,"src":"6601:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (bytes memory[] memory,bytes memory[] memory) pure external"}},"id":929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6601:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":930,"nodeType":"ExpressionStatement","src":"6601:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6517:8:2","parameters":{"id":922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":918,"mutability":"mutable","name":"left","nameLocation":"6541:4:2","nodeType":"VariableDeclaration","scope":932,"src":"6526:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":916,"name":"bytes","nodeType":"ElementaryTypeName","src":"6526:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":917,"nodeType":"ArrayTypeName","src":"6526:7:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":921,"mutability":"mutable","name":"right","nameLocation":"6562:5:2","nodeType":"VariableDeclaration","scope":932,"src":"6547:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":919,"name":"bytes","nodeType":"ElementaryTypeName","src":"6547:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":920,"nodeType":"ArrayTypeName","src":"6547:7:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"6525:43:2"},"returnParameters":{"id":923,"nodeType":"ParameterList","parameters":[],"src":"6591:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":952,"nodeType":"FunctionDefinition","src":"6638:148:2","nodes":[],"body":{"id":951,"nodeType":"Block","src":"6740:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":946,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":935,"src":"6762:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":947,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":938,"src":"6768:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":948,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":940,"src":"6775:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":943,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"6750:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6753:8:2","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":15637,"src":"6750:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory[] memory,bytes memory[] memory,string memory) pure external"}},"id":949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6750:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":950,"nodeType":"ExpressionStatement","src":"6750:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6647:8:2","parameters":{"id":941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":935,"mutability":"mutable","name":"left","nameLocation":"6671:4:2","nodeType":"VariableDeclaration","scope":952,"src":"6656:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":933,"name":"bytes","nodeType":"ElementaryTypeName","src":"6656:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":934,"nodeType":"ArrayTypeName","src":"6656:7:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":938,"mutability":"mutable","name":"right","nameLocation":"6692:5:2","nodeType":"VariableDeclaration","scope":952,"src":"6677:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":936,"name":"bytes","nodeType":"ElementaryTypeName","src":"6677:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":937,"nodeType":"ArrayTypeName","src":"6677:7:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":940,"mutability":"mutable","name":"err","nameLocation":"6713:3:2","nodeType":"VariableDeclaration","scope":952,"src":"6699:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":939,"name":"string","nodeType":"ElementaryTypeName","src":"6699:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6655:62:2"},"returnParameters":{"id":942,"nodeType":"ParameterList","parameters":[],"src":"6740:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":965,"nodeType":"FunctionDefinition","src":"6813:111:2","nodes":[],"body":{"id":964,"nodeType":"Block","src":"6886:38:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":960,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":954,"src":"6905:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":961,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":956,"src":"6911:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":959,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":403,"src":"6896:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6896:21:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":963,"nodeType":"ExpressionStatement","src":"6896:21:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqUint","nameLocation":"6822:12:2","parameters":{"id":957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":954,"mutability":"mutable","name":"left","nameLocation":"6843:4:2","nodeType":"VariableDeclaration","scope":965,"src":"6835:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":953,"name":"uint256","nodeType":"ElementaryTypeName","src":"6835:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":956,"mutability":"mutable","name":"right","nameLocation":"6857:5:2","nodeType":"VariableDeclaration","scope":965,"src":"6849:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":955,"name":"uint256","nodeType":"ElementaryTypeName","src":"6849:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6834:29:2"},"returnParameters":{"id":958,"nodeType":"ParameterList","parameters":[],"src":"6886:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":980,"nodeType":"FunctionDefinition","src":"6930:110:2","nodes":[],"body":{"id":979,"nodeType":"Block","src":"6996:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":975,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":967,"src":"7021:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":976,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":969,"src":"7027:5:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":972,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"7006:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7009:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16087,"src":"7006:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure external"}},"id":977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7006:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":978,"nodeType":"ExpressionStatement","src":"7006:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"6939:11:2","parameters":{"id":970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":967,"mutability":"mutable","name":"left","nameLocation":"6956:4:2","nodeType":"VariableDeclaration","scope":980,"src":"6951:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":966,"name":"bool","nodeType":"ElementaryTypeName","src":"6951:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":969,"mutability":"mutable","name":"right","nameLocation":"6967:5:2","nodeType":"VariableDeclaration","scope":980,"src":"6962:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":968,"name":"bool","nodeType":"ElementaryTypeName","src":"6962:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6950:23:2"},"returnParameters":{"id":971,"nodeType":"ParameterList","parameters":[],"src":"6996:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":998,"nodeType":"FunctionDefinition","src":"7046:134:2","nodes":[],"body":{"id":997,"nodeType":"Block","src":"7131:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":992,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":982,"src":"7156:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":993,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":984,"src":"7162:5:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":994,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":986,"src":"7169:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":989,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"7141:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7144:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16097,"src":"7141:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure external"}},"id":995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7141:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":996,"nodeType":"ExpressionStatement","src":"7141:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7055:11:2","parameters":{"id":987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":982,"mutability":"mutable","name":"left","nameLocation":"7072:4:2","nodeType":"VariableDeclaration","scope":998,"src":"7067:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":981,"name":"bool","nodeType":"ElementaryTypeName","src":"7067:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":984,"mutability":"mutable","name":"right","nameLocation":"7083:5:2","nodeType":"VariableDeclaration","scope":998,"src":"7078:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":983,"name":"bool","nodeType":"ElementaryTypeName","src":"7078:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":986,"mutability":"mutable","name":"err","nameLocation":"7104:3:2","nodeType":"VariableDeclaration","scope":998,"src":"7090:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":985,"name":"string","nodeType":"ElementaryTypeName","src":"7090:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7066:42:2"},"returnParameters":{"id":988,"nodeType":"ParameterList","parameters":[],"src":"7131:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1013,"nodeType":"FunctionDefinition","src":"7186:116:2","nodes":[],"body":{"id":1012,"nodeType":"Block","src":"7258:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1008,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1000,"src":"7283:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1009,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1002,"src":"7289:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1005,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"7268:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7271:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16207,"src":"7268:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":1010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7268:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1011,"nodeType":"ExpressionStatement","src":"7268:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7195:11:2","parameters":{"id":1003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1000,"mutability":"mutable","name":"left","nameLocation":"7215:4:2","nodeType":"VariableDeclaration","scope":1013,"src":"7207:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":999,"name":"uint256","nodeType":"ElementaryTypeName","src":"7207:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1002,"mutability":"mutable","name":"right","nameLocation":"7229:5:2","nodeType":"VariableDeclaration","scope":1013,"src":"7221:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1001,"name":"uint256","nodeType":"ElementaryTypeName","src":"7221:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7206:29:2"},"returnParameters":{"id":1004,"nodeType":"ParameterList","parameters":[],"src":"7258:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1031,"nodeType":"FunctionDefinition","src":"7308:140:2","nodes":[],"body":{"id":1030,"nodeType":"Block","src":"7399:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1025,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1015,"src":"7424:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1026,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1017,"src":"7430:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1027,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1019,"src":"7437:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1022,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"7409:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7412:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16305,"src":"7409:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":1028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7409:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1029,"nodeType":"ExpressionStatement","src":"7409:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7317:11:2","parameters":{"id":1020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1015,"mutability":"mutable","name":"left","nameLocation":"7337:4:2","nodeType":"VariableDeclaration","scope":1031,"src":"7329:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1014,"name":"uint256","nodeType":"ElementaryTypeName","src":"7329:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1017,"mutability":"mutable","name":"right","nameLocation":"7351:5:2","nodeType":"VariableDeclaration","scope":1031,"src":"7343:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1016,"name":"uint256","nodeType":"ElementaryTypeName","src":"7343:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1019,"mutability":"mutable","name":"err","nameLocation":"7372:3:2","nodeType":"VariableDeclaration","scope":1031,"src":"7358:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1018,"name":"string","nodeType":"ElementaryTypeName","src":"7358:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7328:48:2"},"returnParameters":{"id":1021,"nodeType":"ParameterList","parameters":[],"src":"7399:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1049,"nodeType":"FunctionDefinition","src":"7454:158:2","nodes":[],"body":{"id":1048,"nodeType":"Block","src":"7551:61:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1043,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1033,"src":"7583:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1044,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1035,"src":"7589:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1045,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1037,"src":"7596:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1040,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"7561:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7564:18:2","memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":16045,"src":"7561:21:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":1046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7561:44:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1047,"nodeType":"ExpressionStatement","src":"7561:44:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"7463:18:2","parameters":{"id":1038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1033,"mutability":"mutable","name":"left","nameLocation":"7490:4:2","nodeType":"VariableDeclaration","scope":1049,"src":"7482:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1032,"name":"uint256","nodeType":"ElementaryTypeName","src":"7482:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1035,"mutability":"mutable","name":"right","nameLocation":"7504:5:2","nodeType":"VariableDeclaration","scope":1049,"src":"7496:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1034,"name":"uint256","nodeType":"ElementaryTypeName","src":"7496:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1037,"mutability":"mutable","name":"decimals","nameLocation":"7519:8:2","nodeType":"VariableDeclaration","scope":1049,"src":"7511:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1036,"name":"uint256","nodeType":"ElementaryTypeName","src":"7511:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7481:47:2"},"returnParameters":{"id":1039,"nodeType":"ParameterList","parameters":[],"src":"7551:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1070,"nodeType":"FunctionDefinition","src":"7618:210:2","nodes":[],"body":{"id":1069,"nodeType":"Block","src":"7762:66:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1063,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1051,"src":"7794:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1064,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1053,"src":"7800:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1065,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1055,"src":"7807:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1066,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1057,"src":"7817:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1060,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"7772:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7775:18:2","memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":16057,"src":"7772:21:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,string memory) pure external"}},"id":1067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7772:49:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1068,"nodeType":"ExpressionStatement","src":"7772:49:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"7627:18:2","parameters":{"id":1058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1051,"mutability":"mutable","name":"left","nameLocation":"7654:4:2","nodeType":"VariableDeclaration","scope":1070,"src":"7646:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1050,"name":"uint256","nodeType":"ElementaryTypeName","src":"7646:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1053,"mutability":"mutable","name":"right","nameLocation":"7668:5:2","nodeType":"VariableDeclaration","scope":1070,"src":"7660:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1052,"name":"uint256","nodeType":"ElementaryTypeName","src":"7660:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1055,"mutability":"mutable","name":"decimals","nameLocation":"7683:8:2","nodeType":"VariableDeclaration","scope":1070,"src":"7675:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1054,"name":"uint256","nodeType":"ElementaryTypeName","src":"7675:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1057,"mutability":"mutable","name":"err","nameLocation":"7707:3:2","nodeType":"VariableDeclaration","scope":1070,"src":"7693:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1056,"name":"string","nodeType":"ElementaryTypeName","src":"7693:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7645:66:2"},"returnParameters":{"id":1059,"nodeType":"ParameterList","parameters":[],"src":"7762:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1085,"nodeType":"FunctionDefinition","src":"7834:114:2","nodes":[],"body":{"id":1084,"nodeType":"Block","src":"7904:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1080,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1072,"src":"7929:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1081,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1074,"src":"7935:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":1077,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"7914:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7917:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16313,"src":"7914:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":1082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7914:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1083,"nodeType":"ExpressionStatement","src":"7914:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7843:11:2","parameters":{"id":1075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1072,"mutability":"mutable","name":"left","nameLocation":"7862:4:2","nodeType":"VariableDeclaration","scope":1085,"src":"7855:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1071,"name":"int256","nodeType":"ElementaryTypeName","src":"7855:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1074,"mutability":"mutable","name":"right","nameLocation":"7875:5:2","nodeType":"VariableDeclaration","scope":1085,"src":"7868:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1073,"name":"int256","nodeType":"ElementaryTypeName","src":"7868:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7854:27:2"},"returnParameters":{"id":1076,"nodeType":"ParameterList","parameters":[],"src":"7904:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1103,"nodeType":"FunctionDefinition","src":"7954:138:2","nodes":[],"body":{"id":1102,"nodeType":"Block","src":"8043:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1097,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1087,"src":"8068:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1098,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1089,"src":"8074:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1099,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1091,"src":"8081:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1094,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"8053:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8056:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16323,"src":"8053:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":1100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8053:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1101,"nodeType":"ExpressionStatement","src":"8053:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7963:11:2","parameters":{"id":1092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1087,"mutability":"mutable","name":"left","nameLocation":"7982:4:2","nodeType":"VariableDeclaration","scope":1103,"src":"7975:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1086,"name":"int256","nodeType":"ElementaryTypeName","src":"7975:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1089,"mutability":"mutable","name":"right","nameLocation":"7995:5:2","nodeType":"VariableDeclaration","scope":1103,"src":"7988:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1088,"name":"int256","nodeType":"ElementaryTypeName","src":"7988:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1091,"mutability":"mutable","name":"err","nameLocation":"8016:3:2","nodeType":"VariableDeclaration","scope":1103,"src":"8002:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1090,"name":"string","nodeType":"ElementaryTypeName","src":"8002:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7974:46:2"},"returnParameters":{"id":1093,"nodeType":"ParameterList","parameters":[],"src":"8043:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1121,"nodeType":"FunctionDefinition","src":"8098:156:2","nodes":[],"body":{"id":1120,"nodeType":"Block","src":"8193:61:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1115,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1105,"src":"8225:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1116,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1107,"src":"8231:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1117,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1109,"src":"8238:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1112,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"8203:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8206:18:2","memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":16067,"src":"8203:21:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":1118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8203:44:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1119,"nodeType":"ExpressionStatement","src":"8203:44:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"8107:18:2","parameters":{"id":1110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1105,"mutability":"mutable","name":"left","nameLocation":"8133:4:2","nodeType":"VariableDeclaration","scope":1121,"src":"8126:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1104,"name":"int256","nodeType":"ElementaryTypeName","src":"8126:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1107,"mutability":"mutable","name":"right","nameLocation":"8146:5:2","nodeType":"VariableDeclaration","scope":1121,"src":"8139:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1106,"name":"int256","nodeType":"ElementaryTypeName","src":"8139:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1109,"mutability":"mutable","name":"decimals","nameLocation":"8161:8:2","nodeType":"VariableDeclaration","scope":1121,"src":"8153:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1108,"name":"uint256","nodeType":"ElementaryTypeName","src":"8153:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8125:45:2"},"returnParameters":{"id":1111,"nodeType":"ParameterList","parameters":[],"src":"8193:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1142,"nodeType":"FunctionDefinition","src":"8260:180:2","nodes":[],"body":{"id":1141,"nodeType":"Block","src":"8374:66:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1135,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1123,"src":"8406:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1136,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1125,"src":"8412:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1137,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1127,"src":"8419:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1138,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1129,"src":"8429:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1132,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"8384:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8387:18:2","memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":16079,"src":"8384:21:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,string memory) pure external"}},"id":1139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8384:49:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1140,"nodeType":"ExpressionStatement","src":"8384:49:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"8269:18:2","parameters":{"id":1130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1123,"mutability":"mutable","name":"left","nameLocation":"8295:4:2","nodeType":"VariableDeclaration","scope":1142,"src":"8288:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1122,"name":"int256","nodeType":"ElementaryTypeName","src":"8288:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1125,"mutability":"mutable","name":"right","nameLocation":"8308:5:2","nodeType":"VariableDeclaration","scope":1142,"src":"8301:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1124,"name":"int256","nodeType":"ElementaryTypeName","src":"8301:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1127,"mutability":"mutable","name":"decimals","nameLocation":"8323:8:2","nodeType":"VariableDeclaration","scope":1142,"src":"8315:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1126,"name":"uint256","nodeType":"ElementaryTypeName","src":"8315:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1129,"mutability":"mutable","name":"err","nameLocation":"8347:3:2","nodeType":"VariableDeclaration","scope":1142,"src":"8333:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1128,"name":"string","nodeType":"ElementaryTypeName","src":"8333:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8287:64:2"},"returnParameters":{"id":1131,"nodeType":"ParameterList","parameters":[],"src":"8374:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1157,"nodeType":"FunctionDefinition","src":"8446:116:2","nodes":[],"body":{"id":1156,"nodeType":"Block","src":"8518:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1152,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1144,"src":"8543:4:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1153,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1146,"src":"8549:5:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1149,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"8528:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8531:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16331,"src":"8528:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure external"}},"id":1154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8528:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1155,"nodeType":"ExpressionStatement","src":"8528:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8455:11:2","parameters":{"id":1147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1144,"mutability":"mutable","name":"left","nameLocation":"8475:4:2","nodeType":"VariableDeclaration","scope":1157,"src":"8467:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1143,"name":"address","nodeType":"ElementaryTypeName","src":"8467:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1146,"mutability":"mutable","name":"right","nameLocation":"8489:5:2","nodeType":"VariableDeclaration","scope":1157,"src":"8481:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1145,"name":"address","nodeType":"ElementaryTypeName","src":"8481:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8466:29:2"},"returnParameters":{"id":1148,"nodeType":"ParameterList","parameters":[],"src":"8518:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1175,"nodeType":"FunctionDefinition","src":"8568:140:2","nodes":[],"body":{"id":1174,"nodeType":"Block","src":"8659:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1169,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1159,"src":"8684:4:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1170,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1161,"src":"8690:5:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1171,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1163,"src":"8697:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1166,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"8669:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8672:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16341,"src":"8669:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,address,string memory) pure external"}},"id":1172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8669:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1173,"nodeType":"ExpressionStatement","src":"8669:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8577:11:2","parameters":{"id":1164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1159,"mutability":"mutable","name":"left","nameLocation":"8597:4:2","nodeType":"VariableDeclaration","scope":1175,"src":"8589:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1158,"name":"address","nodeType":"ElementaryTypeName","src":"8589:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1161,"mutability":"mutable","name":"right","nameLocation":"8611:5:2","nodeType":"VariableDeclaration","scope":1175,"src":"8603:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1160,"name":"address","nodeType":"ElementaryTypeName","src":"8603:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1163,"mutability":"mutable","name":"err","nameLocation":"8632:3:2","nodeType":"VariableDeclaration","scope":1175,"src":"8618:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1162,"name":"string","nodeType":"ElementaryTypeName","src":"8618:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8588:48:2"},"returnParameters":{"id":1165,"nodeType":"ParameterList","parameters":[],"src":"8659:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1190,"nodeType":"FunctionDefinition","src":"8714:116:2","nodes":[],"body":{"id":1189,"nodeType":"Block","src":"8786:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1185,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1177,"src":"8811:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1186,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1179,"src":"8817:5:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":1182,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"8796:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8799:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16349,"src":"8796:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure external"}},"id":1187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8796:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1188,"nodeType":"ExpressionStatement","src":"8796:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8723:11:2","parameters":{"id":1180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1177,"mutability":"mutable","name":"left","nameLocation":"8743:4:2","nodeType":"VariableDeclaration","scope":1190,"src":"8735:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1176,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8735:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1179,"mutability":"mutable","name":"right","nameLocation":"8757:5:2","nodeType":"VariableDeclaration","scope":1190,"src":"8749:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1178,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8749:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8734:29:2"},"returnParameters":{"id":1181,"nodeType":"ParameterList","parameters":[],"src":"8786:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1208,"nodeType":"FunctionDefinition","src":"8836:140:2","nodes":[],"body":{"id":1207,"nodeType":"Block","src":"8927:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1202,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1192,"src":"8952:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1203,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1194,"src":"8958:5:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1204,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1196,"src":"8965:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1199,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"8937:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8940:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16359,"src":"8937:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure external"}},"id":1205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8937:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1206,"nodeType":"ExpressionStatement","src":"8937:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8845:11:2","parameters":{"id":1197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1192,"mutability":"mutable","name":"left","nameLocation":"8865:4:2","nodeType":"VariableDeclaration","scope":1208,"src":"8857:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1191,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8857:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1194,"mutability":"mutable","name":"right","nameLocation":"8879:5:2","nodeType":"VariableDeclaration","scope":1208,"src":"8871:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1193,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8871:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1196,"mutability":"mutable","name":"err","nameLocation":"8900:3:2","nodeType":"VariableDeclaration","scope":1208,"src":"8886:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1195,"name":"string","nodeType":"ElementaryTypeName","src":"8886:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8856:48:2"},"returnParameters":{"id":1198,"nodeType":"ParameterList","parameters":[],"src":"8927:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1221,"nodeType":"FunctionDefinition","src":"8982:115:2","nodes":[],"body":{"id":1220,"nodeType":"Block","src":"9056:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1216,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1210,"src":"9078:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1217,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1212,"src":"9084:5:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1215,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[980,998,1013,1031,1085,1103,1157,1175,1190,1208,1252,1270,1285,1303,1320,1340,1357,1377,1394,1414,1431,1451,1468,1488,1505,1525,1542,1562],"referencedDeclaration":1190,"src":"9066:11:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":1218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9066:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1219,"nodeType":"ExpressionStatement","src":"9066:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq32","nameLocation":"8991:13:2","parameters":{"id":1213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1210,"mutability":"mutable","name":"left","nameLocation":"9013:4:2","nodeType":"VariableDeclaration","scope":1221,"src":"9005:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1209,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9005:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1212,"mutability":"mutable","name":"right","nameLocation":"9027:5:2","nodeType":"VariableDeclaration","scope":1221,"src":"9019:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1211,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9019:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9004:29:2"},"returnParameters":{"id":1214,"nodeType":"ParameterList","parameters":[],"src":"9056:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1237,"nodeType":"FunctionDefinition","src":"9103:139:2","nodes":[],"body":{"id":1236,"nodeType":"Block","src":"9196:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1231,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1223,"src":"9218:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1232,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1225,"src":"9224:5:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1233,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1227,"src":"9231:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1230,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[980,998,1013,1031,1085,1103,1157,1175,1190,1208,1252,1270,1285,1303,1320,1340,1357,1377,1394,1414,1431,1451,1468,1488,1505,1525,1542,1562],"referencedDeclaration":1208,"src":"9206:11:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure"}},"id":1234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9206:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1235,"nodeType":"ExpressionStatement","src":"9206:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq32","nameLocation":"9112:13:2","parameters":{"id":1228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1223,"mutability":"mutable","name":"left","nameLocation":"9134:4:2","nodeType":"VariableDeclaration","scope":1237,"src":"9126:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1222,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9126:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1225,"mutability":"mutable","name":"right","nameLocation":"9148:5:2","nodeType":"VariableDeclaration","scope":1237,"src":"9140:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1224,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9140:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1227,"mutability":"mutable","name":"err","nameLocation":"9169:3:2","nodeType":"VariableDeclaration","scope":1237,"src":"9155:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1226,"name":"string","nodeType":"ElementaryTypeName","src":"9155:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9125:48:2"},"returnParameters":{"id":1229,"nodeType":"ParameterList","parameters":[],"src":"9196:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1252,"nodeType":"FunctionDefinition","src":"9248:128:2","nodes":[],"body":{"id":1251,"nodeType":"Block","src":"9332:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1247,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1239,"src":"9357:4:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1248,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1241,"src":"9363:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1244,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"9342:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9345:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16105,"src":"9342:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure external"}},"id":1249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9342:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1250,"nodeType":"ExpressionStatement","src":"9342:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9257:11:2","parameters":{"id":1242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1239,"mutability":"mutable","name":"left","nameLocation":"9283:4:2","nodeType":"VariableDeclaration","scope":1252,"src":"9269:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1238,"name":"string","nodeType":"ElementaryTypeName","src":"9269:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1241,"mutability":"mutable","name":"right","nameLocation":"9303:5:2","nodeType":"VariableDeclaration","scope":1252,"src":"9289:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1240,"name":"string","nodeType":"ElementaryTypeName","src":"9289:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9268:41:2"},"returnParameters":{"id":1243,"nodeType":"ParameterList","parameters":[],"src":"9332:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1270,"nodeType":"FunctionDefinition","src":"9382:152:2","nodes":[],"body":{"id":1269,"nodeType":"Block","src":"9485:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1264,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1254,"src":"9510:4:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1265,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1256,"src":"9516:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1266,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1258,"src":"9523:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1261,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"9495:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9498:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16115,"src":"9495:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory,string memory) pure external"}},"id":1267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9495:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1268,"nodeType":"ExpressionStatement","src":"9495:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9391:11:2","parameters":{"id":1259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1254,"mutability":"mutable","name":"left","nameLocation":"9417:4:2","nodeType":"VariableDeclaration","scope":1270,"src":"9403:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1253,"name":"string","nodeType":"ElementaryTypeName","src":"9403:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1256,"mutability":"mutable","name":"right","nameLocation":"9437:5:2","nodeType":"VariableDeclaration","scope":1270,"src":"9423:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1255,"name":"string","nodeType":"ElementaryTypeName","src":"9423:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1258,"mutability":"mutable","name":"err","nameLocation":"9458:3:2","nodeType":"VariableDeclaration","scope":1270,"src":"9444:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1257,"name":"string","nodeType":"ElementaryTypeName","src":"9444:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9402:60:2"},"returnParameters":{"id":1260,"nodeType":"ParameterList","parameters":[],"src":"9485:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1285,"nodeType":"FunctionDefinition","src":"9540:126:2","nodes":[],"body":{"id":1284,"nodeType":"Block","src":"9622:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1280,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1272,"src":"9647:4:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1281,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1274,"src":"9653:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1277,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"9632:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9635:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16123,"src":"9632:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory) pure external"}},"id":1282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9632:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1283,"nodeType":"ExpressionStatement","src":"9632:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9549:11:2","parameters":{"id":1275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1272,"mutability":"mutable","name":"left","nameLocation":"9574:4:2","nodeType":"VariableDeclaration","scope":1285,"src":"9561:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1271,"name":"bytes","nodeType":"ElementaryTypeName","src":"9561:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1274,"mutability":"mutable","name":"right","nameLocation":"9593:5:2","nodeType":"VariableDeclaration","scope":1285,"src":"9580:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1273,"name":"bytes","nodeType":"ElementaryTypeName","src":"9580:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9560:39:2"},"returnParameters":{"id":1276,"nodeType":"ParameterList","parameters":[],"src":"9622:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1303,"nodeType":"FunctionDefinition","src":"9672:150:2","nodes":[],"body":{"id":1302,"nodeType":"Block","src":"9773:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1297,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1287,"src":"9798:4:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1298,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1289,"src":"9804:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1299,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1291,"src":"9811:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1294,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"9783:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9786:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16133,"src":"9783:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory,string memory) pure external"}},"id":1300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9783:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1301,"nodeType":"ExpressionStatement","src":"9783:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9681:11:2","parameters":{"id":1292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1287,"mutability":"mutable","name":"left","nameLocation":"9706:4:2","nodeType":"VariableDeclaration","scope":1303,"src":"9693:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1286,"name":"bytes","nodeType":"ElementaryTypeName","src":"9693:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1289,"mutability":"mutable","name":"right","nameLocation":"9725:5:2","nodeType":"VariableDeclaration","scope":1303,"src":"9712:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1288,"name":"bytes","nodeType":"ElementaryTypeName","src":"9712:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1291,"mutability":"mutable","name":"err","nameLocation":"9746:3:2","nodeType":"VariableDeclaration","scope":1303,"src":"9732:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1290,"name":"string","nodeType":"ElementaryTypeName","src":"9732:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9692:58:2"},"returnParameters":{"id":1293,"nodeType":"ParameterList","parameters":[],"src":"9773:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1320,"nodeType":"FunctionDefinition","src":"9828:128:2","nodes":[],"body":{"id":1319,"nodeType":"Block","src":"9912:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1315,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1306,"src":"9937:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1316,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1309,"src":"9943:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"},{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}],"expression":{"id":1312,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"9922:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9925:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16143,"src":"9922:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bool_$dyn_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$returns$__$","typeString":"function (bool[] memory,bool[] memory) pure external"}},"id":1317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9922:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1318,"nodeType":"ExpressionStatement","src":"9922:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9837:11:2","parameters":{"id":1310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1306,"mutability":"mutable","name":"left","nameLocation":"9863:4:2","nodeType":"VariableDeclaration","scope":1320,"src":"9849:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1304,"name":"bool","nodeType":"ElementaryTypeName","src":"9849:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1305,"nodeType":"ArrayTypeName","src":"9849:6:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1309,"mutability":"mutable","name":"right","nameLocation":"9883:5:2","nodeType":"VariableDeclaration","scope":1320,"src":"9869:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1307,"name":"bool","nodeType":"ElementaryTypeName","src":"9869:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1308,"nodeType":"ArrayTypeName","src":"9869:6:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"9848:41:2"},"returnParameters":{"id":1311,"nodeType":"ParameterList","parameters":[],"src":"9912:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1340,"nodeType":"FunctionDefinition","src":"9962:152:2","nodes":[],"body":{"id":1339,"nodeType":"Block","src":"10065:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1334,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1323,"src":"10090:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1335,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1326,"src":"10096:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1336,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1328,"src":"10103:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"},{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1331,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"10075:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10078:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16155,"src":"10075:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bool_$dyn_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool[] memory,bool[] memory,string memory) pure external"}},"id":1337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10075:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1338,"nodeType":"ExpressionStatement","src":"10075:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9971:11:2","parameters":{"id":1329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1323,"mutability":"mutable","name":"left","nameLocation":"9997:4:2","nodeType":"VariableDeclaration","scope":1340,"src":"9983:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1321,"name":"bool","nodeType":"ElementaryTypeName","src":"9983:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1322,"nodeType":"ArrayTypeName","src":"9983:6:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1326,"mutability":"mutable","name":"right","nameLocation":"10017:5:2","nodeType":"VariableDeclaration","scope":1340,"src":"10003:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1324,"name":"bool","nodeType":"ElementaryTypeName","src":"10003:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1325,"nodeType":"ArrayTypeName","src":"10003:6:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1328,"mutability":"mutable","name":"err","nameLocation":"10038:3:2","nodeType":"VariableDeclaration","scope":1340,"src":"10024:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1327,"name":"string","nodeType":"ElementaryTypeName","src":"10024:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9982:60:2"},"returnParameters":{"id":1330,"nodeType":"ParameterList","parameters":[],"src":"10065:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1357,"nodeType":"FunctionDefinition","src":"10120:134:2","nodes":[],"body":{"id":1356,"nodeType":"Block","src":"10210:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1352,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1343,"src":"10235:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1353,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1346,"src":"10241:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"expression":{"id":1349,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"10220:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10223:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16165,"src":"10220:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256[] memory,uint256[] memory) pure external"}},"id":1354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10220:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1355,"nodeType":"ExpressionStatement","src":"10220:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10129:11:2","parameters":{"id":1347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1343,"mutability":"mutable","name":"left","nameLocation":"10158:4:2","nodeType":"VariableDeclaration","scope":1357,"src":"10141:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1341,"name":"uint256","nodeType":"ElementaryTypeName","src":"10141:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1342,"nodeType":"ArrayTypeName","src":"10141:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1346,"mutability":"mutable","name":"right","nameLocation":"10181:5:2","nodeType":"VariableDeclaration","scope":1357,"src":"10164:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1344,"name":"uint256","nodeType":"ElementaryTypeName","src":"10164:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1345,"nodeType":"ArrayTypeName","src":"10164:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"10140:47:2"},"returnParameters":{"id":1348,"nodeType":"ParameterList","parameters":[],"src":"10210:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1377,"nodeType":"FunctionDefinition","src":"10260:158:2","nodes":[],"body":{"id":1376,"nodeType":"Block","src":"10369:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1371,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1360,"src":"10394:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1372,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1363,"src":"10400:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1373,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1365,"src":"10407:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1368,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"10379:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10382:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16177,"src":"10379:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256[] memory,uint256[] memory,string memory) pure external"}},"id":1374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10379:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1375,"nodeType":"ExpressionStatement","src":"10379:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10269:11:2","parameters":{"id":1366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1360,"mutability":"mutable","name":"left","nameLocation":"10298:4:2","nodeType":"VariableDeclaration","scope":1377,"src":"10281:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1358,"name":"uint256","nodeType":"ElementaryTypeName","src":"10281:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1359,"nodeType":"ArrayTypeName","src":"10281:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1363,"mutability":"mutable","name":"right","nameLocation":"10321:5:2","nodeType":"VariableDeclaration","scope":1377,"src":"10304:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1361,"name":"uint256","nodeType":"ElementaryTypeName","src":"10304:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1362,"nodeType":"ArrayTypeName","src":"10304:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1365,"mutability":"mutable","name":"err","nameLocation":"10342:3:2","nodeType":"VariableDeclaration","scope":1377,"src":"10328:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1364,"name":"string","nodeType":"ElementaryTypeName","src":"10328:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10280:66:2"},"returnParameters":{"id":1367,"nodeType":"ParameterList","parameters":[],"src":"10369:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1394,"nodeType":"FunctionDefinition","src":"10424:132:2","nodes":[],"body":{"id":1393,"nodeType":"Block","src":"10512:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1389,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1380,"src":"10537:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1390,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1383,"src":"10543:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}],"expression":{"id":1386,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"10522:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10525:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16187,"src":"10522:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_int256_$dyn_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$__$","typeString":"function (int256[] memory,int256[] memory) pure external"}},"id":1391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10522:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1392,"nodeType":"ExpressionStatement","src":"10522:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10433:11:2","parameters":{"id":1384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1380,"mutability":"mutable","name":"left","nameLocation":"10461:4:2","nodeType":"VariableDeclaration","scope":1394,"src":"10445:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1378,"name":"int256","nodeType":"ElementaryTypeName","src":"10445:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1379,"nodeType":"ArrayTypeName","src":"10445:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1383,"mutability":"mutable","name":"right","nameLocation":"10483:5:2","nodeType":"VariableDeclaration","scope":1394,"src":"10467:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1381,"name":"int256","nodeType":"ElementaryTypeName","src":"10467:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1382,"nodeType":"ArrayTypeName","src":"10467:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"10444:45:2"},"returnParameters":{"id":1385,"nodeType":"ParameterList","parameters":[],"src":"10512:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1414,"nodeType":"FunctionDefinition","src":"10562:156:2","nodes":[],"body":{"id":1413,"nodeType":"Block","src":"10669:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1408,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1397,"src":"10694:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1409,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1400,"src":"10700:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1410,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1402,"src":"10707:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1405,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"10679:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10682:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16199,"src":"10679:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_int256_$dyn_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256[] memory,int256[] memory,string memory) pure external"}},"id":1411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10679:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1412,"nodeType":"ExpressionStatement","src":"10679:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10571:11:2","parameters":{"id":1403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1397,"mutability":"mutable","name":"left","nameLocation":"10599:4:2","nodeType":"VariableDeclaration","scope":1414,"src":"10583:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1395,"name":"int256","nodeType":"ElementaryTypeName","src":"10583:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1396,"nodeType":"ArrayTypeName","src":"10583:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1400,"mutability":"mutable","name":"right","nameLocation":"10621:5:2","nodeType":"VariableDeclaration","scope":1414,"src":"10605:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1398,"name":"int256","nodeType":"ElementaryTypeName","src":"10605:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1399,"nodeType":"ArrayTypeName","src":"10605:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1402,"mutability":"mutable","name":"err","nameLocation":"10642:3:2","nodeType":"VariableDeclaration","scope":1414,"src":"10628:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1401,"name":"string","nodeType":"ElementaryTypeName","src":"10628:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10582:64:2"},"returnParameters":{"id":1404,"nodeType":"ParameterList","parameters":[],"src":"10669:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1431,"nodeType":"FunctionDefinition","src":"10724:134:2","nodes":[],"body":{"id":1430,"nodeType":"Block","src":"10814:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1426,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1417,"src":"10839:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1427,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1420,"src":"10845:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":1423,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"10824:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10827:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16217,"src":"10824:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory,address[] memory) pure external"}},"id":1428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10824:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1429,"nodeType":"ExpressionStatement","src":"10824:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10733:11:2","parameters":{"id":1421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1417,"mutability":"mutable","name":"left","nameLocation":"10762:4:2","nodeType":"VariableDeclaration","scope":1431,"src":"10745:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1415,"name":"address","nodeType":"ElementaryTypeName","src":"10745:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1416,"nodeType":"ArrayTypeName","src":"10745:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1420,"mutability":"mutable","name":"right","nameLocation":"10785:5:2","nodeType":"VariableDeclaration","scope":1431,"src":"10768:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1418,"name":"address","nodeType":"ElementaryTypeName","src":"10768:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1419,"nodeType":"ArrayTypeName","src":"10768:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"10744:47:2"},"returnParameters":{"id":1422,"nodeType":"ParameterList","parameters":[],"src":"10814:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1451,"nodeType":"FunctionDefinition","src":"10864:158:2","nodes":[],"body":{"id":1450,"nodeType":"Block","src":"10973:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1445,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1434,"src":"10998:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1446,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1437,"src":"11004:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1447,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1439,"src":"11011:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1442,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"10983:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10986:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16229,"src":"10983:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (address[] memory,address[] memory,string memory) pure external"}},"id":1448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10983:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1449,"nodeType":"ExpressionStatement","src":"10983:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10873:11:2","parameters":{"id":1440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1434,"mutability":"mutable","name":"left","nameLocation":"10902:4:2","nodeType":"VariableDeclaration","scope":1451,"src":"10885:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1432,"name":"address","nodeType":"ElementaryTypeName","src":"10885:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1433,"nodeType":"ArrayTypeName","src":"10885:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1437,"mutability":"mutable","name":"right","nameLocation":"10925:5:2","nodeType":"VariableDeclaration","scope":1451,"src":"10908:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1435,"name":"address","nodeType":"ElementaryTypeName","src":"10908:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1436,"nodeType":"ArrayTypeName","src":"10908:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1439,"mutability":"mutable","name":"err","nameLocation":"10946:3:2","nodeType":"VariableDeclaration","scope":1451,"src":"10932:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1438,"name":"string","nodeType":"ElementaryTypeName","src":"10932:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10884:66:2"},"returnParameters":{"id":1441,"nodeType":"ParameterList","parameters":[],"src":"10973:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1468,"nodeType":"FunctionDefinition","src":"11028:134:2","nodes":[],"body":{"id":1467,"nodeType":"Block","src":"11118:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1463,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1454,"src":"11143:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1464,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1457,"src":"11149:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":1460,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"11128:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11131:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16239,"src":"11128:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$","typeString":"function (bytes32[] memory,bytes32[] memory) pure external"}},"id":1465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11128:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1466,"nodeType":"ExpressionStatement","src":"11128:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11037:11:2","parameters":{"id":1458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1454,"mutability":"mutable","name":"left","nameLocation":"11066:4:2","nodeType":"VariableDeclaration","scope":1468,"src":"11049:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1452,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11049:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1453,"nodeType":"ArrayTypeName","src":"11049:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1457,"mutability":"mutable","name":"right","nameLocation":"11089:5:2","nodeType":"VariableDeclaration","scope":1468,"src":"11072:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1455,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11072:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1456,"nodeType":"ArrayTypeName","src":"11072:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"11048:47:2"},"returnParameters":{"id":1459,"nodeType":"ParameterList","parameters":[],"src":"11118:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1488,"nodeType":"FunctionDefinition","src":"11168:158:2","nodes":[],"body":{"id":1487,"nodeType":"Block","src":"11277:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1482,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1471,"src":"11302:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1483,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1474,"src":"11308:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1484,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1476,"src":"11315:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1479,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"11287:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11290:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16251,"src":"11287:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32[] memory,bytes32[] memory,string memory) pure external"}},"id":1485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11287:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1486,"nodeType":"ExpressionStatement","src":"11287:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11177:11:2","parameters":{"id":1477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1471,"mutability":"mutable","name":"left","nameLocation":"11206:4:2","nodeType":"VariableDeclaration","scope":1488,"src":"11189:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1469,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11189:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1470,"nodeType":"ArrayTypeName","src":"11189:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1474,"mutability":"mutable","name":"right","nameLocation":"11229:5:2","nodeType":"VariableDeclaration","scope":1488,"src":"11212:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1472,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11212:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1473,"nodeType":"ArrayTypeName","src":"11212:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1476,"mutability":"mutable","name":"err","nameLocation":"11250:3:2","nodeType":"VariableDeclaration","scope":1488,"src":"11236:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1475,"name":"string","nodeType":"ElementaryTypeName","src":"11236:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11188:66:2"},"returnParameters":{"id":1478,"nodeType":"ParameterList","parameters":[],"src":"11277:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1505,"nodeType":"FunctionDefinition","src":"11332:132:2","nodes":[],"body":{"id":1504,"nodeType":"Block","src":"11420:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1500,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1491,"src":"11445:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1501,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1494,"src":"11451:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":1497,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"11430:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11433:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16261,"src":"11430:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (string memory[] memory,string memory[] memory) pure external"}},"id":1502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11430:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1503,"nodeType":"ExpressionStatement","src":"11430:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11341:11:2","parameters":{"id":1495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1491,"mutability":"mutable","name":"left","nameLocation":"11369:4:2","nodeType":"VariableDeclaration","scope":1505,"src":"11353:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1489,"name":"string","nodeType":"ElementaryTypeName","src":"11353:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1490,"nodeType":"ArrayTypeName","src":"11353:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1494,"mutability":"mutable","name":"right","nameLocation":"11391:5:2","nodeType":"VariableDeclaration","scope":1505,"src":"11375:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1492,"name":"string","nodeType":"ElementaryTypeName","src":"11375:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1493,"nodeType":"ArrayTypeName","src":"11375:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"11352:45:2"},"returnParameters":{"id":1496,"nodeType":"ParameterList","parameters":[],"src":"11420:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1525,"nodeType":"FunctionDefinition","src":"11470:156:2","nodes":[],"body":{"id":1524,"nodeType":"Block","src":"11577:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1519,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1508,"src":"11602:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1520,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1511,"src":"11608:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1521,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1513,"src":"11615:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1516,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"11587:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11590:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16273,"src":"11587:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory[] memory,string memory[] memory,string memory) pure external"}},"id":1522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11587:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1523,"nodeType":"ExpressionStatement","src":"11587:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11479:11:2","parameters":{"id":1514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1508,"mutability":"mutable","name":"left","nameLocation":"11507:4:2","nodeType":"VariableDeclaration","scope":1525,"src":"11491:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1506,"name":"string","nodeType":"ElementaryTypeName","src":"11491:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1507,"nodeType":"ArrayTypeName","src":"11491:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1511,"mutability":"mutable","name":"right","nameLocation":"11529:5:2","nodeType":"VariableDeclaration","scope":1525,"src":"11513:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1509,"name":"string","nodeType":"ElementaryTypeName","src":"11513:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1510,"nodeType":"ArrayTypeName","src":"11513:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1513,"mutability":"mutable","name":"err","nameLocation":"11550:3:2","nodeType":"VariableDeclaration","scope":1525,"src":"11536:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1512,"name":"string","nodeType":"ElementaryTypeName","src":"11536:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11490:64:2"},"returnParameters":{"id":1515,"nodeType":"ParameterList","parameters":[],"src":"11577:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1542,"nodeType":"FunctionDefinition","src":"11632:130:2","nodes":[],"body":{"id":1541,"nodeType":"Block","src":"11718:44:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1537,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1528,"src":"11743:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":1538,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"11749:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"expression":{"id":1534,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"11728:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11731:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16283,"src":"11728:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (bytes memory[] memory,bytes memory[] memory) pure external"}},"id":1539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11728:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1540,"nodeType":"ExpressionStatement","src":"11728:27:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11641:11:2","parameters":{"id":1532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1528,"mutability":"mutable","name":"left","nameLocation":"11668:4:2","nodeType":"VariableDeclaration","scope":1542,"src":"11653:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1526,"name":"bytes","nodeType":"ElementaryTypeName","src":"11653:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1527,"nodeType":"ArrayTypeName","src":"11653:7:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1531,"mutability":"mutable","name":"right","nameLocation":"11689:5:2","nodeType":"VariableDeclaration","scope":1542,"src":"11674:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1529,"name":"bytes","nodeType":"ElementaryTypeName","src":"11674:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1530,"nodeType":"ArrayTypeName","src":"11674:7:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"11652:43:2"},"returnParameters":{"id":1533,"nodeType":"ParameterList","parameters":[],"src":"11718:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1562,"nodeType":"FunctionDefinition","src":"11768:154:2","nodes":[],"body":{"id":1561,"nodeType":"Block","src":"11873:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1556,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1545,"src":"11898:4:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":1557,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1548,"src":"11904:5:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":1558,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1550,"src":"11911:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1553,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"11883:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11886:11:2","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16295,"src":"11883:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory[] memory,bytes memory[] memory,string memory) pure external"}},"id":1559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11883:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1560,"nodeType":"ExpressionStatement","src":"11883:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11777:11:2","parameters":{"id":1551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1545,"mutability":"mutable","name":"left","nameLocation":"11804:4:2","nodeType":"VariableDeclaration","scope":1562,"src":"11789:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1543,"name":"bytes","nodeType":"ElementaryTypeName","src":"11789:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1544,"nodeType":"ArrayTypeName","src":"11789:7:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1548,"mutability":"mutable","name":"right","nameLocation":"11825:5:2","nodeType":"VariableDeclaration","scope":1562,"src":"11810:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1546,"name":"bytes","nodeType":"ElementaryTypeName","src":"11810:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1547,"nodeType":"ArrayTypeName","src":"11810:7:2","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1550,"mutability":"mutable","name":"err","nameLocation":"11846:3:2","nodeType":"VariableDeclaration","scope":1562,"src":"11832:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1549,"name":"string","nodeType":"ElementaryTypeName","src":"11832:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11788:62:2"},"returnParameters":{"id":1552,"nodeType":"ParameterList","parameters":[],"src":"11873:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1577,"nodeType":"FunctionDefinition","src":"11928:110:2","nodes":[],"body":{"id":1576,"nodeType":"Block","src":"11997:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1572,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1564,"src":"12019:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1573,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1566,"src":"12025:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1569,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"12007:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12010:8:2","memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":16007,"src":"12007:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":1574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12007:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1575,"nodeType":"ExpressionStatement","src":"12007:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"11937:8:2","parameters":{"id":1567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1564,"mutability":"mutable","name":"left","nameLocation":"11954:4:2","nodeType":"VariableDeclaration","scope":1577,"src":"11946:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1563,"name":"uint256","nodeType":"ElementaryTypeName","src":"11946:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1566,"mutability":"mutable","name":"right","nameLocation":"11968:5:2","nodeType":"VariableDeclaration","scope":1577,"src":"11960:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1565,"name":"uint256","nodeType":"ElementaryTypeName","src":"11960:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11945:29:2"},"returnParameters":{"id":1568,"nodeType":"ParameterList","parameters":[],"src":"11997:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1595,"nodeType":"FunctionDefinition","src":"12044:134:2","nodes":[],"body":{"id":1594,"nodeType":"Block","src":"12132:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1589,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1579,"src":"12154:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1590,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1581,"src":"12160:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1591,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1583,"src":"12167:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1586,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"12142:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12145:8:2","memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":16017,"src":"12142:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":1592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12142:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1593,"nodeType":"ExpressionStatement","src":"12142:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"12053:8:2","parameters":{"id":1584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1579,"mutability":"mutable","name":"left","nameLocation":"12070:4:2","nodeType":"VariableDeclaration","scope":1595,"src":"12062:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1578,"name":"uint256","nodeType":"ElementaryTypeName","src":"12062:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1581,"mutability":"mutable","name":"right","nameLocation":"12084:5:2","nodeType":"VariableDeclaration","scope":1595,"src":"12076:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1580,"name":"uint256","nodeType":"ElementaryTypeName","src":"12076:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1583,"mutability":"mutable","name":"err","nameLocation":"12105:3:2","nodeType":"VariableDeclaration","scope":1595,"src":"12091:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1582,"name":"string","nodeType":"ElementaryTypeName","src":"12091:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12061:48:2"},"returnParameters":{"id":1585,"nodeType":"ParameterList","parameters":[],"src":"12132:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1613,"nodeType":"FunctionDefinition","src":"12184:152:2","nodes":[],"body":{"id":1612,"nodeType":"Block","src":"12278:58:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1607,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1597,"src":"12307:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1608,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1599,"src":"12313:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1609,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1601,"src":"12320:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1604,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"12288:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12291:15:2","memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":15965,"src":"12288:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":1610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12288:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1611,"nodeType":"ExpressionStatement","src":"12288:41:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"12193:15:2","parameters":{"id":1602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1597,"mutability":"mutable","name":"left","nameLocation":"12217:4:2","nodeType":"VariableDeclaration","scope":1613,"src":"12209:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1596,"name":"uint256","nodeType":"ElementaryTypeName","src":"12209:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1599,"mutability":"mutable","name":"right","nameLocation":"12231:5:2","nodeType":"VariableDeclaration","scope":1613,"src":"12223:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1598,"name":"uint256","nodeType":"ElementaryTypeName","src":"12223:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1601,"mutability":"mutable","name":"decimals","nameLocation":"12246:8:2","nodeType":"VariableDeclaration","scope":1613,"src":"12238:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1600,"name":"uint256","nodeType":"ElementaryTypeName","src":"12238:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12208:47:2"},"returnParameters":{"id":1603,"nodeType":"ParameterList","parameters":[],"src":"12278:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1634,"nodeType":"FunctionDefinition","src":"12342:176:2","nodes":[],"body":{"id":1633,"nodeType":"Block","src":"12455:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1627,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1615,"src":"12484:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1628,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1617,"src":"12490:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1629,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1619,"src":"12497:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1630,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1621,"src":"12507:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1624,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"12465:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12468:15:2","memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":15977,"src":"12465:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,string memory) pure external"}},"id":1631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12465:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1632,"nodeType":"ExpressionStatement","src":"12465:46:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"12351:15:2","parameters":{"id":1622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1615,"mutability":"mutable","name":"left","nameLocation":"12375:4:2","nodeType":"VariableDeclaration","scope":1634,"src":"12367:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1614,"name":"uint256","nodeType":"ElementaryTypeName","src":"12367:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1617,"mutability":"mutable","name":"right","nameLocation":"12389:5:2","nodeType":"VariableDeclaration","scope":1634,"src":"12381:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1616,"name":"uint256","nodeType":"ElementaryTypeName","src":"12381:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1619,"mutability":"mutable","name":"decimals","nameLocation":"12404:8:2","nodeType":"VariableDeclaration","scope":1634,"src":"12396:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1618,"name":"uint256","nodeType":"ElementaryTypeName","src":"12396:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1621,"mutability":"mutable","name":"err","nameLocation":"12428:3:2","nodeType":"VariableDeclaration","scope":1634,"src":"12414:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1620,"name":"string","nodeType":"ElementaryTypeName","src":"12414:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12366:66:2"},"returnParameters":{"id":1623,"nodeType":"ParameterList","parameters":[],"src":"12455:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1649,"nodeType":"FunctionDefinition","src":"12524:108:2","nodes":[],"body":{"id":1648,"nodeType":"Block","src":"12591:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1644,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1636,"src":"12613:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1645,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1638,"src":"12619:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":1641,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"12601:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12604:8:2","memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":16025,"src":"12601:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":1646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12601:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1647,"nodeType":"ExpressionStatement","src":"12601:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"12533:8:2","parameters":{"id":1639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1636,"mutability":"mutable","name":"left","nameLocation":"12549:4:2","nodeType":"VariableDeclaration","scope":1649,"src":"12542:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1635,"name":"int256","nodeType":"ElementaryTypeName","src":"12542:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1638,"mutability":"mutable","name":"right","nameLocation":"12562:5:2","nodeType":"VariableDeclaration","scope":1649,"src":"12555:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1637,"name":"int256","nodeType":"ElementaryTypeName","src":"12555:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"12541:27:2"},"returnParameters":{"id":1640,"nodeType":"ParameterList","parameters":[],"src":"12591:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1667,"nodeType":"FunctionDefinition","src":"12638:132:2","nodes":[],"body":{"id":1666,"nodeType":"Block","src":"12724:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1661,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1651,"src":"12746:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1662,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1653,"src":"12752:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1663,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1655,"src":"12759:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1658,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"12734:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12737:8:2","memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":16035,"src":"12734:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":1664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12734:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1665,"nodeType":"ExpressionStatement","src":"12734:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"12647:8:2","parameters":{"id":1656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1651,"mutability":"mutable","name":"left","nameLocation":"12663:4:2","nodeType":"VariableDeclaration","scope":1667,"src":"12656:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1650,"name":"int256","nodeType":"ElementaryTypeName","src":"12656:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1653,"mutability":"mutable","name":"right","nameLocation":"12676:5:2","nodeType":"VariableDeclaration","scope":1667,"src":"12669:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1652,"name":"int256","nodeType":"ElementaryTypeName","src":"12669:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1655,"mutability":"mutable","name":"err","nameLocation":"12697:3:2","nodeType":"VariableDeclaration","scope":1667,"src":"12683:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1654,"name":"string","nodeType":"ElementaryTypeName","src":"12683:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12655:46:2"},"returnParameters":{"id":1657,"nodeType":"ParameterList","parameters":[],"src":"12724:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1685,"nodeType":"FunctionDefinition","src":"12776:150:2","nodes":[],"body":{"id":1684,"nodeType":"Block","src":"12868:58:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1679,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1669,"src":"12897:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1680,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1671,"src":"12903:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1681,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1673,"src":"12910:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1676,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"12878:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12881:15:2","memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":15987,"src":"12878:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":1682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12878:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1683,"nodeType":"ExpressionStatement","src":"12878:41:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"12785:15:2","parameters":{"id":1674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1669,"mutability":"mutable","name":"left","nameLocation":"12808:4:2","nodeType":"VariableDeclaration","scope":1685,"src":"12801:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1668,"name":"int256","nodeType":"ElementaryTypeName","src":"12801:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1671,"mutability":"mutable","name":"right","nameLocation":"12821:5:2","nodeType":"VariableDeclaration","scope":1685,"src":"12814:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1670,"name":"int256","nodeType":"ElementaryTypeName","src":"12814:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1673,"mutability":"mutable","name":"decimals","nameLocation":"12836:8:2","nodeType":"VariableDeclaration","scope":1685,"src":"12828:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1672,"name":"uint256","nodeType":"ElementaryTypeName","src":"12828:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12800:45:2"},"returnParameters":{"id":1675,"nodeType":"ParameterList","parameters":[],"src":"12868:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1706,"nodeType":"FunctionDefinition","src":"12932:174:2","nodes":[],"body":{"id":1705,"nodeType":"Block","src":"13043:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1699,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1687,"src":"13072:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1700,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1689,"src":"13078:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1701,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1691,"src":"13085:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1702,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1693,"src":"13095:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1696,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"13053:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13056:15:2","memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":15999,"src":"13053:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,string memory) pure external"}},"id":1703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13053:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1704,"nodeType":"ExpressionStatement","src":"13053:46:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"12941:15:2","parameters":{"id":1694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1687,"mutability":"mutable","name":"left","nameLocation":"12964:4:2","nodeType":"VariableDeclaration","scope":1706,"src":"12957:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1686,"name":"int256","nodeType":"ElementaryTypeName","src":"12957:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1689,"mutability":"mutable","name":"right","nameLocation":"12977:5:2","nodeType":"VariableDeclaration","scope":1706,"src":"12970:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1688,"name":"int256","nodeType":"ElementaryTypeName","src":"12970:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1691,"mutability":"mutable","name":"decimals","nameLocation":"12992:8:2","nodeType":"VariableDeclaration","scope":1706,"src":"12984:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1690,"name":"uint256","nodeType":"ElementaryTypeName","src":"12984:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1693,"mutability":"mutable","name":"err","nameLocation":"13016:3:2","nodeType":"VariableDeclaration","scope":1706,"src":"13002:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1692,"name":"string","nodeType":"ElementaryTypeName","src":"13002:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12956:64:2"},"returnParameters":{"id":1695,"nodeType":"ParameterList","parameters":[],"src":"13043:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1721,"nodeType":"FunctionDefinition","src":"13112:110:2","nodes":[],"body":{"id":1720,"nodeType":"Block","src":"13181:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1716,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1708,"src":"13203:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1717,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1710,"src":"13209:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1713,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"13191:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13194:8:2","memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":15847,"src":"13191:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":1718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13191:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1719,"nodeType":"ExpressionStatement","src":"13191:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"13121:8:2","parameters":{"id":1711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1708,"mutability":"mutable","name":"left","nameLocation":"13138:4:2","nodeType":"VariableDeclaration","scope":1721,"src":"13130:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1707,"name":"uint256","nodeType":"ElementaryTypeName","src":"13130:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1710,"mutability":"mutable","name":"right","nameLocation":"13152:5:2","nodeType":"VariableDeclaration","scope":1721,"src":"13144:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1709,"name":"uint256","nodeType":"ElementaryTypeName","src":"13144:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13129:29:2"},"returnParameters":{"id":1712,"nodeType":"ParameterList","parameters":[],"src":"13181:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1739,"nodeType":"FunctionDefinition","src":"13228:134:2","nodes":[],"body":{"id":1738,"nodeType":"Block","src":"13316:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1733,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1723,"src":"13338:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1734,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1725,"src":"13344:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1735,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1727,"src":"13351:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1730,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"13326:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13329:8:2","memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":15857,"src":"13326:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":1736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13326:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1737,"nodeType":"ExpressionStatement","src":"13326:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"13237:8:2","parameters":{"id":1728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1723,"mutability":"mutable","name":"left","nameLocation":"13254:4:2","nodeType":"VariableDeclaration","scope":1739,"src":"13246:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1722,"name":"uint256","nodeType":"ElementaryTypeName","src":"13246:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1725,"mutability":"mutable","name":"right","nameLocation":"13268:5:2","nodeType":"VariableDeclaration","scope":1739,"src":"13260:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1724,"name":"uint256","nodeType":"ElementaryTypeName","src":"13260:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1727,"mutability":"mutable","name":"err","nameLocation":"13289:3:2","nodeType":"VariableDeclaration","scope":1739,"src":"13275:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1726,"name":"string","nodeType":"ElementaryTypeName","src":"13275:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13245:48:2"},"returnParameters":{"id":1729,"nodeType":"ParameterList","parameters":[],"src":"13316:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1757,"nodeType":"FunctionDefinition","src":"13368:152:2","nodes":[],"body":{"id":1756,"nodeType":"Block","src":"13462:58:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1751,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1741,"src":"13491:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1752,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1743,"src":"13497:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1753,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1745,"src":"13504:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1748,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"13472:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13475:15:2","memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":15805,"src":"13472:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":1754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13472:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1755,"nodeType":"ExpressionStatement","src":"13472:41:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"13377:15:2","parameters":{"id":1746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1741,"mutability":"mutable","name":"left","nameLocation":"13401:4:2","nodeType":"VariableDeclaration","scope":1757,"src":"13393:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1740,"name":"uint256","nodeType":"ElementaryTypeName","src":"13393:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1743,"mutability":"mutable","name":"right","nameLocation":"13415:5:2","nodeType":"VariableDeclaration","scope":1757,"src":"13407:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1742,"name":"uint256","nodeType":"ElementaryTypeName","src":"13407:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1745,"mutability":"mutable","name":"decimals","nameLocation":"13430:8:2","nodeType":"VariableDeclaration","scope":1757,"src":"13422:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1744,"name":"uint256","nodeType":"ElementaryTypeName","src":"13422:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13392:47:2"},"returnParameters":{"id":1747,"nodeType":"ParameterList","parameters":[],"src":"13462:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1778,"nodeType":"FunctionDefinition","src":"13526:176:2","nodes":[],"body":{"id":1777,"nodeType":"Block","src":"13639:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1771,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"13668:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1772,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"13674:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1773,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1763,"src":"13681:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1774,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1765,"src":"13691:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1768,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"13649:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13652:15:2","memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":15817,"src":"13649:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,string memory) pure external"}},"id":1775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13649:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1776,"nodeType":"ExpressionStatement","src":"13649:46:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"13535:15:2","parameters":{"id":1766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1759,"mutability":"mutable","name":"left","nameLocation":"13559:4:2","nodeType":"VariableDeclaration","scope":1778,"src":"13551:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1758,"name":"uint256","nodeType":"ElementaryTypeName","src":"13551:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1761,"mutability":"mutable","name":"right","nameLocation":"13573:5:2","nodeType":"VariableDeclaration","scope":1778,"src":"13565:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1760,"name":"uint256","nodeType":"ElementaryTypeName","src":"13565:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1763,"mutability":"mutable","name":"decimals","nameLocation":"13588:8:2","nodeType":"VariableDeclaration","scope":1778,"src":"13580:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1762,"name":"uint256","nodeType":"ElementaryTypeName","src":"13580:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1765,"mutability":"mutable","name":"err","nameLocation":"13612:3:2","nodeType":"VariableDeclaration","scope":1778,"src":"13598:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1764,"name":"string","nodeType":"ElementaryTypeName","src":"13598:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13550:66:2"},"returnParameters":{"id":1767,"nodeType":"ParameterList","parameters":[],"src":"13639:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1793,"nodeType":"FunctionDefinition","src":"13708:108:2","nodes":[],"body":{"id":1792,"nodeType":"Block","src":"13775:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1788,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1780,"src":"13797:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1789,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1782,"src":"13803:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":1785,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"13785:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13788:8:2","memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":15865,"src":"13785:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":1790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13785:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1791,"nodeType":"ExpressionStatement","src":"13785:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"13717:8:2","parameters":{"id":1783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1780,"mutability":"mutable","name":"left","nameLocation":"13733:4:2","nodeType":"VariableDeclaration","scope":1793,"src":"13726:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1779,"name":"int256","nodeType":"ElementaryTypeName","src":"13726:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1782,"mutability":"mutable","name":"right","nameLocation":"13746:5:2","nodeType":"VariableDeclaration","scope":1793,"src":"13739:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1781,"name":"int256","nodeType":"ElementaryTypeName","src":"13739:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"13725:27:2"},"returnParameters":{"id":1784,"nodeType":"ParameterList","parameters":[],"src":"13775:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1811,"nodeType":"FunctionDefinition","src":"13822:132:2","nodes":[],"body":{"id":1810,"nodeType":"Block","src":"13908:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1805,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1795,"src":"13930:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1806,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1797,"src":"13936:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1807,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1799,"src":"13943:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1802,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"13918:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13921:8:2","memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":15875,"src":"13918:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":1808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13918:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1809,"nodeType":"ExpressionStatement","src":"13918:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"13831:8:2","parameters":{"id":1800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1795,"mutability":"mutable","name":"left","nameLocation":"13847:4:2","nodeType":"VariableDeclaration","scope":1811,"src":"13840:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1794,"name":"int256","nodeType":"ElementaryTypeName","src":"13840:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1797,"mutability":"mutable","name":"right","nameLocation":"13860:5:2","nodeType":"VariableDeclaration","scope":1811,"src":"13853:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1796,"name":"int256","nodeType":"ElementaryTypeName","src":"13853:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1799,"mutability":"mutable","name":"err","nameLocation":"13881:3:2","nodeType":"VariableDeclaration","scope":1811,"src":"13867:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1798,"name":"string","nodeType":"ElementaryTypeName","src":"13867:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13839:46:2"},"returnParameters":{"id":1801,"nodeType":"ParameterList","parameters":[],"src":"13908:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1829,"nodeType":"FunctionDefinition","src":"13960:150:2","nodes":[],"body":{"id":1828,"nodeType":"Block","src":"14052:58:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1823,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1813,"src":"14081:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1824,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1815,"src":"14087:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1825,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1817,"src":"14094:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1820,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"14062:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14065:15:2","memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":15827,"src":"14062:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":1826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14062:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1827,"nodeType":"ExpressionStatement","src":"14062:41:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"13969:15:2","parameters":{"id":1818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1813,"mutability":"mutable","name":"left","nameLocation":"13992:4:2","nodeType":"VariableDeclaration","scope":1829,"src":"13985:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1812,"name":"int256","nodeType":"ElementaryTypeName","src":"13985:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1815,"mutability":"mutable","name":"right","nameLocation":"14005:5:2","nodeType":"VariableDeclaration","scope":1829,"src":"13998:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1814,"name":"int256","nodeType":"ElementaryTypeName","src":"13998:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1817,"mutability":"mutable","name":"decimals","nameLocation":"14020:8:2","nodeType":"VariableDeclaration","scope":1829,"src":"14012:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1816,"name":"uint256","nodeType":"ElementaryTypeName","src":"14012:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13984:45:2"},"returnParameters":{"id":1819,"nodeType":"ParameterList","parameters":[],"src":"14052:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1850,"nodeType":"FunctionDefinition","src":"14116:174:2","nodes":[],"body":{"id":1849,"nodeType":"Block","src":"14227:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1843,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1831,"src":"14256:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1844,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1833,"src":"14262:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1845,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1835,"src":"14269:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1846,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1837,"src":"14279:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1840,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"14237:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14240:15:2","memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":15839,"src":"14237:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,string memory) pure external"}},"id":1847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14237:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1848,"nodeType":"ExpressionStatement","src":"14237:46:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"14125:15:2","parameters":{"id":1838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1831,"mutability":"mutable","name":"left","nameLocation":"14148:4:2","nodeType":"VariableDeclaration","scope":1850,"src":"14141:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1830,"name":"int256","nodeType":"ElementaryTypeName","src":"14141:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1833,"mutability":"mutable","name":"right","nameLocation":"14161:5:2","nodeType":"VariableDeclaration","scope":1850,"src":"14154:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1832,"name":"int256","nodeType":"ElementaryTypeName","src":"14154:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1835,"mutability":"mutable","name":"decimals","nameLocation":"14176:8:2","nodeType":"VariableDeclaration","scope":1850,"src":"14168:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1834,"name":"uint256","nodeType":"ElementaryTypeName","src":"14168:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1837,"mutability":"mutable","name":"err","nameLocation":"14200:3:2","nodeType":"VariableDeclaration","scope":1850,"src":"14186:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1836,"name":"string","nodeType":"ElementaryTypeName","src":"14186:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14140:64:2"},"returnParameters":{"id":1839,"nodeType":"ParameterList","parameters":[],"src":"14227:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1865,"nodeType":"FunctionDefinition","src":"14296:110:2","nodes":[],"body":{"id":1864,"nodeType":"Block","src":"14365:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1860,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1852,"src":"14387:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1861,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1854,"src":"14393:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1857,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"14375:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14378:8:2","memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":15927,"src":"14375:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":1862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14375:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1863,"nodeType":"ExpressionStatement","src":"14375:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"14305:8:2","parameters":{"id":1855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1852,"mutability":"mutable","name":"left","nameLocation":"14322:4:2","nodeType":"VariableDeclaration","scope":1865,"src":"14314:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1851,"name":"uint256","nodeType":"ElementaryTypeName","src":"14314:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1854,"mutability":"mutable","name":"right","nameLocation":"14336:5:2","nodeType":"VariableDeclaration","scope":1865,"src":"14328:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1853,"name":"uint256","nodeType":"ElementaryTypeName","src":"14328:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14313:29:2"},"returnParameters":{"id":1856,"nodeType":"ParameterList","parameters":[],"src":"14365:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1883,"nodeType":"FunctionDefinition","src":"14412:134:2","nodes":[],"body":{"id":1882,"nodeType":"Block","src":"14500:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1877,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1867,"src":"14522:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1878,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1869,"src":"14528:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1879,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1871,"src":"14535:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1874,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"14510:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14513:8:2","memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":15937,"src":"14510:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":1880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14510:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1881,"nodeType":"ExpressionStatement","src":"14510:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"14421:8:2","parameters":{"id":1872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1867,"mutability":"mutable","name":"left","nameLocation":"14438:4:2","nodeType":"VariableDeclaration","scope":1883,"src":"14430:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1866,"name":"uint256","nodeType":"ElementaryTypeName","src":"14430:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1869,"mutability":"mutable","name":"right","nameLocation":"14452:5:2","nodeType":"VariableDeclaration","scope":1883,"src":"14444:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1868,"name":"uint256","nodeType":"ElementaryTypeName","src":"14444:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1871,"mutability":"mutable","name":"err","nameLocation":"14473:3:2","nodeType":"VariableDeclaration","scope":1883,"src":"14459:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1870,"name":"string","nodeType":"ElementaryTypeName","src":"14459:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14429:48:2"},"returnParameters":{"id":1873,"nodeType":"ParameterList","parameters":[],"src":"14500:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1901,"nodeType":"FunctionDefinition","src":"14552:152:2","nodes":[],"body":{"id":1900,"nodeType":"Block","src":"14646:58:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1895,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1885,"src":"14675:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1896,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1887,"src":"14681:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1897,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1889,"src":"14688:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1892,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"14656:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14659:15:2","memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":15885,"src":"14656:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":1898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14656:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1899,"nodeType":"ExpressionStatement","src":"14656:41:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"14561:15:2","parameters":{"id":1890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1885,"mutability":"mutable","name":"left","nameLocation":"14585:4:2","nodeType":"VariableDeclaration","scope":1901,"src":"14577:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1884,"name":"uint256","nodeType":"ElementaryTypeName","src":"14577:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1887,"mutability":"mutable","name":"right","nameLocation":"14599:5:2","nodeType":"VariableDeclaration","scope":1901,"src":"14591:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1886,"name":"uint256","nodeType":"ElementaryTypeName","src":"14591:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1889,"mutability":"mutable","name":"decimals","nameLocation":"14614:8:2","nodeType":"VariableDeclaration","scope":1901,"src":"14606:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1888,"name":"uint256","nodeType":"ElementaryTypeName","src":"14606:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14576:47:2"},"returnParameters":{"id":1891,"nodeType":"ParameterList","parameters":[],"src":"14646:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1922,"nodeType":"FunctionDefinition","src":"14710:176:2","nodes":[],"body":{"id":1921,"nodeType":"Block","src":"14823:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1915,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1903,"src":"14852:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1916,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"14858:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1917,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1907,"src":"14865:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1918,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1909,"src":"14875:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1912,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"14833:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14836:15:2","memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":15897,"src":"14833:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,string memory) pure external"}},"id":1919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14833:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1920,"nodeType":"ExpressionStatement","src":"14833:46:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"14719:15:2","parameters":{"id":1910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1903,"mutability":"mutable","name":"left","nameLocation":"14743:4:2","nodeType":"VariableDeclaration","scope":1922,"src":"14735:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1902,"name":"uint256","nodeType":"ElementaryTypeName","src":"14735:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1905,"mutability":"mutable","name":"right","nameLocation":"14757:5:2","nodeType":"VariableDeclaration","scope":1922,"src":"14749:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1904,"name":"uint256","nodeType":"ElementaryTypeName","src":"14749:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1907,"mutability":"mutable","name":"decimals","nameLocation":"14772:8:2","nodeType":"VariableDeclaration","scope":1922,"src":"14764:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1906,"name":"uint256","nodeType":"ElementaryTypeName","src":"14764:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1909,"mutability":"mutable","name":"err","nameLocation":"14796:3:2","nodeType":"VariableDeclaration","scope":1922,"src":"14782:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1908,"name":"string","nodeType":"ElementaryTypeName","src":"14782:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14734:66:2"},"returnParameters":{"id":1911,"nodeType":"ParameterList","parameters":[],"src":"14823:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1937,"nodeType":"FunctionDefinition","src":"14892:108:2","nodes":[],"body":{"id":1936,"nodeType":"Block","src":"14959:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1932,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"14981:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1933,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1926,"src":"14987:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":1929,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"14969:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14972:8:2","memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":15945,"src":"14969:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":1934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14969:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1935,"nodeType":"ExpressionStatement","src":"14969:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"14901:8:2","parameters":{"id":1927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1924,"mutability":"mutable","name":"left","nameLocation":"14917:4:2","nodeType":"VariableDeclaration","scope":1937,"src":"14910:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1923,"name":"int256","nodeType":"ElementaryTypeName","src":"14910:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1926,"mutability":"mutable","name":"right","nameLocation":"14930:5:2","nodeType":"VariableDeclaration","scope":1937,"src":"14923:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1925,"name":"int256","nodeType":"ElementaryTypeName","src":"14923:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"14909:27:2"},"returnParameters":{"id":1928,"nodeType":"ParameterList","parameters":[],"src":"14959:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1955,"nodeType":"FunctionDefinition","src":"15006:132:2","nodes":[],"body":{"id":1954,"nodeType":"Block","src":"15092:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1949,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1939,"src":"15114:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1950,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1941,"src":"15120:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1951,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1943,"src":"15127:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1946,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"15102:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15105:8:2","memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":15955,"src":"15102:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":1952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15102:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1953,"nodeType":"ExpressionStatement","src":"15102:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"15015:8:2","parameters":{"id":1944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1939,"mutability":"mutable","name":"left","nameLocation":"15031:4:2","nodeType":"VariableDeclaration","scope":1955,"src":"15024:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1938,"name":"int256","nodeType":"ElementaryTypeName","src":"15024:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1941,"mutability":"mutable","name":"right","nameLocation":"15044:5:2","nodeType":"VariableDeclaration","scope":1955,"src":"15037:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1940,"name":"int256","nodeType":"ElementaryTypeName","src":"15037:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1943,"mutability":"mutable","name":"err","nameLocation":"15065:3:2","nodeType":"VariableDeclaration","scope":1955,"src":"15051:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1942,"name":"string","nodeType":"ElementaryTypeName","src":"15051:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15023:46:2"},"returnParameters":{"id":1945,"nodeType":"ParameterList","parameters":[],"src":"15092:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1973,"nodeType":"FunctionDefinition","src":"15144:150:2","nodes":[],"body":{"id":1972,"nodeType":"Block","src":"15236:58:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1967,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1957,"src":"15265:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1968,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1959,"src":"15271:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1969,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1961,"src":"15278:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1964,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"15246:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15249:15:2","memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":15907,"src":"15246:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":1970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15246:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1971,"nodeType":"ExpressionStatement","src":"15246:41:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"15153:15:2","parameters":{"id":1962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1957,"mutability":"mutable","name":"left","nameLocation":"15176:4:2","nodeType":"VariableDeclaration","scope":1973,"src":"15169:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1956,"name":"int256","nodeType":"ElementaryTypeName","src":"15169:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1959,"mutability":"mutable","name":"right","nameLocation":"15189:5:2","nodeType":"VariableDeclaration","scope":1973,"src":"15182:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1958,"name":"int256","nodeType":"ElementaryTypeName","src":"15182:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1961,"mutability":"mutable","name":"decimals","nameLocation":"15204:8:2","nodeType":"VariableDeclaration","scope":1973,"src":"15196:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1960,"name":"uint256","nodeType":"ElementaryTypeName","src":"15196:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15168:45:2"},"returnParameters":{"id":1963,"nodeType":"ParameterList","parameters":[],"src":"15236:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1994,"nodeType":"FunctionDefinition","src":"15300:174:2","nodes":[],"body":{"id":1993,"nodeType":"Block","src":"15411:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1987,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"15440:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1988,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1977,"src":"15446:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1989,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1979,"src":"15453:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1990,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1981,"src":"15463:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1984,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"15421:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":1986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15424:15:2","memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":15919,"src":"15421:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,string memory) pure external"}},"id":1991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15421:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1992,"nodeType":"ExpressionStatement","src":"15421:46:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"15309:15:2","parameters":{"id":1982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1975,"mutability":"mutable","name":"left","nameLocation":"15332:4:2","nodeType":"VariableDeclaration","scope":1994,"src":"15325:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1974,"name":"int256","nodeType":"ElementaryTypeName","src":"15325:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1977,"mutability":"mutable","name":"right","nameLocation":"15345:5:2","nodeType":"VariableDeclaration","scope":1994,"src":"15338:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1976,"name":"int256","nodeType":"ElementaryTypeName","src":"15338:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1979,"mutability":"mutable","name":"decimals","nameLocation":"15360:8:2","nodeType":"VariableDeclaration","scope":1994,"src":"15352:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1978,"name":"uint256","nodeType":"ElementaryTypeName","src":"15352:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1981,"mutability":"mutable","name":"err","nameLocation":"15384:3:2","nodeType":"VariableDeclaration","scope":1994,"src":"15370:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1980,"name":"string","nodeType":"ElementaryTypeName","src":"15370:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15324:64:2"},"returnParameters":{"id":1983,"nodeType":"ParameterList","parameters":[],"src":"15411:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2009,"nodeType":"FunctionDefinition","src":"15480:110:2","nodes":[],"body":{"id":2008,"nodeType":"Block","src":"15549:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2004,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1996,"src":"15571:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2005,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1998,"src":"15577:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2001,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"15559:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":2003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15562:8:2","memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":15767,"src":"15559:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":2006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15559:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2007,"nodeType":"ExpressionStatement","src":"15559:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"15489:8:2","parameters":{"id":1999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1996,"mutability":"mutable","name":"left","nameLocation":"15506:4:2","nodeType":"VariableDeclaration","scope":2009,"src":"15498:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1995,"name":"uint256","nodeType":"ElementaryTypeName","src":"15498:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1998,"mutability":"mutable","name":"right","nameLocation":"15520:5:2","nodeType":"VariableDeclaration","scope":2009,"src":"15512:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1997,"name":"uint256","nodeType":"ElementaryTypeName","src":"15512:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15497:29:2"},"returnParameters":{"id":2000,"nodeType":"ParameterList","parameters":[],"src":"15549:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2027,"nodeType":"FunctionDefinition","src":"15596:134:2","nodes":[],"body":{"id":2026,"nodeType":"Block","src":"15684:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2021,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2011,"src":"15706:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2022,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2013,"src":"15712:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2023,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2015,"src":"15719:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2018,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"15694:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":2020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15697:8:2","memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":15777,"src":"15694:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":2024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15694:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2025,"nodeType":"ExpressionStatement","src":"15694:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"15605:8:2","parameters":{"id":2016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2011,"mutability":"mutable","name":"left","nameLocation":"15622:4:2","nodeType":"VariableDeclaration","scope":2027,"src":"15614:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2010,"name":"uint256","nodeType":"ElementaryTypeName","src":"15614:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2013,"mutability":"mutable","name":"right","nameLocation":"15636:5:2","nodeType":"VariableDeclaration","scope":2027,"src":"15628:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2012,"name":"uint256","nodeType":"ElementaryTypeName","src":"15628:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2015,"mutability":"mutable","name":"err","nameLocation":"15657:3:2","nodeType":"VariableDeclaration","scope":2027,"src":"15643:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2014,"name":"string","nodeType":"ElementaryTypeName","src":"15643:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15613:48:2"},"returnParameters":{"id":2017,"nodeType":"ParameterList","parameters":[],"src":"15684:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2045,"nodeType":"FunctionDefinition","src":"15736:152:2","nodes":[],"body":{"id":2044,"nodeType":"Block","src":"15830:58:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2039,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2029,"src":"15859:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2040,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2031,"src":"15865:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2041,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2033,"src":"15872:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2036,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"15840:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":2038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15843:15:2","memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":15725,"src":"15840:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":2042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15840:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2043,"nodeType":"ExpressionStatement","src":"15840:41:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"15745:15:2","parameters":{"id":2034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2029,"mutability":"mutable","name":"left","nameLocation":"15769:4:2","nodeType":"VariableDeclaration","scope":2045,"src":"15761:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2028,"name":"uint256","nodeType":"ElementaryTypeName","src":"15761:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2031,"mutability":"mutable","name":"right","nameLocation":"15783:5:2","nodeType":"VariableDeclaration","scope":2045,"src":"15775:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2030,"name":"uint256","nodeType":"ElementaryTypeName","src":"15775:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2033,"mutability":"mutable","name":"decimals","nameLocation":"15798:8:2","nodeType":"VariableDeclaration","scope":2045,"src":"15790:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2032,"name":"uint256","nodeType":"ElementaryTypeName","src":"15790:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15760:47:2"},"returnParameters":{"id":2035,"nodeType":"ParameterList","parameters":[],"src":"15830:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2066,"nodeType":"FunctionDefinition","src":"15894:176:2","nodes":[],"body":{"id":2065,"nodeType":"Block","src":"16007:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2059,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2047,"src":"16036:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2060,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2049,"src":"16042:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2061,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2051,"src":"16049:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2062,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2053,"src":"16059:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2056,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"16017:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":2058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16020:15:2","memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":15737,"src":"16017:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,string memory) pure external"}},"id":2063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16017:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2064,"nodeType":"ExpressionStatement","src":"16017:46:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"15903:15:2","parameters":{"id":2054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2047,"mutability":"mutable","name":"left","nameLocation":"15927:4:2","nodeType":"VariableDeclaration","scope":2066,"src":"15919:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2046,"name":"uint256","nodeType":"ElementaryTypeName","src":"15919:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2049,"mutability":"mutable","name":"right","nameLocation":"15941:5:2","nodeType":"VariableDeclaration","scope":2066,"src":"15933:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2048,"name":"uint256","nodeType":"ElementaryTypeName","src":"15933:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2051,"mutability":"mutable","name":"decimals","nameLocation":"15956:8:2","nodeType":"VariableDeclaration","scope":2066,"src":"15948:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2050,"name":"uint256","nodeType":"ElementaryTypeName","src":"15948:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2053,"mutability":"mutable","name":"err","nameLocation":"15980:3:2","nodeType":"VariableDeclaration","scope":2066,"src":"15966:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2052,"name":"string","nodeType":"ElementaryTypeName","src":"15966:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15918:66:2"},"returnParameters":{"id":2055,"nodeType":"ParameterList","parameters":[],"src":"16007:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2081,"nodeType":"FunctionDefinition","src":"16076:108:2","nodes":[],"body":{"id":2080,"nodeType":"Block","src":"16143:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2076,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2068,"src":"16165:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2077,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2070,"src":"16171:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2073,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"16153:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":2075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16156:8:2","memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":15785,"src":"16153:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":2078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16153:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2079,"nodeType":"ExpressionStatement","src":"16153:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"16085:8:2","parameters":{"id":2071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2068,"mutability":"mutable","name":"left","nameLocation":"16101:4:2","nodeType":"VariableDeclaration","scope":2081,"src":"16094:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2067,"name":"int256","nodeType":"ElementaryTypeName","src":"16094:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2070,"mutability":"mutable","name":"right","nameLocation":"16114:5:2","nodeType":"VariableDeclaration","scope":2081,"src":"16107:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2069,"name":"int256","nodeType":"ElementaryTypeName","src":"16107:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"16093:27:2"},"returnParameters":{"id":2072,"nodeType":"ParameterList","parameters":[],"src":"16143:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2099,"nodeType":"FunctionDefinition","src":"16190:132:2","nodes":[],"body":{"id":2098,"nodeType":"Block","src":"16276:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2093,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2083,"src":"16298:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2094,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2085,"src":"16304:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2095,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2087,"src":"16311:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2090,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"16286:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":2092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16289:8:2","memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":15795,"src":"16286:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":2096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16286:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2097,"nodeType":"ExpressionStatement","src":"16286:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"16199:8:2","parameters":{"id":2088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2083,"mutability":"mutable","name":"left","nameLocation":"16215:4:2","nodeType":"VariableDeclaration","scope":2099,"src":"16208:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2082,"name":"int256","nodeType":"ElementaryTypeName","src":"16208:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2085,"mutability":"mutable","name":"right","nameLocation":"16228:5:2","nodeType":"VariableDeclaration","scope":2099,"src":"16221:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2084,"name":"int256","nodeType":"ElementaryTypeName","src":"16221:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2087,"mutability":"mutable","name":"err","nameLocation":"16249:3:2","nodeType":"VariableDeclaration","scope":2099,"src":"16235:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2086,"name":"string","nodeType":"ElementaryTypeName","src":"16235:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16207:46:2"},"returnParameters":{"id":2089,"nodeType":"ParameterList","parameters":[],"src":"16276:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2117,"nodeType":"FunctionDefinition","src":"16328:150:2","nodes":[],"body":{"id":2116,"nodeType":"Block","src":"16420:58:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2111,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2101,"src":"16449:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2112,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2103,"src":"16455:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2113,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2105,"src":"16462:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2108,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"16430:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":2110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16433:15:2","memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":15747,"src":"16430:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":2114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16430:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2115,"nodeType":"ExpressionStatement","src":"16430:41:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"16337:15:2","parameters":{"id":2106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2101,"mutability":"mutable","name":"left","nameLocation":"16360:4:2","nodeType":"VariableDeclaration","scope":2117,"src":"16353:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2100,"name":"int256","nodeType":"ElementaryTypeName","src":"16353:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2103,"mutability":"mutable","name":"right","nameLocation":"16373:5:2","nodeType":"VariableDeclaration","scope":2117,"src":"16366:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2102,"name":"int256","nodeType":"ElementaryTypeName","src":"16366:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2105,"mutability":"mutable","name":"decimals","nameLocation":"16388:8:2","nodeType":"VariableDeclaration","scope":2117,"src":"16380:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2104,"name":"uint256","nodeType":"ElementaryTypeName","src":"16380:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16352:45:2"},"returnParameters":{"id":2107,"nodeType":"ParameterList","parameters":[],"src":"16420:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2138,"nodeType":"FunctionDefinition","src":"16484:174:2","nodes":[],"body":{"id":2137,"nodeType":"Block","src":"16595:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2131,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2119,"src":"16624:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2132,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2121,"src":"16630:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2133,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2123,"src":"16637:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2134,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2125,"src":"16647:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2128,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"16605:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":2130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16608:15:2","memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":15759,"src":"16605:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,string memory) pure external"}},"id":2135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16605:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2136,"nodeType":"ExpressionStatement","src":"16605:46:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"16493:15:2","parameters":{"id":2126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2119,"mutability":"mutable","name":"left","nameLocation":"16516:4:2","nodeType":"VariableDeclaration","scope":2138,"src":"16509:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2118,"name":"int256","nodeType":"ElementaryTypeName","src":"16509:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2121,"mutability":"mutable","name":"right","nameLocation":"16529:5:2","nodeType":"VariableDeclaration","scope":2138,"src":"16522:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2120,"name":"int256","nodeType":"ElementaryTypeName","src":"16522:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2123,"mutability":"mutable","name":"decimals","nameLocation":"16544:8:2","nodeType":"VariableDeclaration","scope":2138,"src":"16536:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2122,"name":"uint256","nodeType":"ElementaryTypeName","src":"16536:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2125,"mutability":"mutable","name":"err","nameLocation":"16568:3:2","nodeType":"VariableDeclaration","scope":2138,"src":"16554:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2124,"name":"string","nodeType":"ElementaryTypeName","src":"16554:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16508:64:2"},"returnParameters":{"id":2127,"nodeType":"ParameterList","parameters":[],"src":"16595:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2156,"nodeType":"FunctionDefinition","src":"16664:156:2","nodes":[],"body":{"id":2155,"nodeType":"Block","src":"16760:60:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2150,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2140,"src":"16791:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2151,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2142,"src":"16797:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2152,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2144,"src":"16804:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2147,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"16770:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":2149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16773:17:2","memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":15247,"src":"16770:20:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":2153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16770:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2154,"nodeType":"ExpressionStatement","src":"16770:43:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"16673:17:2","parameters":{"id":2145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2140,"mutability":"mutable","name":"left","nameLocation":"16699:4:2","nodeType":"VariableDeclaration","scope":2156,"src":"16691:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2139,"name":"uint256","nodeType":"ElementaryTypeName","src":"16691:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2142,"mutability":"mutable","name":"right","nameLocation":"16713:5:2","nodeType":"VariableDeclaration","scope":2156,"src":"16705:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2141,"name":"uint256","nodeType":"ElementaryTypeName","src":"16705:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2144,"mutability":"mutable","name":"maxDelta","nameLocation":"16728:8:2","nodeType":"VariableDeclaration","scope":2156,"src":"16720:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2143,"name":"uint256","nodeType":"ElementaryTypeName","src":"16720:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16690:47:2"},"returnParameters":{"id":2146,"nodeType":"ParameterList","parameters":[],"src":"16760:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2177,"nodeType":"FunctionDefinition","src":"16826:208:2","nodes":[],"body":{"id":2176,"nodeType":"Block","src":"16969:65:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2170,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2158,"src":"17000:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2171,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2160,"src":"17006:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2172,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2162,"src":"17013:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2173,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2164,"src":"17023:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2167,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"16979:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":2169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16982:17:2","memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":15259,"src":"16979:20:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,string memory) pure external"}},"id":2174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16979:48:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2175,"nodeType":"ExpressionStatement","src":"16979:48:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"16835:17:2","parameters":{"id":2165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2158,"mutability":"mutable","name":"left","nameLocation":"16861:4:2","nodeType":"VariableDeclaration","scope":2177,"src":"16853:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2157,"name":"uint256","nodeType":"ElementaryTypeName","src":"16853:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2160,"mutability":"mutable","name":"right","nameLocation":"16875:5:2","nodeType":"VariableDeclaration","scope":2177,"src":"16867:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2159,"name":"uint256","nodeType":"ElementaryTypeName","src":"16867:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2162,"mutability":"mutable","name":"maxDelta","nameLocation":"16890:8:2","nodeType":"VariableDeclaration","scope":2177,"src":"16882:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2161,"name":"uint256","nodeType":"ElementaryTypeName","src":"16882:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2164,"mutability":"mutable","name":"err","nameLocation":"16914:3:2","nodeType":"VariableDeclaration","scope":2177,"src":"16900:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2163,"name":"string","nodeType":"ElementaryTypeName","src":"16900:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16852:66:2"},"returnParameters":{"id":2166,"nodeType":"ParameterList","parameters":[],"src":"16969:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2198,"nodeType":"FunctionDefinition","src":"17040:226:2","nodes":[],"body":{"id":2197,"nodeType":"Block","src":"17189:77:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2191,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2179,"src":"17227:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2192,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2181,"src":"17233:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2193,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2183,"src":"17240:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2194,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2185,"src":"17250:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2188,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"17199:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":2190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17202:24:2","memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":15197,"src":"17199:27:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256) pure external"}},"id":2195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17199:60:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2196,"nodeType":"ExpressionStatement","src":"17199:60:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"17049:24:2","parameters":{"id":2186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2179,"mutability":"mutable","name":"left","nameLocation":"17082:4:2","nodeType":"VariableDeclaration","scope":2198,"src":"17074:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2178,"name":"uint256","nodeType":"ElementaryTypeName","src":"17074:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2181,"mutability":"mutable","name":"right","nameLocation":"17096:5:2","nodeType":"VariableDeclaration","scope":2198,"src":"17088:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2180,"name":"uint256","nodeType":"ElementaryTypeName","src":"17088:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2183,"mutability":"mutable","name":"maxDelta","nameLocation":"17111:8:2","nodeType":"VariableDeclaration","scope":2198,"src":"17103:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2182,"name":"uint256","nodeType":"ElementaryTypeName","src":"17103:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2185,"mutability":"mutable","name":"decimals","nameLocation":"17129:8:2","nodeType":"VariableDeclaration","scope":2198,"src":"17121:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2184,"name":"uint256","nodeType":"ElementaryTypeName","src":"17121:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17073:65:2"},"returnParameters":{"id":2187,"nodeType":"ParameterList","parameters":[],"src":"17189:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2222,"nodeType":"FunctionDefinition","src":"17272:268:2","nodes":[],"body":{"id":2221,"nodeType":"Block","src":"17458:82:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2214,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2200,"src":"17496:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2215,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2202,"src":"17502:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2216,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2204,"src":"17509:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2217,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"17519:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2218,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2208,"src":"17529:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2211,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"17468:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":2213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17471:24:2","memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":15211,"src":"17468:27:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256,string memory) pure external"}},"id":2219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17468:65:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2220,"nodeType":"ExpressionStatement","src":"17468:65:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"17281:24:2","parameters":{"id":2209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2200,"mutability":"mutable","name":"left","nameLocation":"17323:4:2","nodeType":"VariableDeclaration","scope":2222,"src":"17315:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2199,"name":"uint256","nodeType":"ElementaryTypeName","src":"17315:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2202,"mutability":"mutable","name":"right","nameLocation":"17345:5:2","nodeType":"VariableDeclaration","scope":2222,"src":"17337:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2201,"name":"uint256","nodeType":"ElementaryTypeName","src":"17337:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2204,"mutability":"mutable","name":"maxDelta","nameLocation":"17368:8:2","nodeType":"VariableDeclaration","scope":2222,"src":"17360:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2203,"name":"uint256","nodeType":"ElementaryTypeName","src":"17360:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2206,"mutability":"mutable","name":"decimals","nameLocation":"17394:8:2","nodeType":"VariableDeclaration","scope":2222,"src":"17386:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2205,"name":"uint256","nodeType":"ElementaryTypeName","src":"17386:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2208,"mutability":"mutable","name":"err","nameLocation":"17426:3:2","nodeType":"VariableDeclaration","scope":2222,"src":"17412:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2207,"name":"string","nodeType":"ElementaryTypeName","src":"17412:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17305:130:2"},"returnParameters":{"id":2210,"nodeType":"ParameterList","parameters":[],"src":"17458:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2240,"nodeType":"FunctionDefinition","src":"17546:154:2","nodes":[],"body":{"id":2239,"nodeType":"Block","src":"17640:60:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2234,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2224,"src":"17671:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2235,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2226,"src":"17677:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2236,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2228,"src":"17684:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2231,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"17650:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":2233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17653:17:2","memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":15269,"src":"17650:20:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":2237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17650:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2238,"nodeType":"ExpressionStatement","src":"17650:43:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"17555:17:2","parameters":{"id":2229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2224,"mutability":"mutable","name":"left","nameLocation":"17580:4:2","nodeType":"VariableDeclaration","scope":2240,"src":"17573:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2223,"name":"int256","nodeType":"ElementaryTypeName","src":"17573:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2226,"mutability":"mutable","name":"right","nameLocation":"17593:5:2","nodeType":"VariableDeclaration","scope":2240,"src":"17586:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2225,"name":"int256","nodeType":"ElementaryTypeName","src":"17586:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2228,"mutability":"mutable","name":"maxDelta","nameLocation":"17608:8:2","nodeType":"VariableDeclaration","scope":2240,"src":"17600:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2227,"name":"uint256","nodeType":"ElementaryTypeName","src":"17600:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17572:45:2"},"returnParameters":{"id":2230,"nodeType":"ParameterList","parameters":[],"src":"17640:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2261,"nodeType":"FunctionDefinition","src":"17706:178:2","nodes":[],"body":{"id":2260,"nodeType":"Block","src":"17819:65:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2254,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2242,"src":"17850:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2255,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2244,"src":"17856:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2256,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2246,"src":"17863:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2257,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"17873:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2251,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"17829:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":2253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17832:17:2","memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":15281,"src":"17829:20:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,string memory) pure external"}},"id":2258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17829:48:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2259,"nodeType":"ExpressionStatement","src":"17829:48:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"17715:17:2","parameters":{"id":2249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2242,"mutability":"mutable","name":"left","nameLocation":"17740:4:2","nodeType":"VariableDeclaration","scope":2261,"src":"17733:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2241,"name":"int256","nodeType":"ElementaryTypeName","src":"17733:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2244,"mutability":"mutable","name":"right","nameLocation":"17753:5:2","nodeType":"VariableDeclaration","scope":2261,"src":"17746:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2243,"name":"int256","nodeType":"ElementaryTypeName","src":"17746:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2246,"mutability":"mutable","name":"maxDelta","nameLocation":"17768:8:2","nodeType":"VariableDeclaration","scope":2261,"src":"17760:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2245,"name":"uint256","nodeType":"ElementaryTypeName","src":"17760:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2248,"mutability":"mutable","name":"err","nameLocation":"17792:3:2","nodeType":"VariableDeclaration","scope":2261,"src":"17778:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2247,"name":"string","nodeType":"ElementaryTypeName","src":"17778:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17732:64:2"},"returnParameters":{"id":2250,"nodeType":"ParameterList","parameters":[],"src":"17819:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2282,"nodeType":"FunctionDefinition","src":"17890:224:2","nodes":[],"body":{"id":2281,"nodeType":"Block","src":"18037:77:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2275,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2263,"src":"18075:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2276,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2265,"src":"18081:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2277,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2267,"src":"18088:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2278,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2269,"src":"18098:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2272,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"18047:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":2274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18050:24:2","memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":15223,"src":"18047:27:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256,uint256) pure external"}},"id":2279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18047:60:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2280,"nodeType":"ExpressionStatement","src":"18047:60:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"17899:24:2","parameters":{"id":2270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2263,"mutability":"mutable","name":"left","nameLocation":"17931:4:2","nodeType":"VariableDeclaration","scope":2282,"src":"17924:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2262,"name":"int256","nodeType":"ElementaryTypeName","src":"17924:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2265,"mutability":"mutable","name":"right","nameLocation":"17944:5:2","nodeType":"VariableDeclaration","scope":2282,"src":"17937:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2264,"name":"int256","nodeType":"ElementaryTypeName","src":"17937:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2267,"mutability":"mutable","name":"maxDelta","nameLocation":"17959:8:2","nodeType":"VariableDeclaration","scope":2282,"src":"17951:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2266,"name":"uint256","nodeType":"ElementaryTypeName","src":"17951:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2269,"mutability":"mutable","name":"decimals","nameLocation":"17977:8:2","nodeType":"VariableDeclaration","scope":2282,"src":"17969:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2268,"name":"uint256","nodeType":"ElementaryTypeName","src":"17969:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17923:63:2"},"returnParameters":{"id":2271,"nodeType":"ParameterList","parameters":[],"src":"18037:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2306,"nodeType":"FunctionDefinition","src":"18120:248:2","nodes":[],"body":{"id":2305,"nodeType":"Block","src":"18286:82:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2298,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2284,"src":"18324:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2299,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2286,"src":"18330:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2300,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2288,"src":"18337:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2301,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2290,"src":"18347:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2302,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2292,"src":"18357:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2295,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"18296:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":2297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18299:24:2","memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":15237,"src":"18296:27:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,uint256,string memory) pure external"}},"id":2303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18296:65:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2304,"nodeType":"ExpressionStatement","src":"18296:65:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"18129:24:2","parameters":{"id":2293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2284,"mutability":"mutable","name":"left","nameLocation":"18161:4:2","nodeType":"VariableDeclaration","scope":2306,"src":"18154:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2283,"name":"int256","nodeType":"ElementaryTypeName","src":"18154:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2286,"mutability":"mutable","name":"right","nameLocation":"18174:5:2","nodeType":"VariableDeclaration","scope":2306,"src":"18167:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2285,"name":"int256","nodeType":"ElementaryTypeName","src":"18167:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2288,"mutability":"mutable","name":"maxDelta","nameLocation":"18189:8:2","nodeType":"VariableDeclaration","scope":2306,"src":"18181:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2287,"name":"uint256","nodeType":"ElementaryTypeName","src":"18181:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2290,"mutability":"mutable","name":"decimals","nameLocation":"18207:8:2","nodeType":"VariableDeclaration","scope":2306,"src":"18199:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2289,"name":"uint256","nodeType":"ElementaryTypeName","src":"18199:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2292,"mutability":"mutable","name":"err","nameLocation":"18231:3:2","nodeType":"VariableDeclaration","scope":2306,"src":"18217:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2291,"name":"string","nodeType":"ElementaryTypeName","src":"18217:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18153:82:2"},"returnParameters":{"id":2294,"nodeType":"ParameterList","parameters":[],"src":"18286:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2324,"nodeType":"FunctionDefinition","src":"18374:256:2","nodes":[],"body":{"id":2323,"nodeType":"Block","src":"18563:67:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2318,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2308,"src":"18594:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2319,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2310,"src":"18600:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2320,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2312,"src":"18607:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2315,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"18573:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":2317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18576:17:2","memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":15343,"src":"18573:20:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":2321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18573:50:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2322,"nodeType":"ExpressionStatement","src":"18573:50:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"18383:17:2","parameters":{"id":2313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2308,"mutability":"mutable","name":"left","nameLocation":"18418:4:2","nodeType":"VariableDeclaration","scope":2324,"src":"18410:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2307,"name":"uint256","nodeType":"ElementaryTypeName","src":"18410:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2310,"mutability":"mutable","name":"right","nameLocation":"18440:5:2","nodeType":"VariableDeclaration","scope":2324,"src":"18432:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2309,"name":"uint256","nodeType":"ElementaryTypeName","src":"18432:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2312,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"18463:15:2","nodeType":"VariableDeclaration","scope":2324,"src":"18455:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2311,"name":"uint256","nodeType":"ElementaryTypeName","src":"18455:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18400:140:2"},"returnParameters":{"id":2314,"nodeType":"ParameterList","parameters":[],"src":"18563:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2345,"nodeType":"FunctionDefinition","src":"18636:288:2","nodes":[],"body":{"id":2344,"nodeType":"Block","src":"18852:72:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2338,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2326,"src":"18883:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2339,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2328,"src":"18889:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2340,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2330,"src":"18896:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2341,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2332,"src":"18913:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2335,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"18862:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":2337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18865:17:2","memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":15355,"src":"18862:20:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,string memory) pure external"}},"id":2342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18862:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2343,"nodeType":"ExpressionStatement","src":"18862:55:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"18645:17:2","parameters":{"id":2333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2326,"mutability":"mutable","name":"left","nameLocation":"18680:4:2","nodeType":"VariableDeclaration","scope":2345,"src":"18672:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2325,"name":"uint256","nodeType":"ElementaryTypeName","src":"18672:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2328,"mutability":"mutable","name":"right","nameLocation":"18702:5:2","nodeType":"VariableDeclaration","scope":2345,"src":"18694:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2327,"name":"uint256","nodeType":"ElementaryTypeName","src":"18694:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2330,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"18725:15:2","nodeType":"VariableDeclaration","scope":2345,"src":"18717:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2329,"name":"uint256","nodeType":"ElementaryTypeName","src":"18717:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2332,"mutability":"mutable","name":"err","nameLocation":"18820:3:2","nodeType":"VariableDeclaration","scope":2345,"src":"18806:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2331,"name":"string","nodeType":"ElementaryTypeName","src":"18806:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18662:167:2"},"returnParameters":{"id":2334,"nodeType":"ParameterList","parameters":[],"src":"18852:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2366,"nodeType":"FunctionDefinition","src":"18930:306:2","nodes":[],"body":{"id":2365,"nodeType":"Block","src":"19152:84:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2359,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2347,"src":"19190:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2360,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2349,"src":"19196:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2361,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2351,"src":"19203:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2362,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2353,"src":"19220:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2356,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"19162:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":2358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19165:24:2","memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":15293,"src":"19162:27:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256) pure external"}},"id":2363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19162:67:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2364,"nodeType":"ExpressionStatement","src":"19162:67:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"18939:24:2","parameters":{"id":2354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2347,"mutability":"mutable","name":"left","nameLocation":"18981:4:2","nodeType":"VariableDeclaration","scope":2366,"src":"18973:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2346,"name":"uint256","nodeType":"ElementaryTypeName","src":"18973:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2349,"mutability":"mutable","name":"right","nameLocation":"19003:5:2","nodeType":"VariableDeclaration","scope":2366,"src":"18995:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2348,"name":"uint256","nodeType":"ElementaryTypeName","src":"18995:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2351,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"19026:15:2","nodeType":"VariableDeclaration","scope":2366,"src":"19018:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2350,"name":"uint256","nodeType":"ElementaryTypeName","src":"19018:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2353,"mutability":"mutable","name":"decimals","nameLocation":"19115:8:2","nodeType":"VariableDeclaration","scope":2366,"src":"19107:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2352,"name":"uint256","nodeType":"ElementaryTypeName","src":"19107:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18963:166:2"},"returnParameters":{"id":2355,"nodeType":"ParameterList","parameters":[],"src":"19152:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2390,"nodeType":"FunctionDefinition","src":"19242:338:2","nodes":[],"body":{"id":2389,"nodeType":"Block","src":"19491:89:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2382,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2368,"src":"19529:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2383,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2370,"src":"19535:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2384,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2372,"src":"19542:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2385,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2374,"src":"19559:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2386,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2376,"src":"19569:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2379,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"19501:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":2381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19504:24:2","memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":15307,"src":"19501:27:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256,string memory) pure external"}},"id":2387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19501:72:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2388,"nodeType":"ExpressionStatement","src":"19501:72:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"19251:24:2","parameters":{"id":2377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2368,"mutability":"mutable","name":"left","nameLocation":"19293:4:2","nodeType":"VariableDeclaration","scope":2390,"src":"19285:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2367,"name":"uint256","nodeType":"ElementaryTypeName","src":"19285:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2370,"mutability":"mutable","name":"right","nameLocation":"19315:5:2","nodeType":"VariableDeclaration","scope":2390,"src":"19307:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2369,"name":"uint256","nodeType":"ElementaryTypeName","src":"19307:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2372,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"19338:15:2","nodeType":"VariableDeclaration","scope":2390,"src":"19330:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2371,"name":"uint256","nodeType":"ElementaryTypeName","src":"19330:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2374,"mutability":"mutable","name":"decimals","nameLocation":"19427:8:2","nodeType":"VariableDeclaration","scope":2390,"src":"19419:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2373,"name":"uint256","nodeType":"ElementaryTypeName","src":"19419:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2376,"mutability":"mutable","name":"err","nameLocation":"19459:3:2","nodeType":"VariableDeclaration","scope":2390,"src":"19445:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2375,"name":"string","nodeType":"ElementaryTypeName","src":"19445:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19275:193:2"},"returnParameters":{"id":2378,"nodeType":"ParameterList","parameters":[],"src":"19491:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2408,"nodeType":"FunctionDefinition","src":"19586:168:2","nodes":[],"body":{"id":2407,"nodeType":"Block","src":"19687:67:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2402,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2392,"src":"19718:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2403,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2394,"src":"19724:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2404,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2396,"src":"19731:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2399,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"19697:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":2401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19700:17:2","memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":15365,"src":"19697:20:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":2405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19697:50:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2406,"nodeType":"ExpressionStatement","src":"19697:50:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"19595:17:2","parameters":{"id":2397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2392,"mutability":"mutable","name":"left","nameLocation":"19620:4:2","nodeType":"VariableDeclaration","scope":2408,"src":"19613:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2391,"name":"int256","nodeType":"ElementaryTypeName","src":"19613:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2394,"mutability":"mutable","name":"right","nameLocation":"19633:5:2","nodeType":"VariableDeclaration","scope":2408,"src":"19626:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2393,"name":"int256","nodeType":"ElementaryTypeName","src":"19626:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2396,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"19648:15:2","nodeType":"VariableDeclaration","scope":2408,"src":"19640:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2395,"name":"uint256","nodeType":"ElementaryTypeName","src":"19640:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19612:52:2"},"returnParameters":{"id":2398,"nodeType":"ParameterList","parameters":[],"src":"19687:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2429,"nodeType":"FunctionDefinition","src":"19760:286:2","nodes":[],"body":{"id":2428,"nodeType":"Block","src":"19974:72:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2422,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2410,"src":"20005:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2423,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2412,"src":"20011:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2424,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2414,"src":"20018:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2425,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2416,"src":"20035:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2419,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"19984:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":2421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19987:17:2","memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":15377,"src":"19984:20:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,string memory) pure external"}},"id":2426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19984:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2427,"nodeType":"ExpressionStatement","src":"19984:55:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"19769:17:2","parameters":{"id":2417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2410,"mutability":"mutable","name":"left","nameLocation":"19803:4:2","nodeType":"VariableDeclaration","scope":2429,"src":"19796:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2409,"name":"int256","nodeType":"ElementaryTypeName","src":"19796:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2412,"mutability":"mutable","name":"right","nameLocation":"19824:5:2","nodeType":"VariableDeclaration","scope":2429,"src":"19817:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2411,"name":"int256","nodeType":"ElementaryTypeName","src":"19817:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2414,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"19847:15:2","nodeType":"VariableDeclaration","scope":2429,"src":"19839:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2413,"name":"uint256","nodeType":"ElementaryTypeName","src":"19839:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2416,"mutability":"mutable","name":"err","nameLocation":"19942:3:2","nodeType":"VariableDeclaration","scope":2429,"src":"19928:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2415,"name":"string","nodeType":"ElementaryTypeName","src":"19928:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19786:165:2"},"returnParameters":{"id":2418,"nodeType":"ParameterList","parameters":[],"src":"19974:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2450,"nodeType":"FunctionDefinition","src":"20052:304:2","nodes":[],"body":{"id":2449,"nodeType":"Block","src":"20272:84:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2443,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2431,"src":"20310:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2444,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2433,"src":"20316:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2445,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2435,"src":"20323:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2446,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2437,"src":"20340:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2440,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"20282:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":2442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20285:24:2","memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":15319,"src":"20282:27:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256,uint256) pure external"}},"id":2447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20282:67:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2448,"nodeType":"ExpressionStatement","src":"20282:67:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"20061:24:2","parameters":{"id":2438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2431,"mutability":"mutable","name":"left","nameLocation":"20102:4:2","nodeType":"VariableDeclaration","scope":2450,"src":"20095:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2430,"name":"int256","nodeType":"ElementaryTypeName","src":"20095:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2433,"mutability":"mutable","name":"right","nameLocation":"20123:5:2","nodeType":"VariableDeclaration","scope":2450,"src":"20116:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2432,"name":"int256","nodeType":"ElementaryTypeName","src":"20116:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2435,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"20146:15:2","nodeType":"VariableDeclaration","scope":2450,"src":"20138:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2434,"name":"uint256","nodeType":"ElementaryTypeName","src":"20138:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2437,"mutability":"mutable","name":"decimals","nameLocation":"20235:8:2","nodeType":"VariableDeclaration","scope":2450,"src":"20227:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2436,"name":"uint256","nodeType":"ElementaryTypeName","src":"20227:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20085:164:2"},"returnParameters":{"id":2439,"nodeType":"ParameterList","parameters":[],"src":"20272:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2474,"nodeType":"FunctionDefinition","src":"20362:336:2","nodes":[],"body":{"id":2473,"nodeType":"Block","src":"20609:89:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2466,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2452,"src":"20647:4:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2467,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2454,"src":"20653:5:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2468,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2456,"src":"20660:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2469,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2458,"src":"20677:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2470,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2460,"src":"20687:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2463,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"20619:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":2465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20622:24:2","memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":15333,"src":"20619:27:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,uint256,uint256,string memory) pure external"}},"id":2471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20619:72:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2472,"nodeType":"ExpressionStatement","src":"20619:72:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"20371:24:2","parameters":{"id":2461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2452,"mutability":"mutable","name":"left","nameLocation":"20412:4:2","nodeType":"VariableDeclaration","scope":2474,"src":"20405:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2451,"name":"int256","nodeType":"ElementaryTypeName","src":"20405:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2454,"mutability":"mutable","name":"right","nameLocation":"20433:5:2","nodeType":"VariableDeclaration","scope":2474,"src":"20426:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2453,"name":"int256","nodeType":"ElementaryTypeName","src":"20426:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2456,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"20456:15:2","nodeType":"VariableDeclaration","scope":2474,"src":"20448:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2455,"name":"uint256","nodeType":"ElementaryTypeName","src":"20448:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2458,"mutability":"mutable","name":"decimals","nameLocation":"20545:8:2","nodeType":"VariableDeclaration","scope":2474,"src":"20537:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2457,"name":"uint256","nodeType":"ElementaryTypeName","src":"20537:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2460,"mutability":"mutable","name":"err","nameLocation":"20577:3:2","nodeType":"VariableDeclaration","scope":2474,"src":"20563:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2459,"name":"string","nodeType":"ElementaryTypeName","src":"20563:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20395:191:2"},"returnParameters":{"id":2462,"nodeType":"ParameterList","parameters":[],"src":"20609:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2492,"nodeType":"FunctionDefinition","src":"20780:145:2","nodes":[],"body":{"id":2491,"nodeType":"Block","src":"20866:59:2","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":2484,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2476,"src":"20893:4:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2483,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"20883:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20883:15:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":2487,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2478,"src":"20912:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2486,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"20902:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20902:16:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"20883:35:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2482,"id":2490,"nodeType":"Return","src":"20876:42:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkEq0","nameLocation":"20789:8:2","parameters":{"id":2479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2476,"mutability":"mutable","name":"left","nameLocation":"20811:4:2","nodeType":"VariableDeclaration","scope":2492,"src":"20798:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2475,"name":"bytes","nodeType":"ElementaryTypeName","src":"20798:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2478,"mutability":"mutable","name":"right","nameLocation":"20830:5:2","nodeType":"VariableDeclaration","scope":2492,"src":"20817:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2477,"name":"bytes","nodeType":"ElementaryTypeName","src":"20817:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20797:39:2"},"returnParameters":{"id":2482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2492,"src":"20860:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2480,"name":"bool","nodeType":"ElementaryTypeName","src":"20860:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20859:6:2"},"scope":2721,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2505,"nodeType":"FunctionDefinition","src":"20931:118:2","nodes":[],"body":{"id":2504,"nodeType":"Block","src":"21011:38:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2500,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2494,"src":"21030:4:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2501,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2496,"src":"21036:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2499,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":675,"src":"21021:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory) pure"}},"id":2502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21021:21:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2503,"nodeType":"ExpressionStatement","src":"21021:21:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq0","nameLocation":"20940:9:2","parameters":{"id":2497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2494,"mutability":"mutable","name":"left","nameLocation":"20963:4:2","nodeType":"VariableDeclaration","scope":2505,"src":"20950:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2493,"name":"bytes","nodeType":"ElementaryTypeName","src":"20950:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2496,"mutability":"mutable","name":"right","nameLocation":"20982:5:2","nodeType":"VariableDeclaration","scope":2505,"src":"20969:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2495,"name":"bytes","nodeType":"ElementaryTypeName","src":"20969:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20949:39:2"},"returnParameters":{"id":2498,"nodeType":"ParameterList","parameters":[],"src":"21011:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2521,"nodeType":"FunctionDefinition","src":"21055:142:2","nodes":[],"body":{"id":2520,"nodeType":"Block","src":"21154:43:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2515,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2507,"src":"21173:4:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2516,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2509,"src":"21179:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2517,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2511,"src":"21186:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2514,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":693,"src":"21164:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory,string memory) pure"}},"id":2518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21164:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2519,"nodeType":"ExpressionStatement","src":"21164:26:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq0","nameLocation":"21064:9:2","parameters":{"id":2512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2507,"mutability":"mutable","name":"left","nameLocation":"21087:4:2","nodeType":"VariableDeclaration","scope":2521,"src":"21074:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2506,"name":"bytes","nodeType":"ElementaryTypeName","src":"21074:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2509,"mutability":"mutable","name":"right","nameLocation":"21106:5:2","nodeType":"VariableDeclaration","scope":2521,"src":"21093:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2508,"name":"bytes","nodeType":"ElementaryTypeName","src":"21093:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2511,"mutability":"mutable","name":"err","nameLocation":"21127:3:2","nodeType":"VariableDeclaration","scope":2521,"src":"21113:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2510,"name":"string","nodeType":"ElementaryTypeName","src":"21113:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21073:58:2"},"returnParameters":{"id":2513,"nodeType":"ParameterList","parameters":[],"src":"21154:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2534,"nodeType":"FunctionDefinition","src":"21203:124:2","nodes":[],"body":{"id":2533,"nodeType":"Block","src":"21286:41:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2529,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2523,"src":"21308:4:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2530,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2525,"src":"21314:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2528,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[980,998,1013,1031,1085,1103,1157,1175,1190,1208,1252,1270,1285,1303,1320,1340,1357,1377,1394,1414,1431,1451,1468,1488,1505,1525,1542,1562],"referencedDeclaration":1285,"src":"21296:11:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory) pure"}},"id":2531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21296:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2532,"nodeType":"ExpressionStatement","src":"21296:24:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq0","nameLocation":"21212:12:2","parameters":{"id":2526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2523,"mutability":"mutable","name":"left","nameLocation":"21238:4:2","nodeType":"VariableDeclaration","scope":2534,"src":"21225:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2522,"name":"bytes","nodeType":"ElementaryTypeName","src":"21225:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2525,"mutability":"mutable","name":"right","nameLocation":"21257:5:2","nodeType":"VariableDeclaration","scope":2534,"src":"21244:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2524,"name":"bytes","nodeType":"ElementaryTypeName","src":"21244:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21224:39:2"},"returnParameters":{"id":2527,"nodeType":"ParameterList","parameters":[],"src":"21286:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2550,"nodeType":"FunctionDefinition","src":"21333:148:2","nodes":[],"body":{"id":2549,"nodeType":"Block","src":"21435:46:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2544,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2536,"src":"21457:4:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2545,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2538,"src":"21463:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2546,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2540,"src":"21470:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2543,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[980,998,1013,1031,1085,1103,1157,1175,1190,1208,1252,1270,1285,1303,1320,1340,1357,1377,1394,1414,1431,1451,1468,1488,1505,1525,1542,1562],"referencedDeclaration":1303,"src":"21445:11:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory,string memory) pure"}},"id":2547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21445:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2548,"nodeType":"ExpressionStatement","src":"21445:29:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq0","nameLocation":"21342:12:2","parameters":{"id":2541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2536,"mutability":"mutable","name":"left","nameLocation":"21368:4:2","nodeType":"VariableDeclaration","scope":2550,"src":"21355:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2535,"name":"bytes","nodeType":"ElementaryTypeName","src":"21355:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2538,"mutability":"mutable","name":"right","nameLocation":"21387:5:2","nodeType":"VariableDeclaration","scope":2550,"src":"21374:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2537,"name":"bytes","nodeType":"ElementaryTypeName","src":"21374:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2540,"mutability":"mutable","name":"err","nameLocation":"21408:3:2","nodeType":"VariableDeclaration","scope":2550,"src":"21394:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2539,"name":"string","nodeType":"ElementaryTypeName","src":"21394:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21354:58:2"},"returnParameters":{"id":2542,"nodeType":"ParameterList","parameters":[],"src":"21435:0:2"},"scope":2721,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2568,"nodeType":"FunctionDefinition","src":"21487:176:2","nodes":[],"body":{"id":2567,"nodeType":"Block","src":"21590:73:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2560,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2552,"src":"21613:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2561,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2554,"src":"21621:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2562,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2552,"src":"21632:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2563,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2556,"src":"21640:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"74727565","id":2564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"21651:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2559,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[2568,2588,2608,2720],"referencedDeclaration":2720,"src":"21600:12:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,bytes memory,address,bytes memory,bool)"}},"id":2565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21600:56:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2566,"nodeType":"ExpressionStatement","src":"21600:56:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"21496:12:2","parameters":{"id":2557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2552,"mutability":"mutable","name":"target","nameLocation":"21517:6:2","nodeType":"VariableDeclaration","scope":2568,"src":"21509:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2551,"name":"address","nodeType":"ElementaryTypeName","src":"21509:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2554,"mutability":"mutable","name":"callDataA","nameLocation":"21538:9:2","nodeType":"VariableDeclaration","scope":2568,"src":"21525:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2553,"name":"bytes","nodeType":"ElementaryTypeName","src":"21525:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2556,"mutability":"mutable","name":"callDataB","nameLocation":"21562:9:2","nodeType":"VariableDeclaration","scope":2568,"src":"21549:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2555,"name":"bytes","nodeType":"ElementaryTypeName","src":"21549:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21508:64:2"},"returnParameters":{"id":2558,"nodeType":"ParameterList","parameters":[],"src":"21590:0:2"},"scope":2721,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2588,"nodeType":"FunctionDefinition","src":"21669:216:2","nodes":[],"body":{"id":2587,"nodeType":"Block","src":"21810:75:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2580,"name":"targetA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2570,"src":"21833:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2581,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2572,"src":"21842:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2582,"name":"targetB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2574,"src":"21853:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2583,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2576,"src":"21862:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"74727565","id":2584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"21873:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2579,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[2568,2588,2608,2720],"referencedDeclaration":2720,"src":"21820:12:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,bytes memory,address,bytes memory,bool)"}},"id":2585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21820:58:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2586,"nodeType":"ExpressionStatement","src":"21820:58:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"21678:12:2","parameters":{"id":2577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2570,"mutability":"mutable","name":"targetA","nameLocation":"21699:7:2","nodeType":"VariableDeclaration","scope":2588,"src":"21691:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2569,"name":"address","nodeType":"ElementaryTypeName","src":"21691:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2572,"mutability":"mutable","name":"callDataA","nameLocation":"21721:9:2","nodeType":"VariableDeclaration","scope":2588,"src":"21708:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2571,"name":"bytes","nodeType":"ElementaryTypeName","src":"21708:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2574,"mutability":"mutable","name":"targetB","nameLocation":"21740:7:2","nodeType":"VariableDeclaration","scope":2588,"src":"21732:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2573,"name":"address","nodeType":"ElementaryTypeName","src":"21732:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2576,"mutability":"mutable","name":"callDataB","nameLocation":"21762:9:2","nodeType":"VariableDeclaration","scope":2588,"src":"21749:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2575,"name":"bytes","nodeType":"ElementaryTypeName","src":"21749:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21690:82:2"},"returnParameters":{"id":2578,"nodeType":"ParameterList","parameters":[],"src":"21810:0:2"},"scope":2721,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2608,"nodeType":"FunctionDefinition","src":"21891:231:2","nodes":[],"body":{"id":2607,"nodeType":"Block","src":"22037:85:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2600,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2590,"src":"22060:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2601,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2592,"src":"22068:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2602,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2590,"src":"22079:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2603,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2594,"src":"22087:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2604,"name":"strictRevertData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2596,"src":"22098:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2599,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[2568,2588,2608,2720],"referencedDeclaration":2720,"src":"22047:12:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$","typeString":"function (address,bytes memory,address,bytes memory,bool)"}},"id":2605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22047:68:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2606,"nodeType":"ExpressionStatement","src":"22047:68:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"21900:12:2","parameters":{"id":2597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2590,"mutability":"mutable","name":"target","nameLocation":"21921:6:2","nodeType":"VariableDeclaration","scope":2608,"src":"21913:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2589,"name":"address","nodeType":"ElementaryTypeName","src":"21913:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2592,"mutability":"mutable","name":"callDataA","nameLocation":"21942:9:2","nodeType":"VariableDeclaration","scope":2608,"src":"21929:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2591,"name":"bytes","nodeType":"ElementaryTypeName","src":"21929:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2594,"mutability":"mutable","name":"callDataB","nameLocation":"21966:9:2","nodeType":"VariableDeclaration","scope":2608,"src":"21953:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2593,"name":"bytes","nodeType":"ElementaryTypeName","src":"21953:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2596,"mutability":"mutable","name":"strictRevertData","nameLocation":"21982:16:2","nodeType":"VariableDeclaration","scope":2608,"src":"21977:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2595,"name":"bool","nodeType":"ElementaryTypeName","src":"21977:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21912:87:2"},"returnParameters":{"id":2598,"nodeType":"ParameterList","parameters":[],"src":"22037:0:2"},"scope":2721,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2720,"nodeType":"FunctionDefinition","src":"22128:1229:2","nodes":[],"body":{"id":2719,"nodeType":"Block","src":"22318:1039:2","nodes":[],"statements":[{"assignments":[2622,2624],"declarations":[{"constant":false,"id":2622,"mutability":"mutable","name":"successA","nameLocation":"22334:8:2","nodeType":"VariableDeclaration","scope":2719,"src":"22329:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2621,"name":"bool","nodeType":"ElementaryTypeName","src":"22329:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2624,"mutability":"mutable","name":"returnDataA","nameLocation":"22357:11:2","nodeType":"VariableDeclaration","scope":2719,"src":"22344:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2623,"name":"bytes","nodeType":"ElementaryTypeName","src":"22344:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2632,"initialValue":{"arguments":[{"id":2630,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2612,"src":"22394:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":2627,"name":"targetA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"22380:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2626,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22372:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2625,"name":"address","nodeType":"ElementaryTypeName","src":"22372:7:2","typeDescriptions":{}}},"id":2628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22372:16:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22389:4:2","memberName":"call","nodeType":"MemberAccess","src":"22372:21:2","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":2631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22372:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"22328:76:2"},{"assignments":[2634,2636],"declarations":[{"constant":false,"id":2634,"mutability":"mutable","name":"successB","nameLocation":"22420:8:2","nodeType":"VariableDeclaration","scope":2719,"src":"22415:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2633,"name":"bool","nodeType":"ElementaryTypeName","src":"22415:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2636,"mutability":"mutable","name":"returnDataB","nameLocation":"22443:11:2","nodeType":"VariableDeclaration","scope":2719,"src":"22430:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2635,"name":"bytes","nodeType":"ElementaryTypeName","src":"22430:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2644,"initialValue":{"arguments":[{"id":2642,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2616,"src":"22480:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":2639,"name":"targetB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2614,"src":"22466:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2638,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22458:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2637,"name":"address","nodeType":"ElementaryTypeName","src":"22458:7:2","typeDescriptions":{}}},"id":2640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22458:16:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22475:4:2","memberName":"call","nodeType":"MemberAccess","src":"22458:21:2","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":2643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22458:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"22414:76:2"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2645,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2622,"src":"22505:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":2646,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2634,"src":"22517:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22505:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2655,"nodeType":"IfStatement","src":"22501:120:2","trueBody":{"id":2654,"nodeType":"Block","src":"22527:94:2","statements":[{"expression":{"arguments":[{"id":2649,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2624,"src":"22550:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2650,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2636,"src":"22563:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"43616c6c2072657475726e206461746120646f6573206e6f74206d61746368","id":2651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22576:33:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f3c9e4317c8eebc5635871f467354820a216f046f0a61b2ded371c2d507a555f","typeString":"literal_string \"Call return data does not match\""},"value":"Call return data does not match"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_f3c9e4317c8eebc5635871f467354820a216f046f0a61b2ded371c2d507a555f","typeString":"literal_string \"Call return data does not match\""}],"id":2648,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":693,"src":"22541:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory,string memory) pure"}},"id":2652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22541:69:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2653,"nodeType":"ExpressionStatement","src":"22541:69:2"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22635:9:2","subExpression":{"id":2656,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2622,"src":"22636:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":2659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22648:9:2","subExpression":{"id":2658,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2634,"src":"22649:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22635:22:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":2661,"name":"strictRevertData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2618,"src":"22661:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22635:42:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2670,"nodeType":"IfStatement","src":"22631:142:2","trueBody":{"id":2669,"nodeType":"Block","src":"22679:94:2","statements":[{"expression":{"arguments":[{"id":2664,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2624,"src":"22702:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2665,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2636,"src":"22715:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"43616c6c20726576657274206461746120646f6573206e6f74206d61746368","id":2666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22728:33:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_428332fc36b72ecad0a5d9bab5b9a568a85eeb20fd69ffcfbf4cf91598a0c858","typeString":"literal_string \"Call revert data does not match\""},"value":"Call revert data does not match"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_428332fc36b72ecad0a5d9bab5b9a568a85eeb20fd69ffcfbf4cf91598a0c858","typeString":"literal_string \"Call revert data does not match\""}],"id":2663,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":693,"src":"22693:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory,string memory) pure"}},"id":2667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22693:69:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2668,"nodeType":"ExpressionStatement","src":"22693:69:2"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22787:9:2","subExpression":{"id":2671,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2622,"src":"22788:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":2673,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2634,"src":"22800:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22787:21:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2694,"nodeType":"IfStatement","src":"22783:279:2","trueBody":{"id":2693,"nodeType":"Block","src":"22810:252:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2043616c6c732077657265206e6f7420657175616c","id":2676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22833:29:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_6693dff23bd870151cc1817cba0ac95847c6f34adf907b7a38759066cb467c90","typeString":"literal_string \"Error: Calls were not equal\""},"value":"Error: Calls were not equal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6693dff23bd870151cc1817cba0ac95847c6f34adf907b7a38759066cb467c90","typeString":"literal_string \"Error: Calls were not equal\""}],"id":2675,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":126,"src":"22829:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22829:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2678,"nodeType":"EmitStatement","src":"22824:39:2"},{"eventCall":{"arguments":[{"hexValue":"20204c6566742063616c6c207265766572742064617461","id":2680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22898:25:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_d7308eff46cc177523801826a9076ec6e32f003b8da409c4d39812f8e534c573","typeString":"literal_string \" Left call revert data\""},"value":" Left call revert data"},{"id":2681,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2624,"src":"22925:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d7308eff46cc177523801826a9076ec6e32f003b8da409c4d39812f8e534c573","typeString":"literal_string \" Left call revert data\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2679,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":200,"src":"22882:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":2682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22882:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2683,"nodeType":"EmitStatement","src":"22877:60:2"},{"eventCall":{"arguments":[{"hexValue":"2052696768742063616c6c2072657475726e2064617461","id":2685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22972:25:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_688c5b0ecbf27f0fe1b748e920d97ecaaa6ff424050ac2e32936b79dcfbe27d9","typeString":"literal_string \" Right call return data\""},"value":" Right call return data"},{"id":2686,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2636,"src":"22999:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_688c5b0ecbf27f0fe1b748e920d97ecaaa6ff424050ac2e32936b79dcfbe27d9","typeString":"literal_string \" Right call return data\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2684,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":200,"src":"22956:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":2687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22956:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2688,"nodeType":"EmitStatement","src":"22951:60:2"},{"expression":{"arguments":[{"hexValue":"617373657274696f6e206661696c6564","id":2690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23032:18:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_910fca84d7bc8626033cda755c68874e06b12804a259b62d81fd5511cbce7e1b","typeString":"literal_string \"assertion failed\""},"value":"assertion failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_910fca84d7bc8626033cda755c68874e06b12804a259b62d81fd5511cbce7e1b","typeString":"literal_string \"assertion failed\""}],"id":2689,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"23025:6:2","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":2691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23025:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2692,"nodeType":"ExpressionStatement","src":"23025:26:2"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2695,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2622,"src":"23076:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":2697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"23088:9:2","subExpression":{"id":2696,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2634,"src":"23089:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"23076:21:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2718,"nodeType":"IfStatement","src":"23072:279:2","trueBody":{"id":2717,"nodeType":"Block","src":"23099:252:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2043616c6c732077657265206e6f7420657175616c","id":2700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23122:29:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_6693dff23bd870151cc1817cba0ac95847c6f34adf907b7a38759066cb467c90","typeString":"literal_string \"Error: Calls were not equal\""},"value":"Error: Calls were not equal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6693dff23bd870151cc1817cba0ac95847c6f34adf907b7a38759066cb467c90","typeString":"literal_string \"Error: Calls were not equal\""}],"id":2699,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":126,"src":"23118:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23118:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2702,"nodeType":"EmitStatement","src":"23113:39:2"},{"eventCall":{"arguments":[{"hexValue":"20204c6566742063616c6c2072657475726e2064617461","id":2704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23187:25:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_596a9779ba89cf63b8ee3ff9d9ab391dc33d379f762c747717807c6af488f86f","typeString":"literal_string \" Left call return data\""},"value":" Left call return data"},{"id":2705,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2624,"src":"23214:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_596a9779ba89cf63b8ee3ff9d9ab391dc33d379f762c747717807c6af488f86f","typeString":"literal_string \" Left call return data\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2703,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":200,"src":"23171:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":2706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23171:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2707,"nodeType":"EmitStatement","src":"23166:60:2"},{"eventCall":{"arguments":[{"hexValue":"2052696768742063616c6c207265766572742064617461","id":2709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23261:25:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_07ebd1833884933dbc5d408273462f380b6eb526f9bb29a66115cfe3ede76145","typeString":"literal_string \" Right call revert data\""},"value":" Right call revert data"},{"id":2710,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2636,"src":"23288:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_07ebd1833884933dbc5d408273462f380b6eb526f9bb29a66115cfe3ede76145","typeString":"literal_string \" Right call revert data\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2708,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":200,"src":"23245:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":2711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23245:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2712,"nodeType":"EmitStatement","src":"23240:60:2"},{"expression":{"arguments":[{"hexValue":"617373657274696f6e206661696c6564","id":2714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23321:18:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_910fca84d7bc8626033cda755c68874e06b12804a259b62d81fd5511cbce7e1b","typeString":"literal_string \"assertion failed\""},"value":"assertion failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_910fca84d7bc8626033cda755c68874e06b12804a259b62d81fd5511cbce7e1b","typeString":"literal_string \"assertion failed\""}],"id":2713,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"23314:6:2","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":2715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23314:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2716,"nodeType":"ExpressionStatement","src":"23314:26:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"22137:12:2","parameters":{"id":2619,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2610,"mutability":"mutable","name":"targetA","nameLocation":"22167:7:2","nodeType":"VariableDeclaration","scope":2720,"src":"22159:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2609,"name":"address","nodeType":"ElementaryTypeName","src":"22159:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2612,"mutability":"mutable","name":"callDataA","nameLocation":"22197:9:2","nodeType":"VariableDeclaration","scope":2720,"src":"22184:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2611,"name":"bytes","nodeType":"ElementaryTypeName","src":"22184:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2614,"mutability":"mutable","name":"targetB","nameLocation":"22224:7:2","nodeType":"VariableDeclaration","scope":2720,"src":"22216:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2613,"name":"address","nodeType":"ElementaryTypeName","src":"22216:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2616,"mutability":"mutable","name":"callDataB","nameLocation":"22254:9:2","nodeType":"VariableDeclaration","scope":2720,"src":"22241:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2615,"name":"bytes","nodeType":"ElementaryTypeName","src":"22241:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2618,"mutability":"mutable","name":"strictRevertData","nameLocation":"22278:16:2","nodeType":"VariableDeclaration","scope":2720,"src":"22273:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2617,"name":"bool","nodeType":"ElementaryTypeName","src":"22273:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22149:151:2"},"returnParameters":{"id":2620,"nodeType":"ParameterList","parameters":[],"src":"22318:0:2"},"scope":2721,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"StdAssertions","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[2721],"name":"StdAssertions","nameLocation":"147:13:2","scope":2722,"usedErrors":[],"usedEvents":[126,130,134,138,142,146,150,154,160,166,174,182,188,194,200,206,211,216,221,228,235,242]}],"license":"MIT"}},"lib/forge-std/src/StdChains.sol":{"id":3,"ast":{"absolutePath":"lib/forge-std/src/StdChains.sol","id":3684,"exportedSymbols":{"StdChains":[3683],"VmSafe":[16930]},"nodeType":"SourceUnit","src":"32:14200:3","nodes":[{"id":2723,"nodeType":"PragmaDirective","src":"32:31:3","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":2725,"nodeType":"ImportDirective","src":"65:32:3","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":3684,"sourceUnit":18002,"symbolAliases":[{"foreign":{"id":2724,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16930,"src":"73:6:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":3683,"nodeType":"ContractDefinition","src":"1899:12332:3","nodes":[{"id":2743,"nodeType":"VariableDeclaration","src":"1933:92:3","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"1957:2:3","scope":3683,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"},"typeName":{"id":2728,"nodeType":"UserDefinedTypeName","pathNode":{"id":2727,"name":"VmSafe","nameLocations":["1933:6:3"],"nodeType":"IdentifierPath","referencedDeclaration":16930,"src":"1933:6:3"},"referencedDeclaration":16930,"src":"1933:6:3","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":2737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2003:17:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":2736,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1993:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1993:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2735,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1985:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2734,"name":"uint256","nodeType":"ElementaryTypeName","src":"1985:7:3","typeDescriptions":{}}},"id":2739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1985:37:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2733,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1977:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":2732,"name":"uint160","nodeType":"ElementaryTypeName","src":"1977:7:3","typeDescriptions":{}}},"id":2740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1977:46:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":2731,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1969:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2730,"name":"address","nodeType":"ElementaryTypeName","src":"1969:7:3","typeDescriptions":{}}},"id":2741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1969:55:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2729,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16930,"src":"1962:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$16930_$","typeString":"type(contract VmSafe)"}},"id":2742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1962:63:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"visibility":"private"},{"id":2745,"nodeType":"VariableDeclaration","src":"2032:33:3","nodes":[],"constant":false,"mutability":"mutable","name":"stdChainsInitialized","nameLocation":"2045:20:3","scope":3683,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2744,"name":"bool","nodeType":"ElementaryTypeName","src":"2032:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":2752,"nodeType":"StructDefinition","src":"2072:93:3","nodes":[],"canonicalName":"StdChains.ChainData","members":[{"constant":false,"id":2747,"mutability":"mutable","name":"name","nameLocation":"2106:4:3","nodeType":"VariableDeclaration","scope":2752,"src":"2099:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2746,"name":"string","nodeType":"ElementaryTypeName","src":"2099:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2749,"mutability":"mutable","name":"chainId","nameLocation":"2128:7:3","nodeType":"VariableDeclaration","scope":2752,"src":"2120:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2748,"name":"uint256","nodeType":"ElementaryTypeName","src":"2120:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2751,"mutability":"mutable","name":"rpcUrl","nameLocation":"2152:6:3","nodeType":"VariableDeclaration","scope":2752,"src":"2145:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2750,"name":"string","nodeType":"ElementaryTypeName","src":"2145:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"ChainData","nameLocation":"2079:9:3","scope":3683,"visibility":"public"},{"id":2761,"nodeType":"StructDefinition","src":"2171:598:3","nodes":[],"canonicalName":"StdChains.Chain","members":[{"constant":false,"id":2754,"mutability":"mutable","name":"name","nameLocation":"2228:4:3","nodeType":"VariableDeclaration","scope":2761,"src":"2221:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2753,"name":"string","nodeType":"ElementaryTypeName","src":"2221:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2756,"mutability":"mutable","name":"chainId","nameLocation":"2283:7:3","nodeType":"VariableDeclaration","scope":2761,"src":"2275:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2755,"name":"uint256","nodeType":"ElementaryTypeName","src":"2275:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2758,"mutability":"mutable","name":"chainAlias","nameLocation":"2383:10:3","nodeType":"VariableDeclaration","scope":2761,"src":"2376:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2757,"name":"string","nodeType":"ElementaryTypeName","src":"2376:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2760,"mutability":"mutable","name":"rpcUrl","nameLocation":"2756:6:3","nodeType":"VariableDeclaration","scope":2761,"src":"2749:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2759,"name":"string","nodeType":"ElementaryTypeName","src":"2749:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Chain","nameLocation":"2178:5:3","scope":3683,"visibility":"public"},{"id":2766,"nodeType":"VariableDeclaration","src":"2873:39:3","nodes":[],"constant":false,"mutability":"mutable","name":"chains","nameLocation":"2906:6:3","scope":3683,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$2761_storage_$","typeString":"mapping(string => struct StdChains.Chain)"},"typeName":{"id":2765,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2762,"name":"string","nodeType":"ElementaryTypeName","src":"2881:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"nodeType":"Mapping","src":"2873:24:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$2761_storage_$","typeString":"mapping(string => struct StdChains.Chain)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2764,"nodeType":"UserDefinedTypeName","pathNode":{"id":2763,"name":"Chain","nameLocations":["2891:5:3"],"nodeType":"IdentifierPath","referencedDeclaration":2761,"src":"2891:5:3"},"referencedDeclaration":2761,"src":"2891:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_storage_ptr","typeString":"struct StdChains.Chain"}}},"visibility":"private"},{"id":2770,"nodeType":"VariableDeclaration","src":"2978:48:3","nodes":[],"constant":false,"mutability":"mutable","name":"defaultRpcUrls","nameLocation":"3012:14:3","scope":3683,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string => string)"},"typeName":{"id":2769,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2767,"name":"string","nodeType":"ElementaryTypeName","src":"2986:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"nodeType":"Mapping","src":"2978:25:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string => string)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2768,"name":"string","nodeType":"ElementaryTypeName","src":"2996:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"private"},{"id":2774,"nodeType":"VariableDeclaration","src":"3075:44:3","nodes":[],"constant":false,"mutability":"mutable","name":"idToAlias","nameLocation":"3110:9:3","scope":3683,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"typeName":{"id":2773,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2771,"name":"uint256","nodeType":"ElementaryTypeName","src":"3083:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3075:26:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2772,"name":"string","nodeType":"ElementaryTypeName","src":"3094:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"private"},{"id":2777,"nodeType":"VariableDeclaration","src":"3126:44:3","nodes":[],"constant":false,"mutability":"mutable","name":"fallbackToDefaultRpcUrls","nameLocation":"3139:24:3","scope":3683,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2775,"name":"bool","nodeType":"ElementaryTypeName","src":"3126:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":2776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3166:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"private"},{"id":2829,"nodeType":"FunctionDefinition","src":"3255:524:3","nodes":[],"body":{"id":2828,"nodeType":"Block","src":"3345:434:3","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":2788,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2779,"src":"3369:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3363:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":2786,"name":"bytes","nodeType":"ElementaryTypeName","src":"3363:5:3","typeDescriptions":{}}},"id":2789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3363:17:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":2790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3381:6:3","memberName":"length","nodeType":"MemberAccess","src":"3363:24:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3391:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3363:29:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320676574436861696e28737472696e67293a20436861696e20616c6961732063616e6e6f742062652074686520656d70747920737472696e672e","id":2793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3394:69:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d920aad82cc068f1a73b0fb2c703d0169baa46c8c67097012e1aca0cc8c8b70","typeString":"literal_string \"StdChains getChain(string): Chain alias cannot be the empty string.\""},"value":"StdChains getChain(string): Chain alias cannot be the empty string."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3d920aad82cc068f1a73b0fb2c703d0169baa46c8c67097012e1aca0cc8c8b70","typeString":"literal_string \"StdChains getChain(string): Chain alias cannot be the empty string.\""}],"id":2785,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3355:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3355:109:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2795,"nodeType":"ExpressionStatement","src":"3355:109:3"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2796,"name":"initializeStdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3645,"src":"3475:19:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3475:21:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2798,"nodeType":"ExpressionStatement","src":"3475:21:3"},{"expression":{"id":2803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2799,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2783,"src":"3506:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":2800,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2766,"src":"3514:6:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$2761_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":2802,"indexExpression":{"id":2801,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2779,"src":"3521:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3514:18:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_storage","typeString":"struct StdChains.Chain storage ref"}},"src":"3506:26:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":2804,"nodeType":"ExpressionStatement","src":"3506:26:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2806,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2783,"src":"3563:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":2807,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3569:7:3","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":2756,"src":"3563:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3580:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3563:18:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"537464436861696e7320676574436861696e28737472696e67293a20436861696e207769746820616c6961732022","id":2814,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3619:49:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_be183459e9329da9bfc4a2fec17224f102b8a68c1139772e954a2d6fd9877e00","typeString":"literal_string \"StdChains getChain(string): Chain with alias \"\""},"value":"StdChains getChain(string): Chain with alias \""},{"id":2815,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2779,"src":"3670:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"22206e6f7420666f756e642e","id":2816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3682:15:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_be956cec6682d51b49f30c9beff2857436402411b7eee4082594e44819bcd397","typeString":"literal_string \"\" not found.\""},"value":"\" not found."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be183459e9329da9bfc4a2fec17224f102b8a68c1139772e954a2d6fd9877e00","typeString":"literal_string \"StdChains getChain(string): Chain with alias \"\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_be956cec6682d51b49f30c9beff2857436402411b7eee4082594e44819bcd397","typeString":"literal_string \"\" not found.\""}],"expression":{"id":2812,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3602:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2813,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3606:12:3","memberName":"encodePacked","nodeType":"MemberAccess","src":"3602:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3602:96:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2811,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3595:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":2810,"name":"string","nodeType":"ElementaryTypeName","src":"3595:6:3","typeDescriptions":{}}},"id":2818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3595:104:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2805,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3542:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3542:167:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2820,"nodeType":"ExpressionStatement","src":"3542:167:3"},{"expression":{"id":2826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2821,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2783,"src":"3720:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":2823,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2779,"src":"3754:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":2824,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2783,"src":"3766:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}],"id":2822,"name":"getChainWithUpdatedRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3237,"src":"3728:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_struct$_Chain_$2761_memory_ptr_$returns$_t_struct$_Chain_$2761_memory_ptr_$","typeString":"function (string memory,struct StdChains.Chain memory) view returns (struct StdChains.Chain memory)"}},"id":2825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3728:44:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}},"src":"3720:52:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":2827,"nodeType":"ExpressionStatement","src":"3720:52:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getChain","nameLocation":"3264:8:3","parameters":{"id":2780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2779,"mutability":"mutable","name":"chainAlias","nameLocation":"3287:10:3","nodeType":"VariableDeclaration","scope":2829,"src":"3273:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2778,"name":"string","nodeType":"ElementaryTypeName","src":"3273:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3272:26:3"},"returnParameters":{"id":2784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2783,"mutability":"mutable","name":"chain","nameLocation":"3338:5:3","nodeType":"VariableDeclaration","scope":2829,"src":"3325:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":2782,"nodeType":"UserDefinedTypeName","pathNode":{"id":2781,"name":"Chain","nameLocations":["3325:5:3"],"nodeType":"IdentifierPath","referencedDeclaration":2761,"src":"3325:5:3"},"referencedDeclaration":2761,"src":"3325:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"3324:20:3"},"scope":3683,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2886,"nodeType":"FunctionDefinition","src":"3785:541:3","nodes":[],"body":{"id":2885,"nodeType":"Block","src":"3866:460:3","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2838,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2831,"src":"3884:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3895:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3884:12:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320676574436861696e2875696e74323536293a20436861696e2049442063616e6e6f7420626520302e","id":2841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3898:52:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_64f1cd082b277ed92a70b6890cc1e3b6ebd77bc6c9299e7ce82305de04926a4a","typeString":"literal_string \"StdChains getChain(uint256): Chain ID cannot be 0.\""},"value":"StdChains getChain(uint256): Chain ID cannot be 0."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_64f1cd082b277ed92a70b6890cc1e3b6ebd77bc6c9299e7ce82305de04926a4a","typeString":"literal_string \"StdChains getChain(uint256): Chain ID cannot be 0.\""}],"id":2837,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3876:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3876:75:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2843,"nodeType":"ExpressionStatement","src":"3876:75:3"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2844,"name":"initializeStdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3645,"src":"3961:19:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3961:21:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2846,"nodeType":"ExpressionStatement","src":"3961:21:3"},{"assignments":[2848],"declarations":[{"constant":false,"id":2848,"mutability":"mutable","name":"chainAlias","nameLocation":"4006:10:3","nodeType":"VariableDeclaration","scope":2885,"src":"3992:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2847,"name":"string","nodeType":"ElementaryTypeName","src":"3992:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":2852,"initialValue":{"baseExpression":{"id":2849,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2774,"src":"4019:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":2851,"indexExpression":{"id":2850,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2831,"src":"4029:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4019:18:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"3992:45:3"},{"expression":{"id":2857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2853,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2835,"src":"4048:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":2854,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2766,"src":"4056:6:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$2761_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":2856,"indexExpression":{"id":2855,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2848,"src":"4063:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4056:18:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_storage","typeString":"struct StdChains.Chain storage ref"}},"src":"4048:26:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":2858,"nodeType":"ExpressionStatement","src":"4048:26:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2860,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2835,"src":"4106:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":2861,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4112:7:3","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":2756,"src":"4106:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4123:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4106:18:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"537464436861696e7320676574436861696e2875696e74323536293a20436861696e207769746820494420","id":2868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4162:45:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_ce7b2cad45f1a6d0b9b7bb125e9a8742fce8fed7d742c83265d4a2da4caf457d","typeString":"literal_string \"StdChains getChain(uint256): Chain with ID \""},"value":"StdChains getChain(uint256): Chain with ID "},{"arguments":[{"id":2871,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2831,"src":"4221:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2869,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2743,"src":"4209:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":2870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4212:8:3","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15161,"src":"4209:11:3","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":2872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4209:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"206e6f7420666f756e642e","id":2873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4231:13:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_f310d2efb88747fac959fa7567a0a1a161dd43a77ba9af074f6191cf5bcf4f8b","typeString":"literal_string \" not found.\""},"value":" not found."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ce7b2cad45f1a6d0b9b7bb125e9a8742fce8fed7d742c83265d4a2da4caf457d","typeString":"literal_string \"StdChains getChain(uint256): Chain with ID \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_f310d2efb88747fac959fa7567a0a1a161dd43a77ba9af074f6191cf5bcf4f8b","typeString":"literal_string \" not found.\""}],"expression":{"id":2866,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4145:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2867,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4149:12:3","memberName":"encodePacked","nodeType":"MemberAccess","src":"4145:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4145:100:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2865,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4138:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":2864,"name":"string","nodeType":"ElementaryTypeName","src":"4138:6:3","typeDescriptions":{}}},"id":2875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4138:108:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2859,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4085:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4085:171:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2877,"nodeType":"ExpressionStatement","src":"4085:171:3"},{"expression":{"id":2883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2878,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2835,"src":"4267:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":2880,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2848,"src":"4301:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":2881,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2835,"src":"4313:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}],"id":2879,"name":"getChainWithUpdatedRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3237,"src":"4275:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_struct$_Chain_$2761_memory_ptr_$returns$_t_struct$_Chain_$2761_memory_ptr_$","typeString":"function (string memory,struct StdChains.Chain memory) view returns (struct StdChains.Chain memory)"}},"id":2882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4275:44:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}},"src":"4267:52:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":2884,"nodeType":"ExpressionStatement","src":"4267:52:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getChain","nameLocation":"3794:8:3","parameters":{"id":2832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2831,"mutability":"mutable","name":"chainId","nameLocation":"3811:7:3","nodeType":"VariableDeclaration","scope":2886,"src":"3803:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2830,"name":"uint256","nodeType":"ElementaryTypeName","src":"3803:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3802:17:3"},"returnParameters":{"id":2836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2835,"mutability":"mutable","name":"chain","nameLocation":"3859:5:3","nodeType":"VariableDeclaration","scope":2886,"src":"3846:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":2834,"nodeType":"UserDefinedTypeName","pathNode":{"id":2833,"name":"Chain","nameLocations":["3846:5:3"],"nodeType":"IdentifierPath","referencedDeclaration":2761,"src":"3846:5:3"},"referencedDeclaration":2761,"src":"3846:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"3845:20:3"},"scope":3683,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2996,"nodeType":"FunctionDefinition","src":"4397:1173:3","nodes":[],"body":{"id":2995,"nodeType":"Block","src":"4482:1088:3","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":2897,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2888,"src":"4519:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2896,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4513:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":2895,"name":"bytes","nodeType":"ElementaryTypeName","src":"4513:5:3","typeDescriptions":{}}},"id":2898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4513:17:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":2899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4531:6:3","memberName":"length","nodeType":"MemberAccess","src":"4513:24:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4541:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4513:29:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320736574436861696e28737472696e672c436861696e44617461293a20436861696e20616c6961732063616e6e6f742062652074686520656d70747920737472696e672e","id":2902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4556:79:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_30b2334ec57cbeeece39c6405e10d3437560135ecd84835d6b9144db1d575354","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain alias cannot be the empty string.\""},"value":"StdChains setChain(string,ChainData): Chain alias cannot be the empty string."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_30b2334ec57cbeeece39c6405e10d3437560135ecd84835d6b9144db1d575354","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain alias cannot be the empty string.\""}],"id":2894,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4492:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4492:153:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2904,"nodeType":"ExpressionStatement","src":"4492:153:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2909,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2906,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2891,"src":"4664:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":2907,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4670:7:3","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":2749,"src":"4664:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4681:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4664:18:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320736574436861696e28737472696e672c436861696e44617461293a20436861696e2049442063616e6e6f7420626520302e","id":2910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4684:61:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab0ba8dace83d80dc1941286e8d0551223497db1b420e58abff2f3db2ad3fbf4","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain ID cannot be 0.\""},"value":"StdChains setChain(string,ChainData): Chain ID cannot be 0."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ab0ba8dace83d80dc1941286e8d0551223497db1b420e58abff2f3db2ad3fbf4","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain ID cannot be 0.\""}],"id":2905,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4656:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4656:90:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2912,"nodeType":"ExpressionStatement","src":"4656:90:3"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2913,"name":"initializeStdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3645,"src":"4757:19:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4757:21:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2915,"nodeType":"ExpressionStatement","src":"4757:21:3"},{"assignments":[2917],"declarations":[{"constant":false,"id":2917,"mutability":"mutable","name":"foundAlias","nameLocation":"4802:10:3","nodeType":"VariableDeclaration","scope":2995,"src":"4788:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2916,"name":"string","nodeType":"ElementaryTypeName","src":"4788:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":2922,"initialValue":{"baseExpression":{"id":2918,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2774,"src":"4815:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":2921,"indexExpression":{"expression":{"id":2919,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2891,"src":"4825:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":2920,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4831:7:3","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":2749,"src":"4825:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4815:24:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4788:51:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":2926,"name":"foundAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2917,"src":"4877:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2925,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4871:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":2924,"name":"bytes","nodeType":"ElementaryTypeName","src":"4871:5:3","typeDescriptions":{}}},"id":2927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4871:17:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":2928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4889:6:3","memberName":"length","nodeType":"MemberAccess","src":"4871:24:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4899:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4871:29:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":2934,"name":"foundAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2917,"src":"4920:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2933,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4914:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":2932,"name":"bytes","nodeType":"ElementaryTypeName","src":"4914:5:3","typeDescriptions":{}}},"id":2935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4914:17:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2931,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4904:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4904:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"id":2940,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2888,"src":"4952:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4946:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":2938,"name":"bytes","nodeType":"ElementaryTypeName","src":"4946:5:3","typeDescriptions":{}}},"id":2941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4946:17:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2937,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4936:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4936:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4904:60:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4871:93:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"537464436861696e7320736574436861696e28737472696e672c436861696e44617461293a20436861696e20494420","id":2949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5040:49:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_2f5ddfff35cec202bbf760c515d7332e259c9b0c330efa0b2d03073b34906ba0","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain ID \""},"value":"StdChains setChain(string,ChainData): Chain ID "},{"arguments":[{"expression":{"id":2952,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2891,"src":"5123:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":2953,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5129:7:3","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":2749,"src":"5123:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2950,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2743,"src":"5111:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":2951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5114:8:3","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15161,"src":"5111:11:3","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":2954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5111:26:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20616c726561647920757365642062792022","id":2955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5159:21:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_03dcc98944d744f10105f4b63a1d5b4f5b14493812e66201e5f21a3da2662077","typeString":"literal_string \" already used by \"\""},"value":" already used by \""},{"id":2956,"name":"foundAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2917,"src":"5202:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"222e","id":2957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5234:5:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb54fc3dbdac1cb7b87378fdaddeb9e7549db2a108b5270efaa4bcd576270193","typeString":"literal_string \"\".\""},"value":"\"."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2f5ddfff35cec202bbf760c515d7332e259c9b0c330efa0b2d03073b34906ba0","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain ID \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_03dcc98944d744f10105f4b63a1d5b4f5b14493812e66201e5f21a3da2662077","typeString":"literal_string \" already used by \"\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_cb54fc3dbdac1cb7b87378fdaddeb9e7549db2a108b5270efaa4bcd576270193","typeString":"literal_string \"\".\""}],"expression":{"id":2947,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5002:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5006:12:3","memberName":"encodePacked","nodeType":"MemberAccess","src":"5002:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5002:255:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2946,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4978:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":2945,"name":"string","nodeType":"ElementaryTypeName","src":"4978:6:3","typeDescriptions":{}}},"id":2959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4978:293:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2923,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4850:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4850:431:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2961,"nodeType":"ExpressionStatement","src":"4850:431:3"},{"assignments":[2963],"declarations":[{"constant":false,"id":2963,"mutability":"mutable","name":"oldChainId","nameLocation":"5300:10:3","nodeType":"VariableDeclaration","scope":2995,"src":"5292:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2962,"name":"uint256","nodeType":"ElementaryTypeName","src":"5292:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2968,"initialValue":{"expression":{"baseExpression":{"id":2964,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2766,"src":"5313:6:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$2761_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":2966,"indexExpression":{"id":2965,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2888,"src":"5320:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5313:18:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_storage","typeString":"struct StdChains.Chain storage ref"}},"id":2967,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5332:7:3","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":2756,"src":"5313:26:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5292:47:3"},{"expression":{"id":2972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"5349:28:3","subExpression":{"baseExpression":{"id":2969,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2774,"src":"5356:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":2971,"indexExpression":{"id":2970,"name":"oldChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2963,"src":"5366:10:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5356:21:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2973,"nodeType":"ExpressionStatement","src":"5349:28:3"},{"expression":{"id":2986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":2974,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2766,"src":"5388:6:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$2761_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":2976,"indexExpression":{"id":2975,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2888,"src":"5395:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5388:18:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_storage","typeString":"struct StdChains.Chain storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":2978,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2891,"src":"5434:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":2979,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5440:4:3","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":2747,"src":"5434:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":2980,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2891,"src":"5455:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":2981,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5461:7:3","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":2749,"src":"5455:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2982,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2888,"src":"5482:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":2983,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2891,"src":"5502:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":2984,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5508:6:3","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":2751,"src":"5502:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2977,"name":"Chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2761,"src":"5421:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Chain_$2761_storage_ptr_$","typeString":"type(struct StdChains.Chain storage pointer)"}},"id":2985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["5428:4:3","5446:7:3","5470:10:3","5494:6:3"],"names":["name","chainId","chainAlias","rpcUrl"],"nodeType":"FunctionCall","src":"5421:95:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}},"src":"5388:128:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_storage","typeString":"struct StdChains.Chain storage ref"}},"id":2987,"nodeType":"ExpressionStatement","src":"5388:128:3"},{"expression":{"id":2993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":2988,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2774,"src":"5526:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":2991,"indexExpression":{"expression":{"id":2989,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2891,"src":"5536:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":2990,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5542:7:3","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":2749,"src":"5536:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5526:24:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":2992,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2888,"src":"5553:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"5526:37:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":2994,"nodeType":"ExpressionStatement","src":"5526:37:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"setChain","nameLocation":"4406:8:3","parameters":{"id":2892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2888,"mutability":"mutable","name":"chainAlias","nameLocation":"4429:10:3","nodeType":"VariableDeclaration","scope":2996,"src":"4415:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2887,"name":"string","nodeType":"ElementaryTypeName","src":"4415:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2891,"mutability":"mutable","name":"chain","nameLocation":"4458:5:3","nodeType":"VariableDeclaration","scope":2996,"src":"4441:22:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData"},"typeName":{"id":2890,"nodeType":"UserDefinedTypeName","pathNode":{"id":2889,"name":"ChainData","nameLocations":["4441:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2752,"src":"4441:9:3"},"referencedDeclaration":2752,"src":"4441:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_storage_ptr","typeString":"struct StdChains.ChainData"}},"visibility":"internal"}],"src":"4414:50:3"},"returnParameters":{"id":2893,"nodeType":"ParameterList","parameters":[],"src":"4482:0:3"},"scope":3683,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3017,"nodeType":"FunctionDefinition","src":"5641:195:3","nodes":[],"body":{"id":3016,"nodeType":"Block","src":"5722:114:3","nodes":[],"statements":[{"expression":{"arguments":[{"id":3005,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2998,"src":"5741:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"expression":{"id":3007,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3001,"src":"5770:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3008,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5776:4:3","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":2754,"src":"5770:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":3009,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3001,"src":"5791:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3010,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5797:7:3","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":2756,"src":"5791:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":3011,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3001,"src":"5814:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3012,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5820:6:3","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":2760,"src":"5814:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3006,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"5753:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["5764:4:3","5782:7:3","5806:6:3"],"names":["name","chainId","rpcUrl"],"nodeType":"FunctionCall","src":"5753:75:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3004,"name":"setChain","nodeType":"Identifier","overloadedDeclarations":[2996,3017],"referencedDeclaration":2996,"src":"5732:8:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5732:97:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3015,"nodeType":"ExpressionStatement","src":"5732:97:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"setChain","nameLocation":"5650:8:3","parameters":{"id":3002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2998,"mutability":"mutable","name":"chainAlias","nameLocation":"5673:10:3","nodeType":"VariableDeclaration","scope":3017,"src":"5659:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2997,"name":"string","nodeType":"ElementaryTypeName","src":"5659:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3001,"mutability":"mutable","name":"chain","nameLocation":"5698:5:3","nodeType":"VariableDeclaration","scope":3017,"src":"5685:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":3000,"nodeType":"UserDefinedTypeName","pathNode":{"id":2999,"name":"Chain","nameLocations":["5685:5:3"],"nodeType":"IdentifierPath","referencedDeclaration":2761,"src":"5685:5:3"},"referencedDeclaration":2761,"src":"5685:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"5658:46:3"},"returnParameters":{"id":3003,"nodeType":"ParameterList","parameters":[],"src":"5722:0:3"},"scope":3683,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3094,"nodeType":"FunctionDefinition","src":"5842:451:3","nodes":[],"body":{"id":3093,"nodeType":"Block","src":"5916:377:3","nodes":[],"statements":[{"assignments":[3025],"declarations":[{"constant":false,"id":3025,"mutability":"mutable","name":"strb","nameLocation":"5939:4:3","nodeType":"VariableDeclaration","scope":3093,"src":"5926:17:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3024,"name":"bytes","nodeType":"ElementaryTypeName","src":"5926:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3030,"initialValue":{"arguments":[{"id":3028,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3019,"src":"5952:3:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3027,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5946:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3026,"name":"bytes","nodeType":"ElementaryTypeName","src":"5946:5:3","typeDescriptions":{}}},"id":3029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5946:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5926:30:3"},{"assignments":[3032],"declarations":[{"constant":false,"id":3032,"mutability":"mutable","name":"copy","nameLocation":"5979:4:3","nodeType":"VariableDeclaration","scope":3093,"src":"5966:17:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3031,"name":"bytes","nodeType":"ElementaryTypeName","src":"5966:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3038,"initialValue":{"arguments":[{"expression":{"id":3035,"name":"strb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3025,"src":"5996:4:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6001:6:3","memberName":"length","nodeType":"MemberAccess","src":"5996:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3034,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"5986:9:3","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":3033,"name":"bytes","nodeType":"ElementaryTypeName","src":"5990:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":3037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5986:22:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5966:42:3"},{"body":{"id":3086,"nodeType":"Block","src":"6060:198:3","statements":[{"assignments":[3051],"declarations":[{"constant":false,"id":3051,"mutability":"mutable","name":"b","nameLocation":"6081:1:3","nodeType":"VariableDeclaration","scope":3086,"src":"6074:8:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":3050,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6074:6:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"id":3055,"initialValue":{"baseExpression":{"id":3052,"name":"strb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3025,"src":"6085:4:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3054,"indexExpression":{"id":3053,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3040,"src":"6090:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6085:7:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"VariableDeclarationStatement","src":"6074:18:3"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":3058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3056,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3051,"src":"6110:1:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30783631","id":3057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6115:4:3","typeDescriptions":{"typeIdentifier":"t_rational_97_by_1","typeString":"int_const 97"},"value":"0x61"},"src":"6110:9:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":3061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3059,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3051,"src":"6123:1:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30783741","id":3060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6128:4:3","typeDescriptions":{"typeIdentifier":"t_rational_122_by_1","typeString":"int_const 122"},"value":"0x7A"},"src":"6123:9:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6110:22:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":3084,"nodeType":"Block","src":"6204:44:3","statements":[{"expression":{"id":3082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3078,"name":"copy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3032,"src":"6222:4:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3080,"indexExpression":{"id":3079,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3040,"src":"6227:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6222:7:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3081,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3051,"src":"6232:1:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"6222:11:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":3083,"nodeType":"ExpressionStatement","src":"6222:11:3"}]},"id":3085,"nodeType":"IfStatement","src":"6106:142:3","trueBody":{"id":3077,"nodeType":"Block","src":"6134:64:3","statements":[{"expression":{"id":3075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3063,"name":"copy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3032,"src":"6152:4:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3065,"indexExpression":{"id":3064,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3040,"src":"6157:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6152:7:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":3073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3070,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3051,"src":"6175:1:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":3069,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6169:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":3068,"name":"uint8","nodeType":"ElementaryTypeName","src":"6169:5:3","typeDescriptions":{}}},"id":3071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6169:8:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"3332","id":3072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6180:2:3","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"6169:13:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":3067,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6162:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":3066,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6162:6:3","typeDescriptions":{}}},"id":3074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6162:21:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"6152:31:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":3076,"nodeType":"ExpressionStatement","src":"6152:31:3"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3043,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3040,"src":"6038:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":3044,"name":"strb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3025,"src":"6042:4:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6047:6:3","memberName":"length","nodeType":"MemberAccess","src":"6042:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6038:15:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3087,"initializationExpression":{"assignments":[3040],"declarations":[{"constant":false,"id":3040,"mutability":"mutable","name":"i","nameLocation":"6031:1:3","nodeType":"VariableDeclaration","scope":3087,"src":"6023:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3039,"name":"uint256","nodeType":"ElementaryTypeName","src":"6023:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3042,"initialValue":{"hexValue":"30","id":3041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6035:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6023:13:3"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":3048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6055:3:3","subExpression":{"id":3047,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3040,"src":"6055:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3049,"nodeType":"ExpressionStatement","src":"6055:3:3"},"nodeType":"ForStatement","src":"6018:240:3"},{"expression":{"arguments":[{"id":3090,"name":"copy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3032,"src":"6281:4:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3089,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6274:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3088,"name":"string","nodeType":"ElementaryTypeName","src":"6274:6:3","typeDescriptions":{}}},"id":3091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6274:12:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":3023,"id":3092,"nodeType":"Return","src":"6267:19:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_toUpper","nameLocation":"5851:8:3","parameters":{"id":3020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3019,"mutability":"mutable","name":"str","nameLocation":"5874:3:3","nodeType":"VariableDeclaration","scope":3094,"src":"5860:17:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3018,"name":"string","nodeType":"ElementaryTypeName","src":"5860:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5859:19:3"},"returnParameters":{"id":3023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3022,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3094,"src":"5901:13:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3021,"name":"string","nodeType":"ElementaryTypeName","src":"5901:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5900:15:3"},"scope":3683,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":3237,"nodeType":"FunctionDefinition","src":"6429:1725:3","nodes":[],"body":{"id":3236,"nodeType":"Block","src":"6574:1580:3","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":3107,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3099,"src":"6594:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3108,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6600:6:3","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":2760,"src":"6594:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3106,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6588:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3105,"name":"bytes","nodeType":"ElementaryTypeName","src":"6588:5:3","typeDescriptions":{}}},"id":3109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6588:19:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6608:6:3","memberName":"length","nodeType":"MemberAccess","src":"6588:26:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6618:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6588:31:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3233,"nodeType":"IfStatement","src":"6584:1542:3","trueBody":{"id":3232,"nodeType":"Block","src":"6621:1505:3","statements":[{"clauses":[{"block":{"id":3126,"nodeType":"Block","src":"6698:60:3","statements":[{"expression":{"id":3124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":3120,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3099,"src":"6716:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3122,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6722:6:3","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":2760,"src":"6716:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3123,"name":"configRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3118,"src":"6731:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"6716:27:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3125,"nodeType":"ExpressionStatement","src":"6716:27:3"}]},"errorName":"","id":3127,"nodeType":"TryCatchClause","parameters":{"id":3119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3118,"mutability":"mutable","name":"configRpcUrl","nameLocation":"6684:12:3","nodeType":"VariableDeclaration","scope":3127,"src":"6670:26:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3117,"name":"string","nodeType":"ElementaryTypeName","src":"6670:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6669:28:3"},"src":"6661:97:3"},{"block":{"id":3229,"nodeType":"Block","src":"6784:1332:3","statements":[{"assignments":[3132],"declarations":[{"constant":false,"id":3132,"mutability":"mutable","name":"envName","nameLocation":"6816:7:3","nodeType":"VariableDeclaration","scope":3229,"src":"6802:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3131,"name":"string","nodeType":"ElementaryTypeName","src":"6802:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":3143,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":3138,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3096,"src":"6859:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3137,"name":"_toUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3094,"src":"6850:8:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":3139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6850:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"5f5250435f55524c","id":3140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6872:10:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_2186fe596dea1a615b7a1cb43899fd18c5b434aa29c8de36d4b8fcc67e3d6ad9","typeString":"literal_string \"_RPC_URL\""},"value":"_RPC_URL"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_2186fe596dea1a615b7a1cb43899fd18c5b434aa29c8de36d4b8fcc67e3d6ad9","typeString":"literal_string \"_RPC_URL\""}],"expression":{"id":3135,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6833:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3136,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6837:12:3","memberName":"encodePacked","nodeType":"MemberAccess","src":"6833:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6833:50:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3134,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6826:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3133,"name":"string","nodeType":"ElementaryTypeName","src":"6826:6:3","typeDescriptions":{}}},"id":3142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6826:58:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"6802:82:3"},{"condition":{"id":3144,"name":"fallbackToDefaultRpcUrls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2777,"src":"6906:24:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":3167,"nodeType":"Block","src":"7039:77:3","statements":[{"expression":{"id":3165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":3158,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3099,"src":"7061:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3160,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7067:6:3","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":2760,"src":"7061:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3163,"name":"envName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3132,"src":"7089:7:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3161,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2743,"src":"7076:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":3162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7079:9:3","memberName":"envString","nodeType":"MemberAccess","referencedDeclaration":13753,"src":"7076:12:3","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":3164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7076:21:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"7061:36:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3166,"nodeType":"ExpressionStatement","src":"7061:36:3"}]},"id":3168,"nodeType":"IfStatement","src":"6902:214:3","trueBody":{"id":3157,"nodeType":"Block","src":"6932:101:3","statements":[{"expression":{"id":3155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":3145,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3099,"src":"6954:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3147,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6960:6:3","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":2760,"src":"6954:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3150,"name":"envName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3132,"src":"6978:7:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"baseExpression":{"id":3151,"name":"defaultRpcUrls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2770,"src":"6987:14:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string memory => string storage ref)"}},"id":3153,"indexExpression":{"id":3152,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3096,"src":"7002:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6987:26:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":3148,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2743,"src":"6969:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":3149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6972:5:3","memberName":"envOr","nodeType":"MemberAccess","referencedDeclaration":13693,"src":"6969:8:3","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) view external returns (string memory)"}},"id":3154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6969:45:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"6954:60:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3156,"nodeType":"ExpressionStatement","src":"6954:60:3"}]}},{"assignments":[3170],"declarations":[{"constant":false,"id":3170,"mutability":"mutable","name":"oldNotFoundError","nameLocation":"7331:16:3","nodeType":"VariableDeclaration","scope":3229,"src":"7318:29:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3169,"name":"bytes","nodeType":"ElementaryTypeName","src":"7318:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3183,"initialValue":{"arguments":[{"hexValue":"4368656174436f64654572726f72","id":3173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7394:16:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_0bc445031644df03923eb2ab981d332f4354ceab11a95efce72a938e57beaadf","typeString":"literal_string \"CheatCodeError\""},"value":"CheatCodeError"},{"arguments":[{"arguments":[{"hexValue":"696e76616c6964207270632075726c20","id":3178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7436:18:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_2baf3da7b122675739218e635e969f0d1b560b915d35635239551f70fe123eed","typeString":"literal_string \"invalid rpc url \""},"value":"invalid rpc url "},{"id":3179,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3096,"src":"7456:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2baf3da7b122675739218e635e969f0d1b560b915d35635239551f70fe123eed","typeString":"literal_string \"invalid rpc url \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3176,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7419:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7423:12:3","memberName":"encodePacked","nodeType":"MemberAccess","src":"7419:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7419:48:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3175,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7412:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3174,"name":"string","nodeType":"ElementaryTypeName","src":"7412:6:3","typeDescriptions":{}}},"id":3181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7412:56:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0bc445031644df03923eb2ab981d332f4354ceab11a95efce72a938e57beaadf","typeString":"literal_string \"CheatCodeError\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3171,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7370:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7374:19:3","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7370:23:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":3182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7370:99:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7318:151:3"},{"assignments":[3185],"declarations":[{"constant":false,"id":3185,"mutability":"mutable","name":"newNotFoundError","nameLocation":"7500:16:3","nodeType":"VariableDeclaration","scope":3229,"src":"7487:29:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3184,"name":"bytes","nodeType":"ElementaryTypeName","src":"7487:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3198,"initialValue":{"arguments":[{"hexValue":"4368656174636f64654572726f7228737472696e6729","id":3188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7564:24:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_eeaa9e6f35c22929478456dd64e8453f06b33521fed71b747719abfbccbe6492","typeString":"literal_string \"CheatcodeError(string)\""},"value":"CheatcodeError(string)"},{"arguments":[{"arguments":[{"hexValue":"696e76616c6964207270632075726c3a20","id":3193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7614:19:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_4888507059bbf849006832c209cb94797be8c857a4984252b438e37098512c6a","typeString":"literal_string \"invalid rpc url: \""},"value":"invalid rpc url: "},{"id":3194,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3096,"src":"7635:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4888507059bbf849006832c209cb94797be8c857a4984252b438e37098512c6a","typeString":"literal_string \"invalid rpc url: \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3191,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7597:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3192,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7601:12:3","memberName":"encodePacked","nodeType":"MemberAccess","src":"7597:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7597:49:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7590:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3189,"name":"string","nodeType":"ElementaryTypeName","src":"7590:6:3","typeDescriptions":{}}},"id":3196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7590:57:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eeaa9e6f35c22929478456dd64e8453f06b33521fed71b747719abfbccbe6492","typeString":"literal_string \"CheatcodeError(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3186,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7519:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3187,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7523:19:3","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7519:23:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":3197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7519:146:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7487:178:3"},{"assignments":[3200],"declarations":[{"constant":false,"id":3200,"mutability":"mutable","name":"errHash","nameLocation":"7691:7:3","nodeType":"VariableDeclaration","scope":3229,"src":"7683:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7683:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":3204,"initialValue":{"arguments":[{"id":3202,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3129,"src":"7711:3:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3201,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7701:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7701:14:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7683:32:3"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":3209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3205,"name":"errHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3200,"src":"7759:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":3207,"name":"oldNotFoundError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3170,"src":"7780:16:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3206,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7770:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7770:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7759:38:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":3214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3210,"name":"errHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3200,"src":"7801:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":3212,"name":"newNotFoundError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3185,"src":"7822:16:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3211,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7812:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7812:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7801:38:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7759:80:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":3216,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7758:82:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":3219,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3099,"src":"7874:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3220,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7880:6:3","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":2760,"src":"7874:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7868:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3217,"name":"bytes","nodeType":"ElementaryTypeName","src":"7868:5:3","typeDescriptions":{}}},"id":3221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7868:19:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7888:6:3","memberName":"length","nodeType":"MemberAccess","src":"7868:26:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7898:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7868:31:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7758:141:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3228,"nodeType":"IfStatement","src":"7733:369:3","trueBody":{"id":3227,"nodeType":"Block","src":"7918:184:3","statements":[{"AST":{"nativeSrc":"8004:80:3","nodeType":"YulBlock","src":"8004:80:3","statements":[{"expression":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"8041:2:3","nodeType":"YulLiteral","src":"8041:2:3","type":"","value":"32"},{"name":"err","nativeSrc":"8045:3:3","nodeType":"YulIdentifier","src":"8045:3:3"}],"functionName":{"name":"add","nativeSrc":"8037:3:3","nodeType":"YulIdentifier","src":"8037:3:3"},"nativeSrc":"8037:12:3","nodeType":"YulFunctionCall","src":"8037:12:3"},{"arguments":[{"name":"err","nativeSrc":"8057:3:3","nodeType":"YulIdentifier","src":"8057:3:3"}],"functionName":{"name":"mload","nativeSrc":"8051:5:3","nodeType":"YulIdentifier","src":"8051:5:3"},"nativeSrc":"8051:10:3","nodeType":"YulFunctionCall","src":"8051:10:3"}],"functionName":{"name":"revert","nativeSrc":"8030:6:3","nodeType":"YulIdentifier","src":"8030:6:3"},"nativeSrc":"8030:32:3","nodeType":"YulFunctionCall","src":"8030:32:3"},"nativeSrc":"8030:32:3","nodeType":"YulExpressionStatement","src":"8030:32:3"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":3129,"isOffset":false,"isSlot":false,"src":"8045:3:3","valueSize":1},{"declaration":3129,"isOffset":false,"isSlot":false,"src":"8057:3:3","valueSize":1}],"id":3226,"nodeType":"InlineAssembly","src":"7995:89:3"}]}}]},"errorName":"","id":3230,"nodeType":"TryCatchClause","parameters":{"id":3130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3129,"mutability":"mutable","name":"err","nameLocation":"6779:3:3","nodeType":"VariableDeclaration","scope":3230,"src":"6766:16:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3128,"name":"bytes","nodeType":"ElementaryTypeName","src":"6766:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6765:18:3"},"src":"6759:1357:3"}],"externalCall":{"arguments":[{"id":3115,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3096,"src":"6649:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3113,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2743,"src":"6639:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":3114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6642:6:3","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":16460,"src":"6639:9:3","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":3116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6639:21:3","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3231,"nodeType":"TryStatement","src":"6635:1481:3"}]}},{"expression":{"id":3234,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3099,"src":"8142:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain memory"}},"functionReturnParameters":3104,"id":3235,"nodeType":"Return","src":"8135:12:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getChainWithUpdatedRpcUrl","nameLocation":"6438:25:3","parameters":{"id":3100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3096,"mutability":"mutable","name":"chainAlias","nameLocation":"6478:10:3","nodeType":"VariableDeclaration","scope":3237,"src":"6464:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3095,"name":"string","nodeType":"ElementaryTypeName","src":"6464:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3099,"mutability":"mutable","name":"chain","nameLocation":"6503:5:3","nodeType":"VariableDeclaration","scope":3237,"src":"6490:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":3098,"nodeType":"UserDefinedTypeName","pathNode":{"id":3097,"name":"Chain","nameLocations":["6490:5:3"],"nodeType":"IdentifierPath","referencedDeclaration":2761,"src":"6490:5:3"},"referencedDeclaration":2761,"src":"6490:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"6463:46:3"},"returnParameters":{"id":3104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3103,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3237,"src":"6556:12:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":3102,"nodeType":"UserDefinedTypeName","pathNode":{"id":3101,"name":"Chain","nameLocations":["6556:5:3"],"nodeType":"IdentifierPath","referencedDeclaration":2761,"src":"6556:5:3"},"referencedDeclaration":2761,"src":"6556:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2761_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"6555:14:3"},"scope":3683,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":3247,"nodeType":"FunctionDefinition","src":"8160:117:3","nodes":[],"body":{"id":3246,"nodeType":"Block","src":"8223:54:3","nodes":[],"statements":[{"expression":{"id":3244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3242,"name":"fallbackToDefaultRpcUrls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2777,"src":"8233:24:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3243,"name":"useDefault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3239,"src":"8260:10:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8233:37:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3245,"nodeType":"ExpressionStatement","src":"8233:37:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"setFallbackToDefaultRpcUrls","nameLocation":"8169:27:3","parameters":{"id":3240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3239,"mutability":"mutable","name":"useDefault","nameLocation":"8202:10:3","nodeType":"VariableDeclaration","scope":3247,"src":"8197:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3238,"name":"bool","nodeType":"ElementaryTypeName","src":"8197:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8196:17:3"},"returnParameters":{"id":3241,"nodeType":"ParameterList","parameters":[],"src":"8223:0:3"},"scope":3683,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":3645,"nodeType":"FunctionDefinition","src":"8283:5559:3","nodes":[],"body":{"id":3644,"nodeType":"Block","src":"8322:5520:3","nodes":[],"statements":[{"condition":{"id":3250,"name":"stdChainsInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2745,"src":"8336:20:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3252,"nodeType":"IfStatement","src":"8332:33:3","trueBody":{"functionReturnParameters":3249,"id":3251,"nodeType":"Return","src":"8358:7:3"}},{"expression":{"id":3255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3253,"name":"stdChainsInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2745,"src":"8375:20:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":3254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8398:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"8375:27:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3256,"nodeType":"ExpressionStatement","src":"8375:27:3"},{"expression":{"arguments":[{"hexValue":"616e76696c","id":3258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8547:7:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_a3d859b77cebfdf9da3b485434702c5090ff9e91b7b86c670ebb15f8a00eb72b","typeString":"literal_string \"anvil\""},"value":"anvil"},{"arguments":[{"hexValue":"416e76696c","id":3260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8566:7:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_1ab1bd2f543bf53e1036abfe292a89809c7285bff756db6e274686afe6fb41b4","typeString":"literal_string \"Anvil\""},"value":"Anvil"},{"hexValue":"3331333337","id":3261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8575:5:3","typeDescriptions":{"typeIdentifier":"t_rational_31337_by_1","typeString":"int_const 31337"},"value":"31337"},{"hexValue":"687474703a2f2f3132372e302e302e313a38353435","id":3262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8582:23:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_308a18cf3d9de3b161a842ef1e873581d7b16a5d4ea08170e123f95d25f33fe0","typeString":"literal_string \"http://127.0.0.1:8545\""},"value":"http://127.0.0.1:8545"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1ab1bd2f543bf53e1036abfe292a89809c7285bff756db6e274686afe6fb41b4","typeString":"literal_string \"Anvil\""},{"typeIdentifier":"t_rational_31337_by_1","typeString":"int_const 31337"},{"typeIdentifier":"t_stringliteral_308a18cf3d9de3b161a842ef1e873581d7b16a5d4ea08170e123f95d25f33fe0","typeString":"literal_string \"http://127.0.0.1:8545\""}],"id":3259,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"8556:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8556:50:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a3d859b77cebfdf9da3b485434702c5090ff9e91b7b86c670ebb15f8a00eb72b","typeString":"literal_string \"anvil\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3257,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"8521:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8521:86:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3265,"nodeType":"ExpressionStatement","src":"8521:86:3"},{"expression":{"arguments":[{"hexValue":"6d61696e6e6574","id":3267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8643:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_7beafa94c8bfb8f1c1a43104a34f72c524268aafbfe83bff17485539345c66ff","typeString":"literal_string \"mainnet\""},"value":"mainnet"},{"arguments":[{"hexValue":"4d61696e6e6574","id":3269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8664:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_8d646f556e5d9d6f1edcf7a39b77f5ac253776eb34efcfd688aacbee518efc26","typeString":"literal_string \"Mainnet\""},"value":"Mainnet"},{"hexValue":"31","id":3270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8675:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"68747470733a2f2f6574682e6c6c616d617270632e636f6d","id":3271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8678:26:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_411c24d116d5f5de112b5b4156059b8fdbbc19282a79184bf17a72a8fec93e2a","typeString":"literal_string \"https://eth.llamarpc.com\""},"value":"https://eth.llamarpc.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8d646f556e5d9d6f1edcf7a39b77f5ac253776eb34efcfd688aacbee518efc26","typeString":"literal_string \"Mainnet\""},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_411c24d116d5f5de112b5b4156059b8fdbbc19282a79184bf17a72a8fec93e2a","typeString":"literal_string \"https://eth.llamarpc.com\""}],"id":3268,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"8654:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8654:51:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7beafa94c8bfb8f1c1a43104a34f72c524268aafbfe83bff17485539345c66ff","typeString":"literal_string \"mainnet\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3266,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"8617:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8617:89:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3274,"nodeType":"ExpressionStatement","src":"8617:89:3"},{"expression":{"arguments":[{"hexValue":"7365706f6c6961","id":3276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8755:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_e1f58df0b51f34f4835aba989f0aa2f2e66218cab53207bafd3dbf37270bd39a","typeString":"literal_string \"sepolia\""},"value":"sepolia"},{"arguments":[{"hexValue":"5365706f6c6961","id":3278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8776:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_a6b54cd124a84bb64f1808905ed95fb171a09730726f85e60eefcd47a4831b27","typeString":"literal_string \"Sepolia\""},"value":"Sepolia"},{"hexValue":"3131313535313131","id":3279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8787:8:3","typeDescriptions":{"typeIdentifier":"t_rational_11155111_by_1","typeString":"int_const 11155111"},"value":"11155111"},{"hexValue":"68747470733a2f2f7365706f6c69612e696e667572612e696f2f76332f6239373934616431646466383464666238633334643662623564636132303031","id":3280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8797:63:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_167447379e730a7d89231aec25edd721d4e0b02c818e31467228ef4a7c09810f","typeString":"literal_string \"https://sepolia.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001\""},"value":"https://sepolia.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a6b54cd124a84bb64f1808905ed95fb171a09730726f85e60eefcd47a4831b27","typeString":"literal_string \"Sepolia\""},{"typeIdentifier":"t_rational_11155111_by_1","typeString":"int_const 11155111"},{"typeIdentifier":"t_stringliteral_167447379e730a7d89231aec25edd721d4e0b02c818e31467228ef4a7c09810f","typeString":"literal_string \"https://sepolia.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001\""}],"id":3277,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"8766:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8766:95:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e1f58df0b51f34f4835aba989f0aa2f2e66218cab53207bafd3dbf37270bd39a","typeString":"literal_string \"sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3275,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"8716:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8716:155:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3283,"nodeType":"ExpressionStatement","src":"8716:155:3"},{"expression":{"arguments":[{"hexValue":"686f6c65736b79","id":3285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8907:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_225ab7cecf443e288dc4894ee98610f8cbeaa4a3718c6f21ab130c706fc789a0","typeString":"literal_string \"holesky\""},"value":"holesky"},{"arguments":[{"hexValue":"486f6c65736b79","id":3287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8928:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_8aa9e57bbfdbc36333797576aff48d01df8af373d958a7cf043bdc0117ce4b2f","typeString":"literal_string \"Holesky\""},"value":"Holesky"},{"hexValue":"3137303030","id":3288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8939:5:3","typeDescriptions":{"typeIdentifier":"t_rational_17000_by_1","typeString":"int_const 17000"},"value":"17000"},{"hexValue":"68747470733a2f2f7270632e686f6c65736b792e65746870616e64616f70732e696f","id":3289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8946:36:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_e7f02b0bd3afa86b1ed2e1c20ef09a4a86f096b37bcea73edd85b6f0d7974399","typeString":"literal_string \"https://rpc.holesky.ethpandaops.io\""},"value":"https://rpc.holesky.ethpandaops.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8aa9e57bbfdbc36333797576aff48d01df8af373d958a7cf043bdc0117ce4b2f","typeString":"literal_string \"Holesky\""},{"typeIdentifier":"t_rational_17000_by_1","typeString":"int_const 17000"},{"typeIdentifier":"t_stringliteral_e7f02b0bd3afa86b1ed2e1c20ef09a4a86f096b37bcea73edd85b6f0d7974399","typeString":"literal_string \"https://rpc.holesky.ethpandaops.io\""}],"id":3286,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"8918:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8918:65:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_225ab7cecf443e288dc4894ee98610f8cbeaa4a3718c6f21ab130c706fc789a0","typeString":"literal_string \"holesky\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3284,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"8881:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8881:103:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3292,"nodeType":"ExpressionStatement","src":"8881:103:3"},{"expression":{"arguments":[{"hexValue":"686f6f6469","id":3294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9020:7:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_1555cc0b82398581166a8ac2edec622973f44b5cf266c8c66328fd55958e30c9","typeString":"literal_string \"hoodi\""},"value":"hoodi"},{"arguments":[{"hexValue":"486f6f6469","id":3296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9039:7:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_d9874302513726ffaff8c32078b1c27fb48b7dd64fae72faa08410655afc37e0","typeString":"literal_string \"Hoodi\""},"value":"Hoodi"},{"hexValue":"353630303438","id":3297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9048:6:3","typeDescriptions":{"typeIdentifier":"t_rational_560048_by_1","typeString":"int_const 560048"},"value":"560048"},{"hexValue":"68747470733a2f2f7270632e686f6f64692e65746870616e64616f70732e696f","id":3298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9056:34:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_9614316eb163fa19c470a54a4ac254d43c38fd0d13b06fe5b4c51677242d8a4e","typeString":"literal_string \"https://rpc.hoodi.ethpandaops.io\""},"value":"https://rpc.hoodi.ethpandaops.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d9874302513726ffaff8c32078b1c27fb48b7dd64fae72faa08410655afc37e0","typeString":"literal_string \"Hoodi\""},{"typeIdentifier":"t_rational_560048_by_1","typeString":"int_const 560048"},{"typeIdentifier":"t_stringliteral_9614316eb163fa19c470a54a4ac254d43c38fd0d13b06fe5b4c51677242d8a4e","typeString":"literal_string \"https://rpc.hoodi.ethpandaops.io\""}],"id":3295,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"9029:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9029:62:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1555cc0b82398581166a8ac2edec622973f44b5cf266c8c66328fd55958e30c9","typeString":"literal_string \"hoodi\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3293,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"8994:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8994:98:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3301,"nodeType":"ExpressionStatement","src":"8994:98:3"},{"expression":{"arguments":[{"hexValue":"6f7074696d69736d","id":3303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9128:10:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_09d0f27659ee556a8134fa56941e42400e672aecc2d4cfc61cdb0fcea4590e05","typeString":"literal_string \"optimism\""},"value":"optimism"},{"arguments":[{"hexValue":"4f7074696d69736d","id":3305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9150:10:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_f997187c3c319ef9e33fa05f852d1612b66e309dc48d97a4b6b39832090a3bec","typeString":"literal_string \"Optimism\""},"value":"Optimism"},{"hexValue":"3130","id":3306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9162:2:3","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"68747470733a2f2f6d61696e6e65742e6f7074696d69736d2e696f","id":3307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9166:29:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_38b9211512154272cdc8d9677b3720aef06041b8d31b5e68a6ffc7a4bb22d93e","typeString":"literal_string \"https://mainnet.optimism.io\""},"value":"https://mainnet.optimism.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f997187c3c319ef9e33fa05f852d1612b66e309dc48d97a4b6b39832090a3bec","typeString":"literal_string \"Optimism\""},{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_stringliteral_38b9211512154272cdc8d9677b3720aef06041b8d31b5e68a6ffc7a4bb22d93e","typeString":"literal_string \"https://mainnet.optimism.io\""}],"id":3304,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"9140:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9140:56:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_09d0f27659ee556a8134fa56941e42400e672aecc2d4cfc61cdb0fcea4590e05","typeString":"literal_string \"optimism\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3302,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"9102:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9102:95:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3310,"nodeType":"ExpressionStatement","src":"9102:95:3"},{"expression":{"arguments":[{"hexValue":"6f7074696d69736d5f7365706f6c6961","id":3312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9246:18:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_2b81bd4766608fc7dbedcd427f8ec9931a3fdfc6ca839a7cb742fea7b200d95e","typeString":"literal_string \"optimism_sepolia\""},"value":"optimism_sepolia"},{"arguments":[{"hexValue":"4f7074696d69736d205365706f6c6961","id":3314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9276:18:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_a4b5483d4d1690e6b8c441cf97a5dc0dbd350e5a7a13eae7c4892b5ce23a0143","typeString":"literal_string \"Optimism Sepolia\""},"value":"Optimism Sepolia"},{"hexValue":"3131313535343230","id":3315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9296:8:3","typeDescriptions":{"typeIdentifier":"t_rational_11155420_by_1","typeString":"int_const 11155420"},"value":"11155420"},{"hexValue":"68747470733a2f2f7365706f6c69612e6f7074696d69736d2e696f","id":3316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9306:29:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_9637e6347106e6dff5406560d0751fa58cd1cbad2dbe2b9933bfff29a3398eca","typeString":"literal_string \"https://sepolia.optimism.io\""},"value":"https://sepolia.optimism.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a4b5483d4d1690e6b8c441cf97a5dc0dbd350e5a7a13eae7c4892b5ce23a0143","typeString":"literal_string \"Optimism Sepolia\""},{"typeIdentifier":"t_rational_11155420_by_1","typeString":"int_const 11155420"},{"typeIdentifier":"t_stringliteral_9637e6347106e6dff5406560d0751fa58cd1cbad2dbe2b9933bfff29a3398eca","typeString":"literal_string \"https://sepolia.optimism.io\""}],"id":3313,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"9266:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9266:70:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2b81bd4766608fc7dbedcd427f8ec9931a3fdfc6ca839a7cb742fea7b200d95e","typeString":"literal_string \"optimism_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3311,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"9207:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9207:139:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3319,"nodeType":"ExpressionStatement","src":"9207:139:3"},{"expression":{"arguments":[{"hexValue":"617262697472756d5f6f6e65","id":3321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9382:14:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b44cea7839e0679ac5072602932da9b25ebfb3a9ac42625d9c583a7b6b2eb4","typeString":"literal_string \"arbitrum_one\""},"value":"arbitrum_one"},{"arguments":[{"hexValue":"417262697472756d204f6e65","id":3323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9408:14:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_9e42b1aebd5463751aea2c5f6ee37505334a82b4085315a5f4b8b0f81d3b9004","typeString":"literal_string \"Arbitrum One\""},"value":"Arbitrum One"},{"hexValue":"3432313631","id":3324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9424:5:3","typeDescriptions":{"typeIdentifier":"t_rational_42161_by_1","typeString":"int_const 42161"},"value":"42161"},{"hexValue":"68747470733a2f2f617262312e617262697472756d2e696f2f727063","id":3325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9431:30:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_ff28c1a1bf3c117d5956efad529d0ee22dcfc0fe5cbf5a03e0bdfcc3c6cac126","typeString":"literal_string \"https://arb1.arbitrum.io/rpc\""},"value":"https://arb1.arbitrum.io/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9e42b1aebd5463751aea2c5f6ee37505334a82b4085315a5f4b8b0f81d3b9004","typeString":"literal_string \"Arbitrum One\""},{"typeIdentifier":"t_rational_42161_by_1","typeString":"int_const 42161"},{"typeIdentifier":"t_stringliteral_ff28c1a1bf3c117d5956efad529d0ee22dcfc0fe5cbf5a03e0bdfcc3c6cac126","typeString":"literal_string \"https://arb1.arbitrum.io/rpc\""}],"id":3322,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"9398:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9398:64:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b44cea7839e0679ac5072602932da9b25ebfb3a9ac42625d9c583a7b6b2eb4","typeString":"literal_string \"arbitrum_one\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3320,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"9356:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9356:107:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3328,"nodeType":"ExpressionStatement","src":"9356:107:3"},{"expression":{"arguments":[{"hexValue":"617262697472756d5f6f6e655f7365706f6c6961","id":3330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9512:22:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_26a1db5cffcc70784b9844e4c62ac247af8d01d7d77a3015f5a0ba29007cf771","typeString":"literal_string \"arbitrum_one_sepolia\""},"value":"arbitrum_one_sepolia"},{"arguments":[{"hexValue":"417262697472756d204f6e65205365706f6c6961","id":3332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9546:22:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_654cc796e821b4114751c4dea67fa0b307483fcd277683183f805d644727e1bd","typeString":"literal_string \"Arbitrum One Sepolia\""},"value":"Arbitrum One Sepolia"},{"hexValue":"343231363134","id":3333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9570:6:3","typeDescriptions":{"typeIdentifier":"t_rational_421614_by_1","typeString":"int_const 421614"},"value":"421614"},{"hexValue":"68747470733a2f2f7365706f6c69612d726f6c6c75702e617262697472756d2e696f2f727063","id":3334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9578:40:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_688e89820a952a5c42996d2164181a6293f1bd5425540e39328100c40b6ce79e","typeString":"literal_string \"https://sepolia-rollup.arbitrum.io/rpc\""},"value":"https://sepolia-rollup.arbitrum.io/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_654cc796e821b4114751c4dea67fa0b307483fcd277683183f805d644727e1bd","typeString":"literal_string \"Arbitrum One Sepolia\""},{"typeIdentifier":"t_rational_421614_by_1","typeString":"int_const 421614"},{"typeIdentifier":"t_stringliteral_688e89820a952a5c42996d2164181a6293f1bd5425540e39328100c40b6ce79e","typeString":"literal_string \"https://sepolia-rollup.arbitrum.io/rpc\""}],"id":3331,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"9536:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9536:83:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_26a1db5cffcc70784b9844e4c62ac247af8d01d7d77a3015f5a0ba29007cf771","typeString":"literal_string \"arbitrum_one_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3329,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"9473:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9473:156:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3337,"nodeType":"ExpressionStatement","src":"9473:156:3"},{"expression":{"arguments":[{"hexValue":"617262697472756d5f6e6f7661","id":3339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9665:15:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_9338ed1403277416ebb39d4e992ebf5c49e6dded5ec79963ea5fc261cbd7fdac","typeString":"literal_string \"arbitrum_nova\""},"value":"arbitrum_nova"},{"arguments":[{"hexValue":"417262697472756d204e6f7661","id":3341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9692:15:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_25c77b7679bf463420c39c7728b9f65b6a8f1ae05b3335eb9e394b1b61bf8f21","typeString":"literal_string \"Arbitrum Nova\""},"value":"Arbitrum Nova"},{"hexValue":"3432313730","id":3342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9709:5:3","typeDescriptions":{"typeIdentifier":"t_rational_42170_by_1","typeString":"int_const 42170"},"value":"42170"},{"hexValue":"68747470733a2f2f6e6f76612e617262697472756d2e696f2f727063","id":3343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9716:30:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_a77f0a686c95785c75ada33247e30dc9ac80330a7f8eb521bebdf48f492ee4ac","typeString":"literal_string \"https://nova.arbitrum.io/rpc\""},"value":"https://nova.arbitrum.io/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_25c77b7679bf463420c39c7728b9f65b6a8f1ae05b3335eb9e394b1b61bf8f21","typeString":"literal_string \"Arbitrum Nova\""},{"typeIdentifier":"t_rational_42170_by_1","typeString":"int_const 42170"},{"typeIdentifier":"t_stringliteral_a77f0a686c95785c75ada33247e30dc9ac80330a7f8eb521bebdf48f492ee4ac","typeString":"literal_string \"https://nova.arbitrum.io/rpc\""}],"id":3340,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"9682:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9682:65:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9338ed1403277416ebb39d4e992ebf5c49e6dded5ec79963ea5fc261cbd7fdac","typeString":"literal_string \"arbitrum_nova\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3338,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"9639:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9639:109:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3346,"nodeType":"ExpressionStatement","src":"9639:109:3"},{"expression":{"arguments":[{"hexValue":"706f6c79676f6e","id":3348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9784:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_ac63fa1fe369e75c38d62f0f4d465b48b3cd5159f0fb416332899402031d1408","typeString":"literal_string \"polygon\""},"value":"polygon"},{"arguments":[{"hexValue":"506f6c79676f6e","id":3350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9805:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_890af8db8ca1aa1e915857edbc2717639ebd8a22c786f9e0e776d6a1aacb5e71","typeString":"literal_string \"Polygon\""},"value":"Polygon"},{"hexValue":"313337","id":3351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9816:3:3","typeDescriptions":{"typeIdentifier":"t_rational_137_by_1","typeString":"int_const 137"},"value":"137"},{"hexValue":"68747470733a2f2f706f6c79676f6e2d7270632e636f6d","id":3352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9821:25:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_fda46ab670b83929623b4aa9bcfa97ff7b7376fa90a24a450a8561482232c5c0","typeString":"literal_string \"https://polygon-rpc.com\""},"value":"https://polygon-rpc.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_890af8db8ca1aa1e915857edbc2717639ebd8a22c786f9e0e776d6a1aacb5e71","typeString":"literal_string \"Polygon\""},{"typeIdentifier":"t_rational_137_by_1","typeString":"int_const 137"},{"typeIdentifier":"t_stringliteral_fda46ab670b83929623b4aa9bcfa97ff7b7376fa90a24a450a8561482232c5c0","typeString":"literal_string \"https://polygon-rpc.com\""}],"id":3349,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"9795:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9795:52:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ac63fa1fe369e75c38d62f0f4d465b48b3cd5159f0fb416332899402031d1408","typeString":"literal_string \"polygon\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3347,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"9758:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9758:90:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3355,"nodeType":"ExpressionStatement","src":"9758:90:3"},{"expression":{"arguments":[{"hexValue":"706f6c79676f6e5f616d6f79","id":3357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9897:14:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_99386ebe04f891bb96d67bac6a8c404b5f67fb13158954ea2c9e2362a932e070","typeString":"literal_string \"polygon_amoy\""},"value":"polygon_amoy"},{"arguments":[{"hexValue":"506f6c79676f6e20416d6f79","id":3359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9923:14:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_70d1ef84663b7252febfdf23a787d7e693d0b8647f0d6d014e089199f6cb2946","typeString":"literal_string \"Polygon Amoy\""},"value":"Polygon Amoy"},{"hexValue":"3830303032","id":3360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9939:5:3","typeDescriptions":{"typeIdentifier":"t_rational_80002_by_1","typeString":"int_const 80002"},"value":"80002"},{"hexValue":"68747470733a2f2f7270632d616d6f792e706f6c79676f6e2e746563686e6f6c6f6779","id":3361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9946:37:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_2373c58e9dd62de041a01e2a45a8fce997a1bfaf90c1491c1a766e3d1cc947a6","typeString":"literal_string \"https://rpc-amoy.polygon.technology\""},"value":"https://rpc-amoy.polygon.technology"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_70d1ef84663b7252febfdf23a787d7e693d0b8647f0d6d014e089199f6cb2946","typeString":"literal_string \"Polygon Amoy\""},{"typeIdentifier":"t_rational_80002_by_1","typeString":"int_const 80002"},{"typeIdentifier":"t_stringliteral_2373c58e9dd62de041a01e2a45a8fce997a1bfaf90c1491c1a766e3d1cc947a6","typeString":"literal_string \"https://rpc-amoy.polygon.technology\""}],"id":3358,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"9913:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9913:71:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_99386ebe04f891bb96d67bac6a8c404b5f67fb13158954ea2c9e2362a932e070","typeString":"literal_string \"polygon_amoy\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3356,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"9858:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9858:136:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3364,"nodeType":"ExpressionStatement","src":"9858:136:3"},{"expression":{"arguments":[{"hexValue":"6176616c616e636865","id":3366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10030:11:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e8b0d92516ee4289145e3b78cea58daac177b1c618beeedbc6cdabd388a6e55","typeString":"literal_string \"avalanche\""},"value":"avalanche"},{"arguments":[{"hexValue":"4176616c616e636865","id":3368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10053:11:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_6585177c3aba6cb7ffc0a37e831a958c4ee9278e4c62c7bdad7175ca09883c40","typeString":"literal_string \"Avalanche\""},"value":"Avalanche"},{"hexValue":"3433313134","id":3369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10066:5:3","typeDescriptions":{"typeIdentifier":"t_rational_43114_by_1","typeString":"int_const 43114"},"value":"43114"},{"hexValue":"68747470733a2f2f6170692e617661782e6e6574776f726b2f6578742f62632f432f727063","id":3370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10073:39:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_429365eac47ed6b261c38927d854e528b743fc5a678b1b4ba631c511f305886a","typeString":"literal_string \"https://api.avax.network/ext/bc/C/rpc\""},"value":"https://api.avax.network/ext/bc/C/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6585177c3aba6cb7ffc0a37e831a958c4ee9278e4c62c7bdad7175ca09883c40","typeString":"literal_string \"Avalanche\""},{"typeIdentifier":"t_rational_43114_by_1","typeString":"int_const 43114"},{"typeIdentifier":"t_stringliteral_429365eac47ed6b261c38927d854e528b743fc5a678b1b4ba631c511f305886a","typeString":"literal_string \"https://api.avax.network/ext/bc/C/rpc\""}],"id":3367,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"10043:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10043:70:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e8b0d92516ee4289145e3b78cea58daac177b1c618beeedbc6cdabd388a6e55","typeString":"literal_string \"avalanche\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3365,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"10004:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10004:110:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3373,"nodeType":"ExpressionStatement","src":"10004:110:3"},{"expression":{"arguments":[{"hexValue":"6176616c616e6368655f66756a69","id":3375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10163:16:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1920d2f80060f1c83444622c7eb5adf4484bed8a537b8d13eae53bd800aa692","typeString":"literal_string \"avalanche_fuji\""},"value":"avalanche_fuji"},{"arguments":[{"hexValue":"4176616c616e6368652046756a69","id":3377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10191:16:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_522b176494c651b1a4c5779e66ed19f885df62891abfb18fd5e45b69bdabe11b","typeString":"literal_string \"Avalanche Fuji\""},"value":"Avalanche Fuji"},{"hexValue":"3433313133","id":3378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10209:5:3","typeDescriptions":{"typeIdentifier":"t_rational_43113_by_1","typeString":"int_const 43113"},"value":"43113"},{"hexValue":"68747470733a2f2f6170692e617661782d746573742e6e6574776f726b2f6578742f62632f432f727063","id":3379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10216:44:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6621ea822eabf6c190358ea82de0c52d3503dcce8117b3366a8a3bd96eb422d","typeString":"literal_string \"https://api.avax-test.network/ext/bc/C/rpc\""},"value":"https://api.avax-test.network/ext/bc/C/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_522b176494c651b1a4c5779e66ed19f885df62891abfb18fd5e45b69bdabe11b","typeString":"literal_string \"Avalanche Fuji\""},{"typeIdentifier":"t_rational_43113_by_1","typeString":"int_const 43113"},{"typeIdentifier":"t_stringliteral_d6621ea822eabf6c190358ea82de0c52d3503dcce8117b3366a8a3bd96eb422d","typeString":"literal_string \"https://api.avax-test.network/ext/bc/C/rpc\""}],"id":3376,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"10181:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10181:80:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1920d2f80060f1c83444622c7eb5adf4484bed8a537b8d13eae53bd800aa692","typeString":"literal_string \"avalanche_fuji\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3374,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"10124:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10124:147:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3382,"nodeType":"ExpressionStatement","src":"10124:147:3"},{"expression":{"arguments":[{"hexValue":"626e625f736d6172745f636861696e","id":3384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10320:17:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_fa8b17ae9aa26749f5dc3a3bb333e0019db0c257f3541e870f73bb48b574361e","typeString":"literal_string \"bnb_smart_chain\""},"value":"bnb_smart_chain"},{"arguments":[{"hexValue":"424e4220536d61727420436861696e","id":3386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10349:17:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_3606544ee65d30d7c7f7d6a1f6618e0d836299fa5b85b88d71a59535c6a1550f","typeString":"literal_string \"BNB Smart Chain\""},"value":"BNB Smart Chain"},{"hexValue":"3536","id":3387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10368:2:3","typeDescriptions":{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},"value":"56"},{"hexValue":"68747470733a2f2f6273632d6461746173656564312e62696e616e63652e6f7267","id":3388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10372:35:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2b4215bd50ab260c8c9f18e36ea07b1f952450853bcf024123d5767a40d4719","typeString":"literal_string \"https://bsc-dataseed1.binance.org\""},"value":"https://bsc-dataseed1.binance.org"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3606544ee65d30d7c7f7d6a1f6618e0d836299fa5b85b88d71a59535c6a1550f","typeString":"literal_string \"BNB Smart Chain\""},{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},{"typeIdentifier":"t_stringliteral_e2b4215bd50ab260c8c9f18e36ea07b1f952450853bcf024123d5767a40d4719","typeString":"literal_string \"https://bsc-dataseed1.binance.org\""}],"id":3385,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"10339:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10339:69:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fa8b17ae9aa26749f5dc3a3bb333e0019db0c257f3541e870f73bb48b574361e","typeString":"literal_string \"bnb_smart_chain\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3383,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"10281:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10281:137:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3391,"nodeType":"ExpressionStatement","src":"10281:137:3"},{"expression":{"arguments":[{"hexValue":"626e625f736d6172745f636861696e5f746573746e6574","id":3393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10467:25:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_1813de9892ab9db3d0c3b0c3eed9c8b820fe0c7e205bed860e6e89f4d7f75f29","typeString":"literal_string \"bnb_smart_chain_testnet\""},"value":"bnb_smart_chain_testnet"},{"arguments":[{"hexValue":"424e4220536d61727420436861696e20546573746e6574","id":3395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10516:25:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b1d88342c4ab079c9a8243ef8dfeb0bb41e1da5dc9fe62ca728dfe4ea21092c","typeString":"literal_string \"BNB Smart Chain Testnet\""},"value":"BNB Smart Chain Testnet"},{"hexValue":"3937","id":3396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10543:2:3","typeDescriptions":{"typeIdentifier":"t_rational_97_by_1","typeString":"int_const 97"},"value":"97"},{"hexValue":"68747470733a2f2f7270632e616e6b722e636f6d2f6273635f746573746e65745f63686170656c","id":3397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10547:41:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_6660930de41ed298fb6a2348f33b08e5736a3823e6ffb86942097b237e075960","typeString":"literal_string \"https://rpc.ankr.com/bsc_testnet_chapel\""},"value":"https://rpc.ankr.com/bsc_testnet_chapel"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b1d88342c4ab079c9a8243ef8dfeb0bb41e1da5dc9fe62ca728dfe4ea21092c","typeString":"literal_string \"BNB Smart Chain Testnet\""},{"typeIdentifier":"t_rational_97_by_1","typeString":"int_const 97"},{"typeIdentifier":"t_stringliteral_6660930de41ed298fb6a2348f33b08e5736a3823e6ffb86942097b237e075960","typeString":"literal_string \"https://rpc.ankr.com/bsc_testnet_chapel\""}],"id":3394,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"10506:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3398,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10506:83:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1813de9892ab9db3d0c3b0c3eed9c8b820fe0c7e205bed860e6e89f4d7f75f29","typeString":"literal_string \"bnb_smart_chain_testnet\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3392,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"10428:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10428:171:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3400,"nodeType":"ExpressionStatement","src":"10428:171:3"},{"expression":{"arguments":[{"hexValue":"676e6f7369735f636861696e","id":3402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10635:14:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_847b7ed4df59b2dfcdba377bf4ac481c502926169e9af948ee2dd45c0e6df595","typeString":"literal_string \"gnosis_chain\""},"value":"gnosis_chain"},{"arguments":[{"hexValue":"476e6f73697320436861696e","id":3404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10661:14:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_9bfc6ae4a1f5d8ea33b4f631c2f7dfbfa7d613af42ef38137c06d4cd03619b02","typeString":"literal_string \"Gnosis Chain\""},"value":"Gnosis Chain"},{"hexValue":"313030","id":3405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10677:3:3","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"hexValue":"68747470733a2f2f7270632e676e6f736973636861696e2e636f6d","id":3406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10682:29:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_127e02590d58e22164456f76136047039faabc2ca27eb41939081a3e775b50df","typeString":"literal_string \"https://rpc.gnosischain.com\""},"value":"https://rpc.gnosischain.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9bfc6ae4a1f5d8ea33b4f631c2f7dfbfa7d613af42ef38137c06d4cd03619b02","typeString":"literal_string \"Gnosis Chain\""},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_stringliteral_127e02590d58e22164456f76136047039faabc2ca27eb41939081a3e775b50df","typeString":"literal_string \"https://rpc.gnosischain.com\""}],"id":3403,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"10651:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10651:61:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_847b7ed4df59b2dfcdba377bf4ac481c502926169e9af948ee2dd45c0e6df595","typeString":"literal_string \"gnosis_chain\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3401,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"10609:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10609:104:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3409,"nodeType":"ExpressionStatement","src":"10609:104:3"},{"expression":{"arguments":[{"hexValue":"6d6f6f6e6265616d","id":3411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10749:10:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_26aaddd9933ae745bc6e39b5e8962c0d0eef85597e0bdcb35ce7e0d96b84735d","typeString":"literal_string \"moonbeam\""},"value":"moonbeam"},{"arguments":[{"hexValue":"4d6f6f6e6265616d","id":3413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10771:10:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_99a49606e97aa9d58789783bd4cdfcc3ab4072167b449d1e303cb1135216531b","typeString":"literal_string \"Moonbeam\""},"value":"Moonbeam"},{"hexValue":"31323834","id":3414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10783:4:3","typeDescriptions":{"typeIdentifier":"t_rational_1284_by_1","typeString":"int_const 1284"},"value":"1284"},{"hexValue":"68747470733a2f2f7270632e6170692e6d6f6f6e6265616d2e6e6574776f726b","id":3415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10789:34:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf5d37a68a82777d3f0adcdf64b39d98f1e820688e4ced698cd753bbd1e32191","typeString":"literal_string \"https://rpc.api.moonbeam.network\""},"value":"https://rpc.api.moonbeam.network"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_99a49606e97aa9d58789783bd4cdfcc3ab4072167b449d1e303cb1135216531b","typeString":"literal_string \"Moonbeam\""},{"typeIdentifier":"t_rational_1284_by_1","typeString":"int_const 1284"},{"typeIdentifier":"t_stringliteral_cf5d37a68a82777d3f0adcdf64b39d98f1e820688e4ced698cd753bbd1e32191","typeString":"literal_string \"https://rpc.api.moonbeam.network\""}],"id":3412,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"10761:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10761:63:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_26aaddd9933ae745bc6e39b5e8962c0d0eef85597e0bdcb35ce7e0d96b84735d","typeString":"literal_string \"moonbeam\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3410,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"10723:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10723:102:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3418,"nodeType":"ExpressionStatement","src":"10723:102:3"},{"expression":{"arguments":[{"hexValue":"6d6f6f6e7269766572","id":3420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10874:11:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_2eb4cae4af32e190d8881d6d0a59016ff55092d3a70bcf6b321432516acfd74a","typeString":"literal_string \"moonriver\""},"value":"moonriver"},{"arguments":[{"hexValue":"4d6f6f6e7269766572","id":3422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10897:11:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_65d5ad77d0dd38eb7219d1087db2cb9c2440e3f70be3ee1567aa2329d21dad8a","typeString":"literal_string \"Moonriver\""},"value":"Moonriver"},{"hexValue":"31323835","id":3423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10910:4:3","typeDescriptions":{"typeIdentifier":"t_rational_1285_by_1","typeString":"int_const 1285"},"value":"1285"},{"hexValue":"68747470733a2f2f7270632e6170692e6d6f6f6e72697665722e6d6f6f6e6265616d2e6e6574776f726b","id":3424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10916:44:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_cdf0715ef9b420dea4501d55a4c023de5bc6e2be267c3e3ec8345021a77f3e46","typeString":"literal_string \"https://rpc.api.moonriver.moonbeam.network\""},"value":"https://rpc.api.moonriver.moonbeam.network"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_65d5ad77d0dd38eb7219d1087db2cb9c2440e3f70be3ee1567aa2329d21dad8a","typeString":"literal_string \"Moonriver\""},{"typeIdentifier":"t_rational_1285_by_1","typeString":"int_const 1285"},{"typeIdentifier":"t_stringliteral_cdf0715ef9b420dea4501d55a4c023de5bc6e2be267c3e3ec8345021a77f3e46","typeString":"literal_string \"https://rpc.api.moonriver.moonbeam.network\""}],"id":3421,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"10887:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10887:74:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2eb4cae4af32e190d8881d6d0a59016ff55092d3a70bcf6b321432516acfd74a","typeString":"literal_string \"moonriver\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3419,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"10835:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10835:136:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3427,"nodeType":"ExpressionStatement","src":"10835:136:3"},{"expression":{"arguments":[{"hexValue":"6d6f6f6e62617365","id":3429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11007:10:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_ccd05eb377a4954d8471e48341881dadc4d2a36094f09ce309d35b3b6204f44e","typeString":"literal_string \"moonbase\""},"value":"moonbase"},{"arguments":[{"hexValue":"4d6f6f6e62617365","id":3431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11029:10:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f3c53069778183912da77a05fe67c3d6edb208ffdf1ca0161d51543035e3c68","typeString":"literal_string \"Moonbase\""},"value":"Moonbase"},{"hexValue":"31323837","id":3432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11041:4:3","typeDescriptions":{"typeIdentifier":"t_rational_1287_by_1","typeString":"int_const 1287"},"value":"1287"},{"hexValue":"68747470733a2f2f7270632e746573746e65742e6d6f6f6e6265616d2e6e6574776f726b","id":3433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11047:38:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_611da7a50d9bf940412b47209c78030562dd2047afcf97dad69e15217355b585","typeString":"literal_string \"https://rpc.testnet.moonbeam.network\""},"value":"https://rpc.testnet.moonbeam.network"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f3c53069778183912da77a05fe67c3d6edb208ffdf1ca0161d51543035e3c68","typeString":"literal_string \"Moonbase\""},{"typeIdentifier":"t_rational_1287_by_1","typeString":"int_const 1287"},{"typeIdentifier":"t_stringliteral_611da7a50d9bf940412b47209c78030562dd2047afcf97dad69e15217355b585","typeString":"literal_string \"https://rpc.testnet.moonbeam.network\""}],"id":3430,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"11019:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11019:67:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ccd05eb377a4954d8471e48341881dadc4d2a36094f09ce309d35b3b6204f44e","typeString":"literal_string \"moonbase\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3428,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"10981:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10981:106:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3436,"nodeType":"ExpressionStatement","src":"10981:106:3"},{"expression":{"arguments":[{"hexValue":"626173655f7365706f6c6961","id":3438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11123:14:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_40f5ce1e060576e5bb027cec6e47b8e25f62225f6819b727a8b3b65f474b0579","typeString":"literal_string \"base_sepolia\""},"value":"base_sepolia"},{"arguments":[{"hexValue":"42617365205365706f6c6961","id":3440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11149:14:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_4302f54daff87a391f27ad11679cb16c1ec4c4676bf1145291eff47852bb3951","typeString":"literal_string \"Base Sepolia\""},"value":"Base Sepolia"},{"hexValue":"3834353332","id":3441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11165:5:3","typeDescriptions":{"typeIdentifier":"t_rational_84532_by_1","typeString":"int_const 84532"},"value":"84532"},{"hexValue":"68747470733a2f2f7365706f6c69612e626173652e6f7267","id":3442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11172:26:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_64dd31038d7f53a8cfd73e6409052ea93b6797747302995b002ca2468e7a19f5","typeString":"literal_string \"https://sepolia.base.org\""},"value":"https://sepolia.base.org"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4302f54daff87a391f27ad11679cb16c1ec4c4676bf1145291eff47852bb3951","typeString":"literal_string \"Base Sepolia\""},{"typeIdentifier":"t_rational_84532_by_1","typeString":"int_const 84532"},{"typeIdentifier":"t_stringliteral_64dd31038d7f53a8cfd73e6409052ea93b6797747302995b002ca2468e7a19f5","typeString":"literal_string \"https://sepolia.base.org\""}],"id":3439,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"11139:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11139:60:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_40f5ce1e060576e5bb027cec6e47b8e25f62225f6819b727a8b3b65f474b0579","typeString":"literal_string \"base_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3437,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"11097:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11097:103:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3445,"nodeType":"ExpressionStatement","src":"11097:103:3"},{"expression":{"arguments":[{"hexValue":"62617365","id":3447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11236:6:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_f1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f","typeString":"literal_string \"base\""},"value":"base"},{"arguments":[{"hexValue":"42617365","id":3449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11254:6:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_0ae0ac2f852a779a7f563e86fd9f7493133d36d105b67aa4ae634de521805c78","typeString":"literal_string \"Base\""},"value":"Base"},{"hexValue":"38343533","id":3450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11262:4:3","typeDescriptions":{"typeIdentifier":"t_rational_8453_by_1","typeString":"int_const 8453"},"value":"8453"},{"hexValue":"68747470733a2f2f6d61696e6e65742e626173652e6f7267","id":3451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11268:26:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_a7cada1c9191e2f8d595127a4d3f6fa90fd263d9c81f2466ebe2e780722f9202","typeString":"literal_string \"https://mainnet.base.org\""},"value":"https://mainnet.base.org"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0ae0ac2f852a779a7f563e86fd9f7493133d36d105b67aa4ae634de521805c78","typeString":"literal_string \"Base\""},{"typeIdentifier":"t_rational_8453_by_1","typeString":"int_const 8453"},{"typeIdentifier":"t_stringliteral_a7cada1c9191e2f8d595127a4d3f6fa90fd263d9c81f2466ebe2e780722f9202","typeString":"literal_string \"https://mainnet.base.org\""}],"id":3448,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"11244:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11244:51:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f","typeString":"literal_string \"base\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3446,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"11210:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11210:86:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3454,"nodeType":"ExpressionStatement","src":"11210:86:3"},{"expression":{"arguments":[{"hexValue":"626c6173745f7365706f6c6961","id":3456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11332:15:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_994871fd85735b80fc101a7bc1ba23b652d20d656ed6bdf5b26d974bbe38a8ce","typeString":"literal_string \"blast_sepolia\""},"value":"blast_sepolia"},{"arguments":[{"hexValue":"426c617374205365706f6c6961","id":3458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11359:15:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_aca96c68944e335d2b1293b78f53b9df0a29846df8dce2ed5b0da1ae3cb18429","typeString":"literal_string \"Blast Sepolia\""},"value":"Blast Sepolia"},{"hexValue":"313638353837373733","id":3459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11376:9:3","typeDescriptions":{"typeIdentifier":"t_rational_168587773_by_1","typeString":"int_const 168587773"},"value":"168587773"},{"hexValue":"68747470733a2f2f7365706f6c69612e626c6173742e696f","id":3460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11387:26:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_1cf31ff7d880bc9630920378a25b6d66eee96794c2c50cb2d200ff7a0ce5768c","typeString":"literal_string \"https://sepolia.blast.io\""},"value":"https://sepolia.blast.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aca96c68944e335d2b1293b78f53b9df0a29846df8dce2ed5b0da1ae3cb18429","typeString":"literal_string \"Blast Sepolia\""},{"typeIdentifier":"t_rational_168587773_by_1","typeString":"int_const 168587773"},{"typeIdentifier":"t_stringliteral_1cf31ff7d880bc9630920378a25b6d66eee96794c2c50cb2d200ff7a0ce5768c","typeString":"literal_string \"https://sepolia.blast.io\""}],"id":3457,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"11349:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11349:65:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_994871fd85735b80fc101a7bc1ba23b652d20d656ed6bdf5b26d974bbe38a8ce","typeString":"literal_string \"blast_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3455,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"11306:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11306:109:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3463,"nodeType":"ExpressionStatement","src":"11306:109:3"},{"expression":{"arguments":[{"hexValue":"626c617374","id":3465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11451:7:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_edf839a6b71363a2663cc0c8ffcf15606693adcc9ca9c568aeb87895fd70b0ec","typeString":"literal_string \"blast\""},"value":"blast"},{"arguments":[{"hexValue":"426c617374","id":3467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11470:7:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b94971ac04d596524d45bcf53505c621ede60829afbe43ffb3789c8d10810a8","typeString":"literal_string \"Blast\""},"value":"Blast"},{"hexValue":"3831343537","id":3468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11479:5:3","typeDescriptions":{"typeIdentifier":"t_rational_81457_by_1","typeString":"int_const 81457"},"value":"81457"},{"hexValue":"68747470733a2f2f7270632e626c6173742e696f","id":3469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11486:22:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_f3358c4aeeee5f7c57914d7763a157022d948cd26527b58cb169c56b42ba12a8","typeString":"literal_string \"https://rpc.blast.io\""},"value":"https://rpc.blast.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b94971ac04d596524d45bcf53505c621ede60829afbe43ffb3789c8d10810a8","typeString":"literal_string \"Blast\""},{"typeIdentifier":"t_rational_81457_by_1","typeString":"int_const 81457"},{"typeIdentifier":"t_stringliteral_f3358c4aeeee5f7c57914d7763a157022d948cd26527b58cb169c56b42ba12a8","typeString":"literal_string \"https://rpc.blast.io\""}],"id":3466,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"11460:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11460:49:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_edf839a6b71363a2663cc0c8ffcf15606693adcc9ca9c568aeb87895fd70b0ec","typeString":"literal_string \"blast\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3464,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"11425:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11425:85:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3472,"nodeType":"ExpressionStatement","src":"11425:85:3"},{"expression":{"arguments":[{"hexValue":"66616e746f6d5f6f70657261","id":3474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11546:14:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_efab6b6b003f1806d03e940e3af2c8bdf94c0c15afcd0102f79e1131fb05c2d8","typeString":"literal_string \"fantom_opera\""},"value":"fantom_opera"},{"arguments":[{"hexValue":"46616e746f6d204f70657261","id":3476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11572:14:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_70e6474318e559e3d7232f43dcb4c49a66cb83d3b46f20c3c7348fba762247cd","typeString":"literal_string \"Fantom Opera\""},"value":"Fantom Opera"},{"hexValue":"323530","id":3477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11588:3:3","typeDescriptions":{"typeIdentifier":"t_rational_250_by_1","typeString":"int_const 250"},"value":"250"},{"hexValue":"68747470733a2f2f7270632e616e6b722e636f6d2f66616e746f6d2f","id":3478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11593:30:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_86e240464e047cac971d5f86fa6a105c7a5200638459dd69bf187edaf36e1590","typeString":"literal_string \"https://rpc.ankr.com/fantom/\""},"value":"https://rpc.ankr.com/fantom/"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_70e6474318e559e3d7232f43dcb4c49a66cb83d3b46f20c3c7348fba762247cd","typeString":"literal_string \"Fantom Opera\""},{"typeIdentifier":"t_rational_250_by_1","typeString":"int_const 250"},{"typeIdentifier":"t_stringliteral_86e240464e047cac971d5f86fa6a105c7a5200638459dd69bf187edaf36e1590","typeString":"literal_string \"https://rpc.ankr.com/fantom/\""}],"id":3475,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"11562:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11562:62:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_efab6b6b003f1806d03e940e3af2c8bdf94c0c15afcd0102f79e1131fb05c2d8","typeString":"literal_string \"fantom_opera\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3473,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"11520:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11520:105:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3481,"nodeType":"ExpressionStatement","src":"11520:105:3"},{"expression":{"arguments":[{"hexValue":"66616e746f6d5f6f706572615f746573746e6574","id":3483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11674:22:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_e81f9053d1530b1141c62bc583685976f395bd82d5e5a191ca56bde88753243c","typeString":"literal_string \"fantom_opera_testnet\""},"value":"fantom_opera_testnet"},{"arguments":[{"hexValue":"46616e746f6d204f7065726120546573746e6574","id":3485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11708:22:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_774e6dd0df25c08862c1aba23c14a65527538bc21375c3b4779f0ab53c8a6387","typeString":"literal_string \"Fantom Opera Testnet\""},"value":"Fantom Opera Testnet"},{"hexValue":"34303032","id":3486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11732:4:3","typeDescriptions":{"typeIdentifier":"t_rational_4002_by_1","typeString":"int_const 4002"},"value":"4002"},{"hexValue":"68747470733a2f2f7270632e616e6b722e636f6d2f66616e746f6d5f746573746e65742f","id":3487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11738:38:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c2ee0e3736d2ffc13dc640036e456ff8581e9526282a3ebd5020acb016a2f0f","typeString":"literal_string \"https://rpc.ankr.com/fantom_testnet/\""},"value":"https://rpc.ankr.com/fantom_testnet/"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_774e6dd0df25c08862c1aba23c14a65527538bc21375c3b4779f0ab53c8a6387","typeString":"literal_string \"Fantom Opera Testnet\""},{"typeIdentifier":"t_rational_4002_by_1","typeString":"int_const 4002"},{"typeIdentifier":"t_stringliteral_0c2ee0e3736d2ffc13dc640036e456ff8581e9526282a3ebd5020acb016a2f0f","typeString":"literal_string \"https://rpc.ankr.com/fantom_testnet/\""}],"id":3484,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"11698:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3488,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11698:79:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e81f9053d1530b1141c62bc583685976f395bd82d5e5a191ca56bde88753243c","typeString":"literal_string \"fantom_opera_testnet\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3482,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"11635:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11635:152:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3490,"nodeType":"ExpressionStatement","src":"11635:152:3"},{"expression":{"arguments":[{"hexValue":"6672617874616c","id":3492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11823:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_39520897016aaf0ab8e5bf7b0c72c0875359483112298e4b64220a3abfb31c1a","typeString":"literal_string \"fraxtal\""},"value":"fraxtal"},{"arguments":[{"hexValue":"4672617874616c","id":3494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11844:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_258a91ae779c05105302c0ca8434df9790a9dacc2a8d962203ef42cdff863a26","typeString":"literal_string \"Fraxtal\""},"value":"Fraxtal"},{"hexValue":"323532","id":3495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11855:3:3","typeDescriptions":{"typeIdentifier":"t_rational_252_by_1","typeString":"int_const 252"},"value":"252"},{"hexValue":"68747470733a2f2f7270632e667261782e636f6d","id":3496,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11860:22:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_1b64bb600df7e2957113c841c567f3ce6aa968babbf2ca546497c7c808b6975e","typeString":"literal_string \"https://rpc.frax.com\""},"value":"https://rpc.frax.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_258a91ae779c05105302c0ca8434df9790a9dacc2a8d962203ef42cdff863a26","typeString":"literal_string \"Fraxtal\""},{"typeIdentifier":"t_rational_252_by_1","typeString":"int_const 252"},{"typeIdentifier":"t_stringliteral_1b64bb600df7e2957113c841c567f3ce6aa968babbf2ca546497c7c808b6975e","typeString":"literal_string \"https://rpc.frax.com\""}],"id":3493,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"11834:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11834:49:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_39520897016aaf0ab8e5bf7b0c72c0875359483112298e4b64220a3abfb31c1a","typeString":"literal_string \"fraxtal\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3491,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"11797:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11797:87:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3499,"nodeType":"ExpressionStatement","src":"11797:87:3"},{"expression":{"arguments":[{"hexValue":"6672617874616c5f746573746e6574","id":3501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11920:17:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_25a8d3f8b42e5ee6eb46a7e906575c3f65c7d75f89e14d4f1980b180625cf40d","typeString":"literal_string \"fraxtal_testnet\""},"value":"fraxtal_testnet"},{"arguments":[{"hexValue":"4672617874616c20546573746e6574","id":3503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11949:17:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3fd54ce348914a0de2945cd0a56373f7fc69c9aa205c9e9f7836ef06688a009","typeString":"literal_string \"Fraxtal Testnet\""},"value":"Fraxtal Testnet"},{"hexValue":"32353232","id":3504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11968:4:3","typeDescriptions":{"typeIdentifier":"t_rational_2522_by_1","typeString":"int_const 2522"},"value":"2522"},{"hexValue":"68747470733a2f2f7270632e746573746e65742e667261782e636f6d","id":3505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11974:30:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_12e6821fb9893e70ea8e6b012b4fcfb4682180e2d4c75ac5fb9c7e85c0a0d241","typeString":"literal_string \"https://rpc.testnet.frax.com\""},"value":"https://rpc.testnet.frax.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3fd54ce348914a0de2945cd0a56373f7fc69c9aa205c9e9f7836ef06688a009","typeString":"literal_string \"Fraxtal Testnet\""},{"typeIdentifier":"t_rational_2522_by_1","typeString":"int_const 2522"},{"typeIdentifier":"t_stringliteral_12e6821fb9893e70ea8e6b012b4fcfb4682180e2d4c75ac5fb9c7e85c0a0d241","typeString":"literal_string \"https://rpc.testnet.frax.com\""}],"id":3502,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"11939:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11939:66:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_25a8d3f8b42e5ee6eb46a7e906575c3f65c7d75f89e14d4f1980b180625cf40d","typeString":"literal_string \"fraxtal_testnet\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3500,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"11894:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11894:112:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3508,"nodeType":"ExpressionStatement","src":"11894:112:3"},{"expression":{"arguments":[{"hexValue":"62657261636861696e5f62617274696f5f746573746e6574","id":3510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12055:26:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_d1b25da3f610bf5b5175af87c49eb357a02eb70056225877297844a59fb4f4f8","typeString":"literal_string \"berachain_bartio_testnet\""},"value":"berachain_bartio_testnet"},{"arguments":[{"hexValue":"42657261636861696e2062417274696f20546573746e6574","id":3512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12093:26:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_b167f92573ac2bdc8409b33d6661c61294f1237898227341da2e3b368cb5bc05","typeString":"literal_string \"Berachain bArtio Testnet\""},"value":"Berachain bArtio Testnet"},{"hexValue":"3830303834","id":3513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12121:5:3","typeDescriptions":{"typeIdentifier":"t_rational_80084_by_1","typeString":"int_const 80084"},"value":"80084"},{"hexValue":"68747470733a2f2f62617274696f2e7270632e62657261636861696e2e636f6d","id":3514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12128:34:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_897c63542fb738805bf0d62cbd83a47219016d3e63992786094c0c012671bdaa","typeString":"literal_string \"https://bartio.rpc.berachain.com\""},"value":"https://bartio.rpc.berachain.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b167f92573ac2bdc8409b33d6661c61294f1237898227341da2e3b368cb5bc05","typeString":"literal_string \"Berachain bArtio Testnet\""},{"typeIdentifier":"t_rational_80084_by_1","typeString":"int_const 80084"},{"typeIdentifier":"t_stringliteral_897c63542fb738805bf0d62cbd83a47219016d3e63992786094c0c012671bdaa","typeString":"literal_string \"https://bartio.rpc.berachain.com\""}],"id":3511,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"12083:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12083:80:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d1b25da3f610bf5b5175af87c49eb357a02eb70056225877297844a59fb4f4f8","typeString":"literal_string \"berachain_bartio_testnet\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3509,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"12016:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12016:157:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3517,"nodeType":"ExpressionStatement","src":"12016:157:3"},{"expression":{"arguments":[{"hexValue":"666c617265","id":3519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12209:7:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_f18d3cef363ef3d9b2f893c01a845645821d99eb19f05a6a335a4ffcded27a57","typeString":"literal_string \"flare\""},"value":"flare"},{"arguments":[{"hexValue":"466c617265","id":3521,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12228:7:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_d8548a93f9ff6cd6257dd7ca62095cb0e26ca88adfc7d9de9897d5f8b3422acc","typeString":"literal_string \"Flare\""},"value":"Flare"},{"hexValue":"3134","id":3522,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12237:2:3","typeDescriptions":{"typeIdentifier":"t_rational_14_by_1","typeString":"int_const 14"},"value":"14"},{"hexValue":"68747470733a2f2f666c6172652d6170692e666c6172652e6e6574776f726b2f6578742f432f727063","id":3523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12241:43:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_d8af3ebfbaaff92c3d7e36647eebca0601e026a34b8f2db5d800ab1b40bd8fe3","typeString":"literal_string \"https://flare-api.flare.network/ext/C/rpc\""},"value":"https://flare-api.flare.network/ext/C/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d8548a93f9ff6cd6257dd7ca62095cb0e26ca88adfc7d9de9897d5f8b3422acc","typeString":"literal_string \"Flare\""},{"typeIdentifier":"t_rational_14_by_1","typeString":"int_const 14"},{"typeIdentifier":"t_stringliteral_d8af3ebfbaaff92c3d7e36647eebca0601e026a34b8f2db5d800ab1b40bd8fe3","typeString":"literal_string \"https://flare-api.flare.network/ext/C/rpc\""}],"id":3520,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"12218:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12218:67:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f18d3cef363ef3d9b2f893c01a845645821d99eb19f05a6a335a4ffcded27a57","typeString":"literal_string \"flare\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3518,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"12183:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12183:103:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3526,"nodeType":"ExpressionStatement","src":"12183:103:3"},{"expression":{"arguments":[{"hexValue":"666c6172655f636f73746f6e32","id":3528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12335:15:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5f9c1a8f191c1c83cb750d2196b8bf7e0aec4ee77ddcbdcee181bc95d559029","typeString":"literal_string \"flare_coston2\""},"value":"flare_coston2"},{"arguments":[{"hexValue":"466c61726520436f73746f6e32","id":3530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12362:15:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_7f8cb824946e5729c9a680a4578ad73e102e293c5883743909742a53d48d7046","typeString":"literal_string \"Flare Coston2\""},"value":"Flare Coston2"},{"hexValue":"313134","id":3531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12379:3:3","typeDescriptions":{"typeIdentifier":"t_rational_114_by_1","typeString":"int_const 114"},"value":"114"},{"hexValue":"68747470733a2f2f636f73746f6e322d6170692e666c6172652e6e6574776f726b2f6578742f432f727063","id":3532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12384:45:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3cb269ef22af0ba99bbdba566b50ef497d19b5fd15b9d3f08f3a579d7f3cb84","typeString":"literal_string \"https://coston2-api.flare.network/ext/C/rpc\""},"value":"https://coston2-api.flare.network/ext/C/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7f8cb824946e5729c9a680a4578ad73e102e293c5883743909742a53d48d7046","typeString":"literal_string \"Flare Coston2\""},{"typeIdentifier":"t_rational_114_by_1","typeString":"int_const 114"},{"typeIdentifier":"t_stringliteral_c3cb269ef22af0ba99bbdba566b50ef497d19b5fd15b9d3f08f3a579d7f3cb84","typeString":"literal_string \"https://coston2-api.flare.network/ext/C/rpc\""}],"id":3529,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"12352:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12352:78:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5f9c1a8f191c1c83cb750d2196b8bf7e0aec4ee77ddcbdcee181bc95d559029","typeString":"literal_string \"flare_coston2\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3527,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"12296:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12296:144:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3535,"nodeType":"ExpressionStatement","src":"12296:144:3"},{"expression":{"arguments":[{"hexValue":"6d6f6465","id":3537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12477:6:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_93ad29622c7a43be4ba50a1e97ec04a11d86740d6e621d111f2e1b8ce170acae","typeString":"literal_string \"mode\""},"value":"mode"},{"arguments":[{"hexValue":"4d6f6465","id":3539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12495:6:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_b083c1fb3605071b501d7ccea5973ccb4daea9d66fc6201f9648679019164744","typeString":"literal_string \"Mode\""},"value":"Mode"},{"hexValue":"3334343433","id":3540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12503:5:3","typeDescriptions":{"typeIdentifier":"t_rational_34443_by_1","typeString":"int_const 34443"},"value":"34443"},{"hexValue":"68747470733a2f2f6d6f64652e647270632e6f7267","id":3541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12510:23:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_5507c21af74ffc4262ed1cccb692d29bdfe542934a89073f8df0ef6a8687bb99","typeString":"literal_string \"https://mode.drpc.org\""},"value":"https://mode.drpc.org"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b083c1fb3605071b501d7ccea5973ccb4daea9d66fc6201f9648679019164744","typeString":"literal_string \"Mode\""},{"typeIdentifier":"t_rational_34443_by_1","typeString":"int_const 34443"},{"typeIdentifier":"t_stringliteral_5507c21af74ffc4262ed1cccb692d29bdfe542934a89073f8df0ef6a8687bb99","typeString":"literal_string \"https://mode.drpc.org\""}],"id":3538,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"12485:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12485:49:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_93ad29622c7a43be4ba50a1e97ec04a11d86740d6e621d111f2e1b8ce170acae","typeString":"literal_string \"mode\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3536,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"12451:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12451:84:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3544,"nodeType":"ExpressionStatement","src":"12451:84:3"},{"expression":{"arguments":[{"hexValue":"6d6f64655f7365706f6c6961","id":3546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12571:14:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_615913243468d25d30af1a00c8c7c731015175e8162de72bfa2d4f0cf1f75615","typeString":"literal_string \"mode_sepolia\""},"value":"mode_sepolia"},{"arguments":[{"hexValue":"4d6f6465205365706f6c6961","id":3548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12597:14:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_cc042c0c71914faccd09a991413f304a784bf30676e686991b3266f0de1f77fd","typeString":"literal_string \"Mode Sepolia\""},"value":"Mode Sepolia"},{"hexValue":"393139","id":3549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12613:3:3","typeDescriptions":{"typeIdentifier":"t_rational_919_by_1","typeString":"int_const 919"},"value":"919"},{"hexValue":"68747470733a2f2f7365706f6c69612e6d6f64652e6e6574776f726b","id":3550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12618:30:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_7c46328c11a1a8b2fb9e9ca6e68a01ec4b52521e68ed7d83e4014987bf8ba76f","typeString":"literal_string \"https://sepolia.mode.network\""},"value":"https://sepolia.mode.network"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cc042c0c71914faccd09a991413f304a784bf30676e686991b3266f0de1f77fd","typeString":"literal_string \"Mode Sepolia\""},{"typeIdentifier":"t_rational_919_by_1","typeString":"int_const 919"},{"typeIdentifier":"t_stringliteral_7c46328c11a1a8b2fb9e9ca6e68a01ec4b52521e68ed7d83e4014987bf8ba76f","typeString":"literal_string \"https://sepolia.mode.network\""}],"id":3547,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"12587:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3551,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12587:62:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_615913243468d25d30af1a00c8c7c731015175e8162de72bfa2d4f0cf1f75615","typeString":"literal_string \"mode_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3545,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"12545:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12545:105:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3553,"nodeType":"ExpressionStatement","src":"12545:105:3"},{"expression":{"arguments":[{"hexValue":"7a6f7261","id":3555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12687:6:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_9cd8441f092e5a18599b85f90db915274c2c2e41af27b6e4df466c9c091553d0","typeString":"literal_string \"zora\""},"value":"zora"},{"arguments":[{"hexValue":"5a6f7261","id":3557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12705:6:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_91beda2a71cae260ce24b7d0ba9253f7212b59cbe39b0f303ac34fac7c00047d","typeString":"literal_string \"Zora\""},"value":"Zora"},{"hexValue":"37373737373737","id":3558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12713:7:3","typeDescriptions":{"typeIdentifier":"t_rational_7777777_by_1","typeString":"int_const 7777777"},"value":"7777777"},{"hexValue":"68747470733a2f2f7a6f72612e647270632e6f7267","id":3559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12722:23:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_83756f94519c3d72802947d8ced23d2d44132e55bc08ebe2e7705a90896a8253","typeString":"literal_string \"https://zora.drpc.org\""},"value":"https://zora.drpc.org"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91beda2a71cae260ce24b7d0ba9253f7212b59cbe39b0f303ac34fac7c00047d","typeString":"literal_string \"Zora\""},{"typeIdentifier":"t_rational_7777777_by_1","typeString":"int_const 7777777"},{"typeIdentifier":"t_stringliteral_83756f94519c3d72802947d8ced23d2d44132e55bc08ebe2e7705a90896a8253","typeString":"literal_string \"https://zora.drpc.org\""}],"id":3556,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"12695:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12695:51:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9cd8441f092e5a18599b85f90db915274c2c2e41af27b6e4df466c9c091553d0","typeString":"literal_string \"zora\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3554,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"12661:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12661:86:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3562,"nodeType":"ExpressionStatement","src":"12661:86:3"},{"expression":{"arguments":[{"hexValue":"7a6f72615f7365706f6c6961","id":3564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12796:14:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_8730143b0b00fc2fcb9e8bb3d7ee42f220c40f670d47c89317ce107b768efbb6","typeString":"literal_string \"zora_sepolia\""},"value":"zora_sepolia"},{"arguments":[{"hexValue":"5a6f7261205365706f6c6961","id":3566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12822:14:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_daefb4bac2caa4d8c54d0dbe02e430895b0d45abea7ca560100ece36c8374662","typeString":"literal_string \"Zora Sepolia\""},"value":"Zora Sepolia"},{"hexValue":"393939393939393939","id":3567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12838:9:3","typeDescriptions":{"typeIdentifier":"t_rational_999999999_by_1","typeString":"int_const 999999999"},"value":"999999999"},{"hexValue":"68747470733a2f2f7365706f6c69612e7270632e7a6f72612e656e65726779","id":3568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12849:33:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_8d670a424d428055103ac32edd1b30a8f0b037b80f6dfe181938ef88e9a34e5c","typeString":"literal_string \"https://sepolia.rpc.zora.energy\""},"value":"https://sepolia.rpc.zora.energy"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_daefb4bac2caa4d8c54d0dbe02e430895b0d45abea7ca560100ece36c8374662","typeString":"literal_string \"Zora Sepolia\""},{"typeIdentifier":"t_rational_999999999_by_1","typeString":"int_const 999999999"},{"typeIdentifier":"t_stringliteral_8d670a424d428055103ac32edd1b30a8f0b037b80f6dfe181938ef88e9a34e5c","typeString":"literal_string \"https://sepolia.rpc.zora.energy\""}],"id":3565,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"12812:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12812:71:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8730143b0b00fc2fcb9e8bb3d7ee42f220c40f670d47c89317ce107b768efbb6","typeString":"literal_string \"zora_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3563,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"12757:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12757:136:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3571,"nodeType":"ExpressionStatement","src":"12757:136:3"},{"expression":{"arguments":[{"hexValue":"72616365","id":3573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12930:6:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ad2aa4c12d96722dfceb21f2268c3f1a6ca86b0ae708fb2fef212f0be618a04","typeString":"literal_string \"race\""},"value":"race"},{"arguments":[{"hexValue":"52616365","id":3575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12948:6:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_07f73149c5b0cbfa2a84e787fa37bcf27f364fb4bcda526bfa767820094a3480","typeString":"literal_string \"Race\""},"value":"Race"},{"hexValue":"36383035","id":3576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12956:4:3","typeDescriptions":{"typeIdentifier":"t_rational_6805_by_1","typeString":"int_const 6805"},"value":"6805"},{"hexValue":"68747470733a2f2f726163656d61696e6e65742e696f","id":3577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12962:24:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_8895a50bde51e556473d668c8208164e2d04afcafbc71cc0b714e68ca1491cb5","typeString":"literal_string \"https://racemainnet.io\""},"value":"https://racemainnet.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_07f73149c5b0cbfa2a84e787fa37bcf27f364fb4bcda526bfa767820094a3480","typeString":"literal_string \"Race\""},{"typeIdentifier":"t_rational_6805_by_1","typeString":"int_const 6805"},{"typeIdentifier":"t_stringliteral_8895a50bde51e556473d668c8208164e2d04afcafbc71cc0b714e68ca1491cb5","typeString":"literal_string \"https://racemainnet.io\""}],"id":3574,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"12938:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12938:49:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4ad2aa4c12d96722dfceb21f2268c3f1a6ca86b0ae708fb2fef212f0be618a04","typeString":"literal_string \"race\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3572,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"12904:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12904:84:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3580,"nodeType":"ExpressionStatement","src":"12904:84:3"},{"expression":{"arguments":[{"hexValue":"726163655f7365706f6c6961","id":3582,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13024:14:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_14aedb5333da63e7f32927d4a2f4db1b2024a5457e27a26af4a133340a6f636e","typeString":"literal_string \"race_sepolia\""},"value":"race_sepolia"},{"arguments":[{"hexValue":"52616365205365706f6c6961","id":3584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13050:14:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_936668e281d29420bc428f3f1e6990ef0a6b4e2663ca1933b122d411c07e7fe9","typeString":"literal_string \"Race Sepolia\""},"value":"Race Sepolia"},{"hexValue":"36383036","id":3585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13066:4:3","typeDescriptions":{"typeIdentifier":"t_rational_6806_by_1","typeString":"int_const 6806"},"value":"6806"},{"hexValue":"68747470733a2f2f726163656d61696e6e65742e696f","id":3586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13072:24:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_8895a50bde51e556473d668c8208164e2d04afcafbc71cc0b714e68ca1491cb5","typeString":"literal_string \"https://racemainnet.io\""},"value":"https://racemainnet.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_936668e281d29420bc428f3f1e6990ef0a6b4e2663ca1933b122d411c07e7fe9","typeString":"literal_string \"Race Sepolia\""},{"typeIdentifier":"t_rational_6806_by_1","typeString":"int_const 6806"},{"typeIdentifier":"t_stringliteral_8895a50bde51e556473d668c8208164e2d04afcafbc71cc0b714e68ca1491cb5","typeString":"literal_string \"https://racemainnet.io\""}],"id":3583,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"13040:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13040:57:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_14aedb5333da63e7f32927d4a2f4db1b2024a5457e27a26af4a133340a6f636e","typeString":"literal_string \"race_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3581,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"12998:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12998:100:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3589,"nodeType":"ExpressionStatement","src":"12998:100:3"},{"expression":{"arguments":[{"hexValue":"6d6574616c","id":3591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13135:7:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_5aa9e9a91810a37381965e10e482ee971c45f0a345e483b98f2d30be02d66531","typeString":"literal_string \"metal\""},"value":"metal"},{"arguments":[{"hexValue":"4d6574616c","id":3593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13154:7:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_44806556e440d835a6556d2a21cd4d59f4c8280adda7f9588c822c3ac0710e16","typeString":"literal_string \"Metal\""},"value":"Metal"},{"hexValue":"31373530","id":3594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13163:4:3","typeDescriptions":{"typeIdentifier":"t_rational_1750_by_1","typeString":"int_const 1750"},"value":"1750"},{"hexValue":"68747470733a2f2f6d6574616c6c322e647270632e6f7267","id":3595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13169:26:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5b708eb96b733c0e63f0f8abd0882bb40c09b33bea4c96e69604f4f9485cc52","typeString":"literal_string \"https://metall2.drpc.org\""},"value":"https://metall2.drpc.org"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_44806556e440d835a6556d2a21cd4d59f4c8280adda7f9588c822c3ac0710e16","typeString":"literal_string \"Metal\""},{"typeIdentifier":"t_rational_1750_by_1","typeString":"int_const 1750"},{"typeIdentifier":"t_stringliteral_a5b708eb96b733c0e63f0f8abd0882bb40c09b33bea4c96e69604f4f9485cc52","typeString":"literal_string \"https://metall2.drpc.org\""}],"id":3592,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"13144:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3596,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13144:52:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5aa9e9a91810a37381965e10e482ee971c45f0a345e483b98f2d30be02d66531","typeString":"literal_string \"metal\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3590,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"13109:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13109:88:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3598,"nodeType":"ExpressionStatement","src":"13109:88:3"},{"expression":{"arguments":[{"hexValue":"6d6574616c5f7365706f6c6961","id":3600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13233:15:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_4fa56e5554cc6d35f0585438cfaea3f09de71232dcc98626bab7cd13167260dd","typeString":"literal_string \"metal_sepolia\""},"value":"metal_sepolia"},{"arguments":[{"hexValue":"4d6574616c205365706f6c6961","id":3602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13260:15:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_678db06aa0e01ef48de85b845d0253ec9d349dbd394deef4f225eb46cea15ad7","typeString":"literal_string \"Metal Sepolia\""},"value":"Metal Sepolia"},{"hexValue":"31373430","id":3603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13277:4:3","typeDescriptions":{"typeIdentifier":"t_rational_1740_by_1","typeString":"int_const 1740"},"value":"1740"},{"hexValue":"68747470733a2f2f746573746e65742e7270632e6d6574616c6c322e636f6d","id":3604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13283:33:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_50811606e12ae2091161f930288148c86d6408c2333ecd75b46b674515cef1e0","typeString":"literal_string \"https://testnet.rpc.metall2.com\""},"value":"https://testnet.rpc.metall2.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_678db06aa0e01ef48de85b845d0253ec9d349dbd394deef4f225eb46cea15ad7","typeString":"literal_string \"Metal Sepolia\""},{"typeIdentifier":"t_rational_1740_by_1","typeString":"int_const 1740"},{"typeIdentifier":"t_stringliteral_50811606e12ae2091161f930288148c86d6408c2333ecd75b46b674515cef1e0","typeString":"literal_string \"https://testnet.rpc.metall2.com\""}],"id":3601,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"13250:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13250:67:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4fa56e5554cc6d35f0585438cfaea3f09de71232dcc98626bab7cd13167260dd","typeString":"literal_string \"metal_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3599,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"13207:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13207:111:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3607,"nodeType":"ExpressionStatement","src":"13207:111:3"},{"expression":{"arguments":[{"hexValue":"62696e617279","id":3609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13355:8:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_29b663aa319210a8ea1df752e4fba32b1df8d64dcd24815fae2aac3f4afc8e85","typeString":"literal_string \"binary\""},"value":"binary"},{"arguments":[{"hexValue":"42696e617279","id":3611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13375:8:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_016d658c935a4c4ebdb218d1bbdb9ec6616d456bd4575509224c2587e85f3ad4","typeString":"literal_string \"Binary\""},"value":"Binary"},{"hexValue":"363234","id":3612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13385:3:3","typeDescriptions":{"typeIdentifier":"t_rational_624_by_1","typeString":"int_const 624"},"value":"624"},{"hexValue":"68747470733a2f2f7270632e7a65726f2e74686562696e617279686f6c64696e67732e636f6d","id":3613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13390:40:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_423eb7effe2828bcfac3f054abba1dfc18cf06b1463836f25e3980b9ad935d65","typeString":"literal_string \"https://rpc.zero.thebinaryholdings.com\""},"value":"https://rpc.zero.thebinaryholdings.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_016d658c935a4c4ebdb218d1bbdb9ec6616d456bd4575509224c2587e85f3ad4","typeString":"literal_string \"Binary\""},{"typeIdentifier":"t_rational_624_by_1","typeString":"int_const 624"},{"typeIdentifier":"t_stringliteral_423eb7effe2828bcfac3f054abba1dfc18cf06b1463836f25e3980b9ad935d65","typeString":"literal_string \"https://rpc.zero.thebinaryholdings.com\""}],"id":3610,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"13365:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13365:66:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_29b663aa319210a8ea1df752e4fba32b1df8d64dcd24815fae2aac3f4afc8e85","typeString":"literal_string \"binary\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3608,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"13329:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13329:103:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3616,"nodeType":"ExpressionStatement","src":"13329:103:3"},{"expression":{"arguments":[{"hexValue":"62696e6172795f7365706f6c6961","id":3618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13481:16:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_f42891460a8b750ed84d65191f6a8b0f8c2cf4579e838da4647883c473d38586","typeString":"literal_string \"binary_sepolia\""},"value":"binary_sepolia"},{"arguments":[{"hexValue":"42696e617279205365706f6c6961","id":3620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13509:16:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_304655cef9d2cd5f68dd5d8a176a4133b08ce153db3c75c0de816437115b4206","typeString":"literal_string \"Binary Sepolia\""},"value":"Binary Sepolia"},{"hexValue":"363235","id":3621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13527:3:3","typeDescriptions":{"typeIdentifier":"t_rational_625_by_1","typeString":"int_const 625"},"value":"625"},{"hexValue":"68747470733a2f2f7270632e7a65726f2e74686562696e617279686f6c64696e67732e636f6d","id":3622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13532:40:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_423eb7effe2828bcfac3f054abba1dfc18cf06b1463836f25e3980b9ad935d65","typeString":"literal_string \"https://rpc.zero.thebinaryholdings.com\""},"value":"https://rpc.zero.thebinaryholdings.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_304655cef9d2cd5f68dd5d8a176a4133b08ce153db3c75c0de816437115b4206","typeString":"literal_string \"Binary Sepolia\""},{"typeIdentifier":"t_rational_625_by_1","typeString":"int_const 625"},{"typeIdentifier":"t_stringliteral_423eb7effe2828bcfac3f054abba1dfc18cf06b1463836f25e3980b9ad935d65","typeString":"literal_string \"https://rpc.zero.thebinaryholdings.com\""}],"id":3619,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"13499:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13499:74:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f42891460a8b750ed84d65191f6a8b0f8c2cf4579e838da4647883c473d38586","typeString":"literal_string \"binary_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3617,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"13442:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13442:141:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3625,"nodeType":"ExpressionStatement","src":"13442:141:3"},{"expression":{"arguments":[{"hexValue":"6f726465726c79","id":3627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13620:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_95d85ced8adb371760e4b6437896a075632fbd6cefe699f8125a8bc1d9b19e5b","typeString":"literal_string \"orderly\""},"value":"orderly"},{"arguments":[{"hexValue":"4f726465726c79","id":3629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13641:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_c1a3bdc74975983ef8e9e74f5ca7b15aa21f916bc5135b38332d4b395d83b437","typeString":"literal_string \"Orderly\""},"value":"Orderly"},{"hexValue":"323931","id":3630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13652:3:3","typeDescriptions":{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"},"value":"291"},{"hexValue":"68747470733a2f2f7270632e6f726465726c792e6e6574776f726b","id":3631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13657:29:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_d7f4cd4553e5162711fac16ca5e64dea931629c51f483779d8f760dda758d74b","typeString":"literal_string \"https://rpc.orderly.network\""},"value":"https://rpc.orderly.network"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c1a3bdc74975983ef8e9e74f5ca7b15aa21f916bc5135b38332d4b395d83b437","typeString":"literal_string \"Orderly\""},{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"},{"typeIdentifier":"t_stringliteral_d7f4cd4553e5162711fac16ca5e64dea931629c51f483779d8f760dda758d74b","typeString":"literal_string \"https://rpc.orderly.network\""}],"id":3628,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"13631:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13631:56:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_95d85ced8adb371760e4b6437896a075632fbd6cefe699f8125a8bc1d9b19e5b","typeString":"literal_string \"orderly\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3626,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"13594:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13594:94:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3634,"nodeType":"ExpressionStatement","src":"13594:94:3"},{"expression":{"arguments":[{"hexValue":"6f726465726c795f7365706f6c6961","id":3636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13737:17:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_22e6733aad9db6cb6b3609c584796619a207a3026748b338bd3e46539805584c","typeString":"literal_string \"orderly_sepolia\""},"value":"orderly_sepolia"},{"arguments":[{"hexValue":"4f726465726c79205365706f6c6961","id":3638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13766:17:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_615530907dc64bebc72ba912c0aed8fa593a2db7476908cce6c19274f068bdbb","typeString":"literal_string \"Orderly Sepolia\""},"value":"Orderly Sepolia"},{"hexValue":"34343630","id":3639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13785:4:3","typeDescriptions":{"typeIdentifier":"t_rational_4460_by_1","typeString":"int_const 4460"},"value":"4460"},{"hexValue":"68747470733a2f2f746573746e65742d7270632e6f726465726c792e6f7267","id":3640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13791:33:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_bce3cfac849d1fcfd1298517233abd947fa3fb019f8442b86dc92adc11eae29b","typeString":"literal_string \"https://testnet-rpc.orderly.org\""},"value":"https://testnet-rpc.orderly.org"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_615530907dc64bebc72ba912c0aed8fa593a2db7476908cce6c19274f068bdbb","typeString":"literal_string \"Orderly Sepolia\""},{"typeIdentifier":"t_rational_4460_by_1","typeString":"int_const 4460"},{"typeIdentifier":"t_stringliteral_bce3cfac849d1fcfd1298517233abd947fa3fb019f8442b86dc92adc11eae29b","typeString":"literal_string \"https://testnet-rpc.orderly.org\""}],"id":3637,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"13756:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$2752_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13756:69:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_22e6733aad9db6cb6b3609c584796619a207a3026748b338bd3e46539805584c","typeString":"literal_string \"orderly_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3635,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3682,"src":"13698:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13698:137:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3643,"nodeType":"ExpressionStatement","src":"13698:137:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"initializeStdChains","nameLocation":"8292:19:3","parameters":{"id":3248,"nodeType":"ParameterList","parameters":[],"src":"8311:2:3"},"returnParameters":{"id":3249,"nodeType":"ParameterList","parameters":[],"src":"8322:0:3"},"scope":3683,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":3682,"nodeType":"FunctionDefinition","src":"13924:305:3","nodes":[],"body":{"id":3681,"nodeType":"Block","src":"14017:212:3","nodes":[],"statements":[{"assignments":[3654],"declarations":[{"constant":false,"id":3654,"mutability":"mutable","name":"rpcUrl","nameLocation":"14041:6:3","nodeType":"VariableDeclaration","scope":3681,"src":"14027:20:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3653,"name":"string","nodeType":"ElementaryTypeName","src":"14027:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":3657,"initialValue":{"expression":{"id":3655,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3650,"src":"14050:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3656,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14056:6:3","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":2751,"src":"14050:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"14027:35:3"},{"expression":{"id":3662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3658,"name":"defaultRpcUrls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2770,"src":"14072:14:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string memory => string storage ref)"}},"id":3660,"indexExpression":{"id":3659,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3647,"src":"14087:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14072:26:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3661,"name":"rpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3654,"src":"14101:6:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"14072:35:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":3663,"nodeType":"ExpressionStatement","src":"14072:35:3"},{"expression":{"id":3668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":3664,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3650,"src":"14117:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3666,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14123:6:3","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":2751,"src":"14117:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"","id":3667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14132:2:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"src":"14117:17:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3669,"nodeType":"ExpressionStatement","src":"14117:17:3"},{"expression":{"arguments":[{"id":3671,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3647,"src":"14153:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":3672,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3650,"src":"14165:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3670,"name":"setChain","nodeType":"Identifier","overloadedDeclarations":[2996,3017],"referencedDeclaration":2996,"src":"14144:8:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$2752_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14144:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3674,"nodeType":"ExpressionStatement","src":"14144:27:3"},{"expression":{"id":3679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":3675,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3650,"src":"14181:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3677,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14187:6:3","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":2751,"src":"14181:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3678,"name":"rpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3654,"src":"14196:6:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"14181:21:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3680,"nodeType":"ExpressionStatement","src":"14181:21:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"setChainWithDefaultRpcUrl","nameLocation":"13933:25:3","parameters":{"id":3651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3647,"mutability":"mutable","name":"chainAlias","nameLocation":"13973:10:3","nodeType":"VariableDeclaration","scope":3682,"src":"13959:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3646,"name":"string","nodeType":"ElementaryTypeName","src":"13959:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3650,"mutability":"mutable","name":"chain","nameLocation":"14002:5:3","nodeType":"VariableDeclaration","scope":3682,"src":"13985:22:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_memory_ptr","typeString":"struct StdChains.ChainData"},"typeName":{"id":3649,"nodeType":"UserDefinedTypeName","pathNode":{"id":3648,"name":"ChainData","nameLocations":["13985:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2752,"src":"13985:9:3"},"referencedDeclaration":2752,"src":"13985:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$2752_storage_ptr","typeString":"struct StdChains.ChainData"}},"visibility":"internal"}],"src":"13958:50:3"},"returnParameters":{"id":3652,"nodeType":"ParameterList","parameters":[],"src":"14017:0:3"},"scope":3683,"stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"abstract":true,"baseContracts":[],"canonicalName":"StdChains","contractDependencies":[],"contractKind":"contract","documentation":{"id":2726,"nodeType":"StructuredDocumentation","src":"99:1799:3","text":" StdChains provides information about EVM compatible chains that can be used in scripts/tests.\n For each chain, the chain's name, chain ID, and a default RPC URL are provided. Chains are\n identified by their alias, which is the same as the alias in the `[rpc_endpoints]` section of\n the `foundry.toml` file. For best UX, ensure the alias in the `foundry.toml` file match the\n alias used in this contract, which can be found as the first argument to the\n `setChainWithDefaultRpcUrl` call in the `initializeStdChains` function.\n There are two main ways to use this contract:\n 1. Set a chain with `setChain(string memory chainAlias, ChainData memory chain)` or\n `setChain(string memory chainAlias, Chain memory chain)`\n 2. Get a chain with `getChain(string memory chainAlias)` or `getChain(uint256 chainId)`.\n The first time either of those are used, chains are initialized with the default set of RPC URLs.\n This is done in `initializeStdChains`, which uses `setChainWithDefaultRpcUrl`. Defaults are recorded in\n `defaultRpcUrls`.\n The `setChain` function is straightforward, and it simply saves off the given chain data.\n The `getChain` methods use `getChainWithUpdatedRpcUrl` to return a chain. For example, let's say\n we want to retrieve the RPC URL for `mainnet`:\n - If you have specified data with `setChain`, it will return that.\n - If you have configured a mainnet RPC URL in `foundry.toml`, it will return the URL, provided it\n is valid (e.g. a URL is specified, or an environment variable is given and exists).\n - If neither of the above conditions is met, the default data is returned.\n Summarizing the above, the prioritization hierarchy is `setChain` -> `foundry.toml` -> environment variable -> defaults."},"fullyImplemented":true,"linearizedBaseContracts":[3683],"name":"StdChains","nameLocation":"1917:9:3","scope":3684,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdCheats.sol":{"id":4,"ast":{"absolutePath":"lib/forge-std/src/StdCheats.sol","id":6569,"exportedSymbols":{"StdCheats":[6568],"StdCheatsSafe":[5773],"StdStorage":[8093],"Vm":[18001],"console2":[26117],"stdStorage":[10050]},"nodeType":"SourceUnit","src":"32:31777:4","nodes":[{"id":3685,"nodeType":"PragmaDirective","src":"32:31:4","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":3686,"nodeType":"PragmaDirective","src":"65:33:4","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":3689,"nodeType":"ImportDirective","src":"100:56:4","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":6569,"sourceUnit":10051,"symbolAliases":[{"foreign":{"id":3687,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8093,"src":"108:10:4","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":3688,"name":"stdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10050,"src":"120:10:4","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":3691,"nodeType":"ImportDirective","src":"157:40:4","nodes":[],"absolutePath":"lib/forge-std/src/console2.sol","file":"./console2.sol","nameLocation":"-1:-1:-1","scope":6569,"sourceUnit":26122,"symbolAliases":[{"foreign":{"id":3690,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"165:8:4","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":3693,"nodeType":"ImportDirective","src":"198:28:4","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":6569,"sourceUnit":18002,"symbolAliases":[{"foreign":{"id":3692,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"206:2:4","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5773,"nodeType":"ContractDefinition","src":"228:24272:4","nodes":[{"id":3710,"nodeType":"VariableDeclaration","src":"266:84:4","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"286:2:4","scope":5773,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":3695,"nodeType":"UserDefinedTypeName","pathNode":{"id":3694,"name":"Vm","nameLocations":["266:2:4"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"266:2:4"},"referencedDeclaration":18001,"src":"266:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":3704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"328:17:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":3703,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"318:9:4","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"318:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":3702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"310:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3701,"name":"uint256","nodeType":"ElementaryTypeName","src":"310:7:4","typeDescriptions":{}}},"id":3706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"310:37:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3700,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"302:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":3699,"name":"uint160","nodeType":"ElementaryTypeName","src":"302:7:4","typeDescriptions":{}}},"id":3707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"302:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":3698,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"294:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3697,"name":"address","nodeType":"ElementaryTypeName","src":"294:7:4","typeDescriptions":{}}},"id":3708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"294:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3696,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"291:2:4","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":3709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"291:59:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"private"},{"id":3713,"nodeType":"VariableDeclaration","src":"357:125:4","nodes":[],"constant":true,"mutability":"constant","name":"UINT256_MAX","nameLocation":"382:11:4","scope":5773,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3711,"name":"uint256","nodeType":"ElementaryTypeName","src":"357:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":3712,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"404:78:4","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"private"},{"id":3715,"nodeType":"VariableDeclaration","src":"489:27:4","nodes":[],"constant":false,"mutability":"mutable","name":"gasMeteringOff","nameLocation":"502:14:4","scope":5773,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3714,"name":"bool","nodeType":"ElementaryTypeName","src":"489:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":3732,"nodeType":"StructDefinition","src":"761:325:4","nodes":[],"canonicalName":"StdCheatsSafe.RawTx1559","members":[{"constant":false,"id":3718,"mutability":"mutable","name":"arguments","nameLocation":"797:9:4","nodeType":"VariableDeclaration","scope":3732,"src":"788:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":3716,"name":"string","nodeType":"ElementaryTypeName","src":"788:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":3717,"nodeType":"ArrayTypeName","src":"788:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":3720,"mutability":"mutable","name":"contractAddress","nameLocation":"824:15:4","nodeType":"VariableDeclaration","scope":3732,"src":"816:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3719,"name":"address","nodeType":"ElementaryTypeName","src":"816:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3722,"mutability":"mutable","name":"contractName","nameLocation":"856:12:4","nodeType":"VariableDeclaration","scope":3732,"src":"849:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3721,"name":"string","nodeType":"ElementaryTypeName","src":"849:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3724,"mutability":"mutable","name":"functionSig","nameLocation":"923:11:4","nodeType":"VariableDeclaration","scope":3732,"src":"916:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3723,"name":"string","nodeType":"ElementaryTypeName","src":"916:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3726,"mutability":"mutable","name":"hash","nameLocation":"952:4:4","nodeType":"VariableDeclaration","scope":3732,"src":"944:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3725,"name":"bytes32","nodeType":"ElementaryTypeName","src":"944:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":3729,"mutability":"mutable","name":"txDetail","nameLocation":"1014:8:4","nodeType":"VariableDeclaration","scope":3732,"src":"998:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$3751_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail"},"typeName":{"id":3728,"nodeType":"UserDefinedTypeName","pathNode":{"id":3727,"name":"RawTx1559Detail","nameLocations":["998:15:4"],"nodeType":"IdentifierPath","referencedDeclaration":3751,"src":"998:15:4"},"referencedDeclaration":3751,"src":"998:15:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$3751_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail"}},"visibility":"internal"},{"constant":false,"id":3731,"mutability":"mutable","name":"opcode","nameLocation":"1073:6:4","nodeType":"VariableDeclaration","scope":3732,"src":"1066:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3730,"name":"string","nodeType":"ElementaryTypeName","src":"1066:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"RawTx1559","nameLocation":"768:9:4","scope":5773,"visibility":"public"},{"id":3751,"nodeType":"StructDefinition","src":"1092:208:4","nodes":[],"canonicalName":"StdCheatsSafe.RawTx1559Detail","members":[{"constant":false,"id":3736,"mutability":"mutable","name":"accessList","nameLocation":"1138:10:4","nodeType":"VariableDeclaration","scope":3751,"src":"1125:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$3843_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"},"typeName":{"baseType":{"id":3734,"nodeType":"UserDefinedTypeName","pathNode":{"id":3733,"name":"AccessList","nameLocations":["1125:10:4"],"nodeType":"IdentifierPath","referencedDeclaration":3843,"src":"1125:10:4"},"referencedDeclaration":3843,"src":"1125:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_AccessList_$3843_storage_ptr","typeString":"struct StdCheatsSafe.AccessList"}},"id":3735,"nodeType":"ArrayTypeName","src":"1125:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$3843_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"}},"visibility":"internal"},{"constant":false,"id":3738,"mutability":"mutable","name":"data","nameLocation":"1164:4:4","nodeType":"VariableDeclaration","scope":3751,"src":"1158:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3737,"name":"bytes","nodeType":"ElementaryTypeName","src":"1158:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3740,"mutability":"mutable","name":"from","nameLocation":"1186:4:4","nodeType":"VariableDeclaration","scope":3751,"src":"1178:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3739,"name":"address","nodeType":"ElementaryTypeName","src":"1178:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3742,"mutability":"mutable","name":"gas","nameLocation":"1206:3:4","nodeType":"VariableDeclaration","scope":3751,"src":"1200:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3741,"name":"bytes","nodeType":"ElementaryTypeName","src":"1200:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3744,"mutability":"mutable","name":"nonce","nameLocation":"1225:5:4","nodeType":"VariableDeclaration","scope":3751,"src":"1219:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3743,"name":"bytes","nodeType":"ElementaryTypeName","src":"1219:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3746,"mutability":"mutable","name":"to","nameLocation":"1248:2:4","nodeType":"VariableDeclaration","scope":3751,"src":"1240:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3745,"name":"address","nodeType":"ElementaryTypeName","src":"1240:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3748,"mutability":"mutable","name":"txType","nameLocation":"1266:6:4","nodeType":"VariableDeclaration","scope":3751,"src":"1260:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3747,"name":"bytes","nodeType":"ElementaryTypeName","src":"1260:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3750,"mutability":"mutable","name":"value","nameLocation":"1288:5:4","nodeType":"VariableDeclaration","scope":3751,"src":"1282:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3749,"name":"bytes","nodeType":"ElementaryTypeName","src":"1282:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"RawTx1559Detail","nameLocation":"1099:15:4","scope":5773,"visibility":"public"},{"id":3768,"nodeType":"StructDefinition","src":"1306:215:4","nodes":[],"canonicalName":"StdCheatsSafe.Tx1559","members":[{"constant":false,"id":3754,"mutability":"mutable","name":"arguments","nameLocation":"1339:9:4","nodeType":"VariableDeclaration","scope":3768,"src":"1330:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":3752,"name":"string","nodeType":"ElementaryTypeName","src":"1330:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":3753,"nodeType":"ArrayTypeName","src":"1330:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":3756,"mutability":"mutable","name":"contractAddress","nameLocation":"1366:15:4","nodeType":"VariableDeclaration","scope":3768,"src":"1358:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3755,"name":"address","nodeType":"ElementaryTypeName","src":"1358:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3758,"mutability":"mutable","name":"contractName","nameLocation":"1398:12:4","nodeType":"VariableDeclaration","scope":3768,"src":"1391:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3757,"name":"string","nodeType":"ElementaryTypeName","src":"1391:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3760,"mutability":"mutable","name":"functionSig","nameLocation":"1427:11:4","nodeType":"VariableDeclaration","scope":3768,"src":"1420:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3759,"name":"string","nodeType":"ElementaryTypeName","src":"1420:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3762,"mutability":"mutable","name":"hash","nameLocation":"1456:4:4","nodeType":"VariableDeclaration","scope":3768,"src":"1448:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3761,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1448:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":3765,"mutability":"mutable","name":"txDetail","nameLocation":"1483:8:4","nodeType":"VariableDeclaration","scope":3768,"src":"1470:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$3787_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"},"typeName":{"id":3764,"nodeType":"UserDefinedTypeName","pathNode":{"id":3763,"name":"Tx1559Detail","nameLocations":["1470:12:4"],"nodeType":"IdentifierPath","referencedDeclaration":3787,"src":"1470:12:4"},"referencedDeclaration":3787,"src":"1470:12:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$3787_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"}},"visibility":"internal"},{"constant":false,"id":3767,"mutability":"mutable","name":"opcode","nameLocation":"1508:6:4","nodeType":"VariableDeclaration","scope":3768,"src":"1501:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3766,"name":"string","nodeType":"ElementaryTypeName","src":"1501:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Tx1559","nameLocation":"1313:6:4","scope":5773,"visibility":"public"},{"id":3787,"nodeType":"StructDefinition","src":"1527:213:4","nodes":[],"canonicalName":"StdCheatsSafe.Tx1559Detail","members":[{"constant":false,"id":3772,"mutability":"mutable","name":"accessList","nameLocation":"1570:10:4","nodeType":"VariableDeclaration","scope":3787,"src":"1557:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$3843_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"},"typeName":{"baseType":{"id":3770,"nodeType":"UserDefinedTypeName","pathNode":{"id":3769,"name":"AccessList","nameLocations":["1557:10:4"],"nodeType":"IdentifierPath","referencedDeclaration":3843,"src":"1557:10:4"},"referencedDeclaration":3843,"src":"1557:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_AccessList_$3843_storage_ptr","typeString":"struct StdCheatsSafe.AccessList"}},"id":3771,"nodeType":"ArrayTypeName","src":"1557:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$3843_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"}},"visibility":"internal"},{"constant":false,"id":3774,"mutability":"mutable","name":"data","nameLocation":"1596:4:4","nodeType":"VariableDeclaration","scope":3787,"src":"1590:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3773,"name":"bytes","nodeType":"ElementaryTypeName","src":"1590:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3776,"mutability":"mutable","name":"from","nameLocation":"1618:4:4","nodeType":"VariableDeclaration","scope":3787,"src":"1610:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3775,"name":"address","nodeType":"ElementaryTypeName","src":"1610:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3778,"mutability":"mutable","name":"gas","nameLocation":"1640:3:4","nodeType":"VariableDeclaration","scope":3787,"src":"1632:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3777,"name":"uint256","nodeType":"ElementaryTypeName","src":"1632:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3780,"mutability":"mutable","name":"nonce","nameLocation":"1661:5:4","nodeType":"VariableDeclaration","scope":3787,"src":"1653:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3779,"name":"uint256","nodeType":"ElementaryTypeName","src":"1653:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3782,"mutability":"mutable","name":"to","nameLocation":"1684:2:4","nodeType":"VariableDeclaration","scope":3787,"src":"1676:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3781,"name":"address","nodeType":"ElementaryTypeName","src":"1676:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3784,"mutability":"mutable","name":"txType","nameLocation":"1704:6:4","nodeType":"VariableDeclaration","scope":3787,"src":"1696:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3783,"name":"uint256","nodeType":"ElementaryTypeName","src":"1696:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3786,"mutability":"mutable","name":"value","nameLocation":"1728:5:4","nodeType":"VariableDeclaration","scope":3787,"src":"1720:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3785,"name":"uint256","nodeType":"ElementaryTypeName","src":"1720:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Tx1559Detail","nameLocation":"1534:12:4","scope":5773,"visibility":"public"},{"id":3804,"nodeType":"StructDefinition","src":"1991:221:4","nodes":[],"canonicalName":"StdCheatsSafe.TxLegacy","members":[{"constant":false,"id":3790,"mutability":"mutable","name":"arguments","nameLocation":"2026:9:4","nodeType":"VariableDeclaration","scope":3804,"src":"2017:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":3788,"name":"string","nodeType":"ElementaryTypeName","src":"2017:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":3789,"nodeType":"ArrayTypeName","src":"2017:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":3792,"mutability":"mutable","name":"contractAddress","nameLocation":"2053:15:4","nodeType":"VariableDeclaration","scope":3804,"src":"2045:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3791,"name":"address","nodeType":"ElementaryTypeName","src":"2045:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3794,"mutability":"mutable","name":"contractName","nameLocation":"2085:12:4","nodeType":"VariableDeclaration","scope":3804,"src":"2078:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3793,"name":"string","nodeType":"ElementaryTypeName","src":"2078:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3796,"mutability":"mutable","name":"functionSig","nameLocation":"2114:11:4","nodeType":"VariableDeclaration","scope":3804,"src":"2107:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3795,"name":"string","nodeType":"ElementaryTypeName","src":"2107:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3798,"mutability":"mutable","name":"hash","nameLocation":"2142:4:4","nodeType":"VariableDeclaration","scope":3804,"src":"2135:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3797,"name":"string","nodeType":"ElementaryTypeName","src":"2135:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3800,"mutability":"mutable","name":"opcode","nameLocation":"2163:6:4","nodeType":"VariableDeclaration","scope":3804,"src":"2156:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3799,"name":"string","nodeType":"ElementaryTypeName","src":"2156:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3803,"mutability":"mutable","name":"transaction","nameLocation":"2194:11:4","nodeType":"VariableDeclaration","scope":3804,"src":"2179:26:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_TxDetailLegacy_$3837_storage_ptr","typeString":"struct StdCheatsSafe.TxDetailLegacy"},"typeName":{"id":3802,"nodeType":"UserDefinedTypeName","pathNode":{"id":3801,"name":"TxDetailLegacy","nameLocations":["2179:14:4"],"nodeType":"IdentifierPath","referencedDeclaration":3837,"src":"2179:14:4"},"referencedDeclaration":3837,"src":"2179:14:4","typeDescriptions":{"typeIdentifier":"t_struct$_TxDetailLegacy_$3837_storage_ptr","typeString":"struct StdCheatsSafe.TxDetailLegacy"}},"visibility":"internal"}],"name":"TxLegacy","nameLocation":"1998:8:4","scope":5773,"visibility":"public"},{"id":3837,"nodeType":"StructDefinition","src":"2218:366:4","nodes":[],"canonicalName":"StdCheatsSafe.TxDetailLegacy","members":[{"constant":false,"id":3808,"mutability":"mutable","name":"accessList","nameLocation":"2263:10:4","nodeType":"VariableDeclaration","scope":3837,"src":"2250:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$3843_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"},"typeName":{"baseType":{"id":3806,"nodeType":"UserDefinedTypeName","pathNode":{"id":3805,"name":"AccessList","nameLocations":["2250:10:4"],"nodeType":"IdentifierPath","referencedDeclaration":3843,"src":"2250:10:4"},"referencedDeclaration":3843,"src":"2250:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_AccessList_$3843_storage_ptr","typeString":"struct StdCheatsSafe.AccessList"}},"id":3807,"nodeType":"ArrayTypeName","src":"2250:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$3843_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"}},"visibility":"internal"},{"constant":false,"id":3810,"mutability":"mutable","name":"chainId","nameLocation":"2291:7:4","nodeType":"VariableDeclaration","scope":3837,"src":"2283:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3809,"name":"uint256","nodeType":"ElementaryTypeName","src":"2283:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3812,"mutability":"mutable","name":"data","nameLocation":"2314:4:4","nodeType":"VariableDeclaration","scope":3837,"src":"2308:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3811,"name":"bytes","nodeType":"ElementaryTypeName","src":"2308:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3814,"mutability":"mutable","name":"from","nameLocation":"2336:4:4","nodeType":"VariableDeclaration","scope":3837,"src":"2328:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3813,"name":"address","nodeType":"ElementaryTypeName","src":"2328:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3816,"mutability":"mutable","name":"gas","nameLocation":"2358:3:4","nodeType":"VariableDeclaration","scope":3837,"src":"2350:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3815,"name":"uint256","nodeType":"ElementaryTypeName","src":"2350:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3818,"mutability":"mutable","name":"gasPrice","nameLocation":"2379:8:4","nodeType":"VariableDeclaration","scope":3837,"src":"2371:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3817,"name":"uint256","nodeType":"ElementaryTypeName","src":"2371:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3820,"mutability":"mutable","name":"hash","nameLocation":"2405:4:4","nodeType":"VariableDeclaration","scope":3837,"src":"2397:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3819,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2397:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":3822,"mutability":"mutable","name":"nonce","nameLocation":"2427:5:4","nodeType":"VariableDeclaration","scope":3837,"src":"2419:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3821,"name":"uint256","nodeType":"ElementaryTypeName","src":"2419:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3824,"mutability":"mutable","name":"opcode","nameLocation":"2449:6:4","nodeType":"VariableDeclaration","scope":3837,"src":"2442:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":3823,"name":"bytes1","nodeType":"ElementaryTypeName","src":"2442:6:4","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"},{"constant":false,"id":3826,"mutability":"mutable","name":"r","nameLocation":"2473:1:4","nodeType":"VariableDeclaration","scope":3837,"src":"2465:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3825,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2465:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":3828,"mutability":"mutable","name":"s","nameLocation":"2492:1:4","nodeType":"VariableDeclaration","scope":3837,"src":"2484:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3827,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2484:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":3830,"mutability":"mutable","name":"txType","nameLocation":"2511:6:4","nodeType":"VariableDeclaration","scope":3837,"src":"2503:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3829,"name":"uint256","nodeType":"ElementaryTypeName","src":"2503:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3832,"mutability":"mutable","name":"to","nameLocation":"2535:2:4","nodeType":"VariableDeclaration","scope":3837,"src":"2527:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3831,"name":"address","nodeType":"ElementaryTypeName","src":"2527:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3834,"mutability":"mutable","name":"v","nameLocation":"2553:1:4","nodeType":"VariableDeclaration","scope":3837,"src":"2547:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3833,"name":"uint8","nodeType":"ElementaryTypeName","src":"2547:5:4","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":3836,"mutability":"mutable","name":"value","nameLocation":"2572:5:4","nodeType":"VariableDeclaration","scope":3837,"src":"2564:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3835,"name":"uint256","nodeType":"ElementaryTypeName","src":"2564:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"TxDetailLegacy","nameLocation":"2225:14:4","scope":5773,"visibility":"public"},{"id":3843,"nodeType":"StructDefinition","src":"2590:87:4","nodes":[],"canonicalName":"StdCheatsSafe.AccessList","members":[{"constant":false,"id":3839,"mutability":"mutable","name":"accessAddress","nameLocation":"2626:13:4","nodeType":"VariableDeclaration","scope":3843,"src":"2618:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3838,"name":"address","nodeType":"ElementaryTypeName","src":"2618:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3842,"mutability":"mutable","name":"storageKeys","nameLocation":"2659:11:4","nodeType":"VariableDeclaration","scope":3843,"src":"2649:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":3840,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2649:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":3841,"nodeType":"ArrayTypeName","src":"2649:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"name":"AccessList","nameLocation":"2597:10:4","scope":5773,"visibility":"public"},{"id":3872,"nodeType":"StructDefinition","src":"2893:385:4","nodes":[],"canonicalName":"StdCheatsSafe.RawReceipt","members":[{"constant":false,"id":3845,"mutability":"mutable","name":"blockHash","nameLocation":"2929:9:4","nodeType":"VariableDeclaration","scope":3872,"src":"2921:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3844,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2921:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":3847,"mutability":"mutable","name":"blockNumber","nameLocation":"2954:11:4","nodeType":"VariableDeclaration","scope":3872,"src":"2948:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3846,"name":"bytes","nodeType":"ElementaryTypeName","src":"2948:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3849,"mutability":"mutable","name":"contractAddress","nameLocation":"2983:15:4","nodeType":"VariableDeclaration","scope":3872,"src":"2975:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3848,"name":"address","nodeType":"ElementaryTypeName","src":"2975:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3851,"mutability":"mutable","name":"cumulativeGasUsed","nameLocation":"3014:17:4","nodeType":"VariableDeclaration","scope":3872,"src":"3008:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3850,"name":"bytes","nodeType":"ElementaryTypeName","src":"3008:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3853,"mutability":"mutable","name":"effectiveGasPrice","nameLocation":"3047:17:4","nodeType":"VariableDeclaration","scope":3872,"src":"3041:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3852,"name":"bytes","nodeType":"ElementaryTypeName","src":"3041:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3855,"mutability":"mutable","name":"from","nameLocation":"3082:4:4","nodeType":"VariableDeclaration","scope":3872,"src":"3074:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3854,"name":"address","nodeType":"ElementaryTypeName","src":"3074:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3857,"mutability":"mutable","name":"gasUsed","nameLocation":"3102:7:4","nodeType":"VariableDeclaration","scope":3872,"src":"3096:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3856,"name":"bytes","nodeType":"ElementaryTypeName","src":"3096:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3861,"mutability":"mutable","name":"logs","nameLocation":"3135:4:4","nodeType":"VariableDeclaration","scope":3872,"src":"3119:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$3969_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog[]"},"typeName":{"baseType":{"id":3859,"nodeType":"UserDefinedTypeName","pathNode":{"id":3858,"name":"RawReceiptLog","nameLocations":["3119:13:4"],"nodeType":"IdentifierPath","referencedDeclaration":3969,"src":"3119:13:4"},"referencedDeclaration":3969,"src":"3119:13:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$3969_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog"}},"id":3860,"nodeType":"ArrayTypeName","src":"3119:15:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$3969_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog[]"}},"visibility":"internal"},{"constant":false,"id":3863,"mutability":"mutable","name":"logsBloom","nameLocation":"3155:9:4","nodeType":"VariableDeclaration","scope":3872,"src":"3149:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3862,"name":"bytes","nodeType":"ElementaryTypeName","src":"3149:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3865,"mutability":"mutable","name":"status","nameLocation":"3180:6:4","nodeType":"VariableDeclaration","scope":3872,"src":"3174:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3864,"name":"bytes","nodeType":"ElementaryTypeName","src":"3174:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3867,"mutability":"mutable","name":"to","nameLocation":"3204:2:4","nodeType":"VariableDeclaration","scope":3872,"src":"3196:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3866,"name":"address","nodeType":"ElementaryTypeName","src":"3196:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3869,"mutability":"mutable","name":"transactionHash","nameLocation":"3224:15:4","nodeType":"VariableDeclaration","scope":3872,"src":"3216:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3868,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3216:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":3871,"mutability":"mutable","name":"transactionIndex","nameLocation":"3255:16:4","nodeType":"VariableDeclaration","scope":3872,"src":"3249:22:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3870,"name":"bytes","nodeType":"ElementaryTypeName","src":"3249:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"RawReceipt","nameLocation":"2900:10:4","scope":5773,"visibility":"public"},{"id":3901,"nodeType":"StructDefinition","src":"3284:391:4","nodes":[],"canonicalName":"StdCheatsSafe.Receipt","members":[{"constant":false,"id":3874,"mutability":"mutable","name":"blockHash","nameLocation":"3317:9:4","nodeType":"VariableDeclaration","scope":3901,"src":"3309:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3873,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3309:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":3876,"mutability":"mutable","name":"blockNumber","nameLocation":"3344:11:4","nodeType":"VariableDeclaration","scope":3901,"src":"3336:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3875,"name":"uint256","nodeType":"ElementaryTypeName","src":"3336:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3878,"mutability":"mutable","name":"contractAddress","nameLocation":"3373:15:4","nodeType":"VariableDeclaration","scope":3901,"src":"3365:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3877,"name":"address","nodeType":"ElementaryTypeName","src":"3365:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3880,"mutability":"mutable","name":"cumulativeGasUsed","nameLocation":"3406:17:4","nodeType":"VariableDeclaration","scope":3901,"src":"3398:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3879,"name":"uint256","nodeType":"ElementaryTypeName","src":"3398:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3882,"mutability":"mutable","name":"effectiveGasPrice","nameLocation":"3441:17:4","nodeType":"VariableDeclaration","scope":3901,"src":"3433:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3881,"name":"uint256","nodeType":"ElementaryTypeName","src":"3433:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3884,"mutability":"mutable","name":"from","nameLocation":"3476:4:4","nodeType":"VariableDeclaration","scope":3901,"src":"3468:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3883,"name":"address","nodeType":"ElementaryTypeName","src":"3468:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3886,"mutability":"mutable","name":"gasUsed","nameLocation":"3498:7:4","nodeType":"VariableDeclaration","scope":3901,"src":"3490:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3885,"name":"uint256","nodeType":"ElementaryTypeName","src":"3490:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3890,"mutability":"mutable","name":"logs","nameLocation":"3528:4:4","nodeType":"VariableDeclaration","scope":3901,"src":"3515:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$3989_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"},"typeName":{"baseType":{"id":3888,"nodeType":"UserDefinedTypeName","pathNode":{"id":3887,"name":"ReceiptLog","nameLocations":["3515:10:4"],"nodeType":"IdentifierPath","referencedDeclaration":3989,"src":"3515:10:4"},"referencedDeclaration":3989,"src":"3515:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$3989_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog"}},"id":3889,"nodeType":"ArrayTypeName","src":"3515:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$3989_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"}},"visibility":"internal"},{"constant":false,"id":3892,"mutability":"mutable","name":"logsBloom","nameLocation":"3548:9:4","nodeType":"VariableDeclaration","scope":3901,"src":"3542:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3891,"name":"bytes","nodeType":"ElementaryTypeName","src":"3542:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3894,"mutability":"mutable","name":"status","nameLocation":"3575:6:4","nodeType":"VariableDeclaration","scope":3901,"src":"3567:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3893,"name":"uint256","nodeType":"ElementaryTypeName","src":"3567:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3896,"mutability":"mutable","name":"to","nameLocation":"3599:2:4","nodeType":"VariableDeclaration","scope":3901,"src":"3591:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3895,"name":"address","nodeType":"ElementaryTypeName","src":"3591:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3898,"mutability":"mutable","name":"transactionHash","nameLocation":"3619:15:4","nodeType":"VariableDeclaration","scope":3901,"src":"3611:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3897,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3611:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":3900,"mutability":"mutable","name":"transactionIndex","nameLocation":"3652:16:4","nodeType":"VariableDeclaration","scope":3901,"src":"3644:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3899,"name":"uint256","nodeType":"ElementaryTypeName","src":"3644:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Receipt","nameLocation":"3291:7:4","scope":5773,"visibility":"public"},{"id":3924,"nodeType":"StructDefinition","src":"3798:227:4","nodes":[],"canonicalName":"StdCheatsSafe.EIP1559ScriptArtifact","members":[{"constant":false,"id":3904,"mutability":"mutable","name":"libraries","nameLocation":"3846:9:4","nodeType":"VariableDeclaration","scope":3924,"src":"3837:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":3902,"name":"string","nodeType":"ElementaryTypeName","src":"3837:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":3903,"nodeType":"ArrayTypeName","src":"3837:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":3906,"mutability":"mutable","name":"path","nameLocation":"3872:4:4","nodeType":"VariableDeclaration","scope":3924,"src":"3865:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3905,"name":"string","nodeType":"ElementaryTypeName","src":"3865:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3909,"mutability":"mutable","name":"pending","nameLocation":"3895:7:4","nodeType":"VariableDeclaration","scope":3924,"src":"3886:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":3907,"name":"string","nodeType":"ElementaryTypeName","src":"3886:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":3908,"nodeType":"ArrayTypeName","src":"3886:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":3913,"mutability":"mutable","name":"receipts","nameLocation":"3922:8:4","nodeType":"VariableDeclaration","scope":3924,"src":"3912:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$3901_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"},"typeName":{"baseType":{"id":3911,"nodeType":"UserDefinedTypeName","pathNode":{"id":3910,"name":"Receipt","nameLocations":["3912:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":3901,"src":"3912:7:4"},"referencedDeclaration":3901,"src":"3912:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":3912,"nodeType":"ArrayTypeName","src":"3912:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$3901_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}},"visibility":"internal"},{"constant":false,"id":3915,"mutability":"mutable","name":"timestamp","nameLocation":"3948:9:4","nodeType":"VariableDeclaration","scope":3924,"src":"3940:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3914,"name":"uint256","nodeType":"ElementaryTypeName","src":"3940:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3919,"mutability":"mutable","name":"transactions","nameLocation":"3976:12:4","nodeType":"VariableDeclaration","scope":3924,"src":"3967:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$3768_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"},"typeName":{"baseType":{"id":3917,"nodeType":"UserDefinedTypeName","pathNode":{"id":3916,"name":"Tx1559","nameLocations":["3967:6:4"],"nodeType":"IdentifierPath","referencedDeclaration":3768,"src":"3967:6:4"},"referencedDeclaration":3768,"src":"3967:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$3768_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":3918,"nodeType":"ArrayTypeName","src":"3967:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$3768_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}},"visibility":"internal"},{"constant":false,"id":3923,"mutability":"mutable","name":"txReturns","nameLocation":"4009:9:4","nodeType":"VariableDeclaration","scope":3924,"src":"3998:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$3994_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn[]"},"typeName":{"baseType":{"id":3921,"nodeType":"UserDefinedTypeName","pathNode":{"id":3920,"name":"TxReturn","nameLocations":["3998:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3994,"src":"3998:8:4"},"referencedDeclaration":3994,"src":"3998:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_TxReturn_$3994_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn"}},"id":3922,"nodeType":"ArrayTypeName","src":"3998:10:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$3994_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn[]"}},"visibility":"internal"}],"name":"EIP1559ScriptArtifact","nameLocation":"3805:21:4","scope":5773,"visibility":"public"},{"id":3947,"nodeType":"StructDefinition","src":"4031:236:4","nodes":[],"canonicalName":"StdCheatsSafe.RawEIP1559ScriptArtifact","members":[{"constant":false,"id":3927,"mutability":"mutable","name":"libraries","nameLocation":"4082:9:4","nodeType":"VariableDeclaration","scope":3947,"src":"4073:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":3925,"name":"string","nodeType":"ElementaryTypeName","src":"4073:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":3926,"nodeType":"ArrayTypeName","src":"4073:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":3929,"mutability":"mutable","name":"path","nameLocation":"4108:4:4","nodeType":"VariableDeclaration","scope":3947,"src":"4101:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3928,"name":"string","nodeType":"ElementaryTypeName","src":"4101:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3932,"mutability":"mutable","name":"pending","nameLocation":"4131:7:4","nodeType":"VariableDeclaration","scope":3947,"src":"4122:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":3930,"name":"string","nodeType":"ElementaryTypeName","src":"4122:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":3931,"nodeType":"ArrayTypeName","src":"4122:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":3936,"mutability":"mutable","name":"receipts","nameLocation":"4161:8:4","nodeType":"VariableDeclaration","scope":3947,"src":"4148:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$3872_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"},"typeName":{"baseType":{"id":3934,"nodeType":"UserDefinedTypeName","pathNode":{"id":3933,"name":"RawReceipt","nameLocations":["4148:10:4"],"nodeType":"IdentifierPath","referencedDeclaration":3872,"src":"4148:10:4"},"referencedDeclaration":3872,"src":"4148:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$3872_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"id":3935,"nodeType":"ArrayTypeName","src":"4148:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$3872_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"}},"visibility":"internal"},{"constant":false,"id":3940,"mutability":"mutable","name":"txReturns","nameLocation":"4190:9:4","nodeType":"VariableDeclaration","scope":3947,"src":"4179:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$3994_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn[]"},"typeName":{"baseType":{"id":3938,"nodeType":"UserDefinedTypeName","pathNode":{"id":3937,"name":"TxReturn","nameLocations":["4179:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3994,"src":"4179:8:4"},"referencedDeclaration":3994,"src":"4179:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_TxReturn_$3994_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn"}},"id":3939,"nodeType":"ArrayTypeName","src":"4179:10:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$3994_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn[]"}},"visibility":"internal"},{"constant":false,"id":3942,"mutability":"mutable","name":"timestamp","nameLocation":"4217:9:4","nodeType":"VariableDeclaration","scope":3947,"src":"4209:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3941,"name":"uint256","nodeType":"ElementaryTypeName","src":"4209:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3946,"mutability":"mutable","name":"transactions","nameLocation":"4248:12:4","nodeType":"VariableDeclaration","scope":3947,"src":"4236:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3732_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"},"typeName":{"baseType":{"id":3944,"nodeType":"UserDefinedTypeName","pathNode":{"id":3943,"name":"RawTx1559","nameLocations":["4236:9:4"],"nodeType":"IdentifierPath","referencedDeclaration":3732,"src":"4236:9:4"},"referencedDeclaration":3732,"src":"4236:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3732_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"id":3945,"nodeType":"ArrayTypeName","src":"4236:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3732_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"}},"visibility":"internal"}],"name":"RawEIP1559ScriptArtifact","nameLocation":"4038:24:4","scope":5773,"visibility":"public"},{"id":3969,"nodeType":"StructDefinition","src":"4273:334:4","nodes":[],"canonicalName":"StdCheatsSafe.RawReceiptLog","members":[{"constant":false,"id":3949,"mutability":"mutable","name":"logAddress","nameLocation":"4344:10:4","nodeType":"VariableDeclaration","scope":3969,"src":"4336:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3948,"name":"address","nodeType":"ElementaryTypeName","src":"4336:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3951,"mutability":"mutable","name":"blockHash","nameLocation":"4372:9:4","nodeType":"VariableDeclaration","scope":3969,"src":"4364:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3950,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4364:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":3953,"mutability":"mutable","name":"blockNumber","nameLocation":"4397:11:4","nodeType":"VariableDeclaration","scope":3969,"src":"4391:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3952,"name":"bytes","nodeType":"ElementaryTypeName","src":"4391:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3955,"mutability":"mutable","name":"data","nameLocation":"4424:4:4","nodeType":"VariableDeclaration","scope":3969,"src":"4418:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3954,"name":"bytes","nodeType":"ElementaryTypeName","src":"4418:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3957,"mutability":"mutable","name":"logIndex","nameLocation":"4444:8:4","nodeType":"VariableDeclaration","scope":3969,"src":"4438:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3956,"name":"bytes","nodeType":"ElementaryTypeName","src":"4438:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3959,"mutability":"mutable","name":"removed","nameLocation":"4467:7:4","nodeType":"VariableDeclaration","scope":3969,"src":"4462:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3958,"name":"bool","nodeType":"ElementaryTypeName","src":"4462:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3962,"mutability":"mutable","name":"topics","nameLocation":"4494:6:4","nodeType":"VariableDeclaration","scope":3969,"src":"4484:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":3960,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4484:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":3961,"nodeType":"ArrayTypeName","src":"4484:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":3964,"mutability":"mutable","name":"transactionHash","nameLocation":"4518:15:4","nodeType":"VariableDeclaration","scope":3969,"src":"4510:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3963,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4510:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":3966,"mutability":"mutable","name":"transactionIndex","nameLocation":"4549:16:4","nodeType":"VariableDeclaration","scope":3969,"src":"4543:22:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3965,"name":"bytes","nodeType":"ElementaryTypeName","src":"4543:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3968,"mutability":"mutable","name":"transactionLogIndex","nameLocation":"4581:19:4","nodeType":"VariableDeclaration","scope":3969,"src":"4575:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3967,"name":"bytes","nodeType":"ElementaryTypeName","src":"4575:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"RawReceiptLog","nameLocation":"4280:13:4","scope":5773,"visibility":"public"},{"id":3989,"nodeType":"StructDefinition","src":"4613:306:4","nodes":[],"canonicalName":"StdCheatsSafe.ReceiptLog","members":[{"constant":false,"id":3971,"mutability":"mutable","name":"logAddress","nameLocation":"4681:10:4","nodeType":"VariableDeclaration","scope":3989,"src":"4673:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3970,"name":"address","nodeType":"ElementaryTypeName","src":"4673:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3973,"mutability":"mutable","name":"blockHash","nameLocation":"4709:9:4","nodeType":"VariableDeclaration","scope":3989,"src":"4701:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3972,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4701:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":3975,"mutability":"mutable","name":"blockNumber","nameLocation":"4736:11:4","nodeType":"VariableDeclaration","scope":3989,"src":"4728:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3974,"name":"uint256","nodeType":"ElementaryTypeName","src":"4728:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3977,"mutability":"mutable","name":"data","nameLocation":"4763:4:4","nodeType":"VariableDeclaration","scope":3989,"src":"4757:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3976,"name":"bytes","nodeType":"ElementaryTypeName","src":"4757:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3979,"mutability":"mutable","name":"logIndex","nameLocation":"4785:8:4","nodeType":"VariableDeclaration","scope":3989,"src":"4777:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3978,"name":"uint256","nodeType":"ElementaryTypeName","src":"4777:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3982,"mutability":"mutable","name":"topics","nameLocation":"4813:6:4","nodeType":"VariableDeclaration","scope":3989,"src":"4803:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":3980,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4803:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":3981,"nodeType":"ArrayTypeName","src":"4803:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":3984,"mutability":"mutable","name":"transactionIndex","nameLocation":"4837:16:4","nodeType":"VariableDeclaration","scope":3989,"src":"4829:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3983,"name":"uint256","nodeType":"ElementaryTypeName","src":"4829:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3986,"mutability":"mutable","name":"transactionLogIndex","nameLocation":"4871:19:4","nodeType":"VariableDeclaration","scope":3989,"src":"4863:27:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3985,"name":"uint256","nodeType":"ElementaryTypeName","src":"4863:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3988,"mutability":"mutable","name":"removed","nameLocation":"4905:7:4","nodeType":"VariableDeclaration","scope":3989,"src":"4900:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3987,"name":"bool","nodeType":"ElementaryTypeName","src":"4900:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"ReceiptLog","nameLocation":"4620:10:4","scope":5773,"visibility":"public"},{"id":3994,"nodeType":"StructDefinition","src":"4925:74:4","nodes":[],"canonicalName":"StdCheatsSafe.TxReturn","members":[{"constant":false,"id":3991,"mutability":"mutable","name":"internalType","nameLocation":"4958:12:4","nodeType":"VariableDeclaration","scope":3994,"src":"4951:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3990,"name":"string","nodeType":"ElementaryTypeName","src":"4951:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3993,"mutability":"mutable","name":"value","nameLocation":"4987:5:4","nodeType":"VariableDeclaration","scope":3994,"src":"4980:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3992,"name":"string","nodeType":"ElementaryTypeName","src":"4980:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"TxReturn","nameLocation":"4932:8:4","scope":5773,"visibility":"public"},{"id":3999,"nodeType":"StructDefinition","src":"5005:65:4","nodes":[],"canonicalName":"StdCheatsSafe.Account","members":[{"constant":false,"id":3996,"mutability":"mutable","name":"addr","nameLocation":"5038:4:4","nodeType":"VariableDeclaration","scope":3999,"src":"5030:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3995,"name":"address","nodeType":"ElementaryTypeName","src":"5030:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3998,"mutability":"mutable","name":"key","nameLocation":"5060:3:4","nodeType":"VariableDeclaration","scope":3999,"src":"5052:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3997,"name":"uint256","nodeType":"ElementaryTypeName","src":"5052:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Account","nameLocation":"5012:7:4","scope":5773,"visibility":"public"},{"id":4005,"nodeType":"EnumDefinition","src":"5076:123:4","nodes":[],"canonicalName":"StdCheatsSafe.AddressType","members":[{"id":4000,"name":"Payable","nameLocation":"5103:7:4","nodeType":"EnumValue","src":"5103:7:4"},{"id":4001,"name":"NonPayable","nameLocation":"5120:10:4","nodeType":"EnumValue","src":"5120:10:4"},{"id":4002,"name":"ZeroAddress","nameLocation":"5140:11:4","nodeType":"EnumValue","src":"5140:11:4"},{"id":4003,"name":"Precompile","nameLocation":"5161:10:4","nodeType":"EnumValue","src":"5161:10:4"},{"id":4004,"name":"ForgeAddress","nameLocation":"5181:12:4","nodeType":"EnumValue","src":"5181:12:4"}],"name":"AddressType","nameLocation":"5081:11:4"},{"id":4090,"nodeType":"FunctionDefinition","src":"5292:903:4","nodes":[],"body":{"id":4089,"nodeType":"Block","src":"5373:822:4","nodes":[],"statements":[{"assignments":[4013],"declarations":[{"constant":false,"id":4013,"mutability":"mutable","name":"tokenCodeSize","nameLocation":"5449:13:4","nodeType":"VariableDeclaration","scope":4089,"src":"5441:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4012,"name":"uint256","nodeType":"ElementaryTypeName","src":"5441:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4014,"nodeType":"VariableDeclarationStatement","src":"5441:21:4"},{"AST":{"nativeSrc":"5481:59:4","nodeType":"YulBlock","src":"5481:59:4","statements":[{"nativeSrc":"5495:35:4","nodeType":"YulAssignment","src":"5495:35:4","value":{"arguments":[{"name":"token","nativeSrc":"5524:5:4","nodeType":"YulIdentifier","src":"5524:5:4"}],"functionName":{"name":"extcodesize","nativeSrc":"5512:11:4","nodeType":"YulIdentifier","src":"5512:11:4"},"nativeSrc":"5512:18:4","nodeType":"YulFunctionCall","src":"5512:18:4"},"variableNames":[{"name":"tokenCodeSize","nativeSrc":"5495:13:4","nodeType":"YulIdentifier","src":"5495:13:4"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":4007,"isOffset":false,"isSlot":false,"src":"5524:5:4","valueSize":1},{"declaration":4013,"isOffset":false,"isSlot":false,"src":"5495:13:4","valueSize":1}],"id":4015,"nodeType":"InlineAssembly","src":"5472:68:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4017,"name":"tokenCodeSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4013,"src":"5557:13:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":4018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5573:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5557:17:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53746443686561747320617373756d654e6f74426c61636b6c697374656428616464726573732c61646472657373293a20546f6b656e2061646472657373206973206e6f74206120636f6e74726163742e","id":4020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5576:83:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_ff181fc90e0398988b2d16ac6106309afb26707604277f79174c19e18b9403ed","typeString":"literal_string \"StdCheats assumeNotBlacklisted(address,address): Token address is not a contract.\""},"value":"StdCheats assumeNotBlacklisted(address,address): Token address is not a contract."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ff181fc90e0398988b2d16ac6106309afb26707604277f79174c19e18b9403ed","typeString":"literal_string \"StdCheats assumeNotBlacklisted(address,address): Token address is not a contract.\""}],"id":4016,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"5549:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5549:111:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4022,"nodeType":"ExpressionStatement","src":"5549:111:4"},{"assignments":[4024],"declarations":[{"constant":false,"id":4024,"mutability":"mutable","name":"success","nameLocation":"5676:7:4","nodeType":"VariableDeclaration","scope":4089,"src":"5671:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4023,"name":"bool","nodeType":"ElementaryTypeName","src":"5671:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":4025,"nodeType":"VariableDeclarationStatement","src":"5671:12:4"},{"assignments":[4027],"declarations":[{"constant":false,"id":4027,"mutability":"mutable","name":"returnData","nameLocation":"5706:10:4","nodeType":"VariableDeclaration","scope":4089,"src":"5693:23:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4026,"name":"bytes","nodeType":"ElementaryTypeName","src":"5693:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":4028,"nodeType":"VariableDeclarationStatement","src":"5693:23:4"},{"expression":{"id":4040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":4029,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4024,"src":"5799:7:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":4030,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4027,"src":"5808:10:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":4031,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"5798:21:4","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"30786665353735613837","id":4036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5862:10:4","typeDescriptions":{"typeIdentifier":"t_rational_4267137671_by_1","typeString":"int_const 4267137671"},"value":"0xfe575a87"},{"id":4037,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4009,"src":"5874:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4267137671_by_1","typeString":"int_const 4267137671"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":4034,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5839:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4035,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5843:18:4","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"5839:22:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":4038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5839:40:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":4032,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4007,"src":"5822:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5828:10:4","memberName":"staticcall","nodeType":"MemberAccess","src":"5822:16:4","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":4039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5822:58:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"src":"5798:82:4","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4041,"nodeType":"ExpressionStatement","src":"5798:82:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5900:8:4","subExpression":{"id":4045,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4024,"src":"5901:7:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4049,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4027,"src":"5923:10:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":4051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5936:4:4","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":4050,"name":"bool","nodeType":"ElementaryTypeName","src":"5936:4:4","typeDescriptions":{}}}],"id":4052,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5935:6:4","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":4047,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5912:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4048,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5916:6:4","memberName":"decode","nodeType":"MemberAccess","src":"5912:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":4053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5912:30:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"66616c7365","id":4054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5946:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"5912:39:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5900:51:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4042,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"5890:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5893:6:4","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16379,"src":"5890:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5890:62:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4058,"nodeType":"ExpressionStatement","src":"5890:62:4"},{"expression":{"id":4070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":4059,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4024,"src":"6035:7:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":4060,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4027,"src":"6044:10:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":4061,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"6034:21:4","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"30786534376436303630","id":4066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6098:10:4","typeDescriptions":{"typeIdentifier":"t_rational_3833421920_by_1","typeString":"int_const 3833421920"},"value":"0xe47d6060"},{"id":4067,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4009,"src":"6110:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3833421920_by_1","typeString":"int_const 3833421920"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":4064,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6075:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4065,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6079:18:4","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"6075:22:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":4068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6075:40:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":4062,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4007,"src":"6058:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6064:10:4","memberName":"staticcall","nodeType":"MemberAccess","src":"6058:16:4","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":4069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6058:58:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"src":"6034:82:4","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4071,"nodeType":"ExpressionStatement","src":"6034:82:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6136:8:4","subExpression":{"id":4075,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4024,"src":"6137:7:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4079,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4027,"src":"6159:10:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":4081,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6172:4:4","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":4080,"name":"bool","nodeType":"ElementaryTypeName","src":"6172:4:4","typeDescriptions":{}}}],"id":4082,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6171:6:4","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":4077,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6148:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4078,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6152:6:4","memberName":"decode","nodeType":"MemberAccess","src":"6148:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":4083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6148:30:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"66616c7365","id":4084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6182:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"6148:39:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6136:51:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4072,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"6126:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4074,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6129:6:4","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16379,"src":"6126:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6126:62:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4088,"nodeType":"ExpressionStatement","src":"6126:62:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNotBlacklisted","nameLocation":"5301:20:4","parameters":{"id":4010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4007,"mutability":"mutable","name":"token","nameLocation":"5330:5:4","nodeType":"VariableDeclaration","scope":4090,"src":"5322:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4006,"name":"address","nodeType":"ElementaryTypeName","src":"5322:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4009,"mutability":"mutable","name":"addr","nameLocation":"5345:4:4","nodeType":"VariableDeclaration","scope":4090,"src":"5337:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4008,"name":"address","nodeType":"ElementaryTypeName","src":"5337:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5321:29:4"},"returnParameters":{"id":4011,"nodeType":"ParameterList","parameters":[],"src":"5373:0:4"},"scope":5773,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":4103,"nodeType":"FunctionDefinition","src":"6580:130:4","nodes":[],"body":{"id":4102,"nodeType":"Block","src":"6660:50:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":4098,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4092,"src":"6691:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4099,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4094,"src":"6698:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4097,"name":"assumeNotBlacklisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4090,"src":"6670:20:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) view"}},"id":4100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6670:33:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4101,"nodeType":"ExpressionStatement","src":"6670:33:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNoBlacklisted","nameLocation":"6589:19:4","parameters":{"id":4095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4092,"mutability":"mutable","name":"token","nameLocation":"6617:5:4","nodeType":"VariableDeclaration","scope":4103,"src":"6609:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4091,"name":"address","nodeType":"ElementaryTypeName","src":"6609:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4094,"mutability":"mutable","name":"addr","nameLocation":"6632:4:4","nodeType":"VariableDeclaration","scope":4103,"src":"6624:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4093,"name":"address","nodeType":"ElementaryTypeName","src":"6624:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6608:29:4"},"returnParameters":{"id":4096,"nodeType":"ParameterList","parameters":[],"src":"6660:0:4"},"scope":5773,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":4162,"nodeType":"FunctionDefinition","src":"6716:583:4","nodes":[],"body":{"id":4161,"nodeType":"Block","src":"6800:499:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"},"id":4114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4111,"name":"addressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4108,"src":"6814:11:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":4112,"name":"AddressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4005,"src":"6829:11:4","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_AddressType_$4005_$","typeString":"type(enum StdCheatsSafe.AddressType)"}},"id":4113,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6841:7:4","memberName":"Payable","nodeType":"MemberAccess","referencedDeclaration":4000,"src":"6829:19:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}},"src":"6814:34:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"},"id":4123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4120,"name":"addressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4108,"src":"6907:11:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":4121,"name":"AddressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4005,"src":"6922:11:4","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_AddressType_$4005_$","typeString":"type(enum StdCheatsSafe.AddressType)"}},"id":4122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6934:10:4","memberName":"NonPayable","nodeType":"MemberAccess","referencedDeclaration":4001,"src":"6922:22:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}},"src":"6907:37:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"},"id":4132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4129,"name":"addressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4108,"src":"7000:11:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":4130,"name":"AddressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4005,"src":"7015:11:4","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_AddressType_$4005_$","typeString":"type(enum StdCheatsSafe.AddressType)"}},"id":4131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7027:11:4","memberName":"ZeroAddress","nodeType":"MemberAccess","referencedDeclaration":4002,"src":"7015:23:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}},"src":"7000:38:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"},"id":4141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4138,"name":"addressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4108,"src":"7101:11:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":4139,"name":"AddressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4005,"src":"7116:11:4","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_AddressType_$4005_$","typeString":"type(enum StdCheatsSafe.AddressType)"}},"id":4140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7128:10:4","memberName":"Precompile","nodeType":"MemberAccess","referencedDeclaration":4003,"src":"7116:22:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}},"src":"7101:37:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"},"id":4150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4147,"name":"addressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4108,"src":"7200:11:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":4148,"name":"AddressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4005,"src":"7215:11:4","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_AddressType_$4005_$","typeString":"type(enum StdCheatsSafe.AddressType)"}},"id":4149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7227:12:4","memberName":"ForgeAddress","nodeType":"MemberAccess","referencedDeclaration":4004,"src":"7215:24:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}},"src":"7200:39:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4156,"nodeType":"IfStatement","src":"7196:97:4","trueBody":{"id":4155,"nodeType":"Block","src":"7241:52:4","statements":[{"expression":{"arguments":[{"id":4152,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4105,"src":"7277:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4151,"name":"assumeNotForgeAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4551,"src":"7255:21:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":4153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7255:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4154,"nodeType":"ExpressionStatement","src":"7255:27:4"}]}},"id":4157,"nodeType":"IfStatement","src":"7097:196:4","trueBody":{"id":4146,"nodeType":"Block","src":"7140:50:4","statements":[{"expression":{"arguments":[{"id":4143,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4105,"src":"7174:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4142,"name":"assumeNotPrecompile","nodeType":"Identifier","overloadedDeclarations":[4383,4526],"referencedDeclaration":4383,"src":"7154:19:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":4144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7154:25:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4145,"nodeType":"ExpressionStatement","src":"7154:25:4"}]}},"id":4158,"nodeType":"IfStatement","src":"6996:297:4","trueBody":{"id":4137,"nodeType":"Block","src":"7040:51:4","statements":[{"expression":{"arguments":[{"id":4134,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4105,"src":"7075:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4133,"name":"assumeNotZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4371,"src":"7054:20:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":4135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7054:26:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4136,"nodeType":"ExpressionStatement","src":"7054:26:4"}]}},"id":4159,"nodeType":"IfStatement","src":"6903:390:4","trueBody":{"id":4128,"nodeType":"Block","src":"6946:44:4","statements":[{"expression":{"arguments":[{"id":4125,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4105,"src":"6974:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4124,"name":"assumePayable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4339,"src":"6960:13:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":4126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6960:19:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4127,"nodeType":"ExpressionStatement","src":"6960:19:4"}]}},"id":4160,"nodeType":"IfStatement","src":"6810:483:4","trueBody":{"id":4119,"nodeType":"Block","src":"6850:47:4","statements":[{"expression":{"arguments":[{"id":4116,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4105,"src":"6881:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4115,"name":"assumeNotPayable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4354,"src":"6864:16:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":4117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6864:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4118,"nodeType":"ExpressionStatement","src":"6864:22:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeAddressIsNot","nameLocation":"6725:18:4","parameters":{"id":4109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4105,"mutability":"mutable","name":"addr","nameLocation":"6752:4:4","nodeType":"VariableDeclaration","scope":4162,"src":"6744:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4104,"name":"address","nodeType":"ElementaryTypeName","src":"6744:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4108,"mutability":"mutable","name":"addressType","nameLocation":"6770:11:4","nodeType":"VariableDeclaration","scope":4162,"src":"6758:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4107,"nodeType":"UserDefinedTypeName","pathNode":{"id":4106,"name":"AddressType","nameLocations":["6758:11:4"],"nodeType":"IdentifierPath","referencedDeclaration":4005,"src":"6758:11:4"},"referencedDeclaration":4005,"src":"6758:11:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"}],"src":"6743:39:4"},"returnParameters":{"id":4110,"nodeType":"ParameterList","parameters":[],"src":"6800:0:4"},"scope":5773,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":4184,"nodeType":"FunctionDefinition","src":"7305:214:4","nodes":[],"body":{"id":4183,"nodeType":"Block","src":"7416:103:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":4174,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4164,"src":"7445:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4175,"name":"addressType1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4167,"src":"7451:12:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}],"id":4173,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4162,4184,4214,4252],"referencedDeclaration":4162,"src":"7426:18:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4005_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7426:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4177,"nodeType":"ExpressionStatement","src":"7426:38:4"},{"expression":{"arguments":[{"id":4179,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4164,"src":"7493:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4180,"name":"addressType2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4170,"src":"7499:12:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}],"id":4178,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4162,4184,4214,4252],"referencedDeclaration":4162,"src":"7474:18:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4005_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7474:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4182,"nodeType":"ExpressionStatement","src":"7474:38:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeAddressIsNot","nameLocation":"7314:18:4","parameters":{"id":4171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4164,"mutability":"mutable","name":"addr","nameLocation":"7341:4:4","nodeType":"VariableDeclaration","scope":4184,"src":"7333:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4163,"name":"address","nodeType":"ElementaryTypeName","src":"7333:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4167,"mutability":"mutable","name":"addressType1","nameLocation":"7359:12:4","nodeType":"VariableDeclaration","scope":4184,"src":"7347:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4166,"nodeType":"UserDefinedTypeName","pathNode":{"id":4165,"name":"AddressType","nameLocations":["7347:11:4"],"nodeType":"IdentifierPath","referencedDeclaration":4005,"src":"7347:11:4"},"referencedDeclaration":4005,"src":"7347:11:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"},{"constant":false,"id":4170,"mutability":"mutable","name":"addressType2","nameLocation":"7385:12:4","nodeType":"VariableDeclaration","scope":4184,"src":"7373:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4169,"nodeType":"UserDefinedTypeName","pathNode":{"id":4168,"name":"AddressType","nameLocations":["7373:11:4"],"nodeType":"IdentifierPath","referencedDeclaration":4005,"src":"7373:11:4"},"referencedDeclaration":4005,"src":"7373:11:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"}],"src":"7332:66:4"},"returnParameters":{"id":4172,"nodeType":"ParameterList","parameters":[],"src":"7416:0:4"},"scope":5773,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":4214,"nodeType":"FunctionDefinition","src":"7525:326:4","nodes":[],"body":{"id":4213,"nodeType":"Block","src":"7700:151:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":4199,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4186,"src":"7729:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4200,"name":"addressType1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4189,"src":"7735:12:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}],"id":4198,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4162,4184,4214,4252],"referencedDeclaration":4162,"src":"7710:18:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4005_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7710:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4202,"nodeType":"ExpressionStatement","src":"7710:38:4"},{"expression":{"arguments":[{"id":4204,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4186,"src":"7777:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4205,"name":"addressType2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4192,"src":"7783:12:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}],"id":4203,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4162,4184,4214,4252],"referencedDeclaration":4162,"src":"7758:18:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4005_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7758:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4207,"nodeType":"ExpressionStatement","src":"7758:38:4"},{"expression":{"arguments":[{"id":4209,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4186,"src":"7825:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4210,"name":"addressType3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4195,"src":"7831:12:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}],"id":4208,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4162,4184,4214,4252],"referencedDeclaration":4162,"src":"7806:18:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4005_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7806:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4212,"nodeType":"ExpressionStatement","src":"7806:38:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeAddressIsNot","nameLocation":"7534:18:4","parameters":{"id":4196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4186,"mutability":"mutable","name":"addr","nameLocation":"7570:4:4","nodeType":"VariableDeclaration","scope":4214,"src":"7562:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4185,"name":"address","nodeType":"ElementaryTypeName","src":"7562:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4189,"mutability":"mutable","name":"addressType1","nameLocation":"7596:12:4","nodeType":"VariableDeclaration","scope":4214,"src":"7584:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4188,"nodeType":"UserDefinedTypeName","pathNode":{"id":4187,"name":"AddressType","nameLocations":["7584:11:4"],"nodeType":"IdentifierPath","referencedDeclaration":4005,"src":"7584:11:4"},"referencedDeclaration":4005,"src":"7584:11:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"},{"constant":false,"id":4192,"mutability":"mutable","name":"addressType2","nameLocation":"7630:12:4","nodeType":"VariableDeclaration","scope":4214,"src":"7618:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4191,"nodeType":"UserDefinedTypeName","pathNode":{"id":4190,"name":"AddressType","nameLocations":["7618:11:4"],"nodeType":"IdentifierPath","referencedDeclaration":4005,"src":"7618:11:4"},"referencedDeclaration":4005,"src":"7618:11:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"},{"constant":false,"id":4195,"mutability":"mutable","name":"addressType3","nameLocation":"7664:12:4","nodeType":"VariableDeclaration","scope":4214,"src":"7652:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4194,"nodeType":"UserDefinedTypeName","pathNode":{"id":4193,"name":"AddressType","nameLocations":["7652:11:4"],"nodeType":"IdentifierPath","referencedDeclaration":4005,"src":"7652:11:4"},"referencedDeclaration":4005,"src":"7652:11:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"}],"src":"7552:130:4"},"returnParameters":{"id":4197,"nodeType":"ParameterList","parameters":[],"src":"7700:0:4"},"scope":5773,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":4252,"nodeType":"FunctionDefinition","src":"7857:408:4","nodes":[],"body":{"id":4251,"nodeType":"Block","src":"8066:199:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":4232,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4216,"src":"8095:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4233,"name":"addressType1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4219,"src":"8101:12:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}],"id":4231,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4162,4184,4214,4252],"referencedDeclaration":4162,"src":"8076:18:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4005_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8076:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4235,"nodeType":"ExpressionStatement","src":"8076:38:4"},{"expression":{"arguments":[{"id":4237,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4216,"src":"8143:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4238,"name":"addressType2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4222,"src":"8149:12:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}],"id":4236,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4162,4184,4214,4252],"referencedDeclaration":4162,"src":"8124:18:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4005_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8124:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4240,"nodeType":"ExpressionStatement","src":"8124:38:4"},{"expression":{"arguments":[{"id":4242,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4216,"src":"8191:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4243,"name":"addressType3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4225,"src":"8197:12:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}],"id":4241,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4162,4184,4214,4252],"referencedDeclaration":4162,"src":"8172:18:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4005_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8172:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4245,"nodeType":"ExpressionStatement","src":"8172:38:4"},{"expression":{"arguments":[{"id":4247,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4216,"src":"8239:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4248,"name":"addressType4","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4228,"src":"8245:12:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}],"id":4246,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4162,4184,4214,4252],"referencedDeclaration":4162,"src":"8220:18:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4005_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8220:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4250,"nodeType":"ExpressionStatement","src":"8220:38:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeAddressIsNot","nameLocation":"7866:18:4","parameters":{"id":4229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4216,"mutability":"mutable","name":"addr","nameLocation":"7902:4:4","nodeType":"VariableDeclaration","scope":4252,"src":"7894:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4215,"name":"address","nodeType":"ElementaryTypeName","src":"7894:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4219,"mutability":"mutable","name":"addressType1","nameLocation":"7928:12:4","nodeType":"VariableDeclaration","scope":4252,"src":"7916:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4218,"nodeType":"UserDefinedTypeName","pathNode":{"id":4217,"name":"AddressType","nameLocations":["7916:11:4"],"nodeType":"IdentifierPath","referencedDeclaration":4005,"src":"7916:11:4"},"referencedDeclaration":4005,"src":"7916:11:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"},{"constant":false,"id":4222,"mutability":"mutable","name":"addressType2","nameLocation":"7962:12:4","nodeType":"VariableDeclaration","scope":4252,"src":"7950:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4221,"nodeType":"UserDefinedTypeName","pathNode":{"id":4220,"name":"AddressType","nameLocations":["7950:11:4"],"nodeType":"IdentifierPath","referencedDeclaration":4005,"src":"7950:11:4"},"referencedDeclaration":4005,"src":"7950:11:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"},{"constant":false,"id":4225,"mutability":"mutable","name":"addressType3","nameLocation":"7996:12:4","nodeType":"VariableDeclaration","scope":4252,"src":"7984:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4224,"nodeType":"UserDefinedTypeName","pathNode":{"id":4223,"name":"AddressType","nameLocations":["7984:11:4"],"nodeType":"IdentifierPath","referencedDeclaration":4005,"src":"7984:11:4"},"referencedDeclaration":4005,"src":"7984:11:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"},{"constant":false,"id":4228,"mutability":"mutable","name":"addressType4","nameLocation":"8030:12:4","nodeType":"VariableDeclaration","scope":4252,"src":"8018:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4227,"nodeType":"UserDefinedTypeName","pathNode":{"id":4226,"name":"AddressType","nameLocations":["8018:11:4"],"nodeType":"IdentifierPath","referencedDeclaration":4005,"src":"8018:11:4"},"referencedDeclaration":4005,"src":"8018:11:4","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4005","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"}],"src":"7884:164:4"},"returnParameters":{"id":4230,"nodeType":"ParameterList","parameters":[],"src":"8066:0:4"},"scope":5773,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":4325,"nodeType":"FunctionDefinition","src":"8611:592:4","nodes":[],"body":{"id":4324,"nodeType":"Block","src":"8668:535:4","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4260,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4254,"src":"8699:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8704:7:4","memberName":"balance","nodeType":"MemberAccess","src":"8699:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":4262,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3713,"src":"8714:11:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8699:26:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473205f697350617961626c652861646472657373293a2042616c616e636520657175616c73206d61782075696e743235362c20736f2069742063616e6e6f74207265636569766520616e79206d6f72652066756e6473","id":4264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8739:96:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_445086840f6c2a82b4d334ff6858d2a67c3cf8d1872260417f6ce3ed4fefcee6","typeString":"literal_string \"StdCheats _isPayable(address): Balance equals max uint256, so it cannot receive any more funds\""},"value":"StdCheats _isPayable(address): Balance equals max uint256, so it cannot receive any more funds"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_445086840f6c2a82b4d334ff6858d2a67c3cf8d1872260417f6ce3ed4fefcee6","typeString":"literal_string \"StdCheats _isPayable(address): Balance equals max uint256, so it cannot receive any more funds\""}],"id":4259,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"8678:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8678:167:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4266,"nodeType":"ExpressionStatement","src":"8678:167:4"},{"assignments":[4268],"declarations":[{"constant":false,"id":4268,"mutability":"mutable","name":"origBalanceTest","nameLocation":"8863:15:4","nodeType":"VariableDeclaration","scope":4324,"src":"8855:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4267,"name":"uint256","nodeType":"ElementaryTypeName","src":"8855:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4274,"initialValue":{"expression":{"arguments":[{"id":4271,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"8889:4:4","typeDescriptions":{"typeIdentifier":"t_contract$_StdCheatsSafe_$5773","typeString":"contract StdCheatsSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_StdCheatsSafe_$5773","typeString":"contract StdCheatsSafe"}],"id":4270,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8881:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4269,"name":"address","nodeType":"ElementaryTypeName","src":"8881:7:4","typeDescriptions":{}}},"id":4272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8881:13:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8895:7:4","memberName":"balance","nodeType":"MemberAccess","src":"8881:21:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8855:47:4"},{"assignments":[4276],"declarations":[{"constant":false,"id":4276,"mutability":"mutable","name":"origBalanceAddr","nameLocation":"8920:15:4","nodeType":"VariableDeclaration","scope":4324,"src":"8912:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4275,"name":"uint256","nodeType":"ElementaryTypeName","src":"8912:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4282,"initialValue":{"expression":{"arguments":[{"id":4279,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4254,"src":"8946:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4278,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8938:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4277,"name":"address","nodeType":"ElementaryTypeName","src":"8938:7:4","typeDescriptions":{}}},"id":4280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8938:13:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8952:7:4","memberName":"balance","nodeType":"MemberAccess","src":"8938:21:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8912:47:4"},{"expression":{"arguments":[{"arguments":[{"id":4288,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"8986:4:4","typeDescriptions":{"typeIdentifier":"t_contract$_StdCheatsSafe_$5773","typeString":"contract StdCheatsSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_StdCheatsSafe_$5773","typeString":"contract StdCheatsSafe"}],"id":4287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8978:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4286,"name":"address","nodeType":"ElementaryTypeName","src":"8978:7:4","typeDescriptions":{}}},"id":4289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8978:13:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31","id":4290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8993:1:4","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":4283,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"8970:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8973:4:4","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17068,"src":"8970:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":4291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8970:25:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4292,"nodeType":"ExpressionStatement","src":"8970:25:4"},{"assignments":[4294,null],"declarations":[{"constant":false,"id":4294,"mutability":"mutable","name":"success","nameLocation":"9011:7:4","nodeType":"VariableDeclaration","scope":4324,"src":"9006:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4293,"name":"bool","nodeType":"ElementaryTypeName","src":"9006:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":4304,"initialValue":{"arguments":[{"hexValue":"","id":4302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9052:2:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"id":4297,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4254,"src":"9031:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4296,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9023:8:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":4295,"name":"address","nodeType":"ElementaryTypeName","src":"9023:8:4","stateMutability":"payable","typeDescriptions":{}}},"id":4298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9023:13:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":4299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9037:4:4","memberName":"call","nodeType":"MemberAccess","src":"9023:18:4","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":4301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"hexValue":"31","id":4300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9049:1:4","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"src":"9023:28:4","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":4303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9023:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"9005:50:4"},{"expression":{"arguments":[{"arguments":[{"id":4310,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"9108:4:4","typeDescriptions":{"typeIdentifier":"t_contract$_StdCheatsSafe_$5773","typeString":"contract StdCheatsSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_StdCheatsSafe_$5773","typeString":"contract StdCheatsSafe"}],"id":4309,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9100:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4308,"name":"address","nodeType":"ElementaryTypeName","src":"9100:7:4","typeDescriptions":{}}},"id":4311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9100:13:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4312,"name":"origBalanceTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4268,"src":"9115:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4305,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"9092:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9095:4:4","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17068,"src":"9092:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":4313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9092:39:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4314,"nodeType":"ExpressionStatement","src":"9092:39:4"},{"expression":{"arguments":[{"id":4318,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4254,"src":"9149:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4319,"name":"origBalanceAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4276,"src":"9155:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4315,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"9141:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9144:4:4","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17068,"src":"9141:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":4320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9141:30:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4321,"nodeType":"ExpressionStatement","src":"9141:30:4"},{"expression":{"id":4322,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294,"src":"9189:7:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4258,"id":4323,"nodeType":"Return","src":"9182:14:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isPayable","nameLocation":"8620:10:4","parameters":{"id":4255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4254,"mutability":"mutable","name":"addr","nameLocation":"8639:4:4","nodeType":"VariableDeclaration","scope":4325,"src":"8631:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4253,"name":"address","nodeType":"ElementaryTypeName","src":"8631:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8630:14:4"},"returnParameters":{"id":4258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4257,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4325,"src":"8662:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4256,"name":"bool","nodeType":"ElementaryTypeName","src":"8662:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8661:6:4"},"scope":5773,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":4339,"nodeType":"FunctionDefinition","src":"9454:98:4","nodes":[],"body":{"id":4338,"nodeType":"Block","src":"9508:44:4","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":4334,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4327,"src":"9539:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4333,"name":"_isPayable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4325,"src":"9528:10:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_bool_$","typeString":"function (address) returns (bool)"}},"id":4335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9528:16:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4330,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"9518:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9521:6:4","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16379,"src":"9518:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9518:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4337,"nodeType":"ExpressionStatement","src":"9518:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumePayable","nameLocation":"9463:13:4","parameters":{"id":4328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4327,"mutability":"mutable","name":"addr","nameLocation":"9485:4:4","nodeType":"VariableDeclaration","scope":4339,"src":"9477:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4326,"name":"address","nodeType":"ElementaryTypeName","src":"9477:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9476:14:4"},"returnParameters":{"id":4329,"nodeType":"ParameterList","parameters":[],"src":"9508:0:4"},"scope":5773,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":4354,"nodeType":"FunctionDefinition","src":"9558:102:4","nodes":[],"body":{"id":4353,"nodeType":"Block","src":"9615:45:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":4350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9635:17:4","subExpression":{"arguments":[{"id":4348,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4341,"src":"9647:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4347,"name":"_isPayable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4325,"src":"9636:10:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_bool_$","typeString":"function (address) returns (bool)"}},"id":4349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9636:16:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4344,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"9625:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9628:6:4","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16379,"src":"9625:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9625:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4352,"nodeType":"ExpressionStatement","src":"9625:28:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNotPayable","nameLocation":"9567:16:4","parameters":{"id":4342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4341,"mutability":"mutable","name":"addr","nameLocation":"9592:4:4","nodeType":"VariableDeclaration","scope":4354,"src":"9584:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4340,"name":"address","nodeType":"ElementaryTypeName","src":"9584:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9583:14:4"},"returnParameters":{"id":4343,"nodeType":"ParameterList","parameters":[],"src":"9615:0:4"},"scope":5773,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":4371,"nodeType":"FunctionDefinition","src":"9666:112:4","nodes":[],"body":{"id":4370,"nodeType":"Block","src":"9732:46:4","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4362,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4356,"src":"9752:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":4365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9768:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":4364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9760:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4363,"name":"address","nodeType":"ElementaryTypeName","src":"9760:7:4","typeDescriptions":{}}},"id":4366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9760:10:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9752:18:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4359,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"9742:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9745:6:4","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16379,"src":"9742:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9742:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4369,"nodeType":"ExpressionStatement","src":"9742:29:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNotZeroAddress","nameLocation":"9675:20:4","parameters":{"id":4357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4356,"mutability":"mutable","name":"addr","nameLocation":"9704:4:4","nodeType":"VariableDeclaration","scope":4371,"src":"9696:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4355,"name":"address","nodeType":"ElementaryTypeName","src":"9696:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9695:14:4"},"returnParameters":{"id":4358,"nodeType":"ParameterList","parameters":[],"src":"9732:0:4"},"scope":5773,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":4383,"nodeType":"FunctionDefinition","src":"9784:123:4","nodes":[],"body":{"id":4382,"nodeType":"Block","src":"9849:58:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":4377,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4373,"src":"9879:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":4378,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5772,"src":"9885:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":4379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9885:14:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4376,"name":"assumeNotPrecompile","nodeType":"Identifier","overloadedDeclarations":[4383,4526],"referencedDeclaration":4526,"src":"9859:19:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) pure"}},"id":4380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9859:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4381,"nodeType":"ExpressionStatement","src":"9859:41:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNotPrecompile","nameLocation":"9793:19:4","parameters":{"id":4374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4373,"mutability":"mutable","name":"addr","nameLocation":"9821:4:4","nodeType":"VariableDeclaration","scope":4383,"src":"9813:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4372,"name":"address","nodeType":"ElementaryTypeName","src":"9813:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9812:14:4"},"returnParameters":{"id":4375,"nodeType":"ParameterList","parameters":[],"src":"9849:0:4"},"scope":5773,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":4526,"nodeType":"FunctionDefinition","src":"9913:1807:4","nodes":[],"body":{"id":4525,"nodeType":"Block","src":"9995:1725:4","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4393,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4385,"src":"10311:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307831","id":4396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10326:3:4","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":4395,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10318:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4394,"name":"address","nodeType":"ElementaryTypeName","src":"10318:7:4","typeDescriptions":{}}},"id":4397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10318:12:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10311:19:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4399,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4385,"src":"10334:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"30786666","id":4402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10349:4:4","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"id":4401,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10341:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4400,"name":"address","nodeType":"ElementaryTypeName","src":"10341:7:4","typeDescriptions":{}}},"id":4403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10341:13:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10334:20:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10311:43:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4390,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"10301:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10304:6:4","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16379,"src":"10301:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10301:54:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4407,"nodeType":"ExpressionStatement","src":"10301:54:4"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4408,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4387,"src":"10405:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3130","id":4409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10416:2:4","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"10405:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4411,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4387,"src":"10422:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"343230","id":4412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10433:3:4","typeDescriptions":{"typeIdentifier":"t_rational_420_by_1","typeString":"int_const 420"},"value":"420"},"src":"10422:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10405:31:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4434,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4387,"src":"10754:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3432313631","id":4435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10765:5:4","typeDescriptions":{"typeIdentifier":"t_rational_42161_by_1","typeString":"int_const 42161"},"value":"42161"},"src":"10754:16:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4437,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4387,"src":"10774:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"343231363133","id":4438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10785:6:4","typeDescriptions":{"typeIdentifier":"t_rational_421613_by_1","typeString":"int_const 421613"},"value":"421613"},"src":"10774:17:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10754:37:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4460,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4387,"src":"11068:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3433313134","id":4461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11079:5:4","typeDescriptions":{"typeIdentifier":"t_rational_43114_by_1","typeString":"int_const 43114"},"value":"43114"},"src":"11068:16:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4463,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4387,"src":"11088:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3433313133","id":4464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11099:5:4","typeDescriptions":{"typeIdentifier":"t_rational_43113_by_1","typeString":"int_const 43113"},"value":"43113"},"src":"11088:16:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11068:36:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4522,"nodeType":"IfStatement","src":"11064:617:4","trueBody":{"id":4521,"nodeType":"Block","src":"11106:575:4","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4470,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4385,"src":"11259:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307830313030303030303030303030303030303030303030303030303030303030303030303030303030","id":4473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11274:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0100000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4472,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11266:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4471,"name":"address","nodeType":"ElementaryTypeName","src":"11266:7:4","typeDescriptions":{}}},"id":4474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11266:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11259:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4476,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4385,"src":"11321:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307830313030303030303030303030303030303030303030303030303030303030303030303030306666","id":4479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11336:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x01000000000000000000000000000000000000ff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4478,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11328:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4477,"name":"address","nodeType":"ElementaryTypeName","src":"11328:7:4","typeDescriptions":{}}},"id":4480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11328:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11321:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11259:120:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4467,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"11249:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11252:6:4","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16379,"src":"11249:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11249:131:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4484,"nodeType":"ExpressionStatement","src":"11249:131:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4488,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4385,"src":"11404:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307830323030303030303030303030303030303030303030303030303030303030303030303030303030","id":4491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11419:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0200000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11411:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4489,"name":"address","nodeType":"ElementaryTypeName","src":"11411:7:4","typeDescriptions":{}}},"id":4492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11411:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11404:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4494,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4385,"src":"11466:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307830323030303030303030303030303030303030303030303030303030303030303030303030304646","id":4497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11481:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x02000000000000000000000000000000000000FF"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4496,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11473:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4495,"name":"address","nodeType":"ElementaryTypeName","src":"11473:7:4","typeDescriptions":{}}},"id":4498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11473:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11466:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11404:120:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4485,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"11394:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11397:6:4","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16379,"src":"11394:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11394:131:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4502,"nodeType":"ExpressionStatement","src":"11394:131:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4506,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4385,"src":"11549:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307830333030303030303030303030303030303030303030303030303030303030303030303030303030","id":4509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11564:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0300000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4508,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11556:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4507,"name":"address","nodeType":"ElementaryTypeName","src":"11556:7:4","typeDescriptions":{}}},"id":4510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11556:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11549:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4512,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4385,"src":"11611:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307830333030303030303030303030303030303030303030303030303030303030303030303030304666","id":4515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11626:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x03000000000000000000000000000000000000Ff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4514,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11618:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4513,"name":"address","nodeType":"ElementaryTypeName","src":"11618:7:4","typeDescriptions":{}}},"id":4516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11618:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11611:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11549:120:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4503,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"11539:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11542:6:4","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16379,"src":"11539:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11539:131:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4520,"nodeType":"ExpressionStatement","src":"11539:131:4"}]}},"id":4523,"nodeType":"IfStatement","src":"10750:931:4","trueBody":{"id":4459,"nodeType":"Block","src":"10793:265:4","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4444,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4385,"src":"10926:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307830303030303030303030303030303030303030303030303030303030303030303030303030303634","id":4447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10941:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0000000000000000000000000000000000000064"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4446,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10933:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4445,"name":"address","nodeType":"ElementaryTypeName","src":"10933:7:4","typeDescriptions":{}}},"id":4448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10933:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10926:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4450,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4385,"src":"10988:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307830303030303030303030303030303030303030303030303030303030303030303030303030303638","id":4453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11003:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0000000000000000000000000000000000000068"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4452,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10995:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4451,"name":"address","nodeType":"ElementaryTypeName","src":"10995:7:4","typeDescriptions":{}}},"id":4454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10995:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10988:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10926:120:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4441,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"10916:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10919:6:4","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16379,"src":"10916:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10916:131:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4458,"nodeType":"ExpressionStatement","src":"10916:131:4"}]}},"id":4524,"nodeType":"IfStatement","src":"10401:1280:4","trueBody":{"id":4433,"nodeType":"Block","src":"10438:306:4","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4418,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4385,"src":"10612:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307834323030303030303030303030303030303030303030303030303030303030303030303030303030","id":4421,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10627:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4200000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4420,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10619:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4419,"name":"address","nodeType":"ElementaryTypeName","src":"10619:7:4","typeDescriptions":{}}},"id":4422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10619:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10612:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4424,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4385,"src":"10674:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307834323030303030303030303030303030303030303030303030303030303030303030303030383030","id":4427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10689:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4200000000000000000000000000000000000800"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10681:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4425,"name":"address","nodeType":"ElementaryTypeName","src":"10681:7:4","typeDescriptions":{}}},"id":4428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10681:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10674:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10612:120:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4415,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"10602:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10605:6:4","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16379,"src":"10602:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10602:131:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4432,"nodeType":"ExpressionStatement","src":"10602:131:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNotPrecompile","nameLocation":"9922:19:4","parameters":{"id":4388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4385,"mutability":"mutable","name":"addr","nameLocation":"9950:4:4","nodeType":"VariableDeclaration","scope":4526,"src":"9942:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4384,"name":"address","nodeType":"ElementaryTypeName","src":"9942:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4387,"mutability":"mutable","name":"chainId","nameLocation":"9964:7:4","nodeType":"VariableDeclaration","scope":4526,"src":"9956:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4386,"name":"uint256","nodeType":"ElementaryTypeName","src":"9956:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9941:31:4"},"returnParameters":{"id":4389,"nodeType":"ParameterList","parameters":[],"src":"9995:0:4"},"scope":5773,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":4551,"nodeType":"FunctionDefinition","src":"11726:314:4","nodes":[],"body":{"id":4550,"nodeType":"Block","src":"11793:247:4","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4534,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4528,"src":"11880:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":4537,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"11896:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}],"id":4536,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11888:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4535,"name":"address","nodeType":"ElementaryTypeName","src":"11888:7:4","typeDescriptions":{}}},"id":4538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11888:11:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11880:19:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4540,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4528,"src":"11903:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":4541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11911:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"src":"11903:50:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11880:73:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4544,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4528,"src":"11973:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":4545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11981:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"src":"11973:50:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11880:143:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4531,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"11857:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11860:6:4","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16379,"src":"11857:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11857:176:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4549,"nodeType":"ExpressionStatement","src":"11857:176:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNotForgeAddress","nameLocation":"11735:21:4","parameters":{"id":4529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4528,"mutability":"mutable","name":"addr","nameLocation":"11765:4:4","nodeType":"VariableDeclaration","scope":4551,"src":"11757:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4527,"name":"address","nodeType":"ElementaryTypeName","src":"11757:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11756:14:4"},"returnParameters":{"id":4530,"nodeType":"ParameterList","parameters":[],"src":"11793:0:4"},"scope":5773,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":4581,"nodeType":"FunctionDefinition","src":"12046:300:4","nodes":[],"body":{"id":4580,"nodeType":"Block","src":"12111:235:4","nodes":[],"statements":[{"assignments":[4557],"declarations":[{"constant":false,"id":4557,"mutability":"mutable","name":"size","nameLocation":"12129:4:4","nodeType":"VariableDeclaration","scope":4580,"src":"12121:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4556,"name":"uint256","nodeType":"ElementaryTypeName","src":"12121:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4558,"nodeType":"VariableDeclarationStatement","src":"12121:12:4"},{"AST":{"nativeSrc":"12152:49:4","nodeType":"YulBlock","src":"12152:49:4","statements":[{"nativeSrc":"12166:25:4","nodeType":"YulAssignment","src":"12166:25:4","value":{"arguments":[{"name":"addr","nativeSrc":"12186:4:4","nodeType":"YulIdentifier","src":"12186:4:4"}],"functionName":{"name":"extcodesize","nativeSrc":"12174:11:4","nodeType":"YulIdentifier","src":"12174:11:4"},"nativeSrc":"12174:17:4","nodeType":"YulFunctionCall","src":"12174:17:4"},"variableNames":[{"name":"size","nativeSrc":"12166:4:4","nodeType":"YulIdentifier","src":"12166:4:4"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":4553,"isOffset":false,"isSlot":false,"src":"12186:4:4","valueSize":1},{"declaration":4557,"isOffset":false,"isSlot":false,"src":"12166:4:4","valueSize":1}],"id":4559,"nodeType":"InlineAssembly","src":"12143:58:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4563,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4557,"src":"12220:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12228:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12220:9:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4560,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"12210:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12213:6:4","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16379,"src":"12210:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12210:20:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4567,"nodeType":"ExpressionStatement","src":"12210:20:4"},{"expression":{"arguments":[{"id":4569,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4553,"src":"12261:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4568,"name":"assumeNotPrecompile","nodeType":"Identifier","overloadedDeclarations":[4383,4526],"referencedDeclaration":4383,"src":"12241:19:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":4570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12241:25:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4571,"nodeType":"ExpressionStatement","src":"12241:25:4"},{"expression":{"arguments":[{"id":4573,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4553,"src":"12297:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4572,"name":"assumeNotZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4371,"src":"12276:20:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":4574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12276:26:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4575,"nodeType":"ExpressionStatement","src":"12276:26:4"},{"expression":{"arguments":[{"id":4577,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4553,"src":"12334:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4576,"name":"assumeNotForgeAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4551,"src":"12312:21:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":4578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12312:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4579,"nodeType":"ExpressionStatement","src":"12312:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeUnusedAddress","nameLocation":"12055:19:4","parameters":{"id":4554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4553,"mutability":"mutable","name":"addr","nameLocation":"12083:4:4","nodeType":"VariableDeclaration","scope":4581,"src":"12075:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4552,"name":"address","nodeType":"ElementaryTypeName","src":"12075:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12074:14:4"},"returnParameters":{"id":4555,"nodeType":"ParameterList","parameters":[],"src":"12111:0:4"},"scope":5773,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":4673,"nodeType":"FunctionDefinition","src":"12352:843:4","nodes":[],"body":{"id":4672,"nodeType":"Block","src":"12504:691:4","nodes":[],"statements":[{"assignments":[4590],"declarations":[{"constant":false,"id":4590,"mutability":"mutable","name":"data","nameLocation":"12528:4:4","nodeType":"VariableDeclaration","scope":4672,"src":"12514:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4589,"name":"string","nodeType":"ElementaryTypeName","src":"12514:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4595,"initialValue":{"arguments":[{"id":4593,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4583,"src":"12547:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":4591,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"12535:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12538:8:4","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":14365,"src":"12535:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":4594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12535:17:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"12514:38:4"},{"assignments":[4597],"declarations":[{"constant":false,"id":4597,"mutability":"mutable","name":"parsedData","nameLocation":"12575:10:4","nodeType":"VariableDeclaration","scope":4672,"src":"12562:23:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4596,"name":"bytes","nodeType":"ElementaryTypeName","src":"12562:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":4602,"initialValue":{"arguments":[{"id":4600,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4590,"src":"12601:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":4598,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"12588:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12591:9:4","memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":14653,"src":"12588:12:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure external returns (bytes memory)"}},"id":4601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12588:18:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"12562:44:4"},{"assignments":[4605],"declarations":[{"constant":false,"id":4605,"mutability":"mutable","name":"rawArtifact","nameLocation":"12648:11:4","nodeType":"VariableDeclaration","scope":4672,"src":"12616:43:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$3947_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact"},"typeName":{"id":4604,"nodeType":"UserDefinedTypeName","pathNode":{"id":4603,"name":"RawEIP1559ScriptArtifact","nameLocations":["12616:24:4"],"nodeType":"IdentifierPath","referencedDeclaration":3947,"src":"12616:24:4"},"referencedDeclaration":3947,"src":"12616:24:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$3947_storage_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact"}},"visibility":"internal"}],"id":4612,"initialValue":{"arguments":[{"id":4608,"name":"parsedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4597,"src":"12673:10:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":4609,"name":"RawEIP1559ScriptArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3947,"src":"12686:24:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawEIP1559ScriptArtifact_$3947_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)"}}],"id":4610,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"12685:26:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawEIP1559ScriptArtifact_$3947_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_RawEIP1559ScriptArtifact_$3947_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)"}],"expression":{"id":4606,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12662:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12666:6:4","memberName":"decode","nodeType":"MemberAccess","src":"12662:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":4611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12662:50:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$3947_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"nodeType":"VariableDeclarationStatement","src":"12616:96:4"},{"assignments":[4615],"declarations":[{"constant":false,"id":4615,"mutability":"mutable","name":"artifact","nameLocation":"12751:8:4","nodeType":"VariableDeclaration","scope":4672,"src":"12722:37:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$3924_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact"},"typeName":{"id":4614,"nodeType":"UserDefinedTypeName","pathNode":{"id":4613,"name":"EIP1559ScriptArtifact","nameLocations":["12722:21:4"],"nodeType":"IdentifierPath","referencedDeclaration":3924,"src":"12722:21:4"},"referencedDeclaration":3924,"src":"12722:21:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$3924_storage_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact"}},"visibility":"internal"}],"id":4616,"nodeType":"VariableDeclarationStatement","src":"12722:37:4"},{"expression":{"id":4622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4617,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4615,"src":"12769:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$3924_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":4619,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12778:9:4","memberName":"libraries","nodeType":"MemberAccess","referencedDeclaration":3904,"src":"12769:18:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4620,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4605,"src":"12790:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$3947_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":4621,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12802:9:4","memberName":"libraries","nodeType":"MemberAccess","referencedDeclaration":3927,"src":"12790:21:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"src":"12769:42:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":4623,"nodeType":"ExpressionStatement","src":"12769:42:4"},{"expression":{"id":4629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4624,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4615,"src":"12821:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$3924_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":4626,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12830:4:4","memberName":"path","nodeType":"MemberAccess","referencedDeclaration":3906,"src":"12821:13:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4627,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4605,"src":"12837:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$3947_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":4628,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12849:4:4","memberName":"path","nodeType":"MemberAccess","referencedDeclaration":3929,"src":"12837:16:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"12821:32:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":4630,"nodeType":"ExpressionStatement","src":"12821:32:4"},{"expression":{"id":4636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4631,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4615,"src":"12863:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$3924_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":4633,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12872:9:4","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":3915,"src":"12863:18:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4634,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4605,"src":"12884:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$3947_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":4635,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12896:9:4","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":3942,"src":"12884:21:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12863:42:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4637,"nodeType":"ExpressionStatement","src":"12863:42:4"},{"expression":{"id":4643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4638,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4615,"src":"12915:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$3924_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":4640,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12924:7:4","memberName":"pending","nodeType":"MemberAccess","referencedDeclaration":3909,"src":"12915:16:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4641,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4605,"src":"12934:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$3947_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":4642,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12946:7:4","memberName":"pending","nodeType":"MemberAccess","referencedDeclaration":3932,"src":"12934:19:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"src":"12915:38:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":4644,"nodeType":"ExpressionStatement","src":"12915:38:4"},{"expression":{"id":4650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4645,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4615,"src":"12963:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$3924_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":4647,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12972:9:4","memberName":"txReturns","nodeType":"MemberAccess","referencedDeclaration":3923,"src":"12963:18:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$3994_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.TxReturn memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4648,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4605,"src":"12984:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$3947_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":4649,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12996:9:4","memberName":"txReturns","nodeType":"MemberAccess","referencedDeclaration":3940,"src":"12984:21:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$3994_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.TxReturn memory[] memory"}},"src":"12963:42:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$3994_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.TxReturn memory[] memory"}},"id":4651,"nodeType":"ExpressionStatement","src":"12963:42:4"},{"expression":{"id":4659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4652,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4615,"src":"13015:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$3924_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":4654,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13024:8:4","memberName":"receipts","nodeType":"MemberAccess","referencedDeclaration":3913,"src":"13015:17:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$3901_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4656,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4605,"src":"13058:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$3947_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":4657,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13070:8:4","memberName":"receipts","nodeType":"MemberAccess","referencedDeclaration":3936,"src":"13058:20:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$3872_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$3872_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}],"id":4655,"name":"rawToConvertedReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5105,"src":"13035:22:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawReceipt_$3872_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Receipt_$3901_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceipt memory[] memory) pure returns (struct StdCheatsSafe.Receipt memory[] memory)"}},"id":4658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13035:44:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$3901_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"src":"13015:64:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$3901_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"id":4660,"nodeType":"ExpressionStatement","src":"13015:64:4"},{"expression":{"id":4668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4661,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4615,"src":"13089:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$3924_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":4663,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13098:12:4","memberName":"transactions","nodeType":"MemberAccess","referencedDeclaration":3919,"src":"13089:21:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$3768_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4665,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4605,"src":"13138:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$3947_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":4666,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13150:12:4","memberName":"transactions","nodeType":"MemberAccess","referencedDeclaration":3946,"src":"13138:24:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3732_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3732_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}],"id":4664,"name":"rawToConvertedEIPTx1559s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4722,"src":"13113:24:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawTx1559_$3732_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Tx1559_$3768_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559 memory[] memory) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)"}},"id":4667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13113:50:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$3768_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"src":"13089:74:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$3768_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"id":4669,"nodeType":"ExpressionStatement","src":"13089:74:4"},{"expression":{"id":4670,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4615,"src":"13180:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$3924_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"functionReturnParameters":4588,"id":4671,"nodeType":"Return","src":"13173:15:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readEIP1559ScriptArtifact","nameLocation":"12361:25:4","parameters":{"id":4584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4583,"mutability":"mutable","name":"path","nameLocation":"12401:4:4","nodeType":"VariableDeclaration","scope":4673,"src":"12387:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4582,"name":"string","nodeType":"ElementaryTypeName","src":"12387:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12386:20:4"},"returnParameters":{"id":4588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4587,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4673,"src":"12470:28:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$3924_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact"},"typeName":{"id":4586,"nodeType":"UserDefinedTypeName","pathNode":{"id":4585,"name":"EIP1559ScriptArtifact","nameLocations":["12470:21:4"],"nodeType":"IdentifierPath","referencedDeclaration":3924,"src":"12470:21:4"},"referencedDeclaration":3924,"src":"12470:21:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$3924_storage_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact"}},"visibility":"internal"}],"src":"12469:30:4"},"scope":5773,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":4722,"nodeType":"FunctionDefinition","src":"13201:312:4","nodes":[],"body":{"id":4721,"nodeType":"Block","src":"13310:203:4","nodes":[],"statements":[{"assignments":[4688],"declarations":[{"constant":false,"id":4688,"mutability":"mutable","name":"txs","nameLocation":"13336:3:4","nodeType":"VariableDeclaration","scope":4721,"src":"13320:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$3768_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"},"typeName":{"baseType":{"id":4686,"nodeType":"UserDefinedTypeName","pathNode":{"id":4685,"name":"Tx1559","nameLocations":["13320:6:4"],"nodeType":"IdentifierPath","referencedDeclaration":3768,"src":"13320:6:4"},"referencedDeclaration":3768,"src":"13320:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$3768_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":4687,"nodeType":"ArrayTypeName","src":"13320:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$3768_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}},"visibility":"internal"}],"id":4696,"initialValue":{"arguments":[{"expression":{"id":4693,"name":"rawTxs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4677,"src":"13355:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3732_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}},"id":4694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13362:6:4","memberName":"length","nodeType":"MemberAccess","src":"13355:13:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4692,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"13342:12:4","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Tx1559_$3768_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)"},"typeName":{"baseType":{"id":4690,"nodeType":"UserDefinedTypeName","pathNode":{"id":4689,"name":"Tx1559","nameLocations":["13346:6:4"],"nodeType":"IdentifierPath","referencedDeclaration":3768,"src":"13346:6:4"},"referencedDeclaration":3768,"src":"13346:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$3768_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":4691,"nodeType":"ArrayTypeName","src":"13346:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$3768_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}}},"id":4695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13342:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$3768_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"13320:49:4"},{"body":{"id":4717,"nodeType":"Block","src":"13419:68:4","statements":[{"expression":{"id":4715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4707,"name":"txs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4688,"src":"13433:3:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$3768_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"id":4709,"indexExpression":{"id":4708,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4698,"src":"13437:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13433:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$3768_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":4711,"name":"rawTxs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4677,"src":"13466:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3732_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}},"id":4713,"indexExpression":{"id":4712,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4698,"src":"13473:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13466:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3732_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawTx1559_$3732_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}],"id":4710,"name":"rawToConvertedEIPTx1559","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4782,"src":"13442:23:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawTx1559_$3732_memory_ptr_$returns$_t_struct$_Tx1559_$3768_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559 memory) pure returns (struct StdCheatsSafe.Tx1559 memory)"}},"id":4714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13442:34:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$3768_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"src":"13433:43:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$3768_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":4716,"nodeType":"ExpressionStatement","src":"13433:43:4"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4700,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4698,"src":"13395:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":4701,"name":"rawTxs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4677,"src":"13399:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3732_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}},"id":4702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13406:6:4","memberName":"length","nodeType":"MemberAccess","src":"13399:13:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13395:17:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4718,"initializationExpression":{"assignments":[4698],"declarations":[{"constant":false,"id":4698,"mutability":"mutable","name":"i","nameLocation":"13392:1:4","nodeType":"VariableDeclaration","scope":4718,"src":"13384:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4697,"name":"uint256","nodeType":"ElementaryTypeName","src":"13384:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4699,"nodeType":"VariableDeclarationStatement","src":"13384:9:4"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":4705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"13414:3:4","subExpression":{"id":4704,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4698,"src":"13414:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4706,"nodeType":"ExpressionStatement","src":"13414:3:4"},"nodeType":"ForStatement","src":"13379:108:4"},{"expression":{"id":4719,"name":"txs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4688,"src":"13503:3:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$3768_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"functionReturnParameters":4683,"id":4720,"nodeType":"Return","src":"13496:10:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedEIPTx1559s","nameLocation":"13210:24:4","parameters":{"id":4678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4677,"mutability":"mutable","name":"rawTxs","nameLocation":"13254:6:4","nodeType":"VariableDeclaration","scope":4722,"src":"13235:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3732_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"},"typeName":{"baseType":{"id":4675,"nodeType":"UserDefinedTypeName","pathNode":{"id":4674,"name":"RawTx1559","nameLocations":["13235:9:4"],"nodeType":"IdentifierPath","referencedDeclaration":3732,"src":"13235:9:4"},"referencedDeclaration":3732,"src":"13235:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3732_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"id":4676,"nodeType":"ArrayTypeName","src":"13235:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3732_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"}},"visibility":"internal"}],"src":"13234:27:4"},"returnParameters":{"id":4683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4682,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4722,"src":"13293:15:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$3768_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"},"typeName":{"baseType":{"id":4680,"nodeType":"UserDefinedTypeName","pathNode":{"id":4679,"name":"Tx1559","nameLocations":["13293:6:4"],"nodeType":"IdentifierPath","referencedDeclaration":3768,"src":"13293:6:4"},"referencedDeclaration":3768,"src":"13293:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$3768_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":4681,"nodeType":"ArrayTypeName","src":"13293:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$3768_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}},"visibility":"internal"}],"src":"13292:17:4"},"scope":5773,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":4782,"nodeType":"FunctionDefinition","src":"13519:488:4","nodes":[],"body":{"id":4781,"nodeType":"Block","src":"13622:385:4","nodes":[],"statements":[{"assignments":[4733],"declarations":[{"constant":false,"id":4733,"mutability":"mutable","name":"transaction","nameLocation":"13646:11:4","nodeType":"VariableDeclaration","scope":4781,"src":"13632:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$3768_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559"},"typeName":{"id":4732,"nodeType":"UserDefinedTypeName","pathNode":{"id":4731,"name":"Tx1559","nameLocations":["13632:6:4"],"nodeType":"IdentifierPath","referencedDeclaration":3768,"src":"13632:6:4"},"referencedDeclaration":3768,"src":"13632:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$3768_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"visibility":"internal"}],"id":4734,"nodeType":"VariableDeclarationStatement","src":"13632:25:4"},{"expression":{"id":4740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4735,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4733,"src":"13667:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$3768_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":4737,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13679:9:4","memberName":"arguments","nodeType":"MemberAccess","referencedDeclaration":3754,"src":"13667:21:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4738,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4725,"src":"13691:5:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3732_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":4739,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13697:9:4","memberName":"arguments","nodeType":"MemberAccess","referencedDeclaration":3718,"src":"13691:15:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"src":"13667:39:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":4741,"nodeType":"ExpressionStatement","src":"13667:39:4"},{"expression":{"id":4747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4742,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4733,"src":"13716:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$3768_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":4744,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13728:12:4","memberName":"contractName","nodeType":"MemberAccess","referencedDeclaration":3758,"src":"13716:24:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4745,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4725,"src":"13743:5:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3732_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":4746,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13749:12:4","memberName":"contractName","nodeType":"MemberAccess","referencedDeclaration":3722,"src":"13743:18:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"13716:45:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":4748,"nodeType":"ExpressionStatement","src":"13716:45:4"},{"expression":{"id":4754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4749,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4733,"src":"13771:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$3768_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":4751,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13783:11:4","memberName":"functionSig","nodeType":"MemberAccess","referencedDeclaration":3760,"src":"13771:23:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4752,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4725,"src":"13797:5:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3732_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":4753,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13803:11:4","memberName":"functionSig","nodeType":"MemberAccess","referencedDeclaration":3724,"src":"13797:17:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"13771:43:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":4755,"nodeType":"ExpressionStatement","src":"13771:43:4"},{"expression":{"id":4761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4756,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4733,"src":"13824:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$3768_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":4758,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13836:4:4","memberName":"hash","nodeType":"MemberAccess","referencedDeclaration":3762,"src":"13824:16:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4759,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4725,"src":"13843:5:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3732_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":4760,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13849:4:4","memberName":"hash","nodeType":"MemberAccess","referencedDeclaration":3726,"src":"13843:10:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"13824:29:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":4762,"nodeType":"ExpressionStatement","src":"13824:29:4"},{"expression":{"id":4770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4763,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4733,"src":"13863:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$3768_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":4765,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13875:8:4","memberName":"txDetail","nodeType":"MemberAccess","referencedDeclaration":3765,"src":"13863:20:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$3787_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4767,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4725,"src":"13914:5:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3732_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":4768,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13920:8:4","memberName":"txDetail","nodeType":"MemberAccess","referencedDeclaration":3729,"src":"13914:14:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$3751_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawTx1559Detail_$3751_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}],"id":4766,"name":"rawToConvertedEIP1559Detail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4862,"src":"13886:27:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawTx1559Detail_$3751_memory_ptr_$returns$_t_struct$_Tx1559Detail_$3787_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559Detail memory) pure returns (struct StdCheatsSafe.Tx1559Detail memory)"}},"id":4769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13886:43:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$3787_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"src":"13863:66:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$3787_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4771,"nodeType":"ExpressionStatement","src":"13863:66:4"},{"expression":{"id":4777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4772,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4733,"src":"13939:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$3768_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":4774,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13951:6:4","memberName":"opcode","nodeType":"MemberAccess","referencedDeclaration":3767,"src":"13939:18:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4775,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4725,"src":"13960:5:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3732_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":4776,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13966:6:4","memberName":"opcode","nodeType":"MemberAccess","referencedDeclaration":3731,"src":"13960:12:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"13939:33:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":4778,"nodeType":"ExpressionStatement","src":"13939:33:4"},{"expression":{"id":4779,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4733,"src":"13989:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$3768_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"functionReturnParameters":4730,"id":4780,"nodeType":"Return","src":"13982:18:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedEIPTx1559","nameLocation":"13528:23:4","parameters":{"id":4726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4725,"mutability":"mutable","name":"rawTx","nameLocation":"13569:5:4","nodeType":"VariableDeclaration","scope":4782,"src":"13552:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3732_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559"},"typeName":{"id":4724,"nodeType":"UserDefinedTypeName","pathNode":{"id":4723,"name":"RawTx1559","nameLocations":["13552:9:4"],"nodeType":"IdentifierPath","referencedDeclaration":3732,"src":"13552:9:4"},"referencedDeclaration":3732,"src":"13552:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3732_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"visibility":"internal"}],"src":"13551:24:4"},"returnParameters":{"id":4730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4729,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4782,"src":"13607:13:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$3768_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559"},"typeName":{"id":4728,"nodeType":"UserDefinedTypeName","pathNode":{"id":4727,"name":"Tx1559","nameLocations":["13607:6:4"],"nodeType":"IdentifierPath","referencedDeclaration":3768,"src":"13607:6:4"},"referencedDeclaration":3768,"src":"13607:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$3768_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"visibility":"internal"}],"src":"13606:15:4"},"scope":5773,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":4862,"nodeType":"FunctionDefinition","src":"14013:619:4","nodes":[],"body":{"id":4861,"nodeType":"Block","src":"14172:460:4","nodes":[],"statements":[{"assignments":[4793],"declarations":[{"constant":false,"id":4793,"mutability":"mutable","name":"txDetail","nameLocation":"14202:8:4","nodeType":"VariableDeclaration","scope":4861,"src":"14182:28:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$3787_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"},"typeName":{"id":4792,"nodeType":"UserDefinedTypeName","pathNode":{"id":4791,"name":"Tx1559Detail","nameLocations":["14182:12:4"],"nodeType":"IdentifierPath","referencedDeclaration":3787,"src":"14182:12:4"},"referencedDeclaration":3787,"src":"14182:12:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$3787_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"}},"visibility":"internal"}],"id":4794,"nodeType":"VariableDeclarationStatement","src":"14182:28:4"},{"expression":{"id":4800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4795,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4793,"src":"14220:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$3787_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4797,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14229:4:4","memberName":"data","nodeType":"MemberAccess","referencedDeclaration":3774,"src":"14220:13:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4798,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4785,"src":"14236:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$3751_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":4799,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14246:4:4","memberName":"data","nodeType":"MemberAccess","referencedDeclaration":3738,"src":"14236:14:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"14220:30:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":4801,"nodeType":"ExpressionStatement","src":"14220:30:4"},{"expression":{"id":4807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4802,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4793,"src":"14260:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$3787_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4804,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14269:4:4","memberName":"from","nodeType":"MemberAccess","referencedDeclaration":3776,"src":"14260:13:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4805,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4785,"src":"14276:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$3751_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":4806,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14286:4:4","memberName":"from","nodeType":"MemberAccess","referencedDeclaration":3740,"src":"14276:14:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14260:30:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4808,"nodeType":"ExpressionStatement","src":"14260:30:4"},{"expression":{"id":4814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4809,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4793,"src":"14300:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$3787_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4811,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14309:2:4","memberName":"to","nodeType":"MemberAccess","referencedDeclaration":3782,"src":"14300:11:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4812,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4785,"src":"14314:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$3751_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":4813,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14324:2:4","memberName":"to","nodeType":"MemberAccess","referencedDeclaration":3746,"src":"14314:12:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14300:26:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4815,"nodeType":"ExpressionStatement","src":"14300:26:4"},{"expression":{"id":4823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4816,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4793,"src":"14336:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$3787_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4818,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14345:5:4","memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":3780,"src":"14336:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4820,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4785,"src":"14366:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$3751_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":4821,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14376:5:4","memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":3744,"src":"14366:15:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4819,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5665,"src":"14353:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":4822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14353:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14336:46:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4824,"nodeType":"ExpressionStatement","src":"14336:46:4"},{"expression":{"id":4832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4825,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4793,"src":"14392:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$3787_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4827,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14401:6:4","memberName":"txType","nodeType":"MemberAccess","referencedDeclaration":3784,"src":"14392:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4829,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4785,"src":"14423:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$3751_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":4830,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14433:6:4","memberName":"txType","nodeType":"MemberAccess","referencedDeclaration":3748,"src":"14423:16:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4828,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5665,"src":"14410:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":4831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14410:30:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14392:48:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4833,"nodeType":"ExpressionStatement","src":"14392:48:4"},{"expression":{"id":4841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4834,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4793,"src":"14450:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$3787_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4836,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14459:5:4","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":3786,"src":"14450:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4838,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4785,"src":"14480:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$3751_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":4839,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14490:5:4","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":3750,"src":"14480:15:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4837,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5665,"src":"14467:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":4840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14467:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14450:46:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4842,"nodeType":"ExpressionStatement","src":"14450:46:4"},{"expression":{"id":4850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4843,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4793,"src":"14506:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$3787_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4845,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14515:3:4","memberName":"gas","nodeType":"MemberAccess","referencedDeclaration":3778,"src":"14506:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4847,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4785,"src":"14534:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$3751_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":4848,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14544:3:4","memberName":"gas","nodeType":"MemberAccess","referencedDeclaration":3742,"src":"14534:13:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4846,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5665,"src":"14521:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":4849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14521:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14506:42:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4851,"nodeType":"ExpressionStatement","src":"14506:42:4"},{"expression":{"id":4857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4852,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4793,"src":"14558:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$3787_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4854,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14567:10:4","memberName":"accessList","nodeType":"MemberAccess","referencedDeclaration":3772,"src":"14558:19:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$3843_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.AccessList memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4855,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4785,"src":"14580:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$3751_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":4856,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14590:10:4","memberName":"accessList","nodeType":"MemberAccess","referencedDeclaration":3736,"src":"14580:20:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$3843_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.AccessList memory[] memory"}},"src":"14558:42:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$3843_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.AccessList memory[] memory"}},"id":4858,"nodeType":"ExpressionStatement","src":"14558:42:4"},{"expression":{"id":4859,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4793,"src":"14617:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$3787_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"functionReturnParameters":4790,"id":4860,"nodeType":"Return","src":"14610:15:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedEIP1559Detail","nameLocation":"14022:27:4","parameters":{"id":4786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4785,"mutability":"mutable","name":"rawDetail","nameLocation":"14073:9:4","nodeType":"VariableDeclaration","scope":4862,"src":"14050:32:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$3751_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail"},"typeName":{"id":4784,"nodeType":"UserDefinedTypeName","pathNode":{"id":4783,"name":"RawTx1559Detail","nameLocations":["14050:15:4"],"nodeType":"IdentifierPath","referencedDeclaration":3751,"src":"14050:15:4"},"referencedDeclaration":3751,"src":"14050:15:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$3751_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail"}},"visibility":"internal"}],"src":"14049:34:4"},"returnParameters":{"id":4790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4789,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4862,"src":"14147:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$3787_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"},"typeName":{"id":4788,"nodeType":"UserDefinedTypeName","pathNode":{"id":4787,"name":"Tx1559Detail","nameLocations":["14147:12:4"],"nodeType":"IdentifierPath","referencedDeclaration":3787,"src":"14147:12:4"},"referencedDeclaration":3787,"src":"14147:12:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$3787_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"}},"visibility":"internal"}],"src":"14146:21:4"},"scope":5773,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":4904,"nodeType":"FunctionDefinition","src":"14638:363:4","nodes":[],"body":{"id":4903,"nodeType":"Block","src":"14727:274:4","nodes":[],"statements":[{"assignments":[4872],"declarations":[{"constant":false,"id":4872,"mutability":"mutable","name":"deployData","nameLocation":"14751:10:4","nodeType":"VariableDeclaration","scope":4903,"src":"14737:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4871,"name":"string","nodeType":"ElementaryTypeName","src":"14737:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4877,"initialValue":{"arguments":[{"id":4875,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4864,"src":"14776:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":4873,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"14764:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14767:8:4","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":14365,"src":"14764:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":4876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14764:17:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"14737:44:4"},{"assignments":[4879],"declarations":[{"constant":false,"id":4879,"mutability":"mutable","name":"parsedDeployData","nameLocation":"14804:16:4","nodeType":"VariableDeclaration","scope":4903,"src":"14791:29:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4878,"name":"bytes","nodeType":"ElementaryTypeName","src":"14791:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":4885,"initialValue":{"arguments":[{"id":4882,"name":"deployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4872,"src":"14836:10:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e7472616e73616374696f6e73","id":4883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14848:15:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b594723e6093f4c1c210e08bcd523373e89874e267b69a9d9a7cb17952e3049","typeString":"literal_string \".transactions\""},"value":".transactions"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_9b594723e6093f4c1c210e08bcd523373e89874e267b69a9d9a7cb17952e3049","typeString":"literal_string \".transactions\""}],"expression":{"id":4880,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"14823:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14826:9:4","memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":14663,"src":"14823:12:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":4884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14823:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"14791:73:4"},{"assignments":[4890],"declarations":[{"constant":false,"id":4890,"mutability":"mutable","name":"rawTxs","nameLocation":"14893:6:4","nodeType":"VariableDeclaration","scope":4903,"src":"14874:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3732_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"},"typeName":{"baseType":{"id":4888,"nodeType":"UserDefinedTypeName","pathNode":{"id":4887,"name":"RawTx1559","nameLocations":["14874:9:4"],"nodeType":"IdentifierPath","referencedDeclaration":3732,"src":"14874:9:4"},"referencedDeclaration":3732,"src":"14874:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3732_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"id":4889,"nodeType":"ArrayTypeName","src":"14874:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3732_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"}},"visibility":"internal"}],"id":4898,"initialValue":{"arguments":[{"id":4893,"name":"parsedDeployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4879,"src":"14913:16:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"id":4894,"name":"RawTx1559","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3732,"src":"14932:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawTx1559_$3732_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 storage pointer)"}},"id":4895,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"14932:11:4","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RawTx1559_$3732_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 memory[] memory)"}}],"id":4896,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"14931:13:4","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RawTx1559_$3732_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_RawTx1559_$3732_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 memory[] memory)"}],"expression":{"id":4891,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14902:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4892,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14906:6:4","memberName":"decode","nodeType":"MemberAccess","src":"14902:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":4897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14902:43:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3732_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"14874:71:4"},{"expression":{"arguments":[{"id":4900,"name":"rawTxs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4890,"src":"14987:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3732_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3732_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}],"id":4899,"name":"rawToConvertedEIPTx1559s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4722,"src":"14962:24:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawTx1559_$3732_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Tx1559_$3768_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559 memory[] memory) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)"}},"id":4901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14962:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$3768_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"functionReturnParameters":4870,"id":4902,"nodeType":"Return","src":"14955:39:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readTx1559s","nameLocation":"14647:11:4","parameters":{"id":4865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4864,"mutability":"mutable","name":"path","nameLocation":"14673:4:4","nodeType":"VariableDeclaration","scope":4904,"src":"14659:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4863,"name":"string","nodeType":"ElementaryTypeName","src":"14659:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14658:20:4"},"returnParameters":{"id":4870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4869,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4904,"src":"14710:15:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$3768_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"},"typeName":{"baseType":{"id":4867,"nodeType":"UserDefinedTypeName","pathNode":{"id":4866,"name":"Tx1559","nameLocations":["14710:6:4"],"nodeType":"IdentifierPath","referencedDeclaration":3768,"src":"14710:6:4"},"referencedDeclaration":3768,"src":"14710:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$3768_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":4868,"nodeType":"ArrayTypeName","src":"14710:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$3768_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}},"visibility":"internal"}],"src":"14709:17:4"},"scope":5773,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":4959,"nodeType":"FunctionDefinition","src":"15007:453:4","nodes":[],"body":{"id":4958,"nodeType":"Block","src":"15108:352:4","nodes":[],"statements":[{"assignments":[4915],"declarations":[{"constant":false,"id":4915,"mutability":"mutable","name":"deployData","nameLocation":"15132:10:4","nodeType":"VariableDeclaration","scope":4958,"src":"15118:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4914,"name":"string","nodeType":"ElementaryTypeName","src":"15118:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4920,"initialValue":{"arguments":[{"id":4918,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4906,"src":"15157:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":4916,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"15145:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15148:8:4","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":14365,"src":"15145:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":4919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15145:17:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"15118:44:4"},{"assignments":[4922],"declarations":[{"constant":false,"id":4922,"mutability":"mutable","name":"key","nameLocation":"15186:3:4","nodeType":"VariableDeclaration","scope":4958,"src":"15172:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4921,"name":"string","nodeType":"ElementaryTypeName","src":"15172:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4935,"initialValue":{"arguments":[{"arguments":[{"hexValue":"2e7472616e73616374696f6e735b","id":4927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15216:16:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_7abc4cdd6094bba2d56cb8a26083c756a68ba4e3b40f345f8102e1fc2249cd5c","typeString":"literal_string \".transactions[\""},"value":".transactions["},{"arguments":[{"id":4930,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4908,"src":"15246:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4928,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"15234:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15237:8:4","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15161,"src":"15234:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":4931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15234:18:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"5d","id":4932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15254:3:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29","typeString":"literal_string \"]\""},"value":"]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7abc4cdd6094bba2d56cb8a26083c756a68ba4e3b40f345f8102e1fc2249cd5c","typeString":"literal_string \".transactions[\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29","typeString":"literal_string \"]\""}],"expression":{"id":4925,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15199:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4926,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15203:12:4","memberName":"encodePacked","nodeType":"MemberAccess","src":"15199:16:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":4933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15199:59:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4924,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15192:6:4","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":4923,"name":"string","nodeType":"ElementaryTypeName","src":"15192:6:4","typeDescriptions":{}}},"id":4934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15192:67:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"15172:87:4"},{"assignments":[4937],"declarations":[{"constant":false,"id":4937,"mutability":"mutable","name":"parsedDeployData","nameLocation":"15282:16:4","nodeType":"VariableDeclaration","scope":4958,"src":"15269:29:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4936,"name":"bytes","nodeType":"ElementaryTypeName","src":"15269:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":4943,"initialValue":{"arguments":[{"id":4940,"name":"deployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4915,"src":"15314:10:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":4941,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4922,"src":"15326:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":4938,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"15301:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15304:9:4","memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":14663,"src":"15301:12:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":4942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15301:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15269:61:4"},{"assignments":[4946],"declarations":[{"constant":false,"id":4946,"mutability":"mutable","name":"rawTx","nameLocation":"15357:5:4","nodeType":"VariableDeclaration","scope":4958,"src":"15340:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3732_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559"},"typeName":{"id":4945,"nodeType":"UserDefinedTypeName","pathNode":{"id":4944,"name":"RawTx1559","nameLocations":["15340:9:4"],"nodeType":"IdentifierPath","referencedDeclaration":3732,"src":"15340:9:4"},"referencedDeclaration":3732,"src":"15340:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3732_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"visibility":"internal"}],"id":4953,"initialValue":{"arguments":[{"id":4949,"name":"parsedDeployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4937,"src":"15376:16:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":4950,"name":"RawTx1559","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3732,"src":"15395:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawTx1559_$3732_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 storage pointer)"}}],"id":4951,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"15394:11:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawTx1559_$3732_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_RawTx1559_$3732_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 storage pointer)"}],"expression":{"id":4947,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15365:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15369:6:4","memberName":"decode","nodeType":"MemberAccess","src":"15365:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":4952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15365:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3732_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"nodeType":"VariableDeclarationStatement","src":"15340:66:4"},{"expression":{"arguments":[{"id":4955,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4946,"src":"15447:5:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3732_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawTx1559_$3732_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}],"id":4954,"name":"rawToConvertedEIPTx1559","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4782,"src":"15423:23:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawTx1559_$3732_memory_ptr_$returns$_t_struct$_Tx1559_$3768_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559 memory) pure returns (struct StdCheatsSafe.Tx1559 memory)"}},"id":4956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15423:30:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$3768_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"functionReturnParameters":4913,"id":4957,"nodeType":"Return","src":"15416:37:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readTx1559","nameLocation":"15016:10:4","parameters":{"id":4909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4906,"mutability":"mutable","name":"path","nameLocation":"15041:4:4","nodeType":"VariableDeclaration","scope":4959,"src":"15027:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4905,"name":"string","nodeType":"ElementaryTypeName","src":"15027:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4908,"mutability":"mutable","name":"index","nameLocation":"15055:5:4","nodeType":"VariableDeclaration","scope":4959,"src":"15047:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4907,"name":"uint256","nodeType":"ElementaryTypeName","src":"15047:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15026:35:4"},"returnParameters":{"id":4913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4912,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4959,"src":"15093:13:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$3768_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559"},"typeName":{"id":4911,"nodeType":"UserDefinedTypeName","pathNode":{"id":4910,"name":"Tx1559","nameLocations":["15093:6:4"],"nodeType":"IdentifierPath","referencedDeclaration":3768,"src":"15093:6:4"},"referencedDeclaration":3768,"src":"15093:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$3768_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"visibility":"internal"}],"src":"15092:15:4"},"scope":5773,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":5001,"nodeType":"FunctionDefinition","src":"15522:371:4","nodes":[],"body":{"id":5000,"nodeType":"Block","src":"15613:280:4","nodes":[],"statements":[{"assignments":[4969],"declarations":[{"constant":false,"id":4969,"mutability":"mutable","name":"deployData","nameLocation":"15637:10:4","nodeType":"VariableDeclaration","scope":5000,"src":"15623:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4968,"name":"string","nodeType":"ElementaryTypeName","src":"15623:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4974,"initialValue":{"arguments":[{"id":4972,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4961,"src":"15662:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":4970,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"15650:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15653:8:4","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":14365,"src":"15650:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":4973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15650:17:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"15623:44:4"},{"assignments":[4976],"declarations":[{"constant":false,"id":4976,"mutability":"mutable","name":"parsedDeployData","nameLocation":"15690:16:4","nodeType":"VariableDeclaration","scope":5000,"src":"15677:29:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4975,"name":"bytes","nodeType":"ElementaryTypeName","src":"15677:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":4982,"initialValue":{"arguments":[{"id":4979,"name":"deployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4969,"src":"15722:10:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e7265636569707473","id":4980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15734:11:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_29a5d3664a45019923b250b65c7d5b7f8c019d3960761fa9ca59b9001f893261","typeString":"literal_string \".receipts\""},"value":".receipts"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_29a5d3664a45019923b250b65c7d5b7f8c019d3960761fa9ca59b9001f893261","typeString":"literal_string \".receipts\""}],"expression":{"id":4977,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"15709:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":4978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15712:9:4","memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":14663,"src":"15709:12:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":4981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15709:37:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15677:69:4"},{"assignments":[4987],"declarations":[{"constant":false,"id":4987,"mutability":"mutable","name":"rawReceipts","nameLocation":"15776:11:4","nodeType":"VariableDeclaration","scope":5000,"src":"15756:31:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$3872_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"},"typeName":{"baseType":{"id":4985,"nodeType":"UserDefinedTypeName","pathNode":{"id":4984,"name":"RawReceipt","nameLocations":["15756:10:4"],"nodeType":"IdentifierPath","referencedDeclaration":3872,"src":"15756:10:4"},"referencedDeclaration":3872,"src":"15756:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$3872_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"id":4986,"nodeType":"ArrayTypeName","src":"15756:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$3872_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"}},"visibility":"internal"}],"id":4995,"initialValue":{"arguments":[{"id":4990,"name":"parsedDeployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4976,"src":"15801:16:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"id":4991,"name":"RawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3872,"src":"15820:10:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawReceipt_$3872_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt storage pointer)"}},"id":4992,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"15820:12:4","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RawReceipt_$3872_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt memory[] memory)"}}],"id":4993,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"15819:14:4","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RawReceipt_$3872_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_RawReceipt_$3872_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt memory[] memory)"}],"expression":{"id":4988,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15790:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4989,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15794:6:4","memberName":"decode","nodeType":"MemberAccess","src":"15790:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":4994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15790:44:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$3872_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"15756:78:4"},{"expression":{"arguments":[{"id":4997,"name":"rawReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4987,"src":"15874:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$3872_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$3872_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}],"id":4996,"name":"rawToConvertedReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5105,"src":"15851:22:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawReceipt_$3872_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Receipt_$3901_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceipt memory[] memory) pure returns (struct StdCheatsSafe.Receipt memory[] memory)"}},"id":4998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15851:35:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$3901_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"functionReturnParameters":4967,"id":4999,"nodeType":"Return","src":"15844:42:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readReceipts","nameLocation":"15531:12:4","parameters":{"id":4962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4961,"mutability":"mutable","name":"path","nameLocation":"15558:4:4","nodeType":"VariableDeclaration","scope":5001,"src":"15544:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4960,"name":"string","nodeType":"ElementaryTypeName","src":"15544:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15543:20:4"},"returnParameters":{"id":4967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4966,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5001,"src":"15595:16:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$3901_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt[]"},"typeName":{"baseType":{"id":4964,"nodeType":"UserDefinedTypeName","pathNode":{"id":4963,"name":"Receipt","nameLocations":["15595:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":3901,"src":"15595:7:4"},"referencedDeclaration":3901,"src":"15595:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":4965,"nodeType":"ArrayTypeName","src":"15595:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$3901_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}},"visibility":"internal"}],"src":"15594:18:4"},"scope":5773,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":5056,"nodeType":"FunctionDefinition","src":"15899:461:4","nodes":[],"body":{"id":5055,"nodeType":"Block","src":"16002:358:4","nodes":[],"statements":[{"assignments":[5012],"declarations":[{"constant":false,"id":5012,"mutability":"mutable","name":"deployData","nameLocation":"16026:10:4","nodeType":"VariableDeclaration","scope":5055,"src":"16012:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5011,"name":"string","nodeType":"ElementaryTypeName","src":"16012:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":5017,"initialValue":{"arguments":[{"id":5015,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5003,"src":"16051:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5013,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"16039:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16042:8:4","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":14365,"src":"16039:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":5016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16039:17:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"16012:44:4"},{"assignments":[5019],"declarations":[{"constant":false,"id":5019,"mutability":"mutable","name":"key","nameLocation":"16080:3:4","nodeType":"VariableDeclaration","scope":5055,"src":"16066:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5018,"name":"string","nodeType":"ElementaryTypeName","src":"16066:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":5032,"initialValue":{"arguments":[{"arguments":[{"hexValue":"2e72656365697074735b","id":5024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16110:12:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_1f28b72ce547907c2ae0f1bd0fd1ff00aeea8e573cc3e4076246f258e653d170","typeString":"literal_string \".receipts[\""},"value":".receipts["},{"arguments":[{"id":5027,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5005,"src":"16136:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5025,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"16124:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16127:8:4","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15161,"src":"16124:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":5028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16124:18:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"5d","id":5029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16144:3:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29","typeString":"literal_string \"]\""},"value":"]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1f28b72ce547907c2ae0f1bd0fd1ff00aeea8e573cc3e4076246f258e653d170","typeString":"literal_string \".receipts[\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29","typeString":"literal_string \"]\""}],"expression":{"id":5022,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16093:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16097:12:4","memberName":"encodePacked","nodeType":"MemberAccess","src":"16093:16:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16093:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5021,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16086:6:4","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":5020,"name":"string","nodeType":"ElementaryTypeName","src":"16086:6:4","typeDescriptions":{}}},"id":5031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16086:63:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"16066:83:4"},{"assignments":[5034],"declarations":[{"constant":false,"id":5034,"mutability":"mutable","name":"parsedDeployData","nameLocation":"16172:16:4","nodeType":"VariableDeclaration","scope":5055,"src":"16159:29:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5033,"name":"bytes","nodeType":"ElementaryTypeName","src":"16159:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5040,"initialValue":{"arguments":[{"id":5037,"name":"deployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5012,"src":"16204:10:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":5038,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5019,"src":"16216:3:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5035,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"16191:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16194:9:4","memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":14663,"src":"16191:12:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":5039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16191:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"16159:61:4"},{"assignments":[5043],"declarations":[{"constant":false,"id":5043,"mutability":"mutable","name":"rawReceipt","nameLocation":"16248:10:4","nodeType":"VariableDeclaration","scope":5055,"src":"16230:28:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$3872_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt"},"typeName":{"id":5042,"nodeType":"UserDefinedTypeName","pathNode":{"id":5041,"name":"RawReceipt","nameLocations":["16230:10:4"],"nodeType":"IdentifierPath","referencedDeclaration":3872,"src":"16230:10:4"},"referencedDeclaration":3872,"src":"16230:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$3872_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"visibility":"internal"}],"id":5050,"initialValue":{"arguments":[{"id":5046,"name":"parsedDeployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5034,"src":"16272:16:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":5047,"name":"RawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3872,"src":"16291:10:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawReceipt_$3872_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt storage pointer)"}}],"id":5048,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"16290:12:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawReceipt_$3872_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_RawReceipt_$3872_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt storage pointer)"}],"expression":{"id":5044,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16261:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5045,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16265:6:4","memberName":"decode","nodeType":"MemberAccess","src":"16261:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16261:42:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$3872_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"nodeType":"VariableDeclarationStatement","src":"16230:73:4"},{"expression":{"arguments":[{"id":5052,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5043,"src":"16342:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$3872_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawReceipt_$3872_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}],"id":5051,"name":"rawToConvertedReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5226,"src":"16320:21:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawReceipt_$3872_memory_ptr_$returns$_t_struct$_Receipt_$3901_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceipt memory) pure returns (struct StdCheatsSafe.Receipt memory)"}},"id":5053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16320:33:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"functionReturnParameters":5010,"id":5054,"nodeType":"Return","src":"16313:40:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readReceipt","nameLocation":"15908:11:4","parameters":{"id":5006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5003,"mutability":"mutable","name":"path","nameLocation":"15934:4:4","nodeType":"VariableDeclaration","scope":5056,"src":"15920:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5002,"name":"string","nodeType":"ElementaryTypeName","src":"15920:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5005,"mutability":"mutable","name":"index","nameLocation":"15948:5:4","nodeType":"VariableDeclaration","scope":5056,"src":"15940:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5004,"name":"uint256","nodeType":"ElementaryTypeName","src":"15940:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15919:35:4"},"returnParameters":{"id":5010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5009,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5056,"src":"15986:14:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_memory_ptr","typeString":"struct StdCheatsSafe.Receipt"},"typeName":{"id":5008,"nodeType":"UserDefinedTypeName","pathNode":{"id":5007,"name":"Receipt","nameLocations":["15986:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":3901,"src":"15986:7:4"},"referencedDeclaration":3901,"src":"15986:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"visibility":"internal"}],"src":"15985:16:4"},"scope":5773,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":5105,"nodeType":"FunctionDefinition","src":"16366:347:4","nodes":[],"body":{"id":5104,"nodeType":"Block","src":"16480:233:4","nodes":[],"statements":[{"assignments":[5071],"declarations":[{"constant":false,"id":5071,"mutability":"mutable","name":"receipts","nameLocation":"16507:8:4","nodeType":"VariableDeclaration","scope":5104,"src":"16490:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$3901_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt[]"},"typeName":{"baseType":{"id":5069,"nodeType":"UserDefinedTypeName","pathNode":{"id":5068,"name":"Receipt","nameLocations":["16490:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":3901,"src":"16490:7:4"},"referencedDeclaration":3901,"src":"16490:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":5070,"nodeType":"ArrayTypeName","src":"16490:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$3901_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}},"visibility":"internal"}],"id":5079,"initialValue":{"arguments":[{"expression":{"id":5076,"name":"rawReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5060,"src":"16532:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$3872_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}},"id":5077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16544:6:4","memberName":"length","nodeType":"MemberAccess","src":"16532:18:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5075,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"16518:13:4","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Receipt_$3901_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct StdCheatsSafe.Receipt memory[] memory)"},"typeName":{"baseType":{"id":5073,"nodeType":"UserDefinedTypeName","pathNode":{"id":5072,"name":"Receipt","nameLocations":["16522:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":3901,"src":"16522:7:4"},"referencedDeclaration":3901,"src":"16522:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":5074,"nodeType":"ArrayTypeName","src":"16522:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$3901_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}}},"id":5078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16518:33:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$3901_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"16490:61:4"},{"body":{"id":5100,"nodeType":"Block","src":"16606:76:4","statements":[{"expression":{"id":5098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5090,"name":"receipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5071,"src":"16620:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$3901_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"id":5092,"indexExpression":{"id":5091,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5081,"src":"16629:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16620:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":5094,"name":"rawReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5060,"src":"16656:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$3872_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}},"id":5096,"indexExpression":{"id":5095,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5081,"src":"16668:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16656:14:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$3872_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawReceipt_$3872_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}],"id":5093,"name":"rawToConvertedReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5226,"src":"16634:21:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawReceipt_$3872_memory_ptr_$returns$_t_struct$_Receipt_$3901_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceipt memory) pure returns (struct StdCheatsSafe.Receipt memory)"}},"id":5097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16634:37:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"src":"16620:51:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5099,"nodeType":"ExpressionStatement","src":"16620:51:4"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5083,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5081,"src":"16577:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":5084,"name":"rawReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5060,"src":"16581:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$3872_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}},"id":5085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16593:6:4","memberName":"length","nodeType":"MemberAccess","src":"16581:18:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16577:22:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5101,"initializationExpression":{"assignments":[5081],"declarations":[{"constant":false,"id":5081,"mutability":"mutable","name":"i","nameLocation":"16574:1:4","nodeType":"VariableDeclaration","scope":5101,"src":"16566:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5080,"name":"uint256","nodeType":"ElementaryTypeName","src":"16566:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5082,"nodeType":"VariableDeclarationStatement","src":"16566:9:4"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":5088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"16601:3:4","subExpression":{"id":5087,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5081,"src":"16601:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5089,"nodeType":"ExpressionStatement","src":"16601:3:4"},"nodeType":"ForStatement","src":"16561:121:4"},{"expression":{"id":5102,"name":"receipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5071,"src":"16698:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$3901_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"functionReturnParameters":5066,"id":5103,"nodeType":"Return","src":"16691:15:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedReceipts","nameLocation":"16375:22:4","parameters":{"id":5061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5060,"mutability":"mutable","name":"rawReceipts","nameLocation":"16418:11:4","nodeType":"VariableDeclaration","scope":5105,"src":"16398:31:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$3872_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"},"typeName":{"baseType":{"id":5058,"nodeType":"UserDefinedTypeName","pathNode":{"id":5057,"name":"RawReceipt","nameLocations":["16398:10:4"],"nodeType":"IdentifierPath","referencedDeclaration":3872,"src":"16398:10:4"},"referencedDeclaration":3872,"src":"16398:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$3872_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"id":5059,"nodeType":"ArrayTypeName","src":"16398:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$3872_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"}},"visibility":"internal"}],"src":"16397:33:4"},"returnParameters":{"id":5066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5065,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5105,"src":"16462:16:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$3901_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt[]"},"typeName":{"baseType":{"id":5063,"nodeType":"UserDefinedTypeName","pathNode":{"id":5062,"name":"Receipt","nameLocations":["16462:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":3901,"src":"16462:7:4"},"referencedDeclaration":3901,"src":"16462:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":5064,"nodeType":"ArrayTypeName","src":"16462:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$3901_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}},"visibility":"internal"}],"src":"16461:18:4"},"scope":5773,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5226,"nodeType":"FunctionDefinition","src":"16719:962:4","nodes":[],"body":{"id":5225,"nodeType":"Block","src":"16827:854:4","nodes":[],"statements":[{"assignments":[5116],"declarations":[{"constant":false,"id":5116,"mutability":"mutable","name":"receipt","nameLocation":"16852:7:4","nodeType":"VariableDeclaration","scope":5225,"src":"16837:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_memory_ptr","typeString":"struct StdCheatsSafe.Receipt"},"typeName":{"id":5115,"nodeType":"UserDefinedTypeName","pathNode":{"id":5114,"name":"Receipt","nameLocations":["16837:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":3901,"src":"16837:7:4"},"referencedDeclaration":3901,"src":"16837:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"visibility":"internal"}],"id":5117,"nodeType":"VariableDeclarationStatement","src":"16837:22:4"},{"expression":{"id":5123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5118,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5116,"src":"16869:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5120,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16877:9:4","memberName":"blockHash","nodeType":"MemberAccess","referencedDeclaration":3874,"src":"16869:17:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5121,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5108,"src":"16889:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$3872_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5122,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16900:9:4","memberName":"blockHash","nodeType":"MemberAccess","referencedDeclaration":3845,"src":"16889:20:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"16869:40:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5124,"nodeType":"ExpressionStatement","src":"16869:40:4"},{"expression":{"id":5130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5125,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5116,"src":"16919:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5127,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16927:2:4","memberName":"to","nodeType":"MemberAccess","referencedDeclaration":3896,"src":"16919:10:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5128,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5108,"src":"16932:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$3872_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5129,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16943:2:4","memberName":"to","nodeType":"MemberAccess","referencedDeclaration":3867,"src":"16932:13:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16919:26:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5131,"nodeType":"ExpressionStatement","src":"16919:26:4"},{"expression":{"id":5137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5132,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5116,"src":"16955:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5134,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16963:4:4","memberName":"from","nodeType":"MemberAccess","referencedDeclaration":3884,"src":"16955:12:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5135,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5108,"src":"16970:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$3872_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5136,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16981:4:4","memberName":"from","nodeType":"MemberAccess","referencedDeclaration":3855,"src":"16970:15:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16955:30:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5138,"nodeType":"ExpressionStatement","src":"16955:30:4"},{"expression":{"id":5144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5139,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5116,"src":"16995:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5141,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17003:15:4","memberName":"contractAddress","nodeType":"MemberAccess","referencedDeclaration":3878,"src":"16995:23:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5142,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5108,"src":"17021:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$3872_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5143,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17032:15:4","memberName":"contractAddress","nodeType":"MemberAccess","referencedDeclaration":3849,"src":"17021:26:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16995:52:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5145,"nodeType":"ExpressionStatement","src":"16995:52:4"},{"expression":{"id":5153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5146,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5116,"src":"17057:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5148,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17065:17:4","memberName":"effectiveGasPrice","nodeType":"MemberAccess","referencedDeclaration":3882,"src":"17057:25:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5150,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5108,"src":"17098:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$3872_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5151,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17109:17:4","memberName":"effectiveGasPrice","nodeType":"MemberAccess","referencedDeclaration":3853,"src":"17098:28:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5149,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5665,"src":"17085:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17085:42:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17057:70:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5154,"nodeType":"ExpressionStatement","src":"17057:70:4"},{"expression":{"id":5162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5155,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5116,"src":"17137:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5157,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17145:17:4","memberName":"cumulativeGasUsed","nodeType":"MemberAccess","referencedDeclaration":3880,"src":"17137:25:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5159,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5108,"src":"17178:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$3872_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5160,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17189:17:4","memberName":"cumulativeGasUsed","nodeType":"MemberAccess","referencedDeclaration":3851,"src":"17178:28:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5158,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5665,"src":"17165:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17165:42:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17137:70:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5163,"nodeType":"ExpressionStatement","src":"17137:70:4"},{"expression":{"id":5171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5164,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5116,"src":"17217:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5166,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17225:7:4","memberName":"gasUsed","nodeType":"MemberAccess","referencedDeclaration":3886,"src":"17217:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5168,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5108,"src":"17248:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$3872_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5169,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17259:7:4","memberName":"gasUsed","nodeType":"MemberAccess","referencedDeclaration":3857,"src":"17248:18:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5167,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5665,"src":"17235:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17235:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17217:50:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5172,"nodeType":"ExpressionStatement","src":"17217:50:4"},{"expression":{"id":5180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5173,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5116,"src":"17277:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5175,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17285:6:4","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":3894,"src":"17277:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5177,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5108,"src":"17307:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$3872_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5178,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17318:6:4","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":3865,"src":"17307:17:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5176,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5665,"src":"17294:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17294:31:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17277:48:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5181,"nodeType":"ExpressionStatement","src":"17277:48:4"},{"expression":{"id":5189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5182,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5116,"src":"17335:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5184,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17343:16:4","memberName":"transactionIndex","nodeType":"MemberAccess","referencedDeclaration":3900,"src":"17335:24:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5186,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5108,"src":"17375:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$3872_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5187,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17386:16:4","memberName":"transactionIndex","nodeType":"MemberAccess","referencedDeclaration":3871,"src":"17375:27:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5185,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5665,"src":"17362:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17362:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17335:68:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5190,"nodeType":"ExpressionStatement","src":"17335:68:4"},{"expression":{"id":5198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5191,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5116,"src":"17413:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5193,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17421:11:4","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":3876,"src":"17413:19:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5195,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5108,"src":"17448:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$3872_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5196,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17459:11:4","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":3847,"src":"17448:22:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5194,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5665,"src":"17435:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17435:36:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17413:58:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5199,"nodeType":"ExpressionStatement","src":"17413:58:4"},{"expression":{"id":5207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5200,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5116,"src":"17481:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5202,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17489:4:4","memberName":"logs","nodeType":"MemberAccess","referencedDeclaration":3890,"src":"17481:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$3989_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5204,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5108,"src":"17522:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$3872_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5205,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17533:4:4","memberName":"logs","nodeType":"MemberAccess","referencedDeclaration":3861,"src":"17522:15:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$3969_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$3969_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}],"id":5203,"name":"rawToConvertedReceiptLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5363,"src":"17496:25:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawReceiptLog_$3969_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_ReceiptLog_$3989_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceiptLog memory[] memory) pure returns (struct StdCheatsSafe.ReceiptLog memory[] memory)"}},"id":5206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17496:42:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$3989_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"src":"17481:57:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$3989_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5208,"nodeType":"ExpressionStatement","src":"17481:57:4"},{"expression":{"id":5214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5209,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5116,"src":"17548:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5211,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17556:9:4","memberName":"logsBloom","nodeType":"MemberAccess","referencedDeclaration":3892,"src":"17548:17:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5212,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5108,"src":"17568:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$3872_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5213,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17579:9:4","memberName":"logsBloom","nodeType":"MemberAccess","referencedDeclaration":3863,"src":"17568:20:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"17548:40:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5215,"nodeType":"ExpressionStatement","src":"17548:40:4"},{"expression":{"id":5221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5216,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5116,"src":"17598:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5218,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17606:15:4","memberName":"transactionHash","nodeType":"MemberAccess","referencedDeclaration":3898,"src":"17598:23:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5219,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5108,"src":"17624:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$3872_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5220,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17635:15:4","memberName":"transactionHash","nodeType":"MemberAccess","referencedDeclaration":3869,"src":"17624:26:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"17598:52:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5222,"nodeType":"ExpressionStatement","src":"17598:52:4"},{"expression":{"id":5223,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5116,"src":"17667:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"functionReturnParameters":5113,"id":5224,"nodeType":"Return","src":"17660:14:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedReceipt","nameLocation":"16728:21:4","parameters":{"id":5109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5108,"mutability":"mutable","name":"rawReceipt","nameLocation":"16768:10:4","nodeType":"VariableDeclaration","scope":5226,"src":"16750:28:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$3872_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt"},"typeName":{"id":5107,"nodeType":"UserDefinedTypeName","pathNode":{"id":5106,"name":"RawReceipt","nameLocations":["16750:10:4"],"nodeType":"IdentifierPath","referencedDeclaration":3872,"src":"16750:10:4"},"referencedDeclaration":3872,"src":"16750:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$3872_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"visibility":"internal"}],"src":"16749:30:4"},"returnParameters":{"id":5113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5112,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5226,"src":"16811:14:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_memory_ptr","typeString":"struct StdCheatsSafe.Receipt"},"typeName":{"id":5111,"nodeType":"UserDefinedTypeName","pathNode":{"id":5110,"name":"Receipt","nameLocations":["16811:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":3901,"src":"16811:7:4"},"referencedDeclaration":3901,"src":"16811:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$3901_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"visibility":"internal"}],"src":"16810:16:4"},"scope":5773,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5363,"nodeType":"FunctionDefinition","src":"17687:873:4","nodes":[],"body":{"id":5362,"nodeType":"Block","src":"17842:718:4","nodes":[],"statements":[{"assignments":[5241],"declarations":[{"constant":false,"id":5241,"mutability":"mutable","name":"logs","nameLocation":"17872:4:4","nodeType":"VariableDeclaration","scope":5362,"src":"17852:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$3989_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"},"typeName":{"baseType":{"id":5239,"nodeType":"UserDefinedTypeName","pathNode":{"id":5238,"name":"ReceiptLog","nameLocations":["17852:10:4"],"nodeType":"IdentifierPath","referencedDeclaration":3989,"src":"17852:10:4"},"referencedDeclaration":3989,"src":"17852:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$3989_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog"}},"id":5240,"nodeType":"ArrayTypeName","src":"17852:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$3989_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"}},"visibility":"internal"}],"id":5249,"initialValue":{"arguments":[{"expression":{"id":5246,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5230,"src":"17896:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$3969_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17904:6:4","memberName":"length","nodeType":"MemberAccess","src":"17896:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5245,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"17879:16:4","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ReceiptLog_$3989_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct StdCheatsSafe.ReceiptLog memory[] memory)"},"typeName":{"baseType":{"id":5243,"nodeType":"UserDefinedTypeName","pathNode":{"id":5242,"name":"ReceiptLog","nameLocations":["17883:10:4"],"nodeType":"IdentifierPath","referencedDeclaration":3989,"src":"17883:10:4"},"referencedDeclaration":3989,"src":"17883:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$3989_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog"}},"id":5244,"nodeType":"ArrayTypeName","src":"17883:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$3989_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"}}},"id":5248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17879:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$3989_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"17852:59:4"},{"body":{"id":5358,"nodeType":"Block","src":"17962:571:4","statements":[{"expression":{"id":5268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5260,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5241,"src":"17976:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$3989_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5262,"indexExpression":{"id":5261,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5251,"src":"17981:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17976:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$3989_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5263,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17984:10:4","memberName":"logAddress","nodeType":"MemberAccess","referencedDeclaration":3971,"src":"17976:18:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5264,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5230,"src":"17997:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$3969_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5266,"indexExpression":{"id":5265,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5251,"src":"18005:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17997:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$3969_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5267,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18008:10:4","memberName":"logAddress","nodeType":"MemberAccess","referencedDeclaration":3949,"src":"17997:21:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17976:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5269,"nodeType":"ExpressionStatement","src":"17976:42:4"},{"expression":{"id":5278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5270,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5241,"src":"18032:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$3989_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5272,"indexExpression":{"id":5271,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5251,"src":"18037:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18032:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$3989_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5273,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18040:9:4","memberName":"blockHash","nodeType":"MemberAccess","referencedDeclaration":3973,"src":"18032:17:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5274,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5230,"src":"18052:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$3969_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5276,"indexExpression":{"id":5275,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5251,"src":"18060:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18052:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$3969_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5277,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18063:9:4","memberName":"blockHash","nodeType":"MemberAccess","referencedDeclaration":3951,"src":"18052:20:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"18032:40:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5279,"nodeType":"ExpressionStatement","src":"18032:40:4"},{"expression":{"id":5290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5280,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5241,"src":"18086:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$3989_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5282,"indexExpression":{"id":5281,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5251,"src":"18091:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18086:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$3989_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5283,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18094:11:4","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":3975,"src":"18086:19:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"baseExpression":{"id":5285,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5230,"src":"18121:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$3969_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5287,"indexExpression":{"id":5286,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5251,"src":"18129:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18121:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$3969_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5288,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18132:11:4","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":3953,"src":"18121:22:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5284,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5665,"src":"18108:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18108:36:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18086:58:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5291,"nodeType":"ExpressionStatement","src":"18086:58:4"},{"expression":{"id":5300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5292,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5241,"src":"18158:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$3989_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5294,"indexExpression":{"id":5293,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5251,"src":"18163:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18158:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$3989_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5295,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18166:4:4","memberName":"data","nodeType":"MemberAccess","referencedDeclaration":3977,"src":"18158:12:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5296,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5230,"src":"18173:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$3969_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5298,"indexExpression":{"id":5297,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5251,"src":"18181:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18173:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$3969_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5299,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18184:4:4","memberName":"data","nodeType":"MemberAccess","referencedDeclaration":3955,"src":"18173:15:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"18158:30:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5301,"nodeType":"ExpressionStatement","src":"18158:30:4"},{"expression":{"id":5312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5302,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5241,"src":"18202:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$3989_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5304,"indexExpression":{"id":5303,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5251,"src":"18207:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18202:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$3989_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5305,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18210:8:4","memberName":"logIndex","nodeType":"MemberAccess","referencedDeclaration":3979,"src":"18202:16:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"baseExpression":{"id":5307,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5230,"src":"18234:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$3969_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5309,"indexExpression":{"id":5308,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5251,"src":"18242:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18234:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$3969_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5310,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18245:8:4","memberName":"logIndex","nodeType":"MemberAccess","referencedDeclaration":3957,"src":"18234:19:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5306,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5665,"src":"18221:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18221:33:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18202:52:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5313,"nodeType":"ExpressionStatement","src":"18202:52:4"},{"expression":{"id":5322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5314,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5241,"src":"18268:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$3989_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5316,"indexExpression":{"id":5315,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5251,"src":"18273:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18268:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$3989_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5317,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18276:6:4","memberName":"topics","nodeType":"MemberAccess","referencedDeclaration":3982,"src":"18268:14:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5318,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5230,"src":"18285:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$3969_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5320,"indexExpression":{"id":5319,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5251,"src":"18293:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18285:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$3969_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18296:6:4","memberName":"topics","nodeType":"MemberAccess","referencedDeclaration":3962,"src":"18285:17:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"src":"18268:34:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":5323,"nodeType":"ExpressionStatement","src":"18268:34:4"},{"expression":{"id":5334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5324,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5241,"src":"18316:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$3989_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5326,"indexExpression":{"id":5325,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5251,"src":"18321:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18316:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$3989_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5327,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18324:16:4","memberName":"transactionIndex","nodeType":"MemberAccess","referencedDeclaration":3984,"src":"18316:24:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"baseExpression":{"id":5329,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5230,"src":"18356:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$3969_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5331,"indexExpression":{"id":5330,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5251,"src":"18364:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18356:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$3969_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5332,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18367:16:4","memberName":"transactionIndex","nodeType":"MemberAccess","referencedDeclaration":3966,"src":"18356:27:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5328,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5665,"src":"18343:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18343:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18316:68:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5335,"nodeType":"ExpressionStatement","src":"18316:68:4"},{"expression":{"id":5346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5336,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5241,"src":"18398:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$3989_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5338,"indexExpression":{"id":5337,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5251,"src":"18403:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18398:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$3989_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5339,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18406:19:4","memberName":"transactionLogIndex","nodeType":"MemberAccess","referencedDeclaration":3986,"src":"18398:27:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"baseExpression":{"id":5341,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5230,"src":"18441:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$3969_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5343,"indexExpression":{"id":5342,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5251,"src":"18449:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18441:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$3969_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5344,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18452:19:4","memberName":"transactionLogIndex","nodeType":"MemberAccess","referencedDeclaration":3968,"src":"18441:30:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5340,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5665,"src":"18428:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18428:44:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18398:74:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5347,"nodeType":"ExpressionStatement","src":"18398:74:4"},{"expression":{"id":5356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5348,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5241,"src":"18486:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$3989_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5350,"indexExpression":{"id":5349,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5251,"src":"18491:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18486:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$3989_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5351,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18494:7:4","memberName":"removed","nodeType":"MemberAccess","referencedDeclaration":3988,"src":"18486:15:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5352,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5230,"src":"18504:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$3969_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5354,"indexExpression":{"id":5353,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5251,"src":"18512:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18504:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$3969_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5355,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18515:7:4","memberName":"removed","nodeType":"MemberAccess","referencedDeclaration":3959,"src":"18504:18:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18486:36:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5357,"nodeType":"ExpressionStatement","src":"18486:36:4"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5253,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5251,"src":"17937:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":5254,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5230,"src":"17941:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$3969_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17949:6:4","memberName":"length","nodeType":"MemberAccess","src":"17941:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17937:18:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5359,"initializationExpression":{"assignments":[5251],"declarations":[{"constant":false,"id":5251,"mutability":"mutable","name":"i","nameLocation":"17934:1:4","nodeType":"VariableDeclaration","scope":5359,"src":"17926:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5250,"name":"uint256","nodeType":"ElementaryTypeName","src":"17926:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5252,"nodeType":"VariableDeclarationStatement","src":"17926:9:4"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":5258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"17957:3:4","subExpression":{"id":5257,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5251,"src":"17957:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5259,"nodeType":"ExpressionStatement","src":"17957:3:4"},"nodeType":"ForStatement","src":"17921:612:4"},{"expression":{"id":5360,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5241,"src":"18549:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$3989_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"functionReturnParameters":5236,"id":5361,"nodeType":"Return","src":"18542:11:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedReceiptLogs","nameLocation":"17696:25:4","parameters":{"id":5231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5230,"mutability":"mutable","name":"rawLogs","nameLocation":"17745:7:4","nodeType":"VariableDeclaration","scope":5363,"src":"17722:30:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$3969_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog[]"},"typeName":{"baseType":{"id":5228,"nodeType":"UserDefinedTypeName","pathNode":{"id":5227,"name":"RawReceiptLog","nameLocations":["17722:13:4"],"nodeType":"IdentifierPath","referencedDeclaration":3969,"src":"17722:13:4"},"referencedDeclaration":3969,"src":"17722:13:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$3969_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog"}},"id":5229,"nodeType":"ArrayTypeName","src":"17722:15:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$3969_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog[]"}},"visibility":"internal"}],"src":"17721:32:4"},"returnParameters":{"id":5236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5235,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5363,"src":"17817:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$3989_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"},"typeName":{"baseType":{"id":5233,"nodeType":"UserDefinedTypeName","pathNode":{"id":5232,"name":"ReceiptLog","nameLocations":["17817:10:4"],"nodeType":"IdentifierPath","referencedDeclaration":3989,"src":"17817:10:4"},"referencedDeclaration":3989,"src":"17817:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$3989_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog"}},"id":5234,"nodeType":"ArrayTypeName","src":"17817:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$3989_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"}},"visibility":"internal"}],"src":"17816:21:4"},"scope":5773,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5395,"nodeType":"FunctionDefinition","src":"18720:416:4","nodes":[],"body":{"id":5394,"nodeType":"Block","src":"18819:317:4","nodes":[],"statements":[{"assignments":[5373],"declarations":[{"constant":false,"id":5373,"mutability":"mutable","name":"bytecode","nameLocation":"18842:8:4","nodeType":"VariableDeclaration","scope":5394,"src":"18829:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5372,"name":"bytes","nodeType":"ElementaryTypeName","src":"18829:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5382,"initialValue":{"arguments":[{"arguments":[{"id":5378,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5365,"src":"18881:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5376,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"18870:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18873:7:4","memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":14222,"src":"18870:10:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) view external returns (bytes memory)"}},"id":5379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18870:16:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":5380,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5367,"src":"18888:4:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5374,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18853:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5375,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18857:12:4","memberName":"encodePacked","nodeType":"MemberAccess","src":"18853:16:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18853:40:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18829:64:4"},{"AST":{"nativeSrc":"18955:79:4","nodeType":"YulBlock","src":"18955:79:4","statements":[{"nativeSrc":"18969:55:4","nodeType":"YulAssignment","src":"18969:55:4","value":{"arguments":[{"kind":"number","nativeSrc":"18984:1:4","nodeType":"YulLiteral","src":"18984:1:4","type":"","value":"0"},{"arguments":[{"name":"bytecode","nativeSrc":"18991:8:4","nodeType":"YulIdentifier","src":"18991:8:4"},{"kind":"number","nativeSrc":"19001:4:4","nodeType":"YulLiteral","src":"19001:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"18987:3:4","nodeType":"YulIdentifier","src":"18987:3:4"},"nativeSrc":"18987:19:4","nodeType":"YulFunctionCall","src":"18987:19:4"},{"arguments":[{"name":"bytecode","nativeSrc":"19014:8:4","nodeType":"YulIdentifier","src":"19014:8:4"}],"functionName":{"name":"mload","nativeSrc":"19008:5:4","nodeType":"YulIdentifier","src":"19008:5:4"},"nativeSrc":"19008:15:4","nodeType":"YulFunctionCall","src":"19008:15:4"}],"functionName":{"name":"create","nativeSrc":"18977:6:4","nodeType":"YulIdentifier","src":"18977:6:4"},"nativeSrc":"18977:47:4","nodeType":"YulFunctionCall","src":"18977:47:4"},"variableNames":[{"name":"addr","nativeSrc":"18969:4:4","nodeType":"YulIdentifier","src":"18969:4:4"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":5370,"isOffset":false,"isSlot":false,"src":"18969:4:4","valueSize":1},{"declaration":5373,"isOffset":false,"isSlot":false,"src":"18991:8:4","valueSize":1},{"declaration":5373,"isOffset":false,"isSlot":false,"src":"19014:8:4","valueSize":1}],"id":5383,"nodeType":"InlineAssembly","src":"18946:88:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5385,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5370,"src":"19052:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19068:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19060:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5386,"name":"address","nodeType":"ElementaryTypeName","src":"19060:7:4","typeDescriptions":{}}},"id":5389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19060:10:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19052:18:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f646528737472696e672c6279746573293a204465706c6f796d656e74206661696c65642e","id":5391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19072:56:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_a8fe98dd1d450e91397ea844d0b9cef01528a963df7b8ac4b93b8aa3ef69cfce","typeString":"literal_string \"StdCheats deployCode(string,bytes): Deployment failed.\""},"value":"StdCheats deployCode(string,bytes): Deployment failed."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a8fe98dd1d450e91397ea844d0b9cef01528a963df7b8ac4b93b8aa3ef69cfce","typeString":"literal_string \"StdCheats deployCode(string,bytes): Deployment failed.\""}],"id":5384,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"19044:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19044:85:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5393,"nodeType":"ExpressionStatement","src":"19044:85:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"18729:10:4","parameters":{"id":5368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5365,"mutability":"mutable","name":"what","nameLocation":"18754:4:4","nodeType":"VariableDeclaration","scope":5395,"src":"18740:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5364,"name":"string","nodeType":"ElementaryTypeName","src":"18740:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5367,"mutability":"mutable","name":"args","nameLocation":"18773:4:4","nodeType":"VariableDeclaration","scope":5395,"src":"18760:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5366,"name":"bytes","nodeType":"ElementaryTypeName","src":"18760:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"18739:39:4"},"returnParameters":{"id":5371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5370,"mutability":"mutable","name":"addr","nameLocation":"18813:4:4","nodeType":"VariableDeclaration","scope":5395,"src":"18805:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5369,"name":"address","nodeType":"ElementaryTypeName","src":"18805:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18804:14:4"},"scope":5773,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5421,"nodeType":"FunctionDefinition","src":"19142:367:4","nodes":[],"body":{"id":5420,"nodeType":"Block","src":"19222:287:4","nodes":[],"statements":[{"assignments":[5403],"declarations":[{"constant":false,"id":5403,"mutability":"mutable","name":"bytecode","nameLocation":"19245:8:4","nodeType":"VariableDeclaration","scope":5420,"src":"19232:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5402,"name":"bytes","nodeType":"ElementaryTypeName","src":"19232:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5408,"initialValue":{"arguments":[{"id":5406,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5397,"src":"19267:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5404,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"19256:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19259:7:4","memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":14222,"src":"19256:10:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) view external returns (bytes memory)"}},"id":5407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19256:16:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"19232:40:4"},{"AST":{"nativeSrc":"19334:79:4","nodeType":"YulBlock","src":"19334:79:4","statements":[{"nativeSrc":"19348:55:4","nodeType":"YulAssignment","src":"19348:55:4","value":{"arguments":[{"kind":"number","nativeSrc":"19363:1:4","nodeType":"YulLiteral","src":"19363:1:4","type":"","value":"0"},{"arguments":[{"name":"bytecode","nativeSrc":"19370:8:4","nodeType":"YulIdentifier","src":"19370:8:4"},{"kind":"number","nativeSrc":"19380:4:4","nodeType":"YulLiteral","src":"19380:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"19366:3:4","nodeType":"YulIdentifier","src":"19366:3:4"},"nativeSrc":"19366:19:4","nodeType":"YulFunctionCall","src":"19366:19:4"},{"arguments":[{"name":"bytecode","nativeSrc":"19393:8:4","nodeType":"YulIdentifier","src":"19393:8:4"}],"functionName":{"name":"mload","nativeSrc":"19387:5:4","nodeType":"YulIdentifier","src":"19387:5:4"},"nativeSrc":"19387:15:4","nodeType":"YulFunctionCall","src":"19387:15:4"}],"functionName":{"name":"create","nativeSrc":"19356:6:4","nodeType":"YulIdentifier","src":"19356:6:4"},"nativeSrc":"19356:47:4","nodeType":"YulFunctionCall","src":"19356:47:4"},"variableNames":[{"name":"addr","nativeSrc":"19348:4:4","nodeType":"YulIdentifier","src":"19348:4:4"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":5400,"isOffset":false,"isSlot":false,"src":"19348:4:4","valueSize":1},{"declaration":5403,"isOffset":false,"isSlot":false,"src":"19370:8:4","valueSize":1},{"declaration":5403,"isOffset":false,"isSlot":false,"src":"19393:8:4","valueSize":1}],"id":5409,"nodeType":"InlineAssembly","src":"19325:88:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5411,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5400,"src":"19431:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19447:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19439:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5412,"name":"address","nodeType":"ElementaryTypeName","src":"19439:7:4","typeDescriptions":{}}},"id":5415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19439:10:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19431:18:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f646528737472696e67293a204465706c6f796d656e74206661696c65642e","id":5417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19451:50:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_f6ca2d254da27f2f7b444314e77be236e782a4d81876827dbe8fe7dcea90b371","typeString":"literal_string \"StdCheats deployCode(string): Deployment failed.\""},"value":"StdCheats deployCode(string): Deployment failed."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f6ca2d254da27f2f7b444314e77be236e782a4d81876827dbe8fe7dcea90b371","typeString":"literal_string \"StdCheats deployCode(string): Deployment failed.\""}],"id":5410,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"19423:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19423:79:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5419,"nodeType":"ExpressionStatement","src":"19423:79:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"19151:10:4","parameters":{"id":5398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5397,"mutability":"mutable","name":"what","nameLocation":"19176:4:4","nodeType":"VariableDeclaration","scope":5421,"src":"19162:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5396,"name":"string","nodeType":"ElementaryTypeName","src":"19162:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19161:20:4"},"returnParameters":{"id":5401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5400,"mutability":"mutable","name":"addr","nameLocation":"19216:4:4","nodeType":"VariableDeclaration","scope":5421,"src":"19208:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5399,"name":"address","nodeType":"ElementaryTypeName","src":"19208:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19207:14:4"},"scope":5773,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5456,"nodeType":"FunctionDefinition","src":"19571:439:4","nodes":[],"body":{"id":5455,"nodeType":"Block","src":"19683:327:4","nodes":[],"statements":[{"assignments":[5434],"declarations":[{"constant":false,"id":5434,"mutability":"mutable","name":"bytecode","nameLocation":"19706:8:4","nodeType":"VariableDeclaration","scope":5455,"src":"19693:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5433,"name":"bytes","nodeType":"ElementaryTypeName","src":"19693:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5443,"initialValue":{"arguments":[{"arguments":[{"id":5439,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5424,"src":"19745:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5437,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"19734:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19737:7:4","memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":14222,"src":"19734:10:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) view external returns (bytes memory)"}},"id":5440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19734:16:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":5441,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5426,"src":"19752:4:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5435,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19717:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19721:12:4","memberName":"encodePacked","nodeType":"MemberAccess","src":"19717:16:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19717:40:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"19693:64:4"},{"AST":{"nativeSrc":"19819:81:4","nodeType":"YulBlock","src":"19819:81:4","statements":[{"nativeSrc":"19833:57:4","nodeType":"YulAssignment","src":"19833:57:4","value":{"arguments":[{"name":"val","nativeSrc":"19848:3:4","nodeType":"YulIdentifier","src":"19848:3:4"},{"arguments":[{"name":"bytecode","nativeSrc":"19857:8:4","nodeType":"YulIdentifier","src":"19857:8:4"},{"kind":"number","nativeSrc":"19867:4:4","nodeType":"YulLiteral","src":"19867:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"19853:3:4","nodeType":"YulIdentifier","src":"19853:3:4"},"nativeSrc":"19853:19:4","nodeType":"YulFunctionCall","src":"19853:19:4"},{"arguments":[{"name":"bytecode","nativeSrc":"19880:8:4","nodeType":"YulIdentifier","src":"19880:8:4"}],"functionName":{"name":"mload","nativeSrc":"19874:5:4","nodeType":"YulIdentifier","src":"19874:5:4"},"nativeSrc":"19874:15:4","nodeType":"YulFunctionCall","src":"19874:15:4"}],"functionName":{"name":"create","nativeSrc":"19841:6:4","nodeType":"YulIdentifier","src":"19841:6:4"},"nativeSrc":"19841:49:4","nodeType":"YulFunctionCall","src":"19841:49:4"},"variableNames":[{"name":"addr","nativeSrc":"19833:4:4","nodeType":"YulIdentifier","src":"19833:4:4"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":5431,"isOffset":false,"isSlot":false,"src":"19833:4:4","valueSize":1},{"declaration":5434,"isOffset":false,"isSlot":false,"src":"19857:8:4","valueSize":1},{"declaration":5434,"isOffset":false,"isSlot":false,"src":"19880:8:4","valueSize":1},{"declaration":5428,"isOffset":false,"isSlot":false,"src":"19848:3:4","valueSize":1}],"id":5444,"nodeType":"InlineAssembly","src":"19810:90:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5446,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5431,"src":"19918:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19934:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5448,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19926:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5447,"name":"address","nodeType":"ElementaryTypeName","src":"19926:7:4","typeDescriptions":{}}},"id":5450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19926:10:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19918:18:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f646528737472696e672c62797465732c75696e74323536293a204465706c6f796d656e74206661696c65642e","id":5452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19938:64:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_b17e0074adb88d93215aea54607c780b63b16eef6aef31eb92005d5de3508fa0","typeString":"literal_string \"StdCheats deployCode(string,bytes,uint256): Deployment failed.\""},"value":"StdCheats deployCode(string,bytes,uint256): Deployment failed."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b17e0074adb88d93215aea54607c780b63b16eef6aef31eb92005d5de3508fa0","typeString":"literal_string \"StdCheats deployCode(string,bytes,uint256): Deployment failed.\""}],"id":5445,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"19910:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19910:93:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5454,"nodeType":"ExpressionStatement","src":"19910:93:4"}]},"documentation":{"id":5422,"nodeType":"StructuredDocumentation","src":"19515:51:4","text":"@dev deploy contract with value on construction"},"implemented":true,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"19580:10:4","parameters":{"id":5429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5424,"mutability":"mutable","name":"what","nameLocation":"19605:4:4","nodeType":"VariableDeclaration","scope":5456,"src":"19591:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5423,"name":"string","nodeType":"ElementaryTypeName","src":"19591:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5426,"mutability":"mutable","name":"args","nameLocation":"19624:4:4","nodeType":"VariableDeclaration","scope":5456,"src":"19611:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5425,"name":"bytes","nodeType":"ElementaryTypeName","src":"19611:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":5428,"mutability":"mutable","name":"val","nameLocation":"19638:3:4","nodeType":"VariableDeclaration","scope":5456,"src":"19630:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5427,"name":"uint256","nodeType":"ElementaryTypeName","src":"19630:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19590:52:4"},"returnParameters":{"id":5432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5431,"mutability":"mutable","name":"addr","nameLocation":"19677:4:4","nodeType":"VariableDeclaration","scope":5456,"src":"19669:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5430,"name":"address","nodeType":"ElementaryTypeName","src":"19669:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19668:14:4"},"scope":5773,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5484,"nodeType":"FunctionDefinition","src":"20016:390:4","nodes":[],"body":{"id":5483,"nodeType":"Block","src":"20109:297:4","nodes":[],"statements":[{"assignments":[5466],"declarations":[{"constant":false,"id":5466,"mutability":"mutable","name":"bytecode","nameLocation":"20132:8:4","nodeType":"VariableDeclaration","scope":5483,"src":"20119:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5465,"name":"bytes","nodeType":"ElementaryTypeName","src":"20119:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5471,"initialValue":{"arguments":[{"id":5469,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5458,"src":"20154:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5467,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"20143:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20146:7:4","memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":14222,"src":"20143:10:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) view external returns (bytes memory)"}},"id":5470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20143:16:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"20119:40:4"},{"AST":{"nativeSrc":"20221:81:4","nodeType":"YulBlock","src":"20221:81:4","statements":[{"nativeSrc":"20235:57:4","nodeType":"YulAssignment","src":"20235:57:4","value":{"arguments":[{"name":"val","nativeSrc":"20250:3:4","nodeType":"YulIdentifier","src":"20250:3:4"},{"arguments":[{"name":"bytecode","nativeSrc":"20259:8:4","nodeType":"YulIdentifier","src":"20259:8:4"},{"kind":"number","nativeSrc":"20269:4:4","nodeType":"YulLiteral","src":"20269:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"20255:3:4","nodeType":"YulIdentifier","src":"20255:3:4"},"nativeSrc":"20255:19:4","nodeType":"YulFunctionCall","src":"20255:19:4"},{"arguments":[{"name":"bytecode","nativeSrc":"20282:8:4","nodeType":"YulIdentifier","src":"20282:8:4"}],"functionName":{"name":"mload","nativeSrc":"20276:5:4","nodeType":"YulIdentifier","src":"20276:5:4"},"nativeSrc":"20276:15:4","nodeType":"YulFunctionCall","src":"20276:15:4"}],"functionName":{"name":"create","nativeSrc":"20243:6:4","nodeType":"YulIdentifier","src":"20243:6:4"},"nativeSrc":"20243:49:4","nodeType":"YulFunctionCall","src":"20243:49:4"},"variableNames":[{"name":"addr","nativeSrc":"20235:4:4","nodeType":"YulIdentifier","src":"20235:4:4"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":5463,"isOffset":false,"isSlot":false,"src":"20235:4:4","valueSize":1},{"declaration":5466,"isOffset":false,"isSlot":false,"src":"20259:8:4","valueSize":1},{"declaration":5466,"isOffset":false,"isSlot":false,"src":"20282:8:4","valueSize":1},{"declaration":5460,"isOffset":false,"isSlot":false,"src":"20250:3:4","valueSize":1}],"id":5472,"nodeType":"InlineAssembly","src":"20212:90:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5474,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5463,"src":"20320:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20336:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5476,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20328:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5475,"name":"address","nodeType":"ElementaryTypeName","src":"20328:7:4","typeDescriptions":{}}},"id":5478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20328:10:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20320:18:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f646528737472696e672c75696e74323536293a204465706c6f796d656e74206661696c65642e","id":5480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20340:58:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_cea3fb8155c56e1e84c027eaf19b7f987ed52f1b7ae1ee8bed46141b7ecf08d2","typeString":"literal_string \"StdCheats deployCode(string,uint256): Deployment failed.\""},"value":"StdCheats deployCode(string,uint256): Deployment failed."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cea3fb8155c56e1e84c027eaf19b7f987ed52f1b7ae1ee8bed46141b7ecf08d2","typeString":"literal_string \"StdCheats deployCode(string,uint256): Deployment failed.\""}],"id":5473,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"20312:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20312:87:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5482,"nodeType":"ExpressionStatement","src":"20312:87:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"20025:10:4","parameters":{"id":5461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5458,"mutability":"mutable","name":"what","nameLocation":"20050:4:4","nodeType":"VariableDeclaration","scope":5484,"src":"20036:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5457,"name":"string","nodeType":"ElementaryTypeName","src":"20036:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5460,"mutability":"mutable","name":"val","nameLocation":"20064:3:4","nodeType":"VariableDeclaration","scope":5484,"src":"20056:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5459,"name":"uint256","nodeType":"ElementaryTypeName","src":"20056:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20035:33:4"},"returnParameters":{"id":5464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5463,"mutability":"mutable","name":"addr","nameLocation":"20103:4:4","nodeType":"VariableDeclaration","scope":5484,"src":"20095:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5462,"name":"address","nodeType":"ElementaryTypeName","src":"20095:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20094:14:4"},"scope":5773,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5520,"nodeType":"FunctionDefinition","src":"20479:242:4","nodes":[],"body":{"id":5519,"nodeType":"Block","src":"20583:138:4","nodes":[],"statements":[{"expression":{"id":5503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5493,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5491,"src":"20593:10:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":5499,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5486,"src":"20641:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5497,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20624:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5498,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20628:12:4","memberName":"encodePacked","nodeType":"MemberAccess","src":"20624:16:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20624:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5496,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"20614:9:4","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":5501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20614:33:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20606:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5494,"name":"uint256","nodeType":"ElementaryTypeName","src":"20606:7:4","typeDescriptions":{}}},"id":5502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20606:42:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20593:55:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5504,"nodeType":"ExpressionStatement","src":"20593:55:4"},{"expression":{"id":5510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5505,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5489,"src":"20658:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5508,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5491,"src":"20673:10:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5506,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"20665:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20668:4:4","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":13820,"src":"20665:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure external returns (address)"}},"id":5509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20665:19:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20658:26:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5511,"nodeType":"ExpressionStatement","src":"20658:26:4"},{"expression":{"arguments":[{"id":5515,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5489,"src":"20703:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5516,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5486,"src":"20709:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5512,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"20694:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20697:5:4","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":16785,"src":"20694:8:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":5517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20694:20:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5518,"nodeType":"ExpressionStatement","src":"20694:20:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"makeAddrAndKey","nameLocation":"20488:14:4","parameters":{"id":5487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5486,"mutability":"mutable","name":"name","nameLocation":"20517:4:4","nodeType":"VariableDeclaration","scope":5520,"src":"20503:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5485,"name":"string","nodeType":"ElementaryTypeName","src":"20503:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20502:20:4"},"returnParameters":{"id":5492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5489,"mutability":"mutable","name":"addr","nameLocation":"20557:4:4","nodeType":"VariableDeclaration","scope":5520,"src":"20549:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5488,"name":"address","nodeType":"ElementaryTypeName","src":"20549:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5491,"mutability":"mutable","name":"privateKey","nameLocation":"20571:10:4","nodeType":"VariableDeclaration","scope":5520,"src":"20563:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5490,"name":"uint256","nodeType":"ElementaryTypeName","src":"20563:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20548:34:4"},"scope":5773,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5535,"nodeType":"FunctionDefinition","src":"20760:125:4","nodes":[],"body":{"id":5534,"nodeType":"Block","src":"20838:47:4","nodes":[],"statements":[{"expression":{"id":5532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":5527,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5525,"src":"20849:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},null],"id":5528,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"20848:7:4","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$__$","typeString":"tuple(address,)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5530,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5522,"src":"20873:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":5529,"name":"makeAddrAndKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5520,"src":"20858:14:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$_t_uint256_$","typeString":"function (string memory) returns (address,uint256)"}},"id":5531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20858:20:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint256_$","typeString":"tuple(address,uint256)"}},"src":"20848:30:4","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5533,"nodeType":"ExpressionStatement","src":"20848:30:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"makeAddr","nameLocation":"20769:8:4","parameters":{"id":5523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5522,"mutability":"mutable","name":"name","nameLocation":"20792:4:4","nodeType":"VariableDeclaration","scope":5535,"src":"20778:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5521,"name":"string","nodeType":"ElementaryTypeName","src":"20778:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20777:20:4"},"returnParameters":{"id":5526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5525,"mutability":"mutable","name":"addr","nameLocation":"20832:4:4","nodeType":"VariableDeclaration","scope":5535,"src":"20824:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5524,"name":"address","nodeType":"ElementaryTypeName","src":"20824:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20823:14:4"},"scope":5773,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5584,"nodeType":"FunctionDefinition","src":"21203:337:4","nodes":[],"body":{"id":5583,"nodeType":"Block","src":"21278:262:4","nodes":[],"statements":[{"assignments":[5543],"declarations":[{"constant":false,"id":5543,"mutability":"mutable","name":"currBalance","nameLocation":"21296:11:4","nodeType":"VariableDeclaration","scope":5583,"src":"21288:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5542,"name":"uint256","nodeType":"ElementaryTypeName","src":"21288:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5546,"initialValue":{"expression":{"id":5544,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5537,"src":"21310:3:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21314:7:4","memberName":"balance","nodeType":"MemberAccess","src":"21310:11:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21288:33:4"},{"expression":{"arguments":[{"id":5550,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5537,"src":"21339:3:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":5551,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21344:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21348:6:4","memberName":"encode","nodeType":"MemberAccess","src":"21344:10:4","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21344:12:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5547,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"21331:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21334:4:4","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17100,"src":"21331:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":5554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21331:26:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5555,"nodeType":"ExpressionStatement","src":"21331:26:4"},{"expression":{"arguments":[{"id":5559,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5537,"src":"21375:3:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":5560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21380:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":5556,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"21367:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21370:4:4","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17068,"src":"21367:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21367:15:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5562,"nodeType":"ExpressionStatement","src":"21367:15:4"},{"expression":{"arguments":[{"id":5566,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5537,"src":"21406:3:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5563,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"21392:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21395:10:4","memberName":"resetNonce","nodeType":"MemberAccess","referencedDeclaration":17345,"src":"21392:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21392:18:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5568,"nodeType":"ExpressionStatement","src":"21392:18:4"},{"assignments":[5570],"declarations":[{"constant":false,"id":5570,"mutability":"mutable","name":"beneficiaryBalance","nameLocation":"21429:18:4","nodeType":"VariableDeclaration","scope":5583,"src":"21421:26:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5569,"name":"uint256","nodeType":"ElementaryTypeName","src":"21421:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5573,"initialValue":{"expression":{"id":5571,"name":"beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5539,"src":"21450:11:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21462:7:4","memberName":"balance","nodeType":"MemberAccess","src":"21450:19:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21421:48:4"},{"expression":{"arguments":[{"id":5577,"name":"beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5539,"src":"21487:11:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5578,"name":"currBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5543,"src":"21500:11:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":5579,"name":"beneficiaryBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5570,"src":"21514:18:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21500:32:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5574,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"21479:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21482:4:4","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17068,"src":"21479:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21479:54:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5582,"nodeType":"ExpressionStatement","src":"21479:54:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"destroyAccount","nameLocation":"21212:14:4","parameters":{"id":5540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5537,"mutability":"mutable","name":"who","nameLocation":"21235:3:4","nodeType":"VariableDeclaration","scope":5584,"src":"21227:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5536,"name":"address","nodeType":"ElementaryTypeName","src":"21227:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5539,"mutability":"mutable","name":"beneficiary","nameLocation":"21248:11:4","nodeType":"VariableDeclaration","scope":5584,"src":"21240:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5538,"name":"address","nodeType":"ElementaryTypeName","src":"21240:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21226:34:4"},"returnParameters":{"id":5541,"nodeType":"ParameterList","parameters":[],"src":"21278:0:4"},"scope":5773,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5604,"nodeType":"FunctionDefinition","src":"21638:158:4","nodes":[],"body":{"id":5603,"nodeType":"Block","src":"21729:67:4","nodes":[],"statements":[{"expression":{"id":5601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"expression":{"id":5592,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"21740:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Account_$3999_memory_ptr","typeString":"struct StdCheatsSafe.Account memory"}},"id":5594,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21748:4:4","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":3996,"src":"21740:12:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":5595,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"21754:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Account_$3999_memory_ptr","typeString":"struct StdCheatsSafe.Account memory"}},"id":5596,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21762:3:4","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":3998,"src":"21754:11:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":5597,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"21739:27:4","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint256_$","typeString":"tuple(address,uint256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5599,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5586,"src":"21784:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":5598,"name":"makeAddrAndKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5520,"src":"21769:14:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$_t_uint256_$","typeString":"function (string memory) returns (address,uint256)"}},"id":5600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21769:20:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint256_$","typeString":"tuple(address,uint256)"}},"src":"21739:50:4","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5602,"nodeType":"ExpressionStatement","src":"21739:50:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"makeAccount","nameLocation":"21647:11:4","parameters":{"id":5587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5586,"mutability":"mutable","name":"name","nameLocation":"21673:4:4","nodeType":"VariableDeclaration","scope":5604,"src":"21659:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5585,"name":"string","nodeType":"ElementaryTypeName","src":"21659:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21658:20:4"},"returnParameters":{"id":5591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5590,"mutability":"mutable","name":"account","nameLocation":"21720:7:4","nodeType":"VariableDeclaration","scope":5604,"src":"21705:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Account_$3999_memory_ptr","typeString":"struct StdCheatsSafe.Account"},"typeName":{"id":5589,"nodeType":"UserDefinedTypeName","pathNode":{"id":5588,"name":"Account","nameLocations":["21705:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":3999,"src":"21705:7:4"},"referencedDeclaration":3999,"src":"21705:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Account_$3999_storage_ptr","typeString":"struct StdCheatsSafe.Account"}},"visibility":"internal"}],"src":"21704:24:4"},"scope":5773,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5631,"nodeType":"FunctionDefinition","src":"21802:253:4","nodes":[],"body":{"id":5630,"nodeType":"Block","src":"21954:101:4","nodes":[],"statements":[{"expression":{"id":5621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5615,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5613,"src":"21964:10:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5618,"name":"mnemonic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5606,"src":"21990:8:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":5619,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5608,"src":"22000:5:4","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint32","typeString":"uint32"}],"expression":{"id":5616,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"21977:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21980:9:4","memberName":"deriveKey","nodeType":"MemberAccess","referencedDeclaration":13276,"src":"21977:12:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_uint32_$returns$_t_uint256_$","typeString":"function (string memory,uint32) pure external returns (uint256)"}},"id":5620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21977:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21964:42:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5622,"nodeType":"ExpressionStatement","src":"21964:42:4"},{"expression":{"id":5628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5623,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5611,"src":"22016:3:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5626,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5613,"src":"22037:10:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5624,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"22022:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22025:11:4","memberName":"rememberKey","nodeType":"MemberAccess","referencedDeclaration":13332,"src":"22022:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) external returns (address)"}},"id":5627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22022:26:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22016:32:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5629,"nodeType":"ExpressionStatement","src":"22016:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deriveRememberKey","nameLocation":"21811:17:4","parameters":{"id":5609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5606,"mutability":"mutable","name":"mnemonic","nameLocation":"21843:8:4","nodeType":"VariableDeclaration","scope":5631,"src":"21829:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5605,"name":"string","nodeType":"ElementaryTypeName","src":"21829:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5608,"mutability":"mutable","name":"index","nameLocation":"21860:5:4","nodeType":"VariableDeclaration","scope":5631,"src":"21853:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":5607,"name":"uint32","nodeType":"ElementaryTypeName","src":"21853:6:4","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"21828:38:4"},"returnParameters":{"id":5614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5611,"mutability":"mutable","name":"who","nameLocation":"21925:3:4","nodeType":"VariableDeclaration","scope":5631,"src":"21917:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5610,"name":"address","nodeType":"ElementaryTypeName","src":"21917:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5613,"mutability":"mutable","name":"privateKey","nameLocation":"21938:10:4","nodeType":"VariableDeclaration","scope":5631,"src":"21930:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5612,"name":"uint256","nodeType":"ElementaryTypeName","src":"21930:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21916:33:4"},"scope":5773,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5665,"nodeType":"FunctionDefinition","src":"22061:253:4","nodes":[],"body":{"id":5664,"nodeType":"Block","src":"22130:184:4","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5639,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5633,"src":"22148:1:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22150:6:4","memberName":"length","nodeType":"MemberAccess","src":"22148:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"3332","id":5641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22160:2:4","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"22148:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473205f6279746573546f55696e74286279746573293a204279746573206c656e67746820657863656564732033322e","id":5643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22164:57:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_b4b692fb570df93e970ec8540fb3e2b3774022687951840fb5414e81f7899b71","typeString":"literal_string \"StdCheats _bytesToUint(bytes): Bytes length exceeds 32.\""},"value":"StdCheats _bytesToUint(bytes): Bytes length exceeds 32."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b4b692fb570df93e970ec8540fb3e2b3774022687951840fb5414e81f7899b71","typeString":"literal_string \"StdCheats _bytesToUint(bytes): Bytes length exceeds 32.\""}],"id":5638,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"22140:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22140:82:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5645,"nodeType":"ExpressionStatement","src":"22140:82:4"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":5652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22277:2:4","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":5653,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5633,"src":"22282:1:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22284:6:4","memberName":"length","nodeType":"MemberAccess","src":"22282:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22277:13:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5651,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"22267:9:4","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":5650,"name":"bytes","nodeType":"ElementaryTypeName","src":"22271:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":5656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22267:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":5657,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5633,"src":"22293:1:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5648,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22250:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5649,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22254:12:4","memberName":"encodePacked","nodeType":"MemberAccess","src":"22250:16:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22250:45:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":5660,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22298:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5659,"name":"uint256","nodeType":"ElementaryTypeName","src":"22298:7:4","typeDescriptions":{}}}],"id":5661,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22297:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":5646,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22239:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5647,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22243:6:4","memberName":"decode","nodeType":"MemberAccess","src":"22239:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22239:68:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":5637,"id":5663,"nodeType":"Return","src":"22232:75:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_bytesToUint","nameLocation":"22070:12:4","parameters":{"id":5634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5633,"mutability":"mutable","name":"b","nameLocation":"22096:1:4","nodeType":"VariableDeclaration","scope":5665,"src":"22083:14:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5632,"name":"bytes","nodeType":"ElementaryTypeName","src":"22083:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22082:16:4"},"returnParameters":{"id":5637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5636,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5665,"src":"22121:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5635,"name":"uint256","nodeType":"ElementaryTypeName","src":"22121:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22120:9:4"},"scope":5773,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":5686,"nodeType":"FunctionDefinition","src":"22320:160:4","nodes":[],"body":{"id":5685,"nodeType":"Block","src":"22382:98:4","nodes":[],"statements":[{"clauses":[{"block":{"id":5677,"nodeType":"Block","src":"22412:38:4","statements":[{"expression":{"id":5675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5673,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5668,"src":"22426:6:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":5674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"22435:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"22426:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5676,"nodeType":"ExpressionStatement","src":"22426:13:4"}]},"errorName":"","id":5678,"nodeType":"TryCatchClause","src":"22412:38:4"},{"block":{"id":5682,"nodeType":"Block","src":"22472:2:4","statements":[]},"errorName":"","id":5683,"nodeType":"TryCatchClause","parameters":{"id":5681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5680,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5683,"src":"22458:12:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5679,"name":"bytes","nodeType":"ElementaryTypeName","src":"22458:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22457:14:4"},"src":"22451:23:4"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":5670,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"22396:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22399:10:4","memberName":"activeFork","nodeType":"MemberAccess","referencedDeclaration":16947,"src":"22396:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":5672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22396:15:4","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5684,"nodeType":"TryStatement","src":"22392:82:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"isFork","nameLocation":"22329:6:4","parameters":{"id":5666,"nodeType":"ParameterList","parameters":[],"src":"22335:2:4"},"returnParameters":{"id":5669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5668,"mutability":"mutable","name":"status","nameLocation":"22374:6:4","nodeType":"VariableDeclaration","scope":5686,"src":"22369:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5667,"name":"bool","nodeType":"ElementaryTypeName","src":"22369:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22368:13:4"},"scope":5773,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":5695,"nodeType":"ModifierDefinition","src":"22486:84:4","nodes":[],"body":{"id":5694,"nodeType":"Block","src":"22513:57:4","nodes":[],"statements":[{"condition":{"id":5690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22527:9:4","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":5688,"name":"isFork","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5686,"src":"22528:6:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":5689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22528:8:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5693,"nodeType":"IfStatement","src":"22523:41:4","trueBody":{"id":5692,"nodeType":"Block","src":"22538:26:4","statements":[{"id":5691,"nodeType":"PlaceholderStatement","src":"22552:1:4"}]}}]},"name":"skipWhenForking","nameLocation":"22495:15:4","parameters":{"id":5687,"nodeType":"ParameterList","parameters":[],"src":"22510:2:4"},"virtual":false,"visibility":"internal"},{"id":5703,"nodeType":"ModifierDefinition","src":"22576:86:4","nodes":[],"body":{"id":5702,"nodeType":"Block","src":"22606:56:4","nodes":[],"statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"id":5697,"name":"isFork","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5686,"src":"22620:6:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":5698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22620:8:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5701,"nodeType":"IfStatement","src":"22616:40:4","trueBody":{"id":5700,"nodeType":"Block","src":"22630:26:4","statements":[{"id":5699,"nodeType":"PlaceholderStatement","src":"22644:1:4"}]}}]},"name":"skipWhenNotForking","nameLocation":"22585:18:4","parameters":{"id":5696,"nodeType":"ParameterList","parameters":[],"src":"22603:2:4"},"virtual":false,"visibility":"internal"},{"id":5733,"nodeType":"ModifierDefinition","src":"22668:884:4","nodes":[],"body":{"id":5732,"nodeType":"Block","src":"22693:859:4","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":5705,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"22703:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22706:16:4","memberName":"pauseGasMetering","nodeType":"MemberAccess","referencedDeclaration":13949,"src":"22703:19:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":5708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22703:21:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5709,"nodeType":"ExpressionStatement","src":"22703:21:4"},{"assignments":[5711],"declarations":[{"constant":false,"id":5711,"mutability":"mutable","name":"gasStartedOff","nameLocation":"23267:13:4","nodeType":"VariableDeclaration","scope":5732,"src":"23262:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5710,"name":"bool","nodeType":"ElementaryTypeName","src":"23262:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":5713,"initialValue":{"id":5712,"name":"gasMeteringOff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3715,"src":"23283:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"23262:35:4"},{"expression":{"id":5716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5714,"name":"gasMeteringOff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3715,"src":"23307:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":5715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23324:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"23307:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5717,"nodeType":"ExpressionStatement","src":"23307:21:4"},{"id":5718,"nodeType":"PlaceholderStatement","src":"23339:1:4"},{"condition":{"id":5720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"23447:14:4","subExpression":{"id":5719,"name":"gasStartedOff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5711,"src":"23448:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5731,"nodeType":"IfStatement","src":"23443:103:4","trueBody":{"id":5730,"nodeType":"Block","src":"23463:83:4","statements":[{"expression":{"id":5723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5721,"name":"gasMeteringOff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3715,"src":"23477:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":5722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23494:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"23477:22:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5724,"nodeType":"ExpressionStatement","src":"23477:22:4"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":5725,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"23513:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23516:17:4","memberName":"resumeGasMetering","nodeType":"MemberAccess","referencedDeclaration":13965,"src":"23513:20:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":5728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23513:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5729,"nodeType":"ExpressionStatement","src":"23513:22:4"}]}}]},"name":"noGasMetering","nameLocation":"22677:13:4","parameters":{"id":5704,"nodeType":"ParameterList","parameters":[],"src":"22690:2:4"},"virtual":false,"visibility":"internal"},{"id":5745,"nodeType":"FunctionDefinition","src":"23916:276:4","nodes":[],"body":{"id":5744,"nodeType":"Block","src":"23979:213:4","nodes":[],"statements":[{"AST":{"nativeSrc":"24074:44:4","nodeType":"YulBlock","src":"24074:44:4","statements":[{"nativeSrc":"24088:20:4","nodeType":"YulAssignment","src":"24088:20:4","value":{"arguments":[],"functionName":{"name":"chainid","nativeSrc":"24099:7:4","nodeType":"YulIdentifier","src":"24099:7:4"},"nativeSrc":"24099:9:4","nodeType":"YulFunctionCall","src":"24099:9:4"},"variableNames":[{"name":"chainId","nativeSrc":"24088:7:4","nodeType":"YulIdentifier","src":"24088:7:4"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":5736,"isOffset":false,"isSlot":false,"src":"24088:7:4","valueSize":1}],"id":5738,"nodeType":"InlineAssembly","src":"24065:53:4"},{"expression":{"arguments":[{"id":5741,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"24136:4:4","typeDescriptions":{"typeIdentifier":"t_contract$_StdCheatsSafe_$5773","typeString":"contract StdCheatsSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_StdCheatsSafe_$5773","typeString":"contract StdCheatsSafe"}],"id":5740,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24128:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5739,"name":"address","nodeType":"ElementaryTypeName","src":"24128:7:4","typeDescriptions":{}}},"id":5742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24128:13:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5743,"nodeType":"ExpressionStatement","src":"24128:13:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_viewChainId","nameLocation":"23925:12:4","parameters":{"id":5734,"nodeType":"ParameterList","parameters":[],"src":"23937:2:4"},"returnParameters":{"id":5737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5736,"mutability":"mutable","name":"chainId","nameLocation":"23970:7:4","nodeType":"VariableDeclaration","scope":5745,"src":"23962:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5735,"name":"uint256","nodeType":"ElementaryTypeName","src":"23962:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23961:17:4"},"scope":5773,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":5772,"nodeType":"FunctionDefinition","src":"24198:300:4","nodes":[],"body":{"id":5771,"nodeType":"Block","src":"24261:237:4","nodes":[],"statements":[{"assignments":[5755],"declarations":[{"constant":false,"id":5755,"mutability":"mutable","name":"fnIn","nameLocation":"24314:4:4","nodeType":"VariableDeclaration","scope":5771,"src":"24271:47:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"typeName":{"id":5754,"nodeType":"FunctionTypeName","parameterTypes":{"id":5750,"nodeType":"ParameterList","parameters":[],"src":"24279:2:4"},"returnParameterTypes":{"id":5753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5752,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5754,"src":"24305:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5751,"name":"uint256","nodeType":"ElementaryTypeName","src":"24305:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24304:9:4"},"src":"24271:47:4","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":5757,"initialValue":{"id":5756,"name":"_viewChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5745,"src":"24321:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"nodeType":"VariableDeclarationStatement","src":"24271:62:4"},{"assignments":[5763],"declarations":[{"constant":false,"id":5763,"mutability":"mutable","name":"pureChainId","nameLocation":"24386:11:4","nodeType":"VariableDeclaration","scope":5771,"src":"24343:54:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"typeName":{"id":5762,"nodeType":"FunctionTypeName","parameterTypes":{"id":5758,"nodeType":"ParameterList","parameters":[],"src":"24351:2:4"},"returnParameterTypes":{"id":5761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5760,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5762,"src":"24377:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5759,"name":"uint256","nodeType":"ElementaryTypeName","src":"24377:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24376:9:4"},"src":"24343:54:4","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":5764,"nodeType":"VariableDeclarationStatement","src":"24343:54:4"},{"AST":{"nativeSrc":"24416:43:4","nodeType":"YulBlock","src":"24416:43:4","statements":[{"nativeSrc":"24430:19:4","nodeType":"YulAssignment","src":"24430:19:4","value":{"name":"fnIn","nativeSrc":"24445:4:4","nodeType":"YulIdentifier","src":"24445:4:4"},"variableNames":[{"name":"pureChainId","nativeSrc":"24430:11:4","nodeType":"YulIdentifier","src":"24430:11:4"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":5755,"isOffset":false,"isSlot":false,"src":"24445:4:4","valueSize":1},{"declaration":5763,"isOffset":false,"isSlot":false,"src":"24430:11:4","valueSize":1}],"id":5765,"nodeType":"InlineAssembly","src":"24407:52:4"},{"expression":{"id":5769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5766,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5748,"src":"24468:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":5767,"name":"pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5763,"src":"24478:11:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":5768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24478:13:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24468:23:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5770,"nodeType":"ExpressionStatement","src":"24468:23:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_pureChainId","nameLocation":"24207:12:4","parameters":{"id":5746,"nodeType":"ParameterList","parameters":[],"src":"24219:2:4"},"returnParameters":{"id":5749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5748,"mutability":"mutable","name":"chainId","nameLocation":"24252:7:4","nodeType":"VariableDeclaration","scope":5772,"src":"24244:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5747,"name":"uint256","nodeType":"ElementaryTypeName","src":"24244:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24243:17:4"},"scope":5773,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":true,"baseContracts":[],"canonicalName":"StdCheatsSafe","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[5773],"name":"StdCheatsSafe","nameLocation":"246:13:4","scope":6569,"usedErrors":[],"usedEvents":[]},{"id":6568,"nodeType":"ContractDefinition","src":"24550:7258:4","nodes":[{"id":5779,"nodeType":"UsingForDirective","src":"24601:32:4","nodes":[],"global":false,"libraryName":{"id":5776,"name":"stdStorage","nameLocations":["24607:10:4"],"nodeType":"IdentifierPath","referencedDeclaration":10050,"src":"24607:10:4"},"typeName":{"id":5778,"nodeType":"UserDefinedTypeName","pathNode":{"id":5777,"name":"StdStorage","nameLocations":["24622:10:4"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"24622:10:4"},"referencedDeclaration":8093,"src":"24622:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}}},{"id":5782,"nodeType":"VariableDeclaration","src":"24639:27:4","nodes":[],"constant":false,"mutability":"mutable","name":"stdstore","nameLocation":"24658:8:4","scope":6568,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage","typeString":"struct StdStorage"},"typeName":{"id":5781,"nodeType":"UserDefinedTypeName","pathNode":{"id":5780,"name":"StdStorage","nameLocations":["24639:10:4"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"24639:10:4"},"referencedDeclaration":8093,"src":"24639:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"private"},{"id":5799,"nodeType":"VariableDeclaration","src":"24672:84:4","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"24692:2:4","scope":6568,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":5784,"nodeType":"UserDefinedTypeName","pathNode":{"id":5783,"name":"Vm","nameLocations":["24672:2:4"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"24672:2:4"},"referencedDeclaration":18001,"src":"24672:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":5793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24734:17:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":5792,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"24724:9:4","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":5794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24724:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5791,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24716:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5790,"name":"uint256","nodeType":"ElementaryTypeName","src":"24716:7:4","typeDescriptions":{}}},"id":5795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24716:37:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5789,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24708:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":5788,"name":"uint160","nodeType":"ElementaryTypeName","src":"24708:7:4","typeDescriptions":{}}},"id":5796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24708:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":5787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24700:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5786,"name":"address","nodeType":"ElementaryTypeName","src":"24700:7:4","typeDescriptions":{}}},"id":5797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24700:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5785,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"24697:2:4","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":5798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24697:59:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"private"},{"id":5802,"nodeType":"VariableDeclaration","src":"24762:86:4","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE2_ADDRESS","nameLocation":"24787:16:4","scope":6568,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5800,"name":"address","nodeType":"ElementaryTypeName","src":"24762:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":5801,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24806:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"private"},{"id":5818,"nodeType":"FunctionDefinition","src":"24925:100:4","nodes":[],"body":{"id":5817,"nodeType":"Block","src":"24970:55:4","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":5810,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"24988:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24991:17:4","memberName":"getBlockTimestamp","nodeType":"MemberAccess","referencedDeclaration":13855,"src":"24988:20:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":5812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24988:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":5813,"name":"time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5804,"src":"25013:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24988:29:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5807,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"24980:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24983:4:4","memberName":"warp","nodeType":"MemberAccess","referencedDeclaration":17598,"src":"24980:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":5815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24980:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5816,"nodeType":"ExpressionStatement","src":"24980:38:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"skip","nameLocation":"24934:4:4","parameters":{"id":5805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5804,"mutability":"mutable","name":"time","nameLocation":"24947:4:4","nodeType":"VariableDeclaration","scope":5818,"src":"24939:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5803,"name":"uint256","nodeType":"ElementaryTypeName","src":"24939:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24938:14:4"},"returnParameters":{"id":5806,"nodeType":"ParameterList","parameters":[],"src":"24970:0:4"},"scope":6568,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5834,"nodeType":"FunctionDefinition","src":"25031:102:4","nodes":[],"body":{"id":5833,"nodeType":"Block","src":"25078:55:4","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":5826,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"25096:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25099:17:4","memberName":"getBlockTimestamp","nodeType":"MemberAccess","referencedDeclaration":13855,"src":"25096:20:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":5828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25096:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":5829,"name":"time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5820,"src":"25121:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25096:29:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5823,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"25088:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25091:4:4","memberName":"warp","nodeType":"MemberAccess","referencedDeclaration":17598,"src":"25088:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":5831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25088:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5832,"nodeType":"ExpressionStatement","src":"25088:38:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rewind","nameLocation":"25040:6:4","parameters":{"id":5821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5820,"mutability":"mutable","name":"time","nameLocation":"25055:4:4","nodeType":"VariableDeclaration","scope":5834,"src":"25047:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5819,"name":"uint256","nodeType":"ElementaryTypeName","src":"25047:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25046:14:4"},"returnParameters":{"id":5822,"nodeType":"ParameterList","parameters":[],"src":"25078:0:4"},"scope":6568,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5855,"nodeType":"FunctionDefinition","src":"25196:124:4","nodes":[],"body":{"id":5854,"nodeType":"Block","src":"25246:74:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5842,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5836,"src":"25264:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":5845,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":5843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25275:1:4","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":5844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25280:3:4","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"25275:8:4","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}],"expression":{"id":5839,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"25256:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25259:4:4","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17068,"src":"25256:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25256:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5847,"nodeType":"ExpressionStatement","src":"25256:28:4"},{"expression":{"arguments":[{"id":5851,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5836,"src":"25303:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5848,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"25294:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25297:5:4","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"25294:8:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25294:19:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5853,"nodeType":"ExpressionStatement","src":"25294:19:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"hoax","nameLocation":"25205:4:4","parameters":{"id":5837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5836,"mutability":"mutable","name":"msgSender","nameLocation":"25218:9:4","nodeType":"VariableDeclaration","scope":5855,"src":"25210:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5835,"name":"address","nodeType":"ElementaryTypeName","src":"25210:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25209:19:4"},"returnParameters":{"id":5838,"nodeType":"ParameterList","parameters":[],"src":"25246:0:4"},"scope":6568,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5876,"nodeType":"FunctionDefinition","src":"25326:134:4","nodes":[],"body":{"id":5875,"nodeType":"Block","src":"25390:70:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5865,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5857,"src":"25408:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5866,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5859,"src":"25419:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5862,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"25400:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25403:4:4","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17068,"src":"25400:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25400:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5868,"nodeType":"ExpressionStatement","src":"25400:24:4"},{"expression":{"arguments":[{"id":5872,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5857,"src":"25443:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5869,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"25434:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25437:5:4","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"25434:8:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25434:19:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5874,"nodeType":"ExpressionStatement","src":"25434:19:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"hoax","nameLocation":"25335:4:4","parameters":{"id":5860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5857,"mutability":"mutable","name":"msgSender","nameLocation":"25348:9:4","nodeType":"VariableDeclaration","scope":5876,"src":"25340:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5856,"name":"address","nodeType":"ElementaryTypeName","src":"25340:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5859,"mutability":"mutable","name":"give","nameLocation":"25367:4:4","nodeType":"VariableDeclaration","scope":5876,"src":"25359:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5858,"name":"uint256","nodeType":"ElementaryTypeName","src":"25359:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25339:33:4"},"returnParameters":{"id":5861,"nodeType":"ParameterList","parameters":[],"src":"25390:0:4"},"scope":6568,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5900,"nodeType":"FunctionDefinition","src":"25466:148:4","nodes":[],"body":{"id":5899,"nodeType":"Block","src":"25532:82:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5886,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5878,"src":"25550:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":5889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":5887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25561:1:4","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":5888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25566:3:4","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"25561:8:4","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}],"expression":{"id":5883,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"25542:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25545:4:4","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17068,"src":"25542:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25542:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5891,"nodeType":"ExpressionStatement","src":"25542:28:4"},{"expression":{"arguments":[{"id":5895,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5878,"src":"25589:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5896,"name":"origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5880,"src":"25600:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5892,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"25580:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25583:5:4","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17298,"src":"25580:8:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":5897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25580:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5898,"nodeType":"ExpressionStatement","src":"25580:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"hoax","nameLocation":"25475:4:4","parameters":{"id":5881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5878,"mutability":"mutable","name":"msgSender","nameLocation":"25488:9:4","nodeType":"VariableDeclaration","scope":5900,"src":"25480:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5877,"name":"address","nodeType":"ElementaryTypeName","src":"25480:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5880,"mutability":"mutable","name":"origin","nameLocation":"25507:6:4","nodeType":"VariableDeclaration","scope":5900,"src":"25499:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5879,"name":"address","nodeType":"ElementaryTypeName","src":"25499:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25479:35:4"},"returnParameters":{"id":5882,"nodeType":"ParameterList","parameters":[],"src":"25532:0:4"},"scope":6568,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5924,"nodeType":"FunctionDefinition","src":"25620:158:4","nodes":[],"body":{"id":5923,"nodeType":"Block","src":"25700:78:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5912,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5902,"src":"25718:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5913,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5906,"src":"25729:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5909,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"25710:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25713:4:4","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17068,"src":"25710:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25710:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5915,"nodeType":"ExpressionStatement","src":"25710:24:4"},{"expression":{"arguments":[{"id":5919,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5902,"src":"25753:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5920,"name":"origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5904,"src":"25764:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5916,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"25744:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25747:5:4","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17298,"src":"25744:8:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":5921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25744:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5922,"nodeType":"ExpressionStatement","src":"25744:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"hoax","nameLocation":"25629:4:4","parameters":{"id":5907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5902,"mutability":"mutable","name":"msgSender","nameLocation":"25642:9:4","nodeType":"VariableDeclaration","scope":5924,"src":"25634:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5901,"name":"address","nodeType":"ElementaryTypeName","src":"25634:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5904,"mutability":"mutable","name":"origin","nameLocation":"25661:6:4","nodeType":"VariableDeclaration","scope":5924,"src":"25653:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5903,"name":"address","nodeType":"ElementaryTypeName","src":"25653:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5906,"mutability":"mutable","name":"give","nameLocation":"25677:4:4","nodeType":"VariableDeclaration","scope":5924,"src":"25669:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5905,"name":"uint256","nodeType":"ElementaryTypeName","src":"25669:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25633:49:4"},"returnParameters":{"id":5908,"nodeType":"ParameterList","parameters":[],"src":"25700:0:4"},"scope":6568,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5945,"nodeType":"FunctionDefinition","src":"25849:134:4","nodes":[],"body":{"id":5944,"nodeType":"Block","src":"25904:79:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5932,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5926,"src":"25922:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":5935,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":5933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25933:1:4","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":5934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25938:3:4","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"25933:8:4","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}],"expression":{"id":5929,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"25914:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25917:4:4","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17068,"src":"25914:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25914:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5937,"nodeType":"ExpressionStatement","src":"25914:28:4"},{"expression":{"arguments":[{"id":5941,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5926,"src":"25966:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5938,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"25952:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25955:10:4","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":17486,"src":"25952:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25952:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5943,"nodeType":"ExpressionStatement","src":"25952:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"startHoax","nameLocation":"25858:9:4","parameters":{"id":5927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5926,"mutability":"mutable","name":"msgSender","nameLocation":"25876:9:4","nodeType":"VariableDeclaration","scope":5945,"src":"25868:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5925,"name":"address","nodeType":"ElementaryTypeName","src":"25868:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25867:19:4"},"returnParameters":{"id":5928,"nodeType":"ParameterList","parameters":[],"src":"25904:0:4"},"scope":6568,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5966,"nodeType":"FunctionDefinition","src":"25989:144:4","nodes":[],"body":{"id":5965,"nodeType":"Block","src":"26058:75:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5955,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5947,"src":"26076:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5956,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5949,"src":"26087:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5952,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"26068:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26071:4:4","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17068,"src":"26068:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26068:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5958,"nodeType":"ExpressionStatement","src":"26068:24:4"},{"expression":{"arguments":[{"id":5962,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5947,"src":"26116:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5959,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"26102:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26105:10:4","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":17486,"src":"26102:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26102:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5964,"nodeType":"ExpressionStatement","src":"26102:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"startHoax","nameLocation":"25998:9:4","parameters":{"id":5950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5947,"mutability":"mutable","name":"msgSender","nameLocation":"26016:9:4","nodeType":"VariableDeclaration","scope":5966,"src":"26008:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5946,"name":"address","nodeType":"ElementaryTypeName","src":"26008:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5949,"mutability":"mutable","name":"give","nameLocation":"26035:4:4","nodeType":"VariableDeclaration","scope":5966,"src":"26027:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5948,"name":"uint256","nodeType":"ElementaryTypeName","src":"26027:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26007:33:4"},"returnParameters":{"id":5951,"nodeType":"ParameterList","parameters":[],"src":"26058:0:4"},"scope":6568,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5990,"nodeType":"FunctionDefinition","src":"26252:158:4","nodes":[],"body":{"id":5989,"nodeType":"Block","src":"26323:87:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5976,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5968,"src":"26341:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":5979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":5977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26352:1:4","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":5978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26357:3:4","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"26352:8:4","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}],"expression":{"id":5973,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"26333:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26336:4:4","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17068,"src":"26333:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26333:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5981,"nodeType":"ExpressionStatement","src":"26333:28:4"},{"expression":{"arguments":[{"id":5985,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5968,"src":"26385:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5986,"name":"origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5970,"src":"26396:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5982,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"26371:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":5984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26374:10:4","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":17494,"src":"26371:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":5987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26371:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5988,"nodeType":"ExpressionStatement","src":"26371:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"startHoax","nameLocation":"26261:9:4","parameters":{"id":5971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5968,"mutability":"mutable","name":"msgSender","nameLocation":"26279:9:4","nodeType":"VariableDeclaration","scope":5990,"src":"26271:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5967,"name":"address","nodeType":"ElementaryTypeName","src":"26271:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5970,"mutability":"mutable","name":"origin","nameLocation":"26298:6:4","nodeType":"VariableDeclaration","scope":5990,"src":"26290:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5969,"name":"address","nodeType":"ElementaryTypeName","src":"26290:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26270:35:4"},"returnParameters":{"id":5972,"nodeType":"ParameterList","parameters":[],"src":"26323:0:4"},"scope":6568,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6014,"nodeType":"FunctionDefinition","src":"26416:168:4","nodes":[],"body":{"id":6013,"nodeType":"Block","src":"26501:83:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":6002,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5992,"src":"26519:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6003,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5996,"src":"26530:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5999,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"26511:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":6001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26514:4:4","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17068,"src":"26511:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":6004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26511:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6005,"nodeType":"ExpressionStatement","src":"26511:24:4"},{"expression":{"arguments":[{"id":6009,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5992,"src":"26559:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6010,"name":"origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5994,"src":"26570:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6006,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"26545:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":6008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26548:10:4","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":17494,"src":"26545:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":6011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26545:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6012,"nodeType":"ExpressionStatement","src":"26545:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"startHoax","nameLocation":"26425:9:4","parameters":{"id":5997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5992,"mutability":"mutable","name":"msgSender","nameLocation":"26443:9:4","nodeType":"VariableDeclaration","scope":6014,"src":"26435:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5991,"name":"address","nodeType":"ElementaryTypeName","src":"26435:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5994,"mutability":"mutable","name":"origin","nameLocation":"26462:6:4","nodeType":"VariableDeclaration","scope":6014,"src":"26454:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5993,"name":"address","nodeType":"ElementaryTypeName","src":"26454:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5996,"mutability":"mutable","name":"give","nameLocation":"26478:4:4","nodeType":"VariableDeclaration","scope":6014,"src":"26470:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5995,"name":"uint256","nodeType":"ElementaryTypeName","src":"26470:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26434:49:4"},"returnParameters":{"id":5998,"nodeType":"ParameterList","parameters":[],"src":"26501:0:4"},"scope":6568,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6035,"nodeType":"FunctionDefinition","src":"26590:218:4","nodes":[],"body":{"id":6034,"nodeType":"Block","src":"26647:161:4","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"6368616e67655072616e6b20697320646570726563617465642e20506c656173652075736520766d2e73746172745072616e6b20696e73746561642e","id":6020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26680:62:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_bf508b7e551ac53ebc43878423035cd08b5a26a319837cc862ef3353a105823a","typeString":"literal_string \"changePrank is deprecated. Please use vm.startPrank instead.\""},"value":"changePrank is deprecated. Please use vm.startPrank instead."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bf508b7e551ac53ebc43878423035cd08b5a26a319837cc862ef3353a105823a","typeString":"literal_string \"changePrank is deprecated. Please use vm.startPrank instead.\""}],"id":6019,"name":"console2_log_StdCheats","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6567,"src":"26657:22:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) view"}},"id":6021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26657:86:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6022,"nodeType":"ExpressionStatement","src":"26657:86:4"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6023,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"26753:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":6025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26756:9:4","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":17530,"src":"26753:12:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":6026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26753:14:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6027,"nodeType":"ExpressionStatement","src":"26753:14:4"},{"expression":{"arguments":[{"id":6031,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6016,"src":"26791:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6028,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"26777:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":6030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26780:10:4","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":17486,"src":"26777:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":6032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26777:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6033,"nodeType":"ExpressionStatement","src":"26777:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"changePrank","nameLocation":"26599:11:4","parameters":{"id":6017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6016,"mutability":"mutable","name":"msgSender","nameLocation":"26619:9:4","nodeType":"VariableDeclaration","scope":6035,"src":"26611:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6015,"name":"address","nodeType":"ElementaryTypeName","src":"26611:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26610:19:4"},"returnParameters":{"id":6018,"nodeType":"ParameterList","parameters":[],"src":"26647:0:4"},"scope":6568,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6055,"nodeType":"FunctionDefinition","src":"26814:150:4","nodes":[],"body":{"id":6054,"nodeType":"Block","src":"26889:75:4","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6042,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"26899:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":6044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26902:9:4","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":17530,"src":"26899:12:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":6045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26899:14:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6046,"nodeType":"ExpressionStatement","src":"26899:14:4"},{"expression":{"arguments":[{"id":6050,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6037,"src":"26937:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6051,"name":"txOrigin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6039,"src":"26948:8:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6047,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"26923:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":6049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26926:10:4","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":17494,"src":"26923:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":6052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26923:34:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6053,"nodeType":"ExpressionStatement","src":"26923:34:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"changePrank","nameLocation":"26823:11:4","parameters":{"id":6040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6037,"mutability":"mutable","name":"msgSender","nameLocation":"26843:9:4","nodeType":"VariableDeclaration","scope":6055,"src":"26835:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6036,"name":"address","nodeType":"ElementaryTypeName","src":"26835:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6039,"mutability":"mutable","name":"txOrigin","nameLocation":"26862:8:4","nodeType":"VariableDeclaration","scope":6055,"src":"26854:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6038,"name":"address","nodeType":"ElementaryTypeName","src":"26854:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26834:37:4"},"returnParameters":{"id":6041,"nodeType":"ParameterList","parameters":[],"src":"26889:0:4"},"scope":6568,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6070,"nodeType":"FunctionDefinition","src":"27055:91:4","nodes":[],"body":{"id":6069,"nodeType":"Block","src":"27112:34:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":6065,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6057,"src":"27130:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6066,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6059,"src":"27134:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6062,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"27122:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":6064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27125:4:4","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17068,"src":"27122:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":6067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27122:17:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6068,"nodeType":"ExpressionStatement","src":"27122:17:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deal","nameLocation":"27064:4:4","parameters":{"id":6060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6057,"mutability":"mutable","name":"to","nameLocation":"27077:2:4","nodeType":"VariableDeclaration","scope":6070,"src":"27069:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6056,"name":"address","nodeType":"ElementaryTypeName","src":"27069:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6059,"mutability":"mutable","name":"give","nameLocation":"27089:4:4","nodeType":"VariableDeclaration","scope":6070,"src":"27081:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6058,"name":"uint256","nodeType":"ElementaryTypeName","src":"27081:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27068:26:4"},"returnParameters":{"id":6061,"nodeType":"ParameterList","parameters":[],"src":"27112:0:4"},"scope":6568,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6087,"nodeType":"FunctionDefinition","src":"27270:117:4","nodes":[],"body":{"id":6086,"nodeType":"Block","src":"27342:45:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":6080,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6072,"src":"27357:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6081,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6074,"src":"27364:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6082,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6076,"src":"27368:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":6083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"27374:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":6079,"name":"deal","nodeType":"Identifier","overloadedDeclarations":[6070,6087,6210],"referencedDeclaration":6210,"src":"27352:4:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (address,address,uint256,bool)"}},"id":6084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27352:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6085,"nodeType":"ExpressionStatement","src":"27352:28:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deal","nameLocation":"27279:4:4","parameters":{"id":6077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6072,"mutability":"mutable","name":"token","nameLocation":"27292:5:4","nodeType":"VariableDeclaration","scope":6087,"src":"27284:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6071,"name":"address","nodeType":"ElementaryTypeName","src":"27284:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6074,"mutability":"mutable","name":"to","nameLocation":"27307:2:4","nodeType":"VariableDeclaration","scope":6087,"src":"27299:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6073,"name":"address","nodeType":"ElementaryTypeName","src":"27299:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6076,"mutability":"mutable","name":"give","nameLocation":"27319:4:4","nodeType":"VariableDeclaration","scope":6087,"src":"27311:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6075,"name":"uint256","nodeType":"ElementaryTypeName","src":"27311:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27283:41:4"},"returnParameters":{"id":6078,"nodeType":"ParameterList","parameters":[],"src":"27342:0:4"},"scope":6568,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6107,"nodeType":"FunctionDefinition","src":"27513:147:4","nodes":[],"body":{"id":6106,"nodeType":"Block","src":"27604:56:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":6099,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6089,"src":"27626:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6100,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6091,"src":"27633:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6101,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6093,"src":"27637:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6102,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6095,"src":"27641:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":6103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"27647:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":6098,"name":"dealERC1155","nodeType":"Identifier","overloadedDeclarations":[6107,6331],"referencedDeclaration":6331,"src":"27614:11:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (address,address,uint256,uint256,bool)"}},"id":6104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27614:39:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6105,"nodeType":"ExpressionStatement","src":"27614:39:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dealERC1155","nameLocation":"27522:11:4","parameters":{"id":6096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6089,"mutability":"mutable","name":"token","nameLocation":"27542:5:4","nodeType":"VariableDeclaration","scope":6107,"src":"27534:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6088,"name":"address","nodeType":"ElementaryTypeName","src":"27534:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6091,"mutability":"mutable","name":"to","nameLocation":"27557:2:4","nodeType":"VariableDeclaration","scope":6107,"src":"27549:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6090,"name":"address","nodeType":"ElementaryTypeName","src":"27549:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6093,"mutability":"mutable","name":"id","nameLocation":"27569:2:4","nodeType":"VariableDeclaration","scope":6107,"src":"27561:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6092,"name":"uint256","nodeType":"ElementaryTypeName","src":"27561:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6095,"mutability":"mutable","name":"give","nameLocation":"27581:4:4","nodeType":"VariableDeclaration","scope":6107,"src":"27573:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6094,"name":"uint256","nodeType":"ElementaryTypeName","src":"27573:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27533:53:4"},"returnParameters":{"id":6097,"nodeType":"ParameterList","parameters":[],"src":"27604:0:4"},"scope":6568,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6210,"nodeType":"FunctionDefinition","src":"27666:837:4","nodes":[],"body":{"id":6209,"nodeType":"Block","src":"27751:752:4","nodes":[],"statements":[{"assignments":[null,6119],"declarations":[null,{"constant":false,"id":6119,"mutability":"mutable","name":"balData","nameLocation":"27808:7:4","nodeType":"VariableDeclaration","scope":6209,"src":"27795:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6118,"name":"bytes","nodeType":"ElementaryTypeName","src":"27795:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6128,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783730613038323331","id":6124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27859:10:4","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"id":6125,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6111,"src":"27871:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6122,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27836:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27840:18:4","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"27836:22:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27836:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6120,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6109,"src":"27819:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27825:10:4","memberName":"staticcall","nodeType":"MemberAccess","src":"27819:16:4","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":6127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27819:56:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"27792:83:4"},{"assignments":[6130],"declarations":[{"constant":false,"id":6130,"mutability":"mutable","name":"prevBal","nameLocation":"27893:7:4","nodeType":"VariableDeclaration","scope":6209,"src":"27885:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6129,"name":"uint256","nodeType":"ElementaryTypeName","src":"27885:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6138,"initialValue":{"arguments":[{"id":6133,"name":"balData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6119,"src":"27914:7:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6135,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27924:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6134,"name":"uint256","nodeType":"ElementaryTypeName","src":"27924:7:4","typeDescriptions":{}}}],"id":6136,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"27923:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6131,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27903:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27907:6:4","memberName":"decode","nodeType":"MemberAccess","src":"27903:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27903:30:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27885:48:4"},{"expression":{"arguments":[{"id":6151,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"28036:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":6148,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6111,"src":"28018:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"hexValue":"30783730613038323331","id":6145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27997:10:4","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"}],"expression":{"arguments":[{"id":6142,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6109,"src":"27986:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6139,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5782,"src":"27970:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage","typeString":"struct StdStorage storage ref"}},"id":6141,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27979:6:4","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":9525,"src":"27970:15:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27970:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6144,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27993:3:4","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":9543,"src":"27970:26:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27970:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6147,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28009:8:4","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":9579,"src":"27970:47:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27970:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6150,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28022:13:4","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":9719,"src":"27970:65:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":6152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27970:71:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6153,"nodeType":"ExpressionStatement","src":"27970:71:4"},{"condition":{"id":6154,"name":"adjust","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6115,"src":"28087:6:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6208,"nodeType":"IfStatement","src":"28083:414:4","trueBody":{"id":6207,"nodeType":"Block","src":"28095:402:4","statements":[{"assignments":[null,6156],"declarations":[null,{"constant":false,"id":6156,"mutability":"mutable","name":"totSupData","nameLocation":"28125:10:4","nodeType":"VariableDeclaration","scope":6207,"src":"28112:23:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6155,"name":"bytes","nodeType":"ElementaryTypeName","src":"28112:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6164,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783138313630646464","id":6161,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28179:10:4","typeDescriptions":{"typeIdentifier":"t_rational_404098525_by_1","typeString":"int_const 404098525"},"value":"0x18160ddd"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_404098525_by_1","typeString":"int_const 404098525"}],"expression":{"id":6159,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28156:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6160,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28160:18:4","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"28156:22:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28156:34:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6157,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6109,"src":"28139:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28145:10:4","memberName":"staticcall","nodeType":"MemberAccess","src":"28139:16:4","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":6163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28139:52:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"28109:82:4"},{"assignments":[6166],"declarations":[{"constant":false,"id":6166,"mutability":"mutable","name":"totSup","nameLocation":"28213:6:4","nodeType":"VariableDeclaration","scope":6207,"src":"28205:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6165,"name":"uint256","nodeType":"ElementaryTypeName","src":"28205:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6174,"initialValue":{"arguments":[{"id":6169,"name":"totSupData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6156,"src":"28233:10:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6171,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28246:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6170,"name":"uint256","nodeType":"ElementaryTypeName","src":"28246:7:4","typeDescriptions":{}}}],"id":6172,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"28245:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6167,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28222:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6168,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28226:6:4","memberName":"decode","nodeType":"MemberAccess","src":"28222:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28222:33:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28205:50:4"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6175,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"28273:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":6176,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6130,"src":"28280:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28273:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":6193,"nodeType":"Block","src":"28354:59:4","statements":[{"expression":{"id":6191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6186,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6166,"src":"28372:6:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6187,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"28383:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":6188,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6130,"src":"28390:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28383:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6190,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"28382:16:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28372:26:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6192,"nodeType":"ExpressionStatement","src":"28372:26:4"}]},"id":6194,"nodeType":"IfStatement","src":"28269:144:4","trueBody":{"id":6185,"nodeType":"Block","src":"28289:59:4","statements":[{"expression":{"id":6183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6178,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6166,"src":"28307:6:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6179,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6130,"src":"28318:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":6180,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"28328:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28318:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6182,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"28317:16:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28307:26:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6184,"nodeType":"ExpressionStatement","src":"28307:26:4"}]}},{"expression":{"arguments":[{"id":6204,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6166,"src":"28479:6:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"hexValue":"30783138313630646464","id":6201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28453:10:4","typeDescriptions":{"typeIdentifier":"t_rational_404098525_by_1","typeString":"int_const 404098525"},"value":"0x18160ddd"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_404098525_by_1","typeString":"int_const 404098525"}],"expression":{"arguments":[{"id":6198,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6109,"src":"28442:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6195,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5782,"src":"28426:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage","typeString":"struct StdStorage storage ref"}},"id":6197,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28435:6:4","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":9525,"src":"28426:15:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28426:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6200,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28449:3:4","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":9543,"src":"28426:26:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28426:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6203,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28465:13:4","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":9719,"src":"28426:52:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":6205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28426:60:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6206,"nodeType":"ExpressionStatement","src":"28426:60:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"deal","nameLocation":"27675:4:4","parameters":{"id":6116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6109,"mutability":"mutable","name":"token","nameLocation":"27688:5:4","nodeType":"VariableDeclaration","scope":6210,"src":"27680:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6108,"name":"address","nodeType":"ElementaryTypeName","src":"27680:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6111,"mutability":"mutable","name":"to","nameLocation":"27703:2:4","nodeType":"VariableDeclaration","scope":6210,"src":"27695:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6110,"name":"address","nodeType":"ElementaryTypeName","src":"27695:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6113,"mutability":"mutable","name":"give","nameLocation":"27715:4:4","nodeType":"VariableDeclaration","scope":6210,"src":"27707:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6112,"name":"uint256","nodeType":"ElementaryTypeName","src":"27707:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6115,"mutability":"mutable","name":"adjust","nameLocation":"27726:6:4","nodeType":"VariableDeclaration","scope":6210,"src":"27721:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6114,"name":"bool","nodeType":"ElementaryTypeName","src":"27721:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27679:54:4"},"returnParameters":{"id":6117,"nodeType":"ParameterList","parameters":[],"src":"27751:0:4"},"scope":6568,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6331,"nodeType":"FunctionDefinition","src":"28509:1070:4","nodes":[],"body":{"id":6330,"nodeType":"Block","src":"28613:966:4","nodes":[],"statements":[{"assignments":[null,6224],"declarations":[null,{"constant":false,"id":6224,"mutability":"mutable","name":"balData","nameLocation":"28670:7:4","nodeType":"VariableDeclaration","scope":6330,"src":"28657:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6223,"name":"bytes","nodeType":"ElementaryTypeName","src":"28657:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6234,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783030666464353865","id":6229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28721:10:4","typeDescriptions":{"typeIdentifier":"t_rational_16635278_by_1","typeString":"int_const 16635278"},"value":"0x00fdd58e"},{"id":6230,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6214,"src":"28733:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6231,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6216,"src":"28737:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_16635278_by_1","typeString":"int_const 16635278"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6227,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28698:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6228,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28702:18:4","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"28698:22:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28698:42:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6225,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6212,"src":"28681:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28687:10:4","memberName":"staticcall","nodeType":"MemberAccess","src":"28681:16:4","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":6233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28681:60:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"28654:87:4"},{"assignments":[6236],"declarations":[{"constant":false,"id":6236,"mutability":"mutable","name":"prevBal","nameLocation":"28759:7:4","nodeType":"VariableDeclaration","scope":6330,"src":"28751:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6235,"name":"uint256","nodeType":"ElementaryTypeName","src":"28751:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6244,"initialValue":{"arguments":[{"id":6239,"name":"balData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6224,"src":"28780:7:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6241,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28790:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6240,"name":"uint256","nodeType":"ElementaryTypeName","src":"28790:7:4","typeDescriptions":{}}}],"id":6242,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"28789:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6237,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28769:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6238,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28773:6:4","memberName":"decode","nodeType":"MemberAccess","src":"28769:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28769:30:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28751:48:4"},{"expression":{"arguments":[{"id":6260,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6218,"src":"28915:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":6257,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6216,"src":"28897:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":6254,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6214,"src":"28884:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"hexValue":"30783030666464353865","id":6251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28863:10:4","typeDescriptions":{"typeIdentifier":"t_rational_16635278_by_1","typeString":"int_const 16635278"},"value":"0x00fdd58e"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_16635278_by_1","typeString":"int_const 16635278"}],"expression":{"arguments":[{"id":6248,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6212,"src":"28852:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6245,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5782,"src":"28836:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage","typeString":"struct StdStorage storage ref"}},"id":6247,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28845:6:4","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":9525,"src":"28836:15:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28836:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6250,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28859:3:4","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":9543,"src":"28836:26:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28836:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6253,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28875:8:4","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":9579,"src":"28836:47:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28836:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6256,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28888:8:4","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":9597,"src":"28836:60:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":6258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28836:64:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6259,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28901:13:4","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":9719,"src":"28836:78:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":6261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28836:84:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6262,"nodeType":"ExpressionStatement","src":"28836:84:4"},{"condition":{"id":6263,"name":"adjust","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6220,"src":"28966:6:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6329,"nodeType":"IfStatement","src":"28962:611:4","trueBody":{"id":6328,"nodeType":"Block","src":"28974:599:4","statements":[{"assignments":[null,6265],"declarations":[null,{"constant":false,"id":6265,"mutability":"mutable","name":"totSupData","nameLocation":"29004:10:4","nodeType":"VariableDeclaration","scope":6328,"src":"28991:23:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6264,"name":"bytes","nodeType":"ElementaryTypeName","src":"28991:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6274,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30786264383562303339","id":6270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29058:10:4","typeDescriptions":{"typeIdentifier":"t_rational_3179655225_by_1","typeString":"int_const 3179655225"},"value":"0xbd85b039"},{"id":6271,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6216,"src":"29070:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3179655225_by_1","typeString":"int_const 3179655225"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6268,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29035:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6269,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29039:18:4","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"29035:22:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29035:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6266,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6212,"src":"29018:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29024:10:4","memberName":"staticcall","nodeType":"MemberAccess","src":"29018:16:4","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":6273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29018:56:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"28988:86:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":6276,"name":"totSupData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6265,"src":"29113:10:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":6277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29124:6:4","memberName":"length","nodeType":"MemberAccess","src":"29113:17:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":6278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29134:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29113:22:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465616c28616464726573732c616464726573732c75696e742c75696e742c626f6f6c293a2074617267657420636f6e7472616374206973206e6f742045524331313535537570706c792e","id":6280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29153:87:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_cbb83c7e91c85bace1157a2500e6a0534b39a660e193440ca8d86c890bf3fb8c","typeString":"literal_string \"StdCheats deal(address,address,uint,uint,bool): target contract is not ERC1155Supply.\""},"value":"StdCheats deal(address,address,uint,uint,bool): target contract is not ERC1155Supply."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cbb83c7e91c85bace1157a2500e6a0534b39a660e193440ca8d86c890bf3fb8c","typeString":"literal_string \"StdCheats deal(address,address,uint,uint,bool): target contract is not ERC1155Supply.\""}],"id":6275,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"29088:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29088:166:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6282,"nodeType":"ExpressionStatement","src":"29088:166:4"},{"assignments":[6284],"declarations":[{"constant":false,"id":6284,"mutability":"mutable","name":"totSup","nameLocation":"29276:6:4","nodeType":"VariableDeclaration","scope":6328,"src":"29268:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6283,"name":"uint256","nodeType":"ElementaryTypeName","src":"29268:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6292,"initialValue":{"arguments":[{"id":6287,"name":"totSupData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6265,"src":"29296:10:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6289,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29309:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6288,"name":"uint256","nodeType":"ElementaryTypeName","src":"29309:7:4","typeDescriptions":{}}}],"id":6290,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"29308:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6285,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29285:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6286,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29289:6:4","memberName":"decode","nodeType":"MemberAccess","src":"29285:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29285:33:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29268:50:4"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6293,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6218,"src":"29336:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":6294,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6236,"src":"29343:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29336:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":6311,"nodeType":"Block","src":"29417:59:4","statements":[{"expression":{"id":6309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6304,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6284,"src":"29435:6:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6305,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6218,"src":"29446:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":6306,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6236,"src":"29453:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29446:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6308,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"29445:16:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29435:26:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6310,"nodeType":"ExpressionStatement","src":"29435:26:4"}]},"id":6312,"nodeType":"IfStatement","src":"29332:144:4","trueBody":{"id":6303,"nodeType":"Block","src":"29352:59:4","statements":[{"expression":{"id":6301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6296,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6284,"src":"29370:6:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6297,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6236,"src":"29381:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":6298,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6218,"src":"29391:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29381:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6300,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"29380:16:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29370:26:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6302,"nodeType":"ExpressionStatement","src":"29370:26:4"}]}},{"expression":{"arguments":[{"id":6325,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6284,"src":"29555:6:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":6322,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6216,"src":"29537:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"hexValue":"30786264383562303339","id":6319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29516:10:4","typeDescriptions":{"typeIdentifier":"t_rational_3179655225_by_1","typeString":"int_const 3179655225"},"value":"0xbd85b039"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3179655225_by_1","typeString":"int_const 3179655225"}],"expression":{"arguments":[{"id":6316,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6212,"src":"29505:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6313,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5782,"src":"29489:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage","typeString":"struct StdStorage storage ref"}},"id":6315,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29498:6:4","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":9525,"src":"29489:15:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29489:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6318,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29512:3:4","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":9543,"src":"29489:26:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29489:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29528:8:4","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":9597,"src":"29489:47:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":6323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29489:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6324,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29541:13:4","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":9719,"src":"29489:65:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":6326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29489:73:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6327,"nodeType":"ExpressionStatement","src":"29489:73:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"dealERC1155","nameLocation":"28518:11:4","parameters":{"id":6221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6212,"mutability":"mutable","name":"token","nameLocation":"28538:5:4","nodeType":"VariableDeclaration","scope":6331,"src":"28530:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6211,"name":"address","nodeType":"ElementaryTypeName","src":"28530:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6214,"mutability":"mutable","name":"to","nameLocation":"28553:2:4","nodeType":"VariableDeclaration","scope":6331,"src":"28545:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6213,"name":"address","nodeType":"ElementaryTypeName","src":"28545:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6216,"mutability":"mutable","name":"id","nameLocation":"28565:2:4","nodeType":"VariableDeclaration","scope":6331,"src":"28557:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6215,"name":"uint256","nodeType":"ElementaryTypeName","src":"28557:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6218,"mutability":"mutable","name":"give","nameLocation":"28577:4:4","nodeType":"VariableDeclaration","scope":6331,"src":"28569:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6217,"name":"uint256","nodeType":"ElementaryTypeName","src":"28569:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6220,"mutability":"mutable","name":"adjust","nameLocation":"28588:6:4","nodeType":"VariableDeclaration","scope":6331,"src":"28583:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6219,"name":"bool","nodeType":"ElementaryTypeName","src":"28583:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28529:66:4"},"returnParameters":{"id":6222,"nodeType":"ParameterList","parameters":[],"src":"28613:0:4"},"scope":6568,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6460,"nodeType":"FunctionDefinition","src":"29585:1139:4","nodes":[],"body":{"id":6459,"nodeType":"Block","src":"29661:1063:4","nodes":[],"statements":[{"assignments":[6341,6343],"declarations":[{"constant":false,"id":6341,"mutability":"mutable","name":"successMinted","nameLocation":"29746:13:4","nodeType":"VariableDeclaration","scope":6459,"src":"29741:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6340,"name":"bool","nodeType":"ElementaryTypeName","src":"29741:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6343,"mutability":"mutable","name":"ownerData","nameLocation":"29774:9:4","nodeType":"VariableDeclaration","scope":6459,"src":"29761:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6342,"name":"bytes","nodeType":"ElementaryTypeName","src":"29761:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6352,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783633353232313165","id":6348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29827:10:4","typeDescriptions":{"typeIdentifier":"t_rational_1666326814_by_1","typeString":"int_const 1666326814"},"value":"0x6352211e"},{"id":6349,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6337,"src":"29839:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1666326814_by_1","typeString":"int_const 1666326814"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6346,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29804:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6347,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29808:18:4","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"29804:22:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29804:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6344,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6333,"src":"29787:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29793:10:4","memberName":"staticcall","nodeType":"MemberAccess","src":"29787:16:4","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":6351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29787:56:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"29740:103:4"},{"expression":{"arguments":[{"id":6354,"name":"successMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6341,"src":"29861:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465616c28616464726573732c616464726573732c75696e742c626f6f6c293a206964206e6f74206d696e7465642e","id":6355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29876:59:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9f524ccbde1b7d94051482eee863c075921757bac915f984f010837545a169e","typeString":"literal_string \"StdCheats deal(address,address,uint,bool): id not minted.\""},"value":"StdCheats deal(address,address,uint,bool): id not minted."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e9f524ccbde1b7d94051482eee863c075921757bac915f984f010837545a169e","typeString":"literal_string \"StdCheats deal(address,address,uint,bool): id not minted.\""}],"id":6353,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"29853:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29853:83:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6357,"nodeType":"ExpressionStatement","src":"29853:83:4"},{"assignments":[null,6359],"declarations":[null,{"constant":false,"id":6359,"mutability":"mutable","name":"fromBalData","nameLocation":"30000:11:4","nodeType":"VariableDeclaration","scope":6459,"src":"29987:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6358,"name":"bytes","nodeType":"ElementaryTypeName","src":"29987:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6374,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783730613038323331","id":6364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30067:10:4","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"arguments":[{"id":6367,"name":"ownerData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6343,"src":"30090:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30102:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6368,"name":"address","nodeType":"ElementaryTypeName","src":"30102:7:4","typeDescriptions":{}}}],"id":6370,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"30101:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":6365,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30079:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6366,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30083:6:4","memberName":"decode","nodeType":"MemberAccess","src":"30079:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30079:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":6362,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30044:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30048:18:4","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"30044:22:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30044:68:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6360,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6333,"src":"30027:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30033:10:4","memberName":"staticcall","nodeType":"MemberAccess","src":"30027:16:4","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":6373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30027:86:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"29984:129:4"},{"assignments":[6376],"declarations":[{"constant":false,"id":6376,"mutability":"mutable","name":"fromPrevBal","nameLocation":"30131:11:4","nodeType":"VariableDeclaration","scope":6459,"src":"30123:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6375,"name":"uint256","nodeType":"ElementaryTypeName","src":"30123:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6384,"initialValue":{"arguments":[{"id":6379,"name":"fromBalData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6359,"src":"30156:11:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6381,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30170:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6380,"name":"uint256","nodeType":"ElementaryTypeName","src":"30170:7:4","typeDescriptions":{}}}],"id":6382,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"30169:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6377,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30145:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6378,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30149:6:4","memberName":"decode","nodeType":"MemberAccess","src":"30145:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30145:34:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30123:56:4"},{"assignments":[null,6386],"declarations":[null,{"constant":false,"id":6386,"mutability":"mutable","name":"toBalData","nameLocation":"30246:9:4","nodeType":"VariableDeclaration","scope":6459,"src":"30233:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6385,"name":"bytes","nodeType":"ElementaryTypeName","src":"30233:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6395,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783730613038323331","id":6391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30299:10:4","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"id":6392,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6335,"src":"30311:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6389,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30276:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6390,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30280:18:4","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"30276:22:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30276:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6387,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6333,"src":"30259:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30265:10:4","memberName":"staticcall","nodeType":"MemberAccess","src":"30259:16:4","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":6394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30259:56:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"30230:85:4"},{"assignments":[6397],"declarations":[{"constant":false,"id":6397,"mutability":"mutable","name":"toPrevBal","nameLocation":"30333:9:4","nodeType":"VariableDeclaration","scope":6459,"src":"30325:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6396,"name":"uint256","nodeType":"ElementaryTypeName","src":"30325:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6405,"initialValue":{"arguments":[{"id":6400,"name":"toBalData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6386,"src":"30356:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6402,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30368:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6401,"name":"uint256","nodeType":"ElementaryTypeName","src":"30368:7:4","typeDescriptions":{}}}],"id":6403,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"30367:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6398,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30345:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30349:6:4","memberName":"decode","nodeType":"MemberAccess","src":"30345:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30345:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30325:52:4"},{"expression":{"arguments":[{"id":6425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"30511:13:4","subExpression":{"id":6424,"name":"fromPrevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6376,"src":"30513:11:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"arguments":[{"id":6417,"name":"ownerData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6343,"src":"30474:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30486:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6418,"name":"address","nodeType":"ElementaryTypeName","src":"30486:7:4","typeDescriptions":{}}}],"id":6420,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"30485:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":6415,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30463:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30467:6:4","memberName":"decode","nodeType":"MemberAccess","src":"30463:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30463:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"arguments":[{"hexValue":"30783730613038323331","id":6412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30442:10:4","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"}],"expression":{"arguments":[{"id":6409,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6333,"src":"30431:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6406,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5782,"src":"30415:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage","typeString":"struct StdStorage storage ref"}},"id":6408,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30424:6:4","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":9525,"src":"30415:15:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30415:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6411,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30438:3:4","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":9543,"src":"30415:26:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30415:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6414,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30454:8:4","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":9579,"src":"30415:47:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30415:81:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6423,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30497:13:4","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":9719,"src":"30415:95:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":6426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30415:110:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6427,"nodeType":"ExpressionStatement","src":"30415:110:4"},{"expression":{"arguments":[{"id":6441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"30601:11:4","subExpression":{"id":6440,"name":"toPrevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6397,"src":"30603:9:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":6437,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6335,"src":"30583:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"hexValue":"30783730613038323331","id":6434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30562:10:4","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"}],"expression":{"arguments":[{"id":6431,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6333,"src":"30551:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6428,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5782,"src":"30535:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage","typeString":"struct StdStorage storage ref"}},"id":6430,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30544:6:4","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":9525,"src":"30535:15:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30535:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30558:3:4","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":9543,"src":"30535:26:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30535:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6436,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30574:8:4","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":9579,"src":"30535:47:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30535:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6439,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30587:13:4","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":9719,"src":"30535:65:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":6442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30535:78:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6443,"nodeType":"ExpressionStatement","src":"30535:78:4"},{"expression":{"arguments":[{"id":6456,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6335,"src":"30714:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":6453,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6337,"src":"30696:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"hexValue":"30783633353232313165","id":6450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30675:10:4","typeDescriptions":{"typeIdentifier":"t_rational_1666326814_by_1","typeString":"int_const 1666326814"},"value":"0x6352211e"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1666326814_by_1","typeString":"int_const 1666326814"}],"expression":{"arguments":[{"id":6447,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6333,"src":"30664:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6444,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5782,"src":"30648:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage","typeString":"struct StdStorage storage ref"}},"id":6446,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30657:6:4","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":9525,"src":"30648:15:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30648:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6449,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30671:3:4","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":9543,"src":"30648:26:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30648:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6452,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30687:8:4","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":9597,"src":"30648:47:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":6454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30648:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6455,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30700:13:4","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":9702,"src":"30648:65:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_address_$returns$__$attached_to$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address)"}},"id":6457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30648:69:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6458,"nodeType":"ExpressionStatement","src":"30648:69:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dealERC721","nameLocation":"29594:10:4","parameters":{"id":6338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6333,"mutability":"mutable","name":"token","nameLocation":"29613:5:4","nodeType":"VariableDeclaration","scope":6460,"src":"29605:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6332,"name":"address","nodeType":"ElementaryTypeName","src":"29605:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6335,"mutability":"mutable","name":"to","nameLocation":"29628:2:4","nodeType":"VariableDeclaration","scope":6460,"src":"29620:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6334,"name":"address","nodeType":"ElementaryTypeName","src":"29620:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6337,"mutability":"mutable","name":"id","nameLocation":"29640:2:4","nodeType":"VariableDeclaration","scope":6460,"src":"29632:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6336,"name":"uint256","nodeType":"ElementaryTypeName","src":"29632:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29604:39:4"},"returnParameters":{"id":6339,"nodeType":"ParameterList","parameters":[],"src":"29661:0:4"},"scope":6568,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6475,"nodeType":"FunctionDefinition","src":"30730:123:4","nodes":[],"body":{"id":6474,"nodeType":"Block","src":"30804:49:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":6468,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6462,"src":"30827:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"","id":6469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30833:2:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"30","id":6470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30837:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":6471,"name":"where","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6464,"src":"30840:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"id":6467,"name":"deployCodeTo","nodeType":"Identifier","overloadedDeclarations":[6475,6492,6545],"referencedDeclaration":6545,"src":"30814:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$_t_address_$returns$__$","typeString":"function (string memory,bytes memory,uint256,address)"}},"id":6472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30814:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6473,"nodeType":"ExpressionStatement","src":"30814:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deployCodeTo","nameLocation":"30739:12:4","parameters":{"id":6465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6462,"mutability":"mutable","name":"what","nameLocation":"30766:4:4","nodeType":"VariableDeclaration","scope":6475,"src":"30752:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6461,"name":"string","nodeType":"ElementaryTypeName","src":"30752:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6464,"mutability":"mutable","name":"where","nameLocation":"30780:5:4","nodeType":"VariableDeclaration","scope":6475,"src":"30772:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6463,"name":"address","nodeType":"ElementaryTypeName","src":"30772:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30751:35:4"},"returnParameters":{"id":6466,"nodeType":"ParameterList","parameters":[],"src":"30804:0:4"},"scope":6568,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6492,"nodeType":"FunctionDefinition","src":"30859:144:4","nodes":[],"body":{"id":6491,"nodeType":"Block","src":"30952:51:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":6485,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6477,"src":"30975:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6486,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6479,"src":"30981:4:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":6487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30987:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":6488,"name":"where","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6481,"src":"30990:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"id":6484,"name":"deployCodeTo","nodeType":"Identifier","overloadedDeclarations":[6475,6492,6545],"referencedDeclaration":6545,"src":"30962:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$_t_address_$returns$__$","typeString":"function (string memory,bytes memory,uint256,address)"}},"id":6489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30962:34:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6490,"nodeType":"ExpressionStatement","src":"30962:34:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deployCodeTo","nameLocation":"30868:12:4","parameters":{"id":6482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6477,"mutability":"mutable","name":"what","nameLocation":"30895:4:4","nodeType":"VariableDeclaration","scope":6492,"src":"30881:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6476,"name":"string","nodeType":"ElementaryTypeName","src":"30881:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6479,"mutability":"mutable","name":"args","nameLocation":"30914:4:4","nodeType":"VariableDeclaration","scope":6492,"src":"30901:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6478,"name":"bytes","nodeType":"ElementaryTypeName","src":"30901:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":6481,"mutability":"mutable","name":"where","nameLocation":"30928:5:4","nodeType":"VariableDeclaration","scope":6492,"src":"30920:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6480,"name":"address","nodeType":"ElementaryTypeName","src":"30920:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30880:54:4"},"returnParameters":{"id":6483,"nodeType":"ParameterList","parameters":[],"src":"30952:0:4"},"scope":6568,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6545,"nodeType":"FunctionDefinition","src":"31009:475:4","nodes":[],"body":{"id":6544,"nodeType":"Block","src":"31117:367:4","nodes":[],"statements":[{"assignments":[6504],"declarations":[{"constant":false,"id":6504,"mutability":"mutable","name":"creationCode","nameLocation":"31140:12:4","nodeType":"VariableDeclaration","scope":6544,"src":"31127:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6503,"name":"bytes","nodeType":"ElementaryTypeName","src":"31127:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6509,"initialValue":{"arguments":[{"id":6507,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6494,"src":"31166:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6505,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"31155:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":6506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31158:7:4","memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":14222,"src":"31155:10:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) view external returns (bytes memory)"}},"id":6508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31155:16:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"31127:44:4"},{"expression":{"arguments":[{"id":6513,"name":"where","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6500,"src":"31189:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":6516,"name":"creationCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6504,"src":"31213:12:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":6517,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6496,"src":"31227:4:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6514,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31196:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6515,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31200:12:4","memberName":"encodePacked","nodeType":"MemberAccess","src":"31196:16:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":6518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31196:36:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6510,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"31181:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":6512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31184:4:4","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17100,"src":"31181:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":6519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31181:52:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6520,"nodeType":"ExpressionStatement","src":"31181:52:4"},{"assignments":[6522,6524],"declarations":[{"constant":false,"id":6522,"mutability":"mutable","name":"success","nameLocation":"31249:7:4","nodeType":"VariableDeclaration","scope":6544,"src":"31244:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6521,"name":"bool","nodeType":"ElementaryTypeName","src":"31244:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6524,"mutability":"mutable","name":"runtimeBytecode","nameLocation":"31271:15:4","nodeType":"VariableDeclaration","scope":6544,"src":"31258:28:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6523,"name":"bytes","nodeType":"ElementaryTypeName","src":"31258:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6531,"initialValue":{"arguments":[{"hexValue":"","id":6529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31315:2:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":6525,"name":"where","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6500,"src":"31290:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31296:4:4","memberName":"call","nodeType":"MemberAccess","src":"31290:10:4","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":6528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":6527,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6498,"src":"31308:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"31290:24:4","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":6530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31290:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"31243:75:4"},{"expression":{"arguments":[{"id":6533,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6522,"src":"31336:7:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f6465546f28737472696e672c62797465732c75696e743235362c61646472657373293a204661696c656420746f206372656174652072756e74696d652062797465636f64652e","id":6534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31345:90:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_b108e15dc33227f7dcfd1bb506d1d48e88a540eadf4c41cd675a882ac84a6d45","typeString":"literal_string \"StdCheats deployCodeTo(string,bytes,uint256,address): Failed to create runtime bytecode.\""},"value":"StdCheats deployCodeTo(string,bytes,uint256,address): Failed to create runtime bytecode."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b108e15dc33227f7dcfd1bb506d1d48e88a540eadf4c41cd675a882ac84a6d45","typeString":"literal_string \"StdCheats deployCodeTo(string,bytes,uint256,address): Failed to create runtime bytecode.\""}],"id":6532,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"31328:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31328:108:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6536,"nodeType":"ExpressionStatement","src":"31328:108:4"},{"expression":{"arguments":[{"id":6540,"name":"where","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6500,"src":"31454:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6541,"name":"runtimeBytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6524,"src":"31461:15:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6537,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5799,"src":"31446:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":6539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31449:4:4","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17100,"src":"31446:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":6542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31446:31:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6543,"nodeType":"ExpressionStatement","src":"31446:31:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deployCodeTo","nameLocation":"31018:12:4","parameters":{"id":6501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6494,"mutability":"mutable","name":"what","nameLocation":"31045:4:4","nodeType":"VariableDeclaration","scope":6545,"src":"31031:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6493,"name":"string","nodeType":"ElementaryTypeName","src":"31031:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6496,"mutability":"mutable","name":"args","nameLocation":"31064:4:4","nodeType":"VariableDeclaration","scope":6545,"src":"31051:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6495,"name":"bytes","nodeType":"ElementaryTypeName","src":"31051:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":6498,"mutability":"mutable","name":"value","nameLocation":"31078:5:4","nodeType":"VariableDeclaration","scope":6545,"src":"31070:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6497,"name":"uint256","nodeType":"ElementaryTypeName","src":"31070:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6500,"mutability":"mutable","name":"where","nameLocation":"31093:5:4","nodeType":"VariableDeclaration","scope":6545,"src":"31085:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6499,"name":"address","nodeType":"ElementaryTypeName","src":"31085:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31030:69:4"},"returnParameters":{"id":6502,"nodeType":"ParameterList","parameters":[],"src":"31117:0:4"},"scope":6568,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6567,"nodeType":"FunctionDefinition","src":"31613:193:4","nodes":[],"body":{"id":6566,"nodeType":"Block","src":"31676:130:4","nodes":[],"statements":[{"assignments":[6551,null],"declarations":[{"constant":false,"id":6551,"mutability":"mutable","name":"status","nameLocation":"31692:6:4","nodeType":"VariableDeclaration","scope":6566,"src":"31687:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6550,"name":"bool","nodeType":"ElementaryTypeName","src":"31687:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":6563,"initialValue":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":6559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31764:13:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":6560,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6547,"src":"31779:2:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6557,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31740:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6558,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31744:19:4","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31740:23:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31740:42:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":6554,"name":"CONSOLE2_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5802,"src":"31711:16:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31703:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6552,"name":"address","nodeType":"ElementaryTypeName","src":"31703:7:4","typeDescriptions":{}}},"id":6555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31703:25:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31729:10:4","memberName":"staticcall","nodeType":"MemberAccess","src":"31703:36:4","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":6562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31703:80:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"31686:97:4"},{"expression":{"id":6564,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6551,"src":"31793:6:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6565,"nodeType":"ExpressionStatement","src":"31793:6:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"console2_log_StdCheats","nameLocation":"31622:22:4","parameters":{"id":6548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6547,"mutability":"mutable","name":"p0","nameLocation":"31659:2:4","nodeType":"VariableDeclaration","scope":6567,"src":"31645:16:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6546,"name":"string","nodeType":"ElementaryTypeName","src":"31645:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31644:18:4"},"returnParameters":{"id":6549,"nodeType":"ParameterList","parameters":[],"src":"31676:0:4"},"scope":6568,"stateMutability":"view","virtual":false,"visibility":"private"}],"abstract":true,"baseContracts":[{"baseName":{"id":5774,"name":"StdCheatsSafe","nameLocations":["24581:13:4"],"nodeType":"IdentifierPath","referencedDeclaration":5773,"src":"24581:13:4"},"id":5775,"nodeType":"InheritanceSpecifier","src":"24581:13:4"}],"canonicalName":"StdCheats","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[6568,5773],"name":"StdCheats","nameLocation":"24568:9:4","scope":6569,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdConstants.sol":{"id":5,"ast":{"absolutePath":"lib/forge-std/src/StdConstants.sol","id":6610,"exportedSymbols":{"IMulticall3":[26284],"StdConstants":[6609],"Vm":[18001]},"nodeType":"SourceUnit","src":"32:1835:5","nodes":[{"id":6570,"nodeType":"PragmaDirective","src":"32:31:5","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":6572,"nodeType":"ImportDirective","src":"65:57:5","nodes":[],"absolutePath":"lib/forge-std/src/interfaces/IMulticall3.sol","file":"./interfaces/IMulticall3.sol","nameLocation":"-1:-1:-1","scope":6610,"sourceUnit":26285,"symbolAliases":[{"foreign":{"id":6571,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26284,"src":"73:11:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":6574,"nodeType":"ImportDirective","src":"123:28:5","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":6610,"sourceUnit":18002,"symbolAliases":[{"foreign":{"id":6573,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"131:2:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":6609,"nodeType":"ContractDefinition","src":"153:1713:5","nodes":[{"id":6581,"nodeType":"VariableDeclaration","src":"294:72:5","nodes":[],"constant":true,"documentation":{"id":6575,"nodeType":"StructuredDocumentation","src":"180:109:5","text":"@dev Cheat code address.\n Calculated as `address(uint160(uint256(keccak256(\"hevm cheat code\"))))`."},"mutability":"constant","name":"VM","nameLocation":"315:2:5","scope":6609,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":6577,"nodeType":"UserDefinedTypeName","pathNode":{"id":6576,"name":"Vm","nameLocations":["294:2:5"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"294:2:5"},"referencedDeclaration":18001,"src":"294:2:5","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"value":{"arguments":[{"hexValue":"307837313039373039454366613931613830363236664633393839443638663637463562314444313244","id":6579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"323:42:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x7109709ECfa91a80626fF3989D68f67F5b1DD12D"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6578,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"320:2:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":6580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"320:46:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"internal"},{"id":6585,"nodeType":"VariableDeclaration","src":"536:78:5","nodes":[],"constant":true,"documentation":{"id":6582,"nodeType":"StructuredDocumentation","src":"372:159:5","text":"@dev console.sol and console2.sol work by executing a staticcall to this address.\n Calculated as `address(uint160(uint88(bytes11(\"console.log\"))))`."},"mutability":"constant","name":"CONSOLE","nameLocation":"562:7:5","scope":6609,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6583,"name":"address","nodeType":"ElementaryTypeName","src":"536:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":6584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"572:42:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"internal"},{"id":6589,"nodeType":"VariableDeclaration","src":"746:86:5","nodes":[],"constant":true,"documentation":{"id":6586,"nodeType":"StructuredDocumentation","src":"620:121:5","text":"@dev Used when deploying with create2.\n Taken from https://github.com/Arachnid/deterministic-deployment-proxy."},"mutability":"constant","name":"CREATE2_FACTORY","nameLocation":"772:15:5","scope":6609,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6587,"name":"address","nodeType":"ElementaryTypeName","src":"746:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":6588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"790:42:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"visibility":"internal"},{"id":6593,"nodeType":"VariableDeclaration","src":"989:85:5","nodes":[],"constant":true,"documentation":{"id":6590,"nodeType":"StructuredDocumentation","src":"838:146:5","text":"@dev The default address for tx.origin and msg.sender.\n Calculated as `address(uint160(uint256(keccak256(\"foundry default caller\"))))`."},"mutability":"constant","name":"DEFAULT_SENDER","nameLocation":"1015:14:5","scope":6609,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6591,"name":"address","nodeType":"ElementaryTypeName","src":"989:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307831383034633841423146313245366262663338393464343038336633336530373330396431663338","id":6592,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1032:42:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38"},"visibility":"internal"},{"id":6597,"nodeType":"VariableDeclaration","src":"1355:92:5","nodes":[],"constant":true,"documentation":{"id":6594,"nodeType":"StructuredDocumentation","src":"1080:270:5","text":"@dev The address of the first contract `CREATE`d by a running test contract.\n When running tests, each test contract is `CREATE`d by `DEFAULT_SENDER` with nonce 1.\n Calculated as `VM.computeCreateAddress(VM.computeCreateAddress(DEFAULT_SENDER, 1), 1)`."},"mutability":"constant","name":"DEFAULT_TEST_CONTRACT","nameLocation":"1381:21:5","scope":6609,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6595,"name":"address","nodeType":"ElementaryTypeName","src":"1355:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307835363135644542373938424233453464466130313339644661316233443433334363323362373266","id":6596,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1405:42:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f"},"visibility":"internal"},{"id":6604,"nodeType":"VariableDeclaration","src":"1574:106:5","nodes":[],"constant":true,"documentation":{"id":6598,"nodeType":"StructuredDocumentation","src":"1453:116:5","text":"@dev Deterministic deployment address of the Multicall3 contract.\n Taken from https://www.multicall3.com."},"mutability":"constant","name":"MULTICALL3_ADDRESS","nameLocation":"1604:18:5","scope":6609,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$26284","typeString":"contract IMulticall3"},"typeName":{"id":6600,"nodeType":"UserDefinedTypeName","pathNode":{"id":6599,"name":"IMulticall3","nameLocations":["1574:11:5"],"nodeType":"IdentifierPath","referencedDeclaration":26284,"src":"1574:11:5"},"referencedDeclaration":26284,"src":"1574:11:5","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$26284","typeString":"contract IMulticall3"}},"value":{"arguments":[{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":6602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1637:42:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6601,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26284,"src":"1625:11:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$26284_$","typeString":"type(contract IMulticall3)"}},"id":6603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1625:55:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$26284","typeString":"contract IMulticall3"}},"visibility":"internal"},{"id":6608,"nodeType":"VariableDeclaration","src":"1733:130:5","nodes":[],"constant":true,"documentation":{"id":6605,"nodeType":"StructuredDocumentation","src":"1686:42:5","text":"@dev The order of the secp256k1 curve."},"mutability":"constant","name":"SECP256K1_ORDER","nameLocation":"1759:15:5","scope":6609,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6606,"name":"uint256","nodeType":"ElementaryTypeName","src":"1733:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383532383337353634323739303734393034333832363035313633313431353138313631343934333337","id":6607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1785:78:5","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907852837564279074904382605163141518161494337_by_1","typeString":"int_const 1157...(70 digits omitted)...4337"},"value":"115792089237316195423570985008687907852837564279074904382605163141518161494337"},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"StdConstants","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[6609],"name":"StdConstants","nameLocation":"161:12:5","scope":6610,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdError.sol":{"id":6,"ast":{"absolutePath":"lib/forge-std/src/StdError.sol","id":6676,"exportedSymbols":{"stdError":[6675]},"nodeType":"SourceUnit","src":"129:884:6","nodes":[{"id":6611,"nodeType":"PragmaDirective","src":"129:31:6","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":6675,"nodeType":"ContractDefinition","src":"162:850:6","nodes":[{"id":6618,"nodeType":"VariableDeclaration","src":"185:86:6","nodes":[],"constant":true,"functionSelector":"10332977","mutability":"constant","name":"assertionError","nameLocation":"207:14:6","scope":6675,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6612,"name":"bytes","nodeType":"ElementaryTypeName","src":"185:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"248:16:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783031","id":6616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"266:4:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":6613,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"224:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6614,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"228:19:6","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"224:23:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6617,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"224:47:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6625,"nodeType":"VariableDeclaration","src":"277:87:6","nodes":[],"constant":true,"functionSelector":"8995290f","mutability":"constant","name":"arithmeticError","nameLocation":"299:15:6","scope":6675,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6619,"name":"bytes","nodeType":"ElementaryTypeName","src":"277:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"341:16:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783131","id":6623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"359:4:6","typeDescriptions":{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"},"value":"0x11"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"}],"expression":{"id":6620,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"317:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6621,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"321:19:6","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"317:23:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"317:47:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6632,"nodeType":"VariableDeclaration","src":"370:85:6","nodes":[],"constant":true,"functionSelector":"fa784a44","mutability":"constant","name":"divisionError","nameLocation":"392:13:6","scope":6675,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6626,"name":"bytes","nodeType":"ElementaryTypeName","src":"370:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"432:16:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783132","id":6630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"450:4:6","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"0x12"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"expression":{"id":6627,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"408:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6628,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"412:19:6","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"408:23:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"408:47:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6639,"nodeType":"VariableDeclaration","src":"461:91:6","nodes":[],"constant":true,"functionSelector":"1de45560","mutability":"constant","name":"enumConversionError","nameLocation":"483:19:6","scope":6675,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6633,"name":"bytes","nodeType":"ElementaryTypeName","src":"461:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"529:16:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783231","id":6637,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"547:4:6","typeDescriptions":{"typeIdentifier":"t_rational_33_by_1","typeString":"int_const 33"},"value":"0x21"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_33_by_1","typeString":"int_const 33"}],"expression":{"id":6634,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"505:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6635,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"509:19:6","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"505:23:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"505:47:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6646,"nodeType":"VariableDeclaration","src":"558:90:6","nodes":[],"constant":true,"functionSelector":"d160e4de","mutability":"constant","name":"encodeStorageError","nameLocation":"580:18:6","scope":6675,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6640,"name":"bytes","nodeType":"ElementaryTypeName","src":"558:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"625:16:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783232","id":6644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"643:4:6","typeDescriptions":{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"},"value":"0x22"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"}],"expression":{"id":6641,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"601:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"605:19:6","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"601:23:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"601:47:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6653,"nodeType":"VariableDeclaration","src":"654:80:6","nodes":[],"constant":true,"functionSelector":"b22dc54d","mutability":"constant","name":"popError","nameLocation":"676:8:6","scope":6675,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6647,"name":"bytes","nodeType":"ElementaryTypeName","src":"654:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"711:16:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783331","id":6651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"729:4:6","typeDescriptions":{"typeIdentifier":"t_rational_49_by_1","typeString":"int_const 49"},"value":"0x31"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_49_by_1","typeString":"int_const 49"}],"expression":{"id":6648,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"687:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6649,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"691:19:6","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"687:23:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"687:47:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6660,"nodeType":"VariableDeclaration","src":"740:85:6","nodes":[],"constant":true,"functionSelector":"05ee8612","mutability":"constant","name":"indexOOBError","nameLocation":"762:13:6","scope":6675,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6654,"name":"bytes","nodeType":"ElementaryTypeName","src":"740:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"802:16:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783332","id":6658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"820:4:6","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"0x32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"}],"expression":{"id":6655,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"778:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6656,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"782:19:6","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"778:23:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"778:47:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6667,"nodeType":"VariableDeclaration","src":"831:88:6","nodes":[],"constant":true,"functionSelector":"986c5f68","mutability":"constant","name":"memOverflowError","nameLocation":"853:16:6","scope":6675,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6661,"name":"bytes","nodeType":"ElementaryTypeName","src":"831:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"896:16:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783431","id":6665,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"914:4:6","typeDescriptions":{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"},"value":"0x41"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"}],"expression":{"id":6662,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"872:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6663,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"876:19:6","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"872:23:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"872:47:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6674,"nodeType":"VariableDeclaration","src":"925:84:6","nodes":[],"constant":true,"functionSelector":"b67689da","mutability":"constant","name":"zeroVarError","nameLocation":"947:12:6","scope":6675,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6668,"name":"bytes","nodeType":"ElementaryTypeName","src":"925:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"986:16:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783531","id":6672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1004:4:6","typeDescriptions":{"typeIdentifier":"t_rational_81_by_1","typeString":"int_const 81"},"value":"0x51"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_81_by_1","typeString":"int_const 81"}],"expression":{"id":6669,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"962:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6670,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"966:19:6","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"962:23:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"962:47:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"stdError","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[6675],"name":"stdError","nameLocation":"170:8:6","scope":6676,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdInvariant.sol":{"id":7,"ast":{"absolutePath":"lib/forge-std/src/StdInvariant.sol","id":6970,"exportedSymbols":{"StdInvariant":[6969]},"nodeType":"SourceUnit","src":"32:3945:7","nodes":[{"id":6677,"nodeType":"PragmaDirective","src":"32:31:7","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":6678,"nodeType":"PragmaDirective","src":"65:33:7","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":6969,"nodeType":"ContractDefinition","src":"100:3876:7","nodes":[{"id":6684,"nodeType":"StructDefinition","src":"137:77:7","nodes":[],"canonicalName":"StdInvariant.FuzzSelector","members":[{"constant":false,"id":6680,"mutability":"mutable","name":"addr","nameLocation":"175:4:7","nodeType":"VariableDeclaration","scope":6684,"src":"167:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6679,"name":"address","nodeType":"ElementaryTypeName","src":"167:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6683,"mutability":"mutable","name":"selectors","nameLocation":"198:9:7","nodeType":"VariableDeclaration","scope":6684,"src":"189:18:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"},"typeName":{"baseType":{"id":6681,"name":"bytes4","nodeType":"ElementaryTypeName","src":"189:6:7","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":6682,"nodeType":"ArrayTypeName","src":"189:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"}},"visibility":"internal"}],"name":"FuzzSelector","nameLocation":"144:12:7","scope":6969,"visibility":"public"},{"id":6690,"nodeType":"StructDefinition","src":"220:88:7","nodes":[],"canonicalName":"StdInvariant.FuzzArtifactSelector","members":[{"constant":false,"id":6686,"mutability":"mutable","name":"artifact","nameLocation":"265:8:7","nodeType":"VariableDeclaration","scope":6690,"src":"258:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":6685,"name":"string","nodeType":"ElementaryTypeName","src":"258:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6689,"mutability":"mutable","name":"selectors","nameLocation":"292:9:7","nodeType":"VariableDeclaration","scope":6690,"src":"283:18:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"},"typeName":{"baseType":{"id":6687,"name":"bytes4","nodeType":"ElementaryTypeName","src":"283:6:7","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":6688,"nodeType":"ArrayTypeName","src":"283:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"}},"visibility":"internal"}],"name":"FuzzArtifactSelector","nameLocation":"227:20:7","scope":6969,"visibility":"public"},{"id":6696,"nodeType":"StructDefinition","src":"314:78:7","nodes":[],"canonicalName":"StdInvariant.FuzzInterface","members":[{"constant":false,"id":6692,"mutability":"mutable","name":"addr","nameLocation":"353:4:7","nodeType":"VariableDeclaration","scope":6696,"src":"345:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6691,"name":"address","nodeType":"ElementaryTypeName","src":"345:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6695,"mutability":"mutable","name":"artifacts","nameLocation":"376:9:7","nodeType":"VariableDeclaration","scope":6696,"src":"367:18:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":6693,"name":"string","nodeType":"ElementaryTypeName","src":"367:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":6694,"nodeType":"ArrayTypeName","src":"367:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"name":"FuzzInterface","nameLocation":"321:13:7","scope":6969,"visibility":"public"},{"id":6699,"nodeType":"VariableDeclaration","src":"398:36:7","nodes":[],"constant":false,"mutability":"mutable","name":"_excludedContracts","nameLocation":"416:18:7","scope":6969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":6697,"name":"address","nodeType":"ElementaryTypeName","src":"398:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6698,"nodeType":"ArrayTypeName","src":"398:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"id":6702,"nodeType":"VariableDeclaration","src":"440:34:7","nodes":[],"constant":false,"mutability":"mutable","name":"_excludedSenders","nameLocation":"458:16:7","scope":6969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":6700,"name":"address","nodeType":"ElementaryTypeName","src":"440:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6701,"nodeType":"ArrayTypeName","src":"440:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"id":6705,"nodeType":"VariableDeclaration","src":"480:36:7","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedContracts","nameLocation":"498:18:7","scope":6969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":6703,"name":"address","nodeType":"ElementaryTypeName","src":"480:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6704,"nodeType":"ArrayTypeName","src":"480:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"id":6708,"nodeType":"VariableDeclaration","src":"522:34:7","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedSenders","nameLocation":"540:16:7","scope":6969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":6706,"name":"address","nodeType":"ElementaryTypeName","src":"522:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6707,"nodeType":"ArrayTypeName","src":"522:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"id":6711,"nodeType":"VariableDeclaration","src":"563:35:7","nodes":[],"constant":false,"mutability":"mutable","name":"_excludedArtifacts","nameLocation":"580:18:7","scope":6969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string[]"},"typeName":{"baseType":{"id":6709,"name":"string","nodeType":"ElementaryTypeName","src":"563:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":6710,"nodeType":"ArrayTypeName","src":"563:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"private"},{"id":6714,"nodeType":"VariableDeclaration","src":"604:35:7","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedArtifacts","nameLocation":"621:18:7","scope":6969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string[]"},"typeName":{"baseType":{"id":6712,"name":"string","nodeType":"ElementaryTypeName","src":"604:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":6713,"nodeType":"ArrayTypeName","src":"604:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"private"},{"id":6718,"nodeType":"VariableDeclaration","src":"646:57:7","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedArtifactSelectors","nameLocation":"677:26:7","scope":6969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$6690_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzArtifactSelector[]"},"typeName":{"baseType":{"id":6716,"nodeType":"UserDefinedTypeName","pathNode":{"id":6715,"name":"FuzzArtifactSelector","nameLocations":["646:20:7"],"nodeType":"IdentifierPath","referencedDeclaration":6690,"src":"646:20:7"},"referencedDeclaration":6690,"src":"646:20:7","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzArtifactSelector_$6690_storage_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector"}},"id":6717,"nodeType":"ArrayTypeName","src":"646:22:7","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$6690_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector[]"}},"visibility":"private"},{"id":6722,"nodeType":"VariableDeclaration","src":"710:41:7","nodes":[],"constant":false,"mutability":"mutable","name":"_excludedSelectors","nameLocation":"733:18:7","scope":6969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6684_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector[]"},"typeName":{"baseType":{"id":6720,"nodeType":"UserDefinedTypeName","pathNode":{"id":6719,"name":"FuzzSelector","nameLocations":["710:12:7"],"nodeType":"IdentifierPath","referencedDeclaration":6684,"src":"710:12:7"},"referencedDeclaration":6684,"src":"710:12:7","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6684_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"id":6721,"nodeType":"ArrayTypeName","src":"710:14:7","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6684_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzSelector[]"}},"visibility":"private"},{"id":6726,"nodeType":"VariableDeclaration","src":"757:41:7","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedSelectors","nameLocation":"780:18:7","scope":6969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6684_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector[]"},"typeName":{"baseType":{"id":6724,"nodeType":"UserDefinedTypeName","pathNode":{"id":6723,"name":"FuzzSelector","nameLocations":["757:12:7"],"nodeType":"IdentifierPath","referencedDeclaration":6684,"src":"757:12:7"},"referencedDeclaration":6684,"src":"757:12:7","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6684_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"id":6725,"nodeType":"ArrayTypeName","src":"757:14:7","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6684_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzSelector[]"}},"visibility":"private"},{"id":6730,"nodeType":"VariableDeclaration","src":"805:43:7","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedInterfaces","nameLocation":"829:19:7","scope":6969,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$6696_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzInterface[]"},"typeName":{"baseType":{"id":6728,"nodeType":"UserDefinedTypeName","pathNode":{"id":6727,"name":"FuzzInterface","nameLocations":["805:13:7"],"nodeType":"IdentifierPath","referencedDeclaration":6696,"src":"805:13:7"},"referencedDeclaration":6696,"src":"805:13:7","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzInterface_$6696_storage_ptr","typeString":"struct StdInvariant.FuzzInterface"}},"id":6729,"nodeType":"ArrayTypeName","src":"805:15:7","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$6696_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzInterface[]"}},"visibility":"private"},{"id":6742,"nodeType":"FunctionDefinition","src":"933:126:7","nodes":[],"body":{"id":6741,"nodeType":"Block","src":"997:62:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6738,"name":"newExcludedContract_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6732,"src":"1031:20:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6735,"name":"_excludedContracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6699,"src":"1007:18:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":6737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1026:4:7","memberName":"push","nodeType":"MemberAccess","src":"1007:23:7","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":6739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1007:45:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6740,"nodeType":"ExpressionStatement","src":"1007:45:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"excludeContract","nameLocation":"942:15:7","parameters":{"id":6733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6732,"mutability":"mutable","name":"newExcludedContract_","nameLocation":"966:20:7","nodeType":"VariableDeclaration","scope":6742,"src":"958:28:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6731,"name":"address","nodeType":"ElementaryTypeName","src":"958:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"957:30:7"},"returnParameters":{"id":6734,"nodeType":"ParameterList","parameters":[],"src":"997:0:7"},"scope":6969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6755,"nodeType":"FunctionDefinition","src":"1065:138:7","nodes":[],"body":{"id":6754,"nodeType":"Block","src":"1141:62:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6751,"name":"newExcludedSelector_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6745,"src":"1175:20:7","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6684_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_FuzzSelector_$6684_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory"}],"expression":{"id":6748,"name":"_excludedSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6722,"src":"1151:18:7","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6684_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector storage ref[] storage ref"}},"id":6750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1170:4:7","memberName":"push","nodeType":"MemberAccess","src":"1151:23:7","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_FuzzSelector_$6684_storage_$dyn_storage_ptr_$_t_struct$_FuzzSelector_$6684_storage_$returns$__$attached_to$_t_array$_t_struct$_FuzzSelector_$6684_storage_$dyn_storage_ptr_$","typeString":"function (struct StdInvariant.FuzzSelector storage ref[] storage pointer,struct StdInvariant.FuzzSelector storage ref)"}},"id":6752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1151:45:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6753,"nodeType":"ExpressionStatement","src":"1151:45:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"excludeSelector","nameLocation":"1074:15:7","parameters":{"id":6746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6745,"mutability":"mutable","name":"newExcludedSelector_","nameLocation":"1110:20:7","nodeType":"VariableDeclaration","scope":6755,"src":"1090:40:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6684_memory_ptr","typeString":"struct StdInvariant.FuzzSelector"},"typeName":{"id":6744,"nodeType":"UserDefinedTypeName","pathNode":{"id":6743,"name":"FuzzSelector","nameLocations":["1090:12:7"],"nodeType":"IdentifierPath","referencedDeclaration":6684,"src":"1090:12:7"},"referencedDeclaration":6684,"src":"1090:12:7","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6684_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"visibility":"internal"}],"src":"1089:42:7"},"returnParameters":{"id":6747,"nodeType":"ParameterList","parameters":[],"src":"1141:0:7"},"scope":6969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6767,"nodeType":"FunctionDefinition","src":"1209:118:7","nodes":[],"body":{"id":6766,"nodeType":"Block","src":"1269:58:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6763,"name":"newExcludedSender_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6757,"src":"1301:18:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6760,"name":"_excludedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6702,"src":"1279:16:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":6762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1296:4:7","memberName":"push","nodeType":"MemberAccess","src":"1279:21:7","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":6764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1279:41:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6765,"nodeType":"ExpressionStatement","src":"1279:41:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"excludeSender","nameLocation":"1218:13:7","parameters":{"id":6758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6757,"mutability":"mutable","name":"newExcludedSender_","nameLocation":"1240:18:7","nodeType":"VariableDeclaration","scope":6767,"src":"1232:26:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6756,"name":"address","nodeType":"ElementaryTypeName","src":"1232:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1231:28:7"},"returnParameters":{"id":6759,"nodeType":"ParameterList","parameters":[],"src":"1269:0:7"},"scope":6969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6779,"nodeType":"FunctionDefinition","src":"1333:132:7","nodes":[],"body":{"id":6778,"nodeType":"Block","src":"1403:62:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6775,"name":"newExcludedArtifact_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6769,"src":"1437:20:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6772,"name":"_excludedArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6711,"src":"1413:18:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"id":6774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1432:4:7","memberName":"push","nodeType":"MemberAccess","src":"1413:23:7","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_string_storage_$dyn_storage_ptr_$_t_string_storage_$returns$__$attached_to$_t_array$_t_string_storage_$dyn_storage_ptr_$","typeString":"function (string storage ref[] storage pointer,string storage ref)"}},"id":6776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1413:45:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6777,"nodeType":"ExpressionStatement","src":"1413:45:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"excludeArtifact","nameLocation":"1342:15:7","parameters":{"id":6770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6769,"mutability":"mutable","name":"newExcludedArtifact_","nameLocation":"1372:20:7","nodeType":"VariableDeclaration","scope":6779,"src":"1358:34:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6768,"name":"string","nodeType":"ElementaryTypeName","src":"1358:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1357:36:7"},"returnParameters":{"id":6771,"nodeType":"ParameterList","parameters":[],"src":"1403:0:7"},"scope":6969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6791,"nodeType":"FunctionDefinition","src":"1471:131:7","nodes":[],"body":{"id":6790,"nodeType":"Block","src":"1540:62:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6787,"name":"newTargetedArtifact_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6781,"src":"1574:20:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6784,"name":"_targetedArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6714,"src":"1550:18:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"id":6786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1569:4:7","memberName":"push","nodeType":"MemberAccess","src":"1550:23:7","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_string_storage_$dyn_storage_ptr_$_t_string_storage_$returns$__$attached_to$_t_array$_t_string_storage_$dyn_storage_ptr_$","typeString":"function (string storage ref[] storage pointer,string storage ref)"}},"id":6788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1550:45:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6789,"nodeType":"ExpressionStatement","src":"1550:45:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetArtifact","nameLocation":"1480:14:7","parameters":{"id":6782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6781,"mutability":"mutable","name":"newTargetedArtifact_","nameLocation":"1509:20:7","nodeType":"VariableDeclaration","scope":6791,"src":"1495:34:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6780,"name":"string","nodeType":"ElementaryTypeName","src":"1495:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1494:36:7"},"returnParameters":{"id":6783,"nodeType":"ParameterList","parameters":[],"src":"1540:0:7"},"scope":6969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6804,"nodeType":"FunctionDefinition","src":"1608:177:7","nodes":[],"body":{"id":6803,"nodeType":"Block","src":"1707:78:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6800,"name":"newTargetedArtifactSelector_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6794,"src":"1749:28:7","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzArtifactSelector_$6690_memory_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_FuzzArtifactSelector_$6690_memory_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector memory"}],"expression":{"id":6797,"name":"_targetedArtifactSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6718,"src":"1717:26:7","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$6690_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzArtifactSelector storage ref[] storage ref"}},"id":6799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1744:4:7","memberName":"push","nodeType":"MemberAccess","src":"1717:31:7","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_FuzzArtifactSelector_$6690_storage_$dyn_storage_ptr_$_t_struct$_FuzzArtifactSelector_$6690_storage_$returns$__$attached_to$_t_array$_t_struct$_FuzzArtifactSelector_$6690_storage_$dyn_storage_ptr_$","typeString":"function (struct StdInvariant.FuzzArtifactSelector storage ref[] storage pointer,struct StdInvariant.FuzzArtifactSelector storage ref)"}},"id":6801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1717:61:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6802,"nodeType":"ExpressionStatement","src":"1717:61:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetArtifactSelector","nameLocation":"1617:22:7","parameters":{"id":6795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6794,"mutability":"mutable","name":"newTargetedArtifactSelector_","nameLocation":"1668:28:7","nodeType":"VariableDeclaration","scope":6804,"src":"1640:56:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzArtifactSelector_$6690_memory_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector"},"typeName":{"id":6793,"nodeType":"UserDefinedTypeName","pathNode":{"id":6792,"name":"FuzzArtifactSelector","nameLocations":["1640:20:7"],"nodeType":"IdentifierPath","referencedDeclaration":6690,"src":"1640:20:7"},"referencedDeclaration":6690,"src":"1640:20:7","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzArtifactSelector_$6690_storage_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector"}},"visibility":"internal"}],"src":"1639:58:7"},"returnParameters":{"id":6796,"nodeType":"ParameterList","parameters":[],"src":"1707:0:7"},"scope":6969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6816,"nodeType":"FunctionDefinition","src":"1791:125:7","nodes":[],"body":{"id":6815,"nodeType":"Block","src":"1854:62:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6812,"name":"newTargetedContract_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6806,"src":"1888:20:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6809,"name":"_targetedContracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6705,"src":"1864:18:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":6811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1883:4:7","memberName":"push","nodeType":"MemberAccess","src":"1864:23:7","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":6813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1864:45:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6814,"nodeType":"ExpressionStatement","src":"1864:45:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetContract","nameLocation":"1800:14:7","parameters":{"id":6807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6806,"mutability":"mutable","name":"newTargetedContract_","nameLocation":"1823:20:7","nodeType":"VariableDeclaration","scope":6816,"src":"1815:28:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6805,"name":"address","nodeType":"ElementaryTypeName","src":"1815:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1814:30:7"},"returnParameters":{"id":6808,"nodeType":"ParameterList","parameters":[],"src":"1854:0:7"},"scope":6969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6829,"nodeType":"FunctionDefinition","src":"1922:137:7","nodes":[],"body":{"id":6828,"nodeType":"Block","src":"1997:62:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6825,"name":"newTargetedSelector_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6819,"src":"2031:20:7","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6684_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_FuzzSelector_$6684_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory"}],"expression":{"id":6822,"name":"_targetedSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6726,"src":"2007:18:7","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6684_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector storage ref[] storage ref"}},"id":6824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2026:4:7","memberName":"push","nodeType":"MemberAccess","src":"2007:23:7","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_FuzzSelector_$6684_storage_$dyn_storage_ptr_$_t_struct$_FuzzSelector_$6684_storage_$returns$__$attached_to$_t_array$_t_struct$_FuzzSelector_$6684_storage_$dyn_storage_ptr_$","typeString":"function (struct StdInvariant.FuzzSelector storage ref[] storage pointer,struct StdInvariant.FuzzSelector storage ref)"}},"id":6826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2007:45:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6827,"nodeType":"ExpressionStatement","src":"2007:45:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetSelector","nameLocation":"1931:14:7","parameters":{"id":6820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6819,"mutability":"mutable","name":"newTargetedSelector_","nameLocation":"1966:20:7","nodeType":"VariableDeclaration","scope":6829,"src":"1946:40:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6684_memory_ptr","typeString":"struct StdInvariant.FuzzSelector"},"typeName":{"id":6818,"nodeType":"UserDefinedTypeName","pathNode":{"id":6817,"name":"FuzzSelector","nameLocations":["1946:12:7"],"nodeType":"IdentifierPath","referencedDeclaration":6684,"src":"1946:12:7"},"referencedDeclaration":6684,"src":"1946:12:7","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6684_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"visibility":"internal"}],"src":"1945:42:7"},"returnParameters":{"id":6821,"nodeType":"ParameterList","parameters":[],"src":"1997:0:7"},"scope":6969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6841,"nodeType":"FunctionDefinition","src":"2065:117:7","nodes":[],"body":{"id":6840,"nodeType":"Block","src":"2124:58:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6837,"name":"newTargetedSender_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6831,"src":"2156:18:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6834,"name":"_targetedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6708,"src":"2134:16:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":6836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2151:4:7","memberName":"push","nodeType":"MemberAccess","src":"2134:21:7","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":6838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2134:41:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6839,"nodeType":"ExpressionStatement","src":"2134:41:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetSender","nameLocation":"2074:12:7","parameters":{"id":6832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6831,"mutability":"mutable","name":"newTargetedSender_","nameLocation":"2095:18:7","nodeType":"VariableDeclaration","scope":6841,"src":"2087:26:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6830,"name":"address","nodeType":"ElementaryTypeName","src":"2087:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2086:28:7"},"returnParameters":{"id":6833,"nodeType":"ParameterList","parameters":[],"src":"2124:0:7"},"scope":6969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6854,"nodeType":"FunctionDefinition","src":"2188:142:7","nodes":[],"body":{"id":6853,"nodeType":"Block","src":"2266:64:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6850,"name":"newTargetedInterface_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6844,"src":"2301:21:7","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzInterface_$6696_memory_ptr","typeString":"struct StdInvariant.FuzzInterface memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_FuzzInterface_$6696_memory_ptr","typeString":"struct StdInvariant.FuzzInterface memory"}],"expression":{"id":6847,"name":"_targetedInterfaces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6730,"src":"2276:19:7","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$6696_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzInterface storage ref[] storage ref"}},"id":6849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2296:4:7","memberName":"push","nodeType":"MemberAccess","src":"2276:24:7","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_FuzzInterface_$6696_storage_$dyn_storage_ptr_$_t_struct$_FuzzInterface_$6696_storage_$returns$__$attached_to$_t_array$_t_struct$_FuzzInterface_$6696_storage_$dyn_storage_ptr_$","typeString":"function (struct StdInvariant.FuzzInterface storage ref[] storage pointer,struct StdInvariant.FuzzInterface storage ref)"}},"id":6851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2276:47:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6852,"nodeType":"ExpressionStatement","src":"2276:47:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetInterface","nameLocation":"2197:15:7","parameters":{"id":6845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6844,"mutability":"mutable","name":"newTargetedInterface_","nameLocation":"2234:21:7","nodeType":"VariableDeclaration","scope":6854,"src":"2213:42:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzInterface_$6696_memory_ptr","typeString":"struct StdInvariant.FuzzInterface"},"typeName":{"id":6843,"nodeType":"UserDefinedTypeName","pathNode":{"id":6842,"name":"FuzzInterface","nameLocations":["2213:13:7"],"nodeType":"IdentifierPath","referencedDeclaration":6696,"src":"2213:13:7"},"referencedDeclaration":6696,"src":"2213:13:7","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzInterface_$6696_storage_ptr","typeString":"struct StdInvariant.FuzzInterface"}},"visibility":"internal"}],"src":"2212:44:7"},"returnParameters":{"id":6846,"nodeType":"ParameterList","parameters":[],"src":"2266:0:7"},"scope":6969,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6865,"nodeType":"FunctionDefinition","src":"2459:141:7","nodes":[],"body":{"id":6864,"nodeType":"Block","src":"2544:56:7","nodes":[],"statements":[{"expression":{"id":6862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6860,"name":"excludedArtifacts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6858,"src":"2554:18:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6861,"name":"_excludedArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6711,"src":"2575:18:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"src":"2554:39:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":6863,"nodeType":"ExpressionStatement","src":"2554:39:7"}]},"functionSelector":"b5508aa9","implemented":true,"kind":"function","modifiers":[],"name":"excludeArtifacts","nameLocation":"2468:16:7","parameters":{"id":6855,"nodeType":"ParameterList","parameters":[],"src":"2484:2:7"},"returnParameters":{"id":6859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6858,"mutability":"mutable","name":"excludedArtifacts_","nameLocation":"2524:18:7","nodeType":"VariableDeclaration","scope":6865,"src":"2508:34:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":6856,"name":"string","nodeType":"ElementaryTypeName","src":"2508:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":6857,"nodeType":"ArrayTypeName","src":"2508:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"2507:36:7"},"scope":6969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":6876,"nodeType":"FunctionDefinition","src":"2606:142:7","nodes":[],"body":{"id":6875,"nodeType":"Block","src":"2692:56:7","nodes":[],"statements":[{"expression":{"id":6873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6871,"name":"excludedContracts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6869,"src":"2702:18:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6872,"name":"_excludedContracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6699,"src":"2723:18:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"src":"2702:39:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":6874,"nodeType":"ExpressionStatement","src":"2702:39:7"}]},"functionSelector":"e20c9f71","implemented":true,"kind":"function","modifiers":[],"name":"excludeContracts","nameLocation":"2615:16:7","parameters":{"id":6866,"nodeType":"ParameterList","parameters":[],"src":"2631:2:7"},"returnParameters":{"id":6870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6869,"mutability":"mutable","name":"excludedContracts_","nameLocation":"2672:18:7","nodeType":"VariableDeclaration","scope":6876,"src":"2655:35:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6867,"name":"address","nodeType":"ElementaryTypeName","src":"2655:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6868,"nodeType":"ArrayTypeName","src":"2655:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2654:37:7"},"scope":6969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":6888,"nodeType":"FunctionDefinition","src":"2754:147:7","nodes":[],"body":{"id":6887,"nodeType":"Block","src":"2845:56:7","nodes":[],"statements":[{"expression":{"id":6885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6883,"name":"excludedSelectors_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6881,"src":"2855:18:7","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6684_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6884,"name":"_excludedSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6722,"src":"2876:18:7","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6684_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector storage ref[] storage ref"}},"src":"2855:39:7","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6684_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory[] memory"}},"id":6886,"nodeType":"ExpressionStatement","src":"2855:39:7"}]},"functionSelector":"b0464fdc","implemented":true,"kind":"function","modifiers":[],"name":"excludeSelectors","nameLocation":"2763:16:7","parameters":{"id":6877,"nodeType":"ParameterList","parameters":[],"src":"2779:2:7"},"returnParameters":{"id":6882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6881,"mutability":"mutable","name":"excludedSelectors_","nameLocation":"2825:18:7","nodeType":"VariableDeclaration","scope":6888,"src":"2803:40:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6684_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector[]"},"typeName":{"baseType":{"id":6879,"nodeType":"UserDefinedTypeName","pathNode":{"id":6878,"name":"FuzzSelector","nameLocations":["2803:12:7"],"nodeType":"IdentifierPath","referencedDeclaration":6684,"src":"2803:12:7"},"referencedDeclaration":6684,"src":"2803:12:7","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6684_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"id":6880,"nodeType":"ArrayTypeName","src":"2803:14:7","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6684_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzSelector[]"}},"visibility":"internal"}],"src":"2802:42:7"},"scope":6969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":6899,"nodeType":"FunctionDefinition","src":"2907:134:7","nodes":[],"body":{"id":6898,"nodeType":"Block","src":"2989:52:7","nodes":[],"statements":[{"expression":{"id":6896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6894,"name":"excludedSenders_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6892,"src":"2999:16:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6895,"name":"_excludedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6702,"src":"3018:16:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"src":"2999:35:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":6897,"nodeType":"ExpressionStatement","src":"2999:35:7"}]},"functionSelector":"1ed7831c","implemented":true,"kind":"function","modifiers":[],"name":"excludeSenders","nameLocation":"2916:14:7","parameters":{"id":6889,"nodeType":"ParameterList","parameters":[],"src":"2930:2:7"},"returnParameters":{"id":6893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6892,"mutability":"mutable","name":"excludedSenders_","nameLocation":"2971:16:7","nodeType":"VariableDeclaration","scope":6899,"src":"2954:33:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6890,"name":"address","nodeType":"ElementaryTypeName","src":"2954:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6891,"nodeType":"ArrayTypeName","src":"2954:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2953:35:7"},"scope":6969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":6910,"nodeType":"FunctionDefinition","src":"3047:140:7","nodes":[],"body":{"id":6909,"nodeType":"Block","src":"3131:56:7","nodes":[],"statements":[{"expression":{"id":6907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6905,"name":"targetedArtifacts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6903,"src":"3141:18:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6906,"name":"_targetedArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6714,"src":"3162:18:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"src":"3141:39:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":6908,"nodeType":"ExpressionStatement","src":"3141:39:7"}]},"functionSelector":"85226c81","implemented":true,"kind":"function","modifiers":[],"name":"targetArtifacts","nameLocation":"3056:15:7","parameters":{"id":6900,"nodeType":"ParameterList","parameters":[],"src":"3071:2:7"},"returnParameters":{"id":6904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6903,"mutability":"mutable","name":"targetedArtifacts_","nameLocation":"3111:18:7","nodeType":"VariableDeclaration","scope":6910,"src":"3095:34:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":6901,"name":"string","nodeType":"ElementaryTypeName","src":"3095:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":6902,"nodeType":"ArrayTypeName","src":"3095:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"3094:36:7"},"scope":6969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":6922,"nodeType":"FunctionDefinition","src":"3193:186:7","nodes":[],"body":{"id":6921,"nodeType":"Block","src":"3307:72:7","nodes":[],"statements":[{"expression":{"id":6919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6917,"name":"targetedArtifactSelectors_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6915,"src":"3317:26:7","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$6690_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6918,"name":"_targetedArtifactSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6718,"src":"3346:26:7","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$6690_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzArtifactSelector storage ref[] storage ref"}},"src":"3317:55:7","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$6690_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector memory[] memory"}},"id":6920,"nodeType":"ExpressionStatement","src":"3317:55:7"}]},"functionSelector":"66d9a9a0","implemented":true,"kind":"function","modifiers":[],"name":"targetArtifactSelectors","nameLocation":"3202:23:7","parameters":{"id":6911,"nodeType":"ParameterList","parameters":[],"src":"3225:2:7"},"returnParameters":{"id":6916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6915,"mutability":"mutable","name":"targetedArtifactSelectors_","nameLocation":"3279:26:7","nodeType":"VariableDeclaration","scope":6922,"src":"3249:56:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$6690_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector[]"},"typeName":{"baseType":{"id":6913,"nodeType":"UserDefinedTypeName","pathNode":{"id":6912,"name":"FuzzArtifactSelector","nameLocations":["3249:20:7"],"nodeType":"IdentifierPath","referencedDeclaration":6690,"src":"3249:20:7"},"referencedDeclaration":6690,"src":"3249:20:7","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzArtifactSelector_$6690_storage_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector"}},"id":6914,"nodeType":"ArrayTypeName","src":"3249:22:7","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$6690_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector[]"}},"visibility":"internal"}],"src":"3248:58:7"},"scope":6969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":6933,"nodeType":"FunctionDefinition","src":"3385:141:7","nodes":[],"body":{"id":6932,"nodeType":"Block","src":"3470:56:7","nodes":[],"statements":[{"expression":{"id":6930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6928,"name":"targetedContracts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6926,"src":"3480:18:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6929,"name":"_targetedContracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6705,"src":"3501:18:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"src":"3480:39:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":6931,"nodeType":"ExpressionStatement","src":"3480:39:7"}]},"functionSelector":"3f7286f4","implemented":true,"kind":"function","modifiers":[],"name":"targetContracts","nameLocation":"3394:15:7","parameters":{"id":6923,"nodeType":"ParameterList","parameters":[],"src":"3409:2:7"},"returnParameters":{"id":6927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6926,"mutability":"mutable","name":"targetedContracts_","nameLocation":"3450:18:7","nodeType":"VariableDeclaration","scope":6933,"src":"3433:35:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6924,"name":"address","nodeType":"ElementaryTypeName","src":"3433:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6925,"nodeType":"ArrayTypeName","src":"3433:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"3432:37:7"},"scope":6969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":6945,"nodeType":"FunctionDefinition","src":"3532:146:7","nodes":[],"body":{"id":6944,"nodeType":"Block","src":"3622:56:7","nodes":[],"statements":[{"expression":{"id":6942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6940,"name":"targetedSelectors_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6938,"src":"3632:18:7","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6684_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6941,"name":"_targetedSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6726,"src":"3653:18:7","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6684_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector storage ref[] storage ref"}},"src":"3632:39:7","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6684_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory[] memory"}},"id":6943,"nodeType":"ExpressionStatement","src":"3632:39:7"}]},"functionSelector":"916a17c6","implemented":true,"kind":"function","modifiers":[],"name":"targetSelectors","nameLocation":"3541:15:7","parameters":{"id":6934,"nodeType":"ParameterList","parameters":[],"src":"3556:2:7"},"returnParameters":{"id":6939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6938,"mutability":"mutable","name":"targetedSelectors_","nameLocation":"3602:18:7","nodeType":"VariableDeclaration","scope":6945,"src":"3580:40:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6684_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector[]"},"typeName":{"baseType":{"id":6936,"nodeType":"UserDefinedTypeName","pathNode":{"id":6935,"name":"FuzzSelector","nameLocations":["3580:12:7"],"nodeType":"IdentifierPath","referencedDeclaration":6684,"src":"3580:12:7"},"referencedDeclaration":6684,"src":"3580:12:7","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6684_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"id":6937,"nodeType":"ArrayTypeName","src":"3580:14:7","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6684_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzSelector[]"}},"visibility":"internal"}],"src":"3579:42:7"},"scope":6969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":6956,"nodeType":"FunctionDefinition","src":"3684:133:7","nodes":[],"body":{"id":6955,"nodeType":"Block","src":"3765:52:7","nodes":[],"statements":[{"expression":{"id":6953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6951,"name":"targetedSenders_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6949,"src":"3775:16:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6952,"name":"_targetedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6708,"src":"3794:16:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"src":"3775:35:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":6954,"nodeType":"ExpressionStatement","src":"3775:35:7"}]},"functionSelector":"3e5e3c23","implemented":true,"kind":"function","modifiers":[],"name":"targetSenders","nameLocation":"3693:13:7","parameters":{"id":6946,"nodeType":"ParameterList","parameters":[],"src":"3706:2:7"},"returnParameters":{"id":6950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6949,"mutability":"mutable","name":"targetedSenders_","nameLocation":"3747:16:7","nodeType":"VariableDeclaration","scope":6956,"src":"3730:33:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6947,"name":"address","nodeType":"ElementaryTypeName","src":"3730:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6948,"nodeType":"ArrayTypeName","src":"3730:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"3729:35:7"},"scope":6969,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":6968,"nodeType":"FunctionDefinition","src":"3823:151:7","nodes":[],"body":{"id":6967,"nodeType":"Block","src":"3916:58:7","nodes":[],"statements":[{"expression":{"id":6965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6963,"name":"targetedInterfaces_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6961,"src":"3926:19:7","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$6696_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzInterface memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6964,"name":"_targetedInterfaces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6730,"src":"3948:19:7","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$6696_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzInterface storage ref[] storage ref"}},"src":"3926:41:7","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$6696_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzInterface memory[] memory"}},"id":6966,"nodeType":"ExpressionStatement","src":"3926:41:7"}]},"functionSelector":"2ade3880","implemented":true,"kind":"function","modifiers":[],"name":"targetInterfaces","nameLocation":"3832:16:7","parameters":{"id":6957,"nodeType":"ParameterList","parameters":[],"src":"3848:2:7"},"returnParameters":{"id":6962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6961,"mutability":"mutable","name":"targetedInterfaces_","nameLocation":"3895:19:7","nodeType":"VariableDeclaration","scope":6968,"src":"3872:42:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$6696_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzInterface[]"},"typeName":{"baseType":{"id":6959,"nodeType":"UserDefinedTypeName","pathNode":{"id":6958,"name":"FuzzInterface","nameLocations":["3872:13:7"],"nodeType":"IdentifierPath","referencedDeclaration":6696,"src":"3872:13:7"},"referencedDeclaration":6696,"src":"3872:13:7","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzInterface_$6696_storage_ptr","typeString":"struct StdInvariant.FuzzInterface"}},"id":6960,"nodeType":"ArrayTypeName","src":"3872:15:7","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$6696_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzInterface[]"}},"visibility":"internal"}],"src":"3871:44:7"},"scope":6969,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":true,"baseContracts":[],"canonicalName":"StdInvariant","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[6969],"name":"StdInvariant","nameLocation":"118:12:7","scope":6970,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdJson.sol":{"id":8,"ast":{"absolutePath":"lib/forge-std/src/StdJson.sol","id":7914,"exportedSymbols":{"VmSafe":[16930],"stdJson":[7913]},"nodeType":"SourceUnit","src":"32:9671:8","nodes":[{"id":6971,"nodeType":"PragmaDirective","src":"32:31:8","nodes":[],"literals":["solidity",">=","0.6",".0","<","0.9",".0"]},{"id":6972,"nodeType":"PragmaDirective","src":"65:33:8","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":6974,"nodeType":"ImportDirective","src":"100:32:8","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":7914,"sourceUnit":18002,"symbolAliases":[{"foreign":{"id":6973,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16930,"src":"108:6:8","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":7913,"nodeType":"ContractDefinition","src":"610:9092:8","nodes":[{"id":6991,"nodeType":"VariableDeclaration","src":"632:92:8","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"656:2:8","scope":7913,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"},"typeName":{"id":6976,"nodeType":"UserDefinedTypeName","pathNode":{"id":6975,"name":"VmSafe","nameLocations":["632:6:8"],"nodeType":"IdentifierPath","referencedDeclaration":16930,"src":"632:6:8"},"referencedDeclaration":16930,"src":"632:6:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":6985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"702:17:8","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":6984,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"692:9:8","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":6986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"692:28:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":6983,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"684:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6982,"name":"uint256","nodeType":"ElementaryTypeName","src":"684:7:8","typeDescriptions":{}}},"id":6987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"684:37:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6981,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"676:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":6980,"name":"uint160","nodeType":"ElementaryTypeName","src":"676:7:8","typeDescriptions":{}}},"id":6988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"676:46:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":6979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"668:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6978,"name":"address","nodeType":"ElementaryTypeName","src":"668:7:8","typeDescriptions":{}}},"id":6989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"668:55:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6977,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16930,"src":"661:6:8","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$16930_$","typeString":"type(contract VmSafe)"}},"id":6990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"661:63:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"visibility":"private"},{"id":7007,"nodeType":"FunctionDefinition","src":"731:138:8","nodes":[],"body":{"id":7006,"nodeType":"Block","src":"818:51:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7002,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6993,"src":"852:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7003,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6995,"src":"858:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7000,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"835:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"838:13:8","memberName":"keyExistsJson","nodeType":"MemberAccess","referencedDeclaration":14453,"src":"835:16:8","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view external returns (bool)"}},"id":7004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"835:27:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":6999,"id":7005,"nodeType":"Return","src":"828:34:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"keyExists","nameLocation":"740:9:8","parameters":{"id":6996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6993,"mutability":"mutable","name":"json","nameLocation":"764:4:8","nodeType":"VariableDeclaration","scope":7007,"src":"750:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6992,"name":"string","nodeType":"ElementaryTypeName","src":"750:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6995,"mutability":"mutable","name":"key","nameLocation":"784:3:8","nodeType":"VariableDeclaration","scope":7007,"src":"770:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6994,"name":"string","nodeType":"ElementaryTypeName","src":"770:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"749:39:8"},"returnParameters":{"id":6999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6998,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7007,"src":"812:4:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6997,"name":"bool","nodeType":"ElementaryTypeName","src":"812:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"811:6:8"},"scope":7913,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7023,"nodeType":"FunctionDefinition","src":"875:141:8","nodes":[],"body":{"id":7022,"nodeType":"Block","src":"969:47:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7018,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7009,"src":"999:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7019,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7011,"src":"1005:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7016,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"986:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"989:9:8","memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":14663,"src":"986:12:8","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":7020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"986:23:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":7015,"id":7021,"nodeType":"Return","src":"979:30:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"parseRaw","nameLocation":"884:8:8","parameters":{"id":7012,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7009,"mutability":"mutable","name":"json","nameLocation":"907:4:8","nodeType":"VariableDeclaration","scope":7023,"src":"893:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7008,"name":"string","nodeType":"ElementaryTypeName","src":"893:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7011,"mutability":"mutable","name":"key","nameLocation":"927:3:8","nodeType":"VariableDeclaration","scope":7023,"src":"913:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7010,"name":"string","nodeType":"ElementaryTypeName","src":"913:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"892:39:8"},"returnParameters":{"id":7015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7014,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7023,"src":"955:12:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7013,"name":"bytes","nodeType":"ElementaryTypeName","src":"955:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"954:14:8"},"scope":7913,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7039,"nodeType":"FunctionDefinition","src":"1022:140:8","nodes":[],"body":{"id":7038,"nodeType":"Block","src":"1111:51:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7034,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"1145:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7035,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7027,"src":"1151:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7032,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"1128:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1131:13:8","memberName":"parseJsonUint","nodeType":"MemberAccess","referencedDeclaration":14634,"src":"1128:16:8","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory,string memory) pure external returns (uint256)"}},"id":7036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1128:27:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7031,"id":7037,"nodeType":"Return","src":"1121:34:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUint","nameLocation":"1031:8:8","parameters":{"id":7028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7025,"mutability":"mutable","name":"json","nameLocation":"1054:4:8","nodeType":"VariableDeclaration","scope":7039,"src":"1040:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7024,"name":"string","nodeType":"ElementaryTypeName","src":"1040:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7027,"mutability":"mutable","name":"key","nameLocation":"1074:3:8","nodeType":"VariableDeclaration","scope":7039,"src":"1060:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7026,"name":"string","nodeType":"ElementaryTypeName","src":"1060:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1039:39:8"},"returnParameters":{"id":7031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7030,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7039,"src":"1102:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7029,"name":"uint256","nodeType":"ElementaryTypeName","src":"1102:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1101:9:8"},"scope":7913,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7056,"nodeType":"FunctionDefinition","src":"1168:159:8","nodes":[],"body":{"id":7055,"nodeType":"Block","src":"1271:56:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7051,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7041,"src":"1310:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7052,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7043,"src":"1316:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7049,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"1288:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1291:18:8","memberName":"parseJsonUintArray","nodeType":"MemberAccess","referencedDeclaration":14645,"src":"1288:21:8","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (uint256[] memory)"}},"id":7053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1288:32:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":7048,"id":7054,"nodeType":"Return","src":"1281:39:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUintArray","nameLocation":"1177:13:8","parameters":{"id":7044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7041,"mutability":"mutable","name":"json","nameLocation":"1205:4:8","nodeType":"VariableDeclaration","scope":7056,"src":"1191:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7040,"name":"string","nodeType":"ElementaryTypeName","src":"1191:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7043,"mutability":"mutable","name":"key","nameLocation":"1225:3:8","nodeType":"VariableDeclaration","scope":7056,"src":"1211:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7042,"name":"string","nodeType":"ElementaryTypeName","src":"1211:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1190:39:8"},"returnParameters":{"id":7048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7047,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7056,"src":"1253:16:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7045,"name":"uint256","nodeType":"ElementaryTypeName","src":"1253:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7046,"nodeType":"ArrayTypeName","src":"1253:9:8","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1252:18:8"},"scope":7913,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7072,"nodeType":"FunctionDefinition","src":"1333:137:8","nodes":[],"body":{"id":7071,"nodeType":"Block","src":"1420:50:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7067,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7058,"src":"1453:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7068,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7060,"src":"1459:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7065,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"1437:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1440:12:8","memberName":"parseJsonInt","nodeType":"MemberAccess","referencedDeclaration":14547,"src":"1437:15:8","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_int256_$","typeString":"function (string memory,string memory) pure external returns (int256)"}},"id":7069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1437:26:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":7064,"id":7070,"nodeType":"Return","src":"1430:33:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readInt","nameLocation":"1342:7:8","parameters":{"id":7061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7058,"mutability":"mutable","name":"json","nameLocation":"1364:4:8","nodeType":"VariableDeclaration","scope":7072,"src":"1350:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7057,"name":"string","nodeType":"ElementaryTypeName","src":"1350:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7060,"mutability":"mutable","name":"key","nameLocation":"1384:3:8","nodeType":"VariableDeclaration","scope":7072,"src":"1370:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7059,"name":"string","nodeType":"ElementaryTypeName","src":"1370:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1349:39:8"},"returnParameters":{"id":7064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7063,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7072,"src":"1412:6:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7062,"name":"int256","nodeType":"ElementaryTypeName","src":"1412:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1411:8:8"},"scope":7913,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7089,"nodeType":"FunctionDefinition","src":"1476:156:8","nodes":[],"body":{"id":7088,"nodeType":"Block","src":"1577:55:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7084,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7074,"src":"1615:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7085,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7076,"src":"1621:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7082,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"1594:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1597:17:8","memberName":"parseJsonIntArray","nodeType":"MemberAccess","referencedDeclaration":14558,"src":"1594:20:8","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_int256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (int256[] memory)"}},"id":7086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1594:31:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"functionReturnParameters":7081,"id":7087,"nodeType":"Return","src":"1587:38:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readIntArray","nameLocation":"1485:12:8","parameters":{"id":7077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7074,"mutability":"mutable","name":"json","nameLocation":"1512:4:8","nodeType":"VariableDeclaration","scope":7089,"src":"1498:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7073,"name":"string","nodeType":"ElementaryTypeName","src":"1498:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7076,"mutability":"mutable","name":"key","nameLocation":"1532:3:8","nodeType":"VariableDeclaration","scope":7089,"src":"1518:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7075,"name":"string","nodeType":"ElementaryTypeName","src":"1518:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1497:39:8"},"returnParameters":{"id":7081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7080,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7089,"src":"1560:15:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":7078,"name":"int256","nodeType":"ElementaryTypeName","src":"1560:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":7079,"nodeType":"ArrayTypeName","src":"1560:8:8","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"1559:17:8"},"scope":7913,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7105,"nodeType":"FunctionDefinition","src":"1638:146:8","nodes":[],"body":{"id":7104,"nodeType":"Block","src":"1730:54:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7100,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7091,"src":"1767:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7101,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7093,"src":"1773:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7098,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"1747:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1750:16:8","memberName":"parseJsonBytes32","nodeType":"MemberAccess","referencedDeclaration":14515,"src":"1747:19:8","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes32_$","typeString":"function (string memory,string memory) pure external returns (bytes32)"}},"id":7102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1747:30:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":7097,"id":7103,"nodeType":"Return","src":"1740:37:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32","nameLocation":"1647:11:8","parameters":{"id":7094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7091,"mutability":"mutable","name":"json","nameLocation":"1673:4:8","nodeType":"VariableDeclaration","scope":7105,"src":"1659:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7090,"name":"string","nodeType":"ElementaryTypeName","src":"1659:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7093,"mutability":"mutable","name":"key","nameLocation":"1693:3:8","nodeType":"VariableDeclaration","scope":7105,"src":"1679:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7092,"name":"string","nodeType":"ElementaryTypeName","src":"1679:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1658:39:8"},"returnParameters":{"id":7097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7096,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7105,"src":"1721:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7095,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1721:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1720:9:8"},"scope":7913,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7122,"nodeType":"FunctionDefinition","src":"1790:165:8","nodes":[],"body":{"id":7121,"nodeType":"Block","src":"1896:59:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7117,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7107,"src":"1938:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7118,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7109,"src":"1944:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7115,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"1913:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1916:21:8","memberName":"parseJsonBytes32Array","nodeType":"MemberAccess","referencedDeclaration":14526,"src":"1913:24:8","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes32[] memory)"}},"id":7119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1913:35:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":7114,"id":7120,"nodeType":"Return","src":"1906:42:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32Array","nameLocation":"1799:16:8","parameters":{"id":7110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7107,"mutability":"mutable","name":"json","nameLocation":"1830:4:8","nodeType":"VariableDeclaration","scope":7122,"src":"1816:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7106,"name":"string","nodeType":"ElementaryTypeName","src":"1816:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7109,"mutability":"mutable","name":"key","nameLocation":"1850:3:8","nodeType":"VariableDeclaration","scope":7122,"src":"1836:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7108,"name":"string","nodeType":"ElementaryTypeName","src":"1836:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1815:39:8"},"returnParameters":{"id":7114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7113,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7122,"src":"1878:16:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":7111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1878:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7112,"nodeType":"ArrayTypeName","src":"1878:9:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"1877:18:8"},"scope":7913,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7138,"nodeType":"FunctionDefinition","src":"1961:150:8","nodes":[],"body":{"id":7137,"nodeType":"Block","src":"2058:53:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7133,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7124,"src":"2094:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7134,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7126,"src":"2100:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7131,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"2075:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2078:15:8","memberName":"parseJsonString","nodeType":"MemberAccess","referencedDeclaration":14579,"src":"2075:18:8","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (string memory)"}},"id":7135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2075:29:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":7130,"id":7136,"nodeType":"Return","src":"2068:36:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readString","nameLocation":"1970:10:8","parameters":{"id":7127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7124,"mutability":"mutable","name":"json","nameLocation":"1995:4:8","nodeType":"VariableDeclaration","scope":7138,"src":"1981:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7123,"name":"string","nodeType":"ElementaryTypeName","src":"1981:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7126,"mutability":"mutable","name":"key","nameLocation":"2015:3:8","nodeType":"VariableDeclaration","scope":7138,"src":"2001:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7125,"name":"string","nodeType":"ElementaryTypeName","src":"2001:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1980:39:8"},"returnParameters":{"id":7130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7129,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7138,"src":"2043:13:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7128,"name":"string","nodeType":"ElementaryTypeName","src":"2043:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2042:15:8"},"scope":7913,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7155,"nodeType":"FunctionDefinition","src":"2117:162:8","nodes":[],"body":{"id":7154,"nodeType":"Block","src":"2221:58:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7150,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7140,"src":"2262:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7151,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7142,"src":"2268:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7148,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"2238:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2241:20:8","memberName":"parseJsonStringArray","nodeType":"MemberAccess","referencedDeclaration":14590,"src":"2238:23:8","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (string memory[] memory)"}},"id":7152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2238:34:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":7147,"id":7153,"nodeType":"Return","src":"2231:41:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readStringArray","nameLocation":"2126:15:8","parameters":{"id":7143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7140,"mutability":"mutable","name":"json","nameLocation":"2156:4:8","nodeType":"VariableDeclaration","scope":7155,"src":"2142:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7139,"name":"string","nodeType":"ElementaryTypeName","src":"2142:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7142,"mutability":"mutable","name":"key","nameLocation":"2176:3:8","nodeType":"VariableDeclaration","scope":7155,"src":"2162:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7141,"name":"string","nodeType":"ElementaryTypeName","src":"2162:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2141:39:8"},"returnParameters":{"id":7147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7146,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7155,"src":"2204:15:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":7144,"name":"string","nodeType":"ElementaryTypeName","src":"2204:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7145,"nodeType":"ArrayTypeName","src":"2204:8:8","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"2203:17:8"},"scope":7913,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7171,"nodeType":"FunctionDefinition","src":"2285:146:8","nodes":[],"body":{"id":7170,"nodeType":"Block","src":"2377:54:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7166,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7157,"src":"2414:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7167,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7159,"src":"2420:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7164,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"2394:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2397:16:8","memberName":"parseJsonAddress","nodeType":"MemberAccess","referencedDeclaration":14463,"src":"2394:19:8","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,string memory) pure external returns (address)"}},"id":7168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2394:30:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":7163,"id":7169,"nodeType":"Return","src":"2387:37:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddress","nameLocation":"2294:11:8","parameters":{"id":7160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7157,"mutability":"mutable","name":"json","nameLocation":"2320:4:8","nodeType":"VariableDeclaration","scope":7171,"src":"2306:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7156,"name":"string","nodeType":"ElementaryTypeName","src":"2306:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7159,"mutability":"mutable","name":"key","nameLocation":"2340:3:8","nodeType":"VariableDeclaration","scope":7171,"src":"2326:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7158,"name":"string","nodeType":"ElementaryTypeName","src":"2326:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2305:39:8"},"returnParameters":{"id":7163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7162,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7171,"src":"2368:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7161,"name":"address","nodeType":"ElementaryTypeName","src":"2368:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2367:9:8"},"scope":7913,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7188,"nodeType":"FunctionDefinition","src":"2437:165:8","nodes":[],"body":{"id":7187,"nodeType":"Block","src":"2543:59:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7183,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7173,"src":"2585:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7184,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7175,"src":"2591:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7181,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"2560:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2563:21:8","memberName":"parseJsonAddressArray","nodeType":"MemberAccess","referencedDeclaration":14474,"src":"2560:24:8","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (address[] memory)"}},"id":7185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2560:35:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":7180,"id":7186,"nodeType":"Return","src":"2553:42:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddressArray","nameLocation":"2446:16:8","parameters":{"id":7176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7173,"mutability":"mutable","name":"json","nameLocation":"2477:4:8","nodeType":"VariableDeclaration","scope":7188,"src":"2463:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7172,"name":"string","nodeType":"ElementaryTypeName","src":"2463:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7175,"mutability":"mutable","name":"key","nameLocation":"2497:3:8","nodeType":"VariableDeclaration","scope":7188,"src":"2483:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7174,"name":"string","nodeType":"ElementaryTypeName","src":"2483:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2462:39:8"},"returnParameters":{"id":7180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7179,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7188,"src":"2525:16:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7177,"name":"address","nodeType":"ElementaryTypeName","src":"2525:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7178,"nodeType":"ArrayTypeName","src":"2525:9:8","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2524:18:8"},"scope":7913,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7204,"nodeType":"FunctionDefinition","src":"2608:137:8","nodes":[],"body":{"id":7203,"nodeType":"Block","src":"2694:51:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7199,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7190,"src":"2728:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7200,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7192,"src":"2734:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7197,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"2711:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2714:13:8","memberName":"parseJsonBool","nodeType":"MemberAccess","referencedDeclaration":14484,"src":"2711:16:8","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) pure external returns (bool)"}},"id":7201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2711:27:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":7196,"id":7202,"nodeType":"Return","src":"2704:34:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBool","nameLocation":"2617:8:8","parameters":{"id":7193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7190,"mutability":"mutable","name":"json","nameLocation":"2640:4:8","nodeType":"VariableDeclaration","scope":7204,"src":"2626:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7189,"name":"string","nodeType":"ElementaryTypeName","src":"2626:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7192,"mutability":"mutable","name":"key","nameLocation":"2660:3:8","nodeType":"VariableDeclaration","scope":7204,"src":"2646:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7191,"name":"string","nodeType":"ElementaryTypeName","src":"2646:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2625:39:8"},"returnParameters":{"id":7196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7195,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7204,"src":"2688:4:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7194,"name":"bool","nodeType":"ElementaryTypeName","src":"2688:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2687:6:8"},"scope":7913,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7221,"nodeType":"FunctionDefinition","src":"2751:156:8","nodes":[],"body":{"id":7220,"nodeType":"Block","src":"2851:56:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7216,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7206,"src":"2890:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7217,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7208,"src":"2896:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7214,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"2868:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2871:18:8","memberName":"parseJsonBoolArray","nodeType":"MemberAccess","referencedDeclaration":14495,"src":"2868:21:8","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bool_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bool[] memory)"}},"id":7218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2868:32:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"functionReturnParameters":7213,"id":7219,"nodeType":"Return","src":"2861:39:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBoolArray","nameLocation":"2760:13:8","parameters":{"id":7209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7206,"mutability":"mutable","name":"json","nameLocation":"2788:4:8","nodeType":"VariableDeclaration","scope":7221,"src":"2774:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7205,"name":"string","nodeType":"ElementaryTypeName","src":"2774:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7208,"mutability":"mutable","name":"key","nameLocation":"2808:3:8","nodeType":"VariableDeclaration","scope":7221,"src":"2794:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7207,"name":"string","nodeType":"ElementaryTypeName","src":"2794:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2773:39:8"},"returnParameters":{"id":7213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7212,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7221,"src":"2836:13:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":7210,"name":"bool","nodeType":"ElementaryTypeName","src":"2836:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7211,"nodeType":"ArrayTypeName","src":"2836:6:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"2835:15:8"},"scope":7913,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7237,"nodeType":"FunctionDefinition","src":"2913:147:8","nodes":[],"body":{"id":7236,"nodeType":"Block","src":"3008:52:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7232,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7223,"src":"3043:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7233,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7225,"src":"3049:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7230,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"3025:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3028:14:8","memberName":"parseJsonBytes","nodeType":"MemberAccess","referencedDeclaration":14505,"src":"3025:17:8","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":7234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3025:28:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":7229,"id":7235,"nodeType":"Return","src":"3018:35:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes","nameLocation":"2922:9:8","parameters":{"id":7226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7223,"mutability":"mutable","name":"json","nameLocation":"2946:4:8","nodeType":"VariableDeclaration","scope":7237,"src":"2932:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7222,"name":"string","nodeType":"ElementaryTypeName","src":"2932:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7225,"mutability":"mutable","name":"key","nameLocation":"2966:3:8","nodeType":"VariableDeclaration","scope":7237,"src":"2952:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7224,"name":"string","nodeType":"ElementaryTypeName","src":"2952:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2931:39:8"},"returnParameters":{"id":7229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7228,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7237,"src":"2994:12:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7227,"name":"bytes","nodeType":"ElementaryTypeName","src":"2994:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2993:14:8"},"scope":7913,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7254,"nodeType":"FunctionDefinition","src":"3066:159:8","nodes":[],"body":{"id":7253,"nodeType":"Block","src":"3168:57:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7249,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7239,"src":"3208:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7250,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7241,"src":"3214:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7247,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"3185:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3188:19:8","memberName":"parseJsonBytesArray","nodeType":"MemberAccess","referencedDeclaration":14537,"src":"3185:22:8","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory[] memory)"}},"id":7251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3185:33:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"functionReturnParameters":7246,"id":7252,"nodeType":"Return","src":"3178:40:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytesArray","nameLocation":"3075:14:8","parameters":{"id":7242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7239,"mutability":"mutable","name":"json","nameLocation":"3104:4:8","nodeType":"VariableDeclaration","scope":7254,"src":"3090:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7238,"name":"string","nodeType":"ElementaryTypeName","src":"3090:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7241,"mutability":"mutable","name":"key","nameLocation":"3124:3:8","nodeType":"VariableDeclaration","scope":7254,"src":"3110:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7240,"name":"string","nodeType":"ElementaryTypeName","src":"3110:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3089:39:8"},"returnParameters":{"id":7246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7245,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7254,"src":"3152:14:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":7243,"name":"bytes","nodeType":"ElementaryTypeName","src":"3152:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":7244,"nodeType":"ArrayTypeName","src":"3152:7:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"3151:16:8"},"scope":7913,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7277,"nodeType":"FunctionDefinition","src":"3231:194:8","nodes":[],"body":{"id":7276,"nodeType":"Block","src":"3344:81:8","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7266,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7256,"src":"3371:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7267,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7258,"src":"3377:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7265,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7007,"src":"3361:9:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3361:20:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7273,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7260,"src":"3406:12:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3361:57:8","trueExpression":{"arguments":[{"id":7270,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7256,"src":"3393:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7271,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7258,"src":"3399:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7269,"name":"readUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7039,"src":"3384:8:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory,string memory) pure returns (uint256)"}},"id":7272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3384:19:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7264,"id":7275,"nodeType":"Return","src":"3354:64:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUintOr","nameLocation":"3240:10:8","parameters":{"id":7261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7256,"mutability":"mutable","name":"json","nameLocation":"3265:4:8","nodeType":"VariableDeclaration","scope":7277,"src":"3251:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7255,"name":"string","nodeType":"ElementaryTypeName","src":"3251:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7258,"mutability":"mutable","name":"key","nameLocation":"3285:3:8","nodeType":"VariableDeclaration","scope":7277,"src":"3271:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7257,"name":"string","nodeType":"ElementaryTypeName","src":"3271:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7260,"mutability":"mutable","name":"defaultValue","nameLocation":"3298:12:8","nodeType":"VariableDeclaration","scope":7277,"src":"3290:20:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7259,"name":"uint256","nodeType":"ElementaryTypeName","src":"3290:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3250:61:8"},"returnParameters":{"id":7264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7263,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7277,"src":"3335:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7262,"name":"uint256","nodeType":"ElementaryTypeName","src":"3335:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3334:9:8"},"scope":7913,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7302,"nodeType":"FunctionDefinition","src":"3431:250:8","nodes":[],"body":{"id":7301,"nodeType":"Block","src":"3595:86:8","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7291,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7279,"src":"3622:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7292,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7281,"src":"3628:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7290,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7007,"src":"3612:9:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3612:20:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7298,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7284,"src":"3662:12:8","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":7299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3612:62:8","trueExpression":{"arguments":[{"id":7295,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7279,"src":"3649:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7296,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7281,"src":"3655:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7294,"name":"readUintArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7056,"src":"3635:13:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (uint256[] memory)"}},"id":7297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3635:24:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":7289,"id":7300,"nodeType":"Return","src":"3605:69:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUintArrayOr","nameLocation":"3440:15:8","parameters":{"id":7285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7279,"mutability":"mutable","name":"json","nameLocation":"3470:4:8","nodeType":"VariableDeclaration","scope":7302,"src":"3456:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7278,"name":"string","nodeType":"ElementaryTypeName","src":"3456:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7281,"mutability":"mutable","name":"key","nameLocation":"3490:3:8","nodeType":"VariableDeclaration","scope":7302,"src":"3476:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7280,"name":"string","nodeType":"ElementaryTypeName","src":"3476:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7284,"mutability":"mutable","name":"defaultValue","nameLocation":"3512:12:8","nodeType":"VariableDeclaration","scope":7302,"src":"3495:29:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7282,"name":"uint256","nodeType":"ElementaryTypeName","src":"3495:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7283,"nodeType":"ArrayTypeName","src":"3495:9:8","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3455:70:8"},"returnParameters":{"id":7289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7288,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7302,"src":"3573:16:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7286,"name":"uint256","nodeType":"ElementaryTypeName","src":"3573:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7287,"nodeType":"ArrayTypeName","src":"3573:9:8","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3572:18:8"},"scope":7913,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7325,"nodeType":"FunctionDefinition","src":"3687:190:8","nodes":[],"body":{"id":7324,"nodeType":"Block","src":"3797:80:8","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7314,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"3824:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7315,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7306,"src":"3830:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7313,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7007,"src":"3814:9:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3814:20:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7321,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7308,"src":"3858:12:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":7322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3814:56:8","trueExpression":{"arguments":[{"id":7318,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"3845:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7319,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7306,"src":"3851:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7317,"name":"readInt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7072,"src":"3837:7:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_int256_$","typeString":"function (string memory,string memory) pure returns (int256)"}},"id":7320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3837:18:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":7312,"id":7323,"nodeType":"Return","src":"3807:63:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readIntOr","nameLocation":"3696:9:8","parameters":{"id":7309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7304,"mutability":"mutable","name":"json","nameLocation":"3720:4:8","nodeType":"VariableDeclaration","scope":7325,"src":"3706:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7303,"name":"string","nodeType":"ElementaryTypeName","src":"3706:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7306,"mutability":"mutable","name":"key","nameLocation":"3740:3:8","nodeType":"VariableDeclaration","scope":7325,"src":"3726:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7305,"name":"string","nodeType":"ElementaryTypeName","src":"3726:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7308,"mutability":"mutable","name":"defaultValue","nameLocation":"3752:12:8","nodeType":"VariableDeclaration","scope":7325,"src":"3745:19:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7307,"name":"int256","nodeType":"ElementaryTypeName","src":"3745:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3705:60:8"},"returnParameters":{"id":7312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7311,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7325,"src":"3789:6:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7310,"name":"int256","nodeType":"ElementaryTypeName","src":"3789:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3788:8:8"},"scope":7913,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7350,"nodeType":"FunctionDefinition","src":"3883:246:8","nodes":[],"body":{"id":7349,"nodeType":"Block","src":"4044:85:8","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7339,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7327,"src":"4071:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7340,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7329,"src":"4077:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7338,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7007,"src":"4061:9:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4061:20:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7346,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7332,"src":"4110:12:8","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"id":7347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4061:61:8","trueExpression":{"arguments":[{"id":7343,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7327,"src":"4097:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7344,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7329,"src":"4103:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7342,"name":"readIntArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7089,"src":"4084:12:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_int256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (int256[] memory)"}},"id":7345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4084:23:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"functionReturnParameters":7337,"id":7348,"nodeType":"Return","src":"4054:68:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readIntArrayOr","nameLocation":"3892:14:8","parameters":{"id":7333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7327,"mutability":"mutable","name":"json","nameLocation":"3921:4:8","nodeType":"VariableDeclaration","scope":7350,"src":"3907:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7326,"name":"string","nodeType":"ElementaryTypeName","src":"3907:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7329,"mutability":"mutable","name":"key","nameLocation":"3941:3:8","nodeType":"VariableDeclaration","scope":7350,"src":"3927:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7328,"name":"string","nodeType":"ElementaryTypeName","src":"3927:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7332,"mutability":"mutable","name":"defaultValue","nameLocation":"3962:12:8","nodeType":"VariableDeclaration","scope":7350,"src":"3946:28:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":7330,"name":"int256","nodeType":"ElementaryTypeName","src":"3946:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":7331,"nodeType":"ArrayTypeName","src":"3946:8:8","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"3906:69:8"},"returnParameters":{"id":7337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7336,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7350,"src":"4023:15:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":7334,"name":"int256","nodeType":"ElementaryTypeName","src":"4023:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":7335,"nodeType":"ArrayTypeName","src":"4023:8:8","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"4022:17:8"},"scope":7913,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7373,"nodeType":"FunctionDefinition","src":"4135:228:8","nodes":[],"body":{"id":7372,"nodeType":"Block","src":"4279:84:8","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7362,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7352,"src":"4306:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7363,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7354,"src":"4312:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7361,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7007,"src":"4296:9:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4296:20:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7369,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7356,"src":"4344:12:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4296:60:8","trueExpression":{"arguments":[{"id":7366,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7352,"src":"4331:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7367,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7354,"src":"4337:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7365,"name":"readBytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7105,"src":"4319:11:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes32_$","typeString":"function (string memory,string memory) pure returns (bytes32)"}},"id":7368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4319:22:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":7360,"id":7371,"nodeType":"Return","src":"4289:67:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32Or","nameLocation":"4144:13:8","parameters":{"id":7357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7352,"mutability":"mutable","name":"json","nameLocation":"4172:4:8","nodeType":"VariableDeclaration","scope":7373,"src":"4158:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7351,"name":"string","nodeType":"ElementaryTypeName","src":"4158:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7354,"mutability":"mutable","name":"key","nameLocation":"4192:3:8","nodeType":"VariableDeclaration","scope":7373,"src":"4178:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7353,"name":"string","nodeType":"ElementaryTypeName","src":"4178:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7356,"mutability":"mutable","name":"defaultValue","nameLocation":"4205:12:8","nodeType":"VariableDeclaration","scope":7373,"src":"4197:20:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7355,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4197:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4157:61:8"},"returnParameters":{"id":7360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7359,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7373,"src":"4266:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7358,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4266:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4265:9:8"},"scope":7913,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7398,"nodeType":"FunctionDefinition","src":"4369:256:8","nodes":[],"body":{"id":7397,"nodeType":"Block","src":"4536:89:8","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7387,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7375,"src":"4563:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7388,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7377,"src":"4569:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7386,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7007,"src":"4553:9:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4553:20:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7394,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7380,"src":"4606:12:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4553:65:8","trueExpression":{"arguments":[{"id":7391,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7375,"src":"4593:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7392,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7377,"src":"4599:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7390,"name":"readBytes32Array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7122,"src":"4576:16:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bytes32[] memory)"}},"id":7393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4576:27:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":7385,"id":7396,"nodeType":"Return","src":"4546:72:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32ArrayOr","nameLocation":"4378:18:8","parameters":{"id":7381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7375,"mutability":"mutable","name":"json","nameLocation":"4411:4:8","nodeType":"VariableDeclaration","scope":7398,"src":"4397:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7374,"name":"string","nodeType":"ElementaryTypeName","src":"4397:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7377,"mutability":"mutable","name":"key","nameLocation":"4431:3:8","nodeType":"VariableDeclaration","scope":7398,"src":"4417:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7376,"name":"string","nodeType":"ElementaryTypeName","src":"4417:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7380,"mutability":"mutable","name":"defaultValue","nameLocation":"4453:12:8","nodeType":"VariableDeclaration","scope":7398,"src":"4436:29:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":7378,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4436:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7379,"nodeType":"ArrayTypeName","src":"4436:9:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4396:70:8"},"returnParameters":{"id":7385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7384,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7398,"src":"4514:16:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":7382,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4514:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7383,"nodeType":"ArrayTypeName","src":"4514:9:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4513:18:8"},"scope":7913,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7421,"nodeType":"FunctionDefinition","src":"4631:238:8","nodes":[],"body":{"id":7420,"nodeType":"Block","src":"4786:83:8","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7410,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7400,"src":"4813:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7411,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7402,"src":"4819:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7409,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7007,"src":"4803:9:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4803:20:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7417,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7404,"src":"4850:12:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":7418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4803:59:8","trueExpression":{"arguments":[{"id":7414,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7400,"src":"4837:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7415,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7402,"src":"4843:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7413,"name":"readString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7138,"src":"4826:10:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":7416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4826:21:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":7408,"id":7419,"nodeType":"Return","src":"4796:66:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readStringOr","nameLocation":"4640:12:8","parameters":{"id":7405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7400,"mutability":"mutable","name":"json","nameLocation":"4667:4:8","nodeType":"VariableDeclaration","scope":7421,"src":"4653:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7399,"name":"string","nodeType":"ElementaryTypeName","src":"4653:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7402,"mutability":"mutable","name":"key","nameLocation":"4687:3:8","nodeType":"VariableDeclaration","scope":7421,"src":"4673:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7401,"name":"string","nodeType":"ElementaryTypeName","src":"4673:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7404,"mutability":"mutable","name":"defaultValue","nameLocation":"4706:12:8","nodeType":"VariableDeclaration","scope":7421,"src":"4692:26:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7403,"name":"string","nodeType":"ElementaryTypeName","src":"4692:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4652:67:8"},"returnParameters":{"id":7408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7407,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7421,"src":"4767:13:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7406,"name":"string","nodeType":"ElementaryTypeName","src":"4767:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4766:15:8"},"scope":7913,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7446,"nodeType":"FunctionDefinition","src":"4875:252:8","nodes":[],"body":{"id":7445,"nodeType":"Block","src":"5039:88:8","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7435,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7423,"src":"5066:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7436,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7425,"src":"5072:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7434,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7007,"src":"5056:9:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5056:20:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7442,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7428,"src":"5108:12:8","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":7443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5056:64:8","trueExpression":{"arguments":[{"id":7439,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7423,"src":"5095:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7440,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7425,"src":"5101:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7438,"name":"readStringArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7155,"src":"5079:15:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory[] memory)"}},"id":7441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5079:26:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":7433,"id":7444,"nodeType":"Return","src":"5049:71:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readStringArrayOr","nameLocation":"4884:17:8","parameters":{"id":7429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7423,"mutability":"mutable","name":"json","nameLocation":"4916:4:8","nodeType":"VariableDeclaration","scope":7446,"src":"4902:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7422,"name":"string","nodeType":"ElementaryTypeName","src":"4902:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7425,"mutability":"mutable","name":"key","nameLocation":"4936:3:8","nodeType":"VariableDeclaration","scope":7446,"src":"4922:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7424,"name":"string","nodeType":"ElementaryTypeName","src":"4922:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7428,"mutability":"mutable","name":"defaultValue","nameLocation":"4957:12:8","nodeType":"VariableDeclaration","scope":7446,"src":"4941:28:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":7426,"name":"string","nodeType":"ElementaryTypeName","src":"4941:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7427,"nodeType":"ArrayTypeName","src":"4941:8:8","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"4901:69:8"},"returnParameters":{"id":7433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7432,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7446,"src":"5018:15:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":7430,"name":"string","nodeType":"ElementaryTypeName","src":"5018:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7431,"nodeType":"ArrayTypeName","src":"5018:8:8","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"5017:17:8"},"scope":7913,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7469,"nodeType":"FunctionDefinition","src":"5133:228:8","nodes":[],"body":{"id":7468,"nodeType":"Block","src":"5277:84:8","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7458,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7448,"src":"5304:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7459,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7450,"src":"5310:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7457,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7007,"src":"5294:9:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5294:20:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7465,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7452,"src":"5342:12:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5294:60:8","trueExpression":{"arguments":[{"id":7462,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7448,"src":"5329:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7463,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7450,"src":"5335:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7461,"name":"readAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7171,"src":"5317:11:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,string memory) pure returns (address)"}},"id":7464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5317:22:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":7456,"id":7467,"nodeType":"Return","src":"5287:67:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddressOr","nameLocation":"5142:13:8","parameters":{"id":7453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7448,"mutability":"mutable","name":"json","nameLocation":"5170:4:8","nodeType":"VariableDeclaration","scope":7469,"src":"5156:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7447,"name":"string","nodeType":"ElementaryTypeName","src":"5156:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7450,"mutability":"mutable","name":"key","nameLocation":"5190:3:8","nodeType":"VariableDeclaration","scope":7469,"src":"5176:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7449,"name":"string","nodeType":"ElementaryTypeName","src":"5176:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7452,"mutability":"mutable","name":"defaultValue","nameLocation":"5203:12:8","nodeType":"VariableDeclaration","scope":7469,"src":"5195:20:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7451,"name":"address","nodeType":"ElementaryTypeName","src":"5195:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5155:61:8"},"returnParameters":{"id":7456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7455,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7469,"src":"5264:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7454,"name":"address","nodeType":"ElementaryTypeName","src":"5264:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5263:9:8"},"scope":7913,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7494,"nodeType":"FunctionDefinition","src":"5367:256:8","nodes":[],"body":{"id":7493,"nodeType":"Block","src":"5534:89:8","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7483,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7471,"src":"5561:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7484,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7473,"src":"5567:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7482,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7007,"src":"5551:9:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5551:20:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7490,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7476,"src":"5604:12:8","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":7491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5551:65:8","trueExpression":{"arguments":[{"id":7487,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7471,"src":"5591:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7488,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7473,"src":"5597:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7486,"name":"readAddressArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7188,"src":"5574:16:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (address[] memory)"}},"id":7489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5574:27:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":7481,"id":7492,"nodeType":"Return","src":"5544:72:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddressArrayOr","nameLocation":"5376:18:8","parameters":{"id":7477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7471,"mutability":"mutable","name":"json","nameLocation":"5409:4:8","nodeType":"VariableDeclaration","scope":7494,"src":"5395:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7470,"name":"string","nodeType":"ElementaryTypeName","src":"5395:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7473,"mutability":"mutable","name":"key","nameLocation":"5429:3:8","nodeType":"VariableDeclaration","scope":7494,"src":"5415:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7472,"name":"string","nodeType":"ElementaryTypeName","src":"5415:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7476,"mutability":"mutable","name":"defaultValue","nameLocation":"5451:12:8","nodeType":"VariableDeclaration","scope":7494,"src":"5434:29:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7474,"name":"address","nodeType":"ElementaryTypeName","src":"5434:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7475,"nodeType":"ArrayTypeName","src":"5434:9:8","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5394:70:8"},"returnParameters":{"id":7481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7480,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7494,"src":"5512:16:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7478,"name":"address","nodeType":"ElementaryTypeName","src":"5512:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7479,"nodeType":"ArrayTypeName","src":"5512:9:8","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5511:18:8"},"scope":7913,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7517,"nodeType":"FunctionDefinition","src":"5629:188:8","nodes":[],"body":{"id":7516,"nodeType":"Block","src":"5736:81:8","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7506,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7496,"src":"5763:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7507,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7498,"src":"5769:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7505,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7007,"src":"5753:9:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5753:20:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7513,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7500,"src":"5798:12:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5753:57:8","trueExpression":{"arguments":[{"id":7510,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7496,"src":"5785:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7511,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7498,"src":"5791:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7509,"name":"readBool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7204,"src":"5776:8:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":7512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5776:19:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":7504,"id":7515,"nodeType":"Return","src":"5746:64:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBoolOr","nameLocation":"5638:10:8","parameters":{"id":7501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7496,"mutability":"mutable","name":"json","nameLocation":"5663:4:8","nodeType":"VariableDeclaration","scope":7517,"src":"5649:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7495,"name":"string","nodeType":"ElementaryTypeName","src":"5649:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7498,"mutability":"mutable","name":"key","nameLocation":"5683:3:8","nodeType":"VariableDeclaration","scope":7517,"src":"5669:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7497,"name":"string","nodeType":"ElementaryTypeName","src":"5669:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7500,"mutability":"mutable","name":"defaultValue","nameLocation":"5693:12:8","nodeType":"VariableDeclaration","scope":7517,"src":"5688:17:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7499,"name":"bool","nodeType":"ElementaryTypeName","src":"5688:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5648:58:8"},"returnParameters":{"id":7504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7503,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7517,"src":"5730:4:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7502,"name":"bool","nodeType":"ElementaryTypeName","src":"5730:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5729:6:8"},"scope":7913,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7542,"nodeType":"FunctionDefinition","src":"5823:244:8","nodes":[],"body":{"id":7541,"nodeType":"Block","src":"5981:86:8","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7531,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7519,"src":"6008:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7532,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7521,"src":"6014:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7530,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7007,"src":"5998:9:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5998:20:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7538,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7524,"src":"6048:12:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"id":7539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5998:62:8","trueExpression":{"arguments":[{"id":7535,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7519,"src":"6035:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7536,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7521,"src":"6041:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7534,"name":"readBoolArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7221,"src":"6021:13:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bool_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool[] memory)"}},"id":7537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6021:24:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"functionReturnParameters":7529,"id":7540,"nodeType":"Return","src":"5991:69:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBoolArrayOr","nameLocation":"5832:15:8","parameters":{"id":7525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7519,"mutability":"mutable","name":"json","nameLocation":"5862:4:8","nodeType":"VariableDeclaration","scope":7542,"src":"5848:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7518,"name":"string","nodeType":"ElementaryTypeName","src":"5848:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7521,"mutability":"mutable","name":"key","nameLocation":"5882:3:8","nodeType":"VariableDeclaration","scope":7542,"src":"5868:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7520,"name":"string","nodeType":"ElementaryTypeName","src":"5868:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7524,"mutability":"mutable","name":"defaultValue","nameLocation":"5901:12:8","nodeType":"VariableDeclaration","scope":7542,"src":"5887:26:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":7522,"name":"bool","nodeType":"ElementaryTypeName","src":"5887:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7523,"nodeType":"ArrayTypeName","src":"5887:6:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"5847:67:8"},"returnParameters":{"id":7529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7528,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7542,"src":"5962:13:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":7526,"name":"bool","nodeType":"ElementaryTypeName","src":"5962:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7527,"nodeType":"ArrayTypeName","src":"5962:6:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"5961:15:8"},"scope":7913,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7565,"nodeType":"FunctionDefinition","src":"6073:234:8","nodes":[],"body":{"id":7564,"nodeType":"Block","src":"6225:82:8","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7554,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7544,"src":"6252:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7555,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7546,"src":"6258:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7553,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7007,"src":"6242:9:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6242:20:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7561,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7548,"src":"6288:12:8","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":7562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6242:58:8","trueExpression":{"arguments":[{"id":7558,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7544,"src":"6275:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7559,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7546,"src":"6281:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7557,"name":"readBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7237,"src":"6265:9:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bytes memory)"}},"id":7560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6265:20:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":7552,"id":7563,"nodeType":"Return","src":"6235:65:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytesOr","nameLocation":"6082:11:8","parameters":{"id":7549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7544,"mutability":"mutable","name":"json","nameLocation":"6108:4:8","nodeType":"VariableDeclaration","scope":7565,"src":"6094:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7543,"name":"string","nodeType":"ElementaryTypeName","src":"6094:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7546,"mutability":"mutable","name":"key","nameLocation":"6128:3:8","nodeType":"VariableDeclaration","scope":7565,"src":"6114:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7545,"name":"string","nodeType":"ElementaryTypeName","src":"6114:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7548,"mutability":"mutable","name":"defaultValue","nameLocation":"6146:12:8","nodeType":"VariableDeclaration","scope":7565,"src":"6133:25:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7547,"name":"bytes","nodeType":"ElementaryTypeName","src":"6133:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6093:66:8"},"returnParameters":{"id":7552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7565,"src":"6207:12:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7550,"name":"bytes","nodeType":"ElementaryTypeName","src":"6207:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6206:14:8"},"scope":7913,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7590,"nodeType":"FunctionDefinition","src":"6313:248:8","nodes":[],"body":{"id":7589,"nodeType":"Block","src":"6474:87:8","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7579,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7567,"src":"6501:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7580,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7569,"src":"6507:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7578,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7007,"src":"6491:9:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6491:20:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7586,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7572,"src":"6542:12:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":7587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6491:63:8","trueExpression":{"arguments":[{"id":7583,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7567,"src":"6529:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7584,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7569,"src":"6535:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7582,"name":"readBytesArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7254,"src":"6514:14:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bytes memory[] memory)"}},"id":7585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6514:25:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"functionReturnParameters":7577,"id":7588,"nodeType":"Return","src":"6484:70:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytesArrayOr","nameLocation":"6322:16:8","parameters":{"id":7573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7567,"mutability":"mutable","name":"json","nameLocation":"6353:4:8","nodeType":"VariableDeclaration","scope":7590,"src":"6339:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7566,"name":"string","nodeType":"ElementaryTypeName","src":"6339:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7569,"mutability":"mutable","name":"key","nameLocation":"6373:3:8","nodeType":"VariableDeclaration","scope":7590,"src":"6359:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7568,"name":"string","nodeType":"ElementaryTypeName","src":"6359:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7572,"mutability":"mutable","name":"defaultValue","nameLocation":"6393:12:8","nodeType":"VariableDeclaration","scope":7590,"src":"6378:27:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":7570,"name":"bytes","nodeType":"ElementaryTypeName","src":"6378:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":7571,"nodeType":"ArrayTypeName","src":"6378:7:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"6338:68:8"},"returnParameters":{"id":7577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7576,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7590,"src":"6454:14:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":7574,"name":"bytes","nodeType":"ElementaryTypeName","src":"6454:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":7575,"nodeType":"ArrayTypeName","src":"6454:7:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"6453:16:8"},"scope":7913,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7606,"nodeType":"FunctionDefinition","src":"6567:162:8","nodes":[],"body":{"id":7605,"nodeType":"Block","src":"6668:61:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7601,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7592,"src":"6702:7:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7602,"name":"rootObject","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7594,"src":"6711:10:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7599,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"6685:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6688:13:8","memberName":"serializeJson","nodeType":"MemberAccess","referencedDeclaration":14798,"src":"6685:16:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) external returns (string memory)"}},"id":7603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6685:37:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":7598,"id":7604,"nodeType":"Return","src":"6678:44:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"6576:9:8","parameters":{"id":7595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7592,"mutability":"mutable","name":"jsonKey","nameLocation":"6600:7:8","nodeType":"VariableDeclaration","scope":7606,"src":"6586:21:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7591,"name":"string","nodeType":"ElementaryTypeName","src":"6586:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7594,"mutability":"mutable","name":"rootObject","nameLocation":"6623:10:8","nodeType":"VariableDeclaration","scope":7606,"src":"6609:24:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7593,"name":"string","nodeType":"ElementaryTypeName","src":"6609:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6585:49:8"},"returnParameters":{"id":7598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7597,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7606,"src":"6653:13:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7596,"name":"string","nodeType":"ElementaryTypeName","src":"6653:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6652:15:8"},"scope":7913,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7625,"nodeType":"FunctionDefinition","src":"6735:167:8","nodes":[],"body":{"id":7624,"nodeType":"Block","src":"6841:61:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7619,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7608,"src":"6875:7:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7620,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7610,"src":"6884:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7621,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7612,"src":"6889:5:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":7617,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"6858:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6861:13:8","memberName":"serializeBool","nodeType":"MemberAccess","referencedDeclaration":14700,"src":"6858:16:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bool) external returns (string memory)"}},"id":7622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6858:37:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":7616,"id":7623,"nodeType":"Return","src":"6851:44:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"6744:9:8","parameters":{"id":7613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7608,"mutability":"mutable","name":"jsonKey","nameLocation":"6768:7:8","nodeType":"VariableDeclaration","scope":7625,"src":"6754:21:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7607,"name":"string","nodeType":"ElementaryTypeName","src":"6754:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7610,"mutability":"mutable","name":"key","nameLocation":"6791:3:8","nodeType":"VariableDeclaration","scope":7625,"src":"6777:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7609,"name":"string","nodeType":"ElementaryTypeName","src":"6777:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7612,"mutability":"mutable","name":"value","nameLocation":"6801:5:8","nodeType":"VariableDeclaration","scope":7625,"src":"6796:10:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7611,"name":"bool","nodeType":"ElementaryTypeName","src":"6796:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6753:54:8"},"returnParameters":{"id":7616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7615,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7625,"src":"6826:13:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7614,"name":"string","nodeType":"ElementaryTypeName","src":"6826:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6825:15:8"},"scope":7913,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7645,"nodeType":"FunctionDefinition","src":"6908:196:8","nodes":[],"body":{"id":7644,"nodeType":"Block","src":"7043:61:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7639,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7627,"src":"7077:7:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7640,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7629,"src":"7086:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7641,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7632,"src":"7091:5:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}],"expression":{"id":7637,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"7060:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7063:13:8","memberName":"serializeBool","nodeType":"MemberAccess","referencedDeclaration":14713,"src":"7060:16:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bool[] memory) external returns (string memory)"}},"id":7642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7060:37:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":7636,"id":7643,"nodeType":"Return","src":"7053:44:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"6917:9:8","parameters":{"id":7633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7627,"mutability":"mutable","name":"jsonKey","nameLocation":"6941:7:8","nodeType":"VariableDeclaration","scope":7645,"src":"6927:21:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7626,"name":"string","nodeType":"ElementaryTypeName","src":"6927:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7629,"mutability":"mutable","name":"key","nameLocation":"6964:3:8","nodeType":"VariableDeclaration","scope":7645,"src":"6950:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7628,"name":"string","nodeType":"ElementaryTypeName","src":"6950:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7632,"mutability":"mutable","name":"value","nameLocation":"6983:5:8","nodeType":"VariableDeclaration","scope":7645,"src":"6969:19:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":7630,"name":"bool","nodeType":"ElementaryTypeName","src":"6969:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7631,"nodeType":"ArrayTypeName","src":"6969:6:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"6926:63:8"},"returnParameters":{"id":7636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7635,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7645,"src":"7024:13:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7634,"name":"string","nodeType":"ElementaryTypeName","src":"7024:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7023:15:8"},"scope":7913,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7664,"nodeType":"FunctionDefinition","src":"7110:170:8","nodes":[],"body":{"id":7663,"nodeType":"Block","src":"7219:61:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7658,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7647,"src":"7253:7:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7659,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7649,"src":"7262:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7660,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7651,"src":"7267:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7656,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"7236:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7239:13:8","memberName":"serializeUint","nodeType":"MemberAccess","referencedDeclaration":14871,"src":"7236:16:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,uint256) external returns (string memory)"}},"id":7661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7236:37:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":7655,"id":7662,"nodeType":"Return","src":"7229:44:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7119:9:8","parameters":{"id":7652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7647,"mutability":"mutable","name":"jsonKey","nameLocation":"7143:7:8","nodeType":"VariableDeclaration","scope":7664,"src":"7129:21:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7646,"name":"string","nodeType":"ElementaryTypeName","src":"7129:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7649,"mutability":"mutable","name":"key","nameLocation":"7166:3:8","nodeType":"VariableDeclaration","scope":7664,"src":"7152:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7648,"name":"string","nodeType":"ElementaryTypeName","src":"7152:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7651,"mutability":"mutable","name":"value","nameLocation":"7179:5:8","nodeType":"VariableDeclaration","scope":7664,"src":"7171:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7650,"name":"uint256","nodeType":"ElementaryTypeName","src":"7171:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7128:57:8"},"returnParameters":{"id":7655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7654,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7664,"src":"7204:13:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7653,"name":"string","nodeType":"ElementaryTypeName","src":"7204:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7203:15:8"},"scope":7913,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7684,"nodeType":"FunctionDefinition","src":"7286:199:8","nodes":[],"body":{"id":7683,"nodeType":"Block","src":"7424:61:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7678,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7666,"src":"7458:7:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7679,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7668,"src":"7467:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7680,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7671,"src":"7472:5:8","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"expression":{"id":7676,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"7441:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7444:13:8","memberName":"serializeUint","nodeType":"MemberAccess","referencedDeclaration":14884,"src":"7441:16:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,uint256[] memory) external returns (string memory)"}},"id":7681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7441:37:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":7675,"id":7682,"nodeType":"Return","src":"7434:44:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7295:9:8","parameters":{"id":7672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7666,"mutability":"mutable","name":"jsonKey","nameLocation":"7319:7:8","nodeType":"VariableDeclaration","scope":7684,"src":"7305:21:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7665,"name":"string","nodeType":"ElementaryTypeName","src":"7305:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7668,"mutability":"mutable","name":"key","nameLocation":"7342:3:8","nodeType":"VariableDeclaration","scope":7684,"src":"7328:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7667,"name":"string","nodeType":"ElementaryTypeName","src":"7328:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7671,"mutability":"mutable","name":"value","nameLocation":"7364:5:8","nodeType":"VariableDeclaration","scope":7684,"src":"7347:22:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7669,"name":"uint256","nodeType":"ElementaryTypeName","src":"7347:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7670,"nodeType":"ArrayTypeName","src":"7347:9:8","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"7304:66:8"},"returnParameters":{"id":7675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7674,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7684,"src":"7405:13:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7673,"name":"string","nodeType":"ElementaryTypeName","src":"7405:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7404:15:8"},"scope":7913,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7703,"nodeType":"FunctionDefinition","src":"7491:168:8","nodes":[],"body":{"id":7702,"nodeType":"Block","src":"7599:60:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7697,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7686,"src":"7632:7:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7698,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7688,"src":"7641:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7699,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7690,"src":"7646:5:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":7695,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"7616:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7619:12:8","memberName":"serializeInt","nodeType":"MemberAccess","referencedDeclaration":14775,"src":"7616:15:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,int256) external returns (string memory)"}},"id":7700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7616:36:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":7694,"id":7701,"nodeType":"Return","src":"7609:43:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7500:9:8","parameters":{"id":7691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7686,"mutability":"mutable","name":"jsonKey","nameLocation":"7524:7:8","nodeType":"VariableDeclaration","scope":7703,"src":"7510:21:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7685,"name":"string","nodeType":"ElementaryTypeName","src":"7510:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7688,"mutability":"mutable","name":"key","nameLocation":"7547:3:8","nodeType":"VariableDeclaration","scope":7703,"src":"7533:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7687,"name":"string","nodeType":"ElementaryTypeName","src":"7533:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7690,"mutability":"mutable","name":"value","nameLocation":"7559:5:8","nodeType":"VariableDeclaration","scope":7703,"src":"7552:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7689,"name":"int256","nodeType":"ElementaryTypeName","src":"7552:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7509:56:8"},"returnParameters":{"id":7694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7693,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7703,"src":"7584:13:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7692,"name":"string","nodeType":"ElementaryTypeName","src":"7584:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7583:15:8"},"scope":7913,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7723,"nodeType":"FunctionDefinition","src":"7665:197:8","nodes":[],"body":{"id":7722,"nodeType":"Block","src":"7802:60:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7717,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7705,"src":"7835:7:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7718,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7707,"src":"7844:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7719,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7710,"src":"7849:5:8","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}],"expression":{"id":7715,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"7819:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7822:12:8","memberName":"serializeInt","nodeType":"MemberAccess","referencedDeclaration":14788,"src":"7819:15:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,int256[] memory) external returns (string memory)"}},"id":7720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7819:36:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":7714,"id":7721,"nodeType":"Return","src":"7812:43:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7674:9:8","parameters":{"id":7711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7705,"mutability":"mutable","name":"jsonKey","nameLocation":"7698:7:8","nodeType":"VariableDeclaration","scope":7723,"src":"7684:21:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7704,"name":"string","nodeType":"ElementaryTypeName","src":"7684:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7707,"mutability":"mutable","name":"key","nameLocation":"7721:3:8","nodeType":"VariableDeclaration","scope":7723,"src":"7707:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7706,"name":"string","nodeType":"ElementaryTypeName","src":"7707:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7710,"mutability":"mutable","name":"value","nameLocation":"7742:5:8","nodeType":"VariableDeclaration","scope":7723,"src":"7726:21:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":7708,"name":"int256","nodeType":"ElementaryTypeName","src":"7726:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":7709,"nodeType":"ArrayTypeName","src":"7726:8:8","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"7683:65:8"},"returnParameters":{"id":7714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7713,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7723,"src":"7783:13:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7712,"name":"string","nodeType":"ElementaryTypeName","src":"7783:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7782:15:8"},"scope":7913,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7742,"nodeType":"FunctionDefinition","src":"7868:173:8","nodes":[],"body":{"id":7741,"nodeType":"Block","src":"7977:64:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7736,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7725,"src":"8014:7:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7737,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7727,"src":"8023:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7738,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7729,"src":"8028:5:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7734,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"7994:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7997:16:8","memberName":"serializeAddress","nodeType":"MemberAccess","referencedDeclaration":14675,"src":"7994:19:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,address) external returns (string memory)"}},"id":7739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7994:40:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":7733,"id":7740,"nodeType":"Return","src":"7987:47:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7877:9:8","parameters":{"id":7730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7725,"mutability":"mutable","name":"jsonKey","nameLocation":"7901:7:8","nodeType":"VariableDeclaration","scope":7742,"src":"7887:21:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7724,"name":"string","nodeType":"ElementaryTypeName","src":"7887:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7727,"mutability":"mutable","name":"key","nameLocation":"7924:3:8","nodeType":"VariableDeclaration","scope":7742,"src":"7910:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7726,"name":"string","nodeType":"ElementaryTypeName","src":"7910:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7729,"mutability":"mutable","name":"value","nameLocation":"7937:5:8","nodeType":"VariableDeclaration","scope":7742,"src":"7929:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7728,"name":"address","nodeType":"ElementaryTypeName","src":"7929:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7886:57:8"},"returnParameters":{"id":7733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7732,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7742,"src":"7962:13:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7731,"name":"string","nodeType":"ElementaryTypeName","src":"7962:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7961:15:8"},"scope":7913,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7762,"nodeType":"FunctionDefinition","src":"8047:202:8","nodes":[],"body":{"id":7761,"nodeType":"Block","src":"8185:64:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7756,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7744,"src":"8222:7:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7757,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7746,"src":"8231:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7758,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7749,"src":"8236:5:8","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":7754,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"8202:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8205:16:8","memberName":"serializeAddress","nodeType":"MemberAccess","referencedDeclaration":14688,"src":"8202:19:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,address[] memory) external returns (string memory)"}},"id":7759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8202:40:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":7753,"id":7760,"nodeType":"Return","src":"8195:47:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8056:9:8","parameters":{"id":7750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7744,"mutability":"mutable","name":"jsonKey","nameLocation":"8080:7:8","nodeType":"VariableDeclaration","scope":7762,"src":"8066:21:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7743,"name":"string","nodeType":"ElementaryTypeName","src":"8066:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7746,"mutability":"mutable","name":"key","nameLocation":"8103:3:8","nodeType":"VariableDeclaration","scope":7762,"src":"8089:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7745,"name":"string","nodeType":"ElementaryTypeName","src":"8089:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7749,"mutability":"mutable","name":"value","nameLocation":"8125:5:8","nodeType":"VariableDeclaration","scope":7762,"src":"8108:22:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7747,"name":"address","nodeType":"ElementaryTypeName","src":"8108:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7748,"nodeType":"ArrayTypeName","src":"8108:9:8","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"8065:66:8"},"returnParameters":{"id":7753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7752,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7762,"src":"8166:13:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7751,"name":"string","nodeType":"ElementaryTypeName","src":"8166:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8165:15:8"},"scope":7913,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7781,"nodeType":"FunctionDefinition","src":"8255:173:8","nodes":[],"body":{"id":7780,"nodeType":"Block","src":"8364:64:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7775,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7764,"src":"8401:7:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7776,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7766,"src":"8410:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7777,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7768,"src":"8415:5:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7773,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"8381:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8384:16:8","memberName":"serializeBytes32","nodeType":"MemberAccess","referencedDeclaration":14725,"src":"8381:19:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes32) external returns (string memory)"}},"id":7778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8381:40:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":7772,"id":7779,"nodeType":"Return","src":"8374:47:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8264:9:8","parameters":{"id":7769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7764,"mutability":"mutable","name":"jsonKey","nameLocation":"8288:7:8","nodeType":"VariableDeclaration","scope":7781,"src":"8274:21:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7763,"name":"string","nodeType":"ElementaryTypeName","src":"8274:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7766,"mutability":"mutable","name":"key","nameLocation":"8311:3:8","nodeType":"VariableDeclaration","scope":7781,"src":"8297:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7765,"name":"string","nodeType":"ElementaryTypeName","src":"8297:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7768,"mutability":"mutable","name":"value","nameLocation":"8324:5:8","nodeType":"VariableDeclaration","scope":7781,"src":"8316:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7767,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8316:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8273:57:8"},"returnParameters":{"id":7772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7771,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7781,"src":"8349:13:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7770,"name":"string","nodeType":"ElementaryTypeName","src":"8349:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8348:15:8"},"scope":7913,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7801,"nodeType":"FunctionDefinition","src":"8434:202:8","nodes":[],"body":{"id":7800,"nodeType":"Block","src":"8572:64:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7795,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7783,"src":"8609:7:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7796,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7785,"src":"8618:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7797,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7788,"src":"8623:5:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":7793,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"8589:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8592:16:8","memberName":"serializeBytes32","nodeType":"MemberAccess","referencedDeclaration":14738,"src":"8589:19:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes32[] memory) external returns (string memory)"}},"id":7798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8589:40:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":7792,"id":7799,"nodeType":"Return","src":"8582:47:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8443:9:8","parameters":{"id":7789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7783,"mutability":"mutable","name":"jsonKey","nameLocation":"8467:7:8","nodeType":"VariableDeclaration","scope":7801,"src":"8453:21:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7782,"name":"string","nodeType":"ElementaryTypeName","src":"8453:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7785,"mutability":"mutable","name":"key","nameLocation":"8490:3:8","nodeType":"VariableDeclaration","scope":7801,"src":"8476:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7784,"name":"string","nodeType":"ElementaryTypeName","src":"8476:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7788,"mutability":"mutable","name":"value","nameLocation":"8512:5:8","nodeType":"VariableDeclaration","scope":7801,"src":"8495:22:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":7786,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8495:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7787,"nodeType":"ArrayTypeName","src":"8495:9:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"8452:66:8"},"returnParameters":{"id":7792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7791,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7801,"src":"8553:13:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7790,"name":"string","nodeType":"ElementaryTypeName","src":"8553:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8552:15:8"},"scope":7913,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7820,"nodeType":"FunctionDefinition","src":"8642:176:8","nodes":[],"body":{"id":7819,"nodeType":"Block","src":"8756:62:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7814,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7803,"src":"8791:7:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7815,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7805,"src":"8800:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7816,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7807,"src":"8805:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":7812,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"8773:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8776:14:8","memberName":"serializeBytes","nodeType":"MemberAccess","referencedDeclaration":14750,"src":"8773:17:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes memory) external returns (string memory)"}},"id":7817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8773:38:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":7811,"id":7818,"nodeType":"Return","src":"8766:45:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8651:9:8","parameters":{"id":7808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7803,"mutability":"mutable","name":"jsonKey","nameLocation":"8675:7:8","nodeType":"VariableDeclaration","scope":7820,"src":"8661:21:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7802,"name":"string","nodeType":"ElementaryTypeName","src":"8661:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7805,"mutability":"mutable","name":"key","nameLocation":"8698:3:8","nodeType":"VariableDeclaration","scope":7820,"src":"8684:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7804,"name":"string","nodeType":"ElementaryTypeName","src":"8684:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7807,"mutability":"mutable","name":"value","nameLocation":"8716:5:8","nodeType":"VariableDeclaration","scope":7820,"src":"8703:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7806,"name":"bytes","nodeType":"ElementaryTypeName","src":"8703:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8660:62:8"},"returnParameters":{"id":7811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7810,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7820,"src":"8741:13:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7809,"name":"string","nodeType":"ElementaryTypeName","src":"8741:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8740:15:8"},"scope":7913,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7840,"nodeType":"FunctionDefinition","src":"8824:198:8","nodes":[],"body":{"id":7839,"nodeType":"Block","src":"8960:62:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7834,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7822,"src":"8995:7:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7835,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7824,"src":"9004:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7836,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7827,"src":"9009:5:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"expression":{"id":7832,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"8977:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8980:14:8","memberName":"serializeBytes","nodeType":"MemberAccess","referencedDeclaration":14763,"src":"8977:17:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes memory[] memory) external returns (string memory)"}},"id":7837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8977:38:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":7831,"id":7838,"nodeType":"Return","src":"8970:45:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8833:9:8","parameters":{"id":7828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7822,"mutability":"mutable","name":"jsonKey","nameLocation":"8857:7:8","nodeType":"VariableDeclaration","scope":7840,"src":"8843:21:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7821,"name":"string","nodeType":"ElementaryTypeName","src":"8843:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7824,"mutability":"mutable","name":"key","nameLocation":"8880:3:8","nodeType":"VariableDeclaration","scope":7840,"src":"8866:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7823,"name":"string","nodeType":"ElementaryTypeName","src":"8866:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7827,"mutability":"mutable","name":"value","nameLocation":"8900:5:8","nodeType":"VariableDeclaration","scope":7840,"src":"8885:20:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":7825,"name":"bytes","nodeType":"ElementaryTypeName","src":"8885:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":7826,"nodeType":"ArrayTypeName","src":"8885:7:8","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"8842:64:8"},"returnParameters":{"id":7831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7830,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7840,"src":"8941:13:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7829,"name":"string","nodeType":"ElementaryTypeName","src":"8941:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8940:15:8"},"scope":7913,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7859,"nodeType":"FunctionDefinition","src":"9028:198:8","nodes":[],"body":{"id":7858,"nodeType":"Block","src":"9163:63:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7853,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7842,"src":"9199:7:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7854,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7844,"src":"9208:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7855,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7846,"src":"9213:5:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7851,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"9180:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9183:15:8","memberName":"serializeString","nodeType":"MemberAccess","referencedDeclaration":14834,"src":"9180:18:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,string memory) external returns (string memory)"}},"id":7856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9180:39:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":7850,"id":7857,"nodeType":"Return","src":"9173:46:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"9037:9:8","parameters":{"id":7847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7842,"mutability":"mutable","name":"jsonKey","nameLocation":"9061:7:8","nodeType":"VariableDeclaration","scope":7859,"src":"9047:21:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7841,"name":"string","nodeType":"ElementaryTypeName","src":"9047:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7844,"mutability":"mutable","name":"key","nameLocation":"9084:3:8","nodeType":"VariableDeclaration","scope":7859,"src":"9070:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7843,"name":"string","nodeType":"ElementaryTypeName","src":"9070:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7846,"mutability":"mutable","name":"value","nameLocation":"9103:5:8","nodeType":"VariableDeclaration","scope":7859,"src":"9089:19:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7845,"name":"string","nodeType":"ElementaryTypeName","src":"9089:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9046:63:8"},"returnParameters":{"id":7850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7849,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7859,"src":"9144:13:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7848,"name":"string","nodeType":"ElementaryTypeName","src":"9144:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9143:15:8"},"scope":7913,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7879,"nodeType":"FunctionDefinition","src":"9232:200:8","nodes":[],"body":{"id":7878,"nodeType":"Block","src":"9369:63:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7873,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7861,"src":"9405:7:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7874,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7863,"src":"9414:3:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7875,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7866,"src":"9419:5:8","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":7871,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"9386:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9389:15:8","memberName":"serializeString","nodeType":"MemberAccess","referencedDeclaration":14847,"src":"9386:18:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,string memory[] memory) external returns (string memory)"}},"id":7876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9386:39:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":7870,"id":7877,"nodeType":"Return","src":"9379:46:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"9241:9:8","parameters":{"id":7867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7861,"mutability":"mutable","name":"jsonKey","nameLocation":"9265:7:8","nodeType":"VariableDeclaration","scope":7879,"src":"9251:21:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7860,"name":"string","nodeType":"ElementaryTypeName","src":"9251:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7863,"mutability":"mutable","name":"key","nameLocation":"9288:3:8","nodeType":"VariableDeclaration","scope":7879,"src":"9274:17:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7862,"name":"string","nodeType":"ElementaryTypeName","src":"9274:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7866,"mutability":"mutable","name":"value","nameLocation":"9309:5:8","nodeType":"VariableDeclaration","scope":7879,"src":"9293:21:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":7864,"name":"string","nodeType":"ElementaryTypeName","src":"9293:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7865,"nodeType":"ArrayTypeName","src":"9293:8:8","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"9250:65:8"},"returnParameters":{"id":7870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7869,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7879,"src":"9350:13:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7868,"name":"string","nodeType":"ElementaryTypeName","src":"9350:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9349:15:8"},"scope":7913,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7894,"nodeType":"FunctionDefinition","src":"9438:111:8","nodes":[],"body":{"id":7893,"nodeType":"Block","src":"9505:44:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7889,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7881,"src":"9528:7:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7890,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7883,"src":"9537:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7886,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"9515:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9518:9:8","memberName":"writeJson","nodeType":"MemberAccess","referencedDeclaration":14892,"src":"9515:12:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":7891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9515:27:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7892,"nodeType":"ExpressionStatement","src":"9515:27:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"write","nameLocation":"9447:5:8","parameters":{"id":7884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7881,"mutability":"mutable","name":"jsonKey","nameLocation":"9467:7:8","nodeType":"VariableDeclaration","scope":7894,"src":"9453:21:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7880,"name":"string","nodeType":"ElementaryTypeName","src":"9453:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7883,"mutability":"mutable","name":"path","nameLocation":"9490:4:8","nodeType":"VariableDeclaration","scope":7894,"src":"9476:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7882,"name":"string","nodeType":"ElementaryTypeName","src":"9476:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9452:43:8"},"returnParameters":{"id":7885,"nodeType":"ParameterList","parameters":[],"src":"9505:0:8"},"scope":7913,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7912,"nodeType":"FunctionDefinition","src":"9555:145:8","nodes":[],"body":{"id":7911,"nodeType":"Block","src":"9646:54:8","nodes":[],"statements":[{"expression":{"arguments":[{"id":7906,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7896,"src":"9669:7:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7907,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7898,"src":"9678:4:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7908,"name":"valueKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7900,"src":"9684:8:8","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7903,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6991,"src":"9656:2:8","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":7905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9659:9:8","memberName":"writeJson","nodeType":"MemberAccess","referencedDeclaration":14902,"src":"9656:12:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory,string memory) external"}},"id":7909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9656:37:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7910,"nodeType":"ExpressionStatement","src":"9656:37:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"write","nameLocation":"9564:5:8","parameters":{"id":7901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7896,"mutability":"mutable","name":"jsonKey","nameLocation":"9584:7:8","nodeType":"VariableDeclaration","scope":7912,"src":"9570:21:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7895,"name":"string","nodeType":"ElementaryTypeName","src":"9570:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7898,"mutability":"mutable","name":"path","nameLocation":"9607:4:8","nodeType":"VariableDeclaration","scope":7912,"src":"9593:18:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7897,"name":"string","nodeType":"ElementaryTypeName","src":"9593:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7900,"mutability":"mutable","name":"valueKey","nameLocation":"9627:8:8","nodeType":"VariableDeclaration","scope":7912,"src":"9613:22:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7899,"name":"string","nodeType":"ElementaryTypeName","src":"9613:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9569:67:8"},"returnParameters":{"id":7902,"nodeType":"ParameterList","parameters":[],"src":"9646:0:8"},"scope":7913,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"stdJson","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[7913],"name":"stdJson","nameLocation":"618:7:8","scope":7914,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdMath.sol":{"id":9,"ast":{"absolutePath":"lib/forge-std/src/StdMath.sol","id":8056,"exportedSymbols":{"stdMath":[8055]},"nodeType":"SourceUnit","src":"32:1328:9","nodes":[{"id":7915,"nodeType":"PragmaDirective","src":"32:31:9","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":8055,"nodeType":"ContractDefinition","src":"65:1294:9","nodes":[{"id":7919,"nodeType":"VariableDeclaration","src":"87:115:9","nodes":[],"constant":true,"mutability":"constant","name":"INT256_MIN","nameLocation":"111:10:9","scope":8055,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7916,"name":"int256","nodeType":"ElementaryTypeName","src":"87:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"value":{"id":7918,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"124:78:9","subExpression":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":7917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"125:77:9","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"value":"57896044618658097711785492504343953926634992332820282019728792003956564819968"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const -578...(70 digits omitted)...9968"}},"visibility":"private"},{"id":7945,"nodeType":"FunctionDefinition","src":"209:306:9","nodes":[],"body":{"id":7944,"nodeType":"Block","src":"264:251:9","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7926,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7921,"src":"342:1:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":7927,"name":"INT256_MIN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7919,"src":"347:10:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"342:15:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7932,"nodeType":"IfStatement","src":"338:130:9","trueBody":{"id":7931,"nodeType":"Block","src":"359:109:9","statements":[{"expression":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":7929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"380:77:9","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"value":"57896044618658097711785492504343953926634992332820282019728792003956564819968"},"functionReturnParameters":7925,"id":7930,"nodeType":"Return","src":"373:84:9"}]}},{"expression":{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7935,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7921,"src":"493:1:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":7936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"497:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"493:5:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"505:2:9","subExpression":{"id":7939,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7921,"src":"506:1:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":7941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"493:14:9","trueExpression":{"id":7938,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7921,"src":"501:1:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7934,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"485:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7933,"name":"uint256","nodeType":"ElementaryTypeName","src":"485:7:9","typeDescriptions":{}}},"id":7942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"485:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7925,"id":7943,"nodeType":"Return","src":"478:30:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"abs","nameLocation":"218:3:9","parameters":{"id":7922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7921,"mutability":"mutable","name":"a","nameLocation":"229:1:9","nodeType":"VariableDeclaration","scope":7945,"src":"222:8:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7920,"name":"int256","nodeType":"ElementaryTypeName","src":"222:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"221:10:9"},"returnParameters":{"id":7925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7924,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7945,"src":"255:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7923,"name":"uint256","nodeType":"ElementaryTypeName","src":"255:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"254:9:9"},"scope":8055,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7966,"nodeType":"FunctionDefinition","src":"521:114:9","nodes":[],"body":{"id":7965,"nodeType":"Block","src":"590:45:9","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7954,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7947,"src":"607:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":7955,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7949,"src":"611:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"607:5:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7960,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7949,"src":"623:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":7961,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7947,"src":"627:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"623:5:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"607:21:9","trueExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7957,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7947,"src":"615:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":7958,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7949,"src":"619:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"615:5:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7953,"id":7964,"nodeType":"Return","src":"600:28:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"delta","nameLocation":"530:5:9","parameters":{"id":7950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7947,"mutability":"mutable","name":"a","nameLocation":"544:1:9","nodeType":"VariableDeclaration","scope":7966,"src":"536:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7946,"name":"uint256","nodeType":"ElementaryTypeName","src":"536:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7949,"mutability":"mutable","name":"b","nameLocation":"555:1:9","nodeType":"VariableDeclaration","scope":7966,"src":"547:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7948,"name":"uint256","nodeType":"ElementaryTypeName","src":"547:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"535:22:9"},"returnParameters":{"id":7953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7952,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7966,"src":"581:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7951,"name":"uint256","nodeType":"ElementaryTypeName","src":"581:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"580:9:9"},"scope":8055,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8002,"nodeType":"FunctionDefinition","src":"641:352:9","nodes":[],"body":{"id":8001,"nodeType":"Block","src":"708:285:9","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7975,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7968,"src":"847:1:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":7976,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7970,"src":"851:1:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"847:5:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":7978,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"846:7:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":7980,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"856:2:9","subExpression":{"hexValue":"31","id":7979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"857:1:9","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}},"src":"846:12:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7992,"nodeType":"IfStatement","src":"842:71:9","trueBody":{"id":7991,"nodeType":"Block","src":"860:53:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":7984,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7968,"src":"891:1:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7983,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7945,"src":"887:3:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":7985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"887:6:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":7987,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7970,"src":"899:1:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7986,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7945,"src":"895:3:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":7988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"895:6:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7982,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[7966,8002],"referencedDeclaration":7966,"src":"881:5:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":7989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"881:21:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7974,"id":7990,"nodeType":"Return","src":"874:28:9"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7994,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7968,"src":"975:1:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7993,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7945,"src":"971:3:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":7995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"971:6:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":7997,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7970,"src":"984:1:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7996,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7945,"src":"980:3:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":7998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"980:6:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"971:15:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7974,"id":8000,"nodeType":"Return","src":"964:22:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"delta","nameLocation":"650:5:9","parameters":{"id":7971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7968,"mutability":"mutable","name":"a","nameLocation":"663:1:9","nodeType":"VariableDeclaration","scope":8002,"src":"656:8:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7967,"name":"int256","nodeType":"ElementaryTypeName","src":"656:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7970,"mutability":"mutable","name":"b","nameLocation":"673:1:9","nodeType":"VariableDeclaration","scope":8002,"src":"666:8:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7969,"name":"int256","nodeType":"ElementaryTypeName","src":"666:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"655:20:9"},"returnParameters":{"id":7974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7973,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8002,"src":"699:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7972,"name":"uint256","nodeType":"ElementaryTypeName","src":"699:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"698:9:9"},"scope":8055,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8025,"nodeType":"FunctionDefinition","src":"999:160:9","nodes":[],"body":{"id":8024,"nodeType":"Block","src":"1075:84:9","nodes":[],"statements":[{"assignments":[8012],"declarations":[{"constant":false,"id":8012,"mutability":"mutable","name":"absDelta","nameLocation":"1093:8:9","nodeType":"VariableDeclaration","scope":8024,"src":"1085:16:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8011,"name":"uint256","nodeType":"ElementaryTypeName","src":"1085:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8017,"initialValue":{"arguments":[{"id":8014,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8004,"src":"1110:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8015,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8006,"src":"1113:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8013,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[7966,8002],"referencedDeclaration":7966,"src":"1104:5:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":8016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1104:11:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1085:30:9"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8018,"name":"absDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8012,"src":"1133:8:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31653138","id":8019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1144:4:9","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"1133:15:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":8021,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8006,"src":"1151:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1133:19:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8010,"id":8023,"nodeType":"Return","src":"1126:26:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"percentDelta","nameLocation":"1008:12:9","parameters":{"id":8007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8004,"mutability":"mutable","name":"a","nameLocation":"1029:1:9","nodeType":"VariableDeclaration","scope":8025,"src":"1021:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8003,"name":"uint256","nodeType":"ElementaryTypeName","src":"1021:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8006,"mutability":"mutable","name":"b","nameLocation":"1040:1:9","nodeType":"VariableDeclaration","scope":8025,"src":"1032:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8005,"name":"uint256","nodeType":"ElementaryTypeName","src":"1032:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1020:22:9"},"returnParameters":{"id":8010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8009,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8025,"src":"1066:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8008,"name":"uint256","nodeType":"ElementaryTypeName","src":"1066:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1065:9:9"},"scope":8055,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8054,"nodeType":"FunctionDefinition","src":"1165:192:9","nodes":[],"body":{"id":8053,"nodeType":"Block","src":"1239:118:9","nodes":[],"statements":[{"assignments":[8035],"declarations":[{"constant":false,"id":8035,"mutability":"mutable","name":"absDelta","nameLocation":"1257:8:9","nodeType":"VariableDeclaration","scope":8053,"src":"1249:16:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8034,"name":"uint256","nodeType":"ElementaryTypeName","src":"1249:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8040,"initialValue":{"arguments":[{"id":8037,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8027,"src":"1274:1:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8038,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8029,"src":"1277:1:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8036,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[7966,8002],"referencedDeclaration":8002,"src":"1268:5:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":8039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1268:11:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1249:30:9"},{"assignments":[8042],"declarations":[{"constant":false,"id":8042,"mutability":"mutable","name":"absB","nameLocation":"1297:4:9","nodeType":"VariableDeclaration","scope":8053,"src":"1289:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8041,"name":"uint256","nodeType":"ElementaryTypeName","src":"1289:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8046,"initialValue":{"arguments":[{"id":8044,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8029,"src":"1308:1:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8043,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7945,"src":"1304:3:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":8045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1304:6:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1289:21:9"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8047,"name":"absDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8035,"src":"1328:8:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31653138","id":8048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1339:4:9","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"1328:15:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":8050,"name":"absB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8042,"src":"1346:4:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1328:22:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8033,"id":8052,"nodeType":"Return","src":"1321:29:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"percentDelta","nameLocation":"1174:12:9","parameters":{"id":8030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8027,"mutability":"mutable","name":"a","nameLocation":"1194:1:9","nodeType":"VariableDeclaration","scope":8054,"src":"1187:8:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8026,"name":"int256","nodeType":"ElementaryTypeName","src":"1187:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8029,"mutability":"mutable","name":"b","nameLocation":"1204:1:9","nodeType":"VariableDeclaration","scope":8054,"src":"1197:8:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8028,"name":"int256","nodeType":"ElementaryTypeName","src":"1197:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1186:20:9"},"returnParameters":{"id":8033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8032,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8054,"src":"1230:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8031,"name":"uint256","nodeType":"ElementaryTypeName","src":"1230:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1229:9:9"},"scope":8055,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"stdMath","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[8055],"name":"stdMath","nameLocation":"73:7:9","scope":8056,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdStorage.sol":{"id":10,"ast":{"absolutePath":"lib/forge-std/src/StdStorage.sol","id":10051,"exportedSymbols":{"FindData":[8068],"StdStorage":[8093],"Vm":[18001],"stdStorage":[10050],"stdStorageSafe":[9445]},"nodeType":"SourceUnit","src":"32:17809:10","nodes":[{"id":8057,"nodeType":"PragmaDirective","src":"32:31:10","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":8059,"nodeType":"ImportDirective","src":"65:28:10","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":10051,"sourceUnit":18002,"symbolAliases":[{"foreign":{"id":8058,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"73:2:10","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":8068,"nodeType":"StructDefinition","src":"95:102:10","nodes":[],"canonicalName":"FindData","members":[{"constant":false,"id":8061,"mutability":"mutable","name":"slot","nameLocation":"125:4:10","nodeType":"VariableDeclaration","scope":8068,"src":"117:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8060,"name":"uint256","nodeType":"ElementaryTypeName","src":"117:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8063,"mutability":"mutable","name":"offsetLeft","nameLocation":"143:10:10","nodeType":"VariableDeclaration","scope":8068,"src":"135:18:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8062,"name":"uint256","nodeType":"ElementaryTypeName","src":"135:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8065,"mutability":"mutable","name":"offsetRight","nameLocation":"167:11:10","nodeType":"VariableDeclaration","scope":8068,"src":"159:19:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8064,"name":"uint256","nodeType":"ElementaryTypeName","src":"159:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8067,"mutability":"mutable","name":"found","nameLocation":"189:5:10","nodeType":"VariableDeclaration","scope":8068,"src":"184:10:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8066,"name":"bool","nodeType":"ElementaryTypeName","src":"184:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"FindData","nameLocation":"102:8:10","scope":10051,"visibility":"public"},{"id":8093,"nodeType":"StructDefinition","src":"199:249:10","nodes":[],"canonicalName":"StdStorage","members":[{"constant":false,"id":8077,"mutability":"mutable","name":"finds","nameLocation":"291:5:10","nodeType":"VariableDeclaration","scope":8093,"src":"223:73:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))"},"typeName":{"id":8076,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":8069,"name":"address","nodeType":"ElementaryTypeName","src":"231:7:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"223:67:10","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":8075,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":8070,"name":"bytes4","nodeType":"ElementaryTypeName","src":"250:6:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Mapping","src":"242:47:10","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":8074,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":8071,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"260:28:10","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$","typeString":"mapping(bytes32 => struct FindData)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":8073,"nodeType":"UserDefinedTypeName","pathNode":{"id":8072,"name":"FindData","nameLocations":["279:8:10"],"nodeType":"IdentifierPath","referencedDeclaration":8068,"src":"279:8:10"},"referencedDeclaration":8068,"src":"279:8:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData"}}}}},"visibility":"internal"},{"constant":false,"id":8080,"mutability":"mutable","name":"_keys","nameLocation":"312:5:10","nodeType":"VariableDeclaration","scope":8093,"src":"302:15:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":8078,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":8079,"nodeType":"ArrayTypeName","src":"302:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":8082,"mutability":"mutable","name":"_sig","nameLocation":"330:4:10","nodeType":"VariableDeclaration","scope":8093,"src":"323:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":8081,"name":"bytes4","nodeType":"ElementaryTypeName","src":"323:6:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":8084,"mutability":"mutable","name":"_depth","nameLocation":"348:6:10","nodeType":"VariableDeclaration","scope":8093,"src":"340:14:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8083,"name":"uint256","nodeType":"ElementaryTypeName","src":"340:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8086,"mutability":"mutable","name":"_target","nameLocation":"368:7:10","nodeType":"VariableDeclaration","scope":8093,"src":"360:15:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8085,"name":"address","nodeType":"ElementaryTypeName","src":"360:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8088,"mutability":"mutable","name":"_set","nameLocation":"389:4:10","nodeType":"VariableDeclaration","scope":8093,"src":"381:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8087,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":8090,"mutability":"mutable","name":"_enable_packed_slots","nameLocation":"404:20:10","nodeType":"VariableDeclaration","scope":8093,"src":"399:25:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8089,"name":"bool","nodeType":"ElementaryTypeName","src":"399:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8092,"mutability":"mutable","name":"_calldata","nameLocation":"436:9:10","nodeType":"VariableDeclaration","scope":8093,"src":"430:15:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":8091,"name":"bytes","nodeType":"ElementaryTypeName","src":"430:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"StdStorage","nameLocation":"206:10:10","scope":10051,"visibility":"public"},{"id":9445,"nodeType":"ContractDefinition","src":"450:12307:10","nodes":[{"id":8103,"nodeType":"EventDefinition","src":"479:74:10","nodes":[],"anonymous":false,"eventSelector":"9c9555b1e3102e3cf48f427d79cb678f5d9bd1ed0ad574389461e255f95170ed","name":"SlotFound","nameLocation":"485:9:10","parameters":{"id":8102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8095,"indexed":false,"mutability":"mutable","name":"who","nameLocation":"503:3:10","nodeType":"VariableDeclaration","scope":8103,"src":"495:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8094,"name":"address","nodeType":"ElementaryTypeName","src":"495:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8097,"indexed":false,"mutability":"mutable","name":"fsig","nameLocation":"515:4:10","nodeType":"VariableDeclaration","scope":8103,"src":"508:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":8096,"name":"bytes4","nodeType":"ElementaryTypeName","src":"508:6:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":8099,"indexed":false,"mutability":"mutable","name":"keysHash","nameLocation":"529:8:10","nodeType":"VariableDeclaration","scope":8103,"src":"521:16:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8098,"name":"bytes32","nodeType":"ElementaryTypeName","src":"521:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":8101,"indexed":false,"mutability":"mutable","name":"slot","nameLocation":"547:4:10","nodeType":"VariableDeclaration","scope":8103,"src":"539:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8100,"name":"uint256","nodeType":"ElementaryTypeName","src":"539:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"494:58:10"}},{"id":8109,"nodeType":"EventDefinition","src":"558:54:10","nodes":[],"anonymous":false,"eventSelector":"080fc4a96620c4462e705b23f346413fe3796bb63c6f8d8591baec0e231577a5","name":"WARNING_UninitedSlot","nameLocation":"564:20:10","parameters":{"id":8108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8105,"indexed":false,"mutability":"mutable","name":"who","nameLocation":"593:3:10","nodeType":"VariableDeclaration","scope":8109,"src":"585:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8104,"name":"address","nodeType":"ElementaryTypeName","src":"585:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8107,"indexed":false,"mutability":"mutable","name":"slot","nameLocation":"606:4:10","nodeType":"VariableDeclaration","scope":8109,"src":"598:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8106,"name":"uint256","nodeType":"ElementaryTypeName","src":"598:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"584:27:10"}},{"id":8126,"nodeType":"VariableDeclaration","src":"618:84:10","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"638:2:10","scope":9445,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":8111,"nodeType":"UserDefinedTypeName","pathNode":{"id":8110,"name":"Vm","nameLocations":["618:2:10"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"618:2:10"},"referencedDeclaration":18001,"src":"618:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":8120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"680:17:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":8119,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"670:9:10","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"670:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8118,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"662:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8117,"name":"uint256","nodeType":"ElementaryTypeName","src":"662:7:10","typeDescriptions":{}}},"id":8122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"662:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8116,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"654:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":8115,"name":"uint160","nodeType":"ElementaryTypeName","src":"654:7:10","typeDescriptions":{}}},"id":8123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"654:46:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":8114,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"646:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8113,"name":"address","nodeType":"ElementaryTypeName","src":"646:7:10","typeDescriptions":{}}},"id":8124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"646:55:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":8112,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"643:2:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":8125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"643:59:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"private"},{"id":8129,"nodeType":"VariableDeclaration","src":"708:109:10","nodes":[],"constant":true,"mutability":"constant","name":"UINT256_MAX","nameLocation":"725:11:10","scope":9445,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8127,"name":"uint256","nodeType":"ElementaryTypeName","src":"708:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":8128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"739:78:10","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"internal"},{"id":8147,"nodeType":"FunctionDefinition","src":"824:123:10","nodes":[],"body":{"id":8146,"nodeType":"Block","src":"891:56:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":8141,"name":"sigStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8131,"src":"931:6:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"925:5:10","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":8139,"name":"bytes","nodeType":"ElementaryTypeName","src":"925:5:10","typeDescriptions":{}}},"id":8142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"925:13:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8138,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"915:9:10","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"915:24:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8137,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"908:6:10","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":8136,"name":"bytes4","nodeType":"ElementaryTypeName","src":"908:6:10","typeDescriptions":{}}},"id":8144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"908:32:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":8135,"id":8145,"nodeType":"Return","src":"901:39:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sigs","nameLocation":"833:4:10","parameters":{"id":8132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8131,"mutability":"mutable","name":"sigStr","nameLocation":"852:6:10","nodeType":"VariableDeclaration","scope":8147,"src":"838:20:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8130,"name":"string","nodeType":"ElementaryTypeName","src":"838:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"837:22:10"},"returnParameters":{"id":8135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8134,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8147,"src":"883:6:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":8133,"name":"bytes4","nodeType":"ElementaryTypeName","src":"883:6:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"882:8:10"},"scope":9445,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8172,"nodeType":"FunctionDefinition","src":"953:236:10","nodes":[],"body":{"id":8171,"nodeType":"Block","src":"1038:151:10","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":8155,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8150,"src":"1052:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8156,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1057:9:10","memberName":"_calldata","nodeType":"MemberAccess","referencedDeclaration":8092,"src":"1052:14:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"id":8157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1067:6:10","memberName":"length","nodeType":"MemberAccess","src":"1052:21:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":8158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1077:1:10","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1052:26:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":8169,"nodeType":"Block","src":"1137:46:10","statements":[{"expression":{"expression":{"id":8166,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8150,"src":"1158:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8167,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1163:9:10","memberName":"_calldata","nodeType":"MemberAccess","referencedDeclaration":8092,"src":"1158:14:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"functionReturnParameters":8154,"id":8168,"nodeType":"Return","src":"1151:21:10"}]},"id":8170,"nodeType":"IfStatement","src":"1048:135:10","trueBody":{"id":8165,"nodeType":"Block","src":"1080:51:10","statements":[{"expression":{"arguments":[{"expression":{"id":8161,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8150,"src":"1109:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8162,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1114:5:10","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":8080,"src":"1109:10:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}],"id":8160,"name":"flatten","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9368,"src":"1101:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory) pure returns (bytes memory)"}},"id":8163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1101:19:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":8154,"id":8164,"nodeType":"Return","src":"1094:26:10"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"getCallParams","nameLocation":"962:13:10","parameters":{"id":8151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8150,"mutability":"mutable","name":"self","nameLocation":"995:4:10","nodeType":"VariableDeclaration","scope":8172,"src":"976:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8149,"nodeType":"UserDefinedTypeName","pathNode":{"id":8148,"name":"StdStorage","nameLocations":["976:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"976:10:10"},"referencedDeclaration":8093,"src":"976:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"975:25:10"},"returnParameters":{"id":8154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8153,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8172,"src":"1024:12:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8152,"name":"bytes","nodeType":"ElementaryTypeName","src":"1024:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1023:14:10"},"scope":9445,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":8218,"nodeType":"FunctionDefinition","src":"1251:343:10","nodes":[],"body":{"id":8217,"nodeType":"Block","src":"1334:260:10","nodes":[],"statements":[{"assignments":[8183],"declarations":[{"constant":false,"id":8183,"mutability":"mutable","name":"cald","nameLocation":"1357:4:10","nodeType":"VariableDeclaration","scope":8217,"src":"1344:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8182,"name":"bytes","nodeType":"ElementaryTypeName","src":"1344:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8192,"initialValue":{"arguments":[{"expression":{"id":8186,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8175,"src":"1381:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8187,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1386:4:10","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":8082,"src":"1381:9:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":8189,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8175,"src":"1406:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8188,"name":"getCallParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8172,"src":"1392:13:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$8093_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) view returns (bytes memory)"}},"id":8190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1392:19:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":8184,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1364:3:10","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8185,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1368:12:10","memberName":"encodePacked","nodeType":"MemberAccess","src":"1364:16:10","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1364:48:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1344:68:10"},{"assignments":[8194,8196],"declarations":[{"constant":false,"id":8194,"mutability":"mutable","name":"success","nameLocation":"1428:7:10","nodeType":"VariableDeclaration","scope":8217,"src":"1423:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8193,"name":"bool","nodeType":"ElementaryTypeName","src":"1423:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8196,"mutability":"mutable","name":"rdat","nameLocation":"1450:4:10","nodeType":"VariableDeclaration","scope":8217,"src":"1437:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8195,"name":"bytes","nodeType":"ElementaryTypeName","src":"1437:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8202,"initialValue":{"arguments":[{"id":8200,"name":"cald","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8183,"src":"1482:4:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"expression":{"id":8197,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8175,"src":"1458:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8198,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1463:7:10","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8086,"src":"1458:12:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":8199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1471:10:10","memberName":"staticcall","nodeType":"MemberAccess","src":"1458:23:10","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":8201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1458:29:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"1422:65:10"},{"assignments":[8204],"declarations":[{"constant":false,"id":8204,"mutability":"mutable","name":"result","nameLocation":"1505:6:10","nodeType":"VariableDeclaration","scope":8217,"src":"1497:14:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8203,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1497:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8212,"initialValue":{"arguments":[{"id":8206,"name":"rdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8196,"src":"1529:4:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":8207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1535:2:10","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"expression":{"id":8208,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8175,"src":"1540:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8209,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1545:6:10","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":8084,"src":"1540:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1535:16:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8205,"name":"bytesToBytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9327,"src":"1514:14:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":8211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1514:38:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1497:55:10"},{"expression":{"components":[{"id":8213,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8194,"src":"1571:7:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":8214,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8204,"src":"1580:6:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":8215,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1570:17:10","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"functionReturnParameters":8181,"id":8216,"nodeType":"Return","src":"1563:24:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"callTarget","nameLocation":"1260:10:10","parameters":{"id":8176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8175,"mutability":"mutable","name":"self","nameLocation":"1290:4:10","nodeType":"VariableDeclaration","scope":8218,"src":"1271:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8174,"nodeType":"UserDefinedTypeName","pathNode":{"id":8173,"name":"StdStorage","nameLocations":["1271:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"1271:10:10"},"referencedDeclaration":8093,"src":"1271:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"1270:25:10"},"returnParameters":{"id":8181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8178,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8218,"src":"1319:4:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8177,"name":"bool","nodeType":"ElementaryTypeName","src":"1319:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8180,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8218,"src":"1325:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8179,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1325:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1318:15:10"},"scope":9445,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":8296,"nodeType":"FunctionDefinition","src":"1851:546:10","nodes":[],"body":{"id":8295,"nodeType":"Block","src":"1944:453:10","nodes":[],"statements":[{"assignments":[8229],"declarations":[{"constant":false,"id":8229,"mutability":"mutable","name":"prevSlotValue","nameLocation":"1962:13:10","nodeType":"VariableDeclaration","scope":8295,"src":"1954:21:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8228,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1954:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8236,"initialValue":{"arguments":[{"expression":{"id":8232,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8221,"src":"1986:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8233,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1991:7:10","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8086,"src":"1986:12:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8234,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8223,"src":"2000:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8230,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8126,"src":"1978:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":8231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1981:4:10","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":13945,"src":"1978:7:10","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":8235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1978:27:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1954:51:10"},{"assignments":[8238,8240],"declarations":[{"constant":false,"id":8238,"mutability":"mutable","name":"success","nameLocation":"2021:7:10","nodeType":"VariableDeclaration","scope":8295,"src":"2016:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8237,"name":"bool","nodeType":"ElementaryTypeName","src":"2016:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8240,"mutability":"mutable","name":"prevReturnValue","nameLocation":"2038:15:10","nodeType":"VariableDeclaration","scope":8295,"src":"2030:23:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8239,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2030:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8244,"initialValue":{"arguments":[{"id":8242,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8221,"src":"2068:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8241,"name":"callTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8218,"src":"2057:10:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$8093_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":8243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2057:16:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"2015:58:10"},{"assignments":[8246],"declarations":[{"constant":false,"id":8246,"mutability":"mutable","name":"testVal","nameLocation":"2092:7:10","nodeType":"VariableDeclaration","scope":8295,"src":"2084:15:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8245,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2084:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8262,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":8252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8247,"name":"prevReturnValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8240,"src":"2102:15:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":8250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2129:1:10","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":8249,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2121:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8248,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2121:7:10","typeDescriptions":{}}},"id":8251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2121:10:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2102:29:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"hexValue":"30","id":8259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2165:1:10","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":8258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2157:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8257,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2157:7:10","typeDescriptions":{}}},"id":8260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2157:10:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":8261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2102:65:10","trueExpression":{"arguments":[{"id":8255,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8129,"src":"2142:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8254,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2134:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8253,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2134:7:10","typeDescriptions":{}}},"id":8256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2134:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2084:83:10"},{"expression":{"arguments":[{"expression":{"id":8266,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8221,"src":"2186:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8267,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2191:7:10","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8086,"src":"2186:12:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8268,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8223,"src":"2200:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":8269,"name":"testVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8246,"src":"2206:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8263,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8126,"src":"2177:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":8265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2180:5:10","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":17564,"src":"2177:8:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":8270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2177:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8271,"nodeType":"ExpressionStatement","src":"2177:37:10"},{"assignments":[null,8273],"declarations":[null,{"constant":false,"id":8273,"mutability":"mutable","name":"newReturnValue","nameLocation":"2236:14:10","nodeType":"VariableDeclaration","scope":8295,"src":"2228:22:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8272,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2228:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8277,"initialValue":{"arguments":[{"id":8275,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8221,"src":"2265:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8274,"name":"callTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8218,"src":"2254:10:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$8093_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":8276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2254:16:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"2225:45:10"},{"expression":{"arguments":[{"expression":{"id":8281,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8221,"src":"2290:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8282,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2295:7:10","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8086,"src":"2290:12:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8283,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8223,"src":"2304:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":8284,"name":"prevSlotValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8229,"src":"2310:13:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8278,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8126,"src":"2281:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":8280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2284:5:10","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":17564,"src":"2281:8:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":8285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2281:43:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8286,"nodeType":"ExpressionStatement","src":"2281:43:10"},{"expression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":8292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8287,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8238,"src":"2343:7:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":8290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8288,"name":"prevReturnValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8240,"src":"2355:15:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8289,"name":"newReturnValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8273,"src":"2374:14:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2355:33:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":8291,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2354:35:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2343:46:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":8293,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2342:48:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":8227,"id":8294,"nodeType":"Return","src":"2335:55:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSlotMutatesCall","nameLocation":"1860:20:10","parameters":{"id":8224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8221,"mutability":"mutable","name":"self","nameLocation":"1900:4:10","nodeType":"VariableDeclaration","scope":8296,"src":"1881:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8220,"nodeType":"UserDefinedTypeName","pathNode":{"id":8219,"name":"StdStorage","nameLocations":["1881:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"1881:10:10"},"referencedDeclaration":8093,"src":"1881:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8223,"mutability":"mutable","name":"slot","nameLocation":"1914:4:10","nodeType":"VariableDeclaration","scope":8296,"src":"1906:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8222,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1906:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1880:39:10"},"returnParameters":{"id":8227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8226,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8296,"src":"1938:4:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8225,"name":"bool","nodeType":"ElementaryTypeName","src":"1938:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1937:6:10"},"scope":9445,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8378,"nodeType":"FunctionDefinition","src":"2560:514:10","nodes":[],"body":{"id":8377,"nodeType":"Block","src":"2663:411:10","nodes":[],"statements":[{"body":{"id":8371,"nodeType":"Block","src":"2722:319:10","statements":[{"assignments":[8321],"declarations":[{"constant":false,"id":8321,"mutability":"mutable","name":"valueToPut","nameLocation":"2744:10:10","nodeType":"VariableDeclaration","scope":8371,"src":"2736:18:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8320,"name":"uint256","nodeType":"ElementaryTypeName","src":"2736:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8335,"initialValue":{"condition":{"id":8322,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8303,"src":"2757:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":8330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2789:1:10","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":8331,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8311,"src":"2794:6:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2789:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8333,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2788:13:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2757:44:10","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":8323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2765:1:10","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"323535","id":8324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2771:3:10","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":8325,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8311,"src":"2777:6:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2771:12:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8327,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2770:14:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2765:19:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8329,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2764:21:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2736:65:10"},{"expression":{"arguments":[{"expression":{"id":8339,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8299,"src":"2824:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2829:7:10","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8086,"src":"2824:12:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8341,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8301,"src":"2838:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":8344,"name":"valueToPut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8321,"src":"2852:10:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8343,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2844:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8342,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2844:7:10","typeDescriptions":{}}},"id":8345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2844:19:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8336,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8126,"src":"2815:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":8338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2818:5:10","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":17564,"src":"2815:8:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":8346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2815:49:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8347,"nodeType":"ExpressionStatement","src":"2815:49:10"},{"assignments":[8349,8351],"declarations":[{"constant":false,"id":8349,"mutability":"mutable","name":"success","nameLocation":"2885:7:10","nodeType":"VariableDeclaration","scope":8371,"src":"2880:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8348,"name":"bool","nodeType":"ElementaryTypeName","src":"2880:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8351,"mutability":"mutable","name":"data","nameLocation":"2902:4:10","nodeType":"VariableDeclaration","scope":8371,"src":"2894:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8350,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2894:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8355,"initialValue":{"arguments":[{"id":8353,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8299,"src":"2921:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8352,"name":"callTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8218,"src":"2910:10:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$8093_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":8354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2910:16:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"2879:47:10"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":8364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8356,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8349,"src":"2945:7:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":8359,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8351,"src":"2965:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8358,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2957:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8357,"name":"uint256","nodeType":"ElementaryTypeName","src":"2957:7:10","typeDescriptions":{}}},"id":8360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2957:13:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":8361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2973:1:10","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2957:17:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":8363,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2956:19:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2945:30:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8370,"nodeType":"IfStatement","src":"2941:90:10","trueBody":{"id":8369,"nodeType":"Block","src":"2977:54:10","statements":[{"expression":{"components":[{"hexValue":"74727565","id":8365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3003:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":8366,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8311,"src":"3009:6:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8367,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3002:14:10","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":8309,"id":8368,"nodeType":"Return","src":"2995:21:10"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8314,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8311,"src":"2698:6:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"323536","id":8315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2707:3:10","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"src":"2698:12:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8372,"initializationExpression":{"assignments":[8311],"declarations":[{"constant":false,"id":8311,"mutability":"mutable","name":"offset","nameLocation":"2686:6:10","nodeType":"VariableDeclaration","scope":8372,"src":"2678:14:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8310,"name":"uint256","nodeType":"ElementaryTypeName","src":"2678:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8313,"initialValue":{"hexValue":"30","id":8312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2695:1:10","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2678:18:10"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":8318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2712:8:10","subExpression":{"id":8317,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8311,"src":"2712:6:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8319,"nodeType":"ExpressionStatement","src":"2712:8:10"},"nodeType":"ForStatement","src":"2673:368:10"},{"expression":{"components":[{"hexValue":"66616c7365","id":8373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3058:5:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":8374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3065:1:10","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":8375,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3057:10:10","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":8309,"id":8376,"nodeType":"Return","src":"3050:17:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"findOffset","nameLocation":"2569:10:10","parameters":{"id":8304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8299,"mutability":"mutable","name":"self","nameLocation":"2599:4:10","nodeType":"VariableDeclaration","scope":8378,"src":"2580:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8298,"nodeType":"UserDefinedTypeName","pathNode":{"id":8297,"name":"StdStorage","nameLocations":["2580:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"2580:10:10"},"referencedDeclaration":8093,"src":"2580:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8301,"mutability":"mutable","name":"slot","nameLocation":"2613:4:10","nodeType":"VariableDeclaration","scope":8378,"src":"2605:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8300,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2605:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":8303,"mutability":"mutable","name":"left","nameLocation":"2624:4:10","nodeType":"VariableDeclaration","scope":8378,"src":"2619:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8302,"name":"bool","nodeType":"ElementaryTypeName","src":"2619:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2579:50:10"},"returnParameters":{"id":8309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8306,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8378,"src":"2648:4:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8305,"name":"bool","nodeType":"ElementaryTypeName","src":"2648:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8308,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8378,"src":"2654:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8307,"name":"uint256","nodeType":"ElementaryTypeName","src":"2654:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2647:15:10"},"scope":9445,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8438,"nodeType":"FunctionDefinition","src":"3080:534:10","nodes":[],"body":{"id":8437,"nodeType":"Block","src":"3182:432:10","nodes":[],"statements":[{"assignments":[8393],"declarations":[{"constant":false,"id":8393,"mutability":"mutable","name":"prevSlotValue","nameLocation":"3200:13:10","nodeType":"VariableDeclaration","scope":8437,"src":"3192:21:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8392,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3192:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8400,"initialValue":{"arguments":[{"expression":{"id":8396,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8381,"src":"3224:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8397,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3229:7:10","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8086,"src":"3224:12:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8398,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8383,"src":"3238:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8394,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8126,"src":"3216:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":8395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3219:4:10","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":13945,"src":"3216:7:10","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":8399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3216:27:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"3192:51:10"},{"assignments":[8402,8404],"declarations":[{"constant":false,"id":8402,"mutability":"mutable","name":"foundLeft","nameLocation":"3260:9:10","nodeType":"VariableDeclaration","scope":8437,"src":"3255:14:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8401,"name":"bool","nodeType":"ElementaryTypeName","src":"3255:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8404,"mutability":"mutable","name":"offsetLeft","nameLocation":"3279:10:10","nodeType":"VariableDeclaration","scope":8437,"src":"3271:18:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8403,"name":"uint256","nodeType":"ElementaryTypeName","src":"3271:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8410,"initialValue":{"arguments":[{"id":8406,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8381,"src":"3304:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":8407,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8383,"src":"3310:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"74727565","id":8408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3316:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":8405,"name":"findOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8378,"src":"3293:10:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bytes32_$_t_bool_$returns$_t_bool_$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bytes32,bool) returns (bool,uint256)"}},"id":8409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3293:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"3254:67:10"},{"assignments":[8412,8414],"declarations":[{"constant":false,"id":8412,"mutability":"mutable","name":"foundRight","nameLocation":"3337:10:10","nodeType":"VariableDeclaration","scope":8437,"src":"3332:15:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8411,"name":"bool","nodeType":"ElementaryTypeName","src":"3332:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8414,"mutability":"mutable","name":"offsetRight","nameLocation":"3357:11:10","nodeType":"VariableDeclaration","scope":8437,"src":"3349:19:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8413,"name":"uint256","nodeType":"ElementaryTypeName","src":"3349:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8420,"initialValue":{"arguments":[{"id":8416,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8381,"src":"3383:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":8417,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8383,"src":"3389:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"66616c7365","id":8418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3395:5:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":8415,"name":"findOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8378,"src":"3372:10:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bytes32_$_t_bool_$returns$_t_bool_$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bytes32,bool) returns (bool,uint256)"}},"id":8419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3372:29:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"3331:70:10"},{"expression":{"arguments":[{"expression":{"id":8424,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8381,"src":"3506:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8425,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3511:7:10","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8086,"src":"3506:12:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8426,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8383,"src":"3520:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":8427,"name":"prevSlotValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8393,"src":"3526:13:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8421,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8126,"src":"3497:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":8423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3500:5:10","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":17564,"src":"3497:8:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":8428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3497:43:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8429,"nodeType":"ExpressionStatement","src":"3497:43:10"},{"expression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":8432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8430,"name":"foundLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8402,"src":"3558:9:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":8431,"name":"foundRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8412,"src":"3571:10:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3558:23:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":8433,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8404,"src":"3583:10:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8434,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8414,"src":"3595:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8435,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3557:50:10","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$_t_uint256_$","typeString":"tuple(bool,uint256,uint256)"}},"functionReturnParameters":8391,"id":8436,"nodeType":"Return","src":"3550:57:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"findOffsets","nameLocation":"3089:11:10","parameters":{"id":8384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8381,"mutability":"mutable","name":"self","nameLocation":"3120:4:10","nodeType":"VariableDeclaration","scope":8438,"src":"3101:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8380,"nodeType":"UserDefinedTypeName","pathNode":{"id":8379,"name":"StdStorage","nameLocations":["3101:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"3101:10:10"},"referencedDeclaration":8093,"src":"3101:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8383,"mutability":"mutable","name":"slot","nameLocation":"3134:4:10","nodeType":"VariableDeclaration","scope":8438,"src":"3126:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8382,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3126:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3100:39:10"},"returnParameters":{"id":8391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8386,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8438,"src":"3158:4:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8385,"name":"bool","nodeType":"ElementaryTypeName","src":"3158:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8388,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8438,"src":"3164:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8387,"name":"uint256","nodeType":"ElementaryTypeName","src":"3164:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8390,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8438,"src":"3173:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8389,"name":"uint256","nodeType":"ElementaryTypeName","src":"3173:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3157:24:10"},"scope":9445,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8453,"nodeType":"FunctionDefinition","src":"3620:115:10","nodes":[],"body":{"id":8452,"nodeType":"Block","src":"3695:40:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8448,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8441,"src":"3717:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"74727565","id":8449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3723:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":8447,"name":"find","nodeType":"Identifier","overloadedDeclarations":[8453,8754],"referencedDeclaration":8754,"src":"3712:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$8068_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":8450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3712:16:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData storage pointer"}},"functionReturnParameters":8446,"id":8451,"nodeType":"Return","src":"3705:23:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"3629:4:10","parameters":{"id":8442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8441,"mutability":"mutable","name":"self","nameLocation":"3653:4:10","nodeType":"VariableDeclaration","scope":8453,"src":"3634:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8440,"nodeType":"UserDefinedTypeName","pathNode":{"id":8439,"name":"StdStorage","nameLocations":["3634:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"3634:10:10"},"referencedDeclaration":8093,"src":"3634:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"3633:25:10"},"returnParameters":{"id":8446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8445,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8453,"src":"3677:16:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData"},"typeName":{"id":8444,"nodeType":"UserDefinedTypeName","pathNode":{"id":8443,"name":"FindData","nameLocations":["3677:8:10"],"nodeType":"IdentifierPath","referencedDeclaration":8068,"src":"3677:8:10"},"referencedDeclaration":8068,"src":"3677:8:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData"}},"visibility":"internal"}],"src":"3676:18:10"},"scope":9445,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8754,"nodeType":"FunctionDefinition","src":"4249:2492:10","nodes":[],"body":{"id":8753,"nodeType":"Block","src":"4337:2404:10","nodes":[],"statements":[{"assignments":[8466],"declarations":[{"constant":false,"id":8466,"mutability":"mutable","name":"who","nameLocation":"4355:3:10","nodeType":"VariableDeclaration","scope":8753,"src":"4347:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8465,"name":"address","nodeType":"ElementaryTypeName","src":"4347:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":8469,"initialValue":{"expression":{"id":8467,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8457,"src":"4361:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8468,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4366:7:10","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8086,"src":"4361:12:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4347:26:10"},{"assignments":[8471],"declarations":[{"constant":false,"id":8471,"mutability":"mutable","name":"fsig","nameLocation":"4390:4:10","nodeType":"VariableDeclaration","scope":8753,"src":"4383:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":8470,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4383:6:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":8474,"initialValue":{"expression":{"id":8472,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8457,"src":"4397:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8473,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4402:4:10","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":8082,"src":"4397:9:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"4383:23:10"},{"assignments":[8476],"declarations":[{"constant":false,"id":8476,"mutability":"mutable","name":"field_depth","nameLocation":"4424:11:10","nodeType":"VariableDeclaration","scope":8753,"src":"4416:19:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8475,"name":"uint256","nodeType":"ElementaryTypeName","src":"4416:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8479,"initialValue":{"expression":{"id":8477,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8457,"src":"4438:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8478,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4443:6:10","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":8084,"src":"4438:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4416:33:10"},{"assignments":[8481],"declarations":[{"constant":false,"id":8481,"mutability":"mutable","name":"params","nameLocation":"4472:6:10","nodeType":"VariableDeclaration","scope":8753,"src":"4459:19:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8480,"name":"bytes","nodeType":"ElementaryTypeName","src":"4459:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8485,"initialValue":{"arguments":[{"id":8483,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8457,"src":"4495:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8482,"name":"getCallParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8172,"src":"4481:13:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$8093_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) view returns (bytes memory)"}},"id":8484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4481:19:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4459:41:10"},{"condition":{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":8486,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8457,"src":"4551:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8487,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4556:5:10","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":8077,"src":"4551:10:10","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":8489,"indexExpression":{"id":8488,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8466,"src":"4562:3:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4551:15:10","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":8491,"indexExpression":{"id":8490,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8471,"src":"4567:4:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4551:21:10","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":8499,"indexExpression":{"arguments":[{"arguments":[{"id":8495,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8481,"src":"4600:6:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":8496,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8476,"src":"4608:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8493,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4583:3:10","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8494,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4587:12:10","memberName":"encodePacked","nodeType":"MemberAccess","src":"4583:16:10","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4583:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8492,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4573:9:10","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4573:48:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4551:71:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage","typeString":"struct FindData storage ref"}},"id":8500,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4623:5:10","memberName":"found","nodeType":"MemberAccess","referencedDeclaration":8067,"src":"4551:77:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8524,"nodeType":"IfStatement","src":"4547:255:10","trueBody":{"id":8523,"nodeType":"Block","src":"4630:172:10","statements":[{"condition":{"id":8501,"name":"_clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8459,"src":"4648:6:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8507,"nodeType":"IfStatement","src":"4644:56:10","trueBody":{"id":8506,"nodeType":"Block","src":"4656:44:10","statements":[{"expression":{"arguments":[{"id":8503,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8457,"src":"4680:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8502,"name":"clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9399,"src":"4674:5:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":8504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4674:11:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8505,"nodeType":"ExpressionStatement","src":"4674:11:10"}]}},{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":8508,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8457,"src":"4720:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8509,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4725:5:10","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":8077,"src":"4720:10:10","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":8511,"indexExpression":{"id":8510,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8466,"src":"4731:3:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4720:15:10","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":8513,"indexExpression":{"id":8512,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8471,"src":"4736:4:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4720:21:10","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":8521,"indexExpression":{"arguments":[{"arguments":[{"id":8517,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8481,"src":"4769:6:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":8518,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8476,"src":"4777:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8515,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4752:3:10","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8516,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4756:12:10","memberName":"encodePacked","nodeType":"MemberAccess","src":"4752:16:10","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4752:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8514,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4742:9:10","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4742:48:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4720:71:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage","typeString":"struct FindData storage ref"}},"functionReturnParameters":8464,"id":8522,"nodeType":"Return","src":"4713:78:10"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":8525,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8126,"src":"4811:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":8527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4814:6:10","memberName":"record","nodeType":"MemberAccess","referencedDeclaration":13953,"src":"4811:9:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":8528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4811:11:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8529,"nodeType":"ExpressionStatement","src":"4811:11:10"},{"assignments":[null,8531],"declarations":[null,{"constant":false,"id":8531,"mutability":"mutable","name":"callResult","nameLocation":"4843:10:10","nodeType":"VariableDeclaration","scope":8753,"src":"4835:18:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8530,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4835:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8535,"initialValue":{"arguments":[{"id":8533,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8457,"src":"4868:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8532,"name":"callTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8218,"src":"4857:10:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$8093_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":8534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4857:16:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"4832:41:10"},{"assignments":[8540,null],"declarations":[{"constant":false,"id":8540,"mutability":"mutable","name":"reads","nameLocation":"4901:5:10","nodeType":"VariableDeclaration","scope":8753,"src":"4884:22:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":8538,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4884:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":8539,"nodeType":"ArrayTypeName","src":"4884:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},null],"id":8548,"initialValue":{"arguments":[{"arguments":[{"id":8545,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8466,"src":"4931:3:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":8544,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4923:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8543,"name":"address","nodeType":"ElementaryTypeName","src":"4923:7:10","typeDescriptions":{}}},"id":8546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4923:12:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8541,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8126,"src":"4911:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":8542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4914:8:10","memberName":"accesses","nodeType":"MemberAccess","referencedDeclaration":13812,"src":"4911:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (address) external returns (bytes32[] memory,bytes32[] memory)"}},"id":8547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4911:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"tuple(bytes32[] memory,bytes32[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"4883:53:10"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8549,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8540,"src":"4951:5:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":8550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4957:6:10","memberName":"length","nodeType":"MemberAccess","src":"4951:12:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":8551,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4967:1:10","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4951:17:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":8710,"nodeType":"Block","src":"5075:1332:10","statements":[{"body":{"id":8708,"nodeType":"Block","src":"5131:1266:10","statements":[{"assignments":[8568],"declarations":[{"constant":false,"id":8568,"mutability":"mutable","name":"prev","nameLocation":"5157:4:10","nodeType":"VariableDeclaration","scope":8708,"src":"5149:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8567,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5149:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8576,"initialValue":{"arguments":[{"id":8571,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8466,"src":"5172:3:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":8572,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8540,"src":"5177:5:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":8574,"indexExpression":{"id":8573,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8559,"src":"5183:1:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5177:8:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8569,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8126,"src":"5164:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":8570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5167:4:10","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":13945,"src":"5164:7:10","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":8575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5164:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"5149:37:10"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":8582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8577,"name":"prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8568,"src":"5208:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":8580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5224:1:10","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":8579,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5216:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8578,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5216:7:10","typeDescriptions":{}}},"id":8581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5216:10:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5208:18:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8594,"nodeType":"IfStatement","src":"5204:114:10","trueBody":{"id":8593,"nodeType":"Block","src":"5228:90:10","statements":[{"eventCall":{"arguments":[{"id":8584,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8466,"src":"5276:3:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"baseExpression":{"id":8587,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8540,"src":"5289:5:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":8589,"indexExpression":{"id":8588,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8559,"src":"5295:1:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5289:8:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8586,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5281:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8585,"name":"uint256","nodeType":"ElementaryTypeName","src":"5281:7:10","typeDescriptions":{}}},"id":8590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5281:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8583,"name":"WARNING_UninitedSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8109,"src":"5255:20:10","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":8591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5255:44:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8592,"nodeType":"EmitStatement","src":"5250:49:10"}]}},{"condition":{"id":8601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5340:37:10","subExpression":{"arguments":[{"id":8596,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8457,"src":"5362:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"baseExpression":{"id":8597,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8540,"src":"5368:5:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":8599,"indexExpression":{"id":8598,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8559,"src":"5374:1:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5368:8:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8595,"name":"checkSlotMutatesCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8296,"src":"5341:20:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct StdStorage storage pointer,bytes32) returns (bool)"}},"id":8600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5341:36:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8604,"nodeType":"IfStatement","src":"5336:92:10","trueBody":{"id":8603,"nodeType":"Block","src":"5379:49:10","statements":[{"id":8602,"nodeType":"Continue","src":"5401:8:10"}]}},{"assignments":[8606,8608],"declarations":[{"constant":false,"id":8606,"mutability":"mutable","name":"offsetLeft","nameLocation":"5455:10:10","nodeType":"VariableDeclaration","scope":8708,"src":"5447:18:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8605,"name":"uint256","nodeType":"ElementaryTypeName","src":"5447:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8608,"mutability":"mutable","name":"offsetRight","nameLocation":"5475:11:10","nodeType":"VariableDeclaration","scope":8708,"src":"5467:19:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8607,"name":"uint256","nodeType":"ElementaryTypeName","src":"5467:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8612,"initialValue":{"components":[{"hexValue":"30","id":8609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5491:1:10","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":8610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5494:1:10","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":8611,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5490:6:10","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"nodeType":"VariableDeclarationStatement","src":"5446:50:10"},{"condition":{"expression":{"id":8613,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8457,"src":"5519:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8614,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5524:20:10","memberName":"_enable_packed_slots","nodeType":"MemberAccess","referencedDeclaration":8090,"src":"5519:25:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8636,"nodeType":"IfStatement","src":"5515:256:10","trueBody":{"id":8635,"nodeType":"Block","src":"5546:225:10","statements":[{"assignments":[8616],"declarations":[{"constant":false,"id":8616,"mutability":"mutable","name":"found","nameLocation":"5573:5:10","nodeType":"VariableDeclaration","scope":8635,"src":"5568:10:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8615,"name":"bool","nodeType":"ElementaryTypeName","src":"5568:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":8617,"nodeType":"VariableDeclarationStatement","src":"5568:10:10"},{"expression":{"id":8628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":8618,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8616,"src":"5601:5:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":8619,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8606,"src":"5608:10:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8620,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8608,"src":"5620:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8621,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"5600:32:10","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$_t_uint256_$","typeString":"tuple(bool,uint256,uint256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8623,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8457,"src":"5647:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"baseExpression":{"id":8624,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8540,"src":"5653:5:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":8626,"indexExpression":{"id":8625,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8559,"src":"5659:1:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5653:8:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8622,"name":"findOffsets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8438,"src":"5635:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bytes32_$returns$_t_bool_$_t_uint256_$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bytes32) returns (bool,uint256,uint256)"}},"id":8627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5635:27:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$_t_uint256_$","typeString":"tuple(bool,uint256,uint256)"}},"src":"5600:62:10","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8629,"nodeType":"ExpressionStatement","src":"5600:62:10"},{"condition":{"id":8631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5688:6:10","subExpression":{"id":8630,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8616,"src":"5689:5:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8634,"nodeType":"IfStatement","src":"5684:69:10","trueBody":{"id":8633,"nodeType":"Block","src":"5696:57:10","statements":[{"id":8632,"nodeType":"Continue","src":"5722:8:10"}]}}]}},{"assignments":[8638],"declarations":[{"constant":false,"id":8638,"mutability":"mutable","name":"curVal","nameLocation":"5891:6:10","nodeType":"VariableDeclaration","scope":8708,"src":"5883:14:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8637,"name":"uint256","nodeType":"ElementaryTypeName","src":"5883:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8651,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":8641,"name":"prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8568,"src":"5909:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8640,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5901:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8639,"name":"uint256","nodeType":"ElementaryTypeName","src":"5901:7:10","typeDescriptions":{}}},"id":8642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5901:13:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"arguments":[{"id":8644,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8606,"src":"5934:10:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8645,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8608,"src":"5946:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8643,"name":"getMaskByOffsets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9410,"src":"5917:16:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":8646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5917:41:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5901:57:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8648,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5900:59:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":8649,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8608,"src":"5963:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5900:74:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5883:91:10"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":8654,"name":"callResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8531,"src":"6005:10:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8653,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5997:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8652,"name":"uint256","nodeType":"ElementaryTypeName","src":"5997:7:10","typeDescriptions":{}}},"id":8655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5997:19:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8656,"name":"curVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8638,"src":"6020:6:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5997:29:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8660,"nodeType":"IfStatement","src":"5993:84:10","trueBody":{"id":8659,"nodeType":"Block","src":"6028:49:10","statements":[{"id":8658,"nodeType":"Continue","src":"6050:8:10"}]}},{"eventCall":{"arguments":[{"id":8662,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8466,"src":"6110:3:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8663,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8471,"src":"6115:4:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"arguments":[{"id":8667,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8481,"src":"6148:6:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":8668,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8476,"src":"6156:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8665,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6131:3:10","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8666,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6135:12:10","memberName":"encodePacked","nodeType":"MemberAccess","src":"6131:16:10","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6131:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8664,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6121:9:10","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6121:48:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"baseExpression":{"id":8673,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8540,"src":"6179:5:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":8675,"indexExpression":{"id":8674,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8559,"src":"6185:1:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6179:8:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8672,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6171:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8671,"name":"uint256","nodeType":"ElementaryTypeName","src":"6171:7:10","typeDescriptions":{}}},"id":8676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6171:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8661,"name":"SlotFound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8103,"src":"6100:9:10","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (address,bytes4,bytes32,uint256)"}},"id":8677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6100:89:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8678,"nodeType":"EmitStatement","src":"6095:94:10"},{"expression":{"id":8705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":8679,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8457,"src":"6207:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8690,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6212:5:10","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":8077,"src":"6207:10:10","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":8691,"indexExpression":{"id":8681,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8466,"src":"6218:3:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6207:15:10","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":8692,"indexExpression":{"id":8682,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8471,"src":"6223:4:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6207:21:10","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":8693,"indexExpression":{"arguments":[{"arguments":[{"id":8686,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8481,"src":"6256:6:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":8687,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8476,"src":"6264:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8684,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6239:3:10","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8685,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6243:12:10","memberName":"encodePacked","nodeType":"MemberAccess","src":"6239:16:10","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6239:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8683,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6229:9:10","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6229:48:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6207:71:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage","typeString":"struct FindData storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"baseExpression":{"id":8697,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8540,"src":"6318:5:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":8699,"indexExpression":{"id":8698,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8559,"src":"6324:1:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6318:8:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8696,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6310:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8695,"name":"uint256","nodeType":"ElementaryTypeName","src":"6310:7:10","typeDescriptions":{}}},"id":8700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6310:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8701,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8606,"src":"6329:10:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8702,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8608,"src":"6341:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"74727565","id":8703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6354:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":8694,"name":"FindData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8068,"src":"6301:8:10","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_FindData_$8068_storage_ptr_$","typeString":"type(struct FindData storage pointer)"}},"id":8704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6301:58:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_memory_ptr","typeString":"struct FindData memory"}},"src":"6207:152:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage","typeString":"struct FindData storage ref"}},"id":8706,"nodeType":"ExpressionStatement","src":"6207:152:10"},{"id":8707,"nodeType":"Break","src":"6377:5:10"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"5120:3:10","subExpression":{"id":8563,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8559,"src":"5122:1:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30","id":8565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5127:1:10","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5120:8:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8709,"initializationExpression":{"assignments":[8559],"declarations":[{"constant":false,"id":8559,"mutability":"mutable","name":"i","nameLocation":"5102:1:10","nodeType":"VariableDeclaration","scope":8709,"src":"5094:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8558,"name":"uint256","nodeType":"ElementaryTypeName","src":"5094:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8562,"initialValue":{"expression":{"id":8560,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8540,"src":"5106:5:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":8561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5112:6:10","memberName":"length","nodeType":"MemberAccess","src":"5106:12:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5094:24:10"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"5089:1308:10"}]},"id":8711,"nodeType":"IfStatement","src":"4947:1460:10","trueBody":{"id":8557,"nodeType":"Block","src":"4970:99:10","statements":[{"expression":{"arguments":[{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a204e6f2073746f726167652075736520646574656374656420666f72207461726765742e","id":8554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4991:66:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_328ff448bebe6b9a52a670e66989b0a23c94fd0cbd86c30e5432c6ddc5340283","typeString":"literal_string \"stdStorage find(StdStorage): No storage use detected for target.\""},"value":"stdStorage find(StdStorage): No storage use detected for target."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_328ff448bebe6b9a52a670e66989b0a23c94fd0cbd86c30e5432c6ddc5340283","typeString":"literal_string \"stdStorage find(StdStorage): No storage use detected for target.\""}],"id":8553,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"4984:6:10","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":8555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4984:74:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8556,"nodeType":"ExpressionStatement","src":"4984:74:10"}]}},{"expression":{"arguments":[{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":8713,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8457,"src":"6438:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8714,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6443:5:10","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":8077,"src":"6438:10:10","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":8716,"indexExpression":{"id":8715,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8466,"src":"6449:3:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6438:15:10","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":8718,"indexExpression":{"id":8717,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8471,"src":"6454:4:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6438:21:10","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":8726,"indexExpression":{"arguments":[{"arguments":[{"id":8722,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8481,"src":"6487:6:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":8723,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8476,"src":"6495:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8720,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6470:3:10","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8721,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6474:12:10","memberName":"encodePacked","nodeType":"MemberAccess","src":"6470:16:10","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6470:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8719,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6460:9:10","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6460:48:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6438:71:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage","typeString":"struct FindData storage ref"}},"id":8727,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6510:5:10","memberName":"found","nodeType":"MemberAccess","referencedDeclaration":8067,"src":"6438:77:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a20536c6f74287329206e6f7420666f756e642e","id":8728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6529:49:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_47c274d4780c7bff83310cd576005a97888a2b2935c22f84e1e5282c1bfb39a8","typeString":"literal_string \"stdStorage find(StdStorage): Slot(s) not found.\""},"value":"stdStorage find(StdStorage): Slot(s) not found."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_47c274d4780c7bff83310cd576005a97888a2b2935c22f84e1e5282c1bfb39a8","typeString":"literal_string \"stdStorage find(StdStorage): Slot(s) not found.\""}],"id":8712,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"6417:7:10","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6417:171:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8730,"nodeType":"ExpressionStatement","src":"6417:171:10"},{"condition":{"id":8731,"name":"_clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8459,"src":"6603:6:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8737,"nodeType":"IfStatement","src":"6599:48:10","trueBody":{"id":8736,"nodeType":"Block","src":"6611:36:10","statements":[{"expression":{"arguments":[{"id":8733,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8457,"src":"6631:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8732,"name":"clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9399,"src":"6625:5:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":8734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6625:11:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8735,"nodeType":"ExpressionStatement","src":"6625:11:10"}]}},{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":8738,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8457,"src":"6663:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8739,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6668:5:10","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":8077,"src":"6663:10:10","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":8741,"indexExpression":{"id":8740,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8466,"src":"6674:3:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6663:15:10","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":8743,"indexExpression":{"id":8742,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8471,"src":"6679:4:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6663:21:10","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":8751,"indexExpression":{"arguments":[{"arguments":[{"id":8747,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8481,"src":"6712:6:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":8748,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8476,"src":"6720:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8745,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6695:3:10","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6699:12:10","memberName":"encodePacked","nodeType":"MemberAccess","src":"6695:16:10","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6695:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8744,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6685:9:10","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6685:48:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6663:71:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage","typeString":"struct FindData storage ref"}},"functionReturnParameters":8464,"id":8752,"nodeType":"Return","src":"6656:78:10"}]},"documentation":{"id":8454,"nodeType":"StructuredDocumentation","src":"3741:129:10","text":"@notice find an arbitrary storage slot given a function sig, input data, address of the contract and a value to check against"},"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"4258:4:10","parameters":{"id":8460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8457,"mutability":"mutable","name":"self","nameLocation":"4282:4:10","nodeType":"VariableDeclaration","scope":8754,"src":"4263:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8456,"nodeType":"UserDefinedTypeName","pathNode":{"id":8455,"name":"StdStorage","nameLocations":["4263:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"4263:10:10"},"referencedDeclaration":8093,"src":"4263:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8459,"mutability":"mutable","name":"_clear","nameLocation":"4293:6:10","nodeType":"VariableDeclaration","scope":8754,"src":"4288:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8458,"name":"bool","nodeType":"ElementaryTypeName","src":"4288:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4262:38:10"},"returnParameters":{"id":8464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8463,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8754,"src":"4319:16:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData"},"typeName":{"id":8462,"nodeType":"UserDefinedTypeName","pathNode":{"id":8461,"name":"FindData","nameLocations":["4319:8:10"],"nodeType":"IdentifierPath","referencedDeclaration":8068,"src":"4319:8:10"},"referencedDeclaration":8068,"src":"4319:8:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData"}},"visibility":"internal"}],"src":"4318:18:10"},"scope":9445,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8774,"nodeType":"FunctionDefinition","src":"6747:156:10","nodes":[],"body":{"id":8773,"nodeType":"Block","src":"6843:60:10","nodes":[],"statements":[{"expression":{"id":8769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":8765,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8757,"src":"6853:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8767,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6858:7:10","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8086,"src":"6853:12:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":8768,"name":"_target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8759,"src":"6868:7:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6853:22:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":8770,"nodeType":"ExpressionStatement","src":"6853:22:10"},{"expression":{"id":8771,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8757,"src":"6892:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":8764,"id":8772,"nodeType":"Return","src":"6885:11:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"target","nameLocation":"6756:6:10","parameters":{"id":8760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8757,"mutability":"mutable","name":"self","nameLocation":"6782:4:10","nodeType":"VariableDeclaration","scope":8774,"src":"6763:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8756,"nodeType":"UserDefinedTypeName","pathNode":{"id":8755,"name":"StdStorage","nameLocations":["6763:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"6763:10:10"},"referencedDeclaration":8093,"src":"6763:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8759,"mutability":"mutable","name":"_target","nameLocation":"6796:7:10","nodeType":"VariableDeclaration","scope":8774,"src":"6788:15:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8758,"name":"address","nodeType":"ElementaryTypeName","src":"6788:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6762:42:10"},"returnParameters":{"id":8764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8763,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8774,"src":"6823:18:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8762,"nodeType":"UserDefinedTypeName","pathNode":{"id":8761,"name":"StdStorage","nameLocations":["6823:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"6823:10:10"},"referencedDeclaration":8093,"src":"6823:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"6822:20:10"},"scope":9445,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8794,"nodeType":"FunctionDefinition","src":"6909:143:10","nodes":[],"body":{"id":8793,"nodeType":"Block","src":"6998:54:10","nodes":[],"statements":[{"expression":{"id":8789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":8785,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8777,"src":"7008:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8787,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7013:4:10","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":8082,"src":"7008:9:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":8788,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8779,"src":"7020:4:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"7008:16:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":8790,"nodeType":"ExpressionStatement","src":"7008:16:10"},{"expression":{"id":8791,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8777,"src":"7041:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":8784,"id":8792,"nodeType":"Return","src":"7034:11:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"6918:3:10","parameters":{"id":8780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8777,"mutability":"mutable","name":"self","nameLocation":"6941:4:10","nodeType":"VariableDeclaration","scope":8794,"src":"6922:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8776,"nodeType":"UserDefinedTypeName","pathNode":{"id":8775,"name":"StdStorage","nameLocations":["6922:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"6922:10:10"},"referencedDeclaration":8093,"src":"6922:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8779,"mutability":"mutable","name":"_sig","nameLocation":"6954:4:10","nodeType":"VariableDeclaration","scope":8794,"src":"6947:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":8778,"name":"bytes4","nodeType":"ElementaryTypeName","src":"6947:6:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"6921:38:10"},"returnParameters":{"id":8784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8783,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8794,"src":"6978:18:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8782,"nodeType":"UserDefinedTypeName","pathNode":{"id":8781,"name":"StdStorage","nameLocations":["6978:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"6978:10:10"},"referencedDeclaration":8093,"src":"6978:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"6977:20:10"},"scope":9445,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8816,"nodeType":"FunctionDefinition","src":"7058:156:10","nodes":[],"body":{"id":8815,"nodeType":"Block","src":"7154:60:10","nodes":[],"statements":[{"expression":{"id":8811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":8805,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8797,"src":"7164:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8807,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7169:4:10","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":8082,"src":"7164:9:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8809,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8799,"src":"7181:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8808,"name":"sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8147,"src":"7176:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$","typeString":"function (string memory) pure returns (bytes4)"}},"id":8810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7176:10:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"7164:22:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":8812,"nodeType":"ExpressionStatement","src":"7164:22:10"},{"expression":{"id":8813,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8797,"src":"7203:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":8804,"id":8814,"nodeType":"Return","src":"7196:11:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"7067:3:10","parameters":{"id":8800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8797,"mutability":"mutable","name":"self","nameLocation":"7090:4:10","nodeType":"VariableDeclaration","scope":8816,"src":"7071:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8796,"nodeType":"UserDefinedTypeName","pathNode":{"id":8795,"name":"StdStorage","nameLocations":["7071:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"7071:10:10"},"referencedDeclaration":8093,"src":"7071:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8799,"mutability":"mutable","name":"_sig","nameLocation":"7110:4:10","nodeType":"VariableDeclaration","scope":8816,"src":"7096:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8798,"name":"string","nodeType":"ElementaryTypeName","src":"7096:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7070:45:10"},"returnParameters":{"id":8804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8803,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8816,"src":"7134:18:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8802,"nodeType":"UserDefinedTypeName","pathNode":{"id":8801,"name":"StdStorage","nameLocations":["7134:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"7134:10:10"},"referencedDeclaration":8093,"src":"7134:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7133:20:10"},"scope":9445,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8836,"nodeType":"FunctionDefinition","src":"7220:174:10","nodes":[],"body":{"id":8835,"nodeType":"Block","src":"7330:64:10","nodes":[],"statements":[{"expression":{"id":8831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":8827,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8819,"src":"7340:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8829,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7345:9:10","memberName":"_calldata","nodeType":"MemberAccess","referencedDeclaration":8092,"src":"7340:14:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":8830,"name":"_calldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8821,"src":"7357:9:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"7340:26:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"id":8832,"nodeType":"ExpressionStatement","src":"7340:26:10"},{"expression":{"id":8833,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8819,"src":"7383:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":8826,"id":8834,"nodeType":"Return","src":"7376:11:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_calldata","nameLocation":"7229:13:10","parameters":{"id":8822,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8819,"mutability":"mutable","name":"self","nameLocation":"7262:4:10","nodeType":"VariableDeclaration","scope":8836,"src":"7243:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8818,"nodeType":"UserDefinedTypeName","pathNode":{"id":8817,"name":"StdStorage","nameLocations":["7243:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"7243:10:10"},"referencedDeclaration":8093,"src":"7243:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8821,"mutability":"mutable","name":"_calldata","nameLocation":"7281:9:10","nodeType":"VariableDeclaration","scope":8836,"src":"7268:22:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8820,"name":"bytes","nodeType":"ElementaryTypeName","src":"7268:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7242:49:10"},"returnParameters":{"id":8826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8825,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8836,"src":"7310:18:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8824,"nodeType":"UserDefinedTypeName","pathNode":{"id":8823,"name":"StdStorage","nameLocations":["7310:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"7310:10:10"},"referencedDeclaration":8093,"src":"7310:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7309:20:10"},"scope":9445,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8867,"nodeType":"FunctionDefinition","src":"7400:179:10","nodes":[],"body":{"id":8866,"nodeType":"Block","src":"7494:85:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"id":8858,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8841,"src":"7544:3:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":8857,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7536:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":8856,"name":"uint160","nodeType":"ElementaryTypeName","src":"7536:7:10","typeDescriptions":{}}},"id":8859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7536:12:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":8855,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7528:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8854,"name":"uint256","nodeType":"ElementaryTypeName","src":"7528:7:10","typeDescriptions":{}}},"id":8860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7528:21:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8853,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7520:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8852,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7520:7:10","typeDescriptions":{}}},"id":8861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7520:30:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":8847,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8839,"src":"7504:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8850,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7509:5:10","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":8080,"src":"7504:10:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":8851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7515:4:10","memberName":"push","nodeType":"MemberAccess","src":"7504:15:10","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":8862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7504:47:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8863,"nodeType":"ExpressionStatement","src":"7504:47:10"},{"expression":{"id":8864,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8839,"src":"7568:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":8846,"id":8865,"nodeType":"Return","src":"7561:11:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"7409:8:10","parameters":{"id":8842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8839,"mutability":"mutable","name":"self","nameLocation":"7437:4:10","nodeType":"VariableDeclaration","scope":8867,"src":"7418:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8838,"nodeType":"UserDefinedTypeName","pathNode":{"id":8837,"name":"StdStorage","nameLocations":["7418:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"7418:10:10"},"referencedDeclaration":8093,"src":"7418:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8841,"mutability":"mutable","name":"who","nameLocation":"7451:3:10","nodeType":"VariableDeclaration","scope":8867,"src":"7443:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8840,"name":"address","nodeType":"ElementaryTypeName","src":"7443:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7417:38:10"},"returnParameters":{"id":8846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8845,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8867,"src":"7474:18:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8844,"nodeType":"UserDefinedTypeName","pathNode":{"id":8843,"name":"StdStorage","nameLocations":["7474:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"7474:10:10"},"referencedDeclaration":8093,"src":"7474:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7473:20:10"},"scope":9445,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8892,"nodeType":"FunctionDefinition","src":"7585:161:10","nodes":[],"body":{"id":8891,"nodeType":"Block","src":"7679:67:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8885,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8872,"src":"7713:3:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8884,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7705:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8883,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7705:7:10","typeDescriptions":{}}},"id":8886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7705:12:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":8878,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8870,"src":"7689:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8881,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7694:5:10","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":8080,"src":"7689:10:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":8882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7700:4:10","memberName":"push","nodeType":"MemberAccess","src":"7689:15:10","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":8887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7689:29:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8888,"nodeType":"ExpressionStatement","src":"7689:29:10"},{"expression":{"id":8889,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8870,"src":"7735:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":8877,"id":8890,"nodeType":"Return","src":"7728:11:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"7594:8:10","parameters":{"id":8873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8870,"mutability":"mutable","name":"self","nameLocation":"7622:4:10","nodeType":"VariableDeclaration","scope":8892,"src":"7603:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8869,"nodeType":"UserDefinedTypeName","pathNode":{"id":8868,"name":"StdStorage","nameLocations":["7603:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"7603:10:10"},"referencedDeclaration":8093,"src":"7603:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8872,"mutability":"mutable","name":"amt","nameLocation":"7636:3:10","nodeType":"VariableDeclaration","scope":8892,"src":"7628:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8871,"name":"uint256","nodeType":"ElementaryTypeName","src":"7628:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7602:38:10"},"returnParameters":{"id":8877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8876,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8892,"src":"7659:18:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8875,"nodeType":"UserDefinedTypeName","pathNode":{"id":8874,"name":"StdStorage","nameLocations":["7659:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"7659:10:10"},"referencedDeclaration":8093,"src":"7659:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7658:20:10"},"scope":9445,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8914,"nodeType":"FunctionDefinition","src":"7752:152:10","nodes":[],"body":{"id":8913,"nodeType":"Block","src":"7846:58:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8908,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8897,"src":"7872:3:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":8903,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8895,"src":"7856:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8906,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7861:5:10","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":8080,"src":"7856:10:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":8907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7867:4:10","memberName":"push","nodeType":"MemberAccess","src":"7856:15:10","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":8909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7856:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8910,"nodeType":"ExpressionStatement","src":"7856:20:10"},{"expression":{"id":8911,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8895,"src":"7893:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":8902,"id":8912,"nodeType":"Return","src":"7886:11:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"7761:8:10","parameters":{"id":8898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8895,"mutability":"mutable","name":"self","nameLocation":"7789:4:10","nodeType":"VariableDeclaration","scope":8914,"src":"7770:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8894,"nodeType":"UserDefinedTypeName","pathNode":{"id":8893,"name":"StdStorage","nameLocations":["7770:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"7770:10:10"},"referencedDeclaration":8093,"src":"7770:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8897,"mutability":"mutable","name":"key","nameLocation":"7803:3:10","nodeType":"VariableDeclaration","scope":8914,"src":"7795:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8896,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7795:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7769:38:10"},"returnParameters":{"id":8902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8901,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8914,"src":"7826:18:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8900,"nodeType":"UserDefinedTypeName","pathNode":{"id":8899,"name":"StdStorage","nameLocations":["7826:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"7826:10:10"},"referencedDeclaration":8093,"src":"7826:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7825:20:10"},"scope":9445,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8932,"nodeType":"FunctionDefinition","src":"7910:162:10","nodes":[],"body":{"id":8931,"nodeType":"Block","src":"8002:70:10","nodes":[],"statements":[{"expression":{"id":8927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":8923,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8917,"src":"8012:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8925,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8017:20:10","memberName":"_enable_packed_slots","nodeType":"MemberAccess","referencedDeclaration":8090,"src":"8012:25:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":8926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8040:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"8012:32:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8928,"nodeType":"ExpressionStatement","src":"8012:32:10"},{"expression":{"id":8929,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8917,"src":"8061:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":8922,"id":8930,"nodeType":"Return","src":"8054:11:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"enable_packed_slots","nameLocation":"7919:19:10","parameters":{"id":8918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8917,"mutability":"mutable","name":"self","nameLocation":"7958:4:10","nodeType":"VariableDeclaration","scope":8932,"src":"7939:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8916,"nodeType":"UserDefinedTypeName","pathNode":{"id":8915,"name":"StdStorage","nameLocations":["7939:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"7939:10:10"},"referencedDeclaration":8093,"src":"7939:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7938:25:10"},"returnParameters":{"id":8922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8921,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8932,"src":"7982:18:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8920,"nodeType":"UserDefinedTypeName","pathNode":{"id":8919,"name":"StdStorage","nameLocations":["7982:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"7982:10:10"},"referencedDeclaration":8093,"src":"7982:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7981:20:10"},"scope":9445,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8952,"nodeType":"FunctionDefinition","src":"8078:152:10","nodes":[],"body":{"id":8951,"nodeType":"Block","src":"8172:58:10","nodes":[],"statements":[{"expression":{"id":8947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":8943,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8935,"src":"8182:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8945,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8187:6:10","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":8084,"src":"8182:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":8946,"name":"_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8937,"src":"8196:6:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8182:20:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8948,"nodeType":"ExpressionStatement","src":"8182:20:10"},{"expression":{"id":8949,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8935,"src":"8219:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":8942,"id":8950,"nodeType":"Return","src":"8212:11:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"depth","nameLocation":"8087:5:10","parameters":{"id":8938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8935,"mutability":"mutable","name":"self","nameLocation":"8112:4:10","nodeType":"VariableDeclaration","scope":8952,"src":"8093:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8934,"nodeType":"UserDefinedTypeName","pathNode":{"id":8933,"name":"StdStorage","nameLocations":["8093:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"8093:10:10"},"referencedDeclaration":8093,"src":"8093:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8937,"mutability":"mutable","name":"_depth","nameLocation":"8126:6:10","nodeType":"VariableDeclaration","scope":8952,"src":"8118:14:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8936,"name":"uint256","nodeType":"ElementaryTypeName","src":"8118:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8092:41:10"},"returnParameters":{"id":8942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8941,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8952,"src":"8152:18:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8940,"nodeType":"UserDefinedTypeName","pathNode":{"id":8939,"name":"StdStorage","nameLocations":["8152:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"8152:10:10"},"referencedDeclaration":8093,"src":"8152:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8151:20:10"},"scope":9445,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9009,"nodeType":"FunctionDefinition","src":"8236:364:10","nodes":[],"body":{"id":9008,"nodeType":"Block","src":"8306:294:10","nodes":[],"statements":[{"assignments":[8962],"declarations":[{"constant":false,"id":8962,"mutability":"mutable","name":"data","nameLocation":"8333:4:10","nodeType":"VariableDeclaration","scope":9008,"src":"8316:21:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData"},"typeName":{"id":8961,"nodeType":"UserDefinedTypeName","pathNode":{"id":8960,"name":"FindData","nameLocations":["8316:8:10"],"nodeType":"IdentifierPath","referencedDeclaration":8068,"src":"8316:8:10"},"referencedDeclaration":8068,"src":"8316:8:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData"}},"visibility":"internal"}],"id":8967,"initialValue":{"arguments":[{"id":8964,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8955,"src":"8345:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"66616c7365","id":8965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8351:5:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":8963,"name":"find","nodeType":"Identifier","overloadedDeclarations":[8453,8754],"referencedDeclaration":8754,"src":"8340:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$8068_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":8966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8340:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8316:41:10"},{"assignments":[8969],"declarations":[{"constant":false,"id":8969,"mutability":"mutable","name":"mask","nameLocation":"8375:4:10","nodeType":"VariableDeclaration","scope":9008,"src":"8367:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8968,"name":"uint256","nodeType":"ElementaryTypeName","src":"8367:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8976,"initialValue":{"arguments":[{"expression":{"id":8971,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8962,"src":"8399:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData storage pointer"}},"id":8972,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8404:10:10","memberName":"offsetLeft","nodeType":"MemberAccess","referencedDeclaration":8063,"src":"8399:15:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":8973,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8962,"src":"8416:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData storage pointer"}},"id":8974,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8421:11:10","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":8065,"src":"8416:16:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8970,"name":"getMaskByOffsets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9410,"src":"8382:16:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":8975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8382:51:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8367:66:10"},{"assignments":[8978],"declarations":[{"constant":false,"id":8978,"mutability":"mutable","name":"value","nameLocation":"8451:5:10","nodeType":"VariableDeclaration","scope":9008,"src":"8443:13:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8977,"name":"uint256","nodeType":"ElementaryTypeName","src":"8443:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8998,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"expression":{"id":8983,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8955,"src":"8476:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8984,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8481:7:10","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8086,"src":"8476:12:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":8987,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8962,"src":"8498:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData storage pointer"}},"id":8988,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8503:4:10","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":8061,"src":"8498:9:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8490:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8985,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8490:7:10","typeDescriptions":{}}},"id":8989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8490:18:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8981,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8126,"src":"8468:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":8982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8471:4:10","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":13945,"src":"8468:7:10","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":8990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8468:41:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8980,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8460:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8979,"name":"uint256","nodeType":"ElementaryTypeName","src":"8460:7:10","typeDescriptions":{}}},"id":8991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8460:50:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":8992,"name":"mask","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8969,"src":"8513:4:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8460:57:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8994,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8459:59:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"expression":{"id":8995,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8962,"src":"8522:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData storage pointer"}},"id":8996,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8527:11:10","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":8065,"src":"8522:16:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8459:79:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8443:95:10"},{"expression":{"arguments":[{"id":9000,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8955,"src":"8554:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8999,"name":"clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9399,"src":"8548:5:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":9001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8548:11:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9002,"nodeType":"ExpressionStatement","src":"8548:11:10"},{"expression":{"arguments":[{"id":9005,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8978,"src":"8587:5:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9003,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8576:3:10","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9004,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8580:6:10","memberName":"encode","nodeType":"MemberAccess","src":"8576:10:10","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":9006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8576:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":8959,"id":9007,"nodeType":"Return","src":"8569:24:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read","nameLocation":"8245:4:10","parameters":{"id":8956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8955,"mutability":"mutable","name":"self","nameLocation":"8269:4:10","nodeType":"VariableDeclaration","scope":9009,"src":"8250:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8954,"nodeType":"UserDefinedTypeName","pathNode":{"id":8953,"name":"StdStorage","nameLocations":["8250:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"8250:10:10"},"referencedDeclaration":8093,"src":"8250:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8249:25:10"},"returnParameters":{"id":8959,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8958,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9009,"src":"8292:12:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8957,"name":"bytes","nodeType":"ElementaryTypeName","src":"8292:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8291:14:10"},"scope":9445,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":9028,"nodeType":"FunctionDefinition","src":"8606:131:10","nodes":[],"body":{"id":9027,"nodeType":"Block","src":"8680:57:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9020,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9012,"src":"8713:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":9019,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9009,"src":"8708:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":9021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8708:10:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":9023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8721:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9022,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8721:7:10","typeDescriptions":{}}}],"id":9024,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8720:9:10","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"}],"expression":{"id":9017,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8697:3:10","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9018,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8701:6:10","memberName":"decode","nodeType":"MemberAccess","src":"8697:10:10","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":9025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8697:33:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":9016,"id":9026,"nodeType":"Return","src":"8690:40:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bytes32","nameLocation":"8615:12:10","parameters":{"id":9013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9012,"mutability":"mutable","name":"self","nameLocation":"8647:4:10","nodeType":"VariableDeclaration","scope":9028,"src":"8628:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9011,"nodeType":"UserDefinedTypeName","pathNode":{"id":9010,"name":"StdStorage","nameLocations":["8628:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"8628:10:10"},"referencedDeclaration":8093,"src":"8628:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8627:25:10"},"returnParameters":{"id":9016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9015,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9028,"src":"8671:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9014,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8671:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8670:9:10"},"scope":9445,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9059,"nodeType":"FunctionDefinition","src":"8743:279:10","nodes":[],"body":{"id":9058,"nodeType":"Block","src":"8811:211:10","nodes":[],"statements":[{"assignments":[9037],"declarations":[{"constant":false,"id":9037,"mutability":"mutable","name":"v","nameLocation":"8828:1:10","nodeType":"VariableDeclaration","scope":9058,"src":"8821:8:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":9036,"name":"int256","nodeType":"ElementaryTypeName","src":"8821:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":9041,"initialValue":{"arguments":[{"id":9039,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9031,"src":"8841:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":9038,"name":"read_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9116,"src":"8832:8:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$returns$_t_int256_$","typeString":"function (struct StdStorage storage pointer) returns (int256)"}},"id":9040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8832:14:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"8821:25:10"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":9044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9042,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9037,"src":"8860:1:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":9043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8865:1:10","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8860:6:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9047,"nodeType":"IfStatement","src":"8856:24:10","trueBody":{"expression":{"hexValue":"66616c7365","id":9045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8875:5:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":9035,"id":9046,"nodeType":"Return","src":"8868:12:10"}},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":9050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9048,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9037,"src":"8894:1:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":9049,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8899:1:10","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8894:6:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9053,"nodeType":"IfStatement","src":"8890:23:10","trueBody":{"expression":{"hexValue":"74727565","id":9051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8909:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":9035,"id":9052,"nodeType":"Return","src":"8902:11:10"}},{"expression":{"arguments":[{"hexValue":"73746453746f7261676520726561645f626f6f6c2853746453746f72616765293a2043616e6e6f74206465636f64652e204d616b65207375726520796f75206172652072656164696e67206120626f6f6c2e","id":9055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8930:84:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_91e3b02d190bb3e407570bfe894974b331ad10ba40f732248485a8a79ed8e4f5","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\""},"value":"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91e3b02d190bb3e407570bfe894974b331ad10ba40f732248485a8a79ed8e4f5","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\""}],"id":9054,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"8923:6:10","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":9056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8923:92:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9057,"nodeType":"ExpressionStatement","src":"8923:92:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bool","nameLocation":"8752:9:10","parameters":{"id":9032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9031,"mutability":"mutable","name":"self","nameLocation":"8781:4:10","nodeType":"VariableDeclaration","scope":9059,"src":"8762:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9030,"nodeType":"UserDefinedTypeName","pathNode":{"id":9029,"name":"StdStorage","nameLocations":["8762:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"8762:10:10"},"referencedDeclaration":8093,"src":"8762:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8761:25:10"},"returnParameters":{"id":9035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9034,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9059,"src":"8805:4:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9033,"name":"bool","nodeType":"ElementaryTypeName","src":"8805:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8804:6:10"},"scope":9445,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9078,"nodeType":"FunctionDefinition","src":"9028:131:10","nodes":[],"body":{"id":9077,"nodeType":"Block","src":"9102:57:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9070,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9062,"src":"9135:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":9069,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9009,"src":"9130:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":9071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9130:10:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":9073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9143:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9072,"name":"address","nodeType":"ElementaryTypeName","src":"9143:7:10","typeDescriptions":{}}}],"id":9074,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9142:9:10","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":9067,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9119:3:10","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9068,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9123:6:10","memberName":"decode","nodeType":"MemberAccess","src":"9119:10:10","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":9075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9119:33:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":9066,"id":9076,"nodeType":"Return","src":"9112:40:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_address","nameLocation":"9037:12:10","parameters":{"id":9063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9062,"mutability":"mutable","name":"self","nameLocation":"9069:4:10","nodeType":"VariableDeclaration","scope":9078,"src":"9050:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9061,"nodeType":"UserDefinedTypeName","pathNode":{"id":9060,"name":"StdStorage","nameLocations":["9050:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"9050:10:10"},"referencedDeclaration":8093,"src":"9050:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"9049:25:10"},"returnParameters":{"id":9066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9065,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9078,"src":"9093:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9064,"name":"address","nodeType":"ElementaryTypeName","src":"9093:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9092:9:10"},"scope":9445,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9097,"nodeType":"FunctionDefinition","src":"9165:128:10","nodes":[],"body":{"id":9096,"nodeType":"Block","src":"9236:57:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9089,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9081,"src":"9269:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":9088,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9009,"src":"9264:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":9090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9264:10:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":9092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9277:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9091,"name":"uint256","nodeType":"ElementaryTypeName","src":"9277:7:10","typeDescriptions":{}}}],"id":9093,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9276:9:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":9086,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9253:3:10","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9087,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9257:6:10","memberName":"decode","nodeType":"MemberAccess","src":"9253:10:10","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":9094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9253:33:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9085,"id":9095,"nodeType":"Return","src":"9246:40:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_uint","nameLocation":"9174:9:10","parameters":{"id":9082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9081,"mutability":"mutable","name":"self","nameLocation":"9203:4:10","nodeType":"VariableDeclaration","scope":9097,"src":"9184:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9080,"nodeType":"UserDefinedTypeName","pathNode":{"id":9079,"name":"StdStorage","nameLocations":["9184:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"9184:10:10"},"referencedDeclaration":8093,"src":"9184:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"9183:25:10"},"returnParameters":{"id":9085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9084,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9097,"src":"9227:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9083,"name":"uint256","nodeType":"ElementaryTypeName","src":"9227:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9226:9:10"},"scope":9445,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9116,"nodeType":"FunctionDefinition","src":"9299:125:10","nodes":[],"body":{"id":9115,"nodeType":"Block","src":"9368:56:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9108,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9100,"src":"9401:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":9107,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9009,"src":"9396:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":9109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9396:10:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":9111,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9409:6:10","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":9110,"name":"int256","nodeType":"ElementaryTypeName","src":"9409:6:10","typeDescriptions":{}}}],"id":9112,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9408:8:10","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}],"expression":{"id":9105,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9385:3:10","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9106,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9389:6:10","memberName":"decode","nodeType":"MemberAccess","src":"9385:10:10","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":9113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9385:32:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":9104,"id":9114,"nodeType":"Return","src":"9378:39:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_int","nameLocation":"9308:8:10","parameters":{"id":9101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9100,"mutability":"mutable","name":"self","nameLocation":"9336:4:10","nodeType":"VariableDeclaration","scope":9116,"src":"9317:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9099,"nodeType":"UserDefinedTypeName","pathNode":{"id":9098,"name":"StdStorage","nameLocations":["9317:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"9317:10:10"},"referencedDeclaration":8093,"src":"9317:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"9316:25:10"},"returnParameters":{"id":9104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9103,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9116,"src":"9360:6:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":9102,"name":"int256","nodeType":"ElementaryTypeName","src":"9360:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"9359:8:10"},"scope":9445,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9182,"nodeType":"FunctionDefinition","src":"9430:621:10","nodes":[],"body":{"id":9181,"nodeType":"Block","src":"9507:544:10","nodes":[],"statements":[{"assignments":[9127],"declarations":[{"constant":false,"id":9127,"mutability":"mutable","name":"who","nameLocation":"9525:3:10","nodeType":"VariableDeclaration","scope":9181,"src":"9517:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9126,"name":"address","nodeType":"ElementaryTypeName","src":"9517:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":9130,"initialValue":{"expression":{"id":9128,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9119,"src":"9531:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9129,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9536:7:10","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8086,"src":"9531:12:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"9517:26:10"},{"assignments":[9132],"declarations":[{"constant":false,"id":9132,"mutability":"mutable","name":"field_depth","nameLocation":"9561:11:10","nodeType":"VariableDeclaration","scope":9181,"src":"9553:19:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9131,"name":"uint256","nodeType":"ElementaryTypeName","src":"9553:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9135,"initialValue":{"expression":{"id":9133,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9119,"src":"9575:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9134,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9580:6:10","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":8084,"src":"9575:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9553:33:10"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":9136,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8126,"src":"9596:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":9138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9599:21:10","memberName":"startMappingRecording","nodeType":"MemberAccess","referencedDeclaration":13995,"src":"9596:24:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":9139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9596:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9140,"nodeType":"ExpressionStatement","src":"9596:26:10"},{"assignments":[9142],"declarations":[{"constant":false,"id":9142,"mutability":"mutable","name":"child","nameLocation":"9640:5:10","nodeType":"VariableDeclaration","scope":9181,"src":"9632:13:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9141,"name":"uint256","nodeType":"ElementaryTypeName","src":"9632:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9150,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":9144,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9119,"src":"9653:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"74727565","id":9145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9659:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":9143,"name":"find","nodeType":"Identifier","overloadedDeclarations":[8453,8754],"referencedDeclaration":8754,"src":"9648:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$8068_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":9146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9648:16:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9147,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9665:4:10","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":8061,"src":"9648:21:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":9148,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9132,"src":"9672:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9648:35:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9632:51:10"},{"assignments":[9152,9154,9156],"declarations":[{"constant":false,"id":9152,"mutability":"mutable","name":"found","nameLocation":"9699:5:10","nodeType":"VariableDeclaration","scope":9181,"src":"9694:10:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9151,"name":"bool","nodeType":"ElementaryTypeName","src":"9694:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9154,"mutability":"mutable","name":"key","nameLocation":"9714:3:10","nodeType":"VariableDeclaration","scope":9181,"src":"9706:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9153,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9706:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":9156,"mutability":"mutable","name":"parent_slot","nameLocation":"9727:11:10","nodeType":"VariableDeclaration","scope":9181,"src":"9719:19:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9155,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9719:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":9165,"initialValue":{"arguments":[{"id":9159,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9127,"src":"9770:3:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":9162,"name":"child","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9142,"src":"9783:5:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9775:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9160,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9775:7:10","typeDescriptions":{}}},"id":9163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9775:14:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9157,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8126,"src":"9742:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":9158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9745:24:10","memberName":"getMappingKeyAndParentOf","nodeType":"MemberAccess","referencedDeclaration":13869,"src":"9742:27:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$returns$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"function (address,bytes32) external returns (bool,bytes32,bytes32)"}},"id":9164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9742:48:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(bool,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"9693:97:10"},{"condition":{"id":9167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9804:6:10","subExpression":{"id":9166,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9152,"src":"9805:5:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9173,"nodeType":"IfStatement","src":"9800:201:10","trueBody":{"id":9172,"nodeType":"Block","src":"9812:189:10","statements":[{"expression":{"arguments":[{"hexValue":"73746453746f7261676520726561645f626f6f6c2853746453746f72616765293a2043616e6e6f742066696e6420706172656e742e204d616b65207375726520796f752067697665206120736c6f7420616e642073746172744d617070696e675265636f7264696e67282920686173206265656e2063616c6c65642e","id":9169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9850:126:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_05c02dd7643b4a3b621a87327400688a0e915a721e1557091f0636a8183236ef","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called.\""},"value":"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_05c02dd7643b4a3b621a87327400688a0e915a721e1557091f0636a8183236ef","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called.\""}],"id":9168,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"9826:6:10","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":9170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9826:164:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9171,"nodeType":"ExpressionStatement","src":"9826:164:10"}]}},{"expression":{"components":[{"arguments":[{"id":9176,"name":"parent_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9156,"src":"10026:11:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9175,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10018:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9174,"name":"uint256","nodeType":"ElementaryTypeName","src":"10018:7:10","typeDescriptions":{}}},"id":9177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10018:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9178,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9154,"src":"10040:3:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":9179,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10017:27:10","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$","typeString":"tuple(uint256,bytes32)"}},"functionReturnParameters":9125,"id":9180,"nodeType":"Return","src":"10010:34:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"parent","nameLocation":"9439:6:10","parameters":{"id":9120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9119,"mutability":"mutable","name":"self","nameLocation":"9465:4:10","nodeType":"VariableDeclaration","scope":9182,"src":"9446:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9118,"nodeType":"UserDefinedTypeName","pathNode":{"id":9117,"name":"StdStorage","nameLocations":["9446:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"9446:10:10"},"referencedDeclaration":8093,"src":"9446:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"9445:25:10"},"returnParameters":{"id":9125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9122,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9182,"src":"9489:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9121,"name":"uint256","nodeType":"ElementaryTypeName","src":"9489:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9124,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9182,"src":"9498:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9123,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9498:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9488:18:10"},"scope":9445,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9271,"nodeType":"FunctionDefinition","src":"10057:813:10","nodes":[],"body":{"id":9270,"nodeType":"Block","src":"10123:747:10","nodes":[],"statements":[{"assignments":[9191],"declarations":[{"constant":false,"id":9191,"mutability":"mutable","name":"who","nameLocation":"10141:3:10","nodeType":"VariableDeclaration","scope":9270,"src":"10133:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9190,"name":"address","nodeType":"ElementaryTypeName","src":"10133:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":9194,"initialValue":{"expression":{"id":9192,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9185,"src":"10147:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9193,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10152:7:10","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8086,"src":"10147:12:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10133:26:10"},{"assignments":[9196],"declarations":[{"constant":false,"id":9196,"mutability":"mutable","name":"field_depth","nameLocation":"10177:11:10","nodeType":"VariableDeclaration","scope":9270,"src":"10169:19:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9195,"name":"uint256","nodeType":"ElementaryTypeName","src":"10169:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9199,"initialValue":{"expression":{"id":9197,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9185,"src":"10191:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9198,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10196:6:10","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":8084,"src":"10191:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10169:33:10"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":9200,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8126,"src":"10212:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":9202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10215:21:10","memberName":"startMappingRecording","nodeType":"MemberAccess","referencedDeclaration":13995,"src":"10212:24:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":9203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10212:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9204,"nodeType":"ExpressionStatement","src":"10212:26:10"},{"assignments":[9206],"declarations":[{"constant":false,"id":9206,"mutability":"mutable","name":"child","nameLocation":"10256:5:10","nodeType":"VariableDeclaration","scope":9270,"src":"10248:13:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9205,"name":"uint256","nodeType":"ElementaryTypeName","src":"10248:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9214,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":9208,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9185,"src":"10269:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"74727565","id":9209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10275:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":9207,"name":"find","nodeType":"Identifier","overloadedDeclarations":[8453,8754],"referencedDeclaration":8754,"src":"10264:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$8068_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":9210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10264:16:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9211,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10281:4:10","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":8061,"src":"10264:21:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":9212,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9196,"src":"10288:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10264:35:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10248:51:10"},{"assignments":[9216],"declarations":[{"constant":false,"id":9216,"mutability":"mutable","name":"found","nameLocation":"10314:5:10","nodeType":"VariableDeclaration","scope":9270,"src":"10309:10:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9215,"name":"bool","nodeType":"ElementaryTypeName","src":"10309:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":9217,"nodeType":"VariableDeclarationStatement","src":"10309:10:10"},{"assignments":[9219],"declarations":[{"constant":false,"id":9219,"mutability":"mutable","name":"root_slot","nameLocation":"10337:9:10","nodeType":"VariableDeclaration","scope":9270,"src":"10329:17:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9218,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10329:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":9220,"nodeType":"VariableDeclarationStatement","src":"10329:17:10"},{"assignments":[9222],"declarations":[{"constant":false,"id":9222,"mutability":"mutable","name":"parent_slot","nameLocation":"10364:11:10","nodeType":"VariableDeclaration","scope":9270,"src":"10356:19:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9221,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10356:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":9223,"nodeType":"VariableDeclarationStatement","src":"10356:19:10"},{"expression":{"id":9235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":9224,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9216,"src":"10386:5:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},null,{"id":9225,"name":"parent_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9222,"src":"10394:11:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":9226,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"10385:21:10","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$__$_t_bytes32_$","typeString":"tuple(bool,,bytes32)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":9229,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9191,"src":"10437:3:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":9232,"name":"child","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9206,"src":"10450:5:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9231,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10442:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9230,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10442:7:10","typeDescriptions":{}}},"id":9233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10442:14:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9227,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8126,"src":"10409:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":9228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10412:24:10","memberName":"getMappingKeyAndParentOf","nodeType":"MemberAccess","referencedDeclaration":13869,"src":"10409:27:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$returns$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"function (address,bytes32) external returns (bool,bytes32,bytes32)"}},"id":9234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10409:48:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(bool,bytes32,bytes32)"}},"src":"10385:72:10","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9236,"nodeType":"ExpressionStatement","src":"10385:72:10"},{"condition":{"id":9238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10471:6:10","subExpression":{"id":9237,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9216,"src":"10472:5:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9244,"nodeType":"IfStatement","src":"10467:201:10","trueBody":{"id":9243,"nodeType":"Block","src":"10479:189:10","statements":[{"expression":{"arguments":[{"hexValue":"73746453746f7261676520726561645f626f6f6c2853746453746f72616765293a2043616e6e6f742066696e6420706172656e742e204d616b65207375726520796f752067697665206120736c6f7420616e642073746172744d617070696e675265636f7264696e67282920686173206265656e2063616c6c65642e","id":9240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10517:126:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_05c02dd7643b4a3b621a87327400688a0e915a721e1557091f0636a8183236ef","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called.\""},"value":"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_05c02dd7643b4a3b621a87327400688a0e915a721e1557091f0636a8183236ef","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called.\""}],"id":9239,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"10493:6:10","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":9241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10493:164:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9242,"nodeType":"ExpressionStatement","src":"10493:164:10"}]}},{"body":{"id":9263,"nodeType":"Block","src":"10691:138:10","statements":[{"expression":{"id":9248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9246,"name":"root_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9219,"src":"10705:9:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9247,"name":"parent_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9222,"src":"10717:11:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10705:23:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":9249,"nodeType":"ExpressionStatement","src":"10705:23:10"},{"expression":{"id":9261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":9250,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9216,"src":"10743:5:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},null,{"id":9251,"name":"parent_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9222,"src":"10751:11:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":9252,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"10742:21:10","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$__$_t_bytes32_$","typeString":"tuple(bool,,bytes32)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":9255,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9191,"src":"10794:3:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":9258,"name":"root_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9219,"src":"10807:9:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10799:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9256,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10799:7:10","typeDescriptions":{}}},"id":9259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10799:18:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9253,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8126,"src":"10766:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":9254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10769:24:10","memberName":"getMappingKeyAndParentOf","nodeType":"MemberAccess","referencedDeclaration":13869,"src":"10766:27:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$returns$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"function (address,bytes32) external returns (bool,bytes32,bytes32)"}},"id":9260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10766:52:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(bool,bytes32,bytes32)"}},"src":"10742:76:10","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9262,"nodeType":"ExpressionStatement","src":"10742:76:10"}]},"condition":{"id":9245,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9216,"src":"10684:5:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9264,"nodeType":"WhileStatement","src":"10677:152:10"},{"expression":{"arguments":[{"id":9267,"name":"root_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9219,"src":"10853:9:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9266,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10845:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9265,"name":"uint256","nodeType":"ElementaryTypeName","src":"10845:7:10","typeDescriptions":{}}},"id":9268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10845:18:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9189,"id":9269,"nodeType":"Return","src":"10838:25:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"root","nameLocation":"10066:4:10","parameters":{"id":9186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9185,"mutability":"mutable","name":"self","nameLocation":"10090:4:10","nodeType":"VariableDeclaration","scope":9271,"src":"10071:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9184,"nodeType":"UserDefinedTypeName","pathNode":{"id":9183,"name":"StdStorage","nameLocations":["10071:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"10071:10:10"},"referencedDeclaration":8093,"src":"10071:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"10070:25:10"},"returnParameters":{"id":9189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9188,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9271,"src":"10114:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9187,"name":"uint256","nodeType":"ElementaryTypeName","src":"10114:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10113:9:10"},"scope":9445,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9327,"nodeType":"FunctionDefinition","src":"10876:304:10","nodes":[],"body":{"id":9326,"nodeType":"Block","src":"10963:217:10","nodes":[],"statements":[{"assignments":[9281],"declarations":[{"constant":false,"id":9281,"mutability":"mutable","name":"out","nameLocation":"10981:3:10","nodeType":"VariableDeclaration","scope":9326,"src":"10973:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9280,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10973:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":9282,"nodeType":"VariableDeclarationStatement","src":"10973:11:10"},{"assignments":[9284],"declarations":[{"constant":false,"id":9284,"mutability":"mutable","name":"max","nameLocation":"11003:3:10","nodeType":"VariableDeclaration","scope":9326,"src":"10995:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9283,"name":"uint256","nodeType":"ElementaryTypeName","src":"10995:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9293,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9285,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9273,"src":"11009:1:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11011:6:10","memberName":"length","nodeType":"MemberAccess","src":"11009:8:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3332","id":9287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11020:2:10","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"11009:13:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":9290,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9273,"src":"11030:1:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11032:6:10","memberName":"length","nodeType":"MemberAccess","src":"11030:8:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"11009:29:10","trueExpression":{"hexValue":"3332","id":9289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11025:2:10","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10995:43:10"},{"body":{"id":9322,"nodeType":"Block","src":"11082:72:10","statements":[{"expression":{"id":9320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9304,"name":"out","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9281,"src":"11096:3:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":9319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":9313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":9307,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9273,"src":"11111:1:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9311,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9308,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9275,"src":"11113:6:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":9309,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9295,"src":"11122:1:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11113:10:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11111:13:10","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30784646","id":9312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11127:4:10","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xFF"},"src":"11111:20:10","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":9306,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11103:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9305,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11103:7:10","typeDescriptions":{}}},"id":9314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11103:29:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9315,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9295,"src":"11137:1:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"38","id":9316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11141:1:10","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"11137:5:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9318,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11136:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11103:40:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11096:47:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":9321,"nodeType":"ExpressionStatement","src":"11096:47:10"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9298,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9295,"src":"11068:1:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9299,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9284,"src":"11072:3:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11068:7:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9323,"initializationExpression":{"assignments":[9295],"declarations":[{"constant":false,"id":9295,"mutability":"mutable","name":"i","nameLocation":"11061:1:10","nodeType":"VariableDeclaration","scope":9323,"src":"11053:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9294,"name":"uint256","nodeType":"ElementaryTypeName","src":"11053:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9297,"initialValue":{"hexValue":"30","id":9296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11065:1:10","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11053:13:10"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":9302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11077:3:10","subExpression":{"id":9301,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9295,"src":"11077:1:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9303,"nodeType":"ExpressionStatement","src":"11077:3:10"},"nodeType":"ForStatement","src":"11048:106:10"},{"expression":{"id":9324,"name":"out","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9281,"src":"11170:3:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":9279,"id":9325,"nodeType":"Return","src":"11163:10:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bytesToBytes32","nameLocation":"10885:14:10","parameters":{"id":9276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9273,"mutability":"mutable","name":"b","nameLocation":"10913:1:10","nodeType":"VariableDeclaration","scope":9327,"src":"10900:14:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9272,"name":"bytes","nodeType":"ElementaryTypeName","src":"10900:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":9275,"mutability":"mutable","name":"offset","nameLocation":"10924:6:10","nodeType":"VariableDeclaration","scope":9327,"src":"10916:14:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9274,"name":"uint256","nodeType":"ElementaryTypeName","src":"10916:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10899:32:10"},"returnParameters":{"id":9279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9278,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9327,"src":"10954:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9277,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10954:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10953:9:10"},"scope":9445,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":9368,"nodeType":"FunctionDefinition","src":"11186:393:10","nodes":[],"body":{"id":9367,"nodeType":"Block","src":"11259:320:10","nodes":[],"statements":[{"assignments":[9336],"declarations":[{"constant":false,"id":9336,"mutability":"mutable","name":"result","nameLocation":"11282:6:10","nodeType":"VariableDeclaration","scope":9367,"src":"11269:19:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9335,"name":"bytes","nodeType":"ElementaryTypeName","src":"11269:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":9344,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9339,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9330,"src":"11301:1:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11303:6:10","memberName":"length","nodeType":"MemberAccess","src":"11301:8:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3332","id":9341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11312:2:10","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"11301:13:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11291:9:10","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":9337,"name":"bytes","nodeType":"ElementaryTypeName","src":"11295:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":9343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11291:24:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"11269:46:10"},{"body":{"id":9363,"nodeType":"Block","src":"11364:185:10","statements":[{"assignments":[9357],"declarations":[{"constant":false,"id":9357,"mutability":"mutable","name":"k","nameLocation":"11386:1:10","nodeType":"VariableDeclaration","scope":9363,"src":"11378:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9356,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11378:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":9361,"initialValue":{"baseExpression":{"id":9358,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9330,"src":"11390:1:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9360,"indexExpression":{"id":9359,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9346,"src":"11392:1:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11390:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"11378:16:10"},{"AST":{"nativeSrc":"11464:75:10","nodeType":"YulBlock","src":"11464:75:10","statements":[{"expression":{"arguments":[{"arguments":[{"name":"result","nativeSrc":"11493:6:10","nodeType":"YulIdentifier","src":"11493:6:10"},{"arguments":[{"kind":"number","nativeSrc":"11505:2:10","nodeType":"YulLiteral","src":"11505:2:10","type":"","value":"32"},{"arguments":[{"kind":"number","nativeSrc":"11513:2:10","nodeType":"YulLiteral","src":"11513:2:10","type":"","value":"32"},{"name":"i","nativeSrc":"11517:1:10","nodeType":"YulIdentifier","src":"11517:1:10"}],"functionName":{"name":"mul","nativeSrc":"11509:3:10","nodeType":"YulIdentifier","src":"11509:3:10"},"nativeSrc":"11509:10:10","nodeType":"YulFunctionCall","src":"11509:10:10"}],"functionName":{"name":"add","nativeSrc":"11501:3:10","nodeType":"YulIdentifier","src":"11501:3:10"},"nativeSrc":"11501:19:10","nodeType":"YulFunctionCall","src":"11501:19:10"}],"functionName":{"name":"add","nativeSrc":"11489:3:10","nodeType":"YulIdentifier","src":"11489:3:10"},"nativeSrc":"11489:32:10","nodeType":"YulFunctionCall","src":"11489:32:10"},{"name":"k","nativeSrc":"11523:1:10","nodeType":"YulIdentifier","src":"11523:1:10"}],"functionName":{"name":"mstore","nativeSrc":"11482:6:10","nodeType":"YulIdentifier","src":"11482:6:10"},"nativeSrc":"11482:43:10","nodeType":"YulFunctionCall","src":"11482:43:10"},"nativeSrc":"11482:43:10","nodeType":"YulExpressionStatement","src":"11482:43:10"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":9346,"isOffset":false,"isSlot":false,"src":"11517:1:10","valueSize":1},{"declaration":9357,"isOffset":false,"isSlot":false,"src":"11523:1:10","valueSize":1},{"declaration":9336,"isOffset":false,"isSlot":false,"src":"11493:6:10","valueSize":1}],"id":9362,"nodeType":"InlineAssembly","src":"11455:84:10"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9349,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9346,"src":"11345:1:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":9350,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9330,"src":"11349:1:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11351:6:10","memberName":"length","nodeType":"MemberAccess","src":"11349:8:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11345:12:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9364,"initializationExpression":{"assignments":[9346],"declarations":[{"constant":false,"id":9346,"mutability":"mutable","name":"i","nameLocation":"11338:1:10","nodeType":"VariableDeclaration","scope":9364,"src":"11330:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9345,"name":"uint256","nodeType":"ElementaryTypeName","src":"11330:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9348,"initialValue":{"hexValue":"30","id":9347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11342:1:10","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11330:13:10"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":9354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11359:3:10","subExpression":{"id":9353,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9346,"src":"11359:1:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9355,"nodeType":"ExpressionStatement","src":"11359:3:10"},"nodeType":"ForStatement","src":"11325:224:10"},{"expression":{"id":9365,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9336,"src":"11566:6:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":9334,"id":9366,"nodeType":"Return","src":"11559:13:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"flatten","nameLocation":"11195:7:10","parameters":{"id":9331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9330,"mutability":"mutable","name":"b","nameLocation":"11220:1:10","nodeType":"VariableDeclaration","scope":9368,"src":"11203:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":9328,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11203:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":9329,"nodeType":"ArrayTypeName","src":"11203:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"11202:20:10"},"returnParameters":{"id":9334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9333,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9368,"src":"11245:12:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9332,"name":"bytes","nodeType":"ElementaryTypeName","src":"11245:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11244:14:10"},"scope":9445,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":9399,"nodeType":"FunctionDefinition","src":"11585:239:10","nodes":[],"body":{"id":9398,"nodeType":"Block","src":"11634:190:10","nodes":[],"statements":[{"expression":{"id":9376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11644:19:10","subExpression":{"expression":{"id":9374,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9371,"src":"11651:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9375,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11656:7:10","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8086,"src":"11651:12:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9377,"nodeType":"ExpressionStatement","src":"11644:19:10"},{"expression":{"id":9380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11673:16:10","subExpression":{"expression":{"id":9378,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9371,"src":"11680:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9379,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11685:4:10","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":8082,"src":"11680:9:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9381,"nodeType":"ExpressionStatement","src":"11673:16:10"},{"expression":{"id":9384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11699:17:10","subExpression":{"expression":{"id":9382,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9371,"src":"11706:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9383,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11711:5:10","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":8080,"src":"11706:10:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9385,"nodeType":"ExpressionStatement","src":"11699:17:10"},{"expression":{"id":9388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11726:18:10","subExpression":{"expression":{"id":9386,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9371,"src":"11733:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11738:6:10","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":8084,"src":"11733:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9389,"nodeType":"ExpressionStatement","src":"11726:18:10"},{"expression":{"id":9392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11754:32:10","subExpression":{"expression":{"id":9390,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9371,"src":"11761:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9391,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11766:20:10","memberName":"_enable_packed_slots","nodeType":"MemberAccess","referencedDeclaration":8090,"src":"11761:25:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9393,"nodeType":"ExpressionStatement","src":"11754:32:10"},{"expression":{"id":9396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11796:21:10","subExpression":{"expression":{"id":9394,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9371,"src":"11803:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9395,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11808:9:10","memberName":"_calldata","nodeType":"MemberAccess","referencedDeclaration":8092,"src":"11803:14:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9397,"nodeType":"ExpressionStatement","src":"11796:21:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"clear","nameLocation":"11594:5:10","parameters":{"id":9372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9371,"mutability":"mutable","name":"self","nameLocation":"11619:4:10","nodeType":"VariableDeclaration","scope":9399,"src":"11600:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9370,"nodeType":"UserDefinedTypeName","pathNode":{"id":9369,"name":"StdStorage","nameLocations":["11600:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"11600:10:10"},"referencedDeclaration":8093,"src":"11600:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"11599:25:10"},"returnParameters":{"id":9373,"nodeType":"ParameterList","parameters":[],"src":"11634:0:10"},"scope":9445,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9410,"nodeType":"FunctionDefinition","src":"12017:376:10","nodes":[],"body":{"id":9409,"nodeType":"Block","src":"12121:272:10","nodes":[],"statements":[{"AST":{"nativeSrc":"12283:104:10","nodeType":"YulBlock","src":"12283:104:10","statements":[{"nativeSrc":"12297:80:10","nodeType":"YulAssignment","src":"12297:80:10","value":{"arguments":[{"name":"offsetRight","nativeSrc":"12309:11:10","nodeType":"YulIdentifier","src":"12309:11:10"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"12334:3:10","nodeType":"YulLiteral","src":"12334:3:10","type":"","value":"256"},{"arguments":[{"name":"offsetRight","nativeSrc":"12343:11:10","nodeType":"YulIdentifier","src":"12343:11:10"},{"name":"offsetLeft","nativeSrc":"12356:10:10","nodeType":"YulIdentifier","src":"12356:10:10"}],"functionName":{"name":"add","nativeSrc":"12339:3:10","nodeType":"YulIdentifier","src":"12339:3:10"},"nativeSrc":"12339:28:10","nodeType":"YulFunctionCall","src":"12339:28:10"}],"functionName":{"name":"sub","nativeSrc":"12330:3:10","nodeType":"YulIdentifier","src":"12330:3:10"},"nativeSrc":"12330:38:10","nodeType":"YulFunctionCall","src":"12330:38:10"},{"kind":"number","nativeSrc":"12370:1:10","nodeType":"YulLiteral","src":"12370:1:10","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"12326:3:10","nodeType":"YulIdentifier","src":"12326:3:10"},"nativeSrc":"12326:46:10","nodeType":"YulFunctionCall","src":"12326:46:10"},{"kind":"number","nativeSrc":"12374:1:10","nodeType":"YulLiteral","src":"12374:1:10","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"12322:3:10","nodeType":"YulIdentifier","src":"12322:3:10"},"nativeSrc":"12322:54:10","nodeType":"YulFunctionCall","src":"12322:54:10"}],"functionName":{"name":"shl","nativeSrc":"12305:3:10","nodeType":"YulIdentifier","src":"12305:3:10"},"nativeSrc":"12305:72:10","nodeType":"YulFunctionCall","src":"12305:72:10"},"variableNames":[{"name":"mask","nativeSrc":"12297:4:10","nodeType":"YulIdentifier","src":"12297:4:10"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":9406,"isOffset":false,"isSlot":false,"src":"12297:4:10","valueSize":1},{"declaration":9401,"isOffset":false,"isSlot":false,"src":"12356:10:10","valueSize":1},{"declaration":9403,"isOffset":false,"isSlot":false,"src":"12309:11:10","valueSize":1},{"declaration":9403,"isOffset":false,"isSlot":false,"src":"12343:11:10","valueSize":1}],"id":9408,"nodeType":"InlineAssembly","src":"12274:113:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getMaskByOffsets","nameLocation":"12026:16:10","parameters":{"id":9404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9401,"mutability":"mutable","name":"offsetLeft","nameLocation":"12051:10:10","nodeType":"VariableDeclaration","scope":9410,"src":"12043:18:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9400,"name":"uint256","nodeType":"ElementaryTypeName","src":"12043:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9403,"mutability":"mutable","name":"offsetRight","nameLocation":"12071:11:10","nodeType":"VariableDeclaration","scope":9410,"src":"12063:19:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9402,"name":"uint256","nodeType":"ElementaryTypeName","src":"12063:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12042:41:10"},"returnParameters":{"id":9407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9406,"mutability":"mutable","name":"mask","nameLocation":"12115:4:10","nodeType":"VariableDeclaration","scope":9410,"src":"12107:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9405,"name":"uint256","nodeType":"ElementaryTypeName","src":"12107:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12106:14:10"},"scope":9445,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9444,"nodeType":"FunctionDefinition","src":"12455:300:10","nodes":[],"body":{"id":9443,"nodeType":"Block","src":"12630:125:10","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":9427,"name":"curValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9412,"src":"12664:8:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12656:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9425,"name":"uint256","nodeType":"ElementaryTypeName","src":"12656:7:10","typeDescriptions":{}}},"id":9428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12656:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":9433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"12676:42:10","subExpression":{"arguments":[{"id":9430,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9416,"src":"12694:10:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9431,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9418,"src":"12706:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9429,"name":"getMaskByOffsets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9410,"src":"12677:16:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":9432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12677:41:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12656:62:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9435,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12655:64:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9436,"name":"varValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9414,"src":"12723:8:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":9437,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9418,"src":"12735:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12723:23:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9439,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12722:25:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12655:92:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9424,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12647:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9423,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12647:7:10","typeDescriptions":{}}},"id":9441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12647:101:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":9422,"id":9442,"nodeType":"Return","src":"12640:108:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getUpdatedSlotValue","nameLocation":"12464:19:10","parameters":{"id":9419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9412,"mutability":"mutable","name":"curValue","nameLocation":"12492:8:10","nodeType":"VariableDeclaration","scope":9444,"src":"12484:16:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9411,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12484:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":9414,"mutability":"mutable","name":"varValue","nameLocation":"12510:8:10","nodeType":"VariableDeclaration","scope":9444,"src":"12502:16:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9413,"name":"uint256","nodeType":"ElementaryTypeName","src":"12502:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9416,"mutability":"mutable","name":"offsetLeft","nameLocation":"12528:10:10","nodeType":"VariableDeclaration","scope":9444,"src":"12520:18:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9415,"name":"uint256","nodeType":"ElementaryTypeName","src":"12520:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9418,"mutability":"mutable","name":"offsetRight","nameLocation":"12548:11:10","nodeType":"VariableDeclaration","scope":9444,"src":"12540:19:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9417,"name":"uint256","nodeType":"ElementaryTypeName","src":"12540:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12483:77:10"},"returnParameters":{"id":9422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9421,"mutability":"mutable","name":"newValue","nameLocation":"12616:8:10","nodeType":"VariableDeclaration","scope":9444,"src":"12608:16:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9420,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12608:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"12607:18:10"},"scope":9445,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"stdStorageSafe","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[9445],"name":"stdStorageSafe","nameLocation":"458:14:10","scope":10051,"usedErrors":[],"usedEvents":[8103,8109]},{"id":10050,"nodeType":"ContractDefinition","src":"12759:5081:10","nodes":[{"id":9462,"nodeType":"VariableDeclaration","src":"12784:84:10","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"12804:2:10","scope":10050,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":9447,"nodeType":"UserDefinedTypeName","pathNode":{"id":9446,"name":"Vm","nameLocations":["12784:2:10"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"12784:2:10"},"referencedDeclaration":18001,"src":"12784:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":9456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12846:17:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":9455,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"12836:9:10","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":9457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12836:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9454,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12828:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9453,"name":"uint256","nodeType":"ElementaryTypeName","src":"12828:7:10","typeDescriptions":{}}},"id":9458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12828:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9452,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12820:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":9451,"name":"uint160","nodeType":"ElementaryTypeName","src":"12820:7:10","typeDescriptions":{}}},"id":9459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12820:46:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":9450,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12812:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9449,"name":"address","nodeType":"ElementaryTypeName","src":"12812:7:10","typeDescriptions":{}}},"id":9460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12812:55:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9448,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"12809:2:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":9461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12809:59:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"private"},{"id":9475,"nodeType":"FunctionDefinition","src":"12875:118:10","nodes":[],"body":{"id":9474,"nodeType":"Block","src":"12942:51:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9471,"name":"sigStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9464,"src":"12979:6:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":9469,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"12959:14:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9445_$","typeString":"type(library stdStorageSafe)"}},"id":9470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12974:4:10","memberName":"sigs","nodeType":"MemberAccess","referencedDeclaration":8147,"src":"12959:19:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$","typeString":"function (string memory) pure returns (bytes4)"}},"id":9472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12959:27:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":9468,"id":9473,"nodeType":"Return","src":"12952:34:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sigs","nameLocation":"12884:4:10","parameters":{"id":9465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9464,"mutability":"mutable","name":"sigStr","nameLocation":"12903:6:10","nodeType":"VariableDeclaration","scope":9475,"src":"12889:20:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9463,"name":"string","nodeType":"ElementaryTypeName","src":"12889:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12888:22:10"},"returnParameters":{"id":9468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9467,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9475,"src":"12934:6:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":9466,"name":"bytes4","nodeType":"ElementaryTypeName","src":"12934:6:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"12933:8:10"},"scope":10050,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9489,"nodeType":"FunctionDefinition","src":"12999:106:10","nodes":[],"body":{"id":9488,"nodeType":"Block","src":"13065:40:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9484,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9478,"src":"13087:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"74727565","id":9485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13093:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":9483,"name":"find","nodeType":"Identifier","overloadedDeclarations":[9489,9507],"referencedDeclaration":9507,"src":"13082:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bool_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bool) returns (uint256)"}},"id":9486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13082:16:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9482,"id":9487,"nodeType":"Return","src":"13075:23:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"13008:4:10","parameters":{"id":9479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9478,"mutability":"mutable","name":"self","nameLocation":"13032:4:10","nodeType":"VariableDeclaration","scope":9489,"src":"13013:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9477,"nodeType":"UserDefinedTypeName","pathNode":{"id":9476,"name":"StdStorage","nameLocations":["13013:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"13013:10:10"},"referencedDeclaration":8093,"src":"13013:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13012:25:10"},"returnParameters":{"id":9482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9489,"src":"13056:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9480,"name":"uint256","nodeType":"ElementaryTypeName","src":"13056:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13055:9:10"},"scope":10050,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9507,"nodeType":"FunctionDefinition","src":"13111:141:10","nodes":[],"body":{"id":9506,"nodeType":"Block","src":"13190:62:10","nodes":[],"statements":[{"expression":{"expression":{"arguments":[{"id":9501,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9492,"src":"13227:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":9502,"name":"_clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9494,"src":"13233:6:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9499,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"13207:14:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9445_$","typeString":"type(library stdStorageSafe)"}},"id":9500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13222:4:10","memberName":"find","nodeType":"MemberAccess","referencedDeclaration":8754,"src":"13207:19:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$8068_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":9503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13207:33:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9504,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13241:4:10","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":8061,"src":"13207:38:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9498,"id":9505,"nodeType":"Return","src":"13200:45:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"13120:4:10","parameters":{"id":9495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9492,"mutability":"mutable","name":"self","nameLocation":"13144:4:10","nodeType":"VariableDeclaration","scope":9507,"src":"13125:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9491,"nodeType":"UserDefinedTypeName","pathNode":{"id":9490,"name":"StdStorage","nameLocations":["13125:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"13125:10:10"},"referencedDeclaration":8093,"src":"13125:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9494,"mutability":"mutable","name":"_clear","nameLocation":"13155:6:10","nodeType":"VariableDeclaration","scope":9507,"src":"13150:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9493,"name":"bool","nodeType":"ElementaryTypeName","src":"13150:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13124:38:10"},"returnParameters":{"id":9498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9497,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9507,"src":"13181:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9496,"name":"uint256","nodeType":"ElementaryTypeName","src":"13181:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13180:9:10"},"scope":10050,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9525,"nodeType":"FunctionDefinition","src":"13258:156:10","nodes":[],"body":{"id":9524,"nodeType":"Block","src":"13354:60:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9520,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9510,"src":"13393:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":9521,"name":"_target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9512,"src":"13399:7:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9518,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"13371:14:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9445_$","typeString":"type(library stdStorageSafe)"}},"id":9519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13386:6:10","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":8774,"src":"13371:21:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":9522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13371:36:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9517,"id":9523,"nodeType":"Return","src":"13364:43:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"target","nameLocation":"13267:6:10","parameters":{"id":9513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9510,"mutability":"mutable","name":"self","nameLocation":"13293:4:10","nodeType":"VariableDeclaration","scope":9525,"src":"13274:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9509,"nodeType":"UserDefinedTypeName","pathNode":{"id":9508,"name":"StdStorage","nameLocations":["13274:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"13274:10:10"},"referencedDeclaration":8093,"src":"13274:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9512,"mutability":"mutable","name":"_target","nameLocation":"13307:7:10","nodeType":"VariableDeclaration","scope":9525,"src":"13299:15:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9511,"name":"address","nodeType":"ElementaryTypeName","src":"13299:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13273:42:10"},"returnParameters":{"id":9517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9516,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9525,"src":"13334:18:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9515,"nodeType":"UserDefinedTypeName","pathNode":{"id":9514,"name":"StdStorage","nameLocations":["13334:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"13334:10:10"},"referencedDeclaration":8093,"src":"13334:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13333:20:10"},"scope":10050,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9543,"nodeType":"FunctionDefinition","src":"13420:143:10","nodes":[],"body":{"id":9542,"nodeType":"Block","src":"13509:54:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9538,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9528,"src":"13545:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":9539,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9530,"src":"13551:4:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":9536,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"13526:14:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9445_$","typeString":"type(library stdStorageSafe)"}},"id":9537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13541:3:10","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":8794,"src":"13526:18:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":9540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13526:30:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9535,"id":9541,"nodeType":"Return","src":"13519:37:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"13429:3:10","parameters":{"id":9531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9528,"mutability":"mutable","name":"self","nameLocation":"13452:4:10","nodeType":"VariableDeclaration","scope":9543,"src":"13433:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9527,"nodeType":"UserDefinedTypeName","pathNode":{"id":9526,"name":"StdStorage","nameLocations":["13433:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"13433:10:10"},"referencedDeclaration":8093,"src":"13433:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9530,"mutability":"mutable","name":"_sig","nameLocation":"13465:4:10","nodeType":"VariableDeclaration","scope":9543,"src":"13458:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":9529,"name":"bytes4","nodeType":"ElementaryTypeName","src":"13458:6:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"13432:38:10"},"returnParameters":{"id":9535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9534,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9543,"src":"13489:18:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9533,"nodeType":"UserDefinedTypeName","pathNode":{"id":9532,"name":"StdStorage","nameLocations":["13489:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"13489:10:10"},"referencedDeclaration":8093,"src":"13489:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13488:20:10"},"scope":10050,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9561,"nodeType":"FunctionDefinition","src":"13569:150:10","nodes":[],"body":{"id":9560,"nodeType":"Block","src":"13665:54:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9556,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9546,"src":"13701:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":9557,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9548,"src":"13707:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":9554,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"13682:14:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9445_$","typeString":"type(library stdStorageSafe)"}},"id":9555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13697:3:10","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":8816,"src":"13682:18:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_string_memory_ptr_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,string memory) returns (struct StdStorage storage pointer)"}},"id":9558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13682:30:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9553,"id":9559,"nodeType":"Return","src":"13675:37:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"13578:3:10","parameters":{"id":9549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9546,"mutability":"mutable","name":"self","nameLocation":"13601:4:10","nodeType":"VariableDeclaration","scope":9561,"src":"13582:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9545,"nodeType":"UserDefinedTypeName","pathNode":{"id":9544,"name":"StdStorage","nameLocations":["13582:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"13582:10:10"},"referencedDeclaration":8093,"src":"13582:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9548,"mutability":"mutable","name":"_sig","nameLocation":"13621:4:10","nodeType":"VariableDeclaration","scope":9561,"src":"13607:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9547,"name":"string","nodeType":"ElementaryTypeName","src":"13607:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13581:45:10"},"returnParameters":{"id":9553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9552,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9561,"src":"13645:18:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9551,"nodeType":"UserDefinedTypeName","pathNode":{"id":9550,"name":"StdStorage","nameLocations":["13645:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"13645:10:10"},"referencedDeclaration":8093,"src":"13645:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13644:20:10"},"scope":10050,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9579,"nodeType":"FunctionDefinition","src":"13725:152:10","nodes":[],"body":{"id":9578,"nodeType":"Block","src":"13819:58:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9574,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9564,"src":"13860:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":9575,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9566,"src":"13866:3:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9572,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"13836:14:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9445_$","typeString":"type(library stdStorageSafe)"}},"id":9573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13851:8:10","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":8867,"src":"13836:23:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":9576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13836:34:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9571,"id":9577,"nodeType":"Return","src":"13829:41:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"13734:8:10","parameters":{"id":9567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9564,"mutability":"mutable","name":"self","nameLocation":"13762:4:10","nodeType":"VariableDeclaration","scope":9579,"src":"13743:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9563,"nodeType":"UserDefinedTypeName","pathNode":{"id":9562,"name":"StdStorage","nameLocations":["13743:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"13743:10:10"},"referencedDeclaration":8093,"src":"13743:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9566,"mutability":"mutable","name":"who","nameLocation":"13776:3:10","nodeType":"VariableDeclaration","scope":9579,"src":"13768:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9565,"name":"address","nodeType":"ElementaryTypeName","src":"13768:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13742:38:10"},"returnParameters":{"id":9571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9570,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9579,"src":"13799:18:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9569,"nodeType":"UserDefinedTypeName","pathNode":{"id":9568,"name":"StdStorage","nameLocations":["13799:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"13799:10:10"},"referencedDeclaration":8093,"src":"13799:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13798:20:10"},"scope":10050,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9597,"nodeType":"FunctionDefinition","src":"13883:152:10","nodes":[],"body":{"id":9596,"nodeType":"Block","src":"13977:58:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9592,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9582,"src":"14018:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":9593,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"14024:3:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9590,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"13994:14:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9445_$","typeString":"type(library stdStorageSafe)"}},"id":9591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14009:8:10","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":8892,"src":"13994:23:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":9594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13994:34:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9589,"id":9595,"nodeType":"Return","src":"13987:41:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"13892:8:10","parameters":{"id":9585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9582,"mutability":"mutable","name":"self","nameLocation":"13920:4:10","nodeType":"VariableDeclaration","scope":9597,"src":"13901:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9581,"nodeType":"UserDefinedTypeName","pathNode":{"id":9580,"name":"StdStorage","nameLocations":["13901:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"13901:10:10"},"referencedDeclaration":8093,"src":"13901:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9584,"mutability":"mutable","name":"amt","nameLocation":"13934:3:10","nodeType":"VariableDeclaration","scope":9597,"src":"13926:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9583,"name":"uint256","nodeType":"ElementaryTypeName","src":"13926:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13900:38:10"},"returnParameters":{"id":9589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9588,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9597,"src":"13957:18:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9587,"nodeType":"UserDefinedTypeName","pathNode":{"id":9586,"name":"StdStorage","nameLocations":["13957:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"13957:10:10"},"referencedDeclaration":8093,"src":"13957:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13956:20:10"},"scope":10050,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9615,"nodeType":"FunctionDefinition","src":"14041:152:10","nodes":[],"body":{"id":9614,"nodeType":"Block","src":"14135:58:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9610,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9600,"src":"14176:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":9611,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9602,"src":"14182:3:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9608,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"14152:14:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9445_$","typeString":"type(library stdStorageSafe)"}},"id":9609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14167:8:10","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":8914,"src":"14152:23:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bytes32_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes32) returns (struct StdStorage storage pointer)"}},"id":9612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14152:34:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9607,"id":9613,"nodeType":"Return","src":"14145:41:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"14050:8:10","parameters":{"id":9603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9600,"mutability":"mutable","name":"self","nameLocation":"14078:4:10","nodeType":"VariableDeclaration","scope":9615,"src":"14059:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9599,"nodeType":"UserDefinedTypeName","pathNode":{"id":9598,"name":"StdStorage","nameLocations":["14059:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"14059:10:10"},"referencedDeclaration":8093,"src":"14059:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9602,"mutability":"mutable","name":"key","nameLocation":"14092:3:10","nodeType":"VariableDeclaration","scope":9615,"src":"14084:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9601,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14084:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14058:38:10"},"returnParameters":{"id":9607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9606,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9615,"src":"14115:18:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9605,"nodeType":"UserDefinedTypeName","pathNode":{"id":9604,"name":"StdStorage","nameLocations":["14115:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"14115:10:10"},"referencedDeclaration":8093,"src":"14115:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14114:20:10"},"scope":10050,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9633,"nodeType":"FunctionDefinition","src":"14199:179:10","nodes":[],"body":{"id":9632,"nodeType":"Block","src":"14309:69:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9628,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9618,"src":"14355:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":9629,"name":"_calldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9620,"src":"14361:9:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9626,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"14326:14:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9445_$","typeString":"type(library stdStorageSafe)"}},"id":9627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14341:13:10","memberName":"with_calldata","nodeType":"MemberAccess","referencedDeclaration":8836,"src":"14326:28:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes memory) returns (struct StdStorage storage pointer)"}},"id":9630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14326:45:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9625,"id":9631,"nodeType":"Return","src":"14319:52:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_calldata","nameLocation":"14208:13:10","parameters":{"id":9621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9618,"mutability":"mutable","name":"self","nameLocation":"14241:4:10","nodeType":"VariableDeclaration","scope":9633,"src":"14222:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9617,"nodeType":"UserDefinedTypeName","pathNode":{"id":9616,"name":"StdStorage","nameLocations":["14222:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"14222:10:10"},"referencedDeclaration":8093,"src":"14222:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9620,"mutability":"mutable","name":"_calldata","nameLocation":"14260:9:10","nodeType":"VariableDeclaration","scope":9633,"src":"14247:22:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9619,"name":"bytes","nodeType":"ElementaryTypeName","src":"14247:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14221:49:10"},"returnParameters":{"id":9625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9624,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9633,"src":"14289:18:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9623,"nodeType":"UserDefinedTypeName","pathNode":{"id":9622,"name":"StdStorage","nameLocations":["14289:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"14289:10:10"},"referencedDeclaration":8093,"src":"14289:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14288:20:10"},"scope":10050,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9648,"nodeType":"FunctionDefinition","src":"14384:156:10","nodes":[],"body":{"id":9647,"nodeType":"Block","src":"14476:64:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9644,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9636,"src":"14528:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":9642,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"14493:14:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9445_$","typeString":"type(library stdStorageSafe)"}},"id":9643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14508:19:10","memberName":"enable_packed_slots","nodeType":"MemberAccess","referencedDeclaration":8932,"src":"14493:34:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (struct StdStorage storage pointer)"}},"id":9645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14493:40:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9641,"id":9646,"nodeType":"Return","src":"14486:47:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"enable_packed_slots","nameLocation":"14393:19:10","parameters":{"id":9637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9636,"mutability":"mutable","name":"self","nameLocation":"14432:4:10","nodeType":"VariableDeclaration","scope":9648,"src":"14413:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9635,"nodeType":"UserDefinedTypeName","pathNode":{"id":9634,"name":"StdStorage","nameLocations":["14413:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"14413:10:10"},"referencedDeclaration":8093,"src":"14413:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14412:25:10"},"returnParameters":{"id":9641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9640,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9648,"src":"14456:18:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9639,"nodeType":"UserDefinedTypeName","pathNode":{"id":9638,"name":"StdStorage","nameLocations":["14456:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"14456:10:10"},"referencedDeclaration":8093,"src":"14456:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14455:20:10"},"scope":10050,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9666,"nodeType":"FunctionDefinition","src":"14546:152:10","nodes":[],"body":{"id":9665,"nodeType":"Block","src":"14640:58:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9661,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9651,"src":"14678:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":9662,"name":"_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9653,"src":"14684:6:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9659,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"14657:14:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9445_$","typeString":"type(library stdStorageSafe)"}},"id":9660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14672:5:10","memberName":"depth","nodeType":"MemberAccess","referencedDeclaration":8952,"src":"14657:20:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$8093_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":9663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14657:34:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9658,"id":9664,"nodeType":"Return","src":"14650:41:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"depth","nameLocation":"14555:5:10","parameters":{"id":9654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9651,"mutability":"mutable","name":"self","nameLocation":"14580:4:10","nodeType":"VariableDeclaration","scope":9666,"src":"14561:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9650,"nodeType":"UserDefinedTypeName","pathNode":{"id":9649,"name":"StdStorage","nameLocations":["14561:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"14561:10:10"},"referencedDeclaration":8093,"src":"14561:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9653,"mutability":"mutable","name":"_depth","nameLocation":"14594:6:10","nodeType":"VariableDeclaration","scope":9666,"src":"14586:14:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9652,"name":"uint256","nodeType":"ElementaryTypeName","src":"14586:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14560:41:10"},"returnParameters":{"id":9658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9657,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9666,"src":"14620:18:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9656,"nodeType":"UserDefinedTypeName","pathNode":{"id":9655,"name":"StdStorage","nameLocations":["14620:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"14620:10:10"},"referencedDeclaration":8093,"src":"14620:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14619:20:10"},"scope":10050,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9679,"nodeType":"FunctionDefinition","src":"14704:92:10","nodes":[],"body":{"id":9678,"nodeType":"Block","src":"14753:43:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9675,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9669,"src":"14784:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":9672,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"14763:14:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9445_$","typeString":"type(library stdStorageSafe)"}},"id":9674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14778:5:10","memberName":"clear","nodeType":"MemberAccess","referencedDeclaration":9399,"src":"14763:20:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":9676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14763:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9677,"nodeType":"ExpressionStatement","src":"14763:26:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"clear","nameLocation":"14713:5:10","parameters":{"id":9670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9669,"mutability":"mutable","name":"self","nameLocation":"14738:4:10","nodeType":"VariableDeclaration","scope":9679,"src":"14719:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9668,"nodeType":"UserDefinedTypeName","pathNode":{"id":9667,"name":"StdStorage","nameLocations":["14719:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"14719:10:10"},"referencedDeclaration":8093,"src":"14719:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14718:25:10"},"returnParameters":{"id":9671,"nodeType":"ParameterList","parameters":[],"src":"14753:0:10"},"scope":10050,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9702,"nodeType":"FunctionDefinition","src":"14802:138:10","nodes":[],"body":{"id":9701,"nodeType":"Block","src":"14872:68:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9688,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9682,"src":"14896:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"arguments":[{"arguments":[{"arguments":[{"id":9695,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9684,"src":"14926:3:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9694,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14918:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":9693,"name":"uint160","nodeType":"ElementaryTypeName","src":"14918:7:10","typeDescriptions":{}}},"id":9696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14918:12:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":9692,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14910:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9691,"name":"uint256","nodeType":"ElementaryTypeName","src":"14910:7:10","typeDescriptions":{}}},"id":9697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14910:21:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9690,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14902:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9689,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14902:7:10","typeDescriptions":{}}},"id":9698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14902:30:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9687,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[9702,9719,9757,9949],"referencedDeclaration":9949,"src":"14882:13:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":9699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14882:51:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9700,"nodeType":"ExpressionStatement","src":"14882:51:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"14811:13:10","parameters":{"id":9685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9682,"mutability":"mutable","name":"self","nameLocation":"14844:4:10","nodeType":"VariableDeclaration","scope":9702,"src":"14825:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9681,"nodeType":"UserDefinedTypeName","pathNode":{"id":9680,"name":"StdStorage","nameLocations":["14825:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"14825:10:10"},"referencedDeclaration":8093,"src":"14825:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9684,"mutability":"mutable","name":"who","nameLocation":"14858:3:10","nodeType":"VariableDeclaration","scope":9702,"src":"14850:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9683,"name":"address","nodeType":"ElementaryTypeName","src":"14850:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14824:38:10"},"returnParameters":{"id":9686,"nodeType":"ParameterList","parameters":[],"src":"14872:0:10"},"scope":10050,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9719,"nodeType":"FunctionDefinition","src":"14946:120:10","nodes":[],"body":{"id":9718,"nodeType":"Block","src":"15016:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9711,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9705,"src":"15040:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"arguments":[{"id":9714,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9707,"src":"15054:3:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9713,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15046:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9712,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15046:7:10","typeDescriptions":{}}},"id":9715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15046:12:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9710,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[9702,9719,9757,9949],"referencedDeclaration":9949,"src":"15026:13:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":9716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15026:33:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9717,"nodeType":"ExpressionStatement","src":"15026:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"14955:13:10","parameters":{"id":9708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9705,"mutability":"mutable","name":"self","nameLocation":"14988:4:10","nodeType":"VariableDeclaration","scope":9719,"src":"14969:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9704,"nodeType":"UserDefinedTypeName","pathNode":{"id":9703,"name":"StdStorage","nameLocations":["14969:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"14969:10:10"},"referencedDeclaration":8093,"src":"14969:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9707,"mutability":"mutable","name":"amt","nameLocation":"15002:3:10","nodeType":"VariableDeclaration","scope":9719,"src":"14994:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9706,"name":"uint256","nodeType":"ElementaryTypeName","src":"14994:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14968:38:10"},"returnParameters":{"id":9709,"nodeType":"ParameterList","parameters":[],"src":"15016:0:10"},"scope":10050,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9739,"nodeType":"FunctionDefinition","src":"15072:132:10","nodes":[],"body":{"id":9738,"nodeType":"Block","src":"15145:59:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9728,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9722,"src":"15169:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"arguments":[{"arguments":[{"id":9733,"name":"val","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9724,"src":"15191:3:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":9732,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15183:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9731,"name":"uint256","nodeType":"ElementaryTypeName","src":"15183:7:10","typeDescriptions":{}}},"id":9734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15183:12:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9730,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15175:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9729,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15175:7:10","typeDescriptions":{}}},"id":9735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15175:21:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9727,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[9702,9719,9757,9949],"referencedDeclaration":9949,"src":"15155:13:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":9736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15155:42:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9737,"nodeType":"ExpressionStatement","src":"15155:42:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write_int","nameLocation":"15081:17:10","parameters":{"id":9725,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9722,"mutability":"mutable","name":"self","nameLocation":"15118:4:10","nodeType":"VariableDeclaration","scope":9739,"src":"15099:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9721,"nodeType":"UserDefinedTypeName","pathNode":{"id":9720,"name":"StdStorage","nameLocations":["15099:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"15099:10:10"},"referencedDeclaration":8093,"src":"15099:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9724,"mutability":"mutable","name":"val","nameLocation":"15131:3:10","nodeType":"VariableDeclaration","scope":9739,"src":"15124:10:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":9723,"name":"int256","nodeType":"ElementaryTypeName","src":"15124:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"15098:37:10"},"returnParameters":{"id":9726,"nodeType":"ParameterList","parameters":[],"src":"15145:0:10"},"scope":10050,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9757,"nodeType":"FunctionDefinition","src":"15210:222:10","nodes":[],"body":{"id":9756,"nodeType":"Block","src":"15279:153:10","nodes":[],"statements":[{"assignments":[9748],"declarations":[{"constant":false,"id":9748,"mutability":"mutable","name":"t","nameLocation":"15297:1:10","nodeType":"VariableDeclaration","scope":9756,"src":"15289:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9747,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15289:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":9749,"nodeType":"VariableDeclarationStatement","src":"15289:9:10"},{"AST":{"nativeSrc":"15360:34:10","nodeType":"YulBlock","src":"15360:34:10","statements":[{"nativeSrc":"15374:10:10","nodeType":"YulAssignment","src":"15374:10:10","value":{"name":"write","nativeSrc":"15379:5:10","nodeType":"YulIdentifier","src":"15379:5:10"},"variableNames":[{"name":"t","nativeSrc":"15374:1:10","nodeType":"YulIdentifier","src":"15374:1:10"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":9748,"isOffset":false,"isSlot":false,"src":"15374:1:10","valueSize":1},{"declaration":9744,"isOffset":false,"isSlot":false,"src":"15379:5:10","valueSize":1}],"id":9750,"nodeType":"InlineAssembly","src":"15351:43:10"},{"expression":{"arguments":[{"id":9752,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9742,"src":"15417:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":9753,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9748,"src":"15423:1:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9751,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[9702,9719,9757,9949],"referencedDeclaration":9949,"src":"15403:13:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":9754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15403:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9755,"nodeType":"ExpressionStatement","src":"15403:22:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"15219:13:10","parameters":{"id":9745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9742,"mutability":"mutable","name":"self","nameLocation":"15252:4:10","nodeType":"VariableDeclaration","scope":9757,"src":"15233:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9741,"nodeType":"UserDefinedTypeName","pathNode":{"id":9740,"name":"StdStorage","nameLocations":["15233:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"15233:10:10"},"referencedDeclaration":8093,"src":"15233:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9744,"mutability":"mutable","name":"write","nameLocation":"15263:5:10","nodeType":"VariableDeclaration","scope":9757,"src":"15258:10:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9743,"name":"bool","nodeType":"ElementaryTypeName","src":"15258:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15232:37:10"},"returnParameters":{"id":9746,"nodeType":"ParameterList","parameters":[],"src":"15279:0:10"},"scope":10050,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9949,"nodeType":"FunctionDefinition","src":"15438:1484:10","nodes":[],"body":{"id":9948,"nodeType":"Block","src":"15508:1414:10","nodes":[],"statements":[{"assignments":[9766],"declarations":[{"constant":false,"id":9766,"mutability":"mutable","name":"who","nameLocation":"15526:3:10","nodeType":"VariableDeclaration","scope":9948,"src":"15518:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9765,"name":"address","nodeType":"ElementaryTypeName","src":"15518:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":9769,"initialValue":{"expression":{"id":9767,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9760,"src":"15532:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9768,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15537:7:10","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8086,"src":"15532:12:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15518:26:10"},{"assignments":[9771],"declarations":[{"constant":false,"id":9771,"mutability":"mutable","name":"fsig","nameLocation":"15561:4:10","nodeType":"VariableDeclaration","scope":9948,"src":"15554:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":9770,"name":"bytes4","nodeType":"ElementaryTypeName","src":"15554:6:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":9774,"initialValue":{"expression":{"id":9772,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9760,"src":"15568:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9773,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15573:4:10","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":8082,"src":"15568:9:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"15554:23:10"},{"assignments":[9776],"declarations":[{"constant":false,"id":9776,"mutability":"mutable","name":"field_depth","nameLocation":"15595:11:10","nodeType":"VariableDeclaration","scope":9948,"src":"15587:19:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9775,"name":"uint256","nodeType":"ElementaryTypeName","src":"15587:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9779,"initialValue":{"expression":{"id":9777,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9760,"src":"15609:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9778,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15614:6:10","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":8084,"src":"15609:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15587:33:10"},{"assignments":[9781],"declarations":[{"constant":false,"id":9781,"mutability":"mutable","name":"params","nameLocation":"15643:6:10","nodeType":"VariableDeclaration","scope":9948,"src":"15630:19:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9780,"name":"bytes","nodeType":"ElementaryTypeName","src":"15630:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":9786,"initialValue":{"arguments":[{"id":9784,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9760,"src":"15681:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":9782,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"15652:14:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9445_$","typeString":"type(library stdStorageSafe)"}},"id":9783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15667:13:10","memberName":"getCallParams","nodeType":"MemberAccess","referencedDeclaration":8172,"src":"15652:28:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$8093_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) view returns (bytes memory)"}},"id":9785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15652:34:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15630:56:10"},{"condition":{"id":9802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"15701:78:10","subExpression":{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":9787,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9760,"src":"15702:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9788,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15707:5:10","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":8077,"src":"15702:10:10","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":9790,"indexExpression":{"id":9789,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9766,"src":"15713:3:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15702:15:10","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":9792,"indexExpression":{"id":9791,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9771,"src":"15718:4:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15702:21:10","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":9800,"indexExpression":{"arguments":[{"arguments":[{"id":9796,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9781,"src":"15751:6:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":9797,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9776,"src":"15759:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9794,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15734:3:10","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9795,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15738:12:10","memberName":"encodePacked","nodeType":"MemberAccess","src":"15734:16:10","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":9798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15734:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9793,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"15724:9:10","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":9799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15724:48:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15702:71:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage","typeString":"struct FindData storage ref"}},"id":9801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15774:5:10","memberName":"found","nodeType":"MemberAccess","referencedDeclaration":8067,"src":"15702:77:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9809,"nodeType":"IfStatement","src":"15697:126:10","trueBody":{"id":9808,"nodeType":"Block","src":"15781:42:10","statements":[{"expression":{"arguments":[{"id":9804,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9760,"src":"15800:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"66616c7365","id":9805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15806:5:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":9803,"name":"find","nodeType":"Identifier","overloadedDeclarations":[9489,9507],"referencedDeclaration":9507,"src":"15795:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$_t_bool_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bool) returns (uint256)"}},"id":9806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15795:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9807,"nodeType":"ExpressionStatement","src":"15795:17:10"}]}},{"assignments":[9812],"declarations":[{"constant":false,"id":9812,"mutability":"mutable","name":"data","nameLocation":"15849:4:10","nodeType":"VariableDeclaration","scope":9948,"src":"15832:21:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData"},"typeName":{"id":9811,"nodeType":"UserDefinedTypeName","pathNode":{"id":9810,"name":"FindData","nameLocations":["15832:8:10"],"nodeType":"IdentifierPath","referencedDeclaration":8068,"src":"15832:8:10"},"referencedDeclaration":8068,"src":"15832:8:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData"}},"visibility":"internal"}],"id":9827,"initialValue":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":9813,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9760,"src":"15856:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9814,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15861:5:10","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":8077,"src":"15856:10:10","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":9816,"indexExpression":{"id":9815,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9766,"src":"15867:3:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15856:15:10","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":9818,"indexExpression":{"id":9817,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9771,"src":"15872:4:10","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15856:21:10","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$8068_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":9826,"indexExpression":{"arguments":[{"arguments":[{"id":9822,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9781,"src":"15905:6:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":9823,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9776,"src":"15913:11:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9820,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15888:3:10","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9821,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15892:12:10","memberName":"encodePacked","nodeType":"MemberAccess","src":"15888:16:10","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":9824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15888:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9819,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"15878:9:10","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":9825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15878:48:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15856:71:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage","typeString":"struct FindData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15832:95:10"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9828,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9812,"src":"15942:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9829,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15947:10:10","memberName":"offsetLeft","nodeType":"MemberAccess","referencedDeclaration":8063,"src":"15942:15:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":9830,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9812,"src":"15960:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9831,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15965:11:10","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":8065,"src":"15960:16:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15942:34:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9833,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"15941:36:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":9834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15980:1:10","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15941:40:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9871,"nodeType":"IfStatement","src":"15937:460:10","trueBody":{"id":9870,"nodeType":"Block","src":"15983:414:10","statements":[{"assignments":[9837],"declarations":[{"constant":false,"id":9837,"mutability":"mutable","name":"maxVal","nameLocation":"16005:6:10","nodeType":"VariableDeclaration","scope":9870,"src":"15997:14:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9836,"name":"uint256","nodeType":"ElementaryTypeName","src":"15997:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9849,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":9838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16014:1:10","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"323536","id":9839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16020:3:10","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9840,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9812,"src":"16027:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9841,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16032:10:10","memberName":"offsetLeft","nodeType":"MemberAccess","referencedDeclaration":8063,"src":"16027:15:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":9842,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9812,"src":"16045:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9843,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16050:11:10","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":8065,"src":"16045:16:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16027:34:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9845,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16026:36:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16020:42:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9847,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16019:44:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16014:49:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15997:66:10"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":9853,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9762,"src":"16110:3:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9852,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16102:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9851,"name":"uint256","nodeType":"ElementaryTypeName","src":"16102:7:10","typeDescriptions":{}}},"id":9854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16102:12:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9855,"name":"maxVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9837,"src":"16117:6:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16102:21:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a205061636b656420736c6f742e2057652063616e2774206669742076616c75652067726561746572207468616e20","id":9861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16211:76:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6d0684ad88a5416aef2586056893899c6c8e834933c68e4c91239ee0856a523","typeString":"literal_string \"stdStorage find(StdStorage): Packed slot. We can't fit value greater than \""},"value":"stdStorage find(StdStorage): Packed slot. We can't fit value greater than "},{"arguments":[{"id":9864,"name":"maxVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9837,"src":"16325:6:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9862,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9462,"src":"16313:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":9863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16316:8:10","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15161,"src":"16313:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":9865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16313:19:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6d0684ad88a5416aef2586056893899c6c8e834933c68e4c91239ee0856a523","typeString":"literal_string \"stdStorage find(StdStorage): Packed slot. We can't fit value greater than \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":9859,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16169:3:10","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9860,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16173:12:10","memberName":"encodePacked","nodeType":"MemberAccess","src":"16169:16:10","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":9866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16169:185:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9858,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16141:6:10","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":9857,"name":"string","nodeType":"ElementaryTypeName","src":"16141:6:10","typeDescriptions":{}}},"id":9867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16141:231:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9850,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"16077:7:10","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16077:309:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9869,"nodeType":"ExpressionStatement","src":"16077:309:10"}]}},{"assignments":[9873],"declarations":[{"constant":false,"id":9873,"mutability":"mutable","name":"curVal","nameLocation":"16414:6:10","nodeType":"VariableDeclaration","scope":9948,"src":"16406:14:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9872,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16406:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":9883,"initialValue":{"arguments":[{"id":9876,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9766,"src":"16431:3:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":9879,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9812,"src":"16444:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9880,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16449:4:10","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":8061,"src":"16444:9:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16436:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9877,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16436:7:10","typeDescriptions":{}}},"id":9881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16436:18:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9874,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9462,"src":"16423:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":9875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16426:4:10","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":13945,"src":"16423:7:10","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":9882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16423:32:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"16406:49:10"},{"assignments":[9885],"declarations":[{"constant":false,"id":9885,"mutability":"mutable","name":"valToSet","nameLocation":"16473:8:10","nodeType":"VariableDeclaration","scope":9948,"src":"16465:16:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9884,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16465:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":9898,"initialValue":{"arguments":[{"id":9888,"name":"curVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9873,"src":"16519:6:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":9891,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9762,"src":"16535:3:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16527:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9889,"name":"uint256","nodeType":"ElementaryTypeName","src":"16527:7:10","typeDescriptions":{}}},"id":9892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16527:12:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":9893,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9812,"src":"16541:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9894,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16546:10:10","memberName":"offsetLeft","nodeType":"MemberAccess","referencedDeclaration":8063,"src":"16541:15:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":9895,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9812,"src":"16558:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9896,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16563:11:10","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":8065,"src":"16558:16:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9886,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"16484:14:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9445_$","typeString":"type(library stdStorageSafe)"}},"id":9887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16499:19:10","memberName":"getUpdatedSlotValue","nodeType":"MemberAccess","referencedDeclaration":9444,"src":"16484:34:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes32,uint256,uint256,uint256) pure returns (bytes32)"}},"id":9897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16484:91:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"16465:110:10"},{"expression":{"arguments":[{"id":9902,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9766,"src":"16595:3:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":9905,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9812,"src":"16608:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9906,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16613:4:10","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":8061,"src":"16608:9:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9904,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16600:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9903,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16600:7:10","typeDescriptions":{}}},"id":9907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16600:18:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":9908,"name":"valToSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9885,"src":"16620:8:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9899,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9462,"src":"16586:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":9901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16589:5:10","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":17564,"src":"16586:8:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":9909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16586:43:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9910,"nodeType":"ExpressionStatement","src":"16586:43:10"},{"assignments":[9912,9914],"declarations":[{"constant":false,"id":9912,"mutability":"mutable","name":"success","nameLocation":"16646:7:10","nodeType":"VariableDeclaration","scope":9948,"src":"16641:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9911,"name":"bool","nodeType":"ElementaryTypeName","src":"16641:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9914,"mutability":"mutable","name":"callResult","nameLocation":"16663:10:10","nodeType":"VariableDeclaration","scope":9948,"src":"16655:18:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9913,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16655:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":9919,"initialValue":{"arguments":[{"id":9917,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9760,"src":"16703:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":9915,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"16677:14:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9445_$","typeString":"type(library stdStorageSafe)"}},"id":9916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16692:10:10","memberName":"callTarget","nodeType":"MemberAccess","referencedDeclaration":8218,"src":"16677:25:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$8093_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":9918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16677:31:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"16640:68:10"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":9925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16723:8:10","subExpression":{"id":9920,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9912,"src":"16724:7:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":9924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9922,"name":"callResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9914,"src":"16735:10:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":9923,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9762,"src":"16749:3:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"16735:17:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"16723:29:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9943,"nodeType":"IfStatement","src":"16719:176:10","trueBody":{"id":9942,"nodeType":"Block","src":"16754:141:10","statements":[{"expression":{"arguments":[{"id":9929,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9766,"src":"16777:3:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":9932,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9812,"src":"16790:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8068_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9933,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16795:4:10","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":8061,"src":"16790:9:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16782:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9930,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16782:7:10","typeDescriptions":{}}},"id":9934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16782:18:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":9935,"name":"curVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9873,"src":"16802:6:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9926,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9462,"src":"16768:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":9928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16771:5:10","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":17564,"src":"16768:8:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":9936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16768:41:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9937,"nodeType":"ExpressionStatement","src":"16768:41:10"},{"expression":{"arguments":[{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a204661696c656420746f2077726974652076616c75652e","id":9939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16830:53:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_b553baf150cfdb312beff968f03edcd3b801a9113d8bc19cff4e03b1eab07b61","typeString":"literal_string \"stdStorage find(StdStorage): Failed to write value.\""},"value":"stdStorage find(StdStorage): Failed to write value."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b553baf150cfdb312beff968f03edcd3b801a9113d8bc19cff4e03b1eab07b61","typeString":"literal_string \"stdStorage find(StdStorage): Failed to write value.\""}],"id":9938,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"16823:6:10","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":9940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16823:61:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9941,"nodeType":"ExpressionStatement","src":"16823:61:10"}]}},{"expression":{"arguments":[{"id":9945,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9760,"src":"16910:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":9944,"name":"clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9679,"src":"16904:5:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":9946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16904:11:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9947,"nodeType":"ExpressionStatement","src":"16904:11:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"15447:13:10","parameters":{"id":9763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9760,"mutability":"mutable","name":"self","nameLocation":"15480:4:10","nodeType":"VariableDeclaration","scope":9949,"src":"15461:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9759,"nodeType":"UserDefinedTypeName","pathNode":{"id":9758,"name":"StdStorage","nameLocations":["15461:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"15461:10:10"},"referencedDeclaration":8093,"src":"15461:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9762,"mutability":"mutable","name":"set","nameLocation":"15494:3:10","nodeType":"VariableDeclaration","scope":9949,"src":"15486:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9761,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15486:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15460:38:10"},"returnParameters":{"id":9764,"nodeType":"ParameterList","parameters":[],"src":"15508:0:10"},"scope":10050,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9963,"nodeType":"FunctionDefinition","src":"16928:131:10","nodes":[],"body":{"id":9962,"nodeType":"Block","src":"17002:57:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9959,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9952,"src":"17047:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":9957,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"17019:14:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9445_$","typeString":"type(library stdStorageSafe)"}},"id":9958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17034:12:10","memberName":"read_bytes32","nodeType":"MemberAccess","referencedDeclaration":9028,"src":"17019:27:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$returns$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) returns (bytes32)"}},"id":9960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17019:33:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":9956,"id":9961,"nodeType":"Return","src":"17012:40:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bytes32","nameLocation":"16937:12:10","parameters":{"id":9953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9952,"mutability":"mutable","name":"self","nameLocation":"16969:4:10","nodeType":"VariableDeclaration","scope":9963,"src":"16950:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9951,"nodeType":"UserDefinedTypeName","pathNode":{"id":9950,"name":"StdStorage","nameLocations":["16950:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"16950:10:10"},"referencedDeclaration":8093,"src":"16950:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"16949:25:10"},"returnParameters":{"id":9956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9955,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9963,"src":"16993:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9954,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16993:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16992:9:10"},"scope":10050,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9977,"nodeType":"FunctionDefinition","src":"17065:122:10","nodes":[],"body":{"id":9976,"nodeType":"Block","src":"17133:54:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9973,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9966,"src":"17175:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":9971,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"17150:14:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9445_$","typeString":"type(library stdStorageSafe)"}},"id":9972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17165:9:10","memberName":"read_bool","nodeType":"MemberAccess","referencedDeclaration":9059,"src":"17150:24:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$returns$_t_bool_$","typeString":"function (struct StdStorage storage pointer) returns (bool)"}},"id":9974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17150:30:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":9970,"id":9975,"nodeType":"Return","src":"17143:37:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bool","nameLocation":"17074:9:10","parameters":{"id":9967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9966,"mutability":"mutable","name":"self","nameLocation":"17103:4:10","nodeType":"VariableDeclaration","scope":9977,"src":"17084:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9965,"nodeType":"UserDefinedTypeName","pathNode":{"id":9964,"name":"StdStorage","nameLocations":["17084:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"17084:10:10"},"referencedDeclaration":8093,"src":"17084:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17083:25:10"},"returnParameters":{"id":9970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9969,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9977,"src":"17127:4:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9968,"name":"bool","nodeType":"ElementaryTypeName","src":"17127:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17126:6:10"},"scope":10050,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9991,"nodeType":"FunctionDefinition","src":"17193:131:10","nodes":[],"body":{"id":9990,"nodeType":"Block","src":"17267:57:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9987,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9980,"src":"17312:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":9985,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"17284:14:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9445_$","typeString":"type(library stdStorageSafe)"}},"id":9986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17299:12:10","memberName":"read_address","nodeType":"MemberAccess","referencedDeclaration":9078,"src":"17284:27:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$returns$_t_address_$","typeString":"function (struct StdStorage storage pointer) returns (address)"}},"id":9988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17284:33:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":9984,"id":9989,"nodeType":"Return","src":"17277:40:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_address","nameLocation":"17202:12:10","parameters":{"id":9981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9980,"mutability":"mutable","name":"self","nameLocation":"17234:4:10","nodeType":"VariableDeclaration","scope":9991,"src":"17215:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9979,"nodeType":"UserDefinedTypeName","pathNode":{"id":9978,"name":"StdStorage","nameLocations":["17215:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"17215:10:10"},"referencedDeclaration":8093,"src":"17215:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17214:25:10"},"returnParameters":{"id":9984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9983,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9991,"src":"17258:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9982,"name":"address","nodeType":"ElementaryTypeName","src":"17258:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17257:9:10"},"scope":10050,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10005,"nodeType":"FunctionDefinition","src":"17330:125:10","nodes":[],"body":{"id":10004,"nodeType":"Block","src":"17401:54:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":10001,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9994,"src":"17443:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":9999,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"17418:14:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9445_$","typeString":"type(library stdStorageSafe)"}},"id":10000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17433:9:10","memberName":"read_uint","nodeType":"MemberAccess","referencedDeclaration":9097,"src":"17418:24:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer) returns (uint256)"}},"id":10002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17418:30:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9998,"id":10003,"nodeType":"Return","src":"17411:37:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_uint","nameLocation":"17339:9:10","parameters":{"id":9995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9994,"mutability":"mutable","name":"self","nameLocation":"17368:4:10","nodeType":"VariableDeclaration","scope":10005,"src":"17349:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9993,"nodeType":"UserDefinedTypeName","pathNode":{"id":9992,"name":"StdStorage","nameLocations":["17349:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"17349:10:10"},"referencedDeclaration":8093,"src":"17349:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17348:25:10"},"returnParameters":{"id":9998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9997,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10005,"src":"17392:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9996,"name":"uint256","nodeType":"ElementaryTypeName","src":"17392:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17391:9:10"},"scope":10050,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10019,"nodeType":"FunctionDefinition","src":"17461:122:10","nodes":[],"body":{"id":10018,"nodeType":"Block","src":"17530:53:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":10015,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10008,"src":"17571:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10013,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"17547:14:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9445_$","typeString":"type(library stdStorageSafe)"}},"id":10014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17562:8:10","memberName":"read_int","nodeType":"MemberAccess","referencedDeclaration":9116,"src":"17547:23:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$returns$_t_int256_$","typeString":"function (struct StdStorage storage pointer) returns (int256)"}},"id":10016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17547:29:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":10012,"id":10017,"nodeType":"Return","src":"17540:36:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_int","nameLocation":"17470:8:10","parameters":{"id":10009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10008,"mutability":"mutable","name":"self","nameLocation":"17498:4:10","nodeType":"VariableDeclaration","scope":10019,"src":"17479:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10007,"nodeType":"UserDefinedTypeName","pathNode":{"id":10006,"name":"StdStorage","nameLocations":["17479:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"17479:10:10"},"referencedDeclaration":8093,"src":"17479:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17478:25:10"},"returnParameters":{"id":10012,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10011,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10019,"src":"17522:6:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10010,"name":"int256","nodeType":"ElementaryTypeName","src":"17522:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"17521:8:10"},"scope":10050,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10035,"nodeType":"FunctionDefinition","src":"17589:128:10","nodes":[],"body":{"id":10034,"nodeType":"Block","src":"17666:51:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":10031,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10022,"src":"17705:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10029,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"17683:14:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9445_$","typeString":"type(library stdStorageSafe)"}},"id":10030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17698:6:10","memberName":"parent","nodeType":"MemberAccess","referencedDeclaration":9182,"src":"17683:21:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$returns$_t_uint256_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) returns (uint256,bytes32)"}},"id":10032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17683:27:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$","typeString":"tuple(uint256,bytes32)"}},"functionReturnParameters":10028,"id":10033,"nodeType":"Return","src":"17676:34:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"parent","nameLocation":"17598:6:10","parameters":{"id":10023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10022,"mutability":"mutable","name":"self","nameLocation":"17624:4:10","nodeType":"VariableDeclaration","scope":10035,"src":"17605:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10021,"nodeType":"UserDefinedTypeName","pathNode":{"id":10020,"name":"StdStorage","nameLocations":["17605:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"17605:10:10"},"referencedDeclaration":8093,"src":"17605:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17604:25:10"},"returnParameters":{"id":10028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10025,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10035,"src":"17648:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10024,"name":"uint256","nodeType":"ElementaryTypeName","src":"17648:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10027,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10035,"src":"17657:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10026,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17657:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17647:18:10"},"scope":10050,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10049,"nodeType":"FunctionDefinition","src":"17723:115:10","nodes":[],"body":{"id":10048,"nodeType":"Block","src":"17789:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":10045,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10038,"src":"17826:4:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10043,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9445,"src":"17806:14:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9445_$","typeString":"type(library stdStorageSafe)"}},"id":10044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17821:4:10","memberName":"root","nodeType":"MemberAccess","referencedDeclaration":9271,"src":"17806:19:10","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8093_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer) returns (uint256)"}},"id":10046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17806:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":10042,"id":10047,"nodeType":"Return","src":"17799:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"root","nameLocation":"17732:4:10","parameters":{"id":10039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10038,"mutability":"mutable","name":"self","nameLocation":"17756:4:10","nodeType":"VariableDeclaration","scope":10049,"src":"17737:23:10","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10037,"nodeType":"UserDefinedTypeName","pathNode":{"id":10036,"name":"StdStorage","nameLocations":["17737:10:10"],"nodeType":"IdentifierPath","referencedDeclaration":8093,"src":"17737:10:10"},"referencedDeclaration":8093,"src":"17737:10:10","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8093_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17736:25:10"},"returnParameters":{"id":10042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10041,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10049,"src":"17780:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10040,"name":"uint256","nodeType":"ElementaryTypeName","src":"17780:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17779:9:10"},"scope":10050,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"stdStorage","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[10050],"name":"stdStorage","nameLocation":"12767:10:10","scope":10051,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdStyle.sol":{"id":11,"ast":{"absolutePath":"lib/forge-std/src/StdStyle.sol","id":11262,"exportedSymbols":{"StdStyle":[11261],"VmSafe":[16930]},"nodeType":"SourceUnit","src":"32:10430:11","nodes":[{"id":10052,"nodeType":"PragmaDirective","src":"32:32:11","nodes":[],"literals":["solidity",">=","0.4",".22","<","0.9",".0"]},{"id":10054,"nodeType":"ImportDirective","src":"66:32:11","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":11262,"sourceUnit":18002,"symbolAliases":[{"foreign":{"id":10053,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16930,"src":"74:6:11","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":11261,"nodeType":"ContractDefinition","src":"100:10361:11","nodes":[{"id":10071,"nodeType":"VariableDeclaration","src":"123:92:11","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"147:2:11","scope":11261,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"},"typeName":{"id":10056,"nodeType":"UserDefinedTypeName","pathNode":{"id":10055,"name":"VmSafe","nameLocations":["123:6:11"],"nodeType":"IdentifierPath","referencedDeclaration":16930,"src":"123:6:11"},"referencedDeclaration":16930,"src":"123:6:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":10065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"193:17:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":10064,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"183:9:11","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"183:28:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10063,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"175:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10062,"name":"uint256","nodeType":"ElementaryTypeName","src":"175:7:11","typeDescriptions":{}}},"id":10067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"175:37:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10061,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"167:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":10060,"name":"uint160","nodeType":"ElementaryTypeName","src":"167:7:11","typeDescriptions":{}}},"id":10068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"167:46:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":10059,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"159:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10058,"name":"address","nodeType":"ElementaryTypeName","src":"159:7:11","typeDescriptions":{}}},"id":10069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"159:55:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10057,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16930,"src":"152:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$16930_$","typeString":"type(contract VmSafe)"}},"id":10070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"152:63:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"visibility":"private"},{"id":10074,"nodeType":"VariableDeclaration","src":"222:34:11","nodes":[],"constant":true,"mutability":"constant","name":"RED","nameLocation":"238:3:11","scope":11261,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10072,"name":"string","nodeType":"ElementaryTypeName","src":"222:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39316d","id":10073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"244:12:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_e865f62b1188865fdbe08fdbe8546369f5c78a8f677a27514aadc154b4263c18","typeString":"literal_string hex\"1b5b39316d\""},"value":"\u001b[91m"},"visibility":"internal"},{"id":10077,"nodeType":"VariableDeclaration","src":"262:36:11","nodes":[],"constant":true,"mutability":"constant","name":"GREEN","nameLocation":"278:5:11","scope":11261,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10075,"name":"string","nodeType":"ElementaryTypeName","src":"262:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39326d","id":10076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"286:12:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_250c6c79af2fd59b948ba31b977e669524bbf27faba009961b135f1635e1e32b","typeString":"literal_string hex\"1b5b39326d\""},"value":"\u001b[92m"},"visibility":"internal"},{"id":10080,"nodeType":"VariableDeclaration","src":"304:37:11","nodes":[],"constant":true,"mutability":"constant","name":"YELLOW","nameLocation":"320:6:11","scope":11261,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10078,"name":"string","nodeType":"ElementaryTypeName","src":"304:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39336d","id":10079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"329:12:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_801b445b8c4f71d86cf740b8fd9f85e172d35421144725dd58fed362de2e6cf5","typeString":"literal_string hex\"1b5b39336d\""},"value":"\u001b[93m"},"visibility":"internal"},{"id":10083,"nodeType":"VariableDeclaration","src":"347:35:11","nodes":[],"constant":true,"mutability":"constant","name":"BLUE","nameLocation":"363:4:11","scope":11261,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10081,"name":"string","nodeType":"ElementaryTypeName","src":"347:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39346d","id":10082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"370:12:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_66ecf2e89553c52e360a74737e5e4e3d15e4d08217c17497ca50efb90c95d593","typeString":"literal_string hex\"1b5b39346d\""},"value":"\u001b[94m"},"visibility":"internal"},{"id":10086,"nodeType":"VariableDeclaration","src":"388:38:11","nodes":[],"constant":true,"mutability":"constant","name":"MAGENTA","nameLocation":"404:7:11","scope":11261,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10084,"name":"string","nodeType":"ElementaryTypeName","src":"388:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39356d","id":10085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"414:12:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_b81cf1fd9bcd2b49f14457c6168490b5ff507c85cc3778934da8235d270d6b5b","typeString":"literal_string hex\"1b5b39356d\""},"value":"\u001b[95m"},"visibility":"internal"},{"id":10089,"nodeType":"VariableDeclaration","src":"432:35:11","nodes":[],"constant":true,"mutability":"constant","name":"CYAN","nameLocation":"448:4:11","scope":11261,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10087,"name":"string","nodeType":"ElementaryTypeName","src":"432:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39366d","id":10088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"455:12:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_f73c74e3aa04446480bd18c1b857a46321f6d66d2bfb703d52333566c779447b","typeString":"literal_string hex\"1b5b39366d\""},"value":"\u001b[96m"},"visibility":"internal"},{"id":10092,"nodeType":"VariableDeclaration","src":"473:34:11","nodes":[],"constant":true,"mutability":"constant","name":"BOLD","nameLocation":"489:4:11","scope":11261,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10090,"name":"string","nodeType":"ElementaryTypeName","src":"473:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b316d","id":10091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"496:11:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_b25b1471c5d449346ad6b37b501b2d5911d6e2bad13ad71d09cdfa3d3b140a17","typeString":"literal_string hex\"1b5b316d\""},"value":"\u001b[1m"},"visibility":"internal"},{"id":10095,"nodeType":"VariableDeclaration","src":"513:33:11","nodes":[],"constant":true,"mutability":"constant","name":"DIM","nameLocation":"529:3:11","scope":11261,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10093,"name":"string","nodeType":"ElementaryTypeName","src":"513:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b326d","id":10094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"535:11:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_2f556fa434add49eadfa043e74ff00496b89a16068544c1118ec19f5d8603d51","typeString":"literal_string hex\"1b5b326d\""},"value":"\u001b[2m"},"visibility":"internal"},{"id":10098,"nodeType":"VariableDeclaration","src":"552:36:11","nodes":[],"constant":true,"mutability":"constant","name":"ITALIC","nameLocation":"568:6:11","scope":11261,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10096,"name":"string","nodeType":"ElementaryTypeName","src":"552:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b336d","id":10097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"577:11:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_3889f2814cfbcc60c7a881028023c05aed4a6dae60be0df554f690b1f4e7411f","typeString":"literal_string hex\"1b5b336d\""},"value":"\u001b[3m"},"visibility":"internal"},{"id":10101,"nodeType":"VariableDeclaration","src":"594:39:11","nodes":[],"constant":true,"mutability":"constant","name":"UNDERLINE","nameLocation":"610:9:11","scope":11261,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10099,"name":"string","nodeType":"ElementaryTypeName","src":"594:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b346d","id":10100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"622:11:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_48cbbbbdbcd789b35edf67deaad6f96f406603d9181318ca90ef32f90fedb5bb","typeString":"literal_string hex\"1b5b346d\""},"value":"\u001b[4m"},"visibility":"internal"},{"id":10104,"nodeType":"VariableDeclaration","src":"639:37:11","nodes":[],"constant":true,"mutability":"constant","name":"INVERSE","nameLocation":"655:7:11","scope":11261,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10102,"name":"string","nodeType":"ElementaryTypeName","src":"639:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b376d","id":10103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"665:11:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_963e08c830a620b3640a99ac46ac6850f28c8f20be064518b3acc7016c3e286e","typeString":"literal_string hex\"1b5b376d\""},"value":"\u001b[7m"},"visibility":"internal"},{"id":10107,"nodeType":"VariableDeclaration","src":"682:35:11","nodes":[],"constant":true,"mutability":"constant","name":"RESET","nameLocation":"698:5:11","scope":11261,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10105,"name":"string","nodeType":"ElementaryTypeName","src":"682:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b306d","id":10106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"706:11:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_289c700ce2c600d61adfc66f83b41c26150052f3ea6c772e582ea6afd03d1949","typeString":"literal_string hex\"1b5b306d\""},"value":"\u001b[0m"},"visibility":"internal"},{"id":10127,"nodeType":"FunctionDefinition","src":"724:167:11","nodes":[],"body":{"id":10126,"nodeType":"Block","src":"823:68:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10120,"name":"style","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10109,"src":"864:5:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10121,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10111,"src":"871:4:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10122,"name":"RESET","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10107,"src":"877:5:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10118,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"847:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10119,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"851:12:11","memberName":"encodePacked","nodeType":"MemberAccess","src":"847:16:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"847:36:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10117,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"840:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":10116,"name":"string","nodeType":"ElementaryTypeName","src":"840:6:11","typeDescriptions":{}}},"id":10124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"840:44:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10115,"id":10125,"nodeType":"Return","src":"833:51:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"styleConcat","nameLocation":"733:11:11","parameters":{"id":10112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10109,"mutability":"mutable","name":"style","nameLocation":"759:5:11","nodeType":"VariableDeclaration","scope":10127,"src":"745:19:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10108,"name":"string","nodeType":"ElementaryTypeName","src":"745:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10111,"mutability":"mutable","name":"self","nameLocation":"780:4:11","nodeType":"VariableDeclaration","scope":10127,"src":"766:18:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10110,"name":"string","nodeType":"ElementaryTypeName","src":"766:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"744:41:11"},"returnParameters":{"id":10115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10114,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10127,"src":"808:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10113,"name":"string","nodeType":"ElementaryTypeName","src":"808:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"807:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":10140,"nodeType":"FunctionDefinition","src":"897:117:11","nodes":[],"body":{"id":10139,"nodeType":"Block","src":"968:46:11","nodes":[],"statements":[{"expression":{"arguments":[{"id":10135,"name":"RED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10074,"src":"997:3:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10136,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10129,"src":"1002:4:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10134,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10127,"src":"985:11:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":10137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"985:22:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10133,"id":10138,"nodeType":"Return","src":"978:29:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"906:3:11","parameters":{"id":10130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10129,"mutability":"mutable","name":"self","nameLocation":"924:4:11","nodeType":"VariableDeclaration","scope":10140,"src":"910:18:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10128,"name":"string","nodeType":"ElementaryTypeName","src":"910:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"909:20:11"},"returnParameters":{"id":10133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10132,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10140,"src":"953:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10131,"name":"string","nodeType":"ElementaryTypeName","src":"953:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"952:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10155,"nodeType":"FunctionDefinition","src":"1020:111:11","nodes":[],"body":{"id":10154,"nodeType":"Block","src":"1085:46:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10150,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10142,"src":"1118:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10148,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"1106:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1109:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15161,"src":"1106:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":10151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1106:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10147,"name":"red","nodeType":"Identifier","overloadedDeclarations":[10140,10155,10170,10185,10200],"referencedDeclaration":10140,"src":"1102:3:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1102:22:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10146,"id":10153,"nodeType":"Return","src":"1095:29:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"1029:3:11","parameters":{"id":10143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10142,"mutability":"mutable","name":"self","nameLocation":"1041:4:11","nodeType":"VariableDeclaration","scope":10155,"src":"1033:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10141,"name":"uint256","nodeType":"ElementaryTypeName","src":"1033:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1032:14:11"},"returnParameters":{"id":10146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10145,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10155,"src":"1070:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10144,"name":"string","nodeType":"ElementaryTypeName","src":"1070:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1069:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10170,"nodeType":"FunctionDefinition","src":"1137:110:11","nodes":[],"body":{"id":10169,"nodeType":"Block","src":"1201:46:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10165,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10157,"src":"1234:4:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":10163,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"1222:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1225:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15169,"src":"1222:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":10166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1222:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10162,"name":"red","nodeType":"Identifier","overloadedDeclarations":[10140,10155,10170,10185,10200],"referencedDeclaration":10140,"src":"1218:3:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1218:22:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10161,"id":10168,"nodeType":"Return","src":"1211:29:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"1146:3:11","parameters":{"id":10158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10157,"mutability":"mutable","name":"self","nameLocation":"1157:4:11","nodeType":"VariableDeclaration","scope":10170,"src":"1150:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10156,"name":"int256","nodeType":"ElementaryTypeName","src":"1150:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1149:13:11"},"returnParameters":{"id":10161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10160,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10170,"src":"1186:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10159,"name":"string","nodeType":"ElementaryTypeName","src":"1186:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1185:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10185,"nodeType":"FunctionDefinition","src":"1253:111:11","nodes":[],"body":{"id":10184,"nodeType":"Block","src":"1318:46:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10180,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10172,"src":"1351:4:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10178,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"1339:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1342:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15129,"src":"1339:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":10181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1339:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10177,"name":"red","nodeType":"Identifier","overloadedDeclarations":[10140,10155,10170,10185,10200],"referencedDeclaration":10140,"src":"1335:3:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1335:22:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10176,"id":10183,"nodeType":"Return","src":"1328:29:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"1262:3:11","parameters":{"id":10173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10172,"mutability":"mutable","name":"self","nameLocation":"1274:4:11","nodeType":"VariableDeclaration","scope":10185,"src":"1266:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10171,"name":"address","nodeType":"ElementaryTypeName","src":"1266:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1265:14:11"},"returnParameters":{"id":10176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10175,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10185,"src":"1303:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10174,"name":"string","nodeType":"ElementaryTypeName","src":"1303:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1302:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10200,"nodeType":"FunctionDefinition","src":"1370:108:11","nodes":[],"body":{"id":10199,"nodeType":"Block","src":"1432:46:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10195,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10187,"src":"1465:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10193,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"1453:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1456:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15153,"src":"1453:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":10196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1453:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10192,"name":"red","nodeType":"Identifier","overloadedDeclarations":[10140,10155,10170,10185,10200],"referencedDeclaration":10140,"src":"1449:3:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1449:22:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10191,"id":10198,"nodeType":"Return","src":"1442:29:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"1379:3:11","parameters":{"id":10188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10187,"mutability":"mutable","name":"self","nameLocation":"1388:4:11","nodeType":"VariableDeclaration","scope":10200,"src":"1383:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10186,"name":"bool","nodeType":"ElementaryTypeName","src":"1383:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1382:11:11"},"returnParameters":{"id":10191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10190,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10200,"src":"1417:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10189,"name":"string","nodeType":"ElementaryTypeName","src":"1417:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1416:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10215,"nodeType":"FunctionDefinition","src":"1484:121:11","nodes":[],"body":{"id":10214,"nodeType":"Block","src":"1559:46:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10210,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10202,"src":"1592:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":10208,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"1580:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1583:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15137,"src":"1580:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":10211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1580:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10207,"name":"red","nodeType":"Identifier","overloadedDeclarations":[10140,10155,10170,10185,10200],"referencedDeclaration":10140,"src":"1576:3:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1576:22:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10206,"id":10213,"nodeType":"Return","src":"1569:29:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"redBytes","nameLocation":"1493:8:11","parameters":{"id":10203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10202,"mutability":"mutable","name":"self","nameLocation":"1515:4:11","nodeType":"VariableDeclaration","scope":10215,"src":"1502:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10201,"name":"bytes","nodeType":"ElementaryTypeName","src":"1502:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1501:19:11"},"returnParameters":{"id":10206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10205,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10215,"src":"1544:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10204,"name":"string","nodeType":"ElementaryTypeName","src":"1544:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1543:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10230,"nodeType":"FunctionDefinition","src":"1611:118:11","nodes":[],"body":{"id":10229,"nodeType":"Block","src":"1683:46:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10225,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10217,"src":"1716:4:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":10223,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"1704:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1707:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15145,"src":"1704:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":10226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1704:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10222,"name":"red","nodeType":"Identifier","overloadedDeclarations":[10140,10155,10170,10185,10200],"referencedDeclaration":10140,"src":"1700:3:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1700:22:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10221,"id":10228,"nodeType":"Return","src":"1693:29:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"redBytes32","nameLocation":"1620:10:11","parameters":{"id":10218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10217,"mutability":"mutable","name":"self","nameLocation":"1639:4:11","nodeType":"VariableDeclaration","scope":10230,"src":"1631:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10216,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1631:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1630:14:11"},"returnParameters":{"id":10221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10220,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10230,"src":"1668:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10219,"name":"string","nodeType":"ElementaryTypeName","src":"1668:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1667:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10243,"nodeType":"FunctionDefinition","src":"1735:121:11","nodes":[],"body":{"id":10242,"nodeType":"Block","src":"1808:48:11","nodes":[],"statements":[{"expression":{"arguments":[{"id":10238,"name":"GREEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10077,"src":"1837:5:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10239,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10232,"src":"1844:4:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10237,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10127,"src":"1825:11:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":10240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1825:24:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10236,"id":10241,"nodeType":"Return","src":"1818:31:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"1744:5:11","parameters":{"id":10233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10232,"mutability":"mutable","name":"self","nameLocation":"1764:4:11","nodeType":"VariableDeclaration","scope":10243,"src":"1750:18:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10231,"name":"string","nodeType":"ElementaryTypeName","src":"1750:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1749:20:11"},"returnParameters":{"id":10236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10235,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10243,"src":"1793:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10234,"name":"string","nodeType":"ElementaryTypeName","src":"1793:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1792:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10258,"nodeType":"FunctionDefinition","src":"1862:115:11","nodes":[],"body":{"id":10257,"nodeType":"Block","src":"1929:48:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10253,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10245,"src":"1964:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10251,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"1952:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1955:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15161,"src":"1952:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":10254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1952:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10250,"name":"green","nodeType":"Identifier","overloadedDeclarations":[10243,10258,10273,10288,10303],"referencedDeclaration":10243,"src":"1946:5:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1946:24:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10249,"id":10256,"nodeType":"Return","src":"1939:31:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"1871:5:11","parameters":{"id":10246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10245,"mutability":"mutable","name":"self","nameLocation":"1885:4:11","nodeType":"VariableDeclaration","scope":10258,"src":"1877:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10244,"name":"uint256","nodeType":"ElementaryTypeName","src":"1877:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1876:14:11"},"returnParameters":{"id":10249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10248,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10258,"src":"1914:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10247,"name":"string","nodeType":"ElementaryTypeName","src":"1914:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1913:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10273,"nodeType":"FunctionDefinition","src":"1983:114:11","nodes":[],"body":{"id":10272,"nodeType":"Block","src":"2049:48:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10268,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10260,"src":"2084:4:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":10266,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"2072:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2075:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15169,"src":"2072:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":10269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2072:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10265,"name":"green","nodeType":"Identifier","overloadedDeclarations":[10243,10258,10273,10288,10303],"referencedDeclaration":10243,"src":"2066:5:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2066:24:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10264,"id":10271,"nodeType":"Return","src":"2059:31:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"1992:5:11","parameters":{"id":10261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10260,"mutability":"mutable","name":"self","nameLocation":"2005:4:11","nodeType":"VariableDeclaration","scope":10273,"src":"1998:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10259,"name":"int256","nodeType":"ElementaryTypeName","src":"1998:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1997:13:11"},"returnParameters":{"id":10264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10263,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10273,"src":"2034:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10262,"name":"string","nodeType":"ElementaryTypeName","src":"2034:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2033:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10288,"nodeType":"FunctionDefinition","src":"2103:115:11","nodes":[],"body":{"id":10287,"nodeType":"Block","src":"2170:48:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10283,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10275,"src":"2205:4:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10281,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"2193:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2196:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15129,"src":"2193:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":10284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2193:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10280,"name":"green","nodeType":"Identifier","overloadedDeclarations":[10243,10258,10273,10288,10303],"referencedDeclaration":10243,"src":"2187:5:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2187:24:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10279,"id":10286,"nodeType":"Return","src":"2180:31:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"2112:5:11","parameters":{"id":10276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10275,"mutability":"mutable","name":"self","nameLocation":"2126:4:11","nodeType":"VariableDeclaration","scope":10288,"src":"2118:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10274,"name":"address","nodeType":"ElementaryTypeName","src":"2118:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2117:14:11"},"returnParameters":{"id":10279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10278,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10288,"src":"2155:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10277,"name":"string","nodeType":"ElementaryTypeName","src":"2155:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2154:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10303,"nodeType":"FunctionDefinition","src":"2224:112:11","nodes":[],"body":{"id":10302,"nodeType":"Block","src":"2288:48:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10298,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10290,"src":"2323:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10296,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"2311:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2314:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15153,"src":"2311:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":10299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2311:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10295,"name":"green","nodeType":"Identifier","overloadedDeclarations":[10243,10258,10273,10288,10303],"referencedDeclaration":10243,"src":"2305:5:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2305:24:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10294,"id":10301,"nodeType":"Return","src":"2298:31:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"2233:5:11","parameters":{"id":10291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10290,"mutability":"mutable","name":"self","nameLocation":"2244:4:11","nodeType":"VariableDeclaration","scope":10303,"src":"2239:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10289,"name":"bool","nodeType":"ElementaryTypeName","src":"2239:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2238:11:11"},"returnParameters":{"id":10294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10293,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10303,"src":"2273:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10292,"name":"string","nodeType":"ElementaryTypeName","src":"2273:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2272:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10318,"nodeType":"FunctionDefinition","src":"2342:125:11","nodes":[],"body":{"id":10317,"nodeType":"Block","src":"2419:48:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10313,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10305,"src":"2454:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":10311,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"2442:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2445:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15137,"src":"2442:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":10314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2442:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10310,"name":"green","nodeType":"Identifier","overloadedDeclarations":[10243,10258,10273,10288,10303],"referencedDeclaration":10243,"src":"2436:5:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2436:24:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10309,"id":10316,"nodeType":"Return","src":"2429:31:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"greenBytes","nameLocation":"2351:10:11","parameters":{"id":10306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10305,"mutability":"mutable","name":"self","nameLocation":"2375:4:11","nodeType":"VariableDeclaration","scope":10318,"src":"2362:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10304,"name":"bytes","nodeType":"ElementaryTypeName","src":"2362:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2361:19:11"},"returnParameters":{"id":10309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10308,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10318,"src":"2404:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10307,"name":"string","nodeType":"ElementaryTypeName","src":"2404:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2403:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10333,"nodeType":"FunctionDefinition","src":"2473:122:11","nodes":[],"body":{"id":10332,"nodeType":"Block","src":"2547:48:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10328,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10320,"src":"2582:4:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":10326,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"2570:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2573:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15145,"src":"2570:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":10329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2570:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10325,"name":"green","nodeType":"Identifier","overloadedDeclarations":[10243,10258,10273,10288,10303],"referencedDeclaration":10243,"src":"2564:5:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2564:24:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10324,"id":10331,"nodeType":"Return","src":"2557:31:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"greenBytes32","nameLocation":"2482:12:11","parameters":{"id":10321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10320,"mutability":"mutable","name":"self","nameLocation":"2503:4:11","nodeType":"VariableDeclaration","scope":10333,"src":"2495:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10319,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2495:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2494:14:11"},"returnParameters":{"id":10324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10323,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10333,"src":"2532:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10322,"name":"string","nodeType":"ElementaryTypeName","src":"2532:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2531:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10346,"nodeType":"FunctionDefinition","src":"2601:123:11","nodes":[],"body":{"id":10345,"nodeType":"Block","src":"2675:49:11","nodes":[],"statements":[{"expression":{"arguments":[{"id":10341,"name":"YELLOW","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10080,"src":"2704:6:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10342,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10335,"src":"2712:4:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10340,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10127,"src":"2692:11:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":10343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2692:25:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10339,"id":10344,"nodeType":"Return","src":"2685:32:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"2610:6:11","parameters":{"id":10336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10335,"mutability":"mutable","name":"self","nameLocation":"2631:4:11","nodeType":"VariableDeclaration","scope":10346,"src":"2617:18:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10334,"name":"string","nodeType":"ElementaryTypeName","src":"2617:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2616:20:11"},"returnParameters":{"id":10339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10338,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10346,"src":"2660:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10337,"name":"string","nodeType":"ElementaryTypeName","src":"2660:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2659:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10361,"nodeType":"FunctionDefinition","src":"2730:117:11","nodes":[],"body":{"id":10360,"nodeType":"Block","src":"2798:49:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10356,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10348,"src":"2834:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10354,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"2822:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2825:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15161,"src":"2822:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":10357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2822:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10353,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[10346,10361,10376,10391,10406],"referencedDeclaration":10346,"src":"2815:6:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2815:25:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10352,"id":10359,"nodeType":"Return","src":"2808:32:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"2739:6:11","parameters":{"id":10349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10348,"mutability":"mutable","name":"self","nameLocation":"2754:4:11","nodeType":"VariableDeclaration","scope":10361,"src":"2746:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10347,"name":"uint256","nodeType":"ElementaryTypeName","src":"2746:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2745:14:11"},"returnParameters":{"id":10352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10351,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10361,"src":"2783:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10350,"name":"string","nodeType":"ElementaryTypeName","src":"2783:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2782:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10376,"nodeType":"FunctionDefinition","src":"2853:116:11","nodes":[],"body":{"id":10375,"nodeType":"Block","src":"2920:49:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10371,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10363,"src":"2956:4:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":10369,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"2944:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2947:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15169,"src":"2944:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":10372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2944:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10368,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[10346,10361,10376,10391,10406],"referencedDeclaration":10346,"src":"2937:6:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2937:25:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10367,"id":10374,"nodeType":"Return","src":"2930:32:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"2862:6:11","parameters":{"id":10364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10363,"mutability":"mutable","name":"self","nameLocation":"2876:4:11","nodeType":"VariableDeclaration","scope":10376,"src":"2869:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10362,"name":"int256","nodeType":"ElementaryTypeName","src":"2869:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2868:13:11"},"returnParameters":{"id":10367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10366,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10376,"src":"2905:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10365,"name":"string","nodeType":"ElementaryTypeName","src":"2905:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2904:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10391,"nodeType":"FunctionDefinition","src":"2975:117:11","nodes":[],"body":{"id":10390,"nodeType":"Block","src":"3043:49:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10386,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10378,"src":"3079:4:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10384,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"3067:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3070:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15129,"src":"3067:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":10387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3067:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10383,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[10346,10361,10376,10391,10406],"referencedDeclaration":10346,"src":"3060:6:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3060:25:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10382,"id":10389,"nodeType":"Return","src":"3053:32:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"2984:6:11","parameters":{"id":10379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10378,"mutability":"mutable","name":"self","nameLocation":"2999:4:11","nodeType":"VariableDeclaration","scope":10391,"src":"2991:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10377,"name":"address","nodeType":"ElementaryTypeName","src":"2991:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2990:14:11"},"returnParameters":{"id":10382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10381,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10391,"src":"3028:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10380,"name":"string","nodeType":"ElementaryTypeName","src":"3028:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3027:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10406,"nodeType":"FunctionDefinition","src":"3098:114:11","nodes":[],"body":{"id":10405,"nodeType":"Block","src":"3163:49:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10401,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10393,"src":"3199:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10399,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"3187:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3190:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15153,"src":"3187:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":10402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3187:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10398,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[10346,10361,10376,10391,10406],"referencedDeclaration":10346,"src":"3180:6:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3180:25:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10397,"id":10404,"nodeType":"Return","src":"3173:32:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"3107:6:11","parameters":{"id":10394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10393,"mutability":"mutable","name":"self","nameLocation":"3119:4:11","nodeType":"VariableDeclaration","scope":10406,"src":"3114:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10392,"name":"bool","nodeType":"ElementaryTypeName","src":"3114:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3113:11:11"},"returnParameters":{"id":10397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10396,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10406,"src":"3148:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10395,"name":"string","nodeType":"ElementaryTypeName","src":"3148:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3147:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10421,"nodeType":"FunctionDefinition","src":"3218:127:11","nodes":[],"body":{"id":10420,"nodeType":"Block","src":"3296:49:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10416,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10408,"src":"3332:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":10414,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"3320:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3323:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15137,"src":"3320:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":10417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3320:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10413,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[10346,10361,10376,10391,10406],"referencedDeclaration":10346,"src":"3313:6:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3313:25:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10412,"id":10419,"nodeType":"Return","src":"3306:32:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellowBytes","nameLocation":"3227:11:11","parameters":{"id":10409,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10408,"mutability":"mutable","name":"self","nameLocation":"3252:4:11","nodeType":"VariableDeclaration","scope":10421,"src":"3239:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10407,"name":"bytes","nodeType":"ElementaryTypeName","src":"3239:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3238:19:11"},"returnParameters":{"id":10412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10411,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10421,"src":"3281:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10410,"name":"string","nodeType":"ElementaryTypeName","src":"3281:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3280:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10436,"nodeType":"FunctionDefinition","src":"3351:124:11","nodes":[],"body":{"id":10435,"nodeType":"Block","src":"3426:49:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10431,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10423,"src":"3462:4:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":10429,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"3450:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3453:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15145,"src":"3450:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":10432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3450:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10428,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[10346,10361,10376,10391,10406],"referencedDeclaration":10346,"src":"3443:6:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3443:25:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10427,"id":10434,"nodeType":"Return","src":"3436:32:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellowBytes32","nameLocation":"3360:13:11","parameters":{"id":10424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10423,"mutability":"mutable","name":"self","nameLocation":"3382:4:11","nodeType":"VariableDeclaration","scope":10436,"src":"3374:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10422,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3374:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3373:14:11"},"returnParameters":{"id":10427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10426,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10436,"src":"3411:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10425,"name":"string","nodeType":"ElementaryTypeName","src":"3411:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3410:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10449,"nodeType":"FunctionDefinition","src":"3481:119:11","nodes":[],"body":{"id":10448,"nodeType":"Block","src":"3553:47:11","nodes":[],"statements":[{"expression":{"arguments":[{"id":10444,"name":"BLUE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10083,"src":"3582:4:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10445,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10438,"src":"3588:4:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10443,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10127,"src":"3570:11:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":10446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3570:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10442,"id":10447,"nodeType":"Return","src":"3563:30:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3490:4:11","parameters":{"id":10439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10438,"mutability":"mutable","name":"self","nameLocation":"3509:4:11","nodeType":"VariableDeclaration","scope":10449,"src":"3495:18:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10437,"name":"string","nodeType":"ElementaryTypeName","src":"3495:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3494:20:11"},"returnParameters":{"id":10442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10441,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10449,"src":"3538:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10440,"name":"string","nodeType":"ElementaryTypeName","src":"3538:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3537:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10464,"nodeType":"FunctionDefinition","src":"3606:113:11","nodes":[],"body":{"id":10463,"nodeType":"Block","src":"3672:47:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10459,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10451,"src":"3706:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10457,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"3694:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3697:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15161,"src":"3694:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":10460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3694:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10456,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[10449,10464,10479,10494,10509],"referencedDeclaration":10449,"src":"3689:4:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3689:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10455,"id":10462,"nodeType":"Return","src":"3682:30:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3615:4:11","parameters":{"id":10452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10451,"mutability":"mutable","name":"self","nameLocation":"3628:4:11","nodeType":"VariableDeclaration","scope":10464,"src":"3620:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10450,"name":"uint256","nodeType":"ElementaryTypeName","src":"3620:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3619:14:11"},"returnParameters":{"id":10455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10454,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10464,"src":"3657:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10453,"name":"string","nodeType":"ElementaryTypeName","src":"3657:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3656:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10479,"nodeType":"FunctionDefinition","src":"3725:112:11","nodes":[],"body":{"id":10478,"nodeType":"Block","src":"3790:47:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10474,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10466,"src":"3824:4:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":10472,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"3812:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3815:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15169,"src":"3812:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":10475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3812:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10471,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[10449,10464,10479,10494,10509],"referencedDeclaration":10449,"src":"3807:4:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3807:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10470,"id":10477,"nodeType":"Return","src":"3800:30:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3734:4:11","parameters":{"id":10467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10466,"mutability":"mutable","name":"self","nameLocation":"3746:4:11","nodeType":"VariableDeclaration","scope":10479,"src":"3739:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10465,"name":"int256","nodeType":"ElementaryTypeName","src":"3739:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3738:13:11"},"returnParameters":{"id":10470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10469,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10479,"src":"3775:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10468,"name":"string","nodeType":"ElementaryTypeName","src":"3775:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3774:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10494,"nodeType":"FunctionDefinition","src":"3843:113:11","nodes":[],"body":{"id":10493,"nodeType":"Block","src":"3909:47:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10489,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10481,"src":"3943:4:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10487,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"3931:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3934:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15129,"src":"3931:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":10490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3931:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10486,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[10449,10464,10479,10494,10509],"referencedDeclaration":10449,"src":"3926:4:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3926:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10485,"id":10492,"nodeType":"Return","src":"3919:30:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3852:4:11","parameters":{"id":10482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10481,"mutability":"mutable","name":"self","nameLocation":"3865:4:11","nodeType":"VariableDeclaration","scope":10494,"src":"3857:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10480,"name":"address","nodeType":"ElementaryTypeName","src":"3857:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3856:14:11"},"returnParameters":{"id":10485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10484,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10494,"src":"3894:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10483,"name":"string","nodeType":"ElementaryTypeName","src":"3894:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3893:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10509,"nodeType":"FunctionDefinition","src":"3962:110:11","nodes":[],"body":{"id":10508,"nodeType":"Block","src":"4025:47:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10504,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10496,"src":"4059:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10502,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"4047:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4050:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15153,"src":"4047:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":10505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4047:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10501,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[10449,10464,10479,10494,10509],"referencedDeclaration":10449,"src":"4042:4:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4042:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10500,"id":10507,"nodeType":"Return","src":"4035:30:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3971:4:11","parameters":{"id":10497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10496,"mutability":"mutable","name":"self","nameLocation":"3981:4:11","nodeType":"VariableDeclaration","scope":10509,"src":"3976:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10495,"name":"bool","nodeType":"ElementaryTypeName","src":"3976:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3975:11:11"},"returnParameters":{"id":10500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10499,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10509,"src":"4010:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10498,"name":"string","nodeType":"ElementaryTypeName","src":"4010:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4009:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10524,"nodeType":"FunctionDefinition","src":"4078:123:11","nodes":[],"body":{"id":10523,"nodeType":"Block","src":"4154:47:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10519,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10511,"src":"4188:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":10517,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"4176:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4179:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15137,"src":"4176:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":10520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4176:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10516,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[10449,10464,10479,10494,10509],"referencedDeclaration":10449,"src":"4171:4:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4171:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10515,"id":10522,"nodeType":"Return","src":"4164:30:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blueBytes","nameLocation":"4087:9:11","parameters":{"id":10512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10511,"mutability":"mutable","name":"self","nameLocation":"4110:4:11","nodeType":"VariableDeclaration","scope":10524,"src":"4097:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10510,"name":"bytes","nodeType":"ElementaryTypeName","src":"4097:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4096:19:11"},"returnParameters":{"id":10515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10514,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10524,"src":"4139:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10513,"name":"string","nodeType":"ElementaryTypeName","src":"4139:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4138:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10539,"nodeType":"FunctionDefinition","src":"4207:120:11","nodes":[],"body":{"id":10538,"nodeType":"Block","src":"4280:47:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10534,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10526,"src":"4314:4:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":10532,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"4302:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4305:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15145,"src":"4302:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":10535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4302:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10531,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[10449,10464,10479,10494,10509],"referencedDeclaration":10449,"src":"4297:4:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4297:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10530,"id":10537,"nodeType":"Return","src":"4290:30:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blueBytes32","nameLocation":"4216:11:11","parameters":{"id":10527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10526,"mutability":"mutable","name":"self","nameLocation":"4236:4:11","nodeType":"VariableDeclaration","scope":10539,"src":"4228:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10525,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4228:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4227:14:11"},"returnParameters":{"id":10530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10529,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10539,"src":"4265:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10528,"name":"string","nodeType":"ElementaryTypeName","src":"4265:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4264:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10552,"nodeType":"FunctionDefinition","src":"4333:125:11","nodes":[],"body":{"id":10551,"nodeType":"Block","src":"4408:50:11","nodes":[],"statements":[{"expression":{"arguments":[{"id":10547,"name":"MAGENTA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10086,"src":"4437:7:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10548,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10541,"src":"4446:4:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10546,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10127,"src":"4425:11:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":10549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4425:26:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10545,"id":10550,"nodeType":"Return","src":"4418:33:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4342:7:11","parameters":{"id":10542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10541,"mutability":"mutable","name":"self","nameLocation":"4364:4:11","nodeType":"VariableDeclaration","scope":10552,"src":"4350:18:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10540,"name":"string","nodeType":"ElementaryTypeName","src":"4350:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4349:20:11"},"returnParameters":{"id":10545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10544,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10552,"src":"4393:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10543,"name":"string","nodeType":"ElementaryTypeName","src":"4393:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4392:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10567,"nodeType":"FunctionDefinition","src":"4464:119:11","nodes":[],"body":{"id":10566,"nodeType":"Block","src":"4533:50:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10562,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10554,"src":"4570:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10560,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"4558:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4561:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15161,"src":"4558:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":10563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4558:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10559,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[10552,10567,10582,10597,10612],"referencedDeclaration":10552,"src":"4550:7:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4550:26:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10558,"id":10565,"nodeType":"Return","src":"4543:33:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4473:7:11","parameters":{"id":10555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10554,"mutability":"mutable","name":"self","nameLocation":"4489:4:11","nodeType":"VariableDeclaration","scope":10567,"src":"4481:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10553,"name":"uint256","nodeType":"ElementaryTypeName","src":"4481:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4480:14:11"},"returnParameters":{"id":10558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10557,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10567,"src":"4518:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10556,"name":"string","nodeType":"ElementaryTypeName","src":"4518:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4517:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10582,"nodeType":"FunctionDefinition","src":"4589:118:11","nodes":[],"body":{"id":10581,"nodeType":"Block","src":"4657:50:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10577,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10569,"src":"4694:4:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":10575,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"4682:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4685:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15169,"src":"4682:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":10578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4682:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10574,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[10552,10567,10582,10597,10612],"referencedDeclaration":10552,"src":"4674:7:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4674:26:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10573,"id":10580,"nodeType":"Return","src":"4667:33:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4598:7:11","parameters":{"id":10570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10569,"mutability":"mutable","name":"self","nameLocation":"4613:4:11","nodeType":"VariableDeclaration","scope":10582,"src":"4606:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10568,"name":"int256","nodeType":"ElementaryTypeName","src":"4606:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4605:13:11"},"returnParameters":{"id":10573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10572,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10582,"src":"4642:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10571,"name":"string","nodeType":"ElementaryTypeName","src":"4642:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4641:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10597,"nodeType":"FunctionDefinition","src":"4713:119:11","nodes":[],"body":{"id":10596,"nodeType":"Block","src":"4782:50:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10592,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10584,"src":"4819:4:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10590,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"4807:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4810:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15129,"src":"4807:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":10593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4807:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10589,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[10552,10567,10582,10597,10612],"referencedDeclaration":10552,"src":"4799:7:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4799:26:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10588,"id":10595,"nodeType":"Return","src":"4792:33:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4722:7:11","parameters":{"id":10585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10584,"mutability":"mutable","name":"self","nameLocation":"4738:4:11","nodeType":"VariableDeclaration","scope":10597,"src":"4730:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10583,"name":"address","nodeType":"ElementaryTypeName","src":"4730:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4729:14:11"},"returnParameters":{"id":10588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10587,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10597,"src":"4767:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10586,"name":"string","nodeType":"ElementaryTypeName","src":"4767:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4766:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10612,"nodeType":"FunctionDefinition","src":"4838:116:11","nodes":[],"body":{"id":10611,"nodeType":"Block","src":"4904:50:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10607,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10599,"src":"4941:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10605,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"4929:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4932:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15153,"src":"4929:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":10608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4929:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10604,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[10552,10567,10582,10597,10612],"referencedDeclaration":10552,"src":"4921:7:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4921:26:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10603,"id":10610,"nodeType":"Return","src":"4914:33:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4847:7:11","parameters":{"id":10600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10599,"mutability":"mutable","name":"self","nameLocation":"4860:4:11","nodeType":"VariableDeclaration","scope":10612,"src":"4855:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10598,"name":"bool","nodeType":"ElementaryTypeName","src":"4855:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4854:11:11"},"returnParameters":{"id":10603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10602,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10612,"src":"4889:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10601,"name":"string","nodeType":"ElementaryTypeName","src":"4889:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4888:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10627,"nodeType":"FunctionDefinition","src":"4960:129:11","nodes":[],"body":{"id":10626,"nodeType":"Block","src":"5039:50:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10622,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10614,"src":"5076:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":10620,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"5064:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5067:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15137,"src":"5064:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":10623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5064:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10619,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[10552,10567,10582,10597,10612],"referencedDeclaration":10552,"src":"5056:7:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5056:26:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10618,"id":10625,"nodeType":"Return","src":"5049:33:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magentaBytes","nameLocation":"4969:12:11","parameters":{"id":10615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10614,"mutability":"mutable","name":"self","nameLocation":"4995:4:11","nodeType":"VariableDeclaration","scope":10627,"src":"4982:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10613,"name":"bytes","nodeType":"ElementaryTypeName","src":"4982:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4981:19:11"},"returnParameters":{"id":10618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10617,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10627,"src":"5024:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10616,"name":"string","nodeType":"ElementaryTypeName","src":"5024:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5023:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10642,"nodeType":"FunctionDefinition","src":"5095:126:11","nodes":[],"body":{"id":10641,"nodeType":"Block","src":"5171:50:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10637,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10629,"src":"5208:4:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":10635,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"5196:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5199:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15145,"src":"5196:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":10638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5196:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10634,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[10552,10567,10582,10597,10612],"referencedDeclaration":10552,"src":"5188:7:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5188:26:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10633,"id":10640,"nodeType":"Return","src":"5181:33:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magentaBytes32","nameLocation":"5104:14:11","parameters":{"id":10630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10629,"mutability":"mutable","name":"self","nameLocation":"5127:4:11","nodeType":"VariableDeclaration","scope":10642,"src":"5119:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10628,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5119:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5118:14:11"},"returnParameters":{"id":10633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10632,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10642,"src":"5156:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10631,"name":"string","nodeType":"ElementaryTypeName","src":"5156:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5155:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10655,"nodeType":"FunctionDefinition","src":"5227:119:11","nodes":[],"body":{"id":10654,"nodeType":"Block","src":"5299:47:11","nodes":[],"statements":[{"expression":{"arguments":[{"id":10650,"name":"CYAN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10089,"src":"5328:4:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10651,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10644,"src":"5334:4:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10649,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10127,"src":"5316:11:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":10652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5316:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10648,"id":10653,"nodeType":"Return","src":"5309:30:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5236:4:11","parameters":{"id":10645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10644,"mutability":"mutable","name":"self","nameLocation":"5255:4:11","nodeType":"VariableDeclaration","scope":10655,"src":"5241:18:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10643,"name":"string","nodeType":"ElementaryTypeName","src":"5241:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5240:20:11"},"returnParameters":{"id":10648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10647,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10655,"src":"5284:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10646,"name":"string","nodeType":"ElementaryTypeName","src":"5284:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5283:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10670,"nodeType":"FunctionDefinition","src":"5352:113:11","nodes":[],"body":{"id":10669,"nodeType":"Block","src":"5418:47:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10665,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10657,"src":"5452:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10663,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"5440:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5443:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15161,"src":"5440:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":10666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5440:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10662,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[10655,10670,10685,10700,10715],"referencedDeclaration":10655,"src":"5435:4:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5435:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10661,"id":10668,"nodeType":"Return","src":"5428:30:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5361:4:11","parameters":{"id":10658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10657,"mutability":"mutable","name":"self","nameLocation":"5374:4:11","nodeType":"VariableDeclaration","scope":10670,"src":"5366:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10656,"name":"uint256","nodeType":"ElementaryTypeName","src":"5366:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5365:14:11"},"returnParameters":{"id":10661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10660,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10670,"src":"5403:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10659,"name":"string","nodeType":"ElementaryTypeName","src":"5403:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5402:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10685,"nodeType":"FunctionDefinition","src":"5471:112:11","nodes":[],"body":{"id":10684,"nodeType":"Block","src":"5536:47:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10680,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10672,"src":"5570:4:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":10678,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"5558:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5561:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15169,"src":"5558:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":10681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5558:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10677,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[10655,10670,10685,10700,10715],"referencedDeclaration":10655,"src":"5553:4:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5553:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10676,"id":10683,"nodeType":"Return","src":"5546:30:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5480:4:11","parameters":{"id":10673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10672,"mutability":"mutable","name":"self","nameLocation":"5492:4:11","nodeType":"VariableDeclaration","scope":10685,"src":"5485:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10671,"name":"int256","nodeType":"ElementaryTypeName","src":"5485:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"5484:13:11"},"returnParameters":{"id":10676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10675,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10685,"src":"5521:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10674,"name":"string","nodeType":"ElementaryTypeName","src":"5521:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5520:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10700,"nodeType":"FunctionDefinition","src":"5589:113:11","nodes":[],"body":{"id":10699,"nodeType":"Block","src":"5655:47:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10695,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10687,"src":"5689:4:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10693,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"5677:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5680:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15129,"src":"5677:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":10696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5677:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10692,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[10655,10670,10685,10700,10715],"referencedDeclaration":10655,"src":"5672:4:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5672:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10691,"id":10698,"nodeType":"Return","src":"5665:30:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5598:4:11","parameters":{"id":10688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10687,"mutability":"mutable","name":"self","nameLocation":"5611:4:11","nodeType":"VariableDeclaration","scope":10700,"src":"5603:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10686,"name":"address","nodeType":"ElementaryTypeName","src":"5603:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5602:14:11"},"returnParameters":{"id":10691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10690,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10700,"src":"5640:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10689,"name":"string","nodeType":"ElementaryTypeName","src":"5640:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5639:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10715,"nodeType":"FunctionDefinition","src":"5708:110:11","nodes":[],"body":{"id":10714,"nodeType":"Block","src":"5771:47:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10710,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10702,"src":"5805:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10708,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"5793:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5796:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15153,"src":"5793:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":10711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5793:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10707,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[10655,10670,10685,10700,10715],"referencedDeclaration":10655,"src":"5788:4:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5788:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10706,"id":10713,"nodeType":"Return","src":"5781:30:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5717:4:11","parameters":{"id":10703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10702,"mutability":"mutable","name":"self","nameLocation":"5727:4:11","nodeType":"VariableDeclaration","scope":10715,"src":"5722:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10701,"name":"bool","nodeType":"ElementaryTypeName","src":"5722:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5721:11:11"},"returnParameters":{"id":10706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10705,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10715,"src":"5756:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10704,"name":"string","nodeType":"ElementaryTypeName","src":"5756:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5755:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10730,"nodeType":"FunctionDefinition","src":"5824:123:11","nodes":[],"body":{"id":10729,"nodeType":"Block","src":"5900:47:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10725,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10717,"src":"5934:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":10723,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"5922:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5925:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15137,"src":"5922:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":10726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5922:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10722,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[10655,10670,10685,10700,10715],"referencedDeclaration":10655,"src":"5917:4:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5917:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10721,"id":10728,"nodeType":"Return","src":"5910:30:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyanBytes","nameLocation":"5833:9:11","parameters":{"id":10718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10717,"mutability":"mutable","name":"self","nameLocation":"5856:4:11","nodeType":"VariableDeclaration","scope":10730,"src":"5843:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10716,"name":"bytes","nodeType":"ElementaryTypeName","src":"5843:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5842:19:11"},"returnParameters":{"id":10721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10720,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10730,"src":"5885:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10719,"name":"string","nodeType":"ElementaryTypeName","src":"5885:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5884:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10745,"nodeType":"FunctionDefinition","src":"5953:120:11","nodes":[],"body":{"id":10744,"nodeType":"Block","src":"6026:47:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10740,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10732,"src":"6060:4:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":10738,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"6048:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6051:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15145,"src":"6048:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":10741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6048:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10737,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[10655,10670,10685,10700,10715],"referencedDeclaration":10655,"src":"6043:4:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6043:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10736,"id":10743,"nodeType":"Return","src":"6036:30:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyanBytes32","nameLocation":"5962:11:11","parameters":{"id":10733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10732,"mutability":"mutable","name":"self","nameLocation":"5982:4:11","nodeType":"VariableDeclaration","scope":10745,"src":"5974:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10731,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5974:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5973:14:11"},"returnParameters":{"id":10736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10735,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10745,"src":"6011:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10734,"name":"string","nodeType":"ElementaryTypeName","src":"6011:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6010:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10758,"nodeType":"FunctionDefinition","src":"6079:119:11","nodes":[],"body":{"id":10757,"nodeType":"Block","src":"6151:47:11","nodes":[],"statements":[{"expression":{"arguments":[{"id":10753,"name":"BOLD","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10092,"src":"6180:4:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10754,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10747,"src":"6186:4:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10752,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10127,"src":"6168:11:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":10755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6168:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10751,"id":10756,"nodeType":"Return","src":"6161:30:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6088:4:11","parameters":{"id":10748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10747,"mutability":"mutable","name":"self","nameLocation":"6107:4:11","nodeType":"VariableDeclaration","scope":10758,"src":"6093:18:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10746,"name":"string","nodeType":"ElementaryTypeName","src":"6093:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6092:20:11"},"returnParameters":{"id":10751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10750,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10758,"src":"6136:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10749,"name":"string","nodeType":"ElementaryTypeName","src":"6136:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6135:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10773,"nodeType":"FunctionDefinition","src":"6204:113:11","nodes":[],"body":{"id":10772,"nodeType":"Block","src":"6270:47:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10768,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10760,"src":"6304:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10766,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"6292:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6295:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15161,"src":"6292:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":10769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6292:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10765,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[10758,10773,10788,10803,10818],"referencedDeclaration":10758,"src":"6287:4:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6287:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10764,"id":10771,"nodeType":"Return","src":"6280:30:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6213:4:11","parameters":{"id":10761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10760,"mutability":"mutable","name":"self","nameLocation":"6226:4:11","nodeType":"VariableDeclaration","scope":10773,"src":"6218:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10759,"name":"uint256","nodeType":"ElementaryTypeName","src":"6218:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6217:14:11"},"returnParameters":{"id":10764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10763,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10773,"src":"6255:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10762,"name":"string","nodeType":"ElementaryTypeName","src":"6255:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6254:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10788,"nodeType":"FunctionDefinition","src":"6323:112:11","nodes":[],"body":{"id":10787,"nodeType":"Block","src":"6388:47:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10783,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10775,"src":"6422:4:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":10781,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"6410:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6413:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15169,"src":"6410:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":10784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6410:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10780,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[10758,10773,10788,10803,10818],"referencedDeclaration":10758,"src":"6405:4:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6405:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10779,"id":10786,"nodeType":"Return","src":"6398:30:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6332:4:11","parameters":{"id":10776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10775,"mutability":"mutable","name":"self","nameLocation":"6344:4:11","nodeType":"VariableDeclaration","scope":10788,"src":"6337:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10774,"name":"int256","nodeType":"ElementaryTypeName","src":"6337:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"6336:13:11"},"returnParameters":{"id":10779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10778,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10788,"src":"6373:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10777,"name":"string","nodeType":"ElementaryTypeName","src":"6373:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6372:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10803,"nodeType":"FunctionDefinition","src":"6441:113:11","nodes":[],"body":{"id":10802,"nodeType":"Block","src":"6507:47:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10798,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10790,"src":"6541:4:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10796,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"6529:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6532:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15129,"src":"6529:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":10799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6529:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10795,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[10758,10773,10788,10803,10818],"referencedDeclaration":10758,"src":"6524:4:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6524:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10794,"id":10801,"nodeType":"Return","src":"6517:30:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6450:4:11","parameters":{"id":10791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10790,"mutability":"mutable","name":"self","nameLocation":"6463:4:11","nodeType":"VariableDeclaration","scope":10803,"src":"6455:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10789,"name":"address","nodeType":"ElementaryTypeName","src":"6455:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6454:14:11"},"returnParameters":{"id":10794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10793,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10803,"src":"6492:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10792,"name":"string","nodeType":"ElementaryTypeName","src":"6492:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6491:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10818,"nodeType":"FunctionDefinition","src":"6560:110:11","nodes":[],"body":{"id":10817,"nodeType":"Block","src":"6623:47:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10813,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10805,"src":"6657:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10811,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"6645:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6648:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15153,"src":"6645:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":10814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6645:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10810,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[10758,10773,10788,10803,10818],"referencedDeclaration":10758,"src":"6640:4:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6640:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10809,"id":10816,"nodeType":"Return","src":"6633:30:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6569:4:11","parameters":{"id":10806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10805,"mutability":"mutable","name":"self","nameLocation":"6579:4:11","nodeType":"VariableDeclaration","scope":10818,"src":"6574:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10804,"name":"bool","nodeType":"ElementaryTypeName","src":"6574:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6573:11:11"},"returnParameters":{"id":10809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10808,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10818,"src":"6608:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10807,"name":"string","nodeType":"ElementaryTypeName","src":"6608:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6607:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10833,"nodeType":"FunctionDefinition","src":"6676:123:11","nodes":[],"body":{"id":10832,"nodeType":"Block","src":"6752:47:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10828,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10820,"src":"6786:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":10826,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"6774:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6777:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15137,"src":"6774:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":10829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6774:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10825,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[10758,10773,10788,10803,10818],"referencedDeclaration":10758,"src":"6769:4:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6769:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10824,"id":10831,"nodeType":"Return","src":"6762:30:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"boldBytes","nameLocation":"6685:9:11","parameters":{"id":10821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10820,"mutability":"mutable","name":"self","nameLocation":"6708:4:11","nodeType":"VariableDeclaration","scope":10833,"src":"6695:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10819,"name":"bytes","nodeType":"ElementaryTypeName","src":"6695:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6694:19:11"},"returnParameters":{"id":10824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10823,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10833,"src":"6737:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10822,"name":"string","nodeType":"ElementaryTypeName","src":"6737:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6736:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10848,"nodeType":"FunctionDefinition","src":"6805:120:11","nodes":[],"body":{"id":10847,"nodeType":"Block","src":"6878:47:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10843,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10835,"src":"6912:4:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":10841,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"6900:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6903:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15145,"src":"6900:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":10844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6900:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10840,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[10758,10773,10788,10803,10818],"referencedDeclaration":10758,"src":"6895:4:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6895:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10839,"id":10846,"nodeType":"Return","src":"6888:30:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"boldBytes32","nameLocation":"6814:11:11","parameters":{"id":10836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10835,"mutability":"mutable","name":"self","nameLocation":"6834:4:11","nodeType":"VariableDeclaration","scope":10848,"src":"6826:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10834,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6826:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6825:14:11"},"returnParameters":{"id":10839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10838,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10848,"src":"6863:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10837,"name":"string","nodeType":"ElementaryTypeName","src":"6863:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6862:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10861,"nodeType":"FunctionDefinition","src":"6931:117:11","nodes":[],"body":{"id":10860,"nodeType":"Block","src":"7002:46:11","nodes":[],"statements":[{"expression":{"arguments":[{"id":10856,"name":"DIM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10095,"src":"7031:3:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10857,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10850,"src":"7036:4:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10855,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10127,"src":"7019:11:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":10858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7019:22:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10854,"id":10859,"nodeType":"Return","src":"7012:29:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"6940:3:11","parameters":{"id":10851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10850,"mutability":"mutable","name":"self","nameLocation":"6958:4:11","nodeType":"VariableDeclaration","scope":10861,"src":"6944:18:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10849,"name":"string","nodeType":"ElementaryTypeName","src":"6944:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6943:20:11"},"returnParameters":{"id":10854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10853,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10861,"src":"6987:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10852,"name":"string","nodeType":"ElementaryTypeName","src":"6987:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6986:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10876,"nodeType":"FunctionDefinition","src":"7054:111:11","nodes":[],"body":{"id":10875,"nodeType":"Block","src":"7119:46:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10871,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10863,"src":"7152:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10869,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"7140:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7143:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15161,"src":"7140:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":10872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7140:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10868,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[10861,10876,10891,10906,10921],"referencedDeclaration":10861,"src":"7136:3:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7136:22:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10867,"id":10874,"nodeType":"Return","src":"7129:29:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"7063:3:11","parameters":{"id":10864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10863,"mutability":"mutable","name":"self","nameLocation":"7075:4:11","nodeType":"VariableDeclaration","scope":10876,"src":"7067:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10862,"name":"uint256","nodeType":"ElementaryTypeName","src":"7067:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7066:14:11"},"returnParameters":{"id":10867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10866,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10876,"src":"7104:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10865,"name":"string","nodeType":"ElementaryTypeName","src":"7104:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7103:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10891,"nodeType":"FunctionDefinition","src":"7171:110:11","nodes":[],"body":{"id":10890,"nodeType":"Block","src":"7235:46:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10886,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10878,"src":"7268:4:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":10884,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"7256:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7259:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15169,"src":"7256:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":10887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7256:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10883,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[10861,10876,10891,10906,10921],"referencedDeclaration":10861,"src":"7252:3:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7252:22:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10882,"id":10889,"nodeType":"Return","src":"7245:29:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"7180:3:11","parameters":{"id":10879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10878,"mutability":"mutable","name":"self","nameLocation":"7191:4:11","nodeType":"VariableDeclaration","scope":10891,"src":"7184:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10877,"name":"int256","nodeType":"ElementaryTypeName","src":"7184:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7183:13:11"},"returnParameters":{"id":10882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10881,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10891,"src":"7220:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10880,"name":"string","nodeType":"ElementaryTypeName","src":"7220:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7219:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10906,"nodeType":"FunctionDefinition","src":"7287:111:11","nodes":[],"body":{"id":10905,"nodeType":"Block","src":"7352:46:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10901,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10893,"src":"7385:4:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10899,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"7373:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7376:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15129,"src":"7373:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":10902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7373:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10898,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[10861,10876,10891,10906,10921],"referencedDeclaration":10861,"src":"7369:3:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7369:22:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10897,"id":10904,"nodeType":"Return","src":"7362:29:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"7296:3:11","parameters":{"id":10894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10893,"mutability":"mutable","name":"self","nameLocation":"7308:4:11","nodeType":"VariableDeclaration","scope":10906,"src":"7300:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10892,"name":"address","nodeType":"ElementaryTypeName","src":"7300:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7299:14:11"},"returnParameters":{"id":10897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10896,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10906,"src":"7337:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10895,"name":"string","nodeType":"ElementaryTypeName","src":"7337:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7336:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10921,"nodeType":"FunctionDefinition","src":"7404:108:11","nodes":[],"body":{"id":10920,"nodeType":"Block","src":"7466:46:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10916,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10908,"src":"7499:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10914,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"7487:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7490:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15153,"src":"7487:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":10917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7487:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10913,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[10861,10876,10891,10906,10921],"referencedDeclaration":10861,"src":"7483:3:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7483:22:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10912,"id":10919,"nodeType":"Return","src":"7476:29:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"7413:3:11","parameters":{"id":10909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10908,"mutability":"mutable","name":"self","nameLocation":"7422:4:11","nodeType":"VariableDeclaration","scope":10921,"src":"7417:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10907,"name":"bool","nodeType":"ElementaryTypeName","src":"7417:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7416:11:11"},"returnParameters":{"id":10912,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10911,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10921,"src":"7451:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10910,"name":"string","nodeType":"ElementaryTypeName","src":"7451:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7450:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10936,"nodeType":"FunctionDefinition","src":"7518:121:11","nodes":[],"body":{"id":10935,"nodeType":"Block","src":"7593:46:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10931,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10923,"src":"7626:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":10929,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"7614:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7617:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15137,"src":"7614:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":10932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7614:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10928,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[10861,10876,10891,10906,10921],"referencedDeclaration":10861,"src":"7610:3:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7610:22:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10927,"id":10934,"nodeType":"Return","src":"7603:29:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dimBytes","nameLocation":"7527:8:11","parameters":{"id":10924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10923,"mutability":"mutable","name":"self","nameLocation":"7549:4:11","nodeType":"VariableDeclaration","scope":10936,"src":"7536:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10922,"name":"bytes","nodeType":"ElementaryTypeName","src":"7536:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7535:19:11"},"returnParameters":{"id":10927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10926,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10936,"src":"7578:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10925,"name":"string","nodeType":"ElementaryTypeName","src":"7578:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7577:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10951,"nodeType":"FunctionDefinition","src":"7645:118:11","nodes":[],"body":{"id":10950,"nodeType":"Block","src":"7717:46:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10946,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10938,"src":"7750:4:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":10944,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"7738:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7741:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15145,"src":"7738:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":10947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7738:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10943,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[10861,10876,10891,10906,10921],"referencedDeclaration":10861,"src":"7734:3:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7734:22:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10942,"id":10949,"nodeType":"Return","src":"7727:29:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dimBytes32","nameLocation":"7654:10:11","parameters":{"id":10939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10938,"mutability":"mutable","name":"self","nameLocation":"7673:4:11","nodeType":"VariableDeclaration","scope":10951,"src":"7665:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10937,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7665:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7664:14:11"},"returnParameters":{"id":10942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10941,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10951,"src":"7702:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10940,"name":"string","nodeType":"ElementaryTypeName","src":"7702:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7701:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10964,"nodeType":"FunctionDefinition","src":"7769:123:11","nodes":[],"body":{"id":10963,"nodeType":"Block","src":"7843:49:11","nodes":[],"statements":[{"expression":{"arguments":[{"id":10959,"name":"ITALIC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10098,"src":"7872:6:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10960,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10953,"src":"7880:4:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10958,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10127,"src":"7860:11:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":10961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7860:25:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10957,"id":10962,"nodeType":"Return","src":"7853:32:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"7778:6:11","parameters":{"id":10954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10953,"mutability":"mutable","name":"self","nameLocation":"7799:4:11","nodeType":"VariableDeclaration","scope":10964,"src":"7785:18:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10952,"name":"string","nodeType":"ElementaryTypeName","src":"7785:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7784:20:11"},"returnParameters":{"id":10957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10956,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10964,"src":"7828:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10955,"name":"string","nodeType":"ElementaryTypeName","src":"7828:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7827:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10979,"nodeType":"FunctionDefinition","src":"7898:117:11","nodes":[],"body":{"id":10978,"nodeType":"Block","src":"7966:49:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10974,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10966,"src":"8002:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10972,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"7990:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7993:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15161,"src":"7990:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":10975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7990:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10971,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[10964,10979,10994,11009,11024],"referencedDeclaration":10964,"src":"7983:6:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7983:25:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10970,"id":10977,"nodeType":"Return","src":"7976:32:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"7907:6:11","parameters":{"id":10967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10966,"mutability":"mutable","name":"self","nameLocation":"7922:4:11","nodeType":"VariableDeclaration","scope":10979,"src":"7914:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10965,"name":"uint256","nodeType":"ElementaryTypeName","src":"7914:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7913:14:11"},"returnParameters":{"id":10970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10969,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10979,"src":"7951:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10968,"name":"string","nodeType":"ElementaryTypeName","src":"7951:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7950:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10994,"nodeType":"FunctionDefinition","src":"8021:116:11","nodes":[],"body":{"id":10993,"nodeType":"Block","src":"8088:49:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10989,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10981,"src":"8124:4:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":10987,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"8112:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":10988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8115:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15169,"src":"8112:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":10990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8112:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10986,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[10964,10979,10994,11009,11024],"referencedDeclaration":10964,"src":"8105:6:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8105:25:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10985,"id":10992,"nodeType":"Return","src":"8098:32:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"8030:6:11","parameters":{"id":10982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10981,"mutability":"mutable","name":"self","nameLocation":"8044:4:11","nodeType":"VariableDeclaration","scope":10994,"src":"8037:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10980,"name":"int256","nodeType":"ElementaryTypeName","src":"8037:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"8036:13:11"},"returnParameters":{"id":10985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10984,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10994,"src":"8073:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10983,"name":"string","nodeType":"ElementaryTypeName","src":"8073:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8072:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11009,"nodeType":"FunctionDefinition","src":"8143:117:11","nodes":[],"body":{"id":11008,"nodeType":"Block","src":"8211:49:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11004,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10996,"src":"8247:4:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11002,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"8235:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8238:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15129,"src":"8235:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":11005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8235:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11001,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[10964,10979,10994,11009,11024],"referencedDeclaration":10964,"src":"8228:6:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8228:25:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11000,"id":11007,"nodeType":"Return","src":"8221:32:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"8152:6:11","parameters":{"id":10997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10996,"mutability":"mutable","name":"self","nameLocation":"8167:4:11","nodeType":"VariableDeclaration","scope":11009,"src":"8159:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10995,"name":"address","nodeType":"ElementaryTypeName","src":"8159:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8158:14:11"},"returnParameters":{"id":11000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10999,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11009,"src":"8196:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10998,"name":"string","nodeType":"ElementaryTypeName","src":"8196:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8195:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11024,"nodeType":"FunctionDefinition","src":"8266:114:11","nodes":[],"body":{"id":11023,"nodeType":"Block","src":"8331:49:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11019,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11011,"src":"8367:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11017,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"8355:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8358:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15153,"src":"8355:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":11020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8355:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11016,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[10964,10979,10994,11009,11024],"referencedDeclaration":10964,"src":"8348:6:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8348:25:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11015,"id":11022,"nodeType":"Return","src":"8341:32:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"8275:6:11","parameters":{"id":11012,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11011,"mutability":"mutable","name":"self","nameLocation":"8287:4:11","nodeType":"VariableDeclaration","scope":11024,"src":"8282:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11010,"name":"bool","nodeType":"ElementaryTypeName","src":"8282:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8281:11:11"},"returnParameters":{"id":11015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11014,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11024,"src":"8316:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11013,"name":"string","nodeType":"ElementaryTypeName","src":"8316:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8315:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11039,"nodeType":"FunctionDefinition","src":"8386:127:11","nodes":[],"body":{"id":11038,"nodeType":"Block","src":"8464:49:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11034,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11026,"src":"8500:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11032,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"8488:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8491:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15137,"src":"8488:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":11035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8488:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11031,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[10964,10979,10994,11009,11024],"referencedDeclaration":10964,"src":"8481:6:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8481:25:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11030,"id":11037,"nodeType":"Return","src":"8474:32:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italicBytes","nameLocation":"8395:11:11","parameters":{"id":11027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11026,"mutability":"mutable","name":"self","nameLocation":"8420:4:11","nodeType":"VariableDeclaration","scope":11039,"src":"8407:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11025,"name":"bytes","nodeType":"ElementaryTypeName","src":"8407:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8406:19:11"},"returnParameters":{"id":11030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11029,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11039,"src":"8449:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11028,"name":"string","nodeType":"ElementaryTypeName","src":"8449:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8448:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11054,"nodeType":"FunctionDefinition","src":"8519:124:11","nodes":[],"body":{"id":11053,"nodeType":"Block","src":"8594:49:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11049,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11041,"src":"8630:4:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":11047,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"8618:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8621:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15145,"src":"8618:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":11050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8618:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11046,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[10964,10979,10994,11009,11024],"referencedDeclaration":10964,"src":"8611:6:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8611:25:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11045,"id":11052,"nodeType":"Return","src":"8604:32:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italicBytes32","nameLocation":"8528:13:11","parameters":{"id":11042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11041,"mutability":"mutable","name":"self","nameLocation":"8550:4:11","nodeType":"VariableDeclaration","scope":11054,"src":"8542:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11040,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8542:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8541:14:11"},"returnParameters":{"id":11045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11044,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11054,"src":"8579:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11043,"name":"string","nodeType":"ElementaryTypeName","src":"8579:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8578:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11067,"nodeType":"FunctionDefinition","src":"8649:129:11","nodes":[],"body":{"id":11066,"nodeType":"Block","src":"8726:52:11","nodes":[],"statements":[{"expression":{"arguments":[{"id":11062,"name":"UNDERLINE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10101,"src":"8755:9:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11063,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11056,"src":"8766:4:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11061,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10127,"src":"8743:11:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":11064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8743:28:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11060,"id":11065,"nodeType":"Return","src":"8736:35:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"8658:9:11","parameters":{"id":11057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11056,"mutability":"mutable","name":"self","nameLocation":"8682:4:11","nodeType":"VariableDeclaration","scope":11067,"src":"8668:18:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11055,"name":"string","nodeType":"ElementaryTypeName","src":"8668:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8667:20:11"},"returnParameters":{"id":11060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11059,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11067,"src":"8711:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11058,"name":"string","nodeType":"ElementaryTypeName","src":"8711:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8710:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11082,"nodeType":"FunctionDefinition","src":"8784:123:11","nodes":[],"body":{"id":11081,"nodeType":"Block","src":"8855:52:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11077,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11069,"src":"8894:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11075,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"8882:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8885:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15161,"src":"8882:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":11078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8882:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11074,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[11067,11082,11097,11112,11127],"referencedDeclaration":11067,"src":"8872:9:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8872:28:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11073,"id":11080,"nodeType":"Return","src":"8865:35:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"8793:9:11","parameters":{"id":11070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11069,"mutability":"mutable","name":"self","nameLocation":"8811:4:11","nodeType":"VariableDeclaration","scope":11082,"src":"8803:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11068,"name":"uint256","nodeType":"ElementaryTypeName","src":"8803:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8802:14:11"},"returnParameters":{"id":11073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11072,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11082,"src":"8840:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11071,"name":"string","nodeType":"ElementaryTypeName","src":"8840:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8839:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11097,"nodeType":"FunctionDefinition","src":"8913:122:11","nodes":[],"body":{"id":11096,"nodeType":"Block","src":"8983:52:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11092,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11084,"src":"9022:4:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":11090,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"9010:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9013:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15169,"src":"9010:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":11093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9010:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11089,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[11067,11082,11097,11112,11127],"referencedDeclaration":11067,"src":"9000:9:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9000:28:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11088,"id":11095,"nodeType":"Return","src":"8993:35:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"8922:9:11","parameters":{"id":11085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11084,"mutability":"mutable","name":"self","nameLocation":"8939:4:11","nodeType":"VariableDeclaration","scope":11097,"src":"8932:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11083,"name":"int256","nodeType":"ElementaryTypeName","src":"8932:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"8931:13:11"},"returnParameters":{"id":11088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11087,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11097,"src":"8968:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11086,"name":"string","nodeType":"ElementaryTypeName","src":"8968:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8967:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11112,"nodeType":"FunctionDefinition","src":"9041:123:11","nodes":[],"body":{"id":11111,"nodeType":"Block","src":"9112:52:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11107,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11099,"src":"9151:4:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11105,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"9139:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9142:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15129,"src":"9139:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":11108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9139:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11104,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[11067,11082,11097,11112,11127],"referencedDeclaration":11067,"src":"9129:9:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9129:28:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11103,"id":11110,"nodeType":"Return","src":"9122:35:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"9050:9:11","parameters":{"id":11100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11099,"mutability":"mutable","name":"self","nameLocation":"9068:4:11","nodeType":"VariableDeclaration","scope":11112,"src":"9060:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11098,"name":"address","nodeType":"ElementaryTypeName","src":"9060:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9059:14:11"},"returnParameters":{"id":11103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11102,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11112,"src":"9097:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11101,"name":"string","nodeType":"ElementaryTypeName","src":"9097:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9096:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11127,"nodeType":"FunctionDefinition","src":"9170:120:11","nodes":[],"body":{"id":11126,"nodeType":"Block","src":"9238:52:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11122,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11114,"src":"9277:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11120,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"9265:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9268:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15153,"src":"9265:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":11123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9265:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11119,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[11067,11082,11097,11112,11127],"referencedDeclaration":11067,"src":"9255:9:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9255:28:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11118,"id":11125,"nodeType":"Return","src":"9248:35:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"9179:9:11","parameters":{"id":11115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11114,"mutability":"mutable","name":"self","nameLocation":"9194:4:11","nodeType":"VariableDeclaration","scope":11127,"src":"9189:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11113,"name":"bool","nodeType":"ElementaryTypeName","src":"9189:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9188:11:11"},"returnParameters":{"id":11118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11117,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11127,"src":"9223:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11116,"name":"string","nodeType":"ElementaryTypeName","src":"9223:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9222:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11142,"nodeType":"FunctionDefinition","src":"9296:133:11","nodes":[],"body":{"id":11141,"nodeType":"Block","src":"9377:52:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11137,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11129,"src":"9416:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11135,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"9404:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9407:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15137,"src":"9404:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":11138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9404:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11134,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[11067,11082,11097,11112,11127],"referencedDeclaration":11067,"src":"9394:9:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9394:28:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11133,"id":11140,"nodeType":"Return","src":"9387:35:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underlineBytes","nameLocation":"9305:14:11","parameters":{"id":11130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11129,"mutability":"mutable","name":"self","nameLocation":"9333:4:11","nodeType":"VariableDeclaration","scope":11142,"src":"9320:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11128,"name":"bytes","nodeType":"ElementaryTypeName","src":"9320:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9319:19:11"},"returnParameters":{"id":11133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11132,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11142,"src":"9362:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11131,"name":"string","nodeType":"ElementaryTypeName","src":"9362:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9361:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11157,"nodeType":"FunctionDefinition","src":"9435:130:11","nodes":[],"body":{"id":11156,"nodeType":"Block","src":"9513:52:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11152,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11144,"src":"9552:4:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":11150,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"9540:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9543:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15145,"src":"9540:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":11153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9540:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11149,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[11067,11082,11097,11112,11127],"referencedDeclaration":11067,"src":"9530:9:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9530:28:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11148,"id":11155,"nodeType":"Return","src":"9523:35:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underlineBytes32","nameLocation":"9444:16:11","parameters":{"id":11145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11144,"mutability":"mutable","name":"self","nameLocation":"9469:4:11","nodeType":"VariableDeclaration","scope":11157,"src":"9461:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11143,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9461:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9460:14:11"},"returnParameters":{"id":11148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11147,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11157,"src":"9498:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11146,"name":"string","nodeType":"ElementaryTypeName","src":"9498:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9497:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11170,"nodeType":"FunctionDefinition","src":"9571:125:11","nodes":[],"body":{"id":11169,"nodeType":"Block","src":"9646:50:11","nodes":[],"statements":[{"expression":{"arguments":[{"id":11165,"name":"INVERSE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10104,"src":"9675:7:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11166,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11159,"src":"9684:4:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11164,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10127,"src":"9663:11:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":11167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9663:26:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11163,"id":11168,"nodeType":"Return","src":"9656:33:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"9580:7:11","parameters":{"id":11160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11159,"mutability":"mutable","name":"self","nameLocation":"9602:4:11","nodeType":"VariableDeclaration","scope":11170,"src":"9588:18:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11158,"name":"string","nodeType":"ElementaryTypeName","src":"9588:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9587:20:11"},"returnParameters":{"id":11163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11162,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11170,"src":"9631:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11161,"name":"string","nodeType":"ElementaryTypeName","src":"9631:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9630:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11185,"nodeType":"FunctionDefinition","src":"9702:119:11","nodes":[],"body":{"id":11184,"nodeType":"Block","src":"9771:50:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11180,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11172,"src":"9808:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11178,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"9796:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9799:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15161,"src":"9796:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":11181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9796:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11177,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[11170,11185,11200,11215,11230],"referencedDeclaration":11170,"src":"9788:7:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9788:26:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11176,"id":11183,"nodeType":"Return","src":"9781:33:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"9711:7:11","parameters":{"id":11173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11172,"mutability":"mutable","name":"self","nameLocation":"9727:4:11","nodeType":"VariableDeclaration","scope":11185,"src":"9719:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11171,"name":"uint256","nodeType":"ElementaryTypeName","src":"9719:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9718:14:11"},"returnParameters":{"id":11176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11175,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11185,"src":"9756:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11174,"name":"string","nodeType":"ElementaryTypeName","src":"9756:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9755:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11200,"nodeType":"FunctionDefinition","src":"9827:118:11","nodes":[],"body":{"id":11199,"nodeType":"Block","src":"9895:50:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11195,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11187,"src":"9932:4:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":11193,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"9920:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9923:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15169,"src":"9920:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":11196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9920:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11192,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[11170,11185,11200,11215,11230],"referencedDeclaration":11170,"src":"9912:7:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9912:26:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11191,"id":11198,"nodeType":"Return","src":"9905:33:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"9836:7:11","parameters":{"id":11188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11187,"mutability":"mutable","name":"self","nameLocation":"9851:4:11","nodeType":"VariableDeclaration","scope":11200,"src":"9844:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11186,"name":"int256","nodeType":"ElementaryTypeName","src":"9844:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"9843:13:11"},"returnParameters":{"id":11191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11190,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11200,"src":"9880:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11189,"name":"string","nodeType":"ElementaryTypeName","src":"9880:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9879:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11215,"nodeType":"FunctionDefinition","src":"9951:119:11","nodes":[],"body":{"id":11214,"nodeType":"Block","src":"10020:50:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11210,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11202,"src":"10057:4:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11208,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"10045:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10048:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15129,"src":"10045:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":11211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10045:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11207,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[11170,11185,11200,11215,11230],"referencedDeclaration":11170,"src":"10037:7:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10037:26:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11206,"id":11213,"nodeType":"Return","src":"10030:33:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"9960:7:11","parameters":{"id":11203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11202,"mutability":"mutable","name":"self","nameLocation":"9976:4:11","nodeType":"VariableDeclaration","scope":11215,"src":"9968:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11201,"name":"address","nodeType":"ElementaryTypeName","src":"9968:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9967:14:11"},"returnParameters":{"id":11206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11205,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11215,"src":"10005:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11204,"name":"string","nodeType":"ElementaryTypeName","src":"10005:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10004:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11230,"nodeType":"FunctionDefinition","src":"10076:116:11","nodes":[],"body":{"id":11229,"nodeType":"Block","src":"10142:50:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11225,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11217,"src":"10179:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11223,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"10167:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10170:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15153,"src":"10167:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":11226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10167:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11222,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[11170,11185,11200,11215,11230],"referencedDeclaration":11170,"src":"10159:7:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10159:26:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11221,"id":11228,"nodeType":"Return","src":"10152:33:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"10085:7:11","parameters":{"id":11218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11217,"mutability":"mutable","name":"self","nameLocation":"10098:4:11","nodeType":"VariableDeclaration","scope":11230,"src":"10093:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11216,"name":"bool","nodeType":"ElementaryTypeName","src":"10093:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10092:11:11"},"returnParameters":{"id":11221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11220,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11230,"src":"10127:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11219,"name":"string","nodeType":"ElementaryTypeName","src":"10127:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10126:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11245,"nodeType":"FunctionDefinition","src":"10198:129:11","nodes":[],"body":{"id":11244,"nodeType":"Block","src":"10277:50:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11240,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11232,"src":"10314:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11238,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"10302:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10305:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15137,"src":"10302:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":11241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10302:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11237,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[11170,11185,11200,11215,11230],"referencedDeclaration":11170,"src":"10294:7:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10294:26:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11236,"id":11243,"nodeType":"Return","src":"10287:33:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverseBytes","nameLocation":"10207:12:11","parameters":{"id":11233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11232,"mutability":"mutable","name":"self","nameLocation":"10233:4:11","nodeType":"VariableDeclaration","scope":11245,"src":"10220:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11231,"name":"bytes","nodeType":"ElementaryTypeName","src":"10220:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10219:19:11"},"returnParameters":{"id":11236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11235,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11245,"src":"10262:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11234,"name":"string","nodeType":"ElementaryTypeName","src":"10262:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10261:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11260,"nodeType":"FunctionDefinition","src":"10333:126:11","nodes":[],"body":{"id":11259,"nodeType":"Block","src":"10409:50:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11255,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11247,"src":"10446:4:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":11253,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10071,"src":"10434:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10437:8:11","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15145,"src":"10434:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":11256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10434:17:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11252,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[11170,11185,11200,11215,11230],"referencedDeclaration":11170,"src":"10426:7:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10426:26:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11251,"id":11258,"nodeType":"Return","src":"10419:33:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverseBytes32","nameLocation":"10342:14:11","parameters":{"id":11248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11247,"mutability":"mutable","name":"self","nameLocation":"10365:4:11","nodeType":"VariableDeclaration","scope":11260,"src":"10357:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11246,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10357:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10356:14:11"},"returnParameters":{"id":11251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11250,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11260,"src":"10394:13:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11249,"name":"string","nodeType":"ElementaryTypeName","src":"10394:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10393:15:11"},"scope":11261,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"StdStyle","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[11261],"name":"StdStyle","nameLocation":"108:8:11","scope":11262,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdToml.sol":{"id":12,"ast":{"absolutePath":"lib/forge-std/src/StdToml.sol","id":12206,"exportedSymbols":{"VmSafe":[16930],"stdToml":[12205]},"nodeType":"SourceUnit","src":"32:9671:12","nodes":[{"id":11263,"nodeType":"PragmaDirective","src":"32:31:12","nodes":[],"literals":["solidity",">=","0.6",".0","<","0.9",".0"]},{"id":11264,"nodeType":"PragmaDirective","src":"65:33:12","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":11266,"nodeType":"ImportDirective","src":"100:32:12","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":12206,"sourceUnit":18002,"symbolAliases":[{"foreign":{"id":11265,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16930,"src":"108:6:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12205,"nodeType":"ContractDefinition","src":"610:9092:12","nodes":[{"id":11283,"nodeType":"VariableDeclaration","src":"632:92:12","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"656:2:12","scope":12205,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"},"typeName":{"id":11268,"nodeType":"UserDefinedTypeName","pathNode":{"id":11267,"name":"VmSafe","nameLocations":["632:6:12"],"nodeType":"IdentifierPath","referencedDeclaration":16930,"src":"632:6:12"},"referencedDeclaration":16930,"src":"632:6:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":11277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"702:17:12","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":11276,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"692:9:12","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":11278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"692:28:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":11275,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"684:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":11274,"name":"uint256","nodeType":"ElementaryTypeName","src":"684:7:12","typeDescriptions":{}}},"id":11279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"684:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"676:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":11272,"name":"uint160","nodeType":"ElementaryTypeName","src":"676:7:12","typeDescriptions":{}}},"id":11280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"676:46:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":11271,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"668:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11270,"name":"address","nodeType":"ElementaryTypeName","src":"668:7:12","typeDescriptions":{}}},"id":11281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"668:55:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11269,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16930,"src":"661:6:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$16930_$","typeString":"type(contract VmSafe)"}},"id":11282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"661:63:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"visibility":"private"},{"id":11299,"nodeType":"FunctionDefinition","src":"731:138:12","nodes":[],"body":{"id":11298,"nodeType":"Block","src":"818:51:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":11294,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11285,"src":"852:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11295,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11287,"src":"858:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11292,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"835:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"838:13:12","memberName":"keyExistsToml","nodeType":"MemberAccess","referencedDeclaration":16493,"src":"835:16:12","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view external returns (bool)"}},"id":11296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"835:27:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":11291,"id":11297,"nodeType":"Return","src":"828:34:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"keyExists","nameLocation":"740:9:12","parameters":{"id":11288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11285,"mutability":"mutable","name":"toml","nameLocation":"764:4:12","nodeType":"VariableDeclaration","scope":11299,"src":"750:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11284,"name":"string","nodeType":"ElementaryTypeName","src":"750:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11287,"mutability":"mutable","name":"key","nameLocation":"784:3:12","nodeType":"VariableDeclaration","scope":11299,"src":"770:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11286,"name":"string","nodeType":"ElementaryTypeName","src":"770:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"749:39:12"},"returnParameters":{"id":11291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11290,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11299,"src":"812:4:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11289,"name":"bool","nodeType":"ElementaryTypeName","src":"812:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"811:6:12"},"scope":12205,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":11315,"nodeType":"FunctionDefinition","src":"875:141:12","nodes":[],"body":{"id":11314,"nodeType":"Block","src":"969:47:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":11310,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11301,"src":"999:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11311,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11303,"src":"1005:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11308,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"986:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"989:9:12","memberName":"parseToml","nodeType":"MemberAccess","referencedDeclaration":16703,"src":"986:12:12","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":11312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"986:23:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":11307,"id":11313,"nodeType":"Return","src":"979:30:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"parseRaw","nameLocation":"884:8:12","parameters":{"id":11304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11301,"mutability":"mutable","name":"toml","nameLocation":"907:4:12","nodeType":"VariableDeclaration","scope":11315,"src":"893:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11300,"name":"string","nodeType":"ElementaryTypeName","src":"893:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11303,"mutability":"mutable","name":"key","nameLocation":"927:3:12","nodeType":"VariableDeclaration","scope":11315,"src":"913:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11302,"name":"string","nodeType":"ElementaryTypeName","src":"913:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"892:39:12"},"returnParameters":{"id":11307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11306,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11315,"src":"955:12:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11305,"name":"bytes","nodeType":"ElementaryTypeName","src":"955:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"954:14:12"},"scope":12205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11331,"nodeType":"FunctionDefinition","src":"1022:140:12","nodes":[],"body":{"id":11330,"nodeType":"Block","src":"1111:51:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":11326,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11317,"src":"1145:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11327,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11319,"src":"1151:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11324,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"1128:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1131:13:12","memberName":"parseTomlUint","nodeType":"MemberAccess","referencedDeclaration":16674,"src":"1128:16:12","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory,string memory) pure external returns (uint256)"}},"id":11328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1128:27:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":11323,"id":11329,"nodeType":"Return","src":"1121:34:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUint","nameLocation":"1031:8:12","parameters":{"id":11320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11317,"mutability":"mutable","name":"toml","nameLocation":"1054:4:12","nodeType":"VariableDeclaration","scope":11331,"src":"1040:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11316,"name":"string","nodeType":"ElementaryTypeName","src":"1040:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11319,"mutability":"mutable","name":"key","nameLocation":"1074:3:12","nodeType":"VariableDeclaration","scope":11331,"src":"1060:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11318,"name":"string","nodeType":"ElementaryTypeName","src":"1060:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1039:39:12"},"returnParameters":{"id":11323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11322,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11331,"src":"1102:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11321,"name":"uint256","nodeType":"ElementaryTypeName","src":"1102:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1101:9:12"},"scope":12205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11348,"nodeType":"FunctionDefinition","src":"1168:159:12","nodes":[],"body":{"id":11347,"nodeType":"Block","src":"1271:56:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":11343,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11333,"src":"1310:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11344,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11335,"src":"1316:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11341,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"1288:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1291:18:12","memberName":"parseTomlUintArray","nodeType":"MemberAccess","referencedDeclaration":16685,"src":"1288:21:12","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (uint256[] memory)"}},"id":11345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1288:32:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":11340,"id":11346,"nodeType":"Return","src":"1281:39:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUintArray","nameLocation":"1177:13:12","parameters":{"id":11336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11333,"mutability":"mutable","name":"toml","nameLocation":"1205:4:12","nodeType":"VariableDeclaration","scope":11348,"src":"1191:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11332,"name":"string","nodeType":"ElementaryTypeName","src":"1191:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11335,"mutability":"mutable","name":"key","nameLocation":"1225:3:12","nodeType":"VariableDeclaration","scope":11348,"src":"1211:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11334,"name":"string","nodeType":"ElementaryTypeName","src":"1211:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1190:39:12"},"returnParameters":{"id":11340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11339,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11348,"src":"1253:16:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11337,"name":"uint256","nodeType":"ElementaryTypeName","src":"1253:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11338,"nodeType":"ArrayTypeName","src":"1253:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1252:18:12"},"scope":12205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11364,"nodeType":"FunctionDefinition","src":"1333:137:12","nodes":[],"body":{"id":11363,"nodeType":"Block","src":"1420:50:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":11359,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11350,"src":"1453:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11360,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11352,"src":"1459:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11357,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"1437:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1440:12:12","memberName":"parseTomlInt","nodeType":"MemberAccess","referencedDeclaration":16587,"src":"1437:15:12","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_int256_$","typeString":"function (string memory,string memory) pure external returns (int256)"}},"id":11361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1437:26:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":11356,"id":11362,"nodeType":"Return","src":"1430:33:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readInt","nameLocation":"1342:7:12","parameters":{"id":11353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11350,"mutability":"mutable","name":"toml","nameLocation":"1364:4:12","nodeType":"VariableDeclaration","scope":11364,"src":"1350:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11349,"name":"string","nodeType":"ElementaryTypeName","src":"1350:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11352,"mutability":"mutable","name":"key","nameLocation":"1384:3:12","nodeType":"VariableDeclaration","scope":11364,"src":"1370:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11351,"name":"string","nodeType":"ElementaryTypeName","src":"1370:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1349:39:12"},"returnParameters":{"id":11356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11355,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11364,"src":"1412:6:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11354,"name":"int256","nodeType":"ElementaryTypeName","src":"1412:6:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1411:8:12"},"scope":12205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11381,"nodeType":"FunctionDefinition","src":"1476:156:12","nodes":[],"body":{"id":11380,"nodeType":"Block","src":"1577:55:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":11376,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11366,"src":"1615:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11377,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11368,"src":"1621:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11374,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"1594:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1597:17:12","memberName":"parseTomlIntArray","nodeType":"MemberAccess","referencedDeclaration":16598,"src":"1594:20:12","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_int256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (int256[] memory)"}},"id":11378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1594:31:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"functionReturnParameters":11373,"id":11379,"nodeType":"Return","src":"1587:38:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readIntArray","nameLocation":"1485:12:12","parameters":{"id":11369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11366,"mutability":"mutable","name":"toml","nameLocation":"1512:4:12","nodeType":"VariableDeclaration","scope":11381,"src":"1498:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11365,"name":"string","nodeType":"ElementaryTypeName","src":"1498:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11368,"mutability":"mutable","name":"key","nameLocation":"1532:3:12","nodeType":"VariableDeclaration","scope":11381,"src":"1518:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11367,"name":"string","nodeType":"ElementaryTypeName","src":"1518:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1497:39:12"},"returnParameters":{"id":11373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11372,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11381,"src":"1560:15:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":11370,"name":"int256","nodeType":"ElementaryTypeName","src":"1560:6:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":11371,"nodeType":"ArrayTypeName","src":"1560:8:12","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"1559:17:12"},"scope":12205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11397,"nodeType":"FunctionDefinition","src":"1638:146:12","nodes":[],"body":{"id":11396,"nodeType":"Block","src":"1730:54:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":11392,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11383,"src":"1767:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11393,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11385,"src":"1773:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11390,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"1747:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1750:16:12","memberName":"parseTomlBytes32","nodeType":"MemberAccess","referencedDeclaration":16555,"src":"1747:19:12","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes32_$","typeString":"function (string memory,string memory) pure external returns (bytes32)"}},"id":11394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1747:30:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":11389,"id":11395,"nodeType":"Return","src":"1740:37:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32","nameLocation":"1647:11:12","parameters":{"id":11386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11383,"mutability":"mutable","name":"toml","nameLocation":"1673:4:12","nodeType":"VariableDeclaration","scope":11397,"src":"1659:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11382,"name":"string","nodeType":"ElementaryTypeName","src":"1659:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11385,"mutability":"mutable","name":"key","nameLocation":"1693:3:12","nodeType":"VariableDeclaration","scope":11397,"src":"1679:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11384,"name":"string","nodeType":"ElementaryTypeName","src":"1679:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1658:39:12"},"returnParameters":{"id":11389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11388,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11397,"src":"1721:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11387,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1721:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1720:9:12"},"scope":12205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11414,"nodeType":"FunctionDefinition","src":"1790:165:12","nodes":[],"body":{"id":11413,"nodeType":"Block","src":"1896:59:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":11409,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11399,"src":"1938:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11410,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11401,"src":"1944:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11407,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"1913:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1916:21:12","memberName":"parseTomlBytes32Array","nodeType":"MemberAccess","referencedDeclaration":16566,"src":"1913:24:12","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes32[] memory)"}},"id":11411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1913:35:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":11406,"id":11412,"nodeType":"Return","src":"1906:42:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32Array","nameLocation":"1799:16:12","parameters":{"id":11402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11399,"mutability":"mutable","name":"toml","nameLocation":"1830:4:12","nodeType":"VariableDeclaration","scope":11414,"src":"1816:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11398,"name":"string","nodeType":"ElementaryTypeName","src":"1816:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11401,"mutability":"mutable","name":"key","nameLocation":"1850:3:12","nodeType":"VariableDeclaration","scope":11414,"src":"1836:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11400,"name":"string","nodeType":"ElementaryTypeName","src":"1836:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1815:39:12"},"returnParameters":{"id":11406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11405,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11414,"src":"1878:16:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11403,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1878:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11404,"nodeType":"ArrayTypeName","src":"1878:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"1877:18:12"},"scope":12205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11430,"nodeType":"FunctionDefinition","src":"1961:150:12","nodes":[],"body":{"id":11429,"nodeType":"Block","src":"2058:53:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":11425,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11416,"src":"2094:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11426,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11418,"src":"2100:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11423,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"2075:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2078:15:12","memberName":"parseTomlString","nodeType":"MemberAccess","referencedDeclaration":16619,"src":"2075:18:12","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (string memory)"}},"id":11427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2075:29:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11422,"id":11428,"nodeType":"Return","src":"2068:36:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readString","nameLocation":"1970:10:12","parameters":{"id":11419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11416,"mutability":"mutable","name":"toml","nameLocation":"1995:4:12","nodeType":"VariableDeclaration","scope":11430,"src":"1981:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11415,"name":"string","nodeType":"ElementaryTypeName","src":"1981:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11418,"mutability":"mutable","name":"key","nameLocation":"2015:3:12","nodeType":"VariableDeclaration","scope":11430,"src":"2001:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11417,"name":"string","nodeType":"ElementaryTypeName","src":"2001:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1980:39:12"},"returnParameters":{"id":11422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11421,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11430,"src":"2043:13:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11420,"name":"string","nodeType":"ElementaryTypeName","src":"2043:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2042:15:12"},"scope":12205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11447,"nodeType":"FunctionDefinition","src":"2117:162:12","nodes":[],"body":{"id":11446,"nodeType":"Block","src":"2221:58:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":11442,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11432,"src":"2262:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11443,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11434,"src":"2268:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11440,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"2238:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2241:20:12","memberName":"parseTomlStringArray","nodeType":"MemberAccess","referencedDeclaration":16630,"src":"2238:23:12","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (string memory[] memory)"}},"id":11444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2238:34:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":11439,"id":11445,"nodeType":"Return","src":"2231:41:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readStringArray","nameLocation":"2126:15:12","parameters":{"id":11435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11432,"mutability":"mutable","name":"toml","nameLocation":"2156:4:12","nodeType":"VariableDeclaration","scope":11447,"src":"2142:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11431,"name":"string","nodeType":"ElementaryTypeName","src":"2142:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11434,"mutability":"mutable","name":"key","nameLocation":"2176:3:12","nodeType":"VariableDeclaration","scope":11447,"src":"2162:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11433,"name":"string","nodeType":"ElementaryTypeName","src":"2162:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2141:39:12"},"returnParameters":{"id":11439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11438,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11447,"src":"2204:15:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":11436,"name":"string","nodeType":"ElementaryTypeName","src":"2204:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":11437,"nodeType":"ArrayTypeName","src":"2204:8:12","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"2203:17:12"},"scope":12205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11463,"nodeType":"FunctionDefinition","src":"2285:146:12","nodes":[],"body":{"id":11462,"nodeType":"Block","src":"2377:54:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":11458,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11449,"src":"2414:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11459,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11451,"src":"2420:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11456,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"2394:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2397:16:12","memberName":"parseTomlAddress","nodeType":"MemberAccess","referencedDeclaration":16503,"src":"2394:19:12","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,string memory) pure external returns (address)"}},"id":11460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2394:30:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":11455,"id":11461,"nodeType":"Return","src":"2387:37:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddress","nameLocation":"2294:11:12","parameters":{"id":11452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11449,"mutability":"mutable","name":"toml","nameLocation":"2320:4:12","nodeType":"VariableDeclaration","scope":11463,"src":"2306:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11448,"name":"string","nodeType":"ElementaryTypeName","src":"2306:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11451,"mutability":"mutable","name":"key","nameLocation":"2340:3:12","nodeType":"VariableDeclaration","scope":11463,"src":"2326:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11450,"name":"string","nodeType":"ElementaryTypeName","src":"2326:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2305:39:12"},"returnParameters":{"id":11455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11454,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11463,"src":"2368:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11453,"name":"address","nodeType":"ElementaryTypeName","src":"2368:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2367:9:12"},"scope":12205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11480,"nodeType":"FunctionDefinition","src":"2437:165:12","nodes":[],"body":{"id":11479,"nodeType":"Block","src":"2543:59:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":11475,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11465,"src":"2585:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11476,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11467,"src":"2591:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11473,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"2560:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2563:21:12","memberName":"parseTomlAddressArray","nodeType":"MemberAccess","referencedDeclaration":16514,"src":"2560:24:12","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (address[] memory)"}},"id":11477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2560:35:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":11472,"id":11478,"nodeType":"Return","src":"2553:42:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddressArray","nameLocation":"2446:16:12","parameters":{"id":11468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11465,"mutability":"mutable","name":"toml","nameLocation":"2477:4:12","nodeType":"VariableDeclaration","scope":11480,"src":"2463:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11464,"name":"string","nodeType":"ElementaryTypeName","src":"2463:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11467,"mutability":"mutable","name":"key","nameLocation":"2497:3:12","nodeType":"VariableDeclaration","scope":11480,"src":"2483:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11466,"name":"string","nodeType":"ElementaryTypeName","src":"2483:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2462:39:12"},"returnParameters":{"id":11472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11471,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11480,"src":"2525:16:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":11469,"name":"address","nodeType":"ElementaryTypeName","src":"2525:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11470,"nodeType":"ArrayTypeName","src":"2525:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2524:18:12"},"scope":12205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11496,"nodeType":"FunctionDefinition","src":"2608:137:12","nodes":[],"body":{"id":11495,"nodeType":"Block","src":"2694:51:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":11491,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11482,"src":"2728:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11492,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11484,"src":"2734:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11489,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"2711:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2714:13:12","memberName":"parseTomlBool","nodeType":"MemberAccess","referencedDeclaration":16524,"src":"2711:16:12","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) pure external returns (bool)"}},"id":11493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2711:27:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":11488,"id":11494,"nodeType":"Return","src":"2704:34:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBool","nameLocation":"2617:8:12","parameters":{"id":11485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11482,"mutability":"mutable","name":"toml","nameLocation":"2640:4:12","nodeType":"VariableDeclaration","scope":11496,"src":"2626:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11481,"name":"string","nodeType":"ElementaryTypeName","src":"2626:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11484,"mutability":"mutable","name":"key","nameLocation":"2660:3:12","nodeType":"VariableDeclaration","scope":11496,"src":"2646:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11483,"name":"string","nodeType":"ElementaryTypeName","src":"2646:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2625:39:12"},"returnParameters":{"id":11488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11487,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11496,"src":"2688:4:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11486,"name":"bool","nodeType":"ElementaryTypeName","src":"2688:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2687:6:12"},"scope":12205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11513,"nodeType":"FunctionDefinition","src":"2751:156:12","nodes":[],"body":{"id":11512,"nodeType":"Block","src":"2851:56:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":11508,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11498,"src":"2890:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11509,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11500,"src":"2896:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11506,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"2868:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2871:18:12","memberName":"parseTomlBoolArray","nodeType":"MemberAccess","referencedDeclaration":16535,"src":"2868:21:12","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bool_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bool[] memory)"}},"id":11510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2868:32:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"functionReturnParameters":11505,"id":11511,"nodeType":"Return","src":"2861:39:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBoolArray","nameLocation":"2760:13:12","parameters":{"id":11501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11498,"mutability":"mutable","name":"toml","nameLocation":"2788:4:12","nodeType":"VariableDeclaration","scope":11513,"src":"2774:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11497,"name":"string","nodeType":"ElementaryTypeName","src":"2774:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11500,"mutability":"mutable","name":"key","nameLocation":"2808:3:12","nodeType":"VariableDeclaration","scope":11513,"src":"2794:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11499,"name":"string","nodeType":"ElementaryTypeName","src":"2794:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2773:39:12"},"returnParameters":{"id":11505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11504,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11513,"src":"2836:13:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":11502,"name":"bool","nodeType":"ElementaryTypeName","src":"2836:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11503,"nodeType":"ArrayTypeName","src":"2836:6:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"2835:15:12"},"scope":12205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11529,"nodeType":"FunctionDefinition","src":"2913:147:12","nodes":[],"body":{"id":11528,"nodeType":"Block","src":"3008:52:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":11524,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11515,"src":"3043:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11525,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11517,"src":"3049:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11522,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"3025:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3028:14:12","memberName":"parseTomlBytes","nodeType":"MemberAccess","referencedDeclaration":16545,"src":"3025:17:12","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":11526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3025:28:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":11521,"id":11527,"nodeType":"Return","src":"3018:35:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes","nameLocation":"2922:9:12","parameters":{"id":11518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11515,"mutability":"mutable","name":"toml","nameLocation":"2946:4:12","nodeType":"VariableDeclaration","scope":11529,"src":"2932:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11514,"name":"string","nodeType":"ElementaryTypeName","src":"2932:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11517,"mutability":"mutable","name":"key","nameLocation":"2966:3:12","nodeType":"VariableDeclaration","scope":11529,"src":"2952:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11516,"name":"string","nodeType":"ElementaryTypeName","src":"2952:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2931:39:12"},"returnParameters":{"id":11521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11520,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11529,"src":"2994:12:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11519,"name":"bytes","nodeType":"ElementaryTypeName","src":"2994:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2993:14:12"},"scope":12205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11546,"nodeType":"FunctionDefinition","src":"3066:159:12","nodes":[],"body":{"id":11545,"nodeType":"Block","src":"3168:57:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":11541,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11531,"src":"3208:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11542,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11533,"src":"3214:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11539,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"3185:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3188:19:12","memberName":"parseTomlBytesArray","nodeType":"MemberAccess","referencedDeclaration":16577,"src":"3185:22:12","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory[] memory)"}},"id":11543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3185:33:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"functionReturnParameters":11538,"id":11544,"nodeType":"Return","src":"3178:40:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytesArray","nameLocation":"3075:14:12","parameters":{"id":11534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11531,"mutability":"mutable","name":"toml","nameLocation":"3104:4:12","nodeType":"VariableDeclaration","scope":11546,"src":"3090:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11530,"name":"string","nodeType":"ElementaryTypeName","src":"3090:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11533,"mutability":"mutable","name":"key","nameLocation":"3124:3:12","nodeType":"VariableDeclaration","scope":11546,"src":"3110:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11532,"name":"string","nodeType":"ElementaryTypeName","src":"3110:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3089:39:12"},"returnParameters":{"id":11538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11537,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11546,"src":"3152:14:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":11535,"name":"bytes","nodeType":"ElementaryTypeName","src":"3152:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":11536,"nodeType":"ArrayTypeName","src":"3152:7:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"3151:16:12"},"scope":12205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11569,"nodeType":"FunctionDefinition","src":"3231:194:12","nodes":[],"body":{"id":11568,"nodeType":"Block","src":"3344:81:12","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":11558,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11548,"src":"3371:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11559,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11550,"src":"3377:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11557,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11299,"src":"3361:9:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":11560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3361:20:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":11565,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11552,"src":"3406:12:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3361:57:12","trueExpression":{"arguments":[{"id":11562,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11548,"src":"3393:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11563,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11550,"src":"3399:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11561,"name":"readUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11331,"src":"3384:8:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory,string memory) pure returns (uint256)"}},"id":11564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3384:19:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":11556,"id":11567,"nodeType":"Return","src":"3354:64:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUintOr","nameLocation":"3240:10:12","parameters":{"id":11553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11548,"mutability":"mutable","name":"toml","nameLocation":"3265:4:12","nodeType":"VariableDeclaration","scope":11569,"src":"3251:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11547,"name":"string","nodeType":"ElementaryTypeName","src":"3251:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11550,"mutability":"mutable","name":"key","nameLocation":"3285:3:12","nodeType":"VariableDeclaration","scope":11569,"src":"3271:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11549,"name":"string","nodeType":"ElementaryTypeName","src":"3271:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11552,"mutability":"mutable","name":"defaultValue","nameLocation":"3298:12:12","nodeType":"VariableDeclaration","scope":11569,"src":"3290:20:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11551,"name":"uint256","nodeType":"ElementaryTypeName","src":"3290:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3250:61:12"},"returnParameters":{"id":11556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11555,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11569,"src":"3335:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11554,"name":"uint256","nodeType":"ElementaryTypeName","src":"3335:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3334:9:12"},"scope":12205,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":11594,"nodeType":"FunctionDefinition","src":"3431:250:12","nodes":[],"body":{"id":11593,"nodeType":"Block","src":"3595:86:12","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":11583,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11571,"src":"3622:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11584,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11573,"src":"3628:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11582,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11299,"src":"3612:9:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":11585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3612:20:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":11590,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11576,"src":"3662:12:12","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":11591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3612:62:12","trueExpression":{"arguments":[{"id":11587,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11571,"src":"3649:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11588,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11573,"src":"3655:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11586,"name":"readUintArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11348,"src":"3635:13:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (uint256[] memory)"}},"id":11589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3635:24:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":11581,"id":11592,"nodeType":"Return","src":"3605:69:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUintArrayOr","nameLocation":"3440:15:12","parameters":{"id":11577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11571,"mutability":"mutable","name":"toml","nameLocation":"3470:4:12","nodeType":"VariableDeclaration","scope":11594,"src":"3456:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11570,"name":"string","nodeType":"ElementaryTypeName","src":"3456:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11573,"mutability":"mutable","name":"key","nameLocation":"3490:3:12","nodeType":"VariableDeclaration","scope":11594,"src":"3476:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11572,"name":"string","nodeType":"ElementaryTypeName","src":"3476:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11576,"mutability":"mutable","name":"defaultValue","nameLocation":"3512:12:12","nodeType":"VariableDeclaration","scope":11594,"src":"3495:29:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11574,"name":"uint256","nodeType":"ElementaryTypeName","src":"3495:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11575,"nodeType":"ArrayTypeName","src":"3495:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3455:70:12"},"returnParameters":{"id":11581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11580,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11594,"src":"3573:16:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11578,"name":"uint256","nodeType":"ElementaryTypeName","src":"3573:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11579,"nodeType":"ArrayTypeName","src":"3573:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3572:18:12"},"scope":12205,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":11617,"nodeType":"FunctionDefinition","src":"3687:190:12","nodes":[],"body":{"id":11616,"nodeType":"Block","src":"3797:80:12","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":11606,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11596,"src":"3824:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11607,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11598,"src":"3830:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11605,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11299,"src":"3814:9:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":11608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3814:20:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":11613,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11600,"src":"3858:12:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":11614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3814:56:12","trueExpression":{"arguments":[{"id":11610,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11596,"src":"3845:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11611,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11598,"src":"3851:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11609,"name":"readInt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11364,"src":"3837:7:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_int256_$","typeString":"function (string memory,string memory) pure returns (int256)"}},"id":11612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3837:18:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":11604,"id":11615,"nodeType":"Return","src":"3807:63:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readIntOr","nameLocation":"3696:9:12","parameters":{"id":11601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11596,"mutability":"mutable","name":"toml","nameLocation":"3720:4:12","nodeType":"VariableDeclaration","scope":11617,"src":"3706:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11595,"name":"string","nodeType":"ElementaryTypeName","src":"3706:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11598,"mutability":"mutable","name":"key","nameLocation":"3740:3:12","nodeType":"VariableDeclaration","scope":11617,"src":"3726:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11597,"name":"string","nodeType":"ElementaryTypeName","src":"3726:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11600,"mutability":"mutable","name":"defaultValue","nameLocation":"3752:12:12","nodeType":"VariableDeclaration","scope":11617,"src":"3745:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11599,"name":"int256","nodeType":"ElementaryTypeName","src":"3745:6:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3705:60:12"},"returnParameters":{"id":11604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11603,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11617,"src":"3789:6:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11602,"name":"int256","nodeType":"ElementaryTypeName","src":"3789:6:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3788:8:12"},"scope":12205,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":11642,"nodeType":"FunctionDefinition","src":"3883:246:12","nodes":[],"body":{"id":11641,"nodeType":"Block","src":"4044:85:12","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":11631,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11619,"src":"4071:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11632,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11621,"src":"4077:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11630,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11299,"src":"4061:9:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":11633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4061:20:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":11638,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11624,"src":"4110:12:12","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"id":11639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4061:61:12","trueExpression":{"arguments":[{"id":11635,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11619,"src":"4097:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11636,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11621,"src":"4103:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11634,"name":"readIntArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11381,"src":"4084:12:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_int256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (int256[] memory)"}},"id":11637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4084:23:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"functionReturnParameters":11629,"id":11640,"nodeType":"Return","src":"4054:68:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readIntArrayOr","nameLocation":"3892:14:12","parameters":{"id":11625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11619,"mutability":"mutable","name":"toml","nameLocation":"3921:4:12","nodeType":"VariableDeclaration","scope":11642,"src":"3907:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11618,"name":"string","nodeType":"ElementaryTypeName","src":"3907:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11621,"mutability":"mutable","name":"key","nameLocation":"3941:3:12","nodeType":"VariableDeclaration","scope":11642,"src":"3927:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11620,"name":"string","nodeType":"ElementaryTypeName","src":"3927:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11624,"mutability":"mutable","name":"defaultValue","nameLocation":"3962:12:12","nodeType":"VariableDeclaration","scope":11642,"src":"3946:28:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":11622,"name":"int256","nodeType":"ElementaryTypeName","src":"3946:6:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":11623,"nodeType":"ArrayTypeName","src":"3946:8:12","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"3906:69:12"},"returnParameters":{"id":11629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11628,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11642,"src":"4023:15:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":11626,"name":"int256","nodeType":"ElementaryTypeName","src":"4023:6:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":11627,"nodeType":"ArrayTypeName","src":"4023:8:12","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"4022:17:12"},"scope":12205,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":11665,"nodeType":"FunctionDefinition","src":"4135:228:12","nodes":[],"body":{"id":11664,"nodeType":"Block","src":"4279:84:12","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":11654,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11644,"src":"4306:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11655,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11646,"src":"4312:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11653,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11299,"src":"4296:9:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":11656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4296:20:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":11661,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11648,"src":"4344:12:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4296:60:12","trueExpression":{"arguments":[{"id":11658,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11644,"src":"4331:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11659,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11646,"src":"4337:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11657,"name":"readBytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11397,"src":"4319:11:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes32_$","typeString":"function (string memory,string memory) pure returns (bytes32)"}},"id":11660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4319:22:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":11652,"id":11663,"nodeType":"Return","src":"4289:67:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32Or","nameLocation":"4144:13:12","parameters":{"id":11649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11644,"mutability":"mutable","name":"toml","nameLocation":"4172:4:12","nodeType":"VariableDeclaration","scope":11665,"src":"4158:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11643,"name":"string","nodeType":"ElementaryTypeName","src":"4158:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11646,"mutability":"mutable","name":"key","nameLocation":"4192:3:12","nodeType":"VariableDeclaration","scope":11665,"src":"4178:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11645,"name":"string","nodeType":"ElementaryTypeName","src":"4178:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11648,"mutability":"mutable","name":"defaultValue","nameLocation":"4205:12:12","nodeType":"VariableDeclaration","scope":11665,"src":"4197:20:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11647,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4197:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4157:61:12"},"returnParameters":{"id":11652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11651,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11665,"src":"4266:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11650,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4266:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4265:9:12"},"scope":12205,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":11690,"nodeType":"FunctionDefinition","src":"4369:256:12","nodes":[],"body":{"id":11689,"nodeType":"Block","src":"4536:89:12","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":11679,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11667,"src":"4563:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11680,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11669,"src":"4569:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11678,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11299,"src":"4553:9:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":11681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4553:20:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":11686,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11672,"src":"4606:12:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":11687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4553:65:12","trueExpression":{"arguments":[{"id":11683,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11667,"src":"4593:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11684,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11669,"src":"4599:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11682,"name":"readBytes32Array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11414,"src":"4576:16:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bytes32[] memory)"}},"id":11685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4576:27:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":11677,"id":11688,"nodeType":"Return","src":"4546:72:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32ArrayOr","nameLocation":"4378:18:12","parameters":{"id":11673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11667,"mutability":"mutable","name":"toml","nameLocation":"4411:4:12","nodeType":"VariableDeclaration","scope":11690,"src":"4397:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11666,"name":"string","nodeType":"ElementaryTypeName","src":"4397:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11669,"mutability":"mutable","name":"key","nameLocation":"4431:3:12","nodeType":"VariableDeclaration","scope":11690,"src":"4417:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11668,"name":"string","nodeType":"ElementaryTypeName","src":"4417:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11672,"mutability":"mutable","name":"defaultValue","nameLocation":"4453:12:12","nodeType":"VariableDeclaration","scope":11690,"src":"4436:29:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11670,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4436:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11671,"nodeType":"ArrayTypeName","src":"4436:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4396:70:12"},"returnParameters":{"id":11677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11676,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11690,"src":"4514:16:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11674,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4514:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11675,"nodeType":"ArrayTypeName","src":"4514:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4513:18:12"},"scope":12205,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":11713,"nodeType":"FunctionDefinition","src":"4631:238:12","nodes":[],"body":{"id":11712,"nodeType":"Block","src":"4786:83:12","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":11702,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11692,"src":"4813:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11703,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11694,"src":"4819:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11701,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11299,"src":"4803:9:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":11704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4803:20:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":11709,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11696,"src":"4850:12:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":11710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4803:59:12","trueExpression":{"arguments":[{"id":11706,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11692,"src":"4837:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11707,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11694,"src":"4843:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11705,"name":"readString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11430,"src":"4826:10:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":11708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4826:21:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11700,"id":11711,"nodeType":"Return","src":"4796:66:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readStringOr","nameLocation":"4640:12:12","parameters":{"id":11697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11692,"mutability":"mutable","name":"toml","nameLocation":"4667:4:12","nodeType":"VariableDeclaration","scope":11713,"src":"4653:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11691,"name":"string","nodeType":"ElementaryTypeName","src":"4653:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11694,"mutability":"mutable","name":"key","nameLocation":"4687:3:12","nodeType":"VariableDeclaration","scope":11713,"src":"4673:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11693,"name":"string","nodeType":"ElementaryTypeName","src":"4673:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11696,"mutability":"mutable","name":"defaultValue","nameLocation":"4706:12:12","nodeType":"VariableDeclaration","scope":11713,"src":"4692:26:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11695,"name":"string","nodeType":"ElementaryTypeName","src":"4692:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4652:67:12"},"returnParameters":{"id":11700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11699,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11713,"src":"4767:13:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11698,"name":"string","nodeType":"ElementaryTypeName","src":"4767:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4766:15:12"},"scope":12205,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":11738,"nodeType":"FunctionDefinition","src":"4875:252:12","nodes":[],"body":{"id":11737,"nodeType":"Block","src":"5039:88:12","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":11727,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11715,"src":"5066:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11728,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11717,"src":"5072:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11726,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11299,"src":"5056:9:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":11729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5056:20:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":11734,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11720,"src":"5108:12:12","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":11735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5056:64:12","trueExpression":{"arguments":[{"id":11731,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11715,"src":"5095:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11732,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11717,"src":"5101:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11730,"name":"readStringArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11447,"src":"5079:15:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory[] memory)"}},"id":11733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5079:26:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":11725,"id":11736,"nodeType":"Return","src":"5049:71:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readStringArrayOr","nameLocation":"4884:17:12","parameters":{"id":11721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11715,"mutability":"mutable","name":"toml","nameLocation":"4916:4:12","nodeType":"VariableDeclaration","scope":11738,"src":"4902:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11714,"name":"string","nodeType":"ElementaryTypeName","src":"4902:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11717,"mutability":"mutable","name":"key","nameLocation":"4936:3:12","nodeType":"VariableDeclaration","scope":11738,"src":"4922:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11716,"name":"string","nodeType":"ElementaryTypeName","src":"4922:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11720,"mutability":"mutable","name":"defaultValue","nameLocation":"4957:12:12","nodeType":"VariableDeclaration","scope":11738,"src":"4941:28:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":11718,"name":"string","nodeType":"ElementaryTypeName","src":"4941:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":11719,"nodeType":"ArrayTypeName","src":"4941:8:12","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"4901:69:12"},"returnParameters":{"id":11725,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11724,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11738,"src":"5018:15:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":11722,"name":"string","nodeType":"ElementaryTypeName","src":"5018:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":11723,"nodeType":"ArrayTypeName","src":"5018:8:12","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"5017:17:12"},"scope":12205,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":11761,"nodeType":"FunctionDefinition","src":"5133:228:12","nodes":[],"body":{"id":11760,"nodeType":"Block","src":"5277:84:12","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":11750,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11740,"src":"5304:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11751,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11742,"src":"5310:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11749,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11299,"src":"5294:9:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":11752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5294:20:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":11757,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11744,"src":"5342:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5294:60:12","trueExpression":{"arguments":[{"id":11754,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11740,"src":"5329:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11755,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11742,"src":"5335:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11753,"name":"readAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11463,"src":"5317:11:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,string memory) pure returns (address)"}},"id":11756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5317:22:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":11748,"id":11759,"nodeType":"Return","src":"5287:67:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddressOr","nameLocation":"5142:13:12","parameters":{"id":11745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11740,"mutability":"mutable","name":"toml","nameLocation":"5170:4:12","nodeType":"VariableDeclaration","scope":11761,"src":"5156:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11739,"name":"string","nodeType":"ElementaryTypeName","src":"5156:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11742,"mutability":"mutable","name":"key","nameLocation":"5190:3:12","nodeType":"VariableDeclaration","scope":11761,"src":"5176:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11741,"name":"string","nodeType":"ElementaryTypeName","src":"5176:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11744,"mutability":"mutable","name":"defaultValue","nameLocation":"5203:12:12","nodeType":"VariableDeclaration","scope":11761,"src":"5195:20:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11743,"name":"address","nodeType":"ElementaryTypeName","src":"5195:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5155:61:12"},"returnParameters":{"id":11748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11747,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11761,"src":"5264:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11746,"name":"address","nodeType":"ElementaryTypeName","src":"5264:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5263:9:12"},"scope":12205,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":11786,"nodeType":"FunctionDefinition","src":"5367:256:12","nodes":[],"body":{"id":11785,"nodeType":"Block","src":"5534:89:12","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":11775,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11763,"src":"5561:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11776,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11765,"src":"5567:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11774,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11299,"src":"5551:9:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":11777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5551:20:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":11782,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11768,"src":"5604:12:12","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":11783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5551:65:12","trueExpression":{"arguments":[{"id":11779,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11763,"src":"5591:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11780,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11765,"src":"5597:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11778,"name":"readAddressArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11480,"src":"5574:16:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (address[] memory)"}},"id":11781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5574:27:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":11773,"id":11784,"nodeType":"Return","src":"5544:72:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddressArrayOr","nameLocation":"5376:18:12","parameters":{"id":11769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11763,"mutability":"mutable","name":"toml","nameLocation":"5409:4:12","nodeType":"VariableDeclaration","scope":11786,"src":"5395:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11762,"name":"string","nodeType":"ElementaryTypeName","src":"5395:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11765,"mutability":"mutable","name":"key","nameLocation":"5429:3:12","nodeType":"VariableDeclaration","scope":11786,"src":"5415:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11764,"name":"string","nodeType":"ElementaryTypeName","src":"5415:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11768,"mutability":"mutable","name":"defaultValue","nameLocation":"5451:12:12","nodeType":"VariableDeclaration","scope":11786,"src":"5434:29:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":11766,"name":"address","nodeType":"ElementaryTypeName","src":"5434:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11767,"nodeType":"ArrayTypeName","src":"5434:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5394:70:12"},"returnParameters":{"id":11773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11772,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11786,"src":"5512:16:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":11770,"name":"address","nodeType":"ElementaryTypeName","src":"5512:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11771,"nodeType":"ArrayTypeName","src":"5512:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5511:18:12"},"scope":12205,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":11809,"nodeType":"FunctionDefinition","src":"5629:188:12","nodes":[],"body":{"id":11808,"nodeType":"Block","src":"5736:81:12","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":11798,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11788,"src":"5763:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11799,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11790,"src":"5769:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11797,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11299,"src":"5753:9:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":11800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5753:20:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":11805,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11792,"src":"5798:12:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5753:57:12","trueExpression":{"arguments":[{"id":11802,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11788,"src":"5785:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11803,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11790,"src":"5791:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11801,"name":"readBool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11496,"src":"5776:8:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":11804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5776:19:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":11796,"id":11807,"nodeType":"Return","src":"5746:64:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBoolOr","nameLocation":"5638:10:12","parameters":{"id":11793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11788,"mutability":"mutable","name":"toml","nameLocation":"5663:4:12","nodeType":"VariableDeclaration","scope":11809,"src":"5649:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11787,"name":"string","nodeType":"ElementaryTypeName","src":"5649:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11790,"mutability":"mutable","name":"key","nameLocation":"5683:3:12","nodeType":"VariableDeclaration","scope":11809,"src":"5669:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11789,"name":"string","nodeType":"ElementaryTypeName","src":"5669:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11792,"mutability":"mutable","name":"defaultValue","nameLocation":"5693:12:12","nodeType":"VariableDeclaration","scope":11809,"src":"5688:17:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11791,"name":"bool","nodeType":"ElementaryTypeName","src":"5688:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5648:58:12"},"returnParameters":{"id":11796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11795,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11809,"src":"5730:4:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11794,"name":"bool","nodeType":"ElementaryTypeName","src":"5730:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5729:6:12"},"scope":12205,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":11834,"nodeType":"FunctionDefinition","src":"5823:244:12","nodes":[],"body":{"id":11833,"nodeType":"Block","src":"5981:86:12","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":11823,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11811,"src":"6008:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11824,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11813,"src":"6014:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11822,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11299,"src":"5998:9:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":11825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5998:20:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":11830,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11816,"src":"6048:12:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"id":11831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5998:62:12","trueExpression":{"arguments":[{"id":11827,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11811,"src":"6035:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11828,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11813,"src":"6041:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11826,"name":"readBoolArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11513,"src":"6021:13:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bool_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool[] memory)"}},"id":11829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6021:24:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"functionReturnParameters":11821,"id":11832,"nodeType":"Return","src":"5991:69:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBoolArrayOr","nameLocation":"5832:15:12","parameters":{"id":11817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11811,"mutability":"mutable","name":"toml","nameLocation":"5862:4:12","nodeType":"VariableDeclaration","scope":11834,"src":"5848:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11810,"name":"string","nodeType":"ElementaryTypeName","src":"5848:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11813,"mutability":"mutable","name":"key","nameLocation":"5882:3:12","nodeType":"VariableDeclaration","scope":11834,"src":"5868:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11812,"name":"string","nodeType":"ElementaryTypeName","src":"5868:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11816,"mutability":"mutable","name":"defaultValue","nameLocation":"5901:12:12","nodeType":"VariableDeclaration","scope":11834,"src":"5887:26:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":11814,"name":"bool","nodeType":"ElementaryTypeName","src":"5887:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11815,"nodeType":"ArrayTypeName","src":"5887:6:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"5847:67:12"},"returnParameters":{"id":11821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11820,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11834,"src":"5962:13:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":11818,"name":"bool","nodeType":"ElementaryTypeName","src":"5962:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11819,"nodeType":"ArrayTypeName","src":"5962:6:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"5961:15:12"},"scope":12205,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":11857,"nodeType":"FunctionDefinition","src":"6073:234:12","nodes":[],"body":{"id":11856,"nodeType":"Block","src":"6225:82:12","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":11846,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11836,"src":"6252:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11847,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11838,"src":"6258:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11845,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11299,"src":"6242:9:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":11848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6242:20:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":11853,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11840,"src":"6288:12:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":11854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6242:58:12","trueExpression":{"arguments":[{"id":11850,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11836,"src":"6275:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11851,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11838,"src":"6281:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11849,"name":"readBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11529,"src":"6265:9:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bytes memory)"}},"id":11852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6265:20:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":11844,"id":11855,"nodeType":"Return","src":"6235:65:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytesOr","nameLocation":"6082:11:12","parameters":{"id":11841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11836,"mutability":"mutable","name":"toml","nameLocation":"6108:4:12","nodeType":"VariableDeclaration","scope":11857,"src":"6094:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11835,"name":"string","nodeType":"ElementaryTypeName","src":"6094:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11838,"mutability":"mutable","name":"key","nameLocation":"6128:3:12","nodeType":"VariableDeclaration","scope":11857,"src":"6114:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11837,"name":"string","nodeType":"ElementaryTypeName","src":"6114:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11840,"mutability":"mutable","name":"defaultValue","nameLocation":"6146:12:12","nodeType":"VariableDeclaration","scope":11857,"src":"6133:25:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11839,"name":"bytes","nodeType":"ElementaryTypeName","src":"6133:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6093:66:12"},"returnParameters":{"id":11844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11843,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11857,"src":"6207:12:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11842,"name":"bytes","nodeType":"ElementaryTypeName","src":"6207:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6206:14:12"},"scope":12205,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":11882,"nodeType":"FunctionDefinition","src":"6313:248:12","nodes":[],"body":{"id":11881,"nodeType":"Block","src":"6474:87:12","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":11871,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11859,"src":"6501:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11872,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11861,"src":"6507:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11870,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11299,"src":"6491:9:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":11873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6491:20:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":11878,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11864,"src":"6542:12:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":11879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6491:63:12","trueExpression":{"arguments":[{"id":11875,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11859,"src":"6529:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11876,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11861,"src":"6535:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11874,"name":"readBytesArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11546,"src":"6514:14:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bytes memory[] memory)"}},"id":11877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6514:25:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"functionReturnParameters":11869,"id":11880,"nodeType":"Return","src":"6484:70:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytesArrayOr","nameLocation":"6322:16:12","parameters":{"id":11865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11859,"mutability":"mutable","name":"toml","nameLocation":"6353:4:12","nodeType":"VariableDeclaration","scope":11882,"src":"6339:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11858,"name":"string","nodeType":"ElementaryTypeName","src":"6339:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11861,"mutability":"mutable","name":"key","nameLocation":"6373:3:12","nodeType":"VariableDeclaration","scope":11882,"src":"6359:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11860,"name":"string","nodeType":"ElementaryTypeName","src":"6359:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11864,"mutability":"mutable","name":"defaultValue","nameLocation":"6393:12:12","nodeType":"VariableDeclaration","scope":11882,"src":"6378:27:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":11862,"name":"bytes","nodeType":"ElementaryTypeName","src":"6378:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":11863,"nodeType":"ArrayTypeName","src":"6378:7:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"6338:68:12"},"returnParameters":{"id":11869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11868,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11882,"src":"6454:14:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":11866,"name":"bytes","nodeType":"ElementaryTypeName","src":"6454:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":11867,"nodeType":"ArrayTypeName","src":"6454:7:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"6453:16:12"},"scope":12205,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":11898,"nodeType":"FunctionDefinition","src":"6567:162:12","nodes":[],"body":{"id":11897,"nodeType":"Block","src":"6668:61:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":11893,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11884,"src":"6702:7:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11894,"name":"rootObject","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11886,"src":"6711:10:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11891,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"6685:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6688:13:12","memberName":"serializeJson","nodeType":"MemberAccess","referencedDeclaration":14798,"src":"6685:16:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) external returns (string memory)"}},"id":11895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6685:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11890,"id":11896,"nodeType":"Return","src":"6678:44:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"6576:9:12","parameters":{"id":11887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11884,"mutability":"mutable","name":"jsonKey","nameLocation":"6600:7:12","nodeType":"VariableDeclaration","scope":11898,"src":"6586:21:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11883,"name":"string","nodeType":"ElementaryTypeName","src":"6586:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11886,"mutability":"mutable","name":"rootObject","nameLocation":"6623:10:12","nodeType":"VariableDeclaration","scope":11898,"src":"6609:24:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11885,"name":"string","nodeType":"ElementaryTypeName","src":"6609:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6585:49:12"},"returnParameters":{"id":11890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11889,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11898,"src":"6653:13:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11888,"name":"string","nodeType":"ElementaryTypeName","src":"6653:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6652:15:12"},"scope":12205,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":11917,"nodeType":"FunctionDefinition","src":"6735:167:12","nodes":[],"body":{"id":11916,"nodeType":"Block","src":"6841:61:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":11911,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11900,"src":"6875:7:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11912,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11902,"src":"6884:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11913,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11904,"src":"6889:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11909,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"6858:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6861:13:12","memberName":"serializeBool","nodeType":"MemberAccess","referencedDeclaration":14700,"src":"6858:16:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bool) external returns (string memory)"}},"id":11914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6858:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11908,"id":11915,"nodeType":"Return","src":"6851:44:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"6744:9:12","parameters":{"id":11905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11900,"mutability":"mutable","name":"jsonKey","nameLocation":"6768:7:12","nodeType":"VariableDeclaration","scope":11917,"src":"6754:21:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11899,"name":"string","nodeType":"ElementaryTypeName","src":"6754:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11902,"mutability":"mutable","name":"key","nameLocation":"6791:3:12","nodeType":"VariableDeclaration","scope":11917,"src":"6777:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11901,"name":"string","nodeType":"ElementaryTypeName","src":"6777:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11904,"mutability":"mutable","name":"value","nameLocation":"6801:5:12","nodeType":"VariableDeclaration","scope":11917,"src":"6796:10:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11903,"name":"bool","nodeType":"ElementaryTypeName","src":"6796:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6753:54:12"},"returnParameters":{"id":11908,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11907,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11917,"src":"6826:13:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11906,"name":"string","nodeType":"ElementaryTypeName","src":"6826:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6825:15:12"},"scope":12205,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":11937,"nodeType":"FunctionDefinition","src":"6908:196:12","nodes":[],"body":{"id":11936,"nodeType":"Block","src":"7043:61:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":11931,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11919,"src":"7077:7:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11932,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11921,"src":"7086:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11933,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11924,"src":"7091:5:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}],"expression":{"id":11929,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"7060:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7063:13:12","memberName":"serializeBool","nodeType":"MemberAccess","referencedDeclaration":14713,"src":"7060:16:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bool[] memory) external returns (string memory)"}},"id":11934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7060:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11928,"id":11935,"nodeType":"Return","src":"7053:44:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"6917:9:12","parameters":{"id":11925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11919,"mutability":"mutable","name":"jsonKey","nameLocation":"6941:7:12","nodeType":"VariableDeclaration","scope":11937,"src":"6927:21:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11918,"name":"string","nodeType":"ElementaryTypeName","src":"6927:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11921,"mutability":"mutable","name":"key","nameLocation":"6964:3:12","nodeType":"VariableDeclaration","scope":11937,"src":"6950:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11920,"name":"string","nodeType":"ElementaryTypeName","src":"6950:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11924,"mutability":"mutable","name":"value","nameLocation":"6983:5:12","nodeType":"VariableDeclaration","scope":11937,"src":"6969:19:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":11922,"name":"bool","nodeType":"ElementaryTypeName","src":"6969:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11923,"nodeType":"ArrayTypeName","src":"6969:6:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"6926:63:12"},"returnParameters":{"id":11928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11927,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11937,"src":"7024:13:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11926,"name":"string","nodeType":"ElementaryTypeName","src":"7024:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7023:15:12"},"scope":12205,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":11956,"nodeType":"FunctionDefinition","src":"7110:170:12","nodes":[],"body":{"id":11955,"nodeType":"Block","src":"7219:61:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":11950,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11939,"src":"7253:7:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11951,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11941,"src":"7262:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11952,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11943,"src":"7267:5:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11948,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"7236:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7239:13:12","memberName":"serializeUint","nodeType":"MemberAccess","referencedDeclaration":14871,"src":"7236:16:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,uint256) external returns (string memory)"}},"id":11953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7236:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11947,"id":11954,"nodeType":"Return","src":"7229:44:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7119:9:12","parameters":{"id":11944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11939,"mutability":"mutable","name":"jsonKey","nameLocation":"7143:7:12","nodeType":"VariableDeclaration","scope":11956,"src":"7129:21:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11938,"name":"string","nodeType":"ElementaryTypeName","src":"7129:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11941,"mutability":"mutable","name":"key","nameLocation":"7166:3:12","nodeType":"VariableDeclaration","scope":11956,"src":"7152:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11940,"name":"string","nodeType":"ElementaryTypeName","src":"7152:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11943,"mutability":"mutable","name":"value","nameLocation":"7179:5:12","nodeType":"VariableDeclaration","scope":11956,"src":"7171:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11942,"name":"uint256","nodeType":"ElementaryTypeName","src":"7171:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7128:57:12"},"returnParameters":{"id":11947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11946,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11956,"src":"7204:13:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11945,"name":"string","nodeType":"ElementaryTypeName","src":"7204:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7203:15:12"},"scope":12205,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":11976,"nodeType":"FunctionDefinition","src":"7286:199:12","nodes":[],"body":{"id":11975,"nodeType":"Block","src":"7424:61:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":11970,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11958,"src":"7458:7:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11971,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11960,"src":"7467:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11972,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11963,"src":"7472:5:12","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"expression":{"id":11968,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"7441:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7444:13:12","memberName":"serializeUint","nodeType":"MemberAccess","referencedDeclaration":14884,"src":"7441:16:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,uint256[] memory) external returns (string memory)"}},"id":11973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7441:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11967,"id":11974,"nodeType":"Return","src":"7434:44:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7295:9:12","parameters":{"id":11964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11958,"mutability":"mutable","name":"jsonKey","nameLocation":"7319:7:12","nodeType":"VariableDeclaration","scope":11976,"src":"7305:21:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11957,"name":"string","nodeType":"ElementaryTypeName","src":"7305:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11960,"mutability":"mutable","name":"key","nameLocation":"7342:3:12","nodeType":"VariableDeclaration","scope":11976,"src":"7328:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11959,"name":"string","nodeType":"ElementaryTypeName","src":"7328:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11963,"mutability":"mutable","name":"value","nameLocation":"7364:5:12","nodeType":"VariableDeclaration","scope":11976,"src":"7347:22:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11961,"name":"uint256","nodeType":"ElementaryTypeName","src":"7347:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11962,"nodeType":"ArrayTypeName","src":"7347:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"7304:66:12"},"returnParameters":{"id":11967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11966,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11976,"src":"7405:13:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11965,"name":"string","nodeType":"ElementaryTypeName","src":"7405:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7404:15:12"},"scope":12205,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":11995,"nodeType":"FunctionDefinition","src":"7491:168:12","nodes":[],"body":{"id":11994,"nodeType":"Block","src":"7599:60:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":11989,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11978,"src":"7632:7:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11990,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11980,"src":"7641:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11991,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11982,"src":"7646:5:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":11987,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"7616:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":11988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7619:12:12","memberName":"serializeInt","nodeType":"MemberAccess","referencedDeclaration":14775,"src":"7616:15:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,int256) external returns (string memory)"}},"id":11992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7616:36:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11986,"id":11993,"nodeType":"Return","src":"7609:43:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7500:9:12","parameters":{"id":11983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11978,"mutability":"mutable","name":"jsonKey","nameLocation":"7524:7:12","nodeType":"VariableDeclaration","scope":11995,"src":"7510:21:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11977,"name":"string","nodeType":"ElementaryTypeName","src":"7510:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11980,"mutability":"mutable","name":"key","nameLocation":"7547:3:12","nodeType":"VariableDeclaration","scope":11995,"src":"7533:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11979,"name":"string","nodeType":"ElementaryTypeName","src":"7533:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11982,"mutability":"mutable","name":"value","nameLocation":"7559:5:12","nodeType":"VariableDeclaration","scope":11995,"src":"7552:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11981,"name":"int256","nodeType":"ElementaryTypeName","src":"7552:6:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7509:56:12"},"returnParameters":{"id":11986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11985,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11995,"src":"7584:13:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11984,"name":"string","nodeType":"ElementaryTypeName","src":"7584:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7583:15:12"},"scope":12205,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12015,"nodeType":"FunctionDefinition","src":"7665:197:12","nodes":[],"body":{"id":12014,"nodeType":"Block","src":"7802:60:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":12009,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11997,"src":"7835:7:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12010,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11999,"src":"7844:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12011,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12002,"src":"7849:5:12","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}],"expression":{"id":12007,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"7819:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":12008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7822:12:12","memberName":"serializeInt","nodeType":"MemberAccess","referencedDeclaration":14788,"src":"7819:15:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,int256[] memory) external returns (string memory)"}},"id":12012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7819:36:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12006,"id":12013,"nodeType":"Return","src":"7812:43:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7674:9:12","parameters":{"id":12003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11997,"mutability":"mutable","name":"jsonKey","nameLocation":"7698:7:12","nodeType":"VariableDeclaration","scope":12015,"src":"7684:21:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11996,"name":"string","nodeType":"ElementaryTypeName","src":"7684:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11999,"mutability":"mutable","name":"key","nameLocation":"7721:3:12","nodeType":"VariableDeclaration","scope":12015,"src":"7707:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11998,"name":"string","nodeType":"ElementaryTypeName","src":"7707:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12002,"mutability":"mutable","name":"value","nameLocation":"7742:5:12","nodeType":"VariableDeclaration","scope":12015,"src":"7726:21:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":12000,"name":"int256","nodeType":"ElementaryTypeName","src":"7726:6:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":12001,"nodeType":"ArrayTypeName","src":"7726:8:12","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"7683:65:12"},"returnParameters":{"id":12006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12005,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12015,"src":"7783:13:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12004,"name":"string","nodeType":"ElementaryTypeName","src":"7783:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7782:15:12"},"scope":12205,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12034,"nodeType":"FunctionDefinition","src":"7868:173:12","nodes":[],"body":{"id":12033,"nodeType":"Block","src":"7977:64:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":12028,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12017,"src":"8014:7:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12029,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12019,"src":"8023:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12030,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12021,"src":"8028:5:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12026,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"7994:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":12027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7997:16:12","memberName":"serializeAddress","nodeType":"MemberAccess","referencedDeclaration":14675,"src":"7994:19:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,address) external returns (string memory)"}},"id":12031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7994:40:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12025,"id":12032,"nodeType":"Return","src":"7987:47:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7877:9:12","parameters":{"id":12022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12017,"mutability":"mutable","name":"jsonKey","nameLocation":"7901:7:12","nodeType":"VariableDeclaration","scope":12034,"src":"7887:21:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12016,"name":"string","nodeType":"ElementaryTypeName","src":"7887:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12019,"mutability":"mutable","name":"key","nameLocation":"7924:3:12","nodeType":"VariableDeclaration","scope":12034,"src":"7910:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12018,"name":"string","nodeType":"ElementaryTypeName","src":"7910:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12021,"mutability":"mutable","name":"value","nameLocation":"7937:5:12","nodeType":"VariableDeclaration","scope":12034,"src":"7929:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12020,"name":"address","nodeType":"ElementaryTypeName","src":"7929:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7886:57:12"},"returnParameters":{"id":12025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12024,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12034,"src":"7962:13:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12023,"name":"string","nodeType":"ElementaryTypeName","src":"7962:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7961:15:12"},"scope":12205,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12054,"nodeType":"FunctionDefinition","src":"8047:202:12","nodes":[],"body":{"id":12053,"nodeType":"Block","src":"8185:64:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":12048,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12036,"src":"8222:7:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12049,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12038,"src":"8231:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12050,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12041,"src":"8236:5:12","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":12046,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"8202:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":12047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8205:16:12","memberName":"serializeAddress","nodeType":"MemberAccess","referencedDeclaration":14688,"src":"8202:19:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,address[] memory) external returns (string memory)"}},"id":12051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8202:40:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12045,"id":12052,"nodeType":"Return","src":"8195:47:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8056:9:12","parameters":{"id":12042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12036,"mutability":"mutable","name":"jsonKey","nameLocation":"8080:7:12","nodeType":"VariableDeclaration","scope":12054,"src":"8066:21:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12035,"name":"string","nodeType":"ElementaryTypeName","src":"8066:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12038,"mutability":"mutable","name":"key","nameLocation":"8103:3:12","nodeType":"VariableDeclaration","scope":12054,"src":"8089:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12037,"name":"string","nodeType":"ElementaryTypeName","src":"8089:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12041,"mutability":"mutable","name":"value","nameLocation":"8125:5:12","nodeType":"VariableDeclaration","scope":12054,"src":"8108:22:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12039,"name":"address","nodeType":"ElementaryTypeName","src":"8108:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12040,"nodeType":"ArrayTypeName","src":"8108:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"8065:66:12"},"returnParameters":{"id":12045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12044,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12054,"src":"8166:13:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12043,"name":"string","nodeType":"ElementaryTypeName","src":"8166:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8165:15:12"},"scope":12205,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12073,"nodeType":"FunctionDefinition","src":"8255:173:12","nodes":[],"body":{"id":12072,"nodeType":"Block","src":"8364:64:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":12067,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12056,"src":"8401:7:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12068,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12058,"src":"8410:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12069,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12060,"src":"8415:5:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":12065,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"8381:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":12066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8384:16:12","memberName":"serializeBytes32","nodeType":"MemberAccess","referencedDeclaration":14725,"src":"8381:19:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes32) external returns (string memory)"}},"id":12070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8381:40:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12064,"id":12071,"nodeType":"Return","src":"8374:47:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8264:9:12","parameters":{"id":12061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12056,"mutability":"mutable","name":"jsonKey","nameLocation":"8288:7:12","nodeType":"VariableDeclaration","scope":12073,"src":"8274:21:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12055,"name":"string","nodeType":"ElementaryTypeName","src":"8274:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12058,"mutability":"mutable","name":"key","nameLocation":"8311:3:12","nodeType":"VariableDeclaration","scope":12073,"src":"8297:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12057,"name":"string","nodeType":"ElementaryTypeName","src":"8297:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12060,"mutability":"mutable","name":"value","nameLocation":"8324:5:12","nodeType":"VariableDeclaration","scope":12073,"src":"8316:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12059,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8316:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8273:57:12"},"returnParameters":{"id":12064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12063,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12073,"src":"8349:13:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12062,"name":"string","nodeType":"ElementaryTypeName","src":"8349:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8348:15:12"},"scope":12205,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12093,"nodeType":"FunctionDefinition","src":"8434:202:12","nodes":[],"body":{"id":12092,"nodeType":"Block","src":"8572:64:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":12087,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12075,"src":"8609:7:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12088,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12077,"src":"8618:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12089,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12080,"src":"8623:5:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":12085,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"8589:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":12086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8592:16:12","memberName":"serializeBytes32","nodeType":"MemberAccess","referencedDeclaration":14738,"src":"8589:19:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes32[] memory) external returns (string memory)"}},"id":12090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8589:40:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12084,"id":12091,"nodeType":"Return","src":"8582:47:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8443:9:12","parameters":{"id":12081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12075,"mutability":"mutable","name":"jsonKey","nameLocation":"8467:7:12","nodeType":"VariableDeclaration","scope":12093,"src":"8453:21:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12074,"name":"string","nodeType":"ElementaryTypeName","src":"8453:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12077,"mutability":"mutable","name":"key","nameLocation":"8490:3:12","nodeType":"VariableDeclaration","scope":12093,"src":"8476:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12076,"name":"string","nodeType":"ElementaryTypeName","src":"8476:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12080,"mutability":"mutable","name":"value","nameLocation":"8512:5:12","nodeType":"VariableDeclaration","scope":12093,"src":"8495:22:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12078,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8495:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12079,"nodeType":"ArrayTypeName","src":"8495:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"8452:66:12"},"returnParameters":{"id":12084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12083,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12093,"src":"8553:13:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12082,"name":"string","nodeType":"ElementaryTypeName","src":"8553:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8552:15:12"},"scope":12205,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12112,"nodeType":"FunctionDefinition","src":"8642:176:12","nodes":[],"body":{"id":12111,"nodeType":"Block","src":"8756:62:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":12106,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12095,"src":"8791:7:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12107,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12097,"src":"8800:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12108,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12099,"src":"8805:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":12104,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"8773:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":12105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8776:14:12","memberName":"serializeBytes","nodeType":"MemberAccess","referencedDeclaration":14750,"src":"8773:17:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes memory) external returns (string memory)"}},"id":12109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8773:38:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12103,"id":12110,"nodeType":"Return","src":"8766:45:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8651:9:12","parameters":{"id":12100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12095,"mutability":"mutable","name":"jsonKey","nameLocation":"8675:7:12","nodeType":"VariableDeclaration","scope":12112,"src":"8661:21:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12094,"name":"string","nodeType":"ElementaryTypeName","src":"8661:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12097,"mutability":"mutable","name":"key","nameLocation":"8698:3:12","nodeType":"VariableDeclaration","scope":12112,"src":"8684:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12096,"name":"string","nodeType":"ElementaryTypeName","src":"8684:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12099,"mutability":"mutable","name":"value","nameLocation":"8716:5:12","nodeType":"VariableDeclaration","scope":12112,"src":"8703:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12098,"name":"bytes","nodeType":"ElementaryTypeName","src":"8703:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8660:62:12"},"returnParameters":{"id":12103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12102,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12112,"src":"8741:13:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12101,"name":"string","nodeType":"ElementaryTypeName","src":"8741:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8740:15:12"},"scope":12205,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12132,"nodeType":"FunctionDefinition","src":"8824:198:12","nodes":[],"body":{"id":12131,"nodeType":"Block","src":"8960:62:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":12126,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12114,"src":"8995:7:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12127,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12116,"src":"9004:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12128,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12119,"src":"9009:5:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"expression":{"id":12124,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"8977:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":12125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8980:14:12","memberName":"serializeBytes","nodeType":"MemberAccess","referencedDeclaration":14763,"src":"8977:17:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes memory[] memory) external returns (string memory)"}},"id":12129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8977:38:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12123,"id":12130,"nodeType":"Return","src":"8970:45:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8833:9:12","parameters":{"id":12120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12114,"mutability":"mutable","name":"jsonKey","nameLocation":"8857:7:12","nodeType":"VariableDeclaration","scope":12132,"src":"8843:21:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12113,"name":"string","nodeType":"ElementaryTypeName","src":"8843:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12116,"mutability":"mutable","name":"key","nameLocation":"8880:3:12","nodeType":"VariableDeclaration","scope":12132,"src":"8866:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12115,"name":"string","nodeType":"ElementaryTypeName","src":"8866:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12119,"mutability":"mutable","name":"value","nameLocation":"8900:5:12","nodeType":"VariableDeclaration","scope":12132,"src":"8885:20:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":12117,"name":"bytes","nodeType":"ElementaryTypeName","src":"8885:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":12118,"nodeType":"ArrayTypeName","src":"8885:7:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"8842:64:12"},"returnParameters":{"id":12123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12122,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12132,"src":"8941:13:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12121,"name":"string","nodeType":"ElementaryTypeName","src":"8941:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8940:15:12"},"scope":12205,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12151,"nodeType":"FunctionDefinition","src":"9028:198:12","nodes":[],"body":{"id":12150,"nodeType":"Block","src":"9163:63:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":12145,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12134,"src":"9199:7:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12146,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12136,"src":"9208:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12147,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12138,"src":"9213:5:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12143,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"9180:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":12144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9183:15:12","memberName":"serializeString","nodeType":"MemberAccess","referencedDeclaration":14834,"src":"9180:18:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,string memory) external returns (string memory)"}},"id":12148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9180:39:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12142,"id":12149,"nodeType":"Return","src":"9173:46:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"9037:9:12","parameters":{"id":12139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12134,"mutability":"mutable","name":"jsonKey","nameLocation":"9061:7:12","nodeType":"VariableDeclaration","scope":12151,"src":"9047:21:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12133,"name":"string","nodeType":"ElementaryTypeName","src":"9047:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12136,"mutability":"mutable","name":"key","nameLocation":"9084:3:12","nodeType":"VariableDeclaration","scope":12151,"src":"9070:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12135,"name":"string","nodeType":"ElementaryTypeName","src":"9070:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12138,"mutability":"mutable","name":"value","nameLocation":"9103:5:12","nodeType":"VariableDeclaration","scope":12151,"src":"9089:19:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12137,"name":"string","nodeType":"ElementaryTypeName","src":"9089:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9046:63:12"},"returnParameters":{"id":12142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12141,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12151,"src":"9144:13:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12140,"name":"string","nodeType":"ElementaryTypeName","src":"9144:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9143:15:12"},"scope":12205,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12171,"nodeType":"FunctionDefinition","src":"9232:200:12","nodes":[],"body":{"id":12170,"nodeType":"Block","src":"9369:63:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":12165,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12153,"src":"9405:7:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12166,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12155,"src":"9414:3:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12167,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12158,"src":"9419:5:12","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":12163,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"9386:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":12164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9389:15:12","memberName":"serializeString","nodeType":"MemberAccess","referencedDeclaration":14847,"src":"9386:18:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,string memory[] memory) external returns (string memory)"}},"id":12168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9386:39:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12162,"id":12169,"nodeType":"Return","src":"9379:46:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"9241:9:12","parameters":{"id":12159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12153,"mutability":"mutable","name":"jsonKey","nameLocation":"9265:7:12","nodeType":"VariableDeclaration","scope":12171,"src":"9251:21:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12152,"name":"string","nodeType":"ElementaryTypeName","src":"9251:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12155,"mutability":"mutable","name":"key","nameLocation":"9288:3:12","nodeType":"VariableDeclaration","scope":12171,"src":"9274:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12154,"name":"string","nodeType":"ElementaryTypeName","src":"9274:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12158,"mutability":"mutable","name":"value","nameLocation":"9309:5:12","nodeType":"VariableDeclaration","scope":12171,"src":"9293:21:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":12156,"name":"string","nodeType":"ElementaryTypeName","src":"9293:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12157,"nodeType":"ArrayTypeName","src":"9293:8:12","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"9250:65:12"},"returnParameters":{"id":12162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12161,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12171,"src":"9350:13:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12160,"name":"string","nodeType":"ElementaryTypeName","src":"9350:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9349:15:12"},"scope":12205,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12186,"nodeType":"FunctionDefinition","src":"9438:111:12","nodes":[],"body":{"id":12185,"nodeType":"Block","src":"9505:44:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":12181,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12173,"src":"9528:7:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12182,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12175,"src":"9537:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12178,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"9515:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":12180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9518:9:12","memberName":"writeToml","nodeType":"MemberAccess","referencedDeclaration":16711,"src":"9515:12:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":12183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9515:27:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12184,"nodeType":"ExpressionStatement","src":"9515:27:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"write","nameLocation":"9447:5:12","parameters":{"id":12176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12173,"mutability":"mutable","name":"jsonKey","nameLocation":"9467:7:12","nodeType":"VariableDeclaration","scope":12186,"src":"9453:21:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12172,"name":"string","nodeType":"ElementaryTypeName","src":"9453:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12175,"mutability":"mutable","name":"path","nameLocation":"9490:4:12","nodeType":"VariableDeclaration","scope":12186,"src":"9476:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12174,"name":"string","nodeType":"ElementaryTypeName","src":"9476:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9452:43:12"},"returnParameters":{"id":12177,"nodeType":"ParameterList","parameters":[],"src":"9505:0:12"},"scope":12205,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12204,"nodeType":"FunctionDefinition","src":"9555:145:12","nodes":[],"body":{"id":12203,"nodeType":"Block","src":"9646:54:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":12198,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12188,"src":"9669:7:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12199,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12190,"src":"9678:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12200,"name":"valueKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12192,"src":"9684:8:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12195,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11283,"src":"9656:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":12197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9659:9:12","memberName":"writeToml","nodeType":"MemberAccess","referencedDeclaration":16721,"src":"9656:12:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory,string memory) external"}},"id":12201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9656:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12202,"nodeType":"ExpressionStatement","src":"9656:37:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"write","nameLocation":"9564:5:12","parameters":{"id":12193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12188,"mutability":"mutable","name":"jsonKey","nameLocation":"9584:7:12","nodeType":"VariableDeclaration","scope":12204,"src":"9570:21:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12187,"name":"string","nodeType":"ElementaryTypeName","src":"9570:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12190,"mutability":"mutable","name":"path","nameLocation":"9607:4:12","nodeType":"VariableDeclaration","scope":12204,"src":"9593:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12189,"name":"string","nodeType":"ElementaryTypeName","src":"9593:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12192,"mutability":"mutable","name":"valueKey","nameLocation":"9627:8:12","nodeType":"VariableDeclaration","scope":12204,"src":"9613:22:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12191,"name":"string","nodeType":"ElementaryTypeName","src":"9613:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9569:67:12"},"returnParameters":{"id":12194,"nodeType":"ParameterList","parameters":[],"src":"9646:0:12"},"scope":12205,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"stdToml","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[12205],"name":"stdToml","nameLocation":"618:7:12","scope":12206,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdUtils.sol":{"id":13,"ast":{"absolutePath":"lib/forge-std/src/StdUtils.sol","id":12933,"exportedSymbols":{"IMulticall3":[26284],"StdUtils":[12932],"VmSafe":[16930]},"nodeType":"SourceUnit","src":"32:9992:13","nodes":[{"id":12207,"nodeType":"PragmaDirective","src":"32:31:13","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":12208,"nodeType":"PragmaDirective","src":"65:33:13","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":12210,"nodeType":"ImportDirective","src":"100:57:13","nodes":[],"absolutePath":"lib/forge-std/src/interfaces/IMulticall3.sol","file":"./interfaces/IMulticall3.sol","nameLocation":"-1:-1:-1","scope":12933,"sourceUnit":26285,"symbolAliases":[{"foreign":{"id":12209,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26284,"src":"108:11:13","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12212,"nodeType":"ImportDirective","src":"158:32:13","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":12933,"sourceUnit":18002,"symbolAliases":[{"foreign":{"id":12211,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16930,"src":"166:6:13","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12932,"nodeType":"ContractDefinition","src":"192:9831:13","nodes":[{"id":12218,"nodeType":"VariableDeclaration","src":"435:96:13","nodes":[],"constant":true,"mutability":"constant","name":"multicall","nameLocation":"464:9:13","scope":12932,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$26284","typeString":"contract IMulticall3"},"typeName":{"id":12214,"nodeType":"UserDefinedTypeName","pathNode":{"id":12213,"name":"IMulticall3","nameLocations":["435:11:13"],"nodeType":"IdentifierPath","referencedDeclaration":26284,"src":"435:11:13"},"referencedDeclaration":26284,"src":"435:11:13","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$26284","typeString":"contract IMulticall3"}},"value":{"arguments":[{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":12216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"488:42:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12215,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26284,"src":"476:11:13","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$26284_$","typeString":"type(contract IMulticall3)"}},"id":12217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"476:55:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$26284","typeString":"contract IMulticall3"}},"visibility":"private"},{"id":12235,"nodeType":"VariableDeclaration","src":"537:92:13","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"561:2:13","scope":12932,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"},"typeName":{"id":12220,"nodeType":"UserDefinedTypeName","pathNode":{"id":12219,"name":"VmSafe","nameLocations":["537:6:13"],"nodeType":"IdentifierPath","referencedDeclaration":16930,"src":"537:6:13"},"referencedDeclaration":16930,"src":"537:6:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":12229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"607:17:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":12228,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"597:9:13","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":12230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"597:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":12227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"589:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12226,"name":"uint256","nodeType":"ElementaryTypeName","src":"589:7:13","typeDescriptions":{}}},"id":12231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"589:37:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12225,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"581:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":12224,"name":"uint160","nodeType":"ElementaryTypeName","src":"581:7:13","typeDescriptions":{}}},"id":12232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"581:46:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":12223,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"573:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12222,"name":"address","nodeType":"ElementaryTypeName","src":"573:7:13","typeDescriptions":{}}},"id":12233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"573:55:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12221,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16930,"src":"566:6:13","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$16930_$","typeString":"type(contract VmSafe)"}},"id":12234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"566:63:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"visibility":"private"},{"id":12238,"nodeType":"VariableDeclaration","src":"635:86:13","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE2_ADDRESS","nameLocation":"660:16:13","scope":12932,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12236,"name":"address","nodeType":"ElementaryTypeName","src":"635:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":12237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"679:42:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"private"},{"id":12241,"nodeType":"VariableDeclaration","src":"727:127:13","nodes":[],"constant":true,"mutability":"constant","name":"INT256_MIN_ABS","nameLocation":"752:14:13","scope":12932,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12239,"name":"uint256","nodeType":"ElementaryTypeName","src":"727:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":12240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"777:77:13","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"value":"57896044618658097711785492504343953926634992332820282019728792003956564819968"},"visibility":"private"},{"id":12244,"nodeType":"VariableDeclaration","src":"860:129:13","nodes":[],"constant":true,"mutability":"constant","name":"SECP256K1_ORDER","nameLocation":"885:15:13","scope":12932,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12242,"name":"uint256","nodeType":"ElementaryTypeName","src":"860:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383532383337353634323739303734393034333832363035313633313431353138313631343934333337","id":12243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"911:78:13","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907852837564279074904382605163141518161494337_by_1","typeString":"int_const 1157...(70 digits omitted)...4337"},"value":"115792089237316195423570985008687907852837564279074904382605163141518161494337"},"visibility":"private"},{"id":12247,"nodeType":"VariableDeclaration","src":"995:125:13","nodes":[],"constant":true,"mutability":"constant","name":"UINT256_MAX","nameLocation":"1020:11:13","scope":12932,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12245,"name":"uint256","nodeType":"ElementaryTypeName","src":"995:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":12246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1042:78:13","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"private"},{"id":12250,"nodeType":"VariableDeclaration","src":"1239:85:13","nodes":[],"constant":true,"mutability":"constant","name":"CREATE2_FACTORY","nameLocation":"1264:15:13","scope":12932,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12248,"name":"address","nodeType":"ElementaryTypeName","src":"1239:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":12249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1282:42:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"visibility":"private"},{"id":12380,"nodeType":"FunctionDefinition","src":"1546:1263:13","nodes":[],"body":{"id":12379,"nodeType":"Block","src":"1646:1163:13","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12262,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12254,"src":"1664:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":12263,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12256,"src":"1671:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1664:10:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c7320626f756e642875696e743235362c75696e743235362c75696e74323536293a204d6178206973206c657373207468616e206d696e2e","id":12265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1676:64:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_16c21f4eccdbbd49e5dc1331f271d929c25cafaf25207892b67e15553a16c5f2","typeString":"literal_string \"StdUtils bound(uint256,uint256,uint256): Max is less than min.\""},"value":"StdUtils bound(uint256,uint256,uint256): Max is less than min."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_16c21f4eccdbbd49e5dc1331f271d929c25cafaf25207892b67e15553a16c5f2","typeString":"literal_string \"StdUtils bound(uint256,uint256,uint256): Max is less than min.\""}],"id":12261,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1656:7:13","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1656:85:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12267,"nodeType":"ExpressionStatement","src":"1656:85:13"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":12274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12268,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12252,"src":"1970:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":12269,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12254,"src":"1975:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1970:8:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12271,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12252,"src":"1982:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":12272,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12256,"src":"1987:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1982:8:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1970:20:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12277,"nodeType":"IfStatement","src":"1966:34:13","trueBody":{"expression":{"id":12275,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12252,"src":"1999:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12260,"id":12276,"nodeType":"Return","src":"1992:8:13"}},{"assignments":[12279],"declarations":[{"constant":false,"id":12279,"mutability":"mutable","name":"size","nameLocation":"2019:4:13","nodeType":"VariableDeclaration","scope":12379,"src":"2011:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12278,"name":"uint256","nodeType":"ElementaryTypeName","src":"2011:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12285,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12280,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12256,"src":"2026:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12281,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12254,"src":"2032:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2026:9:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":12283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2038:1:13","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2026:13:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2011:28:13"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":12292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12286,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12252,"src":"2229:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"33","id":12287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2234:1:13","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"2229:6:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12289,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12279,"src":"2239:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":12290,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12252,"src":"2246:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2239:8:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2229:18:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12297,"nodeType":"IfStatement","src":"2225:38:13","trueBody":{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12293,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12254,"src":"2256:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":12294,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12252,"src":"2262:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2256:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12260,"id":12296,"nodeType":"Return","src":"2249:14:13"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":12308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12298,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12252,"src":"2277:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12301,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":12299,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12247,"src":"2282:11:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"33","id":12300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2296:1:13","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"2282:15:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2277:20:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12303,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12279,"src":"2301:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12304,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12247,"src":"2308:11:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12305,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12252,"src":"2322:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2308:15:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2301:22:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2277:46:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12316,"nodeType":"IfStatement","src":"2273:82:13","trueBody":{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12309,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12256,"src":"2332:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12310,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12247,"src":"2339:11:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12311,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12252,"src":"2353:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2339:15:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12313,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2338:17:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2332:23:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12260,"id":12315,"nodeType":"Return","src":"2325:30:13"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12317,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12252,"src":"2455:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":12318,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12256,"src":"2459:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2455:7:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12347,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12252,"src":"2634:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":12348,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12254,"src":"2638:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2634:7:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12377,"nodeType":"IfStatement","src":"2630:173:13","trueBody":{"id":12376,"nodeType":"Block","src":"2643:160:13","statements":[{"assignments":[12351],"declarations":[{"constant":false,"id":12351,"mutability":"mutable","name":"diff","nameLocation":"2665:4:13","nodeType":"VariableDeclaration","scope":12376,"src":"2657:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12350,"name":"uint256","nodeType":"ElementaryTypeName","src":"2657:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12355,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12352,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12254,"src":"2672:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12353,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12252,"src":"2678:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2672:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2657:22:13"},{"assignments":[12357],"declarations":[{"constant":false,"id":12357,"mutability":"mutable","name":"rem","nameLocation":"2701:3:13","nodeType":"VariableDeclaration","scope":12376,"src":"2693:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12356,"name":"uint256","nodeType":"ElementaryTypeName","src":"2693:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12361,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12358,"name":"diff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12351,"src":"2707:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":12359,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12279,"src":"2714:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2707:11:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2693:25:13"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12362,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12357,"src":"2736:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":12363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2743:1:13","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2736:8:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12367,"nodeType":"IfStatement","src":"2732:24:13","trueBody":{"expression":{"id":12365,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12254,"src":"2753:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12260,"id":12366,"nodeType":"Return","src":"2746:10:13"}},{"expression":{"id":12374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12368,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12259,"src":"2770:6:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12369,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12256,"src":"2779:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12370,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12357,"src":"2785:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2779:9:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":12372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2791:1:13","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2779:13:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2770:22:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12375,"nodeType":"ExpressionStatement","src":"2770:22:13"}]}},"id":12378,"nodeType":"IfStatement","src":"2451:352:13","trueBody":{"id":12346,"nodeType":"Block","src":"2464:160:13","statements":[{"assignments":[12321],"declarations":[{"constant":false,"id":12321,"mutability":"mutable","name":"diff","nameLocation":"2486:4:13","nodeType":"VariableDeclaration","scope":12346,"src":"2478:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12320,"name":"uint256","nodeType":"ElementaryTypeName","src":"2478:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12325,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12322,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12252,"src":"2493:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12323,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12256,"src":"2497:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2493:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2478:22:13"},{"assignments":[12327],"declarations":[{"constant":false,"id":12327,"mutability":"mutable","name":"rem","nameLocation":"2522:3:13","nodeType":"VariableDeclaration","scope":12346,"src":"2514:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12326,"name":"uint256","nodeType":"ElementaryTypeName","src":"2514:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12331,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12328,"name":"diff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12321,"src":"2528:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":12329,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12279,"src":"2535:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2528:11:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2514:25:13"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12332,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12327,"src":"2557:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":12333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2564:1:13","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2557:8:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12337,"nodeType":"IfStatement","src":"2553:24:13","trueBody":{"expression":{"id":12335,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12256,"src":"2574:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12260,"id":12336,"nodeType":"Return","src":"2567:10:13"}},{"expression":{"id":12344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12338,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12259,"src":"2591:6:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12339,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12254,"src":"2600:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":12340,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12327,"src":"2606:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2600:9:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":12342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2612:1:13","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2600:13:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2591:22:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12345,"nodeType":"ExpressionStatement","src":"2591:22:13"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_bound","nameLocation":"1555:6:13","parameters":{"id":12257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12252,"mutability":"mutable","name":"x","nameLocation":"1570:1:13","nodeType":"VariableDeclaration","scope":12380,"src":"1562:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12251,"name":"uint256","nodeType":"ElementaryTypeName","src":"1562:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12254,"mutability":"mutable","name":"min","nameLocation":"1581:3:13","nodeType":"VariableDeclaration","scope":12380,"src":"1573:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12253,"name":"uint256","nodeType":"ElementaryTypeName","src":"1573:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12256,"mutability":"mutable","name":"max","nameLocation":"1594:3:13","nodeType":"VariableDeclaration","scope":12380,"src":"1586:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12255,"name":"uint256","nodeType":"ElementaryTypeName","src":"1586:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1561:37:13"},"returnParameters":{"id":12260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12259,"mutability":"mutable","name":"result","nameLocation":"1638:6:13","nodeType":"VariableDeclaration","scope":12380,"src":"1630:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12258,"name":"uint256","nodeType":"ElementaryTypeName","src":"1630:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1629:16:13"},"scope":12932,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":12405,"nodeType":"FunctionDefinition","src":"2815:199:13","nodes":[],"body":{"id":12404,"nodeType":"Block","src":"2914:100:13","nodes":[],"statements":[{"expression":{"id":12397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12391,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12389,"src":"2924:6:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":12393,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12382,"src":"2940:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12394,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12384,"src":"2943:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12395,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12386,"src":"2948:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12392,"name":"_bound","nodeType":"Identifier","overloadedDeclarations":[12380,12527],"referencedDeclaration":12380,"src":"2933:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":12396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2933:19:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2924:28:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12398,"nodeType":"ExpressionStatement","src":"2924:28:13"},{"expression":{"arguments":[{"hexValue":"426f756e6420726573756c74","id":12400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2984:14:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_81387530263afdcc351da6c89e6a10d49583b5beb1fecaddd0371443f1cd026f","typeString":"literal_string \"Bound result\""},"value":"Bound result"},{"id":12401,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12389,"src":"3000:6:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_81387530263afdcc351da6c89e6a10d49583b5beb1fecaddd0371443f1cd026f","typeString":"literal_string \"Bound result\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12399,"name":"console2_log_StdUtils","nodeType":"Identifier","overloadedDeclarations":[12897,12914,12931],"referencedDeclaration":12914,"src":"2962:21:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":12402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2962:45:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12403,"nodeType":"ExpressionStatement","src":"2962:45:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bound","nameLocation":"2824:5:13","parameters":{"id":12387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12382,"mutability":"mutable","name":"x","nameLocation":"2838:1:13","nodeType":"VariableDeclaration","scope":12405,"src":"2830:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12381,"name":"uint256","nodeType":"ElementaryTypeName","src":"2830:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12384,"mutability":"mutable","name":"min","nameLocation":"2849:3:13","nodeType":"VariableDeclaration","scope":12405,"src":"2841:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12383,"name":"uint256","nodeType":"ElementaryTypeName","src":"2841:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12386,"mutability":"mutable","name":"max","nameLocation":"2862:3:13","nodeType":"VariableDeclaration","scope":12405,"src":"2854:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12385,"name":"uint256","nodeType":"ElementaryTypeName","src":"2854:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2829:37:13"},"returnParameters":{"id":12390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12389,"mutability":"mutable","name":"result","nameLocation":"2906:6:13","nodeType":"VariableDeclaration","scope":12405,"src":"2898:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12388,"name":"uint256","nodeType":"ElementaryTypeName","src":"2898:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2897:16:13"},"scope":12932,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":12527,"nodeType":"FunctionDefinition","src":"3020:1145:13","nodes":[],"body":{"id":12526,"nodeType":"Block","src":"3116:1049:13","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":12419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12417,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12409,"src":"3134:3:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":12418,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12411,"src":"3141:3:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"3134:10:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c7320626f756e6428696e743235362c696e743235362c696e74323536293a204d6178206973206c657373207468616e206d696e2e","id":12420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3146:61:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_0fd736be0f0596d130ab62399a2ecc4855db1de6a3b01be590df45aa0de73247","typeString":"literal_string \"StdUtils bound(int256,int256,int256): Max is less than min.\""},"value":"StdUtils bound(int256,int256,int256): Max is less than min."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0fd736be0f0596d130ab62399a2ecc4855db1de6a3b01be590df45aa0de73247","typeString":"literal_string \"StdUtils bound(int256,int256,int256): Max is less than min.\""}],"id":12416,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3126:7:13","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3126:82:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12422,"nodeType":"ExpressionStatement","src":"3126:82:13"},{"assignments":[12424],"declarations":[{"constant":false,"id":12424,"mutability":"mutable","name":"_x","nameLocation":"3644:2:13","nodeType":"VariableDeclaration","scope":12526,"src":"3636:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12423,"name":"uint256","nodeType":"ElementaryTypeName","src":"3636:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12446,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":12427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12425,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12407,"src":"3649:1:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":12426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3653:1:13","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3649:5:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12440,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12407,"src":"3703:1:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":12439,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3695:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12438,"name":"uint256","nodeType":"ElementaryTypeName","src":"3695:7:13","typeDescriptions":{}}},"id":12441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3695:10:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":12442,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12241,"src":"3708:14:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3695:27:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12444,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3694:29:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3649:74:13","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12428,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12241,"src":"3658:14:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3675:11:13","subExpression":{"arguments":[{"id":12431,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12407,"src":"3684:1:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":12430,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3676:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12429,"name":"uint256","nodeType":"ElementaryTypeName","src":"3676:7:13","typeDescriptions":{}}},"id":12432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3676:10:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3658:28:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":12435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3689:1:13","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3658:32:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12437,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3657:34:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3636:87:13"},{"assignments":[12448],"declarations":[{"constant":false,"id":12448,"mutability":"mutable","name":"_min","nameLocation":"3741:4:13","nodeType":"VariableDeclaration","scope":12526,"src":"3733:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12447,"name":"uint256","nodeType":"ElementaryTypeName","src":"3733:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12470,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":12451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12449,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12409,"src":"3748:3:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":12450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3754:1:13","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3748:7:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12464,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12409,"src":"3806:3:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":12463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3798:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12462,"name":"uint256","nodeType":"ElementaryTypeName","src":"3798:7:13","typeDescriptions":{}}},"id":12465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3798:12:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":12466,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12241,"src":"3813:14:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3798:29:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12468,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3797:31:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3748:80:13","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12452,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12241,"src":"3759:14:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3776:13:13","subExpression":{"arguments":[{"id":12455,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12409,"src":"3785:3:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":12454,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3777:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12453,"name":"uint256","nodeType":"ElementaryTypeName","src":"3777:7:13","typeDescriptions":{}}},"id":12456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3777:12:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3759:30:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":12459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3792:1:13","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3759:34:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12461,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3758:36:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3733:95:13"},{"assignments":[12472],"declarations":[{"constant":false,"id":12472,"mutability":"mutable","name":"_max","nameLocation":"3846:4:13","nodeType":"VariableDeclaration","scope":12526,"src":"3838:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12471,"name":"uint256","nodeType":"ElementaryTypeName","src":"3838:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12494,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":12475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12473,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12411,"src":"3853:3:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":12474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3859:1:13","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3853:7:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12488,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12411,"src":"3911:3:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":12487,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3903:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12486,"name":"uint256","nodeType":"ElementaryTypeName","src":"3903:7:13","typeDescriptions":{}}},"id":12489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3903:12:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":12490,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12241,"src":"3918:14:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3903:29:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12492,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3902:31:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3853:80:13","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12476,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12241,"src":"3864:14:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3881:13:13","subExpression":{"arguments":[{"id":12479,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12411,"src":"3890:3:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":12478,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3882:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12477,"name":"uint256","nodeType":"ElementaryTypeName","src":"3882:7:13","typeDescriptions":{}}},"id":12480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3882:12:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3864:30:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":12483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3897:1:13","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3864:34:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12485,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3863:36:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3838:95:13"},{"assignments":[12496],"declarations":[{"constant":false,"id":12496,"mutability":"mutable","name":"y","nameLocation":"3952:1:13","nodeType":"VariableDeclaration","scope":12526,"src":"3944:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12495,"name":"uint256","nodeType":"ElementaryTypeName","src":"3944:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12502,"initialValue":{"arguments":[{"id":12498,"name":"_x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12424,"src":"3963:2:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12499,"name":"_min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12448,"src":"3967:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12500,"name":"_max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12472,"src":"3973:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12497,"name":"_bound","nodeType":"Identifier","overloadedDeclarations":[12380,12527],"referencedDeclaration":12380,"src":"3956:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":12501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3956:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3944:34:13"},{"expression":{"id":12524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12503,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12414,"src":"4066:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12504,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12496,"src":"4075:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":12505,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12241,"src":"4079:14:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4075:18:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12519,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12496,"src":"4139:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12520,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12241,"src":"4143:14:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4139:18:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4132:6:13","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":12517,"name":"int256","nodeType":"ElementaryTypeName","src":"4132:6:13","typeDescriptions":{}}},"id":12522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4132:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":12523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4075:83:13","trueExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"4103:21:13","subExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12509,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12241,"src":"4105:14:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12510,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12496,"src":"4122:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4105:18:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12512,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4104:20:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":12514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4127:1:13","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4103:25:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12508,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4096:6:13","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":12507,"name":"int256","nodeType":"ElementaryTypeName","src":"4096:6:13","typeDescriptions":{}}},"id":12516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4096:33:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"4066:92:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":12525,"nodeType":"ExpressionStatement","src":"4066:92:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_bound","nameLocation":"3029:6:13","parameters":{"id":12412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12407,"mutability":"mutable","name":"x","nameLocation":"3043:1:13","nodeType":"VariableDeclaration","scope":12527,"src":"3036:8:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12406,"name":"int256","nodeType":"ElementaryTypeName","src":"3036:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":12409,"mutability":"mutable","name":"min","nameLocation":"3053:3:13","nodeType":"VariableDeclaration","scope":12527,"src":"3046:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12408,"name":"int256","nodeType":"ElementaryTypeName","src":"3046:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":12411,"mutability":"mutable","name":"max","nameLocation":"3065:3:13","nodeType":"VariableDeclaration","scope":12527,"src":"3058:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12410,"name":"int256","nodeType":"ElementaryTypeName","src":"3058:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3035:34:13"},"returnParameters":{"id":12415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12414,"mutability":"mutable","name":"result","nameLocation":"3108:6:13","nodeType":"VariableDeclaration","scope":12527,"src":"3101:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12413,"name":"int256","nodeType":"ElementaryTypeName","src":"3101:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3100:15:13"},"scope":12932,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":12555,"nodeType":"FunctionDefinition","src":"4171:208:13","nodes":[],"body":{"id":12554,"nodeType":"Block","src":"4266:113:13","nodes":[],"statements":[{"expression":{"id":12544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12538,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12536,"src":"4276:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":12540,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12529,"src":"4292:1:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":12541,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12531,"src":"4295:3:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":12542,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12533,"src":"4300:3:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":12539,"name":"_bound","nodeType":"Identifier","overloadedDeclarations":[12380,12527],"referencedDeclaration":12527,"src":"4285:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_int256_$returns$_t_int256_$","typeString":"function (int256,int256,int256) pure returns (int256)"}},"id":12543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4285:19:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"4276:28:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":12545,"nodeType":"ExpressionStatement","src":"4276:28:13"},{"expression":{"arguments":[{"hexValue":"426f756e6420726573756c74","id":12547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4336:14:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_81387530263afdcc351da6c89e6a10d49583b5beb1fecaddd0371443f1cd026f","typeString":"literal_string \"Bound result\""},"value":"Bound result"},{"arguments":[{"id":12550,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12536,"src":"4364:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":12548,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12235,"src":"4352:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":12549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4355:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15169,"src":"4352:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":12551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4352:19:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_81387530263afdcc351da6c89e6a10d49583b5beb1fecaddd0371443f1cd026f","typeString":"literal_string \"Bound result\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12546,"name":"console2_log_StdUtils","nodeType":"Identifier","overloadedDeclarations":[12897,12914,12931],"referencedDeclaration":12931,"src":"4314:21:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure"}},"id":12552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4314:58:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12553,"nodeType":"ExpressionStatement","src":"4314:58:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bound","nameLocation":"4180:5:13","parameters":{"id":12534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12529,"mutability":"mutable","name":"x","nameLocation":"4193:1:13","nodeType":"VariableDeclaration","scope":12555,"src":"4186:8:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12528,"name":"int256","nodeType":"ElementaryTypeName","src":"4186:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":12531,"mutability":"mutable","name":"min","nameLocation":"4203:3:13","nodeType":"VariableDeclaration","scope":12555,"src":"4196:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12530,"name":"int256","nodeType":"ElementaryTypeName","src":"4196:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":12533,"mutability":"mutable","name":"max","nameLocation":"4215:3:13","nodeType":"VariableDeclaration","scope":12555,"src":"4208:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12532,"name":"int256","nodeType":"ElementaryTypeName","src":"4208:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4185:34:13"},"returnParameters":{"id":12537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12536,"mutability":"mutable","name":"result","nameLocation":"4258:6:13","nodeType":"VariableDeclaration","scope":12555,"src":"4251:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12535,"name":"int256","nodeType":"ElementaryTypeName","src":"4251:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4250:15:13"},"scope":12932,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":12573,"nodeType":"FunctionDefinition","src":"4385:160:13","nodes":[],"body":{"id":12572,"nodeType":"Block","src":"4477:68:13","nodes":[],"statements":[{"expression":{"id":12570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12562,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12560,"src":"4487:6:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":12564,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12557,"src":"4503:10:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":12565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4515:1:13","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12568,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":12566,"name":"SECP256K1_ORDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12244,"src":"4518:15:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":12567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4536:1:13","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4518:19:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12563,"name":"_bound","nodeType":"Identifier","overloadedDeclarations":[12380,12527],"referencedDeclaration":12380,"src":"4496:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":12569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4496:42:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4487:51:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12571,"nodeType":"ExpressionStatement","src":"4487:51:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"boundPrivateKey","nameLocation":"4394:15:13","parameters":{"id":12558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12557,"mutability":"mutable","name":"privateKey","nameLocation":"4418:10:13","nodeType":"VariableDeclaration","scope":12573,"src":"4410:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12556,"name":"uint256","nodeType":"ElementaryTypeName","src":"4410:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4409:20:13"},"returnParameters":{"id":12561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12560,"mutability":"mutable","name":"result","nameLocation":"4469:6:13","nodeType":"VariableDeclaration","scope":12573,"src":"4461:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12559,"name":"uint256","nodeType":"ElementaryTypeName","src":"4461:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4460:16:13"},"scope":12932,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":12607,"nodeType":"FunctionDefinition","src":"4551:259:13","nodes":[],"body":{"id":12606,"nodeType":"Block","src":"4628:182:13","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":12581,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12575,"src":"4646:1:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":12582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4648:6:13","memberName":"length","nodeType":"MemberAccess","src":"4646:8:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"3332","id":12583,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4658:2:13","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"4646:14:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c73206279746573546f55696e74286279746573293a204279746573206c656e67746820657863656564732033322e","id":12585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4662:55:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_15bc16f8ce72c26d4fbf91f28e31f7cbe900e6386b04cf90f353bff0f5b2da88","typeString":"literal_string \"StdUtils bytesToUint(bytes): Bytes length exceeds 32.\""},"value":"StdUtils bytesToUint(bytes): Bytes length exceeds 32."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_15bc16f8ce72c26d4fbf91f28e31f7cbe900e6386b04cf90f353bff0f5b2da88","typeString":"literal_string \"StdUtils bytesToUint(bytes): Bytes length exceeds 32.\""}],"id":12580,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4638:7:13","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4638:80:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12587,"nodeType":"ExpressionStatement","src":"4638:80:13"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":12594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4773:2:13","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":12595,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12575,"src":"4778:1:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":12596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4780:6:13","memberName":"length","nodeType":"MemberAccess","src":"4778:8:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4773:13:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12593,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4763:9:13","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":12592,"name":"bytes","nodeType":"ElementaryTypeName","src":"4767:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":12598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4763:24:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":12599,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12575,"src":"4789:1:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":12590,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4746:3:13","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12591,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4750:12:13","memberName":"encodePacked","nodeType":"MemberAccess","src":"4746:16:13","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":12600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4746:45:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":12602,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4794:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12601,"name":"uint256","nodeType":"ElementaryTypeName","src":"4794:7:13","typeDescriptions":{}}}],"id":12603,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4793:9:13","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":12588,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4735:3:13","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4739:6:13","memberName":"decode","nodeType":"MemberAccess","src":"4735:10:13","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":12604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4735:68:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12579,"id":12605,"nodeType":"Return","src":"4728:75:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bytesToUint","nameLocation":"4560:11:13","parameters":{"id":12576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12575,"mutability":"mutable","name":"b","nameLocation":"4585:1:13","nodeType":"VariableDeclaration","scope":12607,"src":"4572:14:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12574,"name":"bytes","nodeType":"ElementaryTypeName","src":"4572:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4571:16:13"},"returnParameters":{"id":12579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12578,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12607,"src":"4619:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12577,"name":"uint256","nodeType":"ElementaryTypeName","src":"4619:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4618:9:13"},"scope":12932,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":12628,"nodeType":"FunctionDefinition","src":"5044:281:13","nodes":[],"body":{"id":12627,"nodeType":"Block","src":"5147:178:13","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"636f6d707574654372656174654164647265737320697320646570726563617465642e20506c656173652075736520766d2e636f6d707574654372656174654164647265737320696e73746561642e","id":12618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5179:81:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_7269602979e7efe0cf2435fd830893923e4ac6d12c1b6834ce0c3cdb39769052","typeString":"literal_string \"computeCreateAddress is deprecated. Please use vm.computeCreateAddress instead.\""},"value":"computeCreateAddress is deprecated. Please use vm.computeCreateAddress instead."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7269602979e7efe0cf2435fd830893923e4ac6d12c1b6834ce0c3cdb39769052","typeString":"literal_string \"computeCreateAddress is deprecated. Please use vm.computeCreateAddress instead.\""}],"id":12617,"name":"console2_log_StdUtils","nodeType":"Identifier","overloadedDeclarations":[12897,12914,12931],"referencedDeclaration":12897,"src":"5157:21:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":12619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5157:104:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12620,"nodeType":"ExpressionStatement","src":"5157:104:13"},{"expression":{"arguments":[{"id":12623,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12610,"src":"5302:8:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12624,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12612,"src":"5312:5:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12621,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12235,"src":"5278:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":12622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5281:20:13","memberName":"computeCreateAddress","nodeType":"MemberAccess","referencedDeclaration":16753,"src":"5278:23:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) pure external returns (address)"}},"id":12625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5278:40:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":12616,"id":12626,"nodeType":"Return","src":"5271:47:13"}]},"documentation":{"id":12608,"nodeType":"StructuredDocumentation","src":"4816:223:13","text":"@dev Compute the address a contract will be deployed at for a given deployer address and nonce\n @notice adapted from Solmate implementation (https://github.com/Rari-Capital/solmate/blob/main/src/utils/LibRLP.sol)"},"implemented":true,"kind":"function","modifiers":[],"name":"computeCreateAddress","nameLocation":"5053:20:13","parameters":{"id":12613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12610,"mutability":"mutable","name":"deployer","nameLocation":"5082:8:13","nodeType":"VariableDeclaration","scope":12628,"src":"5074:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12609,"name":"address","nodeType":"ElementaryTypeName","src":"5074:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12612,"mutability":"mutable","name":"nonce","nameLocation":"5100:5:13","nodeType":"VariableDeclaration","scope":12628,"src":"5092:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12611,"name":"uint256","nodeType":"ElementaryTypeName","src":"5092:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5073:33:13"},"returnParameters":{"id":12616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12615,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12628,"src":"5138:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12614,"name":"address","nodeType":"ElementaryTypeName","src":"5138:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5137:9:13"},"scope":12932,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":12651,"nodeType":"FunctionDefinition","src":"5331:355:13","nodes":[],"body":{"id":12650,"nodeType":"Block","src":"5492:194:13","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"636f6d70757465437265617465324164647265737320697320646570726563617465642e20506c656173652075736520766d2e636f6d70757465437265617465324164647265737320696e73746561642e","id":12640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5524:83:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_5abd736618531808b1ea1a17b1144019e81db11351698dec9b35fe8aba205691","typeString":"literal_string \"computeCreate2Address is deprecated. Please use vm.computeCreate2Address instead.\""},"value":"computeCreate2Address is deprecated. Please use vm.computeCreate2Address instead."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5abd736618531808b1ea1a17b1144019e81db11351698dec9b35fe8aba205691","typeString":"literal_string \"computeCreate2Address is deprecated. Please use vm.computeCreate2Address instead.\""}],"id":12639,"name":"console2_log_StdUtils","nodeType":"Identifier","overloadedDeclarations":[12897,12914,12931],"referencedDeclaration":12897,"src":"5502:21:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":12641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5502:106:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12642,"nodeType":"ExpressionStatement","src":"5502:106:13"},{"expression":{"arguments":[{"id":12645,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12630,"src":"5650:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":12646,"name":"initcodeHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12632,"src":"5656:12:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":12647,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12634,"src":"5670:8:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12643,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12235,"src":"5625:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":12644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5628:21:13","memberName":"computeCreate2Address","nodeType":"MemberAccess","referencedDeclaration":16733,"src":"5625:24:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$","typeString":"function (bytes32,bytes32,address) pure external returns (address)"}},"id":12648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5625:54:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":12638,"id":12649,"nodeType":"Return","src":"5618:61:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"computeCreate2Address","nameLocation":"5340:21:13","parameters":{"id":12635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12630,"mutability":"mutable","name":"salt","nameLocation":"5370:4:13","nodeType":"VariableDeclaration","scope":12651,"src":"5362:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12629,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5362:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12632,"mutability":"mutable","name":"initcodeHash","nameLocation":"5384:12:13","nodeType":"VariableDeclaration","scope":12651,"src":"5376:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12631,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5376:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12634,"mutability":"mutable","name":"deployer","nameLocation":"5406:8:13","nodeType":"VariableDeclaration","scope":12651,"src":"5398:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12633,"name":"address","nodeType":"ElementaryTypeName","src":"5398:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5361:54:13"},"returnParameters":{"id":12638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12637,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12651,"src":"5479:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12636,"name":"address","nodeType":"ElementaryTypeName","src":"5479:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5478:9:13"},"scope":12932,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":12672,"nodeType":"FunctionDefinition","src":"5795:283:13","nodes":[],"body":{"id":12671,"nodeType":"Block","src":"5894:184:13","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"636f6d70757465437265617465324164647265737320697320646570726563617465642e20506c656173652075736520766d2e636f6d70757465437265617465324164647265737320696e73746561642e","id":12662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5926:83:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_5abd736618531808b1ea1a17b1144019e81db11351698dec9b35fe8aba205691","typeString":"literal_string \"computeCreate2Address is deprecated. Please use vm.computeCreate2Address instead.\""},"value":"computeCreate2Address is deprecated. Please use vm.computeCreate2Address instead."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5abd736618531808b1ea1a17b1144019e81db11351698dec9b35fe8aba205691","typeString":"literal_string \"computeCreate2Address is deprecated. Please use vm.computeCreate2Address instead.\""}],"id":12661,"name":"console2_log_StdUtils","nodeType":"Identifier","overloadedDeclarations":[12897,12914,12931],"referencedDeclaration":12897,"src":"5904:21:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":12663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5904:106:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12664,"nodeType":"ExpressionStatement","src":"5904:106:13"},{"expression":{"arguments":[{"id":12667,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12654,"src":"6052:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":12668,"name":"initCodeHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12656,"src":"6058:12:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":12665,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12235,"src":"6027:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$16930","typeString":"contract VmSafe"}},"id":12666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6030:21:13","memberName":"computeCreate2Address","nodeType":"MemberAccess","referencedDeclaration":16743,"src":"6027:24:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,bytes32) pure external returns (address)"}},"id":12669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6027:44:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":12660,"id":12670,"nodeType":"Return","src":"6020:51:13"}]},"documentation":{"id":12652,"nodeType":"StructuredDocumentation","src":"5692:98:13","text":"@dev returns the address of a contract created with CREATE2 using the default CREATE2 deployer"},"implemented":true,"kind":"function","modifiers":[],"name":"computeCreate2Address","nameLocation":"5804:21:13","parameters":{"id":12657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12654,"mutability":"mutable","name":"salt","nameLocation":"5834:4:13","nodeType":"VariableDeclaration","scope":12672,"src":"5826:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12653,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5826:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12656,"mutability":"mutable","name":"initCodeHash","nameLocation":"5848:12:13","nodeType":"VariableDeclaration","scope":12672,"src":"5840:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12655,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5840:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5825:36:13"},"returnParameters":{"id":12660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12659,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12672,"src":"5885:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12658,"name":"address","nodeType":"ElementaryTypeName","src":"5885:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5884:9:13"},"scope":12932,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":12686,"nodeType":"FunctionDefinition","src":"6302:135:13","nodes":[],"body":{"id":12685,"nodeType":"Block","src":"6383:54:13","nodes":[],"statements":[{"expression":{"arguments":[{"id":12681,"name":"creationCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12675,"src":"6413:12:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"","id":12682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6427:2:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":12680,"name":"hashInitCode","nodeType":"Identifier","overloadedDeclarations":[12686,12705],"referencedDeclaration":12705,"src":"6400:12:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory,bytes memory) pure returns (bytes32)"}},"id":12683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6400:30:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":12679,"id":12684,"nodeType":"Return","src":"6393:37:13"}]},"documentation":{"id":12673,"nodeType":"StructuredDocumentation","src":"6084:213:13","text":"@dev returns the hash of the init code (creation code + no args) used in CREATE2 with no constructor arguments\n @param creationCode the creation code of a contract C, as returned by type(C).creationCode"},"implemented":true,"kind":"function","modifiers":[],"name":"hashInitCode","nameLocation":"6311:12:13","parameters":{"id":12676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12675,"mutability":"mutable","name":"creationCode","nameLocation":"6337:12:13","nodeType":"VariableDeclaration","scope":12686,"src":"6324:25:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12674,"name":"bytes","nodeType":"ElementaryTypeName","src":"6324:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6323:27:13"},"returnParameters":{"id":12679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12678,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12686,"src":"6374:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12677,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6374:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6373:9:13"},"scope":12932,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":12705,"nodeType":"FunctionDefinition","src":"6710:171:13","nodes":[],"body":{"id":12704,"nodeType":"Block","src":"6810:71:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":12699,"name":"creationCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12689,"src":"6854:12:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":12700,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12691,"src":"6868:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":12697,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6837:3:13","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12698,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6841:12:13","memberName":"encodePacked","nodeType":"MemberAccess","src":"6837:16:13","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":12701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6837:36:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12696,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6827:9:13","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":12702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6827:47:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":12695,"id":12703,"nodeType":"Return","src":"6820:54:13"}]},"documentation":{"id":12687,"nodeType":"StructuredDocumentation","src":"6443:262:13","text":"@dev returns the hash of the init code (creation code + ABI-encoded args) used in CREATE2\n @param creationCode the creation code of a contract C, as returned by type(C).creationCode\n @param args the ABI-encoded arguments to the constructor of C"},"implemented":true,"kind":"function","modifiers":[],"name":"hashInitCode","nameLocation":"6719:12:13","parameters":{"id":12692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12689,"mutability":"mutable","name":"creationCode","nameLocation":"6745:12:13","nodeType":"VariableDeclaration","scope":12705,"src":"6732:25:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12688,"name":"bytes","nodeType":"ElementaryTypeName","src":"6732:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":12691,"mutability":"mutable","name":"args","nameLocation":"6772:4:13","nodeType":"VariableDeclaration","scope":12705,"src":"6759:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12690,"name":"bytes","nodeType":"ElementaryTypeName","src":"6759:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6731:46:13"},"returnParameters":{"id":12695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12694,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12705,"src":"6801:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12693,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6801:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6800:9:13"},"scope":12932,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":12819,"nodeType":"FunctionDefinition","src":"6992:1124:13","nodes":[],"body":{"id":12818,"nodeType":"Block","src":"7142:974:13","nodes":[],"statements":[{"assignments":[12717],"declarations":[{"constant":false,"id":12717,"mutability":"mutable","name":"tokenCodeSize","nameLocation":"7160:13:13","nodeType":"VariableDeclaration","scope":12818,"src":"7152:21:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12716,"name":"uint256","nodeType":"ElementaryTypeName","src":"7152:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12718,"nodeType":"VariableDeclarationStatement","src":"7152:21:13"},{"AST":{"nativeSrc":"7192:59:13","nodeType":"YulBlock","src":"7192:59:13","statements":[{"nativeSrc":"7206:35:13","nodeType":"YulAssignment","src":"7206:35:13","value":{"arguments":[{"name":"token","nativeSrc":"7235:5:13","nodeType":"YulIdentifier","src":"7235:5:13"}],"functionName":{"name":"extcodesize","nativeSrc":"7223:11:13","nodeType":"YulIdentifier","src":"7223:11:13"},"nativeSrc":"7223:18:13","nodeType":"YulFunctionCall","src":"7223:18:13"},"variableNames":[{"name":"tokenCodeSize","nativeSrc":"7206:13:13","nodeType":"YulIdentifier","src":"7206:13:13"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":12707,"isOffset":false,"isSlot":false,"src":"7235:5:13","valueSize":1},{"declaration":12717,"isOffset":false,"isSlot":false,"src":"7206:13:13","valueSize":1}],"id":12719,"nodeType":"InlineAssembly","src":"7183:68:13"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12721,"name":"tokenCodeSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12717,"src":"7268:13:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":12722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7284:1:13","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7268:17:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c7320676574546f6b656e42616c616e63657328616464726573732c616464726573735b5d293a20546f6b656e2061646472657373206973206e6f74206120636f6e74726163742e","id":12724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7287:80:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_e1cfd8db054d28c838f90dd4aca17e279a1b93ad4e1fab977a6ceb92cad655fe","typeString":"literal_string \"StdUtils getTokenBalances(address,address[]): Token address is not a contract.\""},"value":"StdUtils getTokenBalances(address,address[]): Token address is not a contract."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e1cfd8db054d28c838f90dd4aca17e279a1b93ad4e1fab977a6ceb92cad655fe","typeString":"literal_string \"StdUtils getTokenBalances(address,address[]): Token address is not a contract.\""}],"id":12720,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"7260:7:13","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7260:108:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12726,"nodeType":"ExpressionStatement","src":"7260:108:13"},{"assignments":[12728],"declarations":[{"constant":false,"id":12728,"mutability":"mutable","name":"length","nameLocation":"7443:6:13","nodeType":"VariableDeclaration","scope":12818,"src":"7435:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12727,"name":"uint256","nodeType":"ElementaryTypeName","src":"7435:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12731,"initialValue":{"expression":{"id":12729,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12710,"src":"7452:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":12730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7462:6:13","memberName":"length","nodeType":"MemberAccess","src":"7452:16:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7435:33:13"},{"assignments":[12737],"declarations":[{"constant":false,"id":12737,"mutability":"mutable","name":"calls","nameLocation":"7504:5:13","nodeType":"VariableDeclaration","scope":12818,"src":"7478:31:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26129_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":12735,"nodeType":"UserDefinedTypeName","pathNode":{"id":12734,"name":"IMulticall3.Call","nameLocations":["7478:11:13","7490:4:13"],"nodeType":"IdentifierPath","referencedDeclaration":26129,"src":"7478:16:13"},"referencedDeclaration":26129,"src":"7478:16:13","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$26129_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":12736,"nodeType":"ArrayTypeName","src":"7478:18:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26129_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"id":12744,"initialValue":{"arguments":[{"id":12742,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12728,"src":"7535:6:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12741,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7512:22:13","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$26129_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call memory[] memory)"},"typeName":{"baseType":{"id":12739,"nodeType":"UserDefinedTypeName","pathNode":{"id":12738,"name":"IMulticall3.Call","nameLocations":["7516:11:13","7528:4:13"],"nodeType":"IdentifierPath","referencedDeclaration":26129,"src":"7516:16:13"},"referencedDeclaration":26129,"src":"7516:16:13","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$26129_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":12740,"nodeType":"ArrayTypeName","src":"7516:18:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26129_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}}},"id":12743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7512:30:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26129_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7478:64:13"},{"body":{"id":12772,"nodeType":"Block","src":"7589:189:13","statements":[{"expression":{"id":12770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":12755,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12737,"src":"7661:5:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26129_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}},"id":12757,"indexExpression":{"id":12756,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12746,"src":"7667:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7661:8:13","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$26129_memory_ptr","typeString":"struct IMulticall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":12760,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12707,"src":"7698:5:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783730613038323331","id":12763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7738:10:13","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"components":[{"baseExpression":{"id":12764,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12710,"src":"7751:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":12766,"indexExpression":{"id":12765,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12746,"src":"7761:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7751:12:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":12767,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7750:14:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12761,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7715:3:13","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12762,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7719:18:13","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"7715:22:13","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":12768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7715:50:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":12758,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26284,"src":"7672:11:13","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$26284_$","typeString":"type(contract IMulticall3)"}},"id":12759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7684:4:13","memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":26129,"src":"7672:16:13","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$26129_storage_ptr_$","typeString":"type(struct IMulticall3.Call storage pointer)"}},"id":12769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["7690:6:13","7705:8:13"],"names":["target","callData"],"nodeType":"FunctionCall","src":"7672:95:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$26129_memory_ptr","typeString":"struct IMulticall3.Call memory"}},"src":"7661:106:13","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$26129_memory_ptr","typeString":"struct IMulticall3.Call memory"}},"id":12771,"nodeType":"ExpressionStatement","src":"7661:106:13"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12749,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12746,"src":"7572:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":12750,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12728,"src":"7576:6:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7572:10:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12773,"initializationExpression":{"assignments":[12746],"declarations":[{"constant":false,"id":12746,"mutability":"mutable","name":"i","nameLocation":"7565:1:13","nodeType":"VariableDeclaration","scope":12773,"src":"7557:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12745,"name":"uint256","nodeType":"ElementaryTypeName","src":"7557:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12748,"initialValue":{"hexValue":"30","id":12747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7569:1:13","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"7557:13:13"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":12753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"7584:3:13","subExpression":{"id":12752,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12746,"src":"7586:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12754,"nodeType":"ExpressionStatement","src":"7584:3:13"},"nodeType":"ForStatement","src":"7552:226:13"},{"assignments":[null,12778],"declarations":[null,{"constant":false,"id":12778,"mutability":"mutable","name":"returnData","nameLocation":"7842:10:13","nodeType":"VariableDeclaration","scope":12818,"src":"7827:25:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":12776,"name":"bytes","nodeType":"ElementaryTypeName","src":"7827:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":12777,"nodeType":"ArrayTypeName","src":"7827:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"id":12783,"initialValue":{"arguments":[{"id":12781,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12737,"src":"7876:5:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26129_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call_$26129_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}],"expression":{"id":12779,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12218,"src":"7856:9:13","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$26284","typeString":"contract IMulticall3"}},"id":12780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7866:9:13","memberName":"aggregate","nodeType":"MemberAccess","referencedDeclaration":26162,"src":"7856:19:13","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call_$26129_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct IMulticall3.Call memory[] memory) payable external returns (uint256,bytes memory[] memory)"}},"id":12782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7856:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes memory[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"7824:58:13"},{"expression":{"id":12790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12784,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12714,"src":"7956:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":12788,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12728,"src":"7981:6:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7967:13:13","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":12785,"name":"uint256","nodeType":"ElementaryTypeName","src":"7971:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12786,"nodeType":"ArrayTypeName","src":"7971:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":12789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7967:21:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"7956:32:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":12791,"nodeType":"ExpressionStatement","src":"7956:32:13"},{"body":{"id":12816,"nodeType":"Block","src":"8035:75:13","statements":[{"expression":{"id":12814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":12802,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12714,"src":"8049:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":12804,"indexExpression":{"id":12803,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12793,"src":"8058:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8049:11:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":12807,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12778,"src":"8074:10:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":12809,"indexExpression":{"id":12808,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12793,"src":"8085:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8074:13:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":12811,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8090:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12810,"name":"uint256","nodeType":"ElementaryTypeName","src":"8090:7:13","typeDescriptions":{}}}],"id":12812,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8089:9:13","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":12805,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8063:3:13","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8067:6:13","memberName":"decode","nodeType":"MemberAccess","src":"8063:10:13","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":12813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8063:36:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8049:50:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12815,"nodeType":"ExpressionStatement","src":"8049:50:13"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12796,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12793,"src":"8018:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":12797,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12728,"src":"8022:6:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8018:10:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12817,"initializationExpression":{"assignments":[12793],"declarations":[{"constant":false,"id":12793,"mutability":"mutable","name":"i","nameLocation":"8011:1:13","nodeType":"VariableDeclaration","scope":12817,"src":"8003:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12792,"name":"uint256","nodeType":"ElementaryTypeName","src":"8003:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12795,"initialValue":{"hexValue":"30","id":12794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8015:1:13","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"8003:13:13"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":12800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"8030:3:13","subExpression":{"id":12799,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12793,"src":"8032:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12801,"nodeType":"ExpressionStatement","src":"8030:3:13"},"nodeType":"ForStatement","src":"7998:112:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getTokenBalances","nameLocation":"7001:16:13","parameters":{"id":12711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12707,"mutability":"mutable","name":"token","nameLocation":"7026:5:13","nodeType":"VariableDeclaration","scope":12819,"src":"7018:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12706,"name":"address","nodeType":"ElementaryTypeName","src":"7018:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12710,"mutability":"mutable","name":"addresses","nameLocation":"7050:9:13","nodeType":"VariableDeclaration","scope":12819,"src":"7033:26:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12708,"name":"address","nodeType":"ElementaryTypeName","src":"7033:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12709,"nodeType":"ArrayTypeName","src":"7033:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"7017:43:13"},"returnParameters":{"id":12715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12714,"mutability":"mutable","name":"balances","nameLocation":"7128:8:13","nodeType":"VariableDeclaration","scope":12819,"src":"7111:25:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12712,"name":"uint256","nodeType":"ElementaryTypeName","src":"7111:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12713,"nodeType":"ArrayTypeName","src":"7111:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"7110:27:13"},"scope":12932,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":12838,"nodeType":"FunctionDefinition","src":"8336:144:13","nodes":[],"body":{"id":12837,"nodeType":"Block","src":"8419:61:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":12832,"name":"bytesValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12821,"src":"8460:10:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":12831,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8452:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12830,"name":"uint256","nodeType":"ElementaryTypeName","src":"8452:7:13","typeDescriptions":{}}},"id":12833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8452:19:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12829,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8444:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":12828,"name":"uint160","nodeType":"ElementaryTypeName","src":"8444:7:13","typeDescriptions":{}}},"id":12834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8444:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":12827,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8436:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12826,"name":"address","nodeType":"ElementaryTypeName","src":"8436:7:13","typeDescriptions":{}}},"id":12835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8436:37:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":12825,"id":12836,"nodeType":"Return","src":"8429:44:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"addressFromLast20Bytes","nameLocation":"8345:22:13","parameters":{"id":12822,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12821,"mutability":"mutable","name":"bytesValue","nameLocation":"8376:10:13","nodeType":"VariableDeclaration","scope":12838,"src":"8368:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12820,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8368:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8367:20:13"},"returnParameters":{"id":12825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12824,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12838,"src":"8410:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12823,"name":"address","nodeType":"ElementaryTypeName","src":"8410:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8409:9:13"},"scope":12932,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":12855,"nodeType":"FunctionDefinition","src":"8775:235:13","nodes":[],"body":{"id":12854,"nodeType":"Block","src":"8948:62:13","nodes":[],"statements":[{"AST":{"nativeSrc":"8967:37:13","nodeType":"YulBlock","src":"8967:37:13","statements":[{"nativeSrc":"8981:13:13","nodeType":"YulAssignment","src":"8981:13:13","value":{"name":"fnIn","nativeSrc":"8990:4:13","nodeType":"YulIdentifier","src":"8990:4:13"},"variableNames":[{"name":"fnOut","nativeSrc":"8981:5:13","nodeType":"YulIdentifier","src":"8981:5:13"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":12844,"isOffset":false,"isSlot":false,"src":"8990:4:13","valueSize":1},{"declaration":12851,"isOffset":false,"isSlot":false,"src":"8981:5:13","valueSize":1}],"id":12853,"nodeType":"InlineAssembly","src":"8958:46:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_castLogPayloadViewToPure","nameLocation":"8784:25:13","parameters":{"id":12845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12844,"mutability":"mutable","name":"fnIn","nameLocation":"8847:4:13","nodeType":"VariableDeclaration","scope":12855,"src":"8810:41:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) view"},"typeName":{"id":12843,"nodeType":"FunctionTypeName","parameterTypes":{"id":12841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12840,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12843,"src":"8819:12:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12839,"name":"bytes","nodeType":"ElementaryTypeName","src":"8819:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8818:14:13"},"returnParameterTypes":{"id":12842,"nodeType":"ParameterList","parameters":[],"src":"8847:0:13"},"src":"8810:41:13","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) view"},"visibility":"internal"},"visibility":"internal"}],"src":"8809:43:13"},"returnParameters":{"id":12852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12851,"mutability":"mutable","name":"fnOut","nameLocation":"8937:5:13","nodeType":"VariableDeclaration","scope":12855,"src":"8900:42:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) pure"},"typeName":{"id":12850,"nodeType":"FunctionTypeName","parameterTypes":{"id":12848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12847,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12850,"src":"8909:12:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12846,"name":"bytes","nodeType":"ElementaryTypeName","src":"8909:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8908:14:13"},"returnParameterTypes":{"id":12849,"nodeType":"ParameterList","parameters":[],"src":"8937:0:13"},"src":"8900:42:13","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) pure"},"visibility":"internal"},"visibility":"internal"}],"src":"8899:44:13"},"scope":12932,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":12867,"nodeType":"FunctionDefinition","src":"9016:133:13","nodes":[],"body":{"id":12866,"nodeType":"Block","src":"9077:72:13","nodes":[],"statements":[{"expression":{"arguments":[{"id":12863,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12857,"src":"9134:7:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"arguments":[{"id":12861,"name":"_sendLogPayloadView","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12883,"src":"9113:19:13","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}],"id":12860,"name":"_castLogPayloadViewToPure","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12855,"src":"9087:25:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_function_internal_view$_t_bytes_memory_ptr_$returns$__$_$returns$_t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$_$","typeString":"function (function (bytes memory) view) pure returns (function (bytes memory) pure)"}},"id":12862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9087:46:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9087:55:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12865,"nodeType":"ExpressionStatement","src":"9087:55:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayload","nameLocation":"9025:15:13","parameters":{"id":12858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12857,"mutability":"mutable","name":"payload","nameLocation":"9054:7:13","nodeType":"VariableDeclaration","scope":12867,"src":"9041:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12856,"name":"bytes","nodeType":"ElementaryTypeName","src":"9041:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9040:22:13"},"returnParameters":{"id":12859,"nodeType":"ParameterList","parameters":[],"src":"9077:0:13"},"scope":12932,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":12883,"nodeType":"FunctionDefinition","src":"9155:381:13","nodes":[],"body":{"id":12882,"nodeType":"Block","src":"9219:317:13","nodes":[],"statements":[{"assignments":[12873],"declarations":[{"constant":false,"id":12873,"mutability":"mutable","name":"payloadLength","nameLocation":"9237:13:13","nodeType":"VariableDeclaration","scope":12882,"src":"9229:21:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12872,"name":"uint256","nodeType":"ElementaryTypeName","src":"9229:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12876,"initialValue":{"expression":{"id":12874,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12869,"src":"9253:7:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":12875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9261:6:13","memberName":"length","nodeType":"MemberAccess","src":"9253:14:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9229:38:13"},{"assignments":[12878],"declarations":[{"constant":false,"id":12878,"mutability":"mutable","name":"consoleAddress","nameLocation":"9285:14:13","nodeType":"VariableDeclaration","scope":12882,"src":"9277:22:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12877,"name":"address","nodeType":"ElementaryTypeName","src":"9277:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":12880,"initialValue":{"id":12879,"name":"CONSOLE2_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12238,"src":"9302:16:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"9277:41:13"},{"AST":{"nativeSrc":"9380:150:13","nodeType":"YulBlock","src":"9380:150:13","statements":[{"nativeSrc":"9394:36:13","nodeType":"YulVariableDeclaration","src":"9394:36:13","value":{"arguments":[{"name":"payload","nativeSrc":"9418:7:13","nodeType":"YulIdentifier","src":"9418:7:13"},{"kind":"number","nativeSrc":"9427:2:13","nodeType":"YulLiteral","src":"9427:2:13","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"9414:3:13","nodeType":"YulIdentifier","src":"9414:3:13"},"nativeSrc":"9414:16:13","nodeType":"YulFunctionCall","src":"9414:16:13"},"variables":[{"name":"payloadStart","nativeSrc":"9398:12:13","nodeType":"YulTypedName","src":"9398:12:13","type":""}]},{"nativeSrc":"9443:77:13","nodeType":"YulVariableDeclaration","src":"9443:77:13","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"9463:3:13","nodeType":"YulIdentifier","src":"9463:3:13"},"nativeSrc":"9463:5:13","nodeType":"YulFunctionCall","src":"9463:5:13"},{"name":"consoleAddress","nativeSrc":"9470:14:13","nodeType":"YulIdentifier","src":"9470:14:13"},{"name":"payloadStart","nativeSrc":"9486:12:13","nodeType":"YulIdentifier","src":"9486:12:13"},{"name":"payloadLength","nativeSrc":"9500:13:13","nodeType":"YulIdentifier","src":"9500:13:13"},{"kind":"number","nativeSrc":"9515:1:13","nodeType":"YulLiteral","src":"9515:1:13","type":"","value":"0"},{"kind":"number","nativeSrc":"9518:1:13","nodeType":"YulLiteral","src":"9518:1:13","type":"","value":"0"}],"functionName":{"name":"staticcall","nativeSrc":"9452:10:13","nodeType":"YulIdentifier","src":"9452:10:13"},"nativeSrc":"9452:68:13","nodeType":"YulFunctionCall","src":"9452:68:13"},"variables":[{"name":"r","nativeSrc":"9447:1:13","nodeType":"YulTypedName","src":"9447:1:13","type":""}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":12878,"isOffset":false,"isSlot":false,"src":"9470:14:13","valueSize":1},{"declaration":12869,"isOffset":false,"isSlot":false,"src":"9418:7:13","valueSize":1},{"declaration":12873,"isOffset":false,"isSlot":false,"src":"9500:13:13","valueSize":1}],"id":12881,"nodeType":"InlineAssembly","src":"9371:159:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayloadView","nameLocation":"9164:19:13","parameters":{"id":12870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12869,"mutability":"mutable","name":"payload","nameLocation":"9197:7:13","nodeType":"VariableDeclaration","scope":12883,"src":"9184:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12868,"name":"bytes","nodeType":"ElementaryTypeName","src":"9184:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9183:22:13"},"returnParameters":{"id":12871,"nodeType":"ParameterList","parameters":[],"src":"9219:0:13"},"scope":12932,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":12897,"nodeType":"FunctionDefinition","src":"9542:138:13","nodes":[],"body":{"id":12896,"nodeType":"Block","src":"9604:76:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":12891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9654:13:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":12892,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12885,"src":"9669:2:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12889,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9630:3:13","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9634:19:13","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9630:23:13","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9630:42:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12888,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12867,"src":"9614:15:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9614:59:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12895,"nodeType":"ExpressionStatement","src":"9614:59:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"console2_log_StdUtils","nameLocation":"9551:21:13","parameters":{"id":12886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12885,"mutability":"mutable","name":"p0","nameLocation":"9587:2:13","nodeType":"VariableDeclaration","scope":12897,"src":"9573:16:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12884,"name":"string","nodeType":"ElementaryTypeName","src":"9573:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9572:18:13"},"returnParameters":{"id":12887,"nodeType":"ParameterList","parameters":[],"src":"9604:0:13"},"scope":12932,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":12914,"nodeType":"FunctionDefinition","src":"9686:162:13","nodes":[],"body":{"id":12913,"nodeType":"Block","src":"9760:88:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e7432353629","id":12907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9810:21:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},"value":"log(string,uint256)"},{"id":12908,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12899,"src":"9833:2:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12909,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12901,"src":"9837:2:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12905,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9786:3:13","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12906,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9790:19:13","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9786:23:13","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9786:54:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12904,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12867,"src":"9770:15:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9770:71:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12912,"nodeType":"ExpressionStatement","src":"9770:71:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"console2_log_StdUtils","nameLocation":"9695:21:13","parameters":{"id":12902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12899,"mutability":"mutable","name":"p0","nameLocation":"9731:2:13","nodeType":"VariableDeclaration","scope":12914,"src":"9717:16:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12898,"name":"string","nodeType":"ElementaryTypeName","src":"9717:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12901,"mutability":"mutable","name":"p1","nameLocation":"9743:2:13","nodeType":"VariableDeclaration","scope":12914,"src":"9735:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12900,"name":"uint256","nodeType":"ElementaryTypeName","src":"9735:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9716:30:13"},"returnParameters":{"id":12903,"nodeType":"ParameterList","parameters":[],"src":"9760:0:13"},"scope":12932,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":12931,"nodeType":"FunctionDefinition","src":"9854:167:13","nodes":[],"body":{"id":12930,"nodeType":"Block","src":"9934:87:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e6729","id":12924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9984:20:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},"value":"log(string,string)"},{"id":12925,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12916,"src":"10006:2:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12926,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12918,"src":"10010:2:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12922,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9960:3:13","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12923,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9964:19:13","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9960:23:13","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9960:53:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12921,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12867,"src":"9944:15:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9944:70:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12929,"nodeType":"ExpressionStatement","src":"9944:70:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"console2_log_StdUtils","nameLocation":"9863:21:13","parameters":{"id":12919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12916,"mutability":"mutable","name":"p0","nameLocation":"9899:2:13","nodeType":"VariableDeclaration","scope":12931,"src":"9885:16:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12915,"name":"string","nodeType":"ElementaryTypeName","src":"9885:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12918,"mutability":"mutable","name":"p1","nameLocation":"9917:2:13","nodeType":"VariableDeclaration","scope":12931,"src":"9903:16:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12917,"name":"string","nodeType":"ElementaryTypeName","src":"9903:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9884:36:13"},"returnParameters":{"id":12920,"nodeType":"ParameterList","parameters":[],"src":"9934:0:13"},"scope":12932,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":true,"baseContracts":[],"canonicalName":"StdUtils","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[12932],"name":"StdUtils","nameLocation":"210:8:13","scope":12933,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/Test.sol":{"id":14,"ast":{"absolutePath":"lib/forge-std/src/Test.sol","id":12987,"exportedSymbols":{"StdAssertions":[2721],"StdChains":[3683],"StdCheats":[6568],"StdConstants":[6609],"StdInvariant":[6969],"StdStorage":[8093],"StdStyle":[11261],"StdUtils":[12932],"Test":[12986],"TestBase":[50],"Vm":[18001],"console":[26117],"console2":[26117],"safeconsole":[39359],"stdError":[6675],"stdJson":[7913],"stdMath":[8055],"stdStorage":[10050],"stdToml":[12205]},"nodeType":"SourceUnit","src":"32:1063:14","nodes":[{"id":12934,"nodeType":"PragmaDirective","src":"32:31:14","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":12935,"nodeType":"PragmaDirective","src":"65:33:14","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":12937,"nodeType":"ImportDirective","src":"160:38:14","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"./console.sol","nameLocation":"-1:-1:-1","scope":12987,"sourceUnit":26118,"symbolAliases":[{"foreign":{"id":12936,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"168:7:14","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12939,"nodeType":"ImportDirective","src":"199:40:14","nodes":[],"absolutePath":"lib/forge-std/src/console2.sol","file":"./console2.sol","nameLocation":"-1:-1:-1","scope":12987,"sourceUnit":26122,"symbolAliases":[{"foreign":{"id":12938,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"207:8:14","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12941,"nodeType":"ImportDirective","src":"240:46:14","nodes":[],"absolutePath":"lib/forge-std/src/safeconsole.sol","file":"./safeconsole.sol","nameLocation":"-1:-1:-1","scope":12987,"sourceUnit":39360,"symbolAliases":[{"foreign":{"id":12940,"name":"safeconsole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39359,"src":"248:11:14","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12943,"nodeType":"ImportDirective","src":"287:50:14","nodes":[],"absolutePath":"lib/forge-std/src/StdAssertions.sol","file":"./StdAssertions.sol","nameLocation":"-1:-1:-1","scope":12987,"sourceUnit":2722,"symbolAliases":[{"foreign":{"id":12942,"name":"StdAssertions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2721,"src":"295:13:14","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12945,"nodeType":"ImportDirective","src":"338:42:14","nodes":[],"absolutePath":"lib/forge-std/src/StdChains.sol","file":"./StdChains.sol","nameLocation":"-1:-1:-1","scope":12987,"sourceUnit":3684,"symbolAliases":[{"foreign":{"id":12944,"name":"StdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3683,"src":"346:9:14","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12947,"nodeType":"ImportDirective","src":"381:42:14","nodes":[],"absolutePath":"lib/forge-std/src/StdCheats.sol","file":"./StdCheats.sol","nameLocation":"-1:-1:-1","scope":12987,"sourceUnit":6569,"symbolAliases":[{"foreign":{"id":12946,"name":"StdCheats","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6568,"src":"389:9:14","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12949,"nodeType":"ImportDirective","src":"424:48:14","nodes":[],"absolutePath":"lib/forge-std/src/StdConstants.sol","file":"./StdConstants.sol","nameLocation":"-1:-1:-1","scope":12987,"sourceUnit":6610,"symbolAliases":[{"foreign":{"id":12948,"name":"StdConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6609,"src":"432:12:14","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12951,"nodeType":"ImportDirective","src":"473:40:14","nodes":[],"absolutePath":"lib/forge-std/src/StdError.sol","file":"./StdError.sol","nameLocation":"-1:-1:-1","scope":12987,"sourceUnit":6676,"symbolAliases":[{"foreign":{"id":12950,"name":"stdError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6675,"src":"481:8:14","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12953,"nodeType":"ImportDirective","src":"514:48:14","nodes":[],"absolutePath":"lib/forge-std/src/StdInvariant.sol","file":"./StdInvariant.sol","nameLocation":"-1:-1:-1","scope":12987,"sourceUnit":6970,"symbolAliases":[{"foreign":{"id":12952,"name":"StdInvariant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6969,"src":"522:12:14","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12955,"nodeType":"ImportDirective","src":"563:38:14","nodes":[],"absolutePath":"lib/forge-std/src/StdJson.sol","file":"./StdJson.sol","nameLocation":"-1:-1:-1","scope":12987,"sourceUnit":7914,"symbolAliases":[{"foreign":{"id":12954,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7913,"src":"571:7:14","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12957,"nodeType":"ImportDirective","src":"602:38:14","nodes":[],"absolutePath":"lib/forge-std/src/StdMath.sol","file":"./StdMath.sol","nameLocation":"-1:-1:-1","scope":12987,"sourceUnit":8056,"symbolAliases":[{"foreign":{"id":12956,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8055,"src":"610:7:14","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12960,"nodeType":"ImportDirective","src":"641:56:14","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":12987,"sourceUnit":10051,"symbolAliases":[{"foreign":{"id":12958,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8093,"src":"649:10:14","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":12959,"name":"stdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10050,"src":"661:10:14","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12962,"nodeType":"ImportDirective","src":"698:40:14","nodes":[],"absolutePath":"lib/forge-std/src/StdStyle.sol","file":"./StdStyle.sol","nameLocation":"-1:-1:-1","scope":12987,"sourceUnit":11262,"symbolAliases":[{"foreign":{"id":12961,"name":"StdStyle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11261,"src":"706:8:14","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12964,"nodeType":"ImportDirective","src":"739:38:14","nodes":[],"absolutePath":"lib/forge-std/src/StdToml.sol","file":"./StdToml.sol","nameLocation":"-1:-1:-1","scope":12987,"sourceUnit":12206,"symbolAliases":[{"foreign":{"id":12963,"name":"stdToml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12205,"src":"747:7:14","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12966,"nodeType":"ImportDirective","src":"778:40:14","nodes":[],"absolutePath":"lib/forge-std/src/StdUtils.sol","file":"./StdUtils.sol","nameLocation":"-1:-1:-1","scope":12987,"sourceUnit":12933,"symbolAliases":[{"foreign":{"id":12965,"name":"StdUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12932,"src":"786:8:14","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12968,"nodeType":"ImportDirective","src":"819:28:14","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":12987,"sourceUnit":18002,"symbolAliases":[{"foreign":{"id":12967,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"827:2:14","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12970,"nodeType":"ImportDirective","src":"869:36:14","nodes":[],"absolutePath":"lib/forge-std/src/Base.sol","file":"./Base.sol","nameLocation":"-1:-1:-1","scope":12987,"sourceUnit":60,"symbolAliases":[{"foreign":{"id":12969,"name":"TestBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50,"src":"877:8:14","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12986,"nodeType":"ContractDefinition","src":"922:172:14","nodes":[{"id":12985,"nodeType":"VariableDeclaration","src":"1065:26:14","nodes":[],"constant":false,"functionSelector":"fa7626d4","mutability":"mutable","name":"IS_TEST","nameLocation":"1077:7:14","scope":12986,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12983,"name":"bool","nodeType":"ElementaryTypeName","src":"1065:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":12984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1087:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"public"}],"abstract":true,"baseContracts":[{"baseName":{"id":12971,"name":"TestBase","nameLocations":["948:8:14"],"nodeType":"IdentifierPath","referencedDeclaration":50,"src":"948:8:14"},"id":12972,"nodeType":"InheritanceSpecifier","src":"948:8:14"},{"baseName":{"id":12973,"name":"StdAssertions","nameLocations":["958:13:14"],"nodeType":"IdentifierPath","referencedDeclaration":2721,"src":"958:13:14"},"id":12974,"nodeType":"InheritanceSpecifier","src":"958:13:14"},{"baseName":{"id":12975,"name":"StdChains","nameLocations":["973:9:14"],"nodeType":"IdentifierPath","referencedDeclaration":3683,"src":"973:9:14"},"id":12976,"nodeType":"InheritanceSpecifier","src":"973:9:14"},{"baseName":{"id":12977,"name":"StdCheats","nameLocations":["984:9:14"],"nodeType":"IdentifierPath","referencedDeclaration":6568,"src":"984:9:14"},"id":12978,"nodeType":"InheritanceSpecifier","src":"984:9:14"},{"baseName":{"id":12979,"name":"StdInvariant","nameLocations":["995:12:14"],"nodeType":"IdentifierPath","referencedDeclaration":6969,"src":"995:12:14"},"id":12980,"nodeType":"InheritanceSpecifier","src":"995:12:14"},{"baseName":{"id":12981,"name":"StdUtils","nameLocations":["1009:8:14"],"nodeType":"IdentifierPath","referencedDeclaration":12932,"src":"1009:8:14"},"id":12982,"nodeType":"InheritanceSpecifier","src":"1009:8:14"}],"canonicalName":"Test","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[12986,12932,6969,6568,5773,3683,2721,50,47],"name":"Test","nameLocation":"940:4:14","scope":12987,"usedErrors":[],"usedEvents":[126,130,134,138,142,146,150,154,160,166,174,182,188,194,200,206,211,216,221,228,235,242]}],"license":"MIT"}},"lib/forge-std/src/Vm.sol":{"id":15,"ast":{"absolutePath":"lib/forge-std/src/Vm.sol","id":18002,"exportedSymbols":{"Vm":[18001],"VmSafe":[16930]},"nodeType":"SourceUnit","src":"117:125126:15","nodes":[{"id":12988,"nodeType":"PragmaDirective","src":"117:31:15","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":12989,"nodeType":"PragmaDirective","src":"149:33:15","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":16930,"nodeType":"ContractDefinition","src":"409:98073:15","nodes":[{"id":12997,"nodeType":"EnumDefinition","src":"529:533:15","nodes":[],"canonicalName":"VmSafe.CallerMode","documentation":{"id":12991,"nodeType":"StructuredDocumentation","src":"432:92:15","text":"A modification applied to either `msg.sender` or `tx.origin`. Returned by `readCallers`."},"members":[{"id":12992,"name":"None","nameLocation":"610:4:15","nodeType":"EnumValue","src":"610:4:15"},{"id":12993,"name":"Broadcast","nameLocation":"714:9:15","nodeType":"EnumValue","src":"714:9:15"},{"id":12994,"name":"RecurrentBroadcast","nameLocation":"829:18:15","nodeType":"EnumValue","src":"829:18:15"},{"id":12995,"name":"Prank","nameLocation":"939:5:15","nodeType":"EnumValue","src":"939:5:15"},{"id":12996,"name":"RecurrentPrank","nameLocation":"1042:14:15","nodeType":"EnumValue","src":"1042:14:15"}],"name":"CallerMode","nameLocation":"534:10:15"},{"id":13010,"nodeType":"EnumDefinition","src":"1118:791:15","nodes":[],"canonicalName":"VmSafe.AccountAccessKind","documentation":{"id":12998,"nodeType":"StructuredDocumentation","src":"1068:45:15","text":"The kind of account access that occurred."},"members":[{"id":12999,"name":"Call","nameLocation":"1186:4:15","nodeType":"EnumValue","src":"1186:4:15"},{"id":13000,"name":"DelegateCall","nameLocation":"1252:12:15","nodeType":"EnumValue","src":"1252:12:15"},{"id":13001,"name":"CallCode","nameLocation":"1322:8:15","nodeType":"EnumValue","src":"1322:8:15"},{"id":13002,"name":"StaticCall","nameLocation":"1390:10:15","nodeType":"EnumValue","src":"1390:10:15"},{"id":13003,"name":"Create","nameLocation":"1446:6:15","nodeType":"EnumValue","src":"1446:6:15"},{"id":13004,"name":"SelfDestruct","nameLocation":"1505:12:15","nodeType":"EnumValue","src":"1505:12:15"},{"id":13005,"name":"Resume","nameLocation":"1644:6:15","nodeType":"EnumValue","src":"1644:6:15"},{"id":13006,"name":"Balance","nameLocation":"1703:7:15","nodeType":"EnumValue","src":"1703:7:15"},{"id":13007,"name":"Extcodesize","nameLocation":"1764:11:15","nodeType":"EnumValue","src":"1764:11:15"},{"id":13008,"name":"Extcodehash","nameLocation":"1829:11:15","nodeType":"EnumValue","src":"1829:11:15"},{"id":13009,"name":"Extcodecopy","nameLocation":"1892:11:15","nodeType":"EnumValue","src":"1892:11:15"}],"name":"AccountAccessKind","nameLocation":"1123:17:15"},{"id":13021,"nodeType":"EnumDefinition","src":"1949:683:15","nodes":[],"canonicalName":"VmSafe.ForgeContext","documentation":{"id":13011,"nodeType":"StructuredDocumentation","src":"1915:29:15","text":"Forge execution contexts."},"members":[{"id":13012,"name":"TestGroup","nameLocation":"2047:9:15","nodeType":"EnumValue","src":"2047:9:15"},{"id":13013,"name":"Test","nameLocation":"2109:4:15","nodeType":"EnumValue","src":"2109:4:15"},{"id":13014,"name":"Coverage","nameLocation":"2170:8:15","nodeType":"EnumValue","src":"2170:8:15"},{"id":13015,"name":"Snapshot","nameLocation":"2235:8:15","nodeType":"EnumValue","src":"2235:8:15"},{"id":13016,"name":"ScriptGroup","nameLocation":"2327:11:15","nodeType":"EnumValue","src":"2327:11:15"},{"id":13017,"name":"ScriptDryRun","nameLocation":"2393:12:15","nodeType":"EnumValue","src":"2393:12:15"},{"id":13018,"name":"ScriptBroadcast","nameLocation":"2472:15:15","nodeType":"EnumValue","src":"2472:15:15"},{"id":13019,"name":"ScriptResume","nameLocation":"2551:12:15","nodeType":"EnumValue","src":"2551:12:15"},{"id":13020,"name":"Unknown","nameLocation":"2619:7:15","nodeType":"EnumValue","src":"2619:7:15"}],"name":"ForgeContext","nameLocation":"1954:12:15"},{"id":13026,"nodeType":"EnumDefinition","src":"2696:208:15","nodes":[],"canonicalName":"VmSafe.BroadcastTxType","documentation":{"id":13022,"nodeType":"StructuredDocumentation","src":"2638:53:15","text":"The transaction type (`txType`) of the broadcast."},"members":[{"id":13023,"name":"Call","nameLocation":"2770:4:15","nodeType":"EnumValue","src":"2770:4:15"},{"id":13024,"name":"Create","nameLocation":"2829:6:15","nodeType":"EnumValue","src":"2829:6:15"},{"id":13025,"name":"Create2","nameLocation":"2891:7:15","nodeType":"EnumValue","src":"2891:7:15"}],"name":"BroadcastTxType","nameLocation":"2701:15:15"},{"id":13035,"nodeType":"StructDefinition","src":"2966:237:15","nodes":[],"canonicalName":"VmSafe.Log","documentation":{"id":13027,"nodeType":"StructuredDocumentation","src":"2910:51:15","text":"An Ethereum log. Returned by `getRecordedLogs`."},"members":[{"constant":false,"id":13030,"mutability":"mutable","name":"topics","nameLocation":"3064:6:15","nodeType":"VariableDeclaration","scope":13035,"src":"3054:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13028,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3054:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13029,"nodeType":"ArrayTypeName","src":"3054:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":13032,"mutability":"mutable","name":"data","nameLocation":"3122:4:15","nodeType":"VariableDeclaration","scope":13035,"src":"3116:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13031,"name":"bytes","nodeType":"ElementaryTypeName","src":"3116:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13034,"mutability":"mutable","name":"emitter","nameLocation":"3189:7:15","nodeType":"VariableDeclaration","scope":13035,"src":"3181:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13033,"name":"address","nodeType":"ElementaryTypeName","src":"3181:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"Log","nameLocation":"2973:3:15","scope":16930,"visibility":"public"},{"id":13041,"nodeType":"StructDefinition","src":"3272:119:15","nodes":[],"canonicalName":"VmSafe.Rpc","documentation":{"id":13036,"nodeType":"StructuredDocumentation","src":"3209:58:15","text":"An RPC URL and its alias. Returned by `rpcUrlStructs`."},"members":[{"constant":false,"id":13038,"mutability":"mutable","name":"key","nameLocation":"3337:3:15","nodeType":"VariableDeclaration","scope":13041,"src":"3330:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":13037,"name":"string","nodeType":"ElementaryTypeName","src":"3330:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13040,"mutability":"mutable","name":"url","nameLocation":"3381:3:15","nodeType":"VariableDeclaration","scope":13041,"src":"3374:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":13039,"name":"string","nodeType":"ElementaryTypeName","src":"3374:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Rpc","nameLocation":"3279:3:15","scope":16930,"visibility":"public"},{"id":13062,"nodeType":"StructDefinition","src":"3451:615:15","nodes":[],"canonicalName":"VmSafe.EthGetLogs","documentation":{"id":13042,"nodeType":"StructuredDocumentation","src":"3397:49:15","text":"An RPC log object. Returned by `eth_getLogs`."},"members":[{"constant":false,"id":13044,"mutability":"mutable","name":"emitter","nameLocation":"3532:7:15","nodeType":"VariableDeclaration","scope":13062,"src":"3524:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13043,"name":"address","nodeType":"ElementaryTypeName","src":"3524:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13047,"mutability":"mutable","name":"topics","nameLocation":"3626:6:15","nodeType":"VariableDeclaration","scope":13062,"src":"3616:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13045,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3616:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13046,"nodeType":"ArrayTypeName","src":"3616:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":13049,"mutability":"mutable","name":"data","nameLocation":"3684:4:15","nodeType":"VariableDeclaration","scope":13062,"src":"3678:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13048,"name":"bytes","nodeType":"ElementaryTypeName","src":"3678:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13051,"mutability":"mutable","name":"blockHash","nameLocation":"3733:9:15","nodeType":"VariableDeclaration","scope":13062,"src":"3725:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13050,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3725:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13053,"mutability":"mutable","name":"blockNumber","nameLocation":"3788:11:15","nodeType":"VariableDeclaration","scope":13062,"src":"3781:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13052,"name":"uint64","nodeType":"ElementaryTypeName","src":"3781:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13055,"mutability":"mutable","name":"transactionHash","nameLocation":"3850:15:15","nodeType":"VariableDeclaration","scope":13062,"src":"3842:23:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13054,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3842:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13057,"mutability":"mutable","name":"transactionIndex","nameLocation":"3929:16:15","nodeType":"VariableDeclaration","scope":13062,"src":"3922:23:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13056,"name":"uint64","nodeType":"ElementaryTypeName","src":"3922:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13059,"mutability":"mutable","name":"logIndex","nameLocation":"3989:8:15","nodeType":"VariableDeclaration","scope":13062,"src":"3981:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13058,"name":"uint256","nodeType":"ElementaryTypeName","src":"3981:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13061,"mutability":"mutable","name":"removed","nameLocation":"4052:7:15","nodeType":"VariableDeclaration","scope":13062,"src":"4047:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13060,"name":"bool","nodeType":"ElementaryTypeName","src":"4047:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"EthGetLogs","nameLocation":"3458:10:15","scope":16930,"visibility":"public"},{"id":13074,"nodeType":"StructDefinition","src":"4142:334:15","nodes":[],"canonicalName":"VmSafe.DirEntry","documentation":{"id":13063,"nodeType":"StructuredDocumentation","src":"4072:65:15","text":"A single entry in a directory listing. Returned by `readDir`."},"members":[{"constant":false,"id":13065,"mutability":"mutable","name":"errorMessage","nameLocation":"4213:12:15","nodeType":"VariableDeclaration","scope":13074,"src":"4206:19:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":13064,"name":"string","nodeType":"ElementaryTypeName","src":"4206:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13067,"mutability":"mutable","name":"path","nameLocation":"4276:4:15","nodeType":"VariableDeclaration","scope":13074,"src":"4269:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":13066,"name":"string","nodeType":"ElementaryTypeName","src":"4269:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13069,"mutability":"mutable","name":"depth","nameLocation":"4332:5:15","nodeType":"VariableDeclaration","scope":13074,"src":"4325:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13068,"name":"uint64","nodeType":"ElementaryTypeName","src":"4325:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13071,"mutability":"mutable","name":"isDir","nameLocation":"4397:5:15","nodeType":"VariableDeclaration","scope":13074,"src":"4392:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13070,"name":"bool","nodeType":"ElementaryTypeName","src":"4392:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13073,"mutability":"mutable","name":"isSymlink","nameLocation":"4460:9:15","nodeType":"VariableDeclaration","scope":13074,"src":"4455:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13072,"name":"bool","nodeType":"ElementaryTypeName","src":"4455:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"DirEntry","nameLocation":"4149:8:15","scope":16930,"visibility":"public"},{"id":13090,"nodeType":"StructDefinition","src":"4706:599:15","nodes":[],"canonicalName":"VmSafe.FsMetadata","documentation":{"id":13075,"nodeType":"StructuredDocumentation","src":"4482:219:15","text":"Metadata information about a file.\n This structure is returned from the `fsMetadata` function and represents known\n metadata about a file such as its permissions, size, modification\n times, etc."},"members":[{"constant":false,"id":13077,"mutability":"mutable","name":"isDir","nameLocation":"4792:5:15","nodeType":"VariableDeclaration","scope":13090,"src":"4787:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13076,"name":"bool","nodeType":"ElementaryTypeName","src":"4787:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13079,"mutability":"mutable","name":"isSymlink","nameLocation":"4863:9:15","nodeType":"VariableDeclaration","scope":13090,"src":"4858:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13078,"name":"bool","nodeType":"ElementaryTypeName","src":"4858:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13081,"mutability":"mutable","name":"length","nameLocation":"4955:6:15","nodeType":"VariableDeclaration","scope":13090,"src":"4947:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13080,"name":"uint256","nodeType":"ElementaryTypeName","src":"4947:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13083,"mutability":"mutable","name":"readOnly","nameLocation":"5046:8:15","nodeType":"VariableDeclaration","scope":13090,"src":"5041:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13082,"name":"bool","nodeType":"ElementaryTypeName","src":"5041:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13085,"mutability":"mutable","name":"modified","nameLocation":"5135:8:15","nodeType":"VariableDeclaration","scope":13090,"src":"5127:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13084,"name":"uint256","nodeType":"ElementaryTypeName","src":"5127:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13087,"mutability":"mutable","name":"accessed","nameLocation":"5211:8:15","nodeType":"VariableDeclaration","scope":13090,"src":"5203:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13086,"name":"uint256","nodeType":"ElementaryTypeName","src":"5203:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13089,"mutability":"mutable","name":"created","nameLocation":"5291:7:15","nodeType":"VariableDeclaration","scope":13090,"src":"5283:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13088,"name":"uint256","nodeType":"ElementaryTypeName","src":"5283:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"FsMetadata","nameLocation":"4713:10:15","scope":16930,"visibility":"public"},{"id":13100,"nodeType":"StructDefinition","src":"5359:277:15","nodes":[],"canonicalName":"VmSafe.Wallet","documentation":{"id":13091,"nodeType":"StructuredDocumentation","src":"5311:43:15","text":"A wallet with a public and private key."},"members":[{"constant":false,"id":13093,"mutability":"mutable","name":"addr","nameLocation":"5424:4:15","nodeType":"VariableDeclaration","scope":13100,"src":"5416:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13092,"name":"address","nodeType":"ElementaryTypeName","src":"5416:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13095,"mutability":"mutable","name":"publicKeyX","nameLocation":"5486:10:15","nodeType":"VariableDeclaration","scope":13100,"src":"5478:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13094,"name":"uint256","nodeType":"ElementaryTypeName","src":"5478:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13097,"mutability":"mutable","name":"publicKeyY","nameLocation":"5554:10:15","nodeType":"VariableDeclaration","scope":13100,"src":"5546:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13096,"name":"uint256","nodeType":"ElementaryTypeName","src":"5546:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13099,"mutability":"mutable","name":"privateKey","nameLocation":"5619:10:15","nodeType":"VariableDeclaration","scope":13100,"src":"5611:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13098,"name":"uint256","nodeType":"ElementaryTypeName","src":"5611:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Wallet","nameLocation":"5366:6:15","scope":16930,"visibility":"public"},{"id":13108,"nodeType":"StructDefinition","src":"5681:213:15","nodes":[],"canonicalName":"VmSafe.FfiResult","documentation":{"id":13101,"nodeType":"StructuredDocumentation","src":"5642:34:15","text":"The result of a `tryFfi` call."},"members":[{"constant":false,"id":13103,"mutability":"mutable","name":"exitCode","nameLocation":"5752:8:15","nodeType":"VariableDeclaration","scope":13108,"src":"5746:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":13102,"name":"int32","nodeType":"ElementaryTypeName","src":"5746:5:15","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"},{"constant":false,"id":13105,"mutability":"mutable","name":"stdout","nameLocation":"5829:6:15","nodeType":"VariableDeclaration","scope":13108,"src":"5823:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13104,"name":"bytes","nodeType":"ElementaryTypeName","src":"5823:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13107,"mutability":"mutable","name":"stderr","nameLocation":"5881:6:15","nodeType":"VariableDeclaration","scope":13108,"src":"5875:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13106,"name":"bytes","nodeType":"ElementaryTypeName","src":"5875:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"FfiResult","nameLocation":"5688:9:15","scope":16930,"visibility":"public"},{"id":13114,"nodeType":"StructDefinition","src":"5943:184:15","nodes":[],"canonicalName":"VmSafe.ChainInfo","documentation":{"id":13109,"nodeType":"StructuredDocumentation","src":"5900:38:15","text":"Information on the chain and fork."},"members":[{"constant":false,"id":13111,"mutability":"mutable","name":"forkId","nameLocation":"6044:6:15","nodeType":"VariableDeclaration","scope":13114,"src":"6036:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13110,"name":"uint256","nodeType":"ElementaryTypeName","src":"6036:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13113,"mutability":"mutable","name":"chainId","nameLocation":"6113:7:15","nodeType":"VariableDeclaration","scope":13114,"src":"6105:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13112,"name":"uint256","nodeType":"ElementaryTypeName","src":"6105:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ChainInfo","nameLocation":"5950:9:15","scope":16930,"visibility":"public"},{"id":13124,"nodeType":"StructDefinition","src":"6173:302:15","nodes":[],"canonicalName":"VmSafe.Chain","documentation":{"id":13115,"nodeType":"StructuredDocumentation","src":"6133:35:15","text":"Information about a blockchain."},"members":[{"constant":false,"id":13117,"mutability":"mutable","name":"name","nameLocation":"6230:4:15","nodeType":"VariableDeclaration","scope":13124,"src":"6223:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":13116,"name":"string","nodeType":"ElementaryTypeName","src":"6223:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13119,"mutability":"mutable","name":"chainId","nameLocation":"6285:7:15","nodeType":"VariableDeclaration","scope":13124,"src":"6277:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13118,"name":"uint256","nodeType":"ElementaryTypeName","src":"6277:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13121,"mutability":"mutable","name":"chainAlias","nameLocation":"6385:10:15","nodeType":"VariableDeclaration","scope":13124,"src":"6378:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":13120,"name":"string","nodeType":"ElementaryTypeName","src":"6378:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13123,"mutability":"mutable","name":"rpcUrl","nameLocation":"6462:6:15","nodeType":"VariableDeclaration","scope":13124,"src":"6455:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":13122,"name":"string","nodeType":"ElementaryTypeName","src":"6455:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Chain","nameLocation":"6180:5:15","scope":16930,"visibility":"public"},{"id":13156,"nodeType":"StructDefinition","src":"6536:1837:15","nodes":[],"canonicalName":"VmSafe.AccountAccess","documentation":{"id":13125,"nodeType":"StructuredDocumentation","src":"6481:50:15","text":"The result of a `stopAndReturnStateDiff` call."},"members":[{"constant":false,"id":13128,"mutability":"mutable","name":"chainInfo","nameLocation":"6628:9:15","nodeType":"VariableDeclaration","scope":13156,"src":"6618:19:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ChainInfo_$13114_storage_ptr","typeString":"struct VmSafe.ChainInfo"},"typeName":{"id":13127,"nodeType":"UserDefinedTypeName","pathNode":{"id":13126,"name":"ChainInfo","nameLocations":["6618:9:15"],"nodeType":"IdentifierPath","referencedDeclaration":13114,"src":"6618:9:15"},"referencedDeclaration":13114,"src":"6618:9:15","typeDescriptions":{"typeIdentifier":"t_struct$_ChainInfo_$13114_storage_ptr","typeString":"struct VmSafe.ChainInfo"}},"visibility":"internal"},{"constant":false,"id":13131,"mutability":"mutable","name":"kind","nameLocation":"7091:4:15","nodeType":"VariableDeclaration","scope":13156,"src":"7073:22:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AccountAccessKind_$13010","typeString":"enum VmSafe.AccountAccessKind"},"typeName":{"id":13130,"nodeType":"UserDefinedTypeName","pathNode":{"id":13129,"name":"AccountAccessKind","nameLocations":["7073:17:15"],"nodeType":"IdentifierPath","referencedDeclaration":13010,"src":"7073:17:15"},"referencedDeclaration":13010,"src":"7073:17:15","typeDescriptions":{"typeIdentifier":"t_enum$_AccountAccessKind_$13010","typeString":"enum VmSafe.AccountAccessKind"}},"visibility":"internal"},{"constant":false,"id":13133,"mutability":"mutable","name":"account","nameLocation":"7268:7:15","nodeType":"VariableDeclaration","scope":13156,"src":"7260:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13132,"name":"address","nodeType":"ElementaryTypeName","src":"7260:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13135,"mutability":"mutable","name":"accessor","nameLocation":"7331:8:15","nodeType":"VariableDeclaration","scope":13156,"src":"7323:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13134,"name":"address","nodeType":"ElementaryTypeName","src":"7323:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13137,"mutability":"mutable","name":"initialized","nameLocation":"7542:11:15","nodeType":"VariableDeclaration","scope":13156,"src":"7537:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13136,"name":"bool","nodeType":"ElementaryTypeName","src":"7537:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13139,"mutability":"mutable","name":"oldBalance","nameLocation":"7628:10:15","nodeType":"VariableDeclaration","scope":13156,"src":"7620:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13138,"name":"uint256","nodeType":"ElementaryTypeName","src":"7620:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13141,"mutability":"mutable","name":"newBalance","nameLocation":"7803:10:15","nodeType":"VariableDeclaration","scope":13156,"src":"7795:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13140,"name":"uint256","nodeType":"ElementaryTypeName","src":"7795:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13143,"mutability":"mutable","name":"deployedCode","nameLocation":"7880:12:15","nodeType":"VariableDeclaration","scope":13156,"src":"7874:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13142,"name":"bytes","nodeType":"ElementaryTypeName","src":"7874:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13145,"mutability":"mutable","name":"value","nameLocation":"7964:5:15","nodeType":"VariableDeclaration","scope":13156,"src":"7956:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13144,"name":"uint256","nodeType":"ElementaryTypeName","src":"7956:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13147,"mutability":"mutable","name":"data","nameLocation":"8038:4:15","nodeType":"VariableDeclaration","scope":13156,"src":"8032:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13146,"name":"bytes","nodeType":"ElementaryTypeName","src":"8032:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13149,"mutability":"mutable","name":"reverted","nameLocation":"8133:8:15","nodeType":"VariableDeclaration","scope":13156,"src":"8128:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13148,"name":"bool","nodeType":"ElementaryTypeName","src":"8128:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13153,"mutability":"mutable","name":"storageAccesses","nameLocation":"8255:15:15","nodeType":"VariableDeclaration","scope":13156,"src":"8239:31:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_StorageAccess_$13170_storage_$dyn_storage_ptr","typeString":"struct VmSafe.StorageAccess[]"},"typeName":{"baseType":{"id":13151,"nodeType":"UserDefinedTypeName","pathNode":{"id":13150,"name":"StorageAccess","nameLocations":["8239:13:15"],"nodeType":"IdentifierPath","referencedDeclaration":13170,"src":"8239:13:15"},"referencedDeclaration":13170,"src":"8239:13:15","typeDescriptions":{"typeIdentifier":"t_struct$_StorageAccess_$13170_storage_ptr","typeString":"struct VmSafe.StorageAccess"}},"id":13152,"nodeType":"ArrayTypeName","src":"8239:15:15","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_StorageAccess_$13170_storage_$dyn_storage_ptr","typeString":"struct VmSafe.StorageAccess[]"}},"visibility":"internal"},{"constant":false,"id":13155,"mutability":"mutable","name":"depth","nameLocation":"8361:5:15","nodeType":"VariableDeclaration","scope":13156,"src":"8354:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13154,"name":"uint64","nodeType":"ElementaryTypeName","src":"8354:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"AccountAccess","nameLocation":"6543:13:15","scope":16930,"visibility":"public"},{"id":13170,"nodeType":"StructDefinition","src":"8435:425:15","nodes":[],"canonicalName":"VmSafe.StorageAccess","documentation":{"id":13157,"nodeType":"StructuredDocumentation","src":"8379:51:15","text":"The storage accessed during an `AccountAccess`."},"members":[{"constant":false,"id":13159,"mutability":"mutable","name":"account","nameLocation":"8525:7:15","nodeType":"VariableDeclaration","scope":13170,"src":"8517:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13158,"name":"address","nodeType":"ElementaryTypeName","src":"8517:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13161,"mutability":"mutable","name":"slot","nameLocation":"8589:4:15","nodeType":"VariableDeclaration","scope":13170,"src":"8581:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13160,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8581:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13163,"mutability":"mutable","name":"isWrite","nameLocation":"8646:7:15","nodeType":"VariableDeclaration","scope":13170,"src":"8641:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13162,"name":"bool","nodeType":"ElementaryTypeName","src":"8641:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13165,"mutability":"mutable","name":"previousValue","nameLocation":"8714:13:15","nodeType":"VariableDeclaration","scope":13170,"src":"8706:21:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13164,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8706:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13167,"mutability":"mutable","name":"newValue","nameLocation":"8783:8:15","nodeType":"VariableDeclaration","scope":13170,"src":"8775:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13166,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8775:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13169,"mutability":"mutable","name":"reverted","nameLocation":"8845:8:15","nodeType":"VariableDeclaration","scope":13170,"src":"8840:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13168,"name":"bool","nodeType":"ElementaryTypeName","src":"8840:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"StorageAccess","nameLocation":"8442:13:15","scope":16930,"visibility":"public"},{"id":13182,"nodeType":"StructDefinition","src":"8911:458:15","nodes":[],"canonicalName":"VmSafe.Gas","documentation":{"id":13171,"nodeType":"StructuredDocumentation","src":"8866:40:15","text":"Gas used. Returned by `lastCallGas`."},"members":[{"constant":false,"id":13173,"mutability":"mutable","name":"gasLimit","nameLocation":"8977:8:15","nodeType":"VariableDeclaration","scope":13182,"src":"8970:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13172,"name":"uint64","nodeType":"ElementaryTypeName","src":"8970:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13175,"mutability":"mutable","name":"gasTotalUsed","nameLocation":"9033:12:15","nodeType":"VariableDeclaration","scope":13182,"src":"9026:19:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13174,"name":"uint64","nodeType":"ElementaryTypeName","src":"9026:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13177,"mutability":"mutable","name":"gasMemoryUsed","nameLocation":"9214:13:15","nodeType":"VariableDeclaration","scope":13182,"src":"9207:20:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13176,"name":"uint64","nodeType":"ElementaryTypeName","src":"9207:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13179,"mutability":"mutable","name":"gasRefunded","nameLocation":"9282:11:15","nodeType":"VariableDeclaration","scope":13182,"src":"9276:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":13178,"name":"int64","nodeType":"ElementaryTypeName","src":"9276:5:15","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":13181,"mutability":"mutable","name":"gasRemaining","nameLocation":"9350:12:15","nodeType":"VariableDeclaration","scope":13182,"src":"9343:19:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13180,"name":"uint64","nodeType":"ElementaryTypeName","src":"9343:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"Gas","nameLocation":"8918:3:15","scope":16930,"visibility":"public"},{"id":13197,"nodeType":"StructDefinition","src":"9432:848:15","nodes":[],"canonicalName":"VmSafe.DebugStep","documentation":{"id":13183,"nodeType":"StructuredDocumentation","src":"9375:52:15","text":"The result of the `stopDebugTraceRecording` call"},"members":[{"constant":false,"id":13186,"mutability":"mutable","name":"stack","nameLocation":"9661:5:15","nodeType":"VariableDeclaration","scope":13197,"src":"9651:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13184,"name":"uint256","nodeType":"ElementaryTypeName","src":"9651:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13185,"nodeType":"ArrayTypeName","src":"9651:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":13188,"mutability":"mutable","name":"memoryInput","nameLocation":"9965:11:15","nodeType":"VariableDeclaration","scope":13197,"src":"9959:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13187,"name":"bytes","nodeType":"ElementaryTypeName","src":"9959:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13190,"mutability":"mutable","name":"opcode","nameLocation":"10033:6:15","nodeType":"VariableDeclaration","scope":13197,"src":"10027:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13189,"name":"uint8","nodeType":"ElementaryTypeName","src":"10027:5:15","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13192,"mutability":"mutable","name":"depth","nameLocation":"10095:5:15","nodeType":"VariableDeclaration","scope":13197,"src":"10088:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13191,"name":"uint64","nodeType":"ElementaryTypeName","src":"10088:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13194,"mutability":"mutable","name":"isOutOfGas","nameLocation":"10173:10:15","nodeType":"VariableDeclaration","scope":13197,"src":"10168:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13193,"name":"bool","nodeType":"ElementaryTypeName","src":"10168:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13196,"mutability":"mutable","name":"contractAddr","nameLocation":"10261:12:15","nodeType":"VariableDeclaration","scope":13197,"src":"10253:20:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13195,"name":"address","nodeType":"ElementaryTypeName","src":"10253:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"DebugStep","nameLocation":"9439:9:15","scope":16930,"visibility":"public"},{"id":13210,"nodeType":"StructDefinition","src":"10340:600:15","nodes":[],"canonicalName":"VmSafe.BroadcastTxSummary","documentation":{"id":13198,"nodeType":"StructuredDocumentation","src":"10286:49:15","text":"Represents a transaction's broadcast details."},"members":[{"constant":false,"id":13200,"mutability":"mutable","name":"txHash","nameLocation":"10444:6:15","nodeType":"VariableDeclaration","scope":13210,"src":"10436:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10436:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13203,"mutability":"mutable","name":"txType","nameLocation":"10549:6:15","nodeType":"VariableDeclaration","scope":13210,"src":"10533:22:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_BroadcastTxType_$13026","typeString":"enum VmSafe.BroadcastTxType"},"typeName":{"id":13202,"nodeType":"UserDefinedTypeName","pathNode":{"id":13201,"name":"BroadcastTxType","nameLocations":["10533:15:15"],"nodeType":"IdentifierPath","referencedDeclaration":13026,"src":"10533:15:15"},"referencedDeclaration":13026,"src":"10533:15:15","typeDescriptions":{"typeIdentifier":"t_enum$_BroadcastTxType_$13026","typeString":"enum VmSafe.BroadcastTxType"}},"visibility":"internal"},{"constant":false,"id":13205,"mutability":"mutable","name":"contractAddress","nameLocation":"10735:15:15","nodeType":"VariableDeclaration","scope":13210,"src":"10727:23:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13204,"name":"address","nodeType":"ElementaryTypeName","src":"10727:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13207,"mutability":"mutable","name":"blockNumber","nameLocation":"10822:11:15","nodeType":"VariableDeclaration","scope":13210,"src":"10815:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13206,"name":"uint64","nodeType":"ElementaryTypeName","src":"10815:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13209,"mutability":"mutable","name":"success","nameLocation":"10926:7:15","nodeType":"VariableDeclaration","scope":13210,"src":"10921:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13208,"name":"bool","nodeType":"ElementaryTypeName","src":"10921:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"BroadcastTxSummary","nameLocation":"10347:18:15","scope":16930,"visibility":"public"},{"id":13222,"nodeType":"StructDefinition","src":"11051:605:15","nodes":[],"canonicalName":"VmSafe.SignedDelegation","documentation":{"id":13211,"nodeType":"StructuredDocumentation","src":"10946:100:15","text":"Holds a signed EIP-7702 authorization for an authority account to delegate to an implementation."},"members":[{"constant":false,"id":13213,"mutability":"mutable","name":"v","nameLocation":"11162:1:15","nodeType":"VariableDeclaration","scope":13222,"src":"11156:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13212,"name":"uint8","nodeType":"ElementaryTypeName","src":"11156:5:15","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13215,"mutability":"mutable","name":"r","nameLocation":"11225:1:15","nodeType":"VariableDeclaration","scope":13222,"src":"11217:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13214,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11217:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13217,"mutability":"mutable","name":"s","nameLocation":"11289:1:15","nodeType":"VariableDeclaration","scope":13222,"src":"11281:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13216,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11281:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13219,"mutability":"mutable","name":"nonce","nameLocation":"11461:5:15","nodeType":"VariableDeclaration","scope":13222,"src":"11454:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13218,"name":"uint64","nodeType":"ElementaryTypeName","src":"11454:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13221,"mutability":"mutable","name":"implementation","nameLocation":"11635:14:15","nodeType":"VariableDeclaration","scope":13222,"src":"11627:22:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13220,"name":"address","nodeType":"ElementaryTypeName","src":"11627:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"SignedDelegation","nameLocation":"11058:16:15","scope":16930,"visibility":"public"},{"id":13230,"nodeType":"StructDefinition","src":"11905:373:15","nodes":[],"canonicalName":"VmSafe.PotentialRevert","documentation":{"id":13223,"nodeType":"StructuredDocumentation","src":"11662:238:15","text":"Represents a \"potential\" revert reason from a single subsequent call when using `vm.assumeNoReverts`.\n Reverts that match will result in a FOUNDRY::ASSUME rejection, whereas unmatched reverts will be surfaced\n as normal."},"members":[{"constant":false,"id":13225,"mutability":"mutable","name":"reverter","nameLocation":"12041:8:15","nodeType":"VariableDeclaration","scope":13230,"src":"12033:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13224,"name":"address","nodeType":"ElementaryTypeName","src":"12033:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13227,"mutability":"mutable","name":"partialMatch","nameLocation":"12177:12:15","nodeType":"VariableDeclaration","scope":13230,"src":"12172:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13226,"name":"bool","nodeType":"ElementaryTypeName","src":"12172:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13229,"mutability":"mutable","name":"revertData","nameLocation":"12261:10:15","nodeType":"VariableDeclaration","scope":13230,"src":"12255:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13228,"name":"bytes","nodeType":"ElementaryTypeName","src":"12255:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"PotentialRevert","nameLocation":"11912:15:15","scope":16930,"visibility":"public"},{"id":13237,"nodeType":"StructDefinition","src":"12322:191:15","nodes":[],"canonicalName":"VmSafe.AccessListItem","documentation":{"id":13231,"nodeType":"StructuredDocumentation","src":"12284:33:15","text":"An EIP-2930 access list item."},"members":[{"constant":false,"id":13233,"mutability":"mutable","name":"target","nameLocation":"12413:6:15","nodeType":"VariableDeclaration","scope":13237,"src":"12405:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13232,"name":"address","nodeType":"ElementaryTypeName","src":"12405:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13236,"mutability":"mutable","name":"storageKeys","nameLocation":"12495:11:15","nodeType":"VariableDeclaration","scope":13237,"src":"12485:21:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13234,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12485:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13235,"nodeType":"ArrayTypeName","src":"12485:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"name":"AccessListItem","nameLocation":"12329:14:15","scope":16930,"visibility":"public"},{"id":13246,"nodeType":"FunctionDefinition","src":"12656:91:15","nodes":[],"documentation":{"id":13238,"nodeType":"StructuredDocumentation","src":"12552:99:15","text":"Derives a private key from the name, labels the account with that name, and returns the wallet."},"functionSelector":"7404f1d2","implemented":false,"kind":"function","modifiers":[],"name":"createWallet","nameLocation":"12665:12:15","parameters":{"id":13241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13240,"mutability":"mutable","name":"walletLabel","nameLocation":"12694:11:15","nodeType":"VariableDeclaration","scope":13246,"src":"12678:27:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13239,"name":"string","nodeType":"ElementaryTypeName","src":"12678:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12677:29:15"},"returnParameters":{"id":13245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13244,"mutability":"mutable","name":"wallet","nameLocation":"12739:6:15","nodeType":"VariableDeclaration","scope":13246,"src":"12725:20:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13100_memory_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":13243,"nodeType":"UserDefinedTypeName","pathNode":{"id":13242,"name":"Wallet","nameLocations":["12725:6:15"],"nodeType":"IdentifierPath","referencedDeclaration":13100,"src":"12725:6:15"},"referencedDeclaration":13100,"src":"12725:6:15","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13100_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"12724:22:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13255,"nodeType":"FunctionDefinition","src":"12825:82:15","nodes":[],"documentation":{"id":13247,"nodeType":"StructuredDocumentation","src":"12753:67:15","text":"Generates a wallet from the private key and returns the wallet."},"functionSelector":"7a675bb6","implemented":false,"kind":"function","modifiers":[],"name":"createWallet","nameLocation":"12834:12:15","parameters":{"id":13250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13249,"mutability":"mutable","name":"privateKey","nameLocation":"12855:10:15","nodeType":"VariableDeclaration","scope":13255,"src":"12847:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13248,"name":"uint256","nodeType":"ElementaryTypeName","src":"12847:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12846:20:15"},"returnParameters":{"id":13254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13253,"mutability":"mutable","name":"wallet","nameLocation":"12899:6:15","nodeType":"VariableDeclaration","scope":13255,"src":"12885:20:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13100_memory_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":13252,"nodeType":"UserDefinedTypeName","pathNode":{"id":13251,"name":"Wallet","nameLocations":["12885:6:15"],"nodeType":"IdentifierPath","referencedDeclaration":13100,"src":"12885:6:15"},"referencedDeclaration":13100,"src":"12885:6:15","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13100_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"12884:22:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13266,"nodeType":"FunctionDefinition","src":"13021:111:15","nodes":[],"documentation":{"id":13256,"nodeType":"StructuredDocumentation","src":"12913:103:15","text":"Generates a wallet from the private key, labels the account with that name, and returns the wallet."},"functionSelector":"ed7c5462","implemented":false,"kind":"function","modifiers":[],"name":"createWallet","nameLocation":"13030:12:15","parameters":{"id":13261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13258,"mutability":"mutable","name":"privateKey","nameLocation":"13051:10:15","nodeType":"VariableDeclaration","scope":13266,"src":"13043:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13257,"name":"uint256","nodeType":"ElementaryTypeName","src":"13043:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13260,"mutability":"mutable","name":"walletLabel","nameLocation":"13079:11:15","nodeType":"VariableDeclaration","scope":13266,"src":"13063:27:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13259,"name":"string","nodeType":"ElementaryTypeName","src":"13063:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13042:49:15"},"returnParameters":{"id":13265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13264,"mutability":"mutable","name":"wallet","nameLocation":"13124:6:15","nodeType":"VariableDeclaration","scope":13266,"src":"13110:20:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13100_memory_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":13263,"nodeType":"UserDefinedTypeName","pathNode":{"id":13262,"name":"Wallet","nameLocations":["13110:6:15"],"nodeType":"IdentifierPath","referencedDeclaration":13100,"src":"13110:6:15"},"referencedDeclaration":13100,"src":"13110:6:15","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13100_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"13109:22:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13276,"nodeType":"FunctionDefinition","src":"13280:102:15","nodes":[],"documentation":{"id":13267,"nodeType":"StructuredDocumentation","src":"13138:137:15","text":"Derive a private key from a provided mnenomic string (or mnenomic file path)\n at the derivation path `m/44'/60'/0'/0/{index}`."},"functionSelector":"6229498b","implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"13289:9:15","parameters":{"id":13272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13269,"mutability":"mutable","name":"mnemonic","nameLocation":"13315:8:15","nodeType":"VariableDeclaration","scope":13276,"src":"13299:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13268,"name":"string","nodeType":"ElementaryTypeName","src":"13299:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13271,"mutability":"mutable","name":"index","nameLocation":"13332:5:15","nodeType":"VariableDeclaration","scope":13276,"src":"13325:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":13270,"name":"uint32","nodeType":"ElementaryTypeName","src":"13325:6:15","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"13298:40:15"},"returnParameters":{"id":13275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13274,"mutability":"mutable","name":"privateKey","nameLocation":"13370:10:15","nodeType":"VariableDeclaration","scope":13276,"src":"13362:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13273,"name":"uint256","nodeType":"ElementaryTypeName","src":"13362:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13361:20:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13288,"nodeType":"FunctionDefinition","src":"13511:158:15","nodes":[],"documentation":{"id":13277,"nodeType":"StructuredDocumentation","src":"13388:118:15","text":"Derive a private key from a provided mnenomic string (or mnenomic file path)\n at `{derivationPath}{index}`."},"functionSelector":"6bcb2c1b","implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"13520:9:15","parameters":{"id":13284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13279,"mutability":"mutable","name":"mnemonic","nameLocation":"13546:8:15","nodeType":"VariableDeclaration","scope":13288,"src":"13530:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13278,"name":"string","nodeType":"ElementaryTypeName","src":"13530:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13281,"mutability":"mutable","name":"derivationPath","nameLocation":"13572:14:15","nodeType":"VariableDeclaration","scope":13288,"src":"13556:30:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13280,"name":"string","nodeType":"ElementaryTypeName","src":"13556:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13283,"mutability":"mutable","name":"index","nameLocation":"13595:5:15","nodeType":"VariableDeclaration","scope":13288,"src":"13588:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":13282,"name":"uint32","nodeType":"ElementaryTypeName","src":"13588:6:15","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"13529:72:15"},"returnParameters":{"id":13287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13286,"mutability":"mutable","name":"privateKey","nameLocation":"13657:10:15","nodeType":"VariableDeclaration","scope":13288,"src":"13649:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13285,"name":"uint256","nodeType":"ElementaryTypeName","src":"13649:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13648:20:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13300,"nodeType":"FunctionDefinition","src":"13843:152:15","nodes":[],"documentation":{"id":13289,"nodeType":"StructuredDocumentation","src":"13675:163:15","text":"Derive a private key from a provided mnenomic string (or mnenomic file path) in the specified language\n at the derivation path `m/44'/60'/0'/0/{index}`."},"functionSelector":"32c8176d","implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"13852:9:15","parameters":{"id":13296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13291,"mutability":"mutable","name":"mnemonic","nameLocation":"13878:8:15","nodeType":"VariableDeclaration","scope":13300,"src":"13862:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13290,"name":"string","nodeType":"ElementaryTypeName","src":"13862:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13293,"mutability":"mutable","name":"index","nameLocation":"13895:5:15","nodeType":"VariableDeclaration","scope":13300,"src":"13888:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":13292,"name":"uint32","nodeType":"ElementaryTypeName","src":"13888:6:15","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":13295,"mutability":"mutable","name":"language","nameLocation":"13918:8:15","nodeType":"VariableDeclaration","scope":13300,"src":"13902:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13294,"name":"string","nodeType":"ElementaryTypeName","src":"13902:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13861:66:15"},"returnParameters":{"id":13299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13298,"mutability":"mutable","name":"privateKey","nameLocation":"13983:10:15","nodeType":"VariableDeclaration","scope":13300,"src":"13975:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13297,"name":"uint256","nodeType":"ElementaryTypeName","src":"13975:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13974:20:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13314,"nodeType":"FunctionDefinition","src":"14150:184:15","nodes":[],"documentation":{"id":13301,"nodeType":"StructuredDocumentation","src":"14001:144:15","text":"Derive a private key from a provided mnenomic string (or mnenomic file path) in the specified language\n at `{derivationPath}{index}`."},"functionSelector":"29233b1f","implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"14159:9:15","parameters":{"id":13310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13303,"mutability":"mutable","name":"mnemonic","nameLocation":"14185:8:15","nodeType":"VariableDeclaration","scope":13314,"src":"14169:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13302,"name":"string","nodeType":"ElementaryTypeName","src":"14169:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13305,"mutability":"mutable","name":"derivationPath","nameLocation":"14211:14:15","nodeType":"VariableDeclaration","scope":13314,"src":"14195:30:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13304,"name":"string","nodeType":"ElementaryTypeName","src":"14195:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13307,"mutability":"mutable","name":"index","nameLocation":"14234:5:15","nodeType":"VariableDeclaration","scope":13314,"src":"14227:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":13306,"name":"uint32","nodeType":"ElementaryTypeName","src":"14227:6:15","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":13309,"mutability":"mutable","name":"language","nameLocation":"14257:8:15","nodeType":"VariableDeclaration","scope":13314,"src":"14241:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13308,"name":"string","nodeType":"ElementaryTypeName","src":"14241:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14168:98:15"},"returnParameters":{"id":13313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13312,"mutability":"mutable","name":"privateKey","nameLocation":"14322:10:15","nodeType":"VariableDeclaration","scope":13314,"src":"14314:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13311,"name":"uint256","nodeType":"ElementaryTypeName","src":"14314:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14313:20:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13324,"nodeType":"FunctionDefinition","src":"14409:106:15","nodes":[],"documentation":{"id":13315,"nodeType":"StructuredDocumentation","src":"14340:64:15","text":"Derives secp256r1 public key from the provided `privateKey`."},"functionSelector":"c453949e","implemented":false,"kind":"function","modifiers":[],"name":"publicKeyP256","nameLocation":"14418:13:15","parameters":{"id":13318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13317,"mutability":"mutable","name":"privateKey","nameLocation":"14440:10:15","nodeType":"VariableDeclaration","scope":13324,"src":"14432:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13316,"name":"uint256","nodeType":"ElementaryTypeName","src":"14432:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14431:20:15"},"returnParameters":{"id":13323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13320,"mutability":"mutable","name":"publicKeyX","nameLocation":"14483:10:15","nodeType":"VariableDeclaration","scope":13324,"src":"14475:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13319,"name":"uint256","nodeType":"ElementaryTypeName","src":"14475:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13322,"mutability":"mutable","name":"publicKeyY","nameLocation":"14503:10:15","nodeType":"VariableDeclaration","scope":13324,"src":"14495:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13321,"name":"uint256","nodeType":"ElementaryTypeName","src":"14495:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14474:40:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13332,"nodeType":"FunctionDefinition","src":"14599:76:15","nodes":[],"documentation":{"id":13325,"nodeType":"StructuredDocumentation","src":"14521:73:15","text":"Adds a private key to the local forge wallet and returns the address."},"functionSelector":"22100064","implemented":false,"kind":"function","modifiers":[],"name":"rememberKey","nameLocation":"14608:11:15","parameters":{"id":13328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13327,"mutability":"mutable","name":"privateKey","nameLocation":"14628:10:15","nodeType":"VariableDeclaration","scope":13332,"src":"14620:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13326,"name":"uint256","nodeType":"ElementaryTypeName","src":"14620:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14619:20:15"},"returnParameters":{"id":13331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13330,"mutability":"mutable","name":"keyAddr","nameLocation":"14666:7:15","nodeType":"VariableDeclaration","scope":13332,"src":"14658:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13329,"name":"address","nodeType":"ElementaryTypeName","src":"14658:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14657:17:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13345,"nodeType":"FunctionDefinition","src":"14908:155:15","nodes":[],"documentation":{"id":13333,"nodeType":"StructuredDocumentation","src":"14681:222:15","text":"Derive a set number of wallets from a mnemonic at the derivation path `m/44'/60'/0'/0/{0..count}`.\n The respective private keys are saved to the local forge wallet for later use and their addresses are returned."},"functionSelector":"97cb9189","implemented":false,"kind":"function","modifiers":[],"name":"rememberKeys","nameLocation":"14917:12:15","parameters":{"id":13340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13335,"mutability":"mutable","name":"mnemonic","nameLocation":"14946:8:15","nodeType":"VariableDeclaration","scope":13345,"src":"14930:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13334,"name":"string","nodeType":"ElementaryTypeName","src":"14930:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13337,"mutability":"mutable","name":"derivationPath","nameLocation":"14972:14:15","nodeType":"VariableDeclaration","scope":13345,"src":"14956:30:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13336,"name":"string","nodeType":"ElementaryTypeName","src":"14956:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13339,"mutability":"mutable","name":"count","nameLocation":"14995:5:15","nodeType":"VariableDeclaration","scope":13345,"src":"14988:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":13338,"name":"uint32","nodeType":"ElementaryTypeName","src":"14988:6:15","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"14929:72:15"},"returnParameters":{"id":13344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13343,"mutability":"mutable","name":"keyAddrs","nameLocation":"15053:8:15","nodeType":"VariableDeclaration","scope":13345,"src":"15036:25:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13341,"name":"address","nodeType":"ElementaryTypeName","src":"15036:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13342,"nodeType":"ArrayTypeName","src":"15036:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"15035:27:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13360,"nodeType":"FunctionDefinition","src":"15322:203:15","nodes":[],"documentation":{"id":13346,"nodeType":"StructuredDocumentation","src":"15069:248:15","text":"Derive a set number of wallets from a mnemonic in the specified language at the derivation path `m/44'/60'/0'/0/{0..count}`.\n The respective private keys are saved to the local forge wallet for later use and their addresses are returned."},"functionSelector":"f8d58eaf","implemented":false,"kind":"function","modifiers":[],"name":"rememberKeys","nameLocation":"15331:12:15","parameters":{"id":13355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13348,"mutability":"mutable","name":"mnemonic","nameLocation":"15369:8:15","nodeType":"VariableDeclaration","scope":13360,"src":"15353:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13347,"name":"string","nodeType":"ElementaryTypeName","src":"15353:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13350,"mutability":"mutable","name":"derivationPath","nameLocation":"15403:14:15","nodeType":"VariableDeclaration","scope":13360,"src":"15387:30:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13349,"name":"string","nodeType":"ElementaryTypeName","src":"15387:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13352,"mutability":"mutable","name":"language","nameLocation":"15443:8:15","nodeType":"VariableDeclaration","scope":13360,"src":"15427:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13351,"name":"string","nodeType":"ElementaryTypeName","src":"15427:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13354,"mutability":"mutable","name":"count","nameLocation":"15468:5:15","nodeType":"VariableDeclaration","scope":13360,"src":"15461:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":13353,"name":"uint32","nodeType":"ElementaryTypeName","src":"15461:6:15","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"15343:136:15"},"returnParameters":{"id":13359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13358,"mutability":"mutable","name":"keyAddrs","nameLocation":"15515:8:15","nodeType":"VariableDeclaration","scope":13360,"src":"15498:25:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13356,"name":"address","nodeType":"ElementaryTypeName","src":"15498:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13357,"nodeType":"ArrayTypeName","src":"15498:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"15497:27:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13373,"nodeType":"FunctionDefinition","src":"15804:102:15","nodes":[],"documentation":{"id":13361,"nodeType":"StructuredDocumentation","src":"15531:268:15","text":"Signs data with a `Wallet`.\n Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the\n signature's `s` value, and the recovery id `v` in a single bytes32.\n This format reduces the signature size from 65 to 64 bytes."},"functionSelector":"3d0e292f","implemented":false,"kind":"function","modifiers":[],"name":"signCompact","nameLocation":"15813:11:15","parameters":{"id":13367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13364,"mutability":"mutable","name":"wallet","nameLocation":"15841:6:15","nodeType":"VariableDeclaration","scope":13373,"src":"15825:22:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13100_calldata_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":13363,"nodeType":"UserDefinedTypeName","pathNode":{"id":13362,"name":"Wallet","nameLocations":["15825:6:15"],"nodeType":"IdentifierPath","referencedDeclaration":13100,"src":"15825:6:15"},"referencedDeclaration":13100,"src":"15825:6:15","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13100_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"},{"constant":false,"id":13366,"mutability":"mutable","name":"digest","nameLocation":"15857:6:15","nodeType":"VariableDeclaration","scope":13373,"src":"15849:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13365,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15849:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15824:40:15"},"returnParameters":{"id":13372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13369,"mutability":"mutable","name":"r","nameLocation":"15891:1:15","nodeType":"VariableDeclaration","scope":13373,"src":"15883:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13368,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15883:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13371,"mutability":"mutable","name":"vs","nameLocation":"15902:2:15","nodeType":"VariableDeclaration","scope":13373,"src":"15894:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13370,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15894:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15882:23:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13385,"nodeType":"FunctionDefinition","src":"16217:103:15","nodes":[],"documentation":{"id":13374,"nodeType":"StructuredDocumentation","src":"15912:300:15","text":"Signs `digest` with `privateKey` using the secp256k1 curve.\n Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the\n signature's `s` value, and the recovery id `v` in a single bytes32.\n This format reduces the signature size from 65 to 64 bytes."},"functionSelector":"cc2a781f","implemented":false,"kind":"function","modifiers":[],"name":"signCompact","nameLocation":"16226:11:15","parameters":{"id":13379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13376,"mutability":"mutable","name":"privateKey","nameLocation":"16246:10:15","nodeType":"VariableDeclaration","scope":13385,"src":"16238:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13375,"name":"uint256","nodeType":"ElementaryTypeName","src":"16238:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13378,"mutability":"mutable","name":"digest","nameLocation":"16266:6:15","nodeType":"VariableDeclaration","scope":13385,"src":"16258:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13377,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16258:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16237:36:15"},"returnParameters":{"id":13384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13381,"mutability":"mutable","name":"r","nameLocation":"16305:1:15","nodeType":"VariableDeclaration","scope":13385,"src":"16297:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13380,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16297:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13383,"mutability":"mutable","name":"vs","nameLocation":"16316:2:15","nodeType":"VariableDeclaration","scope":13385,"src":"16308:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13382,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16308:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16296:23:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13395,"nodeType":"FunctionDefinition","src":"16996:83:15","nodes":[],"documentation":{"id":13386,"nodeType":"StructuredDocumentation","src":"16326:665:15","text":"Signs `digest` with signer provided to script using the secp256k1 curve.\n Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the\n signature's `s` value, and the recovery id `v` in a single bytes32.\n This format reduces the signature size from 65 to 64 bytes.\n If `--sender` is provided, the signer with provided address is used, otherwise,\n if exactly one signer is provided to the script, that signer is used.\n Raises error if signer passed through `--sender` does not match any unlocked signers or\n if `--sender` is not provided and not exactly one signer is passed to the script."},"functionSelector":"a282dc4b","implemented":false,"kind":"function","modifiers":[],"name":"signCompact","nameLocation":"17005:11:15","parameters":{"id":13389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13388,"mutability":"mutable","name":"digest","nameLocation":"17025:6:15","nodeType":"VariableDeclaration","scope":13395,"src":"17017:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13387,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17017:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17016:16:15"},"returnParameters":{"id":13394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13391,"mutability":"mutable","name":"r","nameLocation":"17064:1:15","nodeType":"VariableDeclaration","scope":13395,"src":"17056:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13390,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17056:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13393,"mutability":"mutable","name":"vs","nameLocation":"17075:2:15","nodeType":"VariableDeclaration","scope":13395,"src":"17067:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13392,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17067:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17055:23:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13407,"nodeType":"FunctionDefinition","src":"17493:99:15","nodes":[],"documentation":{"id":13396,"nodeType":"StructuredDocumentation","src":"17085:403:15","text":"Signs `digest` with signer provided to script using the secp256k1 curve.\n Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the\n signature's `s` value, and the recovery id `v` in a single bytes32.\n This format reduces the signature size from 65 to 64 bytes.\n Raises error if none of the signers passed into the script have provided address."},"functionSelector":"8e2f97bf","implemented":false,"kind":"function","modifiers":[],"name":"signCompact","nameLocation":"17502:11:15","parameters":{"id":13401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13398,"mutability":"mutable","name":"signer","nameLocation":"17522:6:15","nodeType":"VariableDeclaration","scope":13407,"src":"17514:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13397,"name":"address","nodeType":"ElementaryTypeName","src":"17514:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13400,"mutability":"mutable","name":"digest","nameLocation":"17538:6:15","nodeType":"VariableDeclaration","scope":13407,"src":"17530:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13399,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17530:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17513:32:15"},"returnParameters":{"id":13406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13403,"mutability":"mutable","name":"r","nameLocation":"17577:1:15","nodeType":"VariableDeclaration","scope":13407,"src":"17569:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13402,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17569:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13405,"mutability":"mutable","name":"vs","nameLocation":"17588:2:15","nodeType":"VariableDeclaration","scope":13407,"src":"17580:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13404,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17580:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17568:23:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13419,"nodeType":"FunctionDefinition","src":"17666:99:15","nodes":[],"documentation":{"id":13408,"nodeType":"StructuredDocumentation","src":"17598:63:15","text":"Signs `digest` with `privateKey` using the secp256r1 curve."},"functionSelector":"83211b40","implemented":false,"kind":"function","modifiers":[],"name":"signP256","nameLocation":"17675:8:15","parameters":{"id":13413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13410,"mutability":"mutable","name":"privateKey","nameLocation":"17692:10:15","nodeType":"VariableDeclaration","scope":13419,"src":"17684:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13409,"name":"uint256","nodeType":"ElementaryTypeName","src":"17684:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13412,"mutability":"mutable","name":"digest","nameLocation":"17712:6:15","nodeType":"VariableDeclaration","scope":13419,"src":"17704:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13411,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17704:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17683:36:15"},"returnParameters":{"id":13418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13415,"mutability":"mutable","name":"r","nameLocation":"17751:1:15","nodeType":"VariableDeclaration","scope":13419,"src":"17743:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13414,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17743:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13417,"mutability":"mutable","name":"s","nameLocation":"17762:1:15","nodeType":"VariableDeclaration","scope":13419,"src":"17754:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13416,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17754:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17742:22:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13434,"nodeType":"FunctionDefinition","src":"17807:103:15","nodes":[],"documentation":{"id":13420,"nodeType":"StructuredDocumentation","src":"17771:31:15","text":"Signs data with a `Wallet`."},"functionSelector":"b25c5a25","implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"17816:4:15","parameters":{"id":13426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13423,"mutability":"mutable","name":"wallet","nameLocation":"17837:6:15","nodeType":"VariableDeclaration","scope":13434,"src":"17821:22:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13100_calldata_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":13422,"nodeType":"UserDefinedTypeName","pathNode":{"id":13421,"name":"Wallet","nameLocations":["17821:6:15"],"nodeType":"IdentifierPath","referencedDeclaration":13100,"src":"17821:6:15"},"referencedDeclaration":13100,"src":"17821:6:15","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13100_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"},{"constant":false,"id":13425,"mutability":"mutable","name":"digest","nameLocation":"17853:6:15","nodeType":"VariableDeclaration","scope":13434,"src":"17845:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13424,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17845:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17820:40:15"},"returnParameters":{"id":13433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13428,"mutability":"mutable","name":"v","nameLocation":"17885:1:15","nodeType":"VariableDeclaration","scope":13434,"src":"17879:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13427,"name":"uint8","nodeType":"ElementaryTypeName","src":"17879:5:15","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13430,"mutability":"mutable","name":"r","nameLocation":"17896:1:15","nodeType":"VariableDeclaration","scope":13434,"src":"17888:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13429,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17888:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13432,"mutability":"mutable","name":"s","nameLocation":"17907:1:15","nodeType":"VariableDeclaration","scope":13434,"src":"17899:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17899:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17878:31:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13448,"nodeType":"FunctionDefinition","src":"17984:104:15","nodes":[],"documentation":{"id":13435,"nodeType":"StructuredDocumentation","src":"17916:63:15","text":"Signs `digest` with `privateKey` using the secp256k1 curve."},"functionSelector":"e341eaa4","implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"17993:4:15","parameters":{"id":13440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13437,"mutability":"mutable","name":"privateKey","nameLocation":"18006:10:15","nodeType":"VariableDeclaration","scope":13448,"src":"17998:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13436,"name":"uint256","nodeType":"ElementaryTypeName","src":"17998:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13439,"mutability":"mutable","name":"digest","nameLocation":"18026:6:15","nodeType":"VariableDeclaration","scope":13448,"src":"18018:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13438,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18018:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17997:36:15"},"returnParameters":{"id":13447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13442,"mutability":"mutable","name":"v","nameLocation":"18063:1:15","nodeType":"VariableDeclaration","scope":13448,"src":"18057:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13441,"name":"uint8","nodeType":"ElementaryTypeName","src":"18057:5:15","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13444,"mutability":"mutable","name":"r","nameLocation":"18074:1:15","nodeType":"VariableDeclaration","scope":13448,"src":"18066:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13443,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18066:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13446,"mutability":"mutable","name":"s","nameLocation":"18085:1:15","nodeType":"VariableDeclaration","scope":13448,"src":"18077:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13445,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18077:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"18056:31:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13460,"nodeType":"FunctionDefinition","src":"18527:84:15","nodes":[],"documentation":{"id":13449,"nodeType":"StructuredDocumentation","src":"18094:428:15","text":"Signs `digest` with signer provided to script using the secp256k1 curve.\n If `--sender` is provided, the signer with provided address is used, otherwise,\n if exactly one signer is provided to the script, that signer is used.\n Raises error if signer passed through `--sender` does not match any unlocked signers or\n if `--sender` is not provided and not exactly one signer is passed to the script."},"functionSelector":"799cd333","implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"18536:4:15","parameters":{"id":13452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13451,"mutability":"mutable","name":"digest","nameLocation":"18549:6:15","nodeType":"VariableDeclaration","scope":13460,"src":"18541:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13450,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18541:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"18540:16:15"},"returnParameters":{"id":13459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13454,"mutability":"mutable","name":"v","nameLocation":"18586:1:15","nodeType":"VariableDeclaration","scope":13460,"src":"18580:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13453,"name":"uint8","nodeType":"ElementaryTypeName","src":"18580:5:15","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13456,"mutability":"mutable","name":"r","nameLocation":"18597:1:15","nodeType":"VariableDeclaration","scope":13460,"src":"18589:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13455,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18589:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13458,"mutability":"mutable","name":"s","nameLocation":"18608:1:15","nodeType":"VariableDeclaration","scope":13460,"src":"18600:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13457,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18600:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"18579:31:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13474,"nodeType":"FunctionDefinition","src":"18788:100:15","nodes":[],"documentation":{"id":13461,"nodeType":"StructuredDocumentation","src":"18617:166:15","text":"Signs `digest` with signer provided to script using the secp256k1 curve.\n Raises error if none of the signers passed into the script have provided address."},"functionSelector":"8c1aa205","implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"18797:4:15","parameters":{"id":13466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13463,"mutability":"mutable","name":"signer","nameLocation":"18810:6:15","nodeType":"VariableDeclaration","scope":13474,"src":"18802:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13462,"name":"address","nodeType":"ElementaryTypeName","src":"18802:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13465,"mutability":"mutable","name":"digest","nameLocation":"18826:6:15","nodeType":"VariableDeclaration","scope":13474,"src":"18818:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13464,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18818:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"18801:32:15"},"returnParameters":{"id":13473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13468,"mutability":"mutable","name":"v","nameLocation":"18863:1:15","nodeType":"VariableDeclaration","scope":13474,"src":"18857:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13467,"name":"uint8","nodeType":"ElementaryTypeName","src":"18857:5:15","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13470,"mutability":"mutable","name":"r","nameLocation":"18874:1:15","nodeType":"VariableDeclaration","scope":13474,"src":"18866:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13469,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18866:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13472,"mutability":"mutable","name":"s","nameLocation":"18885:1:15","nodeType":"VariableDeclaration","scope":13474,"src":"18877:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13471,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18877:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"18856:31:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13482,"nodeType":"FunctionDefinition","src":"19075:80:15","nodes":[],"documentation":{"id":13475,"nodeType":"StructuredDocumentation","src":"18932:138:15","text":"Gets the environment variable `name` and parses it as `address`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"350d56bf","implemented":false,"kind":"function","modifiers":[],"name":"envAddress","nameLocation":"19084:10:15","parameters":{"id":13478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13477,"mutability":"mutable","name":"name","nameLocation":"19111:4:15","nodeType":"VariableDeclaration","scope":13482,"src":"19095:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13476,"name":"string","nodeType":"ElementaryTypeName","src":"19095:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19094:22:15"},"returnParameters":{"id":13481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13480,"mutability":"mutable","name":"value","nameLocation":"19148:5:15","nodeType":"VariableDeclaration","scope":13482,"src":"19140:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13479,"name":"address","nodeType":"ElementaryTypeName","src":"19140:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19139:15:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13493,"nodeType":"FunctionDefinition","src":"19338:112:15","nodes":[],"documentation":{"id":13483,"nodeType":"StructuredDocumentation","src":"19161:172:15","text":"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"ad31b9fa","implemented":false,"kind":"function","modifiers":[],"name":"envAddress","nameLocation":"19347:10:15","parameters":{"id":13488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13485,"mutability":"mutable","name":"name","nameLocation":"19374:4:15","nodeType":"VariableDeclaration","scope":13493,"src":"19358:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13484,"name":"string","nodeType":"ElementaryTypeName","src":"19358:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13487,"mutability":"mutable","name":"delim","nameLocation":"19396:5:15","nodeType":"VariableDeclaration","scope":13493,"src":"19380:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13486,"name":"string","nodeType":"ElementaryTypeName","src":"19380:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19357:45:15"},"returnParameters":{"id":13492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13491,"mutability":"mutable","name":"value","nameLocation":"19443:5:15","nodeType":"VariableDeclaration","scope":13493,"src":"19426:22:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13489,"name":"address","nodeType":"ElementaryTypeName","src":"19426:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13490,"nodeType":"ArrayTypeName","src":"19426:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"19425:24:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13501,"nodeType":"FunctionDefinition","src":"19596:74:15","nodes":[],"documentation":{"id":13494,"nodeType":"StructuredDocumentation","src":"19456:135:15","text":"Gets the environment variable `name` and parses it as `bool`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"7ed1ec7d","implemented":false,"kind":"function","modifiers":[],"name":"envBool","nameLocation":"19605:7:15","parameters":{"id":13497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13496,"mutability":"mutable","name":"name","nameLocation":"19629:4:15","nodeType":"VariableDeclaration","scope":13501,"src":"19613:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13495,"name":"string","nodeType":"ElementaryTypeName","src":"19613:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19612:22:15"},"returnParameters":{"id":13500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13499,"mutability":"mutable","name":"value","nameLocation":"19663:5:15","nodeType":"VariableDeclaration","scope":13501,"src":"19658:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13498,"name":"bool","nodeType":"ElementaryTypeName","src":"19658:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19657:12:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13512,"nodeType":"FunctionDefinition","src":"19850:106:15","nodes":[],"documentation":{"id":13502,"nodeType":"StructuredDocumentation","src":"19676:169:15","text":"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"aaaddeaf","implemented":false,"kind":"function","modifiers":[],"name":"envBool","nameLocation":"19859:7:15","parameters":{"id":13507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13504,"mutability":"mutable","name":"name","nameLocation":"19883:4:15","nodeType":"VariableDeclaration","scope":13512,"src":"19867:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13503,"name":"string","nodeType":"ElementaryTypeName","src":"19867:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13506,"mutability":"mutable","name":"delim","nameLocation":"19905:5:15","nodeType":"VariableDeclaration","scope":13512,"src":"19889:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13505,"name":"string","nodeType":"ElementaryTypeName","src":"19889:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19866:45:15"},"returnParameters":{"id":13511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13510,"mutability":"mutable","name":"value","nameLocation":"19949:5:15","nodeType":"VariableDeclaration","scope":13512,"src":"19935:19:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":13508,"name":"bool","nodeType":"ElementaryTypeName","src":"19935:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13509,"nodeType":"ArrayTypeName","src":"19935:6:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"19934:21:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13520,"nodeType":"FunctionDefinition","src":"20105:80:15","nodes":[],"documentation":{"id":13513,"nodeType":"StructuredDocumentation","src":"19962:138:15","text":"Gets the environment variable `name` and parses it as `bytes32`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"97949042","implemented":false,"kind":"function","modifiers":[],"name":"envBytes32","nameLocation":"20114:10:15","parameters":{"id":13516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13515,"mutability":"mutable","name":"name","nameLocation":"20141:4:15","nodeType":"VariableDeclaration","scope":13520,"src":"20125:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13514,"name":"string","nodeType":"ElementaryTypeName","src":"20125:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20124:22:15"},"returnParameters":{"id":13519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13518,"mutability":"mutable","name":"value","nameLocation":"20178:5:15","nodeType":"VariableDeclaration","scope":13520,"src":"20170:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13517,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20170:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"20169:15:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13531,"nodeType":"FunctionDefinition","src":"20368:112:15","nodes":[],"documentation":{"id":13521,"nodeType":"StructuredDocumentation","src":"20191:172:15","text":"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"5af231c1","implemented":false,"kind":"function","modifiers":[],"name":"envBytes32","nameLocation":"20377:10:15","parameters":{"id":13526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13523,"mutability":"mutable","name":"name","nameLocation":"20404:4:15","nodeType":"VariableDeclaration","scope":13531,"src":"20388:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13522,"name":"string","nodeType":"ElementaryTypeName","src":"20388:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13525,"mutability":"mutable","name":"delim","nameLocation":"20426:5:15","nodeType":"VariableDeclaration","scope":13531,"src":"20410:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13524,"name":"string","nodeType":"ElementaryTypeName","src":"20410:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20387:45:15"},"returnParameters":{"id":13530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13529,"mutability":"mutable","name":"value","nameLocation":"20473:5:15","nodeType":"VariableDeclaration","scope":13531,"src":"20456:22:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13527,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20456:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13528,"nodeType":"ArrayTypeName","src":"20456:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"20455:24:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13539,"nodeType":"FunctionDefinition","src":"20627:83:15","nodes":[],"documentation":{"id":13532,"nodeType":"StructuredDocumentation","src":"20486:136:15","text":"Gets the environment variable `name` and parses it as `bytes`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"4d7baf06","implemented":false,"kind":"function","modifiers":[],"name":"envBytes","nameLocation":"20636:8:15","parameters":{"id":13535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13534,"mutability":"mutable","name":"name","nameLocation":"20661:4:15","nodeType":"VariableDeclaration","scope":13539,"src":"20645:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13533,"name":"string","nodeType":"ElementaryTypeName","src":"20645:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20644:22:15"},"returnParameters":{"id":13538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13537,"mutability":"mutable","name":"value","nameLocation":"20703:5:15","nodeType":"VariableDeclaration","scope":13539,"src":"20690:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13536,"name":"bytes","nodeType":"ElementaryTypeName","src":"20690:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20689:20:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13550,"nodeType":"FunctionDefinition","src":"20891:108:15","nodes":[],"documentation":{"id":13540,"nodeType":"StructuredDocumentation","src":"20716:170:15","text":"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"ddc2651b","implemented":false,"kind":"function","modifiers":[],"name":"envBytes","nameLocation":"20900:8:15","parameters":{"id":13545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13542,"mutability":"mutable","name":"name","nameLocation":"20925:4:15","nodeType":"VariableDeclaration","scope":13550,"src":"20909:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13541,"name":"string","nodeType":"ElementaryTypeName","src":"20909:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13544,"mutability":"mutable","name":"delim","nameLocation":"20947:5:15","nodeType":"VariableDeclaration","scope":13550,"src":"20931:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13543,"name":"string","nodeType":"ElementaryTypeName","src":"20931:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20908:45:15"},"returnParameters":{"id":13549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13548,"mutability":"mutable","name":"value","nameLocation":"20992:5:15","nodeType":"VariableDeclaration","scope":13550,"src":"20977:20:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":13546,"name":"bytes","nodeType":"ElementaryTypeName","src":"20977:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":13547,"nodeType":"ArrayTypeName","src":"20977:7:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"20976:22:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13558,"nodeType":"FunctionDefinition","src":"21101:77:15","nodes":[],"documentation":{"id":13551,"nodeType":"StructuredDocumentation","src":"21005:91:15","text":"Gets the environment variable `name` and returns true if it exists, else returns false."},"functionSelector":"ce8365f9","implemented":false,"kind":"function","modifiers":[],"name":"envExists","nameLocation":"21110:9:15","parameters":{"id":13554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13553,"mutability":"mutable","name":"name","nameLocation":"21136:4:15","nodeType":"VariableDeclaration","scope":13558,"src":"21120:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13552,"name":"string","nodeType":"ElementaryTypeName","src":"21120:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21119:22:15"},"returnParameters":{"id":13557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13556,"mutability":"mutable","name":"result","nameLocation":"21170:6:15","nodeType":"VariableDeclaration","scope":13558,"src":"21165:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13555,"name":"bool","nodeType":"ElementaryTypeName","src":"21165:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21164:13:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13566,"nodeType":"FunctionDefinition","src":"21326:75:15","nodes":[],"documentation":{"id":13559,"nodeType":"StructuredDocumentation","src":"21184:137:15","text":"Gets the environment variable `name` and parses it as `int256`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"892a0c61","implemented":false,"kind":"function","modifiers":[],"name":"envInt","nameLocation":"21335:6:15","parameters":{"id":13562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13561,"mutability":"mutable","name":"name","nameLocation":"21358:4:15","nodeType":"VariableDeclaration","scope":13566,"src":"21342:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13560,"name":"string","nodeType":"ElementaryTypeName","src":"21342:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21341:22:15"},"returnParameters":{"id":13565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13564,"mutability":"mutable","name":"value","nameLocation":"21394:5:15","nodeType":"VariableDeclaration","scope":13566,"src":"21387:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13563,"name":"int256","nodeType":"ElementaryTypeName","src":"21387:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"21386:14:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13577,"nodeType":"FunctionDefinition","src":"21583:107:15","nodes":[],"documentation":{"id":13567,"nodeType":"StructuredDocumentation","src":"21407:171:15","text":"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"42181150","implemented":false,"kind":"function","modifiers":[],"name":"envInt","nameLocation":"21592:6:15","parameters":{"id":13572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13569,"mutability":"mutable","name":"name","nameLocation":"21615:4:15","nodeType":"VariableDeclaration","scope":13577,"src":"21599:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13568,"name":"string","nodeType":"ElementaryTypeName","src":"21599:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13571,"mutability":"mutable","name":"delim","nameLocation":"21637:5:15","nodeType":"VariableDeclaration","scope":13577,"src":"21621:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13570,"name":"string","nodeType":"ElementaryTypeName","src":"21621:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21598:45:15"},"returnParameters":{"id":13576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13575,"mutability":"mutable","name":"value","nameLocation":"21683:5:15","nodeType":"VariableDeclaration","scope":13577,"src":"21667:21:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":13573,"name":"int256","nodeType":"ElementaryTypeName","src":"21667:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13574,"nodeType":"ArrayTypeName","src":"21667:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"21666:23:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13587,"nodeType":"FunctionDefinition","src":"21881:91:15","nodes":[],"documentation":{"id":13578,"nodeType":"StructuredDocumentation","src":"21696:180:15","text":"Gets the environment variable `name` and parses it as `bool`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"4777f3cf","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"21890:5:15","parameters":{"id":13583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13580,"mutability":"mutable","name":"name","nameLocation":"21912:4:15","nodeType":"VariableDeclaration","scope":13587,"src":"21896:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13579,"name":"string","nodeType":"ElementaryTypeName","src":"21896:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13582,"mutability":"mutable","name":"defaultValue","nameLocation":"21923:12:15","nodeType":"VariableDeclaration","scope":13587,"src":"21918:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13581,"name":"bool","nodeType":"ElementaryTypeName","src":"21918:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21895:41:15"},"returnParameters":{"id":13586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13585,"mutability":"mutable","name":"value","nameLocation":"21965:5:15","nodeType":"VariableDeclaration","scope":13587,"src":"21960:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13584,"name":"bool","nodeType":"ElementaryTypeName","src":"21960:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21959:12:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13597,"nodeType":"FunctionDefinition","src":"22166:97:15","nodes":[],"documentation":{"id":13588,"nodeType":"StructuredDocumentation","src":"21978:183:15","text":"Gets the environment variable `name` and parses it as `uint256`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"5e97348f","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"22175:5:15","parameters":{"id":13593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13590,"mutability":"mutable","name":"name","nameLocation":"22197:4:15","nodeType":"VariableDeclaration","scope":13597,"src":"22181:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13589,"name":"string","nodeType":"ElementaryTypeName","src":"22181:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13592,"mutability":"mutable","name":"defaultValue","nameLocation":"22211:12:15","nodeType":"VariableDeclaration","scope":13597,"src":"22203:20:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13591,"name":"uint256","nodeType":"ElementaryTypeName","src":"22203:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22180:44:15"},"returnParameters":{"id":13596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13595,"mutability":"mutable","name":"value","nameLocation":"22256:5:15","nodeType":"VariableDeclaration","scope":13597,"src":"22248:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13594,"name":"uint256","nodeType":"ElementaryTypeName","src":"22248:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22247:15:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13611,"nodeType":"FunctionDefinition","src":"22491:164:15","nodes":[],"documentation":{"id":13598,"nodeType":"StructuredDocumentation","src":"22269:217:15","text":"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"c74e9deb","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"22500:5:15","parameters":{"id":13606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13600,"mutability":"mutable","name":"name","nameLocation":"22522:4:15","nodeType":"VariableDeclaration","scope":13611,"src":"22506:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13599,"name":"string","nodeType":"ElementaryTypeName","src":"22506:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13602,"mutability":"mutable","name":"delim","nameLocation":"22544:5:15","nodeType":"VariableDeclaration","scope":13611,"src":"22528:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13601,"name":"string","nodeType":"ElementaryTypeName","src":"22528:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13605,"mutability":"mutable","name":"defaultValue","nameLocation":"22570:12:15","nodeType":"VariableDeclaration","scope":13611,"src":"22551:31:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13603,"name":"address","nodeType":"ElementaryTypeName","src":"22551:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13604,"nodeType":"ArrayTypeName","src":"22551:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"22505:78:15"},"returnParameters":{"id":13610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13609,"mutability":"mutable","name":"value","nameLocation":"22648:5:15","nodeType":"VariableDeclaration","scope":13611,"src":"22631:22:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13607,"name":"address","nodeType":"ElementaryTypeName","src":"22631:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13608,"nodeType":"ArrayTypeName","src":"22631:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"22630:24:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13625,"nodeType":"FunctionDefinition","src":"22883:164:15","nodes":[],"documentation":{"id":13612,"nodeType":"StructuredDocumentation","src":"22661:217:15","text":"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"2281f367","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"22892:5:15","parameters":{"id":13620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13614,"mutability":"mutable","name":"name","nameLocation":"22914:4:15","nodeType":"VariableDeclaration","scope":13625,"src":"22898:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13613,"name":"string","nodeType":"ElementaryTypeName","src":"22898:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13616,"mutability":"mutable","name":"delim","nameLocation":"22936:5:15","nodeType":"VariableDeclaration","scope":13625,"src":"22920:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13615,"name":"string","nodeType":"ElementaryTypeName","src":"22920:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13619,"mutability":"mutable","name":"defaultValue","nameLocation":"22962:12:15","nodeType":"VariableDeclaration","scope":13625,"src":"22943:31:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13617,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22943:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13618,"nodeType":"ArrayTypeName","src":"22943:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"22897:78:15"},"returnParameters":{"id":13624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13623,"mutability":"mutable","name":"value","nameLocation":"23040:5:15","nodeType":"VariableDeclaration","scope":13625,"src":"23023:22:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13621,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23023:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13622,"nodeType":"ArrayTypeName","src":"23023:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"23022:24:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13639,"nodeType":"FunctionDefinition","src":"23274:162:15","nodes":[],"documentation":{"id":13626,"nodeType":"StructuredDocumentation","src":"23053:216:15","text":"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"859216bc","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"23283:5:15","parameters":{"id":13634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13628,"mutability":"mutable","name":"name","nameLocation":"23305:4:15","nodeType":"VariableDeclaration","scope":13639,"src":"23289:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13627,"name":"string","nodeType":"ElementaryTypeName","src":"23289:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13630,"mutability":"mutable","name":"delim","nameLocation":"23327:5:15","nodeType":"VariableDeclaration","scope":13639,"src":"23311:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13629,"name":"string","nodeType":"ElementaryTypeName","src":"23311:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13633,"mutability":"mutable","name":"defaultValue","nameLocation":"23352:12:15","nodeType":"VariableDeclaration","scope":13639,"src":"23334:30:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":13631,"name":"string","nodeType":"ElementaryTypeName","src":"23334:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":13632,"nodeType":"ArrayTypeName","src":"23334:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"23288:77:15"},"returnParameters":{"id":13638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13637,"mutability":"mutable","name":"value","nameLocation":"23429:5:15","nodeType":"VariableDeclaration","scope":13639,"src":"23413:21:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":13635,"name":"string","nodeType":"ElementaryTypeName","src":"23413:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":13636,"nodeType":"ArrayTypeName","src":"23413:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"23412:23:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13653,"nodeType":"FunctionDefinition","src":"23662:160:15","nodes":[],"documentation":{"id":13640,"nodeType":"StructuredDocumentation","src":"23442:215:15","text":"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"64bc3e64","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"23671:5:15","parameters":{"id":13648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13642,"mutability":"mutable","name":"name","nameLocation":"23693:4:15","nodeType":"VariableDeclaration","scope":13653,"src":"23677:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13641,"name":"string","nodeType":"ElementaryTypeName","src":"23677:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13644,"mutability":"mutable","name":"delim","nameLocation":"23715:5:15","nodeType":"VariableDeclaration","scope":13653,"src":"23699:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13643,"name":"string","nodeType":"ElementaryTypeName","src":"23699:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13647,"mutability":"mutable","name":"defaultValue","nameLocation":"23739:12:15","nodeType":"VariableDeclaration","scope":13653,"src":"23722:29:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":13645,"name":"bytes","nodeType":"ElementaryTypeName","src":"23722:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":13646,"nodeType":"ArrayTypeName","src":"23722:7:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"23676:76:15"},"returnParameters":{"id":13652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13651,"mutability":"mutable","name":"value","nameLocation":"23815:5:15","nodeType":"VariableDeclaration","scope":13653,"src":"23800:20:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":13649,"name":"bytes","nodeType":"ElementaryTypeName","src":"23800:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":13650,"nodeType":"ArrayTypeName","src":"23800:7:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"23799:22:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13663,"nodeType":"FunctionDefinition","src":"24015:95:15","nodes":[],"documentation":{"id":13654,"nodeType":"StructuredDocumentation","src":"23828:182:15","text":"Gets the environment variable `name` and parses it as `int256`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"bbcb713e","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"24024:5:15","parameters":{"id":13659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13656,"mutability":"mutable","name":"name","nameLocation":"24046:4:15","nodeType":"VariableDeclaration","scope":13663,"src":"24030:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13655,"name":"string","nodeType":"ElementaryTypeName","src":"24030:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13658,"mutability":"mutable","name":"defaultValue","nameLocation":"24059:12:15","nodeType":"VariableDeclaration","scope":13663,"src":"24052:19:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13657,"name":"int256","nodeType":"ElementaryTypeName","src":"24052:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"24029:43:15"},"returnParameters":{"id":13662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13661,"mutability":"mutable","name":"value","nameLocation":"24103:5:15","nodeType":"VariableDeclaration","scope":13663,"src":"24096:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13660,"name":"int256","nodeType":"ElementaryTypeName","src":"24096:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"24095:14:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13673,"nodeType":"FunctionDefinition","src":"24304:97:15","nodes":[],"documentation":{"id":13664,"nodeType":"StructuredDocumentation","src":"24116:183:15","text":"Gets the environment variable `name` and parses it as `address`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"561fe540","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"24313:5:15","parameters":{"id":13669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13666,"mutability":"mutable","name":"name","nameLocation":"24335:4:15","nodeType":"VariableDeclaration","scope":13673,"src":"24319:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13665,"name":"string","nodeType":"ElementaryTypeName","src":"24319:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13668,"mutability":"mutable","name":"defaultValue","nameLocation":"24349:12:15","nodeType":"VariableDeclaration","scope":13673,"src":"24341:20:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13667,"name":"address","nodeType":"ElementaryTypeName","src":"24341:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24318:44:15"},"returnParameters":{"id":13672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13671,"mutability":"mutable","name":"value","nameLocation":"24394:5:15","nodeType":"VariableDeclaration","scope":13673,"src":"24386:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13670,"name":"address","nodeType":"ElementaryTypeName","src":"24386:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24385:15:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13683,"nodeType":"FunctionDefinition","src":"24595:97:15","nodes":[],"documentation":{"id":13674,"nodeType":"StructuredDocumentation","src":"24407:183:15","text":"Gets the environment variable `name` and parses it as `bytes32`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"b4a85892","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"24604:5:15","parameters":{"id":13679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13676,"mutability":"mutable","name":"name","nameLocation":"24626:4:15","nodeType":"VariableDeclaration","scope":13683,"src":"24610:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13675,"name":"string","nodeType":"ElementaryTypeName","src":"24610:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13678,"mutability":"mutable","name":"defaultValue","nameLocation":"24640:12:15","nodeType":"VariableDeclaration","scope":13683,"src":"24632:20:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13677,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24632:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"24609:44:15"},"returnParameters":{"id":13682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13681,"mutability":"mutable","name":"value","nameLocation":"24685:5:15","nodeType":"VariableDeclaration","scope":13683,"src":"24677:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13680,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24677:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"24676:15:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13693,"nodeType":"FunctionDefinition","src":"24885:111:15","nodes":[],"documentation":{"id":13684,"nodeType":"StructuredDocumentation","src":"24698:182:15","text":"Gets the environment variable `name` and parses it as `string`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"d145736c","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"24894:5:15","parameters":{"id":13689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13686,"mutability":"mutable","name":"name","nameLocation":"24916:4:15","nodeType":"VariableDeclaration","scope":13693,"src":"24900:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13685,"name":"string","nodeType":"ElementaryTypeName","src":"24900:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13688,"mutability":"mutable","name":"defaultValue","nameLocation":"24938:12:15","nodeType":"VariableDeclaration","scope":13693,"src":"24922:28:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13687,"name":"string","nodeType":"ElementaryTypeName","src":"24922:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24899:52:15"},"returnParameters":{"id":13692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13691,"mutability":"mutable","name":"value","nameLocation":"24989:5:15","nodeType":"VariableDeclaration","scope":13693,"src":"24975:19:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13690,"name":"string","nodeType":"ElementaryTypeName","src":"24975:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24974:21:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13703,"nodeType":"FunctionDefinition","src":"25188:109:15","nodes":[],"documentation":{"id":13694,"nodeType":"StructuredDocumentation","src":"25002:181:15","text":"Gets the environment variable `name` and parses it as `bytes`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"b3e47705","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"25197:5:15","parameters":{"id":13699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13696,"mutability":"mutable","name":"name","nameLocation":"25219:4:15","nodeType":"VariableDeclaration","scope":13703,"src":"25203:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13695,"name":"string","nodeType":"ElementaryTypeName","src":"25203:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13698,"mutability":"mutable","name":"defaultValue","nameLocation":"25240:12:15","nodeType":"VariableDeclaration","scope":13703,"src":"25225:27:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":13697,"name":"bytes","nodeType":"ElementaryTypeName","src":"25225:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"25202:51:15"},"returnParameters":{"id":13702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13701,"mutability":"mutable","name":"value","nameLocation":"25290:5:15","nodeType":"VariableDeclaration","scope":13703,"src":"25277:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13700,"name":"bytes","nodeType":"ElementaryTypeName","src":"25277:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"25276:20:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13717,"nodeType":"FunctionDefinition","src":"25522:158:15","nodes":[],"documentation":{"id":13704,"nodeType":"StructuredDocumentation","src":"25303:214:15","text":"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"eb85e83b","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"25531:5:15","parameters":{"id":13712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13706,"mutability":"mutable","name":"name","nameLocation":"25553:4:15","nodeType":"VariableDeclaration","scope":13717,"src":"25537:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13705,"name":"string","nodeType":"ElementaryTypeName","src":"25537:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13708,"mutability":"mutable","name":"delim","nameLocation":"25575:5:15","nodeType":"VariableDeclaration","scope":13717,"src":"25559:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13707,"name":"string","nodeType":"ElementaryTypeName","src":"25559:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13711,"mutability":"mutable","name":"defaultValue","nameLocation":"25598:12:15","nodeType":"VariableDeclaration","scope":13717,"src":"25582:28:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":13709,"name":"bool","nodeType":"ElementaryTypeName","src":"25582:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13710,"nodeType":"ArrayTypeName","src":"25582:6:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"25536:75:15"},"returnParameters":{"id":13716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13715,"mutability":"mutable","name":"value","nameLocation":"25673:5:15","nodeType":"VariableDeclaration","scope":13717,"src":"25659:19:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":13713,"name":"bool","nodeType":"ElementaryTypeName","src":"25659:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13714,"nodeType":"ArrayTypeName","src":"25659:6:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"25658:21:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13731,"nodeType":"FunctionDefinition","src":"25908:164:15","nodes":[],"documentation":{"id":13718,"nodeType":"StructuredDocumentation","src":"25686:217:15","text":"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"74318528","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"25917:5:15","parameters":{"id":13726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13720,"mutability":"mutable","name":"name","nameLocation":"25939:4:15","nodeType":"VariableDeclaration","scope":13731,"src":"25923:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13719,"name":"string","nodeType":"ElementaryTypeName","src":"25923:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13722,"mutability":"mutable","name":"delim","nameLocation":"25961:5:15","nodeType":"VariableDeclaration","scope":13731,"src":"25945:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13721,"name":"string","nodeType":"ElementaryTypeName","src":"25945:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13725,"mutability":"mutable","name":"defaultValue","nameLocation":"25987:12:15","nodeType":"VariableDeclaration","scope":13731,"src":"25968:31:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13723,"name":"uint256","nodeType":"ElementaryTypeName","src":"25968:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13724,"nodeType":"ArrayTypeName","src":"25968:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"25922:78:15"},"returnParameters":{"id":13730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13729,"mutability":"mutable","name":"value","nameLocation":"26065:5:15","nodeType":"VariableDeclaration","scope":13731,"src":"26048:22:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13727,"name":"uint256","nodeType":"ElementaryTypeName","src":"26048:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13728,"nodeType":"ArrayTypeName","src":"26048:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"26047:24:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13745,"nodeType":"FunctionDefinition","src":"26299:162:15","nodes":[],"documentation":{"id":13732,"nodeType":"StructuredDocumentation","src":"26078:216:15","text":"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"4700d74b","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"26308:5:15","parameters":{"id":13740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13734,"mutability":"mutable","name":"name","nameLocation":"26330:4:15","nodeType":"VariableDeclaration","scope":13745,"src":"26314:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13733,"name":"string","nodeType":"ElementaryTypeName","src":"26314:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13736,"mutability":"mutable","name":"delim","nameLocation":"26352:5:15","nodeType":"VariableDeclaration","scope":13745,"src":"26336:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13735,"name":"string","nodeType":"ElementaryTypeName","src":"26336:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13739,"mutability":"mutable","name":"defaultValue","nameLocation":"26377:12:15","nodeType":"VariableDeclaration","scope":13745,"src":"26359:30:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":13737,"name":"int256","nodeType":"ElementaryTypeName","src":"26359:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13738,"nodeType":"ArrayTypeName","src":"26359:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"26313:77:15"},"returnParameters":{"id":13744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13743,"mutability":"mutable","name":"value","nameLocation":"26454:5:15","nodeType":"VariableDeclaration","scope":13745,"src":"26438:21:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":13741,"name":"int256","nodeType":"ElementaryTypeName","src":"26438:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13742,"nodeType":"ArrayTypeName","src":"26438:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"26437:23:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13753,"nodeType":"FunctionDefinition","src":"26609:85:15","nodes":[],"documentation":{"id":13746,"nodeType":"StructuredDocumentation","src":"26467:137:15","text":"Gets the environment variable `name` and parses it as `string`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"f877cb19","implemented":false,"kind":"function","modifiers":[],"name":"envString","nameLocation":"26618:9:15","parameters":{"id":13749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13748,"mutability":"mutable","name":"name","nameLocation":"26644:4:15","nodeType":"VariableDeclaration","scope":13753,"src":"26628:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13747,"name":"string","nodeType":"ElementaryTypeName","src":"26628:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26627:22:15"},"returnParameters":{"id":13752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13751,"mutability":"mutable","name":"value","nameLocation":"26687:5:15","nodeType":"VariableDeclaration","scope":13753,"src":"26673:19:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13750,"name":"string","nodeType":"ElementaryTypeName","src":"26673:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26672:21:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13764,"nodeType":"FunctionDefinition","src":"26876:110:15","nodes":[],"documentation":{"id":13754,"nodeType":"StructuredDocumentation","src":"26700:171:15","text":"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"14b02bc9","implemented":false,"kind":"function","modifiers":[],"name":"envString","nameLocation":"26885:9:15","parameters":{"id":13759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13756,"mutability":"mutable","name":"name","nameLocation":"26911:4:15","nodeType":"VariableDeclaration","scope":13764,"src":"26895:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13755,"name":"string","nodeType":"ElementaryTypeName","src":"26895:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13758,"mutability":"mutable","name":"delim","nameLocation":"26933:5:15","nodeType":"VariableDeclaration","scope":13764,"src":"26917:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13757,"name":"string","nodeType":"ElementaryTypeName","src":"26917:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26894:45:15"},"returnParameters":{"id":13763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13762,"mutability":"mutable","name":"value","nameLocation":"26979:5:15","nodeType":"VariableDeclaration","scope":13764,"src":"26963:21:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":13760,"name":"string","nodeType":"ElementaryTypeName","src":"26963:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":13761,"nodeType":"ArrayTypeName","src":"26963:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"26962:23:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13772,"nodeType":"FunctionDefinition","src":"27135:77:15","nodes":[],"documentation":{"id":13765,"nodeType":"StructuredDocumentation","src":"26992:138:15","text":"Gets the environment variable `name` and parses it as `uint256`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"c1978d1f","implemented":false,"kind":"function","modifiers":[],"name":"envUint","nameLocation":"27144:7:15","parameters":{"id":13768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13767,"mutability":"mutable","name":"name","nameLocation":"27168:4:15","nodeType":"VariableDeclaration","scope":13772,"src":"27152:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13766,"name":"string","nodeType":"ElementaryTypeName","src":"27152:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27151:22:15"},"returnParameters":{"id":13771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13770,"mutability":"mutable","name":"value","nameLocation":"27205:5:15","nodeType":"VariableDeclaration","scope":13772,"src":"27197:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13769,"name":"uint256","nodeType":"ElementaryTypeName","src":"27197:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27196:15:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13783,"nodeType":"FunctionDefinition","src":"27395:109:15","nodes":[],"documentation":{"id":13773,"nodeType":"StructuredDocumentation","src":"27218:172:15","text":"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"f3dec099","implemented":false,"kind":"function","modifiers":[],"name":"envUint","nameLocation":"27404:7:15","parameters":{"id":13778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13775,"mutability":"mutable","name":"name","nameLocation":"27428:4:15","nodeType":"VariableDeclaration","scope":13783,"src":"27412:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13774,"name":"string","nodeType":"ElementaryTypeName","src":"27412:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13777,"mutability":"mutable","name":"delim","nameLocation":"27450:5:15","nodeType":"VariableDeclaration","scope":13783,"src":"27434:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13776,"name":"string","nodeType":"ElementaryTypeName","src":"27434:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27411:45:15"},"returnParameters":{"id":13782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13781,"mutability":"mutable","name":"value","nameLocation":"27497:5:15","nodeType":"VariableDeclaration","scope":13783,"src":"27480:22:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13779,"name":"uint256","nodeType":"ElementaryTypeName","src":"27480:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13780,"nodeType":"ArrayTypeName","src":"27480:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"27479:24:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13792,"nodeType":"FunctionDefinition","src":"27581:77:15","nodes":[],"documentation":{"id":13784,"nodeType":"StructuredDocumentation","src":"27510:66:15","text":"Returns true if `forge` command was executed in given context."},"functionSelector":"64af255d","implemented":false,"kind":"function","modifiers":[],"name":"isContext","nameLocation":"27590:9:15","parameters":{"id":13788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13787,"mutability":"mutable","name":"context","nameLocation":"27613:7:15","nodeType":"VariableDeclaration","scope":13792,"src":"27600:20:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ForgeContext_$13021","typeString":"enum VmSafe.ForgeContext"},"typeName":{"id":13786,"nodeType":"UserDefinedTypeName","pathNode":{"id":13785,"name":"ForgeContext","nameLocations":["27600:12:15"],"nodeType":"IdentifierPath","referencedDeclaration":13021,"src":"27600:12:15"},"referencedDeclaration":13021,"src":"27600:12:15","typeDescriptions":{"typeIdentifier":"t_enum$_ForgeContext_$13021","typeString":"enum VmSafe.ForgeContext"}},"visibility":"internal"}],"src":"27599:22:15"},"returnParameters":{"id":13791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13790,"mutability":"mutable","name":"result","nameLocation":"27650:6:15","nodeType":"VariableDeclaration","scope":13792,"src":"27645:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13789,"name":"bool","nodeType":"ElementaryTypeName","src":"27645:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27644:13:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13800,"nodeType":"FunctionDefinition","src":"27700:70:15","nodes":[],"documentation":{"id":13793,"nodeType":"StructuredDocumentation","src":"27664:31:15","text":"Sets environment variables."},"functionSelector":"3d5923ee","implemented":false,"kind":"function","modifiers":[],"name":"setEnv","nameLocation":"27709:6:15","parameters":{"id":13798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13795,"mutability":"mutable","name":"name","nameLocation":"27732:4:15","nodeType":"VariableDeclaration","scope":13800,"src":"27716:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13794,"name":"string","nodeType":"ElementaryTypeName","src":"27716:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13797,"mutability":"mutable","name":"value","nameLocation":"27754:5:15","nodeType":"VariableDeclaration","scope":13800,"src":"27738:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13796,"name":"string","nodeType":"ElementaryTypeName","src":"27738:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27715:45:15"},"returnParameters":{"id":13799,"nodeType":"ParameterList","parameters":[],"src":"27769:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13812,"nodeType":"FunctionDefinition","src":"27902:109:15","nodes":[],"documentation":{"id":13801,"nodeType":"StructuredDocumentation","src":"27806:91:15","text":"Gets all accessed reads and write slot from a `vm.record` session, for a given address."},"functionSelector":"65bc9481","implemented":false,"kind":"function","modifiers":[],"name":"accesses","nameLocation":"27911:8:15","parameters":{"id":13804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13803,"mutability":"mutable","name":"target","nameLocation":"27928:6:15","nodeType":"VariableDeclaration","scope":13812,"src":"27920:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13802,"name":"address","nodeType":"ElementaryTypeName","src":"27920:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27919:16:15"},"returnParameters":{"id":13811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13807,"mutability":"mutable","name":"readSlots","nameLocation":"27971:9:15","nodeType":"VariableDeclaration","scope":13812,"src":"27954:26:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13805,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27954:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13806,"nodeType":"ArrayTypeName","src":"27954:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":13810,"mutability":"mutable","name":"writeSlots","nameLocation":"27999:10:15","nodeType":"VariableDeclaration","scope":13812,"src":"27982:27:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13808,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27982:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13809,"nodeType":"ArrayTypeName","src":"27982:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"27953:57:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13820,"nodeType":"FunctionDefinition","src":"28067:74:15","nodes":[],"documentation":{"id":13813,"nodeType":"StructuredDocumentation","src":"28017:45:15","text":"Gets the address for a given private key."},"functionSelector":"ffa18649","implemented":false,"kind":"function","modifiers":[],"name":"addr","nameLocation":"28076:4:15","parameters":{"id":13816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13815,"mutability":"mutable","name":"privateKey","nameLocation":"28089:10:15","nodeType":"VariableDeclaration","scope":13820,"src":"28081:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13814,"name":"uint256","nodeType":"ElementaryTypeName","src":"28081:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28080:20:15"},"returnParameters":{"id":13819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13818,"mutability":"mutable","name":"keyAddr","nameLocation":"28132:7:15","nodeType":"VariableDeclaration","scope":13820,"src":"28124:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13817,"name":"address","nodeType":"ElementaryTypeName","src":"28124:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28123:17:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13837,"nodeType":"FunctionDefinition","src":"28204:160:15","nodes":[],"documentation":{"id":13821,"nodeType":"StructuredDocumentation","src":"28147:52:15","text":"Gets all the logs according to specified filter."},"functionSelector":"35e1349b","implemented":false,"kind":"function","modifiers":[],"name":"eth_getLogs","nameLocation":"28213:11:15","parameters":{"id":13831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13823,"mutability":"mutable","name":"fromBlock","nameLocation":"28233:9:15","nodeType":"VariableDeclaration","scope":13837,"src":"28225:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13822,"name":"uint256","nodeType":"ElementaryTypeName","src":"28225:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13825,"mutability":"mutable","name":"toBlock","nameLocation":"28252:7:15","nodeType":"VariableDeclaration","scope":13837,"src":"28244:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13824,"name":"uint256","nodeType":"ElementaryTypeName","src":"28244:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13827,"mutability":"mutable","name":"target","nameLocation":"28269:6:15","nodeType":"VariableDeclaration","scope":13837,"src":"28261:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13826,"name":"address","nodeType":"ElementaryTypeName","src":"28261:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13830,"mutability":"mutable","name":"topics","nameLocation":"28296:6:15","nodeType":"VariableDeclaration","scope":13837,"src":"28277:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13828,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28277:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13829,"nodeType":"ArrayTypeName","src":"28277:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"28224:79:15"},"returnParameters":{"id":13836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13835,"mutability":"mutable","name":"logs","nameLocation":"28358:4:15","nodeType":"VariableDeclaration","scope":13837,"src":"28338:24:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_EthGetLogs_$13062_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.EthGetLogs[]"},"typeName":{"baseType":{"id":13833,"nodeType":"UserDefinedTypeName","pathNode":{"id":13832,"name":"EthGetLogs","nameLocations":["28338:10:15"],"nodeType":"IdentifierPath","referencedDeclaration":13062,"src":"28338:10:15"},"referencedDeclaration":13062,"src":"28338:10:15","typeDescriptions":{"typeIdentifier":"t_struct$_EthGetLogs_$13062_storage_ptr","typeString":"struct VmSafe.EthGetLogs"}},"id":13834,"nodeType":"ArrayTypeName","src":"28338:12:15","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_EthGetLogs_$13062_storage_$dyn_storage_ptr","typeString":"struct VmSafe.EthGetLogs[]"}},"visibility":"internal"}],"src":"28337:26:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13843,"nodeType":"FunctionDefinition","src":"28701:70:15","nodes":[],"documentation":{"id":13838,"nodeType":"StructuredDocumentation","src":"28370:326:15","text":"Gets the current `block.blobbasefee`.\n You should use this instead of `block.blobbasefee` if you use `vm.blobBaseFee`, as `block.blobbasefee` is assumed to be constant across a transaction,\n and as a result will get optimized out by the compiler.\n See https://github.com/foundry-rs/foundry/issues/6180"},"functionSelector":"1f6d6ef7","implemented":false,"kind":"function","modifiers":[],"name":"getBlobBaseFee","nameLocation":"28710:14:15","parameters":{"id":13839,"nodeType":"ParameterList","parameters":[],"src":"28724:2:15"},"returnParameters":{"id":13842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13841,"mutability":"mutable","name":"blobBaseFee","nameLocation":"28758:11:15","nodeType":"VariableDeclaration","scope":13843,"src":"28750:19:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13840,"name":"uint256","nodeType":"ElementaryTypeName","src":"28750:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28749:21:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13849,"nodeType":"FunctionDefinition","src":"29086:65:15","nodes":[],"documentation":{"id":13844,"nodeType":"StructuredDocumentation","src":"28777:304:15","text":"Gets the current `block.number`.\n You should use this instead of `block.number` if you use `vm.roll`, as `block.number` is assumed to be constant across a transaction,\n and as a result will get optimized out by the compiler.\n See https://github.com/foundry-rs/foundry/issues/6180"},"functionSelector":"42cbb15c","implemented":false,"kind":"function","modifiers":[],"name":"getBlockNumber","nameLocation":"29095:14:15","parameters":{"id":13845,"nodeType":"ParameterList","parameters":[],"src":"29109:2:15"},"returnParameters":{"id":13848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13847,"mutability":"mutable","name":"height","nameLocation":"29143:6:15","nodeType":"VariableDeclaration","scope":13849,"src":"29135:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13846,"name":"uint256","nodeType":"ElementaryTypeName","src":"29135:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29134:16:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13855,"nodeType":"FunctionDefinition","src":"29475:71:15","nodes":[],"documentation":{"id":13850,"nodeType":"StructuredDocumentation","src":"29157:313:15","text":"Gets the current `block.timestamp`.\n You should use this instead of `block.timestamp` if you use `vm.warp`, as `block.timestamp` is assumed to be constant across a transaction,\n and as a result will get optimized out by the compiler.\n See https://github.com/foundry-rs/foundry/issues/6180"},"functionSelector":"796b89b9","implemented":false,"kind":"function","modifiers":[],"name":"getBlockTimestamp","nameLocation":"29484:17:15","parameters":{"id":13851,"nodeType":"ParameterList","parameters":[],"src":"29501:2:15"},"returnParameters":{"id":13854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13853,"mutability":"mutable","name":"timestamp","nameLocation":"29535:9:15","nodeType":"VariableDeclaration","scope":13855,"src":"29527:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13852,"name":"uint256","nodeType":"ElementaryTypeName","src":"29527:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29526:19:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13869,"nodeType":"FunctionDefinition","src":"29639:146:15","nodes":[],"documentation":{"id":13856,"nodeType":"StructuredDocumentation","src":"29552:82:15","text":"Gets the map key and parent of a mapping at a given slot, for a given address."},"functionSelector":"876e24e6","implemented":false,"kind":"function","modifiers":[],"name":"getMappingKeyAndParentOf","nameLocation":"29648:24:15","parameters":{"id":13861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13858,"mutability":"mutable","name":"target","nameLocation":"29681:6:15","nodeType":"VariableDeclaration","scope":13869,"src":"29673:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13857,"name":"address","nodeType":"ElementaryTypeName","src":"29673:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13860,"mutability":"mutable","name":"elementSlot","nameLocation":"29697:11:15","nodeType":"VariableDeclaration","scope":13869,"src":"29689:19:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13859,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29689:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"29672:37:15"},"returnParameters":{"id":13868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13863,"mutability":"mutable","name":"found","nameLocation":"29749:5:15","nodeType":"VariableDeclaration","scope":13869,"src":"29744:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13862,"name":"bool","nodeType":"ElementaryTypeName","src":"29744:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13865,"mutability":"mutable","name":"key","nameLocation":"29764:3:15","nodeType":"VariableDeclaration","scope":13869,"src":"29756:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13864,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29756:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13867,"mutability":"mutable","name":"parent","nameLocation":"29777:6:15","nodeType":"VariableDeclaration","scope":13869,"src":"29769:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13866,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29769:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"29743:41:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13879,"nodeType":"FunctionDefinition","src":"29882:97:15","nodes":[],"documentation":{"id":13870,"nodeType":"StructuredDocumentation","src":"29791:86:15","text":"Gets the number of elements in the mapping at the given slot, for a given address."},"functionSelector":"2f2fd63f","implemented":false,"kind":"function","modifiers":[],"name":"getMappingLength","nameLocation":"29891:16:15","parameters":{"id":13875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13872,"mutability":"mutable","name":"target","nameLocation":"29916:6:15","nodeType":"VariableDeclaration","scope":13879,"src":"29908:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13871,"name":"address","nodeType":"ElementaryTypeName","src":"29908:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13874,"mutability":"mutable","name":"mappingSlot","nameLocation":"29932:11:15","nodeType":"VariableDeclaration","scope":13879,"src":"29924:19:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13873,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29924:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"29907:37:15"},"returnParameters":{"id":13878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13877,"mutability":"mutable","name":"length","nameLocation":"29971:6:15","nodeType":"VariableDeclaration","scope":13879,"src":"29963:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13876,"name":"uint256","nodeType":"ElementaryTypeName","src":"29963:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29962:16:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13891,"nodeType":"FunctionDefinition","src":"30183:109:15","nodes":[],"documentation":{"id":13880,"nodeType":"StructuredDocumentation","src":"29985:193:15","text":"Gets the elements at index idx of the mapping at the given slot, for a given address. The\n index must be less than the length of the mapping (i.e. the number of keys in the mapping)."},"functionSelector":"ebc73ab4","implemented":false,"kind":"function","modifiers":[],"name":"getMappingSlotAt","nameLocation":"30192:16:15","parameters":{"id":13887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13882,"mutability":"mutable","name":"target","nameLocation":"30217:6:15","nodeType":"VariableDeclaration","scope":13891,"src":"30209:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13881,"name":"address","nodeType":"ElementaryTypeName","src":"30209:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13884,"mutability":"mutable","name":"mappingSlot","nameLocation":"30233:11:15","nodeType":"VariableDeclaration","scope":13891,"src":"30225:19:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13883,"name":"bytes32","nodeType":"ElementaryTypeName","src":"30225:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13886,"mutability":"mutable","name":"idx","nameLocation":"30254:3:15","nodeType":"VariableDeclaration","scope":13891,"src":"30246:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13885,"name":"uint256","nodeType":"ElementaryTypeName","src":"30246:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30208:50:15"},"returnParameters":{"id":13890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13889,"mutability":"mutable","name":"value","nameLocation":"30285:5:15","nodeType":"VariableDeclaration","scope":13891,"src":"30277:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13888,"name":"bytes32","nodeType":"ElementaryTypeName","src":"30277:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"30276:15:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13899,"nodeType":"FunctionDefinition","src":"30336:72:15","nodes":[],"documentation":{"id":13892,"nodeType":"StructuredDocumentation","src":"30298:33:15","text":"Gets the nonce of an account."},"functionSelector":"2d0335ab","implemented":false,"kind":"function","modifiers":[],"name":"getNonce","nameLocation":"30345:8:15","parameters":{"id":13895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13894,"mutability":"mutable","name":"account","nameLocation":"30362:7:15","nodeType":"VariableDeclaration","scope":13899,"src":"30354:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13893,"name":"address","nodeType":"ElementaryTypeName","src":"30354:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30353:17:15"},"returnParameters":{"id":13898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13897,"mutability":"mutable","name":"nonce","nameLocation":"30401:5:15","nodeType":"VariableDeclaration","scope":13899,"src":"30394:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13896,"name":"uint64","nodeType":"ElementaryTypeName","src":"30394:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"30393:14:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13908,"nodeType":"FunctionDefinition","src":"30451:74:15","nodes":[],"documentation":{"id":13900,"nodeType":"StructuredDocumentation","src":"30414:32:15","text":"Get the nonce of a `Wallet`."},"functionSelector":"a5748aad","implemented":false,"kind":"function","modifiers":[],"name":"getNonce","nameLocation":"30460:8:15","parameters":{"id":13904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13903,"mutability":"mutable","name":"wallet","nameLocation":"30485:6:15","nodeType":"VariableDeclaration","scope":13908,"src":"30469:22:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13100_calldata_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":13902,"nodeType":"UserDefinedTypeName","pathNode":{"id":13901,"name":"Wallet","nameLocations":["30469:6:15"],"nodeType":"IdentifierPath","referencedDeclaration":13100,"src":"30469:6:15"},"referencedDeclaration":13100,"src":"30469:6:15","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13100_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"30468:24:15"},"returnParameters":{"id":13907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13906,"mutability":"mutable","name":"nonce","nameLocation":"30518:5:15","nodeType":"VariableDeclaration","scope":13908,"src":"30511:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13905,"name":"uint64","nodeType":"ElementaryTypeName","src":"30511:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"30510:14:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13916,"nodeType":"FunctionDefinition","src":"30567:64:15","nodes":[],"documentation":{"id":13909,"nodeType":"StructuredDocumentation","src":"30531:31:15","text":"Gets all the recorded logs."},"functionSelector":"191553a4","implemented":false,"kind":"function","modifiers":[],"name":"getRecordedLogs","nameLocation":"30576:15:15","parameters":{"id":13910,"nodeType":"ParameterList","parameters":[],"src":"30591:2:15"},"returnParameters":{"id":13915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13914,"mutability":"mutable","name":"logs","nameLocation":"30625:4:15","nodeType":"VariableDeclaration","scope":13916,"src":"30612:17:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$13035_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Log[]"},"typeName":{"baseType":{"id":13912,"nodeType":"UserDefinedTypeName","pathNode":{"id":13911,"name":"Log","nameLocations":["30612:3:15"],"nodeType":"IdentifierPath","referencedDeclaration":13035,"src":"30612:3:15"},"referencedDeclaration":13035,"src":"30612:3:15","typeDescriptions":{"typeIdentifier":"t_struct$_Log_$13035_storage_ptr","typeString":"struct VmSafe.Log"}},"id":13913,"nodeType":"ArrayTypeName","src":"30612:5:15","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$13035_storage_$dyn_storage_ptr","typeString":"struct VmSafe.Log[]"}},"visibility":"internal"}],"src":"30611:19:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13922,"nodeType":"FunctionDefinition","src":"30716:67:15","nodes":[],"documentation":{"id":13917,"nodeType":"StructuredDocumentation","src":"30637:74:15","text":"Returns state diffs from current `vm.startStateDiffRecording` session."},"functionSelector":"80df01cc","implemented":false,"kind":"function","modifiers":[],"name":"getStateDiff","nameLocation":"30725:12:15","parameters":{"id":13918,"nodeType":"ParameterList","parameters":[],"src":"30737:2:15"},"returnParameters":{"id":13921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13920,"mutability":"mutable","name":"diff","nameLocation":"30777:4:15","nodeType":"VariableDeclaration","scope":13922,"src":"30763:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13919,"name":"string","nodeType":"ElementaryTypeName","src":"30763:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30762:20:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13928,"nodeType":"FunctionDefinition","src":"30884:71:15","nodes":[],"documentation":{"id":13923,"nodeType":"StructuredDocumentation","src":"30789:90:15","text":"Returns state diffs from current `vm.startStateDiffRecording` session, in json format."},"functionSelector":"f54fe009","implemented":false,"kind":"function","modifiers":[],"name":"getStateDiffJson","nameLocation":"30893:16:15","parameters":{"id":13924,"nodeType":"ParameterList","parameters":[],"src":"30909:2:15"},"returnParameters":{"id":13927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13926,"mutability":"mutable","name":"diff","nameLocation":"30949:4:15","nodeType":"VariableDeclaration","scope":13928,"src":"30935:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13925,"name":"string","nodeType":"ElementaryTypeName","src":"30935:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30934:20:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13935,"nodeType":"FunctionDefinition","src":"31033:62:15","nodes":[],"documentation":{"id":13929,"nodeType":"StructuredDocumentation","src":"30961:67:15","text":"Gets the gas used in the last call from the callee perspective."},"functionSelector":"2b589b28","implemented":false,"kind":"function","modifiers":[],"name":"lastCallGas","nameLocation":"31042:11:15","parameters":{"id":13930,"nodeType":"ParameterList","parameters":[],"src":"31053:2:15"},"returnParameters":{"id":13934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13933,"mutability":"mutable","name":"gas","nameLocation":"31090:3:15","nodeType":"VariableDeclaration","scope":13935,"src":"31079:14:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Gas_$13182_memory_ptr","typeString":"struct VmSafe.Gas"},"typeName":{"id":13932,"nodeType":"UserDefinedTypeName","pathNode":{"id":13931,"name":"Gas","nameLocations":["31079:3:15"],"nodeType":"IdentifierPath","referencedDeclaration":13182,"src":"31079:3:15"},"referencedDeclaration":13182,"src":"31079:3:15","typeDescriptions":{"typeIdentifier":"t_struct$_Gas_$13182_storage_ptr","typeString":"struct VmSafe.Gas"}},"visibility":"internal"}],"src":"31078:16:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13945,"nodeType":"FunctionDefinition","src":"31147:81:15","nodes":[],"documentation":{"id":13936,"nodeType":"StructuredDocumentation","src":"31101:41:15","text":"Loads a storage slot from an address."},"functionSelector":"667f9d70","implemented":false,"kind":"function","modifiers":[],"name":"load","nameLocation":"31156:4:15","parameters":{"id":13941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13938,"mutability":"mutable","name":"target","nameLocation":"31169:6:15","nodeType":"VariableDeclaration","scope":13945,"src":"31161:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13937,"name":"address","nodeType":"ElementaryTypeName","src":"31161:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13940,"mutability":"mutable","name":"slot","nameLocation":"31185:4:15","nodeType":"VariableDeclaration","scope":13945,"src":"31177:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13939,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31177:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"31160:30:15"},"returnParameters":{"id":13944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13943,"mutability":"mutable","name":"data","nameLocation":"31222:4:15","nodeType":"VariableDeclaration","scope":13945,"src":"31214:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13942,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31214:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"31213:14:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13949,"nodeType":"FunctionDefinition","src":"31319:37:15","nodes":[],"documentation":{"id":13946,"nodeType":"StructuredDocumentation","src":"31234:80:15","text":"Pauses gas metering (i.e. gas usage is not counted). Noop if already paused."},"functionSelector":"d1a5b36f","implemented":false,"kind":"function","modifiers":[],"name":"pauseGasMetering","nameLocation":"31328:16:15","parameters":{"id":13947,"nodeType":"ParameterList","parameters":[],"src":"31344:2:15"},"returnParameters":{"id":13948,"nodeType":"ParameterList","parameters":[],"src":"31355:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13953,"nodeType":"FunctionDefinition","src":"31408:27:15","nodes":[],"documentation":{"id":13950,"nodeType":"StructuredDocumentation","src":"31362:41:15","text":"Records all storage reads and writes."},"functionSelector":"266cf109","implemented":false,"kind":"function","modifiers":[],"name":"record","nameLocation":"31417:6:15","parameters":{"id":13951,"nodeType":"ParameterList","parameters":[],"src":"31423:2:15"},"returnParameters":{"id":13952,"nodeType":"ParameterList","parameters":[],"src":"31434:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13957,"nodeType":"FunctionDefinition","src":"31482:31:15","nodes":[],"documentation":{"id":13954,"nodeType":"StructuredDocumentation","src":"31441:36:15","text":"Record all the transaction logs."},"functionSelector":"41af2f52","implemented":false,"kind":"function","modifiers":[],"name":"recordLogs","nameLocation":"31491:10:15","parameters":{"id":13955,"nodeType":"ParameterList","parameters":[],"src":"31501:2:15"},"returnParameters":{"id":13956,"nodeType":"ParameterList","parameters":[],"src":"31512:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13961,"nodeType":"FunctionDefinition","src":"31584:37:15","nodes":[],"documentation":{"id":13958,"nodeType":"StructuredDocumentation","src":"31519:60:15","text":"Reset gas metering (i.e. gas usage is set to gas limit)."},"functionSelector":"be367dd3","implemented":false,"kind":"function","modifiers":[],"name":"resetGasMetering","nameLocation":"31593:16:15","parameters":{"id":13959,"nodeType":"ParameterList","parameters":[],"src":"31609:2:15"},"returnParameters":{"id":13960,"nodeType":"ParameterList","parameters":[],"src":"31620:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13965,"nodeType":"FunctionDefinition","src":"31711:38:15","nodes":[],"documentation":{"id":13962,"nodeType":"StructuredDocumentation","src":"31627:79:15","text":"Resumes gas metering (i.e. gas usage is counted again). Noop if already on."},"functionSelector":"2bcd50e0","implemented":false,"kind":"function","modifiers":[],"name":"resumeGasMetering","nameLocation":"31720:17:15","parameters":{"id":13963,"nodeType":"ParameterList","parameters":[],"src":"31737:2:15"},"returnParameters":{"id":13964,"nodeType":"ParameterList","parameters":[],"src":"31748:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13975,"nodeType":"FunctionDefinition","src":"31826:98:15","nodes":[],"documentation":{"id":13966,"nodeType":"StructuredDocumentation","src":"31755:66:15","text":"Performs an Ethereum JSON-RPC request to the current fork URL."},"functionSelector":"1206c8a8","implemented":false,"kind":"function","modifiers":[],"name":"rpc","nameLocation":"31835:3:15","parameters":{"id":13971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13968,"mutability":"mutable","name":"method","nameLocation":"31855:6:15","nodeType":"VariableDeclaration","scope":13975,"src":"31839:22:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13967,"name":"string","nodeType":"ElementaryTypeName","src":"31839:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13970,"mutability":"mutable","name":"params","nameLocation":"31879:6:15","nodeType":"VariableDeclaration","scope":13975,"src":"31863:22:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13969,"name":"string","nodeType":"ElementaryTypeName","src":"31863:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31838:48:15"},"returnParameters":{"id":13974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13973,"mutability":"mutable","name":"data","nameLocation":"31918:4:15","nodeType":"VariableDeclaration","scope":13975,"src":"31905:17:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13972,"name":"bytes","nodeType":"ElementaryTypeName","src":"31905:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"31904:19:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13987,"nodeType":"FunctionDefinition","src":"31999:142:15","nodes":[],"documentation":{"id":13976,"nodeType":"StructuredDocumentation","src":"31930:64:15","text":"Performs an Ethereum JSON-RPC request to the given endpoint."},"functionSelector":"0199a220","implemented":false,"kind":"function","modifiers":[],"name":"rpc","nameLocation":"32008:3:15","parameters":{"id":13983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13978,"mutability":"mutable","name":"urlOrAlias","nameLocation":"32028:10:15","nodeType":"VariableDeclaration","scope":13987,"src":"32012:26:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13977,"name":"string","nodeType":"ElementaryTypeName","src":"32012:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13980,"mutability":"mutable","name":"method","nameLocation":"32056:6:15","nodeType":"VariableDeclaration","scope":13987,"src":"32040:22:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13979,"name":"string","nodeType":"ElementaryTypeName","src":"32040:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13982,"mutability":"mutable","name":"params","nameLocation":"32080:6:15","nodeType":"VariableDeclaration","scope":13987,"src":"32064:22:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13981,"name":"string","nodeType":"ElementaryTypeName","src":"32064:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32011:76:15"},"returnParameters":{"id":13986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13985,"mutability":"mutable","name":"data","nameLocation":"32135:4:15","nodeType":"VariableDeclaration","scope":13987,"src":"32122:17:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13984,"name":"bytes","nodeType":"ElementaryTypeName","src":"32122:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"32121:19:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13991,"nodeType":"FunctionDefinition","src":"32195:45:15","nodes":[],"documentation":{"id":13988,"nodeType":"StructuredDocumentation","src":"32147:43:15","text":"Records the debug trace during the run."},"functionSelector":"419c8832","implemented":false,"kind":"function","modifiers":[],"name":"startDebugTraceRecording","nameLocation":"32204:24:15","parameters":{"id":13989,"nodeType":"ParameterList","parameters":[],"src":"32228:2:15"},"returnParameters":{"id":13990,"nodeType":"ParameterList","parameters":[],"src":"32239:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13995,"nodeType":"FunctionDefinition","src":"32308:42:15","nodes":[],"documentation":{"id":13992,"nodeType":"StructuredDocumentation","src":"32246:57:15","text":"Starts recording all map SSTOREs for later retrieval."},"functionSelector":"3e9705c0","implemented":false,"kind":"function","modifiers":[],"name":"startMappingRecording","nameLocation":"32317:21:15","parameters":{"id":13993,"nodeType":"ParameterList","parameters":[],"src":"32338:2:15"},"returnParameters":{"id":13994,"nodeType":"ParameterList","parameters":[],"src":"32349:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13999,"nodeType":"FunctionDefinition","src":"32494:44:15","nodes":[],"documentation":{"id":13996,"nodeType":"StructuredDocumentation","src":"32356:133:15","text":"Record all account accesses as part of CREATE, CALL or SELFDESTRUCT opcodes in order,\n along with the context of the calls"},"functionSelector":"cf22e3c9","implemented":false,"kind":"function","modifiers":[],"name":"startStateDiffRecording","nameLocation":"32503:23:15","parameters":{"id":13997,"nodeType":"ParameterList","parameters":[],"src":"32526:2:15"},"returnParameters":{"id":13998,"nodeType":"ParameterList","parameters":[],"src":"32537:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14007,"nodeType":"FunctionDefinition","src":"32617:87:15","nodes":[],"documentation":{"id":14000,"nodeType":"StructuredDocumentation","src":"32544:68:15","text":"Stop debug trace recording and returns the recorded debug trace."},"functionSelector":"ced398a2","implemented":false,"kind":"function","modifiers":[],"name":"stopAndReturnDebugTraceRecording","nameLocation":"32626:32:15","parameters":{"id":14001,"nodeType":"ParameterList","parameters":[],"src":"32658:2:15"},"returnParameters":{"id":14006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14005,"mutability":"mutable","name":"step","nameLocation":"32698:4:15","nodeType":"VariableDeclaration","scope":14007,"src":"32679:23:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DebugStep_$13197_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DebugStep[]"},"typeName":{"baseType":{"id":14003,"nodeType":"UserDefinedTypeName","pathNode":{"id":14002,"name":"DebugStep","nameLocations":["32679:9:15"],"nodeType":"IdentifierPath","referencedDeclaration":13197,"src":"32679:9:15"},"referencedDeclaration":13197,"src":"32679:9:15","typeDescriptions":{"typeIdentifier":"t_struct$_DebugStep_$13197_storage_ptr","typeString":"struct VmSafe.DebugStep"}},"id":14004,"nodeType":"ArrayTypeName","src":"32679:11:15","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DebugStep_$13197_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DebugStep[]"}},"visibility":"internal"}],"src":"32678:25:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14015,"nodeType":"FunctionDefinition","src":"32812:92:15","nodes":[],"documentation":{"id":14008,"nodeType":"StructuredDocumentation","src":"32710:97:15","text":"Returns an ordered array of all account accesses from a `vm.startStateDiffRecording` session."},"functionSelector":"aa5cf90e","implemented":false,"kind":"function","modifiers":[],"name":"stopAndReturnStateDiff","nameLocation":"32821:22:15","parameters":{"id":14009,"nodeType":"ParameterList","parameters":[],"src":"32843:2:15"},"returnParameters":{"id":14014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14013,"mutability":"mutable","name":"accountAccesses","nameLocation":"32887:15:15","nodeType":"VariableDeclaration","scope":14015,"src":"32864:38:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccountAccess_$13156_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.AccountAccess[]"},"typeName":{"baseType":{"id":14011,"nodeType":"UserDefinedTypeName","pathNode":{"id":14010,"name":"AccountAccess","nameLocations":["32864:13:15"],"nodeType":"IdentifierPath","referencedDeclaration":13156,"src":"32864:13:15"},"referencedDeclaration":13156,"src":"32864:13:15","typeDescriptions":{"typeIdentifier":"t_struct$_AccountAccess_$13156_storage_ptr","typeString":"struct VmSafe.AccountAccess"}},"id":14012,"nodeType":"ArrayTypeName","src":"32864:15:15","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccountAccess_$13156_storage_$dyn_storage_ptr","typeString":"struct VmSafe.AccountAccess[]"}},"visibility":"internal"}],"src":"32863:40:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14019,"nodeType":"FunctionDefinition","src":"33000:41:15","nodes":[],"documentation":{"id":14016,"nodeType":"StructuredDocumentation","src":"32910:85:15","text":"Stops recording all map SSTOREs for later retrieval and clears the recorded data."},"functionSelector":"0d4aae9b","implemented":false,"kind":"function","modifiers":[],"name":"stopMappingRecording","nameLocation":"33009:20:15","parameters":{"id":14017,"nodeType":"ParameterList","parameters":[],"src":"33029:2:15"},"returnParameters":{"id":14018,"nodeType":"ParameterList","parameters":[],"src":"33040:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14025,"nodeType":"FunctionDefinition","src":"33240:50:15","nodes":[],"documentation":{"id":14020,"nodeType":"StructuredDocumentation","src":"33084:151:15","text":"Closes file for reading, resetting the offset and allowing to read it from beginning with readLine.\n `path` is relative to the project root."},"functionSelector":"48c3241f","implemented":false,"kind":"function","modifiers":[],"name":"closeFile","nameLocation":"33249:9:15","parameters":{"id":14023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14022,"mutability":"mutable","name":"path","nameLocation":"33275:4:15","nodeType":"VariableDeclaration","scope":14025,"src":"33259:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14021,"name":"string","nodeType":"ElementaryTypeName","src":"33259:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33258:22:15"},"returnParameters":{"id":14024,"nodeType":"ParameterList","parameters":[],"src":"33289:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14035,"nodeType":"FunctionDefinition","src":"33605:93:15","nodes":[],"documentation":{"id":14026,"nodeType":"StructuredDocumentation","src":"33296:304:15","text":"Copies the contents of one file to another. This function will **overwrite** the contents of `to`.\n On success, the total number of bytes copied is returned and it is equal to the length of the `to` file as reported by `metadata`.\n Both `from` and `to` are relative to the project root."},"functionSelector":"a54a87d8","implemented":false,"kind":"function","modifiers":[],"name":"copyFile","nameLocation":"33614:8:15","parameters":{"id":14031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14028,"mutability":"mutable","name":"from","nameLocation":"33639:4:15","nodeType":"VariableDeclaration","scope":14035,"src":"33623:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14027,"name":"string","nodeType":"ElementaryTypeName","src":"33623:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14030,"mutability":"mutable","name":"to","nameLocation":"33661:2:15","nodeType":"VariableDeclaration","scope":14035,"src":"33645:18:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14029,"name":"string","nodeType":"ElementaryTypeName","src":"33645:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33622:42:15"},"returnParameters":{"id":14034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14033,"mutability":"mutable","name":"copied","nameLocation":"33690:6:15","nodeType":"VariableDeclaration","scope":14035,"src":"33683:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":14032,"name":"uint64","nodeType":"ElementaryTypeName","src":"33683:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"33682:15:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14043,"nodeType":"FunctionDefinition","src":"34103:66:15","nodes":[],"documentation":{"id":14036,"nodeType":"StructuredDocumentation","src":"33704:394:15","text":"Creates a new, empty directory at the provided path.\n This cheatcode will revert in the following situations, but is not limited to just these cases:\n - User lacks permissions to modify `path`.\n - A parent of the given path doesn't exist and `recursive` is false.\n - `path` already exists and `recursive` is false.\n `path` is relative to the project root."},"functionSelector":"168b64d3","implemented":false,"kind":"function","modifiers":[],"name":"createDir","nameLocation":"34112:9:15","parameters":{"id":14041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14038,"mutability":"mutable","name":"path","nameLocation":"34138:4:15","nodeType":"VariableDeclaration","scope":14043,"src":"34122:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14037,"name":"string","nodeType":"ElementaryTypeName","src":"34122:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14040,"mutability":"mutable","name":"recursive","nameLocation":"34149:9:15","nodeType":"VariableDeclaration","scope":14043,"src":"34144:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14039,"name":"bool","nodeType":"ElementaryTypeName","src":"34144:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"34121:38:15"},"returnParameters":{"id":14042,"nodeType":"ParameterList","parameters":[],"src":"34168:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14051,"nodeType":"FunctionDefinition","src":"34399:93:15","nodes":[],"documentation":{"id":14044,"nodeType":"StructuredDocumentation","src":"34175:219:15","text":"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional."},"functionSelector":"9a8325a0","implemented":false,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"34408:10:15","parameters":{"id":14047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14046,"mutability":"mutable","name":"artifactPath","nameLocation":"34435:12:15","nodeType":"VariableDeclaration","scope":14051,"src":"34419:28:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14045,"name":"string","nodeType":"ElementaryTypeName","src":"34419:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34418:30:15"},"returnParameters":{"id":14050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14049,"mutability":"mutable","name":"deployedAddress","nameLocation":"34475:15:15","nodeType":"VariableDeclaration","scope":14051,"src":"34467:23:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14048,"name":"address","nodeType":"ElementaryTypeName","src":"34467:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34466:25:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14061,"nodeType":"FunctionDefinition","src":"34786:141:15","nodes":[],"documentation":{"id":14052,"nodeType":"StructuredDocumentation","src":"34498:283:15","text":"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional.\n Additionally accepts abi-encoded constructor arguments."},"functionSelector":"29ce9dde","implemented":false,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"34795:10:15","parameters":{"id":14057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14054,"mutability":"mutable","name":"artifactPath","nameLocation":"34822:12:15","nodeType":"VariableDeclaration","scope":14061,"src":"34806:28:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14053,"name":"string","nodeType":"ElementaryTypeName","src":"34806:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14056,"mutability":"mutable","name":"constructorArgs","nameLocation":"34851:15:15","nodeType":"VariableDeclaration","scope":14061,"src":"34836:30:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14055,"name":"bytes","nodeType":"ElementaryTypeName","src":"34836:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"34805:62:15"},"returnParameters":{"id":14060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14059,"mutability":"mutable","name":"deployedAddress","nameLocation":"34910:15:15","nodeType":"VariableDeclaration","scope":14061,"src":"34902:23:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14058,"name":"address","nodeType":"ElementaryTypeName","src":"34902:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34901:25:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14071,"nodeType":"FunctionDefinition","src":"35199:108:15","nodes":[],"documentation":{"id":14062,"nodeType":"StructuredDocumentation","src":"34933:261:15","text":"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional.\n Additionally accepts `msg.value`."},"functionSelector":"0af6a701","implemented":false,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"35208:10:15","parameters":{"id":14067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14064,"mutability":"mutable","name":"artifactPath","nameLocation":"35235:12:15","nodeType":"VariableDeclaration","scope":14071,"src":"35219:28:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14063,"name":"string","nodeType":"ElementaryTypeName","src":"35219:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14066,"mutability":"mutable","name":"value","nameLocation":"35257:5:15","nodeType":"VariableDeclaration","scope":14071,"src":"35249:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14065,"name":"uint256","nodeType":"ElementaryTypeName","src":"35249:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35218:45:15"},"returnParameters":{"id":14070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14069,"mutability":"mutable","name":"deployedAddress","nameLocation":"35290:15:15","nodeType":"VariableDeclaration","scope":14071,"src":"35282:23:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14068,"name":"address","nodeType":"ElementaryTypeName","src":"35282:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"35281:25:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14083,"nodeType":"FunctionDefinition","src":"35617:156:15","nodes":[],"documentation":{"id":14072,"nodeType":"StructuredDocumentation","src":"35313:299:15","text":"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional.\n Additionally accepts abi-encoded constructor arguments and `msg.value`."},"functionSelector":"ff5d64e4","implemented":false,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"35626:10:15","parameters":{"id":14079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14074,"mutability":"mutable","name":"artifactPath","nameLocation":"35653:12:15","nodeType":"VariableDeclaration","scope":14083,"src":"35637:28:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14073,"name":"string","nodeType":"ElementaryTypeName","src":"35637:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14076,"mutability":"mutable","name":"constructorArgs","nameLocation":"35682:15:15","nodeType":"VariableDeclaration","scope":14083,"src":"35667:30:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14075,"name":"bytes","nodeType":"ElementaryTypeName","src":"35667:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":14078,"mutability":"mutable","name":"value","nameLocation":"35707:5:15","nodeType":"VariableDeclaration","scope":14083,"src":"35699:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14077,"name":"uint256","nodeType":"ElementaryTypeName","src":"35699:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35636:77:15"},"returnParameters":{"id":14082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14081,"mutability":"mutable","name":"deployedAddress","nameLocation":"35756:15:15","nodeType":"VariableDeclaration","scope":14083,"src":"35748:23:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14080,"name":"address","nodeType":"ElementaryTypeName","src":"35748:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"35747:25:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14093,"nodeType":"FunctionDefinition","src":"36027:107:15","nodes":[],"documentation":{"id":14084,"nodeType":"StructuredDocumentation","src":"35779:243:15","text":"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional."},"functionSelector":"17ab1d79","implemented":false,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"36036:10:15","parameters":{"id":14089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14086,"mutability":"mutable","name":"artifactPath","nameLocation":"36063:12:15","nodeType":"VariableDeclaration","scope":14093,"src":"36047:28:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14085,"name":"string","nodeType":"ElementaryTypeName","src":"36047:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14088,"mutability":"mutable","name":"salt","nameLocation":"36085:4:15","nodeType":"VariableDeclaration","scope":14093,"src":"36077:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14087,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36077:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"36046:44:15"},"returnParameters":{"id":14092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14091,"mutability":"mutable","name":"deployedAddress","nameLocation":"36117:15:15","nodeType":"VariableDeclaration","scope":14093,"src":"36109:23:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14090,"name":"address","nodeType":"ElementaryTypeName","src":"36109:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36108:25:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14105,"nodeType":"FunctionDefinition","src":"36452:155:15","nodes":[],"documentation":{"id":14094,"nodeType":"StructuredDocumentation","src":"36140:307:15","text":"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional.\n Additionally accepts abi-encoded constructor arguments."},"functionSelector":"016155bf","implemented":false,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"36461:10:15","parameters":{"id":14101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14096,"mutability":"mutable","name":"artifactPath","nameLocation":"36488:12:15","nodeType":"VariableDeclaration","scope":14105,"src":"36472:28:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14095,"name":"string","nodeType":"ElementaryTypeName","src":"36472:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14098,"mutability":"mutable","name":"constructorArgs","nameLocation":"36517:15:15","nodeType":"VariableDeclaration","scope":14105,"src":"36502:30:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14097,"name":"bytes","nodeType":"ElementaryTypeName","src":"36502:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":14100,"mutability":"mutable","name":"salt","nameLocation":"36542:4:15","nodeType":"VariableDeclaration","scope":14105,"src":"36534:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14099,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36534:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"36471:76:15"},"returnParameters":{"id":14104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14103,"mutability":"mutable","name":"deployedAddress","nameLocation":"36590:15:15","nodeType":"VariableDeclaration","scope":14105,"src":"36582:23:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14102,"name":"address","nodeType":"ElementaryTypeName","src":"36582:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36581:25:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14117,"nodeType":"FunctionDefinition","src":"36903:138:15","nodes":[],"documentation":{"id":14106,"nodeType":"StructuredDocumentation","src":"36613:285:15","text":"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional.\n Additionally accepts `msg.value`."},"functionSelector":"002cb687","implemented":false,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"36912:10:15","parameters":{"id":14113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14108,"mutability":"mutable","name":"artifactPath","nameLocation":"36939:12:15","nodeType":"VariableDeclaration","scope":14117,"src":"36923:28:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14107,"name":"string","nodeType":"ElementaryTypeName","src":"36923:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14110,"mutability":"mutable","name":"value","nameLocation":"36961:5:15","nodeType":"VariableDeclaration","scope":14117,"src":"36953:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14109,"name":"uint256","nodeType":"ElementaryTypeName","src":"36953:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14112,"mutability":"mutable","name":"salt","nameLocation":"36976:4:15","nodeType":"VariableDeclaration","scope":14117,"src":"36968:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36968:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"36922:59:15"},"returnParameters":{"id":14116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14115,"mutability":"mutable","name":"deployedAddress","nameLocation":"37024:15:15","nodeType":"VariableDeclaration","scope":14117,"src":"37016:23:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14114,"name":"address","nodeType":"ElementaryTypeName","src":"37016:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37015:25:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14131,"nodeType":"FunctionDefinition","src":"37375:170:15","nodes":[],"documentation":{"id":14118,"nodeType":"StructuredDocumentation","src":"37047:323:15","text":"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional.\n Additionally accepts abi-encoded constructor arguments and `msg.value`."},"functionSelector":"3aa773ea","implemented":false,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"37384:10:15","parameters":{"id":14127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14120,"mutability":"mutable","name":"artifactPath","nameLocation":"37411:12:15","nodeType":"VariableDeclaration","scope":14131,"src":"37395:28:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14119,"name":"string","nodeType":"ElementaryTypeName","src":"37395:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14122,"mutability":"mutable","name":"constructorArgs","nameLocation":"37440:15:15","nodeType":"VariableDeclaration","scope":14131,"src":"37425:30:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14121,"name":"bytes","nodeType":"ElementaryTypeName","src":"37425:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":14124,"mutability":"mutable","name":"value","nameLocation":"37465:5:15","nodeType":"VariableDeclaration","scope":14131,"src":"37457:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14123,"name":"uint256","nodeType":"ElementaryTypeName","src":"37457:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14126,"mutability":"mutable","name":"salt","nameLocation":"37480:4:15","nodeType":"VariableDeclaration","scope":14131,"src":"37472:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"37472:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"37394:91:15"},"returnParameters":{"id":14130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14129,"mutability":"mutable","name":"deployedAddress","nameLocation":"37528:15:15","nodeType":"VariableDeclaration","scope":14131,"src":"37520:23:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14128,"name":"address","nodeType":"ElementaryTypeName","src":"37520:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37519:25:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14139,"nodeType":"FunctionDefinition","src":"37640:74:15","nodes":[],"documentation":{"id":14132,"nodeType":"StructuredDocumentation","src":"37551:84:15","text":"Returns true if the given path points to an existing entity, else returns false."},"functionSelector":"261a323e","implemented":false,"kind":"function","modifiers":[],"name":"exists","nameLocation":"37649:6:15","parameters":{"id":14135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14134,"mutability":"mutable","name":"path","nameLocation":"37672:4:15","nodeType":"VariableDeclaration","scope":14139,"src":"37656:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14133,"name":"string","nodeType":"ElementaryTypeName","src":"37656:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"37655:22:15"},"returnParameters":{"id":14138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14137,"mutability":"mutable","name":"result","nameLocation":"37706:6:15","nodeType":"VariableDeclaration","scope":14139,"src":"37701:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14136,"name":"bool","nodeType":"ElementaryTypeName","src":"37701:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"37700:13:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14148,"nodeType":"FunctionDefinition","src":"37779:84:15","nodes":[],"documentation":{"id":14140,"nodeType":"StructuredDocumentation","src":"37720:54:15","text":"Performs a foreign function call via the terminal."},"functionSelector":"89160467","implemented":false,"kind":"function","modifiers":[],"name":"ffi","nameLocation":"37788:3:15","parameters":{"id":14144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14143,"mutability":"mutable","name":"commandInput","nameLocation":"37810:12:15","nodeType":"VariableDeclaration","scope":14148,"src":"37792:30:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14141,"name":"string","nodeType":"ElementaryTypeName","src":"37792:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14142,"nodeType":"ArrayTypeName","src":"37792:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"37791:32:15"},"returnParameters":{"id":14147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14146,"mutability":"mutable","name":"result","nameLocation":"37855:6:15","nodeType":"VariableDeclaration","scope":14148,"src":"37842:19:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14145,"name":"bytes","nodeType":"ElementaryTypeName","src":"37842:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"37841:21:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14157,"nodeType":"FunctionDefinition","src":"37962:93:15","nodes":[],"documentation":{"id":14149,"nodeType":"StructuredDocumentation","src":"37869:88:15","text":"Given a path, query the file system to get information about a file, directory, etc."},"functionSelector":"af368a08","implemented":false,"kind":"function","modifiers":[],"name":"fsMetadata","nameLocation":"37971:10:15","parameters":{"id":14152,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14151,"mutability":"mutable","name":"path","nameLocation":"37998:4:15","nodeType":"VariableDeclaration","scope":14157,"src":"37982:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14150,"name":"string","nodeType":"ElementaryTypeName","src":"37982:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"37981:22:15"},"returnParameters":{"id":14156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14155,"mutability":"mutable","name":"metadata","nameLocation":"38045:8:15","nodeType":"VariableDeclaration","scope":14157,"src":"38027:26:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FsMetadata_$13090_memory_ptr","typeString":"struct VmSafe.FsMetadata"},"typeName":{"id":14154,"nodeType":"UserDefinedTypeName","pathNode":{"id":14153,"name":"FsMetadata","nameLocations":["38027:10:15"],"nodeType":"IdentifierPath","referencedDeclaration":13090,"src":"38027:10:15"},"referencedDeclaration":13090,"src":"38027:10:15","typeDescriptions":{"typeIdentifier":"t_struct$_FsMetadata_$13090_storage_ptr","typeString":"struct VmSafe.FsMetadata"}},"visibility":"internal"}],"src":"38026:28:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14165,"nodeType":"FunctionDefinition","src":"38124:95:15","nodes":[],"documentation":{"id":14158,"nodeType":"StructuredDocumentation","src":"38061:58:15","text":"Gets the artifact path from code (aka. creation code)."},"functionSelector":"eb74848c","implemented":false,"kind":"function","modifiers":[],"name":"getArtifactPathByCode","nameLocation":"38133:21:15","parameters":{"id":14161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14160,"mutability":"mutable","name":"code","nameLocation":"38170:4:15","nodeType":"VariableDeclaration","scope":14165,"src":"38155:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14159,"name":"bytes","nodeType":"ElementaryTypeName","src":"38155:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"38154:21:15"},"returnParameters":{"id":14164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14163,"mutability":"mutable","name":"path","nameLocation":"38213:4:15","nodeType":"VariableDeclaration","scope":14165,"src":"38199:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14162,"name":"string","nodeType":"ElementaryTypeName","src":"38199:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38198:20:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14173,"nodeType":"FunctionDefinition","src":"38296:111:15","nodes":[],"documentation":{"id":14166,"nodeType":"StructuredDocumentation","src":"38225:66:15","text":"Gets the artifact path from deployed code (aka. runtime code)."},"functionSelector":"6d853ba5","implemented":false,"kind":"function","modifiers":[],"name":"getArtifactPathByDeployedCode","nameLocation":"38305:29:15","parameters":{"id":14169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14168,"mutability":"mutable","name":"deployedCode","nameLocation":"38350:12:15","nodeType":"VariableDeclaration","scope":14173,"src":"38335:27:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14167,"name":"bytes","nodeType":"ElementaryTypeName","src":"38335:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"38334:29:15"},"returnParameters":{"id":14172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14171,"mutability":"mutable","name":"path","nameLocation":"38401:4:15","nodeType":"VariableDeclaration","scope":14173,"src":"38387:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14170,"name":"string","nodeType":"ElementaryTypeName","src":"38387:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38386:20:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14187,"nodeType":"FunctionDefinition","src":"38702:166:15","nodes":[],"documentation":{"id":14174,"nodeType":"StructuredDocumentation","src":"38413:284:15","text":"Returns the most recent broadcast for the given contract on `chainId` matching `txType`.\n For example:\n The most recent deployment can be fetched by passing `txType` as `CREATE` or `CREATE2`.\n The most recent call can be fetched by passing `txType` as `CALL`."},"functionSelector":"3dc90cb3","implemented":false,"kind":"function","modifiers":[],"name":"getBroadcast","nameLocation":"38711:12:15","parameters":{"id":14182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14176,"mutability":"mutable","name":"contractName","nameLocation":"38740:12:15","nodeType":"VariableDeclaration","scope":14187,"src":"38724:28:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14175,"name":"string","nodeType":"ElementaryTypeName","src":"38724:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14178,"mutability":"mutable","name":"chainId","nameLocation":"38761:7:15","nodeType":"VariableDeclaration","scope":14187,"src":"38754:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":14177,"name":"uint64","nodeType":"ElementaryTypeName","src":"38754:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":14181,"mutability":"mutable","name":"txType","nameLocation":"38786:6:15","nodeType":"VariableDeclaration","scope":14187,"src":"38770:22:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_BroadcastTxType_$13026","typeString":"enum VmSafe.BroadcastTxType"},"typeName":{"id":14180,"nodeType":"UserDefinedTypeName","pathNode":{"id":14179,"name":"BroadcastTxType","nameLocations":["38770:15:15"],"nodeType":"IdentifierPath","referencedDeclaration":13026,"src":"38770:15:15"},"referencedDeclaration":13026,"src":"38770:15:15","typeDescriptions":{"typeIdentifier":"t_enum$_BroadcastTxType_$13026","typeString":"enum VmSafe.BroadcastTxType"}},"visibility":"internal"}],"src":"38723:70:15"},"returnParameters":{"id":14186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14185,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14187,"src":"38841:25:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_BroadcastTxSummary_$13210_memory_ptr","typeString":"struct VmSafe.BroadcastTxSummary"},"typeName":{"id":14184,"nodeType":"UserDefinedTypeName","pathNode":{"id":14183,"name":"BroadcastTxSummary","nameLocations":["38841:18:15"],"nodeType":"IdentifierPath","referencedDeclaration":13210,"src":"38841:18:15"},"referencedDeclaration":13210,"src":"38841:18:15","typeDescriptions":{"typeIdentifier":"t_struct$_BroadcastTxSummary_$13210_storage_ptr","typeString":"struct VmSafe.BroadcastTxSummary"}},"visibility":"internal"}],"src":"38840:27:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14202,"nodeType":"FunctionDefinition","src":"39127:169:15","nodes":[],"documentation":{"id":14188,"nodeType":"StructuredDocumentation","src":"38874:248:15","text":"Returns all broadcasts for the given contract on `chainId` with the specified `txType`.\n Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber."},"functionSelector":"f7afe919","implemented":false,"kind":"function","modifiers":[],"name":"getBroadcasts","nameLocation":"39136:13:15","parameters":{"id":14196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14190,"mutability":"mutable","name":"contractName","nameLocation":"39166:12:15","nodeType":"VariableDeclaration","scope":14202,"src":"39150:28:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14189,"name":"string","nodeType":"ElementaryTypeName","src":"39150:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14192,"mutability":"mutable","name":"chainId","nameLocation":"39187:7:15","nodeType":"VariableDeclaration","scope":14202,"src":"39180:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":14191,"name":"uint64","nodeType":"ElementaryTypeName","src":"39180:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":14195,"mutability":"mutable","name":"txType","nameLocation":"39212:6:15","nodeType":"VariableDeclaration","scope":14202,"src":"39196:22:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_BroadcastTxType_$13026","typeString":"enum VmSafe.BroadcastTxType"},"typeName":{"id":14194,"nodeType":"UserDefinedTypeName","pathNode":{"id":14193,"name":"BroadcastTxType","nameLocations":["39196:15:15"],"nodeType":"IdentifierPath","referencedDeclaration":13026,"src":"39196:15:15"},"referencedDeclaration":13026,"src":"39196:15:15","typeDescriptions":{"typeIdentifier":"t_enum$_BroadcastTxType_$13026","typeString":"enum VmSafe.BroadcastTxType"}},"visibility":"internal"}],"src":"39149:70:15"},"returnParameters":{"id":14201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14200,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14202,"src":"39267:27:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_BroadcastTxSummary_$13210_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.BroadcastTxSummary[]"},"typeName":{"baseType":{"id":14198,"nodeType":"UserDefinedTypeName","pathNode":{"id":14197,"name":"BroadcastTxSummary","nameLocations":["39267:18:15"],"nodeType":"IdentifierPath","referencedDeclaration":13210,"src":"39267:18:15"},"referencedDeclaration":13210,"src":"39267:18:15","typeDescriptions":{"typeIdentifier":"t_struct$_BroadcastTxSummary_$13210_storage_ptr","typeString":"struct VmSafe.BroadcastTxSummary"}},"id":14199,"nodeType":"ArrayTypeName","src":"39267:20:15","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_BroadcastTxSummary_$13210_storage_$dyn_storage_ptr","typeString":"struct VmSafe.BroadcastTxSummary[]"}},"visibility":"internal"}],"src":"39266:29:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14214,"nodeType":"FunctionDefinition","src":"39527:145:15","nodes":[],"documentation":{"id":14203,"nodeType":"StructuredDocumentation","src":"39302:220:15","text":"Returns all broadcasts for the given contract on `chainId`.\n Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber."},"functionSelector":"f2fa4a26","implemented":false,"kind":"function","modifiers":[],"name":"getBroadcasts","nameLocation":"39536:13:15","parameters":{"id":14208,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14205,"mutability":"mutable","name":"contractName","nameLocation":"39566:12:15","nodeType":"VariableDeclaration","scope":14214,"src":"39550:28:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14204,"name":"string","nodeType":"ElementaryTypeName","src":"39550:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14207,"mutability":"mutable","name":"chainId","nameLocation":"39587:7:15","nodeType":"VariableDeclaration","scope":14214,"src":"39580:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":14206,"name":"uint64","nodeType":"ElementaryTypeName","src":"39580:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"39549:46:15"},"returnParameters":{"id":14213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14212,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14214,"src":"39643:27:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_BroadcastTxSummary_$13210_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.BroadcastTxSummary[]"},"typeName":{"baseType":{"id":14210,"nodeType":"UserDefinedTypeName","pathNode":{"id":14209,"name":"BroadcastTxSummary","nameLocations":["39643:18:15"],"nodeType":"IdentifierPath","referencedDeclaration":13210,"src":"39643:18:15"},"referencedDeclaration":13210,"src":"39643:18:15","typeDescriptions":{"typeIdentifier":"t_struct$_BroadcastTxSummary_$13210_storage_ptr","typeString":"struct VmSafe.BroadcastTxSummary"}},"id":14211,"nodeType":"ArrayTypeName","src":"39643:20:15","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_BroadcastTxSummary_$13210_storage_$dyn_storage_ptr","typeString":"struct VmSafe.BroadcastTxSummary[]"}},"visibility":"internal"}],"src":"39642:29:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14222,"nodeType":"FunctionDefinition","src":"39910:101:15","nodes":[],"documentation":{"id":14215,"nodeType":"StructuredDocumentation","src":"39678:227:15","text":"Gets the creation bytecode from an artifact file. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional."},"functionSelector":"8d1cc925","implemented":false,"kind":"function","modifiers":[],"name":"getCode","nameLocation":"39919:7:15","parameters":{"id":14218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14217,"mutability":"mutable","name":"artifactPath","nameLocation":"39943:12:15","nodeType":"VariableDeclaration","scope":14222,"src":"39927:28:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14216,"name":"string","nodeType":"ElementaryTypeName","src":"39927:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39926:30:15"},"returnParameters":{"id":14221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14220,"mutability":"mutable","name":"creationBytecode","nameLocation":"39993:16:15","nodeType":"VariableDeclaration","scope":14222,"src":"39980:29:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14219,"name":"bytes","nodeType":"ElementaryTypeName","src":"39980:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"39979:31:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14230,"nodeType":"FunctionDefinition","src":"40249:108:15","nodes":[],"documentation":{"id":14223,"nodeType":"StructuredDocumentation","src":"40017:227:15","text":"Gets the deployed bytecode from an artifact file. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional."},"functionSelector":"3ebf73b4","implemented":false,"kind":"function","modifiers":[],"name":"getDeployedCode","nameLocation":"40258:15:15","parameters":{"id":14226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14225,"mutability":"mutable","name":"artifactPath","nameLocation":"40290:12:15","nodeType":"VariableDeclaration","scope":14230,"src":"40274:28:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14224,"name":"string","nodeType":"ElementaryTypeName","src":"40274:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40273:30:15"},"returnParameters":{"id":14229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14228,"mutability":"mutable","name":"runtimeBytecode","nameLocation":"40340:15:15","nodeType":"VariableDeclaration","scope":14230,"src":"40327:28:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14227,"name":"bytes","nodeType":"ElementaryTypeName","src":"40327:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"40326:30:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14238,"nodeType":"FunctionDefinition","src":"40433:101:15","nodes":[],"documentation":{"id":14231,"nodeType":"StructuredDocumentation","src":"40363:65:15","text":"Returns the most recent deployment for the current `chainId`."},"functionSelector":"a8091d97","implemented":false,"kind":"function","modifiers":[],"name":"getDeployment","nameLocation":"40442:13:15","parameters":{"id":14234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14233,"mutability":"mutable","name":"contractName","nameLocation":"40472:12:15","nodeType":"VariableDeclaration","scope":14238,"src":"40456:28:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14232,"name":"string","nodeType":"ElementaryTypeName","src":"40456:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40455:30:15"},"returnParameters":{"id":14237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14236,"mutability":"mutable","name":"deployedAddress","nameLocation":"40517:15:15","nodeType":"VariableDeclaration","scope":14238,"src":"40509:23:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14235,"name":"address","nodeType":"ElementaryTypeName","src":"40509:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40508:25:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14248,"nodeType":"FunctionDefinition","src":"40619:141:15","nodes":[],"documentation":{"id":14239,"nodeType":"StructuredDocumentation","src":"40540:74:15","text":"Returns the most recent deployment for the given contract on `chainId`"},"functionSelector":"0debd5d6","implemented":false,"kind":"function","modifiers":[],"name":"getDeployment","nameLocation":"40628:13:15","parameters":{"id":14244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14241,"mutability":"mutable","name":"contractName","nameLocation":"40658:12:15","nodeType":"VariableDeclaration","scope":14248,"src":"40642:28:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14240,"name":"string","nodeType":"ElementaryTypeName","src":"40642:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14243,"mutability":"mutable","name":"chainId","nameLocation":"40679:7:15","nodeType":"VariableDeclaration","scope":14248,"src":"40672:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":14242,"name":"uint64","nodeType":"ElementaryTypeName","src":"40672:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"40641:46:15"},"returnParameters":{"id":14247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14246,"mutability":"mutable","name":"deployedAddress","nameLocation":"40743:15:15","nodeType":"VariableDeclaration","scope":14248,"src":"40735:23:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14245,"name":"address","nodeType":"ElementaryTypeName","src":"40735:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40734:25:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14259,"nodeType":"FunctionDefinition","src":"41029:153:15","nodes":[],"documentation":{"id":14249,"nodeType":"StructuredDocumentation","src":"40766:258:15","text":"Returns all deployments for the given contract on `chainId`\n Sorted in descending order of deployment time i.e descending order of BroadcastTxSummary.blockNumber.\n The most recent deployment is the first element, and the oldest is the last."},"functionSelector":"74e133dd","implemented":false,"kind":"function","modifiers":[],"name":"getDeployments","nameLocation":"41038:14:15","parameters":{"id":14254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14251,"mutability":"mutable","name":"contractName","nameLocation":"41069:12:15","nodeType":"VariableDeclaration","scope":14259,"src":"41053:28:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14250,"name":"string","nodeType":"ElementaryTypeName","src":"41053:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14253,"mutability":"mutable","name":"chainId","nameLocation":"41090:7:15","nodeType":"VariableDeclaration","scope":14259,"src":"41083:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":14252,"name":"uint64","nodeType":"ElementaryTypeName","src":"41083:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"41052:46:15"},"returnParameters":{"id":14258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14257,"mutability":"mutable","name":"deployedAddresses","nameLocation":"41163:17:15","nodeType":"VariableDeclaration","scope":14259,"src":"41146:34:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14255,"name":"address","nodeType":"ElementaryTypeName","src":"41146:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14256,"nodeType":"ArrayTypeName","src":"41146:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"41145:36:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14267,"nodeType":"FunctionDefinition","src":"41288:73:15","nodes":[],"documentation":{"id":14260,"nodeType":"StructuredDocumentation","src":"41188:95:15","text":"Returns true if the path exists on disk and is pointing at a directory, else returns false."},"functionSelector":"7d15d019","implemented":false,"kind":"function","modifiers":[],"name":"isDir","nameLocation":"41297:5:15","parameters":{"id":14263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14262,"mutability":"mutable","name":"path","nameLocation":"41319:4:15","nodeType":"VariableDeclaration","scope":14267,"src":"41303:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14261,"name":"string","nodeType":"ElementaryTypeName","src":"41303:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41302:22:15"},"returnParameters":{"id":14266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14265,"mutability":"mutable","name":"result","nameLocation":"41353:6:15","nodeType":"VariableDeclaration","scope":14267,"src":"41348:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14264,"name":"bool","nodeType":"ElementaryTypeName","src":"41348:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41347:13:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14275,"nodeType":"FunctionDefinition","src":"41470:74:15","nodes":[],"documentation":{"id":14268,"nodeType":"StructuredDocumentation","src":"41367:98:15","text":"Returns true if the path exists on disk and is pointing at a regular file, else returns false."},"functionSelector":"e0eb04d4","implemented":false,"kind":"function","modifiers":[],"name":"isFile","nameLocation":"41479:6:15","parameters":{"id":14271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14270,"mutability":"mutable","name":"path","nameLocation":"41502:4:15","nodeType":"VariableDeclaration","scope":14275,"src":"41486:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14269,"name":"string","nodeType":"ElementaryTypeName","src":"41486:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41485:22:15"},"returnParameters":{"id":14274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14273,"mutability":"mutable","name":"result","nameLocation":"41536:6:15","nodeType":"VariableDeclaration","scope":14275,"src":"41531:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14272,"name":"bool","nodeType":"ElementaryTypeName","src":"41531:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41530:13:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14281,"nodeType":"FunctionDefinition","src":"41600:66:15","nodes":[],"documentation":{"id":14276,"nodeType":"StructuredDocumentation","src":"41550:45:15","text":"Get the path of the current project root."},"functionSelector":"d930a0e6","implemented":false,"kind":"function","modifiers":[],"name":"projectRoot","nameLocation":"41609:11:15","parameters":{"id":14277,"nodeType":"ParameterList","parameters":[],"src":"41620:2:15"},"returnParameters":{"id":14280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14279,"mutability":"mutable","name":"path","nameLocation":"41660:4:15","nodeType":"VariableDeclaration","scope":14281,"src":"41646:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14278,"name":"string","nodeType":"ElementaryTypeName","src":"41646:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41645:20:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14289,"nodeType":"FunctionDefinition","src":"41733:83:15","nodes":[],"documentation":{"id":14282,"nodeType":"StructuredDocumentation","src":"41672:56:15","text":"Prompts the user for a string value in the terminal."},"functionSelector":"47eaf474","implemented":false,"kind":"function","modifiers":[],"name":"prompt","nameLocation":"41742:6:15","parameters":{"id":14285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14284,"mutability":"mutable","name":"promptText","nameLocation":"41765:10:15","nodeType":"VariableDeclaration","scope":14289,"src":"41749:26:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14283,"name":"string","nodeType":"ElementaryTypeName","src":"41749:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41748:28:15"},"returnParameters":{"id":14288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14287,"mutability":"mutable","name":"input","nameLocation":"41809:5:15","nodeType":"VariableDeclaration","scope":14289,"src":"41795:19:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14286,"name":"string","nodeType":"ElementaryTypeName","src":"41795:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41794:21:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14297,"nodeType":"FunctionDefinition","src":"41879:78:15","nodes":[],"documentation":{"id":14290,"nodeType":"StructuredDocumentation","src":"41822:52:15","text":"Prompts the user for an address in the terminal."},"functionSelector":"62ee05f4","implemented":false,"kind":"function","modifiers":[],"name":"promptAddress","nameLocation":"41888:13:15","parameters":{"id":14293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14292,"mutability":"mutable","name":"promptText","nameLocation":"41918:10:15","nodeType":"VariableDeclaration","scope":14297,"src":"41902:26:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14291,"name":"string","nodeType":"ElementaryTypeName","src":"41902:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41901:28:15"},"returnParameters":{"id":14296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14295,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14297,"src":"41948:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14294,"name":"address","nodeType":"ElementaryTypeName","src":"41948:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41947:9:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14305,"nodeType":"FunctionDefinition","src":"42031:89:15","nodes":[],"documentation":{"id":14298,"nodeType":"StructuredDocumentation","src":"41963:63:15","text":"Prompts the user for a hidden string value in the terminal."},"functionSelector":"1e279d41","implemented":false,"kind":"function","modifiers":[],"name":"promptSecret","nameLocation":"42040:12:15","parameters":{"id":14301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14300,"mutability":"mutable","name":"promptText","nameLocation":"42069:10:15","nodeType":"VariableDeclaration","scope":14305,"src":"42053:26:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14299,"name":"string","nodeType":"ElementaryTypeName","src":"42053:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42052:28:15"},"returnParameters":{"id":14304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14303,"mutability":"mutable","name":"input","nameLocation":"42113:5:15","nodeType":"VariableDeclaration","scope":14305,"src":"42099:19:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14302,"name":"string","nodeType":"ElementaryTypeName","src":"42099:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42098:21:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14313,"nodeType":"FunctionDefinition","src":"42200:81:15","nodes":[],"documentation":{"id":14306,"nodeType":"StructuredDocumentation","src":"42126:69:15","text":"Prompts the user for hidden uint256 in the terminal (usually pk)."},"functionSelector":"69ca02b7","implemented":false,"kind":"function","modifiers":[],"name":"promptSecretUint","nameLocation":"42209:16:15","parameters":{"id":14309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14308,"mutability":"mutable","name":"promptText","nameLocation":"42242:10:15","nodeType":"VariableDeclaration","scope":14313,"src":"42226:26:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14307,"name":"string","nodeType":"ElementaryTypeName","src":"42226:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42225:28:15"},"returnParameters":{"id":14312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14311,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14313,"src":"42272:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14310,"name":"uint256","nodeType":"ElementaryTypeName","src":"42272:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42271:9:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14321,"nodeType":"FunctionDefinition","src":"42341:75:15","nodes":[],"documentation":{"id":14314,"nodeType":"StructuredDocumentation","src":"42287:49:15","text":"Prompts the user for uint256 in the terminal."},"functionSelector":"652fd489","implemented":false,"kind":"function","modifiers":[],"name":"promptUint","nameLocation":"42350:10:15","parameters":{"id":14317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14316,"mutability":"mutable","name":"promptText","nameLocation":"42377:10:15","nodeType":"VariableDeclaration","scope":14321,"src":"42361:26:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14315,"name":"string","nodeType":"ElementaryTypeName","src":"42361:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42360:28:15"},"returnParameters":{"id":14320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14319,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14321,"src":"42407:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14318,"name":"uint256","nodeType":"ElementaryTypeName","src":"42407:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42406:9:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14331,"nodeType":"FunctionDefinition","src":"42664:89:15","nodes":[],"documentation":{"id":14322,"nodeType":"StructuredDocumentation","src":"42422:237:15","text":"Reads the directory at the given path recursively, up to `maxDepth`.\n `maxDepth` defaults to 1, meaning only the direct children of the given directory will be returned.\n Follows symbolic links if `followLinks` is true."},"functionSelector":"c4bc59e0","implemented":false,"kind":"function","modifiers":[],"name":"readDir","nameLocation":"42673:7:15","parameters":{"id":14325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14324,"mutability":"mutable","name":"path","nameLocation":"42697:4:15","nodeType":"VariableDeclaration","scope":14331,"src":"42681:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14323,"name":"string","nodeType":"ElementaryTypeName","src":"42681:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42680:22:15"},"returnParameters":{"id":14330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14329,"mutability":"mutable","name":"entries","nameLocation":"42744:7:15","nodeType":"VariableDeclaration","scope":14331,"src":"42726:25:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$13074_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DirEntry[]"},"typeName":{"baseType":{"id":14327,"nodeType":"UserDefinedTypeName","pathNode":{"id":14326,"name":"DirEntry","nameLocations":["42726:8:15"],"nodeType":"IdentifierPath","referencedDeclaration":13074,"src":"42726:8:15"},"referencedDeclaration":13074,"src":"42726:8:15","typeDescriptions":{"typeIdentifier":"t_struct$_DirEntry_$13074_storage_ptr","typeString":"struct VmSafe.DirEntry"}},"id":14328,"nodeType":"ArrayTypeName","src":"42726:10:15","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$13074_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DirEntry[]"}},"visibility":"internal"}],"src":"42725:27:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14343,"nodeType":"FunctionDefinition","src":"42790:106:15","nodes":[],"documentation":{"id":14332,"nodeType":"StructuredDocumentation","src":"42759:26:15","text":"See `readDir(string)`."},"functionSelector":"1497876c","implemented":false,"kind":"function","modifiers":[],"name":"readDir","nameLocation":"42799:7:15","parameters":{"id":14337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14334,"mutability":"mutable","name":"path","nameLocation":"42823:4:15","nodeType":"VariableDeclaration","scope":14343,"src":"42807:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14333,"name":"string","nodeType":"ElementaryTypeName","src":"42807:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14336,"mutability":"mutable","name":"maxDepth","nameLocation":"42836:8:15","nodeType":"VariableDeclaration","scope":14343,"src":"42829:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":14335,"name":"uint64","nodeType":"ElementaryTypeName","src":"42829:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"42806:39:15"},"returnParameters":{"id":14342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14341,"mutability":"mutable","name":"entries","nameLocation":"42887:7:15","nodeType":"VariableDeclaration","scope":14343,"src":"42869:25:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$13074_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DirEntry[]"},"typeName":{"baseType":{"id":14339,"nodeType":"UserDefinedTypeName","pathNode":{"id":14338,"name":"DirEntry","nameLocations":["42869:8:15"],"nodeType":"IdentifierPath","referencedDeclaration":13074,"src":"42869:8:15"},"referencedDeclaration":13074,"src":"42869:8:15","typeDescriptions":{"typeIdentifier":"t_struct$_DirEntry_$13074_storage_ptr","typeString":"struct VmSafe.DirEntry"}},"id":14340,"nodeType":"ArrayTypeName","src":"42869:10:15","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$13074_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DirEntry[]"}},"visibility":"internal"}],"src":"42868:27:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14357,"nodeType":"FunctionDefinition","src":"42933:148:15","nodes":[],"documentation":{"id":14344,"nodeType":"StructuredDocumentation","src":"42902:26:15","text":"See `readDir(string)`."},"functionSelector":"8102d70d","implemented":false,"kind":"function","modifiers":[],"name":"readDir","nameLocation":"42942:7:15","parameters":{"id":14351,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14346,"mutability":"mutable","name":"path","nameLocation":"42966:4:15","nodeType":"VariableDeclaration","scope":14357,"src":"42950:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14345,"name":"string","nodeType":"ElementaryTypeName","src":"42950:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14348,"mutability":"mutable","name":"maxDepth","nameLocation":"42979:8:15","nodeType":"VariableDeclaration","scope":14357,"src":"42972:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":14347,"name":"uint64","nodeType":"ElementaryTypeName","src":"42972:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":14350,"mutability":"mutable","name":"followLinks","nameLocation":"42994:11:15","nodeType":"VariableDeclaration","scope":14357,"src":"42989:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14349,"name":"bool","nodeType":"ElementaryTypeName","src":"42989:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"42949:57:15"},"returnParameters":{"id":14356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14355,"mutability":"mutable","name":"entries","nameLocation":"43072:7:15","nodeType":"VariableDeclaration","scope":14357,"src":"43054:25:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$13074_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DirEntry[]"},"typeName":{"baseType":{"id":14353,"nodeType":"UserDefinedTypeName","pathNode":{"id":14352,"name":"DirEntry","nameLocations":["43054:8:15"],"nodeType":"IdentifierPath","referencedDeclaration":13074,"src":"43054:8:15"},"referencedDeclaration":13074,"src":"43054:8:15","typeDescriptions":{"typeIdentifier":"t_struct$_DirEntry_$13074_storage_ptr","typeString":"struct VmSafe.DirEntry"}},"id":14354,"nodeType":"ArrayTypeName","src":"43054:10:15","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$13074_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DirEntry[]"}},"visibility":"internal"}],"src":"43053:27:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14365,"nodeType":"FunctionDefinition","src":"43179:83:15","nodes":[],"documentation":{"id":14358,"nodeType":"StructuredDocumentation","src":"43087:87:15","text":"Reads the entire content of file to string. `path` is relative to the project root."},"functionSelector":"60f9bb11","implemented":false,"kind":"function","modifiers":[],"name":"readFile","nameLocation":"43188:8:15","parameters":{"id":14361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14360,"mutability":"mutable","name":"path","nameLocation":"43213:4:15","nodeType":"VariableDeclaration","scope":14365,"src":"43197:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14359,"name":"string","nodeType":"ElementaryTypeName","src":"43197:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43196:22:15"},"returnParameters":{"id":14364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14363,"mutability":"mutable","name":"data","nameLocation":"43256:4:15","nodeType":"VariableDeclaration","scope":14365,"src":"43242:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14362,"name":"string","nodeType":"ElementaryTypeName","src":"43242:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43241:20:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14373,"nodeType":"FunctionDefinition","src":"43360:88:15","nodes":[],"documentation":{"id":14366,"nodeType":"StructuredDocumentation","src":"43268:87:15","text":"Reads the entire content of file as binary. `path` is relative to the project root."},"functionSelector":"16ed7bc4","implemented":false,"kind":"function","modifiers":[],"name":"readFileBinary","nameLocation":"43369:14:15","parameters":{"id":14369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14368,"mutability":"mutable","name":"path","nameLocation":"43400:4:15","nodeType":"VariableDeclaration","scope":14373,"src":"43384:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14367,"name":"string","nodeType":"ElementaryTypeName","src":"43384:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43383:22:15"},"returnParameters":{"id":14372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14371,"mutability":"mutable","name":"data","nameLocation":"43442:4:15","nodeType":"VariableDeclaration","scope":14373,"src":"43429:17:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14370,"name":"bytes","nodeType":"ElementaryTypeName","src":"43429:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"43428:19:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14381,"nodeType":"FunctionDefinition","src":"43497:83:15","nodes":[],"documentation":{"id":14374,"nodeType":"StructuredDocumentation","src":"43454:38:15","text":"Reads next line of file to string."},"functionSelector":"70f55728","implemented":false,"kind":"function","modifiers":[],"name":"readLine","nameLocation":"43506:8:15","parameters":{"id":14377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14376,"mutability":"mutable","name":"path","nameLocation":"43531:4:15","nodeType":"VariableDeclaration","scope":14381,"src":"43515:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14375,"name":"string","nodeType":"ElementaryTypeName","src":"43515:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43514:22:15"},"returnParameters":{"id":14380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14379,"mutability":"mutable","name":"line","nameLocation":"43574:4:15","nodeType":"VariableDeclaration","scope":14381,"src":"43560:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14378,"name":"string","nodeType":"ElementaryTypeName","src":"43560:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43559:20:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14389,"nodeType":"FunctionDefinition","src":"43839:93:15","nodes":[],"documentation":{"id":14382,"nodeType":"StructuredDocumentation","src":"43586:248:15","text":"Reads a symbolic link, returning the path that the link points to.\n This cheatcode will revert in the following situations, but is not limited to just these cases:\n - `path` is not a symbolic link.\n - `path` does not exist."},"functionSelector":"9f5684a2","implemented":false,"kind":"function","modifiers":[],"name":"readLink","nameLocation":"43848:8:15","parameters":{"id":14385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14384,"mutability":"mutable","name":"linkPath","nameLocation":"43873:8:15","nodeType":"VariableDeclaration","scope":14389,"src":"43857:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14383,"name":"string","nodeType":"ElementaryTypeName","src":"43857:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43856:26:15"},"returnParameters":{"id":14388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14387,"mutability":"mutable","name":"targetPath","nameLocation":"43920:10:15","nodeType":"VariableDeclaration","scope":14389,"src":"43906:24:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14386,"name":"string","nodeType":"ElementaryTypeName","src":"43906:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43905:26:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14397,"nodeType":"FunctionDefinition","src":"44322:66:15","nodes":[],"documentation":{"id":14390,"nodeType":"StructuredDocumentation","src":"43938:379:15","text":"Removes a directory at the provided path.\n This cheatcode will revert in the following situations, but is not limited to just these cases:\n - `path` doesn't exist.\n - `path` isn't a directory.\n - User lacks permissions to modify `path`.\n - The directory is not empty and `recursive` is false.\n `path` is relative to the project root."},"functionSelector":"45c62011","implemented":false,"kind":"function","modifiers":[],"name":"removeDir","nameLocation":"44331:9:15","parameters":{"id":14395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14392,"mutability":"mutable","name":"path","nameLocation":"44357:4:15","nodeType":"VariableDeclaration","scope":14397,"src":"44341:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14391,"name":"string","nodeType":"ElementaryTypeName","src":"44341:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14394,"mutability":"mutable","name":"recursive","nameLocation":"44368:9:15","nodeType":"VariableDeclaration","scope":14397,"src":"44363:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14393,"name":"bool","nodeType":"ElementaryTypeName","src":"44363:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"44340:38:15"},"returnParameters":{"id":14396,"nodeType":"ParameterList","parameters":[],"src":"44387:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14403,"nodeType":"FunctionDefinition","src":"44721:51:15","nodes":[],"documentation":{"id":14398,"nodeType":"StructuredDocumentation","src":"44394:322:15","text":"Removes a file from the filesystem.\n This cheatcode will revert in the following situations, but is not limited to just these cases:\n - `path` points to a directory.\n - The file doesn't exist.\n - The user lacks permissions to remove the file.\n `path` is relative to the project root."},"functionSelector":"f1afe04d","implemented":false,"kind":"function","modifiers":[],"name":"removeFile","nameLocation":"44730:10:15","parameters":{"id":14401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14400,"mutability":"mutable","name":"path","nameLocation":"44757:4:15","nodeType":"VariableDeclaration","scope":14403,"src":"44741:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14399,"name":"string","nodeType":"ElementaryTypeName","src":"44741:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44740:22:15"},"returnParameters":{"id":14402,"nodeType":"ParameterList","parameters":[],"src":"44771:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14413,"nodeType":"FunctionDefinition","src":"44879:91:15","nodes":[],"documentation":{"id":14404,"nodeType":"StructuredDocumentation","src":"44778:96:15","text":"Performs a foreign function call via terminal and returns the exit code, stdout, and stderr."},"functionSelector":"f45c1ce7","implemented":false,"kind":"function","modifiers":[],"name":"tryFfi","nameLocation":"44888:6:15","parameters":{"id":14408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14407,"mutability":"mutable","name":"commandInput","nameLocation":"44913:12:15","nodeType":"VariableDeclaration","scope":14413,"src":"44895:30:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14405,"name":"string","nodeType":"ElementaryTypeName","src":"44895:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14406,"nodeType":"ArrayTypeName","src":"44895:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"44894:32:15"},"returnParameters":{"id":14412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14411,"mutability":"mutable","name":"result","nameLocation":"44962:6:15","nodeType":"VariableDeclaration","scope":14413,"src":"44945:23:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult"},"typeName":{"id":14410,"nodeType":"UserDefinedTypeName","pathNode":{"id":14409,"name":"FfiResult","nameLocations":["44945:9:15"],"nodeType":"IdentifierPath","referencedDeclaration":13108,"src":"44945:9:15"},"referencedDeclaration":13108,"src":"44945:9:15","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_storage_ptr","typeString":"struct VmSafe.FfiResult"}},"visibility":"internal"}],"src":"44944:25:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14419,"nodeType":"FunctionDefinition","src":"45035:65:15","nodes":[],"documentation":{"id":14414,"nodeType":"StructuredDocumentation","src":"44976:54:15","text":"Returns the time since unix epoch in milliseconds."},"functionSelector":"625387dc","implemented":false,"kind":"function","modifiers":[],"name":"unixTime","nameLocation":"45044:8:15","parameters":{"id":14415,"nodeType":"ParameterList","parameters":[],"src":"45052:2:15"},"returnParameters":{"id":14418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14417,"mutability":"mutable","name":"milliseconds","nameLocation":"45086:12:15","nodeType":"VariableDeclaration","scope":14419,"src":"45078:20:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14416,"name":"uint256","nodeType":"ElementaryTypeName","src":"45078:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45077:22:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14427,"nodeType":"FunctionDefinition","src":"45269:72:15","nodes":[],"documentation":{"id":14420,"nodeType":"StructuredDocumentation","src":"45106:158:15","text":"Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does.\n `path` is relative to the project root."},"functionSelector":"897e0a97","implemented":false,"kind":"function","modifiers":[],"name":"writeFile","nameLocation":"45278:9:15","parameters":{"id":14425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14422,"mutability":"mutable","name":"path","nameLocation":"45304:4:15","nodeType":"VariableDeclaration","scope":14427,"src":"45288:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14421,"name":"string","nodeType":"ElementaryTypeName","src":"45288:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14424,"mutability":"mutable","name":"data","nameLocation":"45326:4:15","nodeType":"VariableDeclaration","scope":14427,"src":"45310:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14423,"name":"string","nodeType":"ElementaryTypeName","src":"45310:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45287:44:15"},"returnParameters":{"id":14426,"nodeType":"ParameterList","parameters":[],"src":"45340:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14435,"nodeType":"FunctionDefinition","src":"45519:77:15","nodes":[],"documentation":{"id":14428,"nodeType":"StructuredDocumentation","src":"45347:167:15","text":"Writes binary data to a file, creating a file if it does not exist, and entirely replacing its contents if it does.\n `path` is relative to the project root."},"functionSelector":"1f21fc80","implemented":false,"kind":"function","modifiers":[],"name":"writeFileBinary","nameLocation":"45528:15:15","parameters":{"id":14433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14430,"mutability":"mutable","name":"path","nameLocation":"45560:4:15","nodeType":"VariableDeclaration","scope":14435,"src":"45544:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14429,"name":"string","nodeType":"ElementaryTypeName","src":"45544:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14432,"mutability":"mutable","name":"data","nameLocation":"45581:4:15","nodeType":"VariableDeclaration","scope":14435,"src":"45566:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14431,"name":"bytes","nodeType":"ElementaryTypeName","src":"45566:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"45543:43:15"},"returnParameters":{"id":14434,"nodeType":"ParameterList","parameters":[],"src":"45595:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14443,"nodeType":"FunctionDefinition","src":"45717:72:15","nodes":[],"documentation":{"id":14436,"nodeType":"StructuredDocumentation","src":"45602:110:15","text":"Writes line to file, creating a file if it does not exist.\n `path` is relative to the project root."},"functionSelector":"619d897f","implemented":false,"kind":"function","modifiers":[],"name":"writeLine","nameLocation":"45726:9:15","parameters":{"id":14441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14438,"mutability":"mutable","name":"path","nameLocation":"45752:4:15","nodeType":"VariableDeclaration","scope":14443,"src":"45736:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14437,"name":"string","nodeType":"ElementaryTypeName","src":"45736:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14440,"mutability":"mutable","name":"data","nameLocation":"45774:4:15","nodeType":"VariableDeclaration","scope":14443,"src":"45758:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14439,"name":"string","nodeType":"ElementaryTypeName","src":"45758:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45735:44:15"},"returnParameters":{"id":14442,"nodeType":"ParameterList","parameters":[],"src":"45788:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14453,"nodeType":"FunctionDefinition","src":"45875:95:15","nodes":[],"documentation":{"id":14444,"nodeType":"StructuredDocumentation","src":"45826:44:15","text":"Checks if `key` exists in a JSON object."},"functionSelector":"db4235f6","implemented":false,"kind":"function","modifiers":[],"name":"keyExistsJson","nameLocation":"45884:13:15","parameters":{"id":14449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14446,"mutability":"mutable","name":"json","nameLocation":"45914:4:15","nodeType":"VariableDeclaration","scope":14453,"src":"45898:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14445,"name":"string","nodeType":"ElementaryTypeName","src":"45898:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14448,"mutability":"mutable","name":"key","nameLocation":"45936:3:15","nodeType":"VariableDeclaration","scope":14453,"src":"45920:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14447,"name":"string","nodeType":"ElementaryTypeName","src":"45920:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45897:43:15"},"returnParameters":{"id":14452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14451,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14453,"src":"45964:4:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14450,"name":"bool","nodeType":"ElementaryTypeName","src":"45964:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"45963:6:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14463,"nodeType":"FunctionDefinition","src":"46051:101:15","nodes":[],"documentation":{"id":14454,"nodeType":"StructuredDocumentation","src":"45976:70:15","text":"Parses a string of JSON data at `key` and coerces it to `address`."},"functionSelector":"1e19e657","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonAddress","nameLocation":"46060:16:15","parameters":{"id":14459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14456,"mutability":"mutable","name":"json","nameLocation":"46093:4:15","nodeType":"VariableDeclaration","scope":14463,"src":"46077:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14455,"name":"string","nodeType":"ElementaryTypeName","src":"46077:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14458,"mutability":"mutable","name":"key","nameLocation":"46115:3:15","nodeType":"VariableDeclaration","scope":14463,"src":"46099:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14457,"name":"string","nodeType":"ElementaryTypeName","src":"46099:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46076:43:15"},"returnParameters":{"id":14462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14461,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14463,"src":"46143:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14460,"name":"address","nodeType":"ElementaryTypeName","src":"46143:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"46142:9:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14474,"nodeType":"FunctionDefinition","src":"46235:139:15","nodes":[],"documentation":{"id":14464,"nodeType":"StructuredDocumentation","src":"46158:72:15","text":"Parses a string of JSON data at `key` and coerces it to `address[]`."},"functionSelector":"2fce7883","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonAddressArray","nameLocation":"46244:21:15","parameters":{"id":14469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14466,"mutability":"mutable","name":"json","nameLocation":"46282:4:15","nodeType":"VariableDeclaration","scope":14474,"src":"46266:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14465,"name":"string","nodeType":"ElementaryTypeName","src":"46266:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14468,"mutability":"mutable","name":"key","nameLocation":"46304:3:15","nodeType":"VariableDeclaration","scope":14474,"src":"46288:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14467,"name":"string","nodeType":"ElementaryTypeName","src":"46288:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46265:43:15"},"returnParameters":{"id":14473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14472,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14474,"src":"46356:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14470,"name":"address","nodeType":"ElementaryTypeName","src":"46356:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14471,"nodeType":"ArrayTypeName","src":"46356:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"46355:18:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14484,"nodeType":"FunctionDefinition","src":"46452:95:15","nodes":[],"documentation":{"id":14475,"nodeType":"StructuredDocumentation","src":"46380:67:15","text":"Parses a string of JSON data at `key` and coerces it to `bool`."},"functionSelector":"9f86dc91","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBool","nameLocation":"46461:13:15","parameters":{"id":14480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14477,"mutability":"mutable","name":"json","nameLocation":"46491:4:15","nodeType":"VariableDeclaration","scope":14484,"src":"46475:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14476,"name":"string","nodeType":"ElementaryTypeName","src":"46475:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14479,"mutability":"mutable","name":"key","nameLocation":"46513:3:15","nodeType":"VariableDeclaration","scope":14484,"src":"46497:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14478,"name":"string","nodeType":"ElementaryTypeName","src":"46497:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46474:43:15"},"returnParameters":{"id":14483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14482,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14484,"src":"46541:4:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14481,"name":"bool","nodeType":"ElementaryTypeName","src":"46541:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46540:6:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14495,"nodeType":"FunctionDefinition","src":"46627:109:15","nodes":[],"documentation":{"id":14485,"nodeType":"StructuredDocumentation","src":"46553:69:15","text":"Parses a string of JSON data at `key` and coerces it to `bool[]`."},"functionSelector":"91f3b94f","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBoolArray","nameLocation":"46636:18:15","parameters":{"id":14490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14487,"mutability":"mutable","name":"json","nameLocation":"46671:4:15","nodeType":"VariableDeclaration","scope":14495,"src":"46655:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14486,"name":"string","nodeType":"ElementaryTypeName","src":"46655:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14489,"mutability":"mutable","name":"key","nameLocation":"46693:3:15","nodeType":"VariableDeclaration","scope":14495,"src":"46677:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14488,"name":"string","nodeType":"ElementaryTypeName","src":"46677:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46654:43:15"},"returnParameters":{"id":14494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14493,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14495,"src":"46721:13:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":14491,"name":"bool","nodeType":"ElementaryTypeName","src":"46721:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14492,"nodeType":"ArrayTypeName","src":"46721:6:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"46720:15:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14505,"nodeType":"FunctionDefinition","src":"46815:104:15","nodes":[],"documentation":{"id":14496,"nodeType":"StructuredDocumentation","src":"46742:68:15","text":"Parses a string of JSON data at `key` and coerces it to `bytes`."},"functionSelector":"fd921be8","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytes","nameLocation":"46824:14:15","parameters":{"id":14501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14498,"mutability":"mutable","name":"json","nameLocation":"46855:4:15","nodeType":"VariableDeclaration","scope":14505,"src":"46839:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14497,"name":"string","nodeType":"ElementaryTypeName","src":"46839:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14500,"mutability":"mutable","name":"key","nameLocation":"46877:3:15","nodeType":"VariableDeclaration","scope":14505,"src":"46861:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14499,"name":"string","nodeType":"ElementaryTypeName","src":"46861:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46838:43:15"},"returnParameters":{"id":14504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14503,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14505,"src":"46905:12:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14502,"name":"bytes","nodeType":"ElementaryTypeName","src":"46905:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"46904:14:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14515,"nodeType":"FunctionDefinition","src":"47000:101:15","nodes":[],"documentation":{"id":14506,"nodeType":"StructuredDocumentation","src":"46925:70:15","text":"Parses a string of JSON data at `key` and coerces it to `bytes32`."},"functionSelector":"1777e59d","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytes32","nameLocation":"47009:16:15","parameters":{"id":14511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14508,"mutability":"mutable","name":"json","nameLocation":"47042:4:15","nodeType":"VariableDeclaration","scope":14515,"src":"47026:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14507,"name":"string","nodeType":"ElementaryTypeName","src":"47026:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14510,"mutability":"mutable","name":"key","nameLocation":"47064:3:15","nodeType":"VariableDeclaration","scope":14515,"src":"47048:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14509,"name":"string","nodeType":"ElementaryTypeName","src":"47048:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47025:43:15"},"returnParameters":{"id":14514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14513,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14515,"src":"47092:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14512,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47092:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"47091:9:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14526,"nodeType":"FunctionDefinition","src":"47184:139:15","nodes":[],"documentation":{"id":14516,"nodeType":"StructuredDocumentation","src":"47107:72:15","text":"Parses a string of JSON data at `key` and coerces it to `bytes32[]`."},"functionSelector":"91c75bc3","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytes32Array","nameLocation":"47193:21:15","parameters":{"id":14521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14518,"mutability":"mutable","name":"json","nameLocation":"47231:4:15","nodeType":"VariableDeclaration","scope":14526,"src":"47215:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14517,"name":"string","nodeType":"ElementaryTypeName","src":"47215:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14520,"mutability":"mutable","name":"key","nameLocation":"47253:3:15","nodeType":"VariableDeclaration","scope":14526,"src":"47237:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14519,"name":"string","nodeType":"ElementaryTypeName","src":"47237:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47214:43:15"},"returnParameters":{"id":14525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14524,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14526,"src":"47305:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14522,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47305:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14523,"nodeType":"ArrayTypeName","src":"47305:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"47304:18:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14537,"nodeType":"FunctionDefinition","src":"47404:111:15","nodes":[],"documentation":{"id":14527,"nodeType":"StructuredDocumentation","src":"47329:70:15","text":"Parses a string of JSON data at `key` and coerces it to `bytes[]`."},"functionSelector":"6631aa99","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytesArray","nameLocation":"47413:19:15","parameters":{"id":14532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14529,"mutability":"mutable","name":"json","nameLocation":"47449:4:15","nodeType":"VariableDeclaration","scope":14537,"src":"47433:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14528,"name":"string","nodeType":"ElementaryTypeName","src":"47433:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14531,"mutability":"mutable","name":"key","nameLocation":"47471:3:15","nodeType":"VariableDeclaration","scope":14537,"src":"47455:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14530,"name":"string","nodeType":"ElementaryTypeName","src":"47455:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47432:43:15"},"returnParameters":{"id":14536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14535,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14537,"src":"47499:14:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14533,"name":"bytes","nodeType":"ElementaryTypeName","src":"47499:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14534,"nodeType":"ArrayTypeName","src":"47499:7:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"47498:16:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14547,"nodeType":"FunctionDefinition","src":"47595:96:15","nodes":[],"documentation":{"id":14538,"nodeType":"StructuredDocumentation","src":"47521:69:15","text":"Parses a string of JSON data at `key` and coerces it to `int256`."},"functionSelector":"7b048ccd","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonInt","nameLocation":"47604:12:15","parameters":{"id":14543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14540,"mutability":"mutable","name":"json","nameLocation":"47633:4:15","nodeType":"VariableDeclaration","scope":14547,"src":"47617:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14539,"name":"string","nodeType":"ElementaryTypeName","src":"47617:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14542,"mutability":"mutable","name":"key","nameLocation":"47655:3:15","nodeType":"VariableDeclaration","scope":14547,"src":"47639:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14541,"name":"string","nodeType":"ElementaryTypeName","src":"47639:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47616:43:15"},"returnParameters":{"id":14546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14545,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14547,"src":"47683:6:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14544,"name":"int256","nodeType":"ElementaryTypeName","src":"47683:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"47682:8:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14558,"nodeType":"FunctionDefinition","src":"47773:110:15","nodes":[],"documentation":{"id":14548,"nodeType":"StructuredDocumentation","src":"47697:71:15","text":"Parses a string of JSON data at `key` and coerces it to `int256[]`."},"functionSelector":"9983c28a","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonIntArray","nameLocation":"47782:17:15","parameters":{"id":14553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14550,"mutability":"mutable","name":"json","nameLocation":"47816:4:15","nodeType":"VariableDeclaration","scope":14558,"src":"47800:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14549,"name":"string","nodeType":"ElementaryTypeName","src":"47800:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14552,"mutability":"mutable","name":"key","nameLocation":"47838:3:15","nodeType":"VariableDeclaration","scope":14558,"src":"47822:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14551,"name":"string","nodeType":"ElementaryTypeName","src":"47822:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47799:43:15"},"returnParameters":{"id":14557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14556,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14558,"src":"47866:15:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":14554,"name":"int256","nodeType":"ElementaryTypeName","src":"47866:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":14555,"nodeType":"ArrayTypeName","src":"47866:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"47865:17:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14569,"nodeType":"FunctionDefinition","src":"47948:111:15","nodes":[],"documentation":{"id":14559,"nodeType":"StructuredDocumentation","src":"47889:54:15","text":"Returns an array of all the keys in a JSON object."},"functionSelector":"213e4198","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonKeys","nameLocation":"47957:13:15","parameters":{"id":14564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14561,"mutability":"mutable","name":"json","nameLocation":"47987:4:15","nodeType":"VariableDeclaration","scope":14569,"src":"47971:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14560,"name":"string","nodeType":"ElementaryTypeName","src":"47971:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14563,"mutability":"mutable","name":"key","nameLocation":"48009:3:15","nodeType":"VariableDeclaration","scope":14569,"src":"47993:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14562,"name":"string","nodeType":"ElementaryTypeName","src":"47993:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47970:43:15"},"returnParameters":{"id":14568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14567,"mutability":"mutable","name":"keys","nameLocation":"48053:4:15","nodeType":"VariableDeclaration","scope":14569,"src":"48037:20:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14565,"name":"string","nodeType":"ElementaryTypeName","src":"48037:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14566,"nodeType":"ArrayTypeName","src":"48037:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"48036:22:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14579,"nodeType":"FunctionDefinition","src":"48139:106:15","nodes":[],"documentation":{"id":14570,"nodeType":"StructuredDocumentation","src":"48065:69:15","text":"Parses a string of JSON data at `key` and coerces it to `string`."},"functionSelector":"49c4fac8","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonString","nameLocation":"48148:15:15","parameters":{"id":14575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14572,"mutability":"mutable","name":"json","nameLocation":"48180:4:15","nodeType":"VariableDeclaration","scope":14579,"src":"48164:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14571,"name":"string","nodeType":"ElementaryTypeName","src":"48164:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14574,"mutability":"mutable","name":"key","nameLocation":"48202:3:15","nodeType":"VariableDeclaration","scope":14579,"src":"48186:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14573,"name":"string","nodeType":"ElementaryTypeName","src":"48186:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48163:43:15"},"returnParameters":{"id":14578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14577,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14579,"src":"48230:13:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14576,"name":"string","nodeType":"ElementaryTypeName","src":"48230:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48229:15:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14590,"nodeType":"FunctionDefinition","src":"48327:113:15","nodes":[],"documentation":{"id":14580,"nodeType":"StructuredDocumentation","src":"48251:71:15","text":"Parses a string of JSON data at `key` and coerces it to `string[]`."},"functionSelector":"498fdcf4","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonStringArray","nameLocation":"48336:20:15","parameters":{"id":14585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14582,"mutability":"mutable","name":"json","nameLocation":"48373:4:15","nodeType":"VariableDeclaration","scope":14590,"src":"48357:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14581,"name":"string","nodeType":"ElementaryTypeName","src":"48357:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14584,"mutability":"mutable","name":"key","nameLocation":"48395:3:15","nodeType":"VariableDeclaration","scope":14590,"src":"48379:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14583,"name":"string","nodeType":"ElementaryTypeName","src":"48379:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48356:43:15"},"returnParameters":{"id":14589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14588,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14590,"src":"48423:15:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14586,"name":"string","nodeType":"ElementaryTypeName","src":"48423:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14587,"nodeType":"ArrayTypeName","src":"48423:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"48422:17:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14602,"nodeType":"FunctionDefinition","src":"48557:165:15","nodes":[],"documentation":{"id":14591,"nodeType":"StructuredDocumentation","src":"48446:106:15","text":"Parses a string of JSON data at `key` and coerces it to type array corresponding to `typeDescription`."},"functionSelector":"0175d535","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonTypeArray","nameLocation":"48566:18:15","parameters":{"id":14598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14593,"mutability":"mutable","name":"json","nameLocation":"48601:4:15","nodeType":"VariableDeclaration","scope":14602,"src":"48585:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14592,"name":"string","nodeType":"ElementaryTypeName","src":"48585:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14595,"mutability":"mutable","name":"key","nameLocation":"48623:3:15","nodeType":"VariableDeclaration","scope":14602,"src":"48607:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14594,"name":"string","nodeType":"ElementaryTypeName","src":"48607:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14597,"mutability":"mutable","name":"typeDescription","nameLocation":"48644:15:15","nodeType":"VariableDeclaration","scope":14602,"src":"48628:31:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14596,"name":"string","nodeType":"ElementaryTypeName","src":"48628:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48584:76:15"},"returnParameters":{"id":14601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14600,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14602,"src":"48708:12:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14599,"name":"bytes","nodeType":"ElementaryTypeName","src":"48708:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"48707:14:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14612,"nodeType":"FunctionDefinition","src":"48824:139:15","nodes":[],"documentation":{"id":14603,"nodeType":"StructuredDocumentation","src":"48728:91:15","text":"Parses a string of JSON data and coerces it to type corresponding to `typeDescription`."},"functionSelector":"a9da313b","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonType","nameLocation":"48833:13:15","parameters":{"id":14608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14605,"mutability":"mutable","name":"json","nameLocation":"48863:4:15","nodeType":"VariableDeclaration","scope":14612,"src":"48847:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14604,"name":"string","nodeType":"ElementaryTypeName","src":"48847:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14607,"mutability":"mutable","name":"typeDescription","nameLocation":"48885:15:15","nodeType":"VariableDeclaration","scope":14612,"src":"48869:31:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14606,"name":"string","nodeType":"ElementaryTypeName","src":"48869:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48846:55:15"},"returnParameters":{"id":14611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14610,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14612,"src":"48949:12:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14609,"name":"bytes","nodeType":"ElementaryTypeName","src":"48949:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"48948:14:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14624,"nodeType":"FunctionDefinition","src":"49074:160:15","nodes":[],"documentation":{"id":14613,"nodeType":"StructuredDocumentation","src":"48969:100:15","text":"Parses a string of JSON data at `key` and coerces it to type corresponding to `typeDescription`."},"functionSelector":"e3f5ae33","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonType","nameLocation":"49083:13:15","parameters":{"id":14620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14615,"mutability":"mutable","name":"json","nameLocation":"49113:4:15","nodeType":"VariableDeclaration","scope":14624,"src":"49097:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14614,"name":"string","nodeType":"ElementaryTypeName","src":"49097:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14617,"mutability":"mutable","name":"key","nameLocation":"49135:3:15","nodeType":"VariableDeclaration","scope":14624,"src":"49119:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14616,"name":"string","nodeType":"ElementaryTypeName","src":"49119:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14619,"mutability":"mutable","name":"typeDescription","nameLocation":"49156:15:15","nodeType":"VariableDeclaration","scope":14624,"src":"49140:31:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14618,"name":"string","nodeType":"ElementaryTypeName","src":"49140:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49096:76:15"},"returnParameters":{"id":14623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14622,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14624,"src":"49220:12:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14621,"name":"bytes","nodeType":"ElementaryTypeName","src":"49220:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"49219:14:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14634,"nodeType":"FunctionDefinition","src":"49315:98:15","nodes":[],"documentation":{"id":14625,"nodeType":"StructuredDocumentation","src":"49240:70:15","text":"Parses a string of JSON data at `key` and coerces it to `uint256`."},"functionSelector":"addde2b6","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonUint","nameLocation":"49324:13:15","parameters":{"id":14630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14627,"mutability":"mutable","name":"json","nameLocation":"49354:4:15","nodeType":"VariableDeclaration","scope":14634,"src":"49338:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14626,"name":"string","nodeType":"ElementaryTypeName","src":"49338:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14629,"mutability":"mutable","name":"key","nameLocation":"49376:3:15","nodeType":"VariableDeclaration","scope":14634,"src":"49360:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14628,"name":"string","nodeType":"ElementaryTypeName","src":"49360:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49337:43:15"},"returnParameters":{"id":14633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14632,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14634,"src":"49404:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14631,"name":"uint256","nodeType":"ElementaryTypeName","src":"49404:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49403:9:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14645,"nodeType":"FunctionDefinition","src":"49496:112:15","nodes":[],"documentation":{"id":14635,"nodeType":"StructuredDocumentation","src":"49419:72:15","text":"Parses a string of JSON data at `key` and coerces it to `uint256[]`."},"functionSelector":"522074ab","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonUintArray","nameLocation":"49505:18:15","parameters":{"id":14640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14637,"mutability":"mutable","name":"json","nameLocation":"49540:4:15","nodeType":"VariableDeclaration","scope":14645,"src":"49524:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14636,"name":"string","nodeType":"ElementaryTypeName","src":"49524:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14639,"mutability":"mutable","name":"key","nameLocation":"49562:3:15","nodeType":"VariableDeclaration","scope":14645,"src":"49546:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14638,"name":"string","nodeType":"ElementaryTypeName","src":"49546:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49523:43:15"},"returnParameters":{"id":14644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14643,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14645,"src":"49590:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":14641,"name":"uint256","nodeType":"ElementaryTypeName","src":"49590:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14642,"nodeType":"ArrayTypeName","src":"49590:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"49589:18:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14653,"nodeType":"FunctionDefinition","src":"49649:93:15","nodes":[],"documentation":{"id":14646,"nodeType":"StructuredDocumentation","src":"49614:30:15","text":"ABI-encodes a JSON object."},"functionSelector":"6a82600a","implemented":false,"kind":"function","modifiers":[],"name":"parseJson","nameLocation":"49658:9:15","parameters":{"id":14649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14648,"mutability":"mutable","name":"json","nameLocation":"49684:4:15","nodeType":"VariableDeclaration","scope":14653,"src":"49668:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14647,"name":"string","nodeType":"ElementaryTypeName","src":"49668:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49667:22:15"},"returnParameters":{"id":14652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14651,"mutability":"mutable","name":"abiEncodedData","nameLocation":"49726:14:15","nodeType":"VariableDeclaration","scope":14653,"src":"49713:27:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14650,"name":"bytes","nodeType":"ElementaryTypeName","src":"49713:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"49712:29:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14663,"nodeType":"FunctionDefinition","src":"49792:114:15","nodes":[],"documentation":{"id":14654,"nodeType":"StructuredDocumentation","src":"49748:39:15","text":"ABI-encodes a JSON object at `key`."},"functionSelector":"85940ef1","implemented":false,"kind":"function","modifiers":[],"name":"parseJson","nameLocation":"49801:9:15","parameters":{"id":14659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14656,"mutability":"mutable","name":"json","nameLocation":"49827:4:15","nodeType":"VariableDeclaration","scope":14663,"src":"49811:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14655,"name":"string","nodeType":"ElementaryTypeName","src":"49811:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14658,"mutability":"mutable","name":"key","nameLocation":"49849:3:15","nodeType":"VariableDeclaration","scope":14663,"src":"49833:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14657,"name":"string","nodeType":"ElementaryTypeName","src":"49833:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49810:43:15"},"returnParameters":{"id":14662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14661,"mutability":"mutable","name":"abiEncodedData","nameLocation":"49890:14:15","nodeType":"VariableDeclaration","scope":14663,"src":"49877:27:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14660,"name":"bytes","nodeType":"ElementaryTypeName","src":"49877:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"49876:29:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14675,"nodeType":"FunctionDefinition","src":"49941:148:15","nodes":[],"documentation":{"id":14664,"nodeType":"StructuredDocumentation","src":"49912:24:15","text":"See `serializeJson`."},"functionSelector":"972c6062","implemented":false,"kind":"function","modifiers":[],"name":"serializeAddress","nameLocation":"49950:16:15","parameters":{"id":14671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14666,"mutability":"mutable","name":"objectKey","nameLocation":"49983:9:15","nodeType":"VariableDeclaration","scope":14675,"src":"49967:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14665,"name":"string","nodeType":"ElementaryTypeName","src":"49967:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14668,"mutability":"mutable","name":"valueKey","nameLocation":"50010:8:15","nodeType":"VariableDeclaration","scope":14675,"src":"49994:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14667,"name":"string","nodeType":"ElementaryTypeName","src":"49994:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14670,"mutability":"mutable","name":"value","nameLocation":"50028:5:15","nodeType":"VariableDeclaration","scope":14675,"src":"50020:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14669,"name":"address","nodeType":"ElementaryTypeName","src":"50020:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"49966:68:15"},"returnParameters":{"id":14674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14673,"mutability":"mutable","name":"json","nameLocation":"50083:4:15","nodeType":"VariableDeclaration","scope":14675,"src":"50069:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14672,"name":"string","nodeType":"ElementaryTypeName","src":"50069:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50068:20:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14688,"nodeType":"FunctionDefinition","src":"50124:160:15","nodes":[],"documentation":{"id":14676,"nodeType":"StructuredDocumentation","src":"50095:24:15","text":"See `serializeJson`."},"functionSelector":"1e356e1a","implemented":false,"kind":"function","modifiers":[],"name":"serializeAddress","nameLocation":"50133:16:15","parameters":{"id":14684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14678,"mutability":"mutable","name":"objectKey","nameLocation":"50166:9:15","nodeType":"VariableDeclaration","scope":14688,"src":"50150:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14677,"name":"string","nodeType":"ElementaryTypeName","src":"50150:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14680,"mutability":"mutable","name":"valueKey","nameLocation":"50193:8:15","nodeType":"VariableDeclaration","scope":14688,"src":"50177:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14679,"name":"string","nodeType":"ElementaryTypeName","src":"50177:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14683,"mutability":"mutable","name":"values","nameLocation":"50222:6:15","nodeType":"VariableDeclaration","scope":14688,"src":"50203:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14681,"name":"address","nodeType":"ElementaryTypeName","src":"50203:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14682,"nodeType":"ArrayTypeName","src":"50203:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"50149:80:15"},"returnParameters":{"id":14687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14686,"mutability":"mutable","name":"json","nameLocation":"50278:4:15","nodeType":"VariableDeclaration","scope":14688,"src":"50264:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14685,"name":"string","nodeType":"ElementaryTypeName","src":"50264:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50263:20:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14700,"nodeType":"FunctionDefinition","src":"50319:142:15","nodes":[],"documentation":{"id":14689,"nodeType":"StructuredDocumentation","src":"50290:24:15","text":"See `serializeJson`."},"functionSelector":"ac22e971","implemented":false,"kind":"function","modifiers":[],"name":"serializeBool","nameLocation":"50328:13:15","parameters":{"id":14696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14691,"mutability":"mutable","name":"objectKey","nameLocation":"50358:9:15","nodeType":"VariableDeclaration","scope":14700,"src":"50342:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14690,"name":"string","nodeType":"ElementaryTypeName","src":"50342:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14693,"mutability":"mutable","name":"valueKey","nameLocation":"50385:8:15","nodeType":"VariableDeclaration","scope":14700,"src":"50369:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14692,"name":"string","nodeType":"ElementaryTypeName","src":"50369:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14695,"mutability":"mutable","name":"value","nameLocation":"50400:5:15","nodeType":"VariableDeclaration","scope":14700,"src":"50395:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14694,"name":"bool","nodeType":"ElementaryTypeName","src":"50395:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"50341:65:15"},"returnParameters":{"id":14699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14698,"mutability":"mutable","name":"json","nameLocation":"50455:4:15","nodeType":"VariableDeclaration","scope":14700,"src":"50441:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14697,"name":"string","nodeType":"ElementaryTypeName","src":"50441:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50440:20:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14713,"nodeType":"FunctionDefinition","src":"50496:154:15","nodes":[],"documentation":{"id":14701,"nodeType":"StructuredDocumentation","src":"50467:24:15","text":"See `serializeJson`."},"functionSelector":"92925aa1","implemented":false,"kind":"function","modifiers":[],"name":"serializeBool","nameLocation":"50505:13:15","parameters":{"id":14709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14703,"mutability":"mutable","name":"objectKey","nameLocation":"50535:9:15","nodeType":"VariableDeclaration","scope":14713,"src":"50519:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14702,"name":"string","nodeType":"ElementaryTypeName","src":"50519:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14705,"mutability":"mutable","name":"valueKey","nameLocation":"50562:8:15","nodeType":"VariableDeclaration","scope":14713,"src":"50546:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14704,"name":"string","nodeType":"ElementaryTypeName","src":"50546:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14708,"mutability":"mutable","name":"values","nameLocation":"50588:6:15","nodeType":"VariableDeclaration","scope":14713,"src":"50572:22:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":14706,"name":"bool","nodeType":"ElementaryTypeName","src":"50572:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14707,"nodeType":"ArrayTypeName","src":"50572:6:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"50518:77:15"},"returnParameters":{"id":14712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14711,"mutability":"mutable","name":"json","nameLocation":"50644:4:15","nodeType":"VariableDeclaration","scope":14713,"src":"50630:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14710,"name":"string","nodeType":"ElementaryTypeName","src":"50630:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50629:20:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14725,"nodeType":"FunctionDefinition","src":"50685:148:15","nodes":[],"documentation":{"id":14714,"nodeType":"StructuredDocumentation","src":"50656:24:15","text":"See `serializeJson`."},"functionSelector":"2d812b44","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes32","nameLocation":"50694:16:15","parameters":{"id":14721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14716,"mutability":"mutable","name":"objectKey","nameLocation":"50727:9:15","nodeType":"VariableDeclaration","scope":14725,"src":"50711:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14715,"name":"string","nodeType":"ElementaryTypeName","src":"50711:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14718,"mutability":"mutable","name":"valueKey","nameLocation":"50754:8:15","nodeType":"VariableDeclaration","scope":14725,"src":"50738:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14717,"name":"string","nodeType":"ElementaryTypeName","src":"50738:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14720,"mutability":"mutable","name":"value","nameLocation":"50772:5:15","nodeType":"VariableDeclaration","scope":14725,"src":"50764:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14719,"name":"bytes32","nodeType":"ElementaryTypeName","src":"50764:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"50710:68:15"},"returnParameters":{"id":14724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14723,"mutability":"mutable","name":"json","nameLocation":"50827:4:15","nodeType":"VariableDeclaration","scope":14725,"src":"50813:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14722,"name":"string","nodeType":"ElementaryTypeName","src":"50813:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50812:20:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14738,"nodeType":"FunctionDefinition","src":"50868:160:15","nodes":[],"documentation":{"id":14726,"nodeType":"StructuredDocumentation","src":"50839:24:15","text":"See `serializeJson`."},"functionSelector":"201e43e2","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes32","nameLocation":"50877:16:15","parameters":{"id":14734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14728,"mutability":"mutable","name":"objectKey","nameLocation":"50910:9:15","nodeType":"VariableDeclaration","scope":14738,"src":"50894:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14727,"name":"string","nodeType":"ElementaryTypeName","src":"50894:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14730,"mutability":"mutable","name":"valueKey","nameLocation":"50937:8:15","nodeType":"VariableDeclaration","scope":14738,"src":"50921:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14729,"name":"string","nodeType":"ElementaryTypeName","src":"50921:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14733,"mutability":"mutable","name":"values","nameLocation":"50966:6:15","nodeType":"VariableDeclaration","scope":14738,"src":"50947:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14731,"name":"bytes32","nodeType":"ElementaryTypeName","src":"50947:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14732,"nodeType":"ArrayTypeName","src":"50947:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"50893:80:15"},"returnParameters":{"id":14737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14736,"mutability":"mutable","name":"json","nameLocation":"51022:4:15","nodeType":"VariableDeclaration","scope":14738,"src":"51008:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14735,"name":"string","nodeType":"ElementaryTypeName","src":"51008:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51007:20:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14750,"nodeType":"FunctionDefinition","src":"51063:153:15","nodes":[],"documentation":{"id":14739,"nodeType":"StructuredDocumentation","src":"51034:24:15","text":"See `serializeJson`."},"functionSelector":"f21d52c7","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes","nameLocation":"51072:14:15","parameters":{"id":14746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14741,"mutability":"mutable","name":"objectKey","nameLocation":"51103:9:15","nodeType":"VariableDeclaration","scope":14750,"src":"51087:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14740,"name":"string","nodeType":"ElementaryTypeName","src":"51087:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14743,"mutability":"mutable","name":"valueKey","nameLocation":"51130:8:15","nodeType":"VariableDeclaration","scope":14750,"src":"51114:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14742,"name":"string","nodeType":"ElementaryTypeName","src":"51114:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14745,"mutability":"mutable","name":"value","nameLocation":"51155:5:15","nodeType":"VariableDeclaration","scope":14750,"src":"51140:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14744,"name":"bytes","nodeType":"ElementaryTypeName","src":"51140:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"51086:75:15"},"returnParameters":{"id":14749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14748,"mutability":"mutable","name":"json","nameLocation":"51210:4:15","nodeType":"VariableDeclaration","scope":14750,"src":"51196:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14747,"name":"string","nodeType":"ElementaryTypeName","src":"51196:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51195:20:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14763,"nodeType":"FunctionDefinition","src":"51251:156:15","nodes":[],"documentation":{"id":14751,"nodeType":"StructuredDocumentation","src":"51222:24:15","text":"See `serializeJson`."},"functionSelector":"9884b232","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes","nameLocation":"51260:14:15","parameters":{"id":14759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14753,"mutability":"mutable","name":"objectKey","nameLocation":"51291:9:15","nodeType":"VariableDeclaration","scope":14763,"src":"51275:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14752,"name":"string","nodeType":"ElementaryTypeName","src":"51275:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14755,"mutability":"mutable","name":"valueKey","nameLocation":"51318:8:15","nodeType":"VariableDeclaration","scope":14763,"src":"51302:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14754,"name":"string","nodeType":"ElementaryTypeName","src":"51302:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14758,"mutability":"mutable","name":"values","nameLocation":"51345:6:15","nodeType":"VariableDeclaration","scope":14763,"src":"51328:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14756,"name":"bytes","nodeType":"ElementaryTypeName","src":"51328:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14757,"nodeType":"ArrayTypeName","src":"51328:7:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"51274:78:15"},"returnParameters":{"id":14762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14761,"mutability":"mutable","name":"json","nameLocation":"51401:4:15","nodeType":"VariableDeclaration","scope":14763,"src":"51387:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14760,"name":"string","nodeType":"ElementaryTypeName","src":"51387:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51386:20:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14775,"nodeType":"FunctionDefinition","src":"51442:143:15","nodes":[],"documentation":{"id":14764,"nodeType":"StructuredDocumentation","src":"51413:24:15","text":"See `serializeJson`."},"functionSelector":"3f33db60","implemented":false,"kind":"function","modifiers":[],"name":"serializeInt","nameLocation":"51451:12:15","parameters":{"id":14771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14766,"mutability":"mutable","name":"objectKey","nameLocation":"51480:9:15","nodeType":"VariableDeclaration","scope":14775,"src":"51464:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14765,"name":"string","nodeType":"ElementaryTypeName","src":"51464:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14768,"mutability":"mutable","name":"valueKey","nameLocation":"51507:8:15","nodeType":"VariableDeclaration","scope":14775,"src":"51491:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14767,"name":"string","nodeType":"ElementaryTypeName","src":"51491:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14770,"mutability":"mutable","name":"value","nameLocation":"51524:5:15","nodeType":"VariableDeclaration","scope":14775,"src":"51517:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14769,"name":"int256","nodeType":"ElementaryTypeName","src":"51517:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"51463:67:15"},"returnParameters":{"id":14774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14773,"mutability":"mutable","name":"json","nameLocation":"51579:4:15","nodeType":"VariableDeclaration","scope":14775,"src":"51565:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14772,"name":"string","nodeType":"ElementaryTypeName","src":"51565:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51564:20:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14788,"nodeType":"FunctionDefinition","src":"51620:155:15","nodes":[],"documentation":{"id":14776,"nodeType":"StructuredDocumentation","src":"51591:24:15","text":"See `serializeJson`."},"functionSelector":"7676e127","implemented":false,"kind":"function","modifiers":[],"name":"serializeInt","nameLocation":"51629:12:15","parameters":{"id":14784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14778,"mutability":"mutable","name":"objectKey","nameLocation":"51658:9:15","nodeType":"VariableDeclaration","scope":14788,"src":"51642:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14777,"name":"string","nodeType":"ElementaryTypeName","src":"51642:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14780,"mutability":"mutable","name":"valueKey","nameLocation":"51685:8:15","nodeType":"VariableDeclaration","scope":14788,"src":"51669:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14779,"name":"string","nodeType":"ElementaryTypeName","src":"51669:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14783,"mutability":"mutable","name":"values","nameLocation":"51713:6:15","nodeType":"VariableDeclaration","scope":14788,"src":"51695:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":14781,"name":"int256","nodeType":"ElementaryTypeName","src":"51695:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":14782,"nodeType":"ArrayTypeName","src":"51695:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"51641:79:15"},"returnParameters":{"id":14787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14786,"mutability":"mutable","name":"json","nameLocation":"51769:4:15","nodeType":"VariableDeclaration","scope":14788,"src":"51755:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14785,"name":"string","nodeType":"ElementaryTypeName","src":"51755:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51754:20:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14798,"nodeType":"FunctionDefinition","src":"51972:111:15","nodes":[],"documentation":{"id":14789,"nodeType":"StructuredDocumentation","src":"51781:186:15","text":"Serializes a key and value to a JSON object stored in-memory that can be later written to a file.\n Returns the stringified version of the specific JSON file up to that moment."},"functionSelector":"9b3358b0","implemented":false,"kind":"function","modifiers":[],"name":"serializeJson","nameLocation":"51981:13:15","parameters":{"id":14794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14791,"mutability":"mutable","name":"objectKey","nameLocation":"52011:9:15","nodeType":"VariableDeclaration","scope":14798,"src":"51995:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14790,"name":"string","nodeType":"ElementaryTypeName","src":"51995:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14793,"mutability":"mutable","name":"value","nameLocation":"52038:5:15","nodeType":"VariableDeclaration","scope":14798,"src":"52022:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14792,"name":"string","nodeType":"ElementaryTypeName","src":"52022:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51994:50:15"},"returnParameters":{"id":14797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14796,"mutability":"mutable","name":"json","nameLocation":"52077:4:15","nodeType":"VariableDeclaration","scope":14798,"src":"52063:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14795,"name":"string","nodeType":"ElementaryTypeName","src":"52063:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52062:20:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14808,"nodeType":"FunctionDefinition","src":"52118:149:15","nodes":[],"documentation":{"id":14799,"nodeType":"StructuredDocumentation","src":"52089:24:15","text":"See `serializeJson`."},"functionSelector":"6d4f96a6","implemented":false,"kind":"function","modifiers":[],"name":"serializeJsonType","nameLocation":"52127:17:15","parameters":{"id":14804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14801,"mutability":"mutable","name":"typeDescription","nameLocation":"52161:15:15","nodeType":"VariableDeclaration","scope":14808,"src":"52145:31:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14800,"name":"string","nodeType":"ElementaryTypeName","src":"52145:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14803,"mutability":"mutable","name":"value","nameLocation":"52193:5:15","nodeType":"VariableDeclaration","scope":14808,"src":"52178:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14802,"name":"bytes","nodeType":"ElementaryTypeName","src":"52178:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"52144:55:15"},"returnParameters":{"id":14807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14806,"mutability":"mutable","name":"json","nameLocation":"52261:4:15","nodeType":"VariableDeclaration","scope":14808,"src":"52247:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14805,"name":"string","nodeType":"ElementaryTypeName","src":"52247:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52246:20:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14822,"nodeType":"FunctionDefinition","src":"52302:211:15","nodes":[],"documentation":{"id":14809,"nodeType":"StructuredDocumentation","src":"52273:24:15","text":"See `serializeJson`."},"functionSelector":"6f93bccb","implemented":false,"kind":"function","modifiers":[],"name":"serializeJsonType","nameLocation":"52311:17:15","parameters":{"id":14818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14811,"mutability":"mutable","name":"objectKey","nameLocation":"52354:9:15","nodeType":"VariableDeclaration","scope":14822,"src":"52338:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14810,"name":"string","nodeType":"ElementaryTypeName","src":"52338:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14813,"mutability":"mutable","name":"valueKey","nameLocation":"52389:8:15","nodeType":"VariableDeclaration","scope":14822,"src":"52373:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14812,"name":"string","nodeType":"ElementaryTypeName","src":"52373:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14815,"mutability":"mutable","name":"typeDescription","nameLocation":"52423:15:15","nodeType":"VariableDeclaration","scope":14822,"src":"52407:31:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14814,"name":"string","nodeType":"ElementaryTypeName","src":"52407:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14817,"mutability":"mutable","name":"value","nameLocation":"52463:5:15","nodeType":"VariableDeclaration","scope":14822,"src":"52448:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14816,"name":"bytes","nodeType":"ElementaryTypeName","src":"52448:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"52328:146:15"},"returnParameters":{"id":14821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14820,"mutability":"mutable","name":"json","nameLocation":"52507:4:15","nodeType":"VariableDeclaration","scope":14822,"src":"52493:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14819,"name":"string","nodeType":"ElementaryTypeName","src":"52493:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52492:20:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14834,"nodeType":"FunctionDefinition","src":"52548:155:15","nodes":[],"documentation":{"id":14823,"nodeType":"StructuredDocumentation","src":"52519:24:15","text":"See `serializeJson`."},"functionSelector":"88da6d35","implemented":false,"kind":"function","modifiers":[],"name":"serializeString","nameLocation":"52557:15:15","parameters":{"id":14830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14825,"mutability":"mutable","name":"objectKey","nameLocation":"52589:9:15","nodeType":"VariableDeclaration","scope":14834,"src":"52573:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14824,"name":"string","nodeType":"ElementaryTypeName","src":"52573:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14827,"mutability":"mutable","name":"valueKey","nameLocation":"52616:8:15","nodeType":"VariableDeclaration","scope":14834,"src":"52600:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14826,"name":"string","nodeType":"ElementaryTypeName","src":"52600:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14829,"mutability":"mutable","name":"value","nameLocation":"52642:5:15","nodeType":"VariableDeclaration","scope":14834,"src":"52626:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14828,"name":"string","nodeType":"ElementaryTypeName","src":"52626:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52572:76:15"},"returnParameters":{"id":14833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14832,"mutability":"mutable","name":"json","nameLocation":"52697:4:15","nodeType":"VariableDeclaration","scope":14834,"src":"52683:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14831,"name":"string","nodeType":"ElementaryTypeName","src":"52683:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52682:20:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14847,"nodeType":"FunctionDefinition","src":"52738:158:15","nodes":[],"documentation":{"id":14835,"nodeType":"StructuredDocumentation","src":"52709:24:15","text":"See `serializeJson`."},"functionSelector":"561cd6f3","implemented":false,"kind":"function","modifiers":[],"name":"serializeString","nameLocation":"52747:15:15","parameters":{"id":14843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14837,"mutability":"mutable","name":"objectKey","nameLocation":"52779:9:15","nodeType":"VariableDeclaration","scope":14847,"src":"52763:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14836,"name":"string","nodeType":"ElementaryTypeName","src":"52763:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14839,"mutability":"mutable","name":"valueKey","nameLocation":"52806:8:15","nodeType":"VariableDeclaration","scope":14847,"src":"52790:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14838,"name":"string","nodeType":"ElementaryTypeName","src":"52790:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14842,"mutability":"mutable","name":"values","nameLocation":"52834:6:15","nodeType":"VariableDeclaration","scope":14847,"src":"52816:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14840,"name":"string","nodeType":"ElementaryTypeName","src":"52816:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14841,"nodeType":"ArrayTypeName","src":"52816:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"52762:79:15"},"returnParameters":{"id":14846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14845,"mutability":"mutable","name":"json","nameLocation":"52890:4:15","nodeType":"VariableDeclaration","scope":14847,"src":"52876:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14844,"name":"string","nodeType":"ElementaryTypeName","src":"52876:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52875:20:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14859,"nodeType":"FunctionDefinition","src":"52931:150:15","nodes":[],"documentation":{"id":14848,"nodeType":"StructuredDocumentation","src":"52902:24:15","text":"See `serializeJson`."},"functionSelector":"ae5a2ae8","implemented":false,"kind":"function","modifiers":[],"name":"serializeUintToHex","nameLocation":"52940:18:15","parameters":{"id":14855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14850,"mutability":"mutable","name":"objectKey","nameLocation":"52975:9:15","nodeType":"VariableDeclaration","scope":14859,"src":"52959:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14849,"name":"string","nodeType":"ElementaryTypeName","src":"52959:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14852,"mutability":"mutable","name":"valueKey","nameLocation":"53002:8:15","nodeType":"VariableDeclaration","scope":14859,"src":"52986:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14851,"name":"string","nodeType":"ElementaryTypeName","src":"52986:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14854,"mutability":"mutable","name":"value","nameLocation":"53020:5:15","nodeType":"VariableDeclaration","scope":14859,"src":"53012:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14853,"name":"uint256","nodeType":"ElementaryTypeName","src":"53012:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"52958:68:15"},"returnParameters":{"id":14858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14857,"mutability":"mutable","name":"json","nameLocation":"53075:4:15","nodeType":"VariableDeclaration","scope":14859,"src":"53061:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14856,"name":"string","nodeType":"ElementaryTypeName","src":"53061:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53060:20:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14871,"nodeType":"FunctionDefinition","src":"53116:145:15","nodes":[],"documentation":{"id":14860,"nodeType":"StructuredDocumentation","src":"53087:24:15","text":"See `serializeJson`."},"functionSelector":"129e9002","implemented":false,"kind":"function","modifiers":[],"name":"serializeUint","nameLocation":"53125:13:15","parameters":{"id":14867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14862,"mutability":"mutable","name":"objectKey","nameLocation":"53155:9:15","nodeType":"VariableDeclaration","scope":14871,"src":"53139:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14861,"name":"string","nodeType":"ElementaryTypeName","src":"53139:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14864,"mutability":"mutable","name":"valueKey","nameLocation":"53182:8:15","nodeType":"VariableDeclaration","scope":14871,"src":"53166:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14863,"name":"string","nodeType":"ElementaryTypeName","src":"53166:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14866,"mutability":"mutable","name":"value","nameLocation":"53200:5:15","nodeType":"VariableDeclaration","scope":14871,"src":"53192:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14865,"name":"uint256","nodeType":"ElementaryTypeName","src":"53192:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53138:68:15"},"returnParameters":{"id":14870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14869,"mutability":"mutable","name":"json","nameLocation":"53255:4:15","nodeType":"VariableDeclaration","scope":14871,"src":"53241:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14868,"name":"string","nodeType":"ElementaryTypeName","src":"53241:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53240:20:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14884,"nodeType":"FunctionDefinition","src":"53296:157:15","nodes":[],"documentation":{"id":14872,"nodeType":"StructuredDocumentation","src":"53267:24:15","text":"See `serializeJson`."},"functionSelector":"fee9a469","implemented":false,"kind":"function","modifiers":[],"name":"serializeUint","nameLocation":"53305:13:15","parameters":{"id":14880,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14874,"mutability":"mutable","name":"objectKey","nameLocation":"53335:9:15","nodeType":"VariableDeclaration","scope":14884,"src":"53319:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14873,"name":"string","nodeType":"ElementaryTypeName","src":"53319:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14876,"mutability":"mutable","name":"valueKey","nameLocation":"53362:8:15","nodeType":"VariableDeclaration","scope":14884,"src":"53346:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14875,"name":"string","nodeType":"ElementaryTypeName","src":"53346:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14879,"mutability":"mutable","name":"values","nameLocation":"53391:6:15","nodeType":"VariableDeclaration","scope":14884,"src":"53372:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":14877,"name":"uint256","nodeType":"ElementaryTypeName","src":"53372:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14878,"nodeType":"ArrayTypeName","src":"53372:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"53318:80:15"},"returnParameters":{"id":14883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14882,"mutability":"mutable","name":"json","nameLocation":"53447:4:15","nodeType":"VariableDeclaration","scope":14884,"src":"53433:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14881,"name":"string","nodeType":"ElementaryTypeName","src":"53433:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53432:20:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14892,"nodeType":"FunctionDefinition","src":"53553:72:15","nodes":[],"documentation":{"id":14885,"nodeType":"StructuredDocumentation","src":"53459:89:15","text":"Write a serialized JSON object to a file. If the file exists, it will be overwritten."},"functionSelector":"e23cd19f","implemented":false,"kind":"function","modifiers":[],"name":"writeJson","nameLocation":"53562:9:15","parameters":{"id":14890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14887,"mutability":"mutable","name":"json","nameLocation":"53588:4:15","nodeType":"VariableDeclaration","scope":14892,"src":"53572:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14886,"name":"string","nodeType":"ElementaryTypeName","src":"53572:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14889,"mutability":"mutable","name":"path","nameLocation":"53610:4:15","nodeType":"VariableDeclaration","scope":14892,"src":"53594:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14888,"name":"string","nodeType":"ElementaryTypeName","src":"53594:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53571:44:15"},"returnParameters":{"id":14891,"nodeType":"ParameterList","parameters":[],"src":"53624:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14902,"nodeType":"FunctionDefinition","src":"53851:98:15","nodes":[],"documentation":{"id":14893,"nodeType":"StructuredDocumentation","src":"53631:215:15","text":"Write a serialized JSON object to an **existing** JSON file, replacing a value with key = \n This is useful to replace a specific value of a JSON file, without having to parse the entire thing."},"functionSelector":"35d6ad46","implemented":false,"kind":"function","modifiers":[],"name":"writeJson","nameLocation":"53860:9:15","parameters":{"id":14900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14895,"mutability":"mutable","name":"json","nameLocation":"53886:4:15","nodeType":"VariableDeclaration","scope":14902,"src":"53870:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14894,"name":"string","nodeType":"ElementaryTypeName","src":"53870:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14897,"mutability":"mutable","name":"path","nameLocation":"53908:4:15","nodeType":"VariableDeclaration","scope":14902,"src":"53892:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14896,"name":"string","nodeType":"ElementaryTypeName","src":"53892:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14899,"mutability":"mutable","name":"valueKey","nameLocation":"53930:8:15","nodeType":"VariableDeclaration","scope":14902,"src":"53914:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14898,"name":"string","nodeType":"ElementaryTypeName","src":"53914:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53869:70:15"},"returnParameters":{"id":14901,"nodeType":"ParameterList","parameters":[],"src":"53948:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14912,"nodeType":"FunctionDefinition","src":"54111:91:15","nodes":[],"documentation":{"id":14903,"nodeType":"StructuredDocumentation","src":"53955:151:15","text":"Checks if `key` exists in a JSON object\n `keyExists` is being deprecated in favor of `keyExistsJson`. It will be removed in future versions."},"functionSelector":"528a683c","implemented":false,"kind":"function","modifiers":[],"name":"keyExists","nameLocation":"54120:9:15","parameters":{"id":14908,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14905,"mutability":"mutable","name":"json","nameLocation":"54146:4:15","nodeType":"VariableDeclaration","scope":14912,"src":"54130:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14904,"name":"string","nodeType":"ElementaryTypeName","src":"54130:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14907,"mutability":"mutable","name":"key","nameLocation":"54168:3:15","nodeType":"VariableDeclaration","scope":14912,"src":"54152:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14906,"name":"string","nodeType":"ElementaryTypeName","src":"54152:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54129:43:15"},"returnParameters":{"id":14911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14910,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14912,"src":"54196:4:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14909,"name":"bool","nodeType":"ElementaryTypeName","src":"54196:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"54195:6:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14918,"nodeType":"FunctionDefinition","src":"54293:50:15","nodes":[],"documentation":{"id":14913,"nodeType":"StructuredDocumentation","src":"54244:44:15","text":"Attach an EIP-4844 blob to the next call"},"functionSelector":"10cb385c","implemented":false,"kind":"function","modifiers":[],"name":"attachBlob","nameLocation":"54302:10:15","parameters":{"id":14916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14915,"mutability":"mutable","name":"blob","nameLocation":"54328:4:15","nodeType":"VariableDeclaration","scope":14918,"src":"54313:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14914,"name":"bytes","nodeType":"ElementaryTypeName","src":"54313:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"54312:21:15"},"returnParameters":{"id":14917,"nodeType":"ParameterList","parameters":[],"src":"54342:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14925,"nodeType":"FunctionDefinition","src":"54408:79:15","nodes":[],"documentation":{"id":14919,"nodeType":"StructuredDocumentation","src":"54349:54:15","text":"Designate the next call as an EIP-7702 transaction"},"functionSelector":"14ae3519","implemented":false,"kind":"function","modifiers":[],"name":"attachDelegation","nameLocation":"54417:16:15","parameters":{"id":14923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14922,"mutability":"mutable","name":"signedDelegation","nameLocation":"54460:16:15","nodeType":"VariableDeclaration","scope":14925,"src":"54434:42:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13222_calldata_ptr","typeString":"struct VmSafe.SignedDelegation"},"typeName":{"id":14921,"nodeType":"UserDefinedTypeName","pathNode":{"id":14920,"name":"SignedDelegation","nameLocations":["54434:16:15"],"nodeType":"IdentifierPath","referencedDeclaration":13222,"src":"54434:16:15"},"referencedDeclaration":13222,"src":"54434:16:15","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13222_storage_ptr","typeString":"struct VmSafe.SignedDelegation"}},"visibility":"internal"}],"src":"54433:44:15"},"returnParameters":{"id":14924,"nodeType":"ParameterList","parameters":[],"src":"54486:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14931,"nodeType":"FunctionDefinition","src":"54562:63:15","nodes":[],"documentation":{"id":14926,"nodeType":"StructuredDocumentation","src":"54493:64:15","text":"Takes a signed transaction and broadcasts it to the network."},"functionSelector":"8c0c72e0","implemented":false,"kind":"function","modifiers":[],"name":"broadcastRawTransaction","nameLocation":"54571:23:15","parameters":{"id":14929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14928,"mutability":"mutable","name":"data","nameLocation":"54610:4:15","nodeType":"VariableDeclaration","scope":14931,"src":"54595:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14927,"name":"bytes","nodeType":"ElementaryTypeName","src":"54595:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"54594:21:15"},"returnParameters":{"id":14930,"nodeType":"ParameterList","parameters":[],"src":"54624:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14935,"nodeType":"FunctionDefinition","src":"55128:30:15","nodes":[],"documentation":{"id":14932,"nodeType":"StructuredDocumentation","src":"54631:492:15","text":"Has the next call (at this call depth only) create transactions that can later be signed and sent onchain.\n Broadcasting address is determined by checking the following in order:\n 1. If `--sender` argument was provided, that address is used.\n 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used.\n 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used."},"functionSelector":"afc98040","implemented":false,"kind":"function","modifiers":[],"name":"broadcast","nameLocation":"55137:9:15","parameters":{"id":14933,"nodeType":"ParameterList","parameters":[],"src":"55146:2:15"},"returnParameters":{"id":14934,"nodeType":"ParameterList","parameters":[],"src":"55157:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14941,"nodeType":"FunctionDefinition","src":"55328:44:15","nodes":[],"documentation":{"id":14936,"nodeType":"StructuredDocumentation","src":"55164:159:15","text":"Has the next call (at this call depth only) create a transaction with the address provided\n as the sender that can later be signed and sent onchain."},"functionSelector":"e6962cdb","implemented":false,"kind":"function","modifiers":[],"name":"broadcast","nameLocation":"55337:9:15","parameters":{"id":14939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14938,"mutability":"mutable","name":"signer","nameLocation":"55355:6:15","nodeType":"VariableDeclaration","scope":14941,"src":"55347:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14937,"name":"address","nodeType":"ElementaryTypeName","src":"55347:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"55346:16:15"},"returnParameters":{"id":14940,"nodeType":"ParameterList","parameters":[],"src":"55371:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14947,"nodeType":"FunctionDefinition","src":"55546:48:15","nodes":[],"documentation":{"id":14942,"nodeType":"StructuredDocumentation","src":"55378:163:15","text":"Has the next call (at this call depth only) create a transaction with the private key\n provided as the sender that can later be signed and sent onchain."},"functionSelector":"f67a965b","implemented":false,"kind":"function","modifiers":[],"name":"broadcast","nameLocation":"55555:9:15","parameters":{"id":14945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14944,"mutability":"mutable","name":"privateKey","nameLocation":"55573:10:15","nodeType":"VariableDeclaration","scope":14947,"src":"55565:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14943,"name":"uint256","nodeType":"ElementaryTypeName","src":"55565:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"55564:20:15"},"returnParameters":{"id":14946,"nodeType":"ParameterList","parameters":[],"src":"55593:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14954,"nodeType":"FunctionDefinition","src":"55683:66:15","nodes":[],"documentation":{"id":14948,"nodeType":"StructuredDocumentation","src":"55600:78:15","text":"Returns addresses of available unlocked wallets in the script environment."},"functionSelector":"db7a4605","implemented":false,"kind":"function","modifiers":[],"name":"getWallets","nameLocation":"55692:10:15","parameters":{"id":14949,"nodeType":"ParameterList","parameters":[],"src":"55702:2:15"},"returnParameters":{"id":14953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14952,"mutability":"mutable","name":"wallets","nameLocation":"55740:7:15","nodeType":"VariableDeclaration","scope":14954,"src":"55723:24:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14950,"name":"address","nodeType":"ElementaryTypeName","src":"55723:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14951,"nodeType":"ArrayTypeName","src":"55723:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"55722:26:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14965,"nodeType":"FunctionDefinition","src":"55849:153:15","nodes":[],"documentation":{"id":14955,"nodeType":"StructuredDocumentation","src":"55755:89:15","text":"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction"},"functionSelector":"c7fa7288","implemented":false,"kind":"function","modifiers":[],"name":"signAndAttachDelegation","nameLocation":"55858:23:15","parameters":{"id":14960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14957,"mutability":"mutable","name":"implementation","nameLocation":"55890:14:15","nodeType":"VariableDeclaration","scope":14965,"src":"55882:22:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14956,"name":"address","nodeType":"ElementaryTypeName","src":"55882:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14959,"mutability":"mutable","name":"privateKey","nameLocation":"55914:10:15","nodeType":"VariableDeclaration","scope":14965,"src":"55906:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14958,"name":"uint256","nodeType":"ElementaryTypeName","src":"55906:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"55881:44:15"},"returnParameters":{"id":14964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14963,"mutability":"mutable","name":"signedDelegation","nameLocation":"55984:16:15","nodeType":"VariableDeclaration","scope":14965,"src":"55960:40:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13222_memory_ptr","typeString":"struct VmSafe.SignedDelegation"},"typeName":{"id":14962,"nodeType":"UserDefinedTypeName","pathNode":{"id":14961,"name":"SignedDelegation","nameLocations":["55960:16:15"],"nodeType":"IdentifierPath","referencedDeclaration":13222,"src":"55960:16:15"},"referencedDeclaration":13222,"src":"55960:16:15","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13222_storage_ptr","typeString":"struct VmSafe.SignedDelegation"}},"visibility":"internal"}],"src":"55959:42:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14978,"nodeType":"FunctionDefinition","src":"56121:167:15","nodes":[],"documentation":{"id":14966,"nodeType":"StructuredDocumentation","src":"56008:108:15","text":"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction for specific nonce"},"functionSelector":"cde3e5be","implemented":false,"kind":"function","modifiers":[],"name":"signAndAttachDelegation","nameLocation":"56130:23:15","parameters":{"id":14973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14968,"mutability":"mutable","name":"implementation","nameLocation":"56162:14:15","nodeType":"VariableDeclaration","scope":14978,"src":"56154:22:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14967,"name":"address","nodeType":"ElementaryTypeName","src":"56154:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14970,"mutability":"mutable","name":"privateKey","nameLocation":"56186:10:15","nodeType":"VariableDeclaration","scope":14978,"src":"56178:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14969,"name":"uint256","nodeType":"ElementaryTypeName","src":"56178:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14972,"mutability":"mutable","name":"nonce","nameLocation":"56205:5:15","nodeType":"VariableDeclaration","scope":14978,"src":"56198:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":14971,"name":"uint64","nodeType":"ElementaryTypeName","src":"56198:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"56153:58:15"},"returnParameters":{"id":14977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14976,"mutability":"mutable","name":"signedDelegation","nameLocation":"56270:16:15","nodeType":"VariableDeclaration","scope":14978,"src":"56246:40:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13222_memory_ptr","typeString":"struct VmSafe.SignedDelegation"},"typeName":{"id":14975,"nodeType":"UserDefinedTypeName","pathNode":{"id":14974,"name":"SignedDelegation","nameLocations":["56246:16:15"],"nodeType":"IdentifierPath","referencedDeclaration":13222,"src":"56246:16:15"},"referencedDeclaration":13222,"src":"56246:16:15","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13222_storage_ptr","typeString":"struct VmSafe.SignedDelegation"}},"visibility":"internal"}],"src":"56245:42:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14989,"nodeType":"FunctionDefinition","src":"56348:144:15","nodes":[],"documentation":{"id":14979,"nodeType":"StructuredDocumentation","src":"56294:49:15","text":"Sign an EIP-7702 authorization for delegation"},"functionSelector":"5b593c7b","implemented":false,"kind":"function","modifiers":[],"name":"signDelegation","nameLocation":"56357:14:15","parameters":{"id":14984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14981,"mutability":"mutable","name":"implementation","nameLocation":"56380:14:15","nodeType":"VariableDeclaration","scope":14989,"src":"56372:22:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14980,"name":"address","nodeType":"ElementaryTypeName","src":"56372:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14983,"mutability":"mutable","name":"privateKey","nameLocation":"56404:10:15","nodeType":"VariableDeclaration","scope":14989,"src":"56396:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14982,"name":"uint256","nodeType":"ElementaryTypeName","src":"56396:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56371:44:15"},"returnParameters":{"id":14988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14987,"mutability":"mutable","name":"signedDelegation","nameLocation":"56474:16:15","nodeType":"VariableDeclaration","scope":14989,"src":"56450:40:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13222_memory_ptr","typeString":"struct VmSafe.SignedDelegation"},"typeName":{"id":14986,"nodeType":"UserDefinedTypeName","pathNode":{"id":14985,"name":"SignedDelegation","nameLocations":["56450:16:15"],"nodeType":"IdentifierPath","referencedDeclaration":13222,"src":"56450:16:15"},"referencedDeclaration":13222,"src":"56450:16:15","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13222_storage_ptr","typeString":"struct VmSafe.SignedDelegation"}},"visibility":"internal"}],"src":"56449:42:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15002,"nodeType":"FunctionDefinition","src":"56571:158:15","nodes":[],"documentation":{"id":14990,"nodeType":"StructuredDocumentation","src":"56498:68:15","text":"Sign an EIP-7702 authorization for delegation for specific nonce"},"functionSelector":"ceba2ec3","implemented":false,"kind":"function","modifiers":[],"name":"signDelegation","nameLocation":"56580:14:15","parameters":{"id":14997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14992,"mutability":"mutable","name":"implementation","nameLocation":"56603:14:15","nodeType":"VariableDeclaration","scope":15002,"src":"56595:22:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14991,"name":"address","nodeType":"ElementaryTypeName","src":"56595:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14994,"mutability":"mutable","name":"privateKey","nameLocation":"56627:10:15","nodeType":"VariableDeclaration","scope":15002,"src":"56619:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14993,"name":"uint256","nodeType":"ElementaryTypeName","src":"56619:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14996,"mutability":"mutable","name":"nonce","nameLocation":"56646:5:15","nodeType":"VariableDeclaration","scope":15002,"src":"56639:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":14995,"name":"uint64","nodeType":"ElementaryTypeName","src":"56639:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"56594:58:15"},"returnParameters":{"id":15001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15000,"mutability":"mutable","name":"signedDelegation","nameLocation":"56711:16:15","nodeType":"VariableDeclaration","scope":15002,"src":"56687:40:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13222_memory_ptr","typeString":"struct VmSafe.SignedDelegation"},"typeName":{"id":14999,"nodeType":"UserDefinedTypeName","pathNode":{"id":14998,"name":"SignedDelegation","nameLocations":["56687:16:15"],"nodeType":"IdentifierPath","referencedDeclaration":13222,"src":"56687:16:15"},"referencedDeclaration":13222,"src":"56687:16:15","typeDescriptions":{"typeIdentifier":"t_struct$_SignedDelegation_$13222_storage_ptr","typeString":"struct VmSafe.SignedDelegation"}},"visibility":"internal"}],"src":"56686:42:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15006,"nodeType":"FunctionDefinition","src":"57239:35:15","nodes":[],"documentation":{"id":15003,"nodeType":"StructuredDocumentation","src":"56735:499:15","text":"Has all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain.\n Broadcasting address is determined by checking the following in order:\n 1. If `--sender` argument was provided, that address is used.\n 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used.\n 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used."},"functionSelector":"7fb5297f","implemented":false,"kind":"function","modifiers":[],"name":"startBroadcast","nameLocation":"57248:14:15","parameters":{"id":15004,"nodeType":"ParameterList","parameters":[],"src":"57262:2:15"},"returnParameters":{"id":15005,"nodeType":"ParameterList","parameters":[],"src":"57273:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15012,"nodeType":"FunctionDefinition","src":"57436:49:15","nodes":[],"documentation":{"id":15007,"nodeType":"StructuredDocumentation","src":"57280:151:15","text":"Has all subsequent calls (at this call depth only) create transactions with the address\n provided that can later be signed and sent onchain."},"functionSelector":"7fec2a8d","implemented":false,"kind":"function","modifiers":[],"name":"startBroadcast","nameLocation":"57445:14:15","parameters":{"id":15010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15009,"mutability":"mutable","name":"signer","nameLocation":"57468:6:15","nodeType":"VariableDeclaration","scope":15012,"src":"57460:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15008,"name":"address","nodeType":"ElementaryTypeName","src":"57460:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"57459:16:15"},"returnParameters":{"id":15011,"nodeType":"ParameterList","parameters":[],"src":"57484:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15018,"nodeType":"FunctionDefinition","src":"57651:53:15","nodes":[],"documentation":{"id":15013,"nodeType":"StructuredDocumentation","src":"57491:155:15","text":"Has all subsequent calls (at this call depth only) create transactions with the private key\n provided that can later be signed and sent onchain."},"functionSelector":"ce817d47","implemented":false,"kind":"function","modifiers":[],"name":"startBroadcast","nameLocation":"57660:14:15","parameters":{"id":15016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15015,"mutability":"mutable","name":"privateKey","nameLocation":"57683:10:15","nodeType":"VariableDeclaration","scope":15018,"src":"57675:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15014,"name":"uint256","nodeType":"ElementaryTypeName","src":"57675:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"57674:20:15"},"returnParameters":{"id":15017,"nodeType":"ParameterList","parameters":[],"src":"57703:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15022,"nodeType":"FunctionDefinition","src":"57757:34:15","nodes":[],"documentation":{"id":15019,"nodeType":"StructuredDocumentation","src":"57710:42:15","text":"Stops collecting onchain transactions."},"functionSelector":"76eadd36","implemented":false,"kind":"function","modifiers":[],"name":"stopBroadcast","nameLocation":"57766:13:15","parameters":{"id":15020,"nodeType":"ParameterList","parameters":[],"src":"57779:2:15"},"returnParameters":{"id":15021,"nodeType":"ParameterList","parameters":[],"src":"57790:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15032,"nodeType":"FunctionDefinition","src":"57903:98:15","nodes":[],"documentation":{"id":15023,"nodeType":"StructuredDocumentation","src":"57830:68:15","text":"Returns true if `search` is found in `subject`, false otherwise."},"functionSelector":"3fb18aec","implemented":false,"kind":"function","modifiers":[],"name":"contains","nameLocation":"57912:8:15","parameters":{"id":15028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15025,"mutability":"mutable","name":"subject","nameLocation":"57937:7:15","nodeType":"VariableDeclaration","scope":15032,"src":"57921:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15024,"name":"string","nodeType":"ElementaryTypeName","src":"57921:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15027,"mutability":"mutable","name":"search","nameLocation":"57962:6:15","nodeType":"VariableDeclaration","scope":15032,"src":"57946:22:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15026,"name":"string","nodeType":"ElementaryTypeName","src":"57946:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57920:49:15"},"returnParameters":{"id":15031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15030,"mutability":"mutable","name":"result","nameLocation":"57993:6:15","nodeType":"VariableDeclaration","scope":15032,"src":"57988:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15029,"name":"bool","nodeType":"ElementaryTypeName","src":"57988:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"57987:13:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15042,"nodeType":"FunctionDefinition","src":"58217:93:15","nodes":[],"documentation":{"id":15033,"nodeType":"StructuredDocumentation","src":"58007:205:15","text":"Returns the index of the first occurrence of a `key` in an `input` string.\n Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `key` is not found.\n Returns 0 in case of an empty `key`."},"functionSelector":"8a0807b7","implemented":false,"kind":"function","modifiers":[],"name":"indexOf","nameLocation":"58226:7:15","parameters":{"id":15038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15035,"mutability":"mutable","name":"input","nameLocation":"58250:5:15","nodeType":"VariableDeclaration","scope":15042,"src":"58234:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15034,"name":"string","nodeType":"ElementaryTypeName","src":"58234:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15037,"mutability":"mutable","name":"key","nameLocation":"58273:3:15","nodeType":"VariableDeclaration","scope":15042,"src":"58257:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15036,"name":"string","nodeType":"ElementaryTypeName","src":"58257:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58233:44:15"},"returnParameters":{"id":15041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15040,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15042,"src":"58301:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15039,"name":"uint256","nodeType":"ElementaryTypeName","src":"58301:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"58300:9:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15050,"nodeType":"FunctionDefinition","src":"58369:100:15","nodes":[],"documentation":{"id":15043,"nodeType":"StructuredDocumentation","src":"58316:48:15","text":"Parses the given `string` into an `address`."},"functionSelector":"c6ce059d","implemented":false,"kind":"function","modifiers":[],"name":"parseAddress","nameLocation":"58378:12:15","parameters":{"id":15046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15045,"mutability":"mutable","name":"stringifiedValue","nameLocation":"58407:16:15","nodeType":"VariableDeclaration","scope":15050,"src":"58391:32:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15044,"name":"string","nodeType":"ElementaryTypeName","src":"58391:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58390:34:15"},"returnParameters":{"id":15049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15048,"mutability":"mutable","name":"parsedValue","nameLocation":"58456:11:15","nodeType":"VariableDeclaration","scope":15050,"src":"58448:19:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15047,"name":"address","nodeType":"ElementaryTypeName","src":"58448:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"58447:21:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15058,"nodeType":"FunctionDefinition","src":"58524:94:15","nodes":[],"documentation":{"id":15051,"nodeType":"StructuredDocumentation","src":"58475:44:15","text":"Parses the given `string` into a `bool`."},"functionSelector":"974ef924","implemented":false,"kind":"function","modifiers":[],"name":"parseBool","nameLocation":"58533:9:15","parameters":{"id":15054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15053,"mutability":"mutable","name":"stringifiedValue","nameLocation":"58559:16:15","nodeType":"VariableDeclaration","scope":15058,"src":"58543:32:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15052,"name":"string","nodeType":"ElementaryTypeName","src":"58543:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58542:34:15"},"returnParameters":{"id":15057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15056,"mutability":"mutable","name":"parsedValue","nameLocation":"58605:11:15","nodeType":"VariableDeclaration","scope":15058,"src":"58600:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15055,"name":"bool","nodeType":"ElementaryTypeName","src":"58600:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"58599:18:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15066,"nodeType":"FunctionDefinition","src":"58672:103:15","nodes":[],"documentation":{"id":15059,"nodeType":"StructuredDocumentation","src":"58624:43:15","text":"Parses the given `string` into `bytes`."},"functionSelector":"8f5d232d","implemented":false,"kind":"function","modifiers":[],"name":"parseBytes","nameLocation":"58681:10:15","parameters":{"id":15062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15061,"mutability":"mutable","name":"stringifiedValue","nameLocation":"58708:16:15","nodeType":"VariableDeclaration","scope":15066,"src":"58692:32:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15060,"name":"string","nodeType":"ElementaryTypeName","src":"58692:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58691:34:15"},"returnParameters":{"id":15065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15064,"mutability":"mutable","name":"parsedValue","nameLocation":"58762:11:15","nodeType":"VariableDeclaration","scope":15066,"src":"58749:24:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15063,"name":"bytes","nodeType":"ElementaryTypeName","src":"58749:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"58748:26:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15074,"nodeType":"FunctionDefinition","src":"58833:100:15","nodes":[],"documentation":{"id":15067,"nodeType":"StructuredDocumentation","src":"58781:47:15","text":"Parses the given `string` into a `bytes32`."},"functionSelector":"087e6e81","implemented":false,"kind":"function","modifiers":[],"name":"parseBytes32","nameLocation":"58842:12:15","parameters":{"id":15070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15069,"mutability":"mutable","name":"stringifiedValue","nameLocation":"58871:16:15","nodeType":"VariableDeclaration","scope":15074,"src":"58855:32:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15068,"name":"string","nodeType":"ElementaryTypeName","src":"58855:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58854:34:15"},"returnParameters":{"id":15073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15072,"mutability":"mutable","name":"parsedValue","nameLocation":"58920:11:15","nodeType":"VariableDeclaration","scope":15074,"src":"58912:19:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15071,"name":"bytes32","nodeType":"ElementaryTypeName","src":"58912:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"58911:21:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15082,"nodeType":"FunctionDefinition","src":"58990:95:15","nodes":[],"documentation":{"id":15075,"nodeType":"StructuredDocumentation","src":"58939:46:15","text":"Parses the given `string` into a `int256`."},"functionSelector":"42346c5e","implemented":false,"kind":"function","modifiers":[],"name":"parseInt","nameLocation":"58999:8:15","parameters":{"id":15078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15077,"mutability":"mutable","name":"stringifiedValue","nameLocation":"59024:16:15","nodeType":"VariableDeclaration","scope":15082,"src":"59008:32:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15076,"name":"string","nodeType":"ElementaryTypeName","src":"59008:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59007:34:15"},"returnParameters":{"id":15081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15080,"mutability":"mutable","name":"parsedValue","nameLocation":"59072:11:15","nodeType":"VariableDeclaration","scope":15082,"src":"59065:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15079,"name":"int256","nodeType":"ElementaryTypeName","src":"59065:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"59064:20:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15090,"nodeType":"FunctionDefinition","src":"59143:97:15","nodes":[],"documentation":{"id":15083,"nodeType":"StructuredDocumentation","src":"59091:47:15","text":"Parses the given `string` into a `uint256`."},"functionSelector":"fa91454d","implemented":false,"kind":"function","modifiers":[],"name":"parseUint","nameLocation":"59152:9:15","parameters":{"id":15086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15085,"mutability":"mutable","name":"stringifiedValue","nameLocation":"59178:16:15","nodeType":"VariableDeclaration","scope":15090,"src":"59162:32:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15084,"name":"string","nodeType":"ElementaryTypeName","src":"59162:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59161:34:15"},"returnParameters":{"id":15089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15088,"mutability":"mutable","name":"parsedValue","nameLocation":"59227:11:15","nodeType":"VariableDeclaration","scope":15090,"src":"59219:19:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15087,"name":"uint256","nodeType":"ElementaryTypeName","src":"59219:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"59218:21:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15102,"nodeType":"FunctionDefinition","src":"59318:151:15","nodes":[],"documentation":{"id":15091,"nodeType":"StructuredDocumentation","src":"59246:67:15","text":"Replaces occurrences of `from` in the given `string` with `to`."},"functionSelector":"e00ad03e","implemented":false,"kind":"function","modifiers":[],"name":"replace","nameLocation":"59327:7:15","parameters":{"id":15098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15093,"mutability":"mutable","name":"input","nameLocation":"59351:5:15","nodeType":"VariableDeclaration","scope":15102,"src":"59335:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15092,"name":"string","nodeType":"ElementaryTypeName","src":"59335:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15095,"mutability":"mutable","name":"from","nameLocation":"59374:4:15","nodeType":"VariableDeclaration","scope":15102,"src":"59358:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15094,"name":"string","nodeType":"ElementaryTypeName","src":"59358:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15097,"mutability":"mutable","name":"to","nameLocation":"59396:2:15","nodeType":"VariableDeclaration","scope":15102,"src":"59380:18:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15096,"name":"string","nodeType":"ElementaryTypeName","src":"59380:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59334:65:15"},"returnParameters":{"id":15101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15100,"mutability":"mutable","name":"output","nameLocation":"59461:6:15","nodeType":"VariableDeclaration","scope":15102,"src":"59447:20:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15099,"name":"string","nodeType":"ElementaryTypeName","src":"59447:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59446:22:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15113,"nodeType":"FunctionDefinition","src":"59562:113:15","nodes":[],"documentation":{"id":15103,"nodeType":"StructuredDocumentation","src":"59475:82:15","text":"Splits the given `string` into an array of strings divided by the `delimiter`."},"functionSelector":"8bb75533","implemented":false,"kind":"function","modifiers":[],"name":"split","nameLocation":"59571:5:15","parameters":{"id":15108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15105,"mutability":"mutable","name":"input","nameLocation":"59593:5:15","nodeType":"VariableDeclaration","scope":15113,"src":"59577:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15104,"name":"string","nodeType":"ElementaryTypeName","src":"59577:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15107,"mutability":"mutable","name":"delimiter","nameLocation":"59616:9:15","nodeType":"VariableDeclaration","scope":15113,"src":"59600:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15106,"name":"string","nodeType":"ElementaryTypeName","src":"59600:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59576:50:15"},"returnParameters":{"id":15112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15111,"mutability":"mutable","name":"outputs","nameLocation":"59666:7:15","nodeType":"VariableDeclaration","scope":15113,"src":"59650:23:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":15109,"name":"string","nodeType":"ElementaryTypeName","src":"59650:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":15110,"nodeType":"ArrayTypeName","src":"59650:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"59649:25:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15121,"nodeType":"FunctionDefinition","src":"59737:89:15","nodes":[],"documentation":{"id":15114,"nodeType":"StructuredDocumentation","src":"59681:51:15","text":"Converts the given `string` value to Lowercase."},"functionSelector":"50bb0884","implemented":false,"kind":"function","modifiers":[],"name":"toLowercase","nameLocation":"59746:11:15","parameters":{"id":15117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15116,"mutability":"mutable","name":"input","nameLocation":"59774:5:15","nodeType":"VariableDeclaration","scope":15121,"src":"59758:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15115,"name":"string","nodeType":"ElementaryTypeName","src":"59758:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59757:23:15"},"returnParameters":{"id":15120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15119,"mutability":"mutable","name":"output","nameLocation":"59818:6:15","nodeType":"VariableDeclaration","scope":15121,"src":"59804:20:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15118,"name":"string","nodeType":"ElementaryTypeName","src":"59804:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59803:22:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15129,"nodeType":"FunctionDefinition","src":"59880:88:15","nodes":[],"documentation":{"id":15122,"nodeType":"StructuredDocumentation","src":"59832:43:15","text":"Converts the given value to a `string`."},"functionSelector":"56ca623e","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"59889:8:15","parameters":{"id":15125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15124,"mutability":"mutable","name":"value","nameLocation":"59906:5:15","nodeType":"VariableDeclaration","scope":15129,"src":"59898:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15123,"name":"address","nodeType":"ElementaryTypeName","src":"59898:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"59897:15:15"},"returnParameters":{"id":15128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15127,"mutability":"mutable","name":"stringifiedValue","nameLocation":"59950:16:15","nodeType":"VariableDeclaration","scope":15129,"src":"59936:30:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15126,"name":"string","nodeType":"ElementaryTypeName","src":"59936:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59935:32:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15137,"nodeType":"FunctionDefinition","src":"60022:95:15","nodes":[],"documentation":{"id":15130,"nodeType":"StructuredDocumentation","src":"59974:43:15","text":"Converts the given value to a `string`."},"functionSelector":"71aad10d","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"60031:8:15","parameters":{"id":15133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15132,"mutability":"mutable","name":"value","nameLocation":"60055:5:15","nodeType":"VariableDeclaration","scope":15137,"src":"60040:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15131,"name":"bytes","nodeType":"ElementaryTypeName","src":"60040:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"60039:22:15"},"returnParameters":{"id":15136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15135,"mutability":"mutable","name":"stringifiedValue","nameLocation":"60099:16:15","nodeType":"VariableDeclaration","scope":15137,"src":"60085:30:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15134,"name":"string","nodeType":"ElementaryTypeName","src":"60085:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60084:32:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15145,"nodeType":"FunctionDefinition","src":"60171:88:15","nodes":[],"documentation":{"id":15138,"nodeType":"StructuredDocumentation","src":"60123:43:15","text":"Converts the given value to a `string`."},"functionSelector":"b11a19e8","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"60180:8:15","parameters":{"id":15141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15140,"mutability":"mutable","name":"value","nameLocation":"60197:5:15","nodeType":"VariableDeclaration","scope":15145,"src":"60189:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15139,"name":"bytes32","nodeType":"ElementaryTypeName","src":"60189:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"60188:15:15"},"returnParameters":{"id":15144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15143,"mutability":"mutable","name":"stringifiedValue","nameLocation":"60241:16:15","nodeType":"VariableDeclaration","scope":15145,"src":"60227:30:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15142,"name":"string","nodeType":"ElementaryTypeName","src":"60227:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60226:32:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15153,"nodeType":"FunctionDefinition","src":"60313:85:15","nodes":[],"documentation":{"id":15146,"nodeType":"StructuredDocumentation","src":"60265:43:15","text":"Converts the given value to a `string`."},"functionSelector":"71dce7da","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"60322:8:15","parameters":{"id":15149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15148,"mutability":"mutable","name":"value","nameLocation":"60336:5:15","nodeType":"VariableDeclaration","scope":15153,"src":"60331:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15147,"name":"bool","nodeType":"ElementaryTypeName","src":"60331:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"60330:12:15"},"returnParameters":{"id":15152,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15151,"mutability":"mutable","name":"stringifiedValue","nameLocation":"60380:16:15","nodeType":"VariableDeclaration","scope":15153,"src":"60366:30:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15150,"name":"string","nodeType":"ElementaryTypeName","src":"60366:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60365:32:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15161,"nodeType":"FunctionDefinition","src":"60452:88:15","nodes":[],"documentation":{"id":15154,"nodeType":"StructuredDocumentation","src":"60404:43:15","text":"Converts the given value to a `string`."},"functionSelector":"6900a3ae","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"60461:8:15","parameters":{"id":15157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15156,"mutability":"mutable","name":"value","nameLocation":"60478:5:15","nodeType":"VariableDeclaration","scope":15161,"src":"60470:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15155,"name":"uint256","nodeType":"ElementaryTypeName","src":"60470:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60469:15:15"},"returnParameters":{"id":15160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15159,"mutability":"mutable","name":"stringifiedValue","nameLocation":"60522:16:15","nodeType":"VariableDeclaration","scope":15161,"src":"60508:30:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15158,"name":"string","nodeType":"ElementaryTypeName","src":"60508:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60507:32:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15169,"nodeType":"FunctionDefinition","src":"60594:87:15","nodes":[],"documentation":{"id":15162,"nodeType":"StructuredDocumentation","src":"60546:43:15","text":"Converts the given value to a `string`."},"functionSelector":"a322c40e","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"60603:8:15","parameters":{"id":15165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15164,"mutability":"mutable","name":"value","nameLocation":"60619:5:15","nodeType":"VariableDeclaration","scope":15169,"src":"60612:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15163,"name":"int256","nodeType":"ElementaryTypeName","src":"60612:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"60611:14:15"},"returnParameters":{"id":15168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15167,"mutability":"mutable","name":"stringifiedValue","nameLocation":"60663:16:15","nodeType":"VariableDeclaration","scope":15169,"src":"60649:30:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15166,"name":"string","nodeType":"ElementaryTypeName","src":"60649:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60648:32:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15177,"nodeType":"FunctionDefinition","src":"60743:89:15","nodes":[],"documentation":{"id":15170,"nodeType":"StructuredDocumentation","src":"60687:51:15","text":"Converts the given `string` value to Uppercase."},"functionSelector":"074ae3d7","implemented":false,"kind":"function","modifiers":[],"name":"toUppercase","nameLocation":"60752:11:15","parameters":{"id":15173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15172,"mutability":"mutable","name":"input","nameLocation":"60780:5:15","nodeType":"VariableDeclaration","scope":15177,"src":"60764:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15171,"name":"string","nodeType":"ElementaryTypeName","src":"60764:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60763:23:15"},"returnParameters":{"id":15176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15175,"mutability":"mutable","name":"output","nameLocation":"60824:6:15","nodeType":"VariableDeclaration","scope":15177,"src":"60810:20:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15174,"name":"string","nodeType":"ElementaryTypeName","src":"60810:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60809:22:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15185,"nodeType":"FunctionDefinition","src":"60915:82:15","nodes":[],"documentation":{"id":15178,"nodeType":"StructuredDocumentation","src":"60838:72:15","text":"Trims leading and trailing whitespace from the given `string` value."},"functionSelector":"b2dad155","implemented":false,"kind":"function","modifiers":[],"name":"trim","nameLocation":"60924:4:15","parameters":{"id":15181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15180,"mutability":"mutable","name":"input","nameLocation":"60945:5:15","nodeType":"VariableDeclaration","scope":15185,"src":"60929:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15179,"name":"string","nodeType":"ElementaryTypeName","src":"60929:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60928:23:15"},"returnParameters":{"id":15184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15183,"mutability":"mutable","name":"output","nameLocation":"60989:6:15","nodeType":"VariableDeclaration","scope":15185,"src":"60975:20:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15182,"name":"string","nodeType":"ElementaryTypeName","src":"60975:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60974:22:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15197,"nodeType":"FunctionDefinition","src":"61192:113:15","nodes":[],"documentation":{"id":15186,"nodeType":"StructuredDocumentation","src":"61037:150:15","text":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\n Formats values with decimals in failure message."},"functionSelector":"045c55ce","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"61201:24:15","parameters":{"id":15195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15188,"mutability":"mutable","name":"left","nameLocation":"61234:4:15","nodeType":"VariableDeclaration","scope":15197,"src":"61226:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15187,"name":"uint256","nodeType":"ElementaryTypeName","src":"61226:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15190,"mutability":"mutable","name":"right","nameLocation":"61248:5:15","nodeType":"VariableDeclaration","scope":15197,"src":"61240:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15189,"name":"uint256","nodeType":"ElementaryTypeName","src":"61240:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15192,"mutability":"mutable","name":"maxDelta","nameLocation":"61263:8:15","nodeType":"VariableDeclaration","scope":15197,"src":"61255:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15191,"name":"uint256","nodeType":"ElementaryTypeName","src":"61255:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15194,"mutability":"mutable","name":"decimals","nameLocation":"61281:8:15","nodeType":"VariableDeclaration","scope":15197,"src":"61273:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15193,"name":"uint256","nodeType":"ElementaryTypeName","src":"61273:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"61225:65:15"},"returnParameters":{"id":15196,"nodeType":"ParameterList","parameters":[],"src":"61304:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15211,"nodeType":"FunctionDefinition","src":"61520:182:15","nodes":[],"documentation":{"id":15198,"nodeType":"StructuredDocumentation","src":"61311:204:15","text":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"60429eb2","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"61529:24:15","parameters":{"id":15209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15200,"mutability":"mutable","name":"left","nameLocation":"61571:4:15","nodeType":"VariableDeclaration","scope":15211,"src":"61563:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15199,"name":"uint256","nodeType":"ElementaryTypeName","src":"61563:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15202,"mutability":"mutable","name":"right","nameLocation":"61593:5:15","nodeType":"VariableDeclaration","scope":15211,"src":"61585:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15201,"name":"uint256","nodeType":"ElementaryTypeName","src":"61585:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15204,"mutability":"mutable","name":"maxDelta","nameLocation":"61616:8:15","nodeType":"VariableDeclaration","scope":15211,"src":"61608:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15203,"name":"uint256","nodeType":"ElementaryTypeName","src":"61608:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15206,"mutability":"mutable","name":"decimals","nameLocation":"61642:8:15","nodeType":"VariableDeclaration","scope":15211,"src":"61634:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15205,"name":"uint256","nodeType":"ElementaryTypeName","src":"61634:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15208,"mutability":"mutable","name":"error","nameLocation":"61676:5:15","nodeType":"VariableDeclaration","scope":15211,"src":"61660:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15207,"name":"string","nodeType":"ElementaryTypeName","src":"61660:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61553:134:15"},"returnParameters":{"id":15210,"nodeType":"ParameterList","parameters":[],"src":"61701:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15223,"nodeType":"FunctionDefinition","src":"61862:111:15","nodes":[],"documentation":{"id":15212,"nodeType":"StructuredDocumentation","src":"61708:149:15","text":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\n Formats values with decimals in failure message."},"functionSelector":"3d5bc8bc","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"61871:24:15","parameters":{"id":15221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15214,"mutability":"mutable","name":"left","nameLocation":"61903:4:15","nodeType":"VariableDeclaration","scope":15223,"src":"61896:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15213,"name":"int256","nodeType":"ElementaryTypeName","src":"61896:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15216,"mutability":"mutable","name":"right","nameLocation":"61916:5:15","nodeType":"VariableDeclaration","scope":15223,"src":"61909:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15215,"name":"int256","nodeType":"ElementaryTypeName","src":"61909:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15218,"mutability":"mutable","name":"maxDelta","nameLocation":"61931:8:15","nodeType":"VariableDeclaration","scope":15223,"src":"61923:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15217,"name":"uint256","nodeType":"ElementaryTypeName","src":"61923:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15220,"mutability":"mutable","name":"decimals","nameLocation":"61949:8:15","nodeType":"VariableDeclaration","scope":15223,"src":"61941:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15219,"name":"uint256","nodeType":"ElementaryTypeName","src":"61941:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"61895:63:15"},"returnParameters":{"id":15222,"nodeType":"ParameterList","parameters":[],"src":"61972:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15237,"nodeType":"FunctionDefinition","src":"62187:180:15","nodes":[],"documentation":{"id":15224,"nodeType":"StructuredDocumentation","src":"61979:203:15","text":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"6a5066d4","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"62196:24:15","parameters":{"id":15235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15226,"mutability":"mutable","name":"left","nameLocation":"62237:4:15","nodeType":"VariableDeclaration","scope":15237,"src":"62230:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15225,"name":"int256","nodeType":"ElementaryTypeName","src":"62230:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15228,"mutability":"mutable","name":"right","nameLocation":"62258:5:15","nodeType":"VariableDeclaration","scope":15237,"src":"62251:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15227,"name":"int256","nodeType":"ElementaryTypeName","src":"62251:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15230,"mutability":"mutable","name":"maxDelta","nameLocation":"62281:8:15","nodeType":"VariableDeclaration","scope":15237,"src":"62273:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15229,"name":"uint256","nodeType":"ElementaryTypeName","src":"62273:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15232,"mutability":"mutable","name":"decimals","nameLocation":"62307:8:15","nodeType":"VariableDeclaration","scope":15237,"src":"62299:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15231,"name":"uint256","nodeType":"ElementaryTypeName","src":"62299:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15234,"mutability":"mutable","name":"error","nameLocation":"62341:5:15","nodeType":"VariableDeclaration","scope":15237,"src":"62325:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15233,"name":"string","nodeType":"ElementaryTypeName","src":"62325:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62220:132:15"},"returnParameters":{"id":15236,"nodeType":"ParameterList","parameters":[],"src":"62366:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15247,"nodeType":"FunctionDefinition","src":"62471:88:15","nodes":[],"documentation":{"id":15238,"nodeType":"StructuredDocumentation","src":"62373:93:15","text":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`."},"functionSelector":"16d207c6","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"62480:17:15","parameters":{"id":15245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15240,"mutability":"mutable","name":"left","nameLocation":"62506:4:15","nodeType":"VariableDeclaration","scope":15247,"src":"62498:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15239,"name":"uint256","nodeType":"ElementaryTypeName","src":"62498:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15242,"mutability":"mutable","name":"right","nameLocation":"62520:5:15","nodeType":"VariableDeclaration","scope":15247,"src":"62512:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15241,"name":"uint256","nodeType":"ElementaryTypeName","src":"62512:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15244,"mutability":"mutable","name":"maxDelta","nameLocation":"62535:8:15","nodeType":"VariableDeclaration","scope":15247,"src":"62527:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15243,"name":"uint256","nodeType":"ElementaryTypeName","src":"62527:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"62497:47:15"},"returnParameters":{"id":15246,"nodeType":"ParameterList","parameters":[],"src":"62558:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15259,"nodeType":"FunctionDefinition","src":"62725:111:15","nodes":[],"documentation":{"id":15248,"nodeType":"StructuredDocumentation","src":"62565:155:15","text":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\n Includes error message into revert string on failure."},"functionSelector":"f710b062","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"62734:17:15","parameters":{"id":15257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15250,"mutability":"mutable","name":"left","nameLocation":"62760:4:15","nodeType":"VariableDeclaration","scope":15259,"src":"62752:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15249,"name":"uint256","nodeType":"ElementaryTypeName","src":"62752:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15252,"mutability":"mutable","name":"right","nameLocation":"62774:5:15","nodeType":"VariableDeclaration","scope":15259,"src":"62766:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15251,"name":"uint256","nodeType":"ElementaryTypeName","src":"62766:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15254,"mutability":"mutable","name":"maxDelta","nameLocation":"62789:8:15","nodeType":"VariableDeclaration","scope":15259,"src":"62781:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15253,"name":"uint256","nodeType":"ElementaryTypeName","src":"62781:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15256,"mutability":"mutable","name":"error","nameLocation":"62815:5:15","nodeType":"VariableDeclaration","scope":15259,"src":"62799:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15255,"name":"string","nodeType":"ElementaryTypeName","src":"62799:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62751:70:15"},"returnParameters":{"id":15258,"nodeType":"ParameterList","parameters":[],"src":"62835:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15269,"nodeType":"FunctionDefinition","src":"62939:86:15","nodes":[],"documentation":{"id":15260,"nodeType":"StructuredDocumentation","src":"62842:92:15","text":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`."},"functionSelector":"240f839d","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"62948:17:15","parameters":{"id":15267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15262,"mutability":"mutable","name":"left","nameLocation":"62973:4:15","nodeType":"VariableDeclaration","scope":15269,"src":"62966:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15261,"name":"int256","nodeType":"ElementaryTypeName","src":"62966:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15264,"mutability":"mutable","name":"right","nameLocation":"62986:5:15","nodeType":"VariableDeclaration","scope":15269,"src":"62979:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15263,"name":"int256","nodeType":"ElementaryTypeName","src":"62979:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15266,"mutability":"mutable","name":"maxDelta","nameLocation":"63001:8:15","nodeType":"VariableDeclaration","scope":15269,"src":"62993:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15265,"name":"uint256","nodeType":"ElementaryTypeName","src":"62993:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"62965:45:15"},"returnParameters":{"id":15268,"nodeType":"ParameterList","parameters":[],"src":"63024:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15281,"nodeType":"FunctionDefinition","src":"63190:109:15","nodes":[],"documentation":{"id":15270,"nodeType":"StructuredDocumentation","src":"63031:154:15","text":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\n Includes error message into revert string on failure."},"functionSelector":"8289e621","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"63199:17:15","parameters":{"id":15279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15272,"mutability":"mutable","name":"left","nameLocation":"63224:4:15","nodeType":"VariableDeclaration","scope":15281,"src":"63217:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15271,"name":"int256","nodeType":"ElementaryTypeName","src":"63217:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15274,"mutability":"mutable","name":"right","nameLocation":"63237:5:15","nodeType":"VariableDeclaration","scope":15281,"src":"63230:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15273,"name":"int256","nodeType":"ElementaryTypeName","src":"63230:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15276,"mutability":"mutable","name":"maxDelta","nameLocation":"63252:8:15","nodeType":"VariableDeclaration","scope":15281,"src":"63244:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15275,"name":"uint256","nodeType":"ElementaryTypeName","src":"63244:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15278,"mutability":"mutable","name":"error","nameLocation":"63278:5:15","nodeType":"VariableDeclaration","scope":15281,"src":"63262:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15277,"name":"string","nodeType":"ElementaryTypeName","src":"63262:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63216:68:15"},"returnParameters":{"id":15280,"nodeType":"ParameterList","parameters":[],"src":"63298:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15293,"nodeType":"FunctionDefinition","src":"63570:136:15","nodes":[],"documentation":{"id":15282,"nodeType":"StructuredDocumentation","src":"63305:260:15","text":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n Formats values with decimals in failure message."},"functionSelector":"21ed2977","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"63579:24:15","parameters":{"id":15291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15284,"mutability":"mutable","name":"left","nameLocation":"63612:4:15","nodeType":"VariableDeclaration","scope":15293,"src":"63604:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15283,"name":"uint256","nodeType":"ElementaryTypeName","src":"63604:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15286,"mutability":"mutable","name":"right","nameLocation":"63626:5:15","nodeType":"VariableDeclaration","scope":15293,"src":"63618:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15285,"name":"uint256","nodeType":"ElementaryTypeName","src":"63618:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15288,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"63641:15:15","nodeType":"VariableDeclaration","scope":15293,"src":"63633:23:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15287,"name":"uint256","nodeType":"ElementaryTypeName","src":"63633:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15290,"mutability":"mutable","name":"decimals","nameLocation":"63666:8:15","nodeType":"VariableDeclaration","scope":15293,"src":"63658:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15289,"name":"uint256","nodeType":"ElementaryTypeName","src":"63658:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"63603:72:15"},"returnParameters":{"id":15292,"nodeType":"ParameterList","parameters":[],"src":"63705:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15307,"nodeType":"FunctionDefinition","src":"64031:189:15","nodes":[],"documentation":{"id":15294,"nodeType":"StructuredDocumentation","src":"63712:314:15","text":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"82d6c8fd","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"64040:24:15","parameters":{"id":15305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15296,"mutability":"mutable","name":"left","nameLocation":"64082:4:15","nodeType":"VariableDeclaration","scope":15307,"src":"64074:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15295,"name":"uint256","nodeType":"ElementaryTypeName","src":"64074:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15298,"mutability":"mutable","name":"right","nameLocation":"64104:5:15","nodeType":"VariableDeclaration","scope":15307,"src":"64096:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15297,"name":"uint256","nodeType":"ElementaryTypeName","src":"64096:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15300,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"64127:15:15","nodeType":"VariableDeclaration","scope":15307,"src":"64119:23:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15299,"name":"uint256","nodeType":"ElementaryTypeName","src":"64119:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15302,"mutability":"mutable","name":"decimals","nameLocation":"64160:8:15","nodeType":"VariableDeclaration","scope":15307,"src":"64152:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15301,"name":"uint256","nodeType":"ElementaryTypeName","src":"64152:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15304,"mutability":"mutable","name":"error","nameLocation":"64194:5:15","nodeType":"VariableDeclaration","scope":15307,"src":"64178:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15303,"name":"string","nodeType":"ElementaryTypeName","src":"64178:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64064:141:15"},"returnParameters":{"id":15306,"nodeType":"ParameterList","parameters":[],"src":"64219:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15319,"nodeType":"FunctionDefinition","src":"64490:134:15","nodes":[],"documentation":{"id":15308,"nodeType":"StructuredDocumentation","src":"64226:259:15","text":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n Formats values with decimals in failure message."},"functionSelector":"abbf21cc","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"64499:24:15","parameters":{"id":15317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15310,"mutability":"mutable","name":"left","nameLocation":"64531:4:15","nodeType":"VariableDeclaration","scope":15319,"src":"64524:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15309,"name":"int256","nodeType":"ElementaryTypeName","src":"64524:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15312,"mutability":"mutable","name":"right","nameLocation":"64544:5:15","nodeType":"VariableDeclaration","scope":15319,"src":"64537:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15311,"name":"int256","nodeType":"ElementaryTypeName","src":"64537:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15314,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"64559:15:15","nodeType":"VariableDeclaration","scope":15319,"src":"64551:23:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15313,"name":"uint256","nodeType":"ElementaryTypeName","src":"64551:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15316,"mutability":"mutable","name":"decimals","nameLocation":"64584:8:15","nodeType":"VariableDeclaration","scope":15319,"src":"64576:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15315,"name":"uint256","nodeType":"ElementaryTypeName","src":"64576:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"64523:70:15"},"returnParameters":{"id":15318,"nodeType":"ParameterList","parameters":[],"src":"64623:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15333,"nodeType":"FunctionDefinition","src":"64948:187:15","nodes":[],"documentation":{"id":15320,"nodeType":"StructuredDocumentation","src":"64630:313:15","text":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"fccc11c4","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"64957:24:15","parameters":{"id":15331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15322,"mutability":"mutable","name":"left","nameLocation":"64998:4:15","nodeType":"VariableDeclaration","scope":15333,"src":"64991:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15321,"name":"int256","nodeType":"ElementaryTypeName","src":"64991:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15324,"mutability":"mutable","name":"right","nameLocation":"65019:5:15","nodeType":"VariableDeclaration","scope":15333,"src":"65012:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15323,"name":"int256","nodeType":"ElementaryTypeName","src":"65012:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15326,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"65042:15:15","nodeType":"VariableDeclaration","scope":15333,"src":"65034:23:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15325,"name":"uint256","nodeType":"ElementaryTypeName","src":"65034:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15328,"mutability":"mutable","name":"decimals","nameLocation":"65075:8:15","nodeType":"VariableDeclaration","scope":15333,"src":"65067:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15327,"name":"uint256","nodeType":"ElementaryTypeName","src":"65067:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15330,"mutability":"mutable","name":"error","nameLocation":"65109:5:15","nodeType":"VariableDeclaration","scope":15333,"src":"65093:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15329,"name":"string","nodeType":"ElementaryTypeName","src":"65093:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64981:139:15"},"returnParameters":{"id":15332,"nodeType":"ParameterList","parameters":[],"src":"65134:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15343,"nodeType":"FunctionDefinition","src":"65349:95:15","nodes":[],"documentation":{"id":15334,"nodeType":"StructuredDocumentation","src":"65141:203:15","text":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%"},"functionSelector":"8cf25ef4","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"65358:17:15","parameters":{"id":15341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15336,"mutability":"mutable","name":"left","nameLocation":"65384:4:15","nodeType":"VariableDeclaration","scope":15343,"src":"65376:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15335,"name":"uint256","nodeType":"ElementaryTypeName","src":"65376:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15338,"mutability":"mutable","name":"right","nameLocation":"65398:5:15","nodeType":"VariableDeclaration","scope":15343,"src":"65390:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15337,"name":"uint256","nodeType":"ElementaryTypeName","src":"65390:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15340,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"65413:15:15","nodeType":"VariableDeclaration","scope":15343,"src":"65405:23:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15339,"name":"uint256","nodeType":"ElementaryTypeName","src":"65405:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"65375:54:15"},"returnParameters":{"id":15342,"nodeType":"ParameterList","parameters":[],"src":"65443:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15355,"nodeType":"FunctionDefinition","src":"65720:134:15","nodes":[],"documentation":{"id":15344,"nodeType":"StructuredDocumentation","src":"65450:265:15","text":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n Includes error message into revert string on failure."},"functionSelector":"1ecb7d33","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"65729:17:15","parameters":{"id":15353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15346,"mutability":"mutable","name":"left","nameLocation":"65755:4:15","nodeType":"VariableDeclaration","scope":15355,"src":"65747:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15345,"name":"uint256","nodeType":"ElementaryTypeName","src":"65747:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15348,"mutability":"mutable","name":"right","nameLocation":"65769:5:15","nodeType":"VariableDeclaration","scope":15355,"src":"65761:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15347,"name":"uint256","nodeType":"ElementaryTypeName","src":"65761:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15350,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"65784:15:15","nodeType":"VariableDeclaration","scope":15355,"src":"65776:23:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15349,"name":"uint256","nodeType":"ElementaryTypeName","src":"65776:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15352,"mutability":"mutable","name":"error","nameLocation":"65817:5:15","nodeType":"VariableDeclaration","scope":15355,"src":"65801:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15351,"name":"string","nodeType":"ElementaryTypeName","src":"65801:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"65746:77:15"},"returnParameters":{"id":15354,"nodeType":"ParameterList","parameters":[],"src":"65853:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15365,"nodeType":"FunctionDefinition","src":"66067:93:15","nodes":[],"documentation":{"id":15356,"nodeType":"StructuredDocumentation","src":"65860:202:15","text":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%"},"functionSelector":"fea2d14f","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"66076:17:15","parameters":{"id":15363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15358,"mutability":"mutable","name":"left","nameLocation":"66101:4:15","nodeType":"VariableDeclaration","scope":15365,"src":"66094:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15357,"name":"int256","nodeType":"ElementaryTypeName","src":"66094:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15360,"mutability":"mutable","name":"right","nameLocation":"66114:5:15","nodeType":"VariableDeclaration","scope":15365,"src":"66107:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15359,"name":"int256","nodeType":"ElementaryTypeName","src":"66107:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15362,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"66129:15:15","nodeType":"VariableDeclaration","scope":15365,"src":"66121:23:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15361,"name":"uint256","nodeType":"ElementaryTypeName","src":"66121:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"66093:52:15"},"returnParameters":{"id":15364,"nodeType":"ParameterList","parameters":[],"src":"66159:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15377,"nodeType":"FunctionDefinition","src":"66435:132:15","nodes":[],"documentation":{"id":15366,"nodeType":"StructuredDocumentation","src":"66166:264:15","text":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n Includes error message into revert string on failure."},"functionSelector":"ef277d72","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"66444:17:15","parameters":{"id":15375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15368,"mutability":"mutable","name":"left","nameLocation":"66469:4:15","nodeType":"VariableDeclaration","scope":15377,"src":"66462:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15367,"name":"int256","nodeType":"ElementaryTypeName","src":"66462:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15370,"mutability":"mutable","name":"right","nameLocation":"66482:5:15","nodeType":"VariableDeclaration","scope":15377,"src":"66475:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15369,"name":"int256","nodeType":"ElementaryTypeName","src":"66475:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15372,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"66497:15:15","nodeType":"VariableDeclaration","scope":15377,"src":"66489:23:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15371,"name":"uint256","nodeType":"ElementaryTypeName","src":"66489:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15374,"mutability":"mutable","name":"error","nameLocation":"66530:5:15","nodeType":"VariableDeclaration","scope":15377,"src":"66514:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15373,"name":"string","nodeType":"ElementaryTypeName","src":"66514:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66461:75:15"},"returnParameters":{"id":15376,"nodeType":"ParameterList","parameters":[],"src":"66566:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15387,"nodeType":"FunctionDefinition","src":"66676:86:15","nodes":[],"documentation":{"id":15378,"nodeType":"StructuredDocumentation","src":"66573:98:15","text":"Asserts that two `uint256` values are equal, formatting them with decimals in failure message."},"functionSelector":"27af7d9c","implemented":false,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"66685:15:15","parameters":{"id":15385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15380,"mutability":"mutable","name":"left","nameLocation":"66709:4:15","nodeType":"VariableDeclaration","scope":15387,"src":"66701:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15379,"name":"uint256","nodeType":"ElementaryTypeName","src":"66701:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15382,"mutability":"mutable","name":"right","nameLocation":"66723:5:15","nodeType":"VariableDeclaration","scope":15387,"src":"66715:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15381,"name":"uint256","nodeType":"ElementaryTypeName","src":"66715:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15384,"mutability":"mutable","name":"decimals","nameLocation":"66738:8:15","nodeType":"VariableDeclaration","scope":15387,"src":"66730:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15383,"name":"uint256","nodeType":"ElementaryTypeName","src":"66730:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"66700:47:15"},"returnParameters":{"id":15386,"nodeType":"ParameterList","parameters":[],"src":"66761:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15399,"nodeType":"FunctionDefinition","src":"66933:109:15","nodes":[],"documentation":{"id":15388,"nodeType":"StructuredDocumentation","src":"66768:160:15","text":"Asserts that two `uint256` values are equal, formatting them with decimals in failure message.\n Includes error message into revert string on failure."},"functionSelector":"d0cbbdef","implemented":false,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"66942:15:15","parameters":{"id":15397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15390,"mutability":"mutable","name":"left","nameLocation":"66966:4:15","nodeType":"VariableDeclaration","scope":15399,"src":"66958:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15389,"name":"uint256","nodeType":"ElementaryTypeName","src":"66958:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15392,"mutability":"mutable","name":"right","nameLocation":"66980:5:15","nodeType":"VariableDeclaration","scope":15399,"src":"66972:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15391,"name":"uint256","nodeType":"ElementaryTypeName","src":"66972:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15394,"mutability":"mutable","name":"decimals","nameLocation":"66995:8:15","nodeType":"VariableDeclaration","scope":15399,"src":"66987:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15393,"name":"uint256","nodeType":"ElementaryTypeName","src":"66987:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15396,"mutability":"mutable","name":"error","nameLocation":"67021:5:15","nodeType":"VariableDeclaration","scope":15399,"src":"67005:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15395,"name":"string","nodeType":"ElementaryTypeName","src":"67005:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66957:70:15"},"returnParameters":{"id":15398,"nodeType":"ParameterList","parameters":[],"src":"67041:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15409,"nodeType":"FunctionDefinition","src":"67150:84:15","nodes":[],"documentation":{"id":15400,"nodeType":"StructuredDocumentation","src":"67048:97:15","text":"Asserts that two `int256` values are equal, formatting them with decimals in failure message."},"functionSelector":"48016c04","implemented":false,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"67159:15:15","parameters":{"id":15407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15402,"mutability":"mutable","name":"left","nameLocation":"67182:4:15","nodeType":"VariableDeclaration","scope":15409,"src":"67175:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15401,"name":"int256","nodeType":"ElementaryTypeName","src":"67175:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15404,"mutability":"mutable","name":"right","nameLocation":"67195:5:15","nodeType":"VariableDeclaration","scope":15409,"src":"67188:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15403,"name":"int256","nodeType":"ElementaryTypeName","src":"67188:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15406,"mutability":"mutable","name":"decimals","nameLocation":"67210:8:15","nodeType":"VariableDeclaration","scope":15409,"src":"67202:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15405,"name":"uint256","nodeType":"ElementaryTypeName","src":"67202:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"67174:45:15"},"returnParameters":{"id":15408,"nodeType":"ParameterList","parameters":[],"src":"67233:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15421,"nodeType":"FunctionDefinition","src":"67404:107:15","nodes":[],"documentation":{"id":15410,"nodeType":"StructuredDocumentation","src":"67240:159:15","text":"Asserts that two `int256` values are equal, formatting them with decimals in failure message.\n Includes error message into revert string on failure."},"functionSelector":"7e77b0c5","implemented":false,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"67413:15:15","parameters":{"id":15419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15412,"mutability":"mutable","name":"left","nameLocation":"67436:4:15","nodeType":"VariableDeclaration","scope":15421,"src":"67429:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15411,"name":"int256","nodeType":"ElementaryTypeName","src":"67429:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15414,"mutability":"mutable","name":"right","nameLocation":"67449:5:15","nodeType":"VariableDeclaration","scope":15421,"src":"67442:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15413,"name":"int256","nodeType":"ElementaryTypeName","src":"67442:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15416,"mutability":"mutable","name":"decimals","nameLocation":"67464:8:15","nodeType":"VariableDeclaration","scope":15421,"src":"67456:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15415,"name":"uint256","nodeType":"ElementaryTypeName","src":"67456:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15418,"mutability":"mutable","name":"error","nameLocation":"67490:5:15","nodeType":"VariableDeclaration","scope":15421,"src":"67474:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15417,"name":"string","nodeType":"ElementaryTypeName","src":"67474:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67428:68:15"},"returnParameters":{"id":15420,"nodeType":"ParameterList","parameters":[],"src":"67510:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15429,"nodeType":"FunctionDefinition","src":"67567:55:15","nodes":[],"documentation":{"id":15422,"nodeType":"StructuredDocumentation","src":"67517:45:15","text":"Asserts that two `bool` values are equal."},"functionSelector":"f7fe3477","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"67576:8:15","parameters":{"id":15427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15424,"mutability":"mutable","name":"left","nameLocation":"67590:4:15","nodeType":"VariableDeclaration","scope":15429,"src":"67585:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15423,"name":"bool","nodeType":"ElementaryTypeName","src":"67585:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15426,"mutability":"mutable","name":"right","nameLocation":"67601:5:15","nodeType":"VariableDeclaration","scope":15429,"src":"67596:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15425,"name":"bool","nodeType":"ElementaryTypeName","src":"67596:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"67584:23:15"},"returnParameters":{"id":15428,"nodeType":"ParameterList","parameters":[],"src":"67621:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15439,"nodeType":"FunctionDefinition","src":"67735:78:15","nodes":[],"documentation":{"id":15430,"nodeType":"StructuredDocumentation","src":"67628:102:15","text":"Asserts that two `bool` values are equal and includes error message into revert string on failure."},"functionSelector":"4db19e7e","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"67744:8:15","parameters":{"id":15437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15432,"mutability":"mutable","name":"left","nameLocation":"67758:4:15","nodeType":"VariableDeclaration","scope":15439,"src":"67753:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15431,"name":"bool","nodeType":"ElementaryTypeName","src":"67753:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15434,"mutability":"mutable","name":"right","nameLocation":"67769:5:15","nodeType":"VariableDeclaration","scope":15439,"src":"67764:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15433,"name":"bool","nodeType":"ElementaryTypeName","src":"67764:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15436,"mutability":"mutable","name":"error","nameLocation":"67792:5:15","nodeType":"VariableDeclaration","scope":15439,"src":"67776:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15435,"name":"string","nodeType":"ElementaryTypeName","src":"67776:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67752:46:15"},"returnParameters":{"id":15438,"nodeType":"ParameterList","parameters":[],"src":"67812:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15447,"nodeType":"FunctionDefinition","src":"67871:77:15","nodes":[],"documentation":{"id":15440,"nodeType":"StructuredDocumentation","src":"67819:47:15","text":"Asserts that two `string` values are equal."},"functionSelector":"f320d963","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"67880:8:15","parameters":{"id":15445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15442,"mutability":"mutable","name":"left","nameLocation":"67905:4:15","nodeType":"VariableDeclaration","scope":15447,"src":"67889:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15441,"name":"string","nodeType":"ElementaryTypeName","src":"67889:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15444,"mutability":"mutable","name":"right","nameLocation":"67927:5:15","nodeType":"VariableDeclaration","scope":15447,"src":"67911:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15443,"name":"string","nodeType":"ElementaryTypeName","src":"67911:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67888:45:15"},"returnParameters":{"id":15446,"nodeType":"ParameterList","parameters":[],"src":"67947:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15457,"nodeType":"FunctionDefinition","src":"68063:100:15","nodes":[],"documentation":{"id":15448,"nodeType":"StructuredDocumentation","src":"67954:104:15","text":"Asserts that two `string` values are equal and includes error message into revert string on failure."},"functionSelector":"36f656d8","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"68072:8:15","parameters":{"id":15455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15450,"mutability":"mutable","name":"left","nameLocation":"68097:4:15","nodeType":"VariableDeclaration","scope":15457,"src":"68081:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15449,"name":"string","nodeType":"ElementaryTypeName","src":"68081:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15452,"mutability":"mutable","name":"right","nameLocation":"68119:5:15","nodeType":"VariableDeclaration","scope":15457,"src":"68103:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15451,"name":"string","nodeType":"ElementaryTypeName","src":"68103:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15454,"mutability":"mutable","name":"error","nameLocation":"68142:5:15","nodeType":"VariableDeclaration","scope":15457,"src":"68126:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15453,"name":"string","nodeType":"ElementaryTypeName","src":"68126:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68080:68:15"},"returnParameters":{"id":15456,"nodeType":"ParameterList","parameters":[],"src":"68162:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15465,"nodeType":"FunctionDefinition","src":"68220:75:15","nodes":[],"documentation":{"id":15458,"nodeType":"StructuredDocumentation","src":"68169:46:15","text":"Asserts that two `bytes` values are equal."},"functionSelector":"97624631","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"68229:8:15","parameters":{"id":15463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15460,"mutability":"mutable","name":"left","nameLocation":"68253:4:15","nodeType":"VariableDeclaration","scope":15465,"src":"68238:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15459,"name":"bytes","nodeType":"ElementaryTypeName","src":"68238:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15462,"mutability":"mutable","name":"right","nameLocation":"68274:5:15","nodeType":"VariableDeclaration","scope":15465,"src":"68259:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15461,"name":"bytes","nodeType":"ElementaryTypeName","src":"68259:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"68237:43:15"},"returnParameters":{"id":15464,"nodeType":"ParameterList","parameters":[],"src":"68294:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15475,"nodeType":"FunctionDefinition","src":"68409:98:15","nodes":[],"documentation":{"id":15466,"nodeType":"StructuredDocumentation","src":"68301:103:15","text":"Asserts that two `bytes` values are equal and includes error message into revert string on failure."},"functionSelector":"e24fed00","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"68418:8:15","parameters":{"id":15473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15468,"mutability":"mutable","name":"left","nameLocation":"68442:4:15","nodeType":"VariableDeclaration","scope":15475,"src":"68427:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15467,"name":"bytes","nodeType":"ElementaryTypeName","src":"68427:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15470,"mutability":"mutable","name":"right","nameLocation":"68463:5:15","nodeType":"VariableDeclaration","scope":15475,"src":"68448:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15469,"name":"bytes","nodeType":"ElementaryTypeName","src":"68448:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15472,"mutability":"mutable","name":"error","nameLocation":"68486:5:15","nodeType":"VariableDeclaration","scope":15475,"src":"68470:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15471,"name":"string","nodeType":"ElementaryTypeName","src":"68470:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68426:66:15"},"returnParameters":{"id":15474,"nodeType":"ParameterList","parameters":[],"src":"68506:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15485,"nodeType":"FunctionDefinition","src":"68573:77:15","nodes":[],"documentation":{"id":15476,"nodeType":"StructuredDocumentation","src":"68513:55:15","text":"Asserts that two arrays of `bool` values are equal."},"functionSelector":"707df785","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"68582:8:15","parameters":{"id":15483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15479,"mutability":"mutable","name":"left","nameLocation":"68607:4:15","nodeType":"VariableDeclaration","scope":15485,"src":"68591:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":15477,"name":"bool","nodeType":"ElementaryTypeName","src":"68591:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15478,"nodeType":"ArrayTypeName","src":"68591:6:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":15482,"mutability":"mutable","name":"right","nameLocation":"68629:5:15","nodeType":"VariableDeclaration","scope":15485,"src":"68613:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":15480,"name":"bool","nodeType":"ElementaryTypeName","src":"68613:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15481,"nodeType":"ArrayTypeName","src":"68613:6:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"68590:45:15"},"returnParameters":{"id":15484,"nodeType":"ParameterList","parameters":[],"src":"68649:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15497,"nodeType":"FunctionDefinition","src":"68773:100:15","nodes":[],"documentation":{"id":15486,"nodeType":"StructuredDocumentation","src":"68656:112:15","text":"Asserts that two arrays of `bool` values are equal and includes error message into revert string on failure."},"functionSelector":"e48a8f8d","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"68782:8:15","parameters":{"id":15495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15489,"mutability":"mutable","name":"left","nameLocation":"68807:4:15","nodeType":"VariableDeclaration","scope":15497,"src":"68791:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":15487,"name":"bool","nodeType":"ElementaryTypeName","src":"68791:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15488,"nodeType":"ArrayTypeName","src":"68791:6:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":15492,"mutability":"mutable","name":"right","nameLocation":"68829:5:15","nodeType":"VariableDeclaration","scope":15497,"src":"68813:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":15490,"name":"bool","nodeType":"ElementaryTypeName","src":"68813:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15491,"nodeType":"ArrayTypeName","src":"68813:6:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":15494,"mutability":"mutable","name":"error","nameLocation":"68852:5:15","nodeType":"VariableDeclaration","scope":15497,"src":"68836:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15493,"name":"string","nodeType":"ElementaryTypeName","src":"68836:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68790:68:15"},"returnParameters":{"id":15496,"nodeType":"ParameterList","parameters":[],"src":"68872:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15507,"nodeType":"FunctionDefinition","src":"68941:83:15","nodes":[],"documentation":{"id":15498,"nodeType":"StructuredDocumentation","src":"68879:57:15","text":"Asserts that two arrays of `uint256 values are equal."},"functionSelector":"975d5a12","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"68950:8:15","parameters":{"id":15505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15501,"mutability":"mutable","name":"left","nameLocation":"68978:4:15","nodeType":"VariableDeclaration","scope":15507,"src":"68959:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":15499,"name":"uint256","nodeType":"ElementaryTypeName","src":"68959:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15500,"nodeType":"ArrayTypeName","src":"68959:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":15504,"mutability":"mutable","name":"right","nameLocation":"69003:5:15","nodeType":"VariableDeclaration","scope":15507,"src":"68984:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":15502,"name":"uint256","nodeType":"ElementaryTypeName","src":"68984:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15503,"nodeType":"ArrayTypeName","src":"68984:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"68958:51:15"},"returnParameters":{"id":15506,"nodeType":"ParameterList","parameters":[],"src":"69023:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15519,"nodeType":"FunctionDefinition","src":"69150:106:15","nodes":[],"documentation":{"id":15508,"nodeType":"StructuredDocumentation","src":"69030:115:15","text":"Asserts that two arrays of `uint256` values are equal and includes error message into revert string on failure."},"functionSelector":"5d18c73a","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"69159:8:15","parameters":{"id":15517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15511,"mutability":"mutable","name":"left","nameLocation":"69187:4:15","nodeType":"VariableDeclaration","scope":15519,"src":"69168:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":15509,"name":"uint256","nodeType":"ElementaryTypeName","src":"69168:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15510,"nodeType":"ArrayTypeName","src":"69168:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":15514,"mutability":"mutable","name":"right","nameLocation":"69212:5:15","nodeType":"VariableDeclaration","scope":15519,"src":"69193:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":15512,"name":"uint256","nodeType":"ElementaryTypeName","src":"69193:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15513,"nodeType":"ArrayTypeName","src":"69193:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":15516,"mutability":"mutable","name":"error","nameLocation":"69235:5:15","nodeType":"VariableDeclaration","scope":15519,"src":"69219:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15515,"name":"string","nodeType":"ElementaryTypeName","src":"69219:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69167:74:15"},"returnParameters":{"id":15518,"nodeType":"ParameterList","parameters":[],"src":"69255:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15529,"nodeType":"FunctionDefinition","src":"69324:81:15","nodes":[],"documentation":{"id":15520,"nodeType":"StructuredDocumentation","src":"69262:57:15","text":"Asserts that two arrays of `int256` values are equal."},"functionSelector":"711043ac","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"69333:8:15","parameters":{"id":15527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15523,"mutability":"mutable","name":"left","nameLocation":"69360:4:15","nodeType":"VariableDeclaration","scope":15529,"src":"69342:22:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":15521,"name":"int256","nodeType":"ElementaryTypeName","src":"69342:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":15522,"nodeType":"ArrayTypeName","src":"69342:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":15526,"mutability":"mutable","name":"right","nameLocation":"69384:5:15","nodeType":"VariableDeclaration","scope":15529,"src":"69366:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":15524,"name":"int256","nodeType":"ElementaryTypeName","src":"69366:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":15525,"nodeType":"ArrayTypeName","src":"69366:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"69341:49:15"},"returnParameters":{"id":15528,"nodeType":"ParameterList","parameters":[],"src":"69404:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15541,"nodeType":"FunctionDefinition","src":"69530:104:15","nodes":[],"documentation":{"id":15530,"nodeType":"StructuredDocumentation","src":"69411:114:15","text":"Asserts that two arrays of `int256` values are equal and includes error message into revert string on failure."},"functionSelector":"191f1b30","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"69539:8:15","parameters":{"id":15539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15533,"mutability":"mutable","name":"left","nameLocation":"69566:4:15","nodeType":"VariableDeclaration","scope":15541,"src":"69548:22:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":15531,"name":"int256","nodeType":"ElementaryTypeName","src":"69548:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":15532,"nodeType":"ArrayTypeName","src":"69548:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":15536,"mutability":"mutable","name":"right","nameLocation":"69590:5:15","nodeType":"VariableDeclaration","scope":15541,"src":"69572:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":15534,"name":"int256","nodeType":"ElementaryTypeName","src":"69572:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":15535,"nodeType":"ArrayTypeName","src":"69572:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":15538,"mutability":"mutable","name":"error","nameLocation":"69613:5:15","nodeType":"VariableDeclaration","scope":15541,"src":"69597:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15537,"name":"string","nodeType":"ElementaryTypeName","src":"69597:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69547:72:15"},"returnParameters":{"id":15540,"nodeType":"ParameterList","parameters":[],"src":"69633:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15549,"nodeType":"FunctionDefinition","src":"69693:61:15","nodes":[],"documentation":{"id":15542,"nodeType":"StructuredDocumentation","src":"69640:48:15","text":"Asserts that two `uint256` values are equal."},"functionSelector":"98296c54","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"69702:8:15","parameters":{"id":15547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15544,"mutability":"mutable","name":"left","nameLocation":"69719:4:15","nodeType":"VariableDeclaration","scope":15549,"src":"69711:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15543,"name":"uint256","nodeType":"ElementaryTypeName","src":"69711:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15546,"mutability":"mutable","name":"right","nameLocation":"69733:5:15","nodeType":"VariableDeclaration","scope":15549,"src":"69725:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15545,"name":"uint256","nodeType":"ElementaryTypeName","src":"69725:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"69710:29:15"},"returnParameters":{"id":15548,"nodeType":"ParameterList","parameters":[],"src":"69753:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15559,"nodeType":"FunctionDefinition","src":"69823:83:15","nodes":[],"documentation":{"id":15550,"nodeType":"StructuredDocumentation","src":"69760:58:15","text":"Asserts that two arrays of `address` values are equal."},"functionSelector":"3868ac34","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"69832:8:15","parameters":{"id":15557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15553,"mutability":"mutable","name":"left","nameLocation":"69860:4:15","nodeType":"VariableDeclaration","scope":15559,"src":"69841:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":15551,"name":"address","nodeType":"ElementaryTypeName","src":"69841:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":15552,"nodeType":"ArrayTypeName","src":"69841:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":15556,"mutability":"mutable","name":"right","nameLocation":"69885:5:15","nodeType":"VariableDeclaration","scope":15559,"src":"69866:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":15554,"name":"address","nodeType":"ElementaryTypeName","src":"69866:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":15555,"nodeType":"ArrayTypeName","src":"69866:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"69840:51:15"},"returnParameters":{"id":15558,"nodeType":"ParameterList","parameters":[],"src":"69905:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15571,"nodeType":"FunctionDefinition","src":"70032:106:15","nodes":[],"documentation":{"id":15560,"nodeType":"StructuredDocumentation","src":"69912:115:15","text":"Asserts that two arrays of `address` values are equal and includes error message into revert string on failure."},"functionSelector":"3e9173c5","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"70041:8:15","parameters":{"id":15569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15563,"mutability":"mutable","name":"left","nameLocation":"70069:4:15","nodeType":"VariableDeclaration","scope":15571,"src":"70050:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":15561,"name":"address","nodeType":"ElementaryTypeName","src":"70050:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":15562,"nodeType":"ArrayTypeName","src":"70050:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":15566,"mutability":"mutable","name":"right","nameLocation":"70094:5:15","nodeType":"VariableDeclaration","scope":15571,"src":"70075:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":15564,"name":"address","nodeType":"ElementaryTypeName","src":"70075:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":15565,"nodeType":"ArrayTypeName","src":"70075:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":15568,"mutability":"mutable","name":"error","nameLocation":"70117:5:15","nodeType":"VariableDeclaration","scope":15571,"src":"70101:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15567,"name":"string","nodeType":"ElementaryTypeName","src":"70101:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70049:74:15"},"returnParameters":{"id":15570,"nodeType":"ParameterList","parameters":[],"src":"70137:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15581,"nodeType":"FunctionDefinition","src":"70207:83:15","nodes":[],"documentation":{"id":15572,"nodeType":"StructuredDocumentation","src":"70144:58:15","text":"Asserts that two arrays of `bytes32` values are equal."},"functionSelector":"0cc9ee84","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"70216:8:15","parameters":{"id":15579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15575,"mutability":"mutable","name":"left","nameLocation":"70244:4:15","nodeType":"VariableDeclaration","scope":15581,"src":"70225:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15573,"name":"bytes32","nodeType":"ElementaryTypeName","src":"70225:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15574,"nodeType":"ArrayTypeName","src":"70225:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":15578,"mutability":"mutable","name":"right","nameLocation":"70269:5:15","nodeType":"VariableDeclaration","scope":15581,"src":"70250:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15576,"name":"bytes32","nodeType":"ElementaryTypeName","src":"70250:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15577,"nodeType":"ArrayTypeName","src":"70250:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"70224:51:15"},"returnParameters":{"id":15580,"nodeType":"ParameterList","parameters":[],"src":"70289:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15593,"nodeType":"FunctionDefinition","src":"70416:106:15","nodes":[],"documentation":{"id":15582,"nodeType":"StructuredDocumentation","src":"70296:115:15","text":"Asserts that two arrays of `bytes32` values are equal and includes error message into revert string on failure."},"functionSelector":"e03e9177","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"70425:8:15","parameters":{"id":15591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15585,"mutability":"mutable","name":"left","nameLocation":"70453:4:15","nodeType":"VariableDeclaration","scope":15593,"src":"70434:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15583,"name":"bytes32","nodeType":"ElementaryTypeName","src":"70434:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15584,"nodeType":"ArrayTypeName","src":"70434:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":15588,"mutability":"mutable","name":"right","nameLocation":"70478:5:15","nodeType":"VariableDeclaration","scope":15593,"src":"70459:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15586,"name":"bytes32","nodeType":"ElementaryTypeName","src":"70459:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15587,"nodeType":"ArrayTypeName","src":"70459:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":15590,"mutability":"mutable","name":"error","nameLocation":"70501:5:15","nodeType":"VariableDeclaration","scope":15593,"src":"70485:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15589,"name":"string","nodeType":"ElementaryTypeName","src":"70485:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70433:74:15"},"returnParameters":{"id":15592,"nodeType":"ParameterList","parameters":[],"src":"70521:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15603,"nodeType":"FunctionDefinition","src":"70590:81:15","nodes":[],"documentation":{"id":15594,"nodeType":"StructuredDocumentation","src":"70528:57:15","text":"Asserts that two arrays of `string` values are equal."},"functionSelector":"cf1c049c","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"70599:8:15","parameters":{"id":15601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15597,"mutability":"mutable","name":"left","nameLocation":"70626:4:15","nodeType":"VariableDeclaration","scope":15603,"src":"70608:22:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":15595,"name":"string","nodeType":"ElementaryTypeName","src":"70608:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":15596,"nodeType":"ArrayTypeName","src":"70608:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":15600,"mutability":"mutable","name":"right","nameLocation":"70650:5:15","nodeType":"VariableDeclaration","scope":15603,"src":"70632:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":15598,"name":"string","nodeType":"ElementaryTypeName","src":"70632:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":15599,"nodeType":"ArrayTypeName","src":"70632:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"70607:49:15"},"returnParameters":{"id":15602,"nodeType":"ParameterList","parameters":[],"src":"70670:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15615,"nodeType":"FunctionDefinition","src":"70796:104:15","nodes":[],"documentation":{"id":15604,"nodeType":"StructuredDocumentation","src":"70677:114:15","text":"Asserts that two arrays of `string` values are equal and includes error message into revert string on failure."},"functionSelector":"eff6b27d","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"70805:8:15","parameters":{"id":15613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15607,"mutability":"mutable","name":"left","nameLocation":"70832:4:15","nodeType":"VariableDeclaration","scope":15615,"src":"70814:22:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":15605,"name":"string","nodeType":"ElementaryTypeName","src":"70814:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":15606,"nodeType":"ArrayTypeName","src":"70814:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":15610,"mutability":"mutable","name":"right","nameLocation":"70856:5:15","nodeType":"VariableDeclaration","scope":15615,"src":"70838:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":15608,"name":"string","nodeType":"ElementaryTypeName","src":"70838:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":15609,"nodeType":"ArrayTypeName","src":"70838:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":15612,"mutability":"mutable","name":"error","nameLocation":"70879:5:15","nodeType":"VariableDeclaration","scope":15615,"src":"70863:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15611,"name":"string","nodeType":"ElementaryTypeName","src":"70863:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70813:72:15"},"returnParameters":{"id":15614,"nodeType":"ParameterList","parameters":[],"src":"70899:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15625,"nodeType":"FunctionDefinition","src":"70967:79:15","nodes":[],"documentation":{"id":15616,"nodeType":"StructuredDocumentation","src":"70906:56:15","text":"Asserts that two arrays of `bytes` values are equal."},"functionSelector":"e5fb9b4a","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"70976:8:15","parameters":{"id":15623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15619,"mutability":"mutable","name":"left","nameLocation":"71002:4:15","nodeType":"VariableDeclaration","scope":15625,"src":"70985:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":15617,"name":"bytes","nodeType":"ElementaryTypeName","src":"70985:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":15618,"nodeType":"ArrayTypeName","src":"70985:7:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":15622,"mutability":"mutable","name":"right","nameLocation":"71025:5:15","nodeType":"VariableDeclaration","scope":15625,"src":"71008:22:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":15620,"name":"bytes","nodeType":"ElementaryTypeName","src":"71008:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":15621,"nodeType":"ArrayTypeName","src":"71008:7:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"70984:47:15"},"returnParameters":{"id":15624,"nodeType":"ParameterList","parameters":[],"src":"71045:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15637,"nodeType":"FunctionDefinition","src":"71170:102:15","nodes":[],"documentation":{"id":15626,"nodeType":"StructuredDocumentation","src":"71052:113:15","text":"Asserts that two arrays of `bytes` values are equal and includes error message into revert string on failure."},"functionSelector":"f413f0b6","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"71179:8:15","parameters":{"id":15635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15629,"mutability":"mutable","name":"left","nameLocation":"71205:4:15","nodeType":"VariableDeclaration","scope":15637,"src":"71188:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":15627,"name":"bytes","nodeType":"ElementaryTypeName","src":"71188:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":15628,"nodeType":"ArrayTypeName","src":"71188:7:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":15632,"mutability":"mutable","name":"right","nameLocation":"71228:5:15","nodeType":"VariableDeclaration","scope":15637,"src":"71211:22:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":15630,"name":"bytes","nodeType":"ElementaryTypeName","src":"71211:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":15631,"nodeType":"ArrayTypeName","src":"71211:7:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":15634,"mutability":"mutable","name":"error","nameLocation":"71251:5:15","nodeType":"VariableDeclaration","scope":15637,"src":"71235:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15633,"name":"string","nodeType":"ElementaryTypeName","src":"71235:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71187:70:15"},"returnParameters":{"id":15636,"nodeType":"ParameterList","parameters":[],"src":"71271:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15647,"nodeType":"FunctionDefinition","src":"71388:84:15","nodes":[],"documentation":{"id":15638,"nodeType":"StructuredDocumentation","src":"71278:105:15","text":"Asserts that two `uint256` values are equal and includes error message into revert string on failure."},"functionSelector":"88b44c85","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"71397:8:15","parameters":{"id":15645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15640,"mutability":"mutable","name":"left","nameLocation":"71414:4:15","nodeType":"VariableDeclaration","scope":15647,"src":"71406:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15639,"name":"uint256","nodeType":"ElementaryTypeName","src":"71406:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15642,"mutability":"mutable","name":"right","nameLocation":"71428:5:15","nodeType":"VariableDeclaration","scope":15647,"src":"71420:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15641,"name":"uint256","nodeType":"ElementaryTypeName","src":"71420:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15644,"mutability":"mutable","name":"error","nameLocation":"71451:5:15","nodeType":"VariableDeclaration","scope":15647,"src":"71435:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15643,"name":"string","nodeType":"ElementaryTypeName","src":"71435:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71405:52:15"},"returnParameters":{"id":15646,"nodeType":"ParameterList","parameters":[],"src":"71471:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15655,"nodeType":"FunctionDefinition","src":"71530:59:15","nodes":[],"documentation":{"id":15648,"nodeType":"StructuredDocumentation","src":"71478:47:15","text":"Asserts that two `int256` values are equal."},"functionSelector":"fe74f05b","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"71539:8:15","parameters":{"id":15653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15650,"mutability":"mutable","name":"left","nameLocation":"71555:4:15","nodeType":"VariableDeclaration","scope":15655,"src":"71548:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15649,"name":"int256","nodeType":"ElementaryTypeName","src":"71548:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15652,"mutability":"mutable","name":"right","nameLocation":"71568:5:15","nodeType":"VariableDeclaration","scope":15655,"src":"71561:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15651,"name":"int256","nodeType":"ElementaryTypeName","src":"71561:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"71547:27:15"},"returnParameters":{"id":15654,"nodeType":"ParameterList","parameters":[],"src":"71588:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15665,"nodeType":"FunctionDefinition","src":"71704:82:15","nodes":[],"documentation":{"id":15656,"nodeType":"StructuredDocumentation","src":"71595:104:15","text":"Asserts that two `int256` values are equal and includes error message into revert string on failure."},"functionSelector":"714a2f13","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"71713:8:15","parameters":{"id":15663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15658,"mutability":"mutable","name":"left","nameLocation":"71729:4:15","nodeType":"VariableDeclaration","scope":15665,"src":"71722:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15657,"name":"int256","nodeType":"ElementaryTypeName","src":"71722:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15660,"mutability":"mutable","name":"right","nameLocation":"71742:5:15","nodeType":"VariableDeclaration","scope":15665,"src":"71735:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15659,"name":"int256","nodeType":"ElementaryTypeName","src":"71735:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15662,"mutability":"mutable","name":"error","nameLocation":"71765:5:15","nodeType":"VariableDeclaration","scope":15665,"src":"71749:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15661,"name":"string","nodeType":"ElementaryTypeName","src":"71749:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71721:50:15"},"returnParameters":{"id":15664,"nodeType":"ParameterList","parameters":[],"src":"71785:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15673,"nodeType":"FunctionDefinition","src":"71845:61:15","nodes":[],"documentation":{"id":15666,"nodeType":"StructuredDocumentation","src":"71792:48:15","text":"Asserts that two `address` values are equal."},"functionSelector":"515361f6","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"71854:8:15","parameters":{"id":15671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15668,"mutability":"mutable","name":"left","nameLocation":"71871:4:15","nodeType":"VariableDeclaration","scope":15673,"src":"71863:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15667,"name":"address","nodeType":"ElementaryTypeName","src":"71863:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15670,"mutability":"mutable","name":"right","nameLocation":"71885:5:15","nodeType":"VariableDeclaration","scope":15673,"src":"71877:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15669,"name":"address","nodeType":"ElementaryTypeName","src":"71877:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"71862:29:15"},"returnParameters":{"id":15672,"nodeType":"ParameterList","parameters":[],"src":"71905:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15683,"nodeType":"FunctionDefinition","src":"72022:84:15","nodes":[],"documentation":{"id":15674,"nodeType":"StructuredDocumentation","src":"71912:105:15","text":"Asserts that two `address` values are equal and includes error message into revert string on failure."},"functionSelector":"2f2769d1","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"72031:8:15","parameters":{"id":15681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15676,"mutability":"mutable","name":"left","nameLocation":"72048:4:15","nodeType":"VariableDeclaration","scope":15683,"src":"72040:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15675,"name":"address","nodeType":"ElementaryTypeName","src":"72040:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15678,"mutability":"mutable","name":"right","nameLocation":"72062:5:15","nodeType":"VariableDeclaration","scope":15683,"src":"72054:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15677,"name":"address","nodeType":"ElementaryTypeName","src":"72054:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15680,"mutability":"mutable","name":"error","nameLocation":"72085:5:15","nodeType":"VariableDeclaration","scope":15683,"src":"72069:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15679,"name":"string","nodeType":"ElementaryTypeName","src":"72069:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"72039:52:15"},"returnParameters":{"id":15682,"nodeType":"ParameterList","parameters":[],"src":"72105:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15691,"nodeType":"FunctionDefinition","src":"72165:61:15","nodes":[],"documentation":{"id":15684,"nodeType":"StructuredDocumentation","src":"72112:48:15","text":"Asserts that two `bytes32` values are equal."},"functionSelector":"7c84c69b","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"72174:8:15","parameters":{"id":15689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15686,"mutability":"mutable","name":"left","nameLocation":"72191:4:15","nodeType":"VariableDeclaration","scope":15691,"src":"72183:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15685,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72183:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":15688,"mutability":"mutable","name":"right","nameLocation":"72205:5:15","nodeType":"VariableDeclaration","scope":15691,"src":"72197:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15687,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72197:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"72182:29:15"},"returnParameters":{"id":15690,"nodeType":"ParameterList","parameters":[],"src":"72225:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15701,"nodeType":"FunctionDefinition","src":"72342:84:15","nodes":[],"documentation":{"id":15692,"nodeType":"StructuredDocumentation","src":"72232:105:15","text":"Asserts that two `bytes32` values are equal and includes error message into revert string on failure."},"functionSelector":"c1fa1ed0","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"72351:8:15","parameters":{"id":15699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15694,"mutability":"mutable","name":"left","nameLocation":"72368:4:15","nodeType":"VariableDeclaration","scope":15701,"src":"72360:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15693,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72360:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":15696,"mutability":"mutable","name":"right","nameLocation":"72382:5:15","nodeType":"VariableDeclaration","scope":15701,"src":"72374:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15695,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72374:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":15698,"mutability":"mutable","name":"error","nameLocation":"72405:5:15","nodeType":"VariableDeclaration","scope":15701,"src":"72389:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15697,"name":"string","nodeType":"ElementaryTypeName","src":"72389:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"72359:52:15"},"returnParameters":{"id":15700,"nodeType":"ParameterList","parameters":[],"src":"72425:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15707,"nodeType":"FunctionDefinition","src":"72483:51:15","nodes":[],"documentation":{"id":15702,"nodeType":"StructuredDocumentation","src":"72432:46:15","text":"Asserts that the given condition is false."},"functionSelector":"a5982885","implemented":false,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"72492:11:15","parameters":{"id":15705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15704,"mutability":"mutable","name":"condition","nameLocation":"72509:9:15","nodeType":"VariableDeclaration","scope":15707,"src":"72504:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15703,"name":"bool","nodeType":"ElementaryTypeName","src":"72504:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"72503:16:15"},"returnParameters":{"id":15706,"nodeType":"ParameterList","parameters":[],"src":"72533:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15715,"nodeType":"FunctionDefinition","src":"72648:74:15","nodes":[],"documentation":{"id":15708,"nodeType":"StructuredDocumentation","src":"72540:103:15","text":"Asserts that the given condition is false and includes error message into revert string on failure."},"functionSelector":"7ba04809","implemented":false,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"72657:11:15","parameters":{"id":15713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15710,"mutability":"mutable","name":"condition","nameLocation":"72674:9:15","nodeType":"VariableDeclaration","scope":15715,"src":"72669:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15709,"name":"bool","nodeType":"ElementaryTypeName","src":"72669:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15712,"mutability":"mutable","name":"error","nameLocation":"72701:5:15","nodeType":"VariableDeclaration","scope":15715,"src":"72685:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15711,"name":"string","nodeType":"ElementaryTypeName","src":"72685:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"72668:39:15"},"returnParameters":{"id":15714,"nodeType":"ParameterList","parameters":[],"src":"72721:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15725,"nodeType":"FunctionDefinition","src":"72883:86:15","nodes":[],"documentation":{"id":15716,"nodeType":"StructuredDocumentation","src":"72728:150:15","text":"Compares two `uint256` values. Expects first value to be greater than or equal to second.\n Formats values with decimals in failure message."},"functionSelector":"3d1fe08a","implemented":false,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"72892:15:15","parameters":{"id":15723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15718,"mutability":"mutable","name":"left","nameLocation":"72916:4:15","nodeType":"VariableDeclaration","scope":15725,"src":"72908:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15717,"name":"uint256","nodeType":"ElementaryTypeName","src":"72908:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15720,"mutability":"mutable","name":"right","nameLocation":"72930:5:15","nodeType":"VariableDeclaration","scope":15725,"src":"72922:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15719,"name":"uint256","nodeType":"ElementaryTypeName","src":"72922:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15722,"mutability":"mutable","name":"decimals","nameLocation":"72945:8:15","nodeType":"VariableDeclaration","scope":15725,"src":"72937:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15721,"name":"uint256","nodeType":"ElementaryTypeName","src":"72937:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"72907:47:15"},"returnParameters":{"id":15724,"nodeType":"ParameterList","parameters":[],"src":"72968:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15737,"nodeType":"FunctionDefinition","src":"73184:109:15","nodes":[],"documentation":{"id":15726,"nodeType":"StructuredDocumentation","src":"72975:204:15","text":"Compares two `uint256` values. Expects first value to be greater than or equal to second.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"8bff9133","implemented":false,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"73193:15:15","parameters":{"id":15735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15728,"mutability":"mutable","name":"left","nameLocation":"73217:4:15","nodeType":"VariableDeclaration","scope":15737,"src":"73209:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15727,"name":"uint256","nodeType":"ElementaryTypeName","src":"73209:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15730,"mutability":"mutable","name":"right","nameLocation":"73231:5:15","nodeType":"VariableDeclaration","scope":15737,"src":"73223:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15729,"name":"uint256","nodeType":"ElementaryTypeName","src":"73223:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15732,"mutability":"mutable","name":"decimals","nameLocation":"73246:8:15","nodeType":"VariableDeclaration","scope":15737,"src":"73238:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15731,"name":"uint256","nodeType":"ElementaryTypeName","src":"73238:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15734,"mutability":"mutable","name":"error","nameLocation":"73272:5:15","nodeType":"VariableDeclaration","scope":15737,"src":"73256:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15733,"name":"string","nodeType":"ElementaryTypeName","src":"73256:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"73208:70:15"},"returnParameters":{"id":15736,"nodeType":"ParameterList","parameters":[],"src":"73292:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15747,"nodeType":"FunctionDefinition","src":"73453:84:15","nodes":[],"documentation":{"id":15738,"nodeType":"StructuredDocumentation","src":"73299:149:15","text":"Compares two `int256` values. Expects first value to be greater than or equal to second.\n Formats values with decimals in failure message."},"functionSelector":"dc28c0f1","implemented":false,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"73462:15:15","parameters":{"id":15745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15740,"mutability":"mutable","name":"left","nameLocation":"73485:4:15","nodeType":"VariableDeclaration","scope":15747,"src":"73478:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15739,"name":"int256","nodeType":"ElementaryTypeName","src":"73478:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15742,"mutability":"mutable","name":"right","nameLocation":"73498:5:15","nodeType":"VariableDeclaration","scope":15747,"src":"73491:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15741,"name":"int256","nodeType":"ElementaryTypeName","src":"73491:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15744,"mutability":"mutable","name":"decimals","nameLocation":"73513:8:15","nodeType":"VariableDeclaration","scope":15747,"src":"73505:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15743,"name":"uint256","nodeType":"ElementaryTypeName","src":"73505:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"73477:45:15"},"returnParameters":{"id":15746,"nodeType":"ParameterList","parameters":[],"src":"73536:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15759,"nodeType":"FunctionDefinition","src":"73751:107:15","nodes":[],"documentation":{"id":15748,"nodeType":"StructuredDocumentation","src":"73543:203:15","text":"Compares two `int256` values. Expects first value to be greater than or equal to second.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"5df93c9b","implemented":false,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"73760:15:15","parameters":{"id":15757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15750,"mutability":"mutable","name":"left","nameLocation":"73783:4:15","nodeType":"VariableDeclaration","scope":15759,"src":"73776:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15749,"name":"int256","nodeType":"ElementaryTypeName","src":"73776:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15752,"mutability":"mutable","name":"right","nameLocation":"73796:5:15","nodeType":"VariableDeclaration","scope":15759,"src":"73789:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15751,"name":"int256","nodeType":"ElementaryTypeName","src":"73789:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15754,"mutability":"mutable","name":"decimals","nameLocation":"73811:8:15","nodeType":"VariableDeclaration","scope":15759,"src":"73803:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15753,"name":"uint256","nodeType":"ElementaryTypeName","src":"73803:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15756,"mutability":"mutable","name":"error","nameLocation":"73837:5:15","nodeType":"VariableDeclaration","scope":15759,"src":"73821:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15755,"name":"string","nodeType":"ElementaryTypeName","src":"73821:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"73775:68:15"},"returnParameters":{"id":15758,"nodeType":"ParameterList","parameters":[],"src":"73857:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15767,"nodeType":"FunctionDefinition","src":"73962:61:15","nodes":[],"documentation":{"id":15760,"nodeType":"StructuredDocumentation","src":"73864:93:15","text":"Compares two `uint256` values. Expects first value to be greater than or equal to second."},"functionSelector":"a8d4d1d9","implemented":false,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"73971:8:15","parameters":{"id":15765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15762,"mutability":"mutable","name":"left","nameLocation":"73988:4:15","nodeType":"VariableDeclaration","scope":15767,"src":"73980:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15761,"name":"uint256","nodeType":"ElementaryTypeName","src":"73980:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15764,"mutability":"mutable","name":"right","nameLocation":"74002:5:15","nodeType":"VariableDeclaration","scope":15767,"src":"73994:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15763,"name":"uint256","nodeType":"ElementaryTypeName","src":"73994:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"73979:29:15"},"returnParameters":{"id":15766,"nodeType":"ParameterList","parameters":[],"src":"74022:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15777,"nodeType":"FunctionDefinition","src":"74189:84:15","nodes":[],"documentation":{"id":15768,"nodeType":"StructuredDocumentation","src":"74029:155:15","text":"Compares two `uint256` values. Expects first value to be greater than or equal to second.\n Includes error message into revert string on failure."},"functionSelector":"e25242c0","implemented":false,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"74198:8:15","parameters":{"id":15775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15770,"mutability":"mutable","name":"left","nameLocation":"74215:4:15","nodeType":"VariableDeclaration","scope":15777,"src":"74207:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15769,"name":"uint256","nodeType":"ElementaryTypeName","src":"74207:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15772,"mutability":"mutable","name":"right","nameLocation":"74229:5:15","nodeType":"VariableDeclaration","scope":15777,"src":"74221:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15771,"name":"uint256","nodeType":"ElementaryTypeName","src":"74221:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15774,"mutability":"mutable","name":"error","nameLocation":"74252:5:15","nodeType":"VariableDeclaration","scope":15777,"src":"74236:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15773,"name":"string","nodeType":"ElementaryTypeName","src":"74236:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"74206:52:15"},"returnParameters":{"id":15776,"nodeType":"ParameterList","parameters":[],"src":"74272:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15785,"nodeType":"FunctionDefinition","src":"74376:59:15","nodes":[],"documentation":{"id":15778,"nodeType":"StructuredDocumentation","src":"74279:92:15","text":"Compares two `int256` values. Expects first value to be greater than or equal to second."},"functionSelector":"0a30b771","implemented":false,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"74385:8:15","parameters":{"id":15783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15780,"mutability":"mutable","name":"left","nameLocation":"74401:4:15","nodeType":"VariableDeclaration","scope":15785,"src":"74394:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15779,"name":"int256","nodeType":"ElementaryTypeName","src":"74394:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15782,"mutability":"mutable","name":"right","nameLocation":"74414:5:15","nodeType":"VariableDeclaration","scope":15785,"src":"74407:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15781,"name":"int256","nodeType":"ElementaryTypeName","src":"74407:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"74393:27:15"},"returnParameters":{"id":15784,"nodeType":"ParameterList","parameters":[],"src":"74434:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15795,"nodeType":"FunctionDefinition","src":"74600:82:15","nodes":[],"documentation":{"id":15786,"nodeType":"StructuredDocumentation","src":"74441:154:15","text":"Compares two `int256` values. Expects first value to be greater than or equal to second.\n Includes error message into revert string on failure."},"functionSelector":"a84328dd","implemented":false,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"74609:8:15","parameters":{"id":15793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15788,"mutability":"mutable","name":"left","nameLocation":"74625:4:15","nodeType":"VariableDeclaration","scope":15795,"src":"74618:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15787,"name":"int256","nodeType":"ElementaryTypeName","src":"74618:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15790,"mutability":"mutable","name":"right","nameLocation":"74638:5:15","nodeType":"VariableDeclaration","scope":15795,"src":"74631:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15789,"name":"int256","nodeType":"ElementaryTypeName","src":"74631:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15792,"mutability":"mutable","name":"error","nameLocation":"74661:5:15","nodeType":"VariableDeclaration","scope":15795,"src":"74645:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15791,"name":"string","nodeType":"ElementaryTypeName","src":"74645:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"74617:50:15"},"returnParameters":{"id":15794,"nodeType":"ParameterList","parameters":[],"src":"74681:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15805,"nodeType":"FunctionDefinition","src":"74831:86:15","nodes":[],"documentation":{"id":15796,"nodeType":"StructuredDocumentation","src":"74688:138:15","text":"Compares two `uint256` values. Expects first value to be greater than second.\n Formats values with decimals in failure message."},"functionSelector":"eccd2437","implemented":false,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"74840:15:15","parameters":{"id":15803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15798,"mutability":"mutable","name":"left","nameLocation":"74864:4:15","nodeType":"VariableDeclaration","scope":15805,"src":"74856:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15797,"name":"uint256","nodeType":"ElementaryTypeName","src":"74856:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15800,"mutability":"mutable","name":"right","nameLocation":"74878:5:15","nodeType":"VariableDeclaration","scope":15805,"src":"74870:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15799,"name":"uint256","nodeType":"ElementaryTypeName","src":"74870:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15802,"mutability":"mutable","name":"decimals","nameLocation":"74893:8:15","nodeType":"VariableDeclaration","scope":15805,"src":"74885:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15801,"name":"uint256","nodeType":"ElementaryTypeName","src":"74885:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"74855:47:15"},"returnParameters":{"id":15804,"nodeType":"ParameterList","parameters":[],"src":"74916:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15817,"nodeType":"FunctionDefinition","src":"75120:109:15","nodes":[],"documentation":{"id":15806,"nodeType":"StructuredDocumentation","src":"74923:192:15","text":"Compares two `uint256` values. Expects first value to be greater than second.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"64949a8d","implemented":false,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"75129:15:15","parameters":{"id":15815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15808,"mutability":"mutable","name":"left","nameLocation":"75153:4:15","nodeType":"VariableDeclaration","scope":15817,"src":"75145:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15807,"name":"uint256","nodeType":"ElementaryTypeName","src":"75145:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15810,"mutability":"mutable","name":"right","nameLocation":"75167:5:15","nodeType":"VariableDeclaration","scope":15817,"src":"75159:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15809,"name":"uint256","nodeType":"ElementaryTypeName","src":"75159:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15812,"mutability":"mutable","name":"decimals","nameLocation":"75182:8:15","nodeType":"VariableDeclaration","scope":15817,"src":"75174:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15811,"name":"uint256","nodeType":"ElementaryTypeName","src":"75174:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15814,"mutability":"mutable","name":"error","nameLocation":"75208:5:15","nodeType":"VariableDeclaration","scope":15817,"src":"75192:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15813,"name":"string","nodeType":"ElementaryTypeName","src":"75192:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"75144:70:15"},"returnParameters":{"id":15816,"nodeType":"ParameterList","parameters":[],"src":"75228:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15827,"nodeType":"FunctionDefinition","src":"75377:84:15","nodes":[],"documentation":{"id":15818,"nodeType":"StructuredDocumentation","src":"75235:137:15","text":"Compares two `int256` values. Expects first value to be greater than second.\n Formats values with decimals in failure message."},"functionSelector":"78611f0e","implemented":false,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"75386:15:15","parameters":{"id":15825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15820,"mutability":"mutable","name":"left","nameLocation":"75409:4:15","nodeType":"VariableDeclaration","scope":15827,"src":"75402:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15819,"name":"int256","nodeType":"ElementaryTypeName","src":"75402:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15822,"mutability":"mutable","name":"right","nameLocation":"75422:5:15","nodeType":"VariableDeclaration","scope":15827,"src":"75415:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15821,"name":"int256","nodeType":"ElementaryTypeName","src":"75415:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15824,"mutability":"mutable","name":"decimals","nameLocation":"75437:8:15","nodeType":"VariableDeclaration","scope":15827,"src":"75429:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15823,"name":"uint256","nodeType":"ElementaryTypeName","src":"75429:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"75401:45:15"},"returnParameters":{"id":15826,"nodeType":"ParameterList","parameters":[],"src":"75460:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15839,"nodeType":"FunctionDefinition","src":"75663:107:15","nodes":[],"documentation":{"id":15828,"nodeType":"StructuredDocumentation","src":"75467:191:15","text":"Compares two `int256` values. Expects first value to be greater than second.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"04a5c7ab","implemented":false,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"75672:15:15","parameters":{"id":15837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15830,"mutability":"mutable","name":"left","nameLocation":"75695:4:15","nodeType":"VariableDeclaration","scope":15839,"src":"75688:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15829,"name":"int256","nodeType":"ElementaryTypeName","src":"75688:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15832,"mutability":"mutable","name":"right","nameLocation":"75708:5:15","nodeType":"VariableDeclaration","scope":15839,"src":"75701:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15831,"name":"int256","nodeType":"ElementaryTypeName","src":"75701:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15834,"mutability":"mutable","name":"decimals","nameLocation":"75723:8:15","nodeType":"VariableDeclaration","scope":15839,"src":"75715:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15833,"name":"uint256","nodeType":"ElementaryTypeName","src":"75715:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15836,"mutability":"mutable","name":"error","nameLocation":"75749:5:15","nodeType":"VariableDeclaration","scope":15839,"src":"75733:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15835,"name":"string","nodeType":"ElementaryTypeName","src":"75733:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"75687:68:15"},"returnParameters":{"id":15838,"nodeType":"ParameterList","parameters":[],"src":"75769:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15847,"nodeType":"FunctionDefinition","src":"75862:61:15","nodes":[],"documentation":{"id":15840,"nodeType":"StructuredDocumentation","src":"75776:81:15","text":"Compares two `uint256` values. Expects first value to be greater than second."},"functionSelector":"db07fcd2","implemented":false,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"75871:8:15","parameters":{"id":15845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15842,"mutability":"mutable","name":"left","nameLocation":"75888:4:15","nodeType":"VariableDeclaration","scope":15847,"src":"75880:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15841,"name":"uint256","nodeType":"ElementaryTypeName","src":"75880:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15844,"mutability":"mutable","name":"right","nameLocation":"75902:5:15","nodeType":"VariableDeclaration","scope":15847,"src":"75894:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15843,"name":"uint256","nodeType":"ElementaryTypeName","src":"75894:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"75879:29:15"},"returnParameters":{"id":15846,"nodeType":"ParameterList","parameters":[],"src":"75922:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15857,"nodeType":"FunctionDefinition","src":"76077:84:15","nodes":[],"documentation":{"id":15848,"nodeType":"StructuredDocumentation","src":"75929:143:15","text":"Compares two `uint256` values. Expects first value to be greater than second.\n Includes error message into revert string on failure."},"functionSelector":"d9a3c4d2","implemented":false,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"76086:8:15","parameters":{"id":15855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15850,"mutability":"mutable","name":"left","nameLocation":"76103:4:15","nodeType":"VariableDeclaration","scope":15857,"src":"76095:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15849,"name":"uint256","nodeType":"ElementaryTypeName","src":"76095:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15852,"mutability":"mutable","name":"right","nameLocation":"76117:5:15","nodeType":"VariableDeclaration","scope":15857,"src":"76109:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15851,"name":"uint256","nodeType":"ElementaryTypeName","src":"76109:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15854,"mutability":"mutable","name":"error","nameLocation":"76140:5:15","nodeType":"VariableDeclaration","scope":15857,"src":"76124:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15853,"name":"string","nodeType":"ElementaryTypeName","src":"76124:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"76094:52:15"},"returnParameters":{"id":15856,"nodeType":"ParameterList","parameters":[],"src":"76160:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15865,"nodeType":"FunctionDefinition","src":"76252:59:15","nodes":[],"documentation":{"id":15858,"nodeType":"StructuredDocumentation","src":"76167:80:15","text":"Compares two `int256` values. Expects first value to be greater than second."},"functionSelector":"5a362d45","implemented":false,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"76261:8:15","parameters":{"id":15863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15860,"mutability":"mutable","name":"left","nameLocation":"76277:4:15","nodeType":"VariableDeclaration","scope":15865,"src":"76270:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15859,"name":"int256","nodeType":"ElementaryTypeName","src":"76270:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15862,"mutability":"mutable","name":"right","nameLocation":"76290:5:15","nodeType":"VariableDeclaration","scope":15865,"src":"76283:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15861,"name":"int256","nodeType":"ElementaryTypeName","src":"76283:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"76269:27:15"},"returnParameters":{"id":15864,"nodeType":"ParameterList","parameters":[],"src":"76310:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15875,"nodeType":"FunctionDefinition","src":"76464:82:15","nodes":[],"documentation":{"id":15866,"nodeType":"StructuredDocumentation","src":"76317:142:15","text":"Compares two `int256` values. Expects first value to be greater than second.\n Includes error message into revert string on failure."},"functionSelector":"f8d33b9b","implemented":false,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"76473:8:15","parameters":{"id":15873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15868,"mutability":"mutable","name":"left","nameLocation":"76489:4:15","nodeType":"VariableDeclaration","scope":15875,"src":"76482:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15867,"name":"int256","nodeType":"ElementaryTypeName","src":"76482:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15870,"mutability":"mutable","name":"right","nameLocation":"76502:5:15","nodeType":"VariableDeclaration","scope":15875,"src":"76495:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15869,"name":"int256","nodeType":"ElementaryTypeName","src":"76495:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15872,"mutability":"mutable","name":"error","nameLocation":"76525:5:15","nodeType":"VariableDeclaration","scope":15875,"src":"76509:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15871,"name":"string","nodeType":"ElementaryTypeName","src":"76509:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"76481:50:15"},"returnParameters":{"id":15874,"nodeType":"ParameterList","parameters":[],"src":"76545:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15885,"nodeType":"FunctionDefinition","src":"76704:86:15","nodes":[],"documentation":{"id":15876,"nodeType":"StructuredDocumentation","src":"76552:147:15","text":"Compares two `uint256` values. Expects first value to be less than or equal to second.\n Formats values with decimals in failure message."},"functionSelector":"c304aab7","implemented":false,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"76713:15:15","parameters":{"id":15883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15878,"mutability":"mutable","name":"left","nameLocation":"76737:4:15","nodeType":"VariableDeclaration","scope":15885,"src":"76729:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15877,"name":"uint256","nodeType":"ElementaryTypeName","src":"76729:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15880,"mutability":"mutable","name":"right","nameLocation":"76751:5:15","nodeType":"VariableDeclaration","scope":15885,"src":"76743:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15879,"name":"uint256","nodeType":"ElementaryTypeName","src":"76743:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15882,"mutability":"mutable","name":"decimals","nameLocation":"76766:8:15","nodeType":"VariableDeclaration","scope":15885,"src":"76758:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15881,"name":"uint256","nodeType":"ElementaryTypeName","src":"76758:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"76728:47:15"},"returnParameters":{"id":15884,"nodeType":"ParameterList","parameters":[],"src":"76789:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15897,"nodeType":"FunctionDefinition","src":"77002:109:15","nodes":[],"documentation":{"id":15886,"nodeType":"StructuredDocumentation","src":"76796:201:15","text":"Compares two `uint256` values. Expects first value to be less than or equal to second.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"7fefbbe0","implemented":false,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"77011:15:15","parameters":{"id":15895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15888,"mutability":"mutable","name":"left","nameLocation":"77035:4:15","nodeType":"VariableDeclaration","scope":15897,"src":"77027:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15887,"name":"uint256","nodeType":"ElementaryTypeName","src":"77027:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15890,"mutability":"mutable","name":"right","nameLocation":"77049:5:15","nodeType":"VariableDeclaration","scope":15897,"src":"77041:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15889,"name":"uint256","nodeType":"ElementaryTypeName","src":"77041:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15892,"mutability":"mutable","name":"decimals","nameLocation":"77064:8:15","nodeType":"VariableDeclaration","scope":15897,"src":"77056:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15891,"name":"uint256","nodeType":"ElementaryTypeName","src":"77056:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15894,"mutability":"mutable","name":"error","nameLocation":"77090:5:15","nodeType":"VariableDeclaration","scope":15897,"src":"77074:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15893,"name":"string","nodeType":"ElementaryTypeName","src":"77074:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"77026:70:15"},"returnParameters":{"id":15896,"nodeType":"ParameterList","parameters":[],"src":"77110:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15907,"nodeType":"FunctionDefinition","src":"77268:84:15","nodes":[],"documentation":{"id":15898,"nodeType":"StructuredDocumentation","src":"77117:146:15","text":"Compares two `int256` values. Expects first value to be less than or equal to second.\n Formats values with decimals in failure message."},"functionSelector":"11d1364a","implemented":false,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"77277:15:15","parameters":{"id":15905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15900,"mutability":"mutable","name":"left","nameLocation":"77300:4:15","nodeType":"VariableDeclaration","scope":15907,"src":"77293:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15899,"name":"int256","nodeType":"ElementaryTypeName","src":"77293:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15902,"mutability":"mutable","name":"right","nameLocation":"77313:5:15","nodeType":"VariableDeclaration","scope":15907,"src":"77306:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15901,"name":"int256","nodeType":"ElementaryTypeName","src":"77306:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15904,"mutability":"mutable","name":"decimals","nameLocation":"77328:8:15","nodeType":"VariableDeclaration","scope":15907,"src":"77320:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15903,"name":"uint256","nodeType":"ElementaryTypeName","src":"77320:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"77292:45:15"},"returnParameters":{"id":15906,"nodeType":"ParameterList","parameters":[],"src":"77351:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15919,"nodeType":"FunctionDefinition","src":"77563:107:15","nodes":[],"documentation":{"id":15908,"nodeType":"StructuredDocumentation","src":"77358:200:15","text":"Compares two `int256` values. Expects first value to be less than or equal to second.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"aa5cf788","implemented":false,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"77572:15:15","parameters":{"id":15917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15910,"mutability":"mutable","name":"left","nameLocation":"77595:4:15","nodeType":"VariableDeclaration","scope":15919,"src":"77588:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15909,"name":"int256","nodeType":"ElementaryTypeName","src":"77588:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15912,"mutability":"mutable","name":"right","nameLocation":"77608:5:15","nodeType":"VariableDeclaration","scope":15919,"src":"77601:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15911,"name":"int256","nodeType":"ElementaryTypeName","src":"77601:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15914,"mutability":"mutable","name":"decimals","nameLocation":"77623:8:15","nodeType":"VariableDeclaration","scope":15919,"src":"77615:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15913,"name":"uint256","nodeType":"ElementaryTypeName","src":"77615:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15916,"mutability":"mutable","name":"error","nameLocation":"77649:5:15","nodeType":"VariableDeclaration","scope":15919,"src":"77633:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15915,"name":"string","nodeType":"ElementaryTypeName","src":"77633:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"77587:68:15"},"returnParameters":{"id":15918,"nodeType":"ParameterList","parameters":[],"src":"77669:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15927,"nodeType":"FunctionDefinition","src":"77771:61:15","nodes":[],"documentation":{"id":15920,"nodeType":"StructuredDocumentation","src":"77676:90:15","text":"Compares two `uint256` values. Expects first value to be less than or equal to second."},"functionSelector":"8466f415","implemented":false,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"77780:8:15","parameters":{"id":15925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15922,"mutability":"mutable","name":"left","nameLocation":"77797:4:15","nodeType":"VariableDeclaration","scope":15927,"src":"77789:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15921,"name":"uint256","nodeType":"ElementaryTypeName","src":"77789:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15924,"mutability":"mutable","name":"right","nameLocation":"77811:5:15","nodeType":"VariableDeclaration","scope":15927,"src":"77803:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15923,"name":"uint256","nodeType":"ElementaryTypeName","src":"77803:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"77788:29:15"},"returnParameters":{"id":15926,"nodeType":"ParameterList","parameters":[],"src":"77831:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15937,"nodeType":"FunctionDefinition","src":"77995:84:15","nodes":[],"documentation":{"id":15928,"nodeType":"StructuredDocumentation","src":"77838:152:15","text":"Compares two `uint256` values. Expects first value to be less than or equal to second.\n Includes error message into revert string on failure."},"functionSelector":"d17d4b0d","implemented":false,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"78004:8:15","parameters":{"id":15935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15930,"mutability":"mutable","name":"left","nameLocation":"78021:4:15","nodeType":"VariableDeclaration","scope":15937,"src":"78013:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15929,"name":"uint256","nodeType":"ElementaryTypeName","src":"78013:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15932,"mutability":"mutable","name":"right","nameLocation":"78035:5:15","nodeType":"VariableDeclaration","scope":15937,"src":"78027:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15931,"name":"uint256","nodeType":"ElementaryTypeName","src":"78027:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15934,"mutability":"mutable","name":"error","nameLocation":"78058:5:15","nodeType":"VariableDeclaration","scope":15937,"src":"78042:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15933,"name":"string","nodeType":"ElementaryTypeName","src":"78042:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"78012:52:15"},"returnParameters":{"id":15936,"nodeType":"ParameterList","parameters":[],"src":"78078:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15945,"nodeType":"FunctionDefinition","src":"78179:59:15","nodes":[],"documentation":{"id":15938,"nodeType":"StructuredDocumentation","src":"78085:89:15","text":"Compares two `int256` values. Expects first value to be less than or equal to second."},"functionSelector":"95fd154e","implemented":false,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"78188:8:15","parameters":{"id":15943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15940,"mutability":"mutable","name":"left","nameLocation":"78204:4:15","nodeType":"VariableDeclaration","scope":15945,"src":"78197:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15939,"name":"int256","nodeType":"ElementaryTypeName","src":"78197:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15942,"mutability":"mutable","name":"right","nameLocation":"78217:5:15","nodeType":"VariableDeclaration","scope":15945,"src":"78210:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15941,"name":"int256","nodeType":"ElementaryTypeName","src":"78210:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"78196:27:15"},"returnParameters":{"id":15944,"nodeType":"ParameterList","parameters":[],"src":"78237:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15955,"nodeType":"FunctionDefinition","src":"78400:82:15","nodes":[],"documentation":{"id":15946,"nodeType":"StructuredDocumentation","src":"78244:151:15","text":"Compares two `int256` values. Expects first value to be less than or equal to second.\n Includes error message into revert string on failure."},"functionSelector":"4dfe692c","implemented":false,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"78409:8:15","parameters":{"id":15953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15948,"mutability":"mutable","name":"left","nameLocation":"78425:4:15","nodeType":"VariableDeclaration","scope":15955,"src":"78418:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15947,"name":"int256","nodeType":"ElementaryTypeName","src":"78418:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15950,"mutability":"mutable","name":"right","nameLocation":"78438:5:15","nodeType":"VariableDeclaration","scope":15955,"src":"78431:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15949,"name":"int256","nodeType":"ElementaryTypeName","src":"78431:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15952,"mutability":"mutable","name":"error","nameLocation":"78461:5:15","nodeType":"VariableDeclaration","scope":15955,"src":"78445:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15951,"name":"string","nodeType":"ElementaryTypeName","src":"78445:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"78417:50:15"},"returnParameters":{"id":15954,"nodeType":"ParameterList","parameters":[],"src":"78481:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15965,"nodeType":"FunctionDefinition","src":"78628:86:15","nodes":[],"documentation":{"id":15956,"nodeType":"StructuredDocumentation","src":"78488:135:15","text":"Compares two `uint256` values. Expects first value to be less than second.\n Formats values with decimals in failure message."},"functionSelector":"2077337e","implemented":false,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"78637:15:15","parameters":{"id":15963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15958,"mutability":"mutable","name":"left","nameLocation":"78661:4:15","nodeType":"VariableDeclaration","scope":15965,"src":"78653:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15957,"name":"uint256","nodeType":"ElementaryTypeName","src":"78653:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15960,"mutability":"mutable","name":"right","nameLocation":"78675:5:15","nodeType":"VariableDeclaration","scope":15965,"src":"78667:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15959,"name":"uint256","nodeType":"ElementaryTypeName","src":"78667:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15962,"mutability":"mutable","name":"decimals","nameLocation":"78690:8:15","nodeType":"VariableDeclaration","scope":15965,"src":"78682:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15961,"name":"uint256","nodeType":"ElementaryTypeName","src":"78682:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"78652:47:15"},"returnParameters":{"id":15964,"nodeType":"ParameterList","parameters":[],"src":"78713:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15977,"nodeType":"FunctionDefinition","src":"78914:109:15","nodes":[],"documentation":{"id":15966,"nodeType":"StructuredDocumentation","src":"78720:189:15","text":"Compares two `uint256` values. Expects first value to be less than second.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"a972d037","implemented":false,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"78923:15:15","parameters":{"id":15975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15968,"mutability":"mutable","name":"left","nameLocation":"78947:4:15","nodeType":"VariableDeclaration","scope":15977,"src":"78939:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15967,"name":"uint256","nodeType":"ElementaryTypeName","src":"78939:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15970,"mutability":"mutable","name":"right","nameLocation":"78961:5:15","nodeType":"VariableDeclaration","scope":15977,"src":"78953:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15969,"name":"uint256","nodeType":"ElementaryTypeName","src":"78953:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15972,"mutability":"mutable","name":"decimals","nameLocation":"78976:8:15","nodeType":"VariableDeclaration","scope":15977,"src":"78968:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15971,"name":"uint256","nodeType":"ElementaryTypeName","src":"78968:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15974,"mutability":"mutable","name":"error","nameLocation":"79002:5:15","nodeType":"VariableDeclaration","scope":15977,"src":"78986:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15973,"name":"string","nodeType":"ElementaryTypeName","src":"78986:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"78938:70:15"},"returnParameters":{"id":15976,"nodeType":"ParameterList","parameters":[],"src":"79022:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15987,"nodeType":"FunctionDefinition","src":"79168:84:15","nodes":[],"documentation":{"id":15978,"nodeType":"StructuredDocumentation","src":"79029:134:15","text":"Compares two `int256` values. Expects first value to be less than second.\n Formats values with decimals in failure message."},"functionSelector":"dbe8d88b","implemented":false,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"79177:15:15","parameters":{"id":15985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15980,"mutability":"mutable","name":"left","nameLocation":"79200:4:15","nodeType":"VariableDeclaration","scope":15987,"src":"79193:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15979,"name":"int256","nodeType":"ElementaryTypeName","src":"79193:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15982,"mutability":"mutable","name":"right","nameLocation":"79213:5:15","nodeType":"VariableDeclaration","scope":15987,"src":"79206:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15981,"name":"int256","nodeType":"ElementaryTypeName","src":"79206:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15984,"mutability":"mutable","name":"decimals","nameLocation":"79228:8:15","nodeType":"VariableDeclaration","scope":15987,"src":"79220:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15983,"name":"uint256","nodeType":"ElementaryTypeName","src":"79220:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"79192:45:15"},"returnParameters":{"id":15986,"nodeType":"ParameterList","parameters":[],"src":"79251:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15999,"nodeType":"FunctionDefinition","src":"79451:107:15","nodes":[],"documentation":{"id":15988,"nodeType":"StructuredDocumentation","src":"79258:188:15","text":"Compares two `int256` values. Expects first value to be less than second.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"40f0b4e0","implemented":false,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"79460:15:15","parameters":{"id":15997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15990,"mutability":"mutable","name":"left","nameLocation":"79483:4:15","nodeType":"VariableDeclaration","scope":15999,"src":"79476:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15989,"name":"int256","nodeType":"ElementaryTypeName","src":"79476:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15992,"mutability":"mutable","name":"right","nameLocation":"79496:5:15","nodeType":"VariableDeclaration","scope":15999,"src":"79489:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15991,"name":"int256","nodeType":"ElementaryTypeName","src":"79489:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15994,"mutability":"mutable","name":"decimals","nameLocation":"79511:8:15","nodeType":"VariableDeclaration","scope":15999,"src":"79503:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15993,"name":"uint256","nodeType":"ElementaryTypeName","src":"79503:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15996,"mutability":"mutable","name":"error","nameLocation":"79537:5:15","nodeType":"VariableDeclaration","scope":15999,"src":"79521:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15995,"name":"string","nodeType":"ElementaryTypeName","src":"79521:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"79475:68:15"},"returnParameters":{"id":15998,"nodeType":"ParameterList","parameters":[],"src":"79557:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16007,"nodeType":"FunctionDefinition","src":"79647:61:15","nodes":[],"documentation":{"id":16000,"nodeType":"StructuredDocumentation","src":"79564:78:15","text":"Compares two `uint256` values. Expects first value to be less than second."},"functionSelector":"b12fc005","implemented":false,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"79656:8:15","parameters":{"id":16005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16002,"mutability":"mutable","name":"left","nameLocation":"79673:4:15","nodeType":"VariableDeclaration","scope":16007,"src":"79665:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16001,"name":"uint256","nodeType":"ElementaryTypeName","src":"79665:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16004,"mutability":"mutable","name":"right","nameLocation":"79687:5:15","nodeType":"VariableDeclaration","scope":16007,"src":"79679:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16003,"name":"uint256","nodeType":"ElementaryTypeName","src":"79679:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"79664:29:15"},"returnParameters":{"id":16006,"nodeType":"ParameterList","parameters":[],"src":"79707:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16017,"nodeType":"FunctionDefinition","src":"79859:84:15","nodes":[],"documentation":{"id":16008,"nodeType":"StructuredDocumentation","src":"79714:140:15","text":"Compares two `uint256` values. Expects first value to be less than second.\n Includes error message into revert string on failure."},"functionSelector":"65d5c135","implemented":false,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"79868:8:15","parameters":{"id":16015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16010,"mutability":"mutable","name":"left","nameLocation":"79885:4:15","nodeType":"VariableDeclaration","scope":16017,"src":"79877:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16009,"name":"uint256","nodeType":"ElementaryTypeName","src":"79877:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16012,"mutability":"mutable","name":"right","nameLocation":"79899:5:15","nodeType":"VariableDeclaration","scope":16017,"src":"79891:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16011,"name":"uint256","nodeType":"ElementaryTypeName","src":"79891:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16014,"mutability":"mutable","name":"error","nameLocation":"79922:5:15","nodeType":"VariableDeclaration","scope":16017,"src":"79906:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16013,"name":"string","nodeType":"ElementaryTypeName","src":"79906:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"79876:52:15"},"returnParameters":{"id":16016,"nodeType":"ParameterList","parameters":[],"src":"79942:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16025,"nodeType":"FunctionDefinition","src":"80031:59:15","nodes":[],"documentation":{"id":16018,"nodeType":"StructuredDocumentation","src":"79949:77:15","text":"Compares two `int256` values. Expects first value to be less than second."},"functionSelector":"3e914080","implemented":false,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"80040:8:15","parameters":{"id":16023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16020,"mutability":"mutable","name":"left","nameLocation":"80056:4:15","nodeType":"VariableDeclaration","scope":16025,"src":"80049:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16019,"name":"int256","nodeType":"ElementaryTypeName","src":"80049:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16022,"mutability":"mutable","name":"right","nameLocation":"80069:5:15","nodeType":"VariableDeclaration","scope":16025,"src":"80062:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16021,"name":"int256","nodeType":"ElementaryTypeName","src":"80062:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"80048:27:15"},"returnParameters":{"id":16024,"nodeType":"ParameterList","parameters":[],"src":"80089:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16035,"nodeType":"FunctionDefinition","src":"80240:82:15","nodes":[],"documentation":{"id":16026,"nodeType":"StructuredDocumentation","src":"80096:139:15","text":"Compares two `int256` values. Expects first value to be less than second.\n Includes error message into revert string on failure."},"functionSelector":"9ff531e3","implemented":false,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"80249:8:15","parameters":{"id":16033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16028,"mutability":"mutable","name":"left","nameLocation":"80265:4:15","nodeType":"VariableDeclaration","scope":16035,"src":"80258:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16027,"name":"int256","nodeType":"ElementaryTypeName","src":"80258:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16030,"mutability":"mutable","name":"right","nameLocation":"80278:5:15","nodeType":"VariableDeclaration","scope":16035,"src":"80271:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16029,"name":"int256","nodeType":"ElementaryTypeName","src":"80271:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16032,"mutability":"mutable","name":"error","nameLocation":"80301:5:15","nodeType":"VariableDeclaration","scope":16035,"src":"80285:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16031,"name":"string","nodeType":"ElementaryTypeName","src":"80285:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"80257:50:15"},"returnParameters":{"id":16034,"nodeType":"ParameterList","parameters":[],"src":"80321:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16045,"nodeType":"FunctionDefinition","src":"80435:89:15","nodes":[],"documentation":{"id":16036,"nodeType":"StructuredDocumentation","src":"80328:102:15","text":"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message."},"functionSelector":"669efca7","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"80444:18:15","parameters":{"id":16043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16038,"mutability":"mutable","name":"left","nameLocation":"80471:4:15","nodeType":"VariableDeclaration","scope":16045,"src":"80463:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16037,"name":"uint256","nodeType":"ElementaryTypeName","src":"80463:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16040,"mutability":"mutable","name":"right","nameLocation":"80485:5:15","nodeType":"VariableDeclaration","scope":16045,"src":"80477:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16039,"name":"uint256","nodeType":"ElementaryTypeName","src":"80477:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16042,"mutability":"mutable","name":"decimals","nameLocation":"80500:8:15","nodeType":"VariableDeclaration","scope":16045,"src":"80492:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16041,"name":"uint256","nodeType":"ElementaryTypeName","src":"80492:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"80462:47:15"},"returnParameters":{"id":16044,"nodeType":"ParameterList","parameters":[],"src":"80523:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16057,"nodeType":"FunctionDefinition","src":"80699:112:15","nodes":[],"documentation":{"id":16046,"nodeType":"StructuredDocumentation","src":"80530:164:15","text":"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message.\n Includes error message into revert string on failure."},"functionSelector":"f5a55558","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"80708:18:15","parameters":{"id":16055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16048,"mutability":"mutable","name":"left","nameLocation":"80735:4:15","nodeType":"VariableDeclaration","scope":16057,"src":"80727:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16047,"name":"uint256","nodeType":"ElementaryTypeName","src":"80727:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16050,"mutability":"mutable","name":"right","nameLocation":"80749:5:15","nodeType":"VariableDeclaration","scope":16057,"src":"80741:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16049,"name":"uint256","nodeType":"ElementaryTypeName","src":"80741:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16052,"mutability":"mutable","name":"decimals","nameLocation":"80764:8:15","nodeType":"VariableDeclaration","scope":16057,"src":"80756:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16051,"name":"uint256","nodeType":"ElementaryTypeName","src":"80756:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16054,"mutability":"mutable","name":"error","nameLocation":"80790:5:15","nodeType":"VariableDeclaration","scope":16057,"src":"80774:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16053,"name":"string","nodeType":"ElementaryTypeName","src":"80774:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"80726:70:15"},"returnParameters":{"id":16056,"nodeType":"ParameterList","parameters":[],"src":"80810:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16067,"nodeType":"FunctionDefinition","src":"80923:87:15","nodes":[],"documentation":{"id":16058,"nodeType":"StructuredDocumentation","src":"80817:101:15","text":"Asserts that two `int256` values are not equal, formatting them with decimals in failure message."},"functionSelector":"14e75680","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"80932:18:15","parameters":{"id":16065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16060,"mutability":"mutable","name":"left","nameLocation":"80958:4:15","nodeType":"VariableDeclaration","scope":16067,"src":"80951:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16059,"name":"int256","nodeType":"ElementaryTypeName","src":"80951:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16062,"mutability":"mutable","name":"right","nameLocation":"80971:5:15","nodeType":"VariableDeclaration","scope":16067,"src":"80964:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16061,"name":"int256","nodeType":"ElementaryTypeName","src":"80964:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16064,"mutability":"mutable","name":"decimals","nameLocation":"80986:8:15","nodeType":"VariableDeclaration","scope":16067,"src":"80978:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16063,"name":"uint256","nodeType":"ElementaryTypeName","src":"80978:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"80950:45:15"},"returnParameters":{"id":16066,"nodeType":"ParameterList","parameters":[],"src":"81009:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16079,"nodeType":"FunctionDefinition","src":"81184:110:15","nodes":[],"documentation":{"id":16068,"nodeType":"StructuredDocumentation","src":"81016:163:15","text":"Asserts that two `int256` values are not equal, formatting them with decimals in failure message.\n Includes error message into revert string on failure."},"functionSelector":"33949f0b","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"81193:18:15","parameters":{"id":16077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16070,"mutability":"mutable","name":"left","nameLocation":"81219:4:15","nodeType":"VariableDeclaration","scope":16079,"src":"81212:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16069,"name":"int256","nodeType":"ElementaryTypeName","src":"81212:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16072,"mutability":"mutable","name":"right","nameLocation":"81232:5:15","nodeType":"VariableDeclaration","scope":16079,"src":"81225:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16071,"name":"int256","nodeType":"ElementaryTypeName","src":"81225:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16074,"mutability":"mutable","name":"decimals","nameLocation":"81247:8:15","nodeType":"VariableDeclaration","scope":16079,"src":"81239:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16073,"name":"uint256","nodeType":"ElementaryTypeName","src":"81239:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16076,"mutability":"mutable","name":"error","nameLocation":"81273:5:15","nodeType":"VariableDeclaration","scope":16079,"src":"81257:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16075,"name":"string","nodeType":"ElementaryTypeName","src":"81257:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"81211:68:15"},"returnParameters":{"id":16078,"nodeType":"ParameterList","parameters":[],"src":"81293:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16087,"nodeType":"FunctionDefinition","src":"81354:58:15","nodes":[],"documentation":{"id":16080,"nodeType":"StructuredDocumentation","src":"81300:49:15","text":"Asserts that two `bool` values are not equal."},"functionSelector":"236e4d66","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"81363:11:15","parameters":{"id":16085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16082,"mutability":"mutable","name":"left","nameLocation":"81380:4:15","nodeType":"VariableDeclaration","scope":16087,"src":"81375:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16081,"name":"bool","nodeType":"ElementaryTypeName","src":"81375:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16084,"mutability":"mutable","name":"right","nameLocation":"81391:5:15","nodeType":"VariableDeclaration","scope":16087,"src":"81386:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16083,"name":"bool","nodeType":"ElementaryTypeName","src":"81386:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"81374:23:15"},"returnParameters":{"id":16086,"nodeType":"ParameterList","parameters":[],"src":"81411:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16097,"nodeType":"FunctionDefinition","src":"81529:81:15","nodes":[],"documentation":{"id":16088,"nodeType":"StructuredDocumentation","src":"81418:106:15","text":"Asserts that two `bool` values are not equal and includes error message into revert string on failure."},"functionSelector":"1091a261","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"81538:11:15","parameters":{"id":16095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16090,"mutability":"mutable","name":"left","nameLocation":"81555:4:15","nodeType":"VariableDeclaration","scope":16097,"src":"81550:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16089,"name":"bool","nodeType":"ElementaryTypeName","src":"81550:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16092,"mutability":"mutable","name":"right","nameLocation":"81566:5:15","nodeType":"VariableDeclaration","scope":16097,"src":"81561:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16091,"name":"bool","nodeType":"ElementaryTypeName","src":"81561:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16094,"mutability":"mutable","name":"error","nameLocation":"81589:5:15","nodeType":"VariableDeclaration","scope":16097,"src":"81573:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16093,"name":"string","nodeType":"ElementaryTypeName","src":"81573:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"81549:46:15"},"returnParameters":{"id":16096,"nodeType":"ParameterList","parameters":[],"src":"81609:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16105,"nodeType":"FunctionDefinition","src":"81672:80:15","nodes":[],"documentation":{"id":16098,"nodeType":"StructuredDocumentation","src":"81616:51:15","text":"Asserts that two `string` values are not equal."},"functionSelector":"6a8237b3","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"81681:11:15","parameters":{"id":16103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16100,"mutability":"mutable","name":"left","nameLocation":"81709:4:15","nodeType":"VariableDeclaration","scope":16105,"src":"81693:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16099,"name":"string","nodeType":"ElementaryTypeName","src":"81693:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16102,"mutability":"mutable","name":"right","nameLocation":"81731:5:15","nodeType":"VariableDeclaration","scope":16105,"src":"81715:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16101,"name":"string","nodeType":"ElementaryTypeName","src":"81715:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"81692:45:15"},"returnParameters":{"id":16104,"nodeType":"ParameterList","parameters":[],"src":"81751:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16115,"nodeType":"FunctionDefinition","src":"81871:103:15","nodes":[],"documentation":{"id":16106,"nodeType":"StructuredDocumentation","src":"81758:108:15","text":"Asserts that two `string` values are not equal and includes error message into revert string on failure."},"functionSelector":"78bdcea7","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"81880:11:15","parameters":{"id":16113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16108,"mutability":"mutable","name":"left","nameLocation":"81908:4:15","nodeType":"VariableDeclaration","scope":16115,"src":"81892:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16107,"name":"string","nodeType":"ElementaryTypeName","src":"81892:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16110,"mutability":"mutable","name":"right","nameLocation":"81930:5:15","nodeType":"VariableDeclaration","scope":16115,"src":"81914:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16109,"name":"string","nodeType":"ElementaryTypeName","src":"81914:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16112,"mutability":"mutable","name":"error","nameLocation":"81953:5:15","nodeType":"VariableDeclaration","scope":16115,"src":"81937:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16111,"name":"string","nodeType":"ElementaryTypeName","src":"81937:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"81891:68:15"},"returnParameters":{"id":16114,"nodeType":"ParameterList","parameters":[],"src":"81973:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16123,"nodeType":"FunctionDefinition","src":"82035:78:15","nodes":[],"documentation":{"id":16116,"nodeType":"StructuredDocumentation","src":"81980:50:15","text":"Asserts that two `bytes` values are not equal."},"functionSelector":"3cf78e28","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"82044:11:15","parameters":{"id":16121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16118,"mutability":"mutable","name":"left","nameLocation":"82071:4:15","nodeType":"VariableDeclaration","scope":16123,"src":"82056:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":16117,"name":"bytes","nodeType":"ElementaryTypeName","src":"82056:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":16120,"mutability":"mutable","name":"right","nameLocation":"82092:5:15","nodeType":"VariableDeclaration","scope":16123,"src":"82077:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":16119,"name":"bytes","nodeType":"ElementaryTypeName","src":"82077:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"82055:43:15"},"returnParameters":{"id":16122,"nodeType":"ParameterList","parameters":[],"src":"82112:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16133,"nodeType":"FunctionDefinition","src":"82231:101:15","nodes":[],"documentation":{"id":16124,"nodeType":"StructuredDocumentation","src":"82119:107:15","text":"Asserts that two `bytes` values are not equal and includes error message into revert string on failure."},"functionSelector":"9507540e","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"82240:11:15","parameters":{"id":16131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16126,"mutability":"mutable","name":"left","nameLocation":"82267:4:15","nodeType":"VariableDeclaration","scope":16133,"src":"82252:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":16125,"name":"bytes","nodeType":"ElementaryTypeName","src":"82252:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":16128,"mutability":"mutable","name":"right","nameLocation":"82288:5:15","nodeType":"VariableDeclaration","scope":16133,"src":"82273:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":16127,"name":"bytes","nodeType":"ElementaryTypeName","src":"82273:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":16130,"mutability":"mutable","name":"error","nameLocation":"82311:5:15","nodeType":"VariableDeclaration","scope":16133,"src":"82295:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16129,"name":"string","nodeType":"ElementaryTypeName","src":"82295:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"82251:66:15"},"returnParameters":{"id":16132,"nodeType":"ParameterList","parameters":[],"src":"82331:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16143,"nodeType":"FunctionDefinition","src":"82402:80:15","nodes":[],"documentation":{"id":16134,"nodeType":"StructuredDocumentation","src":"82338:59:15","text":"Asserts that two arrays of `bool` values are not equal."},"functionSelector":"286fafea","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"82411:11:15","parameters":{"id":16141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16137,"mutability":"mutable","name":"left","nameLocation":"82439:4:15","nodeType":"VariableDeclaration","scope":16143,"src":"82423:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":16135,"name":"bool","nodeType":"ElementaryTypeName","src":"82423:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":16136,"nodeType":"ArrayTypeName","src":"82423:6:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":16140,"mutability":"mutable","name":"right","nameLocation":"82461:5:15","nodeType":"VariableDeclaration","scope":16143,"src":"82445:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":16138,"name":"bool","nodeType":"ElementaryTypeName","src":"82445:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":16139,"nodeType":"ArrayTypeName","src":"82445:6:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"82422:45:15"},"returnParameters":{"id":16142,"nodeType":"ParameterList","parameters":[],"src":"82481:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16155,"nodeType":"FunctionDefinition","src":"82609:103:15","nodes":[],"documentation":{"id":16144,"nodeType":"StructuredDocumentation","src":"82488:116:15","text":"Asserts that two arrays of `bool` values are not equal and includes error message into revert string on failure."},"functionSelector":"62c6f9fb","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"82618:11:15","parameters":{"id":16153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16147,"mutability":"mutable","name":"left","nameLocation":"82646:4:15","nodeType":"VariableDeclaration","scope":16155,"src":"82630:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":16145,"name":"bool","nodeType":"ElementaryTypeName","src":"82630:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":16146,"nodeType":"ArrayTypeName","src":"82630:6:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":16150,"mutability":"mutable","name":"right","nameLocation":"82668:5:15","nodeType":"VariableDeclaration","scope":16155,"src":"82652:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":16148,"name":"bool","nodeType":"ElementaryTypeName","src":"82652:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":16149,"nodeType":"ArrayTypeName","src":"82652:6:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":16152,"mutability":"mutable","name":"error","nameLocation":"82691:5:15","nodeType":"VariableDeclaration","scope":16155,"src":"82675:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16151,"name":"string","nodeType":"ElementaryTypeName","src":"82675:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"82629:68:15"},"returnParameters":{"id":16154,"nodeType":"ParameterList","parameters":[],"src":"82711:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16165,"nodeType":"FunctionDefinition","src":"82785:86:15","nodes":[],"documentation":{"id":16156,"nodeType":"StructuredDocumentation","src":"82718:62:15","text":"Asserts that two arrays of `uint256` values are not equal."},"functionSelector":"56f29cba","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"82794:11:15","parameters":{"id":16163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16159,"mutability":"mutable","name":"left","nameLocation":"82825:4:15","nodeType":"VariableDeclaration","scope":16165,"src":"82806:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":16157,"name":"uint256","nodeType":"ElementaryTypeName","src":"82806:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16158,"nodeType":"ArrayTypeName","src":"82806:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":16162,"mutability":"mutable","name":"right","nameLocation":"82850:5:15","nodeType":"VariableDeclaration","scope":16165,"src":"82831:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":16160,"name":"uint256","nodeType":"ElementaryTypeName","src":"82831:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16161,"nodeType":"ArrayTypeName","src":"82831:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"82805:51:15"},"returnParameters":{"id":16164,"nodeType":"ParameterList","parameters":[],"src":"82870:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16177,"nodeType":"FunctionDefinition","src":"83001:109:15","nodes":[],"documentation":{"id":16166,"nodeType":"StructuredDocumentation","src":"82877:119:15","text":"Asserts that two arrays of `uint256` values are not equal and includes error message into revert string on failure."},"functionSelector":"9a7fbd8f","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"83010:11:15","parameters":{"id":16175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16169,"mutability":"mutable","name":"left","nameLocation":"83041:4:15","nodeType":"VariableDeclaration","scope":16177,"src":"83022:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":16167,"name":"uint256","nodeType":"ElementaryTypeName","src":"83022:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16168,"nodeType":"ArrayTypeName","src":"83022:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":16172,"mutability":"mutable","name":"right","nameLocation":"83066:5:15","nodeType":"VariableDeclaration","scope":16177,"src":"83047:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":16170,"name":"uint256","nodeType":"ElementaryTypeName","src":"83047:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16171,"nodeType":"ArrayTypeName","src":"83047:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":16174,"mutability":"mutable","name":"error","nameLocation":"83089:5:15","nodeType":"VariableDeclaration","scope":16177,"src":"83073:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16173,"name":"string","nodeType":"ElementaryTypeName","src":"83073:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"83021:74:15"},"returnParameters":{"id":16176,"nodeType":"ParameterList","parameters":[],"src":"83109:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16187,"nodeType":"FunctionDefinition","src":"83182:84:15","nodes":[],"documentation":{"id":16178,"nodeType":"StructuredDocumentation","src":"83116:61:15","text":"Asserts that two arrays of `int256` values are not equal."},"functionSelector":"0b72f4ef","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"83191:11:15","parameters":{"id":16185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16181,"mutability":"mutable","name":"left","nameLocation":"83221:4:15","nodeType":"VariableDeclaration","scope":16187,"src":"83203:22:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":16179,"name":"int256","nodeType":"ElementaryTypeName","src":"83203:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":16180,"nodeType":"ArrayTypeName","src":"83203:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":16184,"mutability":"mutable","name":"right","nameLocation":"83245:5:15","nodeType":"VariableDeclaration","scope":16187,"src":"83227:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":16182,"name":"int256","nodeType":"ElementaryTypeName","src":"83227:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":16183,"nodeType":"ArrayTypeName","src":"83227:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"83202:49:15"},"returnParameters":{"id":16186,"nodeType":"ParameterList","parameters":[],"src":"83265:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16199,"nodeType":"FunctionDefinition","src":"83395:107:15","nodes":[],"documentation":{"id":16188,"nodeType":"StructuredDocumentation","src":"83272:118:15","text":"Asserts that two arrays of `int256` values are not equal and includes error message into revert string on failure."},"functionSelector":"d3977322","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"83404:11:15","parameters":{"id":16197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16191,"mutability":"mutable","name":"left","nameLocation":"83434:4:15","nodeType":"VariableDeclaration","scope":16199,"src":"83416:22:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":16189,"name":"int256","nodeType":"ElementaryTypeName","src":"83416:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":16190,"nodeType":"ArrayTypeName","src":"83416:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":16194,"mutability":"mutable","name":"right","nameLocation":"83458:5:15","nodeType":"VariableDeclaration","scope":16199,"src":"83440:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":16192,"name":"int256","nodeType":"ElementaryTypeName","src":"83440:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":16193,"nodeType":"ArrayTypeName","src":"83440:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":16196,"mutability":"mutable","name":"error","nameLocation":"83481:5:15","nodeType":"VariableDeclaration","scope":16199,"src":"83465:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16195,"name":"string","nodeType":"ElementaryTypeName","src":"83465:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"83415:72:15"},"returnParameters":{"id":16198,"nodeType":"ParameterList","parameters":[],"src":"83501:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16207,"nodeType":"FunctionDefinition","src":"83565:64:15","nodes":[],"documentation":{"id":16200,"nodeType":"StructuredDocumentation","src":"83508:52:15","text":"Asserts that two `uint256` values are not equal."},"functionSelector":"b7909320","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"83574:11:15","parameters":{"id":16205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16202,"mutability":"mutable","name":"left","nameLocation":"83594:4:15","nodeType":"VariableDeclaration","scope":16207,"src":"83586:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16201,"name":"uint256","nodeType":"ElementaryTypeName","src":"83586:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16204,"mutability":"mutable","name":"right","nameLocation":"83608:5:15","nodeType":"VariableDeclaration","scope":16207,"src":"83600:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16203,"name":"uint256","nodeType":"ElementaryTypeName","src":"83600:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"83585:29:15"},"returnParameters":{"id":16206,"nodeType":"ParameterList","parameters":[],"src":"83628:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16217,"nodeType":"FunctionDefinition","src":"83702:86:15","nodes":[],"documentation":{"id":16208,"nodeType":"StructuredDocumentation","src":"83635:62:15","text":"Asserts that two arrays of `address` values are not equal."},"functionSelector":"46d0b252","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"83711:11:15","parameters":{"id":16215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16211,"mutability":"mutable","name":"left","nameLocation":"83742:4:15","nodeType":"VariableDeclaration","scope":16217,"src":"83723:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":16209,"name":"address","nodeType":"ElementaryTypeName","src":"83723:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":16210,"nodeType":"ArrayTypeName","src":"83723:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":16214,"mutability":"mutable","name":"right","nameLocation":"83767:5:15","nodeType":"VariableDeclaration","scope":16217,"src":"83748:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":16212,"name":"address","nodeType":"ElementaryTypeName","src":"83748:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":16213,"nodeType":"ArrayTypeName","src":"83748:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"83722:51:15"},"returnParameters":{"id":16216,"nodeType":"ParameterList","parameters":[],"src":"83787:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16229,"nodeType":"FunctionDefinition","src":"83918:109:15","nodes":[],"documentation":{"id":16218,"nodeType":"StructuredDocumentation","src":"83794:119:15","text":"Asserts that two arrays of `address` values are not equal and includes error message into revert string on failure."},"functionSelector":"72c7e0b5","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"83927:11:15","parameters":{"id":16227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16221,"mutability":"mutable","name":"left","nameLocation":"83958:4:15","nodeType":"VariableDeclaration","scope":16229,"src":"83939:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":16219,"name":"address","nodeType":"ElementaryTypeName","src":"83939:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":16220,"nodeType":"ArrayTypeName","src":"83939:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":16224,"mutability":"mutable","name":"right","nameLocation":"83983:5:15","nodeType":"VariableDeclaration","scope":16229,"src":"83964:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":16222,"name":"address","nodeType":"ElementaryTypeName","src":"83964:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":16223,"nodeType":"ArrayTypeName","src":"83964:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":16226,"mutability":"mutable","name":"error","nameLocation":"84006:5:15","nodeType":"VariableDeclaration","scope":16229,"src":"83990:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16225,"name":"string","nodeType":"ElementaryTypeName","src":"83990:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"83938:74:15"},"returnParameters":{"id":16228,"nodeType":"ParameterList","parameters":[],"src":"84026:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16239,"nodeType":"FunctionDefinition","src":"84100:86:15","nodes":[],"documentation":{"id":16230,"nodeType":"StructuredDocumentation","src":"84033:62:15","text":"Asserts that two arrays of `bytes32` values are not equal."},"functionSelector":"0603ea68","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"84109:11:15","parameters":{"id":16237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16233,"mutability":"mutable","name":"left","nameLocation":"84140:4:15","nodeType":"VariableDeclaration","scope":16239,"src":"84121:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":16231,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84121:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16232,"nodeType":"ArrayTypeName","src":"84121:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":16236,"mutability":"mutable","name":"right","nameLocation":"84165:5:15","nodeType":"VariableDeclaration","scope":16239,"src":"84146:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":16234,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84146:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16235,"nodeType":"ArrayTypeName","src":"84146:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"84120:51:15"},"returnParameters":{"id":16238,"nodeType":"ParameterList","parameters":[],"src":"84185:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16251,"nodeType":"FunctionDefinition","src":"84316:109:15","nodes":[],"documentation":{"id":16240,"nodeType":"StructuredDocumentation","src":"84192:119:15","text":"Asserts that two arrays of `bytes32` values are not equal and includes error message into revert string on failure."},"functionSelector":"b873634c","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"84325:11:15","parameters":{"id":16249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16243,"mutability":"mutable","name":"left","nameLocation":"84356:4:15","nodeType":"VariableDeclaration","scope":16251,"src":"84337:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":16241,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84337:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16242,"nodeType":"ArrayTypeName","src":"84337:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":16246,"mutability":"mutable","name":"right","nameLocation":"84381:5:15","nodeType":"VariableDeclaration","scope":16251,"src":"84362:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":16244,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84362:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16245,"nodeType":"ArrayTypeName","src":"84362:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":16248,"mutability":"mutable","name":"error","nameLocation":"84404:5:15","nodeType":"VariableDeclaration","scope":16251,"src":"84388:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16247,"name":"string","nodeType":"ElementaryTypeName","src":"84388:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"84336:74:15"},"returnParameters":{"id":16250,"nodeType":"ParameterList","parameters":[],"src":"84424:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16261,"nodeType":"FunctionDefinition","src":"84497:84:15","nodes":[],"documentation":{"id":16252,"nodeType":"StructuredDocumentation","src":"84431:61:15","text":"Asserts that two arrays of `string` values are not equal."},"functionSelector":"bdfacbe8","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"84506:11:15","parameters":{"id":16259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16255,"mutability":"mutable","name":"left","nameLocation":"84536:4:15","nodeType":"VariableDeclaration","scope":16261,"src":"84518:22:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":16253,"name":"string","nodeType":"ElementaryTypeName","src":"84518:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":16254,"nodeType":"ArrayTypeName","src":"84518:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":16258,"mutability":"mutable","name":"right","nameLocation":"84560:5:15","nodeType":"VariableDeclaration","scope":16261,"src":"84542:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":16256,"name":"string","nodeType":"ElementaryTypeName","src":"84542:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":16257,"nodeType":"ArrayTypeName","src":"84542:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"84517:49:15"},"returnParameters":{"id":16260,"nodeType":"ParameterList","parameters":[],"src":"84580:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16273,"nodeType":"FunctionDefinition","src":"84710:107:15","nodes":[],"documentation":{"id":16262,"nodeType":"StructuredDocumentation","src":"84587:118:15","text":"Asserts that two arrays of `string` values are not equal and includes error message into revert string on failure."},"functionSelector":"b67187f3","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"84719:11:15","parameters":{"id":16271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16265,"mutability":"mutable","name":"left","nameLocation":"84749:4:15","nodeType":"VariableDeclaration","scope":16273,"src":"84731:22:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":16263,"name":"string","nodeType":"ElementaryTypeName","src":"84731:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":16264,"nodeType":"ArrayTypeName","src":"84731:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":16268,"mutability":"mutable","name":"right","nameLocation":"84773:5:15","nodeType":"VariableDeclaration","scope":16273,"src":"84755:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":16266,"name":"string","nodeType":"ElementaryTypeName","src":"84755:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":16267,"nodeType":"ArrayTypeName","src":"84755:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":16270,"mutability":"mutable","name":"error","nameLocation":"84796:5:15","nodeType":"VariableDeclaration","scope":16273,"src":"84780:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16269,"name":"string","nodeType":"ElementaryTypeName","src":"84780:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"84730:72:15"},"returnParameters":{"id":16272,"nodeType":"ParameterList","parameters":[],"src":"84816:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16283,"nodeType":"FunctionDefinition","src":"84888:82:15","nodes":[],"documentation":{"id":16274,"nodeType":"StructuredDocumentation","src":"84823:60:15","text":"Asserts that two arrays of `bytes` values are not equal."},"functionSelector":"edecd035","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"84897:11:15","parameters":{"id":16281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16277,"mutability":"mutable","name":"left","nameLocation":"84926:4:15","nodeType":"VariableDeclaration","scope":16283,"src":"84909:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":16275,"name":"bytes","nodeType":"ElementaryTypeName","src":"84909:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":16276,"nodeType":"ArrayTypeName","src":"84909:7:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":16280,"mutability":"mutable","name":"right","nameLocation":"84949:5:15","nodeType":"VariableDeclaration","scope":16283,"src":"84932:22:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":16278,"name":"bytes","nodeType":"ElementaryTypeName","src":"84932:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":16279,"nodeType":"ArrayTypeName","src":"84932:7:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"84908:47:15"},"returnParameters":{"id":16282,"nodeType":"ParameterList","parameters":[],"src":"84969:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16295,"nodeType":"FunctionDefinition","src":"85098:105:15","nodes":[],"documentation":{"id":16284,"nodeType":"StructuredDocumentation","src":"84976:117:15","text":"Asserts that two arrays of `bytes` values are not equal and includes error message into revert string on failure."},"functionSelector":"1dcd1f68","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"85107:11:15","parameters":{"id":16293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16287,"mutability":"mutable","name":"left","nameLocation":"85136:4:15","nodeType":"VariableDeclaration","scope":16295,"src":"85119:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":16285,"name":"bytes","nodeType":"ElementaryTypeName","src":"85119:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":16286,"nodeType":"ArrayTypeName","src":"85119:7:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":16290,"mutability":"mutable","name":"right","nameLocation":"85159:5:15","nodeType":"VariableDeclaration","scope":16295,"src":"85142:22:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":16288,"name":"bytes","nodeType":"ElementaryTypeName","src":"85142:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":16289,"nodeType":"ArrayTypeName","src":"85142:7:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":16292,"mutability":"mutable","name":"error","nameLocation":"85182:5:15","nodeType":"VariableDeclaration","scope":16295,"src":"85166:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16291,"name":"string","nodeType":"ElementaryTypeName","src":"85166:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"85118:70:15"},"returnParameters":{"id":16294,"nodeType":"ParameterList","parameters":[],"src":"85202:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16305,"nodeType":"FunctionDefinition","src":"85323:87:15","nodes":[],"documentation":{"id":16296,"nodeType":"StructuredDocumentation","src":"85209:109:15","text":"Asserts that two `uint256` values are not equal and includes error message into revert string on failure."},"functionSelector":"98f9bdbd","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"85332:11:15","parameters":{"id":16303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16298,"mutability":"mutable","name":"left","nameLocation":"85352:4:15","nodeType":"VariableDeclaration","scope":16305,"src":"85344:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16297,"name":"uint256","nodeType":"ElementaryTypeName","src":"85344:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16300,"mutability":"mutable","name":"right","nameLocation":"85366:5:15","nodeType":"VariableDeclaration","scope":16305,"src":"85358:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16299,"name":"uint256","nodeType":"ElementaryTypeName","src":"85358:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16302,"mutability":"mutable","name":"error","nameLocation":"85389:5:15","nodeType":"VariableDeclaration","scope":16305,"src":"85373:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16301,"name":"string","nodeType":"ElementaryTypeName","src":"85373:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"85343:52:15"},"returnParameters":{"id":16304,"nodeType":"ParameterList","parameters":[],"src":"85409:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16313,"nodeType":"FunctionDefinition","src":"85472:62:15","nodes":[],"documentation":{"id":16306,"nodeType":"StructuredDocumentation","src":"85416:51:15","text":"Asserts that two `int256` values are not equal."},"functionSelector":"f4c004e3","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"85481:11:15","parameters":{"id":16311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16308,"mutability":"mutable","name":"left","nameLocation":"85500:4:15","nodeType":"VariableDeclaration","scope":16313,"src":"85493:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16307,"name":"int256","nodeType":"ElementaryTypeName","src":"85493:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16310,"mutability":"mutable","name":"right","nameLocation":"85513:5:15","nodeType":"VariableDeclaration","scope":16313,"src":"85506:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16309,"name":"int256","nodeType":"ElementaryTypeName","src":"85506:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"85492:27:15"},"returnParameters":{"id":16312,"nodeType":"ParameterList","parameters":[],"src":"85533:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16323,"nodeType":"FunctionDefinition","src":"85653:85:15","nodes":[],"documentation":{"id":16314,"nodeType":"StructuredDocumentation","src":"85540:108:15","text":"Asserts that two `int256` values are not equal and includes error message into revert string on failure."},"functionSelector":"4724c5b9","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"85662:11:15","parameters":{"id":16321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16316,"mutability":"mutable","name":"left","nameLocation":"85681:4:15","nodeType":"VariableDeclaration","scope":16323,"src":"85674:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16315,"name":"int256","nodeType":"ElementaryTypeName","src":"85674:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16318,"mutability":"mutable","name":"right","nameLocation":"85694:5:15","nodeType":"VariableDeclaration","scope":16323,"src":"85687:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16317,"name":"int256","nodeType":"ElementaryTypeName","src":"85687:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":16320,"mutability":"mutable","name":"error","nameLocation":"85717:5:15","nodeType":"VariableDeclaration","scope":16323,"src":"85701:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16319,"name":"string","nodeType":"ElementaryTypeName","src":"85701:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"85673:50:15"},"returnParameters":{"id":16322,"nodeType":"ParameterList","parameters":[],"src":"85737:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16331,"nodeType":"FunctionDefinition","src":"85801:64:15","nodes":[],"documentation":{"id":16324,"nodeType":"StructuredDocumentation","src":"85744:52:15","text":"Asserts that two `address` values are not equal."},"functionSelector":"b12e1694","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"85810:11:15","parameters":{"id":16329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16326,"mutability":"mutable","name":"left","nameLocation":"85830:4:15","nodeType":"VariableDeclaration","scope":16331,"src":"85822:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16325,"name":"address","nodeType":"ElementaryTypeName","src":"85822:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16328,"mutability":"mutable","name":"right","nameLocation":"85844:5:15","nodeType":"VariableDeclaration","scope":16331,"src":"85836:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16327,"name":"address","nodeType":"ElementaryTypeName","src":"85836:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"85821:29:15"},"returnParameters":{"id":16330,"nodeType":"ParameterList","parameters":[],"src":"85864:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16341,"nodeType":"FunctionDefinition","src":"85985:87:15","nodes":[],"documentation":{"id":16332,"nodeType":"StructuredDocumentation","src":"85871:109:15","text":"Asserts that two `address` values are not equal and includes error message into revert string on failure."},"functionSelector":"8775a591","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"85994:11:15","parameters":{"id":16339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16334,"mutability":"mutable","name":"left","nameLocation":"86014:4:15","nodeType":"VariableDeclaration","scope":16341,"src":"86006:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16333,"name":"address","nodeType":"ElementaryTypeName","src":"86006:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16336,"mutability":"mutable","name":"right","nameLocation":"86028:5:15","nodeType":"VariableDeclaration","scope":16341,"src":"86020:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16335,"name":"address","nodeType":"ElementaryTypeName","src":"86020:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16338,"mutability":"mutable","name":"error","nameLocation":"86051:5:15","nodeType":"VariableDeclaration","scope":16341,"src":"86035:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16337,"name":"string","nodeType":"ElementaryTypeName","src":"86035:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"86005:52:15"},"returnParameters":{"id":16340,"nodeType":"ParameterList","parameters":[],"src":"86071:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16349,"nodeType":"FunctionDefinition","src":"86135:64:15","nodes":[],"documentation":{"id":16342,"nodeType":"StructuredDocumentation","src":"86078:52:15","text":"Asserts that two `bytes32` values are not equal."},"functionSelector":"898e83fc","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"86144:11:15","parameters":{"id":16347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16344,"mutability":"mutable","name":"left","nameLocation":"86164:4:15","nodeType":"VariableDeclaration","scope":16349,"src":"86156:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16343,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86156:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":16346,"mutability":"mutable","name":"right","nameLocation":"86178:5:15","nodeType":"VariableDeclaration","scope":16349,"src":"86170:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16345,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86170:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"86155:29:15"},"returnParameters":{"id":16348,"nodeType":"ParameterList","parameters":[],"src":"86198:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16359,"nodeType":"FunctionDefinition","src":"86319:87:15","nodes":[],"documentation":{"id":16350,"nodeType":"StructuredDocumentation","src":"86205:109:15","text":"Asserts that two `bytes32` values are not equal and includes error message into revert string on failure."},"functionSelector":"b2332f51","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"86328:11:15","parameters":{"id":16357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16352,"mutability":"mutable","name":"left","nameLocation":"86348:4:15","nodeType":"VariableDeclaration","scope":16359,"src":"86340:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16351,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86340:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":16354,"mutability":"mutable","name":"right","nameLocation":"86362:5:15","nodeType":"VariableDeclaration","scope":16359,"src":"86354:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16353,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86354:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":16356,"mutability":"mutable","name":"error","nameLocation":"86385:5:15","nodeType":"VariableDeclaration","scope":16359,"src":"86369:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16355,"name":"string","nodeType":"ElementaryTypeName","src":"86369:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"86339:52:15"},"returnParameters":{"id":16358,"nodeType":"ParameterList","parameters":[],"src":"86405:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16365,"nodeType":"FunctionDefinition","src":"86462:50:15","nodes":[],"documentation":{"id":16360,"nodeType":"StructuredDocumentation","src":"86412:45:15","text":"Asserts that the given condition is true."},"functionSelector":"0c9fd581","implemented":false,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"86471:10:15","parameters":{"id":16363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16362,"mutability":"mutable","name":"condition","nameLocation":"86487:9:15","nodeType":"VariableDeclaration","scope":16365,"src":"86482:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16361,"name":"bool","nodeType":"ElementaryTypeName","src":"86482:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"86481:16:15"},"returnParameters":{"id":16364,"nodeType":"ParameterList","parameters":[],"src":"86511:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16373,"nodeType":"FunctionDefinition","src":"86625:73:15","nodes":[],"documentation":{"id":16366,"nodeType":"StructuredDocumentation","src":"86518:102:15","text":"Asserts that the given condition is true and includes error message into revert string on failure."},"functionSelector":"a34edc03","implemented":false,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"86634:10:15","parameters":{"id":16371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16368,"mutability":"mutable","name":"condition","nameLocation":"86650:9:15","nodeType":"VariableDeclaration","scope":16373,"src":"86645:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16367,"name":"bool","nodeType":"ElementaryTypeName","src":"86645:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16370,"mutability":"mutable","name":"error","nameLocation":"86677:5:15","nodeType":"VariableDeclaration","scope":16373,"src":"86661:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16369,"name":"string","nodeType":"ElementaryTypeName","src":"86661:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"86644:39:15"},"returnParameters":{"id":16372,"nodeType":"ParameterList","parameters":[],"src":"86697:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16379,"nodeType":"FunctionDefinition","src":"86793:46:15","nodes":[],"documentation":{"id":16374,"nodeType":"StructuredDocumentation","src":"86704:84:15","text":"If the condition is false, discard this run's fuzz inputs and generate new ones."},"functionSelector":"4c63e562","implemented":false,"kind":"function","modifiers":[],"name":"assume","nameLocation":"86802:6:15","parameters":{"id":16377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16376,"mutability":"mutable","name":"condition","nameLocation":"86814:9:15","nodeType":"VariableDeclaration","scope":16379,"src":"86809:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16375,"name":"bool","nodeType":"ElementaryTypeName","src":"86809:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"86808:16:15"},"returnParameters":{"id":16378,"nodeType":"ParameterList","parameters":[],"src":"86838:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16383,"nodeType":"FunctionDefinition","src":"86929:40:15","nodes":[],"documentation":{"id":16380,"nodeType":"StructuredDocumentation","src":"86845:79:15","text":"Discard this run's fuzz inputs and generate new ones if next call reverted."},"functionSelector":"285b366a","implemented":false,"kind":"function","modifiers":[],"name":"assumeNoRevert","nameLocation":"86938:14:15","parameters":{"id":16381,"nodeType":"ParameterList","parameters":[],"src":"86952:2:15"},"returnParameters":{"id":16382,"nodeType":"ParameterList","parameters":[],"src":"86968:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16390,"nodeType":"FunctionDefinition","src":"87095:80:15","nodes":[],"documentation":{"id":16384,"nodeType":"StructuredDocumentation","src":"86975:115:15","text":"Discard this run's fuzz inputs and generate new ones if next call reverts with the potential revert parameters."},"functionSelector":"d8591eeb","implemented":false,"kind":"function","modifiers":[],"name":"assumeNoRevert","nameLocation":"87104:14:15","parameters":{"id":16388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16387,"mutability":"mutable","name":"potentialRevert","nameLocation":"87144:15:15","nodeType":"VariableDeclaration","scope":16390,"src":"87119:40:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_PotentialRevert_$13230_calldata_ptr","typeString":"struct VmSafe.PotentialRevert"},"typeName":{"id":16386,"nodeType":"UserDefinedTypeName","pathNode":{"id":16385,"name":"PotentialRevert","nameLocations":["87119:15:15"],"nodeType":"IdentifierPath","referencedDeclaration":13230,"src":"87119:15:15"},"referencedDeclaration":13230,"src":"87119:15:15","typeDescriptions":{"typeIdentifier":"t_struct$_PotentialRevert_$13230_storage_ptr","typeString":"struct VmSafe.PotentialRevert"}},"visibility":"internal"}],"src":"87118:42:15"},"returnParameters":{"id":16389,"nodeType":"ParameterList","parameters":[],"src":"87174:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16398,"nodeType":"FunctionDefinition","src":"87312:83:15","nodes":[],"documentation":{"id":16391,"nodeType":"StructuredDocumentation","src":"87181:126:15","text":"Discard this run's fuzz inputs and generate new ones if next call reverts with the any of the potential revert parameters."},"functionSelector":"8a4592cc","implemented":false,"kind":"function","modifiers":[],"name":"assumeNoRevert","nameLocation":"87321:14:15","parameters":{"id":16396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16395,"mutability":"mutable","name":"potentialReverts","nameLocation":"87363:16:15","nodeType":"VariableDeclaration","scope":16398,"src":"87336:43:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PotentialRevert_$13230_calldata_ptr_$dyn_calldata_ptr","typeString":"struct VmSafe.PotentialRevert[]"},"typeName":{"baseType":{"id":16393,"nodeType":"UserDefinedTypeName","pathNode":{"id":16392,"name":"PotentialRevert","nameLocations":["87336:15:15"],"nodeType":"IdentifierPath","referencedDeclaration":13230,"src":"87336:15:15"},"referencedDeclaration":13230,"src":"87336:15:15","typeDescriptions":{"typeIdentifier":"t_struct$_PotentialRevert_$13230_storage_ptr","typeString":"struct VmSafe.PotentialRevert"}},"id":16394,"nodeType":"ArrayTypeName","src":"87336:17:15","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PotentialRevert_$13230_storage_$dyn_storage_ptr","typeString":"struct VmSafe.PotentialRevert[]"}},"visibility":"internal"}],"src":"87335:45:15"},"returnParameters":{"id":16397,"nodeType":"ParameterList","parameters":[],"src":"87394:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16404,"nodeType":"FunctionDefinition","src":"87457:56:15","nodes":[],"documentation":{"id":16399,"nodeType":"StructuredDocumentation","src":"87401:51:15","text":"Writes a breakpoint to jump to in the debugger."},"functionSelector":"f0259e92","implemented":false,"kind":"function","modifiers":[],"name":"breakpoint","nameLocation":"87466:10:15","parameters":{"id":16402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16401,"mutability":"mutable","name":"char","nameLocation":"87493:4:15","nodeType":"VariableDeclaration","scope":16404,"src":"87477:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16400,"name":"string","nodeType":"ElementaryTypeName","src":"87477:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"87476:22:15"},"returnParameters":{"id":16403,"nodeType":"ParameterList","parameters":[],"src":"87512:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16412,"nodeType":"FunctionDefinition","src":"87587:68:15","nodes":[],"documentation":{"id":16405,"nodeType":"StructuredDocumentation","src":"87519:63:15","text":"Writes a conditional breakpoint to jump to in the debugger."},"functionSelector":"f7d39a8d","implemented":false,"kind":"function","modifiers":[],"name":"breakpoint","nameLocation":"87596:10:15","parameters":{"id":16410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16407,"mutability":"mutable","name":"char","nameLocation":"87623:4:15","nodeType":"VariableDeclaration","scope":16412,"src":"87607:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16406,"name":"string","nodeType":"ElementaryTypeName","src":"87607:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16409,"mutability":"mutable","name":"value","nameLocation":"87634:5:15","nodeType":"VariableDeclaration","scope":16412,"src":"87629:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16408,"name":"bool","nodeType":"ElementaryTypeName","src":"87629:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"87606:34:15"},"returnParameters":{"id":16411,"nodeType":"ParameterList","parameters":[],"src":"87654:0:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16420,"nodeType":"FunctionDefinition","src":"87901:85:15","nodes":[],"documentation":{"id":16413,"nodeType":"StructuredDocumentation","src":"87661:235:15","text":"Returns true if the current Foundry version is greater than or equal to the given version.\n The given version string must be in the format `major.minor.patch`.\n This is equivalent to `foundryVersionCmp(version) >= 0`."},"functionSelector":"6248be1f","implemented":false,"kind":"function","modifiers":[],"name":"foundryVersionAtLeast","nameLocation":"87910:21:15","parameters":{"id":16416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16415,"mutability":"mutable","name":"version","nameLocation":"87948:7:15","nodeType":"VariableDeclaration","scope":16420,"src":"87932:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16414,"name":"string","nodeType":"ElementaryTypeName","src":"87932:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"87931:25:15"},"returnParameters":{"id":16419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16418,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16420,"src":"87980:4:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16417,"name":"bool","nodeType":"ElementaryTypeName","src":"87980:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"87979:6:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":16428,"nodeType":"FunctionDefinition","src":"88593:83:15","nodes":[],"documentation":{"id":16421,"nodeType":"StructuredDocumentation","src":"87992:596:15","text":"Compares the current Foundry version with the given version string.\n The given version string must be in the format `major.minor.patch`.\n Returns:\n -1 if current Foundry version is less than the given version\n 0 if current Foundry version equals the given version\n 1 if current Foundry version is greater than the given version\n This result can then be used with a comparison operator against `0`.\n For example, to check if the current Foundry version is greater than or equal to `1.0.0`:\n `if (foundryVersionCmp(\"1.0.0\") >= 0) { ... }`"},"functionSelector":"ca7b0a09","implemented":false,"kind":"function","modifiers":[],"name":"foundryVersionCmp","nameLocation":"88602:17:15","parameters":{"id":16424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16423,"mutability":"mutable","name":"version","nameLocation":"88636:7:15","nodeType":"VariableDeclaration","scope":16428,"src":"88620:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16422,"name":"string","nodeType":"ElementaryTypeName","src":"88620:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"88619:25:15"},"returnParameters":{"id":16427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16426,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16428,"src":"88668:6:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16425,"name":"int256","nodeType":"ElementaryTypeName","src":"88668:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"88667:8:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":16437,"nodeType":"FunctionDefinition","src":"88732:89:15","nodes":[],"documentation":{"id":16429,"nodeType":"StructuredDocumentation","src":"88682:45:15","text":"Returns a Chain struct for specific alias"},"functionSelector":"4cc1c2bb","implemented":false,"kind":"function","modifiers":[],"name":"getChain","nameLocation":"88741:8:15","parameters":{"id":16432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16431,"mutability":"mutable","name":"chainAlias","nameLocation":"88766:10:15","nodeType":"VariableDeclaration","scope":16437,"src":"88750:26:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16430,"name":"string","nodeType":"ElementaryTypeName","src":"88750:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"88749:28:15"},"returnParameters":{"id":16436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16435,"mutability":"mutable","name":"chain","nameLocation":"88814:5:15","nodeType":"VariableDeclaration","scope":16437,"src":"88801:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$13124_memory_ptr","typeString":"struct VmSafe.Chain"},"typeName":{"id":16434,"nodeType":"UserDefinedTypeName","pathNode":{"id":16433,"name":"Chain","nameLocations":["88801:5:15"],"nodeType":"IdentifierPath","referencedDeclaration":13124,"src":"88801:5:15"},"referencedDeclaration":13124,"src":"88801:5:15","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$13124_storage_ptr","typeString":"struct VmSafe.Chain"}},"visibility":"internal"}],"src":"88800:20:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":16446,"nodeType":"FunctionDefinition","src":"88879:78:15","nodes":[],"documentation":{"id":16438,"nodeType":"StructuredDocumentation","src":"88827:47:15","text":"Returns a Chain struct for specific chainId"},"functionSelector":"b6791ad4","implemented":false,"kind":"function","modifiers":[],"name":"getChain","nameLocation":"88888:8:15","parameters":{"id":16441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16440,"mutability":"mutable","name":"chainId","nameLocation":"88905:7:15","nodeType":"VariableDeclaration","scope":16446,"src":"88897:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16439,"name":"uint256","nodeType":"ElementaryTypeName","src":"88897:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"88896:17:15"},"returnParameters":{"id":16445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16444,"mutability":"mutable","name":"chain","nameLocation":"88950:5:15","nodeType":"VariableDeclaration","scope":16446,"src":"88937:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$13124_memory_ptr","typeString":"struct VmSafe.Chain"},"typeName":{"id":16443,"nodeType":"UserDefinedTypeName","pathNode":{"id":16442,"name":"Chain","nameLocations":["88937:5:15"],"nodeType":"IdentifierPath","referencedDeclaration":13124,"src":"88937:5:15"},"referencedDeclaration":13124,"src":"88937:5:15","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$13124_storage_ptr","typeString":"struct VmSafe.Chain"}},"visibility":"internal"}],"src":"88936:20:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":16452,"nodeType":"FunctionDefinition","src":"89392:75:15","nodes":[],"documentation":{"id":16447,"nodeType":"StructuredDocumentation","src":"88963:424:15","text":"Returns the Foundry version.\n Format: -+..\n Sample output: 0.3.0-nightly+3cb96bde9b.1737036656.debug\n Note: Build timestamps may vary slightly across platforms due to separate CI jobs.\n For reliable version comparisons, use UNIX format (e.g., >= 1700000000)\n to compare timestamps while ignoring minor time differences."},"functionSelector":"ea991bb5","implemented":false,"kind":"function","modifiers":[],"name":"getFoundryVersion","nameLocation":"89401:17:15","parameters":{"id":16448,"nodeType":"ParameterList","parameters":[],"src":"89418:2:15"},"returnParameters":{"id":16451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16450,"mutability":"mutable","name":"version","nameLocation":"89458:7:15","nodeType":"VariableDeclaration","scope":16452,"src":"89444:21:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16449,"name":"string","nodeType":"ElementaryTypeName","src":"89444:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"89443:23:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":16460,"nodeType":"FunctionDefinition","src":"89522:85:15","nodes":[],"documentation":{"id":16453,"nodeType":"StructuredDocumentation","src":"89473:44:15","text":"Returns the RPC url for the given alias."},"functionSelector":"975a6ce9","implemented":false,"kind":"function","modifiers":[],"name":"rpcUrl","nameLocation":"89531:6:15","parameters":{"id":16456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16455,"mutability":"mutable","name":"rpcAlias","nameLocation":"89554:8:15","nodeType":"VariableDeclaration","scope":16460,"src":"89538:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16454,"name":"string","nodeType":"ElementaryTypeName","src":"89538:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"89537:26:15"},"returnParameters":{"id":16459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16458,"mutability":"mutable","name":"json","nameLocation":"89601:4:15","nodeType":"VariableDeclaration","scope":16460,"src":"89587:18:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16457,"name":"string","nodeType":"ElementaryTypeName","src":"89587:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"89586:20:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":16468,"nodeType":"FunctionDefinition","src":"89672:67:15","nodes":[],"documentation":{"id":16461,"nodeType":"StructuredDocumentation","src":"89613:54:15","text":"Returns all rpc urls and their aliases as structs."},"functionSelector":"9d2ad72a","implemented":false,"kind":"function","modifiers":[],"name":"rpcUrlStructs","nameLocation":"89681:13:15","parameters":{"id":16462,"nodeType":"ParameterList","parameters":[],"src":"89694:2:15"},"returnParameters":{"id":16467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16466,"mutability":"mutable","name":"urls","nameLocation":"89733:4:15","nodeType":"VariableDeclaration","scope":16468,"src":"89720:17:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Rpc_$13041_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Rpc[]"},"typeName":{"baseType":{"id":16464,"nodeType":"UserDefinedTypeName","pathNode":{"id":16463,"name":"Rpc","nameLocations":["89720:3:15"],"nodeType":"IdentifierPath","referencedDeclaration":13041,"src":"89720:3:15"},"referencedDeclaration":13041,"src":"89720:3:15","typeDescriptions":{"typeIdentifier":"t_struct$_Rpc_$13041_storage_ptr","typeString":"struct VmSafe.Rpc"}},"id":16465,"nodeType":"ArrayTypeName","src":"89720:5:15","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Rpc_$13041_storage_$dyn_storage_ptr","typeString":"struct VmSafe.Rpc[]"}},"visibility":"internal"}],"src":"89719:19:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":16477,"nodeType":"FunctionDefinition","src":"89810:67:15","nodes":[],"documentation":{"id":16469,"nodeType":"StructuredDocumentation","src":"89745:60:15","text":"Returns all rpc urls and their aliases `[alias, url][]`."},"functionSelector":"a85a8418","implemented":false,"kind":"function","modifiers":[],"name":"rpcUrls","nameLocation":"89819:7:15","parameters":{"id":16470,"nodeType":"ParameterList","parameters":[],"src":"89826:2:15"},"returnParameters":{"id":16476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16475,"mutability":"mutable","name":"urls","nameLocation":"89871:4:15","nodeType":"VariableDeclaration","scope":16477,"src":"89852:23:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr","typeString":"string[2][]"},"typeName":{"baseType":{"baseType":{"id":16471,"name":"string","nodeType":"ElementaryTypeName","src":"89852:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":16473,"length":{"hexValue":"32","id":16472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"89859:1:15","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"ArrayTypeName","src":"89852:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$2_storage_ptr","typeString":"string[2]"}},"id":16474,"nodeType":"ArrayTypeName","src":"89852:11:15","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_string_storage_$2_storage_$dyn_storage_ptr","typeString":"string[2][]"}},"visibility":"internal"}],"src":"89851:25:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":16483,"nodeType":"FunctionDefinition","src":"89958:42:15","nodes":[],"documentation":{"id":16478,"nodeType":"StructuredDocumentation","src":"89883:70:15","text":"Suspends execution of the main thread for `duration` milliseconds."},"functionSelector":"fa9d8713","implemented":false,"kind":"function","modifiers":[],"name":"sleep","nameLocation":"89967:5:15","parameters":{"id":16481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16480,"mutability":"mutable","name":"duration","nameLocation":"89981:8:15","nodeType":"VariableDeclaration","scope":16483,"src":"89973:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16479,"name":"uint256","nodeType":"ElementaryTypeName","src":"89973:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"89972:18:15"},"returnParameters":{"id":16482,"nodeType":"ParameterList","parameters":[],"src":"89999:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16493,"nodeType":"FunctionDefinition","src":"90085:95:15","nodes":[],"documentation":{"id":16484,"nodeType":"StructuredDocumentation","src":"90037:43:15","text":"Checks if `key` exists in a TOML table."},"functionSelector":"600903ad","implemented":false,"kind":"function","modifiers":[],"name":"keyExistsToml","nameLocation":"90094:13:15","parameters":{"id":16489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16486,"mutability":"mutable","name":"toml","nameLocation":"90124:4:15","nodeType":"VariableDeclaration","scope":16493,"src":"90108:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16485,"name":"string","nodeType":"ElementaryTypeName","src":"90108:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16488,"mutability":"mutable","name":"key","nameLocation":"90146:3:15","nodeType":"VariableDeclaration","scope":16493,"src":"90130:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16487,"name":"string","nodeType":"ElementaryTypeName","src":"90130:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"90107:43:15"},"returnParameters":{"id":16492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16491,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16493,"src":"90174:4:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16490,"name":"bool","nodeType":"ElementaryTypeName","src":"90174:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"90173:6:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":16503,"nodeType":"FunctionDefinition","src":"90261:101:15","nodes":[],"documentation":{"id":16494,"nodeType":"StructuredDocumentation","src":"90186:70:15","text":"Parses a string of TOML data at `key` and coerces it to `address`."},"functionSelector":"65e7c844","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlAddress","nameLocation":"90270:16:15","parameters":{"id":16499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16496,"mutability":"mutable","name":"toml","nameLocation":"90303:4:15","nodeType":"VariableDeclaration","scope":16503,"src":"90287:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16495,"name":"string","nodeType":"ElementaryTypeName","src":"90287:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16498,"mutability":"mutable","name":"key","nameLocation":"90325:3:15","nodeType":"VariableDeclaration","scope":16503,"src":"90309:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16497,"name":"string","nodeType":"ElementaryTypeName","src":"90309:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"90286:43:15"},"returnParameters":{"id":16502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16501,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16503,"src":"90353:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16500,"name":"address","nodeType":"ElementaryTypeName","src":"90353:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"90352:9:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16514,"nodeType":"FunctionDefinition","src":"90445:139:15","nodes":[],"documentation":{"id":16504,"nodeType":"StructuredDocumentation","src":"90368:72:15","text":"Parses a string of TOML data at `key` and coerces it to `address[]`."},"functionSelector":"65c428e7","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlAddressArray","nameLocation":"90454:21:15","parameters":{"id":16509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16506,"mutability":"mutable","name":"toml","nameLocation":"90492:4:15","nodeType":"VariableDeclaration","scope":16514,"src":"90476:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16505,"name":"string","nodeType":"ElementaryTypeName","src":"90476:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16508,"mutability":"mutable","name":"key","nameLocation":"90514:3:15","nodeType":"VariableDeclaration","scope":16514,"src":"90498:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16507,"name":"string","nodeType":"ElementaryTypeName","src":"90498:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"90475:43:15"},"returnParameters":{"id":16513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16512,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16514,"src":"90566:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":16510,"name":"address","nodeType":"ElementaryTypeName","src":"90566:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":16511,"nodeType":"ArrayTypeName","src":"90566:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"90565:18:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16524,"nodeType":"FunctionDefinition","src":"90662:95:15","nodes":[],"documentation":{"id":16515,"nodeType":"StructuredDocumentation","src":"90590:67:15","text":"Parses a string of TOML data at `key` and coerces it to `bool`."},"functionSelector":"d30dced6","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlBool","nameLocation":"90671:13:15","parameters":{"id":16520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16517,"mutability":"mutable","name":"toml","nameLocation":"90701:4:15","nodeType":"VariableDeclaration","scope":16524,"src":"90685:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16516,"name":"string","nodeType":"ElementaryTypeName","src":"90685:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16519,"mutability":"mutable","name":"key","nameLocation":"90723:3:15","nodeType":"VariableDeclaration","scope":16524,"src":"90707:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16518,"name":"string","nodeType":"ElementaryTypeName","src":"90707:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"90684:43:15"},"returnParameters":{"id":16523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16522,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16524,"src":"90751:4:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16521,"name":"bool","nodeType":"ElementaryTypeName","src":"90751:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"90750:6:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16535,"nodeType":"FunctionDefinition","src":"90837:109:15","nodes":[],"documentation":{"id":16525,"nodeType":"StructuredDocumentation","src":"90763:69:15","text":"Parses a string of TOML data at `key` and coerces it to `bool[]`."},"functionSelector":"127cfe9a","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlBoolArray","nameLocation":"90846:18:15","parameters":{"id":16530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16527,"mutability":"mutable","name":"toml","nameLocation":"90881:4:15","nodeType":"VariableDeclaration","scope":16535,"src":"90865:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16526,"name":"string","nodeType":"ElementaryTypeName","src":"90865:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16529,"mutability":"mutable","name":"key","nameLocation":"90903:3:15","nodeType":"VariableDeclaration","scope":16535,"src":"90887:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16528,"name":"string","nodeType":"ElementaryTypeName","src":"90887:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"90864:43:15"},"returnParameters":{"id":16534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16533,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16535,"src":"90931:13:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":16531,"name":"bool","nodeType":"ElementaryTypeName","src":"90931:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":16532,"nodeType":"ArrayTypeName","src":"90931:6:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"90930:15:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16545,"nodeType":"FunctionDefinition","src":"91025:104:15","nodes":[],"documentation":{"id":16536,"nodeType":"StructuredDocumentation","src":"90952:68:15","text":"Parses a string of TOML data at `key` and coerces it to `bytes`."},"functionSelector":"d77bfdb9","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlBytes","nameLocation":"91034:14:15","parameters":{"id":16541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16538,"mutability":"mutable","name":"toml","nameLocation":"91065:4:15","nodeType":"VariableDeclaration","scope":16545,"src":"91049:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16537,"name":"string","nodeType":"ElementaryTypeName","src":"91049:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16540,"mutability":"mutable","name":"key","nameLocation":"91087:3:15","nodeType":"VariableDeclaration","scope":16545,"src":"91071:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16539,"name":"string","nodeType":"ElementaryTypeName","src":"91071:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"91048:43:15"},"returnParameters":{"id":16544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16543,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16545,"src":"91115:12:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16542,"name":"bytes","nodeType":"ElementaryTypeName","src":"91115:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"91114:14:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16555,"nodeType":"FunctionDefinition","src":"91210:101:15","nodes":[],"documentation":{"id":16546,"nodeType":"StructuredDocumentation","src":"91135:70:15","text":"Parses a string of TOML data at `key` and coerces it to `bytes32`."},"functionSelector":"8e214810","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlBytes32","nameLocation":"91219:16:15","parameters":{"id":16551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16548,"mutability":"mutable","name":"toml","nameLocation":"91252:4:15","nodeType":"VariableDeclaration","scope":16555,"src":"91236:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16547,"name":"string","nodeType":"ElementaryTypeName","src":"91236:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16550,"mutability":"mutable","name":"key","nameLocation":"91274:3:15","nodeType":"VariableDeclaration","scope":16555,"src":"91258:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16549,"name":"string","nodeType":"ElementaryTypeName","src":"91258:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"91235:43:15"},"returnParameters":{"id":16554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16553,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16555,"src":"91302:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16552,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91302:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"91301:9:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16566,"nodeType":"FunctionDefinition","src":"91394:139:15","nodes":[],"documentation":{"id":16556,"nodeType":"StructuredDocumentation","src":"91317:72:15","text":"Parses a string of TOML data at `key` and coerces it to `bytes32[]`."},"functionSelector":"3e716f81","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlBytes32Array","nameLocation":"91403:21:15","parameters":{"id":16561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16558,"mutability":"mutable","name":"toml","nameLocation":"91441:4:15","nodeType":"VariableDeclaration","scope":16566,"src":"91425:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16557,"name":"string","nodeType":"ElementaryTypeName","src":"91425:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16560,"mutability":"mutable","name":"key","nameLocation":"91463:3:15","nodeType":"VariableDeclaration","scope":16566,"src":"91447:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16559,"name":"string","nodeType":"ElementaryTypeName","src":"91447:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"91424:43:15"},"returnParameters":{"id":16565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16564,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16566,"src":"91515:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":16562,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91515:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16563,"nodeType":"ArrayTypeName","src":"91515:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"91514:18:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16577,"nodeType":"FunctionDefinition","src":"91614:111:15","nodes":[],"documentation":{"id":16567,"nodeType":"StructuredDocumentation","src":"91539:70:15","text":"Parses a string of TOML data at `key` and coerces it to `bytes[]`."},"functionSelector":"b197c247","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlBytesArray","nameLocation":"91623:19:15","parameters":{"id":16572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16569,"mutability":"mutable","name":"toml","nameLocation":"91659:4:15","nodeType":"VariableDeclaration","scope":16577,"src":"91643:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16568,"name":"string","nodeType":"ElementaryTypeName","src":"91643:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16571,"mutability":"mutable","name":"key","nameLocation":"91681:3:15","nodeType":"VariableDeclaration","scope":16577,"src":"91665:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16570,"name":"string","nodeType":"ElementaryTypeName","src":"91665:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"91642:43:15"},"returnParameters":{"id":16576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16575,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16577,"src":"91709:14:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":16573,"name":"bytes","nodeType":"ElementaryTypeName","src":"91709:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":16574,"nodeType":"ArrayTypeName","src":"91709:7:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"91708:16:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16587,"nodeType":"FunctionDefinition","src":"91805:96:15","nodes":[],"documentation":{"id":16578,"nodeType":"StructuredDocumentation","src":"91731:69:15","text":"Parses a string of TOML data at `key` and coerces it to `int256`."},"functionSelector":"c1350739","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlInt","nameLocation":"91814:12:15","parameters":{"id":16583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16580,"mutability":"mutable","name":"toml","nameLocation":"91843:4:15","nodeType":"VariableDeclaration","scope":16587,"src":"91827:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16579,"name":"string","nodeType":"ElementaryTypeName","src":"91827:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16582,"mutability":"mutable","name":"key","nameLocation":"91865:3:15","nodeType":"VariableDeclaration","scope":16587,"src":"91849:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16581,"name":"string","nodeType":"ElementaryTypeName","src":"91849:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"91826:43:15"},"returnParameters":{"id":16586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16587,"src":"91893:6:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16584,"name":"int256","nodeType":"ElementaryTypeName","src":"91893:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"91892:8:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16598,"nodeType":"FunctionDefinition","src":"91983:110:15","nodes":[],"documentation":{"id":16588,"nodeType":"StructuredDocumentation","src":"91907:71:15","text":"Parses a string of TOML data at `key` and coerces it to `int256[]`."},"functionSelector":"d3522ae6","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlIntArray","nameLocation":"91992:17:15","parameters":{"id":16593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16590,"mutability":"mutable","name":"toml","nameLocation":"92026:4:15","nodeType":"VariableDeclaration","scope":16598,"src":"92010:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16589,"name":"string","nodeType":"ElementaryTypeName","src":"92010:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16592,"mutability":"mutable","name":"key","nameLocation":"92048:3:15","nodeType":"VariableDeclaration","scope":16598,"src":"92032:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16591,"name":"string","nodeType":"ElementaryTypeName","src":"92032:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"92009:43:15"},"returnParameters":{"id":16597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16596,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16598,"src":"92076:15:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":16594,"name":"int256","nodeType":"ElementaryTypeName","src":"92076:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":16595,"nodeType":"ArrayTypeName","src":"92076:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"92075:17:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16609,"nodeType":"FunctionDefinition","src":"92157:111:15","nodes":[],"documentation":{"id":16599,"nodeType":"StructuredDocumentation","src":"92099:53:15","text":"Returns an array of all the keys in a TOML table."},"functionSelector":"812a44b2","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlKeys","nameLocation":"92166:13:15","parameters":{"id":16604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16601,"mutability":"mutable","name":"toml","nameLocation":"92196:4:15","nodeType":"VariableDeclaration","scope":16609,"src":"92180:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16600,"name":"string","nodeType":"ElementaryTypeName","src":"92180:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16603,"mutability":"mutable","name":"key","nameLocation":"92218:3:15","nodeType":"VariableDeclaration","scope":16609,"src":"92202:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16602,"name":"string","nodeType":"ElementaryTypeName","src":"92202:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"92179:43:15"},"returnParameters":{"id":16608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16607,"mutability":"mutable","name":"keys","nameLocation":"92262:4:15","nodeType":"VariableDeclaration","scope":16609,"src":"92246:20:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":16605,"name":"string","nodeType":"ElementaryTypeName","src":"92246:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":16606,"nodeType":"ArrayTypeName","src":"92246:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"92245:22:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16619,"nodeType":"FunctionDefinition","src":"92348:106:15","nodes":[],"documentation":{"id":16610,"nodeType":"StructuredDocumentation","src":"92274:69:15","text":"Parses a string of TOML data at `key` and coerces it to `string`."},"functionSelector":"8bb8dd43","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlString","nameLocation":"92357:15:15","parameters":{"id":16615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16612,"mutability":"mutable","name":"toml","nameLocation":"92389:4:15","nodeType":"VariableDeclaration","scope":16619,"src":"92373:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16611,"name":"string","nodeType":"ElementaryTypeName","src":"92373:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16614,"mutability":"mutable","name":"key","nameLocation":"92411:3:15","nodeType":"VariableDeclaration","scope":16619,"src":"92395:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16613,"name":"string","nodeType":"ElementaryTypeName","src":"92395:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"92372:43:15"},"returnParameters":{"id":16618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16617,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16619,"src":"92439:13:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16616,"name":"string","nodeType":"ElementaryTypeName","src":"92439:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"92438:15:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16630,"nodeType":"FunctionDefinition","src":"92536:113:15","nodes":[],"documentation":{"id":16620,"nodeType":"StructuredDocumentation","src":"92460:71:15","text":"Parses a string of TOML data at `key` and coerces it to `string[]`."},"functionSelector":"9f629281","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlStringArray","nameLocation":"92545:20:15","parameters":{"id":16625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16622,"mutability":"mutable","name":"toml","nameLocation":"92582:4:15","nodeType":"VariableDeclaration","scope":16630,"src":"92566:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16621,"name":"string","nodeType":"ElementaryTypeName","src":"92566:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16624,"mutability":"mutable","name":"key","nameLocation":"92604:3:15","nodeType":"VariableDeclaration","scope":16630,"src":"92588:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16623,"name":"string","nodeType":"ElementaryTypeName","src":"92588:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"92565:43:15"},"returnParameters":{"id":16629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16628,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16630,"src":"92632:15:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":16626,"name":"string","nodeType":"ElementaryTypeName","src":"92632:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":16627,"nodeType":"ArrayTypeName","src":"92632:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"92631:17:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16642,"nodeType":"FunctionDefinition","src":"92766:165:15","nodes":[],"documentation":{"id":16631,"nodeType":"StructuredDocumentation","src":"92655:106:15","text":"Parses a string of TOML data at `key` and coerces it to type array corresponding to `typeDescription`."},"functionSelector":"49be3743","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlTypeArray","nameLocation":"92775:18:15","parameters":{"id":16638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16633,"mutability":"mutable","name":"toml","nameLocation":"92810:4:15","nodeType":"VariableDeclaration","scope":16642,"src":"92794:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16632,"name":"string","nodeType":"ElementaryTypeName","src":"92794:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16635,"mutability":"mutable","name":"key","nameLocation":"92832:3:15","nodeType":"VariableDeclaration","scope":16642,"src":"92816:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16634,"name":"string","nodeType":"ElementaryTypeName","src":"92816:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16637,"mutability":"mutable","name":"typeDescription","nameLocation":"92853:15:15","nodeType":"VariableDeclaration","scope":16642,"src":"92837:31:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16636,"name":"string","nodeType":"ElementaryTypeName","src":"92837:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"92793:76:15"},"returnParameters":{"id":16641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16640,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16642,"src":"92917:12:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16639,"name":"bytes","nodeType":"ElementaryTypeName","src":"92917:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"92916:14:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16652,"nodeType":"FunctionDefinition","src":"93033:139:15","nodes":[],"documentation":{"id":16643,"nodeType":"StructuredDocumentation","src":"92937:91:15","text":"Parses a string of TOML data and coerces it to type corresponding to `typeDescription`."},"functionSelector":"47fa5e11","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlType","nameLocation":"93042:13:15","parameters":{"id":16648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16645,"mutability":"mutable","name":"toml","nameLocation":"93072:4:15","nodeType":"VariableDeclaration","scope":16652,"src":"93056:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16644,"name":"string","nodeType":"ElementaryTypeName","src":"93056:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16647,"mutability":"mutable","name":"typeDescription","nameLocation":"93094:15:15","nodeType":"VariableDeclaration","scope":16652,"src":"93078:31:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16646,"name":"string","nodeType":"ElementaryTypeName","src":"93078:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"93055:55:15"},"returnParameters":{"id":16651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16650,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16652,"src":"93158:12:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16649,"name":"bytes","nodeType":"ElementaryTypeName","src":"93158:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"93157:14:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16664,"nodeType":"FunctionDefinition","src":"93283:160:15","nodes":[],"documentation":{"id":16653,"nodeType":"StructuredDocumentation","src":"93178:100:15","text":"Parses a string of TOML data at `key` and coerces it to type corresponding to `typeDescription`."},"functionSelector":"f9fa5cdb","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlType","nameLocation":"93292:13:15","parameters":{"id":16660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16655,"mutability":"mutable","name":"toml","nameLocation":"93322:4:15","nodeType":"VariableDeclaration","scope":16664,"src":"93306:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16654,"name":"string","nodeType":"ElementaryTypeName","src":"93306:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16657,"mutability":"mutable","name":"key","nameLocation":"93344:3:15","nodeType":"VariableDeclaration","scope":16664,"src":"93328:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16656,"name":"string","nodeType":"ElementaryTypeName","src":"93328:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16659,"mutability":"mutable","name":"typeDescription","nameLocation":"93365:15:15","nodeType":"VariableDeclaration","scope":16664,"src":"93349:31:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16658,"name":"string","nodeType":"ElementaryTypeName","src":"93349:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"93305:76:15"},"returnParameters":{"id":16663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16662,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16664,"src":"93429:12:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16661,"name":"bytes","nodeType":"ElementaryTypeName","src":"93429:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"93428:14:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16674,"nodeType":"FunctionDefinition","src":"93524:98:15","nodes":[],"documentation":{"id":16665,"nodeType":"StructuredDocumentation","src":"93449:70:15","text":"Parses a string of TOML data at `key` and coerces it to `uint256`."},"functionSelector":"cc7b0487","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlUint","nameLocation":"93533:13:15","parameters":{"id":16670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16667,"mutability":"mutable","name":"toml","nameLocation":"93563:4:15","nodeType":"VariableDeclaration","scope":16674,"src":"93547:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16666,"name":"string","nodeType":"ElementaryTypeName","src":"93547:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16669,"mutability":"mutable","name":"key","nameLocation":"93585:3:15","nodeType":"VariableDeclaration","scope":16674,"src":"93569:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16668,"name":"string","nodeType":"ElementaryTypeName","src":"93569:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"93546:43:15"},"returnParameters":{"id":16673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16672,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16674,"src":"93613:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16671,"name":"uint256","nodeType":"ElementaryTypeName","src":"93613:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"93612:9:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16685,"nodeType":"FunctionDefinition","src":"93705:112:15","nodes":[],"documentation":{"id":16675,"nodeType":"StructuredDocumentation","src":"93628:72:15","text":"Parses a string of TOML data at `key` and coerces it to `uint256[]`."},"functionSelector":"b5df27c8","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlUintArray","nameLocation":"93714:18:15","parameters":{"id":16680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16677,"mutability":"mutable","name":"toml","nameLocation":"93749:4:15","nodeType":"VariableDeclaration","scope":16685,"src":"93733:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16676,"name":"string","nodeType":"ElementaryTypeName","src":"93733:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16679,"mutability":"mutable","name":"key","nameLocation":"93771:3:15","nodeType":"VariableDeclaration","scope":16685,"src":"93755:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16678,"name":"string","nodeType":"ElementaryTypeName","src":"93755:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"93732:43:15"},"returnParameters":{"id":16684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16683,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16685,"src":"93799:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":16681,"name":"uint256","nodeType":"ElementaryTypeName","src":"93799:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16682,"nodeType":"ArrayTypeName","src":"93799:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"93798:18:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16693,"nodeType":"FunctionDefinition","src":"93857:93:15","nodes":[],"documentation":{"id":16686,"nodeType":"StructuredDocumentation","src":"93823:29:15","text":"ABI-encodes a TOML table."},"functionSelector":"592151f0","implemented":false,"kind":"function","modifiers":[],"name":"parseToml","nameLocation":"93866:9:15","parameters":{"id":16689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16688,"mutability":"mutable","name":"toml","nameLocation":"93892:4:15","nodeType":"VariableDeclaration","scope":16693,"src":"93876:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16687,"name":"string","nodeType":"ElementaryTypeName","src":"93876:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"93875:22:15"},"returnParameters":{"id":16692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16691,"mutability":"mutable","name":"abiEncodedData","nameLocation":"93934:14:15","nodeType":"VariableDeclaration","scope":16693,"src":"93921:27:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16690,"name":"bytes","nodeType":"ElementaryTypeName","src":"93921:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"93920:29:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16703,"nodeType":"FunctionDefinition","src":"93999:114:15","nodes":[],"documentation":{"id":16694,"nodeType":"StructuredDocumentation","src":"93956:38:15","text":"ABI-encodes a TOML table at `key`."},"functionSelector":"37736e08","implemented":false,"kind":"function","modifiers":[],"name":"parseToml","nameLocation":"94008:9:15","parameters":{"id":16699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16696,"mutability":"mutable","name":"toml","nameLocation":"94034:4:15","nodeType":"VariableDeclaration","scope":16703,"src":"94018:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16695,"name":"string","nodeType":"ElementaryTypeName","src":"94018:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16698,"mutability":"mutable","name":"key","nameLocation":"94056:3:15","nodeType":"VariableDeclaration","scope":16703,"src":"94040:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16697,"name":"string","nodeType":"ElementaryTypeName","src":"94040:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"94017:43:15"},"returnParameters":{"id":16702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16701,"mutability":"mutable","name":"abiEncodedData","nameLocation":"94097:14:15","nodeType":"VariableDeclaration","scope":16703,"src":"94084:27:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16700,"name":"bytes","nodeType":"ElementaryTypeName","src":"94084:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"94083:29:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16711,"nodeType":"FunctionDefinition","src":"94206:72:15","nodes":[],"documentation":{"id":16704,"nodeType":"StructuredDocumentation","src":"94119:82:15","text":"Takes serialized JSON, converts to TOML and write a serialized TOML to a file."},"functionSelector":"c0865ba7","implemented":false,"kind":"function","modifiers":[],"name":"writeToml","nameLocation":"94215:9:15","parameters":{"id":16709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16706,"mutability":"mutable","name":"json","nameLocation":"94241:4:15","nodeType":"VariableDeclaration","scope":16711,"src":"94225:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16705,"name":"string","nodeType":"ElementaryTypeName","src":"94225:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16708,"mutability":"mutable","name":"path","nameLocation":"94263:4:15","nodeType":"VariableDeclaration","scope":16711,"src":"94247:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16707,"name":"string","nodeType":"ElementaryTypeName","src":"94247:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"94224:44:15"},"returnParameters":{"id":16710,"nodeType":"ParameterList","parameters":[],"src":"94277:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16721,"nodeType":"FunctionDefinition","src":"94547:98:15","nodes":[],"documentation":{"id":16712,"nodeType":"StructuredDocumentation","src":"94284:258:15","text":"Takes serialized JSON, converts to TOML and write a serialized TOML table to an **existing** TOML file, replacing a value with key = \n This is useful to replace a specific value of a TOML file, without having to parse the entire thing."},"functionSelector":"51ac6a33","implemented":false,"kind":"function","modifiers":[],"name":"writeToml","nameLocation":"94556:9:15","parameters":{"id":16719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16714,"mutability":"mutable","name":"json","nameLocation":"94582:4:15","nodeType":"VariableDeclaration","scope":16721,"src":"94566:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16713,"name":"string","nodeType":"ElementaryTypeName","src":"94566:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16716,"mutability":"mutable","name":"path","nameLocation":"94604:4:15","nodeType":"VariableDeclaration","scope":16721,"src":"94588:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16715,"name":"string","nodeType":"ElementaryTypeName","src":"94588:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16718,"mutability":"mutable","name":"valueKey","nameLocation":"94626:8:15","nodeType":"VariableDeclaration","scope":16721,"src":"94610:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16717,"name":"string","nodeType":"ElementaryTypeName","src":"94610:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"94565:70:15"},"returnParameters":{"id":16720,"nodeType":"ParameterList","parameters":[],"src":"94644:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16733,"nodeType":"FunctionDefinition","src":"94784:141:15","nodes":[],"documentation":{"id":16722,"nodeType":"StructuredDocumentation","src":"94687:92:15","text":"Compute the address of a contract created with CREATE2 using the given CREATE2 deployer."},"functionSelector":"d323826a","implemented":false,"kind":"function","modifiers":[],"name":"computeCreate2Address","nameLocation":"94793:21:15","parameters":{"id":16729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16724,"mutability":"mutable","name":"salt","nameLocation":"94823:4:15","nodeType":"VariableDeclaration","scope":16733,"src":"94815:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16723,"name":"bytes32","nodeType":"ElementaryTypeName","src":"94815:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":16726,"mutability":"mutable","name":"initCodeHash","nameLocation":"94837:12:15","nodeType":"VariableDeclaration","scope":16733,"src":"94829:20:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16725,"name":"bytes32","nodeType":"ElementaryTypeName","src":"94829:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":16728,"mutability":"mutable","name":"deployer","nameLocation":"94859:8:15","nodeType":"VariableDeclaration","scope":16733,"src":"94851:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16727,"name":"address","nodeType":"ElementaryTypeName","src":"94851:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"94814:54:15"},"returnParameters":{"id":16732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16731,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16733,"src":"94916:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16730,"name":"address","nodeType":"ElementaryTypeName","src":"94916:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"94915:9:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16743,"nodeType":"FunctionDefinition","src":"95030:99:15","nodes":[],"documentation":{"id":16734,"nodeType":"StructuredDocumentation","src":"94931:94:15","text":"Compute the address of a contract created with CREATE2 using the default CREATE2 deployer."},"functionSelector":"890c283b","implemented":false,"kind":"function","modifiers":[],"name":"computeCreate2Address","nameLocation":"95039:21:15","parameters":{"id":16739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16736,"mutability":"mutable","name":"salt","nameLocation":"95069:4:15","nodeType":"VariableDeclaration","scope":16743,"src":"95061:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16735,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95061:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":16738,"mutability":"mutable","name":"initCodeHash","nameLocation":"95083:12:15","nodeType":"VariableDeclaration","scope":16743,"src":"95075:20:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16737,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95075:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"95060:36:15"},"returnParameters":{"id":16742,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16741,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16743,"src":"95120:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16740,"name":"address","nodeType":"ElementaryTypeName","src":"95120:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"95119:9:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16753,"nodeType":"FunctionDefinition","src":"95234:95:15","nodes":[],"documentation":{"id":16744,"nodeType":"StructuredDocumentation","src":"95135:94:15","text":"Compute the address a contract will be deployed at for a given deployer address and nonce."},"functionSelector":"74637a7a","implemented":false,"kind":"function","modifiers":[],"name":"computeCreateAddress","nameLocation":"95243:20:15","parameters":{"id":16749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16746,"mutability":"mutable","name":"deployer","nameLocation":"95272:8:15","nodeType":"VariableDeclaration","scope":16753,"src":"95264:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16745,"name":"address","nodeType":"ElementaryTypeName","src":"95264:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16748,"mutability":"mutable","name":"nonce","nameLocation":"95290:5:15","nodeType":"VariableDeclaration","scope":16753,"src":"95282:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16747,"name":"uint256","nodeType":"ElementaryTypeName","src":"95282:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"95263:33:15"},"returnParameters":{"id":16752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16751,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16753,"src":"95320:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16750,"name":"address","nodeType":"ElementaryTypeName","src":"95320:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"95319:9:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16761,"nodeType":"FunctionDefinition","src":"95422:56:15","nodes":[],"documentation":{"id":16754,"nodeType":"StructuredDocumentation","src":"95335:82:15","text":"Utility cheatcode to copy storage of `from` contract to another `to` contract."},"functionSelector":"203dac0d","implemented":false,"kind":"function","modifiers":[],"name":"copyStorage","nameLocation":"95431:11:15","parameters":{"id":16759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16756,"mutability":"mutable","name":"from","nameLocation":"95451:4:15","nodeType":"VariableDeclaration","scope":16761,"src":"95443:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16755,"name":"address","nodeType":"ElementaryTypeName","src":"95443:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16758,"mutability":"mutable","name":"to","nameLocation":"95465:2:15","nodeType":"VariableDeclaration","scope":16761,"src":"95457:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16757,"name":"address","nodeType":"ElementaryTypeName","src":"95457:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"95442:26:15"},"returnParameters":{"id":16760,"nodeType":"ParameterList","parameters":[],"src":"95477:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16769,"nodeType":"FunctionDefinition","src":"95534:75:15","nodes":[],"documentation":{"id":16762,"nodeType":"StructuredDocumentation","src":"95484:45:15","text":"Returns ENS namehash for provided string."},"functionSelector":"8c374c65","implemented":false,"kind":"function","modifiers":[],"name":"ensNamehash","nameLocation":"95543:11:15","parameters":{"id":16765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16764,"mutability":"mutable","name":"name","nameLocation":"95571:4:15","nodeType":"VariableDeclaration","scope":16769,"src":"95555:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16763,"name":"string","nodeType":"ElementaryTypeName","src":"95555:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"95554:22:15"},"returnParameters":{"id":16768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16767,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16769,"src":"95600:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16766,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95600:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"95599:9:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16777,"nodeType":"FunctionDefinition","src":"95665:86:15","nodes":[],"documentation":{"id":16770,"nodeType":"StructuredDocumentation","src":"95615:45:15","text":"Gets the label for the specified address."},"functionSelector":"28a249b0","implemented":false,"kind":"function","modifiers":[],"name":"getLabel","nameLocation":"95674:8:15","parameters":{"id":16773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16772,"mutability":"mutable","name":"account","nameLocation":"95691:7:15","nodeType":"VariableDeclaration","scope":16777,"src":"95683:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16771,"name":"address","nodeType":"ElementaryTypeName","src":"95683:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"95682:17:15"},"returnParameters":{"id":16776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16775,"mutability":"mutable","name":"currentLabel","nameLocation":"95737:12:15","nodeType":"VariableDeclaration","scope":16777,"src":"95723:26:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16774,"name":"string","nodeType":"ElementaryTypeName","src":"95723:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"95722:28:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":16785,"nodeType":"FunctionDefinition","src":"95799:67:15","nodes":[],"documentation":{"id":16778,"nodeType":"StructuredDocumentation","src":"95757:37:15","text":"Labels an address in call traces."},"functionSelector":"c657c718","implemented":false,"kind":"function","modifiers":[],"name":"label","nameLocation":"95808:5:15","parameters":{"id":16783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16780,"mutability":"mutable","name":"account","nameLocation":"95822:7:15","nodeType":"VariableDeclaration","scope":16785,"src":"95814:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16779,"name":"address","nodeType":"ElementaryTypeName","src":"95814:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16782,"mutability":"mutable","name":"newLabel","nameLocation":"95847:8:15","nodeType":"VariableDeclaration","scope":16785,"src":"95831:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16781,"name":"string","nodeType":"ElementaryTypeName","src":"95831:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"95813:43:15"},"returnParameters":{"id":16784,"nodeType":"ParameterList","parameters":[],"src":"95865:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16789,"nodeType":"FunctionDefinition","src":"96021:38:15","nodes":[],"documentation":{"id":16786,"nodeType":"StructuredDocumentation","src":"95872:144:15","text":"Pauses collection of call traces. Useful in cases when you want to skip tracing of\n complex calls which are not useful for debugging."},"functionSelector":"c94d1f90","implemented":false,"kind":"function","modifiers":[],"name":"pauseTracing","nameLocation":"96030:12:15","parameters":{"id":16787,"nodeType":"ParameterList","parameters":[],"src":"96042:2:15"},"returnParameters":{"id":16788,"nodeType":"ParameterList","parameters":[],"src":"96058:0:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":16795,"nodeType":"FunctionDefinition","src":"96101:52:15","nodes":[],"documentation":{"id":16790,"nodeType":"StructuredDocumentation","src":"96065:31:15","text":"Returns a random `address`."},"functionSelector":"d5bee9f5","implemented":false,"kind":"function","modifiers":[],"name":"randomAddress","nameLocation":"96110:13:15","parameters":{"id":16791,"nodeType":"ParameterList","parameters":[],"src":"96123:2:15"},"returnParameters":{"id":16794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16793,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16795,"src":"96144:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16792,"name":"address","nodeType":"ElementaryTypeName","src":"96144:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"96143:9:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16801,"nodeType":"FunctionDefinition","src":"96192:51:15","nodes":[],"documentation":{"id":16796,"nodeType":"StructuredDocumentation","src":"96159:28:15","text":"Returns a random `bool`."},"functionSelector":"cdc126bd","implemented":false,"kind":"function","modifiers":[],"name":"randomBool","nameLocation":"96201:10:15","parameters":{"id":16797,"nodeType":"ParameterList","parameters":[],"src":"96211:2:15"},"returnParameters":{"id":16800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16799,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16801,"src":"96237:4:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16798,"name":"bool","nodeType":"ElementaryTypeName","src":"96237:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"96236:6:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":16809,"nodeType":"FunctionDefinition","src":"96312:71:15","nodes":[],"documentation":{"id":16802,"nodeType":"StructuredDocumentation","src":"96249:58:15","text":"Returns a random byte array value of the given length."},"functionSelector":"6c5d32a9","implemented":false,"kind":"function","modifiers":[],"name":"randomBytes","nameLocation":"96321:11:15","parameters":{"id":16805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16804,"mutability":"mutable","name":"len","nameLocation":"96341:3:15","nodeType":"VariableDeclaration","scope":16809,"src":"96333:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16803,"name":"uint256","nodeType":"ElementaryTypeName","src":"96333:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"96332:13:15"},"returnParameters":{"id":16808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16807,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16809,"src":"96369:12:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":16806,"name":"bytes","nodeType":"ElementaryTypeName","src":"96369:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"96368:14:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":16815,"nodeType":"FunctionDefinition","src":"96449:55:15","nodes":[],"documentation":{"id":16810,"nodeType":"StructuredDocumentation","src":"96389:55:15","text":"Returns a random fixed-size byte array of length 4."},"functionSelector":"9b7cd579","implemented":false,"kind":"function","modifiers":[],"name":"randomBytes4","nameLocation":"96458:12:15","parameters":{"id":16811,"nodeType":"ParameterList","parameters":[],"src":"96470:2:15"},"returnParameters":{"id":16814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16813,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16815,"src":"96496:6:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":16812,"name":"bytes4","nodeType":"ElementaryTypeName","src":"96496:6:15","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"96495:8:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":16821,"nodeType":"FunctionDefinition","src":"96570:55:15","nodes":[],"documentation":{"id":16816,"nodeType":"StructuredDocumentation","src":"96510:55:15","text":"Returns a random fixed-size byte array of length 8."},"functionSelector":"0497b0a5","implemented":false,"kind":"function","modifiers":[],"name":"randomBytes8","nameLocation":"96579:12:15","parameters":{"id":16817,"nodeType":"ParameterList","parameters":[],"src":"96591:2:15"},"returnParameters":{"id":16820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16819,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16821,"src":"96617:6:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"typeName":{"id":16818,"name":"bytes8","nodeType":"ElementaryTypeName","src":"96617:6:15","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"visibility":"internal"}],"src":"96616:8:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":16827,"nodeType":"FunctionDefinition","src":"96672:52:15","nodes":[],"documentation":{"id":16822,"nodeType":"StructuredDocumentation","src":"96631:36:15","text":"Returns a random `int256` value."},"functionSelector":"111f1202","implemented":false,"kind":"function","modifiers":[],"name":"randomInt","nameLocation":"96681:9:15","parameters":{"id":16823,"nodeType":"ParameterList","parameters":[],"src":"96690:2:15"},"returnParameters":{"id":16826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16825,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16827,"src":"96716:6:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16824,"name":"int256","nodeType":"ElementaryTypeName","src":"96716:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"96715:8:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":16835,"nodeType":"FunctionDefinition","src":"96785:64:15","nodes":[],"documentation":{"id":16828,"nodeType":"StructuredDocumentation","src":"96730:50:15","text":"Returns a random `int256` value of given bits."},"functionSelector":"12845966","implemented":false,"kind":"function","modifiers":[],"name":"randomInt","nameLocation":"96794:9:15","parameters":{"id":16831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16830,"mutability":"mutable","name":"bits","nameLocation":"96812:4:15","nodeType":"VariableDeclaration","scope":16835,"src":"96804:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16829,"name":"uint256","nodeType":"ElementaryTypeName","src":"96804:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"96803:14:15"},"returnParameters":{"id":16834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16833,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16835,"src":"96841:6:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":16832,"name":"int256","nodeType":"ElementaryTypeName","src":"96841:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"96840:8:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":16841,"nodeType":"FunctionDefinition","src":"96895:49:15","nodes":[],"documentation":{"id":16836,"nodeType":"StructuredDocumentation","src":"96855:35:15","text":"Returns a random uint256 value."},"functionSelector":"25124730","implemented":false,"kind":"function","modifiers":[],"name":"randomUint","nameLocation":"96904:10:15","parameters":{"id":16837,"nodeType":"ParameterList","parameters":[],"src":"96914:2:15"},"returnParameters":{"id":16840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16839,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16841,"src":"96935:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16838,"name":"uint256","nodeType":"ElementaryTypeName","src":"96935:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"96934:9:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16851,"nodeType":"FunctionDefinition","src":"97028:73:15","nodes":[],"documentation":{"id":16842,"nodeType":"StructuredDocumentation","src":"96950:73:15","text":"Returns random uint256 value between the provided range (=min..=max)."},"functionSelector":"d61b051b","implemented":false,"kind":"function","modifiers":[],"name":"randomUint","nameLocation":"97037:10:15","parameters":{"id":16847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16844,"mutability":"mutable","name":"min","nameLocation":"97056:3:15","nodeType":"VariableDeclaration","scope":16851,"src":"97048:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16843,"name":"uint256","nodeType":"ElementaryTypeName","src":"97048:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16846,"mutability":"mutable","name":"max","nameLocation":"97069:3:15","nodeType":"VariableDeclaration","scope":16851,"src":"97061:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16845,"name":"uint256","nodeType":"ElementaryTypeName","src":"97061:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"97047:26:15"},"returnParameters":{"id":16850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16849,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16851,"src":"97092:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16848,"name":"uint256","nodeType":"ElementaryTypeName","src":"97092:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"97091:9:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16859,"nodeType":"FunctionDefinition","src":"97163:66:15","nodes":[],"documentation":{"id":16852,"nodeType":"StructuredDocumentation","src":"97107:51:15","text":"Returns a random `uint256` value of given bits."},"functionSelector":"cf81e69c","implemented":false,"kind":"function","modifiers":[],"name":"randomUint","nameLocation":"97172:10:15","parameters":{"id":16855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16854,"mutability":"mutable","name":"bits","nameLocation":"97191:4:15","nodeType":"VariableDeclaration","scope":16859,"src":"97183:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16853,"name":"uint256","nodeType":"ElementaryTypeName","src":"97183:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"97182:14:15"},"returnParameters":{"id":16858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16857,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16859,"src":"97220:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16856,"name":"uint256","nodeType":"ElementaryTypeName","src":"97220:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"97219:9:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":16863,"nodeType":"FunctionDefinition","src":"97279:39:15","nodes":[],"documentation":{"id":16860,"nodeType":"StructuredDocumentation","src":"97235:39:15","text":"Unpauses collection of call traces."},"functionSelector":"72a09ccb","implemented":false,"kind":"function","modifiers":[],"name":"resumeTracing","nameLocation":"97288:13:15","parameters":{"id":16861,"nodeType":"ParameterList","parameters":[],"src":"97301:2:15"},"returnParameters":{"id":16862,"nodeType":"ParameterList","parameters":[],"src":"97317:0:15"},"scope":16930,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":16869,"nodeType":"FunctionDefinition","src":"97401:54:15","nodes":[],"documentation":{"id":16864,"nodeType":"StructuredDocumentation","src":"97324:72:15","text":"Utility cheatcode to set arbitrary storage for given target address."},"functionSelector":"e1631837","implemented":false,"kind":"function","modifiers":[],"name":"setArbitraryStorage","nameLocation":"97410:19:15","parameters":{"id":16867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16866,"mutability":"mutable","name":"target","nameLocation":"97438:6:15","nodeType":"VariableDeclaration","scope":16869,"src":"97430:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16865,"name":"address","nodeType":"ElementaryTypeName","src":"97430:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"97429:16:15"},"returnParameters":{"id":16868,"nodeType":"ParameterList","parameters":[],"src":"97454:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16877,"nodeType":"FunctionDefinition","src":"97608:70:15","nodes":[],"documentation":{"id":16870,"nodeType":"StructuredDocumentation","src":"97461:142:15","text":"Utility cheatcode to set arbitrary storage for given target address and overwrite\n any storage slots that have been previously set."},"functionSelector":"d3ec2a0b","implemented":false,"kind":"function","modifiers":[],"name":"setArbitraryStorage","nameLocation":"97617:19:15","parameters":{"id":16875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16872,"mutability":"mutable","name":"target","nameLocation":"97645:6:15","nodeType":"VariableDeclaration","scope":16877,"src":"97637:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16871,"name":"address","nodeType":"ElementaryTypeName","src":"97637:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16874,"mutability":"mutable","name":"overwrite","nameLocation":"97658:9:15","nodeType":"VariableDeclaration","scope":16877,"src":"97653:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16873,"name":"bool","nodeType":"ElementaryTypeName","src":"97653:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"97636:32:15"},"returnParameters":{"id":16876,"nodeType":"ParameterList","parameters":[],"src":"97677:0:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16887,"nodeType":"FunctionDefinition","src":"97720:79:15","nodes":[],"documentation":{"id":16878,"nodeType":"StructuredDocumentation","src":"97684:31:15","text":"Randomly shuffles an array."},"functionSelector":"54f1469c","implemented":false,"kind":"function","modifiers":[],"name":"shuffle","nameLocation":"97729:7:15","parameters":{"id":16882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16881,"mutability":"mutable","name":"array","nameLocation":"97756:5:15","nodeType":"VariableDeclaration","scope":16887,"src":"97737:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":16879,"name":"uint256","nodeType":"ElementaryTypeName","src":"97737:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16880,"nodeType":"ArrayTypeName","src":"97737:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"97736:26:15"},"returnParameters":{"id":16886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16885,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16887,"src":"97781:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":16883,"name":"uint256","nodeType":"ElementaryTypeName","src":"97781:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16884,"nodeType":"ArrayTypeName","src":"97781:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"97780:18:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16897,"nodeType":"FunctionDefinition","src":"97848:76:15","nodes":[],"documentation":{"id":16888,"nodeType":"StructuredDocumentation","src":"97805:38:15","text":"Sorts an array in ascending order."},"functionSelector":"9ec8b026","implemented":false,"kind":"function","modifiers":[],"name":"sort","nameLocation":"97857:4:15","parameters":{"id":16892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16891,"mutability":"mutable","name":"array","nameLocation":"97881:5:15","nodeType":"VariableDeclaration","scope":16897,"src":"97862:24:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":16889,"name":"uint256","nodeType":"ElementaryTypeName","src":"97862:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16890,"nodeType":"ArrayTypeName","src":"97862:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"97861:26:15"},"returnParameters":{"id":16896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16895,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16897,"src":"97906:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":16893,"name":"uint256","nodeType":"ElementaryTypeName","src":"97906:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":16894,"nodeType":"ArrayTypeName","src":"97906:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"97905:18:15"},"scope":16930,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16905,"nodeType":"FunctionDefinition","src":"97985:80:15","nodes":[],"documentation":{"id":16898,"nodeType":"StructuredDocumentation","src":"97930:50:15","text":"Encodes a `bytes` value to a base64url string."},"functionSelector":"c8bd0e4a","implemented":false,"kind":"function","modifiers":[],"name":"toBase64URL","nameLocation":"97994:11:15","parameters":{"id":16901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16900,"mutability":"mutable","name":"data","nameLocation":"98021:4:15","nodeType":"VariableDeclaration","scope":16905,"src":"98006:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":16899,"name":"bytes","nodeType":"ElementaryTypeName","src":"98006:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"98005:21:15"},"returnParameters":{"id":16904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16903,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16905,"src":"98050:13:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16902,"name":"string","nodeType":"ElementaryTypeName","src":"98050:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"98049:15:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16913,"nodeType":"FunctionDefinition","src":"98127:81:15","nodes":[],"documentation":{"id":16906,"nodeType":"StructuredDocumentation","src":"98071:51:15","text":"Encodes a `string` value to a base64url string."},"functionSelector":"ae3165b3","implemented":false,"kind":"function","modifiers":[],"name":"toBase64URL","nameLocation":"98136:11:15","parameters":{"id":16909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16908,"mutability":"mutable","name":"data","nameLocation":"98164:4:15","nodeType":"VariableDeclaration","scope":16913,"src":"98148:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16907,"name":"string","nodeType":"ElementaryTypeName","src":"98148:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"98147:22:15"},"returnParameters":{"id":16912,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16911,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16913,"src":"98193:13:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16910,"name":"string","nodeType":"ElementaryTypeName","src":"98193:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"98192:15:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16921,"nodeType":"FunctionDefinition","src":"98266:77:15","nodes":[],"documentation":{"id":16914,"nodeType":"StructuredDocumentation","src":"98214:47:15","text":"Encodes a `bytes` value to a base64 string."},"functionSelector":"a5cbfe65","implemented":false,"kind":"function","modifiers":[],"name":"toBase64","nameLocation":"98275:8:15","parameters":{"id":16917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16916,"mutability":"mutable","name":"data","nameLocation":"98299:4:15","nodeType":"VariableDeclaration","scope":16921,"src":"98284:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":16915,"name":"bytes","nodeType":"ElementaryTypeName","src":"98284:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"98283:21:15"},"returnParameters":{"id":16920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16919,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16921,"src":"98328:13:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16918,"name":"string","nodeType":"ElementaryTypeName","src":"98328:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"98327:15:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":16929,"nodeType":"FunctionDefinition","src":"98402:78:15","nodes":[],"documentation":{"id":16922,"nodeType":"StructuredDocumentation","src":"98349:48:15","text":"Encodes a `string` value to a base64 string."},"functionSelector":"3f8be2c8","implemented":false,"kind":"function","modifiers":[],"name":"toBase64","nameLocation":"98411:8:15","parameters":{"id":16925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16924,"mutability":"mutable","name":"data","nameLocation":"98436:4:15","nodeType":"VariableDeclaration","scope":16929,"src":"98420:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":16923,"name":"string","nodeType":"ElementaryTypeName","src":"98420:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"98419:22:15"},"returnParameters":{"id":16928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16927,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":16929,"src":"98465:13:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16926,"name":"string","nodeType":"ElementaryTypeName","src":"98465:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"98464:15:15"},"scope":16930,"stateMutability":"pure","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"VmSafe","contractDependencies":[],"contractKind":"interface","documentation":{"id":12990,"nodeType":"StructuredDocumentation","src":"184:225:15","text":"The `VmSafe` interface does not allow manipulation of the EVM state or other actions that may\n result in Script simulations differing from on-chain execution. It is recommended to only use\n these cheats in scripts."},"fullyImplemented":false,"linearizedBaseContracts":[16930],"name":"VmSafe","nameLocation":"419:6:15","scope":18002,"usedErrors":[],"usedEvents":[]},{"id":18001,"nodeType":"ContractDefinition","src":"98655:26587:15","nodes":[{"id":16941,"nodeType":"FunctionDefinition","src":"98804:63:15","nodes":[],"documentation":{"id":16934,"nodeType":"StructuredDocumentation","src":"98714:85:15","text":"Utility cheatcode to set an EIP-2930 access list for all subsequent transactions."},"functionSelector":"743e4cb7","implemented":false,"kind":"function","modifiers":[],"name":"accessList","nameLocation":"98813:10:15","parameters":{"id":16939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16938,"mutability":"mutable","name":"access","nameLocation":"98850:6:15","nodeType":"VariableDeclaration","scope":16941,"src":"98824:32:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessListItem_$13237_calldata_ptr_$dyn_calldata_ptr","typeString":"struct VmSafe.AccessListItem[]"},"typeName":{"baseType":{"id":16936,"nodeType":"UserDefinedTypeName","pathNode":{"id":16935,"name":"AccessListItem","nameLocations":["98824:14:15"],"nodeType":"IdentifierPath","referencedDeclaration":13237,"src":"98824:14:15"},"referencedDeclaration":13237,"src":"98824:14:15","typeDescriptions":{"typeIdentifier":"t_struct$_AccessListItem_$13237_storage_ptr","typeString":"struct VmSafe.AccessListItem"}},"id":16937,"nodeType":"ArrayTypeName","src":"98824:16:15","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessListItem_$13237_storage_$dyn_storage_ptr","typeString":"struct VmSafe.AccessListItem[]"}},"visibility":"internal"}],"src":"98823:34:15"},"returnParameters":{"id":16940,"nodeType":"ParameterList","parameters":[],"src":"98866:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16947,"nodeType":"FunctionDefinition","src":"98974:61:15","nodes":[],"documentation":{"id":16942,"nodeType":"StructuredDocumentation","src":"98873:96:15","text":"Returns the identifier of the currently active fork. Reverts if no fork is currently active."},"functionSelector":"2f103f22","implemented":false,"kind":"function","modifiers":[],"name":"activeFork","nameLocation":"98983:10:15","parameters":{"id":16943,"nodeType":"ParameterList","parameters":[],"src":"98993:2:15"},"returnParameters":{"id":16946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16945,"mutability":"mutable","name":"forkId","nameLocation":"99027:6:15","nodeType":"VariableDeclaration","scope":16947,"src":"99019:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16944,"name":"uint256","nodeType":"ElementaryTypeName","src":"99019:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"99018:16:15"},"scope":18001,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":16953,"nodeType":"FunctionDefinition","src":"99119:51:15","nodes":[],"documentation":{"id":16948,"nodeType":"StructuredDocumentation","src":"99041:73:15","text":"In forking mode, explicitly grant the given address cheatcode access."},"functionSelector":"ea060291","implemented":false,"kind":"function","modifiers":[],"name":"allowCheatcodes","nameLocation":"99128:15:15","parameters":{"id":16951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16950,"mutability":"mutable","name":"account","nameLocation":"99152:7:15","nodeType":"VariableDeclaration","scope":16953,"src":"99144:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16949,"name":"address","nodeType":"ElementaryTypeName","src":"99144:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"99143:17:15"},"returnParameters":{"id":16952,"nodeType":"ParameterList","parameters":[],"src":"99169:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16959,"nodeType":"FunctionDefinition","src":"99209:54:15","nodes":[],"documentation":{"id":16954,"nodeType":"StructuredDocumentation","src":"99176:28:15","text":"Sets `block.blobbasefee`"},"functionSelector":"6d315d7e","implemented":false,"kind":"function","modifiers":[],"name":"blobBaseFee","nameLocation":"99218:11:15","parameters":{"id":16957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16956,"mutability":"mutable","name":"newBlobBaseFee","nameLocation":"99238:14:15","nodeType":"VariableDeclaration","scope":16959,"src":"99230:22:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16955,"name":"uint256","nodeType":"ElementaryTypeName","src":"99230:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"99229:24:15"},"returnParameters":{"id":16958,"nodeType":"ParameterList","parameters":[],"src":"99262:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16966,"nodeType":"FunctionDefinition","src":"99430:56:15","nodes":[],"documentation":{"id":16960,"nodeType":"StructuredDocumentation","src":"99269:156:15","text":"Sets the blobhashes in the transaction.\n Not available on EVM versions before Cancun.\n If used on unsupported EVM versions it will revert."},"functionSelector":"129de7eb","implemented":false,"kind":"function","modifiers":[],"name":"blobhashes","nameLocation":"99439:10:15","parameters":{"id":16964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16963,"mutability":"mutable","name":"hashes","nameLocation":"99469:6:15","nodeType":"VariableDeclaration","scope":16966,"src":"99450:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":16961,"name":"bytes32","nodeType":"ElementaryTypeName","src":"99450:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":16962,"nodeType":"ArrayTypeName","src":"99450:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"99449:27:15"},"returnParameters":{"id":16965,"nodeType":"ParameterList","parameters":[],"src":"99485:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16972,"nodeType":"FunctionDefinition","src":"99522:46:15","nodes":[],"documentation":{"id":16967,"nodeType":"StructuredDocumentation","src":"99492:25:15","text":"Sets `block.chainid`."},"functionSelector":"4049ddd2","implemented":false,"kind":"function","modifiers":[],"name":"chainId","nameLocation":"99531:7:15","parameters":{"id":16970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16969,"mutability":"mutable","name":"newChainId","nameLocation":"99547:10:15","nodeType":"VariableDeclaration","scope":16972,"src":"99539:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16968,"name":"uint256","nodeType":"ElementaryTypeName","src":"99539:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"99538:20:15"},"returnParameters":{"id":16971,"nodeType":"ParameterList","parameters":[],"src":"99567:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16976,"nodeType":"FunctionDefinition","src":"99607:37:15","nodes":[],"documentation":{"id":16973,"nodeType":"StructuredDocumentation","src":"99574:28:15","text":"Clears all mocked calls."},"functionSelector":"3fdf4e15","implemented":false,"kind":"function","modifiers":[],"name":"clearMockedCalls","nameLocation":"99616:16:15","parameters":{"id":16974,"nodeType":"ParameterList","parameters":[],"src":"99632:2:15"},"returnParameters":{"id":16975,"nodeType":"ParameterList","parameters":[],"src":"99643:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16984,"nodeType":"FunctionDefinition","src":"99766:63:15","nodes":[],"documentation":{"id":16977,"nodeType":"StructuredDocumentation","src":"99650:111:15","text":"Clones a source account code, state, balance and nonce to a target account and updates in-memory EVM state."},"functionSelector":"533d61c9","implemented":false,"kind":"function","modifiers":[],"name":"cloneAccount","nameLocation":"99775:12:15","parameters":{"id":16982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16979,"mutability":"mutable","name":"source","nameLocation":"99796:6:15","nodeType":"VariableDeclaration","scope":16984,"src":"99788:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16978,"name":"address","nodeType":"ElementaryTypeName","src":"99788:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16981,"mutability":"mutable","name":"target","nameLocation":"99812:6:15","nodeType":"VariableDeclaration","scope":16984,"src":"99804:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16980,"name":"address","nodeType":"ElementaryTypeName","src":"99804:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"99787:32:15"},"returnParameters":{"id":16983,"nodeType":"ParameterList","parameters":[],"src":"99828:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16990,"nodeType":"FunctionDefinition","src":"99866:48:15","nodes":[],"documentation":{"id":16985,"nodeType":"StructuredDocumentation","src":"99835:26:15","text":"Sets `block.coinbase`."},"functionSelector":"ff483c54","implemented":false,"kind":"function","modifiers":[],"name":"coinbase","nameLocation":"99875:8:15","parameters":{"id":16988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16987,"mutability":"mutable","name":"newCoinbase","nameLocation":"99892:11:15","nodeType":"VariableDeclaration","scope":16990,"src":"99884:19:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16986,"name":"address","nodeType":"ElementaryTypeName","src":"99884:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"99883:21:15"},"returnParameters":{"id":16989,"nodeType":"ParameterList","parameters":[],"src":"99913:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16996,"nodeType":"FunctionDefinition","src":"99991:39:15","nodes":[],"documentation":{"id":16991,"nodeType":"StructuredDocumentation","src":"99920:66:15","text":"Marks the slots of an account and the account address as cold."},"functionSelector":"40ff9f21","implemented":false,"kind":"function","modifiers":[],"name":"cool","nameLocation":"100000:4:15","parameters":{"id":16994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16993,"mutability":"mutable","name":"target","nameLocation":"100013:6:15","nodeType":"VariableDeclaration","scope":16996,"src":"100005:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16992,"name":"address","nodeType":"ElementaryTypeName","src":"100005:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"100004:16:15"},"returnParameters":{"id":16995,"nodeType":"ParameterList","parameters":[],"src":"100029:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17004,"nodeType":"FunctionDefinition","src":"100127:57:15","nodes":[],"documentation":{"id":16997,"nodeType":"StructuredDocumentation","src":"100036:86:15","text":"Utility cheatcode to mark specific storage slot as cold, simulating no prior read."},"functionSelector":"8c78e654","implemented":false,"kind":"function","modifiers":[],"name":"coolSlot","nameLocation":"100136:8:15","parameters":{"id":17002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16999,"mutability":"mutable","name":"target","nameLocation":"100153:6:15","nodeType":"VariableDeclaration","scope":17004,"src":"100145:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16998,"name":"address","nodeType":"ElementaryTypeName","src":"100145:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17001,"mutability":"mutable","name":"slot","nameLocation":"100169:4:15","nodeType":"VariableDeclaration","scope":17004,"src":"100161:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17000,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100161:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"100144:30:15"},"returnParameters":{"id":17003,"nodeType":"ParameterList","parameters":[],"src":"100183:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17012,"nodeType":"FunctionDefinition","src":"100304:82:15","nodes":[],"documentation":{"id":17005,"nodeType":"StructuredDocumentation","src":"100190:109:15","text":"Creates a new fork with the given endpoint and the _latest_ block and returns the identifier of the fork."},"functionSelector":"31ba3498","implemented":false,"kind":"function","modifiers":[],"name":"createFork","nameLocation":"100313:10:15","parameters":{"id":17008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17007,"mutability":"mutable","name":"urlOrAlias","nameLocation":"100340:10:15","nodeType":"VariableDeclaration","scope":17012,"src":"100324:26:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17006,"name":"string","nodeType":"ElementaryTypeName","src":"100324:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"100323:28:15"},"returnParameters":{"id":17011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17010,"mutability":"mutable","name":"forkId","nameLocation":"100378:6:15","nodeType":"VariableDeclaration","scope":17012,"src":"100370:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17009,"name":"uint256","nodeType":"ElementaryTypeName","src":"100370:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"100369:16:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17022,"nodeType":"FunctionDefinition","src":"100493:103:15","nodes":[],"documentation":{"id":17013,"nodeType":"StructuredDocumentation","src":"100392:96:15","text":"Creates a new fork with the given endpoint and block and returns the identifier of the fork."},"functionSelector":"6ba3ba2b","implemented":false,"kind":"function","modifiers":[],"name":"createFork","nameLocation":"100502:10:15","parameters":{"id":17018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17015,"mutability":"mutable","name":"urlOrAlias","nameLocation":"100529:10:15","nodeType":"VariableDeclaration","scope":17022,"src":"100513:26:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17014,"name":"string","nodeType":"ElementaryTypeName","src":"100513:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17017,"mutability":"mutable","name":"blockNumber","nameLocation":"100549:11:15","nodeType":"VariableDeclaration","scope":17022,"src":"100541:19:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17016,"name":"uint256","nodeType":"ElementaryTypeName","src":"100541:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"100512:49:15"},"returnParameters":{"id":17021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17020,"mutability":"mutable","name":"forkId","nameLocation":"100588:6:15","nodeType":"VariableDeclaration","scope":17022,"src":"100580:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17019,"name":"uint256","nodeType":"ElementaryTypeName","src":"100580:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"100579:16:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17032,"nodeType":"FunctionDefinition","src":"100821:98:15","nodes":[],"documentation":{"id":17023,"nodeType":"StructuredDocumentation","src":"100602:214:15","text":"Creates a new fork with the given endpoint and at the block the given transaction was mined in,\n replays all transaction mined in the block before the transaction, and returns the identifier of the fork."},"functionSelector":"7ca29682","implemented":false,"kind":"function","modifiers":[],"name":"createFork","nameLocation":"100830:10:15","parameters":{"id":17028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17025,"mutability":"mutable","name":"urlOrAlias","nameLocation":"100857:10:15","nodeType":"VariableDeclaration","scope":17032,"src":"100841:26:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17024,"name":"string","nodeType":"ElementaryTypeName","src":"100841:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17027,"mutability":"mutable","name":"txHash","nameLocation":"100877:6:15","nodeType":"VariableDeclaration","scope":17032,"src":"100869:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17026,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100869:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"100840:44:15"},"returnParameters":{"id":17031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17030,"mutability":"mutable","name":"forkId","nameLocation":"100911:6:15","nodeType":"VariableDeclaration","scope":17032,"src":"100903:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17029,"name":"uint256","nodeType":"ElementaryTypeName","src":"100903:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"100902:16:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17040,"nodeType":"FunctionDefinition","src":"101054:88:15","nodes":[],"documentation":{"id":17033,"nodeType":"StructuredDocumentation","src":"100925:124:15","text":"Creates and also selects a new fork with the given endpoint and the latest block and returns the identifier of the fork."},"functionSelector":"98680034","implemented":false,"kind":"function","modifiers":[],"name":"createSelectFork","nameLocation":"101063:16:15","parameters":{"id":17036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17035,"mutability":"mutable","name":"urlOrAlias","nameLocation":"101096:10:15","nodeType":"VariableDeclaration","scope":17040,"src":"101080:26:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17034,"name":"string","nodeType":"ElementaryTypeName","src":"101080:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"101079:28:15"},"returnParameters":{"id":17039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17038,"mutability":"mutable","name":"forkId","nameLocation":"101134:6:15","nodeType":"VariableDeclaration","scope":17040,"src":"101126:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17037,"name":"uint256","nodeType":"ElementaryTypeName","src":"101126:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"101125:16:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17050,"nodeType":"FunctionDefinition","src":"101266:109:15","nodes":[],"documentation":{"id":17041,"nodeType":"StructuredDocumentation","src":"101148:113:15","text":"Creates and also selects a new fork with the given endpoint and block and returns the identifier of the fork."},"functionSelector":"71ee464d","implemented":false,"kind":"function","modifiers":[],"name":"createSelectFork","nameLocation":"101275:16:15","parameters":{"id":17046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17043,"mutability":"mutable","name":"urlOrAlias","nameLocation":"101308:10:15","nodeType":"VariableDeclaration","scope":17050,"src":"101292:26:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17042,"name":"string","nodeType":"ElementaryTypeName","src":"101292:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17045,"mutability":"mutable","name":"blockNumber","nameLocation":"101328:11:15","nodeType":"VariableDeclaration","scope":17050,"src":"101320:19:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17044,"name":"uint256","nodeType":"ElementaryTypeName","src":"101320:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"101291:49:15"},"returnParameters":{"id":17049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17048,"mutability":"mutable","name":"forkId","nameLocation":"101367:6:15","nodeType":"VariableDeclaration","scope":17050,"src":"101359:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17047,"name":"uint256","nodeType":"ElementaryTypeName","src":"101359:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"101358:16:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17060,"nodeType":"FunctionDefinition","src":"101611:104:15","nodes":[],"documentation":{"id":17051,"nodeType":"StructuredDocumentation","src":"101381:225:15","text":"Creates and also selects new fork with the given endpoint and at the block the given transaction was mined in,\n replays all transaction mined in the block before the transaction, returns the identifier of the fork."},"functionSelector":"84d52b7a","implemented":false,"kind":"function","modifiers":[],"name":"createSelectFork","nameLocation":"101620:16:15","parameters":{"id":17056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17053,"mutability":"mutable","name":"urlOrAlias","nameLocation":"101653:10:15","nodeType":"VariableDeclaration","scope":17060,"src":"101637:26:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17052,"name":"string","nodeType":"ElementaryTypeName","src":"101637:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17055,"mutability":"mutable","name":"txHash","nameLocation":"101673:6:15","nodeType":"VariableDeclaration","scope":17060,"src":"101665:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17054,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101665:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"101636:44:15"},"returnParameters":{"id":17059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17058,"mutability":"mutable","name":"forkId","nameLocation":"101707:6:15","nodeType":"VariableDeclaration","scope":17060,"src":"101699:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17057,"name":"uint256","nodeType":"ElementaryTypeName","src":"101699:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"101698:16:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17068,"nodeType":"FunctionDefinition","src":"101755:60:15","nodes":[],"documentation":{"id":17061,"nodeType":"StructuredDocumentation","src":"101721:29:15","text":"Sets an address' balance."},"functionSelector":"c88a5e6d","implemented":false,"kind":"function","modifiers":[],"name":"deal","nameLocation":"101764:4:15","parameters":{"id":17066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17063,"mutability":"mutable","name":"account","nameLocation":"101777:7:15","nodeType":"VariableDeclaration","scope":17068,"src":"101769:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17062,"name":"address","nodeType":"ElementaryTypeName","src":"101769:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17065,"mutability":"mutable","name":"newBalance","nameLocation":"101794:10:15","nodeType":"VariableDeclaration","scope":17068,"src":"101786:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17064,"name":"uint256","nodeType":"ElementaryTypeName","src":"101786:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"101768:37:15"},"returnParameters":{"id":17067,"nodeType":"ParameterList","parameters":[],"src":"101814:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17076,"nodeType":"FunctionDefinition","src":"102053:81:15","nodes":[],"documentation":{"id":17069,"nodeType":"StructuredDocumentation","src":"101821:227:15","text":"Removes the snapshot with the given ID created by `snapshot`.\n Takes the snapshot ID to delete.\n Returns `true` if the snapshot was successfully deleted.\n Returns `false` if the snapshot does not exist."},"functionSelector":"08d6b37a","implemented":false,"kind":"function","modifiers":[],"name":"deleteStateSnapshot","nameLocation":"102062:19:15","parameters":{"id":17072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17071,"mutability":"mutable","name":"snapshotId","nameLocation":"102090:10:15","nodeType":"VariableDeclaration","scope":17076,"src":"102082:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17070,"name":"uint256","nodeType":"ElementaryTypeName","src":"102082:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"102081:20:15"},"returnParameters":{"id":17075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17074,"mutability":"mutable","name":"success","nameLocation":"102125:7:15","nodeType":"VariableDeclaration","scope":17076,"src":"102120:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17073,"name":"bool","nodeType":"ElementaryTypeName","src":"102120:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"102119:14:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17080,"nodeType":"FunctionDefinition","src":"102206:41:15","nodes":[],"documentation":{"id":17077,"nodeType":"StructuredDocumentation","src":"102140:61:15","text":"Removes _all_ snapshots previously created by `snapshot`."},"functionSelector":"e0933c74","implemented":false,"kind":"function","modifiers":[],"name":"deleteStateSnapshots","nameLocation":"102215:20:15","parameters":{"id":17078,"nodeType":"ParameterList","parameters":[],"src":"102235:2:15"},"returnParameters":{"id":17079,"nodeType":"ParameterList","parameters":[],"src":"102246:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17086,"nodeType":"FunctionDefinition","src":"102423:52:15","nodes":[],"documentation":{"id":17081,"nodeType":"StructuredDocumentation","src":"102253:165:15","text":"Sets `block.difficulty`.\n Not available on EVM versions from Paris onwards. Use `prevrandao` instead.\n Reverts if used on unsupported EVM versions."},"functionSelector":"46cc92d9","implemented":false,"kind":"function","modifiers":[],"name":"difficulty","nameLocation":"102432:10:15","parameters":{"id":17084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17083,"mutability":"mutable","name":"newDifficulty","nameLocation":"102451:13:15","nodeType":"VariableDeclaration","scope":17086,"src":"102443:21:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17082,"name":"uint256","nodeType":"ElementaryTypeName","src":"102443:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"102442:23:15"},"returnParameters":{"id":17085,"nodeType":"ParameterList","parameters":[],"src":"102474:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17092,"nodeType":"FunctionDefinition","src":"102534:61:15","nodes":[],"documentation":{"id":17087,"nodeType":"StructuredDocumentation","src":"102481:48:15","text":"Dump a genesis JSON file's `allocs` to disk."},"functionSelector":"709ecd3f","implemented":false,"kind":"function","modifiers":[],"name":"dumpState","nameLocation":"102543:9:15","parameters":{"id":17090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17089,"mutability":"mutable","name":"pathToStateJson","nameLocation":"102569:15:15","nodeType":"VariableDeclaration","scope":17092,"src":"102553:31:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17088,"name":"string","nodeType":"ElementaryTypeName","src":"102553:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"102552:33:15"},"returnParameters":{"id":17091,"nodeType":"ParameterList","parameters":[],"src":"102594:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17100,"nodeType":"FunctionDefinition","src":"102632:74:15","nodes":[],"documentation":{"id":17093,"nodeType":"StructuredDocumentation","src":"102601:26:15","text":"Sets an address' code."},"functionSelector":"b4d6c782","implemented":false,"kind":"function","modifiers":[],"name":"etch","nameLocation":"102641:4:15","parameters":{"id":17098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17095,"mutability":"mutable","name":"target","nameLocation":"102654:6:15","nodeType":"VariableDeclaration","scope":17100,"src":"102646:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17094,"name":"address","nodeType":"ElementaryTypeName","src":"102646:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17097,"mutability":"mutable","name":"newRuntimeBytecode","nameLocation":"102677:18:15","nodeType":"VariableDeclaration","scope":17100,"src":"102662:33:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17096,"name":"bytes","nodeType":"ElementaryTypeName","src":"102662:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"102645:51:15"},"returnParameters":{"id":17099,"nodeType":"ParameterList","parameters":[],"src":"102705:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17106,"nodeType":"FunctionDefinition","src":"102742:42:15","nodes":[],"documentation":{"id":17101,"nodeType":"StructuredDocumentation","src":"102712:25:15","text":"Sets `block.basefee`."},"functionSelector":"39b37ab0","implemented":false,"kind":"function","modifiers":[],"name":"fee","nameLocation":"102751:3:15","parameters":{"id":17104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17103,"mutability":"mutable","name":"newBasefee","nameLocation":"102763:10:15","nodeType":"VariableDeclaration","scope":17106,"src":"102755:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17102,"name":"uint256","nodeType":"ElementaryTypeName","src":"102755:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"102754:20:15"},"returnParameters":{"id":17105,"nodeType":"ParameterList","parameters":[],"src":"102783:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17113,"nodeType":"FunctionDefinition","src":"102962:73:15","nodes":[],"documentation":{"id":17107,"nodeType":"StructuredDocumentation","src":"102790:167:15","text":"Gets the blockhashes from the current transaction.\n Not available on EVM versions before Cancun.\n If used on unsupported EVM versions it will revert."},"functionSelector":"f56ff18b","implemented":false,"kind":"function","modifiers":[],"name":"getBlobhashes","nameLocation":"102971:13:15","parameters":{"id":17108,"nodeType":"ParameterList","parameters":[],"src":"102984:2:15"},"returnParameters":{"id":17112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17111,"mutability":"mutable","name":"hashes","nameLocation":"103027:6:15","nodeType":"VariableDeclaration","scope":17113,"src":"103010:23:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":17109,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103010:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":17110,"nodeType":"ArrayTypeName","src":"103010:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"103009:25:15"},"scope":18001,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17121,"nodeType":"FunctionDefinition","src":"103102:79:15","nodes":[],"documentation":{"id":17114,"nodeType":"StructuredDocumentation","src":"103041:56:15","text":"Returns true if the account is marked as persistent."},"functionSelector":"d92d8efd","implemented":false,"kind":"function","modifiers":[],"name":"isPersistent","nameLocation":"103111:12:15","parameters":{"id":17117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17116,"mutability":"mutable","name":"account","nameLocation":"103132:7:15","nodeType":"VariableDeclaration","scope":17121,"src":"103124:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17115,"name":"address","nodeType":"ElementaryTypeName","src":"103124:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"103123:17:15"},"returnParameters":{"id":17120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17119,"mutability":"mutable","name":"persistent","nameLocation":"103169:10:15","nodeType":"VariableDeclaration","scope":17121,"src":"103164:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17118,"name":"bool","nodeType":"ElementaryTypeName","src":"103164:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"103163:17:15"},"scope":18001,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":17127,"nodeType":"FunctionDefinition","src":"103261:63:15","nodes":[],"documentation":{"id":17122,"nodeType":"StructuredDocumentation","src":"103187:69:15","text":"Load a genesis JSON file's `allocs` into the in-memory EVM state."},"functionSelector":"b3a056d7","implemented":false,"kind":"function","modifiers":[],"name":"loadAllocs","nameLocation":"103270:10:15","parameters":{"id":17125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17124,"mutability":"mutable","name":"pathToAllocsJson","nameLocation":"103297:16:15","nodeType":"VariableDeclaration","scope":17127,"src":"103281:32:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17123,"name":"string","nodeType":"ElementaryTypeName","src":"103281:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"103280:34:15"},"returnParameters":{"id":17126,"nodeType":"ParameterList","parameters":[],"src":"103323:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17133,"nodeType":"FunctionDefinition","src":"103527:50:15","nodes":[],"documentation":{"id":17128,"nodeType":"StructuredDocumentation","src":"103330:192:15","text":"Marks that the account(s) should use persistent storage across fork swaps in a multifork setup\n Meaning, changes made to the state of this account will be kept when switching forks."},"functionSelector":"57e22dde","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"103536:14:15","parameters":{"id":17131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17130,"mutability":"mutable","name":"account","nameLocation":"103559:7:15","nodeType":"VariableDeclaration","scope":17133,"src":"103551:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17129,"name":"address","nodeType":"ElementaryTypeName","src":"103551:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"103550:17:15"},"returnParameters":{"id":17132,"nodeType":"ParameterList","parameters":[],"src":"103576:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17141,"nodeType":"FunctionDefinition","src":"103622:69:15","nodes":[],"documentation":{"id":17134,"nodeType":"StructuredDocumentation","src":"103583:34:15","text":"See `makePersistent(address)`."},"functionSelector":"4074e0a8","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"103631:14:15","parameters":{"id":17139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17136,"mutability":"mutable","name":"account0","nameLocation":"103654:8:15","nodeType":"VariableDeclaration","scope":17141,"src":"103646:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17135,"name":"address","nodeType":"ElementaryTypeName","src":"103646:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17138,"mutability":"mutable","name":"account1","nameLocation":"103672:8:15","nodeType":"VariableDeclaration","scope":17141,"src":"103664:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17137,"name":"address","nodeType":"ElementaryTypeName","src":"103664:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"103645:36:15"},"returnParameters":{"id":17140,"nodeType":"ParameterList","parameters":[],"src":"103690:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17151,"nodeType":"FunctionDefinition","src":"103736:87:15","nodes":[],"documentation":{"id":17142,"nodeType":"StructuredDocumentation","src":"103697:34:15","text":"See `makePersistent(address)`."},"functionSelector":"efb77a75","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"103745:14:15","parameters":{"id":17149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17144,"mutability":"mutable","name":"account0","nameLocation":"103768:8:15","nodeType":"VariableDeclaration","scope":17151,"src":"103760:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17143,"name":"address","nodeType":"ElementaryTypeName","src":"103760:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17146,"mutability":"mutable","name":"account1","nameLocation":"103786:8:15","nodeType":"VariableDeclaration","scope":17151,"src":"103778:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17145,"name":"address","nodeType":"ElementaryTypeName","src":"103778:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17148,"mutability":"mutable","name":"account2","nameLocation":"103804:8:15","nodeType":"VariableDeclaration","scope":17151,"src":"103796:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17147,"name":"address","nodeType":"ElementaryTypeName","src":"103796:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"103759:54:15"},"returnParameters":{"id":17150,"nodeType":"ParameterList","parameters":[],"src":"103822:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17158,"nodeType":"FunctionDefinition","src":"103868:62:15","nodes":[],"documentation":{"id":17152,"nodeType":"StructuredDocumentation","src":"103829:34:15","text":"See `makePersistent(address)`."},"functionSelector":"1d9e269e","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"103877:14:15","parameters":{"id":17156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17155,"mutability":"mutable","name":"accounts","nameLocation":"103911:8:15","nodeType":"VariableDeclaration","scope":17158,"src":"103892:27:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":17153,"name":"address","nodeType":"ElementaryTypeName","src":"103892:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":17154,"nodeType":"ArrayTypeName","src":"103892:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"103891:29:15"},"returnParameters":{"id":17157,"nodeType":"ParameterList","parameters":[],"src":"103929:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17168,"nodeType":"FunctionDefinition","src":"104001:97:15","nodes":[],"documentation":{"id":17159,"nodeType":"StructuredDocumentation","src":"103936:60:15","text":"Reverts a call to an address with specified revert data."},"functionSelector":"dbaad147","implemented":false,"kind":"function","modifiers":[],"name":"mockCallRevert","nameLocation":"104010:14:15","parameters":{"id":17166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17161,"mutability":"mutable","name":"callee","nameLocation":"104033:6:15","nodeType":"VariableDeclaration","scope":17168,"src":"104025:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17160,"name":"address","nodeType":"ElementaryTypeName","src":"104025:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17163,"mutability":"mutable","name":"data","nameLocation":"104056:4:15","nodeType":"VariableDeclaration","scope":17168,"src":"104041:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17162,"name":"bytes","nodeType":"ElementaryTypeName","src":"104041:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":17165,"mutability":"mutable","name":"revertData","nameLocation":"104077:10:15","nodeType":"VariableDeclaration","scope":17168,"src":"104062:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17164,"name":"bytes","nodeType":"ElementaryTypeName","src":"104062:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"104024:64:15"},"returnParameters":{"id":17167,"nodeType":"ParameterList","parameters":[],"src":"104097:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17180,"nodeType":"FunctionDefinition","src":"104198:123:15","nodes":[],"documentation":{"id":17169,"nodeType":"StructuredDocumentation","src":"104104:89:15","text":"Reverts a call to an address with a specific `msg.value`, with specified revert data."},"functionSelector":"d23cd037","implemented":false,"kind":"function","modifiers":[],"name":"mockCallRevert","nameLocation":"104207:14:15","parameters":{"id":17178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17171,"mutability":"mutable","name":"callee","nameLocation":"104230:6:15","nodeType":"VariableDeclaration","scope":17180,"src":"104222:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17170,"name":"address","nodeType":"ElementaryTypeName","src":"104222:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17173,"mutability":"mutable","name":"msgValue","nameLocation":"104246:8:15","nodeType":"VariableDeclaration","scope":17180,"src":"104238:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17172,"name":"uint256","nodeType":"ElementaryTypeName","src":"104238:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17175,"mutability":"mutable","name":"data","nameLocation":"104271:4:15","nodeType":"VariableDeclaration","scope":17180,"src":"104256:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17174,"name":"bytes","nodeType":"ElementaryTypeName","src":"104256:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":17177,"mutability":"mutable","name":"revertData","nameLocation":"104292:10:15","nodeType":"VariableDeclaration","scope":17180,"src":"104277:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17176,"name":"bytes","nodeType":"ElementaryTypeName","src":"104277:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"104221:82:15"},"returnParameters":{"id":17179,"nodeType":"ParameterList","parameters":[],"src":"104320:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17190,"nodeType":"FunctionDefinition","src":"104534:89:15","nodes":[],"documentation":{"id":17181,"nodeType":"StructuredDocumentation","src":"104327:202:15","text":"Reverts a call to an address with specified revert data.\n Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`."},"functionSelector":"2dfba5df","implemented":false,"kind":"function","modifiers":[],"name":"mockCallRevert","nameLocation":"104543:14:15","parameters":{"id":17188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17183,"mutability":"mutable","name":"callee","nameLocation":"104566:6:15","nodeType":"VariableDeclaration","scope":17190,"src":"104558:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17182,"name":"address","nodeType":"ElementaryTypeName","src":"104558:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17185,"mutability":"mutable","name":"data","nameLocation":"104581:4:15","nodeType":"VariableDeclaration","scope":17190,"src":"104574:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":17184,"name":"bytes4","nodeType":"ElementaryTypeName","src":"104574:6:15","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":17187,"mutability":"mutable","name":"revertData","nameLocation":"104602:10:15","nodeType":"VariableDeclaration","scope":17190,"src":"104587:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17186,"name":"bytes","nodeType":"ElementaryTypeName","src":"104587:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"104557:56:15"},"returnParameters":{"id":17189,"nodeType":"ParameterList","parameters":[],"src":"104622:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17202,"nodeType":"FunctionDefinition","src":"104865:107:15","nodes":[],"documentation":{"id":17191,"nodeType":"StructuredDocumentation","src":"104629:231:15","text":"Reverts a call to an address with a specific `msg.value`, with specified revert data.\n Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`."},"functionSelector":"596c8f04","implemented":false,"kind":"function","modifiers":[],"name":"mockCallRevert","nameLocation":"104874:14:15","parameters":{"id":17200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17193,"mutability":"mutable","name":"callee","nameLocation":"104897:6:15","nodeType":"VariableDeclaration","scope":17202,"src":"104889:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17192,"name":"address","nodeType":"ElementaryTypeName","src":"104889:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17195,"mutability":"mutable","name":"msgValue","nameLocation":"104913:8:15","nodeType":"VariableDeclaration","scope":17202,"src":"104905:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17194,"name":"uint256","nodeType":"ElementaryTypeName","src":"104905:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17197,"mutability":"mutable","name":"data","nameLocation":"104930:4:15","nodeType":"VariableDeclaration","scope":17202,"src":"104923:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":17196,"name":"bytes4","nodeType":"ElementaryTypeName","src":"104923:6:15","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":17199,"mutability":"mutable","name":"revertData","nameLocation":"104951:10:15","nodeType":"VariableDeclaration","scope":17202,"src":"104936:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17198,"name":"bytes","nodeType":"ElementaryTypeName","src":"104936:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"104888:74:15"},"returnParameters":{"id":17201,"nodeType":"ParameterList","parameters":[],"src":"104971:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17212,"nodeType":"FunctionDefinition","src":"105232:91:15","nodes":[],"documentation":{"id":17203,"nodeType":"StructuredDocumentation","src":"104978:249:15","text":"Mocks a call to an address, returning specified data.\n Calldata can either be strict or a partial match, e.g. if you only\n pass a Solidity selector to the expected calldata, then the entire Solidity\n function will be mocked."},"functionSelector":"b96213e4","implemented":false,"kind":"function","modifiers":[],"name":"mockCall","nameLocation":"105241:8:15","parameters":{"id":17210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17205,"mutability":"mutable","name":"callee","nameLocation":"105258:6:15","nodeType":"VariableDeclaration","scope":17212,"src":"105250:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17204,"name":"address","nodeType":"ElementaryTypeName","src":"105250:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17207,"mutability":"mutable","name":"data","nameLocation":"105281:4:15","nodeType":"VariableDeclaration","scope":17212,"src":"105266:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17206,"name":"bytes","nodeType":"ElementaryTypeName","src":"105266:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":17209,"mutability":"mutable","name":"returnData","nameLocation":"105302:10:15","nodeType":"VariableDeclaration","scope":17212,"src":"105287:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17208,"name":"bytes","nodeType":"ElementaryTypeName","src":"105287:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"105249:64:15"},"returnParameters":{"id":17211,"nodeType":"ParameterList","parameters":[],"src":"105322:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17224,"nodeType":"FunctionDefinition","src":"105498:109:15","nodes":[],"documentation":{"id":17213,"nodeType":"StructuredDocumentation","src":"105329:164:15","text":"Mocks a call to an address with a specific `msg.value`, returning specified data.\n Calldata match takes precedence over `msg.value` in case of ambiguity."},"functionSelector":"81409b91","implemented":false,"kind":"function","modifiers":[],"name":"mockCall","nameLocation":"105507:8:15","parameters":{"id":17222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17215,"mutability":"mutable","name":"callee","nameLocation":"105524:6:15","nodeType":"VariableDeclaration","scope":17224,"src":"105516:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17214,"name":"address","nodeType":"ElementaryTypeName","src":"105516:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17217,"mutability":"mutable","name":"msgValue","nameLocation":"105540:8:15","nodeType":"VariableDeclaration","scope":17224,"src":"105532:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17216,"name":"uint256","nodeType":"ElementaryTypeName","src":"105532:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17219,"mutability":"mutable","name":"data","nameLocation":"105565:4:15","nodeType":"VariableDeclaration","scope":17224,"src":"105550:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17218,"name":"bytes","nodeType":"ElementaryTypeName","src":"105550:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":17221,"mutability":"mutable","name":"returnData","nameLocation":"105586:10:15","nodeType":"VariableDeclaration","scope":17224,"src":"105571:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17220,"name":"bytes","nodeType":"ElementaryTypeName","src":"105571:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"105515:82:15"},"returnParameters":{"id":17223,"nodeType":"ParameterList","parameters":[],"src":"105606:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17234,"nodeType":"FunctionDefinition","src":"106009:83:15","nodes":[],"documentation":{"id":17225,"nodeType":"StructuredDocumentation","src":"105613:391:15","text":"Mocks a call to an address, returning specified data.\n Calldata can either be strict or a partial match, e.g. if you only\n pass a Solidity selector to the expected calldata, then the entire Solidity\n function will be mocked.\n Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`."},"functionSelector":"08e0c537","implemented":false,"kind":"function","modifiers":[],"name":"mockCall","nameLocation":"106018:8:15","parameters":{"id":17232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17227,"mutability":"mutable","name":"callee","nameLocation":"106035:6:15","nodeType":"VariableDeclaration","scope":17234,"src":"106027:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17226,"name":"address","nodeType":"ElementaryTypeName","src":"106027:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17229,"mutability":"mutable","name":"data","nameLocation":"106050:4:15","nodeType":"VariableDeclaration","scope":17234,"src":"106043:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":17228,"name":"bytes4","nodeType":"ElementaryTypeName","src":"106043:6:15","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":17231,"mutability":"mutable","name":"returnData","nameLocation":"106071:10:15","nodeType":"VariableDeclaration","scope":17234,"src":"106056:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17230,"name":"bytes","nodeType":"ElementaryTypeName","src":"106056:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"106026:56:15"},"returnParameters":{"id":17233,"nodeType":"ParameterList","parameters":[],"src":"106091:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17246,"nodeType":"FunctionDefinition","src":"106409:101:15","nodes":[],"documentation":{"id":17235,"nodeType":"StructuredDocumentation","src":"106098:306:15","text":"Mocks a call to an address with a specific `msg.value`, returning specified data.\n Calldata match takes precedence over `msg.value` in case of ambiguity.\n Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`."},"functionSelector":"e7b36a3d","implemented":false,"kind":"function","modifiers":[],"name":"mockCall","nameLocation":"106418:8:15","parameters":{"id":17244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17237,"mutability":"mutable","name":"callee","nameLocation":"106435:6:15","nodeType":"VariableDeclaration","scope":17246,"src":"106427:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17236,"name":"address","nodeType":"ElementaryTypeName","src":"106427:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17239,"mutability":"mutable","name":"msgValue","nameLocation":"106451:8:15","nodeType":"VariableDeclaration","scope":17246,"src":"106443:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17238,"name":"uint256","nodeType":"ElementaryTypeName","src":"106443:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17241,"mutability":"mutable","name":"data","nameLocation":"106468:4:15","nodeType":"VariableDeclaration","scope":17246,"src":"106461:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":17240,"name":"bytes4","nodeType":"ElementaryTypeName","src":"106461:6:15","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":17243,"mutability":"mutable","name":"returnData","nameLocation":"106489:10:15","nodeType":"VariableDeclaration","scope":17246,"src":"106474:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17242,"name":"bytes","nodeType":"ElementaryTypeName","src":"106474:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"106426:74:15"},"returnParameters":{"id":17245,"nodeType":"ParameterList","parameters":[],"src":"106509:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17257,"nodeType":"FunctionDefinition","src":"106600:94:15","nodes":[],"documentation":{"id":17247,"nodeType":"StructuredDocumentation","src":"106516:79:15","text":"Mocks multiple calls to an address, returning specified data for each call."},"functionSelector":"5c5c3de9","implemented":false,"kind":"function","modifiers":[],"name":"mockCalls","nameLocation":"106609:9:15","parameters":{"id":17255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17249,"mutability":"mutable","name":"callee","nameLocation":"106627:6:15","nodeType":"VariableDeclaration","scope":17257,"src":"106619:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17248,"name":"address","nodeType":"ElementaryTypeName","src":"106619:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17251,"mutability":"mutable","name":"data","nameLocation":"106650:4:15","nodeType":"VariableDeclaration","scope":17257,"src":"106635:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17250,"name":"bytes","nodeType":"ElementaryTypeName","src":"106635:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":17254,"mutability":"mutable","name":"returnData","nameLocation":"106673:10:15","nodeType":"VariableDeclaration","scope":17257,"src":"106656:27:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":17252,"name":"bytes","nodeType":"ElementaryTypeName","src":"106656:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":17253,"nodeType":"ArrayTypeName","src":"106656:7:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"106618:66:15"},"returnParameters":{"id":17256,"nodeType":"ParameterList","parameters":[],"src":"106693:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17270,"nodeType":"FunctionDefinition","src":"106812:112:15","nodes":[],"documentation":{"id":17258,"nodeType":"StructuredDocumentation","src":"106700:107:15","text":"Mocks multiple calls to an address with a specific `msg.value`, returning specified data for each call."},"functionSelector":"08bcbae1","implemented":false,"kind":"function","modifiers":[],"name":"mockCalls","nameLocation":"106821:9:15","parameters":{"id":17268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17260,"mutability":"mutable","name":"callee","nameLocation":"106839:6:15","nodeType":"VariableDeclaration","scope":17270,"src":"106831:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17259,"name":"address","nodeType":"ElementaryTypeName","src":"106831:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17262,"mutability":"mutable","name":"msgValue","nameLocation":"106855:8:15","nodeType":"VariableDeclaration","scope":17270,"src":"106847:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17261,"name":"uint256","nodeType":"ElementaryTypeName","src":"106847:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17264,"mutability":"mutable","name":"data","nameLocation":"106880:4:15","nodeType":"VariableDeclaration","scope":17270,"src":"106865:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17263,"name":"bytes","nodeType":"ElementaryTypeName","src":"106865:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":17267,"mutability":"mutable","name":"returnData","nameLocation":"106903:10:15","nodeType":"VariableDeclaration","scope":17270,"src":"106886:27:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":17265,"name":"bytes","nodeType":"ElementaryTypeName","src":"106886:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":17266,"nodeType":"ArrayTypeName","src":"106886:7:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"106830:84:15"},"returnParameters":{"id":17269,"nodeType":"ParameterList","parameters":[],"src":"106923:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17280,"nodeType":"FunctionDefinition","src":"107430:84:15","nodes":[],"documentation":{"id":17271,"nodeType":"StructuredDocumentation","src":"106930:495:15","text":"Whenever a call is made to `callee` with calldata `data`, this cheatcode instead calls\n `target` with the same calldata. This functionality is similar to a delegate call made to\n `target` contract from `callee`.\n Can be used to substitute a call to a function with another implementation that captures\n the primary logic of the original function but is easier to reason about.\n If calldata is not a strict match then partial match by selector is attempted."},"functionSelector":"adf84d21","implemented":false,"kind":"function","modifiers":[],"name":"mockFunction","nameLocation":"107439:12:15","parameters":{"id":17278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17273,"mutability":"mutable","name":"callee","nameLocation":"107460:6:15","nodeType":"VariableDeclaration","scope":17280,"src":"107452:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17272,"name":"address","nodeType":"ElementaryTypeName","src":"107452:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17275,"mutability":"mutable","name":"target","nameLocation":"107476:6:15","nodeType":"VariableDeclaration","scope":17280,"src":"107468:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17274,"name":"address","nodeType":"ElementaryTypeName","src":"107468:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17277,"mutability":"mutable","name":"data","nameLocation":"107499:4:15","nodeType":"VariableDeclaration","scope":17280,"src":"107484:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17276,"name":"bytes","nodeType":"ElementaryTypeName","src":"107484:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"107451:53:15"},"returnParameters":{"id":17279,"nodeType":"ParameterList","parameters":[],"src":"107513:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17284,"nodeType":"FunctionDefinition","src":"107612:33:15","nodes":[],"documentation":{"id":17281,"nodeType":"StructuredDocumentation","src":"107520:87:15","text":"Utility cheatcode to remove any EIP-2930 access list set by `accessList` cheatcode."},"functionSelector":"238ad778","implemented":false,"kind":"function","modifiers":[],"name":"noAccessList","nameLocation":"107621:12:15","parameters":{"id":17282,"nodeType":"ParameterList","parameters":[],"src":"107633:2:15"},"returnParameters":{"id":17283,"nodeType":"ParameterList","parameters":[],"src":"107644:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17290,"nodeType":"FunctionDefinition","src":"107720:43:15","nodes":[],"documentation":{"id":17285,"nodeType":"StructuredDocumentation","src":"107651:64:15","text":"Sets the *next* call's `msg.sender` to be the input address."},"functionSelector":"ca669fa7","implemented":false,"kind":"function","modifiers":[],"name":"prank","nameLocation":"107729:5:15","parameters":{"id":17288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17287,"mutability":"mutable","name":"msgSender","nameLocation":"107743:9:15","nodeType":"VariableDeclaration","scope":17290,"src":"107735:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17286,"name":"address","nodeType":"ElementaryTypeName","src":"107735:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"107734:19:15"},"returnParameters":{"id":17289,"nodeType":"ParameterList","parameters":[],"src":"107762:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17298,"nodeType":"FunctionDefinition","src":"107882:61:15","nodes":[],"documentation":{"id":17291,"nodeType":"StructuredDocumentation","src":"107769:108:15","text":"Sets the *next* call's `msg.sender` to be the input address, and the `tx.origin` to be the second input."},"functionSelector":"47e50cce","implemented":false,"kind":"function","modifiers":[],"name":"prank","nameLocation":"107891:5:15","parameters":{"id":17296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17293,"mutability":"mutable","name":"msgSender","nameLocation":"107905:9:15","nodeType":"VariableDeclaration","scope":17298,"src":"107897:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17292,"name":"address","nodeType":"ElementaryTypeName","src":"107897:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17295,"mutability":"mutable","name":"txOrigin","nameLocation":"107924:8:15","nodeType":"VariableDeclaration","scope":17298,"src":"107916:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17294,"name":"address","nodeType":"ElementaryTypeName","src":"107916:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"107896:37:15"},"returnParameters":{"id":17297,"nodeType":"ParameterList","parameters":[],"src":"107942:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17306,"nodeType":"FunctionDefinition","src":"108027:62:15","nodes":[],"documentation":{"id":17299,"nodeType":"StructuredDocumentation","src":"107949:73:15","text":"Sets the *next* delegate call's `msg.sender` to be the input address."},"functionSelector":"a7f8bf5c","implemented":false,"kind":"function","modifiers":[],"name":"prank","nameLocation":"108036:5:15","parameters":{"id":17304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17301,"mutability":"mutable","name":"msgSender","nameLocation":"108050:9:15","nodeType":"VariableDeclaration","scope":17306,"src":"108042:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17300,"name":"address","nodeType":"ElementaryTypeName","src":"108042:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17303,"mutability":"mutable","name":"delegateCall","nameLocation":"108066:12:15","nodeType":"VariableDeclaration","scope":17306,"src":"108061:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17302,"name":"bool","nodeType":"ElementaryTypeName","src":"108061:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"108041:38:15"},"returnParameters":{"id":17305,"nodeType":"ParameterList","parameters":[],"src":"108088:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17316,"nodeType":"FunctionDefinition","src":"108217:80:15","nodes":[],"documentation":{"id":17307,"nodeType":"StructuredDocumentation","src":"108095:117:15","text":"Sets the *next* delegate call's `msg.sender` to be the input address, and the `tx.origin` to be the second input."},"functionSelector":"7d73d042","implemented":false,"kind":"function","modifiers":[],"name":"prank","nameLocation":"108226:5:15","parameters":{"id":17314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17309,"mutability":"mutable","name":"msgSender","nameLocation":"108240:9:15","nodeType":"VariableDeclaration","scope":17316,"src":"108232:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17308,"name":"address","nodeType":"ElementaryTypeName","src":"108232:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17311,"mutability":"mutable","name":"txOrigin","nameLocation":"108259:8:15","nodeType":"VariableDeclaration","scope":17316,"src":"108251:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17310,"name":"address","nodeType":"ElementaryTypeName","src":"108251:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17313,"mutability":"mutable","name":"delegateCall","nameLocation":"108274:12:15","nodeType":"VariableDeclaration","scope":17316,"src":"108269:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17312,"name":"bool","nodeType":"ElementaryTypeName","src":"108269:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"108231:56:15"},"returnParameters":{"id":17315,"nodeType":"ParameterList","parameters":[],"src":"108296:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17322,"nodeType":"FunctionDefinition","src":"108474:52:15","nodes":[],"documentation":{"id":17317,"nodeType":"StructuredDocumentation","src":"108303:166:15","text":"Sets `block.prevrandao`.\n Not available on EVM versions before Paris. Use `difficulty` instead.\n If used on unsupported EVM versions it will revert."},"functionSelector":"3b925549","implemented":false,"kind":"function","modifiers":[],"name":"prevrandao","nameLocation":"108483:10:15","parameters":{"id":17320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17319,"mutability":"mutable","name":"newPrevrandao","nameLocation":"108502:13:15","nodeType":"VariableDeclaration","scope":17322,"src":"108494:21:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17318,"name":"bytes32","nodeType":"ElementaryTypeName","src":"108494:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"108493:23:15"},"returnParameters":{"id":17321,"nodeType":"ParameterList","parameters":[],"src":"108525:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17328,"nodeType":"FunctionDefinition","src":"108703:52:15","nodes":[],"documentation":{"id":17323,"nodeType":"StructuredDocumentation","src":"108532:166:15","text":"Sets `block.prevrandao`.\n Not available on EVM versions before Paris. Use `difficulty` instead.\n If used on unsupported EVM versions it will revert."},"functionSelector":"9cb1c0d4","implemented":false,"kind":"function","modifiers":[],"name":"prevrandao","nameLocation":"108712:10:15","parameters":{"id":17326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17325,"mutability":"mutable","name":"newPrevrandao","nameLocation":"108731:13:15","nodeType":"VariableDeclaration","scope":17328,"src":"108723:21:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17324,"name":"uint256","nodeType":"ElementaryTypeName","src":"108723:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"108722:23:15"},"returnParameters":{"id":17327,"nodeType":"ParameterList","parameters":[],"src":"108754:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17339,"nodeType":"FunctionDefinition","src":"108883:101:15","nodes":[],"documentation":{"id":17329,"nodeType":"StructuredDocumentation","src":"108761:117:15","text":"Reads the current `msg.sender` and `tx.origin` from state and reports if there is any active caller modification."},"functionSelector":"4ad0bac9","implemented":false,"kind":"function","modifiers":[],"name":"readCallers","nameLocation":"108892:11:15","parameters":{"id":17330,"nodeType":"ParameterList","parameters":[],"src":"108903:2:15"},"returnParameters":{"id":17338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17333,"mutability":"mutable","name":"callerMode","nameLocation":"108935:10:15","nodeType":"VariableDeclaration","scope":17339,"src":"108924:21:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_CallerMode_$12997","typeString":"enum VmSafe.CallerMode"},"typeName":{"id":17332,"nodeType":"UserDefinedTypeName","pathNode":{"id":17331,"name":"CallerMode","nameLocations":["108924:10:15"],"nodeType":"IdentifierPath","referencedDeclaration":12997,"src":"108924:10:15"},"referencedDeclaration":12997,"src":"108924:10:15","typeDescriptions":{"typeIdentifier":"t_enum$_CallerMode_$12997","typeString":"enum VmSafe.CallerMode"}},"visibility":"internal"},{"constant":false,"id":17335,"mutability":"mutable","name":"msgSender","nameLocation":"108955:9:15","nodeType":"VariableDeclaration","scope":17339,"src":"108947:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17334,"name":"address","nodeType":"ElementaryTypeName","src":"108947:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17337,"mutability":"mutable","name":"txOrigin","nameLocation":"108974:8:15","nodeType":"VariableDeclaration","scope":17339,"src":"108966:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17336,"name":"address","nodeType":"ElementaryTypeName","src":"108966:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"108923:60:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17345,"nodeType":"FunctionDefinition","src":"109072:46:15","nodes":[],"documentation":{"id":17340,"nodeType":"StructuredDocumentation","src":"108990:77:15","text":"Resets the nonce of an account to 0 for EOAs and 1 for contract accounts."},"functionSelector":"1c72346d","implemented":false,"kind":"function","modifiers":[],"name":"resetNonce","nameLocation":"109081:10:15","parameters":{"id":17343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17342,"mutability":"mutable","name":"account","nameLocation":"109100:7:15","nodeType":"VariableDeclaration","scope":17345,"src":"109092:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17341,"name":"address","nodeType":"ElementaryTypeName","src":"109092:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"109091:17:15"},"returnParameters":{"id":17344,"nodeType":"ParameterList","parameters":[],"src":"109117:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17353,"nodeType":"FunctionDefinition","src":"109466:75:15","nodes":[],"documentation":{"id":17346,"nodeType":"StructuredDocumentation","src":"109124:337:15","text":"Revert the state of the EVM to a previous snapshot\n Takes the snapshot ID to revert to.\n Returns `true` if the snapshot was successfully reverted.\n Returns `false` if the snapshot does not exist.\n **Note:** This does not automatically delete the snapshot. To delete the snapshot use `deleteStateSnapshot`."},"functionSelector":"c2527405","implemented":false,"kind":"function","modifiers":[],"name":"revertToState","nameLocation":"109475:13:15","parameters":{"id":17349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17348,"mutability":"mutable","name":"snapshotId","nameLocation":"109497:10:15","nodeType":"VariableDeclaration","scope":17353,"src":"109489:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17347,"name":"uint256","nodeType":"ElementaryTypeName","src":"109489:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"109488:20:15"},"returnParameters":{"id":17352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17351,"mutability":"mutable","name":"success","nameLocation":"109532:7:15","nodeType":"VariableDeclaration","scope":17353,"src":"109527:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17350,"name":"bool","nodeType":"ElementaryTypeName","src":"109527:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"109526:14:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17361,"nodeType":"FunctionDefinition","src":"109824:84:15","nodes":[],"documentation":{"id":17354,"nodeType":"StructuredDocumentation","src":"109547:272:15","text":"Revert the state of the EVM to a previous snapshot and automatically deletes the snapshots\n Takes the snapshot ID to revert to.\n Returns `true` if the snapshot was successfully reverted and deleted.\n Returns `false` if the snapshot does not exist."},"functionSelector":"3a1985dc","implemented":false,"kind":"function","modifiers":[],"name":"revertToStateAndDelete","nameLocation":"109833:22:15","parameters":{"id":17357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17356,"mutability":"mutable","name":"snapshotId","nameLocation":"109864:10:15","nodeType":"VariableDeclaration","scope":17361,"src":"109856:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17355,"name":"uint256","nodeType":"ElementaryTypeName","src":"109856:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"109855:20:15"},"returnParameters":{"id":17360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17359,"mutability":"mutable","name":"success","nameLocation":"109899:7:15","nodeType":"VariableDeclaration","scope":17361,"src":"109894:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17358,"name":"bool","nodeType":"ElementaryTypeName","src":"109894:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"109893:14:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17367,"nodeType":"FunctionDefinition","src":"110005:52:15","nodes":[],"documentation":{"id":17362,"nodeType":"StructuredDocumentation","src":"109914:86:15","text":"Revokes persistent status from the address, previously added via `makePersistent`."},"functionSelector":"997a0222","implemented":false,"kind":"function","modifiers":[],"name":"revokePersistent","nameLocation":"110014:16:15","parameters":{"id":17365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17364,"mutability":"mutable","name":"account","nameLocation":"110039:7:15","nodeType":"VariableDeclaration","scope":17367,"src":"110031:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17363,"name":"address","nodeType":"ElementaryTypeName","src":"110031:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"110030:17:15"},"returnParameters":{"id":17366,"nodeType":"ParameterList","parameters":[],"src":"110056:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17374,"nodeType":"FunctionDefinition","src":"110104:64:15","nodes":[],"documentation":{"id":17368,"nodeType":"StructuredDocumentation","src":"110063:36:15","text":"See `revokePersistent(address)`."},"functionSelector":"3ce969e6","implemented":false,"kind":"function","modifiers":[],"name":"revokePersistent","nameLocation":"110113:16:15","parameters":{"id":17372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17371,"mutability":"mutable","name":"accounts","nameLocation":"110149:8:15","nodeType":"VariableDeclaration","scope":17374,"src":"110130:27:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":17369,"name":"address","nodeType":"ElementaryTypeName","src":"110130:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":17370,"nodeType":"ArrayTypeName","src":"110130:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"110129:29:15"},"returnParameters":{"id":17373,"nodeType":"ParameterList","parameters":[],"src":"110167:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17380,"nodeType":"FunctionDefinition","src":"110203:42:15","nodes":[],"documentation":{"id":17375,"nodeType":"StructuredDocumentation","src":"110174:24:15","text":"Sets `block.height`."},"functionSelector":"1f7b4f30","implemented":false,"kind":"function","modifiers":[],"name":"roll","nameLocation":"110212:4:15","parameters":{"id":17378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17377,"mutability":"mutable","name":"newHeight","nameLocation":"110225:9:15","nodeType":"VariableDeclaration","scope":17380,"src":"110217:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17376,"name":"uint256","nodeType":"ElementaryTypeName","src":"110217:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"110216:19:15"},"returnParameters":{"id":17379,"nodeType":"ParameterList","parameters":[],"src":"110244:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17386,"nodeType":"FunctionDefinition","src":"110384:48:15","nodes":[],"documentation":{"id":17381,"nodeType":"StructuredDocumentation","src":"110251:128:15","text":"Updates the currently active fork to given block number\n This is similar to `roll` but for the currently active fork."},"functionSelector":"d9bbf3a1","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"110393:8:15","parameters":{"id":17384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17383,"mutability":"mutable","name":"blockNumber","nameLocation":"110410:11:15","nodeType":"VariableDeclaration","scope":17386,"src":"110402:19:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17382,"name":"uint256","nodeType":"ElementaryTypeName","src":"110402:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"110401:21:15"},"returnParameters":{"id":17385,"nodeType":"ParameterList","parameters":[],"src":"110431:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17392,"nodeType":"FunctionDefinition","src":"110647:43:15","nodes":[],"documentation":{"id":17387,"nodeType":"StructuredDocumentation","src":"110438:204:15","text":"Updates the currently active fork to given transaction. This will `rollFork` with the number\n of the block the transaction was mined in and replays all transaction mined before it in the block."},"functionSelector":"0f29772b","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"110656:8:15","parameters":{"id":17390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17389,"mutability":"mutable","name":"txHash","nameLocation":"110673:6:15","nodeType":"VariableDeclaration","scope":17392,"src":"110665:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17388,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110665:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"110664:16:15"},"returnParameters":{"id":17391,"nodeType":"ParameterList","parameters":[],"src":"110689:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17400,"nodeType":"FunctionDefinition","src":"110750:64:15","nodes":[],"documentation":{"id":17393,"nodeType":"StructuredDocumentation","src":"110696:49:15","text":"Updates the given fork to given block number."},"functionSelector":"d74c83a4","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"110759:8:15","parameters":{"id":17398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17395,"mutability":"mutable","name":"forkId","nameLocation":"110776:6:15","nodeType":"VariableDeclaration","scope":17400,"src":"110768:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17394,"name":"uint256","nodeType":"ElementaryTypeName","src":"110768:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17397,"mutability":"mutable","name":"blockNumber","nameLocation":"110792:11:15","nodeType":"VariableDeclaration","scope":17400,"src":"110784:19:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17396,"name":"uint256","nodeType":"ElementaryTypeName","src":"110784:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"110767:37:15"},"returnParameters":{"id":17399,"nodeType":"ParameterList","parameters":[],"src":"110813:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17408,"nodeType":"FunctionDefinition","src":"110950:59:15","nodes":[],"documentation":{"id":17401,"nodeType":"StructuredDocumentation","src":"110820:125:15","text":"Updates the given fork to block number of the given transaction and replays all transaction mined before it in the block."},"functionSelector":"f2830f7b","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"110959:8:15","parameters":{"id":17406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17403,"mutability":"mutable","name":"forkId","nameLocation":"110976:6:15","nodeType":"VariableDeclaration","scope":17408,"src":"110968:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17402,"name":"uint256","nodeType":"ElementaryTypeName","src":"110968:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17405,"mutability":"mutable","name":"txHash","nameLocation":"110992:6:15","nodeType":"VariableDeclaration","scope":17408,"src":"110984:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17404,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110984:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"110967:32:15"},"returnParameters":{"id":17407,"nodeType":"ParameterList","parameters":[],"src":"111008:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17414,"nodeType":"FunctionDefinition","src":"111122:45:15","nodes":[],"documentation":{"id":17409,"nodeType":"StructuredDocumentation","src":"111015:102:15","text":"Takes a fork identifier created by `createFork` and sets the corresponding forked state as active."},"functionSelector":"9ebf6827","implemented":false,"kind":"function","modifiers":[],"name":"selectFork","nameLocation":"111131:10:15","parameters":{"id":17412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17411,"mutability":"mutable","name":"forkId","nameLocation":"111150:6:15","nodeType":"VariableDeclaration","scope":17414,"src":"111142:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17410,"name":"uint256","nodeType":"ElementaryTypeName","src":"111142:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"111141:16:15"},"returnParameters":{"id":17413,"nodeType":"ParameterList","parameters":[],"src":"111166:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17422,"nodeType":"FunctionDefinition","src":"111317:71:15","nodes":[],"documentation":{"id":17415,"nodeType":"StructuredDocumentation","src":"111173:139:15","text":"Set blockhash for the current block.\n It only sets the blockhash for blocks where `block.number - 256 <= number < block.number`."},"functionSelector":"5314b54a","implemented":false,"kind":"function","modifiers":[],"name":"setBlockhash","nameLocation":"111326:12:15","parameters":{"id":17420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17417,"mutability":"mutable","name":"blockNumber","nameLocation":"111347:11:15","nodeType":"VariableDeclaration","scope":17422,"src":"111339:19:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17416,"name":"uint256","nodeType":"ElementaryTypeName","src":"111339:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17419,"mutability":"mutable","name":"blockHash","nameLocation":"111368:9:15","nodeType":"VariableDeclaration","scope":17422,"src":"111360:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17418,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111360:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"111338:40:15"},"returnParameters":{"id":17421,"nodeType":"ParameterList","parameters":[],"src":"111387:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17430,"nodeType":"FunctionDefinition","src":"111486:61:15","nodes":[],"documentation":{"id":17423,"nodeType":"StructuredDocumentation","src":"111394:87:15","text":"Sets the nonce of an account. Must be higher than the current nonce of the account."},"functionSelector":"f8e18b57","implemented":false,"kind":"function","modifiers":[],"name":"setNonce","nameLocation":"111495:8:15","parameters":{"id":17428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17425,"mutability":"mutable","name":"account","nameLocation":"111512:7:15","nodeType":"VariableDeclaration","scope":17430,"src":"111504:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17424,"name":"address","nodeType":"ElementaryTypeName","src":"111504:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17427,"mutability":"mutable","name":"newNonce","nameLocation":"111528:8:15","nodeType":"VariableDeclaration","scope":17430,"src":"111521:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":17426,"name":"uint64","nodeType":"ElementaryTypeName","src":"111521:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"111503:34:15"},"returnParameters":{"id":17429,"nodeType":"ParameterList","parameters":[],"src":"111546:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17438,"nodeType":"FunctionDefinition","src":"111613:67:15","nodes":[],"documentation":{"id":17431,"nodeType":"StructuredDocumentation","src":"111553:55:15","text":"Sets the nonce of an account to an arbitrary value."},"functionSelector":"9b67b21c","implemented":false,"kind":"function","modifiers":[],"name":"setNonceUnsafe","nameLocation":"111622:14:15","parameters":{"id":17436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17433,"mutability":"mutable","name":"account","nameLocation":"111645:7:15","nodeType":"VariableDeclaration","scope":17438,"src":"111637:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17432,"name":"address","nodeType":"ElementaryTypeName","src":"111637:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17435,"mutability":"mutable","name":"newNonce","nameLocation":"111661:8:15","nodeType":"VariableDeclaration","scope":17438,"src":"111654:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":17434,"name":"uint64","nodeType":"ElementaryTypeName","src":"111654:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"111636:34:15"},"returnParameters":{"id":17437,"nodeType":"ParameterList","parameters":[],"src":"111679:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17446,"nodeType":"FunctionDefinition","src":"111779:86:15","nodes":[],"documentation":{"id":17439,"nodeType":"StructuredDocumentation","src":"111686:88:15","text":"Snapshot capture the gas usage of the last call by name from the callee perspective."},"functionSelector":"dd9fca12","implemented":false,"kind":"function","modifiers":[],"name":"snapshotGasLastCall","nameLocation":"111788:19:15","parameters":{"id":17442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17441,"mutability":"mutable","name":"name","nameLocation":"111824:4:15","nodeType":"VariableDeclaration","scope":17446,"src":"111808:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17440,"name":"string","nodeType":"ElementaryTypeName","src":"111808:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"111807:22:15"},"returnParameters":{"id":17445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17444,"mutability":"mutable","name":"gasUsed","nameLocation":"111856:7:15","nodeType":"VariableDeclaration","scope":17446,"src":"111848:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17443,"name":"uint256","nodeType":"ElementaryTypeName","src":"111848:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"111847:17:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17456,"nodeType":"FunctionDefinition","src":"111975:109:15","nodes":[],"documentation":{"id":17447,"nodeType":"StructuredDocumentation","src":"111871:99:15","text":"Snapshot capture the gas usage of the last call by name in a group from the callee perspective."},"functionSelector":"200c6772","implemented":false,"kind":"function","modifiers":[],"name":"snapshotGasLastCall","nameLocation":"111984:19:15","parameters":{"id":17452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17449,"mutability":"mutable","name":"group","nameLocation":"112020:5:15","nodeType":"VariableDeclaration","scope":17456,"src":"112004:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17448,"name":"string","nodeType":"ElementaryTypeName","src":"112004:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17451,"mutability":"mutable","name":"name","nameLocation":"112043:4:15","nodeType":"VariableDeclaration","scope":17456,"src":"112027:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17450,"name":"string","nodeType":"ElementaryTypeName","src":"112027:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"112003:45:15"},"returnParameters":{"id":17455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17454,"mutability":"mutable","name":"gasUsed","nameLocation":"112075:7:15","nodeType":"VariableDeclaration","scope":17456,"src":"112067:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17453,"name":"uint256","nodeType":"ElementaryTypeName","src":"112067:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"112066:17:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17462,"nodeType":"FunctionDefinition","src":"112244:63:15","nodes":[],"documentation":{"id":17457,"nodeType":"StructuredDocumentation","src":"112090:149:15","text":"Snapshot the current state of the evm.\n Returns the ID of the snapshot that was created.\n To revert a snapshot use `revertToState`."},"functionSelector":"9cd23835","implemented":false,"kind":"function","modifiers":[],"name":"snapshotState","nameLocation":"112253:13:15","parameters":{"id":17458,"nodeType":"ParameterList","parameters":[],"src":"112266:2:15"},"returnParameters":{"id":17461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17460,"mutability":"mutable","name":"snapshotId","nameLocation":"112295:10:15","nodeType":"VariableDeclaration","scope":17462,"src":"112287:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17459,"name":"uint256","nodeType":"ElementaryTypeName","src":"112287:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"112286:20:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17470,"nodeType":"FunctionDefinition","src":"112434:69:15","nodes":[],"documentation":{"id":17463,"nodeType":"StructuredDocumentation","src":"112313:116:15","text":"Snapshot capture an arbitrary numerical value by name.\n The group name is derived from the contract name."},"functionSelector":"51db805a","implemented":false,"kind":"function","modifiers":[],"name":"snapshotValue","nameLocation":"112443:13:15","parameters":{"id":17468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17465,"mutability":"mutable","name":"name","nameLocation":"112473:4:15","nodeType":"VariableDeclaration","scope":17470,"src":"112457:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17464,"name":"string","nodeType":"ElementaryTypeName","src":"112457:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17467,"mutability":"mutable","name":"value","nameLocation":"112487:5:15","nodeType":"VariableDeclaration","scope":17470,"src":"112479:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17466,"name":"uint256","nodeType":"ElementaryTypeName","src":"112479:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"112456:37:15"},"returnParameters":{"id":17469,"nodeType":"ParameterList","parameters":[],"src":"112502:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17480,"nodeType":"FunctionDefinition","src":"112583:92:15","nodes":[],"documentation":{"id":17471,"nodeType":"StructuredDocumentation","src":"112509:69:15","text":"Snapshot capture an arbitrary numerical value by name in a group."},"functionSelector":"6d2b27d8","implemented":false,"kind":"function","modifiers":[],"name":"snapshotValue","nameLocation":"112592:13:15","parameters":{"id":17478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17473,"mutability":"mutable","name":"group","nameLocation":"112622:5:15","nodeType":"VariableDeclaration","scope":17480,"src":"112606:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17472,"name":"string","nodeType":"ElementaryTypeName","src":"112606:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17475,"mutability":"mutable","name":"name","nameLocation":"112645:4:15","nodeType":"VariableDeclaration","scope":17480,"src":"112629:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17474,"name":"string","nodeType":"ElementaryTypeName","src":"112629:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17477,"mutability":"mutable","name":"value","nameLocation":"112659:5:15","nodeType":"VariableDeclaration","scope":17480,"src":"112651:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17476,"name":"uint256","nodeType":"ElementaryTypeName","src":"112651:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"112605:60:15"},"returnParameters":{"id":17479,"nodeType":"ParameterList","parameters":[],"src":"112674:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17486,"nodeType":"FunctionDefinition","src":"112782:48:15","nodes":[],"documentation":{"id":17481,"nodeType":"StructuredDocumentation","src":"112681:96:15","text":"Sets all subsequent calls' `msg.sender` to be the input address until `stopPrank` is called."},"functionSelector":"06447d56","implemented":false,"kind":"function","modifiers":[],"name":"startPrank","nameLocation":"112791:10:15","parameters":{"id":17484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17483,"mutability":"mutable","name":"msgSender","nameLocation":"112810:9:15","nodeType":"VariableDeclaration","scope":17486,"src":"112802:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17482,"name":"address","nodeType":"ElementaryTypeName","src":"112802:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"112801:19:15"},"returnParameters":{"id":17485,"nodeType":"ParameterList","parameters":[],"src":"112829:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17494,"nodeType":"FunctionDefinition","src":"112981:66:15","nodes":[],"documentation":{"id":17487,"nodeType":"StructuredDocumentation","src":"112836:140:15","text":"Sets all subsequent calls' `msg.sender` to be the input address until `stopPrank` is called, and the `tx.origin` to be the second input."},"functionSelector":"45b56078","implemented":false,"kind":"function","modifiers":[],"name":"startPrank","nameLocation":"112990:10:15","parameters":{"id":17492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17489,"mutability":"mutable","name":"msgSender","nameLocation":"113009:9:15","nodeType":"VariableDeclaration","scope":17494,"src":"113001:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17488,"name":"address","nodeType":"ElementaryTypeName","src":"113001:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17491,"mutability":"mutable","name":"txOrigin","nameLocation":"113028:8:15","nodeType":"VariableDeclaration","scope":17494,"src":"113020:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17490,"name":"address","nodeType":"ElementaryTypeName","src":"113020:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"113000:37:15"},"returnParameters":{"id":17493,"nodeType":"ParameterList","parameters":[],"src":"113046:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17502,"nodeType":"FunctionDefinition","src":"113163:67:15","nodes":[],"documentation":{"id":17495,"nodeType":"StructuredDocumentation","src":"113053:105:15","text":"Sets all subsequent delegate calls' `msg.sender` to be the input address until `stopPrank` is called."},"functionSelector":"1cc0b435","implemented":false,"kind":"function","modifiers":[],"name":"startPrank","nameLocation":"113172:10:15","parameters":{"id":17500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17497,"mutability":"mutable","name":"msgSender","nameLocation":"113191:9:15","nodeType":"VariableDeclaration","scope":17502,"src":"113183:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17496,"name":"address","nodeType":"ElementaryTypeName","src":"113183:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17499,"mutability":"mutable","name":"delegateCall","nameLocation":"113207:12:15","nodeType":"VariableDeclaration","scope":17502,"src":"113202:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17498,"name":"bool","nodeType":"ElementaryTypeName","src":"113202:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"113182:38:15"},"returnParameters":{"id":17501,"nodeType":"ParameterList","parameters":[],"src":"113229:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17512,"nodeType":"FunctionDefinition","src":"113390:85:15","nodes":[],"documentation":{"id":17503,"nodeType":"StructuredDocumentation","src":"113236:149:15","text":"Sets all subsequent delegate calls' `msg.sender` to be the input address until `stopPrank` is called, and the `tx.origin` to be the second input."},"functionSelector":"4eb859b5","implemented":false,"kind":"function","modifiers":[],"name":"startPrank","nameLocation":"113399:10:15","parameters":{"id":17510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17505,"mutability":"mutable","name":"msgSender","nameLocation":"113418:9:15","nodeType":"VariableDeclaration","scope":17512,"src":"113410:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17504,"name":"address","nodeType":"ElementaryTypeName","src":"113410:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17507,"mutability":"mutable","name":"txOrigin","nameLocation":"113437:8:15","nodeType":"VariableDeclaration","scope":17512,"src":"113429:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17506,"name":"address","nodeType":"ElementaryTypeName","src":"113429:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17509,"mutability":"mutable","name":"delegateCall","nameLocation":"113452:12:15","nodeType":"VariableDeclaration","scope":17512,"src":"113447:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17508,"name":"bool","nodeType":"ElementaryTypeName","src":"113447:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"113409:56:15"},"returnParameters":{"id":17511,"nodeType":"ParameterList","parameters":[],"src":"113474:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17518,"nodeType":"FunctionDefinition","src":"113606:57:15","nodes":[],"documentation":{"id":17513,"nodeType":"StructuredDocumentation","src":"113481:120:15","text":"Start a snapshot capture of the current gas usage by name.\n The group name is derived from the contract name."},"functionSelector":"3cad9d7b","implemented":false,"kind":"function","modifiers":[],"name":"startSnapshotGas","nameLocation":"113615:16:15","parameters":{"id":17516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17515,"mutability":"mutable","name":"name","nameLocation":"113648:4:15","nodeType":"VariableDeclaration","scope":17518,"src":"113632:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17514,"name":"string","nodeType":"ElementaryTypeName","src":"113632:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"113631:22:15"},"returnParameters":{"id":17517,"nodeType":"ParameterList","parameters":[],"src":"113662:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17526,"nodeType":"FunctionDefinition","src":"113747:80:15","nodes":[],"documentation":{"id":17519,"nodeType":"StructuredDocumentation","src":"113669:73:15","text":"Start a snapshot capture of the current gas usage by name in a group."},"functionSelector":"6cd0cc53","implemented":false,"kind":"function","modifiers":[],"name":"startSnapshotGas","nameLocation":"113756:16:15","parameters":{"id":17524,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17521,"mutability":"mutable","name":"group","nameLocation":"113789:5:15","nodeType":"VariableDeclaration","scope":17526,"src":"113773:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17520,"name":"string","nodeType":"ElementaryTypeName","src":"113773:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17523,"mutability":"mutable","name":"name","nameLocation":"113812:4:15","nodeType":"VariableDeclaration","scope":17526,"src":"113796:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17522,"name":"string","nodeType":"ElementaryTypeName","src":"113796:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"113772:45:15"},"returnParameters":{"id":17525,"nodeType":"ParameterList","parameters":[],"src":"113826:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17530,"nodeType":"FunctionDefinition","src":"113902:30:15","nodes":[],"documentation":{"id":17527,"nodeType":"StructuredDocumentation","src":"113833:64:15","text":"Resets subsequent calls' `msg.sender` to be `address(this)`."},"functionSelector":"90c5013b","implemented":false,"kind":"function","modifiers":[],"name":"stopPrank","nameLocation":"113911:9:15","parameters":{"id":17528,"nodeType":"ParameterList","parameters":[],"src":"113920:2:15"},"returnParameters":{"id":17529,"nodeType":"ParameterList","parameters":[],"src":"113931:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17536,"nodeType":"FunctionDefinition","src":"114056:62:15","nodes":[],"documentation":{"id":17531,"nodeType":"StructuredDocumentation","src":"113938:113:15","text":"Stop the snapshot capture of the current gas by latest snapshot name, capturing the gas used since the start."},"functionSelector":"f6402eda","implemented":false,"kind":"function","modifiers":[],"name":"stopSnapshotGas","nameLocation":"114065:15:15","parameters":{"id":17532,"nodeType":"ParameterList","parameters":[],"src":"114080:2:15"},"returnParameters":{"id":17535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17534,"mutability":"mutable","name":"gasUsed","nameLocation":"114109:7:15","nodeType":"VariableDeclaration","scope":17536,"src":"114101:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17533,"name":"uint256","nodeType":"ElementaryTypeName","src":"114101:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"114100:17:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17544,"nodeType":"FunctionDefinition","src":"114290:82:15","nodes":[],"documentation":{"id":17537,"nodeType":"StructuredDocumentation","src":"114124:161:15","text":"Stop the snapshot capture of the current gas usage by name, capturing the gas used since the start.\n The group name is derived from the contract name."},"functionSelector":"773b2805","implemented":false,"kind":"function","modifiers":[],"name":"stopSnapshotGas","nameLocation":"114299:15:15","parameters":{"id":17540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17539,"mutability":"mutable","name":"name","nameLocation":"114331:4:15","nodeType":"VariableDeclaration","scope":17544,"src":"114315:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17538,"name":"string","nodeType":"ElementaryTypeName","src":"114315:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"114314:22:15"},"returnParameters":{"id":17543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17542,"mutability":"mutable","name":"gasUsed","nameLocation":"114363:7:15","nodeType":"VariableDeclaration","scope":17544,"src":"114355:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17541,"name":"uint256","nodeType":"ElementaryTypeName","src":"114355:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"114354:17:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17554,"nodeType":"FunctionDefinition","src":"114497:105:15","nodes":[],"documentation":{"id":17545,"nodeType":"StructuredDocumentation","src":"114378:114:15","text":"Stop the snapshot capture of the current gas usage by name in a group, capturing the gas used since the start."},"functionSelector":"0c9db707","implemented":false,"kind":"function","modifiers":[],"name":"stopSnapshotGas","nameLocation":"114506:15:15","parameters":{"id":17550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17547,"mutability":"mutable","name":"group","nameLocation":"114538:5:15","nodeType":"VariableDeclaration","scope":17554,"src":"114522:21:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17546,"name":"string","nodeType":"ElementaryTypeName","src":"114522:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17549,"mutability":"mutable","name":"name","nameLocation":"114561:4:15","nodeType":"VariableDeclaration","scope":17554,"src":"114545:20:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17548,"name":"string","nodeType":"ElementaryTypeName","src":"114545:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"114521:45:15"},"returnParameters":{"id":17553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17552,"mutability":"mutable","name":"gasUsed","nameLocation":"114593:7:15","nodeType":"VariableDeclaration","scope":17554,"src":"114585:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17551,"name":"uint256","nodeType":"ElementaryTypeName","src":"114585:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"114584:17:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17564,"nodeType":"FunctionDefinition","src":"114660:69:15","nodes":[],"documentation":{"id":17555,"nodeType":"StructuredDocumentation","src":"114608:47:15","text":"Stores a value to an address' storage slot."},"functionSelector":"70ca10bb","implemented":false,"kind":"function","modifiers":[],"name":"store","nameLocation":"114669:5:15","parameters":{"id":17562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17557,"mutability":"mutable","name":"target","nameLocation":"114683:6:15","nodeType":"VariableDeclaration","scope":17564,"src":"114675:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17556,"name":"address","nodeType":"ElementaryTypeName","src":"114675:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17559,"mutability":"mutable","name":"slot","nameLocation":"114699:4:15","nodeType":"VariableDeclaration","scope":17564,"src":"114691:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17558,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114691:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":17561,"mutability":"mutable","name":"value","nameLocation":"114713:5:15","nodeType":"VariableDeclaration","scope":17564,"src":"114705:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17560,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114705:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"114674:45:15"},"returnParameters":{"id":17563,"nodeType":"ParameterList","parameters":[],"src":"114728:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17570,"nodeType":"FunctionDefinition","src":"114832:43:15","nodes":[],"documentation":{"id":17565,"nodeType":"StructuredDocumentation","src":"114735:92:15","text":"Fetches the given transaction from the active fork and executes it on the current state."},"functionSelector":"be646da1","implemented":false,"kind":"function","modifiers":[],"name":"transact","nameLocation":"114841:8:15","parameters":{"id":17568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17567,"mutability":"mutable","name":"txHash","nameLocation":"114858:6:15","nodeType":"VariableDeclaration","scope":17570,"src":"114850:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17566,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114850:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"114849:16:15"},"returnParameters":{"id":17569,"nodeType":"ParameterList","parameters":[],"src":"114874:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17578,"nodeType":"FunctionDefinition","src":"114977:59:15","nodes":[],"documentation":{"id":17571,"nodeType":"StructuredDocumentation","src":"114881:91:15","text":"Fetches the given transaction from the given fork and executes it on the current state."},"functionSelector":"4d8abc4b","implemented":false,"kind":"function","modifiers":[],"name":"transact","nameLocation":"114986:8:15","parameters":{"id":17576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17573,"mutability":"mutable","name":"forkId","nameLocation":"115003:6:15","nodeType":"VariableDeclaration","scope":17578,"src":"114995:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17572,"name":"uint256","nodeType":"ElementaryTypeName","src":"114995:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17575,"mutability":"mutable","name":"txHash","nameLocation":"115019:6:15","nodeType":"VariableDeclaration","scope":17578,"src":"115011:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17574,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115011:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"114994:32:15"},"returnParameters":{"id":17577,"nodeType":"ParameterList","parameters":[],"src":"115035:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17584,"nodeType":"FunctionDefinition","src":"115070:50:15","nodes":[],"documentation":{"id":17579,"nodeType":"StructuredDocumentation","src":"115042:23:15","text":"Sets `tx.gasprice`."},"functionSelector":"48f50c0f","implemented":false,"kind":"function","modifiers":[],"name":"txGasPrice","nameLocation":"115079:10:15","parameters":{"id":17582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17581,"mutability":"mutable","name":"newGasPrice","nameLocation":"115098:11:15","nodeType":"VariableDeclaration","scope":17584,"src":"115090:19:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17580,"name":"uint256","nodeType":"ElementaryTypeName","src":"115090:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"115089:21:15"},"returnParameters":{"id":17583,"nodeType":"ParameterList","parameters":[],"src":"115119:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17592,"nodeType":"FunctionDefinition","src":"115216:57:15","nodes":[],"documentation":{"id":17585,"nodeType":"StructuredDocumentation","src":"115126:85:15","text":"Utility cheatcode to mark specific storage slot as warm, simulating a prior read."},"functionSelector":"b23184cf","implemented":false,"kind":"function","modifiers":[],"name":"warmSlot","nameLocation":"115225:8:15","parameters":{"id":17590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17587,"mutability":"mutable","name":"target","nameLocation":"115242:6:15","nodeType":"VariableDeclaration","scope":17592,"src":"115234:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17586,"name":"address","nodeType":"ElementaryTypeName","src":"115234:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17589,"mutability":"mutable","name":"slot","nameLocation":"115258:4:15","nodeType":"VariableDeclaration","scope":17592,"src":"115250:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":17588,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115250:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"115233:30:15"},"returnParameters":{"id":17591,"nodeType":"ParameterList","parameters":[],"src":"115272:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17598,"nodeType":"FunctionDefinition","src":"115311:45:15","nodes":[],"documentation":{"id":17593,"nodeType":"StructuredDocumentation","src":"115279:27:15","text":"Sets `block.timestamp`."},"functionSelector":"e5d6bf02","implemented":false,"kind":"function","modifiers":[],"name":"warp","nameLocation":"115320:4:15","parameters":{"id":17596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17595,"mutability":"mutable","name":"newTimestamp","nameLocation":"115333:12:15","nodeType":"VariableDeclaration","scope":17598,"src":"115325:20:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17594,"name":"uint256","nodeType":"ElementaryTypeName","src":"115325:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"115324:22:15"},"returnParameters":{"id":17597,"nodeType":"ParameterList","parameters":[],"src":"115355:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17606,"nodeType":"FunctionDefinition","src":"115481:76:15","nodes":[],"documentation":{"id":17599,"nodeType":"StructuredDocumentation","src":"115362:114:15","text":"`deleteSnapshot` is being deprecated in favor of `deleteStateSnapshot`. It will be removed in future versions."},"functionSelector":"a6368557","implemented":false,"kind":"function","modifiers":[],"name":"deleteSnapshot","nameLocation":"115490:14:15","parameters":{"id":17602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17601,"mutability":"mutable","name":"snapshotId","nameLocation":"115513:10:15","nodeType":"VariableDeclaration","scope":17606,"src":"115505:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17600,"name":"uint256","nodeType":"ElementaryTypeName","src":"115505:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"115504:20:15"},"returnParameters":{"id":17605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17604,"mutability":"mutable","name":"success","nameLocation":"115548:7:15","nodeType":"VariableDeclaration","scope":17606,"src":"115543:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17603,"name":"bool","nodeType":"ElementaryTypeName","src":"115543:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"115542:14:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17610,"nodeType":"FunctionDefinition","src":"115684:36:15","nodes":[],"documentation":{"id":17607,"nodeType":"StructuredDocumentation","src":"115563:116:15","text":"`deleteSnapshots` is being deprecated in favor of `deleteStateSnapshots`. It will be removed in future versions."},"functionSelector":"421ae469","implemented":false,"kind":"function","modifiers":[],"name":"deleteSnapshots","nameLocation":"115693:15:15","parameters":{"id":17608,"nodeType":"ParameterList","parameters":[],"src":"115708:2:15"},"returnParameters":{"id":17609,"nodeType":"ParameterList","parameters":[],"src":"115719:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17618,"nodeType":"FunctionDefinition","src":"115851:79:15","nodes":[],"documentation":{"id":17611,"nodeType":"StructuredDocumentation","src":"115726:120:15","text":"`revertToAndDelete` is being deprecated in favor of `revertToStateAndDelete`. It will be removed in future versions."},"functionSelector":"03e0aca9","implemented":false,"kind":"function","modifiers":[],"name":"revertToAndDelete","nameLocation":"115860:17:15","parameters":{"id":17614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17613,"mutability":"mutable","name":"snapshotId","nameLocation":"115886:10:15","nodeType":"VariableDeclaration","scope":17618,"src":"115878:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17612,"name":"uint256","nodeType":"ElementaryTypeName","src":"115878:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"115877:20:15"},"returnParameters":{"id":17617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17616,"mutability":"mutable","name":"success","nameLocation":"115921:7:15","nodeType":"VariableDeclaration","scope":17618,"src":"115916:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17615,"name":"bool","nodeType":"ElementaryTypeName","src":"115916:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"115915:14:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17626,"nodeType":"FunctionDefinition","src":"116043:70:15","nodes":[],"documentation":{"id":17619,"nodeType":"StructuredDocumentation","src":"115936:102:15","text":"`revertTo` is being deprecated in favor of `revertToState`. It will be removed in future versions."},"functionSelector":"44d7f0a4","implemented":false,"kind":"function","modifiers":[],"name":"revertTo","nameLocation":"116052:8:15","parameters":{"id":17622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17621,"mutability":"mutable","name":"snapshotId","nameLocation":"116069:10:15","nodeType":"VariableDeclaration","scope":17626,"src":"116061:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17620,"name":"uint256","nodeType":"ElementaryTypeName","src":"116061:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"116060:20:15"},"returnParameters":{"id":17625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17624,"mutability":"mutable","name":"success","nameLocation":"116104:7:15","nodeType":"VariableDeclaration","scope":17626,"src":"116099:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17623,"name":"bool","nodeType":"ElementaryTypeName","src":"116099:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"116098:14:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17632,"nodeType":"FunctionDefinition","src":"116226:58:15","nodes":[],"documentation":{"id":17627,"nodeType":"StructuredDocumentation","src":"116119:102:15","text":"`snapshot` is being deprecated in favor of `snapshotState`. It will be removed in future versions."},"functionSelector":"9711715a","implemented":false,"kind":"function","modifiers":[],"name":"snapshot","nameLocation":"116235:8:15","parameters":{"id":17628,"nodeType":"ParameterList","parameters":[],"src":"116243:2:15"},"returnParameters":{"id":17631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17630,"mutability":"mutable","name":"snapshotId","nameLocation":"116272:10:15","nodeType":"VariableDeclaration","scope":17632,"src":"116264:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17629,"name":"uint256","nodeType":"ElementaryTypeName","src":"116264:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"116263:20:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17644,"nodeType":"FunctionDefinition","src":"116436:105:15","nodes":[],"documentation":{"id":17633,"nodeType":"StructuredDocumentation","src":"116324:107:15","text":"Expect a call to an address with the specified `msg.value` and calldata, and a *minimum* amount of gas."},"functionSelector":"08e4e116","implemented":false,"kind":"function","modifiers":[],"name":"expectCallMinGas","nameLocation":"116445:16:15","parameters":{"id":17642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17635,"mutability":"mutable","name":"callee","nameLocation":"116470:6:15","nodeType":"VariableDeclaration","scope":17644,"src":"116462:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17634,"name":"address","nodeType":"ElementaryTypeName","src":"116462:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17637,"mutability":"mutable","name":"msgValue","nameLocation":"116486:8:15","nodeType":"VariableDeclaration","scope":17644,"src":"116478:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17636,"name":"uint256","nodeType":"ElementaryTypeName","src":"116478:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17639,"mutability":"mutable","name":"minGas","nameLocation":"116503:6:15","nodeType":"VariableDeclaration","scope":17644,"src":"116496:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":17638,"name":"uint64","nodeType":"ElementaryTypeName","src":"116496:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":17641,"mutability":"mutable","name":"data","nameLocation":"116526:4:15","nodeType":"VariableDeclaration","scope":17644,"src":"116511:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17640,"name":"bytes","nodeType":"ElementaryTypeName","src":"116511:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"116461:70:15"},"returnParameters":{"id":17643,"nodeType":"ParameterList","parameters":[],"src":"116540:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17658,"nodeType":"FunctionDefinition","src":"116674:127:15","nodes":[],"documentation":{"id":17645,"nodeType":"StructuredDocumentation","src":"116547:122:15","text":"Expect given number of calls to an address with the specified `msg.value` and calldata, and a *minimum* amount of gas."},"functionSelector":"e13a1834","implemented":false,"kind":"function","modifiers":[],"name":"expectCallMinGas","nameLocation":"116683:16:15","parameters":{"id":17656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17647,"mutability":"mutable","name":"callee","nameLocation":"116708:6:15","nodeType":"VariableDeclaration","scope":17658,"src":"116700:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17646,"name":"address","nodeType":"ElementaryTypeName","src":"116700:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17649,"mutability":"mutable","name":"msgValue","nameLocation":"116724:8:15","nodeType":"VariableDeclaration","scope":17658,"src":"116716:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17648,"name":"uint256","nodeType":"ElementaryTypeName","src":"116716:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17651,"mutability":"mutable","name":"minGas","nameLocation":"116741:6:15","nodeType":"VariableDeclaration","scope":17658,"src":"116734:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":17650,"name":"uint64","nodeType":"ElementaryTypeName","src":"116734:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":17653,"mutability":"mutable","name":"data","nameLocation":"116764:4:15","nodeType":"VariableDeclaration","scope":17658,"src":"116749:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17652,"name":"bytes","nodeType":"ElementaryTypeName","src":"116749:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":17655,"mutability":"mutable","name":"count","nameLocation":"116777:5:15","nodeType":"VariableDeclaration","scope":17658,"src":"116770:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":17654,"name":"uint64","nodeType":"ElementaryTypeName","src":"116770:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"116699:84:15"},"returnParameters":{"id":17657,"nodeType":"ParameterList","parameters":[],"src":"116800:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17666,"nodeType":"FunctionDefinition","src":"116933:66:15","nodes":[],"documentation":{"id":17659,"nodeType":"StructuredDocumentation","src":"116807:121:15","text":"Expects a call to an address with the specified calldata.\n Calldata can either be a strict or a partial match."},"functionSelector":"bd6af434","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"116942:10:15","parameters":{"id":17664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17661,"mutability":"mutable","name":"callee","nameLocation":"116961:6:15","nodeType":"VariableDeclaration","scope":17666,"src":"116953:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17660,"name":"address","nodeType":"ElementaryTypeName","src":"116953:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17663,"mutability":"mutable","name":"data","nameLocation":"116984:4:15","nodeType":"VariableDeclaration","scope":17666,"src":"116969:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17662,"name":"bytes","nodeType":"ElementaryTypeName","src":"116969:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"116952:37:15"},"returnParameters":{"id":17665,"nodeType":"ParameterList","parameters":[],"src":"116998:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17676,"nodeType":"FunctionDefinition","src":"117086:80:15","nodes":[],"documentation":{"id":17667,"nodeType":"StructuredDocumentation","src":"117005:76:15","text":"Expects given number of calls to an address with the specified calldata."},"functionSelector":"c1adbbff","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"117095:10:15","parameters":{"id":17674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17669,"mutability":"mutable","name":"callee","nameLocation":"117114:6:15","nodeType":"VariableDeclaration","scope":17676,"src":"117106:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17668,"name":"address","nodeType":"ElementaryTypeName","src":"117106:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17671,"mutability":"mutable","name":"data","nameLocation":"117137:4:15","nodeType":"VariableDeclaration","scope":17676,"src":"117122:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17670,"name":"bytes","nodeType":"ElementaryTypeName","src":"117122:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":17673,"mutability":"mutable","name":"count","nameLocation":"117150:5:15","nodeType":"VariableDeclaration","scope":17676,"src":"117143:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":17672,"name":"uint64","nodeType":"ElementaryTypeName","src":"117143:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"117105:51:15"},"returnParameters":{"id":17675,"nodeType":"ParameterList","parameters":[],"src":"117165:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17686,"nodeType":"FunctionDefinition","src":"117254:84:15","nodes":[],"documentation":{"id":17677,"nodeType":"StructuredDocumentation","src":"117172:77:15","text":"Expects a call to an address with the specified `msg.value` and calldata."},"functionSelector":"f30c7ba3","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"117263:10:15","parameters":{"id":17684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17679,"mutability":"mutable","name":"callee","nameLocation":"117282:6:15","nodeType":"VariableDeclaration","scope":17686,"src":"117274:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17678,"name":"address","nodeType":"ElementaryTypeName","src":"117274:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17681,"mutability":"mutable","name":"msgValue","nameLocation":"117298:8:15","nodeType":"VariableDeclaration","scope":17686,"src":"117290:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17680,"name":"uint256","nodeType":"ElementaryTypeName","src":"117290:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17683,"mutability":"mutable","name":"data","nameLocation":"117323:4:15","nodeType":"VariableDeclaration","scope":17686,"src":"117308:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17682,"name":"bytes","nodeType":"ElementaryTypeName","src":"117308:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"117273:55:15"},"returnParameters":{"id":17685,"nodeType":"ParameterList","parameters":[],"src":"117337:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17698,"nodeType":"FunctionDefinition","src":"117441:98:15","nodes":[],"documentation":{"id":17687,"nodeType":"StructuredDocumentation","src":"117344:92:15","text":"Expects given number of calls to an address with the specified `msg.value` and calldata."},"functionSelector":"a2b1a1ae","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"117450:10:15","parameters":{"id":17696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17689,"mutability":"mutable","name":"callee","nameLocation":"117469:6:15","nodeType":"VariableDeclaration","scope":17698,"src":"117461:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17688,"name":"address","nodeType":"ElementaryTypeName","src":"117461:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17691,"mutability":"mutable","name":"msgValue","nameLocation":"117485:8:15","nodeType":"VariableDeclaration","scope":17698,"src":"117477:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17690,"name":"uint256","nodeType":"ElementaryTypeName","src":"117477:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17693,"mutability":"mutable","name":"data","nameLocation":"117510:4:15","nodeType":"VariableDeclaration","scope":17698,"src":"117495:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17692,"name":"bytes","nodeType":"ElementaryTypeName","src":"117495:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":17695,"mutability":"mutable","name":"count","nameLocation":"117523:5:15","nodeType":"VariableDeclaration","scope":17698,"src":"117516:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":17694,"name":"uint64","nodeType":"ElementaryTypeName","src":"117516:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"117460:69:15"},"returnParameters":{"id":17697,"nodeType":"ParameterList","parameters":[],"src":"117538:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17710,"nodeType":"FunctionDefinition","src":"117632:96:15","nodes":[],"documentation":{"id":17699,"nodeType":"StructuredDocumentation","src":"117545:82:15","text":"Expect a call to an address with the specified `msg.value`, gas, and calldata."},"functionSelector":"23361207","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"117641:10:15","parameters":{"id":17708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17701,"mutability":"mutable","name":"callee","nameLocation":"117660:6:15","nodeType":"VariableDeclaration","scope":17710,"src":"117652:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17700,"name":"address","nodeType":"ElementaryTypeName","src":"117652:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17703,"mutability":"mutable","name":"msgValue","nameLocation":"117676:8:15","nodeType":"VariableDeclaration","scope":17710,"src":"117668:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17702,"name":"uint256","nodeType":"ElementaryTypeName","src":"117668:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17705,"mutability":"mutable","name":"gas","nameLocation":"117693:3:15","nodeType":"VariableDeclaration","scope":17710,"src":"117686:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":17704,"name":"uint64","nodeType":"ElementaryTypeName","src":"117686:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":17707,"mutability":"mutable","name":"data","nameLocation":"117713:4:15","nodeType":"VariableDeclaration","scope":17710,"src":"117698:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17706,"name":"bytes","nodeType":"ElementaryTypeName","src":"117698:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"117651:67:15"},"returnParameters":{"id":17709,"nodeType":"ParameterList","parameters":[],"src":"117727:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17724,"nodeType":"FunctionDefinition","src":"117837:110:15","nodes":[],"documentation":{"id":17711,"nodeType":"StructuredDocumentation","src":"117734:98:15","text":"Expects given number of calls to an address with the specified `msg.value`, gas, and calldata."},"functionSelector":"65b7b7cc","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"117846:10:15","parameters":{"id":17722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17713,"mutability":"mutable","name":"callee","nameLocation":"117865:6:15","nodeType":"VariableDeclaration","scope":17724,"src":"117857:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17712,"name":"address","nodeType":"ElementaryTypeName","src":"117857:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17715,"mutability":"mutable","name":"msgValue","nameLocation":"117881:8:15","nodeType":"VariableDeclaration","scope":17724,"src":"117873:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17714,"name":"uint256","nodeType":"ElementaryTypeName","src":"117873:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17717,"mutability":"mutable","name":"gas","nameLocation":"117898:3:15","nodeType":"VariableDeclaration","scope":17724,"src":"117891:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":17716,"name":"uint64","nodeType":"ElementaryTypeName","src":"117891:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":17719,"mutability":"mutable","name":"data","nameLocation":"117918:4:15","nodeType":"VariableDeclaration","scope":17724,"src":"117903:19:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17718,"name":"bytes","nodeType":"ElementaryTypeName","src":"117903:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":17721,"mutability":"mutable","name":"count","nameLocation":"117931:5:15","nodeType":"VariableDeclaration","scope":17724,"src":"117924:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":17720,"name":"uint64","nodeType":"ElementaryTypeName","src":"117924:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"117856:81:15"},"returnParameters":{"id":17723,"nodeType":"ParameterList","parameters":[],"src":"117946:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17732,"nodeType":"FunctionDefinition","src":"118059:74:15","nodes":[],"documentation":{"id":17725,"nodeType":"StructuredDocumentation","src":"117953:101:15","text":"Expects the deployment of the specified bytecode by the specified address using the CREATE opcode"},"functionSelector":"73cdce36","implemented":false,"kind":"function","modifiers":[],"name":"expectCreate","nameLocation":"118068:12:15","parameters":{"id":17730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17727,"mutability":"mutable","name":"bytecode","nameLocation":"118096:8:15","nodeType":"VariableDeclaration","scope":17732,"src":"118081:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17726,"name":"bytes","nodeType":"ElementaryTypeName","src":"118081:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":17729,"mutability":"mutable","name":"deployer","nameLocation":"118114:8:15","nodeType":"VariableDeclaration","scope":17732,"src":"118106:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17728,"name":"address","nodeType":"ElementaryTypeName","src":"118106:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"118080:43:15"},"returnParameters":{"id":17731,"nodeType":"ParameterList","parameters":[],"src":"118132:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17740,"nodeType":"FunctionDefinition","src":"118246:75:15","nodes":[],"documentation":{"id":17733,"nodeType":"StructuredDocumentation","src":"118139:102:15","text":"Expects the deployment of the specified bytecode by the specified address using the CREATE2 opcode"},"functionSelector":"ea54a472","implemented":false,"kind":"function","modifiers":[],"name":"expectCreate2","nameLocation":"118255:13:15","parameters":{"id":17738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17735,"mutability":"mutable","name":"bytecode","nameLocation":"118284:8:15","nodeType":"VariableDeclaration","scope":17740,"src":"118269:23:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17734,"name":"bytes","nodeType":"ElementaryTypeName","src":"118269:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":17737,"mutability":"mutable","name":"deployer","nameLocation":"118302:8:15","nodeType":"VariableDeclaration","scope":17740,"src":"118294:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17736,"name":"address","nodeType":"ElementaryTypeName","src":"118294:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"118268:43:15"},"returnParameters":{"id":17739,"nodeType":"ParameterList","parameters":[],"src":"118320:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17754,"nodeType":"FunctionDefinition","src":"118680:134:15","nodes":[],"documentation":{"id":17741,"nodeType":"StructuredDocumentation","src":"118327:348:15","text":"Prepare an expected anonymous log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData.).\n Call this function, then emit an anonymous event, then call a function. Internally after the call, we check if\n logs were emitted in the expected order with the expected topics and data (as specified by the booleans)."},"functionSelector":"c948db5e","implemented":false,"kind":"function","modifiers":[],"name":"expectEmitAnonymous","nameLocation":"118689:19:15","parameters":{"id":17752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17743,"mutability":"mutable","name":"checkTopic0","nameLocation":"118714:11:15","nodeType":"VariableDeclaration","scope":17754,"src":"118709:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17742,"name":"bool","nodeType":"ElementaryTypeName","src":"118709:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17745,"mutability":"mutable","name":"checkTopic1","nameLocation":"118732:11:15","nodeType":"VariableDeclaration","scope":17754,"src":"118727:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17744,"name":"bool","nodeType":"ElementaryTypeName","src":"118727:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17747,"mutability":"mutable","name":"checkTopic2","nameLocation":"118750:11:15","nodeType":"VariableDeclaration","scope":17754,"src":"118745:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17746,"name":"bool","nodeType":"ElementaryTypeName","src":"118745:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17749,"mutability":"mutable","name":"checkTopic3","nameLocation":"118768:11:15","nodeType":"VariableDeclaration","scope":17754,"src":"118763:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17748,"name":"bool","nodeType":"ElementaryTypeName","src":"118763:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17751,"mutability":"mutable","name":"checkData","nameLocation":"118786:9:15","nodeType":"VariableDeclaration","scope":17754,"src":"118781:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17750,"name":"bool","nodeType":"ElementaryTypeName","src":"118781:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"118708:88:15"},"returnParameters":{"id":17753,"nodeType":"ParameterList","parameters":[],"src":"118813:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17770,"nodeType":"FunctionDefinition","src":"118917:197:15","nodes":[],"documentation":{"id":17755,"nodeType":"StructuredDocumentation","src":"118820:92:15","text":"Same as the previous method, but also checks supplied address against emitting contract."},"functionSelector":"71c95899","implemented":false,"kind":"function","modifiers":[],"name":"expectEmitAnonymous","nameLocation":"118926:19:15","parameters":{"id":17768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17757,"mutability":"mutable","name":"checkTopic0","nameLocation":"118960:11:15","nodeType":"VariableDeclaration","scope":17770,"src":"118955:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17756,"name":"bool","nodeType":"ElementaryTypeName","src":"118955:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17759,"mutability":"mutable","name":"checkTopic1","nameLocation":"118986:11:15","nodeType":"VariableDeclaration","scope":17770,"src":"118981:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17758,"name":"bool","nodeType":"ElementaryTypeName","src":"118981:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17761,"mutability":"mutable","name":"checkTopic2","nameLocation":"119012:11:15","nodeType":"VariableDeclaration","scope":17770,"src":"119007:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17760,"name":"bool","nodeType":"ElementaryTypeName","src":"119007:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17763,"mutability":"mutable","name":"checkTopic3","nameLocation":"119038:11:15","nodeType":"VariableDeclaration","scope":17770,"src":"119033:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17762,"name":"bool","nodeType":"ElementaryTypeName","src":"119033:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17765,"mutability":"mutable","name":"checkData","nameLocation":"119064:9:15","nodeType":"VariableDeclaration","scope":17770,"src":"119059:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17764,"name":"bool","nodeType":"ElementaryTypeName","src":"119059:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17767,"mutability":"mutable","name":"emitter","nameLocation":"119091:7:15","nodeType":"VariableDeclaration","scope":17770,"src":"119083:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17766,"name":"address","nodeType":"ElementaryTypeName","src":"119083:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"118945:159:15"},"returnParameters":{"id":17769,"nodeType":"ParameterList","parameters":[],"src":"119113:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17774,"nodeType":"FunctionDefinition","src":"119404:40:15","nodes":[],"documentation":{"id":17771,"nodeType":"StructuredDocumentation","src":"119120:279:15","text":"Prepare an expected anonymous log with all topic and data checks enabled.\n Call this function, then emit an anonymous event, then call a function. Internally after the call, we check if\n logs were emitted in the expected order with the expected topics and data."},"functionSelector":"2e5f270c","implemented":false,"kind":"function","modifiers":[],"name":"expectEmitAnonymous","nameLocation":"119413:19:15","parameters":{"id":17772,"nodeType":"ParameterList","parameters":[],"src":"119432:2:15"},"returnParameters":{"id":17773,"nodeType":"ParameterList","parameters":[],"src":"119443:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17780,"nodeType":"FunctionDefinition","src":"119547:55:15","nodes":[],"documentation":{"id":17775,"nodeType":"StructuredDocumentation","src":"119450:92:15","text":"Same as the previous method, but also checks supplied address against emitting contract."},"functionSelector":"6fc68705","implemented":false,"kind":"function","modifiers":[],"name":"expectEmitAnonymous","nameLocation":"119556:19:15","parameters":{"id":17778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17777,"mutability":"mutable","name":"emitter","nameLocation":"119584:7:15","nodeType":"VariableDeclaration","scope":17780,"src":"119576:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17776,"name":"address","nodeType":"ElementaryTypeName","src":"119576:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"119575:17:15"},"returnParameters":{"id":17779,"nodeType":"ParameterList","parameters":[],"src":"119601:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17792,"nodeType":"FunctionDefinition","src":"119941:99:15","nodes":[],"documentation":{"id":17781,"nodeType":"StructuredDocumentation","src":"119608:328:15","text":"Prepare an expected log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData.).\n Call this function, then emit an event, then call a function. Internally after the call, we check if\n logs were emitted in the expected order with the expected topics and data (as specified by the booleans)."},"functionSelector":"491cc7c2","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"119950:10:15","parameters":{"id":17790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17783,"mutability":"mutable","name":"checkTopic1","nameLocation":"119966:11:15","nodeType":"VariableDeclaration","scope":17792,"src":"119961:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17782,"name":"bool","nodeType":"ElementaryTypeName","src":"119961:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17785,"mutability":"mutable","name":"checkTopic2","nameLocation":"119984:11:15","nodeType":"VariableDeclaration","scope":17792,"src":"119979:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17784,"name":"bool","nodeType":"ElementaryTypeName","src":"119979:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17787,"mutability":"mutable","name":"checkTopic3","nameLocation":"120002:11:15","nodeType":"VariableDeclaration","scope":17792,"src":"119997:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17786,"name":"bool","nodeType":"ElementaryTypeName","src":"119997:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17789,"mutability":"mutable","name":"checkData","nameLocation":"120020:9:15","nodeType":"VariableDeclaration","scope":17792,"src":"120015:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17788,"name":"bool","nodeType":"ElementaryTypeName","src":"120015:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"119960:70:15"},"returnParameters":{"id":17791,"nodeType":"ParameterList","parameters":[],"src":"120039:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17806,"nodeType":"FunctionDefinition","src":"120143:124:15","nodes":[],"documentation":{"id":17793,"nodeType":"StructuredDocumentation","src":"120046:92:15","text":"Same as the previous method, but also checks supplied address against emitting contract."},"functionSelector":"81bad6f3","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"120152:10:15","parameters":{"id":17804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17795,"mutability":"mutable","name":"checkTopic1","nameLocation":"120168:11:15","nodeType":"VariableDeclaration","scope":17806,"src":"120163:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17794,"name":"bool","nodeType":"ElementaryTypeName","src":"120163:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17797,"mutability":"mutable","name":"checkTopic2","nameLocation":"120186:11:15","nodeType":"VariableDeclaration","scope":17806,"src":"120181:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17796,"name":"bool","nodeType":"ElementaryTypeName","src":"120181:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17799,"mutability":"mutable","name":"checkTopic3","nameLocation":"120204:11:15","nodeType":"VariableDeclaration","scope":17806,"src":"120199:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17798,"name":"bool","nodeType":"ElementaryTypeName","src":"120199:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17801,"mutability":"mutable","name":"checkData","nameLocation":"120222:9:15","nodeType":"VariableDeclaration","scope":17806,"src":"120217:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17800,"name":"bool","nodeType":"ElementaryTypeName","src":"120217:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17803,"mutability":"mutable","name":"emitter","nameLocation":"120241:7:15","nodeType":"VariableDeclaration","scope":17806,"src":"120233:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17802,"name":"address","nodeType":"ElementaryTypeName","src":"120233:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"120162:87:15"},"returnParameters":{"id":17805,"nodeType":"ParameterList","parameters":[],"src":"120266:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17810,"nodeType":"FunctionDefinition","src":"120537:31:15","nodes":[],"documentation":{"id":17807,"nodeType":"StructuredDocumentation","src":"120273:259:15","text":"Prepare an expected log with all topic and data checks enabled.\n Call this function, then emit an event, then call a function. Internally after the call, we check if\n logs were emitted in the expected order with the expected topics and data."},"functionSelector":"440ed10d","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"120546:10:15","parameters":{"id":17808,"nodeType":"ParameterList","parameters":[],"src":"120556:2:15"},"returnParameters":{"id":17809,"nodeType":"ParameterList","parameters":[],"src":"120567:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17816,"nodeType":"FunctionDefinition","src":"120671:46:15","nodes":[],"documentation":{"id":17811,"nodeType":"StructuredDocumentation","src":"120574:92:15","text":"Same as the previous method, but also checks supplied address against emitting contract."},"functionSelector":"86b9620d","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"120680:10:15","parameters":{"id":17814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17813,"mutability":"mutable","name":"emitter","nameLocation":"120699:7:15","nodeType":"VariableDeclaration","scope":17816,"src":"120691:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17812,"name":"address","nodeType":"ElementaryTypeName","src":"120691:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"120690:17:15"},"returnParameters":{"id":17815,"nodeType":"ParameterList","parameters":[],"src":"120716:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17830,"nodeType":"FunctionDefinition","src":"120787:113:15","nodes":[],"documentation":{"id":17817,"nodeType":"StructuredDocumentation","src":"120723:59:15","text":"Expect a given number of logs with the provided topics."},"functionSelector":"5e1d1c33","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"120796:10:15","parameters":{"id":17828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17819,"mutability":"mutable","name":"checkTopic1","nameLocation":"120812:11:15","nodeType":"VariableDeclaration","scope":17830,"src":"120807:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17818,"name":"bool","nodeType":"ElementaryTypeName","src":"120807:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17821,"mutability":"mutable","name":"checkTopic2","nameLocation":"120830:11:15","nodeType":"VariableDeclaration","scope":17830,"src":"120825:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17820,"name":"bool","nodeType":"ElementaryTypeName","src":"120825:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17823,"mutability":"mutable","name":"checkTopic3","nameLocation":"120848:11:15","nodeType":"VariableDeclaration","scope":17830,"src":"120843:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17822,"name":"bool","nodeType":"ElementaryTypeName","src":"120843:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17825,"mutability":"mutable","name":"checkData","nameLocation":"120866:9:15","nodeType":"VariableDeclaration","scope":17830,"src":"120861:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17824,"name":"bool","nodeType":"ElementaryTypeName","src":"120861:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17827,"mutability":"mutable","name":"count","nameLocation":"120884:5:15","nodeType":"VariableDeclaration","scope":17830,"src":"120877:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":17826,"name":"uint64","nodeType":"ElementaryTypeName","src":"120877:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"120806:84:15"},"returnParameters":{"id":17829,"nodeType":"ParameterList","parameters":[],"src":"120899:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17846,"nodeType":"FunctionDefinition","src":"120994:184:15","nodes":[],"documentation":{"id":17831,"nodeType":"StructuredDocumentation","src":"120906:83:15","text":"Expect a given number of logs from a specific emitter with the provided topics."},"functionSelector":"c339d02c","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"121003:10:15","parameters":{"id":17844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17833,"mutability":"mutable","name":"checkTopic1","nameLocation":"121028:11:15","nodeType":"VariableDeclaration","scope":17846,"src":"121023:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17832,"name":"bool","nodeType":"ElementaryTypeName","src":"121023:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17835,"mutability":"mutable","name":"checkTopic2","nameLocation":"121054:11:15","nodeType":"VariableDeclaration","scope":17846,"src":"121049:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17834,"name":"bool","nodeType":"ElementaryTypeName","src":"121049:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17837,"mutability":"mutable","name":"checkTopic3","nameLocation":"121080:11:15","nodeType":"VariableDeclaration","scope":17846,"src":"121075:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17836,"name":"bool","nodeType":"ElementaryTypeName","src":"121075:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17839,"mutability":"mutable","name":"checkData","nameLocation":"121106:9:15","nodeType":"VariableDeclaration","scope":17846,"src":"121101:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17838,"name":"bool","nodeType":"ElementaryTypeName","src":"121101:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17841,"mutability":"mutable","name":"emitter","nameLocation":"121133:7:15","nodeType":"VariableDeclaration","scope":17846,"src":"121125:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17840,"name":"address","nodeType":"ElementaryTypeName","src":"121125:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17843,"mutability":"mutable","name":"count","nameLocation":"121157:5:15","nodeType":"VariableDeclaration","scope":17846,"src":"121150:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":17842,"name":"uint64","nodeType":"ElementaryTypeName","src":"121150:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"121013:155:15"},"returnParameters":{"id":17845,"nodeType":"ParameterList","parameters":[],"src":"121177:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17852,"nodeType":"FunctionDefinition","src":"121262:43:15","nodes":[],"documentation":{"id":17847,"nodeType":"StructuredDocumentation","src":"121184:73:15","text":"Expect a given number of logs with all topic and data checks enabled."},"functionSelector":"4c74a335","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"121271:10:15","parameters":{"id":17850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17849,"mutability":"mutable","name":"count","nameLocation":"121289:5:15","nodeType":"VariableDeclaration","scope":17852,"src":"121282:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":17848,"name":"uint64","nodeType":"ElementaryTypeName","src":"121282:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"121281:14:15"},"returnParameters":{"id":17851,"nodeType":"ParameterList","parameters":[],"src":"121304:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17860,"nodeType":"FunctionDefinition","src":"121413:60:15","nodes":[],"documentation":{"id":17853,"nodeType":"StructuredDocumentation","src":"121311:97:15","text":"Expect a given number of logs from a specific emitter with all topic and data checks enabled."},"functionSelector":"b43aece3","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"121422:10:15","parameters":{"id":17858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17855,"mutability":"mutable","name":"emitter","nameLocation":"121441:7:15","nodeType":"VariableDeclaration","scope":17860,"src":"121433:15:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17854,"name":"address","nodeType":"ElementaryTypeName","src":"121433:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17857,"mutability":"mutable","name":"count","nameLocation":"121457:5:15","nodeType":"VariableDeclaration","scope":17860,"src":"121450:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":17856,"name":"uint64","nodeType":"ElementaryTypeName","src":"121450:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"121432:31:15"},"returnParameters":{"id":17859,"nodeType":"ParameterList","parameters":[],"src":"121472:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17866,"nodeType":"FunctionDefinition","src":"121551:57:15","nodes":[],"documentation":{"id":17861,"nodeType":"StructuredDocumentation","src":"121479:67:15","text":"Expects an error on next call that starts with the revert data."},"functionSelector":"11fb5b9c","implemented":false,"kind":"function","modifiers":[],"name":"expectPartialRevert","nameLocation":"121560:19:15","parameters":{"id":17864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17863,"mutability":"mutable","name":"revertData","nameLocation":"121587:10:15","nodeType":"VariableDeclaration","scope":17866,"src":"121580:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":17862,"name":"bytes4","nodeType":"ElementaryTypeName","src":"121580:6:15","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"121579:19:15"},"returnParameters":{"id":17865,"nodeType":"ParameterList","parameters":[],"src":"121607:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17874,"nodeType":"FunctionDefinition","src":"121707:75:15","nodes":[],"documentation":{"id":17867,"nodeType":"StructuredDocumentation","src":"121614:88:15","text":"Expects an error on next call to reverter address, that starts with the revert data."},"functionSelector":"51aa008a","implemented":false,"kind":"function","modifiers":[],"name":"expectPartialRevert","nameLocation":"121716:19:15","parameters":{"id":17872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17869,"mutability":"mutable","name":"revertData","nameLocation":"121743:10:15","nodeType":"VariableDeclaration","scope":17874,"src":"121736:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":17868,"name":"bytes4","nodeType":"ElementaryTypeName","src":"121736:6:15","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":17871,"mutability":"mutable","name":"reverter","nameLocation":"121763:8:15","nodeType":"VariableDeclaration","scope":17874,"src":"121755:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17870,"name":"address","nodeType":"ElementaryTypeName","src":"121755:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"121735:37:15"},"returnParameters":{"id":17873,"nodeType":"ParameterList","parameters":[],"src":"121781:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17878,"nodeType":"FunctionDefinition","src":"121848:33:15","nodes":[],"documentation":{"id":17875,"nodeType":"StructuredDocumentation","src":"121788:55:15","text":"Expects an error on next call with any revert data."},"functionSelector":"f4844814","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"121857:12:15","parameters":{"id":17876,"nodeType":"ParameterList","parameters":[],"src":"121869:2:15"},"returnParameters":{"id":17877,"nodeType":"ParameterList","parameters":[],"src":"121880:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17884,"nodeType":"FunctionDefinition","src":"121963:50:15","nodes":[],"documentation":{"id":17879,"nodeType":"StructuredDocumentation","src":"121887:71:15","text":"Expects an error on next call that exactly matches the revert data."},"functionSelector":"c31eb0e0","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"121972:12:15","parameters":{"id":17882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17881,"mutability":"mutable","name":"revertData","nameLocation":"121992:10:15","nodeType":"VariableDeclaration","scope":17884,"src":"121985:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":17880,"name":"bytes4","nodeType":"ElementaryTypeName","src":"121985:6:15","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"121984:19:15"},"returnParameters":{"id":17883,"nodeType":"ParameterList","parameters":[],"src":"122012:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17894,"nodeType":"FunctionDefinition","src":"122141:82:15","nodes":[],"documentation":{"id":17885,"nodeType":"StructuredDocumentation","src":"122019:117:15","text":"Expects a `count` number of reverts from the upcoming calls from the reverter address that match the revert data."},"functionSelector":"b0762d73","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"122150:12:15","parameters":{"id":17892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17887,"mutability":"mutable","name":"revertData","nameLocation":"122170:10:15","nodeType":"VariableDeclaration","scope":17894,"src":"122163:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":17886,"name":"bytes4","nodeType":"ElementaryTypeName","src":"122163:6:15","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":17889,"mutability":"mutable","name":"reverter","nameLocation":"122190:8:15","nodeType":"VariableDeclaration","scope":17894,"src":"122182:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17888,"name":"address","nodeType":"ElementaryTypeName","src":"122182:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17891,"mutability":"mutable","name":"count","nameLocation":"122207:5:15","nodeType":"VariableDeclaration","scope":17894,"src":"122200:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":17890,"name":"uint64","nodeType":"ElementaryTypeName","src":"122200:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"122162:51:15"},"returnParameters":{"id":17893,"nodeType":"ParameterList","parameters":[],"src":"122222:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17904,"nodeType":"FunctionDefinition","src":"122359:90:15","nodes":[],"documentation":{"id":17895,"nodeType":"StructuredDocumentation","src":"122229:125:15","text":"Expects a `count` number of reverts from the upcoming calls from the reverter address that exactly match the revert data."},"functionSelector":"d345fb1f","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"122368:12:15","parameters":{"id":17902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17897,"mutability":"mutable","name":"revertData","nameLocation":"122396:10:15","nodeType":"VariableDeclaration","scope":17904,"src":"122381:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17896,"name":"bytes","nodeType":"ElementaryTypeName","src":"122381:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":17899,"mutability":"mutable","name":"reverter","nameLocation":"122416:8:15","nodeType":"VariableDeclaration","scope":17904,"src":"122408:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17898,"name":"address","nodeType":"ElementaryTypeName","src":"122408:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17901,"mutability":"mutable","name":"count","nameLocation":"122433:5:15","nodeType":"VariableDeclaration","scope":17904,"src":"122426:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":17900,"name":"uint64","nodeType":"ElementaryTypeName","src":"122426:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"122380:59:15"},"returnParameters":{"id":17903,"nodeType":"ParameterList","parameters":[],"src":"122448:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17910,"nodeType":"FunctionDefinition","src":"122531:58:15","nodes":[],"documentation":{"id":17905,"nodeType":"StructuredDocumentation","src":"122455:71:15","text":"Expects an error on next call that exactly matches the revert data."},"functionSelector":"f28dceb3","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"122540:12:15","parameters":{"id":17908,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17907,"mutability":"mutable","name":"revertData","nameLocation":"122568:10:15","nodeType":"VariableDeclaration","scope":17910,"src":"122553:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17906,"name":"bytes","nodeType":"ElementaryTypeName","src":"122553:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"122552:27:15"},"returnParameters":{"id":17909,"nodeType":"ParameterList","parameters":[],"src":"122588:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17916,"nodeType":"FunctionDefinition","src":"122675:49:15","nodes":[],"documentation":{"id":17911,"nodeType":"StructuredDocumentation","src":"122595:75:15","text":"Expects an error with any revert data on next call to reverter address."},"functionSelector":"d814f38a","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"122684:12:15","parameters":{"id":17914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17913,"mutability":"mutable","name":"reverter","nameLocation":"122705:8:15","nodeType":"VariableDeclaration","scope":17916,"src":"122697:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17912,"name":"address","nodeType":"ElementaryTypeName","src":"122697:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"122696:18:15"},"returnParameters":{"id":17915,"nodeType":"ParameterList","parameters":[],"src":"122723:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17924,"nodeType":"FunctionDefinition","src":"122813:68:15","nodes":[],"documentation":{"id":17917,"nodeType":"StructuredDocumentation","src":"122730:78:15","text":"Expects an error from reverter address on next call, with any revert data."},"functionSelector":"260bc5de","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"122822:12:15","parameters":{"id":17922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17919,"mutability":"mutable","name":"revertData","nameLocation":"122842:10:15","nodeType":"VariableDeclaration","scope":17924,"src":"122835:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":17918,"name":"bytes4","nodeType":"ElementaryTypeName","src":"122835:6:15","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":17921,"mutability":"mutable","name":"reverter","nameLocation":"122862:8:15","nodeType":"VariableDeclaration","scope":17924,"src":"122854:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17920,"name":"address","nodeType":"ElementaryTypeName","src":"122854:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"122834:37:15"},"returnParameters":{"id":17923,"nodeType":"ParameterList","parameters":[],"src":"122880:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17932,"nodeType":"FunctionDefinition","src":"122986:76:15","nodes":[],"documentation":{"id":17925,"nodeType":"StructuredDocumentation","src":"122887:94:15","text":"Expects an error from reverter address on next call, that exactly matches the revert data."},"functionSelector":"61ebcf12","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"122995:12:15","parameters":{"id":17930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17927,"mutability":"mutable","name":"revertData","nameLocation":"123023:10:15","nodeType":"VariableDeclaration","scope":17932,"src":"123008:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17926,"name":"bytes","nodeType":"ElementaryTypeName","src":"123008:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":17929,"mutability":"mutable","name":"reverter","nameLocation":"123043:8:15","nodeType":"VariableDeclaration","scope":17932,"src":"123035:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17928,"name":"address","nodeType":"ElementaryTypeName","src":"123035:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"123007:45:15"},"returnParameters":{"id":17931,"nodeType":"ParameterList","parameters":[],"src":"123061:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17938,"nodeType":"FunctionDefinition","src":"123170:45:15","nodes":[],"documentation":{"id":17933,"nodeType":"StructuredDocumentation","src":"123068:97:15","text":"Expects a `count` number of reverts from the upcoming calls with any revert data or reverter."},"functionSelector":"4ee38244","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"123179:12:15","parameters":{"id":17936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17935,"mutability":"mutable","name":"count","nameLocation":"123199:5:15","nodeType":"VariableDeclaration","scope":17938,"src":"123192:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":17934,"name":"uint64","nodeType":"ElementaryTypeName","src":"123192:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"123191:14:15"},"returnParameters":{"id":17937,"nodeType":"ParameterList","parameters":[],"src":"123214:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17946,"nodeType":"FunctionDefinition","src":"123317:64:15","nodes":[],"documentation":{"id":17939,"nodeType":"StructuredDocumentation","src":"123221:91:15","text":"Expects a `count` number of reverts from the upcoming calls that match the revert data."},"functionSelector":"e45ca72d","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"123326:12:15","parameters":{"id":17944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17941,"mutability":"mutable","name":"revertData","nameLocation":"123346:10:15","nodeType":"VariableDeclaration","scope":17946,"src":"123339:17:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":17940,"name":"bytes4","nodeType":"ElementaryTypeName","src":"123339:6:15","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":17943,"mutability":"mutable","name":"count","nameLocation":"123365:5:15","nodeType":"VariableDeclaration","scope":17946,"src":"123358:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":17942,"name":"uint64","nodeType":"ElementaryTypeName","src":"123358:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"123338:33:15"},"returnParameters":{"id":17945,"nodeType":"ParameterList","parameters":[],"src":"123380:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17954,"nodeType":"FunctionDefinition","src":"123491:72:15","nodes":[],"documentation":{"id":17947,"nodeType":"StructuredDocumentation","src":"123387:99:15","text":"Expects a `count` number of reverts from the upcoming calls that exactly match the revert data."},"functionSelector":"4994c273","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"123500:12:15","parameters":{"id":17952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17949,"mutability":"mutable","name":"revertData","nameLocation":"123528:10:15","nodeType":"VariableDeclaration","scope":17954,"src":"123513:25:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":17948,"name":"bytes","nodeType":"ElementaryTypeName","src":"123513:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":17951,"mutability":"mutable","name":"count","nameLocation":"123547:5:15","nodeType":"VariableDeclaration","scope":17954,"src":"123540:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":17950,"name":"uint64","nodeType":"ElementaryTypeName","src":"123540:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"123512:41:15"},"returnParameters":{"id":17953,"nodeType":"ParameterList","parameters":[],"src":"123562:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17962,"nodeType":"FunctionDefinition","src":"123664:63:15","nodes":[],"documentation":{"id":17955,"nodeType":"StructuredDocumentation","src":"123569:90:15","text":"Expects a `count` number of reverts from the upcoming calls from the reverter address."},"functionSelector":"1ff5f952","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"123673:12:15","parameters":{"id":17960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17957,"mutability":"mutable","name":"reverter","nameLocation":"123694:8:15","nodeType":"VariableDeclaration","scope":17962,"src":"123686:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17956,"name":"address","nodeType":"ElementaryTypeName","src":"123686:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17959,"mutability":"mutable","name":"count","nameLocation":"123711:5:15","nodeType":"VariableDeclaration","scope":17962,"src":"123704:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":17958,"name":"uint64","nodeType":"ElementaryTypeName","src":"123704:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"123685:32:15"},"returnParameters":{"id":17961,"nodeType":"ParameterList","parameters":[],"src":"123726:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17970,"nodeType":"FunctionDefinition","src":"123956:59:15","nodes":[],"documentation":{"id":17963,"nodeType":"StructuredDocumentation","src":"123733:218:15","text":"Only allows memory writes to offsets [0x00, 0x60) ∪ [min, max) in the current subcontext. If any other\n memory is written to, the test will fail. Can be called multiple times to add more ranges to the set."},"functionSelector":"6d016688","implemented":false,"kind":"function","modifiers":[],"name":"expectSafeMemory","nameLocation":"123965:16:15","parameters":{"id":17968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17965,"mutability":"mutable","name":"min","nameLocation":"123989:3:15","nodeType":"VariableDeclaration","scope":17970,"src":"123982:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":17964,"name":"uint64","nodeType":"ElementaryTypeName","src":"123982:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":17967,"mutability":"mutable","name":"max","nameLocation":"124001:3:15","nodeType":"VariableDeclaration","scope":17970,"src":"123994:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":17966,"name":"uint64","nodeType":"ElementaryTypeName","src":"123994:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"123981:24:15"},"returnParameters":{"id":17969,"nodeType":"ParameterList","parameters":[],"src":"124014:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17978,"nodeType":"FunctionDefinition","src":"124257:63:15","nodes":[],"documentation":{"id":17971,"nodeType":"StructuredDocumentation","src":"124021:231:15","text":"Only allows memory writes to offsets [0x00, 0x60) ∪ [min, max) in the next created subcontext.\n If any other memory is written to, the test will fail. Can be called multiple times to add more ranges\n to the set."},"functionSelector":"05838bf4","implemented":false,"kind":"function","modifiers":[],"name":"expectSafeMemoryCall","nameLocation":"124266:20:15","parameters":{"id":17976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17973,"mutability":"mutable","name":"min","nameLocation":"124294:3:15","nodeType":"VariableDeclaration","scope":17978,"src":"124287:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":17972,"name":"uint64","nodeType":"ElementaryTypeName","src":"124287:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":17975,"mutability":"mutable","name":"max","nameLocation":"124306:3:15","nodeType":"VariableDeclaration","scope":17978,"src":"124299:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":17974,"name":"uint64","nodeType":"ElementaryTypeName","src":"124299:6:15","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"124286:24:15"},"returnParameters":{"id":17977,"nodeType":"ParameterList","parameters":[],"src":"124319:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17984,"nodeType":"FunctionDefinition","src":"124402:38:15","nodes":[],"documentation":{"id":17979,"nodeType":"StructuredDocumentation","src":"124326:71:15","text":"Marks a test as skipped. Must be called at the top level of a test."},"functionSelector":"dd82d13e","implemented":false,"kind":"function","modifiers":[],"name":"skip","nameLocation":"124411:4:15","parameters":{"id":17982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17981,"mutability":"mutable","name":"skipTest","nameLocation":"124421:8:15","nodeType":"VariableDeclaration","scope":17984,"src":"124416:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17980,"name":"bool","nodeType":"ElementaryTypeName","src":"124416:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"124415:15:15"},"returnParameters":{"id":17983,"nodeType":"ParameterList","parameters":[],"src":"124439:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17992,"nodeType":"FunctionDefinition","src":"124536:62:15","nodes":[],"documentation":{"id":17985,"nodeType":"StructuredDocumentation","src":"124446:85:15","text":"Marks a test as skipped with a reason. Must be called at the top level of a test."},"functionSelector":"c42a80a7","implemented":false,"kind":"function","modifiers":[],"name":"skip","nameLocation":"124545:4:15","parameters":{"id":17990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17987,"mutability":"mutable","name":"skipTest","nameLocation":"124555:8:15","nodeType":"VariableDeclaration","scope":17992,"src":"124550:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17986,"name":"bool","nodeType":"ElementaryTypeName","src":"124550:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17989,"mutability":"mutable","name":"reason","nameLocation":"124581:6:15","nodeType":"VariableDeclaration","scope":17992,"src":"124565:22:15","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":17988,"name":"string","nodeType":"ElementaryTypeName","src":"124565:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"124549:39:15"},"returnParameters":{"id":17991,"nodeType":"ParameterList","parameters":[],"src":"124597:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":17996,"nodeType":"FunctionDefinition","src":"124673:41:15","nodes":[],"documentation":{"id":17993,"nodeType":"StructuredDocumentation","src":"124604:64:15","text":"Stops all safe memory expectation in the current subcontext."},"functionSelector":"0956441b","implemented":false,"kind":"function","modifiers":[],"name":"stopExpectSafeMemory","nameLocation":"124682:20:15","parameters":{"id":17994,"nodeType":"ParameterList","parameters":[],"src":"124702:2:15"},"returnParameters":{"id":17995,"nodeType":"ParameterList","parameters":[],"src":"124713:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":18000,"nodeType":"FunctionDefinition","src":"125202:38:15","nodes":[],"documentation":{"id":17997,"nodeType":"StructuredDocumentation","src":"124756:441:15","text":"Causes the next contract creation (via new) to fail and return its initcode in the returndata buffer.\n This allows type-safe access to the initcode payload that would be used for contract creation.\n Example usage:\n vm.interceptInitcode();\n bytes memory initcode;\n try new MyContract(param1, param2) { assert(false); }\n catch (bytes memory interceptedInitcode) { initcode = interceptedInitcode; }"},"functionSelector":"838653c7","implemented":false,"kind":"function","modifiers":[],"name":"interceptInitcode","nameLocation":"125211:17:15","parameters":{"id":17998,"nodeType":"ParameterList","parameters":[],"src":"125228:2:15"},"returnParameters":{"id":17999,"nodeType":"ParameterList","parameters":[],"src":"125239:0:15"},"scope":18001,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":16932,"name":"VmSafe","nameLocations":["98671:6:15"],"nodeType":"IdentifierPath","referencedDeclaration":16930,"src":"98671:6:15"},"id":16933,"nodeType":"InheritanceSpecifier","src":"98671:6:15"}],"canonicalName":"Vm","contractDependencies":[],"contractKind":"interface","documentation":{"id":16931,"nodeType":"StructuredDocumentation","src":"98484:171:15","text":"The `Vm` interface does allow manipulation of the EVM state. These are all intended to be used\n in tests, but it is not recommended to use these cheats in scripts."},"fullyImplemented":false,"linearizedBaseContracts":[18001,16930],"name":"Vm","nameLocation":"98665:2:15","scope":18002,"usedErrors":[],"usedEvents":[]}],"license":"MIT OR Apache-2.0"}},"lib/forge-std/src/console.sol":{"id":16,"ast":{"absolutePath":"lib/forge-std/src/console.sol","id":26118,"exportedSymbols":{"console":[26117]},"nodeType":"SourceUnit","src":"32:69238:16","nodes":[{"id":18003,"nodeType":"PragmaDirective","src":"32:32:16","nodes":[],"literals":["solidity",">=","0.4",".22","<","0.9",".0"]},{"id":26117,"nodeType":"ContractDefinition","src":"66:69203:16","nodes":[{"id":18006,"nodeType":"VariableDeclaration","src":"88:85:16","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE_ADDRESS","nameLocation":"105:15:16","scope":26117,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18004,"name":"address","nodeType":"ElementaryTypeName","src":"88:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":18005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"131:42:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"internal"},{"id":18017,"nodeType":"FunctionDefinition","src":"180:463:16","nodes":[],"body":{"id":18016,"nodeType":"Block","src":"255:388:16","nodes":[],"statements":[{"assignments":[18012],"declarations":[{"constant":false,"id":18012,"mutability":"mutable","name":"consoleAddress","nameLocation":"273:14:16","nodeType":"VariableDeclaration","scope":18016,"src":"265:22:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18011,"name":"address","nodeType":"ElementaryTypeName","src":"265:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":18014,"initialValue":{"id":18013,"name":"CONSOLE_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18006,"src":"290:15:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"265:40:16"},{"AST":{"nativeSrc":"367:270:16","nodeType":"YulBlock","src":"367:270:16","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"434:3:16","nodeType":"YulIdentifier","src":"434:3:16"},"nativeSrc":"434:5:16","nodeType":"YulFunctionCall","src":"434:5:16"},{"name":"consoleAddress","nativeSrc":"461:14:16","nodeType":"YulIdentifier","src":"461:14:16"},{"arguments":[{"name":"payload","nativeSrc":"501:7:16","nodeType":"YulIdentifier","src":"501:7:16"},{"kind":"number","nativeSrc":"510:2:16","nodeType":"YulLiteral","src":"510:2:16","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"497:3:16","nodeType":"YulIdentifier","src":"497:3:16"},"nativeSrc":"497:16:16","nodeType":"YulFunctionCall","src":"497:16:16"},{"arguments":[{"name":"payload","nativeSrc":"541:7:16","nodeType":"YulIdentifier","src":"541:7:16"}],"functionName":{"name":"mload","nativeSrc":"535:5:16","nodeType":"YulIdentifier","src":"535:5:16"},"nativeSrc":"535:14:16","nodeType":"YulFunctionCall","src":"535:14:16"},{"kind":"number","nativeSrc":"571:1:16","nodeType":"YulLiteral","src":"571:1:16","type":"","value":"0"},{"kind":"number","nativeSrc":"594:1:16","nodeType":"YulLiteral","src":"594:1:16","type":"","value":"0"}],"functionName":{"name":"staticcall","nativeSrc":"402:10:16","nodeType":"YulIdentifier","src":"402:10:16"},"nativeSrc":"402:211:16","nodeType":"YulFunctionCall","src":"402:211:16"}],"functionName":{"name":"pop","nativeSrc":"381:3:16","nodeType":"YulIdentifier","src":"381:3:16"},"nativeSrc":"381:246:16","nodeType":"YulFunctionCall","src":"381:246:16"},"nativeSrc":"381:246:16","nodeType":"YulExpressionStatement","src":"381:246:16"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":18012,"isOffset":false,"isSlot":false,"src":"461:14:16","valueSize":1},{"declaration":18008,"isOffset":false,"isSlot":false,"src":"501:7:16","valueSize":1},{"declaration":18008,"isOffset":false,"isSlot":false,"src":"541:7:16","valueSize":1}],"id":18015,"nodeType":"InlineAssembly","src":"358:279:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayloadImplementation","nameLocation":"189:29:16","parameters":{"id":18009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18008,"mutability":"mutable","name":"payload","nameLocation":"232:7:16","nodeType":"VariableDeclaration","scope":18017,"src":"219:20:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18007,"name":"bytes","nodeType":"ElementaryTypeName","src":"219:5:16","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"218:22:16"},"returnParameters":{"id":18010,"nodeType":"ParameterList","parameters":[],"src":"255:0:16"},"scope":26117,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18034,"nodeType":"FunctionDefinition","src":"649:196:16","nodes":[],"body":{"id":18033,"nodeType":"Block","src":"783:62:16","nodes":[],"statements":[{"AST":{"nativeSrc":"802:37:16","nodeType":"YulBlock","src":"802:37:16","statements":[{"nativeSrc":"816:13:16","nodeType":"YulAssignment","src":"816:13:16","value":{"name":"fnIn","nativeSrc":"825:4:16","nodeType":"YulIdentifier","src":"825:4:16"},"variableNames":[{"name":"fnOut","nativeSrc":"816:5:16","nodeType":"YulIdentifier","src":"816:5:16"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":18023,"isOffset":false,"isSlot":false,"src":"825:4:16","valueSize":1},{"declaration":18030,"isOffset":false,"isSlot":false,"src":"816:5:16","valueSize":1}],"id":18032,"nodeType":"InlineAssembly","src":"793:46:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_castToPure","nameLocation":"658:11:16","parameters":{"id":18024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18023,"mutability":"mutable","name":"fnIn","nameLocation":"714:4:16","nodeType":"VariableDeclaration","scope":18034,"src":"677:41:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) view"},"typeName":{"id":18022,"nodeType":"FunctionTypeName","parameterTypes":{"id":18020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18019,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18022,"src":"686:12:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18018,"name":"bytes","nodeType":"ElementaryTypeName","src":"686:5:16","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"685:14:16"},"returnParameterTypes":{"id":18021,"nodeType":"ParameterList","parameters":[],"src":"714:0:16"},"src":"677:41:16","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) view"},"visibility":"internal"},"visibility":"internal"}],"src":"669:55:16"},"returnParameters":{"id":18031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18030,"mutability":"mutable","name":"fnOut","nameLocation":"776:5:16","nodeType":"VariableDeclaration","scope":18034,"src":"748:33:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) pure"},"typeName":{"id":18029,"nodeType":"FunctionTypeName","parameterTypes":{"id":18027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18026,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":18029,"src":"757:12:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18025,"name":"bytes","nodeType":"ElementaryTypeName","src":"757:5:16","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"756:14:16"},"returnParameterTypes":{"id":18028,"nodeType":"ParameterList","parameters":[],"src":"776:0:16"},"src":"748:33:16","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) pure"},"visibility":"internal"},"visibility":"internal"}],"src":"747:35:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18046,"nodeType":"FunctionDefinition","src":"851:129:16","nodes":[],"body":{"id":18045,"nodeType":"Block","src":"912:68:16","nodes":[],"statements":[{"expression":{"arguments":[{"id":18042,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18036,"src":"965:7:16","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"arguments":[{"id":18040,"name":"_sendLogPayloadImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18017,"src":"934:29:16","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}],"id":18039,"name":"_castToPure","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18034,"src":"922:11:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_function_internal_view$_t_bytes_memory_ptr_$returns$__$_$returns$_t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$_$","typeString":"function (function (bytes memory) view) pure returns (function (bytes memory) pure)"}},"id":18041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"922:42:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"922:51:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18044,"nodeType":"ExpressionStatement","src":"922:51:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayload","nameLocation":"860:15:16","parameters":{"id":18037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18036,"mutability":"mutable","name":"payload","nameLocation":"889:7:16","nodeType":"VariableDeclaration","scope":18046,"src":"876:20:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18035,"name":"bytes","nodeType":"ElementaryTypeName","src":"876:5:16","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"875:22:16"},"returnParameters":{"id":18038,"nodeType":"ParameterList","parameters":[],"src":"912:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18057,"nodeType":"FunctionDefinition","src":"986:95:16","nodes":[],"body":{"id":18056,"nodeType":"Block","src":"1015:66:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672829","id":18052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1065:7:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39","typeString":"literal_string \"log()\""},"value":"log()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39","typeString":"literal_string \"log()\""}],"expression":{"id":18050,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1041:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1045:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1041:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1041:32:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18049,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"1025:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1025:49:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18055,"nodeType":"ExpressionStatement","src":"1025:49:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"995:3:16","parameters":{"id":18047,"nodeType":"ParameterList","parameters":[],"src":"998:2:16"},"returnParameters":{"id":18048,"nodeType":"ParameterList","parameters":[],"src":"1015:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18071,"nodeType":"FunctionDefinition","src":"1087:117:16","nodes":[],"body":{"id":18070,"nodeType":"Block","src":"1128:76:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728696e7432353629","id":18065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1178:13:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},"value":"log(int256)"},{"id":18066,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18059,"src":"1193:2:16","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":18063,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1154:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18064,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1158:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1154:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1154:42:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18062,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"1138:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1138:59:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18069,"nodeType":"ExpressionStatement","src":"1138:59:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logInt","nameLocation":"1096:6:16","parameters":{"id":18060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18059,"mutability":"mutable","name":"p0","nameLocation":"1110:2:16","nodeType":"VariableDeclaration","scope":18071,"src":"1103:9:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":18058,"name":"int256","nodeType":"ElementaryTypeName","src":"1103:6:16","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1102:11:16"},"returnParameters":{"id":18061,"nodeType":"ParameterList","parameters":[],"src":"1128:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18085,"nodeType":"FunctionDefinition","src":"1210:120:16","nodes":[],"body":{"id":18084,"nodeType":"Block","src":"1253:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e7432353629","id":18079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1303:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},"value":"log(uint256)"},{"id":18080,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18073,"src":"1319:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18077,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1279:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18078,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1283:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1279:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1279:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18076,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"1263:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1263:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18083,"nodeType":"ExpressionStatement","src":"1263:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logUint","nameLocation":"1219:7:16","parameters":{"id":18074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18073,"mutability":"mutable","name":"p0","nameLocation":"1235:2:16","nodeType":"VariableDeclaration","scope":18085,"src":"1227:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18072,"name":"uint256","nodeType":"ElementaryTypeName","src":"1227:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1226:12:16"},"returnParameters":{"id":18075,"nodeType":"ParameterList","parameters":[],"src":"1253:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18099,"nodeType":"FunctionDefinition","src":"1336:127:16","nodes":[],"body":{"id":18098,"nodeType":"Block","src":"1387:76:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":18093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1437:13:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":18094,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18087,"src":"1452:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18091,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1413:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1417:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1413:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1413:42:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18090,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"1397:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1397:59:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18097,"nodeType":"ExpressionStatement","src":"1397:59:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logString","nameLocation":"1345:9:16","parameters":{"id":18088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18087,"mutability":"mutable","name":"p0","nameLocation":"1369:2:16","nodeType":"VariableDeclaration","scope":18099,"src":"1355:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18086,"name":"string","nodeType":"ElementaryTypeName","src":"1355:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1354:18:16"},"returnParameters":{"id":18089,"nodeType":"ParameterList","parameters":[],"src":"1387:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18113,"nodeType":"FunctionDefinition","src":"1469:114:16","nodes":[],"body":{"id":18112,"nodeType":"Block","src":"1509:74:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c29","id":18107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1559:11:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},"value":"log(bool)"},{"id":18108,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18101,"src":"1572:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18105,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1535:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18106,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1539:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1535:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1535:40:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18104,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"1519:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1519:57:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18111,"nodeType":"ExpressionStatement","src":"1519:57:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBool","nameLocation":"1478:7:16","parameters":{"id":18102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18101,"mutability":"mutable","name":"p0","nameLocation":"1491:2:16","nodeType":"VariableDeclaration","scope":18113,"src":"1486:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18100,"name":"bool","nodeType":"ElementaryTypeName","src":"1486:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1485:9:16"},"returnParameters":{"id":18103,"nodeType":"ParameterList","parameters":[],"src":"1509:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18127,"nodeType":"FunctionDefinition","src":"1589:123:16","nodes":[],"body":{"id":18126,"nodeType":"Block","src":"1635:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286164647265737329","id":18121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1685:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},"value":"log(address)"},{"id":18122,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18115,"src":"1701:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18119,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1661:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1665:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1661:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1661:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18118,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"1645:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1645:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18125,"nodeType":"ExpressionStatement","src":"1645:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logAddress","nameLocation":"1598:10:16","parameters":{"id":18116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18115,"mutability":"mutable","name":"p0","nameLocation":"1617:2:16","nodeType":"VariableDeclaration","scope":18127,"src":"1609:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18114,"name":"address","nodeType":"ElementaryTypeName","src":"1609:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1608:12:16"},"returnParameters":{"id":18117,"nodeType":"ParameterList","parameters":[],"src":"1635:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18141,"nodeType":"FunctionDefinition","src":"1718:124:16","nodes":[],"body":{"id":18140,"nodeType":"Block","src":"1767:75:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728627974657329","id":18135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1817:12:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238","typeString":"literal_string \"log(bytes)\""},"value":"log(bytes)"},{"id":18136,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18129,"src":"1831:2:16","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238","typeString":"literal_string \"log(bytes)\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":18133,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1793:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18134,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1797:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1793:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1793:41:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18132,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"1777:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1777:58:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18139,"nodeType":"ExpressionStatement","src":"1777:58:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes","nameLocation":"1727:8:16","parameters":{"id":18130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18129,"mutability":"mutable","name":"p0","nameLocation":"1749:2:16","nodeType":"VariableDeclaration","scope":18141,"src":"1736:15:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":18128,"name":"bytes","nodeType":"ElementaryTypeName","src":"1736:5:16","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1735:17:16"},"returnParameters":{"id":18131,"nodeType":"ParameterList","parameters":[],"src":"1767:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18155,"nodeType":"FunctionDefinition","src":"1848:120:16","nodes":[],"body":{"id":18154,"nodeType":"Block","src":"1892:76:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733129","id":18149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1942:13:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041","typeString":"literal_string \"log(bytes1)\""},"value":"log(bytes1)"},{"id":18150,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18143,"src":"1957:2:16","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041","typeString":"literal_string \"log(bytes1)\""},{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"expression":{"id":18147,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1918:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18148,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1922:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1918:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1918:42:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18146,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"1902:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1902:59:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18153,"nodeType":"ExpressionStatement","src":"1902:59:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes1","nameLocation":"1857:9:16","parameters":{"id":18144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18143,"mutability":"mutable","name":"p0","nameLocation":"1874:2:16","nodeType":"VariableDeclaration","scope":18155,"src":"1867:9:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":18142,"name":"bytes1","nodeType":"ElementaryTypeName","src":"1867:6:16","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"src":"1866:11:16"},"returnParameters":{"id":18145,"nodeType":"ParameterList","parameters":[],"src":"1892:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18169,"nodeType":"FunctionDefinition","src":"1974:120:16","nodes":[],"body":{"id":18168,"nodeType":"Block","src":"2018:76:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733229","id":18163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2068:13:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224","typeString":"literal_string \"log(bytes2)\""},"value":"log(bytes2)"},{"id":18164,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18157,"src":"2083:2:16","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224","typeString":"literal_string \"log(bytes2)\""},{"typeIdentifier":"t_bytes2","typeString":"bytes2"}],"expression":{"id":18161,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2044:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18162,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2048:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2044:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2044:42:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18160,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"2028:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2028:59:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18167,"nodeType":"ExpressionStatement","src":"2028:59:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes2","nameLocation":"1983:9:16","parameters":{"id":18158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18157,"mutability":"mutable","name":"p0","nameLocation":"2000:2:16","nodeType":"VariableDeclaration","scope":18169,"src":"1993:9:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"typeName":{"id":18156,"name":"bytes2","nodeType":"ElementaryTypeName","src":"1993:6:16","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"visibility":"internal"}],"src":"1992:11:16"},"returnParameters":{"id":18159,"nodeType":"ParameterList","parameters":[],"src":"2018:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18183,"nodeType":"FunctionDefinition","src":"2100:120:16","nodes":[],"body":{"id":18182,"nodeType":"Block","src":"2144:76:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733329","id":18177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2194:13:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee","typeString":"literal_string \"log(bytes3)\""},"value":"log(bytes3)"},{"id":18178,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18171,"src":"2209:2:16","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee","typeString":"literal_string \"log(bytes3)\""},{"typeIdentifier":"t_bytes3","typeString":"bytes3"}],"expression":{"id":18175,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2170:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18176,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2174:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2170:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2170:42:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18174,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"2154:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2154:59:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18181,"nodeType":"ExpressionStatement","src":"2154:59:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes3","nameLocation":"2109:9:16","parameters":{"id":18172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18171,"mutability":"mutable","name":"p0","nameLocation":"2126:2:16","nodeType":"VariableDeclaration","scope":18183,"src":"2119:9:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"},"typeName":{"id":18170,"name":"bytes3","nodeType":"ElementaryTypeName","src":"2119:6:16","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"}},"visibility":"internal"}],"src":"2118:11:16"},"returnParameters":{"id":18173,"nodeType":"ParameterList","parameters":[],"src":"2144:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18197,"nodeType":"FunctionDefinition","src":"2226:120:16","nodes":[],"body":{"id":18196,"nodeType":"Block","src":"2270:76:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733429","id":18191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2320:13:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55","typeString":"literal_string \"log(bytes4)\""},"value":"log(bytes4)"},{"id":18192,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18185,"src":"2335:2:16","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55","typeString":"literal_string \"log(bytes4)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":18189,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2296:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2300:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2296:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2296:42:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18188,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"2280:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2280:59:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18195,"nodeType":"ExpressionStatement","src":"2280:59:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes4","nameLocation":"2235:9:16","parameters":{"id":18186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18185,"mutability":"mutable","name":"p0","nameLocation":"2252:2:16","nodeType":"VariableDeclaration","scope":18197,"src":"2245:9:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":18184,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2245:6:16","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2244:11:16"},"returnParameters":{"id":18187,"nodeType":"ParameterList","parameters":[],"src":"2270:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18211,"nodeType":"FunctionDefinition","src":"2352:120:16","nodes":[],"body":{"id":18210,"nodeType":"Block","src":"2396:76:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733529","id":18205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2446:13:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a","typeString":"literal_string \"log(bytes5)\""},"value":"log(bytes5)"},{"id":18206,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18199,"src":"2461:2:16","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a","typeString":"literal_string \"log(bytes5)\""},{"typeIdentifier":"t_bytes5","typeString":"bytes5"}],"expression":{"id":18203,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2422:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2426:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2422:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2422:42:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18202,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"2406:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2406:59:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18209,"nodeType":"ExpressionStatement","src":"2406:59:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes5","nameLocation":"2361:9:16","parameters":{"id":18200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18199,"mutability":"mutable","name":"p0","nameLocation":"2378:2:16","nodeType":"VariableDeclaration","scope":18211,"src":"2371:9:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"},"typeName":{"id":18198,"name":"bytes5","nodeType":"ElementaryTypeName","src":"2371:6:16","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"}},"visibility":"internal"}],"src":"2370:11:16"},"returnParameters":{"id":18201,"nodeType":"ParameterList","parameters":[],"src":"2396:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18225,"nodeType":"FunctionDefinition","src":"2478:120:16","nodes":[],"body":{"id":18224,"nodeType":"Block","src":"2522:76:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733629","id":18219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2572:13:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330","typeString":"literal_string \"log(bytes6)\""},"value":"log(bytes6)"},{"id":18220,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18213,"src":"2587:2:16","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330","typeString":"literal_string \"log(bytes6)\""},{"typeIdentifier":"t_bytes6","typeString":"bytes6"}],"expression":{"id":18217,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2548:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2552:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2548:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2548:42:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18216,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"2532:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2532:59:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18223,"nodeType":"ExpressionStatement","src":"2532:59:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes6","nameLocation":"2487:9:16","parameters":{"id":18214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18213,"mutability":"mutable","name":"p0","nameLocation":"2504:2:16","nodeType":"VariableDeclaration","scope":18225,"src":"2497:9:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"},"typeName":{"id":18212,"name":"bytes6","nodeType":"ElementaryTypeName","src":"2497:6:16","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"}},"visibility":"internal"}],"src":"2496:11:16"},"returnParameters":{"id":18215,"nodeType":"ParameterList","parameters":[],"src":"2522:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18239,"nodeType":"FunctionDefinition","src":"2604:120:16","nodes":[],"body":{"id":18238,"nodeType":"Block","src":"2648:76:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733729","id":18233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2698:13:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29","typeString":"literal_string \"log(bytes7)\""},"value":"log(bytes7)"},{"id":18234,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18227,"src":"2713:2:16","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29","typeString":"literal_string \"log(bytes7)\""},{"typeIdentifier":"t_bytes7","typeString":"bytes7"}],"expression":{"id":18231,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2674:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18232,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2678:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2674:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2674:42:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18230,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"2658:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2658:59:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18237,"nodeType":"ExpressionStatement","src":"2658:59:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes7","nameLocation":"2613:9:16","parameters":{"id":18228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18227,"mutability":"mutable","name":"p0","nameLocation":"2630:2:16","nodeType":"VariableDeclaration","scope":18239,"src":"2623:9:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"},"typeName":{"id":18226,"name":"bytes7","nodeType":"ElementaryTypeName","src":"2623:6:16","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"}},"visibility":"internal"}],"src":"2622:11:16"},"returnParameters":{"id":18229,"nodeType":"ParameterList","parameters":[],"src":"2648:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18253,"nodeType":"FunctionDefinition","src":"2730:120:16","nodes":[],"body":{"id":18252,"nodeType":"Block","src":"2774:76:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733829","id":18247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2824:13:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3","typeString":"literal_string \"log(bytes8)\""},"value":"log(bytes8)"},{"id":18248,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18241,"src":"2839:2:16","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3","typeString":"literal_string \"log(bytes8)\""},{"typeIdentifier":"t_bytes8","typeString":"bytes8"}],"expression":{"id":18245,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2800:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18246,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2804:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2800:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2800:42:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18244,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"2784:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2784:59:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18251,"nodeType":"ExpressionStatement","src":"2784:59:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes8","nameLocation":"2739:9:16","parameters":{"id":18242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18241,"mutability":"mutable","name":"p0","nameLocation":"2756:2:16","nodeType":"VariableDeclaration","scope":18253,"src":"2749:9:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"typeName":{"id":18240,"name":"bytes8","nodeType":"ElementaryTypeName","src":"2749:6:16","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"visibility":"internal"}],"src":"2748:11:16"},"returnParameters":{"id":18243,"nodeType":"ParameterList","parameters":[],"src":"2774:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18267,"nodeType":"FunctionDefinition","src":"2856:120:16","nodes":[],"body":{"id":18266,"nodeType":"Block","src":"2900:76:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733929","id":18261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2950:13:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667","typeString":"literal_string \"log(bytes9)\""},"value":"log(bytes9)"},{"id":18262,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18255,"src":"2965:2:16","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667","typeString":"literal_string \"log(bytes9)\""},{"typeIdentifier":"t_bytes9","typeString":"bytes9"}],"expression":{"id":18259,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2926:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18260,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2930:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2926:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2926:42:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18258,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"2910:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2910:59:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18265,"nodeType":"ExpressionStatement","src":"2910:59:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes9","nameLocation":"2865:9:16","parameters":{"id":18256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18255,"mutability":"mutable","name":"p0","nameLocation":"2882:2:16","nodeType":"VariableDeclaration","scope":18267,"src":"2875:9:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"},"typeName":{"id":18254,"name":"bytes9","nodeType":"ElementaryTypeName","src":"2875:6:16","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"}},"visibility":"internal"}],"src":"2874:11:16"},"returnParameters":{"id":18257,"nodeType":"ParameterList","parameters":[],"src":"2900:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18281,"nodeType":"FunctionDefinition","src":"2982:123:16","nodes":[],"body":{"id":18280,"nodeType":"Block","src":"3028:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313029","id":18275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3078:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66","typeString":"literal_string \"log(bytes10)\""},"value":"log(bytes10)"},{"id":18276,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18269,"src":"3094:2:16","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66","typeString":"literal_string \"log(bytes10)\""},{"typeIdentifier":"t_bytes10","typeString":"bytes10"}],"expression":{"id":18273,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3054:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18274,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3058:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3054:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3054:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18272,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"3038:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3038:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18279,"nodeType":"ExpressionStatement","src":"3038:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes10","nameLocation":"2991:10:16","parameters":{"id":18270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18269,"mutability":"mutable","name":"p0","nameLocation":"3010:2:16","nodeType":"VariableDeclaration","scope":18281,"src":"3002:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"},"typeName":{"id":18268,"name":"bytes10","nodeType":"ElementaryTypeName","src":"3002:7:16","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"}},"visibility":"internal"}],"src":"3001:12:16"},"returnParameters":{"id":18271,"nodeType":"ParameterList","parameters":[],"src":"3028:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18295,"nodeType":"FunctionDefinition","src":"3111:123:16","nodes":[],"body":{"id":18294,"nodeType":"Block","src":"3157:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313129","id":18289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3207:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9","typeString":"literal_string \"log(bytes11)\""},"value":"log(bytes11)"},{"id":18290,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18283,"src":"3223:2:16","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9","typeString":"literal_string \"log(bytes11)\""},{"typeIdentifier":"t_bytes11","typeString":"bytes11"}],"expression":{"id":18287,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3183:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18288,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3187:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3183:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3183:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18286,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"3167:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3167:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18293,"nodeType":"ExpressionStatement","src":"3167:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes11","nameLocation":"3120:10:16","parameters":{"id":18284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18283,"mutability":"mutable","name":"p0","nameLocation":"3139:2:16","nodeType":"VariableDeclaration","scope":18295,"src":"3131:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"},"typeName":{"id":18282,"name":"bytes11","nodeType":"ElementaryTypeName","src":"3131:7:16","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"}},"visibility":"internal"}],"src":"3130:12:16"},"returnParameters":{"id":18285,"nodeType":"ParameterList","parameters":[],"src":"3157:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18309,"nodeType":"FunctionDefinition","src":"3240:123:16","nodes":[],"body":{"id":18308,"nodeType":"Block","src":"3286:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313229","id":18303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3336:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2","typeString":"literal_string \"log(bytes12)\""},"value":"log(bytes12)"},{"id":18304,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18297,"src":"3352:2:16","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2","typeString":"literal_string \"log(bytes12)\""},{"typeIdentifier":"t_bytes12","typeString":"bytes12"}],"expression":{"id":18301,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3312:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18302,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3316:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3312:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3312:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18300,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"3296:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3296:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18307,"nodeType":"ExpressionStatement","src":"3296:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes12","nameLocation":"3249:10:16","parameters":{"id":18298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18297,"mutability":"mutable","name":"p0","nameLocation":"3268:2:16","nodeType":"VariableDeclaration","scope":18309,"src":"3260:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"},"typeName":{"id":18296,"name":"bytes12","nodeType":"ElementaryTypeName","src":"3260:7:16","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}},"visibility":"internal"}],"src":"3259:12:16"},"returnParameters":{"id":18299,"nodeType":"ParameterList","parameters":[],"src":"3286:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18323,"nodeType":"FunctionDefinition","src":"3369:123:16","nodes":[],"body":{"id":18322,"nodeType":"Block","src":"3415:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313329","id":18317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3465:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec","typeString":"literal_string \"log(bytes13)\""},"value":"log(bytes13)"},{"id":18318,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18311,"src":"3481:2:16","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec","typeString":"literal_string \"log(bytes13)\""},{"typeIdentifier":"t_bytes13","typeString":"bytes13"}],"expression":{"id":18315,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3441:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18316,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3445:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3441:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3441:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18314,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"3425:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3425:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18321,"nodeType":"ExpressionStatement","src":"3425:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes13","nameLocation":"3378:10:16","parameters":{"id":18312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18311,"mutability":"mutable","name":"p0","nameLocation":"3397:2:16","nodeType":"VariableDeclaration","scope":18323,"src":"3389:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"},"typeName":{"id":18310,"name":"bytes13","nodeType":"ElementaryTypeName","src":"3389:7:16","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"}},"visibility":"internal"}],"src":"3388:12:16"},"returnParameters":{"id":18313,"nodeType":"ParameterList","parameters":[],"src":"3415:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18337,"nodeType":"FunctionDefinition","src":"3498:123:16","nodes":[],"body":{"id":18336,"nodeType":"Block","src":"3544:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313429","id":18331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3594:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278","typeString":"literal_string \"log(bytes14)\""},"value":"log(bytes14)"},{"id":18332,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18325,"src":"3610:2:16","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278","typeString":"literal_string \"log(bytes14)\""},{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"expression":{"id":18329,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3570:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3574:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3570:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3570:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18328,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"3554:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3554:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18335,"nodeType":"ExpressionStatement","src":"3554:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes14","nameLocation":"3507:10:16","parameters":{"id":18326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18325,"mutability":"mutable","name":"p0","nameLocation":"3526:2:16","nodeType":"VariableDeclaration","scope":18337,"src":"3518:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"typeName":{"id":18324,"name":"bytes14","nodeType":"ElementaryTypeName","src":"3518:7:16","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"visibility":"internal"}],"src":"3517:12:16"},"returnParameters":{"id":18327,"nodeType":"ParameterList","parameters":[],"src":"3544:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18351,"nodeType":"FunctionDefinition","src":"3627:123:16","nodes":[],"body":{"id":18350,"nodeType":"Block","src":"3673:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313529","id":18345,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3723:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606","typeString":"literal_string \"log(bytes15)\""},"value":"log(bytes15)"},{"id":18346,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18339,"src":"3739:2:16","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606","typeString":"literal_string \"log(bytes15)\""},{"typeIdentifier":"t_bytes15","typeString":"bytes15"}],"expression":{"id":18343,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3699:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18344,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3703:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3699:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3699:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18342,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"3683:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3683:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18349,"nodeType":"ExpressionStatement","src":"3683:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes15","nameLocation":"3636:10:16","parameters":{"id":18340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18339,"mutability":"mutable","name":"p0","nameLocation":"3655:2:16","nodeType":"VariableDeclaration","scope":18351,"src":"3647:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"},"typeName":{"id":18338,"name":"bytes15","nodeType":"ElementaryTypeName","src":"3647:7:16","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"}},"visibility":"internal"}],"src":"3646:12:16"},"returnParameters":{"id":18341,"nodeType":"ParameterList","parameters":[],"src":"3673:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18365,"nodeType":"FunctionDefinition","src":"3756:123:16","nodes":[],"body":{"id":18364,"nodeType":"Block","src":"3802:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313629","id":18359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3852:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3","typeString":"literal_string \"log(bytes16)\""},"value":"log(bytes16)"},{"id":18360,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18353,"src":"3868:2:16","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3","typeString":"literal_string \"log(bytes16)\""},{"typeIdentifier":"t_bytes16","typeString":"bytes16"}],"expression":{"id":18357,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3828:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18358,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3832:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3828:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3828:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18356,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"3812:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3812:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18363,"nodeType":"ExpressionStatement","src":"3812:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes16","nameLocation":"3765:10:16","parameters":{"id":18354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18353,"mutability":"mutable","name":"p0","nameLocation":"3784:2:16","nodeType":"VariableDeclaration","scope":18365,"src":"3776:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":18352,"name":"bytes16","nodeType":"ElementaryTypeName","src":"3776:7:16","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"visibility":"internal"}],"src":"3775:12:16"},"returnParameters":{"id":18355,"nodeType":"ParameterList","parameters":[],"src":"3802:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18379,"nodeType":"FunctionDefinition","src":"3885:123:16","nodes":[],"body":{"id":18378,"nodeType":"Block","src":"3931:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313729","id":18373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3981:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3","typeString":"literal_string \"log(bytes17)\""},"value":"log(bytes17)"},{"id":18374,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18367,"src":"3997:2:16","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3","typeString":"literal_string \"log(bytes17)\""},{"typeIdentifier":"t_bytes17","typeString":"bytes17"}],"expression":{"id":18371,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3957:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3961:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3957:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3957:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18370,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"3941:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3941:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18377,"nodeType":"ExpressionStatement","src":"3941:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes17","nameLocation":"3894:10:16","parameters":{"id":18368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18367,"mutability":"mutable","name":"p0","nameLocation":"3913:2:16","nodeType":"VariableDeclaration","scope":18379,"src":"3905:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"},"typeName":{"id":18366,"name":"bytes17","nodeType":"ElementaryTypeName","src":"3905:7:16","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"}},"visibility":"internal"}],"src":"3904:12:16"},"returnParameters":{"id":18369,"nodeType":"ParameterList","parameters":[],"src":"3931:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18393,"nodeType":"FunctionDefinition","src":"4014:123:16","nodes":[],"body":{"id":18392,"nodeType":"Block","src":"4060:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313829","id":18387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4110:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116","typeString":"literal_string \"log(bytes18)\""},"value":"log(bytes18)"},{"id":18388,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18381,"src":"4126:2:16","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116","typeString":"literal_string \"log(bytes18)\""},{"typeIdentifier":"t_bytes18","typeString":"bytes18"}],"expression":{"id":18385,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4086:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18386,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4090:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4086:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4086:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18384,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"4070:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4070:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18391,"nodeType":"ExpressionStatement","src":"4070:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes18","nameLocation":"4023:10:16","parameters":{"id":18382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18381,"mutability":"mutable","name":"p0","nameLocation":"4042:2:16","nodeType":"VariableDeclaration","scope":18393,"src":"4034:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"},"typeName":{"id":18380,"name":"bytes18","nodeType":"ElementaryTypeName","src":"4034:7:16","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"}},"visibility":"internal"}],"src":"4033:12:16"},"returnParameters":{"id":18383,"nodeType":"ParameterList","parameters":[],"src":"4060:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18407,"nodeType":"FunctionDefinition","src":"4143:123:16","nodes":[],"body":{"id":18406,"nodeType":"Block","src":"4189:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313929","id":18401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4239:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada","typeString":"literal_string \"log(bytes19)\""},"value":"log(bytes19)"},{"id":18402,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18395,"src":"4255:2:16","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada","typeString":"literal_string \"log(bytes19)\""},{"typeIdentifier":"t_bytes19","typeString":"bytes19"}],"expression":{"id":18399,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4215:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18400,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4219:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4215:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4215:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18398,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"4199:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4199:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18405,"nodeType":"ExpressionStatement","src":"4199:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes19","nameLocation":"4152:10:16","parameters":{"id":18396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18395,"mutability":"mutable","name":"p0","nameLocation":"4171:2:16","nodeType":"VariableDeclaration","scope":18407,"src":"4163:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"},"typeName":{"id":18394,"name":"bytes19","nodeType":"ElementaryTypeName","src":"4163:7:16","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"}},"visibility":"internal"}],"src":"4162:12:16"},"returnParameters":{"id":18397,"nodeType":"ParameterList","parameters":[],"src":"4189:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18421,"nodeType":"FunctionDefinition","src":"4272:123:16","nodes":[],"body":{"id":18420,"nodeType":"Block","src":"4318:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323029","id":18415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4368:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231","typeString":"literal_string \"log(bytes20)\""},"value":"log(bytes20)"},{"id":18416,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18409,"src":"4384:2:16","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231","typeString":"literal_string \"log(bytes20)\""},{"typeIdentifier":"t_bytes20","typeString":"bytes20"}],"expression":{"id":18413,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4344:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18414,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4348:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4344:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4344:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18412,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"4328:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4328:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18419,"nodeType":"ExpressionStatement","src":"4328:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes20","nameLocation":"4281:10:16","parameters":{"id":18410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18409,"mutability":"mutable","name":"p0","nameLocation":"4300:2:16","nodeType":"VariableDeclaration","scope":18421,"src":"4292:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"},"typeName":{"id":18408,"name":"bytes20","nodeType":"ElementaryTypeName","src":"4292:7:16","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}},"visibility":"internal"}],"src":"4291:12:16"},"returnParameters":{"id":18411,"nodeType":"ParameterList","parameters":[],"src":"4318:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18435,"nodeType":"FunctionDefinition","src":"4401:123:16","nodes":[],"body":{"id":18434,"nodeType":"Block","src":"4447:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323129","id":18429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4497:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7","typeString":"literal_string \"log(bytes21)\""},"value":"log(bytes21)"},{"id":18430,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18423,"src":"4513:2:16","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7","typeString":"literal_string \"log(bytes21)\""},{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":18427,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4473:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18428,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4477:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4473:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4473:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18426,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"4457:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4457:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18433,"nodeType":"ExpressionStatement","src":"4457:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes21","nameLocation":"4410:10:16","parameters":{"id":18424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18423,"mutability":"mutable","name":"p0","nameLocation":"4429:2:16","nodeType":"VariableDeclaration","scope":18435,"src":"4421:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":18422,"name":"bytes21","nodeType":"ElementaryTypeName","src":"4421:7:16","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"4420:12:16"},"returnParameters":{"id":18425,"nodeType":"ParameterList","parameters":[],"src":"4447:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18449,"nodeType":"FunctionDefinition","src":"4530:123:16","nodes":[],"body":{"id":18448,"nodeType":"Block","src":"4576:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323229","id":18443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4626:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575","typeString":"literal_string \"log(bytes22)\""},"value":"log(bytes22)"},{"id":18444,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18437,"src":"4642:2:16","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575","typeString":"literal_string \"log(bytes22)\""},{"typeIdentifier":"t_bytes22","typeString":"bytes22"}],"expression":{"id":18441,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4602:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18442,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4606:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4602:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4602:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18440,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"4586:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4586:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18447,"nodeType":"ExpressionStatement","src":"4586:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes22","nameLocation":"4539:10:16","parameters":{"id":18438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18437,"mutability":"mutable","name":"p0","nameLocation":"4558:2:16","nodeType":"VariableDeclaration","scope":18449,"src":"4550:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"},"typeName":{"id":18436,"name":"bytes22","nodeType":"ElementaryTypeName","src":"4550:7:16","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"}},"visibility":"internal"}],"src":"4549:12:16"},"returnParameters":{"id":18439,"nodeType":"ParameterList","parameters":[],"src":"4576:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18463,"nodeType":"FunctionDefinition","src":"4659:123:16","nodes":[],"body":{"id":18462,"nodeType":"Block","src":"4705:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323329","id":18457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4755:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061","typeString":"literal_string \"log(bytes23)\""},"value":"log(bytes23)"},{"id":18458,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18451,"src":"4771:2:16","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061","typeString":"literal_string \"log(bytes23)\""},{"typeIdentifier":"t_bytes23","typeString":"bytes23"}],"expression":{"id":18455,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4731:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18456,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4735:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4731:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4731:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18454,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"4715:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4715:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18461,"nodeType":"ExpressionStatement","src":"4715:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes23","nameLocation":"4668:10:16","parameters":{"id":18452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18451,"mutability":"mutable","name":"p0","nameLocation":"4687:2:16","nodeType":"VariableDeclaration","scope":18463,"src":"4679:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"},"typeName":{"id":18450,"name":"bytes23","nodeType":"ElementaryTypeName","src":"4679:7:16","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"}},"visibility":"internal"}],"src":"4678:12:16"},"returnParameters":{"id":18453,"nodeType":"ParameterList","parameters":[],"src":"4705:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18477,"nodeType":"FunctionDefinition","src":"4788:123:16","nodes":[],"body":{"id":18476,"nodeType":"Block","src":"4834:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323429","id":18471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4884:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4","typeString":"literal_string \"log(bytes24)\""},"value":"log(bytes24)"},{"id":18472,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18465,"src":"4900:2:16","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4","typeString":"literal_string \"log(bytes24)\""},{"typeIdentifier":"t_bytes24","typeString":"bytes24"}],"expression":{"id":18469,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4860:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18470,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4864:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4860:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4860:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18468,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"4844:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4844:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18475,"nodeType":"ExpressionStatement","src":"4844:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes24","nameLocation":"4797:10:16","parameters":{"id":18466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18465,"mutability":"mutable","name":"p0","nameLocation":"4816:2:16","nodeType":"VariableDeclaration","scope":18477,"src":"4808:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"},"typeName":{"id":18464,"name":"bytes24","nodeType":"ElementaryTypeName","src":"4808:7:16","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"}},"visibility":"internal"}],"src":"4807:12:16"},"returnParameters":{"id":18467,"nodeType":"ParameterList","parameters":[],"src":"4834:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18491,"nodeType":"FunctionDefinition","src":"4917:123:16","nodes":[],"body":{"id":18490,"nodeType":"Block","src":"4963:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323529","id":18485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5013:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25","typeString":"literal_string \"log(bytes25)\""},"value":"log(bytes25)"},{"id":18486,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18479,"src":"5029:2:16","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25","typeString":"literal_string \"log(bytes25)\""},{"typeIdentifier":"t_bytes25","typeString":"bytes25"}],"expression":{"id":18483,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4989:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18484,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4993:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4989:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4989:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18482,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"4973:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4973:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18489,"nodeType":"ExpressionStatement","src":"4973:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes25","nameLocation":"4926:10:16","parameters":{"id":18480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18479,"mutability":"mutable","name":"p0","nameLocation":"4945:2:16","nodeType":"VariableDeclaration","scope":18491,"src":"4937:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"},"typeName":{"id":18478,"name":"bytes25","nodeType":"ElementaryTypeName","src":"4937:7:16","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"}},"visibility":"internal"}],"src":"4936:12:16"},"returnParameters":{"id":18481,"nodeType":"ParameterList","parameters":[],"src":"4963:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18505,"nodeType":"FunctionDefinition","src":"5046:123:16","nodes":[],"body":{"id":18504,"nodeType":"Block","src":"5092:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323629","id":18499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5142:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b","typeString":"literal_string \"log(bytes26)\""},"value":"log(bytes26)"},{"id":18500,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18493,"src":"5158:2:16","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b","typeString":"literal_string \"log(bytes26)\""},{"typeIdentifier":"t_bytes26","typeString":"bytes26"}],"expression":{"id":18497,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5118:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18498,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5122:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5118:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5118:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18496,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"5102:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5102:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18503,"nodeType":"ExpressionStatement","src":"5102:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes26","nameLocation":"5055:10:16","parameters":{"id":18494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18493,"mutability":"mutable","name":"p0","nameLocation":"5074:2:16","nodeType":"VariableDeclaration","scope":18505,"src":"5066:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"},"typeName":{"id":18492,"name":"bytes26","nodeType":"ElementaryTypeName","src":"5066:7:16","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"}},"visibility":"internal"}],"src":"5065:12:16"},"returnParameters":{"id":18495,"nodeType":"ParameterList","parameters":[],"src":"5092:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18519,"nodeType":"FunctionDefinition","src":"5175:123:16","nodes":[],"body":{"id":18518,"nodeType":"Block","src":"5221:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323729","id":18513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5271:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6","typeString":"literal_string \"log(bytes27)\""},"value":"log(bytes27)"},{"id":18514,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18507,"src":"5287:2:16","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6","typeString":"literal_string \"log(bytes27)\""},{"typeIdentifier":"t_bytes27","typeString":"bytes27"}],"expression":{"id":18511,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5247:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18512,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5251:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5247:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5247:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18510,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"5231:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5231:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18517,"nodeType":"ExpressionStatement","src":"5231:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes27","nameLocation":"5184:10:16","parameters":{"id":18508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18507,"mutability":"mutable","name":"p0","nameLocation":"5203:2:16","nodeType":"VariableDeclaration","scope":18519,"src":"5195:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"},"typeName":{"id":18506,"name":"bytes27","nodeType":"ElementaryTypeName","src":"5195:7:16","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"}},"visibility":"internal"}],"src":"5194:12:16"},"returnParameters":{"id":18509,"nodeType":"ParameterList","parameters":[],"src":"5221:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18533,"nodeType":"FunctionDefinition","src":"5304:123:16","nodes":[],"body":{"id":18532,"nodeType":"Block","src":"5350:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323829","id":18527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5400:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042","typeString":"literal_string \"log(bytes28)\""},"value":"log(bytes28)"},{"id":18528,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18521,"src":"5416:2:16","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042","typeString":"literal_string \"log(bytes28)\""},{"typeIdentifier":"t_bytes28","typeString":"bytes28"}],"expression":{"id":18525,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5376:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18526,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5380:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5376:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5376:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18524,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"5360:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5360:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18531,"nodeType":"ExpressionStatement","src":"5360:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes28","nameLocation":"5313:10:16","parameters":{"id":18522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18521,"mutability":"mutable","name":"p0","nameLocation":"5332:2:16","nodeType":"VariableDeclaration","scope":18533,"src":"5324:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"},"typeName":{"id":18520,"name":"bytes28","nodeType":"ElementaryTypeName","src":"5324:7:16","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"}},"visibility":"internal"}],"src":"5323:12:16"},"returnParameters":{"id":18523,"nodeType":"ParameterList","parameters":[],"src":"5350:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18547,"nodeType":"FunctionDefinition","src":"5433:123:16","nodes":[],"body":{"id":18546,"nodeType":"Block","src":"5479:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323929","id":18541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5529:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667","typeString":"literal_string \"log(bytes29)\""},"value":"log(bytes29)"},{"id":18542,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18535,"src":"5545:2:16","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667","typeString":"literal_string \"log(bytes29)\""},{"typeIdentifier":"t_bytes29","typeString":"bytes29"}],"expression":{"id":18539,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5505:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5509:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5505:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5505:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18538,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"5489:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5489:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18545,"nodeType":"ExpressionStatement","src":"5489:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes29","nameLocation":"5442:10:16","parameters":{"id":18536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18535,"mutability":"mutable","name":"p0","nameLocation":"5461:2:16","nodeType":"VariableDeclaration","scope":18547,"src":"5453:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"},"typeName":{"id":18534,"name":"bytes29","nodeType":"ElementaryTypeName","src":"5453:7:16","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"}},"visibility":"internal"}],"src":"5452:12:16"},"returnParameters":{"id":18537,"nodeType":"ParameterList","parameters":[],"src":"5479:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18561,"nodeType":"FunctionDefinition","src":"5562:123:16","nodes":[],"body":{"id":18560,"nodeType":"Block","src":"5608:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333029","id":18555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5658:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad","typeString":"literal_string \"log(bytes30)\""},"value":"log(bytes30)"},{"id":18556,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18549,"src":"5674:2:16","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad","typeString":"literal_string \"log(bytes30)\""},{"typeIdentifier":"t_bytes30","typeString":"bytes30"}],"expression":{"id":18553,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5634:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18554,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5638:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5634:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5634:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18552,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"5618:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5618:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18559,"nodeType":"ExpressionStatement","src":"5618:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes30","nameLocation":"5571:10:16","parameters":{"id":18550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18549,"mutability":"mutable","name":"p0","nameLocation":"5590:2:16","nodeType":"VariableDeclaration","scope":18561,"src":"5582:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"},"typeName":{"id":18548,"name":"bytes30","nodeType":"ElementaryTypeName","src":"5582:7:16","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}},"visibility":"internal"}],"src":"5581:12:16"},"returnParameters":{"id":18551,"nodeType":"ParameterList","parameters":[],"src":"5608:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18575,"nodeType":"FunctionDefinition","src":"5691:123:16","nodes":[],"body":{"id":18574,"nodeType":"Block","src":"5737:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333129","id":18569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5787:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce","typeString":"literal_string \"log(bytes31)\""},"value":"log(bytes31)"},{"id":18570,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18563,"src":"5803:2:16","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce","typeString":"literal_string \"log(bytes31)\""},{"typeIdentifier":"t_bytes31","typeString":"bytes31"}],"expression":{"id":18567,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5763:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18568,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5767:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5763:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5763:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18566,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"5747:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5747:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18573,"nodeType":"ExpressionStatement","src":"5747:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes31","nameLocation":"5700:10:16","parameters":{"id":18564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18563,"mutability":"mutable","name":"p0","nameLocation":"5719:2:16","nodeType":"VariableDeclaration","scope":18575,"src":"5711:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"},"typeName":{"id":18562,"name":"bytes31","nodeType":"ElementaryTypeName","src":"5711:7:16","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"}},"visibility":"internal"}],"src":"5710:12:16"},"returnParameters":{"id":18565,"nodeType":"ParameterList","parameters":[],"src":"5737:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18589,"nodeType":"FunctionDefinition","src":"5820:123:16","nodes":[],"body":{"id":18588,"nodeType":"Block","src":"5866:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333229","id":18583,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5916:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da","typeString":"literal_string \"log(bytes32)\""},"value":"log(bytes32)"},{"id":18584,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18577,"src":"5932:2:16","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da","typeString":"literal_string \"log(bytes32)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":18581,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5892:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18582,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5896:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5892:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5892:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18580,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"5876:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5876:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18587,"nodeType":"ExpressionStatement","src":"5876:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes32","nameLocation":"5829:10:16","parameters":{"id":18578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18577,"mutability":"mutable","name":"p0","nameLocation":"5848:2:16","nodeType":"VariableDeclaration","scope":18589,"src":"5840:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":18576,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5840:7:16","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5839:12:16"},"returnParameters":{"id":18579,"nodeType":"ParameterList","parameters":[],"src":"5866:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18603,"nodeType":"FunctionDefinition","src":"5949:116:16","nodes":[],"body":{"id":18602,"nodeType":"Block","src":"5988:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e7432353629","id":18597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6038:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},"value":"log(uint256)"},{"id":18598,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18591,"src":"6054:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18595,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6014:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18596,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6018:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6014:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6014:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18594,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"5998:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5998:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18601,"nodeType":"ExpressionStatement","src":"5998:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"5958:3:16","parameters":{"id":18592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18591,"mutability":"mutable","name":"p0","nameLocation":"5970:2:16","nodeType":"VariableDeclaration","scope":18603,"src":"5962:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18590,"name":"uint256","nodeType":"ElementaryTypeName","src":"5962:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5961:12:16"},"returnParameters":{"id":18593,"nodeType":"ParameterList","parameters":[],"src":"5988:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18617,"nodeType":"FunctionDefinition","src":"6071:114:16","nodes":[],"body":{"id":18616,"nodeType":"Block","src":"6109:76:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728696e7432353629","id":18611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6159:13:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},"value":"log(int256)"},{"id":18612,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18605,"src":"6174:2:16","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":18609,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6135:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18610,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6139:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6135:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6135:42:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18608,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"6119:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6119:59:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18615,"nodeType":"ExpressionStatement","src":"6119:59:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6080:3:16","parameters":{"id":18606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18605,"mutability":"mutable","name":"p0","nameLocation":"6091:2:16","nodeType":"VariableDeclaration","scope":18617,"src":"6084:9:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":18604,"name":"int256","nodeType":"ElementaryTypeName","src":"6084:6:16","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"6083:11:16"},"returnParameters":{"id":18607,"nodeType":"ParameterList","parameters":[],"src":"6109:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18631,"nodeType":"FunctionDefinition","src":"6191:121:16","nodes":[],"body":{"id":18630,"nodeType":"Block","src":"6236:76:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":18625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6286:13:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":18626,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18619,"src":"6301:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18623,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6262:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18624,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6266:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6262:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6262:42:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18622,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"6246:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6246:59:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18629,"nodeType":"ExpressionStatement","src":"6246:59:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6200:3:16","parameters":{"id":18620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18619,"mutability":"mutable","name":"p0","nameLocation":"6218:2:16","nodeType":"VariableDeclaration","scope":18631,"src":"6204:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18618,"name":"string","nodeType":"ElementaryTypeName","src":"6204:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6203:18:16"},"returnParameters":{"id":18621,"nodeType":"ParameterList","parameters":[],"src":"6236:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18645,"nodeType":"FunctionDefinition","src":"6318:110:16","nodes":[],"body":{"id":18644,"nodeType":"Block","src":"6354:74:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c29","id":18639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6404:11:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},"value":"log(bool)"},{"id":18640,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18633,"src":"6417:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18637,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6380:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18638,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6384:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6380:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6380:40:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18636,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"6364:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6364:57:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18643,"nodeType":"ExpressionStatement","src":"6364:57:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6327:3:16","parameters":{"id":18634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18633,"mutability":"mutable","name":"p0","nameLocation":"6336:2:16","nodeType":"VariableDeclaration","scope":18645,"src":"6331:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18632,"name":"bool","nodeType":"ElementaryTypeName","src":"6331:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6330:9:16"},"returnParameters":{"id":18635,"nodeType":"ParameterList","parameters":[],"src":"6354:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18659,"nodeType":"FunctionDefinition","src":"6434:116:16","nodes":[],"body":{"id":18658,"nodeType":"Block","src":"6473:77:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286164647265737329","id":18653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6523:14:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},"value":"log(address)"},{"id":18654,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18647,"src":"6539:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18651,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6499:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6503:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6499:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6499:43:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18650,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"6483:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6483:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18657,"nodeType":"ExpressionStatement","src":"6483:60:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6443:3:16","parameters":{"id":18648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18647,"mutability":"mutable","name":"p0","nameLocation":"6455:2:16","nodeType":"VariableDeclaration","scope":18659,"src":"6447:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18646,"name":"address","nodeType":"ElementaryTypeName","src":"6447:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6446:12:16"},"returnParameters":{"id":18649,"nodeType":"ParameterList","parameters":[],"src":"6473:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18676,"nodeType":"FunctionDefinition","src":"6556:140:16","nodes":[],"body":{"id":18675,"nodeType":"Block","src":"6607:89:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e7432353629","id":18669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6657:22:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_f666715aa6b8e8ce32bd39173f51eea0643fdd246a826c4756c2f168022b6eb5","typeString":"literal_string \"log(uint256,uint256)\""},"value":"log(uint256,uint256)"},{"id":18670,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18661,"src":"6681:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18671,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18663,"src":"6685:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f666715aa6b8e8ce32bd39173f51eea0643fdd246a826c4756c2f168022b6eb5","typeString":"literal_string \"log(uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18667,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6633:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18668,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6637:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6633:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6633:55:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18666,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"6617:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6617:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18674,"nodeType":"ExpressionStatement","src":"6617:72:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6565:3:16","parameters":{"id":18664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18661,"mutability":"mutable","name":"p0","nameLocation":"6577:2:16","nodeType":"VariableDeclaration","scope":18676,"src":"6569:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18660,"name":"uint256","nodeType":"ElementaryTypeName","src":"6569:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18663,"mutability":"mutable","name":"p1","nameLocation":"6589:2:16","nodeType":"VariableDeclaration","scope":18676,"src":"6581:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18662,"name":"uint256","nodeType":"ElementaryTypeName","src":"6581:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6568:24:16"},"returnParameters":{"id":18665,"nodeType":"ParameterList","parameters":[],"src":"6607:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18693,"nodeType":"FunctionDefinition","src":"6702:145:16","nodes":[],"body":{"id":18692,"nodeType":"Block","src":"6759:88:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e6729","id":18686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6809:21:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_643fd0df4c7dfb004c6169012c8aec390bd7246941d7fe467022f10f2da987c3","typeString":"literal_string \"log(uint256,string)\""},"value":"log(uint256,string)"},{"id":18687,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18678,"src":"6832:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18688,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18680,"src":"6836:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_643fd0df4c7dfb004c6169012c8aec390bd7246941d7fe467022f10f2da987c3","typeString":"literal_string \"log(uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18684,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6785:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18685,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6789:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6785:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6785:54:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18683,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"6769:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6769:71:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18691,"nodeType":"ExpressionStatement","src":"6769:71:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6711:3:16","parameters":{"id":18681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18678,"mutability":"mutable","name":"p0","nameLocation":"6723:2:16","nodeType":"VariableDeclaration","scope":18693,"src":"6715:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18677,"name":"uint256","nodeType":"ElementaryTypeName","src":"6715:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18680,"mutability":"mutable","name":"p1","nameLocation":"6741:2:16","nodeType":"VariableDeclaration","scope":18693,"src":"6727:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18679,"name":"string","nodeType":"ElementaryTypeName","src":"6727:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6714:30:16"},"returnParameters":{"id":18682,"nodeType":"ParameterList","parameters":[],"src":"6759:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18710,"nodeType":"FunctionDefinition","src":"6853:134:16","nodes":[],"body":{"id":18709,"nodeType":"Block","src":"6901:86:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c29","id":18703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6951:19:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c9d7eb3a75db315653a5c0996fcea52a2b2692643ce8ace4d8b12bb9da6c1f2","typeString":"literal_string \"log(uint256,bool)\""},"value":"log(uint256,bool)"},{"id":18704,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18695,"src":"6972:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18705,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18697,"src":"6976:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c9d7eb3a75db315653a5c0996fcea52a2b2692643ce8ace4d8b12bb9da6c1f2","typeString":"literal_string \"log(uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18701,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6927:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6931:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6927:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6927:52:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18700,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"6911:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6911:69:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18708,"nodeType":"ExpressionStatement","src":"6911:69:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6862:3:16","parameters":{"id":18698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18695,"mutability":"mutable","name":"p0","nameLocation":"6874:2:16","nodeType":"VariableDeclaration","scope":18710,"src":"6866:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18694,"name":"uint256","nodeType":"ElementaryTypeName","src":"6866:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18697,"mutability":"mutable","name":"p1","nameLocation":"6883:2:16","nodeType":"VariableDeclaration","scope":18710,"src":"6878:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18696,"name":"bool","nodeType":"ElementaryTypeName","src":"6878:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6865:21:16"},"returnParameters":{"id":18699,"nodeType":"ParameterList","parameters":[],"src":"6901:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18727,"nodeType":"FunctionDefinition","src":"6993:140:16","nodes":[],"body":{"id":18726,"nodeType":"Block","src":"7044:89:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c6164647265737329","id":18720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7094:22:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_69276c86d20522c49707664308d424b84905ef92219f3146bcaacedc72eaed27","typeString":"literal_string \"log(uint256,address)\""},"value":"log(uint256,address)"},{"id":18721,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18712,"src":"7118:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18722,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18714,"src":"7122:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_69276c86d20522c49707664308d424b84905ef92219f3146bcaacedc72eaed27","typeString":"literal_string \"log(uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18718,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7070:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7074:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7070:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7070:55:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18717,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"7054:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7054:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18725,"nodeType":"ExpressionStatement","src":"7054:72:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7002:3:16","parameters":{"id":18715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18712,"mutability":"mutable","name":"p0","nameLocation":"7014:2:16","nodeType":"VariableDeclaration","scope":18727,"src":"7006:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18711,"name":"uint256","nodeType":"ElementaryTypeName","src":"7006:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18714,"mutability":"mutable","name":"p1","nameLocation":"7026:2:16","nodeType":"VariableDeclaration","scope":18727,"src":"7018:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18713,"name":"address","nodeType":"ElementaryTypeName","src":"7018:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7005:24:16"},"returnParameters":{"id":18716,"nodeType":"ParameterList","parameters":[],"src":"7044:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18744,"nodeType":"FunctionDefinition","src":"7139:145:16","nodes":[],"body":{"id":18743,"nodeType":"Block","src":"7196:88:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e7432353629","id":18737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7246:21:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},"value":"log(string,uint256)"},{"id":18738,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18729,"src":"7269:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18739,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18731,"src":"7273:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18735,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7222:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18736,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7226:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7222:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7222:54:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18734,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"7206:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7206:71:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18742,"nodeType":"ExpressionStatement","src":"7206:71:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7148:3:16","parameters":{"id":18732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18729,"mutability":"mutable","name":"p0","nameLocation":"7166:2:16","nodeType":"VariableDeclaration","scope":18744,"src":"7152:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18728,"name":"string","nodeType":"ElementaryTypeName","src":"7152:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18731,"mutability":"mutable","name":"p1","nameLocation":"7178:2:16","nodeType":"VariableDeclaration","scope":18744,"src":"7170:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18730,"name":"uint256","nodeType":"ElementaryTypeName","src":"7170:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7151:30:16"},"returnParameters":{"id":18733,"nodeType":"ParameterList","parameters":[],"src":"7196:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18761,"nodeType":"FunctionDefinition","src":"7290:143:16","nodes":[],"body":{"id":18760,"nodeType":"Block","src":"7346:87:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c696e7432353629","id":18754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7396:20:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_3ca6268e2d626deb26c45bf74aa3316f24594d4f4b66b5d8fd8e966d88ac4e25","typeString":"literal_string \"log(string,int256)\""},"value":"log(string,int256)"},{"id":18755,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18746,"src":"7418:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18756,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18748,"src":"7422:2:16","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3ca6268e2d626deb26c45bf74aa3316f24594d4f4b66b5d8fd8e966d88ac4e25","typeString":"literal_string \"log(string,int256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":18752,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7372:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18753,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7376:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7372:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7372:53:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18751,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"7356:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7356:70:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18759,"nodeType":"ExpressionStatement","src":"7356:70:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7299:3:16","parameters":{"id":18749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18746,"mutability":"mutable","name":"p0","nameLocation":"7317:2:16","nodeType":"VariableDeclaration","scope":18761,"src":"7303:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18745,"name":"string","nodeType":"ElementaryTypeName","src":"7303:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18748,"mutability":"mutable","name":"p1","nameLocation":"7328:2:16","nodeType":"VariableDeclaration","scope":18761,"src":"7321:9:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":18747,"name":"int256","nodeType":"ElementaryTypeName","src":"7321:6:16","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7302:29:16"},"returnParameters":{"id":18750,"nodeType":"ParameterList","parameters":[],"src":"7346:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18778,"nodeType":"FunctionDefinition","src":"7439:150:16","nodes":[],"body":{"id":18777,"nodeType":"Block","src":"7502:87:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e6729","id":18771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7552:20:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},"value":"log(string,string)"},{"id":18772,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18763,"src":"7574:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18773,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18765,"src":"7578:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18769,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7528:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7532:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7528:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7528:53:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18768,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"7512:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7512:70:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18776,"nodeType":"ExpressionStatement","src":"7512:70:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7448:3:16","parameters":{"id":18766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18763,"mutability":"mutable","name":"p0","nameLocation":"7466:2:16","nodeType":"VariableDeclaration","scope":18778,"src":"7452:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18762,"name":"string","nodeType":"ElementaryTypeName","src":"7452:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18765,"mutability":"mutable","name":"p1","nameLocation":"7484:2:16","nodeType":"VariableDeclaration","scope":18778,"src":"7470:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18764,"name":"string","nodeType":"ElementaryTypeName","src":"7470:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7451:36:16"},"returnParameters":{"id":18767,"nodeType":"ParameterList","parameters":[],"src":"7502:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18795,"nodeType":"FunctionDefinition","src":"7595:139:16","nodes":[],"body":{"id":18794,"nodeType":"Block","src":"7649:85:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c29","id":18788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7699:18:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870","typeString":"literal_string \"log(string,bool)\""},"value":"log(string,bool)"},{"id":18789,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18780,"src":"7719:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18790,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18782,"src":"7723:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870","typeString":"literal_string \"log(string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18786,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7675:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7679:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7675:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7675:51:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18785,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"7659:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7659:68:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18793,"nodeType":"ExpressionStatement","src":"7659:68:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7604:3:16","parameters":{"id":18783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18780,"mutability":"mutable","name":"p0","nameLocation":"7622:2:16","nodeType":"VariableDeclaration","scope":18795,"src":"7608:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18779,"name":"string","nodeType":"ElementaryTypeName","src":"7608:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18782,"mutability":"mutable","name":"p1","nameLocation":"7631:2:16","nodeType":"VariableDeclaration","scope":18795,"src":"7626:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18781,"name":"bool","nodeType":"ElementaryTypeName","src":"7626:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7607:27:16"},"returnParameters":{"id":18784,"nodeType":"ParameterList","parameters":[],"src":"7649:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18812,"nodeType":"FunctionDefinition","src":"7740:145:16","nodes":[],"body":{"id":18811,"nodeType":"Block","src":"7797:88:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c6164647265737329","id":18805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7847:21:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72","typeString":"literal_string \"log(string,address)\""},"value":"log(string,address)"},{"id":18806,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18797,"src":"7870:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18807,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18799,"src":"7874:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72","typeString":"literal_string \"log(string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18803,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7823:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18804,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7827:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7823:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7823:54:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18802,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"7807:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7807:71:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18810,"nodeType":"ExpressionStatement","src":"7807:71:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7749:3:16","parameters":{"id":18800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18797,"mutability":"mutable","name":"p0","nameLocation":"7767:2:16","nodeType":"VariableDeclaration","scope":18812,"src":"7753:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18796,"name":"string","nodeType":"ElementaryTypeName","src":"7753:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18799,"mutability":"mutable","name":"p1","nameLocation":"7779:2:16","nodeType":"VariableDeclaration","scope":18812,"src":"7771:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18798,"name":"address","nodeType":"ElementaryTypeName","src":"7771:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7752:30:16"},"returnParameters":{"id":18801,"nodeType":"ParameterList","parameters":[],"src":"7797:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18829,"nodeType":"FunctionDefinition","src":"7891:134:16","nodes":[],"body":{"id":18828,"nodeType":"Block","src":"7939:86:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e7432353629","id":18822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7989:19:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_399174d3d0c43cb9677bce4fa1b5541fc60a002cbf23e154f1abcbb5f02cf2d7","typeString":"literal_string \"log(bool,uint256)\""},"value":"log(bool,uint256)"},{"id":18823,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18814,"src":"8010:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18824,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18816,"src":"8014:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_399174d3d0c43cb9677bce4fa1b5541fc60a002cbf23e154f1abcbb5f02cf2d7","typeString":"literal_string \"log(bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18820,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7965:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18821,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7969:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7965:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7965:52:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18819,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"7949:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7949:69:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18827,"nodeType":"ExpressionStatement","src":"7949:69:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7900:3:16","parameters":{"id":18817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18814,"mutability":"mutable","name":"p0","nameLocation":"7909:2:16","nodeType":"VariableDeclaration","scope":18829,"src":"7904:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18813,"name":"bool","nodeType":"ElementaryTypeName","src":"7904:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18816,"mutability":"mutable","name":"p1","nameLocation":"7921:2:16","nodeType":"VariableDeclaration","scope":18829,"src":"7913:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18815,"name":"uint256","nodeType":"ElementaryTypeName","src":"7913:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7903:21:16"},"returnParameters":{"id":18818,"nodeType":"ParameterList","parameters":[],"src":"7939:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18846,"nodeType":"FunctionDefinition","src":"8031:139:16","nodes":[],"body":{"id":18845,"nodeType":"Block","src":"8085:85:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e6729","id":18839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8135:18:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84","typeString":"literal_string \"log(bool,string)\""},"value":"log(bool,string)"},{"id":18840,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18831,"src":"8155:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18841,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18833,"src":"8159:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84","typeString":"literal_string \"log(bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18837,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8111:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18838,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8115:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8111:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8111:51:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18836,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"8095:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8095:68:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18844,"nodeType":"ExpressionStatement","src":"8095:68:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8040:3:16","parameters":{"id":18834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18831,"mutability":"mutable","name":"p0","nameLocation":"8049:2:16","nodeType":"VariableDeclaration","scope":18846,"src":"8044:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18830,"name":"bool","nodeType":"ElementaryTypeName","src":"8044:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18833,"mutability":"mutable","name":"p1","nameLocation":"8067:2:16","nodeType":"VariableDeclaration","scope":18846,"src":"8053:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18832,"name":"string","nodeType":"ElementaryTypeName","src":"8053:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8043:27:16"},"returnParameters":{"id":18835,"nodeType":"ParameterList","parameters":[],"src":"8085:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18863,"nodeType":"FunctionDefinition","src":"8176:128:16","nodes":[],"body":{"id":18862,"nodeType":"Block","src":"8221:83:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c29","id":18856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8271:16:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15","typeString":"literal_string \"log(bool,bool)\""},"value":"log(bool,bool)"},{"id":18857,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18848,"src":"8289:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18858,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18850,"src":"8293:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15","typeString":"literal_string \"log(bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18854,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8247:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18855,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8251:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8247:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8247:49:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18853,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"8231:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8231:66:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18861,"nodeType":"ExpressionStatement","src":"8231:66:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8185:3:16","parameters":{"id":18851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18848,"mutability":"mutable","name":"p0","nameLocation":"8194:2:16","nodeType":"VariableDeclaration","scope":18863,"src":"8189:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18847,"name":"bool","nodeType":"ElementaryTypeName","src":"8189:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18850,"mutability":"mutable","name":"p1","nameLocation":"8203:2:16","nodeType":"VariableDeclaration","scope":18863,"src":"8198:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18849,"name":"bool","nodeType":"ElementaryTypeName","src":"8198:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8188:18:16"},"returnParameters":{"id":18852,"nodeType":"ParameterList","parameters":[],"src":"8221:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18880,"nodeType":"FunctionDefinition","src":"8310:134:16","nodes":[],"body":{"id":18879,"nodeType":"Block","src":"8358:86:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c6164647265737329","id":18873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8408:19:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55","typeString":"literal_string \"log(bool,address)\""},"value":"log(bool,address)"},{"id":18874,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18865,"src":"8429:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18875,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18867,"src":"8433:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55","typeString":"literal_string \"log(bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18871,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8384:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18872,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8388:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8384:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8384:52:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18870,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"8368:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8368:69:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18878,"nodeType":"ExpressionStatement","src":"8368:69:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8319:3:16","parameters":{"id":18868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18865,"mutability":"mutable","name":"p0","nameLocation":"8328:2:16","nodeType":"VariableDeclaration","scope":18880,"src":"8323:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18864,"name":"bool","nodeType":"ElementaryTypeName","src":"8323:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18867,"mutability":"mutable","name":"p1","nameLocation":"8340:2:16","nodeType":"VariableDeclaration","scope":18880,"src":"8332:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18866,"name":"address","nodeType":"ElementaryTypeName","src":"8332:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8322:21:16"},"returnParameters":{"id":18869,"nodeType":"ParameterList","parameters":[],"src":"8358:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18897,"nodeType":"FunctionDefinition","src":"8450:140:16","nodes":[],"body":{"id":18896,"nodeType":"Block","src":"8501:89:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e7432353629","id":18890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8551:22:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_8309e8a8b132619bdb25dffa9d595ba1ecb7835540fd62622dad33018c4a0d3e","typeString":"literal_string \"log(address,uint256)\""},"value":"log(address,uint256)"},{"id":18891,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18882,"src":"8575:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18892,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18884,"src":"8579:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8309e8a8b132619bdb25dffa9d595ba1ecb7835540fd62622dad33018c4a0d3e","typeString":"literal_string \"log(address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18888,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8527:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8531:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8527:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8527:55:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18887,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"8511:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8511:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18895,"nodeType":"ExpressionStatement","src":"8511:72:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8459:3:16","parameters":{"id":18885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18882,"mutability":"mutable","name":"p0","nameLocation":"8471:2:16","nodeType":"VariableDeclaration","scope":18897,"src":"8463:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18881,"name":"address","nodeType":"ElementaryTypeName","src":"8463:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18884,"mutability":"mutable","name":"p1","nameLocation":"8483:2:16","nodeType":"VariableDeclaration","scope":18897,"src":"8475:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18883,"name":"uint256","nodeType":"ElementaryTypeName","src":"8475:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8462:24:16"},"returnParameters":{"id":18886,"nodeType":"ParameterList","parameters":[],"src":"8501:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18914,"nodeType":"FunctionDefinition","src":"8596:145:16","nodes":[],"body":{"id":18913,"nodeType":"Block","src":"8653:88:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e6729","id":18907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8703:21:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab","typeString":"literal_string \"log(address,string)\""},"value":"log(address,string)"},{"id":18908,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18899,"src":"8726:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18909,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18901,"src":"8730:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab","typeString":"literal_string \"log(address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18905,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8679:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18906,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8683:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8679:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8679:54:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18904,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"8663:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8663:71:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18912,"nodeType":"ExpressionStatement","src":"8663:71:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8605:3:16","parameters":{"id":18902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18899,"mutability":"mutable","name":"p0","nameLocation":"8617:2:16","nodeType":"VariableDeclaration","scope":18914,"src":"8609:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18898,"name":"address","nodeType":"ElementaryTypeName","src":"8609:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18901,"mutability":"mutable","name":"p1","nameLocation":"8635:2:16","nodeType":"VariableDeclaration","scope":18914,"src":"8621:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18900,"name":"string","nodeType":"ElementaryTypeName","src":"8621:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8608:30:16"},"returnParameters":{"id":18903,"nodeType":"ParameterList","parameters":[],"src":"8653:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18931,"nodeType":"FunctionDefinition","src":"8747:134:16","nodes":[],"body":{"id":18930,"nodeType":"Block","src":"8795:86:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c29","id":18924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8845:19:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b","typeString":"literal_string \"log(address,bool)\""},"value":"log(address,bool)"},{"id":18925,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18916,"src":"8866:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18926,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18918,"src":"8870:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b","typeString":"literal_string \"log(address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18922,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8821:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18923,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8825:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8821:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8821:52:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18921,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"8805:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8805:69:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18929,"nodeType":"ExpressionStatement","src":"8805:69:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8756:3:16","parameters":{"id":18919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18916,"mutability":"mutable","name":"p0","nameLocation":"8768:2:16","nodeType":"VariableDeclaration","scope":18931,"src":"8760:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18915,"name":"address","nodeType":"ElementaryTypeName","src":"8760:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18918,"mutability":"mutable","name":"p1","nameLocation":"8777:2:16","nodeType":"VariableDeclaration","scope":18931,"src":"8772:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18917,"name":"bool","nodeType":"ElementaryTypeName","src":"8772:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8759:21:16"},"returnParameters":{"id":18920,"nodeType":"ParameterList","parameters":[],"src":"8795:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18948,"nodeType":"FunctionDefinition","src":"8887:140:16","nodes":[],"body":{"id":18947,"nodeType":"Block","src":"8938:89:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c6164647265737329","id":18941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8988:22:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161","typeString":"literal_string \"log(address,address)\""},"value":"log(address,address)"},{"id":18942,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18933,"src":"9012:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18943,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18935,"src":"9016:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161","typeString":"literal_string \"log(address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18939,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8964:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18940,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8968:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8964:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8964:55:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18938,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"8948:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8948:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18946,"nodeType":"ExpressionStatement","src":"8948:72:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8896:3:16","parameters":{"id":18936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18933,"mutability":"mutable","name":"p0","nameLocation":"8908:2:16","nodeType":"VariableDeclaration","scope":18948,"src":"8900:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18932,"name":"address","nodeType":"ElementaryTypeName","src":"8900:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18935,"mutability":"mutable","name":"p1","nameLocation":"8920:2:16","nodeType":"VariableDeclaration","scope":18948,"src":"8912:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18934,"name":"address","nodeType":"ElementaryTypeName","src":"8912:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8899:24:16"},"returnParameters":{"id":18937,"nodeType":"ParameterList","parameters":[],"src":"8938:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18968,"nodeType":"FunctionDefinition","src":"9033:164:16","nodes":[],"body":{"id":18967,"nodeType":"Block","src":"9096:101:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e7432353629","id":18960,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9146:30:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_d1ed7a3c020c4f5939654147940a147a8e4e638fa1e8f5664b5efbd1e1f3c4a6","typeString":"literal_string \"log(uint256,uint256,uint256)\""},"value":"log(uint256,uint256,uint256)"},{"id":18961,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18950,"src":"9178:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18962,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18952,"src":"9182:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18963,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18954,"src":"9186:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d1ed7a3c020c4f5939654147940a147a8e4e638fa1e8f5664b5efbd1e1f3c4a6","typeString":"literal_string \"log(uint256,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18958,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9122:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18959,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9126:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9122:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9122:67:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18957,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"9106:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9106:84:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18966,"nodeType":"ExpressionStatement","src":"9106:84:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9042:3:16","parameters":{"id":18955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18950,"mutability":"mutable","name":"p0","nameLocation":"9054:2:16","nodeType":"VariableDeclaration","scope":18968,"src":"9046:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18949,"name":"uint256","nodeType":"ElementaryTypeName","src":"9046:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18952,"mutability":"mutable","name":"p1","nameLocation":"9066:2:16","nodeType":"VariableDeclaration","scope":18968,"src":"9058:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18951,"name":"uint256","nodeType":"ElementaryTypeName","src":"9058:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18954,"mutability":"mutable","name":"p2","nameLocation":"9078:2:16","nodeType":"VariableDeclaration","scope":18968,"src":"9070:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18953,"name":"uint256","nodeType":"ElementaryTypeName","src":"9070:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9045:36:16"},"returnParameters":{"id":18956,"nodeType":"ParameterList","parameters":[],"src":"9096:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":18988,"nodeType":"FunctionDefinition","src":"9203:169:16","nodes":[],"body":{"id":18987,"nodeType":"Block","src":"9272:100:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e6729","id":18980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9322:29:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_71d04af2c0d71f035017c73ec9440d8cef06157a84f0febe8ec74eca98138262","typeString":"literal_string \"log(uint256,uint256,string)\""},"value":"log(uint256,uint256,string)"},{"id":18981,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18970,"src":"9353:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18982,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18972,"src":"9357:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18983,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18974,"src":"9361:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_71d04af2c0d71f035017c73ec9440d8cef06157a84f0febe8ec74eca98138262","typeString":"literal_string \"log(uint256,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18978,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9298:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9302:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9298:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9298:66:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18977,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"9282:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9282:83:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18986,"nodeType":"ExpressionStatement","src":"9282:83:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9212:3:16","parameters":{"id":18975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18970,"mutability":"mutable","name":"p0","nameLocation":"9224:2:16","nodeType":"VariableDeclaration","scope":18988,"src":"9216:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18969,"name":"uint256","nodeType":"ElementaryTypeName","src":"9216:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18972,"mutability":"mutable","name":"p1","nameLocation":"9236:2:16","nodeType":"VariableDeclaration","scope":18988,"src":"9228:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18971,"name":"uint256","nodeType":"ElementaryTypeName","src":"9228:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18974,"mutability":"mutable","name":"p2","nameLocation":"9254:2:16","nodeType":"VariableDeclaration","scope":18988,"src":"9240:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18973,"name":"string","nodeType":"ElementaryTypeName","src":"9240:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9215:42:16"},"returnParameters":{"id":18976,"nodeType":"ParameterList","parameters":[],"src":"9272:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19008,"nodeType":"FunctionDefinition","src":"9378:158:16","nodes":[],"body":{"id":19007,"nodeType":"Block","src":"9438:98:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c29","id":19000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9488:27:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_4766da72b632663e3b9911d02d6f30e0cf213f928bdb9f6fd840851875d9fce0","typeString":"literal_string \"log(uint256,uint256,bool)\""},"value":"log(uint256,uint256,bool)"},{"id":19001,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18990,"src":"9517:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19002,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18992,"src":"9521:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19003,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18994,"src":"9525:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4766da72b632663e3b9911d02d6f30e0cf213f928bdb9f6fd840851875d9fce0","typeString":"literal_string \"log(uint256,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18998,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9464:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18999,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9468:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9464:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9464:64:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18997,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"9448:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9448:81:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19006,"nodeType":"ExpressionStatement","src":"9448:81:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9387:3:16","parameters":{"id":18995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18990,"mutability":"mutable","name":"p0","nameLocation":"9399:2:16","nodeType":"VariableDeclaration","scope":19008,"src":"9391:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18989,"name":"uint256","nodeType":"ElementaryTypeName","src":"9391:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18992,"mutability":"mutable","name":"p1","nameLocation":"9411:2:16","nodeType":"VariableDeclaration","scope":19008,"src":"9403:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18991,"name":"uint256","nodeType":"ElementaryTypeName","src":"9403:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18994,"mutability":"mutable","name":"p2","nameLocation":"9420:2:16","nodeType":"VariableDeclaration","scope":19008,"src":"9415:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18993,"name":"bool","nodeType":"ElementaryTypeName","src":"9415:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9390:33:16"},"returnParameters":{"id":18996,"nodeType":"ParameterList","parameters":[],"src":"9438:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19028,"nodeType":"FunctionDefinition","src":"9542:164:16","nodes":[],"body":{"id":19027,"nodeType":"Block","src":"9605:101:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c6164647265737329","id":19020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9655:30:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c96b331e359852d9a7254105926ce8dfcc42dd4fce56a736cfb981b4c2984c1","typeString":"literal_string \"log(uint256,uint256,address)\""},"value":"log(uint256,uint256,address)"},{"id":19021,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19010,"src":"9687:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19022,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19012,"src":"9691:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19023,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19014,"src":"9695:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5c96b331e359852d9a7254105926ce8dfcc42dd4fce56a736cfb981b4c2984c1","typeString":"literal_string \"log(uint256,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19018,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9631:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19019,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9635:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9631:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9631:67:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19017,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"9615:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9615:84:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19026,"nodeType":"ExpressionStatement","src":"9615:84:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9551:3:16","parameters":{"id":19015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19010,"mutability":"mutable","name":"p0","nameLocation":"9563:2:16","nodeType":"VariableDeclaration","scope":19028,"src":"9555:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19009,"name":"uint256","nodeType":"ElementaryTypeName","src":"9555:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19012,"mutability":"mutable","name":"p1","nameLocation":"9575:2:16","nodeType":"VariableDeclaration","scope":19028,"src":"9567:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19011,"name":"uint256","nodeType":"ElementaryTypeName","src":"9567:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19014,"mutability":"mutable","name":"p2","nameLocation":"9587:2:16","nodeType":"VariableDeclaration","scope":19028,"src":"9579:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19013,"name":"address","nodeType":"ElementaryTypeName","src":"9579:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9554:36:16"},"returnParameters":{"id":19016,"nodeType":"ParameterList","parameters":[],"src":"9605:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19048,"nodeType":"FunctionDefinition","src":"9712:169:16","nodes":[],"body":{"id":19047,"nodeType":"Block","src":"9781:100:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e7432353629","id":19040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9831:29:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_37aa7d4c835edd965b1201d9c03f13272bd937d8e244ab84a153693e2f2f30c0","typeString":"literal_string \"log(uint256,string,uint256)\""},"value":"log(uint256,string,uint256)"},{"id":19041,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19030,"src":"9862:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19042,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19032,"src":"9866:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19043,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19034,"src":"9870:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_37aa7d4c835edd965b1201d9c03f13272bd937d8e244ab84a153693e2f2f30c0","typeString":"literal_string \"log(uint256,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19038,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9807:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19039,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9811:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9807:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9807:66:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19037,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"9791:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9791:83:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19046,"nodeType":"ExpressionStatement","src":"9791:83:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9721:3:16","parameters":{"id":19035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19030,"mutability":"mutable","name":"p0","nameLocation":"9733:2:16","nodeType":"VariableDeclaration","scope":19048,"src":"9725:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19029,"name":"uint256","nodeType":"ElementaryTypeName","src":"9725:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19032,"mutability":"mutable","name":"p1","nameLocation":"9751:2:16","nodeType":"VariableDeclaration","scope":19048,"src":"9737:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19031,"name":"string","nodeType":"ElementaryTypeName","src":"9737:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19034,"mutability":"mutable","name":"p2","nameLocation":"9763:2:16","nodeType":"VariableDeclaration","scope":19048,"src":"9755:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19033,"name":"uint256","nodeType":"ElementaryTypeName","src":"9755:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9724:42:16"},"returnParameters":{"id":19036,"nodeType":"ParameterList","parameters":[],"src":"9781:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19068,"nodeType":"FunctionDefinition","src":"9887:174:16","nodes":[],"body":{"id":19067,"nodeType":"Block","src":"9962:99:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e6729","id":19060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10012:28:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_b115611f13262589f336fb650c9278bd1879123a635e6a638f94e6cbdb1c1b35","typeString":"literal_string \"log(uint256,string,string)\""},"value":"log(uint256,string,string)"},{"id":19061,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19050,"src":"10042:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19062,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19052,"src":"10046:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19063,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19054,"src":"10050:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b115611f13262589f336fb650c9278bd1879123a635e6a638f94e6cbdb1c1b35","typeString":"literal_string \"log(uint256,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19058,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9988:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19059,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9992:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9988:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9988:65:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19057,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"9972:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9972:82:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19066,"nodeType":"ExpressionStatement","src":"9972:82:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9896:3:16","parameters":{"id":19055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19050,"mutability":"mutable","name":"p0","nameLocation":"9908:2:16","nodeType":"VariableDeclaration","scope":19068,"src":"9900:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19049,"name":"uint256","nodeType":"ElementaryTypeName","src":"9900:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19052,"mutability":"mutable","name":"p1","nameLocation":"9926:2:16","nodeType":"VariableDeclaration","scope":19068,"src":"9912:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19051,"name":"string","nodeType":"ElementaryTypeName","src":"9912:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19054,"mutability":"mutable","name":"p2","nameLocation":"9944:2:16","nodeType":"VariableDeclaration","scope":19068,"src":"9930:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19053,"name":"string","nodeType":"ElementaryTypeName","src":"9930:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9899:48:16"},"returnParameters":{"id":19056,"nodeType":"ParameterList","parameters":[],"src":"9962:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19088,"nodeType":"FunctionDefinition","src":"10067:163:16","nodes":[],"body":{"id":19087,"nodeType":"Block","src":"10133:97:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c29","id":19080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10183:26:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ceda75ad13e534e8b5089564c6a40ae80cd33aac3e77ef1f87a233c1d43067a","typeString":"literal_string \"log(uint256,string,bool)\""},"value":"log(uint256,string,bool)"},{"id":19081,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19070,"src":"10211:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19082,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19072,"src":"10215:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19083,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19074,"src":"10219:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4ceda75ad13e534e8b5089564c6a40ae80cd33aac3e77ef1f87a233c1d43067a","typeString":"literal_string \"log(uint256,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19078,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10159:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19079,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10163:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10159:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10159:63:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19077,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"10143:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10143:80:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19086,"nodeType":"ExpressionStatement","src":"10143:80:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10076:3:16","parameters":{"id":19075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19070,"mutability":"mutable","name":"p0","nameLocation":"10088:2:16","nodeType":"VariableDeclaration","scope":19088,"src":"10080:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19069,"name":"uint256","nodeType":"ElementaryTypeName","src":"10080:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19072,"mutability":"mutable","name":"p1","nameLocation":"10106:2:16","nodeType":"VariableDeclaration","scope":19088,"src":"10092:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19071,"name":"string","nodeType":"ElementaryTypeName","src":"10092:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19074,"mutability":"mutable","name":"p2","nameLocation":"10115:2:16","nodeType":"VariableDeclaration","scope":19088,"src":"10110:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19073,"name":"bool","nodeType":"ElementaryTypeName","src":"10110:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10079:39:16"},"returnParameters":{"id":19076,"nodeType":"ParameterList","parameters":[],"src":"10133:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19108,"nodeType":"FunctionDefinition","src":"10236:169:16","nodes":[],"body":{"id":19107,"nodeType":"Block","src":"10305:100:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c6164647265737329","id":19100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10355:29:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_7afac959002f7dcdccdf461a7e6db7810eebd7217c0b7c30905b3c7e89b561f2","typeString":"literal_string \"log(uint256,string,address)\""},"value":"log(uint256,string,address)"},{"id":19101,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19090,"src":"10386:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19102,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19092,"src":"10390:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19103,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19094,"src":"10394:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7afac959002f7dcdccdf461a7e6db7810eebd7217c0b7c30905b3c7e89b561f2","typeString":"literal_string \"log(uint256,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19098,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10331:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10335:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10331:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10331:66:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19097,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"10315:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10315:83:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19106,"nodeType":"ExpressionStatement","src":"10315:83:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10245:3:16","parameters":{"id":19095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19090,"mutability":"mutable","name":"p0","nameLocation":"10257:2:16","nodeType":"VariableDeclaration","scope":19108,"src":"10249:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19089,"name":"uint256","nodeType":"ElementaryTypeName","src":"10249:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19092,"mutability":"mutable","name":"p1","nameLocation":"10275:2:16","nodeType":"VariableDeclaration","scope":19108,"src":"10261:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19091,"name":"string","nodeType":"ElementaryTypeName","src":"10261:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19094,"mutability":"mutable","name":"p2","nameLocation":"10287:2:16","nodeType":"VariableDeclaration","scope":19108,"src":"10279:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19093,"name":"address","nodeType":"ElementaryTypeName","src":"10279:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10248:42:16"},"returnParameters":{"id":19096,"nodeType":"ParameterList","parameters":[],"src":"10305:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19128,"nodeType":"FunctionDefinition","src":"10411:158:16","nodes":[],"body":{"id":19127,"nodeType":"Block","src":"10471:98:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e7432353629","id":19120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10521:27:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_200980147f19b368809aab41084ebebcf1e19d47edd13f2d540a6327cec213d1","typeString":"literal_string \"log(uint256,bool,uint256)\""},"value":"log(uint256,bool,uint256)"},{"id":19121,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19110,"src":"10550:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19122,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19112,"src":"10554:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19123,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19114,"src":"10558:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_200980147f19b368809aab41084ebebcf1e19d47edd13f2d540a6327cec213d1","typeString":"literal_string \"log(uint256,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19118,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10497:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19119,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10501:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10497:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10497:64:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19117,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"10481:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10481:81:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19126,"nodeType":"ExpressionStatement","src":"10481:81:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10420:3:16","parameters":{"id":19115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19110,"mutability":"mutable","name":"p0","nameLocation":"10432:2:16","nodeType":"VariableDeclaration","scope":19128,"src":"10424:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19109,"name":"uint256","nodeType":"ElementaryTypeName","src":"10424:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19112,"mutability":"mutable","name":"p1","nameLocation":"10441:2:16","nodeType":"VariableDeclaration","scope":19128,"src":"10436:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19111,"name":"bool","nodeType":"ElementaryTypeName","src":"10436:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19114,"mutability":"mutable","name":"p2","nameLocation":"10453:2:16","nodeType":"VariableDeclaration","scope":19128,"src":"10445:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19113,"name":"uint256","nodeType":"ElementaryTypeName","src":"10445:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10423:33:16"},"returnParameters":{"id":19116,"nodeType":"ParameterList","parameters":[],"src":"10471:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19148,"nodeType":"FunctionDefinition","src":"10575:163:16","nodes":[],"body":{"id":19147,"nodeType":"Block","src":"10641:97:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e6729","id":19140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10691:26:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_85775021582c57b14e9e0b33e0f693439478099486817fe4214a503f559f37df","typeString":"literal_string \"log(uint256,bool,string)\""},"value":"log(uint256,bool,string)"},{"id":19141,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19130,"src":"10719:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19142,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19132,"src":"10723:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19143,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19134,"src":"10727:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_85775021582c57b14e9e0b33e0f693439478099486817fe4214a503f559f37df","typeString":"literal_string \"log(uint256,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19138,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10667:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10671:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10667:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10667:63:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19137,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"10651:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10651:80:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19146,"nodeType":"ExpressionStatement","src":"10651:80:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10584:3:16","parameters":{"id":19135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19130,"mutability":"mutable","name":"p0","nameLocation":"10596:2:16","nodeType":"VariableDeclaration","scope":19148,"src":"10588:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19129,"name":"uint256","nodeType":"ElementaryTypeName","src":"10588:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19132,"mutability":"mutable","name":"p1","nameLocation":"10605:2:16","nodeType":"VariableDeclaration","scope":19148,"src":"10600:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19131,"name":"bool","nodeType":"ElementaryTypeName","src":"10600:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19134,"mutability":"mutable","name":"p2","nameLocation":"10623:2:16","nodeType":"VariableDeclaration","scope":19148,"src":"10609:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19133,"name":"string","nodeType":"ElementaryTypeName","src":"10609:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10587:39:16"},"returnParameters":{"id":19136,"nodeType":"ParameterList","parameters":[],"src":"10641:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19168,"nodeType":"FunctionDefinition","src":"10744:152:16","nodes":[],"body":{"id":19167,"nodeType":"Block","src":"10801:95:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c29","id":19160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10851:24:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_207186500d54a80dae0e8fae760b583cb518c2c49967db59c8f7e5596879c0b6","typeString":"literal_string \"log(uint256,bool,bool)\""},"value":"log(uint256,bool,bool)"},{"id":19161,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19150,"src":"10877:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19162,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19152,"src":"10881:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19163,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19154,"src":"10885:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_207186500d54a80dae0e8fae760b583cb518c2c49967db59c8f7e5596879c0b6","typeString":"literal_string \"log(uint256,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19158,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10827:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19159,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10831:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10827:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10827:61:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19157,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"10811:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10811:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19166,"nodeType":"ExpressionStatement","src":"10811:78:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10753:3:16","parameters":{"id":19155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19150,"mutability":"mutable","name":"p0","nameLocation":"10765:2:16","nodeType":"VariableDeclaration","scope":19168,"src":"10757:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19149,"name":"uint256","nodeType":"ElementaryTypeName","src":"10757:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19152,"mutability":"mutable","name":"p1","nameLocation":"10774:2:16","nodeType":"VariableDeclaration","scope":19168,"src":"10769:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19151,"name":"bool","nodeType":"ElementaryTypeName","src":"10769:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19154,"mutability":"mutable","name":"p2","nameLocation":"10783:2:16","nodeType":"VariableDeclaration","scope":19168,"src":"10778:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19153,"name":"bool","nodeType":"ElementaryTypeName","src":"10778:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10756:30:16"},"returnParameters":{"id":19156,"nodeType":"ParameterList","parameters":[],"src":"10801:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19188,"nodeType":"FunctionDefinition","src":"10902:158:16","nodes":[],"body":{"id":19187,"nodeType":"Block","src":"10962:98:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c6164647265737329","id":19180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11012:27:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_35085f7b74fe0b67ab2d779d94b2a1efc14ce8d637e06ffda83ca305116f3c99","typeString":"literal_string \"log(uint256,bool,address)\""},"value":"log(uint256,bool,address)"},{"id":19181,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19170,"src":"11041:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19182,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19172,"src":"11045:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19183,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19174,"src":"11049:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_35085f7b74fe0b67ab2d779d94b2a1efc14ce8d637e06ffda83ca305116f3c99","typeString":"literal_string \"log(uint256,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19178,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10988:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10992:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10988:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10988:64:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19177,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"10972:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10972:81:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19186,"nodeType":"ExpressionStatement","src":"10972:81:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10911:3:16","parameters":{"id":19175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19170,"mutability":"mutable","name":"p0","nameLocation":"10923:2:16","nodeType":"VariableDeclaration","scope":19188,"src":"10915:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19169,"name":"uint256","nodeType":"ElementaryTypeName","src":"10915:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19172,"mutability":"mutable","name":"p1","nameLocation":"10932:2:16","nodeType":"VariableDeclaration","scope":19188,"src":"10927:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19171,"name":"bool","nodeType":"ElementaryTypeName","src":"10927:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19174,"mutability":"mutable","name":"p2","nameLocation":"10944:2:16","nodeType":"VariableDeclaration","scope":19188,"src":"10936:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19173,"name":"address","nodeType":"ElementaryTypeName","src":"10936:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10914:33:16"},"returnParameters":{"id":19176,"nodeType":"ParameterList","parameters":[],"src":"10962:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19208,"nodeType":"FunctionDefinition","src":"11066:164:16","nodes":[],"body":{"id":19207,"nodeType":"Block","src":"11129:101:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e7432353629","id":19200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11179:30:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_5a9b5ed5e0cc67953f5b0a58c12e9694944af5a126321ab88870dec3bc05a9ae","typeString":"literal_string \"log(uint256,address,uint256)\""},"value":"log(uint256,address,uint256)"},{"id":19201,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19190,"src":"11211:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19202,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19192,"src":"11215:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19203,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19194,"src":"11219:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5a9b5ed5e0cc67953f5b0a58c12e9694944af5a126321ab88870dec3bc05a9ae","typeString":"literal_string \"log(uint256,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19198,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11155:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19199,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11159:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11155:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11155:67:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19197,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"11139:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11139:84:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19206,"nodeType":"ExpressionStatement","src":"11139:84:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11075:3:16","parameters":{"id":19195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19190,"mutability":"mutable","name":"p0","nameLocation":"11087:2:16","nodeType":"VariableDeclaration","scope":19208,"src":"11079:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19189,"name":"uint256","nodeType":"ElementaryTypeName","src":"11079:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19192,"mutability":"mutable","name":"p1","nameLocation":"11099:2:16","nodeType":"VariableDeclaration","scope":19208,"src":"11091:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19191,"name":"address","nodeType":"ElementaryTypeName","src":"11091:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19194,"mutability":"mutable","name":"p2","nameLocation":"11111:2:16","nodeType":"VariableDeclaration","scope":19208,"src":"11103:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19193,"name":"uint256","nodeType":"ElementaryTypeName","src":"11103:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11078:36:16"},"returnParameters":{"id":19196,"nodeType":"ParameterList","parameters":[],"src":"11129:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19228,"nodeType":"FunctionDefinition","src":"11236:169:16","nodes":[],"body":{"id":19227,"nodeType":"Block","src":"11305:100:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e6729","id":19220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11355:29:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_63cb41f9a63efe5dfacd3a2836bdef664d136fd6113f8e931c31a919af38935c","typeString":"literal_string \"log(uint256,address,string)\""},"value":"log(uint256,address,string)"},{"id":19221,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19210,"src":"11386:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19222,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19212,"src":"11390:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19223,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19214,"src":"11394:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_63cb41f9a63efe5dfacd3a2836bdef664d136fd6113f8e931c31a919af38935c","typeString":"literal_string \"log(uint256,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19218,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11331:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19219,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11335:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11331:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11331:66:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19217,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"11315:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11315:83:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19226,"nodeType":"ExpressionStatement","src":"11315:83:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11245:3:16","parameters":{"id":19215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19210,"mutability":"mutable","name":"p0","nameLocation":"11257:2:16","nodeType":"VariableDeclaration","scope":19228,"src":"11249:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19209,"name":"uint256","nodeType":"ElementaryTypeName","src":"11249:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19212,"mutability":"mutable","name":"p1","nameLocation":"11269:2:16","nodeType":"VariableDeclaration","scope":19228,"src":"11261:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19211,"name":"address","nodeType":"ElementaryTypeName","src":"11261:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19214,"mutability":"mutable","name":"p2","nameLocation":"11287:2:16","nodeType":"VariableDeclaration","scope":19228,"src":"11273:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19213,"name":"string","nodeType":"ElementaryTypeName","src":"11273:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11248:42:16"},"returnParameters":{"id":19216,"nodeType":"ParameterList","parameters":[],"src":"11305:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19248,"nodeType":"FunctionDefinition","src":"11411:158:16","nodes":[],"body":{"id":19247,"nodeType":"Block","src":"11471:98:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c29","id":19240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11521:27:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b6ec042c5598a780a5bfae5e9ea2c50c251da4c38db3a134b8857be618f0c5c","typeString":"literal_string \"log(uint256,address,bool)\""},"value":"log(uint256,address,bool)"},{"id":19241,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19230,"src":"11550:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19242,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19232,"src":"11554:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19243,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19234,"src":"11558:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9b6ec042c5598a780a5bfae5e9ea2c50c251da4c38db3a134b8857be618f0c5c","typeString":"literal_string \"log(uint256,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19238,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11497:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19239,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11501:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11497:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11497:64:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19237,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"11481:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11481:81:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19246,"nodeType":"ExpressionStatement","src":"11481:81:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11420:3:16","parameters":{"id":19235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19230,"mutability":"mutable","name":"p0","nameLocation":"11432:2:16","nodeType":"VariableDeclaration","scope":19248,"src":"11424:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19229,"name":"uint256","nodeType":"ElementaryTypeName","src":"11424:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19232,"mutability":"mutable","name":"p1","nameLocation":"11444:2:16","nodeType":"VariableDeclaration","scope":19248,"src":"11436:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19231,"name":"address","nodeType":"ElementaryTypeName","src":"11436:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19234,"mutability":"mutable","name":"p2","nameLocation":"11453:2:16","nodeType":"VariableDeclaration","scope":19248,"src":"11448:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19233,"name":"bool","nodeType":"ElementaryTypeName","src":"11448:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11423:33:16"},"returnParameters":{"id":19236,"nodeType":"ParameterList","parameters":[],"src":"11471:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19268,"nodeType":"FunctionDefinition","src":"11575:164:16","nodes":[],"body":{"id":19267,"nodeType":"Block","src":"11638:101:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c6164647265737329","id":19260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11688:30:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_bcfd9be04f8d6b8ee1ae73075f8fe8db10e4b254a56103daa450197029a55fda","typeString":"literal_string \"log(uint256,address,address)\""},"value":"log(uint256,address,address)"},{"id":19261,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19250,"src":"11720:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19262,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19252,"src":"11724:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19263,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19254,"src":"11728:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bcfd9be04f8d6b8ee1ae73075f8fe8db10e4b254a56103daa450197029a55fda","typeString":"literal_string \"log(uint256,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19258,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11664:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19259,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11668:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11664:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11664:67:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19257,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"11648:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11648:84:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19266,"nodeType":"ExpressionStatement","src":"11648:84:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11584:3:16","parameters":{"id":19255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19250,"mutability":"mutable","name":"p0","nameLocation":"11596:2:16","nodeType":"VariableDeclaration","scope":19268,"src":"11588:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19249,"name":"uint256","nodeType":"ElementaryTypeName","src":"11588:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19252,"mutability":"mutable","name":"p1","nameLocation":"11608:2:16","nodeType":"VariableDeclaration","scope":19268,"src":"11600:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19251,"name":"address","nodeType":"ElementaryTypeName","src":"11600:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19254,"mutability":"mutable","name":"p2","nameLocation":"11620:2:16","nodeType":"VariableDeclaration","scope":19268,"src":"11612:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19253,"name":"address","nodeType":"ElementaryTypeName","src":"11612:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11587:36:16"},"returnParameters":{"id":19256,"nodeType":"ParameterList","parameters":[],"src":"11638:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19288,"nodeType":"FunctionDefinition","src":"11745:169:16","nodes":[],"body":{"id":19287,"nodeType":"Block","src":"11814:100:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e7432353629","id":19280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11864:29:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_ca47c4ebe9fba29faff9e6b57fbe69e17216e7526486c463d61c06e8992beece","typeString":"literal_string \"log(string,uint256,uint256)\""},"value":"log(string,uint256,uint256)"},{"id":19281,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19270,"src":"11895:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19282,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19272,"src":"11899:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19283,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19274,"src":"11903:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ca47c4ebe9fba29faff9e6b57fbe69e17216e7526486c463d61c06e8992beece","typeString":"literal_string \"log(string,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19278,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11840:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19279,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11844:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11840:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11840:66:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19277,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"11824:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11824:83:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19286,"nodeType":"ExpressionStatement","src":"11824:83:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11754:3:16","parameters":{"id":19275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19270,"mutability":"mutable","name":"p0","nameLocation":"11772:2:16","nodeType":"VariableDeclaration","scope":19288,"src":"11758:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19269,"name":"string","nodeType":"ElementaryTypeName","src":"11758:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19272,"mutability":"mutable","name":"p1","nameLocation":"11784:2:16","nodeType":"VariableDeclaration","scope":19288,"src":"11776:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19271,"name":"uint256","nodeType":"ElementaryTypeName","src":"11776:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19274,"mutability":"mutable","name":"p2","nameLocation":"11796:2:16","nodeType":"VariableDeclaration","scope":19288,"src":"11788:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19273,"name":"uint256","nodeType":"ElementaryTypeName","src":"11788:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11757:42:16"},"returnParameters":{"id":19276,"nodeType":"ParameterList","parameters":[],"src":"11814:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19308,"nodeType":"FunctionDefinition","src":"11920:174:16","nodes":[],"body":{"id":19307,"nodeType":"Block","src":"11995:99:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e6729","id":19300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12045:28:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_5970e089c65c5d431d60f26e6cf1ec3984c873a96b59f1aed9fc44cdf9078bcf","typeString":"literal_string \"log(string,uint256,string)\""},"value":"log(string,uint256,string)"},{"id":19301,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19290,"src":"12075:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19302,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19292,"src":"12079:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19303,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19294,"src":"12083:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5970e089c65c5d431d60f26e6cf1ec3984c873a96b59f1aed9fc44cdf9078bcf","typeString":"literal_string \"log(string,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19298,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12021:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19299,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12025:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12021:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12021:65:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19297,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"12005:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12005:82:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19306,"nodeType":"ExpressionStatement","src":"12005:82:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11929:3:16","parameters":{"id":19295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19290,"mutability":"mutable","name":"p0","nameLocation":"11947:2:16","nodeType":"VariableDeclaration","scope":19308,"src":"11933:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19289,"name":"string","nodeType":"ElementaryTypeName","src":"11933:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19292,"mutability":"mutable","name":"p1","nameLocation":"11959:2:16","nodeType":"VariableDeclaration","scope":19308,"src":"11951:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19291,"name":"uint256","nodeType":"ElementaryTypeName","src":"11951:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19294,"mutability":"mutable","name":"p2","nameLocation":"11977:2:16","nodeType":"VariableDeclaration","scope":19308,"src":"11963:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19293,"name":"string","nodeType":"ElementaryTypeName","src":"11963:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11932:48:16"},"returnParameters":{"id":19296,"nodeType":"ParameterList","parameters":[],"src":"11995:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19328,"nodeType":"FunctionDefinition","src":"12100:163:16","nodes":[],"body":{"id":19327,"nodeType":"Block","src":"12166:97:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c29","id":19320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12216:26:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_ca7733b1b473f13a94152fab2b969755f42d925703a46c93a1825aad614f145e","typeString":"literal_string \"log(string,uint256,bool)\""},"value":"log(string,uint256,bool)"},{"id":19321,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19310,"src":"12244:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19322,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19312,"src":"12248:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19323,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19314,"src":"12252:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ca7733b1b473f13a94152fab2b969755f42d925703a46c93a1825aad614f145e","typeString":"literal_string \"log(string,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19318,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12192:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19319,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12196:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12192:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12192:63:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19317,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"12176:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12176:80:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19326,"nodeType":"ExpressionStatement","src":"12176:80:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12109:3:16","parameters":{"id":19315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19310,"mutability":"mutable","name":"p0","nameLocation":"12127:2:16","nodeType":"VariableDeclaration","scope":19328,"src":"12113:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19309,"name":"string","nodeType":"ElementaryTypeName","src":"12113:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19312,"mutability":"mutable","name":"p1","nameLocation":"12139:2:16","nodeType":"VariableDeclaration","scope":19328,"src":"12131:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19311,"name":"uint256","nodeType":"ElementaryTypeName","src":"12131:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19314,"mutability":"mutable","name":"p2","nameLocation":"12148:2:16","nodeType":"VariableDeclaration","scope":19328,"src":"12143:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19313,"name":"bool","nodeType":"ElementaryTypeName","src":"12143:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12112:39:16"},"returnParameters":{"id":19316,"nodeType":"ParameterList","parameters":[],"src":"12166:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19348,"nodeType":"FunctionDefinition","src":"12269:169:16","nodes":[],"body":{"id":19347,"nodeType":"Block","src":"12338:100:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c6164647265737329","id":19340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12388:29:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c7ec4485ea8bf18e646e5381f7318f45423199ed371307bc9171a4242f27335","typeString":"literal_string \"log(string,uint256,address)\""},"value":"log(string,uint256,address)"},{"id":19341,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19330,"src":"12419:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19342,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19332,"src":"12423:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19343,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19334,"src":"12427:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c7ec4485ea8bf18e646e5381f7318f45423199ed371307bc9171a4242f27335","typeString":"literal_string \"log(string,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19338,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12364:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19339,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12368:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12364:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12364:66:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19337,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"12348:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12348:83:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19346,"nodeType":"ExpressionStatement","src":"12348:83:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12278:3:16","parameters":{"id":19335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19330,"mutability":"mutable","name":"p0","nameLocation":"12296:2:16","nodeType":"VariableDeclaration","scope":19348,"src":"12282:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19329,"name":"string","nodeType":"ElementaryTypeName","src":"12282:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19332,"mutability":"mutable","name":"p1","nameLocation":"12308:2:16","nodeType":"VariableDeclaration","scope":19348,"src":"12300:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19331,"name":"uint256","nodeType":"ElementaryTypeName","src":"12300:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19334,"mutability":"mutable","name":"p2","nameLocation":"12320:2:16","nodeType":"VariableDeclaration","scope":19348,"src":"12312:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19333,"name":"address","nodeType":"ElementaryTypeName","src":"12312:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12281:42:16"},"returnParameters":{"id":19336,"nodeType":"ParameterList","parameters":[],"src":"12338:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19368,"nodeType":"FunctionDefinition","src":"12444:174:16","nodes":[],"body":{"id":19367,"nodeType":"Block","src":"12519:99:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e7432353629","id":19360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12569:28:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_5821efa12787fd2b80909e807f1dcc73717b87128d89e827e5b876178f2fdbd0","typeString":"literal_string \"log(string,string,uint256)\""},"value":"log(string,string,uint256)"},{"id":19361,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19350,"src":"12599:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19362,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19352,"src":"12603:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19363,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19354,"src":"12607:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5821efa12787fd2b80909e807f1dcc73717b87128d89e827e5b876178f2fdbd0","typeString":"literal_string \"log(string,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19358,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12545:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12549:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12545:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12545:65:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19357,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"12529:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12529:82:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19366,"nodeType":"ExpressionStatement","src":"12529:82:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12453:3:16","parameters":{"id":19355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19350,"mutability":"mutable","name":"p0","nameLocation":"12471:2:16","nodeType":"VariableDeclaration","scope":19368,"src":"12457:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19349,"name":"string","nodeType":"ElementaryTypeName","src":"12457:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19352,"mutability":"mutable","name":"p1","nameLocation":"12489:2:16","nodeType":"VariableDeclaration","scope":19368,"src":"12475:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19351,"name":"string","nodeType":"ElementaryTypeName","src":"12475:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19354,"mutability":"mutable","name":"p2","nameLocation":"12501:2:16","nodeType":"VariableDeclaration","scope":19368,"src":"12493:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19353,"name":"uint256","nodeType":"ElementaryTypeName","src":"12493:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12456:48:16"},"returnParameters":{"id":19356,"nodeType":"ParameterList","parameters":[],"src":"12519:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19388,"nodeType":"FunctionDefinition","src":"12624:179:16","nodes":[],"body":{"id":19387,"nodeType":"Block","src":"12705:98:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e6729","id":19380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12755:27:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f","typeString":"literal_string \"log(string,string,string)\""},"value":"log(string,string,string)"},{"id":19381,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19370,"src":"12784:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19382,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19372,"src":"12788:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19383,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19374,"src":"12792:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f","typeString":"literal_string \"log(string,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19378,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12731:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19379,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12735:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12731:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12731:64:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19377,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"12715:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12715:81:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19386,"nodeType":"ExpressionStatement","src":"12715:81:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12633:3:16","parameters":{"id":19375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19370,"mutability":"mutable","name":"p0","nameLocation":"12651:2:16","nodeType":"VariableDeclaration","scope":19388,"src":"12637:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19369,"name":"string","nodeType":"ElementaryTypeName","src":"12637:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19372,"mutability":"mutable","name":"p1","nameLocation":"12669:2:16","nodeType":"VariableDeclaration","scope":19388,"src":"12655:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19371,"name":"string","nodeType":"ElementaryTypeName","src":"12655:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19374,"mutability":"mutable","name":"p2","nameLocation":"12687:2:16","nodeType":"VariableDeclaration","scope":19388,"src":"12673:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19373,"name":"string","nodeType":"ElementaryTypeName","src":"12673:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12636:54:16"},"returnParameters":{"id":19376,"nodeType":"ParameterList","parameters":[],"src":"12705:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19408,"nodeType":"FunctionDefinition","src":"12809:168:16","nodes":[],"body":{"id":19407,"nodeType":"Block","src":"12881:96:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c29","id":19400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12931:25:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb","typeString":"literal_string \"log(string,string,bool)\""},"value":"log(string,string,bool)"},{"id":19401,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19390,"src":"12958:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19402,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19392,"src":"12962:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19403,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19394,"src":"12966:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb","typeString":"literal_string \"log(string,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19398,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12907:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12911:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12907:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12907:62:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19397,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"12891:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12891:79:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19406,"nodeType":"ExpressionStatement","src":"12891:79:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12818:3:16","parameters":{"id":19395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19390,"mutability":"mutable","name":"p0","nameLocation":"12836:2:16","nodeType":"VariableDeclaration","scope":19408,"src":"12822:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19389,"name":"string","nodeType":"ElementaryTypeName","src":"12822:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19392,"mutability":"mutable","name":"p1","nameLocation":"12854:2:16","nodeType":"VariableDeclaration","scope":19408,"src":"12840:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19391,"name":"string","nodeType":"ElementaryTypeName","src":"12840:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19394,"mutability":"mutable","name":"p2","nameLocation":"12863:2:16","nodeType":"VariableDeclaration","scope":19408,"src":"12858:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19393,"name":"bool","nodeType":"ElementaryTypeName","src":"12858:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12821:45:16"},"returnParameters":{"id":19396,"nodeType":"ParameterList","parameters":[],"src":"12881:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19428,"nodeType":"FunctionDefinition","src":"12983:174:16","nodes":[],"body":{"id":19427,"nodeType":"Block","src":"13058:99:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c6164647265737329","id":19420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13108:28:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768","typeString":"literal_string \"log(string,string,address)\""},"value":"log(string,string,address)"},{"id":19421,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19410,"src":"13138:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19422,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19412,"src":"13142:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19423,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19414,"src":"13146:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768","typeString":"literal_string \"log(string,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19418,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13084:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13088:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13084:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13084:65:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19417,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"13068:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13068:82:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19426,"nodeType":"ExpressionStatement","src":"13068:82:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12992:3:16","parameters":{"id":19415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19410,"mutability":"mutable","name":"p0","nameLocation":"13010:2:16","nodeType":"VariableDeclaration","scope":19428,"src":"12996:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19409,"name":"string","nodeType":"ElementaryTypeName","src":"12996:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19412,"mutability":"mutable","name":"p1","nameLocation":"13028:2:16","nodeType":"VariableDeclaration","scope":19428,"src":"13014:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19411,"name":"string","nodeType":"ElementaryTypeName","src":"13014:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19414,"mutability":"mutable","name":"p2","nameLocation":"13040:2:16","nodeType":"VariableDeclaration","scope":19428,"src":"13032:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19413,"name":"address","nodeType":"ElementaryTypeName","src":"13032:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12995:48:16"},"returnParameters":{"id":19416,"nodeType":"ParameterList","parameters":[],"src":"13058:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19448,"nodeType":"FunctionDefinition","src":"13163:163:16","nodes":[],"body":{"id":19447,"nodeType":"Block","src":"13229:97:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e7432353629","id":19440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13279:26:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_c95958d6bc6e492868f9bea34fa0d5d3bf60736d44598880e7a9a99746b5d26a","typeString":"literal_string \"log(string,bool,uint256)\""},"value":"log(string,bool,uint256)"},{"id":19441,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19430,"src":"13307:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19442,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19432,"src":"13311:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19443,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19434,"src":"13315:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c95958d6bc6e492868f9bea34fa0d5d3bf60736d44598880e7a9a99746b5d26a","typeString":"literal_string \"log(string,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19438,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13255:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19439,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13259:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13255:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13255:63:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19437,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"13239:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13239:80:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19446,"nodeType":"ExpressionStatement","src":"13239:80:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13172:3:16","parameters":{"id":19435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19430,"mutability":"mutable","name":"p0","nameLocation":"13190:2:16","nodeType":"VariableDeclaration","scope":19448,"src":"13176:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19429,"name":"string","nodeType":"ElementaryTypeName","src":"13176:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19432,"mutability":"mutable","name":"p1","nameLocation":"13199:2:16","nodeType":"VariableDeclaration","scope":19448,"src":"13194:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19431,"name":"bool","nodeType":"ElementaryTypeName","src":"13194:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19434,"mutability":"mutable","name":"p2","nameLocation":"13211:2:16","nodeType":"VariableDeclaration","scope":19448,"src":"13203:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19433,"name":"uint256","nodeType":"ElementaryTypeName","src":"13203:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13175:39:16"},"returnParameters":{"id":19436,"nodeType":"ParameterList","parameters":[],"src":"13229:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19468,"nodeType":"FunctionDefinition","src":"13332:168:16","nodes":[],"body":{"id":19467,"nodeType":"Block","src":"13404:96:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e6729","id":19460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13454:25:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7","typeString":"literal_string \"log(string,bool,string)\""},"value":"log(string,bool,string)"},{"id":19461,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19450,"src":"13481:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19462,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19452,"src":"13485:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19463,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19454,"src":"13489:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7","typeString":"literal_string \"log(string,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19458,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13430:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19459,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13434:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13430:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13430:62:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19457,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"13414:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13414:79:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19466,"nodeType":"ExpressionStatement","src":"13414:79:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13341:3:16","parameters":{"id":19455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19450,"mutability":"mutable","name":"p0","nameLocation":"13359:2:16","nodeType":"VariableDeclaration","scope":19468,"src":"13345:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19449,"name":"string","nodeType":"ElementaryTypeName","src":"13345:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19452,"mutability":"mutable","name":"p1","nameLocation":"13368:2:16","nodeType":"VariableDeclaration","scope":19468,"src":"13363:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19451,"name":"bool","nodeType":"ElementaryTypeName","src":"13363:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19454,"mutability":"mutable","name":"p2","nameLocation":"13386:2:16","nodeType":"VariableDeclaration","scope":19468,"src":"13372:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19453,"name":"string","nodeType":"ElementaryTypeName","src":"13372:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13344:45:16"},"returnParameters":{"id":19456,"nodeType":"ParameterList","parameters":[],"src":"13404:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19488,"nodeType":"FunctionDefinition","src":"13506:157:16","nodes":[],"body":{"id":19487,"nodeType":"Block","src":"13569:94:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c29","id":19480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13619:23:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d","typeString":"literal_string \"log(string,bool,bool)\""},"value":"log(string,bool,bool)"},{"id":19481,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19470,"src":"13644:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19482,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19472,"src":"13648:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19483,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19474,"src":"13652:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d","typeString":"literal_string \"log(string,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19478,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13595:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19479,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13599:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13595:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13595:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19477,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"13579:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13579:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19486,"nodeType":"ExpressionStatement","src":"13579:77:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13515:3:16","parameters":{"id":19475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19470,"mutability":"mutable","name":"p0","nameLocation":"13533:2:16","nodeType":"VariableDeclaration","scope":19488,"src":"13519:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19469,"name":"string","nodeType":"ElementaryTypeName","src":"13519:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19472,"mutability":"mutable","name":"p1","nameLocation":"13542:2:16","nodeType":"VariableDeclaration","scope":19488,"src":"13537:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19471,"name":"bool","nodeType":"ElementaryTypeName","src":"13537:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19474,"mutability":"mutable","name":"p2","nameLocation":"13551:2:16","nodeType":"VariableDeclaration","scope":19488,"src":"13546:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19473,"name":"bool","nodeType":"ElementaryTypeName","src":"13546:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13518:36:16"},"returnParameters":{"id":19476,"nodeType":"ParameterList","parameters":[],"src":"13569:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19508,"nodeType":"FunctionDefinition","src":"13669:163:16","nodes":[],"body":{"id":19507,"nodeType":"Block","src":"13735:97:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c6164647265737329","id":19500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13785:26:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f","typeString":"literal_string \"log(string,bool,address)\""},"value":"log(string,bool,address)"},{"id":19501,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19490,"src":"13813:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19502,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19492,"src":"13817:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19503,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19494,"src":"13821:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f","typeString":"literal_string \"log(string,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19498,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13761:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19499,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13765:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13761:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13761:63:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19497,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"13745:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13745:80:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19506,"nodeType":"ExpressionStatement","src":"13745:80:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13678:3:16","parameters":{"id":19495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19490,"mutability":"mutable","name":"p0","nameLocation":"13696:2:16","nodeType":"VariableDeclaration","scope":19508,"src":"13682:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19489,"name":"string","nodeType":"ElementaryTypeName","src":"13682:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19492,"mutability":"mutable","name":"p1","nameLocation":"13705:2:16","nodeType":"VariableDeclaration","scope":19508,"src":"13700:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19491,"name":"bool","nodeType":"ElementaryTypeName","src":"13700:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19494,"mutability":"mutable","name":"p2","nameLocation":"13717:2:16","nodeType":"VariableDeclaration","scope":19508,"src":"13709:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19493,"name":"address","nodeType":"ElementaryTypeName","src":"13709:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13681:39:16"},"returnParameters":{"id":19496,"nodeType":"ParameterList","parameters":[],"src":"13735:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19528,"nodeType":"FunctionDefinition","src":"13838:169:16","nodes":[],"body":{"id":19527,"nodeType":"Block","src":"13907:100:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e7432353629","id":19520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13957:29:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d26b92533630e908cb95a1b2ed09291c6aa98f8da7094a2325f8c86cd45e5e4","typeString":"literal_string \"log(string,address,uint256)\""},"value":"log(string,address,uint256)"},{"id":19521,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19510,"src":"13988:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19522,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19512,"src":"13992:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19523,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19514,"src":"13996:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d26b92533630e908cb95a1b2ed09291c6aa98f8da7094a2325f8c86cd45e5e4","typeString":"literal_string \"log(string,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19518,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13933:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19519,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13937:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13933:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13933:66:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19517,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"13917:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13917:83:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19526,"nodeType":"ExpressionStatement","src":"13917:83:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13847:3:16","parameters":{"id":19515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19510,"mutability":"mutable","name":"p0","nameLocation":"13865:2:16","nodeType":"VariableDeclaration","scope":19528,"src":"13851:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19509,"name":"string","nodeType":"ElementaryTypeName","src":"13851:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19512,"mutability":"mutable","name":"p1","nameLocation":"13877:2:16","nodeType":"VariableDeclaration","scope":19528,"src":"13869:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19511,"name":"address","nodeType":"ElementaryTypeName","src":"13869:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19514,"mutability":"mutable","name":"p2","nameLocation":"13889:2:16","nodeType":"VariableDeclaration","scope":19528,"src":"13881:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19513,"name":"uint256","nodeType":"ElementaryTypeName","src":"13881:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13850:42:16"},"returnParameters":{"id":19516,"nodeType":"ParameterList","parameters":[],"src":"13907:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19548,"nodeType":"FunctionDefinition","src":"14013:174:16","nodes":[],"body":{"id":19547,"nodeType":"Block","src":"14088:99:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e6729","id":19540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14138:28:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634","typeString":"literal_string \"log(string,address,string)\""},"value":"log(string,address,string)"},{"id":19541,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19530,"src":"14168:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19542,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19532,"src":"14172:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19543,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19534,"src":"14176:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634","typeString":"literal_string \"log(string,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19538,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14114:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19539,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14118:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14114:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14114:65:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19537,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"14098:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14098:82:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19546,"nodeType":"ExpressionStatement","src":"14098:82:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14022:3:16","parameters":{"id":19535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19530,"mutability":"mutable","name":"p0","nameLocation":"14040:2:16","nodeType":"VariableDeclaration","scope":19548,"src":"14026:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19529,"name":"string","nodeType":"ElementaryTypeName","src":"14026:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19532,"mutability":"mutable","name":"p1","nameLocation":"14052:2:16","nodeType":"VariableDeclaration","scope":19548,"src":"14044:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19531,"name":"address","nodeType":"ElementaryTypeName","src":"14044:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19534,"mutability":"mutable","name":"p2","nameLocation":"14070:2:16","nodeType":"VariableDeclaration","scope":19548,"src":"14056:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19533,"name":"string","nodeType":"ElementaryTypeName","src":"14056:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14025:48:16"},"returnParameters":{"id":19536,"nodeType":"ParameterList","parameters":[],"src":"14088:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19568,"nodeType":"FunctionDefinition","src":"14193:163:16","nodes":[],"body":{"id":19567,"nodeType":"Block","src":"14259:97:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c29","id":19560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14309:26:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8","typeString":"literal_string \"log(string,address,bool)\""},"value":"log(string,address,bool)"},{"id":19561,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19550,"src":"14337:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19562,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19552,"src":"14341:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19563,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19554,"src":"14345:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8","typeString":"literal_string \"log(string,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19558,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14285:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19559,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14289:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14285:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14285:63:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19557,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"14269:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14269:80:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19566,"nodeType":"ExpressionStatement","src":"14269:80:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14202:3:16","parameters":{"id":19555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19550,"mutability":"mutable","name":"p0","nameLocation":"14220:2:16","nodeType":"VariableDeclaration","scope":19568,"src":"14206:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19549,"name":"string","nodeType":"ElementaryTypeName","src":"14206:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19552,"mutability":"mutable","name":"p1","nameLocation":"14232:2:16","nodeType":"VariableDeclaration","scope":19568,"src":"14224:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19551,"name":"address","nodeType":"ElementaryTypeName","src":"14224:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19554,"mutability":"mutable","name":"p2","nameLocation":"14241:2:16","nodeType":"VariableDeclaration","scope":19568,"src":"14236:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19553,"name":"bool","nodeType":"ElementaryTypeName","src":"14236:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14205:39:16"},"returnParameters":{"id":19556,"nodeType":"ParameterList","parameters":[],"src":"14259:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19588,"nodeType":"FunctionDefinition","src":"14362:169:16","nodes":[],"body":{"id":19587,"nodeType":"Block","src":"14431:100:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c6164647265737329","id":19580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14481:29:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8","typeString":"literal_string \"log(string,address,address)\""},"value":"log(string,address,address)"},{"id":19581,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19570,"src":"14512:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19582,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19572,"src":"14516:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19583,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19574,"src":"14520:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8","typeString":"literal_string \"log(string,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19578,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14457:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19579,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14461:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14457:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14457:66:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19577,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"14441:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14441:83:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19586,"nodeType":"ExpressionStatement","src":"14441:83:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14371:3:16","parameters":{"id":19575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19570,"mutability":"mutable","name":"p0","nameLocation":"14389:2:16","nodeType":"VariableDeclaration","scope":19588,"src":"14375:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19569,"name":"string","nodeType":"ElementaryTypeName","src":"14375:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19572,"mutability":"mutable","name":"p1","nameLocation":"14401:2:16","nodeType":"VariableDeclaration","scope":19588,"src":"14393:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19571,"name":"address","nodeType":"ElementaryTypeName","src":"14393:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19574,"mutability":"mutable","name":"p2","nameLocation":"14413:2:16","nodeType":"VariableDeclaration","scope":19588,"src":"14405:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19573,"name":"address","nodeType":"ElementaryTypeName","src":"14405:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14374:42:16"},"returnParameters":{"id":19576,"nodeType":"ParameterList","parameters":[],"src":"14431:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19608,"nodeType":"FunctionDefinition","src":"14537:158:16","nodes":[],"body":{"id":19607,"nodeType":"Block","src":"14597:98:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e7432353629","id":19600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14647:27:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_371033677da72158a60d6dc6ec9fa4683ad37ad854670ba3fcf814603cf8bb28","typeString":"literal_string \"log(bool,uint256,uint256)\""},"value":"log(bool,uint256,uint256)"},{"id":19601,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19590,"src":"14676:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19602,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19592,"src":"14680:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19603,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19594,"src":"14684:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_371033677da72158a60d6dc6ec9fa4683ad37ad854670ba3fcf814603cf8bb28","typeString":"literal_string \"log(bool,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19598,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14623:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14627:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14623:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14623:64:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19597,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"14607:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14607:81:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19606,"nodeType":"ExpressionStatement","src":"14607:81:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14546:3:16","parameters":{"id":19595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19590,"mutability":"mutable","name":"p0","nameLocation":"14555:2:16","nodeType":"VariableDeclaration","scope":19608,"src":"14550:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19589,"name":"bool","nodeType":"ElementaryTypeName","src":"14550:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19592,"mutability":"mutable","name":"p1","nameLocation":"14567:2:16","nodeType":"VariableDeclaration","scope":19608,"src":"14559:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19591,"name":"uint256","nodeType":"ElementaryTypeName","src":"14559:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19594,"mutability":"mutable","name":"p2","nameLocation":"14579:2:16","nodeType":"VariableDeclaration","scope":19608,"src":"14571:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19593,"name":"uint256","nodeType":"ElementaryTypeName","src":"14571:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14549:33:16"},"returnParameters":{"id":19596,"nodeType":"ParameterList","parameters":[],"src":"14597:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19628,"nodeType":"FunctionDefinition","src":"14701:163:16","nodes":[],"body":{"id":19627,"nodeType":"Block","src":"14767:97:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e6729","id":19620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14817:26:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3fc3970359ec5bcd4a409af812c658e77b7983043c9e7299db566fbd8131447","typeString":"literal_string \"log(bool,uint256,string)\""},"value":"log(bool,uint256,string)"},{"id":19621,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19610,"src":"14845:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19622,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19612,"src":"14849:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19623,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19614,"src":"14853:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3fc3970359ec5bcd4a409af812c658e77b7983043c9e7299db566fbd8131447","typeString":"literal_string \"log(bool,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19618,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14793:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19619,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14797:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14793:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14793:63:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19617,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"14777:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14777:80:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19626,"nodeType":"ExpressionStatement","src":"14777:80:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14710:3:16","parameters":{"id":19615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19610,"mutability":"mutable","name":"p0","nameLocation":"14719:2:16","nodeType":"VariableDeclaration","scope":19628,"src":"14714:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19609,"name":"bool","nodeType":"ElementaryTypeName","src":"14714:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19612,"mutability":"mutable","name":"p1","nameLocation":"14731:2:16","nodeType":"VariableDeclaration","scope":19628,"src":"14723:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19611,"name":"uint256","nodeType":"ElementaryTypeName","src":"14723:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19614,"mutability":"mutable","name":"p2","nameLocation":"14749:2:16","nodeType":"VariableDeclaration","scope":19628,"src":"14735:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19613,"name":"string","nodeType":"ElementaryTypeName","src":"14735:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14713:39:16"},"returnParameters":{"id":19616,"nodeType":"ParameterList","parameters":[],"src":"14767:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19648,"nodeType":"FunctionDefinition","src":"14870:152:16","nodes":[],"body":{"id":19647,"nodeType":"Block","src":"14927:95:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c29","id":19640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14977:24:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_e8defba9dac8a3ed4ad0f711b733171fd223b5d127b3485540d69bec05995a26","typeString":"literal_string \"log(bool,uint256,bool)\""},"value":"log(bool,uint256,bool)"},{"id":19641,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19630,"src":"15003:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19642,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19632,"src":"15007:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19643,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19634,"src":"15011:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8defba9dac8a3ed4ad0f711b733171fd223b5d127b3485540d69bec05995a26","typeString":"literal_string \"log(bool,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19638,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14953:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19639,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14957:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14953:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14953:61:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19637,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"14937:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14937:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19646,"nodeType":"ExpressionStatement","src":"14937:78:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14879:3:16","parameters":{"id":19635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19630,"mutability":"mutable","name":"p0","nameLocation":"14888:2:16","nodeType":"VariableDeclaration","scope":19648,"src":"14883:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19629,"name":"bool","nodeType":"ElementaryTypeName","src":"14883:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19632,"mutability":"mutable","name":"p1","nameLocation":"14900:2:16","nodeType":"VariableDeclaration","scope":19648,"src":"14892:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19631,"name":"uint256","nodeType":"ElementaryTypeName","src":"14892:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19634,"mutability":"mutable","name":"p2","nameLocation":"14909:2:16","nodeType":"VariableDeclaration","scope":19648,"src":"14904:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19633,"name":"bool","nodeType":"ElementaryTypeName","src":"14904:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14882:30:16"},"returnParameters":{"id":19636,"nodeType":"ParameterList","parameters":[],"src":"14927:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19668,"nodeType":"FunctionDefinition","src":"15028:158:16","nodes":[],"body":{"id":19667,"nodeType":"Block","src":"15088:98:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c6164647265737329","id":19660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15138:27:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_088ef9d2f4d01d13401423c19b7f189200a7ad3f567d9e20f37299f94f92f574","typeString":"literal_string \"log(bool,uint256,address)\""},"value":"log(bool,uint256,address)"},{"id":19661,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19650,"src":"15167:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19662,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19652,"src":"15171:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19663,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19654,"src":"15175:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_088ef9d2f4d01d13401423c19b7f189200a7ad3f567d9e20f37299f94f92f574","typeString":"literal_string \"log(bool,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19658,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15114:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19659,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15118:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15114:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15114:64:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19657,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"15098:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15098:81:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19666,"nodeType":"ExpressionStatement","src":"15098:81:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15037:3:16","parameters":{"id":19655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19650,"mutability":"mutable","name":"p0","nameLocation":"15046:2:16","nodeType":"VariableDeclaration","scope":19668,"src":"15041:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19649,"name":"bool","nodeType":"ElementaryTypeName","src":"15041:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19652,"mutability":"mutable","name":"p1","nameLocation":"15058:2:16","nodeType":"VariableDeclaration","scope":19668,"src":"15050:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19651,"name":"uint256","nodeType":"ElementaryTypeName","src":"15050:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19654,"mutability":"mutable","name":"p2","nameLocation":"15070:2:16","nodeType":"VariableDeclaration","scope":19668,"src":"15062:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19653,"name":"address","nodeType":"ElementaryTypeName","src":"15062:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15040:33:16"},"returnParameters":{"id":19656,"nodeType":"ParameterList","parameters":[],"src":"15088:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19688,"nodeType":"FunctionDefinition","src":"15192:163:16","nodes":[],"body":{"id":19687,"nodeType":"Block","src":"15258:97:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e7432353629","id":19680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15308:26:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_1093ee11e671928331708700100b356c86a8494f33b170ddcffd95462a0adf64","typeString":"literal_string \"log(bool,string,uint256)\""},"value":"log(bool,string,uint256)"},{"id":19681,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19670,"src":"15336:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19682,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19672,"src":"15340:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19683,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19674,"src":"15344:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1093ee11e671928331708700100b356c86a8494f33b170ddcffd95462a0adf64","typeString":"literal_string \"log(bool,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19678,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15284:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15288:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15284:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15284:63:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19677,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"15268:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15268:80:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19686,"nodeType":"ExpressionStatement","src":"15268:80:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15201:3:16","parameters":{"id":19675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19670,"mutability":"mutable","name":"p0","nameLocation":"15210:2:16","nodeType":"VariableDeclaration","scope":19688,"src":"15205:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19669,"name":"bool","nodeType":"ElementaryTypeName","src":"15205:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19672,"mutability":"mutable","name":"p1","nameLocation":"15228:2:16","nodeType":"VariableDeclaration","scope":19688,"src":"15214:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19671,"name":"string","nodeType":"ElementaryTypeName","src":"15214:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19674,"mutability":"mutable","name":"p2","nameLocation":"15240:2:16","nodeType":"VariableDeclaration","scope":19688,"src":"15232:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19673,"name":"uint256","nodeType":"ElementaryTypeName","src":"15232:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15204:39:16"},"returnParameters":{"id":19676,"nodeType":"ParameterList","parameters":[],"src":"15258:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19708,"nodeType":"FunctionDefinition","src":"15361:168:16","nodes":[],"body":{"id":19707,"nodeType":"Block","src":"15433:96:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e6729","id":19700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15483:25:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102","typeString":"literal_string \"log(bool,string,string)\""},"value":"log(bool,string,string)"},{"id":19701,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19690,"src":"15510:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19702,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19692,"src":"15514:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19703,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19694,"src":"15518:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102","typeString":"literal_string \"log(bool,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19698,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15459:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19699,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15463:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15459:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15459:62:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19697,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"15443:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15443:79:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19706,"nodeType":"ExpressionStatement","src":"15443:79:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15370:3:16","parameters":{"id":19695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19690,"mutability":"mutable","name":"p0","nameLocation":"15379:2:16","nodeType":"VariableDeclaration","scope":19708,"src":"15374:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19689,"name":"bool","nodeType":"ElementaryTypeName","src":"15374:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19692,"mutability":"mutable","name":"p1","nameLocation":"15397:2:16","nodeType":"VariableDeclaration","scope":19708,"src":"15383:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19691,"name":"string","nodeType":"ElementaryTypeName","src":"15383:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19694,"mutability":"mutable","name":"p2","nameLocation":"15415:2:16","nodeType":"VariableDeclaration","scope":19708,"src":"15401:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19693,"name":"string","nodeType":"ElementaryTypeName","src":"15401:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15373:45:16"},"returnParameters":{"id":19696,"nodeType":"ParameterList","parameters":[],"src":"15433:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19728,"nodeType":"FunctionDefinition","src":"15535:157:16","nodes":[],"body":{"id":19727,"nodeType":"Block","src":"15598:94:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c29","id":19720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15648:23:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa","typeString":"literal_string \"log(bool,string,bool)\""},"value":"log(bool,string,bool)"},{"id":19721,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19710,"src":"15673:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19722,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19712,"src":"15677:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19723,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19714,"src":"15681:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa","typeString":"literal_string \"log(bool,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19718,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15624:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15628:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15624:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15624:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19717,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"15608:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15608:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19726,"nodeType":"ExpressionStatement","src":"15608:77:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15544:3:16","parameters":{"id":19715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19710,"mutability":"mutable","name":"p0","nameLocation":"15553:2:16","nodeType":"VariableDeclaration","scope":19728,"src":"15548:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19709,"name":"bool","nodeType":"ElementaryTypeName","src":"15548:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19712,"mutability":"mutable","name":"p1","nameLocation":"15571:2:16","nodeType":"VariableDeclaration","scope":19728,"src":"15557:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19711,"name":"string","nodeType":"ElementaryTypeName","src":"15557:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19714,"mutability":"mutable","name":"p2","nameLocation":"15580:2:16","nodeType":"VariableDeclaration","scope":19728,"src":"15575:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19713,"name":"bool","nodeType":"ElementaryTypeName","src":"15575:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15547:36:16"},"returnParameters":{"id":19716,"nodeType":"ParameterList","parameters":[],"src":"15598:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19748,"nodeType":"FunctionDefinition","src":"15698:163:16","nodes":[],"body":{"id":19747,"nodeType":"Block","src":"15764:97:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c6164647265737329","id":19740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15814:26:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79","typeString":"literal_string \"log(bool,string,address)\""},"value":"log(bool,string,address)"},{"id":19741,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19730,"src":"15842:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19742,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19732,"src":"15846:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19743,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19734,"src":"15850:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79","typeString":"literal_string \"log(bool,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19738,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15790:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19739,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15794:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15790:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15790:63:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19737,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"15774:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15774:80:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19746,"nodeType":"ExpressionStatement","src":"15774:80:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15707:3:16","parameters":{"id":19735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19730,"mutability":"mutable","name":"p0","nameLocation":"15716:2:16","nodeType":"VariableDeclaration","scope":19748,"src":"15711:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19729,"name":"bool","nodeType":"ElementaryTypeName","src":"15711:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19732,"mutability":"mutable","name":"p1","nameLocation":"15734:2:16","nodeType":"VariableDeclaration","scope":19748,"src":"15720:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19731,"name":"string","nodeType":"ElementaryTypeName","src":"15720:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19734,"mutability":"mutable","name":"p2","nameLocation":"15746:2:16","nodeType":"VariableDeclaration","scope":19748,"src":"15738:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19733,"name":"address","nodeType":"ElementaryTypeName","src":"15738:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15710:39:16"},"returnParameters":{"id":19736,"nodeType":"ParameterList","parameters":[],"src":"15764:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19768,"nodeType":"FunctionDefinition","src":"15867:152:16","nodes":[],"body":{"id":19767,"nodeType":"Block","src":"15924:95:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e7432353629","id":19760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15974:24:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_12f216023a0243e7ece19b75fc4619b59ea663e0aefdf2e4b1faa16a9fa3a211","typeString":"literal_string \"log(bool,bool,uint256)\""},"value":"log(bool,bool,uint256)"},{"id":19761,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19750,"src":"16000:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19762,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19752,"src":"16004:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19763,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19754,"src":"16008:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_12f216023a0243e7ece19b75fc4619b59ea663e0aefdf2e4b1faa16a9fa3a211","typeString":"literal_string \"log(bool,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19758,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15950:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19759,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15954:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15950:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15950:61:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19757,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"15934:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15934:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19766,"nodeType":"ExpressionStatement","src":"15934:78:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15876:3:16","parameters":{"id":19755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19750,"mutability":"mutable","name":"p0","nameLocation":"15885:2:16","nodeType":"VariableDeclaration","scope":19768,"src":"15880:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19749,"name":"bool","nodeType":"ElementaryTypeName","src":"15880:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19752,"mutability":"mutable","name":"p1","nameLocation":"15894:2:16","nodeType":"VariableDeclaration","scope":19768,"src":"15889:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19751,"name":"bool","nodeType":"ElementaryTypeName","src":"15889:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19754,"mutability":"mutable","name":"p2","nameLocation":"15906:2:16","nodeType":"VariableDeclaration","scope":19768,"src":"15898:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19753,"name":"uint256","nodeType":"ElementaryTypeName","src":"15898:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15879:30:16"},"returnParameters":{"id":19756,"nodeType":"ParameterList","parameters":[],"src":"15924:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19788,"nodeType":"FunctionDefinition","src":"16025:157:16","nodes":[],"body":{"id":19787,"nodeType":"Block","src":"16088:94:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e6729","id":19780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16138:23:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc","typeString":"literal_string \"log(bool,bool,string)\""},"value":"log(bool,bool,string)"},{"id":19781,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19770,"src":"16163:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19782,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19772,"src":"16167:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19783,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19774,"src":"16171:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc","typeString":"literal_string \"log(bool,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19778,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16114:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16118:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16114:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16114:60:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19777,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"16098:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16098:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19786,"nodeType":"ExpressionStatement","src":"16098:77:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16034:3:16","parameters":{"id":19775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19770,"mutability":"mutable","name":"p0","nameLocation":"16043:2:16","nodeType":"VariableDeclaration","scope":19788,"src":"16038:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19769,"name":"bool","nodeType":"ElementaryTypeName","src":"16038:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19772,"mutability":"mutable","name":"p1","nameLocation":"16052:2:16","nodeType":"VariableDeclaration","scope":19788,"src":"16047:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19771,"name":"bool","nodeType":"ElementaryTypeName","src":"16047:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19774,"mutability":"mutable","name":"p2","nameLocation":"16070:2:16","nodeType":"VariableDeclaration","scope":19788,"src":"16056:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19773,"name":"string","nodeType":"ElementaryTypeName","src":"16056:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16037:36:16"},"returnParameters":{"id":19776,"nodeType":"ParameterList","parameters":[],"src":"16088:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19808,"nodeType":"FunctionDefinition","src":"16188:146:16","nodes":[],"body":{"id":19807,"nodeType":"Block","src":"16242:92:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c29","id":19800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16292:21:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590","typeString":"literal_string \"log(bool,bool,bool)\""},"value":"log(bool,bool,bool)"},{"id":19801,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19790,"src":"16315:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19802,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19792,"src":"16319:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19803,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19794,"src":"16323:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590","typeString":"literal_string \"log(bool,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19798,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16268:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19799,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16272:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16268:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16268:58:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19797,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"16252:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16252:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19806,"nodeType":"ExpressionStatement","src":"16252:75:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16197:3:16","parameters":{"id":19795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19790,"mutability":"mutable","name":"p0","nameLocation":"16206:2:16","nodeType":"VariableDeclaration","scope":19808,"src":"16201:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19789,"name":"bool","nodeType":"ElementaryTypeName","src":"16201:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19792,"mutability":"mutable","name":"p1","nameLocation":"16215:2:16","nodeType":"VariableDeclaration","scope":19808,"src":"16210:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19791,"name":"bool","nodeType":"ElementaryTypeName","src":"16210:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19794,"mutability":"mutable","name":"p2","nameLocation":"16224:2:16","nodeType":"VariableDeclaration","scope":19808,"src":"16219:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19793,"name":"bool","nodeType":"ElementaryTypeName","src":"16219:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16200:27:16"},"returnParameters":{"id":19796,"nodeType":"ParameterList","parameters":[],"src":"16242:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19828,"nodeType":"FunctionDefinition","src":"16340:152:16","nodes":[],"body":{"id":19827,"nodeType":"Block","src":"16397:95:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c6164647265737329","id":19820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16447:24:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81","typeString":"literal_string \"log(bool,bool,address)\""},"value":"log(bool,bool,address)"},{"id":19821,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19810,"src":"16473:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19822,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19812,"src":"16477:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19823,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19814,"src":"16481:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81","typeString":"literal_string \"log(bool,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19818,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16423:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19819,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16427:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16423:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16423:61:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19817,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"16407:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16407:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19826,"nodeType":"ExpressionStatement","src":"16407:78:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16349:3:16","parameters":{"id":19815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19810,"mutability":"mutable","name":"p0","nameLocation":"16358:2:16","nodeType":"VariableDeclaration","scope":19828,"src":"16353:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19809,"name":"bool","nodeType":"ElementaryTypeName","src":"16353:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19812,"mutability":"mutable","name":"p1","nameLocation":"16367:2:16","nodeType":"VariableDeclaration","scope":19828,"src":"16362:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19811,"name":"bool","nodeType":"ElementaryTypeName","src":"16362:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19814,"mutability":"mutable","name":"p2","nameLocation":"16379:2:16","nodeType":"VariableDeclaration","scope":19828,"src":"16371:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19813,"name":"address","nodeType":"ElementaryTypeName","src":"16371:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16352:30:16"},"returnParameters":{"id":19816,"nodeType":"ParameterList","parameters":[],"src":"16397:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19848,"nodeType":"FunctionDefinition","src":"16498:158:16","nodes":[],"body":{"id":19847,"nodeType":"Block","src":"16558:98:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e7432353629","id":19840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16608:27:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f7b9afb4f9ee9df3fee50155d0accfa23536f443bcbc89ec11f75df422d05ac","typeString":"literal_string \"log(bool,address,uint256)\""},"value":"log(bool,address,uint256)"},{"id":19841,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19830,"src":"16637:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19842,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19832,"src":"16641:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19843,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19834,"src":"16645:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f7b9afb4f9ee9df3fee50155d0accfa23536f443bcbc89ec11f75df422d05ac","typeString":"literal_string \"log(bool,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19838,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16584:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16588:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16584:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16584:64:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19837,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"16568:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16568:81:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19846,"nodeType":"ExpressionStatement","src":"16568:81:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16507:3:16","parameters":{"id":19835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19830,"mutability":"mutable","name":"p0","nameLocation":"16516:2:16","nodeType":"VariableDeclaration","scope":19848,"src":"16511:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19829,"name":"bool","nodeType":"ElementaryTypeName","src":"16511:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19832,"mutability":"mutable","name":"p1","nameLocation":"16528:2:16","nodeType":"VariableDeclaration","scope":19848,"src":"16520:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19831,"name":"address","nodeType":"ElementaryTypeName","src":"16520:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19834,"mutability":"mutable","name":"p2","nameLocation":"16540:2:16","nodeType":"VariableDeclaration","scope":19848,"src":"16532:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19833,"name":"uint256","nodeType":"ElementaryTypeName","src":"16532:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16510:33:16"},"returnParameters":{"id":19836,"nodeType":"ParameterList","parameters":[],"src":"16558:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19868,"nodeType":"FunctionDefinition","src":"16662:163:16","nodes":[],"body":{"id":19867,"nodeType":"Block","src":"16728:97:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e6729","id":19860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16778:26:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d","typeString":"literal_string \"log(bool,address,string)\""},"value":"log(bool,address,string)"},{"id":19861,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19850,"src":"16806:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19862,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19852,"src":"16810:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19863,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19854,"src":"16814:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d","typeString":"literal_string \"log(bool,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19858,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16754:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19859,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16758:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16754:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16754:63:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19857,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"16738:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16738:80:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19866,"nodeType":"ExpressionStatement","src":"16738:80:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16671:3:16","parameters":{"id":19855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19850,"mutability":"mutable","name":"p0","nameLocation":"16680:2:16","nodeType":"VariableDeclaration","scope":19868,"src":"16675:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19849,"name":"bool","nodeType":"ElementaryTypeName","src":"16675:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19852,"mutability":"mutable","name":"p1","nameLocation":"16692:2:16","nodeType":"VariableDeclaration","scope":19868,"src":"16684:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19851,"name":"address","nodeType":"ElementaryTypeName","src":"16684:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19854,"mutability":"mutable","name":"p2","nameLocation":"16710:2:16","nodeType":"VariableDeclaration","scope":19868,"src":"16696:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19853,"name":"string","nodeType":"ElementaryTypeName","src":"16696:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16674:39:16"},"returnParameters":{"id":19856,"nodeType":"ParameterList","parameters":[],"src":"16728:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19888,"nodeType":"FunctionDefinition","src":"16831:152:16","nodes":[],"body":{"id":19887,"nodeType":"Block","src":"16888:95:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c29","id":19880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16938:24:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908","typeString":"literal_string \"log(bool,address,bool)\""},"value":"log(bool,address,bool)"},{"id":19881,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19870,"src":"16964:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19882,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19872,"src":"16968:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19883,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19874,"src":"16972:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908","typeString":"literal_string \"log(bool,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19878,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16914:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19879,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16918:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16914:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16914:61:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19877,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"16898:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16898:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19886,"nodeType":"ExpressionStatement","src":"16898:78:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16840:3:16","parameters":{"id":19875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19870,"mutability":"mutable","name":"p0","nameLocation":"16849:2:16","nodeType":"VariableDeclaration","scope":19888,"src":"16844:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19869,"name":"bool","nodeType":"ElementaryTypeName","src":"16844:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19872,"mutability":"mutable","name":"p1","nameLocation":"16861:2:16","nodeType":"VariableDeclaration","scope":19888,"src":"16853:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19871,"name":"address","nodeType":"ElementaryTypeName","src":"16853:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19874,"mutability":"mutable","name":"p2","nameLocation":"16870:2:16","nodeType":"VariableDeclaration","scope":19888,"src":"16865:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19873,"name":"bool","nodeType":"ElementaryTypeName","src":"16865:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16843:30:16"},"returnParameters":{"id":19876,"nodeType":"ParameterList","parameters":[],"src":"16888:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19908,"nodeType":"FunctionDefinition","src":"16989:158:16","nodes":[],"body":{"id":19907,"nodeType":"Block","src":"17049:98:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c6164647265737329","id":19900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17099:27:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265","typeString":"literal_string \"log(bool,address,address)\""},"value":"log(bool,address,address)"},{"id":19901,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19890,"src":"17128:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19902,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19892,"src":"17132:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19903,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19894,"src":"17136:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265","typeString":"literal_string \"log(bool,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19898,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17075:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19899,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17079:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17075:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17075:64:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19897,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"17059:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17059:81:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19906,"nodeType":"ExpressionStatement","src":"17059:81:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16998:3:16","parameters":{"id":19895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19890,"mutability":"mutable","name":"p0","nameLocation":"17007:2:16","nodeType":"VariableDeclaration","scope":19908,"src":"17002:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19889,"name":"bool","nodeType":"ElementaryTypeName","src":"17002:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19892,"mutability":"mutable","name":"p1","nameLocation":"17019:2:16","nodeType":"VariableDeclaration","scope":19908,"src":"17011:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19891,"name":"address","nodeType":"ElementaryTypeName","src":"17011:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19894,"mutability":"mutable","name":"p2","nameLocation":"17031:2:16","nodeType":"VariableDeclaration","scope":19908,"src":"17023:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19893,"name":"address","nodeType":"ElementaryTypeName","src":"17023:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17001:33:16"},"returnParameters":{"id":19896,"nodeType":"ParameterList","parameters":[],"src":"17049:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19928,"nodeType":"FunctionDefinition","src":"17153:164:16","nodes":[],"body":{"id":19927,"nodeType":"Block","src":"17216:101:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e7432353629","id":19920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17266:30:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_b69bcaf6823fa467c87c127df102001d1ca4e8a6dc08cab8aa1e5ab4a0ae8c76","typeString":"literal_string \"log(address,uint256,uint256)\""},"value":"log(address,uint256,uint256)"},{"id":19921,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19910,"src":"17298:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19922,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19912,"src":"17302:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19923,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19914,"src":"17306:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b69bcaf6823fa467c87c127df102001d1ca4e8a6dc08cab8aa1e5ab4a0ae8c76","typeString":"literal_string \"log(address,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19918,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17242:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19919,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17246:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17242:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17242:67:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19917,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"17226:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17226:84:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19926,"nodeType":"ExpressionStatement","src":"17226:84:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17162:3:16","parameters":{"id":19915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19910,"mutability":"mutable","name":"p0","nameLocation":"17174:2:16","nodeType":"VariableDeclaration","scope":19928,"src":"17166:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19909,"name":"address","nodeType":"ElementaryTypeName","src":"17166:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19912,"mutability":"mutable","name":"p1","nameLocation":"17186:2:16","nodeType":"VariableDeclaration","scope":19928,"src":"17178:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19911,"name":"uint256","nodeType":"ElementaryTypeName","src":"17178:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19914,"mutability":"mutable","name":"p2","nameLocation":"17198:2:16","nodeType":"VariableDeclaration","scope":19928,"src":"17190:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19913,"name":"uint256","nodeType":"ElementaryTypeName","src":"17190:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17165:36:16"},"returnParameters":{"id":19916,"nodeType":"ParameterList","parameters":[],"src":"17216:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19948,"nodeType":"FunctionDefinition","src":"17323:169:16","nodes":[],"body":{"id":19947,"nodeType":"Block","src":"17392:100:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e6729","id":19940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17442:29:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1f2e8aa7ff0c088860d7b3f0d1dc288d8e8a07808525cc31a5691f1bc0e149d","typeString":"literal_string \"log(address,uint256,string)\""},"value":"log(address,uint256,string)"},{"id":19941,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19930,"src":"17473:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19942,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19932,"src":"17477:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19943,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19934,"src":"17481:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1f2e8aa7ff0c088860d7b3f0d1dc288d8e8a07808525cc31a5691f1bc0e149d","typeString":"literal_string \"log(address,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19938,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17418:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17422:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17418:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17418:66:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19937,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"17402:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17402:83:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19946,"nodeType":"ExpressionStatement","src":"17402:83:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17332:3:16","parameters":{"id":19935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19930,"mutability":"mutable","name":"p0","nameLocation":"17344:2:16","nodeType":"VariableDeclaration","scope":19948,"src":"17336:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19929,"name":"address","nodeType":"ElementaryTypeName","src":"17336:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19932,"mutability":"mutable","name":"p1","nameLocation":"17356:2:16","nodeType":"VariableDeclaration","scope":19948,"src":"17348:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19931,"name":"uint256","nodeType":"ElementaryTypeName","src":"17348:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19934,"mutability":"mutable","name":"p2","nameLocation":"17374:2:16","nodeType":"VariableDeclaration","scope":19948,"src":"17360:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19933,"name":"string","nodeType":"ElementaryTypeName","src":"17360:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17335:42:16"},"returnParameters":{"id":19936,"nodeType":"ParameterList","parameters":[],"src":"17392:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19968,"nodeType":"FunctionDefinition","src":"17498:158:16","nodes":[],"body":{"id":19967,"nodeType":"Block","src":"17558:98:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c29","id":19960,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17608:27:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_678209a8f42181c670dc624bae130f552678a896a5cb06db485524796aca1390","typeString":"literal_string \"log(address,uint256,bool)\""},"value":"log(address,uint256,bool)"},{"id":19961,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19950,"src":"17637:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19962,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19952,"src":"17641:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19963,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19954,"src":"17645:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_678209a8f42181c670dc624bae130f552678a896a5cb06db485524796aca1390","typeString":"literal_string \"log(address,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19958,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17584:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19959,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17588:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17584:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17584:64:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19957,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"17568:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17568:81:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19966,"nodeType":"ExpressionStatement","src":"17568:81:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17507:3:16","parameters":{"id":19955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19950,"mutability":"mutable","name":"p0","nameLocation":"17519:2:16","nodeType":"VariableDeclaration","scope":19968,"src":"17511:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19949,"name":"address","nodeType":"ElementaryTypeName","src":"17511:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19952,"mutability":"mutable","name":"p1","nameLocation":"17531:2:16","nodeType":"VariableDeclaration","scope":19968,"src":"17523:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19951,"name":"uint256","nodeType":"ElementaryTypeName","src":"17523:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19954,"mutability":"mutable","name":"p2","nameLocation":"17540:2:16","nodeType":"VariableDeclaration","scope":19968,"src":"17535:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19953,"name":"bool","nodeType":"ElementaryTypeName","src":"17535:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17510:33:16"},"returnParameters":{"id":19956,"nodeType":"ParameterList","parameters":[],"src":"17558:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":19988,"nodeType":"FunctionDefinition","src":"17662:164:16","nodes":[],"body":{"id":19987,"nodeType":"Block","src":"17725:101:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c6164647265737329","id":19980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17775:30:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_7bc0d848840f8a2b7df87b30af9a8d9856aea86658fd890c9e8abce72cda0b36","typeString":"literal_string \"log(address,uint256,address)\""},"value":"log(address,uint256,address)"},{"id":19981,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19970,"src":"17807:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19982,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19972,"src":"17811:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19983,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19974,"src":"17815:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7bc0d848840f8a2b7df87b30af9a8d9856aea86658fd890c9e8abce72cda0b36","typeString":"literal_string \"log(address,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19978,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17751:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17755:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17751:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17751:67:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19977,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"17735:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17735:84:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19986,"nodeType":"ExpressionStatement","src":"17735:84:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17671:3:16","parameters":{"id":19975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19970,"mutability":"mutable","name":"p0","nameLocation":"17683:2:16","nodeType":"VariableDeclaration","scope":19988,"src":"17675:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19969,"name":"address","nodeType":"ElementaryTypeName","src":"17675:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19972,"mutability":"mutable","name":"p1","nameLocation":"17695:2:16","nodeType":"VariableDeclaration","scope":19988,"src":"17687:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19971,"name":"uint256","nodeType":"ElementaryTypeName","src":"17687:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19974,"mutability":"mutable","name":"p2","nameLocation":"17707:2:16","nodeType":"VariableDeclaration","scope":19988,"src":"17699:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19973,"name":"address","nodeType":"ElementaryTypeName","src":"17699:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17674:36:16"},"returnParameters":{"id":19976,"nodeType":"ParameterList","parameters":[],"src":"17725:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20008,"nodeType":"FunctionDefinition","src":"17832:169:16","nodes":[],"body":{"id":20007,"nodeType":"Block","src":"17901:100:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e7432353629","id":20000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17951:29:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_67dd6ff15de5c635b9900811039f919659774d9843a07b7bcdfb1b54315e9200","typeString":"literal_string \"log(address,string,uint256)\""},"value":"log(address,string,uint256)"},{"id":20001,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19990,"src":"17982:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20002,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19992,"src":"17986:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20003,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19994,"src":"17990:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_67dd6ff15de5c635b9900811039f919659774d9843a07b7bcdfb1b54315e9200","typeString":"literal_string \"log(address,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19998,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17927:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19999,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17931:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17927:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17927:66:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19997,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"17911:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17911:83:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20006,"nodeType":"ExpressionStatement","src":"17911:83:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17841:3:16","parameters":{"id":19995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19990,"mutability":"mutable","name":"p0","nameLocation":"17853:2:16","nodeType":"VariableDeclaration","scope":20008,"src":"17845:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19989,"name":"address","nodeType":"ElementaryTypeName","src":"17845:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19992,"mutability":"mutable","name":"p1","nameLocation":"17871:2:16","nodeType":"VariableDeclaration","scope":20008,"src":"17857:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19991,"name":"string","nodeType":"ElementaryTypeName","src":"17857:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19994,"mutability":"mutable","name":"p2","nameLocation":"17883:2:16","nodeType":"VariableDeclaration","scope":20008,"src":"17875:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19993,"name":"uint256","nodeType":"ElementaryTypeName","src":"17875:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17844:42:16"},"returnParameters":{"id":19996,"nodeType":"ParameterList","parameters":[],"src":"17901:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20028,"nodeType":"FunctionDefinition","src":"18007:174:16","nodes":[],"body":{"id":20027,"nodeType":"Block","src":"18082:99:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e6729","id":20020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18132:28:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158","typeString":"literal_string \"log(address,string,string)\""},"value":"log(address,string,string)"},{"id":20021,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20010,"src":"18162:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20022,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20012,"src":"18166:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20023,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20014,"src":"18170:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158","typeString":"literal_string \"log(address,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20018,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18108:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20019,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18112:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18108:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18108:65:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20017,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"18092:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18092:82:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20026,"nodeType":"ExpressionStatement","src":"18092:82:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18016:3:16","parameters":{"id":20015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20010,"mutability":"mutable","name":"p0","nameLocation":"18028:2:16","nodeType":"VariableDeclaration","scope":20028,"src":"18020:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20009,"name":"address","nodeType":"ElementaryTypeName","src":"18020:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20012,"mutability":"mutable","name":"p1","nameLocation":"18046:2:16","nodeType":"VariableDeclaration","scope":20028,"src":"18032:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20011,"name":"string","nodeType":"ElementaryTypeName","src":"18032:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20014,"mutability":"mutable","name":"p2","nameLocation":"18064:2:16","nodeType":"VariableDeclaration","scope":20028,"src":"18050:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20013,"name":"string","nodeType":"ElementaryTypeName","src":"18050:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18019:48:16"},"returnParameters":{"id":20016,"nodeType":"ParameterList","parameters":[],"src":"18082:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20048,"nodeType":"FunctionDefinition","src":"18187:163:16","nodes":[],"body":{"id":20047,"nodeType":"Block","src":"18253:97:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c29","id":20040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18303:26:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96","typeString":"literal_string \"log(address,string,bool)\""},"value":"log(address,string,bool)"},{"id":20041,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20030,"src":"18331:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20042,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20032,"src":"18335:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20043,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20034,"src":"18339:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96","typeString":"literal_string \"log(address,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20038,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18279:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20039,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18283:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18279:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18279:63:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20037,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"18263:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18263:80:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20046,"nodeType":"ExpressionStatement","src":"18263:80:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18196:3:16","parameters":{"id":20035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20030,"mutability":"mutable","name":"p0","nameLocation":"18208:2:16","nodeType":"VariableDeclaration","scope":20048,"src":"18200:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20029,"name":"address","nodeType":"ElementaryTypeName","src":"18200:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20032,"mutability":"mutable","name":"p1","nameLocation":"18226:2:16","nodeType":"VariableDeclaration","scope":20048,"src":"18212:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20031,"name":"string","nodeType":"ElementaryTypeName","src":"18212:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20034,"mutability":"mutable","name":"p2","nameLocation":"18235:2:16","nodeType":"VariableDeclaration","scope":20048,"src":"18230:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20033,"name":"bool","nodeType":"ElementaryTypeName","src":"18230:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18199:39:16"},"returnParameters":{"id":20036,"nodeType":"ParameterList","parameters":[],"src":"18253:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20068,"nodeType":"FunctionDefinition","src":"18356:169:16","nodes":[],"body":{"id":20067,"nodeType":"Block","src":"18425:100:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c6164647265737329","id":20060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18475:29:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231","typeString":"literal_string \"log(address,string,address)\""},"value":"log(address,string,address)"},{"id":20061,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20050,"src":"18506:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20062,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20052,"src":"18510:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20063,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20054,"src":"18514:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231","typeString":"literal_string \"log(address,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20058,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18451:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20059,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18455:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18451:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18451:66:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20057,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"18435:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18435:83:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20066,"nodeType":"ExpressionStatement","src":"18435:83:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18365:3:16","parameters":{"id":20055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20050,"mutability":"mutable","name":"p0","nameLocation":"18377:2:16","nodeType":"VariableDeclaration","scope":20068,"src":"18369:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20049,"name":"address","nodeType":"ElementaryTypeName","src":"18369:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20052,"mutability":"mutable","name":"p1","nameLocation":"18395:2:16","nodeType":"VariableDeclaration","scope":20068,"src":"18381:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20051,"name":"string","nodeType":"ElementaryTypeName","src":"18381:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20054,"mutability":"mutable","name":"p2","nameLocation":"18407:2:16","nodeType":"VariableDeclaration","scope":20068,"src":"18399:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20053,"name":"address","nodeType":"ElementaryTypeName","src":"18399:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18368:42:16"},"returnParameters":{"id":20056,"nodeType":"ParameterList","parameters":[],"src":"18425:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20088,"nodeType":"FunctionDefinition","src":"18531:158:16","nodes":[],"body":{"id":20087,"nodeType":"Block","src":"18591:98:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e7432353629","id":20080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18641:27:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c4f99fb8e27f663a71adc9f15ace4bdc959202f3b7faa1c8ca25e5e7e8568f9","typeString":"literal_string \"log(address,bool,uint256)\""},"value":"log(address,bool,uint256)"},{"id":20081,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20070,"src":"18670:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20082,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20072,"src":"18674:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20083,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20074,"src":"18678:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9c4f99fb8e27f663a71adc9f15ace4bdc959202f3b7faa1c8ca25e5e7e8568f9","typeString":"literal_string \"log(address,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20078,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18617:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20079,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18621:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18617:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18617:64:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20077,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"18601:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18601:81:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20086,"nodeType":"ExpressionStatement","src":"18601:81:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18540:3:16","parameters":{"id":20075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20070,"mutability":"mutable","name":"p0","nameLocation":"18552:2:16","nodeType":"VariableDeclaration","scope":20088,"src":"18544:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20069,"name":"address","nodeType":"ElementaryTypeName","src":"18544:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20072,"mutability":"mutable","name":"p1","nameLocation":"18561:2:16","nodeType":"VariableDeclaration","scope":20088,"src":"18556:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20071,"name":"bool","nodeType":"ElementaryTypeName","src":"18556:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20074,"mutability":"mutable","name":"p2","nameLocation":"18573:2:16","nodeType":"VariableDeclaration","scope":20088,"src":"18565:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20073,"name":"uint256","nodeType":"ElementaryTypeName","src":"18565:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18543:33:16"},"returnParameters":{"id":20076,"nodeType":"ParameterList","parameters":[],"src":"18591:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20108,"nodeType":"FunctionDefinition","src":"18695:163:16","nodes":[],"body":{"id":20107,"nodeType":"Block","src":"18761:97:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e6729","id":20100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18811:26:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750","typeString":"literal_string \"log(address,bool,string)\""},"value":"log(address,bool,string)"},{"id":20101,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20090,"src":"18839:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20102,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20092,"src":"18843:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20103,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20094,"src":"18847:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750","typeString":"literal_string \"log(address,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20098,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18787:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18791:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18787:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18787:63:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20097,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"18771:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18771:80:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20106,"nodeType":"ExpressionStatement","src":"18771:80:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18704:3:16","parameters":{"id":20095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20090,"mutability":"mutable","name":"p0","nameLocation":"18716:2:16","nodeType":"VariableDeclaration","scope":20108,"src":"18708:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20089,"name":"address","nodeType":"ElementaryTypeName","src":"18708:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20092,"mutability":"mutable","name":"p1","nameLocation":"18725:2:16","nodeType":"VariableDeclaration","scope":20108,"src":"18720:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20091,"name":"bool","nodeType":"ElementaryTypeName","src":"18720:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20094,"mutability":"mutable","name":"p2","nameLocation":"18743:2:16","nodeType":"VariableDeclaration","scope":20108,"src":"18729:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20093,"name":"string","nodeType":"ElementaryTypeName","src":"18729:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18707:39:16"},"returnParameters":{"id":20096,"nodeType":"ParameterList","parameters":[],"src":"18761:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20128,"nodeType":"FunctionDefinition","src":"18864:152:16","nodes":[],"body":{"id":20127,"nodeType":"Block","src":"18921:95:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c29","id":20120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18971:24:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279","typeString":"literal_string \"log(address,bool,bool)\""},"value":"log(address,bool,bool)"},{"id":20121,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20110,"src":"18997:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20122,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20112,"src":"19001:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20123,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20114,"src":"19005:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279","typeString":"literal_string \"log(address,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20118,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18947:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20119,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18951:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18947:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18947:61:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20117,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"18931:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18931:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20126,"nodeType":"ExpressionStatement","src":"18931:78:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18873:3:16","parameters":{"id":20115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20110,"mutability":"mutable","name":"p0","nameLocation":"18885:2:16","nodeType":"VariableDeclaration","scope":20128,"src":"18877:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20109,"name":"address","nodeType":"ElementaryTypeName","src":"18877:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20112,"mutability":"mutable","name":"p1","nameLocation":"18894:2:16","nodeType":"VariableDeclaration","scope":20128,"src":"18889:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20111,"name":"bool","nodeType":"ElementaryTypeName","src":"18889:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20114,"mutability":"mutable","name":"p2","nameLocation":"18903:2:16","nodeType":"VariableDeclaration","scope":20128,"src":"18898:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20113,"name":"bool","nodeType":"ElementaryTypeName","src":"18898:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18876:30:16"},"returnParameters":{"id":20116,"nodeType":"ParameterList","parameters":[],"src":"18921:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20148,"nodeType":"FunctionDefinition","src":"19022:158:16","nodes":[],"body":{"id":20147,"nodeType":"Block","src":"19082:98:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c6164647265737329","id":20140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19132:27:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d","typeString":"literal_string \"log(address,bool,address)\""},"value":"log(address,bool,address)"},{"id":20141,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20130,"src":"19161:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20142,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20132,"src":"19165:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20143,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20134,"src":"19169:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d","typeString":"literal_string \"log(address,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20138,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19108:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19112:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19108:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19108:64:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20137,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"19092:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19092:81:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20146,"nodeType":"ExpressionStatement","src":"19092:81:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19031:3:16","parameters":{"id":20135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20130,"mutability":"mutable","name":"p0","nameLocation":"19043:2:16","nodeType":"VariableDeclaration","scope":20148,"src":"19035:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20129,"name":"address","nodeType":"ElementaryTypeName","src":"19035:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20132,"mutability":"mutable","name":"p1","nameLocation":"19052:2:16","nodeType":"VariableDeclaration","scope":20148,"src":"19047:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20131,"name":"bool","nodeType":"ElementaryTypeName","src":"19047:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20134,"mutability":"mutable","name":"p2","nameLocation":"19064:2:16","nodeType":"VariableDeclaration","scope":20148,"src":"19056:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20133,"name":"address","nodeType":"ElementaryTypeName","src":"19056:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19034:33:16"},"returnParameters":{"id":20136,"nodeType":"ParameterList","parameters":[],"src":"19082:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20168,"nodeType":"FunctionDefinition","src":"19186:164:16","nodes":[],"body":{"id":20167,"nodeType":"Block","src":"19249:101:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e7432353629","id":20160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19299:30:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_17fe6185890336f35fbbd1b2962ba4f7207a4a65eb5b7443a7be8a152af930a4","typeString":"literal_string \"log(address,address,uint256)\""},"value":"log(address,address,uint256)"},{"id":20161,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20150,"src":"19331:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20162,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20152,"src":"19335:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20163,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20154,"src":"19339:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_17fe6185890336f35fbbd1b2962ba4f7207a4a65eb5b7443a7be8a152af930a4","typeString":"literal_string \"log(address,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20158,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19275:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20159,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19279:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19275:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19275:67:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20157,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"19259:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19259:84:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20166,"nodeType":"ExpressionStatement","src":"19259:84:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19195:3:16","parameters":{"id":20155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20150,"mutability":"mutable","name":"p0","nameLocation":"19207:2:16","nodeType":"VariableDeclaration","scope":20168,"src":"19199:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20149,"name":"address","nodeType":"ElementaryTypeName","src":"19199:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20152,"mutability":"mutable","name":"p1","nameLocation":"19219:2:16","nodeType":"VariableDeclaration","scope":20168,"src":"19211:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20151,"name":"address","nodeType":"ElementaryTypeName","src":"19211:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20154,"mutability":"mutable","name":"p2","nameLocation":"19231:2:16","nodeType":"VariableDeclaration","scope":20168,"src":"19223:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20153,"name":"uint256","nodeType":"ElementaryTypeName","src":"19223:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19198:36:16"},"returnParameters":{"id":20156,"nodeType":"ParameterList","parameters":[],"src":"19249:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20188,"nodeType":"FunctionDefinition","src":"19356:169:16","nodes":[],"body":{"id":20187,"nodeType":"Block","src":"19425:100:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e6729","id":20180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19475:29:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee","typeString":"literal_string \"log(address,address,string)\""},"value":"log(address,address,string)"},{"id":20181,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20170,"src":"19506:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20182,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20172,"src":"19510:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20183,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20174,"src":"19514:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee","typeString":"literal_string \"log(address,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20178,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19451:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19455:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19451:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19451:66:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20177,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"19435:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19435:83:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20186,"nodeType":"ExpressionStatement","src":"19435:83:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19365:3:16","parameters":{"id":20175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20170,"mutability":"mutable","name":"p0","nameLocation":"19377:2:16","nodeType":"VariableDeclaration","scope":20188,"src":"19369:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20169,"name":"address","nodeType":"ElementaryTypeName","src":"19369:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20172,"mutability":"mutable","name":"p1","nameLocation":"19389:2:16","nodeType":"VariableDeclaration","scope":20188,"src":"19381:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20171,"name":"address","nodeType":"ElementaryTypeName","src":"19381:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20174,"mutability":"mutable","name":"p2","nameLocation":"19407:2:16","nodeType":"VariableDeclaration","scope":20188,"src":"19393:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20173,"name":"string","nodeType":"ElementaryTypeName","src":"19393:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19368:42:16"},"returnParameters":{"id":20176,"nodeType":"ParameterList","parameters":[],"src":"19425:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20208,"nodeType":"FunctionDefinition","src":"19531:158:16","nodes":[],"body":{"id":20207,"nodeType":"Block","src":"19591:98:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c29","id":20200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19641:27:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc","typeString":"literal_string \"log(address,address,bool)\""},"value":"log(address,address,bool)"},{"id":20201,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20190,"src":"19670:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20202,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20192,"src":"19674:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20203,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20194,"src":"19678:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc","typeString":"literal_string \"log(address,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20198,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19617:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20199,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19621:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19617:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19617:64:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20197,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"19601:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19601:81:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20206,"nodeType":"ExpressionStatement","src":"19601:81:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19540:3:16","parameters":{"id":20195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20190,"mutability":"mutable","name":"p0","nameLocation":"19552:2:16","nodeType":"VariableDeclaration","scope":20208,"src":"19544:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20189,"name":"address","nodeType":"ElementaryTypeName","src":"19544:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20192,"mutability":"mutable","name":"p1","nameLocation":"19564:2:16","nodeType":"VariableDeclaration","scope":20208,"src":"19556:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20191,"name":"address","nodeType":"ElementaryTypeName","src":"19556:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20194,"mutability":"mutable","name":"p2","nameLocation":"19573:2:16","nodeType":"VariableDeclaration","scope":20208,"src":"19568:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20193,"name":"bool","nodeType":"ElementaryTypeName","src":"19568:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19543:33:16"},"returnParameters":{"id":20196,"nodeType":"ParameterList","parameters":[],"src":"19591:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20228,"nodeType":"FunctionDefinition","src":"19695:164:16","nodes":[],"body":{"id":20227,"nodeType":"Block","src":"19758:101:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c6164647265737329","id":20220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19808:30:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830","typeString":"literal_string \"log(address,address,address)\""},"value":"log(address,address,address)"},{"id":20221,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20210,"src":"19840:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20222,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20212,"src":"19844:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20223,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20214,"src":"19848:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830","typeString":"literal_string \"log(address,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20218,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19784:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20219,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19788:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19784:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19784:67:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20217,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"19768:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19768:84:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20226,"nodeType":"ExpressionStatement","src":"19768:84:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19704:3:16","parameters":{"id":20215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20210,"mutability":"mutable","name":"p0","nameLocation":"19716:2:16","nodeType":"VariableDeclaration","scope":20228,"src":"19708:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20209,"name":"address","nodeType":"ElementaryTypeName","src":"19708:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20212,"mutability":"mutable","name":"p1","nameLocation":"19728:2:16","nodeType":"VariableDeclaration","scope":20228,"src":"19720:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20211,"name":"address","nodeType":"ElementaryTypeName","src":"19720:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20214,"mutability":"mutable","name":"p2","nameLocation":"19740:2:16","nodeType":"VariableDeclaration","scope":20228,"src":"19732:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20213,"name":"address","nodeType":"ElementaryTypeName","src":"19732:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19707:36:16"},"returnParameters":{"id":20216,"nodeType":"ParameterList","parameters":[],"src":"19758:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20251,"nodeType":"FunctionDefinition","src":"19865:188:16","nodes":[],"body":{"id":20250,"nodeType":"Block","src":"19940:113:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c75696e7432353629","id":20242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19990:38:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_193fb8009d4d1e3c22da0dd831b1e3aed72b8cabd1ebf3967b4ab3c2bbcf1c4f","typeString":"literal_string \"log(uint256,uint256,uint256,uint256)\""},"value":"log(uint256,uint256,uint256,uint256)"},{"id":20243,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20230,"src":"20030:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20244,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20232,"src":"20034:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20245,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20234,"src":"20038:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20246,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20236,"src":"20042:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_193fb8009d4d1e3c22da0dd831b1e3aed72b8cabd1ebf3967b4ab3c2bbcf1c4f","typeString":"literal_string \"log(uint256,uint256,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20240,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19966:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20241,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19970:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19966:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19966:79:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20239,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"19950:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19950:96:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20249,"nodeType":"ExpressionStatement","src":"19950:96:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19874:3:16","parameters":{"id":20237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20230,"mutability":"mutable","name":"p0","nameLocation":"19886:2:16","nodeType":"VariableDeclaration","scope":20251,"src":"19878:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20229,"name":"uint256","nodeType":"ElementaryTypeName","src":"19878:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20232,"mutability":"mutable","name":"p1","nameLocation":"19898:2:16","nodeType":"VariableDeclaration","scope":20251,"src":"19890:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20231,"name":"uint256","nodeType":"ElementaryTypeName","src":"19890:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20234,"mutability":"mutable","name":"p2","nameLocation":"19910:2:16","nodeType":"VariableDeclaration","scope":20251,"src":"19902:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20233,"name":"uint256","nodeType":"ElementaryTypeName","src":"19902:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20236,"mutability":"mutable","name":"p3","nameLocation":"19922:2:16","nodeType":"VariableDeclaration","scope":20251,"src":"19914:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20235,"name":"uint256","nodeType":"ElementaryTypeName","src":"19914:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19877:48:16"},"returnParameters":{"id":20238,"nodeType":"ParameterList","parameters":[],"src":"19940:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20274,"nodeType":"FunctionDefinition","src":"20059:193:16","nodes":[],"body":{"id":20273,"nodeType":"Block","src":"20140:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c737472696e6729","id":20265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20190:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_59cfcbe3e387f57023dcccd8733484dcb5a23a41a25c4015c01a4e8d3520c4ef","typeString":"literal_string \"log(uint256,uint256,uint256,string)\""},"value":"log(uint256,uint256,uint256,string)"},{"id":20266,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20253,"src":"20229:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20267,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20255,"src":"20233:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20268,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20257,"src":"20237:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20269,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20259,"src":"20241:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_59cfcbe3e387f57023dcccd8733484dcb5a23a41a25c4015c01a4e8d3520c4ef","typeString":"literal_string \"log(uint256,uint256,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20263,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20166:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20264,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20170:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20166:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20166:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20262,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"20150:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20150:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20272,"nodeType":"ExpressionStatement","src":"20150:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20068:3:16","parameters":{"id":20260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20253,"mutability":"mutable","name":"p0","nameLocation":"20080:2:16","nodeType":"VariableDeclaration","scope":20274,"src":"20072:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20252,"name":"uint256","nodeType":"ElementaryTypeName","src":"20072:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20255,"mutability":"mutable","name":"p1","nameLocation":"20092:2:16","nodeType":"VariableDeclaration","scope":20274,"src":"20084:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20254,"name":"uint256","nodeType":"ElementaryTypeName","src":"20084:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20257,"mutability":"mutable","name":"p2","nameLocation":"20104:2:16","nodeType":"VariableDeclaration","scope":20274,"src":"20096:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20256,"name":"uint256","nodeType":"ElementaryTypeName","src":"20096:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20259,"mutability":"mutable","name":"p3","nameLocation":"20122:2:16","nodeType":"VariableDeclaration","scope":20274,"src":"20108:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20258,"name":"string","nodeType":"ElementaryTypeName","src":"20108:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20071:54:16"},"returnParameters":{"id":20261,"nodeType":"ParameterList","parameters":[],"src":"20140:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20297,"nodeType":"FunctionDefinition","src":"20258:182:16","nodes":[],"body":{"id":20296,"nodeType":"Block","src":"20330:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c626f6f6c29","id":20288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20380:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_c598d18505e9c7404a061484d6144251d0ef342167a57ace85723d498abac8e3","typeString":"literal_string \"log(uint256,uint256,uint256,bool)\""},"value":"log(uint256,uint256,uint256,bool)"},{"id":20289,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20276,"src":"20417:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20290,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20278,"src":"20421:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20291,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20280,"src":"20425:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20292,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20282,"src":"20429:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c598d18505e9c7404a061484d6144251d0ef342167a57ace85723d498abac8e3","typeString":"literal_string \"log(uint256,uint256,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20286,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20356:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20360:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20356:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20356:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20285,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"20340:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20340:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20295,"nodeType":"ExpressionStatement","src":"20340:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20267:3:16","parameters":{"id":20283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20276,"mutability":"mutable","name":"p0","nameLocation":"20279:2:16","nodeType":"VariableDeclaration","scope":20297,"src":"20271:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20275,"name":"uint256","nodeType":"ElementaryTypeName","src":"20271:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20278,"mutability":"mutable","name":"p1","nameLocation":"20291:2:16","nodeType":"VariableDeclaration","scope":20297,"src":"20283:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20277,"name":"uint256","nodeType":"ElementaryTypeName","src":"20283:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20280,"mutability":"mutable","name":"p2","nameLocation":"20303:2:16","nodeType":"VariableDeclaration","scope":20297,"src":"20295:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20279,"name":"uint256","nodeType":"ElementaryTypeName","src":"20295:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20282,"mutability":"mutable","name":"p3","nameLocation":"20312:2:16","nodeType":"VariableDeclaration","scope":20297,"src":"20307:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20281,"name":"bool","nodeType":"ElementaryTypeName","src":"20307:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20270:45:16"},"returnParameters":{"id":20284,"nodeType":"ParameterList","parameters":[],"src":"20330:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20320,"nodeType":"FunctionDefinition","src":"20446:188:16","nodes":[],"body":{"id":20319,"nodeType":"Block","src":"20521:113:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c6164647265737329","id":20311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20571:38:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_fa8185afaca325eb459625959e5610b99e97bbcba8d5834d7632610b4f237c79","typeString":"literal_string \"log(uint256,uint256,uint256,address)\""},"value":"log(uint256,uint256,uint256,address)"},{"id":20312,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20299,"src":"20611:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20313,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20301,"src":"20615:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20314,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20303,"src":"20619:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20315,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20305,"src":"20623:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fa8185afaca325eb459625959e5610b99e97bbcba8d5834d7632610b4f237c79","typeString":"literal_string \"log(uint256,uint256,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20309,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20547:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20310,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20551:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20547:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20547:79:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20308,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"20531:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20531:96:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20318,"nodeType":"ExpressionStatement","src":"20531:96:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20455:3:16","parameters":{"id":20306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20299,"mutability":"mutable","name":"p0","nameLocation":"20467:2:16","nodeType":"VariableDeclaration","scope":20320,"src":"20459:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20298,"name":"uint256","nodeType":"ElementaryTypeName","src":"20459:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20301,"mutability":"mutable","name":"p1","nameLocation":"20479:2:16","nodeType":"VariableDeclaration","scope":20320,"src":"20471:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20300,"name":"uint256","nodeType":"ElementaryTypeName","src":"20471:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20303,"mutability":"mutable","name":"p2","nameLocation":"20491:2:16","nodeType":"VariableDeclaration","scope":20320,"src":"20483:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20302,"name":"uint256","nodeType":"ElementaryTypeName","src":"20483:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20305,"mutability":"mutable","name":"p3","nameLocation":"20503:2:16","nodeType":"VariableDeclaration","scope":20320,"src":"20495:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20304,"name":"address","nodeType":"ElementaryTypeName","src":"20495:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20458:48:16"},"returnParameters":{"id":20307,"nodeType":"ParameterList","parameters":[],"src":"20521:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20343,"nodeType":"FunctionDefinition","src":"20640:193:16","nodes":[],"body":{"id":20342,"nodeType":"Block","src":"20721:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c75696e7432353629","id":20334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20771:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_5da297eb5acf47b1a9c0089c080d654cc07f2a8c9aa94fc68af26a6405cde114","typeString":"literal_string \"log(uint256,uint256,string,uint256)\""},"value":"log(uint256,uint256,string,uint256)"},{"id":20335,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20322,"src":"20810:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20336,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20324,"src":"20814:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20337,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20326,"src":"20818:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20338,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20328,"src":"20822:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5da297eb5acf47b1a9c0089c080d654cc07f2a8c9aa94fc68af26a6405cde114","typeString":"literal_string \"log(uint256,uint256,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20332,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20747:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20751:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20747:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20747:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20331,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"20731:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20731:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20341,"nodeType":"ExpressionStatement","src":"20731:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20649:3:16","parameters":{"id":20329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20322,"mutability":"mutable","name":"p0","nameLocation":"20661:2:16","nodeType":"VariableDeclaration","scope":20343,"src":"20653:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20321,"name":"uint256","nodeType":"ElementaryTypeName","src":"20653:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20324,"mutability":"mutable","name":"p1","nameLocation":"20673:2:16","nodeType":"VariableDeclaration","scope":20343,"src":"20665:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20323,"name":"uint256","nodeType":"ElementaryTypeName","src":"20665:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20326,"mutability":"mutable","name":"p2","nameLocation":"20691:2:16","nodeType":"VariableDeclaration","scope":20343,"src":"20677:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20325,"name":"string","nodeType":"ElementaryTypeName","src":"20677:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20328,"mutability":"mutable","name":"p3","nameLocation":"20703:2:16","nodeType":"VariableDeclaration","scope":20343,"src":"20695:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20327,"name":"uint256","nodeType":"ElementaryTypeName","src":"20695:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20652:54:16"},"returnParameters":{"id":20330,"nodeType":"ParameterList","parameters":[],"src":"20721:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20366,"nodeType":"FunctionDefinition","src":"20839:198:16","nodes":[],"body":{"id":20365,"nodeType":"Block","src":"20926:111:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c737472696e6729","id":20357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20976:36:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_27d8afd2525217fff7302dbf79acc81edc09cb300d94f2503a4fb8a8115910e0","typeString":"literal_string \"log(uint256,uint256,string,string)\""},"value":"log(uint256,uint256,string,string)"},{"id":20358,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20345,"src":"21014:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20359,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20347,"src":"21018:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20360,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20349,"src":"21022:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20361,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20351,"src":"21026:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_27d8afd2525217fff7302dbf79acc81edc09cb300d94f2503a4fb8a8115910e0","typeString":"literal_string \"log(uint256,uint256,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20355,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20952:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20356,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20956:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20952:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20952:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20354,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"20936:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20936:94:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20364,"nodeType":"ExpressionStatement","src":"20936:94:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20848:3:16","parameters":{"id":20352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20345,"mutability":"mutable","name":"p0","nameLocation":"20860:2:16","nodeType":"VariableDeclaration","scope":20366,"src":"20852:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20344,"name":"uint256","nodeType":"ElementaryTypeName","src":"20852:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20347,"mutability":"mutable","name":"p1","nameLocation":"20872:2:16","nodeType":"VariableDeclaration","scope":20366,"src":"20864:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20346,"name":"uint256","nodeType":"ElementaryTypeName","src":"20864:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20349,"mutability":"mutable","name":"p2","nameLocation":"20890:2:16","nodeType":"VariableDeclaration","scope":20366,"src":"20876:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20348,"name":"string","nodeType":"ElementaryTypeName","src":"20876:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20351,"mutability":"mutable","name":"p3","nameLocation":"20908:2:16","nodeType":"VariableDeclaration","scope":20366,"src":"20894:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20350,"name":"string","nodeType":"ElementaryTypeName","src":"20894:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20851:60:16"},"returnParameters":{"id":20353,"nodeType":"ParameterList","parameters":[],"src":"20926:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20389,"nodeType":"FunctionDefinition","src":"21043:187:16","nodes":[],"body":{"id":20388,"nodeType":"Block","src":"21121:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c626f6f6c29","id":20380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21171:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_7af6ab2578caf14043420c6b292dcb787d09d31b13365d7673f201f9b2e310c9","typeString":"literal_string \"log(uint256,uint256,string,bool)\""},"value":"log(uint256,uint256,string,bool)"},{"id":20381,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20368,"src":"21207:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20382,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20370,"src":"21211:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20383,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20372,"src":"21215:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20384,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20374,"src":"21219:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7af6ab2578caf14043420c6b292dcb787d09d31b13365d7673f201f9b2e310c9","typeString":"literal_string \"log(uint256,uint256,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20378,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21147:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20379,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21151:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21147:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21147:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20377,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"21131:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21131:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20387,"nodeType":"ExpressionStatement","src":"21131:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21052:3:16","parameters":{"id":20375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20368,"mutability":"mutable","name":"p0","nameLocation":"21064:2:16","nodeType":"VariableDeclaration","scope":20389,"src":"21056:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20367,"name":"uint256","nodeType":"ElementaryTypeName","src":"21056:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20370,"mutability":"mutable","name":"p1","nameLocation":"21076:2:16","nodeType":"VariableDeclaration","scope":20389,"src":"21068:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20369,"name":"uint256","nodeType":"ElementaryTypeName","src":"21068:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20372,"mutability":"mutable","name":"p2","nameLocation":"21094:2:16","nodeType":"VariableDeclaration","scope":20389,"src":"21080:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20371,"name":"string","nodeType":"ElementaryTypeName","src":"21080:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20374,"mutability":"mutable","name":"p3","nameLocation":"21103:2:16","nodeType":"VariableDeclaration","scope":20389,"src":"21098:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20373,"name":"bool","nodeType":"ElementaryTypeName","src":"21098:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21055:51:16"},"returnParameters":{"id":20376,"nodeType":"ParameterList","parameters":[],"src":"21121:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20412,"nodeType":"FunctionDefinition","src":"21236:193:16","nodes":[],"body":{"id":20411,"nodeType":"Block","src":"21317:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c6164647265737329","id":20403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21367:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_42d21db701843c064ab7fb7cddd0cda130fcc29c7289dd90519dfea1322b1a53","typeString":"literal_string \"log(uint256,uint256,string,address)\""},"value":"log(uint256,uint256,string,address)"},{"id":20404,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20391,"src":"21406:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20405,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20393,"src":"21410:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20406,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20395,"src":"21414:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20407,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20397,"src":"21418:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_42d21db701843c064ab7fb7cddd0cda130fcc29c7289dd90519dfea1322b1a53","typeString":"literal_string \"log(uint256,uint256,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20401,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21343:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20402,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21347:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21343:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21343:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20400,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"21327:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21327:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20410,"nodeType":"ExpressionStatement","src":"21327:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21245:3:16","parameters":{"id":20398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20391,"mutability":"mutable","name":"p0","nameLocation":"21257:2:16","nodeType":"VariableDeclaration","scope":20412,"src":"21249:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20390,"name":"uint256","nodeType":"ElementaryTypeName","src":"21249:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20393,"mutability":"mutable","name":"p1","nameLocation":"21269:2:16","nodeType":"VariableDeclaration","scope":20412,"src":"21261:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20392,"name":"uint256","nodeType":"ElementaryTypeName","src":"21261:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20395,"mutability":"mutable","name":"p2","nameLocation":"21287:2:16","nodeType":"VariableDeclaration","scope":20412,"src":"21273:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20394,"name":"string","nodeType":"ElementaryTypeName","src":"21273:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20397,"mutability":"mutable","name":"p3","nameLocation":"21299:2:16","nodeType":"VariableDeclaration","scope":20412,"src":"21291:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20396,"name":"address","nodeType":"ElementaryTypeName","src":"21291:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21248:54:16"},"returnParameters":{"id":20399,"nodeType":"ParameterList","parameters":[],"src":"21317:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20435,"nodeType":"FunctionDefinition","src":"21435:182:16","nodes":[],"body":{"id":20434,"nodeType":"Block","src":"21507:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c75696e7432353629","id":20426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21557:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb7f6fd2c2005d3f08b2528135265cced621d1abf62716b05a9b62bc732577fd","typeString":"literal_string \"log(uint256,uint256,bool,uint256)\""},"value":"log(uint256,uint256,bool,uint256)"},{"id":20427,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20414,"src":"21594:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20428,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20416,"src":"21598:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20429,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20418,"src":"21602:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20430,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20420,"src":"21606:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb7f6fd2c2005d3f08b2528135265cced621d1abf62716b05a9b62bc732577fd","typeString":"literal_string \"log(uint256,uint256,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20424,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21533:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20425,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21537:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21533:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21533:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20423,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"21517:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21517:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20433,"nodeType":"ExpressionStatement","src":"21517:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21444:3:16","parameters":{"id":20421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20414,"mutability":"mutable","name":"p0","nameLocation":"21456:2:16","nodeType":"VariableDeclaration","scope":20435,"src":"21448:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20413,"name":"uint256","nodeType":"ElementaryTypeName","src":"21448:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20416,"mutability":"mutable","name":"p1","nameLocation":"21468:2:16","nodeType":"VariableDeclaration","scope":20435,"src":"21460:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20415,"name":"uint256","nodeType":"ElementaryTypeName","src":"21460:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20418,"mutability":"mutable","name":"p2","nameLocation":"21477:2:16","nodeType":"VariableDeclaration","scope":20435,"src":"21472:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20417,"name":"bool","nodeType":"ElementaryTypeName","src":"21472:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20420,"mutability":"mutable","name":"p3","nameLocation":"21489:2:16","nodeType":"VariableDeclaration","scope":20435,"src":"21481:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20419,"name":"uint256","nodeType":"ElementaryTypeName","src":"21481:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21447:45:16"},"returnParameters":{"id":20422,"nodeType":"ParameterList","parameters":[],"src":"21507:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20458,"nodeType":"FunctionDefinition","src":"21623:187:16","nodes":[],"body":{"id":20457,"nodeType":"Block","src":"21701:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c737472696e6729","id":20449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21751:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5b4fc99467445b3de47079da2d48b3031bb8d3adcbee781cbdca55596f1414a","typeString":"literal_string \"log(uint256,uint256,bool,string)\""},"value":"log(uint256,uint256,bool,string)"},{"id":20450,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20437,"src":"21787:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20451,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20439,"src":"21791:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20452,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20441,"src":"21795:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20453,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20443,"src":"21799:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a5b4fc99467445b3de47079da2d48b3031bb8d3adcbee781cbdca55596f1414a","typeString":"literal_string \"log(uint256,uint256,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20447,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21727:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20448,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21731:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21727:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21727:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20446,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"21711:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21711:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20456,"nodeType":"ExpressionStatement","src":"21711:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21632:3:16","parameters":{"id":20444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20437,"mutability":"mutable","name":"p0","nameLocation":"21644:2:16","nodeType":"VariableDeclaration","scope":20458,"src":"21636:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20436,"name":"uint256","nodeType":"ElementaryTypeName","src":"21636:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20439,"mutability":"mutable","name":"p1","nameLocation":"21656:2:16","nodeType":"VariableDeclaration","scope":20458,"src":"21648:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20438,"name":"uint256","nodeType":"ElementaryTypeName","src":"21648:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20441,"mutability":"mutable","name":"p2","nameLocation":"21665:2:16","nodeType":"VariableDeclaration","scope":20458,"src":"21660:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20440,"name":"bool","nodeType":"ElementaryTypeName","src":"21660:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20443,"mutability":"mutable","name":"p3","nameLocation":"21683:2:16","nodeType":"VariableDeclaration","scope":20458,"src":"21669:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20442,"name":"string","nodeType":"ElementaryTypeName","src":"21669:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21635:51:16"},"returnParameters":{"id":20445,"nodeType":"ParameterList","parameters":[],"src":"21701:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20481,"nodeType":"FunctionDefinition","src":"21816:176:16","nodes":[],"body":{"id":20480,"nodeType":"Block","src":"21885:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c626f6f6c29","id":20472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21935:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab085ae680de5118cde80cb5e8cb1f7383786238f1394e82b7ab82553a0dd7fe","typeString":"literal_string \"log(uint256,uint256,bool,bool)\""},"value":"log(uint256,uint256,bool,bool)"},{"id":20473,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20460,"src":"21969:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20474,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20462,"src":"21973:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20475,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20464,"src":"21977:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20476,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20466,"src":"21981:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ab085ae680de5118cde80cb5e8cb1f7383786238f1394e82b7ab82553a0dd7fe","typeString":"literal_string \"log(uint256,uint256,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20470,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21911:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20471,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21915:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21911:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21911:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20469,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"21895:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21895:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20479,"nodeType":"ExpressionStatement","src":"21895:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21825:3:16","parameters":{"id":20467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20460,"mutability":"mutable","name":"p0","nameLocation":"21837:2:16","nodeType":"VariableDeclaration","scope":20481,"src":"21829:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20459,"name":"uint256","nodeType":"ElementaryTypeName","src":"21829:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20462,"mutability":"mutable","name":"p1","nameLocation":"21849:2:16","nodeType":"VariableDeclaration","scope":20481,"src":"21841:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20461,"name":"uint256","nodeType":"ElementaryTypeName","src":"21841:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20464,"mutability":"mutable","name":"p2","nameLocation":"21858:2:16","nodeType":"VariableDeclaration","scope":20481,"src":"21853:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20463,"name":"bool","nodeType":"ElementaryTypeName","src":"21853:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20466,"mutability":"mutable","name":"p3","nameLocation":"21867:2:16","nodeType":"VariableDeclaration","scope":20481,"src":"21862:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20465,"name":"bool","nodeType":"ElementaryTypeName","src":"21862:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21828:42:16"},"returnParameters":{"id":20468,"nodeType":"ParameterList","parameters":[],"src":"21885:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20504,"nodeType":"FunctionDefinition","src":"21998:182:16","nodes":[],"body":{"id":20503,"nodeType":"Block","src":"22070:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c6164647265737329","id":20495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22120:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_9a816a83f59c7e2fc96bb179b1fa8fd5307277d58bad9d6b835a280d4474fc1b","typeString":"literal_string \"log(uint256,uint256,bool,address)\""},"value":"log(uint256,uint256,bool,address)"},{"id":20496,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20483,"src":"22157:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20497,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20485,"src":"22161:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20498,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20487,"src":"22165:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20499,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20489,"src":"22169:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9a816a83f59c7e2fc96bb179b1fa8fd5307277d58bad9d6b835a280d4474fc1b","typeString":"literal_string \"log(uint256,uint256,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20493,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22096:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20494,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22100:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22096:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22096:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20492,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"22080:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22080:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20502,"nodeType":"ExpressionStatement","src":"22080:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22007:3:16","parameters":{"id":20490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20483,"mutability":"mutable","name":"p0","nameLocation":"22019:2:16","nodeType":"VariableDeclaration","scope":20504,"src":"22011:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20482,"name":"uint256","nodeType":"ElementaryTypeName","src":"22011:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20485,"mutability":"mutable","name":"p1","nameLocation":"22031:2:16","nodeType":"VariableDeclaration","scope":20504,"src":"22023:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20484,"name":"uint256","nodeType":"ElementaryTypeName","src":"22023:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20487,"mutability":"mutable","name":"p2","nameLocation":"22040:2:16","nodeType":"VariableDeclaration","scope":20504,"src":"22035:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20486,"name":"bool","nodeType":"ElementaryTypeName","src":"22035:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20489,"mutability":"mutable","name":"p3","nameLocation":"22052:2:16","nodeType":"VariableDeclaration","scope":20504,"src":"22044:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20488,"name":"address","nodeType":"ElementaryTypeName","src":"22044:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22010:45:16"},"returnParameters":{"id":20491,"nodeType":"ParameterList","parameters":[],"src":"22070:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20527,"nodeType":"FunctionDefinition","src":"22186:188:16","nodes":[],"body":{"id":20526,"nodeType":"Block","src":"22261:113:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c75696e7432353629","id":20518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22311:38:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_88f6e4b2e9fd1797748b31e8b1564d27784c7a0b5de7a75df225524205baab36","typeString":"literal_string \"log(uint256,uint256,address,uint256)\""},"value":"log(uint256,uint256,address,uint256)"},{"id":20519,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20506,"src":"22351:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20520,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20508,"src":"22355:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20521,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20510,"src":"22359:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20522,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20512,"src":"22363:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_88f6e4b2e9fd1797748b31e8b1564d27784c7a0b5de7a75df225524205baab36","typeString":"literal_string \"log(uint256,uint256,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20516,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22287:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22291:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22287:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22287:79:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20515,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"22271:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22271:96:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20525,"nodeType":"ExpressionStatement","src":"22271:96:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22195:3:16","parameters":{"id":20513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20506,"mutability":"mutable","name":"p0","nameLocation":"22207:2:16","nodeType":"VariableDeclaration","scope":20527,"src":"22199:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20505,"name":"uint256","nodeType":"ElementaryTypeName","src":"22199:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20508,"mutability":"mutable","name":"p1","nameLocation":"22219:2:16","nodeType":"VariableDeclaration","scope":20527,"src":"22211:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20507,"name":"uint256","nodeType":"ElementaryTypeName","src":"22211:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20510,"mutability":"mutable","name":"p2","nameLocation":"22231:2:16","nodeType":"VariableDeclaration","scope":20527,"src":"22223:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20509,"name":"address","nodeType":"ElementaryTypeName","src":"22223:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20512,"mutability":"mutable","name":"p3","nameLocation":"22243:2:16","nodeType":"VariableDeclaration","scope":20527,"src":"22235:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20511,"name":"uint256","nodeType":"ElementaryTypeName","src":"22235:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22198:48:16"},"returnParameters":{"id":20514,"nodeType":"ParameterList","parameters":[],"src":"22261:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20550,"nodeType":"FunctionDefinition","src":"22380:193:16","nodes":[],"body":{"id":20549,"nodeType":"Block","src":"22461:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c737472696e6729","id":20541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22511:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_6cde40b8d4f88da65710732f1ce432c86447f486bf713e5763c0ab174df12f40","typeString":"literal_string \"log(uint256,uint256,address,string)\""},"value":"log(uint256,uint256,address,string)"},{"id":20542,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20529,"src":"22550:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20543,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20531,"src":"22554:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20544,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20533,"src":"22558:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20545,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20535,"src":"22562:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6cde40b8d4f88da65710732f1ce432c86447f486bf713e5763c0ab174df12f40","typeString":"literal_string \"log(uint256,uint256,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20539,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22487:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22491:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22487:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22487:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20538,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"22471:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22471:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20548,"nodeType":"ExpressionStatement","src":"22471:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22389:3:16","parameters":{"id":20536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20529,"mutability":"mutable","name":"p0","nameLocation":"22401:2:16","nodeType":"VariableDeclaration","scope":20550,"src":"22393:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20528,"name":"uint256","nodeType":"ElementaryTypeName","src":"22393:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20531,"mutability":"mutable","name":"p1","nameLocation":"22413:2:16","nodeType":"VariableDeclaration","scope":20550,"src":"22405:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20530,"name":"uint256","nodeType":"ElementaryTypeName","src":"22405:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20533,"mutability":"mutable","name":"p2","nameLocation":"22425:2:16","nodeType":"VariableDeclaration","scope":20550,"src":"22417:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20532,"name":"address","nodeType":"ElementaryTypeName","src":"22417:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20535,"mutability":"mutable","name":"p3","nameLocation":"22443:2:16","nodeType":"VariableDeclaration","scope":20550,"src":"22429:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20534,"name":"string","nodeType":"ElementaryTypeName","src":"22429:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"22392:54:16"},"returnParameters":{"id":20537,"nodeType":"ParameterList","parameters":[],"src":"22461:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20573,"nodeType":"FunctionDefinition","src":"22579:182:16","nodes":[],"body":{"id":20572,"nodeType":"Block","src":"22651:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c626f6f6c29","id":20564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22701:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_15cac47617578377cd39f9593e7bb3ffa0e284336b9741dcc2c4151a93e1b201","typeString":"literal_string \"log(uint256,uint256,address,bool)\""},"value":"log(uint256,uint256,address,bool)"},{"id":20565,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20552,"src":"22738:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20566,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20554,"src":"22742:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20567,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20556,"src":"22746:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20568,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20558,"src":"22750:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_15cac47617578377cd39f9593e7bb3ffa0e284336b9741dcc2c4151a93e1b201","typeString":"literal_string \"log(uint256,uint256,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20562,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22677:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20563,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22681:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22677:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22677:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20561,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"22661:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22661:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20571,"nodeType":"ExpressionStatement","src":"22661:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22588:3:16","parameters":{"id":20559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20552,"mutability":"mutable","name":"p0","nameLocation":"22600:2:16","nodeType":"VariableDeclaration","scope":20573,"src":"22592:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20551,"name":"uint256","nodeType":"ElementaryTypeName","src":"22592:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20554,"mutability":"mutable","name":"p1","nameLocation":"22612:2:16","nodeType":"VariableDeclaration","scope":20573,"src":"22604:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20553,"name":"uint256","nodeType":"ElementaryTypeName","src":"22604:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20556,"mutability":"mutable","name":"p2","nameLocation":"22624:2:16","nodeType":"VariableDeclaration","scope":20573,"src":"22616:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20555,"name":"address","nodeType":"ElementaryTypeName","src":"22616:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20558,"mutability":"mutable","name":"p3","nameLocation":"22633:2:16","nodeType":"VariableDeclaration","scope":20573,"src":"22628:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20557,"name":"bool","nodeType":"ElementaryTypeName","src":"22628:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22591:45:16"},"returnParameters":{"id":20560,"nodeType":"ParameterList","parameters":[],"src":"22651:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20596,"nodeType":"FunctionDefinition","src":"22767:188:16","nodes":[],"body":{"id":20595,"nodeType":"Block","src":"22842:113:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c6164647265737329","id":20587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22892:38:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_56a5d1b1d2f0613b93371fc2b5ec91f6c2ba1375e1e4ff59b5061b56ca88e88d","typeString":"literal_string \"log(uint256,uint256,address,address)\""},"value":"log(uint256,uint256,address,address)"},{"id":20588,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20575,"src":"22932:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20589,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20577,"src":"22936:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20590,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20579,"src":"22940:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20591,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20581,"src":"22944:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56a5d1b1d2f0613b93371fc2b5ec91f6c2ba1375e1e4ff59b5061b56ca88e88d","typeString":"literal_string \"log(uint256,uint256,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20585,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22868:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20586,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22872:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22868:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22868:79:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20584,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"22852:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22852:96:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20594,"nodeType":"ExpressionStatement","src":"22852:96:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22776:3:16","parameters":{"id":20582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20575,"mutability":"mutable","name":"p0","nameLocation":"22788:2:16","nodeType":"VariableDeclaration","scope":20596,"src":"22780:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20574,"name":"uint256","nodeType":"ElementaryTypeName","src":"22780:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20577,"mutability":"mutable","name":"p1","nameLocation":"22800:2:16","nodeType":"VariableDeclaration","scope":20596,"src":"22792:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20576,"name":"uint256","nodeType":"ElementaryTypeName","src":"22792:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20579,"mutability":"mutable","name":"p2","nameLocation":"22812:2:16","nodeType":"VariableDeclaration","scope":20596,"src":"22804:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20578,"name":"address","nodeType":"ElementaryTypeName","src":"22804:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20581,"mutability":"mutable","name":"p3","nameLocation":"22824:2:16","nodeType":"VariableDeclaration","scope":20596,"src":"22816:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20580,"name":"address","nodeType":"ElementaryTypeName","src":"22816:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22779:48:16"},"returnParameters":{"id":20583,"nodeType":"ParameterList","parameters":[],"src":"22842:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20619,"nodeType":"FunctionDefinition","src":"22961:193:16","nodes":[],"body":{"id":20618,"nodeType":"Block","src":"23042:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c75696e7432353629","id":20610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23092:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_82c25b74e3ddb6ea40e867e0a41af8848bdc6a88fd5e365497c46917573fd66f","typeString":"literal_string \"log(uint256,string,uint256,uint256)\""},"value":"log(uint256,string,uint256,uint256)"},{"id":20611,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20598,"src":"23131:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20612,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20600,"src":"23135:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20613,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20602,"src":"23139:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20614,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20604,"src":"23143:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82c25b74e3ddb6ea40e867e0a41af8848bdc6a88fd5e365497c46917573fd66f","typeString":"literal_string \"log(uint256,string,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20608,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23068:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20609,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23072:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23068:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23068:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20607,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"23052:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23052:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20617,"nodeType":"ExpressionStatement","src":"23052:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22970:3:16","parameters":{"id":20605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20598,"mutability":"mutable","name":"p0","nameLocation":"22982:2:16","nodeType":"VariableDeclaration","scope":20619,"src":"22974:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20597,"name":"uint256","nodeType":"ElementaryTypeName","src":"22974:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20600,"mutability":"mutable","name":"p1","nameLocation":"23000:2:16","nodeType":"VariableDeclaration","scope":20619,"src":"22986:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20599,"name":"string","nodeType":"ElementaryTypeName","src":"22986:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20602,"mutability":"mutable","name":"p2","nameLocation":"23012:2:16","nodeType":"VariableDeclaration","scope":20619,"src":"23004:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20601,"name":"uint256","nodeType":"ElementaryTypeName","src":"23004:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20604,"mutability":"mutable","name":"p3","nameLocation":"23024:2:16","nodeType":"VariableDeclaration","scope":20619,"src":"23016:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20603,"name":"uint256","nodeType":"ElementaryTypeName","src":"23016:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22973:54:16"},"returnParameters":{"id":20606,"nodeType":"ParameterList","parameters":[],"src":"23042:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20642,"nodeType":"FunctionDefinition","src":"23160:198:16","nodes":[],"body":{"id":20641,"nodeType":"Block","src":"23247:111:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c737472696e6729","id":20633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23297:36:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_b7b914cad3c94167dcd4b5ef970076918e96b3894a20503b7d3f9648bea8aace","typeString":"literal_string \"log(uint256,string,uint256,string)\""},"value":"log(uint256,string,uint256,string)"},{"id":20634,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20621,"src":"23335:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20635,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20623,"src":"23339:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20636,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20625,"src":"23343:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20637,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20627,"src":"23347:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b7b914cad3c94167dcd4b5ef970076918e96b3894a20503b7d3f9648bea8aace","typeString":"literal_string \"log(uint256,string,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20631,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23273:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20632,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23277:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23273:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23273:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20630,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"23257:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23257:94:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20640,"nodeType":"ExpressionStatement","src":"23257:94:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23169:3:16","parameters":{"id":20628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20621,"mutability":"mutable","name":"p0","nameLocation":"23181:2:16","nodeType":"VariableDeclaration","scope":20642,"src":"23173:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20620,"name":"uint256","nodeType":"ElementaryTypeName","src":"23173:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20623,"mutability":"mutable","name":"p1","nameLocation":"23199:2:16","nodeType":"VariableDeclaration","scope":20642,"src":"23185:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20622,"name":"string","nodeType":"ElementaryTypeName","src":"23185:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20625,"mutability":"mutable","name":"p2","nameLocation":"23211:2:16","nodeType":"VariableDeclaration","scope":20642,"src":"23203:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20624,"name":"uint256","nodeType":"ElementaryTypeName","src":"23203:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20627,"mutability":"mutable","name":"p3","nameLocation":"23229:2:16","nodeType":"VariableDeclaration","scope":20642,"src":"23215:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20626,"name":"string","nodeType":"ElementaryTypeName","src":"23215:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23172:60:16"},"returnParameters":{"id":20629,"nodeType":"ParameterList","parameters":[],"src":"23247:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20665,"nodeType":"FunctionDefinition","src":"23364:187:16","nodes":[],"body":{"id":20664,"nodeType":"Block","src":"23442:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c626f6f6c29","id":20656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23492:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_691a8f74cbf1a313fd1bdfd5dda19feaf4f9deac56f7ca7c4fa6386e5382a03c","typeString":"literal_string \"log(uint256,string,uint256,bool)\""},"value":"log(uint256,string,uint256,bool)"},{"id":20657,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20644,"src":"23528:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20658,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20646,"src":"23532:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20659,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20648,"src":"23536:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20660,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20650,"src":"23540:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_691a8f74cbf1a313fd1bdfd5dda19feaf4f9deac56f7ca7c4fa6386e5382a03c","typeString":"literal_string \"log(uint256,string,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20654,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23468:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20655,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23472:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23468:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23468:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20653,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"23452:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23452:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20663,"nodeType":"ExpressionStatement","src":"23452:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23373:3:16","parameters":{"id":20651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20644,"mutability":"mutable","name":"p0","nameLocation":"23385:2:16","nodeType":"VariableDeclaration","scope":20665,"src":"23377:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20643,"name":"uint256","nodeType":"ElementaryTypeName","src":"23377:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20646,"mutability":"mutable","name":"p1","nameLocation":"23403:2:16","nodeType":"VariableDeclaration","scope":20665,"src":"23389:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20645,"name":"string","nodeType":"ElementaryTypeName","src":"23389:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20648,"mutability":"mutable","name":"p2","nameLocation":"23415:2:16","nodeType":"VariableDeclaration","scope":20665,"src":"23407:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20647,"name":"uint256","nodeType":"ElementaryTypeName","src":"23407:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20650,"mutability":"mutable","name":"p3","nameLocation":"23424:2:16","nodeType":"VariableDeclaration","scope":20665,"src":"23419:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20649,"name":"bool","nodeType":"ElementaryTypeName","src":"23419:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23376:51:16"},"returnParameters":{"id":20652,"nodeType":"ParameterList","parameters":[],"src":"23442:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20688,"nodeType":"FunctionDefinition","src":"23557:193:16","nodes":[],"body":{"id":20687,"nodeType":"Block","src":"23638:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c6164647265737329","id":20679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23688:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b2279b4b3c26cbcd4374acce75e4c447a59a65883d849a72eaa051b3a07ec08","typeString":"literal_string \"log(uint256,string,uint256,address)\""},"value":"log(uint256,string,uint256,address)"},{"id":20680,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20667,"src":"23727:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20681,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20669,"src":"23731:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20682,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20671,"src":"23735:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20683,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20673,"src":"23739:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b2279b4b3c26cbcd4374acce75e4c447a59a65883d849a72eaa051b3a07ec08","typeString":"literal_string \"log(uint256,string,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20677,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23664:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20678,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23668:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23664:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23664:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20676,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"23648:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23648:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20686,"nodeType":"ExpressionStatement","src":"23648:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23566:3:16","parameters":{"id":20674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20667,"mutability":"mutable","name":"p0","nameLocation":"23578:2:16","nodeType":"VariableDeclaration","scope":20688,"src":"23570:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20666,"name":"uint256","nodeType":"ElementaryTypeName","src":"23570:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20669,"mutability":"mutable","name":"p1","nameLocation":"23596:2:16","nodeType":"VariableDeclaration","scope":20688,"src":"23582:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20668,"name":"string","nodeType":"ElementaryTypeName","src":"23582:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20671,"mutability":"mutable","name":"p2","nameLocation":"23608:2:16","nodeType":"VariableDeclaration","scope":20688,"src":"23600:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20670,"name":"uint256","nodeType":"ElementaryTypeName","src":"23600:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20673,"mutability":"mutable","name":"p3","nameLocation":"23620:2:16","nodeType":"VariableDeclaration","scope":20688,"src":"23612:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20672,"name":"address","nodeType":"ElementaryTypeName","src":"23612:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23569:54:16"},"returnParameters":{"id":20675,"nodeType":"ParameterList","parameters":[],"src":"23638:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20711,"nodeType":"FunctionDefinition","src":"23756:198:16","nodes":[],"body":{"id":20710,"nodeType":"Block","src":"23843:111:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c75696e7432353629","id":20702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23893:36:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_b028c9bd0105e32bab3e2b1b4678f4cd49b1f267c4fcb1899043ad16b67c3dd1","typeString":"literal_string \"log(uint256,string,string,uint256)\""},"value":"log(uint256,string,string,uint256)"},{"id":20703,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20690,"src":"23931:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20704,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20692,"src":"23935:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20705,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20694,"src":"23939:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20706,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20696,"src":"23943:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b028c9bd0105e32bab3e2b1b4678f4cd49b1f267c4fcb1899043ad16b67c3dd1","typeString":"literal_string \"log(uint256,string,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20700,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23869:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20701,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23873:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23869:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23869:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20699,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"23853:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23853:94:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20709,"nodeType":"ExpressionStatement","src":"23853:94:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23765:3:16","parameters":{"id":20697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20690,"mutability":"mutable","name":"p0","nameLocation":"23777:2:16","nodeType":"VariableDeclaration","scope":20711,"src":"23769:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20689,"name":"uint256","nodeType":"ElementaryTypeName","src":"23769:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20692,"mutability":"mutable","name":"p1","nameLocation":"23795:2:16","nodeType":"VariableDeclaration","scope":20711,"src":"23781:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20691,"name":"string","nodeType":"ElementaryTypeName","src":"23781:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20694,"mutability":"mutable","name":"p2","nameLocation":"23813:2:16","nodeType":"VariableDeclaration","scope":20711,"src":"23799:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20693,"name":"string","nodeType":"ElementaryTypeName","src":"23799:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20696,"mutability":"mutable","name":"p3","nameLocation":"23825:2:16","nodeType":"VariableDeclaration","scope":20711,"src":"23817:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20695,"name":"uint256","nodeType":"ElementaryTypeName","src":"23817:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23768:60:16"},"returnParameters":{"id":20698,"nodeType":"ParameterList","parameters":[],"src":"23843:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20734,"nodeType":"FunctionDefinition","src":"23960:203:16","nodes":[],"body":{"id":20733,"nodeType":"Block","src":"24053:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c737472696e6729","id":20725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24103:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_21ad06836085541851abea445814b5a1baf9d3be52c1169a6570c83010dbea5a","typeString":"literal_string \"log(uint256,string,string,string)\""},"value":"log(uint256,string,string,string)"},{"id":20726,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20713,"src":"24140:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20727,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20715,"src":"24144:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20728,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20717,"src":"24148:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20729,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20719,"src":"24152:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_21ad06836085541851abea445814b5a1baf9d3be52c1169a6570c83010dbea5a","typeString":"literal_string \"log(uint256,string,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20723,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24079:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20724,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24083:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24079:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24079:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20722,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"24063:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24063:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20732,"nodeType":"ExpressionStatement","src":"24063:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23969:3:16","parameters":{"id":20720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20713,"mutability":"mutable","name":"p0","nameLocation":"23981:2:16","nodeType":"VariableDeclaration","scope":20734,"src":"23973:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20712,"name":"uint256","nodeType":"ElementaryTypeName","src":"23973:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20715,"mutability":"mutable","name":"p1","nameLocation":"23999:2:16","nodeType":"VariableDeclaration","scope":20734,"src":"23985:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20714,"name":"string","nodeType":"ElementaryTypeName","src":"23985:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20717,"mutability":"mutable","name":"p2","nameLocation":"24017:2:16","nodeType":"VariableDeclaration","scope":20734,"src":"24003:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20716,"name":"string","nodeType":"ElementaryTypeName","src":"24003:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20719,"mutability":"mutable","name":"p3","nameLocation":"24035:2:16","nodeType":"VariableDeclaration","scope":20734,"src":"24021:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20718,"name":"string","nodeType":"ElementaryTypeName","src":"24021:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23972:66:16"},"returnParameters":{"id":20721,"nodeType":"ParameterList","parameters":[],"src":"24053:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20757,"nodeType":"FunctionDefinition","src":"24169:192:16","nodes":[],"body":{"id":20756,"nodeType":"Block","src":"24253:108:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c626f6f6c29","id":20748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24303:33:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_b3a6b6bdf3265665181b9a9ab1338c75ebc293704c96a9a669654a5ba9f6d3e9","typeString":"literal_string \"log(uint256,string,string,bool)\""},"value":"log(uint256,string,string,bool)"},{"id":20749,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20736,"src":"24338:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20750,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20738,"src":"24342:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20751,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20740,"src":"24346:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20752,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20742,"src":"24350:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b3a6b6bdf3265665181b9a9ab1338c75ebc293704c96a9a669654a5ba9f6d3e9","typeString":"literal_string \"log(uint256,string,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20746,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24279:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20747,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24283:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24279:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24279:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20745,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"24263:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24263:91:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20755,"nodeType":"ExpressionStatement","src":"24263:91:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24178:3:16","parameters":{"id":20743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20736,"mutability":"mutable","name":"p0","nameLocation":"24190:2:16","nodeType":"VariableDeclaration","scope":20757,"src":"24182:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20735,"name":"uint256","nodeType":"ElementaryTypeName","src":"24182:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20738,"mutability":"mutable","name":"p1","nameLocation":"24208:2:16","nodeType":"VariableDeclaration","scope":20757,"src":"24194:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20737,"name":"string","nodeType":"ElementaryTypeName","src":"24194:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20740,"mutability":"mutable","name":"p2","nameLocation":"24226:2:16","nodeType":"VariableDeclaration","scope":20757,"src":"24212:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20739,"name":"string","nodeType":"ElementaryTypeName","src":"24212:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20742,"mutability":"mutable","name":"p3","nameLocation":"24235:2:16","nodeType":"VariableDeclaration","scope":20757,"src":"24230:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20741,"name":"bool","nodeType":"ElementaryTypeName","src":"24230:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24181:57:16"},"returnParameters":{"id":20744,"nodeType":"ParameterList","parameters":[],"src":"24253:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20780,"nodeType":"FunctionDefinition","src":"24367:198:16","nodes":[],"body":{"id":20779,"nodeType":"Block","src":"24454:111:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c6164647265737329","id":20771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24504:36:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_d583c60265ad086fe6216ef9aea37bf5de1e77bdf9055c734c55781d5f4b81d7","typeString":"literal_string \"log(uint256,string,string,address)\""},"value":"log(uint256,string,string,address)"},{"id":20772,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20759,"src":"24542:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20773,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20761,"src":"24546:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20774,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20763,"src":"24550:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20775,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20765,"src":"24554:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d583c60265ad086fe6216ef9aea37bf5de1e77bdf9055c734c55781d5f4b81d7","typeString":"literal_string \"log(uint256,string,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20769,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24480:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24484:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24480:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24480:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20768,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"24464:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24464:94:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20778,"nodeType":"ExpressionStatement","src":"24464:94:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24376:3:16","parameters":{"id":20766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20759,"mutability":"mutable","name":"p0","nameLocation":"24388:2:16","nodeType":"VariableDeclaration","scope":20780,"src":"24380:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20758,"name":"uint256","nodeType":"ElementaryTypeName","src":"24380:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20761,"mutability":"mutable","name":"p1","nameLocation":"24406:2:16","nodeType":"VariableDeclaration","scope":20780,"src":"24392:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20760,"name":"string","nodeType":"ElementaryTypeName","src":"24392:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20763,"mutability":"mutable","name":"p2","nameLocation":"24424:2:16","nodeType":"VariableDeclaration","scope":20780,"src":"24410:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20762,"name":"string","nodeType":"ElementaryTypeName","src":"24410:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20765,"mutability":"mutable","name":"p3","nameLocation":"24436:2:16","nodeType":"VariableDeclaration","scope":20780,"src":"24428:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20764,"name":"address","nodeType":"ElementaryTypeName","src":"24428:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24379:60:16"},"returnParameters":{"id":20767,"nodeType":"ParameterList","parameters":[],"src":"24454:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20803,"nodeType":"FunctionDefinition","src":"24571:187:16","nodes":[],"body":{"id":20802,"nodeType":"Block","src":"24649:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c75696e7432353629","id":20794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24699:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf00988004d982e10d8d4fa7f603a1414e3b2b91cdfcf6f72808ca6c3100f96a","typeString":"literal_string \"log(uint256,string,bool,uint256)\""},"value":"log(uint256,string,bool,uint256)"},{"id":20795,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20782,"src":"24735:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20796,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20784,"src":"24739:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20797,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20786,"src":"24743:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20798,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20788,"src":"24747:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf00988004d982e10d8d4fa7f603a1414e3b2b91cdfcf6f72808ca6c3100f96a","typeString":"literal_string \"log(uint256,string,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20792,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24675:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20793,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24679:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24675:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24675:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20791,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"24659:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24659:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20801,"nodeType":"ExpressionStatement","src":"24659:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24580:3:16","parameters":{"id":20789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20782,"mutability":"mutable","name":"p0","nameLocation":"24592:2:16","nodeType":"VariableDeclaration","scope":20803,"src":"24584:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20781,"name":"uint256","nodeType":"ElementaryTypeName","src":"24584:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20784,"mutability":"mutable","name":"p1","nameLocation":"24610:2:16","nodeType":"VariableDeclaration","scope":20803,"src":"24596:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20783,"name":"string","nodeType":"ElementaryTypeName","src":"24596:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20786,"mutability":"mutable","name":"p2","nameLocation":"24619:2:16","nodeType":"VariableDeclaration","scope":20803,"src":"24614:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20785,"name":"bool","nodeType":"ElementaryTypeName","src":"24614:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20788,"mutability":"mutable","name":"p3","nameLocation":"24631:2:16","nodeType":"VariableDeclaration","scope":20803,"src":"24623:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20787,"name":"uint256","nodeType":"ElementaryTypeName","src":"24623:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24583:51:16"},"returnParameters":{"id":20790,"nodeType":"ParameterList","parameters":[],"src":"24649:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20826,"nodeType":"FunctionDefinition","src":"24764:192:16","nodes":[],"body":{"id":20825,"nodeType":"Block","src":"24848:108:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c737472696e6729","id":20817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24898:33:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2d423cdca0e3ae7a0a1a283a67d891c85787b75e0c5291c02d15317d67fe45c","typeString":"literal_string \"log(uint256,string,bool,string)\""},"value":"log(uint256,string,bool,string)"},{"id":20818,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20805,"src":"24933:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20819,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20807,"src":"24937:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20820,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20809,"src":"24941:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20821,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20811,"src":"24945:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d2d423cdca0e3ae7a0a1a283a67d891c85787b75e0c5291c02d15317d67fe45c","typeString":"literal_string \"log(uint256,string,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20815,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24874:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20816,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24878:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24874:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24874:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20814,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"24858:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24858:91:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20824,"nodeType":"ExpressionStatement","src":"24858:91:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24773:3:16","parameters":{"id":20812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20805,"mutability":"mutable","name":"p0","nameLocation":"24785:2:16","nodeType":"VariableDeclaration","scope":20826,"src":"24777:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20804,"name":"uint256","nodeType":"ElementaryTypeName","src":"24777:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20807,"mutability":"mutable","name":"p1","nameLocation":"24803:2:16","nodeType":"VariableDeclaration","scope":20826,"src":"24789:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20806,"name":"string","nodeType":"ElementaryTypeName","src":"24789:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20809,"mutability":"mutable","name":"p2","nameLocation":"24812:2:16","nodeType":"VariableDeclaration","scope":20826,"src":"24807:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20808,"name":"bool","nodeType":"ElementaryTypeName","src":"24807:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20811,"mutability":"mutable","name":"p3","nameLocation":"24830:2:16","nodeType":"VariableDeclaration","scope":20826,"src":"24816:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20810,"name":"string","nodeType":"ElementaryTypeName","src":"24816:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24776:57:16"},"returnParameters":{"id":20813,"nodeType":"ParameterList","parameters":[],"src":"24848:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20849,"nodeType":"FunctionDefinition","src":"24962:181:16","nodes":[],"body":{"id":20848,"nodeType":"Block","src":"25037:106:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c626f6f6c29","id":20840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25087:31:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba535d9cec0fb8bbd83e61b83d0f575d149cba6778a192239c1bdc5170053e4f","typeString":"literal_string \"log(uint256,string,bool,bool)\""},"value":"log(uint256,string,bool,bool)"},{"id":20841,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20828,"src":"25120:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20842,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20830,"src":"25124:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20843,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20832,"src":"25128:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20844,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20834,"src":"25132:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ba535d9cec0fb8bbd83e61b83d0f575d149cba6778a192239c1bdc5170053e4f","typeString":"literal_string \"log(uint256,string,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20838,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25063:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25067:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25063:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25063:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20837,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"25047:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25047:89:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20847,"nodeType":"ExpressionStatement","src":"25047:89:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24971:3:16","parameters":{"id":20835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20828,"mutability":"mutable","name":"p0","nameLocation":"24983:2:16","nodeType":"VariableDeclaration","scope":20849,"src":"24975:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20827,"name":"uint256","nodeType":"ElementaryTypeName","src":"24975:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20830,"mutability":"mutable","name":"p1","nameLocation":"25001:2:16","nodeType":"VariableDeclaration","scope":20849,"src":"24987:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20829,"name":"string","nodeType":"ElementaryTypeName","src":"24987:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20832,"mutability":"mutable","name":"p2","nameLocation":"25010:2:16","nodeType":"VariableDeclaration","scope":20849,"src":"25005:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20831,"name":"bool","nodeType":"ElementaryTypeName","src":"25005:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20834,"mutability":"mutable","name":"p3","nameLocation":"25019:2:16","nodeType":"VariableDeclaration","scope":20849,"src":"25014:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20833,"name":"bool","nodeType":"ElementaryTypeName","src":"25014:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24974:48:16"},"returnParameters":{"id":20836,"nodeType":"ParameterList","parameters":[],"src":"25037:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20872,"nodeType":"FunctionDefinition","src":"25149:187:16","nodes":[],"body":{"id":20871,"nodeType":"Block","src":"25227:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c6164647265737329","id":20863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25277:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae2ec581fba979c4f79aae94f13936ff6bb7e283817b2ec0602d9daa028a1550","typeString":"literal_string \"log(uint256,string,bool,address)\""},"value":"log(uint256,string,bool,address)"},{"id":20864,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20851,"src":"25313:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20865,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20853,"src":"25317:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20866,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20855,"src":"25321:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20867,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20857,"src":"25325:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ae2ec581fba979c4f79aae94f13936ff6bb7e283817b2ec0602d9daa028a1550","typeString":"literal_string \"log(uint256,string,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20861,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25253:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20862,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25257:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25253:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25253:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20860,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"25237:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25237:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20870,"nodeType":"ExpressionStatement","src":"25237:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25158:3:16","parameters":{"id":20858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20851,"mutability":"mutable","name":"p0","nameLocation":"25170:2:16","nodeType":"VariableDeclaration","scope":20872,"src":"25162:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20850,"name":"uint256","nodeType":"ElementaryTypeName","src":"25162:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20853,"mutability":"mutable","name":"p1","nameLocation":"25188:2:16","nodeType":"VariableDeclaration","scope":20872,"src":"25174:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20852,"name":"string","nodeType":"ElementaryTypeName","src":"25174:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20855,"mutability":"mutable","name":"p2","nameLocation":"25197:2:16","nodeType":"VariableDeclaration","scope":20872,"src":"25192:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20854,"name":"bool","nodeType":"ElementaryTypeName","src":"25192:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20857,"mutability":"mutable","name":"p3","nameLocation":"25209:2:16","nodeType":"VariableDeclaration","scope":20872,"src":"25201:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20856,"name":"address","nodeType":"ElementaryTypeName","src":"25201:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25161:51:16"},"returnParameters":{"id":20859,"nodeType":"ParameterList","parameters":[],"src":"25227:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20895,"nodeType":"FunctionDefinition","src":"25342:193:16","nodes":[],"body":{"id":20894,"nodeType":"Block","src":"25423:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c75696e7432353629","id":20886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25473:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_e8d3018d32ee5012095e63c81679b366f06035e83d43be351e9c327886860908","typeString":"literal_string \"log(uint256,string,address,uint256)\""},"value":"log(uint256,string,address,uint256)"},{"id":20887,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20874,"src":"25512:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20888,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20876,"src":"25516:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20889,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20878,"src":"25520:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20890,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20880,"src":"25524:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8d3018d32ee5012095e63c81679b366f06035e83d43be351e9c327886860908","typeString":"literal_string \"log(uint256,string,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20884,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25449:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25453:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25449:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25449:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20883,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"25433:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25433:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20893,"nodeType":"ExpressionStatement","src":"25433:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25351:3:16","parameters":{"id":20881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20874,"mutability":"mutable","name":"p0","nameLocation":"25363:2:16","nodeType":"VariableDeclaration","scope":20895,"src":"25355:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20873,"name":"uint256","nodeType":"ElementaryTypeName","src":"25355:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20876,"mutability":"mutable","name":"p1","nameLocation":"25381:2:16","nodeType":"VariableDeclaration","scope":20895,"src":"25367:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20875,"name":"string","nodeType":"ElementaryTypeName","src":"25367:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20878,"mutability":"mutable","name":"p2","nameLocation":"25393:2:16","nodeType":"VariableDeclaration","scope":20895,"src":"25385:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20877,"name":"address","nodeType":"ElementaryTypeName","src":"25385:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20880,"mutability":"mutable","name":"p3","nameLocation":"25405:2:16","nodeType":"VariableDeclaration","scope":20895,"src":"25397:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20879,"name":"uint256","nodeType":"ElementaryTypeName","src":"25397:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25354:54:16"},"returnParameters":{"id":20882,"nodeType":"ParameterList","parameters":[],"src":"25423:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20918,"nodeType":"FunctionDefinition","src":"25541:198:16","nodes":[],"body":{"id":20917,"nodeType":"Block","src":"25628:111:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c737472696e6729","id":20909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25678:36:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c3adfa1394c3989d93ade538d03d04b05867057c1dd54721ae2c85f9a1a4720","typeString":"literal_string \"log(uint256,string,address,string)\""},"value":"log(uint256,string,address,string)"},{"id":20910,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20897,"src":"25716:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20911,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20899,"src":"25720:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20912,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20901,"src":"25724:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20913,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20903,"src":"25728:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9c3adfa1394c3989d93ade538d03d04b05867057c1dd54721ae2c85f9a1a4720","typeString":"literal_string \"log(uint256,string,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20907,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25654:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20908,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25658:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25654:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25654:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20906,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"25638:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25638:94:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20916,"nodeType":"ExpressionStatement","src":"25638:94:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25550:3:16","parameters":{"id":20904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20897,"mutability":"mutable","name":"p0","nameLocation":"25562:2:16","nodeType":"VariableDeclaration","scope":20918,"src":"25554:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20896,"name":"uint256","nodeType":"ElementaryTypeName","src":"25554:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20899,"mutability":"mutable","name":"p1","nameLocation":"25580:2:16","nodeType":"VariableDeclaration","scope":20918,"src":"25566:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20898,"name":"string","nodeType":"ElementaryTypeName","src":"25566:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20901,"mutability":"mutable","name":"p2","nameLocation":"25592:2:16","nodeType":"VariableDeclaration","scope":20918,"src":"25584:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20900,"name":"address","nodeType":"ElementaryTypeName","src":"25584:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20903,"mutability":"mutable","name":"p3","nameLocation":"25610:2:16","nodeType":"VariableDeclaration","scope":20918,"src":"25596:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20902,"name":"string","nodeType":"ElementaryTypeName","src":"25596:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25553:60:16"},"returnParameters":{"id":20905,"nodeType":"ParameterList","parameters":[],"src":"25628:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20941,"nodeType":"FunctionDefinition","src":"25745:187:16","nodes":[],"body":{"id":20940,"nodeType":"Block","src":"25823:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c626f6f6c29","id":20932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25873:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_90c30a564e5b352d6dfee73888402a5685ca327aad7827d5040904440ee085c5","typeString":"literal_string \"log(uint256,string,address,bool)\""},"value":"log(uint256,string,address,bool)"},{"id":20933,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20920,"src":"25909:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20934,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20922,"src":"25913:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20935,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20924,"src":"25917:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20936,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20926,"src":"25921:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90c30a564e5b352d6dfee73888402a5685ca327aad7827d5040904440ee085c5","typeString":"literal_string \"log(uint256,string,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20930,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25849:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25853:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25849:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25849:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20929,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"25833:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25833:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20939,"nodeType":"ExpressionStatement","src":"25833:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25754:3:16","parameters":{"id":20927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20920,"mutability":"mutable","name":"p0","nameLocation":"25766:2:16","nodeType":"VariableDeclaration","scope":20941,"src":"25758:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20919,"name":"uint256","nodeType":"ElementaryTypeName","src":"25758:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20922,"mutability":"mutable","name":"p1","nameLocation":"25784:2:16","nodeType":"VariableDeclaration","scope":20941,"src":"25770:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20921,"name":"string","nodeType":"ElementaryTypeName","src":"25770:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20924,"mutability":"mutable","name":"p2","nameLocation":"25796:2:16","nodeType":"VariableDeclaration","scope":20941,"src":"25788:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20923,"name":"address","nodeType":"ElementaryTypeName","src":"25788:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20926,"mutability":"mutable","name":"p3","nameLocation":"25805:2:16","nodeType":"VariableDeclaration","scope":20941,"src":"25800:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20925,"name":"bool","nodeType":"ElementaryTypeName","src":"25800:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25757:51:16"},"returnParameters":{"id":20928,"nodeType":"ParameterList","parameters":[],"src":"25823:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20964,"nodeType":"FunctionDefinition","src":"25938:193:16","nodes":[],"body":{"id":20963,"nodeType":"Block","src":"26019:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c6164647265737329","id":20955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26069:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_6168ed618844a2c75dc49207e69cdff562cd2faf2e74aa5192211a023611c6bd","typeString":"literal_string \"log(uint256,string,address,address)\""},"value":"log(uint256,string,address,address)"},{"id":20956,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20943,"src":"26108:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20957,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20945,"src":"26112:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20958,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20947,"src":"26116:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20959,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20949,"src":"26120:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6168ed618844a2c75dc49207e69cdff562cd2faf2e74aa5192211a023611c6bd","typeString":"literal_string \"log(uint256,string,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20953,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26045:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20954,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26049:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26045:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26045:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20952,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"26029:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26029:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20962,"nodeType":"ExpressionStatement","src":"26029:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25947:3:16","parameters":{"id":20950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20943,"mutability":"mutable","name":"p0","nameLocation":"25959:2:16","nodeType":"VariableDeclaration","scope":20964,"src":"25951:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20942,"name":"uint256","nodeType":"ElementaryTypeName","src":"25951:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20945,"mutability":"mutable","name":"p1","nameLocation":"25977:2:16","nodeType":"VariableDeclaration","scope":20964,"src":"25963:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20944,"name":"string","nodeType":"ElementaryTypeName","src":"25963:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20947,"mutability":"mutable","name":"p2","nameLocation":"25989:2:16","nodeType":"VariableDeclaration","scope":20964,"src":"25981:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20946,"name":"address","nodeType":"ElementaryTypeName","src":"25981:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20949,"mutability":"mutable","name":"p3","nameLocation":"26001:2:16","nodeType":"VariableDeclaration","scope":20964,"src":"25993:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20948,"name":"address","nodeType":"ElementaryTypeName","src":"25993:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25950:54:16"},"returnParameters":{"id":20951,"nodeType":"ParameterList","parameters":[],"src":"26019:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":20987,"nodeType":"FunctionDefinition","src":"26137:182:16","nodes":[],"body":{"id":20986,"nodeType":"Block","src":"26209:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c75696e7432353629","id":20978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26259:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6acc7a8396e6de9a5a1476aecf2cbff57758b174747b0371b7f3994e930b8b4","typeString":"literal_string \"log(uint256,bool,uint256,uint256)\""},"value":"log(uint256,bool,uint256,uint256)"},{"id":20979,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20966,"src":"26296:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20980,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20968,"src":"26300:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20981,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20970,"src":"26304:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20982,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20972,"src":"26308:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6acc7a8396e6de9a5a1476aecf2cbff57758b174747b0371b7f3994e930b8b4","typeString":"literal_string \"log(uint256,bool,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20976,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26235:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20977,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26239:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26235:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26235:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20975,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"26219:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26219:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20985,"nodeType":"ExpressionStatement","src":"26219:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26146:3:16","parameters":{"id":20973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20966,"mutability":"mutable","name":"p0","nameLocation":"26158:2:16","nodeType":"VariableDeclaration","scope":20987,"src":"26150:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20965,"name":"uint256","nodeType":"ElementaryTypeName","src":"26150:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20968,"mutability":"mutable","name":"p1","nameLocation":"26167:2:16","nodeType":"VariableDeclaration","scope":20987,"src":"26162:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20967,"name":"bool","nodeType":"ElementaryTypeName","src":"26162:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20970,"mutability":"mutable","name":"p2","nameLocation":"26179:2:16","nodeType":"VariableDeclaration","scope":20987,"src":"26171:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20969,"name":"uint256","nodeType":"ElementaryTypeName","src":"26171:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20972,"mutability":"mutable","name":"p3","nameLocation":"26191:2:16","nodeType":"VariableDeclaration","scope":20987,"src":"26183:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20971,"name":"uint256","nodeType":"ElementaryTypeName","src":"26183:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26149:45:16"},"returnParameters":{"id":20974,"nodeType":"ParameterList","parameters":[],"src":"26209:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21010,"nodeType":"FunctionDefinition","src":"26325:187:16","nodes":[],"body":{"id":21009,"nodeType":"Block","src":"26403:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c737472696e6729","id":21001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26453:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_de03e77403acbacf9b1b18c1115984c9fba2c45e2eec9f12c266ada3f62a0d1b","typeString":"literal_string \"log(uint256,bool,uint256,string)\""},"value":"log(uint256,bool,uint256,string)"},{"id":21002,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20989,"src":"26489:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21003,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20991,"src":"26493:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21004,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20993,"src":"26497:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21005,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20995,"src":"26501:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de03e77403acbacf9b1b18c1115984c9fba2c45e2eec9f12c266ada3f62a0d1b","typeString":"literal_string \"log(uint256,bool,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20999,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26429:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21000,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26433:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26429:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26429:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20998,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"26413:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26413:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21008,"nodeType":"ExpressionStatement","src":"26413:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26334:3:16","parameters":{"id":20996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20989,"mutability":"mutable","name":"p0","nameLocation":"26346:2:16","nodeType":"VariableDeclaration","scope":21010,"src":"26338:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20988,"name":"uint256","nodeType":"ElementaryTypeName","src":"26338:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20991,"mutability":"mutable","name":"p1","nameLocation":"26355:2:16","nodeType":"VariableDeclaration","scope":21010,"src":"26350:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20990,"name":"bool","nodeType":"ElementaryTypeName","src":"26350:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20993,"mutability":"mutable","name":"p2","nameLocation":"26367:2:16","nodeType":"VariableDeclaration","scope":21010,"src":"26359:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20992,"name":"uint256","nodeType":"ElementaryTypeName","src":"26359:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20995,"mutability":"mutable","name":"p3","nameLocation":"26385:2:16","nodeType":"VariableDeclaration","scope":21010,"src":"26371:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20994,"name":"string","nodeType":"ElementaryTypeName","src":"26371:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26337:51:16"},"returnParameters":{"id":20997,"nodeType":"ParameterList","parameters":[],"src":"26403:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21033,"nodeType":"FunctionDefinition","src":"26518:176:16","nodes":[],"body":{"id":21032,"nodeType":"Block","src":"26587:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c626f6f6c29","id":21024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26637:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_91a02e2ac8ae09683fa28beba3fd130b88054c89e51901b8e0510c8e25aa37d1","typeString":"literal_string \"log(uint256,bool,uint256,bool)\""},"value":"log(uint256,bool,uint256,bool)"},{"id":21025,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21012,"src":"26671:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21026,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21014,"src":"26675:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21027,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21016,"src":"26679:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21028,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21018,"src":"26683:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91a02e2ac8ae09683fa28beba3fd130b88054c89e51901b8e0510c8e25aa37d1","typeString":"literal_string \"log(uint256,bool,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21022,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26613:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26617:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26613:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26613:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21021,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"26597:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26597:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21031,"nodeType":"ExpressionStatement","src":"26597:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26527:3:16","parameters":{"id":21019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21012,"mutability":"mutable","name":"p0","nameLocation":"26539:2:16","nodeType":"VariableDeclaration","scope":21033,"src":"26531:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21011,"name":"uint256","nodeType":"ElementaryTypeName","src":"26531:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21014,"mutability":"mutable","name":"p1","nameLocation":"26548:2:16","nodeType":"VariableDeclaration","scope":21033,"src":"26543:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21013,"name":"bool","nodeType":"ElementaryTypeName","src":"26543:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21016,"mutability":"mutable","name":"p2","nameLocation":"26560:2:16","nodeType":"VariableDeclaration","scope":21033,"src":"26552:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21015,"name":"uint256","nodeType":"ElementaryTypeName","src":"26552:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21018,"mutability":"mutable","name":"p3","nameLocation":"26569:2:16","nodeType":"VariableDeclaration","scope":21033,"src":"26564:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21017,"name":"bool","nodeType":"ElementaryTypeName","src":"26564:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26530:42:16"},"returnParameters":{"id":21020,"nodeType":"ParameterList","parameters":[],"src":"26587:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21056,"nodeType":"FunctionDefinition","src":"26700:182:16","nodes":[],"body":{"id":21055,"nodeType":"Block","src":"26772:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c6164647265737329","id":21047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26822:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_88cb6041693b97a5282ad65a65484c065fbc3d3a4dac698c427f5b30bb33b29b","typeString":"literal_string \"log(uint256,bool,uint256,address)\""},"value":"log(uint256,bool,uint256,address)"},{"id":21048,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21035,"src":"26859:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21049,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21037,"src":"26863:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21050,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21039,"src":"26867:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21051,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21041,"src":"26871:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_88cb6041693b97a5282ad65a65484c065fbc3d3a4dac698c427f5b30bb33b29b","typeString":"literal_string \"log(uint256,bool,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21045,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26798:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26802:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26798:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26798:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21044,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"26782:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26782:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21054,"nodeType":"ExpressionStatement","src":"26782:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26709:3:16","parameters":{"id":21042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21035,"mutability":"mutable","name":"p0","nameLocation":"26721:2:16","nodeType":"VariableDeclaration","scope":21056,"src":"26713:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21034,"name":"uint256","nodeType":"ElementaryTypeName","src":"26713:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21037,"mutability":"mutable","name":"p1","nameLocation":"26730:2:16","nodeType":"VariableDeclaration","scope":21056,"src":"26725:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21036,"name":"bool","nodeType":"ElementaryTypeName","src":"26725:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21039,"mutability":"mutable","name":"p2","nameLocation":"26742:2:16","nodeType":"VariableDeclaration","scope":21056,"src":"26734:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21038,"name":"uint256","nodeType":"ElementaryTypeName","src":"26734:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21041,"mutability":"mutable","name":"p3","nameLocation":"26754:2:16","nodeType":"VariableDeclaration","scope":21056,"src":"26746:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21040,"name":"address","nodeType":"ElementaryTypeName","src":"26746:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26712:45:16"},"returnParameters":{"id":21043,"nodeType":"ParameterList","parameters":[],"src":"26772:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21079,"nodeType":"FunctionDefinition","src":"26888:187:16","nodes":[],"body":{"id":21078,"nodeType":"Block","src":"26966:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c75696e7432353629","id":21070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27016:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c1d07463509a567bf9962980ac948a2ea7c76a53c189a607b7b35b14e806be8","typeString":"literal_string \"log(uint256,bool,string,uint256)\""},"value":"log(uint256,bool,string,uint256)"},{"id":21071,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21058,"src":"27052:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21072,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21060,"src":"27056:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21073,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21062,"src":"27060:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21074,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21064,"src":"27064:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c1d07463509a567bf9962980ac948a2ea7c76a53c189a607b7b35b14e806be8","typeString":"literal_string \"log(uint256,bool,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21068,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26992:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21069,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26996:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26992:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26992:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21067,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"26976:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26976:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21077,"nodeType":"ExpressionStatement","src":"26976:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26897:3:16","parameters":{"id":21065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21058,"mutability":"mutable","name":"p0","nameLocation":"26909:2:16","nodeType":"VariableDeclaration","scope":21079,"src":"26901:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21057,"name":"uint256","nodeType":"ElementaryTypeName","src":"26901:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21060,"mutability":"mutable","name":"p1","nameLocation":"26918:2:16","nodeType":"VariableDeclaration","scope":21079,"src":"26913:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21059,"name":"bool","nodeType":"ElementaryTypeName","src":"26913:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21062,"mutability":"mutable","name":"p2","nameLocation":"26936:2:16","nodeType":"VariableDeclaration","scope":21079,"src":"26922:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21061,"name":"string","nodeType":"ElementaryTypeName","src":"26922:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21064,"mutability":"mutable","name":"p3","nameLocation":"26948:2:16","nodeType":"VariableDeclaration","scope":21079,"src":"26940:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21063,"name":"uint256","nodeType":"ElementaryTypeName","src":"26940:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26900:51:16"},"returnParameters":{"id":21066,"nodeType":"ParameterList","parameters":[],"src":"26966:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21102,"nodeType":"FunctionDefinition","src":"27081:192:16","nodes":[],"body":{"id":21101,"nodeType":"Block","src":"27165:108:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c737472696e6729","id":21093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27215:33:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_68c8b8bd8cd0cfd8add7c6745840520db0bd1049365ac415de6367b3b79b5ddd","typeString":"literal_string \"log(uint256,bool,string,string)\""},"value":"log(uint256,bool,string,string)"},{"id":21094,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21081,"src":"27250:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21095,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21083,"src":"27254:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21096,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21085,"src":"27258:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21097,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21087,"src":"27262:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_68c8b8bd8cd0cfd8add7c6745840520db0bd1049365ac415de6367b3b79b5ddd","typeString":"literal_string \"log(uint256,bool,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21091,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27191:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27195:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27191:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27191:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21090,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"27175:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27175:91:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21100,"nodeType":"ExpressionStatement","src":"27175:91:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27090:3:16","parameters":{"id":21088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21081,"mutability":"mutable","name":"p0","nameLocation":"27102:2:16","nodeType":"VariableDeclaration","scope":21102,"src":"27094:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21080,"name":"uint256","nodeType":"ElementaryTypeName","src":"27094:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21083,"mutability":"mutable","name":"p1","nameLocation":"27111:2:16","nodeType":"VariableDeclaration","scope":21102,"src":"27106:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21082,"name":"bool","nodeType":"ElementaryTypeName","src":"27106:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21085,"mutability":"mutable","name":"p2","nameLocation":"27129:2:16","nodeType":"VariableDeclaration","scope":21102,"src":"27115:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21084,"name":"string","nodeType":"ElementaryTypeName","src":"27115:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21087,"mutability":"mutable","name":"p3","nameLocation":"27147:2:16","nodeType":"VariableDeclaration","scope":21102,"src":"27133:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21086,"name":"string","nodeType":"ElementaryTypeName","src":"27133:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27093:57:16"},"returnParameters":{"id":21089,"nodeType":"ParameterList","parameters":[],"src":"27165:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21125,"nodeType":"FunctionDefinition","src":"27279:181:16","nodes":[],"body":{"id":21124,"nodeType":"Block","src":"27354:106:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c626f6f6c29","id":21116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27404:31:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb928d7f2c458ba40d8ba853c60153b2f73ca9189d4be051103bc8a6c10d45ad","typeString":"literal_string \"log(uint256,bool,string,bool)\""},"value":"log(uint256,bool,string,bool)"},{"id":21117,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21104,"src":"27437:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21118,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21106,"src":"27441:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21119,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21108,"src":"27445:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21120,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21110,"src":"27449:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb928d7f2c458ba40d8ba853c60153b2f73ca9189d4be051103bc8a6c10d45ad","typeString":"literal_string \"log(uint256,bool,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21114,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27380:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21115,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27384:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27380:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27380:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21113,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"27364:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27364:89:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21123,"nodeType":"ExpressionStatement","src":"27364:89:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27288:3:16","parameters":{"id":21111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21104,"mutability":"mutable","name":"p0","nameLocation":"27300:2:16","nodeType":"VariableDeclaration","scope":21125,"src":"27292:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21103,"name":"uint256","nodeType":"ElementaryTypeName","src":"27292:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21106,"mutability":"mutable","name":"p1","nameLocation":"27309:2:16","nodeType":"VariableDeclaration","scope":21125,"src":"27304:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21105,"name":"bool","nodeType":"ElementaryTypeName","src":"27304:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21108,"mutability":"mutable","name":"p2","nameLocation":"27327:2:16","nodeType":"VariableDeclaration","scope":21125,"src":"27313:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21107,"name":"string","nodeType":"ElementaryTypeName","src":"27313:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21110,"mutability":"mutable","name":"p3","nameLocation":"27336:2:16","nodeType":"VariableDeclaration","scope":21125,"src":"27331:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21109,"name":"bool","nodeType":"ElementaryTypeName","src":"27331:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27291:48:16"},"returnParameters":{"id":21112,"nodeType":"ParameterList","parameters":[],"src":"27354:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21148,"nodeType":"FunctionDefinition","src":"27466:187:16","nodes":[],"body":{"id":21147,"nodeType":"Block","src":"27544:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c6164647265737329","id":21139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27594:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef529018e81552426f837435fb92b39b88965df2736546faff28c9f06e5f58b5","typeString":"literal_string \"log(uint256,bool,string,address)\""},"value":"log(uint256,bool,string,address)"},{"id":21140,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21127,"src":"27630:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21141,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21129,"src":"27634:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21142,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21131,"src":"27638:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21143,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21133,"src":"27642:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef529018e81552426f837435fb92b39b88965df2736546faff28c9f06e5f58b5","typeString":"literal_string \"log(uint256,bool,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21137,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27570:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21138,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27574:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27570:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27570:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21136,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"27554:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27554:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21146,"nodeType":"ExpressionStatement","src":"27554:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27475:3:16","parameters":{"id":21134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21127,"mutability":"mutable","name":"p0","nameLocation":"27487:2:16","nodeType":"VariableDeclaration","scope":21148,"src":"27479:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21126,"name":"uint256","nodeType":"ElementaryTypeName","src":"27479:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21129,"mutability":"mutable","name":"p1","nameLocation":"27496:2:16","nodeType":"VariableDeclaration","scope":21148,"src":"27491:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21128,"name":"bool","nodeType":"ElementaryTypeName","src":"27491:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21131,"mutability":"mutable","name":"p2","nameLocation":"27514:2:16","nodeType":"VariableDeclaration","scope":21148,"src":"27500:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21130,"name":"string","nodeType":"ElementaryTypeName","src":"27500:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21133,"mutability":"mutable","name":"p3","nameLocation":"27526:2:16","nodeType":"VariableDeclaration","scope":21148,"src":"27518:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21132,"name":"address","nodeType":"ElementaryTypeName","src":"27518:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27478:51:16"},"returnParameters":{"id":21135,"nodeType":"ParameterList","parameters":[],"src":"27544:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21171,"nodeType":"FunctionDefinition","src":"27659:176:16","nodes":[],"body":{"id":21170,"nodeType":"Block","src":"27728:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c75696e7432353629","id":21162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27778:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_7464ce2380e6490f75dd524dd03612157b27bca22ecbf1bc2f0ca22ac41015d1","typeString":"literal_string \"log(uint256,bool,bool,uint256)\""},"value":"log(uint256,bool,bool,uint256)"},{"id":21163,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21150,"src":"27812:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21164,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21152,"src":"27816:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21165,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21154,"src":"27820:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21166,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21156,"src":"27824:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7464ce2380e6490f75dd524dd03612157b27bca22ecbf1bc2f0ca22ac41015d1","typeString":"literal_string \"log(uint256,bool,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21160,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27754:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27758:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27754:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27754:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21159,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"27738:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27738:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21169,"nodeType":"ExpressionStatement","src":"27738:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27668:3:16","parameters":{"id":21157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21150,"mutability":"mutable","name":"p0","nameLocation":"27680:2:16","nodeType":"VariableDeclaration","scope":21171,"src":"27672:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21149,"name":"uint256","nodeType":"ElementaryTypeName","src":"27672:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21152,"mutability":"mutable","name":"p1","nameLocation":"27689:2:16","nodeType":"VariableDeclaration","scope":21171,"src":"27684:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21151,"name":"bool","nodeType":"ElementaryTypeName","src":"27684:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21154,"mutability":"mutable","name":"p2","nameLocation":"27698:2:16","nodeType":"VariableDeclaration","scope":21171,"src":"27693:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21153,"name":"bool","nodeType":"ElementaryTypeName","src":"27693:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21156,"mutability":"mutable","name":"p3","nameLocation":"27710:2:16","nodeType":"VariableDeclaration","scope":21171,"src":"27702:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21155,"name":"uint256","nodeType":"ElementaryTypeName","src":"27702:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27671:42:16"},"returnParameters":{"id":21158,"nodeType":"ParameterList","parameters":[],"src":"27728:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21194,"nodeType":"FunctionDefinition","src":"27841:181:16","nodes":[],"body":{"id":21193,"nodeType":"Block","src":"27916:106:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c737472696e6729","id":21185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27966:31:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_dddb956172e374c580dd136b5b8151c6400d22ece6b561a1010b6b9e902dd439","typeString":"literal_string \"log(uint256,bool,bool,string)\""},"value":"log(uint256,bool,bool,string)"},{"id":21186,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21173,"src":"27999:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21187,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21175,"src":"28003:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21188,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21177,"src":"28007:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21189,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21179,"src":"28011:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dddb956172e374c580dd136b5b8151c6400d22ece6b561a1010b6b9e902dd439","typeString":"literal_string \"log(uint256,bool,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21183,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27942:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27946:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27942:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27942:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21182,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"27926:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27926:89:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21192,"nodeType":"ExpressionStatement","src":"27926:89:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27850:3:16","parameters":{"id":21180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21173,"mutability":"mutable","name":"p0","nameLocation":"27862:2:16","nodeType":"VariableDeclaration","scope":21194,"src":"27854:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21172,"name":"uint256","nodeType":"ElementaryTypeName","src":"27854:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21175,"mutability":"mutable","name":"p1","nameLocation":"27871:2:16","nodeType":"VariableDeclaration","scope":21194,"src":"27866:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21174,"name":"bool","nodeType":"ElementaryTypeName","src":"27866:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21177,"mutability":"mutable","name":"p2","nameLocation":"27880:2:16","nodeType":"VariableDeclaration","scope":21194,"src":"27875:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21176,"name":"bool","nodeType":"ElementaryTypeName","src":"27875:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21179,"mutability":"mutable","name":"p3","nameLocation":"27898:2:16","nodeType":"VariableDeclaration","scope":21194,"src":"27884:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21178,"name":"string","nodeType":"ElementaryTypeName","src":"27884:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27853:48:16"},"returnParameters":{"id":21181,"nodeType":"ParameterList","parameters":[],"src":"27916:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21217,"nodeType":"FunctionDefinition","src":"28028:170:16","nodes":[],"body":{"id":21216,"nodeType":"Block","src":"28094:104:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c626f6f6c29","id":21208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28144:29:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6f577a1520f8fa7d40eaff9dcd5f293e28b7606bd07d0a450b13db93da80473","typeString":"literal_string \"log(uint256,bool,bool,bool)\""},"value":"log(uint256,bool,bool,bool)"},{"id":21209,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21196,"src":"28175:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21210,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21198,"src":"28179:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21211,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21200,"src":"28183:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21212,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21202,"src":"28187:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6f577a1520f8fa7d40eaff9dcd5f293e28b7606bd07d0a450b13db93da80473","typeString":"literal_string \"log(uint256,bool,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21206,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28120:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21207,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28124:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28120:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28120:70:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21205,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"28104:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28104:87:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21215,"nodeType":"ExpressionStatement","src":"28104:87:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28037:3:16","parameters":{"id":21203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21196,"mutability":"mutable","name":"p0","nameLocation":"28049:2:16","nodeType":"VariableDeclaration","scope":21217,"src":"28041:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21195,"name":"uint256","nodeType":"ElementaryTypeName","src":"28041:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21198,"mutability":"mutable","name":"p1","nameLocation":"28058:2:16","nodeType":"VariableDeclaration","scope":21217,"src":"28053:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21197,"name":"bool","nodeType":"ElementaryTypeName","src":"28053:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21200,"mutability":"mutable","name":"p2","nameLocation":"28067:2:16","nodeType":"VariableDeclaration","scope":21217,"src":"28062:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21199,"name":"bool","nodeType":"ElementaryTypeName","src":"28062:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21202,"mutability":"mutable","name":"p3","nameLocation":"28076:2:16","nodeType":"VariableDeclaration","scope":21217,"src":"28071:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21201,"name":"bool","nodeType":"ElementaryTypeName","src":"28071:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28040:39:16"},"returnParameters":{"id":21204,"nodeType":"ParameterList","parameters":[],"src":"28094:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21240,"nodeType":"FunctionDefinition","src":"28204:176:16","nodes":[],"body":{"id":21239,"nodeType":"Block","src":"28273:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c6164647265737329","id":21231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28323:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_69640b598ea5b9e4e68e932871cb8a509ce832c6718a902773532568b8c95c31","typeString":"literal_string \"log(uint256,bool,bool,address)\""},"value":"log(uint256,bool,bool,address)"},{"id":21232,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21219,"src":"28357:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21233,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21221,"src":"28361:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21234,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21223,"src":"28365:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21235,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21225,"src":"28369:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_69640b598ea5b9e4e68e932871cb8a509ce832c6718a902773532568b8c95c31","typeString":"literal_string \"log(uint256,bool,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21229,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28299:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28303:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28299:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28299:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21228,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"28283:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28283:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21238,"nodeType":"ExpressionStatement","src":"28283:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28213:3:16","parameters":{"id":21226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21219,"mutability":"mutable","name":"p0","nameLocation":"28225:2:16","nodeType":"VariableDeclaration","scope":21240,"src":"28217:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21218,"name":"uint256","nodeType":"ElementaryTypeName","src":"28217:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21221,"mutability":"mutable","name":"p1","nameLocation":"28234:2:16","nodeType":"VariableDeclaration","scope":21240,"src":"28229:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21220,"name":"bool","nodeType":"ElementaryTypeName","src":"28229:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21223,"mutability":"mutable","name":"p2","nameLocation":"28243:2:16","nodeType":"VariableDeclaration","scope":21240,"src":"28238:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21222,"name":"bool","nodeType":"ElementaryTypeName","src":"28238:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21225,"mutability":"mutable","name":"p3","nameLocation":"28255:2:16","nodeType":"VariableDeclaration","scope":21240,"src":"28247:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21224,"name":"address","nodeType":"ElementaryTypeName","src":"28247:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28216:42:16"},"returnParameters":{"id":21227,"nodeType":"ParameterList","parameters":[],"src":"28273:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21263,"nodeType":"FunctionDefinition","src":"28386:182:16","nodes":[],"body":{"id":21262,"nodeType":"Block","src":"28458:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c75696e7432353629","id":21254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28508:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_078287f5d654caee11cca90bb8c074a9529509cd07319dc17a93fa036ea5ea88","typeString":"literal_string \"log(uint256,bool,address,uint256)\""},"value":"log(uint256,bool,address,uint256)"},{"id":21255,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21242,"src":"28545:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21256,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21244,"src":"28549:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21257,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21246,"src":"28553:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21258,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21248,"src":"28557:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_078287f5d654caee11cca90bb8c074a9529509cd07319dc17a93fa036ea5ea88","typeString":"literal_string \"log(uint256,bool,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21252,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28484:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28488:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28484:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28484:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21251,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"28468:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28468:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21261,"nodeType":"ExpressionStatement","src":"28468:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28395:3:16","parameters":{"id":21249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21242,"mutability":"mutable","name":"p0","nameLocation":"28407:2:16","nodeType":"VariableDeclaration","scope":21263,"src":"28399:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21241,"name":"uint256","nodeType":"ElementaryTypeName","src":"28399:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21244,"mutability":"mutable","name":"p1","nameLocation":"28416:2:16","nodeType":"VariableDeclaration","scope":21263,"src":"28411:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21243,"name":"bool","nodeType":"ElementaryTypeName","src":"28411:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21246,"mutability":"mutable","name":"p2","nameLocation":"28428:2:16","nodeType":"VariableDeclaration","scope":21263,"src":"28420:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21245,"name":"address","nodeType":"ElementaryTypeName","src":"28420:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21248,"mutability":"mutable","name":"p3","nameLocation":"28440:2:16","nodeType":"VariableDeclaration","scope":21263,"src":"28432:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21247,"name":"uint256","nodeType":"ElementaryTypeName","src":"28432:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28398:45:16"},"returnParameters":{"id":21250,"nodeType":"ParameterList","parameters":[],"src":"28458:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21286,"nodeType":"FunctionDefinition","src":"28574:187:16","nodes":[],"body":{"id":21285,"nodeType":"Block","src":"28652:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c737472696e6729","id":21277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28702:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_ade052c70a8f7736e3d4ca12bfb5de52ba51cd4551a71eb41200e5ca9b193461","typeString":"literal_string \"log(uint256,bool,address,string)\""},"value":"log(uint256,bool,address,string)"},{"id":21278,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21265,"src":"28738:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21279,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21267,"src":"28742:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21280,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21269,"src":"28746:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21281,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21271,"src":"28750:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ade052c70a8f7736e3d4ca12bfb5de52ba51cd4551a71eb41200e5ca9b193461","typeString":"literal_string \"log(uint256,bool,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21275,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28678:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21276,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28682:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28678:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28678:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21274,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"28662:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28662:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21284,"nodeType":"ExpressionStatement","src":"28662:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28583:3:16","parameters":{"id":21272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21265,"mutability":"mutable","name":"p0","nameLocation":"28595:2:16","nodeType":"VariableDeclaration","scope":21286,"src":"28587:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21264,"name":"uint256","nodeType":"ElementaryTypeName","src":"28587:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21267,"mutability":"mutable","name":"p1","nameLocation":"28604:2:16","nodeType":"VariableDeclaration","scope":21286,"src":"28599:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21266,"name":"bool","nodeType":"ElementaryTypeName","src":"28599:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21269,"mutability":"mutable","name":"p2","nameLocation":"28616:2:16","nodeType":"VariableDeclaration","scope":21286,"src":"28608:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21268,"name":"address","nodeType":"ElementaryTypeName","src":"28608:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21271,"mutability":"mutable","name":"p3","nameLocation":"28634:2:16","nodeType":"VariableDeclaration","scope":21286,"src":"28620:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21270,"name":"string","nodeType":"ElementaryTypeName","src":"28620:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28586:51:16"},"returnParameters":{"id":21273,"nodeType":"ParameterList","parameters":[],"src":"28652:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21309,"nodeType":"FunctionDefinition","src":"28767:176:16","nodes":[],"body":{"id":21308,"nodeType":"Block","src":"28836:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c626f6f6c29","id":21300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28886:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_454d54a5a1119d55883b5fbee0d6f19af54017eb1650d2284224aac472880f6a","typeString":"literal_string \"log(uint256,bool,address,bool)\""},"value":"log(uint256,bool,address,bool)"},{"id":21301,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21288,"src":"28920:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21302,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21290,"src":"28924:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21303,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21292,"src":"28928:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21304,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21294,"src":"28932:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_454d54a5a1119d55883b5fbee0d6f19af54017eb1650d2284224aac472880f6a","typeString":"literal_string \"log(uint256,bool,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21298,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28862:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21299,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28866:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28862:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28862:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21297,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"28846:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28846:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21307,"nodeType":"ExpressionStatement","src":"28846:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28776:3:16","parameters":{"id":21295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21288,"mutability":"mutable","name":"p0","nameLocation":"28788:2:16","nodeType":"VariableDeclaration","scope":21309,"src":"28780:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21287,"name":"uint256","nodeType":"ElementaryTypeName","src":"28780:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21290,"mutability":"mutable","name":"p1","nameLocation":"28797:2:16","nodeType":"VariableDeclaration","scope":21309,"src":"28792:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21289,"name":"bool","nodeType":"ElementaryTypeName","src":"28792:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21292,"mutability":"mutable","name":"p2","nameLocation":"28809:2:16","nodeType":"VariableDeclaration","scope":21309,"src":"28801:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21291,"name":"address","nodeType":"ElementaryTypeName","src":"28801:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21294,"mutability":"mutable","name":"p3","nameLocation":"28818:2:16","nodeType":"VariableDeclaration","scope":21309,"src":"28813:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21293,"name":"bool","nodeType":"ElementaryTypeName","src":"28813:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28779:42:16"},"returnParameters":{"id":21296,"nodeType":"ParameterList","parameters":[],"src":"28836:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21332,"nodeType":"FunctionDefinition","src":"28949:182:16","nodes":[],"body":{"id":21331,"nodeType":"Block","src":"29021:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c6164647265737329","id":21323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29071:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1ef4cbbfd0316a849f14b661567c9c341a49bccb745dfb6a3d9b82c389ac190","typeString":"literal_string \"log(uint256,bool,address,address)\""},"value":"log(uint256,bool,address,address)"},{"id":21324,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21311,"src":"29108:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21325,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21313,"src":"29112:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21326,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21315,"src":"29116:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21327,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21317,"src":"29120:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1ef4cbbfd0316a849f14b661567c9c341a49bccb745dfb6a3d9b82c389ac190","typeString":"literal_string \"log(uint256,bool,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21321,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29047:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29051:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29047:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29047:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21320,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"29031:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29031:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21330,"nodeType":"ExpressionStatement","src":"29031:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28958:3:16","parameters":{"id":21318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21311,"mutability":"mutable","name":"p0","nameLocation":"28970:2:16","nodeType":"VariableDeclaration","scope":21332,"src":"28962:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21310,"name":"uint256","nodeType":"ElementaryTypeName","src":"28962:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21313,"mutability":"mutable","name":"p1","nameLocation":"28979:2:16","nodeType":"VariableDeclaration","scope":21332,"src":"28974:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21312,"name":"bool","nodeType":"ElementaryTypeName","src":"28974:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21315,"mutability":"mutable","name":"p2","nameLocation":"28991:2:16","nodeType":"VariableDeclaration","scope":21332,"src":"28983:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21314,"name":"address","nodeType":"ElementaryTypeName","src":"28983:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21317,"mutability":"mutable","name":"p3","nameLocation":"29003:2:16","nodeType":"VariableDeclaration","scope":21332,"src":"28995:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21316,"name":"address","nodeType":"ElementaryTypeName","src":"28995:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28961:45:16"},"returnParameters":{"id":21319,"nodeType":"ParameterList","parameters":[],"src":"29021:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21355,"nodeType":"FunctionDefinition","src":"29137:188:16","nodes":[],"body":{"id":21354,"nodeType":"Block","src":"29212:113:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c75696e7432353629","id":21346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29262:38:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c9cd9c12a2e17a9af800ac7e9a2b379066135ecb5b197bdb13381ac61cbc59a","typeString":"literal_string \"log(uint256,address,uint256,uint256)\""},"value":"log(uint256,address,uint256,uint256)"},{"id":21347,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21334,"src":"29302:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21348,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21336,"src":"29306:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21349,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21338,"src":"29310:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21350,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21340,"src":"29314:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0c9cd9c12a2e17a9af800ac7e9a2b379066135ecb5b197bdb13381ac61cbc59a","typeString":"literal_string \"log(uint256,address,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21344,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29238:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29242:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29238:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29238:79:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21343,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"29222:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29222:96:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21353,"nodeType":"ExpressionStatement","src":"29222:96:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29146:3:16","parameters":{"id":21341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21334,"mutability":"mutable","name":"p0","nameLocation":"29158:2:16","nodeType":"VariableDeclaration","scope":21355,"src":"29150:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21333,"name":"uint256","nodeType":"ElementaryTypeName","src":"29150:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21336,"mutability":"mutable","name":"p1","nameLocation":"29170:2:16","nodeType":"VariableDeclaration","scope":21355,"src":"29162:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21335,"name":"address","nodeType":"ElementaryTypeName","src":"29162:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21338,"mutability":"mutable","name":"p2","nameLocation":"29182:2:16","nodeType":"VariableDeclaration","scope":21355,"src":"29174:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21337,"name":"uint256","nodeType":"ElementaryTypeName","src":"29174:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21340,"mutability":"mutable","name":"p3","nameLocation":"29194:2:16","nodeType":"VariableDeclaration","scope":21355,"src":"29186:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21339,"name":"uint256","nodeType":"ElementaryTypeName","src":"29186:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29149:48:16"},"returnParameters":{"id":21342,"nodeType":"ParameterList","parameters":[],"src":"29212:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21378,"nodeType":"FunctionDefinition","src":"29331:193:16","nodes":[],"body":{"id":21377,"nodeType":"Block","src":"29412:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c737472696e6729","id":21369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29462:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_ddb06521f885b932f9898b05830c564a50fea82133f47ad308278affbd84d0bd","typeString":"literal_string \"log(uint256,address,uint256,string)\""},"value":"log(uint256,address,uint256,string)"},{"id":21370,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21357,"src":"29501:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21371,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21359,"src":"29505:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21372,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21361,"src":"29509:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21373,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21363,"src":"29513:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ddb06521f885b932f9898b05830c564a50fea82133f47ad308278affbd84d0bd","typeString":"literal_string \"log(uint256,address,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21367,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29438:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21368,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29442:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29438:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29438:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21366,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"29422:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29422:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21376,"nodeType":"ExpressionStatement","src":"29422:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29340:3:16","parameters":{"id":21364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21357,"mutability":"mutable","name":"p0","nameLocation":"29352:2:16","nodeType":"VariableDeclaration","scope":21378,"src":"29344:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21356,"name":"uint256","nodeType":"ElementaryTypeName","src":"29344:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21359,"mutability":"mutable","name":"p1","nameLocation":"29364:2:16","nodeType":"VariableDeclaration","scope":21378,"src":"29356:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21358,"name":"address","nodeType":"ElementaryTypeName","src":"29356:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21361,"mutability":"mutable","name":"p2","nameLocation":"29376:2:16","nodeType":"VariableDeclaration","scope":21378,"src":"29368:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21360,"name":"uint256","nodeType":"ElementaryTypeName","src":"29368:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21363,"mutability":"mutable","name":"p3","nameLocation":"29394:2:16","nodeType":"VariableDeclaration","scope":21378,"src":"29380:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21362,"name":"string","nodeType":"ElementaryTypeName","src":"29380:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29343:54:16"},"returnParameters":{"id":21365,"nodeType":"ParameterList","parameters":[],"src":"29412:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21401,"nodeType":"FunctionDefinition","src":"29530:182:16","nodes":[],"body":{"id":21400,"nodeType":"Block","src":"29602:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c626f6f6c29","id":21392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29652:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f743a7c155871069fb5e6df4e57e25e572bb3015b18294cc69630b2e0ae2e5f","typeString":"literal_string \"log(uint256,address,uint256,bool)\""},"value":"log(uint256,address,uint256,bool)"},{"id":21393,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21380,"src":"29689:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21394,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21382,"src":"29693:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21395,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21384,"src":"29697:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21396,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21386,"src":"29701:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f743a7c155871069fb5e6df4e57e25e572bb3015b18294cc69630b2e0ae2e5f","typeString":"literal_string \"log(uint256,address,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21390,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29628:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29632:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29628:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29628:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21389,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"29612:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29612:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21399,"nodeType":"ExpressionStatement","src":"29612:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29539:3:16","parameters":{"id":21387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21380,"mutability":"mutable","name":"p0","nameLocation":"29551:2:16","nodeType":"VariableDeclaration","scope":21401,"src":"29543:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21379,"name":"uint256","nodeType":"ElementaryTypeName","src":"29543:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21382,"mutability":"mutable","name":"p1","nameLocation":"29563:2:16","nodeType":"VariableDeclaration","scope":21401,"src":"29555:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21381,"name":"address","nodeType":"ElementaryTypeName","src":"29555:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21384,"mutability":"mutable","name":"p2","nameLocation":"29575:2:16","nodeType":"VariableDeclaration","scope":21401,"src":"29567:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21383,"name":"uint256","nodeType":"ElementaryTypeName","src":"29567:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21386,"mutability":"mutable","name":"p3","nameLocation":"29584:2:16","nodeType":"VariableDeclaration","scope":21401,"src":"29579:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21385,"name":"bool","nodeType":"ElementaryTypeName","src":"29579:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29542:45:16"},"returnParameters":{"id":21388,"nodeType":"ParameterList","parameters":[],"src":"29602:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21424,"nodeType":"FunctionDefinition","src":"29718:188:16","nodes":[],"body":{"id":21423,"nodeType":"Block","src":"29793:113:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c6164647265737329","id":21415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29843:38:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_15c127b50404cc1f9627d5115fd42bf400df548658b1002bf25e12f94854b379","typeString":"literal_string \"log(uint256,address,uint256,address)\""},"value":"log(uint256,address,uint256,address)"},{"id":21416,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21403,"src":"29883:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21417,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21405,"src":"29887:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21418,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21407,"src":"29891:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21419,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21409,"src":"29895:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_15c127b50404cc1f9627d5115fd42bf400df548658b1002bf25e12f94854b379","typeString":"literal_string \"log(uint256,address,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21413,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29819:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21414,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29823:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29819:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29819:79:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21412,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"29803:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29803:96:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21422,"nodeType":"ExpressionStatement","src":"29803:96:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29727:3:16","parameters":{"id":21410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21403,"mutability":"mutable","name":"p0","nameLocation":"29739:2:16","nodeType":"VariableDeclaration","scope":21424,"src":"29731:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21402,"name":"uint256","nodeType":"ElementaryTypeName","src":"29731:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21405,"mutability":"mutable","name":"p1","nameLocation":"29751:2:16","nodeType":"VariableDeclaration","scope":21424,"src":"29743:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21404,"name":"address","nodeType":"ElementaryTypeName","src":"29743:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21407,"mutability":"mutable","name":"p2","nameLocation":"29763:2:16","nodeType":"VariableDeclaration","scope":21424,"src":"29755:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21406,"name":"uint256","nodeType":"ElementaryTypeName","src":"29755:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21409,"mutability":"mutable","name":"p3","nameLocation":"29775:2:16","nodeType":"VariableDeclaration","scope":21424,"src":"29767:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21408,"name":"address","nodeType":"ElementaryTypeName","src":"29767:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29730:48:16"},"returnParameters":{"id":21411,"nodeType":"ParameterList","parameters":[],"src":"29793:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21447,"nodeType":"FunctionDefinition","src":"29912:193:16","nodes":[],"body":{"id":21446,"nodeType":"Block","src":"29993:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c75696e7432353629","id":21438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30043:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_46826b5dec5e8aeff4504f2c138d4e9c8aadb89d9034725f3050269a35303ba0","typeString":"literal_string \"log(uint256,address,string,uint256)\""},"value":"log(uint256,address,string,uint256)"},{"id":21439,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21426,"src":"30082:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21440,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21428,"src":"30086:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21441,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21430,"src":"30090:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21442,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21432,"src":"30094:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46826b5dec5e8aeff4504f2c138d4e9c8aadb89d9034725f3050269a35303ba0","typeString":"literal_string \"log(uint256,address,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21436,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30019:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30023:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30019:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30019:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21435,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"30003:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30003:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21445,"nodeType":"ExpressionStatement","src":"30003:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29921:3:16","parameters":{"id":21433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21426,"mutability":"mutable","name":"p0","nameLocation":"29933:2:16","nodeType":"VariableDeclaration","scope":21447,"src":"29925:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21425,"name":"uint256","nodeType":"ElementaryTypeName","src":"29925:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21428,"mutability":"mutable","name":"p1","nameLocation":"29945:2:16","nodeType":"VariableDeclaration","scope":21447,"src":"29937:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21427,"name":"address","nodeType":"ElementaryTypeName","src":"29937:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21430,"mutability":"mutable","name":"p2","nameLocation":"29963:2:16","nodeType":"VariableDeclaration","scope":21447,"src":"29949:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21429,"name":"string","nodeType":"ElementaryTypeName","src":"29949:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21432,"mutability":"mutable","name":"p3","nameLocation":"29975:2:16","nodeType":"VariableDeclaration","scope":21447,"src":"29967:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21431,"name":"uint256","nodeType":"ElementaryTypeName","src":"29967:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29924:54:16"},"returnParameters":{"id":21434,"nodeType":"ParameterList","parameters":[],"src":"29993:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21470,"nodeType":"FunctionDefinition","src":"30111:198:16","nodes":[],"body":{"id":21469,"nodeType":"Block","src":"30198:111:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c737472696e6729","id":21461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30248:36:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e128ca3cc785552dc4e62d3c73af79fb5f114dc6f0c0eb2bc0e3bdbbd4a1d3b","typeString":"literal_string \"log(uint256,address,string,string)\""},"value":"log(uint256,address,string,string)"},{"id":21462,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21449,"src":"30286:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21463,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21451,"src":"30290:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21464,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21453,"src":"30294:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21465,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21455,"src":"30298:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3e128ca3cc785552dc4e62d3c73af79fb5f114dc6f0c0eb2bc0e3bdbbd4a1d3b","typeString":"literal_string \"log(uint256,address,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21459,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30224:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21460,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30228:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30224:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30224:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21458,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"30208:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30208:94:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21468,"nodeType":"ExpressionStatement","src":"30208:94:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30120:3:16","parameters":{"id":21456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21449,"mutability":"mutable","name":"p0","nameLocation":"30132:2:16","nodeType":"VariableDeclaration","scope":21470,"src":"30124:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21448,"name":"uint256","nodeType":"ElementaryTypeName","src":"30124:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21451,"mutability":"mutable","name":"p1","nameLocation":"30144:2:16","nodeType":"VariableDeclaration","scope":21470,"src":"30136:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21450,"name":"address","nodeType":"ElementaryTypeName","src":"30136:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21453,"mutability":"mutable","name":"p2","nameLocation":"30162:2:16","nodeType":"VariableDeclaration","scope":21470,"src":"30148:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21452,"name":"string","nodeType":"ElementaryTypeName","src":"30148:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21455,"mutability":"mutable","name":"p3","nameLocation":"30180:2:16","nodeType":"VariableDeclaration","scope":21470,"src":"30166:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21454,"name":"string","nodeType":"ElementaryTypeName","src":"30166:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30123:60:16"},"returnParameters":{"id":21457,"nodeType":"ParameterList","parameters":[],"src":"30198:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21493,"nodeType":"FunctionDefinition","src":"30315:187:16","nodes":[],"body":{"id":21492,"nodeType":"Block","src":"30393:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c626f6f6c29","id":21484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30443:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_cc32ab07df108ae88df1c6b9771e60e5cd39cbe0f0e92481af8633000db2c64b","typeString":"literal_string \"log(uint256,address,string,bool)\""},"value":"log(uint256,address,string,bool)"},{"id":21485,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21472,"src":"30479:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21486,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21474,"src":"30483:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21487,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21476,"src":"30487:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21488,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21478,"src":"30491:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cc32ab07df108ae88df1c6b9771e60e5cd39cbe0f0e92481af8633000db2c64b","typeString":"literal_string \"log(uint256,address,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21482,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30419:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21483,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30423:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30419:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30419:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21481,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"30403:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30403:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21491,"nodeType":"ExpressionStatement","src":"30403:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30324:3:16","parameters":{"id":21479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21472,"mutability":"mutable","name":"p0","nameLocation":"30336:2:16","nodeType":"VariableDeclaration","scope":21493,"src":"30328:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21471,"name":"uint256","nodeType":"ElementaryTypeName","src":"30328:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21474,"mutability":"mutable","name":"p1","nameLocation":"30348:2:16","nodeType":"VariableDeclaration","scope":21493,"src":"30340:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21473,"name":"address","nodeType":"ElementaryTypeName","src":"30340:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21476,"mutability":"mutable","name":"p2","nameLocation":"30366:2:16","nodeType":"VariableDeclaration","scope":21493,"src":"30352:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21475,"name":"string","nodeType":"ElementaryTypeName","src":"30352:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21478,"mutability":"mutable","name":"p3","nameLocation":"30375:2:16","nodeType":"VariableDeclaration","scope":21493,"src":"30370:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21477,"name":"bool","nodeType":"ElementaryTypeName","src":"30370:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30327:51:16"},"returnParameters":{"id":21480,"nodeType":"ParameterList","parameters":[],"src":"30393:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21516,"nodeType":"FunctionDefinition","src":"30508:193:16","nodes":[],"body":{"id":21515,"nodeType":"Block","src":"30589:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c6164647265737329","id":21507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30639:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_9cba8fffa4a3e6f47d307a71f619bf1719d0a75680c6c916d7776ea0341039b9","typeString":"literal_string \"log(uint256,address,string,address)\""},"value":"log(uint256,address,string,address)"},{"id":21508,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21495,"src":"30678:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21509,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21497,"src":"30682:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21510,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21499,"src":"30686:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21511,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21501,"src":"30690:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9cba8fffa4a3e6f47d307a71f619bf1719d0a75680c6c916d7776ea0341039b9","typeString":"literal_string \"log(uint256,address,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21505,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30615:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30619:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30615:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30615:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21504,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"30599:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30599:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21514,"nodeType":"ExpressionStatement","src":"30599:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30517:3:16","parameters":{"id":21502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21495,"mutability":"mutable","name":"p0","nameLocation":"30529:2:16","nodeType":"VariableDeclaration","scope":21516,"src":"30521:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21494,"name":"uint256","nodeType":"ElementaryTypeName","src":"30521:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21497,"mutability":"mutable","name":"p1","nameLocation":"30541:2:16","nodeType":"VariableDeclaration","scope":21516,"src":"30533:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21496,"name":"address","nodeType":"ElementaryTypeName","src":"30533:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21499,"mutability":"mutable","name":"p2","nameLocation":"30559:2:16","nodeType":"VariableDeclaration","scope":21516,"src":"30545:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21498,"name":"string","nodeType":"ElementaryTypeName","src":"30545:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21501,"mutability":"mutable","name":"p3","nameLocation":"30571:2:16","nodeType":"VariableDeclaration","scope":21516,"src":"30563:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21500,"name":"address","nodeType":"ElementaryTypeName","src":"30563:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30520:54:16"},"returnParameters":{"id":21503,"nodeType":"ParameterList","parameters":[],"src":"30589:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21539,"nodeType":"FunctionDefinition","src":"30707:182:16","nodes":[],"body":{"id":21538,"nodeType":"Block","src":"30779:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c75696e7432353629","id":21530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30829:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_5abd992a7a64be8afc8745d44215dd5b4a31f8b03abd4cb03ff6565b7f51c1b1","typeString":"literal_string \"log(uint256,address,bool,uint256)\""},"value":"log(uint256,address,bool,uint256)"},{"id":21531,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21518,"src":"30866:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21532,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21520,"src":"30870:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21533,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21522,"src":"30874:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21534,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21524,"src":"30878:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5abd992a7a64be8afc8745d44215dd5b4a31f8b03abd4cb03ff6565b7f51c1b1","typeString":"literal_string \"log(uint256,address,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21528,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30805:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21529,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30809:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30805:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30805:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21527,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"30789:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30789:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21537,"nodeType":"ExpressionStatement","src":"30789:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30716:3:16","parameters":{"id":21525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21518,"mutability":"mutable","name":"p0","nameLocation":"30728:2:16","nodeType":"VariableDeclaration","scope":21539,"src":"30720:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21517,"name":"uint256","nodeType":"ElementaryTypeName","src":"30720:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21520,"mutability":"mutable","name":"p1","nameLocation":"30740:2:16","nodeType":"VariableDeclaration","scope":21539,"src":"30732:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21519,"name":"address","nodeType":"ElementaryTypeName","src":"30732:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21522,"mutability":"mutable","name":"p2","nameLocation":"30749:2:16","nodeType":"VariableDeclaration","scope":21539,"src":"30744:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21521,"name":"bool","nodeType":"ElementaryTypeName","src":"30744:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21524,"mutability":"mutable","name":"p3","nameLocation":"30761:2:16","nodeType":"VariableDeclaration","scope":21539,"src":"30753:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21523,"name":"uint256","nodeType":"ElementaryTypeName","src":"30753:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30719:45:16"},"returnParameters":{"id":21526,"nodeType":"ParameterList","parameters":[],"src":"30779:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21562,"nodeType":"FunctionDefinition","src":"30895:187:16","nodes":[],"body":{"id":21561,"nodeType":"Block","src":"30973:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c737472696e6729","id":21553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31023:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_90fb06aa0f94ddb9149d9a0d0271a9fd2b331af93ebc6a4aece22e4f82154c7d","typeString":"literal_string \"log(uint256,address,bool,string)\""},"value":"log(uint256,address,bool,string)"},{"id":21554,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21541,"src":"31059:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21555,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21543,"src":"31063:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21556,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21545,"src":"31067:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21557,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21547,"src":"31071:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90fb06aa0f94ddb9149d9a0d0271a9fd2b331af93ebc6a4aece22e4f82154c7d","typeString":"literal_string \"log(uint256,address,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21551,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30999:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31003:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30999:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30999:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21550,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"30983:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30983:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21560,"nodeType":"ExpressionStatement","src":"30983:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30904:3:16","parameters":{"id":21548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21541,"mutability":"mutable","name":"p0","nameLocation":"30916:2:16","nodeType":"VariableDeclaration","scope":21562,"src":"30908:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21540,"name":"uint256","nodeType":"ElementaryTypeName","src":"30908:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21543,"mutability":"mutable","name":"p1","nameLocation":"30928:2:16","nodeType":"VariableDeclaration","scope":21562,"src":"30920:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21542,"name":"address","nodeType":"ElementaryTypeName","src":"30920:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21545,"mutability":"mutable","name":"p2","nameLocation":"30937:2:16","nodeType":"VariableDeclaration","scope":21562,"src":"30932:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21544,"name":"bool","nodeType":"ElementaryTypeName","src":"30932:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21547,"mutability":"mutable","name":"p3","nameLocation":"30955:2:16","nodeType":"VariableDeclaration","scope":21562,"src":"30941:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21546,"name":"string","nodeType":"ElementaryTypeName","src":"30941:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30907:51:16"},"returnParameters":{"id":21549,"nodeType":"ParameterList","parameters":[],"src":"30973:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21585,"nodeType":"FunctionDefinition","src":"31088:176:16","nodes":[],"body":{"id":21584,"nodeType":"Block","src":"31157:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c626f6f6c29","id":21576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31207:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_e351140f919f09731a4793c7bb4d5f07234902f499ced9e1e3c9639d2685c6f1","typeString":"literal_string \"log(uint256,address,bool,bool)\""},"value":"log(uint256,address,bool,bool)"},{"id":21577,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21564,"src":"31241:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21578,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21566,"src":"31245:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21579,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21568,"src":"31249:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21580,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21570,"src":"31253:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e351140f919f09731a4793c7bb4d5f07234902f499ced9e1e3c9639d2685c6f1","typeString":"literal_string \"log(uint256,address,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21574,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31183:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21575,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31187:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31183:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31183:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21573,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"31167:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31167:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21583,"nodeType":"ExpressionStatement","src":"31167:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31097:3:16","parameters":{"id":21571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21564,"mutability":"mutable","name":"p0","nameLocation":"31109:2:16","nodeType":"VariableDeclaration","scope":21585,"src":"31101:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21563,"name":"uint256","nodeType":"ElementaryTypeName","src":"31101:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21566,"mutability":"mutable","name":"p1","nameLocation":"31121:2:16","nodeType":"VariableDeclaration","scope":21585,"src":"31113:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21565,"name":"address","nodeType":"ElementaryTypeName","src":"31113:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21568,"mutability":"mutable","name":"p2","nameLocation":"31130:2:16","nodeType":"VariableDeclaration","scope":21585,"src":"31125:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21567,"name":"bool","nodeType":"ElementaryTypeName","src":"31125:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21570,"mutability":"mutable","name":"p3","nameLocation":"31139:2:16","nodeType":"VariableDeclaration","scope":21585,"src":"31134:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21569,"name":"bool","nodeType":"ElementaryTypeName","src":"31134:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31100:42:16"},"returnParameters":{"id":21572,"nodeType":"ParameterList","parameters":[],"src":"31157:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21608,"nodeType":"FunctionDefinition","src":"31270:182:16","nodes":[],"body":{"id":21607,"nodeType":"Block","src":"31342:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c6164647265737329","id":21599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31392:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef72c5130890d3b81e89bdbf9a039a84547328dd01c955d6bb1088aaf2252d05","typeString":"literal_string \"log(uint256,address,bool,address)\""},"value":"log(uint256,address,bool,address)"},{"id":21600,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21587,"src":"31429:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21601,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21589,"src":"31433:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21602,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21591,"src":"31437:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21603,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21593,"src":"31441:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef72c5130890d3b81e89bdbf9a039a84547328dd01c955d6bb1088aaf2252d05","typeString":"literal_string \"log(uint256,address,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21597,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31368:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21598,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31372:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31368:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31368:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21596,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"31352:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31352:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21606,"nodeType":"ExpressionStatement","src":"31352:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31279:3:16","parameters":{"id":21594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21587,"mutability":"mutable","name":"p0","nameLocation":"31291:2:16","nodeType":"VariableDeclaration","scope":21608,"src":"31283:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21586,"name":"uint256","nodeType":"ElementaryTypeName","src":"31283:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21589,"mutability":"mutable","name":"p1","nameLocation":"31303:2:16","nodeType":"VariableDeclaration","scope":21608,"src":"31295:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21588,"name":"address","nodeType":"ElementaryTypeName","src":"31295:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21591,"mutability":"mutable","name":"p2","nameLocation":"31312:2:16","nodeType":"VariableDeclaration","scope":21608,"src":"31307:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21590,"name":"bool","nodeType":"ElementaryTypeName","src":"31307:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21593,"mutability":"mutable","name":"p3","nameLocation":"31324:2:16","nodeType":"VariableDeclaration","scope":21608,"src":"31316:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21592,"name":"address","nodeType":"ElementaryTypeName","src":"31316:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31282:45:16"},"returnParameters":{"id":21595,"nodeType":"ParameterList","parameters":[],"src":"31342:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21631,"nodeType":"FunctionDefinition","src":"31458:188:16","nodes":[],"body":{"id":21630,"nodeType":"Block","src":"31533:113:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c75696e7432353629","id":21622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31583:38:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_736efbb692cd4ba0c879f89673f1c5a7eb58e7bd2b833c4d30d41d3aa9c7a23a","typeString":"literal_string \"log(uint256,address,address,uint256)\""},"value":"log(uint256,address,address,uint256)"},{"id":21623,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21610,"src":"31623:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21624,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21612,"src":"31627:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21625,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21614,"src":"31631:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21626,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21616,"src":"31635:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_736efbb692cd4ba0c879f89673f1c5a7eb58e7bd2b833c4d30d41d3aa9c7a23a","typeString":"literal_string \"log(uint256,address,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21620,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31559:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21621,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31563:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31559:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31559:79:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21619,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"31543:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31543:96:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21629,"nodeType":"ExpressionStatement","src":"31543:96:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31467:3:16","parameters":{"id":21617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21610,"mutability":"mutable","name":"p0","nameLocation":"31479:2:16","nodeType":"VariableDeclaration","scope":21631,"src":"31471:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21609,"name":"uint256","nodeType":"ElementaryTypeName","src":"31471:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21612,"mutability":"mutable","name":"p1","nameLocation":"31491:2:16","nodeType":"VariableDeclaration","scope":21631,"src":"31483:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21611,"name":"address","nodeType":"ElementaryTypeName","src":"31483:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21614,"mutability":"mutable","name":"p2","nameLocation":"31503:2:16","nodeType":"VariableDeclaration","scope":21631,"src":"31495:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21613,"name":"address","nodeType":"ElementaryTypeName","src":"31495:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21616,"mutability":"mutable","name":"p3","nameLocation":"31515:2:16","nodeType":"VariableDeclaration","scope":21631,"src":"31507:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21615,"name":"uint256","nodeType":"ElementaryTypeName","src":"31507:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31470:48:16"},"returnParameters":{"id":21618,"nodeType":"ParameterList","parameters":[],"src":"31533:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21654,"nodeType":"FunctionDefinition","src":"31652:193:16","nodes":[],"body":{"id":21653,"nodeType":"Block","src":"31733:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c737472696e6729","id":21645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31783:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_031c6f73458c2a0d841ad5d5914dceb24973d9df898a3826eec79330397cd882","typeString":"literal_string \"log(uint256,address,address,string)\""},"value":"log(uint256,address,address,string)"},{"id":21646,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21633,"src":"31822:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21647,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21635,"src":"31826:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21648,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21637,"src":"31830:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21649,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21639,"src":"31834:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_031c6f73458c2a0d841ad5d5914dceb24973d9df898a3826eec79330397cd882","typeString":"literal_string \"log(uint256,address,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21643,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31759:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21644,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31763:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31759:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31759:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21642,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"31743:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31743:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21652,"nodeType":"ExpressionStatement","src":"31743:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31661:3:16","parameters":{"id":21640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21633,"mutability":"mutable","name":"p0","nameLocation":"31673:2:16","nodeType":"VariableDeclaration","scope":21654,"src":"31665:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21632,"name":"uint256","nodeType":"ElementaryTypeName","src":"31665:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21635,"mutability":"mutable","name":"p1","nameLocation":"31685:2:16","nodeType":"VariableDeclaration","scope":21654,"src":"31677:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21634,"name":"address","nodeType":"ElementaryTypeName","src":"31677:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21637,"mutability":"mutable","name":"p2","nameLocation":"31697:2:16","nodeType":"VariableDeclaration","scope":21654,"src":"31689:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21636,"name":"address","nodeType":"ElementaryTypeName","src":"31689:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21639,"mutability":"mutable","name":"p3","nameLocation":"31715:2:16","nodeType":"VariableDeclaration","scope":21654,"src":"31701:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21638,"name":"string","nodeType":"ElementaryTypeName","src":"31701:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31664:54:16"},"returnParameters":{"id":21641,"nodeType":"ParameterList","parameters":[],"src":"31733:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21677,"nodeType":"FunctionDefinition","src":"31851:182:16","nodes":[],"body":{"id":21676,"nodeType":"Block","src":"31923:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c626f6f6c29","id":21668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31973:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_091ffaf5e3365a794bfeb97b8157886a9ba00c981ee88d8a8fdb0cc96a5e6c1d","typeString":"literal_string \"log(uint256,address,address,bool)\""},"value":"log(uint256,address,address,bool)"},{"id":21669,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21656,"src":"32010:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21670,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21658,"src":"32014:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21671,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21660,"src":"32018:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21672,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21662,"src":"32022:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_091ffaf5e3365a794bfeb97b8157886a9ba00c981ee88d8a8fdb0cc96a5e6c1d","typeString":"literal_string \"log(uint256,address,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21666,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31949:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21667,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31953:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31949:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31949:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21665,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"31933:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31933:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21675,"nodeType":"ExpressionStatement","src":"31933:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31860:3:16","parameters":{"id":21663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21656,"mutability":"mutable","name":"p0","nameLocation":"31872:2:16","nodeType":"VariableDeclaration","scope":21677,"src":"31864:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21655,"name":"uint256","nodeType":"ElementaryTypeName","src":"31864:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21658,"mutability":"mutable","name":"p1","nameLocation":"31884:2:16","nodeType":"VariableDeclaration","scope":21677,"src":"31876:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21657,"name":"address","nodeType":"ElementaryTypeName","src":"31876:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21660,"mutability":"mutable","name":"p2","nameLocation":"31896:2:16","nodeType":"VariableDeclaration","scope":21677,"src":"31888:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21659,"name":"address","nodeType":"ElementaryTypeName","src":"31888:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21662,"mutability":"mutable","name":"p3","nameLocation":"31905:2:16","nodeType":"VariableDeclaration","scope":21677,"src":"31900:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21661,"name":"bool","nodeType":"ElementaryTypeName","src":"31900:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31863:45:16"},"returnParameters":{"id":21664,"nodeType":"ParameterList","parameters":[],"src":"31923:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21700,"nodeType":"FunctionDefinition","src":"32039:188:16","nodes":[],"body":{"id":21699,"nodeType":"Block","src":"32114:113:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c6164647265737329","id":21691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32164:38:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_2488b414330cbd4ddab2b849dacd8bed50b19b82318ec6e4a5ccdf72ee519553","typeString":"literal_string \"log(uint256,address,address,address)\""},"value":"log(uint256,address,address,address)"},{"id":21692,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21679,"src":"32204:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21693,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21681,"src":"32208:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21694,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21683,"src":"32212:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21695,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21685,"src":"32216:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2488b414330cbd4ddab2b849dacd8bed50b19b82318ec6e4a5ccdf72ee519553","typeString":"literal_string \"log(uint256,address,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21689,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32140:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21690,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32144:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32140:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32140:79:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21688,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"32124:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32124:96:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21698,"nodeType":"ExpressionStatement","src":"32124:96:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32048:3:16","parameters":{"id":21686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21679,"mutability":"mutable","name":"p0","nameLocation":"32060:2:16","nodeType":"VariableDeclaration","scope":21700,"src":"32052:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21678,"name":"uint256","nodeType":"ElementaryTypeName","src":"32052:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21681,"mutability":"mutable","name":"p1","nameLocation":"32072:2:16","nodeType":"VariableDeclaration","scope":21700,"src":"32064:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21680,"name":"address","nodeType":"ElementaryTypeName","src":"32064:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21683,"mutability":"mutable","name":"p2","nameLocation":"32084:2:16","nodeType":"VariableDeclaration","scope":21700,"src":"32076:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21682,"name":"address","nodeType":"ElementaryTypeName","src":"32076:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21685,"mutability":"mutable","name":"p3","nameLocation":"32096:2:16","nodeType":"VariableDeclaration","scope":21700,"src":"32088:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21684,"name":"address","nodeType":"ElementaryTypeName","src":"32088:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32051:48:16"},"returnParameters":{"id":21687,"nodeType":"ParameterList","parameters":[],"src":"32114:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21723,"nodeType":"FunctionDefinition","src":"32233:193:16","nodes":[],"body":{"id":21722,"nodeType":"Block","src":"32314:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c75696e7432353629","id":21714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32364:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_a7a8785394d9aadf7945b4e3d27726dea716dc88e3f64cc80b3aa9abbd2751c5","typeString":"literal_string \"log(string,uint256,uint256,uint256)\""},"value":"log(string,uint256,uint256,uint256)"},{"id":21715,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21702,"src":"32403:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21716,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21704,"src":"32407:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21717,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21706,"src":"32411:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21718,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21708,"src":"32415:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a7a8785394d9aadf7945b4e3d27726dea716dc88e3f64cc80b3aa9abbd2751c5","typeString":"literal_string \"log(string,uint256,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21712,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32340:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21713,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32344:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32340:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32340:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21711,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"32324:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32324:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21721,"nodeType":"ExpressionStatement","src":"32324:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32242:3:16","parameters":{"id":21709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21702,"mutability":"mutable","name":"p0","nameLocation":"32260:2:16","nodeType":"VariableDeclaration","scope":21723,"src":"32246:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21701,"name":"string","nodeType":"ElementaryTypeName","src":"32246:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21704,"mutability":"mutable","name":"p1","nameLocation":"32272:2:16","nodeType":"VariableDeclaration","scope":21723,"src":"32264:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21703,"name":"uint256","nodeType":"ElementaryTypeName","src":"32264:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21706,"mutability":"mutable","name":"p2","nameLocation":"32284:2:16","nodeType":"VariableDeclaration","scope":21723,"src":"32276:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21705,"name":"uint256","nodeType":"ElementaryTypeName","src":"32276:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21708,"mutability":"mutable","name":"p3","nameLocation":"32296:2:16","nodeType":"VariableDeclaration","scope":21723,"src":"32288:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21707,"name":"uint256","nodeType":"ElementaryTypeName","src":"32288:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32245:54:16"},"returnParameters":{"id":21710,"nodeType":"ParameterList","parameters":[],"src":"32314:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21746,"nodeType":"FunctionDefinition","src":"32432:198:16","nodes":[],"body":{"id":21745,"nodeType":"Block","src":"32519:111:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c737472696e6729","id":21737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32569:36:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_854b34964800cd321ba295da547026c9cfe69753667a81487e80d237f63c927f","typeString":"literal_string \"log(string,uint256,uint256,string)\""},"value":"log(string,uint256,uint256,string)"},{"id":21738,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21725,"src":"32607:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21739,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21727,"src":"32611:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21740,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21729,"src":"32615:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21741,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21731,"src":"32619:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_854b34964800cd321ba295da547026c9cfe69753667a81487e80d237f63c927f","typeString":"literal_string \"log(string,uint256,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21735,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32545:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21736,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32549:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32545:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32545:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21734,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"32529:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32529:94:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21744,"nodeType":"ExpressionStatement","src":"32529:94:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32441:3:16","parameters":{"id":21732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21725,"mutability":"mutable","name":"p0","nameLocation":"32459:2:16","nodeType":"VariableDeclaration","scope":21746,"src":"32445:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21724,"name":"string","nodeType":"ElementaryTypeName","src":"32445:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21727,"mutability":"mutable","name":"p1","nameLocation":"32471:2:16","nodeType":"VariableDeclaration","scope":21746,"src":"32463:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21726,"name":"uint256","nodeType":"ElementaryTypeName","src":"32463:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21729,"mutability":"mutable","name":"p2","nameLocation":"32483:2:16","nodeType":"VariableDeclaration","scope":21746,"src":"32475:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21728,"name":"uint256","nodeType":"ElementaryTypeName","src":"32475:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21731,"mutability":"mutable","name":"p3","nameLocation":"32501:2:16","nodeType":"VariableDeclaration","scope":21746,"src":"32487:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21730,"name":"string","nodeType":"ElementaryTypeName","src":"32487:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32444:60:16"},"returnParameters":{"id":21733,"nodeType":"ParameterList","parameters":[],"src":"32519:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21769,"nodeType":"FunctionDefinition","src":"32636:187:16","nodes":[],"body":{"id":21768,"nodeType":"Block","src":"32714:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c626f6f6c29","id":21760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32764:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_7626db92bcbe8fb38799da91134ebae6bc6c7b10cb0db567e752720b8fd9ae0f","typeString":"literal_string \"log(string,uint256,uint256,bool)\""},"value":"log(string,uint256,uint256,bool)"},{"id":21761,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21748,"src":"32800:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21762,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21750,"src":"32804:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21763,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21752,"src":"32808:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21764,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21754,"src":"32812:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7626db92bcbe8fb38799da91134ebae6bc6c7b10cb0db567e752720b8fd9ae0f","typeString":"literal_string \"log(string,uint256,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21758,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32740:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21759,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32744:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32740:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32740:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21757,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"32724:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32724:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21767,"nodeType":"ExpressionStatement","src":"32724:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32645:3:16","parameters":{"id":21755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21748,"mutability":"mutable","name":"p0","nameLocation":"32663:2:16","nodeType":"VariableDeclaration","scope":21769,"src":"32649:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21747,"name":"string","nodeType":"ElementaryTypeName","src":"32649:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21750,"mutability":"mutable","name":"p1","nameLocation":"32675:2:16","nodeType":"VariableDeclaration","scope":21769,"src":"32667:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21749,"name":"uint256","nodeType":"ElementaryTypeName","src":"32667:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21752,"mutability":"mutable","name":"p2","nameLocation":"32687:2:16","nodeType":"VariableDeclaration","scope":21769,"src":"32679:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21751,"name":"uint256","nodeType":"ElementaryTypeName","src":"32679:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21754,"mutability":"mutable","name":"p3","nameLocation":"32696:2:16","nodeType":"VariableDeclaration","scope":21769,"src":"32691:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21753,"name":"bool","nodeType":"ElementaryTypeName","src":"32691:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32648:51:16"},"returnParameters":{"id":21756,"nodeType":"ParameterList","parameters":[],"src":"32714:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21792,"nodeType":"FunctionDefinition","src":"32829:193:16","nodes":[],"body":{"id":21791,"nodeType":"Block","src":"32910:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c6164647265737329","id":21783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32960:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_e21de278b3902dab5803384c9ad03fb95c973bc87490e387079e41c7f244f118","typeString":"literal_string \"log(string,uint256,uint256,address)\""},"value":"log(string,uint256,uint256,address)"},{"id":21784,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21771,"src":"32999:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21785,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21773,"src":"33003:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21786,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21775,"src":"33007:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21787,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21777,"src":"33011:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e21de278b3902dab5803384c9ad03fb95c973bc87490e387079e41c7f244f118","typeString":"literal_string \"log(string,uint256,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21781,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32936:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32940:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32936:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32936:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21780,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"32920:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32920:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21790,"nodeType":"ExpressionStatement","src":"32920:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32838:3:16","parameters":{"id":21778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21771,"mutability":"mutable","name":"p0","nameLocation":"32856:2:16","nodeType":"VariableDeclaration","scope":21792,"src":"32842:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21770,"name":"string","nodeType":"ElementaryTypeName","src":"32842:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21773,"mutability":"mutable","name":"p1","nameLocation":"32868:2:16","nodeType":"VariableDeclaration","scope":21792,"src":"32860:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21772,"name":"uint256","nodeType":"ElementaryTypeName","src":"32860:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21775,"mutability":"mutable","name":"p2","nameLocation":"32880:2:16","nodeType":"VariableDeclaration","scope":21792,"src":"32872:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21774,"name":"uint256","nodeType":"ElementaryTypeName","src":"32872:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21777,"mutability":"mutable","name":"p3","nameLocation":"32892:2:16","nodeType":"VariableDeclaration","scope":21792,"src":"32884:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21776,"name":"address","nodeType":"ElementaryTypeName","src":"32884:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32841:54:16"},"returnParameters":{"id":21779,"nodeType":"ParameterList","parameters":[],"src":"32910:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21815,"nodeType":"FunctionDefinition","src":"33028:198:16","nodes":[],"body":{"id":21814,"nodeType":"Block","src":"33115:111:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c75696e7432353629","id":21806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33165:36:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_c67ea9d1db4353b82da41ad5e5b85243320ba3a89399b41c13eee1ab804e84c9","typeString":"literal_string \"log(string,uint256,string,uint256)\""},"value":"log(string,uint256,string,uint256)"},{"id":21807,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21794,"src":"33203:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21808,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21796,"src":"33207:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21809,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21798,"src":"33211:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21810,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21800,"src":"33215:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c67ea9d1db4353b82da41ad5e5b85243320ba3a89399b41c13eee1ab804e84c9","typeString":"literal_string \"log(string,uint256,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21804,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33141:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21805,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33145:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33141:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33141:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21803,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"33125:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33125:94:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21813,"nodeType":"ExpressionStatement","src":"33125:94:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33037:3:16","parameters":{"id":21801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21794,"mutability":"mutable","name":"p0","nameLocation":"33055:2:16","nodeType":"VariableDeclaration","scope":21815,"src":"33041:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21793,"name":"string","nodeType":"ElementaryTypeName","src":"33041:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21796,"mutability":"mutable","name":"p1","nameLocation":"33067:2:16","nodeType":"VariableDeclaration","scope":21815,"src":"33059:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21795,"name":"uint256","nodeType":"ElementaryTypeName","src":"33059:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21798,"mutability":"mutable","name":"p2","nameLocation":"33085:2:16","nodeType":"VariableDeclaration","scope":21815,"src":"33071:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21797,"name":"string","nodeType":"ElementaryTypeName","src":"33071:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21800,"mutability":"mutable","name":"p3","nameLocation":"33097:2:16","nodeType":"VariableDeclaration","scope":21815,"src":"33089:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21799,"name":"uint256","nodeType":"ElementaryTypeName","src":"33089:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33040:60:16"},"returnParameters":{"id":21802,"nodeType":"ParameterList","parameters":[],"src":"33115:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21838,"nodeType":"FunctionDefinition","src":"33232:203:16","nodes":[],"body":{"id":21837,"nodeType":"Block","src":"33325:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c737472696e6729","id":21829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33375:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ab84e1fba099b79ad99dc62242807811428e5c36b5f473a3b74e319a04c4089","typeString":"literal_string \"log(string,uint256,string,string)\""},"value":"log(string,uint256,string,string)"},{"id":21830,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21817,"src":"33412:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21831,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21819,"src":"33416:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21832,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21821,"src":"33420:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21833,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21823,"src":"33424:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ab84e1fba099b79ad99dc62242807811428e5c36b5f473a3b74e319a04c4089","typeString":"literal_string \"log(string,uint256,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21827,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33351:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21828,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33355:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33351:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33351:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21826,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"33335:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33335:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21836,"nodeType":"ExpressionStatement","src":"33335:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33241:3:16","parameters":{"id":21824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21817,"mutability":"mutable","name":"p0","nameLocation":"33259:2:16","nodeType":"VariableDeclaration","scope":21838,"src":"33245:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21816,"name":"string","nodeType":"ElementaryTypeName","src":"33245:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21819,"mutability":"mutable","name":"p1","nameLocation":"33271:2:16","nodeType":"VariableDeclaration","scope":21838,"src":"33263:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21818,"name":"uint256","nodeType":"ElementaryTypeName","src":"33263:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21821,"mutability":"mutable","name":"p2","nameLocation":"33289:2:16","nodeType":"VariableDeclaration","scope":21838,"src":"33275:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21820,"name":"string","nodeType":"ElementaryTypeName","src":"33275:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21823,"mutability":"mutable","name":"p3","nameLocation":"33307:2:16","nodeType":"VariableDeclaration","scope":21838,"src":"33293:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21822,"name":"string","nodeType":"ElementaryTypeName","src":"33293:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33244:66:16"},"returnParameters":{"id":21825,"nodeType":"ParameterList","parameters":[],"src":"33325:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21861,"nodeType":"FunctionDefinition","src":"33441:192:16","nodes":[],"body":{"id":21860,"nodeType":"Block","src":"33525:108:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c626f6f6c29","id":21852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33575:33:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_7d24491d69f4bc88a6e68cd8228b6698af11fe37f60f65c80e3f11428a8eba2f","typeString":"literal_string \"log(string,uint256,string,bool)\""},"value":"log(string,uint256,string,bool)"},{"id":21853,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21840,"src":"33610:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21854,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21842,"src":"33614:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21855,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21844,"src":"33618:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21856,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21846,"src":"33622:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7d24491d69f4bc88a6e68cd8228b6698af11fe37f60f65c80e3f11428a8eba2f","typeString":"literal_string \"log(string,uint256,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21850,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33551:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33555:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33551:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33551:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21849,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"33535:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33535:91:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21859,"nodeType":"ExpressionStatement","src":"33535:91:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33450:3:16","parameters":{"id":21847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21840,"mutability":"mutable","name":"p0","nameLocation":"33468:2:16","nodeType":"VariableDeclaration","scope":21861,"src":"33454:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21839,"name":"string","nodeType":"ElementaryTypeName","src":"33454:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21842,"mutability":"mutable","name":"p1","nameLocation":"33480:2:16","nodeType":"VariableDeclaration","scope":21861,"src":"33472:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21841,"name":"uint256","nodeType":"ElementaryTypeName","src":"33472:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21844,"mutability":"mutable","name":"p2","nameLocation":"33498:2:16","nodeType":"VariableDeclaration","scope":21861,"src":"33484:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21843,"name":"string","nodeType":"ElementaryTypeName","src":"33484:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21846,"mutability":"mutable","name":"p3","nameLocation":"33507:2:16","nodeType":"VariableDeclaration","scope":21861,"src":"33502:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21845,"name":"bool","nodeType":"ElementaryTypeName","src":"33502:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33453:57:16"},"returnParameters":{"id":21848,"nodeType":"ParameterList","parameters":[],"src":"33525:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21884,"nodeType":"FunctionDefinition","src":"33639:198:16","nodes":[],"body":{"id":21883,"nodeType":"Block","src":"33726:111:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c6164647265737329","id":21875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33776:36:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_7c4632a48572fa2d4647539e525c9742d692f8e780540d6116f897ab472257cb","typeString":"literal_string \"log(string,uint256,string,address)\""},"value":"log(string,uint256,string,address)"},{"id":21876,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21863,"src":"33814:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21877,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21865,"src":"33818:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21878,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21867,"src":"33822:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21879,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21869,"src":"33826:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7c4632a48572fa2d4647539e525c9742d692f8e780540d6116f897ab472257cb","typeString":"literal_string \"log(string,uint256,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21873,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33752:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21874,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33756:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33752:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33752:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21872,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"33736:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33736:94:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21882,"nodeType":"ExpressionStatement","src":"33736:94:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33648:3:16","parameters":{"id":21870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21863,"mutability":"mutable","name":"p0","nameLocation":"33666:2:16","nodeType":"VariableDeclaration","scope":21884,"src":"33652:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21862,"name":"string","nodeType":"ElementaryTypeName","src":"33652:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21865,"mutability":"mutable","name":"p1","nameLocation":"33678:2:16","nodeType":"VariableDeclaration","scope":21884,"src":"33670:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21864,"name":"uint256","nodeType":"ElementaryTypeName","src":"33670:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21867,"mutability":"mutable","name":"p2","nameLocation":"33696:2:16","nodeType":"VariableDeclaration","scope":21884,"src":"33682:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21866,"name":"string","nodeType":"ElementaryTypeName","src":"33682:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21869,"mutability":"mutable","name":"p3","nameLocation":"33708:2:16","nodeType":"VariableDeclaration","scope":21884,"src":"33700:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21868,"name":"address","nodeType":"ElementaryTypeName","src":"33700:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33651:60:16"},"returnParameters":{"id":21871,"nodeType":"ParameterList","parameters":[],"src":"33726:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21907,"nodeType":"FunctionDefinition","src":"33843:187:16","nodes":[],"body":{"id":21906,"nodeType":"Block","src":"33921:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c75696e7432353629","id":21898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33971:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_e41b6f6f58a4f880a3266f23bebaff73175ff4306317c20982bc2eabc04edd13","typeString":"literal_string \"log(string,uint256,bool,uint256)\""},"value":"log(string,uint256,bool,uint256)"},{"id":21899,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21886,"src":"34007:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21900,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21888,"src":"34011:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21901,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21890,"src":"34015:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21902,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21892,"src":"34019:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e41b6f6f58a4f880a3266f23bebaff73175ff4306317c20982bc2eabc04edd13","typeString":"literal_string \"log(string,uint256,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21896,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33947:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21897,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33951:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33947:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33947:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21895,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"33931:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33931:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21905,"nodeType":"ExpressionStatement","src":"33931:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33852:3:16","parameters":{"id":21893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21886,"mutability":"mutable","name":"p0","nameLocation":"33870:2:16","nodeType":"VariableDeclaration","scope":21907,"src":"33856:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21885,"name":"string","nodeType":"ElementaryTypeName","src":"33856:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21888,"mutability":"mutable","name":"p1","nameLocation":"33882:2:16","nodeType":"VariableDeclaration","scope":21907,"src":"33874:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21887,"name":"uint256","nodeType":"ElementaryTypeName","src":"33874:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21890,"mutability":"mutable","name":"p2","nameLocation":"33891:2:16","nodeType":"VariableDeclaration","scope":21907,"src":"33886:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21889,"name":"bool","nodeType":"ElementaryTypeName","src":"33886:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21892,"mutability":"mutable","name":"p3","nameLocation":"33903:2:16","nodeType":"VariableDeclaration","scope":21907,"src":"33895:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21891,"name":"uint256","nodeType":"ElementaryTypeName","src":"33895:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33855:51:16"},"returnParameters":{"id":21894,"nodeType":"ParameterList","parameters":[],"src":"33921:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21930,"nodeType":"FunctionDefinition","src":"34036:192:16","nodes":[],"body":{"id":21929,"nodeType":"Block","src":"34120:108:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c737472696e6729","id":21921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34170:33:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_abf73a9831ab2bdeb8da9d06a81eab42196b20e336ab670ecba37bac94839d87","typeString":"literal_string \"log(string,uint256,bool,string)\""},"value":"log(string,uint256,bool,string)"},{"id":21922,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21909,"src":"34205:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21923,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21911,"src":"34209:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21924,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21913,"src":"34213:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21925,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21915,"src":"34217:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_abf73a9831ab2bdeb8da9d06a81eab42196b20e336ab670ecba37bac94839d87","typeString":"literal_string \"log(string,uint256,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21919,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34146:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34150:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34146:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34146:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21918,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"34130:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34130:91:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21928,"nodeType":"ExpressionStatement","src":"34130:91:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34045:3:16","parameters":{"id":21916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21909,"mutability":"mutable","name":"p0","nameLocation":"34063:2:16","nodeType":"VariableDeclaration","scope":21930,"src":"34049:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21908,"name":"string","nodeType":"ElementaryTypeName","src":"34049:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21911,"mutability":"mutable","name":"p1","nameLocation":"34075:2:16","nodeType":"VariableDeclaration","scope":21930,"src":"34067:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21910,"name":"uint256","nodeType":"ElementaryTypeName","src":"34067:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21913,"mutability":"mutable","name":"p2","nameLocation":"34084:2:16","nodeType":"VariableDeclaration","scope":21930,"src":"34079:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21912,"name":"bool","nodeType":"ElementaryTypeName","src":"34079:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21915,"mutability":"mutable","name":"p3","nameLocation":"34102:2:16","nodeType":"VariableDeclaration","scope":21930,"src":"34088:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21914,"name":"string","nodeType":"ElementaryTypeName","src":"34088:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34048:57:16"},"returnParameters":{"id":21917,"nodeType":"ParameterList","parameters":[],"src":"34120:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21953,"nodeType":"FunctionDefinition","src":"34234:181:16","nodes":[],"body":{"id":21952,"nodeType":"Block","src":"34309:106:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c626f6f6c29","id":21944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34359:31:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_354c36d6798abb81721fb2beaef51c92cab9d4cf16be10f0a4724648784ecb76","typeString":"literal_string \"log(string,uint256,bool,bool)\""},"value":"log(string,uint256,bool,bool)"},{"id":21945,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21932,"src":"34392:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21946,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21934,"src":"34396:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21947,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21936,"src":"34400:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21948,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21938,"src":"34404:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_354c36d6798abb81721fb2beaef51c92cab9d4cf16be10f0a4724648784ecb76","typeString":"literal_string \"log(string,uint256,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21942,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34335:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21943,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34339:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34335:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34335:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21941,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"34319:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34319:89:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21951,"nodeType":"ExpressionStatement","src":"34319:89:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34243:3:16","parameters":{"id":21939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21932,"mutability":"mutable","name":"p0","nameLocation":"34261:2:16","nodeType":"VariableDeclaration","scope":21953,"src":"34247:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21931,"name":"string","nodeType":"ElementaryTypeName","src":"34247:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21934,"mutability":"mutable","name":"p1","nameLocation":"34273:2:16","nodeType":"VariableDeclaration","scope":21953,"src":"34265:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21933,"name":"uint256","nodeType":"ElementaryTypeName","src":"34265:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21936,"mutability":"mutable","name":"p2","nameLocation":"34282:2:16","nodeType":"VariableDeclaration","scope":21953,"src":"34277:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21935,"name":"bool","nodeType":"ElementaryTypeName","src":"34277:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21938,"mutability":"mutable","name":"p3","nameLocation":"34291:2:16","nodeType":"VariableDeclaration","scope":21953,"src":"34286:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21937,"name":"bool","nodeType":"ElementaryTypeName","src":"34286:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"34246:48:16"},"returnParameters":{"id":21940,"nodeType":"ParameterList","parameters":[],"src":"34309:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21976,"nodeType":"FunctionDefinition","src":"34421:187:16","nodes":[],"body":{"id":21975,"nodeType":"Block","src":"34499:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c6164647265737329","id":21967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34549:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0e95b9833a204b7ba633bd63a60ec523906565f2c86d8936f7ff3e9937880f7","typeString":"literal_string \"log(string,uint256,bool,address)\""},"value":"log(string,uint256,bool,address)"},{"id":21968,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21955,"src":"34585:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21969,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21957,"src":"34589:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21970,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21959,"src":"34593:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21971,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21961,"src":"34597:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0e95b9833a204b7ba633bd63a60ec523906565f2c86d8936f7ff3e9937880f7","typeString":"literal_string \"log(string,uint256,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21965,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34525:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34529:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34525:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34525:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21964,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"34509:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34509:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21974,"nodeType":"ExpressionStatement","src":"34509:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34430:3:16","parameters":{"id":21962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21955,"mutability":"mutable","name":"p0","nameLocation":"34448:2:16","nodeType":"VariableDeclaration","scope":21976,"src":"34434:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21954,"name":"string","nodeType":"ElementaryTypeName","src":"34434:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21957,"mutability":"mutable","name":"p1","nameLocation":"34460:2:16","nodeType":"VariableDeclaration","scope":21976,"src":"34452:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21956,"name":"uint256","nodeType":"ElementaryTypeName","src":"34452:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21959,"mutability":"mutable","name":"p2","nameLocation":"34469:2:16","nodeType":"VariableDeclaration","scope":21976,"src":"34464:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21958,"name":"bool","nodeType":"ElementaryTypeName","src":"34464:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21961,"mutability":"mutable","name":"p3","nameLocation":"34481:2:16","nodeType":"VariableDeclaration","scope":21976,"src":"34473:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21960,"name":"address","nodeType":"ElementaryTypeName","src":"34473:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34433:51:16"},"returnParameters":{"id":21963,"nodeType":"ParameterList","parameters":[],"src":"34499:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":21999,"nodeType":"FunctionDefinition","src":"34614:193:16","nodes":[],"body":{"id":21998,"nodeType":"Block","src":"34695:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c75696e7432353629","id":21990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34745:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f04fdc6b6271b036262883bae0d1ea5155524010fed0023b5c71c574fb937ff","typeString":"literal_string \"log(string,uint256,address,uint256)\""},"value":"log(string,uint256,address,uint256)"},{"id":21991,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21978,"src":"34784:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21992,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21980,"src":"34788:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21993,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21982,"src":"34792:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21994,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21984,"src":"34796:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4f04fdc6b6271b036262883bae0d1ea5155524010fed0023b5c71c574fb937ff","typeString":"literal_string \"log(string,uint256,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21988,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34721:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21989,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34725:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34721:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34721:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21987,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"34705:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34705:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21997,"nodeType":"ExpressionStatement","src":"34705:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34623:3:16","parameters":{"id":21985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21978,"mutability":"mutable","name":"p0","nameLocation":"34641:2:16","nodeType":"VariableDeclaration","scope":21999,"src":"34627:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21977,"name":"string","nodeType":"ElementaryTypeName","src":"34627:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21980,"mutability":"mutable","name":"p1","nameLocation":"34653:2:16","nodeType":"VariableDeclaration","scope":21999,"src":"34645:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21979,"name":"uint256","nodeType":"ElementaryTypeName","src":"34645:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21982,"mutability":"mutable","name":"p2","nameLocation":"34665:2:16","nodeType":"VariableDeclaration","scope":21999,"src":"34657:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21981,"name":"address","nodeType":"ElementaryTypeName","src":"34657:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21984,"mutability":"mutable","name":"p3","nameLocation":"34677:2:16","nodeType":"VariableDeclaration","scope":21999,"src":"34669:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21983,"name":"uint256","nodeType":"ElementaryTypeName","src":"34669:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34626:54:16"},"returnParameters":{"id":21986,"nodeType":"ParameterList","parameters":[],"src":"34695:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22022,"nodeType":"FunctionDefinition","src":"34813:198:16","nodes":[],"body":{"id":22021,"nodeType":"Block","src":"34900:111:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c737472696e6729","id":22013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34950:36:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_9ffb2f93ff043d0a86ff6dc2ddf23d28dfc95ecde23d406177dfe6f19d070d2b","typeString":"literal_string \"log(string,uint256,address,string)\""},"value":"log(string,uint256,address,string)"},{"id":22014,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22001,"src":"34988:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22015,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22003,"src":"34992:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22016,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22005,"src":"34996:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22017,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22007,"src":"35000:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9ffb2f93ff043d0a86ff6dc2ddf23d28dfc95ecde23d406177dfe6f19d070d2b","typeString":"literal_string \"log(string,uint256,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22011,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34926:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22012,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34930:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34926:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34926:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22010,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"34910:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34910:94:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22020,"nodeType":"ExpressionStatement","src":"34910:94:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34822:3:16","parameters":{"id":22008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22001,"mutability":"mutable","name":"p0","nameLocation":"34840:2:16","nodeType":"VariableDeclaration","scope":22022,"src":"34826:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22000,"name":"string","nodeType":"ElementaryTypeName","src":"34826:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22003,"mutability":"mutable","name":"p1","nameLocation":"34852:2:16","nodeType":"VariableDeclaration","scope":22022,"src":"34844:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22002,"name":"uint256","nodeType":"ElementaryTypeName","src":"34844:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22005,"mutability":"mutable","name":"p2","nameLocation":"34864:2:16","nodeType":"VariableDeclaration","scope":22022,"src":"34856:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22004,"name":"address","nodeType":"ElementaryTypeName","src":"34856:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22007,"mutability":"mutable","name":"p3","nameLocation":"34882:2:16","nodeType":"VariableDeclaration","scope":22022,"src":"34868:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22006,"name":"string","nodeType":"ElementaryTypeName","src":"34868:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34825:60:16"},"returnParameters":{"id":22009,"nodeType":"ParameterList","parameters":[],"src":"34900:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22045,"nodeType":"FunctionDefinition","src":"35017:187:16","nodes":[],"body":{"id":22044,"nodeType":"Block","src":"35095:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c626f6f6c29","id":22036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35145:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_82112a429657399db0318af6ca78ff56626aa907939e7cf56b60b07035dcc190","typeString":"literal_string \"log(string,uint256,address,bool)\""},"value":"log(string,uint256,address,bool)"},{"id":22037,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22024,"src":"35181:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22038,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22026,"src":"35185:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22039,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22028,"src":"35189:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22040,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22030,"src":"35193:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82112a429657399db0318af6ca78ff56626aa907939e7cf56b60b07035dcc190","typeString":"literal_string \"log(string,uint256,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22034,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35121:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22035,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35125:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35121:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35121:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22033,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"35105:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35105:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22043,"nodeType":"ExpressionStatement","src":"35105:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35026:3:16","parameters":{"id":22031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22024,"mutability":"mutable","name":"p0","nameLocation":"35044:2:16","nodeType":"VariableDeclaration","scope":22045,"src":"35030:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22023,"name":"string","nodeType":"ElementaryTypeName","src":"35030:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22026,"mutability":"mutable","name":"p1","nameLocation":"35056:2:16","nodeType":"VariableDeclaration","scope":22045,"src":"35048:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22025,"name":"uint256","nodeType":"ElementaryTypeName","src":"35048:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22028,"mutability":"mutable","name":"p2","nameLocation":"35068:2:16","nodeType":"VariableDeclaration","scope":22045,"src":"35060:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22027,"name":"address","nodeType":"ElementaryTypeName","src":"35060:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22030,"mutability":"mutable","name":"p3","nameLocation":"35077:2:16","nodeType":"VariableDeclaration","scope":22045,"src":"35072:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22029,"name":"bool","nodeType":"ElementaryTypeName","src":"35072:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"35029:51:16"},"returnParameters":{"id":22032,"nodeType":"ParameterList","parameters":[],"src":"35095:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22068,"nodeType":"FunctionDefinition","src":"35210:193:16","nodes":[],"body":{"id":22067,"nodeType":"Block","src":"35291:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c6164647265737329","id":22059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35341:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ea2b7aea4409bbe3ef8ca502419b3574b002a6123a1f864be076316b8efcd1d","typeString":"literal_string \"log(string,uint256,address,address)\""},"value":"log(string,uint256,address,address)"},{"id":22060,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22047,"src":"35380:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22061,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22049,"src":"35384:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22062,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22051,"src":"35388:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22063,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22053,"src":"35392:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ea2b7aea4409bbe3ef8ca502419b3574b002a6123a1f864be076316b8efcd1d","typeString":"literal_string \"log(string,uint256,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22057,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35317:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22058,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35321:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35317:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35317:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22056,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"35301:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35301:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22066,"nodeType":"ExpressionStatement","src":"35301:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35219:3:16","parameters":{"id":22054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22047,"mutability":"mutable","name":"p0","nameLocation":"35237:2:16","nodeType":"VariableDeclaration","scope":22068,"src":"35223:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22046,"name":"string","nodeType":"ElementaryTypeName","src":"35223:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22049,"mutability":"mutable","name":"p1","nameLocation":"35249:2:16","nodeType":"VariableDeclaration","scope":22068,"src":"35241:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22048,"name":"uint256","nodeType":"ElementaryTypeName","src":"35241:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22051,"mutability":"mutable","name":"p2","nameLocation":"35261:2:16","nodeType":"VariableDeclaration","scope":22068,"src":"35253:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22050,"name":"address","nodeType":"ElementaryTypeName","src":"35253:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22053,"mutability":"mutable","name":"p3","nameLocation":"35273:2:16","nodeType":"VariableDeclaration","scope":22068,"src":"35265:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22052,"name":"address","nodeType":"ElementaryTypeName","src":"35265:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"35222:54:16"},"returnParameters":{"id":22055,"nodeType":"ParameterList","parameters":[],"src":"35291:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22091,"nodeType":"FunctionDefinition","src":"35409:198:16","nodes":[],"body":{"id":22090,"nodeType":"Block","src":"35496:111:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c75696e7432353629","id":22082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35546:36:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_f45d7d2cd1abe030b09347ce21ce66b503ffdad3e7a1ad6df9e55da5d9367776","typeString":"literal_string \"log(string,string,uint256,uint256)\""},"value":"log(string,string,uint256,uint256)"},{"id":22083,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22070,"src":"35584:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22084,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22072,"src":"35588:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22085,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22074,"src":"35592:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22086,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22076,"src":"35596:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f45d7d2cd1abe030b09347ce21ce66b503ffdad3e7a1ad6df9e55da5d9367776","typeString":"literal_string \"log(string,string,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22080,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35522:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22081,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35526:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35522:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35522:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22079,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"35506:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35506:94:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22089,"nodeType":"ExpressionStatement","src":"35506:94:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35418:3:16","parameters":{"id":22077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22070,"mutability":"mutable","name":"p0","nameLocation":"35436:2:16","nodeType":"VariableDeclaration","scope":22091,"src":"35422:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22069,"name":"string","nodeType":"ElementaryTypeName","src":"35422:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22072,"mutability":"mutable","name":"p1","nameLocation":"35454:2:16","nodeType":"VariableDeclaration","scope":22091,"src":"35440:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22071,"name":"string","nodeType":"ElementaryTypeName","src":"35440:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22074,"mutability":"mutable","name":"p2","nameLocation":"35466:2:16","nodeType":"VariableDeclaration","scope":22091,"src":"35458:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22073,"name":"uint256","nodeType":"ElementaryTypeName","src":"35458:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22076,"mutability":"mutable","name":"p3","nameLocation":"35478:2:16","nodeType":"VariableDeclaration","scope":22091,"src":"35470:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22075,"name":"uint256","nodeType":"ElementaryTypeName","src":"35470:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35421:60:16"},"returnParameters":{"id":22078,"nodeType":"ParameterList","parameters":[],"src":"35496:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22114,"nodeType":"FunctionDefinition","src":"35613:203:16","nodes":[],"body":{"id":22113,"nodeType":"Block","src":"35706:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c737472696e6729","id":22105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35756:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d1a971aebb8f2fbb7526a470ca55e409230d59ee63217090d29ce11b768e909","typeString":"literal_string \"log(string,string,uint256,string)\""},"value":"log(string,string,uint256,string)"},{"id":22106,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22093,"src":"35793:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22107,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22095,"src":"35797:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22108,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22097,"src":"35801:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22109,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22099,"src":"35805:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d1a971aebb8f2fbb7526a470ca55e409230d59ee63217090d29ce11b768e909","typeString":"literal_string \"log(string,string,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22103,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35732:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22104,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35736:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35732:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35732:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22102,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"35716:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35716:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22112,"nodeType":"ExpressionStatement","src":"35716:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35622:3:16","parameters":{"id":22100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22093,"mutability":"mutable","name":"p0","nameLocation":"35640:2:16","nodeType":"VariableDeclaration","scope":22114,"src":"35626:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22092,"name":"string","nodeType":"ElementaryTypeName","src":"35626:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22095,"mutability":"mutable","name":"p1","nameLocation":"35658:2:16","nodeType":"VariableDeclaration","scope":22114,"src":"35644:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22094,"name":"string","nodeType":"ElementaryTypeName","src":"35644:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22097,"mutability":"mutable","name":"p2","nameLocation":"35670:2:16","nodeType":"VariableDeclaration","scope":22114,"src":"35662:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22096,"name":"uint256","nodeType":"ElementaryTypeName","src":"35662:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22099,"mutability":"mutable","name":"p3","nameLocation":"35688:2:16","nodeType":"VariableDeclaration","scope":22114,"src":"35674:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22098,"name":"string","nodeType":"ElementaryTypeName","src":"35674:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35625:66:16"},"returnParameters":{"id":22101,"nodeType":"ParameterList","parameters":[],"src":"35706:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22137,"nodeType":"FunctionDefinition","src":"35822:192:16","nodes":[],"body":{"id":22136,"nodeType":"Block","src":"35906:108:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c626f6f6c29","id":22128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35956:33:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3a8a6546b97cf01562dd9ca797c4955f3bab9bc163d02081737c20b686446d2","typeString":"literal_string \"log(string,string,uint256,bool)\""},"value":"log(string,string,uint256,bool)"},{"id":22129,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22116,"src":"35991:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22130,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22118,"src":"35995:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22131,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22120,"src":"35999:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22132,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22122,"src":"36003:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3a8a6546b97cf01562dd9ca797c4955f3bab9bc163d02081737c20b686446d2","typeString":"literal_string \"log(string,string,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22126,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35932:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22127,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35936:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35932:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35932:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22125,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"35916:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35916:91:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22135,"nodeType":"ExpressionStatement","src":"35916:91:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35831:3:16","parameters":{"id":22123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22116,"mutability":"mutable","name":"p0","nameLocation":"35849:2:16","nodeType":"VariableDeclaration","scope":22137,"src":"35835:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22115,"name":"string","nodeType":"ElementaryTypeName","src":"35835:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22118,"mutability":"mutable","name":"p1","nameLocation":"35867:2:16","nodeType":"VariableDeclaration","scope":22137,"src":"35853:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22117,"name":"string","nodeType":"ElementaryTypeName","src":"35853:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22120,"mutability":"mutable","name":"p2","nameLocation":"35879:2:16","nodeType":"VariableDeclaration","scope":22137,"src":"35871:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22119,"name":"uint256","nodeType":"ElementaryTypeName","src":"35871:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22122,"mutability":"mutable","name":"p3","nameLocation":"35888:2:16","nodeType":"VariableDeclaration","scope":22137,"src":"35883:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22121,"name":"bool","nodeType":"ElementaryTypeName","src":"35883:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"35834:57:16"},"returnParameters":{"id":22124,"nodeType":"ParameterList","parameters":[],"src":"35906:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22160,"nodeType":"FunctionDefinition","src":"36020:198:16","nodes":[],"body":{"id":22159,"nodeType":"Block","src":"36107:111:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c6164647265737329","id":22151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36157:36:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_1023f7b286378387abf24b7020dbd1ddde789519cf7f13da727146a2a8a61fc6","typeString":"literal_string \"log(string,string,uint256,address)\""},"value":"log(string,string,uint256,address)"},{"id":22152,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22139,"src":"36195:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22153,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22141,"src":"36199:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22154,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22143,"src":"36203:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22155,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22145,"src":"36207:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1023f7b286378387abf24b7020dbd1ddde789519cf7f13da727146a2a8a61fc6","typeString":"literal_string \"log(string,string,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22149,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36133:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22150,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36137:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36133:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36133:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22148,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"36117:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36117:94:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22158,"nodeType":"ExpressionStatement","src":"36117:94:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36029:3:16","parameters":{"id":22146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22139,"mutability":"mutable","name":"p0","nameLocation":"36047:2:16","nodeType":"VariableDeclaration","scope":22160,"src":"36033:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22138,"name":"string","nodeType":"ElementaryTypeName","src":"36033:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22141,"mutability":"mutable","name":"p1","nameLocation":"36065:2:16","nodeType":"VariableDeclaration","scope":22160,"src":"36051:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22140,"name":"string","nodeType":"ElementaryTypeName","src":"36051:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22143,"mutability":"mutable","name":"p2","nameLocation":"36077:2:16","nodeType":"VariableDeclaration","scope":22160,"src":"36069:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22142,"name":"uint256","nodeType":"ElementaryTypeName","src":"36069:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22145,"mutability":"mutable","name":"p3","nameLocation":"36089:2:16","nodeType":"VariableDeclaration","scope":22160,"src":"36081:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22144,"name":"address","nodeType":"ElementaryTypeName","src":"36081:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36032:60:16"},"returnParameters":{"id":22147,"nodeType":"ParameterList","parameters":[],"src":"36107:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22183,"nodeType":"FunctionDefinition","src":"36224:203:16","nodes":[],"body":{"id":22182,"nodeType":"Block","src":"36317:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c75696e7432353629","id":22174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36367:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_8eafb02b2f27070f4cef3c26d2b8a8d041c7bf077352780062dc5a70550ac689","typeString":"literal_string \"log(string,string,string,uint256)\""},"value":"log(string,string,string,uint256)"},{"id":22175,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22162,"src":"36404:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22176,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22164,"src":"36408:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22177,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22166,"src":"36412:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22178,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22168,"src":"36416:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8eafb02b2f27070f4cef3c26d2b8a8d041c7bf077352780062dc5a70550ac689","typeString":"literal_string \"log(string,string,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22172,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36343:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22173,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36347:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36343:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36343:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22171,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"36327:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36327:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22181,"nodeType":"ExpressionStatement","src":"36327:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36233:3:16","parameters":{"id":22169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22162,"mutability":"mutable","name":"p0","nameLocation":"36251:2:16","nodeType":"VariableDeclaration","scope":22183,"src":"36237:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22161,"name":"string","nodeType":"ElementaryTypeName","src":"36237:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22164,"mutability":"mutable","name":"p1","nameLocation":"36269:2:16","nodeType":"VariableDeclaration","scope":22183,"src":"36255:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22163,"name":"string","nodeType":"ElementaryTypeName","src":"36255:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22166,"mutability":"mutable","name":"p2","nameLocation":"36287:2:16","nodeType":"VariableDeclaration","scope":22183,"src":"36273:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22165,"name":"string","nodeType":"ElementaryTypeName","src":"36273:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22168,"mutability":"mutable","name":"p3","nameLocation":"36299:2:16","nodeType":"VariableDeclaration","scope":22183,"src":"36291:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22167,"name":"uint256","nodeType":"ElementaryTypeName","src":"36291:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36236:66:16"},"returnParameters":{"id":22170,"nodeType":"ParameterList","parameters":[],"src":"36317:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22206,"nodeType":"FunctionDefinition","src":"36433:208:16","nodes":[],"body":{"id":22205,"nodeType":"Block","src":"36532:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c737472696e6729","id":22197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36582:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe","typeString":"literal_string \"log(string,string,string,string)\""},"value":"log(string,string,string,string)"},{"id":22198,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22185,"src":"36618:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22199,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22187,"src":"36622:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22200,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22189,"src":"36626:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22201,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22191,"src":"36630:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe","typeString":"literal_string \"log(string,string,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22195,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36558:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22196,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36562:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36558:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36558:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22194,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"36542:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36542:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22204,"nodeType":"ExpressionStatement","src":"36542:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36442:3:16","parameters":{"id":22192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22185,"mutability":"mutable","name":"p0","nameLocation":"36460:2:16","nodeType":"VariableDeclaration","scope":22206,"src":"36446:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22184,"name":"string","nodeType":"ElementaryTypeName","src":"36446:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22187,"mutability":"mutable","name":"p1","nameLocation":"36478:2:16","nodeType":"VariableDeclaration","scope":22206,"src":"36464:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22186,"name":"string","nodeType":"ElementaryTypeName","src":"36464:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22189,"mutability":"mutable","name":"p2","nameLocation":"36496:2:16","nodeType":"VariableDeclaration","scope":22206,"src":"36482:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22188,"name":"string","nodeType":"ElementaryTypeName","src":"36482:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22191,"mutability":"mutable","name":"p3","nameLocation":"36514:2:16","nodeType":"VariableDeclaration","scope":22206,"src":"36500:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22190,"name":"string","nodeType":"ElementaryTypeName","src":"36500:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36445:72:16"},"returnParameters":{"id":22193,"nodeType":"ParameterList","parameters":[],"src":"36532:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22229,"nodeType":"FunctionDefinition","src":"36647:197:16","nodes":[],"body":{"id":22228,"nodeType":"Block","src":"36737:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c626f6f6c29","id":22220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36787:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332","typeString":"literal_string \"log(string,string,string,bool)\""},"value":"log(string,string,string,bool)"},{"id":22221,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22208,"src":"36821:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22222,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22210,"src":"36825:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22223,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22212,"src":"36829:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22224,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22214,"src":"36833:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332","typeString":"literal_string \"log(string,string,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22218,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36763:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22219,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36767:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36763:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36763:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22217,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"36747:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36747:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22227,"nodeType":"ExpressionStatement","src":"36747:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36656:3:16","parameters":{"id":22215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22208,"mutability":"mutable","name":"p0","nameLocation":"36674:2:16","nodeType":"VariableDeclaration","scope":22229,"src":"36660:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22207,"name":"string","nodeType":"ElementaryTypeName","src":"36660:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22210,"mutability":"mutable","name":"p1","nameLocation":"36692:2:16","nodeType":"VariableDeclaration","scope":22229,"src":"36678:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22209,"name":"string","nodeType":"ElementaryTypeName","src":"36678:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22212,"mutability":"mutable","name":"p2","nameLocation":"36710:2:16","nodeType":"VariableDeclaration","scope":22229,"src":"36696:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22211,"name":"string","nodeType":"ElementaryTypeName","src":"36696:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22214,"mutability":"mutable","name":"p3","nameLocation":"36719:2:16","nodeType":"VariableDeclaration","scope":22229,"src":"36714:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22213,"name":"bool","nodeType":"ElementaryTypeName","src":"36714:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"36659:63:16"},"returnParameters":{"id":22216,"nodeType":"ParameterList","parameters":[],"src":"36737:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22252,"nodeType":"FunctionDefinition","src":"36850:203:16","nodes":[],"body":{"id":22251,"nodeType":"Block","src":"36943:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c6164647265737329","id":22243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36993:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16","typeString":"literal_string \"log(string,string,string,address)\""},"value":"log(string,string,string,address)"},{"id":22244,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22231,"src":"37030:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22245,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22233,"src":"37034:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22246,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22235,"src":"37038:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22247,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22237,"src":"37042:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16","typeString":"literal_string \"log(string,string,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22241,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36969:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36973:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36969:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36969:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22240,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"36953:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36953:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22250,"nodeType":"ExpressionStatement","src":"36953:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36859:3:16","parameters":{"id":22238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22231,"mutability":"mutable","name":"p0","nameLocation":"36877:2:16","nodeType":"VariableDeclaration","scope":22252,"src":"36863:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22230,"name":"string","nodeType":"ElementaryTypeName","src":"36863:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22233,"mutability":"mutable","name":"p1","nameLocation":"36895:2:16","nodeType":"VariableDeclaration","scope":22252,"src":"36881:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22232,"name":"string","nodeType":"ElementaryTypeName","src":"36881:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22235,"mutability":"mutable","name":"p2","nameLocation":"36913:2:16","nodeType":"VariableDeclaration","scope":22252,"src":"36899:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22234,"name":"string","nodeType":"ElementaryTypeName","src":"36899:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22237,"mutability":"mutable","name":"p3","nameLocation":"36925:2:16","nodeType":"VariableDeclaration","scope":22252,"src":"36917:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22236,"name":"address","nodeType":"ElementaryTypeName","src":"36917:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36862:66:16"},"returnParameters":{"id":22239,"nodeType":"ParameterList","parameters":[],"src":"36943:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22275,"nodeType":"FunctionDefinition","src":"37059:192:16","nodes":[],"body":{"id":22274,"nodeType":"Block","src":"37143:108:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c75696e7432353629","id":22266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37193:33:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6aefad2ecee6d91421acc41f939bded56985ac5c9cf6e49011ee16b1bb31729","typeString":"literal_string \"log(string,string,bool,uint256)\""},"value":"log(string,string,bool,uint256)"},{"id":22267,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22254,"src":"37228:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22268,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22256,"src":"37232:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22269,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22258,"src":"37236:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22270,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22260,"src":"37240:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d6aefad2ecee6d91421acc41f939bded56985ac5c9cf6e49011ee16b1bb31729","typeString":"literal_string \"log(string,string,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22264,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37169:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22265,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37173:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37169:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37169:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22263,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"37153:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37153:91:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22273,"nodeType":"ExpressionStatement","src":"37153:91:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37068:3:16","parameters":{"id":22261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22254,"mutability":"mutable","name":"p0","nameLocation":"37086:2:16","nodeType":"VariableDeclaration","scope":22275,"src":"37072:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22253,"name":"string","nodeType":"ElementaryTypeName","src":"37072:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22256,"mutability":"mutable","name":"p1","nameLocation":"37104:2:16","nodeType":"VariableDeclaration","scope":22275,"src":"37090:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22255,"name":"string","nodeType":"ElementaryTypeName","src":"37090:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22258,"mutability":"mutable","name":"p2","nameLocation":"37113:2:16","nodeType":"VariableDeclaration","scope":22275,"src":"37108:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22257,"name":"bool","nodeType":"ElementaryTypeName","src":"37108:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22260,"mutability":"mutable","name":"p3","nameLocation":"37125:2:16","nodeType":"VariableDeclaration","scope":22275,"src":"37117:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22259,"name":"uint256","nodeType":"ElementaryTypeName","src":"37117:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37071:57:16"},"returnParameters":{"id":22262,"nodeType":"ParameterList","parameters":[],"src":"37143:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22298,"nodeType":"FunctionDefinition","src":"37257:197:16","nodes":[],"body":{"id":22297,"nodeType":"Block","src":"37347:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c737472696e6729","id":22289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37397:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b","typeString":"literal_string \"log(string,string,bool,string)\""},"value":"log(string,string,bool,string)"},{"id":22290,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22277,"src":"37431:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22291,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22279,"src":"37435:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22292,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22281,"src":"37439:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22293,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22283,"src":"37443:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b","typeString":"literal_string \"log(string,string,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22287,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37373:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22288,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37377:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37373:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37373:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22286,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"37357:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37357:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22296,"nodeType":"ExpressionStatement","src":"37357:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37266:3:16","parameters":{"id":22284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22277,"mutability":"mutable","name":"p0","nameLocation":"37284:2:16","nodeType":"VariableDeclaration","scope":22298,"src":"37270:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22276,"name":"string","nodeType":"ElementaryTypeName","src":"37270:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22279,"mutability":"mutable","name":"p1","nameLocation":"37302:2:16","nodeType":"VariableDeclaration","scope":22298,"src":"37288:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22278,"name":"string","nodeType":"ElementaryTypeName","src":"37288:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22281,"mutability":"mutable","name":"p2","nameLocation":"37311:2:16","nodeType":"VariableDeclaration","scope":22298,"src":"37306:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22280,"name":"bool","nodeType":"ElementaryTypeName","src":"37306:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22283,"mutability":"mutable","name":"p3","nameLocation":"37329:2:16","nodeType":"VariableDeclaration","scope":22298,"src":"37315:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22282,"name":"string","nodeType":"ElementaryTypeName","src":"37315:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"37269:63:16"},"returnParameters":{"id":22285,"nodeType":"ParameterList","parameters":[],"src":"37347:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22321,"nodeType":"FunctionDefinition","src":"37460:186:16","nodes":[],"body":{"id":22320,"nodeType":"Block","src":"37541:105:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c626f6f6c29","id":22312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37591:30:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10","typeString":"literal_string \"log(string,string,bool,bool)\""},"value":"log(string,string,bool,bool)"},{"id":22313,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22300,"src":"37623:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22314,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22302,"src":"37627:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22315,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22304,"src":"37631:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22316,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22306,"src":"37635:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10","typeString":"literal_string \"log(string,string,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22310,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37567:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22311,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37571:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37567:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37567:71:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22309,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"37551:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37551:88:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22319,"nodeType":"ExpressionStatement","src":"37551:88:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37469:3:16","parameters":{"id":22307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22300,"mutability":"mutable","name":"p0","nameLocation":"37487:2:16","nodeType":"VariableDeclaration","scope":22321,"src":"37473:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22299,"name":"string","nodeType":"ElementaryTypeName","src":"37473:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22302,"mutability":"mutable","name":"p1","nameLocation":"37505:2:16","nodeType":"VariableDeclaration","scope":22321,"src":"37491:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22301,"name":"string","nodeType":"ElementaryTypeName","src":"37491:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22304,"mutability":"mutable","name":"p2","nameLocation":"37514:2:16","nodeType":"VariableDeclaration","scope":22321,"src":"37509:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22303,"name":"bool","nodeType":"ElementaryTypeName","src":"37509:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22306,"mutability":"mutable","name":"p3","nameLocation":"37523:2:16","nodeType":"VariableDeclaration","scope":22321,"src":"37518:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22305,"name":"bool","nodeType":"ElementaryTypeName","src":"37518:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"37472:54:16"},"returnParameters":{"id":22308,"nodeType":"ParameterList","parameters":[],"src":"37541:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22344,"nodeType":"FunctionDefinition","src":"37652:192:16","nodes":[],"body":{"id":22343,"nodeType":"Block","src":"37736:108:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c6164647265737329","id":22335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37786:33:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d","typeString":"literal_string \"log(string,string,bool,address)\""},"value":"log(string,string,bool,address)"},{"id":22336,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22323,"src":"37821:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22337,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22325,"src":"37825:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22338,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22327,"src":"37829:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22339,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22329,"src":"37833:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d","typeString":"literal_string \"log(string,string,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22333,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37762:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22334,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37766:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37762:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37762:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22332,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"37746:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37746:91:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22342,"nodeType":"ExpressionStatement","src":"37746:91:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37661:3:16","parameters":{"id":22330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22323,"mutability":"mutable","name":"p0","nameLocation":"37679:2:16","nodeType":"VariableDeclaration","scope":22344,"src":"37665:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22322,"name":"string","nodeType":"ElementaryTypeName","src":"37665:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22325,"mutability":"mutable","name":"p1","nameLocation":"37697:2:16","nodeType":"VariableDeclaration","scope":22344,"src":"37683:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22324,"name":"string","nodeType":"ElementaryTypeName","src":"37683:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22327,"mutability":"mutable","name":"p2","nameLocation":"37706:2:16","nodeType":"VariableDeclaration","scope":22344,"src":"37701:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22326,"name":"bool","nodeType":"ElementaryTypeName","src":"37701:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22329,"mutability":"mutable","name":"p3","nameLocation":"37718:2:16","nodeType":"VariableDeclaration","scope":22344,"src":"37710:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22328,"name":"address","nodeType":"ElementaryTypeName","src":"37710:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37664:57:16"},"returnParameters":{"id":22331,"nodeType":"ParameterList","parameters":[],"src":"37736:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22367,"nodeType":"FunctionDefinition","src":"37850:198:16","nodes":[],"body":{"id":22366,"nodeType":"Block","src":"37937:111:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c75696e7432353629","id":22358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37987:36:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_7cc3c607046f21bb2d1cc4864448de2e6c44029beb9bfc36cf6ca90777ae5a00","typeString":"literal_string \"log(string,string,address,uint256)\""},"value":"log(string,string,address,uint256)"},{"id":22359,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22346,"src":"38025:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22360,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22348,"src":"38029:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22361,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22350,"src":"38033:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22362,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22352,"src":"38037:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7cc3c607046f21bb2d1cc4864448de2e6c44029beb9bfc36cf6ca90777ae5a00","typeString":"literal_string \"log(string,string,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22356,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37963:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22357,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37967:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37963:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37963:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22355,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"37947:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37947:94:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22365,"nodeType":"ExpressionStatement","src":"37947:94:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37859:3:16","parameters":{"id":22353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22346,"mutability":"mutable","name":"p0","nameLocation":"37877:2:16","nodeType":"VariableDeclaration","scope":22367,"src":"37863:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22345,"name":"string","nodeType":"ElementaryTypeName","src":"37863:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22348,"mutability":"mutable","name":"p1","nameLocation":"37895:2:16","nodeType":"VariableDeclaration","scope":22367,"src":"37881:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22347,"name":"string","nodeType":"ElementaryTypeName","src":"37881:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22350,"mutability":"mutable","name":"p2","nameLocation":"37907:2:16","nodeType":"VariableDeclaration","scope":22367,"src":"37899:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22349,"name":"address","nodeType":"ElementaryTypeName","src":"37899:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22352,"mutability":"mutable","name":"p3","nameLocation":"37919:2:16","nodeType":"VariableDeclaration","scope":22367,"src":"37911:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22351,"name":"uint256","nodeType":"ElementaryTypeName","src":"37911:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37862:60:16"},"returnParameters":{"id":22354,"nodeType":"ParameterList","parameters":[],"src":"37937:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22390,"nodeType":"FunctionDefinition","src":"38054:203:16","nodes":[],"body":{"id":22389,"nodeType":"Block","src":"38147:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c737472696e6729","id":22381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38197:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6","typeString":"literal_string \"log(string,string,address,string)\""},"value":"log(string,string,address,string)"},{"id":22382,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22369,"src":"38234:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22383,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22371,"src":"38238:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22384,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22373,"src":"38242:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22385,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22375,"src":"38246:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6","typeString":"literal_string \"log(string,string,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22379,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38173:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22380,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38177:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38173:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38173:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22378,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"38157:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38157:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22388,"nodeType":"ExpressionStatement","src":"38157:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38063:3:16","parameters":{"id":22376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22369,"mutability":"mutable","name":"p0","nameLocation":"38081:2:16","nodeType":"VariableDeclaration","scope":22390,"src":"38067:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22368,"name":"string","nodeType":"ElementaryTypeName","src":"38067:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22371,"mutability":"mutable","name":"p1","nameLocation":"38099:2:16","nodeType":"VariableDeclaration","scope":22390,"src":"38085:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22370,"name":"string","nodeType":"ElementaryTypeName","src":"38085:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22373,"mutability":"mutable","name":"p2","nameLocation":"38111:2:16","nodeType":"VariableDeclaration","scope":22390,"src":"38103:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22372,"name":"address","nodeType":"ElementaryTypeName","src":"38103:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22375,"mutability":"mutable","name":"p3","nameLocation":"38129:2:16","nodeType":"VariableDeclaration","scope":22390,"src":"38115:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22374,"name":"string","nodeType":"ElementaryTypeName","src":"38115:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38066:66:16"},"returnParameters":{"id":22377,"nodeType":"ParameterList","parameters":[],"src":"38147:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22413,"nodeType":"FunctionDefinition","src":"38263:192:16","nodes":[],"body":{"id":22412,"nodeType":"Block","src":"38347:108:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c626f6f6c29","id":22404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38397:33:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63","typeString":"literal_string \"log(string,string,address,bool)\""},"value":"log(string,string,address,bool)"},{"id":22405,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22392,"src":"38432:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22406,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22394,"src":"38436:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22407,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22396,"src":"38440:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22408,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22398,"src":"38444:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63","typeString":"literal_string \"log(string,string,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22402,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38373:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38377:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38373:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38373:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22401,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"38357:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38357:91:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22411,"nodeType":"ExpressionStatement","src":"38357:91:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38272:3:16","parameters":{"id":22399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22392,"mutability":"mutable","name":"p0","nameLocation":"38290:2:16","nodeType":"VariableDeclaration","scope":22413,"src":"38276:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22391,"name":"string","nodeType":"ElementaryTypeName","src":"38276:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22394,"mutability":"mutable","name":"p1","nameLocation":"38308:2:16","nodeType":"VariableDeclaration","scope":22413,"src":"38294:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22393,"name":"string","nodeType":"ElementaryTypeName","src":"38294:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22396,"mutability":"mutable","name":"p2","nameLocation":"38320:2:16","nodeType":"VariableDeclaration","scope":22413,"src":"38312:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22395,"name":"address","nodeType":"ElementaryTypeName","src":"38312:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22398,"mutability":"mutable","name":"p3","nameLocation":"38329:2:16","nodeType":"VariableDeclaration","scope":22413,"src":"38324:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22397,"name":"bool","nodeType":"ElementaryTypeName","src":"38324:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38275:57:16"},"returnParameters":{"id":22400,"nodeType":"ParameterList","parameters":[],"src":"38347:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22436,"nodeType":"FunctionDefinition","src":"38461:198:16","nodes":[],"body":{"id":22435,"nodeType":"Block","src":"38548:111:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c6164647265737329","id":22427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38598:36:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d","typeString":"literal_string \"log(string,string,address,address)\""},"value":"log(string,string,address,address)"},{"id":22428,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22415,"src":"38636:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22429,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22417,"src":"38640:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22430,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22419,"src":"38644:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22431,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22421,"src":"38648:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d","typeString":"literal_string \"log(string,string,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22425,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38574:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38578:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38574:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38574:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22424,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"38558:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38558:94:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22434,"nodeType":"ExpressionStatement","src":"38558:94:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38470:3:16","parameters":{"id":22422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22415,"mutability":"mutable","name":"p0","nameLocation":"38488:2:16","nodeType":"VariableDeclaration","scope":22436,"src":"38474:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22414,"name":"string","nodeType":"ElementaryTypeName","src":"38474:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22417,"mutability":"mutable","name":"p1","nameLocation":"38506:2:16","nodeType":"VariableDeclaration","scope":22436,"src":"38492:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22416,"name":"string","nodeType":"ElementaryTypeName","src":"38492:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22419,"mutability":"mutable","name":"p2","nameLocation":"38518:2:16","nodeType":"VariableDeclaration","scope":22436,"src":"38510:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22418,"name":"address","nodeType":"ElementaryTypeName","src":"38510:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22421,"mutability":"mutable","name":"p3","nameLocation":"38530:2:16","nodeType":"VariableDeclaration","scope":22436,"src":"38522:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22420,"name":"address","nodeType":"ElementaryTypeName","src":"38522:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38473:60:16"},"returnParameters":{"id":22423,"nodeType":"ParameterList","parameters":[],"src":"38548:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22459,"nodeType":"FunctionDefinition","src":"38665:187:16","nodes":[],"body":{"id":22458,"nodeType":"Block","src":"38743:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c75696e7432353629","id":22450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38793:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_64b5bb671d0911515c2d999ed3f7f689c3b5762a99b342dfee4a1d88fec7b25e","typeString":"literal_string \"log(string,bool,uint256,uint256)\""},"value":"log(string,bool,uint256,uint256)"},{"id":22451,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22438,"src":"38829:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22452,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22440,"src":"38833:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22453,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22442,"src":"38837:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22454,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22444,"src":"38841:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_64b5bb671d0911515c2d999ed3f7f689c3b5762a99b342dfee4a1d88fec7b25e","typeString":"literal_string \"log(string,bool,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22448,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38769:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22449,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38773:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38769:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38769:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22447,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"38753:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38753:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22457,"nodeType":"ExpressionStatement","src":"38753:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38674:3:16","parameters":{"id":22445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22438,"mutability":"mutable","name":"p0","nameLocation":"38692:2:16","nodeType":"VariableDeclaration","scope":22459,"src":"38678:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22437,"name":"string","nodeType":"ElementaryTypeName","src":"38678:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22440,"mutability":"mutable","name":"p1","nameLocation":"38701:2:16","nodeType":"VariableDeclaration","scope":22459,"src":"38696:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22439,"name":"bool","nodeType":"ElementaryTypeName","src":"38696:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22442,"mutability":"mutable","name":"p2","nameLocation":"38713:2:16","nodeType":"VariableDeclaration","scope":22459,"src":"38705:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22441,"name":"uint256","nodeType":"ElementaryTypeName","src":"38705:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22444,"mutability":"mutable","name":"p3","nameLocation":"38725:2:16","nodeType":"VariableDeclaration","scope":22459,"src":"38717:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22443,"name":"uint256","nodeType":"ElementaryTypeName","src":"38717:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38677:51:16"},"returnParameters":{"id":22446,"nodeType":"ParameterList","parameters":[],"src":"38743:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22482,"nodeType":"FunctionDefinition","src":"38858:192:16","nodes":[],"body":{"id":22481,"nodeType":"Block","src":"38942:108:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c737472696e6729","id":22473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38992:33:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_742d6ee771df9df1dec5a8b70ff5f7f41567f6ae9fe27e7e391b2811f9978b00","typeString":"literal_string \"log(string,bool,uint256,string)\""},"value":"log(string,bool,uint256,string)"},{"id":22474,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22461,"src":"39027:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22475,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22463,"src":"39031:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22476,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22465,"src":"39035:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22477,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22467,"src":"39039:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_742d6ee771df9df1dec5a8b70ff5f7f41567f6ae9fe27e7e391b2811f9978b00","typeString":"literal_string \"log(string,bool,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22471,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38968:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22472,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38972:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38968:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38968:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22470,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"38952:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38952:91:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22480,"nodeType":"ExpressionStatement","src":"38952:91:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38867:3:16","parameters":{"id":22468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22461,"mutability":"mutable","name":"p0","nameLocation":"38885:2:16","nodeType":"VariableDeclaration","scope":22482,"src":"38871:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22460,"name":"string","nodeType":"ElementaryTypeName","src":"38871:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22463,"mutability":"mutable","name":"p1","nameLocation":"38894:2:16","nodeType":"VariableDeclaration","scope":22482,"src":"38889:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22462,"name":"bool","nodeType":"ElementaryTypeName","src":"38889:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22465,"mutability":"mutable","name":"p2","nameLocation":"38906:2:16","nodeType":"VariableDeclaration","scope":22482,"src":"38898:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22464,"name":"uint256","nodeType":"ElementaryTypeName","src":"38898:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22467,"mutability":"mutable","name":"p3","nameLocation":"38924:2:16","nodeType":"VariableDeclaration","scope":22482,"src":"38910:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22466,"name":"string","nodeType":"ElementaryTypeName","src":"38910:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38870:57:16"},"returnParameters":{"id":22469,"nodeType":"ParameterList","parameters":[],"src":"38942:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22505,"nodeType":"FunctionDefinition","src":"39056:181:16","nodes":[],"body":{"id":22504,"nodeType":"Block","src":"39131:106:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c626f6f6c29","id":22496,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39181:31:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_8af7cf8a379b674b00a81c3841f4203ce23fde0db10f1f8c2a0017ca424d79e2","typeString":"literal_string \"log(string,bool,uint256,bool)\""},"value":"log(string,bool,uint256,bool)"},{"id":22497,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22484,"src":"39214:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22498,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22486,"src":"39218:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22499,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22488,"src":"39222:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22500,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22490,"src":"39226:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8af7cf8a379b674b00a81c3841f4203ce23fde0db10f1f8c2a0017ca424d79e2","typeString":"literal_string \"log(string,bool,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22494,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39157:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39161:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39157:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39157:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22493,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"39141:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39141:89:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22503,"nodeType":"ExpressionStatement","src":"39141:89:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39065:3:16","parameters":{"id":22491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22484,"mutability":"mutable","name":"p0","nameLocation":"39083:2:16","nodeType":"VariableDeclaration","scope":22505,"src":"39069:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22483,"name":"string","nodeType":"ElementaryTypeName","src":"39069:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22486,"mutability":"mutable","name":"p1","nameLocation":"39092:2:16","nodeType":"VariableDeclaration","scope":22505,"src":"39087:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22485,"name":"bool","nodeType":"ElementaryTypeName","src":"39087:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22488,"mutability":"mutable","name":"p2","nameLocation":"39104:2:16","nodeType":"VariableDeclaration","scope":22505,"src":"39096:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22487,"name":"uint256","nodeType":"ElementaryTypeName","src":"39096:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22490,"mutability":"mutable","name":"p3","nameLocation":"39113:2:16","nodeType":"VariableDeclaration","scope":22505,"src":"39108:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22489,"name":"bool","nodeType":"ElementaryTypeName","src":"39108:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39068:48:16"},"returnParameters":{"id":22492,"nodeType":"ParameterList","parameters":[],"src":"39131:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22528,"nodeType":"FunctionDefinition","src":"39243:187:16","nodes":[],"body":{"id":22527,"nodeType":"Block","src":"39321:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c6164647265737329","id":22519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39371:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_935e09bfd29779a7e049f17e6e907bb9f7181e93c0c486cf646b7471eb4a9d1e","typeString":"literal_string \"log(string,bool,uint256,address)\""},"value":"log(string,bool,uint256,address)"},{"id":22520,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22507,"src":"39407:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22521,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22509,"src":"39411:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22522,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22511,"src":"39415:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22523,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22513,"src":"39419:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_935e09bfd29779a7e049f17e6e907bb9f7181e93c0c486cf646b7471eb4a9d1e","typeString":"literal_string \"log(string,bool,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22517,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39347:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39351:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39347:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39347:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22516,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"39331:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39331:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22526,"nodeType":"ExpressionStatement","src":"39331:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39252:3:16","parameters":{"id":22514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22507,"mutability":"mutable","name":"p0","nameLocation":"39270:2:16","nodeType":"VariableDeclaration","scope":22528,"src":"39256:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22506,"name":"string","nodeType":"ElementaryTypeName","src":"39256:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22509,"mutability":"mutable","name":"p1","nameLocation":"39279:2:16","nodeType":"VariableDeclaration","scope":22528,"src":"39274:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22508,"name":"bool","nodeType":"ElementaryTypeName","src":"39274:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22511,"mutability":"mutable","name":"p2","nameLocation":"39291:2:16","nodeType":"VariableDeclaration","scope":22528,"src":"39283:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22510,"name":"uint256","nodeType":"ElementaryTypeName","src":"39283:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22513,"mutability":"mutable","name":"p3","nameLocation":"39303:2:16","nodeType":"VariableDeclaration","scope":22528,"src":"39295:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22512,"name":"address","nodeType":"ElementaryTypeName","src":"39295:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39255:51:16"},"returnParameters":{"id":22515,"nodeType":"ParameterList","parameters":[],"src":"39321:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22551,"nodeType":"FunctionDefinition","src":"39436:192:16","nodes":[],"body":{"id":22550,"nodeType":"Block","src":"39520:108:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c75696e7432353629","id":22542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39570:33:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_24f9146562ee02c43db65ac014241fab3a51c9e29435f60d2ed133a186cac03a","typeString":"literal_string \"log(string,bool,string,uint256)\""},"value":"log(string,bool,string,uint256)"},{"id":22543,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22530,"src":"39605:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22544,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22532,"src":"39609:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22545,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22534,"src":"39613:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22546,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22536,"src":"39617:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_24f9146562ee02c43db65ac014241fab3a51c9e29435f60d2ed133a186cac03a","typeString":"literal_string \"log(string,bool,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22540,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39546:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39550:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39546:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39546:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22539,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"39530:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39530:91:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22549,"nodeType":"ExpressionStatement","src":"39530:91:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39445:3:16","parameters":{"id":22537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22530,"mutability":"mutable","name":"p0","nameLocation":"39463:2:16","nodeType":"VariableDeclaration","scope":22551,"src":"39449:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22529,"name":"string","nodeType":"ElementaryTypeName","src":"39449:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22532,"mutability":"mutable","name":"p1","nameLocation":"39472:2:16","nodeType":"VariableDeclaration","scope":22551,"src":"39467:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22531,"name":"bool","nodeType":"ElementaryTypeName","src":"39467:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22534,"mutability":"mutable","name":"p2","nameLocation":"39490:2:16","nodeType":"VariableDeclaration","scope":22551,"src":"39476:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22533,"name":"string","nodeType":"ElementaryTypeName","src":"39476:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22536,"mutability":"mutable","name":"p3","nameLocation":"39502:2:16","nodeType":"VariableDeclaration","scope":22551,"src":"39494:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22535,"name":"uint256","nodeType":"ElementaryTypeName","src":"39494:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39448:57:16"},"returnParameters":{"id":22538,"nodeType":"ParameterList","parameters":[],"src":"39520:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22574,"nodeType":"FunctionDefinition","src":"39634:197:16","nodes":[],"body":{"id":22573,"nodeType":"Block","src":"39724:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c737472696e6729","id":22565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39774:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d","typeString":"literal_string \"log(string,bool,string,string)\""},"value":"log(string,bool,string,string)"},{"id":22566,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22553,"src":"39808:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22567,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22555,"src":"39812:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22568,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22557,"src":"39816:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22569,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22559,"src":"39820:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d","typeString":"literal_string \"log(string,bool,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22563,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39750:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39754:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39750:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39750:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22562,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"39734:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39734:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22572,"nodeType":"ExpressionStatement","src":"39734:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39643:3:16","parameters":{"id":22560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22553,"mutability":"mutable","name":"p0","nameLocation":"39661:2:16","nodeType":"VariableDeclaration","scope":22574,"src":"39647:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22552,"name":"string","nodeType":"ElementaryTypeName","src":"39647:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22555,"mutability":"mutable","name":"p1","nameLocation":"39670:2:16","nodeType":"VariableDeclaration","scope":22574,"src":"39665:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22554,"name":"bool","nodeType":"ElementaryTypeName","src":"39665:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22557,"mutability":"mutable","name":"p2","nameLocation":"39688:2:16","nodeType":"VariableDeclaration","scope":22574,"src":"39674:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22556,"name":"string","nodeType":"ElementaryTypeName","src":"39674:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22559,"mutability":"mutable","name":"p3","nameLocation":"39706:2:16","nodeType":"VariableDeclaration","scope":22574,"src":"39692:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22558,"name":"string","nodeType":"ElementaryTypeName","src":"39692:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39646:63:16"},"returnParameters":{"id":22561,"nodeType":"ParameterList","parameters":[],"src":"39724:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22597,"nodeType":"FunctionDefinition","src":"39837:186:16","nodes":[],"body":{"id":22596,"nodeType":"Block","src":"39918:105:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c626f6f6c29","id":22588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39968:30:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b","typeString":"literal_string \"log(string,bool,string,bool)\""},"value":"log(string,bool,string,bool)"},{"id":22589,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22576,"src":"40000:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22590,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22578,"src":"40004:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22591,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22580,"src":"40008:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22592,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22582,"src":"40012:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b","typeString":"literal_string \"log(string,bool,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22586,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39944:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22587,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39948:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39944:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39944:71:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22585,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"39928:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39928:88:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22595,"nodeType":"ExpressionStatement","src":"39928:88:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39846:3:16","parameters":{"id":22583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22576,"mutability":"mutable","name":"p0","nameLocation":"39864:2:16","nodeType":"VariableDeclaration","scope":22597,"src":"39850:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22575,"name":"string","nodeType":"ElementaryTypeName","src":"39850:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22578,"mutability":"mutable","name":"p1","nameLocation":"39873:2:16","nodeType":"VariableDeclaration","scope":22597,"src":"39868:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22577,"name":"bool","nodeType":"ElementaryTypeName","src":"39868:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22580,"mutability":"mutable","name":"p2","nameLocation":"39891:2:16","nodeType":"VariableDeclaration","scope":22597,"src":"39877:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22579,"name":"string","nodeType":"ElementaryTypeName","src":"39877:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22582,"mutability":"mutable","name":"p3","nameLocation":"39900:2:16","nodeType":"VariableDeclaration","scope":22597,"src":"39895:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22581,"name":"bool","nodeType":"ElementaryTypeName","src":"39895:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39849:54:16"},"returnParameters":{"id":22584,"nodeType":"ParameterList","parameters":[],"src":"39918:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22620,"nodeType":"FunctionDefinition","src":"40029:192:16","nodes":[],"body":{"id":22619,"nodeType":"Block","src":"40113:108:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c6164647265737329","id":22611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40163:33:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8","typeString":"literal_string \"log(string,bool,string,address)\""},"value":"log(string,bool,string,address)"},{"id":22612,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22599,"src":"40198:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22613,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22601,"src":"40202:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22614,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22603,"src":"40206:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22615,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22605,"src":"40210:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8","typeString":"literal_string \"log(string,bool,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22609,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40139:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22610,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40143:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40139:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40139:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22608,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"40123:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40123:91:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22618,"nodeType":"ExpressionStatement","src":"40123:91:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40038:3:16","parameters":{"id":22606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22599,"mutability":"mutable","name":"p0","nameLocation":"40056:2:16","nodeType":"VariableDeclaration","scope":22620,"src":"40042:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22598,"name":"string","nodeType":"ElementaryTypeName","src":"40042:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22601,"mutability":"mutable","name":"p1","nameLocation":"40065:2:16","nodeType":"VariableDeclaration","scope":22620,"src":"40060:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22600,"name":"bool","nodeType":"ElementaryTypeName","src":"40060:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22603,"mutability":"mutable","name":"p2","nameLocation":"40083:2:16","nodeType":"VariableDeclaration","scope":22620,"src":"40069:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22602,"name":"string","nodeType":"ElementaryTypeName","src":"40069:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22605,"mutability":"mutable","name":"p3","nameLocation":"40095:2:16","nodeType":"VariableDeclaration","scope":22620,"src":"40087:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22604,"name":"address","nodeType":"ElementaryTypeName","src":"40087:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40041:57:16"},"returnParameters":{"id":22607,"nodeType":"ParameterList","parameters":[],"src":"40113:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22643,"nodeType":"FunctionDefinition","src":"40227:181:16","nodes":[],"body":{"id":22642,"nodeType":"Block","src":"40302:106:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c75696e7432353629","id":22634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40352:31:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e3f78a95b6137f6ae9ccc69d6fedacb3b283b432b4367bfc497a4b3b428665c","typeString":"literal_string \"log(string,bool,bool,uint256)\""},"value":"log(string,bool,bool,uint256)"},{"id":22635,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22622,"src":"40385:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22636,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22624,"src":"40389:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22637,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22626,"src":"40393:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22638,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22628,"src":"40397:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e3f78a95b6137f6ae9ccc69d6fedacb3b283b432b4367bfc497a4b3b428665c","typeString":"literal_string \"log(string,bool,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22632,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40328:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22633,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40332:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40328:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40328:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22631,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"40312:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40312:89:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22641,"nodeType":"ExpressionStatement","src":"40312:89:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40236:3:16","parameters":{"id":22629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22622,"mutability":"mutable","name":"p0","nameLocation":"40254:2:16","nodeType":"VariableDeclaration","scope":22643,"src":"40240:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22621,"name":"string","nodeType":"ElementaryTypeName","src":"40240:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22624,"mutability":"mutable","name":"p1","nameLocation":"40263:2:16","nodeType":"VariableDeclaration","scope":22643,"src":"40258:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22623,"name":"bool","nodeType":"ElementaryTypeName","src":"40258:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22626,"mutability":"mutable","name":"p2","nameLocation":"40272:2:16","nodeType":"VariableDeclaration","scope":22643,"src":"40267:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22625,"name":"bool","nodeType":"ElementaryTypeName","src":"40267:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22628,"mutability":"mutable","name":"p3","nameLocation":"40284:2:16","nodeType":"VariableDeclaration","scope":22643,"src":"40276:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22627,"name":"uint256","nodeType":"ElementaryTypeName","src":"40276:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40239:48:16"},"returnParameters":{"id":22630,"nodeType":"ParameterList","parameters":[],"src":"40302:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22666,"nodeType":"FunctionDefinition","src":"40414:186:16","nodes":[],"body":{"id":22665,"nodeType":"Block","src":"40495:105:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c737472696e6729","id":22657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40545:30:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058","typeString":"literal_string \"log(string,bool,bool,string)\""},"value":"log(string,bool,bool,string)"},{"id":22658,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22645,"src":"40577:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22659,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22647,"src":"40581:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22660,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22649,"src":"40585:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22661,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22651,"src":"40589:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058","typeString":"literal_string \"log(string,bool,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22655,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40521:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22656,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40525:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40521:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40521:71:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22654,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"40505:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40505:88:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22664,"nodeType":"ExpressionStatement","src":"40505:88:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40423:3:16","parameters":{"id":22652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22645,"mutability":"mutable","name":"p0","nameLocation":"40441:2:16","nodeType":"VariableDeclaration","scope":22666,"src":"40427:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22644,"name":"string","nodeType":"ElementaryTypeName","src":"40427:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22647,"mutability":"mutable","name":"p1","nameLocation":"40450:2:16","nodeType":"VariableDeclaration","scope":22666,"src":"40445:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22646,"name":"bool","nodeType":"ElementaryTypeName","src":"40445:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22649,"mutability":"mutable","name":"p2","nameLocation":"40459:2:16","nodeType":"VariableDeclaration","scope":22666,"src":"40454:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22648,"name":"bool","nodeType":"ElementaryTypeName","src":"40454:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22651,"mutability":"mutable","name":"p3","nameLocation":"40477:2:16","nodeType":"VariableDeclaration","scope":22666,"src":"40463:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22650,"name":"string","nodeType":"ElementaryTypeName","src":"40463:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40426:54:16"},"returnParameters":{"id":22653,"nodeType":"ParameterList","parameters":[],"src":"40495:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22689,"nodeType":"FunctionDefinition","src":"40606:175:16","nodes":[],"body":{"id":22688,"nodeType":"Block","src":"40678:103:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c626f6f6c29","id":22680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40728:28:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2","typeString":"literal_string \"log(string,bool,bool,bool)\""},"value":"log(string,bool,bool,bool)"},{"id":22681,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22668,"src":"40758:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22682,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22670,"src":"40762:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22683,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22672,"src":"40766:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22684,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22674,"src":"40770:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2","typeString":"literal_string \"log(string,bool,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22678,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40704:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40708:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40704:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40704:69:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22677,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"40688:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40688:86:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22687,"nodeType":"ExpressionStatement","src":"40688:86:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40615:3:16","parameters":{"id":22675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22668,"mutability":"mutable","name":"p0","nameLocation":"40633:2:16","nodeType":"VariableDeclaration","scope":22689,"src":"40619:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22667,"name":"string","nodeType":"ElementaryTypeName","src":"40619:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22670,"mutability":"mutable","name":"p1","nameLocation":"40642:2:16","nodeType":"VariableDeclaration","scope":22689,"src":"40637:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22669,"name":"bool","nodeType":"ElementaryTypeName","src":"40637:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22672,"mutability":"mutable","name":"p2","nameLocation":"40651:2:16","nodeType":"VariableDeclaration","scope":22689,"src":"40646:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22671,"name":"bool","nodeType":"ElementaryTypeName","src":"40646:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22674,"mutability":"mutable","name":"p3","nameLocation":"40660:2:16","nodeType":"VariableDeclaration","scope":22689,"src":"40655:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22673,"name":"bool","nodeType":"ElementaryTypeName","src":"40655:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"40618:45:16"},"returnParameters":{"id":22676,"nodeType":"ParameterList","parameters":[],"src":"40678:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22712,"nodeType":"FunctionDefinition","src":"40787:181:16","nodes":[],"body":{"id":22711,"nodeType":"Block","src":"40862:106:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c6164647265737329","id":22703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40912:31:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d","typeString":"literal_string \"log(string,bool,bool,address)\""},"value":"log(string,bool,bool,address)"},{"id":22704,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22691,"src":"40945:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22705,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22693,"src":"40949:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22706,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22695,"src":"40953:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22707,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22697,"src":"40957:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d","typeString":"literal_string \"log(string,bool,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22701,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40888:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40892:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40888:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40888:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22700,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"40872:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40872:89:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22710,"nodeType":"ExpressionStatement","src":"40872:89:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40796:3:16","parameters":{"id":22698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22691,"mutability":"mutable","name":"p0","nameLocation":"40814:2:16","nodeType":"VariableDeclaration","scope":22712,"src":"40800:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22690,"name":"string","nodeType":"ElementaryTypeName","src":"40800:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22693,"mutability":"mutable","name":"p1","nameLocation":"40823:2:16","nodeType":"VariableDeclaration","scope":22712,"src":"40818:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22692,"name":"bool","nodeType":"ElementaryTypeName","src":"40818:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22695,"mutability":"mutable","name":"p2","nameLocation":"40832:2:16","nodeType":"VariableDeclaration","scope":22712,"src":"40827:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22694,"name":"bool","nodeType":"ElementaryTypeName","src":"40827:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22697,"mutability":"mutable","name":"p3","nameLocation":"40844:2:16","nodeType":"VariableDeclaration","scope":22712,"src":"40836:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22696,"name":"address","nodeType":"ElementaryTypeName","src":"40836:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40799:48:16"},"returnParameters":{"id":22699,"nodeType":"ParameterList","parameters":[],"src":"40862:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22735,"nodeType":"FunctionDefinition","src":"40974:187:16","nodes":[],"body":{"id":22734,"nodeType":"Block","src":"41052:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c75696e7432353629","id":22726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41102:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d08bb051545e1af26b8dc05172e6aa8a0bd85212ec19e971b10cea364c21531","typeString":"literal_string \"log(string,bool,address,uint256)\""},"value":"log(string,bool,address,uint256)"},{"id":22727,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22714,"src":"41138:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22728,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22716,"src":"41142:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22729,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22718,"src":"41146:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22730,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22720,"src":"41150:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d08bb051545e1af26b8dc05172e6aa8a0bd85212ec19e971b10cea364c21531","typeString":"literal_string \"log(string,bool,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22724,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41078:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22725,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41082:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41078:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41078:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22723,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"41062:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41062:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22733,"nodeType":"ExpressionStatement","src":"41062:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40983:3:16","parameters":{"id":22721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22714,"mutability":"mutable","name":"p0","nameLocation":"41001:2:16","nodeType":"VariableDeclaration","scope":22735,"src":"40987:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22713,"name":"string","nodeType":"ElementaryTypeName","src":"40987:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22716,"mutability":"mutable","name":"p1","nameLocation":"41010:2:16","nodeType":"VariableDeclaration","scope":22735,"src":"41005:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22715,"name":"bool","nodeType":"ElementaryTypeName","src":"41005:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22718,"mutability":"mutable","name":"p2","nameLocation":"41022:2:16","nodeType":"VariableDeclaration","scope":22735,"src":"41014:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22717,"name":"address","nodeType":"ElementaryTypeName","src":"41014:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22720,"mutability":"mutable","name":"p3","nameLocation":"41034:2:16","nodeType":"VariableDeclaration","scope":22735,"src":"41026:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22719,"name":"uint256","nodeType":"ElementaryTypeName","src":"41026:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40986:51:16"},"returnParameters":{"id":22722,"nodeType":"ParameterList","parameters":[],"src":"41052:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22758,"nodeType":"FunctionDefinition","src":"41167:192:16","nodes":[],"body":{"id":22757,"nodeType":"Block","src":"41251:108:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c737472696e6729","id":22749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41301:33:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef","typeString":"literal_string \"log(string,bool,address,string)\""},"value":"log(string,bool,address,string)"},{"id":22750,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22737,"src":"41336:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22751,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22739,"src":"41340:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22752,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22741,"src":"41344:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22753,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22743,"src":"41348:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef","typeString":"literal_string \"log(string,bool,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22747,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41277:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41281:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41277:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41277:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22746,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"41261:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41261:91:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22756,"nodeType":"ExpressionStatement","src":"41261:91:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41176:3:16","parameters":{"id":22744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22737,"mutability":"mutable","name":"p0","nameLocation":"41194:2:16","nodeType":"VariableDeclaration","scope":22758,"src":"41180:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22736,"name":"string","nodeType":"ElementaryTypeName","src":"41180:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22739,"mutability":"mutable","name":"p1","nameLocation":"41203:2:16","nodeType":"VariableDeclaration","scope":22758,"src":"41198:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22738,"name":"bool","nodeType":"ElementaryTypeName","src":"41198:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22741,"mutability":"mutable","name":"p2","nameLocation":"41215:2:16","nodeType":"VariableDeclaration","scope":22758,"src":"41207:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22740,"name":"address","nodeType":"ElementaryTypeName","src":"41207:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22743,"mutability":"mutable","name":"p3","nameLocation":"41233:2:16","nodeType":"VariableDeclaration","scope":22758,"src":"41219:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22742,"name":"string","nodeType":"ElementaryTypeName","src":"41219:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41179:57:16"},"returnParameters":{"id":22745,"nodeType":"ParameterList","parameters":[],"src":"41251:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22781,"nodeType":"FunctionDefinition","src":"41365:181:16","nodes":[],"body":{"id":22780,"nodeType":"Block","src":"41440:106:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c626f6f6c29","id":22772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41490:31:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482","typeString":"literal_string \"log(string,bool,address,bool)\""},"value":"log(string,bool,address,bool)"},{"id":22773,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22760,"src":"41523:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22774,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22762,"src":"41527:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22775,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22764,"src":"41531:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22776,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22766,"src":"41535:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482","typeString":"literal_string \"log(string,bool,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22770,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41466:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41470:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41466:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41466:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22769,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"41450:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41450:89:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22779,"nodeType":"ExpressionStatement","src":"41450:89:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41374:3:16","parameters":{"id":22767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22760,"mutability":"mutable","name":"p0","nameLocation":"41392:2:16","nodeType":"VariableDeclaration","scope":22781,"src":"41378:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22759,"name":"string","nodeType":"ElementaryTypeName","src":"41378:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22762,"mutability":"mutable","name":"p1","nameLocation":"41401:2:16","nodeType":"VariableDeclaration","scope":22781,"src":"41396:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22761,"name":"bool","nodeType":"ElementaryTypeName","src":"41396:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22764,"mutability":"mutable","name":"p2","nameLocation":"41413:2:16","nodeType":"VariableDeclaration","scope":22781,"src":"41405:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22763,"name":"address","nodeType":"ElementaryTypeName","src":"41405:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22766,"mutability":"mutable","name":"p3","nameLocation":"41422:2:16","nodeType":"VariableDeclaration","scope":22781,"src":"41417:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22765,"name":"bool","nodeType":"ElementaryTypeName","src":"41417:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41377:48:16"},"returnParameters":{"id":22768,"nodeType":"ParameterList","parameters":[],"src":"41440:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22804,"nodeType":"FunctionDefinition","src":"41552:187:16","nodes":[],"body":{"id":22803,"nodeType":"Block","src":"41630:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c6164647265737329","id":22795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41680:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d","typeString":"literal_string \"log(string,bool,address,address)\""},"value":"log(string,bool,address,address)"},{"id":22796,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22783,"src":"41716:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22797,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22785,"src":"41720:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22798,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22787,"src":"41724:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22799,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22789,"src":"41728:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d","typeString":"literal_string \"log(string,bool,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22793,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41656:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41660:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41656:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41656:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22792,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"41640:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41640:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22802,"nodeType":"ExpressionStatement","src":"41640:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41561:3:16","parameters":{"id":22790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22783,"mutability":"mutable","name":"p0","nameLocation":"41579:2:16","nodeType":"VariableDeclaration","scope":22804,"src":"41565:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22782,"name":"string","nodeType":"ElementaryTypeName","src":"41565:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22785,"mutability":"mutable","name":"p1","nameLocation":"41588:2:16","nodeType":"VariableDeclaration","scope":22804,"src":"41583:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22784,"name":"bool","nodeType":"ElementaryTypeName","src":"41583:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22787,"mutability":"mutable","name":"p2","nameLocation":"41600:2:16","nodeType":"VariableDeclaration","scope":22804,"src":"41592:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22786,"name":"address","nodeType":"ElementaryTypeName","src":"41592:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22789,"mutability":"mutable","name":"p3","nameLocation":"41612:2:16","nodeType":"VariableDeclaration","scope":22804,"src":"41604:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22788,"name":"address","nodeType":"ElementaryTypeName","src":"41604:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41564:51:16"},"returnParameters":{"id":22791,"nodeType":"ParameterList","parameters":[],"src":"41630:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22827,"nodeType":"FunctionDefinition","src":"41745:193:16","nodes":[],"body":{"id":22826,"nodeType":"Block","src":"41826:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c75696e7432353629","id":22818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41876:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8f51b1efa50f24f22e6d84ce2fe784a33e1301484ada1546e913ae05d6370e9","typeString":"literal_string \"log(string,address,uint256,uint256)\""},"value":"log(string,address,uint256,uint256)"},{"id":22819,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22806,"src":"41915:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22820,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22808,"src":"41919:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22821,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22810,"src":"41923:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22822,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22812,"src":"41927:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f8f51b1efa50f24f22e6d84ce2fe784a33e1301484ada1546e913ae05d6370e9","typeString":"literal_string \"log(string,address,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22816,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41852:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41856:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41852:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41852:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22815,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"41836:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41836:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22825,"nodeType":"ExpressionStatement","src":"41836:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41754:3:16","parameters":{"id":22813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22806,"mutability":"mutable","name":"p0","nameLocation":"41772:2:16","nodeType":"VariableDeclaration","scope":22827,"src":"41758:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22805,"name":"string","nodeType":"ElementaryTypeName","src":"41758:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22808,"mutability":"mutable","name":"p1","nameLocation":"41784:2:16","nodeType":"VariableDeclaration","scope":22827,"src":"41776:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22807,"name":"address","nodeType":"ElementaryTypeName","src":"41776:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22810,"mutability":"mutable","name":"p2","nameLocation":"41796:2:16","nodeType":"VariableDeclaration","scope":22827,"src":"41788:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22809,"name":"uint256","nodeType":"ElementaryTypeName","src":"41788:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22812,"mutability":"mutable","name":"p3","nameLocation":"41808:2:16","nodeType":"VariableDeclaration","scope":22827,"src":"41800:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22811,"name":"uint256","nodeType":"ElementaryTypeName","src":"41800:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41757:54:16"},"returnParameters":{"id":22814,"nodeType":"ParameterList","parameters":[],"src":"41826:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22850,"nodeType":"FunctionDefinition","src":"41944:198:16","nodes":[],"body":{"id":22849,"nodeType":"Block","src":"42031:111:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c737472696e6729","id":22841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42081:36:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_5a477632ed0f8b7872a83c9247644de555db395491f2f355c6edb676d8bcb46c","typeString":"literal_string \"log(string,address,uint256,string)\""},"value":"log(string,address,uint256,string)"},{"id":22842,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22829,"src":"42119:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22843,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22831,"src":"42123:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22844,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22833,"src":"42127:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22845,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22835,"src":"42131:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5a477632ed0f8b7872a83c9247644de555db395491f2f355c6edb676d8bcb46c","typeString":"literal_string \"log(string,address,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22839,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42057:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22840,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42061:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42057:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42057:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22838,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"42041:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42041:94:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22848,"nodeType":"ExpressionStatement","src":"42041:94:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41953:3:16","parameters":{"id":22836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22829,"mutability":"mutable","name":"p0","nameLocation":"41971:2:16","nodeType":"VariableDeclaration","scope":22850,"src":"41957:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22828,"name":"string","nodeType":"ElementaryTypeName","src":"41957:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22831,"mutability":"mutable","name":"p1","nameLocation":"41983:2:16","nodeType":"VariableDeclaration","scope":22850,"src":"41975:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22830,"name":"address","nodeType":"ElementaryTypeName","src":"41975:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22833,"mutability":"mutable","name":"p2","nameLocation":"41995:2:16","nodeType":"VariableDeclaration","scope":22850,"src":"41987:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22832,"name":"uint256","nodeType":"ElementaryTypeName","src":"41987:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22835,"mutability":"mutable","name":"p3","nameLocation":"42013:2:16","nodeType":"VariableDeclaration","scope":22850,"src":"41999:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22834,"name":"string","nodeType":"ElementaryTypeName","src":"41999:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41956:60:16"},"returnParameters":{"id":22837,"nodeType":"ParameterList","parameters":[],"src":"42031:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22873,"nodeType":"FunctionDefinition","src":"42148:187:16","nodes":[],"body":{"id":22872,"nodeType":"Block","src":"42226:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c626f6f6c29","id":22864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42276:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_fc4845f029f76ed29f7b800fe92a7851214073a807806d7d808676b2cbe7a1c7","typeString":"literal_string \"log(string,address,uint256,bool)\""},"value":"log(string,address,uint256,bool)"},{"id":22865,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22852,"src":"42312:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22866,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22854,"src":"42316:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22867,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22856,"src":"42320:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22868,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22858,"src":"42324:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fc4845f029f76ed29f7b800fe92a7851214073a807806d7d808676b2cbe7a1c7","typeString":"literal_string \"log(string,address,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22862,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42252:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22863,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42256:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42252:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42252:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22861,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"42236:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42236:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22871,"nodeType":"ExpressionStatement","src":"42236:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42157:3:16","parameters":{"id":22859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22852,"mutability":"mutable","name":"p0","nameLocation":"42175:2:16","nodeType":"VariableDeclaration","scope":22873,"src":"42161:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22851,"name":"string","nodeType":"ElementaryTypeName","src":"42161:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22854,"mutability":"mutable","name":"p1","nameLocation":"42187:2:16","nodeType":"VariableDeclaration","scope":22873,"src":"42179:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22853,"name":"address","nodeType":"ElementaryTypeName","src":"42179:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22856,"mutability":"mutable","name":"p2","nameLocation":"42199:2:16","nodeType":"VariableDeclaration","scope":22873,"src":"42191:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22855,"name":"uint256","nodeType":"ElementaryTypeName","src":"42191:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22858,"mutability":"mutable","name":"p3","nameLocation":"42208:2:16","nodeType":"VariableDeclaration","scope":22873,"src":"42203:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22857,"name":"bool","nodeType":"ElementaryTypeName","src":"42203:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"42160:51:16"},"returnParameters":{"id":22860,"nodeType":"ParameterList","parameters":[],"src":"42226:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22896,"nodeType":"FunctionDefinition","src":"42341:193:16","nodes":[],"body":{"id":22895,"nodeType":"Block","src":"42422:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c6164647265737329","id":22887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42472:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_63fb8bc57476e3f2139504feb3fa304f43eeecc15ac8e150b7b3c9fdfa4ea83a","typeString":"literal_string \"log(string,address,uint256,address)\""},"value":"log(string,address,uint256,address)"},{"id":22888,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22875,"src":"42511:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22889,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22877,"src":"42515:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22890,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22879,"src":"42519:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22891,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22881,"src":"42523:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_63fb8bc57476e3f2139504feb3fa304f43eeecc15ac8e150b7b3c9fdfa4ea83a","typeString":"literal_string \"log(string,address,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22885,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42448:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22886,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42452:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42448:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42448:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22884,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"42432:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42432:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22894,"nodeType":"ExpressionStatement","src":"42432:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42350:3:16","parameters":{"id":22882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22875,"mutability":"mutable","name":"p0","nameLocation":"42368:2:16","nodeType":"VariableDeclaration","scope":22896,"src":"42354:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22874,"name":"string","nodeType":"ElementaryTypeName","src":"42354:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22877,"mutability":"mutable","name":"p1","nameLocation":"42380:2:16","nodeType":"VariableDeclaration","scope":22896,"src":"42372:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22876,"name":"address","nodeType":"ElementaryTypeName","src":"42372:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22879,"mutability":"mutable","name":"p2","nameLocation":"42392:2:16","nodeType":"VariableDeclaration","scope":22896,"src":"42384:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22878,"name":"uint256","nodeType":"ElementaryTypeName","src":"42384:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22881,"mutability":"mutable","name":"p3","nameLocation":"42404:2:16","nodeType":"VariableDeclaration","scope":22896,"src":"42396:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22880,"name":"address","nodeType":"ElementaryTypeName","src":"42396:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"42353:54:16"},"returnParameters":{"id":22883,"nodeType":"ParameterList","parameters":[],"src":"42422:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22919,"nodeType":"FunctionDefinition","src":"42540:198:16","nodes":[],"body":{"id":22918,"nodeType":"Block","src":"42627:111:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c75696e7432353629","id":22910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42677:36:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_91d1112e9ca774de680c78512401449500c1938a4e449f6e73f80a84d95cfcfd","typeString":"literal_string \"log(string,address,string,uint256)\""},"value":"log(string,address,string,uint256)"},{"id":22911,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22898,"src":"42715:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22912,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22900,"src":"42719:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22913,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22902,"src":"42723:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22914,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22904,"src":"42727:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91d1112e9ca774de680c78512401449500c1938a4e449f6e73f80a84d95cfcfd","typeString":"literal_string \"log(string,address,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22908,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42653:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22909,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42657:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42653:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42653:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22907,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"42637:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42637:94:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22917,"nodeType":"ExpressionStatement","src":"42637:94:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42549:3:16","parameters":{"id":22905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22898,"mutability":"mutable","name":"p0","nameLocation":"42567:2:16","nodeType":"VariableDeclaration","scope":22919,"src":"42553:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22897,"name":"string","nodeType":"ElementaryTypeName","src":"42553:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22900,"mutability":"mutable","name":"p1","nameLocation":"42579:2:16","nodeType":"VariableDeclaration","scope":22919,"src":"42571:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22899,"name":"address","nodeType":"ElementaryTypeName","src":"42571:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22902,"mutability":"mutable","name":"p2","nameLocation":"42597:2:16","nodeType":"VariableDeclaration","scope":22919,"src":"42583:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22901,"name":"string","nodeType":"ElementaryTypeName","src":"42583:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22904,"mutability":"mutable","name":"p3","nameLocation":"42609:2:16","nodeType":"VariableDeclaration","scope":22919,"src":"42601:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22903,"name":"uint256","nodeType":"ElementaryTypeName","src":"42601:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42552:60:16"},"returnParameters":{"id":22906,"nodeType":"ParameterList","parameters":[],"src":"42627:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22942,"nodeType":"FunctionDefinition","src":"42744:203:16","nodes":[],"body":{"id":22941,"nodeType":"Block","src":"42837:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c737472696e6729","id":22933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42887:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797","typeString":"literal_string \"log(string,address,string,string)\""},"value":"log(string,address,string,string)"},{"id":22934,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22921,"src":"42924:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22935,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22923,"src":"42928:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22936,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22925,"src":"42932:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22937,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22927,"src":"42936:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797","typeString":"literal_string \"log(string,address,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22931,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42863:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22932,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42867:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42863:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42863:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22930,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"42847:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42847:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22940,"nodeType":"ExpressionStatement","src":"42847:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42753:3:16","parameters":{"id":22928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22921,"mutability":"mutable","name":"p0","nameLocation":"42771:2:16","nodeType":"VariableDeclaration","scope":22942,"src":"42757:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22920,"name":"string","nodeType":"ElementaryTypeName","src":"42757:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22923,"mutability":"mutable","name":"p1","nameLocation":"42783:2:16","nodeType":"VariableDeclaration","scope":22942,"src":"42775:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22922,"name":"address","nodeType":"ElementaryTypeName","src":"42775:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22925,"mutability":"mutable","name":"p2","nameLocation":"42801:2:16","nodeType":"VariableDeclaration","scope":22942,"src":"42787:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22924,"name":"string","nodeType":"ElementaryTypeName","src":"42787:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22927,"mutability":"mutable","name":"p3","nameLocation":"42819:2:16","nodeType":"VariableDeclaration","scope":22942,"src":"42805:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22926,"name":"string","nodeType":"ElementaryTypeName","src":"42805:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42756:66:16"},"returnParameters":{"id":22929,"nodeType":"ParameterList","parameters":[],"src":"42837:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22965,"nodeType":"FunctionDefinition","src":"42953:192:16","nodes":[],"body":{"id":22964,"nodeType":"Block","src":"43037:108:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c626f6f6c29","id":22956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43087:33:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154","typeString":"literal_string \"log(string,address,string,bool)\""},"value":"log(string,address,string,bool)"},{"id":22957,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22944,"src":"43122:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22958,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22946,"src":"43126:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22959,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22948,"src":"43130:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22960,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22950,"src":"43134:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154","typeString":"literal_string \"log(string,address,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22954,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43063:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22955,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43067:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43063:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43063:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22953,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"43047:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43047:91:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22963,"nodeType":"ExpressionStatement","src":"43047:91:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42962:3:16","parameters":{"id":22951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22944,"mutability":"mutable","name":"p0","nameLocation":"42980:2:16","nodeType":"VariableDeclaration","scope":22965,"src":"42966:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22943,"name":"string","nodeType":"ElementaryTypeName","src":"42966:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22946,"mutability":"mutable","name":"p1","nameLocation":"42992:2:16","nodeType":"VariableDeclaration","scope":22965,"src":"42984:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22945,"name":"address","nodeType":"ElementaryTypeName","src":"42984:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22948,"mutability":"mutable","name":"p2","nameLocation":"43010:2:16","nodeType":"VariableDeclaration","scope":22965,"src":"42996:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22947,"name":"string","nodeType":"ElementaryTypeName","src":"42996:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22950,"mutability":"mutable","name":"p3","nameLocation":"43019:2:16","nodeType":"VariableDeclaration","scope":22965,"src":"43014:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22949,"name":"bool","nodeType":"ElementaryTypeName","src":"43014:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"42965:57:16"},"returnParameters":{"id":22952,"nodeType":"ParameterList","parameters":[],"src":"43037:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":22988,"nodeType":"FunctionDefinition","src":"43151:198:16","nodes":[],"body":{"id":22987,"nodeType":"Block","src":"43238:111:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c6164647265737329","id":22979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43288:36:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d","typeString":"literal_string \"log(string,address,string,address)\""},"value":"log(string,address,string,address)"},{"id":22980,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22967,"src":"43326:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22981,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22969,"src":"43330:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22982,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22971,"src":"43334:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22983,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22973,"src":"43338:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d","typeString":"literal_string \"log(string,address,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22977,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43264:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22978,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43268:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43264:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43264:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22976,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"43248:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":22985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43248:94:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22986,"nodeType":"ExpressionStatement","src":"43248:94:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43160:3:16","parameters":{"id":22974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22967,"mutability":"mutable","name":"p0","nameLocation":"43178:2:16","nodeType":"VariableDeclaration","scope":22988,"src":"43164:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22966,"name":"string","nodeType":"ElementaryTypeName","src":"43164:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22969,"mutability":"mutable","name":"p1","nameLocation":"43190:2:16","nodeType":"VariableDeclaration","scope":22988,"src":"43182:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22968,"name":"address","nodeType":"ElementaryTypeName","src":"43182:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22971,"mutability":"mutable","name":"p2","nameLocation":"43208:2:16","nodeType":"VariableDeclaration","scope":22988,"src":"43194:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22970,"name":"string","nodeType":"ElementaryTypeName","src":"43194:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22973,"mutability":"mutable","name":"p3","nameLocation":"43220:2:16","nodeType":"VariableDeclaration","scope":22988,"src":"43212:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22972,"name":"address","nodeType":"ElementaryTypeName","src":"43212:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"43163:60:16"},"returnParameters":{"id":22975,"nodeType":"ParameterList","parameters":[],"src":"43238:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23011,"nodeType":"FunctionDefinition","src":"43355:187:16","nodes":[],"body":{"id":23010,"nodeType":"Block","src":"43433:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c75696e7432353629","id":23002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43483:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e9f866aadef9b1f2b0257e0ed5e2df8882ba55e598b4f5282674b64ae3f06b5","typeString":"literal_string \"log(string,address,bool,uint256)\""},"value":"log(string,address,bool,uint256)"},{"id":23003,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22990,"src":"43519:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23004,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22992,"src":"43523:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23005,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22994,"src":"43527:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23006,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22996,"src":"43531:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3e9f866aadef9b1f2b0257e0ed5e2df8882ba55e598b4f5282674b64ae3f06b5","typeString":"literal_string \"log(string,address,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23000,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43459:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23001,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43463:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43459:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43459:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22999,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"43443:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43443:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23009,"nodeType":"ExpressionStatement","src":"43443:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43364:3:16","parameters":{"id":22997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22990,"mutability":"mutable","name":"p0","nameLocation":"43382:2:16","nodeType":"VariableDeclaration","scope":23011,"src":"43368:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22989,"name":"string","nodeType":"ElementaryTypeName","src":"43368:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22992,"mutability":"mutable","name":"p1","nameLocation":"43394:2:16","nodeType":"VariableDeclaration","scope":23011,"src":"43386:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22991,"name":"address","nodeType":"ElementaryTypeName","src":"43386:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22994,"mutability":"mutable","name":"p2","nameLocation":"43403:2:16","nodeType":"VariableDeclaration","scope":23011,"src":"43398:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22993,"name":"bool","nodeType":"ElementaryTypeName","src":"43398:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22996,"mutability":"mutable","name":"p3","nameLocation":"43415:2:16","nodeType":"VariableDeclaration","scope":23011,"src":"43407:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22995,"name":"uint256","nodeType":"ElementaryTypeName","src":"43407:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43367:51:16"},"returnParameters":{"id":22998,"nodeType":"ParameterList","parameters":[],"src":"43433:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23034,"nodeType":"FunctionDefinition","src":"43548:192:16","nodes":[],"body":{"id":23033,"nodeType":"Block","src":"43632:108:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c737472696e6729","id":23025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43682:33:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb","typeString":"literal_string \"log(string,address,bool,string)\""},"value":"log(string,address,bool,string)"},{"id":23026,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23013,"src":"43717:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23027,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23015,"src":"43721:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23028,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23017,"src":"43725:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23029,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23019,"src":"43729:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb","typeString":"literal_string \"log(string,address,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23023,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43658:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23024,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43662:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43658:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43658:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23022,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"43642:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43642:91:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23032,"nodeType":"ExpressionStatement","src":"43642:91:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43557:3:16","parameters":{"id":23020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23013,"mutability":"mutable","name":"p0","nameLocation":"43575:2:16","nodeType":"VariableDeclaration","scope":23034,"src":"43561:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23012,"name":"string","nodeType":"ElementaryTypeName","src":"43561:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23015,"mutability":"mutable","name":"p1","nameLocation":"43587:2:16","nodeType":"VariableDeclaration","scope":23034,"src":"43579:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23014,"name":"address","nodeType":"ElementaryTypeName","src":"43579:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23017,"mutability":"mutable","name":"p2","nameLocation":"43596:2:16","nodeType":"VariableDeclaration","scope":23034,"src":"43591:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23016,"name":"bool","nodeType":"ElementaryTypeName","src":"43591:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23019,"mutability":"mutable","name":"p3","nameLocation":"43614:2:16","nodeType":"VariableDeclaration","scope":23034,"src":"43600:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23018,"name":"string","nodeType":"ElementaryTypeName","src":"43600:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43560:57:16"},"returnParameters":{"id":23021,"nodeType":"ParameterList","parameters":[],"src":"43632:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23057,"nodeType":"FunctionDefinition","src":"43746:181:16","nodes":[],"body":{"id":23056,"nodeType":"Block","src":"43821:106:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c626f6f6c29","id":23048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43871:31:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039","typeString":"literal_string \"log(string,address,bool,bool)\""},"value":"log(string,address,bool,bool)"},{"id":23049,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23036,"src":"43904:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23050,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23038,"src":"43908:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23051,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23040,"src":"43912:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23052,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23042,"src":"43916:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039","typeString":"literal_string \"log(string,address,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23046,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43847:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23047,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43851:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43847:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43847:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23045,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"43831:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43831:89:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23055,"nodeType":"ExpressionStatement","src":"43831:89:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43755:3:16","parameters":{"id":23043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23036,"mutability":"mutable","name":"p0","nameLocation":"43773:2:16","nodeType":"VariableDeclaration","scope":23057,"src":"43759:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23035,"name":"string","nodeType":"ElementaryTypeName","src":"43759:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23038,"mutability":"mutable","name":"p1","nameLocation":"43785:2:16","nodeType":"VariableDeclaration","scope":23057,"src":"43777:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23037,"name":"address","nodeType":"ElementaryTypeName","src":"43777:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23040,"mutability":"mutable","name":"p2","nameLocation":"43794:2:16","nodeType":"VariableDeclaration","scope":23057,"src":"43789:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23039,"name":"bool","nodeType":"ElementaryTypeName","src":"43789:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23042,"mutability":"mutable","name":"p3","nameLocation":"43803:2:16","nodeType":"VariableDeclaration","scope":23057,"src":"43798:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23041,"name":"bool","nodeType":"ElementaryTypeName","src":"43798:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"43758:48:16"},"returnParameters":{"id":23044,"nodeType":"ParameterList","parameters":[],"src":"43821:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23080,"nodeType":"FunctionDefinition","src":"43933:187:16","nodes":[],"body":{"id":23079,"nodeType":"Block","src":"44011:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c6164647265737329","id":23071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44061:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76","typeString":"literal_string \"log(string,address,bool,address)\""},"value":"log(string,address,bool,address)"},{"id":23072,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23059,"src":"44097:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23073,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23061,"src":"44101:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23074,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23063,"src":"44105:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23075,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23065,"src":"44109:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76","typeString":"literal_string \"log(string,address,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23069,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44037:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23070,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44041:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44037:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44037:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23068,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"44021:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44021:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23078,"nodeType":"ExpressionStatement","src":"44021:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43942:3:16","parameters":{"id":23066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23059,"mutability":"mutable","name":"p0","nameLocation":"43960:2:16","nodeType":"VariableDeclaration","scope":23080,"src":"43946:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23058,"name":"string","nodeType":"ElementaryTypeName","src":"43946:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23061,"mutability":"mutable","name":"p1","nameLocation":"43972:2:16","nodeType":"VariableDeclaration","scope":23080,"src":"43964:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23060,"name":"address","nodeType":"ElementaryTypeName","src":"43964:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23063,"mutability":"mutable","name":"p2","nameLocation":"43981:2:16","nodeType":"VariableDeclaration","scope":23080,"src":"43976:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23062,"name":"bool","nodeType":"ElementaryTypeName","src":"43976:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23065,"mutability":"mutable","name":"p3","nameLocation":"43993:2:16","nodeType":"VariableDeclaration","scope":23080,"src":"43985:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23064,"name":"address","nodeType":"ElementaryTypeName","src":"43985:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"43945:51:16"},"returnParameters":{"id":23067,"nodeType":"ParameterList","parameters":[],"src":"44011:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23103,"nodeType":"FunctionDefinition","src":"44126:193:16","nodes":[],"body":{"id":23102,"nodeType":"Block","src":"44207:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c75696e7432353629","id":23094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44257:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_8ef3f399de1ebecd7840dee5f4cdc1bad43021ab37fa3acdd3dfbd36f7092e7b","typeString":"literal_string \"log(string,address,address,uint256)\""},"value":"log(string,address,address,uint256)"},{"id":23095,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23082,"src":"44296:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23096,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23084,"src":"44300:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23097,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23086,"src":"44304:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23098,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23088,"src":"44308:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8ef3f399de1ebecd7840dee5f4cdc1bad43021ab37fa3acdd3dfbd36f7092e7b","typeString":"literal_string \"log(string,address,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23092,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44233:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23093,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44237:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44233:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44233:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23091,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"44217:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44217:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23101,"nodeType":"ExpressionStatement","src":"44217:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44135:3:16","parameters":{"id":23089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23082,"mutability":"mutable","name":"p0","nameLocation":"44153:2:16","nodeType":"VariableDeclaration","scope":23103,"src":"44139:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23081,"name":"string","nodeType":"ElementaryTypeName","src":"44139:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23084,"mutability":"mutable","name":"p1","nameLocation":"44165:2:16","nodeType":"VariableDeclaration","scope":23103,"src":"44157:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23083,"name":"address","nodeType":"ElementaryTypeName","src":"44157:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23086,"mutability":"mutable","name":"p2","nameLocation":"44177:2:16","nodeType":"VariableDeclaration","scope":23103,"src":"44169:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23085,"name":"address","nodeType":"ElementaryTypeName","src":"44169:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23088,"mutability":"mutable","name":"p3","nameLocation":"44189:2:16","nodeType":"VariableDeclaration","scope":23103,"src":"44181:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23087,"name":"uint256","nodeType":"ElementaryTypeName","src":"44181:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44138:54:16"},"returnParameters":{"id":23090,"nodeType":"ParameterList","parameters":[],"src":"44207:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23126,"nodeType":"FunctionDefinition","src":"44325:198:16","nodes":[],"body":{"id":23125,"nodeType":"Block","src":"44412:111:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c737472696e6729","id":23117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44462:36:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76","typeString":"literal_string \"log(string,address,address,string)\""},"value":"log(string,address,address,string)"},{"id":23118,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23105,"src":"44500:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23119,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23107,"src":"44504:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23120,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23109,"src":"44508:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23121,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23111,"src":"44512:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76","typeString":"literal_string \"log(string,address,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23115,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44438:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23116,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44442:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44438:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44438:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23114,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"44422:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44422:94:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23124,"nodeType":"ExpressionStatement","src":"44422:94:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44334:3:16","parameters":{"id":23112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23105,"mutability":"mutable","name":"p0","nameLocation":"44352:2:16","nodeType":"VariableDeclaration","scope":23126,"src":"44338:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23104,"name":"string","nodeType":"ElementaryTypeName","src":"44338:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23107,"mutability":"mutable","name":"p1","nameLocation":"44364:2:16","nodeType":"VariableDeclaration","scope":23126,"src":"44356:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23106,"name":"address","nodeType":"ElementaryTypeName","src":"44356:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23109,"mutability":"mutable","name":"p2","nameLocation":"44376:2:16","nodeType":"VariableDeclaration","scope":23126,"src":"44368:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23108,"name":"address","nodeType":"ElementaryTypeName","src":"44368:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23111,"mutability":"mutable","name":"p3","nameLocation":"44394:2:16","nodeType":"VariableDeclaration","scope":23126,"src":"44380:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23110,"name":"string","nodeType":"ElementaryTypeName","src":"44380:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44337:60:16"},"returnParameters":{"id":23113,"nodeType":"ParameterList","parameters":[],"src":"44412:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23149,"nodeType":"FunctionDefinition","src":"44529:187:16","nodes":[],"body":{"id":23148,"nodeType":"Block","src":"44607:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c626f6f6c29","id":23140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44657:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4","typeString":"literal_string \"log(string,address,address,bool)\""},"value":"log(string,address,address,bool)"},{"id":23141,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23128,"src":"44693:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23142,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23130,"src":"44697:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23143,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23132,"src":"44701:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23144,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23134,"src":"44705:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4","typeString":"literal_string \"log(string,address,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23138,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44633:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44637:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44633:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44633:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23137,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"44617:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44617:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23147,"nodeType":"ExpressionStatement","src":"44617:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44538:3:16","parameters":{"id":23135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23128,"mutability":"mutable","name":"p0","nameLocation":"44556:2:16","nodeType":"VariableDeclaration","scope":23149,"src":"44542:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23127,"name":"string","nodeType":"ElementaryTypeName","src":"44542:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23130,"mutability":"mutable","name":"p1","nameLocation":"44568:2:16","nodeType":"VariableDeclaration","scope":23149,"src":"44560:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23129,"name":"address","nodeType":"ElementaryTypeName","src":"44560:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23132,"mutability":"mutable","name":"p2","nameLocation":"44580:2:16","nodeType":"VariableDeclaration","scope":23149,"src":"44572:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23131,"name":"address","nodeType":"ElementaryTypeName","src":"44572:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23134,"mutability":"mutable","name":"p3","nameLocation":"44589:2:16","nodeType":"VariableDeclaration","scope":23149,"src":"44584:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23133,"name":"bool","nodeType":"ElementaryTypeName","src":"44584:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"44541:51:16"},"returnParameters":{"id":23136,"nodeType":"ParameterList","parameters":[],"src":"44607:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23172,"nodeType":"FunctionDefinition","src":"44722:193:16","nodes":[],"body":{"id":23171,"nodeType":"Block","src":"44803:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c6164647265737329","id":23163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44853:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15","typeString":"literal_string \"log(string,address,address,address)\""},"value":"log(string,address,address,address)"},{"id":23164,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23151,"src":"44892:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23165,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23153,"src":"44896:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23166,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23155,"src":"44900:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23167,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23157,"src":"44904:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15","typeString":"literal_string \"log(string,address,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23161,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44829:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23162,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44833:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44829:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44829:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23160,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"44813:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44813:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23170,"nodeType":"ExpressionStatement","src":"44813:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44731:3:16","parameters":{"id":23158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23151,"mutability":"mutable","name":"p0","nameLocation":"44749:2:16","nodeType":"VariableDeclaration","scope":23172,"src":"44735:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23150,"name":"string","nodeType":"ElementaryTypeName","src":"44735:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23153,"mutability":"mutable","name":"p1","nameLocation":"44761:2:16","nodeType":"VariableDeclaration","scope":23172,"src":"44753:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23152,"name":"address","nodeType":"ElementaryTypeName","src":"44753:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23155,"mutability":"mutable","name":"p2","nameLocation":"44773:2:16","nodeType":"VariableDeclaration","scope":23172,"src":"44765:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23154,"name":"address","nodeType":"ElementaryTypeName","src":"44765:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23157,"mutability":"mutable","name":"p3","nameLocation":"44785:2:16","nodeType":"VariableDeclaration","scope":23172,"src":"44777:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23156,"name":"address","nodeType":"ElementaryTypeName","src":"44777:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"44734:54:16"},"returnParameters":{"id":23159,"nodeType":"ParameterList","parameters":[],"src":"44803:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23195,"nodeType":"FunctionDefinition","src":"44921:182:16","nodes":[],"body":{"id":23194,"nodeType":"Block","src":"44993:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c75696e7432353629","id":23186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45043:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_374bb4b29e495d2b557643d341fe72136bf6e92f2ac9b1edd86dbbd72a19d62b","typeString":"literal_string \"log(bool,uint256,uint256,uint256)\""},"value":"log(bool,uint256,uint256,uint256)"},{"id":23187,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23174,"src":"45080:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23188,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23176,"src":"45084:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23189,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23178,"src":"45088:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23190,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23180,"src":"45092:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_374bb4b29e495d2b557643d341fe72136bf6e92f2ac9b1edd86dbbd72a19d62b","typeString":"literal_string \"log(bool,uint256,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23184,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45019:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23185,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45023:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45019:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45019:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23183,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"45003:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45003:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23193,"nodeType":"ExpressionStatement","src":"45003:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44930:3:16","parameters":{"id":23181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23174,"mutability":"mutable","name":"p0","nameLocation":"44939:2:16","nodeType":"VariableDeclaration","scope":23195,"src":"44934:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23173,"name":"bool","nodeType":"ElementaryTypeName","src":"44934:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23176,"mutability":"mutable","name":"p1","nameLocation":"44951:2:16","nodeType":"VariableDeclaration","scope":23195,"src":"44943:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23175,"name":"uint256","nodeType":"ElementaryTypeName","src":"44943:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23178,"mutability":"mutable","name":"p2","nameLocation":"44963:2:16","nodeType":"VariableDeclaration","scope":23195,"src":"44955:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23177,"name":"uint256","nodeType":"ElementaryTypeName","src":"44955:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23180,"mutability":"mutable","name":"p3","nameLocation":"44975:2:16","nodeType":"VariableDeclaration","scope":23195,"src":"44967:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23179,"name":"uint256","nodeType":"ElementaryTypeName","src":"44967:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44933:45:16"},"returnParameters":{"id":23182,"nodeType":"ParameterList","parameters":[],"src":"44993:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23218,"nodeType":"FunctionDefinition","src":"45109:187:16","nodes":[],"body":{"id":23217,"nodeType":"Block","src":"45187:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c737472696e6729","id":23209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45237:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e69fb5dd49f06ae0054ca1d4af84221644c5b45a9306505e04580a4156255c3","typeString":"literal_string \"log(bool,uint256,uint256,string)\""},"value":"log(bool,uint256,uint256,string)"},{"id":23210,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23197,"src":"45273:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23211,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23199,"src":"45277:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23212,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23201,"src":"45281:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23213,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23203,"src":"45285:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e69fb5dd49f06ae0054ca1d4af84221644c5b45a9306505e04580a4156255c3","typeString":"literal_string \"log(bool,uint256,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23207,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45213:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45217:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45213:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45213:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23206,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"45197:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45197:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23216,"nodeType":"ExpressionStatement","src":"45197:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45118:3:16","parameters":{"id":23204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23197,"mutability":"mutable","name":"p0","nameLocation":"45127:2:16","nodeType":"VariableDeclaration","scope":23218,"src":"45122:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23196,"name":"bool","nodeType":"ElementaryTypeName","src":"45122:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23199,"mutability":"mutable","name":"p1","nameLocation":"45139:2:16","nodeType":"VariableDeclaration","scope":23218,"src":"45131:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23198,"name":"uint256","nodeType":"ElementaryTypeName","src":"45131:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23201,"mutability":"mutable","name":"p2","nameLocation":"45151:2:16","nodeType":"VariableDeclaration","scope":23218,"src":"45143:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23200,"name":"uint256","nodeType":"ElementaryTypeName","src":"45143:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23203,"mutability":"mutable","name":"p3","nameLocation":"45169:2:16","nodeType":"VariableDeclaration","scope":23218,"src":"45155:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23202,"name":"string","nodeType":"ElementaryTypeName","src":"45155:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45121:51:16"},"returnParameters":{"id":23205,"nodeType":"ParameterList","parameters":[],"src":"45187:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23241,"nodeType":"FunctionDefinition","src":"45302:176:16","nodes":[],"body":{"id":23240,"nodeType":"Block","src":"45371:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c626f6f6c29","id":23232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45421:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_be9843530e69b1feba88a3a9701a6984aaa8a57e749a7f9d10c857993e79900d","typeString":"literal_string \"log(bool,uint256,uint256,bool)\""},"value":"log(bool,uint256,uint256,bool)"},{"id":23233,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23220,"src":"45455:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23234,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23222,"src":"45459:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23235,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23224,"src":"45463:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23236,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23226,"src":"45467:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be9843530e69b1feba88a3a9701a6984aaa8a57e749a7f9d10c857993e79900d","typeString":"literal_string \"log(bool,uint256,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23230,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45397:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23231,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45401:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45397:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45397:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23229,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"45381:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45381:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23239,"nodeType":"ExpressionStatement","src":"45381:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45311:3:16","parameters":{"id":23227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23220,"mutability":"mutable","name":"p0","nameLocation":"45320:2:16","nodeType":"VariableDeclaration","scope":23241,"src":"45315:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23219,"name":"bool","nodeType":"ElementaryTypeName","src":"45315:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23222,"mutability":"mutable","name":"p1","nameLocation":"45332:2:16","nodeType":"VariableDeclaration","scope":23241,"src":"45324:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23221,"name":"uint256","nodeType":"ElementaryTypeName","src":"45324:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23224,"mutability":"mutable","name":"p2","nameLocation":"45344:2:16","nodeType":"VariableDeclaration","scope":23241,"src":"45336:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23223,"name":"uint256","nodeType":"ElementaryTypeName","src":"45336:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23226,"mutability":"mutable","name":"p3","nameLocation":"45353:2:16","nodeType":"VariableDeclaration","scope":23241,"src":"45348:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23225,"name":"bool","nodeType":"ElementaryTypeName","src":"45348:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"45314:42:16"},"returnParameters":{"id":23228,"nodeType":"ParameterList","parameters":[],"src":"45371:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23264,"nodeType":"FunctionDefinition","src":"45484:182:16","nodes":[],"body":{"id":23263,"nodeType":"Block","src":"45556:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c6164647265737329","id":23255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45606:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_00dd87b926eb0a94d5705f2c40026359b9577dfd5ddb2d0d51c86b3f4acb5010","typeString":"literal_string \"log(bool,uint256,uint256,address)\""},"value":"log(bool,uint256,uint256,address)"},{"id":23256,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23243,"src":"45643:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23257,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23245,"src":"45647:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23258,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23247,"src":"45651:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23259,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23249,"src":"45655:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_00dd87b926eb0a94d5705f2c40026359b9577dfd5ddb2d0d51c86b3f4acb5010","typeString":"literal_string \"log(bool,uint256,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23253,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45582:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23254,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45586:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45582:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45582:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23252,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"45566:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45566:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23262,"nodeType":"ExpressionStatement","src":"45566:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45493:3:16","parameters":{"id":23250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23243,"mutability":"mutable","name":"p0","nameLocation":"45502:2:16","nodeType":"VariableDeclaration","scope":23264,"src":"45497:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23242,"name":"bool","nodeType":"ElementaryTypeName","src":"45497:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23245,"mutability":"mutable","name":"p1","nameLocation":"45514:2:16","nodeType":"VariableDeclaration","scope":23264,"src":"45506:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23244,"name":"uint256","nodeType":"ElementaryTypeName","src":"45506:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23247,"mutability":"mutable","name":"p2","nameLocation":"45526:2:16","nodeType":"VariableDeclaration","scope":23264,"src":"45518:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23246,"name":"uint256","nodeType":"ElementaryTypeName","src":"45518:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23249,"mutability":"mutable","name":"p3","nameLocation":"45538:2:16","nodeType":"VariableDeclaration","scope":23264,"src":"45530:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23248,"name":"address","nodeType":"ElementaryTypeName","src":"45530:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45496:45:16"},"returnParameters":{"id":23251,"nodeType":"ParameterList","parameters":[],"src":"45556:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23287,"nodeType":"FunctionDefinition","src":"45672:187:16","nodes":[],"body":{"id":23286,"nodeType":"Block","src":"45750:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c75696e7432353629","id":23278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45800:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_6a1199e21848ce015eabd66ea7f6a3409c7fc6ef9bb322d84e4c06706c42747e","typeString":"literal_string \"log(bool,uint256,string,uint256)\""},"value":"log(bool,uint256,string,uint256)"},{"id":23279,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23266,"src":"45836:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23280,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23268,"src":"45840:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23281,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23270,"src":"45844:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23282,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23272,"src":"45848:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6a1199e21848ce015eabd66ea7f6a3409c7fc6ef9bb322d84e4c06706c42747e","typeString":"literal_string \"log(bool,uint256,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23276,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45776:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45780:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45776:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45776:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23275,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"45760:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45760:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23285,"nodeType":"ExpressionStatement","src":"45760:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45681:3:16","parameters":{"id":23273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23266,"mutability":"mutable","name":"p0","nameLocation":"45690:2:16","nodeType":"VariableDeclaration","scope":23287,"src":"45685:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23265,"name":"bool","nodeType":"ElementaryTypeName","src":"45685:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23268,"mutability":"mutable","name":"p1","nameLocation":"45702:2:16","nodeType":"VariableDeclaration","scope":23287,"src":"45694:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23267,"name":"uint256","nodeType":"ElementaryTypeName","src":"45694:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23270,"mutability":"mutable","name":"p2","nameLocation":"45720:2:16","nodeType":"VariableDeclaration","scope":23287,"src":"45706:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23269,"name":"string","nodeType":"ElementaryTypeName","src":"45706:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23272,"mutability":"mutable","name":"p3","nameLocation":"45732:2:16","nodeType":"VariableDeclaration","scope":23287,"src":"45724:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23271,"name":"uint256","nodeType":"ElementaryTypeName","src":"45724:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45684:51:16"},"returnParameters":{"id":23274,"nodeType":"ParameterList","parameters":[],"src":"45750:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23310,"nodeType":"FunctionDefinition","src":"45865:192:16","nodes":[],"body":{"id":23309,"nodeType":"Block","src":"45949:108:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c737472696e6729","id":23301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45999:33:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_f5bc2249bce1f463dc4a6cae73d4e7be2aab36b6885cd1506575f16575a67f07","typeString":"literal_string \"log(bool,uint256,string,string)\""},"value":"log(bool,uint256,string,string)"},{"id":23302,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23289,"src":"46034:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23303,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23291,"src":"46038:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23304,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23293,"src":"46042:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23305,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23295,"src":"46046:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f5bc2249bce1f463dc4a6cae73d4e7be2aab36b6885cd1506575f16575a67f07","typeString":"literal_string \"log(bool,uint256,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23299,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45975:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23300,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45979:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45975:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45975:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23298,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"45959:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45959:91:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23308,"nodeType":"ExpressionStatement","src":"45959:91:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45874:3:16","parameters":{"id":23296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23289,"mutability":"mutable","name":"p0","nameLocation":"45883:2:16","nodeType":"VariableDeclaration","scope":23310,"src":"45878:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23288,"name":"bool","nodeType":"ElementaryTypeName","src":"45878:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23291,"mutability":"mutable","name":"p1","nameLocation":"45895:2:16","nodeType":"VariableDeclaration","scope":23310,"src":"45887:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23290,"name":"uint256","nodeType":"ElementaryTypeName","src":"45887:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23293,"mutability":"mutable","name":"p2","nameLocation":"45913:2:16","nodeType":"VariableDeclaration","scope":23310,"src":"45899:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23292,"name":"string","nodeType":"ElementaryTypeName","src":"45899:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23295,"mutability":"mutable","name":"p3","nameLocation":"45931:2:16","nodeType":"VariableDeclaration","scope":23310,"src":"45917:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23294,"name":"string","nodeType":"ElementaryTypeName","src":"45917:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45877:57:16"},"returnParameters":{"id":23297,"nodeType":"ParameterList","parameters":[],"src":"45949:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23333,"nodeType":"FunctionDefinition","src":"46063:181:16","nodes":[],"body":{"id":23332,"nodeType":"Block","src":"46138:106:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c626f6f6c29","id":23324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46188:31:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5e70b2b79ba63a1232a1075e7d527614bad7291574e41ebeb8ef428426395c2","typeString":"literal_string \"log(bool,uint256,string,bool)\""},"value":"log(bool,uint256,string,bool)"},{"id":23325,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23312,"src":"46221:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23326,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23314,"src":"46225:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23327,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23316,"src":"46229:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23328,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23318,"src":"46233:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e5e70b2b79ba63a1232a1075e7d527614bad7291574e41ebeb8ef428426395c2","typeString":"literal_string \"log(bool,uint256,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23322,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46164:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23323,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46168:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46164:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46164:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23321,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"46148:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46148:89:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23331,"nodeType":"ExpressionStatement","src":"46148:89:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46072:3:16","parameters":{"id":23319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23312,"mutability":"mutable","name":"p0","nameLocation":"46081:2:16","nodeType":"VariableDeclaration","scope":23333,"src":"46076:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23311,"name":"bool","nodeType":"ElementaryTypeName","src":"46076:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23314,"mutability":"mutable","name":"p1","nameLocation":"46093:2:16","nodeType":"VariableDeclaration","scope":23333,"src":"46085:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23313,"name":"uint256","nodeType":"ElementaryTypeName","src":"46085:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23316,"mutability":"mutable","name":"p2","nameLocation":"46111:2:16","nodeType":"VariableDeclaration","scope":23333,"src":"46097:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23315,"name":"string","nodeType":"ElementaryTypeName","src":"46097:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23318,"mutability":"mutable","name":"p3","nameLocation":"46120:2:16","nodeType":"VariableDeclaration","scope":23333,"src":"46115:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23317,"name":"bool","nodeType":"ElementaryTypeName","src":"46115:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46075:48:16"},"returnParameters":{"id":23320,"nodeType":"ParameterList","parameters":[],"src":"46138:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23356,"nodeType":"FunctionDefinition","src":"46250:187:16","nodes":[],"body":{"id":23355,"nodeType":"Block","src":"46328:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c6164647265737329","id":23347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46378:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_fedd1fffaad08b0e5474b192f50d84da9ca48f54859d4d4f42d00bf3f4781fab","typeString":"literal_string \"log(bool,uint256,string,address)\""},"value":"log(bool,uint256,string,address)"},{"id":23348,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23335,"src":"46414:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23349,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23337,"src":"46418:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23350,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23339,"src":"46422:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23351,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23341,"src":"46426:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fedd1fffaad08b0e5474b192f50d84da9ca48f54859d4d4f42d00bf3f4781fab","typeString":"literal_string \"log(bool,uint256,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23345,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46354:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23346,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46358:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46354:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46354:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23344,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"46338:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46338:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23354,"nodeType":"ExpressionStatement","src":"46338:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46259:3:16","parameters":{"id":23342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23335,"mutability":"mutable","name":"p0","nameLocation":"46268:2:16","nodeType":"VariableDeclaration","scope":23356,"src":"46263:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23334,"name":"bool","nodeType":"ElementaryTypeName","src":"46263:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23337,"mutability":"mutable","name":"p1","nameLocation":"46280:2:16","nodeType":"VariableDeclaration","scope":23356,"src":"46272:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23336,"name":"uint256","nodeType":"ElementaryTypeName","src":"46272:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23339,"mutability":"mutable","name":"p2","nameLocation":"46298:2:16","nodeType":"VariableDeclaration","scope":23356,"src":"46284:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23338,"name":"string","nodeType":"ElementaryTypeName","src":"46284:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23341,"mutability":"mutable","name":"p3","nameLocation":"46310:2:16","nodeType":"VariableDeclaration","scope":23356,"src":"46302:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23340,"name":"address","nodeType":"ElementaryTypeName","src":"46302:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"46262:51:16"},"returnParameters":{"id":23343,"nodeType":"ParameterList","parameters":[],"src":"46328:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23379,"nodeType":"FunctionDefinition","src":"46443:176:16","nodes":[],"body":{"id":23378,"nodeType":"Block","src":"46512:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c75696e7432353629","id":23370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46562:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_7f9bbca288abffbb423da5759392c2bb0e6c7c60dc55ee1c76da7b38adac1443","typeString":"literal_string \"log(bool,uint256,bool,uint256)\""},"value":"log(bool,uint256,bool,uint256)"},{"id":23371,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23358,"src":"46596:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23372,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23360,"src":"46600:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23373,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23362,"src":"46604:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23374,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23364,"src":"46608:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7f9bbca288abffbb423da5759392c2bb0e6c7c60dc55ee1c76da7b38adac1443","typeString":"literal_string \"log(bool,uint256,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23368,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46538:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46542:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46538:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46538:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23367,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"46522:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46522:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23377,"nodeType":"ExpressionStatement","src":"46522:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46452:3:16","parameters":{"id":23365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23358,"mutability":"mutable","name":"p0","nameLocation":"46461:2:16","nodeType":"VariableDeclaration","scope":23379,"src":"46456:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23357,"name":"bool","nodeType":"ElementaryTypeName","src":"46456:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23360,"mutability":"mutable","name":"p1","nameLocation":"46473:2:16","nodeType":"VariableDeclaration","scope":23379,"src":"46465:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23359,"name":"uint256","nodeType":"ElementaryTypeName","src":"46465:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23362,"mutability":"mutable","name":"p2","nameLocation":"46482:2:16","nodeType":"VariableDeclaration","scope":23379,"src":"46477:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23361,"name":"bool","nodeType":"ElementaryTypeName","src":"46477:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23364,"mutability":"mutable","name":"p3","nameLocation":"46494:2:16","nodeType":"VariableDeclaration","scope":23379,"src":"46486:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23363,"name":"uint256","nodeType":"ElementaryTypeName","src":"46486:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46455:42:16"},"returnParameters":{"id":23366,"nodeType":"ParameterList","parameters":[],"src":"46512:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23402,"nodeType":"FunctionDefinition","src":"46625:181:16","nodes":[],"body":{"id":23401,"nodeType":"Block","src":"46700:106:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c737472696e6729","id":23393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46750:31:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_9143dbb14a0962a6e3d7ec52e236cb9bf165b86383a96499ea4cf52b827d7ce0","typeString":"literal_string \"log(bool,uint256,bool,string)\""},"value":"log(bool,uint256,bool,string)"},{"id":23394,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23381,"src":"46783:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23395,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23383,"src":"46787:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23396,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23385,"src":"46791:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23397,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23387,"src":"46795:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9143dbb14a0962a6e3d7ec52e236cb9bf165b86383a96499ea4cf52b827d7ce0","typeString":"literal_string \"log(bool,uint256,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23391,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46726:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23392,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46730:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46726:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46726:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23390,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"46710:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46710:89:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23400,"nodeType":"ExpressionStatement","src":"46710:89:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46634:3:16","parameters":{"id":23388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23381,"mutability":"mutable","name":"p0","nameLocation":"46643:2:16","nodeType":"VariableDeclaration","scope":23402,"src":"46638:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23380,"name":"bool","nodeType":"ElementaryTypeName","src":"46638:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23383,"mutability":"mutable","name":"p1","nameLocation":"46655:2:16","nodeType":"VariableDeclaration","scope":23402,"src":"46647:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23382,"name":"uint256","nodeType":"ElementaryTypeName","src":"46647:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23385,"mutability":"mutable","name":"p2","nameLocation":"46664:2:16","nodeType":"VariableDeclaration","scope":23402,"src":"46659:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23384,"name":"bool","nodeType":"ElementaryTypeName","src":"46659:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23387,"mutability":"mutable","name":"p3","nameLocation":"46682:2:16","nodeType":"VariableDeclaration","scope":23402,"src":"46668:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23386,"name":"string","nodeType":"ElementaryTypeName","src":"46668:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46637:48:16"},"returnParameters":{"id":23389,"nodeType":"ParameterList","parameters":[],"src":"46700:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23425,"nodeType":"FunctionDefinition","src":"46812:170:16","nodes":[],"body":{"id":23424,"nodeType":"Block","src":"46878:104:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c626f6f6c29","id":23416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46928:29:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_ceb5f4d77121f3d3cfafeaa403e6fff70e4470d0bfb40c1d850f89e3d65029f2","typeString":"literal_string \"log(bool,uint256,bool,bool)\""},"value":"log(bool,uint256,bool,bool)"},{"id":23417,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23404,"src":"46959:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23418,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23406,"src":"46963:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23419,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23408,"src":"46967:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23420,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23410,"src":"46971:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ceb5f4d77121f3d3cfafeaa403e6fff70e4470d0bfb40c1d850f89e3d65029f2","typeString":"literal_string \"log(bool,uint256,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23414,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46904:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46908:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46904:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46904:70:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23413,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"46888:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46888:87:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23423,"nodeType":"ExpressionStatement","src":"46888:87:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46821:3:16","parameters":{"id":23411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23404,"mutability":"mutable","name":"p0","nameLocation":"46830:2:16","nodeType":"VariableDeclaration","scope":23425,"src":"46825:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23403,"name":"bool","nodeType":"ElementaryTypeName","src":"46825:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23406,"mutability":"mutable","name":"p1","nameLocation":"46842:2:16","nodeType":"VariableDeclaration","scope":23425,"src":"46834:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23405,"name":"uint256","nodeType":"ElementaryTypeName","src":"46834:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23408,"mutability":"mutable","name":"p2","nameLocation":"46851:2:16","nodeType":"VariableDeclaration","scope":23425,"src":"46846:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23407,"name":"bool","nodeType":"ElementaryTypeName","src":"46846:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23410,"mutability":"mutable","name":"p3","nameLocation":"46860:2:16","nodeType":"VariableDeclaration","scope":23425,"src":"46855:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23409,"name":"bool","nodeType":"ElementaryTypeName","src":"46855:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46824:39:16"},"returnParameters":{"id":23412,"nodeType":"ParameterList","parameters":[],"src":"46878:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23448,"nodeType":"FunctionDefinition","src":"46988:176:16","nodes":[],"body":{"id":23447,"nodeType":"Block","src":"47057:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c6164647265737329","id":23439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47107:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_9acd3616ce3d15d7b870c591206f600266707f40592e6070353f762f54c75a2e","typeString":"literal_string \"log(bool,uint256,bool,address)\""},"value":"log(bool,uint256,bool,address)"},{"id":23440,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23427,"src":"47141:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23441,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23429,"src":"47145:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23442,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23431,"src":"47149:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23443,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23433,"src":"47153:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9acd3616ce3d15d7b870c591206f600266707f40592e6070353f762f54c75a2e","typeString":"literal_string \"log(bool,uint256,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23437,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47083:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23438,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47087:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47083:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47083:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23436,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"47067:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47067:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23446,"nodeType":"ExpressionStatement","src":"47067:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46997:3:16","parameters":{"id":23434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23427,"mutability":"mutable","name":"p0","nameLocation":"47006:2:16","nodeType":"VariableDeclaration","scope":23448,"src":"47001:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23426,"name":"bool","nodeType":"ElementaryTypeName","src":"47001:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23429,"mutability":"mutable","name":"p1","nameLocation":"47018:2:16","nodeType":"VariableDeclaration","scope":23448,"src":"47010:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23428,"name":"uint256","nodeType":"ElementaryTypeName","src":"47010:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23431,"mutability":"mutable","name":"p2","nameLocation":"47027:2:16","nodeType":"VariableDeclaration","scope":23448,"src":"47022:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23430,"name":"bool","nodeType":"ElementaryTypeName","src":"47022:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23433,"mutability":"mutable","name":"p3","nameLocation":"47039:2:16","nodeType":"VariableDeclaration","scope":23448,"src":"47031:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23432,"name":"address","nodeType":"ElementaryTypeName","src":"47031:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47000:42:16"},"returnParameters":{"id":23435,"nodeType":"ParameterList","parameters":[],"src":"47057:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23471,"nodeType":"FunctionDefinition","src":"47170:182:16","nodes":[],"body":{"id":23470,"nodeType":"Block","src":"47242:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c75696e7432353629","id":23462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47292:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_1537dc87a2086882c18d77c4157142ca3b6771cb00e940824367191cd9b5e560","typeString":"literal_string \"log(bool,uint256,address,uint256)\""},"value":"log(bool,uint256,address,uint256)"},{"id":23463,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23450,"src":"47329:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23464,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23452,"src":"47333:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23465,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23454,"src":"47337:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23466,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23456,"src":"47341:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1537dc87a2086882c18d77c4157142ca3b6771cb00e940824367191cd9b5e560","typeString":"literal_string \"log(bool,uint256,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23460,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47268:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23461,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47272:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47268:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47268:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23459,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"47252:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47252:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23469,"nodeType":"ExpressionStatement","src":"47252:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47179:3:16","parameters":{"id":23457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23450,"mutability":"mutable","name":"p0","nameLocation":"47188:2:16","nodeType":"VariableDeclaration","scope":23471,"src":"47183:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23449,"name":"bool","nodeType":"ElementaryTypeName","src":"47183:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23452,"mutability":"mutable","name":"p1","nameLocation":"47200:2:16","nodeType":"VariableDeclaration","scope":23471,"src":"47192:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23451,"name":"uint256","nodeType":"ElementaryTypeName","src":"47192:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23454,"mutability":"mutable","name":"p2","nameLocation":"47212:2:16","nodeType":"VariableDeclaration","scope":23471,"src":"47204:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23453,"name":"address","nodeType":"ElementaryTypeName","src":"47204:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23456,"mutability":"mutable","name":"p3","nameLocation":"47224:2:16","nodeType":"VariableDeclaration","scope":23471,"src":"47216:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23455,"name":"uint256","nodeType":"ElementaryTypeName","src":"47216:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47182:45:16"},"returnParameters":{"id":23458,"nodeType":"ParameterList","parameters":[],"src":"47242:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23494,"nodeType":"FunctionDefinition","src":"47358:187:16","nodes":[],"body":{"id":23493,"nodeType":"Block","src":"47436:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c737472696e6729","id":23485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47486:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_1bb3b09a4221f0a7df6a4e6e8ee3a14c54c5ebf8032d4ada871c774122536c94","typeString":"literal_string \"log(bool,uint256,address,string)\""},"value":"log(bool,uint256,address,string)"},{"id":23486,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23473,"src":"47522:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23487,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23475,"src":"47526:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23488,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23477,"src":"47530:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23489,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23479,"src":"47534:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1bb3b09a4221f0a7df6a4e6e8ee3a14c54c5ebf8032d4ada871c774122536c94","typeString":"literal_string \"log(bool,uint256,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23483,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47462:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23484,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47466:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47462:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47462:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23482,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"47446:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47446:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23492,"nodeType":"ExpressionStatement","src":"47446:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47367:3:16","parameters":{"id":23480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23473,"mutability":"mutable","name":"p0","nameLocation":"47376:2:16","nodeType":"VariableDeclaration","scope":23494,"src":"47371:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23472,"name":"bool","nodeType":"ElementaryTypeName","src":"47371:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23475,"mutability":"mutable","name":"p1","nameLocation":"47388:2:16","nodeType":"VariableDeclaration","scope":23494,"src":"47380:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23474,"name":"uint256","nodeType":"ElementaryTypeName","src":"47380:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23477,"mutability":"mutable","name":"p2","nameLocation":"47400:2:16","nodeType":"VariableDeclaration","scope":23494,"src":"47392:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23476,"name":"address","nodeType":"ElementaryTypeName","src":"47392:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23479,"mutability":"mutable","name":"p3","nameLocation":"47418:2:16","nodeType":"VariableDeclaration","scope":23494,"src":"47404:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23478,"name":"string","nodeType":"ElementaryTypeName","src":"47404:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47370:51:16"},"returnParameters":{"id":23481,"nodeType":"ParameterList","parameters":[],"src":"47436:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23517,"nodeType":"FunctionDefinition","src":"47551:176:16","nodes":[],"body":{"id":23516,"nodeType":"Block","src":"47620:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c626f6f6c29","id":23508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47670:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_b4c314ff4d8914c4657179922b73426f4bcee4ae499bd03b5b3cf557ef247ea8","typeString":"literal_string \"log(bool,uint256,address,bool)\""},"value":"log(bool,uint256,address,bool)"},{"id":23509,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23496,"src":"47704:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23510,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23498,"src":"47708:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23511,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23500,"src":"47712:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23512,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23502,"src":"47716:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b4c314ff4d8914c4657179922b73426f4bcee4ae499bd03b5b3cf557ef247ea8","typeString":"literal_string \"log(bool,uint256,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23506,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47646:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23507,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47650:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47646:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47646:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23505,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"47630:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47630:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23515,"nodeType":"ExpressionStatement","src":"47630:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47560:3:16","parameters":{"id":23503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23496,"mutability":"mutable","name":"p0","nameLocation":"47569:2:16","nodeType":"VariableDeclaration","scope":23517,"src":"47564:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23495,"name":"bool","nodeType":"ElementaryTypeName","src":"47564:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23498,"mutability":"mutable","name":"p1","nameLocation":"47581:2:16","nodeType":"VariableDeclaration","scope":23517,"src":"47573:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23497,"name":"uint256","nodeType":"ElementaryTypeName","src":"47573:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23500,"mutability":"mutable","name":"p2","nameLocation":"47593:2:16","nodeType":"VariableDeclaration","scope":23517,"src":"47585:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23499,"name":"address","nodeType":"ElementaryTypeName","src":"47585:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23502,"mutability":"mutable","name":"p3","nameLocation":"47602:2:16","nodeType":"VariableDeclaration","scope":23517,"src":"47597:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23501,"name":"bool","nodeType":"ElementaryTypeName","src":"47597:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"47563:42:16"},"returnParameters":{"id":23504,"nodeType":"ParameterList","parameters":[],"src":"47620:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23540,"nodeType":"FunctionDefinition","src":"47733:182:16","nodes":[],"body":{"id":23539,"nodeType":"Block","src":"47805:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c6164647265737329","id":23531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47855:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_26f560a852938fadf6addef4dd03c86f93715a295417544d6a793cb20f13b8dd","typeString":"literal_string \"log(bool,uint256,address,address)\""},"value":"log(bool,uint256,address,address)"},{"id":23532,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23519,"src":"47892:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23533,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23521,"src":"47896:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23534,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23523,"src":"47900:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23535,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23525,"src":"47904:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_26f560a852938fadf6addef4dd03c86f93715a295417544d6a793cb20f13b8dd","typeString":"literal_string \"log(bool,uint256,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23529,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47831:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23530,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47835:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47831:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47831:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23528,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"47815:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47815:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23538,"nodeType":"ExpressionStatement","src":"47815:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47742:3:16","parameters":{"id":23526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23519,"mutability":"mutable","name":"p0","nameLocation":"47751:2:16","nodeType":"VariableDeclaration","scope":23540,"src":"47746:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23518,"name":"bool","nodeType":"ElementaryTypeName","src":"47746:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23521,"mutability":"mutable","name":"p1","nameLocation":"47763:2:16","nodeType":"VariableDeclaration","scope":23540,"src":"47755:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23520,"name":"uint256","nodeType":"ElementaryTypeName","src":"47755:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23523,"mutability":"mutable","name":"p2","nameLocation":"47775:2:16","nodeType":"VariableDeclaration","scope":23540,"src":"47767:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23522,"name":"address","nodeType":"ElementaryTypeName","src":"47767:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23525,"mutability":"mutable","name":"p3","nameLocation":"47787:2:16","nodeType":"VariableDeclaration","scope":23540,"src":"47779:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23524,"name":"address","nodeType":"ElementaryTypeName","src":"47779:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47745:45:16"},"returnParameters":{"id":23527,"nodeType":"ParameterList","parameters":[],"src":"47805:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23563,"nodeType":"FunctionDefinition","src":"47921:187:16","nodes":[],"body":{"id":23562,"nodeType":"Block","src":"47999:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c75696e7432353629","id":23554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48049:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_28863fcbec29a80af15c2b8595f162a2324efa0e9f70b928971349e597c15cb0","typeString":"literal_string \"log(bool,string,uint256,uint256)\""},"value":"log(bool,string,uint256,uint256)"},{"id":23555,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23542,"src":"48085:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23556,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23544,"src":"48089:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23557,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23546,"src":"48093:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23558,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23548,"src":"48097:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_28863fcbec29a80af15c2b8595f162a2324efa0e9f70b928971349e597c15cb0","typeString":"literal_string \"log(bool,string,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23552,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48025:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48029:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48025:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48025:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23551,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"48009:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48009:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23561,"nodeType":"ExpressionStatement","src":"48009:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47930:3:16","parameters":{"id":23549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23542,"mutability":"mutable","name":"p0","nameLocation":"47939:2:16","nodeType":"VariableDeclaration","scope":23563,"src":"47934:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23541,"name":"bool","nodeType":"ElementaryTypeName","src":"47934:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23544,"mutability":"mutable","name":"p1","nameLocation":"47957:2:16","nodeType":"VariableDeclaration","scope":23563,"src":"47943:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23543,"name":"string","nodeType":"ElementaryTypeName","src":"47943:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23546,"mutability":"mutable","name":"p2","nameLocation":"47969:2:16","nodeType":"VariableDeclaration","scope":23563,"src":"47961:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23545,"name":"uint256","nodeType":"ElementaryTypeName","src":"47961:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23548,"mutability":"mutable","name":"p3","nameLocation":"47981:2:16","nodeType":"VariableDeclaration","scope":23563,"src":"47973:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23547,"name":"uint256","nodeType":"ElementaryTypeName","src":"47973:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47933:51:16"},"returnParameters":{"id":23550,"nodeType":"ParameterList","parameters":[],"src":"47999:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23586,"nodeType":"FunctionDefinition","src":"48114:192:16","nodes":[],"body":{"id":23585,"nodeType":"Block","src":"48198:108:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c737472696e6729","id":23577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48248:33:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_1ad96de6602c0b08f6631d6647303bccf3e586fcfa2c15fa04c5d6cbf0ffc70d","typeString":"literal_string \"log(bool,string,uint256,string)\""},"value":"log(bool,string,uint256,string)"},{"id":23578,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23565,"src":"48283:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23579,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23567,"src":"48287:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23580,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23569,"src":"48291:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23581,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23571,"src":"48295:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1ad96de6602c0b08f6631d6647303bccf3e586fcfa2c15fa04c5d6cbf0ffc70d","typeString":"literal_string \"log(bool,string,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23575,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48224:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23576,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48228:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48224:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48224:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23574,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"48208:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48208:91:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23584,"nodeType":"ExpressionStatement","src":"48208:91:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48123:3:16","parameters":{"id":23572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23565,"mutability":"mutable","name":"p0","nameLocation":"48132:2:16","nodeType":"VariableDeclaration","scope":23586,"src":"48127:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23564,"name":"bool","nodeType":"ElementaryTypeName","src":"48127:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23567,"mutability":"mutable","name":"p1","nameLocation":"48150:2:16","nodeType":"VariableDeclaration","scope":23586,"src":"48136:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23566,"name":"string","nodeType":"ElementaryTypeName","src":"48136:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23569,"mutability":"mutable","name":"p2","nameLocation":"48162:2:16","nodeType":"VariableDeclaration","scope":23586,"src":"48154:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23568,"name":"uint256","nodeType":"ElementaryTypeName","src":"48154:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23571,"mutability":"mutable","name":"p3","nameLocation":"48180:2:16","nodeType":"VariableDeclaration","scope":23586,"src":"48166:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23570,"name":"string","nodeType":"ElementaryTypeName","src":"48166:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48126:57:16"},"returnParameters":{"id":23573,"nodeType":"ParameterList","parameters":[],"src":"48198:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23609,"nodeType":"FunctionDefinition","src":"48312:181:16","nodes":[],"body":{"id":23608,"nodeType":"Block","src":"48387:106:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c626f6f6c29","id":23600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48437:31:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_6b0e5d538cb3332d8fd45a0c2680232536414e292adbc2f70059f1d665e25411","typeString":"literal_string \"log(bool,string,uint256,bool)\""},"value":"log(bool,string,uint256,bool)"},{"id":23601,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23588,"src":"48470:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23602,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23590,"src":"48474:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23603,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23592,"src":"48478:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23604,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23594,"src":"48482:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6b0e5d538cb3332d8fd45a0c2680232536414e292adbc2f70059f1d665e25411","typeString":"literal_string \"log(bool,string,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23598,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48413:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48417:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48413:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48413:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23597,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"48397:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48397:89:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23607,"nodeType":"ExpressionStatement","src":"48397:89:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48321:3:16","parameters":{"id":23595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23588,"mutability":"mutable","name":"p0","nameLocation":"48330:2:16","nodeType":"VariableDeclaration","scope":23609,"src":"48325:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23587,"name":"bool","nodeType":"ElementaryTypeName","src":"48325:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23590,"mutability":"mutable","name":"p1","nameLocation":"48348:2:16","nodeType":"VariableDeclaration","scope":23609,"src":"48334:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23589,"name":"string","nodeType":"ElementaryTypeName","src":"48334:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23592,"mutability":"mutable","name":"p2","nameLocation":"48360:2:16","nodeType":"VariableDeclaration","scope":23609,"src":"48352:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23591,"name":"uint256","nodeType":"ElementaryTypeName","src":"48352:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23594,"mutability":"mutable","name":"p3","nameLocation":"48369:2:16","nodeType":"VariableDeclaration","scope":23609,"src":"48364:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23593,"name":"bool","nodeType":"ElementaryTypeName","src":"48364:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"48324:48:16"},"returnParameters":{"id":23596,"nodeType":"ParameterList","parameters":[],"src":"48387:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23632,"nodeType":"FunctionDefinition","src":"48499:187:16","nodes":[],"body":{"id":23631,"nodeType":"Block","src":"48577:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c6164647265737329","id":23623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48627:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_1596a1ceb88c7fe162cbcf294bbc564db1eb943f277b50b442bf55dba1134056","typeString":"literal_string \"log(bool,string,uint256,address)\""},"value":"log(bool,string,uint256,address)"},{"id":23624,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23611,"src":"48663:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23625,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23613,"src":"48667:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23626,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23615,"src":"48671:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23627,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23617,"src":"48675:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1596a1ceb88c7fe162cbcf294bbc564db1eb943f277b50b442bf55dba1134056","typeString":"literal_string \"log(bool,string,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23621,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48603:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23622,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48607:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48603:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48603:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23620,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"48587:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48587:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23630,"nodeType":"ExpressionStatement","src":"48587:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48508:3:16","parameters":{"id":23618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23611,"mutability":"mutable","name":"p0","nameLocation":"48517:2:16","nodeType":"VariableDeclaration","scope":23632,"src":"48512:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23610,"name":"bool","nodeType":"ElementaryTypeName","src":"48512:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23613,"mutability":"mutable","name":"p1","nameLocation":"48535:2:16","nodeType":"VariableDeclaration","scope":23632,"src":"48521:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23612,"name":"string","nodeType":"ElementaryTypeName","src":"48521:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23615,"mutability":"mutable","name":"p2","nameLocation":"48547:2:16","nodeType":"VariableDeclaration","scope":23632,"src":"48539:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23614,"name":"uint256","nodeType":"ElementaryTypeName","src":"48539:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23617,"mutability":"mutable","name":"p3","nameLocation":"48559:2:16","nodeType":"VariableDeclaration","scope":23632,"src":"48551:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23616,"name":"address","nodeType":"ElementaryTypeName","src":"48551:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48511:51:16"},"returnParameters":{"id":23619,"nodeType":"ParameterList","parameters":[],"src":"48577:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23655,"nodeType":"FunctionDefinition","src":"48692:192:16","nodes":[],"body":{"id":23654,"nodeType":"Block","src":"48776:108:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c75696e7432353629","id":23646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48826:33:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be0c3eb1e87c47c60c12330b930fb496493960f97b03f8342bbe08fec9d20a2","typeString":"literal_string \"log(bool,string,string,uint256)\""},"value":"log(bool,string,string,uint256)"},{"id":23647,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23634,"src":"48861:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23648,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23636,"src":"48865:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23649,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23638,"src":"48869:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23650,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23640,"src":"48873:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7be0c3eb1e87c47c60c12330b930fb496493960f97b03f8342bbe08fec9d20a2","typeString":"literal_string \"log(bool,string,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23644,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48802:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23645,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48806:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48802:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48802:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23643,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"48786:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48786:91:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23653,"nodeType":"ExpressionStatement","src":"48786:91:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48701:3:16","parameters":{"id":23641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23634,"mutability":"mutable","name":"p0","nameLocation":"48710:2:16","nodeType":"VariableDeclaration","scope":23655,"src":"48705:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23633,"name":"bool","nodeType":"ElementaryTypeName","src":"48705:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23636,"mutability":"mutable","name":"p1","nameLocation":"48728:2:16","nodeType":"VariableDeclaration","scope":23655,"src":"48714:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23635,"name":"string","nodeType":"ElementaryTypeName","src":"48714:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23638,"mutability":"mutable","name":"p2","nameLocation":"48746:2:16","nodeType":"VariableDeclaration","scope":23655,"src":"48732:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23637,"name":"string","nodeType":"ElementaryTypeName","src":"48732:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23640,"mutability":"mutable","name":"p3","nameLocation":"48758:2:16","nodeType":"VariableDeclaration","scope":23655,"src":"48750:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23639,"name":"uint256","nodeType":"ElementaryTypeName","src":"48750:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48704:57:16"},"returnParameters":{"id":23642,"nodeType":"ParameterList","parameters":[],"src":"48776:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23678,"nodeType":"FunctionDefinition","src":"48890:197:16","nodes":[],"body":{"id":23677,"nodeType":"Block","src":"48980:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c737472696e6729","id":23669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49030:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9","typeString":"literal_string \"log(bool,string,string,string)\""},"value":"log(bool,string,string,string)"},{"id":23670,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23657,"src":"49064:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23671,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23659,"src":"49068:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23672,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23661,"src":"49072:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23673,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23663,"src":"49076:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9","typeString":"literal_string \"log(bool,string,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23667,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49006:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23668,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49010:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49006:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49006:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23666,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"48990:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48990:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23676,"nodeType":"ExpressionStatement","src":"48990:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48899:3:16","parameters":{"id":23664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23657,"mutability":"mutable","name":"p0","nameLocation":"48908:2:16","nodeType":"VariableDeclaration","scope":23678,"src":"48903:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23656,"name":"bool","nodeType":"ElementaryTypeName","src":"48903:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23659,"mutability":"mutable","name":"p1","nameLocation":"48926:2:16","nodeType":"VariableDeclaration","scope":23678,"src":"48912:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23658,"name":"string","nodeType":"ElementaryTypeName","src":"48912:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23661,"mutability":"mutable","name":"p2","nameLocation":"48944:2:16","nodeType":"VariableDeclaration","scope":23678,"src":"48930:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23660,"name":"string","nodeType":"ElementaryTypeName","src":"48930:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23663,"mutability":"mutable","name":"p3","nameLocation":"48962:2:16","nodeType":"VariableDeclaration","scope":23678,"src":"48948:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23662,"name":"string","nodeType":"ElementaryTypeName","src":"48948:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48902:63:16"},"returnParameters":{"id":23665,"nodeType":"ParameterList","parameters":[],"src":"48980:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23701,"nodeType":"FunctionDefinition","src":"49093:186:16","nodes":[],"body":{"id":23700,"nodeType":"Block","src":"49174:105:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c626f6f6c29","id":23692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49224:30:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1","typeString":"literal_string \"log(bool,string,string,bool)\""},"value":"log(bool,string,string,bool)"},{"id":23693,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23680,"src":"49256:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23694,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23682,"src":"49260:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23695,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23684,"src":"49264:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23696,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23686,"src":"49268:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1","typeString":"literal_string \"log(bool,string,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23690,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49200:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23691,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49204:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49200:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49200:71:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23689,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"49184:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49184:88:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23699,"nodeType":"ExpressionStatement","src":"49184:88:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49102:3:16","parameters":{"id":23687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23680,"mutability":"mutable","name":"p0","nameLocation":"49111:2:16","nodeType":"VariableDeclaration","scope":23701,"src":"49106:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23679,"name":"bool","nodeType":"ElementaryTypeName","src":"49106:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23682,"mutability":"mutable","name":"p1","nameLocation":"49129:2:16","nodeType":"VariableDeclaration","scope":23701,"src":"49115:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23681,"name":"string","nodeType":"ElementaryTypeName","src":"49115:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23684,"mutability":"mutable","name":"p2","nameLocation":"49147:2:16","nodeType":"VariableDeclaration","scope":23701,"src":"49133:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23683,"name":"string","nodeType":"ElementaryTypeName","src":"49133:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23686,"mutability":"mutable","name":"p3","nameLocation":"49156:2:16","nodeType":"VariableDeclaration","scope":23701,"src":"49151:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23685,"name":"bool","nodeType":"ElementaryTypeName","src":"49151:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"49105:54:16"},"returnParameters":{"id":23688,"nodeType":"ParameterList","parameters":[],"src":"49174:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23724,"nodeType":"FunctionDefinition","src":"49285:192:16","nodes":[],"body":{"id":23723,"nodeType":"Block","src":"49369:108:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c6164647265737329","id":23715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49419:33:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5","typeString":"literal_string \"log(bool,string,string,address)\""},"value":"log(bool,string,string,address)"},{"id":23716,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23703,"src":"49454:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23717,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23705,"src":"49458:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23718,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23707,"src":"49462:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23719,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23709,"src":"49466:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5","typeString":"literal_string \"log(bool,string,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23713,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49395:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49399:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49395:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49395:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23712,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"49379:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49379:91:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23722,"nodeType":"ExpressionStatement","src":"49379:91:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49294:3:16","parameters":{"id":23710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23703,"mutability":"mutable","name":"p0","nameLocation":"49303:2:16","nodeType":"VariableDeclaration","scope":23724,"src":"49298:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23702,"name":"bool","nodeType":"ElementaryTypeName","src":"49298:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23705,"mutability":"mutable","name":"p1","nameLocation":"49321:2:16","nodeType":"VariableDeclaration","scope":23724,"src":"49307:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23704,"name":"string","nodeType":"ElementaryTypeName","src":"49307:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23707,"mutability":"mutable","name":"p2","nameLocation":"49339:2:16","nodeType":"VariableDeclaration","scope":23724,"src":"49325:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23706,"name":"string","nodeType":"ElementaryTypeName","src":"49325:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23709,"mutability":"mutable","name":"p3","nameLocation":"49351:2:16","nodeType":"VariableDeclaration","scope":23724,"src":"49343:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23708,"name":"address","nodeType":"ElementaryTypeName","src":"49343:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"49297:57:16"},"returnParameters":{"id":23711,"nodeType":"ParameterList","parameters":[],"src":"49369:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23747,"nodeType":"FunctionDefinition","src":"49483:181:16","nodes":[],"body":{"id":23746,"nodeType":"Block","src":"49558:106:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c75696e7432353629","id":23738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49608:31:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_1606a393d6d8ee0e5b372b3b4baba691a3700cb155888ecb60500deb6038e937","typeString":"literal_string \"log(bool,string,bool,uint256)\""},"value":"log(bool,string,bool,uint256)"},{"id":23739,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23726,"src":"49641:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23740,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23728,"src":"49645:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23741,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23730,"src":"49649:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23742,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23732,"src":"49653:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1606a393d6d8ee0e5b372b3b4baba691a3700cb155888ecb60500deb6038e937","typeString":"literal_string \"log(bool,string,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23736,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49584:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23737,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49588:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49584:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49584:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23735,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"49568:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49568:89:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23745,"nodeType":"ExpressionStatement","src":"49568:89:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49492:3:16","parameters":{"id":23733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23726,"mutability":"mutable","name":"p0","nameLocation":"49501:2:16","nodeType":"VariableDeclaration","scope":23747,"src":"49496:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23725,"name":"bool","nodeType":"ElementaryTypeName","src":"49496:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23728,"mutability":"mutable","name":"p1","nameLocation":"49519:2:16","nodeType":"VariableDeclaration","scope":23747,"src":"49505:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23727,"name":"string","nodeType":"ElementaryTypeName","src":"49505:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23730,"mutability":"mutable","name":"p2","nameLocation":"49528:2:16","nodeType":"VariableDeclaration","scope":23747,"src":"49523:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23729,"name":"bool","nodeType":"ElementaryTypeName","src":"49523:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23732,"mutability":"mutable","name":"p3","nameLocation":"49540:2:16","nodeType":"VariableDeclaration","scope":23747,"src":"49532:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23731,"name":"uint256","nodeType":"ElementaryTypeName","src":"49532:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49495:48:16"},"returnParameters":{"id":23734,"nodeType":"ParameterList","parameters":[],"src":"49558:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23770,"nodeType":"FunctionDefinition","src":"49670:186:16","nodes":[],"body":{"id":23769,"nodeType":"Block","src":"49751:105:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c737472696e6729","id":23761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49801:30:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468","typeString":"literal_string \"log(bool,string,bool,string)\""},"value":"log(bool,string,bool,string)"},{"id":23762,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23749,"src":"49833:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23763,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23751,"src":"49837:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23764,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23753,"src":"49841:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23765,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23755,"src":"49845:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468","typeString":"literal_string \"log(bool,string,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23759,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49777:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23760,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49781:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49777:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49777:71:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23758,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"49761:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49761:88:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23768,"nodeType":"ExpressionStatement","src":"49761:88:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49679:3:16","parameters":{"id":23756,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23749,"mutability":"mutable","name":"p0","nameLocation":"49688:2:16","nodeType":"VariableDeclaration","scope":23770,"src":"49683:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23748,"name":"bool","nodeType":"ElementaryTypeName","src":"49683:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23751,"mutability":"mutable","name":"p1","nameLocation":"49706:2:16","nodeType":"VariableDeclaration","scope":23770,"src":"49692:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23750,"name":"string","nodeType":"ElementaryTypeName","src":"49692:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23753,"mutability":"mutable","name":"p2","nameLocation":"49715:2:16","nodeType":"VariableDeclaration","scope":23770,"src":"49710:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23752,"name":"bool","nodeType":"ElementaryTypeName","src":"49710:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23755,"mutability":"mutable","name":"p3","nameLocation":"49733:2:16","nodeType":"VariableDeclaration","scope":23770,"src":"49719:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23754,"name":"string","nodeType":"ElementaryTypeName","src":"49719:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49682:54:16"},"returnParameters":{"id":23757,"nodeType":"ParameterList","parameters":[],"src":"49751:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23793,"nodeType":"FunctionDefinition","src":"49862:175:16","nodes":[],"body":{"id":23792,"nodeType":"Block","src":"49934:103:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c626f6f6c29","id":23784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49984:28:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f","typeString":"literal_string \"log(bool,string,bool,bool)\""},"value":"log(bool,string,bool,bool)"},{"id":23785,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23772,"src":"50014:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23786,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23774,"src":"50018:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23787,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23776,"src":"50022:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23788,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23778,"src":"50026:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f","typeString":"literal_string \"log(bool,string,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23782,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49960:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49964:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49960:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49960:69:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23781,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"49944:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49944:86:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23791,"nodeType":"ExpressionStatement","src":"49944:86:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49871:3:16","parameters":{"id":23779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23772,"mutability":"mutable","name":"p0","nameLocation":"49880:2:16","nodeType":"VariableDeclaration","scope":23793,"src":"49875:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23771,"name":"bool","nodeType":"ElementaryTypeName","src":"49875:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23774,"mutability":"mutable","name":"p1","nameLocation":"49898:2:16","nodeType":"VariableDeclaration","scope":23793,"src":"49884:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23773,"name":"string","nodeType":"ElementaryTypeName","src":"49884:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23776,"mutability":"mutable","name":"p2","nameLocation":"49907:2:16","nodeType":"VariableDeclaration","scope":23793,"src":"49902:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23775,"name":"bool","nodeType":"ElementaryTypeName","src":"49902:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23778,"mutability":"mutable","name":"p3","nameLocation":"49916:2:16","nodeType":"VariableDeclaration","scope":23793,"src":"49911:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23777,"name":"bool","nodeType":"ElementaryTypeName","src":"49911:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"49874:45:16"},"returnParameters":{"id":23780,"nodeType":"ParameterList","parameters":[],"src":"49934:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23816,"nodeType":"FunctionDefinition","src":"50043:181:16","nodes":[],"body":{"id":23815,"nodeType":"Block","src":"50118:106:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c6164647265737329","id":23807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50168:31:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5","typeString":"literal_string \"log(bool,string,bool,address)\""},"value":"log(bool,string,bool,address)"},{"id":23808,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23795,"src":"50201:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23809,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23797,"src":"50205:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23810,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23799,"src":"50209:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23811,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23801,"src":"50213:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5","typeString":"literal_string \"log(bool,string,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23805,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50144:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50148:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50144:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50144:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23804,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"50128:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50128:89:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23814,"nodeType":"ExpressionStatement","src":"50128:89:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50052:3:16","parameters":{"id":23802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23795,"mutability":"mutable","name":"p0","nameLocation":"50061:2:16","nodeType":"VariableDeclaration","scope":23816,"src":"50056:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23794,"name":"bool","nodeType":"ElementaryTypeName","src":"50056:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23797,"mutability":"mutable","name":"p1","nameLocation":"50079:2:16","nodeType":"VariableDeclaration","scope":23816,"src":"50065:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23796,"name":"string","nodeType":"ElementaryTypeName","src":"50065:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23799,"mutability":"mutable","name":"p2","nameLocation":"50088:2:16","nodeType":"VariableDeclaration","scope":23816,"src":"50083:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23798,"name":"bool","nodeType":"ElementaryTypeName","src":"50083:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23801,"mutability":"mutable","name":"p3","nameLocation":"50100:2:16","nodeType":"VariableDeclaration","scope":23816,"src":"50092:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23800,"name":"address","nodeType":"ElementaryTypeName","src":"50092:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50055:48:16"},"returnParameters":{"id":23803,"nodeType":"ParameterList","parameters":[],"src":"50118:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23839,"nodeType":"FunctionDefinition","src":"50230:187:16","nodes":[],"body":{"id":23838,"nodeType":"Block","src":"50308:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c75696e7432353629","id":23830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50358:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5cada94c7dfdda57d4cfcf14da44c63431bfd533756a6e0d0d0a684af164218","typeString":"literal_string \"log(bool,string,address,uint256)\""},"value":"log(bool,string,address,uint256)"},{"id":23831,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23818,"src":"50394:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23832,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23820,"src":"50398:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23833,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23822,"src":"50402:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23834,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23824,"src":"50406:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a5cada94c7dfdda57d4cfcf14da44c63431bfd533756a6e0d0d0a684af164218","typeString":"literal_string \"log(bool,string,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23828,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50334:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23829,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50338:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50334:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50334:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23827,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"50318:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50318:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23837,"nodeType":"ExpressionStatement","src":"50318:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50239:3:16","parameters":{"id":23825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23818,"mutability":"mutable","name":"p0","nameLocation":"50248:2:16","nodeType":"VariableDeclaration","scope":23839,"src":"50243:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23817,"name":"bool","nodeType":"ElementaryTypeName","src":"50243:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23820,"mutability":"mutable","name":"p1","nameLocation":"50266:2:16","nodeType":"VariableDeclaration","scope":23839,"src":"50252:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23819,"name":"string","nodeType":"ElementaryTypeName","src":"50252:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23822,"mutability":"mutable","name":"p2","nameLocation":"50278:2:16","nodeType":"VariableDeclaration","scope":23839,"src":"50270:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23821,"name":"address","nodeType":"ElementaryTypeName","src":"50270:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23824,"mutability":"mutable","name":"p3","nameLocation":"50290:2:16","nodeType":"VariableDeclaration","scope":23839,"src":"50282:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23823,"name":"uint256","nodeType":"ElementaryTypeName","src":"50282:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50242:51:16"},"returnParameters":{"id":23826,"nodeType":"ParameterList","parameters":[],"src":"50308:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23862,"nodeType":"FunctionDefinition","src":"50423:192:16","nodes":[],"body":{"id":23861,"nodeType":"Block","src":"50507:108:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c737472696e6729","id":23853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50557:33:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7","typeString":"literal_string \"log(bool,string,address,string)\""},"value":"log(bool,string,address,string)"},{"id":23854,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23841,"src":"50592:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23855,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23843,"src":"50596:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23856,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23845,"src":"50600:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23857,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23847,"src":"50604:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7","typeString":"literal_string \"log(bool,string,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23851,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50533:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23852,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50537:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50533:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50533:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23850,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"50517:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50517:91:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23860,"nodeType":"ExpressionStatement","src":"50517:91:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50432:3:16","parameters":{"id":23848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23841,"mutability":"mutable","name":"p0","nameLocation":"50441:2:16","nodeType":"VariableDeclaration","scope":23862,"src":"50436:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23840,"name":"bool","nodeType":"ElementaryTypeName","src":"50436:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23843,"mutability":"mutable","name":"p1","nameLocation":"50459:2:16","nodeType":"VariableDeclaration","scope":23862,"src":"50445:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23842,"name":"string","nodeType":"ElementaryTypeName","src":"50445:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23845,"mutability":"mutable","name":"p2","nameLocation":"50471:2:16","nodeType":"VariableDeclaration","scope":23862,"src":"50463:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23844,"name":"address","nodeType":"ElementaryTypeName","src":"50463:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23847,"mutability":"mutable","name":"p3","nameLocation":"50489:2:16","nodeType":"VariableDeclaration","scope":23862,"src":"50475:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23846,"name":"string","nodeType":"ElementaryTypeName","src":"50475:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50435:57:16"},"returnParameters":{"id":23849,"nodeType":"ParameterList","parameters":[],"src":"50507:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23885,"nodeType":"FunctionDefinition","src":"50621:181:16","nodes":[],"body":{"id":23884,"nodeType":"Block","src":"50696:106:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c626f6f6c29","id":23876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50746:31:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d","typeString":"literal_string \"log(bool,string,address,bool)\""},"value":"log(bool,string,address,bool)"},{"id":23877,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23864,"src":"50779:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23878,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23866,"src":"50783:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23879,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23868,"src":"50787:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23880,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23870,"src":"50791:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d","typeString":"literal_string \"log(bool,string,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23874,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50722:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23875,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50726:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50722:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50722:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23873,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"50706:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50706:89:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23883,"nodeType":"ExpressionStatement","src":"50706:89:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50630:3:16","parameters":{"id":23871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23864,"mutability":"mutable","name":"p0","nameLocation":"50639:2:16","nodeType":"VariableDeclaration","scope":23885,"src":"50634:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23863,"name":"bool","nodeType":"ElementaryTypeName","src":"50634:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23866,"mutability":"mutable","name":"p1","nameLocation":"50657:2:16","nodeType":"VariableDeclaration","scope":23885,"src":"50643:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23865,"name":"string","nodeType":"ElementaryTypeName","src":"50643:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23868,"mutability":"mutable","name":"p2","nameLocation":"50669:2:16","nodeType":"VariableDeclaration","scope":23885,"src":"50661:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23867,"name":"address","nodeType":"ElementaryTypeName","src":"50661:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23870,"mutability":"mutable","name":"p3","nameLocation":"50678:2:16","nodeType":"VariableDeclaration","scope":23885,"src":"50673:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23869,"name":"bool","nodeType":"ElementaryTypeName","src":"50673:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"50633:48:16"},"returnParameters":{"id":23872,"nodeType":"ParameterList","parameters":[],"src":"50696:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23908,"nodeType":"FunctionDefinition","src":"50808:187:16","nodes":[],"body":{"id":23907,"nodeType":"Block","src":"50886:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c6164647265737329","id":23899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50936:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822","typeString":"literal_string \"log(bool,string,address,address)\""},"value":"log(bool,string,address,address)"},{"id":23900,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23887,"src":"50972:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23901,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23889,"src":"50976:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23902,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23891,"src":"50980:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23903,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23893,"src":"50984:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822","typeString":"literal_string \"log(bool,string,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23897,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50912:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23898,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50916:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50912:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50912:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23896,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"50896:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50896:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23906,"nodeType":"ExpressionStatement","src":"50896:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50817:3:16","parameters":{"id":23894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23887,"mutability":"mutable","name":"p0","nameLocation":"50826:2:16","nodeType":"VariableDeclaration","scope":23908,"src":"50821:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23886,"name":"bool","nodeType":"ElementaryTypeName","src":"50821:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23889,"mutability":"mutable","name":"p1","nameLocation":"50844:2:16","nodeType":"VariableDeclaration","scope":23908,"src":"50830:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23888,"name":"string","nodeType":"ElementaryTypeName","src":"50830:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23891,"mutability":"mutable","name":"p2","nameLocation":"50856:2:16","nodeType":"VariableDeclaration","scope":23908,"src":"50848:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23890,"name":"address","nodeType":"ElementaryTypeName","src":"50848:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23893,"mutability":"mutable","name":"p3","nameLocation":"50868:2:16","nodeType":"VariableDeclaration","scope":23908,"src":"50860:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23892,"name":"address","nodeType":"ElementaryTypeName","src":"50860:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50820:51:16"},"returnParameters":{"id":23895,"nodeType":"ParameterList","parameters":[],"src":"50886:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23931,"nodeType":"FunctionDefinition","src":"51001:176:16","nodes":[],"body":{"id":23930,"nodeType":"Block","src":"51070:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c75696e7432353629","id":23922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51120:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_0bb00eab8772a517edb34ef48e9be8dbee2f7b7490bba02909d18953766a9d34","typeString":"literal_string \"log(bool,bool,uint256,uint256)\""},"value":"log(bool,bool,uint256,uint256)"},{"id":23923,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23910,"src":"51154:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23924,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23912,"src":"51158:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23925,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23914,"src":"51162:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23926,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23916,"src":"51166:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0bb00eab8772a517edb34ef48e9be8dbee2f7b7490bba02909d18953766a9d34","typeString":"literal_string \"log(bool,bool,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23920,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51096:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23921,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51100:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51096:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51096:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23919,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"51080:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51080:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23929,"nodeType":"ExpressionStatement","src":"51080:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51010:3:16","parameters":{"id":23917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23910,"mutability":"mutable","name":"p0","nameLocation":"51019:2:16","nodeType":"VariableDeclaration","scope":23931,"src":"51014:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23909,"name":"bool","nodeType":"ElementaryTypeName","src":"51014:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23912,"mutability":"mutable","name":"p1","nameLocation":"51028:2:16","nodeType":"VariableDeclaration","scope":23931,"src":"51023:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23911,"name":"bool","nodeType":"ElementaryTypeName","src":"51023:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23914,"mutability":"mutable","name":"p2","nameLocation":"51040:2:16","nodeType":"VariableDeclaration","scope":23931,"src":"51032:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23913,"name":"uint256","nodeType":"ElementaryTypeName","src":"51032:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23916,"mutability":"mutable","name":"p3","nameLocation":"51052:2:16","nodeType":"VariableDeclaration","scope":23931,"src":"51044:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23915,"name":"uint256","nodeType":"ElementaryTypeName","src":"51044:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51013:42:16"},"returnParameters":{"id":23918,"nodeType":"ParameterList","parameters":[],"src":"51070:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23954,"nodeType":"FunctionDefinition","src":"51183:181:16","nodes":[],"body":{"id":23953,"nodeType":"Block","src":"51258:106:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c737472696e6729","id":23945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51308:31:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_7dd4d0e0c518f4b352fd13daccf87a5d9bed9e01e109d2cd329f8180d1bf37cf","typeString":"literal_string \"log(bool,bool,uint256,string)\""},"value":"log(bool,bool,uint256,string)"},{"id":23946,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23933,"src":"51341:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23947,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23935,"src":"51345:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23948,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23937,"src":"51349:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23949,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23939,"src":"51353:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7dd4d0e0c518f4b352fd13daccf87a5d9bed9e01e109d2cd329f8180d1bf37cf","typeString":"literal_string \"log(bool,bool,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23943,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51284:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23944,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51288:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51284:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51284:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23942,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"51268:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51268:89:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23952,"nodeType":"ExpressionStatement","src":"51268:89:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51192:3:16","parameters":{"id":23940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23933,"mutability":"mutable","name":"p0","nameLocation":"51201:2:16","nodeType":"VariableDeclaration","scope":23954,"src":"51196:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23932,"name":"bool","nodeType":"ElementaryTypeName","src":"51196:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23935,"mutability":"mutable","name":"p1","nameLocation":"51210:2:16","nodeType":"VariableDeclaration","scope":23954,"src":"51205:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23934,"name":"bool","nodeType":"ElementaryTypeName","src":"51205:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23937,"mutability":"mutable","name":"p2","nameLocation":"51222:2:16","nodeType":"VariableDeclaration","scope":23954,"src":"51214:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23936,"name":"uint256","nodeType":"ElementaryTypeName","src":"51214:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23939,"mutability":"mutable","name":"p3","nameLocation":"51240:2:16","nodeType":"VariableDeclaration","scope":23954,"src":"51226:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23938,"name":"string","nodeType":"ElementaryTypeName","src":"51226:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51195:48:16"},"returnParameters":{"id":23941,"nodeType":"ParameterList","parameters":[],"src":"51258:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":23977,"nodeType":"FunctionDefinition","src":"51370:170:16","nodes":[],"body":{"id":23976,"nodeType":"Block","src":"51436:104:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c626f6f6c29","id":23968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51486:29:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_619e4d0eef4ca09035d413eaba6f544cfd6dc9e01c2aeecde070c53237f5a842","typeString":"literal_string \"log(bool,bool,uint256,bool)\""},"value":"log(bool,bool,uint256,bool)"},{"id":23969,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23956,"src":"51517:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23970,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23958,"src":"51521:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23971,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23960,"src":"51525:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23972,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23962,"src":"51529:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_619e4d0eef4ca09035d413eaba6f544cfd6dc9e01c2aeecde070c53237f5a842","typeString":"literal_string \"log(bool,bool,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23966,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51462:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23967,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51466:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51462:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51462:70:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23965,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"51446:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51446:87:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23975,"nodeType":"ExpressionStatement","src":"51446:87:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51379:3:16","parameters":{"id":23963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23956,"mutability":"mutable","name":"p0","nameLocation":"51388:2:16","nodeType":"VariableDeclaration","scope":23977,"src":"51383:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23955,"name":"bool","nodeType":"ElementaryTypeName","src":"51383:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23958,"mutability":"mutable","name":"p1","nameLocation":"51397:2:16","nodeType":"VariableDeclaration","scope":23977,"src":"51392:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23957,"name":"bool","nodeType":"ElementaryTypeName","src":"51392:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23960,"mutability":"mutable","name":"p2","nameLocation":"51409:2:16","nodeType":"VariableDeclaration","scope":23977,"src":"51401:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23959,"name":"uint256","nodeType":"ElementaryTypeName","src":"51401:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23962,"mutability":"mutable","name":"p3","nameLocation":"51418:2:16","nodeType":"VariableDeclaration","scope":23977,"src":"51413:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23961,"name":"bool","nodeType":"ElementaryTypeName","src":"51413:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"51382:39:16"},"returnParameters":{"id":23964,"nodeType":"ParameterList","parameters":[],"src":"51436:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24000,"nodeType":"FunctionDefinition","src":"51546:176:16","nodes":[],"body":{"id":23999,"nodeType":"Block","src":"51615:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c6164647265737329","id":23991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51665:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_54a7a9a08e00a28d36d734cc45e318f9adc9ffbfd731cd45d0dc5a2abe2b9ac9","typeString":"literal_string \"log(bool,bool,uint256,address)\""},"value":"log(bool,bool,uint256,address)"},{"id":23992,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23979,"src":"51699:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23993,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23981,"src":"51703:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23994,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23983,"src":"51707:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23995,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23985,"src":"51711:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_54a7a9a08e00a28d36d734cc45e318f9adc9ffbfd731cd45d0dc5a2abe2b9ac9","typeString":"literal_string \"log(bool,bool,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23989,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51641:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23990,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51645:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51641:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51641:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23988,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"51625:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":23997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51625:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23998,"nodeType":"ExpressionStatement","src":"51625:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51555:3:16","parameters":{"id":23986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23979,"mutability":"mutable","name":"p0","nameLocation":"51564:2:16","nodeType":"VariableDeclaration","scope":24000,"src":"51559:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23978,"name":"bool","nodeType":"ElementaryTypeName","src":"51559:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23981,"mutability":"mutable","name":"p1","nameLocation":"51573:2:16","nodeType":"VariableDeclaration","scope":24000,"src":"51568:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23980,"name":"bool","nodeType":"ElementaryTypeName","src":"51568:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23983,"mutability":"mutable","name":"p2","nameLocation":"51585:2:16","nodeType":"VariableDeclaration","scope":24000,"src":"51577:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23982,"name":"uint256","nodeType":"ElementaryTypeName","src":"51577:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23985,"mutability":"mutable","name":"p3","nameLocation":"51597:2:16","nodeType":"VariableDeclaration","scope":24000,"src":"51589:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23984,"name":"address","nodeType":"ElementaryTypeName","src":"51589:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"51558:42:16"},"returnParameters":{"id":23987,"nodeType":"ParameterList","parameters":[],"src":"51615:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24023,"nodeType":"FunctionDefinition","src":"51728:181:16","nodes":[],"body":{"id":24022,"nodeType":"Block","src":"51803:106:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c75696e7432353629","id":24014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51853:31:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_e3a9ca2f5717705d404f75ae4eff025addb4f91e02ce7d2b9a424fc7423a8246","typeString":"literal_string \"log(bool,bool,string,uint256)\""},"value":"log(bool,bool,string,uint256)"},{"id":24015,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24002,"src":"51886:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24016,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24004,"src":"51890:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24017,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24006,"src":"51894:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24018,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24008,"src":"51898:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e3a9ca2f5717705d404f75ae4eff025addb4f91e02ce7d2b9a424fc7423a8246","typeString":"literal_string \"log(bool,bool,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24012,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51829:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24013,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51833:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51829:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51829:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24011,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"51813:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51813:89:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24021,"nodeType":"ExpressionStatement","src":"51813:89:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51737:3:16","parameters":{"id":24009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24002,"mutability":"mutable","name":"p0","nameLocation":"51746:2:16","nodeType":"VariableDeclaration","scope":24023,"src":"51741:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24001,"name":"bool","nodeType":"ElementaryTypeName","src":"51741:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24004,"mutability":"mutable","name":"p1","nameLocation":"51755:2:16","nodeType":"VariableDeclaration","scope":24023,"src":"51750:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24003,"name":"bool","nodeType":"ElementaryTypeName","src":"51750:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24006,"mutability":"mutable","name":"p2","nameLocation":"51773:2:16","nodeType":"VariableDeclaration","scope":24023,"src":"51759:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24005,"name":"string","nodeType":"ElementaryTypeName","src":"51759:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24008,"mutability":"mutable","name":"p3","nameLocation":"51785:2:16","nodeType":"VariableDeclaration","scope":24023,"src":"51777:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24007,"name":"uint256","nodeType":"ElementaryTypeName","src":"51777:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51740:48:16"},"returnParameters":{"id":24010,"nodeType":"ParameterList","parameters":[],"src":"51803:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24046,"nodeType":"FunctionDefinition","src":"51915:186:16","nodes":[],"body":{"id":24045,"nodeType":"Block","src":"51996:105:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c737472696e6729","id":24037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52046:30:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf","typeString":"literal_string \"log(bool,bool,string,string)\""},"value":"log(bool,bool,string,string)"},{"id":24038,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24025,"src":"52078:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24039,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24027,"src":"52082:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24040,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24029,"src":"52086:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24041,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24031,"src":"52090:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf","typeString":"literal_string \"log(bool,bool,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24035,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52022:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52026:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52022:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52022:71:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24034,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"52006:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52006:88:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24044,"nodeType":"ExpressionStatement","src":"52006:88:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51924:3:16","parameters":{"id":24032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24025,"mutability":"mutable","name":"p0","nameLocation":"51933:2:16","nodeType":"VariableDeclaration","scope":24046,"src":"51928:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24024,"name":"bool","nodeType":"ElementaryTypeName","src":"51928:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24027,"mutability":"mutable","name":"p1","nameLocation":"51942:2:16","nodeType":"VariableDeclaration","scope":24046,"src":"51937:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24026,"name":"bool","nodeType":"ElementaryTypeName","src":"51937:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24029,"mutability":"mutable","name":"p2","nameLocation":"51960:2:16","nodeType":"VariableDeclaration","scope":24046,"src":"51946:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24028,"name":"string","nodeType":"ElementaryTypeName","src":"51946:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24031,"mutability":"mutable","name":"p3","nameLocation":"51978:2:16","nodeType":"VariableDeclaration","scope":24046,"src":"51964:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24030,"name":"string","nodeType":"ElementaryTypeName","src":"51964:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51927:54:16"},"returnParameters":{"id":24033,"nodeType":"ParameterList","parameters":[],"src":"51996:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24069,"nodeType":"FunctionDefinition","src":"52107:175:16","nodes":[],"body":{"id":24068,"nodeType":"Block","src":"52179:103:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c626f6f6c29","id":24060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52229:28:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02","typeString":"literal_string \"log(bool,bool,string,bool)\""},"value":"log(bool,bool,string,bool)"},{"id":24061,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24048,"src":"52259:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24062,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24050,"src":"52263:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24063,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24052,"src":"52267:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24064,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24054,"src":"52271:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02","typeString":"literal_string \"log(bool,bool,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24058,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52205:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24059,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52209:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52205:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52205:69:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24057,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"52189:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52189:86:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24067,"nodeType":"ExpressionStatement","src":"52189:86:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52116:3:16","parameters":{"id":24055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24048,"mutability":"mutable","name":"p0","nameLocation":"52125:2:16","nodeType":"VariableDeclaration","scope":24069,"src":"52120:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24047,"name":"bool","nodeType":"ElementaryTypeName","src":"52120:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24050,"mutability":"mutable","name":"p1","nameLocation":"52134:2:16","nodeType":"VariableDeclaration","scope":24069,"src":"52129:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24049,"name":"bool","nodeType":"ElementaryTypeName","src":"52129:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24052,"mutability":"mutable","name":"p2","nameLocation":"52152:2:16","nodeType":"VariableDeclaration","scope":24069,"src":"52138:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24051,"name":"string","nodeType":"ElementaryTypeName","src":"52138:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24054,"mutability":"mutable","name":"p3","nameLocation":"52161:2:16","nodeType":"VariableDeclaration","scope":24069,"src":"52156:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24053,"name":"bool","nodeType":"ElementaryTypeName","src":"52156:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"52119:45:16"},"returnParameters":{"id":24056,"nodeType":"ParameterList","parameters":[],"src":"52179:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24092,"nodeType":"FunctionDefinition","src":"52288:181:16","nodes":[],"body":{"id":24091,"nodeType":"Block","src":"52363:106:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c6164647265737329","id":24083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52413:31:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202","typeString":"literal_string \"log(bool,bool,string,address)\""},"value":"log(bool,bool,string,address)"},{"id":24084,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24071,"src":"52446:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24085,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24073,"src":"52450:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24086,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24075,"src":"52454:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24087,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24077,"src":"52458:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202","typeString":"literal_string \"log(bool,bool,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24081,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52389:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24082,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52393:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52389:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52389:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24080,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"52373:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52373:89:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24090,"nodeType":"ExpressionStatement","src":"52373:89:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52297:3:16","parameters":{"id":24078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24071,"mutability":"mutable","name":"p0","nameLocation":"52306:2:16","nodeType":"VariableDeclaration","scope":24092,"src":"52301:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24070,"name":"bool","nodeType":"ElementaryTypeName","src":"52301:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24073,"mutability":"mutable","name":"p1","nameLocation":"52315:2:16","nodeType":"VariableDeclaration","scope":24092,"src":"52310:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24072,"name":"bool","nodeType":"ElementaryTypeName","src":"52310:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24075,"mutability":"mutable","name":"p2","nameLocation":"52333:2:16","nodeType":"VariableDeclaration","scope":24092,"src":"52319:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24074,"name":"string","nodeType":"ElementaryTypeName","src":"52319:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24077,"mutability":"mutable","name":"p3","nameLocation":"52345:2:16","nodeType":"VariableDeclaration","scope":24092,"src":"52337:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24076,"name":"address","nodeType":"ElementaryTypeName","src":"52337:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"52300:48:16"},"returnParameters":{"id":24079,"nodeType":"ParameterList","parameters":[],"src":"52363:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24115,"nodeType":"FunctionDefinition","src":"52475:170:16","nodes":[],"body":{"id":24114,"nodeType":"Block","src":"52541:104:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c75696e7432353629","id":24106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52591:29:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d7045c1b7eb7ef78b5ae54b2426a16952d89f674f6d689a4e37aa73bc076a7c","typeString":"literal_string \"log(bool,bool,bool,uint256)\""},"value":"log(bool,bool,bool,uint256)"},{"id":24107,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24094,"src":"52622:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24108,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24096,"src":"52626:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24109,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24098,"src":"52630:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24110,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24100,"src":"52634:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d7045c1b7eb7ef78b5ae54b2426a16952d89f674f6d689a4e37aa73bc076a7c","typeString":"literal_string \"log(bool,bool,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24104,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52567:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24105,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52571:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52567:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52567:70:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24103,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"52551:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52551:87:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24113,"nodeType":"ExpressionStatement","src":"52551:87:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52484:3:16","parameters":{"id":24101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24094,"mutability":"mutable","name":"p0","nameLocation":"52493:2:16","nodeType":"VariableDeclaration","scope":24115,"src":"52488:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24093,"name":"bool","nodeType":"ElementaryTypeName","src":"52488:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24096,"mutability":"mutable","name":"p1","nameLocation":"52502:2:16","nodeType":"VariableDeclaration","scope":24115,"src":"52497:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24095,"name":"bool","nodeType":"ElementaryTypeName","src":"52497:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24098,"mutability":"mutable","name":"p2","nameLocation":"52511:2:16","nodeType":"VariableDeclaration","scope":24115,"src":"52506:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24097,"name":"bool","nodeType":"ElementaryTypeName","src":"52506:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24100,"mutability":"mutable","name":"p3","nameLocation":"52523:2:16","nodeType":"VariableDeclaration","scope":24115,"src":"52515:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24099,"name":"uint256","nodeType":"ElementaryTypeName","src":"52515:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"52487:39:16"},"returnParameters":{"id":24102,"nodeType":"ParameterList","parameters":[],"src":"52541:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24138,"nodeType":"FunctionDefinition","src":"52651:175:16","nodes":[],"body":{"id":24137,"nodeType":"Block","src":"52723:103:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c737472696e6729","id":24129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52773:28:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15","typeString":"literal_string \"log(bool,bool,bool,string)\""},"value":"log(bool,bool,bool,string)"},{"id":24130,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24117,"src":"52803:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24131,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24119,"src":"52807:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24132,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24121,"src":"52811:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24133,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24123,"src":"52815:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15","typeString":"literal_string \"log(bool,bool,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24127,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52749:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52753:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52749:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52749:69:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24126,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"52733:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52733:86:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24136,"nodeType":"ExpressionStatement","src":"52733:86:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52660:3:16","parameters":{"id":24124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24117,"mutability":"mutable","name":"p0","nameLocation":"52669:2:16","nodeType":"VariableDeclaration","scope":24138,"src":"52664:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24116,"name":"bool","nodeType":"ElementaryTypeName","src":"52664:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24119,"mutability":"mutable","name":"p1","nameLocation":"52678:2:16","nodeType":"VariableDeclaration","scope":24138,"src":"52673:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24118,"name":"bool","nodeType":"ElementaryTypeName","src":"52673:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24121,"mutability":"mutable","name":"p2","nameLocation":"52687:2:16","nodeType":"VariableDeclaration","scope":24138,"src":"52682:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24120,"name":"bool","nodeType":"ElementaryTypeName","src":"52682:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24123,"mutability":"mutable","name":"p3","nameLocation":"52705:2:16","nodeType":"VariableDeclaration","scope":24138,"src":"52691:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24122,"name":"string","nodeType":"ElementaryTypeName","src":"52691:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52663:45:16"},"returnParameters":{"id":24125,"nodeType":"ParameterList","parameters":[],"src":"52723:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24161,"nodeType":"FunctionDefinition","src":"52832:164:16","nodes":[],"body":{"id":24160,"nodeType":"Block","src":"52895:101:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c626f6f6c29","id":24152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52945:26:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f","typeString":"literal_string \"log(bool,bool,bool,bool)\""},"value":"log(bool,bool,bool,bool)"},{"id":24153,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24140,"src":"52973:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24154,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24142,"src":"52977:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24155,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24144,"src":"52981:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24156,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24146,"src":"52985:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f","typeString":"literal_string \"log(bool,bool,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24150,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52921:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52925:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52921:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52921:67:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24149,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"52905:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52905:84:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24159,"nodeType":"ExpressionStatement","src":"52905:84:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52841:3:16","parameters":{"id":24147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24140,"mutability":"mutable","name":"p0","nameLocation":"52850:2:16","nodeType":"VariableDeclaration","scope":24161,"src":"52845:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24139,"name":"bool","nodeType":"ElementaryTypeName","src":"52845:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24142,"mutability":"mutable","name":"p1","nameLocation":"52859:2:16","nodeType":"VariableDeclaration","scope":24161,"src":"52854:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24141,"name":"bool","nodeType":"ElementaryTypeName","src":"52854:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24144,"mutability":"mutable","name":"p2","nameLocation":"52868:2:16","nodeType":"VariableDeclaration","scope":24161,"src":"52863:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24143,"name":"bool","nodeType":"ElementaryTypeName","src":"52863:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24146,"mutability":"mutable","name":"p3","nameLocation":"52877:2:16","nodeType":"VariableDeclaration","scope":24161,"src":"52872:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24145,"name":"bool","nodeType":"ElementaryTypeName","src":"52872:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"52844:36:16"},"returnParameters":{"id":24148,"nodeType":"ParameterList","parameters":[],"src":"52895:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24184,"nodeType":"FunctionDefinition","src":"53002:170:16","nodes":[],"body":{"id":24183,"nodeType":"Block","src":"53068:104:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c6164647265737329","id":24175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53118:29:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4","typeString":"literal_string \"log(bool,bool,bool,address)\""},"value":"log(bool,bool,bool,address)"},{"id":24176,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24163,"src":"53149:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24177,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24165,"src":"53153:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24178,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24167,"src":"53157:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24179,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24169,"src":"53161:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4","typeString":"literal_string \"log(bool,bool,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24173,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53094:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24174,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53098:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53094:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53094:70:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24172,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"53078:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53078:87:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24182,"nodeType":"ExpressionStatement","src":"53078:87:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53011:3:16","parameters":{"id":24170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24163,"mutability":"mutable","name":"p0","nameLocation":"53020:2:16","nodeType":"VariableDeclaration","scope":24184,"src":"53015:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24162,"name":"bool","nodeType":"ElementaryTypeName","src":"53015:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24165,"mutability":"mutable","name":"p1","nameLocation":"53029:2:16","nodeType":"VariableDeclaration","scope":24184,"src":"53024:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24164,"name":"bool","nodeType":"ElementaryTypeName","src":"53024:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24167,"mutability":"mutable","name":"p2","nameLocation":"53038:2:16","nodeType":"VariableDeclaration","scope":24184,"src":"53033:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24166,"name":"bool","nodeType":"ElementaryTypeName","src":"53033:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24169,"mutability":"mutable","name":"p3","nameLocation":"53050:2:16","nodeType":"VariableDeclaration","scope":24184,"src":"53042:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24168,"name":"address","nodeType":"ElementaryTypeName","src":"53042:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"53014:39:16"},"returnParameters":{"id":24171,"nodeType":"ParameterList","parameters":[],"src":"53068:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24207,"nodeType":"FunctionDefinition","src":"53178:176:16","nodes":[],"body":{"id":24206,"nodeType":"Block","src":"53247:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c75696e7432353629","id":24198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53297:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_4c123d5798ed03bd59911522da9ad7b1fc4e62f5a5de1c95ef20dc3897657cf1","typeString":"literal_string \"log(bool,bool,address,uint256)\""},"value":"log(bool,bool,address,uint256)"},{"id":24199,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24186,"src":"53331:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24200,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24188,"src":"53335:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24201,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24190,"src":"53339:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24202,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24192,"src":"53343:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4c123d5798ed03bd59911522da9ad7b1fc4e62f5a5de1c95ef20dc3897657cf1","typeString":"literal_string \"log(bool,bool,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24196,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53273:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53277:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53273:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53273:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24195,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"53257:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53257:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24205,"nodeType":"ExpressionStatement","src":"53257:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53187:3:16","parameters":{"id":24193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24186,"mutability":"mutable","name":"p0","nameLocation":"53196:2:16","nodeType":"VariableDeclaration","scope":24207,"src":"53191:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24185,"name":"bool","nodeType":"ElementaryTypeName","src":"53191:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24188,"mutability":"mutable","name":"p1","nameLocation":"53205:2:16","nodeType":"VariableDeclaration","scope":24207,"src":"53200:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24187,"name":"bool","nodeType":"ElementaryTypeName","src":"53200:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24190,"mutability":"mutable","name":"p2","nameLocation":"53217:2:16","nodeType":"VariableDeclaration","scope":24207,"src":"53209:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24189,"name":"address","nodeType":"ElementaryTypeName","src":"53209:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24192,"mutability":"mutable","name":"p3","nameLocation":"53229:2:16","nodeType":"VariableDeclaration","scope":24207,"src":"53221:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24191,"name":"uint256","nodeType":"ElementaryTypeName","src":"53221:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53190:42:16"},"returnParameters":{"id":24194,"nodeType":"ParameterList","parameters":[],"src":"53247:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24230,"nodeType":"FunctionDefinition","src":"53360:181:16","nodes":[],"body":{"id":24229,"nodeType":"Block","src":"53435:106:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c737472696e6729","id":24221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53485:31:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2","typeString":"literal_string \"log(bool,bool,address,string)\""},"value":"log(bool,bool,address,string)"},{"id":24222,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24209,"src":"53518:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24223,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24211,"src":"53522:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24224,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24213,"src":"53526:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24225,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24215,"src":"53530:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2","typeString":"literal_string \"log(bool,bool,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24219,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53461:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24220,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53465:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53461:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53461:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24218,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"53445:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53445:89:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24228,"nodeType":"ExpressionStatement","src":"53445:89:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53369:3:16","parameters":{"id":24216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24209,"mutability":"mutable","name":"p0","nameLocation":"53378:2:16","nodeType":"VariableDeclaration","scope":24230,"src":"53373:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24208,"name":"bool","nodeType":"ElementaryTypeName","src":"53373:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24211,"mutability":"mutable","name":"p1","nameLocation":"53387:2:16","nodeType":"VariableDeclaration","scope":24230,"src":"53382:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24210,"name":"bool","nodeType":"ElementaryTypeName","src":"53382:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24213,"mutability":"mutable","name":"p2","nameLocation":"53399:2:16","nodeType":"VariableDeclaration","scope":24230,"src":"53391:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24212,"name":"address","nodeType":"ElementaryTypeName","src":"53391:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24215,"mutability":"mutable","name":"p3","nameLocation":"53417:2:16","nodeType":"VariableDeclaration","scope":24230,"src":"53403:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24214,"name":"string","nodeType":"ElementaryTypeName","src":"53403:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53372:48:16"},"returnParameters":{"id":24217,"nodeType":"ParameterList","parameters":[],"src":"53435:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24253,"nodeType":"FunctionDefinition","src":"53547:170:16","nodes":[],"body":{"id":24252,"nodeType":"Block","src":"53613:104:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c626f6f6c29","id":24244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53663:29:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf","typeString":"literal_string \"log(bool,bool,address,bool)\""},"value":"log(bool,bool,address,bool)"},{"id":24245,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24232,"src":"53694:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24246,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24234,"src":"53698:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24247,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24236,"src":"53702:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24248,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24238,"src":"53706:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf","typeString":"literal_string \"log(bool,bool,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24242,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53639:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24243,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53643:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53639:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53639:70:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24241,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"53623:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53623:87:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24251,"nodeType":"ExpressionStatement","src":"53623:87:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53556:3:16","parameters":{"id":24239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24232,"mutability":"mutable","name":"p0","nameLocation":"53565:2:16","nodeType":"VariableDeclaration","scope":24253,"src":"53560:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24231,"name":"bool","nodeType":"ElementaryTypeName","src":"53560:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24234,"mutability":"mutable","name":"p1","nameLocation":"53574:2:16","nodeType":"VariableDeclaration","scope":24253,"src":"53569:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24233,"name":"bool","nodeType":"ElementaryTypeName","src":"53569:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24236,"mutability":"mutable","name":"p2","nameLocation":"53586:2:16","nodeType":"VariableDeclaration","scope":24253,"src":"53578:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24235,"name":"address","nodeType":"ElementaryTypeName","src":"53578:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24238,"mutability":"mutable","name":"p3","nameLocation":"53595:2:16","nodeType":"VariableDeclaration","scope":24253,"src":"53590:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24237,"name":"bool","nodeType":"ElementaryTypeName","src":"53590:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"53559:39:16"},"returnParameters":{"id":24240,"nodeType":"ParameterList","parameters":[],"src":"53613:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24276,"nodeType":"FunctionDefinition","src":"53723:176:16","nodes":[],"body":{"id":24275,"nodeType":"Block","src":"53792:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c6164647265737329","id":24267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53842:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4","typeString":"literal_string \"log(bool,bool,address,address)\""},"value":"log(bool,bool,address,address)"},{"id":24268,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24255,"src":"53876:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24269,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24257,"src":"53880:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24270,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24259,"src":"53884:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24271,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24261,"src":"53888:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4","typeString":"literal_string \"log(bool,bool,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24265,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53818:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24266,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53822:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53818:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53818:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24264,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"53802:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53802:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24274,"nodeType":"ExpressionStatement","src":"53802:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53732:3:16","parameters":{"id":24262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24255,"mutability":"mutable","name":"p0","nameLocation":"53741:2:16","nodeType":"VariableDeclaration","scope":24276,"src":"53736:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24254,"name":"bool","nodeType":"ElementaryTypeName","src":"53736:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24257,"mutability":"mutable","name":"p1","nameLocation":"53750:2:16","nodeType":"VariableDeclaration","scope":24276,"src":"53745:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24256,"name":"bool","nodeType":"ElementaryTypeName","src":"53745:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24259,"mutability":"mutable","name":"p2","nameLocation":"53762:2:16","nodeType":"VariableDeclaration","scope":24276,"src":"53754:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24258,"name":"address","nodeType":"ElementaryTypeName","src":"53754:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24261,"mutability":"mutable","name":"p3","nameLocation":"53774:2:16","nodeType":"VariableDeclaration","scope":24276,"src":"53766:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24260,"name":"address","nodeType":"ElementaryTypeName","src":"53766:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"53735:42:16"},"returnParameters":{"id":24263,"nodeType":"ParameterList","parameters":[],"src":"53792:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24299,"nodeType":"FunctionDefinition","src":"53905:182:16","nodes":[],"body":{"id":24298,"nodeType":"Block","src":"53977:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c75696e7432353629","id":24290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54027:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_7bf181a13b51d775e7d4339fb4fee9749d9226fa1720a2ae5e3183ab5674d16e","typeString":"literal_string \"log(bool,address,uint256,uint256)\""},"value":"log(bool,address,uint256,uint256)"},{"id":24291,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24278,"src":"54064:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24292,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24280,"src":"54068:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24293,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24282,"src":"54072:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24294,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24284,"src":"54076:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7bf181a13b51d775e7d4339fb4fee9749d9226fa1720a2ae5e3183ab5674d16e","typeString":"literal_string \"log(bool,address,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24288,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54003:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24289,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54007:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54003:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54003:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24287,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"53987:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53987:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24297,"nodeType":"ExpressionStatement","src":"53987:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53914:3:16","parameters":{"id":24285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24278,"mutability":"mutable","name":"p0","nameLocation":"53923:2:16","nodeType":"VariableDeclaration","scope":24299,"src":"53918:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24277,"name":"bool","nodeType":"ElementaryTypeName","src":"53918:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24280,"mutability":"mutable","name":"p1","nameLocation":"53935:2:16","nodeType":"VariableDeclaration","scope":24299,"src":"53927:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24279,"name":"address","nodeType":"ElementaryTypeName","src":"53927:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24282,"mutability":"mutable","name":"p2","nameLocation":"53947:2:16","nodeType":"VariableDeclaration","scope":24299,"src":"53939:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24281,"name":"uint256","nodeType":"ElementaryTypeName","src":"53939:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24284,"mutability":"mutable","name":"p3","nameLocation":"53959:2:16","nodeType":"VariableDeclaration","scope":24299,"src":"53951:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24283,"name":"uint256","nodeType":"ElementaryTypeName","src":"53951:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53917:45:16"},"returnParameters":{"id":24286,"nodeType":"ParameterList","parameters":[],"src":"53977:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24322,"nodeType":"FunctionDefinition","src":"54093:187:16","nodes":[],"body":{"id":24321,"nodeType":"Block","src":"54171:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c737472696e6729","id":24313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54221:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_51f09ff8d49d8535177ce9f46f86e22d6e0ebf6aab24e3ad1fe351dec9cb8af7","typeString":"literal_string \"log(bool,address,uint256,string)\""},"value":"log(bool,address,uint256,string)"},{"id":24314,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24301,"src":"54257:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24315,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24303,"src":"54261:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24316,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24305,"src":"54265:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24317,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24307,"src":"54269:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_51f09ff8d49d8535177ce9f46f86e22d6e0ebf6aab24e3ad1fe351dec9cb8af7","typeString":"literal_string \"log(bool,address,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24311,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54197:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24312,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54201:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54197:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54197:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24310,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"54181:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54181:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24320,"nodeType":"ExpressionStatement","src":"54181:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54102:3:16","parameters":{"id":24308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24301,"mutability":"mutable","name":"p0","nameLocation":"54111:2:16","nodeType":"VariableDeclaration","scope":24322,"src":"54106:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24300,"name":"bool","nodeType":"ElementaryTypeName","src":"54106:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24303,"mutability":"mutable","name":"p1","nameLocation":"54123:2:16","nodeType":"VariableDeclaration","scope":24322,"src":"54115:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24302,"name":"address","nodeType":"ElementaryTypeName","src":"54115:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24305,"mutability":"mutable","name":"p2","nameLocation":"54135:2:16","nodeType":"VariableDeclaration","scope":24322,"src":"54127:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24304,"name":"uint256","nodeType":"ElementaryTypeName","src":"54127:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24307,"mutability":"mutable","name":"p3","nameLocation":"54153:2:16","nodeType":"VariableDeclaration","scope":24322,"src":"54139:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24306,"name":"string","nodeType":"ElementaryTypeName","src":"54139:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54105:51:16"},"returnParameters":{"id":24309,"nodeType":"ParameterList","parameters":[],"src":"54171:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24345,"nodeType":"FunctionDefinition","src":"54286:176:16","nodes":[],"body":{"id":24344,"nodeType":"Block","src":"54355:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c626f6f6c29","id":24336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54405:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6019f1c844577cb799272d8b580ae7d31e1d26be8513d99f3a91ca8ea67c958","typeString":"literal_string \"log(bool,address,uint256,bool)\""},"value":"log(bool,address,uint256,bool)"},{"id":24337,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24324,"src":"54439:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24338,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24326,"src":"54443:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24339,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24328,"src":"54447:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24340,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24330,"src":"54451:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d6019f1c844577cb799272d8b580ae7d31e1d26be8513d99f3a91ca8ea67c958","typeString":"literal_string \"log(bool,address,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24334,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54381:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54385:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54381:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54381:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24333,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"54365:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54365:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24343,"nodeType":"ExpressionStatement","src":"54365:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54295:3:16","parameters":{"id":24331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24324,"mutability":"mutable","name":"p0","nameLocation":"54304:2:16","nodeType":"VariableDeclaration","scope":24345,"src":"54299:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24323,"name":"bool","nodeType":"ElementaryTypeName","src":"54299:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24326,"mutability":"mutable","name":"p1","nameLocation":"54316:2:16","nodeType":"VariableDeclaration","scope":24345,"src":"54308:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24325,"name":"address","nodeType":"ElementaryTypeName","src":"54308:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24328,"mutability":"mutable","name":"p2","nameLocation":"54328:2:16","nodeType":"VariableDeclaration","scope":24345,"src":"54320:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24327,"name":"uint256","nodeType":"ElementaryTypeName","src":"54320:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24330,"mutability":"mutable","name":"p3","nameLocation":"54337:2:16","nodeType":"VariableDeclaration","scope":24345,"src":"54332:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24329,"name":"bool","nodeType":"ElementaryTypeName","src":"54332:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"54298:42:16"},"returnParameters":{"id":24332,"nodeType":"ParameterList","parameters":[],"src":"54355:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24368,"nodeType":"FunctionDefinition","src":"54468:182:16","nodes":[],"body":{"id":24367,"nodeType":"Block","src":"54540:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c6164647265737329","id":24359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54590:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_136b05dd56dbfa6e97805ce657954968bb4ea366eef252c9fa3aec31b1aa7ebd","typeString":"literal_string \"log(bool,address,uint256,address)\""},"value":"log(bool,address,uint256,address)"},{"id":24360,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24347,"src":"54627:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24361,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24349,"src":"54631:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24362,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24351,"src":"54635:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24363,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24353,"src":"54639:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_136b05dd56dbfa6e97805ce657954968bb4ea366eef252c9fa3aec31b1aa7ebd","typeString":"literal_string \"log(bool,address,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24357,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54566:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24358,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54570:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54566:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54566:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24356,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"54550:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54550:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24366,"nodeType":"ExpressionStatement","src":"54550:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54477:3:16","parameters":{"id":24354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24347,"mutability":"mutable","name":"p0","nameLocation":"54486:2:16","nodeType":"VariableDeclaration","scope":24368,"src":"54481:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24346,"name":"bool","nodeType":"ElementaryTypeName","src":"54481:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24349,"mutability":"mutable","name":"p1","nameLocation":"54498:2:16","nodeType":"VariableDeclaration","scope":24368,"src":"54490:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24348,"name":"address","nodeType":"ElementaryTypeName","src":"54490:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24351,"mutability":"mutable","name":"p2","nameLocation":"54510:2:16","nodeType":"VariableDeclaration","scope":24368,"src":"54502:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24350,"name":"uint256","nodeType":"ElementaryTypeName","src":"54502:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24353,"mutability":"mutable","name":"p3","nameLocation":"54522:2:16","nodeType":"VariableDeclaration","scope":24368,"src":"54514:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24352,"name":"address","nodeType":"ElementaryTypeName","src":"54514:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"54480:45:16"},"returnParameters":{"id":24355,"nodeType":"ParameterList","parameters":[],"src":"54540:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24391,"nodeType":"FunctionDefinition","src":"54656:187:16","nodes":[],"body":{"id":24390,"nodeType":"Block","src":"54734:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c75696e7432353629","id":24382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54784:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_c21f64c781c24c69fbdf6daf185e821c3143831e9c7b3ede1933a6cffd68030d","typeString":"literal_string \"log(bool,address,string,uint256)\""},"value":"log(bool,address,string,uint256)"},{"id":24383,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24370,"src":"54820:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24384,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24372,"src":"54824:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24385,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24374,"src":"54828:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24386,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24376,"src":"54832:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c21f64c781c24c69fbdf6daf185e821c3143831e9c7b3ede1933a6cffd68030d","typeString":"literal_string \"log(bool,address,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24380,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54760:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24381,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54764:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54760:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54760:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24379,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"54744:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54744:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24389,"nodeType":"ExpressionStatement","src":"54744:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54665:3:16","parameters":{"id":24377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24370,"mutability":"mutable","name":"p0","nameLocation":"54674:2:16","nodeType":"VariableDeclaration","scope":24391,"src":"54669:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24369,"name":"bool","nodeType":"ElementaryTypeName","src":"54669:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24372,"mutability":"mutable","name":"p1","nameLocation":"54686:2:16","nodeType":"VariableDeclaration","scope":24391,"src":"54678:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24371,"name":"address","nodeType":"ElementaryTypeName","src":"54678:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24374,"mutability":"mutable","name":"p2","nameLocation":"54704:2:16","nodeType":"VariableDeclaration","scope":24391,"src":"54690:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24373,"name":"string","nodeType":"ElementaryTypeName","src":"54690:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24376,"mutability":"mutable","name":"p3","nameLocation":"54716:2:16","nodeType":"VariableDeclaration","scope":24391,"src":"54708:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24375,"name":"uint256","nodeType":"ElementaryTypeName","src":"54708:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54668:51:16"},"returnParameters":{"id":24378,"nodeType":"ParameterList","parameters":[],"src":"54734:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24414,"nodeType":"FunctionDefinition","src":"54849:192:16","nodes":[],"body":{"id":24413,"nodeType":"Block","src":"54933:108:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c737472696e6729","id":24405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54983:33:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d","typeString":"literal_string \"log(bool,address,string,string)\""},"value":"log(bool,address,string,string)"},{"id":24406,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24393,"src":"55018:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24407,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24395,"src":"55022:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24408,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24397,"src":"55026:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24409,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24399,"src":"55030:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d","typeString":"literal_string \"log(bool,address,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24403,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54959:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24404,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54963:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54959:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54959:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24402,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"54943:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54943:91:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24412,"nodeType":"ExpressionStatement","src":"54943:91:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54858:3:16","parameters":{"id":24400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24393,"mutability":"mutable","name":"p0","nameLocation":"54867:2:16","nodeType":"VariableDeclaration","scope":24414,"src":"54862:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24392,"name":"bool","nodeType":"ElementaryTypeName","src":"54862:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24395,"mutability":"mutable","name":"p1","nameLocation":"54879:2:16","nodeType":"VariableDeclaration","scope":24414,"src":"54871:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24394,"name":"address","nodeType":"ElementaryTypeName","src":"54871:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24397,"mutability":"mutable","name":"p2","nameLocation":"54897:2:16","nodeType":"VariableDeclaration","scope":24414,"src":"54883:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24396,"name":"string","nodeType":"ElementaryTypeName","src":"54883:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24399,"mutability":"mutable","name":"p3","nameLocation":"54915:2:16","nodeType":"VariableDeclaration","scope":24414,"src":"54901:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24398,"name":"string","nodeType":"ElementaryTypeName","src":"54901:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54861:57:16"},"returnParameters":{"id":24401,"nodeType":"ParameterList","parameters":[],"src":"54933:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24437,"nodeType":"FunctionDefinition","src":"55047:181:16","nodes":[],"body":{"id":24436,"nodeType":"Block","src":"55122:106:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c626f6f6c29","id":24428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55172:31:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc","typeString":"literal_string \"log(bool,address,string,bool)\""},"value":"log(bool,address,string,bool)"},{"id":24429,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24416,"src":"55205:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24430,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24418,"src":"55209:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24431,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24420,"src":"55213:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24432,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24422,"src":"55217:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc","typeString":"literal_string \"log(bool,address,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24426,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55148:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24427,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55152:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55148:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55148:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24425,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"55132:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55132:89:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24435,"nodeType":"ExpressionStatement","src":"55132:89:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55056:3:16","parameters":{"id":24423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24416,"mutability":"mutable","name":"p0","nameLocation":"55065:2:16","nodeType":"VariableDeclaration","scope":24437,"src":"55060:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24415,"name":"bool","nodeType":"ElementaryTypeName","src":"55060:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24418,"mutability":"mutable","name":"p1","nameLocation":"55077:2:16","nodeType":"VariableDeclaration","scope":24437,"src":"55069:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24417,"name":"address","nodeType":"ElementaryTypeName","src":"55069:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24420,"mutability":"mutable","name":"p2","nameLocation":"55095:2:16","nodeType":"VariableDeclaration","scope":24437,"src":"55081:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24419,"name":"string","nodeType":"ElementaryTypeName","src":"55081:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24422,"mutability":"mutable","name":"p3","nameLocation":"55104:2:16","nodeType":"VariableDeclaration","scope":24437,"src":"55099:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24421,"name":"bool","nodeType":"ElementaryTypeName","src":"55099:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"55059:48:16"},"returnParameters":{"id":24424,"nodeType":"ParameterList","parameters":[],"src":"55122:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24460,"nodeType":"FunctionDefinition","src":"55234:187:16","nodes":[],"body":{"id":24459,"nodeType":"Block","src":"55312:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c6164647265737329","id":24451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55362:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654","typeString":"literal_string \"log(bool,address,string,address)\""},"value":"log(bool,address,string,address)"},{"id":24452,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24439,"src":"55398:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24453,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24441,"src":"55402:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24454,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24443,"src":"55406:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24455,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24445,"src":"55410:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654","typeString":"literal_string \"log(bool,address,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24449,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55338:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24450,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55342:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55338:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55338:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24448,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"55322:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55322:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24458,"nodeType":"ExpressionStatement","src":"55322:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55243:3:16","parameters":{"id":24446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24439,"mutability":"mutable","name":"p0","nameLocation":"55252:2:16","nodeType":"VariableDeclaration","scope":24460,"src":"55247:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24438,"name":"bool","nodeType":"ElementaryTypeName","src":"55247:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24441,"mutability":"mutable","name":"p1","nameLocation":"55264:2:16","nodeType":"VariableDeclaration","scope":24460,"src":"55256:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24440,"name":"address","nodeType":"ElementaryTypeName","src":"55256:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24443,"mutability":"mutable","name":"p2","nameLocation":"55282:2:16","nodeType":"VariableDeclaration","scope":24460,"src":"55268:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24442,"name":"string","nodeType":"ElementaryTypeName","src":"55268:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24445,"mutability":"mutable","name":"p3","nameLocation":"55294:2:16","nodeType":"VariableDeclaration","scope":24460,"src":"55286:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24444,"name":"address","nodeType":"ElementaryTypeName","src":"55286:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"55246:51:16"},"returnParameters":{"id":24447,"nodeType":"ParameterList","parameters":[],"src":"55312:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24483,"nodeType":"FunctionDefinition","src":"55427:176:16","nodes":[],"body":{"id":24482,"nodeType":"Block","src":"55496:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c75696e7432353629","id":24474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55546:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_07831502b96d5b050adbd4ca2f9d4cd011dd7a8d3e1266dadb6c832ee8e56059","typeString":"literal_string \"log(bool,address,bool,uint256)\""},"value":"log(bool,address,bool,uint256)"},{"id":24475,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24462,"src":"55580:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24476,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24464,"src":"55584:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24477,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24466,"src":"55588:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24478,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24468,"src":"55592:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_07831502b96d5b050adbd4ca2f9d4cd011dd7a8d3e1266dadb6c832ee8e56059","typeString":"literal_string \"log(bool,address,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24472,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55522:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55526:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55522:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55522:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24471,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"55506:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55506:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24481,"nodeType":"ExpressionStatement","src":"55506:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55436:3:16","parameters":{"id":24469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24462,"mutability":"mutable","name":"p0","nameLocation":"55445:2:16","nodeType":"VariableDeclaration","scope":24483,"src":"55440:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24461,"name":"bool","nodeType":"ElementaryTypeName","src":"55440:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24464,"mutability":"mutable","name":"p1","nameLocation":"55457:2:16","nodeType":"VariableDeclaration","scope":24483,"src":"55449:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24463,"name":"address","nodeType":"ElementaryTypeName","src":"55449:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24466,"mutability":"mutable","name":"p2","nameLocation":"55466:2:16","nodeType":"VariableDeclaration","scope":24483,"src":"55461:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24465,"name":"bool","nodeType":"ElementaryTypeName","src":"55461:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24468,"mutability":"mutable","name":"p3","nameLocation":"55478:2:16","nodeType":"VariableDeclaration","scope":24483,"src":"55470:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24467,"name":"uint256","nodeType":"ElementaryTypeName","src":"55470:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"55439:42:16"},"returnParameters":{"id":24470,"nodeType":"ParameterList","parameters":[],"src":"55496:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24506,"nodeType":"FunctionDefinition","src":"55609:181:16","nodes":[],"body":{"id":24505,"nodeType":"Block","src":"55684:106:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c737472696e6729","id":24497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55734:31:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59","typeString":"literal_string \"log(bool,address,bool,string)\""},"value":"log(bool,address,bool,string)"},{"id":24498,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24485,"src":"55767:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24499,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24487,"src":"55771:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24500,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24489,"src":"55775:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24501,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24491,"src":"55779:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59","typeString":"literal_string \"log(bool,address,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24495,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55710:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24496,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55714:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55710:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55710:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24494,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"55694:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55694:89:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24504,"nodeType":"ExpressionStatement","src":"55694:89:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55618:3:16","parameters":{"id":24492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24485,"mutability":"mutable","name":"p0","nameLocation":"55627:2:16","nodeType":"VariableDeclaration","scope":24506,"src":"55622:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24484,"name":"bool","nodeType":"ElementaryTypeName","src":"55622:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24487,"mutability":"mutable","name":"p1","nameLocation":"55639:2:16","nodeType":"VariableDeclaration","scope":24506,"src":"55631:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24486,"name":"address","nodeType":"ElementaryTypeName","src":"55631:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24489,"mutability":"mutable","name":"p2","nameLocation":"55648:2:16","nodeType":"VariableDeclaration","scope":24506,"src":"55643:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24488,"name":"bool","nodeType":"ElementaryTypeName","src":"55643:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24491,"mutability":"mutable","name":"p3","nameLocation":"55666:2:16","nodeType":"VariableDeclaration","scope":24506,"src":"55652:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24490,"name":"string","nodeType":"ElementaryTypeName","src":"55652:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"55621:48:16"},"returnParameters":{"id":24493,"nodeType":"ParameterList","parameters":[],"src":"55684:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24529,"nodeType":"FunctionDefinition","src":"55796:170:16","nodes":[],"body":{"id":24528,"nodeType":"Block","src":"55862:104:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c626f6f6c29","id":24520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55912:29:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577","typeString":"literal_string \"log(bool,address,bool,bool)\""},"value":"log(bool,address,bool,bool)"},{"id":24521,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24508,"src":"55943:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24522,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24510,"src":"55947:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24523,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24512,"src":"55951:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24524,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24514,"src":"55955:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577","typeString":"literal_string \"log(bool,address,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24518,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55888:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24519,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55892:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55888:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55888:70:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24517,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"55872:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55872:87:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24527,"nodeType":"ExpressionStatement","src":"55872:87:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55805:3:16","parameters":{"id":24515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24508,"mutability":"mutable","name":"p0","nameLocation":"55814:2:16","nodeType":"VariableDeclaration","scope":24529,"src":"55809:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24507,"name":"bool","nodeType":"ElementaryTypeName","src":"55809:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24510,"mutability":"mutable","name":"p1","nameLocation":"55826:2:16","nodeType":"VariableDeclaration","scope":24529,"src":"55818:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24509,"name":"address","nodeType":"ElementaryTypeName","src":"55818:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24512,"mutability":"mutable","name":"p2","nameLocation":"55835:2:16","nodeType":"VariableDeclaration","scope":24529,"src":"55830:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24511,"name":"bool","nodeType":"ElementaryTypeName","src":"55830:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24514,"mutability":"mutable","name":"p3","nameLocation":"55844:2:16","nodeType":"VariableDeclaration","scope":24529,"src":"55839:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24513,"name":"bool","nodeType":"ElementaryTypeName","src":"55839:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"55808:39:16"},"returnParameters":{"id":24516,"nodeType":"ParameterList","parameters":[],"src":"55862:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24552,"nodeType":"FunctionDefinition","src":"55972:176:16","nodes":[],"body":{"id":24551,"nodeType":"Block","src":"56041:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c6164647265737329","id":24543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56091:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870","typeString":"literal_string \"log(bool,address,bool,address)\""},"value":"log(bool,address,bool,address)"},{"id":24544,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24531,"src":"56125:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24545,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24533,"src":"56129:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24546,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24535,"src":"56133:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24547,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24537,"src":"56137:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870","typeString":"literal_string \"log(bool,address,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24541,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56067:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56071:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56067:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56067:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24540,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"56051:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56051:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24550,"nodeType":"ExpressionStatement","src":"56051:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55981:3:16","parameters":{"id":24538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24531,"mutability":"mutable","name":"p0","nameLocation":"55990:2:16","nodeType":"VariableDeclaration","scope":24552,"src":"55985:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24530,"name":"bool","nodeType":"ElementaryTypeName","src":"55985:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24533,"mutability":"mutable","name":"p1","nameLocation":"56002:2:16","nodeType":"VariableDeclaration","scope":24552,"src":"55994:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24532,"name":"address","nodeType":"ElementaryTypeName","src":"55994:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24535,"mutability":"mutable","name":"p2","nameLocation":"56011:2:16","nodeType":"VariableDeclaration","scope":24552,"src":"56006:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24534,"name":"bool","nodeType":"ElementaryTypeName","src":"56006:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24537,"mutability":"mutable","name":"p3","nameLocation":"56023:2:16","nodeType":"VariableDeclaration","scope":24552,"src":"56015:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24536,"name":"address","nodeType":"ElementaryTypeName","src":"56015:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"55984:42:16"},"returnParameters":{"id":24539,"nodeType":"ParameterList","parameters":[],"src":"56041:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24575,"nodeType":"FunctionDefinition","src":"56154:182:16","nodes":[],"body":{"id":24574,"nodeType":"Block","src":"56226:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c75696e7432353629","id":24566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56276:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c66d1be8b80b8d96088c57d6fc12897f737822d5beb6e751a923520a0a509b8","typeString":"literal_string \"log(bool,address,address,uint256)\""},"value":"log(bool,address,address,uint256)"},{"id":24567,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24554,"src":"56313:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24568,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24556,"src":"56317:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24569,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24558,"src":"56321:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24570,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24560,"src":"56325:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0c66d1be8b80b8d96088c57d6fc12897f737822d5beb6e751a923520a0a509b8","typeString":"literal_string \"log(bool,address,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24564,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56252:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24565,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56256:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56252:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56252:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24563,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"56236:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56236:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24573,"nodeType":"ExpressionStatement","src":"56236:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56163:3:16","parameters":{"id":24561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24554,"mutability":"mutable","name":"p0","nameLocation":"56172:2:16","nodeType":"VariableDeclaration","scope":24575,"src":"56167:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24553,"name":"bool","nodeType":"ElementaryTypeName","src":"56167:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24556,"mutability":"mutable","name":"p1","nameLocation":"56184:2:16","nodeType":"VariableDeclaration","scope":24575,"src":"56176:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24555,"name":"address","nodeType":"ElementaryTypeName","src":"56176:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24558,"mutability":"mutable","name":"p2","nameLocation":"56196:2:16","nodeType":"VariableDeclaration","scope":24575,"src":"56188:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24557,"name":"address","nodeType":"ElementaryTypeName","src":"56188:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24560,"mutability":"mutable","name":"p3","nameLocation":"56208:2:16","nodeType":"VariableDeclaration","scope":24575,"src":"56200:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24559,"name":"uint256","nodeType":"ElementaryTypeName","src":"56200:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56166:45:16"},"returnParameters":{"id":24562,"nodeType":"ParameterList","parameters":[],"src":"56226:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24598,"nodeType":"FunctionDefinition","src":"56342:187:16","nodes":[],"body":{"id":24597,"nodeType":"Block","src":"56420:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c737472696e6729","id":24589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56470:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432","typeString":"literal_string \"log(bool,address,address,string)\""},"value":"log(bool,address,address,string)"},{"id":24590,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24577,"src":"56506:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24591,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24579,"src":"56510:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24592,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24581,"src":"56514:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24593,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24583,"src":"56518:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432","typeString":"literal_string \"log(bool,address,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24587,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56446:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24588,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56450:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56446:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56446:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24586,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"56430:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56430:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24596,"nodeType":"ExpressionStatement","src":"56430:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56351:3:16","parameters":{"id":24584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24577,"mutability":"mutable","name":"p0","nameLocation":"56360:2:16","nodeType":"VariableDeclaration","scope":24598,"src":"56355:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24576,"name":"bool","nodeType":"ElementaryTypeName","src":"56355:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24579,"mutability":"mutable","name":"p1","nameLocation":"56372:2:16","nodeType":"VariableDeclaration","scope":24598,"src":"56364:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24578,"name":"address","nodeType":"ElementaryTypeName","src":"56364:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24581,"mutability":"mutable","name":"p2","nameLocation":"56384:2:16","nodeType":"VariableDeclaration","scope":24598,"src":"56376:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24580,"name":"address","nodeType":"ElementaryTypeName","src":"56376:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24583,"mutability":"mutable","name":"p3","nameLocation":"56402:2:16","nodeType":"VariableDeclaration","scope":24598,"src":"56388:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24582,"name":"string","nodeType":"ElementaryTypeName","src":"56388:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"56354:51:16"},"returnParameters":{"id":24585,"nodeType":"ParameterList","parameters":[],"src":"56420:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24621,"nodeType":"FunctionDefinition","src":"56535:176:16","nodes":[],"body":{"id":24620,"nodeType":"Block","src":"56604:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c626f6f6c29","id":24612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56654:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e","typeString":"literal_string \"log(bool,address,address,bool)\""},"value":"log(bool,address,address,bool)"},{"id":24613,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24600,"src":"56688:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24614,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24602,"src":"56692:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24615,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24604,"src":"56696:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24616,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24606,"src":"56700:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e","typeString":"literal_string \"log(bool,address,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24610,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56630:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24611,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56634:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56630:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56630:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24609,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"56614:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56614:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24619,"nodeType":"ExpressionStatement","src":"56614:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56544:3:16","parameters":{"id":24607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24600,"mutability":"mutable","name":"p0","nameLocation":"56553:2:16","nodeType":"VariableDeclaration","scope":24621,"src":"56548:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24599,"name":"bool","nodeType":"ElementaryTypeName","src":"56548:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24602,"mutability":"mutable","name":"p1","nameLocation":"56565:2:16","nodeType":"VariableDeclaration","scope":24621,"src":"56557:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24601,"name":"address","nodeType":"ElementaryTypeName","src":"56557:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24604,"mutability":"mutable","name":"p2","nameLocation":"56577:2:16","nodeType":"VariableDeclaration","scope":24621,"src":"56569:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24603,"name":"address","nodeType":"ElementaryTypeName","src":"56569:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24606,"mutability":"mutable","name":"p3","nameLocation":"56586:2:16","nodeType":"VariableDeclaration","scope":24621,"src":"56581:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24605,"name":"bool","nodeType":"ElementaryTypeName","src":"56581:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"56547:42:16"},"returnParameters":{"id":24608,"nodeType":"ParameterList","parameters":[],"src":"56604:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24644,"nodeType":"FunctionDefinition","src":"56717:182:16","nodes":[],"body":{"id":24643,"nodeType":"Block","src":"56789:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c6164647265737329","id":24635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56839:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123","typeString":"literal_string \"log(bool,address,address,address)\""},"value":"log(bool,address,address,address)"},{"id":24636,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24623,"src":"56876:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24637,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24625,"src":"56880:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24638,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24627,"src":"56884:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24639,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24629,"src":"56888:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123","typeString":"literal_string \"log(bool,address,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24633,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56815:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24634,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56819:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56815:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56815:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24632,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"56799:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56799:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24642,"nodeType":"ExpressionStatement","src":"56799:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56726:3:16","parameters":{"id":24630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24623,"mutability":"mutable","name":"p0","nameLocation":"56735:2:16","nodeType":"VariableDeclaration","scope":24644,"src":"56730:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24622,"name":"bool","nodeType":"ElementaryTypeName","src":"56730:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24625,"mutability":"mutable","name":"p1","nameLocation":"56747:2:16","nodeType":"VariableDeclaration","scope":24644,"src":"56739:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24624,"name":"address","nodeType":"ElementaryTypeName","src":"56739:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24627,"mutability":"mutable","name":"p2","nameLocation":"56759:2:16","nodeType":"VariableDeclaration","scope":24644,"src":"56751:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24626,"name":"address","nodeType":"ElementaryTypeName","src":"56751:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24629,"mutability":"mutable","name":"p3","nameLocation":"56771:2:16","nodeType":"VariableDeclaration","scope":24644,"src":"56763:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24628,"name":"address","nodeType":"ElementaryTypeName","src":"56763:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"56729:45:16"},"returnParameters":{"id":24631,"nodeType":"ParameterList","parameters":[],"src":"56789:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24667,"nodeType":"FunctionDefinition","src":"56905:188:16","nodes":[],"body":{"id":24666,"nodeType":"Block","src":"56980:113:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c75696e7432353629","id":24658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57030:38:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_34f0e636808ebabd61ce9b247c78c7a38984ab35d5f29c0bd51299288509f6d6","typeString":"literal_string \"log(address,uint256,uint256,uint256)\""},"value":"log(address,uint256,uint256,uint256)"},{"id":24659,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24646,"src":"57070:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24660,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24648,"src":"57074:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24661,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24650,"src":"57078:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24662,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24652,"src":"57082:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_34f0e636808ebabd61ce9b247c78c7a38984ab35d5f29c0bd51299288509f6d6","typeString":"literal_string \"log(address,uint256,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24656,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57006:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57010:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57006:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57006:79:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24655,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"56990:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56990:96:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24665,"nodeType":"ExpressionStatement","src":"56990:96:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56914:3:16","parameters":{"id":24653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24646,"mutability":"mutable","name":"p0","nameLocation":"56926:2:16","nodeType":"VariableDeclaration","scope":24667,"src":"56918:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24645,"name":"address","nodeType":"ElementaryTypeName","src":"56918:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24648,"mutability":"mutable","name":"p1","nameLocation":"56938:2:16","nodeType":"VariableDeclaration","scope":24667,"src":"56930:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24647,"name":"uint256","nodeType":"ElementaryTypeName","src":"56930:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24650,"mutability":"mutable","name":"p2","nameLocation":"56950:2:16","nodeType":"VariableDeclaration","scope":24667,"src":"56942:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24649,"name":"uint256","nodeType":"ElementaryTypeName","src":"56942:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24652,"mutability":"mutable","name":"p3","nameLocation":"56962:2:16","nodeType":"VariableDeclaration","scope":24667,"src":"56954:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24651,"name":"uint256","nodeType":"ElementaryTypeName","src":"56954:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56917:48:16"},"returnParameters":{"id":24654,"nodeType":"ParameterList","parameters":[],"src":"56980:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24690,"nodeType":"FunctionDefinition","src":"57099:193:16","nodes":[],"body":{"id":24689,"nodeType":"Block","src":"57180:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c737472696e6729","id":24681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57230:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_4a28c017e545dc04fb82dd1a46d46ba463e69e0aeff774fbced9bedd205b6cf6","typeString":"literal_string \"log(address,uint256,uint256,string)\""},"value":"log(address,uint256,uint256,string)"},{"id":24682,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24669,"src":"57269:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24683,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24671,"src":"57273:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24684,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24673,"src":"57277:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24685,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24675,"src":"57281:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4a28c017e545dc04fb82dd1a46d46ba463e69e0aeff774fbced9bedd205b6cf6","typeString":"literal_string \"log(address,uint256,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24679,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57206:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24680,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57210:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57206:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57206:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24678,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"57190:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57190:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24688,"nodeType":"ExpressionStatement","src":"57190:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57108:3:16","parameters":{"id":24676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24669,"mutability":"mutable","name":"p0","nameLocation":"57120:2:16","nodeType":"VariableDeclaration","scope":24690,"src":"57112:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24668,"name":"address","nodeType":"ElementaryTypeName","src":"57112:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24671,"mutability":"mutable","name":"p1","nameLocation":"57132:2:16","nodeType":"VariableDeclaration","scope":24690,"src":"57124:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24670,"name":"uint256","nodeType":"ElementaryTypeName","src":"57124:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24673,"mutability":"mutable","name":"p2","nameLocation":"57144:2:16","nodeType":"VariableDeclaration","scope":24690,"src":"57136:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24672,"name":"uint256","nodeType":"ElementaryTypeName","src":"57136:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24675,"mutability":"mutable","name":"p3","nameLocation":"57162:2:16","nodeType":"VariableDeclaration","scope":24690,"src":"57148:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24674,"name":"string","nodeType":"ElementaryTypeName","src":"57148:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57111:54:16"},"returnParameters":{"id":24677,"nodeType":"ParameterList","parameters":[],"src":"57180:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24713,"nodeType":"FunctionDefinition","src":"57298:182:16","nodes":[],"body":{"id":24712,"nodeType":"Block","src":"57370:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c626f6f6c29","id":24704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57420:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_66f1bc67b5cb59260b3541ed684f0a38ab8f590dfff7947bd562de33eae3c57e","typeString":"literal_string \"log(address,uint256,uint256,bool)\""},"value":"log(address,uint256,uint256,bool)"},{"id":24705,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24692,"src":"57457:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24706,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24694,"src":"57461:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24707,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24696,"src":"57465:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24708,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24698,"src":"57469:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_66f1bc67b5cb59260b3541ed684f0a38ab8f590dfff7947bd562de33eae3c57e","typeString":"literal_string \"log(address,uint256,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24702,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57396:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57400:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57396:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57396:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24701,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"57380:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57380:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24711,"nodeType":"ExpressionStatement","src":"57380:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57307:3:16","parameters":{"id":24699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24692,"mutability":"mutable","name":"p0","nameLocation":"57319:2:16","nodeType":"VariableDeclaration","scope":24713,"src":"57311:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24691,"name":"address","nodeType":"ElementaryTypeName","src":"57311:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24694,"mutability":"mutable","name":"p1","nameLocation":"57331:2:16","nodeType":"VariableDeclaration","scope":24713,"src":"57323:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24693,"name":"uint256","nodeType":"ElementaryTypeName","src":"57323:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24696,"mutability":"mutable","name":"p2","nameLocation":"57343:2:16","nodeType":"VariableDeclaration","scope":24713,"src":"57335:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24695,"name":"uint256","nodeType":"ElementaryTypeName","src":"57335:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24698,"mutability":"mutable","name":"p3","nameLocation":"57352:2:16","nodeType":"VariableDeclaration","scope":24713,"src":"57347:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24697,"name":"bool","nodeType":"ElementaryTypeName","src":"57347:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"57310:45:16"},"returnParameters":{"id":24700,"nodeType":"ParameterList","parameters":[],"src":"57370:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24736,"nodeType":"FunctionDefinition","src":"57486:188:16","nodes":[],"body":{"id":24735,"nodeType":"Block","src":"57561:113:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c6164647265737329","id":24727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57611:38:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_20e3984d0b91232a40a479187d959e3fb7102cd2a40a0267e07a4f648290e390","typeString":"literal_string \"log(address,uint256,uint256,address)\""},"value":"log(address,uint256,uint256,address)"},{"id":24728,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24715,"src":"57651:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24729,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24717,"src":"57655:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24730,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24719,"src":"57659:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24731,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24721,"src":"57663:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_20e3984d0b91232a40a479187d959e3fb7102cd2a40a0267e07a4f648290e390","typeString":"literal_string \"log(address,uint256,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24725,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57587:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24726,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57591:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57587:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57587:79:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24724,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"57571:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57571:96:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24734,"nodeType":"ExpressionStatement","src":"57571:96:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57495:3:16","parameters":{"id":24722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24715,"mutability":"mutable","name":"p0","nameLocation":"57507:2:16","nodeType":"VariableDeclaration","scope":24736,"src":"57499:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24714,"name":"address","nodeType":"ElementaryTypeName","src":"57499:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24717,"mutability":"mutable","name":"p1","nameLocation":"57519:2:16","nodeType":"VariableDeclaration","scope":24736,"src":"57511:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24716,"name":"uint256","nodeType":"ElementaryTypeName","src":"57511:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24719,"mutability":"mutable","name":"p2","nameLocation":"57531:2:16","nodeType":"VariableDeclaration","scope":24736,"src":"57523:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24718,"name":"uint256","nodeType":"ElementaryTypeName","src":"57523:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24721,"mutability":"mutable","name":"p3","nameLocation":"57543:2:16","nodeType":"VariableDeclaration","scope":24736,"src":"57535:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24720,"name":"address","nodeType":"ElementaryTypeName","src":"57535:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"57498:48:16"},"returnParameters":{"id":24723,"nodeType":"ParameterList","parameters":[],"src":"57561:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24759,"nodeType":"FunctionDefinition","src":"57680:193:16","nodes":[],"body":{"id":24758,"nodeType":"Block","src":"57761:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c75696e7432353629","id":24750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57811:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_bf01f89152073297823dffc184d44302911f7269a4d8bb68457feda7325d0054","typeString":"literal_string \"log(address,uint256,string,uint256)\""},"value":"log(address,uint256,string,uint256)"},{"id":24751,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24738,"src":"57850:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24752,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24740,"src":"57854:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24753,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24742,"src":"57858:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24754,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24744,"src":"57862:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bf01f89152073297823dffc184d44302911f7269a4d8bb68457feda7325d0054","typeString":"literal_string \"log(address,uint256,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24748,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57787:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24749,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57791:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57787:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57787:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24747,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"57771:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57771:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24757,"nodeType":"ExpressionStatement","src":"57771:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57689:3:16","parameters":{"id":24745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24738,"mutability":"mutable","name":"p0","nameLocation":"57701:2:16","nodeType":"VariableDeclaration","scope":24759,"src":"57693:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24737,"name":"address","nodeType":"ElementaryTypeName","src":"57693:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24740,"mutability":"mutable","name":"p1","nameLocation":"57713:2:16","nodeType":"VariableDeclaration","scope":24759,"src":"57705:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24739,"name":"uint256","nodeType":"ElementaryTypeName","src":"57705:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24742,"mutability":"mutable","name":"p2","nameLocation":"57731:2:16","nodeType":"VariableDeclaration","scope":24759,"src":"57717:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24741,"name":"string","nodeType":"ElementaryTypeName","src":"57717:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24744,"mutability":"mutable","name":"p3","nameLocation":"57743:2:16","nodeType":"VariableDeclaration","scope":24759,"src":"57735:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24743,"name":"uint256","nodeType":"ElementaryTypeName","src":"57735:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"57692:54:16"},"returnParameters":{"id":24746,"nodeType":"ParameterList","parameters":[],"src":"57761:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24782,"nodeType":"FunctionDefinition","src":"57879:198:16","nodes":[],"body":{"id":24781,"nodeType":"Block","src":"57966:111:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c737472696e6729","id":24773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58016:36:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_88a8c40673ee8948292248925b0e9d44ca87355f3f886942e848cf22ee50e1c9","typeString":"literal_string \"log(address,uint256,string,string)\""},"value":"log(address,uint256,string,string)"},{"id":24774,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24761,"src":"58054:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24775,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24763,"src":"58058:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24776,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24765,"src":"58062:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24777,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24767,"src":"58066:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_88a8c40673ee8948292248925b0e9d44ca87355f3f886942e848cf22ee50e1c9","typeString":"literal_string \"log(address,uint256,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24771,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57992:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57996:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57992:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57992:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24770,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"57976:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57976:94:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24780,"nodeType":"ExpressionStatement","src":"57976:94:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57888:3:16","parameters":{"id":24768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24761,"mutability":"mutable","name":"p0","nameLocation":"57900:2:16","nodeType":"VariableDeclaration","scope":24782,"src":"57892:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24760,"name":"address","nodeType":"ElementaryTypeName","src":"57892:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24763,"mutability":"mutable","name":"p1","nameLocation":"57912:2:16","nodeType":"VariableDeclaration","scope":24782,"src":"57904:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24762,"name":"uint256","nodeType":"ElementaryTypeName","src":"57904:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24765,"mutability":"mutable","name":"p2","nameLocation":"57930:2:16","nodeType":"VariableDeclaration","scope":24782,"src":"57916:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24764,"name":"string","nodeType":"ElementaryTypeName","src":"57916:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24767,"mutability":"mutable","name":"p3","nameLocation":"57948:2:16","nodeType":"VariableDeclaration","scope":24782,"src":"57934:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24766,"name":"string","nodeType":"ElementaryTypeName","src":"57934:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57891:60:16"},"returnParameters":{"id":24769,"nodeType":"ParameterList","parameters":[],"src":"57966:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24805,"nodeType":"FunctionDefinition","src":"58083:187:16","nodes":[],"body":{"id":24804,"nodeType":"Block","src":"58161:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c626f6f6c29","id":24796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58211:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf18105cbdc058258aaac7d4703aebeff683e464ae87b167f8bcabefd4799184","typeString":"literal_string \"log(address,uint256,string,bool)\""},"value":"log(address,uint256,string,bool)"},{"id":24797,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24784,"src":"58247:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24798,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24786,"src":"58251:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24799,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24788,"src":"58255:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24800,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24790,"src":"58259:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf18105cbdc058258aaac7d4703aebeff683e464ae87b167f8bcabefd4799184","typeString":"literal_string \"log(address,uint256,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24794,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58187:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24795,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58191:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58187:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58187:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24793,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"58171:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58171:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24803,"nodeType":"ExpressionStatement","src":"58171:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58092:3:16","parameters":{"id":24791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24784,"mutability":"mutable","name":"p0","nameLocation":"58104:2:16","nodeType":"VariableDeclaration","scope":24805,"src":"58096:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24783,"name":"address","nodeType":"ElementaryTypeName","src":"58096:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24786,"mutability":"mutable","name":"p1","nameLocation":"58116:2:16","nodeType":"VariableDeclaration","scope":24805,"src":"58108:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24785,"name":"uint256","nodeType":"ElementaryTypeName","src":"58108:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24788,"mutability":"mutable","name":"p2","nameLocation":"58134:2:16","nodeType":"VariableDeclaration","scope":24805,"src":"58120:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24787,"name":"string","nodeType":"ElementaryTypeName","src":"58120:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24790,"mutability":"mutable","name":"p3","nameLocation":"58143:2:16","nodeType":"VariableDeclaration","scope":24805,"src":"58138:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24789,"name":"bool","nodeType":"ElementaryTypeName","src":"58138:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"58095:51:16"},"returnParameters":{"id":24792,"nodeType":"ParameterList","parameters":[],"src":"58161:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24828,"nodeType":"FunctionDefinition","src":"58276:193:16","nodes":[],"body":{"id":24827,"nodeType":"Block","src":"58357:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c6164647265737329","id":24819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58407:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c430d475ad8236f34d086a6aae3612106ae74c8621b8677d58f13dcda27570a","typeString":"literal_string \"log(address,uint256,string,address)\""},"value":"log(address,uint256,string,address)"},{"id":24820,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24807,"src":"58446:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24821,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24809,"src":"58450:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24822,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24811,"src":"58454:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24823,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24813,"src":"58458:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5c430d475ad8236f34d086a6aae3612106ae74c8621b8677d58f13dcda27570a","typeString":"literal_string \"log(address,uint256,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24817,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58383:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58387:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58383:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58383:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24816,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"58367:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58367:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24826,"nodeType":"ExpressionStatement","src":"58367:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58285:3:16","parameters":{"id":24814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24807,"mutability":"mutable","name":"p0","nameLocation":"58297:2:16","nodeType":"VariableDeclaration","scope":24828,"src":"58289:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24806,"name":"address","nodeType":"ElementaryTypeName","src":"58289:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24809,"mutability":"mutable","name":"p1","nameLocation":"58309:2:16","nodeType":"VariableDeclaration","scope":24828,"src":"58301:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24808,"name":"uint256","nodeType":"ElementaryTypeName","src":"58301:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24811,"mutability":"mutable","name":"p2","nameLocation":"58327:2:16","nodeType":"VariableDeclaration","scope":24828,"src":"58313:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24810,"name":"string","nodeType":"ElementaryTypeName","src":"58313:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24813,"mutability":"mutable","name":"p3","nameLocation":"58339:2:16","nodeType":"VariableDeclaration","scope":24828,"src":"58331:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24812,"name":"address","nodeType":"ElementaryTypeName","src":"58331:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"58288:54:16"},"returnParameters":{"id":24815,"nodeType":"ParameterList","parameters":[],"src":"58357:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24851,"nodeType":"FunctionDefinition","src":"58475:182:16","nodes":[],"body":{"id":24850,"nodeType":"Block","src":"58547:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c75696e7432353629","id":24842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58597:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_22f6b999343c50207803e85ddd9e714a5457dacc91c49407b8de02bdaf889e5e","typeString":"literal_string \"log(address,uint256,bool,uint256)\""},"value":"log(address,uint256,bool,uint256)"},{"id":24843,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24830,"src":"58634:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24844,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24832,"src":"58638:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24845,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24834,"src":"58642:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24846,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24836,"src":"58646:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_22f6b999343c50207803e85ddd9e714a5457dacc91c49407b8de02bdaf889e5e","typeString":"literal_string \"log(address,uint256,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24840,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58573:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24841,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58577:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58573:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58573:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24839,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"58557:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58557:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24849,"nodeType":"ExpressionStatement","src":"58557:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58484:3:16","parameters":{"id":24837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24830,"mutability":"mutable","name":"p0","nameLocation":"58496:2:16","nodeType":"VariableDeclaration","scope":24851,"src":"58488:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24829,"name":"address","nodeType":"ElementaryTypeName","src":"58488:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24832,"mutability":"mutable","name":"p1","nameLocation":"58508:2:16","nodeType":"VariableDeclaration","scope":24851,"src":"58500:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24831,"name":"uint256","nodeType":"ElementaryTypeName","src":"58500:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24834,"mutability":"mutable","name":"p2","nameLocation":"58517:2:16","nodeType":"VariableDeclaration","scope":24851,"src":"58512:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24833,"name":"bool","nodeType":"ElementaryTypeName","src":"58512:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24836,"mutability":"mutable","name":"p3","nameLocation":"58529:2:16","nodeType":"VariableDeclaration","scope":24851,"src":"58521:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24835,"name":"uint256","nodeType":"ElementaryTypeName","src":"58521:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"58487:45:16"},"returnParameters":{"id":24838,"nodeType":"ParameterList","parameters":[],"src":"58547:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24874,"nodeType":"FunctionDefinition","src":"58663:187:16","nodes":[],"body":{"id":24873,"nodeType":"Block","src":"58741:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c737472696e6729","id":24865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58791:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5ad85f9b1e72940e5c2ff98bcaf10dac65873a2d1f60566284e5a9bba66ce0b","typeString":"literal_string \"log(address,uint256,bool,string)\""},"value":"log(address,uint256,bool,string)"},{"id":24866,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24853,"src":"58827:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24867,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24855,"src":"58831:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24868,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24857,"src":"58835:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24869,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24859,"src":"58839:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5ad85f9b1e72940e5c2ff98bcaf10dac65873a2d1f60566284e5a9bba66ce0b","typeString":"literal_string \"log(address,uint256,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24863,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58767:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58771:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58767:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58767:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24862,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"58751:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58751:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24872,"nodeType":"ExpressionStatement","src":"58751:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58672:3:16","parameters":{"id":24860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24853,"mutability":"mutable","name":"p0","nameLocation":"58684:2:16","nodeType":"VariableDeclaration","scope":24874,"src":"58676:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24852,"name":"address","nodeType":"ElementaryTypeName","src":"58676:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24855,"mutability":"mutable","name":"p1","nameLocation":"58696:2:16","nodeType":"VariableDeclaration","scope":24874,"src":"58688:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24854,"name":"uint256","nodeType":"ElementaryTypeName","src":"58688:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24857,"mutability":"mutable","name":"p2","nameLocation":"58705:2:16","nodeType":"VariableDeclaration","scope":24874,"src":"58700:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24856,"name":"bool","nodeType":"ElementaryTypeName","src":"58700:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24859,"mutability":"mutable","name":"p3","nameLocation":"58723:2:16","nodeType":"VariableDeclaration","scope":24874,"src":"58709:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24858,"name":"string","nodeType":"ElementaryTypeName","src":"58709:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58675:51:16"},"returnParameters":{"id":24861,"nodeType":"ParameterList","parameters":[],"src":"58741:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24897,"nodeType":"FunctionDefinition","src":"58856:176:16","nodes":[],"body":{"id":24896,"nodeType":"Block","src":"58925:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c626f6f6c29","id":24888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58975:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_3bf5e5379bfb03415fbd47322e912c55a56b102cc24fbed41ca848047f460ae7","typeString":"literal_string \"log(address,uint256,bool,bool)\""},"value":"log(address,uint256,bool,bool)"},{"id":24889,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24876,"src":"59009:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24890,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24878,"src":"59013:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24891,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24880,"src":"59017:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24892,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24882,"src":"59021:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3bf5e5379bfb03415fbd47322e912c55a56b102cc24fbed41ca848047f460ae7","typeString":"literal_string \"log(address,uint256,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24886,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58951:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24887,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58955:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58951:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58951:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24885,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"58935:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58935:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24895,"nodeType":"ExpressionStatement","src":"58935:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58865:3:16","parameters":{"id":24883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24876,"mutability":"mutable","name":"p0","nameLocation":"58877:2:16","nodeType":"VariableDeclaration","scope":24897,"src":"58869:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24875,"name":"address","nodeType":"ElementaryTypeName","src":"58869:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24878,"mutability":"mutable","name":"p1","nameLocation":"58889:2:16","nodeType":"VariableDeclaration","scope":24897,"src":"58881:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24877,"name":"uint256","nodeType":"ElementaryTypeName","src":"58881:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24880,"mutability":"mutable","name":"p2","nameLocation":"58898:2:16","nodeType":"VariableDeclaration","scope":24897,"src":"58893:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24879,"name":"bool","nodeType":"ElementaryTypeName","src":"58893:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24882,"mutability":"mutable","name":"p3","nameLocation":"58907:2:16","nodeType":"VariableDeclaration","scope":24897,"src":"58902:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24881,"name":"bool","nodeType":"ElementaryTypeName","src":"58902:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"58868:42:16"},"returnParameters":{"id":24884,"nodeType":"ParameterList","parameters":[],"src":"58925:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24920,"nodeType":"FunctionDefinition","src":"59038:182:16","nodes":[],"body":{"id":24919,"nodeType":"Block","src":"59110:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c6164647265737329","id":24911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59160:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_a31bfdcce87cf9e77dc577737a291feb3aa727a8fbb8205e53519527c85ff290","typeString":"literal_string \"log(address,uint256,bool,address)\""},"value":"log(address,uint256,bool,address)"},{"id":24912,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24899,"src":"59197:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24913,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24901,"src":"59201:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24914,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24903,"src":"59205:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24915,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24905,"src":"59209:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a31bfdcce87cf9e77dc577737a291feb3aa727a8fbb8205e53519527c85ff290","typeString":"literal_string \"log(address,uint256,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24909,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59136:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59140:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59136:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59136:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24908,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"59120:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59120:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24918,"nodeType":"ExpressionStatement","src":"59120:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59047:3:16","parameters":{"id":24906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24899,"mutability":"mutable","name":"p0","nameLocation":"59059:2:16","nodeType":"VariableDeclaration","scope":24920,"src":"59051:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24898,"name":"address","nodeType":"ElementaryTypeName","src":"59051:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24901,"mutability":"mutable","name":"p1","nameLocation":"59071:2:16","nodeType":"VariableDeclaration","scope":24920,"src":"59063:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24900,"name":"uint256","nodeType":"ElementaryTypeName","src":"59063:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24903,"mutability":"mutable","name":"p2","nameLocation":"59080:2:16","nodeType":"VariableDeclaration","scope":24920,"src":"59075:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24902,"name":"bool","nodeType":"ElementaryTypeName","src":"59075:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24905,"mutability":"mutable","name":"p3","nameLocation":"59092:2:16","nodeType":"VariableDeclaration","scope":24920,"src":"59084:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24904,"name":"address","nodeType":"ElementaryTypeName","src":"59084:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"59050:45:16"},"returnParameters":{"id":24907,"nodeType":"ParameterList","parameters":[],"src":"59110:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24943,"nodeType":"FunctionDefinition","src":"59226:188:16","nodes":[],"body":{"id":24942,"nodeType":"Block","src":"59301:113:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c75696e7432353629","id":24934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59351:38:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_100f650ebf81cb406bb4fb842e06128992c5a86986b0eab3b9e965c3254516e6","typeString":"literal_string \"log(address,uint256,address,uint256)\""},"value":"log(address,uint256,address,uint256)"},{"id":24935,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24922,"src":"59391:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24936,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24924,"src":"59395:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24937,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24926,"src":"59399:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24938,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24928,"src":"59403:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_100f650ebf81cb406bb4fb842e06128992c5a86986b0eab3b9e965c3254516e6","typeString":"literal_string \"log(address,uint256,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24932,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59327:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24933,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59331:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59327:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59327:79:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24931,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"59311:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59311:96:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24941,"nodeType":"ExpressionStatement","src":"59311:96:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59235:3:16","parameters":{"id":24929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24922,"mutability":"mutable","name":"p0","nameLocation":"59247:2:16","nodeType":"VariableDeclaration","scope":24943,"src":"59239:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24921,"name":"address","nodeType":"ElementaryTypeName","src":"59239:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24924,"mutability":"mutable","name":"p1","nameLocation":"59259:2:16","nodeType":"VariableDeclaration","scope":24943,"src":"59251:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24923,"name":"uint256","nodeType":"ElementaryTypeName","src":"59251:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24926,"mutability":"mutable","name":"p2","nameLocation":"59271:2:16","nodeType":"VariableDeclaration","scope":24943,"src":"59263:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24925,"name":"address","nodeType":"ElementaryTypeName","src":"59263:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24928,"mutability":"mutable","name":"p3","nameLocation":"59283:2:16","nodeType":"VariableDeclaration","scope":24943,"src":"59275:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24927,"name":"uint256","nodeType":"ElementaryTypeName","src":"59275:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"59238:48:16"},"returnParameters":{"id":24930,"nodeType":"ParameterList","parameters":[],"src":"59301:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24966,"nodeType":"FunctionDefinition","src":"59420:193:16","nodes":[],"body":{"id":24965,"nodeType":"Block","src":"59501:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c737472696e6729","id":24957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59551:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_1da986ea2505037a166dd31728d673db1dd36bf0935c0201f0d23934a6acafdb","typeString":"literal_string \"log(address,uint256,address,string)\""},"value":"log(address,uint256,address,string)"},{"id":24958,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24945,"src":"59590:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24959,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24947,"src":"59594:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24960,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24949,"src":"59598:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24961,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24951,"src":"59602:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1da986ea2505037a166dd31728d673db1dd36bf0935c0201f0d23934a6acafdb","typeString":"literal_string \"log(address,uint256,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24955,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59527:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24956,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59531:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59527:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59527:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24954,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"59511:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59511:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24964,"nodeType":"ExpressionStatement","src":"59511:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59429:3:16","parameters":{"id":24952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24945,"mutability":"mutable","name":"p0","nameLocation":"59441:2:16","nodeType":"VariableDeclaration","scope":24966,"src":"59433:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24944,"name":"address","nodeType":"ElementaryTypeName","src":"59433:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24947,"mutability":"mutable","name":"p1","nameLocation":"59453:2:16","nodeType":"VariableDeclaration","scope":24966,"src":"59445:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24946,"name":"uint256","nodeType":"ElementaryTypeName","src":"59445:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24949,"mutability":"mutable","name":"p2","nameLocation":"59465:2:16","nodeType":"VariableDeclaration","scope":24966,"src":"59457:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24948,"name":"address","nodeType":"ElementaryTypeName","src":"59457:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24951,"mutability":"mutable","name":"p3","nameLocation":"59483:2:16","nodeType":"VariableDeclaration","scope":24966,"src":"59469:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24950,"name":"string","nodeType":"ElementaryTypeName","src":"59469:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59432:54:16"},"returnParameters":{"id":24953,"nodeType":"ParameterList","parameters":[],"src":"59501:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":24989,"nodeType":"FunctionDefinition","src":"59619:182:16","nodes":[],"body":{"id":24988,"nodeType":"Block","src":"59691:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c626f6f6c29","id":24980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59741:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1bcc9b3f106a0ac6ebf0cd2eda5f636e4ab1afa891b1acb460dd180f14bb322","typeString":"literal_string \"log(address,uint256,address,bool)\""},"value":"log(address,uint256,address,bool)"},{"id":24981,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24968,"src":"59778:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24982,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24970,"src":"59782:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24983,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24972,"src":"59786:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24984,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24974,"src":"59790:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1bcc9b3f106a0ac6ebf0cd2eda5f636e4ab1afa891b1acb460dd180f14bb322","typeString":"literal_string \"log(address,uint256,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24978,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59717:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59721:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59717:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59717:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24977,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"59701:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":24986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59701:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24987,"nodeType":"ExpressionStatement","src":"59701:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59628:3:16","parameters":{"id":24975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24968,"mutability":"mutable","name":"p0","nameLocation":"59640:2:16","nodeType":"VariableDeclaration","scope":24989,"src":"59632:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24967,"name":"address","nodeType":"ElementaryTypeName","src":"59632:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24970,"mutability":"mutable","name":"p1","nameLocation":"59652:2:16","nodeType":"VariableDeclaration","scope":24989,"src":"59644:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24969,"name":"uint256","nodeType":"ElementaryTypeName","src":"59644:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24972,"mutability":"mutable","name":"p2","nameLocation":"59664:2:16","nodeType":"VariableDeclaration","scope":24989,"src":"59656:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24971,"name":"address","nodeType":"ElementaryTypeName","src":"59656:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24974,"mutability":"mutable","name":"p3","nameLocation":"59673:2:16","nodeType":"VariableDeclaration","scope":24989,"src":"59668:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24973,"name":"bool","nodeType":"ElementaryTypeName","src":"59668:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"59631:45:16"},"returnParameters":{"id":24976,"nodeType":"ParameterList","parameters":[],"src":"59691:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25012,"nodeType":"FunctionDefinition","src":"59807:188:16","nodes":[],"body":{"id":25011,"nodeType":"Block","src":"59882:113:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c6164647265737329","id":25003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59932:38:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_478d1c625a50f0548fbd6ce5c9463f034dc2ce146c930b3546dac402346457d4","typeString":"literal_string \"log(address,uint256,address,address)\""},"value":"log(address,uint256,address,address)"},{"id":25004,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24991,"src":"59972:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25005,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24993,"src":"59976:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25006,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24995,"src":"59980:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25007,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24997,"src":"59984:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_478d1c625a50f0548fbd6ce5c9463f034dc2ce146c930b3546dac402346457d4","typeString":"literal_string \"log(address,uint256,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25001,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59908:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59912:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59908:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59908:79:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25000,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"59892:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59892:96:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25010,"nodeType":"ExpressionStatement","src":"59892:96:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59816:3:16","parameters":{"id":24998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24991,"mutability":"mutable","name":"p0","nameLocation":"59828:2:16","nodeType":"VariableDeclaration","scope":25012,"src":"59820:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24990,"name":"address","nodeType":"ElementaryTypeName","src":"59820:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24993,"mutability":"mutable","name":"p1","nameLocation":"59840:2:16","nodeType":"VariableDeclaration","scope":25012,"src":"59832:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24992,"name":"uint256","nodeType":"ElementaryTypeName","src":"59832:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24995,"mutability":"mutable","name":"p2","nameLocation":"59852:2:16","nodeType":"VariableDeclaration","scope":25012,"src":"59844:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24994,"name":"address","nodeType":"ElementaryTypeName","src":"59844:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24997,"mutability":"mutable","name":"p3","nameLocation":"59864:2:16","nodeType":"VariableDeclaration","scope":25012,"src":"59856:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24996,"name":"address","nodeType":"ElementaryTypeName","src":"59856:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"59819:48:16"},"returnParameters":{"id":24999,"nodeType":"ParameterList","parameters":[],"src":"59882:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25035,"nodeType":"FunctionDefinition","src":"60001:193:16","nodes":[],"body":{"id":25034,"nodeType":"Block","src":"60082:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c75696e7432353629","id":25026,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60132:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_1dc8e1b86f5e8cc33f88f9c9577316d392566cde443e43069eebe8e56a0a0562","typeString":"literal_string \"log(address,string,uint256,uint256)\""},"value":"log(address,string,uint256,uint256)"},{"id":25027,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25014,"src":"60171:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25028,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25016,"src":"60175:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25029,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25018,"src":"60179:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25030,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25020,"src":"60183:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1dc8e1b86f5e8cc33f88f9c9577316d392566cde443e43069eebe8e56a0a0562","typeString":"literal_string \"log(address,string,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25024,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60108:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60112:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60108:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60108:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25023,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"60092:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60092:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25033,"nodeType":"ExpressionStatement","src":"60092:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60010:3:16","parameters":{"id":25021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25014,"mutability":"mutable","name":"p0","nameLocation":"60022:2:16","nodeType":"VariableDeclaration","scope":25035,"src":"60014:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25013,"name":"address","nodeType":"ElementaryTypeName","src":"60014:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25016,"mutability":"mutable","name":"p1","nameLocation":"60040:2:16","nodeType":"VariableDeclaration","scope":25035,"src":"60026:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25015,"name":"string","nodeType":"ElementaryTypeName","src":"60026:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25018,"mutability":"mutable","name":"p2","nameLocation":"60052:2:16","nodeType":"VariableDeclaration","scope":25035,"src":"60044:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25017,"name":"uint256","nodeType":"ElementaryTypeName","src":"60044:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25020,"mutability":"mutable","name":"p3","nameLocation":"60064:2:16","nodeType":"VariableDeclaration","scope":25035,"src":"60056:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25019,"name":"uint256","nodeType":"ElementaryTypeName","src":"60056:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60013:54:16"},"returnParameters":{"id":25022,"nodeType":"ParameterList","parameters":[],"src":"60082:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25058,"nodeType":"FunctionDefinition","src":"60200:198:16","nodes":[],"body":{"id":25057,"nodeType":"Block","src":"60287:111:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c737472696e6729","id":25049,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60337:36:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_448830a8c1281c2ef562207eb8a81eaf8ce3a05f5db2e480f1a7741f740725d3","typeString":"literal_string \"log(address,string,uint256,string)\""},"value":"log(address,string,uint256,string)"},{"id":25050,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25037,"src":"60375:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25051,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25039,"src":"60379:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25052,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25041,"src":"60383:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25053,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25043,"src":"60387:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_448830a8c1281c2ef562207eb8a81eaf8ce3a05f5db2e480f1a7741f740725d3","typeString":"literal_string \"log(address,string,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25047,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60313:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25048,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60317:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60313:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60313:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25046,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"60297:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60297:94:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25056,"nodeType":"ExpressionStatement","src":"60297:94:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60209:3:16","parameters":{"id":25044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25037,"mutability":"mutable","name":"p0","nameLocation":"60221:2:16","nodeType":"VariableDeclaration","scope":25058,"src":"60213:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25036,"name":"address","nodeType":"ElementaryTypeName","src":"60213:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25039,"mutability":"mutable","name":"p1","nameLocation":"60239:2:16","nodeType":"VariableDeclaration","scope":25058,"src":"60225:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25038,"name":"string","nodeType":"ElementaryTypeName","src":"60225:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25041,"mutability":"mutable","name":"p2","nameLocation":"60251:2:16","nodeType":"VariableDeclaration","scope":25058,"src":"60243:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25040,"name":"uint256","nodeType":"ElementaryTypeName","src":"60243:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25043,"mutability":"mutable","name":"p3","nameLocation":"60269:2:16","nodeType":"VariableDeclaration","scope":25058,"src":"60255:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25042,"name":"string","nodeType":"ElementaryTypeName","src":"60255:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60212:60:16"},"returnParameters":{"id":25045,"nodeType":"ParameterList","parameters":[],"src":"60287:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25081,"nodeType":"FunctionDefinition","src":"60404:187:16","nodes":[],"body":{"id":25080,"nodeType":"Block","src":"60482:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c626f6f6c29","id":25072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60532:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_0ef7e050655c297a96024e476b2cd79b6c7fd3efbcd797a5d2723a888114ada4","typeString":"literal_string \"log(address,string,uint256,bool)\""},"value":"log(address,string,uint256,bool)"},{"id":25073,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25060,"src":"60568:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25074,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25062,"src":"60572:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25075,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25064,"src":"60576:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25076,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25066,"src":"60580:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0ef7e050655c297a96024e476b2cd79b6c7fd3efbcd797a5d2723a888114ada4","typeString":"literal_string \"log(address,string,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25070,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60508:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25071,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60512:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60508:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60508:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25069,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"60492:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60492:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25079,"nodeType":"ExpressionStatement","src":"60492:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60413:3:16","parameters":{"id":25067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25060,"mutability":"mutable","name":"p0","nameLocation":"60425:2:16","nodeType":"VariableDeclaration","scope":25081,"src":"60417:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25059,"name":"address","nodeType":"ElementaryTypeName","src":"60417:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25062,"mutability":"mutable","name":"p1","nameLocation":"60443:2:16","nodeType":"VariableDeclaration","scope":25081,"src":"60429:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25061,"name":"string","nodeType":"ElementaryTypeName","src":"60429:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25064,"mutability":"mutable","name":"p2","nameLocation":"60455:2:16","nodeType":"VariableDeclaration","scope":25081,"src":"60447:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25063,"name":"uint256","nodeType":"ElementaryTypeName","src":"60447:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25066,"mutability":"mutable","name":"p3","nameLocation":"60464:2:16","nodeType":"VariableDeclaration","scope":25081,"src":"60459:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25065,"name":"bool","nodeType":"ElementaryTypeName","src":"60459:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"60416:51:16"},"returnParameters":{"id":25068,"nodeType":"ParameterList","parameters":[],"src":"60482:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25104,"nodeType":"FunctionDefinition","src":"60597:193:16","nodes":[],"body":{"id":25103,"nodeType":"Block","src":"60678:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c6164647265737329","id":25095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60728:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_631836789e813227d6b1cf492359a1dbdd837663758bd3e55e319e4a730f0a18","typeString":"literal_string \"log(address,string,uint256,address)\""},"value":"log(address,string,uint256,address)"},{"id":25096,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25083,"src":"60767:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25097,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25085,"src":"60771:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25098,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25087,"src":"60775:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25099,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25089,"src":"60779:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_631836789e813227d6b1cf492359a1dbdd837663758bd3e55e319e4a730f0a18","typeString":"literal_string \"log(address,string,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25093,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60704:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60708:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60704:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60704:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25092,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"60688:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60688:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25102,"nodeType":"ExpressionStatement","src":"60688:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60606:3:16","parameters":{"id":25090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25083,"mutability":"mutable","name":"p0","nameLocation":"60618:2:16","nodeType":"VariableDeclaration","scope":25104,"src":"60610:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25082,"name":"address","nodeType":"ElementaryTypeName","src":"60610:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25085,"mutability":"mutable","name":"p1","nameLocation":"60636:2:16","nodeType":"VariableDeclaration","scope":25104,"src":"60622:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25084,"name":"string","nodeType":"ElementaryTypeName","src":"60622:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25087,"mutability":"mutable","name":"p2","nameLocation":"60648:2:16","nodeType":"VariableDeclaration","scope":25104,"src":"60640:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25086,"name":"uint256","nodeType":"ElementaryTypeName","src":"60640:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25089,"mutability":"mutable","name":"p3","nameLocation":"60660:2:16","nodeType":"VariableDeclaration","scope":25104,"src":"60652:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25088,"name":"address","nodeType":"ElementaryTypeName","src":"60652:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"60609:54:16"},"returnParameters":{"id":25091,"nodeType":"ParameterList","parameters":[],"src":"60678:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25127,"nodeType":"FunctionDefinition","src":"60796:198:16","nodes":[],"body":{"id":25126,"nodeType":"Block","src":"60883:111:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c75696e7432353629","id":25118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60933:36:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_159f89272dbf40436b74fcc844c992c1f5cc6a7cc05a9db80782be1a20a8f265","typeString":"literal_string \"log(address,string,string,uint256)\""},"value":"log(address,string,string,uint256)"},{"id":25119,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25106,"src":"60971:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25120,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25108,"src":"60975:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25121,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25110,"src":"60979:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25122,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25112,"src":"60983:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_159f89272dbf40436b74fcc844c992c1f5cc6a7cc05a9db80782be1a20a8f265","typeString":"literal_string \"log(address,string,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25116,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60909:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25117,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60913:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60909:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60909:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25115,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"60893:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60893:94:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25125,"nodeType":"ExpressionStatement","src":"60893:94:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60805:3:16","parameters":{"id":25113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25106,"mutability":"mutable","name":"p0","nameLocation":"60817:2:16","nodeType":"VariableDeclaration","scope":25127,"src":"60809:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25105,"name":"address","nodeType":"ElementaryTypeName","src":"60809:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25108,"mutability":"mutable","name":"p1","nameLocation":"60835:2:16","nodeType":"VariableDeclaration","scope":25127,"src":"60821:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25107,"name":"string","nodeType":"ElementaryTypeName","src":"60821:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25110,"mutability":"mutable","name":"p2","nameLocation":"60853:2:16","nodeType":"VariableDeclaration","scope":25127,"src":"60839:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25109,"name":"string","nodeType":"ElementaryTypeName","src":"60839:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25112,"mutability":"mutable","name":"p3","nameLocation":"60865:2:16","nodeType":"VariableDeclaration","scope":25127,"src":"60857:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25111,"name":"uint256","nodeType":"ElementaryTypeName","src":"60857:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60808:60:16"},"returnParameters":{"id":25114,"nodeType":"ParameterList","parameters":[],"src":"60883:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25150,"nodeType":"FunctionDefinition","src":"61000:203:16","nodes":[],"body":{"id":25149,"nodeType":"Block","src":"61093:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c737472696e6729","id":25141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61143:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c","typeString":"literal_string \"log(address,string,string,string)\""},"value":"log(address,string,string,string)"},{"id":25142,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25129,"src":"61180:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25143,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25131,"src":"61184:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25144,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25133,"src":"61188:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25145,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25135,"src":"61192:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c","typeString":"literal_string \"log(address,string,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25139,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61119:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61123:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61119:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61119:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25138,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"61103:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61103:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25148,"nodeType":"ExpressionStatement","src":"61103:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61009:3:16","parameters":{"id":25136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25129,"mutability":"mutable","name":"p0","nameLocation":"61021:2:16","nodeType":"VariableDeclaration","scope":25150,"src":"61013:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25128,"name":"address","nodeType":"ElementaryTypeName","src":"61013:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25131,"mutability":"mutable","name":"p1","nameLocation":"61039:2:16","nodeType":"VariableDeclaration","scope":25150,"src":"61025:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25130,"name":"string","nodeType":"ElementaryTypeName","src":"61025:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25133,"mutability":"mutable","name":"p2","nameLocation":"61057:2:16","nodeType":"VariableDeclaration","scope":25150,"src":"61043:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25132,"name":"string","nodeType":"ElementaryTypeName","src":"61043:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25135,"mutability":"mutable","name":"p3","nameLocation":"61075:2:16","nodeType":"VariableDeclaration","scope":25150,"src":"61061:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25134,"name":"string","nodeType":"ElementaryTypeName","src":"61061:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61012:66:16"},"returnParameters":{"id":25137,"nodeType":"ParameterList","parameters":[],"src":"61093:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25173,"nodeType":"FunctionDefinition","src":"61209:192:16","nodes":[],"body":{"id":25172,"nodeType":"Block","src":"61293:108:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c626f6f6c29","id":25164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61343:33:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed","typeString":"literal_string \"log(address,string,string,bool)\""},"value":"log(address,string,string,bool)"},{"id":25165,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25152,"src":"61378:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25166,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25154,"src":"61382:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25167,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25156,"src":"61386:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25168,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25158,"src":"61390:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed","typeString":"literal_string \"log(address,string,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25162,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61319:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61323:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61319:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61319:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25161,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"61303:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61303:91:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25171,"nodeType":"ExpressionStatement","src":"61303:91:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61218:3:16","parameters":{"id":25159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25152,"mutability":"mutable","name":"p0","nameLocation":"61230:2:16","nodeType":"VariableDeclaration","scope":25173,"src":"61222:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25151,"name":"address","nodeType":"ElementaryTypeName","src":"61222:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25154,"mutability":"mutable","name":"p1","nameLocation":"61248:2:16","nodeType":"VariableDeclaration","scope":25173,"src":"61234:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25153,"name":"string","nodeType":"ElementaryTypeName","src":"61234:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25156,"mutability":"mutable","name":"p2","nameLocation":"61266:2:16","nodeType":"VariableDeclaration","scope":25173,"src":"61252:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25155,"name":"string","nodeType":"ElementaryTypeName","src":"61252:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25158,"mutability":"mutable","name":"p3","nameLocation":"61275:2:16","nodeType":"VariableDeclaration","scope":25173,"src":"61270:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25157,"name":"bool","nodeType":"ElementaryTypeName","src":"61270:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"61221:57:16"},"returnParameters":{"id":25160,"nodeType":"ParameterList","parameters":[],"src":"61293:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25196,"nodeType":"FunctionDefinition","src":"61407:198:16","nodes":[],"body":{"id":25195,"nodeType":"Block","src":"61494:111:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c6164647265737329","id":25187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61544:36:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f","typeString":"literal_string \"log(address,string,string,address)\""},"value":"log(address,string,string,address)"},{"id":25188,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25175,"src":"61582:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25189,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25177,"src":"61586:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25190,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25179,"src":"61590:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25191,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25181,"src":"61594:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f","typeString":"literal_string \"log(address,string,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25185,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61520:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61524:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61520:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61520:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25184,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"61504:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61504:94:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25194,"nodeType":"ExpressionStatement","src":"61504:94:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61416:3:16","parameters":{"id":25182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25175,"mutability":"mutable","name":"p0","nameLocation":"61428:2:16","nodeType":"VariableDeclaration","scope":25196,"src":"61420:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25174,"name":"address","nodeType":"ElementaryTypeName","src":"61420:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25177,"mutability":"mutable","name":"p1","nameLocation":"61446:2:16","nodeType":"VariableDeclaration","scope":25196,"src":"61432:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25176,"name":"string","nodeType":"ElementaryTypeName","src":"61432:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25179,"mutability":"mutable","name":"p2","nameLocation":"61464:2:16","nodeType":"VariableDeclaration","scope":25196,"src":"61450:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25178,"name":"string","nodeType":"ElementaryTypeName","src":"61450:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25181,"mutability":"mutable","name":"p3","nameLocation":"61476:2:16","nodeType":"VariableDeclaration","scope":25196,"src":"61468:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25180,"name":"address","nodeType":"ElementaryTypeName","src":"61468:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"61419:60:16"},"returnParameters":{"id":25183,"nodeType":"ParameterList","parameters":[],"src":"61494:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25219,"nodeType":"FunctionDefinition","src":"61611:187:16","nodes":[],"body":{"id":25218,"nodeType":"Block","src":"61689:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c75696e7432353629","id":25210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61739:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_515e38b61b40d622a4c0448953be005b3991f6a70155c59b5dca42a264aa0345","typeString":"literal_string \"log(address,string,bool,uint256)\""},"value":"log(address,string,bool,uint256)"},{"id":25211,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25198,"src":"61775:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25212,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25200,"src":"61779:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25213,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25202,"src":"61783:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25214,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25204,"src":"61787:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_515e38b61b40d622a4c0448953be005b3991f6a70155c59b5dca42a264aa0345","typeString":"literal_string \"log(address,string,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25208,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61715:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25209,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61719:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61715:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61715:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25207,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"61699:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61699:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25217,"nodeType":"ExpressionStatement","src":"61699:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61620:3:16","parameters":{"id":25205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25198,"mutability":"mutable","name":"p0","nameLocation":"61632:2:16","nodeType":"VariableDeclaration","scope":25219,"src":"61624:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25197,"name":"address","nodeType":"ElementaryTypeName","src":"61624:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25200,"mutability":"mutable","name":"p1","nameLocation":"61650:2:16","nodeType":"VariableDeclaration","scope":25219,"src":"61636:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25199,"name":"string","nodeType":"ElementaryTypeName","src":"61636:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25202,"mutability":"mutable","name":"p2","nameLocation":"61659:2:16","nodeType":"VariableDeclaration","scope":25219,"src":"61654:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25201,"name":"bool","nodeType":"ElementaryTypeName","src":"61654:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25204,"mutability":"mutable","name":"p3","nameLocation":"61671:2:16","nodeType":"VariableDeclaration","scope":25219,"src":"61663:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25203,"name":"uint256","nodeType":"ElementaryTypeName","src":"61663:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"61623:51:16"},"returnParameters":{"id":25206,"nodeType":"ParameterList","parameters":[],"src":"61689:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25242,"nodeType":"FunctionDefinition","src":"61804:192:16","nodes":[],"body":{"id":25241,"nodeType":"Block","src":"61888:108:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c737472696e6729","id":25233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61938:33:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc","typeString":"literal_string \"log(address,string,bool,string)\""},"value":"log(address,string,bool,string)"},{"id":25234,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25221,"src":"61973:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25235,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25223,"src":"61977:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25236,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25225,"src":"61981:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25237,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25227,"src":"61985:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc","typeString":"literal_string \"log(address,string,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25231,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61914:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25232,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61918:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61914:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61914:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25230,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"61898:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61898:91:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25240,"nodeType":"ExpressionStatement","src":"61898:91:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61813:3:16","parameters":{"id":25228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25221,"mutability":"mutable","name":"p0","nameLocation":"61825:2:16","nodeType":"VariableDeclaration","scope":25242,"src":"61817:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25220,"name":"address","nodeType":"ElementaryTypeName","src":"61817:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25223,"mutability":"mutable","name":"p1","nameLocation":"61843:2:16","nodeType":"VariableDeclaration","scope":25242,"src":"61829:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25222,"name":"string","nodeType":"ElementaryTypeName","src":"61829:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25225,"mutability":"mutable","name":"p2","nameLocation":"61852:2:16","nodeType":"VariableDeclaration","scope":25242,"src":"61847:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25224,"name":"bool","nodeType":"ElementaryTypeName","src":"61847:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25227,"mutability":"mutable","name":"p3","nameLocation":"61870:2:16","nodeType":"VariableDeclaration","scope":25242,"src":"61856:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25226,"name":"string","nodeType":"ElementaryTypeName","src":"61856:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61816:57:16"},"returnParameters":{"id":25229,"nodeType":"ParameterList","parameters":[],"src":"61888:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25265,"nodeType":"FunctionDefinition","src":"62002:181:16","nodes":[],"body":{"id":25264,"nodeType":"Block","src":"62077:106:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c626f6f6c29","id":25256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62127:31:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08","typeString":"literal_string \"log(address,string,bool,bool)\""},"value":"log(address,string,bool,bool)"},{"id":25257,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25244,"src":"62160:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25258,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25246,"src":"62164:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25259,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25248,"src":"62168:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25260,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25250,"src":"62172:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08","typeString":"literal_string \"log(address,string,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25254,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62103:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62107:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62103:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62103:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25253,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"62087:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62087:89:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25263,"nodeType":"ExpressionStatement","src":"62087:89:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62011:3:16","parameters":{"id":25251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25244,"mutability":"mutable","name":"p0","nameLocation":"62023:2:16","nodeType":"VariableDeclaration","scope":25265,"src":"62015:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25243,"name":"address","nodeType":"ElementaryTypeName","src":"62015:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25246,"mutability":"mutable","name":"p1","nameLocation":"62041:2:16","nodeType":"VariableDeclaration","scope":25265,"src":"62027:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25245,"name":"string","nodeType":"ElementaryTypeName","src":"62027:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25248,"mutability":"mutable","name":"p2","nameLocation":"62050:2:16","nodeType":"VariableDeclaration","scope":25265,"src":"62045:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25247,"name":"bool","nodeType":"ElementaryTypeName","src":"62045:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25250,"mutability":"mutable","name":"p3","nameLocation":"62059:2:16","nodeType":"VariableDeclaration","scope":25265,"src":"62054:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25249,"name":"bool","nodeType":"ElementaryTypeName","src":"62054:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"62014:48:16"},"returnParameters":{"id":25252,"nodeType":"ParameterList","parameters":[],"src":"62077:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25288,"nodeType":"FunctionDefinition","src":"62189:187:16","nodes":[],"body":{"id":25287,"nodeType":"Block","src":"62267:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c6164647265737329","id":25279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62317:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970","typeString":"literal_string \"log(address,string,bool,address)\""},"value":"log(address,string,bool,address)"},{"id":25280,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25267,"src":"62353:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25281,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25269,"src":"62357:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25282,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25271,"src":"62361:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25283,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25273,"src":"62365:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970","typeString":"literal_string \"log(address,string,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25277,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62293:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25278,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62297:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62293:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62293:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25276,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"62277:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62277:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25286,"nodeType":"ExpressionStatement","src":"62277:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62198:3:16","parameters":{"id":25274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25267,"mutability":"mutable","name":"p0","nameLocation":"62210:2:16","nodeType":"VariableDeclaration","scope":25288,"src":"62202:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25266,"name":"address","nodeType":"ElementaryTypeName","src":"62202:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25269,"mutability":"mutable","name":"p1","nameLocation":"62228:2:16","nodeType":"VariableDeclaration","scope":25288,"src":"62214:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25268,"name":"string","nodeType":"ElementaryTypeName","src":"62214:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25271,"mutability":"mutable","name":"p2","nameLocation":"62237:2:16","nodeType":"VariableDeclaration","scope":25288,"src":"62232:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25270,"name":"bool","nodeType":"ElementaryTypeName","src":"62232:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25273,"mutability":"mutable","name":"p3","nameLocation":"62249:2:16","nodeType":"VariableDeclaration","scope":25288,"src":"62241:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25272,"name":"address","nodeType":"ElementaryTypeName","src":"62241:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"62201:51:16"},"returnParameters":{"id":25275,"nodeType":"ParameterList","parameters":[],"src":"62267:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25311,"nodeType":"FunctionDefinition","src":"62382:193:16","nodes":[],"body":{"id":25310,"nodeType":"Block","src":"62463:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c75696e7432353629","id":25302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62513:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_457fe3cf7da0d45ce051e53ef9adc21213d4d7779b5a0fadf99dea432be4beb7","typeString":"literal_string \"log(address,string,address,uint256)\""},"value":"log(address,string,address,uint256)"},{"id":25303,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25290,"src":"62552:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25304,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25292,"src":"62556:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25305,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25294,"src":"62560:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25306,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25296,"src":"62564:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_457fe3cf7da0d45ce051e53ef9adc21213d4d7779b5a0fadf99dea432be4beb7","typeString":"literal_string \"log(address,string,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25300,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62489:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25301,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62493:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62489:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62489:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25299,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"62473:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62473:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25309,"nodeType":"ExpressionStatement","src":"62473:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62391:3:16","parameters":{"id":25297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25290,"mutability":"mutable","name":"p0","nameLocation":"62403:2:16","nodeType":"VariableDeclaration","scope":25311,"src":"62395:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25289,"name":"address","nodeType":"ElementaryTypeName","src":"62395:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25292,"mutability":"mutable","name":"p1","nameLocation":"62421:2:16","nodeType":"VariableDeclaration","scope":25311,"src":"62407:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25291,"name":"string","nodeType":"ElementaryTypeName","src":"62407:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25294,"mutability":"mutable","name":"p2","nameLocation":"62433:2:16","nodeType":"VariableDeclaration","scope":25311,"src":"62425:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25293,"name":"address","nodeType":"ElementaryTypeName","src":"62425:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25296,"mutability":"mutable","name":"p3","nameLocation":"62445:2:16","nodeType":"VariableDeclaration","scope":25311,"src":"62437:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25295,"name":"uint256","nodeType":"ElementaryTypeName","src":"62437:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"62394:54:16"},"returnParameters":{"id":25298,"nodeType":"ParameterList","parameters":[],"src":"62463:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25334,"nodeType":"FunctionDefinition","src":"62581:198:16","nodes":[],"body":{"id":25333,"nodeType":"Block","src":"62668:111:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c737472696e6729","id":25325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62718:36:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea","typeString":"literal_string \"log(address,string,address,string)\""},"value":"log(address,string,address,string)"},{"id":25326,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25313,"src":"62756:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25327,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25315,"src":"62760:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25328,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25317,"src":"62764:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25329,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25319,"src":"62768:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea","typeString":"literal_string \"log(address,string,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25323,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62694:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25324,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62698:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62694:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62694:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25322,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"62678:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62678:94:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25332,"nodeType":"ExpressionStatement","src":"62678:94:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62590:3:16","parameters":{"id":25320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25313,"mutability":"mutable","name":"p0","nameLocation":"62602:2:16","nodeType":"VariableDeclaration","scope":25334,"src":"62594:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25312,"name":"address","nodeType":"ElementaryTypeName","src":"62594:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25315,"mutability":"mutable","name":"p1","nameLocation":"62620:2:16","nodeType":"VariableDeclaration","scope":25334,"src":"62606:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25314,"name":"string","nodeType":"ElementaryTypeName","src":"62606:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25317,"mutability":"mutable","name":"p2","nameLocation":"62632:2:16","nodeType":"VariableDeclaration","scope":25334,"src":"62624:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25316,"name":"address","nodeType":"ElementaryTypeName","src":"62624:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25319,"mutability":"mutable","name":"p3","nameLocation":"62650:2:16","nodeType":"VariableDeclaration","scope":25334,"src":"62636:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25318,"name":"string","nodeType":"ElementaryTypeName","src":"62636:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62593:60:16"},"returnParameters":{"id":25321,"nodeType":"ParameterList","parameters":[],"src":"62668:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25357,"nodeType":"FunctionDefinition","src":"62785:187:16","nodes":[],"body":{"id":25356,"nodeType":"Block","src":"62863:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c626f6f6c29","id":25348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62913:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081","typeString":"literal_string \"log(address,string,address,bool)\""},"value":"log(address,string,address,bool)"},{"id":25349,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25336,"src":"62949:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25350,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25338,"src":"62953:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25351,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25340,"src":"62957:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25352,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25342,"src":"62961:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081","typeString":"literal_string \"log(address,string,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25346,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62889:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25347,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62893:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62889:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62889:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25345,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"62873:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62873:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25355,"nodeType":"ExpressionStatement","src":"62873:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62794:3:16","parameters":{"id":25343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25336,"mutability":"mutable","name":"p0","nameLocation":"62806:2:16","nodeType":"VariableDeclaration","scope":25357,"src":"62798:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25335,"name":"address","nodeType":"ElementaryTypeName","src":"62798:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25338,"mutability":"mutable","name":"p1","nameLocation":"62824:2:16","nodeType":"VariableDeclaration","scope":25357,"src":"62810:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25337,"name":"string","nodeType":"ElementaryTypeName","src":"62810:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25340,"mutability":"mutable","name":"p2","nameLocation":"62836:2:16","nodeType":"VariableDeclaration","scope":25357,"src":"62828:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25339,"name":"address","nodeType":"ElementaryTypeName","src":"62828:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25342,"mutability":"mutable","name":"p3","nameLocation":"62845:2:16","nodeType":"VariableDeclaration","scope":25357,"src":"62840:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25341,"name":"bool","nodeType":"ElementaryTypeName","src":"62840:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"62797:51:16"},"returnParameters":{"id":25344,"nodeType":"ParameterList","parameters":[],"src":"62863:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25380,"nodeType":"FunctionDefinition","src":"62978:193:16","nodes":[],"body":{"id":25379,"nodeType":"Block","src":"63059:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c6164647265737329","id":25371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63109:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121","typeString":"literal_string \"log(address,string,address,address)\""},"value":"log(address,string,address,address)"},{"id":25372,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25359,"src":"63148:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25373,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25361,"src":"63152:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25374,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25363,"src":"63156:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25375,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25365,"src":"63160:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121","typeString":"literal_string \"log(address,string,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25369,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63085:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25370,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63089:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63085:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63085:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25368,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"63069:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63069:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25378,"nodeType":"ExpressionStatement","src":"63069:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62987:3:16","parameters":{"id":25366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25359,"mutability":"mutable","name":"p0","nameLocation":"62999:2:16","nodeType":"VariableDeclaration","scope":25380,"src":"62991:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25358,"name":"address","nodeType":"ElementaryTypeName","src":"62991:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25361,"mutability":"mutable","name":"p1","nameLocation":"63017:2:16","nodeType":"VariableDeclaration","scope":25380,"src":"63003:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25360,"name":"string","nodeType":"ElementaryTypeName","src":"63003:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25363,"mutability":"mutable","name":"p2","nameLocation":"63029:2:16","nodeType":"VariableDeclaration","scope":25380,"src":"63021:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25362,"name":"address","nodeType":"ElementaryTypeName","src":"63021:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25365,"mutability":"mutable","name":"p3","nameLocation":"63041:2:16","nodeType":"VariableDeclaration","scope":25380,"src":"63033:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25364,"name":"address","nodeType":"ElementaryTypeName","src":"63033:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"62990:54:16"},"returnParameters":{"id":25367,"nodeType":"ParameterList","parameters":[],"src":"63059:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25403,"nodeType":"FunctionDefinition","src":"63177:182:16","nodes":[],"body":{"id":25402,"nodeType":"Block","src":"63249:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c75696e7432353629","id":25394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63299:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_386ff5f4530ea008cf639214e5b8a55077ec58314989bc72a4ee1f3ffe9617a4","typeString":"literal_string \"log(address,bool,uint256,uint256)\""},"value":"log(address,bool,uint256,uint256)"},{"id":25395,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25382,"src":"63336:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25396,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25384,"src":"63340:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25397,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25386,"src":"63344:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25398,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25388,"src":"63348:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_386ff5f4530ea008cf639214e5b8a55077ec58314989bc72a4ee1f3ffe9617a4","typeString":"literal_string \"log(address,bool,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25392,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63275:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25393,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63279:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63275:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63275:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25391,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"63259:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63259:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25401,"nodeType":"ExpressionStatement","src":"63259:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63186:3:16","parameters":{"id":25389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25382,"mutability":"mutable","name":"p0","nameLocation":"63198:2:16","nodeType":"VariableDeclaration","scope":25403,"src":"63190:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25381,"name":"address","nodeType":"ElementaryTypeName","src":"63190:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25384,"mutability":"mutable","name":"p1","nameLocation":"63207:2:16","nodeType":"VariableDeclaration","scope":25403,"src":"63202:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25383,"name":"bool","nodeType":"ElementaryTypeName","src":"63202:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25386,"mutability":"mutable","name":"p2","nameLocation":"63219:2:16","nodeType":"VariableDeclaration","scope":25403,"src":"63211:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25385,"name":"uint256","nodeType":"ElementaryTypeName","src":"63211:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25388,"mutability":"mutable","name":"p3","nameLocation":"63231:2:16","nodeType":"VariableDeclaration","scope":25403,"src":"63223:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25387,"name":"uint256","nodeType":"ElementaryTypeName","src":"63223:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"63189:45:16"},"returnParameters":{"id":25390,"nodeType":"ParameterList","parameters":[],"src":"63249:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25426,"nodeType":"FunctionDefinition","src":"63365:187:16","nodes":[],"body":{"id":25425,"nodeType":"Block","src":"63443:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c737472696e6729","id":25417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63493:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_0aa6cfad2c268cd387390ada6d4a75b3aa3e38d6511517eb59fcd07a90f9c283","typeString":"literal_string \"log(address,bool,uint256,string)\""},"value":"log(address,bool,uint256,string)"},{"id":25418,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25405,"src":"63529:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25419,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25407,"src":"63533:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25420,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25409,"src":"63537:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25421,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25411,"src":"63541:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0aa6cfad2c268cd387390ada6d4a75b3aa3e38d6511517eb59fcd07a90f9c283","typeString":"literal_string \"log(address,bool,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25415,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63469:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63473:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63469:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63469:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25414,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"63453:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63453:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25424,"nodeType":"ExpressionStatement","src":"63453:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63374:3:16","parameters":{"id":25412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25405,"mutability":"mutable","name":"p0","nameLocation":"63386:2:16","nodeType":"VariableDeclaration","scope":25426,"src":"63378:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25404,"name":"address","nodeType":"ElementaryTypeName","src":"63378:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25407,"mutability":"mutable","name":"p1","nameLocation":"63395:2:16","nodeType":"VariableDeclaration","scope":25426,"src":"63390:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25406,"name":"bool","nodeType":"ElementaryTypeName","src":"63390:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25409,"mutability":"mutable","name":"p2","nameLocation":"63407:2:16","nodeType":"VariableDeclaration","scope":25426,"src":"63399:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25408,"name":"uint256","nodeType":"ElementaryTypeName","src":"63399:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25411,"mutability":"mutable","name":"p3","nameLocation":"63425:2:16","nodeType":"VariableDeclaration","scope":25426,"src":"63411:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25410,"name":"string","nodeType":"ElementaryTypeName","src":"63411:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63377:51:16"},"returnParameters":{"id":25413,"nodeType":"ParameterList","parameters":[],"src":"63443:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25449,"nodeType":"FunctionDefinition","src":"63558:176:16","nodes":[],"body":{"id":25448,"nodeType":"Block","src":"63627:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c626f6f6c29","id":25440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63677:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_c4643e20494ddb98fe78bc587bcecbcc7db255edcee8232992e8be9b00c4713c","typeString":"literal_string \"log(address,bool,uint256,bool)\""},"value":"log(address,bool,uint256,bool)"},{"id":25441,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25428,"src":"63711:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25442,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25430,"src":"63715:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25443,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25432,"src":"63719:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25444,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25434,"src":"63723:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c4643e20494ddb98fe78bc587bcecbcc7db255edcee8232992e8be9b00c4713c","typeString":"literal_string \"log(address,bool,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25438,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63653:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25439,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63657:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63653:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63653:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25437,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"63637:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63637:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25447,"nodeType":"ExpressionStatement","src":"63637:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63567:3:16","parameters":{"id":25435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25428,"mutability":"mutable","name":"p0","nameLocation":"63579:2:16","nodeType":"VariableDeclaration","scope":25449,"src":"63571:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25427,"name":"address","nodeType":"ElementaryTypeName","src":"63571:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25430,"mutability":"mutable","name":"p1","nameLocation":"63588:2:16","nodeType":"VariableDeclaration","scope":25449,"src":"63583:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25429,"name":"bool","nodeType":"ElementaryTypeName","src":"63583:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25432,"mutability":"mutable","name":"p2","nameLocation":"63600:2:16","nodeType":"VariableDeclaration","scope":25449,"src":"63592:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25431,"name":"uint256","nodeType":"ElementaryTypeName","src":"63592:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25434,"mutability":"mutable","name":"p3","nameLocation":"63609:2:16","nodeType":"VariableDeclaration","scope":25449,"src":"63604:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25433,"name":"bool","nodeType":"ElementaryTypeName","src":"63604:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"63570:42:16"},"returnParameters":{"id":25436,"nodeType":"ParameterList","parameters":[],"src":"63627:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25472,"nodeType":"FunctionDefinition","src":"63740:182:16","nodes":[],"body":{"id":25471,"nodeType":"Block","src":"63812:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c6164647265737329","id":25463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63862:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_ccf790a175b1b762ef5bfd3564f0b74c078f15eca08b8ee654a38a96a5ad2aee","typeString":"literal_string \"log(address,bool,uint256,address)\""},"value":"log(address,bool,uint256,address)"},{"id":25464,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25451,"src":"63899:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25465,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25453,"src":"63903:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25466,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25455,"src":"63907:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25467,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25457,"src":"63911:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ccf790a175b1b762ef5bfd3564f0b74c078f15eca08b8ee654a38a96a5ad2aee","typeString":"literal_string \"log(address,bool,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25461,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63838:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25462,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63842:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63838:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63838:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25460,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"63822:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63822:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25470,"nodeType":"ExpressionStatement","src":"63822:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63749:3:16","parameters":{"id":25458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25451,"mutability":"mutable","name":"p0","nameLocation":"63761:2:16","nodeType":"VariableDeclaration","scope":25472,"src":"63753:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25450,"name":"address","nodeType":"ElementaryTypeName","src":"63753:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25453,"mutability":"mutable","name":"p1","nameLocation":"63770:2:16","nodeType":"VariableDeclaration","scope":25472,"src":"63765:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25452,"name":"bool","nodeType":"ElementaryTypeName","src":"63765:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25455,"mutability":"mutable","name":"p2","nameLocation":"63782:2:16","nodeType":"VariableDeclaration","scope":25472,"src":"63774:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25454,"name":"uint256","nodeType":"ElementaryTypeName","src":"63774:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25457,"mutability":"mutable","name":"p3","nameLocation":"63794:2:16","nodeType":"VariableDeclaration","scope":25472,"src":"63786:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25456,"name":"address","nodeType":"ElementaryTypeName","src":"63786:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"63752:45:16"},"returnParameters":{"id":25459,"nodeType":"ParameterList","parameters":[],"src":"63812:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25495,"nodeType":"FunctionDefinition","src":"63928:187:16","nodes":[],"body":{"id":25494,"nodeType":"Block","src":"64006:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c75696e7432353629","id":25486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64056:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_80e6a20b48643c1f2494eae694f173a69e42da349d0e193e48fece80e869df69","typeString":"literal_string \"log(address,bool,string,uint256)\""},"value":"log(address,bool,string,uint256)"},{"id":25487,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25474,"src":"64092:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25488,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25476,"src":"64096:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25489,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25478,"src":"64100:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25490,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25480,"src":"64104:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_80e6a20b48643c1f2494eae694f173a69e42da349d0e193e48fece80e869df69","typeString":"literal_string \"log(address,bool,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25484,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64032:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25485,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64036:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64032:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64032:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25483,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"64016:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64016:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25493,"nodeType":"ExpressionStatement","src":"64016:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63937:3:16","parameters":{"id":25481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25474,"mutability":"mutable","name":"p0","nameLocation":"63949:2:16","nodeType":"VariableDeclaration","scope":25495,"src":"63941:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25473,"name":"address","nodeType":"ElementaryTypeName","src":"63941:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25476,"mutability":"mutable","name":"p1","nameLocation":"63958:2:16","nodeType":"VariableDeclaration","scope":25495,"src":"63953:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25475,"name":"bool","nodeType":"ElementaryTypeName","src":"63953:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25478,"mutability":"mutable","name":"p2","nameLocation":"63976:2:16","nodeType":"VariableDeclaration","scope":25495,"src":"63962:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25477,"name":"string","nodeType":"ElementaryTypeName","src":"63962:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25480,"mutability":"mutable","name":"p3","nameLocation":"63988:2:16","nodeType":"VariableDeclaration","scope":25495,"src":"63980:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25479,"name":"uint256","nodeType":"ElementaryTypeName","src":"63980:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"63940:51:16"},"returnParameters":{"id":25482,"nodeType":"ParameterList","parameters":[],"src":"64006:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25518,"nodeType":"FunctionDefinition","src":"64121:192:16","nodes":[],"body":{"id":25517,"nodeType":"Block","src":"64205:108:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c737472696e6729","id":25509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64255:33:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f","typeString":"literal_string \"log(address,bool,string,string)\""},"value":"log(address,bool,string,string)"},{"id":25510,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25497,"src":"64290:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25511,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25499,"src":"64294:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25512,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25501,"src":"64298:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25513,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25503,"src":"64302:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f","typeString":"literal_string \"log(address,bool,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25507,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64231:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25508,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64235:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64231:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64231:74:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25506,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"64215:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64215:91:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25516,"nodeType":"ExpressionStatement","src":"64215:91:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64130:3:16","parameters":{"id":25504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25497,"mutability":"mutable","name":"p0","nameLocation":"64142:2:16","nodeType":"VariableDeclaration","scope":25518,"src":"64134:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25496,"name":"address","nodeType":"ElementaryTypeName","src":"64134:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25499,"mutability":"mutable","name":"p1","nameLocation":"64151:2:16","nodeType":"VariableDeclaration","scope":25518,"src":"64146:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25498,"name":"bool","nodeType":"ElementaryTypeName","src":"64146:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25501,"mutability":"mutable","name":"p2","nameLocation":"64169:2:16","nodeType":"VariableDeclaration","scope":25518,"src":"64155:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25500,"name":"string","nodeType":"ElementaryTypeName","src":"64155:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25503,"mutability":"mutable","name":"p3","nameLocation":"64187:2:16","nodeType":"VariableDeclaration","scope":25518,"src":"64173:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25502,"name":"string","nodeType":"ElementaryTypeName","src":"64173:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64133:57:16"},"returnParameters":{"id":25505,"nodeType":"ParameterList","parameters":[],"src":"64205:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25541,"nodeType":"FunctionDefinition","src":"64319:181:16","nodes":[],"body":{"id":25540,"nodeType":"Block","src":"64394:106:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c626f6f6c29","id":25532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64444:31:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f","typeString":"literal_string \"log(address,bool,string,bool)\""},"value":"log(address,bool,string,bool)"},{"id":25533,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25520,"src":"64477:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25534,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25522,"src":"64481:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25535,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25524,"src":"64485:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25536,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25526,"src":"64489:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f","typeString":"literal_string \"log(address,bool,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25530,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64420:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25531,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64424:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64420:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64420:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25529,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"64404:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64404:89:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25539,"nodeType":"ExpressionStatement","src":"64404:89:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64328:3:16","parameters":{"id":25527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25520,"mutability":"mutable","name":"p0","nameLocation":"64340:2:16","nodeType":"VariableDeclaration","scope":25541,"src":"64332:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25519,"name":"address","nodeType":"ElementaryTypeName","src":"64332:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25522,"mutability":"mutable","name":"p1","nameLocation":"64349:2:16","nodeType":"VariableDeclaration","scope":25541,"src":"64344:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25521,"name":"bool","nodeType":"ElementaryTypeName","src":"64344:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25524,"mutability":"mutable","name":"p2","nameLocation":"64367:2:16","nodeType":"VariableDeclaration","scope":25541,"src":"64353:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25523,"name":"string","nodeType":"ElementaryTypeName","src":"64353:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25526,"mutability":"mutable","name":"p3","nameLocation":"64376:2:16","nodeType":"VariableDeclaration","scope":25541,"src":"64371:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25525,"name":"bool","nodeType":"ElementaryTypeName","src":"64371:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"64331:48:16"},"returnParameters":{"id":25528,"nodeType":"ParameterList","parameters":[],"src":"64394:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25564,"nodeType":"FunctionDefinition","src":"64506:187:16","nodes":[],"body":{"id":25563,"nodeType":"Block","src":"64584:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c6164647265737329","id":25555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64634:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc","typeString":"literal_string \"log(address,bool,string,address)\""},"value":"log(address,bool,string,address)"},{"id":25556,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25543,"src":"64670:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25557,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25545,"src":"64674:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25558,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25547,"src":"64678:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25559,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25549,"src":"64682:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc","typeString":"literal_string \"log(address,bool,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25553,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64610:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25554,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64614:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64610:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64610:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25552,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"64594:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64594:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25562,"nodeType":"ExpressionStatement","src":"64594:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64515:3:16","parameters":{"id":25550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25543,"mutability":"mutable","name":"p0","nameLocation":"64527:2:16","nodeType":"VariableDeclaration","scope":25564,"src":"64519:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25542,"name":"address","nodeType":"ElementaryTypeName","src":"64519:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25545,"mutability":"mutable","name":"p1","nameLocation":"64536:2:16","nodeType":"VariableDeclaration","scope":25564,"src":"64531:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25544,"name":"bool","nodeType":"ElementaryTypeName","src":"64531:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25547,"mutability":"mutable","name":"p2","nameLocation":"64554:2:16","nodeType":"VariableDeclaration","scope":25564,"src":"64540:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25546,"name":"string","nodeType":"ElementaryTypeName","src":"64540:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25549,"mutability":"mutable","name":"p3","nameLocation":"64566:2:16","nodeType":"VariableDeclaration","scope":25564,"src":"64558:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25548,"name":"address","nodeType":"ElementaryTypeName","src":"64558:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"64518:51:16"},"returnParameters":{"id":25551,"nodeType":"ParameterList","parameters":[],"src":"64584:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25587,"nodeType":"FunctionDefinition","src":"64699:176:16","nodes":[],"body":{"id":25586,"nodeType":"Block","src":"64768:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c75696e7432353629","id":25578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64818:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c4e5de62881fec144fb423112f08d23c6aca116363a7b195024519470acf22e","typeString":"literal_string \"log(address,bool,bool,uint256)\""},"value":"log(address,bool,bool,uint256)"},{"id":25579,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25566,"src":"64852:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25580,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25568,"src":"64856:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25581,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25570,"src":"64860:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25582,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25572,"src":"64864:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8c4e5de62881fec144fb423112f08d23c6aca116363a7b195024519470acf22e","typeString":"literal_string \"log(address,bool,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25576,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64794:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64798:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64794:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64794:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25575,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"64778:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64778:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25585,"nodeType":"ExpressionStatement","src":"64778:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64708:3:16","parameters":{"id":25573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25566,"mutability":"mutable","name":"p0","nameLocation":"64720:2:16","nodeType":"VariableDeclaration","scope":25587,"src":"64712:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25565,"name":"address","nodeType":"ElementaryTypeName","src":"64712:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25568,"mutability":"mutable","name":"p1","nameLocation":"64729:2:16","nodeType":"VariableDeclaration","scope":25587,"src":"64724:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25567,"name":"bool","nodeType":"ElementaryTypeName","src":"64724:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25570,"mutability":"mutable","name":"p2","nameLocation":"64738:2:16","nodeType":"VariableDeclaration","scope":25587,"src":"64733:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25569,"name":"bool","nodeType":"ElementaryTypeName","src":"64733:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25572,"mutability":"mutable","name":"p3","nameLocation":"64750:2:16","nodeType":"VariableDeclaration","scope":25587,"src":"64742:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25571,"name":"uint256","nodeType":"ElementaryTypeName","src":"64742:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"64711:42:16"},"returnParameters":{"id":25574,"nodeType":"ParameterList","parameters":[],"src":"64768:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25610,"nodeType":"FunctionDefinition","src":"64881:181:16","nodes":[],"body":{"id":25609,"nodeType":"Block","src":"64956:106:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c737472696e6729","id":25601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65006:31:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300","typeString":"literal_string \"log(address,bool,bool,string)\""},"value":"log(address,bool,bool,string)"},{"id":25602,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25589,"src":"65039:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25603,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25591,"src":"65043:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25604,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25593,"src":"65047:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25605,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25595,"src":"65051:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300","typeString":"literal_string \"log(address,bool,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25599,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64982:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25600,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64986:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64982:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64982:72:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25598,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"64966:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64966:89:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25608,"nodeType":"ExpressionStatement","src":"64966:89:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64890:3:16","parameters":{"id":25596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25589,"mutability":"mutable","name":"p0","nameLocation":"64902:2:16","nodeType":"VariableDeclaration","scope":25610,"src":"64894:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25588,"name":"address","nodeType":"ElementaryTypeName","src":"64894:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25591,"mutability":"mutable","name":"p1","nameLocation":"64911:2:16","nodeType":"VariableDeclaration","scope":25610,"src":"64906:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25590,"name":"bool","nodeType":"ElementaryTypeName","src":"64906:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25593,"mutability":"mutable","name":"p2","nameLocation":"64920:2:16","nodeType":"VariableDeclaration","scope":25610,"src":"64915:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25592,"name":"bool","nodeType":"ElementaryTypeName","src":"64915:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25595,"mutability":"mutable","name":"p3","nameLocation":"64938:2:16","nodeType":"VariableDeclaration","scope":25610,"src":"64924:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25594,"name":"string","nodeType":"ElementaryTypeName","src":"64924:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64893:48:16"},"returnParameters":{"id":25597,"nodeType":"ParameterList","parameters":[],"src":"64956:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25633,"nodeType":"FunctionDefinition","src":"65068:170:16","nodes":[],"body":{"id":25632,"nodeType":"Block","src":"65134:104:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c626f6f6c29","id":25624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65184:29:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634","typeString":"literal_string \"log(address,bool,bool,bool)\""},"value":"log(address,bool,bool,bool)"},{"id":25625,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25612,"src":"65215:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25626,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25614,"src":"65219:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25627,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25616,"src":"65223:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25628,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25618,"src":"65227:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634","typeString":"literal_string \"log(address,bool,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25622,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65160:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25623,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65164:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65160:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65160:70:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25621,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"65144:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65144:87:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25631,"nodeType":"ExpressionStatement","src":"65144:87:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65077:3:16","parameters":{"id":25619,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25612,"mutability":"mutable","name":"p0","nameLocation":"65089:2:16","nodeType":"VariableDeclaration","scope":25633,"src":"65081:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25611,"name":"address","nodeType":"ElementaryTypeName","src":"65081:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25614,"mutability":"mutable","name":"p1","nameLocation":"65098:2:16","nodeType":"VariableDeclaration","scope":25633,"src":"65093:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25613,"name":"bool","nodeType":"ElementaryTypeName","src":"65093:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25616,"mutability":"mutable","name":"p2","nameLocation":"65107:2:16","nodeType":"VariableDeclaration","scope":25633,"src":"65102:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25615,"name":"bool","nodeType":"ElementaryTypeName","src":"65102:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25618,"mutability":"mutable","name":"p3","nameLocation":"65116:2:16","nodeType":"VariableDeclaration","scope":25633,"src":"65111:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25617,"name":"bool","nodeType":"ElementaryTypeName","src":"65111:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"65080:39:16"},"returnParameters":{"id":25620,"nodeType":"ParameterList","parameters":[],"src":"65134:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25656,"nodeType":"FunctionDefinition","src":"65244:176:16","nodes":[],"body":{"id":25655,"nodeType":"Block","src":"65313:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c6164647265737329","id":25647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65363:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953","typeString":"literal_string \"log(address,bool,bool,address)\""},"value":"log(address,bool,bool,address)"},{"id":25648,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25635,"src":"65397:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25649,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25637,"src":"65401:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25650,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25639,"src":"65405:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25651,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25641,"src":"65409:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953","typeString":"literal_string \"log(address,bool,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25645,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65339:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25646,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65343:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65339:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65339:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25644,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"65323:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65323:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25654,"nodeType":"ExpressionStatement","src":"65323:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65253:3:16","parameters":{"id":25642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25635,"mutability":"mutable","name":"p0","nameLocation":"65265:2:16","nodeType":"VariableDeclaration","scope":25656,"src":"65257:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25634,"name":"address","nodeType":"ElementaryTypeName","src":"65257:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25637,"mutability":"mutable","name":"p1","nameLocation":"65274:2:16","nodeType":"VariableDeclaration","scope":25656,"src":"65269:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25636,"name":"bool","nodeType":"ElementaryTypeName","src":"65269:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25639,"mutability":"mutable","name":"p2","nameLocation":"65283:2:16","nodeType":"VariableDeclaration","scope":25656,"src":"65278:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25638,"name":"bool","nodeType":"ElementaryTypeName","src":"65278:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25641,"mutability":"mutable","name":"p3","nameLocation":"65295:2:16","nodeType":"VariableDeclaration","scope":25656,"src":"65287:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25640,"name":"address","nodeType":"ElementaryTypeName","src":"65287:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"65256:42:16"},"returnParameters":{"id":25643,"nodeType":"ParameterList","parameters":[],"src":"65313:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25679,"nodeType":"FunctionDefinition","src":"65426:182:16","nodes":[],"body":{"id":25678,"nodeType":"Block","src":"65498:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c75696e7432353629","id":25670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65548:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_a75c59de36827f2596ade7bd79f668ae219518c12b79ebf06071586765c3e039","typeString":"literal_string \"log(address,bool,address,uint256)\""},"value":"log(address,bool,address,uint256)"},{"id":25671,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25658,"src":"65585:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25672,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25660,"src":"65589:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25673,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25662,"src":"65593:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25674,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25664,"src":"65597:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a75c59de36827f2596ade7bd79f668ae219518c12b79ebf06071586765c3e039","typeString":"literal_string \"log(address,bool,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25668,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65524:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25669,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65528:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65524:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65524:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25667,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"65508:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65508:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25677,"nodeType":"ExpressionStatement","src":"65508:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65435:3:16","parameters":{"id":25665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25658,"mutability":"mutable","name":"p0","nameLocation":"65447:2:16","nodeType":"VariableDeclaration","scope":25679,"src":"65439:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25657,"name":"address","nodeType":"ElementaryTypeName","src":"65439:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25660,"mutability":"mutable","name":"p1","nameLocation":"65456:2:16","nodeType":"VariableDeclaration","scope":25679,"src":"65451:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25659,"name":"bool","nodeType":"ElementaryTypeName","src":"65451:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25662,"mutability":"mutable","name":"p2","nameLocation":"65468:2:16","nodeType":"VariableDeclaration","scope":25679,"src":"65460:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25661,"name":"address","nodeType":"ElementaryTypeName","src":"65460:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25664,"mutability":"mutable","name":"p3","nameLocation":"65480:2:16","nodeType":"VariableDeclaration","scope":25679,"src":"65472:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25663,"name":"uint256","nodeType":"ElementaryTypeName","src":"65472:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"65438:45:16"},"returnParameters":{"id":25666,"nodeType":"ParameterList","parameters":[],"src":"65498:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25702,"nodeType":"FunctionDefinition","src":"65614:187:16","nodes":[],"body":{"id":25701,"nodeType":"Block","src":"65692:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c737472696e6729","id":25693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65742:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453","typeString":"literal_string \"log(address,bool,address,string)\""},"value":"log(address,bool,address,string)"},{"id":25694,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25681,"src":"65778:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25695,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25683,"src":"65782:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25696,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25685,"src":"65786:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25697,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25687,"src":"65790:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453","typeString":"literal_string \"log(address,bool,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25691,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65718:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25692,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65722:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65718:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65718:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25690,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"65702:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65702:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25700,"nodeType":"ExpressionStatement","src":"65702:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65623:3:16","parameters":{"id":25688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25681,"mutability":"mutable","name":"p0","nameLocation":"65635:2:16","nodeType":"VariableDeclaration","scope":25702,"src":"65627:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25680,"name":"address","nodeType":"ElementaryTypeName","src":"65627:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25683,"mutability":"mutable","name":"p1","nameLocation":"65644:2:16","nodeType":"VariableDeclaration","scope":25702,"src":"65639:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25682,"name":"bool","nodeType":"ElementaryTypeName","src":"65639:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25685,"mutability":"mutable","name":"p2","nameLocation":"65656:2:16","nodeType":"VariableDeclaration","scope":25702,"src":"65648:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25684,"name":"address","nodeType":"ElementaryTypeName","src":"65648:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25687,"mutability":"mutable","name":"p3","nameLocation":"65674:2:16","nodeType":"VariableDeclaration","scope":25702,"src":"65660:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25686,"name":"string","nodeType":"ElementaryTypeName","src":"65660:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"65626:51:16"},"returnParameters":{"id":25689,"nodeType":"ParameterList","parameters":[],"src":"65692:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25725,"nodeType":"FunctionDefinition","src":"65807:176:16","nodes":[],"body":{"id":25724,"nodeType":"Block","src":"65876:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c626f6f6c29","id":25716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65926:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1","typeString":"literal_string \"log(address,bool,address,bool)\""},"value":"log(address,bool,address,bool)"},{"id":25717,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25704,"src":"65960:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25718,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25706,"src":"65964:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25719,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25708,"src":"65968:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25720,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25710,"src":"65972:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1","typeString":"literal_string \"log(address,bool,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25714,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65902:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25715,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65906:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65902:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65902:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25713,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"65886:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65886:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25723,"nodeType":"ExpressionStatement","src":"65886:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65816:3:16","parameters":{"id":25711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25704,"mutability":"mutable","name":"p0","nameLocation":"65828:2:16","nodeType":"VariableDeclaration","scope":25725,"src":"65820:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25703,"name":"address","nodeType":"ElementaryTypeName","src":"65820:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25706,"mutability":"mutable","name":"p1","nameLocation":"65837:2:16","nodeType":"VariableDeclaration","scope":25725,"src":"65832:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25705,"name":"bool","nodeType":"ElementaryTypeName","src":"65832:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25708,"mutability":"mutable","name":"p2","nameLocation":"65849:2:16","nodeType":"VariableDeclaration","scope":25725,"src":"65841:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25707,"name":"address","nodeType":"ElementaryTypeName","src":"65841:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25710,"mutability":"mutable","name":"p3","nameLocation":"65858:2:16","nodeType":"VariableDeclaration","scope":25725,"src":"65853:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25709,"name":"bool","nodeType":"ElementaryTypeName","src":"65853:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"65819:42:16"},"returnParameters":{"id":25712,"nodeType":"ParameterList","parameters":[],"src":"65876:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25748,"nodeType":"FunctionDefinition","src":"65989:182:16","nodes":[],"body":{"id":25747,"nodeType":"Block","src":"66061:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c6164647265737329","id":25739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66111:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35","typeString":"literal_string \"log(address,bool,address,address)\""},"value":"log(address,bool,address,address)"},{"id":25740,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25727,"src":"66148:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25741,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25729,"src":"66152:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25742,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25731,"src":"66156:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25743,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25733,"src":"66160:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35","typeString":"literal_string \"log(address,bool,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25737,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66087:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25738,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66091:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66087:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66087:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25736,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"66071:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66071:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25746,"nodeType":"ExpressionStatement","src":"66071:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65998:3:16","parameters":{"id":25734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25727,"mutability":"mutable","name":"p0","nameLocation":"66010:2:16","nodeType":"VariableDeclaration","scope":25748,"src":"66002:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25726,"name":"address","nodeType":"ElementaryTypeName","src":"66002:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25729,"mutability":"mutable","name":"p1","nameLocation":"66019:2:16","nodeType":"VariableDeclaration","scope":25748,"src":"66014:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25728,"name":"bool","nodeType":"ElementaryTypeName","src":"66014:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25731,"mutability":"mutable","name":"p2","nameLocation":"66031:2:16","nodeType":"VariableDeclaration","scope":25748,"src":"66023:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25730,"name":"address","nodeType":"ElementaryTypeName","src":"66023:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25733,"mutability":"mutable","name":"p3","nameLocation":"66043:2:16","nodeType":"VariableDeclaration","scope":25748,"src":"66035:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25732,"name":"address","nodeType":"ElementaryTypeName","src":"66035:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"66001:45:16"},"returnParameters":{"id":25735,"nodeType":"ParameterList","parameters":[],"src":"66061:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25771,"nodeType":"FunctionDefinition","src":"66177:188:16","nodes":[],"body":{"id":25770,"nodeType":"Block","src":"66252:113:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c75696e7432353629","id":25762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66302:38:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_be55348107f27daf63b48e87ab23840f2cbf20bdfa1dd4b92b4c2b337967fa25","typeString":"literal_string \"log(address,address,uint256,uint256)\""},"value":"log(address,address,uint256,uint256)"},{"id":25763,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25750,"src":"66342:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25764,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25752,"src":"66346:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25765,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25754,"src":"66350:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25766,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25756,"src":"66354:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be55348107f27daf63b48e87ab23840f2cbf20bdfa1dd4b92b4c2b337967fa25","typeString":"literal_string \"log(address,address,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25760,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66278:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25761,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66282:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66278:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66278:79:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25759,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"66262:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66262:96:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25769,"nodeType":"ExpressionStatement","src":"66262:96:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66186:3:16","parameters":{"id":25757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25750,"mutability":"mutable","name":"p0","nameLocation":"66198:2:16","nodeType":"VariableDeclaration","scope":25771,"src":"66190:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25749,"name":"address","nodeType":"ElementaryTypeName","src":"66190:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25752,"mutability":"mutable","name":"p1","nameLocation":"66210:2:16","nodeType":"VariableDeclaration","scope":25771,"src":"66202:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25751,"name":"address","nodeType":"ElementaryTypeName","src":"66202:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25754,"mutability":"mutable","name":"p2","nameLocation":"66222:2:16","nodeType":"VariableDeclaration","scope":25771,"src":"66214:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25753,"name":"uint256","nodeType":"ElementaryTypeName","src":"66214:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25756,"mutability":"mutable","name":"p3","nameLocation":"66234:2:16","nodeType":"VariableDeclaration","scope":25771,"src":"66226:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25755,"name":"uint256","nodeType":"ElementaryTypeName","src":"66226:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"66189:48:16"},"returnParameters":{"id":25758,"nodeType":"ParameterList","parameters":[],"src":"66252:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25794,"nodeType":"FunctionDefinition","src":"66371:193:16","nodes":[],"body":{"id":25793,"nodeType":"Block","src":"66452:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c737472696e6729","id":25785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66502:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_fdb4f99053c71d9229026b69fabc5567b4324649a228ca0935bada4975f57343","typeString":"literal_string \"log(address,address,uint256,string)\""},"value":"log(address,address,uint256,string)"},{"id":25786,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25773,"src":"66541:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25787,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25775,"src":"66545:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25788,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25777,"src":"66549:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25789,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25779,"src":"66553:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fdb4f99053c71d9229026b69fabc5567b4324649a228ca0935bada4975f57343","typeString":"literal_string \"log(address,address,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25783,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66478:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66482:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66478:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66478:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25782,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"66462:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66462:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25792,"nodeType":"ExpressionStatement","src":"66462:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66380:3:16","parameters":{"id":25780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25773,"mutability":"mutable","name":"p0","nameLocation":"66392:2:16","nodeType":"VariableDeclaration","scope":25794,"src":"66384:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25772,"name":"address","nodeType":"ElementaryTypeName","src":"66384:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25775,"mutability":"mutable","name":"p1","nameLocation":"66404:2:16","nodeType":"VariableDeclaration","scope":25794,"src":"66396:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25774,"name":"address","nodeType":"ElementaryTypeName","src":"66396:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25777,"mutability":"mutable","name":"p2","nameLocation":"66416:2:16","nodeType":"VariableDeclaration","scope":25794,"src":"66408:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25776,"name":"uint256","nodeType":"ElementaryTypeName","src":"66408:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25779,"mutability":"mutable","name":"p3","nameLocation":"66434:2:16","nodeType":"VariableDeclaration","scope":25794,"src":"66420:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25778,"name":"string","nodeType":"ElementaryTypeName","src":"66420:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66383:54:16"},"returnParameters":{"id":25781,"nodeType":"ParameterList","parameters":[],"src":"66452:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25817,"nodeType":"FunctionDefinition","src":"66570:182:16","nodes":[],"body":{"id":25816,"nodeType":"Block","src":"66642:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c626f6f6c29","id":25808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66692:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b4254e23753cb4c7d637e38638d109b03aeabf8705961d18d943c5bfa6672cd","typeString":"literal_string \"log(address,address,uint256,bool)\""},"value":"log(address,address,uint256,bool)"},{"id":25809,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25796,"src":"66729:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25810,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25798,"src":"66733:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25811,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25800,"src":"66737:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25812,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25802,"src":"66741:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9b4254e23753cb4c7d637e38638d109b03aeabf8705961d18d943c5bfa6672cd","typeString":"literal_string \"log(address,address,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25806,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66668:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25807,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66672:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66668:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66668:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25805,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"66652:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66652:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25815,"nodeType":"ExpressionStatement","src":"66652:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66579:3:16","parameters":{"id":25803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25796,"mutability":"mutable","name":"p0","nameLocation":"66591:2:16","nodeType":"VariableDeclaration","scope":25817,"src":"66583:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25795,"name":"address","nodeType":"ElementaryTypeName","src":"66583:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25798,"mutability":"mutable","name":"p1","nameLocation":"66603:2:16","nodeType":"VariableDeclaration","scope":25817,"src":"66595:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25797,"name":"address","nodeType":"ElementaryTypeName","src":"66595:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25800,"mutability":"mutable","name":"p2","nameLocation":"66615:2:16","nodeType":"VariableDeclaration","scope":25817,"src":"66607:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25799,"name":"uint256","nodeType":"ElementaryTypeName","src":"66607:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25802,"mutability":"mutable","name":"p3","nameLocation":"66624:2:16","nodeType":"VariableDeclaration","scope":25817,"src":"66619:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25801,"name":"bool","nodeType":"ElementaryTypeName","src":"66619:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"66582:45:16"},"returnParameters":{"id":25804,"nodeType":"ParameterList","parameters":[],"src":"66642:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25840,"nodeType":"FunctionDefinition","src":"66758:188:16","nodes":[],"body":{"id":25839,"nodeType":"Block","src":"66833:113:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c6164647265737329","id":25831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66883:38:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_8da6def55c582f2ce59d561e896a66e570478eda5169747a6ea3575cfa60d28b","typeString":"literal_string \"log(address,address,uint256,address)\""},"value":"log(address,address,uint256,address)"},{"id":25832,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25819,"src":"66923:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25833,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25821,"src":"66927:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25834,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25823,"src":"66931:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25835,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25825,"src":"66935:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8da6def55c582f2ce59d561e896a66e570478eda5169747a6ea3575cfa60d28b","typeString":"literal_string \"log(address,address,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25829,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66859:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25830,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66863:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66859:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66859:79:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25828,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"66843:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66843:96:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25838,"nodeType":"ExpressionStatement","src":"66843:96:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66767:3:16","parameters":{"id":25826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25819,"mutability":"mutable","name":"p0","nameLocation":"66779:2:16","nodeType":"VariableDeclaration","scope":25840,"src":"66771:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25818,"name":"address","nodeType":"ElementaryTypeName","src":"66771:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25821,"mutability":"mutable","name":"p1","nameLocation":"66791:2:16","nodeType":"VariableDeclaration","scope":25840,"src":"66783:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25820,"name":"address","nodeType":"ElementaryTypeName","src":"66783:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25823,"mutability":"mutable","name":"p2","nameLocation":"66803:2:16","nodeType":"VariableDeclaration","scope":25840,"src":"66795:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25822,"name":"uint256","nodeType":"ElementaryTypeName","src":"66795:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25825,"mutability":"mutable","name":"p3","nameLocation":"66815:2:16","nodeType":"VariableDeclaration","scope":25840,"src":"66807:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25824,"name":"address","nodeType":"ElementaryTypeName","src":"66807:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"66770:48:16"},"returnParameters":{"id":25827,"nodeType":"ParameterList","parameters":[],"src":"66833:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25863,"nodeType":"FunctionDefinition","src":"66952:193:16","nodes":[],"body":{"id":25862,"nodeType":"Block","src":"67033:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c75696e7432353629","id":25854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67083:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef1cefe7e092dcc5b0ed6bc72a78756f9c352fc002139efb9b181c734d5d45d5","typeString":"literal_string \"log(address,address,string,uint256)\""},"value":"log(address,address,string,uint256)"},{"id":25855,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25842,"src":"67122:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25856,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25844,"src":"67126:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25857,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25846,"src":"67130:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25858,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25848,"src":"67134:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef1cefe7e092dcc5b0ed6bc72a78756f9c352fc002139efb9b181c734d5d45d5","typeString":"literal_string \"log(address,address,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25852,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67059:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25853,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67063:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67059:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67059:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25851,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"67043:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67043:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25861,"nodeType":"ExpressionStatement","src":"67043:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66961:3:16","parameters":{"id":25849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25842,"mutability":"mutable","name":"p0","nameLocation":"66973:2:16","nodeType":"VariableDeclaration","scope":25863,"src":"66965:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25841,"name":"address","nodeType":"ElementaryTypeName","src":"66965:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25844,"mutability":"mutable","name":"p1","nameLocation":"66985:2:16","nodeType":"VariableDeclaration","scope":25863,"src":"66977:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25843,"name":"address","nodeType":"ElementaryTypeName","src":"66977:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25846,"mutability":"mutable","name":"p2","nameLocation":"67003:2:16","nodeType":"VariableDeclaration","scope":25863,"src":"66989:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25845,"name":"string","nodeType":"ElementaryTypeName","src":"66989:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25848,"mutability":"mutable","name":"p3","nameLocation":"67015:2:16","nodeType":"VariableDeclaration","scope":25863,"src":"67007:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25847,"name":"uint256","nodeType":"ElementaryTypeName","src":"67007:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"66964:54:16"},"returnParameters":{"id":25850,"nodeType":"ParameterList","parameters":[],"src":"67033:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25886,"nodeType":"FunctionDefinition","src":"67151:198:16","nodes":[],"body":{"id":25885,"nodeType":"Block","src":"67238:111:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c737472696e6729","id":25877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67288:36:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1","typeString":"literal_string \"log(address,address,string,string)\""},"value":"log(address,address,string,string)"},{"id":25878,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25865,"src":"67326:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25879,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25867,"src":"67330:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25880,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25869,"src":"67334:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25881,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25871,"src":"67338:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1","typeString":"literal_string \"log(address,address,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25875,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67264:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25876,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67268:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67264:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67264:77:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25874,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"67248:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67248:94:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25884,"nodeType":"ExpressionStatement","src":"67248:94:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67160:3:16","parameters":{"id":25872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25865,"mutability":"mutable","name":"p0","nameLocation":"67172:2:16","nodeType":"VariableDeclaration","scope":25886,"src":"67164:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25864,"name":"address","nodeType":"ElementaryTypeName","src":"67164:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25867,"mutability":"mutable","name":"p1","nameLocation":"67184:2:16","nodeType":"VariableDeclaration","scope":25886,"src":"67176:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25866,"name":"address","nodeType":"ElementaryTypeName","src":"67176:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25869,"mutability":"mutable","name":"p2","nameLocation":"67202:2:16","nodeType":"VariableDeclaration","scope":25886,"src":"67188:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25868,"name":"string","nodeType":"ElementaryTypeName","src":"67188:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25871,"mutability":"mutable","name":"p3","nameLocation":"67220:2:16","nodeType":"VariableDeclaration","scope":25886,"src":"67206:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25870,"name":"string","nodeType":"ElementaryTypeName","src":"67206:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67163:60:16"},"returnParameters":{"id":25873,"nodeType":"ParameterList","parameters":[],"src":"67238:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25909,"nodeType":"FunctionDefinition","src":"67355:187:16","nodes":[],"body":{"id":25908,"nodeType":"Block","src":"67433:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c626f6f6c29","id":25900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67483:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd","typeString":"literal_string \"log(address,address,string,bool)\""},"value":"log(address,address,string,bool)"},{"id":25901,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25888,"src":"67519:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25902,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25890,"src":"67523:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25903,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25892,"src":"67527:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25904,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25894,"src":"67531:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd","typeString":"literal_string \"log(address,address,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25898,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67459:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25899,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67463:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67459:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67459:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25897,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"67443:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67443:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25907,"nodeType":"ExpressionStatement","src":"67443:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67364:3:16","parameters":{"id":25895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25888,"mutability":"mutable","name":"p0","nameLocation":"67376:2:16","nodeType":"VariableDeclaration","scope":25909,"src":"67368:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25887,"name":"address","nodeType":"ElementaryTypeName","src":"67368:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25890,"mutability":"mutable","name":"p1","nameLocation":"67388:2:16","nodeType":"VariableDeclaration","scope":25909,"src":"67380:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25889,"name":"address","nodeType":"ElementaryTypeName","src":"67380:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25892,"mutability":"mutable","name":"p2","nameLocation":"67406:2:16","nodeType":"VariableDeclaration","scope":25909,"src":"67392:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25891,"name":"string","nodeType":"ElementaryTypeName","src":"67392:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25894,"mutability":"mutable","name":"p3","nameLocation":"67415:2:16","nodeType":"VariableDeclaration","scope":25909,"src":"67410:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25893,"name":"bool","nodeType":"ElementaryTypeName","src":"67410:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"67367:51:16"},"returnParameters":{"id":25896,"nodeType":"ParameterList","parameters":[],"src":"67433:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25932,"nodeType":"FunctionDefinition","src":"67548:193:16","nodes":[],"body":{"id":25931,"nodeType":"Block","src":"67629:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c6164647265737329","id":25923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67679:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687","typeString":"literal_string \"log(address,address,string,address)\""},"value":"log(address,address,string,address)"},{"id":25924,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25911,"src":"67718:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25925,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25913,"src":"67722:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25926,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25915,"src":"67726:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25927,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25917,"src":"67730:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687","typeString":"literal_string \"log(address,address,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25921,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67655:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25922,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67659:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67655:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67655:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25920,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"67639:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67639:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25930,"nodeType":"ExpressionStatement","src":"67639:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67557:3:16","parameters":{"id":25918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25911,"mutability":"mutable","name":"p0","nameLocation":"67569:2:16","nodeType":"VariableDeclaration","scope":25932,"src":"67561:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25910,"name":"address","nodeType":"ElementaryTypeName","src":"67561:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25913,"mutability":"mutable","name":"p1","nameLocation":"67581:2:16","nodeType":"VariableDeclaration","scope":25932,"src":"67573:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25912,"name":"address","nodeType":"ElementaryTypeName","src":"67573:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25915,"mutability":"mutable","name":"p2","nameLocation":"67599:2:16","nodeType":"VariableDeclaration","scope":25932,"src":"67585:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25914,"name":"string","nodeType":"ElementaryTypeName","src":"67585:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25917,"mutability":"mutable","name":"p3","nameLocation":"67611:2:16","nodeType":"VariableDeclaration","scope":25932,"src":"67603:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25916,"name":"address","nodeType":"ElementaryTypeName","src":"67603:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"67560:54:16"},"returnParameters":{"id":25919,"nodeType":"ParameterList","parameters":[],"src":"67629:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25955,"nodeType":"FunctionDefinition","src":"67747:182:16","nodes":[],"body":{"id":25954,"nodeType":"Block","src":"67819:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c75696e7432353629","id":25946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67869:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_3971e78c267e3c99a8d143ab93f96daa498ed164b55c7e4c2a5439320fbc2671","typeString":"literal_string \"log(address,address,bool,uint256)\""},"value":"log(address,address,bool,uint256)"},{"id":25947,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25934,"src":"67906:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25948,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25936,"src":"67910:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25949,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25938,"src":"67914:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25950,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25940,"src":"67918:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3971e78c267e3c99a8d143ab93f96daa498ed164b55c7e4c2a5439320fbc2671","typeString":"literal_string \"log(address,address,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25944,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67845:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25945,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67849:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67845:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67845:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25943,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"67829:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67829:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25953,"nodeType":"ExpressionStatement","src":"67829:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67756:3:16","parameters":{"id":25941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25934,"mutability":"mutable","name":"p0","nameLocation":"67768:2:16","nodeType":"VariableDeclaration","scope":25955,"src":"67760:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25933,"name":"address","nodeType":"ElementaryTypeName","src":"67760:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25936,"mutability":"mutable","name":"p1","nameLocation":"67780:2:16","nodeType":"VariableDeclaration","scope":25955,"src":"67772:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25935,"name":"address","nodeType":"ElementaryTypeName","src":"67772:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25938,"mutability":"mutable","name":"p2","nameLocation":"67789:2:16","nodeType":"VariableDeclaration","scope":25955,"src":"67784:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25937,"name":"bool","nodeType":"ElementaryTypeName","src":"67784:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25940,"mutability":"mutable","name":"p3","nameLocation":"67801:2:16","nodeType":"VariableDeclaration","scope":25955,"src":"67793:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25939,"name":"uint256","nodeType":"ElementaryTypeName","src":"67793:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"67759:45:16"},"returnParameters":{"id":25942,"nodeType":"ParameterList","parameters":[],"src":"67819:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":25978,"nodeType":"FunctionDefinition","src":"67935:187:16","nodes":[],"body":{"id":25977,"nodeType":"Block","src":"68013:109:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c737472696e6729","id":25969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68063:34:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88","typeString":"literal_string \"log(address,address,bool,string)\""},"value":"log(address,address,bool,string)"},{"id":25970,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25957,"src":"68099:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25971,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25959,"src":"68103:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25972,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25961,"src":"68107:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25973,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25963,"src":"68111:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88","typeString":"literal_string \"log(address,address,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25967,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68039:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25968,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68043:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68039:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68039:75:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25966,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"68023:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68023:92:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25976,"nodeType":"ExpressionStatement","src":"68023:92:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67944:3:16","parameters":{"id":25964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25957,"mutability":"mutable","name":"p0","nameLocation":"67956:2:16","nodeType":"VariableDeclaration","scope":25978,"src":"67948:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25956,"name":"address","nodeType":"ElementaryTypeName","src":"67948:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25959,"mutability":"mutable","name":"p1","nameLocation":"67968:2:16","nodeType":"VariableDeclaration","scope":25978,"src":"67960:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25958,"name":"address","nodeType":"ElementaryTypeName","src":"67960:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25961,"mutability":"mutable","name":"p2","nameLocation":"67977:2:16","nodeType":"VariableDeclaration","scope":25978,"src":"67972:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25960,"name":"bool","nodeType":"ElementaryTypeName","src":"67972:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25963,"mutability":"mutable","name":"p3","nameLocation":"67995:2:16","nodeType":"VariableDeclaration","scope":25978,"src":"67981:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25962,"name":"string","nodeType":"ElementaryTypeName","src":"67981:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67947:51:16"},"returnParameters":{"id":25965,"nodeType":"ParameterList","parameters":[],"src":"68013:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26001,"nodeType":"FunctionDefinition","src":"68128:176:16","nodes":[],"body":{"id":26000,"nodeType":"Block","src":"68197:107:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c626f6f6c29","id":25992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68247:32:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65","typeString":"literal_string \"log(address,address,bool,bool)\""},"value":"log(address,address,bool,bool)"},{"id":25993,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25980,"src":"68281:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25994,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25982,"src":"68285:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25995,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25984,"src":"68289:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25996,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25986,"src":"68293:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65","typeString":"literal_string \"log(address,address,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25990,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68223:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25991,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68227:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68223:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68223:73:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25989,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"68207:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":25998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68207:90:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25999,"nodeType":"ExpressionStatement","src":"68207:90:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68137:3:16","parameters":{"id":25987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25980,"mutability":"mutable","name":"p0","nameLocation":"68149:2:16","nodeType":"VariableDeclaration","scope":26001,"src":"68141:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25979,"name":"address","nodeType":"ElementaryTypeName","src":"68141:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25982,"mutability":"mutable","name":"p1","nameLocation":"68161:2:16","nodeType":"VariableDeclaration","scope":26001,"src":"68153:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25981,"name":"address","nodeType":"ElementaryTypeName","src":"68153:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25984,"mutability":"mutable","name":"p2","nameLocation":"68170:2:16","nodeType":"VariableDeclaration","scope":26001,"src":"68165:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25983,"name":"bool","nodeType":"ElementaryTypeName","src":"68165:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25986,"mutability":"mutable","name":"p3","nameLocation":"68179:2:16","nodeType":"VariableDeclaration","scope":26001,"src":"68174:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25985,"name":"bool","nodeType":"ElementaryTypeName","src":"68174:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"68140:42:16"},"returnParameters":{"id":25988,"nodeType":"ParameterList","parameters":[],"src":"68197:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26024,"nodeType":"FunctionDefinition","src":"68310:182:16","nodes":[],"body":{"id":26023,"nodeType":"Block","src":"68382:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c6164647265737329","id":26015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68432:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c","typeString":"literal_string \"log(address,address,bool,address)\""},"value":"log(address,address,bool,address)"},{"id":26016,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26003,"src":"68469:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26017,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26005,"src":"68473:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26018,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26007,"src":"68477:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26019,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26009,"src":"68481:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c","typeString":"literal_string \"log(address,address,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26013,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68408:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26014,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68412:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68408:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68408:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26012,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"68392:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68392:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26022,"nodeType":"ExpressionStatement","src":"68392:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68319:3:16","parameters":{"id":26010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26003,"mutability":"mutable","name":"p0","nameLocation":"68331:2:16","nodeType":"VariableDeclaration","scope":26024,"src":"68323:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26002,"name":"address","nodeType":"ElementaryTypeName","src":"68323:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26005,"mutability":"mutable","name":"p1","nameLocation":"68343:2:16","nodeType":"VariableDeclaration","scope":26024,"src":"68335:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26004,"name":"address","nodeType":"ElementaryTypeName","src":"68335:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26007,"mutability":"mutable","name":"p2","nameLocation":"68352:2:16","nodeType":"VariableDeclaration","scope":26024,"src":"68347:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26006,"name":"bool","nodeType":"ElementaryTypeName","src":"68347:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26009,"mutability":"mutable","name":"p3","nameLocation":"68364:2:16","nodeType":"VariableDeclaration","scope":26024,"src":"68356:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26008,"name":"address","nodeType":"ElementaryTypeName","src":"68356:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"68322:45:16"},"returnParameters":{"id":26011,"nodeType":"ParameterList","parameters":[],"src":"68382:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26047,"nodeType":"FunctionDefinition","src":"68498:188:16","nodes":[],"body":{"id":26046,"nodeType":"Block","src":"68573:113:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c75696e7432353629","id":26038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68623:38:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_94250d77556167cb7a7fd3eb9433101f8af8848163edfced0c46147ba10a2577","typeString":"literal_string \"log(address,address,address,uint256)\""},"value":"log(address,address,address,uint256)"},{"id":26039,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26026,"src":"68663:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26040,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26028,"src":"68667:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26041,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26030,"src":"68671:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26042,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26032,"src":"68675:2:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94250d77556167cb7a7fd3eb9433101f8af8848163edfced0c46147ba10a2577","typeString":"literal_string \"log(address,address,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26036,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68599:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26037,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68603:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68599:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68599:79:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26035,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"68583:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68583:96:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26045,"nodeType":"ExpressionStatement","src":"68583:96:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68507:3:16","parameters":{"id":26033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26026,"mutability":"mutable","name":"p0","nameLocation":"68519:2:16","nodeType":"VariableDeclaration","scope":26047,"src":"68511:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26025,"name":"address","nodeType":"ElementaryTypeName","src":"68511:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26028,"mutability":"mutable","name":"p1","nameLocation":"68531:2:16","nodeType":"VariableDeclaration","scope":26047,"src":"68523:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26027,"name":"address","nodeType":"ElementaryTypeName","src":"68523:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26030,"mutability":"mutable","name":"p2","nameLocation":"68543:2:16","nodeType":"VariableDeclaration","scope":26047,"src":"68535:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26029,"name":"address","nodeType":"ElementaryTypeName","src":"68535:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26032,"mutability":"mutable","name":"p3","nameLocation":"68555:2:16","nodeType":"VariableDeclaration","scope":26047,"src":"68547:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26031,"name":"uint256","nodeType":"ElementaryTypeName","src":"68547:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"68510:48:16"},"returnParameters":{"id":26034,"nodeType":"ParameterList","parameters":[],"src":"68573:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26070,"nodeType":"FunctionDefinition","src":"68692:193:16","nodes":[],"body":{"id":26069,"nodeType":"Block","src":"68773:112:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c737472696e6729","id":26061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68823:37:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025","typeString":"literal_string \"log(address,address,address,string)\""},"value":"log(address,address,address,string)"},{"id":26062,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26049,"src":"68862:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26063,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26051,"src":"68866:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26064,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26053,"src":"68870:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26065,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26055,"src":"68874:2:16","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025","typeString":"literal_string \"log(address,address,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26059,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68799:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26060,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68803:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68799:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68799:78:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26058,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"68783:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68783:95:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26068,"nodeType":"ExpressionStatement","src":"68783:95:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68701:3:16","parameters":{"id":26056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26049,"mutability":"mutable","name":"p0","nameLocation":"68713:2:16","nodeType":"VariableDeclaration","scope":26070,"src":"68705:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26048,"name":"address","nodeType":"ElementaryTypeName","src":"68705:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26051,"mutability":"mutable","name":"p1","nameLocation":"68725:2:16","nodeType":"VariableDeclaration","scope":26070,"src":"68717:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26050,"name":"address","nodeType":"ElementaryTypeName","src":"68717:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26053,"mutability":"mutable","name":"p2","nameLocation":"68737:2:16","nodeType":"VariableDeclaration","scope":26070,"src":"68729:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26052,"name":"address","nodeType":"ElementaryTypeName","src":"68729:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26055,"mutability":"mutable","name":"p3","nameLocation":"68755:2:16","nodeType":"VariableDeclaration","scope":26070,"src":"68741:16:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26054,"name":"string","nodeType":"ElementaryTypeName","src":"68741:6:16","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68704:54:16"},"returnParameters":{"id":26057,"nodeType":"ParameterList","parameters":[],"src":"68773:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26093,"nodeType":"FunctionDefinition","src":"68891:182:16","nodes":[],"body":{"id":26092,"nodeType":"Block","src":"68963:110:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c626f6f6c29","id":26084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"69013:35:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb","typeString":"literal_string \"log(address,address,address,bool)\""},"value":"log(address,address,address,bool)"},{"id":26085,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26072,"src":"69050:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26086,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26074,"src":"69054:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26087,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26076,"src":"69058:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26088,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26078,"src":"69062:2:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb","typeString":"literal_string \"log(address,address,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26082,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68989:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68993:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68989:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68989:76:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26081,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"68973:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68973:93:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26091,"nodeType":"ExpressionStatement","src":"68973:93:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68900:3:16","parameters":{"id":26079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26072,"mutability":"mutable","name":"p0","nameLocation":"68912:2:16","nodeType":"VariableDeclaration","scope":26093,"src":"68904:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26071,"name":"address","nodeType":"ElementaryTypeName","src":"68904:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26074,"mutability":"mutable","name":"p1","nameLocation":"68924:2:16","nodeType":"VariableDeclaration","scope":26093,"src":"68916:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26073,"name":"address","nodeType":"ElementaryTypeName","src":"68916:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26076,"mutability":"mutable","name":"p2","nameLocation":"68936:2:16","nodeType":"VariableDeclaration","scope":26093,"src":"68928:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26075,"name":"address","nodeType":"ElementaryTypeName","src":"68928:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26078,"mutability":"mutable","name":"p3","nameLocation":"68945:2:16","nodeType":"VariableDeclaration","scope":26093,"src":"68940:7:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26077,"name":"bool","nodeType":"ElementaryTypeName","src":"68940:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"68903:45:16"},"returnParameters":{"id":26080,"nodeType":"ParameterList","parameters":[],"src":"68963:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26116,"nodeType":"FunctionDefinition","src":"69079:188:16","nodes":[],"body":{"id":26115,"nodeType":"Block","src":"69154:113:16","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c6164647265737329","id":26107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"69204:38:16","typeDescriptions":{"typeIdentifier":"t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5","typeString":"literal_string \"log(address,address,address,address)\""},"value":"log(address,address,address,address)"},{"id":26108,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26095,"src":"69244:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26109,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26097,"src":"69248:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26110,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26099,"src":"69252:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26111,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26101,"src":"69256:2:16","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5","typeString":"literal_string \"log(address,address,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26105,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"69180:3:16","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26106,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"69184:19:16","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"69180:23:16","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69180:79:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26104,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"69164:15:16","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":26113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69164:96:16","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26114,"nodeType":"ExpressionStatement","src":"69164:96:16"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"69088:3:16","parameters":{"id":26102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26095,"mutability":"mutable","name":"p0","nameLocation":"69100:2:16","nodeType":"VariableDeclaration","scope":26116,"src":"69092:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26094,"name":"address","nodeType":"ElementaryTypeName","src":"69092:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26097,"mutability":"mutable","name":"p1","nameLocation":"69112:2:16","nodeType":"VariableDeclaration","scope":26116,"src":"69104:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26096,"name":"address","nodeType":"ElementaryTypeName","src":"69104:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26099,"mutability":"mutable","name":"p2","nameLocation":"69124:2:16","nodeType":"VariableDeclaration","scope":26116,"src":"69116:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26098,"name":"address","nodeType":"ElementaryTypeName","src":"69116:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26101,"mutability":"mutable","name":"p3","nameLocation":"69136:2:16","nodeType":"VariableDeclaration","scope":26116,"src":"69128:10:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26100,"name":"address","nodeType":"ElementaryTypeName","src":"69128:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"69091:48:16"},"returnParameters":{"id":26103,"nodeType":"ParameterList","parameters":[],"src":"69154:0:16"},"scope":26117,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"console","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[26117],"name":"console","nameLocation":"74:7:16","scope":26118,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/console2.sol":{"id":17,"ast":{"absolutePath":"lib/forge-std/src/console2.sol","id":26122,"exportedSymbols":{"console2":[26117]},"nodeType":"SourceUnit","src":"32:85:17","nodes":[{"id":26119,"nodeType":"PragmaDirective","src":"32:32:17","nodes":[],"literals":["solidity",">=","0.4",".22","<","0.9",".0"]},{"id":26121,"nodeType":"ImportDirective","src":"66:50:17","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"./console.sol","nameLocation":"-1:-1:-1","scope":26122,"sourceUnit":26118,"symbolAliases":[{"foreign":{"id":26120,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"74:7:17","typeDescriptions":{}},"local":"console2","nameLocation":"-1:-1:-1"}],"unitAlias":""}],"license":"MIT"}},"lib/forge-std/src/interfaces/IMulticall3.sol":{"id":18,"ast":{"absolutePath":"lib/forge-std/src/interfaces/IMulticall3.sol","id":26285,"exportedSymbols":{"IMulticall3":[26284]},"nodeType":"SourceUnit","src":"32:2153:18","nodes":[{"id":26123,"nodeType":"PragmaDirective","src":"32:31:18","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":26124,"nodeType":"PragmaDirective","src":"65:33:18","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":26284,"nodeType":"ContractDefinition","src":"100:2084:18","nodes":[{"id":26129,"nodeType":"StructDefinition","src":"128:67:18","nodes":[],"canonicalName":"IMulticall3.Call","members":[{"constant":false,"id":26126,"mutability":"mutable","name":"target","nameLocation":"158:6:18","nodeType":"VariableDeclaration","scope":26129,"src":"150:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26125,"name":"address","nodeType":"ElementaryTypeName","src":"150:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26128,"mutability":"mutable","name":"callData","nameLocation":"180:8:18","nodeType":"VariableDeclaration","scope":26129,"src":"174:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":26127,"name":"bytes","nodeType":"ElementaryTypeName","src":"174:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call","nameLocation":"135:4:18","scope":26284,"visibility":"public"},{"id":26136,"nodeType":"StructDefinition","src":"201:95:18","nodes":[],"canonicalName":"IMulticall3.Call3","members":[{"constant":false,"id":26131,"mutability":"mutable","name":"target","nameLocation":"232:6:18","nodeType":"VariableDeclaration","scope":26136,"src":"224:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26130,"name":"address","nodeType":"ElementaryTypeName","src":"224:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26133,"mutability":"mutable","name":"allowFailure","nameLocation":"253:12:18","nodeType":"VariableDeclaration","scope":26136,"src":"248:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26132,"name":"bool","nodeType":"ElementaryTypeName","src":"248:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26135,"mutability":"mutable","name":"callData","nameLocation":"281:8:18","nodeType":"VariableDeclaration","scope":26136,"src":"275:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":26134,"name":"bytes","nodeType":"ElementaryTypeName","src":"275:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call3","nameLocation":"208:5:18","scope":26284,"visibility":"public"},{"id":26145,"nodeType":"StructDefinition","src":"302:123:18","nodes":[],"canonicalName":"IMulticall3.Call3Value","members":[{"constant":false,"id":26138,"mutability":"mutable","name":"target","nameLocation":"338:6:18","nodeType":"VariableDeclaration","scope":26145,"src":"330:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26137,"name":"address","nodeType":"ElementaryTypeName","src":"330:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26140,"mutability":"mutable","name":"allowFailure","nameLocation":"359:12:18","nodeType":"VariableDeclaration","scope":26145,"src":"354:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26139,"name":"bool","nodeType":"ElementaryTypeName","src":"354:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26142,"mutability":"mutable","name":"value","nameLocation":"389:5:18","nodeType":"VariableDeclaration","scope":26145,"src":"381:13:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26141,"name":"uint256","nodeType":"ElementaryTypeName","src":"381:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26144,"mutability":"mutable","name":"callData","nameLocation":"410:8:18","nodeType":"VariableDeclaration","scope":26145,"src":"404:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":26143,"name":"bytes","nodeType":"ElementaryTypeName","src":"404:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call3Value","nameLocation":"309:10:18","scope":26284,"visibility":"public"},{"id":26150,"nodeType":"StructDefinition","src":"431:69:18","nodes":[],"canonicalName":"IMulticall3.Result","members":[{"constant":false,"id":26147,"mutability":"mutable","name":"success","nameLocation":"460:7:18","nodeType":"VariableDeclaration","scope":26150,"src":"455:12:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26146,"name":"bool","nodeType":"ElementaryTypeName","src":"455:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26149,"mutability":"mutable","name":"returnData","nameLocation":"483:10:18","nodeType":"VariableDeclaration","scope":26150,"src":"477:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":26148,"name":"bytes","nodeType":"ElementaryTypeName","src":"477:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Result","nameLocation":"438:6:18","scope":26284,"visibility":"public"},{"id":26162,"nodeType":"FunctionDefinition","src":"506:140:18","nodes":[],"functionSelector":"252dba42","implemented":false,"kind":"function","modifiers":[],"name":"aggregate","nameLocation":"515:9:18","parameters":{"id":26155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26154,"mutability":"mutable","name":"calls","nameLocation":"541:5:18","nodeType":"VariableDeclaration","scope":26162,"src":"525:21:18","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26129_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":26152,"nodeType":"UserDefinedTypeName","pathNode":{"id":26151,"name":"Call","nameLocations":["525:4:18"],"nodeType":"IdentifierPath","referencedDeclaration":26129,"src":"525:4:18"},"referencedDeclaration":26129,"src":"525:4:18","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$26129_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":26153,"nodeType":"ArrayTypeName","src":"525:6:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26129_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"524:23:18"},"returnParameters":{"id":26161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26157,"mutability":"mutable","name":"blockNumber","nameLocation":"606:11:18","nodeType":"VariableDeclaration","scope":26162,"src":"598:19:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26156,"name":"uint256","nodeType":"ElementaryTypeName","src":"598:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26160,"mutability":"mutable","name":"returnData","nameLocation":"634:10:18","nodeType":"VariableDeclaration","scope":26162,"src":"619:25:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":26158,"name":"bytes","nodeType":"ElementaryTypeName","src":"619:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":26159,"nodeType":"ArrayTypeName","src":"619:7:18","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"597:48:18"},"scope":26284,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":26173,"nodeType":"FunctionDefinition","src":"652:98:18","nodes":[],"functionSelector":"82ad56cb","implemented":false,"kind":"function","modifiers":[],"name":"aggregate3","nameLocation":"661:10:18","parameters":{"id":26167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26166,"mutability":"mutable","name":"calls","nameLocation":"689:5:18","nodeType":"VariableDeclaration","scope":26173,"src":"672:22:18","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$26136_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":26164,"nodeType":"UserDefinedTypeName","pathNode":{"id":26163,"name":"Call3","nameLocations":["672:5:18"],"nodeType":"IdentifierPath","referencedDeclaration":26136,"src":"672:5:18"},"referencedDeclaration":26136,"src":"672:5:18","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$26136_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":26165,"nodeType":"ArrayTypeName","src":"672:7:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$26136_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"src":"671:24:18"},"returnParameters":{"id":26172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26171,"mutability":"mutable","name":"returnData","nameLocation":"738:10:18","nodeType":"VariableDeclaration","scope":26173,"src":"722:26:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$26150_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":26169,"nodeType":"UserDefinedTypeName","pathNode":{"id":26168,"name":"Result","nameLocations":["722:6:18"],"nodeType":"IdentifierPath","referencedDeclaration":26150,"src":"722:6:18"},"referencedDeclaration":26150,"src":"722:6:18","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$26150_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":26170,"nodeType":"ArrayTypeName","src":"722:8:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$26150_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"721:28:18"},"scope":26284,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":26184,"nodeType":"FunctionDefinition","src":"756:108:18","nodes":[],"functionSelector":"174dea71","implemented":false,"kind":"function","modifiers":[],"name":"aggregate3Value","nameLocation":"765:15:18","parameters":{"id":26178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26177,"mutability":"mutable","name":"calls","nameLocation":"803:5:18","nodeType":"VariableDeclaration","scope":26184,"src":"781:27:18","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$26145_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":26175,"nodeType":"UserDefinedTypeName","pathNode":{"id":26174,"name":"Call3Value","nameLocations":["781:10:18"],"nodeType":"IdentifierPath","referencedDeclaration":26145,"src":"781:10:18"},"referencedDeclaration":26145,"src":"781:10:18","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$26145_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":26176,"nodeType":"ArrayTypeName","src":"781:12:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$26145_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"src":"780:29:18"},"returnParameters":{"id":26183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26182,"mutability":"mutable","name":"returnData","nameLocation":"852:10:18","nodeType":"VariableDeclaration","scope":26184,"src":"836:26:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$26150_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":26180,"nodeType":"UserDefinedTypeName","pathNode":{"id":26179,"name":"Result","nameLocations":["836:6:18"],"nodeType":"IdentifierPath","referencedDeclaration":26150,"src":"836:6:18"},"referencedDeclaration":26150,"src":"836:6:18","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$26150_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":26181,"nodeType":"ArrayTypeName","src":"836:8:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$26150_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"835:28:18"},"scope":26284,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":26199,"nodeType":"FunctionDefinition","src":"870:168:18","nodes":[],"functionSelector":"c3077fa9","implemented":false,"kind":"function","modifiers":[],"name":"blockAndAggregate","nameLocation":"879:17:18","parameters":{"id":26189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26188,"mutability":"mutable","name":"calls","nameLocation":"913:5:18","nodeType":"VariableDeclaration","scope":26199,"src":"897:21:18","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26129_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":26186,"nodeType":"UserDefinedTypeName","pathNode":{"id":26185,"name":"Call","nameLocations":["897:4:18"],"nodeType":"IdentifierPath","referencedDeclaration":26129,"src":"897:4:18"},"referencedDeclaration":26129,"src":"897:4:18","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$26129_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":26187,"nodeType":"ArrayTypeName","src":"897:6:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26129_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"896:23:18"},"returnParameters":{"id":26198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26191,"mutability":"mutable","name":"blockNumber","nameLocation":"978:11:18","nodeType":"VariableDeclaration","scope":26199,"src":"970:19:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26190,"name":"uint256","nodeType":"ElementaryTypeName","src":"970:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26193,"mutability":"mutable","name":"blockHash","nameLocation":"999:9:18","nodeType":"VariableDeclaration","scope":26199,"src":"991:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26192,"name":"bytes32","nodeType":"ElementaryTypeName","src":"991:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":26197,"mutability":"mutable","name":"returnData","nameLocation":"1026:10:18","nodeType":"VariableDeclaration","scope":26199,"src":"1010:26:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$26150_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":26195,"nodeType":"UserDefinedTypeName","pathNode":{"id":26194,"name":"Result","nameLocations":["1010:6:18"],"nodeType":"IdentifierPath","referencedDeclaration":26150,"src":"1010:6:18"},"referencedDeclaration":26150,"src":"1010:6:18","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$26150_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":26196,"nodeType":"ArrayTypeName","src":"1010:8:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$26150_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"969:68:18"},"scope":26284,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":26204,"nodeType":"FunctionDefinition","src":"1044:62:18","nodes":[],"functionSelector":"3e64a696","implemented":false,"kind":"function","modifiers":[],"name":"getBasefee","nameLocation":"1053:10:18","parameters":{"id":26200,"nodeType":"ParameterList","parameters":[],"src":"1063:2:18"},"returnParameters":{"id":26203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26202,"mutability":"mutable","name":"basefee","nameLocation":"1097:7:18","nodeType":"VariableDeclaration","scope":26204,"src":"1089:15:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26201,"name":"uint256","nodeType":"ElementaryTypeName","src":"1089:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1088:17:18"},"scope":26284,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":26211,"nodeType":"FunctionDefinition","src":"1112:85:18","nodes":[],"functionSelector":"ee82ac5e","implemented":false,"kind":"function","modifiers":[],"name":"getBlockHash","nameLocation":"1121:12:18","parameters":{"id":26207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26206,"mutability":"mutable","name":"blockNumber","nameLocation":"1142:11:18","nodeType":"VariableDeclaration","scope":26211,"src":"1134:19:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26205,"name":"uint256","nodeType":"ElementaryTypeName","src":"1134:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1133:21:18"},"returnParameters":{"id":26210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26209,"mutability":"mutable","name":"blockHash","nameLocation":"1186:9:18","nodeType":"VariableDeclaration","scope":26211,"src":"1178:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26208,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1178:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1177:19:18"},"scope":26284,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":26216,"nodeType":"FunctionDefinition","src":"1203:70:18","nodes":[],"functionSelector":"42cbb15c","implemented":false,"kind":"function","modifiers":[],"name":"getBlockNumber","nameLocation":"1212:14:18","parameters":{"id":26212,"nodeType":"ParameterList","parameters":[],"src":"1226:2:18"},"returnParameters":{"id":26215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26214,"mutability":"mutable","name":"blockNumber","nameLocation":"1260:11:18","nodeType":"VariableDeclaration","scope":26216,"src":"1252:19:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26213,"name":"uint256","nodeType":"ElementaryTypeName","src":"1252:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1251:21:18"},"scope":26284,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":26221,"nodeType":"FunctionDefinition","src":"1279:62:18","nodes":[],"functionSelector":"3408e470","implemented":false,"kind":"function","modifiers":[],"name":"getChainId","nameLocation":"1288:10:18","parameters":{"id":26217,"nodeType":"ParameterList","parameters":[],"src":"1298:2:18"},"returnParameters":{"id":26220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26219,"mutability":"mutable","name":"chainid","nameLocation":"1332:7:18","nodeType":"VariableDeclaration","scope":26221,"src":"1324:15:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26218,"name":"uint256","nodeType":"ElementaryTypeName","src":"1324:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1323:17:18"},"scope":26284,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":26226,"nodeType":"FunctionDefinition","src":"1347:76:18","nodes":[],"functionSelector":"a8b0574e","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockCoinbase","nameLocation":"1356:23:18","parameters":{"id":26222,"nodeType":"ParameterList","parameters":[],"src":"1379:2:18"},"returnParameters":{"id":26225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26224,"mutability":"mutable","name":"coinbase","nameLocation":"1413:8:18","nodeType":"VariableDeclaration","scope":26226,"src":"1405:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26223,"name":"address","nodeType":"ElementaryTypeName","src":"1405:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1404:18:18"},"scope":26284,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":26231,"nodeType":"FunctionDefinition","src":"1429:80:18","nodes":[],"functionSelector":"72425d9d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockDifficulty","nameLocation":"1438:25:18","parameters":{"id":26227,"nodeType":"ParameterList","parameters":[],"src":"1463:2:18"},"returnParameters":{"id":26230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26229,"mutability":"mutable","name":"difficulty","nameLocation":"1497:10:18","nodeType":"VariableDeclaration","scope":26231,"src":"1489:18:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26228,"name":"uint256","nodeType":"ElementaryTypeName","src":"1489:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1488:20:18"},"scope":26284,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":26236,"nodeType":"FunctionDefinition","src":"1515:76:18","nodes":[],"functionSelector":"86d516e8","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockGasLimit","nameLocation":"1524:23:18","parameters":{"id":26232,"nodeType":"ParameterList","parameters":[],"src":"1547:2:18"},"returnParameters":{"id":26235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26234,"mutability":"mutable","name":"gaslimit","nameLocation":"1581:8:18","nodeType":"VariableDeclaration","scope":26236,"src":"1573:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26233,"name":"uint256","nodeType":"ElementaryTypeName","src":"1573:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1572:18:18"},"scope":26284,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":26241,"nodeType":"FunctionDefinition","src":"1597:78:18","nodes":[],"functionSelector":"0f28c97d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockTimestamp","nameLocation":"1606:24:18","parameters":{"id":26237,"nodeType":"ParameterList","parameters":[],"src":"1630:2:18"},"returnParameters":{"id":26240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26239,"mutability":"mutable","name":"timestamp","nameLocation":"1664:9:18","nodeType":"VariableDeclaration","scope":26241,"src":"1656:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26238,"name":"uint256","nodeType":"ElementaryTypeName","src":"1656:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1655:19:18"},"scope":26284,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":26248,"nodeType":"FunctionDefinition","src":"1681:77:18","nodes":[],"functionSelector":"4d2301cc","implemented":false,"kind":"function","modifiers":[],"name":"getEthBalance","nameLocation":"1690:13:18","parameters":{"id":26244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26243,"mutability":"mutable","name":"addr","nameLocation":"1712:4:18","nodeType":"VariableDeclaration","scope":26248,"src":"1704:12:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26242,"name":"address","nodeType":"ElementaryTypeName","src":"1704:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1703:14:18"},"returnParameters":{"id":26247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26246,"mutability":"mutable","name":"balance","nameLocation":"1749:7:18","nodeType":"VariableDeclaration","scope":26248,"src":"1741:15:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26245,"name":"uint256","nodeType":"ElementaryTypeName","src":"1741:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1740:17:18"},"scope":26284,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":26253,"nodeType":"FunctionDefinition","src":"1764:70:18","nodes":[],"functionSelector":"27e86d6e","implemented":false,"kind":"function","modifiers":[],"name":"getLastBlockHash","nameLocation":"1773:16:18","parameters":{"id":26249,"nodeType":"ParameterList","parameters":[],"src":"1789:2:18"},"returnParameters":{"id":26252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26251,"mutability":"mutable","name":"blockHash","nameLocation":"1823:9:18","nodeType":"VariableDeclaration","scope":26253,"src":"1815:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26250,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1815:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1814:19:18"},"scope":26284,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":26266,"nodeType":"FunctionDefinition","src":"1840:144:18","nodes":[],"functionSelector":"bce38bd7","implemented":false,"kind":"function","modifiers":[],"name":"tryAggregate","nameLocation":"1849:12:18","parameters":{"id":26260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26255,"mutability":"mutable","name":"requireSuccess","nameLocation":"1867:14:18","nodeType":"VariableDeclaration","scope":26266,"src":"1862:19:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26254,"name":"bool","nodeType":"ElementaryTypeName","src":"1862:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26259,"mutability":"mutable","name":"calls","nameLocation":"1899:5:18","nodeType":"VariableDeclaration","scope":26266,"src":"1883:21:18","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26129_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":26257,"nodeType":"UserDefinedTypeName","pathNode":{"id":26256,"name":"Call","nameLocations":["1883:4:18"],"nodeType":"IdentifierPath","referencedDeclaration":26129,"src":"1883:4:18"},"referencedDeclaration":26129,"src":"1883:4:18","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$26129_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":26258,"nodeType":"ArrayTypeName","src":"1883:6:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26129_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"1861:44:18"},"returnParameters":{"id":26265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26264,"mutability":"mutable","name":"returnData","nameLocation":"1972:10:18","nodeType":"VariableDeclaration","scope":26266,"src":"1956:26:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$26150_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":26262,"nodeType":"UserDefinedTypeName","pathNode":{"id":26261,"name":"Result","nameLocations":["1956:6:18"],"nodeType":"IdentifierPath","referencedDeclaration":26150,"src":"1956:6:18"},"referencedDeclaration":26150,"src":"1956:6:18","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$26150_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":26263,"nodeType":"ArrayTypeName","src":"1956:8:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$26150_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"1955:28:18"},"scope":26284,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":26283,"nodeType":"FunctionDefinition","src":"1990:192:18","nodes":[],"functionSelector":"399542e9","implemented":false,"kind":"function","modifiers":[],"name":"tryBlockAndAggregate","nameLocation":"1999:20:18","parameters":{"id":26273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26268,"mutability":"mutable","name":"requireSuccess","nameLocation":"2025:14:18","nodeType":"VariableDeclaration","scope":26283,"src":"2020:19:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26267,"name":"bool","nodeType":"ElementaryTypeName","src":"2020:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26272,"mutability":"mutable","name":"calls","nameLocation":"2057:5:18","nodeType":"VariableDeclaration","scope":26283,"src":"2041:21:18","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26129_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":26270,"nodeType":"UserDefinedTypeName","pathNode":{"id":26269,"name":"Call","nameLocations":["2041:4:18"],"nodeType":"IdentifierPath","referencedDeclaration":26129,"src":"2041:4:18"},"referencedDeclaration":26129,"src":"2041:4:18","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$26129_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":26271,"nodeType":"ArrayTypeName","src":"2041:6:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26129_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"2019:44:18"},"returnParameters":{"id":26282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26275,"mutability":"mutable","name":"blockNumber","nameLocation":"2122:11:18","nodeType":"VariableDeclaration","scope":26283,"src":"2114:19:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26274,"name":"uint256","nodeType":"ElementaryTypeName","src":"2114:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26277,"mutability":"mutable","name":"blockHash","nameLocation":"2143:9:18","nodeType":"VariableDeclaration","scope":26283,"src":"2135:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26276,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2135:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":26281,"mutability":"mutable","name":"returnData","nameLocation":"2170:10:18","nodeType":"VariableDeclaration","scope":26283,"src":"2154:26:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$26150_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":26279,"nodeType":"UserDefinedTypeName","pathNode":{"id":26278,"name":"Result","nameLocations":["2154:6:18"],"nodeType":"IdentifierPath","referencedDeclaration":26150,"src":"2154:6:18"},"referencedDeclaration":26150,"src":"2154:6:18","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$26150_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":26280,"nodeType":"ArrayTypeName","src":"2154:8:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$26150_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"2113:68:18"},"scope":26284,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IMulticall3","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[26284],"name":"IMulticall3","nameLocation":"110:11:18","scope":26285,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/safeconsole.sol":{"id":19,"ast":{"absolutePath":"lib/forge-std/src/safeconsole.sol","id":39360,"exportedSymbols":{"safeconsole":[39359]},"nodeType":"SourceUnit","src":"32:427503:19","nodes":[{"id":26286,"nodeType":"PragmaDirective","src":"32:31:19","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":39359,"nodeType":"ContractDefinition","src":"163:427371:19","nodes":[{"id":26290,"nodeType":"VariableDeclaration","src":"189:98:19","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE_ADDR","nameLocation":"206:12:19","scope":39359,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26288,"name":"uint256","nodeType":"ElementaryTypeName","src":"189:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"307830303030303030303030303030303030303030303030303030303030303030303030303030303030303036333646366537333646366336353265366336663637","id":26289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"221:66:19","typeDescriptions":{"typeIdentifier":"t_rational_120209876281281145568259943_by_1","typeString":"int_const 120209876281281145568259943"},"value":"0x000000000000000000000000000000000000000000636F6e736F6c652e6c6f67"},"visibility":"internal"},{"id":26323,"nodeType":"FunctionDefinition","src":"476:374:19","nodes":[],"body":{"id":26322,"nodeType":"Block","src":"544:306:19","nodes":[],"statements":[{"assignments":[26304],"declarations":[{"constant":false,"id":26304,"mutability":"mutable","name":"fnIn","nameLocation":"595:4:19","nodeType":"VariableDeclaration","scope":26322,"src":"554:45:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) view"},"typeName":{"id":26303,"nodeType":"FunctionTypeName","parameterTypes":{"id":26301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26298,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26303,"src":"563:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26297,"name":"uint256","nodeType":"ElementaryTypeName","src":"563:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26303,"src":"572:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26299,"name":"uint256","nodeType":"ElementaryTypeName","src":"572:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"562:18:19"},"returnParameterTypes":{"id":26302,"nodeType":"ParameterList","parameters":[],"src":"595:0:19"},"src":"554:45:19","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) view"},"visibility":"internal"},"visibility":"internal"}],"id":26306,"initialValue":{"id":26305,"name":"_sendLogPayloadView","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26332,"src":"602:19:19","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) view"}},"nodeType":"VariableDeclarationStatement","src":"554:67:19"},{"assignments":[26314],"declarations":[{"constant":false,"id":26314,"mutability":"mutable","name":"pureSendLogPayload","nameLocation":"672:18:19","nodeType":"VariableDeclaration","scope":26322,"src":"631:59:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"},"typeName":{"id":26313,"nodeType":"FunctionTypeName","parameterTypes":{"id":26311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26308,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26313,"src":"640:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26307,"name":"uint256","nodeType":"ElementaryTypeName","src":"640:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26310,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26313,"src":"649:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26309,"name":"uint256","nodeType":"ElementaryTypeName","src":"649:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"639:18:19"},"returnParameterTypes":{"id":26312,"nodeType":"ParameterList","parameters":[],"src":"672:0:19"},"src":"631:59:19","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"},"visibility":"internal"},"visibility":"internal"}],"id":26315,"nodeType":"VariableDeclarationStatement","src":"631:59:19"},{"AST":{"nativeSrc":"752:50:19","nodeType":"YulBlock","src":"752:50:19","statements":[{"nativeSrc":"766:26:19","nodeType":"YulAssignment","src":"766:26:19","value":{"name":"fnIn","nativeSrc":"788:4:19","nodeType":"YulIdentifier","src":"788:4:19"},"variableNames":[{"name":"pureSendLogPayload","nativeSrc":"766:18:19","nodeType":"YulIdentifier","src":"766:18:19"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26304,"isOffset":false,"isSlot":false,"src":"788:4:19","valueSize":1},{"declaration":26314,"isOffset":false,"isSlot":false,"src":"766:18:19","valueSize":1}],"id":26316,"nodeType":"InlineAssembly","src":"743:59:19"},{"expression":{"arguments":[{"id":26318,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26292,"src":"830:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26319,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26294,"src":"838:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26317,"name":"pureSendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26314,"src":"811:18:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"811:32:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26321,"nodeType":"ExpressionStatement","src":"811:32:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayload","nameLocation":"485:15:19","parameters":{"id":26295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26292,"mutability":"mutable","name":"offset","nameLocation":"509:6:19","nodeType":"VariableDeclaration","scope":26323,"src":"501:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26291,"name":"uint256","nodeType":"ElementaryTypeName","src":"501:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26294,"mutability":"mutable","name":"size","nameLocation":"525:4:19","nodeType":"VariableDeclaration","scope":26323,"src":"517:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26293,"name":"uint256","nodeType":"ElementaryTypeName","src":"517:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"500:30:19"},"returnParameters":{"id":26296,"nodeType":"ParameterList","parameters":[],"src":"544:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":26332,"nodeType":"FunctionDefinition","src":"856:224:19","nodes":[],"body":{"id":26331,"nodeType":"Block","src":"928:152:19","nodes":[],"statements":[{"AST":{"nativeSrc":"990:84:19","nodeType":"YulBlock","src":"990:84:19","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"1019:3:19","nodeType":"YulIdentifier","src":"1019:3:19"},"nativeSrc":"1019:5:19","nodeType":"YulFunctionCall","src":"1019:5:19"},{"name":"CONSOLE_ADDR","nativeSrc":"1026:12:19","nodeType":"YulIdentifier","src":"1026:12:19"},{"name":"offset","nativeSrc":"1040:6:19","nodeType":"YulIdentifier","src":"1040:6:19"},{"name":"size","nativeSrc":"1048:4:19","nodeType":"YulIdentifier","src":"1048:4:19"},{"kind":"number","nativeSrc":"1054:3:19","nodeType":"YulLiteral","src":"1054:3:19","type":"","value":"0x0"},{"kind":"number","nativeSrc":"1059:3:19","nodeType":"YulLiteral","src":"1059:3:19","type":"","value":"0x0"}],"functionName":{"name":"staticcall","nativeSrc":"1008:10:19","nodeType":"YulIdentifier","src":"1008:10:19"},"nativeSrc":"1008:55:19","nodeType":"YulFunctionCall","src":"1008:55:19"}],"functionName":{"name":"pop","nativeSrc":"1004:3:19","nodeType":"YulIdentifier","src":"1004:3:19"},"nativeSrc":"1004:60:19","nodeType":"YulFunctionCall","src":"1004:60:19"},"nativeSrc":"1004:60:19","nodeType":"YulExpressionStatement","src":"1004:60:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26290,"isOffset":false,"isSlot":false,"src":"1026:12:19","valueSize":1},{"declaration":26325,"isOffset":false,"isSlot":false,"src":"1040:6:19","valueSize":1},{"declaration":26327,"isOffset":false,"isSlot":false,"src":"1048:4:19","valueSize":1}],"id":26330,"nodeType":"InlineAssembly","src":"981:93:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayloadView","nameLocation":"865:19:19","parameters":{"id":26328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26325,"mutability":"mutable","name":"offset","nameLocation":"893:6:19","nodeType":"VariableDeclaration","scope":26332,"src":"885:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26324,"name":"uint256","nodeType":"ElementaryTypeName","src":"885:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26327,"mutability":"mutable","name":"size","nameLocation":"909:4:19","nodeType":"VariableDeclaration","scope":26332,"src":"901:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26326,"name":"uint256","nodeType":"ElementaryTypeName","src":"901:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"884:30:19"},"returnParameters":{"id":26329,"nodeType":"ParameterList","parameters":[],"src":"928:0:19"},"scope":39359,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":26372,"nodeType":"FunctionDefinition","src":"1086:397:19","nodes":[],"body":{"id":26371,"nodeType":"Block","src":"1171:312:19","nodes":[],"statements":[{"assignments":[26350],"declarations":[{"constant":false,"id":26350,"mutability":"mutable","name":"fnIn","nameLocation":"1231:4:19","nodeType":"VariableDeclaration","scope":26371,"src":"1181:54:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) view"},"typeName":{"id":26349,"nodeType":"FunctionTypeName","parameterTypes":{"id":26347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26342,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26349,"src":"1190:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26341,"name":"uint256","nodeType":"ElementaryTypeName","src":"1190:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26344,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26349,"src":"1199:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26343,"name":"uint256","nodeType":"ElementaryTypeName","src":"1199:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26346,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26349,"src":"1208:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26345,"name":"uint256","nodeType":"ElementaryTypeName","src":"1208:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1189:27:19"},"returnParameterTypes":{"id":26348,"nodeType":"ParameterList","parameters":[],"src":"1231:0:19"},"src":"1181:54:19","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) view"},"visibility":"internal"},"visibility":"internal"}],"id":26352,"initialValue":{"id":26351,"name":"_memcopyView","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26383,"src":"1238:12:19","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) view"}},"nodeType":"VariableDeclarationStatement","src":"1181:69:19"},{"assignments":[26362],"declarations":[{"constant":false,"id":26362,"mutability":"mutable","name":"pureMemcopy","nameLocation":"1310:11:19","nodeType":"VariableDeclaration","scope":26371,"src":"1260:61:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"},"typeName":{"id":26361,"nodeType":"FunctionTypeName","parameterTypes":{"id":26359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26354,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26361,"src":"1269:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26353,"name":"uint256","nodeType":"ElementaryTypeName","src":"1269:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26356,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26361,"src":"1278:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26355,"name":"uint256","nodeType":"ElementaryTypeName","src":"1278:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26358,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":26361,"src":"1287:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26357,"name":"uint256","nodeType":"ElementaryTypeName","src":"1287:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1268:27:19"},"returnParameterTypes":{"id":26360,"nodeType":"ParameterList","parameters":[],"src":"1310:0:19"},"src":"1260:61:19","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"},"visibility":"internal"},"visibility":"internal"}],"id":26363,"nodeType":"VariableDeclarationStatement","src":"1260:61:19"},{"AST":{"nativeSrc":"1383:43:19","nodeType":"YulBlock","src":"1383:43:19","statements":[{"nativeSrc":"1397:19:19","nodeType":"YulAssignment","src":"1397:19:19","value":{"name":"fnIn","nativeSrc":"1412:4:19","nodeType":"YulIdentifier","src":"1412:4:19"},"variableNames":[{"name":"pureMemcopy","nativeSrc":"1397:11:19","nodeType":"YulIdentifier","src":"1397:11:19"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26350,"isOffset":false,"isSlot":false,"src":"1412:4:19","valueSize":1},{"declaration":26362,"isOffset":false,"isSlot":false,"src":"1397:11:19","valueSize":1}],"id":26364,"nodeType":"InlineAssembly","src":"1374:52:19"},{"expression":{"arguments":[{"id":26366,"name":"fromOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26334,"src":"1447:10:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26367,"name":"toOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26336,"src":"1459:8:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26368,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26338,"src":"1469:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26365,"name":"pureMemcopy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26362,"src":"1435:11:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":26369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1435:41:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26370,"nodeType":"ExpressionStatement","src":"1435:41:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_memcopy","nameLocation":"1095:8:19","parameters":{"id":26339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26334,"mutability":"mutable","name":"fromOffset","nameLocation":"1112:10:19","nodeType":"VariableDeclaration","scope":26372,"src":"1104:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26333,"name":"uint256","nodeType":"ElementaryTypeName","src":"1104:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26336,"mutability":"mutable","name":"toOffset","nameLocation":"1132:8:19","nodeType":"VariableDeclaration","scope":26372,"src":"1124:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26335,"name":"uint256","nodeType":"ElementaryTypeName","src":"1124:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26338,"mutability":"mutable","name":"length","nameLocation":"1150:6:19","nodeType":"VariableDeclaration","scope":26372,"src":"1142:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26337,"name":"uint256","nodeType":"ElementaryTypeName","src":"1142:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1103:54:19"},"returnParameters":{"id":26340,"nodeType":"ParameterList","parameters":[],"src":"1171:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":26383,"nodeType":"FunctionDefinition","src":"1489:246:19","nodes":[],"body":{"id":26382,"nodeType":"Block","src":"1578:157:19","nodes":[],"statements":[{"AST":{"nativeSrc":"1640:89:19","nodeType":"YulBlock","src":"1640:89:19","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"1669:3:19","nodeType":"YulIdentifier","src":"1669:3:19"},"nativeSrc":"1669:5:19","nodeType":"YulFunctionCall","src":"1669:5:19"},{"kind":"number","nativeSrc":"1676:3:19","nodeType":"YulLiteral","src":"1676:3:19","type":"","value":"0x4"},{"name":"fromOffset","nativeSrc":"1681:10:19","nodeType":"YulIdentifier","src":"1681:10:19"},{"name":"length","nativeSrc":"1693:6:19","nodeType":"YulIdentifier","src":"1693:6:19"},{"name":"toOffset","nativeSrc":"1701:8:19","nodeType":"YulIdentifier","src":"1701:8:19"},{"name":"length","nativeSrc":"1711:6:19","nodeType":"YulIdentifier","src":"1711:6:19"}],"functionName":{"name":"staticcall","nativeSrc":"1658:10:19","nodeType":"YulIdentifier","src":"1658:10:19"},"nativeSrc":"1658:60:19","nodeType":"YulFunctionCall","src":"1658:60:19"}],"functionName":{"name":"pop","nativeSrc":"1654:3:19","nodeType":"YulIdentifier","src":"1654:3:19"},"nativeSrc":"1654:65:19","nodeType":"YulFunctionCall","src":"1654:65:19"},"nativeSrc":"1654:65:19","nodeType":"YulExpressionStatement","src":"1654:65:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26374,"isOffset":false,"isSlot":false,"src":"1681:10:19","valueSize":1},{"declaration":26378,"isOffset":false,"isSlot":false,"src":"1693:6:19","valueSize":1},{"declaration":26378,"isOffset":false,"isSlot":false,"src":"1711:6:19","valueSize":1},{"declaration":26376,"isOffset":false,"isSlot":false,"src":"1701:8:19","valueSize":1}],"id":26381,"nodeType":"InlineAssembly","src":"1631:98:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_memcopyView","nameLocation":"1498:12:19","parameters":{"id":26379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26374,"mutability":"mutable","name":"fromOffset","nameLocation":"1519:10:19","nodeType":"VariableDeclaration","scope":26383,"src":"1511:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26373,"name":"uint256","nodeType":"ElementaryTypeName","src":"1511:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26376,"mutability":"mutable","name":"toOffset","nameLocation":"1539:8:19","nodeType":"VariableDeclaration","scope":26383,"src":"1531:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26375,"name":"uint256","nodeType":"ElementaryTypeName","src":"1531:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26378,"mutability":"mutable","name":"length","nameLocation":"1557:6:19","nodeType":"VariableDeclaration","scope":26383,"src":"1549:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26377,"name":"uint256","nodeType":"ElementaryTypeName","src":"1549:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1510:54:19"},"returnParameters":{"id":26380,"nodeType":"ParameterList","parameters":[],"src":"1578:0:19"},"scope":39359,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":26460,"nodeType":"FunctionDefinition","src":"1741:2088:19","nodes":[],"body":{"id":26459,"nodeType":"Block","src":"1806:2023:19","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26390,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26385,"src":"1820:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30783630","id":26391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1830:4:19","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"0x60"},"src":"1820:14:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":26457,"nodeType":"Block","src":"2698:1125:19","statements":[{"assignments":[26415],"declarations":[{"constant":false,"id":26415,"mutability":"mutable","name":"m0","nameLocation":"2802:2:19","nodeType":"VariableDeclaration","scope":26457,"src":"2794:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26414,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2794:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26416,"nodeType":"VariableDeclarationStatement","src":"2794:10:19"},{"assignments":[26418],"declarations":[{"constant":false,"id":26418,"mutability":"mutable","name":"m1","nameLocation":"2826:2:19","nodeType":"VariableDeclaration","scope":26457,"src":"2818:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26417,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2818:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26419,"nodeType":"VariableDeclarationStatement","src":"2818:10:19"},{"assignments":[26421],"declarations":[{"constant":false,"id":26421,"mutability":"mutable","name":"m2","nameLocation":"2850:2:19","nodeType":"VariableDeclaration","scope":26457,"src":"2842:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26420,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2842:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26422,"nodeType":"VariableDeclarationStatement","src":"2842:10:19"},{"assignments":[26424],"declarations":[{"constant":false,"id":26424,"mutability":"mutable","name":"endOffset","nameLocation":"2874:9:19","nodeType":"VariableDeclaration","scope":26457,"src":"2866:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26423,"name":"uint256","nodeType":"ElementaryTypeName","src":"2866:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":26428,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26425,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26385,"src":"2886:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":26426,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26387,"src":"2895:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2886:15:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2866:35:19"},{"AST":{"nativeSrc":"2971:165:19","nodeType":"YulBlock","src":"2971:165:19","statements":[{"nativeSrc":"2989:33:19","nodeType":"YulAssignment","src":"2989:33:19","value":{"arguments":[{"arguments":[{"name":"endOffset","nativeSrc":"3005:9:19","nodeType":"YulIdentifier","src":"3005:9:19"},{"kind":"number","nativeSrc":"3016:4:19","nodeType":"YulLiteral","src":"3016:4:19","type":"","value":"0x00"}],"functionName":{"name":"add","nativeSrc":"3001:3:19","nodeType":"YulIdentifier","src":"3001:3:19"},"nativeSrc":"3001:20:19","nodeType":"YulFunctionCall","src":"3001:20:19"}],"functionName":{"name":"mload","nativeSrc":"2995:5:19","nodeType":"YulIdentifier","src":"2995:5:19"},"nativeSrc":"2995:27:19","nodeType":"YulFunctionCall","src":"2995:27:19"},"variableNames":[{"name":"m0","nativeSrc":"2989:2:19","nodeType":"YulIdentifier","src":"2989:2:19"}]},{"nativeSrc":"3039:33:19","nodeType":"YulAssignment","src":"3039:33:19","value":{"arguments":[{"arguments":[{"name":"endOffset","nativeSrc":"3055:9:19","nodeType":"YulIdentifier","src":"3055:9:19"},{"kind":"number","nativeSrc":"3066:4:19","nodeType":"YulLiteral","src":"3066:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3051:3:19","nodeType":"YulIdentifier","src":"3051:3:19"},"nativeSrc":"3051:20:19","nodeType":"YulFunctionCall","src":"3051:20:19"}],"functionName":{"name":"mload","nativeSrc":"3045:5:19","nodeType":"YulIdentifier","src":"3045:5:19"},"nativeSrc":"3045:27:19","nodeType":"YulFunctionCall","src":"3045:27:19"},"variableNames":[{"name":"m1","nativeSrc":"3039:2:19","nodeType":"YulIdentifier","src":"3039:2:19"}]},{"nativeSrc":"3089:33:19","nodeType":"YulAssignment","src":"3089:33:19","value":{"arguments":[{"arguments":[{"name":"endOffset","nativeSrc":"3105:9:19","nodeType":"YulIdentifier","src":"3105:9:19"},{"kind":"number","nativeSrc":"3116:4:19","nodeType":"YulLiteral","src":"3116:4:19","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"3101:3:19","nodeType":"YulIdentifier","src":"3101:3:19"},"nativeSrc":"3101:20:19","nodeType":"YulFunctionCall","src":"3101:20:19"}],"functionName":{"name":"mload","nativeSrc":"3095:5:19","nodeType":"YulIdentifier","src":"3095:5:19"},"nativeSrc":"3095:27:19","nodeType":"YulFunctionCall","src":"3095:27:19"},"variableNames":[{"name":"m2","nativeSrc":"3089:2:19","nodeType":"YulIdentifier","src":"3089:2:19"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26424,"isOffset":false,"isSlot":false,"src":"3005:9:19","valueSize":1},{"declaration":26424,"isOffset":false,"isSlot":false,"src":"3055:9:19","valueSize":1},{"declaration":26424,"isOffset":false,"isSlot":false,"src":"3105:9:19","valueSize":1},{"declaration":26415,"isOffset":false,"isSlot":false,"src":"2989:2:19","valueSize":1},{"declaration":26418,"isOffset":false,"isSlot":false,"src":"3039:2:19","valueSize":1},{"declaration":26421,"isOffset":false,"isSlot":false,"src":"3089:2:19","valueSize":1}],"id":26429,"nodeType":"InlineAssembly","src":"2962:174:19"},{"expression":{"arguments":[{"id":26431,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26385,"src":"3158:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26432,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26385,"src":"3166:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"30783630","id":26433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3175:4:19","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"0x60"},"src":"3166:13:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26435,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26387,"src":"3181:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26430,"name":"_memcopy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26372,"src":"3149:8:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":26436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3149:39:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26437,"nodeType":"ExpressionStatement","src":"3149:39:19"},{"AST":{"nativeSrc":"3258:212:19","nodeType":"YulBlock","src":"3258:212:19","statements":[{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"3332:6:19","nodeType":"YulIdentifier","src":"3332:6:19"},{"kind":"number","nativeSrc":"3340:4:19","nodeType":"YulLiteral","src":"3340:4:19","type":"","value":"0x00"}],"functionName":{"name":"add","nativeSrc":"3328:3:19","nodeType":"YulIdentifier","src":"3328:3:19"},"nativeSrc":"3328:17:19","nodeType":"YulFunctionCall","src":"3328:17:19"},{"kind":"number","nativeSrc":"3347:10:19","nodeType":"YulLiteral","src":"3347:10:19","type":"","value":"0x0be77f56"}],"functionName":{"name":"mstore","nativeSrc":"3321:6:19","nodeType":"YulIdentifier","src":"3321:6:19"},"nativeSrc":"3321:37:19","nodeType":"YulFunctionCall","src":"3321:37:19"},"nativeSrc":"3321:37:19","nodeType":"YulExpressionStatement","src":"3321:37:19"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"3386:6:19","nodeType":"YulIdentifier","src":"3386:6:19"},{"kind":"number","nativeSrc":"3394:4:19","nodeType":"YulLiteral","src":"3394:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3382:3:19","nodeType":"YulIdentifier","src":"3382:3:19"},"nativeSrc":"3382:17:19","nodeType":"YulFunctionCall","src":"3382:17:19"},{"kind":"number","nativeSrc":"3401:4:19","nodeType":"YulLiteral","src":"3401:4:19","type":"","value":"0x20"}],"functionName":{"name":"mstore","nativeSrc":"3375:6:19","nodeType":"YulIdentifier","src":"3375:6:19"},"nativeSrc":"3375:31:19","nodeType":"YulFunctionCall","src":"3375:31:19"},"nativeSrc":"3375:31:19","nodeType":"YulExpressionStatement","src":"3375:31:19"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"3434:6:19","nodeType":"YulIdentifier","src":"3434:6:19"},{"kind":"number","nativeSrc":"3442:4:19","nodeType":"YulLiteral","src":"3442:4:19","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"3430:3:19","nodeType":"YulIdentifier","src":"3430:3:19"},"nativeSrc":"3430:17:19","nodeType":"YulFunctionCall","src":"3430:17:19"},{"name":"length","nativeSrc":"3449:6:19","nodeType":"YulIdentifier","src":"3449:6:19"}],"functionName":{"name":"mstore","nativeSrc":"3423:6:19","nodeType":"YulIdentifier","src":"3423:6:19"},"nativeSrc":"3423:33:19","nodeType":"YulFunctionCall","src":"3423:33:19"},"nativeSrc":"3423:33:19","nodeType":"YulExpressionStatement","src":"3423:33:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26387,"isOffset":false,"isSlot":false,"src":"3449:6:19","valueSize":1},{"declaration":26385,"isOffset":false,"isSlot":false,"src":"3332:6:19","valueSize":1},{"declaration":26385,"isOffset":false,"isSlot":false,"src":"3386:6:19","valueSize":1},{"declaration":26385,"isOffset":false,"isSlot":false,"src":"3434:6:19","valueSize":1}],"id":26438,"nodeType":"InlineAssembly","src":"3249:221:19"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26440,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26385,"src":"3499:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"30783163","id":26441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3508:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},"src":"3499:13:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26443,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26387,"src":"3514:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"30783434","id":26444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3523:4:19","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"},"src":"3514:13:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26439,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"3483:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3483:45:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26447,"nodeType":"ExpressionStatement","src":"3483:45:19"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26449,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26385,"src":"3551:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"30783630","id":26450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3560:4:19","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"0x60"},"src":"3551:13:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26452,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26385,"src":"3566:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26453,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26387,"src":"3574:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26448,"name":"_memcopy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26372,"src":"3542:8:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":26454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3542:39:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26455,"nodeType":"ExpressionStatement","src":"3542:39:19"},{"AST":{"nativeSrc":"3651:162:19","nodeType":"YulBlock","src":"3651:162:19","statements":[{"expression":{"arguments":[{"arguments":[{"name":"endOffset","nativeSrc":"3680:9:19","nodeType":"YulIdentifier","src":"3680:9:19"},{"kind":"number","nativeSrc":"3691:4:19","nodeType":"YulLiteral","src":"3691:4:19","type":"","value":"0x00"}],"functionName":{"name":"add","nativeSrc":"3676:3:19","nodeType":"YulIdentifier","src":"3676:3:19"},"nativeSrc":"3676:20:19","nodeType":"YulFunctionCall","src":"3676:20:19"},{"name":"m0","nativeSrc":"3698:2:19","nodeType":"YulIdentifier","src":"3698:2:19"}],"functionName":{"name":"mstore","nativeSrc":"3669:6:19","nodeType":"YulIdentifier","src":"3669:6:19"},"nativeSrc":"3669:32:19","nodeType":"YulFunctionCall","src":"3669:32:19"},"nativeSrc":"3669:32:19","nodeType":"YulExpressionStatement","src":"3669:32:19"},{"expression":{"arguments":[{"arguments":[{"name":"endOffset","nativeSrc":"3729:9:19","nodeType":"YulIdentifier","src":"3729:9:19"},{"kind":"number","nativeSrc":"3740:4:19","nodeType":"YulLiteral","src":"3740:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3725:3:19","nodeType":"YulIdentifier","src":"3725:3:19"},"nativeSrc":"3725:20:19","nodeType":"YulFunctionCall","src":"3725:20:19"},{"name":"m1","nativeSrc":"3747:2:19","nodeType":"YulIdentifier","src":"3747:2:19"}],"functionName":{"name":"mstore","nativeSrc":"3718:6:19","nodeType":"YulIdentifier","src":"3718:6:19"},"nativeSrc":"3718:32:19","nodeType":"YulFunctionCall","src":"3718:32:19"},"nativeSrc":"3718:32:19","nodeType":"YulExpressionStatement","src":"3718:32:19"},{"expression":{"arguments":[{"arguments":[{"name":"endOffset","nativeSrc":"3778:9:19","nodeType":"YulIdentifier","src":"3778:9:19"},{"kind":"number","nativeSrc":"3789:4:19","nodeType":"YulLiteral","src":"3789:4:19","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"3774:3:19","nodeType":"YulIdentifier","src":"3774:3:19"},"nativeSrc":"3774:20:19","nodeType":"YulFunctionCall","src":"3774:20:19"},{"name":"m2","nativeSrc":"3796:2:19","nodeType":"YulIdentifier","src":"3796:2:19"}],"functionName":{"name":"mstore","nativeSrc":"3767:6:19","nodeType":"YulIdentifier","src":"3767:6:19"},"nativeSrc":"3767:32:19","nodeType":"YulFunctionCall","src":"3767:32:19"},"nativeSrc":"3767:32:19","nodeType":"YulExpressionStatement","src":"3767:32:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26424,"isOffset":false,"isSlot":false,"src":"3680:9:19","valueSize":1},{"declaration":26424,"isOffset":false,"isSlot":false,"src":"3729:9:19","valueSize":1},{"declaration":26424,"isOffset":false,"isSlot":false,"src":"3778:9:19","valueSize":1},{"declaration":26415,"isOffset":false,"isSlot":false,"src":"3698:2:19","valueSize":1},{"declaration":26418,"isOffset":false,"isSlot":false,"src":"3747:2:19","valueSize":1},{"declaration":26421,"isOffset":false,"isSlot":false,"src":"3796:2:19","valueSize":1}],"id":26456,"nodeType":"InlineAssembly","src":"3642:171:19"}]},"id":26458,"nodeType":"IfStatement","src":"1816:2007:19","trueBody":{"id":26413,"nodeType":"Block","src":"1836:856:19","statements":[{"assignments":[26394],"declarations":[{"constant":false,"id":26394,"mutability":"mutable","name":"m0","nameLocation":"1928:2:19","nodeType":"VariableDeclaration","scope":26413,"src":"1920:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26393,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1920:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26395,"nodeType":"VariableDeclarationStatement","src":"1920:10:19"},{"assignments":[26397],"declarations":[{"constant":false,"id":26397,"mutability":"mutable","name":"m1","nameLocation":"1952:2:19","nodeType":"VariableDeclaration","scope":26413,"src":"1944:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26396,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1944:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26398,"nodeType":"VariableDeclarationStatement","src":"1944:10:19"},{"assignments":[26400],"declarations":[{"constant":false,"id":26400,"mutability":"mutable","name":"m2","nameLocation":"1976:2:19","nodeType":"VariableDeclaration","scope":26413,"src":"1968:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26399,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1968:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26401,"nodeType":"VariableDeclarationStatement","src":"1968:10:19"},{"AST":{"nativeSrc":"2048:353:19","nodeType":"YulBlock","src":"2048:353:19","statements":[{"nativeSrc":"2066:30:19","nodeType":"YulAssignment","src":"2066:30:19","value":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2082:6:19","nodeType":"YulIdentifier","src":"2082:6:19"},{"kind":"number","nativeSrc":"2090:4:19","nodeType":"YulLiteral","src":"2090:4:19","type":"","value":"0x60"}],"functionName":{"name":"sub","nativeSrc":"2078:3:19","nodeType":"YulIdentifier","src":"2078:3:19"},"nativeSrc":"2078:17:19","nodeType":"YulFunctionCall","src":"2078:17:19"}],"functionName":{"name":"mload","nativeSrc":"2072:5:19","nodeType":"YulIdentifier","src":"2072:5:19"},"nativeSrc":"2072:24:19","nodeType":"YulFunctionCall","src":"2072:24:19"},"variableNames":[{"name":"m0","nativeSrc":"2066:2:19","nodeType":"YulIdentifier","src":"2066:2:19"}]},{"nativeSrc":"2113:30:19","nodeType":"YulAssignment","src":"2113:30:19","value":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2129:6:19","nodeType":"YulIdentifier","src":"2129:6:19"},{"kind":"number","nativeSrc":"2137:4:19","nodeType":"YulLiteral","src":"2137:4:19","type":"","value":"0x40"}],"functionName":{"name":"sub","nativeSrc":"2125:3:19","nodeType":"YulIdentifier","src":"2125:3:19"},"nativeSrc":"2125:17:19","nodeType":"YulFunctionCall","src":"2125:17:19"}],"functionName":{"name":"mload","nativeSrc":"2119:5:19","nodeType":"YulIdentifier","src":"2119:5:19"},"nativeSrc":"2119:24:19","nodeType":"YulFunctionCall","src":"2119:24:19"},"variableNames":[{"name":"m1","nativeSrc":"2113:2:19","nodeType":"YulIdentifier","src":"2113:2:19"}]},{"nativeSrc":"2160:30:19","nodeType":"YulAssignment","src":"2160:30:19","value":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2176:6:19","nodeType":"YulIdentifier","src":"2176:6:19"},{"kind":"number","nativeSrc":"2184:4:19","nodeType":"YulLiteral","src":"2184:4:19","type":"","value":"0x20"}],"functionName":{"name":"sub","nativeSrc":"2172:3:19","nodeType":"YulIdentifier","src":"2172:3:19"},"nativeSrc":"2172:17:19","nodeType":"YulFunctionCall","src":"2172:17:19"}],"functionName":{"name":"mload","nativeSrc":"2166:5:19","nodeType":"YulIdentifier","src":"2166:5:19"},"nativeSrc":"2166:24:19","nodeType":"YulFunctionCall","src":"2166:24:19"},"variableNames":[{"name":"m2","nativeSrc":"2160:2:19","nodeType":"YulIdentifier","src":"2160:2:19"}]},{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2263:6:19","nodeType":"YulIdentifier","src":"2263:6:19"},{"kind":"number","nativeSrc":"2271:4:19","nodeType":"YulLiteral","src":"2271:4:19","type":"","value":"0x60"}],"functionName":{"name":"sub","nativeSrc":"2259:3:19","nodeType":"YulIdentifier","src":"2259:3:19"},"nativeSrc":"2259:17:19","nodeType":"YulFunctionCall","src":"2259:17:19"},{"kind":"number","nativeSrc":"2278:10:19","nodeType":"YulLiteral","src":"2278:10:19","type":"","value":"0x0be77f56"}],"functionName":{"name":"mstore","nativeSrc":"2252:6:19","nodeType":"YulIdentifier","src":"2252:6:19"},"nativeSrc":"2252:37:19","nodeType":"YulFunctionCall","src":"2252:37:19"},"nativeSrc":"2252:37:19","nodeType":"YulExpressionStatement","src":"2252:37:19"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2317:6:19","nodeType":"YulIdentifier","src":"2317:6:19"},{"kind":"number","nativeSrc":"2325:4:19","nodeType":"YulLiteral","src":"2325:4:19","type":"","value":"0x40"}],"functionName":{"name":"sub","nativeSrc":"2313:3:19","nodeType":"YulIdentifier","src":"2313:3:19"},"nativeSrc":"2313:17:19","nodeType":"YulFunctionCall","src":"2313:17:19"},{"kind":"number","nativeSrc":"2332:4:19","nodeType":"YulLiteral","src":"2332:4:19","type":"","value":"0x20"}],"functionName":{"name":"mstore","nativeSrc":"2306:6:19","nodeType":"YulIdentifier","src":"2306:6:19"},"nativeSrc":"2306:31:19","nodeType":"YulFunctionCall","src":"2306:31:19"},"nativeSrc":"2306:31:19","nodeType":"YulExpressionStatement","src":"2306:31:19"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2365:6:19","nodeType":"YulIdentifier","src":"2365:6:19"},{"kind":"number","nativeSrc":"2373:4:19","nodeType":"YulLiteral","src":"2373:4:19","type":"","value":"0x20"}],"functionName":{"name":"sub","nativeSrc":"2361:3:19","nodeType":"YulIdentifier","src":"2361:3:19"},"nativeSrc":"2361:17:19","nodeType":"YulFunctionCall","src":"2361:17:19"},{"name":"length","nativeSrc":"2380:6:19","nodeType":"YulIdentifier","src":"2380:6:19"}],"functionName":{"name":"mstore","nativeSrc":"2354:6:19","nodeType":"YulIdentifier","src":"2354:6:19"},"nativeSrc":"2354:33:19","nodeType":"YulFunctionCall","src":"2354:33:19"},"nativeSrc":"2354:33:19","nodeType":"YulExpressionStatement","src":"2354:33:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26387,"isOffset":false,"isSlot":false,"src":"2380:6:19","valueSize":1},{"declaration":26394,"isOffset":false,"isSlot":false,"src":"2066:2:19","valueSize":1},{"declaration":26397,"isOffset":false,"isSlot":false,"src":"2113:2:19","valueSize":1},{"declaration":26400,"isOffset":false,"isSlot":false,"src":"2160:2:19","valueSize":1},{"declaration":26385,"isOffset":false,"isSlot":false,"src":"2082:6:19","valueSize":1},{"declaration":26385,"isOffset":false,"isSlot":false,"src":"2129:6:19","valueSize":1},{"declaration":26385,"isOffset":false,"isSlot":false,"src":"2176:6:19","valueSize":1},{"declaration":26385,"isOffset":false,"isSlot":false,"src":"2263:6:19","valueSize":1},{"declaration":26385,"isOffset":false,"isSlot":false,"src":"2317:6:19","valueSize":1},{"declaration":26385,"isOffset":false,"isSlot":false,"src":"2365:6:19","valueSize":1}],"id":26402,"nodeType":"InlineAssembly","src":"2039:362:19"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26404,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26385,"src":"2430:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"30783434","id":26405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2439:4:19","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"},"src":"2430:13:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":26409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":26407,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26387,"src":"2445:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"30783434","id":26408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2454:4:19","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"},"src":"2445:13:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":26403,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"2414:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2414:45:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26411,"nodeType":"ExpressionStatement","src":"2414:45:19"},{"AST":{"nativeSrc":"2529:153:19","nodeType":"YulBlock","src":"2529:153:19","statements":[{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2558:6:19","nodeType":"YulIdentifier","src":"2558:6:19"},{"kind":"number","nativeSrc":"2566:4:19","nodeType":"YulLiteral","src":"2566:4:19","type":"","value":"0x60"}],"functionName":{"name":"sub","nativeSrc":"2554:3:19","nodeType":"YulIdentifier","src":"2554:3:19"},"nativeSrc":"2554:17:19","nodeType":"YulFunctionCall","src":"2554:17:19"},{"name":"m0","nativeSrc":"2573:2:19","nodeType":"YulIdentifier","src":"2573:2:19"}],"functionName":{"name":"mstore","nativeSrc":"2547:6:19","nodeType":"YulIdentifier","src":"2547:6:19"},"nativeSrc":"2547:29:19","nodeType":"YulFunctionCall","src":"2547:29:19"},"nativeSrc":"2547:29:19","nodeType":"YulExpressionStatement","src":"2547:29:19"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2604:6:19","nodeType":"YulIdentifier","src":"2604:6:19"},{"kind":"number","nativeSrc":"2612:4:19","nodeType":"YulLiteral","src":"2612:4:19","type":"","value":"0x40"}],"functionName":{"name":"sub","nativeSrc":"2600:3:19","nodeType":"YulIdentifier","src":"2600:3:19"},"nativeSrc":"2600:17:19","nodeType":"YulFunctionCall","src":"2600:17:19"},{"name":"m1","nativeSrc":"2619:2:19","nodeType":"YulIdentifier","src":"2619:2:19"}],"functionName":{"name":"mstore","nativeSrc":"2593:6:19","nodeType":"YulIdentifier","src":"2593:6:19"},"nativeSrc":"2593:29:19","nodeType":"YulFunctionCall","src":"2593:29:19"},"nativeSrc":"2593:29:19","nodeType":"YulExpressionStatement","src":"2593:29:19"},{"expression":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"2650:6:19","nodeType":"YulIdentifier","src":"2650:6:19"},{"kind":"number","nativeSrc":"2658:4:19","nodeType":"YulLiteral","src":"2658:4:19","type":"","value":"0x20"}],"functionName":{"name":"sub","nativeSrc":"2646:3:19","nodeType":"YulIdentifier","src":"2646:3:19"},"nativeSrc":"2646:17:19","nodeType":"YulFunctionCall","src":"2646:17:19"},{"name":"m2","nativeSrc":"2665:2:19","nodeType":"YulIdentifier","src":"2665:2:19"}],"functionName":{"name":"mstore","nativeSrc":"2639:6:19","nodeType":"YulIdentifier","src":"2639:6:19"},"nativeSrc":"2639:29:19","nodeType":"YulFunctionCall","src":"2639:29:19"},"nativeSrc":"2639:29:19","nodeType":"YulExpressionStatement","src":"2639:29:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26394,"isOffset":false,"isSlot":false,"src":"2573:2:19","valueSize":1},{"declaration":26397,"isOffset":false,"isSlot":false,"src":"2619:2:19","valueSize":1},{"declaration":26400,"isOffset":false,"isSlot":false,"src":"2665:2:19","valueSize":1},{"declaration":26385,"isOffset":false,"isSlot":false,"src":"2558:6:19","valueSize":1},{"declaration":26385,"isOffset":false,"isSlot":false,"src":"2604:6:19","valueSize":1},{"declaration":26385,"isOffset":false,"isSlot":false,"src":"2650:6:19","valueSize":1}],"id":26412,"nodeType":"InlineAssembly","src":"2520:162:19"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"logMemory","nameLocation":"1750:9:19","parameters":{"id":26388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26385,"mutability":"mutable","name":"offset","nameLocation":"1768:6:19","nodeType":"VariableDeclaration","scope":26460,"src":"1760:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26384,"name":"uint256","nodeType":"ElementaryTypeName","src":"1760:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26387,"mutability":"mutable","name":"length","nameLocation":"1784:6:19","nodeType":"VariableDeclaration","scope":26460,"src":"1776:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26386,"name":"uint256","nodeType":"ElementaryTypeName","src":"1776:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1759:32:19"},"returnParameters":{"id":26389,"nodeType":"ParameterList","parameters":[],"src":"1806:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26479,"nodeType":"FunctionDefinition","src":"3835:494:19","nodes":[],"body":{"id":26478,"nodeType":"Block","src":"3874:455:19","nodes":[],"statements":[{"assignments":[26466],"declarations":[{"constant":false,"id":26466,"mutability":"mutable","name":"m0","nameLocation":"3892:2:19","nodeType":"VariableDeclaration","scope":26478,"src":"3884:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26465,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3884:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26467,"nodeType":"VariableDeclarationStatement","src":"3884:10:19"},{"assignments":[26469],"declarations":[{"constant":false,"id":26469,"mutability":"mutable","name":"m1","nameLocation":"3912:2:19","nodeType":"VariableDeclaration","scope":26478,"src":"3904:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26468,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3904:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26470,"nodeType":"VariableDeclarationStatement","src":"3904:10:19"},{"AST":{"nativeSrc":"3976:180:19","nodeType":"YulBlock","src":"3976:180:19","statements":[{"nativeSrc":"3990:17:19","nodeType":"YulAssignment","src":"3990:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"4002:4:19","nodeType":"YulLiteral","src":"4002:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"3996:5:19","nodeType":"YulIdentifier","src":"3996:5:19"},"nativeSrc":"3996:11:19","nodeType":"YulFunctionCall","src":"3996:11:19"},"variableNames":[{"name":"m0","nativeSrc":"3990:2:19","nodeType":"YulIdentifier","src":"3990:2:19"}]},{"nativeSrc":"4020:17:19","nodeType":"YulAssignment","src":"4020:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"4032:4:19","nodeType":"YulLiteral","src":"4032:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"4026:5:19","nodeType":"YulIdentifier","src":"4026:5:19"},"nativeSrc":"4026:11:19","nodeType":"YulFunctionCall","src":"4026:11:19"},"variableNames":[{"name":"m1","nativeSrc":"4020:2:19","nodeType":"YulIdentifier","src":"4020:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"4100:4:19","nodeType":"YulLiteral","src":"4100:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"4106:10:19","nodeType":"YulLiteral","src":"4106:10:19","type":"","value":"0x2c2ecbc2"}],"functionName":{"name":"mstore","nativeSrc":"4093:6:19","nodeType":"YulIdentifier","src":"4093:6:19"},"nativeSrc":"4093:24:19","nodeType":"YulFunctionCall","src":"4093:24:19"},"nativeSrc":"4093:24:19","nodeType":"YulExpressionStatement","src":"4093:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"4137:4:19","nodeType":"YulLiteral","src":"4137:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"4143:2:19","nodeType":"YulIdentifier","src":"4143:2:19"}],"functionName":{"name":"mstore","nativeSrc":"4130:6:19","nodeType":"YulIdentifier","src":"4130:6:19"},"nativeSrc":"4130:16:19","nodeType":"YulFunctionCall","src":"4130:16:19"},"nativeSrc":"4130:16:19","nodeType":"YulExpressionStatement","src":"4130:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26466,"isOffset":false,"isSlot":false,"src":"3990:2:19","valueSize":1},{"declaration":26469,"isOffset":false,"isSlot":false,"src":"4020:2:19","valueSize":1},{"declaration":26462,"isOffset":false,"isSlot":false,"src":"4143:2:19","valueSize":1}],"id":26471,"nodeType":"InlineAssembly","src":"3967:189:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":26473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4181:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783234","id":26474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4187:4:19","typeDescriptions":{"typeIdentifier":"t_rational_36_by_1","typeString":"int_const 36"},"value":"0x24"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_36_by_1","typeString":"int_const 36"}],"id":26472,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"4165:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4165:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26476,"nodeType":"ExpressionStatement","src":"4165:27:19"},{"AST":{"nativeSrc":"4254:69:19","nodeType":"YulBlock","src":"4254:69:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"4275:4:19","nodeType":"YulLiteral","src":"4275:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"4281:2:19","nodeType":"YulIdentifier","src":"4281:2:19"}],"functionName":{"name":"mstore","nativeSrc":"4268:6:19","nodeType":"YulIdentifier","src":"4268:6:19"},"nativeSrc":"4268:16:19","nodeType":"YulFunctionCall","src":"4268:16:19"},"nativeSrc":"4268:16:19","nodeType":"YulExpressionStatement","src":"4268:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"4304:4:19","nodeType":"YulLiteral","src":"4304:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"4310:2:19","nodeType":"YulIdentifier","src":"4310:2:19"}],"functionName":{"name":"mstore","nativeSrc":"4297:6:19","nodeType":"YulIdentifier","src":"4297:6:19"},"nativeSrc":"4297:16:19","nodeType":"YulFunctionCall","src":"4297:16:19"},"nativeSrc":"4297:16:19","nodeType":"YulExpressionStatement","src":"4297:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26466,"isOffset":false,"isSlot":false,"src":"4281:2:19","valueSize":1},{"declaration":26469,"isOffset":false,"isSlot":false,"src":"4310:2:19","valueSize":1}],"id":26477,"nodeType":"InlineAssembly","src":"4245:78:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"3844:3:19","parameters":{"id":26463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26462,"mutability":"mutable","name":"p0","nameLocation":"3856:2:19","nodeType":"VariableDeclaration","scope":26479,"src":"3848:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26461,"name":"address","nodeType":"ElementaryTypeName","src":"3848:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3847:12:19"},"returnParameters":{"id":26464,"nodeType":"ParameterList","parameters":[],"src":"3874:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26498,"nodeType":"FunctionDefinition","src":"4335:488:19","nodes":[],"body":{"id":26497,"nodeType":"Block","src":"4371:452:19","nodes":[],"statements":[{"assignments":[26485],"declarations":[{"constant":false,"id":26485,"mutability":"mutable","name":"m0","nameLocation":"4389:2:19","nodeType":"VariableDeclaration","scope":26497,"src":"4381:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26484,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4381:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26486,"nodeType":"VariableDeclarationStatement","src":"4381:10:19"},{"assignments":[26488],"declarations":[{"constant":false,"id":26488,"mutability":"mutable","name":"m1","nameLocation":"4409:2:19","nodeType":"VariableDeclaration","scope":26497,"src":"4401:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26487,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4401:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26489,"nodeType":"VariableDeclarationStatement","src":"4401:10:19"},{"AST":{"nativeSrc":"4473:177:19","nodeType":"YulBlock","src":"4473:177:19","statements":[{"nativeSrc":"4487:17:19","nodeType":"YulAssignment","src":"4487:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"4499:4:19","nodeType":"YulLiteral","src":"4499:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"4493:5:19","nodeType":"YulIdentifier","src":"4493:5:19"},"nativeSrc":"4493:11:19","nodeType":"YulFunctionCall","src":"4493:11:19"},"variableNames":[{"name":"m0","nativeSrc":"4487:2:19","nodeType":"YulIdentifier","src":"4487:2:19"}]},{"nativeSrc":"4517:17:19","nodeType":"YulAssignment","src":"4517:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"4529:4:19","nodeType":"YulLiteral","src":"4529:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"4523:5:19","nodeType":"YulIdentifier","src":"4523:5:19"},"nativeSrc":"4523:11:19","nodeType":"YulFunctionCall","src":"4523:11:19"},"variableNames":[{"name":"m1","nativeSrc":"4517:2:19","nodeType":"YulIdentifier","src":"4517:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"4594:4:19","nodeType":"YulLiteral","src":"4594:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"4600:10:19","nodeType":"YulLiteral","src":"4600:10:19","type":"","value":"0x32458eed"}],"functionName":{"name":"mstore","nativeSrc":"4587:6:19","nodeType":"YulIdentifier","src":"4587:6:19"},"nativeSrc":"4587:24:19","nodeType":"YulFunctionCall","src":"4587:24:19"},"nativeSrc":"4587:24:19","nodeType":"YulExpressionStatement","src":"4587:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"4631:4:19","nodeType":"YulLiteral","src":"4631:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"4637:2:19","nodeType":"YulIdentifier","src":"4637:2:19"}],"functionName":{"name":"mstore","nativeSrc":"4624:6:19","nodeType":"YulIdentifier","src":"4624:6:19"},"nativeSrc":"4624:16:19","nodeType":"YulFunctionCall","src":"4624:16:19"},"nativeSrc":"4624:16:19","nodeType":"YulExpressionStatement","src":"4624:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26485,"isOffset":false,"isSlot":false,"src":"4487:2:19","valueSize":1},{"declaration":26488,"isOffset":false,"isSlot":false,"src":"4517:2:19","valueSize":1},{"declaration":26481,"isOffset":false,"isSlot":false,"src":"4637:2:19","valueSize":1}],"id":26490,"nodeType":"InlineAssembly","src":"4464:186:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":26492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4675:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783234","id":26493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4681:4:19","typeDescriptions":{"typeIdentifier":"t_rational_36_by_1","typeString":"int_const 36"},"value":"0x24"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_36_by_1","typeString":"int_const 36"}],"id":26491,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"4659:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4659:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26495,"nodeType":"ExpressionStatement","src":"4659:27:19"},{"AST":{"nativeSrc":"4748:69:19","nodeType":"YulBlock","src":"4748:69:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"4769:4:19","nodeType":"YulLiteral","src":"4769:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"4775:2:19","nodeType":"YulIdentifier","src":"4775:2:19"}],"functionName":{"name":"mstore","nativeSrc":"4762:6:19","nodeType":"YulIdentifier","src":"4762:6:19"},"nativeSrc":"4762:16:19","nodeType":"YulFunctionCall","src":"4762:16:19"},"nativeSrc":"4762:16:19","nodeType":"YulExpressionStatement","src":"4762:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"4798:4:19","nodeType":"YulLiteral","src":"4798:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"4804:2:19","nodeType":"YulIdentifier","src":"4804:2:19"}],"functionName":{"name":"mstore","nativeSrc":"4791:6:19","nodeType":"YulIdentifier","src":"4791:6:19"},"nativeSrc":"4791:16:19","nodeType":"YulFunctionCall","src":"4791:16:19"},"nativeSrc":"4791:16:19","nodeType":"YulExpressionStatement","src":"4791:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26485,"isOffset":false,"isSlot":false,"src":"4775:2:19","valueSize":1},{"declaration":26488,"isOffset":false,"isSlot":false,"src":"4804:2:19","valueSize":1}],"id":26496,"nodeType":"InlineAssembly","src":"4739:78:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"4344:3:19","parameters":{"id":26482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26481,"mutability":"mutable","name":"p0","nameLocation":"4353:2:19","nodeType":"VariableDeclaration","scope":26498,"src":"4348:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26480,"name":"bool","nodeType":"ElementaryTypeName","src":"4348:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4347:9:19"},"returnParameters":{"id":26483,"nodeType":"ParameterList","parameters":[],"src":"4371:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26517,"nodeType":"FunctionDefinition","src":"4829:494:19","nodes":[],"body":{"id":26516,"nodeType":"Block","src":"4868:455:19","nodes":[],"statements":[{"assignments":[26504],"declarations":[{"constant":false,"id":26504,"mutability":"mutable","name":"m0","nameLocation":"4886:2:19","nodeType":"VariableDeclaration","scope":26516,"src":"4878:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26503,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4878:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26505,"nodeType":"VariableDeclarationStatement","src":"4878:10:19"},{"assignments":[26507],"declarations":[{"constant":false,"id":26507,"mutability":"mutable","name":"m1","nameLocation":"4906:2:19","nodeType":"VariableDeclaration","scope":26516,"src":"4898:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26506,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4898:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26508,"nodeType":"VariableDeclarationStatement","src":"4898:10:19"},{"AST":{"nativeSrc":"4970:180:19","nodeType":"YulBlock","src":"4970:180:19","statements":[{"nativeSrc":"4984:17:19","nodeType":"YulAssignment","src":"4984:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"4996:4:19","nodeType":"YulLiteral","src":"4996:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"4990:5:19","nodeType":"YulIdentifier","src":"4990:5:19"},"nativeSrc":"4990:11:19","nodeType":"YulFunctionCall","src":"4990:11:19"},"variableNames":[{"name":"m0","nativeSrc":"4984:2:19","nodeType":"YulIdentifier","src":"4984:2:19"}]},{"nativeSrc":"5014:17:19","nodeType":"YulAssignment","src":"5014:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"5026:4:19","nodeType":"YulLiteral","src":"5026:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"5020:5:19","nodeType":"YulIdentifier","src":"5020:5:19"},"nativeSrc":"5020:11:19","nodeType":"YulFunctionCall","src":"5020:11:19"},"variableNames":[{"name":"m1","nativeSrc":"5014:2:19","nodeType":"YulIdentifier","src":"5014:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"5094:4:19","nodeType":"YulLiteral","src":"5094:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"5100:10:19","nodeType":"YulLiteral","src":"5100:10:19","type":"","value":"0xf82c50f1"}],"functionName":{"name":"mstore","nativeSrc":"5087:6:19","nodeType":"YulIdentifier","src":"5087:6:19"},"nativeSrc":"5087:24:19","nodeType":"YulFunctionCall","src":"5087:24:19"},"nativeSrc":"5087:24:19","nodeType":"YulExpressionStatement","src":"5087:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"5131:4:19","nodeType":"YulLiteral","src":"5131:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"5137:2:19","nodeType":"YulIdentifier","src":"5137:2:19"}],"functionName":{"name":"mstore","nativeSrc":"5124:6:19","nodeType":"YulIdentifier","src":"5124:6:19"},"nativeSrc":"5124:16:19","nodeType":"YulFunctionCall","src":"5124:16:19"},"nativeSrc":"5124:16:19","nodeType":"YulExpressionStatement","src":"5124:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26504,"isOffset":false,"isSlot":false,"src":"4984:2:19","valueSize":1},{"declaration":26507,"isOffset":false,"isSlot":false,"src":"5014:2:19","valueSize":1},{"declaration":26500,"isOffset":false,"isSlot":false,"src":"5137:2:19","valueSize":1}],"id":26509,"nodeType":"InlineAssembly","src":"4961:189:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":26511,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5175:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783234","id":26512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5181:4:19","typeDescriptions":{"typeIdentifier":"t_rational_36_by_1","typeString":"int_const 36"},"value":"0x24"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_36_by_1","typeString":"int_const 36"}],"id":26510,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"5159:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5159:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26514,"nodeType":"ExpressionStatement","src":"5159:27:19"},{"AST":{"nativeSrc":"5248:69:19","nodeType":"YulBlock","src":"5248:69:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"5269:4:19","nodeType":"YulLiteral","src":"5269:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"5275:2:19","nodeType":"YulIdentifier","src":"5275:2:19"}],"functionName":{"name":"mstore","nativeSrc":"5262:6:19","nodeType":"YulIdentifier","src":"5262:6:19"},"nativeSrc":"5262:16:19","nodeType":"YulFunctionCall","src":"5262:16:19"},"nativeSrc":"5262:16:19","nodeType":"YulExpressionStatement","src":"5262:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"5298:4:19","nodeType":"YulLiteral","src":"5298:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"5304:2:19","nodeType":"YulIdentifier","src":"5304:2:19"}],"functionName":{"name":"mstore","nativeSrc":"5291:6:19","nodeType":"YulIdentifier","src":"5291:6:19"},"nativeSrc":"5291:16:19","nodeType":"YulFunctionCall","src":"5291:16:19"},"nativeSrc":"5291:16:19","nodeType":"YulExpressionStatement","src":"5291:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26504,"isOffset":false,"isSlot":false,"src":"5275:2:19","valueSize":1},{"declaration":26507,"isOffset":false,"isSlot":false,"src":"5304:2:19","valueSize":1}],"id":26515,"nodeType":"InlineAssembly","src":"5239:78:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"4838:3:19","parameters":{"id":26501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26500,"mutability":"mutable","name":"p0","nameLocation":"4850:2:19","nodeType":"VariableDeclaration","scope":26517,"src":"4842:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26499,"name":"uint256","nodeType":"ElementaryTypeName","src":"4842:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4841:12:19"},"returnParameters":{"id":26502,"nodeType":"ParameterList","parameters":[],"src":"4868:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26542,"nodeType":"FunctionDefinition","src":"5329:1042:19","nodes":[],"body":{"id":26541,"nodeType":"Block","src":"5368:1003:19","nodes":[],"statements":[{"assignments":[26523],"declarations":[{"constant":false,"id":26523,"mutability":"mutable","name":"m0","nameLocation":"5386:2:19","nodeType":"VariableDeclaration","scope":26541,"src":"5378:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26522,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5378:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26524,"nodeType":"VariableDeclarationStatement","src":"5378:10:19"},{"assignments":[26526],"declarations":[{"constant":false,"id":26526,"mutability":"mutable","name":"m1","nameLocation":"5406:2:19","nodeType":"VariableDeclaration","scope":26541,"src":"5398:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26525,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5398:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26527,"nodeType":"VariableDeclarationStatement","src":"5398:10:19"},{"assignments":[26529],"declarations":[{"constant":false,"id":26529,"mutability":"mutable","name":"m2","nameLocation":"5426:2:19","nodeType":"VariableDeclaration","scope":26541,"src":"5418:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26528,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5418:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26530,"nodeType":"VariableDeclarationStatement","src":"5418:10:19"},{"assignments":[26532],"declarations":[{"constant":false,"id":26532,"mutability":"mutable","name":"m3","nameLocation":"5446:2:19","nodeType":"VariableDeclaration","scope":26541,"src":"5438:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26531,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5438:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26533,"nodeType":"VariableDeclarationStatement","src":"5438:10:19"},{"AST":{"nativeSrc":"5510:630:19","nodeType":"YulBlock","src":"5510:630:19","statements":[{"body":{"nativeSrc":"5553:313:19","nodeType":"YulBlock","src":"5553:313:19","statements":[{"nativeSrc":"5571:15:19","nodeType":"YulVariableDeclaration","src":"5571:15:19","value":{"kind":"number","nativeSrc":"5585:1:19","nodeType":"YulLiteral","src":"5585:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"5575:6:19","nodeType":"YulTypedName","src":"5575:6:19","type":""}]},{"body":{"nativeSrc":"5656:40:19","nodeType":"YulBlock","src":"5656:40:19","statements":[{"body":{"nativeSrc":"5685:9:19","nodeType":"YulBlock","src":"5685:9:19","statements":[{"nativeSrc":"5687:5:19","nodeType":"YulBreak","src":"5687:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"5673:6:19","nodeType":"YulIdentifier","src":"5673:6:19"},{"name":"w","nativeSrc":"5681:1:19","nodeType":"YulIdentifier","src":"5681:1:19"}],"functionName":{"name":"byte","nativeSrc":"5668:4:19","nodeType":"YulIdentifier","src":"5668:4:19"},"nativeSrc":"5668:15:19","nodeType":"YulFunctionCall","src":"5668:15:19"}],"functionName":{"name":"iszero","nativeSrc":"5661:6:19","nodeType":"YulIdentifier","src":"5661:6:19"},"nativeSrc":"5661:23:19","nodeType":"YulFunctionCall","src":"5661:23:19"},"nativeSrc":"5658:36:19","nodeType":"YulIf","src":"5658:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"5613:6:19","nodeType":"YulIdentifier","src":"5613:6:19"},{"kind":"number","nativeSrc":"5621:4:19","nodeType":"YulLiteral","src":"5621:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"5610:2:19","nodeType":"YulIdentifier","src":"5610:2:19"},"nativeSrc":"5610:16:19","nodeType":"YulFunctionCall","src":"5610:16:19"},"nativeSrc":"5603:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"5627:28:19","nodeType":"YulBlock","src":"5627:28:19","statements":[{"nativeSrc":"5629:24:19","nodeType":"YulAssignment","src":"5629:24:19","value":{"arguments":[{"name":"length","nativeSrc":"5643:6:19","nodeType":"YulIdentifier","src":"5643:6:19"},{"kind":"number","nativeSrc":"5651:1:19","nodeType":"YulLiteral","src":"5651:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"5639:3:19","nodeType":"YulIdentifier","src":"5639:3:19"},"nativeSrc":"5639:14:19","nodeType":"YulFunctionCall","src":"5639:14:19"},"variableNames":[{"name":"length","nativeSrc":"5629:6:19","nodeType":"YulIdentifier","src":"5629:6:19"}]}]},"pre":{"nativeSrc":"5607:2:19","nodeType":"YulBlock","src":"5607:2:19","statements":[]},"src":"5603:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"5720:3:19","nodeType":"YulIdentifier","src":"5720:3:19"},{"name":"length","nativeSrc":"5725:6:19","nodeType":"YulIdentifier","src":"5725:6:19"}],"functionName":{"name":"mstore","nativeSrc":"5713:6:19","nodeType":"YulIdentifier","src":"5713:6:19"},"nativeSrc":"5713:19:19","nodeType":"YulFunctionCall","src":"5713:19:19"},"nativeSrc":"5713:19:19","nodeType":"YulExpressionStatement","src":"5713:19:19"},{"nativeSrc":"5749:37:19","nodeType":"YulVariableDeclaration","src":"5749:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"5766:3:19","nodeType":"YulLiteral","src":"5766:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"5775:1:19","nodeType":"YulLiteral","src":"5775:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"5778:6:19","nodeType":"YulIdentifier","src":"5778:6:19"}],"functionName":{"name":"shl","nativeSrc":"5771:3:19","nodeType":"YulIdentifier","src":"5771:3:19"},"nativeSrc":"5771:14:19","nodeType":"YulFunctionCall","src":"5771:14:19"}],"functionName":{"name":"sub","nativeSrc":"5762:3:19","nodeType":"YulIdentifier","src":"5762:3:19"},"nativeSrc":"5762:24:19","nodeType":"YulFunctionCall","src":"5762:24:19"},"variables":[{"name":"shift","nativeSrc":"5753:5:19","nodeType":"YulTypedName","src":"5753:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"5814:3:19","nodeType":"YulIdentifier","src":"5814:3:19"},{"kind":"number","nativeSrc":"5819:4:19","nodeType":"YulLiteral","src":"5819:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"5810:3:19","nodeType":"YulIdentifier","src":"5810:3:19"},"nativeSrc":"5810:14:19","nodeType":"YulFunctionCall","src":"5810:14:19"},{"arguments":[{"name":"shift","nativeSrc":"5830:5:19","nodeType":"YulIdentifier","src":"5830:5:19"},{"arguments":[{"name":"shift","nativeSrc":"5841:5:19","nodeType":"YulIdentifier","src":"5841:5:19"},{"name":"w","nativeSrc":"5848:1:19","nodeType":"YulIdentifier","src":"5848:1:19"}],"functionName":{"name":"shr","nativeSrc":"5837:3:19","nodeType":"YulIdentifier","src":"5837:3:19"},"nativeSrc":"5837:13:19","nodeType":"YulFunctionCall","src":"5837:13:19"}],"functionName":{"name":"shl","nativeSrc":"5826:3:19","nodeType":"YulIdentifier","src":"5826:3:19"},"nativeSrc":"5826:25:19","nodeType":"YulFunctionCall","src":"5826:25:19"}],"functionName":{"name":"mstore","nativeSrc":"5803:6:19","nodeType":"YulIdentifier","src":"5803:6:19"},"nativeSrc":"5803:49:19","nodeType":"YulFunctionCall","src":"5803:49:19"},"nativeSrc":"5803:49:19","nodeType":"YulExpressionStatement","src":"5803:49:19"}]},"name":"writeString","nativeSrc":"5524:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"5545:3:19","nodeType":"YulTypedName","src":"5545:3:19","type":""},{"name":"w","nativeSrc":"5550:1:19","nodeType":"YulTypedName","src":"5550:1:19","type":""}],"src":"5524:342:19"},{"nativeSrc":"5879:17:19","nodeType":"YulAssignment","src":"5879:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"5891:4:19","nodeType":"YulLiteral","src":"5891:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"5885:5:19","nodeType":"YulIdentifier","src":"5885:5:19"},"nativeSrc":"5885:11:19","nodeType":"YulFunctionCall","src":"5885:11:19"},"variableNames":[{"name":"m0","nativeSrc":"5879:2:19","nodeType":"YulIdentifier","src":"5879:2:19"}]},{"nativeSrc":"5909:17:19","nodeType":"YulAssignment","src":"5909:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"5921:4:19","nodeType":"YulLiteral","src":"5921:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"5915:5:19","nodeType":"YulIdentifier","src":"5915:5:19"},"nativeSrc":"5915:11:19","nodeType":"YulFunctionCall","src":"5915:11:19"},"variableNames":[{"name":"m1","nativeSrc":"5909:2:19","nodeType":"YulIdentifier","src":"5909:2:19"}]},{"nativeSrc":"5939:17:19","nodeType":"YulAssignment","src":"5939:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"5951:4:19","nodeType":"YulLiteral","src":"5951:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"5945:5:19","nodeType":"YulIdentifier","src":"5945:5:19"},"nativeSrc":"5945:11:19","nodeType":"YulFunctionCall","src":"5945:11:19"},"variableNames":[{"name":"m2","nativeSrc":"5939:2:19","nodeType":"YulIdentifier","src":"5939:2:19"}]},{"nativeSrc":"5969:17:19","nodeType":"YulAssignment","src":"5969:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"5981:4:19","nodeType":"YulLiteral","src":"5981:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"5975:5:19","nodeType":"YulIdentifier","src":"5975:5:19"},"nativeSrc":"5975:11:19","nodeType":"YulFunctionCall","src":"5975:11:19"},"variableNames":[{"name":"m3","nativeSrc":"5969:2:19","nodeType":"YulIdentifier","src":"5969:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6048:4:19","nodeType":"YulLiteral","src":"6048:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"6054:10:19","nodeType":"YulLiteral","src":"6054:10:19","type":"","value":"0x41304fac"}],"functionName":{"name":"mstore","nativeSrc":"6041:6:19","nodeType":"YulIdentifier","src":"6041:6:19"},"nativeSrc":"6041:24:19","nodeType":"YulFunctionCall","src":"6041:24:19"},"nativeSrc":"6041:24:19","nodeType":"YulExpressionStatement","src":"6041:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6085:4:19","nodeType":"YulLiteral","src":"6085:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"6091:4:19","nodeType":"YulLiteral","src":"6091:4:19","type":"","value":"0x20"}],"functionName":{"name":"mstore","nativeSrc":"6078:6:19","nodeType":"YulIdentifier","src":"6078:6:19"},"nativeSrc":"6078:18:19","nodeType":"YulFunctionCall","src":"6078:18:19"},"nativeSrc":"6078:18:19","nodeType":"YulExpressionStatement","src":"6078:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6121:4:19","nodeType":"YulLiteral","src":"6121:4:19","type":"","value":"0x40"},{"name":"p0","nativeSrc":"6127:2:19","nodeType":"YulIdentifier","src":"6127:2:19"}],"functionName":{"name":"writeString","nativeSrc":"6109:11:19","nodeType":"YulIdentifier","src":"6109:11:19"},"nativeSrc":"6109:21:19","nodeType":"YulFunctionCall","src":"6109:21:19"},"nativeSrc":"6109:21:19","nodeType":"YulExpressionStatement","src":"6109:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26523,"isOffset":false,"isSlot":false,"src":"5879:2:19","valueSize":1},{"declaration":26526,"isOffset":false,"isSlot":false,"src":"5909:2:19","valueSize":1},{"declaration":26529,"isOffset":false,"isSlot":false,"src":"5939:2:19","valueSize":1},{"declaration":26532,"isOffset":false,"isSlot":false,"src":"5969:2:19","valueSize":1},{"declaration":26519,"isOffset":false,"isSlot":false,"src":"6127:2:19","valueSize":1}],"id":26534,"nodeType":"InlineAssembly","src":"5501:639:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":26536,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6165:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":26537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6171:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":26535,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"6149:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6149:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26539,"nodeType":"ExpressionStatement","src":"6149:27:19"},{"AST":{"nativeSrc":"6238:127:19","nodeType":"YulBlock","src":"6238:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"6259:4:19","nodeType":"YulLiteral","src":"6259:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"6265:2:19","nodeType":"YulIdentifier","src":"6265:2:19"}],"functionName":{"name":"mstore","nativeSrc":"6252:6:19","nodeType":"YulIdentifier","src":"6252:6:19"},"nativeSrc":"6252:16:19","nodeType":"YulFunctionCall","src":"6252:16:19"},"nativeSrc":"6252:16:19","nodeType":"YulExpressionStatement","src":"6252:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6288:4:19","nodeType":"YulLiteral","src":"6288:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"6294:2:19","nodeType":"YulIdentifier","src":"6294:2:19"}],"functionName":{"name":"mstore","nativeSrc":"6281:6:19","nodeType":"YulIdentifier","src":"6281:6:19"},"nativeSrc":"6281:16:19","nodeType":"YulFunctionCall","src":"6281:16:19"},"nativeSrc":"6281:16:19","nodeType":"YulExpressionStatement","src":"6281:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6317:4:19","nodeType":"YulLiteral","src":"6317:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"6323:2:19","nodeType":"YulIdentifier","src":"6323:2:19"}],"functionName":{"name":"mstore","nativeSrc":"6310:6:19","nodeType":"YulIdentifier","src":"6310:6:19"},"nativeSrc":"6310:16:19","nodeType":"YulFunctionCall","src":"6310:16:19"},"nativeSrc":"6310:16:19","nodeType":"YulExpressionStatement","src":"6310:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6346:4:19","nodeType":"YulLiteral","src":"6346:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"6352:2:19","nodeType":"YulIdentifier","src":"6352:2:19"}],"functionName":{"name":"mstore","nativeSrc":"6339:6:19","nodeType":"YulIdentifier","src":"6339:6:19"},"nativeSrc":"6339:16:19","nodeType":"YulFunctionCall","src":"6339:16:19"},"nativeSrc":"6339:16:19","nodeType":"YulExpressionStatement","src":"6339:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26523,"isOffset":false,"isSlot":false,"src":"6265:2:19","valueSize":1},{"declaration":26526,"isOffset":false,"isSlot":false,"src":"6294:2:19","valueSize":1},{"declaration":26529,"isOffset":false,"isSlot":false,"src":"6323:2:19","valueSize":1},{"declaration":26532,"isOffset":false,"isSlot":false,"src":"6352:2:19","valueSize":1}],"id":26540,"nodeType":"InlineAssembly","src":"6229:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"5338:3:19","parameters":{"id":26520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26519,"mutability":"mutable","name":"p0","nameLocation":"5350:2:19","nodeType":"VariableDeclaration","scope":26542,"src":"5342:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26518,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5342:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5341:12:19"},"returnParameters":{"id":26521,"nodeType":"ParameterList","parameters":[],"src":"5368:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26566,"nodeType":"FunctionDefinition","src":"6377:622:19","nodes":[],"body":{"id":26565,"nodeType":"Block","src":"6428:571:19","nodes":[],"statements":[{"assignments":[26550],"declarations":[{"constant":false,"id":26550,"mutability":"mutable","name":"m0","nameLocation":"6446:2:19","nodeType":"VariableDeclaration","scope":26565,"src":"6438:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26549,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6438:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26551,"nodeType":"VariableDeclarationStatement","src":"6438:10:19"},{"assignments":[26553],"declarations":[{"constant":false,"id":26553,"mutability":"mutable","name":"m1","nameLocation":"6466:2:19","nodeType":"VariableDeclaration","scope":26565,"src":"6458:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26552,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6458:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26554,"nodeType":"VariableDeclarationStatement","src":"6458:10:19"},{"assignments":[26556],"declarations":[{"constant":false,"id":26556,"mutability":"mutable","name":"m2","nameLocation":"6486:2:19","nodeType":"VariableDeclaration","scope":26565,"src":"6478:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26555,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6478:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26557,"nodeType":"VariableDeclarationStatement","src":"6478:10:19"},{"AST":{"nativeSrc":"6550:247:19","nodeType":"YulBlock","src":"6550:247:19","statements":[{"nativeSrc":"6564:17:19","nodeType":"YulAssignment","src":"6564:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"6576:4:19","nodeType":"YulLiteral","src":"6576:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"6570:5:19","nodeType":"YulIdentifier","src":"6570:5:19"},"nativeSrc":"6570:11:19","nodeType":"YulFunctionCall","src":"6570:11:19"},"variableNames":[{"name":"m0","nativeSrc":"6564:2:19","nodeType":"YulIdentifier","src":"6564:2:19"}]},{"nativeSrc":"6594:17:19","nodeType":"YulAssignment","src":"6594:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"6606:4:19","nodeType":"YulLiteral","src":"6606:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"6600:5:19","nodeType":"YulIdentifier","src":"6600:5:19"},"nativeSrc":"6600:11:19","nodeType":"YulFunctionCall","src":"6600:11:19"},"variableNames":[{"name":"m1","nativeSrc":"6594:2:19","nodeType":"YulIdentifier","src":"6594:2:19"}]},{"nativeSrc":"6624:17:19","nodeType":"YulAssignment","src":"6624:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"6636:4:19","nodeType":"YulLiteral","src":"6636:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"6630:5:19","nodeType":"YulIdentifier","src":"6630:5:19"},"nativeSrc":"6630:11:19","nodeType":"YulFunctionCall","src":"6630:11:19"},"variableNames":[{"name":"m2","nativeSrc":"6624:2:19","nodeType":"YulIdentifier","src":"6624:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6712:4:19","nodeType":"YulLiteral","src":"6712:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"6718:10:19","nodeType":"YulLiteral","src":"6718:10:19","type":"","value":"0xdaf0d4aa"}],"functionName":{"name":"mstore","nativeSrc":"6705:6:19","nodeType":"YulIdentifier","src":"6705:6:19"},"nativeSrc":"6705:24:19","nodeType":"YulFunctionCall","src":"6705:24:19"},"nativeSrc":"6705:24:19","nodeType":"YulExpressionStatement","src":"6705:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6749:4:19","nodeType":"YulLiteral","src":"6749:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"6755:2:19","nodeType":"YulIdentifier","src":"6755:2:19"}],"functionName":{"name":"mstore","nativeSrc":"6742:6:19","nodeType":"YulIdentifier","src":"6742:6:19"},"nativeSrc":"6742:16:19","nodeType":"YulFunctionCall","src":"6742:16:19"},"nativeSrc":"6742:16:19","nodeType":"YulExpressionStatement","src":"6742:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6778:4:19","nodeType":"YulLiteral","src":"6778:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"6784:2:19","nodeType":"YulIdentifier","src":"6784:2:19"}],"functionName":{"name":"mstore","nativeSrc":"6771:6:19","nodeType":"YulIdentifier","src":"6771:6:19"},"nativeSrc":"6771:16:19","nodeType":"YulFunctionCall","src":"6771:16:19"},"nativeSrc":"6771:16:19","nodeType":"YulExpressionStatement","src":"6771:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26550,"isOffset":false,"isSlot":false,"src":"6564:2:19","valueSize":1},{"declaration":26553,"isOffset":false,"isSlot":false,"src":"6594:2:19","valueSize":1},{"declaration":26556,"isOffset":false,"isSlot":false,"src":"6624:2:19","valueSize":1},{"declaration":26544,"isOffset":false,"isSlot":false,"src":"6755:2:19","valueSize":1},{"declaration":26546,"isOffset":false,"isSlot":false,"src":"6784:2:19","valueSize":1}],"id":26558,"nodeType":"InlineAssembly","src":"6541:256:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":26560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6822:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":26561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6828:4:19","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"}],"id":26559,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"6806:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6806:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26563,"nodeType":"ExpressionStatement","src":"6806:27:19"},{"AST":{"nativeSrc":"6895:98:19","nodeType":"YulBlock","src":"6895:98:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"6916:4:19","nodeType":"YulLiteral","src":"6916:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"6922:2:19","nodeType":"YulIdentifier","src":"6922:2:19"}],"functionName":{"name":"mstore","nativeSrc":"6909:6:19","nodeType":"YulIdentifier","src":"6909:6:19"},"nativeSrc":"6909:16:19","nodeType":"YulFunctionCall","src":"6909:16:19"},"nativeSrc":"6909:16:19","nodeType":"YulExpressionStatement","src":"6909:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6945:4:19","nodeType":"YulLiteral","src":"6945:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"6951:2:19","nodeType":"YulIdentifier","src":"6951:2:19"}],"functionName":{"name":"mstore","nativeSrc":"6938:6:19","nodeType":"YulIdentifier","src":"6938:6:19"},"nativeSrc":"6938:16:19","nodeType":"YulFunctionCall","src":"6938:16:19"},"nativeSrc":"6938:16:19","nodeType":"YulExpressionStatement","src":"6938:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"6974:4:19","nodeType":"YulLiteral","src":"6974:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"6980:2:19","nodeType":"YulIdentifier","src":"6980:2:19"}],"functionName":{"name":"mstore","nativeSrc":"6967:6:19","nodeType":"YulIdentifier","src":"6967:6:19"},"nativeSrc":"6967:16:19","nodeType":"YulFunctionCall","src":"6967:16:19"},"nativeSrc":"6967:16:19","nodeType":"YulExpressionStatement","src":"6967:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26550,"isOffset":false,"isSlot":false,"src":"6922:2:19","valueSize":1},{"declaration":26553,"isOffset":false,"isSlot":false,"src":"6951:2:19","valueSize":1},{"declaration":26556,"isOffset":false,"isSlot":false,"src":"6980:2:19","valueSize":1}],"id":26564,"nodeType":"InlineAssembly","src":"6886:107:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6386:3:19","parameters":{"id":26547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26544,"mutability":"mutable","name":"p0","nameLocation":"6398:2:19","nodeType":"VariableDeclaration","scope":26566,"src":"6390:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26543,"name":"address","nodeType":"ElementaryTypeName","src":"6390:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26546,"mutability":"mutable","name":"p1","nameLocation":"6410:2:19","nodeType":"VariableDeclaration","scope":26566,"src":"6402:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26545,"name":"address","nodeType":"ElementaryTypeName","src":"6402:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6389:24:19"},"returnParameters":{"id":26548,"nodeType":"ParameterList","parameters":[],"src":"6428:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26590,"nodeType":"FunctionDefinition","src":"7005:616:19","nodes":[],"body":{"id":26589,"nodeType":"Block","src":"7053:568:19","nodes":[],"statements":[{"assignments":[26574],"declarations":[{"constant":false,"id":26574,"mutability":"mutable","name":"m0","nameLocation":"7071:2:19","nodeType":"VariableDeclaration","scope":26589,"src":"7063:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26573,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7063:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26575,"nodeType":"VariableDeclarationStatement","src":"7063:10:19"},{"assignments":[26577],"declarations":[{"constant":false,"id":26577,"mutability":"mutable","name":"m1","nameLocation":"7091:2:19","nodeType":"VariableDeclaration","scope":26589,"src":"7083:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26576,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7083:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26578,"nodeType":"VariableDeclarationStatement","src":"7083:10:19"},{"assignments":[26580],"declarations":[{"constant":false,"id":26580,"mutability":"mutable","name":"m2","nameLocation":"7111:2:19","nodeType":"VariableDeclaration","scope":26589,"src":"7103:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26579,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7103:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26581,"nodeType":"VariableDeclarationStatement","src":"7103:10:19"},{"AST":{"nativeSrc":"7175:244:19","nodeType":"YulBlock","src":"7175:244:19","statements":[{"nativeSrc":"7189:17:19","nodeType":"YulAssignment","src":"7189:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"7201:4:19","nodeType":"YulLiteral","src":"7201:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"7195:5:19","nodeType":"YulIdentifier","src":"7195:5:19"},"nativeSrc":"7195:11:19","nodeType":"YulFunctionCall","src":"7195:11:19"},"variableNames":[{"name":"m0","nativeSrc":"7189:2:19","nodeType":"YulIdentifier","src":"7189:2:19"}]},{"nativeSrc":"7219:17:19","nodeType":"YulAssignment","src":"7219:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"7231:4:19","nodeType":"YulLiteral","src":"7231:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"7225:5:19","nodeType":"YulIdentifier","src":"7225:5:19"},"nativeSrc":"7225:11:19","nodeType":"YulFunctionCall","src":"7225:11:19"},"variableNames":[{"name":"m1","nativeSrc":"7219:2:19","nodeType":"YulIdentifier","src":"7219:2:19"}]},{"nativeSrc":"7249:17:19","nodeType":"YulAssignment","src":"7249:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"7261:4:19","nodeType":"YulLiteral","src":"7261:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"7255:5:19","nodeType":"YulIdentifier","src":"7255:5:19"},"nativeSrc":"7255:11:19","nodeType":"YulFunctionCall","src":"7255:11:19"},"variableNames":[{"name":"m2","nativeSrc":"7249:2:19","nodeType":"YulIdentifier","src":"7249:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7334:4:19","nodeType":"YulLiteral","src":"7334:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"7340:10:19","nodeType":"YulLiteral","src":"7340:10:19","type":"","value":"0x75b605d3"}],"functionName":{"name":"mstore","nativeSrc":"7327:6:19","nodeType":"YulIdentifier","src":"7327:6:19"},"nativeSrc":"7327:24:19","nodeType":"YulFunctionCall","src":"7327:24:19"},"nativeSrc":"7327:24:19","nodeType":"YulExpressionStatement","src":"7327:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7371:4:19","nodeType":"YulLiteral","src":"7371:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"7377:2:19","nodeType":"YulIdentifier","src":"7377:2:19"}],"functionName":{"name":"mstore","nativeSrc":"7364:6:19","nodeType":"YulIdentifier","src":"7364:6:19"},"nativeSrc":"7364:16:19","nodeType":"YulFunctionCall","src":"7364:16:19"},"nativeSrc":"7364:16:19","nodeType":"YulExpressionStatement","src":"7364:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7400:4:19","nodeType":"YulLiteral","src":"7400:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"7406:2:19","nodeType":"YulIdentifier","src":"7406:2:19"}],"functionName":{"name":"mstore","nativeSrc":"7393:6:19","nodeType":"YulIdentifier","src":"7393:6:19"},"nativeSrc":"7393:16:19","nodeType":"YulFunctionCall","src":"7393:16:19"},"nativeSrc":"7393:16:19","nodeType":"YulExpressionStatement","src":"7393:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26574,"isOffset":false,"isSlot":false,"src":"7189:2:19","valueSize":1},{"declaration":26577,"isOffset":false,"isSlot":false,"src":"7219:2:19","valueSize":1},{"declaration":26580,"isOffset":false,"isSlot":false,"src":"7249:2:19","valueSize":1},{"declaration":26568,"isOffset":false,"isSlot":false,"src":"7377:2:19","valueSize":1},{"declaration":26570,"isOffset":false,"isSlot":false,"src":"7406:2:19","valueSize":1}],"id":26582,"nodeType":"InlineAssembly","src":"7166:253:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":26584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7444:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":26585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7450:4:19","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"}],"id":26583,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"7428:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7428:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26587,"nodeType":"ExpressionStatement","src":"7428:27:19"},{"AST":{"nativeSrc":"7517:98:19","nodeType":"YulBlock","src":"7517:98:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"7538:4:19","nodeType":"YulLiteral","src":"7538:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"7544:2:19","nodeType":"YulIdentifier","src":"7544:2:19"}],"functionName":{"name":"mstore","nativeSrc":"7531:6:19","nodeType":"YulIdentifier","src":"7531:6:19"},"nativeSrc":"7531:16:19","nodeType":"YulFunctionCall","src":"7531:16:19"},"nativeSrc":"7531:16:19","nodeType":"YulExpressionStatement","src":"7531:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7567:4:19","nodeType":"YulLiteral","src":"7567:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"7573:2:19","nodeType":"YulIdentifier","src":"7573:2:19"}],"functionName":{"name":"mstore","nativeSrc":"7560:6:19","nodeType":"YulIdentifier","src":"7560:6:19"},"nativeSrc":"7560:16:19","nodeType":"YulFunctionCall","src":"7560:16:19"},"nativeSrc":"7560:16:19","nodeType":"YulExpressionStatement","src":"7560:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7596:4:19","nodeType":"YulLiteral","src":"7596:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"7602:2:19","nodeType":"YulIdentifier","src":"7602:2:19"}],"functionName":{"name":"mstore","nativeSrc":"7589:6:19","nodeType":"YulIdentifier","src":"7589:6:19"},"nativeSrc":"7589:16:19","nodeType":"YulFunctionCall","src":"7589:16:19"},"nativeSrc":"7589:16:19","nodeType":"YulExpressionStatement","src":"7589:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26574,"isOffset":false,"isSlot":false,"src":"7544:2:19","valueSize":1},{"declaration":26577,"isOffset":false,"isSlot":false,"src":"7573:2:19","valueSize":1},{"declaration":26580,"isOffset":false,"isSlot":false,"src":"7602:2:19","valueSize":1}],"id":26588,"nodeType":"InlineAssembly","src":"7508:107:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7014:3:19","parameters":{"id":26571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26568,"mutability":"mutable","name":"p0","nameLocation":"7026:2:19","nodeType":"VariableDeclaration","scope":26590,"src":"7018:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26567,"name":"address","nodeType":"ElementaryTypeName","src":"7018:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26570,"mutability":"mutable","name":"p1","nameLocation":"7035:2:19","nodeType":"VariableDeclaration","scope":26590,"src":"7030:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26569,"name":"bool","nodeType":"ElementaryTypeName","src":"7030:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7017:21:19"},"returnParameters":{"id":26572,"nodeType":"ParameterList","parameters":[],"src":"7053:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26614,"nodeType":"FunctionDefinition","src":"7627:622:19","nodes":[],"body":{"id":26613,"nodeType":"Block","src":"7678:571:19","nodes":[],"statements":[{"assignments":[26598],"declarations":[{"constant":false,"id":26598,"mutability":"mutable","name":"m0","nameLocation":"7696:2:19","nodeType":"VariableDeclaration","scope":26613,"src":"7688:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26597,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7688:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26599,"nodeType":"VariableDeclarationStatement","src":"7688:10:19"},{"assignments":[26601],"declarations":[{"constant":false,"id":26601,"mutability":"mutable","name":"m1","nameLocation":"7716:2:19","nodeType":"VariableDeclaration","scope":26613,"src":"7708:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26600,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7708:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26602,"nodeType":"VariableDeclarationStatement","src":"7708:10:19"},{"assignments":[26604],"declarations":[{"constant":false,"id":26604,"mutability":"mutable","name":"m2","nameLocation":"7736:2:19","nodeType":"VariableDeclaration","scope":26613,"src":"7728:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26603,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7728:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26605,"nodeType":"VariableDeclarationStatement","src":"7728:10:19"},{"AST":{"nativeSrc":"7800:247:19","nodeType":"YulBlock","src":"7800:247:19","statements":[{"nativeSrc":"7814:17:19","nodeType":"YulAssignment","src":"7814:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"7826:4:19","nodeType":"YulLiteral","src":"7826:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"7820:5:19","nodeType":"YulIdentifier","src":"7820:5:19"},"nativeSrc":"7820:11:19","nodeType":"YulFunctionCall","src":"7820:11:19"},"variableNames":[{"name":"m0","nativeSrc":"7814:2:19","nodeType":"YulIdentifier","src":"7814:2:19"}]},{"nativeSrc":"7844:17:19","nodeType":"YulAssignment","src":"7844:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"7856:4:19","nodeType":"YulLiteral","src":"7856:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"7850:5:19","nodeType":"YulIdentifier","src":"7850:5:19"},"nativeSrc":"7850:11:19","nodeType":"YulFunctionCall","src":"7850:11:19"},"variableNames":[{"name":"m1","nativeSrc":"7844:2:19","nodeType":"YulIdentifier","src":"7844:2:19"}]},{"nativeSrc":"7874:17:19","nodeType":"YulAssignment","src":"7874:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"7886:4:19","nodeType":"YulLiteral","src":"7886:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"7880:5:19","nodeType":"YulIdentifier","src":"7880:5:19"},"nativeSrc":"7880:11:19","nodeType":"YulFunctionCall","src":"7880:11:19"},"variableNames":[{"name":"m2","nativeSrc":"7874:2:19","nodeType":"YulIdentifier","src":"7874:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7962:4:19","nodeType":"YulLiteral","src":"7962:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"7968:10:19","nodeType":"YulLiteral","src":"7968:10:19","type":"","value":"0x8309e8a8"}],"functionName":{"name":"mstore","nativeSrc":"7955:6:19","nodeType":"YulIdentifier","src":"7955:6:19"},"nativeSrc":"7955:24:19","nodeType":"YulFunctionCall","src":"7955:24:19"},"nativeSrc":"7955:24:19","nodeType":"YulExpressionStatement","src":"7955:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7999:4:19","nodeType":"YulLiteral","src":"7999:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"8005:2:19","nodeType":"YulIdentifier","src":"8005:2:19"}],"functionName":{"name":"mstore","nativeSrc":"7992:6:19","nodeType":"YulIdentifier","src":"7992:6:19"},"nativeSrc":"7992:16:19","nodeType":"YulFunctionCall","src":"7992:16:19"},"nativeSrc":"7992:16:19","nodeType":"YulExpressionStatement","src":"7992:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8028:4:19","nodeType":"YulLiteral","src":"8028:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"8034:2:19","nodeType":"YulIdentifier","src":"8034:2:19"}],"functionName":{"name":"mstore","nativeSrc":"8021:6:19","nodeType":"YulIdentifier","src":"8021:6:19"},"nativeSrc":"8021:16:19","nodeType":"YulFunctionCall","src":"8021:16:19"},"nativeSrc":"8021:16:19","nodeType":"YulExpressionStatement","src":"8021:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26598,"isOffset":false,"isSlot":false,"src":"7814:2:19","valueSize":1},{"declaration":26601,"isOffset":false,"isSlot":false,"src":"7844:2:19","valueSize":1},{"declaration":26604,"isOffset":false,"isSlot":false,"src":"7874:2:19","valueSize":1},{"declaration":26592,"isOffset":false,"isSlot":false,"src":"8005:2:19","valueSize":1},{"declaration":26594,"isOffset":false,"isSlot":false,"src":"8034:2:19","valueSize":1}],"id":26606,"nodeType":"InlineAssembly","src":"7791:256:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":26608,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8072:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":26609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8078:4:19","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"}],"id":26607,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"8056:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8056:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26611,"nodeType":"ExpressionStatement","src":"8056:27:19"},{"AST":{"nativeSrc":"8145:98:19","nodeType":"YulBlock","src":"8145:98:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"8166:4:19","nodeType":"YulLiteral","src":"8166:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"8172:2:19","nodeType":"YulIdentifier","src":"8172:2:19"}],"functionName":{"name":"mstore","nativeSrc":"8159:6:19","nodeType":"YulIdentifier","src":"8159:6:19"},"nativeSrc":"8159:16:19","nodeType":"YulFunctionCall","src":"8159:16:19"},"nativeSrc":"8159:16:19","nodeType":"YulExpressionStatement","src":"8159:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8195:4:19","nodeType":"YulLiteral","src":"8195:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"8201:2:19","nodeType":"YulIdentifier","src":"8201:2:19"}],"functionName":{"name":"mstore","nativeSrc":"8188:6:19","nodeType":"YulIdentifier","src":"8188:6:19"},"nativeSrc":"8188:16:19","nodeType":"YulFunctionCall","src":"8188:16:19"},"nativeSrc":"8188:16:19","nodeType":"YulExpressionStatement","src":"8188:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"8224:4:19","nodeType":"YulLiteral","src":"8224:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"8230:2:19","nodeType":"YulIdentifier","src":"8230:2:19"}],"functionName":{"name":"mstore","nativeSrc":"8217:6:19","nodeType":"YulIdentifier","src":"8217:6:19"},"nativeSrc":"8217:16:19","nodeType":"YulFunctionCall","src":"8217:16:19"},"nativeSrc":"8217:16:19","nodeType":"YulExpressionStatement","src":"8217:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26598,"isOffset":false,"isSlot":false,"src":"8172:2:19","valueSize":1},{"declaration":26601,"isOffset":false,"isSlot":false,"src":"8201:2:19","valueSize":1},{"declaration":26604,"isOffset":false,"isSlot":false,"src":"8230:2:19","valueSize":1}],"id":26612,"nodeType":"InlineAssembly","src":"8136:107:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7636:3:19","parameters":{"id":26595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26592,"mutability":"mutable","name":"p0","nameLocation":"7648:2:19","nodeType":"VariableDeclaration","scope":26614,"src":"7640:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26591,"name":"address","nodeType":"ElementaryTypeName","src":"7640:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26594,"mutability":"mutable","name":"p1","nameLocation":"7660:2:19","nodeType":"VariableDeclaration","scope":26614,"src":"7652:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26593,"name":"uint256","nodeType":"ElementaryTypeName","src":"7652:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7639:24:19"},"returnParameters":{"id":26596,"nodeType":"ParameterList","parameters":[],"src":"7678:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26644,"nodeType":"FunctionDefinition","src":"8255:1170:19","nodes":[],"body":{"id":26643,"nodeType":"Block","src":"8306:1119:19","nodes":[],"statements":[{"assignments":[26622],"declarations":[{"constant":false,"id":26622,"mutability":"mutable","name":"m0","nameLocation":"8324:2:19","nodeType":"VariableDeclaration","scope":26643,"src":"8316:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26621,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8316:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26623,"nodeType":"VariableDeclarationStatement","src":"8316:10:19"},{"assignments":[26625],"declarations":[{"constant":false,"id":26625,"mutability":"mutable","name":"m1","nameLocation":"8344:2:19","nodeType":"VariableDeclaration","scope":26643,"src":"8336:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26624,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8336:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26626,"nodeType":"VariableDeclarationStatement","src":"8336:10:19"},{"assignments":[26628],"declarations":[{"constant":false,"id":26628,"mutability":"mutable","name":"m2","nameLocation":"8364:2:19","nodeType":"VariableDeclaration","scope":26643,"src":"8356:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8356:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26629,"nodeType":"VariableDeclarationStatement","src":"8356:10:19"},{"assignments":[26631],"declarations":[{"constant":false,"id":26631,"mutability":"mutable","name":"m3","nameLocation":"8384:2:19","nodeType":"VariableDeclaration","scope":26643,"src":"8376:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26630,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8376:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26632,"nodeType":"VariableDeclarationStatement","src":"8376:10:19"},{"assignments":[26634],"declarations":[{"constant":false,"id":26634,"mutability":"mutable","name":"m4","nameLocation":"8404:2:19","nodeType":"VariableDeclaration","scope":26643,"src":"8396:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26633,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8396:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26635,"nodeType":"VariableDeclarationStatement","src":"8396:10:19"},{"AST":{"nativeSrc":"8468:697:19","nodeType":"YulBlock","src":"8468:697:19","statements":[{"body":{"nativeSrc":"8511:313:19","nodeType":"YulBlock","src":"8511:313:19","statements":[{"nativeSrc":"8529:15:19","nodeType":"YulVariableDeclaration","src":"8529:15:19","value":{"kind":"number","nativeSrc":"8543:1:19","nodeType":"YulLiteral","src":"8543:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"8533:6:19","nodeType":"YulTypedName","src":"8533:6:19","type":""}]},{"body":{"nativeSrc":"8614:40:19","nodeType":"YulBlock","src":"8614:40:19","statements":[{"body":{"nativeSrc":"8643:9:19","nodeType":"YulBlock","src":"8643:9:19","statements":[{"nativeSrc":"8645:5:19","nodeType":"YulBreak","src":"8645:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"8631:6:19","nodeType":"YulIdentifier","src":"8631:6:19"},{"name":"w","nativeSrc":"8639:1:19","nodeType":"YulIdentifier","src":"8639:1:19"}],"functionName":{"name":"byte","nativeSrc":"8626:4:19","nodeType":"YulIdentifier","src":"8626:4:19"},"nativeSrc":"8626:15:19","nodeType":"YulFunctionCall","src":"8626:15:19"}],"functionName":{"name":"iszero","nativeSrc":"8619:6:19","nodeType":"YulIdentifier","src":"8619:6:19"},"nativeSrc":"8619:23:19","nodeType":"YulFunctionCall","src":"8619:23:19"},"nativeSrc":"8616:36:19","nodeType":"YulIf","src":"8616:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"8571:6:19","nodeType":"YulIdentifier","src":"8571:6:19"},{"kind":"number","nativeSrc":"8579:4:19","nodeType":"YulLiteral","src":"8579:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"8568:2:19","nodeType":"YulIdentifier","src":"8568:2:19"},"nativeSrc":"8568:16:19","nodeType":"YulFunctionCall","src":"8568:16:19"},"nativeSrc":"8561:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"8585:28:19","nodeType":"YulBlock","src":"8585:28:19","statements":[{"nativeSrc":"8587:24:19","nodeType":"YulAssignment","src":"8587:24:19","value":{"arguments":[{"name":"length","nativeSrc":"8601:6:19","nodeType":"YulIdentifier","src":"8601:6:19"},{"kind":"number","nativeSrc":"8609:1:19","nodeType":"YulLiteral","src":"8609:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"8597:3:19","nodeType":"YulIdentifier","src":"8597:3:19"},"nativeSrc":"8597:14:19","nodeType":"YulFunctionCall","src":"8597:14:19"},"variableNames":[{"name":"length","nativeSrc":"8587:6:19","nodeType":"YulIdentifier","src":"8587:6:19"}]}]},"pre":{"nativeSrc":"8565:2:19","nodeType":"YulBlock","src":"8565:2:19","statements":[]},"src":"8561:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"8678:3:19","nodeType":"YulIdentifier","src":"8678:3:19"},{"name":"length","nativeSrc":"8683:6:19","nodeType":"YulIdentifier","src":"8683:6:19"}],"functionName":{"name":"mstore","nativeSrc":"8671:6:19","nodeType":"YulIdentifier","src":"8671:6:19"},"nativeSrc":"8671:19:19","nodeType":"YulFunctionCall","src":"8671:19:19"},"nativeSrc":"8671:19:19","nodeType":"YulExpressionStatement","src":"8671:19:19"},{"nativeSrc":"8707:37:19","nodeType":"YulVariableDeclaration","src":"8707:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"8724:3:19","nodeType":"YulLiteral","src":"8724:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"8733:1:19","nodeType":"YulLiteral","src":"8733:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"8736:6:19","nodeType":"YulIdentifier","src":"8736:6:19"}],"functionName":{"name":"shl","nativeSrc":"8729:3:19","nodeType":"YulIdentifier","src":"8729:3:19"},"nativeSrc":"8729:14:19","nodeType":"YulFunctionCall","src":"8729:14:19"}],"functionName":{"name":"sub","nativeSrc":"8720:3:19","nodeType":"YulIdentifier","src":"8720:3:19"},"nativeSrc":"8720:24:19","nodeType":"YulFunctionCall","src":"8720:24:19"},"variables":[{"name":"shift","nativeSrc":"8711:5:19","nodeType":"YulTypedName","src":"8711:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"8772:3:19","nodeType":"YulIdentifier","src":"8772:3:19"},{"kind":"number","nativeSrc":"8777:4:19","nodeType":"YulLiteral","src":"8777:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"8768:3:19","nodeType":"YulIdentifier","src":"8768:3:19"},"nativeSrc":"8768:14:19","nodeType":"YulFunctionCall","src":"8768:14:19"},{"arguments":[{"name":"shift","nativeSrc":"8788:5:19","nodeType":"YulIdentifier","src":"8788:5:19"},{"arguments":[{"name":"shift","nativeSrc":"8799:5:19","nodeType":"YulIdentifier","src":"8799:5:19"},{"name":"w","nativeSrc":"8806:1:19","nodeType":"YulIdentifier","src":"8806:1:19"}],"functionName":{"name":"shr","nativeSrc":"8795:3:19","nodeType":"YulIdentifier","src":"8795:3:19"},"nativeSrc":"8795:13:19","nodeType":"YulFunctionCall","src":"8795:13:19"}],"functionName":{"name":"shl","nativeSrc":"8784:3:19","nodeType":"YulIdentifier","src":"8784:3:19"},"nativeSrc":"8784:25:19","nodeType":"YulFunctionCall","src":"8784:25:19"}],"functionName":{"name":"mstore","nativeSrc":"8761:6:19","nodeType":"YulIdentifier","src":"8761:6:19"},"nativeSrc":"8761:49:19","nodeType":"YulFunctionCall","src":"8761:49:19"},"nativeSrc":"8761:49:19","nodeType":"YulExpressionStatement","src":"8761:49:19"}]},"name":"writeString","nativeSrc":"8482:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"8503:3:19","nodeType":"YulTypedName","src":"8503:3:19","type":""},{"name":"w","nativeSrc":"8508:1:19","nodeType":"YulTypedName","src":"8508:1:19","type":""}],"src":"8482:342:19"},{"nativeSrc":"8837:17:19","nodeType":"YulAssignment","src":"8837:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"8849:4:19","nodeType":"YulLiteral","src":"8849:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"8843:5:19","nodeType":"YulIdentifier","src":"8843:5:19"},"nativeSrc":"8843:11:19","nodeType":"YulFunctionCall","src":"8843:11:19"},"variableNames":[{"name":"m0","nativeSrc":"8837:2:19","nodeType":"YulIdentifier","src":"8837:2:19"}]},{"nativeSrc":"8867:17:19","nodeType":"YulAssignment","src":"8867:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"8879:4:19","nodeType":"YulLiteral","src":"8879:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"8873:5:19","nodeType":"YulIdentifier","src":"8873:5:19"},"nativeSrc":"8873:11:19","nodeType":"YulFunctionCall","src":"8873:11:19"},"variableNames":[{"name":"m1","nativeSrc":"8867:2:19","nodeType":"YulIdentifier","src":"8867:2:19"}]},{"nativeSrc":"8897:17:19","nodeType":"YulAssignment","src":"8897:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"8909:4:19","nodeType":"YulLiteral","src":"8909:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"8903:5:19","nodeType":"YulIdentifier","src":"8903:5:19"},"nativeSrc":"8903:11:19","nodeType":"YulFunctionCall","src":"8903:11:19"},"variableNames":[{"name":"m2","nativeSrc":"8897:2:19","nodeType":"YulIdentifier","src":"8897:2:19"}]},{"nativeSrc":"8927:17:19","nodeType":"YulAssignment","src":"8927:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"8939:4:19","nodeType":"YulLiteral","src":"8939:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"8933:5:19","nodeType":"YulIdentifier","src":"8933:5:19"},"nativeSrc":"8933:11:19","nodeType":"YulFunctionCall","src":"8933:11:19"},"variableNames":[{"name":"m3","nativeSrc":"8927:2:19","nodeType":"YulIdentifier","src":"8927:2:19"}]},{"nativeSrc":"8957:17:19","nodeType":"YulAssignment","src":"8957:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"8969:4:19","nodeType":"YulLiteral","src":"8969:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"8963:5:19","nodeType":"YulIdentifier","src":"8963:5:19"},"nativeSrc":"8963:11:19","nodeType":"YulFunctionCall","src":"8963:11:19"},"variableNames":[{"name":"m4","nativeSrc":"8957:2:19","nodeType":"YulIdentifier","src":"8957:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9044:4:19","nodeType":"YulLiteral","src":"9044:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"9050:10:19","nodeType":"YulLiteral","src":"9050:10:19","type":"","value":"0x759f86bb"}],"functionName":{"name":"mstore","nativeSrc":"9037:6:19","nodeType":"YulIdentifier","src":"9037:6:19"},"nativeSrc":"9037:24:19","nodeType":"YulFunctionCall","src":"9037:24:19"},"nativeSrc":"9037:24:19","nodeType":"YulExpressionStatement","src":"9037:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9081:4:19","nodeType":"YulLiteral","src":"9081:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"9087:2:19","nodeType":"YulIdentifier","src":"9087:2:19"}],"functionName":{"name":"mstore","nativeSrc":"9074:6:19","nodeType":"YulIdentifier","src":"9074:6:19"},"nativeSrc":"9074:16:19","nodeType":"YulFunctionCall","src":"9074:16:19"},"nativeSrc":"9074:16:19","nodeType":"YulExpressionStatement","src":"9074:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9110:4:19","nodeType":"YulLiteral","src":"9110:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"9116:4:19","nodeType":"YulLiteral","src":"9116:4:19","type":"","value":"0x40"}],"functionName":{"name":"mstore","nativeSrc":"9103:6:19","nodeType":"YulIdentifier","src":"9103:6:19"},"nativeSrc":"9103:18:19","nodeType":"YulFunctionCall","src":"9103:18:19"},"nativeSrc":"9103:18:19","nodeType":"YulExpressionStatement","src":"9103:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9146:4:19","nodeType":"YulLiteral","src":"9146:4:19","type":"","value":"0x60"},{"name":"p1","nativeSrc":"9152:2:19","nodeType":"YulIdentifier","src":"9152:2:19"}],"functionName":{"name":"writeString","nativeSrc":"9134:11:19","nodeType":"YulIdentifier","src":"9134:11:19"},"nativeSrc":"9134:21:19","nodeType":"YulFunctionCall","src":"9134:21:19"},"nativeSrc":"9134:21:19","nodeType":"YulExpressionStatement","src":"9134:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26622,"isOffset":false,"isSlot":false,"src":"8837:2:19","valueSize":1},{"declaration":26625,"isOffset":false,"isSlot":false,"src":"8867:2:19","valueSize":1},{"declaration":26628,"isOffset":false,"isSlot":false,"src":"8897:2:19","valueSize":1},{"declaration":26631,"isOffset":false,"isSlot":false,"src":"8927:2:19","valueSize":1},{"declaration":26634,"isOffset":false,"isSlot":false,"src":"8957:2:19","valueSize":1},{"declaration":26616,"isOffset":false,"isSlot":false,"src":"9087:2:19","valueSize":1},{"declaration":26618,"isOffset":false,"isSlot":false,"src":"9152:2:19","valueSize":1}],"id":26636,"nodeType":"InlineAssembly","src":"8459:706:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":26638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9190:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":26639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9196:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":26637,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"9174:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9174:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26641,"nodeType":"ExpressionStatement","src":"9174:27:19"},{"AST":{"nativeSrc":"9263:156:19","nodeType":"YulBlock","src":"9263:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"9284:4:19","nodeType":"YulLiteral","src":"9284:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"9290:2:19","nodeType":"YulIdentifier","src":"9290:2:19"}],"functionName":{"name":"mstore","nativeSrc":"9277:6:19","nodeType":"YulIdentifier","src":"9277:6:19"},"nativeSrc":"9277:16:19","nodeType":"YulFunctionCall","src":"9277:16:19"},"nativeSrc":"9277:16:19","nodeType":"YulExpressionStatement","src":"9277:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9313:4:19","nodeType":"YulLiteral","src":"9313:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"9319:2:19","nodeType":"YulIdentifier","src":"9319:2:19"}],"functionName":{"name":"mstore","nativeSrc":"9306:6:19","nodeType":"YulIdentifier","src":"9306:6:19"},"nativeSrc":"9306:16:19","nodeType":"YulFunctionCall","src":"9306:16:19"},"nativeSrc":"9306:16:19","nodeType":"YulExpressionStatement","src":"9306:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9342:4:19","nodeType":"YulLiteral","src":"9342:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"9348:2:19","nodeType":"YulIdentifier","src":"9348:2:19"}],"functionName":{"name":"mstore","nativeSrc":"9335:6:19","nodeType":"YulIdentifier","src":"9335:6:19"},"nativeSrc":"9335:16:19","nodeType":"YulFunctionCall","src":"9335:16:19"},"nativeSrc":"9335:16:19","nodeType":"YulExpressionStatement","src":"9335:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9371:4:19","nodeType":"YulLiteral","src":"9371:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"9377:2:19","nodeType":"YulIdentifier","src":"9377:2:19"}],"functionName":{"name":"mstore","nativeSrc":"9364:6:19","nodeType":"YulIdentifier","src":"9364:6:19"},"nativeSrc":"9364:16:19","nodeType":"YulFunctionCall","src":"9364:16:19"},"nativeSrc":"9364:16:19","nodeType":"YulExpressionStatement","src":"9364:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9400:4:19","nodeType":"YulLiteral","src":"9400:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"9406:2:19","nodeType":"YulIdentifier","src":"9406:2:19"}],"functionName":{"name":"mstore","nativeSrc":"9393:6:19","nodeType":"YulIdentifier","src":"9393:6:19"},"nativeSrc":"9393:16:19","nodeType":"YulFunctionCall","src":"9393:16:19"},"nativeSrc":"9393:16:19","nodeType":"YulExpressionStatement","src":"9393:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26622,"isOffset":false,"isSlot":false,"src":"9290:2:19","valueSize":1},{"declaration":26625,"isOffset":false,"isSlot":false,"src":"9319:2:19","valueSize":1},{"declaration":26628,"isOffset":false,"isSlot":false,"src":"9348:2:19","valueSize":1},{"declaration":26631,"isOffset":false,"isSlot":false,"src":"9377:2:19","valueSize":1},{"declaration":26634,"isOffset":false,"isSlot":false,"src":"9406:2:19","valueSize":1}],"id":26642,"nodeType":"InlineAssembly","src":"9254:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8264:3:19","parameters":{"id":26619,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26616,"mutability":"mutable","name":"p0","nameLocation":"8276:2:19","nodeType":"VariableDeclaration","scope":26644,"src":"8268:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26615,"name":"address","nodeType":"ElementaryTypeName","src":"8268:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26618,"mutability":"mutable","name":"p1","nameLocation":"8288:2:19","nodeType":"VariableDeclaration","scope":26644,"src":"8280:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26617,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8280:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8267:24:19"},"returnParameters":{"id":26620,"nodeType":"ParameterList","parameters":[],"src":"8306:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26668,"nodeType":"FunctionDefinition","src":"9431:616:19","nodes":[],"body":{"id":26667,"nodeType":"Block","src":"9479:568:19","nodes":[],"statements":[{"assignments":[26652],"declarations":[{"constant":false,"id":26652,"mutability":"mutable","name":"m0","nameLocation":"9497:2:19","nodeType":"VariableDeclaration","scope":26667,"src":"9489:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26651,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9489:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26653,"nodeType":"VariableDeclarationStatement","src":"9489:10:19"},{"assignments":[26655],"declarations":[{"constant":false,"id":26655,"mutability":"mutable","name":"m1","nameLocation":"9517:2:19","nodeType":"VariableDeclaration","scope":26667,"src":"9509:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26654,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9509:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26656,"nodeType":"VariableDeclarationStatement","src":"9509:10:19"},{"assignments":[26658],"declarations":[{"constant":false,"id":26658,"mutability":"mutable","name":"m2","nameLocation":"9537:2:19","nodeType":"VariableDeclaration","scope":26667,"src":"9529:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26657,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9529:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26659,"nodeType":"VariableDeclarationStatement","src":"9529:10:19"},{"AST":{"nativeSrc":"9601:244:19","nodeType":"YulBlock","src":"9601:244:19","statements":[{"nativeSrc":"9615:17:19","nodeType":"YulAssignment","src":"9615:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"9627:4:19","nodeType":"YulLiteral","src":"9627:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"9621:5:19","nodeType":"YulIdentifier","src":"9621:5:19"},"nativeSrc":"9621:11:19","nodeType":"YulFunctionCall","src":"9621:11:19"},"variableNames":[{"name":"m0","nativeSrc":"9615:2:19","nodeType":"YulIdentifier","src":"9615:2:19"}]},{"nativeSrc":"9645:17:19","nodeType":"YulAssignment","src":"9645:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"9657:4:19","nodeType":"YulLiteral","src":"9657:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"9651:5:19","nodeType":"YulIdentifier","src":"9651:5:19"},"nativeSrc":"9651:11:19","nodeType":"YulFunctionCall","src":"9651:11:19"},"variableNames":[{"name":"m1","nativeSrc":"9645:2:19","nodeType":"YulIdentifier","src":"9645:2:19"}]},{"nativeSrc":"9675:17:19","nodeType":"YulAssignment","src":"9675:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"9687:4:19","nodeType":"YulLiteral","src":"9687:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"9681:5:19","nodeType":"YulIdentifier","src":"9681:5:19"},"nativeSrc":"9681:11:19","nodeType":"YulFunctionCall","src":"9681:11:19"},"variableNames":[{"name":"m2","nativeSrc":"9675:2:19","nodeType":"YulIdentifier","src":"9675:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9760:4:19","nodeType":"YulLiteral","src":"9760:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"9766:10:19","nodeType":"YulLiteral","src":"9766:10:19","type":"","value":"0x853c4849"}],"functionName":{"name":"mstore","nativeSrc":"9753:6:19","nodeType":"YulIdentifier","src":"9753:6:19"},"nativeSrc":"9753:24:19","nodeType":"YulFunctionCall","src":"9753:24:19"},"nativeSrc":"9753:24:19","nodeType":"YulExpressionStatement","src":"9753:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9797:4:19","nodeType":"YulLiteral","src":"9797:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"9803:2:19","nodeType":"YulIdentifier","src":"9803:2:19"}],"functionName":{"name":"mstore","nativeSrc":"9790:6:19","nodeType":"YulIdentifier","src":"9790:6:19"},"nativeSrc":"9790:16:19","nodeType":"YulFunctionCall","src":"9790:16:19"},"nativeSrc":"9790:16:19","nodeType":"YulExpressionStatement","src":"9790:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9826:4:19","nodeType":"YulLiteral","src":"9826:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"9832:2:19","nodeType":"YulIdentifier","src":"9832:2:19"}],"functionName":{"name":"mstore","nativeSrc":"9819:6:19","nodeType":"YulIdentifier","src":"9819:6:19"},"nativeSrc":"9819:16:19","nodeType":"YulFunctionCall","src":"9819:16:19"},"nativeSrc":"9819:16:19","nodeType":"YulExpressionStatement","src":"9819:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26652,"isOffset":false,"isSlot":false,"src":"9615:2:19","valueSize":1},{"declaration":26655,"isOffset":false,"isSlot":false,"src":"9645:2:19","valueSize":1},{"declaration":26658,"isOffset":false,"isSlot":false,"src":"9675:2:19","valueSize":1},{"declaration":26646,"isOffset":false,"isSlot":false,"src":"9803:2:19","valueSize":1},{"declaration":26648,"isOffset":false,"isSlot":false,"src":"9832:2:19","valueSize":1}],"id":26660,"nodeType":"InlineAssembly","src":"9592:253:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":26662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9870:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":26663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9876:4:19","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"}],"id":26661,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"9854:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9854:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26665,"nodeType":"ExpressionStatement","src":"9854:27:19"},{"AST":{"nativeSrc":"9943:98:19","nodeType":"YulBlock","src":"9943:98:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"9964:4:19","nodeType":"YulLiteral","src":"9964:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"9970:2:19","nodeType":"YulIdentifier","src":"9970:2:19"}],"functionName":{"name":"mstore","nativeSrc":"9957:6:19","nodeType":"YulIdentifier","src":"9957:6:19"},"nativeSrc":"9957:16:19","nodeType":"YulFunctionCall","src":"9957:16:19"},"nativeSrc":"9957:16:19","nodeType":"YulExpressionStatement","src":"9957:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"9993:4:19","nodeType":"YulLiteral","src":"9993:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"9999:2:19","nodeType":"YulIdentifier","src":"9999:2:19"}],"functionName":{"name":"mstore","nativeSrc":"9986:6:19","nodeType":"YulIdentifier","src":"9986:6:19"},"nativeSrc":"9986:16:19","nodeType":"YulFunctionCall","src":"9986:16:19"},"nativeSrc":"9986:16:19","nodeType":"YulExpressionStatement","src":"9986:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10022:4:19","nodeType":"YulLiteral","src":"10022:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"10028:2:19","nodeType":"YulIdentifier","src":"10028:2:19"}],"functionName":{"name":"mstore","nativeSrc":"10015:6:19","nodeType":"YulIdentifier","src":"10015:6:19"},"nativeSrc":"10015:16:19","nodeType":"YulFunctionCall","src":"10015:16:19"},"nativeSrc":"10015:16:19","nodeType":"YulExpressionStatement","src":"10015:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26652,"isOffset":false,"isSlot":false,"src":"9970:2:19","valueSize":1},{"declaration":26655,"isOffset":false,"isSlot":false,"src":"9999:2:19","valueSize":1},{"declaration":26658,"isOffset":false,"isSlot":false,"src":"10028:2:19","valueSize":1}],"id":26666,"nodeType":"InlineAssembly","src":"9934:107:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9440:3:19","parameters":{"id":26649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26646,"mutability":"mutable","name":"p0","nameLocation":"9449:2:19","nodeType":"VariableDeclaration","scope":26668,"src":"9444:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26645,"name":"bool","nodeType":"ElementaryTypeName","src":"9444:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26648,"mutability":"mutable","name":"p1","nameLocation":"9461:2:19","nodeType":"VariableDeclaration","scope":26668,"src":"9453:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26647,"name":"address","nodeType":"ElementaryTypeName","src":"9453:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9443:21:19"},"returnParameters":{"id":26650,"nodeType":"ParameterList","parameters":[],"src":"9479:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26692,"nodeType":"FunctionDefinition","src":"10053:610:19","nodes":[],"body":{"id":26691,"nodeType":"Block","src":"10098:565:19","nodes":[],"statements":[{"assignments":[26676],"declarations":[{"constant":false,"id":26676,"mutability":"mutable","name":"m0","nameLocation":"10116:2:19","nodeType":"VariableDeclaration","scope":26691,"src":"10108:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26675,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10108:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26677,"nodeType":"VariableDeclarationStatement","src":"10108:10:19"},{"assignments":[26679],"declarations":[{"constant":false,"id":26679,"mutability":"mutable","name":"m1","nameLocation":"10136:2:19","nodeType":"VariableDeclaration","scope":26691,"src":"10128:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26678,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10128:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26680,"nodeType":"VariableDeclarationStatement","src":"10128:10:19"},{"assignments":[26682],"declarations":[{"constant":false,"id":26682,"mutability":"mutable","name":"m2","nameLocation":"10156:2:19","nodeType":"VariableDeclaration","scope":26691,"src":"10148:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26681,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10148:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26683,"nodeType":"VariableDeclarationStatement","src":"10148:10:19"},{"AST":{"nativeSrc":"10220:241:19","nodeType":"YulBlock","src":"10220:241:19","statements":[{"nativeSrc":"10234:17:19","nodeType":"YulAssignment","src":"10234:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"10246:4:19","nodeType":"YulLiteral","src":"10246:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"10240:5:19","nodeType":"YulIdentifier","src":"10240:5:19"},"nativeSrc":"10240:11:19","nodeType":"YulFunctionCall","src":"10240:11:19"},"variableNames":[{"name":"m0","nativeSrc":"10234:2:19","nodeType":"YulIdentifier","src":"10234:2:19"}]},{"nativeSrc":"10264:17:19","nodeType":"YulAssignment","src":"10264:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"10276:4:19","nodeType":"YulLiteral","src":"10276:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"10270:5:19","nodeType":"YulIdentifier","src":"10270:5:19"},"nativeSrc":"10270:11:19","nodeType":"YulFunctionCall","src":"10270:11:19"},"variableNames":[{"name":"m1","nativeSrc":"10264:2:19","nodeType":"YulIdentifier","src":"10264:2:19"}]},{"nativeSrc":"10294:17:19","nodeType":"YulAssignment","src":"10294:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"10306:4:19","nodeType":"YulLiteral","src":"10306:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"10300:5:19","nodeType":"YulIdentifier","src":"10300:5:19"},"nativeSrc":"10300:11:19","nodeType":"YulFunctionCall","src":"10300:11:19"},"variableNames":[{"name":"m2","nativeSrc":"10294:2:19","nodeType":"YulIdentifier","src":"10294:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10376:4:19","nodeType":"YulLiteral","src":"10376:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"10382:10:19","nodeType":"YulLiteral","src":"10382:10:19","type":"","value":"0x2a110e83"}],"functionName":{"name":"mstore","nativeSrc":"10369:6:19","nodeType":"YulIdentifier","src":"10369:6:19"},"nativeSrc":"10369:24:19","nodeType":"YulFunctionCall","src":"10369:24:19"},"nativeSrc":"10369:24:19","nodeType":"YulExpressionStatement","src":"10369:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10413:4:19","nodeType":"YulLiteral","src":"10413:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"10419:2:19","nodeType":"YulIdentifier","src":"10419:2:19"}],"functionName":{"name":"mstore","nativeSrc":"10406:6:19","nodeType":"YulIdentifier","src":"10406:6:19"},"nativeSrc":"10406:16:19","nodeType":"YulFunctionCall","src":"10406:16:19"},"nativeSrc":"10406:16:19","nodeType":"YulExpressionStatement","src":"10406:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10442:4:19","nodeType":"YulLiteral","src":"10442:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"10448:2:19","nodeType":"YulIdentifier","src":"10448:2:19"}],"functionName":{"name":"mstore","nativeSrc":"10435:6:19","nodeType":"YulIdentifier","src":"10435:6:19"},"nativeSrc":"10435:16:19","nodeType":"YulFunctionCall","src":"10435:16:19"},"nativeSrc":"10435:16:19","nodeType":"YulExpressionStatement","src":"10435:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26676,"isOffset":false,"isSlot":false,"src":"10234:2:19","valueSize":1},{"declaration":26679,"isOffset":false,"isSlot":false,"src":"10264:2:19","valueSize":1},{"declaration":26682,"isOffset":false,"isSlot":false,"src":"10294:2:19","valueSize":1},{"declaration":26670,"isOffset":false,"isSlot":false,"src":"10419:2:19","valueSize":1},{"declaration":26672,"isOffset":false,"isSlot":false,"src":"10448:2:19","valueSize":1}],"id":26684,"nodeType":"InlineAssembly","src":"10211:250:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":26686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10486:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":26687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10492:4:19","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"}],"id":26685,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"10470:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10470:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26689,"nodeType":"ExpressionStatement","src":"10470:27:19"},{"AST":{"nativeSrc":"10559:98:19","nodeType":"YulBlock","src":"10559:98:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"10580:4:19","nodeType":"YulLiteral","src":"10580:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"10586:2:19","nodeType":"YulIdentifier","src":"10586:2:19"}],"functionName":{"name":"mstore","nativeSrc":"10573:6:19","nodeType":"YulIdentifier","src":"10573:6:19"},"nativeSrc":"10573:16:19","nodeType":"YulFunctionCall","src":"10573:16:19"},"nativeSrc":"10573:16:19","nodeType":"YulExpressionStatement","src":"10573:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10609:4:19","nodeType":"YulLiteral","src":"10609:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"10615:2:19","nodeType":"YulIdentifier","src":"10615:2:19"}],"functionName":{"name":"mstore","nativeSrc":"10602:6:19","nodeType":"YulIdentifier","src":"10602:6:19"},"nativeSrc":"10602:16:19","nodeType":"YulFunctionCall","src":"10602:16:19"},"nativeSrc":"10602:16:19","nodeType":"YulExpressionStatement","src":"10602:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10638:4:19","nodeType":"YulLiteral","src":"10638:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"10644:2:19","nodeType":"YulIdentifier","src":"10644:2:19"}],"functionName":{"name":"mstore","nativeSrc":"10631:6:19","nodeType":"YulIdentifier","src":"10631:6:19"},"nativeSrc":"10631:16:19","nodeType":"YulFunctionCall","src":"10631:16:19"},"nativeSrc":"10631:16:19","nodeType":"YulExpressionStatement","src":"10631:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26676,"isOffset":false,"isSlot":false,"src":"10586:2:19","valueSize":1},{"declaration":26679,"isOffset":false,"isSlot":false,"src":"10615:2:19","valueSize":1},{"declaration":26682,"isOffset":false,"isSlot":false,"src":"10644:2:19","valueSize":1}],"id":26690,"nodeType":"InlineAssembly","src":"10550:107:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10062:3:19","parameters":{"id":26673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26670,"mutability":"mutable","name":"p0","nameLocation":"10071:2:19","nodeType":"VariableDeclaration","scope":26692,"src":"10066:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26669,"name":"bool","nodeType":"ElementaryTypeName","src":"10066:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26672,"mutability":"mutable","name":"p1","nameLocation":"10080:2:19","nodeType":"VariableDeclaration","scope":26692,"src":"10075:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26671,"name":"bool","nodeType":"ElementaryTypeName","src":"10075:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10065:18:19"},"returnParameters":{"id":26674,"nodeType":"ParameterList","parameters":[],"src":"10098:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26716,"nodeType":"FunctionDefinition","src":"10669:616:19","nodes":[],"body":{"id":26715,"nodeType":"Block","src":"10717:568:19","nodes":[],"statements":[{"assignments":[26700],"declarations":[{"constant":false,"id":26700,"mutability":"mutable","name":"m0","nameLocation":"10735:2:19","nodeType":"VariableDeclaration","scope":26715,"src":"10727:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26699,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10727:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26701,"nodeType":"VariableDeclarationStatement","src":"10727:10:19"},{"assignments":[26703],"declarations":[{"constant":false,"id":26703,"mutability":"mutable","name":"m1","nameLocation":"10755:2:19","nodeType":"VariableDeclaration","scope":26715,"src":"10747:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26702,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10747:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26704,"nodeType":"VariableDeclarationStatement","src":"10747:10:19"},{"assignments":[26706],"declarations":[{"constant":false,"id":26706,"mutability":"mutable","name":"m2","nameLocation":"10775:2:19","nodeType":"VariableDeclaration","scope":26715,"src":"10767:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26705,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10767:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26707,"nodeType":"VariableDeclarationStatement","src":"10767:10:19"},{"AST":{"nativeSrc":"10839:244:19","nodeType":"YulBlock","src":"10839:244:19","statements":[{"nativeSrc":"10853:17:19","nodeType":"YulAssignment","src":"10853:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"10865:4:19","nodeType":"YulLiteral","src":"10865:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"10859:5:19","nodeType":"YulIdentifier","src":"10859:5:19"},"nativeSrc":"10859:11:19","nodeType":"YulFunctionCall","src":"10859:11:19"},"variableNames":[{"name":"m0","nativeSrc":"10853:2:19","nodeType":"YulIdentifier","src":"10853:2:19"}]},{"nativeSrc":"10883:17:19","nodeType":"YulAssignment","src":"10883:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"10895:4:19","nodeType":"YulLiteral","src":"10895:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"10889:5:19","nodeType":"YulIdentifier","src":"10889:5:19"},"nativeSrc":"10889:11:19","nodeType":"YulFunctionCall","src":"10889:11:19"},"variableNames":[{"name":"m1","nativeSrc":"10883:2:19","nodeType":"YulIdentifier","src":"10883:2:19"}]},{"nativeSrc":"10913:17:19","nodeType":"YulAssignment","src":"10913:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"10925:4:19","nodeType":"YulLiteral","src":"10925:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"10919:5:19","nodeType":"YulIdentifier","src":"10919:5:19"},"nativeSrc":"10919:11:19","nodeType":"YulFunctionCall","src":"10919:11:19"},"variableNames":[{"name":"m2","nativeSrc":"10913:2:19","nodeType":"YulIdentifier","src":"10913:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"10998:4:19","nodeType":"YulLiteral","src":"10998:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"11004:10:19","nodeType":"YulLiteral","src":"11004:10:19","type":"","value":"0x399174d3"}],"functionName":{"name":"mstore","nativeSrc":"10991:6:19","nodeType":"YulIdentifier","src":"10991:6:19"},"nativeSrc":"10991:24:19","nodeType":"YulFunctionCall","src":"10991:24:19"},"nativeSrc":"10991:24:19","nodeType":"YulExpressionStatement","src":"10991:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"11035:4:19","nodeType":"YulLiteral","src":"11035:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"11041:2:19","nodeType":"YulIdentifier","src":"11041:2:19"}],"functionName":{"name":"mstore","nativeSrc":"11028:6:19","nodeType":"YulIdentifier","src":"11028:6:19"},"nativeSrc":"11028:16:19","nodeType":"YulFunctionCall","src":"11028:16:19"},"nativeSrc":"11028:16:19","nodeType":"YulExpressionStatement","src":"11028:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"11064:4:19","nodeType":"YulLiteral","src":"11064:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"11070:2:19","nodeType":"YulIdentifier","src":"11070:2:19"}],"functionName":{"name":"mstore","nativeSrc":"11057:6:19","nodeType":"YulIdentifier","src":"11057:6:19"},"nativeSrc":"11057:16:19","nodeType":"YulFunctionCall","src":"11057:16:19"},"nativeSrc":"11057:16:19","nodeType":"YulExpressionStatement","src":"11057:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26700,"isOffset":false,"isSlot":false,"src":"10853:2:19","valueSize":1},{"declaration":26703,"isOffset":false,"isSlot":false,"src":"10883:2:19","valueSize":1},{"declaration":26706,"isOffset":false,"isSlot":false,"src":"10913:2:19","valueSize":1},{"declaration":26694,"isOffset":false,"isSlot":false,"src":"11041:2:19","valueSize":1},{"declaration":26696,"isOffset":false,"isSlot":false,"src":"11070:2:19","valueSize":1}],"id":26708,"nodeType":"InlineAssembly","src":"10830:253:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":26710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11108:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":26711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11114:4:19","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"}],"id":26709,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"11092:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11092:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26713,"nodeType":"ExpressionStatement","src":"11092:27:19"},{"AST":{"nativeSrc":"11181:98:19","nodeType":"YulBlock","src":"11181:98:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"11202:4:19","nodeType":"YulLiteral","src":"11202:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"11208:2:19","nodeType":"YulIdentifier","src":"11208:2:19"}],"functionName":{"name":"mstore","nativeSrc":"11195:6:19","nodeType":"YulIdentifier","src":"11195:6:19"},"nativeSrc":"11195:16:19","nodeType":"YulFunctionCall","src":"11195:16:19"},"nativeSrc":"11195:16:19","nodeType":"YulExpressionStatement","src":"11195:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"11231:4:19","nodeType":"YulLiteral","src":"11231:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"11237:2:19","nodeType":"YulIdentifier","src":"11237:2:19"}],"functionName":{"name":"mstore","nativeSrc":"11224:6:19","nodeType":"YulIdentifier","src":"11224:6:19"},"nativeSrc":"11224:16:19","nodeType":"YulFunctionCall","src":"11224:16:19"},"nativeSrc":"11224:16:19","nodeType":"YulExpressionStatement","src":"11224:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"11260:4:19","nodeType":"YulLiteral","src":"11260:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"11266:2:19","nodeType":"YulIdentifier","src":"11266:2:19"}],"functionName":{"name":"mstore","nativeSrc":"11253:6:19","nodeType":"YulIdentifier","src":"11253:6:19"},"nativeSrc":"11253:16:19","nodeType":"YulFunctionCall","src":"11253:16:19"},"nativeSrc":"11253:16:19","nodeType":"YulExpressionStatement","src":"11253:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26700,"isOffset":false,"isSlot":false,"src":"11208:2:19","valueSize":1},{"declaration":26703,"isOffset":false,"isSlot":false,"src":"11237:2:19","valueSize":1},{"declaration":26706,"isOffset":false,"isSlot":false,"src":"11266:2:19","valueSize":1}],"id":26714,"nodeType":"InlineAssembly","src":"11172:107:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10678:3:19","parameters":{"id":26697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26694,"mutability":"mutable","name":"p0","nameLocation":"10687:2:19","nodeType":"VariableDeclaration","scope":26716,"src":"10682:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26693,"name":"bool","nodeType":"ElementaryTypeName","src":"10682:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26696,"mutability":"mutable","name":"p1","nameLocation":"10699:2:19","nodeType":"VariableDeclaration","scope":26716,"src":"10691:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26695,"name":"uint256","nodeType":"ElementaryTypeName","src":"10691:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10681:21:19"},"returnParameters":{"id":26698,"nodeType":"ParameterList","parameters":[],"src":"10717:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26746,"nodeType":"FunctionDefinition","src":"11291:1164:19","nodes":[],"body":{"id":26745,"nodeType":"Block","src":"11339:1116:19","nodes":[],"statements":[{"assignments":[26724],"declarations":[{"constant":false,"id":26724,"mutability":"mutable","name":"m0","nameLocation":"11357:2:19","nodeType":"VariableDeclaration","scope":26745,"src":"11349:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26723,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11349:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26725,"nodeType":"VariableDeclarationStatement","src":"11349:10:19"},{"assignments":[26727],"declarations":[{"constant":false,"id":26727,"mutability":"mutable","name":"m1","nameLocation":"11377:2:19","nodeType":"VariableDeclaration","scope":26745,"src":"11369:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26726,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11369:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26728,"nodeType":"VariableDeclarationStatement","src":"11369:10:19"},{"assignments":[26730],"declarations":[{"constant":false,"id":26730,"mutability":"mutable","name":"m2","nameLocation":"11397:2:19","nodeType":"VariableDeclaration","scope":26745,"src":"11389:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26729,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11389:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26731,"nodeType":"VariableDeclarationStatement","src":"11389:10:19"},{"assignments":[26733],"declarations":[{"constant":false,"id":26733,"mutability":"mutable","name":"m3","nameLocation":"11417:2:19","nodeType":"VariableDeclaration","scope":26745,"src":"11409:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26732,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11409:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26734,"nodeType":"VariableDeclarationStatement","src":"11409:10:19"},{"assignments":[26736],"declarations":[{"constant":false,"id":26736,"mutability":"mutable","name":"m4","nameLocation":"11437:2:19","nodeType":"VariableDeclaration","scope":26745,"src":"11429:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26735,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11429:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26737,"nodeType":"VariableDeclarationStatement","src":"11429:10:19"},{"AST":{"nativeSrc":"11501:694:19","nodeType":"YulBlock","src":"11501:694:19","statements":[{"body":{"nativeSrc":"11544:313:19","nodeType":"YulBlock","src":"11544:313:19","statements":[{"nativeSrc":"11562:15:19","nodeType":"YulVariableDeclaration","src":"11562:15:19","value":{"kind":"number","nativeSrc":"11576:1:19","nodeType":"YulLiteral","src":"11576:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"11566:6:19","nodeType":"YulTypedName","src":"11566:6:19","type":""}]},{"body":{"nativeSrc":"11647:40:19","nodeType":"YulBlock","src":"11647:40:19","statements":[{"body":{"nativeSrc":"11676:9:19","nodeType":"YulBlock","src":"11676:9:19","statements":[{"nativeSrc":"11678:5:19","nodeType":"YulBreak","src":"11678:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"11664:6:19","nodeType":"YulIdentifier","src":"11664:6:19"},{"name":"w","nativeSrc":"11672:1:19","nodeType":"YulIdentifier","src":"11672:1:19"}],"functionName":{"name":"byte","nativeSrc":"11659:4:19","nodeType":"YulIdentifier","src":"11659:4:19"},"nativeSrc":"11659:15:19","nodeType":"YulFunctionCall","src":"11659:15:19"}],"functionName":{"name":"iszero","nativeSrc":"11652:6:19","nodeType":"YulIdentifier","src":"11652:6:19"},"nativeSrc":"11652:23:19","nodeType":"YulFunctionCall","src":"11652:23:19"},"nativeSrc":"11649:36:19","nodeType":"YulIf","src":"11649:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"11604:6:19","nodeType":"YulIdentifier","src":"11604:6:19"},{"kind":"number","nativeSrc":"11612:4:19","nodeType":"YulLiteral","src":"11612:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"11601:2:19","nodeType":"YulIdentifier","src":"11601:2:19"},"nativeSrc":"11601:16:19","nodeType":"YulFunctionCall","src":"11601:16:19"},"nativeSrc":"11594:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"11618:28:19","nodeType":"YulBlock","src":"11618:28:19","statements":[{"nativeSrc":"11620:24:19","nodeType":"YulAssignment","src":"11620:24:19","value":{"arguments":[{"name":"length","nativeSrc":"11634:6:19","nodeType":"YulIdentifier","src":"11634:6:19"},{"kind":"number","nativeSrc":"11642:1:19","nodeType":"YulLiteral","src":"11642:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"11630:3:19","nodeType":"YulIdentifier","src":"11630:3:19"},"nativeSrc":"11630:14:19","nodeType":"YulFunctionCall","src":"11630:14:19"},"variableNames":[{"name":"length","nativeSrc":"11620:6:19","nodeType":"YulIdentifier","src":"11620:6:19"}]}]},"pre":{"nativeSrc":"11598:2:19","nodeType":"YulBlock","src":"11598:2:19","statements":[]},"src":"11594:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"11711:3:19","nodeType":"YulIdentifier","src":"11711:3:19"},{"name":"length","nativeSrc":"11716:6:19","nodeType":"YulIdentifier","src":"11716:6:19"}],"functionName":{"name":"mstore","nativeSrc":"11704:6:19","nodeType":"YulIdentifier","src":"11704:6:19"},"nativeSrc":"11704:19:19","nodeType":"YulFunctionCall","src":"11704:19:19"},"nativeSrc":"11704:19:19","nodeType":"YulExpressionStatement","src":"11704:19:19"},{"nativeSrc":"11740:37:19","nodeType":"YulVariableDeclaration","src":"11740:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"11757:3:19","nodeType":"YulLiteral","src":"11757:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"11766:1:19","nodeType":"YulLiteral","src":"11766:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"11769:6:19","nodeType":"YulIdentifier","src":"11769:6:19"}],"functionName":{"name":"shl","nativeSrc":"11762:3:19","nodeType":"YulIdentifier","src":"11762:3:19"},"nativeSrc":"11762:14:19","nodeType":"YulFunctionCall","src":"11762:14:19"}],"functionName":{"name":"sub","nativeSrc":"11753:3:19","nodeType":"YulIdentifier","src":"11753:3:19"},"nativeSrc":"11753:24:19","nodeType":"YulFunctionCall","src":"11753:24:19"},"variables":[{"name":"shift","nativeSrc":"11744:5:19","nodeType":"YulTypedName","src":"11744:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"11805:3:19","nodeType":"YulIdentifier","src":"11805:3:19"},{"kind":"number","nativeSrc":"11810:4:19","nodeType":"YulLiteral","src":"11810:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"11801:3:19","nodeType":"YulIdentifier","src":"11801:3:19"},"nativeSrc":"11801:14:19","nodeType":"YulFunctionCall","src":"11801:14:19"},{"arguments":[{"name":"shift","nativeSrc":"11821:5:19","nodeType":"YulIdentifier","src":"11821:5:19"},{"arguments":[{"name":"shift","nativeSrc":"11832:5:19","nodeType":"YulIdentifier","src":"11832:5:19"},{"name":"w","nativeSrc":"11839:1:19","nodeType":"YulIdentifier","src":"11839:1:19"}],"functionName":{"name":"shr","nativeSrc":"11828:3:19","nodeType":"YulIdentifier","src":"11828:3:19"},"nativeSrc":"11828:13:19","nodeType":"YulFunctionCall","src":"11828:13:19"}],"functionName":{"name":"shl","nativeSrc":"11817:3:19","nodeType":"YulIdentifier","src":"11817:3:19"},"nativeSrc":"11817:25:19","nodeType":"YulFunctionCall","src":"11817:25:19"}],"functionName":{"name":"mstore","nativeSrc":"11794:6:19","nodeType":"YulIdentifier","src":"11794:6:19"},"nativeSrc":"11794:49:19","nodeType":"YulFunctionCall","src":"11794:49:19"},"nativeSrc":"11794:49:19","nodeType":"YulExpressionStatement","src":"11794:49:19"}]},"name":"writeString","nativeSrc":"11515:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"11536:3:19","nodeType":"YulTypedName","src":"11536:3:19","type":""},{"name":"w","nativeSrc":"11541:1:19","nodeType":"YulTypedName","src":"11541:1:19","type":""}],"src":"11515:342:19"},{"nativeSrc":"11870:17:19","nodeType":"YulAssignment","src":"11870:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"11882:4:19","nodeType":"YulLiteral","src":"11882:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"11876:5:19","nodeType":"YulIdentifier","src":"11876:5:19"},"nativeSrc":"11876:11:19","nodeType":"YulFunctionCall","src":"11876:11:19"},"variableNames":[{"name":"m0","nativeSrc":"11870:2:19","nodeType":"YulIdentifier","src":"11870:2:19"}]},{"nativeSrc":"11900:17:19","nodeType":"YulAssignment","src":"11900:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"11912:4:19","nodeType":"YulLiteral","src":"11912:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"11906:5:19","nodeType":"YulIdentifier","src":"11906:5:19"},"nativeSrc":"11906:11:19","nodeType":"YulFunctionCall","src":"11906:11:19"},"variableNames":[{"name":"m1","nativeSrc":"11900:2:19","nodeType":"YulIdentifier","src":"11900:2:19"}]},{"nativeSrc":"11930:17:19","nodeType":"YulAssignment","src":"11930:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"11942:4:19","nodeType":"YulLiteral","src":"11942:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"11936:5:19","nodeType":"YulIdentifier","src":"11936:5:19"},"nativeSrc":"11936:11:19","nodeType":"YulFunctionCall","src":"11936:11:19"},"variableNames":[{"name":"m2","nativeSrc":"11930:2:19","nodeType":"YulIdentifier","src":"11930:2:19"}]},{"nativeSrc":"11960:17:19","nodeType":"YulAssignment","src":"11960:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"11972:4:19","nodeType":"YulLiteral","src":"11972:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"11966:5:19","nodeType":"YulIdentifier","src":"11966:5:19"},"nativeSrc":"11966:11:19","nodeType":"YulFunctionCall","src":"11966:11:19"},"variableNames":[{"name":"m3","nativeSrc":"11960:2:19","nodeType":"YulIdentifier","src":"11960:2:19"}]},{"nativeSrc":"11990:17:19","nodeType":"YulAssignment","src":"11990:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"12002:4:19","nodeType":"YulLiteral","src":"12002:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"11996:5:19","nodeType":"YulIdentifier","src":"11996:5:19"},"nativeSrc":"11996:11:19","nodeType":"YulFunctionCall","src":"11996:11:19"},"variableNames":[{"name":"m4","nativeSrc":"11990:2:19","nodeType":"YulIdentifier","src":"11990:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12074:4:19","nodeType":"YulLiteral","src":"12074:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"12080:10:19","nodeType":"YulLiteral","src":"12080:10:19","type":"","value":"0x8feac525"}],"functionName":{"name":"mstore","nativeSrc":"12067:6:19","nodeType":"YulIdentifier","src":"12067:6:19"},"nativeSrc":"12067:24:19","nodeType":"YulFunctionCall","src":"12067:24:19"},"nativeSrc":"12067:24:19","nodeType":"YulExpressionStatement","src":"12067:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12111:4:19","nodeType":"YulLiteral","src":"12111:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"12117:2:19","nodeType":"YulIdentifier","src":"12117:2:19"}],"functionName":{"name":"mstore","nativeSrc":"12104:6:19","nodeType":"YulIdentifier","src":"12104:6:19"},"nativeSrc":"12104:16:19","nodeType":"YulFunctionCall","src":"12104:16:19"},"nativeSrc":"12104:16:19","nodeType":"YulExpressionStatement","src":"12104:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12140:4:19","nodeType":"YulLiteral","src":"12140:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"12146:4:19","nodeType":"YulLiteral","src":"12146:4:19","type":"","value":"0x40"}],"functionName":{"name":"mstore","nativeSrc":"12133:6:19","nodeType":"YulIdentifier","src":"12133:6:19"},"nativeSrc":"12133:18:19","nodeType":"YulFunctionCall","src":"12133:18:19"},"nativeSrc":"12133:18:19","nodeType":"YulExpressionStatement","src":"12133:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12176:4:19","nodeType":"YulLiteral","src":"12176:4:19","type":"","value":"0x60"},{"name":"p1","nativeSrc":"12182:2:19","nodeType":"YulIdentifier","src":"12182:2:19"}],"functionName":{"name":"writeString","nativeSrc":"12164:11:19","nodeType":"YulIdentifier","src":"12164:11:19"},"nativeSrc":"12164:21:19","nodeType":"YulFunctionCall","src":"12164:21:19"},"nativeSrc":"12164:21:19","nodeType":"YulExpressionStatement","src":"12164:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26724,"isOffset":false,"isSlot":false,"src":"11870:2:19","valueSize":1},{"declaration":26727,"isOffset":false,"isSlot":false,"src":"11900:2:19","valueSize":1},{"declaration":26730,"isOffset":false,"isSlot":false,"src":"11930:2:19","valueSize":1},{"declaration":26733,"isOffset":false,"isSlot":false,"src":"11960:2:19","valueSize":1},{"declaration":26736,"isOffset":false,"isSlot":false,"src":"11990:2:19","valueSize":1},{"declaration":26718,"isOffset":false,"isSlot":false,"src":"12117:2:19","valueSize":1},{"declaration":26720,"isOffset":false,"isSlot":false,"src":"12182:2:19","valueSize":1}],"id":26738,"nodeType":"InlineAssembly","src":"11492:703:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":26740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12220:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":26741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12226:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":26739,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"12204:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12204:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26743,"nodeType":"ExpressionStatement","src":"12204:27:19"},{"AST":{"nativeSrc":"12293:156:19","nodeType":"YulBlock","src":"12293:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"12314:4:19","nodeType":"YulLiteral","src":"12314:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"12320:2:19","nodeType":"YulIdentifier","src":"12320:2:19"}],"functionName":{"name":"mstore","nativeSrc":"12307:6:19","nodeType":"YulIdentifier","src":"12307:6:19"},"nativeSrc":"12307:16:19","nodeType":"YulFunctionCall","src":"12307:16:19"},"nativeSrc":"12307:16:19","nodeType":"YulExpressionStatement","src":"12307:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12343:4:19","nodeType":"YulLiteral","src":"12343:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"12349:2:19","nodeType":"YulIdentifier","src":"12349:2:19"}],"functionName":{"name":"mstore","nativeSrc":"12336:6:19","nodeType":"YulIdentifier","src":"12336:6:19"},"nativeSrc":"12336:16:19","nodeType":"YulFunctionCall","src":"12336:16:19"},"nativeSrc":"12336:16:19","nodeType":"YulExpressionStatement","src":"12336:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12372:4:19","nodeType":"YulLiteral","src":"12372:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"12378:2:19","nodeType":"YulIdentifier","src":"12378:2:19"}],"functionName":{"name":"mstore","nativeSrc":"12365:6:19","nodeType":"YulIdentifier","src":"12365:6:19"},"nativeSrc":"12365:16:19","nodeType":"YulFunctionCall","src":"12365:16:19"},"nativeSrc":"12365:16:19","nodeType":"YulExpressionStatement","src":"12365:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12401:4:19","nodeType":"YulLiteral","src":"12401:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"12407:2:19","nodeType":"YulIdentifier","src":"12407:2:19"}],"functionName":{"name":"mstore","nativeSrc":"12394:6:19","nodeType":"YulIdentifier","src":"12394:6:19"},"nativeSrc":"12394:16:19","nodeType":"YulFunctionCall","src":"12394:16:19"},"nativeSrc":"12394:16:19","nodeType":"YulExpressionStatement","src":"12394:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12430:4:19","nodeType":"YulLiteral","src":"12430:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"12436:2:19","nodeType":"YulIdentifier","src":"12436:2:19"}],"functionName":{"name":"mstore","nativeSrc":"12423:6:19","nodeType":"YulIdentifier","src":"12423:6:19"},"nativeSrc":"12423:16:19","nodeType":"YulFunctionCall","src":"12423:16:19"},"nativeSrc":"12423:16:19","nodeType":"YulExpressionStatement","src":"12423:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26724,"isOffset":false,"isSlot":false,"src":"12320:2:19","valueSize":1},{"declaration":26727,"isOffset":false,"isSlot":false,"src":"12349:2:19","valueSize":1},{"declaration":26730,"isOffset":false,"isSlot":false,"src":"12378:2:19","valueSize":1},{"declaration":26733,"isOffset":false,"isSlot":false,"src":"12407:2:19","valueSize":1},{"declaration":26736,"isOffset":false,"isSlot":false,"src":"12436:2:19","valueSize":1}],"id":26744,"nodeType":"InlineAssembly","src":"12284:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11300:3:19","parameters":{"id":26721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26718,"mutability":"mutable","name":"p0","nameLocation":"11309:2:19","nodeType":"VariableDeclaration","scope":26746,"src":"11304:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26717,"name":"bool","nodeType":"ElementaryTypeName","src":"11304:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26720,"mutability":"mutable","name":"p1","nameLocation":"11321:2:19","nodeType":"VariableDeclaration","scope":26746,"src":"11313:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26719,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11313:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11303:21:19"},"returnParameters":{"id":26722,"nodeType":"ParameterList","parameters":[],"src":"11339:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26770,"nodeType":"FunctionDefinition","src":"12461:622:19","nodes":[],"body":{"id":26769,"nodeType":"Block","src":"12512:571:19","nodes":[],"statements":[{"assignments":[26754],"declarations":[{"constant":false,"id":26754,"mutability":"mutable","name":"m0","nameLocation":"12530:2:19","nodeType":"VariableDeclaration","scope":26769,"src":"12522:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26753,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12522:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26755,"nodeType":"VariableDeclarationStatement","src":"12522:10:19"},{"assignments":[26757],"declarations":[{"constant":false,"id":26757,"mutability":"mutable","name":"m1","nameLocation":"12550:2:19","nodeType":"VariableDeclaration","scope":26769,"src":"12542:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26756,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12542:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26758,"nodeType":"VariableDeclarationStatement","src":"12542:10:19"},{"assignments":[26760],"declarations":[{"constant":false,"id":26760,"mutability":"mutable","name":"m2","nameLocation":"12570:2:19","nodeType":"VariableDeclaration","scope":26769,"src":"12562:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26759,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12562:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26761,"nodeType":"VariableDeclarationStatement","src":"12562:10:19"},{"AST":{"nativeSrc":"12634:247:19","nodeType":"YulBlock","src":"12634:247:19","statements":[{"nativeSrc":"12648:17:19","nodeType":"YulAssignment","src":"12648:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"12660:4:19","nodeType":"YulLiteral","src":"12660:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"12654:5:19","nodeType":"YulIdentifier","src":"12654:5:19"},"nativeSrc":"12654:11:19","nodeType":"YulFunctionCall","src":"12654:11:19"},"variableNames":[{"name":"m0","nativeSrc":"12648:2:19","nodeType":"YulIdentifier","src":"12648:2:19"}]},{"nativeSrc":"12678:17:19","nodeType":"YulAssignment","src":"12678:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"12690:4:19","nodeType":"YulLiteral","src":"12690:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"12684:5:19","nodeType":"YulIdentifier","src":"12684:5:19"},"nativeSrc":"12684:11:19","nodeType":"YulFunctionCall","src":"12684:11:19"},"variableNames":[{"name":"m1","nativeSrc":"12678:2:19","nodeType":"YulIdentifier","src":"12678:2:19"}]},{"nativeSrc":"12708:17:19","nodeType":"YulAssignment","src":"12708:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"12720:4:19","nodeType":"YulLiteral","src":"12720:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"12714:5:19","nodeType":"YulIdentifier","src":"12714:5:19"},"nativeSrc":"12714:11:19","nodeType":"YulFunctionCall","src":"12714:11:19"},"variableNames":[{"name":"m2","nativeSrc":"12708:2:19","nodeType":"YulIdentifier","src":"12708:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12796:4:19","nodeType":"YulLiteral","src":"12796:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"12802:10:19","nodeType":"YulLiteral","src":"12802:10:19","type":"","value":"0x69276c86"}],"functionName":{"name":"mstore","nativeSrc":"12789:6:19","nodeType":"YulIdentifier","src":"12789:6:19"},"nativeSrc":"12789:24:19","nodeType":"YulFunctionCall","src":"12789:24:19"},"nativeSrc":"12789:24:19","nodeType":"YulExpressionStatement","src":"12789:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12833:4:19","nodeType":"YulLiteral","src":"12833:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"12839:2:19","nodeType":"YulIdentifier","src":"12839:2:19"}],"functionName":{"name":"mstore","nativeSrc":"12826:6:19","nodeType":"YulIdentifier","src":"12826:6:19"},"nativeSrc":"12826:16:19","nodeType":"YulFunctionCall","src":"12826:16:19"},"nativeSrc":"12826:16:19","nodeType":"YulExpressionStatement","src":"12826:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12862:4:19","nodeType":"YulLiteral","src":"12862:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"12868:2:19","nodeType":"YulIdentifier","src":"12868:2:19"}],"functionName":{"name":"mstore","nativeSrc":"12855:6:19","nodeType":"YulIdentifier","src":"12855:6:19"},"nativeSrc":"12855:16:19","nodeType":"YulFunctionCall","src":"12855:16:19"},"nativeSrc":"12855:16:19","nodeType":"YulExpressionStatement","src":"12855:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26754,"isOffset":false,"isSlot":false,"src":"12648:2:19","valueSize":1},{"declaration":26757,"isOffset":false,"isSlot":false,"src":"12678:2:19","valueSize":1},{"declaration":26760,"isOffset":false,"isSlot":false,"src":"12708:2:19","valueSize":1},{"declaration":26748,"isOffset":false,"isSlot":false,"src":"12839:2:19","valueSize":1},{"declaration":26750,"isOffset":false,"isSlot":false,"src":"12868:2:19","valueSize":1}],"id":26762,"nodeType":"InlineAssembly","src":"12625:256:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":26764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12906:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":26765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12912:4:19","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"}],"id":26763,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"12890:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12890:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26767,"nodeType":"ExpressionStatement","src":"12890:27:19"},{"AST":{"nativeSrc":"12979:98:19","nodeType":"YulBlock","src":"12979:98:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"13000:4:19","nodeType":"YulLiteral","src":"13000:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"13006:2:19","nodeType":"YulIdentifier","src":"13006:2:19"}],"functionName":{"name":"mstore","nativeSrc":"12993:6:19","nodeType":"YulIdentifier","src":"12993:6:19"},"nativeSrc":"12993:16:19","nodeType":"YulFunctionCall","src":"12993:16:19"},"nativeSrc":"12993:16:19","nodeType":"YulExpressionStatement","src":"12993:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"13029:4:19","nodeType":"YulLiteral","src":"13029:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"13035:2:19","nodeType":"YulIdentifier","src":"13035:2:19"}],"functionName":{"name":"mstore","nativeSrc":"13022:6:19","nodeType":"YulIdentifier","src":"13022:6:19"},"nativeSrc":"13022:16:19","nodeType":"YulFunctionCall","src":"13022:16:19"},"nativeSrc":"13022:16:19","nodeType":"YulExpressionStatement","src":"13022:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"13058:4:19","nodeType":"YulLiteral","src":"13058:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"13064:2:19","nodeType":"YulIdentifier","src":"13064:2:19"}],"functionName":{"name":"mstore","nativeSrc":"13051:6:19","nodeType":"YulIdentifier","src":"13051:6:19"},"nativeSrc":"13051:16:19","nodeType":"YulFunctionCall","src":"13051:16:19"},"nativeSrc":"13051:16:19","nodeType":"YulExpressionStatement","src":"13051:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26754,"isOffset":false,"isSlot":false,"src":"13006:2:19","valueSize":1},{"declaration":26757,"isOffset":false,"isSlot":false,"src":"13035:2:19","valueSize":1},{"declaration":26760,"isOffset":false,"isSlot":false,"src":"13064:2:19","valueSize":1}],"id":26768,"nodeType":"InlineAssembly","src":"12970:107:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12470:3:19","parameters":{"id":26751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26748,"mutability":"mutable","name":"p0","nameLocation":"12482:2:19","nodeType":"VariableDeclaration","scope":26770,"src":"12474:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26747,"name":"uint256","nodeType":"ElementaryTypeName","src":"12474:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26750,"mutability":"mutable","name":"p1","nameLocation":"12494:2:19","nodeType":"VariableDeclaration","scope":26770,"src":"12486:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26749,"name":"address","nodeType":"ElementaryTypeName","src":"12486:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12473:24:19"},"returnParameters":{"id":26752,"nodeType":"ParameterList","parameters":[],"src":"12512:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26794,"nodeType":"FunctionDefinition","src":"13089:616:19","nodes":[],"body":{"id":26793,"nodeType":"Block","src":"13137:568:19","nodes":[],"statements":[{"assignments":[26778],"declarations":[{"constant":false,"id":26778,"mutability":"mutable","name":"m0","nameLocation":"13155:2:19","nodeType":"VariableDeclaration","scope":26793,"src":"13147:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26777,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13147:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26779,"nodeType":"VariableDeclarationStatement","src":"13147:10:19"},{"assignments":[26781],"declarations":[{"constant":false,"id":26781,"mutability":"mutable","name":"m1","nameLocation":"13175:2:19","nodeType":"VariableDeclaration","scope":26793,"src":"13167:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26780,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13167:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26782,"nodeType":"VariableDeclarationStatement","src":"13167:10:19"},{"assignments":[26784],"declarations":[{"constant":false,"id":26784,"mutability":"mutable","name":"m2","nameLocation":"13195:2:19","nodeType":"VariableDeclaration","scope":26793,"src":"13187:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26783,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13187:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26785,"nodeType":"VariableDeclarationStatement","src":"13187:10:19"},{"AST":{"nativeSrc":"13259:244:19","nodeType":"YulBlock","src":"13259:244:19","statements":[{"nativeSrc":"13273:17:19","nodeType":"YulAssignment","src":"13273:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"13285:4:19","nodeType":"YulLiteral","src":"13285:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"13279:5:19","nodeType":"YulIdentifier","src":"13279:5:19"},"nativeSrc":"13279:11:19","nodeType":"YulFunctionCall","src":"13279:11:19"},"variableNames":[{"name":"m0","nativeSrc":"13273:2:19","nodeType":"YulIdentifier","src":"13273:2:19"}]},{"nativeSrc":"13303:17:19","nodeType":"YulAssignment","src":"13303:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"13315:4:19","nodeType":"YulLiteral","src":"13315:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"13309:5:19","nodeType":"YulIdentifier","src":"13309:5:19"},"nativeSrc":"13309:11:19","nodeType":"YulFunctionCall","src":"13309:11:19"},"variableNames":[{"name":"m1","nativeSrc":"13303:2:19","nodeType":"YulIdentifier","src":"13303:2:19"}]},{"nativeSrc":"13333:17:19","nodeType":"YulAssignment","src":"13333:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"13345:4:19","nodeType":"YulLiteral","src":"13345:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"13339:5:19","nodeType":"YulIdentifier","src":"13339:5:19"},"nativeSrc":"13339:11:19","nodeType":"YulFunctionCall","src":"13339:11:19"},"variableNames":[{"name":"m2","nativeSrc":"13333:2:19","nodeType":"YulIdentifier","src":"13333:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"13418:4:19","nodeType":"YulLiteral","src":"13418:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"13424:10:19","nodeType":"YulLiteral","src":"13424:10:19","type":"","value":"0x1c9d7eb3"}],"functionName":{"name":"mstore","nativeSrc":"13411:6:19","nodeType":"YulIdentifier","src":"13411:6:19"},"nativeSrc":"13411:24:19","nodeType":"YulFunctionCall","src":"13411:24:19"},"nativeSrc":"13411:24:19","nodeType":"YulExpressionStatement","src":"13411:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"13455:4:19","nodeType":"YulLiteral","src":"13455:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"13461:2:19","nodeType":"YulIdentifier","src":"13461:2:19"}],"functionName":{"name":"mstore","nativeSrc":"13448:6:19","nodeType":"YulIdentifier","src":"13448:6:19"},"nativeSrc":"13448:16:19","nodeType":"YulFunctionCall","src":"13448:16:19"},"nativeSrc":"13448:16:19","nodeType":"YulExpressionStatement","src":"13448:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"13484:4:19","nodeType":"YulLiteral","src":"13484:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"13490:2:19","nodeType":"YulIdentifier","src":"13490:2:19"}],"functionName":{"name":"mstore","nativeSrc":"13477:6:19","nodeType":"YulIdentifier","src":"13477:6:19"},"nativeSrc":"13477:16:19","nodeType":"YulFunctionCall","src":"13477:16:19"},"nativeSrc":"13477:16:19","nodeType":"YulExpressionStatement","src":"13477:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26778,"isOffset":false,"isSlot":false,"src":"13273:2:19","valueSize":1},{"declaration":26781,"isOffset":false,"isSlot":false,"src":"13303:2:19","valueSize":1},{"declaration":26784,"isOffset":false,"isSlot":false,"src":"13333:2:19","valueSize":1},{"declaration":26772,"isOffset":false,"isSlot":false,"src":"13461:2:19","valueSize":1},{"declaration":26774,"isOffset":false,"isSlot":false,"src":"13490:2:19","valueSize":1}],"id":26786,"nodeType":"InlineAssembly","src":"13250:253:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":26788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13528:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":26789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13534:4:19","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"}],"id":26787,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"13512:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13512:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26791,"nodeType":"ExpressionStatement","src":"13512:27:19"},{"AST":{"nativeSrc":"13601:98:19","nodeType":"YulBlock","src":"13601:98:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"13622:4:19","nodeType":"YulLiteral","src":"13622:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"13628:2:19","nodeType":"YulIdentifier","src":"13628:2:19"}],"functionName":{"name":"mstore","nativeSrc":"13615:6:19","nodeType":"YulIdentifier","src":"13615:6:19"},"nativeSrc":"13615:16:19","nodeType":"YulFunctionCall","src":"13615:16:19"},"nativeSrc":"13615:16:19","nodeType":"YulExpressionStatement","src":"13615:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"13651:4:19","nodeType":"YulLiteral","src":"13651:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"13657:2:19","nodeType":"YulIdentifier","src":"13657:2:19"}],"functionName":{"name":"mstore","nativeSrc":"13644:6:19","nodeType":"YulIdentifier","src":"13644:6:19"},"nativeSrc":"13644:16:19","nodeType":"YulFunctionCall","src":"13644:16:19"},"nativeSrc":"13644:16:19","nodeType":"YulExpressionStatement","src":"13644:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"13680:4:19","nodeType":"YulLiteral","src":"13680:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"13686:2:19","nodeType":"YulIdentifier","src":"13686:2:19"}],"functionName":{"name":"mstore","nativeSrc":"13673:6:19","nodeType":"YulIdentifier","src":"13673:6:19"},"nativeSrc":"13673:16:19","nodeType":"YulFunctionCall","src":"13673:16:19"},"nativeSrc":"13673:16:19","nodeType":"YulExpressionStatement","src":"13673:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26778,"isOffset":false,"isSlot":false,"src":"13628:2:19","valueSize":1},{"declaration":26781,"isOffset":false,"isSlot":false,"src":"13657:2:19","valueSize":1},{"declaration":26784,"isOffset":false,"isSlot":false,"src":"13686:2:19","valueSize":1}],"id":26792,"nodeType":"InlineAssembly","src":"13592:107:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13098:3:19","parameters":{"id":26775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26772,"mutability":"mutable","name":"p0","nameLocation":"13110:2:19","nodeType":"VariableDeclaration","scope":26794,"src":"13102:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26771,"name":"uint256","nodeType":"ElementaryTypeName","src":"13102:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26774,"mutability":"mutable","name":"p1","nameLocation":"13119:2:19","nodeType":"VariableDeclaration","scope":26794,"src":"13114:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26773,"name":"bool","nodeType":"ElementaryTypeName","src":"13114:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13101:21:19"},"returnParameters":{"id":26776,"nodeType":"ParameterList","parameters":[],"src":"13137:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26818,"nodeType":"FunctionDefinition","src":"13711:622:19","nodes":[],"body":{"id":26817,"nodeType":"Block","src":"13762:571:19","nodes":[],"statements":[{"assignments":[26802],"declarations":[{"constant":false,"id":26802,"mutability":"mutable","name":"m0","nameLocation":"13780:2:19","nodeType":"VariableDeclaration","scope":26817,"src":"13772:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26801,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13772:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26803,"nodeType":"VariableDeclarationStatement","src":"13772:10:19"},{"assignments":[26805],"declarations":[{"constant":false,"id":26805,"mutability":"mutable","name":"m1","nameLocation":"13800:2:19","nodeType":"VariableDeclaration","scope":26817,"src":"13792:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26804,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13792:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26806,"nodeType":"VariableDeclarationStatement","src":"13792:10:19"},{"assignments":[26808],"declarations":[{"constant":false,"id":26808,"mutability":"mutable","name":"m2","nameLocation":"13820:2:19","nodeType":"VariableDeclaration","scope":26817,"src":"13812:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26807,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13812:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26809,"nodeType":"VariableDeclarationStatement","src":"13812:10:19"},{"AST":{"nativeSrc":"13884:247:19","nodeType":"YulBlock","src":"13884:247:19","statements":[{"nativeSrc":"13898:17:19","nodeType":"YulAssignment","src":"13898:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"13910:4:19","nodeType":"YulLiteral","src":"13910:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"13904:5:19","nodeType":"YulIdentifier","src":"13904:5:19"},"nativeSrc":"13904:11:19","nodeType":"YulFunctionCall","src":"13904:11:19"},"variableNames":[{"name":"m0","nativeSrc":"13898:2:19","nodeType":"YulIdentifier","src":"13898:2:19"}]},{"nativeSrc":"13928:17:19","nodeType":"YulAssignment","src":"13928:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"13940:4:19","nodeType":"YulLiteral","src":"13940:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"13934:5:19","nodeType":"YulIdentifier","src":"13934:5:19"},"nativeSrc":"13934:11:19","nodeType":"YulFunctionCall","src":"13934:11:19"},"variableNames":[{"name":"m1","nativeSrc":"13928:2:19","nodeType":"YulIdentifier","src":"13928:2:19"}]},{"nativeSrc":"13958:17:19","nodeType":"YulAssignment","src":"13958:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"13970:4:19","nodeType":"YulLiteral","src":"13970:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"13964:5:19","nodeType":"YulIdentifier","src":"13964:5:19"},"nativeSrc":"13964:11:19","nodeType":"YulFunctionCall","src":"13964:11:19"},"variableNames":[{"name":"m2","nativeSrc":"13958:2:19","nodeType":"YulIdentifier","src":"13958:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"14046:4:19","nodeType":"YulLiteral","src":"14046:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"14052:10:19","nodeType":"YulLiteral","src":"14052:10:19","type":"","value":"0xf666715a"}],"functionName":{"name":"mstore","nativeSrc":"14039:6:19","nodeType":"YulIdentifier","src":"14039:6:19"},"nativeSrc":"14039:24:19","nodeType":"YulFunctionCall","src":"14039:24:19"},"nativeSrc":"14039:24:19","nodeType":"YulExpressionStatement","src":"14039:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"14083:4:19","nodeType":"YulLiteral","src":"14083:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"14089:2:19","nodeType":"YulIdentifier","src":"14089:2:19"}],"functionName":{"name":"mstore","nativeSrc":"14076:6:19","nodeType":"YulIdentifier","src":"14076:6:19"},"nativeSrc":"14076:16:19","nodeType":"YulFunctionCall","src":"14076:16:19"},"nativeSrc":"14076:16:19","nodeType":"YulExpressionStatement","src":"14076:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"14112:4:19","nodeType":"YulLiteral","src":"14112:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"14118:2:19","nodeType":"YulIdentifier","src":"14118:2:19"}],"functionName":{"name":"mstore","nativeSrc":"14105:6:19","nodeType":"YulIdentifier","src":"14105:6:19"},"nativeSrc":"14105:16:19","nodeType":"YulFunctionCall","src":"14105:16:19"},"nativeSrc":"14105:16:19","nodeType":"YulExpressionStatement","src":"14105:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26802,"isOffset":false,"isSlot":false,"src":"13898:2:19","valueSize":1},{"declaration":26805,"isOffset":false,"isSlot":false,"src":"13928:2:19","valueSize":1},{"declaration":26808,"isOffset":false,"isSlot":false,"src":"13958:2:19","valueSize":1},{"declaration":26796,"isOffset":false,"isSlot":false,"src":"14089:2:19","valueSize":1},{"declaration":26798,"isOffset":false,"isSlot":false,"src":"14118:2:19","valueSize":1}],"id":26810,"nodeType":"InlineAssembly","src":"13875:256:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":26812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14156:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783434","id":26813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14162:4:19","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"0x44"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"}],"id":26811,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"14140:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14140:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26815,"nodeType":"ExpressionStatement","src":"14140:27:19"},{"AST":{"nativeSrc":"14229:98:19","nodeType":"YulBlock","src":"14229:98:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"14250:4:19","nodeType":"YulLiteral","src":"14250:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"14256:2:19","nodeType":"YulIdentifier","src":"14256:2:19"}],"functionName":{"name":"mstore","nativeSrc":"14243:6:19","nodeType":"YulIdentifier","src":"14243:6:19"},"nativeSrc":"14243:16:19","nodeType":"YulFunctionCall","src":"14243:16:19"},"nativeSrc":"14243:16:19","nodeType":"YulExpressionStatement","src":"14243:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"14279:4:19","nodeType":"YulLiteral","src":"14279:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"14285:2:19","nodeType":"YulIdentifier","src":"14285:2:19"}],"functionName":{"name":"mstore","nativeSrc":"14272:6:19","nodeType":"YulIdentifier","src":"14272:6:19"},"nativeSrc":"14272:16:19","nodeType":"YulFunctionCall","src":"14272:16:19"},"nativeSrc":"14272:16:19","nodeType":"YulExpressionStatement","src":"14272:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"14308:4:19","nodeType":"YulLiteral","src":"14308:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"14314:2:19","nodeType":"YulIdentifier","src":"14314:2:19"}],"functionName":{"name":"mstore","nativeSrc":"14301:6:19","nodeType":"YulIdentifier","src":"14301:6:19"},"nativeSrc":"14301:16:19","nodeType":"YulFunctionCall","src":"14301:16:19"},"nativeSrc":"14301:16:19","nodeType":"YulExpressionStatement","src":"14301:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26802,"isOffset":false,"isSlot":false,"src":"14256:2:19","valueSize":1},{"declaration":26805,"isOffset":false,"isSlot":false,"src":"14285:2:19","valueSize":1},{"declaration":26808,"isOffset":false,"isSlot":false,"src":"14314:2:19","valueSize":1}],"id":26816,"nodeType":"InlineAssembly","src":"14220:107:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13720:3:19","parameters":{"id":26799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26796,"mutability":"mutable","name":"p0","nameLocation":"13732:2:19","nodeType":"VariableDeclaration","scope":26818,"src":"13724:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26795,"name":"uint256","nodeType":"ElementaryTypeName","src":"13724:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26798,"mutability":"mutable","name":"p1","nameLocation":"13744:2:19","nodeType":"VariableDeclaration","scope":26818,"src":"13736:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26797,"name":"uint256","nodeType":"ElementaryTypeName","src":"13736:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13723:24:19"},"returnParameters":{"id":26800,"nodeType":"ParameterList","parameters":[],"src":"13762:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26848,"nodeType":"FunctionDefinition","src":"14339:1170:19","nodes":[],"body":{"id":26847,"nodeType":"Block","src":"14390:1119:19","nodes":[],"statements":[{"assignments":[26826],"declarations":[{"constant":false,"id":26826,"mutability":"mutable","name":"m0","nameLocation":"14408:2:19","nodeType":"VariableDeclaration","scope":26847,"src":"14400:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26825,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14400:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26827,"nodeType":"VariableDeclarationStatement","src":"14400:10:19"},{"assignments":[26829],"declarations":[{"constant":false,"id":26829,"mutability":"mutable","name":"m1","nameLocation":"14428:2:19","nodeType":"VariableDeclaration","scope":26847,"src":"14420:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26828,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14420:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26830,"nodeType":"VariableDeclarationStatement","src":"14420:10:19"},{"assignments":[26832],"declarations":[{"constant":false,"id":26832,"mutability":"mutable","name":"m2","nameLocation":"14448:2:19","nodeType":"VariableDeclaration","scope":26847,"src":"14440:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26831,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14440:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26833,"nodeType":"VariableDeclarationStatement","src":"14440:10:19"},{"assignments":[26835],"declarations":[{"constant":false,"id":26835,"mutability":"mutable","name":"m3","nameLocation":"14468:2:19","nodeType":"VariableDeclaration","scope":26847,"src":"14460:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26834,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14460:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26836,"nodeType":"VariableDeclarationStatement","src":"14460:10:19"},{"assignments":[26838],"declarations":[{"constant":false,"id":26838,"mutability":"mutable","name":"m4","nameLocation":"14488:2:19","nodeType":"VariableDeclaration","scope":26847,"src":"14480:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26837,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14480:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26839,"nodeType":"VariableDeclarationStatement","src":"14480:10:19"},{"AST":{"nativeSrc":"14552:697:19","nodeType":"YulBlock","src":"14552:697:19","statements":[{"body":{"nativeSrc":"14595:313:19","nodeType":"YulBlock","src":"14595:313:19","statements":[{"nativeSrc":"14613:15:19","nodeType":"YulVariableDeclaration","src":"14613:15:19","value":{"kind":"number","nativeSrc":"14627:1:19","nodeType":"YulLiteral","src":"14627:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"14617:6:19","nodeType":"YulTypedName","src":"14617:6:19","type":""}]},{"body":{"nativeSrc":"14698:40:19","nodeType":"YulBlock","src":"14698:40:19","statements":[{"body":{"nativeSrc":"14727:9:19","nodeType":"YulBlock","src":"14727:9:19","statements":[{"nativeSrc":"14729:5:19","nodeType":"YulBreak","src":"14729:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"14715:6:19","nodeType":"YulIdentifier","src":"14715:6:19"},{"name":"w","nativeSrc":"14723:1:19","nodeType":"YulIdentifier","src":"14723:1:19"}],"functionName":{"name":"byte","nativeSrc":"14710:4:19","nodeType":"YulIdentifier","src":"14710:4:19"},"nativeSrc":"14710:15:19","nodeType":"YulFunctionCall","src":"14710:15:19"}],"functionName":{"name":"iszero","nativeSrc":"14703:6:19","nodeType":"YulIdentifier","src":"14703:6:19"},"nativeSrc":"14703:23:19","nodeType":"YulFunctionCall","src":"14703:23:19"},"nativeSrc":"14700:36:19","nodeType":"YulIf","src":"14700:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"14655:6:19","nodeType":"YulIdentifier","src":"14655:6:19"},{"kind":"number","nativeSrc":"14663:4:19","nodeType":"YulLiteral","src":"14663:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"14652:2:19","nodeType":"YulIdentifier","src":"14652:2:19"},"nativeSrc":"14652:16:19","nodeType":"YulFunctionCall","src":"14652:16:19"},"nativeSrc":"14645:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"14669:28:19","nodeType":"YulBlock","src":"14669:28:19","statements":[{"nativeSrc":"14671:24:19","nodeType":"YulAssignment","src":"14671:24:19","value":{"arguments":[{"name":"length","nativeSrc":"14685:6:19","nodeType":"YulIdentifier","src":"14685:6:19"},{"kind":"number","nativeSrc":"14693:1:19","nodeType":"YulLiteral","src":"14693:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"14681:3:19","nodeType":"YulIdentifier","src":"14681:3:19"},"nativeSrc":"14681:14:19","nodeType":"YulFunctionCall","src":"14681:14:19"},"variableNames":[{"name":"length","nativeSrc":"14671:6:19","nodeType":"YulIdentifier","src":"14671:6:19"}]}]},"pre":{"nativeSrc":"14649:2:19","nodeType":"YulBlock","src":"14649:2:19","statements":[]},"src":"14645:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"14762:3:19","nodeType":"YulIdentifier","src":"14762:3:19"},{"name":"length","nativeSrc":"14767:6:19","nodeType":"YulIdentifier","src":"14767:6:19"}],"functionName":{"name":"mstore","nativeSrc":"14755:6:19","nodeType":"YulIdentifier","src":"14755:6:19"},"nativeSrc":"14755:19:19","nodeType":"YulFunctionCall","src":"14755:19:19"},"nativeSrc":"14755:19:19","nodeType":"YulExpressionStatement","src":"14755:19:19"},{"nativeSrc":"14791:37:19","nodeType":"YulVariableDeclaration","src":"14791:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"14808:3:19","nodeType":"YulLiteral","src":"14808:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"14817:1:19","nodeType":"YulLiteral","src":"14817:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"14820:6:19","nodeType":"YulIdentifier","src":"14820:6:19"}],"functionName":{"name":"shl","nativeSrc":"14813:3:19","nodeType":"YulIdentifier","src":"14813:3:19"},"nativeSrc":"14813:14:19","nodeType":"YulFunctionCall","src":"14813:14:19"}],"functionName":{"name":"sub","nativeSrc":"14804:3:19","nodeType":"YulIdentifier","src":"14804:3:19"},"nativeSrc":"14804:24:19","nodeType":"YulFunctionCall","src":"14804:24:19"},"variables":[{"name":"shift","nativeSrc":"14795:5:19","nodeType":"YulTypedName","src":"14795:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"14856:3:19","nodeType":"YulIdentifier","src":"14856:3:19"},{"kind":"number","nativeSrc":"14861:4:19","nodeType":"YulLiteral","src":"14861:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"14852:3:19","nodeType":"YulIdentifier","src":"14852:3:19"},"nativeSrc":"14852:14:19","nodeType":"YulFunctionCall","src":"14852:14:19"},{"arguments":[{"name":"shift","nativeSrc":"14872:5:19","nodeType":"YulIdentifier","src":"14872:5:19"},{"arguments":[{"name":"shift","nativeSrc":"14883:5:19","nodeType":"YulIdentifier","src":"14883:5:19"},{"name":"w","nativeSrc":"14890:1:19","nodeType":"YulIdentifier","src":"14890:1:19"}],"functionName":{"name":"shr","nativeSrc":"14879:3:19","nodeType":"YulIdentifier","src":"14879:3:19"},"nativeSrc":"14879:13:19","nodeType":"YulFunctionCall","src":"14879:13:19"}],"functionName":{"name":"shl","nativeSrc":"14868:3:19","nodeType":"YulIdentifier","src":"14868:3:19"},"nativeSrc":"14868:25:19","nodeType":"YulFunctionCall","src":"14868:25:19"}],"functionName":{"name":"mstore","nativeSrc":"14845:6:19","nodeType":"YulIdentifier","src":"14845:6:19"},"nativeSrc":"14845:49:19","nodeType":"YulFunctionCall","src":"14845:49:19"},"nativeSrc":"14845:49:19","nodeType":"YulExpressionStatement","src":"14845:49:19"}]},"name":"writeString","nativeSrc":"14566:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"14587:3:19","nodeType":"YulTypedName","src":"14587:3:19","type":""},{"name":"w","nativeSrc":"14592:1:19","nodeType":"YulTypedName","src":"14592:1:19","type":""}],"src":"14566:342:19"},{"nativeSrc":"14921:17:19","nodeType":"YulAssignment","src":"14921:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"14933:4:19","nodeType":"YulLiteral","src":"14933:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"14927:5:19","nodeType":"YulIdentifier","src":"14927:5:19"},"nativeSrc":"14927:11:19","nodeType":"YulFunctionCall","src":"14927:11:19"},"variableNames":[{"name":"m0","nativeSrc":"14921:2:19","nodeType":"YulIdentifier","src":"14921:2:19"}]},{"nativeSrc":"14951:17:19","nodeType":"YulAssignment","src":"14951:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"14963:4:19","nodeType":"YulLiteral","src":"14963:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"14957:5:19","nodeType":"YulIdentifier","src":"14957:5:19"},"nativeSrc":"14957:11:19","nodeType":"YulFunctionCall","src":"14957:11:19"},"variableNames":[{"name":"m1","nativeSrc":"14951:2:19","nodeType":"YulIdentifier","src":"14951:2:19"}]},{"nativeSrc":"14981:17:19","nodeType":"YulAssignment","src":"14981:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"14993:4:19","nodeType":"YulLiteral","src":"14993:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"14987:5:19","nodeType":"YulIdentifier","src":"14987:5:19"},"nativeSrc":"14987:11:19","nodeType":"YulFunctionCall","src":"14987:11:19"},"variableNames":[{"name":"m2","nativeSrc":"14981:2:19","nodeType":"YulIdentifier","src":"14981:2:19"}]},{"nativeSrc":"15011:17:19","nodeType":"YulAssignment","src":"15011:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"15023:4:19","nodeType":"YulLiteral","src":"15023:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"15017:5:19","nodeType":"YulIdentifier","src":"15017:5:19"},"nativeSrc":"15017:11:19","nodeType":"YulFunctionCall","src":"15017:11:19"},"variableNames":[{"name":"m3","nativeSrc":"15011:2:19","nodeType":"YulIdentifier","src":"15011:2:19"}]},{"nativeSrc":"15041:17:19","nodeType":"YulAssignment","src":"15041:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"15053:4:19","nodeType":"YulLiteral","src":"15053:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"15047:5:19","nodeType":"YulIdentifier","src":"15047:5:19"},"nativeSrc":"15047:11:19","nodeType":"YulFunctionCall","src":"15047:11:19"},"variableNames":[{"name":"m4","nativeSrc":"15041:2:19","nodeType":"YulIdentifier","src":"15041:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15128:4:19","nodeType":"YulLiteral","src":"15128:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"15134:10:19","nodeType":"YulLiteral","src":"15134:10:19","type":"","value":"0x643fd0df"}],"functionName":{"name":"mstore","nativeSrc":"15121:6:19","nodeType":"YulIdentifier","src":"15121:6:19"},"nativeSrc":"15121:24:19","nodeType":"YulFunctionCall","src":"15121:24:19"},"nativeSrc":"15121:24:19","nodeType":"YulExpressionStatement","src":"15121:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15165:4:19","nodeType":"YulLiteral","src":"15165:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"15171:2:19","nodeType":"YulIdentifier","src":"15171:2:19"}],"functionName":{"name":"mstore","nativeSrc":"15158:6:19","nodeType":"YulIdentifier","src":"15158:6:19"},"nativeSrc":"15158:16:19","nodeType":"YulFunctionCall","src":"15158:16:19"},"nativeSrc":"15158:16:19","nodeType":"YulExpressionStatement","src":"15158:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15194:4:19","nodeType":"YulLiteral","src":"15194:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"15200:4:19","nodeType":"YulLiteral","src":"15200:4:19","type":"","value":"0x40"}],"functionName":{"name":"mstore","nativeSrc":"15187:6:19","nodeType":"YulIdentifier","src":"15187:6:19"},"nativeSrc":"15187:18:19","nodeType":"YulFunctionCall","src":"15187:18:19"},"nativeSrc":"15187:18:19","nodeType":"YulExpressionStatement","src":"15187:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15230:4:19","nodeType":"YulLiteral","src":"15230:4:19","type":"","value":"0x60"},{"name":"p1","nativeSrc":"15236:2:19","nodeType":"YulIdentifier","src":"15236:2:19"}],"functionName":{"name":"writeString","nativeSrc":"15218:11:19","nodeType":"YulIdentifier","src":"15218:11:19"},"nativeSrc":"15218:21:19","nodeType":"YulFunctionCall","src":"15218:21:19"},"nativeSrc":"15218:21:19","nodeType":"YulExpressionStatement","src":"15218:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26826,"isOffset":false,"isSlot":false,"src":"14921:2:19","valueSize":1},{"declaration":26829,"isOffset":false,"isSlot":false,"src":"14951:2:19","valueSize":1},{"declaration":26832,"isOffset":false,"isSlot":false,"src":"14981:2:19","valueSize":1},{"declaration":26835,"isOffset":false,"isSlot":false,"src":"15011:2:19","valueSize":1},{"declaration":26838,"isOffset":false,"isSlot":false,"src":"15041:2:19","valueSize":1},{"declaration":26820,"isOffset":false,"isSlot":false,"src":"15171:2:19","valueSize":1},{"declaration":26822,"isOffset":false,"isSlot":false,"src":"15236:2:19","valueSize":1}],"id":26840,"nodeType":"InlineAssembly","src":"14543:706:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":26842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15274:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":26843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15280:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":26841,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"15258:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15258:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26845,"nodeType":"ExpressionStatement","src":"15258:27:19"},{"AST":{"nativeSrc":"15347:156:19","nodeType":"YulBlock","src":"15347:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"15368:4:19","nodeType":"YulLiteral","src":"15368:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"15374:2:19","nodeType":"YulIdentifier","src":"15374:2:19"}],"functionName":{"name":"mstore","nativeSrc":"15361:6:19","nodeType":"YulIdentifier","src":"15361:6:19"},"nativeSrc":"15361:16:19","nodeType":"YulFunctionCall","src":"15361:16:19"},"nativeSrc":"15361:16:19","nodeType":"YulExpressionStatement","src":"15361:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15397:4:19","nodeType":"YulLiteral","src":"15397:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"15403:2:19","nodeType":"YulIdentifier","src":"15403:2:19"}],"functionName":{"name":"mstore","nativeSrc":"15390:6:19","nodeType":"YulIdentifier","src":"15390:6:19"},"nativeSrc":"15390:16:19","nodeType":"YulFunctionCall","src":"15390:16:19"},"nativeSrc":"15390:16:19","nodeType":"YulExpressionStatement","src":"15390:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15426:4:19","nodeType":"YulLiteral","src":"15426:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"15432:2:19","nodeType":"YulIdentifier","src":"15432:2:19"}],"functionName":{"name":"mstore","nativeSrc":"15419:6:19","nodeType":"YulIdentifier","src":"15419:6:19"},"nativeSrc":"15419:16:19","nodeType":"YulFunctionCall","src":"15419:16:19"},"nativeSrc":"15419:16:19","nodeType":"YulExpressionStatement","src":"15419:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15455:4:19","nodeType":"YulLiteral","src":"15455:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"15461:2:19","nodeType":"YulIdentifier","src":"15461:2:19"}],"functionName":{"name":"mstore","nativeSrc":"15448:6:19","nodeType":"YulIdentifier","src":"15448:6:19"},"nativeSrc":"15448:16:19","nodeType":"YulFunctionCall","src":"15448:16:19"},"nativeSrc":"15448:16:19","nodeType":"YulExpressionStatement","src":"15448:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"15484:4:19","nodeType":"YulLiteral","src":"15484:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"15490:2:19","nodeType":"YulIdentifier","src":"15490:2:19"}],"functionName":{"name":"mstore","nativeSrc":"15477:6:19","nodeType":"YulIdentifier","src":"15477:6:19"},"nativeSrc":"15477:16:19","nodeType":"YulFunctionCall","src":"15477:16:19"},"nativeSrc":"15477:16:19","nodeType":"YulExpressionStatement","src":"15477:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26826,"isOffset":false,"isSlot":false,"src":"15374:2:19","valueSize":1},{"declaration":26829,"isOffset":false,"isSlot":false,"src":"15403:2:19","valueSize":1},{"declaration":26832,"isOffset":false,"isSlot":false,"src":"15432:2:19","valueSize":1},{"declaration":26835,"isOffset":false,"isSlot":false,"src":"15461:2:19","valueSize":1},{"declaration":26838,"isOffset":false,"isSlot":false,"src":"15490:2:19","valueSize":1}],"id":26846,"nodeType":"InlineAssembly","src":"15338:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14348:3:19","parameters":{"id":26823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26820,"mutability":"mutable","name":"p0","nameLocation":"14360:2:19","nodeType":"VariableDeclaration","scope":26848,"src":"14352:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26819,"name":"uint256","nodeType":"ElementaryTypeName","src":"14352:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26822,"mutability":"mutable","name":"p1","nameLocation":"14372:2:19","nodeType":"VariableDeclaration","scope":26848,"src":"14364:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26821,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14364:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14351:24:19"},"returnParameters":{"id":26824,"nodeType":"ParameterList","parameters":[],"src":"14390:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26878,"nodeType":"FunctionDefinition","src":"15515:1170:19","nodes":[],"body":{"id":26877,"nodeType":"Block","src":"15566:1119:19","nodes":[],"statements":[{"assignments":[26856],"declarations":[{"constant":false,"id":26856,"mutability":"mutable","name":"m0","nameLocation":"15584:2:19","nodeType":"VariableDeclaration","scope":26877,"src":"15576:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26855,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15576:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26857,"nodeType":"VariableDeclarationStatement","src":"15576:10:19"},{"assignments":[26859],"declarations":[{"constant":false,"id":26859,"mutability":"mutable","name":"m1","nameLocation":"15604:2:19","nodeType":"VariableDeclaration","scope":26877,"src":"15596:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26858,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15596:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26860,"nodeType":"VariableDeclarationStatement","src":"15596:10:19"},{"assignments":[26862],"declarations":[{"constant":false,"id":26862,"mutability":"mutable","name":"m2","nameLocation":"15624:2:19","nodeType":"VariableDeclaration","scope":26877,"src":"15616:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26861,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15616:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26863,"nodeType":"VariableDeclarationStatement","src":"15616:10:19"},{"assignments":[26865],"declarations":[{"constant":false,"id":26865,"mutability":"mutable","name":"m3","nameLocation":"15644:2:19","nodeType":"VariableDeclaration","scope":26877,"src":"15636:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26864,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15636:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26866,"nodeType":"VariableDeclarationStatement","src":"15636:10:19"},{"assignments":[26868],"declarations":[{"constant":false,"id":26868,"mutability":"mutable","name":"m4","nameLocation":"15664:2:19","nodeType":"VariableDeclaration","scope":26877,"src":"15656:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26867,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15656:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26869,"nodeType":"VariableDeclarationStatement","src":"15656:10:19"},{"AST":{"nativeSrc":"15728:697:19","nodeType":"YulBlock","src":"15728:697:19","statements":[{"body":{"nativeSrc":"15771:313:19","nodeType":"YulBlock","src":"15771:313:19","statements":[{"nativeSrc":"15789:15:19","nodeType":"YulVariableDeclaration","src":"15789:15:19","value":{"kind":"number","nativeSrc":"15803:1:19","nodeType":"YulLiteral","src":"15803:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"15793:6:19","nodeType":"YulTypedName","src":"15793:6:19","type":""}]},{"body":{"nativeSrc":"15874:40:19","nodeType":"YulBlock","src":"15874:40:19","statements":[{"body":{"nativeSrc":"15903:9:19","nodeType":"YulBlock","src":"15903:9:19","statements":[{"nativeSrc":"15905:5:19","nodeType":"YulBreak","src":"15905:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"15891:6:19","nodeType":"YulIdentifier","src":"15891:6:19"},{"name":"w","nativeSrc":"15899:1:19","nodeType":"YulIdentifier","src":"15899:1:19"}],"functionName":{"name":"byte","nativeSrc":"15886:4:19","nodeType":"YulIdentifier","src":"15886:4:19"},"nativeSrc":"15886:15:19","nodeType":"YulFunctionCall","src":"15886:15:19"}],"functionName":{"name":"iszero","nativeSrc":"15879:6:19","nodeType":"YulIdentifier","src":"15879:6:19"},"nativeSrc":"15879:23:19","nodeType":"YulFunctionCall","src":"15879:23:19"},"nativeSrc":"15876:36:19","nodeType":"YulIf","src":"15876:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"15831:6:19","nodeType":"YulIdentifier","src":"15831:6:19"},{"kind":"number","nativeSrc":"15839:4:19","nodeType":"YulLiteral","src":"15839:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"15828:2:19","nodeType":"YulIdentifier","src":"15828:2:19"},"nativeSrc":"15828:16:19","nodeType":"YulFunctionCall","src":"15828:16:19"},"nativeSrc":"15821:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"15845:28:19","nodeType":"YulBlock","src":"15845:28:19","statements":[{"nativeSrc":"15847:24:19","nodeType":"YulAssignment","src":"15847:24:19","value":{"arguments":[{"name":"length","nativeSrc":"15861:6:19","nodeType":"YulIdentifier","src":"15861:6:19"},{"kind":"number","nativeSrc":"15869:1:19","nodeType":"YulLiteral","src":"15869:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"15857:3:19","nodeType":"YulIdentifier","src":"15857:3:19"},"nativeSrc":"15857:14:19","nodeType":"YulFunctionCall","src":"15857:14:19"},"variableNames":[{"name":"length","nativeSrc":"15847:6:19","nodeType":"YulIdentifier","src":"15847:6:19"}]}]},"pre":{"nativeSrc":"15825:2:19","nodeType":"YulBlock","src":"15825:2:19","statements":[]},"src":"15821:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"15938:3:19","nodeType":"YulIdentifier","src":"15938:3:19"},{"name":"length","nativeSrc":"15943:6:19","nodeType":"YulIdentifier","src":"15943:6:19"}],"functionName":{"name":"mstore","nativeSrc":"15931:6:19","nodeType":"YulIdentifier","src":"15931:6:19"},"nativeSrc":"15931:19:19","nodeType":"YulFunctionCall","src":"15931:19:19"},"nativeSrc":"15931:19:19","nodeType":"YulExpressionStatement","src":"15931:19:19"},{"nativeSrc":"15967:37:19","nodeType":"YulVariableDeclaration","src":"15967:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"15984:3:19","nodeType":"YulLiteral","src":"15984:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"15993:1:19","nodeType":"YulLiteral","src":"15993:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"15996:6:19","nodeType":"YulIdentifier","src":"15996:6:19"}],"functionName":{"name":"shl","nativeSrc":"15989:3:19","nodeType":"YulIdentifier","src":"15989:3:19"},"nativeSrc":"15989:14:19","nodeType":"YulFunctionCall","src":"15989:14:19"}],"functionName":{"name":"sub","nativeSrc":"15980:3:19","nodeType":"YulIdentifier","src":"15980:3:19"},"nativeSrc":"15980:24:19","nodeType":"YulFunctionCall","src":"15980:24:19"},"variables":[{"name":"shift","nativeSrc":"15971:5:19","nodeType":"YulTypedName","src":"15971:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"16032:3:19","nodeType":"YulIdentifier","src":"16032:3:19"},{"kind":"number","nativeSrc":"16037:4:19","nodeType":"YulLiteral","src":"16037:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"16028:3:19","nodeType":"YulIdentifier","src":"16028:3:19"},"nativeSrc":"16028:14:19","nodeType":"YulFunctionCall","src":"16028:14:19"},{"arguments":[{"name":"shift","nativeSrc":"16048:5:19","nodeType":"YulIdentifier","src":"16048:5:19"},{"arguments":[{"name":"shift","nativeSrc":"16059:5:19","nodeType":"YulIdentifier","src":"16059:5:19"},{"name":"w","nativeSrc":"16066:1:19","nodeType":"YulIdentifier","src":"16066:1:19"}],"functionName":{"name":"shr","nativeSrc":"16055:3:19","nodeType":"YulIdentifier","src":"16055:3:19"},"nativeSrc":"16055:13:19","nodeType":"YulFunctionCall","src":"16055:13:19"}],"functionName":{"name":"shl","nativeSrc":"16044:3:19","nodeType":"YulIdentifier","src":"16044:3:19"},"nativeSrc":"16044:25:19","nodeType":"YulFunctionCall","src":"16044:25:19"}],"functionName":{"name":"mstore","nativeSrc":"16021:6:19","nodeType":"YulIdentifier","src":"16021:6:19"},"nativeSrc":"16021:49:19","nodeType":"YulFunctionCall","src":"16021:49:19"},"nativeSrc":"16021:49:19","nodeType":"YulExpressionStatement","src":"16021:49:19"}]},"name":"writeString","nativeSrc":"15742:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"15763:3:19","nodeType":"YulTypedName","src":"15763:3:19","type":""},{"name":"w","nativeSrc":"15768:1:19","nodeType":"YulTypedName","src":"15768:1:19","type":""}],"src":"15742:342:19"},{"nativeSrc":"16097:17:19","nodeType":"YulAssignment","src":"16097:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"16109:4:19","nodeType":"YulLiteral","src":"16109:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"16103:5:19","nodeType":"YulIdentifier","src":"16103:5:19"},"nativeSrc":"16103:11:19","nodeType":"YulFunctionCall","src":"16103:11:19"},"variableNames":[{"name":"m0","nativeSrc":"16097:2:19","nodeType":"YulIdentifier","src":"16097:2:19"}]},{"nativeSrc":"16127:17:19","nodeType":"YulAssignment","src":"16127:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"16139:4:19","nodeType":"YulLiteral","src":"16139:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"16133:5:19","nodeType":"YulIdentifier","src":"16133:5:19"},"nativeSrc":"16133:11:19","nodeType":"YulFunctionCall","src":"16133:11:19"},"variableNames":[{"name":"m1","nativeSrc":"16127:2:19","nodeType":"YulIdentifier","src":"16127:2:19"}]},{"nativeSrc":"16157:17:19","nodeType":"YulAssignment","src":"16157:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"16169:4:19","nodeType":"YulLiteral","src":"16169:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"16163:5:19","nodeType":"YulIdentifier","src":"16163:5:19"},"nativeSrc":"16163:11:19","nodeType":"YulFunctionCall","src":"16163:11:19"},"variableNames":[{"name":"m2","nativeSrc":"16157:2:19","nodeType":"YulIdentifier","src":"16157:2:19"}]},{"nativeSrc":"16187:17:19","nodeType":"YulAssignment","src":"16187:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"16199:4:19","nodeType":"YulLiteral","src":"16199:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"16193:5:19","nodeType":"YulIdentifier","src":"16193:5:19"},"nativeSrc":"16193:11:19","nodeType":"YulFunctionCall","src":"16193:11:19"},"variableNames":[{"name":"m3","nativeSrc":"16187:2:19","nodeType":"YulIdentifier","src":"16187:2:19"}]},{"nativeSrc":"16217:17:19","nodeType":"YulAssignment","src":"16217:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"16229:4:19","nodeType":"YulLiteral","src":"16229:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"16223:5:19","nodeType":"YulIdentifier","src":"16223:5:19"},"nativeSrc":"16223:11:19","nodeType":"YulFunctionCall","src":"16223:11:19"},"variableNames":[{"name":"m4","nativeSrc":"16217:2:19","nodeType":"YulIdentifier","src":"16217:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16304:4:19","nodeType":"YulLiteral","src":"16304:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"16310:10:19","nodeType":"YulLiteral","src":"16310:10:19","type":"","value":"0x319af333"}],"functionName":{"name":"mstore","nativeSrc":"16297:6:19","nodeType":"YulIdentifier","src":"16297:6:19"},"nativeSrc":"16297:24:19","nodeType":"YulFunctionCall","src":"16297:24:19"},"nativeSrc":"16297:24:19","nodeType":"YulExpressionStatement","src":"16297:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16341:4:19","nodeType":"YulLiteral","src":"16341:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"16347:4:19","nodeType":"YulLiteral","src":"16347:4:19","type":"","value":"0x40"}],"functionName":{"name":"mstore","nativeSrc":"16334:6:19","nodeType":"YulIdentifier","src":"16334:6:19"},"nativeSrc":"16334:18:19","nodeType":"YulFunctionCall","src":"16334:18:19"},"nativeSrc":"16334:18:19","nodeType":"YulExpressionStatement","src":"16334:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16372:4:19","nodeType":"YulLiteral","src":"16372:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"16378:2:19","nodeType":"YulIdentifier","src":"16378:2:19"}],"functionName":{"name":"mstore","nativeSrc":"16365:6:19","nodeType":"YulIdentifier","src":"16365:6:19"},"nativeSrc":"16365:16:19","nodeType":"YulFunctionCall","src":"16365:16:19"},"nativeSrc":"16365:16:19","nodeType":"YulExpressionStatement","src":"16365:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16406:4:19","nodeType":"YulLiteral","src":"16406:4:19","type":"","value":"0x60"},{"name":"p0","nativeSrc":"16412:2:19","nodeType":"YulIdentifier","src":"16412:2:19"}],"functionName":{"name":"writeString","nativeSrc":"16394:11:19","nodeType":"YulIdentifier","src":"16394:11:19"},"nativeSrc":"16394:21:19","nodeType":"YulFunctionCall","src":"16394:21:19"},"nativeSrc":"16394:21:19","nodeType":"YulExpressionStatement","src":"16394:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26856,"isOffset":false,"isSlot":false,"src":"16097:2:19","valueSize":1},{"declaration":26859,"isOffset":false,"isSlot":false,"src":"16127:2:19","valueSize":1},{"declaration":26862,"isOffset":false,"isSlot":false,"src":"16157:2:19","valueSize":1},{"declaration":26865,"isOffset":false,"isSlot":false,"src":"16187:2:19","valueSize":1},{"declaration":26868,"isOffset":false,"isSlot":false,"src":"16217:2:19","valueSize":1},{"declaration":26850,"isOffset":false,"isSlot":false,"src":"16412:2:19","valueSize":1},{"declaration":26852,"isOffset":false,"isSlot":false,"src":"16378:2:19","valueSize":1}],"id":26870,"nodeType":"InlineAssembly","src":"15719:706:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":26872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16450:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":26873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16456:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":26871,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"16434:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16434:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26875,"nodeType":"ExpressionStatement","src":"16434:27:19"},{"AST":{"nativeSrc":"16523:156:19","nodeType":"YulBlock","src":"16523:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"16544:4:19","nodeType":"YulLiteral","src":"16544:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"16550:2:19","nodeType":"YulIdentifier","src":"16550:2:19"}],"functionName":{"name":"mstore","nativeSrc":"16537:6:19","nodeType":"YulIdentifier","src":"16537:6:19"},"nativeSrc":"16537:16:19","nodeType":"YulFunctionCall","src":"16537:16:19"},"nativeSrc":"16537:16:19","nodeType":"YulExpressionStatement","src":"16537:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16573:4:19","nodeType":"YulLiteral","src":"16573:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"16579:2:19","nodeType":"YulIdentifier","src":"16579:2:19"}],"functionName":{"name":"mstore","nativeSrc":"16566:6:19","nodeType":"YulIdentifier","src":"16566:6:19"},"nativeSrc":"16566:16:19","nodeType":"YulFunctionCall","src":"16566:16:19"},"nativeSrc":"16566:16:19","nodeType":"YulExpressionStatement","src":"16566:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16602:4:19","nodeType":"YulLiteral","src":"16602:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"16608:2:19","nodeType":"YulIdentifier","src":"16608:2:19"}],"functionName":{"name":"mstore","nativeSrc":"16595:6:19","nodeType":"YulIdentifier","src":"16595:6:19"},"nativeSrc":"16595:16:19","nodeType":"YulFunctionCall","src":"16595:16:19"},"nativeSrc":"16595:16:19","nodeType":"YulExpressionStatement","src":"16595:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16631:4:19","nodeType":"YulLiteral","src":"16631:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"16637:2:19","nodeType":"YulIdentifier","src":"16637:2:19"}],"functionName":{"name":"mstore","nativeSrc":"16624:6:19","nodeType":"YulIdentifier","src":"16624:6:19"},"nativeSrc":"16624:16:19","nodeType":"YulFunctionCall","src":"16624:16:19"},"nativeSrc":"16624:16:19","nodeType":"YulExpressionStatement","src":"16624:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16660:4:19","nodeType":"YulLiteral","src":"16660:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"16666:2:19","nodeType":"YulIdentifier","src":"16666:2:19"}],"functionName":{"name":"mstore","nativeSrc":"16653:6:19","nodeType":"YulIdentifier","src":"16653:6:19"},"nativeSrc":"16653:16:19","nodeType":"YulFunctionCall","src":"16653:16:19"},"nativeSrc":"16653:16:19","nodeType":"YulExpressionStatement","src":"16653:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26856,"isOffset":false,"isSlot":false,"src":"16550:2:19","valueSize":1},{"declaration":26859,"isOffset":false,"isSlot":false,"src":"16579:2:19","valueSize":1},{"declaration":26862,"isOffset":false,"isSlot":false,"src":"16608:2:19","valueSize":1},{"declaration":26865,"isOffset":false,"isSlot":false,"src":"16637:2:19","valueSize":1},{"declaration":26868,"isOffset":false,"isSlot":false,"src":"16666:2:19","valueSize":1}],"id":26876,"nodeType":"InlineAssembly","src":"16514:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15524:3:19","parameters":{"id":26853,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26850,"mutability":"mutable","name":"p0","nameLocation":"15536:2:19","nodeType":"VariableDeclaration","scope":26878,"src":"15528:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26849,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15528:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":26852,"mutability":"mutable","name":"p1","nameLocation":"15548:2:19","nodeType":"VariableDeclaration","scope":26878,"src":"15540:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26851,"name":"address","nodeType":"ElementaryTypeName","src":"15540:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15527:24:19"},"returnParameters":{"id":26854,"nodeType":"ParameterList","parameters":[],"src":"15566:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26908,"nodeType":"FunctionDefinition","src":"16691:1164:19","nodes":[],"body":{"id":26907,"nodeType":"Block","src":"16739:1116:19","nodes":[],"statements":[{"assignments":[26886],"declarations":[{"constant":false,"id":26886,"mutability":"mutable","name":"m0","nameLocation":"16757:2:19","nodeType":"VariableDeclaration","scope":26907,"src":"16749:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26885,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16749:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26887,"nodeType":"VariableDeclarationStatement","src":"16749:10:19"},{"assignments":[26889],"declarations":[{"constant":false,"id":26889,"mutability":"mutable","name":"m1","nameLocation":"16777:2:19","nodeType":"VariableDeclaration","scope":26907,"src":"16769:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26888,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16769:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26890,"nodeType":"VariableDeclarationStatement","src":"16769:10:19"},{"assignments":[26892],"declarations":[{"constant":false,"id":26892,"mutability":"mutable","name":"m2","nameLocation":"16797:2:19","nodeType":"VariableDeclaration","scope":26907,"src":"16789:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26891,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16789:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26893,"nodeType":"VariableDeclarationStatement","src":"16789:10:19"},{"assignments":[26895],"declarations":[{"constant":false,"id":26895,"mutability":"mutable","name":"m3","nameLocation":"16817:2:19","nodeType":"VariableDeclaration","scope":26907,"src":"16809:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26894,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16809:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26896,"nodeType":"VariableDeclarationStatement","src":"16809:10:19"},{"assignments":[26898],"declarations":[{"constant":false,"id":26898,"mutability":"mutable","name":"m4","nameLocation":"16837:2:19","nodeType":"VariableDeclaration","scope":26907,"src":"16829:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26897,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16829:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26899,"nodeType":"VariableDeclarationStatement","src":"16829:10:19"},{"AST":{"nativeSrc":"16901:694:19","nodeType":"YulBlock","src":"16901:694:19","statements":[{"body":{"nativeSrc":"16944:313:19","nodeType":"YulBlock","src":"16944:313:19","statements":[{"nativeSrc":"16962:15:19","nodeType":"YulVariableDeclaration","src":"16962:15:19","value":{"kind":"number","nativeSrc":"16976:1:19","nodeType":"YulLiteral","src":"16976:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"16966:6:19","nodeType":"YulTypedName","src":"16966:6:19","type":""}]},{"body":{"nativeSrc":"17047:40:19","nodeType":"YulBlock","src":"17047:40:19","statements":[{"body":{"nativeSrc":"17076:9:19","nodeType":"YulBlock","src":"17076:9:19","statements":[{"nativeSrc":"17078:5:19","nodeType":"YulBreak","src":"17078:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"17064:6:19","nodeType":"YulIdentifier","src":"17064:6:19"},{"name":"w","nativeSrc":"17072:1:19","nodeType":"YulIdentifier","src":"17072:1:19"}],"functionName":{"name":"byte","nativeSrc":"17059:4:19","nodeType":"YulIdentifier","src":"17059:4:19"},"nativeSrc":"17059:15:19","nodeType":"YulFunctionCall","src":"17059:15:19"}],"functionName":{"name":"iszero","nativeSrc":"17052:6:19","nodeType":"YulIdentifier","src":"17052:6:19"},"nativeSrc":"17052:23:19","nodeType":"YulFunctionCall","src":"17052:23:19"},"nativeSrc":"17049:36:19","nodeType":"YulIf","src":"17049:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"17004:6:19","nodeType":"YulIdentifier","src":"17004:6:19"},{"kind":"number","nativeSrc":"17012:4:19","nodeType":"YulLiteral","src":"17012:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"17001:2:19","nodeType":"YulIdentifier","src":"17001:2:19"},"nativeSrc":"17001:16:19","nodeType":"YulFunctionCall","src":"17001:16:19"},"nativeSrc":"16994:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"17018:28:19","nodeType":"YulBlock","src":"17018:28:19","statements":[{"nativeSrc":"17020:24:19","nodeType":"YulAssignment","src":"17020:24:19","value":{"arguments":[{"name":"length","nativeSrc":"17034:6:19","nodeType":"YulIdentifier","src":"17034:6:19"},{"kind":"number","nativeSrc":"17042:1:19","nodeType":"YulLiteral","src":"17042:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"17030:3:19","nodeType":"YulIdentifier","src":"17030:3:19"},"nativeSrc":"17030:14:19","nodeType":"YulFunctionCall","src":"17030:14:19"},"variableNames":[{"name":"length","nativeSrc":"17020:6:19","nodeType":"YulIdentifier","src":"17020:6:19"}]}]},"pre":{"nativeSrc":"16998:2:19","nodeType":"YulBlock","src":"16998:2:19","statements":[]},"src":"16994:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"17111:3:19","nodeType":"YulIdentifier","src":"17111:3:19"},{"name":"length","nativeSrc":"17116:6:19","nodeType":"YulIdentifier","src":"17116:6:19"}],"functionName":{"name":"mstore","nativeSrc":"17104:6:19","nodeType":"YulIdentifier","src":"17104:6:19"},"nativeSrc":"17104:19:19","nodeType":"YulFunctionCall","src":"17104:19:19"},"nativeSrc":"17104:19:19","nodeType":"YulExpressionStatement","src":"17104:19:19"},{"nativeSrc":"17140:37:19","nodeType":"YulVariableDeclaration","src":"17140:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"17157:3:19","nodeType":"YulLiteral","src":"17157:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"17166:1:19","nodeType":"YulLiteral","src":"17166:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"17169:6:19","nodeType":"YulIdentifier","src":"17169:6:19"}],"functionName":{"name":"shl","nativeSrc":"17162:3:19","nodeType":"YulIdentifier","src":"17162:3:19"},"nativeSrc":"17162:14:19","nodeType":"YulFunctionCall","src":"17162:14:19"}],"functionName":{"name":"sub","nativeSrc":"17153:3:19","nodeType":"YulIdentifier","src":"17153:3:19"},"nativeSrc":"17153:24:19","nodeType":"YulFunctionCall","src":"17153:24:19"},"variables":[{"name":"shift","nativeSrc":"17144:5:19","nodeType":"YulTypedName","src":"17144:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"17205:3:19","nodeType":"YulIdentifier","src":"17205:3:19"},{"kind":"number","nativeSrc":"17210:4:19","nodeType":"YulLiteral","src":"17210:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"17201:3:19","nodeType":"YulIdentifier","src":"17201:3:19"},"nativeSrc":"17201:14:19","nodeType":"YulFunctionCall","src":"17201:14:19"},{"arguments":[{"name":"shift","nativeSrc":"17221:5:19","nodeType":"YulIdentifier","src":"17221:5:19"},{"arguments":[{"name":"shift","nativeSrc":"17232:5:19","nodeType":"YulIdentifier","src":"17232:5:19"},{"name":"w","nativeSrc":"17239:1:19","nodeType":"YulIdentifier","src":"17239:1:19"}],"functionName":{"name":"shr","nativeSrc":"17228:3:19","nodeType":"YulIdentifier","src":"17228:3:19"},"nativeSrc":"17228:13:19","nodeType":"YulFunctionCall","src":"17228:13:19"}],"functionName":{"name":"shl","nativeSrc":"17217:3:19","nodeType":"YulIdentifier","src":"17217:3:19"},"nativeSrc":"17217:25:19","nodeType":"YulFunctionCall","src":"17217:25:19"}],"functionName":{"name":"mstore","nativeSrc":"17194:6:19","nodeType":"YulIdentifier","src":"17194:6:19"},"nativeSrc":"17194:49:19","nodeType":"YulFunctionCall","src":"17194:49:19"},"nativeSrc":"17194:49:19","nodeType":"YulExpressionStatement","src":"17194:49:19"}]},"name":"writeString","nativeSrc":"16915:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"16936:3:19","nodeType":"YulTypedName","src":"16936:3:19","type":""},{"name":"w","nativeSrc":"16941:1:19","nodeType":"YulTypedName","src":"16941:1:19","type":""}],"src":"16915:342:19"},{"nativeSrc":"17270:17:19","nodeType":"YulAssignment","src":"17270:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"17282:4:19","nodeType":"YulLiteral","src":"17282:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"17276:5:19","nodeType":"YulIdentifier","src":"17276:5:19"},"nativeSrc":"17276:11:19","nodeType":"YulFunctionCall","src":"17276:11:19"},"variableNames":[{"name":"m0","nativeSrc":"17270:2:19","nodeType":"YulIdentifier","src":"17270:2:19"}]},{"nativeSrc":"17300:17:19","nodeType":"YulAssignment","src":"17300:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"17312:4:19","nodeType":"YulLiteral","src":"17312:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"17306:5:19","nodeType":"YulIdentifier","src":"17306:5:19"},"nativeSrc":"17306:11:19","nodeType":"YulFunctionCall","src":"17306:11:19"},"variableNames":[{"name":"m1","nativeSrc":"17300:2:19","nodeType":"YulIdentifier","src":"17300:2:19"}]},{"nativeSrc":"17330:17:19","nodeType":"YulAssignment","src":"17330:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"17342:4:19","nodeType":"YulLiteral","src":"17342:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"17336:5:19","nodeType":"YulIdentifier","src":"17336:5:19"},"nativeSrc":"17336:11:19","nodeType":"YulFunctionCall","src":"17336:11:19"},"variableNames":[{"name":"m2","nativeSrc":"17330:2:19","nodeType":"YulIdentifier","src":"17330:2:19"}]},{"nativeSrc":"17360:17:19","nodeType":"YulAssignment","src":"17360:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"17372:4:19","nodeType":"YulLiteral","src":"17372:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"17366:5:19","nodeType":"YulIdentifier","src":"17366:5:19"},"nativeSrc":"17366:11:19","nodeType":"YulFunctionCall","src":"17366:11:19"},"variableNames":[{"name":"m3","nativeSrc":"17360:2:19","nodeType":"YulIdentifier","src":"17360:2:19"}]},{"nativeSrc":"17390:17:19","nodeType":"YulAssignment","src":"17390:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"17402:4:19","nodeType":"YulLiteral","src":"17402:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"17396:5:19","nodeType":"YulIdentifier","src":"17396:5:19"},"nativeSrc":"17396:11:19","nodeType":"YulFunctionCall","src":"17396:11:19"},"variableNames":[{"name":"m4","nativeSrc":"17390:2:19","nodeType":"YulIdentifier","src":"17390:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17474:4:19","nodeType":"YulLiteral","src":"17474:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"17480:10:19","nodeType":"YulLiteral","src":"17480:10:19","type":"","value":"0xc3b55635"}],"functionName":{"name":"mstore","nativeSrc":"17467:6:19","nodeType":"YulIdentifier","src":"17467:6:19"},"nativeSrc":"17467:24:19","nodeType":"YulFunctionCall","src":"17467:24:19"},"nativeSrc":"17467:24:19","nodeType":"YulExpressionStatement","src":"17467:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17511:4:19","nodeType":"YulLiteral","src":"17511:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"17517:4:19","nodeType":"YulLiteral","src":"17517:4:19","type":"","value":"0x40"}],"functionName":{"name":"mstore","nativeSrc":"17504:6:19","nodeType":"YulIdentifier","src":"17504:6:19"},"nativeSrc":"17504:18:19","nodeType":"YulFunctionCall","src":"17504:18:19"},"nativeSrc":"17504:18:19","nodeType":"YulExpressionStatement","src":"17504:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17542:4:19","nodeType":"YulLiteral","src":"17542:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"17548:2:19","nodeType":"YulIdentifier","src":"17548:2:19"}],"functionName":{"name":"mstore","nativeSrc":"17535:6:19","nodeType":"YulIdentifier","src":"17535:6:19"},"nativeSrc":"17535:16:19","nodeType":"YulFunctionCall","src":"17535:16:19"},"nativeSrc":"17535:16:19","nodeType":"YulExpressionStatement","src":"17535:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17576:4:19","nodeType":"YulLiteral","src":"17576:4:19","type":"","value":"0x60"},{"name":"p0","nativeSrc":"17582:2:19","nodeType":"YulIdentifier","src":"17582:2:19"}],"functionName":{"name":"writeString","nativeSrc":"17564:11:19","nodeType":"YulIdentifier","src":"17564:11:19"},"nativeSrc":"17564:21:19","nodeType":"YulFunctionCall","src":"17564:21:19"},"nativeSrc":"17564:21:19","nodeType":"YulExpressionStatement","src":"17564:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26886,"isOffset":false,"isSlot":false,"src":"17270:2:19","valueSize":1},{"declaration":26889,"isOffset":false,"isSlot":false,"src":"17300:2:19","valueSize":1},{"declaration":26892,"isOffset":false,"isSlot":false,"src":"17330:2:19","valueSize":1},{"declaration":26895,"isOffset":false,"isSlot":false,"src":"17360:2:19","valueSize":1},{"declaration":26898,"isOffset":false,"isSlot":false,"src":"17390:2:19","valueSize":1},{"declaration":26880,"isOffset":false,"isSlot":false,"src":"17582:2:19","valueSize":1},{"declaration":26882,"isOffset":false,"isSlot":false,"src":"17548:2:19","valueSize":1}],"id":26900,"nodeType":"InlineAssembly","src":"16892:703:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":26902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17620:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":26903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17626:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":26901,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"17604:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17604:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26905,"nodeType":"ExpressionStatement","src":"17604:27:19"},{"AST":{"nativeSrc":"17693:156:19","nodeType":"YulBlock","src":"17693:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"17714:4:19","nodeType":"YulLiteral","src":"17714:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"17720:2:19","nodeType":"YulIdentifier","src":"17720:2:19"}],"functionName":{"name":"mstore","nativeSrc":"17707:6:19","nodeType":"YulIdentifier","src":"17707:6:19"},"nativeSrc":"17707:16:19","nodeType":"YulFunctionCall","src":"17707:16:19"},"nativeSrc":"17707:16:19","nodeType":"YulExpressionStatement","src":"17707:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17743:4:19","nodeType":"YulLiteral","src":"17743:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"17749:2:19","nodeType":"YulIdentifier","src":"17749:2:19"}],"functionName":{"name":"mstore","nativeSrc":"17736:6:19","nodeType":"YulIdentifier","src":"17736:6:19"},"nativeSrc":"17736:16:19","nodeType":"YulFunctionCall","src":"17736:16:19"},"nativeSrc":"17736:16:19","nodeType":"YulExpressionStatement","src":"17736:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17772:4:19","nodeType":"YulLiteral","src":"17772:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"17778:2:19","nodeType":"YulIdentifier","src":"17778:2:19"}],"functionName":{"name":"mstore","nativeSrc":"17765:6:19","nodeType":"YulIdentifier","src":"17765:6:19"},"nativeSrc":"17765:16:19","nodeType":"YulFunctionCall","src":"17765:16:19"},"nativeSrc":"17765:16:19","nodeType":"YulExpressionStatement","src":"17765:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17801:4:19","nodeType":"YulLiteral","src":"17801:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"17807:2:19","nodeType":"YulIdentifier","src":"17807:2:19"}],"functionName":{"name":"mstore","nativeSrc":"17794:6:19","nodeType":"YulIdentifier","src":"17794:6:19"},"nativeSrc":"17794:16:19","nodeType":"YulFunctionCall","src":"17794:16:19"},"nativeSrc":"17794:16:19","nodeType":"YulExpressionStatement","src":"17794:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"17830:4:19","nodeType":"YulLiteral","src":"17830:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"17836:2:19","nodeType":"YulIdentifier","src":"17836:2:19"}],"functionName":{"name":"mstore","nativeSrc":"17823:6:19","nodeType":"YulIdentifier","src":"17823:6:19"},"nativeSrc":"17823:16:19","nodeType":"YulFunctionCall","src":"17823:16:19"},"nativeSrc":"17823:16:19","nodeType":"YulExpressionStatement","src":"17823:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26886,"isOffset":false,"isSlot":false,"src":"17720:2:19","valueSize":1},{"declaration":26889,"isOffset":false,"isSlot":false,"src":"17749:2:19","valueSize":1},{"declaration":26892,"isOffset":false,"isSlot":false,"src":"17778:2:19","valueSize":1},{"declaration":26895,"isOffset":false,"isSlot":false,"src":"17807:2:19","valueSize":1},{"declaration":26898,"isOffset":false,"isSlot":false,"src":"17836:2:19","valueSize":1}],"id":26906,"nodeType":"InlineAssembly","src":"17684:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16700:3:19","parameters":{"id":26883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26880,"mutability":"mutable","name":"p0","nameLocation":"16712:2:19","nodeType":"VariableDeclaration","scope":26908,"src":"16704:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26879,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16704:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":26882,"mutability":"mutable","name":"p1","nameLocation":"16721:2:19","nodeType":"VariableDeclaration","scope":26908,"src":"16716:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26881,"name":"bool","nodeType":"ElementaryTypeName","src":"16716:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16703:21:19"},"returnParameters":{"id":26884,"nodeType":"ParameterList","parameters":[],"src":"16739:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26938,"nodeType":"FunctionDefinition","src":"17861:1170:19","nodes":[],"body":{"id":26937,"nodeType":"Block","src":"17912:1119:19","nodes":[],"statements":[{"assignments":[26916],"declarations":[{"constant":false,"id":26916,"mutability":"mutable","name":"m0","nameLocation":"17930:2:19","nodeType":"VariableDeclaration","scope":26937,"src":"17922:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26915,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17922:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26917,"nodeType":"VariableDeclarationStatement","src":"17922:10:19"},{"assignments":[26919],"declarations":[{"constant":false,"id":26919,"mutability":"mutable","name":"m1","nameLocation":"17950:2:19","nodeType":"VariableDeclaration","scope":26937,"src":"17942:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26918,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17942:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26920,"nodeType":"VariableDeclarationStatement","src":"17942:10:19"},{"assignments":[26922],"declarations":[{"constant":false,"id":26922,"mutability":"mutable","name":"m2","nameLocation":"17970:2:19","nodeType":"VariableDeclaration","scope":26937,"src":"17962:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26921,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17962:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26923,"nodeType":"VariableDeclarationStatement","src":"17962:10:19"},{"assignments":[26925],"declarations":[{"constant":false,"id":26925,"mutability":"mutable","name":"m3","nameLocation":"17990:2:19","nodeType":"VariableDeclaration","scope":26937,"src":"17982:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26924,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17982:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26926,"nodeType":"VariableDeclarationStatement","src":"17982:10:19"},{"assignments":[26928],"declarations":[{"constant":false,"id":26928,"mutability":"mutable","name":"m4","nameLocation":"18010:2:19","nodeType":"VariableDeclaration","scope":26937,"src":"18002:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26927,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18002:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26929,"nodeType":"VariableDeclarationStatement","src":"18002:10:19"},{"AST":{"nativeSrc":"18074:697:19","nodeType":"YulBlock","src":"18074:697:19","statements":[{"body":{"nativeSrc":"18117:313:19","nodeType":"YulBlock","src":"18117:313:19","statements":[{"nativeSrc":"18135:15:19","nodeType":"YulVariableDeclaration","src":"18135:15:19","value":{"kind":"number","nativeSrc":"18149:1:19","nodeType":"YulLiteral","src":"18149:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"18139:6:19","nodeType":"YulTypedName","src":"18139:6:19","type":""}]},{"body":{"nativeSrc":"18220:40:19","nodeType":"YulBlock","src":"18220:40:19","statements":[{"body":{"nativeSrc":"18249:9:19","nodeType":"YulBlock","src":"18249:9:19","statements":[{"nativeSrc":"18251:5:19","nodeType":"YulBreak","src":"18251:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"18237:6:19","nodeType":"YulIdentifier","src":"18237:6:19"},{"name":"w","nativeSrc":"18245:1:19","nodeType":"YulIdentifier","src":"18245:1:19"}],"functionName":{"name":"byte","nativeSrc":"18232:4:19","nodeType":"YulIdentifier","src":"18232:4:19"},"nativeSrc":"18232:15:19","nodeType":"YulFunctionCall","src":"18232:15:19"}],"functionName":{"name":"iszero","nativeSrc":"18225:6:19","nodeType":"YulIdentifier","src":"18225:6:19"},"nativeSrc":"18225:23:19","nodeType":"YulFunctionCall","src":"18225:23:19"},"nativeSrc":"18222:36:19","nodeType":"YulIf","src":"18222:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"18177:6:19","nodeType":"YulIdentifier","src":"18177:6:19"},{"kind":"number","nativeSrc":"18185:4:19","nodeType":"YulLiteral","src":"18185:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"18174:2:19","nodeType":"YulIdentifier","src":"18174:2:19"},"nativeSrc":"18174:16:19","nodeType":"YulFunctionCall","src":"18174:16:19"},"nativeSrc":"18167:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"18191:28:19","nodeType":"YulBlock","src":"18191:28:19","statements":[{"nativeSrc":"18193:24:19","nodeType":"YulAssignment","src":"18193:24:19","value":{"arguments":[{"name":"length","nativeSrc":"18207:6:19","nodeType":"YulIdentifier","src":"18207:6:19"},{"kind":"number","nativeSrc":"18215:1:19","nodeType":"YulLiteral","src":"18215:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"18203:3:19","nodeType":"YulIdentifier","src":"18203:3:19"},"nativeSrc":"18203:14:19","nodeType":"YulFunctionCall","src":"18203:14:19"},"variableNames":[{"name":"length","nativeSrc":"18193:6:19","nodeType":"YulIdentifier","src":"18193:6:19"}]}]},"pre":{"nativeSrc":"18171:2:19","nodeType":"YulBlock","src":"18171:2:19","statements":[]},"src":"18167:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"18284:3:19","nodeType":"YulIdentifier","src":"18284:3:19"},{"name":"length","nativeSrc":"18289:6:19","nodeType":"YulIdentifier","src":"18289:6:19"}],"functionName":{"name":"mstore","nativeSrc":"18277:6:19","nodeType":"YulIdentifier","src":"18277:6:19"},"nativeSrc":"18277:19:19","nodeType":"YulFunctionCall","src":"18277:19:19"},"nativeSrc":"18277:19:19","nodeType":"YulExpressionStatement","src":"18277:19:19"},{"nativeSrc":"18313:37:19","nodeType":"YulVariableDeclaration","src":"18313:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"18330:3:19","nodeType":"YulLiteral","src":"18330:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"18339:1:19","nodeType":"YulLiteral","src":"18339:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"18342:6:19","nodeType":"YulIdentifier","src":"18342:6:19"}],"functionName":{"name":"shl","nativeSrc":"18335:3:19","nodeType":"YulIdentifier","src":"18335:3:19"},"nativeSrc":"18335:14:19","nodeType":"YulFunctionCall","src":"18335:14:19"}],"functionName":{"name":"sub","nativeSrc":"18326:3:19","nodeType":"YulIdentifier","src":"18326:3:19"},"nativeSrc":"18326:24:19","nodeType":"YulFunctionCall","src":"18326:24:19"},"variables":[{"name":"shift","nativeSrc":"18317:5:19","nodeType":"YulTypedName","src":"18317:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"18378:3:19","nodeType":"YulIdentifier","src":"18378:3:19"},{"kind":"number","nativeSrc":"18383:4:19","nodeType":"YulLiteral","src":"18383:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"18374:3:19","nodeType":"YulIdentifier","src":"18374:3:19"},"nativeSrc":"18374:14:19","nodeType":"YulFunctionCall","src":"18374:14:19"},{"arguments":[{"name":"shift","nativeSrc":"18394:5:19","nodeType":"YulIdentifier","src":"18394:5:19"},{"arguments":[{"name":"shift","nativeSrc":"18405:5:19","nodeType":"YulIdentifier","src":"18405:5:19"},{"name":"w","nativeSrc":"18412:1:19","nodeType":"YulIdentifier","src":"18412:1:19"}],"functionName":{"name":"shr","nativeSrc":"18401:3:19","nodeType":"YulIdentifier","src":"18401:3:19"},"nativeSrc":"18401:13:19","nodeType":"YulFunctionCall","src":"18401:13:19"}],"functionName":{"name":"shl","nativeSrc":"18390:3:19","nodeType":"YulIdentifier","src":"18390:3:19"},"nativeSrc":"18390:25:19","nodeType":"YulFunctionCall","src":"18390:25:19"}],"functionName":{"name":"mstore","nativeSrc":"18367:6:19","nodeType":"YulIdentifier","src":"18367:6:19"},"nativeSrc":"18367:49:19","nodeType":"YulFunctionCall","src":"18367:49:19"},"nativeSrc":"18367:49:19","nodeType":"YulExpressionStatement","src":"18367:49:19"}]},"name":"writeString","nativeSrc":"18088:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"18109:3:19","nodeType":"YulTypedName","src":"18109:3:19","type":""},{"name":"w","nativeSrc":"18114:1:19","nodeType":"YulTypedName","src":"18114:1:19","type":""}],"src":"18088:342:19"},{"nativeSrc":"18443:17:19","nodeType":"YulAssignment","src":"18443:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"18455:4:19","nodeType":"YulLiteral","src":"18455:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"18449:5:19","nodeType":"YulIdentifier","src":"18449:5:19"},"nativeSrc":"18449:11:19","nodeType":"YulFunctionCall","src":"18449:11:19"},"variableNames":[{"name":"m0","nativeSrc":"18443:2:19","nodeType":"YulIdentifier","src":"18443:2:19"}]},{"nativeSrc":"18473:17:19","nodeType":"YulAssignment","src":"18473:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"18485:4:19","nodeType":"YulLiteral","src":"18485:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"18479:5:19","nodeType":"YulIdentifier","src":"18479:5:19"},"nativeSrc":"18479:11:19","nodeType":"YulFunctionCall","src":"18479:11:19"},"variableNames":[{"name":"m1","nativeSrc":"18473:2:19","nodeType":"YulIdentifier","src":"18473:2:19"}]},{"nativeSrc":"18503:17:19","nodeType":"YulAssignment","src":"18503:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"18515:4:19","nodeType":"YulLiteral","src":"18515:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"18509:5:19","nodeType":"YulIdentifier","src":"18509:5:19"},"nativeSrc":"18509:11:19","nodeType":"YulFunctionCall","src":"18509:11:19"},"variableNames":[{"name":"m2","nativeSrc":"18503:2:19","nodeType":"YulIdentifier","src":"18503:2:19"}]},{"nativeSrc":"18533:17:19","nodeType":"YulAssignment","src":"18533:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"18545:4:19","nodeType":"YulLiteral","src":"18545:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"18539:5:19","nodeType":"YulIdentifier","src":"18539:5:19"},"nativeSrc":"18539:11:19","nodeType":"YulFunctionCall","src":"18539:11:19"},"variableNames":[{"name":"m3","nativeSrc":"18533:2:19","nodeType":"YulIdentifier","src":"18533:2:19"}]},{"nativeSrc":"18563:17:19","nodeType":"YulAssignment","src":"18563:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"18575:4:19","nodeType":"YulLiteral","src":"18575:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"18569:5:19","nodeType":"YulIdentifier","src":"18569:5:19"},"nativeSrc":"18569:11:19","nodeType":"YulFunctionCall","src":"18569:11:19"},"variableNames":[{"name":"m4","nativeSrc":"18563:2:19","nodeType":"YulIdentifier","src":"18563:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18650:4:19","nodeType":"YulLiteral","src":"18650:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"18656:10:19","nodeType":"YulLiteral","src":"18656:10:19","type":"","value":"0xb60e72cc"}],"functionName":{"name":"mstore","nativeSrc":"18643:6:19","nodeType":"YulIdentifier","src":"18643:6:19"},"nativeSrc":"18643:24:19","nodeType":"YulFunctionCall","src":"18643:24:19"},"nativeSrc":"18643:24:19","nodeType":"YulExpressionStatement","src":"18643:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18687:4:19","nodeType":"YulLiteral","src":"18687:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"18693:4:19","nodeType":"YulLiteral","src":"18693:4:19","type":"","value":"0x40"}],"functionName":{"name":"mstore","nativeSrc":"18680:6:19","nodeType":"YulIdentifier","src":"18680:6:19"},"nativeSrc":"18680:18:19","nodeType":"YulFunctionCall","src":"18680:18:19"},"nativeSrc":"18680:18:19","nodeType":"YulExpressionStatement","src":"18680:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18718:4:19","nodeType":"YulLiteral","src":"18718:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"18724:2:19","nodeType":"YulIdentifier","src":"18724:2:19"}],"functionName":{"name":"mstore","nativeSrc":"18711:6:19","nodeType":"YulIdentifier","src":"18711:6:19"},"nativeSrc":"18711:16:19","nodeType":"YulFunctionCall","src":"18711:16:19"},"nativeSrc":"18711:16:19","nodeType":"YulExpressionStatement","src":"18711:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18752:4:19","nodeType":"YulLiteral","src":"18752:4:19","type":"","value":"0x60"},{"name":"p0","nativeSrc":"18758:2:19","nodeType":"YulIdentifier","src":"18758:2:19"}],"functionName":{"name":"writeString","nativeSrc":"18740:11:19","nodeType":"YulIdentifier","src":"18740:11:19"},"nativeSrc":"18740:21:19","nodeType":"YulFunctionCall","src":"18740:21:19"},"nativeSrc":"18740:21:19","nodeType":"YulExpressionStatement","src":"18740:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26916,"isOffset":false,"isSlot":false,"src":"18443:2:19","valueSize":1},{"declaration":26919,"isOffset":false,"isSlot":false,"src":"18473:2:19","valueSize":1},{"declaration":26922,"isOffset":false,"isSlot":false,"src":"18503:2:19","valueSize":1},{"declaration":26925,"isOffset":false,"isSlot":false,"src":"18533:2:19","valueSize":1},{"declaration":26928,"isOffset":false,"isSlot":false,"src":"18563:2:19","valueSize":1},{"declaration":26910,"isOffset":false,"isSlot":false,"src":"18758:2:19","valueSize":1},{"declaration":26912,"isOffset":false,"isSlot":false,"src":"18724:2:19","valueSize":1}],"id":26930,"nodeType":"InlineAssembly","src":"18065:706:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":26932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18796:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":26933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18802:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":26931,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"18780:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18780:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26935,"nodeType":"ExpressionStatement","src":"18780:27:19"},{"AST":{"nativeSrc":"18869:156:19","nodeType":"YulBlock","src":"18869:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"18890:4:19","nodeType":"YulLiteral","src":"18890:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"18896:2:19","nodeType":"YulIdentifier","src":"18896:2:19"}],"functionName":{"name":"mstore","nativeSrc":"18883:6:19","nodeType":"YulIdentifier","src":"18883:6:19"},"nativeSrc":"18883:16:19","nodeType":"YulFunctionCall","src":"18883:16:19"},"nativeSrc":"18883:16:19","nodeType":"YulExpressionStatement","src":"18883:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18919:4:19","nodeType":"YulLiteral","src":"18919:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"18925:2:19","nodeType":"YulIdentifier","src":"18925:2:19"}],"functionName":{"name":"mstore","nativeSrc":"18912:6:19","nodeType":"YulIdentifier","src":"18912:6:19"},"nativeSrc":"18912:16:19","nodeType":"YulFunctionCall","src":"18912:16:19"},"nativeSrc":"18912:16:19","nodeType":"YulExpressionStatement","src":"18912:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18948:4:19","nodeType":"YulLiteral","src":"18948:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"18954:2:19","nodeType":"YulIdentifier","src":"18954:2:19"}],"functionName":{"name":"mstore","nativeSrc":"18941:6:19","nodeType":"YulIdentifier","src":"18941:6:19"},"nativeSrc":"18941:16:19","nodeType":"YulFunctionCall","src":"18941:16:19"},"nativeSrc":"18941:16:19","nodeType":"YulExpressionStatement","src":"18941:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18977:4:19","nodeType":"YulLiteral","src":"18977:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"18983:2:19","nodeType":"YulIdentifier","src":"18983:2:19"}],"functionName":{"name":"mstore","nativeSrc":"18970:6:19","nodeType":"YulIdentifier","src":"18970:6:19"},"nativeSrc":"18970:16:19","nodeType":"YulFunctionCall","src":"18970:16:19"},"nativeSrc":"18970:16:19","nodeType":"YulExpressionStatement","src":"18970:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"19006:4:19","nodeType":"YulLiteral","src":"19006:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"19012:2:19","nodeType":"YulIdentifier","src":"19012:2:19"}],"functionName":{"name":"mstore","nativeSrc":"18999:6:19","nodeType":"YulIdentifier","src":"18999:6:19"},"nativeSrc":"18999:16:19","nodeType":"YulFunctionCall","src":"18999:16:19"},"nativeSrc":"18999:16:19","nodeType":"YulExpressionStatement","src":"18999:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26916,"isOffset":false,"isSlot":false,"src":"18896:2:19","valueSize":1},{"declaration":26919,"isOffset":false,"isSlot":false,"src":"18925:2:19","valueSize":1},{"declaration":26922,"isOffset":false,"isSlot":false,"src":"18954:2:19","valueSize":1},{"declaration":26925,"isOffset":false,"isSlot":false,"src":"18983:2:19","valueSize":1},{"declaration":26928,"isOffset":false,"isSlot":false,"src":"19012:2:19","valueSize":1}],"id":26936,"nodeType":"InlineAssembly","src":"18860:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17870:3:19","parameters":{"id":26913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26910,"mutability":"mutable","name":"p0","nameLocation":"17882:2:19","nodeType":"VariableDeclaration","scope":26938,"src":"17874:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26909,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17874:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":26912,"mutability":"mutable","name":"p1","nameLocation":"17894:2:19","nodeType":"VariableDeclaration","scope":26938,"src":"17886:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26911,"name":"uint256","nodeType":"ElementaryTypeName","src":"17886:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17873:24:19"},"returnParameters":{"id":26914,"nodeType":"ParameterList","parameters":[],"src":"17912:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":26974,"nodeType":"FunctionDefinition","src":"19037:1363:19","nodes":[],"body":{"id":26973,"nodeType":"Block","src":"19088:1312:19","nodes":[],"statements":[{"assignments":[26946],"declarations":[{"constant":false,"id":26946,"mutability":"mutable","name":"m0","nameLocation":"19106:2:19","nodeType":"VariableDeclaration","scope":26973,"src":"19098:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26945,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19098:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26947,"nodeType":"VariableDeclarationStatement","src":"19098:10:19"},{"assignments":[26949],"declarations":[{"constant":false,"id":26949,"mutability":"mutable","name":"m1","nameLocation":"19126:2:19","nodeType":"VariableDeclaration","scope":26973,"src":"19118:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26948,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19118:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26950,"nodeType":"VariableDeclarationStatement","src":"19118:10:19"},{"assignments":[26952],"declarations":[{"constant":false,"id":26952,"mutability":"mutable","name":"m2","nameLocation":"19146:2:19","nodeType":"VariableDeclaration","scope":26973,"src":"19138:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26951,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19138:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26953,"nodeType":"VariableDeclarationStatement","src":"19138:10:19"},{"assignments":[26955],"declarations":[{"constant":false,"id":26955,"mutability":"mutable","name":"m3","nameLocation":"19166:2:19","nodeType":"VariableDeclaration","scope":26973,"src":"19158:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26954,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19158:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26956,"nodeType":"VariableDeclarationStatement","src":"19158:10:19"},{"assignments":[26958],"declarations":[{"constant":false,"id":26958,"mutability":"mutable","name":"m4","nameLocation":"19186:2:19","nodeType":"VariableDeclaration","scope":26973,"src":"19178:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26957,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19178:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26959,"nodeType":"VariableDeclarationStatement","src":"19178:10:19"},{"assignments":[26961],"declarations":[{"constant":false,"id":26961,"mutability":"mutable","name":"m5","nameLocation":"19206:2:19","nodeType":"VariableDeclaration","scope":26973,"src":"19198:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26960,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19198:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26962,"nodeType":"VariableDeclarationStatement","src":"19198:10:19"},{"assignments":[26964],"declarations":[{"constant":false,"id":26964,"mutability":"mutable","name":"m6","nameLocation":"19226:2:19","nodeType":"VariableDeclaration","scope":26973,"src":"19218:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26963,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19218:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26965,"nodeType":"VariableDeclarationStatement","src":"19218:10:19"},{"AST":{"nativeSrc":"19290:792:19","nodeType":"YulBlock","src":"19290:792:19","statements":[{"body":{"nativeSrc":"19333:313:19","nodeType":"YulBlock","src":"19333:313:19","statements":[{"nativeSrc":"19351:15:19","nodeType":"YulVariableDeclaration","src":"19351:15:19","value":{"kind":"number","nativeSrc":"19365:1:19","nodeType":"YulLiteral","src":"19365:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"19355:6:19","nodeType":"YulTypedName","src":"19355:6:19","type":""}]},{"body":{"nativeSrc":"19436:40:19","nodeType":"YulBlock","src":"19436:40:19","statements":[{"body":{"nativeSrc":"19465:9:19","nodeType":"YulBlock","src":"19465:9:19","statements":[{"nativeSrc":"19467:5:19","nodeType":"YulBreak","src":"19467:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"19453:6:19","nodeType":"YulIdentifier","src":"19453:6:19"},{"name":"w","nativeSrc":"19461:1:19","nodeType":"YulIdentifier","src":"19461:1:19"}],"functionName":{"name":"byte","nativeSrc":"19448:4:19","nodeType":"YulIdentifier","src":"19448:4:19"},"nativeSrc":"19448:15:19","nodeType":"YulFunctionCall","src":"19448:15:19"}],"functionName":{"name":"iszero","nativeSrc":"19441:6:19","nodeType":"YulIdentifier","src":"19441:6:19"},"nativeSrc":"19441:23:19","nodeType":"YulFunctionCall","src":"19441:23:19"},"nativeSrc":"19438:36:19","nodeType":"YulIf","src":"19438:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"19393:6:19","nodeType":"YulIdentifier","src":"19393:6:19"},{"kind":"number","nativeSrc":"19401:4:19","nodeType":"YulLiteral","src":"19401:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"19390:2:19","nodeType":"YulIdentifier","src":"19390:2:19"},"nativeSrc":"19390:16:19","nodeType":"YulFunctionCall","src":"19390:16:19"},"nativeSrc":"19383:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"19407:28:19","nodeType":"YulBlock","src":"19407:28:19","statements":[{"nativeSrc":"19409:24:19","nodeType":"YulAssignment","src":"19409:24:19","value":{"arguments":[{"name":"length","nativeSrc":"19423:6:19","nodeType":"YulIdentifier","src":"19423:6:19"},{"kind":"number","nativeSrc":"19431:1:19","nodeType":"YulLiteral","src":"19431:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"19419:3:19","nodeType":"YulIdentifier","src":"19419:3:19"},"nativeSrc":"19419:14:19","nodeType":"YulFunctionCall","src":"19419:14:19"},"variableNames":[{"name":"length","nativeSrc":"19409:6:19","nodeType":"YulIdentifier","src":"19409:6:19"}]}]},"pre":{"nativeSrc":"19387:2:19","nodeType":"YulBlock","src":"19387:2:19","statements":[]},"src":"19383:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"19500:3:19","nodeType":"YulIdentifier","src":"19500:3:19"},{"name":"length","nativeSrc":"19505:6:19","nodeType":"YulIdentifier","src":"19505:6:19"}],"functionName":{"name":"mstore","nativeSrc":"19493:6:19","nodeType":"YulIdentifier","src":"19493:6:19"},"nativeSrc":"19493:19:19","nodeType":"YulFunctionCall","src":"19493:19:19"},"nativeSrc":"19493:19:19","nodeType":"YulExpressionStatement","src":"19493:19:19"},{"nativeSrc":"19529:37:19","nodeType":"YulVariableDeclaration","src":"19529:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"19546:3:19","nodeType":"YulLiteral","src":"19546:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"19555:1:19","nodeType":"YulLiteral","src":"19555:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"19558:6:19","nodeType":"YulIdentifier","src":"19558:6:19"}],"functionName":{"name":"shl","nativeSrc":"19551:3:19","nodeType":"YulIdentifier","src":"19551:3:19"},"nativeSrc":"19551:14:19","nodeType":"YulFunctionCall","src":"19551:14:19"}],"functionName":{"name":"sub","nativeSrc":"19542:3:19","nodeType":"YulIdentifier","src":"19542:3:19"},"nativeSrc":"19542:24:19","nodeType":"YulFunctionCall","src":"19542:24:19"},"variables":[{"name":"shift","nativeSrc":"19533:5:19","nodeType":"YulTypedName","src":"19533:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"19594:3:19","nodeType":"YulIdentifier","src":"19594:3:19"},{"kind":"number","nativeSrc":"19599:4:19","nodeType":"YulLiteral","src":"19599:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"19590:3:19","nodeType":"YulIdentifier","src":"19590:3:19"},"nativeSrc":"19590:14:19","nodeType":"YulFunctionCall","src":"19590:14:19"},{"arguments":[{"name":"shift","nativeSrc":"19610:5:19","nodeType":"YulIdentifier","src":"19610:5:19"},{"arguments":[{"name":"shift","nativeSrc":"19621:5:19","nodeType":"YulIdentifier","src":"19621:5:19"},{"name":"w","nativeSrc":"19628:1:19","nodeType":"YulIdentifier","src":"19628:1:19"}],"functionName":{"name":"shr","nativeSrc":"19617:3:19","nodeType":"YulIdentifier","src":"19617:3:19"},"nativeSrc":"19617:13:19","nodeType":"YulFunctionCall","src":"19617:13:19"}],"functionName":{"name":"shl","nativeSrc":"19606:3:19","nodeType":"YulIdentifier","src":"19606:3:19"},"nativeSrc":"19606:25:19","nodeType":"YulFunctionCall","src":"19606:25:19"}],"functionName":{"name":"mstore","nativeSrc":"19583:6:19","nodeType":"YulIdentifier","src":"19583:6:19"},"nativeSrc":"19583:49:19","nodeType":"YulFunctionCall","src":"19583:49:19"},"nativeSrc":"19583:49:19","nodeType":"YulExpressionStatement","src":"19583:49:19"}]},"name":"writeString","nativeSrc":"19304:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"19325:3:19","nodeType":"YulTypedName","src":"19325:3:19","type":""},{"name":"w","nativeSrc":"19330:1:19","nodeType":"YulTypedName","src":"19330:1:19","type":""}],"src":"19304:342:19"},{"nativeSrc":"19659:17:19","nodeType":"YulAssignment","src":"19659:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"19671:4:19","nodeType":"YulLiteral","src":"19671:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"19665:5:19","nodeType":"YulIdentifier","src":"19665:5:19"},"nativeSrc":"19665:11:19","nodeType":"YulFunctionCall","src":"19665:11:19"},"variableNames":[{"name":"m0","nativeSrc":"19659:2:19","nodeType":"YulIdentifier","src":"19659:2:19"}]},{"nativeSrc":"19689:17:19","nodeType":"YulAssignment","src":"19689:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"19701:4:19","nodeType":"YulLiteral","src":"19701:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"19695:5:19","nodeType":"YulIdentifier","src":"19695:5:19"},"nativeSrc":"19695:11:19","nodeType":"YulFunctionCall","src":"19695:11:19"},"variableNames":[{"name":"m1","nativeSrc":"19689:2:19","nodeType":"YulIdentifier","src":"19689:2:19"}]},{"nativeSrc":"19719:17:19","nodeType":"YulAssignment","src":"19719:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"19731:4:19","nodeType":"YulLiteral","src":"19731:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"19725:5:19","nodeType":"YulIdentifier","src":"19725:5:19"},"nativeSrc":"19725:11:19","nodeType":"YulFunctionCall","src":"19725:11:19"},"variableNames":[{"name":"m2","nativeSrc":"19719:2:19","nodeType":"YulIdentifier","src":"19719:2:19"}]},{"nativeSrc":"19749:17:19","nodeType":"YulAssignment","src":"19749:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"19761:4:19","nodeType":"YulLiteral","src":"19761:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"19755:5:19","nodeType":"YulIdentifier","src":"19755:5:19"},"nativeSrc":"19755:11:19","nodeType":"YulFunctionCall","src":"19755:11:19"},"variableNames":[{"name":"m3","nativeSrc":"19749:2:19","nodeType":"YulIdentifier","src":"19749:2:19"}]},{"nativeSrc":"19779:17:19","nodeType":"YulAssignment","src":"19779:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"19791:4:19","nodeType":"YulLiteral","src":"19791:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"19785:5:19","nodeType":"YulIdentifier","src":"19785:5:19"},"nativeSrc":"19785:11:19","nodeType":"YulFunctionCall","src":"19785:11:19"},"variableNames":[{"name":"m4","nativeSrc":"19779:2:19","nodeType":"YulIdentifier","src":"19779:2:19"}]},{"nativeSrc":"19809:17:19","nodeType":"YulAssignment","src":"19809:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"19821:4:19","nodeType":"YulLiteral","src":"19821:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"19815:5:19","nodeType":"YulIdentifier","src":"19815:5:19"},"nativeSrc":"19815:11:19","nodeType":"YulFunctionCall","src":"19815:11:19"},"variableNames":[{"name":"m5","nativeSrc":"19809:2:19","nodeType":"YulIdentifier","src":"19809:2:19"}]},{"nativeSrc":"19839:17:19","nodeType":"YulAssignment","src":"19839:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"19851:4:19","nodeType":"YulLiteral","src":"19851:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"19845:5:19","nodeType":"YulIdentifier","src":"19845:5:19"},"nativeSrc":"19845:11:19","nodeType":"YulFunctionCall","src":"19845:11:19"},"variableNames":[{"name":"m6","nativeSrc":"19839:2:19","nodeType":"YulIdentifier","src":"19839:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"19925:4:19","nodeType":"YulLiteral","src":"19925:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"19931:10:19","nodeType":"YulLiteral","src":"19931:10:19","type":"","value":"0x4b5c4277"}],"functionName":{"name":"mstore","nativeSrc":"19918:6:19","nodeType":"YulIdentifier","src":"19918:6:19"},"nativeSrc":"19918:24:19","nodeType":"YulFunctionCall","src":"19918:24:19"},"nativeSrc":"19918:24:19","nodeType":"YulExpressionStatement","src":"19918:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"19962:4:19","nodeType":"YulLiteral","src":"19962:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"19968:4:19","nodeType":"YulLiteral","src":"19968:4:19","type":"","value":"0x40"}],"functionName":{"name":"mstore","nativeSrc":"19955:6:19","nodeType":"YulIdentifier","src":"19955:6:19"},"nativeSrc":"19955:18:19","nodeType":"YulFunctionCall","src":"19955:18:19"},"nativeSrc":"19955:18:19","nodeType":"YulExpressionStatement","src":"19955:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"19993:4:19","nodeType":"YulLiteral","src":"19993:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"19999:4:19","nodeType":"YulLiteral","src":"19999:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"19986:6:19","nodeType":"YulIdentifier","src":"19986:6:19"},"nativeSrc":"19986:18:19","nodeType":"YulFunctionCall","src":"19986:18:19"},"nativeSrc":"19986:18:19","nodeType":"YulExpressionStatement","src":"19986:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20029:4:19","nodeType":"YulLiteral","src":"20029:4:19","type":"","value":"0x60"},{"name":"p0","nativeSrc":"20035:2:19","nodeType":"YulIdentifier","src":"20035:2:19"}],"functionName":{"name":"writeString","nativeSrc":"20017:11:19","nodeType":"YulIdentifier","src":"20017:11:19"},"nativeSrc":"20017:21:19","nodeType":"YulFunctionCall","src":"20017:21:19"},"nativeSrc":"20017:21:19","nodeType":"YulExpressionStatement","src":"20017:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20063:4:19","nodeType":"YulLiteral","src":"20063:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"20069:2:19","nodeType":"YulIdentifier","src":"20069:2:19"}],"functionName":{"name":"writeString","nativeSrc":"20051:11:19","nodeType":"YulIdentifier","src":"20051:11:19"},"nativeSrc":"20051:21:19","nodeType":"YulFunctionCall","src":"20051:21:19"},"nativeSrc":"20051:21:19","nodeType":"YulExpressionStatement","src":"20051:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26946,"isOffset":false,"isSlot":false,"src":"19659:2:19","valueSize":1},{"declaration":26949,"isOffset":false,"isSlot":false,"src":"19689:2:19","valueSize":1},{"declaration":26952,"isOffset":false,"isSlot":false,"src":"19719:2:19","valueSize":1},{"declaration":26955,"isOffset":false,"isSlot":false,"src":"19749:2:19","valueSize":1},{"declaration":26958,"isOffset":false,"isSlot":false,"src":"19779:2:19","valueSize":1},{"declaration":26961,"isOffset":false,"isSlot":false,"src":"19809:2:19","valueSize":1},{"declaration":26964,"isOffset":false,"isSlot":false,"src":"19839:2:19","valueSize":1},{"declaration":26940,"isOffset":false,"isSlot":false,"src":"20035:2:19","valueSize":1},{"declaration":26942,"isOffset":false,"isSlot":false,"src":"20069:2:19","valueSize":1}],"id":26966,"nodeType":"InlineAssembly","src":"19281:801:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":26968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20107:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":26969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20113:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":26967,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"20091:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20091:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26971,"nodeType":"ExpressionStatement","src":"20091:27:19"},{"AST":{"nativeSrc":"20180:214:19","nodeType":"YulBlock","src":"20180:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"20201:4:19","nodeType":"YulLiteral","src":"20201:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"20207:2:19","nodeType":"YulIdentifier","src":"20207:2:19"}],"functionName":{"name":"mstore","nativeSrc":"20194:6:19","nodeType":"YulIdentifier","src":"20194:6:19"},"nativeSrc":"20194:16:19","nodeType":"YulFunctionCall","src":"20194:16:19"},"nativeSrc":"20194:16:19","nodeType":"YulExpressionStatement","src":"20194:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20230:4:19","nodeType":"YulLiteral","src":"20230:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"20236:2:19","nodeType":"YulIdentifier","src":"20236:2:19"}],"functionName":{"name":"mstore","nativeSrc":"20223:6:19","nodeType":"YulIdentifier","src":"20223:6:19"},"nativeSrc":"20223:16:19","nodeType":"YulFunctionCall","src":"20223:16:19"},"nativeSrc":"20223:16:19","nodeType":"YulExpressionStatement","src":"20223:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20259:4:19","nodeType":"YulLiteral","src":"20259:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"20265:2:19","nodeType":"YulIdentifier","src":"20265:2:19"}],"functionName":{"name":"mstore","nativeSrc":"20252:6:19","nodeType":"YulIdentifier","src":"20252:6:19"},"nativeSrc":"20252:16:19","nodeType":"YulFunctionCall","src":"20252:16:19"},"nativeSrc":"20252:16:19","nodeType":"YulExpressionStatement","src":"20252:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20288:4:19","nodeType":"YulLiteral","src":"20288:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"20294:2:19","nodeType":"YulIdentifier","src":"20294:2:19"}],"functionName":{"name":"mstore","nativeSrc":"20281:6:19","nodeType":"YulIdentifier","src":"20281:6:19"},"nativeSrc":"20281:16:19","nodeType":"YulFunctionCall","src":"20281:16:19"},"nativeSrc":"20281:16:19","nodeType":"YulExpressionStatement","src":"20281:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20317:4:19","nodeType":"YulLiteral","src":"20317:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"20323:2:19","nodeType":"YulIdentifier","src":"20323:2:19"}],"functionName":{"name":"mstore","nativeSrc":"20310:6:19","nodeType":"YulIdentifier","src":"20310:6:19"},"nativeSrc":"20310:16:19","nodeType":"YulFunctionCall","src":"20310:16:19"},"nativeSrc":"20310:16:19","nodeType":"YulExpressionStatement","src":"20310:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20346:4:19","nodeType":"YulLiteral","src":"20346:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"20352:2:19","nodeType":"YulIdentifier","src":"20352:2:19"}],"functionName":{"name":"mstore","nativeSrc":"20339:6:19","nodeType":"YulIdentifier","src":"20339:6:19"},"nativeSrc":"20339:16:19","nodeType":"YulFunctionCall","src":"20339:16:19"},"nativeSrc":"20339:16:19","nodeType":"YulExpressionStatement","src":"20339:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20375:4:19","nodeType":"YulLiteral","src":"20375:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"20381:2:19","nodeType":"YulIdentifier","src":"20381:2:19"}],"functionName":{"name":"mstore","nativeSrc":"20368:6:19","nodeType":"YulIdentifier","src":"20368:6:19"},"nativeSrc":"20368:16:19","nodeType":"YulFunctionCall","src":"20368:16:19"},"nativeSrc":"20368:16:19","nodeType":"YulExpressionStatement","src":"20368:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26946,"isOffset":false,"isSlot":false,"src":"20207:2:19","valueSize":1},{"declaration":26949,"isOffset":false,"isSlot":false,"src":"20236:2:19","valueSize":1},{"declaration":26952,"isOffset":false,"isSlot":false,"src":"20265:2:19","valueSize":1},{"declaration":26955,"isOffset":false,"isSlot":false,"src":"20294:2:19","valueSize":1},{"declaration":26958,"isOffset":false,"isSlot":false,"src":"20323:2:19","valueSize":1},{"declaration":26961,"isOffset":false,"isSlot":false,"src":"20352:2:19","valueSize":1},{"declaration":26964,"isOffset":false,"isSlot":false,"src":"20381:2:19","valueSize":1}],"id":26972,"nodeType":"InlineAssembly","src":"20171:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19046:3:19","parameters":{"id":26943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26940,"mutability":"mutable","name":"p0","nameLocation":"19058:2:19","nodeType":"VariableDeclaration","scope":26974,"src":"19050:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26939,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19050:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":26942,"mutability":"mutable","name":"p1","nameLocation":"19070:2:19","nodeType":"VariableDeclaration","scope":26974,"src":"19062:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26941,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19062:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19049:24:19"},"returnParameters":{"id":26944,"nodeType":"ParameterList","parameters":[],"src":"19088:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27003,"nodeType":"FunctionDefinition","src":"20406:750:19","nodes":[],"body":{"id":27002,"nodeType":"Block","src":"20469:687:19","nodes":[],"statements":[{"assignments":[26984],"declarations":[{"constant":false,"id":26984,"mutability":"mutable","name":"m0","nameLocation":"20487:2:19","nodeType":"VariableDeclaration","scope":27002,"src":"20479:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26983,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20479:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26985,"nodeType":"VariableDeclarationStatement","src":"20479:10:19"},{"assignments":[26987],"declarations":[{"constant":false,"id":26987,"mutability":"mutable","name":"m1","nameLocation":"20507:2:19","nodeType":"VariableDeclaration","scope":27002,"src":"20499:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26986,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20499:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26988,"nodeType":"VariableDeclarationStatement","src":"20499:10:19"},{"assignments":[26990],"declarations":[{"constant":false,"id":26990,"mutability":"mutable","name":"m2","nameLocation":"20527:2:19","nodeType":"VariableDeclaration","scope":27002,"src":"20519:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26989,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20519:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26991,"nodeType":"VariableDeclarationStatement","src":"20519:10:19"},{"assignments":[26993],"declarations":[{"constant":false,"id":26993,"mutability":"mutable","name":"m3","nameLocation":"20547:2:19","nodeType":"VariableDeclaration","scope":27002,"src":"20539:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":26992,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20539:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":26994,"nodeType":"VariableDeclarationStatement","src":"20539:10:19"},{"AST":{"nativeSrc":"20611:314:19","nodeType":"YulBlock","src":"20611:314:19","statements":[{"nativeSrc":"20625:17:19","nodeType":"YulAssignment","src":"20625:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"20637:4:19","nodeType":"YulLiteral","src":"20637:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"20631:5:19","nodeType":"YulIdentifier","src":"20631:5:19"},"nativeSrc":"20631:11:19","nodeType":"YulFunctionCall","src":"20631:11:19"},"variableNames":[{"name":"m0","nativeSrc":"20625:2:19","nodeType":"YulIdentifier","src":"20625:2:19"}]},{"nativeSrc":"20655:17:19","nodeType":"YulAssignment","src":"20655:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"20667:4:19","nodeType":"YulLiteral","src":"20667:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"20661:5:19","nodeType":"YulIdentifier","src":"20661:5:19"},"nativeSrc":"20661:11:19","nodeType":"YulFunctionCall","src":"20661:11:19"},"variableNames":[{"name":"m1","nativeSrc":"20655:2:19","nodeType":"YulIdentifier","src":"20655:2:19"}]},{"nativeSrc":"20685:17:19","nodeType":"YulAssignment","src":"20685:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"20697:4:19","nodeType":"YulLiteral","src":"20697:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"20691:5:19","nodeType":"YulIdentifier","src":"20691:5:19"},"nativeSrc":"20691:11:19","nodeType":"YulFunctionCall","src":"20691:11:19"},"variableNames":[{"name":"m2","nativeSrc":"20685:2:19","nodeType":"YulIdentifier","src":"20685:2:19"}]},{"nativeSrc":"20715:17:19","nodeType":"YulAssignment","src":"20715:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"20727:4:19","nodeType":"YulLiteral","src":"20727:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"20721:5:19","nodeType":"YulIdentifier","src":"20721:5:19"},"nativeSrc":"20721:11:19","nodeType":"YulFunctionCall","src":"20721:11:19"},"variableNames":[{"name":"m3","nativeSrc":"20715:2:19","nodeType":"YulIdentifier","src":"20715:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20811:4:19","nodeType":"YulLiteral","src":"20811:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"20817:10:19","nodeType":"YulLiteral","src":"20817:10:19","type":"","value":"0x018c84c2"}],"functionName":{"name":"mstore","nativeSrc":"20804:6:19","nodeType":"YulIdentifier","src":"20804:6:19"},"nativeSrc":"20804:24:19","nodeType":"YulFunctionCall","src":"20804:24:19"},"nativeSrc":"20804:24:19","nodeType":"YulExpressionStatement","src":"20804:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20848:4:19","nodeType":"YulLiteral","src":"20848:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"20854:2:19","nodeType":"YulIdentifier","src":"20854:2:19"}],"functionName":{"name":"mstore","nativeSrc":"20841:6:19","nodeType":"YulIdentifier","src":"20841:6:19"},"nativeSrc":"20841:16:19","nodeType":"YulFunctionCall","src":"20841:16:19"},"nativeSrc":"20841:16:19","nodeType":"YulExpressionStatement","src":"20841:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20877:4:19","nodeType":"YulLiteral","src":"20877:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"20883:2:19","nodeType":"YulIdentifier","src":"20883:2:19"}],"functionName":{"name":"mstore","nativeSrc":"20870:6:19","nodeType":"YulIdentifier","src":"20870:6:19"},"nativeSrc":"20870:16:19","nodeType":"YulFunctionCall","src":"20870:16:19"},"nativeSrc":"20870:16:19","nodeType":"YulExpressionStatement","src":"20870:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"20906:4:19","nodeType":"YulLiteral","src":"20906:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"20912:2:19","nodeType":"YulIdentifier","src":"20912:2:19"}],"functionName":{"name":"mstore","nativeSrc":"20899:6:19","nodeType":"YulIdentifier","src":"20899:6:19"},"nativeSrc":"20899:16:19","nodeType":"YulFunctionCall","src":"20899:16:19"},"nativeSrc":"20899:16:19","nodeType":"YulExpressionStatement","src":"20899:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26984,"isOffset":false,"isSlot":false,"src":"20625:2:19","valueSize":1},{"declaration":26987,"isOffset":false,"isSlot":false,"src":"20655:2:19","valueSize":1},{"declaration":26990,"isOffset":false,"isSlot":false,"src":"20685:2:19","valueSize":1},{"declaration":26993,"isOffset":false,"isSlot":false,"src":"20715:2:19","valueSize":1},{"declaration":26976,"isOffset":false,"isSlot":false,"src":"20854:2:19","valueSize":1},{"declaration":26978,"isOffset":false,"isSlot":false,"src":"20883:2:19","valueSize":1},{"declaration":26980,"isOffset":false,"isSlot":false,"src":"20912:2:19","valueSize":1}],"id":26995,"nodeType":"InlineAssembly","src":"20602:323:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":26997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20950:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":26998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20956:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":26996,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"20934:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":26999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20934:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27000,"nodeType":"ExpressionStatement","src":"20934:27:19"},{"AST":{"nativeSrc":"21023:127:19","nodeType":"YulBlock","src":"21023:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"21044:4:19","nodeType":"YulLiteral","src":"21044:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"21050:2:19","nodeType":"YulIdentifier","src":"21050:2:19"}],"functionName":{"name":"mstore","nativeSrc":"21037:6:19","nodeType":"YulIdentifier","src":"21037:6:19"},"nativeSrc":"21037:16:19","nodeType":"YulFunctionCall","src":"21037:16:19"},"nativeSrc":"21037:16:19","nodeType":"YulExpressionStatement","src":"21037:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21073:4:19","nodeType":"YulLiteral","src":"21073:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"21079:2:19","nodeType":"YulIdentifier","src":"21079:2:19"}],"functionName":{"name":"mstore","nativeSrc":"21066:6:19","nodeType":"YulIdentifier","src":"21066:6:19"},"nativeSrc":"21066:16:19","nodeType":"YulFunctionCall","src":"21066:16:19"},"nativeSrc":"21066:16:19","nodeType":"YulExpressionStatement","src":"21066:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21102:4:19","nodeType":"YulLiteral","src":"21102:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"21108:2:19","nodeType":"YulIdentifier","src":"21108:2:19"}],"functionName":{"name":"mstore","nativeSrc":"21095:6:19","nodeType":"YulIdentifier","src":"21095:6:19"},"nativeSrc":"21095:16:19","nodeType":"YulFunctionCall","src":"21095:16:19"},"nativeSrc":"21095:16:19","nodeType":"YulExpressionStatement","src":"21095:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21131:4:19","nodeType":"YulLiteral","src":"21131:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"21137:2:19","nodeType":"YulIdentifier","src":"21137:2:19"}],"functionName":{"name":"mstore","nativeSrc":"21124:6:19","nodeType":"YulIdentifier","src":"21124:6:19"},"nativeSrc":"21124:16:19","nodeType":"YulFunctionCall","src":"21124:16:19"},"nativeSrc":"21124:16:19","nodeType":"YulExpressionStatement","src":"21124:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":26984,"isOffset":false,"isSlot":false,"src":"21050:2:19","valueSize":1},{"declaration":26987,"isOffset":false,"isSlot":false,"src":"21079:2:19","valueSize":1},{"declaration":26990,"isOffset":false,"isSlot":false,"src":"21108:2:19","valueSize":1},{"declaration":26993,"isOffset":false,"isSlot":false,"src":"21137:2:19","valueSize":1}],"id":27001,"nodeType":"InlineAssembly","src":"21014:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20415:3:19","parameters":{"id":26981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26976,"mutability":"mutable","name":"p0","nameLocation":"20427:2:19","nodeType":"VariableDeclaration","scope":27003,"src":"20419:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26975,"name":"address","nodeType":"ElementaryTypeName","src":"20419:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26978,"mutability":"mutable","name":"p1","nameLocation":"20439:2:19","nodeType":"VariableDeclaration","scope":27003,"src":"20431:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26977,"name":"address","nodeType":"ElementaryTypeName","src":"20431:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26980,"mutability":"mutable","name":"p2","nameLocation":"20451:2:19","nodeType":"VariableDeclaration","scope":27003,"src":"20443:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26979,"name":"address","nodeType":"ElementaryTypeName","src":"20443:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20418:36:19"},"returnParameters":{"id":26982,"nodeType":"ParameterList","parameters":[],"src":"20469:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27032,"nodeType":"FunctionDefinition","src":"21162:744:19","nodes":[],"body":{"id":27031,"nodeType":"Block","src":"21222:684:19","nodes":[],"statements":[{"assignments":[27013],"declarations":[{"constant":false,"id":27013,"mutability":"mutable","name":"m0","nameLocation":"21240:2:19","nodeType":"VariableDeclaration","scope":27031,"src":"21232:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27012,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21232:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27014,"nodeType":"VariableDeclarationStatement","src":"21232:10:19"},{"assignments":[27016],"declarations":[{"constant":false,"id":27016,"mutability":"mutable","name":"m1","nameLocation":"21260:2:19","nodeType":"VariableDeclaration","scope":27031,"src":"21252:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27015,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21252:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27017,"nodeType":"VariableDeclarationStatement","src":"21252:10:19"},{"assignments":[27019],"declarations":[{"constant":false,"id":27019,"mutability":"mutable","name":"m2","nameLocation":"21280:2:19","nodeType":"VariableDeclaration","scope":27031,"src":"21272:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27018,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21272:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27020,"nodeType":"VariableDeclarationStatement","src":"21272:10:19"},{"assignments":[27022],"declarations":[{"constant":false,"id":27022,"mutability":"mutable","name":"m3","nameLocation":"21300:2:19","nodeType":"VariableDeclaration","scope":27031,"src":"21292:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27021,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21292:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27023,"nodeType":"VariableDeclarationStatement","src":"21292:10:19"},{"AST":{"nativeSrc":"21364:311:19","nodeType":"YulBlock","src":"21364:311:19","statements":[{"nativeSrc":"21378:17:19","nodeType":"YulAssignment","src":"21378:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"21390:4:19","nodeType":"YulLiteral","src":"21390:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"21384:5:19","nodeType":"YulIdentifier","src":"21384:5:19"},"nativeSrc":"21384:11:19","nodeType":"YulFunctionCall","src":"21384:11:19"},"variableNames":[{"name":"m0","nativeSrc":"21378:2:19","nodeType":"YulIdentifier","src":"21378:2:19"}]},{"nativeSrc":"21408:17:19","nodeType":"YulAssignment","src":"21408:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"21420:4:19","nodeType":"YulLiteral","src":"21420:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"21414:5:19","nodeType":"YulIdentifier","src":"21414:5:19"},"nativeSrc":"21414:11:19","nodeType":"YulFunctionCall","src":"21414:11:19"},"variableNames":[{"name":"m1","nativeSrc":"21408:2:19","nodeType":"YulIdentifier","src":"21408:2:19"}]},{"nativeSrc":"21438:17:19","nodeType":"YulAssignment","src":"21438:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"21450:4:19","nodeType":"YulLiteral","src":"21450:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"21444:5:19","nodeType":"YulIdentifier","src":"21444:5:19"},"nativeSrc":"21444:11:19","nodeType":"YulFunctionCall","src":"21444:11:19"},"variableNames":[{"name":"m2","nativeSrc":"21438:2:19","nodeType":"YulIdentifier","src":"21438:2:19"}]},{"nativeSrc":"21468:17:19","nodeType":"YulAssignment","src":"21468:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"21480:4:19","nodeType":"YulLiteral","src":"21480:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"21474:5:19","nodeType":"YulIdentifier","src":"21474:5:19"},"nativeSrc":"21474:11:19","nodeType":"YulFunctionCall","src":"21474:11:19"},"variableNames":[{"name":"m3","nativeSrc":"21468:2:19","nodeType":"YulIdentifier","src":"21468:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21561:4:19","nodeType":"YulLiteral","src":"21561:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"21567:10:19","nodeType":"YulLiteral","src":"21567:10:19","type":"","value":"0xf2a66286"}],"functionName":{"name":"mstore","nativeSrc":"21554:6:19","nodeType":"YulIdentifier","src":"21554:6:19"},"nativeSrc":"21554:24:19","nodeType":"YulFunctionCall","src":"21554:24:19"},"nativeSrc":"21554:24:19","nodeType":"YulExpressionStatement","src":"21554:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21598:4:19","nodeType":"YulLiteral","src":"21598:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"21604:2:19","nodeType":"YulIdentifier","src":"21604:2:19"}],"functionName":{"name":"mstore","nativeSrc":"21591:6:19","nodeType":"YulIdentifier","src":"21591:6:19"},"nativeSrc":"21591:16:19","nodeType":"YulFunctionCall","src":"21591:16:19"},"nativeSrc":"21591:16:19","nodeType":"YulExpressionStatement","src":"21591:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21627:4:19","nodeType":"YulLiteral","src":"21627:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"21633:2:19","nodeType":"YulIdentifier","src":"21633:2:19"}],"functionName":{"name":"mstore","nativeSrc":"21620:6:19","nodeType":"YulIdentifier","src":"21620:6:19"},"nativeSrc":"21620:16:19","nodeType":"YulFunctionCall","src":"21620:16:19"},"nativeSrc":"21620:16:19","nodeType":"YulExpressionStatement","src":"21620:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21656:4:19","nodeType":"YulLiteral","src":"21656:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"21662:2:19","nodeType":"YulIdentifier","src":"21662:2:19"}],"functionName":{"name":"mstore","nativeSrc":"21649:6:19","nodeType":"YulIdentifier","src":"21649:6:19"},"nativeSrc":"21649:16:19","nodeType":"YulFunctionCall","src":"21649:16:19"},"nativeSrc":"21649:16:19","nodeType":"YulExpressionStatement","src":"21649:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27013,"isOffset":false,"isSlot":false,"src":"21378:2:19","valueSize":1},{"declaration":27016,"isOffset":false,"isSlot":false,"src":"21408:2:19","valueSize":1},{"declaration":27019,"isOffset":false,"isSlot":false,"src":"21438:2:19","valueSize":1},{"declaration":27022,"isOffset":false,"isSlot":false,"src":"21468:2:19","valueSize":1},{"declaration":27005,"isOffset":false,"isSlot":false,"src":"21604:2:19","valueSize":1},{"declaration":27007,"isOffset":false,"isSlot":false,"src":"21633:2:19","valueSize":1},{"declaration":27009,"isOffset":false,"isSlot":false,"src":"21662:2:19","valueSize":1}],"id":27024,"nodeType":"InlineAssembly","src":"21355:320:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27026,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21700:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21706:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27025,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"21684:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21684:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27029,"nodeType":"ExpressionStatement","src":"21684:27:19"},{"AST":{"nativeSrc":"21773:127:19","nodeType":"YulBlock","src":"21773:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"21794:4:19","nodeType":"YulLiteral","src":"21794:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"21800:2:19","nodeType":"YulIdentifier","src":"21800:2:19"}],"functionName":{"name":"mstore","nativeSrc":"21787:6:19","nodeType":"YulIdentifier","src":"21787:6:19"},"nativeSrc":"21787:16:19","nodeType":"YulFunctionCall","src":"21787:16:19"},"nativeSrc":"21787:16:19","nodeType":"YulExpressionStatement","src":"21787:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21823:4:19","nodeType":"YulLiteral","src":"21823:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"21829:2:19","nodeType":"YulIdentifier","src":"21829:2:19"}],"functionName":{"name":"mstore","nativeSrc":"21816:6:19","nodeType":"YulIdentifier","src":"21816:6:19"},"nativeSrc":"21816:16:19","nodeType":"YulFunctionCall","src":"21816:16:19"},"nativeSrc":"21816:16:19","nodeType":"YulExpressionStatement","src":"21816:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21852:4:19","nodeType":"YulLiteral","src":"21852:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"21858:2:19","nodeType":"YulIdentifier","src":"21858:2:19"}],"functionName":{"name":"mstore","nativeSrc":"21845:6:19","nodeType":"YulIdentifier","src":"21845:6:19"},"nativeSrc":"21845:16:19","nodeType":"YulFunctionCall","src":"21845:16:19"},"nativeSrc":"21845:16:19","nodeType":"YulExpressionStatement","src":"21845:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"21881:4:19","nodeType":"YulLiteral","src":"21881:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"21887:2:19","nodeType":"YulIdentifier","src":"21887:2:19"}],"functionName":{"name":"mstore","nativeSrc":"21874:6:19","nodeType":"YulIdentifier","src":"21874:6:19"},"nativeSrc":"21874:16:19","nodeType":"YulFunctionCall","src":"21874:16:19"},"nativeSrc":"21874:16:19","nodeType":"YulExpressionStatement","src":"21874:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27013,"isOffset":false,"isSlot":false,"src":"21800:2:19","valueSize":1},{"declaration":27016,"isOffset":false,"isSlot":false,"src":"21829:2:19","valueSize":1},{"declaration":27019,"isOffset":false,"isSlot":false,"src":"21858:2:19","valueSize":1},{"declaration":27022,"isOffset":false,"isSlot":false,"src":"21887:2:19","valueSize":1}],"id":27030,"nodeType":"InlineAssembly","src":"21764:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21171:3:19","parameters":{"id":27010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27005,"mutability":"mutable","name":"p0","nameLocation":"21183:2:19","nodeType":"VariableDeclaration","scope":27032,"src":"21175:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27004,"name":"address","nodeType":"ElementaryTypeName","src":"21175:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27007,"mutability":"mutable","name":"p1","nameLocation":"21195:2:19","nodeType":"VariableDeclaration","scope":27032,"src":"21187:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27006,"name":"address","nodeType":"ElementaryTypeName","src":"21187:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27009,"mutability":"mutable","name":"p2","nameLocation":"21204:2:19","nodeType":"VariableDeclaration","scope":27032,"src":"21199:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27008,"name":"bool","nodeType":"ElementaryTypeName","src":"21199:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21174:33:19"},"returnParameters":{"id":27011,"nodeType":"ParameterList","parameters":[],"src":"21222:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27061,"nodeType":"FunctionDefinition","src":"21912:750:19","nodes":[],"body":{"id":27060,"nodeType":"Block","src":"21975:687:19","nodes":[],"statements":[{"assignments":[27042],"declarations":[{"constant":false,"id":27042,"mutability":"mutable","name":"m0","nameLocation":"21993:2:19","nodeType":"VariableDeclaration","scope":27060,"src":"21985:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27041,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21985:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27043,"nodeType":"VariableDeclarationStatement","src":"21985:10:19"},{"assignments":[27045],"declarations":[{"constant":false,"id":27045,"mutability":"mutable","name":"m1","nameLocation":"22013:2:19","nodeType":"VariableDeclaration","scope":27060,"src":"22005:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27044,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22005:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27046,"nodeType":"VariableDeclarationStatement","src":"22005:10:19"},{"assignments":[27048],"declarations":[{"constant":false,"id":27048,"mutability":"mutable","name":"m2","nameLocation":"22033:2:19","nodeType":"VariableDeclaration","scope":27060,"src":"22025:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27047,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22025:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27049,"nodeType":"VariableDeclarationStatement","src":"22025:10:19"},{"assignments":[27051],"declarations":[{"constant":false,"id":27051,"mutability":"mutable","name":"m3","nameLocation":"22053:2:19","nodeType":"VariableDeclaration","scope":27060,"src":"22045:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27050,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22045:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27052,"nodeType":"VariableDeclarationStatement","src":"22045:10:19"},{"AST":{"nativeSrc":"22117:314:19","nodeType":"YulBlock","src":"22117:314:19","statements":[{"nativeSrc":"22131:17:19","nodeType":"YulAssignment","src":"22131:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"22143:4:19","nodeType":"YulLiteral","src":"22143:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"22137:5:19","nodeType":"YulIdentifier","src":"22137:5:19"},"nativeSrc":"22137:11:19","nodeType":"YulFunctionCall","src":"22137:11:19"},"variableNames":[{"name":"m0","nativeSrc":"22131:2:19","nodeType":"YulIdentifier","src":"22131:2:19"}]},{"nativeSrc":"22161:17:19","nodeType":"YulAssignment","src":"22161:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"22173:4:19","nodeType":"YulLiteral","src":"22173:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"22167:5:19","nodeType":"YulIdentifier","src":"22167:5:19"},"nativeSrc":"22167:11:19","nodeType":"YulFunctionCall","src":"22167:11:19"},"variableNames":[{"name":"m1","nativeSrc":"22161:2:19","nodeType":"YulIdentifier","src":"22161:2:19"}]},{"nativeSrc":"22191:17:19","nodeType":"YulAssignment","src":"22191:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"22203:4:19","nodeType":"YulLiteral","src":"22203:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"22197:5:19","nodeType":"YulIdentifier","src":"22197:5:19"},"nativeSrc":"22197:11:19","nodeType":"YulFunctionCall","src":"22197:11:19"},"variableNames":[{"name":"m2","nativeSrc":"22191:2:19","nodeType":"YulIdentifier","src":"22191:2:19"}]},{"nativeSrc":"22221:17:19","nodeType":"YulAssignment","src":"22221:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"22233:4:19","nodeType":"YulLiteral","src":"22233:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"22227:5:19","nodeType":"YulIdentifier","src":"22227:5:19"},"nativeSrc":"22227:11:19","nodeType":"YulFunctionCall","src":"22227:11:19"},"variableNames":[{"name":"m3","nativeSrc":"22221:2:19","nodeType":"YulIdentifier","src":"22221:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"22317:4:19","nodeType":"YulLiteral","src":"22317:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"22323:10:19","nodeType":"YulLiteral","src":"22323:10:19","type":"","value":"0x17fe6185"}],"functionName":{"name":"mstore","nativeSrc":"22310:6:19","nodeType":"YulIdentifier","src":"22310:6:19"},"nativeSrc":"22310:24:19","nodeType":"YulFunctionCall","src":"22310:24:19"},"nativeSrc":"22310:24:19","nodeType":"YulExpressionStatement","src":"22310:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"22354:4:19","nodeType":"YulLiteral","src":"22354:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"22360:2:19","nodeType":"YulIdentifier","src":"22360:2:19"}],"functionName":{"name":"mstore","nativeSrc":"22347:6:19","nodeType":"YulIdentifier","src":"22347:6:19"},"nativeSrc":"22347:16:19","nodeType":"YulFunctionCall","src":"22347:16:19"},"nativeSrc":"22347:16:19","nodeType":"YulExpressionStatement","src":"22347:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"22383:4:19","nodeType":"YulLiteral","src":"22383:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"22389:2:19","nodeType":"YulIdentifier","src":"22389:2:19"}],"functionName":{"name":"mstore","nativeSrc":"22376:6:19","nodeType":"YulIdentifier","src":"22376:6:19"},"nativeSrc":"22376:16:19","nodeType":"YulFunctionCall","src":"22376:16:19"},"nativeSrc":"22376:16:19","nodeType":"YulExpressionStatement","src":"22376:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"22412:4:19","nodeType":"YulLiteral","src":"22412:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"22418:2:19","nodeType":"YulIdentifier","src":"22418:2:19"}],"functionName":{"name":"mstore","nativeSrc":"22405:6:19","nodeType":"YulIdentifier","src":"22405:6:19"},"nativeSrc":"22405:16:19","nodeType":"YulFunctionCall","src":"22405:16:19"},"nativeSrc":"22405:16:19","nodeType":"YulExpressionStatement","src":"22405:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27042,"isOffset":false,"isSlot":false,"src":"22131:2:19","valueSize":1},{"declaration":27045,"isOffset":false,"isSlot":false,"src":"22161:2:19","valueSize":1},{"declaration":27048,"isOffset":false,"isSlot":false,"src":"22191:2:19","valueSize":1},{"declaration":27051,"isOffset":false,"isSlot":false,"src":"22221:2:19","valueSize":1},{"declaration":27034,"isOffset":false,"isSlot":false,"src":"22360:2:19","valueSize":1},{"declaration":27036,"isOffset":false,"isSlot":false,"src":"22389:2:19","valueSize":1},{"declaration":27038,"isOffset":false,"isSlot":false,"src":"22418:2:19","valueSize":1}],"id":27053,"nodeType":"InlineAssembly","src":"22108:323:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22456:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22462:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27054,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"22440:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22440:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27058,"nodeType":"ExpressionStatement","src":"22440:27:19"},{"AST":{"nativeSrc":"22529:127:19","nodeType":"YulBlock","src":"22529:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"22550:4:19","nodeType":"YulLiteral","src":"22550:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"22556:2:19","nodeType":"YulIdentifier","src":"22556:2:19"}],"functionName":{"name":"mstore","nativeSrc":"22543:6:19","nodeType":"YulIdentifier","src":"22543:6:19"},"nativeSrc":"22543:16:19","nodeType":"YulFunctionCall","src":"22543:16:19"},"nativeSrc":"22543:16:19","nodeType":"YulExpressionStatement","src":"22543:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"22579:4:19","nodeType":"YulLiteral","src":"22579:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"22585:2:19","nodeType":"YulIdentifier","src":"22585:2:19"}],"functionName":{"name":"mstore","nativeSrc":"22572:6:19","nodeType":"YulIdentifier","src":"22572:6:19"},"nativeSrc":"22572:16:19","nodeType":"YulFunctionCall","src":"22572:16:19"},"nativeSrc":"22572:16:19","nodeType":"YulExpressionStatement","src":"22572:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"22608:4:19","nodeType":"YulLiteral","src":"22608:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"22614:2:19","nodeType":"YulIdentifier","src":"22614:2:19"}],"functionName":{"name":"mstore","nativeSrc":"22601:6:19","nodeType":"YulIdentifier","src":"22601:6:19"},"nativeSrc":"22601:16:19","nodeType":"YulFunctionCall","src":"22601:16:19"},"nativeSrc":"22601:16:19","nodeType":"YulExpressionStatement","src":"22601:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"22637:4:19","nodeType":"YulLiteral","src":"22637:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"22643:2:19","nodeType":"YulIdentifier","src":"22643:2:19"}],"functionName":{"name":"mstore","nativeSrc":"22630:6:19","nodeType":"YulIdentifier","src":"22630:6:19"},"nativeSrc":"22630:16:19","nodeType":"YulFunctionCall","src":"22630:16:19"},"nativeSrc":"22630:16:19","nodeType":"YulExpressionStatement","src":"22630:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27042,"isOffset":false,"isSlot":false,"src":"22556:2:19","valueSize":1},{"declaration":27045,"isOffset":false,"isSlot":false,"src":"22585:2:19","valueSize":1},{"declaration":27048,"isOffset":false,"isSlot":false,"src":"22614:2:19","valueSize":1},{"declaration":27051,"isOffset":false,"isSlot":false,"src":"22643:2:19","valueSize":1}],"id":27059,"nodeType":"InlineAssembly","src":"22520:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21921:3:19","parameters":{"id":27039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27034,"mutability":"mutable","name":"p0","nameLocation":"21933:2:19","nodeType":"VariableDeclaration","scope":27061,"src":"21925:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27033,"name":"address","nodeType":"ElementaryTypeName","src":"21925:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27036,"mutability":"mutable","name":"p1","nameLocation":"21945:2:19","nodeType":"VariableDeclaration","scope":27061,"src":"21937:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27035,"name":"address","nodeType":"ElementaryTypeName","src":"21937:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27038,"mutability":"mutable","name":"p2","nameLocation":"21957:2:19","nodeType":"VariableDeclaration","scope":27061,"src":"21949:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27037,"name":"uint256","nodeType":"ElementaryTypeName","src":"21949:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21924:36:19"},"returnParameters":{"id":27040,"nodeType":"ParameterList","parameters":[],"src":"21975:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27096,"nodeType":"FunctionDefinition","src":"22668:1298:19","nodes":[],"body":{"id":27095,"nodeType":"Block","src":"22731:1235:19","nodes":[],"statements":[{"assignments":[27071],"declarations":[{"constant":false,"id":27071,"mutability":"mutable","name":"m0","nameLocation":"22749:2:19","nodeType":"VariableDeclaration","scope":27095,"src":"22741:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27070,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22741:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27072,"nodeType":"VariableDeclarationStatement","src":"22741:10:19"},{"assignments":[27074],"declarations":[{"constant":false,"id":27074,"mutability":"mutable","name":"m1","nameLocation":"22769:2:19","nodeType":"VariableDeclaration","scope":27095,"src":"22761:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27073,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22761:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27075,"nodeType":"VariableDeclarationStatement","src":"22761:10:19"},{"assignments":[27077],"declarations":[{"constant":false,"id":27077,"mutability":"mutable","name":"m2","nameLocation":"22789:2:19","nodeType":"VariableDeclaration","scope":27095,"src":"22781:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27076,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22781:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27078,"nodeType":"VariableDeclarationStatement","src":"22781:10:19"},{"assignments":[27080],"declarations":[{"constant":false,"id":27080,"mutability":"mutable","name":"m3","nameLocation":"22809:2:19","nodeType":"VariableDeclaration","scope":27095,"src":"22801:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27079,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22801:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27081,"nodeType":"VariableDeclarationStatement","src":"22801:10:19"},{"assignments":[27083],"declarations":[{"constant":false,"id":27083,"mutability":"mutable","name":"m4","nameLocation":"22829:2:19","nodeType":"VariableDeclaration","scope":27095,"src":"22821:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27082,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22821:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27084,"nodeType":"VariableDeclarationStatement","src":"22821:10:19"},{"assignments":[27086],"declarations":[{"constant":false,"id":27086,"mutability":"mutable","name":"m5","nameLocation":"22849:2:19","nodeType":"VariableDeclaration","scope":27095,"src":"22841:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27085,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22841:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27087,"nodeType":"VariableDeclarationStatement","src":"22841:10:19"},{"AST":{"nativeSrc":"22913:764:19","nodeType":"YulBlock","src":"22913:764:19","statements":[{"body":{"nativeSrc":"22956:313:19","nodeType":"YulBlock","src":"22956:313:19","statements":[{"nativeSrc":"22974:15:19","nodeType":"YulVariableDeclaration","src":"22974:15:19","value":{"kind":"number","nativeSrc":"22988:1:19","nodeType":"YulLiteral","src":"22988:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"22978:6:19","nodeType":"YulTypedName","src":"22978:6:19","type":""}]},{"body":{"nativeSrc":"23059:40:19","nodeType":"YulBlock","src":"23059:40:19","statements":[{"body":{"nativeSrc":"23088:9:19","nodeType":"YulBlock","src":"23088:9:19","statements":[{"nativeSrc":"23090:5:19","nodeType":"YulBreak","src":"23090:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"23076:6:19","nodeType":"YulIdentifier","src":"23076:6:19"},{"name":"w","nativeSrc":"23084:1:19","nodeType":"YulIdentifier","src":"23084:1:19"}],"functionName":{"name":"byte","nativeSrc":"23071:4:19","nodeType":"YulIdentifier","src":"23071:4:19"},"nativeSrc":"23071:15:19","nodeType":"YulFunctionCall","src":"23071:15:19"}],"functionName":{"name":"iszero","nativeSrc":"23064:6:19","nodeType":"YulIdentifier","src":"23064:6:19"},"nativeSrc":"23064:23:19","nodeType":"YulFunctionCall","src":"23064:23:19"},"nativeSrc":"23061:36:19","nodeType":"YulIf","src":"23061:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"23016:6:19","nodeType":"YulIdentifier","src":"23016:6:19"},{"kind":"number","nativeSrc":"23024:4:19","nodeType":"YulLiteral","src":"23024:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"23013:2:19","nodeType":"YulIdentifier","src":"23013:2:19"},"nativeSrc":"23013:16:19","nodeType":"YulFunctionCall","src":"23013:16:19"},"nativeSrc":"23006:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"23030:28:19","nodeType":"YulBlock","src":"23030:28:19","statements":[{"nativeSrc":"23032:24:19","nodeType":"YulAssignment","src":"23032:24:19","value":{"arguments":[{"name":"length","nativeSrc":"23046:6:19","nodeType":"YulIdentifier","src":"23046:6:19"},{"kind":"number","nativeSrc":"23054:1:19","nodeType":"YulLiteral","src":"23054:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"23042:3:19","nodeType":"YulIdentifier","src":"23042:3:19"},"nativeSrc":"23042:14:19","nodeType":"YulFunctionCall","src":"23042:14:19"},"variableNames":[{"name":"length","nativeSrc":"23032:6:19","nodeType":"YulIdentifier","src":"23032:6:19"}]}]},"pre":{"nativeSrc":"23010:2:19","nodeType":"YulBlock","src":"23010:2:19","statements":[]},"src":"23006:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"23123:3:19","nodeType":"YulIdentifier","src":"23123:3:19"},{"name":"length","nativeSrc":"23128:6:19","nodeType":"YulIdentifier","src":"23128:6:19"}],"functionName":{"name":"mstore","nativeSrc":"23116:6:19","nodeType":"YulIdentifier","src":"23116:6:19"},"nativeSrc":"23116:19:19","nodeType":"YulFunctionCall","src":"23116:19:19"},"nativeSrc":"23116:19:19","nodeType":"YulExpressionStatement","src":"23116:19:19"},{"nativeSrc":"23152:37:19","nodeType":"YulVariableDeclaration","src":"23152:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"23169:3:19","nodeType":"YulLiteral","src":"23169:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"23178:1:19","nodeType":"YulLiteral","src":"23178:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"23181:6:19","nodeType":"YulIdentifier","src":"23181:6:19"}],"functionName":{"name":"shl","nativeSrc":"23174:3:19","nodeType":"YulIdentifier","src":"23174:3:19"},"nativeSrc":"23174:14:19","nodeType":"YulFunctionCall","src":"23174:14:19"}],"functionName":{"name":"sub","nativeSrc":"23165:3:19","nodeType":"YulIdentifier","src":"23165:3:19"},"nativeSrc":"23165:24:19","nodeType":"YulFunctionCall","src":"23165:24:19"},"variables":[{"name":"shift","nativeSrc":"23156:5:19","nodeType":"YulTypedName","src":"23156:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"23217:3:19","nodeType":"YulIdentifier","src":"23217:3:19"},{"kind":"number","nativeSrc":"23222:4:19","nodeType":"YulLiteral","src":"23222:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"23213:3:19","nodeType":"YulIdentifier","src":"23213:3:19"},"nativeSrc":"23213:14:19","nodeType":"YulFunctionCall","src":"23213:14:19"},{"arguments":[{"name":"shift","nativeSrc":"23233:5:19","nodeType":"YulIdentifier","src":"23233:5:19"},{"arguments":[{"name":"shift","nativeSrc":"23244:5:19","nodeType":"YulIdentifier","src":"23244:5:19"},{"name":"w","nativeSrc":"23251:1:19","nodeType":"YulIdentifier","src":"23251:1:19"}],"functionName":{"name":"shr","nativeSrc":"23240:3:19","nodeType":"YulIdentifier","src":"23240:3:19"},"nativeSrc":"23240:13:19","nodeType":"YulFunctionCall","src":"23240:13:19"}],"functionName":{"name":"shl","nativeSrc":"23229:3:19","nodeType":"YulIdentifier","src":"23229:3:19"},"nativeSrc":"23229:25:19","nodeType":"YulFunctionCall","src":"23229:25:19"}],"functionName":{"name":"mstore","nativeSrc":"23206:6:19","nodeType":"YulIdentifier","src":"23206:6:19"},"nativeSrc":"23206:49:19","nodeType":"YulFunctionCall","src":"23206:49:19"},"nativeSrc":"23206:49:19","nodeType":"YulExpressionStatement","src":"23206:49:19"}]},"name":"writeString","nativeSrc":"22927:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"22948:3:19","nodeType":"YulTypedName","src":"22948:3:19","type":""},{"name":"w","nativeSrc":"22953:1:19","nodeType":"YulTypedName","src":"22953:1:19","type":""}],"src":"22927:342:19"},{"nativeSrc":"23282:17:19","nodeType":"YulAssignment","src":"23282:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"23294:4:19","nodeType":"YulLiteral","src":"23294:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"23288:5:19","nodeType":"YulIdentifier","src":"23288:5:19"},"nativeSrc":"23288:11:19","nodeType":"YulFunctionCall","src":"23288:11:19"},"variableNames":[{"name":"m0","nativeSrc":"23282:2:19","nodeType":"YulIdentifier","src":"23282:2:19"}]},{"nativeSrc":"23312:17:19","nodeType":"YulAssignment","src":"23312:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"23324:4:19","nodeType":"YulLiteral","src":"23324:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"23318:5:19","nodeType":"YulIdentifier","src":"23318:5:19"},"nativeSrc":"23318:11:19","nodeType":"YulFunctionCall","src":"23318:11:19"},"variableNames":[{"name":"m1","nativeSrc":"23312:2:19","nodeType":"YulIdentifier","src":"23312:2:19"}]},{"nativeSrc":"23342:17:19","nodeType":"YulAssignment","src":"23342:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"23354:4:19","nodeType":"YulLiteral","src":"23354:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"23348:5:19","nodeType":"YulIdentifier","src":"23348:5:19"},"nativeSrc":"23348:11:19","nodeType":"YulFunctionCall","src":"23348:11:19"},"variableNames":[{"name":"m2","nativeSrc":"23342:2:19","nodeType":"YulIdentifier","src":"23342:2:19"}]},{"nativeSrc":"23372:17:19","nodeType":"YulAssignment","src":"23372:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"23384:4:19","nodeType":"YulLiteral","src":"23384:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"23378:5:19","nodeType":"YulIdentifier","src":"23378:5:19"},"nativeSrc":"23378:11:19","nodeType":"YulFunctionCall","src":"23378:11:19"},"variableNames":[{"name":"m3","nativeSrc":"23372:2:19","nodeType":"YulIdentifier","src":"23372:2:19"}]},{"nativeSrc":"23402:17:19","nodeType":"YulAssignment","src":"23402:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"23414:4:19","nodeType":"YulLiteral","src":"23414:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"23408:5:19","nodeType":"YulIdentifier","src":"23408:5:19"},"nativeSrc":"23408:11:19","nodeType":"YulFunctionCall","src":"23408:11:19"},"variableNames":[{"name":"m4","nativeSrc":"23402:2:19","nodeType":"YulIdentifier","src":"23402:2:19"}]},{"nativeSrc":"23432:17:19","nodeType":"YulAssignment","src":"23432:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"23444:4:19","nodeType":"YulLiteral","src":"23444:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"23438:5:19","nodeType":"YulIdentifier","src":"23438:5:19"},"nativeSrc":"23438:11:19","nodeType":"YulFunctionCall","src":"23438:11:19"},"variableNames":[{"name":"m5","nativeSrc":"23432:2:19","nodeType":"YulIdentifier","src":"23432:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23527:4:19","nodeType":"YulLiteral","src":"23527:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"23533:10:19","nodeType":"YulLiteral","src":"23533:10:19","type":"","value":"0x007150be"}],"functionName":{"name":"mstore","nativeSrc":"23520:6:19","nodeType":"YulIdentifier","src":"23520:6:19"},"nativeSrc":"23520:24:19","nodeType":"YulFunctionCall","src":"23520:24:19"},"nativeSrc":"23520:24:19","nodeType":"YulExpressionStatement","src":"23520:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23564:4:19","nodeType":"YulLiteral","src":"23564:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"23570:2:19","nodeType":"YulIdentifier","src":"23570:2:19"}],"functionName":{"name":"mstore","nativeSrc":"23557:6:19","nodeType":"YulIdentifier","src":"23557:6:19"},"nativeSrc":"23557:16:19","nodeType":"YulFunctionCall","src":"23557:16:19"},"nativeSrc":"23557:16:19","nodeType":"YulExpressionStatement","src":"23557:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23593:4:19","nodeType":"YulLiteral","src":"23593:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"23599:2:19","nodeType":"YulIdentifier","src":"23599:2:19"}],"functionName":{"name":"mstore","nativeSrc":"23586:6:19","nodeType":"YulIdentifier","src":"23586:6:19"},"nativeSrc":"23586:16:19","nodeType":"YulFunctionCall","src":"23586:16:19"},"nativeSrc":"23586:16:19","nodeType":"YulExpressionStatement","src":"23586:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23622:4:19","nodeType":"YulLiteral","src":"23622:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"23628:4:19","nodeType":"YulLiteral","src":"23628:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"23615:6:19","nodeType":"YulIdentifier","src":"23615:6:19"},"nativeSrc":"23615:18:19","nodeType":"YulFunctionCall","src":"23615:18:19"},"nativeSrc":"23615:18:19","nodeType":"YulExpressionStatement","src":"23615:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23658:4:19","nodeType":"YulLiteral","src":"23658:4:19","type":"","value":"0x80"},{"name":"p2","nativeSrc":"23664:2:19","nodeType":"YulIdentifier","src":"23664:2:19"}],"functionName":{"name":"writeString","nativeSrc":"23646:11:19","nodeType":"YulIdentifier","src":"23646:11:19"},"nativeSrc":"23646:21:19","nodeType":"YulFunctionCall","src":"23646:21:19"},"nativeSrc":"23646:21:19","nodeType":"YulExpressionStatement","src":"23646:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27071,"isOffset":false,"isSlot":false,"src":"23282:2:19","valueSize":1},{"declaration":27074,"isOffset":false,"isSlot":false,"src":"23312:2:19","valueSize":1},{"declaration":27077,"isOffset":false,"isSlot":false,"src":"23342:2:19","valueSize":1},{"declaration":27080,"isOffset":false,"isSlot":false,"src":"23372:2:19","valueSize":1},{"declaration":27083,"isOffset":false,"isSlot":false,"src":"23402:2:19","valueSize":1},{"declaration":27086,"isOffset":false,"isSlot":false,"src":"23432:2:19","valueSize":1},{"declaration":27063,"isOffset":false,"isSlot":false,"src":"23570:2:19","valueSize":1},{"declaration":27065,"isOffset":false,"isSlot":false,"src":"23599:2:19","valueSize":1},{"declaration":27067,"isOffset":false,"isSlot":false,"src":"23664:2:19","valueSize":1}],"id":27088,"nodeType":"InlineAssembly","src":"22904:773:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23702:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":27091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23708:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":27089,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"23686:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23686:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27093,"nodeType":"ExpressionStatement","src":"23686:27:19"},{"AST":{"nativeSrc":"23775:185:19","nodeType":"YulBlock","src":"23775:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"23796:4:19","nodeType":"YulLiteral","src":"23796:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"23802:2:19","nodeType":"YulIdentifier","src":"23802:2:19"}],"functionName":{"name":"mstore","nativeSrc":"23789:6:19","nodeType":"YulIdentifier","src":"23789:6:19"},"nativeSrc":"23789:16:19","nodeType":"YulFunctionCall","src":"23789:16:19"},"nativeSrc":"23789:16:19","nodeType":"YulExpressionStatement","src":"23789:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23825:4:19","nodeType":"YulLiteral","src":"23825:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"23831:2:19","nodeType":"YulIdentifier","src":"23831:2:19"}],"functionName":{"name":"mstore","nativeSrc":"23818:6:19","nodeType":"YulIdentifier","src":"23818:6:19"},"nativeSrc":"23818:16:19","nodeType":"YulFunctionCall","src":"23818:16:19"},"nativeSrc":"23818:16:19","nodeType":"YulExpressionStatement","src":"23818:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23854:4:19","nodeType":"YulLiteral","src":"23854:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"23860:2:19","nodeType":"YulIdentifier","src":"23860:2:19"}],"functionName":{"name":"mstore","nativeSrc":"23847:6:19","nodeType":"YulIdentifier","src":"23847:6:19"},"nativeSrc":"23847:16:19","nodeType":"YulFunctionCall","src":"23847:16:19"},"nativeSrc":"23847:16:19","nodeType":"YulExpressionStatement","src":"23847:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23883:4:19","nodeType":"YulLiteral","src":"23883:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"23889:2:19","nodeType":"YulIdentifier","src":"23889:2:19"}],"functionName":{"name":"mstore","nativeSrc":"23876:6:19","nodeType":"YulIdentifier","src":"23876:6:19"},"nativeSrc":"23876:16:19","nodeType":"YulFunctionCall","src":"23876:16:19"},"nativeSrc":"23876:16:19","nodeType":"YulExpressionStatement","src":"23876:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23912:4:19","nodeType":"YulLiteral","src":"23912:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"23918:2:19","nodeType":"YulIdentifier","src":"23918:2:19"}],"functionName":{"name":"mstore","nativeSrc":"23905:6:19","nodeType":"YulIdentifier","src":"23905:6:19"},"nativeSrc":"23905:16:19","nodeType":"YulFunctionCall","src":"23905:16:19"},"nativeSrc":"23905:16:19","nodeType":"YulExpressionStatement","src":"23905:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"23941:4:19","nodeType":"YulLiteral","src":"23941:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"23947:2:19","nodeType":"YulIdentifier","src":"23947:2:19"}],"functionName":{"name":"mstore","nativeSrc":"23934:6:19","nodeType":"YulIdentifier","src":"23934:6:19"},"nativeSrc":"23934:16:19","nodeType":"YulFunctionCall","src":"23934:16:19"},"nativeSrc":"23934:16:19","nodeType":"YulExpressionStatement","src":"23934:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27071,"isOffset":false,"isSlot":false,"src":"23802:2:19","valueSize":1},{"declaration":27074,"isOffset":false,"isSlot":false,"src":"23831:2:19","valueSize":1},{"declaration":27077,"isOffset":false,"isSlot":false,"src":"23860:2:19","valueSize":1},{"declaration":27080,"isOffset":false,"isSlot":false,"src":"23889:2:19","valueSize":1},{"declaration":27083,"isOffset":false,"isSlot":false,"src":"23918:2:19","valueSize":1},{"declaration":27086,"isOffset":false,"isSlot":false,"src":"23947:2:19","valueSize":1}],"id":27094,"nodeType":"InlineAssembly","src":"23766:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22677:3:19","parameters":{"id":27068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27063,"mutability":"mutable","name":"p0","nameLocation":"22689:2:19","nodeType":"VariableDeclaration","scope":27096,"src":"22681:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27062,"name":"address","nodeType":"ElementaryTypeName","src":"22681:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27065,"mutability":"mutable","name":"p1","nameLocation":"22701:2:19","nodeType":"VariableDeclaration","scope":27096,"src":"22693:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27064,"name":"address","nodeType":"ElementaryTypeName","src":"22693:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27067,"mutability":"mutable","name":"p2","nameLocation":"22713:2:19","nodeType":"VariableDeclaration","scope":27096,"src":"22705:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27066,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22705:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"22680:36:19"},"returnParameters":{"id":27069,"nodeType":"ParameterList","parameters":[],"src":"22731:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27125,"nodeType":"FunctionDefinition","src":"23972:744:19","nodes":[],"body":{"id":27124,"nodeType":"Block","src":"24032:684:19","nodes":[],"statements":[{"assignments":[27106],"declarations":[{"constant":false,"id":27106,"mutability":"mutable","name":"m0","nameLocation":"24050:2:19","nodeType":"VariableDeclaration","scope":27124,"src":"24042:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27105,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24042:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27107,"nodeType":"VariableDeclarationStatement","src":"24042:10:19"},{"assignments":[27109],"declarations":[{"constant":false,"id":27109,"mutability":"mutable","name":"m1","nameLocation":"24070:2:19","nodeType":"VariableDeclaration","scope":27124,"src":"24062:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27108,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24062:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27110,"nodeType":"VariableDeclarationStatement","src":"24062:10:19"},{"assignments":[27112],"declarations":[{"constant":false,"id":27112,"mutability":"mutable","name":"m2","nameLocation":"24090:2:19","nodeType":"VariableDeclaration","scope":27124,"src":"24082:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24082:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27113,"nodeType":"VariableDeclarationStatement","src":"24082:10:19"},{"assignments":[27115],"declarations":[{"constant":false,"id":27115,"mutability":"mutable","name":"m3","nameLocation":"24110:2:19","nodeType":"VariableDeclaration","scope":27124,"src":"24102:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27114,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24102:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27116,"nodeType":"VariableDeclarationStatement","src":"24102:10:19"},{"AST":{"nativeSrc":"24174:311:19","nodeType":"YulBlock","src":"24174:311:19","statements":[{"nativeSrc":"24188:17:19","nodeType":"YulAssignment","src":"24188:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"24200:4:19","nodeType":"YulLiteral","src":"24200:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"24194:5:19","nodeType":"YulIdentifier","src":"24194:5:19"},"nativeSrc":"24194:11:19","nodeType":"YulFunctionCall","src":"24194:11:19"},"variableNames":[{"name":"m0","nativeSrc":"24188:2:19","nodeType":"YulIdentifier","src":"24188:2:19"}]},{"nativeSrc":"24218:17:19","nodeType":"YulAssignment","src":"24218:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"24230:4:19","nodeType":"YulLiteral","src":"24230:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"24224:5:19","nodeType":"YulIdentifier","src":"24224:5:19"},"nativeSrc":"24224:11:19","nodeType":"YulFunctionCall","src":"24224:11:19"},"variableNames":[{"name":"m1","nativeSrc":"24218:2:19","nodeType":"YulIdentifier","src":"24218:2:19"}]},{"nativeSrc":"24248:17:19","nodeType":"YulAssignment","src":"24248:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"24260:4:19","nodeType":"YulLiteral","src":"24260:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"24254:5:19","nodeType":"YulIdentifier","src":"24254:5:19"},"nativeSrc":"24254:11:19","nodeType":"YulFunctionCall","src":"24254:11:19"},"variableNames":[{"name":"m2","nativeSrc":"24248:2:19","nodeType":"YulIdentifier","src":"24248:2:19"}]},{"nativeSrc":"24278:17:19","nodeType":"YulAssignment","src":"24278:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"24290:4:19","nodeType":"YulLiteral","src":"24290:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"24284:5:19","nodeType":"YulIdentifier","src":"24284:5:19"},"nativeSrc":"24284:11:19","nodeType":"YulFunctionCall","src":"24284:11:19"},"variableNames":[{"name":"m3","nativeSrc":"24278:2:19","nodeType":"YulIdentifier","src":"24278:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24371:4:19","nodeType":"YulLiteral","src":"24371:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"24377:10:19","nodeType":"YulLiteral","src":"24377:10:19","type":"","value":"0xf11699ed"}],"functionName":{"name":"mstore","nativeSrc":"24364:6:19","nodeType":"YulIdentifier","src":"24364:6:19"},"nativeSrc":"24364:24:19","nodeType":"YulFunctionCall","src":"24364:24:19"},"nativeSrc":"24364:24:19","nodeType":"YulExpressionStatement","src":"24364:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24408:4:19","nodeType":"YulLiteral","src":"24408:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"24414:2:19","nodeType":"YulIdentifier","src":"24414:2:19"}],"functionName":{"name":"mstore","nativeSrc":"24401:6:19","nodeType":"YulIdentifier","src":"24401:6:19"},"nativeSrc":"24401:16:19","nodeType":"YulFunctionCall","src":"24401:16:19"},"nativeSrc":"24401:16:19","nodeType":"YulExpressionStatement","src":"24401:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24437:4:19","nodeType":"YulLiteral","src":"24437:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"24443:2:19","nodeType":"YulIdentifier","src":"24443:2:19"}],"functionName":{"name":"mstore","nativeSrc":"24430:6:19","nodeType":"YulIdentifier","src":"24430:6:19"},"nativeSrc":"24430:16:19","nodeType":"YulFunctionCall","src":"24430:16:19"},"nativeSrc":"24430:16:19","nodeType":"YulExpressionStatement","src":"24430:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24466:4:19","nodeType":"YulLiteral","src":"24466:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"24472:2:19","nodeType":"YulIdentifier","src":"24472:2:19"}],"functionName":{"name":"mstore","nativeSrc":"24459:6:19","nodeType":"YulIdentifier","src":"24459:6:19"},"nativeSrc":"24459:16:19","nodeType":"YulFunctionCall","src":"24459:16:19"},"nativeSrc":"24459:16:19","nodeType":"YulExpressionStatement","src":"24459:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27106,"isOffset":false,"isSlot":false,"src":"24188:2:19","valueSize":1},{"declaration":27109,"isOffset":false,"isSlot":false,"src":"24218:2:19","valueSize":1},{"declaration":27112,"isOffset":false,"isSlot":false,"src":"24248:2:19","valueSize":1},{"declaration":27115,"isOffset":false,"isSlot":false,"src":"24278:2:19","valueSize":1},{"declaration":27098,"isOffset":false,"isSlot":false,"src":"24414:2:19","valueSize":1},{"declaration":27100,"isOffset":false,"isSlot":false,"src":"24443:2:19","valueSize":1},{"declaration":27102,"isOffset":false,"isSlot":false,"src":"24472:2:19","valueSize":1}],"id":27117,"nodeType":"InlineAssembly","src":"24165:320:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24510:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24516:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27118,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"24494:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24494:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27122,"nodeType":"ExpressionStatement","src":"24494:27:19"},{"AST":{"nativeSrc":"24583:127:19","nodeType":"YulBlock","src":"24583:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"24604:4:19","nodeType":"YulLiteral","src":"24604:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"24610:2:19","nodeType":"YulIdentifier","src":"24610:2:19"}],"functionName":{"name":"mstore","nativeSrc":"24597:6:19","nodeType":"YulIdentifier","src":"24597:6:19"},"nativeSrc":"24597:16:19","nodeType":"YulFunctionCall","src":"24597:16:19"},"nativeSrc":"24597:16:19","nodeType":"YulExpressionStatement","src":"24597:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24633:4:19","nodeType":"YulLiteral","src":"24633:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"24639:2:19","nodeType":"YulIdentifier","src":"24639:2:19"}],"functionName":{"name":"mstore","nativeSrc":"24626:6:19","nodeType":"YulIdentifier","src":"24626:6:19"},"nativeSrc":"24626:16:19","nodeType":"YulFunctionCall","src":"24626:16:19"},"nativeSrc":"24626:16:19","nodeType":"YulExpressionStatement","src":"24626:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24662:4:19","nodeType":"YulLiteral","src":"24662:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"24668:2:19","nodeType":"YulIdentifier","src":"24668:2:19"}],"functionName":{"name":"mstore","nativeSrc":"24655:6:19","nodeType":"YulIdentifier","src":"24655:6:19"},"nativeSrc":"24655:16:19","nodeType":"YulFunctionCall","src":"24655:16:19"},"nativeSrc":"24655:16:19","nodeType":"YulExpressionStatement","src":"24655:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"24691:4:19","nodeType":"YulLiteral","src":"24691:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"24697:2:19","nodeType":"YulIdentifier","src":"24697:2:19"}],"functionName":{"name":"mstore","nativeSrc":"24684:6:19","nodeType":"YulIdentifier","src":"24684:6:19"},"nativeSrc":"24684:16:19","nodeType":"YulFunctionCall","src":"24684:16:19"},"nativeSrc":"24684:16:19","nodeType":"YulExpressionStatement","src":"24684:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27106,"isOffset":false,"isSlot":false,"src":"24610:2:19","valueSize":1},{"declaration":27109,"isOffset":false,"isSlot":false,"src":"24639:2:19","valueSize":1},{"declaration":27112,"isOffset":false,"isSlot":false,"src":"24668:2:19","valueSize":1},{"declaration":27115,"isOffset":false,"isSlot":false,"src":"24697:2:19","valueSize":1}],"id":27123,"nodeType":"InlineAssembly","src":"24574:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23981:3:19","parameters":{"id":27103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27098,"mutability":"mutable","name":"p0","nameLocation":"23993:2:19","nodeType":"VariableDeclaration","scope":27125,"src":"23985:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27097,"name":"address","nodeType":"ElementaryTypeName","src":"23985:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27100,"mutability":"mutable","name":"p1","nameLocation":"24002:2:19","nodeType":"VariableDeclaration","scope":27125,"src":"23997:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27099,"name":"bool","nodeType":"ElementaryTypeName","src":"23997:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27102,"mutability":"mutable","name":"p2","nameLocation":"24014:2:19","nodeType":"VariableDeclaration","scope":27125,"src":"24006:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27101,"name":"address","nodeType":"ElementaryTypeName","src":"24006:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23984:33:19"},"returnParameters":{"id":27104,"nodeType":"ParameterList","parameters":[],"src":"24032:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27154,"nodeType":"FunctionDefinition","src":"24722:738:19","nodes":[],"body":{"id":27153,"nodeType":"Block","src":"24779:681:19","nodes":[],"statements":[{"assignments":[27135],"declarations":[{"constant":false,"id":27135,"mutability":"mutable","name":"m0","nameLocation":"24797:2:19","nodeType":"VariableDeclaration","scope":27153,"src":"24789:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27134,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24789:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27136,"nodeType":"VariableDeclarationStatement","src":"24789:10:19"},{"assignments":[27138],"declarations":[{"constant":false,"id":27138,"mutability":"mutable","name":"m1","nameLocation":"24817:2:19","nodeType":"VariableDeclaration","scope":27153,"src":"24809:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27137,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24809:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27139,"nodeType":"VariableDeclarationStatement","src":"24809:10:19"},{"assignments":[27141],"declarations":[{"constant":false,"id":27141,"mutability":"mutable","name":"m2","nameLocation":"24837:2:19","nodeType":"VariableDeclaration","scope":27153,"src":"24829:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27140,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24829:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27142,"nodeType":"VariableDeclarationStatement","src":"24829:10:19"},{"assignments":[27144],"declarations":[{"constant":false,"id":27144,"mutability":"mutable","name":"m3","nameLocation":"24857:2:19","nodeType":"VariableDeclaration","scope":27153,"src":"24849:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27143,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24849:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27145,"nodeType":"VariableDeclarationStatement","src":"24849:10:19"},{"AST":{"nativeSrc":"24921:308:19","nodeType":"YulBlock","src":"24921:308:19","statements":[{"nativeSrc":"24935:17:19","nodeType":"YulAssignment","src":"24935:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"24947:4:19","nodeType":"YulLiteral","src":"24947:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"24941:5:19","nodeType":"YulIdentifier","src":"24941:5:19"},"nativeSrc":"24941:11:19","nodeType":"YulFunctionCall","src":"24941:11:19"},"variableNames":[{"name":"m0","nativeSrc":"24935:2:19","nodeType":"YulIdentifier","src":"24935:2:19"}]},{"nativeSrc":"24965:17:19","nodeType":"YulAssignment","src":"24965:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"24977:4:19","nodeType":"YulLiteral","src":"24977:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"24971:5:19","nodeType":"YulIdentifier","src":"24971:5:19"},"nativeSrc":"24971:11:19","nodeType":"YulFunctionCall","src":"24971:11:19"},"variableNames":[{"name":"m1","nativeSrc":"24965:2:19","nodeType":"YulIdentifier","src":"24965:2:19"}]},{"nativeSrc":"24995:17:19","nodeType":"YulAssignment","src":"24995:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"25007:4:19","nodeType":"YulLiteral","src":"25007:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"25001:5:19","nodeType":"YulIdentifier","src":"25001:5:19"},"nativeSrc":"25001:11:19","nodeType":"YulFunctionCall","src":"25001:11:19"},"variableNames":[{"name":"m2","nativeSrc":"24995:2:19","nodeType":"YulIdentifier","src":"24995:2:19"}]},{"nativeSrc":"25025:17:19","nodeType":"YulAssignment","src":"25025:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"25037:4:19","nodeType":"YulLiteral","src":"25037:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"25031:5:19","nodeType":"YulIdentifier","src":"25031:5:19"},"nativeSrc":"25031:11:19","nodeType":"YulFunctionCall","src":"25031:11:19"},"variableNames":[{"name":"m3","nativeSrc":"25025:2:19","nodeType":"YulIdentifier","src":"25025:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25115:4:19","nodeType":"YulLiteral","src":"25115:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"25121:10:19","nodeType":"YulLiteral","src":"25121:10:19","type":"","value":"0xeb830c92"}],"functionName":{"name":"mstore","nativeSrc":"25108:6:19","nodeType":"YulIdentifier","src":"25108:6:19"},"nativeSrc":"25108:24:19","nodeType":"YulFunctionCall","src":"25108:24:19"},"nativeSrc":"25108:24:19","nodeType":"YulExpressionStatement","src":"25108:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25152:4:19","nodeType":"YulLiteral","src":"25152:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"25158:2:19","nodeType":"YulIdentifier","src":"25158:2:19"}],"functionName":{"name":"mstore","nativeSrc":"25145:6:19","nodeType":"YulIdentifier","src":"25145:6:19"},"nativeSrc":"25145:16:19","nodeType":"YulFunctionCall","src":"25145:16:19"},"nativeSrc":"25145:16:19","nodeType":"YulExpressionStatement","src":"25145:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25181:4:19","nodeType":"YulLiteral","src":"25181:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"25187:2:19","nodeType":"YulIdentifier","src":"25187:2:19"}],"functionName":{"name":"mstore","nativeSrc":"25174:6:19","nodeType":"YulIdentifier","src":"25174:6:19"},"nativeSrc":"25174:16:19","nodeType":"YulFunctionCall","src":"25174:16:19"},"nativeSrc":"25174:16:19","nodeType":"YulExpressionStatement","src":"25174:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25210:4:19","nodeType":"YulLiteral","src":"25210:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"25216:2:19","nodeType":"YulIdentifier","src":"25216:2:19"}],"functionName":{"name":"mstore","nativeSrc":"25203:6:19","nodeType":"YulIdentifier","src":"25203:6:19"},"nativeSrc":"25203:16:19","nodeType":"YulFunctionCall","src":"25203:16:19"},"nativeSrc":"25203:16:19","nodeType":"YulExpressionStatement","src":"25203:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27135,"isOffset":false,"isSlot":false,"src":"24935:2:19","valueSize":1},{"declaration":27138,"isOffset":false,"isSlot":false,"src":"24965:2:19","valueSize":1},{"declaration":27141,"isOffset":false,"isSlot":false,"src":"24995:2:19","valueSize":1},{"declaration":27144,"isOffset":false,"isSlot":false,"src":"25025:2:19","valueSize":1},{"declaration":27127,"isOffset":false,"isSlot":false,"src":"25158:2:19","valueSize":1},{"declaration":27129,"isOffset":false,"isSlot":false,"src":"25187:2:19","valueSize":1},{"declaration":27131,"isOffset":false,"isSlot":false,"src":"25216:2:19","valueSize":1}],"id":27146,"nodeType":"InlineAssembly","src":"24912:317:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25254:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25260:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27147,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"25238:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25238:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27151,"nodeType":"ExpressionStatement","src":"25238:27:19"},{"AST":{"nativeSrc":"25327:127:19","nodeType":"YulBlock","src":"25327:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"25348:4:19","nodeType":"YulLiteral","src":"25348:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"25354:2:19","nodeType":"YulIdentifier","src":"25354:2:19"}],"functionName":{"name":"mstore","nativeSrc":"25341:6:19","nodeType":"YulIdentifier","src":"25341:6:19"},"nativeSrc":"25341:16:19","nodeType":"YulFunctionCall","src":"25341:16:19"},"nativeSrc":"25341:16:19","nodeType":"YulExpressionStatement","src":"25341:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25377:4:19","nodeType":"YulLiteral","src":"25377:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"25383:2:19","nodeType":"YulIdentifier","src":"25383:2:19"}],"functionName":{"name":"mstore","nativeSrc":"25370:6:19","nodeType":"YulIdentifier","src":"25370:6:19"},"nativeSrc":"25370:16:19","nodeType":"YulFunctionCall","src":"25370:16:19"},"nativeSrc":"25370:16:19","nodeType":"YulExpressionStatement","src":"25370:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25406:4:19","nodeType":"YulLiteral","src":"25406:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"25412:2:19","nodeType":"YulIdentifier","src":"25412:2:19"}],"functionName":{"name":"mstore","nativeSrc":"25399:6:19","nodeType":"YulIdentifier","src":"25399:6:19"},"nativeSrc":"25399:16:19","nodeType":"YulFunctionCall","src":"25399:16:19"},"nativeSrc":"25399:16:19","nodeType":"YulExpressionStatement","src":"25399:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25435:4:19","nodeType":"YulLiteral","src":"25435:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"25441:2:19","nodeType":"YulIdentifier","src":"25441:2:19"}],"functionName":{"name":"mstore","nativeSrc":"25428:6:19","nodeType":"YulIdentifier","src":"25428:6:19"},"nativeSrc":"25428:16:19","nodeType":"YulFunctionCall","src":"25428:16:19"},"nativeSrc":"25428:16:19","nodeType":"YulExpressionStatement","src":"25428:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27135,"isOffset":false,"isSlot":false,"src":"25354:2:19","valueSize":1},{"declaration":27138,"isOffset":false,"isSlot":false,"src":"25383:2:19","valueSize":1},{"declaration":27141,"isOffset":false,"isSlot":false,"src":"25412:2:19","valueSize":1},{"declaration":27144,"isOffset":false,"isSlot":false,"src":"25441:2:19","valueSize":1}],"id":27152,"nodeType":"InlineAssembly","src":"25318:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24731:3:19","parameters":{"id":27132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27127,"mutability":"mutable","name":"p0","nameLocation":"24743:2:19","nodeType":"VariableDeclaration","scope":27154,"src":"24735:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27126,"name":"address","nodeType":"ElementaryTypeName","src":"24735:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27129,"mutability":"mutable","name":"p1","nameLocation":"24752:2:19","nodeType":"VariableDeclaration","scope":27154,"src":"24747:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27128,"name":"bool","nodeType":"ElementaryTypeName","src":"24747:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27131,"mutability":"mutable","name":"p2","nameLocation":"24761:2:19","nodeType":"VariableDeclaration","scope":27154,"src":"24756:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27130,"name":"bool","nodeType":"ElementaryTypeName","src":"24756:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24734:30:19"},"returnParameters":{"id":27133,"nodeType":"ParameterList","parameters":[],"src":"24779:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27183,"nodeType":"FunctionDefinition","src":"25466:744:19","nodes":[],"body":{"id":27182,"nodeType":"Block","src":"25526:684:19","nodes":[],"statements":[{"assignments":[27164],"declarations":[{"constant":false,"id":27164,"mutability":"mutable","name":"m0","nameLocation":"25544:2:19","nodeType":"VariableDeclaration","scope":27182,"src":"25536:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27163,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25536:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27165,"nodeType":"VariableDeclarationStatement","src":"25536:10:19"},{"assignments":[27167],"declarations":[{"constant":false,"id":27167,"mutability":"mutable","name":"m1","nameLocation":"25564:2:19","nodeType":"VariableDeclaration","scope":27182,"src":"25556:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27166,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25556:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27168,"nodeType":"VariableDeclarationStatement","src":"25556:10:19"},{"assignments":[27170],"declarations":[{"constant":false,"id":27170,"mutability":"mutable","name":"m2","nameLocation":"25584:2:19","nodeType":"VariableDeclaration","scope":27182,"src":"25576:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27169,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25576:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27171,"nodeType":"VariableDeclarationStatement","src":"25576:10:19"},{"assignments":[27173],"declarations":[{"constant":false,"id":27173,"mutability":"mutable","name":"m3","nameLocation":"25604:2:19","nodeType":"VariableDeclaration","scope":27182,"src":"25596:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27172,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25596:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27174,"nodeType":"VariableDeclarationStatement","src":"25596:10:19"},{"AST":{"nativeSrc":"25668:311:19","nodeType":"YulBlock","src":"25668:311:19","statements":[{"nativeSrc":"25682:17:19","nodeType":"YulAssignment","src":"25682:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"25694:4:19","nodeType":"YulLiteral","src":"25694:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"25688:5:19","nodeType":"YulIdentifier","src":"25688:5:19"},"nativeSrc":"25688:11:19","nodeType":"YulFunctionCall","src":"25688:11:19"},"variableNames":[{"name":"m0","nativeSrc":"25682:2:19","nodeType":"YulIdentifier","src":"25682:2:19"}]},{"nativeSrc":"25712:17:19","nodeType":"YulAssignment","src":"25712:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"25724:4:19","nodeType":"YulLiteral","src":"25724:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"25718:5:19","nodeType":"YulIdentifier","src":"25718:5:19"},"nativeSrc":"25718:11:19","nodeType":"YulFunctionCall","src":"25718:11:19"},"variableNames":[{"name":"m1","nativeSrc":"25712:2:19","nodeType":"YulIdentifier","src":"25712:2:19"}]},{"nativeSrc":"25742:17:19","nodeType":"YulAssignment","src":"25742:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"25754:4:19","nodeType":"YulLiteral","src":"25754:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"25748:5:19","nodeType":"YulIdentifier","src":"25748:5:19"},"nativeSrc":"25748:11:19","nodeType":"YulFunctionCall","src":"25748:11:19"},"variableNames":[{"name":"m2","nativeSrc":"25742:2:19","nodeType":"YulIdentifier","src":"25742:2:19"}]},{"nativeSrc":"25772:17:19","nodeType":"YulAssignment","src":"25772:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"25784:4:19","nodeType":"YulLiteral","src":"25784:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"25778:5:19","nodeType":"YulIdentifier","src":"25778:5:19"},"nativeSrc":"25778:11:19","nodeType":"YulFunctionCall","src":"25778:11:19"},"variableNames":[{"name":"m3","nativeSrc":"25772:2:19","nodeType":"YulIdentifier","src":"25772:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25865:4:19","nodeType":"YulLiteral","src":"25865:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"25871:10:19","nodeType":"YulLiteral","src":"25871:10:19","type":"","value":"0x9c4f99fb"}],"functionName":{"name":"mstore","nativeSrc":"25858:6:19","nodeType":"YulIdentifier","src":"25858:6:19"},"nativeSrc":"25858:24:19","nodeType":"YulFunctionCall","src":"25858:24:19"},"nativeSrc":"25858:24:19","nodeType":"YulExpressionStatement","src":"25858:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25902:4:19","nodeType":"YulLiteral","src":"25902:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"25908:2:19","nodeType":"YulIdentifier","src":"25908:2:19"}],"functionName":{"name":"mstore","nativeSrc":"25895:6:19","nodeType":"YulIdentifier","src":"25895:6:19"},"nativeSrc":"25895:16:19","nodeType":"YulFunctionCall","src":"25895:16:19"},"nativeSrc":"25895:16:19","nodeType":"YulExpressionStatement","src":"25895:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25931:4:19","nodeType":"YulLiteral","src":"25931:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"25937:2:19","nodeType":"YulIdentifier","src":"25937:2:19"}],"functionName":{"name":"mstore","nativeSrc":"25924:6:19","nodeType":"YulIdentifier","src":"25924:6:19"},"nativeSrc":"25924:16:19","nodeType":"YulFunctionCall","src":"25924:16:19"},"nativeSrc":"25924:16:19","nodeType":"YulExpressionStatement","src":"25924:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"25960:4:19","nodeType":"YulLiteral","src":"25960:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"25966:2:19","nodeType":"YulIdentifier","src":"25966:2:19"}],"functionName":{"name":"mstore","nativeSrc":"25953:6:19","nodeType":"YulIdentifier","src":"25953:6:19"},"nativeSrc":"25953:16:19","nodeType":"YulFunctionCall","src":"25953:16:19"},"nativeSrc":"25953:16:19","nodeType":"YulExpressionStatement","src":"25953:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27164,"isOffset":false,"isSlot":false,"src":"25682:2:19","valueSize":1},{"declaration":27167,"isOffset":false,"isSlot":false,"src":"25712:2:19","valueSize":1},{"declaration":27170,"isOffset":false,"isSlot":false,"src":"25742:2:19","valueSize":1},{"declaration":27173,"isOffset":false,"isSlot":false,"src":"25772:2:19","valueSize":1},{"declaration":27156,"isOffset":false,"isSlot":false,"src":"25908:2:19","valueSize":1},{"declaration":27158,"isOffset":false,"isSlot":false,"src":"25937:2:19","valueSize":1},{"declaration":27160,"isOffset":false,"isSlot":false,"src":"25966:2:19","valueSize":1}],"id":27175,"nodeType":"InlineAssembly","src":"25659:320:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26004:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26010:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27176,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"25988:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25988:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27180,"nodeType":"ExpressionStatement","src":"25988:27:19"},{"AST":{"nativeSrc":"26077:127:19","nodeType":"YulBlock","src":"26077:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"26098:4:19","nodeType":"YulLiteral","src":"26098:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"26104:2:19","nodeType":"YulIdentifier","src":"26104:2:19"}],"functionName":{"name":"mstore","nativeSrc":"26091:6:19","nodeType":"YulIdentifier","src":"26091:6:19"},"nativeSrc":"26091:16:19","nodeType":"YulFunctionCall","src":"26091:16:19"},"nativeSrc":"26091:16:19","nodeType":"YulExpressionStatement","src":"26091:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"26127:4:19","nodeType":"YulLiteral","src":"26127:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"26133:2:19","nodeType":"YulIdentifier","src":"26133:2:19"}],"functionName":{"name":"mstore","nativeSrc":"26120:6:19","nodeType":"YulIdentifier","src":"26120:6:19"},"nativeSrc":"26120:16:19","nodeType":"YulFunctionCall","src":"26120:16:19"},"nativeSrc":"26120:16:19","nodeType":"YulExpressionStatement","src":"26120:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"26156:4:19","nodeType":"YulLiteral","src":"26156:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"26162:2:19","nodeType":"YulIdentifier","src":"26162:2:19"}],"functionName":{"name":"mstore","nativeSrc":"26149:6:19","nodeType":"YulIdentifier","src":"26149:6:19"},"nativeSrc":"26149:16:19","nodeType":"YulFunctionCall","src":"26149:16:19"},"nativeSrc":"26149:16:19","nodeType":"YulExpressionStatement","src":"26149:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"26185:4:19","nodeType":"YulLiteral","src":"26185:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"26191:2:19","nodeType":"YulIdentifier","src":"26191:2:19"}],"functionName":{"name":"mstore","nativeSrc":"26178:6:19","nodeType":"YulIdentifier","src":"26178:6:19"},"nativeSrc":"26178:16:19","nodeType":"YulFunctionCall","src":"26178:16:19"},"nativeSrc":"26178:16:19","nodeType":"YulExpressionStatement","src":"26178:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27164,"isOffset":false,"isSlot":false,"src":"26104:2:19","valueSize":1},{"declaration":27167,"isOffset":false,"isSlot":false,"src":"26133:2:19","valueSize":1},{"declaration":27170,"isOffset":false,"isSlot":false,"src":"26162:2:19","valueSize":1},{"declaration":27173,"isOffset":false,"isSlot":false,"src":"26191:2:19","valueSize":1}],"id":27181,"nodeType":"InlineAssembly","src":"26068:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25475:3:19","parameters":{"id":27161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27156,"mutability":"mutable","name":"p0","nameLocation":"25487:2:19","nodeType":"VariableDeclaration","scope":27183,"src":"25479:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27155,"name":"address","nodeType":"ElementaryTypeName","src":"25479:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27158,"mutability":"mutable","name":"p1","nameLocation":"25496:2:19","nodeType":"VariableDeclaration","scope":27183,"src":"25491:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27157,"name":"bool","nodeType":"ElementaryTypeName","src":"25491:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27160,"mutability":"mutable","name":"p2","nameLocation":"25508:2:19","nodeType":"VariableDeclaration","scope":27183,"src":"25500:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27159,"name":"uint256","nodeType":"ElementaryTypeName","src":"25500:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25478:33:19"},"returnParameters":{"id":27162,"nodeType":"ParameterList","parameters":[],"src":"25526:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27218,"nodeType":"FunctionDefinition","src":"26216:1292:19","nodes":[],"body":{"id":27217,"nodeType":"Block","src":"26276:1232:19","nodes":[],"statements":[{"assignments":[27193],"declarations":[{"constant":false,"id":27193,"mutability":"mutable","name":"m0","nameLocation":"26294:2:19","nodeType":"VariableDeclaration","scope":27217,"src":"26286:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27192,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26286:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27194,"nodeType":"VariableDeclarationStatement","src":"26286:10:19"},{"assignments":[27196],"declarations":[{"constant":false,"id":27196,"mutability":"mutable","name":"m1","nameLocation":"26314:2:19","nodeType":"VariableDeclaration","scope":27217,"src":"26306:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27195,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26306:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27197,"nodeType":"VariableDeclarationStatement","src":"26306:10:19"},{"assignments":[27199],"declarations":[{"constant":false,"id":27199,"mutability":"mutable","name":"m2","nameLocation":"26334:2:19","nodeType":"VariableDeclaration","scope":27217,"src":"26326:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27198,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26326:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27200,"nodeType":"VariableDeclarationStatement","src":"26326:10:19"},{"assignments":[27202],"declarations":[{"constant":false,"id":27202,"mutability":"mutable","name":"m3","nameLocation":"26354:2:19","nodeType":"VariableDeclaration","scope":27217,"src":"26346:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27201,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26346:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27203,"nodeType":"VariableDeclarationStatement","src":"26346:10:19"},{"assignments":[27205],"declarations":[{"constant":false,"id":27205,"mutability":"mutable","name":"m4","nameLocation":"26374:2:19","nodeType":"VariableDeclaration","scope":27217,"src":"26366:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27204,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26366:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27206,"nodeType":"VariableDeclarationStatement","src":"26366:10:19"},{"assignments":[27208],"declarations":[{"constant":false,"id":27208,"mutability":"mutable","name":"m5","nameLocation":"26394:2:19","nodeType":"VariableDeclaration","scope":27217,"src":"26386:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27207,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26386:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27209,"nodeType":"VariableDeclarationStatement","src":"26386:10:19"},{"AST":{"nativeSrc":"26458:761:19","nodeType":"YulBlock","src":"26458:761:19","statements":[{"body":{"nativeSrc":"26501:313:19","nodeType":"YulBlock","src":"26501:313:19","statements":[{"nativeSrc":"26519:15:19","nodeType":"YulVariableDeclaration","src":"26519:15:19","value":{"kind":"number","nativeSrc":"26533:1:19","nodeType":"YulLiteral","src":"26533:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"26523:6:19","nodeType":"YulTypedName","src":"26523:6:19","type":""}]},{"body":{"nativeSrc":"26604:40:19","nodeType":"YulBlock","src":"26604:40:19","statements":[{"body":{"nativeSrc":"26633:9:19","nodeType":"YulBlock","src":"26633:9:19","statements":[{"nativeSrc":"26635:5:19","nodeType":"YulBreak","src":"26635:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"26621:6:19","nodeType":"YulIdentifier","src":"26621:6:19"},{"name":"w","nativeSrc":"26629:1:19","nodeType":"YulIdentifier","src":"26629:1:19"}],"functionName":{"name":"byte","nativeSrc":"26616:4:19","nodeType":"YulIdentifier","src":"26616:4:19"},"nativeSrc":"26616:15:19","nodeType":"YulFunctionCall","src":"26616:15:19"}],"functionName":{"name":"iszero","nativeSrc":"26609:6:19","nodeType":"YulIdentifier","src":"26609:6:19"},"nativeSrc":"26609:23:19","nodeType":"YulFunctionCall","src":"26609:23:19"},"nativeSrc":"26606:36:19","nodeType":"YulIf","src":"26606:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"26561:6:19","nodeType":"YulIdentifier","src":"26561:6:19"},{"kind":"number","nativeSrc":"26569:4:19","nodeType":"YulLiteral","src":"26569:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"26558:2:19","nodeType":"YulIdentifier","src":"26558:2:19"},"nativeSrc":"26558:16:19","nodeType":"YulFunctionCall","src":"26558:16:19"},"nativeSrc":"26551:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"26575:28:19","nodeType":"YulBlock","src":"26575:28:19","statements":[{"nativeSrc":"26577:24:19","nodeType":"YulAssignment","src":"26577:24:19","value":{"arguments":[{"name":"length","nativeSrc":"26591:6:19","nodeType":"YulIdentifier","src":"26591:6:19"},{"kind":"number","nativeSrc":"26599:1:19","nodeType":"YulLiteral","src":"26599:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"26587:3:19","nodeType":"YulIdentifier","src":"26587:3:19"},"nativeSrc":"26587:14:19","nodeType":"YulFunctionCall","src":"26587:14:19"},"variableNames":[{"name":"length","nativeSrc":"26577:6:19","nodeType":"YulIdentifier","src":"26577:6:19"}]}]},"pre":{"nativeSrc":"26555:2:19","nodeType":"YulBlock","src":"26555:2:19","statements":[]},"src":"26551:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"26668:3:19","nodeType":"YulIdentifier","src":"26668:3:19"},{"name":"length","nativeSrc":"26673:6:19","nodeType":"YulIdentifier","src":"26673:6:19"}],"functionName":{"name":"mstore","nativeSrc":"26661:6:19","nodeType":"YulIdentifier","src":"26661:6:19"},"nativeSrc":"26661:19:19","nodeType":"YulFunctionCall","src":"26661:19:19"},"nativeSrc":"26661:19:19","nodeType":"YulExpressionStatement","src":"26661:19:19"},{"nativeSrc":"26697:37:19","nodeType":"YulVariableDeclaration","src":"26697:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"26714:3:19","nodeType":"YulLiteral","src":"26714:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"26723:1:19","nodeType":"YulLiteral","src":"26723:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"26726:6:19","nodeType":"YulIdentifier","src":"26726:6:19"}],"functionName":{"name":"shl","nativeSrc":"26719:3:19","nodeType":"YulIdentifier","src":"26719:3:19"},"nativeSrc":"26719:14:19","nodeType":"YulFunctionCall","src":"26719:14:19"}],"functionName":{"name":"sub","nativeSrc":"26710:3:19","nodeType":"YulIdentifier","src":"26710:3:19"},"nativeSrc":"26710:24:19","nodeType":"YulFunctionCall","src":"26710:24:19"},"variables":[{"name":"shift","nativeSrc":"26701:5:19","nodeType":"YulTypedName","src":"26701:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"26762:3:19","nodeType":"YulIdentifier","src":"26762:3:19"},{"kind":"number","nativeSrc":"26767:4:19","nodeType":"YulLiteral","src":"26767:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"26758:3:19","nodeType":"YulIdentifier","src":"26758:3:19"},"nativeSrc":"26758:14:19","nodeType":"YulFunctionCall","src":"26758:14:19"},{"arguments":[{"name":"shift","nativeSrc":"26778:5:19","nodeType":"YulIdentifier","src":"26778:5:19"},{"arguments":[{"name":"shift","nativeSrc":"26789:5:19","nodeType":"YulIdentifier","src":"26789:5:19"},{"name":"w","nativeSrc":"26796:1:19","nodeType":"YulIdentifier","src":"26796:1:19"}],"functionName":{"name":"shr","nativeSrc":"26785:3:19","nodeType":"YulIdentifier","src":"26785:3:19"},"nativeSrc":"26785:13:19","nodeType":"YulFunctionCall","src":"26785:13:19"}],"functionName":{"name":"shl","nativeSrc":"26774:3:19","nodeType":"YulIdentifier","src":"26774:3:19"},"nativeSrc":"26774:25:19","nodeType":"YulFunctionCall","src":"26774:25:19"}],"functionName":{"name":"mstore","nativeSrc":"26751:6:19","nodeType":"YulIdentifier","src":"26751:6:19"},"nativeSrc":"26751:49:19","nodeType":"YulFunctionCall","src":"26751:49:19"},"nativeSrc":"26751:49:19","nodeType":"YulExpressionStatement","src":"26751:49:19"}]},"name":"writeString","nativeSrc":"26472:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"26493:3:19","nodeType":"YulTypedName","src":"26493:3:19","type":""},{"name":"w","nativeSrc":"26498:1:19","nodeType":"YulTypedName","src":"26498:1:19","type":""}],"src":"26472:342:19"},{"nativeSrc":"26827:17:19","nodeType":"YulAssignment","src":"26827:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"26839:4:19","nodeType":"YulLiteral","src":"26839:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"26833:5:19","nodeType":"YulIdentifier","src":"26833:5:19"},"nativeSrc":"26833:11:19","nodeType":"YulFunctionCall","src":"26833:11:19"},"variableNames":[{"name":"m0","nativeSrc":"26827:2:19","nodeType":"YulIdentifier","src":"26827:2:19"}]},{"nativeSrc":"26857:17:19","nodeType":"YulAssignment","src":"26857:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"26869:4:19","nodeType":"YulLiteral","src":"26869:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"26863:5:19","nodeType":"YulIdentifier","src":"26863:5:19"},"nativeSrc":"26863:11:19","nodeType":"YulFunctionCall","src":"26863:11:19"},"variableNames":[{"name":"m1","nativeSrc":"26857:2:19","nodeType":"YulIdentifier","src":"26857:2:19"}]},{"nativeSrc":"26887:17:19","nodeType":"YulAssignment","src":"26887:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"26899:4:19","nodeType":"YulLiteral","src":"26899:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"26893:5:19","nodeType":"YulIdentifier","src":"26893:5:19"},"nativeSrc":"26893:11:19","nodeType":"YulFunctionCall","src":"26893:11:19"},"variableNames":[{"name":"m2","nativeSrc":"26887:2:19","nodeType":"YulIdentifier","src":"26887:2:19"}]},{"nativeSrc":"26917:17:19","nodeType":"YulAssignment","src":"26917:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"26929:4:19","nodeType":"YulLiteral","src":"26929:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"26923:5:19","nodeType":"YulIdentifier","src":"26923:5:19"},"nativeSrc":"26923:11:19","nodeType":"YulFunctionCall","src":"26923:11:19"},"variableNames":[{"name":"m3","nativeSrc":"26917:2:19","nodeType":"YulIdentifier","src":"26917:2:19"}]},{"nativeSrc":"26947:17:19","nodeType":"YulAssignment","src":"26947:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"26959:4:19","nodeType":"YulLiteral","src":"26959:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"26953:5:19","nodeType":"YulIdentifier","src":"26953:5:19"},"nativeSrc":"26953:11:19","nodeType":"YulFunctionCall","src":"26953:11:19"},"variableNames":[{"name":"m4","nativeSrc":"26947:2:19","nodeType":"YulIdentifier","src":"26947:2:19"}]},{"nativeSrc":"26977:17:19","nodeType":"YulAssignment","src":"26977:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"26989:4:19","nodeType":"YulLiteral","src":"26989:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"26983:5:19","nodeType":"YulIdentifier","src":"26983:5:19"},"nativeSrc":"26983:11:19","nodeType":"YulFunctionCall","src":"26983:11:19"},"variableNames":[{"name":"m5","nativeSrc":"26977:2:19","nodeType":"YulIdentifier","src":"26977:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27069:4:19","nodeType":"YulLiteral","src":"27069:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"27075:10:19","nodeType":"YulLiteral","src":"27075:10:19","type":"","value":"0x212255cc"}],"functionName":{"name":"mstore","nativeSrc":"27062:6:19","nodeType":"YulIdentifier","src":"27062:6:19"},"nativeSrc":"27062:24:19","nodeType":"YulFunctionCall","src":"27062:24:19"},"nativeSrc":"27062:24:19","nodeType":"YulExpressionStatement","src":"27062:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27106:4:19","nodeType":"YulLiteral","src":"27106:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"27112:2:19","nodeType":"YulIdentifier","src":"27112:2:19"}],"functionName":{"name":"mstore","nativeSrc":"27099:6:19","nodeType":"YulIdentifier","src":"27099:6:19"},"nativeSrc":"27099:16:19","nodeType":"YulFunctionCall","src":"27099:16:19"},"nativeSrc":"27099:16:19","nodeType":"YulExpressionStatement","src":"27099:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27135:4:19","nodeType":"YulLiteral","src":"27135:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"27141:2:19","nodeType":"YulIdentifier","src":"27141:2:19"}],"functionName":{"name":"mstore","nativeSrc":"27128:6:19","nodeType":"YulIdentifier","src":"27128:6:19"},"nativeSrc":"27128:16:19","nodeType":"YulFunctionCall","src":"27128:16:19"},"nativeSrc":"27128:16:19","nodeType":"YulExpressionStatement","src":"27128:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27164:4:19","nodeType":"YulLiteral","src":"27164:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"27170:4:19","nodeType":"YulLiteral","src":"27170:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"27157:6:19","nodeType":"YulIdentifier","src":"27157:6:19"},"nativeSrc":"27157:18:19","nodeType":"YulFunctionCall","src":"27157:18:19"},"nativeSrc":"27157:18:19","nodeType":"YulExpressionStatement","src":"27157:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27200:4:19","nodeType":"YulLiteral","src":"27200:4:19","type":"","value":"0x80"},{"name":"p2","nativeSrc":"27206:2:19","nodeType":"YulIdentifier","src":"27206:2:19"}],"functionName":{"name":"writeString","nativeSrc":"27188:11:19","nodeType":"YulIdentifier","src":"27188:11:19"},"nativeSrc":"27188:21:19","nodeType":"YulFunctionCall","src":"27188:21:19"},"nativeSrc":"27188:21:19","nodeType":"YulExpressionStatement","src":"27188:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27193,"isOffset":false,"isSlot":false,"src":"26827:2:19","valueSize":1},{"declaration":27196,"isOffset":false,"isSlot":false,"src":"26857:2:19","valueSize":1},{"declaration":27199,"isOffset":false,"isSlot":false,"src":"26887:2:19","valueSize":1},{"declaration":27202,"isOffset":false,"isSlot":false,"src":"26917:2:19","valueSize":1},{"declaration":27205,"isOffset":false,"isSlot":false,"src":"26947:2:19","valueSize":1},{"declaration":27208,"isOffset":false,"isSlot":false,"src":"26977:2:19","valueSize":1},{"declaration":27185,"isOffset":false,"isSlot":false,"src":"27112:2:19","valueSize":1},{"declaration":27187,"isOffset":false,"isSlot":false,"src":"27141:2:19","valueSize":1},{"declaration":27189,"isOffset":false,"isSlot":false,"src":"27206:2:19","valueSize":1}],"id":27210,"nodeType":"InlineAssembly","src":"26449:770:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27244:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":27213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27250:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":27211,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"27228:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27228:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27215,"nodeType":"ExpressionStatement","src":"27228:27:19"},{"AST":{"nativeSrc":"27317:185:19","nodeType":"YulBlock","src":"27317:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"27338:4:19","nodeType":"YulLiteral","src":"27338:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"27344:2:19","nodeType":"YulIdentifier","src":"27344:2:19"}],"functionName":{"name":"mstore","nativeSrc":"27331:6:19","nodeType":"YulIdentifier","src":"27331:6:19"},"nativeSrc":"27331:16:19","nodeType":"YulFunctionCall","src":"27331:16:19"},"nativeSrc":"27331:16:19","nodeType":"YulExpressionStatement","src":"27331:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27367:4:19","nodeType":"YulLiteral","src":"27367:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"27373:2:19","nodeType":"YulIdentifier","src":"27373:2:19"}],"functionName":{"name":"mstore","nativeSrc":"27360:6:19","nodeType":"YulIdentifier","src":"27360:6:19"},"nativeSrc":"27360:16:19","nodeType":"YulFunctionCall","src":"27360:16:19"},"nativeSrc":"27360:16:19","nodeType":"YulExpressionStatement","src":"27360:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27396:4:19","nodeType":"YulLiteral","src":"27396:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"27402:2:19","nodeType":"YulIdentifier","src":"27402:2:19"}],"functionName":{"name":"mstore","nativeSrc":"27389:6:19","nodeType":"YulIdentifier","src":"27389:6:19"},"nativeSrc":"27389:16:19","nodeType":"YulFunctionCall","src":"27389:16:19"},"nativeSrc":"27389:16:19","nodeType":"YulExpressionStatement","src":"27389:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27425:4:19","nodeType":"YulLiteral","src":"27425:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"27431:2:19","nodeType":"YulIdentifier","src":"27431:2:19"}],"functionName":{"name":"mstore","nativeSrc":"27418:6:19","nodeType":"YulIdentifier","src":"27418:6:19"},"nativeSrc":"27418:16:19","nodeType":"YulFunctionCall","src":"27418:16:19"},"nativeSrc":"27418:16:19","nodeType":"YulExpressionStatement","src":"27418:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27454:4:19","nodeType":"YulLiteral","src":"27454:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"27460:2:19","nodeType":"YulIdentifier","src":"27460:2:19"}],"functionName":{"name":"mstore","nativeSrc":"27447:6:19","nodeType":"YulIdentifier","src":"27447:6:19"},"nativeSrc":"27447:16:19","nodeType":"YulFunctionCall","src":"27447:16:19"},"nativeSrc":"27447:16:19","nodeType":"YulExpressionStatement","src":"27447:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27483:4:19","nodeType":"YulLiteral","src":"27483:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"27489:2:19","nodeType":"YulIdentifier","src":"27489:2:19"}],"functionName":{"name":"mstore","nativeSrc":"27476:6:19","nodeType":"YulIdentifier","src":"27476:6:19"},"nativeSrc":"27476:16:19","nodeType":"YulFunctionCall","src":"27476:16:19"},"nativeSrc":"27476:16:19","nodeType":"YulExpressionStatement","src":"27476:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27193,"isOffset":false,"isSlot":false,"src":"27344:2:19","valueSize":1},{"declaration":27196,"isOffset":false,"isSlot":false,"src":"27373:2:19","valueSize":1},{"declaration":27199,"isOffset":false,"isSlot":false,"src":"27402:2:19","valueSize":1},{"declaration":27202,"isOffset":false,"isSlot":false,"src":"27431:2:19","valueSize":1},{"declaration":27205,"isOffset":false,"isSlot":false,"src":"27460:2:19","valueSize":1},{"declaration":27208,"isOffset":false,"isSlot":false,"src":"27489:2:19","valueSize":1}],"id":27216,"nodeType":"InlineAssembly","src":"27308:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26225:3:19","parameters":{"id":27190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27185,"mutability":"mutable","name":"p0","nameLocation":"26237:2:19","nodeType":"VariableDeclaration","scope":27218,"src":"26229:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27184,"name":"address","nodeType":"ElementaryTypeName","src":"26229:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27187,"mutability":"mutable","name":"p1","nameLocation":"26246:2:19","nodeType":"VariableDeclaration","scope":27218,"src":"26241:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27186,"name":"bool","nodeType":"ElementaryTypeName","src":"26241:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27189,"mutability":"mutable","name":"p2","nameLocation":"26258:2:19","nodeType":"VariableDeclaration","scope":27218,"src":"26250:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27188,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26250:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"26228:33:19"},"returnParameters":{"id":27191,"nodeType":"ParameterList","parameters":[],"src":"26276:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27247,"nodeType":"FunctionDefinition","src":"27514:750:19","nodes":[],"body":{"id":27246,"nodeType":"Block","src":"27577:687:19","nodes":[],"statements":[{"assignments":[27228],"declarations":[{"constant":false,"id":27228,"mutability":"mutable","name":"m0","nameLocation":"27595:2:19","nodeType":"VariableDeclaration","scope":27246,"src":"27587:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27227,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27587:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27229,"nodeType":"VariableDeclarationStatement","src":"27587:10:19"},{"assignments":[27231],"declarations":[{"constant":false,"id":27231,"mutability":"mutable","name":"m1","nameLocation":"27615:2:19","nodeType":"VariableDeclaration","scope":27246,"src":"27607:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27230,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27607:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27232,"nodeType":"VariableDeclarationStatement","src":"27607:10:19"},{"assignments":[27234],"declarations":[{"constant":false,"id":27234,"mutability":"mutable","name":"m2","nameLocation":"27635:2:19","nodeType":"VariableDeclaration","scope":27246,"src":"27627:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27233,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27627:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27235,"nodeType":"VariableDeclarationStatement","src":"27627:10:19"},{"assignments":[27237],"declarations":[{"constant":false,"id":27237,"mutability":"mutable","name":"m3","nameLocation":"27655:2:19","nodeType":"VariableDeclaration","scope":27246,"src":"27647:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27236,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27647:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27238,"nodeType":"VariableDeclarationStatement","src":"27647:10:19"},{"AST":{"nativeSrc":"27719:314:19","nodeType":"YulBlock","src":"27719:314:19","statements":[{"nativeSrc":"27733:17:19","nodeType":"YulAssignment","src":"27733:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"27745:4:19","nodeType":"YulLiteral","src":"27745:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"27739:5:19","nodeType":"YulIdentifier","src":"27739:5:19"},"nativeSrc":"27739:11:19","nodeType":"YulFunctionCall","src":"27739:11:19"},"variableNames":[{"name":"m0","nativeSrc":"27733:2:19","nodeType":"YulIdentifier","src":"27733:2:19"}]},{"nativeSrc":"27763:17:19","nodeType":"YulAssignment","src":"27763:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"27775:4:19","nodeType":"YulLiteral","src":"27775:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"27769:5:19","nodeType":"YulIdentifier","src":"27769:5:19"},"nativeSrc":"27769:11:19","nodeType":"YulFunctionCall","src":"27769:11:19"},"variableNames":[{"name":"m1","nativeSrc":"27763:2:19","nodeType":"YulIdentifier","src":"27763:2:19"}]},{"nativeSrc":"27793:17:19","nodeType":"YulAssignment","src":"27793:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"27805:4:19","nodeType":"YulLiteral","src":"27805:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"27799:5:19","nodeType":"YulIdentifier","src":"27799:5:19"},"nativeSrc":"27799:11:19","nodeType":"YulFunctionCall","src":"27799:11:19"},"variableNames":[{"name":"m2","nativeSrc":"27793:2:19","nodeType":"YulIdentifier","src":"27793:2:19"}]},{"nativeSrc":"27823:17:19","nodeType":"YulAssignment","src":"27823:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"27835:4:19","nodeType":"YulLiteral","src":"27835:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"27829:5:19","nodeType":"YulIdentifier","src":"27829:5:19"},"nativeSrc":"27829:11:19","nodeType":"YulFunctionCall","src":"27829:11:19"},"variableNames":[{"name":"m3","nativeSrc":"27823:2:19","nodeType":"YulIdentifier","src":"27823:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27919:4:19","nodeType":"YulLiteral","src":"27919:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"27925:10:19","nodeType":"YulLiteral","src":"27925:10:19","type":"","value":"0x7bc0d848"}],"functionName":{"name":"mstore","nativeSrc":"27912:6:19","nodeType":"YulIdentifier","src":"27912:6:19"},"nativeSrc":"27912:24:19","nodeType":"YulFunctionCall","src":"27912:24:19"},"nativeSrc":"27912:24:19","nodeType":"YulExpressionStatement","src":"27912:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27956:4:19","nodeType":"YulLiteral","src":"27956:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"27962:2:19","nodeType":"YulIdentifier","src":"27962:2:19"}],"functionName":{"name":"mstore","nativeSrc":"27949:6:19","nodeType":"YulIdentifier","src":"27949:6:19"},"nativeSrc":"27949:16:19","nodeType":"YulFunctionCall","src":"27949:16:19"},"nativeSrc":"27949:16:19","nodeType":"YulExpressionStatement","src":"27949:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"27985:4:19","nodeType":"YulLiteral","src":"27985:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"27991:2:19","nodeType":"YulIdentifier","src":"27991:2:19"}],"functionName":{"name":"mstore","nativeSrc":"27978:6:19","nodeType":"YulIdentifier","src":"27978:6:19"},"nativeSrc":"27978:16:19","nodeType":"YulFunctionCall","src":"27978:16:19"},"nativeSrc":"27978:16:19","nodeType":"YulExpressionStatement","src":"27978:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28014:4:19","nodeType":"YulLiteral","src":"28014:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"28020:2:19","nodeType":"YulIdentifier","src":"28020:2:19"}],"functionName":{"name":"mstore","nativeSrc":"28007:6:19","nodeType":"YulIdentifier","src":"28007:6:19"},"nativeSrc":"28007:16:19","nodeType":"YulFunctionCall","src":"28007:16:19"},"nativeSrc":"28007:16:19","nodeType":"YulExpressionStatement","src":"28007:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27228,"isOffset":false,"isSlot":false,"src":"27733:2:19","valueSize":1},{"declaration":27231,"isOffset":false,"isSlot":false,"src":"27763:2:19","valueSize":1},{"declaration":27234,"isOffset":false,"isSlot":false,"src":"27793:2:19","valueSize":1},{"declaration":27237,"isOffset":false,"isSlot":false,"src":"27823:2:19","valueSize":1},{"declaration":27220,"isOffset":false,"isSlot":false,"src":"27962:2:19","valueSize":1},{"declaration":27222,"isOffset":false,"isSlot":false,"src":"27991:2:19","valueSize":1},{"declaration":27224,"isOffset":false,"isSlot":false,"src":"28020:2:19","valueSize":1}],"id":27239,"nodeType":"InlineAssembly","src":"27710:323:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28058:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28064:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27240,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"28042:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28042:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27244,"nodeType":"ExpressionStatement","src":"28042:27:19"},{"AST":{"nativeSrc":"28131:127:19","nodeType":"YulBlock","src":"28131:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"28152:4:19","nodeType":"YulLiteral","src":"28152:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"28158:2:19","nodeType":"YulIdentifier","src":"28158:2:19"}],"functionName":{"name":"mstore","nativeSrc":"28145:6:19","nodeType":"YulIdentifier","src":"28145:6:19"},"nativeSrc":"28145:16:19","nodeType":"YulFunctionCall","src":"28145:16:19"},"nativeSrc":"28145:16:19","nodeType":"YulExpressionStatement","src":"28145:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28181:4:19","nodeType":"YulLiteral","src":"28181:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"28187:2:19","nodeType":"YulIdentifier","src":"28187:2:19"}],"functionName":{"name":"mstore","nativeSrc":"28174:6:19","nodeType":"YulIdentifier","src":"28174:6:19"},"nativeSrc":"28174:16:19","nodeType":"YulFunctionCall","src":"28174:16:19"},"nativeSrc":"28174:16:19","nodeType":"YulExpressionStatement","src":"28174:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28210:4:19","nodeType":"YulLiteral","src":"28210:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"28216:2:19","nodeType":"YulIdentifier","src":"28216:2:19"}],"functionName":{"name":"mstore","nativeSrc":"28203:6:19","nodeType":"YulIdentifier","src":"28203:6:19"},"nativeSrc":"28203:16:19","nodeType":"YulFunctionCall","src":"28203:16:19"},"nativeSrc":"28203:16:19","nodeType":"YulExpressionStatement","src":"28203:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28239:4:19","nodeType":"YulLiteral","src":"28239:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"28245:2:19","nodeType":"YulIdentifier","src":"28245:2:19"}],"functionName":{"name":"mstore","nativeSrc":"28232:6:19","nodeType":"YulIdentifier","src":"28232:6:19"},"nativeSrc":"28232:16:19","nodeType":"YulFunctionCall","src":"28232:16:19"},"nativeSrc":"28232:16:19","nodeType":"YulExpressionStatement","src":"28232:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27228,"isOffset":false,"isSlot":false,"src":"28158:2:19","valueSize":1},{"declaration":27231,"isOffset":false,"isSlot":false,"src":"28187:2:19","valueSize":1},{"declaration":27234,"isOffset":false,"isSlot":false,"src":"28216:2:19","valueSize":1},{"declaration":27237,"isOffset":false,"isSlot":false,"src":"28245:2:19","valueSize":1}],"id":27245,"nodeType":"InlineAssembly","src":"28122:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27523:3:19","parameters":{"id":27225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27220,"mutability":"mutable","name":"p0","nameLocation":"27535:2:19","nodeType":"VariableDeclaration","scope":27247,"src":"27527:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27219,"name":"address","nodeType":"ElementaryTypeName","src":"27527:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27222,"mutability":"mutable","name":"p1","nameLocation":"27547:2:19","nodeType":"VariableDeclaration","scope":27247,"src":"27539:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27221,"name":"uint256","nodeType":"ElementaryTypeName","src":"27539:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27224,"mutability":"mutable","name":"p2","nameLocation":"27559:2:19","nodeType":"VariableDeclaration","scope":27247,"src":"27551:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27223,"name":"address","nodeType":"ElementaryTypeName","src":"27551:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27526:36:19"},"returnParameters":{"id":27226,"nodeType":"ParameterList","parameters":[],"src":"27577:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27276,"nodeType":"FunctionDefinition","src":"28270:744:19","nodes":[],"body":{"id":27275,"nodeType":"Block","src":"28330:684:19","nodes":[],"statements":[{"assignments":[27257],"declarations":[{"constant":false,"id":27257,"mutability":"mutable","name":"m0","nameLocation":"28348:2:19","nodeType":"VariableDeclaration","scope":27275,"src":"28340:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27256,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28340:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27258,"nodeType":"VariableDeclarationStatement","src":"28340:10:19"},{"assignments":[27260],"declarations":[{"constant":false,"id":27260,"mutability":"mutable","name":"m1","nameLocation":"28368:2:19","nodeType":"VariableDeclaration","scope":27275,"src":"28360:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27259,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28360:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27261,"nodeType":"VariableDeclarationStatement","src":"28360:10:19"},{"assignments":[27263],"declarations":[{"constant":false,"id":27263,"mutability":"mutable","name":"m2","nameLocation":"28388:2:19","nodeType":"VariableDeclaration","scope":27275,"src":"28380:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27262,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28380:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27264,"nodeType":"VariableDeclarationStatement","src":"28380:10:19"},{"assignments":[27266],"declarations":[{"constant":false,"id":27266,"mutability":"mutable","name":"m3","nameLocation":"28408:2:19","nodeType":"VariableDeclaration","scope":27275,"src":"28400:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27265,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28400:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27267,"nodeType":"VariableDeclarationStatement","src":"28400:10:19"},{"AST":{"nativeSrc":"28472:311:19","nodeType":"YulBlock","src":"28472:311:19","statements":[{"nativeSrc":"28486:17:19","nodeType":"YulAssignment","src":"28486:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"28498:4:19","nodeType":"YulLiteral","src":"28498:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"28492:5:19","nodeType":"YulIdentifier","src":"28492:5:19"},"nativeSrc":"28492:11:19","nodeType":"YulFunctionCall","src":"28492:11:19"},"variableNames":[{"name":"m0","nativeSrc":"28486:2:19","nodeType":"YulIdentifier","src":"28486:2:19"}]},{"nativeSrc":"28516:17:19","nodeType":"YulAssignment","src":"28516:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"28528:4:19","nodeType":"YulLiteral","src":"28528:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"28522:5:19","nodeType":"YulIdentifier","src":"28522:5:19"},"nativeSrc":"28522:11:19","nodeType":"YulFunctionCall","src":"28522:11:19"},"variableNames":[{"name":"m1","nativeSrc":"28516:2:19","nodeType":"YulIdentifier","src":"28516:2:19"}]},{"nativeSrc":"28546:17:19","nodeType":"YulAssignment","src":"28546:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"28558:4:19","nodeType":"YulLiteral","src":"28558:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"28552:5:19","nodeType":"YulIdentifier","src":"28552:5:19"},"nativeSrc":"28552:11:19","nodeType":"YulFunctionCall","src":"28552:11:19"},"variableNames":[{"name":"m2","nativeSrc":"28546:2:19","nodeType":"YulIdentifier","src":"28546:2:19"}]},{"nativeSrc":"28576:17:19","nodeType":"YulAssignment","src":"28576:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"28588:4:19","nodeType":"YulLiteral","src":"28588:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"28582:5:19","nodeType":"YulIdentifier","src":"28582:5:19"},"nativeSrc":"28582:11:19","nodeType":"YulFunctionCall","src":"28582:11:19"},"variableNames":[{"name":"m3","nativeSrc":"28576:2:19","nodeType":"YulIdentifier","src":"28576:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28669:4:19","nodeType":"YulLiteral","src":"28669:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"28675:10:19","nodeType":"YulLiteral","src":"28675:10:19","type":"","value":"0x678209a8"}],"functionName":{"name":"mstore","nativeSrc":"28662:6:19","nodeType":"YulIdentifier","src":"28662:6:19"},"nativeSrc":"28662:24:19","nodeType":"YulFunctionCall","src":"28662:24:19"},"nativeSrc":"28662:24:19","nodeType":"YulExpressionStatement","src":"28662:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28706:4:19","nodeType":"YulLiteral","src":"28706:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"28712:2:19","nodeType":"YulIdentifier","src":"28712:2:19"}],"functionName":{"name":"mstore","nativeSrc":"28699:6:19","nodeType":"YulIdentifier","src":"28699:6:19"},"nativeSrc":"28699:16:19","nodeType":"YulFunctionCall","src":"28699:16:19"},"nativeSrc":"28699:16:19","nodeType":"YulExpressionStatement","src":"28699:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28735:4:19","nodeType":"YulLiteral","src":"28735:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"28741:2:19","nodeType":"YulIdentifier","src":"28741:2:19"}],"functionName":{"name":"mstore","nativeSrc":"28728:6:19","nodeType":"YulIdentifier","src":"28728:6:19"},"nativeSrc":"28728:16:19","nodeType":"YulFunctionCall","src":"28728:16:19"},"nativeSrc":"28728:16:19","nodeType":"YulExpressionStatement","src":"28728:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28764:4:19","nodeType":"YulLiteral","src":"28764:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"28770:2:19","nodeType":"YulIdentifier","src":"28770:2:19"}],"functionName":{"name":"mstore","nativeSrc":"28757:6:19","nodeType":"YulIdentifier","src":"28757:6:19"},"nativeSrc":"28757:16:19","nodeType":"YulFunctionCall","src":"28757:16:19"},"nativeSrc":"28757:16:19","nodeType":"YulExpressionStatement","src":"28757:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27257,"isOffset":false,"isSlot":false,"src":"28486:2:19","valueSize":1},{"declaration":27260,"isOffset":false,"isSlot":false,"src":"28516:2:19","valueSize":1},{"declaration":27263,"isOffset":false,"isSlot":false,"src":"28546:2:19","valueSize":1},{"declaration":27266,"isOffset":false,"isSlot":false,"src":"28576:2:19","valueSize":1},{"declaration":27249,"isOffset":false,"isSlot":false,"src":"28712:2:19","valueSize":1},{"declaration":27251,"isOffset":false,"isSlot":false,"src":"28741:2:19","valueSize":1},{"declaration":27253,"isOffset":false,"isSlot":false,"src":"28770:2:19","valueSize":1}],"id":27268,"nodeType":"InlineAssembly","src":"28463:320:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28808:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28814:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27269,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"28792:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28792:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27273,"nodeType":"ExpressionStatement","src":"28792:27:19"},{"AST":{"nativeSrc":"28881:127:19","nodeType":"YulBlock","src":"28881:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"28902:4:19","nodeType":"YulLiteral","src":"28902:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"28908:2:19","nodeType":"YulIdentifier","src":"28908:2:19"}],"functionName":{"name":"mstore","nativeSrc":"28895:6:19","nodeType":"YulIdentifier","src":"28895:6:19"},"nativeSrc":"28895:16:19","nodeType":"YulFunctionCall","src":"28895:16:19"},"nativeSrc":"28895:16:19","nodeType":"YulExpressionStatement","src":"28895:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28931:4:19","nodeType":"YulLiteral","src":"28931:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"28937:2:19","nodeType":"YulIdentifier","src":"28937:2:19"}],"functionName":{"name":"mstore","nativeSrc":"28924:6:19","nodeType":"YulIdentifier","src":"28924:6:19"},"nativeSrc":"28924:16:19","nodeType":"YulFunctionCall","src":"28924:16:19"},"nativeSrc":"28924:16:19","nodeType":"YulExpressionStatement","src":"28924:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28960:4:19","nodeType":"YulLiteral","src":"28960:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"28966:2:19","nodeType":"YulIdentifier","src":"28966:2:19"}],"functionName":{"name":"mstore","nativeSrc":"28953:6:19","nodeType":"YulIdentifier","src":"28953:6:19"},"nativeSrc":"28953:16:19","nodeType":"YulFunctionCall","src":"28953:16:19"},"nativeSrc":"28953:16:19","nodeType":"YulExpressionStatement","src":"28953:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"28989:4:19","nodeType":"YulLiteral","src":"28989:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"28995:2:19","nodeType":"YulIdentifier","src":"28995:2:19"}],"functionName":{"name":"mstore","nativeSrc":"28982:6:19","nodeType":"YulIdentifier","src":"28982:6:19"},"nativeSrc":"28982:16:19","nodeType":"YulFunctionCall","src":"28982:16:19"},"nativeSrc":"28982:16:19","nodeType":"YulExpressionStatement","src":"28982:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27257,"isOffset":false,"isSlot":false,"src":"28908:2:19","valueSize":1},{"declaration":27260,"isOffset":false,"isSlot":false,"src":"28937:2:19","valueSize":1},{"declaration":27263,"isOffset":false,"isSlot":false,"src":"28966:2:19","valueSize":1},{"declaration":27266,"isOffset":false,"isSlot":false,"src":"28995:2:19","valueSize":1}],"id":27274,"nodeType":"InlineAssembly","src":"28872:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28279:3:19","parameters":{"id":27254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27249,"mutability":"mutable","name":"p0","nameLocation":"28291:2:19","nodeType":"VariableDeclaration","scope":27276,"src":"28283:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27248,"name":"address","nodeType":"ElementaryTypeName","src":"28283:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27251,"mutability":"mutable","name":"p1","nameLocation":"28303:2:19","nodeType":"VariableDeclaration","scope":27276,"src":"28295:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27250,"name":"uint256","nodeType":"ElementaryTypeName","src":"28295:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27253,"mutability":"mutable","name":"p2","nameLocation":"28312:2:19","nodeType":"VariableDeclaration","scope":27276,"src":"28307:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27252,"name":"bool","nodeType":"ElementaryTypeName","src":"28307:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28282:33:19"},"returnParameters":{"id":27255,"nodeType":"ParameterList","parameters":[],"src":"28330:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27305,"nodeType":"FunctionDefinition","src":"29020:750:19","nodes":[],"body":{"id":27304,"nodeType":"Block","src":"29083:687:19","nodes":[],"statements":[{"assignments":[27286],"declarations":[{"constant":false,"id":27286,"mutability":"mutable","name":"m0","nameLocation":"29101:2:19","nodeType":"VariableDeclaration","scope":27304,"src":"29093:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27285,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29093:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27287,"nodeType":"VariableDeclarationStatement","src":"29093:10:19"},{"assignments":[27289],"declarations":[{"constant":false,"id":27289,"mutability":"mutable","name":"m1","nameLocation":"29121:2:19","nodeType":"VariableDeclaration","scope":27304,"src":"29113:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27288,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29113:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27290,"nodeType":"VariableDeclarationStatement","src":"29113:10:19"},{"assignments":[27292],"declarations":[{"constant":false,"id":27292,"mutability":"mutable","name":"m2","nameLocation":"29141:2:19","nodeType":"VariableDeclaration","scope":27304,"src":"29133:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27291,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29133:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27293,"nodeType":"VariableDeclarationStatement","src":"29133:10:19"},{"assignments":[27295],"declarations":[{"constant":false,"id":27295,"mutability":"mutable","name":"m3","nameLocation":"29161:2:19","nodeType":"VariableDeclaration","scope":27304,"src":"29153:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27294,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29153:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27296,"nodeType":"VariableDeclarationStatement","src":"29153:10:19"},{"AST":{"nativeSrc":"29225:314:19","nodeType":"YulBlock","src":"29225:314:19","statements":[{"nativeSrc":"29239:17:19","nodeType":"YulAssignment","src":"29239:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"29251:4:19","nodeType":"YulLiteral","src":"29251:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"29245:5:19","nodeType":"YulIdentifier","src":"29245:5:19"},"nativeSrc":"29245:11:19","nodeType":"YulFunctionCall","src":"29245:11:19"},"variableNames":[{"name":"m0","nativeSrc":"29239:2:19","nodeType":"YulIdentifier","src":"29239:2:19"}]},{"nativeSrc":"29269:17:19","nodeType":"YulAssignment","src":"29269:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"29281:4:19","nodeType":"YulLiteral","src":"29281:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"29275:5:19","nodeType":"YulIdentifier","src":"29275:5:19"},"nativeSrc":"29275:11:19","nodeType":"YulFunctionCall","src":"29275:11:19"},"variableNames":[{"name":"m1","nativeSrc":"29269:2:19","nodeType":"YulIdentifier","src":"29269:2:19"}]},{"nativeSrc":"29299:17:19","nodeType":"YulAssignment","src":"29299:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"29311:4:19","nodeType":"YulLiteral","src":"29311:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"29305:5:19","nodeType":"YulIdentifier","src":"29305:5:19"},"nativeSrc":"29305:11:19","nodeType":"YulFunctionCall","src":"29305:11:19"},"variableNames":[{"name":"m2","nativeSrc":"29299:2:19","nodeType":"YulIdentifier","src":"29299:2:19"}]},{"nativeSrc":"29329:17:19","nodeType":"YulAssignment","src":"29329:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"29341:4:19","nodeType":"YulLiteral","src":"29341:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"29335:5:19","nodeType":"YulIdentifier","src":"29335:5:19"},"nativeSrc":"29335:11:19","nodeType":"YulFunctionCall","src":"29335:11:19"},"variableNames":[{"name":"m3","nativeSrc":"29329:2:19","nodeType":"YulIdentifier","src":"29329:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"29425:4:19","nodeType":"YulLiteral","src":"29425:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"29431:10:19","nodeType":"YulLiteral","src":"29431:10:19","type":"","value":"0xb69bcaf6"}],"functionName":{"name":"mstore","nativeSrc":"29418:6:19","nodeType":"YulIdentifier","src":"29418:6:19"},"nativeSrc":"29418:24:19","nodeType":"YulFunctionCall","src":"29418:24:19"},"nativeSrc":"29418:24:19","nodeType":"YulExpressionStatement","src":"29418:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"29462:4:19","nodeType":"YulLiteral","src":"29462:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"29468:2:19","nodeType":"YulIdentifier","src":"29468:2:19"}],"functionName":{"name":"mstore","nativeSrc":"29455:6:19","nodeType":"YulIdentifier","src":"29455:6:19"},"nativeSrc":"29455:16:19","nodeType":"YulFunctionCall","src":"29455:16:19"},"nativeSrc":"29455:16:19","nodeType":"YulExpressionStatement","src":"29455:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"29491:4:19","nodeType":"YulLiteral","src":"29491:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"29497:2:19","nodeType":"YulIdentifier","src":"29497:2:19"}],"functionName":{"name":"mstore","nativeSrc":"29484:6:19","nodeType":"YulIdentifier","src":"29484:6:19"},"nativeSrc":"29484:16:19","nodeType":"YulFunctionCall","src":"29484:16:19"},"nativeSrc":"29484:16:19","nodeType":"YulExpressionStatement","src":"29484:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"29520:4:19","nodeType":"YulLiteral","src":"29520:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"29526:2:19","nodeType":"YulIdentifier","src":"29526:2:19"}],"functionName":{"name":"mstore","nativeSrc":"29513:6:19","nodeType":"YulIdentifier","src":"29513:6:19"},"nativeSrc":"29513:16:19","nodeType":"YulFunctionCall","src":"29513:16:19"},"nativeSrc":"29513:16:19","nodeType":"YulExpressionStatement","src":"29513:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27286,"isOffset":false,"isSlot":false,"src":"29239:2:19","valueSize":1},{"declaration":27289,"isOffset":false,"isSlot":false,"src":"29269:2:19","valueSize":1},{"declaration":27292,"isOffset":false,"isSlot":false,"src":"29299:2:19","valueSize":1},{"declaration":27295,"isOffset":false,"isSlot":false,"src":"29329:2:19","valueSize":1},{"declaration":27278,"isOffset":false,"isSlot":false,"src":"29468:2:19","valueSize":1},{"declaration":27280,"isOffset":false,"isSlot":false,"src":"29497:2:19","valueSize":1},{"declaration":27282,"isOffset":false,"isSlot":false,"src":"29526:2:19","valueSize":1}],"id":27297,"nodeType":"InlineAssembly","src":"29216:323:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29564:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29570:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27298,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"29548:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29548:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27302,"nodeType":"ExpressionStatement","src":"29548:27:19"},{"AST":{"nativeSrc":"29637:127:19","nodeType":"YulBlock","src":"29637:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"29658:4:19","nodeType":"YulLiteral","src":"29658:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"29664:2:19","nodeType":"YulIdentifier","src":"29664:2:19"}],"functionName":{"name":"mstore","nativeSrc":"29651:6:19","nodeType":"YulIdentifier","src":"29651:6:19"},"nativeSrc":"29651:16:19","nodeType":"YulFunctionCall","src":"29651:16:19"},"nativeSrc":"29651:16:19","nodeType":"YulExpressionStatement","src":"29651:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"29687:4:19","nodeType":"YulLiteral","src":"29687:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"29693:2:19","nodeType":"YulIdentifier","src":"29693:2:19"}],"functionName":{"name":"mstore","nativeSrc":"29680:6:19","nodeType":"YulIdentifier","src":"29680:6:19"},"nativeSrc":"29680:16:19","nodeType":"YulFunctionCall","src":"29680:16:19"},"nativeSrc":"29680:16:19","nodeType":"YulExpressionStatement","src":"29680:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"29716:4:19","nodeType":"YulLiteral","src":"29716:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"29722:2:19","nodeType":"YulIdentifier","src":"29722:2:19"}],"functionName":{"name":"mstore","nativeSrc":"29709:6:19","nodeType":"YulIdentifier","src":"29709:6:19"},"nativeSrc":"29709:16:19","nodeType":"YulFunctionCall","src":"29709:16:19"},"nativeSrc":"29709:16:19","nodeType":"YulExpressionStatement","src":"29709:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"29745:4:19","nodeType":"YulLiteral","src":"29745:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"29751:2:19","nodeType":"YulIdentifier","src":"29751:2:19"}],"functionName":{"name":"mstore","nativeSrc":"29738:6:19","nodeType":"YulIdentifier","src":"29738:6:19"},"nativeSrc":"29738:16:19","nodeType":"YulFunctionCall","src":"29738:16:19"},"nativeSrc":"29738:16:19","nodeType":"YulExpressionStatement","src":"29738:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27286,"isOffset":false,"isSlot":false,"src":"29664:2:19","valueSize":1},{"declaration":27289,"isOffset":false,"isSlot":false,"src":"29693:2:19","valueSize":1},{"declaration":27292,"isOffset":false,"isSlot":false,"src":"29722:2:19","valueSize":1},{"declaration":27295,"isOffset":false,"isSlot":false,"src":"29751:2:19","valueSize":1}],"id":27303,"nodeType":"InlineAssembly","src":"29628:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29029:3:19","parameters":{"id":27283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27278,"mutability":"mutable","name":"p0","nameLocation":"29041:2:19","nodeType":"VariableDeclaration","scope":27305,"src":"29033:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27277,"name":"address","nodeType":"ElementaryTypeName","src":"29033:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27280,"mutability":"mutable","name":"p1","nameLocation":"29053:2:19","nodeType":"VariableDeclaration","scope":27305,"src":"29045:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27279,"name":"uint256","nodeType":"ElementaryTypeName","src":"29045:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27282,"mutability":"mutable","name":"p2","nameLocation":"29065:2:19","nodeType":"VariableDeclaration","scope":27305,"src":"29057:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27281,"name":"uint256","nodeType":"ElementaryTypeName","src":"29057:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29032:36:19"},"returnParameters":{"id":27284,"nodeType":"ParameterList","parameters":[],"src":"29083:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27340,"nodeType":"FunctionDefinition","src":"29776:1298:19","nodes":[],"body":{"id":27339,"nodeType":"Block","src":"29839:1235:19","nodes":[],"statements":[{"assignments":[27315],"declarations":[{"constant":false,"id":27315,"mutability":"mutable","name":"m0","nameLocation":"29857:2:19","nodeType":"VariableDeclaration","scope":27339,"src":"29849:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27314,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29849:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27316,"nodeType":"VariableDeclarationStatement","src":"29849:10:19"},{"assignments":[27318],"declarations":[{"constant":false,"id":27318,"mutability":"mutable","name":"m1","nameLocation":"29877:2:19","nodeType":"VariableDeclaration","scope":27339,"src":"29869:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27317,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29869:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27319,"nodeType":"VariableDeclarationStatement","src":"29869:10:19"},{"assignments":[27321],"declarations":[{"constant":false,"id":27321,"mutability":"mutable","name":"m2","nameLocation":"29897:2:19","nodeType":"VariableDeclaration","scope":27339,"src":"29889:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27320,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29889:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27322,"nodeType":"VariableDeclarationStatement","src":"29889:10:19"},{"assignments":[27324],"declarations":[{"constant":false,"id":27324,"mutability":"mutable","name":"m3","nameLocation":"29917:2:19","nodeType":"VariableDeclaration","scope":27339,"src":"29909:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29909:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27325,"nodeType":"VariableDeclarationStatement","src":"29909:10:19"},{"assignments":[27327],"declarations":[{"constant":false,"id":27327,"mutability":"mutable","name":"m4","nameLocation":"29937:2:19","nodeType":"VariableDeclaration","scope":27339,"src":"29929:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27326,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29929:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27328,"nodeType":"VariableDeclarationStatement","src":"29929:10:19"},{"assignments":[27330],"declarations":[{"constant":false,"id":27330,"mutability":"mutable","name":"m5","nameLocation":"29957:2:19","nodeType":"VariableDeclaration","scope":27339,"src":"29949:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27329,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29949:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27331,"nodeType":"VariableDeclarationStatement","src":"29949:10:19"},{"AST":{"nativeSrc":"30021:764:19","nodeType":"YulBlock","src":"30021:764:19","statements":[{"body":{"nativeSrc":"30064:313:19","nodeType":"YulBlock","src":"30064:313:19","statements":[{"nativeSrc":"30082:15:19","nodeType":"YulVariableDeclaration","src":"30082:15:19","value":{"kind":"number","nativeSrc":"30096:1:19","nodeType":"YulLiteral","src":"30096:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"30086:6:19","nodeType":"YulTypedName","src":"30086:6:19","type":""}]},{"body":{"nativeSrc":"30167:40:19","nodeType":"YulBlock","src":"30167:40:19","statements":[{"body":{"nativeSrc":"30196:9:19","nodeType":"YulBlock","src":"30196:9:19","statements":[{"nativeSrc":"30198:5:19","nodeType":"YulBreak","src":"30198:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"30184:6:19","nodeType":"YulIdentifier","src":"30184:6:19"},{"name":"w","nativeSrc":"30192:1:19","nodeType":"YulIdentifier","src":"30192:1:19"}],"functionName":{"name":"byte","nativeSrc":"30179:4:19","nodeType":"YulIdentifier","src":"30179:4:19"},"nativeSrc":"30179:15:19","nodeType":"YulFunctionCall","src":"30179:15:19"}],"functionName":{"name":"iszero","nativeSrc":"30172:6:19","nodeType":"YulIdentifier","src":"30172:6:19"},"nativeSrc":"30172:23:19","nodeType":"YulFunctionCall","src":"30172:23:19"},"nativeSrc":"30169:36:19","nodeType":"YulIf","src":"30169:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"30124:6:19","nodeType":"YulIdentifier","src":"30124:6:19"},{"kind":"number","nativeSrc":"30132:4:19","nodeType":"YulLiteral","src":"30132:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"30121:2:19","nodeType":"YulIdentifier","src":"30121:2:19"},"nativeSrc":"30121:16:19","nodeType":"YulFunctionCall","src":"30121:16:19"},"nativeSrc":"30114:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"30138:28:19","nodeType":"YulBlock","src":"30138:28:19","statements":[{"nativeSrc":"30140:24:19","nodeType":"YulAssignment","src":"30140:24:19","value":{"arguments":[{"name":"length","nativeSrc":"30154:6:19","nodeType":"YulIdentifier","src":"30154:6:19"},{"kind":"number","nativeSrc":"30162:1:19","nodeType":"YulLiteral","src":"30162:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"30150:3:19","nodeType":"YulIdentifier","src":"30150:3:19"},"nativeSrc":"30150:14:19","nodeType":"YulFunctionCall","src":"30150:14:19"},"variableNames":[{"name":"length","nativeSrc":"30140:6:19","nodeType":"YulIdentifier","src":"30140:6:19"}]}]},"pre":{"nativeSrc":"30118:2:19","nodeType":"YulBlock","src":"30118:2:19","statements":[]},"src":"30114:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"30231:3:19","nodeType":"YulIdentifier","src":"30231:3:19"},{"name":"length","nativeSrc":"30236:6:19","nodeType":"YulIdentifier","src":"30236:6:19"}],"functionName":{"name":"mstore","nativeSrc":"30224:6:19","nodeType":"YulIdentifier","src":"30224:6:19"},"nativeSrc":"30224:19:19","nodeType":"YulFunctionCall","src":"30224:19:19"},"nativeSrc":"30224:19:19","nodeType":"YulExpressionStatement","src":"30224:19:19"},{"nativeSrc":"30260:37:19","nodeType":"YulVariableDeclaration","src":"30260:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"30277:3:19","nodeType":"YulLiteral","src":"30277:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"30286:1:19","nodeType":"YulLiteral","src":"30286:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"30289:6:19","nodeType":"YulIdentifier","src":"30289:6:19"}],"functionName":{"name":"shl","nativeSrc":"30282:3:19","nodeType":"YulIdentifier","src":"30282:3:19"},"nativeSrc":"30282:14:19","nodeType":"YulFunctionCall","src":"30282:14:19"}],"functionName":{"name":"sub","nativeSrc":"30273:3:19","nodeType":"YulIdentifier","src":"30273:3:19"},"nativeSrc":"30273:24:19","nodeType":"YulFunctionCall","src":"30273:24:19"},"variables":[{"name":"shift","nativeSrc":"30264:5:19","nodeType":"YulTypedName","src":"30264:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"30325:3:19","nodeType":"YulIdentifier","src":"30325:3:19"},{"kind":"number","nativeSrc":"30330:4:19","nodeType":"YulLiteral","src":"30330:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"30321:3:19","nodeType":"YulIdentifier","src":"30321:3:19"},"nativeSrc":"30321:14:19","nodeType":"YulFunctionCall","src":"30321:14:19"},{"arguments":[{"name":"shift","nativeSrc":"30341:5:19","nodeType":"YulIdentifier","src":"30341:5:19"},{"arguments":[{"name":"shift","nativeSrc":"30352:5:19","nodeType":"YulIdentifier","src":"30352:5:19"},{"name":"w","nativeSrc":"30359:1:19","nodeType":"YulIdentifier","src":"30359:1:19"}],"functionName":{"name":"shr","nativeSrc":"30348:3:19","nodeType":"YulIdentifier","src":"30348:3:19"},"nativeSrc":"30348:13:19","nodeType":"YulFunctionCall","src":"30348:13:19"}],"functionName":{"name":"shl","nativeSrc":"30337:3:19","nodeType":"YulIdentifier","src":"30337:3:19"},"nativeSrc":"30337:25:19","nodeType":"YulFunctionCall","src":"30337:25:19"}],"functionName":{"name":"mstore","nativeSrc":"30314:6:19","nodeType":"YulIdentifier","src":"30314:6:19"},"nativeSrc":"30314:49:19","nodeType":"YulFunctionCall","src":"30314:49:19"},"nativeSrc":"30314:49:19","nodeType":"YulExpressionStatement","src":"30314:49:19"}]},"name":"writeString","nativeSrc":"30035:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"30056:3:19","nodeType":"YulTypedName","src":"30056:3:19","type":""},{"name":"w","nativeSrc":"30061:1:19","nodeType":"YulTypedName","src":"30061:1:19","type":""}],"src":"30035:342:19"},{"nativeSrc":"30390:17:19","nodeType":"YulAssignment","src":"30390:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"30402:4:19","nodeType":"YulLiteral","src":"30402:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"30396:5:19","nodeType":"YulIdentifier","src":"30396:5:19"},"nativeSrc":"30396:11:19","nodeType":"YulFunctionCall","src":"30396:11:19"},"variableNames":[{"name":"m0","nativeSrc":"30390:2:19","nodeType":"YulIdentifier","src":"30390:2:19"}]},{"nativeSrc":"30420:17:19","nodeType":"YulAssignment","src":"30420:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"30432:4:19","nodeType":"YulLiteral","src":"30432:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"30426:5:19","nodeType":"YulIdentifier","src":"30426:5:19"},"nativeSrc":"30426:11:19","nodeType":"YulFunctionCall","src":"30426:11:19"},"variableNames":[{"name":"m1","nativeSrc":"30420:2:19","nodeType":"YulIdentifier","src":"30420:2:19"}]},{"nativeSrc":"30450:17:19","nodeType":"YulAssignment","src":"30450:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"30462:4:19","nodeType":"YulLiteral","src":"30462:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"30456:5:19","nodeType":"YulIdentifier","src":"30456:5:19"},"nativeSrc":"30456:11:19","nodeType":"YulFunctionCall","src":"30456:11:19"},"variableNames":[{"name":"m2","nativeSrc":"30450:2:19","nodeType":"YulIdentifier","src":"30450:2:19"}]},{"nativeSrc":"30480:17:19","nodeType":"YulAssignment","src":"30480:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"30492:4:19","nodeType":"YulLiteral","src":"30492:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"30486:5:19","nodeType":"YulIdentifier","src":"30486:5:19"},"nativeSrc":"30486:11:19","nodeType":"YulFunctionCall","src":"30486:11:19"},"variableNames":[{"name":"m3","nativeSrc":"30480:2:19","nodeType":"YulIdentifier","src":"30480:2:19"}]},{"nativeSrc":"30510:17:19","nodeType":"YulAssignment","src":"30510:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"30522:4:19","nodeType":"YulLiteral","src":"30522:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"30516:5:19","nodeType":"YulIdentifier","src":"30516:5:19"},"nativeSrc":"30516:11:19","nodeType":"YulFunctionCall","src":"30516:11:19"},"variableNames":[{"name":"m4","nativeSrc":"30510:2:19","nodeType":"YulIdentifier","src":"30510:2:19"}]},{"nativeSrc":"30540:17:19","nodeType":"YulAssignment","src":"30540:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"30552:4:19","nodeType":"YulLiteral","src":"30552:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"30546:5:19","nodeType":"YulIdentifier","src":"30546:5:19"},"nativeSrc":"30546:11:19","nodeType":"YulFunctionCall","src":"30546:11:19"},"variableNames":[{"name":"m5","nativeSrc":"30540:2:19","nodeType":"YulIdentifier","src":"30540:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30635:4:19","nodeType":"YulLiteral","src":"30635:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"30641:10:19","nodeType":"YulLiteral","src":"30641:10:19","type":"","value":"0xa1f2e8aa"}],"functionName":{"name":"mstore","nativeSrc":"30628:6:19","nodeType":"YulIdentifier","src":"30628:6:19"},"nativeSrc":"30628:24:19","nodeType":"YulFunctionCall","src":"30628:24:19"},"nativeSrc":"30628:24:19","nodeType":"YulExpressionStatement","src":"30628:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30672:4:19","nodeType":"YulLiteral","src":"30672:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"30678:2:19","nodeType":"YulIdentifier","src":"30678:2:19"}],"functionName":{"name":"mstore","nativeSrc":"30665:6:19","nodeType":"YulIdentifier","src":"30665:6:19"},"nativeSrc":"30665:16:19","nodeType":"YulFunctionCall","src":"30665:16:19"},"nativeSrc":"30665:16:19","nodeType":"YulExpressionStatement","src":"30665:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30701:4:19","nodeType":"YulLiteral","src":"30701:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"30707:2:19","nodeType":"YulIdentifier","src":"30707:2:19"}],"functionName":{"name":"mstore","nativeSrc":"30694:6:19","nodeType":"YulIdentifier","src":"30694:6:19"},"nativeSrc":"30694:16:19","nodeType":"YulFunctionCall","src":"30694:16:19"},"nativeSrc":"30694:16:19","nodeType":"YulExpressionStatement","src":"30694:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30730:4:19","nodeType":"YulLiteral","src":"30730:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"30736:4:19","nodeType":"YulLiteral","src":"30736:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"30723:6:19","nodeType":"YulIdentifier","src":"30723:6:19"},"nativeSrc":"30723:18:19","nodeType":"YulFunctionCall","src":"30723:18:19"},"nativeSrc":"30723:18:19","nodeType":"YulExpressionStatement","src":"30723:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30766:4:19","nodeType":"YulLiteral","src":"30766:4:19","type":"","value":"0x80"},{"name":"p2","nativeSrc":"30772:2:19","nodeType":"YulIdentifier","src":"30772:2:19"}],"functionName":{"name":"writeString","nativeSrc":"30754:11:19","nodeType":"YulIdentifier","src":"30754:11:19"},"nativeSrc":"30754:21:19","nodeType":"YulFunctionCall","src":"30754:21:19"},"nativeSrc":"30754:21:19","nodeType":"YulExpressionStatement","src":"30754:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27315,"isOffset":false,"isSlot":false,"src":"30390:2:19","valueSize":1},{"declaration":27318,"isOffset":false,"isSlot":false,"src":"30420:2:19","valueSize":1},{"declaration":27321,"isOffset":false,"isSlot":false,"src":"30450:2:19","valueSize":1},{"declaration":27324,"isOffset":false,"isSlot":false,"src":"30480:2:19","valueSize":1},{"declaration":27327,"isOffset":false,"isSlot":false,"src":"30510:2:19","valueSize":1},{"declaration":27330,"isOffset":false,"isSlot":false,"src":"30540:2:19","valueSize":1},{"declaration":27307,"isOffset":false,"isSlot":false,"src":"30678:2:19","valueSize":1},{"declaration":27309,"isOffset":false,"isSlot":false,"src":"30707:2:19","valueSize":1},{"declaration":27311,"isOffset":false,"isSlot":false,"src":"30772:2:19","valueSize":1}],"id":27332,"nodeType":"InlineAssembly","src":"30012:773:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30810:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":27335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30816:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":27333,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"30794:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30794:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27337,"nodeType":"ExpressionStatement","src":"30794:27:19"},{"AST":{"nativeSrc":"30883:185:19","nodeType":"YulBlock","src":"30883:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"30904:4:19","nodeType":"YulLiteral","src":"30904:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"30910:2:19","nodeType":"YulIdentifier","src":"30910:2:19"}],"functionName":{"name":"mstore","nativeSrc":"30897:6:19","nodeType":"YulIdentifier","src":"30897:6:19"},"nativeSrc":"30897:16:19","nodeType":"YulFunctionCall","src":"30897:16:19"},"nativeSrc":"30897:16:19","nodeType":"YulExpressionStatement","src":"30897:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30933:4:19","nodeType":"YulLiteral","src":"30933:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"30939:2:19","nodeType":"YulIdentifier","src":"30939:2:19"}],"functionName":{"name":"mstore","nativeSrc":"30926:6:19","nodeType":"YulIdentifier","src":"30926:6:19"},"nativeSrc":"30926:16:19","nodeType":"YulFunctionCall","src":"30926:16:19"},"nativeSrc":"30926:16:19","nodeType":"YulExpressionStatement","src":"30926:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30962:4:19","nodeType":"YulLiteral","src":"30962:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"30968:2:19","nodeType":"YulIdentifier","src":"30968:2:19"}],"functionName":{"name":"mstore","nativeSrc":"30955:6:19","nodeType":"YulIdentifier","src":"30955:6:19"},"nativeSrc":"30955:16:19","nodeType":"YulFunctionCall","src":"30955:16:19"},"nativeSrc":"30955:16:19","nodeType":"YulExpressionStatement","src":"30955:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"30991:4:19","nodeType":"YulLiteral","src":"30991:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"30997:2:19","nodeType":"YulIdentifier","src":"30997:2:19"}],"functionName":{"name":"mstore","nativeSrc":"30984:6:19","nodeType":"YulIdentifier","src":"30984:6:19"},"nativeSrc":"30984:16:19","nodeType":"YulFunctionCall","src":"30984:16:19"},"nativeSrc":"30984:16:19","nodeType":"YulExpressionStatement","src":"30984:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"31020:4:19","nodeType":"YulLiteral","src":"31020:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"31026:2:19","nodeType":"YulIdentifier","src":"31026:2:19"}],"functionName":{"name":"mstore","nativeSrc":"31013:6:19","nodeType":"YulIdentifier","src":"31013:6:19"},"nativeSrc":"31013:16:19","nodeType":"YulFunctionCall","src":"31013:16:19"},"nativeSrc":"31013:16:19","nodeType":"YulExpressionStatement","src":"31013:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"31049:4:19","nodeType":"YulLiteral","src":"31049:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"31055:2:19","nodeType":"YulIdentifier","src":"31055:2:19"}],"functionName":{"name":"mstore","nativeSrc":"31042:6:19","nodeType":"YulIdentifier","src":"31042:6:19"},"nativeSrc":"31042:16:19","nodeType":"YulFunctionCall","src":"31042:16:19"},"nativeSrc":"31042:16:19","nodeType":"YulExpressionStatement","src":"31042:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27315,"isOffset":false,"isSlot":false,"src":"30910:2:19","valueSize":1},{"declaration":27318,"isOffset":false,"isSlot":false,"src":"30939:2:19","valueSize":1},{"declaration":27321,"isOffset":false,"isSlot":false,"src":"30968:2:19","valueSize":1},{"declaration":27324,"isOffset":false,"isSlot":false,"src":"30997:2:19","valueSize":1},{"declaration":27327,"isOffset":false,"isSlot":false,"src":"31026:2:19","valueSize":1},{"declaration":27330,"isOffset":false,"isSlot":false,"src":"31055:2:19","valueSize":1}],"id":27338,"nodeType":"InlineAssembly","src":"30874:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29785:3:19","parameters":{"id":27312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27307,"mutability":"mutable","name":"p0","nameLocation":"29797:2:19","nodeType":"VariableDeclaration","scope":27340,"src":"29789:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27306,"name":"address","nodeType":"ElementaryTypeName","src":"29789:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27309,"mutability":"mutable","name":"p1","nameLocation":"29809:2:19","nodeType":"VariableDeclaration","scope":27340,"src":"29801:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27308,"name":"uint256","nodeType":"ElementaryTypeName","src":"29801:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27311,"mutability":"mutable","name":"p2","nameLocation":"29821:2:19","nodeType":"VariableDeclaration","scope":27340,"src":"29813:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27310,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29813:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"29788:36:19"},"returnParameters":{"id":27313,"nodeType":"ParameterList","parameters":[],"src":"29839:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27375,"nodeType":"FunctionDefinition","src":"31080:1298:19","nodes":[],"body":{"id":27374,"nodeType":"Block","src":"31143:1235:19","nodes":[],"statements":[{"assignments":[27350],"declarations":[{"constant":false,"id":27350,"mutability":"mutable","name":"m0","nameLocation":"31161:2:19","nodeType":"VariableDeclaration","scope":27374,"src":"31153:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27349,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31153:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27351,"nodeType":"VariableDeclarationStatement","src":"31153:10:19"},{"assignments":[27353],"declarations":[{"constant":false,"id":27353,"mutability":"mutable","name":"m1","nameLocation":"31181:2:19","nodeType":"VariableDeclaration","scope":27374,"src":"31173:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27352,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31173:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27354,"nodeType":"VariableDeclarationStatement","src":"31173:10:19"},{"assignments":[27356],"declarations":[{"constant":false,"id":27356,"mutability":"mutable","name":"m2","nameLocation":"31201:2:19","nodeType":"VariableDeclaration","scope":27374,"src":"31193:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27355,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31193:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27357,"nodeType":"VariableDeclarationStatement","src":"31193:10:19"},{"assignments":[27359],"declarations":[{"constant":false,"id":27359,"mutability":"mutable","name":"m3","nameLocation":"31221:2:19","nodeType":"VariableDeclaration","scope":27374,"src":"31213:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27358,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31213:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27360,"nodeType":"VariableDeclarationStatement","src":"31213:10:19"},{"assignments":[27362],"declarations":[{"constant":false,"id":27362,"mutability":"mutable","name":"m4","nameLocation":"31241:2:19","nodeType":"VariableDeclaration","scope":27374,"src":"31233:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27361,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31233:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27363,"nodeType":"VariableDeclarationStatement","src":"31233:10:19"},{"assignments":[27365],"declarations":[{"constant":false,"id":27365,"mutability":"mutable","name":"m5","nameLocation":"31261:2:19","nodeType":"VariableDeclaration","scope":27374,"src":"31253:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27364,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31253:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27366,"nodeType":"VariableDeclarationStatement","src":"31253:10:19"},{"AST":{"nativeSrc":"31325:764:19","nodeType":"YulBlock","src":"31325:764:19","statements":[{"body":{"nativeSrc":"31368:313:19","nodeType":"YulBlock","src":"31368:313:19","statements":[{"nativeSrc":"31386:15:19","nodeType":"YulVariableDeclaration","src":"31386:15:19","value":{"kind":"number","nativeSrc":"31400:1:19","nodeType":"YulLiteral","src":"31400:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"31390:6:19","nodeType":"YulTypedName","src":"31390:6:19","type":""}]},{"body":{"nativeSrc":"31471:40:19","nodeType":"YulBlock","src":"31471:40:19","statements":[{"body":{"nativeSrc":"31500:9:19","nodeType":"YulBlock","src":"31500:9:19","statements":[{"nativeSrc":"31502:5:19","nodeType":"YulBreak","src":"31502:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"31488:6:19","nodeType":"YulIdentifier","src":"31488:6:19"},{"name":"w","nativeSrc":"31496:1:19","nodeType":"YulIdentifier","src":"31496:1:19"}],"functionName":{"name":"byte","nativeSrc":"31483:4:19","nodeType":"YulIdentifier","src":"31483:4:19"},"nativeSrc":"31483:15:19","nodeType":"YulFunctionCall","src":"31483:15:19"}],"functionName":{"name":"iszero","nativeSrc":"31476:6:19","nodeType":"YulIdentifier","src":"31476:6:19"},"nativeSrc":"31476:23:19","nodeType":"YulFunctionCall","src":"31476:23:19"},"nativeSrc":"31473:36:19","nodeType":"YulIf","src":"31473:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"31428:6:19","nodeType":"YulIdentifier","src":"31428:6:19"},{"kind":"number","nativeSrc":"31436:4:19","nodeType":"YulLiteral","src":"31436:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"31425:2:19","nodeType":"YulIdentifier","src":"31425:2:19"},"nativeSrc":"31425:16:19","nodeType":"YulFunctionCall","src":"31425:16:19"},"nativeSrc":"31418:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"31442:28:19","nodeType":"YulBlock","src":"31442:28:19","statements":[{"nativeSrc":"31444:24:19","nodeType":"YulAssignment","src":"31444:24:19","value":{"arguments":[{"name":"length","nativeSrc":"31458:6:19","nodeType":"YulIdentifier","src":"31458:6:19"},{"kind":"number","nativeSrc":"31466:1:19","nodeType":"YulLiteral","src":"31466:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"31454:3:19","nodeType":"YulIdentifier","src":"31454:3:19"},"nativeSrc":"31454:14:19","nodeType":"YulFunctionCall","src":"31454:14:19"},"variableNames":[{"name":"length","nativeSrc":"31444:6:19","nodeType":"YulIdentifier","src":"31444:6:19"}]}]},"pre":{"nativeSrc":"31422:2:19","nodeType":"YulBlock","src":"31422:2:19","statements":[]},"src":"31418:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"31535:3:19","nodeType":"YulIdentifier","src":"31535:3:19"},{"name":"length","nativeSrc":"31540:6:19","nodeType":"YulIdentifier","src":"31540:6:19"}],"functionName":{"name":"mstore","nativeSrc":"31528:6:19","nodeType":"YulIdentifier","src":"31528:6:19"},"nativeSrc":"31528:19:19","nodeType":"YulFunctionCall","src":"31528:19:19"},"nativeSrc":"31528:19:19","nodeType":"YulExpressionStatement","src":"31528:19:19"},{"nativeSrc":"31564:37:19","nodeType":"YulVariableDeclaration","src":"31564:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"31581:3:19","nodeType":"YulLiteral","src":"31581:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"31590:1:19","nodeType":"YulLiteral","src":"31590:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"31593:6:19","nodeType":"YulIdentifier","src":"31593:6:19"}],"functionName":{"name":"shl","nativeSrc":"31586:3:19","nodeType":"YulIdentifier","src":"31586:3:19"},"nativeSrc":"31586:14:19","nodeType":"YulFunctionCall","src":"31586:14:19"}],"functionName":{"name":"sub","nativeSrc":"31577:3:19","nodeType":"YulIdentifier","src":"31577:3:19"},"nativeSrc":"31577:24:19","nodeType":"YulFunctionCall","src":"31577:24:19"},"variables":[{"name":"shift","nativeSrc":"31568:5:19","nodeType":"YulTypedName","src":"31568:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"31629:3:19","nodeType":"YulIdentifier","src":"31629:3:19"},{"kind":"number","nativeSrc":"31634:4:19","nodeType":"YulLiteral","src":"31634:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"31625:3:19","nodeType":"YulIdentifier","src":"31625:3:19"},"nativeSrc":"31625:14:19","nodeType":"YulFunctionCall","src":"31625:14:19"},{"arguments":[{"name":"shift","nativeSrc":"31645:5:19","nodeType":"YulIdentifier","src":"31645:5:19"},{"arguments":[{"name":"shift","nativeSrc":"31656:5:19","nodeType":"YulIdentifier","src":"31656:5:19"},{"name":"w","nativeSrc":"31663:1:19","nodeType":"YulIdentifier","src":"31663:1:19"}],"functionName":{"name":"shr","nativeSrc":"31652:3:19","nodeType":"YulIdentifier","src":"31652:3:19"},"nativeSrc":"31652:13:19","nodeType":"YulFunctionCall","src":"31652:13:19"}],"functionName":{"name":"shl","nativeSrc":"31641:3:19","nodeType":"YulIdentifier","src":"31641:3:19"},"nativeSrc":"31641:25:19","nodeType":"YulFunctionCall","src":"31641:25:19"}],"functionName":{"name":"mstore","nativeSrc":"31618:6:19","nodeType":"YulIdentifier","src":"31618:6:19"},"nativeSrc":"31618:49:19","nodeType":"YulFunctionCall","src":"31618:49:19"},"nativeSrc":"31618:49:19","nodeType":"YulExpressionStatement","src":"31618:49:19"}]},"name":"writeString","nativeSrc":"31339:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"31360:3:19","nodeType":"YulTypedName","src":"31360:3:19","type":""},{"name":"w","nativeSrc":"31365:1:19","nodeType":"YulTypedName","src":"31365:1:19","type":""}],"src":"31339:342:19"},{"nativeSrc":"31694:17:19","nodeType":"YulAssignment","src":"31694:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"31706:4:19","nodeType":"YulLiteral","src":"31706:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"31700:5:19","nodeType":"YulIdentifier","src":"31700:5:19"},"nativeSrc":"31700:11:19","nodeType":"YulFunctionCall","src":"31700:11:19"},"variableNames":[{"name":"m0","nativeSrc":"31694:2:19","nodeType":"YulIdentifier","src":"31694:2:19"}]},{"nativeSrc":"31724:17:19","nodeType":"YulAssignment","src":"31724:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"31736:4:19","nodeType":"YulLiteral","src":"31736:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"31730:5:19","nodeType":"YulIdentifier","src":"31730:5:19"},"nativeSrc":"31730:11:19","nodeType":"YulFunctionCall","src":"31730:11:19"},"variableNames":[{"name":"m1","nativeSrc":"31724:2:19","nodeType":"YulIdentifier","src":"31724:2:19"}]},{"nativeSrc":"31754:17:19","nodeType":"YulAssignment","src":"31754:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"31766:4:19","nodeType":"YulLiteral","src":"31766:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"31760:5:19","nodeType":"YulIdentifier","src":"31760:5:19"},"nativeSrc":"31760:11:19","nodeType":"YulFunctionCall","src":"31760:11:19"},"variableNames":[{"name":"m2","nativeSrc":"31754:2:19","nodeType":"YulIdentifier","src":"31754:2:19"}]},{"nativeSrc":"31784:17:19","nodeType":"YulAssignment","src":"31784:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"31796:4:19","nodeType":"YulLiteral","src":"31796:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"31790:5:19","nodeType":"YulIdentifier","src":"31790:5:19"},"nativeSrc":"31790:11:19","nodeType":"YulFunctionCall","src":"31790:11:19"},"variableNames":[{"name":"m3","nativeSrc":"31784:2:19","nodeType":"YulIdentifier","src":"31784:2:19"}]},{"nativeSrc":"31814:17:19","nodeType":"YulAssignment","src":"31814:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"31826:4:19","nodeType":"YulLiteral","src":"31826:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"31820:5:19","nodeType":"YulIdentifier","src":"31820:5:19"},"nativeSrc":"31820:11:19","nodeType":"YulFunctionCall","src":"31820:11:19"},"variableNames":[{"name":"m4","nativeSrc":"31814:2:19","nodeType":"YulIdentifier","src":"31814:2:19"}]},{"nativeSrc":"31844:17:19","nodeType":"YulAssignment","src":"31844:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"31856:4:19","nodeType":"YulLiteral","src":"31856:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"31850:5:19","nodeType":"YulIdentifier","src":"31850:5:19"},"nativeSrc":"31850:11:19","nodeType":"YulFunctionCall","src":"31850:11:19"},"variableNames":[{"name":"m5","nativeSrc":"31844:2:19","nodeType":"YulIdentifier","src":"31844:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"31939:4:19","nodeType":"YulLiteral","src":"31939:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"31945:10:19","nodeType":"YulLiteral","src":"31945:10:19","type":"","value":"0xf08744e8"}],"functionName":{"name":"mstore","nativeSrc":"31932:6:19","nodeType":"YulIdentifier","src":"31932:6:19"},"nativeSrc":"31932:24:19","nodeType":"YulFunctionCall","src":"31932:24:19"},"nativeSrc":"31932:24:19","nodeType":"YulExpressionStatement","src":"31932:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"31976:4:19","nodeType":"YulLiteral","src":"31976:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"31982:2:19","nodeType":"YulIdentifier","src":"31982:2:19"}],"functionName":{"name":"mstore","nativeSrc":"31969:6:19","nodeType":"YulIdentifier","src":"31969:6:19"},"nativeSrc":"31969:16:19","nodeType":"YulFunctionCall","src":"31969:16:19"},"nativeSrc":"31969:16:19","nodeType":"YulExpressionStatement","src":"31969:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"32005:4:19","nodeType":"YulLiteral","src":"32005:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"32011:4:19","nodeType":"YulLiteral","src":"32011:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"31998:6:19","nodeType":"YulIdentifier","src":"31998:6:19"},"nativeSrc":"31998:18:19","nodeType":"YulFunctionCall","src":"31998:18:19"},"nativeSrc":"31998:18:19","nodeType":"YulExpressionStatement","src":"31998:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"32036:4:19","nodeType":"YulLiteral","src":"32036:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"32042:2:19","nodeType":"YulIdentifier","src":"32042:2:19"}],"functionName":{"name":"mstore","nativeSrc":"32029:6:19","nodeType":"YulIdentifier","src":"32029:6:19"},"nativeSrc":"32029:16:19","nodeType":"YulFunctionCall","src":"32029:16:19"},"nativeSrc":"32029:16:19","nodeType":"YulExpressionStatement","src":"32029:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"32070:4:19","nodeType":"YulLiteral","src":"32070:4:19","type":"","value":"0x80"},{"name":"p1","nativeSrc":"32076:2:19","nodeType":"YulIdentifier","src":"32076:2:19"}],"functionName":{"name":"writeString","nativeSrc":"32058:11:19","nodeType":"YulIdentifier","src":"32058:11:19"},"nativeSrc":"32058:21:19","nodeType":"YulFunctionCall","src":"32058:21:19"},"nativeSrc":"32058:21:19","nodeType":"YulExpressionStatement","src":"32058:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27350,"isOffset":false,"isSlot":false,"src":"31694:2:19","valueSize":1},{"declaration":27353,"isOffset":false,"isSlot":false,"src":"31724:2:19","valueSize":1},{"declaration":27356,"isOffset":false,"isSlot":false,"src":"31754:2:19","valueSize":1},{"declaration":27359,"isOffset":false,"isSlot":false,"src":"31784:2:19","valueSize":1},{"declaration":27362,"isOffset":false,"isSlot":false,"src":"31814:2:19","valueSize":1},{"declaration":27365,"isOffset":false,"isSlot":false,"src":"31844:2:19","valueSize":1},{"declaration":27342,"isOffset":false,"isSlot":false,"src":"31982:2:19","valueSize":1},{"declaration":27344,"isOffset":false,"isSlot":false,"src":"32076:2:19","valueSize":1},{"declaration":27346,"isOffset":false,"isSlot":false,"src":"32042:2:19","valueSize":1}],"id":27367,"nodeType":"InlineAssembly","src":"31316:773:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32114:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":27370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32120:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":27368,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"32098:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32098:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27372,"nodeType":"ExpressionStatement","src":"32098:27:19"},{"AST":{"nativeSrc":"32187:185:19","nodeType":"YulBlock","src":"32187:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"32208:4:19","nodeType":"YulLiteral","src":"32208:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"32214:2:19","nodeType":"YulIdentifier","src":"32214:2:19"}],"functionName":{"name":"mstore","nativeSrc":"32201:6:19","nodeType":"YulIdentifier","src":"32201:6:19"},"nativeSrc":"32201:16:19","nodeType":"YulFunctionCall","src":"32201:16:19"},"nativeSrc":"32201:16:19","nodeType":"YulExpressionStatement","src":"32201:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"32237:4:19","nodeType":"YulLiteral","src":"32237:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"32243:2:19","nodeType":"YulIdentifier","src":"32243:2:19"}],"functionName":{"name":"mstore","nativeSrc":"32230:6:19","nodeType":"YulIdentifier","src":"32230:6:19"},"nativeSrc":"32230:16:19","nodeType":"YulFunctionCall","src":"32230:16:19"},"nativeSrc":"32230:16:19","nodeType":"YulExpressionStatement","src":"32230:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"32266:4:19","nodeType":"YulLiteral","src":"32266:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"32272:2:19","nodeType":"YulIdentifier","src":"32272:2:19"}],"functionName":{"name":"mstore","nativeSrc":"32259:6:19","nodeType":"YulIdentifier","src":"32259:6:19"},"nativeSrc":"32259:16:19","nodeType":"YulFunctionCall","src":"32259:16:19"},"nativeSrc":"32259:16:19","nodeType":"YulExpressionStatement","src":"32259:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"32295:4:19","nodeType":"YulLiteral","src":"32295:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"32301:2:19","nodeType":"YulIdentifier","src":"32301:2:19"}],"functionName":{"name":"mstore","nativeSrc":"32288:6:19","nodeType":"YulIdentifier","src":"32288:6:19"},"nativeSrc":"32288:16:19","nodeType":"YulFunctionCall","src":"32288:16:19"},"nativeSrc":"32288:16:19","nodeType":"YulExpressionStatement","src":"32288:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"32324:4:19","nodeType":"YulLiteral","src":"32324:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"32330:2:19","nodeType":"YulIdentifier","src":"32330:2:19"}],"functionName":{"name":"mstore","nativeSrc":"32317:6:19","nodeType":"YulIdentifier","src":"32317:6:19"},"nativeSrc":"32317:16:19","nodeType":"YulFunctionCall","src":"32317:16:19"},"nativeSrc":"32317:16:19","nodeType":"YulExpressionStatement","src":"32317:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"32353:4:19","nodeType":"YulLiteral","src":"32353:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"32359:2:19","nodeType":"YulIdentifier","src":"32359:2:19"}],"functionName":{"name":"mstore","nativeSrc":"32346:6:19","nodeType":"YulIdentifier","src":"32346:6:19"},"nativeSrc":"32346:16:19","nodeType":"YulFunctionCall","src":"32346:16:19"},"nativeSrc":"32346:16:19","nodeType":"YulExpressionStatement","src":"32346:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27350,"isOffset":false,"isSlot":false,"src":"32214:2:19","valueSize":1},{"declaration":27353,"isOffset":false,"isSlot":false,"src":"32243:2:19","valueSize":1},{"declaration":27356,"isOffset":false,"isSlot":false,"src":"32272:2:19","valueSize":1},{"declaration":27359,"isOffset":false,"isSlot":false,"src":"32301:2:19","valueSize":1},{"declaration":27362,"isOffset":false,"isSlot":false,"src":"32330:2:19","valueSize":1},{"declaration":27365,"isOffset":false,"isSlot":false,"src":"32359:2:19","valueSize":1}],"id":27373,"nodeType":"InlineAssembly","src":"32178:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31089:3:19","parameters":{"id":27347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27342,"mutability":"mutable","name":"p0","nameLocation":"31101:2:19","nodeType":"VariableDeclaration","scope":27375,"src":"31093:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27341,"name":"address","nodeType":"ElementaryTypeName","src":"31093:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27344,"mutability":"mutable","name":"p1","nameLocation":"31113:2:19","nodeType":"VariableDeclaration","scope":27375,"src":"31105:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27343,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31105:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":27346,"mutability":"mutable","name":"p2","nameLocation":"31125:2:19","nodeType":"VariableDeclaration","scope":27375,"src":"31117:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27345,"name":"address","nodeType":"ElementaryTypeName","src":"31117:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31092:36:19"},"returnParameters":{"id":27348,"nodeType":"ParameterList","parameters":[],"src":"31143:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27410,"nodeType":"FunctionDefinition","src":"32384:1292:19","nodes":[],"body":{"id":27409,"nodeType":"Block","src":"32444:1232:19","nodes":[],"statements":[{"assignments":[27385],"declarations":[{"constant":false,"id":27385,"mutability":"mutable","name":"m0","nameLocation":"32462:2:19","nodeType":"VariableDeclaration","scope":27409,"src":"32454:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27384,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32454:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27386,"nodeType":"VariableDeclarationStatement","src":"32454:10:19"},{"assignments":[27388],"declarations":[{"constant":false,"id":27388,"mutability":"mutable","name":"m1","nameLocation":"32482:2:19","nodeType":"VariableDeclaration","scope":27409,"src":"32474:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27387,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32474:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27389,"nodeType":"VariableDeclarationStatement","src":"32474:10:19"},{"assignments":[27391],"declarations":[{"constant":false,"id":27391,"mutability":"mutable","name":"m2","nameLocation":"32502:2:19","nodeType":"VariableDeclaration","scope":27409,"src":"32494:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27390,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32494:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27392,"nodeType":"VariableDeclarationStatement","src":"32494:10:19"},{"assignments":[27394],"declarations":[{"constant":false,"id":27394,"mutability":"mutable","name":"m3","nameLocation":"32522:2:19","nodeType":"VariableDeclaration","scope":27409,"src":"32514:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27393,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32514:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27395,"nodeType":"VariableDeclarationStatement","src":"32514:10:19"},{"assignments":[27397],"declarations":[{"constant":false,"id":27397,"mutability":"mutable","name":"m4","nameLocation":"32542:2:19","nodeType":"VariableDeclaration","scope":27409,"src":"32534:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27396,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32534:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27398,"nodeType":"VariableDeclarationStatement","src":"32534:10:19"},{"assignments":[27400],"declarations":[{"constant":false,"id":27400,"mutability":"mutable","name":"m5","nameLocation":"32562:2:19","nodeType":"VariableDeclaration","scope":27409,"src":"32554:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27399,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32554:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27401,"nodeType":"VariableDeclarationStatement","src":"32554:10:19"},{"AST":{"nativeSrc":"32626:761:19","nodeType":"YulBlock","src":"32626:761:19","statements":[{"body":{"nativeSrc":"32669:313:19","nodeType":"YulBlock","src":"32669:313:19","statements":[{"nativeSrc":"32687:15:19","nodeType":"YulVariableDeclaration","src":"32687:15:19","value":{"kind":"number","nativeSrc":"32701:1:19","nodeType":"YulLiteral","src":"32701:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"32691:6:19","nodeType":"YulTypedName","src":"32691:6:19","type":""}]},{"body":{"nativeSrc":"32772:40:19","nodeType":"YulBlock","src":"32772:40:19","statements":[{"body":{"nativeSrc":"32801:9:19","nodeType":"YulBlock","src":"32801:9:19","statements":[{"nativeSrc":"32803:5:19","nodeType":"YulBreak","src":"32803:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"32789:6:19","nodeType":"YulIdentifier","src":"32789:6:19"},{"name":"w","nativeSrc":"32797:1:19","nodeType":"YulIdentifier","src":"32797:1:19"}],"functionName":{"name":"byte","nativeSrc":"32784:4:19","nodeType":"YulIdentifier","src":"32784:4:19"},"nativeSrc":"32784:15:19","nodeType":"YulFunctionCall","src":"32784:15:19"}],"functionName":{"name":"iszero","nativeSrc":"32777:6:19","nodeType":"YulIdentifier","src":"32777:6:19"},"nativeSrc":"32777:23:19","nodeType":"YulFunctionCall","src":"32777:23:19"},"nativeSrc":"32774:36:19","nodeType":"YulIf","src":"32774:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"32729:6:19","nodeType":"YulIdentifier","src":"32729:6:19"},{"kind":"number","nativeSrc":"32737:4:19","nodeType":"YulLiteral","src":"32737:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"32726:2:19","nodeType":"YulIdentifier","src":"32726:2:19"},"nativeSrc":"32726:16:19","nodeType":"YulFunctionCall","src":"32726:16:19"},"nativeSrc":"32719:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"32743:28:19","nodeType":"YulBlock","src":"32743:28:19","statements":[{"nativeSrc":"32745:24:19","nodeType":"YulAssignment","src":"32745:24:19","value":{"arguments":[{"name":"length","nativeSrc":"32759:6:19","nodeType":"YulIdentifier","src":"32759:6:19"},{"kind":"number","nativeSrc":"32767:1:19","nodeType":"YulLiteral","src":"32767:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"32755:3:19","nodeType":"YulIdentifier","src":"32755:3:19"},"nativeSrc":"32755:14:19","nodeType":"YulFunctionCall","src":"32755:14:19"},"variableNames":[{"name":"length","nativeSrc":"32745:6:19","nodeType":"YulIdentifier","src":"32745:6:19"}]}]},"pre":{"nativeSrc":"32723:2:19","nodeType":"YulBlock","src":"32723:2:19","statements":[]},"src":"32719:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"32836:3:19","nodeType":"YulIdentifier","src":"32836:3:19"},{"name":"length","nativeSrc":"32841:6:19","nodeType":"YulIdentifier","src":"32841:6:19"}],"functionName":{"name":"mstore","nativeSrc":"32829:6:19","nodeType":"YulIdentifier","src":"32829:6:19"},"nativeSrc":"32829:19:19","nodeType":"YulFunctionCall","src":"32829:19:19"},"nativeSrc":"32829:19:19","nodeType":"YulExpressionStatement","src":"32829:19:19"},{"nativeSrc":"32865:37:19","nodeType":"YulVariableDeclaration","src":"32865:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"32882:3:19","nodeType":"YulLiteral","src":"32882:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"32891:1:19","nodeType":"YulLiteral","src":"32891:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"32894:6:19","nodeType":"YulIdentifier","src":"32894:6:19"}],"functionName":{"name":"shl","nativeSrc":"32887:3:19","nodeType":"YulIdentifier","src":"32887:3:19"},"nativeSrc":"32887:14:19","nodeType":"YulFunctionCall","src":"32887:14:19"}],"functionName":{"name":"sub","nativeSrc":"32878:3:19","nodeType":"YulIdentifier","src":"32878:3:19"},"nativeSrc":"32878:24:19","nodeType":"YulFunctionCall","src":"32878:24:19"},"variables":[{"name":"shift","nativeSrc":"32869:5:19","nodeType":"YulTypedName","src":"32869:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"32930:3:19","nodeType":"YulIdentifier","src":"32930:3:19"},{"kind":"number","nativeSrc":"32935:4:19","nodeType":"YulLiteral","src":"32935:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"32926:3:19","nodeType":"YulIdentifier","src":"32926:3:19"},"nativeSrc":"32926:14:19","nodeType":"YulFunctionCall","src":"32926:14:19"},{"arguments":[{"name":"shift","nativeSrc":"32946:5:19","nodeType":"YulIdentifier","src":"32946:5:19"},{"arguments":[{"name":"shift","nativeSrc":"32957:5:19","nodeType":"YulIdentifier","src":"32957:5:19"},{"name":"w","nativeSrc":"32964:1:19","nodeType":"YulIdentifier","src":"32964:1:19"}],"functionName":{"name":"shr","nativeSrc":"32953:3:19","nodeType":"YulIdentifier","src":"32953:3:19"},"nativeSrc":"32953:13:19","nodeType":"YulFunctionCall","src":"32953:13:19"}],"functionName":{"name":"shl","nativeSrc":"32942:3:19","nodeType":"YulIdentifier","src":"32942:3:19"},"nativeSrc":"32942:25:19","nodeType":"YulFunctionCall","src":"32942:25:19"}],"functionName":{"name":"mstore","nativeSrc":"32919:6:19","nodeType":"YulIdentifier","src":"32919:6:19"},"nativeSrc":"32919:49:19","nodeType":"YulFunctionCall","src":"32919:49:19"},"nativeSrc":"32919:49:19","nodeType":"YulExpressionStatement","src":"32919:49:19"}]},"name":"writeString","nativeSrc":"32640:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"32661:3:19","nodeType":"YulTypedName","src":"32661:3:19","type":""},{"name":"w","nativeSrc":"32666:1:19","nodeType":"YulTypedName","src":"32666:1:19","type":""}],"src":"32640:342:19"},{"nativeSrc":"32995:17:19","nodeType":"YulAssignment","src":"32995:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"33007:4:19","nodeType":"YulLiteral","src":"33007:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"33001:5:19","nodeType":"YulIdentifier","src":"33001:5:19"},"nativeSrc":"33001:11:19","nodeType":"YulFunctionCall","src":"33001:11:19"},"variableNames":[{"name":"m0","nativeSrc":"32995:2:19","nodeType":"YulIdentifier","src":"32995:2:19"}]},{"nativeSrc":"33025:17:19","nodeType":"YulAssignment","src":"33025:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"33037:4:19","nodeType":"YulLiteral","src":"33037:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"33031:5:19","nodeType":"YulIdentifier","src":"33031:5:19"},"nativeSrc":"33031:11:19","nodeType":"YulFunctionCall","src":"33031:11:19"},"variableNames":[{"name":"m1","nativeSrc":"33025:2:19","nodeType":"YulIdentifier","src":"33025:2:19"}]},{"nativeSrc":"33055:17:19","nodeType":"YulAssignment","src":"33055:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"33067:4:19","nodeType":"YulLiteral","src":"33067:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"33061:5:19","nodeType":"YulIdentifier","src":"33061:5:19"},"nativeSrc":"33061:11:19","nodeType":"YulFunctionCall","src":"33061:11:19"},"variableNames":[{"name":"m2","nativeSrc":"33055:2:19","nodeType":"YulIdentifier","src":"33055:2:19"}]},{"nativeSrc":"33085:17:19","nodeType":"YulAssignment","src":"33085:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"33097:4:19","nodeType":"YulLiteral","src":"33097:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"33091:5:19","nodeType":"YulIdentifier","src":"33091:5:19"},"nativeSrc":"33091:11:19","nodeType":"YulFunctionCall","src":"33091:11:19"},"variableNames":[{"name":"m3","nativeSrc":"33085:2:19","nodeType":"YulIdentifier","src":"33085:2:19"}]},{"nativeSrc":"33115:17:19","nodeType":"YulAssignment","src":"33115:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"33127:4:19","nodeType":"YulLiteral","src":"33127:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"33121:5:19","nodeType":"YulIdentifier","src":"33121:5:19"},"nativeSrc":"33121:11:19","nodeType":"YulFunctionCall","src":"33121:11:19"},"variableNames":[{"name":"m4","nativeSrc":"33115:2:19","nodeType":"YulIdentifier","src":"33115:2:19"}]},{"nativeSrc":"33145:17:19","nodeType":"YulAssignment","src":"33145:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"33157:4:19","nodeType":"YulLiteral","src":"33157:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"33151:5:19","nodeType":"YulIdentifier","src":"33151:5:19"},"nativeSrc":"33151:11:19","nodeType":"YulFunctionCall","src":"33151:11:19"},"variableNames":[{"name":"m5","nativeSrc":"33145:2:19","nodeType":"YulIdentifier","src":"33145:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33237:4:19","nodeType":"YulLiteral","src":"33237:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"33243:10:19","nodeType":"YulLiteral","src":"33243:10:19","type":"","value":"0xcf020fb1"}],"functionName":{"name":"mstore","nativeSrc":"33230:6:19","nodeType":"YulIdentifier","src":"33230:6:19"},"nativeSrc":"33230:24:19","nodeType":"YulFunctionCall","src":"33230:24:19"},"nativeSrc":"33230:24:19","nodeType":"YulExpressionStatement","src":"33230:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33274:4:19","nodeType":"YulLiteral","src":"33274:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"33280:2:19","nodeType":"YulIdentifier","src":"33280:2:19"}],"functionName":{"name":"mstore","nativeSrc":"33267:6:19","nodeType":"YulIdentifier","src":"33267:6:19"},"nativeSrc":"33267:16:19","nodeType":"YulFunctionCall","src":"33267:16:19"},"nativeSrc":"33267:16:19","nodeType":"YulExpressionStatement","src":"33267:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33303:4:19","nodeType":"YulLiteral","src":"33303:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"33309:4:19","nodeType":"YulLiteral","src":"33309:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"33296:6:19","nodeType":"YulIdentifier","src":"33296:6:19"},"nativeSrc":"33296:18:19","nodeType":"YulFunctionCall","src":"33296:18:19"},"nativeSrc":"33296:18:19","nodeType":"YulExpressionStatement","src":"33296:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33334:4:19","nodeType":"YulLiteral","src":"33334:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"33340:2:19","nodeType":"YulIdentifier","src":"33340:2:19"}],"functionName":{"name":"mstore","nativeSrc":"33327:6:19","nodeType":"YulIdentifier","src":"33327:6:19"},"nativeSrc":"33327:16:19","nodeType":"YulFunctionCall","src":"33327:16:19"},"nativeSrc":"33327:16:19","nodeType":"YulExpressionStatement","src":"33327:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33368:4:19","nodeType":"YulLiteral","src":"33368:4:19","type":"","value":"0x80"},{"name":"p1","nativeSrc":"33374:2:19","nodeType":"YulIdentifier","src":"33374:2:19"}],"functionName":{"name":"writeString","nativeSrc":"33356:11:19","nodeType":"YulIdentifier","src":"33356:11:19"},"nativeSrc":"33356:21:19","nodeType":"YulFunctionCall","src":"33356:21:19"},"nativeSrc":"33356:21:19","nodeType":"YulExpressionStatement","src":"33356:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27385,"isOffset":false,"isSlot":false,"src":"32995:2:19","valueSize":1},{"declaration":27388,"isOffset":false,"isSlot":false,"src":"33025:2:19","valueSize":1},{"declaration":27391,"isOffset":false,"isSlot":false,"src":"33055:2:19","valueSize":1},{"declaration":27394,"isOffset":false,"isSlot":false,"src":"33085:2:19","valueSize":1},{"declaration":27397,"isOffset":false,"isSlot":false,"src":"33115:2:19","valueSize":1},{"declaration":27400,"isOffset":false,"isSlot":false,"src":"33145:2:19","valueSize":1},{"declaration":27377,"isOffset":false,"isSlot":false,"src":"33280:2:19","valueSize":1},{"declaration":27379,"isOffset":false,"isSlot":false,"src":"33374:2:19","valueSize":1},{"declaration":27381,"isOffset":false,"isSlot":false,"src":"33340:2:19","valueSize":1}],"id":27402,"nodeType":"InlineAssembly","src":"32617:770:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33412:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":27405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33418:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":27403,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"33396:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33396:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27407,"nodeType":"ExpressionStatement","src":"33396:27:19"},{"AST":{"nativeSrc":"33485:185:19","nodeType":"YulBlock","src":"33485:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"33506:4:19","nodeType":"YulLiteral","src":"33506:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"33512:2:19","nodeType":"YulIdentifier","src":"33512:2:19"}],"functionName":{"name":"mstore","nativeSrc":"33499:6:19","nodeType":"YulIdentifier","src":"33499:6:19"},"nativeSrc":"33499:16:19","nodeType":"YulFunctionCall","src":"33499:16:19"},"nativeSrc":"33499:16:19","nodeType":"YulExpressionStatement","src":"33499:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33535:4:19","nodeType":"YulLiteral","src":"33535:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"33541:2:19","nodeType":"YulIdentifier","src":"33541:2:19"}],"functionName":{"name":"mstore","nativeSrc":"33528:6:19","nodeType":"YulIdentifier","src":"33528:6:19"},"nativeSrc":"33528:16:19","nodeType":"YulFunctionCall","src":"33528:16:19"},"nativeSrc":"33528:16:19","nodeType":"YulExpressionStatement","src":"33528:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33564:4:19","nodeType":"YulLiteral","src":"33564:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"33570:2:19","nodeType":"YulIdentifier","src":"33570:2:19"}],"functionName":{"name":"mstore","nativeSrc":"33557:6:19","nodeType":"YulIdentifier","src":"33557:6:19"},"nativeSrc":"33557:16:19","nodeType":"YulFunctionCall","src":"33557:16:19"},"nativeSrc":"33557:16:19","nodeType":"YulExpressionStatement","src":"33557:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33593:4:19","nodeType":"YulLiteral","src":"33593:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"33599:2:19","nodeType":"YulIdentifier","src":"33599:2:19"}],"functionName":{"name":"mstore","nativeSrc":"33586:6:19","nodeType":"YulIdentifier","src":"33586:6:19"},"nativeSrc":"33586:16:19","nodeType":"YulFunctionCall","src":"33586:16:19"},"nativeSrc":"33586:16:19","nodeType":"YulExpressionStatement","src":"33586:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33622:4:19","nodeType":"YulLiteral","src":"33622:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"33628:2:19","nodeType":"YulIdentifier","src":"33628:2:19"}],"functionName":{"name":"mstore","nativeSrc":"33615:6:19","nodeType":"YulIdentifier","src":"33615:6:19"},"nativeSrc":"33615:16:19","nodeType":"YulFunctionCall","src":"33615:16:19"},"nativeSrc":"33615:16:19","nodeType":"YulExpressionStatement","src":"33615:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"33651:4:19","nodeType":"YulLiteral","src":"33651:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"33657:2:19","nodeType":"YulIdentifier","src":"33657:2:19"}],"functionName":{"name":"mstore","nativeSrc":"33644:6:19","nodeType":"YulIdentifier","src":"33644:6:19"},"nativeSrc":"33644:16:19","nodeType":"YulFunctionCall","src":"33644:16:19"},"nativeSrc":"33644:16:19","nodeType":"YulExpressionStatement","src":"33644:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27385,"isOffset":false,"isSlot":false,"src":"33512:2:19","valueSize":1},{"declaration":27388,"isOffset":false,"isSlot":false,"src":"33541:2:19","valueSize":1},{"declaration":27391,"isOffset":false,"isSlot":false,"src":"33570:2:19","valueSize":1},{"declaration":27394,"isOffset":false,"isSlot":false,"src":"33599:2:19","valueSize":1},{"declaration":27397,"isOffset":false,"isSlot":false,"src":"33628:2:19","valueSize":1},{"declaration":27400,"isOffset":false,"isSlot":false,"src":"33657:2:19","valueSize":1}],"id":27408,"nodeType":"InlineAssembly","src":"33476:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32393:3:19","parameters":{"id":27382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27377,"mutability":"mutable","name":"p0","nameLocation":"32405:2:19","nodeType":"VariableDeclaration","scope":27410,"src":"32397:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27376,"name":"address","nodeType":"ElementaryTypeName","src":"32397:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27379,"mutability":"mutable","name":"p1","nameLocation":"32417:2:19","nodeType":"VariableDeclaration","scope":27410,"src":"32409:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27378,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32409:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":27381,"mutability":"mutable","name":"p2","nameLocation":"32426:2:19","nodeType":"VariableDeclaration","scope":27410,"src":"32421:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27380,"name":"bool","nodeType":"ElementaryTypeName","src":"32421:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32396:33:19"},"returnParameters":{"id":27383,"nodeType":"ParameterList","parameters":[],"src":"32444:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27445,"nodeType":"FunctionDefinition","src":"33682:1298:19","nodes":[],"body":{"id":27444,"nodeType":"Block","src":"33745:1235:19","nodes":[],"statements":[{"assignments":[27420],"declarations":[{"constant":false,"id":27420,"mutability":"mutable","name":"m0","nameLocation":"33763:2:19","nodeType":"VariableDeclaration","scope":27444,"src":"33755:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27419,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33755:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27421,"nodeType":"VariableDeclarationStatement","src":"33755:10:19"},{"assignments":[27423],"declarations":[{"constant":false,"id":27423,"mutability":"mutable","name":"m1","nameLocation":"33783:2:19","nodeType":"VariableDeclaration","scope":27444,"src":"33775:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27422,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33775:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27424,"nodeType":"VariableDeclarationStatement","src":"33775:10:19"},{"assignments":[27426],"declarations":[{"constant":false,"id":27426,"mutability":"mutable","name":"m2","nameLocation":"33803:2:19","nodeType":"VariableDeclaration","scope":27444,"src":"33795:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27425,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33795:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27427,"nodeType":"VariableDeclarationStatement","src":"33795:10:19"},{"assignments":[27429],"declarations":[{"constant":false,"id":27429,"mutability":"mutable","name":"m3","nameLocation":"33823:2:19","nodeType":"VariableDeclaration","scope":27444,"src":"33815:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27428,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33815:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27430,"nodeType":"VariableDeclarationStatement","src":"33815:10:19"},{"assignments":[27432],"declarations":[{"constant":false,"id":27432,"mutability":"mutable","name":"m4","nameLocation":"33843:2:19","nodeType":"VariableDeclaration","scope":27444,"src":"33835:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33835:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27433,"nodeType":"VariableDeclarationStatement","src":"33835:10:19"},{"assignments":[27435],"declarations":[{"constant":false,"id":27435,"mutability":"mutable","name":"m5","nameLocation":"33863:2:19","nodeType":"VariableDeclaration","scope":27444,"src":"33855:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27434,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33855:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27436,"nodeType":"VariableDeclarationStatement","src":"33855:10:19"},{"AST":{"nativeSrc":"33927:764:19","nodeType":"YulBlock","src":"33927:764:19","statements":[{"body":{"nativeSrc":"33970:313:19","nodeType":"YulBlock","src":"33970:313:19","statements":[{"nativeSrc":"33988:15:19","nodeType":"YulVariableDeclaration","src":"33988:15:19","value":{"kind":"number","nativeSrc":"34002:1:19","nodeType":"YulLiteral","src":"34002:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"33992:6:19","nodeType":"YulTypedName","src":"33992:6:19","type":""}]},{"body":{"nativeSrc":"34073:40:19","nodeType":"YulBlock","src":"34073:40:19","statements":[{"body":{"nativeSrc":"34102:9:19","nodeType":"YulBlock","src":"34102:9:19","statements":[{"nativeSrc":"34104:5:19","nodeType":"YulBreak","src":"34104:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"34090:6:19","nodeType":"YulIdentifier","src":"34090:6:19"},{"name":"w","nativeSrc":"34098:1:19","nodeType":"YulIdentifier","src":"34098:1:19"}],"functionName":{"name":"byte","nativeSrc":"34085:4:19","nodeType":"YulIdentifier","src":"34085:4:19"},"nativeSrc":"34085:15:19","nodeType":"YulFunctionCall","src":"34085:15:19"}],"functionName":{"name":"iszero","nativeSrc":"34078:6:19","nodeType":"YulIdentifier","src":"34078:6:19"},"nativeSrc":"34078:23:19","nodeType":"YulFunctionCall","src":"34078:23:19"},"nativeSrc":"34075:36:19","nodeType":"YulIf","src":"34075:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"34030:6:19","nodeType":"YulIdentifier","src":"34030:6:19"},{"kind":"number","nativeSrc":"34038:4:19","nodeType":"YulLiteral","src":"34038:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"34027:2:19","nodeType":"YulIdentifier","src":"34027:2:19"},"nativeSrc":"34027:16:19","nodeType":"YulFunctionCall","src":"34027:16:19"},"nativeSrc":"34020:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"34044:28:19","nodeType":"YulBlock","src":"34044:28:19","statements":[{"nativeSrc":"34046:24:19","nodeType":"YulAssignment","src":"34046:24:19","value":{"arguments":[{"name":"length","nativeSrc":"34060:6:19","nodeType":"YulIdentifier","src":"34060:6:19"},{"kind":"number","nativeSrc":"34068:1:19","nodeType":"YulLiteral","src":"34068:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"34056:3:19","nodeType":"YulIdentifier","src":"34056:3:19"},"nativeSrc":"34056:14:19","nodeType":"YulFunctionCall","src":"34056:14:19"},"variableNames":[{"name":"length","nativeSrc":"34046:6:19","nodeType":"YulIdentifier","src":"34046:6:19"}]}]},"pre":{"nativeSrc":"34024:2:19","nodeType":"YulBlock","src":"34024:2:19","statements":[]},"src":"34020:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"34137:3:19","nodeType":"YulIdentifier","src":"34137:3:19"},{"name":"length","nativeSrc":"34142:6:19","nodeType":"YulIdentifier","src":"34142:6:19"}],"functionName":{"name":"mstore","nativeSrc":"34130:6:19","nodeType":"YulIdentifier","src":"34130:6:19"},"nativeSrc":"34130:19:19","nodeType":"YulFunctionCall","src":"34130:19:19"},"nativeSrc":"34130:19:19","nodeType":"YulExpressionStatement","src":"34130:19:19"},{"nativeSrc":"34166:37:19","nodeType":"YulVariableDeclaration","src":"34166:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"34183:3:19","nodeType":"YulLiteral","src":"34183:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"34192:1:19","nodeType":"YulLiteral","src":"34192:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"34195:6:19","nodeType":"YulIdentifier","src":"34195:6:19"}],"functionName":{"name":"shl","nativeSrc":"34188:3:19","nodeType":"YulIdentifier","src":"34188:3:19"},"nativeSrc":"34188:14:19","nodeType":"YulFunctionCall","src":"34188:14:19"}],"functionName":{"name":"sub","nativeSrc":"34179:3:19","nodeType":"YulIdentifier","src":"34179:3:19"},"nativeSrc":"34179:24:19","nodeType":"YulFunctionCall","src":"34179:24:19"},"variables":[{"name":"shift","nativeSrc":"34170:5:19","nodeType":"YulTypedName","src":"34170:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"34231:3:19","nodeType":"YulIdentifier","src":"34231:3:19"},{"kind":"number","nativeSrc":"34236:4:19","nodeType":"YulLiteral","src":"34236:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"34227:3:19","nodeType":"YulIdentifier","src":"34227:3:19"},"nativeSrc":"34227:14:19","nodeType":"YulFunctionCall","src":"34227:14:19"},{"arguments":[{"name":"shift","nativeSrc":"34247:5:19","nodeType":"YulIdentifier","src":"34247:5:19"},{"arguments":[{"name":"shift","nativeSrc":"34258:5:19","nodeType":"YulIdentifier","src":"34258:5:19"},{"name":"w","nativeSrc":"34265:1:19","nodeType":"YulIdentifier","src":"34265:1:19"}],"functionName":{"name":"shr","nativeSrc":"34254:3:19","nodeType":"YulIdentifier","src":"34254:3:19"},"nativeSrc":"34254:13:19","nodeType":"YulFunctionCall","src":"34254:13:19"}],"functionName":{"name":"shl","nativeSrc":"34243:3:19","nodeType":"YulIdentifier","src":"34243:3:19"},"nativeSrc":"34243:25:19","nodeType":"YulFunctionCall","src":"34243:25:19"}],"functionName":{"name":"mstore","nativeSrc":"34220:6:19","nodeType":"YulIdentifier","src":"34220:6:19"},"nativeSrc":"34220:49:19","nodeType":"YulFunctionCall","src":"34220:49:19"},"nativeSrc":"34220:49:19","nodeType":"YulExpressionStatement","src":"34220:49:19"}]},"name":"writeString","nativeSrc":"33941:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"33962:3:19","nodeType":"YulTypedName","src":"33962:3:19","type":""},{"name":"w","nativeSrc":"33967:1:19","nodeType":"YulTypedName","src":"33967:1:19","type":""}],"src":"33941:342:19"},{"nativeSrc":"34296:17:19","nodeType":"YulAssignment","src":"34296:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"34308:4:19","nodeType":"YulLiteral","src":"34308:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"34302:5:19","nodeType":"YulIdentifier","src":"34302:5:19"},"nativeSrc":"34302:11:19","nodeType":"YulFunctionCall","src":"34302:11:19"},"variableNames":[{"name":"m0","nativeSrc":"34296:2:19","nodeType":"YulIdentifier","src":"34296:2:19"}]},{"nativeSrc":"34326:17:19","nodeType":"YulAssignment","src":"34326:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"34338:4:19","nodeType":"YulLiteral","src":"34338:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"34332:5:19","nodeType":"YulIdentifier","src":"34332:5:19"},"nativeSrc":"34332:11:19","nodeType":"YulFunctionCall","src":"34332:11:19"},"variableNames":[{"name":"m1","nativeSrc":"34326:2:19","nodeType":"YulIdentifier","src":"34326:2:19"}]},{"nativeSrc":"34356:17:19","nodeType":"YulAssignment","src":"34356:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"34368:4:19","nodeType":"YulLiteral","src":"34368:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"34362:5:19","nodeType":"YulIdentifier","src":"34362:5:19"},"nativeSrc":"34362:11:19","nodeType":"YulFunctionCall","src":"34362:11:19"},"variableNames":[{"name":"m2","nativeSrc":"34356:2:19","nodeType":"YulIdentifier","src":"34356:2:19"}]},{"nativeSrc":"34386:17:19","nodeType":"YulAssignment","src":"34386:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"34398:4:19","nodeType":"YulLiteral","src":"34398:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"34392:5:19","nodeType":"YulIdentifier","src":"34392:5:19"},"nativeSrc":"34392:11:19","nodeType":"YulFunctionCall","src":"34392:11:19"},"variableNames":[{"name":"m3","nativeSrc":"34386:2:19","nodeType":"YulIdentifier","src":"34386:2:19"}]},{"nativeSrc":"34416:17:19","nodeType":"YulAssignment","src":"34416:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"34428:4:19","nodeType":"YulLiteral","src":"34428:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"34422:5:19","nodeType":"YulIdentifier","src":"34422:5:19"},"nativeSrc":"34422:11:19","nodeType":"YulFunctionCall","src":"34422:11:19"},"variableNames":[{"name":"m4","nativeSrc":"34416:2:19","nodeType":"YulIdentifier","src":"34416:2:19"}]},{"nativeSrc":"34446:17:19","nodeType":"YulAssignment","src":"34446:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"34458:4:19","nodeType":"YulLiteral","src":"34458:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"34452:5:19","nodeType":"YulIdentifier","src":"34452:5:19"},"nativeSrc":"34452:11:19","nodeType":"YulFunctionCall","src":"34452:11:19"},"variableNames":[{"name":"m5","nativeSrc":"34446:2:19","nodeType":"YulIdentifier","src":"34446:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34541:4:19","nodeType":"YulLiteral","src":"34541:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"34547:10:19","nodeType":"YulLiteral","src":"34547:10:19","type":"","value":"0x67dd6ff1"}],"functionName":{"name":"mstore","nativeSrc":"34534:6:19","nodeType":"YulIdentifier","src":"34534:6:19"},"nativeSrc":"34534:24:19","nodeType":"YulFunctionCall","src":"34534:24:19"},"nativeSrc":"34534:24:19","nodeType":"YulExpressionStatement","src":"34534:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34578:4:19","nodeType":"YulLiteral","src":"34578:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"34584:2:19","nodeType":"YulIdentifier","src":"34584:2:19"}],"functionName":{"name":"mstore","nativeSrc":"34571:6:19","nodeType":"YulIdentifier","src":"34571:6:19"},"nativeSrc":"34571:16:19","nodeType":"YulFunctionCall","src":"34571:16:19"},"nativeSrc":"34571:16:19","nodeType":"YulExpressionStatement","src":"34571:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34607:4:19","nodeType":"YulLiteral","src":"34607:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"34613:4:19","nodeType":"YulLiteral","src":"34613:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"34600:6:19","nodeType":"YulIdentifier","src":"34600:6:19"},"nativeSrc":"34600:18:19","nodeType":"YulFunctionCall","src":"34600:18:19"},"nativeSrc":"34600:18:19","nodeType":"YulExpressionStatement","src":"34600:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34638:4:19","nodeType":"YulLiteral","src":"34638:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"34644:2:19","nodeType":"YulIdentifier","src":"34644:2:19"}],"functionName":{"name":"mstore","nativeSrc":"34631:6:19","nodeType":"YulIdentifier","src":"34631:6:19"},"nativeSrc":"34631:16:19","nodeType":"YulFunctionCall","src":"34631:16:19"},"nativeSrc":"34631:16:19","nodeType":"YulExpressionStatement","src":"34631:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34672:4:19","nodeType":"YulLiteral","src":"34672:4:19","type":"","value":"0x80"},{"name":"p1","nativeSrc":"34678:2:19","nodeType":"YulIdentifier","src":"34678:2:19"}],"functionName":{"name":"writeString","nativeSrc":"34660:11:19","nodeType":"YulIdentifier","src":"34660:11:19"},"nativeSrc":"34660:21:19","nodeType":"YulFunctionCall","src":"34660:21:19"},"nativeSrc":"34660:21:19","nodeType":"YulExpressionStatement","src":"34660:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27420,"isOffset":false,"isSlot":false,"src":"34296:2:19","valueSize":1},{"declaration":27423,"isOffset":false,"isSlot":false,"src":"34326:2:19","valueSize":1},{"declaration":27426,"isOffset":false,"isSlot":false,"src":"34356:2:19","valueSize":1},{"declaration":27429,"isOffset":false,"isSlot":false,"src":"34386:2:19","valueSize":1},{"declaration":27432,"isOffset":false,"isSlot":false,"src":"34416:2:19","valueSize":1},{"declaration":27435,"isOffset":false,"isSlot":false,"src":"34446:2:19","valueSize":1},{"declaration":27412,"isOffset":false,"isSlot":false,"src":"34584:2:19","valueSize":1},{"declaration":27414,"isOffset":false,"isSlot":false,"src":"34678:2:19","valueSize":1},{"declaration":27416,"isOffset":false,"isSlot":false,"src":"34644:2:19","valueSize":1}],"id":27437,"nodeType":"InlineAssembly","src":"33918:773:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34716:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":27440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34722:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":27438,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"34700:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34700:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27442,"nodeType":"ExpressionStatement","src":"34700:27:19"},{"AST":{"nativeSrc":"34789:185:19","nodeType":"YulBlock","src":"34789:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"34810:4:19","nodeType":"YulLiteral","src":"34810:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"34816:2:19","nodeType":"YulIdentifier","src":"34816:2:19"}],"functionName":{"name":"mstore","nativeSrc":"34803:6:19","nodeType":"YulIdentifier","src":"34803:6:19"},"nativeSrc":"34803:16:19","nodeType":"YulFunctionCall","src":"34803:16:19"},"nativeSrc":"34803:16:19","nodeType":"YulExpressionStatement","src":"34803:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34839:4:19","nodeType":"YulLiteral","src":"34839:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"34845:2:19","nodeType":"YulIdentifier","src":"34845:2:19"}],"functionName":{"name":"mstore","nativeSrc":"34832:6:19","nodeType":"YulIdentifier","src":"34832:6:19"},"nativeSrc":"34832:16:19","nodeType":"YulFunctionCall","src":"34832:16:19"},"nativeSrc":"34832:16:19","nodeType":"YulExpressionStatement","src":"34832:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34868:4:19","nodeType":"YulLiteral","src":"34868:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"34874:2:19","nodeType":"YulIdentifier","src":"34874:2:19"}],"functionName":{"name":"mstore","nativeSrc":"34861:6:19","nodeType":"YulIdentifier","src":"34861:6:19"},"nativeSrc":"34861:16:19","nodeType":"YulFunctionCall","src":"34861:16:19"},"nativeSrc":"34861:16:19","nodeType":"YulExpressionStatement","src":"34861:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34897:4:19","nodeType":"YulLiteral","src":"34897:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"34903:2:19","nodeType":"YulIdentifier","src":"34903:2:19"}],"functionName":{"name":"mstore","nativeSrc":"34890:6:19","nodeType":"YulIdentifier","src":"34890:6:19"},"nativeSrc":"34890:16:19","nodeType":"YulFunctionCall","src":"34890:16:19"},"nativeSrc":"34890:16:19","nodeType":"YulExpressionStatement","src":"34890:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34926:4:19","nodeType":"YulLiteral","src":"34926:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"34932:2:19","nodeType":"YulIdentifier","src":"34932:2:19"}],"functionName":{"name":"mstore","nativeSrc":"34919:6:19","nodeType":"YulIdentifier","src":"34919:6:19"},"nativeSrc":"34919:16:19","nodeType":"YulFunctionCall","src":"34919:16:19"},"nativeSrc":"34919:16:19","nodeType":"YulExpressionStatement","src":"34919:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"34955:4:19","nodeType":"YulLiteral","src":"34955:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"34961:2:19","nodeType":"YulIdentifier","src":"34961:2:19"}],"functionName":{"name":"mstore","nativeSrc":"34948:6:19","nodeType":"YulIdentifier","src":"34948:6:19"},"nativeSrc":"34948:16:19","nodeType":"YulFunctionCall","src":"34948:16:19"},"nativeSrc":"34948:16:19","nodeType":"YulExpressionStatement","src":"34948:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27420,"isOffset":false,"isSlot":false,"src":"34816:2:19","valueSize":1},{"declaration":27423,"isOffset":false,"isSlot":false,"src":"34845:2:19","valueSize":1},{"declaration":27426,"isOffset":false,"isSlot":false,"src":"34874:2:19","valueSize":1},{"declaration":27429,"isOffset":false,"isSlot":false,"src":"34903:2:19","valueSize":1},{"declaration":27432,"isOffset":false,"isSlot":false,"src":"34932:2:19","valueSize":1},{"declaration":27435,"isOffset":false,"isSlot":false,"src":"34961:2:19","valueSize":1}],"id":27443,"nodeType":"InlineAssembly","src":"34780:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33691:3:19","parameters":{"id":27417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27412,"mutability":"mutable","name":"p0","nameLocation":"33703:2:19","nodeType":"VariableDeclaration","scope":27445,"src":"33695:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27411,"name":"address","nodeType":"ElementaryTypeName","src":"33695:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27414,"mutability":"mutable","name":"p1","nameLocation":"33715:2:19","nodeType":"VariableDeclaration","scope":27445,"src":"33707:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27413,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33707:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":27416,"mutability":"mutable","name":"p2","nameLocation":"33727:2:19","nodeType":"VariableDeclaration","scope":27445,"src":"33719:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27415,"name":"uint256","nodeType":"ElementaryTypeName","src":"33719:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33694:36:19"},"returnParameters":{"id":27418,"nodeType":"ParameterList","parameters":[],"src":"33745:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27486,"nodeType":"FunctionDefinition","src":"34986:1491:19","nodes":[],"body":{"id":27485,"nodeType":"Block","src":"35049:1428:19","nodes":[],"statements":[{"assignments":[27455],"declarations":[{"constant":false,"id":27455,"mutability":"mutable","name":"m0","nameLocation":"35067:2:19","nodeType":"VariableDeclaration","scope":27485,"src":"35059:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27454,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35059:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27456,"nodeType":"VariableDeclarationStatement","src":"35059:10:19"},{"assignments":[27458],"declarations":[{"constant":false,"id":27458,"mutability":"mutable","name":"m1","nameLocation":"35087:2:19","nodeType":"VariableDeclaration","scope":27485,"src":"35079:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27457,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35079:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27459,"nodeType":"VariableDeclarationStatement","src":"35079:10:19"},{"assignments":[27461],"declarations":[{"constant":false,"id":27461,"mutability":"mutable","name":"m2","nameLocation":"35107:2:19","nodeType":"VariableDeclaration","scope":27485,"src":"35099:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27460,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35099:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27462,"nodeType":"VariableDeclarationStatement","src":"35099:10:19"},{"assignments":[27464],"declarations":[{"constant":false,"id":27464,"mutability":"mutable","name":"m3","nameLocation":"35127:2:19","nodeType":"VariableDeclaration","scope":27485,"src":"35119:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27463,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35119:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27465,"nodeType":"VariableDeclarationStatement","src":"35119:10:19"},{"assignments":[27467],"declarations":[{"constant":false,"id":27467,"mutability":"mutable","name":"m4","nameLocation":"35147:2:19","nodeType":"VariableDeclaration","scope":27485,"src":"35139:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27466,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35139:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27468,"nodeType":"VariableDeclarationStatement","src":"35139:10:19"},{"assignments":[27470],"declarations":[{"constant":false,"id":27470,"mutability":"mutable","name":"m5","nameLocation":"35167:2:19","nodeType":"VariableDeclaration","scope":27485,"src":"35159:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27469,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35159:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27471,"nodeType":"VariableDeclarationStatement","src":"35159:10:19"},{"assignments":[27473],"declarations":[{"constant":false,"id":27473,"mutability":"mutable","name":"m6","nameLocation":"35187:2:19","nodeType":"VariableDeclaration","scope":27485,"src":"35179:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27472,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35179:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27474,"nodeType":"VariableDeclarationStatement","src":"35179:10:19"},{"assignments":[27476],"declarations":[{"constant":false,"id":27476,"mutability":"mutable","name":"m7","nameLocation":"35207:2:19","nodeType":"VariableDeclaration","scope":27485,"src":"35199:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27475,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35199:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27477,"nodeType":"VariableDeclarationStatement","src":"35199:10:19"},{"AST":{"nativeSrc":"35271:859:19","nodeType":"YulBlock","src":"35271:859:19","statements":[{"body":{"nativeSrc":"35314:313:19","nodeType":"YulBlock","src":"35314:313:19","statements":[{"nativeSrc":"35332:15:19","nodeType":"YulVariableDeclaration","src":"35332:15:19","value":{"kind":"number","nativeSrc":"35346:1:19","nodeType":"YulLiteral","src":"35346:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"35336:6:19","nodeType":"YulTypedName","src":"35336:6:19","type":""}]},{"body":{"nativeSrc":"35417:40:19","nodeType":"YulBlock","src":"35417:40:19","statements":[{"body":{"nativeSrc":"35446:9:19","nodeType":"YulBlock","src":"35446:9:19","statements":[{"nativeSrc":"35448:5:19","nodeType":"YulBreak","src":"35448:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"35434:6:19","nodeType":"YulIdentifier","src":"35434:6:19"},{"name":"w","nativeSrc":"35442:1:19","nodeType":"YulIdentifier","src":"35442:1:19"}],"functionName":{"name":"byte","nativeSrc":"35429:4:19","nodeType":"YulIdentifier","src":"35429:4:19"},"nativeSrc":"35429:15:19","nodeType":"YulFunctionCall","src":"35429:15:19"}],"functionName":{"name":"iszero","nativeSrc":"35422:6:19","nodeType":"YulIdentifier","src":"35422:6:19"},"nativeSrc":"35422:23:19","nodeType":"YulFunctionCall","src":"35422:23:19"},"nativeSrc":"35419:36:19","nodeType":"YulIf","src":"35419:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"35374:6:19","nodeType":"YulIdentifier","src":"35374:6:19"},{"kind":"number","nativeSrc":"35382:4:19","nodeType":"YulLiteral","src":"35382:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"35371:2:19","nodeType":"YulIdentifier","src":"35371:2:19"},"nativeSrc":"35371:16:19","nodeType":"YulFunctionCall","src":"35371:16:19"},"nativeSrc":"35364:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"35388:28:19","nodeType":"YulBlock","src":"35388:28:19","statements":[{"nativeSrc":"35390:24:19","nodeType":"YulAssignment","src":"35390:24:19","value":{"arguments":[{"name":"length","nativeSrc":"35404:6:19","nodeType":"YulIdentifier","src":"35404:6:19"},{"kind":"number","nativeSrc":"35412:1:19","nodeType":"YulLiteral","src":"35412:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"35400:3:19","nodeType":"YulIdentifier","src":"35400:3:19"},"nativeSrc":"35400:14:19","nodeType":"YulFunctionCall","src":"35400:14:19"},"variableNames":[{"name":"length","nativeSrc":"35390:6:19","nodeType":"YulIdentifier","src":"35390:6:19"}]}]},"pre":{"nativeSrc":"35368:2:19","nodeType":"YulBlock","src":"35368:2:19","statements":[]},"src":"35364:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"35481:3:19","nodeType":"YulIdentifier","src":"35481:3:19"},{"name":"length","nativeSrc":"35486:6:19","nodeType":"YulIdentifier","src":"35486:6:19"}],"functionName":{"name":"mstore","nativeSrc":"35474:6:19","nodeType":"YulIdentifier","src":"35474:6:19"},"nativeSrc":"35474:19:19","nodeType":"YulFunctionCall","src":"35474:19:19"},"nativeSrc":"35474:19:19","nodeType":"YulExpressionStatement","src":"35474:19:19"},{"nativeSrc":"35510:37:19","nodeType":"YulVariableDeclaration","src":"35510:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"35527:3:19","nodeType":"YulLiteral","src":"35527:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"35536:1:19","nodeType":"YulLiteral","src":"35536:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"35539:6:19","nodeType":"YulIdentifier","src":"35539:6:19"}],"functionName":{"name":"shl","nativeSrc":"35532:3:19","nodeType":"YulIdentifier","src":"35532:3:19"},"nativeSrc":"35532:14:19","nodeType":"YulFunctionCall","src":"35532:14:19"}],"functionName":{"name":"sub","nativeSrc":"35523:3:19","nodeType":"YulIdentifier","src":"35523:3:19"},"nativeSrc":"35523:24:19","nodeType":"YulFunctionCall","src":"35523:24:19"},"variables":[{"name":"shift","nativeSrc":"35514:5:19","nodeType":"YulTypedName","src":"35514:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"35575:3:19","nodeType":"YulIdentifier","src":"35575:3:19"},{"kind":"number","nativeSrc":"35580:4:19","nodeType":"YulLiteral","src":"35580:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"35571:3:19","nodeType":"YulIdentifier","src":"35571:3:19"},"nativeSrc":"35571:14:19","nodeType":"YulFunctionCall","src":"35571:14:19"},{"arguments":[{"name":"shift","nativeSrc":"35591:5:19","nodeType":"YulIdentifier","src":"35591:5:19"},{"arguments":[{"name":"shift","nativeSrc":"35602:5:19","nodeType":"YulIdentifier","src":"35602:5:19"},{"name":"w","nativeSrc":"35609:1:19","nodeType":"YulIdentifier","src":"35609:1:19"}],"functionName":{"name":"shr","nativeSrc":"35598:3:19","nodeType":"YulIdentifier","src":"35598:3:19"},"nativeSrc":"35598:13:19","nodeType":"YulFunctionCall","src":"35598:13:19"}],"functionName":{"name":"shl","nativeSrc":"35587:3:19","nodeType":"YulIdentifier","src":"35587:3:19"},"nativeSrc":"35587:25:19","nodeType":"YulFunctionCall","src":"35587:25:19"}],"functionName":{"name":"mstore","nativeSrc":"35564:6:19","nodeType":"YulIdentifier","src":"35564:6:19"},"nativeSrc":"35564:49:19","nodeType":"YulFunctionCall","src":"35564:49:19"},"nativeSrc":"35564:49:19","nodeType":"YulExpressionStatement","src":"35564:49:19"}]},"name":"writeString","nativeSrc":"35285:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"35306:3:19","nodeType":"YulTypedName","src":"35306:3:19","type":""},{"name":"w","nativeSrc":"35311:1:19","nodeType":"YulTypedName","src":"35311:1:19","type":""}],"src":"35285:342:19"},{"nativeSrc":"35640:17:19","nodeType":"YulAssignment","src":"35640:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"35652:4:19","nodeType":"YulLiteral","src":"35652:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"35646:5:19","nodeType":"YulIdentifier","src":"35646:5:19"},"nativeSrc":"35646:11:19","nodeType":"YulFunctionCall","src":"35646:11:19"},"variableNames":[{"name":"m0","nativeSrc":"35640:2:19","nodeType":"YulIdentifier","src":"35640:2:19"}]},{"nativeSrc":"35670:17:19","nodeType":"YulAssignment","src":"35670:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"35682:4:19","nodeType":"YulLiteral","src":"35682:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"35676:5:19","nodeType":"YulIdentifier","src":"35676:5:19"},"nativeSrc":"35676:11:19","nodeType":"YulFunctionCall","src":"35676:11:19"},"variableNames":[{"name":"m1","nativeSrc":"35670:2:19","nodeType":"YulIdentifier","src":"35670:2:19"}]},{"nativeSrc":"35700:17:19","nodeType":"YulAssignment","src":"35700:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"35712:4:19","nodeType":"YulLiteral","src":"35712:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"35706:5:19","nodeType":"YulIdentifier","src":"35706:5:19"},"nativeSrc":"35706:11:19","nodeType":"YulFunctionCall","src":"35706:11:19"},"variableNames":[{"name":"m2","nativeSrc":"35700:2:19","nodeType":"YulIdentifier","src":"35700:2:19"}]},{"nativeSrc":"35730:17:19","nodeType":"YulAssignment","src":"35730:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"35742:4:19","nodeType":"YulLiteral","src":"35742:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"35736:5:19","nodeType":"YulIdentifier","src":"35736:5:19"},"nativeSrc":"35736:11:19","nodeType":"YulFunctionCall","src":"35736:11:19"},"variableNames":[{"name":"m3","nativeSrc":"35730:2:19","nodeType":"YulIdentifier","src":"35730:2:19"}]},{"nativeSrc":"35760:17:19","nodeType":"YulAssignment","src":"35760:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"35772:4:19","nodeType":"YulLiteral","src":"35772:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"35766:5:19","nodeType":"YulIdentifier","src":"35766:5:19"},"nativeSrc":"35766:11:19","nodeType":"YulFunctionCall","src":"35766:11:19"},"variableNames":[{"name":"m4","nativeSrc":"35760:2:19","nodeType":"YulIdentifier","src":"35760:2:19"}]},{"nativeSrc":"35790:17:19","nodeType":"YulAssignment","src":"35790:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"35802:4:19","nodeType":"YulLiteral","src":"35802:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"35796:5:19","nodeType":"YulIdentifier","src":"35796:5:19"},"nativeSrc":"35796:11:19","nodeType":"YulFunctionCall","src":"35796:11:19"},"variableNames":[{"name":"m5","nativeSrc":"35790:2:19","nodeType":"YulIdentifier","src":"35790:2:19"}]},{"nativeSrc":"35820:17:19","nodeType":"YulAssignment","src":"35820:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"35832:4:19","nodeType":"YulLiteral","src":"35832:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"35826:5:19","nodeType":"YulIdentifier","src":"35826:5:19"},"nativeSrc":"35826:11:19","nodeType":"YulFunctionCall","src":"35826:11:19"},"variableNames":[{"name":"m6","nativeSrc":"35820:2:19","nodeType":"YulIdentifier","src":"35820:2:19"}]},{"nativeSrc":"35850:17:19","nodeType":"YulAssignment","src":"35850:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"35862:4:19","nodeType":"YulLiteral","src":"35862:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"35856:5:19","nodeType":"YulIdentifier","src":"35856:5:19"},"nativeSrc":"35856:11:19","nodeType":"YulFunctionCall","src":"35856:11:19"},"variableNames":[{"name":"m7","nativeSrc":"35850:2:19","nodeType":"YulIdentifier","src":"35850:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"35944:4:19","nodeType":"YulLiteral","src":"35944:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"35950:10:19","nodeType":"YulLiteral","src":"35950:10:19","type":"","value":"0xfb772265"}],"functionName":{"name":"mstore","nativeSrc":"35937:6:19","nodeType":"YulIdentifier","src":"35937:6:19"},"nativeSrc":"35937:24:19","nodeType":"YulFunctionCall","src":"35937:24:19"},"nativeSrc":"35937:24:19","nodeType":"YulExpressionStatement","src":"35937:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"35981:4:19","nodeType":"YulLiteral","src":"35981:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"35987:2:19","nodeType":"YulIdentifier","src":"35987:2:19"}],"functionName":{"name":"mstore","nativeSrc":"35974:6:19","nodeType":"YulIdentifier","src":"35974:6:19"},"nativeSrc":"35974:16:19","nodeType":"YulFunctionCall","src":"35974:16:19"},"nativeSrc":"35974:16:19","nodeType":"YulExpressionStatement","src":"35974:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36010:4:19","nodeType":"YulLiteral","src":"36010:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"36016:4:19","nodeType":"YulLiteral","src":"36016:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"36003:6:19","nodeType":"YulIdentifier","src":"36003:6:19"},"nativeSrc":"36003:18:19","nodeType":"YulFunctionCall","src":"36003:18:19"},"nativeSrc":"36003:18:19","nodeType":"YulExpressionStatement","src":"36003:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36041:4:19","nodeType":"YulLiteral","src":"36041:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"36047:4:19","nodeType":"YulLiteral","src":"36047:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"36034:6:19","nodeType":"YulIdentifier","src":"36034:6:19"},"nativeSrc":"36034:18:19","nodeType":"YulFunctionCall","src":"36034:18:19"},"nativeSrc":"36034:18:19","nodeType":"YulExpressionStatement","src":"36034:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36077:4:19","nodeType":"YulLiteral","src":"36077:4:19","type":"","value":"0x80"},{"name":"p1","nativeSrc":"36083:2:19","nodeType":"YulIdentifier","src":"36083:2:19"}],"functionName":{"name":"writeString","nativeSrc":"36065:11:19","nodeType":"YulIdentifier","src":"36065:11:19"},"nativeSrc":"36065:21:19","nodeType":"YulFunctionCall","src":"36065:21:19"},"nativeSrc":"36065:21:19","nodeType":"YulExpressionStatement","src":"36065:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36111:4:19","nodeType":"YulLiteral","src":"36111:4:19","type":"","value":"0xc0"},{"name":"p2","nativeSrc":"36117:2:19","nodeType":"YulIdentifier","src":"36117:2:19"}],"functionName":{"name":"writeString","nativeSrc":"36099:11:19","nodeType":"YulIdentifier","src":"36099:11:19"},"nativeSrc":"36099:21:19","nodeType":"YulFunctionCall","src":"36099:21:19"},"nativeSrc":"36099:21:19","nodeType":"YulExpressionStatement","src":"36099:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27455,"isOffset":false,"isSlot":false,"src":"35640:2:19","valueSize":1},{"declaration":27458,"isOffset":false,"isSlot":false,"src":"35670:2:19","valueSize":1},{"declaration":27461,"isOffset":false,"isSlot":false,"src":"35700:2:19","valueSize":1},{"declaration":27464,"isOffset":false,"isSlot":false,"src":"35730:2:19","valueSize":1},{"declaration":27467,"isOffset":false,"isSlot":false,"src":"35760:2:19","valueSize":1},{"declaration":27470,"isOffset":false,"isSlot":false,"src":"35790:2:19","valueSize":1},{"declaration":27473,"isOffset":false,"isSlot":false,"src":"35820:2:19","valueSize":1},{"declaration":27476,"isOffset":false,"isSlot":false,"src":"35850:2:19","valueSize":1},{"declaration":27447,"isOffset":false,"isSlot":false,"src":"35987:2:19","valueSize":1},{"declaration":27449,"isOffset":false,"isSlot":false,"src":"36083:2:19","valueSize":1},{"declaration":27451,"isOffset":false,"isSlot":false,"src":"36117:2:19","valueSize":1}],"id":27478,"nodeType":"InlineAssembly","src":"35262:868:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36155:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":27481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36161:4:19","typeDescriptions":{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"},"value":"0xe4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"}],"id":27479,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"36139:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36139:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27483,"nodeType":"ExpressionStatement","src":"36139:27:19"},{"AST":{"nativeSrc":"36228:243:19","nodeType":"YulBlock","src":"36228:243:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"36249:4:19","nodeType":"YulLiteral","src":"36249:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"36255:2:19","nodeType":"YulIdentifier","src":"36255:2:19"}],"functionName":{"name":"mstore","nativeSrc":"36242:6:19","nodeType":"YulIdentifier","src":"36242:6:19"},"nativeSrc":"36242:16:19","nodeType":"YulFunctionCall","src":"36242:16:19"},"nativeSrc":"36242:16:19","nodeType":"YulExpressionStatement","src":"36242:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36278:4:19","nodeType":"YulLiteral","src":"36278:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"36284:2:19","nodeType":"YulIdentifier","src":"36284:2:19"}],"functionName":{"name":"mstore","nativeSrc":"36271:6:19","nodeType":"YulIdentifier","src":"36271:6:19"},"nativeSrc":"36271:16:19","nodeType":"YulFunctionCall","src":"36271:16:19"},"nativeSrc":"36271:16:19","nodeType":"YulExpressionStatement","src":"36271:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36307:4:19","nodeType":"YulLiteral","src":"36307:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"36313:2:19","nodeType":"YulIdentifier","src":"36313:2:19"}],"functionName":{"name":"mstore","nativeSrc":"36300:6:19","nodeType":"YulIdentifier","src":"36300:6:19"},"nativeSrc":"36300:16:19","nodeType":"YulFunctionCall","src":"36300:16:19"},"nativeSrc":"36300:16:19","nodeType":"YulExpressionStatement","src":"36300:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36336:4:19","nodeType":"YulLiteral","src":"36336:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"36342:2:19","nodeType":"YulIdentifier","src":"36342:2:19"}],"functionName":{"name":"mstore","nativeSrc":"36329:6:19","nodeType":"YulIdentifier","src":"36329:6:19"},"nativeSrc":"36329:16:19","nodeType":"YulFunctionCall","src":"36329:16:19"},"nativeSrc":"36329:16:19","nodeType":"YulExpressionStatement","src":"36329:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36365:4:19","nodeType":"YulLiteral","src":"36365:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"36371:2:19","nodeType":"YulIdentifier","src":"36371:2:19"}],"functionName":{"name":"mstore","nativeSrc":"36358:6:19","nodeType":"YulIdentifier","src":"36358:6:19"},"nativeSrc":"36358:16:19","nodeType":"YulFunctionCall","src":"36358:16:19"},"nativeSrc":"36358:16:19","nodeType":"YulExpressionStatement","src":"36358:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36394:4:19","nodeType":"YulLiteral","src":"36394:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"36400:2:19","nodeType":"YulIdentifier","src":"36400:2:19"}],"functionName":{"name":"mstore","nativeSrc":"36387:6:19","nodeType":"YulIdentifier","src":"36387:6:19"},"nativeSrc":"36387:16:19","nodeType":"YulFunctionCall","src":"36387:16:19"},"nativeSrc":"36387:16:19","nodeType":"YulExpressionStatement","src":"36387:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36423:4:19","nodeType":"YulLiteral","src":"36423:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"36429:2:19","nodeType":"YulIdentifier","src":"36429:2:19"}],"functionName":{"name":"mstore","nativeSrc":"36416:6:19","nodeType":"YulIdentifier","src":"36416:6:19"},"nativeSrc":"36416:16:19","nodeType":"YulFunctionCall","src":"36416:16:19"},"nativeSrc":"36416:16:19","nodeType":"YulExpressionStatement","src":"36416:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36452:4:19","nodeType":"YulLiteral","src":"36452:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"36458:2:19","nodeType":"YulIdentifier","src":"36458:2:19"}],"functionName":{"name":"mstore","nativeSrc":"36445:6:19","nodeType":"YulIdentifier","src":"36445:6:19"},"nativeSrc":"36445:16:19","nodeType":"YulFunctionCall","src":"36445:16:19"},"nativeSrc":"36445:16:19","nodeType":"YulExpressionStatement","src":"36445:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27455,"isOffset":false,"isSlot":false,"src":"36255:2:19","valueSize":1},{"declaration":27458,"isOffset":false,"isSlot":false,"src":"36284:2:19","valueSize":1},{"declaration":27461,"isOffset":false,"isSlot":false,"src":"36313:2:19","valueSize":1},{"declaration":27464,"isOffset":false,"isSlot":false,"src":"36342:2:19","valueSize":1},{"declaration":27467,"isOffset":false,"isSlot":false,"src":"36371:2:19","valueSize":1},{"declaration":27470,"isOffset":false,"isSlot":false,"src":"36400:2:19","valueSize":1},{"declaration":27473,"isOffset":false,"isSlot":false,"src":"36429:2:19","valueSize":1},{"declaration":27476,"isOffset":false,"isSlot":false,"src":"36458:2:19","valueSize":1}],"id":27484,"nodeType":"InlineAssembly","src":"36219:252:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34995:3:19","parameters":{"id":27452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27447,"mutability":"mutable","name":"p0","nameLocation":"35007:2:19","nodeType":"VariableDeclaration","scope":27486,"src":"34999:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27446,"name":"address","nodeType":"ElementaryTypeName","src":"34999:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27449,"mutability":"mutable","name":"p1","nameLocation":"35019:2:19","nodeType":"VariableDeclaration","scope":27486,"src":"35011:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27448,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35011:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":27451,"mutability":"mutable","name":"p2","nameLocation":"35031:2:19","nodeType":"VariableDeclaration","scope":27486,"src":"35023:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27450,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35023:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"34998:36:19"},"returnParameters":{"id":27453,"nodeType":"ParameterList","parameters":[],"src":"35049:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27515,"nodeType":"FunctionDefinition","src":"36483:744:19","nodes":[],"body":{"id":27514,"nodeType":"Block","src":"36543:684:19","nodes":[],"statements":[{"assignments":[27496],"declarations":[{"constant":false,"id":27496,"mutability":"mutable","name":"m0","nameLocation":"36561:2:19","nodeType":"VariableDeclaration","scope":27514,"src":"36553:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27495,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36553:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27497,"nodeType":"VariableDeclarationStatement","src":"36553:10:19"},{"assignments":[27499],"declarations":[{"constant":false,"id":27499,"mutability":"mutable","name":"m1","nameLocation":"36581:2:19","nodeType":"VariableDeclaration","scope":27514,"src":"36573:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27498,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36573:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27500,"nodeType":"VariableDeclarationStatement","src":"36573:10:19"},{"assignments":[27502],"declarations":[{"constant":false,"id":27502,"mutability":"mutable","name":"m2","nameLocation":"36601:2:19","nodeType":"VariableDeclaration","scope":27514,"src":"36593:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27501,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36593:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27503,"nodeType":"VariableDeclarationStatement","src":"36593:10:19"},{"assignments":[27505],"declarations":[{"constant":false,"id":27505,"mutability":"mutable","name":"m3","nameLocation":"36621:2:19","nodeType":"VariableDeclaration","scope":27514,"src":"36613:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27504,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36613:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27506,"nodeType":"VariableDeclarationStatement","src":"36613:10:19"},{"AST":{"nativeSrc":"36685:311:19","nodeType":"YulBlock","src":"36685:311:19","statements":[{"nativeSrc":"36699:17:19","nodeType":"YulAssignment","src":"36699:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"36711:4:19","nodeType":"YulLiteral","src":"36711:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"36705:5:19","nodeType":"YulIdentifier","src":"36705:5:19"},"nativeSrc":"36705:11:19","nodeType":"YulFunctionCall","src":"36705:11:19"},"variableNames":[{"name":"m0","nativeSrc":"36699:2:19","nodeType":"YulIdentifier","src":"36699:2:19"}]},{"nativeSrc":"36729:17:19","nodeType":"YulAssignment","src":"36729:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"36741:4:19","nodeType":"YulLiteral","src":"36741:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"36735:5:19","nodeType":"YulIdentifier","src":"36735:5:19"},"nativeSrc":"36735:11:19","nodeType":"YulFunctionCall","src":"36735:11:19"},"variableNames":[{"name":"m1","nativeSrc":"36729:2:19","nodeType":"YulIdentifier","src":"36729:2:19"}]},{"nativeSrc":"36759:17:19","nodeType":"YulAssignment","src":"36759:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"36771:4:19","nodeType":"YulLiteral","src":"36771:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"36765:5:19","nodeType":"YulIdentifier","src":"36765:5:19"},"nativeSrc":"36765:11:19","nodeType":"YulFunctionCall","src":"36765:11:19"},"variableNames":[{"name":"m2","nativeSrc":"36759:2:19","nodeType":"YulIdentifier","src":"36759:2:19"}]},{"nativeSrc":"36789:17:19","nodeType":"YulAssignment","src":"36789:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"36801:4:19","nodeType":"YulLiteral","src":"36801:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"36795:5:19","nodeType":"YulIdentifier","src":"36795:5:19"},"nativeSrc":"36795:11:19","nodeType":"YulFunctionCall","src":"36795:11:19"},"variableNames":[{"name":"m3","nativeSrc":"36789:2:19","nodeType":"YulIdentifier","src":"36789:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36882:4:19","nodeType":"YulLiteral","src":"36882:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"36888:10:19","nodeType":"YulLiteral","src":"36888:10:19","type":"","value":"0xd2763667"}],"functionName":{"name":"mstore","nativeSrc":"36875:6:19","nodeType":"YulIdentifier","src":"36875:6:19"},"nativeSrc":"36875:24:19","nodeType":"YulFunctionCall","src":"36875:24:19"},"nativeSrc":"36875:24:19","nodeType":"YulExpressionStatement","src":"36875:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36919:4:19","nodeType":"YulLiteral","src":"36919:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"36925:2:19","nodeType":"YulIdentifier","src":"36925:2:19"}],"functionName":{"name":"mstore","nativeSrc":"36912:6:19","nodeType":"YulIdentifier","src":"36912:6:19"},"nativeSrc":"36912:16:19","nodeType":"YulFunctionCall","src":"36912:16:19"},"nativeSrc":"36912:16:19","nodeType":"YulExpressionStatement","src":"36912:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36948:4:19","nodeType":"YulLiteral","src":"36948:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"36954:2:19","nodeType":"YulIdentifier","src":"36954:2:19"}],"functionName":{"name":"mstore","nativeSrc":"36941:6:19","nodeType":"YulIdentifier","src":"36941:6:19"},"nativeSrc":"36941:16:19","nodeType":"YulFunctionCall","src":"36941:16:19"},"nativeSrc":"36941:16:19","nodeType":"YulExpressionStatement","src":"36941:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"36977:4:19","nodeType":"YulLiteral","src":"36977:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"36983:2:19","nodeType":"YulIdentifier","src":"36983:2:19"}],"functionName":{"name":"mstore","nativeSrc":"36970:6:19","nodeType":"YulIdentifier","src":"36970:6:19"},"nativeSrc":"36970:16:19","nodeType":"YulFunctionCall","src":"36970:16:19"},"nativeSrc":"36970:16:19","nodeType":"YulExpressionStatement","src":"36970:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27496,"isOffset":false,"isSlot":false,"src":"36699:2:19","valueSize":1},{"declaration":27499,"isOffset":false,"isSlot":false,"src":"36729:2:19","valueSize":1},{"declaration":27502,"isOffset":false,"isSlot":false,"src":"36759:2:19","valueSize":1},{"declaration":27505,"isOffset":false,"isSlot":false,"src":"36789:2:19","valueSize":1},{"declaration":27488,"isOffset":false,"isSlot":false,"src":"36925:2:19","valueSize":1},{"declaration":27490,"isOffset":false,"isSlot":false,"src":"36954:2:19","valueSize":1},{"declaration":27492,"isOffset":false,"isSlot":false,"src":"36983:2:19","valueSize":1}],"id":27507,"nodeType":"InlineAssembly","src":"36676:320:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37021:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37027:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27508,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"37005:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37005:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27512,"nodeType":"ExpressionStatement","src":"37005:27:19"},{"AST":{"nativeSrc":"37094:127:19","nodeType":"YulBlock","src":"37094:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"37115:4:19","nodeType":"YulLiteral","src":"37115:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"37121:2:19","nodeType":"YulIdentifier","src":"37121:2:19"}],"functionName":{"name":"mstore","nativeSrc":"37108:6:19","nodeType":"YulIdentifier","src":"37108:6:19"},"nativeSrc":"37108:16:19","nodeType":"YulFunctionCall","src":"37108:16:19"},"nativeSrc":"37108:16:19","nodeType":"YulExpressionStatement","src":"37108:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37144:4:19","nodeType":"YulLiteral","src":"37144:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"37150:2:19","nodeType":"YulIdentifier","src":"37150:2:19"}],"functionName":{"name":"mstore","nativeSrc":"37137:6:19","nodeType":"YulIdentifier","src":"37137:6:19"},"nativeSrc":"37137:16:19","nodeType":"YulFunctionCall","src":"37137:16:19"},"nativeSrc":"37137:16:19","nodeType":"YulExpressionStatement","src":"37137:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37173:4:19","nodeType":"YulLiteral","src":"37173:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"37179:2:19","nodeType":"YulIdentifier","src":"37179:2:19"}],"functionName":{"name":"mstore","nativeSrc":"37166:6:19","nodeType":"YulIdentifier","src":"37166:6:19"},"nativeSrc":"37166:16:19","nodeType":"YulFunctionCall","src":"37166:16:19"},"nativeSrc":"37166:16:19","nodeType":"YulExpressionStatement","src":"37166:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37202:4:19","nodeType":"YulLiteral","src":"37202:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"37208:2:19","nodeType":"YulIdentifier","src":"37208:2:19"}],"functionName":{"name":"mstore","nativeSrc":"37195:6:19","nodeType":"YulIdentifier","src":"37195:6:19"},"nativeSrc":"37195:16:19","nodeType":"YulFunctionCall","src":"37195:16:19"},"nativeSrc":"37195:16:19","nodeType":"YulExpressionStatement","src":"37195:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27496,"isOffset":false,"isSlot":false,"src":"37121:2:19","valueSize":1},{"declaration":27499,"isOffset":false,"isSlot":false,"src":"37150:2:19","valueSize":1},{"declaration":27502,"isOffset":false,"isSlot":false,"src":"37179:2:19","valueSize":1},{"declaration":27505,"isOffset":false,"isSlot":false,"src":"37208:2:19","valueSize":1}],"id":27513,"nodeType":"InlineAssembly","src":"37085:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36492:3:19","parameters":{"id":27493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27488,"mutability":"mutable","name":"p0","nameLocation":"36501:2:19","nodeType":"VariableDeclaration","scope":27515,"src":"36496:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27487,"name":"bool","nodeType":"ElementaryTypeName","src":"36496:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27490,"mutability":"mutable","name":"p1","nameLocation":"36513:2:19","nodeType":"VariableDeclaration","scope":27515,"src":"36505:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27489,"name":"address","nodeType":"ElementaryTypeName","src":"36505:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27492,"mutability":"mutable","name":"p2","nameLocation":"36525:2:19","nodeType":"VariableDeclaration","scope":27515,"src":"36517:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27491,"name":"address","nodeType":"ElementaryTypeName","src":"36517:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36495:33:19"},"returnParameters":{"id":27494,"nodeType":"ParameterList","parameters":[],"src":"36543:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27544,"nodeType":"FunctionDefinition","src":"37233:738:19","nodes":[],"body":{"id":27543,"nodeType":"Block","src":"37290:681:19","nodes":[],"statements":[{"assignments":[27525],"declarations":[{"constant":false,"id":27525,"mutability":"mutable","name":"m0","nameLocation":"37308:2:19","nodeType":"VariableDeclaration","scope":27543,"src":"37300:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27524,"name":"bytes32","nodeType":"ElementaryTypeName","src":"37300:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27526,"nodeType":"VariableDeclarationStatement","src":"37300:10:19"},{"assignments":[27528],"declarations":[{"constant":false,"id":27528,"mutability":"mutable","name":"m1","nameLocation":"37328:2:19","nodeType":"VariableDeclaration","scope":27543,"src":"37320:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27527,"name":"bytes32","nodeType":"ElementaryTypeName","src":"37320:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27529,"nodeType":"VariableDeclarationStatement","src":"37320:10:19"},{"assignments":[27531],"declarations":[{"constant":false,"id":27531,"mutability":"mutable","name":"m2","nameLocation":"37348:2:19","nodeType":"VariableDeclaration","scope":27543,"src":"37340:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27530,"name":"bytes32","nodeType":"ElementaryTypeName","src":"37340:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27532,"nodeType":"VariableDeclarationStatement","src":"37340:10:19"},{"assignments":[27534],"declarations":[{"constant":false,"id":27534,"mutability":"mutable","name":"m3","nameLocation":"37368:2:19","nodeType":"VariableDeclaration","scope":27543,"src":"37360:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27533,"name":"bytes32","nodeType":"ElementaryTypeName","src":"37360:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27535,"nodeType":"VariableDeclarationStatement","src":"37360:10:19"},{"AST":{"nativeSrc":"37432:308:19","nodeType":"YulBlock","src":"37432:308:19","statements":[{"nativeSrc":"37446:17:19","nodeType":"YulAssignment","src":"37446:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"37458:4:19","nodeType":"YulLiteral","src":"37458:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"37452:5:19","nodeType":"YulIdentifier","src":"37452:5:19"},"nativeSrc":"37452:11:19","nodeType":"YulFunctionCall","src":"37452:11:19"},"variableNames":[{"name":"m0","nativeSrc":"37446:2:19","nodeType":"YulIdentifier","src":"37446:2:19"}]},{"nativeSrc":"37476:17:19","nodeType":"YulAssignment","src":"37476:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"37488:4:19","nodeType":"YulLiteral","src":"37488:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"37482:5:19","nodeType":"YulIdentifier","src":"37482:5:19"},"nativeSrc":"37482:11:19","nodeType":"YulFunctionCall","src":"37482:11:19"},"variableNames":[{"name":"m1","nativeSrc":"37476:2:19","nodeType":"YulIdentifier","src":"37476:2:19"}]},{"nativeSrc":"37506:17:19","nodeType":"YulAssignment","src":"37506:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"37518:4:19","nodeType":"YulLiteral","src":"37518:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"37512:5:19","nodeType":"YulIdentifier","src":"37512:5:19"},"nativeSrc":"37512:11:19","nodeType":"YulFunctionCall","src":"37512:11:19"},"variableNames":[{"name":"m2","nativeSrc":"37506:2:19","nodeType":"YulIdentifier","src":"37506:2:19"}]},{"nativeSrc":"37536:17:19","nodeType":"YulAssignment","src":"37536:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"37548:4:19","nodeType":"YulLiteral","src":"37548:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"37542:5:19","nodeType":"YulIdentifier","src":"37542:5:19"},"nativeSrc":"37542:11:19","nodeType":"YulFunctionCall","src":"37542:11:19"},"variableNames":[{"name":"m3","nativeSrc":"37536:2:19","nodeType":"YulIdentifier","src":"37536:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37626:4:19","nodeType":"YulLiteral","src":"37626:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"37632:10:19","nodeType":"YulLiteral","src":"37632:10:19","type":"","value":"0x18c9c746"}],"functionName":{"name":"mstore","nativeSrc":"37619:6:19","nodeType":"YulIdentifier","src":"37619:6:19"},"nativeSrc":"37619:24:19","nodeType":"YulFunctionCall","src":"37619:24:19"},"nativeSrc":"37619:24:19","nodeType":"YulExpressionStatement","src":"37619:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37663:4:19","nodeType":"YulLiteral","src":"37663:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"37669:2:19","nodeType":"YulIdentifier","src":"37669:2:19"}],"functionName":{"name":"mstore","nativeSrc":"37656:6:19","nodeType":"YulIdentifier","src":"37656:6:19"},"nativeSrc":"37656:16:19","nodeType":"YulFunctionCall","src":"37656:16:19"},"nativeSrc":"37656:16:19","nodeType":"YulExpressionStatement","src":"37656:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37692:4:19","nodeType":"YulLiteral","src":"37692:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"37698:2:19","nodeType":"YulIdentifier","src":"37698:2:19"}],"functionName":{"name":"mstore","nativeSrc":"37685:6:19","nodeType":"YulIdentifier","src":"37685:6:19"},"nativeSrc":"37685:16:19","nodeType":"YulFunctionCall","src":"37685:16:19"},"nativeSrc":"37685:16:19","nodeType":"YulExpressionStatement","src":"37685:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37721:4:19","nodeType":"YulLiteral","src":"37721:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"37727:2:19","nodeType":"YulIdentifier","src":"37727:2:19"}],"functionName":{"name":"mstore","nativeSrc":"37714:6:19","nodeType":"YulIdentifier","src":"37714:6:19"},"nativeSrc":"37714:16:19","nodeType":"YulFunctionCall","src":"37714:16:19"},"nativeSrc":"37714:16:19","nodeType":"YulExpressionStatement","src":"37714:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27525,"isOffset":false,"isSlot":false,"src":"37446:2:19","valueSize":1},{"declaration":27528,"isOffset":false,"isSlot":false,"src":"37476:2:19","valueSize":1},{"declaration":27531,"isOffset":false,"isSlot":false,"src":"37506:2:19","valueSize":1},{"declaration":27534,"isOffset":false,"isSlot":false,"src":"37536:2:19","valueSize":1},{"declaration":27517,"isOffset":false,"isSlot":false,"src":"37669:2:19","valueSize":1},{"declaration":27519,"isOffset":false,"isSlot":false,"src":"37698:2:19","valueSize":1},{"declaration":27521,"isOffset":false,"isSlot":false,"src":"37727:2:19","valueSize":1}],"id":27536,"nodeType":"InlineAssembly","src":"37423:317:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37765:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37771:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27537,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"37749:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37749:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27541,"nodeType":"ExpressionStatement","src":"37749:27:19"},{"AST":{"nativeSrc":"37838:127:19","nodeType":"YulBlock","src":"37838:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"37859:4:19","nodeType":"YulLiteral","src":"37859:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"37865:2:19","nodeType":"YulIdentifier","src":"37865:2:19"}],"functionName":{"name":"mstore","nativeSrc":"37852:6:19","nodeType":"YulIdentifier","src":"37852:6:19"},"nativeSrc":"37852:16:19","nodeType":"YulFunctionCall","src":"37852:16:19"},"nativeSrc":"37852:16:19","nodeType":"YulExpressionStatement","src":"37852:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37888:4:19","nodeType":"YulLiteral","src":"37888:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"37894:2:19","nodeType":"YulIdentifier","src":"37894:2:19"}],"functionName":{"name":"mstore","nativeSrc":"37881:6:19","nodeType":"YulIdentifier","src":"37881:6:19"},"nativeSrc":"37881:16:19","nodeType":"YulFunctionCall","src":"37881:16:19"},"nativeSrc":"37881:16:19","nodeType":"YulExpressionStatement","src":"37881:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37917:4:19","nodeType":"YulLiteral","src":"37917:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"37923:2:19","nodeType":"YulIdentifier","src":"37923:2:19"}],"functionName":{"name":"mstore","nativeSrc":"37910:6:19","nodeType":"YulIdentifier","src":"37910:6:19"},"nativeSrc":"37910:16:19","nodeType":"YulFunctionCall","src":"37910:16:19"},"nativeSrc":"37910:16:19","nodeType":"YulExpressionStatement","src":"37910:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"37946:4:19","nodeType":"YulLiteral","src":"37946:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"37952:2:19","nodeType":"YulIdentifier","src":"37952:2:19"}],"functionName":{"name":"mstore","nativeSrc":"37939:6:19","nodeType":"YulIdentifier","src":"37939:6:19"},"nativeSrc":"37939:16:19","nodeType":"YulFunctionCall","src":"37939:16:19"},"nativeSrc":"37939:16:19","nodeType":"YulExpressionStatement","src":"37939:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27525,"isOffset":false,"isSlot":false,"src":"37865:2:19","valueSize":1},{"declaration":27528,"isOffset":false,"isSlot":false,"src":"37894:2:19","valueSize":1},{"declaration":27531,"isOffset":false,"isSlot":false,"src":"37923:2:19","valueSize":1},{"declaration":27534,"isOffset":false,"isSlot":false,"src":"37952:2:19","valueSize":1}],"id":27542,"nodeType":"InlineAssembly","src":"37829:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37242:3:19","parameters":{"id":27522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27517,"mutability":"mutable","name":"p0","nameLocation":"37251:2:19","nodeType":"VariableDeclaration","scope":27544,"src":"37246:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27516,"name":"bool","nodeType":"ElementaryTypeName","src":"37246:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27519,"mutability":"mutable","name":"p1","nameLocation":"37263:2:19","nodeType":"VariableDeclaration","scope":27544,"src":"37255:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27518,"name":"address","nodeType":"ElementaryTypeName","src":"37255:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27521,"mutability":"mutable","name":"p2","nameLocation":"37272:2:19","nodeType":"VariableDeclaration","scope":27544,"src":"37267:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27520,"name":"bool","nodeType":"ElementaryTypeName","src":"37267:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"37245:30:19"},"returnParameters":{"id":27523,"nodeType":"ParameterList","parameters":[],"src":"37290:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27573,"nodeType":"FunctionDefinition","src":"37977:744:19","nodes":[],"body":{"id":27572,"nodeType":"Block","src":"38037:684:19","nodes":[],"statements":[{"assignments":[27554],"declarations":[{"constant":false,"id":27554,"mutability":"mutable","name":"m0","nameLocation":"38055:2:19","nodeType":"VariableDeclaration","scope":27572,"src":"38047:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27553,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38047:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27555,"nodeType":"VariableDeclarationStatement","src":"38047:10:19"},{"assignments":[27557],"declarations":[{"constant":false,"id":27557,"mutability":"mutable","name":"m1","nameLocation":"38075:2:19","nodeType":"VariableDeclaration","scope":27572,"src":"38067:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27556,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38067:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27558,"nodeType":"VariableDeclarationStatement","src":"38067:10:19"},{"assignments":[27560],"declarations":[{"constant":false,"id":27560,"mutability":"mutable","name":"m2","nameLocation":"38095:2:19","nodeType":"VariableDeclaration","scope":27572,"src":"38087:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27559,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38087:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27561,"nodeType":"VariableDeclarationStatement","src":"38087:10:19"},{"assignments":[27563],"declarations":[{"constant":false,"id":27563,"mutability":"mutable","name":"m3","nameLocation":"38115:2:19","nodeType":"VariableDeclaration","scope":27572,"src":"38107:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27562,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38107:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27564,"nodeType":"VariableDeclarationStatement","src":"38107:10:19"},{"AST":{"nativeSrc":"38179:311:19","nodeType":"YulBlock","src":"38179:311:19","statements":[{"nativeSrc":"38193:17:19","nodeType":"YulAssignment","src":"38193:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"38205:4:19","nodeType":"YulLiteral","src":"38205:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"38199:5:19","nodeType":"YulIdentifier","src":"38199:5:19"},"nativeSrc":"38199:11:19","nodeType":"YulFunctionCall","src":"38199:11:19"},"variableNames":[{"name":"m0","nativeSrc":"38193:2:19","nodeType":"YulIdentifier","src":"38193:2:19"}]},{"nativeSrc":"38223:17:19","nodeType":"YulAssignment","src":"38223:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"38235:4:19","nodeType":"YulLiteral","src":"38235:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"38229:5:19","nodeType":"YulIdentifier","src":"38229:5:19"},"nativeSrc":"38229:11:19","nodeType":"YulFunctionCall","src":"38229:11:19"},"variableNames":[{"name":"m1","nativeSrc":"38223:2:19","nodeType":"YulIdentifier","src":"38223:2:19"}]},{"nativeSrc":"38253:17:19","nodeType":"YulAssignment","src":"38253:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"38265:4:19","nodeType":"YulLiteral","src":"38265:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"38259:5:19","nodeType":"YulIdentifier","src":"38259:5:19"},"nativeSrc":"38259:11:19","nodeType":"YulFunctionCall","src":"38259:11:19"},"variableNames":[{"name":"m2","nativeSrc":"38253:2:19","nodeType":"YulIdentifier","src":"38253:2:19"}]},{"nativeSrc":"38283:17:19","nodeType":"YulAssignment","src":"38283:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"38295:4:19","nodeType":"YulLiteral","src":"38295:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"38289:5:19","nodeType":"YulIdentifier","src":"38289:5:19"},"nativeSrc":"38289:11:19","nodeType":"YulFunctionCall","src":"38289:11:19"},"variableNames":[{"name":"m3","nativeSrc":"38283:2:19","nodeType":"YulIdentifier","src":"38283:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"38376:4:19","nodeType":"YulLiteral","src":"38376:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"38382:10:19","nodeType":"YulLiteral","src":"38382:10:19","type":"","value":"0x5f7b9afb"}],"functionName":{"name":"mstore","nativeSrc":"38369:6:19","nodeType":"YulIdentifier","src":"38369:6:19"},"nativeSrc":"38369:24:19","nodeType":"YulFunctionCall","src":"38369:24:19"},"nativeSrc":"38369:24:19","nodeType":"YulExpressionStatement","src":"38369:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"38413:4:19","nodeType":"YulLiteral","src":"38413:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"38419:2:19","nodeType":"YulIdentifier","src":"38419:2:19"}],"functionName":{"name":"mstore","nativeSrc":"38406:6:19","nodeType":"YulIdentifier","src":"38406:6:19"},"nativeSrc":"38406:16:19","nodeType":"YulFunctionCall","src":"38406:16:19"},"nativeSrc":"38406:16:19","nodeType":"YulExpressionStatement","src":"38406:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"38442:4:19","nodeType":"YulLiteral","src":"38442:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"38448:2:19","nodeType":"YulIdentifier","src":"38448:2:19"}],"functionName":{"name":"mstore","nativeSrc":"38435:6:19","nodeType":"YulIdentifier","src":"38435:6:19"},"nativeSrc":"38435:16:19","nodeType":"YulFunctionCall","src":"38435:16:19"},"nativeSrc":"38435:16:19","nodeType":"YulExpressionStatement","src":"38435:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"38471:4:19","nodeType":"YulLiteral","src":"38471:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"38477:2:19","nodeType":"YulIdentifier","src":"38477:2:19"}],"functionName":{"name":"mstore","nativeSrc":"38464:6:19","nodeType":"YulIdentifier","src":"38464:6:19"},"nativeSrc":"38464:16:19","nodeType":"YulFunctionCall","src":"38464:16:19"},"nativeSrc":"38464:16:19","nodeType":"YulExpressionStatement","src":"38464:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27554,"isOffset":false,"isSlot":false,"src":"38193:2:19","valueSize":1},{"declaration":27557,"isOffset":false,"isSlot":false,"src":"38223:2:19","valueSize":1},{"declaration":27560,"isOffset":false,"isSlot":false,"src":"38253:2:19","valueSize":1},{"declaration":27563,"isOffset":false,"isSlot":false,"src":"38283:2:19","valueSize":1},{"declaration":27546,"isOffset":false,"isSlot":false,"src":"38419:2:19","valueSize":1},{"declaration":27548,"isOffset":false,"isSlot":false,"src":"38448:2:19","valueSize":1},{"declaration":27550,"isOffset":false,"isSlot":false,"src":"38477:2:19","valueSize":1}],"id":27565,"nodeType":"InlineAssembly","src":"38170:320:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38515:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38521:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27566,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"38499:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38499:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27570,"nodeType":"ExpressionStatement","src":"38499:27:19"},{"AST":{"nativeSrc":"38588:127:19","nodeType":"YulBlock","src":"38588:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"38609:4:19","nodeType":"YulLiteral","src":"38609:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"38615:2:19","nodeType":"YulIdentifier","src":"38615:2:19"}],"functionName":{"name":"mstore","nativeSrc":"38602:6:19","nodeType":"YulIdentifier","src":"38602:6:19"},"nativeSrc":"38602:16:19","nodeType":"YulFunctionCall","src":"38602:16:19"},"nativeSrc":"38602:16:19","nodeType":"YulExpressionStatement","src":"38602:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"38638:4:19","nodeType":"YulLiteral","src":"38638:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"38644:2:19","nodeType":"YulIdentifier","src":"38644:2:19"}],"functionName":{"name":"mstore","nativeSrc":"38631:6:19","nodeType":"YulIdentifier","src":"38631:6:19"},"nativeSrc":"38631:16:19","nodeType":"YulFunctionCall","src":"38631:16:19"},"nativeSrc":"38631:16:19","nodeType":"YulExpressionStatement","src":"38631:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"38667:4:19","nodeType":"YulLiteral","src":"38667:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"38673:2:19","nodeType":"YulIdentifier","src":"38673:2:19"}],"functionName":{"name":"mstore","nativeSrc":"38660:6:19","nodeType":"YulIdentifier","src":"38660:6:19"},"nativeSrc":"38660:16:19","nodeType":"YulFunctionCall","src":"38660:16:19"},"nativeSrc":"38660:16:19","nodeType":"YulExpressionStatement","src":"38660:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"38696:4:19","nodeType":"YulLiteral","src":"38696:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"38702:2:19","nodeType":"YulIdentifier","src":"38702:2:19"}],"functionName":{"name":"mstore","nativeSrc":"38689:6:19","nodeType":"YulIdentifier","src":"38689:6:19"},"nativeSrc":"38689:16:19","nodeType":"YulFunctionCall","src":"38689:16:19"},"nativeSrc":"38689:16:19","nodeType":"YulExpressionStatement","src":"38689:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27554,"isOffset":false,"isSlot":false,"src":"38615:2:19","valueSize":1},{"declaration":27557,"isOffset":false,"isSlot":false,"src":"38644:2:19","valueSize":1},{"declaration":27560,"isOffset":false,"isSlot":false,"src":"38673:2:19","valueSize":1},{"declaration":27563,"isOffset":false,"isSlot":false,"src":"38702:2:19","valueSize":1}],"id":27571,"nodeType":"InlineAssembly","src":"38579:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37986:3:19","parameters":{"id":27551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27546,"mutability":"mutable","name":"p0","nameLocation":"37995:2:19","nodeType":"VariableDeclaration","scope":27573,"src":"37990:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27545,"name":"bool","nodeType":"ElementaryTypeName","src":"37990:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27548,"mutability":"mutable","name":"p1","nameLocation":"38007:2:19","nodeType":"VariableDeclaration","scope":27573,"src":"37999:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27547,"name":"address","nodeType":"ElementaryTypeName","src":"37999:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27550,"mutability":"mutable","name":"p2","nameLocation":"38019:2:19","nodeType":"VariableDeclaration","scope":27573,"src":"38011:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27549,"name":"uint256","nodeType":"ElementaryTypeName","src":"38011:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37989:33:19"},"returnParameters":{"id":27552,"nodeType":"ParameterList","parameters":[],"src":"38037:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27608,"nodeType":"FunctionDefinition","src":"38727:1292:19","nodes":[],"body":{"id":27607,"nodeType":"Block","src":"38787:1232:19","nodes":[],"statements":[{"assignments":[27583],"declarations":[{"constant":false,"id":27583,"mutability":"mutable","name":"m0","nameLocation":"38805:2:19","nodeType":"VariableDeclaration","scope":27607,"src":"38797:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27582,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38797:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27584,"nodeType":"VariableDeclarationStatement","src":"38797:10:19"},{"assignments":[27586],"declarations":[{"constant":false,"id":27586,"mutability":"mutable","name":"m1","nameLocation":"38825:2:19","nodeType":"VariableDeclaration","scope":27607,"src":"38817:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27585,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38817:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27587,"nodeType":"VariableDeclarationStatement","src":"38817:10:19"},{"assignments":[27589],"declarations":[{"constant":false,"id":27589,"mutability":"mutable","name":"m2","nameLocation":"38845:2:19","nodeType":"VariableDeclaration","scope":27607,"src":"38837:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27588,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38837:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27590,"nodeType":"VariableDeclarationStatement","src":"38837:10:19"},{"assignments":[27592],"declarations":[{"constant":false,"id":27592,"mutability":"mutable","name":"m3","nameLocation":"38865:2:19","nodeType":"VariableDeclaration","scope":27607,"src":"38857:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27591,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38857:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27593,"nodeType":"VariableDeclarationStatement","src":"38857:10:19"},{"assignments":[27595],"declarations":[{"constant":false,"id":27595,"mutability":"mutable","name":"m4","nameLocation":"38885:2:19","nodeType":"VariableDeclaration","scope":27607,"src":"38877:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27594,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38877:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27596,"nodeType":"VariableDeclarationStatement","src":"38877:10:19"},{"assignments":[27598],"declarations":[{"constant":false,"id":27598,"mutability":"mutable","name":"m5","nameLocation":"38905:2:19","nodeType":"VariableDeclaration","scope":27607,"src":"38897:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27597,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38897:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27599,"nodeType":"VariableDeclarationStatement","src":"38897:10:19"},{"AST":{"nativeSrc":"38969:761:19","nodeType":"YulBlock","src":"38969:761:19","statements":[{"body":{"nativeSrc":"39012:313:19","nodeType":"YulBlock","src":"39012:313:19","statements":[{"nativeSrc":"39030:15:19","nodeType":"YulVariableDeclaration","src":"39030:15:19","value":{"kind":"number","nativeSrc":"39044:1:19","nodeType":"YulLiteral","src":"39044:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"39034:6:19","nodeType":"YulTypedName","src":"39034:6:19","type":""}]},{"body":{"nativeSrc":"39115:40:19","nodeType":"YulBlock","src":"39115:40:19","statements":[{"body":{"nativeSrc":"39144:9:19","nodeType":"YulBlock","src":"39144:9:19","statements":[{"nativeSrc":"39146:5:19","nodeType":"YulBreak","src":"39146:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"39132:6:19","nodeType":"YulIdentifier","src":"39132:6:19"},{"name":"w","nativeSrc":"39140:1:19","nodeType":"YulIdentifier","src":"39140:1:19"}],"functionName":{"name":"byte","nativeSrc":"39127:4:19","nodeType":"YulIdentifier","src":"39127:4:19"},"nativeSrc":"39127:15:19","nodeType":"YulFunctionCall","src":"39127:15:19"}],"functionName":{"name":"iszero","nativeSrc":"39120:6:19","nodeType":"YulIdentifier","src":"39120:6:19"},"nativeSrc":"39120:23:19","nodeType":"YulFunctionCall","src":"39120:23:19"},"nativeSrc":"39117:36:19","nodeType":"YulIf","src":"39117:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"39072:6:19","nodeType":"YulIdentifier","src":"39072:6:19"},{"kind":"number","nativeSrc":"39080:4:19","nodeType":"YulLiteral","src":"39080:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"39069:2:19","nodeType":"YulIdentifier","src":"39069:2:19"},"nativeSrc":"39069:16:19","nodeType":"YulFunctionCall","src":"39069:16:19"},"nativeSrc":"39062:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"39086:28:19","nodeType":"YulBlock","src":"39086:28:19","statements":[{"nativeSrc":"39088:24:19","nodeType":"YulAssignment","src":"39088:24:19","value":{"arguments":[{"name":"length","nativeSrc":"39102:6:19","nodeType":"YulIdentifier","src":"39102:6:19"},{"kind":"number","nativeSrc":"39110:1:19","nodeType":"YulLiteral","src":"39110:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"39098:3:19","nodeType":"YulIdentifier","src":"39098:3:19"},"nativeSrc":"39098:14:19","nodeType":"YulFunctionCall","src":"39098:14:19"},"variableNames":[{"name":"length","nativeSrc":"39088:6:19","nodeType":"YulIdentifier","src":"39088:6:19"}]}]},"pre":{"nativeSrc":"39066:2:19","nodeType":"YulBlock","src":"39066:2:19","statements":[]},"src":"39062:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"39179:3:19","nodeType":"YulIdentifier","src":"39179:3:19"},{"name":"length","nativeSrc":"39184:6:19","nodeType":"YulIdentifier","src":"39184:6:19"}],"functionName":{"name":"mstore","nativeSrc":"39172:6:19","nodeType":"YulIdentifier","src":"39172:6:19"},"nativeSrc":"39172:19:19","nodeType":"YulFunctionCall","src":"39172:19:19"},"nativeSrc":"39172:19:19","nodeType":"YulExpressionStatement","src":"39172:19:19"},{"nativeSrc":"39208:37:19","nodeType":"YulVariableDeclaration","src":"39208:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"39225:3:19","nodeType":"YulLiteral","src":"39225:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"39234:1:19","nodeType":"YulLiteral","src":"39234:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"39237:6:19","nodeType":"YulIdentifier","src":"39237:6:19"}],"functionName":{"name":"shl","nativeSrc":"39230:3:19","nodeType":"YulIdentifier","src":"39230:3:19"},"nativeSrc":"39230:14:19","nodeType":"YulFunctionCall","src":"39230:14:19"}],"functionName":{"name":"sub","nativeSrc":"39221:3:19","nodeType":"YulIdentifier","src":"39221:3:19"},"nativeSrc":"39221:24:19","nodeType":"YulFunctionCall","src":"39221:24:19"},"variables":[{"name":"shift","nativeSrc":"39212:5:19","nodeType":"YulTypedName","src":"39212:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"39273:3:19","nodeType":"YulIdentifier","src":"39273:3:19"},{"kind":"number","nativeSrc":"39278:4:19","nodeType":"YulLiteral","src":"39278:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"39269:3:19","nodeType":"YulIdentifier","src":"39269:3:19"},"nativeSrc":"39269:14:19","nodeType":"YulFunctionCall","src":"39269:14:19"},{"arguments":[{"name":"shift","nativeSrc":"39289:5:19","nodeType":"YulIdentifier","src":"39289:5:19"},{"arguments":[{"name":"shift","nativeSrc":"39300:5:19","nodeType":"YulIdentifier","src":"39300:5:19"},{"name":"w","nativeSrc":"39307:1:19","nodeType":"YulIdentifier","src":"39307:1:19"}],"functionName":{"name":"shr","nativeSrc":"39296:3:19","nodeType":"YulIdentifier","src":"39296:3:19"},"nativeSrc":"39296:13:19","nodeType":"YulFunctionCall","src":"39296:13:19"}],"functionName":{"name":"shl","nativeSrc":"39285:3:19","nodeType":"YulIdentifier","src":"39285:3:19"},"nativeSrc":"39285:25:19","nodeType":"YulFunctionCall","src":"39285:25:19"}],"functionName":{"name":"mstore","nativeSrc":"39262:6:19","nodeType":"YulIdentifier","src":"39262:6:19"},"nativeSrc":"39262:49:19","nodeType":"YulFunctionCall","src":"39262:49:19"},"nativeSrc":"39262:49:19","nodeType":"YulExpressionStatement","src":"39262:49:19"}]},"name":"writeString","nativeSrc":"38983:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"39004:3:19","nodeType":"YulTypedName","src":"39004:3:19","type":""},{"name":"w","nativeSrc":"39009:1:19","nodeType":"YulTypedName","src":"39009:1:19","type":""}],"src":"38983:342:19"},{"nativeSrc":"39338:17:19","nodeType":"YulAssignment","src":"39338:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"39350:4:19","nodeType":"YulLiteral","src":"39350:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"39344:5:19","nodeType":"YulIdentifier","src":"39344:5:19"},"nativeSrc":"39344:11:19","nodeType":"YulFunctionCall","src":"39344:11:19"},"variableNames":[{"name":"m0","nativeSrc":"39338:2:19","nodeType":"YulIdentifier","src":"39338:2:19"}]},{"nativeSrc":"39368:17:19","nodeType":"YulAssignment","src":"39368:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"39380:4:19","nodeType":"YulLiteral","src":"39380:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"39374:5:19","nodeType":"YulIdentifier","src":"39374:5:19"},"nativeSrc":"39374:11:19","nodeType":"YulFunctionCall","src":"39374:11:19"},"variableNames":[{"name":"m1","nativeSrc":"39368:2:19","nodeType":"YulIdentifier","src":"39368:2:19"}]},{"nativeSrc":"39398:17:19","nodeType":"YulAssignment","src":"39398:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"39410:4:19","nodeType":"YulLiteral","src":"39410:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"39404:5:19","nodeType":"YulIdentifier","src":"39404:5:19"},"nativeSrc":"39404:11:19","nodeType":"YulFunctionCall","src":"39404:11:19"},"variableNames":[{"name":"m2","nativeSrc":"39398:2:19","nodeType":"YulIdentifier","src":"39398:2:19"}]},{"nativeSrc":"39428:17:19","nodeType":"YulAssignment","src":"39428:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"39440:4:19","nodeType":"YulLiteral","src":"39440:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"39434:5:19","nodeType":"YulIdentifier","src":"39434:5:19"},"nativeSrc":"39434:11:19","nodeType":"YulFunctionCall","src":"39434:11:19"},"variableNames":[{"name":"m3","nativeSrc":"39428:2:19","nodeType":"YulIdentifier","src":"39428:2:19"}]},{"nativeSrc":"39458:17:19","nodeType":"YulAssignment","src":"39458:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"39470:4:19","nodeType":"YulLiteral","src":"39470:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"39464:5:19","nodeType":"YulIdentifier","src":"39464:5:19"},"nativeSrc":"39464:11:19","nodeType":"YulFunctionCall","src":"39464:11:19"},"variableNames":[{"name":"m4","nativeSrc":"39458:2:19","nodeType":"YulIdentifier","src":"39458:2:19"}]},{"nativeSrc":"39488:17:19","nodeType":"YulAssignment","src":"39488:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"39500:4:19","nodeType":"YulLiteral","src":"39500:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"39494:5:19","nodeType":"YulIdentifier","src":"39494:5:19"},"nativeSrc":"39494:11:19","nodeType":"YulFunctionCall","src":"39494:11:19"},"variableNames":[{"name":"m5","nativeSrc":"39488:2:19","nodeType":"YulIdentifier","src":"39488:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39580:4:19","nodeType":"YulLiteral","src":"39580:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"39586:10:19","nodeType":"YulLiteral","src":"39586:10:19","type":"","value":"0xde9a9270"}],"functionName":{"name":"mstore","nativeSrc":"39573:6:19","nodeType":"YulIdentifier","src":"39573:6:19"},"nativeSrc":"39573:24:19","nodeType":"YulFunctionCall","src":"39573:24:19"},"nativeSrc":"39573:24:19","nodeType":"YulExpressionStatement","src":"39573:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39617:4:19","nodeType":"YulLiteral","src":"39617:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"39623:2:19","nodeType":"YulIdentifier","src":"39623:2:19"}],"functionName":{"name":"mstore","nativeSrc":"39610:6:19","nodeType":"YulIdentifier","src":"39610:6:19"},"nativeSrc":"39610:16:19","nodeType":"YulFunctionCall","src":"39610:16:19"},"nativeSrc":"39610:16:19","nodeType":"YulExpressionStatement","src":"39610:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39646:4:19","nodeType":"YulLiteral","src":"39646:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"39652:2:19","nodeType":"YulIdentifier","src":"39652:2:19"}],"functionName":{"name":"mstore","nativeSrc":"39639:6:19","nodeType":"YulIdentifier","src":"39639:6:19"},"nativeSrc":"39639:16:19","nodeType":"YulFunctionCall","src":"39639:16:19"},"nativeSrc":"39639:16:19","nodeType":"YulExpressionStatement","src":"39639:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39675:4:19","nodeType":"YulLiteral","src":"39675:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"39681:4:19","nodeType":"YulLiteral","src":"39681:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"39668:6:19","nodeType":"YulIdentifier","src":"39668:6:19"},"nativeSrc":"39668:18:19","nodeType":"YulFunctionCall","src":"39668:18:19"},"nativeSrc":"39668:18:19","nodeType":"YulExpressionStatement","src":"39668:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39711:4:19","nodeType":"YulLiteral","src":"39711:4:19","type":"","value":"0x80"},{"name":"p2","nativeSrc":"39717:2:19","nodeType":"YulIdentifier","src":"39717:2:19"}],"functionName":{"name":"writeString","nativeSrc":"39699:11:19","nodeType":"YulIdentifier","src":"39699:11:19"},"nativeSrc":"39699:21:19","nodeType":"YulFunctionCall","src":"39699:21:19"},"nativeSrc":"39699:21:19","nodeType":"YulExpressionStatement","src":"39699:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27583,"isOffset":false,"isSlot":false,"src":"39338:2:19","valueSize":1},{"declaration":27586,"isOffset":false,"isSlot":false,"src":"39368:2:19","valueSize":1},{"declaration":27589,"isOffset":false,"isSlot":false,"src":"39398:2:19","valueSize":1},{"declaration":27592,"isOffset":false,"isSlot":false,"src":"39428:2:19","valueSize":1},{"declaration":27595,"isOffset":false,"isSlot":false,"src":"39458:2:19","valueSize":1},{"declaration":27598,"isOffset":false,"isSlot":false,"src":"39488:2:19","valueSize":1},{"declaration":27575,"isOffset":false,"isSlot":false,"src":"39623:2:19","valueSize":1},{"declaration":27577,"isOffset":false,"isSlot":false,"src":"39652:2:19","valueSize":1},{"declaration":27579,"isOffset":false,"isSlot":false,"src":"39717:2:19","valueSize":1}],"id":27600,"nodeType":"InlineAssembly","src":"38960:770:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39755:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":27603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39761:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":27601,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"39739:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39739:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27605,"nodeType":"ExpressionStatement","src":"39739:27:19"},{"AST":{"nativeSrc":"39828:185:19","nodeType":"YulBlock","src":"39828:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"39849:4:19","nodeType":"YulLiteral","src":"39849:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"39855:2:19","nodeType":"YulIdentifier","src":"39855:2:19"}],"functionName":{"name":"mstore","nativeSrc":"39842:6:19","nodeType":"YulIdentifier","src":"39842:6:19"},"nativeSrc":"39842:16:19","nodeType":"YulFunctionCall","src":"39842:16:19"},"nativeSrc":"39842:16:19","nodeType":"YulExpressionStatement","src":"39842:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39878:4:19","nodeType":"YulLiteral","src":"39878:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"39884:2:19","nodeType":"YulIdentifier","src":"39884:2:19"}],"functionName":{"name":"mstore","nativeSrc":"39871:6:19","nodeType":"YulIdentifier","src":"39871:6:19"},"nativeSrc":"39871:16:19","nodeType":"YulFunctionCall","src":"39871:16:19"},"nativeSrc":"39871:16:19","nodeType":"YulExpressionStatement","src":"39871:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39907:4:19","nodeType":"YulLiteral","src":"39907:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"39913:2:19","nodeType":"YulIdentifier","src":"39913:2:19"}],"functionName":{"name":"mstore","nativeSrc":"39900:6:19","nodeType":"YulIdentifier","src":"39900:6:19"},"nativeSrc":"39900:16:19","nodeType":"YulFunctionCall","src":"39900:16:19"},"nativeSrc":"39900:16:19","nodeType":"YulExpressionStatement","src":"39900:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39936:4:19","nodeType":"YulLiteral","src":"39936:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"39942:2:19","nodeType":"YulIdentifier","src":"39942:2:19"}],"functionName":{"name":"mstore","nativeSrc":"39929:6:19","nodeType":"YulIdentifier","src":"39929:6:19"},"nativeSrc":"39929:16:19","nodeType":"YulFunctionCall","src":"39929:16:19"},"nativeSrc":"39929:16:19","nodeType":"YulExpressionStatement","src":"39929:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39965:4:19","nodeType":"YulLiteral","src":"39965:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"39971:2:19","nodeType":"YulIdentifier","src":"39971:2:19"}],"functionName":{"name":"mstore","nativeSrc":"39958:6:19","nodeType":"YulIdentifier","src":"39958:6:19"},"nativeSrc":"39958:16:19","nodeType":"YulFunctionCall","src":"39958:16:19"},"nativeSrc":"39958:16:19","nodeType":"YulExpressionStatement","src":"39958:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"39994:4:19","nodeType":"YulLiteral","src":"39994:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"40000:2:19","nodeType":"YulIdentifier","src":"40000:2:19"}],"functionName":{"name":"mstore","nativeSrc":"39987:6:19","nodeType":"YulIdentifier","src":"39987:6:19"},"nativeSrc":"39987:16:19","nodeType":"YulFunctionCall","src":"39987:16:19"},"nativeSrc":"39987:16:19","nodeType":"YulExpressionStatement","src":"39987:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27583,"isOffset":false,"isSlot":false,"src":"39855:2:19","valueSize":1},{"declaration":27586,"isOffset":false,"isSlot":false,"src":"39884:2:19","valueSize":1},{"declaration":27589,"isOffset":false,"isSlot":false,"src":"39913:2:19","valueSize":1},{"declaration":27592,"isOffset":false,"isSlot":false,"src":"39942:2:19","valueSize":1},{"declaration":27595,"isOffset":false,"isSlot":false,"src":"39971:2:19","valueSize":1},{"declaration":27598,"isOffset":false,"isSlot":false,"src":"40000:2:19","valueSize":1}],"id":27606,"nodeType":"InlineAssembly","src":"39819:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38736:3:19","parameters":{"id":27580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27575,"mutability":"mutable","name":"p0","nameLocation":"38745:2:19","nodeType":"VariableDeclaration","scope":27608,"src":"38740:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27574,"name":"bool","nodeType":"ElementaryTypeName","src":"38740:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27577,"mutability":"mutable","name":"p1","nameLocation":"38757:2:19","nodeType":"VariableDeclaration","scope":27608,"src":"38749:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27576,"name":"address","nodeType":"ElementaryTypeName","src":"38749:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27579,"mutability":"mutable","name":"p2","nameLocation":"38769:2:19","nodeType":"VariableDeclaration","scope":27608,"src":"38761:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27578,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38761:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"38739:33:19"},"returnParameters":{"id":27581,"nodeType":"ParameterList","parameters":[],"src":"38787:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27637,"nodeType":"FunctionDefinition","src":"40025:738:19","nodes":[],"body":{"id":27636,"nodeType":"Block","src":"40082:681:19","nodes":[],"statements":[{"assignments":[27618],"declarations":[{"constant":false,"id":27618,"mutability":"mutable","name":"m0","nameLocation":"40100:2:19","nodeType":"VariableDeclaration","scope":27636,"src":"40092:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27617,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40092:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27619,"nodeType":"VariableDeclarationStatement","src":"40092:10:19"},{"assignments":[27621],"declarations":[{"constant":false,"id":27621,"mutability":"mutable","name":"m1","nameLocation":"40120:2:19","nodeType":"VariableDeclaration","scope":27636,"src":"40112:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27620,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40112:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27622,"nodeType":"VariableDeclarationStatement","src":"40112:10:19"},{"assignments":[27624],"declarations":[{"constant":false,"id":27624,"mutability":"mutable","name":"m2","nameLocation":"40140:2:19","nodeType":"VariableDeclaration","scope":27636,"src":"40132:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27623,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40132:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27625,"nodeType":"VariableDeclarationStatement","src":"40132:10:19"},{"assignments":[27627],"declarations":[{"constant":false,"id":27627,"mutability":"mutable","name":"m3","nameLocation":"40160:2:19","nodeType":"VariableDeclaration","scope":27636,"src":"40152:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27626,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40152:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27628,"nodeType":"VariableDeclarationStatement","src":"40152:10:19"},{"AST":{"nativeSrc":"40224:308:19","nodeType":"YulBlock","src":"40224:308:19","statements":[{"nativeSrc":"40238:17:19","nodeType":"YulAssignment","src":"40238:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"40250:4:19","nodeType":"YulLiteral","src":"40250:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"40244:5:19","nodeType":"YulIdentifier","src":"40244:5:19"},"nativeSrc":"40244:11:19","nodeType":"YulFunctionCall","src":"40244:11:19"},"variableNames":[{"name":"m0","nativeSrc":"40238:2:19","nodeType":"YulIdentifier","src":"40238:2:19"}]},{"nativeSrc":"40268:17:19","nodeType":"YulAssignment","src":"40268:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"40280:4:19","nodeType":"YulLiteral","src":"40280:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"40274:5:19","nodeType":"YulIdentifier","src":"40274:5:19"},"nativeSrc":"40274:11:19","nodeType":"YulFunctionCall","src":"40274:11:19"},"variableNames":[{"name":"m1","nativeSrc":"40268:2:19","nodeType":"YulIdentifier","src":"40268:2:19"}]},{"nativeSrc":"40298:17:19","nodeType":"YulAssignment","src":"40298:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"40310:4:19","nodeType":"YulLiteral","src":"40310:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"40304:5:19","nodeType":"YulIdentifier","src":"40304:5:19"},"nativeSrc":"40304:11:19","nodeType":"YulFunctionCall","src":"40304:11:19"},"variableNames":[{"name":"m2","nativeSrc":"40298:2:19","nodeType":"YulIdentifier","src":"40298:2:19"}]},{"nativeSrc":"40328:17:19","nodeType":"YulAssignment","src":"40328:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"40340:4:19","nodeType":"YulLiteral","src":"40340:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"40334:5:19","nodeType":"YulIdentifier","src":"40334:5:19"},"nativeSrc":"40334:11:19","nodeType":"YulFunctionCall","src":"40334:11:19"},"variableNames":[{"name":"m3","nativeSrc":"40328:2:19","nodeType":"YulIdentifier","src":"40328:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"40418:4:19","nodeType":"YulLiteral","src":"40418:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"40424:10:19","nodeType":"YulLiteral","src":"40424:10:19","type":"","value":"0x1078f68d"}],"functionName":{"name":"mstore","nativeSrc":"40411:6:19","nodeType":"YulIdentifier","src":"40411:6:19"},"nativeSrc":"40411:24:19","nodeType":"YulFunctionCall","src":"40411:24:19"},"nativeSrc":"40411:24:19","nodeType":"YulExpressionStatement","src":"40411:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"40455:4:19","nodeType":"YulLiteral","src":"40455:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"40461:2:19","nodeType":"YulIdentifier","src":"40461:2:19"}],"functionName":{"name":"mstore","nativeSrc":"40448:6:19","nodeType":"YulIdentifier","src":"40448:6:19"},"nativeSrc":"40448:16:19","nodeType":"YulFunctionCall","src":"40448:16:19"},"nativeSrc":"40448:16:19","nodeType":"YulExpressionStatement","src":"40448:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"40484:4:19","nodeType":"YulLiteral","src":"40484:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"40490:2:19","nodeType":"YulIdentifier","src":"40490:2:19"}],"functionName":{"name":"mstore","nativeSrc":"40477:6:19","nodeType":"YulIdentifier","src":"40477:6:19"},"nativeSrc":"40477:16:19","nodeType":"YulFunctionCall","src":"40477:16:19"},"nativeSrc":"40477:16:19","nodeType":"YulExpressionStatement","src":"40477:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"40513:4:19","nodeType":"YulLiteral","src":"40513:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"40519:2:19","nodeType":"YulIdentifier","src":"40519:2:19"}],"functionName":{"name":"mstore","nativeSrc":"40506:6:19","nodeType":"YulIdentifier","src":"40506:6:19"},"nativeSrc":"40506:16:19","nodeType":"YulFunctionCall","src":"40506:16:19"},"nativeSrc":"40506:16:19","nodeType":"YulExpressionStatement","src":"40506:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27618,"isOffset":false,"isSlot":false,"src":"40238:2:19","valueSize":1},{"declaration":27621,"isOffset":false,"isSlot":false,"src":"40268:2:19","valueSize":1},{"declaration":27624,"isOffset":false,"isSlot":false,"src":"40298:2:19","valueSize":1},{"declaration":27627,"isOffset":false,"isSlot":false,"src":"40328:2:19","valueSize":1},{"declaration":27610,"isOffset":false,"isSlot":false,"src":"40461:2:19","valueSize":1},{"declaration":27612,"isOffset":false,"isSlot":false,"src":"40490:2:19","valueSize":1},{"declaration":27614,"isOffset":false,"isSlot":false,"src":"40519:2:19","valueSize":1}],"id":27629,"nodeType":"InlineAssembly","src":"40215:317:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40557:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40563:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27630,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"40541:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40541:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27634,"nodeType":"ExpressionStatement","src":"40541:27:19"},{"AST":{"nativeSrc":"40630:127:19","nodeType":"YulBlock","src":"40630:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"40651:4:19","nodeType":"YulLiteral","src":"40651:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"40657:2:19","nodeType":"YulIdentifier","src":"40657:2:19"}],"functionName":{"name":"mstore","nativeSrc":"40644:6:19","nodeType":"YulIdentifier","src":"40644:6:19"},"nativeSrc":"40644:16:19","nodeType":"YulFunctionCall","src":"40644:16:19"},"nativeSrc":"40644:16:19","nodeType":"YulExpressionStatement","src":"40644:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"40680:4:19","nodeType":"YulLiteral","src":"40680:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"40686:2:19","nodeType":"YulIdentifier","src":"40686:2:19"}],"functionName":{"name":"mstore","nativeSrc":"40673:6:19","nodeType":"YulIdentifier","src":"40673:6:19"},"nativeSrc":"40673:16:19","nodeType":"YulFunctionCall","src":"40673:16:19"},"nativeSrc":"40673:16:19","nodeType":"YulExpressionStatement","src":"40673:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"40709:4:19","nodeType":"YulLiteral","src":"40709:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"40715:2:19","nodeType":"YulIdentifier","src":"40715:2:19"}],"functionName":{"name":"mstore","nativeSrc":"40702:6:19","nodeType":"YulIdentifier","src":"40702:6:19"},"nativeSrc":"40702:16:19","nodeType":"YulFunctionCall","src":"40702:16:19"},"nativeSrc":"40702:16:19","nodeType":"YulExpressionStatement","src":"40702:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"40738:4:19","nodeType":"YulLiteral","src":"40738:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"40744:2:19","nodeType":"YulIdentifier","src":"40744:2:19"}],"functionName":{"name":"mstore","nativeSrc":"40731:6:19","nodeType":"YulIdentifier","src":"40731:6:19"},"nativeSrc":"40731:16:19","nodeType":"YulFunctionCall","src":"40731:16:19"},"nativeSrc":"40731:16:19","nodeType":"YulExpressionStatement","src":"40731:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27618,"isOffset":false,"isSlot":false,"src":"40657:2:19","valueSize":1},{"declaration":27621,"isOffset":false,"isSlot":false,"src":"40686:2:19","valueSize":1},{"declaration":27624,"isOffset":false,"isSlot":false,"src":"40715:2:19","valueSize":1},{"declaration":27627,"isOffset":false,"isSlot":false,"src":"40744:2:19","valueSize":1}],"id":27635,"nodeType":"InlineAssembly","src":"40621:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40034:3:19","parameters":{"id":27615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27610,"mutability":"mutable","name":"p0","nameLocation":"40043:2:19","nodeType":"VariableDeclaration","scope":27637,"src":"40038:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27609,"name":"bool","nodeType":"ElementaryTypeName","src":"40038:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27612,"mutability":"mutable","name":"p1","nameLocation":"40052:2:19","nodeType":"VariableDeclaration","scope":27637,"src":"40047:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27611,"name":"bool","nodeType":"ElementaryTypeName","src":"40047:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27614,"mutability":"mutable","name":"p2","nameLocation":"40064:2:19","nodeType":"VariableDeclaration","scope":27637,"src":"40056:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27613,"name":"address","nodeType":"ElementaryTypeName","src":"40056:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40037:30:19"},"returnParameters":{"id":27616,"nodeType":"ParameterList","parameters":[],"src":"40082:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27666,"nodeType":"FunctionDefinition","src":"40769:732:19","nodes":[],"body":{"id":27665,"nodeType":"Block","src":"40823:678:19","nodes":[],"statements":[{"assignments":[27647],"declarations":[{"constant":false,"id":27647,"mutability":"mutable","name":"m0","nameLocation":"40841:2:19","nodeType":"VariableDeclaration","scope":27665,"src":"40833:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27646,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40833:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27648,"nodeType":"VariableDeclarationStatement","src":"40833:10:19"},{"assignments":[27650],"declarations":[{"constant":false,"id":27650,"mutability":"mutable","name":"m1","nameLocation":"40861:2:19","nodeType":"VariableDeclaration","scope":27665,"src":"40853:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27649,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40853:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27651,"nodeType":"VariableDeclarationStatement","src":"40853:10:19"},{"assignments":[27653],"declarations":[{"constant":false,"id":27653,"mutability":"mutable","name":"m2","nameLocation":"40881:2:19","nodeType":"VariableDeclaration","scope":27665,"src":"40873:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27652,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40873:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27654,"nodeType":"VariableDeclarationStatement","src":"40873:10:19"},{"assignments":[27656],"declarations":[{"constant":false,"id":27656,"mutability":"mutable","name":"m3","nameLocation":"40901:2:19","nodeType":"VariableDeclaration","scope":27665,"src":"40893:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27655,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40893:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27657,"nodeType":"VariableDeclarationStatement","src":"40893:10:19"},{"AST":{"nativeSrc":"40965:305:19","nodeType":"YulBlock","src":"40965:305:19","statements":[{"nativeSrc":"40979:17:19","nodeType":"YulAssignment","src":"40979:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"40991:4:19","nodeType":"YulLiteral","src":"40991:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"40985:5:19","nodeType":"YulIdentifier","src":"40985:5:19"},"nativeSrc":"40985:11:19","nodeType":"YulFunctionCall","src":"40985:11:19"},"variableNames":[{"name":"m0","nativeSrc":"40979:2:19","nodeType":"YulIdentifier","src":"40979:2:19"}]},{"nativeSrc":"41009:17:19","nodeType":"YulAssignment","src":"41009:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"41021:4:19","nodeType":"YulLiteral","src":"41021:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"41015:5:19","nodeType":"YulIdentifier","src":"41015:5:19"},"nativeSrc":"41015:11:19","nodeType":"YulFunctionCall","src":"41015:11:19"},"variableNames":[{"name":"m1","nativeSrc":"41009:2:19","nodeType":"YulIdentifier","src":"41009:2:19"}]},{"nativeSrc":"41039:17:19","nodeType":"YulAssignment","src":"41039:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"41051:4:19","nodeType":"YulLiteral","src":"41051:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"41045:5:19","nodeType":"YulIdentifier","src":"41045:5:19"},"nativeSrc":"41045:11:19","nodeType":"YulFunctionCall","src":"41045:11:19"},"variableNames":[{"name":"m2","nativeSrc":"41039:2:19","nodeType":"YulIdentifier","src":"41039:2:19"}]},{"nativeSrc":"41069:17:19","nodeType":"YulAssignment","src":"41069:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"41081:4:19","nodeType":"YulLiteral","src":"41081:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"41075:5:19","nodeType":"YulIdentifier","src":"41075:5:19"},"nativeSrc":"41075:11:19","nodeType":"YulFunctionCall","src":"41075:11:19"},"variableNames":[{"name":"m3","nativeSrc":"41069:2:19","nodeType":"YulIdentifier","src":"41069:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41156:4:19","nodeType":"YulLiteral","src":"41156:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"41162:10:19","nodeType":"YulLiteral","src":"41162:10:19","type":"","value":"0x50709698"}],"functionName":{"name":"mstore","nativeSrc":"41149:6:19","nodeType":"YulIdentifier","src":"41149:6:19"},"nativeSrc":"41149:24:19","nodeType":"YulFunctionCall","src":"41149:24:19"},"nativeSrc":"41149:24:19","nodeType":"YulExpressionStatement","src":"41149:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41193:4:19","nodeType":"YulLiteral","src":"41193:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"41199:2:19","nodeType":"YulIdentifier","src":"41199:2:19"}],"functionName":{"name":"mstore","nativeSrc":"41186:6:19","nodeType":"YulIdentifier","src":"41186:6:19"},"nativeSrc":"41186:16:19","nodeType":"YulFunctionCall","src":"41186:16:19"},"nativeSrc":"41186:16:19","nodeType":"YulExpressionStatement","src":"41186:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41222:4:19","nodeType":"YulLiteral","src":"41222:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"41228:2:19","nodeType":"YulIdentifier","src":"41228:2:19"}],"functionName":{"name":"mstore","nativeSrc":"41215:6:19","nodeType":"YulIdentifier","src":"41215:6:19"},"nativeSrc":"41215:16:19","nodeType":"YulFunctionCall","src":"41215:16:19"},"nativeSrc":"41215:16:19","nodeType":"YulExpressionStatement","src":"41215:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41251:4:19","nodeType":"YulLiteral","src":"41251:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"41257:2:19","nodeType":"YulIdentifier","src":"41257:2:19"}],"functionName":{"name":"mstore","nativeSrc":"41244:6:19","nodeType":"YulIdentifier","src":"41244:6:19"},"nativeSrc":"41244:16:19","nodeType":"YulFunctionCall","src":"41244:16:19"},"nativeSrc":"41244:16:19","nodeType":"YulExpressionStatement","src":"41244:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27647,"isOffset":false,"isSlot":false,"src":"40979:2:19","valueSize":1},{"declaration":27650,"isOffset":false,"isSlot":false,"src":"41009:2:19","valueSize":1},{"declaration":27653,"isOffset":false,"isSlot":false,"src":"41039:2:19","valueSize":1},{"declaration":27656,"isOffset":false,"isSlot":false,"src":"41069:2:19","valueSize":1},{"declaration":27639,"isOffset":false,"isSlot":false,"src":"41199:2:19","valueSize":1},{"declaration":27641,"isOffset":false,"isSlot":false,"src":"41228:2:19","valueSize":1},{"declaration":27643,"isOffset":false,"isSlot":false,"src":"41257:2:19","valueSize":1}],"id":27658,"nodeType":"InlineAssembly","src":"40956:314:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41295:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41301:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27659,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"41279:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41279:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27663,"nodeType":"ExpressionStatement","src":"41279:27:19"},{"AST":{"nativeSrc":"41368:127:19","nodeType":"YulBlock","src":"41368:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"41389:4:19","nodeType":"YulLiteral","src":"41389:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"41395:2:19","nodeType":"YulIdentifier","src":"41395:2:19"}],"functionName":{"name":"mstore","nativeSrc":"41382:6:19","nodeType":"YulIdentifier","src":"41382:6:19"},"nativeSrc":"41382:16:19","nodeType":"YulFunctionCall","src":"41382:16:19"},"nativeSrc":"41382:16:19","nodeType":"YulExpressionStatement","src":"41382:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41418:4:19","nodeType":"YulLiteral","src":"41418:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"41424:2:19","nodeType":"YulIdentifier","src":"41424:2:19"}],"functionName":{"name":"mstore","nativeSrc":"41411:6:19","nodeType":"YulIdentifier","src":"41411:6:19"},"nativeSrc":"41411:16:19","nodeType":"YulFunctionCall","src":"41411:16:19"},"nativeSrc":"41411:16:19","nodeType":"YulExpressionStatement","src":"41411:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41447:4:19","nodeType":"YulLiteral","src":"41447:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"41453:2:19","nodeType":"YulIdentifier","src":"41453:2:19"}],"functionName":{"name":"mstore","nativeSrc":"41440:6:19","nodeType":"YulIdentifier","src":"41440:6:19"},"nativeSrc":"41440:16:19","nodeType":"YulFunctionCall","src":"41440:16:19"},"nativeSrc":"41440:16:19","nodeType":"YulExpressionStatement","src":"41440:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41476:4:19","nodeType":"YulLiteral","src":"41476:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"41482:2:19","nodeType":"YulIdentifier","src":"41482:2:19"}],"functionName":{"name":"mstore","nativeSrc":"41469:6:19","nodeType":"YulIdentifier","src":"41469:6:19"},"nativeSrc":"41469:16:19","nodeType":"YulFunctionCall","src":"41469:16:19"},"nativeSrc":"41469:16:19","nodeType":"YulExpressionStatement","src":"41469:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27647,"isOffset":false,"isSlot":false,"src":"41395:2:19","valueSize":1},{"declaration":27650,"isOffset":false,"isSlot":false,"src":"41424:2:19","valueSize":1},{"declaration":27653,"isOffset":false,"isSlot":false,"src":"41453:2:19","valueSize":1},{"declaration":27656,"isOffset":false,"isSlot":false,"src":"41482:2:19","valueSize":1}],"id":27664,"nodeType":"InlineAssembly","src":"41359:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40778:3:19","parameters":{"id":27644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27639,"mutability":"mutable","name":"p0","nameLocation":"40787:2:19","nodeType":"VariableDeclaration","scope":27666,"src":"40782:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27638,"name":"bool","nodeType":"ElementaryTypeName","src":"40782:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27641,"mutability":"mutable","name":"p1","nameLocation":"40796:2:19","nodeType":"VariableDeclaration","scope":27666,"src":"40791:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27640,"name":"bool","nodeType":"ElementaryTypeName","src":"40791:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27643,"mutability":"mutable","name":"p2","nameLocation":"40805:2:19","nodeType":"VariableDeclaration","scope":27666,"src":"40800:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27642,"name":"bool","nodeType":"ElementaryTypeName","src":"40800:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"40781:27:19"},"returnParameters":{"id":27645,"nodeType":"ParameterList","parameters":[],"src":"40823:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27695,"nodeType":"FunctionDefinition","src":"41507:738:19","nodes":[],"body":{"id":27694,"nodeType":"Block","src":"41564:681:19","nodes":[],"statements":[{"assignments":[27676],"declarations":[{"constant":false,"id":27676,"mutability":"mutable","name":"m0","nameLocation":"41582:2:19","nodeType":"VariableDeclaration","scope":27694,"src":"41574:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27675,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41574:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27677,"nodeType":"VariableDeclarationStatement","src":"41574:10:19"},{"assignments":[27679],"declarations":[{"constant":false,"id":27679,"mutability":"mutable","name":"m1","nameLocation":"41602:2:19","nodeType":"VariableDeclaration","scope":27694,"src":"41594:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27678,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41594:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27680,"nodeType":"VariableDeclarationStatement","src":"41594:10:19"},{"assignments":[27682],"declarations":[{"constant":false,"id":27682,"mutability":"mutable","name":"m2","nameLocation":"41622:2:19","nodeType":"VariableDeclaration","scope":27694,"src":"41614:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27681,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41614:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27683,"nodeType":"VariableDeclarationStatement","src":"41614:10:19"},{"assignments":[27685],"declarations":[{"constant":false,"id":27685,"mutability":"mutable","name":"m3","nameLocation":"41642:2:19","nodeType":"VariableDeclaration","scope":27694,"src":"41634:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27684,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41634:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27686,"nodeType":"VariableDeclarationStatement","src":"41634:10:19"},{"AST":{"nativeSrc":"41706:308:19","nodeType":"YulBlock","src":"41706:308:19","statements":[{"nativeSrc":"41720:17:19","nodeType":"YulAssignment","src":"41720:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"41732:4:19","nodeType":"YulLiteral","src":"41732:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"41726:5:19","nodeType":"YulIdentifier","src":"41726:5:19"},"nativeSrc":"41726:11:19","nodeType":"YulFunctionCall","src":"41726:11:19"},"variableNames":[{"name":"m0","nativeSrc":"41720:2:19","nodeType":"YulIdentifier","src":"41720:2:19"}]},{"nativeSrc":"41750:17:19","nodeType":"YulAssignment","src":"41750:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"41762:4:19","nodeType":"YulLiteral","src":"41762:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"41756:5:19","nodeType":"YulIdentifier","src":"41756:5:19"},"nativeSrc":"41756:11:19","nodeType":"YulFunctionCall","src":"41756:11:19"},"variableNames":[{"name":"m1","nativeSrc":"41750:2:19","nodeType":"YulIdentifier","src":"41750:2:19"}]},{"nativeSrc":"41780:17:19","nodeType":"YulAssignment","src":"41780:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"41792:4:19","nodeType":"YulLiteral","src":"41792:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"41786:5:19","nodeType":"YulIdentifier","src":"41786:5:19"},"nativeSrc":"41786:11:19","nodeType":"YulFunctionCall","src":"41786:11:19"},"variableNames":[{"name":"m2","nativeSrc":"41780:2:19","nodeType":"YulIdentifier","src":"41780:2:19"}]},{"nativeSrc":"41810:17:19","nodeType":"YulAssignment","src":"41810:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"41822:4:19","nodeType":"YulLiteral","src":"41822:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"41816:5:19","nodeType":"YulIdentifier","src":"41816:5:19"},"nativeSrc":"41816:11:19","nodeType":"YulFunctionCall","src":"41816:11:19"},"variableNames":[{"name":"m3","nativeSrc":"41810:2:19","nodeType":"YulIdentifier","src":"41810:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41900:4:19","nodeType":"YulLiteral","src":"41900:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"41906:10:19","nodeType":"YulLiteral","src":"41906:10:19","type":"","value":"0x12f21602"}],"functionName":{"name":"mstore","nativeSrc":"41893:6:19","nodeType":"YulIdentifier","src":"41893:6:19"},"nativeSrc":"41893:24:19","nodeType":"YulFunctionCall","src":"41893:24:19"},"nativeSrc":"41893:24:19","nodeType":"YulExpressionStatement","src":"41893:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41937:4:19","nodeType":"YulLiteral","src":"41937:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"41943:2:19","nodeType":"YulIdentifier","src":"41943:2:19"}],"functionName":{"name":"mstore","nativeSrc":"41930:6:19","nodeType":"YulIdentifier","src":"41930:6:19"},"nativeSrc":"41930:16:19","nodeType":"YulFunctionCall","src":"41930:16:19"},"nativeSrc":"41930:16:19","nodeType":"YulExpressionStatement","src":"41930:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41966:4:19","nodeType":"YulLiteral","src":"41966:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"41972:2:19","nodeType":"YulIdentifier","src":"41972:2:19"}],"functionName":{"name":"mstore","nativeSrc":"41959:6:19","nodeType":"YulIdentifier","src":"41959:6:19"},"nativeSrc":"41959:16:19","nodeType":"YulFunctionCall","src":"41959:16:19"},"nativeSrc":"41959:16:19","nodeType":"YulExpressionStatement","src":"41959:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"41995:4:19","nodeType":"YulLiteral","src":"41995:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"42001:2:19","nodeType":"YulIdentifier","src":"42001:2:19"}],"functionName":{"name":"mstore","nativeSrc":"41988:6:19","nodeType":"YulIdentifier","src":"41988:6:19"},"nativeSrc":"41988:16:19","nodeType":"YulFunctionCall","src":"41988:16:19"},"nativeSrc":"41988:16:19","nodeType":"YulExpressionStatement","src":"41988:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27676,"isOffset":false,"isSlot":false,"src":"41720:2:19","valueSize":1},{"declaration":27679,"isOffset":false,"isSlot":false,"src":"41750:2:19","valueSize":1},{"declaration":27682,"isOffset":false,"isSlot":false,"src":"41780:2:19","valueSize":1},{"declaration":27685,"isOffset":false,"isSlot":false,"src":"41810:2:19","valueSize":1},{"declaration":27668,"isOffset":false,"isSlot":false,"src":"41943:2:19","valueSize":1},{"declaration":27670,"isOffset":false,"isSlot":false,"src":"41972:2:19","valueSize":1},{"declaration":27672,"isOffset":false,"isSlot":false,"src":"42001:2:19","valueSize":1}],"id":27687,"nodeType":"InlineAssembly","src":"41697:317:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42039:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42045:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27688,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"42023:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42023:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27692,"nodeType":"ExpressionStatement","src":"42023:27:19"},{"AST":{"nativeSrc":"42112:127:19","nodeType":"YulBlock","src":"42112:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"42133:4:19","nodeType":"YulLiteral","src":"42133:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"42139:2:19","nodeType":"YulIdentifier","src":"42139:2:19"}],"functionName":{"name":"mstore","nativeSrc":"42126:6:19","nodeType":"YulIdentifier","src":"42126:6:19"},"nativeSrc":"42126:16:19","nodeType":"YulFunctionCall","src":"42126:16:19"},"nativeSrc":"42126:16:19","nodeType":"YulExpressionStatement","src":"42126:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"42162:4:19","nodeType":"YulLiteral","src":"42162:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"42168:2:19","nodeType":"YulIdentifier","src":"42168:2:19"}],"functionName":{"name":"mstore","nativeSrc":"42155:6:19","nodeType":"YulIdentifier","src":"42155:6:19"},"nativeSrc":"42155:16:19","nodeType":"YulFunctionCall","src":"42155:16:19"},"nativeSrc":"42155:16:19","nodeType":"YulExpressionStatement","src":"42155:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"42191:4:19","nodeType":"YulLiteral","src":"42191:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"42197:2:19","nodeType":"YulIdentifier","src":"42197:2:19"}],"functionName":{"name":"mstore","nativeSrc":"42184:6:19","nodeType":"YulIdentifier","src":"42184:6:19"},"nativeSrc":"42184:16:19","nodeType":"YulFunctionCall","src":"42184:16:19"},"nativeSrc":"42184:16:19","nodeType":"YulExpressionStatement","src":"42184:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"42220:4:19","nodeType":"YulLiteral","src":"42220:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"42226:2:19","nodeType":"YulIdentifier","src":"42226:2:19"}],"functionName":{"name":"mstore","nativeSrc":"42213:6:19","nodeType":"YulIdentifier","src":"42213:6:19"},"nativeSrc":"42213:16:19","nodeType":"YulFunctionCall","src":"42213:16:19"},"nativeSrc":"42213:16:19","nodeType":"YulExpressionStatement","src":"42213:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27676,"isOffset":false,"isSlot":false,"src":"42139:2:19","valueSize":1},{"declaration":27679,"isOffset":false,"isSlot":false,"src":"42168:2:19","valueSize":1},{"declaration":27682,"isOffset":false,"isSlot":false,"src":"42197:2:19","valueSize":1},{"declaration":27685,"isOffset":false,"isSlot":false,"src":"42226:2:19","valueSize":1}],"id":27693,"nodeType":"InlineAssembly","src":"42103:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41516:3:19","parameters":{"id":27673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27668,"mutability":"mutable","name":"p0","nameLocation":"41525:2:19","nodeType":"VariableDeclaration","scope":27695,"src":"41520:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27667,"name":"bool","nodeType":"ElementaryTypeName","src":"41520:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27670,"mutability":"mutable","name":"p1","nameLocation":"41534:2:19","nodeType":"VariableDeclaration","scope":27695,"src":"41529:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27669,"name":"bool","nodeType":"ElementaryTypeName","src":"41529:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27672,"mutability":"mutable","name":"p2","nameLocation":"41546:2:19","nodeType":"VariableDeclaration","scope":27695,"src":"41538:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27671,"name":"uint256","nodeType":"ElementaryTypeName","src":"41538:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41519:30:19"},"returnParameters":{"id":27674,"nodeType":"ParameterList","parameters":[],"src":"41564:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27730,"nodeType":"FunctionDefinition","src":"42251:1286:19","nodes":[],"body":{"id":27729,"nodeType":"Block","src":"42308:1229:19","nodes":[],"statements":[{"assignments":[27705],"declarations":[{"constant":false,"id":27705,"mutability":"mutable","name":"m0","nameLocation":"42326:2:19","nodeType":"VariableDeclaration","scope":27729,"src":"42318:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27704,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42318:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27706,"nodeType":"VariableDeclarationStatement","src":"42318:10:19"},{"assignments":[27708],"declarations":[{"constant":false,"id":27708,"mutability":"mutable","name":"m1","nameLocation":"42346:2:19","nodeType":"VariableDeclaration","scope":27729,"src":"42338:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27707,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42338:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27709,"nodeType":"VariableDeclarationStatement","src":"42338:10:19"},{"assignments":[27711],"declarations":[{"constant":false,"id":27711,"mutability":"mutable","name":"m2","nameLocation":"42366:2:19","nodeType":"VariableDeclaration","scope":27729,"src":"42358:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27710,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42358:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27712,"nodeType":"VariableDeclarationStatement","src":"42358:10:19"},{"assignments":[27714],"declarations":[{"constant":false,"id":27714,"mutability":"mutable","name":"m3","nameLocation":"42386:2:19","nodeType":"VariableDeclaration","scope":27729,"src":"42378:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27713,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42378:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27715,"nodeType":"VariableDeclarationStatement","src":"42378:10:19"},{"assignments":[27717],"declarations":[{"constant":false,"id":27717,"mutability":"mutable","name":"m4","nameLocation":"42406:2:19","nodeType":"VariableDeclaration","scope":27729,"src":"42398:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27716,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42398:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27718,"nodeType":"VariableDeclarationStatement","src":"42398:10:19"},{"assignments":[27720],"declarations":[{"constant":false,"id":27720,"mutability":"mutable","name":"m5","nameLocation":"42426:2:19","nodeType":"VariableDeclaration","scope":27729,"src":"42418:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27719,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42418:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27721,"nodeType":"VariableDeclarationStatement","src":"42418:10:19"},{"AST":{"nativeSrc":"42490:758:19","nodeType":"YulBlock","src":"42490:758:19","statements":[{"body":{"nativeSrc":"42533:313:19","nodeType":"YulBlock","src":"42533:313:19","statements":[{"nativeSrc":"42551:15:19","nodeType":"YulVariableDeclaration","src":"42551:15:19","value":{"kind":"number","nativeSrc":"42565:1:19","nodeType":"YulLiteral","src":"42565:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"42555:6:19","nodeType":"YulTypedName","src":"42555:6:19","type":""}]},{"body":{"nativeSrc":"42636:40:19","nodeType":"YulBlock","src":"42636:40:19","statements":[{"body":{"nativeSrc":"42665:9:19","nodeType":"YulBlock","src":"42665:9:19","statements":[{"nativeSrc":"42667:5:19","nodeType":"YulBreak","src":"42667:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"42653:6:19","nodeType":"YulIdentifier","src":"42653:6:19"},{"name":"w","nativeSrc":"42661:1:19","nodeType":"YulIdentifier","src":"42661:1:19"}],"functionName":{"name":"byte","nativeSrc":"42648:4:19","nodeType":"YulIdentifier","src":"42648:4:19"},"nativeSrc":"42648:15:19","nodeType":"YulFunctionCall","src":"42648:15:19"}],"functionName":{"name":"iszero","nativeSrc":"42641:6:19","nodeType":"YulIdentifier","src":"42641:6:19"},"nativeSrc":"42641:23:19","nodeType":"YulFunctionCall","src":"42641:23:19"},"nativeSrc":"42638:36:19","nodeType":"YulIf","src":"42638:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"42593:6:19","nodeType":"YulIdentifier","src":"42593:6:19"},{"kind":"number","nativeSrc":"42601:4:19","nodeType":"YulLiteral","src":"42601:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"42590:2:19","nodeType":"YulIdentifier","src":"42590:2:19"},"nativeSrc":"42590:16:19","nodeType":"YulFunctionCall","src":"42590:16:19"},"nativeSrc":"42583:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"42607:28:19","nodeType":"YulBlock","src":"42607:28:19","statements":[{"nativeSrc":"42609:24:19","nodeType":"YulAssignment","src":"42609:24:19","value":{"arguments":[{"name":"length","nativeSrc":"42623:6:19","nodeType":"YulIdentifier","src":"42623:6:19"},{"kind":"number","nativeSrc":"42631:1:19","nodeType":"YulLiteral","src":"42631:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"42619:3:19","nodeType":"YulIdentifier","src":"42619:3:19"},"nativeSrc":"42619:14:19","nodeType":"YulFunctionCall","src":"42619:14:19"},"variableNames":[{"name":"length","nativeSrc":"42609:6:19","nodeType":"YulIdentifier","src":"42609:6:19"}]}]},"pre":{"nativeSrc":"42587:2:19","nodeType":"YulBlock","src":"42587:2:19","statements":[]},"src":"42583:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"42700:3:19","nodeType":"YulIdentifier","src":"42700:3:19"},{"name":"length","nativeSrc":"42705:6:19","nodeType":"YulIdentifier","src":"42705:6:19"}],"functionName":{"name":"mstore","nativeSrc":"42693:6:19","nodeType":"YulIdentifier","src":"42693:6:19"},"nativeSrc":"42693:19:19","nodeType":"YulFunctionCall","src":"42693:19:19"},"nativeSrc":"42693:19:19","nodeType":"YulExpressionStatement","src":"42693:19:19"},{"nativeSrc":"42729:37:19","nodeType":"YulVariableDeclaration","src":"42729:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"42746:3:19","nodeType":"YulLiteral","src":"42746:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"42755:1:19","nodeType":"YulLiteral","src":"42755:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"42758:6:19","nodeType":"YulIdentifier","src":"42758:6:19"}],"functionName":{"name":"shl","nativeSrc":"42751:3:19","nodeType":"YulIdentifier","src":"42751:3:19"},"nativeSrc":"42751:14:19","nodeType":"YulFunctionCall","src":"42751:14:19"}],"functionName":{"name":"sub","nativeSrc":"42742:3:19","nodeType":"YulIdentifier","src":"42742:3:19"},"nativeSrc":"42742:24:19","nodeType":"YulFunctionCall","src":"42742:24:19"},"variables":[{"name":"shift","nativeSrc":"42733:5:19","nodeType":"YulTypedName","src":"42733:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"42794:3:19","nodeType":"YulIdentifier","src":"42794:3:19"},{"kind":"number","nativeSrc":"42799:4:19","nodeType":"YulLiteral","src":"42799:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"42790:3:19","nodeType":"YulIdentifier","src":"42790:3:19"},"nativeSrc":"42790:14:19","nodeType":"YulFunctionCall","src":"42790:14:19"},{"arguments":[{"name":"shift","nativeSrc":"42810:5:19","nodeType":"YulIdentifier","src":"42810:5:19"},{"arguments":[{"name":"shift","nativeSrc":"42821:5:19","nodeType":"YulIdentifier","src":"42821:5:19"},{"name":"w","nativeSrc":"42828:1:19","nodeType":"YulIdentifier","src":"42828:1:19"}],"functionName":{"name":"shr","nativeSrc":"42817:3:19","nodeType":"YulIdentifier","src":"42817:3:19"},"nativeSrc":"42817:13:19","nodeType":"YulFunctionCall","src":"42817:13:19"}],"functionName":{"name":"shl","nativeSrc":"42806:3:19","nodeType":"YulIdentifier","src":"42806:3:19"},"nativeSrc":"42806:25:19","nodeType":"YulFunctionCall","src":"42806:25:19"}],"functionName":{"name":"mstore","nativeSrc":"42783:6:19","nodeType":"YulIdentifier","src":"42783:6:19"},"nativeSrc":"42783:49:19","nodeType":"YulFunctionCall","src":"42783:49:19"},"nativeSrc":"42783:49:19","nodeType":"YulExpressionStatement","src":"42783:49:19"}]},"name":"writeString","nativeSrc":"42504:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"42525:3:19","nodeType":"YulTypedName","src":"42525:3:19","type":""},{"name":"w","nativeSrc":"42530:1:19","nodeType":"YulTypedName","src":"42530:1:19","type":""}],"src":"42504:342:19"},{"nativeSrc":"42859:17:19","nodeType":"YulAssignment","src":"42859:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"42871:4:19","nodeType":"YulLiteral","src":"42871:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"42865:5:19","nodeType":"YulIdentifier","src":"42865:5:19"},"nativeSrc":"42865:11:19","nodeType":"YulFunctionCall","src":"42865:11:19"},"variableNames":[{"name":"m0","nativeSrc":"42859:2:19","nodeType":"YulIdentifier","src":"42859:2:19"}]},{"nativeSrc":"42889:17:19","nodeType":"YulAssignment","src":"42889:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"42901:4:19","nodeType":"YulLiteral","src":"42901:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"42895:5:19","nodeType":"YulIdentifier","src":"42895:5:19"},"nativeSrc":"42895:11:19","nodeType":"YulFunctionCall","src":"42895:11:19"},"variableNames":[{"name":"m1","nativeSrc":"42889:2:19","nodeType":"YulIdentifier","src":"42889:2:19"}]},{"nativeSrc":"42919:17:19","nodeType":"YulAssignment","src":"42919:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"42931:4:19","nodeType":"YulLiteral","src":"42931:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"42925:5:19","nodeType":"YulIdentifier","src":"42925:5:19"},"nativeSrc":"42925:11:19","nodeType":"YulFunctionCall","src":"42925:11:19"},"variableNames":[{"name":"m2","nativeSrc":"42919:2:19","nodeType":"YulIdentifier","src":"42919:2:19"}]},{"nativeSrc":"42949:17:19","nodeType":"YulAssignment","src":"42949:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"42961:4:19","nodeType":"YulLiteral","src":"42961:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"42955:5:19","nodeType":"YulIdentifier","src":"42955:5:19"},"nativeSrc":"42955:11:19","nodeType":"YulFunctionCall","src":"42955:11:19"},"variableNames":[{"name":"m3","nativeSrc":"42949:2:19","nodeType":"YulIdentifier","src":"42949:2:19"}]},{"nativeSrc":"42979:17:19","nodeType":"YulAssignment","src":"42979:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"42991:4:19","nodeType":"YulLiteral","src":"42991:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"42985:5:19","nodeType":"YulIdentifier","src":"42985:5:19"},"nativeSrc":"42985:11:19","nodeType":"YulFunctionCall","src":"42985:11:19"},"variableNames":[{"name":"m4","nativeSrc":"42979:2:19","nodeType":"YulIdentifier","src":"42979:2:19"}]},{"nativeSrc":"43009:17:19","nodeType":"YulAssignment","src":"43009:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"43021:4:19","nodeType":"YulLiteral","src":"43021:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"43015:5:19","nodeType":"YulIdentifier","src":"43015:5:19"},"nativeSrc":"43015:11:19","nodeType":"YulFunctionCall","src":"43015:11:19"},"variableNames":[{"name":"m5","nativeSrc":"43009:2:19","nodeType":"YulIdentifier","src":"43009:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43098:4:19","nodeType":"YulLiteral","src":"43098:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"43104:10:19","nodeType":"YulLiteral","src":"43104:10:19","type":"","value":"0x2555fa46"}],"functionName":{"name":"mstore","nativeSrc":"43091:6:19","nodeType":"YulIdentifier","src":"43091:6:19"},"nativeSrc":"43091:24:19","nodeType":"YulFunctionCall","src":"43091:24:19"},"nativeSrc":"43091:24:19","nodeType":"YulExpressionStatement","src":"43091:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43135:4:19","nodeType":"YulLiteral","src":"43135:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"43141:2:19","nodeType":"YulIdentifier","src":"43141:2:19"}],"functionName":{"name":"mstore","nativeSrc":"43128:6:19","nodeType":"YulIdentifier","src":"43128:6:19"},"nativeSrc":"43128:16:19","nodeType":"YulFunctionCall","src":"43128:16:19"},"nativeSrc":"43128:16:19","nodeType":"YulExpressionStatement","src":"43128:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43164:4:19","nodeType":"YulLiteral","src":"43164:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"43170:2:19","nodeType":"YulIdentifier","src":"43170:2:19"}],"functionName":{"name":"mstore","nativeSrc":"43157:6:19","nodeType":"YulIdentifier","src":"43157:6:19"},"nativeSrc":"43157:16:19","nodeType":"YulFunctionCall","src":"43157:16:19"},"nativeSrc":"43157:16:19","nodeType":"YulExpressionStatement","src":"43157:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43193:4:19","nodeType":"YulLiteral","src":"43193:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"43199:4:19","nodeType":"YulLiteral","src":"43199:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"43186:6:19","nodeType":"YulIdentifier","src":"43186:6:19"},"nativeSrc":"43186:18:19","nodeType":"YulFunctionCall","src":"43186:18:19"},"nativeSrc":"43186:18:19","nodeType":"YulExpressionStatement","src":"43186:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43229:4:19","nodeType":"YulLiteral","src":"43229:4:19","type":"","value":"0x80"},{"name":"p2","nativeSrc":"43235:2:19","nodeType":"YulIdentifier","src":"43235:2:19"}],"functionName":{"name":"writeString","nativeSrc":"43217:11:19","nodeType":"YulIdentifier","src":"43217:11:19"},"nativeSrc":"43217:21:19","nodeType":"YulFunctionCall","src":"43217:21:19"},"nativeSrc":"43217:21:19","nodeType":"YulExpressionStatement","src":"43217:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27705,"isOffset":false,"isSlot":false,"src":"42859:2:19","valueSize":1},{"declaration":27708,"isOffset":false,"isSlot":false,"src":"42889:2:19","valueSize":1},{"declaration":27711,"isOffset":false,"isSlot":false,"src":"42919:2:19","valueSize":1},{"declaration":27714,"isOffset":false,"isSlot":false,"src":"42949:2:19","valueSize":1},{"declaration":27717,"isOffset":false,"isSlot":false,"src":"42979:2:19","valueSize":1},{"declaration":27720,"isOffset":false,"isSlot":false,"src":"43009:2:19","valueSize":1},{"declaration":27697,"isOffset":false,"isSlot":false,"src":"43141:2:19","valueSize":1},{"declaration":27699,"isOffset":false,"isSlot":false,"src":"43170:2:19","valueSize":1},{"declaration":27701,"isOffset":false,"isSlot":false,"src":"43235:2:19","valueSize":1}],"id":27722,"nodeType":"InlineAssembly","src":"42481:767:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43273:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":27725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43279:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":27723,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"43257:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43257:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27727,"nodeType":"ExpressionStatement","src":"43257:27:19"},{"AST":{"nativeSrc":"43346:185:19","nodeType":"YulBlock","src":"43346:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"43367:4:19","nodeType":"YulLiteral","src":"43367:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"43373:2:19","nodeType":"YulIdentifier","src":"43373:2:19"}],"functionName":{"name":"mstore","nativeSrc":"43360:6:19","nodeType":"YulIdentifier","src":"43360:6:19"},"nativeSrc":"43360:16:19","nodeType":"YulFunctionCall","src":"43360:16:19"},"nativeSrc":"43360:16:19","nodeType":"YulExpressionStatement","src":"43360:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43396:4:19","nodeType":"YulLiteral","src":"43396:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"43402:2:19","nodeType":"YulIdentifier","src":"43402:2:19"}],"functionName":{"name":"mstore","nativeSrc":"43389:6:19","nodeType":"YulIdentifier","src":"43389:6:19"},"nativeSrc":"43389:16:19","nodeType":"YulFunctionCall","src":"43389:16:19"},"nativeSrc":"43389:16:19","nodeType":"YulExpressionStatement","src":"43389:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43425:4:19","nodeType":"YulLiteral","src":"43425:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"43431:2:19","nodeType":"YulIdentifier","src":"43431:2:19"}],"functionName":{"name":"mstore","nativeSrc":"43418:6:19","nodeType":"YulIdentifier","src":"43418:6:19"},"nativeSrc":"43418:16:19","nodeType":"YulFunctionCall","src":"43418:16:19"},"nativeSrc":"43418:16:19","nodeType":"YulExpressionStatement","src":"43418:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43454:4:19","nodeType":"YulLiteral","src":"43454:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"43460:2:19","nodeType":"YulIdentifier","src":"43460:2:19"}],"functionName":{"name":"mstore","nativeSrc":"43447:6:19","nodeType":"YulIdentifier","src":"43447:6:19"},"nativeSrc":"43447:16:19","nodeType":"YulFunctionCall","src":"43447:16:19"},"nativeSrc":"43447:16:19","nodeType":"YulExpressionStatement","src":"43447:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43483:4:19","nodeType":"YulLiteral","src":"43483:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"43489:2:19","nodeType":"YulIdentifier","src":"43489:2:19"}],"functionName":{"name":"mstore","nativeSrc":"43476:6:19","nodeType":"YulIdentifier","src":"43476:6:19"},"nativeSrc":"43476:16:19","nodeType":"YulFunctionCall","src":"43476:16:19"},"nativeSrc":"43476:16:19","nodeType":"YulExpressionStatement","src":"43476:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43512:4:19","nodeType":"YulLiteral","src":"43512:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"43518:2:19","nodeType":"YulIdentifier","src":"43518:2:19"}],"functionName":{"name":"mstore","nativeSrc":"43505:6:19","nodeType":"YulIdentifier","src":"43505:6:19"},"nativeSrc":"43505:16:19","nodeType":"YulFunctionCall","src":"43505:16:19"},"nativeSrc":"43505:16:19","nodeType":"YulExpressionStatement","src":"43505:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27705,"isOffset":false,"isSlot":false,"src":"43373:2:19","valueSize":1},{"declaration":27708,"isOffset":false,"isSlot":false,"src":"43402:2:19","valueSize":1},{"declaration":27711,"isOffset":false,"isSlot":false,"src":"43431:2:19","valueSize":1},{"declaration":27714,"isOffset":false,"isSlot":false,"src":"43460:2:19","valueSize":1},{"declaration":27717,"isOffset":false,"isSlot":false,"src":"43489:2:19","valueSize":1},{"declaration":27720,"isOffset":false,"isSlot":false,"src":"43518:2:19","valueSize":1}],"id":27728,"nodeType":"InlineAssembly","src":"43337:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42260:3:19","parameters":{"id":27702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27697,"mutability":"mutable","name":"p0","nameLocation":"42269:2:19","nodeType":"VariableDeclaration","scope":27730,"src":"42264:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27696,"name":"bool","nodeType":"ElementaryTypeName","src":"42264:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27699,"mutability":"mutable","name":"p1","nameLocation":"42278:2:19","nodeType":"VariableDeclaration","scope":27730,"src":"42273:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27698,"name":"bool","nodeType":"ElementaryTypeName","src":"42273:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27701,"mutability":"mutable","name":"p2","nameLocation":"42290:2:19","nodeType":"VariableDeclaration","scope":27730,"src":"42282:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27700,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42282:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"42263:30:19"},"returnParameters":{"id":27703,"nodeType":"ParameterList","parameters":[],"src":"42308:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27759,"nodeType":"FunctionDefinition","src":"43543:744:19","nodes":[],"body":{"id":27758,"nodeType":"Block","src":"43603:684:19","nodes":[],"statements":[{"assignments":[27740],"declarations":[{"constant":false,"id":27740,"mutability":"mutable","name":"m0","nameLocation":"43621:2:19","nodeType":"VariableDeclaration","scope":27758,"src":"43613:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27739,"name":"bytes32","nodeType":"ElementaryTypeName","src":"43613:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27741,"nodeType":"VariableDeclarationStatement","src":"43613:10:19"},{"assignments":[27743],"declarations":[{"constant":false,"id":27743,"mutability":"mutable","name":"m1","nameLocation":"43641:2:19","nodeType":"VariableDeclaration","scope":27758,"src":"43633:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27742,"name":"bytes32","nodeType":"ElementaryTypeName","src":"43633:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27744,"nodeType":"VariableDeclarationStatement","src":"43633:10:19"},{"assignments":[27746],"declarations":[{"constant":false,"id":27746,"mutability":"mutable","name":"m2","nameLocation":"43661:2:19","nodeType":"VariableDeclaration","scope":27758,"src":"43653:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27745,"name":"bytes32","nodeType":"ElementaryTypeName","src":"43653:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27747,"nodeType":"VariableDeclarationStatement","src":"43653:10:19"},{"assignments":[27749],"declarations":[{"constant":false,"id":27749,"mutability":"mutable","name":"m3","nameLocation":"43681:2:19","nodeType":"VariableDeclaration","scope":27758,"src":"43673:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27748,"name":"bytes32","nodeType":"ElementaryTypeName","src":"43673:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27750,"nodeType":"VariableDeclarationStatement","src":"43673:10:19"},{"AST":{"nativeSrc":"43745:311:19","nodeType":"YulBlock","src":"43745:311:19","statements":[{"nativeSrc":"43759:17:19","nodeType":"YulAssignment","src":"43759:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"43771:4:19","nodeType":"YulLiteral","src":"43771:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"43765:5:19","nodeType":"YulIdentifier","src":"43765:5:19"},"nativeSrc":"43765:11:19","nodeType":"YulFunctionCall","src":"43765:11:19"},"variableNames":[{"name":"m0","nativeSrc":"43759:2:19","nodeType":"YulIdentifier","src":"43759:2:19"}]},{"nativeSrc":"43789:17:19","nodeType":"YulAssignment","src":"43789:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"43801:4:19","nodeType":"YulLiteral","src":"43801:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"43795:5:19","nodeType":"YulIdentifier","src":"43795:5:19"},"nativeSrc":"43795:11:19","nodeType":"YulFunctionCall","src":"43795:11:19"},"variableNames":[{"name":"m1","nativeSrc":"43789:2:19","nodeType":"YulIdentifier","src":"43789:2:19"}]},{"nativeSrc":"43819:17:19","nodeType":"YulAssignment","src":"43819:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"43831:4:19","nodeType":"YulLiteral","src":"43831:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"43825:5:19","nodeType":"YulIdentifier","src":"43825:5:19"},"nativeSrc":"43825:11:19","nodeType":"YulFunctionCall","src":"43825:11:19"},"variableNames":[{"name":"m2","nativeSrc":"43819:2:19","nodeType":"YulIdentifier","src":"43819:2:19"}]},{"nativeSrc":"43849:17:19","nodeType":"YulAssignment","src":"43849:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"43861:4:19","nodeType":"YulLiteral","src":"43861:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"43855:5:19","nodeType":"YulIdentifier","src":"43855:5:19"},"nativeSrc":"43855:11:19","nodeType":"YulFunctionCall","src":"43855:11:19"},"variableNames":[{"name":"m3","nativeSrc":"43849:2:19","nodeType":"YulIdentifier","src":"43849:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43942:4:19","nodeType":"YulLiteral","src":"43942:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"43948:10:19","nodeType":"YulLiteral","src":"43948:10:19","type":"","value":"0x088ef9d2"}],"functionName":{"name":"mstore","nativeSrc":"43935:6:19","nodeType":"YulIdentifier","src":"43935:6:19"},"nativeSrc":"43935:24:19","nodeType":"YulFunctionCall","src":"43935:24:19"},"nativeSrc":"43935:24:19","nodeType":"YulExpressionStatement","src":"43935:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"43979:4:19","nodeType":"YulLiteral","src":"43979:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"43985:2:19","nodeType":"YulIdentifier","src":"43985:2:19"}],"functionName":{"name":"mstore","nativeSrc":"43972:6:19","nodeType":"YulIdentifier","src":"43972:6:19"},"nativeSrc":"43972:16:19","nodeType":"YulFunctionCall","src":"43972:16:19"},"nativeSrc":"43972:16:19","nodeType":"YulExpressionStatement","src":"43972:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44008:4:19","nodeType":"YulLiteral","src":"44008:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"44014:2:19","nodeType":"YulIdentifier","src":"44014:2:19"}],"functionName":{"name":"mstore","nativeSrc":"44001:6:19","nodeType":"YulIdentifier","src":"44001:6:19"},"nativeSrc":"44001:16:19","nodeType":"YulFunctionCall","src":"44001:16:19"},"nativeSrc":"44001:16:19","nodeType":"YulExpressionStatement","src":"44001:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44037:4:19","nodeType":"YulLiteral","src":"44037:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"44043:2:19","nodeType":"YulIdentifier","src":"44043:2:19"}],"functionName":{"name":"mstore","nativeSrc":"44030:6:19","nodeType":"YulIdentifier","src":"44030:6:19"},"nativeSrc":"44030:16:19","nodeType":"YulFunctionCall","src":"44030:16:19"},"nativeSrc":"44030:16:19","nodeType":"YulExpressionStatement","src":"44030:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27740,"isOffset":false,"isSlot":false,"src":"43759:2:19","valueSize":1},{"declaration":27743,"isOffset":false,"isSlot":false,"src":"43789:2:19","valueSize":1},{"declaration":27746,"isOffset":false,"isSlot":false,"src":"43819:2:19","valueSize":1},{"declaration":27749,"isOffset":false,"isSlot":false,"src":"43849:2:19","valueSize":1},{"declaration":27732,"isOffset":false,"isSlot":false,"src":"43985:2:19","valueSize":1},{"declaration":27734,"isOffset":false,"isSlot":false,"src":"44014:2:19","valueSize":1},{"declaration":27736,"isOffset":false,"isSlot":false,"src":"44043:2:19","valueSize":1}],"id":27751,"nodeType":"InlineAssembly","src":"43736:320:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44081:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44087:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27752,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"44065:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44065:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27756,"nodeType":"ExpressionStatement","src":"44065:27:19"},{"AST":{"nativeSrc":"44154:127:19","nodeType":"YulBlock","src":"44154:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"44175:4:19","nodeType":"YulLiteral","src":"44175:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"44181:2:19","nodeType":"YulIdentifier","src":"44181:2:19"}],"functionName":{"name":"mstore","nativeSrc":"44168:6:19","nodeType":"YulIdentifier","src":"44168:6:19"},"nativeSrc":"44168:16:19","nodeType":"YulFunctionCall","src":"44168:16:19"},"nativeSrc":"44168:16:19","nodeType":"YulExpressionStatement","src":"44168:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44204:4:19","nodeType":"YulLiteral","src":"44204:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"44210:2:19","nodeType":"YulIdentifier","src":"44210:2:19"}],"functionName":{"name":"mstore","nativeSrc":"44197:6:19","nodeType":"YulIdentifier","src":"44197:6:19"},"nativeSrc":"44197:16:19","nodeType":"YulFunctionCall","src":"44197:16:19"},"nativeSrc":"44197:16:19","nodeType":"YulExpressionStatement","src":"44197:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44233:4:19","nodeType":"YulLiteral","src":"44233:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"44239:2:19","nodeType":"YulIdentifier","src":"44239:2:19"}],"functionName":{"name":"mstore","nativeSrc":"44226:6:19","nodeType":"YulIdentifier","src":"44226:6:19"},"nativeSrc":"44226:16:19","nodeType":"YulFunctionCall","src":"44226:16:19"},"nativeSrc":"44226:16:19","nodeType":"YulExpressionStatement","src":"44226:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44262:4:19","nodeType":"YulLiteral","src":"44262:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"44268:2:19","nodeType":"YulIdentifier","src":"44268:2:19"}],"functionName":{"name":"mstore","nativeSrc":"44255:6:19","nodeType":"YulIdentifier","src":"44255:6:19"},"nativeSrc":"44255:16:19","nodeType":"YulFunctionCall","src":"44255:16:19"},"nativeSrc":"44255:16:19","nodeType":"YulExpressionStatement","src":"44255:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27740,"isOffset":false,"isSlot":false,"src":"44181:2:19","valueSize":1},{"declaration":27743,"isOffset":false,"isSlot":false,"src":"44210:2:19","valueSize":1},{"declaration":27746,"isOffset":false,"isSlot":false,"src":"44239:2:19","valueSize":1},{"declaration":27749,"isOffset":false,"isSlot":false,"src":"44268:2:19","valueSize":1}],"id":27757,"nodeType":"InlineAssembly","src":"44145:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43552:3:19","parameters":{"id":27737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27732,"mutability":"mutable","name":"p0","nameLocation":"43561:2:19","nodeType":"VariableDeclaration","scope":27759,"src":"43556:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27731,"name":"bool","nodeType":"ElementaryTypeName","src":"43556:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27734,"mutability":"mutable","name":"p1","nameLocation":"43573:2:19","nodeType":"VariableDeclaration","scope":27759,"src":"43565:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27733,"name":"uint256","nodeType":"ElementaryTypeName","src":"43565:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27736,"mutability":"mutable","name":"p2","nameLocation":"43585:2:19","nodeType":"VariableDeclaration","scope":27759,"src":"43577:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27735,"name":"address","nodeType":"ElementaryTypeName","src":"43577:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"43555:33:19"},"returnParameters":{"id":27738,"nodeType":"ParameterList","parameters":[],"src":"43603:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27788,"nodeType":"FunctionDefinition","src":"44293:738:19","nodes":[],"body":{"id":27787,"nodeType":"Block","src":"44350:681:19","nodes":[],"statements":[{"assignments":[27769],"declarations":[{"constant":false,"id":27769,"mutability":"mutable","name":"m0","nameLocation":"44368:2:19","nodeType":"VariableDeclaration","scope":27787,"src":"44360:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27768,"name":"bytes32","nodeType":"ElementaryTypeName","src":"44360:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27770,"nodeType":"VariableDeclarationStatement","src":"44360:10:19"},{"assignments":[27772],"declarations":[{"constant":false,"id":27772,"mutability":"mutable","name":"m1","nameLocation":"44388:2:19","nodeType":"VariableDeclaration","scope":27787,"src":"44380:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27771,"name":"bytes32","nodeType":"ElementaryTypeName","src":"44380:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27773,"nodeType":"VariableDeclarationStatement","src":"44380:10:19"},{"assignments":[27775],"declarations":[{"constant":false,"id":27775,"mutability":"mutable","name":"m2","nameLocation":"44408:2:19","nodeType":"VariableDeclaration","scope":27787,"src":"44400:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27774,"name":"bytes32","nodeType":"ElementaryTypeName","src":"44400:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27776,"nodeType":"VariableDeclarationStatement","src":"44400:10:19"},{"assignments":[27778],"declarations":[{"constant":false,"id":27778,"mutability":"mutable","name":"m3","nameLocation":"44428:2:19","nodeType":"VariableDeclaration","scope":27787,"src":"44420:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27777,"name":"bytes32","nodeType":"ElementaryTypeName","src":"44420:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27779,"nodeType":"VariableDeclarationStatement","src":"44420:10:19"},{"AST":{"nativeSrc":"44492:308:19","nodeType":"YulBlock","src":"44492:308:19","statements":[{"nativeSrc":"44506:17:19","nodeType":"YulAssignment","src":"44506:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"44518:4:19","nodeType":"YulLiteral","src":"44518:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"44512:5:19","nodeType":"YulIdentifier","src":"44512:5:19"},"nativeSrc":"44512:11:19","nodeType":"YulFunctionCall","src":"44512:11:19"},"variableNames":[{"name":"m0","nativeSrc":"44506:2:19","nodeType":"YulIdentifier","src":"44506:2:19"}]},{"nativeSrc":"44536:17:19","nodeType":"YulAssignment","src":"44536:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"44548:4:19","nodeType":"YulLiteral","src":"44548:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"44542:5:19","nodeType":"YulIdentifier","src":"44542:5:19"},"nativeSrc":"44542:11:19","nodeType":"YulFunctionCall","src":"44542:11:19"},"variableNames":[{"name":"m1","nativeSrc":"44536:2:19","nodeType":"YulIdentifier","src":"44536:2:19"}]},{"nativeSrc":"44566:17:19","nodeType":"YulAssignment","src":"44566:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"44578:4:19","nodeType":"YulLiteral","src":"44578:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"44572:5:19","nodeType":"YulIdentifier","src":"44572:5:19"},"nativeSrc":"44572:11:19","nodeType":"YulFunctionCall","src":"44572:11:19"},"variableNames":[{"name":"m2","nativeSrc":"44566:2:19","nodeType":"YulIdentifier","src":"44566:2:19"}]},{"nativeSrc":"44596:17:19","nodeType":"YulAssignment","src":"44596:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"44608:4:19","nodeType":"YulLiteral","src":"44608:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"44602:5:19","nodeType":"YulIdentifier","src":"44602:5:19"},"nativeSrc":"44602:11:19","nodeType":"YulFunctionCall","src":"44602:11:19"},"variableNames":[{"name":"m3","nativeSrc":"44596:2:19","nodeType":"YulIdentifier","src":"44596:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44686:4:19","nodeType":"YulLiteral","src":"44686:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"44692:10:19","nodeType":"YulLiteral","src":"44692:10:19","type":"","value":"0xe8defba9"}],"functionName":{"name":"mstore","nativeSrc":"44679:6:19","nodeType":"YulIdentifier","src":"44679:6:19"},"nativeSrc":"44679:24:19","nodeType":"YulFunctionCall","src":"44679:24:19"},"nativeSrc":"44679:24:19","nodeType":"YulExpressionStatement","src":"44679:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44723:4:19","nodeType":"YulLiteral","src":"44723:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"44729:2:19","nodeType":"YulIdentifier","src":"44729:2:19"}],"functionName":{"name":"mstore","nativeSrc":"44716:6:19","nodeType":"YulIdentifier","src":"44716:6:19"},"nativeSrc":"44716:16:19","nodeType":"YulFunctionCall","src":"44716:16:19"},"nativeSrc":"44716:16:19","nodeType":"YulExpressionStatement","src":"44716:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44752:4:19","nodeType":"YulLiteral","src":"44752:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"44758:2:19","nodeType":"YulIdentifier","src":"44758:2:19"}],"functionName":{"name":"mstore","nativeSrc":"44745:6:19","nodeType":"YulIdentifier","src":"44745:6:19"},"nativeSrc":"44745:16:19","nodeType":"YulFunctionCall","src":"44745:16:19"},"nativeSrc":"44745:16:19","nodeType":"YulExpressionStatement","src":"44745:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44781:4:19","nodeType":"YulLiteral","src":"44781:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"44787:2:19","nodeType":"YulIdentifier","src":"44787:2:19"}],"functionName":{"name":"mstore","nativeSrc":"44774:6:19","nodeType":"YulIdentifier","src":"44774:6:19"},"nativeSrc":"44774:16:19","nodeType":"YulFunctionCall","src":"44774:16:19"},"nativeSrc":"44774:16:19","nodeType":"YulExpressionStatement","src":"44774:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27769,"isOffset":false,"isSlot":false,"src":"44506:2:19","valueSize":1},{"declaration":27772,"isOffset":false,"isSlot":false,"src":"44536:2:19","valueSize":1},{"declaration":27775,"isOffset":false,"isSlot":false,"src":"44566:2:19","valueSize":1},{"declaration":27778,"isOffset":false,"isSlot":false,"src":"44596:2:19","valueSize":1},{"declaration":27761,"isOffset":false,"isSlot":false,"src":"44729:2:19","valueSize":1},{"declaration":27763,"isOffset":false,"isSlot":false,"src":"44758:2:19","valueSize":1},{"declaration":27765,"isOffset":false,"isSlot":false,"src":"44787:2:19","valueSize":1}],"id":27780,"nodeType":"InlineAssembly","src":"44483:317:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44825:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44831:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27781,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"44809:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44809:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27785,"nodeType":"ExpressionStatement","src":"44809:27:19"},{"AST":{"nativeSrc":"44898:127:19","nodeType":"YulBlock","src":"44898:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"44919:4:19","nodeType":"YulLiteral","src":"44919:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"44925:2:19","nodeType":"YulIdentifier","src":"44925:2:19"}],"functionName":{"name":"mstore","nativeSrc":"44912:6:19","nodeType":"YulIdentifier","src":"44912:6:19"},"nativeSrc":"44912:16:19","nodeType":"YulFunctionCall","src":"44912:16:19"},"nativeSrc":"44912:16:19","nodeType":"YulExpressionStatement","src":"44912:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44948:4:19","nodeType":"YulLiteral","src":"44948:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"44954:2:19","nodeType":"YulIdentifier","src":"44954:2:19"}],"functionName":{"name":"mstore","nativeSrc":"44941:6:19","nodeType":"YulIdentifier","src":"44941:6:19"},"nativeSrc":"44941:16:19","nodeType":"YulFunctionCall","src":"44941:16:19"},"nativeSrc":"44941:16:19","nodeType":"YulExpressionStatement","src":"44941:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"44977:4:19","nodeType":"YulLiteral","src":"44977:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"44983:2:19","nodeType":"YulIdentifier","src":"44983:2:19"}],"functionName":{"name":"mstore","nativeSrc":"44970:6:19","nodeType":"YulIdentifier","src":"44970:6:19"},"nativeSrc":"44970:16:19","nodeType":"YulFunctionCall","src":"44970:16:19"},"nativeSrc":"44970:16:19","nodeType":"YulExpressionStatement","src":"44970:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45006:4:19","nodeType":"YulLiteral","src":"45006:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"45012:2:19","nodeType":"YulIdentifier","src":"45012:2:19"}],"functionName":{"name":"mstore","nativeSrc":"44999:6:19","nodeType":"YulIdentifier","src":"44999:6:19"},"nativeSrc":"44999:16:19","nodeType":"YulFunctionCall","src":"44999:16:19"},"nativeSrc":"44999:16:19","nodeType":"YulExpressionStatement","src":"44999:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27769,"isOffset":false,"isSlot":false,"src":"44925:2:19","valueSize":1},{"declaration":27772,"isOffset":false,"isSlot":false,"src":"44954:2:19","valueSize":1},{"declaration":27775,"isOffset":false,"isSlot":false,"src":"44983:2:19","valueSize":1},{"declaration":27778,"isOffset":false,"isSlot":false,"src":"45012:2:19","valueSize":1}],"id":27786,"nodeType":"InlineAssembly","src":"44889:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44302:3:19","parameters":{"id":27766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27761,"mutability":"mutable","name":"p0","nameLocation":"44311:2:19","nodeType":"VariableDeclaration","scope":27788,"src":"44306:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27760,"name":"bool","nodeType":"ElementaryTypeName","src":"44306:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27763,"mutability":"mutable","name":"p1","nameLocation":"44323:2:19","nodeType":"VariableDeclaration","scope":27788,"src":"44315:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27762,"name":"uint256","nodeType":"ElementaryTypeName","src":"44315:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27765,"mutability":"mutable","name":"p2","nameLocation":"44332:2:19","nodeType":"VariableDeclaration","scope":27788,"src":"44327:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27764,"name":"bool","nodeType":"ElementaryTypeName","src":"44327:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"44305:30:19"},"returnParameters":{"id":27767,"nodeType":"ParameterList","parameters":[],"src":"44350:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27817,"nodeType":"FunctionDefinition","src":"45037:744:19","nodes":[],"body":{"id":27816,"nodeType":"Block","src":"45097:684:19","nodes":[],"statements":[{"assignments":[27798],"declarations":[{"constant":false,"id":27798,"mutability":"mutable","name":"m0","nameLocation":"45115:2:19","nodeType":"VariableDeclaration","scope":27816,"src":"45107:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27797,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45107:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27799,"nodeType":"VariableDeclarationStatement","src":"45107:10:19"},{"assignments":[27801],"declarations":[{"constant":false,"id":27801,"mutability":"mutable","name":"m1","nameLocation":"45135:2:19","nodeType":"VariableDeclaration","scope":27816,"src":"45127:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27800,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45127:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27802,"nodeType":"VariableDeclarationStatement","src":"45127:10:19"},{"assignments":[27804],"declarations":[{"constant":false,"id":27804,"mutability":"mutable","name":"m2","nameLocation":"45155:2:19","nodeType":"VariableDeclaration","scope":27816,"src":"45147:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27803,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45147:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27805,"nodeType":"VariableDeclarationStatement","src":"45147:10:19"},{"assignments":[27807],"declarations":[{"constant":false,"id":27807,"mutability":"mutable","name":"m3","nameLocation":"45175:2:19","nodeType":"VariableDeclaration","scope":27816,"src":"45167:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27806,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45167:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27808,"nodeType":"VariableDeclarationStatement","src":"45167:10:19"},{"AST":{"nativeSrc":"45239:311:19","nodeType":"YulBlock","src":"45239:311:19","statements":[{"nativeSrc":"45253:17:19","nodeType":"YulAssignment","src":"45253:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"45265:4:19","nodeType":"YulLiteral","src":"45265:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"45259:5:19","nodeType":"YulIdentifier","src":"45259:5:19"},"nativeSrc":"45259:11:19","nodeType":"YulFunctionCall","src":"45259:11:19"},"variableNames":[{"name":"m0","nativeSrc":"45253:2:19","nodeType":"YulIdentifier","src":"45253:2:19"}]},{"nativeSrc":"45283:17:19","nodeType":"YulAssignment","src":"45283:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"45295:4:19","nodeType":"YulLiteral","src":"45295:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"45289:5:19","nodeType":"YulIdentifier","src":"45289:5:19"},"nativeSrc":"45289:11:19","nodeType":"YulFunctionCall","src":"45289:11:19"},"variableNames":[{"name":"m1","nativeSrc":"45283:2:19","nodeType":"YulIdentifier","src":"45283:2:19"}]},{"nativeSrc":"45313:17:19","nodeType":"YulAssignment","src":"45313:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"45325:4:19","nodeType":"YulLiteral","src":"45325:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"45319:5:19","nodeType":"YulIdentifier","src":"45319:5:19"},"nativeSrc":"45319:11:19","nodeType":"YulFunctionCall","src":"45319:11:19"},"variableNames":[{"name":"m2","nativeSrc":"45313:2:19","nodeType":"YulIdentifier","src":"45313:2:19"}]},{"nativeSrc":"45343:17:19","nodeType":"YulAssignment","src":"45343:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"45355:4:19","nodeType":"YulLiteral","src":"45355:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"45349:5:19","nodeType":"YulIdentifier","src":"45349:5:19"},"nativeSrc":"45349:11:19","nodeType":"YulFunctionCall","src":"45349:11:19"},"variableNames":[{"name":"m3","nativeSrc":"45343:2:19","nodeType":"YulIdentifier","src":"45343:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45436:4:19","nodeType":"YulLiteral","src":"45436:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"45442:10:19","nodeType":"YulLiteral","src":"45442:10:19","type":"","value":"0x37103367"}],"functionName":{"name":"mstore","nativeSrc":"45429:6:19","nodeType":"YulIdentifier","src":"45429:6:19"},"nativeSrc":"45429:24:19","nodeType":"YulFunctionCall","src":"45429:24:19"},"nativeSrc":"45429:24:19","nodeType":"YulExpressionStatement","src":"45429:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45473:4:19","nodeType":"YulLiteral","src":"45473:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"45479:2:19","nodeType":"YulIdentifier","src":"45479:2:19"}],"functionName":{"name":"mstore","nativeSrc":"45466:6:19","nodeType":"YulIdentifier","src":"45466:6:19"},"nativeSrc":"45466:16:19","nodeType":"YulFunctionCall","src":"45466:16:19"},"nativeSrc":"45466:16:19","nodeType":"YulExpressionStatement","src":"45466:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45502:4:19","nodeType":"YulLiteral","src":"45502:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"45508:2:19","nodeType":"YulIdentifier","src":"45508:2:19"}],"functionName":{"name":"mstore","nativeSrc":"45495:6:19","nodeType":"YulIdentifier","src":"45495:6:19"},"nativeSrc":"45495:16:19","nodeType":"YulFunctionCall","src":"45495:16:19"},"nativeSrc":"45495:16:19","nodeType":"YulExpressionStatement","src":"45495:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45531:4:19","nodeType":"YulLiteral","src":"45531:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"45537:2:19","nodeType":"YulIdentifier","src":"45537:2:19"}],"functionName":{"name":"mstore","nativeSrc":"45524:6:19","nodeType":"YulIdentifier","src":"45524:6:19"},"nativeSrc":"45524:16:19","nodeType":"YulFunctionCall","src":"45524:16:19"},"nativeSrc":"45524:16:19","nodeType":"YulExpressionStatement","src":"45524:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27798,"isOffset":false,"isSlot":false,"src":"45253:2:19","valueSize":1},{"declaration":27801,"isOffset":false,"isSlot":false,"src":"45283:2:19","valueSize":1},{"declaration":27804,"isOffset":false,"isSlot":false,"src":"45313:2:19","valueSize":1},{"declaration":27807,"isOffset":false,"isSlot":false,"src":"45343:2:19","valueSize":1},{"declaration":27790,"isOffset":false,"isSlot":false,"src":"45479:2:19","valueSize":1},{"declaration":27792,"isOffset":false,"isSlot":false,"src":"45508:2:19","valueSize":1},{"declaration":27794,"isOffset":false,"isSlot":false,"src":"45537:2:19","valueSize":1}],"id":27809,"nodeType":"InlineAssembly","src":"45230:320:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45575:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":27812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45581:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":27810,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"45559:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45559:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27814,"nodeType":"ExpressionStatement","src":"45559:27:19"},{"AST":{"nativeSrc":"45648:127:19","nodeType":"YulBlock","src":"45648:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"45669:4:19","nodeType":"YulLiteral","src":"45669:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"45675:2:19","nodeType":"YulIdentifier","src":"45675:2:19"}],"functionName":{"name":"mstore","nativeSrc":"45662:6:19","nodeType":"YulIdentifier","src":"45662:6:19"},"nativeSrc":"45662:16:19","nodeType":"YulFunctionCall","src":"45662:16:19"},"nativeSrc":"45662:16:19","nodeType":"YulExpressionStatement","src":"45662:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45698:4:19","nodeType":"YulLiteral","src":"45698:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"45704:2:19","nodeType":"YulIdentifier","src":"45704:2:19"}],"functionName":{"name":"mstore","nativeSrc":"45691:6:19","nodeType":"YulIdentifier","src":"45691:6:19"},"nativeSrc":"45691:16:19","nodeType":"YulFunctionCall","src":"45691:16:19"},"nativeSrc":"45691:16:19","nodeType":"YulExpressionStatement","src":"45691:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45727:4:19","nodeType":"YulLiteral","src":"45727:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"45733:2:19","nodeType":"YulIdentifier","src":"45733:2:19"}],"functionName":{"name":"mstore","nativeSrc":"45720:6:19","nodeType":"YulIdentifier","src":"45720:6:19"},"nativeSrc":"45720:16:19","nodeType":"YulFunctionCall","src":"45720:16:19"},"nativeSrc":"45720:16:19","nodeType":"YulExpressionStatement","src":"45720:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"45756:4:19","nodeType":"YulLiteral","src":"45756:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"45762:2:19","nodeType":"YulIdentifier","src":"45762:2:19"}],"functionName":{"name":"mstore","nativeSrc":"45749:6:19","nodeType":"YulIdentifier","src":"45749:6:19"},"nativeSrc":"45749:16:19","nodeType":"YulFunctionCall","src":"45749:16:19"},"nativeSrc":"45749:16:19","nodeType":"YulExpressionStatement","src":"45749:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27798,"isOffset":false,"isSlot":false,"src":"45675:2:19","valueSize":1},{"declaration":27801,"isOffset":false,"isSlot":false,"src":"45704:2:19","valueSize":1},{"declaration":27804,"isOffset":false,"isSlot":false,"src":"45733:2:19","valueSize":1},{"declaration":27807,"isOffset":false,"isSlot":false,"src":"45762:2:19","valueSize":1}],"id":27815,"nodeType":"InlineAssembly","src":"45639:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45046:3:19","parameters":{"id":27795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27790,"mutability":"mutable","name":"p0","nameLocation":"45055:2:19","nodeType":"VariableDeclaration","scope":27817,"src":"45050:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27789,"name":"bool","nodeType":"ElementaryTypeName","src":"45050:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27792,"mutability":"mutable","name":"p1","nameLocation":"45067:2:19","nodeType":"VariableDeclaration","scope":27817,"src":"45059:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27791,"name":"uint256","nodeType":"ElementaryTypeName","src":"45059:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27794,"mutability":"mutable","name":"p2","nameLocation":"45079:2:19","nodeType":"VariableDeclaration","scope":27817,"src":"45071:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27793,"name":"uint256","nodeType":"ElementaryTypeName","src":"45071:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45049:33:19"},"returnParameters":{"id":27796,"nodeType":"ParameterList","parameters":[],"src":"45097:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27852,"nodeType":"FunctionDefinition","src":"45787:1292:19","nodes":[],"body":{"id":27851,"nodeType":"Block","src":"45847:1232:19","nodes":[],"statements":[{"assignments":[27827],"declarations":[{"constant":false,"id":27827,"mutability":"mutable","name":"m0","nameLocation":"45865:2:19","nodeType":"VariableDeclaration","scope":27851,"src":"45857:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27826,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45857:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27828,"nodeType":"VariableDeclarationStatement","src":"45857:10:19"},{"assignments":[27830],"declarations":[{"constant":false,"id":27830,"mutability":"mutable","name":"m1","nameLocation":"45885:2:19","nodeType":"VariableDeclaration","scope":27851,"src":"45877:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27829,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45877:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27831,"nodeType":"VariableDeclarationStatement","src":"45877:10:19"},{"assignments":[27833],"declarations":[{"constant":false,"id":27833,"mutability":"mutable","name":"m2","nameLocation":"45905:2:19","nodeType":"VariableDeclaration","scope":27851,"src":"45897:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27832,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45897:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27834,"nodeType":"VariableDeclarationStatement","src":"45897:10:19"},{"assignments":[27836],"declarations":[{"constant":false,"id":27836,"mutability":"mutable","name":"m3","nameLocation":"45925:2:19","nodeType":"VariableDeclaration","scope":27851,"src":"45917:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27835,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45917:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27837,"nodeType":"VariableDeclarationStatement","src":"45917:10:19"},{"assignments":[27839],"declarations":[{"constant":false,"id":27839,"mutability":"mutable","name":"m4","nameLocation":"45945:2:19","nodeType":"VariableDeclaration","scope":27851,"src":"45937:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27838,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45937:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27840,"nodeType":"VariableDeclarationStatement","src":"45937:10:19"},{"assignments":[27842],"declarations":[{"constant":false,"id":27842,"mutability":"mutable","name":"m5","nameLocation":"45965:2:19","nodeType":"VariableDeclaration","scope":27851,"src":"45957:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27841,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45957:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27843,"nodeType":"VariableDeclarationStatement","src":"45957:10:19"},{"AST":{"nativeSrc":"46029:761:19","nodeType":"YulBlock","src":"46029:761:19","statements":[{"body":{"nativeSrc":"46072:313:19","nodeType":"YulBlock","src":"46072:313:19","statements":[{"nativeSrc":"46090:15:19","nodeType":"YulVariableDeclaration","src":"46090:15:19","value":{"kind":"number","nativeSrc":"46104:1:19","nodeType":"YulLiteral","src":"46104:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"46094:6:19","nodeType":"YulTypedName","src":"46094:6:19","type":""}]},{"body":{"nativeSrc":"46175:40:19","nodeType":"YulBlock","src":"46175:40:19","statements":[{"body":{"nativeSrc":"46204:9:19","nodeType":"YulBlock","src":"46204:9:19","statements":[{"nativeSrc":"46206:5:19","nodeType":"YulBreak","src":"46206:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"46192:6:19","nodeType":"YulIdentifier","src":"46192:6:19"},{"name":"w","nativeSrc":"46200:1:19","nodeType":"YulIdentifier","src":"46200:1:19"}],"functionName":{"name":"byte","nativeSrc":"46187:4:19","nodeType":"YulIdentifier","src":"46187:4:19"},"nativeSrc":"46187:15:19","nodeType":"YulFunctionCall","src":"46187:15:19"}],"functionName":{"name":"iszero","nativeSrc":"46180:6:19","nodeType":"YulIdentifier","src":"46180:6:19"},"nativeSrc":"46180:23:19","nodeType":"YulFunctionCall","src":"46180:23:19"},"nativeSrc":"46177:36:19","nodeType":"YulIf","src":"46177:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"46132:6:19","nodeType":"YulIdentifier","src":"46132:6:19"},{"kind":"number","nativeSrc":"46140:4:19","nodeType":"YulLiteral","src":"46140:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"46129:2:19","nodeType":"YulIdentifier","src":"46129:2:19"},"nativeSrc":"46129:16:19","nodeType":"YulFunctionCall","src":"46129:16:19"},"nativeSrc":"46122:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"46146:28:19","nodeType":"YulBlock","src":"46146:28:19","statements":[{"nativeSrc":"46148:24:19","nodeType":"YulAssignment","src":"46148:24:19","value":{"arguments":[{"name":"length","nativeSrc":"46162:6:19","nodeType":"YulIdentifier","src":"46162:6:19"},{"kind":"number","nativeSrc":"46170:1:19","nodeType":"YulLiteral","src":"46170:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"46158:3:19","nodeType":"YulIdentifier","src":"46158:3:19"},"nativeSrc":"46158:14:19","nodeType":"YulFunctionCall","src":"46158:14:19"},"variableNames":[{"name":"length","nativeSrc":"46148:6:19","nodeType":"YulIdentifier","src":"46148:6:19"}]}]},"pre":{"nativeSrc":"46126:2:19","nodeType":"YulBlock","src":"46126:2:19","statements":[]},"src":"46122:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"46239:3:19","nodeType":"YulIdentifier","src":"46239:3:19"},{"name":"length","nativeSrc":"46244:6:19","nodeType":"YulIdentifier","src":"46244:6:19"}],"functionName":{"name":"mstore","nativeSrc":"46232:6:19","nodeType":"YulIdentifier","src":"46232:6:19"},"nativeSrc":"46232:19:19","nodeType":"YulFunctionCall","src":"46232:19:19"},"nativeSrc":"46232:19:19","nodeType":"YulExpressionStatement","src":"46232:19:19"},{"nativeSrc":"46268:37:19","nodeType":"YulVariableDeclaration","src":"46268:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"46285:3:19","nodeType":"YulLiteral","src":"46285:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"46294:1:19","nodeType":"YulLiteral","src":"46294:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"46297:6:19","nodeType":"YulIdentifier","src":"46297:6:19"}],"functionName":{"name":"shl","nativeSrc":"46290:3:19","nodeType":"YulIdentifier","src":"46290:3:19"},"nativeSrc":"46290:14:19","nodeType":"YulFunctionCall","src":"46290:14:19"}],"functionName":{"name":"sub","nativeSrc":"46281:3:19","nodeType":"YulIdentifier","src":"46281:3:19"},"nativeSrc":"46281:24:19","nodeType":"YulFunctionCall","src":"46281:24:19"},"variables":[{"name":"shift","nativeSrc":"46272:5:19","nodeType":"YulTypedName","src":"46272:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"46333:3:19","nodeType":"YulIdentifier","src":"46333:3:19"},{"kind":"number","nativeSrc":"46338:4:19","nodeType":"YulLiteral","src":"46338:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"46329:3:19","nodeType":"YulIdentifier","src":"46329:3:19"},"nativeSrc":"46329:14:19","nodeType":"YulFunctionCall","src":"46329:14:19"},{"arguments":[{"name":"shift","nativeSrc":"46349:5:19","nodeType":"YulIdentifier","src":"46349:5:19"},{"arguments":[{"name":"shift","nativeSrc":"46360:5:19","nodeType":"YulIdentifier","src":"46360:5:19"},{"name":"w","nativeSrc":"46367:1:19","nodeType":"YulIdentifier","src":"46367:1:19"}],"functionName":{"name":"shr","nativeSrc":"46356:3:19","nodeType":"YulIdentifier","src":"46356:3:19"},"nativeSrc":"46356:13:19","nodeType":"YulFunctionCall","src":"46356:13:19"}],"functionName":{"name":"shl","nativeSrc":"46345:3:19","nodeType":"YulIdentifier","src":"46345:3:19"},"nativeSrc":"46345:25:19","nodeType":"YulFunctionCall","src":"46345:25:19"}],"functionName":{"name":"mstore","nativeSrc":"46322:6:19","nodeType":"YulIdentifier","src":"46322:6:19"},"nativeSrc":"46322:49:19","nodeType":"YulFunctionCall","src":"46322:49:19"},"nativeSrc":"46322:49:19","nodeType":"YulExpressionStatement","src":"46322:49:19"}]},"name":"writeString","nativeSrc":"46043:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"46064:3:19","nodeType":"YulTypedName","src":"46064:3:19","type":""},{"name":"w","nativeSrc":"46069:1:19","nodeType":"YulTypedName","src":"46069:1:19","type":""}],"src":"46043:342:19"},{"nativeSrc":"46398:17:19","nodeType":"YulAssignment","src":"46398:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"46410:4:19","nodeType":"YulLiteral","src":"46410:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"46404:5:19","nodeType":"YulIdentifier","src":"46404:5:19"},"nativeSrc":"46404:11:19","nodeType":"YulFunctionCall","src":"46404:11:19"},"variableNames":[{"name":"m0","nativeSrc":"46398:2:19","nodeType":"YulIdentifier","src":"46398:2:19"}]},{"nativeSrc":"46428:17:19","nodeType":"YulAssignment","src":"46428:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"46440:4:19","nodeType":"YulLiteral","src":"46440:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"46434:5:19","nodeType":"YulIdentifier","src":"46434:5:19"},"nativeSrc":"46434:11:19","nodeType":"YulFunctionCall","src":"46434:11:19"},"variableNames":[{"name":"m1","nativeSrc":"46428:2:19","nodeType":"YulIdentifier","src":"46428:2:19"}]},{"nativeSrc":"46458:17:19","nodeType":"YulAssignment","src":"46458:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"46470:4:19","nodeType":"YulLiteral","src":"46470:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"46464:5:19","nodeType":"YulIdentifier","src":"46464:5:19"},"nativeSrc":"46464:11:19","nodeType":"YulFunctionCall","src":"46464:11:19"},"variableNames":[{"name":"m2","nativeSrc":"46458:2:19","nodeType":"YulIdentifier","src":"46458:2:19"}]},{"nativeSrc":"46488:17:19","nodeType":"YulAssignment","src":"46488:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"46500:4:19","nodeType":"YulLiteral","src":"46500:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"46494:5:19","nodeType":"YulIdentifier","src":"46494:5:19"},"nativeSrc":"46494:11:19","nodeType":"YulFunctionCall","src":"46494:11:19"},"variableNames":[{"name":"m3","nativeSrc":"46488:2:19","nodeType":"YulIdentifier","src":"46488:2:19"}]},{"nativeSrc":"46518:17:19","nodeType":"YulAssignment","src":"46518:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"46530:4:19","nodeType":"YulLiteral","src":"46530:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"46524:5:19","nodeType":"YulIdentifier","src":"46524:5:19"},"nativeSrc":"46524:11:19","nodeType":"YulFunctionCall","src":"46524:11:19"},"variableNames":[{"name":"m4","nativeSrc":"46518:2:19","nodeType":"YulIdentifier","src":"46518:2:19"}]},{"nativeSrc":"46548:17:19","nodeType":"YulAssignment","src":"46548:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"46560:4:19","nodeType":"YulLiteral","src":"46560:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"46554:5:19","nodeType":"YulIdentifier","src":"46554:5:19"},"nativeSrc":"46554:11:19","nodeType":"YulFunctionCall","src":"46554:11:19"},"variableNames":[{"name":"m5","nativeSrc":"46548:2:19","nodeType":"YulIdentifier","src":"46548:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"46640:4:19","nodeType":"YulLiteral","src":"46640:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"46646:10:19","nodeType":"YulLiteral","src":"46646:10:19","type":"","value":"0xc3fc3970"}],"functionName":{"name":"mstore","nativeSrc":"46633:6:19","nodeType":"YulIdentifier","src":"46633:6:19"},"nativeSrc":"46633:24:19","nodeType":"YulFunctionCall","src":"46633:24:19"},"nativeSrc":"46633:24:19","nodeType":"YulExpressionStatement","src":"46633:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"46677:4:19","nodeType":"YulLiteral","src":"46677:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"46683:2:19","nodeType":"YulIdentifier","src":"46683:2:19"}],"functionName":{"name":"mstore","nativeSrc":"46670:6:19","nodeType":"YulIdentifier","src":"46670:6:19"},"nativeSrc":"46670:16:19","nodeType":"YulFunctionCall","src":"46670:16:19"},"nativeSrc":"46670:16:19","nodeType":"YulExpressionStatement","src":"46670:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"46706:4:19","nodeType":"YulLiteral","src":"46706:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"46712:2:19","nodeType":"YulIdentifier","src":"46712:2:19"}],"functionName":{"name":"mstore","nativeSrc":"46699:6:19","nodeType":"YulIdentifier","src":"46699:6:19"},"nativeSrc":"46699:16:19","nodeType":"YulFunctionCall","src":"46699:16:19"},"nativeSrc":"46699:16:19","nodeType":"YulExpressionStatement","src":"46699:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"46735:4:19","nodeType":"YulLiteral","src":"46735:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"46741:4:19","nodeType":"YulLiteral","src":"46741:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"46728:6:19","nodeType":"YulIdentifier","src":"46728:6:19"},"nativeSrc":"46728:18:19","nodeType":"YulFunctionCall","src":"46728:18:19"},"nativeSrc":"46728:18:19","nodeType":"YulExpressionStatement","src":"46728:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"46771:4:19","nodeType":"YulLiteral","src":"46771:4:19","type":"","value":"0x80"},{"name":"p2","nativeSrc":"46777:2:19","nodeType":"YulIdentifier","src":"46777:2:19"}],"functionName":{"name":"writeString","nativeSrc":"46759:11:19","nodeType":"YulIdentifier","src":"46759:11:19"},"nativeSrc":"46759:21:19","nodeType":"YulFunctionCall","src":"46759:21:19"},"nativeSrc":"46759:21:19","nodeType":"YulExpressionStatement","src":"46759:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27827,"isOffset":false,"isSlot":false,"src":"46398:2:19","valueSize":1},{"declaration":27830,"isOffset":false,"isSlot":false,"src":"46428:2:19","valueSize":1},{"declaration":27833,"isOffset":false,"isSlot":false,"src":"46458:2:19","valueSize":1},{"declaration":27836,"isOffset":false,"isSlot":false,"src":"46488:2:19","valueSize":1},{"declaration":27839,"isOffset":false,"isSlot":false,"src":"46518:2:19","valueSize":1},{"declaration":27842,"isOffset":false,"isSlot":false,"src":"46548:2:19","valueSize":1},{"declaration":27819,"isOffset":false,"isSlot":false,"src":"46683:2:19","valueSize":1},{"declaration":27821,"isOffset":false,"isSlot":false,"src":"46712:2:19","valueSize":1},{"declaration":27823,"isOffset":false,"isSlot":false,"src":"46777:2:19","valueSize":1}],"id":27844,"nodeType":"InlineAssembly","src":"46020:770:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46815:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":27847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46821:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":27845,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"46799:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46799:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27849,"nodeType":"ExpressionStatement","src":"46799:27:19"},{"AST":{"nativeSrc":"46888:185:19","nodeType":"YulBlock","src":"46888:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"46909:4:19","nodeType":"YulLiteral","src":"46909:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"46915:2:19","nodeType":"YulIdentifier","src":"46915:2:19"}],"functionName":{"name":"mstore","nativeSrc":"46902:6:19","nodeType":"YulIdentifier","src":"46902:6:19"},"nativeSrc":"46902:16:19","nodeType":"YulFunctionCall","src":"46902:16:19"},"nativeSrc":"46902:16:19","nodeType":"YulExpressionStatement","src":"46902:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"46938:4:19","nodeType":"YulLiteral","src":"46938:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"46944:2:19","nodeType":"YulIdentifier","src":"46944:2:19"}],"functionName":{"name":"mstore","nativeSrc":"46931:6:19","nodeType":"YulIdentifier","src":"46931:6:19"},"nativeSrc":"46931:16:19","nodeType":"YulFunctionCall","src":"46931:16:19"},"nativeSrc":"46931:16:19","nodeType":"YulExpressionStatement","src":"46931:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"46967:4:19","nodeType":"YulLiteral","src":"46967:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"46973:2:19","nodeType":"YulIdentifier","src":"46973:2:19"}],"functionName":{"name":"mstore","nativeSrc":"46960:6:19","nodeType":"YulIdentifier","src":"46960:6:19"},"nativeSrc":"46960:16:19","nodeType":"YulFunctionCall","src":"46960:16:19"},"nativeSrc":"46960:16:19","nodeType":"YulExpressionStatement","src":"46960:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"46996:4:19","nodeType":"YulLiteral","src":"46996:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"47002:2:19","nodeType":"YulIdentifier","src":"47002:2:19"}],"functionName":{"name":"mstore","nativeSrc":"46989:6:19","nodeType":"YulIdentifier","src":"46989:6:19"},"nativeSrc":"46989:16:19","nodeType":"YulFunctionCall","src":"46989:16:19"},"nativeSrc":"46989:16:19","nodeType":"YulExpressionStatement","src":"46989:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"47025:4:19","nodeType":"YulLiteral","src":"47025:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"47031:2:19","nodeType":"YulIdentifier","src":"47031:2:19"}],"functionName":{"name":"mstore","nativeSrc":"47018:6:19","nodeType":"YulIdentifier","src":"47018:6:19"},"nativeSrc":"47018:16:19","nodeType":"YulFunctionCall","src":"47018:16:19"},"nativeSrc":"47018:16:19","nodeType":"YulExpressionStatement","src":"47018:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"47054:4:19","nodeType":"YulLiteral","src":"47054:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"47060:2:19","nodeType":"YulIdentifier","src":"47060:2:19"}],"functionName":{"name":"mstore","nativeSrc":"47047:6:19","nodeType":"YulIdentifier","src":"47047:6:19"},"nativeSrc":"47047:16:19","nodeType":"YulFunctionCall","src":"47047:16:19"},"nativeSrc":"47047:16:19","nodeType":"YulExpressionStatement","src":"47047:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27827,"isOffset":false,"isSlot":false,"src":"46915:2:19","valueSize":1},{"declaration":27830,"isOffset":false,"isSlot":false,"src":"46944:2:19","valueSize":1},{"declaration":27833,"isOffset":false,"isSlot":false,"src":"46973:2:19","valueSize":1},{"declaration":27836,"isOffset":false,"isSlot":false,"src":"47002:2:19","valueSize":1},{"declaration":27839,"isOffset":false,"isSlot":false,"src":"47031:2:19","valueSize":1},{"declaration":27842,"isOffset":false,"isSlot":false,"src":"47060:2:19","valueSize":1}],"id":27850,"nodeType":"InlineAssembly","src":"46879:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45796:3:19","parameters":{"id":27824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27819,"mutability":"mutable","name":"p0","nameLocation":"45805:2:19","nodeType":"VariableDeclaration","scope":27852,"src":"45800:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27818,"name":"bool","nodeType":"ElementaryTypeName","src":"45800:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27821,"mutability":"mutable","name":"p1","nameLocation":"45817:2:19","nodeType":"VariableDeclaration","scope":27852,"src":"45809:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27820,"name":"uint256","nodeType":"ElementaryTypeName","src":"45809:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27823,"mutability":"mutable","name":"p2","nameLocation":"45829:2:19","nodeType":"VariableDeclaration","scope":27852,"src":"45821:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27822,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45821:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"45799:33:19"},"returnParameters":{"id":27825,"nodeType":"ParameterList","parameters":[],"src":"45847:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27887,"nodeType":"FunctionDefinition","src":"47085:1292:19","nodes":[],"body":{"id":27886,"nodeType":"Block","src":"47145:1232:19","nodes":[],"statements":[{"assignments":[27862],"declarations":[{"constant":false,"id":27862,"mutability":"mutable","name":"m0","nameLocation":"47163:2:19","nodeType":"VariableDeclaration","scope":27886,"src":"47155:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27861,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47155:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27863,"nodeType":"VariableDeclarationStatement","src":"47155:10:19"},{"assignments":[27865],"declarations":[{"constant":false,"id":27865,"mutability":"mutable","name":"m1","nameLocation":"47183:2:19","nodeType":"VariableDeclaration","scope":27886,"src":"47175:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27864,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47175:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27866,"nodeType":"VariableDeclarationStatement","src":"47175:10:19"},{"assignments":[27868],"declarations":[{"constant":false,"id":27868,"mutability":"mutable","name":"m2","nameLocation":"47203:2:19","nodeType":"VariableDeclaration","scope":27886,"src":"47195:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27867,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47195:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27869,"nodeType":"VariableDeclarationStatement","src":"47195:10:19"},{"assignments":[27871],"declarations":[{"constant":false,"id":27871,"mutability":"mutable","name":"m3","nameLocation":"47223:2:19","nodeType":"VariableDeclaration","scope":27886,"src":"47215:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27870,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47215:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27872,"nodeType":"VariableDeclarationStatement","src":"47215:10:19"},{"assignments":[27874],"declarations":[{"constant":false,"id":27874,"mutability":"mutable","name":"m4","nameLocation":"47243:2:19","nodeType":"VariableDeclaration","scope":27886,"src":"47235:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27873,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47235:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27875,"nodeType":"VariableDeclarationStatement","src":"47235:10:19"},{"assignments":[27877],"declarations":[{"constant":false,"id":27877,"mutability":"mutable","name":"m5","nameLocation":"47263:2:19","nodeType":"VariableDeclaration","scope":27886,"src":"47255:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27876,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47255:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27878,"nodeType":"VariableDeclarationStatement","src":"47255:10:19"},{"AST":{"nativeSrc":"47327:761:19","nodeType":"YulBlock","src":"47327:761:19","statements":[{"body":{"nativeSrc":"47370:313:19","nodeType":"YulBlock","src":"47370:313:19","statements":[{"nativeSrc":"47388:15:19","nodeType":"YulVariableDeclaration","src":"47388:15:19","value":{"kind":"number","nativeSrc":"47402:1:19","nodeType":"YulLiteral","src":"47402:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"47392:6:19","nodeType":"YulTypedName","src":"47392:6:19","type":""}]},{"body":{"nativeSrc":"47473:40:19","nodeType":"YulBlock","src":"47473:40:19","statements":[{"body":{"nativeSrc":"47502:9:19","nodeType":"YulBlock","src":"47502:9:19","statements":[{"nativeSrc":"47504:5:19","nodeType":"YulBreak","src":"47504:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"47490:6:19","nodeType":"YulIdentifier","src":"47490:6:19"},{"name":"w","nativeSrc":"47498:1:19","nodeType":"YulIdentifier","src":"47498:1:19"}],"functionName":{"name":"byte","nativeSrc":"47485:4:19","nodeType":"YulIdentifier","src":"47485:4:19"},"nativeSrc":"47485:15:19","nodeType":"YulFunctionCall","src":"47485:15:19"}],"functionName":{"name":"iszero","nativeSrc":"47478:6:19","nodeType":"YulIdentifier","src":"47478:6:19"},"nativeSrc":"47478:23:19","nodeType":"YulFunctionCall","src":"47478:23:19"},"nativeSrc":"47475:36:19","nodeType":"YulIf","src":"47475:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"47430:6:19","nodeType":"YulIdentifier","src":"47430:6:19"},{"kind":"number","nativeSrc":"47438:4:19","nodeType":"YulLiteral","src":"47438:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"47427:2:19","nodeType":"YulIdentifier","src":"47427:2:19"},"nativeSrc":"47427:16:19","nodeType":"YulFunctionCall","src":"47427:16:19"},"nativeSrc":"47420:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"47444:28:19","nodeType":"YulBlock","src":"47444:28:19","statements":[{"nativeSrc":"47446:24:19","nodeType":"YulAssignment","src":"47446:24:19","value":{"arguments":[{"name":"length","nativeSrc":"47460:6:19","nodeType":"YulIdentifier","src":"47460:6:19"},{"kind":"number","nativeSrc":"47468:1:19","nodeType":"YulLiteral","src":"47468:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"47456:3:19","nodeType":"YulIdentifier","src":"47456:3:19"},"nativeSrc":"47456:14:19","nodeType":"YulFunctionCall","src":"47456:14:19"},"variableNames":[{"name":"length","nativeSrc":"47446:6:19","nodeType":"YulIdentifier","src":"47446:6:19"}]}]},"pre":{"nativeSrc":"47424:2:19","nodeType":"YulBlock","src":"47424:2:19","statements":[]},"src":"47420:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"47537:3:19","nodeType":"YulIdentifier","src":"47537:3:19"},{"name":"length","nativeSrc":"47542:6:19","nodeType":"YulIdentifier","src":"47542:6:19"}],"functionName":{"name":"mstore","nativeSrc":"47530:6:19","nodeType":"YulIdentifier","src":"47530:6:19"},"nativeSrc":"47530:19:19","nodeType":"YulFunctionCall","src":"47530:19:19"},"nativeSrc":"47530:19:19","nodeType":"YulExpressionStatement","src":"47530:19:19"},{"nativeSrc":"47566:37:19","nodeType":"YulVariableDeclaration","src":"47566:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"47583:3:19","nodeType":"YulLiteral","src":"47583:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"47592:1:19","nodeType":"YulLiteral","src":"47592:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"47595:6:19","nodeType":"YulIdentifier","src":"47595:6:19"}],"functionName":{"name":"shl","nativeSrc":"47588:3:19","nodeType":"YulIdentifier","src":"47588:3:19"},"nativeSrc":"47588:14:19","nodeType":"YulFunctionCall","src":"47588:14:19"}],"functionName":{"name":"sub","nativeSrc":"47579:3:19","nodeType":"YulIdentifier","src":"47579:3:19"},"nativeSrc":"47579:24:19","nodeType":"YulFunctionCall","src":"47579:24:19"},"variables":[{"name":"shift","nativeSrc":"47570:5:19","nodeType":"YulTypedName","src":"47570:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"47631:3:19","nodeType":"YulIdentifier","src":"47631:3:19"},{"kind":"number","nativeSrc":"47636:4:19","nodeType":"YulLiteral","src":"47636:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"47627:3:19","nodeType":"YulIdentifier","src":"47627:3:19"},"nativeSrc":"47627:14:19","nodeType":"YulFunctionCall","src":"47627:14:19"},{"arguments":[{"name":"shift","nativeSrc":"47647:5:19","nodeType":"YulIdentifier","src":"47647:5:19"},{"arguments":[{"name":"shift","nativeSrc":"47658:5:19","nodeType":"YulIdentifier","src":"47658:5:19"},{"name":"w","nativeSrc":"47665:1:19","nodeType":"YulIdentifier","src":"47665:1:19"}],"functionName":{"name":"shr","nativeSrc":"47654:3:19","nodeType":"YulIdentifier","src":"47654:3:19"},"nativeSrc":"47654:13:19","nodeType":"YulFunctionCall","src":"47654:13:19"}],"functionName":{"name":"shl","nativeSrc":"47643:3:19","nodeType":"YulIdentifier","src":"47643:3:19"},"nativeSrc":"47643:25:19","nodeType":"YulFunctionCall","src":"47643:25:19"}],"functionName":{"name":"mstore","nativeSrc":"47620:6:19","nodeType":"YulIdentifier","src":"47620:6:19"},"nativeSrc":"47620:49:19","nodeType":"YulFunctionCall","src":"47620:49:19"},"nativeSrc":"47620:49:19","nodeType":"YulExpressionStatement","src":"47620:49:19"}]},"name":"writeString","nativeSrc":"47341:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"47362:3:19","nodeType":"YulTypedName","src":"47362:3:19","type":""},{"name":"w","nativeSrc":"47367:1:19","nodeType":"YulTypedName","src":"47367:1:19","type":""}],"src":"47341:342:19"},{"nativeSrc":"47696:17:19","nodeType":"YulAssignment","src":"47696:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"47708:4:19","nodeType":"YulLiteral","src":"47708:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"47702:5:19","nodeType":"YulIdentifier","src":"47702:5:19"},"nativeSrc":"47702:11:19","nodeType":"YulFunctionCall","src":"47702:11:19"},"variableNames":[{"name":"m0","nativeSrc":"47696:2:19","nodeType":"YulIdentifier","src":"47696:2:19"}]},{"nativeSrc":"47726:17:19","nodeType":"YulAssignment","src":"47726:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"47738:4:19","nodeType":"YulLiteral","src":"47738:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"47732:5:19","nodeType":"YulIdentifier","src":"47732:5:19"},"nativeSrc":"47732:11:19","nodeType":"YulFunctionCall","src":"47732:11:19"},"variableNames":[{"name":"m1","nativeSrc":"47726:2:19","nodeType":"YulIdentifier","src":"47726:2:19"}]},{"nativeSrc":"47756:17:19","nodeType":"YulAssignment","src":"47756:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"47768:4:19","nodeType":"YulLiteral","src":"47768:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"47762:5:19","nodeType":"YulIdentifier","src":"47762:5:19"},"nativeSrc":"47762:11:19","nodeType":"YulFunctionCall","src":"47762:11:19"},"variableNames":[{"name":"m2","nativeSrc":"47756:2:19","nodeType":"YulIdentifier","src":"47756:2:19"}]},{"nativeSrc":"47786:17:19","nodeType":"YulAssignment","src":"47786:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"47798:4:19","nodeType":"YulLiteral","src":"47798:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"47792:5:19","nodeType":"YulIdentifier","src":"47792:5:19"},"nativeSrc":"47792:11:19","nodeType":"YulFunctionCall","src":"47792:11:19"},"variableNames":[{"name":"m3","nativeSrc":"47786:2:19","nodeType":"YulIdentifier","src":"47786:2:19"}]},{"nativeSrc":"47816:17:19","nodeType":"YulAssignment","src":"47816:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"47828:4:19","nodeType":"YulLiteral","src":"47828:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"47822:5:19","nodeType":"YulIdentifier","src":"47822:5:19"},"nativeSrc":"47822:11:19","nodeType":"YulFunctionCall","src":"47822:11:19"},"variableNames":[{"name":"m4","nativeSrc":"47816:2:19","nodeType":"YulIdentifier","src":"47816:2:19"}]},{"nativeSrc":"47846:17:19","nodeType":"YulAssignment","src":"47846:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"47858:4:19","nodeType":"YulLiteral","src":"47858:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"47852:5:19","nodeType":"YulIdentifier","src":"47852:5:19"},"nativeSrc":"47852:11:19","nodeType":"YulFunctionCall","src":"47852:11:19"},"variableNames":[{"name":"m5","nativeSrc":"47846:2:19","nodeType":"YulIdentifier","src":"47846:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"47938:4:19","nodeType":"YulLiteral","src":"47938:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"47944:10:19","nodeType":"YulLiteral","src":"47944:10:19","type":"","value":"0x9591b953"}],"functionName":{"name":"mstore","nativeSrc":"47931:6:19","nodeType":"YulIdentifier","src":"47931:6:19"},"nativeSrc":"47931:24:19","nodeType":"YulFunctionCall","src":"47931:24:19"},"nativeSrc":"47931:24:19","nodeType":"YulExpressionStatement","src":"47931:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"47975:4:19","nodeType":"YulLiteral","src":"47975:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"47981:2:19","nodeType":"YulIdentifier","src":"47981:2:19"}],"functionName":{"name":"mstore","nativeSrc":"47968:6:19","nodeType":"YulIdentifier","src":"47968:6:19"},"nativeSrc":"47968:16:19","nodeType":"YulFunctionCall","src":"47968:16:19"},"nativeSrc":"47968:16:19","nodeType":"YulExpressionStatement","src":"47968:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48004:4:19","nodeType":"YulLiteral","src":"48004:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"48010:4:19","nodeType":"YulLiteral","src":"48010:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"47997:6:19","nodeType":"YulIdentifier","src":"47997:6:19"},"nativeSrc":"47997:18:19","nodeType":"YulFunctionCall","src":"47997:18:19"},"nativeSrc":"47997:18:19","nodeType":"YulExpressionStatement","src":"47997:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48035:4:19","nodeType":"YulLiteral","src":"48035:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"48041:2:19","nodeType":"YulIdentifier","src":"48041:2:19"}],"functionName":{"name":"mstore","nativeSrc":"48028:6:19","nodeType":"YulIdentifier","src":"48028:6:19"},"nativeSrc":"48028:16:19","nodeType":"YulFunctionCall","src":"48028:16:19"},"nativeSrc":"48028:16:19","nodeType":"YulExpressionStatement","src":"48028:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48069:4:19","nodeType":"YulLiteral","src":"48069:4:19","type":"","value":"0x80"},{"name":"p1","nativeSrc":"48075:2:19","nodeType":"YulIdentifier","src":"48075:2:19"}],"functionName":{"name":"writeString","nativeSrc":"48057:11:19","nodeType":"YulIdentifier","src":"48057:11:19"},"nativeSrc":"48057:21:19","nodeType":"YulFunctionCall","src":"48057:21:19"},"nativeSrc":"48057:21:19","nodeType":"YulExpressionStatement","src":"48057:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27862,"isOffset":false,"isSlot":false,"src":"47696:2:19","valueSize":1},{"declaration":27865,"isOffset":false,"isSlot":false,"src":"47726:2:19","valueSize":1},{"declaration":27868,"isOffset":false,"isSlot":false,"src":"47756:2:19","valueSize":1},{"declaration":27871,"isOffset":false,"isSlot":false,"src":"47786:2:19","valueSize":1},{"declaration":27874,"isOffset":false,"isSlot":false,"src":"47816:2:19","valueSize":1},{"declaration":27877,"isOffset":false,"isSlot":false,"src":"47846:2:19","valueSize":1},{"declaration":27854,"isOffset":false,"isSlot":false,"src":"47981:2:19","valueSize":1},{"declaration":27856,"isOffset":false,"isSlot":false,"src":"48075:2:19","valueSize":1},{"declaration":27858,"isOffset":false,"isSlot":false,"src":"48041:2:19","valueSize":1}],"id":27879,"nodeType":"InlineAssembly","src":"47318:770:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48113:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":27882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48119:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":27880,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"48097:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48097:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27884,"nodeType":"ExpressionStatement","src":"48097:27:19"},{"AST":{"nativeSrc":"48186:185:19","nodeType":"YulBlock","src":"48186:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"48207:4:19","nodeType":"YulLiteral","src":"48207:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"48213:2:19","nodeType":"YulIdentifier","src":"48213:2:19"}],"functionName":{"name":"mstore","nativeSrc":"48200:6:19","nodeType":"YulIdentifier","src":"48200:6:19"},"nativeSrc":"48200:16:19","nodeType":"YulFunctionCall","src":"48200:16:19"},"nativeSrc":"48200:16:19","nodeType":"YulExpressionStatement","src":"48200:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48236:4:19","nodeType":"YulLiteral","src":"48236:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"48242:2:19","nodeType":"YulIdentifier","src":"48242:2:19"}],"functionName":{"name":"mstore","nativeSrc":"48229:6:19","nodeType":"YulIdentifier","src":"48229:6:19"},"nativeSrc":"48229:16:19","nodeType":"YulFunctionCall","src":"48229:16:19"},"nativeSrc":"48229:16:19","nodeType":"YulExpressionStatement","src":"48229:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48265:4:19","nodeType":"YulLiteral","src":"48265:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"48271:2:19","nodeType":"YulIdentifier","src":"48271:2:19"}],"functionName":{"name":"mstore","nativeSrc":"48258:6:19","nodeType":"YulIdentifier","src":"48258:6:19"},"nativeSrc":"48258:16:19","nodeType":"YulFunctionCall","src":"48258:16:19"},"nativeSrc":"48258:16:19","nodeType":"YulExpressionStatement","src":"48258:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48294:4:19","nodeType":"YulLiteral","src":"48294:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"48300:2:19","nodeType":"YulIdentifier","src":"48300:2:19"}],"functionName":{"name":"mstore","nativeSrc":"48287:6:19","nodeType":"YulIdentifier","src":"48287:6:19"},"nativeSrc":"48287:16:19","nodeType":"YulFunctionCall","src":"48287:16:19"},"nativeSrc":"48287:16:19","nodeType":"YulExpressionStatement","src":"48287:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48323:4:19","nodeType":"YulLiteral","src":"48323:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"48329:2:19","nodeType":"YulIdentifier","src":"48329:2:19"}],"functionName":{"name":"mstore","nativeSrc":"48316:6:19","nodeType":"YulIdentifier","src":"48316:6:19"},"nativeSrc":"48316:16:19","nodeType":"YulFunctionCall","src":"48316:16:19"},"nativeSrc":"48316:16:19","nodeType":"YulExpressionStatement","src":"48316:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"48352:4:19","nodeType":"YulLiteral","src":"48352:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"48358:2:19","nodeType":"YulIdentifier","src":"48358:2:19"}],"functionName":{"name":"mstore","nativeSrc":"48345:6:19","nodeType":"YulIdentifier","src":"48345:6:19"},"nativeSrc":"48345:16:19","nodeType":"YulFunctionCall","src":"48345:16:19"},"nativeSrc":"48345:16:19","nodeType":"YulExpressionStatement","src":"48345:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27862,"isOffset":false,"isSlot":false,"src":"48213:2:19","valueSize":1},{"declaration":27865,"isOffset":false,"isSlot":false,"src":"48242:2:19","valueSize":1},{"declaration":27868,"isOffset":false,"isSlot":false,"src":"48271:2:19","valueSize":1},{"declaration":27871,"isOffset":false,"isSlot":false,"src":"48300:2:19","valueSize":1},{"declaration":27874,"isOffset":false,"isSlot":false,"src":"48329:2:19","valueSize":1},{"declaration":27877,"isOffset":false,"isSlot":false,"src":"48358:2:19","valueSize":1}],"id":27885,"nodeType":"InlineAssembly","src":"48177:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47094:3:19","parameters":{"id":27859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27854,"mutability":"mutable","name":"p0","nameLocation":"47103:2:19","nodeType":"VariableDeclaration","scope":27887,"src":"47098:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27853,"name":"bool","nodeType":"ElementaryTypeName","src":"47098:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27856,"mutability":"mutable","name":"p1","nameLocation":"47115:2:19","nodeType":"VariableDeclaration","scope":27887,"src":"47107:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27855,"name":"bytes32","nodeType":"ElementaryTypeName","src":"47107:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":27858,"mutability":"mutable","name":"p2","nameLocation":"47127:2:19","nodeType":"VariableDeclaration","scope":27887,"src":"47119:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27857,"name":"address","nodeType":"ElementaryTypeName","src":"47119:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47097:33:19"},"returnParameters":{"id":27860,"nodeType":"ParameterList","parameters":[],"src":"47145:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27922,"nodeType":"FunctionDefinition","src":"48383:1286:19","nodes":[],"body":{"id":27921,"nodeType":"Block","src":"48440:1229:19","nodes":[],"statements":[{"assignments":[27897],"declarations":[{"constant":false,"id":27897,"mutability":"mutable","name":"m0","nameLocation":"48458:2:19","nodeType":"VariableDeclaration","scope":27921,"src":"48450:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27896,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48450:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27898,"nodeType":"VariableDeclarationStatement","src":"48450:10:19"},{"assignments":[27900],"declarations":[{"constant":false,"id":27900,"mutability":"mutable","name":"m1","nameLocation":"48478:2:19","nodeType":"VariableDeclaration","scope":27921,"src":"48470:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27899,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48470:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27901,"nodeType":"VariableDeclarationStatement","src":"48470:10:19"},{"assignments":[27903],"declarations":[{"constant":false,"id":27903,"mutability":"mutable","name":"m2","nameLocation":"48498:2:19","nodeType":"VariableDeclaration","scope":27921,"src":"48490:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27902,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48490:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27904,"nodeType":"VariableDeclarationStatement","src":"48490:10:19"},{"assignments":[27906],"declarations":[{"constant":false,"id":27906,"mutability":"mutable","name":"m3","nameLocation":"48518:2:19","nodeType":"VariableDeclaration","scope":27921,"src":"48510:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27905,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48510:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27907,"nodeType":"VariableDeclarationStatement","src":"48510:10:19"},{"assignments":[27909],"declarations":[{"constant":false,"id":27909,"mutability":"mutable","name":"m4","nameLocation":"48538:2:19","nodeType":"VariableDeclaration","scope":27921,"src":"48530:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27908,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48530:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27910,"nodeType":"VariableDeclarationStatement","src":"48530:10:19"},{"assignments":[27912],"declarations":[{"constant":false,"id":27912,"mutability":"mutable","name":"m5","nameLocation":"48558:2:19","nodeType":"VariableDeclaration","scope":27921,"src":"48550:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27911,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48550:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27913,"nodeType":"VariableDeclarationStatement","src":"48550:10:19"},{"AST":{"nativeSrc":"48622:758:19","nodeType":"YulBlock","src":"48622:758:19","statements":[{"body":{"nativeSrc":"48665:313:19","nodeType":"YulBlock","src":"48665:313:19","statements":[{"nativeSrc":"48683:15:19","nodeType":"YulVariableDeclaration","src":"48683:15:19","value":{"kind":"number","nativeSrc":"48697:1:19","nodeType":"YulLiteral","src":"48697:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"48687:6:19","nodeType":"YulTypedName","src":"48687:6:19","type":""}]},{"body":{"nativeSrc":"48768:40:19","nodeType":"YulBlock","src":"48768:40:19","statements":[{"body":{"nativeSrc":"48797:9:19","nodeType":"YulBlock","src":"48797:9:19","statements":[{"nativeSrc":"48799:5:19","nodeType":"YulBreak","src":"48799:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"48785:6:19","nodeType":"YulIdentifier","src":"48785:6:19"},{"name":"w","nativeSrc":"48793:1:19","nodeType":"YulIdentifier","src":"48793:1:19"}],"functionName":{"name":"byte","nativeSrc":"48780:4:19","nodeType":"YulIdentifier","src":"48780:4:19"},"nativeSrc":"48780:15:19","nodeType":"YulFunctionCall","src":"48780:15:19"}],"functionName":{"name":"iszero","nativeSrc":"48773:6:19","nodeType":"YulIdentifier","src":"48773:6:19"},"nativeSrc":"48773:23:19","nodeType":"YulFunctionCall","src":"48773:23:19"},"nativeSrc":"48770:36:19","nodeType":"YulIf","src":"48770:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"48725:6:19","nodeType":"YulIdentifier","src":"48725:6:19"},{"kind":"number","nativeSrc":"48733:4:19","nodeType":"YulLiteral","src":"48733:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"48722:2:19","nodeType":"YulIdentifier","src":"48722:2:19"},"nativeSrc":"48722:16:19","nodeType":"YulFunctionCall","src":"48722:16:19"},"nativeSrc":"48715:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"48739:28:19","nodeType":"YulBlock","src":"48739:28:19","statements":[{"nativeSrc":"48741:24:19","nodeType":"YulAssignment","src":"48741:24:19","value":{"arguments":[{"name":"length","nativeSrc":"48755:6:19","nodeType":"YulIdentifier","src":"48755:6:19"},{"kind":"number","nativeSrc":"48763:1:19","nodeType":"YulLiteral","src":"48763:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"48751:3:19","nodeType":"YulIdentifier","src":"48751:3:19"},"nativeSrc":"48751:14:19","nodeType":"YulFunctionCall","src":"48751:14:19"},"variableNames":[{"name":"length","nativeSrc":"48741:6:19","nodeType":"YulIdentifier","src":"48741:6:19"}]}]},"pre":{"nativeSrc":"48719:2:19","nodeType":"YulBlock","src":"48719:2:19","statements":[]},"src":"48715:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"48832:3:19","nodeType":"YulIdentifier","src":"48832:3:19"},{"name":"length","nativeSrc":"48837:6:19","nodeType":"YulIdentifier","src":"48837:6:19"}],"functionName":{"name":"mstore","nativeSrc":"48825:6:19","nodeType":"YulIdentifier","src":"48825:6:19"},"nativeSrc":"48825:19:19","nodeType":"YulFunctionCall","src":"48825:19:19"},"nativeSrc":"48825:19:19","nodeType":"YulExpressionStatement","src":"48825:19:19"},{"nativeSrc":"48861:37:19","nodeType":"YulVariableDeclaration","src":"48861:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"48878:3:19","nodeType":"YulLiteral","src":"48878:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"48887:1:19","nodeType":"YulLiteral","src":"48887:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"48890:6:19","nodeType":"YulIdentifier","src":"48890:6:19"}],"functionName":{"name":"shl","nativeSrc":"48883:3:19","nodeType":"YulIdentifier","src":"48883:3:19"},"nativeSrc":"48883:14:19","nodeType":"YulFunctionCall","src":"48883:14:19"}],"functionName":{"name":"sub","nativeSrc":"48874:3:19","nodeType":"YulIdentifier","src":"48874:3:19"},"nativeSrc":"48874:24:19","nodeType":"YulFunctionCall","src":"48874:24:19"},"variables":[{"name":"shift","nativeSrc":"48865:5:19","nodeType":"YulTypedName","src":"48865:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"48926:3:19","nodeType":"YulIdentifier","src":"48926:3:19"},{"kind":"number","nativeSrc":"48931:4:19","nodeType":"YulLiteral","src":"48931:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"48922:3:19","nodeType":"YulIdentifier","src":"48922:3:19"},"nativeSrc":"48922:14:19","nodeType":"YulFunctionCall","src":"48922:14:19"},{"arguments":[{"name":"shift","nativeSrc":"48942:5:19","nodeType":"YulIdentifier","src":"48942:5:19"},{"arguments":[{"name":"shift","nativeSrc":"48953:5:19","nodeType":"YulIdentifier","src":"48953:5:19"},{"name":"w","nativeSrc":"48960:1:19","nodeType":"YulIdentifier","src":"48960:1:19"}],"functionName":{"name":"shr","nativeSrc":"48949:3:19","nodeType":"YulIdentifier","src":"48949:3:19"},"nativeSrc":"48949:13:19","nodeType":"YulFunctionCall","src":"48949:13:19"}],"functionName":{"name":"shl","nativeSrc":"48938:3:19","nodeType":"YulIdentifier","src":"48938:3:19"},"nativeSrc":"48938:25:19","nodeType":"YulFunctionCall","src":"48938:25:19"}],"functionName":{"name":"mstore","nativeSrc":"48915:6:19","nodeType":"YulIdentifier","src":"48915:6:19"},"nativeSrc":"48915:49:19","nodeType":"YulFunctionCall","src":"48915:49:19"},"nativeSrc":"48915:49:19","nodeType":"YulExpressionStatement","src":"48915:49:19"}]},"name":"writeString","nativeSrc":"48636:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"48657:3:19","nodeType":"YulTypedName","src":"48657:3:19","type":""},{"name":"w","nativeSrc":"48662:1:19","nodeType":"YulTypedName","src":"48662:1:19","type":""}],"src":"48636:342:19"},{"nativeSrc":"48991:17:19","nodeType":"YulAssignment","src":"48991:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"49003:4:19","nodeType":"YulLiteral","src":"49003:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"48997:5:19","nodeType":"YulIdentifier","src":"48997:5:19"},"nativeSrc":"48997:11:19","nodeType":"YulFunctionCall","src":"48997:11:19"},"variableNames":[{"name":"m0","nativeSrc":"48991:2:19","nodeType":"YulIdentifier","src":"48991:2:19"}]},{"nativeSrc":"49021:17:19","nodeType":"YulAssignment","src":"49021:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"49033:4:19","nodeType":"YulLiteral","src":"49033:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"49027:5:19","nodeType":"YulIdentifier","src":"49027:5:19"},"nativeSrc":"49027:11:19","nodeType":"YulFunctionCall","src":"49027:11:19"},"variableNames":[{"name":"m1","nativeSrc":"49021:2:19","nodeType":"YulIdentifier","src":"49021:2:19"}]},{"nativeSrc":"49051:17:19","nodeType":"YulAssignment","src":"49051:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"49063:4:19","nodeType":"YulLiteral","src":"49063:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"49057:5:19","nodeType":"YulIdentifier","src":"49057:5:19"},"nativeSrc":"49057:11:19","nodeType":"YulFunctionCall","src":"49057:11:19"},"variableNames":[{"name":"m2","nativeSrc":"49051:2:19","nodeType":"YulIdentifier","src":"49051:2:19"}]},{"nativeSrc":"49081:17:19","nodeType":"YulAssignment","src":"49081:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"49093:4:19","nodeType":"YulLiteral","src":"49093:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"49087:5:19","nodeType":"YulIdentifier","src":"49087:5:19"},"nativeSrc":"49087:11:19","nodeType":"YulFunctionCall","src":"49087:11:19"},"variableNames":[{"name":"m3","nativeSrc":"49081:2:19","nodeType":"YulIdentifier","src":"49081:2:19"}]},{"nativeSrc":"49111:17:19","nodeType":"YulAssignment","src":"49111:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"49123:4:19","nodeType":"YulLiteral","src":"49123:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"49117:5:19","nodeType":"YulIdentifier","src":"49117:5:19"},"nativeSrc":"49117:11:19","nodeType":"YulFunctionCall","src":"49117:11:19"},"variableNames":[{"name":"m4","nativeSrc":"49111:2:19","nodeType":"YulIdentifier","src":"49111:2:19"}]},{"nativeSrc":"49141:17:19","nodeType":"YulAssignment","src":"49141:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"49153:4:19","nodeType":"YulLiteral","src":"49153:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"49147:5:19","nodeType":"YulIdentifier","src":"49147:5:19"},"nativeSrc":"49147:11:19","nodeType":"YulFunctionCall","src":"49147:11:19"},"variableNames":[{"name":"m5","nativeSrc":"49141:2:19","nodeType":"YulIdentifier","src":"49141:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49230:4:19","nodeType":"YulLiteral","src":"49230:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"49236:10:19","nodeType":"YulLiteral","src":"49236:10:19","type":"","value":"0xdbb4c247"}],"functionName":{"name":"mstore","nativeSrc":"49223:6:19","nodeType":"YulIdentifier","src":"49223:6:19"},"nativeSrc":"49223:24:19","nodeType":"YulFunctionCall","src":"49223:24:19"},"nativeSrc":"49223:24:19","nodeType":"YulExpressionStatement","src":"49223:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49267:4:19","nodeType":"YulLiteral","src":"49267:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"49273:2:19","nodeType":"YulIdentifier","src":"49273:2:19"}],"functionName":{"name":"mstore","nativeSrc":"49260:6:19","nodeType":"YulIdentifier","src":"49260:6:19"},"nativeSrc":"49260:16:19","nodeType":"YulFunctionCall","src":"49260:16:19"},"nativeSrc":"49260:16:19","nodeType":"YulExpressionStatement","src":"49260:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49296:4:19","nodeType":"YulLiteral","src":"49296:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"49302:4:19","nodeType":"YulLiteral","src":"49302:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"49289:6:19","nodeType":"YulIdentifier","src":"49289:6:19"},"nativeSrc":"49289:18:19","nodeType":"YulFunctionCall","src":"49289:18:19"},"nativeSrc":"49289:18:19","nodeType":"YulExpressionStatement","src":"49289:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49327:4:19","nodeType":"YulLiteral","src":"49327:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"49333:2:19","nodeType":"YulIdentifier","src":"49333:2:19"}],"functionName":{"name":"mstore","nativeSrc":"49320:6:19","nodeType":"YulIdentifier","src":"49320:6:19"},"nativeSrc":"49320:16:19","nodeType":"YulFunctionCall","src":"49320:16:19"},"nativeSrc":"49320:16:19","nodeType":"YulExpressionStatement","src":"49320:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49361:4:19","nodeType":"YulLiteral","src":"49361:4:19","type":"","value":"0x80"},{"name":"p1","nativeSrc":"49367:2:19","nodeType":"YulIdentifier","src":"49367:2:19"}],"functionName":{"name":"writeString","nativeSrc":"49349:11:19","nodeType":"YulIdentifier","src":"49349:11:19"},"nativeSrc":"49349:21:19","nodeType":"YulFunctionCall","src":"49349:21:19"},"nativeSrc":"49349:21:19","nodeType":"YulExpressionStatement","src":"49349:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27897,"isOffset":false,"isSlot":false,"src":"48991:2:19","valueSize":1},{"declaration":27900,"isOffset":false,"isSlot":false,"src":"49021:2:19","valueSize":1},{"declaration":27903,"isOffset":false,"isSlot":false,"src":"49051:2:19","valueSize":1},{"declaration":27906,"isOffset":false,"isSlot":false,"src":"49081:2:19","valueSize":1},{"declaration":27909,"isOffset":false,"isSlot":false,"src":"49111:2:19","valueSize":1},{"declaration":27912,"isOffset":false,"isSlot":false,"src":"49141:2:19","valueSize":1},{"declaration":27889,"isOffset":false,"isSlot":false,"src":"49273:2:19","valueSize":1},{"declaration":27891,"isOffset":false,"isSlot":false,"src":"49367:2:19","valueSize":1},{"declaration":27893,"isOffset":false,"isSlot":false,"src":"49333:2:19","valueSize":1}],"id":27914,"nodeType":"InlineAssembly","src":"48613:767:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49405:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":27917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49411:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":27915,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"49389:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49389:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27919,"nodeType":"ExpressionStatement","src":"49389:27:19"},{"AST":{"nativeSrc":"49478:185:19","nodeType":"YulBlock","src":"49478:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"49499:4:19","nodeType":"YulLiteral","src":"49499:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"49505:2:19","nodeType":"YulIdentifier","src":"49505:2:19"}],"functionName":{"name":"mstore","nativeSrc":"49492:6:19","nodeType":"YulIdentifier","src":"49492:6:19"},"nativeSrc":"49492:16:19","nodeType":"YulFunctionCall","src":"49492:16:19"},"nativeSrc":"49492:16:19","nodeType":"YulExpressionStatement","src":"49492:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49528:4:19","nodeType":"YulLiteral","src":"49528:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"49534:2:19","nodeType":"YulIdentifier","src":"49534:2:19"}],"functionName":{"name":"mstore","nativeSrc":"49521:6:19","nodeType":"YulIdentifier","src":"49521:6:19"},"nativeSrc":"49521:16:19","nodeType":"YulFunctionCall","src":"49521:16:19"},"nativeSrc":"49521:16:19","nodeType":"YulExpressionStatement","src":"49521:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49557:4:19","nodeType":"YulLiteral","src":"49557:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"49563:2:19","nodeType":"YulIdentifier","src":"49563:2:19"}],"functionName":{"name":"mstore","nativeSrc":"49550:6:19","nodeType":"YulIdentifier","src":"49550:6:19"},"nativeSrc":"49550:16:19","nodeType":"YulFunctionCall","src":"49550:16:19"},"nativeSrc":"49550:16:19","nodeType":"YulExpressionStatement","src":"49550:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49586:4:19","nodeType":"YulLiteral","src":"49586:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"49592:2:19","nodeType":"YulIdentifier","src":"49592:2:19"}],"functionName":{"name":"mstore","nativeSrc":"49579:6:19","nodeType":"YulIdentifier","src":"49579:6:19"},"nativeSrc":"49579:16:19","nodeType":"YulFunctionCall","src":"49579:16:19"},"nativeSrc":"49579:16:19","nodeType":"YulExpressionStatement","src":"49579:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49615:4:19","nodeType":"YulLiteral","src":"49615:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"49621:2:19","nodeType":"YulIdentifier","src":"49621:2:19"}],"functionName":{"name":"mstore","nativeSrc":"49608:6:19","nodeType":"YulIdentifier","src":"49608:6:19"},"nativeSrc":"49608:16:19","nodeType":"YulFunctionCall","src":"49608:16:19"},"nativeSrc":"49608:16:19","nodeType":"YulExpressionStatement","src":"49608:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"49644:4:19","nodeType":"YulLiteral","src":"49644:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"49650:2:19","nodeType":"YulIdentifier","src":"49650:2:19"}],"functionName":{"name":"mstore","nativeSrc":"49637:6:19","nodeType":"YulIdentifier","src":"49637:6:19"},"nativeSrc":"49637:16:19","nodeType":"YulFunctionCall","src":"49637:16:19"},"nativeSrc":"49637:16:19","nodeType":"YulExpressionStatement","src":"49637:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27897,"isOffset":false,"isSlot":false,"src":"49505:2:19","valueSize":1},{"declaration":27900,"isOffset":false,"isSlot":false,"src":"49534:2:19","valueSize":1},{"declaration":27903,"isOffset":false,"isSlot":false,"src":"49563:2:19","valueSize":1},{"declaration":27906,"isOffset":false,"isSlot":false,"src":"49592:2:19","valueSize":1},{"declaration":27909,"isOffset":false,"isSlot":false,"src":"49621:2:19","valueSize":1},{"declaration":27912,"isOffset":false,"isSlot":false,"src":"49650:2:19","valueSize":1}],"id":27920,"nodeType":"InlineAssembly","src":"49469:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48392:3:19","parameters":{"id":27894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27889,"mutability":"mutable","name":"p0","nameLocation":"48401:2:19","nodeType":"VariableDeclaration","scope":27922,"src":"48396:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27888,"name":"bool","nodeType":"ElementaryTypeName","src":"48396:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27891,"mutability":"mutable","name":"p1","nameLocation":"48413:2:19","nodeType":"VariableDeclaration","scope":27922,"src":"48405:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27890,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48405:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":27893,"mutability":"mutable","name":"p2","nameLocation":"48422:2:19","nodeType":"VariableDeclaration","scope":27922,"src":"48417:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27892,"name":"bool","nodeType":"ElementaryTypeName","src":"48417:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"48395:30:19"},"returnParameters":{"id":27895,"nodeType":"ParameterList","parameters":[],"src":"48440:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27957,"nodeType":"FunctionDefinition","src":"49675:1292:19","nodes":[],"body":{"id":27956,"nodeType":"Block","src":"49735:1232:19","nodes":[],"statements":[{"assignments":[27932],"declarations":[{"constant":false,"id":27932,"mutability":"mutable","name":"m0","nameLocation":"49753:2:19","nodeType":"VariableDeclaration","scope":27956,"src":"49745:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27931,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49745:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27933,"nodeType":"VariableDeclarationStatement","src":"49745:10:19"},{"assignments":[27935],"declarations":[{"constant":false,"id":27935,"mutability":"mutable","name":"m1","nameLocation":"49773:2:19","nodeType":"VariableDeclaration","scope":27956,"src":"49765:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27934,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49765:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27936,"nodeType":"VariableDeclarationStatement","src":"49765:10:19"},{"assignments":[27938],"declarations":[{"constant":false,"id":27938,"mutability":"mutable","name":"m2","nameLocation":"49793:2:19","nodeType":"VariableDeclaration","scope":27956,"src":"49785:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27937,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49785:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27939,"nodeType":"VariableDeclarationStatement","src":"49785:10:19"},{"assignments":[27941],"declarations":[{"constant":false,"id":27941,"mutability":"mutable","name":"m3","nameLocation":"49813:2:19","nodeType":"VariableDeclaration","scope":27956,"src":"49805:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27940,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49805:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27942,"nodeType":"VariableDeclarationStatement","src":"49805:10:19"},{"assignments":[27944],"declarations":[{"constant":false,"id":27944,"mutability":"mutable","name":"m4","nameLocation":"49833:2:19","nodeType":"VariableDeclaration","scope":27956,"src":"49825:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27943,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49825:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27945,"nodeType":"VariableDeclarationStatement","src":"49825:10:19"},{"assignments":[27947],"declarations":[{"constant":false,"id":27947,"mutability":"mutable","name":"m5","nameLocation":"49853:2:19","nodeType":"VariableDeclaration","scope":27956,"src":"49845:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27946,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49845:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27948,"nodeType":"VariableDeclarationStatement","src":"49845:10:19"},{"AST":{"nativeSrc":"49917:761:19","nodeType":"YulBlock","src":"49917:761:19","statements":[{"body":{"nativeSrc":"49960:313:19","nodeType":"YulBlock","src":"49960:313:19","statements":[{"nativeSrc":"49978:15:19","nodeType":"YulVariableDeclaration","src":"49978:15:19","value":{"kind":"number","nativeSrc":"49992:1:19","nodeType":"YulLiteral","src":"49992:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"49982:6:19","nodeType":"YulTypedName","src":"49982:6:19","type":""}]},{"body":{"nativeSrc":"50063:40:19","nodeType":"YulBlock","src":"50063:40:19","statements":[{"body":{"nativeSrc":"50092:9:19","nodeType":"YulBlock","src":"50092:9:19","statements":[{"nativeSrc":"50094:5:19","nodeType":"YulBreak","src":"50094:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"50080:6:19","nodeType":"YulIdentifier","src":"50080:6:19"},{"name":"w","nativeSrc":"50088:1:19","nodeType":"YulIdentifier","src":"50088:1:19"}],"functionName":{"name":"byte","nativeSrc":"50075:4:19","nodeType":"YulIdentifier","src":"50075:4:19"},"nativeSrc":"50075:15:19","nodeType":"YulFunctionCall","src":"50075:15:19"}],"functionName":{"name":"iszero","nativeSrc":"50068:6:19","nodeType":"YulIdentifier","src":"50068:6:19"},"nativeSrc":"50068:23:19","nodeType":"YulFunctionCall","src":"50068:23:19"},"nativeSrc":"50065:36:19","nodeType":"YulIf","src":"50065:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"50020:6:19","nodeType":"YulIdentifier","src":"50020:6:19"},{"kind":"number","nativeSrc":"50028:4:19","nodeType":"YulLiteral","src":"50028:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"50017:2:19","nodeType":"YulIdentifier","src":"50017:2:19"},"nativeSrc":"50017:16:19","nodeType":"YulFunctionCall","src":"50017:16:19"},"nativeSrc":"50010:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"50034:28:19","nodeType":"YulBlock","src":"50034:28:19","statements":[{"nativeSrc":"50036:24:19","nodeType":"YulAssignment","src":"50036:24:19","value":{"arguments":[{"name":"length","nativeSrc":"50050:6:19","nodeType":"YulIdentifier","src":"50050:6:19"},{"kind":"number","nativeSrc":"50058:1:19","nodeType":"YulLiteral","src":"50058:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"50046:3:19","nodeType":"YulIdentifier","src":"50046:3:19"},"nativeSrc":"50046:14:19","nodeType":"YulFunctionCall","src":"50046:14:19"},"variableNames":[{"name":"length","nativeSrc":"50036:6:19","nodeType":"YulIdentifier","src":"50036:6:19"}]}]},"pre":{"nativeSrc":"50014:2:19","nodeType":"YulBlock","src":"50014:2:19","statements":[]},"src":"50010:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"50127:3:19","nodeType":"YulIdentifier","src":"50127:3:19"},{"name":"length","nativeSrc":"50132:6:19","nodeType":"YulIdentifier","src":"50132:6:19"}],"functionName":{"name":"mstore","nativeSrc":"50120:6:19","nodeType":"YulIdentifier","src":"50120:6:19"},"nativeSrc":"50120:19:19","nodeType":"YulFunctionCall","src":"50120:19:19"},"nativeSrc":"50120:19:19","nodeType":"YulExpressionStatement","src":"50120:19:19"},{"nativeSrc":"50156:37:19","nodeType":"YulVariableDeclaration","src":"50156:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"50173:3:19","nodeType":"YulLiteral","src":"50173:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"50182:1:19","nodeType":"YulLiteral","src":"50182:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"50185:6:19","nodeType":"YulIdentifier","src":"50185:6:19"}],"functionName":{"name":"shl","nativeSrc":"50178:3:19","nodeType":"YulIdentifier","src":"50178:3:19"},"nativeSrc":"50178:14:19","nodeType":"YulFunctionCall","src":"50178:14:19"}],"functionName":{"name":"sub","nativeSrc":"50169:3:19","nodeType":"YulIdentifier","src":"50169:3:19"},"nativeSrc":"50169:24:19","nodeType":"YulFunctionCall","src":"50169:24:19"},"variables":[{"name":"shift","nativeSrc":"50160:5:19","nodeType":"YulTypedName","src":"50160:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"50221:3:19","nodeType":"YulIdentifier","src":"50221:3:19"},{"kind":"number","nativeSrc":"50226:4:19","nodeType":"YulLiteral","src":"50226:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"50217:3:19","nodeType":"YulIdentifier","src":"50217:3:19"},"nativeSrc":"50217:14:19","nodeType":"YulFunctionCall","src":"50217:14:19"},{"arguments":[{"name":"shift","nativeSrc":"50237:5:19","nodeType":"YulIdentifier","src":"50237:5:19"},{"arguments":[{"name":"shift","nativeSrc":"50248:5:19","nodeType":"YulIdentifier","src":"50248:5:19"},{"name":"w","nativeSrc":"50255:1:19","nodeType":"YulIdentifier","src":"50255:1:19"}],"functionName":{"name":"shr","nativeSrc":"50244:3:19","nodeType":"YulIdentifier","src":"50244:3:19"},"nativeSrc":"50244:13:19","nodeType":"YulFunctionCall","src":"50244:13:19"}],"functionName":{"name":"shl","nativeSrc":"50233:3:19","nodeType":"YulIdentifier","src":"50233:3:19"},"nativeSrc":"50233:25:19","nodeType":"YulFunctionCall","src":"50233:25:19"}],"functionName":{"name":"mstore","nativeSrc":"50210:6:19","nodeType":"YulIdentifier","src":"50210:6:19"},"nativeSrc":"50210:49:19","nodeType":"YulFunctionCall","src":"50210:49:19"},"nativeSrc":"50210:49:19","nodeType":"YulExpressionStatement","src":"50210:49:19"}]},"name":"writeString","nativeSrc":"49931:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"49952:3:19","nodeType":"YulTypedName","src":"49952:3:19","type":""},{"name":"w","nativeSrc":"49957:1:19","nodeType":"YulTypedName","src":"49957:1:19","type":""}],"src":"49931:342:19"},{"nativeSrc":"50286:17:19","nodeType":"YulAssignment","src":"50286:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"50298:4:19","nodeType":"YulLiteral","src":"50298:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"50292:5:19","nodeType":"YulIdentifier","src":"50292:5:19"},"nativeSrc":"50292:11:19","nodeType":"YulFunctionCall","src":"50292:11:19"},"variableNames":[{"name":"m0","nativeSrc":"50286:2:19","nodeType":"YulIdentifier","src":"50286:2:19"}]},{"nativeSrc":"50316:17:19","nodeType":"YulAssignment","src":"50316:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"50328:4:19","nodeType":"YulLiteral","src":"50328:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"50322:5:19","nodeType":"YulIdentifier","src":"50322:5:19"},"nativeSrc":"50322:11:19","nodeType":"YulFunctionCall","src":"50322:11:19"},"variableNames":[{"name":"m1","nativeSrc":"50316:2:19","nodeType":"YulIdentifier","src":"50316:2:19"}]},{"nativeSrc":"50346:17:19","nodeType":"YulAssignment","src":"50346:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"50358:4:19","nodeType":"YulLiteral","src":"50358:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"50352:5:19","nodeType":"YulIdentifier","src":"50352:5:19"},"nativeSrc":"50352:11:19","nodeType":"YulFunctionCall","src":"50352:11:19"},"variableNames":[{"name":"m2","nativeSrc":"50346:2:19","nodeType":"YulIdentifier","src":"50346:2:19"}]},{"nativeSrc":"50376:17:19","nodeType":"YulAssignment","src":"50376:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"50388:4:19","nodeType":"YulLiteral","src":"50388:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"50382:5:19","nodeType":"YulIdentifier","src":"50382:5:19"},"nativeSrc":"50382:11:19","nodeType":"YulFunctionCall","src":"50382:11:19"},"variableNames":[{"name":"m3","nativeSrc":"50376:2:19","nodeType":"YulIdentifier","src":"50376:2:19"}]},{"nativeSrc":"50406:17:19","nodeType":"YulAssignment","src":"50406:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"50418:4:19","nodeType":"YulLiteral","src":"50418:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"50412:5:19","nodeType":"YulIdentifier","src":"50412:5:19"},"nativeSrc":"50412:11:19","nodeType":"YulFunctionCall","src":"50412:11:19"},"variableNames":[{"name":"m4","nativeSrc":"50406:2:19","nodeType":"YulIdentifier","src":"50406:2:19"}]},{"nativeSrc":"50436:17:19","nodeType":"YulAssignment","src":"50436:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"50448:4:19","nodeType":"YulLiteral","src":"50448:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"50442:5:19","nodeType":"YulIdentifier","src":"50442:5:19"},"nativeSrc":"50442:11:19","nodeType":"YulFunctionCall","src":"50442:11:19"},"variableNames":[{"name":"m5","nativeSrc":"50436:2:19","nodeType":"YulIdentifier","src":"50436:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50528:4:19","nodeType":"YulLiteral","src":"50528:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"50534:10:19","nodeType":"YulLiteral","src":"50534:10:19","type":"","value":"0x1093ee11"}],"functionName":{"name":"mstore","nativeSrc":"50521:6:19","nodeType":"YulIdentifier","src":"50521:6:19"},"nativeSrc":"50521:24:19","nodeType":"YulFunctionCall","src":"50521:24:19"},"nativeSrc":"50521:24:19","nodeType":"YulExpressionStatement","src":"50521:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50565:4:19","nodeType":"YulLiteral","src":"50565:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"50571:2:19","nodeType":"YulIdentifier","src":"50571:2:19"}],"functionName":{"name":"mstore","nativeSrc":"50558:6:19","nodeType":"YulIdentifier","src":"50558:6:19"},"nativeSrc":"50558:16:19","nodeType":"YulFunctionCall","src":"50558:16:19"},"nativeSrc":"50558:16:19","nodeType":"YulExpressionStatement","src":"50558:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50594:4:19","nodeType":"YulLiteral","src":"50594:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"50600:4:19","nodeType":"YulLiteral","src":"50600:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"50587:6:19","nodeType":"YulIdentifier","src":"50587:6:19"},"nativeSrc":"50587:18:19","nodeType":"YulFunctionCall","src":"50587:18:19"},"nativeSrc":"50587:18:19","nodeType":"YulExpressionStatement","src":"50587:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50625:4:19","nodeType":"YulLiteral","src":"50625:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"50631:2:19","nodeType":"YulIdentifier","src":"50631:2:19"}],"functionName":{"name":"mstore","nativeSrc":"50618:6:19","nodeType":"YulIdentifier","src":"50618:6:19"},"nativeSrc":"50618:16:19","nodeType":"YulFunctionCall","src":"50618:16:19"},"nativeSrc":"50618:16:19","nodeType":"YulExpressionStatement","src":"50618:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50659:4:19","nodeType":"YulLiteral","src":"50659:4:19","type":"","value":"0x80"},{"name":"p1","nativeSrc":"50665:2:19","nodeType":"YulIdentifier","src":"50665:2:19"}],"functionName":{"name":"writeString","nativeSrc":"50647:11:19","nodeType":"YulIdentifier","src":"50647:11:19"},"nativeSrc":"50647:21:19","nodeType":"YulFunctionCall","src":"50647:21:19"},"nativeSrc":"50647:21:19","nodeType":"YulExpressionStatement","src":"50647:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27932,"isOffset":false,"isSlot":false,"src":"50286:2:19","valueSize":1},{"declaration":27935,"isOffset":false,"isSlot":false,"src":"50316:2:19","valueSize":1},{"declaration":27938,"isOffset":false,"isSlot":false,"src":"50346:2:19","valueSize":1},{"declaration":27941,"isOffset":false,"isSlot":false,"src":"50376:2:19","valueSize":1},{"declaration":27944,"isOffset":false,"isSlot":false,"src":"50406:2:19","valueSize":1},{"declaration":27947,"isOffset":false,"isSlot":false,"src":"50436:2:19","valueSize":1},{"declaration":27924,"isOffset":false,"isSlot":false,"src":"50571:2:19","valueSize":1},{"declaration":27926,"isOffset":false,"isSlot":false,"src":"50665:2:19","valueSize":1},{"declaration":27928,"isOffset":false,"isSlot":false,"src":"50631:2:19","valueSize":1}],"id":27949,"nodeType":"InlineAssembly","src":"49908:770:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50703:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":27952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"50709:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":27950,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"50687:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50687:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27954,"nodeType":"ExpressionStatement","src":"50687:27:19"},{"AST":{"nativeSrc":"50776:185:19","nodeType":"YulBlock","src":"50776:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"50797:4:19","nodeType":"YulLiteral","src":"50797:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"50803:2:19","nodeType":"YulIdentifier","src":"50803:2:19"}],"functionName":{"name":"mstore","nativeSrc":"50790:6:19","nodeType":"YulIdentifier","src":"50790:6:19"},"nativeSrc":"50790:16:19","nodeType":"YulFunctionCall","src":"50790:16:19"},"nativeSrc":"50790:16:19","nodeType":"YulExpressionStatement","src":"50790:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50826:4:19","nodeType":"YulLiteral","src":"50826:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"50832:2:19","nodeType":"YulIdentifier","src":"50832:2:19"}],"functionName":{"name":"mstore","nativeSrc":"50819:6:19","nodeType":"YulIdentifier","src":"50819:6:19"},"nativeSrc":"50819:16:19","nodeType":"YulFunctionCall","src":"50819:16:19"},"nativeSrc":"50819:16:19","nodeType":"YulExpressionStatement","src":"50819:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50855:4:19","nodeType":"YulLiteral","src":"50855:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"50861:2:19","nodeType":"YulIdentifier","src":"50861:2:19"}],"functionName":{"name":"mstore","nativeSrc":"50848:6:19","nodeType":"YulIdentifier","src":"50848:6:19"},"nativeSrc":"50848:16:19","nodeType":"YulFunctionCall","src":"50848:16:19"},"nativeSrc":"50848:16:19","nodeType":"YulExpressionStatement","src":"50848:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50884:4:19","nodeType":"YulLiteral","src":"50884:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"50890:2:19","nodeType":"YulIdentifier","src":"50890:2:19"}],"functionName":{"name":"mstore","nativeSrc":"50877:6:19","nodeType":"YulIdentifier","src":"50877:6:19"},"nativeSrc":"50877:16:19","nodeType":"YulFunctionCall","src":"50877:16:19"},"nativeSrc":"50877:16:19","nodeType":"YulExpressionStatement","src":"50877:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50913:4:19","nodeType":"YulLiteral","src":"50913:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"50919:2:19","nodeType":"YulIdentifier","src":"50919:2:19"}],"functionName":{"name":"mstore","nativeSrc":"50906:6:19","nodeType":"YulIdentifier","src":"50906:6:19"},"nativeSrc":"50906:16:19","nodeType":"YulFunctionCall","src":"50906:16:19"},"nativeSrc":"50906:16:19","nodeType":"YulExpressionStatement","src":"50906:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"50942:4:19","nodeType":"YulLiteral","src":"50942:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"50948:2:19","nodeType":"YulIdentifier","src":"50948:2:19"}],"functionName":{"name":"mstore","nativeSrc":"50935:6:19","nodeType":"YulIdentifier","src":"50935:6:19"},"nativeSrc":"50935:16:19","nodeType":"YulFunctionCall","src":"50935:16:19"},"nativeSrc":"50935:16:19","nodeType":"YulExpressionStatement","src":"50935:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27932,"isOffset":false,"isSlot":false,"src":"50803:2:19","valueSize":1},{"declaration":27935,"isOffset":false,"isSlot":false,"src":"50832:2:19","valueSize":1},{"declaration":27938,"isOffset":false,"isSlot":false,"src":"50861:2:19","valueSize":1},{"declaration":27941,"isOffset":false,"isSlot":false,"src":"50890:2:19","valueSize":1},{"declaration":27944,"isOffset":false,"isSlot":false,"src":"50919:2:19","valueSize":1},{"declaration":27947,"isOffset":false,"isSlot":false,"src":"50948:2:19","valueSize":1}],"id":27955,"nodeType":"InlineAssembly","src":"50767:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49684:3:19","parameters":{"id":27929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27924,"mutability":"mutable","name":"p0","nameLocation":"49693:2:19","nodeType":"VariableDeclaration","scope":27957,"src":"49688:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27923,"name":"bool","nodeType":"ElementaryTypeName","src":"49688:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27926,"mutability":"mutable","name":"p1","nameLocation":"49705:2:19","nodeType":"VariableDeclaration","scope":27957,"src":"49697:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27925,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49697:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":27928,"mutability":"mutable","name":"p2","nameLocation":"49717:2:19","nodeType":"VariableDeclaration","scope":27957,"src":"49709:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27927,"name":"uint256","nodeType":"ElementaryTypeName","src":"49709:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49687:33:19"},"returnParameters":{"id":27930,"nodeType":"ParameterList","parameters":[],"src":"49735:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":27998,"nodeType":"FunctionDefinition","src":"50973:1485:19","nodes":[],"body":{"id":27997,"nodeType":"Block","src":"51033:1425:19","nodes":[],"statements":[{"assignments":[27967],"declarations":[{"constant":false,"id":27967,"mutability":"mutable","name":"m0","nameLocation":"51051:2:19","nodeType":"VariableDeclaration","scope":27997,"src":"51043:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27966,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51043:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27968,"nodeType":"VariableDeclarationStatement","src":"51043:10:19"},{"assignments":[27970],"declarations":[{"constant":false,"id":27970,"mutability":"mutable","name":"m1","nameLocation":"51071:2:19","nodeType":"VariableDeclaration","scope":27997,"src":"51063:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27969,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51063:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27971,"nodeType":"VariableDeclarationStatement","src":"51063:10:19"},{"assignments":[27973],"declarations":[{"constant":false,"id":27973,"mutability":"mutable","name":"m2","nameLocation":"51091:2:19","nodeType":"VariableDeclaration","scope":27997,"src":"51083:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27972,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51083:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27974,"nodeType":"VariableDeclarationStatement","src":"51083:10:19"},{"assignments":[27976],"declarations":[{"constant":false,"id":27976,"mutability":"mutable","name":"m3","nameLocation":"51111:2:19","nodeType":"VariableDeclaration","scope":27997,"src":"51103:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27975,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51103:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27977,"nodeType":"VariableDeclarationStatement","src":"51103:10:19"},{"assignments":[27979],"declarations":[{"constant":false,"id":27979,"mutability":"mutable","name":"m4","nameLocation":"51131:2:19","nodeType":"VariableDeclaration","scope":27997,"src":"51123:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27978,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51123:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27980,"nodeType":"VariableDeclarationStatement","src":"51123:10:19"},{"assignments":[27982],"declarations":[{"constant":false,"id":27982,"mutability":"mutable","name":"m5","nameLocation":"51151:2:19","nodeType":"VariableDeclaration","scope":27997,"src":"51143:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27981,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51143:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27983,"nodeType":"VariableDeclarationStatement","src":"51143:10:19"},{"assignments":[27985],"declarations":[{"constant":false,"id":27985,"mutability":"mutable","name":"m6","nameLocation":"51171:2:19","nodeType":"VariableDeclaration","scope":27997,"src":"51163:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27984,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51163:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27986,"nodeType":"VariableDeclarationStatement","src":"51163:10:19"},{"assignments":[27988],"declarations":[{"constant":false,"id":27988,"mutability":"mutable","name":"m7","nameLocation":"51191:2:19","nodeType":"VariableDeclaration","scope":27997,"src":"51183:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27987,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51183:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":27989,"nodeType":"VariableDeclarationStatement","src":"51183:10:19"},{"AST":{"nativeSrc":"51255:856:19","nodeType":"YulBlock","src":"51255:856:19","statements":[{"body":{"nativeSrc":"51298:313:19","nodeType":"YulBlock","src":"51298:313:19","statements":[{"nativeSrc":"51316:15:19","nodeType":"YulVariableDeclaration","src":"51316:15:19","value":{"kind":"number","nativeSrc":"51330:1:19","nodeType":"YulLiteral","src":"51330:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"51320:6:19","nodeType":"YulTypedName","src":"51320:6:19","type":""}]},{"body":{"nativeSrc":"51401:40:19","nodeType":"YulBlock","src":"51401:40:19","statements":[{"body":{"nativeSrc":"51430:9:19","nodeType":"YulBlock","src":"51430:9:19","statements":[{"nativeSrc":"51432:5:19","nodeType":"YulBreak","src":"51432:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"51418:6:19","nodeType":"YulIdentifier","src":"51418:6:19"},{"name":"w","nativeSrc":"51426:1:19","nodeType":"YulIdentifier","src":"51426:1:19"}],"functionName":{"name":"byte","nativeSrc":"51413:4:19","nodeType":"YulIdentifier","src":"51413:4:19"},"nativeSrc":"51413:15:19","nodeType":"YulFunctionCall","src":"51413:15:19"}],"functionName":{"name":"iszero","nativeSrc":"51406:6:19","nodeType":"YulIdentifier","src":"51406:6:19"},"nativeSrc":"51406:23:19","nodeType":"YulFunctionCall","src":"51406:23:19"},"nativeSrc":"51403:36:19","nodeType":"YulIf","src":"51403:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"51358:6:19","nodeType":"YulIdentifier","src":"51358:6:19"},{"kind":"number","nativeSrc":"51366:4:19","nodeType":"YulLiteral","src":"51366:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"51355:2:19","nodeType":"YulIdentifier","src":"51355:2:19"},"nativeSrc":"51355:16:19","nodeType":"YulFunctionCall","src":"51355:16:19"},"nativeSrc":"51348:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"51372:28:19","nodeType":"YulBlock","src":"51372:28:19","statements":[{"nativeSrc":"51374:24:19","nodeType":"YulAssignment","src":"51374:24:19","value":{"arguments":[{"name":"length","nativeSrc":"51388:6:19","nodeType":"YulIdentifier","src":"51388:6:19"},{"kind":"number","nativeSrc":"51396:1:19","nodeType":"YulLiteral","src":"51396:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"51384:3:19","nodeType":"YulIdentifier","src":"51384:3:19"},"nativeSrc":"51384:14:19","nodeType":"YulFunctionCall","src":"51384:14:19"},"variableNames":[{"name":"length","nativeSrc":"51374:6:19","nodeType":"YulIdentifier","src":"51374:6:19"}]}]},"pre":{"nativeSrc":"51352:2:19","nodeType":"YulBlock","src":"51352:2:19","statements":[]},"src":"51348:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"51465:3:19","nodeType":"YulIdentifier","src":"51465:3:19"},{"name":"length","nativeSrc":"51470:6:19","nodeType":"YulIdentifier","src":"51470:6:19"}],"functionName":{"name":"mstore","nativeSrc":"51458:6:19","nodeType":"YulIdentifier","src":"51458:6:19"},"nativeSrc":"51458:19:19","nodeType":"YulFunctionCall","src":"51458:19:19"},"nativeSrc":"51458:19:19","nodeType":"YulExpressionStatement","src":"51458:19:19"},{"nativeSrc":"51494:37:19","nodeType":"YulVariableDeclaration","src":"51494:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"51511:3:19","nodeType":"YulLiteral","src":"51511:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"51520:1:19","nodeType":"YulLiteral","src":"51520:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"51523:6:19","nodeType":"YulIdentifier","src":"51523:6:19"}],"functionName":{"name":"shl","nativeSrc":"51516:3:19","nodeType":"YulIdentifier","src":"51516:3:19"},"nativeSrc":"51516:14:19","nodeType":"YulFunctionCall","src":"51516:14:19"}],"functionName":{"name":"sub","nativeSrc":"51507:3:19","nodeType":"YulIdentifier","src":"51507:3:19"},"nativeSrc":"51507:24:19","nodeType":"YulFunctionCall","src":"51507:24:19"},"variables":[{"name":"shift","nativeSrc":"51498:5:19","nodeType":"YulTypedName","src":"51498:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"51559:3:19","nodeType":"YulIdentifier","src":"51559:3:19"},{"kind":"number","nativeSrc":"51564:4:19","nodeType":"YulLiteral","src":"51564:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"51555:3:19","nodeType":"YulIdentifier","src":"51555:3:19"},"nativeSrc":"51555:14:19","nodeType":"YulFunctionCall","src":"51555:14:19"},{"arguments":[{"name":"shift","nativeSrc":"51575:5:19","nodeType":"YulIdentifier","src":"51575:5:19"},{"arguments":[{"name":"shift","nativeSrc":"51586:5:19","nodeType":"YulIdentifier","src":"51586:5:19"},{"name":"w","nativeSrc":"51593:1:19","nodeType":"YulIdentifier","src":"51593:1:19"}],"functionName":{"name":"shr","nativeSrc":"51582:3:19","nodeType":"YulIdentifier","src":"51582:3:19"},"nativeSrc":"51582:13:19","nodeType":"YulFunctionCall","src":"51582:13:19"}],"functionName":{"name":"shl","nativeSrc":"51571:3:19","nodeType":"YulIdentifier","src":"51571:3:19"},"nativeSrc":"51571:25:19","nodeType":"YulFunctionCall","src":"51571:25:19"}],"functionName":{"name":"mstore","nativeSrc":"51548:6:19","nodeType":"YulIdentifier","src":"51548:6:19"},"nativeSrc":"51548:49:19","nodeType":"YulFunctionCall","src":"51548:49:19"},"nativeSrc":"51548:49:19","nodeType":"YulExpressionStatement","src":"51548:49:19"}]},"name":"writeString","nativeSrc":"51269:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"51290:3:19","nodeType":"YulTypedName","src":"51290:3:19","type":""},{"name":"w","nativeSrc":"51295:1:19","nodeType":"YulTypedName","src":"51295:1:19","type":""}],"src":"51269:342:19"},{"nativeSrc":"51624:17:19","nodeType":"YulAssignment","src":"51624:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"51636:4:19","nodeType":"YulLiteral","src":"51636:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"51630:5:19","nodeType":"YulIdentifier","src":"51630:5:19"},"nativeSrc":"51630:11:19","nodeType":"YulFunctionCall","src":"51630:11:19"},"variableNames":[{"name":"m0","nativeSrc":"51624:2:19","nodeType":"YulIdentifier","src":"51624:2:19"}]},{"nativeSrc":"51654:17:19","nodeType":"YulAssignment","src":"51654:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"51666:4:19","nodeType":"YulLiteral","src":"51666:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"51660:5:19","nodeType":"YulIdentifier","src":"51660:5:19"},"nativeSrc":"51660:11:19","nodeType":"YulFunctionCall","src":"51660:11:19"},"variableNames":[{"name":"m1","nativeSrc":"51654:2:19","nodeType":"YulIdentifier","src":"51654:2:19"}]},{"nativeSrc":"51684:17:19","nodeType":"YulAssignment","src":"51684:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"51696:4:19","nodeType":"YulLiteral","src":"51696:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"51690:5:19","nodeType":"YulIdentifier","src":"51690:5:19"},"nativeSrc":"51690:11:19","nodeType":"YulFunctionCall","src":"51690:11:19"},"variableNames":[{"name":"m2","nativeSrc":"51684:2:19","nodeType":"YulIdentifier","src":"51684:2:19"}]},{"nativeSrc":"51714:17:19","nodeType":"YulAssignment","src":"51714:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"51726:4:19","nodeType":"YulLiteral","src":"51726:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"51720:5:19","nodeType":"YulIdentifier","src":"51720:5:19"},"nativeSrc":"51720:11:19","nodeType":"YulFunctionCall","src":"51720:11:19"},"variableNames":[{"name":"m3","nativeSrc":"51714:2:19","nodeType":"YulIdentifier","src":"51714:2:19"}]},{"nativeSrc":"51744:17:19","nodeType":"YulAssignment","src":"51744:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"51756:4:19","nodeType":"YulLiteral","src":"51756:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"51750:5:19","nodeType":"YulIdentifier","src":"51750:5:19"},"nativeSrc":"51750:11:19","nodeType":"YulFunctionCall","src":"51750:11:19"},"variableNames":[{"name":"m4","nativeSrc":"51744:2:19","nodeType":"YulIdentifier","src":"51744:2:19"}]},{"nativeSrc":"51774:17:19","nodeType":"YulAssignment","src":"51774:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"51786:4:19","nodeType":"YulLiteral","src":"51786:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"51780:5:19","nodeType":"YulIdentifier","src":"51780:5:19"},"nativeSrc":"51780:11:19","nodeType":"YulFunctionCall","src":"51780:11:19"},"variableNames":[{"name":"m5","nativeSrc":"51774:2:19","nodeType":"YulIdentifier","src":"51774:2:19"}]},{"nativeSrc":"51804:17:19","nodeType":"YulAssignment","src":"51804:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"51816:4:19","nodeType":"YulLiteral","src":"51816:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"51810:5:19","nodeType":"YulIdentifier","src":"51810:5:19"},"nativeSrc":"51810:11:19","nodeType":"YulFunctionCall","src":"51810:11:19"},"variableNames":[{"name":"m6","nativeSrc":"51804:2:19","nodeType":"YulIdentifier","src":"51804:2:19"}]},{"nativeSrc":"51834:17:19","nodeType":"YulAssignment","src":"51834:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"51846:4:19","nodeType":"YulLiteral","src":"51846:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"51840:5:19","nodeType":"YulIdentifier","src":"51840:5:19"},"nativeSrc":"51840:11:19","nodeType":"YulFunctionCall","src":"51840:11:19"},"variableNames":[{"name":"m7","nativeSrc":"51834:2:19","nodeType":"YulIdentifier","src":"51834:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"51925:4:19","nodeType":"YulLiteral","src":"51925:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"51931:10:19","nodeType":"YulLiteral","src":"51931:10:19","type":"","value":"0xb076847f"}],"functionName":{"name":"mstore","nativeSrc":"51918:6:19","nodeType":"YulIdentifier","src":"51918:6:19"},"nativeSrc":"51918:24:19","nodeType":"YulFunctionCall","src":"51918:24:19"},"nativeSrc":"51918:24:19","nodeType":"YulExpressionStatement","src":"51918:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"51962:4:19","nodeType":"YulLiteral","src":"51962:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"51968:2:19","nodeType":"YulIdentifier","src":"51968:2:19"}],"functionName":{"name":"mstore","nativeSrc":"51955:6:19","nodeType":"YulIdentifier","src":"51955:6:19"},"nativeSrc":"51955:16:19","nodeType":"YulFunctionCall","src":"51955:16:19"},"nativeSrc":"51955:16:19","nodeType":"YulExpressionStatement","src":"51955:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"51991:4:19","nodeType":"YulLiteral","src":"51991:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"51997:4:19","nodeType":"YulLiteral","src":"51997:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"51984:6:19","nodeType":"YulIdentifier","src":"51984:6:19"},"nativeSrc":"51984:18:19","nodeType":"YulFunctionCall","src":"51984:18:19"},"nativeSrc":"51984:18:19","nodeType":"YulExpressionStatement","src":"51984:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52022:4:19","nodeType":"YulLiteral","src":"52022:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"52028:4:19","nodeType":"YulLiteral","src":"52028:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"52015:6:19","nodeType":"YulIdentifier","src":"52015:6:19"},"nativeSrc":"52015:18:19","nodeType":"YulFunctionCall","src":"52015:18:19"},"nativeSrc":"52015:18:19","nodeType":"YulExpressionStatement","src":"52015:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52058:4:19","nodeType":"YulLiteral","src":"52058:4:19","type":"","value":"0x80"},{"name":"p1","nativeSrc":"52064:2:19","nodeType":"YulIdentifier","src":"52064:2:19"}],"functionName":{"name":"writeString","nativeSrc":"52046:11:19","nodeType":"YulIdentifier","src":"52046:11:19"},"nativeSrc":"52046:21:19","nodeType":"YulFunctionCall","src":"52046:21:19"},"nativeSrc":"52046:21:19","nodeType":"YulExpressionStatement","src":"52046:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52092:4:19","nodeType":"YulLiteral","src":"52092:4:19","type":"","value":"0xc0"},{"name":"p2","nativeSrc":"52098:2:19","nodeType":"YulIdentifier","src":"52098:2:19"}],"functionName":{"name":"writeString","nativeSrc":"52080:11:19","nodeType":"YulIdentifier","src":"52080:11:19"},"nativeSrc":"52080:21:19","nodeType":"YulFunctionCall","src":"52080:21:19"},"nativeSrc":"52080:21:19","nodeType":"YulExpressionStatement","src":"52080:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27967,"isOffset":false,"isSlot":false,"src":"51624:2:19","valueSize":1},{"declaration":27970,"isOffset":false,"isSlot":false,"src":"51654:2:19","valueSize":1},{"declaration":27973,"isOffset":false,"isSlot":false,"src":"51684:2:19","valueSize":1},{"declaration":27976,"isOffset":false,"isSlot":false,"src":"51714:2:19","valueSize":1},{"declaration":27979,"isOffset":false,"isSlot":false,"src":"51744:2:19","valueSize":1},{"declaration":27982,"isOffset":false,"isSlot":false,"src":"51774:2:19","valueSize":1},{"declaration":27985,"isOffset":false,"isSlot":false,"src":"51804:2:19","valueSize":1},{"declaration":27988,"isOffset":false,"isSlot":false,"src":"51834:2:19","valueSize":1},{"declaration":27959,"isOffset":false,"isSlot":false,"src":"51968:2:19","valueSize":1},{"declaration":27961,"isOffset":false,"isSlot":false,"src":"52064:2:19","valueSize":1},{"declaration":27963,"isOffset":false,"isSlot":false,"src":"52098:2:19","valueSize":1}],"id":27990,"nodeType":"InlineAssembly","src":"51246:865:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":27992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52136:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":27993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52142:4:19","typeDescriptions":{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"},"value":"0xe4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"}],"id":27991,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"52120:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":27994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52120:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27995,"nodeType":"ExpressionStatement","src":"52120:27:19"},{"AST":{"nativeSrc":"52209:243:19","nodeType":"YulBlock","src":"52209:243:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"52230:4:19","nodeType":"YulLiteral","src":"52230:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"52236:2:19","nodeType":"YulIdentifier","src":"52236:2:19"}],"functionName":{"name":"mstore","nativeSrc":"52223:6:19","nodeType":"YulIdentifier","src":"52223:6:19"},"nativeSrc":"52223:16:19","nodeType":"YulFunctionCall","src":"52223:16:19"},"nativeSrc":"52223:16:19","nodeType":"YulExpressionStatement","src":"52223:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52259:4:19","nodeType":"YulLiteral","src":"52259:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"52265:2:19","nodeType":"YulIdentifier","src":"52265:2:19"}],"functionName":{"name":"mstore","nativeSrc":"52252:6:19","nodeType":"YulIdentifier","src":"52252:6:19"},"nativeSrc":"52252:16:19","nodeType":"YulFunctionCall","src":"52252:16:19"},"nativeSrc":"52252:16:19","nodeType":"YulExpressionStatement","src":"52252:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52288:4:19","nodeType":"YulLiteral","src":"52288:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"52294:2:19","nodeType":"YulIdentifier","src":"52294:2:19"}],"functionName":{"name":"mstore","nativeSrc":"52281:6:19","nodeType":"YulIdentifier","src":"52281:6:19"},"nativeSrc":"52281:16:19","nodeType":"YulFunctionCall","src":"52281:16:19"},"nativeSrc":"52281:16:19","nodeType":"YulExpressionStatement","src":"52281:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52317:4:19","nodeType":"YulLiteral","src":"52317:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"52323:2:19","nodeType":"YulIdentifier","src":"52323:2:19"}],"functionName":{"name":"mstore","nativeSrc":"52310:6:19","nodeType":"YulIdentifier","src":"52310:6:19"},"nativeSrc":"52310:16:19","nodeType":"YulFunctionCall","src":"52310:16:19"},"nativeSrc":"52310:16:19","nodeType":"YulExpressionStatement","src":"52310:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52346:4:19","nodeType":"YulLiteral","src":"52346:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"52352:2:19","nodeType":"YulIdentifier","src":"52352:2:19"}],"functionName":{"name":"mstore","nativeSrc":"52339:6:19","nodeType":"YulIdentifier","src":"52339:6:19"},"nativeSrc":"52339:16:19","nodeType":"YulFunctionCall","src":"52339:16:19"},"nativeSrc":"52339:16:19","nodeType":"YulExpressionStatement","src":"52339:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52375:4:19","nodeType":"YulLiteral","src":"52375:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"52381:2:19","nodeType":"YulIdentifier","src":"52381:2:19"}],"functionName":{"name":"mstore","nativeSrc":"52368:6:19","nodeType":"YulIdentifier","src":"52368:6:19"},"nativeSrc":"52368:16:19","nodeType":"YulFunctionCall","src":"52368:16:19"},"nativeSrc":"52368:16:19","nodeType":"YulExpressionStatement","src":"52368:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52404:4:19","nodeType":"YulLiteral","src":"52404:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"52410:2:19","nodeType":"YulIdentifier","src":"52410:2:19"}],"functionName":{"name":"mstore","nativeSrc":"52397:6:19","nodeType":"YulIdentifier","src":"52397:6:19"},"nativeSrc":"52397:16:19","nodeType":"YulFunctionCall","src":"52397:16:19"},"nativeSrc":"52397:16:19","nodeType":"YulExpressionStatement","src":"52397:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52433:4:19","nodeType":"YulLiteral","src":"52433:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"52439:2:19","nodeType":"YulIdentifier","src":"52439:2:19"}],"functionName":{"name":"mstore","nativeSrc":"52426:6:19","nodeType":"YulIdentifier","src":"52426:6:19"},"nativeSrc":"52426:16:19","nodeType":"YulFunctionCall","src":"52426:16:19"},"nativeSrc":"52426:16:19","nodeType":"YulExpressionStatement","src":"52426:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":27967,"isOffset":false,"isSlot":false,"src":"52236:2:19","valueSize":1},{"declaration":27970,"isOffset":false,"isSlot":false,"src":"52265:2:19","valueSize":1},{"declaration":27973,"isOffset":false,"isSlot":false,"src":"52294:2:19","valueSize":1},{"declaration":27976,"isOffset":false,"isSlot":false,"src":"52323:2:19","valueSize":1},{"declaration":27979,"isOffset":false,"isSlot":false,"src":"52352:2:19","valueSize":1},{"declaration":27982,"isOffset":false,"isSlot":false,"src":"52381:2:19","valueSize":1},{"declaration":27985,"isOffset":false,"isSlot":false,"src":"52410:2:19","valueSize":1},{"declaration":27988,"isOffset":false,"isSlot":false,"src":"52439:2:19","valueSize":1}],"id":27996,"nodeType":"InlineAssembly","src":"52200:252:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50982:3:19","parameters":{"id":27964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27959,"mutability":"mutable","name":"p0","nameLocation":"50991:2:19","nodeType":"VariableDeclaration","scope":27998,"src":"50986:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27958,"name":"bool","nodeType":"ElementaryTypeName","src":"50986:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27961,"mutability":"mutable","name":"p1","nameLocation":"51003:2:19","nodeType":"VariableDeclaration","scope":27998,"src":"50995:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27960,"name":"bytes32","nodeType":"ElementaryTypeName","src":"50995:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":27963,"mutability":"mutable","name":"p2","nameLocation":"51015:2:19","nodeType":"VariableDeclaration","scope":27998,"src":"51007:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27962,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51007:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"50985:33:19"},"returnParameters":{"id":27965,"nodeType":"ParameterList","parameters":[],"src":"51033:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28027,"nodeType":"FunctionDefinition","src":"52464:750:19","nodes":[],"body":{"id":28026,"nodeType":"Block","src":"52527:687:19","nodes":[],"statements":[{"assignments":[28008],"declarations":[{"constant":false,"id":28008,"mutability":"mutable","name":"m0","nameLocation":"52545:2:19","nodeType":"VariableDeclaration","scope":28026,"src":"52537:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28007,"name":"bytes32","nodeType":"ElementaryTypeName","src":"52537:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28009,"nodeType":"VariableDeclarationStatement","src":"52537:10:19"},{"assignments":[28011],"declarations":[{"constant":false,"id":28011,"mutability":"mutable","name":"m1","nameLocation":"52565:2:19","nodeType":"VariableDeclaration","scope":28026,"src":"52557:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28010,"name":"bytes32","nodeType":"ElementaryTypeName","src":"52557:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28012,"nodeType":"VariableDeclarationStatement","src":"52557:10:19"},{"assignments":[28014],"declarations":[{"constant":false,"id":28014,"mutability":"mutable","name":"m2","nameLocation":"52585:2:19","nodeType":"VariableDeclaration","scope":28026,"src":"52577:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28013,"name":"bytes32","nodeType":"ElementaryTypeName","src":"52577:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28015,"nodeType":"VariableDeclarationStatement","src":"52577:10:19"},{"assignments":[28017],"declarations":[{"constant":false,"id":28017,"mutability":"mutable","name":"m3","nameLocation":"52605:2:19","nodeType":"VariableDeclaration","scope":28026,"src":"52597:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28016,"name":"bytes32","nodeType":"ElementaryTypeName","src":"52597:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28018,"nodeType":"VariableDeclarationStatement","src":"52597:10:19"},{"AST":{"nativeSrc":"52669:314:19","nodeType":"YulBlock","src":"52669:314:19","statements":[{"nativeSrc":"52683:17:19","nodeType":"YulAssignment","src":"52683:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"52695:4:19","nodeType":"YulLiteral","src":"52695:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"52689:5:19","nodeType":"YulIdentifier","src":"52689:5:19"},"nativeSrc":"52689:11:19","nodeType":"YulFunctionCall","src":"52689:11:19"},"variableNames":[{"name":"m0","nativeSrc":"52683:2:19","nodeType":"YulIdentifier","src":"52683:2:19"}]},{"nativeSrc":"52713:17:19","nodeType":"YulAssignment","src":"52713:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"52725:4:19","nodeType":"YulLiteral","src":"52725:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"52719:5:19","nodeType":"YulIdentifier","src":"52719:5:19"},"nativeSrc":"52719:11:19","nodeType":"YulFunctionCall","src":"52719:11:19"},"variableNames":[{"name":"m1","nativeSrc":"52713:2:19","nodeType":"YulIdentifier","src":"52713:2:19"}]},{"nativeSrc":"52743:17:19","nodeType":"YulAssignment","src":"52743:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"52755:4:19","nodeType":"YulLiteral","src":"52755:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"52749:5:19","nodeType":"YulIdentifier","src":"52749:5:19"},"nativeSrc":"52749:11:19","nodeType":"YulFunctionCall","src":"52749:11:19"},"variableNames":[{"name":"m2","nativeSrc":"52743:2:19","nodeType":"YulIdentifier","src":"52743:2:19"}]},{"nativeSrc":"52773:17:19","nodeType":"YulAssignment","src":"52773:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"52785:4:19","nodeType":"YulLiteral","src":"52785:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"52779:5:19","nodeType":"YulIdentifier","src":"52779:5:19"},"nativeSrc":"52779:11:19","nodeType":"YulFunctionCall","src":"52779:11:19"},"variableNames":[{"name":"m3","nativeSrc":"52773:2:19","nodeType":"YulIdentifier","src":"52773:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52869:4:19","nodeType":"YulLiteral","src":"52869:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"52875:10:19","nodeType":"YulLiteral","src":"52875:10:19","type":"","value":"0xbcfd9be0"}],"functionName":{"name":"mstore","nativeSrc":"52862:6:19","nodeType":"YulIdentifier","src":"52862:6:19"},"nativeSrc":"52862:24:19","nodeType":"YulFunctionCall","src":"52862:24:19"},"nativeSrc":"52862:24:19","nodeType":"YulExpressionStatement","src":"52862:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52906:4:19","nodeType":"YulLiteral","src":"52906:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"52912:2:19","nodeType":"YulIdentifier","src":"52912:2:19"}],"functionName":{"name":"mstore","nativeSrc":"52899:6:19","nodeType":"YulIdentifier","src":"52899:6:19"},"nativeSrc":"52899:16:19","nodeType":"YulFunctionCall","src":"52899:16:19"},"nativeSrc":"52899:16:19","nodeType":"YulExpressionStatement","src":"52899:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52935:4:19","nodeType":"YulLiteral","src":"52935:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"52941:2:19","nodeType":"YulIdentifier","src":"52941:2:19"}],"functionName":{"name":"mstore","nativeSrc":"52928:6:19","nodeType":"YulIdentifier","src":"52928:6:19"},"nativeSrc":"52928:16:19","nodeType":"YulFunctionCall","src":"52928:16:19"},"nativeSrc":"52928:16:19","nodeType":"YulExpressionStatement","src":"52928:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"52964:4:19","nodeType":"YulLiteral","src":"52964:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"52970:2:19","nodeType":"YulIdentifier","src":"52970:2:19"}],"functionName":{"name":"mstore","nativeSrc":"52957:6:19","nodeType":"YulIdentifier","src":"52957:6:19"},"nativeSrc":"52957:16:19","nodeType":"YulFunctionCall","src":"52957:16:19"},"nativeSrc":"52957:16:19","nodeType":"YulExpressionStatement","src":"52957:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28008,"isOffset":false,"isSlot":false,"src":"52683:2:19","valueSize":1},{"declaration":28011,"isOffset":false,"isSlot":false,"src":"52713:2:19","valueSize":1},{"declaration":28014,"isOffset":false,"isSlot":false,"src":"52743:2:19","valueSize":1},{"declaration":28017,"isOffset":false,"isSlot":false,"src":"52773:2:19","valueSize":1},{"declaration":28000,"isOffset":false,"isSlot":false,"src":"52912:2:19","valueSize":1},{"declaration":28002,"isOffset":false,"isSlot":false,"src":"52941:2:19","valueSize":1},{"declaration":28004,"isOffset":false,"isSlot":false,"src":"52970:2:19","valueSize":1}],"id":28019,"nodeType":"InlineAssembly","src":"52660:323:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53008:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53014:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28020,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"52992:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52992:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28024,"nodeType":"ExpressionStatement","src":"52992:27:19"},{"AST":{"nativeSrc":"53081:127:19","nodeType":"YulBlock","src":"53081:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"53102:4:19","nodeType":"YulLiteral","src":"53102:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"53108:2:19","nodeType":"YulIdentifier","src":"53108:2:19"}],"functionName":{"name":"mstore","nativeSrc":"53095:6:19","nodeType":"YulIdentifier","src":"53095:6:19"},"nativeSrc":"53095:16:19","nodeType":"YulFunctionCall","src":"53095:16:19"},"nativeSrc":"53095:16:19","nodeType":"YulExpressionStatement","src":"53095:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53131:4:19","nodeType":"YulLiteral","src":"53131:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"53137:2:19","nodeType":"YulIdentifier","src":"53137:2:19"}],"functionName":{"name":"mstore","nativeSrc":"53124:6:19","nodeType":"YulIdentifier","src":"53124:6:19"},"nativeSrc":"53124:16:19","nodeType":"YulFunctionCall","src":"53124:16:19"},"nativeSrc":"53124:16:19","nodeType":"YulExpressionStatement","src":"53124:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53160:4:19","nodeType":"YulLiteral","src":"53160:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"53166:2:19","nodeType":"YulIdentifier","src":"53166:2:19"}],"functionName":{"name":"mstore","nativeSrc":"53153:6:19","nodeType":"YulIdentifier","src":"53153:6:19"},"nativeSrc":"53153:16:19","nodeType":"YulFunctionCall","src":"53153:16:19"},"nativeSrc":"53153:16:19","nodeType":"YulExpressionStatement","src":"53153:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53189:4:19","nodeType":"YulLiteral","src":"53189:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"53195:2:19","nodeType":"YulIdentifier","src":"53195:2:19"}],"functionName":{"name":"mstore","nativeSrc":"53182:6:19","nodeType":"YulIdentifier","src":"53182:6:19"},"nativeSrc":"53182:16:19","nodeType":"YulFunctionCall","src":"53182:16:19"},"nativeSrc":"53182:16:19","nodeType":"YulExpressionStatement","src":"53182:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28008,"isOffset":false,"isSlot":false,"src":"53108:2:19","valueSize":1},{"declaration":28011,"isOffset":false,"isSlot":false,"src":"53137:2:19","valueSize":1},{"declaration":28014,"isOffset":false,"isSlot":false,"src":"53166:2:19","valueSize":1},{"declaration":28017,"isOffset":false,"isSlot":false,"src":"53195:2:19","valueSize":1}],"id":28025,"nodeType":"InlineAssembly","src":"53072:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52473:3:19","parameters":{"id":28005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28000,"mutability":"mutable","name":"p0","nameLocation":"52485:2:19","nodeType":"VariableDeclaration","scope":28027,"src":"52477:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27999,"name":"uint256","nodeType":"ElementaryTypeName","src":"52477:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28002,"mutability":"mutable","name":"p1","nameLocation":"52497:2:19","nodeType":"VariableDeclaration","scope":28027,"src":"52489:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28001,"name":"address","nodeType":"ElementaryTypeName","src":"52489:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28004,"mutability":"mutable","name":"p2","nameLocation":"52509:2:19","nodeType":"VariableDeclaration","scope":28027,"src":"52501:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28003,"name":"address","nodeType":"ElementaryTypeName","src":"52501:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"52476:36:19"},"returnParameters":{"id":28006,"nodeType":"ParameterList","parameters":[],"src":"52527:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28056,"nodeType":"FunctionDefinition","src":"53220:744:19","nodes":[],"body":{"id":28055,"nodeType":"Block","src":"53280:684:19","nodes":[],"statements":[{"assignments":[28037],"declarations":[{"constant":false,"id":28037,"mutability":"mutable","name":"m0","nameLocation":"53298:2:19","nodeType":"VariableDeclaration","scope":28055,"src":"53290:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28036,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53290:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28038,"nodeType":"VariableDeclarationStatement","src":"53290:10:19"},{"assignments":[28040],"declarations":[{"constant":false,"id":28040,"mutability":"mutable","name":"m1","nameLocation":"53318:2:19","nodeType":"VariableDeclaration","scope":28055,"src":"53310:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28039,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53310:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28041,"nodeType":"VariableDeclarationStatement","src":"53310:10:19"},{"assignments":[28043],"declarations":[{"constant":false,"id":28043,"mutability":"mutable","name":"m2","nameLocation":"53338:2:19","nodeType":"VariableDeclaration","scope":28055,"src":"53330:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28042,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53330:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28044,"nodeType":"VariableDeclarationStatement","src":"53330:10:19"},{"assignments":[28046],"declarations":[{"constant":false,"id":28046,"mutability":"mutable","name":"m3","nameLocation":"53358:2:19","nodeType":"VariableDeclaration","scope":28055,"src":"53350:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28045,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53350:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28047,"nodeType":"VariableDeclarationStatement","src":"53350:10:19"},{"AST":{"nativeSrc":"53422:311:19","nodeType":"YulBlock","src":"53422:311:19","statements":[{"nativeSrc":"53436:17:19","nodeType":"YulAssignment","src":"53436:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"53448:4:19","nodeType":"YulLiteral","src":"53448:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"53442:5:19","nodeType":"YulIdentifier","src":"53442:5:19"},"nativeSrc":"53442:11:19","nodeType":"YulFunctionCall","src":"53442:11:19"},"variableNames":[{"name":"m0","nativeSrc":"53436:2:19","nodeType":"YulIdentifier","src":"53436:2:19"}]},{"nativeSrc":"53466:17:19","nodeType":"YulAssignment","src":"53466:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"53478:4:19","nodeType":"YulLiteral","src":"53478:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"53472:5:19","nodeType":"YulIdentifier","src":"53472:5:19"},"nativeSrc":"53472:11:19","nodeType":"YulFunctionCall","src":"53472:11:19"},"variableNames":[{"name":"m1","nativeSrc":"53466:2:19","nodeType":"YulIdentifier","src":"53466:2:19"}]},{"nativeSrc":"53496:17:19","nodeType":"YulAssignment","src":"53496:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"53508:4:19","nodeType":"YulLiteral","src":"53508:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"53502:5:19","nodeType":"YulIdentifier","src":"53502:5:19"},"nativeSrc":"53502:11:19","nodeType":"YulFunctionCall","src":"53502:11:19"},"variableNames":[{"name":"m2","nativeSrc":"53496:2:19","nodeType":"YulIdentifier","src":"53496:2:19"}]},{"nativeSrc":"53526:17:19","nodeType":"YulAssignment","src":"53526:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"53538:4:19","nodeType":"YulLiteral","src":"53538:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"53532:5:19","nodeType":"YulIdentifier","src":"53532:5:19"},"nativeSrc":"53532:11:19","nodeType":"YulFunctionCall","src":"53532:11:19"},"variableNames":[{"name":"m3","nativeSrc":"53526:2:19","nodeType":"YulIdentifier","src":"53526:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53619:4:19","nodeType":"YulLiteral","src":"53619:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"53625:10:19","nodeType":"YulLiteral","src":"53625:10:19","type":"","value":"0x9b6ec042"}],"functionName":{"name":"mstore","nativeSrc":"53612:6:19","nodeType":"YulIdentifier","src":"53612:6:19"},"nativeSrc":"53612:24:19","nodeType":"YulFunctionCall","src":"53612:24:19"},"nativeSrc":"53612:24:19","nodeType":"YulExpressionStatement","src":"53612:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53656:4:19","nodeType":"YulLiteral","src":"53656:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"53662:2:19","nodeType":"YulIdentifier","src":"53662:2:19"}],"functionName":{"name":"mstore","nativeSrc":"53649:6:19","nodeType":"YulIdentifier","src":"53649:6:19"},"nativeSrc":"53649:16:19","nodeType":"YulFunctionCall","src":"53649:16:19"},"nativeSrc":"53649:16:19","nodeType":"YulExpressionStatement","src":"53649:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53685:4:19","nodeType":"YulLiteral","src":"53685:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"53691:2:19","nodeType":"YulIdentifier","src":"53691:2:19"}],"functionName":{"name":"mstore","nativeSrc":"53678:6:19","nodeType":"YulIdentifier","src":"53678:6:19"},"nativeSrc":"53678:16:19","nodeType":"YulFunctionCall","src":"53678:16:19"},"nativeSrc":"53678:16:19","nodeType":"YulExpressionStatement","src":"53678:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53714:4:19","nodeType":"YulLiteral","src":"53714:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"53720:2:19","nodeType":"YulIdentifier","src":"53720:2:19"}],"functionName":{"name":"mstore","nativeSrc":"53707:6:19","nodeType":"YulIdentifier","src":"53707:6:19"},"nativeSrc":"53707:16:19","nodeType":"YulFunctionCall","src":"53707:16:19"},"nativeSrc":"53707:16:19","nodeType":"YulExpressionStatement","src":"53707:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28037,"isOffset":false,"isSlot":false,"src":"53436:2:19","valueSize":1},{"declaration":28040,"isOffset":false,"isSlot":false,"src":"53466:2:19","valueSize":1},{"declaration":28043,"isOffset":false,"isSlot":false,"src":"53496:2:19","valueSize":1},{"declaration":28046,"isOffset":false,"isSlot":false,"src":"53526:2:19","valueSize":1},{"declaration":28029,"isOffset":false,"isSlot":false,"src":"53662:2:19","valueSize":1},{"declaration":28031,"isOffset":false,"isSlot":false,"src":"53691:2:19","valueSize":1},{"declaration":28033,"isOffset":false,"isSlot":false,"src":"53720:2:19","valueSize":1}],"id":28048,"nodeType":"InlineAssembly","src":"53413:320:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53758:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"53764:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28049,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"53742:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53742:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28053,"nodeType":"ExpressionStatement","src":"53742:27:19"},{"AST":{"nativeSrc":"53831:127:19","nodeType":"YulBlock","src":"53831:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"53852:4:19","nodeType":"YulLiteral","src":"53852:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"53858:2:19","nodeType":"YulIdentifier","src":"53858:2:19"}],"functionName":{"name":"mstore","nativeSrc":"53845:6:19","nodeType":"YulIdentifier","src":"53845:6:19"},"nativeSrc":"53845:16:19","nodeType":"YulFunctionCall","src":"53845:16:19"},"nativeSrc":"53845:16:19","nodeType":"YulExpressionStatement","src":"53845:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53881:4:19","nodeType":"YulLiteral","src":"53881:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"53887:2:19","nodeType":"YulIdentifier","src":"53887:2:19"}],"functionName":{"name":"mstore","nativeSrc":"53874:6:19","nodeType":"YulIdentifier","src":"53874:6:19"},"nativeSrc":"53874:16:19","nodeType":"YulFunctionCall","src":"53874:16:19"},"nativeSrc":"53874:16:19","nodeType":"YulExpressionStatement","src":"53874:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53910:4:19","nodeType":"YulLiteral","src":"53910:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"53916:2:19","nodeType":"YulIdentifier","src":"53916:2:19"}],"functionName":{"name":"mstore","nativeSrc":"53903:6:19","nodeType":"YulIdentifier","src":"53903:6:19"},"nativeSrc":"53903:16:19","nodeType":"YulFunctionCall","src":"53903:16:19"},"nativeSrc":"53903:16:19","nodeType":"YulExpressionStatement","src":"53903:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"53939:4:19","nodeType":"YulLiteral","src":"53939:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"53945:2:19","nodeType":"YulIdentifier","src":"53945:2:19"}],"functionName":{"name":"mstore","nativeSrc":"53932:6:19","nodeType":"YulIdentifier","src":"53932:6:19"},"nativeSrc":"53932:16:19","nodeType":"YulFunctionCall","src":"53932:16:19"},"nativeSrc":"53932:16:19","nodeType":"YulExpressionStatement","src":"53932:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28037,"isOffset":false,"isSlot":false,"src":"53858:2:19","valueSize":1},{"declaration":28040,"isOffset":false,"isSlot":false,"src":"53887:2:19","valueSize":1},{"declaration":28043,"isOffset":false,"isSlot":false,"src":"53916:2:19","valueSize":1},{"declaration":28046,"isOffset":false,"isSlot":false,"src":"53945:2:19","valueSize":1}],"id":28054,"nodeType":"InlineAssembly","src":"53822:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53229:3:19","parameters":{"id":28034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28029,"mutability":"mutable","name":"p0","nameLocation":"53241:2:19","nodeType":"VariableDeclaration","scope":28056,"src":"53233:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28028,"name":"uint256","nodeType":"ElementaryTypeName","src":"53233:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28031,"mutability":"mutable","name":"p1","nameLocation":"53253:2:19","nodeType":"VariableDeclaration","scope":28056,"src":"53245:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28030,"name":"address","nodeType":"ElementaryTypeName","src":"53245:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28033,"mutability":"mutable","name":"p2","nameLocation":"53262:2:19","nodeType":"VariableDeclaration","scope":28056,"src":"53257:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28032,"name":"bool","nodeType":"ElementaryTypeName","src":"53257:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"53232:33:19"},"returnParameters":{"id":28035,"nodeType":"ParameterList","parameters":[],"src":"53280:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28085,"nodeType":"FunctionDefinition","src":"53970:750:19","nodes":[],"body":{"id":28084,"nodeType":"Block","src":"54033:687:19","nodes":[],"statements":[{"assignments":[28066],"declarations":[{"constant":false,"id":28066,"mutability":"mutable","name":"m0","nameLocation":"54051:2:19","nodeType":"VariableDeclaration","scope":28084,"src":"54043:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28065,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54043:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28067,"nodeType":"VariableDeclarationStatement","src":"54043:10:19"},{"assignments":[28069],"declarations":[{"constant":false,"id":28069,"mutability":"mutable","name":"m1","nameLocation":"54071:2:19","nodeType":"VariableDeclaration","scope":28084,"src":"54063:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28068,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54063:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28070,"nodeType":"VariableDeclarationStatement","src":"54063:10:19"},{"assignments":[28072],"declarations":[{"constant":false,"id":28072,"mutability":"mutable","name":"m2","nameLocation":"54091:2:19","nodeType":"VariableDeclaration","scope":28084,"src":"54083:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28071,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54083:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28073,"nodeType":"VariableDeclarationStatement","src":"54083:10:19"},{"assignments":[28075],"declarations":[{"constant":false,"id":28075,"mutability":"mutable","name":"m3","nameLocation":"54111:2:19","nodeType":"VariableDeclaration","scope":28084,"src":"54103:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28074,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54103:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28076,"nodeType":"VariableDeclarationStatement","src":"54103:10:19"},{"AST":{"nativeSrc":"54175:314:19","nodeType":"YulBlock","src":"54175:314:19","statements":[{"nativeSrc":"54189:17:19","nodeType":"YulAssignment","src":"54189:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"54201:4:19","nodeType":"YulLiteral","src":"54201:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"54195:5:19","nodeType":"YulIdentifier","src":"54195:5:19"},"nativeSrc":"54195:11:19","nodeType":"YulFunctionCall","src":"54195:11:19"},"variableNames":[{"name":"m0","nativeSrc":"54189:2:19","nodeType":"YulIdentifier","src":"54189:2:19"}]},{"nativeSrc":"54219:17:19","nodeType":"YulAssignment","src":"54219:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"54231:4:19","nodeType":"YulLiteral","src":"54231:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"54225:5:19","nodeType":"YulIdentifier","src":"54225:5:19"},"nativeSrc":"54225:11:19","nodeType":"YulFunctionCall","src":"54225:11:19"},"variableNames":[{"name":"m1","nativeSrc":"54219:2:19","nodeType":"YulIdentifier","src":"54219:2:19"}]},{"nativeSrc":"54249:17:19","nodeType":"YulAssignment","src":"54249:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"54261:4:19","nodeType":"YulLiteral","src":"54261:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"54255:5:19","nodeType":"YulIdentifier","src":"54255:5:19"},"nativeSrc":"54255:11:19","nodeType":"YulFunctionCall","src":"54255:11:19"},"variableNames":[{"name":"m2","nativeSrc":"54249:2:19","nodeType":"YulIdentifier","src":"54249:2:19"}]},{"nativeSrc":"54279:17:19","nodeType":"YulAssignment","src":"54279:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"54291:4:19","nodeType":"YulLiteral","src":"54291:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"54285:5:19","nodeType":"YulIdentifier","src":"54285:5:19"},"nativeSrc":"54285:11:19","nodeType":"YulFunctionCall","src":"54285:11:19"},"variableNames":[{"name":"m3","nativeSrc":"54279:2:19","nodeType":"YulIdentifier","src":"54279:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"54375:4:19","nodeType":"YulLiteral","src":"54375:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"54381:10:19","nodeType":"YulLiteral","src":"54381:10:19","type":"","value":"0x5a9b5ed5"}],"functionName":{"name":"mstore","nativeSrc":"54368:6:19","nodeType":"YulIdentifier","src":"54368:6:19"},"nativeSrc":"54368:24:19","nodeType":"YulFunctionCall","src":"54368:24:19"},"nativeSrc":"54368:24:19","nodeType":"YulExpressionStatement","src":"54368:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"54412:4:19","nodeType":"YulLiteral","src":"54412:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"54418:2:19","nodeType":"YulIdentifier","src":"54418:2:19"}],"functionName":{"name":"mstore","nativeSrc":"54405:6:19","nodeType":"YulIdentifier","src":"54405:6:19"},"nativeSrc":"54405:16:19","nodeType":"YulFunctionCall","src":"54405:16:19"},"nativeSrc":"54405:16:19","nodeType":"YulExpressionStatement","src":"54405:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"54441:4:19","nodeType":"YulLiteral","src":"54441:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"54447:2:19","nodeType":"YulIdentifier","src":"54447:2:19"}],"functionName":{"name":"mstore","nativeSrc":"54434:6:19","nodeType":"YulIdentifier","src":"54434:6:19"},"nativeSrc":"54434:16:19","nodeType":"YulFunctionCall","src":"54434:16:19"},"nativeSrc":"54434:16:19","nodeType":"YulExpressionStatement","src":"54434:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"54470:4:19","nodeType":"YulLiteral","src":"54470:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"54476:2:19","nodeType":"YulIdentifier","src":"54476:2:19"}],"functionName":{"name":"mstore","nativeSrc":"54463:6:19","nodeType":"YulIdentifier","src":"54463:6:19"},"nativeSrc":"54463:16:19","nodeType":"YulFunctionCall","src":"54463:16:19"},"nativeSrc":"54463:16:19","nodeType":"YulExpressionStatement","src":"54463:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28066,"isOffset":false,"isSlot":false,"src":"54189:2:19","valueSize":1},{"declaration":28069,"isOffset":false,"isSlot":false,"src":"54219:2:19","valueSize":1},{"declaration":28072,"isOffset":false,"isSlot":false,"src":"54249:2:19","valueSize":1},{"declaration":28075,"isOffset":false,"isSlot":false,"src":"54279:2:19","valueSize":1},{"declaration":28058,"isOffset":false,"isSlot":false,"src":"54418:2:19","valueSize":1},{"declaration":28060,"isOffset":false,"isSlot":false,"src":"54447:2:19","valueSize":1},{"declaration":28062,"isOffset":false,"isSlot":false,"src":"54476:2:19","valueSize":1}],"id":28077,"nodeType":"InlineAssembly","src":"54166:323:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54514:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"54520:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28078,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"54498:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54498:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28082,"nodeType":"ExpressionStatement","src":"54498:27:19"},{"AST":{"nativeSrc":"54587:127:19","nodeType":"YulBlock","src":"54587:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"54608:4:19","nodeType":"YulLiteral","src":"54608:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"54614:2:19","nodeType":"YulIdentifier","src":"54614:2:19"}],"functionName":{"name":"mstore","nativeSrc":"54601:6:19","nodeType":"YulIdentifier","src":"54601:6:19"},"nativeSrc":"54601:16:19","nodeType":"YulFunctionCall","src":"54601:16:19"},"nativeSrc":"54601:16:19","nodeType":"YulExpressionStatement","src":"54601:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"54637:4:19","nodeType":"YulLiteral","src":"54637:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"54643:2:19","nodeType":"YulIdentifier","src":"54643:2:19"}],"functionName":{"name":"mstore","nativeSrc":"54630:6:19","nodeType":"YulIdentifier","src":"54630:6:19"},"nativeSrc":"54630:16:19","nodeType":"YulFunctionCall","src":"54630:16:19"},"nativeSrc":"54630:16:19","nodeType":"YulExpressionStatement","src":"54630:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"54666:4:19","nodeType":"YulLiteral","src":"54666:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"54672:2:19","nodeType":"YulIdentifier","src":"54672:2:19"}],"functionName":{"name":"mstore","nativeSrc":"54659:6:19","nodeType":"YulIdentifier","src":"54659:6:19"},"nativeSrc":"54659:16:19","nodeType":"YulFunctionCall","src":"54659:16:19"},"nativeSrc":"54659:16:19","nodeType":"YulExpressionStatement","src":"54659:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"54695:4:19","nodeType":"YulLiteral","src":"54695:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"54701:2:19","nodeType":"YulIdentifier","src":"54701:2:19"}],"functionName":{"name":"mstore","nativeSrc":"54688:6:19","nodeType":"YulIdentifier","src":"54688:6:19"},"nativeSrc":"54688:16:19","nodeType":"YulFunctionCall","src":"54688:16:19"},"nativeSrc":"54688:16:19","nodeType":"YulExpressionStatement","src":"54688:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28066,"isOffset":false,"isSlot":false,"src":"54614:2:19","valueSize":1},{"declaration":28069,"isOffset":false,"isSlot":false,"src":"54643:2:19","valueSize":1},{"declaration":28072,"isOffset":false,"isSlot":false,"src":"54672:2:19","valueSize":1},{"declaration":28075,"isOffset":false,"isSlot":false,"src":"54701:2:19","valueSize":1}],"id":28083,"nodeType":"InlineAssembly","src":"54578:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53979:3:19","parameters":{"id":28063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28058,"mutability":"mutable","name":"p0","nameLocation":"53991:2:19","nodeType":"VariableDeclaration","scope":28085,"src":"53983:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28057,"name":"uint256","nodeType":"ElementaryTypeName","src":"53983:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28060,"mutability":"mutable","name":"p1","nameLocation":"54003:2:19","nodeType":"VariableDeclaration","scope":28085,"src":"53995:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28059,"name":"address","nodeType":"ElementaryTypeName","src":"53995:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28062,"mutability":"mutable","name":"p2","nameLocation":"54015:2:19","nodeType":"VariableDeclaration","scope":28085,"src":"54007:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28061,"name":"uint256","nodeType":"ElementaryTypeName","src":"54007:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53982:36:19"},"returnParameters":{"id":28064,"nodeType":"ParameterList","parameters":[],"src":"54033:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28120,"nodeType":"FunctionDefinition","src":"54726:1298:19","nodes":[],"body":{"id":28119,"nodeType":"Block","src":"54789:1235:19","nodes":[],"statements":[{"assignments":[28095],"declarations":[{"constant":false,"id":28095,"mutability":"mutable","name":"m0","nameLocation":"54807:2:19","nodeType":"VariableDeclaration","scope":28119,"src":"54799:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28094,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54799:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28096,"nodeType":"VariableDeclarationStatement","src":"54799:10:19"},{"assignments":[28098],"declarations":[{"constant":false,"id":28098,"mutability":"mutable","name":"m1","nameLocation":"54827:2:19","nodeType":"VariableDeclaration","scope":28119,"src":"54819:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28097,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54819:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28099,"nodeType":"VariableDeclarationStatement","src":"54819:10:19"},{"assignments":[28101],"declarations":[{"constant":false,"id":28101,"mutability":"mutable","name":"m2","nameLocation":"54847:2:19","nodeType":"VariableDeclaration","scope":28119,"src":"54839:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28100,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54839:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28102,"nodeType":"VariableDeclarationStatement","src":"54839:10:19"},{"assignments":[28104],"declarations":[{"constant":false,"id":28104,"mutability":"mutable","name":"m3","nameLocation":"54867:2:19","nodeType":"VariableDeclaration","scope":28119,"src":"54859:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28103,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54859:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28105,"nodeType":"VariableDeclarationStatement","src":"54859:10:19"},{"assignments":[28107],"declarations":[{"constant":false,"id":28107,"mutability":"mutable","name":"m4","nameLocation":"54887:2:19","nodeType":"VariableDeclaration","scope":28119,"src":"54879:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28106,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54879:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28108,"nodeType":"VariableDeclarationStatement","src":"54879:10:19"},{"assignments":[28110],"declarations":[{"constant":false,"id":28110,"mutability":"mutable","name":"m5","nameLocation":"54907:2:19","nodeType":"VariableDeclaration","scope":28119,"src":"54899:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28109,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54899:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28111,"nodeType":"VariableDeclarationStatement","src":"54899:10:19"},{"AST":{"nativeSrc":"54971:764:19","nodeType":"YulBlock","src":"54971:764:19","statements":[{"body":{"nativeSrc":"55014:313:19","nodeType":"YulBlock","src":"55014:313:19","statements":[{"nativeSrc":"55032:15:19","nodeType":"YulVariableDeclaration","src":"55032:15:19","value":{"kind":"number","nativeSrc":"55046:1:19","nodeType":"YulLiteral","src":"55046:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"55036:6:19","nodeType":"YulTypedName","src":"55036:6:19","type":""}]},{"body":{"nativeSrc":"55117:40:19","nodeType":"YulBlock","src":"55117:40:19","statements":[{"body":{"nativeSrc":"55146:9:19","nodeType":"YulBlock","src":"55146:9:19","statements":[{"nativeSrc":"55148:5:19","nodeType":"YulBreak","src":"55148:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"55134:6:19","nodeType":"YulIdentifier","src":"55134:6:19"},{"name":"w","nativeSrc":"55142:1:19","nodeType":"YulIdentifier","src":"55142:1:19"}],"functionName":{"name":"byte","nativeSrc":"55129:4:19","nodeType":"YulIdentifier","src":"55129:4:19"},"nativeSrc":"55129:15:19","nodeType":"YulFunctionCall","src":"55129:15:19"}],"functionName":{"name":"iszero","nativeSrc":"55122:6:19","nodeType":"YulIdentifier","src":"55122:6:19"},"nativeSrc":"55122:23:19","nodeType":"YulFunctionCall","src":"55122:23:19"},"nativeSrc":"55119:36:19","nodeType":"YulIf","src":"55119:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"55074:6:19","nodeType":"YulIdentifier","src":"55074:6:19"},{"kind":"number","nativeSrc":"55082:4:19","nodeType":"YulLiteral","src":"55082:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"55071:2:19","nodeType":"YulIdentifier","src":"55071:2:19"},"nativeSrc":"55071:16:19","nodeType":"YulFunctionCall","src":"55071:16:19"},"nativeSrc":"55064:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"55088:28:19","nodeType":"YulBlock","src":"55088:28:19","statements":[{"nativeSrc":"55090:24:19","nodeType":"YulAssignment","src":"55090:24:19","value":{"arguments":[{"name":"length","nativeSrc":"55104:6:19","nodeType":"YulIdentifier","src":"55104:6:19"},{"kind":"number","nativeSrc":"55112:1:19","nodeType":"YulLiteral","src":"55112:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"55100:3:19","nodeType":"YulIdentifier","src":"55100:3:19"},"nativeSrc":"55100:14:19","nodeType":"YulFunctionCall","src":"55100:14:19"},"variableNames":[{"name":"length","nativeSrc":"55090:6:19","nodeType":"YulIdentifier","src":"55090:6:19"}]}]},"pre":{"nativeSrc":"55068:2:19","nodeType":"YulBlock","src":"55068:2:19","statements":[]},"src":"55064:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"55181:3:19","nodeType":"YulIdentifier","src":"55181:3:19"},{"name":"length","nativeSrc":"55186:6:19","nodeType":"YulIdentifier","src":"55186:6:19"}],"functionName":{"name":"mstore","nativeSrc":"55174:6:19","nodeType":"YulIdentifier","src":"55174:6:19"},"nativeSrc":"55174:19:19","nodeType":"YulFunctionCall","src":"55174:19:19"},"nativeSrc":"55174:19:19","nodeType":"YulExpressionStatement","src":"55174:19:19"},{"nativeSrc":"55210:37:19","nodeType":"YulVariableDeclaration","src":"55210:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"55227:3:19","nodeType":"YulLiteral","src":"55227:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"55236:1:19","nodeType":"YulLiteral","src":"55236:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"55239:6:19","nodeType":"YulIdentifier","src":"55239:6:19"}],"functionName":{"name":"shl","nativeSrc":"55232:3:19","nodeType":"YulIdentifier","src":"55232:3:19"},"nativeSrc":"55232:14:19","nodeType":"YulFunctionCall","src":"55232:14:19"}],"functionName":{"name":"sub","nativeSrc":"55223:3:19","nodeType":"YulIdentifier","src":"55223:3:19"},"nativeSrc":"55223:24:19","nodeType":"YulFunctionCall","src":"55223:24:19"},"variables":[{"name":"shift","nativeSrc":"55214:5:19","nodeType":"YulTypedName","src":"55214:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"55275:3:19","nodeType":"YulIdentifier","src":"55275:3:19"},{"kind":"number","nativeSrc":"55280:4:19","nodeType":"YulLiteral","src":"55280:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"55271:3:19","nodeType":"YulIdentifier","src":"55271:3:19"},"nativeSrc":"55271:14:19","nodeType":"YulFunctionCall","src":"55271:14:19"},{"arguments":[{"name":"shift","nativeSrc":"55291:5:19","nodeType":"YulIdentifier","src":"55291:5:19"},{"arguments":[{"name":"shift","nativeSrc":"55302:5:19","nodeType":"YulIdentifier","src":"55302:5:19"},{"name":"w","nativeSrc":"55309:1:19","nodeType":"YulIdentifier","src":"55309:1:19"}],"functionName":{"name":"shr","nativeSrc":"55298:3:19","nodeType":"YulIdentifier","src":"55298:3:19"},"nativeSrc":"55298:13:19","nodeType":"YulFunctionCall","src":"55298:13:19"}],"functionName":{"name":"shl","nativeSrc":"55287:3:19","nodeType":"YulIdentifier","src":"55287:3:19"},"nativeSrc":"55287:25:19","nodeType":"YulFunctionCall","src":"55287:25:19"}],"functionName":{"name":"mstore","nativeSrc":"55264:6:19","nodeType":"YulIdentifier","src":"55264:6:19"},"nativeSrc":"55264:49:19","nodeType":"YulFunctionCall","src":"55264:49:19"},"nativeSrc":"55264:49:19","nodeType":"YulExpressionStatement","src":"55264:49:19"}]},"name":"writeString","nativeSrc":"54985:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"55006:3:19","nodeType":"YulTypedName","src":"55006:3:19","type":""},{"name":"w","nativeSrc":"55011:1:19","nodeType":"YulTypedName","src":"55011:1:19","type":""}],"src":"54985:342:19"},{"nativeSrc":"55340:17:19","nodeType":"YulAssignment","src":"55340:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"55352:4:19","nodeType":"YulLiteral","src":"55352:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"55346:5:19","nodeType":"YulIdentifier","src":"55346:5:19"},"nativeSrc":"55346:11:19","nodeType":"YulFunctionCall","src":"55346:11:19"},"variableNames":[{"name":"m0","nativeSrc":"55340:2:19","nodeType":"YulIdentifier","src":"55340:2:19"}]},{"nativeSrc":"55370:17:19","nodeType":"YulAssignment","src":"55370:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"55382:4:19","nodeType":"YulLiteral","src":"55382:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"55376:5:19","nodeType":"YulIdentifier","src":"55376:5:19"},"nativeSrc":"55376:11:19","nodeType":"YulFunctionCall","src":"55376:11:19"},"variableNames":[{"name":"m1","nativeSrc":"55370:2:19","nodeType":"YulIdentifier","src":"55370:2:19"}]},{"nativeSrc":"55400:17:19","nodeType":"YulAssignment","src":"55400:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"55412:4:19","nodeType":"YulLiteral","src":"55412:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"55406:5:19","nodeType":"YulIdentifier","src":"55406:5:19"},"nativeSrc":"55406:11:19","nodeType":"YulFunctionCall","src":"55406:11:19"},"variableNames":[{"name":"m2","nativeSrc":"55400:2:19","nodeType":"YulIdentifier","src":"55400:2:19"}]},{"nativeSrc":"55430:17:19","nodeType":"YulAssignment","src":"55430:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"55442:4:19","nodeType":"YulLiteral","src":"55442:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"55436:5:19","nodeType":"YulIdentifier","src":"55436:5:19"},"nativeSrc":"55436:11:19","nodeType":"YulFunctionCall","src":"55436:11:19"},"variableNames":[{"name":"m3","nativeSrc":"55430:2:19","nodeType":"YulIdentifier","src":"55430:2:19"}]},{"nativeSrc":"55460:17:19","nodeType":"YulAssignment","src":"55460:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"55472:4:19","nodeType":"YulLiteral","src":"55472:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"55466:5:19","nodeType":"YulIdentifier","src":"55466:5:19"},"nativeSrc":"55466:11:19","nodeType":"YulFunctionCall","src":"55466:11:19"},"variableNames":[{"name":"m4","nativeSrc":"55460:2:19","nodeType":"YulIdentifier","src":"55460:2:19"}]},{"nativeSrc":"55490:17:19","nodeType":"YulAssignment","src":"55490:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"55502:4:19","nodeType":"YulLiteral","src":"55502:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"55496:5:19","nodeType":"YulIdentifier","src":"55496:5:19"},"nativeSrc":"55496:11:19","nodeType":"YulFunctionCall","src":"55496:11:19"},"variableNames":[{"name":"m5","nativeSrc":"55490:2:19","nodeType":"YulIdentifier","src":"55490:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55585:4:19","nodeType":"YulLiteral","src":"55585:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"55591:10:19","nodeType":"YulLiteral","src":"55591:10:19","type":"","value":"0x63cb41f9"}],"functionName":{"name":"mstore","nativeSrc":"55578:6:19","nodeType":"YulIdentifier","src":"55578:6:19"},"nativeSrc":"55578:24:19","nodeType":"YulFunctionCall","src":"55578:24:19"},"nativeSrc":"55578:24:19","nodeType":"YulExpressionStatement","src":"55578:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55622:4:19","nodeType":"YulLiteral","src":"55622:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"55628:2:19","nodeType":"YulIdentifier","src":"55628:2:19"}],"functionName":{"name":"mstore","nativeSrc":"55615:6:19","nodeType":"YulIdentifier","src":"55615:6:19"},"nativeSrc":"55615:16:19","nodeType":"YulFunctionCall","src":"55615:16:19"},"nativeSrc":"55615:16:19","nodeType":"YulExpressionStatement","src":"55615:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55651:4:19","nodeType":"YulLiteral","src":"55651:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"55657:2:19","nodeType":"YulIdentifier","src":"55657:2:19"}],"functionName":{"name":"mstore","nativeSrc":"55644:6:19","nodeType":"YulIdentifier","src":"55644:6:19"},"nativeSrc":"55644:16:19","nodeType":"YulFunctionCall","src":"55644:16:19"},"nativeSrc":"55644:16:19","nodeType":"YulExpressionStatement","src":"55644:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55680:4:19","nodeType":"YulLiteral","src":"55680:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"55686:4:19","nodeType":"YulLiteral","src":"55686:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"55673:6:19","nodeType":"YulIdentifier","src":"55673:6:19"},"nativeSrc":"55673:18:19","nodeType":"YulFunctionCall","src":"55673:18:19"},"nativeSrc":"55673:18:19","nodeType":"YulExpressionStatement","src":"55673:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55716:4:19","nodeType":"YulLiteral","src":"55716:4:19","type":"","value":"0x80"},{"name":"p2","nativeSrc":"55722:2:19","nodeType":"YulIdentifier","src":"55722:2:19"}],"functionName":{"name":"writeString","nativeSrc":"55704:11:19","nodeType":"YulIdentifier","src":"55704:11:19"},"nativeSrc":"55704:21:19","nodeType":"YulFunctionCall","src":"55704:21:19"},"nativeSrc":"55704:21:19","nodeType":"YulExpressionStatement","src":"55704:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28095,"isOffset":false,"isSlot":false,"src":"55340:2:19","valueSize":1},{"declaration":28098,"isOffset":false,"isSlot":false,"src":"55370:2:19","valueSize":1},{"declaration":28101,"isOffset":false,"isSlot":false,"src":"55400:2:19","valueSize":1},{"declaration":28104,"isOffset":false,"isSlot":false,"src":"55430:2:19","valueSize":1},{"declaration":28107,"isOffset":false,"isSlot":false,"src":"55460:2:19","valueSize":1},{"declaration":28110,"isOffset":false,"isSlot":false,"src":"55490:2:19","valueSize":1},{"declaration":28087,"isOffset":false,"isSlot":false,"src":"55628:2:19","valueSize":1},{"declaration":28089,"isOffset":false,"isSlot":false,"src":"55657:2:19","valueSize":1},{"declaration":28091,"isOffset":false,"isSlot":false,"src":"55722:2:19","valueSize":1}],"id":28112,"nodeType":"InlineAssembly","src":"54962:773:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55760:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"55766:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28113,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"55744:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55744:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28117,"nodeType":"ExpressionStatement","src":"55744:27:19"},{"AST":{"nativeSrc":"55833:185:19","nodeType":"YulBlock","src":"55833:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"55854:4:19","nodeType":"YulLiteral","src":"55854:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"55860:2:19","nodeType":"YulIdentifier","src":"55860:2:19"}],"functionName":{"name":"mstore","nativeSrc":"55847:6:19","nodeType":"YulIdentifier","src":"55847:6:19"},"nativeSrc":"55847:16:19","nodeType":"YulFunctionCall","src":"55847:16:19"},"nativeSrc":"55847:16:19","nodeType":"YulExpressionStatement","src":"55847:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55883:4:19","nodeType":"YulLiteral","src":"55883:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"55889:2:19","nodeType":"YulIdentifier","src":"55889:2:19"}],"functionName":{"name":"mstore","nativeSrc":"55876:6:19","nodeType":"YulIdentifier","src":"55876:6:19"},"nativeSrc":"55876:16:19","nodeType":"YulFunctionCall","src":"55876:16:19"},"nativeSrc":"55876:16:19","nodeType":"YulExpressionStatement","src":"55876:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55912:4:19","nodeType":"YulLiteral","src":"55912:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"55918:2:19","nodeType":"YulIdentifier","src":"55918:2:19"}],"functionName":{"name":"mstore","nativeSrc":"55905:6:19","nodeType":"YulIdentifier","src":"55905:6:19"},"nativeSrc":"55905:16:19","nodeType":"YulFunctionCall","src":"55905:16:19"},"nativeSrc":"55905:16:19","nodeType":"YulExpressionStatement","src":"55905:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55941:4:19","nodeType":"YulLiteral","src":"55941:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"55947:2:19","nodeType":"YulIdentifier","src":"55947:2:19"}],"functionName":{"name":"mstore","nativeSrc":"55934:6:19","nodeType":"YulIdentifier","src":"55934:6:19"},"nativeSrc":"55934:16:19","nodeType":"YulFunctionCall","src":"55934:16:19"},"nativeSrc":"55934:16:19","nodeType":"YulExpressionStatement","src":"55934:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55970:4:19","nodeType":"YulLiteral","src":"55970:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"55976:2:19","nodeType":"YulIdentifier","src":"55976:2:19"}],"functionName":{"name":"mstore","nativeSrc":"55963:6:19","nodeType":"YulIdentifier","src":"55963:6:19"},"nativeSrc":"55963:16:19","nodeType":"YulFunctionCall","src":"55963:16:19"},"nativeSrc":"55963:16:19","nodeType":"YulExpressionStatement","src":"55963:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"55999:4:19","nodeType":"YulLiteral","src":"55999:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"56005:2:19","nodeType":"YulIdentifier","src":"56005:2:19"}],"functionName":{"name":"mstore","nativeSrc":"55992:6:19","nodeType":"YulIdentifier","src":"55992:6:19"},"nativeSrc":"55992:16:19","nodeType":"YulFunctionCall","src":"55992:16:19"},"nativeSrc":"55992:16:19","nodeType":"YulExpressionStatement","src":"55992:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28095,"isOffset":false,"isSlot":false,"src":"55860:2:19","valueSize":1},{"declaration":28098,"isOffset":false,"isSlot":false,"src":"55889:2:19","valueSize":1},{"declaration":28101,"isOffset":false,"isSlot":false,"src":"55918:2:19","valueSize":1},{"declaration":28104,"isOffset":false,"isSlot":false,"src":"55947:2:19","valueSize":1},{"declaration":28107,"isOffset":false,"isSlot":false,"src":"55976:2:19","valueSize":1},{"declaration":28110,"isOffset":false,"isSlot":false,"src":"56005:2:19","valueSize":1}],"id":28118,"nodeType":"InlineAssembly","src":"55824:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54735:3:19","parameters":{"id":28092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28087,"mutability":"mutable","name":"p0","nameLocation":"54747:2:19","nodeType":"VariableDeclaration","scope":28120,"src":"54739:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28086,"name":"uint256","nodeType":"ElementaryTypeName","src":"54739:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28089,"mutability":"mutable","name":"p1","nameLocation":"54759:2:19","nodeType":"VariableDeclaration","scope":28120,"src":"54751:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28088,"name":"address","nodeType":"ElementaryTypeName","src":"54751:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28091,"mutability":"mutable","name":"p2","nameLocation":"54771:2:19","nodeType":"VariableDeclaration","scope":28120,"src":"54763:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28090,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54763:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"54738:36:19"},"returnParameters":{"id":28093,"nodeType":"ParameterList","parameters":[],"src":"54789:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28149,"nodeType":"FunctionDefinition","src":"56030:744:19","nodes":[],"body":{"id":28148,"nodeType":"Block","src":"56090:684:19","nodes":[],"statements":[{"assignments":[28130],"declarations":[{"constant":false,"id":28130,"mutability":"mutable","name":"m0","nameLocation":"56108:2:19","nodeType":"VariableDeclaration","scope":28148,"src":"56100:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28129,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56100:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28131,"nodeType":"VariableDeclarationStatement","src":"56100:10:19"},{"assignments":[28133],"declarations":[{"constant":false,"id":28133,"mutability":"mutable","name":"m1","nameLocation":"56128:2:19","nodeType":"VariableDeclaration","scope":28148,"src":"56120:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28132,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56120:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28134,"nodeType":"VariableDeclarationStatement","src":"56120:10:19"},{"assignments":[28136],"declarations":[{"constant":false,"id":28136,"mutability":"mutable","name":"m2","nameLocation":"56148:2:19","nodeType":"VariableDeclaration","scope":28148,"src":"56140:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28135,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56140:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28137,"nodeType":"VariableDeclarationStatement","src":"56140:10:19"},{"assignments":[28139],"declarations":[{"constant":false,"id":28139,"mutability":"mutable","name":"m3","nameLocation":"56168:2:19","nodeType":"VariableDeclaration","scope":28148,"src":"56160:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28138,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56160:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28140,"nodeType":"VariableDeclarationStatement","src":"56160:10:19"},{"AST":{"nativeSrc":"56232:311:19","nodeType":"YulBlock","src":"56232:311:19","statements":[{"nativeSrc":"56246:17:19","nodeType":"YulAssignment","src":"56246:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"56258:4:19","nodeType":"YulLiteral","src":"56258:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"56252:5:19","nodeType":"YulIdentifier","src":"56252:5:19"},"nativeSrc":"56252:11:19","nodeType":"YulFunctionCall","src":"56252:11:19"},"variableNames":[{"name":"m0","nativeSrc":"56246:2:19","nodeType":"YulIdentifier","src":"56246:2:19"}]},{"nativeSrc":"56276:17:19","nodeType":"YulAssignment","src":"56276:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"56288:4:19","nodeType":"YulLiteral","src":"56288:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"56282:5:19","nodeType":"YulIdentifier","src":"56282:5:19"},"nativeSrc":"56282:11:19","nodeType":"YulFunctionCall","src":"56282:11:19"},"variableNames":[{"name":"m1","nativeSrc":"56276:2:19","nodeType":"YulIdentifier","src":"56276:2:19"}]},{"nativeSrc":"56306:17:19","nodeType":"YulAssignment","src":"56306:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"56318:4:19","nodeType":"YulLiteral","src":"56318:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"56312:5:19","nodeType":"YulIdentifier","src":"56312:5:19"},"nativeSrc":"56312:11:19","nodeType":"YulFunctionCall","src":"56312:11:19"},"variableNames":[{"name":"m2","nativeSrc":"56306:2:19","nodeType":"YulIdentifier","src":"56306:2:19"}]},{"nativeSrc":"56336:17:19","nodeType":"YulAssignment","src":"56336:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"56348:4:19","nodeType":"YulLiteral","src":"56348:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"56342:5:19","nodeType":"YulIdentifier","src":"56342:5:19"},"nativeSrc":"56342:11:19","nodeType":"YulFunctionCall","src":"56342:11:19"},"variableNames":[{"name":"m3","nativeSrc":"56336:2:19","nodeType":"YulIdentifier","src":"56336:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"56429:4:19","nodeType":"YulLiteral","src":"56429:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"56435:10:19","nodeType":"YulLiteral","src":"56435:10:19","type":"","value":"0x35085f7b"}],"functionName":{"name":"mstore","nativeSrc":"56422:6:19","nodeType":"YulIdentifier","src":"56422:6:19"},"nativeSrc":"56422:24:19","nodeType":"YulFunctionCall","src":"56422:24:19"},"nativeSrc":"56422:24:19","nodeType":"YulExpressionStatement","src":"56422:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"56466:4:19","nodeType":"YulLiteral","src":"56466:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"56472:2:19","nodeType":"YulIdentifier","src":"56472:2:19"}],"functionName":{"name":"mstore","nativeSrc":"56459:6:19","nodeType":"YulIdentifier","src":"56459:6:19"},"nativeSrc":"56459:16:19","nodeType":"YulFunctionCall","src":"56459:16:19"},"nativeSrc":"56459:16:19","nodeType":"YulExpressionStatement","src":"56459:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"56495:4:19","nodeType":"YulLiteral","src":"56495:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"56501:2:19","nodeType":"YulIdentifier","src":"56501:2:19"}],"functionName":{"name":"mstore","nativeSrc":"56488:6:19","nodeType":"YulIdentifier","src":"56488:6:19"},"nativeSrc":"56488:16:19","nodeType":"YulFunctionCall","src":"56488:16:19"},"nativeSrc":"56488:16:19","nodeType":"YulExpressionStatement","src":"56488:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"56524:4:19","nodeType":"YulLiteral","src":"56524:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"56530:2:19","nodeType":"YulIdentifier","src":"56530:2:19"}],"functionName":{"name":"mstore","nativeSrc":"56517:6:19","nodeType":"YulIdentifier","src":"56517:6:19"},"nativeSrc":"56517:16:19","nodeType":"YulFunctionCall","src":"56517:16:19"},"nativeSrc":"56517:16:19","nodeType":"YulExpressionStatement","src":"56517:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28130,"isOffset":false,"isSlot":false,"src":"56246:2:19","valueSize":1},{"declaration":28133,"isOffset":false,"isSlot":false,"src":"56276:2:19","valueSize":1},{"declaration":28136,"isOffset":false,"isSlot":false,"src":"56306:2:19","valueSize":1},{"declaration":28139,"isOffset":false,"isSlot":false,"src":"56336:2:19","valueSize":1},{"declaration":28122,"isOffset":false,"isSlot":false,"src":"56472:2:19","valueSize":1},{"declaration":28124,"isOffset":false,"isSlot":false,"src":"56501:2:19","valueSize":1},{"declaration":28126,"isOffset":false,"isSlot":false,"src":"56530:2:19","valueSize":1}],"id":28141,"nodeType":"InlineAssembly","src":"56223:320:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"56568:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"56574:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28142,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"56552:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56552:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28146,"nodeType":"ExpressionStatement","src":"56552:27:19"},{"AST":{"nativeSrc":"56641:127:19","nodeType":"YulBlock","src":"56641:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"56662:4:19","nodeType":"YulLiteral","src":"56662:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"56668:2:19","nodeType":"YulIdentifier","src":"56668:2:19"}],"functionName":{"name":"mstore","nativeSrc":"56655:6:19","nodeType":"YulIdentifier","src":"56655:6:19"},"nativeSrc":"56655:16:19","nodeType":"YulFunctionCall","src":"56655:16:19"},"nativeSrc":"56655:16:19","nodeType":"YulExpressionStatement","src":"56655:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"56691:4:19","nodeType":"YulLiteral","src":"56691:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"56697:2:19","nodeType":"YulIdentifier","src":"56697:2:19"}],"functionName":{"name":"mstore","nativeSrc":"56684:6:19","nodeType":"YulIdentifier","src":"56684:6:19"},"nativeSrc":"56684:16:19","nodeType":"YulFunctionCall","src":"56684:16:19"},"nativeSrc":"56684:16:19","nodeType":"YulExpressionStatement","src":"56684:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"56720:4:19","nodeType":"YulLiteral","src":"56720:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"56726:2:19","nodeType":"YulIdentifier","src":"56726:2:19"}],"functionName":{"name":"mstore","nativeSrc":"56713:6:19","nodeType":"YulIdentifier","src":"56713:6:19"},"nativeSrc":"56713:16:19","nodeType":"YulFunctionCall","src":"56713:16:19"},"nativeSrc":"56713:16:19","nodeType":"YulExpressionStatement","src":"56713:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"56749:4:19","nodeType":"YulLiteral","src":"56749:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"56755:2:19","nodeType":"YulIdentifier","src":"56755:2:19"}],"functionName":{"name":"mstore","nativeSrc":"56742:6:19","nodeType":"YulIdentifier","src":"56742:6:19"},"nativeSrc":"56742:16:19","nodeType":"YulFunctionCall","src":"56742:16:19"},"nativeSrc":"56742:16:19","nodeType":"YulExpressionStatement","src":"56742:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28130,"isOffset":false,"isSlot":false,"src":"56668:2:19","valueSize":1},{"declaration":28133,"isOffset":false,"isSlot":false,"src":"56697:2:19","valueSize":1},{"declaration":28136,"isOffset":false,"isSlot":false,"src":"56726:2:19","valueSize":1},{"declaration":28139,"isOffset":false,"isSlot":false,"src":"56755:2:19","valueSize":1}],"id":28147,"nodeType":"InlineAssembly","src":"56632:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56039:3:19","parameters":{"id":28127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28122,"mutability":"mutable","name":"p0","nameLocation":"56051:2:19","nodeType":"VariableDeclaration","scope":28149,"src":"56043:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28121,"name":"uint256","nodeType":"ElementaryTypeName","src":"56043:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28124,"mutability":"mutable","name":"p1","nameLocation":"56060:2:19","nodeType":"VariableDeclaration","scope":28149,"src":"56055:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28123,"name":"bool","nodeType":"ElementaryTypeName","src":"56055:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28126,"mutability":"mutable","name":"p2","nameLocation":"56072:2:19","nodeType":"VariableDeclaration","scope":28149,"src":"56064:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28125,"name":"address","nodeType":"ElementaryTypeName","src":"56064:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"56042:33:19"},"returnParameters":{"id":28128,"nodeType":"ParameterList","parameters":[],"src":"56090:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28178,"nodeType":"FunctionDefinition","src":"56780:738:19","nodes":[],"body":{"id":28177,"nodeType":"Block","src":"56837:681:19","nodes":[],"statements":[{"assignments":[28159],"declarations":[{"constant":false,"id":28159,"mutability":"mutable","name":"m0","nameLocation":"56855:2:19","nodeType":"VariableDeclaration","scope":28177,"src":"56847:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28158,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56847:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28160,"nodeType":"VariableDeclarationStatement","src":"56847:10:19"},{"assignments":[28162],"declarations":[{"constant":false,"id":28162,"mutability":"mutable","name":"m1","nameLocation":"56875:2:19","nodeType":"VariableDeclaration","scope":28177,"src":"56867:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28161,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56867:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28163,"nodeType":"VariableDeclarationStatement","src":"56867:10:19"},{"assignments":[28165],"declarations":[{"constant":false,"id":28165,"mutability":"mutable","name":"m2","nameLocation":"56895:2:19","nodeType":"VariableDeclaration","scope":28177,"src":"56887:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28164,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56887:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28166,"nodeType":"VariableDeclarationStatement","src":"56887:10:19"},{"assignments":[28168],"declarations":[{"constant":false,"id":28168,"mutability":"mutable","name":"m3","nameLocation":"56915:2:19","nodeType":"VariableDeclaration","scope":28177,"src":"56907:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28167,"name":"bytes32","nodeType":"ElementaryTypeName","src":"56907:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28169,"nodeType":"VariableDeclarationStatement","src":"56907:10:19"},{"AST":{"nativeSrc":"56979:308:19","nodeType":"YulBlock","src":"56979:308:19","statements":[{"nativeSrc":"56993:17:19","nodeType":"YulAssignment","src":"56993:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"57005:4:19","nodeType":"YulLiteral","src":"57005:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"56999:5:19","nodeType":"YulIdentifier","src":"56999:5:19"},"nativeSrc":"56999:11:19","nodeType":"YulFunctionCall","src":"56999:11:19"},"variableNames":[{"name":"m0","nativeSrc":"56993:2:19","nodeType":"YulIdentifier","src":"56993:2:19"}]},{"nativeSrc":"57023:17:19","nodeType":"YulAssignment","src":"57023:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"57035:4:19","nodeType":"YulLiteral","src":"57035:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"57029:5:19","nodeType":"YulIdentifier","src":"57029:5:19"},"nativeSrc":"57029:11:19","nodeType":"YulFunctionCall","src":"57029:11:19"},"variableNames":[{"name":"m1","nativeSrc":"57023:2:19","nodeType":"YulIdentifier","src":"57023:2:19"}]},{"nativeSrc":"57053:17:19","nodeType":"YulAssignment","src":"57053:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"57065:4:19","nodeType":"YulLiteral","src":"57065:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"57059:5:19","nodeType":"YulIdentifier","src":"57059:5:19"},"nativeSrc":"57059:11:19","nodeType":"YulFunctionCall","src":"57059:11:19"},"variableNames":[{"name":"m2","nativeSrc":"57053:2:19","nodeType":"YulIdentifier","src":"57053:2:19"}]},{"nativeSrc":"57083:17:19","nodeType":"YulAssignment","src":"57083:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"57095:4:19","nodeType":"YulLiteral","src":"57095:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"57089:5:19","nodeType":"YulIdentifier","src":"57089:5:19"},"nativeSrc":"57089:11:19","nodeType":"YulFunctionCall","src":"57089:11:19"},"variableNames":[{"name":"m3","nativeSrc":"57083:2:19","nodeType":"YulIdentifier","src":"57083:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57173:4:19","nodeType":"YulLiteral","src":"57173:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"57179:10:19","nodeType":"YulLiteral","src":"57179:10:19","type":"","value":"0x20718650"}],"functionName":{"name":"mstore","nativeSrc":"57166:6:19","nodeType":"YulIdentifier","src":"57166:6:19"},"nativeSrc":"57166:24:19","nodeType":"YulFunctionCall","src":"57166:24:19"},"nativeSrc":"57166:24:19","nodeType":"YulExpressionStatement","src":"57166:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57210:4:19","nodeType":"YulLiteral","src":"57210:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"57216:2:19","nodeType":"YulIdentifier","src":"57216:2:19"}],"functionName":{"name":"mstore","nativeSrc":"57203:6:19","nodeType":"YulIdentifier","src":"57203:6:19"},"nativeSrc":"57203:16:19","nodeType":"YulFunctionCall","src":"57203:16:19"},"nativeSrc":"57203:16:19","nodeType":"YulExpressionStatement","src":"57203:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57239:4:19","nodeType":"YulLiteral","src":"57239:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"57245:2:19","nodeType":"YulIdentifier","src":"57245:2:19"}],"functionName":{"name":"mstore","nativeSrc":"57232:6:19","nodeType":"YulIdentifier","src":"57232:6:19"},"nativeSrc":"57232:16:19","nodeType":"YulFunctionCall","src":"57232:16:19"},"nativeSrc":"57232:16:19","nodeType":"YulExpressionStatement","src":"57232:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57268:4:19","nodeType":"YulLiteral","src":"57268:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"57274:2:19","nodeType":"YulIdentifier","src":"57274:2:19"}],"functionName":{"name":"mstore","nativeSrc":"57261:6:19","nodeType":"YulIdentifier","src":"57261:6:19"},"nativeSrc":"57261:16:19","nodeType":"YulFunctionCall","src":"57261:16:19"},"nativeSrc":"57261:16:19","nodeType":"YulExpressionStatement","src":"57261:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28159,"isOffset":false,"isSlot":false,"src":"56993:2:19","valueSize":1},{"declaration":28162,"isOffset":false,"isSlot":false,"src":"57023:2:19","valueSize":1},{"declaration":28165,"isOffset":false,"isSlot":false,"src":"57053:2:19","valueSize":1},{"declaration":28168,"isOffset":false,"isSlot":false,"src":"57083:2:19","valueSize":1},{"declaration":28151,"isOffset":false,"isSlot":false,"src":"57216:2:19","valueSize":1},{"declaration":28153,"isOffset":false,"isSlot":false,"src":"57245:2:19","valueSize":1},{"declaration":28155,"isOffset":false,"isSlot":false,"src":"57274:2:19","valueSize":1}],"id":28170,"nodeType":"InlineAssembly","src":"56970:317:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"57312:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"57318:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28171,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"57296:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57296:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28175,"nodeType":"ExpressionStatement","src":"57296:27:19"},{"AST":{"nativeSrc":"57385:127:19","nodeType":"YulBlock","src":"57385:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"57406:4:19","nodeType":"YulLiteral","src":"57406:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"57412:2:19","nodeType":"YulIdentifier","src":"57412:2:19"}],"functionName":{"name":"mstore","nativeSrc":"57399:6:19","nodeType":"YulIdentifier","src":"57399:6:19"},"nativeSrc":"57399:16:19","nodeType":"YulFunctionCall","src":"57399:16:19"},"nativeSrc":"57399:16:19","nodeType":"YulExpressionStatement","src":"57399:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57435:4:19","nodeType":"YulLiteral","src":"57435:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"57441:2:19","nodeType":"YulIdentifier","src":"57441:2:19"}],"functionName":{"name":"mstore","nativeSrc":"57428:6:19","nodeType":"YulIdentifier","src":"57428:6:19"},"nativeSrc":"57428:16:19","nodeType":"YulFunctionCall","src":"57428:16:19"},"nativeSrc":"57428:16:19","nodeType":"YulExpressionStatement","src":"57428:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57464:4:19","nodeType":"YulLiteral","src":"57464:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"57470:2:19","nodeType":"YulIdentifier","src":"57470:2:19"}],"functionName":{"name":"mstore","nativeSrc":"57457:6:19","nodeType":"YulIdentifier","src":"57457:6:19"},"nativeSrc":"57457:16:19","nodeType":"YulFunctionCall","src":"57457:16:19"},"nativeSrc":"57457:16:19","nodeType":"YulExpressionStatement","src":"57457:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57493:4:19","nodeType":"YulLiteral","src":"57493:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"57499:2:19","nodeType":"YulIdentifier","src":"57499:2:19"}],"functionName":{"name":"mstore","nativeSrc":"57486:6:19","nodeType":"YulIdentifier","src":"57486:6:19"},"nativeSrc":"57486:16:19","nodeType":"YulFunctionCall","src":"57486:16:19"},"nativeSrc":"57486:16:19","nodeType":"YulExpressionStatement","src":"57486:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28159,"isOffset":false,"isSlot":false,"src":"57412:2:19","valueSize":1},{"declaration":28162,"isOffset":false,"isSlot":false,"src":"57441:2:19","valueSize":1},{"declaration":28165,"isOffset":false,"isSlot":false,"src":"57470:2:19","valueSize":1},{"declaration":28168,"isOffset":false,"isSlot":false,"src":"57499:2:19","valueSize":1}],"id":28176,"nodeType":"InlineAssembly","src":"57376:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56789:3:19","parameters":{"id":28156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28151,"mutability":"mutable","name":"p0","nameLocation":"56801:2:19","nodeType":"VariableDeclaration","scope":28178,"src":"56793:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28150,"name":"uint256","nodeType":"ElementaryTypeName","src":"56793:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28153,"mutability":"mutable","name":"p1","nameLocation":"56810:2:19","nodeType":"VariableDeclaration","scope":28178,"src":"56805:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28152,"name":"bool","nodeType":"ElementaryTypeName","src":"56805:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28155,"mutability":"mutable","name":"p2","nameLocation":"56819:2:19","nodeType":"VariableDeclaration","scope":28178,"src":"56814:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28154,"name":"bool","nodeType":"ElementaryTypeName","src":"56814:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"56792:30:19"},"returnParameters":{"id":28157,"nodeType":"ParameterList","parameters":[],"src":"56837:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28207,"nodeType":"FunctionDefinition","src":"57524:744:19","nodes":[],"body":{"id":28206,"nodeType":"Block","src":"57584:684:19","nodes":[],"statements":[{"assignments":[28188],"declarations":[{"constant":false,"id":28188,"mutability":"mutable","name":"m0","nameLocation":"57602:2:19","nodeType":"VariableDeclaration","scope":28206,"src":"57594:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28187,"name":"bytes32","nodeType":"ElementaryTypeName","src":"57594:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28189,"nodeType":"VariableDeclarationStatement","src":"57594:10:19"},{"assignments":[28191],"declarations":[{"constant":false,"id":28191,"mutability":"mutable","name":"m1","nameLocation":"57622:2:19","nodeType":"VariableDeclaration","scope":28206,"src":"57614:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28190,"name":"bytes32","nodeType":"ElementaryTypeName","src":"57614:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28192,"nodeType":"VariableDeclarationStatement","src":"57614:10:19"},{"assignments":[28194],"declarations":[{"constant":false,"id":28194,"mutability":"mutable","name":"m2","nameLocation":"57642:2:19","nodeType":"VariableDeclaration","scope":28206,"src":"57634:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28193,"name":"bytes32","nodeType":"ElementaryTypeName","src":"57634:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28195,"nodeType":"VariableDeclarationStatement","src":"57634:10:19"},{"assignments":[28197],"declarations":[{"constant":false,"id":28197,"mutability":"mutable","name":"m3","nameLocation":"57662:2:19","nodeType":"VariableDeclaration","scope":28206,"src":"57654:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28196,"name":"bytes32","nodeType":"ElementaryTypeName","src":"57654:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28198,"nodeType":"VariableDeclarationStatement","src":"57654:10:19"},{"AST":{"nativeSrc":"57726:311:19","nodeType":"YulBlock","src":"57726:311:19","statements":[{"nativeSrc":"57740:17:19","nodeType":"YulAssignment","src":"57740:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"57752:4:19","nodeType":"YulLiteral","src":"57752:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"57746:5:19","nodeType":"YulIdentifier","src":"57746:5:19"},"nativeSrc":"57746:11:19","nodeType":"YulFunctionCall","src":"57746:11:19"},"variableNames":[{"name":"m0","nativeSrc":"57740:2:19","nodeType":"YulIdentifier","src":"57740:2:19"}]},{"nativeSrc":"57770:17:19","nodeType":"YulAssignment","src":"57770:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"57782:4:19","nodeType":"YulLiteral","src":"57782:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"57776:5:19","nodeType":"YulIdentifier","src":"57776:5:19"},"nativeSrc":"57776:11:19","nodeType":"YulFunctionCall","src":"57776:11:19"},"variableNames":[{"name":"m1","nativeSrc":"57770:2:19","nodeType":"YulIdentifier","src":"57770:2:19"}]},{"nativeSrc":"57800:17:19","nodeType":"YulAssignment","src":"57800:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"57812:4:19","nodeType":"YulLiteral","src":"57812:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"57806:5:19","nodeType":"YulIdentifier","src":"57806:5:19"},"nativeSrc":"57806:11:19","nodeType":"YulFunctionCall","src":"57806:11:19"},"variableNames":[{"name":"m2","nativeSrc":"57800:2:19","nodeType":"YulIdentifier","src":"57800:2:19"}]},{"nativeSrc":"57830:17:19","nodeType":"YulAssignment","src":"57830:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"57842:4:19","nodeType":"YulLiteral","src":"57842:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"57836:5:19","nodeType":"YulIdentifier","src":"57836:5:19"},"nativeSrc":"57836:11:19","nodeType":"YulFunctionCall","src":"57836:11:19"},"variableNames":[{"name":"m3","nativeSrc":"57830:2:19","nodeType":"YulIdentifier","src":"57830:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57923:4:19","nodeType":"YulLiteral","src":"57923:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"57929:10:19","nodeType":"YulLiteral","src":"57929:10:19","type":"","value":"0x20098014"}],"functionName":{"name":"mstore","nativeSrc":"57916:6:19","nodeType":"YulIdentifier","src":"57916:6:19"},"nativeSrc":"57916:24:19","nodeType":"YulFunctionCall","src":"57916:24:19"},"nativeSrc":"57916:24:19","nodeType":"YulExpressionStatement","src":"57916:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57960:4:19","nodeType":"YulLiteral","src":"57960:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"57966:2:19","nodeType":"YulIdentifier","src":"57966:2:19"}],"functionName":{"name":"mstore","nativeSrc":"57953:6:19","nodeType":"YulIdentifier","src":"57953:6:19"},"nativeSrc":"57953:16:19","nodeType":"YulFunctionCall","src":"57953:16:19"},"nativeSrc":"57953:16:19","nodeType":"YulExpressionStatement","src":"57953:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"57989:4:19","nodeType":"YulLiteral","src":"57989:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"57995:2:19","nodeType":"YulIdentifier","src":"57995:2:19"}],"functionName":{"name":"mstore","nativeSrc":"57982:6:19","nodeType":"YulIdentifier","src":"57982:6:19"},"nativeSrc":"57982:16:19","nodeType":"YulFunctionCall","src":"57982:16:19"},"nativeSrc":"57982:16:19","nodeType":"YulExpressionStatement","src":"57982:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"58018:4:19","nodeType":"YulLiteral","src":"58018:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"58024:2:19","nodeType":"YulIdentifier","src":"58024:2:19"}],"functionName":{"name":"mstore","nativeSrc":"58011:6:19","nodeType":"YulIdentifier","src":"58011:6:19"},"nativeSrc":"58011:16:19","nodeType":"YulFunctionCall","src":"58011:16:19"},"nativeSrc":"58011:16:19","nodeType":"YulExpressionStatement","src":"58011:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28188,"isOffset":false,"isSlot":false,"src":"57740:2:19","valueSize":1},{"declaration":28191,"isOffset":false,"isSlot":false,"src":"57770:2:19","valueSize":1},{"declaration":28194,"isOffset":false,"isSlot":false,"src":"57800:2:19","valueSize":1},{"declaration":28197,"isOffset":false,"isSlot":false,"src":"57830:2:19","valueSize":1},{"declaration":28180,"isOffset":false,"isSlot":false,"src":"57966:2:19","valueSize":1},{"declaration":28182,"isOffset":false,"isSlot":false,"src":"57995:2:19","valueSize":1},{"declaration":28184,"isOffset":false,"isSlot":false,"src":"58024:2:19","valueSize":1}],"id":28199,"nodeType":"InlineAssembly","src":"57717:320:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"58062:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"58068:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28200,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"58046:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58046:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28204,"nodeType":"ExpressionStatement","src":"58046:27:19"},{"AST":{"nativeSrc":"58135:127:19","nodeType":"YulBlock","src":"58135:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"58156:4:19","nodeType":"YulLiteral","src":"58156:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"58162:2:19","nodeType":"YulIdentifier","src":"58162:2:19"}],"functionName":{"name":"mstore","nativeSrc":"58149:6:19","nodeType":"YulIdentifier","src":"58149:6:19"},"nativeSrc":"58149:16:19","nodeType":"YulFunctionCall","src":"58149:16:19"},"nativeSrc":"58149:16:19","nodeType":"YulExpressionStatement","src":"58149:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"58185:4:19","nodeType":"YulLiteral","src":"58185:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"58191:2:19","nodeType":"YulIdentifier","src":"58191:2:19"}],"functionName":{"name":"mstore","nativeSrc":"58178:6:19","nodeType":"YulIdentifier","src":"58178:6:19"},"nativeSrc":"58178:16:19","nodeType":"YulFunctionCall","src":"58178:16:19"},"nativeSrc":"58178:16:19","nodeType":"YulExpressionStatement","src":"58178:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"58214:4:19","nodeType":"YulLiteral","src":"58214:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"58220:2:19","nodeType":"YulIdentifier","src":"58220:2:19"}],"functionName":{"name":"mstore","nativeSrc":"58207:6:19","nodeType":"YulIdentifier","src":"58207:6:19"},"nativeSrc":"58207:16:19","nodeType":"YulFunctionCall","src":"58207:16:19"},"nativeSrc":"58207:16:19","nodeType":"YulExpressionStatement","src":"58207:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"58243:4:19","nodeType":"YulLiteral","src":"58243:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"58249:2:19","nodeType":"YulIdentifier","src":"58249:2:19"}],"functionName":{"name":"mstore","nativeSrc":"58236:6:19","nodeType":"YulIdentifier","src":"58236:6:19"},"nativeSrc":"58236:16:19","nodeType":"YulFunctionCall","src":"58236:16:19"},"nativeSrc":"58236:16:19","nodeType":"YulExpressionStatement","src":"58236:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28188,"isOffset":false,"isSlot":false,"src":"58162:2:19","valueSize":1},{"declaration":28191,"isOffset":false,"isSlot":false,"src":"58191:2:19","valueSize":1},{"declaration":28194,"isOffset":false,"isSlot":false,"src":"58220:2:19","valueSize":1},{"declaration":28197,"isOffset":false,"isSlot":false,"src":"58249:2:19","valueSize":1}],"id":28205,"nodeType":"InlineAssembly","src":"58126:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57533:3:19","parameters":{"id":28185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28180,"mutability":"mutable","name":"p0","nameLocation":"57545:2:19","nodeType":"VariableDeclaration","scope":28207,"src":"57537:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28179,"name":"uint256","nodeType":"ElementaryTypeName","src":"57537:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28182,"mutability":"mutable","name":"p1","nameLocation":"57554:2:19","nodeType":"VariableDeclaration","scope":28207,"src":"57549:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28181,"name":"bool","nodeType":"ElementaryTypeName","src":"57549:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28184,"mutability":"mutable","name":"p2","nameLocation":"57566:2:19","nodeType":"VariableDeclaration","scope":28207,"src":"57558:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28183,"name":"uint256","nodeType":"ElementaryTypeName","src":"57558:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"57536:33:19"},"returnParameters":{"id":28186,"nodeType":"ParameterList","parameters":[],"src":"57584:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28242,"nodeType":"FunctionDefinition","src":"58274:1292:19","nodes":[],"body":{"id":28241,"nodeType":"Block","src":"58334:1232:19","nodes":[],"statements":[{"assignments":[28217],"declarations":[{"constant":false,"id":28217,"mutability":"mutable","name":"m0","nameLocation":"58352:2:19","nodeType":"VariableDeclaration","scope":28241,"src":"58344:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28216,"name":"bytes32","nodeType":"ElementaryTypeName","src":"58344:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28218,"nodeType":"VariableDeclarationStatement","src":"58344:10:19"},{"assignments":[28220],"declarations":[{"constant":false,"id":28220,"mutability":"mutable","name":"m1","nameLocation":"58372:2:19","nodeType":"VariableDeclaration","scope":28241,"src":"58364:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28219,"name":"bytes32","nodeType":"ElementaryTypeName","src":"58364:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28221,"nodeType":"VariableDeclarationStatement","src":"58364:10:19"},{"assignments":[28223],"declarations":[{"constant":false,"id":28223,"mutability":"mutable","name":"m2","nameLocation":"58392:2:19","nodeType":"VariableDeclaration","scope":28241,"src":"58384:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28222,"name":"bytes32","nodeType":"ElementaryTypeName","src":"58384:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28224,"nodeType":"VariableDeclarationStatement","src":"58384:10:19"},{"assignments":[28226],"declarations":[{"constant":false,"id":28226,"mutability":"mutable","name":"m3","nameLocation":"58412:2:19","nodeType":"VariableDeclaration","scope":28241,"src":"58404:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28225,"name":"bytes32","nodeType":"ElementaryTypeName","src":"58404:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28227,"nodeType":"VariableDeclarationStatement","src":"58404:10:19"},{"assignments":[28229],"declarations":[{"constant":false,"id":28229,"mutability":"mutable","name":"m4","nameLocation":"58432:2:19","nodeType":"VariableDeclaration","scope":28241,"src":"58424:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28228,"name":"bytes32","nodeType":"ElementaryTypeName","src":"58424:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28230,"nodeType":"VariableDeclarationStatement","src":"58424:10:19"},{"assignments":[28232],"declarations":[{"constant":false,"id":28232,"mutability":"mutable","name":"m5","nameLocation":"58452:2:19","nodeType":"VariableDeclaration","scope":28241,"src":"58444:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28231,"name":"bytes32","nodeType":"ElementaryTypeName","src":"58444:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28233,"nodeType":"VariableDeclarationStatement","src":"58444:10:19"},{"AST":{"nativeSrc":"58516:761:19","nodeType":"YulBlock","src":"58516:761:19","statements":[{"body":{"nativeSrc":"58559:313:19","nodeType":"YulBlock","src":"58559:313:19","statements":[{"nativeSrc":"58577:15:19","nodeType":"YulVariableDeclaration","src":"58577:15:19","value":{"kind":"number","nativeSrc":"58591:1:19","nodeType":"YulLiteral","src":"58591:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"58581:6:19","nodeType":"YulTypedName","src":"58581:6:19","type":""}]},{"body":{"nativeSrc":"58662:40:19","nodeType":"YulBlock","src":"58662:40:19","statements":[{"body":{"nativeSrc":"58691:9:19","nodeType":"YulBlock","src":"58691:9:19","statements":[{"nativeSrc":"58693:5:19","nodeType":"YulBreak","src":"58693:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"58679:6:19","nodeType":"YulIdentifier","src":"58679:6:19"},{"name":"w","nativeSrc":"58687:1:19","nodeType":"YulIdentifier","src":"58687:1:19"}],"functionName":{"name":"byte","nativeSrc":"58674:4:19","nodeType":"YulIdentifier","src":"58674:4:19"},"nativeSrc":"58674:15:19","nodeType":"YulFunctionCall","src":"58674:15:19"}],"functionName":{"name":"iszero","nativeSrc":"58667:6:19","nodeType":"YulIdentifier","src":"58667:6:19"},"nativeSrc":"58667:23:19","nodeType":"YulFunctionCall","src":"58667:23:19"},"nativeSrc":"58664:36:19","nodeType":"YulIf","src":"58664:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"58619:6:19","nodeType":"YulIdentifier","src":"58619:6:19"},{"kind":"number","nativeSrc":"58627:4:19","nodeType":"YulLiteral","src":"58627:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"58616:2:19","nodeType":"YulIdentifier","src":"58616:2:19"},"nativeSrc":"58616:16:19","nodeType":"YulFunctionCall","src":"58616:16:19"},"nativeSrc":"58609:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"58633:28:19","nodeType":"YulBlock","src":"58633:28:19","statements":[{"nativeSrc":"58635:24:19","nodeType":"YulAssignment","src":"58635:24:19","value":{"arguments":[{"name":"length","nativeSrc":"58649:6:19","nodeType":"YulIdentifier","src":"58649:6:19"},{"kind":"number","nativeSrc":"58657:1:19","nodeType":"YulLiteral","src":"58657:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"58645:3:19","nodeType":"YulIdentifier","src":"58645:3:19"},"nativeSrc":"58645:14:19","nodeType":"YulFunctionCall","src":"58645:14:19"},"variableNames":[{"name":"length","nativeSrc":"58635:6:19","nodeType":"YulIdentifier","src":"58635:6:19"}]}]},"pre":{"nativeSrc":"58613:2:19","nodeType":"YulBlock","src":"58613:2:19","statements":[]},"src":"58609:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"58726:3:19","nodeType":"YulIdentifier","src":"58726:3:19"},{"name":"length","nativeSrc":"58731:6:19","nodeType":"YulIdentifier","src":"58731:6:19"}],"functionName":{"name":"mstore","nativeSrc":"58719:6:19","nodeType":"YulIdentifier","src":"58719:6:19"},"nativeSrc":"58719:19:19","nodeType":"YulFunctionCall","src":"58719:19:19"},"nativeSrc":"58719:19:19","nodeType":"YulExpressionStatement","src":"58719:19:19"},{"nativeSrc":"58755:37:19","nodeType":"YulVariableDeclaration","src":"58755:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"58772:3:19","nodeType":"YulLiteral","src":"58772:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"58781:1:19","nodeType":"YulLiteral","src":"58781:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"58784:6:19","nodeType":"YulIdentifier","src":"58784:6:19"}],"functionName":{"name":"shl","nativeSrc":"58777:3:19","nodeType":"YulIdentifier","src":"58777:3:19"},"nativeSrc":"58777:14:19","nodeType":"YulFunctionCall","src":"58777:14:19"}],"functionName":{"name":"sub","nativeSrc":"58768:3:19","nodeType":"YulIdentifier","src":"58768:3:19"},"nativeSrc":"58768:24:19","nodeType":"YulFunctionCall","src":"58768:24:19"},"variables":[{"name":"shift","nativeSrc":"58759:5:19","nodeType":"YulTypedName","src":"58759:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"58820:3:19","nodeType":"YulIdentifier","src":"58820:3:19"},{"kind":"number","nativeSrc":"58825:4:19","nodeType":"YulLiteral","src":"58825:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"58816:3:19","nodeType":"YulIdentifier","src":"58816:3:19"},"nativeSrc":"58816:14:19","nodeType":"YulFunctionCall","src":"58816:14:19"},{"arguments":[{"name":"shift","nativeSrc":"58836:5:19","nodeType":"YulIdentifier","src":"58836:5:19"},{"arguments":[{"name":"shift","nativeSrc":"58847:5:19","nodeType":"YulIdentifier","src":"58847:5:19"},{"name":"w","nativeSrc":"58854:1:19","nodeType":"YulIdentifier","src":"58854:1:19"}],"functionName":{"name":"shr","nativeSrc":"58843:3:19","nodeType":"YulIdentifier","src":"58843:3:19"},"nativeSrc":"58843:13:19","nodeType":"YulFunctionCall","src":"58843:13:19"}],"functionName":{"name":"shl","nativeSrc":"58832:3:19","nodeType":"YulIdentifier","src":"58832:3:19"},"nativeSrc":"58832:25:19","nodeType":"YulFunctionCall","src":"58832:25:19"}],"functionName":{"name":"mstore","nativeSrc":"58809:6:19","nodeType":"YulIdentifier","src":"58809:6:19"},"nativeSrc":"58809:49:19","nodeType":"YulFunctionCall","src":"58809:49:19"},"nativeSrc":"58809:49:19","nodeType":"YulExpressionStatement","src":"58809:49:19"}]},"name":"writeString","nativeSrc":"58530:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"58551:3:19","nodeType":"YulTypedName","src":"58551:3:19","type":""},{"name":"w","nativeSrc":"58556:1:19","nodeType":"YulTypedName","src":"58556:1:19","type":""}],"src":"58530:342:19"},{"nativeSrc":"58885:17:19","nodeType":"YulAssignment","src":"58885:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"58897:4:19","nodeType":"YulLiteral","src":"58897:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"58891:5:19","nodeType":"YulIdentifier","src":"58891:5:19"},"nativeSrc":"58891:11:19","nodeType":"YulFunctionCall","src":"58891:11:19"},"variableNames":[{"name":"m0","nativeSrc":"58885:2:19","nodeType":"YulIdentifier","src":"58885:2:19"}]},{"nativeSrc":"58915:17:19","nodeType":"YulAssignment","src":"58915:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"58927:4:19","nodeType":"YulLiteral","src":"58927:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"58921:5:19","nodeType":"YulIdentifier","src":"58921:5:19"},"nativeSrc":"58921:11:19","nodeType":"YulFunctionCall","src":"58921:11:19"},"variableNames":[{"name":"m1","nativeSrc":"58915:2:19","nodeType":"YulIdentifier","src":"58915:2:19"}]},{"nativeSrc":"58945:17:19","nodeType":"YulAssignment","src":"58945:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"58957:4:19","nodeType":"YulLiteral","src":"58957:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"58951:5:19","nodeType":"YulIdentifier","src":"58951:5:19"},"nativeSrc":"58951:11:19","nodeType":"YulFunctionCall","src":"58951:11:19"},"variableNames":[{"name":"m2","nativeSrc":"58945:2:19","nodeType":"YulIdentifier","src":"58945:2:19"}]},{"nativeSrc":"58975:17:19","nodeType":"YulAssignment","src":"58975:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"58987:4:19","nodeType":"YulLiteral","src":"58987:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"58981:5:19","nodeType":"YulIdentifier","src":"58981:5:19"},"nativeSrc":"58981:11:19","nodeType":"YulFunctionCall","src":"58981:11:19"},"variableNames":[{"name":"m3","nativeSrc":"58975:2:19","nodeType":"YulIdentifier","src":"58975:2:19"}]},{"nativeSrc":"59005:17:19","nodeType":"YulAssignment","src":"59005:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"59017:4:19","nodeType":"YulLiteral","src":"59017:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"59011:5:19","nodeType":"YulIdentifier","src":"59011:5:19"},"nativeSrc":"59011:11:19","nodeType":"YulFunctionCall","src":"59011:11:19"},"variableNames":[{"name":"m4","nativeSrc":"59005:2:19","nodeType":"YulIdentifier","src":"59005:2:19"}]},{"nativeSrc":"59035:17:19","nodeType":"YulAssignment","src":"59035:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"59047:4:19","nodeType":"YulLiteral","src":"59047:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"59041:5:19","nodeType":"YulIdentifier","src":"59041:5:19"},"nativeSrc":"59041:11:19","nodeType":"YulFunctionCall","src":"59041:11:19"},"variableNames":[{"name":"m5","nativeSrc":"59035:2:19","nodeType":"YulIdentifier","src":"59035:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59127:4:19","nodeType":"YulLiteral","src":"59127:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"59133:10:19","nodeType":"YulLiteral","src":"59133:10:19","type":"","value":"0x85775021"}],"functionName":{"name":"mstore","nativeSrc":"59120:6:19","nodeType":"YulIdentifier","src":"59120:6:19"},"nativeSrc":"59120:24:19","nodeType":"YulFunctionCall","src":"59120:24:19"},"nativeSrc":"59120:24:19","nodeType":"YulExpressionStatement","src":"59120:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59164:4:19","nodeType":"YulLiteral","src":"59164:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"59170:2:19","nodeType":"YulIdentifier","src":"59170:2:19"}],"functionName":{"name":"mstore","nativeSrc":"59157:6:19","nodeType":"YulIdentifier","src":"59157:6:19"},"nativeSrc":"59157:16:19","nodeType":"YulFunctionCall","src":"59157:16:19"},"nativeSrc":"59157:16:19","nodeType":"YulExpressionStatement","src":"59157:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59193:4:19","nodeType":"YulLiteral","src":"59193:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"59199:2:19","nodeType":"YulIdentifier","src":"59199:2:19"}],"functionName":{"name":"mstore","nativeSrc":"59186:6:19","nodeType":"YulIdentifier","src":"59186:6:19"},"nativeSrc":"59186:16:19","nodeType":"YulFunctionCall","src":"59186:16:19"},"nativeSrc":"59186:16:19","nodeType":"YulExpressionStatement","src":"59186:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59222:4:19","nodeType":"YulLiteral","src":"59222:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"59228:4:19","nodeType":"YulLiteral","src":"59228:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"59215:6:19","nodeType":"YulIdentifier","src":"59215:6:19"},"nativeSrc":"59215:18:19","nodeType":"YulFunctionCall","src":"59215:18:19"},"nativeSrc":"59215:18:19","nodeType":"YulExpressionStatement","src":"59215:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59258:4:19","nodeType":"YulLiteral","src":"59258:4:19","type":"","value":"0x80"},{"name":"p2","nativeSrc":"59264:2:19","nodeType":"YulIdentifier","src":"59264:2:19"}],"functionName":{"name":"writeString","nativeSrc":"59246:11:19","nodeType":"YulIdentifier","src":"59246:11:19"},"nativeSrc":"59246:21:19","nodeType":"YulFunctionCall","src":"59246:21:19"},"nativeSrc":"59246:21:19","nodeType":"YulExpressionStatement","src":"59246:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28217,"isOffset":false,"isSlot":false,"src":"58885:2:19","valueSize":1},{"declaration":28220,"isOffset":false,"isSlot":false,"src":"58915:2:19","valueSize":1},{"declaration":28223,"isOffset":false,"isSlot":false,"src":"58945:2:19","valueSize":1},{"declaration":28226,"isOffset":false,"isSlot":false,"src":"58975:2:19","valueSize":1},{"declaration":28229,"isOffset":false,"isSlot":false,"src":"59005:2:19","valueSize":1},{"declaration":28232,"isOffset":false,"isSlot":false,"src":"59035:2:19","valueSize":1},{"declaration":28209,"isOffset":false,"isSlot":false,"src":"59170:2:19","valueSize":1},{"declaration":28211,"isOffset":false,"isSlot":false,"src":"59199:2:19","valueSize":1},{"declaration":28213,"isOffset":false,"isSlot":false,"src":"59264:2:19","valueSize":1}],"id":28234,"nodeType":"InlineAssembly","src":"58507:770:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"59302:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"59308:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28235,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"59286:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59286:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28239,"nodeType":"ExpressionStatement","src":"59286:27:19"},{"AST":{"nativeSrc":"59375:185:19","nodeType":"YulBlock","src":"59375:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"59396:4:19","nodeType":"YulLiteral","src":"59396:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"59402:2:19","nodeType":"YulIdentifier","src":"59402:2:19"}],"functionName":{"name":"mstore","nativeSrc":"59389:6:19","nodeType":"YulIdentifier","src":"59389:6:19"},"nativeSrc":"59389:16:19","nodeType":"YulFunctionCall","src":"59389:16:19"},"nativeSrc":"59389:16:19","nodeType":"YulExpressionStatement","src":"59389:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59425:4:19","nodeType":"YulLiteral","src":"59425:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"59431:2:19","nodeType":"YulIdentifier","src":"59431:2:19"}],"functionName":{"name":"mstore","nativeSrc":"59418:6:19","nodeType":"YulIdentifier","src":"59418:6:19"},"nativeSrc":"59418:16:19","nodeType":"YulFunctionCall","src":"59418:16:19"},"nativeSrc":"59418:16:19","nodeType":"YulExpressionStatement","src":"59418:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59454:4:19","nodeType":"YulLiteral","src":"59454:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"59460:2:19","nodeType":"YulIdentifier","src":"59460:2:19"}],"functionName":{"name":"mstore","nativeSrc":"59447:6:19","nodeType":"YulIdentifier","src":"59447:6:19"},"nativeSrc":"59447:16:19","nodeType":"YulFunctionCall","src":"59447:16:19"},"nativeSrc":"59447:16:19","nodeType":"YulExpressionStatement","src":"59447:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59483:4:19","nodeType":"YulLiteral","src":"59483:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"59489:2:19","nodeType":"YulIdentifier","src":"59489:2:19"}],"functionName":{"name":"mstore","nativeSrc":"59476:6:19","nodeType":"YulIdentifier","src":"59476:6:19"},"nativeSrc":"59476:16:19","nodeType":"YulFunctionCall","src":"59476:16:19"},"nativeSrc":"59476:16:19","nodeType":"YulExpressionStatement","src":"59476:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59512:4:19","nodeType":"YulLiteral","src":"59512:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"59518:2:19","nodeType":"YulIdentifier","src":"59518:2:19"}],"functionName":{"name":"mstore","nativeSrc":"59505:6:19","nodeType":"YulIdentifier","src":"59505:6:19"},"nativeSrc":"59505:16:19","nodeType":"YulFunctionCall","src":"59505:16:19"},"nativeSrc":"59505:16:19","nodeType":"YulExpressionStatement","src":"59505:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59541:4:19","nodeType":"YulLiteral","src":"59541:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"59547:2:19","nodeType":"YulIdentifier","src":"59547:2:19"}],"functionName":{"name":"mstore","nativeSrc":"59534:6:19","nodeType":"YulIdentifier","src":"59534:6:19"},"nativeSrc":"59534:16:19","nodeType":"YulFunctionCall","src":"59534:16:19"},"nativeSrc":"59534:16:19","nodeType":"YulExpressionStatement","src":"59534:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28217,"isOffset":false,"isSlot":false,"src":"59402:2:19","valueSize":1},{"declaration":28220,"isOffset":false,"isSlot":false,"src":"59431:2:19","valueSize":1},{"declaration":28223,"isOffset":false,"isSlot":false,"src":"59460:2:19","valueSize":1},{"declaration":28226,"isOffset":false,"isSlot":false,"src":"59489:2:19","valueSize":1},{"declaration":28229,"isOffset":false,"isSlot":false,"src":"59518:2:19","valueSize":1},{"declaration":28232,"isOffset":false,"isSlot":false,"src":"59547:2:19","valueSize":1}],"id":28240,"nodeType":"InlineAssembly","src":"59366:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58283:3:19","parameters":{"id":28214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28209,"mutability":"mutable","name":"p0","nameLocation":"58295:2:19","nodeType":"VariableDeclaration","scope":28242,"src":"58287:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28208,"name":"uint256","nodeType":"ElementaryTypeName","src":"58287:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28211,"mutability":"mutable","name":"p1","nameLocation":"58304:2:19","nodeType":"VariableDeclaration","scope":28242,"src":"58299:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28210,"name":"bool","nodeType":"ElementaryTypeName","src":"58299:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28213,"mutability":"mutable","name":"p2","nameLocation":"58316:2:19","nodeType":"VariableDeclaration","scope":28242,"src":"58308:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28212,"name":"bytes32","nodeType":"ElementaryTypeName","src":"58308:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"58286:33:19"},"returnParameters":{"id":28215,"nodeType":"ParameterList","parameters":[],"src":"58334:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28271,"nodeType":"FunctionDefinition","src":"59572:750:19","nodes":[],"body":{"id":28270,"nodeType":"Block","src":"59635:687:19","nodes":[],"statements":[{"assignments":[28252],"declarations":[{"constant":false,"id":28252,"mutability":"mutable","name":"m0","nameLocation":"59653:2:19","nodeType":"VariableDeclaration","scope":28270,"src":"59645:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28251,"name":"bytes32","nodeType":"ElementaryTypeName","src":"59645:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28253,"nodeType":"VariableDeclarationStatement","src":"59645:10:19"},{"assignments":[28255],"declarations":[{"constant":false,"id":28255,"mutability":"mutable","name":"m1","nameLocation":"59673:2:19","nodeType":"VariableDeclaration","scope":28270,"src":"59665:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28254,"name":"bytes32","nodeType":"ElementaryTypeName","src":"59665:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28256,"nodeType":"VariableDeclarationStatement","src":"59665:10:19"},{"assignments":[28258],"declarations":[{"constant":false,"id":28258,"mutability":"mutable","name":"m2","nameLocation":"59693:2:19","nodeType":"VariableDeclaration","scope":28270,"src":"59685:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28257,"name":"bytes32","nodeType":"ElementaryTypeName","src":"59685:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28259,"nodeType":"VariableDeclarationStatement","src":"59685:10:19"},{"assignments":[28261],"declarations":[{"constant":false,"id":28261,"mutability":"mutable","name":"m3","nameLocation":"59713:2:19","nodeType":"VariableDeclaration","scope":28270,"src":"59705:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28260,"name":"bytes32","nodeType":"ElementaryTypeName","src":"59705:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28262,"nodeType":"VariableDeclarationStatement","src":"59705:10:19"},{"AST":{"nativeSrc":"59777:314:19","nodeType":"YulBlock","src":"59777:314:19","statements":[{"nativeSrc":"59791:17:19","nodeType":"YulAssignment","src":"59791:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"59803:4:19","nodeType":"YulLiteral","src":"59803:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"59797:5:19","nodeType":"YulIdentifier","src":"59797:5:19"},"nativeSrc":"59797:11:19","nodeType":"YulFunctionCall","src":"59797:11:19"},"variableNames":[{"name":"m0","nativeSrc":"59791:2:19","nodeType":"YulIdentifier","src":"59791:2:19"}]},{"nativeSrc":"59821:17:19","nodeType":"YulAssignment","src":"59821:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"59833:4:19","nodeType":"YulLiteral","src":"59833:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"59827:5:19","nodeType":"YulIdentifier","src":"59827:5:19"},"nativeSrc":"59827:11:19","nodeType":"YulFunctionCall","src":"59827:11:19"},"variableNames":[{"name":"m1","nativeSrc":"59821:2:19","nodeType":"YulIdentifier","src":"59821:2:19"}]},{"nativeSrc":"59851:17:19","nodeType":"YulAssignment","src":"59851:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"59863:4:19","nodeType":"YulLiteral","src":"59863:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"59857:5:19","nodeType":"YulIdentifier","src":"59857:5:19"},"nativeSrc":"59857:11:19","nodeType":"YulFunctionCall","src":"59857:11:19"},"variableNames":[{"name":"m2","nativeSrc":"59851:2:19","nodeType":"YulIdentifier","src":"59851:2:19"}]},{"nativeSrc":"59881:17:19","nodeType":"YulAssignment","src":"59881:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"59893:4:19","nodeType":"YulLiteral","src":"59893:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"59887:5:19","nodeType":"YulIdentifier","src":"59887:5:19"},"nativeSrc":"59887:11:19","nodeType":"YulFunctionCall","src":"59887:11:19"},"variableNames":[{"name":"m3","nativeSrc":"59881:2:19","nodeType":"YulIdentifier","src":"59881:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"59977:4:19","nodeType":"YulLiteral","src":"59977:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"59983:10:19","nodeType":"YulLiteral","src":"59983:10:19","type":"","value":"0x5c96b331"}],"functionName":{"name":"mstore","nativeSrc":"59970:6:19","nodeType":"YulIdentifier","src":"59970:6:19"},"nativeSrc":"59970:24:19","nodeType":"YulFunctionCall","src":"59970:24:19"},"nativeSrc":"59970:24:19","nodeType":"YulExpressionStatement","src":"59970:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60014:4:19","nodeType":"YulLiteral","src":"60014:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"60020:2:19","nodeType":"YulIdentifier","src":"60020:2:19"}],"functionName":{"name":"mstore","nativeSrc":"60007:6:19","nodeType":"YulIdentifier","src":"60007:6:19"},"nativeSrc":"60007:16:19","nodeType":"YulFunctionCall","src":"60007:16:19"},"nativeSrc":"60007:16:19","nodeType":"YulExpressionStatement","src":"60007:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60043:4:19","nodeType":"YulLiteral","src":"60043:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"60049:2:19","nodeType":"YulIdentifier","src":"60049:2:19"}],"functionName":{"name":"mstore","nativeSrc":"60036:6:19","nodeType":"YulIdentifier","src":"60036:6:19"},"nativeSrc":"60036:16:19","nodeType":"YulFunctionCall","src":"60036:16:19"},"nativeSrc":"60036:16:19","nodeType":"YulExpressionStatement","src":"60036:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60072:4:19","nodeType":"YulLiteral","src":"60072:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"60078:2:19","nodeType":"YulIdentifier","src":"60078:2:19"}],"functionName":{"name":"mstore","nativeSrc":"60065:6:19","nodeType":"YulIdentifier","src":"60065:6:19"},"nativeSrc":"60065:16:19","nodeType":"YulFunctionCall","src":"60065:16:19"},"nativeSrc":"60065:16:19","nodeType":"YulExpressionStatement","src":"60065:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28252,"isOffset":false,"isSlot":false,"src":"59791:2:19","valueSize":1},{"declaration":28255,"isOffset":false,"isSlot":false,"src":"59821:2:19","valueSize":1},{"declaration":28258,"isOffset":false,"isSlot":false,"src":"59851:2:19","valueSize":1},{"declaration":28261,"isOffset":false,"isSlot":false,"src":"59881:2:19","valueSize":1},{"declaration":28244,"isOffset":false,"isSlot":false,"src":"60020:2:19","valueSize":1},{"declaration":28246,"isOffset":false,"isSlot":false,"src":"60049:2:19","valueSize":1},{"declaration":28248,"isOffset":false,"isSlot":false,"src":"60078:2:19","valueSize":1}],"id":28263,"nodeType":"InlineAssembly","src":"59768:323:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"60116:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"60122:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28264,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"60100:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60100:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28268,"nodeType":"ExpressionStatement","src":"60100:27:19"},{"AST":{"nativeSrc":"60189:127:19","nodeType":"YulBlock","src":"60189:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"60210:4:19","nodeType":"YulLiteral","src":"60210:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"60216:2:19","nodeType":"YulIdentifier","src":"60216:2:19"}],"functionName":{"name":"mstore","nativeSrc":"60203:6:19","nodeType":"YulIdentifier","src":"60203:6:19"},"nativeSrc":"60203:16:19","nodeType":"YulFunctionCall","src":"60203:16:19"},"nativeSrc":"60203:16:19","nodeType":"YulExpressionStatement","src":"60203:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60239:4:19","nodeType":"YulLiteral","src":"60239:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"60245:2:19","nodeType":"YulIdentifier","src":"60245:2:19"}],"functionName":{"name":"mstore","nativeSrc":"60232:6:19","nodeType":"YulIdentifier","src":"60232:6:19"},"nativeSrc":"60232:16:19","nodeType":"YulFunctionCall","src":"60232:16:19"},"nativeSrc":"60232:16:19","nodeType":"YulExpressionStatement","src":"60232:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60268:4:19","nodeType":"YulLiteral","src":"60268:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"60274:2:19","nodeType":"YulIdentifier","src":"60274:2:19"}],"functionName":{"name":"mstore","nativeSrc":"60261:6:19","nodeType":"YulIdentifier","src":"60261:6:19"},"nativeSrc":"60261:16:19","nodeType":"YulFunctionCall","src":"60261:16:19"},"nativeSrc":"60261:16:19","nodeType":"YulExpressionStatement","src":"60261:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60297:4:19","nodeType":"YulLiteral","src":"60297:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"60303:2:19","nodeType":"YulIdentifier","src":"60303:2:19"}],"functionName":{"name":"mstore","nativeSrc":"60290:6:19","nodeType":"YulIdentifier","src":"60290:6:19"},"nativeSrc":"60290:16:19","nodeType":"YulFunctionCall","src":"60290:16:19"},"nativeSrc":"60290:16:19","nodeType":"YulExpressionStatement","src":"60290:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28252,"isOffset":false,"isSlot":false,"src":"60216:2:19","valueSize":1},{"declaration":28255,"isOffset":false,"isSlot":false,"src":"60245:2:19","valueSize":1},{"declaration":28258,"isOffset":false,"isSlot":false,"src":"60274:2:19","valueSize":1},{"declaration":28261,"isOffset":false,"isSlot":false,"src":"60303:2:19","valueSize":1}],"id":28269,"nodeType":"InlineAssembly","src":"60180:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59581:3:19","parameters":{"id":28249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28244,"mutability":"mutable","name":"p0","nameLocation":"59593:2:19","nodeType":"VariableDeclaration","scope":28271,"src":"59585:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28243,"name":"uint256","nodeType":"ElementaryTypeName","src":"59585:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28246,"mutability":"mutable","name":"p1","nameLocation":"59605:2:19","nodeType":"VariableDeclaration","scope":28271,"src":"59597:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28245,"name":"uint256","nodeType":"ElementaryTypeName","src":"59597:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28248,"mutability":"mutable","name":"p2","nameLocation":"59617:2:19","nodeType":"VariableDeclaration","scope":28271,"src":"59609:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28247,"name":"address","nodeType":"ElementaryTypeName","src":"59609:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"59584:36:19"},"returnParameters":{"id":28250,"nodeType":"ParameterList","parameters":[],"src":"59635:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28300,"nodeType":"FunctionDefinition","src":"60328:744:19","nodes":[],"body":{"id":28299,"nodeType":"Block","src":"60388:684:19","nodes":[],"statements":[{"assignments":[28281],"declarations":[{"constant":false,"id":28281,"mutability":"mutable","name":"m0","nameLocation":"60406:2:19","nodeType":"VariableDeclaration","scope":28299,"src":"60398:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28280,"name":"bytes32","nodeType":"ElementaryTypeName","src":"60398:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28282,"nodeType":"VariableDeclarationStatement","src":"60398:10:19"},{"assignments":[28284],"declarations":[{"constant":false,"id":28284,"mutability":"mutable","name":"m1","nameLocation":"60426:2:19","nodeType":"VariableDeclaration","scope":28299,"src":"60418:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28283,"name":"bytes32","nodeType":"ElementaryTypeName","src":"60418:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28285,"nodeType":"VariableDeclarationStatement","src":"60418:10:19"},{"assignments":[28287],"declarations":[{"constant":false,"id":28287,"mutability":"mutable","name":"m2","nameLocation":"60446:2:19","nodeType":"VariableDeclaration","scope":28299,"src":"60438:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28286,"name":"bytes32","nodeType":"ElementaryTypeName","src":"60438:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28288,"nodeType":"VariableDeclarationStatement","src":"60438:10:19"},{"assignments":[28290],"declarations":[{"constant":false,"id":28290,"mutability":"mutable","name":"m3","nameLocation":"60466:2:19","nodeType":"VariableDeclaration","scope":28299,"src":"60458:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28289,"name":"bytes32","nodeType":"ElementaryTypeName","src":"60458:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28291,"nodeType":"VariableDeclarationStatement","src":"60458:10:19"},{"AST":{"nativeSrc":"60530:311:19","nodeType":"YulBlock","src":"60530:311:19","statements":[{"nativeSrc":"60544:17:19","nodeType":"YulAssignment","src":"60544:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"60556:4:19","nodeType":"YulLiteral","src":"60556:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"60550:5:19","nodeType":"YulIdentifier","src":"60550:5:19"},"nativeSrc":"60550:11:19","nodeType":"YulFunctionCall","src":"60550:11:19"},"variableNames":[{"name":"m0","nativeSrc":"60544:2:19","nodeType":"YulIdentifier","src":"60544:2:19"}]},{"nativeSrc":"60574:17:19","nodeType":"YulAssignment","src":"60574:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"60586:4:19","nodeType":"YulLiteral","src":"60586:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"60580:5:19","nodeType":"YulIdentifier","src":"60580:5:19"},"nativeSrc":"60580:11:19","nodeType":"YulFunctionCall","src":"60580:11:19"},"variableNames":[{"name":"m1","nativeSrc":"60574:2:19","nodeType":"YulIdentifier","src":"60574:2:19"}]},{"nativeSrc":"60604:17:19","nodeType":"YulAssignment","src":"60604:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"60616:4:19","nodeType":"YulLiteral","src":"60616:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"60610:5:19","nodeType":"YulIdentifier","src":"60610:5:19"},"nativeSrc":"60610:11:19","nodeType":"YulFunctionCall","src":"60610:11:19"},"variableNames":[{"name":"m2","nativeSrc":"60604:2:19","nodeType":"YulIdentifier","src":"60604:2:19"}]},{"nativeSrc":"60634:17:19","nodeType":"YulAssignment","src":"60634:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"60646:4:19","nodeType":"YulLiteral","src":"60646:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"60640:5:19","nodeType":"YulIdentifier","src":"60640:5:19"},"nativeSrc":"60640:11:19","nodeType":"YulFunctionCall","src":"60640:11:19"},"variableNames":[{"name":"m3","nativeSrc":"60634:2:19","nodeType":"YulIdentifier","src":"60634:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60727:4:19","nodeType":"YulLiteral","src":"60727:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"60733:10:19","nodeType":"YulLiteral","src":"60733:10:19","type":"","value":"0x4766da72"}],"functionName":{"name":"mstore","nativeSrc":"60720:6:19","nodeType":"YulIdentifier","src":"60720:6:19"},"nativeSrc":"60720:24:19","nodeType":"YulFunctionCall","src":"60720:24:19"},"nativeSrc":"60720:24:19","nodeType":"YulExpressionStatement","src":"60720:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60764:4:19","nodeType":"YulLiteral","src":"60764:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"60770:2:19","nodeType":"YulIdentifier","src":"60770:2:19"}],"functionName":{"name":"mstore","nativeSrc":"60757:6:19","nodeType":"YulIdentifier","src":"60757:6:19"},"nativeSrc":"60757:16:19","nodeType":"YulFunctionCall","src":"60757:16:19"},"nativeSrc":"60757:16:19","nodeType":"YulExpressionStatement","src":"60757:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60793:4:19","nodeType":"YulLiteral","src":"60793:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"60799:2:19","nodeType":"YulIdentifier","src":"60799:2:19"}],"functionName":{"name":"mstore","nativeSrc":"60786:6:19","nodeType":"YulIdentifier","src":"60786:6:19"},"nativeSrc":"60786:16:19","nodeType":"YulFunctionCall","src":"60786:16:19"},"nativeSrc":"60786:16:19","nodeType":"YulExpressionStatement","src":"60786:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60822:4:19","nodeType":"YulLiteral","src":"60822:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"60828:2:19","nodeType":"YulIdentifier","src":"60828:2:19"}],"functionName":{"name":"mstore","nativeSrc":"60815:6:19","nodeType":"YulIdentifier","src":"60815:6:19"},"nativeSrc":"60815:16:19","nodeType":"YulFunctionCall","src":"60815:16:19"},"nativeSrc":"60815:16:19","nodeType":"YulExpressionStatement","src":"60815:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28281,"isOffset":false,"isSlot":false,"src":"60544:2:19","valueSize":1},{"declaration":28284,"isOffset":false,"isSlot":false,"src":"60574:2:19","valueSize":1},{"declaration":28287,"isOffset":false,"isSlot":false,"src":"60604:2:19","valueSize":1},{"declaration":28290,"isOffset":false,"isSlot":false,"src":"60634:2:19","valueSize":1},{"declaration":28273,"isOffset":false,"isSlot":false,"src":"60770:2:19","valueSize":1},{"declaration":28275,"isOffset":false,"isSlot":false,"src":"60799:2:19","valueSize":1},{"declaration":28277,"isOffset":false,"isSlot":false,"src":"60828:2:19","valueSize":1}],"id":28292,"nodeType":"InlineAssembly","src":"60521:320:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"60866:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"60872:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28293,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"60850:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60850:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28297,"nodeType":"ExpressionStatement","src":"60850:27:19"},{"AST":{"nativeSrc":"60939:127:19","nodeType":"YulBlock","src":"60939:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"60960:4:19","nodeType":"YulLiteral","src":"60960:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"60966:2:19","nodeType":"YulIdentifier","src":"60966:2:19"}],"functionName":{"name":"mstore","nativeSrc":"60953:6:19","nodeType":"YulIdentifier","src":"60953:6:19"},"nativeSrc":"60953:16:19","nodeType":"YulFunctionCall","src":"60953:16:19"},"nativeSrc":"60953:16:19","nodeType":"YulExpressionStatement","src":"60953:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"60989:4:19","nodeType":"YulLiteral","src":"60989:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"60995:2:19","nodeType":"YulIdentifier","src":"60995:2:19"}],"functionName":{"name":"mstore","nativeSrc":"60982:6:19","nodeType":"YulIdentifier","src":"60982:6:19"},"nativeSrc":"60982:16:19","nodeType":"YulFunctionCall","src":"60982:16:19"},"nativeSrc":"60982:16:19","nodeType":"YulExpressionStatement","src":"60982:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61018:4:19","nodeType":"YulLiteral","src":"61018:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"61024:2:19","nodeType":"YulIdentifier","src":"61024:2:19"}],"functionName":{"name":"mstore","nativeSrc":"61011:6:19","nodeType":"YulIdentifier","src":"61011:6:19"},"nativeSrc":"61011:16:19","nodeType":"YulFunctionCall","src":"61011:16:19"},"nativeSrc":"61011:16:19","nodeType":"YulExpressionStatement","src":"61011:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61047:4:19","nodeType":"YulLiteral","src":"61047:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"61053:2:19","nodeType":"YulIdentifier","src":"61053:2:19"}],"functionName":{"name":"mstore","nativeSrc":"61040:6:19","nodeType":"YulIdentifier","src":"61040:6:19"},"nativeSrc":"61040:16:19","nodeType":"YulFunctionCall","src":"61040:16:19"},"nativeSrc":"61040:16:19","nodeType":"YulExpressionStatement","src":"61040:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28281,"isOffset":false,"isSlot":false,"src":"60966:2:19","valueSize":1},{"declaration":28284,"isOffset":false,"isSlot":false,"src":"60995:2:19","valueSize":1},{"declaration":28287,"isOffset":false,"isSlot":false,"src":"61024:2:19","valueSize":1},{"declaration":28290,"isOffset":false,"isSlot":false,"src":"61053:2:19","valueSize":1}],"id":28298,"nodeType":"InlineAssembly","src":"60930:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60337:3:19","parameters":{"id":28278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28273,"mutability":"mutable","name":"p0","nameLocation":"60349:2:19","nodeType":"VariableDeclaration","scope":28300,"src":"60341:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28272,"name":"uint256","nodeType":"ElementaryTypeName","src":"60341:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28275,"mutability":"mutable","name":"p1","nameLocation":"60361:2:19","nodeType":"VariableDeclaration","scope":28300,"src":"60353:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28274,"name":"uint256","nodeType":"ElementaryTypeName","src":"60353:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28277,"mutability":"mutable","name":"p2","nameLocation":"60370:2:19","nodeType":"VariableDeclaration","scope":28300,"src":"60365:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28276,"name":"bool","nodeType":"ElementaryTypeName","src":"60365:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"60340:33:19"},"returnParameters":{"id":28279,"nodeType":"ParameterList","parameters":[],"src":"60388:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28329,"nodeType":"FunctionDefinition","src":"61078:750:19","nodes":[],"body":{"id":28328,"nodeType":"Block","src":"61141:687:19","nodes":[],"statements":[{"assignments":[28310],"declarations":[{"constant":false,"id":28310,"mutability":"mutable","name":"m0","nameLocation":"61159:2:19","nodeType":"VariableDeclaration","scope":28328,"src":"61151:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28309,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61151:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28311,"nodeType":"VariableDeclarationStatement","src":"61151:10:19"},{"assignments":[28313],"declarations":[{"constant":false,"id":28313,"mutability":"mutable","name":"m1","nameLocation":"61179:2:19","nodeType":"VariableDeclaration","scope":28328,"src":"61171:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28312,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61171:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28314,"nodeType":"VariableDeclarationStatement","src":"61171:10:19"},{"assignments":[28316],"declarations":[{"constant":false,"id":28316,"mutability":"mutable","name":"m2","nameLocation":"61199:2:19","nodeType":"VariableDeclaration","scope":28328,"src":"61191:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28315,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61191:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28317,"nodeType":"VariableDeclarationStatement","src":"61191:10:19"},{"assignments":[28319],"declarations":[{"constant":false,"id":28319,"mutability":"mutable","name":"m3","nameLocation":"61219:2:19","nodeType":"VariableDeclaration","scope":28328,"src":"61211:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28318,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61211:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28320,"nodeType":"VariableDeclarationStatement","src":"61211:10:19"},{"AST":{"nativeSrc":"61283:314:19","nodeType":"YulBlock","src":"61283:314:19","statements":[{"nativeSrc":"61297:17:19","nodeType":"YulAssignment","src":"61297:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"61309:4:19","nodeType":"YulLiteral","src":"61309:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"61303:5:19","nodeType":"YulIdentifier","src":"61303:5:19"},"nativeSrc":"61303:11:19","nodeType":"YulFunctionCall","src":"61303:11:19"},"variableNames":[{"name":"m0","nativeSrc":"61297:2:19","nodeType":"YulIdentifier","src":"61297:2:19"}]},{"nativeSrc":"61327:17:19","nodeType":"YulAssignment","src":"61327:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"61339:4:19","nodeType":"YulLiteral","src":"61339:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"61333:5:19","nodeType":"YulIdentifier","src":"61333:5:19"},"nativeSrc":"61333:11:19","nodeType":"YulFunctionCall","src":"61333:11:19"},"variableNames":[{"name":"m1","nativeSrc":"61327:2:19","nodeType":"YulIdentifier","src":"61327:2:19"}]},{"nativeSrc":"61357:17:19","nodeType":"YulAssignment","src":"61357:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"61369:4:19","nodeType":"YulLiteral","src":"61369:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"61363:5:19","nodeType":"YulIdentifier","src":"61363:5:19"},"nativeSrc":"61363:11:19","nodeType":"YulFunctionCall","src":"61363:11:19"},"variableNames":[{"name":"m2","nativeSrc":"61357:2:19","nodeType":"YulIdentifier","src":"61357:2:19"}]},{"nativeSrc":"61387:17:19","nodeType":"YulAssignment","src":"61387:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"61399:4:19","nodeType":"YulLiteral","src":"61399:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"61393:5:19","nodeType":"YulIdentifier","src":"61393:5:19"},"nativeSrc":"61393:11:19","nodeType":"YulFunctionCall","src":"61393:11:19"},"variableNames":[{"name":"m3","nativeSrc":"61387:2:19","nodeType":"YulIdentifier","src":"61387:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61483:4:19","nodeType":"YulLiteral","src":"61483:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"61489:10:19","nodeType":"YulLiteral","src":"61489:10:19","type":"","value":"0xd1ed7a3c"}],"functionName":{"name":"mstore","nativeSrc":"61476:6:19","nodeType":"YulIdentifier","src":"61476:6:19"},"nativeSrc":"61476:24:19","nodeType":"YulFunctionCall","src":"61476:24:19"},"nativeSrc":"61476:24:19","nodeType":"YulExpressionStatement","src":"61476:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61520:4:19","nodeType":"YulLiteral","src":"61520:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"61526:2:19","nodeType":"YulIdentifier","src":"61526:2:19"}],"functionName":{"name":"mstore","nativeSrc":"61513:6:19","nodeType":"YulIdentifier","src":"61513:6:19"},"nativeSrc":"61513:16:19","nodeType":"YulFunctionCall","src":"61513:16:19"},"nativeSrc":"61513:16:19","nodeType":"YulExpressionStatement","src":"61513:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61549:4:19","nodeType":"YulLiteral","src":"61549:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"61555:2:19","nodeType":"YulIdentifier","src":"61555:2:19"}],"functionName":{"name":"mstore","nativeSrc":"61542:6:19","nodeType":"YulIdentifier","src":"61542:6:19"},"nativeSrc":"61542:16:19","nodeType":"YulFunctionCall","src":"61542:16:19"},"nativeSrc":"61542:16:19","nodeType":"YulExpressionStatement","src":"61542:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61578:4:19","nodeType":"YulLiteral","src":"61578:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"61584:2:19","nodeType":"YulIdentifier","src":"61584:2:19"}],"functionName":{"name":"mstore","nativeSrc":"61571:6:19","nodeType":"YulIdentifier","src":"61571:6:19"},"nativeSrc":"61571:16:19","nodeType":"YulFunctionCall","src":"61571:16:19"},"nativeSrc":"61571:16:19","nodeType":"YulExpressionStatement","src":"61571:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28310,"isOffset":false,"isSlot":false,"src":"61297:2:19","valueSize":1},{"declaration":28313,"isOffset":false,"isSlot":false,"src":"61327:2:19","valueSize":1},{"declaration":28316,"isOffset":false,"isSlot":false,"src":"61357:2:19","valueSize":1},{"declaration":28319,"isOffset":false,"isSlot":false,"src":"61387:2:19","valueSize":1},{"declaration":28302,"isOffset":false,"isSlot":false,"src":"61526:2:19","valueSize":1},{"declaration":28304,"isOffset":false,"isSlot":false,"src":"61555:2:19","valueSize":1},{"declaration":28306,"isOffset":false,"isSlot":false,"src":"61584:2:19","valueSize":1}],"id":28321,"nodeType":"InlineAssembly","src":"61274:323:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"61622:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783634","id":28324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"61628:4:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"0x64"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":28322,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"61606:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61606:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28326,"nodeType":"ExpressionStatement","src":"61606:27:19"},{"AST":{"nativeSrc":"61695:127:19","nodeType":"YulBlock","src":"61695:127:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"61716:4:19","nodeType":"YulLiteral","src":"61716:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"61722:2:19","nodeType":"YulIdentifier","src":"61722:2:19"}],"functionName":{"name":"mstore","nativeSrc":"61709:6:19","nodeType":"YulIdentifier","src":"61709:6:19"},"nativeSrc":"61709:16:19","nodeType":"YulFunctionCall","src":"61709:16:19"},"nativeSrc":"61709:16:19","nodeType":"YulExpressionStatement","src":"61709:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61745:4:19","nodeType":"YulLiteral","src":"61745:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"61751:2:19","nodeType":"YulIdentifier","src":"61751:2:19"}],"functionName":{"name":"mstore","nativeSrc":"61738:6:19","nodeType":"YulIdentifier","src":"61738:6:19"},"nativeSrc":"61738:16:19","nodeType":"YulFunctionCall","src":"61738:16:19"},"nativeSrc":"61738:16:19","nodeType":"YulExpressionStatement","src":"61738:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61774:4:19","nodeType":"YulLiteral","src":"61774:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"61780:2:19","nodeType":"YulIdentifier","src":"61780:2:19"}],"functionName":{"name":"mstore","nativeSrc":"61767:6:19","nodeType":"YulIdentifier","src":"61767:6:19"},"nativeSrc":"61767:16:19","nodeType":"YulFunctionCall","src":"61767:16:19"},"nativeSrc":"61767:16:19","nodeType":"YulExpressionStatement","src":"61767:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"61803:4:19","nodeType":"YulLiteral","src":"61803:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"61809:2:19","nodeType":"YulIdentifier","src":"61809:2:19"}],"functionName":{"name":"mstore","nativeSrc":"61796:6:19","nodeType":"YulIdentifier","src":"61796:6:19"},"nativeSrc":"61796:16:19","nodeType":"YulFunctionCall","src":"61796:16:19"},"nativeSrc":"61796:16:19","nodeType":"YulExpressionStatement","src":"61796:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28310,"isOffset":false,"isSlot":false,"src":"61722:2:19","valueSize":1},{"declaration":28313,"isOffset":false,"isSlot":false,"src":"61751:2:19","valueSize":1},{"declaration":28316,"isOffset":false,"isSlot":false,"src":"61780:2:19","valueSize":1},{"declaration":28319,"isOffset":false,"isSlot":false,"src":"61809:2:19","valueSize":1}],"id":28327,"nodeType":"InlineAssembly","src":"61686:136:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61087:3:19","parameters":{"id":28307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28302,"mutability":"mutable","name":"p0","nameLocation":"61099:2:19","nodeType":"VariableDeclaration","scope":28329,"src":"61091:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28301,"name":"uint256","nodeType":"ElementaryTypeName","src":"61091:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28304,"mutability":"mutable","name":"p1","nameLocation":"61111:2:19","nodeType":"VariableDeclaration","scope":28329,"src":"61103:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28303,"name":"uint256","nodeType":"ElementaryTypeName","src":"61103:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28306,"mutability":"mutable","name":"p2","nameLocation":"61123:2:19","nodeType":"VariableDeclaration","scope":28329,"src":"61115:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28305,"name":"uint256","nodeType":"ElementaryTypeName","src":"61115:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"61090:36:19"},"returnParameters":{"id":28308,"nodeType":"ParameterList","parameters":[],"src":"61141:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28364,"nodeType":"FunctionDefinition","src":"61834:1298:19","nodes":[],"body":{"id":28363,"nodeType":"Block","src":"61897:1235:19","nodes":[],"statements":[{"assignments":[28339],"declarations":[{"constant":false,"id":28339,"mutability":"mutable","name":"m0","nameLocation":"61915:2:19","nodeType":"VariableDeclaration","scope":28363,"src":"61907:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28338,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61907:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28340,"nodeType":"VariableDeclarationStatement","src":"61907:10:19"},{"assignments":[28342],"declarations":[{"constant":false,"id":28342,"mutability":"mutable","name":"m1","nameLocation":"61935:2:19","nodeType":"VariableDeclaration","scope":28363,"src":"61927:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28341,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61927:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28343,"nodeType":"VariableDeclarationStatement","src":"61927:10:19"},{"assignments":[28345],"declarations":[{"constant":false,"id":28345,"mutability":"mutable","name":"m2","nameLocation":"61955:2:19","nodeType":"VariableDeclaration","scope":28363,"src":"61947:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28344,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61947:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28346,"nodeType":"VariableDeclarationStatement","src":"61947:10:19"},{"assignments":[28348],"declarations":[{"constant":false,"id":28348,"mutability":"mutable","name":"m3","nameLocation":"61975:2:19","nodeType":"VariableDeclaration","scope":28363,"src":"61967:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28347,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61967:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28349,"nodeType":"VariableDeclarationStatement","src":"61967:10:19"},{"assignments":[28351],"declarations":[{"constant":false,"id":28351,"mutability":"mutable","name":"m4","nameLocation":"61995:2:19","nodeType":"VariableDeclaration","scope":28363,"src":"61987:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28350,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61987:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28352,"nodeType":"VariableDeclarationStatement","src":"61987:10:19"},{"assignments":[28354],"declarations":[{"constant":false,"id":28354,"mutability":"mutable","name":"m5","nameLocation":"62015:2:19","nodeType":"VariableDeclaration","scope":28363,"src":"62007:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28353,"name":"bytes32","nodeType":"ElementaryTypeName","src":"62007:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28355,"nodeType":"VariableDeclarationStatement","src":"62007:10:19"},{"AST":{"nativeSrc":"62079:764:19","nodeType":"YulBlock","src":"62079:764:19","statements":[{"body":{"nativeSrc":"62122:313:19","nodeType":"YulBlock","src":"62122:313:19","statements":[{"nativeSrc":"62140:15:19","nodeType":"YulVariableDeclaration","src":"62140:15:19","value":{"kind":"number","nativeSrc":"62154:1:19","nodeType":"YulLiteral","src":"62154:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"62144:6:19","nodeType":"YulTypedName","src":"62144:6:19","type":""}]},{"body":{"nativeSrc":"62225:40:19","nodeType":"YulBlock","src":"62225:40:19","statements":[{"body":{"nativeSrc":"62254:9:19","nodeType":"YulBlock","src":"62254:9:19","statements":[{"nativeSrc":"62256:5:19","nodeType":"YulBreak","src":"62256:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"62242:6:19","nodeType":"YulIdentifier","src":"62242:6:19"},{"name":"w","nativeSrc":"62250:1:19","nodeType":"YulIdentifier","src":"62250:1:19"}],"functionName":{"name":"byte","nativeSrc":"62237:4:19","nodeType":"YulIdentifier","src":"62237:4:19"},"nativeSrc":"62237:15:19","nodeType":"YulFunctionCall","src":"62237:15:19"}],"functionName":{"name":"iszero","nativeSrc":"62230:6:19","nodeType":"YulIdentifier","src":"62230:6:19"},"nativeSrc":"62230:23:19","nodeType":"YulFunctionCall","src":"62230:23:19"},"nativeSrc":"62227:36:19","nodeType":"YulIf","src":"62227:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"62182:6:19","nodeType":"YulIdentifier","src":"62182:6:19"},{"kind":"number","nativeSrc":"62190:4:19","nodeType":"YulLiteral","src":"62190:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"62179:2:19","nodeType":"YulIdentifier","src":"62179:2:19"},"nativeSrc":"62179:16:19","nodeType":"YulFunctionCall","src":"62179:16:19"},"nativeSrc":"62172:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"62196:28:19","nodeType":"YulBlock","src":"62196:28:19","statements":[{"nativeSrc":"62198:24:19","nodeType":"YulAssignment","src":"62198:24:19","value":{"arguments":[{"name":"length","nativeSrc":"62212:6:19","nodeType":"YulIdentifier","src":"62212:6:19"},{"kind":"number","nativeSrc":"62220:1:19","nodeType":"YulLiteral","src":"62220:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"62208:3:19","nodeType":"YulIdentifier","src":"62208:3:19"},"nativeSrc":"62208:14:19","nodeType":"YulFunctionCall","src":"62208:14:19"},"variableNames":[{"name":"length","nativeSrc":"62198:6:19","nodeType":"YulIdentifier","src":"62198:6:19"}]}]},"pre":{"nativeSrc":"62176:2:19","nodeType":"YulBlock","src":"62176:2:19","statements":[]},"src":"62172:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"62289:3:19","nodeType":"YulIdentifier","src":"62289:3:19"},{"name":"length","nativeSrc":"62294:6:19","nodeType":"YulIdentifier","src":"62294:6:19"}],"functionName":{"name":"mstore","nativeSrc":"62282:6:19","nodeType":"YulIdentifier","src":"62282:6:19"},"nativeSrc":"62282:19:19","nodeType":"YulFunctionCall","src":"62282:19:19"},"nativeSrc":"62282:19:19","nodeType":"YulExpressionStatement","src":"62282:19:19"},{"nativeSrc":"62318:37:19","nodeType":"YulVariableDeclaration","src":"62318:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"62335:3:19","nodeType":"YulLiteral","src":"62335:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"62344:1:19","nodeType":"YulLiteral","src":"62344:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"62347:6:19","nodeType":"YulIdentifier","src":"62347:6:19"}],"functionName":{"name":"shl","nativeSrc":"62340:3:19","nodeType":"YulIdentifier","src":"62340:3:19"},"nativeSrc":"62340:14:19","nodeType":"YulFunctionCall","src":"62340:14:19"}],"functionName":{"name":"sub","nativeSrc":"62331:3:19","nodeType":"YulIdentifier","src":"62331:3:19"},"nativeSrc":"62331:24:19","nodeType":"YulFunctionCall","src":"62331:24:19"},"variables":[{"name":"shift","nativeSrc":"62322:5:19","nodeType":"YulTypedName","src":"62322:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"62383:3:19","nodeType":"YulIdentifier","src":"62383:3:19"},{"kind":"number","nativeSrc":"62388:4:19","nodeType":"YulLiteral","src":"62388:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"62379:3:19","nodeType":"YulIdentifier","src":"62379:3:19"},"nativeSrc":"62379:14:19","nodeType":"YulFunctionCall","src":"62379:14:19"},{"arguments":[{"name":"shift","nativeSrc":"62399:5:19","nodeType":"YulIdentifier","src":"62399:5:19"},{"arguments":[{"name":"shift","nativeSrc":"62410:5:19","nodeType":"YulIdentifier","src":"62410:5:19"},{"name":"w","nativeSrc":"62417:1:19","nodeType":"YulIdentifier","src":"62417:1:19"}],"functionName":{"name":"shr","nativeSrc":"62406:3:19","nodeType":"YulIdentifier","src":"62406:3:19"},"nativeSrc":"62406:13:19","nodeType":"YulFunctionCall","src":"62406:13:19"}],"functionName":{"name":"shl","nativeSrc":"62395:3:19","nodeType":"YulIdentifier","src":"62395:3:19"},"nativeSrc":"62395:25:19","nodeType":"YulFunctionCall","src":"62395:25:19"}],"functionName":{"name":"mstore","nativeSrc":"62372:6:19","nodeType":"YulIdentifier","src":"62372:6:19"},"nativeSrc":"62372:49:19","nodeType":"YulFunctionCall","src":"62372:49:19"},"nativeSrc":"62372:49:19","nodeType":"YulExpressionStatement","src":"62372:49:19"}]},"name":"writeString","nativeSrc":"62093:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"62114:3:19","nodeType":"YulTypedName","src":"62114:3:19","type":""},{"name":"w","nativeSrc":"62119:1:19","nodeType":"YulTypedName","src":"62119:1:19","type":""}],"src":"62093:342:19"},{"nativeSrc":"62448:17:19","nodeType":"YulAssignment","src":"62448:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"62460:4:19","nodeType":"YulLiteral","src":"62460:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"62454:5:19","nodeType":"YulIdentifier","src":"62454:5:19"},"nativeSrc":"62454:11:19","nodeType":"YulFunctionCall","src":"62454:11:19"},"variableNames":[{"name":"m0","nativeSrc":"62448:2:19","nodeType":"YulIdentifier","src":"62448:2:19"}]},{"nativeSrc":"62478:17:19","nodeType":"YulAssignment","src":"62478:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"62490:4:19","nodeType":"YulLiteral","src":"62490:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"62484:5:19","nodeType":"YulIdentifier","src":"62484:5:19"},"nativeSrc":"62484:11:19","nodeType":"YulFunctionCall","src":"62484:11:19"},"variableNames":[{"name":"m1","nativeSrc":"62478:2:19","nodeType":"YulIdentifier","src":"62478:2:19"}]},{"nativeSrc":"62508:17:19","nodeType":"YulAssignment","src":"62508:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"62520:4:19","nodeType":"YulLiteral","src":"62520:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"62514:5:19","nodeType":"YulIdentifier","src":"62514:5:19"},"nativeSrc":"62514:11:19","nodeType":"YulFunctionCall","src":"62514:11:19"},"variableNames":[{"name":"m2","nativeSrc":"62508:2:19","nodeType":"YulIdentifier","src":"62508:2:19"}]},{"nativeSrc":"62538:17:19","nodeType":"YulAssignment","src":"62538:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"62550:4:19","nodeType":"YulLiteral","src":"62550:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"62544:5:19","nodeType":"YulIdentifier","src":"62544:5:19"},"nativeSrc":"62544:11:19","nodeType":"YulFunctionCall","src":"62544:11:19"},"variableNames":[{"name":"m3","nativeSrc":"62538:2:19","nodeType":"YulIdentifier","src":"62538:2:19"}]},{"nativeSrc":"62568:17:19","nodeType":"YulAssignment","src":"62568:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"62580:4:19","nodeType":"YulLiteral","src":"62580:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"62574:5:19","nodeType":"YulIdentifier","src":"62574:5:19"},"nativeSrc":"62574:11:19","nodeType":"YulFunctionCall","src":"62574:11:19"},"variableNames":[{"name":"m4","nativeSrc":"62568:2:19","nodeType":"YulIdentifier","src":"62568:2:19"}]},{"nativeSrc":"62598:17:19","nodeType":"YulAssignment","src":"62598:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"62610:4:19","nodeType":"YulLiteral","src":"62610:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"62604:5:19","nodeType":"YulIdentifier","src":"62604:5:19"},"nativeSrc":"62604:11:19","nodeType":"YulFunctionCall","src":"62604:11:19"},"variableNames":[{"name":"m5","nativeSrc":"62598:2:19","nodeType":"YulIdentifier","src":"62598:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"62693:4:19","nodeType":"YulLiteral","src":"62693:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"62699:10:19","nodeType":"YulLiteral","src":"62699:10:19","type":"","value":"0x71d04af2"}],"functionName":{"name":"mstore","nativeSrc":"62686:6:19","nodeType":"YulIdentifier","src":"62686:6:19"},"nativeSrc":"62686:24:19","nodeType":"YulFunctionCall","src":"62686:24:19"},"nativeSrc":"62686:24:19","nodeType":"YulExpressionStatement","src":"62686:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"62730:4:19","nodeType":"YulLiteral","src":"62730:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"62736:2:19","nodeType":"YulIdentifier","src":"62736:2:19"}],"functionName":{"name":"mstore","nativeSrc":"62723:6:19","nodeType":"YulIdentifier","src":"62723:6:19"},"nativeSrc":"62723:16:19","nodeType":"YulFunctionCall","src":"62723:16:19"},"nativeSrc":"62723:16:19","nodeType":"YulExpressionStatement","src":"62723:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"62759:4:19","nodeType":"YulLiteral","src":"62759:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"62765:2:19","nodeType":"YulIdentifier","src":"62765:2:19"}],"functionName":{"name":"mstore","nativeSrc":"62752:6:19","nodeType":"YulIdentifier","src":"62752:6:19"},"nativeSrc":"62752:16:19","nodeType":"YulFunctionCall","src":"62752:16:19"},"nativeSrc":"62752:16:19","nodeType":"YulExpressionStatement","src":"62752:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"62788:4:19","nodeType":"YulLiteral","src":"62788:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"62794:4:19","nodeType":"YulLiteral","src":"62794:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"62781:6:19","nodeType":"YulIdentifier","src":"62781:6:19"},"nativeSrc":"62781:18:19","nodeType":"YulFunctionCall","src":"62781:18:19"},"nativeSrc":"62781:18:19","nodeType":"YulExpressionStatement","src":"62781:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"62824:4:19","nodeType":"YulLiteral","src":"62824:4:19","type":"","value":"0x80"},{"name":"p2","nativeSrc":"62830:2:19","nodeType":"YulIdentifier","src":"62830:2:19"}],"functionName":{"name":"writeString","nativeSrc":"62812:11:19","nodeType":"YulIdentifier","src":"62812:11:19"},"nativeSrc":"62812:21:19","nodeType":"YulFunctionCall","src":"62812:21:19"},"nativeSrc":"62812:21:19","nodeType":"YulExpressionStatement","src":"62812:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28339,"isOffset":false,"isSlot":false,"src":"62448:2:19","valueSize":1},{"declaration":28342,"isOffset":false,"isSlot":false,"src":"62478:2:19","valueSize":1},{"declaration":28345,"isOffset":false,"isSlot":false,"src":"62508:2:19","valueSize":1},{"declaration":28348,"isOffset":false,"isSlot":false,"src":"62538:2:19","valueSize":1},{"declaration":28351,"isOffset":false,"isSlot":false,"src":"62568:2:19","valueSize":1},{"declaration":28354,"isOffset":false,"isSlot":false,"src":"62598:2:19","valueSize":1},{"declaration":28331,"isOffset":false,"isSlot":false,"src":"62736:2:19","valueSize":1},{"declaration":28333,"isOffset":false,"isSlot":false,"src":"62765:2:19","valueSize":1},{"declaration":28335,"isOffset":false,"isSlot":false,"src":"62830:2:19","valueSize":1}],"id":28356,"nodeType":"InlineAssembly","src":"62070:773:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"62868:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"62874:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28357,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"62852:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62852:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28361,"nodeType":"ExpressionStatement","src":"62852:27:19"},{"AST":{"nativeSrc":"62941:185:19","nodeType":"YulBlock","src":"62941:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"62962:4:19","nodeType":"YulLiteral","src":"62962:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"62968:2:19","nodeType":"YulIdentifier","src":"62968:2:19"}],"functionName":{"name":"mstore","nativeSrc":"62955:6:19","nodeType":"YulIdentifier","src":"62955:6:19"},"nativeSrc":"62955:16:19","nodeType":"YulFunctionCall","src":"62955:16:19"},"nativeSrc":"62955:16:19","nodeType":"YulExpressionStatement","src":"62955:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"62991:4:19","nodeType":"YulLiteral","src":"62991:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"62997:2:19","nodeType":"YulIdentifier","src":"62997:2:19"}],"functionName":{"name":"mstore","nativeSrc":"62984:6:19","nodeType":"YulIdentifier","src":"62984:6:19"},"nativeSrc":"62984:16:19","nodeType":"YulFunctionCall","src":"62984:16:19"},"nativeSrc":"62984:16:19","nodeType":"YulExpressionStatement","src":"62984:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"63020:4:19","nodeType":"YulLiteral","src":"63020:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"63026:2:19","nodeType":"YulIdentifier","src":"63026:2:19"}],"functionName":{"name":"mstore","nativeSrc":"63013:6:19","nodeType":"YulIdentifier","src":"63013:6:19"},"nativeSrc":"63013:16:19","nodeType":"YulFunctionCall","src":"63013:16:19"},"nativeSrc":"63013:16:19","nodeType":"YulExpressionStatement","src":"63013:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"63049:4:19","nodeType":"YulLiteral","src":"63049:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"63055:2:19","nodeType":"YulIdentifier","src":"63055:2:19"}],"functionName":{"name":"mstore","nativeSrc":"63042:6:19","nodeType":"YulIdentifier","src":"63042:6:19"},"nativeSrc":"63042:16:19","nodeType":"YulFunctionCall","src":"63042:16:19"},"nativeSrc":"63042:16:19","nodeType":"YulExpressionStatement","src":"63042:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"63078:4:19","nodeType":"YulLiteral","src":"63078:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"63084:2:19","nodeType":"YulIdentifier","src":"63084:2:19"}],"functionName":{"name":"mstore","nativeSrc":"63071:6:19","nodeType":"YulIdentifier","src":"63071:6:19"},"nativeSrc":"63071:16:19","nodeType":"YulFunctionCall","src":"63071:16:19"},"nativeSrc":"63071:16:19","nodeType":"YulExpressionStatement","src":"63071:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"63107:4:19","nodeType":"YulLiteral","src":"63107:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"63113:2:19","nodeType":"YulIdentifier","src":"63113:2:19"}],"functionName":{"name":"mstore","nativeSrc":"63100:6:19","nodeType":"YulIdentifier","src":"63100:6:19"},"nativeSrc":"63100:16:19","nodeType":"YulFunctionCall","src":"63100:16:19"},"nativeSrc":"63100:16:19","nodeType":"YulExpressionStatement","src":"63100:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28339,"isOffset":false,"isSlot":false,"src":"62968:2:19","valueSize":1},{"declaration":28342,"isOffset":false,"isSlot":false,"src":"62997:2:19","valueSize":1},{"declaration":28345,"isOffset":false,"isSlot":false,"src":"63026:2:19","valueSize":1},{"declaration":28348,"isOffset":false,"isSlot":false,"src":"63055:2:19","valueSize":1},{"declaration":28351,"isOffset":false,"isSlot":false,"src":"63084:2:19","valueSize":1},{"declaration":28354,"isOffset":false,"isSlot":false,"src":"63113:2:19","valueSize":1}],"id":28362,"nodeType":"InlineAssembly","src":"62932:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61843:3:19","parameters":{"id":28336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28331,"mutability":"mutable","name":"p0","nameLocation":"61855:2:19","nodeType":"VariableDeclaration","scope":28364,"src":"61847:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28330,"name":"uint256","nodeType":"ElementaryTypeName","src":"61847:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28333,"mutability":"mutable","name":"p1","nameLocation":"61867:2:19","nodeType":"VariableDeclaration","scope":28364,"src":"61859:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28332,"name":"uint256","nodeType":"ElementaryTypeName","src":"61859:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28335,"mutability":"mutable","name":"p2","nameLocation":"61879:2:19","nodeType":"VariableDeclaration","scope":28364,"src":"61871:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28334,"name":"bytes32","nodeType":"ElementaryTypeName","src":"61871:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"61846:36:19"},"returnParameters":{"id":28337,"nodeType":"ParameterList","parameters":[],"src":"61897:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28399,"nodeType":"FunctionDefinition","src":"63138:1298:19","nodes":[],"body":{"id":28398,"nodeType":"Block","src":"63201:1235:19","nodes":[],"statements":[{"assignments":[28374],"declarations":[{"constant":false,"id":28374,"mutability":"mutable","name":"m0","nameLocation":"63219:2:19","nodeType":"VariableDeclaration","scope":28398,"src":"63211:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28373,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63211:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28375,"nodeType":"VariableDeclarationStatement","src":"63211:10:19"},{"assignments":[28377],"declarations":[{"constant":false,"id":28377,"mutability":"mutable","name":"m1","nameLocation":"63239:2:19","nodeType":"VariableDeclaration","scope":28398,"src":"63231:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28376,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63231:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28378,"nodeType":"VariableDeclarationStatement","src":"63231:10:19"},{"assignments":[28380],"declarations":[{"constant":false,"id":28380,"mutability":"mutable","name":"m2","nameLocation":"63259:2:19","nodeType":"VariableDeclaration","scope":28398,"src":"63251:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28379,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63251:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28381,"nodeType":"VariableDeclarationStatement","src":"63251:10:19"},{"assignments":[28383],"declarations":[{"constant":false,"id":28383,"mutability":"mutable","name":"m3","nameLocation":"63279:2:19","nodeType":"VariableDeclaration","scope":28398,"src":"63271:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28382,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63271:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28384,"nodeType":"VariableDeclarationStatement","src":"63271:10:19"},{"assignments":[28386],"declarations":[{"constant":false,"id":28386,"mutability":"mutable","name":"m4","nameLocation":"63299:2:19","nodeType":"VariableDeclaration","scope":28398,"src":"63291:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28385,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63291:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28387,"nodeType":"VariableDeclarationStatement","src":"63291:10:19"},{"assignments":[28389],"declarations":[{"constant":false,"id":28389,"mutability":"mutable","name":"m5","nameLocation":"63319:2:19","nodeType":"VariableDeclaration","scope":28398,"src":"63311:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28388,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63311:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28390,"nodeType":"VariableDeclarationStatement","src":"63311:10:19"},{"AST":{"nativeSrc":"63383:764:19","nodeType":"YulBlock","src":"63383:764:19","statements":[{"body":{"nativeSrc":"63426:313:19","nodeType":"YulBlock","src":"63426:313:19","statements":[{"nativeSrc":"63444:15:19","nodeType":"YulVariableDeclaration","src":"63444:15:19","value":{"kind":"number","nativeSrc":"63458:1:19","nodeType":"YulLiteral","src":"63458:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"63448:6:19","nodeType":"YulTypedName","src":"63448:6:19","type":""}]},{"body":{"nativeSrc":"63529:40:19","nodeType":"YulBlock","src":"63529:40:19","statements":[{"body":{"nativeSrc":"63558:9:19","nodeType":"YulBlock","src":"63558:9:19","statements":[{"nativeSrc":"63560:5:19","nodeType":"YulBreak","src":"63560:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"63546:6:19","nodeType":"YulIdentifier","src":"63546:6:19"},{"name":"w","nativeSrc":"63554:1:19","nodeType":"YulIdentifier","src":"63554:1:19"}],"functionName":{"name":"byte","nativeSrc":"63541:4:19","nodeType":"YulIdentifier","src":"63541:4:19"},"nativeSrc":"63541:15:19","nodeType":"YulFunctionCall","src":"63541:15:19"}],"functionName":{"name":"iszero","nativeSrc":"63534:6:19","nodeType":"YulIdentifier","src":"63534:6:19"},"nativeSrc":"63534:23:19","nodeType":"YulFunctionCall","src":"63534:23:19"},"nativeSrc":"63531:36:19","nodeType":"YulIf","src":"63531:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"63486:6:19","nodeType":"YulIdentifier","src":"63486:6:19"},{"kind":"number","nativeSrc":"63494:4:19","nodeType":"YulLiteral","src":"63494:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"63483:2:19","nodeType":"YulIdentifier","src":"63483:2:19"},"nativeSrc":"63483:16:19","nodeType":"YulFunctionCall","src":"63483:16:19"},"nativeSrc":"63476:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"63500:28:19","nodeType":"YulBlock","src":"63500:28:19","statements":[{"nativeSrc":"63502:24:19","nodeType":"YulAssignment","src":"63502:24:19","value":{"arguments":[{"name":"length","nativeSrc":"63516:6:19","nodeType":"YulIdentifier","src":"63516:6:19"},{"kind":"number","nativeSrc":"63524:1:19","nodeType":"YulLiteral","src":"63524:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"63512:3:19","nodeType":"YulIdentifier","src":"63512:3:19"},"nativeSrc":"63512:14:19","nodeType":"YulFunctionCall","src":"63512:14:19"},"variableNames":[{"name":"length","nativeSrc":"63502:6:19","nodeType":"YulIdentifier","src":"63502:6:19"}]}]},"pre":{"nativeSrc":"63480:2:19","nodeType":"YulBlock","src":"63480:2:19","statements":[]},"src":"63476:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"63593:3:19","nodeType":"YulIdentifier","src":"63593:3:19"},{"name":"length","nativeSrc":"63598:6:19","nodeType":"YulIdentifier","src":"63598:6:19"}],"functionName":{"name":"mstore","nativeSrc":"63586:6:19","nodeType":"YulIdentifier","src":"63586:6:19"},"nativeSrc":"63586:19:19","nodeType":"YulFunctionCall","src":"63586:19:19"},"nativeSrc":"63586:19:19","nodeType":"YulExpressionStatement","src":"63586:19:19"},{"nativeSrc":"63622:37:19","nodeType":"YulVariableDeclaration","src":"63622:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"63639:3:19","nodeType":"YulLiteral","src":"63639:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"63648:1:19","nodeType":"YulLiteral","src":"63648:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"63651:6:19","nodeType":"YulIdentifier","src":"63651:6:19"}],"functionName":{"name":"shl","nativeSrc":"63644:3:19","nodeType":"YulIdentifier","src":"63644:3:19"},"nativeSrc":"63644:14:19","nodeType":"YulFunctionCall","src":"63644:14:19"}],"functionName":{"name":"sub","nativeSrc":"63635:3:19","nodeType":"YulIdentifier","src":"63635:3:19"},"nativeSrc":"63635:24:19","nodeType":"YulFunctionCall","src":"63635:24:19"},"variables":[{"name":"shift","nativeSrc":"63626:5:19","nodeType":"YulTypedName","src":"63626:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"63687:3:19","nodeType":"YulIdentifier","src":"63687:3:19"},{"kind":"number","nativeSrc":"63692:4:19","nodeType":"YulLiteral","src":"63692:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"63683:3:19","nodeType":"YulIdentifier","src":"63683:3:19"},"nativeSrc":"63683:14:19","nodeType":"YulFunctionCall","src":"63683:14:19"},{"arguments":[{"name":"shift","nativeSrc":"63703:5:19","nodeType":"YulIdentifier","src":"63703:5:19"},{"arguments":[{"name":"shift","nativeSrc":"63714:5:19","nodeType":"YulIdentifier","src":"63714:5:19"},{"name":"w","nativeSrc":"63721:1:19","nodeType":"YulIdentifier","src":"63721:1:19"}],"functionName":{"name":"shr","nativeSrc":"63710:3:19","nodeType":"YulIdentifier","src":"63710:3:19"},"nativeSrc":"63710:13:19","nodeType":"YulFunctionCall","src":"63710:13:19"}],"functionName":{"name":"shl","nativeSrc":"63699:3:19","nodeType":"YulIdentifier","src":"63699:3:19"},"nativeSrc":"63699:25:19","nodeType":"YulFunctionCall","src":"63699:25:19"}],"functionName":{"name":"mstore","nativeSrc":"63676:6:19","nodeType":"YulIdentifier","src":"63676:6:19"},"nativeSrc":"63676:49:19","nodeType":"YulFunctionCall","src":"63676:49:19"},"nativeSrc":"63676:49:19","nodeType":"YulExpressionStatement","src":"63676:49:19"}]},"name":"writeString","nativeSrc":"63397:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"63418:3:19","nodeType":"YulTypedName","src":"63418:3:19","type":""},{"name":"w","nativeSrc":"63423:1:19","nodeType":"YulTypedName","src":"63423:1:19","type":""}],"src":"63397:342:19"},{"nativeSrc":"63752:17:19","nodeType":"YulAssignment","src":"63752:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"63764:4:19","nodeType":"YulLiteral","src":"63764:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"63758:5:19","nodeType":"YulIdentifier","src":"63758:5:19"},"nativeSrc":"63758:11:19","nodeType":"YulFunctionCall","src":"63758:11:19"},"variableNames":[{"name":"m0","nativeSrc":"63752:2:19","nodeType":"YulIdentifier","src":"63752:2:19"}]},{"nativeSrc":"63782:17:19","nodeType":"YulAssignment","src":"63782:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"63794:4:19","nodeType":"YulLiteral","src":"63794:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"63788:5:19","nodeType":"YulIdentifier","src":"63788:5:19"},"nativeSrc":"63788:11:19","nodeType":"YulFunctionCall","src":"63788:11:19"},"variableNames":[{"name":"m1","nativeSrc":"63782:2:19","nodeType":"YulIdentifier","src":"63782:2:19"}]},{"nativeSrc":"63812:17:19","nodeType":"YulAssignment","src":"63812:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"63824:4:19","nodeType":"YulLiteral","src":"63824:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"63818:5:19","nodeType":"YulIdentifier","src":"63818:5:19"},"nativeSrc":"63818:11:19","nodeType":"YulFunctionCall","src":"63818:11:19"},"variableNames":[{"name":"m2","nativeSrc":"63812:2:19","nodeType":"YulIdentifier","src":"63812:2:19"}]},{"nativeSrc":"63842:17:19","nodeType":"YulAssignment","src":"63842:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"63854:4:19","nodeType":"YulLiteral","src":"63854:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"63848:5:19","nodeType":"YulIdentifier","src":"63848:5:19"},"nativeSrc":"63848:11:19","nodeType":"YulFunctionCall","src":"63848:11:19"},"variableNames":[{"name":"m3","nativeSrc":"63842:2:19","nodeType":"YulIdentifier","src":"63842:2:19"}]},{"nativeSrc":"63872:17:19","nodeType":"YulAssignment","src":"63872:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"63884:4:19","nodeType":"YulLiteral","src":"63884:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"63878:5:19","nodeType":"YulIdentifier","src":"63878:5:19"},"nativeSrc":"63878:11:19","nodeType":"YulFunctionCall","src":"63878:11:19"},"variableNames":[{"name":"m4","nativeSrc":"63872:2:19","nodeType":"YulIdentifier","src":"63872:2:19"}]},{"nativeSrc":"63902:17:19","nodeType":"YulAssignment","src":"63902:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"63914:4:19","nodeType":"YulLiteral","src":"63914:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"63908:5:19","nodeType":"YulIdentifier","src":"63908:5:19"},"nativeSrc":"63908:11:19","nodeType":"YulFunctionCall","src":"63908:11:19"},"variableNames":[{"name":"m5","nativeSrc":"63902:2:19","nodeType":"YulIdentifier","src":"63902:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"63997:4:19","nodeType":"YulLiteral","src":"63997:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"64003:10:19","nodeType":"YulLiteral","src":"64003:10:19","type":"","value":"0x7afac959"}],"functionName":{"name":"mstore","nativeSrc":"63990:6:19","nodeType":"YulIdentifier","src":"63990:6:19"},"nativeSrc":"63990:24:19","nodeType":"YulFunctionCall","src":"63990:24:19"},"nativeSrc":"63990:24:19","nodeType":"YulExpressionStatement","src":"63990:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64034:4:19","nodeType":"YulLiteral","src":"64034:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"64040:2:19","nodeType":"YulIdentifier","src":"64040:2:19"}],"functionName":{"name":"mstore","nativeSrc":"64027:6:19","nodeType":"YulIdentifier","src":"64027:6:19"},"nativeSrc":"64027:16:19","nodeType":"YulFunctionCall","src":"64027:16:19"},"nativeSrc":"64027:16:19","nodeType":"YulExpressionStatement","src":"64027:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64063:4:19","nodeType":"YulLiteral","src":"64063:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"64069:4:19","nodeType":"YulLiteral","src":"64069:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"64056:6:19","nodeType":"YulIdentifier","src":"64056:6:19"},"nativeSrc":"64056:18:19","nodeType":"YulFunctionCall","src":"64056:18:19"},"nativeSrc":"64056:18:19","nodeType":"YulExpressionStatement","src":"64056:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64094:4:19","nodeType":"YulLiteral","src":"64094:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"64100:2:19","nodeType":"YulIdentifier","src":"64100:2:19"}],"functionName":{"name":"mstore","nativeSrc":"64087:6:19","nodeType":"YulIdentifier","src":"64087:6:19"},"nativeSrc":"64087:16:19","nodeType":"YulFunctionCall","src":"64087:16:19"},"nativeSrc":"64087:16:19","nodeType":"YulExpressionStatement","src":"64087:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64128:4:19","nodeType":"YulLiteral","src":"64128:4:19","type":"","value":"0x80"},{"name":"p1","nativeSrc":"64134:2:19","nodeType":"YulIdentifier","src":"64134:2:19"}],"functionName":{"name":"writeString","nativeSrc":"64116:11:19","nodeType":"YulIdentifier","src":"64116:11:19"},"nativeSrc":"64116:21:19","nodeType":"YulFunctionCall","src":"64116:21:19"},"nativeSrc":"64116:21:19","nodeType":"YulExpressionStatement","src":"64116:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28374,"isOffset":false,"isSlot":false,"src":"63752:2:19","valueSize":1},{"declaration":28377,"isOffset":false,"isSlot":false,"src":"63782:2:19","valueSize":1},{"declaration":28380,"isOffset":false,"isSlot":false,"src":"63812:2:19","valueSize":1},{"declaration":28383,"isOffset":false,"isSlot":false,"src":"63842:2:19","valueSize":1},{"declaration":28386,"isOffset":false,"isSlot":false,"src":"63872:2:19","valueSize":1},{"declaration":28389,"isOffset":false,"isSlot":false,"src":"63902:2:19","valueSize":1},{"declaration":28366,"isOffset":false,"isSlot":false,"src":"64040:2:19","valueSize":1},{"declaration":28368,"isOffset":false,"isSlot":false,"src":"64134:2:19","valueSize":1},{"declaration":28370,"isOffset":false,"isSlot":false,"src":"64100:2:19","valueSize":1}],"id":28391,"nodeType":"InlineAssembly","src":"63374:773:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"64172:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"64178:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28392,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"64156:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64156:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28396,"nodeType":"ExpressionStatement","src":"64156:27:19"},{"AST":{"nativeSrc":"64245:185:19","nodeType":"YulBlock","src":"64245:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"64266:4:19","nodeType":"YulLiteral","src":"64266:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"64272:2:19","nodeType":"YulIdentifier","src":"64272:2:19"}],"functionName":{"name":"mstore","nativeSrc":"64259:6:19","nodeType":"YulIdentifier","src":"64259:6:19"},"nativeSrc":"64259:16:19","nodeType":"YulFunctionCall","src":"64259:16:19"},"nativeSrc":"64259:16:19","nodeType":"YulExpressionStatement","src":"64259:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64295:4:19","nodeType":"YulLiteral","src":"64295:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"64301:2:19","nodeType":"YulIdentifier","src":"64301:2:19"}],"functionName":{"name":"mstore","nativeSrc":"64288:6:19","nodeType":"YulIdentifier","src":"64288:6:19"},"nativeSrc":"64288:16:19","nodeType":"YulFunctionCall","src":"64288:16:19"},"nativeSrc":"64288:16:19","nodeType":"YulExpressionStatement","src":"64288:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64324:4:19","nodeType":"YulLiteral","src":"64324:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"64330:2:19","nodeType":"YulIdentifier","src":"64330:2:19"}],"functionName":{"name":"mstore","nativeSrc":"64317:6:19","nodeType":"YulIdentifier","src":"64317:6:19"},"nativeSrc":"64317:16:19","nodeType":"YulFunctionCall","src":"64317:16:19"},"nativeSrc":"64317:16:19","nodeType":"YulExpressionStatement","src":"64317:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64353:4:19","nodeType":"YulLiteral","src":"64353:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"64359:2:19","nodeType":"YulIdentifier","src":"64359:2:19"}],"functionName":{"name":"mstore","nativeSrc":"64346:6:19","nodeType":"YulIdentifier","src":"64346:6:19"},"nativeSrc":"64346:16:19","nodeType":"YulFunctionCall","src":"64346:16:19"},"nativeSrc":"64346:16:19","nodeType":"YulExpressionStatement","src":"64346:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64382:4:19","nodeType":"YulLiteral","src":"64382:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"64388:2:19","nodeType":"YulIdentifier","src":"64388:2:19"}],"functionName":{"name":"mstore","nativeSrc":"64375:6:19","nodeType":"YulIdentifier","src":"64375:6:19"},"nativeSrc":"64375:16:19","nodeType":"YulFunctionCall","src":"64375:16:19"},"nativeSrc":"64375:16:19","nodeType":"YulExpressionStatement","src":"64375:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"64411:4:19","nodeType":"YulLiteral","src":"64411:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"64417:2:19","nodeType":"YulIdentifier","src":"64417:2:19"}],"functionName":{"name":"mstore","nativeSrc":"64404:6:19","nodeType":"YulIdentifier","src":"64404:6:19"},"nativeSrc":"64404:16:19","nodeType":"YulFunctionCall","src":"64404:16:19"},"nativeSrc":"64404:16:19","nodeType":"YulExpressionStatement","src":"64404:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28374,"isOffset":false,"isSlot":false,"src":"64272:2:19","valueSize":1},{"declaration":28377,"isOffset":false,"isSlot":false,"src":"64301:2:19","valueSize":1},{"declaration":28380,"isOffset":false,"isSlot":false,"src":"64330:2:19","valueSize":1},{"declaration":28383,"isOffset":false,"isSlot":false,"src":"64359:2:19","valueSize":1},{"declaration":28386,"isOffset":false,"isSlot":false,"src":"64388:2:19","valueSize":1},{"declaration":28389,"isOffset":false,"isSlot":false,"src":"64417:2:19","valueSize":1}],"id":28397,"nodeType":"InlineAssembly","src":"64236:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63147:3:19","parameters":{"id":28371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28366,"mutability":"mutable","name":"p0","nameLocation":"63159:2:19","nodeType":"VariableDeclaration","scope":28399,"src":"63151:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28365,"name":"uint256","nodeType":"ElementaryTypeName","src":"63151:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28368,"mutability":"mutable","name":"p1","nameLocation":"63171:2:19","nodeType":"VariableDeclaration","scope":28399,"src":"63163:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28367,"name":"bytes32","nodeType":"ElementaryTypeName","src":"63163:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28370,"mutability":"mutable","name":"p2","nameLocation":"63183:2:19","nodeType":"VariableDeclaration","scope":28399,"src":"63175:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28369,"name":"address","nodeType":"ElementaryTypeName","src":"63175:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"63150:36:19"},"returnParameters":{"id":28372,"nodeType":"ParameterList","parameters":[],"src":"63201:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28434,"nodeType":"FunctionDefinition","src":"64442:1292:19","nodes":[],"body":{"id":28433,"nodeType":"Block","src":"64502:1232:19","nodes":[],"statements":[{"assignments":[28409],"declarations":[{"constant":false,"id":28409,"mutability":"mutable","name":"m0","nameLocation":"64520:2:19","nodeType":"VariableDeclaration","scope":28433,"src":"64512:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28408,"name":"bytes32","nodeType":"ElementaryTypeName","src":"64512:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28410,"nodeType":"VariableDeclarationStatement","src":"64512:10:19"},{"assignments":[28412],"declarations":[{"constant":false,"id":28412,"mutability":"mutable","name":"m1","nameLocation":"64540:2:19","nodeType":"VariableDeclaration","scope":28433,"src":"64532:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28411,"name":"bytes32","nodeType":"ElementaryTypeName","src":"64532:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28413,"nodeType":"VariableDeclarationStatement","src":"64532:10:19"},{"assignments":[28415],"declarations":[{"constant":false,"id":28415,"mutability":"mutable","name":"m2","nameLocation":"64560:2:19","nodeType":"VariableDeclaration","scope":28433,"src":"64552:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28414,"name":"bytes32","nodeType":"ElementaryTypeName","src":"64552:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28416,"nodeType":"VariableDeclarationStatement","src":"64552:10:19"},{"assignments":[28418],"declarations":[{"constant":false,"id":28418,"mutability":"mutable","name":"m3","nameLocation":"64580:2:19","nodeType":"VariableDeclaration","scope":28433,"src":"64572:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28417,"name":"bytes32","nodeType":"ElementaryTypeName","src":"64572:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28419,"nodeType":"VariableDeclarationStatement","src":"64572:10:19"},{"assignments":[28421],"declarations":[{"constant":false,"id":28421,"mutability":"mutable","name":"m4","nameLocation":"64600:2:19","nodeType":"VariableDeclaration","scope":28433,"src":"64592:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28420,"name":"bytes32","nodeType":"ElementaryTypeName","src":"64592:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28422,"nodeType":"VariableDeclarationStatement","src":"64592:10:19"},{"assignments":[28424],"declarations":[{"constant":false,"id":28424,"mutability":"mutable","name":"m5","nameLocation":"64620:2:19","nodeType":"VariableDeclaration","scope":28433,"src":"64612:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28423,"name":"bytes32","nodeType":"ElementaryTypeName","src":"64612:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28425,"nodeType":"VariableDeclarationStatement","src":"64612:10:19"},{"AST":{"nativeSrc":"64684:761:19","nodeType":"YulBlock","src":"64684:761:19","statements":[{"body":{"nativeSrc":"64727:313:19","nodeType":"YulBlock","src":"64727:313:19","statements":[{"nativeSrc":"64745:15:19","nodeType":"YulVariableDeclaration","src":"64745:15:19","value":{"kind":"number","nativeSrc":"64759:1:19","nodeType":"YulLiteral","src":"64759:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"64749:6:19","nodeType":"YulTypedName","src":"64749:6:19","type":""}]},{"body":{"nativeSrc":"64830:40:19","nodeType":"YulBlock","src":"64830:40:19","statements":[{"body":{"nativeSrc":"64859:9:19","nodeType":"YulBlock","src":"64859:9:19","statements":[{"nativeSrc":"64861:5:19","nodeType":"YulBreak","src":"64861:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"64847:6:19","nodeType":"YulIdentifier","src":"64847:6:19"},{"name":"w","nativeSrc":"64855:1:19","nodeType":"YulIdentifier","src":"64855:1:19"}],"functionName":{"name":"byte","nativeSrc":"64842:4:19","nodeType":"YulIdentifier","src":"64842:4:19"},"nativeSrc":"64842:15:19","nodeType":"YulFunctionCall","src":"64842:15:19"}],"functionName":{"name":"iszero","nativeSrc":"64835:6:19","nodeType":"YulIdentifier","src":"64835:6:19"},"nativeSrc":"64835:23:19","nodeType":"YulFunctionCall","src":"64835:23:19"},"nativeSrc":"64832:36:19","nodeType":"YulIf","src":"64832:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"64787:6:19","nodeType":"YulIdentifier","src":"64787:6:19"},{"kind":"number","nativeSrc":"64795:4:19","nodeType":"YulLiteral","src":"64795:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"64784:2:19","nodeType":"YulIdentifier","src":"64784:2:19"},"nativeSrc":"64784:16:19","nodeType":"YulFunctionCall","src":"64784:16:19"},"nativeSrc":"64777:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"64801:28:19","nodeType":"YulBlock","src":"64801:28:19","statements":[{"nativeSrc":"64803:24:19","nodeType":"YulAssignment","src":"64803:24:19","value":{"arguments":[{"name":"length","nativeSrc":"64817:6:19","nodeType":"YulIdentifier","src":"64817:6:19"},{"kind":"number","nativeSrc":"64825:1:19","nodeType":"YulLiteral","src":"64825:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"64813:3:19","nodeType":"YulIdentifier","src":"64813:3:19"},"nativeSrc":"64813:14:19","nodeType":"YulFunctionCall","src":"64813:14:19"},"variableNames":[{"name":"length","nativeSrc":"64803:6:19","nodeType":"YulIdentifier","src":"64803:6:19"}]}]},"pre":{"nativeSrc":"64781:2:19","nodeType":"YulBlock","src":"64781:2:19","statements":[]},"src":"64777:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"64894:3:19","nodeType":"YulIdentifier","src":"64894:3:19"},{"name":"length","nativeSrc":"64899:6:19","nodeType":"YulIdentifier","src":"64899:6:19"}],"functionName":{"name":"mstore","nativeSrc":"64887:6:19","nodeType":"YulIdentifier","src":"64887:6:19"},"nativeSrc":"64887:19:19","nodeType":"YulFunctionCall","src":"64887:19:19"},"nativeSrc":"64887:19:19","nodeType":"YulExpressionStatement","src":"64887:19:19"},{"nativeSrc":"64923:37:19","nodeType":"YulVariableDeclaration","src":"64923:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"64940:3:19","nodeType":"YulLiteral","src":"64940:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"64949:1:19","nodeType":"YulLiteral","src":"64949:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"64952:6:19","nodeType":"YulIdentifier","src":"64952:6:19"}],"functionName":{"name":"shl","nativeSrc":"64945:3:19","nodeType":"YulIdentifier","src":"64945:3:19"},"nativeSrc":"64945:14:19","nodeType":"YulFunctionCall","src":"64945:14:19"}],"functionName":{"name":"sub","nativeSrc":"64936:3:19","nodeType":"YulIdentifier","src":"64936:3:19"},"nativeSrc":"64936:24:19","nodeType":"YulFunctionCall","src":"64936:24:19"},"variables":[{"name":"shift","nativeSrc":"64927:5:19","nodeType":"YulTypedName","src":"64927:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"64988:3:19","nodeType":"YulIdentifier","src":"64988:3:19"},{"kind":"number","nativeSrc":"64993:4:19","nodeType":"YulLiteral","src":"64993:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"64984:3:19","nodeType":"YulIdentifier","src":"64984:3:19"},"nativeSrc":"64984:14:19","nodeType":"YulFunctionCall","src":"64984:14:19"},{"arguments":[{"name":"shift","nativeSrc":"65004:5:19","nodeType":"YulIdentifier","src":"65004:5:19"},{"arguments":[{"name":"shift","nativeSrc":"65015:5:19","nodeType":"YulIdentifier","src":"65015:5:19"},{"name":"w","nativeSrc":"65022:1:19","nodeType":"YulIdentifier","src":"65022:1:19"}],"functionName":{"name":"shr","nativeSrc":"65011:3:19","nodeType":"YulIdentifier","src":"65011:3:19"},"nativeSrc":"65011:13:19","nodeType":"YulFunctionCall","src":"65011:13:19"}],"functionName":{"name":"shl","nativeSrc":"65000:3:19","nodeType":"YulIdentifier","src":"65000:3:19"},"nativeSrc":"65000:25:19","nodeType":"YulFunctionCall","src":"65000:25:19"}],"functionName":{"name":"mstore","nativeSrc":"64977:6:19","nodeType":"YulIdentifier","src":"64977:6:19"},"nativeSrc":"64977:49:19","nodeType":"YulFunctionCall","src":"64977:49:19"},"nativeSrc":"64977:49:19","nodeType":"YulExpressionStatement","src":"64977:49:19"}]},"name":"writeString","nativeSrc":"64698:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"64719:3:19","nodeType":"YulTypedName","src":"64719:3:19","type":""},{"name":"w","nativeSrc":"64724:1:19","nodeType":"YulTypedName","src":"64724:1:19","type":""}],"src":"64698:342:19"},{"nativeSrc":"65053:17:19","nodeType":"YulAssignment","src":"65053:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"65065:4:19","nodeType":"YulLiteral","src":"65065:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"65059:5:19","nodeType":"YulIdentifier","src":"65059:5:19"},"nativeSrc":"65059:11:19","nodeType":"YulFunctionCall","src":"65059:11:19"},"variableNames":[{"name":"m0","nativeSrc":"65053:2:19","nodeType":"YulIdentifier","src":"65053:2:19"}]},{"nativeSrc":"65083:17:19","nodeType":"YulAssignment","src":"65083:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"65095:4:19","nodeType":"YulLiteral","src":"65095:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"65089:5:19","nodeType":"YulIdentifier","src":"65089:5:19"},"nativeSrc":"65089:11:19","nodeType":"YulFunctionCall","src":"65089:11:19"},"variableNames":[{"name":"m1","nativeSrc":"65083:2:19","nodeType":"YulIdentifier","src":"65083:2:19"}]},{"nativeSrc":"65113:17:19","nodeType":"YulAssignment","src":"65113:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"65125:4:19","nodeType":"YulLiteral","src":"65125:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"65119:5:19","nodeType":"YulIdentifier","src":"65119:5:19"},"nativeSrc":"65119:11:19","nodeType":"YulFunctionCall","src":"65119:11:19"},"variableNames":[{"name":"m2","nativeSrc":"65113:2:19","nodeType":"YulIdentifier","src":"65113:2:19"}]},{"nativeSrc":"65143:17:19","nodeType":"YulAssignment","src":"65143:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"65155:4:19","nodeType":"YulLiteral","src":"65155:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"65149:5:19","nodeType":"YulIdentifier","src":"65149:5:19"},"nativeSrc":"65149:11:19","nodeType":"YulFunctionCall","src":"65149:11:19"},"variableNames":[{"name":"m3","nativeSrc":"65143:2:19","nodeType":"YulIdentifier","src":"65143:2:19"}]},{"nativeSrc":"65173:17:19","nodeType":"YulAssignment","src":"65173:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"65185:4:19","nodeType":"YulLiteral","src":"65185:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"65179:5:19","nodeType":"YulIdentifier","src":"65179:5:19"},"nativeSrc":"65179:11:19","nodeType":"YulFunctionCall","src":"65179:11:19"},"variableNames":[{"name":"m4","nativeSrc":"65173:2:19","nodeType":"YulIdentifier","src":"65173:2:19"}]},{"nativeSrc":"65203:17:19","nodeType":"YulAssignment","src":"65203:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"65215:4:19","nodeType":"YulLiteral","src":"65215:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"65209:5:19","nodeType":"YulIdentifier","src":"65209:5:19"},"nativeSrc":"65209:11:19","nodeType":"YulFunctionCall","src":"65209:11:19"},"variableNames":[{"name":"m5","nativeSrc":"65203:2:19","nodeType":"YulIdentifier","src":"65203:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65295:4:19","nodeType":"YulLiteral","src":"65295:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"65301:10:19","nodeType":"YulLiteral","src":"65301:10:19","type":"","value":"0x4ceda75a"}],"functionName":{"name":"mstore","nativeSrc":"65288:6:19","nodeType":"YulIdentifier","src":"65288:6:19"},"nativeSrc":"65288:24:19","nodeType":"YulFunctionCall","src":"65288:24:19"},"nativeSrc":"65288:24:19","nodeType":"YulExpressionStatement","src":"65288:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65332:4:19","nodeType":"YulLiteral","src":"65332:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"65338:2:19","nodeType":"YulIdentifier","src":"65338:2:19"}],"functionName":{"name":"mstore","nativeSrc":"65325:6:19","nodeType":"YulIdentifier","src":"65325:6:19"},"nativeSrc":"65325:16:19","nodeType":"YulFunctionCall","src":"65325:16:19"},"nativeSrc":"65325:16:19","nodeType":"YulExpressionStatement","src":"65325:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65361:4:19","nodeType":"YulLiteral","src":"65361:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"65367:4:19","nodeType":"YulLiteral","src":"65367:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"65354:6:19","nodeType":"YulIdentifier","src":"65354:6:19"},"nativeSrc":"65354:18:19","nodeType":"YulFunctionCall","src":"65354:18:19"},"nativeSrc":"65354:18:19","nodeType":"YulExpressionStatement","src":"65354:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65392:4:19","nodeType":"YulLiteral","src":"65392:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"65398:2:19","nodeType":"YulIdentifier","src":"65398:2:19"}],"functionName":{"name":"mstore","nativeSrc":"65385:6:19","nodeType":"YulIdentifier","src":"65385:6:19"},"nativeSrc":"65385:16:19","nodeType":"YulFunctionCall","src":"65385:16:19"},"nativeSrc":"65385:16:19","nodeType":"YulExpressionStatement","src":"65385:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65426:4:19","nodeType":"YulLiteral","src":"65426:4:19","type":"","value":"0x80"},{"name":"p1","nativeSrc":"65432:2:19","nodeType":"YulIdentifier","src":"65432:2:19"}],"functionName":{"name":"writeString","nativeSrc":"65414:11:19","nodeType":"YulIdentifier","src":"65414:11:19"},"nativeSrc":"65414:21:19","nodeType":"YulFunctionCall","src":"65414:21:19"},"nativeSrc":"65414:21:19","nodeType":"YulExpressionStatement","src":"65414:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28409,"isOffset":false,"isSlot":false,"src":"65053:2:19","valueSize":1},{"declaration":28412,"isOffset":false,"isSlot":false,"src":"65083:2:19","valueSize":1},{"declaration":28415,"isOffset":false,"isSlot":false,"src":"65113:2:19","valueSize":1},{"declaration":28418,"isOffset":false,"isSlot":false,"src":"65143:2:19","valueSize":1},{"declaration":28421,"isOffset":false,"isSlot":false,"src":"65173:2:19","valueSize":1},{"declaration":28424,"isOffset":false,"isSlot":false,"src":"65203:2:19","valueSize":1},{"declaration":28401,"isOffset":false,"isSlot":false,"src":"65338:2:19","valueSize":1},{"declaration":28403,"isOffset":false,"isSlot":false,"src":"65432:2:19","valueSize":1},{"declaration":28405,"isOffset":false,"isSlot":false,"src":"65398:2:19","valueSize":1}],"id":28426,"nodeType":"InlineAssembly","src":"64675:770:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"65470:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"65476:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28427,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"65454:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65454:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28431,"nodeType":"ExpressionStatement","src":"65454:27:19"},{"AST":{"nativeSrc":"65543:185:19","nodeType":"YulBlock","src":"65543:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"65564:4:19","nodeType":"YulLiteral","src":"65564:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"65570:2:19","nodeType":"YulIdentifier","src":"65570:2:19"}],"functionName":{"name":"mstore","nativeSrc":"65557:6:19","nodeType":"YulIdentifier","src":"65557:6:19"},"nativeSrc":"65557:16:19","nodeType":"YulFunctionCall","src":"65557:16:19"},"nativeSrc":"65557:16:19","nodeType":"YulExpressionStatement","src":"65557:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65593:4:19","nodeType":"YulLiteral","src":"65593:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"65599:2:19","nodeType":"YulIdentifier","src":"65599:2:19"}],"functionName":{"name":"mstore","nativeSrc":"65586:6:19","nodeType":"YulIdentifier","src":"65586:6:19"},"nativeSrc":"65586:16:19","nodeType":"YulFunctionCall","src":"65586:16:19"},"nativeSrc":"65586:16:19","nodeType":"YulExpressionStatement","src":"65586:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65622:4:19","nodeType":"YulLiteral","src":"65622:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"65628:2:19","nodeType":"YulIdentifier","src":"65628:2:19"}],"functionName":{"name":"mstore","nativeSrc":"65615:6:19","nodeType":"YulIdentifier","src":"65615:6:19"},"nativeSrc":"65615:16:19","nodeType":"YulFunctionCall","src":"65615:16:19"},"nativeSrc":"65615:16:19","nodeType":"YulExpressionStatement","src":"65615:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65651:4:19","nodeType":"YulLiteral","src":"65651:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"65657:2:19","nodeType":"YulIdentifier","src":"65657:2:19"}],"functionName":{"name":"mstore","nativeSrc":"65644:6:19","nodeType":"YulIdentifier","src":"65644:6:19"},"nativeSrc":"65644:16:19","nodeType":"YulFunctionCall","src":"65644:16:19"},"nativeSrc":"65644:16:19","nodeType":"YulExpressionStatement","src":"65644:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65680:4:19","nodeType":"YulLiteral","src":"65680:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"65686:2:19","nodeType":"YulIdentifier","src":"65686:2:19"}],"functionName":{"name":"mstore","nativeSrc":"65673:6:19","nodeType":"YulIdentifier","src":"65673:6:19"},"nativeSrc":"65673:16:19","nodeType":"YulFunctionCall","src":"65673:16:19"},"nativeSrc":"65673:16:19","nodeType":"YulExpressionStatement","src":"65673:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"65709:4:19","nodeType":"YulLiteral","src":"65709:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"65715:2:19","nodeType":"YulIdentifier","src":"65715:2:19"}],"functionName":{"name":"mstore","nativeSrc":"65702:6:19","nodeType":"YulIdentifier","src":"65702:6:19"},"nativeSrc":"65702:16:19","nodeType":"YulFunctionCall","src":"65702:16:19"},"nativeSrc":"65702:16:19","nodeType":"YulExpressionStatement","src":"65702:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28409,"isOffset":false,"isSlot":false,"src":"65570:2:19","valueSize":1},{"declaration":28412,"isOffset":false,"isSlot":false,"src":"65599:2:19","valueSize":1},{"declaration":28415,"isOffset":false,"isSlot":false,"src":"65628:2:19","valueSize":1},{"declaration":28418,"isOffset":false,"isSlot":false,"src":"65657:2:19","valueSize":1},{"declaration":28421,"isOffset":false,"isSlot":false,"src":"65686:2:19","valueSize":1},{"declaration":28424,"isOffset":false,"isSlot":false,"src":"65715:2:19","valueSize":1}],"id":28432,"nodeType":"InlineAssembly","src":"65534:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64451:3:19","parameters":{"id":28406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28401,"mutability":"mutable","name":"p0","nameLocation":"64463:2:19","nodeType":"VariableDeclaration","scope":28434,"src":"64455:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28400,"name":"uint256","nodeType":"ElementaryTypeName","src":"64455:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28403,"mutability":"mutable","name":"p1","nameLocation":"64475:2:19","nodeType":"VariableDeclaration","scope":28434,"src":"64467:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28402,"name":"bytes32","nodeType":"ElementaryTypeName","src":"64467:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28405,"mutability":"mutable","name":"p2","nameLocation":"64484:2:19","nodeType":"VariableDeclaration","scope":28434,"src":"64479:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28404,"name":"bool","nodeType":"ElementaryTypeName","src":"64479:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"64454:33:19"},"returnParameters":{"id":28407,"nodeType":"ParameterList","parameters":[],"src":"64502:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28469,"nodeType":"FunctionDefinition","src":"65740:1298:19","nodes":[],"body":{"id":28468,"nodeType":"Block","src":"65803:1235:19","nodes":[],"statements":[{"assignments":[28444],"declarations":[{"constant":false,"id":28444,"mutability":"mutable","name":"m0","nameLocation":"65821:2:19","nodeType":"VariableDeclaration","scope":28468,"src":"65813:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28443,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65813:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28445,"nodeType":"VariableDeclarationStatement","src":"65813:10:19"},{"assignments":[28447],"declarations":[{"constant":false,"id":28447,"mutability":"mutable","name":"m1","nameLocation":"65841:2:19","nodeType":"VariableDeclaration","scope":28468,"src":"65833:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28446,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65833:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28448,"nodeType":"VariableDeclarationStatement","src":"65833:10:19"},{"assignments":[28450],"declarations":[{"constant":false,"id":28450,"mutability":"mutable","name":"m2","nameLocation":"65861:2:19","nodeType":"VariableDeclaration","scope":28468,"src":"65853:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28449,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65853:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28451,"nodeType":"VariableDeclarationStatement","src":"65853:10:19"},{"assignments":[28453],"declarations":[{"constant":false,"id":28453,"mutability":"mutable","name":"m3","nameLocation":"65881:2:19","nodeType":"VariableDeclaration","scope":28468,"src":"65873:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28452,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65873:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28454,"nodeType":"VariableDeclarationStatement","src":"65873:10:19"},{"assignments":[28456],"declarations":[{"constant":false,"id":28456,"mutability":"mutable","name":"m4","nameLocation":"65901:2:19","nodeType":"VariableDeclaration","scope":28468,"src":"65893:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28455,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65893:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28457,"nodeType":"VariableDeclarationStatement","src":"65893:10:19"},{"assignments":[28459],"declarations":[{"constant":false,"id":28459,"mutability":"mutable","name":"m5","nameLocation":"65921:2:19","nodeType":"VariableDeclaration","scope":28468,"src":"65913:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28458,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65913:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28460,"nodeType":"VariableDeclarationStatement","src":"65913:10:19"},{"AST":{"nativeSrc":"65985:764:19","nodeType":"YulBlock","src":"65985:764:19","statements":[{"body":{"nativeSrc":"66028:313:19","nodeType":"YulBlock","src":"66028:313:19","statements":[{"nativeSrc":"66046:15:19","nodeType":"YulVariableDeclaration","src":"66046:15:19","value":{"kind":"number","nativeSrc":"66060:1:19","nodeType":"YulLiteral","src":"66060:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"66050:6:19","nodeType":"YulTypedName","src":"66050:6:19","type":""}]},{"body":{"nativeSrc":"66131:40:19","nodeType":"YulBlock","src":"66131:40:19","statements":[{"body":{"nativeSrc":"66160:9:19","nodeType":"YulBlock","src":"66160:9:19","statements":[{"nativeSrc":"66162:5:19","nodeType":"YulBreak","src":"66162:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"66148:6:19","nodeType":"YulIdentifier","src":"66148:6:19"},{"name":"w","nativeSrc":"66156:1:19","nodeType":"YulIdentifier","src":"66156:1:19"}],"functionName":{"name":"byte","nativeSrc":"66143:4:19","nodeType":"YulIdentifier","src":"66143:4:19"},"nativeSrc":"66143:15:19","nodeType":"YulFunctionCall","src":"66143:15:19"}],"functionName":{"name":"iszero","nativeSrc":"66136:6:19","nodeType":"YulIdentifier","src":"66136:6:19"},"nativeSrc":"66136:23:19","nodeType":"YulFunctionCall","src":"66136:23:19"},"nativeSrc":"66133:36:19","nodeType":"YulIf","src":"66133:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"66088:6:19","nodeType":"YulIdentifier","src":"66088:6:19"},{"kind":"number","nativeSrc":"66096:4:19","nodeType":"YulLiteral","src":"66096:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"66085:2:19","nodeType":"YulIdentifier","src":"66085:2:19"},"nativeSrc":"66085:16:19","nodeType":"YulFunctionCall","src":"66085:16:19"},"nativeSrc":"66078:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"66102:28:19","nodeType":"YulBlock","src":"66102:28:19","statements":[{"nativeSrc":"66104:24:19","nodeType":"YulAssignment","src":"66104:24:19","value":{"arguments":[{"name":"length","nativeSrc":"66118:6:19","nodeType":"YulIdentifier","src":"66118:6:19"},{"kind":"number","nativeSrc":"66126:1:19","nodeType":"YulLiteral","src":"66126:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"66114:3:19","nodeType":"YulIdentifier","src":"66114:3:19"},"nativeSrc":"66114:14:19","nodeType":"YulFunctionCall","src":"66114:14:19"},"variableNames":[{"name":"length","nativeSrc":"66104:6:19","nodeType":"YulIdentifier","src":"66104:6:19"}]}]},"pre":{"nativeSrc":"66082:2:19","nodeType":"YulBlock","src":"66082:2:19","statements":[]},"src":"66078:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"66195:3:19","nodeType":"YulIdentifier","src":"66195:3:19"},{"name":"length","nativeSrc":"66200:6:19","nodeType":"YulIdentifier","src":"66200:6:19"}],"functionName":{"name":"mstore","nativeSrc":"66188:6:19","nodeType":"YulIdentifier","src":"66188:6:19"},"nativeSrc":"66188:19:19","nodeType":"YulFunctionCall","src":"66188:19:19"},"nativeSrc":"66188:19:19","nodeType":"YulExpressionStatement","src":"66188:19:19"},{"nativeSrc":"66224:37:19","nodeType":"YulVariableDeclaration","src":"66224:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"66241:3:19","nodeType":"YulLiteral","src":"66241:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"66250:1:19","nodeType":"YulLiteral","src":"66250:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"66253:6:19","nodeType":"YulIdentifier","src":"66253:6:19"}],"functionName":{"name":"shl","nativeSrc":"66246:3:19","nodeType":"YulIdentifier","src":"66246:3:19"},"nativeSrc":"66246:14:19","nodeType":"YulFunctionCall","src":"66246:14:19"}],"functionName":{"name":"sub","nativeSrc":"66237:3:19","nodeType":"YulIdentifier","src":"66237:3:19"},"nativeSrc":"66237:24:19","nodeType":"YulFunctionCall","src":"66237:24:19"},"variables":[{"name":"shift","nativeSrc":"66228:5:19","nodeType":"YulTypedName","src":"66228:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"66289:3:19","nodeType":"YulIdentifier","src":"66289:3:19"},{"kind":"number","nativeSrc":"66294:4:19","nodeType":"YulLiteral","src":"66294:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"66285:3:19","nodeType":"YulIdentifier","src":"66285:3:19"},"nativeSrc":"66285:14:19","nodeType":"YulFunctionCall","src":"66285:14:19"},{"arguments":[{"name":"shift","nativeSrc":"66305:5:19","nodeType":"YulIdentifier","src":"66305:5:19"},{"arguments":[{"name":"shift","nativeSrc":"66316:5:19","nodeType":"YulIdentifier","src":"66316:5:19"},{"name":"w","nativeSrc":"66323:1:19","nodeType":"YulIdentifier","src":"66323:1:19"}],"functionName":{"name":"shr","nativeSrc":"66312:3:19","nodeType":"YulIdentifier","src":"66312:3:19"},"nativeSrc":"66312:13:19","nodeType":"YulFunctionCall","src":"66312:13:19"}],"functionName":{"name":"shl","nativeSrc":"66301:3:19","nodeType":"YulIdentifier","src":"66301:3:19"},"nativeSrc":"66301:25:19","nodeType":"YulFunctionCall","src":"66301:25:19"}],"functionName":{"name":"mstore","nativeSrc":"66278:6:19","nodeType":"YulIdentifier","src":"66278:6:19"},"nativeSrc":"66278:49:19","nodeType":"YulFunctionCall","src":"66278:49:19"},"nativeSrc":"66278:49:19","nodeType":"YulExpressionStatement","src":"66278:49:19"}]},"name":"writeString","nativeSrc":"65999:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"66020:3:19","nodeType":"YulTypedName","src":"66020:3:19","type":""},{"name":"w","nativeSrc":"66025:1:19","nodeType":"YulTypedName","src":"66025:1:19","type":""}],"src":"65999:342:19"},{"nativeSrc":"66354:17:19","nodeType":"YulAssignment","src":"66354:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"66366:4:19","nodeType":"YulLiteral","src":"66366:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"66360:5:19","nodeType":"YulIdentifier","src":"66360:5:19"},"nativeSrc":"66360:11:19","nodeType":"YulFunctionCall","src":"66360:11:19"},"variableNames":[{"name":"m0","nativeSrc":"66354:2:19","nodeType":"YulIdentifier","src":"66354:2:19"}]},{"nativeSrc":"66384:17:19","nodeType":"YulAssignment","src":"66384:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"66396:4:19","nodeType":"YulLiteral","src":"66396:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"66390:5:19","nodeType":"YulIdentifier","src":"66390:5:19"},"nativeSrc":"66390:11:19","nodeType":"YulFunctionCall","src":"66390:11:19"},"variableNames":[{"name":"m1","nativeSrc":"66384:2:19","nodeType":"YulIdentifier","src":"66384:2:19"}]},{"nativeSrc":"66414:17:19","nodeType":"YulAssignment","src":"66414:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"66426:4:19","nodeType":"YulLiteral","src":"66426:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"66420:5:19","nodeType":"YulIdentifier","src":"66420:5:19"},"nativeSrc":"66420:11:19","nodeType":"YulFunctionCall","src":"66420:11:19"},"variableNames":[{"name":"m2","nativeSrc":"66414:2:19","nodeType":"YulIdentifier","src":"66414:2:19"}]},{"nativeSrc":"66444:17:19","nodeType":"YulAssignment","src":"66444:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"66456:4:19","nodeType":"YulLiteral","src":"66456:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"66450:5:19","nodeType":"YulIdentifier","src":"66450:5:19"},"nativeSrc":"66450:11:19","nodeType":"YulFunctionCall","src":"66450:11:19"},"variableNames":[{"name":"m3","nativeSrc":"66444:2:19","nodeType":"YulIdentifier","src":"66444:2:19"}]},{"nativeSrc":"66474:17:19","nodeType":"YulAssignment","src":"66474:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"66486:4:19","nodeType":"YulLiteral","src":"66486:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"66480:5:19","nodeType":"YulIdentifier","src":"66480:5:19"},"nativeSrc":"66480:11:19","nodeType":"YulFunctionCall","src":"66480:11:19"},"variableNames":[{"name":"m4","nativeSrc":"66474:2:19","nodeType":"YulIdentifier","src":"66474:2:19"}]},{"nativeSrc":"66504:17:19","nodeType":"YulAssignment","src":"66504:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"66516:4:19","nodeType":"YulLiteral","src":"66516:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"66510:5:19","nodeType":"YulIdentifier","src":"66510:5:19"},"nativeSrc":"66510:11:19","nodeType":"YulFunctionCall","src":"66510:11:19"},"variableNames":[{"name":"m5","nativeSrc":"66504:2:19","nodeType":"YulIdentifier","src":"66504:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66599:4:19","nodeType":"YulLiteral","src":"66599:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"66605:10:19","nodeType":"YulLiteral","src":"66605:10:19","type":"","value":"0x37aa7d4c"}],"functionName":{"name":"mstore","nativeSrc":"66592:6:19","nodeType":"YulIdentifier","src":"66592:6:19"},"nativeSrc":"66592:24:19","nodeType":"YulFunctionCall","src":"66592:24:19"},"nativeSrc":"66592:24:19","nodeType":"YulExpressionStatement","src":"66592:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66636:4:19","nodeType":"YulLiteral","src":"66636:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"66642:2:19","nodeType":"YulIdentifier","src":"66642:2:19"}],"functionName":{"name":"mstore","nativeSrc":"66629:6:19","nodeType":"YulIdentifier","src":"66629:6:19"},"nativeSrc":"66629:16:19","nodeType":"YulFunctionCall","src":"66629:16:19"},"nativeSrc":"66629:16:19","nodeType":"YulExpressionStatement","src":"66629:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66665:4:19","nodeType":"YulLiteral","src":"66665:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"66671:4:19","nodeType":"YulLiteral","src":"66671:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"66658:6:19","nodeType":"YulIdentifier","src":"66658:6:19"},"nativeSrc":"66658:18:19","nodeType":"YulFunctionCall","src":"66658:18:19"},"nativeSrc":"66658:18:19","nodeType":"YulExpressionStatement","src":"66658:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66696:4:19","nodeType":"YulLiteral","src":"66696:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"66702:2:19","nodeType":"YulIdentifier","src":"66702:2:19"}],"functionName":{"name":"mstore","nativeSrc":"66689:6:19","nodeType":"YulIdentifier","src":"66689:6:19"},"nativeSrc":"66689:16:19","nodeType":"YulFunctionCall","src":"66689:16:19"},"nativeSrc":"66689:16:19","nodeType":"YulExpressionStatement","src":"66689:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66730:4:19","nodeType":"YulLiteral","src":"66730:4:19","type":"","value":"0x80"},{"name":"p1","nativeSrc":"66736:2:19","nodeType":"YulIdentifier","src":"66736:2:19"}],"functionName":{"name":"writeString","nativeSrc":"66718:11:19","nodeType":"YulIdentifier","src":"66718:11:19"},"nativeSrc":"66718:21:19","nodeType":"YulFunctionCall","src":"66718:21:19"},"nativeSrc":"66718:21:19","nodeType":"YulExpressionStatement","src":"66718:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28444,"isOffset":false,"isSlot":false,"src":"66354:2:19","valueSize":1},{"declaration":28447,"isOffset":false,"isSlot":false,"src":"66384:2:19","valueSize":1},{"declaration":28450,"isOffset":false,"isSlot":false,"src":"66414:2:19","valueSize":1},{"declaration":28453,"isOffset":false,"isSlot":false,"src":"66444:2:19","valueSize":1},{"declaration":28456,"isOffset":false,"isSlot":false,"src":"66474:2:19","valueSize":1},{"declaration":28459,"isOffset":false,"isSlot":false,"src":"66504:2:19","valueSize":1},{"declaration":28436,"isOffset":false,"isSlot":false,"src":"66642:2:19","valueSize":1},{"declaration":28438,"isOffset":false,"isSlot":false,"src":"66736:2:19","valueSize":1},{"declaration":28440,"isOffset":false,"isSlot":false,"src":"66702:2:19","valueSize":1}],"id":28461,"nodeType":"InlineAssembly","src":"65976:773:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"66774:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"66780:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28462,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"66758:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66758:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28466,"nodeType":"ExpressionStatement","src":"66758:27:19"},{"AST":{"nativeSrc":"66847:185:19","nodeType":"YulBlock","src":"66847:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"66868:4:19","nodeType":"YulLiteral","src":"66868:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"66874:2:19","nodeType":"YulIdentifier","src":"66874:2:19"}],"functionName":{"name":"mstore","nativeSrc":"66861:6:19","nodeType":"YulIdentifier","src":"66861:6:19"},"nativeSrc":"66861:16:19","nodeType":"YulFunctionCall","src":"66861:16:19"},"nativeSrc":"66861:16:19","nodeType":"YulExpressionStatement","src":"66861:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66897:4:19","nodeType":"YulLiteral","src":"66897:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"66903:2:19","nodeType":"YulIdentifier","src":"66903:2:19"}],"functionName":{"name":"mstore","nativeSrc":"66890:6:19","nodeType":"YulIdentifier","src":"66890:6:19"},"nativeSrc":"66890:16:19","nodeType":"YulFunctionCall","src":"66890:16:19"},"nativeSrc":"66890:16:19","nodeType":"YulExpressionStatement","src":"66890:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66926:4:19","nodeType":"YulLiteral","src":"66926:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"66932:2:19","nodeType":"YulIdentifier","src":"66932:2:19"}],"functionName":{"name":"mstore","nativeSrc":"66919:6:19","nodeType":"YulIdentifier","src":"66919:6:19"},"nativeSrc":"66919:16:19","nodeType":"YulFunctionCall","src":"66919:16:19"},"nativeSrc":"66919:16:19","nodeType":"YulExpressionStatement","src":"66919:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66955:4:19","nodeType":"YulLiteral","src":"66955:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"66961:2:19","nodeType":"YulIdentifier","src":"66961:2:19"}],"functionName":{"name":"mstore","nativeSrc":"66948:6:19","nodeType":"YulIdentifier","src":"66948:6:19"},"nativeSrc":"66948:16:19","nodeType":"YulFunctionCall","src":"66948:16:19"},"nativeSrc":"66948:16:19","nodeType":"YulExpressionStatement","src":"66948:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"66984:4:19","nodeType":"YulLiteral","src":"66984:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"66990:2:19","nodeType":"YulIdentifier","src":"66990:2:19"}],"functionName":{"name":"mstore","nativeSrc":"66977:6:19","nodeType":"YulIdentifier","src":"66977:6:19"},"nativeSrc":"66977:16:19","nodeType":"YulFunctionCall","src":"66977:16:19"},"nativeSrc":"66977:16:19","nodeType":"YulExpressionStatement","src":"66977:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"67013:4:19","nodeType":"YulLiteral","src":"67013:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"67019:2:19","nodeType":"YulIdentifier","src":"67019:2:19"}],"functionName":{"name":"mstore","nativeSrc":"67006:6:19","nodeType":"YulIdentifier","src":"67006:6:19"},"nativeSrc":"67006:16:19","nodeType":"YulFunctionCall","src":"67006:16:19"},"nativeSrc":"67006:16:19","nodeType":"YulExpressionStatement","src":"67006:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28444,"isOffset":false,"isSlot":false,"src":"66874:2:19","valueSize":1},{"declaration":28447,"isOffset":false,"isSlot":false,"src":"66903:2:19","valueSize":1},{"declaration":28450,"isOffset":false,"isSlot":false,"src":"66932:2:19","valueSize":1},{"declaration":28453,"isOffset":false,"isSlot":false,"src":"66961:2:19","valueSize":1},{"declaration":28456,"isOffset":false,"isSlot":false,"src":"66990:2:19","valueSize":1},{"declaration":28459,"isOffset":false,"isSlot":false,"src":"67019:2:19","valueSize":1}],"id":28467,"nodeType":"InlineAssembly","src":"66838:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65749:3:19","parameters":{"id":28441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28436,"mutability":"mutable","name":"p0","nameLocation":"65761:2:19","nodeType":"VariableDeclaration","scope":28469,"src":"65753:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28435,"name":"uint256","nodeType":"ElementaryTypeName","src":"65753:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28438,"mutability":"mutable","name":"p1","nameLocation":"65773:2:19","nodeType":"VariableDeclaration","scope":28469,"src":"65765:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28437,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65765:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28440,"mutability":"mutable","name":"p2","nameLocation":"65785:2:19","nodeType":"VariableDeclaration","scope":28469,"src":"65777:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28439,"name":"uint256","nodeType":"ElementaryTypeName","src":"65777:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"65752:36:19"},"returnParameters":{"id":28442,"nodeType":"ParameterList","parameters":[],"src":"65803:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28510,"nodeType":"FunctionDefinition","src":"67044:1491:19","nodes":[],"body":{"id":28509,"nodeType":"Block","src":"67107:1428:19","nodes":[],"statements":[{"assignments":[28479],"declarations":[{"constant":false,"id":28479,"mutability":"mutable","name":"m0","nameLocation":"67125:2:19","nodeType":"VariableDeclaration","scope":28509,"src":"67117:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28478,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67117:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28480,"nodeType":"VariableDeclarationStatement","src":"67117:10:19"},{"assignments":[28482],"declarations":[{"constant":false,"id":28482,"mutability":"mutable","name":"m1","nameLocation":"67145:2:19","nodeType":"VariableDeclaration","scope":28509,"src":"67137:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28481,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67137:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28483,"nodeType":"VariableDeclarationStatement","src":"67137:10:19"},{"assignments":[28485],"declarations":[{"constant":false,"id":28485,"mutability":"mutable","name":"m2","nameLocation":"67165:2:19","nodeType":"VariableDeclaration","scope":28509,"src":"67157:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28484,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67157:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28486,"nodeType":"VariableDeclarationStatement","src":"67157:10:19"},{"assignments":[28488],"declarations":[{"constant":false,"id":28488,"mutability":"mutable","name":"m3","nameLocation":"67185:2:19","nodeType":"VariableDeclaration","scope":28509,"src":"67177:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28487,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67177:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28489,"nodeType":"VariableDeclarationStatement","src":"67177:10:19"},{"assignments":[28491],"declarations":[{"constant":false,"id":28491,"mutability":"mutable","name":"m4","nameLocation":"67205:2:19","nodeType":"VariableDeclaration","scope":28509,"src":"67197:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28490,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67197:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28492,"nodeType":"VariableDeclarationStatement","src":"67197:10:19"},{"assignments":[28494],"declarations":[{"constant":false,"id":28494,"mutability":"mutable","name":"m5","nameLocation":"67225:2:19","nodeType":"VariableDeclaration","scope":28509,"src":"67217:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28493,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67217:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28495,"nodeType":"VariableDeclarationStatement","src":"67217:10:19"},{"assignments":[28497],"declarations":[{"constant":false,"id":28497,"mutability":"mutable","name":"m6","nameLocation":"67245:2:19","nodeType":"VariableDeclaration","scope":28509,"src":"67237:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28496,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67237:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28498,"nodeType":"VariableDeclarationStatement","src":"67237:10:19"},{"assignments":[28500],"declarations":[{"constant":false,"id":28500,"mutability":"mutable","name":"m7","nameLocation":"67265:2:19","nodeType":"VariableDeclaration","scope":28509,"src":"67257:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28499,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67257:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28501,"nodeType":"VariableDeclarationStatement","src":"67257:10:19"},{"AST":{"nativeSrc":"67329:859:19","nodeType":"YulBlock","src":"67329:859:19","statements":[{"body":{"nativeSrc":"67372:313:19","nodeType":"YulBlock","src":"67372:313:19","statements":[{"nativeSrc":"67390:15:19","nodeType":"YulVariableDeclaration","src":"67390:15:19","value":{"kind":"number","nativeSrc":"67404:1:19","nodeType":"YulLiteral","src":"67404:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"67394:6:19","nodeType":"YulTypedName","src":"67394:6:19","type":""}]},{"body":{"nativeSrc":"67475:40:19","nodeType":"YulBlock","src":"67475:40:19","statements":[{"body":{"nativeSrc":"67504:9:19","nodeType":"YulBlock","src":"67504:9:19","statements":[{"nativeSrc":"67506:5:19","nodeType":"YulBreak","src":"67506:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"67492:6:19","nodeType":"YulIdentifier","src":"67492:6:19"},{"name":"w","nativeSrc":"67500:1:19","nodeType":"YulIdentifier","src":"67500:1:19"}],"functionName":{"name":"byte","nativeSrc":"67487:4:19","nodeType":"YulIdentifier","src":"67487:4:19"},"nativeSrc":"67487:15:19","nodeType":"YulFunctionCall","src":"67487:15:19"}],"functionName":{"name":"iszero","nativeSrc":"67480:6:19","nodeType":"YulIdentifier","src":"67480:6:19"},"nativeSrc":"67480:23:19","nodeType":"YulFunctionCall","src":"67480:23:19"},"nativeSrc":"67477:36:19","nodeType":"YulIf","src":"67477:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"67432:6:19","nodeType":"YulIdentifier","src":"67432:6:19"},{"kind":"number","nativeSrc":"67440:4:19","nodeType":"YulLiteral","src":"67440:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"67429:2:19","nodeType":"YulIdentifier","src":"67429:2:19"},"nativeSrc":"67429:16:19","nodeType":"YulFunctionCall","src":"67429:16:19"},"nativeSrc":"67422:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"67446:28:19","nodeType":"YulBlock","src":"67446:28:19","statements":[{"nativeSrc":"67448:24:19","nodeType":"YulAssignment","src":"67448:24:19","value":{"arguments":[{"name":"length","nativeSrc":"67462:6:19","nodeType":"YulIdentifier","src":"67462:6:19"},{"kind":"number","nativeSrc":"67470:1:19","nodeType":"YulLiteral","src":"67470:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"67458:3:19","nodeType":"YulIdentifier","src":"67458:3:19"},"nativeSrc":"67458:14:19","nodeType":"YulFunctionCall","src":"67458:14:19"},"variableNames":[{"name":"length","nativeSrc":"67448:6:19","nodeType":"YulIdentifier","src":"67448:6:19"}]}]},"pre":{"nativeSrc":"67426:2:19","nodeType":"YulBlock","src":"67426:2:19","statements":[]},"src":"67422:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"67539:3:19","nodeType":"YulIdentifier","src":"67539:3:19"},{"name":"length","nativeSrc":"67544:6:19","nodeType":"YulIdentifier","src":"67544:6:19"}],"functionName":{"name":"mstore","nativeSrc":"67532:6:19","nodeType":"YulIdentifier","src":"67532:6:19"},"nativeSrc":"67532:19:19","nodeType":"YulFunctionCall","src":"67532:19:19"},"nativeSrc":"67532:19:19","nodeType":"YulExpressionStatement","src":"67532:19:19"},{"nativeSrc":"67568:37:19","nodeType":"YulVariableDeclaration","src":"67568:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"67585:3:19","nodeType":"YulLiteral","src":"67585:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"67594:1:19","nodeType":"YulLiteral","src":"67594:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"67597:6:19","nodeType":"YulIdentifier","src":"67597:6:19"}],"functionName":{"name":"shl","nativeSrc":"67590:3:19","nodeType":"YulIdentifier","src":"67590:3:19"},"nativeSrc":"67590:14:19","nodeType":"YulFunctionCall","src":"67590:14:19"}],"functionName":{"name":"sub","nativeSrc":"67581:3:19","nodeType":"YulIdentifier","src":"67581:3:19"},"nativeSrc":"67581:24:19","nodeType":"YulFunctionCall","src":"67581:24:19"},"variables":[{"name":"shift","nativeSrc":"67572:5:19","nodeType":"YulTypedName","src":"67572:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"67633:3:19","nodeType":"YulIdentifier","src":"67633:3:19"},{"kind":"number","nativeSrc":"67638:4:19","nodeType":"YulLiteral","src":"67638:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"67629:3:19","nodeType":"YulIdentifier","src":"67629:3:19"},"nativeSrc":"67629:14:19","nodeType":"YulFunctionCall","src":"67629:14:19"},{"arguments":[{"name":"shift","nativeSrc":"67649:5:19","nodeType":"YulIdentifier","src":"67649:5:19"},{"arguments":[{"name":"shift","nativeSrc":"67660:5:19","nodeType":"YulIdentifier","src":"67660:5:19"},{"name":"w","nativeSrc":"67667:1:19","nodeType":"YulIdentifier","src":"67667:1:19"}],"functionName":{"name":"shr","nativeSrc":"67656:3:19","nodeType":"YulIdentifier","src":"67656:3:19"},"nativeSrc":"67656:13:19","nodeType":"YulFunctionCall","src":"67656:13:19"}],"functionName":{"name":"shl","nativeSrc":"67645:3:19","nodeType":"YulIdentifier","src":"67645:3:19"},"nativeSrc":"67645:25:19","nodeType":"YulFunctionCall","src":"67645:25:19"}],"functionName":{"name":"mstore","nativeSrc":"67622:6:19","nodeType":"YulIdentifier","src":"67622:6:19"},"nativeSrc":"67622:49:19","nodeType":"YulFunctionCall","src":"67622:49:19"},"nativeSrc":"67622:49:19","nodeType":"YulExpressionStatement","src":"67622:49:19"}]},"name":"writeString","nativeSrc":"67343:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"67364:3:19","nodeType":"YulTypedName","src":"67364:3:19","type":""},{"name":"w","nativeSrc":"67369:1:19","nodeType":"YulTypedName","src":"67369:1:19","type":""}],"src":"67343:342:19"},{"nativeSrc":"67698:17:19","nodeType":"YulAssignment","src":"67698:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"67710:4:19","nodeType":"YulLiteral","src":"67710:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"67704:5:19","nodeType":"YulIdentifier","src":"67704:5:19"},"nativeSrc":"67704:11:19","nodeType":"YulFunctionCall","src":"67704:11:19"},"variableNames":[{"name":"m0","nativeSrc":"67698:2:19","nodeType":"YulIdentifier","src":"67698:2:19"}]},{"nativeSrc":"67728:17:19","nodeType":"YulAssignment","src":"67728:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"67740:4:19","nodeType":"YulLiteral","src":"67740:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"67734:5:19","nodeType":"YulIdentifier","src":"67734:5:19"},"nativeSrc":"67734:11:19","nodeType":"YulFunctionCall","src":"67734:11:19"},"variableNames":[{"name":"m1","nativeSrc":"67728:2:19","nodeType":"YulIdentifier","src":"67728:2:19"}]},{"nativeSrc":"67758:17:19","nodeType":"YulAssignment","src":"67758:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"67770:4:19","nodeType":"YulLiteral","src":"67770:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"67764:5:19","nodeType":"YulIdentifier","src":"67764:5:19"},"nativeSrc":"67764:11:19","nodeType":"YulFunctionCall","src":"67764:11:19"},"variableNames":[{"name":"m2","nativeSrc":"67758:2:19","nodeType":"YulIdentifier","src":"67758:2:19"}]},{"nativeSrc":"67788:17:19","nodeType":"YulAssignment","src":"67788:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"67800:4:19","nodeType":"YulLiteral","src":"67800:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"67794:5:19","nodeType":"YulIdentifier","src":"67794:5:19"},"nativeSrc":"67794:11:19","nodeType":"YulFunctionCall","src":"67794:11:19"},"variableNames":[{"name":"m3","nativeSrc":"67788:2:19","nodeType":"YulIdentifier","src":"67788:2:19"}]},{"nativeSrc":"67818:17:19","nodeType":"YulAssignment","src":"67818:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"67830:4:19","nodeType":"YulLiteral","src":"67830:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"67824:5:19","nodeType":"YulIdentifier","src":"67824:5:19"},"nativeSrc":"67824:11:19","nodeType":"YulFunctionCall","src":"67824:11:19"},"variableNames":[{"name":"m4","nativeSrc":"67818:2:19","nodeType":"YulIdentifier","src":"67818:2:19"}]},{"nativeSrc":"67848:17:19","nodeType":"YulAssignment","src":"67848:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"67860:4:19","nodeType":"YulLiteral","src":"67860:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"67854:5:19","nodeType":"YulIdentifier","src":"67854:5:19"},"nativeSrc":"67854:11:19","nodeType":"YulFunctionCall","src":"67854:11:19"},"variableNames":[{"name":"m5","nativeSrc":"67848:2:19","nodeType":"YulIdentifier","src":"67848:2:19"}]},{"nativeSrc":"67878:17:19","nodeType":"YulAssignment","src":"67878:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"67890:4:19","nodeType":"YulLiteral","src":"67890:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"67884:5:19","nodeType":"YulIdentifier","src":"67884:5:19"},"nativeSrc":"67884:11:19","nodeType":"YulFunctionCall","src":"67884:11:19"},"variableNames":[{"name":"m6","nativeSrc":"67878:2:19","nodeType":"YulIdentifier","src":"67878:2:19"}]},{"nativeSrc":"67908:17:19","nodeType":"YulAssignment","src":"67908:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"67920:4:19","nodeType":"YulLiteral","src":"67920:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"67914:5:19","nodeType":"YulIdentifier","src":"67914:5:19"},"nativeSrc":"67914:11:19","nodeType":"YulFunctionCall","src":"67914:11:19"},"variableNames":[{"name":"m7","nativeSrc":"67908:2:19","nodeType":"YulIdentifier","src":"67908:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68002:4:19","nodeType":"YulLiteral","src":"68002:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"68008:10:19","nodeType":"YulLiteral","src":"68008:10:19","type":"","value":"0xb115611f"}],"functionName":{"name":"mstore","nativeSrc":"67995:6:19","nodeType":"YulIdentifier","src":"67995:6:19"},"nativeSrc":"67995:24:19","nodeType":"YulFunctionCall","src":"67995:24:19"},"nativeSrc":"67995:24:19","nodeType":"YulExpressionStatement","src":"67995:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68039:4:19","nodeType":"YulLiteral","src":"68039:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"68045:2:19","nodeType":"YulIdentifier","src":"68045:2:19"}],"functionName":{"name":"mstore","nativeSrc":"68032:6:19","nodeType":"YulIdentifier","src":"68032:6:19"},"nativeSrc":"68032:16:19","nodeType":"YulFunctionCall","src":"68032:16:19"},"nativeSrc":"68032:16:19","nodeType":"YulExpressionStatement","src":"68032:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68068:4:19","nodeType":"YulLiteral","src":"68068:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"68074:4:19","nodeType":"YulLiteral","src":"68074:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"68061:6:19","nodeType":"YulIdentifier","src":"68061:6:19"},"nativeSrc":"68061:18:19","nodeType":"YulFunctionCall","src":"68061:18:19"},"nativeSrc":"68061:18:19","nodeType":"YulExpressionStatement","src":"68061:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68099:4:19","nodeType":"YulLiteral","src":"68099:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"68105:4:19","nodeType":"YulLiteral","src":"68105:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"68092:6:19","nodeType":"YulIdentifier","src":"68092:6:19"},"nativeSrc":"68092:18:19","nodeType":"YulFunctionCall","src":"68092:18:19"},"nativeSrc":"68092:18:19","nodeType":"YulExpressionStatement","src":"68092:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68135:4:19","nodeType":"YulLiteral","src":"68135:4:19","type":"","value":"0x80"},{"name":"p1","nativeSrc":"68141:2:19","nodeType":"YulIdentifier","src":"68141:2:19"}],"functionName":{"name":"writeString","nativeSrc":"68123:11:19","nodeType":"YulIdentifier","src":"68123:11:19"},"nativeSrc":"68123:21:19","nodeType":"YulFunctionCall","src":"68123:21:19"},"nativeSrc":"68123:21:19","nodeType":"YulExpressionStatement","src":"68123:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68169:4:19","nodeType":"YulLiteral","src":"68169:4:19","type":"","value":"0xc0"},{"name":"p2","nativeSrc":"68175:2:19","nodeType":"YulIdentifier","src":"68175:2:19"}],"functionName":{"name":"writeString","nativeSrc":"68157:11:19","nodeType":"YulIdentifier","src":"68157:11:19"},"nativeSrc":"68157:21:19","nodeType":"YulFunctionCall","src":"68157:21:19"},"nativeSrc":"68157:21:19","nodeType":"YulExpressionStatement","src":"68157:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28479,"isOffset":false,"isSlot":false,"src":"67698:2:19","valueSize":1},{"declaration":28482,"isOffset":false,"isSlot":false,"src":"67728:2:19","valueSize":1},{"declaration":28485,"isOffset":false,"isSlot":false,"src":"67758:2:19","valueSize":1},{"declaration":28488,"isOffset":false,"isSlot":false,"src":"67788:2:19","valueSize":1},{"declaration":28491,"isOffset":false,"isSlot":false,"src":"67818:2:19","valueSize":1},{"declaration":28494,"isOffset":false,"isSlot":false,"src":"67848:2:19","valueSize":1},{"declaration":28497,"isOffset":false,"isSlot":false,"src":"67878:2:19","valueSize":1},{"declaration":28500,"isOffset":false,"isSlot":false,"src":"67908:2:19","valueSize":1},{"declaration":28471,"isOffset":false,"isSlot":false,"src":"68045:2:19","valueSize":1},{"declaration":28473,"isOffset":false,"isSlot":false,"src":"68141:2:19","valueSize":1},{"declaration":28475,"isOffset":false,"isSlot":false,"src":"68175:2:19","valueSize":1}],"id":28502,"nodeType":"InlineAssembly","src":"67320:868:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"68213:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":28505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"68219:4:19","typeDescriptions":{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"},"value":"0xe4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"}],"id":28503,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"68197:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68197:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28507,"nodeType":"ExpressionStatement","src":"68197:27:19"},{"AST":{"nativeSrc":"68286:243:19","nodeType":"YulBlock","src":"68286:243:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"68307:4:19","nodeType":"YulLiteral","src":"68307:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"68313:2:19","nodeType":"YulIdentifier","src":"68313:2:19"}],"functionName":{"name":"mstore","nativeSrc":"68300:6:19","nodeType":"YulIdentifier","src":"68300:6:19"},"nativeSrc":"68300:16:19","nodeType":"YulFunctionCall","src":"68300:16:19"},"nativeSrc":"68300:16:19","nodeType":"YulExpressionStatement","src":"68300:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68336:4:19","nodeType":"YulLiteral","src":"68336:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"68342:2:19","nodeType":"YulIdentifier","src":"68342:2:19"}],"functionName":{"name":"mstore","nativeSrc":"68329:6:19","nodeType":"YulIdentifier","src":"68329:6:19"},"nativeSrc":"68329:16:19","nodeType":"YulFunctionCall","src":"68329:16:19"},"nativeSrc":"68329:16:19","nodeType":"YulExpressionStatement","src":"68329:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68365:4:19","nodeType":"YulLiteral","src":"68365:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"68371:2:19","nodeType":"YulIdentifier","src":"68371:2:19"}],"functionName":{"name":"mstore","nativeSrc":"68358:6:19","nodeType":"YulIdentifier","src":"68358:6:19"},"nativeSrc":"68358:16:19","nodeType":"YulFunctionCall","src":"68358:16:19"},"nativeSrc":"68358:16:19","nodeType":"YulExpressionStatement","src":"68358:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68394:4:19","nodeType":"YulLiteral","src":"68394:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"68400:2:19","nodeType":"YulIdentifier","src":"68400:2:19"}],"functionName":{"name":"mstore","nativeSrc":"68387:6:19","nodeType":"YulIdentifier","src":"68387:6:19"},"nativeSrc":"68387:16:19","nodeType":"YulFunctionCall","src":"68387:16:19"},"nativeSrc":"68387:16:19","nodeType":"YulExpressionStatement","src":"68387:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68423:4:19","nodeType":"YulLiteral","src":"68423:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"68429:2:19","nodeType":"YulIdentifier","src":"68429:2:19"}],"functionName":{"name":"mstore","nativeSrc":"68416:6:19","nodeType":"YulIdentifier","src":"68416:6:19"},"nativeSrc":"68416:16:19","nodeType":"YulFunctionCall","src":"68416:16:19"},"nativeSrc":"68416:16:19","nodeType":"YulExpressionStatement","src":"68416:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68452:4:19","nodeType":"YulLiteral","src":"68452:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"68458:2:19","nodeType":"YulIdentifier","src":"68458:2:19"}],"functionName":{"name":"mstore","nativeSrc":"68445:6:19","nodeType":"YulIdentifier","src":"68445:6:19"},"nativeSrc":"68445:16:19","nodeType":"YulFunctionCall","src":"68445:16:19"},"nativeSrc":"68445:16:19","nodeType":"YulExpressionStatement","src":"68445:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68481:4:19","nodeType":"YulLiteral","src":"68481:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"68487:2:19","nodeType":"YulIdentifier","src":"68487:2:19"}],"functionName":{"name":"mstore","nativeSrc":"68474:6:19","nodeType":"YulIdentifier","src":"68474:6:19"},"nativeSrc":"68474:16:19","nodeType":"YulFunctionCall","src":"68474:16:19"},"nativeSrc":"68474:16:19","nodeType":"YulExpressionStatement","src":"68474:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"68510:4:19","nodeType":"YulLiteral","src":"68510:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"68516:2:19","nodeType":"YulIdentifier","src":"68516:2:19"}],"functionName":{"name":"mstore","nativeSrc":"68503:6:19","nodeType":"YulIdentifier","src":"68503:6:19"},"nativeSrc":"68503:16:19","nodeType":"YulFunctionCall","src":"68503:16:19"},"nativeSrc":"68503:16:19","nodeType":"YulExpressionStatement","src":"68503:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28479,"isOffset":false,"isSlot":false,"src":"68313:2:19","valueSize":1},{"declaration":28482,"isOffset":false,"isSlot":false,"src":"68342:2:19","valueSize":1},{"declaration":28485,"isOffset":false,"isSlot":false,"src":"68371:2:19","valueSize":1},{"declaration":28488,"isOffset":false,"isSlot":false,"src":"68400:2:19","valueSize":1},{"declaration":28491,"isOffset":false,"isSlot":false,"src":"68429:2:19","valueSize":1},{"declaration":28494,"isOffset":false,"isSlot":false,"src":"68458:2:19","valueSize":1},{"declaration":28497,"isOffset":false,"isSlot":false,"src":"68487:2:19","valueSize":1},{"declaration":28500,"isOffset":false,"isSlot":false,"src":"68516:2:19","valueSize":1}],"id":28508,"nodeType":"InlineAssembly","src":"68277:252:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67053:3:19","parameters":{"id":28476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28471,"mutability":"mutable","name":"p0","nameLocation":"67065:2:19","nodeType":"VariableDeclaration","scope":28510,"src":"67057:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28470,"name":"uint256","nodeType":"ElementaryTypeName","src":"67057:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28473,"mutability":"mutable","name":"p1","nameLocation":"67077:2:19","nodeType":"VariableDeclaration","scope":28510,"src":"67069:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28472,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67069:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28475,"mutability":"mutable","name":"p2","nameLocation":"67089:2:19","nodeType":"VariableDeclaration","scope":28510,"src":"67081:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28474,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67081:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"67056:36:19"},"returnParameters":{"id":28477,"nodeType":"ParameterList","parameters":[],"src":"67107:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28545,"nodeType":"FunctionDefinition","src":"68541:1298:19","nodes":[],"body":{"id":28544,"nodeType":"Block","src":"68604:1235:19","nodes":[],"statements":[{"assignments":[28520],"declarations":[{"constant":false,"id":28520,"mutability":"mutable","name":"m0","nameLocation":"68622:2:19","nodeType":"VariableDeclaration","scope":28544,"src":"68614:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28519,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68614:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28521,"nodeType":"VariableDeclarationStatement","src":"68614:10:19"},{"assignments":[28523],"declarations":[{"constant":false,"id":28523,"mutability":"mutable","name":"m1","nameLocation":"68642:2:19","nodeType":"VariableDeclaration","scope":28544,"src":"68634:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28522,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68634:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28524,"nodeType":"VariableDeclarationStatement","src":"68634:10:19"},{"assignments":[28526],"declarations":[{"constant":false,"id":28526,"mutability":"mutable","name":"m2","nameLocation":"68662:2:19","nodeType":"VariableDeclaration","scope":28544,"src":"68654:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28525,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68654:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28527,"nodeType":"VariableDeclarationStatement","src":"68654:10:19"},{"assignments":[28529],"declarations":[{"constant":false,"id":28529,"mutability":"mutable","name":"m3","nameLocation":"68682:2:19","nodeType":"VariableDeclaration","scope":28544,"src":"68674:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28528,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68674:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28530,"nodeType":"VariableDeclarationStatement","src":"68674:10:19"},{"assignments":[28532],"declarations":[{"constant":false,"id":28532,"mutability":"mutable","name":"m4","nameLocation":"68702:2:19","nodeType":"VariableDeclaration","scope":28544,"src":"68694:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28531,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68694:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28533,"nodeType":"VariableDeclarationStatement","src":"68694:10:19"},{"assignments":[28535],"declarations":[{"constant":false,"id":28535,"mutability":"mutable","name":"m5","nameLocation":"68722:2:19","nodeType":"VariableDeclaration","scope":28544,"src":"68714:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28534,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68714:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28536,"nodeType":"VariableDeclarationStatement","src":"68714:10:19"},{"AST":{"nativeSrc":"68786:764:19","nodeType":"YulBlock","src":"68786:764:19","statements":[{"body":{"nativeSrc":"68829:313:19","nodeType":"YulBlock","src":"68829:313:19","statements":[{"nativeSrc":"68847:15:19","nodeType":"YulVariableDeclaration","src":"68847:15:19","value":{"kind":"number","nativeSrc":"68861:1:19","nodeType":"YulLiteral","src":"68861:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"68851:6:19","nodeType":"YulTypedName","src":"68851:6:19","type":""}]},{"body":{"nativeSrc":"68932:40:19","nodeType":"YulBlock","src":"68932:40:19","statements":[{"body":{"nativeSrc":"68961:9:19","nodeType":"YulBlock","src":"68961:9:19","statements":[{"nativeSrc":"68963:5:19","nodeType":"YulBreak","src":"68963:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"68949:6:19","nodeType":"YulIdentifier","src":"68949:6:19"},{"name":"w","nativeSrc":"68957:1:19","nodeType":"YulIdentifier","src":"68957:1:19"}],"functionName":{"name":"byte","nativeSrc":"68944:4:19","nodeType":"YulIdentifier","src":"68944:4:19"},"nativeSrc":"68944:15:19","nodeType":"YulFunctionCall","src":"68944:15:19"}],"functionName":{"name":"iszero","nativeSrc":"68937:6:19","nodeType":"YulIdentifier","src":"68937:6:19"},"nativeSrc":"68937:23:19","nodeType":"YulFunctionCall","src":"68937:23:19"},"nativeSrc":"68934:36:19","nodeType":"YulIf","src":"68934:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"68889:6:19","nodeType":"YulIdentifier","src":"68889:6:19"},{"kind":"number","nativeSrc":"68897:4:19","nodeType":"YulLiteral","src":"68897:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"68886:2:19","nodeType":"YulIdentifier","src":"68886:2:19"},"nativeSrc":"68886:16:19","nodeType":"YulFunctionCall","src":"68886:16:19"},"nativeSrc":"68879:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"68903:28:19","nodeType":"YulBlock","src":"68903:28:19","statements":[{"nativeSrc":"68905:24:19","nodeType":"YulAssignment","src":"68905:24:19","value":{"arguments":[{"name":"length","nativeSrc":"68919:6:19","nodeType":"YulIdentifier","src":"68919:6:19"},{"kind":"number","nativeSrc":"68927:1:19","nodeType":"YulLiteral","src":"68927:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"68915:3:19","nodeType":"YulIdentifier","src":"68915:3:19"},"nativeSrc":"68915:14:19","nodeType":"YulFunctionCall","src":"68915:14:19"},"variableNames":[{"name":"length","nativeSrc":"68905:6:19","nodeType":"YulIdentifier","src":"68905:6:19"}]}]},"pre":{"nativeSrc":"68883:2:19","nodeType":"YulBlock","src":"68883:2:19","statements":[]},"src":"68879:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"68996:3:19","nodeType":"YulIdentifier","src":"68996:3:19"},{"name":"length","nativeSrc":"69001:6:19","nodeType":"YulIdentifier","src":"69001:6:19"}],"functionName":{"name":"mstore","nativeSrc":"68989:6:19","nodeType":"YulIdentifier","src":"68989:6:19"},"nativeSrc":"68989:19:19","nodeType":"YulFunctionCall","src":"68989:19:19"},"nativeSrc":"68989:19:19","nodeType":"YulExpressionStatement","src":"68989:19:19"},{"nativeSrc":"69025:37:19","nodeType":"YulVariableDeclaration","src":"69025:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"69042:3:19","nodeType":"YulLiteral","src":"69042:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"69051:1:19","nodeType":"YulLiteral","src":"69051:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"69054:6:19","nodeType":"YulIdentifier","src":"69054:6:19"}],"functionName":{"name":"shl","nativeSrc":"69047:3:19","nodeType":"YulIdentifier","src":"69047:3:19"},"nativeSrc":"69047:14:19","nodeType":"YulFunctionCall","src":"69047:14:19"}],"functionName":{"name":"sub","nativeSrc":"69038:3:19","nodeType":"YulIdentifier","src":"69038:3:19"},"nativeSrc":"69038:24:19","nodeType":"YulFunctionCall","src":"69038:24:19"},"variables":[{"name":"shift","nativeSrc":"69029:5:19","nodeType":"YulTypedName","src":"69029:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"69090:3:19","nodeType":"YulIdentifier","src":"69090:3:19"},{"kind":"number","nativeSrc":"69095:4:19","nodeType":"YulLiteral","src":"69095:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"69086:3:19","nodeType":"YulIdentifier","src":"69086:3:19"},"nativeSrc":"69086:14:19","nodeType":"YulFunctionCall","src":"69086:14:19"},{"arguments":[{"name":"shift","nativeSrc":"69106:5:19","nodeType":"YulIdentifier","src":"69106:5:19"},{"arguments":[{"name":"shift","nativeSrc":"69117:5:19","nodeType":"YulIdentifier","src":"69117:5:19"},{"name":"w","nativeSrc":"69124:1:19","nodeType":"YulIdentifier","src":"69124:1:19"}],"functionName":{"name":"shr","nativeSrc":"69113:3:19","nodeType":"YulIdentifier","src":"69113:3:19"},"nativeSrc":"69113:13:19","nodeType":"YulFunctionCall","src":"69113:13:19"}],"functionName":{"name":"shl","nativeSrc":"69102:3:19","nodeType":"YulIdentifier","src":"69102:3:19"},"nativeSrc":"69102:25:19","nodeType":"YulFunctionCall","src":"69102:25:19"}],"functionName":{"name":"mstore","nativeSrc":"69079:6:19","nodeType":"YulIdentifier","src":"69079:6:19"},"nativeSrc":"69079:49:19","nodeType":"YulFunctionCall","src":"69079:49:19"},"nativeSrc":"69079:49:19","nodeType":"YulExpressionStatement","src":"69079:49:19"}]},"name":"writeString","nativeSrc":"68800:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"68821:3:19","nodeType":"YulTypedName","src":"68821:3:19","type":""},{"name":"w","nativeSrc":"68826:1:19","nodeType":"YulTypedName","src":"68826:1:19","type":""}],"src":"68800:342:19"},{"nativeSrc":"69155:17:19","nodeType":"YulAssignment","src":"69155:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"69167:4:19","nodeType":"YulLiteral","src":"69167:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"69161:5:19","nodeType":"YulIdentifier","src":"69161:5:19"},"nativeSrc":"69161:11:19","nodeType":"YulFunctionCall","src":"69161:11:19"},"variableNames":[{"name":"m0","nativeSrc":"69155:2:19","nodeType":"YulIdentifier","src":"69155:2:19"}]},{"nativeSrc":"69185:17:19","nodeType":"YulAssignment","src":"69185:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"69197:4:19","nodeType":"YulLiteral","src":"69197:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"69191:5:19","nodeType":"YulIdentifier","src":"69191:5:19"},"nativeSrc":"69191:11:19","nodeType":"YulFunctionCall","src":"69191:11:19"},"variableNames":[{"name":"m1","nativeSrc":"69185:2:19","nodeType":"YulIdentifier","src":"69185:2:19"}]},{"nativeSrc":"69215:17:19","nodeType":"YulAssignment","src":"69215:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"69227:4:19","nodeType":"YulLiteral","src":"69227:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"69221:5:19","nodeType":"YulIdentifier","src":"69221:5:19"},"nativeSrc":"69221:11:19","nodeType":"YulFunctionCall","src":"69221:11:19"},"variableNames":[{"name":"m2","nativeSrc":"69215:2:19","nodeType":"YulIdentifier","src":"69215:2:19"}]},{"nativeSrc":"69245:17:19","nodeType":"YulAssignment","src":"69245:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"69257:4:19","nodeType":"YulLiteral","src":"69257:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"69251:5:19","nodeType":"YulIdentifier","src":"69251:5:19"},"nativeSrc":"69251:11:19","nodeType":"YulFunctionCall","src":"69251:11:19"},"variableNames":[{"name":"m3","nativeSrc":"69245:2:19","nodeType":"YulIdentifier","src":"69245:2:19"}]},{"nativeSrc":"69275:17:19","nodeType":"YulAssignment","src":"69275:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"69287:4:19","nodeType":"YulLiteral","src":"69287:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"69281:5:19","nodeType":"YulIdentifier","src":"69281:5:19"},"nativeSrc":"69281:11:19","nodeType":"YulFunctionCall","src":"69281:11:19"},"variableNames":[{"name":"m4","nativeSrc":"69275:2:19","nodeType":"YulIdentifier","src":"69275:2:19"}]},{"nativeSrc":"69305:17:19","nodeType":"YulAssignment","src":"69305:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"69317:4:19","nodeType":"YulLiteral","src":"69317:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"69311:5:19","nodeType":"YulIdentifier","src":"69311:5:19"},"nativeSrc":"69311:11:19","nodeType":"YulFunctionCall","src":"69311:11:19"},"variableNames":[{"name":"m5","nativeSrc":"69305:2:19","nodeType":"YulIdentifier","src":"69305:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69400:4:19","nodeType":"YulLiteral","src":"69400:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"69406:10:19","nodeType":"YulLiteral","src":"69406:10:19","type":"","value":"0xfcec75e0"}],"functionName":{"name":"mstore","nativeSrc":"69393:6:19","nodeType":"YulIdentifier","src":"69393:6:19"},"nativeSrc":"69393:24:19","nodeType":"YulFunctionCall","src":"69393:24:19"},"nativeSrc":"69393:24:19","nodeType":"YulExpressionStatement","src":"69393:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69437:4:19","nodeType":"YulLiteral","src":"69437:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"69443:4:19","nodeType":"YulLiteral","src":"69443:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"69430:6:19","nodeType":"YulIdentifier","src":"69430:6:19"},"nativeSrc":"69430:18:19","nodeType":"YulFunctionCall","src":"69430:18:19"},"nativeSrc":"69430:18:19","nodeType":"YulExpressionStatement","src":"69430:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69468:4:19","nodeType":"YulLiteral","src":"69468:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"69474:2:19","nodeType":"YulIdentifier","src":"69474:2:19"}],"functionName":{"name":"mstore","nativeSrc":"69461:6:19","nodeType":"YulIdentifier","src":"69461:6:19"},"nativeSrc":"69461:16:19","nodeType":"YulFunctionCall","src":"69461:16:19"},"nativeSrc":"69461:16:19","nodeType":"YulExpressionStatement","src":"69461:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69497:4:19","nodeType":"YulLiteral","src":"69497:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"69503:2:19","nodeType":"YulIdentifier","src":"69503:2:19"}],"functionName":{"name":"mstore","nativeSrc":"69490:6:19","nodeType":"YulIdentifier","src":"69490:6:19"},"nativeSrc":"69490:16:19","nodeType":"YulFunctionCall","src":"69490:16:19"},"nativeSrc":"69490:16:19","nodeType":"YulExpressionStatement","src":"69490:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69531:4:19","nodeType":"YulLiteral","src":"69531:4:19","type":"","value":"0x80"},{"name":"p0","nativeSrc":"69537:2:19","nodeType":"YulIdentifier","src":"69537:2:19"}],"functionName":{"name":"writeString","nativeSrc":"69519:11:19","nodeType":"YulIdentifier","src":"69519:11:19"},"nativeSrc":"69519:21:19","nodeType":"YulFunctionCall","src":"69519:21:19"},"nativeSrc":"69519:21:19","nodeType":"YulExpressionStatement","src":"69519:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28520,"isOffset":false,"isSlot":false,"src":"69155:2:19","valueSize":1},{"declaration":28523,"isOffset":false,"isSlot":false,"src":"69185:2:19","valueSize":1},{"declaration":28526,"isOffset":false,"isSlot":false,"src":"69215:2:19","valueSize":1},{"declaration":28529,"isOffset":false,"isSlot":false,"src":"69245:2:19","valueSize":1},{"declaration":28532,"isOffset":false,"isSlot":false,"src":"69275:2:19","valueSize":1},{"declaration":28535,"isOffset":false,"isSlot":false,"src":"69305:2:19","valueSize":1},{"declaration":28512,"isOffset":false,"isSlot":false,"src":"69537:2:19","valueSize":1},{"declaration":28514,"isOffset":false,"isSlot":false,"src":"69474:2:19","valueSize":1},{"declaration":28516,"isOffset":false,"isSlot":false,"src":"69503:2:19","valueSize":1}],"id":28537,"nodeType":"InlineAssembly","src":"68777:773:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"69575:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"69581:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28538,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"69559:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69559:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28542,"nodeType":"ExpressionStatement","src":"69559:27:19"},{"AST":{"nativeSrc":"69648:185:19","nodeType":"YulBlock","src":"69648:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"69669:4:19","nodeType":"YulLiteral","src":"69669:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"69675:2:19","nodeType":"YulIdentifier","src":"69675:2:19"}],"functionName":{"name":"mstore","nativeSrc":"69662:6:19","nodeType":"YulIdentifier","src":"69662:6:19"},"nativeSrc":"69662:16:19","nodeType":"YulFunctionCall","src":"69662:16:19"},"nativeSrc":"69662:16:19","nodeType":"YulExpressionStatement","src":"69662:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69698:4:19","nodeType":"YulLiteral","src":"69698:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"69704:2:19","nodeType":"YulIdentifier","src":"69704:2:19"}],"functionName":{"name":"mstore","nativeSrc":"69691:6:19","nodeType":"YulIdentifier","src":"69691:6:19"},"nativeSrc":"69691:16:19","nodeType":"YulFunctionCall","src":"69691:16:19"},"nativeSrc":"69691:16:19","nodeType":"YulExpressionStatement","src":"69691:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69727:4:19","nodeType":"YulLiteral","src":"69727:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"69733:2:19","nodeType":"YulIdentifier","src":"69733:2:19"}],"functionName":{"name":"mstore","nativeSrc":"69720:6:19","nodeType":"YulIdentifier","src":"69720:6:19"},"nativeSrc":"69720:16:19","nodeType":"YulFunctionCall","src":"69720:16:19"},"nativeSrc":"69720:16:19","nodeType":"YulExpressionStatement","src":"69720:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69756:4:19","nodeType":"YulLiteral","src":"69756:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"69762:2:19","nodeType":"YulIdentifier","src":"69762:2:19"}],"functionName":{"name":"mstore","nativeSrc":"69749:6:19","nodeType":"YulIdentifier","src":"69749:6:19"},"nativeSrc":"69749:16:19","nodeType":"YulFunctionCall","src":"69749:16:19"},"nativeSrc":"69749:16:19","nodeType":"YulExpressionStatement","src":"69749:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69785:4:19","nodeType":"YulLiteral","src":"69785:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"69791:2:19","nodeType":"YulIdentifier","src":"69791:2:19"}],"functionName":{"name":"mstore","nativeSrc":"69778:6:19","nodeType":"YulIdentifier","src":"69778:6:19"},"nativeSrc":"69778:16:19","nodeType":"YulFunctionCall","src":"69778:16:19"},"nativeSrc":"69778:16:19","nodeType":"YulExpressionStatement","src":"69778:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"69814:4:19","nodeType":"YulLiteral","src":"69814:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"69820:2:19","nodeType":"YulIdentifier","src":"69820:2:19"}],"functionName":{"name":"mstore","nativeSrc":"69807:6:19","nodeType":"YulIdentifier","src":"69807:6:19"},"nativeSrc":"69807:16:19","nodeType":"YulFunctionCall","src":"69807:16:19"},"nativeSrc":"69807:16:19","nodeType":"YulExpressionStatement","src":"69807:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28520,"isOffset":false,"isSlot":false,"src":"69675:2:19","valueSize":1},{"declaration":28523,"isOffset":false,"isSlot":false,"src":"69704:2:19","valueSize":1},{"declaration":28526,"isOffset":false,"isSlot":false,"src":"69733:2:19","valueSize":1},{"declaration":28529,"isOffset":false,"isSlot":false,"src":"69762:2:19","valueSize":1},{"declaration":28532,"isOffset":false,"isSlot":false,"src":"69791:2:19","valueSize":1},{"declaration":28535,"isOffset":false,"isSlot":false,"src":"69820:2:19","valueSize":1}],"id":28543,"nodeType":"InlineAssembly","src":"69639:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68550:3:19","parameters":{"id":28517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28512,"mutability":"mutable","name":"p0","nameLocation":"68562:2:19","nodeType":"VariableDeclaration","scope":28545,"src":"68554:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28511,"name":"bytes32","nodeType":"ElementaryTypeName","src":"68554:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28514,"mutability":"mutable","name":"p1","nameLocation":"68574:2:19","nodeType":"VariableDeclaration","scope":28545,"src":"68566:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28513,"name":"address","nodeType":"ElementaryTypeName","src":"68566:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28516,"mutability":"mutable","name":"p2","nameLocation":"68586:2:19","nodeType":"VariableDeclaration","scope":28545,"src":"68578:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28515,"name":"address","nodeType":"ElementaryTypeName","src":"68578:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"68553:36:19"},"returnParameters":{"id":28518,"nodeType":"ParameterList","parameters":[],"src":"68604:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28580,"nodeType":"FunctionDefinition","src":"69845:1292:19","nodes":[],"body":{"id":28579,"nodeType":"Block","src":"69905:1232:19","nodes":[],"statements":[{"assignments":[28555],"declarations":[{"constant":false,"id":28555,"mutability":"mutable","name":"m0","nameLocation":"69923:2:19","nodeType":"VariableDeclaration","scope":28579,"src":"69915:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28554,"name":"bytes32","nodeType":"ElementaryTypeName","src":"69915:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28556,"nodeType":"VariableDeclarationStatement","src":"69915:10:19"},{"assignments":[28558],"declarations":[{"constant":false,"id":28558,"mutability":"mutable","name":"m1","nameLocation":"69943:2:19","nodeType":"VariableDeclaration","scope":28579,"src":"69935:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28557,"name":"bytes32","nodeType":"ElementaryTypeName","src":"69935:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28559,"nodeType":"VariableDeclarationStatement","src":"69935:10:19"},{"assignments":[28561],"declarations":[{"constant":false,"id":28561,"mutability":"mutable","name":"m2","nameLocation":"69963:2:19","nodeType":"VariableDeclaration","scope":28579,"src":"69955:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28560,"name":"bytes32","nodeType":"ElementaryTypeName","src":"69955:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28562,"nodeType":"VariableDeclarationStatement","src":"69955:10:19"},{"assignments":[28564],"declarations":[{"constant":false,"id":28564,"mutability":"mutable","name":"m3","nameLocation":"69983:2:19","nodeType":"VariableDeclaration","scope":28579,"src":"69975:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28563,"name":"bytes32","nodeType":"ElementaryTypeName","src":"69975:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28565,"nodeType":"VariableDeclarationStatement","src":"69975:10:19"},{"assignments":[28567],"declarations":[{"constant":false,"id":28567,"mutability":"mutable","name":"m4","nameLocation":"70003:2:19","nodeType":"VariableDeclaration","scope":28579,"src":"69995:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28566,"name":"bytes32","nodeType":"ElementaryTypeName","src":"69995:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28568,"nodeType":"VariableDeclarationStatement","src":"69995:10:19"},{"assignments":[28570],"declarations":[{"constant":false,"id":28570,"mutability":"mutable","name":"m5","nameLocation":"70023:2:19","nodeType":"VariableDeclaration","scope":28579,"src":"70015:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28569,"name":"bytes32","nodeType":"ElementaryTypeName","src":"70015:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28571,"nodeType":"VariableDeclarationStatement","src":"70015:10:19"},{"AST":{"nativeSrc":"70087:761:19","nodeType":"YulBlock","src":"70087:761:19","statements":[{"body":{"nativeSrc":"70130:313:19","nodeType":"YulBlock","src":"70130:313:19","statements":[{"nativeSrc":"70148:15:19","nodeType":"YulVariableDeclaration","src":"70148:15:19","value":{"kind":"number","nativeSrc":"70162:1:19","nodeType":"YulLiteral","src":"70162:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"70152:6:19","nodeType":"YulTypedName","src":"70152:6:19","type":""}]},{"body":{"nativeSrc":"70233:40:19","nodeType":"YulBlock","src":"70233:40:19","statements":[{"body":{"nativeSrc":"70262:9:19","nodeType":"YulBlock","src":"70262:9:19","statements":[{"nativeSrc":"70264:5:19","nodeType":"YulBreak","src":"70264:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"70250:6:19","nodeType":"YulIdentifier","src":"70250:6:19"},{"name":"w","nativeSrc":"70258:1:19","nodeType":"YulIdentifier","src":"70258:1:19"}],"functionName":{"name":"byte","nativeSrc":"70245:4:19","nodeType":"YulIdentifier","src":"70245:4:19"},"nativeSrc":"70245:15:19","nodeType":"YulFunctionCall","src":"70245:15:19"}],"functionName":{"name":"iszero","nativeSrc":"70238:6:19","nodeType":"YulIdentifier","src":"70238:6:19"},"nativeSrc":"70238:23:19","nodeType":"YulFunctionCall","src":"70238:23:19"},"nativeSrc":"70235:36:19","nodeType":"YulIf","src":"70235:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"70190:6:19","nodeType":"YulIdentifier","src":"70190:6:19"},{"kind":"number","nativeSrc":"70198:4:19","nodeType":"YulLiteral","src":"70198:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"70187:2:19","nodeType":"YulIdentifier","src":"70187:2:19"},"nativeSrc":"70187:16:19","nodeType":"YulFunctionCall","src":"70187:16:19"},"nativeSrc":"70180:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"70204:28:19","nodeType":"YulBlock","src":"70204:28:19","statements":[{"nativeSrc":"70206:24:19","nodeType":"YulAssignment","src":"70206:24:19","value":{"arguments":[{"name":"length","nativeSrc":"70220:6:19","nodeType":"YulIdentifier","src":"70220:6:19"},{"kind":"number","nativeSrc":"70228:1:19","nodeType":"YulLiteral","src":"70228:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"70216:3:19","nodeType":"YulIdentifier","src":"70216:3:19"},"nativeSrc":"70216:14:19","nodeType":"YulFunctionCall","src":"70216:14:19"},"variableNames":[{"name":"length","nativeSrc":"70206:6:19","nodeType":"YulIdentifier","src":"70206:6:19"}]}]},"pre":{"nativeSrc":"70184:2:19","nodeType":"YulBlock","src":"70184:2:19","statements":[]},"src":"70180:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"70297:3:19","nodeType":"YulIdentifier","src":"70297:3:19"},{"name":"length","nativeSrc":"70302:6:19","nodeType":"YulIdentifier","src":"70302:6:19"}],"functionName":{"name":"mstore","nativeSrc":"70290:6:19","nodeType":"YulIdentifier","src":"70290:6:19"},"nativeSrc":"70290:19:19","nodeType":"YulFunctionCall","src":"70290:19:19"},"nativeSrc":"70290:19:19","nodeType":"YulExpressionStatement","src":"70290:19:19"},{"nativeSrc":"70326:37:19","nodeType":"YulVariableDeclaration","src":"70326:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"70343:3:19","nodeType":"YulLiteral","src":"70343:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"70352:1:19","nodeType":"YulLiteral","src":"70352:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"70355:6:19","nodeType":"YulIdentifier","src":"70355:6:19"}],"functionName":{"name":"shl","nativeSrc":"70348:3:19","nodeType":"YulIdentifier","src":"70348:3:19"},"nativeSrc":"70348:14:19","nodeType":"YulFunctionCall","src":"70348:14:19"}],"functionName":{"name":"sub","nativeSrc":"70339:3:19","nodeType":"YulIdentifier","src":"70339:3:19"},"nativeSrc":"70339:24:19","nodeType":"YulFunctionCall","src":"70339:24:19"},"variables":[{"name":"shift","nativeSrc":"70330:5:19","nodeType":"YulTypedName","src":"70330:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"70391:3:19","nodeType":"YulIdentifier","src":"70391:3:19"},{"kind":"number","nativeSrc":"70396:4:19","nodeType":"YulLiteral","src":"70396:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"70387:3:19","nodeType":"YulIdentifier","src":"70387:3:19"},"nativeSrc":"70387:14:19","nodeType":"YulFunctionCall","src":"70387:14:19"},{"arguments":[{"name":"shift","nativeSrc":"70407:5:19","nodeType":"YulIdentifier","src":"70407:5:19"},{"arguments":[{"name":"shift","nativeSrc":"70418:5:19","nodeType":"YulIdentifier","src":"70418:5:19"},{"name":"w","nativeSrc":"70425:1:19","nodeType":"YulIdentifier","src":"70425:1:19"}],"functionName":{"name":"shr","nativeSrc":"70414:3:19","nodeType":"YulIdentifier","src":"70414:3:19"},"nativeSrc":"70414:13:19","nodeType":"YulFunctionCall","src":"70414:13:19"}],"functionName":{"name":"shl","nativeSrc":"70403:3:19","nodeType":"YulIdentifier","src":"70403:3:19"},"nativeSrc":"70403:25:19","nodeType":"YulFunctionCall","src":"70403:25:19"}],"functionName":{"name":"mstore","nativeSrc":"70380:6:19","nodeType":"YulIdentifier","src":"70380:6:19"},"nativeSrc":"70380:49:19","nodeType":"YulFunctionCall","src":"70380:49:19"},"nativeSrc":"70380:49:19","nodeType":"YulExpressionStatement","src":"70380:49:19"}]},"name":"writeString","nativeSrc":"70101:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"70122:3:19","nodeType":"YulTypedName","src":"70122:3:19","type":""},{"name":"w","nativeSrc":"70127:1:19","nodeType":"YulTypedName","src":"70127:1:19","type":""}],"src":"70101:342:19"},{"nativeSrc":"70456:17:19","nodeType":"YulAssignment","src":"70456:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"70468:4:19","nodeType":"YulLiteral","src":"70468:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"70462:5:19","nodeType":"YulIdentifier","src":"70462:5:19"},"nativeSrc":"70462:11:19","nodeType":"YulFunctionCall","src":"70462:11:19"},"variableNames":[{"name":"m0","nativeSrc":"70456:2:19","nodeType":"YulIdentifier","src":"70456:2:19"}]},{"nativeSrc":"70486:17:19","nodeType":"YulAssignment","src":"70486:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"70498:4:19","nodeType":"YulLiteral","src":"70498:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"70492:5:19","nodeType":"YulIdentifier","src":"70492:5:19"},"nativeSrc":"70492:11:19","nodeType":"YulFunctionCall","src":"70492:11:19"},"variableNames":[{"name":"m1","nativeSrc":"70486:2:19","nodeType":"YulIdentifier","src":"70486:2:19"}]},{"nativeSrc":"70516:17:19","nodeType":"YulAssignment","src":"70516:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"70528:4:19","nodeType":"YulLiteral","src":"70528:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"70522:5:19","nodeType":"YulIdentifier","src":"70522:5:19"},"nativeSrc":"70522:11:19","nodeType":"YulFunctionCall","src":"70522:11:19"},"variableNames":[{"name":"m2","nativeSrc":"70516:2:19","nodeType":"YulIdentifier","src":"70516:2:19"}]},{"nativeSrc":"70546:17:19","nodeType":"YulAssignment","src":"70546:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"70558:4:19","nodeType":"YulLiteral","src":"70558:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"70552:5:19","nodeType":"YulIdentifier","src":"70552:5:19"},"nativeSrc":"70552:11:19","nodeType":"YulFunctionCall","src":"70552:11:19"},"variableNames":[{"name":"m3","nativeSrc":"70546:2:19","nodeType":"YulIdentifier","src":"70546:2:19"}]},{"nativeSrc":"70576:17:19","nodeType":"YulAssignment","src":"70576:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"70588:4:19","nodeType":"YulLiteral","src":"70588:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"70582:5:19","nodeType":"YulIdentifier","src":"70582:5:19"},"nativeSrc":"70582:11:19","nodeType":"YulFunctionCall","src":"70582:11:19"},"variableNames":[{"name":"m4","nativeSrc":"70576:2:19","nodeType":"YulIdentifier","src":"70576:2:19"}]},{"nativeSrc":"70606:17:19","nodeType":"YulAssignment","src":"70606:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"70618:4:19","nodeType":"YulLiteral","src":"70618:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"70612:5:19","nodeType":"YulIdentifier","src":"70612:5:19"},"nativeSrc":"70612:11:19","nodeType":"YulFunctionCall","src":"70612:11:19"},"variableNames":[{"name":"m5","nativeSrc":"70606:2:19","nodeType":"YulIdentifier","src":"70606:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"70698:4:19","nodeType":"YulLiteral","src":"70698:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"70704:10:19","nodeType":"YulLiteral","src":"70704:10:19","type":"","value":"0xc91d5ed4"}],"functionName":{"name":"mstore","nativeSrc":"70691:6:19","nodeType":"YulIdentifier","src":"70691:6:19"},"nativeSrc":"70691:24:19","nodeType":"YulFunctionCall","src":"70691:24:19"},"nativeSrc":"70691:24:19","nodeType":"YulExpressionStatement","src":"70691:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"70735:4:19","nodeType":"YulLiteral","src":"70735:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"70741:4:19","nodeType":"YulLiteral","src":"70741:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"70728:6:19","nodeType":"YulIdentifier","src":"70728:6:19"},"nativeSrc":"70728:18:19","nodeType":"YulFunctionCall","src":"70728:18:19"},"nativeSrc":"70728:18:19","nodeType":"YulExpressionStatement","src":"70728:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"70766:4:19","nodeType":"YulLiteral","src":"70766:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"70772:2:19","nodeType":"YulIdentifier","src":"70772:2:19"}],"functionName":{"name":"mstore","nativeSrc":"70759:6:19","nodeType":"YulIdentifier","src":"70759:6:19"},"nativeSrc":"70759:16:19","nodeType":"YulFunctionCall","src":"70759:16:19"},"nativeSrc":"70759:16:19","nodeType":"YulExpressionStatement","src":"70759:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"70795:4:19","nodeType":"YulLiteral","src":"70795:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"70801:2:19","nodeType":"YulIdentifier","src":"70801:2:19"}],"functionName":{"name":"mstore","nativeSrc":"70788:6:19","nodeType":"YulIdentifier","src":"70788:6:19"},"nativeSrc":"70788:16:19","nodeType":"YulFunctionCall","src":"70788:16:19"},"nativeSrc":"70788:16:19","nodeType":"YulExpressionStatement","src":"70788:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"70829:4:19","nodeType":"YulLiteral","src":"70829:4:19","type":"","value":"0x80"},{"name":"p0","nativeSrc":"70835:2:19","nodeType":"YulIdentifier","src":"70835:2:19"}],"functionName":{"name":"writeString","nativeSrc":"70817:11:19","nodeType":"YulIdentifier","src":"70817:11:19"},"nativeSrc":"70817:21:19","nodeType":"YulFunctionCall","src":"70817:21:19"},"nativeSrc":"70817:21:19","nodeType":"YulExpressionStatement","src":"70817:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28555,"isOffset":false,"isSlot":false,"src":"70456:2:19","valueSize":1},{"declaration":28558,"isOffset":false,"isSlot":false,"src":"70486:2:19","valueSize":1},{"declaration":28561,"isOffset":false,"isSlot":false,"src":"70516:2:19","valueSize":1},{"declaration":28564,"isOffset":false,"isSlot":false,"src":"70546:2:19","valueSize":1},{"declaration":28567,"isOffset":false,"isSlot":false,"src":"70576:2:19","valueSize":1},{"declaration":28570,"isOffset":false,"isSlot":false,"src":"70606:2:19","valueSize":1},{"declaration":28547,"isOffset":false,"isSlot":false,"src":"70835:2:19","valueSize":1},{"declaration":28549,"isOffset":false,"isSlot":false,"src":"70772:2:19","valueSize":1},{"declaration":28551,"isOffset":false,"isSlot":false,"src":"70801:2:19","valueSize":1}],"id":28572,"nodeType":"InlineAssembly","src":"70078:770:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"70873:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"70879:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28573,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"70857:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"70857:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28577,"nodeType":"ExpressionStatement","src":"70857:27:19"},{"AST":{"nativeSrc":"70946:185:19","nodeType":"YulBlock","src":"70946:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"70967:4:19","nodeType":"YulLiteral","src":"70967:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"70973:2:19","nodeType":"YulIdentifier","src":"70973:2:19"}],"functionName":{"name":"mstore","nativeSrc":"70960:6:19","nodeType":"YulIdentifier","src":"70960:6:19"},"nativeSrc":"70960:16:19","nodeType":"YulFunctionCall","src":"70960:16:19"},"nativeSrc":"70960:16:19","nodeType":"YulExpressionStatement","src":"70960:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"70996:4:19","nodeType":"YulLiteral","src":"70996:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"71002:2:19","nodeType":"YulIdentifier","src":"71002:2:19"}],"functionName":{"name":"mstore","nativeSrc":"70989:6:19","nodeType":"YulIdentifier","src":"70989:6:19"},"nativeSrc":"70989:16:19","nodeType":"YulFunctionCall","src":"70989:16:19"},"nativeSrc":"70989:16:19","nodeType":"YulExpressionStatement","src":"70989:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"71025:4:19","nodeType":"YulLiteral","src":"71025:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"71031:2:19","nodeType":"YulIdentifier","src":"71031:2:19"}],"functionName":{"name":"mstore","nativeSrc":"71018:6:19","nodeType":"YulIdentifier","src":"71018:6:19"},"nativeSrc":"71018:16:19","nodeType":"YulFunctionCall","src":"71018:16:19"},"nativeSrc":"71018:16:19","nodeType":"YulExpressionStatement","src":"71018:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"71054:4:19","nodeType":"YulLiteral","src":"71054:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"71060:2:19","nodeType":"YulIdentifier","src":"71060:2:19"}],"functionName":{"name":"mstore","nativeSrc":"71047:6:19","nodeType":"YulIdentifier","src":"71047:6:19"},"nativeSrc":"71047:16:19","nodeType":"YulFunctionCall","src":"71047:16:19"},"nativeSrc":"71047:16:19","nodeType":"YulExpressionStatement","src":"71047:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"71083:4:19","nodeType":"YulLiteral","src":"71083:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"71089:2:19","nodeType":"YulIdentifier","src":"71089:2:19"}],"functionName":{"name":"mstore","nativeSrc":"71076:6:19","nodeType":"YulIdentifier","src":"71076:6:19"},"nativeSrc":"71076:16:19","nodeType":"YulFunctionCall","src":"71076:16:19"},"nativeSrc":"71076:16:19","nodeType":"YulExpressionStatement","src":"71076:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"71112:4:19","nodeType":"YulLiteral","src":"71112:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"71118:2:19","nodeType":"YulIdentifier","src":"71118:2:19"}],"functionName":{"name":"mstore","nativeSrc":"71105:6:19","nodeType":"YulIdentifier","src":"71105:6:19"},"nativeSrc":"71105:16:19","nodeType":"YulFunctionCall","src":"71105:16:19"},"nativeSrc":"71105:16:19","nodeType":"YulExpressionStatement","src":"71105:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28555,"isOffset":false,"isSlot":false,"src":"70973:2:19","valueSize":1},{"declaration":28558,"isOffset":false,"isSlot":false,"src":"71002:2:19","valueSize":1},{"declaration":28561,"isOffset":false,"isSlot":false,"src":"71031:2:19","valueSize":1},{"declaration":28564,"isOffset":false,"isSlot":false,"src":"71060:2:19","valueSize":1},{"declaration":28567,"isOffset":false,"isSlot":false,"src":"71089:2:19","valueSize":1},{"declaration":28570,"isOffset":false,"isSlot":false,"src":"71118:2:19","valueSize":1}],"id":28578,"nodeType":"InlineAssembly","src":"70937:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"69854:3:19","parameters":{"id":28552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28547,"mutability":"mutable","name":"p0","nameLocation":"69866:2:19","nodeType":"VariableDeclaration","scope":28580,"src":"69858:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28546,"name":"bytes32","nodeType":"ElementaryTypeName","src":"69858:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28549,"mutability":"mutable","name":"p1","nameLocation":"69878:2:19","nodeType":"VariableDeclaration","scope":28580,"src":"69870:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28548,"name":"address","nodeType":"ElementaryTypeName","src":"69870:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28551,"mutability":"mutable","name":"p2","nameLocation":"69887:2:19","nodeType":"VariableDeclaration","scope":28580,"src":"69882:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28550,"name":"bool","nodeType":"ElementaryTypeName","src":"69882:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"69857:33:19"},"returnParameters":{"id":28553,"nodeType":"ParameterList","parameters":[],"src":"69905:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28615,"nodeType":"FunctionDefinition","src":"71143:1298:19","nodes":[],"body":{"id":28614,"nodeType":"Block","src":"71206:1235:19","nodes":[],"statements":[{"assignments":[28590],"declarations":[{"constant":false,"id":28590,"mutability":"mutable","name":"m0","nameLocation":"71224:2:19","nodeType":"VariableDeclaration","scope":28614,"src":"71216:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28589,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71216:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28591,"nodeType":"VariableDeclarationStatement","src":"71216:10:19"},{"assignments":[28593],"declarations":[{"constant":false,"id":28593,"mutability":"mutable","name":"m1","nameLocation":"71244:2:19","nodeType":"VariableDeclaration","scope":28614,"src":"71236:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28592,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71236:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28594,"nodeType":"VariableDeclarationStatement","src":"71236:10:19"},{"assignments":[28596],"declarations":[{"constant":false,"id":28596,"mutability":"mutable","name":"m2","nameLocation":"71264:2:19","nodeType":"VariableDeclaration","scope":28614,"src":"71256:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28595,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71256:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28597,"nodeType":"VariableDeclarationStatement","src":"71256:10:19"},{"assignments":[28599],"declarations":[{"constant":false,"id":28599,"mutability":"mutable","name":"m3","nameLocation":"71284:2:19","nodeType":"VariableDeclaration","scope":28614,"src":"71276:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28598,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71276:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28600,"nodeType":"VariableDeclarationStatement","src":"71276:10:19"},{"assignments":[28602],"declarations":[{"constant":false,"id":28602,"mutability":"mutable","name":"m4","nameLocation":"71304:2:19","nodeType":"VariableDeclaration","scope":28614,"src":"71296:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28601,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71296:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28603,"nodeType":"VariableDeclarationStatement","src":"71296:10:19"},{"assignments":[28605],"declarations":[{"constant":false,"id":28605,"mutability":"mutable","name":"m5","nameLocation":"71324:2:19","nodeType":"VariableDeclaration","scope":28614,"src":"71316:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28604,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71316:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28606,"nodeType":"VariableDeclarationStatement","src":"71316:10:19"},{"AST":{"nativeSrc":"71388:764:19","nodeType":"YulBlock","src":"71388:764:19","statements":[{"body":{"nativeSrc":"71431:313:19","nodeType":"YulBlock","src":"71431:313:19","statements":[{"nativeSrc":"71449:15:19","nodeType":"YulVariableDeclaration","src":"71449:15:19","value":{"kind":"number","nativeSrc":"71463:1:19","nodeType":"YulLiteral","src":"71463:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"71453:6:19","nodeType":"YulTypedName","src":"71453:6:19","type":""}]},{"body":{"nativeSrc":"71534:40:19","nodeType":"YulBlock","src":"71534:40:19","statements":[{"body":{"nativeSrc":"71563:9:19","nodeType":"YulBlock","src":"71563:9:19","statements":[{"nativeSrc":"71565:5:19","nodeType":"YulBreak","src":"71565:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"71551:6:19","nodeType":"YulIdentifier","src":"71551:6:19"},{"name":"w","nativeSrc":"71559:1:19","nodeType":"YulIdentifier","src":"71559:1:19"}],"functionName":{"name":"byte","nativeSrc":"71546:4:19","nodeType":"YulIdentifier","src":"71546:4:19"},"nativeSrc":"71546:15:19","nodeType":"YulFunctionCall","src":"71546:15:19"}],"functionName":{"name":"iszero","nativeSrc":"71539:6:19","nodeType":"YulIdentifier","src":"71539:6:19"},"nativeSrc":"71539:23:19","nodeType":"YulFunctionCall","src":"71539:23:19"},"nativeSrc":"71536:36:19","nodeType":"YulIf","src":"71536:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"71491:6:19","nodeType":"YulIdentifier","src":"71491:6:19"},{"kind":"number","nativeSrc":"71499:4:19","nodeType":"YulLiteral","src":"71499:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"71488:2:19","nodeType":"YulIdentifier","src":"71488:2:19"},"nativeSrc":"71488:16:19","nodeType":"YulFunctionCall","src":"71488:16:19"},"nativeSrc":"71481:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"71505:28:19","nodeType":"YulBlock","src":"71505:28:19","statements":[{"nativeSrc":"71507:24:19","nodeType":"YulAssignment","src":"71507:24:19","value":{"arguments":[{"name":"length","nativeSrc":"71521:6:19","nodeType":"YulIdentifier","src":"71521:6:19"},{"kind":"number","nativeSrc":"71529:1:19","nodeType":"YulLiteral","src":"71529:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"71517:3:19","nodeType":"YulIdentifier","src":"71517:3:19"},"nativeSrc":"71517:14:19","nodeType":"YulFunctionCall","src":"71517:14:19"},"variableNames":[{"name":"length","nativeSrc":"71507:6:19","nodeType":"YulIdentifier","src":"71507:6:19"}]}]},"pre":{"nativeSrc":"71485:2:19","nodeType":"YulBlock","src":"71485:2:19","statements":[]},"src":"71481:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"71598:3:19","nodeType":"YulIdentifier","src":"71598:3:19"},{"name":"length","nativeSrc":"71603:6:19","nodeType":"YulIdentifier","src":"71603:6:19"}],"functionName":{"name":"mstore","nativeSrc":"71591:6:19","nodeType":"YulIdentifier","src":"71591:6:19"},"nativeSrc":"71591:19:19","nodeType":"YulFunctionCall","src":"71591:19:19"},"nativeSrc":"71591:19:19","nodeType":"YulExpressionStatement","src":"71591:19:19"},{"nativeSrc":"71627:37:19","nodeType":"YulVariableDeclaration","src":"71627:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"71644:3:19","nodeType":"YulLiteral","src":"71644:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"71653:1:19","nodeType":"YulLiteral","src":"71653:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"71656:6:19","nodeType":"YulIdentifier","src":"71656:6:19"}],"functionName":{"name":"shl","nativeSrc":"71649:3:19","nodeType":"YulIdentifier","src":"71649:3:19"},"nativeSrc":"71649:14:19","nodeType":"YulFunctionCall","src":"71649:14:19"}],"functionName":{"name":"sub","nativeSrc":"71640:3:19","nodeType":"YulIdentifier","src":"71640:3:19"},"nativeSrc":"71640:24:19","nodeType":"YulFunctionCall","src":"71640:24:19"},"variables":[{"name":"shift","nativeSrc":"71631:5:19","nodeType":"YulTypedName","src":"71631:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"71692:3:19","nodeType":"YulIdentifier","src":"71692:3:19"},{"kind":"number","nativeSrc":"71697:4:19","nodeType":"YulLiteral","src":"71697:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"71688:3:19","nodeType":"YulIdentifier","src":"71688:3:19"},"nativeSrc":"71688:14:19","nodeType":"YulFunctionCall","src":"71688:14:19"},{"arguments":[{"name":"shift","nativeSrc":"71708:5:19","nodeType":"YulIdentifier","src":"71708:5:19"},{"arguments":[{"name":"shift","nativeSrc":"71719:5:19","nodeType":"YulIdentifier","src":"71719:5:19"},{"name":"w","nativeSrc":"71726:1:19","nodeType":"YulIdentifier","src":"71726:1:19"}],"functionName":{"name":"shr","nativeSrc":"71715:3:19","nodeType":"YulIdentifier","src":"71715:3:19"},"nativeSrc":"71715:13:19","nodeType":"YulFunctionCall","src":"71715:13:19"}],"functionName":{"name":"shl","nativeSrc":"71704:3:19","nodeType":"YulIdentifier","src":"71704:3:19"},"nativeSrc":"71704:25:19","nodeType":"YulFunctionCall","src":"71704:25:19"}],"functionName":{"name":"mstore","nativeSrc":"71681:6:19","nodeType":"YulIdentifier","src":"71681:6:19"},"nativeSrc":"71681:49:19","nodeType":"YulFunctionCall","src":"71681:49:19"},"nativeSrc":"71681:49:19","nodeType":"YulExpressionStatement","src":"71681:49:19"}]},"name":"writeString","nativeSrc":"71402:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"71423:3:19","nodeType":"YulTypedName","src":"71423:3:19","type":""},{"name":"w","nativeSrc":"71428:1:19","nodeType":"YulTypedName","src":"71428:1:19","type":""}],"src":"71402:342:19"},{"nativeSrc":"71757:17:19","nodeType":"YulAssignment","src":"71757:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"71769:4:19","nodeType":"YulLiteral","src":"71769:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"71763:5:19","nodeType":"YulIdentifier","src":"71763:5:19"},"nativeSrc":"71763:11:19","nodeType":"YulFunctionCall","src":"71763:11:19"},"variableNames":[{"name":"m0","nativeSrc":"71757:2:19","nodeType":"YulIdentifier","src":"71757:2:19"}]},{"nativeSrc":"71787:17:19","nodeType":"YulAssignment","src":"71787:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"71799:4:19","nodeType":"YulLiteral","src":"71799:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"71793:5:19","nodeType":"YulIdentifier","src":"71793:5:19"},"nativeSrc":"71793:11:19","nodeType":"YulFunctionCall","src":"71793:11:19"},"variableNames":[{"name":"m1","nativeSrc":"71787:2:19","nodeType":"YulIdentifier","src":"71787:2:19"}]},{"nativeSrc":"71817:17:19","nodeType":"YulAssignment","src":"71817:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"71829:4:19","nodeType":"YulLiteral","src":"71829:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"71823:5:19","nodeType":"YulIdentifier","src":"71823:5:19"},"nativeSrc":"71823:11:19","nodeType":"YulFunctionCall","src":"71823:11:19"},"variableNames":[{"name":"m2","nativeSrc":"71817:2:19","nodeType":"YulIdentifier","src":"71817:2:19"}]},{"nativeSrc":"71847:17:19","nodeType":"YulAssignment","src":"71847:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"71859:4:19","nodeType":"YulLiteral","src":"71859:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"71853:5:19","nodeType":"YulIdentifier","src":"71853:5:19"},"nativeSrc":"71853:11:19","nodeType":"YulFunctionCall","src":"71853:11:19"},"variableNames":[{"name":"m3","nativeSrc":"71847:2:19","nodeType":"YulIdentifier","src":"71847:2:19"}]},{"nativeSrc":"71877:17:19","nodeType":"YulAssignment","src":"71877:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"71889:4:19","nodeType":"YulLiteral","src":"71889:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"71883:5:19","nodeType":"YulIdentifier","src":"71883:5:19"},"nativeSrc":"71883:11:19","nodeType":"YulFunctionCall","src":"71883:11:19"},"variableNames":[{"name":"m4","nativeSrc":"71877:2:19","nodeType":"YulIdentifier","src":"71877:2:19"}]},{"nativeSrc":"71907:17:19","nodeType":"YulAssignment","src":"71907:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"71919:4:19","nodeType":"YulLiteral","src":"71919:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"71913:5:19","nodeType":"YulIdentifier","src":"71913:5:19"},"nativeSrc":"71913:11:19","nodeType":"YulFunctionCall","src":"71913:11:19"},"variableNames":[{"name":"m5","nativeSrc":"71907:2:19","nodeType":"YulIdentifier","src":"71907:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72002:4:19","nodeType":"YulLiteral","src":"72002:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"72008:10:19","nodeType":"YulLiteral","src":"72008:10:19","type":"","value":"0x0d26b925"}],"functionName":{"name":"mstore","nativeSrc":"71995:6:19","nodeType":"YulIdentifier","src":"71995:6:19"},"nativeSrc":"71995:24:19","nodeType":"YulFunctionCall","src":"71995:24:19"},"nativeSrc":"71995:24:19","nodeType":"YulExpressionStatement","src":"71995:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72039:4:19","nodeType":"YulLiteral","src":"72039:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"72045:4:19","nodeType":"YulLiteral","src":"72045:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"72032:6:19","nodeType":"YulIdentifier","src":"72032:6:19"},"nativeSrc":"72032:18:19","nodeType":"YulFunctionCall","src":"72032:18:19"},"nativeSrc":"72032:18:19","nodeType":"YulExpressionStatement","src":"72032:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72070:4:19","nodeType":"YulLiteral","src":"72070:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"72076:2:19","nodeType":"YulIdentifier","src":"72076:2:19"}],"functionName":{"name":"mstore","nativeSrc":"72063:6:19","nodeType":"YulIdentifier","src":"72063:6:19"},"nativeSrc":"72063:16:19","nodeType":"YulFunctionCall","src":"72063:16:19"},"nativeSrc":"72063:16:19","nodeType":"YulExpressionStatement","src":"72063:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72099:4:19","nodeType":"YulLiteral","src":"72099:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"72105:2:19","nodeType":"YulIdentifier","src":"72105:2:19"}],"functionName":{"name":"mstore","nativeSrc":"72092:6:19","nodeType":"YulIdentifier","src":"72092:6:19"},"nativeSrc":"72092:16:19","nodeType":"YulFunctionCall","src":"72092:16:19"},"nativeSrc":"72092:16:19","nodeType":"YulExpressionStatement","src":"72092:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72133:4:19","nodeType":"YulLiteral","src":"72133:4:19","type":"","value":"0x80"},{"name":"p0","nativeSrc":"72139:2:19","nodeType":"YulIdentifier","src":"72139:2:19"}],"functionName":{"name":"writeString","nativeSrc":"72121:11:19","nodeType":"YulIdentifier","src":"72121:11:19"},"nativeSrc":"72121:21:19","nodeType":"YulFunctionCall","src":"72121:21:19"},"nativeSrc":"72121:21:19","nodeType":"YulExpressionStatement","src":"72121:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28590,"isOffset":false,"isSlot":false,"src":"71757:2:19","valueSize":1},{"declaration":28593,"isOffset":false,"isSlot":false,"src":"71787:2:19","valueSize":1},{"declaration":28596,"isOffset":false,"isSlot":false,"src":"71817:2:19","valueSize":1},{"declaration":28599,"isOffset":false,"isSlot":false,"src":"71847:2:19","valueSize":1},{"declaration":28602,"isOffset":false,"isSlot":false,"src":"71877:2:19","valueSize":1},{"declaration":28605,"isOffset":false,"isSlot":false,"src":"71907:2:19","valueSize":1},{"declaration":28582,"isOffset":false,"isSlot":false,"src":"72139:2:19","valueSize":1},{"declaration":28584,"isOffset":false,"isSlot":false,"src":"72076:2:19","valueSize":1},{"declaration":28586,"isOffset":false,"isSlot":false,"src":"72105:2:19","valueSize":1}],"id":28607,"nodeType":"InlineAssembly","src":"71379:773:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"72177:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"72183:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28608,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"72161:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"72161:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28612,"nodeType":"ExpressionStatement","src":"72161:27:19"},{"AST":{"nativeSrc":"72250:185:19","nodeType":"YulBlock","src":"72250:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"72271:4:19","nodeType":"YulLiteral","src":"72271:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"72277:2:19","nodeType":"YulIdentifier","src":"72277:2:19"}],"functionName":{"name":"mstore","nativeSrc":"72264:6:19","nodeType":"YulIdentifier","src":"72264:6:19"},"nativeSrc":"72264:16:19","nodeType":"YulFunctionCall","src":"72264:16:19"},"nativeSrc":"72264:16:19","nodeType":"YulExpressionStatement","src":"72264:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72300:4:19","nodeType":"YulLiteral","src":"72300:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"72306:2:19","nodeType":"YulIdentifier","src":"72306:2:19"}],"functionName":{"name":"mstore","nativeSrc":"72293:6:19","nodeType":"YulIdentifier","src":"72293:6:19"},"nativeSrc":"72293:16:19","nodeType":"YulFunctionCall","src":"72293:16:19"},"nativeSrc":"72293:16:19","nodeType":"YulExpressionStatement","src":"72293:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72329:4:19","nodeType":"YulLiteral","src":"72329:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"72335:2:19","nodeType":"YulIdentifier","src":"72335:2:19"}],"functionName":{"name":"mstore","nativeSrc":"72322:6:19","nodeType":"YulIdentifier","src":"72322:6:19"},"nativeSrc":"72322:16:19","nodeType":"YulFunctionCall","src":"72322:16:19"},"nativeSrc":"72322:16:19","nodeType":"YulExpressionStatement","src":"72322:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72358:4:19","nodeType":"YulLiteral","src":"72358:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"72364:2:19","nodeType":"YulIdentifier","src":"72364:2:19"}],"functionName":{"name":"mstore","nativeSrc":"72351:6:19","nodeType":"YulIdentifier","src":"72351:6:19"},"nativeSrc":"72351:16:19","nodeType":"YulFunctionCall","src":"72351:16:19"},"nativeSrc":"72351:16:19","nodeType":"YulExpressionStatement","src":"72351:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72387:4:19","nodeType":"YulLiteral","src":"72387:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"72393:2:19","nodeType":"YulIdentifier","src":"72393:2:19"}],"functionName":{"name":"mstore","nativeSrc":"72380:6:19","nodeType":"YulIdentifier","src":"72380:6:19"},"nativeSrc":"72380:16:19","nodeType":"YulFunctionCall","src":"72380:16:19"},"nativeSrc":"72380:16:19","nodeType":"YulExpressionStatement","src":"72380:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"72416:4:19","nodeType":"YulLiteral","src":"72416:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"72422:2:19","nodeType":"YulIdentifier","src":"72422:2:19"}],"functionName":{"name":"mstore","nativeSrc":"72409:6:19","nodeType":"YulIdentifier","src":"72409:6:19"},"nativeSrc":"72409:16:19","nodeType":"YulFunctionCall","src":"72409:16:19"},"nativeSrc":"72409:16:19","nodeType":"YulExpressionStatement","src":"72409:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28590,"isOffset":false,"isSlot":false,"src":"72277:2:19","valueSize":1},{"declaration":28593,"isOffset":false,"isSlot":false,"src":"72306:2:19","valueSize":1},{"declaration":28596,"isOffset":false,"isSlot":false,"src":"72335:2:19","valueSize":1},{"declaration":28599,"isOffset":false,"isSlot":false,"src":"72364:2:19","valueSize":1},{"declaration":28602,"isOffset":false,"isSlot":false,"src":"72393:2:19","valueSize":1},{"declaration":28605,"isOffset":false,"isSlot":false,"src":"72422:2:19","valueSize":1}],"id":28613,"nodeType":"InlineAssembly","src":"72241:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"71152:3:19","parameters":{"id":28587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28582,"mutability":"mutable","name":"p0","nameLocation":"71164:2:19","nodeType":"VariableDeclaration","scope":28615,"src":"71156:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28581,"name":"bytes32","nodeType":"ElementaryTypeName","src":"71156:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28584,"mutability":"mutable","name":"p1","nameLocation":"71176:2:19","nodeType":"VariableDeclaration","scope":28615,"src":"71168:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28583,"name":"address","nodeType":"ElementaryTypeName","src":"71168:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28586,"mutability":"mutable","name":"p2","nameLocation":"71188:2:19","nodeType":"VariableDeclaration","scope":28615,"src":"71180:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28585,"name":"uint256","nodeType":"ElementaryTypeName","src":"71180:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"71155:36:19"},"returnParameters":{"id":28588,"nodeType":"ParameterList","parameters":[],"src":"71206:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28656,"nodeType":"FunctionDefinition","src":"72447:1491:19","nodes":[],"body":{"id":28655,"nodeType":"Block","src":"72510:1428:19","nodes":[],"statements":[{"assignments":[28625],"declarations":[{"constant":false,"id":28625,"mutability":"mutable","name":"m0","nameLocation":"72528:2:19","nodeType":"VariableDeclaration","scope":28655,"src":"72520:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28624,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72520:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28626,"nodeType":"VariableDeclarationStatement","src":"72520:10:19"},{"assignments":[28628],"declarations":[{"constant":false,"id":28628,"mutability":"mutable","name":"m1","nameLocation":"72548:2:19","nodeType":"VariableDeclaration","scope":28655,"src":"72540:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72540:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28629,"nodeType":"VariableDeclarationStatement","src":"72540:10:19"},{"assignments":[28631],"declarations":[{"constant":false,"id":28631,"mutability":"mutable","name":"m2","nameLocation":"72568:2:19","nodeType":"VariableDeclaration","scope":28655,"src":"72560:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28630,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72560:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28632,"nodeType":"VariableDeclarationStatement","src":"72560:10:19"},{"assignments":[28634],"declarations":[{"constant":false,"id":28634,"mutability":"mutable","name":"m3","nameLocation":"72588:2:19","nodeType":"VariableDeclaration","scope":28655,"src":"72580:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28633,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72580:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28635,"nodeType":"VariableDeclarationStatement","src":"72580:10:19"},{"assignments":[28637],"declarations":[{"constant":false,"id":28637,"mutability":"mutable","name":"m4","nameLocation":"72608:2:19","nodeType":"VariableDeclaration","scope":28655,"src":"72600:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28636,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72600:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28638,"nodeType":"VariableDeclarationStatement","src":"72600:10:19"},{"assignments":[28640],"declarations":[{"constant":false,"id":28640,"mutability":"mutable","name":"m5","nameLocation":"72628:2:19","nodeType":"VariableDeclaration","scope":28655,"src":"72620:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28639,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72620:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28641,"nodeType":"VariableDeclarationStatement","src":"72620:10:19"},{"assignments":[28643],"declarations":[{"constant":false,"id":28643,"mutability":"mutable","name":"m6","nameLocation":"72648:2:19","nodeType":"VariableDeclaration","scope":28655,"src":"72640:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28642,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72640:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28644,"nodeType":"VariableDeclarationStatement","src":"72640:10:19"},{"assignments":[28646],"declarations":[{"constant":false,"id":28646,"mutability":"mutable","name":"m7","nameLocation":"72668:2:19","nodeType":"VariableDeclaration","scope":28655,"src":"72660:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28645,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72660:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28647,"nodeType":"VariableDeclarationStatement","src":"72660:10:19"},{"AST":{"nativeSrc":"72732:859:19","nodeType":"YulBlock","src":"72732:859:19","statements":[{"body":{"nativeSrc":"72775:313:19","nodeType":"YulBlock","src":"72775:313:19","statements":[{"nativeSrc":"72793:15:19","nodeType":"YulVariableDeclaration","src":"72793:15:19","value":{"kind":"number","nativeSrc":"72807:1:19","nodeType":"YulLiteral","src":"72807:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"72797:6:19","nodeType":"YulTypedName","src":"72797:6:19","type":""}]},{"body":{"nativeSrc":"72878:40:19","nodeType":"YulBlock","src":"72878:40:19","statements":[{"body":{"nativeSrc":"72907:9:19","nodeType":"YulBlock","src":"72907:9:19","statements":[{"nativeSrc":"72909:5:19","nodeType":"YulBreak","src":"72909:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"72895:6:19","nodeType":"YulIdentifier","src":"72895:6:19"},{"name":"w","nativeSrc":"72903:1:19","nodeType":"YulIdentifier","src":"72903:1:19"}],"functionName":{"name":"byte","nativeSrc":"72890:4:19","nodeType":"YulIdentifier","src":"72890:4:19"},"nativeSrc":"72890:15:19","nodeType":"YulFunctionCall","src":"72890:15:19"}],"functionName":{"name":"iszero","nativeSrc":"72883:6:19","nodeType":"YulIdentifier","src":"72883:6:19"},"nativeSrc":"72883:23:19","nodeType":"YulFunctionCall","src":"72883:23:19"},"nativeSrc":"72880:36:19","nodeType":"YulIf","src":"72880:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"72835:6:19","nodeType":"YulIdentifier","src":"72835:6:19"},{"kind":"number","nativeSrc":"72843:4:19","nodeType":"YulLiteral","src":"72843:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"72832:2:19","nodeType":"YulIdentifier","src":"72832:2:19"},"nativeSrc":"72832:16:19","nodeType":"YulFunctionCall","src":"72832:16:19"},"nativeSrc":"72825:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"72849:28:19","nodeType":"YulBlock","src":"72849:28:19","statements":[{"nativeSrc":"72851:24:19","nodeType":"YulAssignment","src":"72851:24:19","value":{"arguments":[{"name":"length","nativeSrc":"72865:6:19","nodeType":"YulIdentifier","src":"72865:6:19"},{"kind":"number","nativeSrc":"72873:1:19","nodeType":"YulLiteral","src":"72873:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"72861:3:19","nodeType":"YulIdentifier","src":"72861:3:19"},"nativeSrc":"72861:14:19","nodeType":"YulFunctionCall","src":"72861:14:19"},"variableNames":[{"name":"length","nativeSrc":"72851:6:19","nodeType":"YulIdentifier","src":"72851:6:19"}]}]},"pre":{"nativeSrc":"72829:2:19","nodeType":"YulBlock","src":"72829:2:19","statements":[]},"src":"72825:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"72942:3:19","nodeType":"YulIdentifier","src":"72942:3:19"},{"name":"length","nativeSrc":"72947:6:19","nodeType":"YulIdentifier","src":"72947:6:19"}],"functionName":{"name":"mstore","nativeSrc":"72935:6:19","nodeType":"YulIdentifier","src":"72935:6:19"},"nativeSrc":"72935:19:19","nodeType":"YulFunctionCall","src":"72935:19:19"},"nativeSrc":"72935:19:19","nodeType":"YulExpressionStatement","src":"72935:19:19"},{"nativeSrc":"72971:37:19","nodeType":"YulVariableDeclaration","src":"72971:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"72988:3:19","nodeType":"YulLiteral","src":"72988:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"72997:1:19","nodeType":"YulLiteral","src":"72997:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"73000:6:19","nodeType":"YulIdentifier","src":"73000:6:19"}],"functionName":{"name":"shl","nativeSrc":"72993:3:19","nodeType":"YulIdentifier","src":"72993:3:19"},"nativeSrc":"72993:14:19","nodeType":"YulFunctionCall","src":"72993:14:19"}],"functionName":{"name":"sub","nativeSrc":"72984:3:19","nodeType":"YulIdentifier","src":"72984:3:19"},"nativeSrc":"72984:24:19","nodeType":"YulFunctionCall","src":"72984:24:19"},"variables":[{"name":"shift","nativeSrc":"72975:5:19","nodeType":"YulTypedName","src":"72975:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"73036:3:19","nodeType":"YulIdentifier","src":"73036:3:19"},{"kind":"number","nativeSrc":"73041:4:19","nodeType":"YulLiteral","src":"73041:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"73032:3:19","nodeType":"YulIdentifier","src":"73032:3:19"},"nativeSrc":"73032:14:19","nodeType":"YulFunctionCall","src":"73032:14:19"},{"arguments":[{"name":"shift","nativeSrc":"73052:5:19","nodeType":"YulIdentifier","src":"73052:5:19"},{"arguments":[{"name":"shift","nativeSrc":"73063:5:19","nodeType":"YulIdentifier","src":"73063:5:19"},{"name":"w","nativeSrc":"73070:1:19","nodeType":"YulIdentifier","src":"73070:1:19"}],"functionName":{"name":"shr","nativeSrc":"73059:3:19","nodeType":"YulIdentifier","src":"73059:3:19"},"nativeSrc":"73059:13:19","nodeType":"YulFunctionCall","src":"73059:13:19"}],"functionName":{"name":"shl","nativeSrc":"73048:3:19","nodeType":"YulIdentifier","src":"73048:3:19"},"nativeSrc":"73048:25:19","nodeType":"YulFunctionCall","src":"73048:25:19"}],"functionName":{"name":"mstore","nativeSrc":"73025:6:19","nodeType":"YulIdentifier","src":"73025:6:19"},"nativeSrc":"73025:49:19","nodeType":"YulFunctionCall","src":"73025:49:19"},"nativeSrc":"73025:49:19","nodeType":"YulExpressionStatement","src":"73025:49:19"}]},"name":"writeString","nativeSrc":"72746:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"72767:3:19","nodeType":"YulTypedName","src":"72767:3:19","type":""},{"name":"w","nativeSrc":"72772:1:19","nodeType":"YulTypedName","src":"72772:1:19","type":""}],"src":"72746:342:19"},{"nativeSrc":"73101:17:19","nodeType":"YulAssignment","src":"73101:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"73113:4:19","nodeType":"YulLiteral","src":"73113:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"73107:5:19","nodeType":"YulIdentifier","src":"73107:5:19"},"nativeSrc":"73107:11:19","nodeType":"YulFunctionCall","src":"73107:11:19"},"variableNames":[{"name":"m0","nativeSrc":"73101:2:19","nodeType":"YulIdentifier","src":"73101:2:19"}]},{"nativeSrc":"73131:17:19","nodeType":"YulAssignment","src":"73131:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"73143:4:19","nodeType":"YulLiteral","src":"73143:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"73137:5:19","nodeType":"YulIdentifier","src":"73137:5:19"},"nativeSrc":"73137:11:19","nodeType":"YulFunctionCall","src":"73137:11:19"},"variableNames":[{"name":"m1","nativeSrc":"73131:2:19","nodeType":"YulIdentifier","src":"73131:2:19"}]},{"nativeSrc":"73161:17:19","nodeType":"YulAssignment","src":"73161:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"73173:4:19","nodeType":"YulLiteral","src":"73173:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"73167:5:19","nodeType":"YulIdentifier","src":"73167:5:19"},"nativeSrc":"73167:11:19","nodeType":"YulFunctionCall","src":"73167:11:19"},"variableNames":[{"name":"m2","nativeSrc":"73161:2:19","nodeType":"YulIdentifier","src":"73161:2:19"}]},{"nativeSrc":"73191:17:19","nodeType":"YulAssignment","src":"73191:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"73203:4:19","nodeType":"YulLiteral","src":"73203:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"73197:5:19","nodeType":"YulIdentifier","src":"73197:5:19"},"nativeSrc":"73197:11:19","nodeType":"YulFunctionCall","src":"73197:11:19"},"variableNames":[{"name":"m3","nativeSrc":"73191:2:19","nodeType":"YulIdentifier","src":"73191:2:19"}]},{"nativeSrc":"73221:17:19","nodeType":"YulAssignment","src":"73221:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"73233:4:19","nodeType":"YulLiteral","src":"73233:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"73227:5:19","nodeType":"YulIdentifier","src":"73227:5:19"},"nativeSrc":"73227:11:19","nodeType":"YulFunctionCall","src":"73227:11:19"},"variableNames":[{"name":"m4","nativeSrc":"73221:2:19","nodeType":"YulIdentifier","src":"73221:2:19"}]},{"nativeSrc":"73251:17:19","nodeType":"YulAssignment","src":"73251:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"73263:4:19","nodeType":"YulLiteral","src":"73263:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"73257:5:19","nodeType":"YulIdentifier","src":"73257:5:19"},"nativeSrc":"73257:11:19","nodeType":"YulFunctionCall","src":"73257:11:19"},"variableNames":[{"name":"m5","nativeSrc":"73251:2:19","nodeType":"YulIdentifier","src":"73251:2:19"}]},{"nativeSrc":"73281:17:19","nodeType":"YulAssignment","src":"73281:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"73293:4:19","nodeType":"YulLiteral","src":"73293:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"73287:5:19","nodeType":"YulIdentifier","src":"73287:5:19"},"nativeSrc":"73287:11:19","nodeType":"YulFunctionCall","src":"73287:11:19"},"variableNames":[{"name":"m6","nativeSrc":"73281:2:19","nodeType":"YulIdentifier","src":"73281:2:19"}]},{"nativeSrc":"73311:17:19","nodeType":"YulAssignment","src":"73311:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"73323:4:19","nodeType":"YulLiteral","src":"73323:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"73317:5:19","nodeType":"YulIdentifier","src":"73317:5:19"},"nativeSrc":"73317:11:19","nodeType":"YulFunctionCall","src":"73317:11:19"},"variableNames":[{"name":"m7","nativeSrc":"73311:2:19","nodeType":"YulIdentifier","src":"73311:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73405:4:19","nodeType":"YulLiteral","src":"73405:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"73411:10:19","nodeType":"YulLiteral","src":"73411:10:19","type":"","value":"0xe0e9ad4f"}],"functionName":{"name":"mstore","nativeSrc":"73398:6:19","nodeType":"YulIdentifier","src":"73398:6:19"},"nativeSrc":"73398:24:19","nodeType":"YulFunctionCall","src":"73398:24:19"},"nativeSrc":"73398:24:19","nodeType":"YulExpressionStatement","src":"73398:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73442:4:19","nodeType":"YulLiteral","src":"73442:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"73448:4:19","nodeType":"YulLiteral","src":"73448:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"73435:6:19","nodeType":"YulIdentifier","src":"73435:6:19"},"nativeSrc":"73435:18:19","nodeType":"YulFunctionCall","src":"73435:18:19"},"nativeSrc":"73435:18:19","nodeType":"YulExpressionStatement","src":"73435:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73473:4:19","nodeType":"YulLiteral","src":"73473:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"73479:2:19","nodeType":"YulIdentifier","src":"73479:2:19"}],"functionName":{"name":"mstore","nativeSrc":"73466:6:19","nodeType":"YulIdentifier","src":"73466:6:19"},"nativeSrc":"73466:16:19","nodeType":"YulFunctionCall","src":"73466:16:19"},"nativeSrc":"73466:16:19","nodeType":"YulExpressionStatement","src":"73466:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73502:4:19","nodeType":"YulLiteral","src":"73502:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"73508:4:19","nodeType":"YulLiteral","src":"73508:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"73495:6:19","nodeType":"YulIdentifier","src":"73495:6:19"},"nativeSrc":"73495:18:19","nodeType":"YulFunctionCall","src":"73495:18:19"},"nativeSrc":"73495:18:19","nodeType":"YulExpressionStatement","src":"73495:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73538:4:19","nodeType":"YulLiteral","src":"73538:4:19","type":"","value":"0x80"},{"name":"p0","nativeSrc":"73544:2:19","nodeType":"YulIdentifier","src":"73544:2:19"}],"functionName":{"name":"writeString","nativeSrc":"73526:11:19","nodeType":"YulIdentifier","src":"73526:11:19"},"nativeSrc":"73526:21:19","nodeType":"YulFunctionCall","src":"73526:21:19"},"nativeSrc":"73526:21:19","nodeType":"YulExpressionStatement","src":"73526:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73572:4:19","nodeType":"YulLiteral","src":"73572:4:19","type":"","value":"0xc0"},{"name":"p2","nativeSrc":"73578:2:19","nodeType":"YulIdentifier","src":"73578:2:19"}],"functionName":{"name":"writeString","nativeSrc":"73560:11:19","nodeType":"YulIdentifier","src":"73560:11:19"},"nativeSrc":"73560:21:19","nodeType":"YulFunctionCall","src":"73560:21:19"},"nativeSrc":"73560:21:19","nodeType":"YulExpressionStatement","src":"73560:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28625,"isOffset":false,"isSlot":false,"src":"73101:2:19","valueSize":1},{"declaration":28628,"isOffset":false,"isSlot":false,"src":"73131:2:19","valueSize":1},{"declaration":28631,"isOffset":false,"isSlot":false,"src":"73161:2:19","valueSize":1},{"declaration":28634,"isOffset":false,"isSlot":false,"src":"73191:2:19","valueSize":1},{"declaration":28637,"isOffset":false,"isSlot":false,"src":"73221:2:19","valueSize":1},{"declaration":28640,"isOffset":false,"isSlot":false,"src":"73251:2:19","valueSize":1},{"declaration":28643,"isOffset":false,"isSlot":false,"src":"73281:2:19","valueSize":1},{"declaration":28646,"isOffset":false,"isSlot":false,"src":"73311:2:19","valueSize":1},{"declaration":28617,"isOffset":false,"isSlot":false,"src":"73544:2:19","valueSize":1},{"declaration":28619,"isOffset":false,"isSlot":false,"src":"73479:2:19","valueSize":1},{"declaration":28621,"isOffset":false,"isSlot":false,"src":"73578:2:19","valueSize":1}],"id":28648,"nodeType":"InlineAssembly","src":"72723:868:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"73616:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":28651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"73622:4:19","typeDescriptions":{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"},"value":"0xe4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"}],"id":28649,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"73600:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"73600:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28653,"nodeType":"ExpressionStatement","src":"73600:27:19"},{"AST":{"nativeSrc":"73689:243:19","nodeType":"YulBlock","src":"73689:243:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"73710:4:19","nodeType":"YulLiteral","src":"73710:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"73716:2:19","nodeType":"YulIdentifier","src":"73716:2:19"}],"functionName":{"name":"mstore","nativeSrc":"73703:6:19","nodeType":"YulIdentifier","src":"73703:6:19"},"nativeSrc":"73703:16:19","nodeType":"YulFunctionCall","src":"73703:16:19"},"nativeSrc":"73703:16:19","nodeType":"YulExpressionStatement","src":"73703:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73739:4:19","nodeType":"YulLiteral","src":"73739:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"73745:2:19","nodeType":"YulIdentifier","src":"73745:2:19"}],"functionName":{"name":"mstore","nativeSrc":"73732:6:19","nodeType":"YulIdentifier","src":"73732:6:19"},"nativeSrc":"73732:16:19","nodeType":"YulFunctionCall","src":"73732:16:19"},"nativeSrc":"73732:16:19","nodeType":"YulExpressionStatement","src":"73732:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73768:4:19","nodeType":"YulLiteral","src":"73768:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"73774:2:19","nodeType":"YulIdentifier","src":"73774:2:19"}],"functionName":{"name":"mstore","nativeSrc":"73761:6:19","nodeType":"YulIdentifier","src":"73761:6:19"},"nativeSrc":"73761:16:19","nodeType":"YulFunctionCall","src":"73761:16:19"},"nativeSrc":"73761:16:19","nodeType":"YulExpressionStatement","src":"73761:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73797:4:19","nodeType":"YulLiteral","src":"73797:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"73803:2:19","nodeType":"YulIdentifier","src":"73803:2:19"}],"functionName":{"name":"mstore","nativeSrc":"73790:6:19","nodeType":"YulIdentifier","src":"73790:6:19"},"nativeSrc":"73790:16:19","nodeType":"YulFunctionCall","src":"73790:16:19"},"nativeSrc":"73790:16:19","nodeType":"YulExpressionStatement","src":"73790:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73826:4:19","nodeType":"YulLiteral","src":"73826:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"73832:2:19","nodeType":"YulIdentifier","src":"73832:2:19"}],"functionName":{"name":"mstore","nativeSrc":"73819:6:19","nodeType":"YulIdentifier","src":"73819:6:19"},"nativeSrc":"73819:16:19","nodeType":"YulFunctionCall","src":"73819:16:19"},"nativeSrc":"73819:16:19","nodeType":"YulExpressionStatement","src":"73819:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73855:4:19","nodeType":"YulLiteral","src":"73855:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"73861:2:19","nodeType":"YulIdentifier","src":"73861:2:19"}],"functionName":{"name":"mstore","nativeSrc":"73848:6:19","nodeType":"YulIdentifier","src":"73848:6:19"},"nativeSrc":"73848:16:19","nodeType":"YulFunctionCall","src":"73848:16:19"},"nativeSrc":"73848:16:19","nodeType":"YulExpressionStatement","src":"73848:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73884:4:19","nodeType":"YulLiteral","src":"73884:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"73890:2:19","nodeType":"YulIdentifier","src":"73890:2:19"}],"functionName":{"name":"mstore","nativeSrc":"73877:6:19","nodeType":"YulIdentifier","src":"73877:6:19"},"nativeSrc":"73877:16:19","nodeType":"YulFunctionCall","src":"73877:16:19"},"nativeSrc":"73877:16:19","nodeType":"YulExpressionStatement","src":"73877:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"73913:4:19","nodeType":"YulLiteral","src":"73913:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"73919:2:19","nodeType":"YulIdentifier","src":"73919:2:19"}],"functionName":{"name":"mstore","nativeSrc":"73906:6:19","nodeType":"YulIdentifier","src":"73906:6:19"},"nativeSrc":"73906:16:19","nodeType":"YulFunctionCall","src":"73906:16:19"},"nativeSrc":"73906:16:19","nodeType":"YulExpressionStatement","src":"73906:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28625,"isOffset":false,"isSlot":false,"src":"73716:2:19","valueSize":1},{"declaration":28628,"isOffset":false,"isSlot":false,"src":"73745:2:19","valueSize":1},{"declaration":28631,"isOffset":false,"isSlot":false,"src":"73774:2:19","valueSize":1},{"declaration":28634,"isOffset":false,"isSlot":false,"src":"73803:2:19","valueSize":1},{"declaration":28637,"isOffset":false,"isSlot":false,"src":"73832:2:19","valueSize":1},{"declaration":28640,"isOffset":false,"isSlot":false,"src":"73861:2:19","valueSize":1},{"declaration":28643,"isOffset":false,"isSlot":false,"src":"73890:2:19","valueSize":1},{"declaration":28646,"isOffset":false,"isSlot":false,"src":"73919:2:19","valueSize":1}],"id":28654,"nodeType":"InlineAssembly","src":"73680:252:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"72456:3:19","parameters":{"id":28622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28617,"mutability":"mutable","name":"p0","nameLocation":"72468:2:19","nodeType":"VariableDeclaration","scope":28656,"src":"72460:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28616,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72460:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28619,"mutability":"mutable","name":"p1","nameLocation":"72480:2:19","nodeType":"VariableDeclaration","scope":28656,"src":"72472:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28618,"name":"address","nodeType":"ElementaryTypeName","src":"72472:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28621,"mutability":"mutable","name":"p2","nameLocation":"72492:2:19","nodeType":"VariableDeclaration","scope":28656,"src":"72484:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28620,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72484:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"72459:36:19"},"returnParameters":{"id":28623,"nodeType":"ParameterList","parameters":[],"src":"72510:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28691,"nodeType":"FunctionDefinition","src":"73944:1292:19","nodes":[],"body":{"id":28690,"nodeType":"Block","src":"74004:1232:19","nodes":[],"statements":[{"assignments":[28666],"declarations":[{"constant":false,"id":28666,"mutability":"mutable","name":"m0","nameLocation":"74022:2:19","nodeType":"VariableDeclaration","scope":28690,"src":"74014:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28665,"name":"bytes32","nodeType":"ElementaryTypeName","src":"74014:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28667,"nodeType":"VariableDeclarationStatement","src":"74014:10:19"},{"assignments":[28669],"declarations":[{"constant":false,"id":28669,"mutability":"mutable","name":"m1","nameLocation":"74042:2:19","nodeType":"VariableDeclaration","scope":28690,"src":"74034:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28668,"name":"bytes32","nodeType":"ElementaryTypeName","src":"74034:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28670,"nodeType":"VariableDeclarationStatement","src":"74034:10:19"},{"assignments":[28672],"declarations":[{"constant":false,"id":28672,"mutability":"mutable","name":"m2","nameLocation":"74062:2:19","nodeType":"VariableDeclaration","scope":28690,"src":"74054:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28671,"name":"bytes32","nodeType":"ElementaryTypeName","src":"74054:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28673,"nodeType":"VariableDeclarationStatement","src":"74054:10:19"},{"assignments":[28675],"declarations":[{"constant":false,"id":28675,"mutability":"mutable","name":"m3","nameLocation":"74082:2:19","nodeType":"VariableDeclaration","scope":28690,"src":"74074:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28674,"name":"bytes32","nodeType":"ElementaryTypeName","src":"74074:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28676,"nodeType":"VariableDeclarationStatement","src":"74074:10:19"},{"assignments":[28678],"declarations":[{"constant":false,"id":28678,"mutability":"mutable","name":"m4","nameLocation":"74102:2:19","nodeType":"VariableDeclaration","scope":28690,"src":"74094:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28677,"name":"bytes32","nodeType":"ElementaryTypeName","src":"74094:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28679,"nodeType":"VariableDeclarationStatement","src":"74094:10:19"},{"assignments":[28681],"declarations":[{"constant":false,"id":28681,"mutability":"mutable","name":"m5","nameLocation":"74122:2:19","nodeType":"VariableDeclaration","scope":28690,"src":"74114:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28680,"name":"bytes32","nodeType":"ElementaryTypeName","src":"74114:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28682,"nodeType":"VariableDeclarationStatement","src":"74114:10:19"},{"AST":{"nativeSrc":"74186:761:19","nodeType":"YulBlock","src":"74186:761:19","statements":[{"body":{"nativeSrc":"74229:313:19","nodeType":"YulBlock","src":"74229:313:19","statements":[{"nativeSrc":"74247:15:19","nodeType":"YulVariableDeclaration","src":"74247:15:19","value":{"kind":"number","nativeSrc":"74261:1:19","nodeType":"YulLiteral","src":"74261:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"74251:6:19","nodeType":"YulTypedName","src":"74251:6:19","type":""}]},{"body":{"nativeSrc":"74332:40:19","nodeType":"YulBlock","src":"74332:40:19","statements":[{"body":{"nativeSrc":"74361:9:19","nodeType":"YulBlock","src":"74361:9:19","statements":[{"nativeSrc":"74363:5:19","nodeType":"YulBreak","src":"74363:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"74349:6:19","nodeType":"YulIdentifier","src":"74349:6:19"},{"name":"w","nativeSrc":"74357:1:19","nodeType":"YulIdentifier","src":"74357:1:19"}],"functionName":{"name":"byte","nativeSrc":"74344:4:19","nodeType":"YulIdentifier","src":"74344:4:19"},"nativeSrc":"74344:15:19","nodeType":"YulFunctionCall","src":"74344:15:19"}],"functionName":{"name":"iszero","nativeSrc":"74337:6:19","nodeType":"YulIdentifier","src":"74337:6:19"},"nativeSrc":"74337:23:19","nodeType":"YulFunctionCall","src":"74337:23:19"},"nativeSrc":"74334:36:19","nodeType":"YulIf","src":"74334:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"74289:6:19","nodeType":"YulIdentifier","src":"74289:6:19"},{"kind":"number","nativeSrc":"74297:4:19","nodeType":"YulLiteral","src":"74297:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"74286:2:19","nodeType":"YulIdentifier","src":"74286:2:19"},"nativeSrc":"74286:16:19","nodeType":"YulFunctionCall","src":"74286:16:19"},"nativeSrc":"74279:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"74303:28:19","nodeType":"YulBlock","src":"74303:28:19","statements":[{"nativeSrc":"74305:24:19","nodeType":"YulAssignment","src":"74305:24:19","value":{"arguments":[{"name":"length","nativeSrc":"74319:6:19","nodeType":"YulIdentifier","src":"74319:6:19"},{"kind":"number","nativeSrc":"74327:1:19","nodeType":"YulLiteral","src":"74327:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"74315:3:19","nodeType":"YulIdentifier","src":"74315:3:19"},"nativeSrc":"74315:14:19","nodeType":"YulFunctionCall","src":"74315:14:19"},"variableNames":[{"name":"length","nativeSrc":"74305:6:19","nodeType":"YulIdentifier","src":"74305:6:19"}]}]},"pre":{"nativeSrc":"74283:2:19","nodeType":"YulBlock","src":"74283:2:19","statements":[]},"src":"74279:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"74396:3:19","nodeType":"YulIdentifier","src":"74396:3:19"},{"name":"length","nativeSrc":"74401:6:19","nodeType":"YulIdentifier","src":"74401:6:19"}],"functionName":{"name":"mstore","nativeSrc":"74389:6:19","nodeType":"YulIdentifier","src":"74389:6:19"},"nativeSrc":"74389:19:19","nodeType":"YulFunctionCall","src":"74389:19:19"},"nativeSrc":"74389:19:19","nodeType":"YulExpressionStatement","src":"74389:19:19"},{"nativeSrc":"74425:37:19","nodeType":"YulVariableDeclaration","src":"74425:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"74442:3:19","nodeType":"YulLiteral","src":"74442:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"74451:1:19","nodeType":"YulLiteral","src":"74451:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"74454:6:19","nodeType":"YulIdentifier","src":"74454:6:19"}],"functionName":{"name":"shl","nativeSrc":"74447:3:19","nodeType":"YulIdentifier","src":"74447:3:19"},"nativeSrc":"74447:14:19","nodeType":"YulFunctionCall","src":"74447:14:19"}],"functionName":{"name":"sub","nativeSrc":"74438:3:19","nodeType":"YulIdentifier","src":"74438:3:19"},"nativeSrc":"74438:24:19","nodeType":"YulFunctionCall","src":"74438:24:19"},"variables":[{"name":"shift","nativeSrc":"74429:5:19","nodeType":"YulTypedName","src":"74429:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"74490:3:19","nodeType":"YulIdentifier","src":"74490:3:19"},{"kind":"number","nativeSrc":"74495:4:19","nodeType":"YulLiteral","src":"74495:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"74486:3:19","nodeType":"YulIdentifier","src":"74486:3:19"},"nativeSrc":"74486:14:19","nodeType":"YulFunctionCall","src":"74486:14:19"},{"arguments":[{"name":"shift","nativeSrc":"74506:5:19","nodeType":"YulIdentifier","src":"74506:5:19"},{"arguments":[{"name":"shift","nativeSrc":"74517:5:19","nodeType":"YulIdentifier","src":"74517:5:19"},{"name":"w","nativeSrc":"74524:1:19","nodeType":"YulIdentifier","src":"74524:1:19"}],"functionName":{"name":"shr","nativeSrc":"74513:3:19","nodeType":"YulIdentifier","src":"74513:3:19"},"nativeSrc":"74513:13:19","nodeType":"YulFunctionCall","src":"74513:13:19"}],"functionName":{"name":"shl","nativeSrc":"74502:3:19","nodeType":"YulIdentifier","src":"74502:3:19"},"nativeSrc":"74502:25:19","nodeType":"YulFunctionCall","src":"74502:25:19"}],"functionName":{"name":"mstore","nativeSrc":"74479:6:19","nodeType":"YulIdentifier","src":"74479:6:19"},"nativeSrc":"74479:49:19","nodeType":"YulFunctionCall","src":"74479:49:19"},"nativeSrc":"74479:49:19","nodeType":"YulExpressionStatement","src":"74479:49:19"}]},"name":"writeString","nativeSrc":"74200:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"74221:3:19","nodeType":"YulTypedName","src":"74221:3:19","type":""},{"name":"w","nativeSrc":"74226:1:19","nodeType":"YulTypedName","src":"74226:1:19","type":""}],"src":"74200:342:19"},{"nativeSrc":"74555:17:19","nodeType":"YulAssignment","src":"74555:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"74567:4:19","nodeType":"YulLiteral","src":"74567:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"74561:5:19","nodeType":"YulIdentifier","src":"74561:5:19"},"nativeSrc":"74561:11:19","nodeType":"YulFunctionCall","src":"74561:11:19"},"variableNames":[{"name":"m0","nativeSrc":"74555:2:19","nodeType":"YulIdentifier","src":"74555:2:19"}]},{"nativeSrc":"74585:17:19","nodeType":"YulAssignment","src":"74585:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"74597:4:19","nodeType":"YulLiteral","src":"74597:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"74591:5:19","nodeType":"YulIdentifier","src":"74591:5:19"},"nativeSrc":"74591:11:19","nodeType":"YulFunctionCall","src":"74591:11:19"},"variableNames":[{"name":"m1","nativeSrc":"74585:2:19","nodeType":"YulIdentifier","src":"74585:2:19"}]},{"nativeSrc":"74615:17:19","nodeType":"YulAssignment","src":"74615:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"74627:4:19","nodeType":"YulLiteral","src":"74627:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"74621:5:19","nodeType":"YulIdentifier","src":"74621:5:19"},"nativeSrc":"74621:11:19","nodeType":"YulFunctionCall","src":"74621:11:19"},"variableNames":[{"name":"m2","nativeSrc":"74615:2:19","nodeType":"YulIdentifier","src":"74615:2:19"}]},{"nativeSrc":"74645:17:19","nodeType":"YulAssignment","src":"74645:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"74657:4:19","nodeType":"YulLiteral","src":"74657:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"74651:5:19","nodeType":"YulIdentifier","src":"74651:5:19"},"nativeSrc":"74651:11:19","nodeType":"YulFunctionCall","src":"74651:11:19"},"variableNames":[{"name":"m3","nativeSrc":"74645:2:19","nodeType":"YulIdentifier","src":"74645:2:19"}]},{"nativeSrc":"74675:17:19","nodeType":"YulAssignment","src":"74675:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"74687:4:19","nodeType":"YulLiteral","src":"74687:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"74681:5:19","nodeType":"YulIdentifier","src":"74681:5:19"},"nativeSrc":"74681:11:19","nodeType":"YulFunctionCall","src":"74681:11:19"},"variableNames":[{"name":"m4","nativeSrc":"74675:2:19","nodeType":"YulIdentifier","src":"74675:2:19"}]},{"nativeSrc":"74705:17:19","nodeType":"YulAssignment","src":"74705:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"74717:4:19","nodeType":"YulLiteral","src":"74717:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"74711:5:19","nodeType":"YulIdentifier","src":"74711:5:19"},"nativeSrc":"74711:11:19","nodeType":"YulFunctionCall","src":"74711:11:19"},"variableNames":[{"name":"m5","nativeSrc":"74705:2:19","nodeType":"YulIdentifier","src":"74705:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"74797:4:19","nodeType":"YulLiteral","src":"74797:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"74803:10:19","nodeType":"YulLiteral","src":"74803:10:19","type":"","value":"0x932bbb38"}],"functionName":{"name":"mstore","nativeSrc":"74790:6:19","nodeType":"YulIdentifier","src":"74790:6:19"},"nativeSrc":"74790:24:19","nodeType":"YulFunctionCall","src":"74790:24:19"},"nativeSrc":"74790:24:19","nodeType":"YulExpressionStatement","src":"74790:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"74834:4:19","nodeType":"YulLiteral","src":"74834:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"74840:4:19","nodeType":"YulLiteral","src":"74840:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"74827:6:19","nodeType":"YulIdentifier","src":"74827:6:19"},"nativeSrc":"74827:18:19","nodeType":"YulFunctionCall","src":"74827:18:19"},"nativeSrc":"74827:18:19","nodeType":"YulExpressionStatement","src":"74827:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"74865:4:19","nodeType":"YulLiteral","src":"74865:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"74871:2:19","nodeType":"YulIdentifier","src":"74871:2:19"}],"functionName":{"name":"mstore","nativeSrc":"74858:6:19","nodeType":"YulIdentifier","src":"74858:6:19"},"nativeSrc":"74858:16:19","nodeType":"YulFunctionCall","src":"74858:16:19"},"nativeSrc":"74858:16:19","nodeType":"YulExpressionStatement","src":"74858:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"74894:4:19","nodeType":"YulLiteral","src":"74894:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"74900:2:19","nodeType":"YulIdentifier","src":"74900:2:19"}],"functionName":{"name":"mstore","nativeSrc":"74887:6:19","nodeType":"YulIdentifier","src":"74887:6:19"},"nativeSrc":"74887:16:19","nodeType":"YulFunctionCall","src":"74887:16:19"},"nativeSrc":"74887:16:19","nodeType":"YulExpressionStatement","src":"74887:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"74928:4:19","nodeType":"YulLiteral","src":"74928:4:19","type":"","value":"0x80"},{"name":"p0","nativeSrc":"74934:2:19","nodeType":"YulIdentifier","src":"74934:2:19"}],"functionName":{"name":"writeString","nativeSrc":"74916:11:19","nodeType":"YulIdentifier","src":"74916:11:19"},"nativeSrc":"74916:21:19","nodeType":"YulFunctionCall","src":"74916:21:19"},"nativeSrc":"74916:21:19","nodeType":"YulExpressionStatement","src":"74916:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28666,"isOffset":false,"isSlot":false,"src":"74555:2:19","valueSize":1},{"declaration":28669,"isOffset":false,"isSlot":false,"src":"74585:2:19","valueSize":1},{"declaration":28672,"isOffset":false,"isSlot":false,"src":"74615:2:19","valueSize":1},{"declaration":28675,"isOffset":false,"isSlot":false,"src":"74645:2:19","valueSize":1},{"declaration":28678,"isOffset":false,"isSlot":false,"src":"74675:2:19","valueSize":1},{"declaration":28681,"isOffset":false,"isSlot":false,"src":"74705:2:19","valueSize":1},{"declaration":28658,"isOffset":false,"isSlot":false,"src":"74934:2:19","valueSize":1},{"declaration":28660,"isOffset":false,"isSlot":false,"src":"74871:2:19","valueSize":1},{"declaration":28662,"isOffset":false,"isSlot":false,"src":"74900:2:19","valueSize":1}],"id":28683,"nodeType":"InlineAssembly","src":"74177:770:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"74972:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"74978:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28684,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"74956:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"74956:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28688,"nodeType":"ExpressionStatement","src":"74956:27:19"},{"AST":{"nativeSrc":"75045:185:19","nodeType":"YulBlock","src":"75045:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"75066:4:19","nodeType":"YulLiteral","src":"75066:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"75072:2:19","nodeType":"YulIdentifier","src":"75072:2:19"}],"functionName":{"name":"mstore","nativeSrc":"75059:6:19","nodeType":"YulIdentifier","src":"75059:6:19"},"nativeSrc":"75059:16:19","nodeType":"YulFunctionCall","src":"75059:16:19"},"nativeSrc":"75059:16:19","nodeType":"YulExpressionStatement","src":"75059:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"75095:4:19","nodeType":"YulLiteral","src":"75095:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"75101:2:19","nodeType":"YulIdentifier","src":"75101:2:19"}],"functionName":{"name":"mstore","nativeSrc":"75088:6:19","nodeType":"YulIdentifier","src":"75088:6:19"},"nativeSrc":"75088:16:19","nodeType":"YulFunctionCall","src":"75088:16:19"},"nativeSrc":"75088:16:19","nodeType":"YulExpressionStatement","src":"75088:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"75124:4:19","nodeType":"YulLiteral","src":"75124:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"75130:2:19","nodeType":"YulIdentifier","src":"75130:2:19"}],"functionName":{"name":"mstore","nativeSrc":"75117:6:19","nodeType":"YulIdentifier","src":"75117:6:19"},"nativeSrc":"75117:16:19","nodeType":"YulFunctionCall","src":"75117:16:19"},"nativeSrc":"75117:16:19","nodeType":"YulExpressionStatement","src":"75117:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"75153:4:19","nodeType":"YulLiteral","src":"75153:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"75159:2:19","nodeType":"YulIdentifier","src":"75159:2:19"}],"functionName":{"name":"mstore","nativeSrc":"75146:6:19","nodeType":"YulIdentifier","src":"75146:6:19"},"nativeSrc":"75146:16:19","nodeType":"YulFunctionCall","src":"75146:16:19"},"nativeSrc":"75146:16:19","nodeType":"YulExpressionStatement","src":"75146:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"75182:4:19","nodeType":"YulLiteral","src":"75182:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"75188:2:19","nodeType":"YulIdentifier","src":"75188:2:19"}],"functionName":{"name":"mstore","nativeSrc":"75175:6:19","nodeType":"YulIdentifier","src":"75175:6:19"},"nativeSrc":"75175:16:19","nodeType":"YulFunctionCall","src":"75175:16:19"},"nativeSrc":"75175:16:19","nodeType":"YulExpressionStatement","src":"75175:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"75211:4:19","nodeType":"YulLiteral","src":"75211:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"75217:2:19","nodeType":"YulIdentifier","src":"75217:2:19"}],"functionName":{"name":"mstore","nativeSrc":"75204:6:19","nodeType":"YulIdentifier","src":"75204:6:19"},"nativeSrc":"75204:16:19","nodeType":"YulFunctionCall","src":"75204:16:19"},"nativeSrc":"75204:16:19","nodeType":"YulExpressionStatement","src":"75204:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28666,"isOffset":false,"isSlot":false,"src":"75072:2:19","valueSize":1},{"declaration":28669,"isOffset":false,"isSlot":false,"src":"75101:2:19","valueSize":1},{"declaration":28672,"isOffset":false,"isSlot":false,"src":"75130:2:19","valueSize":1},{"declaration":28675,"isOffset":false,"isSlot":false,"src":"75159:2:19","valueSize":1},{"declaration":28678,"isOffset":false,"isSlot":false,"src":"75188:2:19","valueSize":1},{"declaration":28681,"isOffset":false,"isSlot":false,"src":"75217:2:19","valueSize":1}],"id":28689,"nodeType":"InlineAssembly","src":"75036:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"73953:3:19","parameters":{"id":28663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28658,"mutability":"mutable","name":"p0","nameLocation":"73965:2:19","nodeType":"VariableDeclaration","scope":28691,"src":"73957:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28657,"name":"bytes32","nodeType":"ElementaryTypeName","src":"73957:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28660,"mutability":"mutable","name":"p1","nameLocation":"73974:2:19","nodeType":"VariableDeclaration","scope":28691,"src":"73969:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28659,"name":"bool","nodeType":"ElementaryTypeName","src":"73969:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28662,"mutability":"mutable","name":"p2","nameLocation":"73986:2:19","nodeType":"VariableDeclaration","scope":28691,"src":"73978:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28661,"name":"address","nodeType":"ElementaryTypeName","src":"73978:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"73956:33:19"},"returnParameters":{"id":28664,"nodeType":"ParameterList","parameters":[],"src":"74004:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28726,"nodeType":"FunctionDefinition","src":"75242:1286:19","nodes":[],"body":{"id":28725,"nodeType":"Block","src":"75299:1229:19","nodes":[],"statements":[{"assignments":[28701],"declarations":[{"constant":false,"id":28701,"mutability":"mutable","name":"m0","nameLocation":"75317:2:19","nodeType":"VariableDeclaration","scope":28725,"src":"75309:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28700,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75309:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28702,"nodeType":"VariableDeclarationStatement","src":"75309:10:19"},{"assignments":[28704],"declarations":[{"constant":false,"id":28704,"mutability":"mutable","name":"m1","nameLocation":"75337:2:19","nodeType":"VariableDeclaration","scope":28725,"src":"75329:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28703,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75329:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28705,"nodeType":"VariableDeclarationStatement","src":"75329:10:19"},{"assignments":[28707],"declarations":[{"constant":false,"id":28707,"mutability":"mutable","name":"m2","nameLocation":"75357:2:19","nodeType":"VariableDeclaration","scope":28725,"src":"75349:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28706,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75349:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28708,"nodeType":"VariableDeclarationStatement","src":"75349:10:19"},{"assignments":[28710],"declarations":[{"constant":false,"id":28710,"mutability":"mutable","name":"m3","nameLocation":"75377:2:19","nodeType":"VariableDeclaration","scope":28725,"src":"75369:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28709,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75369:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28711,"nodeType":"VariableDeclarationStatement","src":"75369:10:19"},{"assignments":[28713],"declarations":[{"constant":false,"id":28713,"mutability":"mutable","name":"m4","nameLocation":"75397:2:19","nodeType":"VariableDeclaration","scope":28725,"src":"75389:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28712,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75389:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28714,"nodeType":"VariableDeclarationStatement","src":"75389:10:19"},{"assignments":[28716],"declarations":[{"constant":false,"id":28716,"mutability":"mutable","name":"m5","nameLocation":"75417:2:19","nodeType":"VariableDeclaration","scope":28725,"src":"75409:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28715,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75409:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28717,"nodeType":"VariableDeclarationStatement","src":"75409:10:19"},{"AST":{"nativeSrc":"75481:758:19","nodeType":"YulBlock","src":"75481:758:19","statements":[{"body":{"nativeSrc":"75524:313:19","nodeType":"YulBlock","src":"75524:313:19","statements":[{"nativeSrc":"75542:15:19","nodeType":"YulVariableDeclaration","src":"75542:15:19","value":{"kind":"number","nativeSrc":"75556:1:19","nodeType":"YulLiteral","src":"75556:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"75546:6:19","nodeType":"YulTypedName","src":"75546:6:19","type":""}]},{"body":{"nativeSrc":"75627:40:19","nodeType":"YulBlock","src":"75627:40:19","statements":[{"body":{"nativeSrc":"75656:9:19","nodeType":"YulBlock","src":"75656:9:19","statements":[{"nativeSrc":"75658:5:19","nodeType":"YulBreak","src":"75658:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"75644:6:19","nodeType":"YulIdentifier","src":"75644:6:19"},{"name":"w","nativeSrc":"75652:1:19","nodeType":"YulIdentifier","src":"75652:1:19"}],"functionName":{"name":"byte","nativeSrc":"75639:4:19","nodeType":"YulIdentifier","src":"75639:4:19"},"nativeSrc":"75639:15:19","nodeType":"YulFunctionCall","src":"75639:15:19"}],"functionName":{"name":"iszero","nativeSrc":"75632:6:19","nodeType":"YulIdentifier","src":"75632:6:19"},"nativeSrc":"75632:23:19","nodeType":"YulFunctionCall","src":"75632:23:19"},"nativeSrc":"75629:36:19","nodeType":"YulIf","src":"75629:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"75584:6:19","nodeType":"YulIdentifier","src":"75584:6:19"},{"kind":"number","nativeSrc":"75592:4:19","nodeType":"YulLiteral","src":"75592:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"75581:2:19","nodeType":"YulIdentifier","src":"75581:2:19"},"nativeSrc":"75581:16:19","nodeType":"YulFunctionCall","src":"75581:16:19"},"nativeSrc":"75574:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"75598:28:19","nodeType":"YulBlock","src":"75598:28:19","statements":[{"nativeSrc":"75600:24:19","nodeType":"YulAssignment","src":"75600:24:19","value":{"arguments":[{"name":"length","nativeSrc":"75614:6:19","nodeType":"YulIdentifier","src":"75614:6:19"},{"kind":"number","nativeSrc":"75622:1:19","nodeType":"YulLiteral","src":"75622:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"75610:3:19","nodeType":"YulIdentifier","src":"75610:3:19"},"nativeSrc":"75610:14:19","nodeType":"YulFunctionCall","src":"75610:14:19"},"variableNames":[{"name":"length","nativeSrc":"75600:6:19","nodeType":"YulIdentifier","src":"75600:6:19"}]}]},"pre":{"nativeSrc":"75578:2:19","nodeType":"YulBlock","src":"75578:2:19","statements":[]},"src":"75574:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"75691:3:19","nodeType":"YulIdentifier","src":"75691:3:19"},{"name":"length","nativeSrc":"75696:6:19","nodeType":"YulIdentifier","src":"75696:6:19"}],"functionName":{"name":"mstore","nativeSrc":"75684:6:19","nodeType":"YulIdentifier","src":"75684:6:19"},"nativeSrc":"75684:19:19","nodeType":"YulFunctionCall","src":"75684:19:19"},"nativeSrc":"75684:19:19","nodeType":"YulExpressionStatement","src":"75684:19:19"},{"nativeSrc":"75720:37:19","nodeType":"YulVariableDeclaration","src":"75720:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"75737:3:19","nodeType":"YulLiteral","src":"75737:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"75746:1:19","nodeType":"YulLiteral","src":"75746:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"75749:6:19","nodeType":"YulIdentifier","src":"75749:6:19"}],"functionName":{"name":"shl","nativeSrc":"75742:3:19","nodeType":"YulIdentifier","src":"75742:3:19"},"nativeSrc":"75742:14:19","nodeType":"YulFunctionCall","src":"75742:14:19"}],"functionName":{"name":"sub","nativeSrc":"75733:3:19","nodeType":"YulIdentifier","src":"75733:3:19"},"nativeSrc":"75733:24:19","nodeType":"YulFunctionCall","src":"75733:24:19"},"variables":[{"name":"shift","nativeSrc":"75724:5:19","nodeType":"YulTypedName","src":"75724:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"75785:3:19","nodeType":"YulIdentifier","src":"75785:3:19"},{"kind":"number","nativeSrc":"75790:4:19","nodeType":"YulLiteral","src":"75790:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"75781:3:19","nodeType":"YulIdentifier","src":"75781:3:19"},"nativeSrc":"75781:14:19","nodeType":"YulFunctionCall","src":"75781:14:19"},{"arguments":[{"name":"shift","nativeSrc":"75801:5:19","nodeType":"YulIdentifier","src":"75801:5:19"},{"arguments":[{"name":"shift","nativeSrc":"75812:5:19","nodeType":"YulIdentifier","src":"75812:5:19"},{"name":"w","nativeSrc":"75819:1:19","nodeType":"YulIdentifier","src":"75819:1:19"}],"functionName":{"name":"shr","nativeSrc":"75808:3:19","nodeType":"YulIdentifier","src":"75808:3:19"},"nativeSrc":"75808:13:19","nodeType":"YulFunctionCall","src":"75808:13:19"}],"functionName":{"name":"shl","nativeSrc":"75797:3:19","nodeType":"YulIdentifier","src":"75797:3:19"},"nativeSrc":"75797:25:19","nodeType":"YulFunctionCall","src":"75797:25:19"}],"functionName":{"name":"mstore","nativeSrc":"75774:6:19","nodeType":"YulIdentifier","src":"75774:6:19"},"nativeSrc":"75774:49:19","nodeType":"YulFunctionCall","src":"75774:49:19"},"nativeSrc":"75774:49:19","nodeType":"YulExpressionStatement","src":"75774:49:19"}]},"name":"writeString","nativeSrc":"75495:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"75516:3:19","nodeType":"YulTypedName","src":"75516:3:19","type":""},{"name":"w","nativeSrc":"75521:1:19","nodeType":"YulTypedName","src":"75521:1:19","type":""}],"src":"75495:342:19"},{"nativeSrc":"75850:17:19","nodeType":"YulAssignment","src":"75850:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"75862:4:19","nodeType":"YulLiteral","src":"75862:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"75856:5:19","nodeType":"YulIdentifier","src":"75856:5:19"},"nativeSrc":"75856:11:19","nodeType":"YulFunctionCall","src":"75856:11:19"},"variableNames":[{"name":"m0","nativeSrc":"75850:2:19","nodeType":"YulIdentifier","src":"75850:2:19"}]},{"nativeSrc":"75880:17:19","nodeType":"YulAssignment","src":"75880:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"75892:4:19","nodeType":"YulLiteral","src":"75892:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"75886:5:19","nodeType":"YulIdentifier","src":"75886:5:19"},"nativeSrc":"75886:11:19","nodeType":"YulFunctionCall","src":"75886:11:19"},"variableNames":[{"name":"m1","nativeSrc":"75880:2:19","nodeType":"YulIdentifier","src":"75880:2:19"}]},{"nativeSrc":"75910:17:19","nodeType":"YulAssignment","src":"75910:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"75922:4:19","nodeType":"YulLiteral","src":"75922:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"75916:5:19","nodeType":"YulIdentifier","src":"75916:5:19"},"nativeSrc":"75916:11:19","nodeType":"YulFunctionCall","src":"75916:11:19"},"variableNames":[{"name":"m2","nativeSrc":"75910:2:19","nodeType":"YulIdentifier","src":"75910:2:19"}]},{"nativeSrc":"75940:17:19","nodeType":"YulAssignment","src":"75940:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"75952:4:19","nodeType":"YulLiteral","src":"75952:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"75946:5:19","nodeType":"YulIdentifier","src":"75946:5:19"},"nativeSrc":"75946:11:19","nodeType":"YulFunctionCall","src":"75946:11:19"},"variableNames":[{"name":"m3","nativeSrc":"75940:2:19","nodeType":"YulIdentifier","src":"75940:2:19"}]},{"nativeSrc":"75970:17:19","nodeType":"YulAssignment","src":"75970:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"75982:4:19","nodeType":"YulLiteral","src":"75982:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"75976:5:19","nodeType":"YulIdentifier","src":"75976:5:19"},"nativeSrc":"75976:11:19","nodeType":"YulFunctionCall","src":"75976:11:19"},"variableNames":[{"name":"m4","nativeSrc":"75970:2:19","nodeType":"YulIdentifier","src":"75970:2:19"}]},{"nativeSrc":"76000:17:19","nodeType":"YulAssignment","src":"76000:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"76012:4:19","nodeType":"YulLiteral","src":"76012:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"76006:5:19","nodeType":"YulIdentifier","src":"76006:5:19"},"nativeSrc":"76006:11:19","nodeType":"YulFunctionCall","src":"76006:11:19"},"variableNames":[{"name":"m5","nativeSrc":"76000:2:19","nodeType":"YulIdentifier","src":"76000:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76089:4:19","nodeType":"YulLiteral","src":"76089:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"76095:10:19","nodeType":"YulLiteral","src":"76095:10:19","type":"","value":"0x850b7ad6"}],"functionName":{"name":"mstore","nativeSrc":"76082:6:19","nodeType":"YulIdentifier","src":"76082:6:19"},"nativeSrc":"76082:24:19","nodeType":"YulFunctionCall","src":"76082:24:19"},"nativeSrc":"76082:24:19","nodeType":"YulExpressionStatement","src":"76082:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76126:4:19","nodeType":"YulLiteral","src":"76126:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"76132:4:19","nodeType":"YulLiteral","src":"76132:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"76119:6:19","nodeType":"YulIdentifier","src":"76119:6:19"},"nativeSrc":"76119:18:19","nodeType":"YulFunctionCall","src":"76119:18:19"},"nativeSrc":"76119:18:19","nodeType":"YulExpressionStatement","src":"76119:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76157:4:19","nodeType":"YulLiteral","src":"76157:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"76163:2:19","nodeType":"YulIdentifier","src":"76163:2:19"}],"functionName":{"name":"mstore","nativeSrc":"76150:6:19","nodeType":"YulIdentifier","src":"76150:6:19"},"nativeSrc":"76150:16:19","nodeType":"YulFunctionCall","src":"76150:16:19"},"nativeSrc":"76150:16:19","nodeType":"YulExpressionStatement","src":"76150:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76186:4:19","nodeType":"YulLiteral","src":"76186:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"76192:2:19","nodeType":"YulIdentifier","src":"76192:2:19"}],"functionName":{"name":"mstore","nativeSrc":"76179:6:19","nodeType":"YulIdentifier","src":"76179:6:19"},"nativeSrc":"76179:16:19","nodeType":"YulFunctionCall","src":"76179:16:19"},"nativeSrc":"76179:16:19","nodeType":"YulExpressionStatement","src":"76179:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76220:4:19","nodeType":"YulLiteral","src":"76220:4:19","type":"","value":"0x80"},{"name":"p0","nativeSrc":"76226:2:19","nodeType":"YulIdentifier","src":"76226:2:19"}],"functionName":{"name":"writeString","nativeSrc":"76208:11:19","nodeType":"YulIdentifier","src":"76208:11:19"},"nativeSrc":"76208:21:19","nodeType":"YulFunctionCall","src":"76208:21:19"},"nativeSrc":"76208:21:19","nodeType":"YulExpressionStatement","src":"76208:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28701,"isOffset":false,"isSlot":false,"src":"75850:2:19","valueSize":1},{"declaration":28704,"isOffset":false,"isSlot":false,"src":"75880:2:19","valueSize":1},{"declaration":28707,"isOffset":false,"isSlot":false,"src":"75910:2:19","valueSize":1},{"declaration":28710,"isOffset":false,"isSlot":false,"src":"75940:2:19","valueSize":1},{"declaration":28713,"isOffset":false,"isSlot":false,"src":"75970:2:19","valueSize":1},{"declaration":28716,"isOffset":false,"isSlot":false,"src":"76000:2:19","valueSize":1},{"declaration":28693,"isOffset":false,"isSlot":false,"src":"76226:2:19","valueSize":1},{"declaration":28695,"isOffset":false,"isSlot":false,"src":"76163:2:19","valueSize":1},{"declaration":28697,"isOffset":false,"isSlot":false,"src":"76192:2:19","valueSize":1}],"id":28718,"nodeType":"InlineAssembly","src":"75472:767:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"76264:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"76270:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28719,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"76248:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"76248:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28723,"nodeType":"ExpressionStatement","src":"76248:27:19"},{"AST":{"nativeSrc":"76337:185:19","nodeType":"YulBlock","src":"76337:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"76358:4:19","nodeType":"YulLiteral","src":"76358:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"76364:2:19","nodeType":"YulIdentifier","src":"76364:2:19"}],"functionName":{"name":"mstore","nativeSrc":"76351:6:19","nodeType":"YulIdentifier","src":"76351:6:19"},"nativeSrc":"76351:16:19","nodeType":"YulFunctionCall","src":"76351:16:19"},"nativeSrc":"76351:16:19","nodeType":"YulExpressionStatement","src":"76351:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76387:4:19","nodeType":"YulLiteral","src":"76387:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"76393:2:19","nodeType":"YulIdentifier","src":"76393:2:19"}],"functionName":{"name":"mstore","nativeSrc":"76380:6:19","nodeType":"YulIdentifier","src":"76380:6:19"},"nativeSrc":"76380:16:19","nodeType":"YulFunctionCall","src":"76380:16:19"},"nativeSrc":"76380:16:19","nodeType":"YulExpressionStatement","src":"76380:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76416:4:19","nodeType":"YulLiteral","src":"76416:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"76422:2:19","nodeType":"YulIdentifier","src":"76422:2:19"}],"functionName":{"name":"mstore","nativeSrc":"76409:6:19","nodeType":"YulIdentifier","src":"76409:6:19"},"nativeSrc":"76409:16:19","nodeType":"YulFunctionCall","src":"76409:16:19"},"nativeSrc":"76409:16:19","nodeType":"YulExpressionStatement","src":"76409:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76445:4:19","nodeType":"YulLiteral","src":"76445:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"76451:2:19","nodeType":"YulIdentifier","src":"76451:2:19"}],"functionName":{"name":"mstore","nativeSrc":"76438:6:19","nodeType":"YulIdentifier","src":"76438:6:19"},"nativeSrc":"76438:16:19","nodeType":"YulFunctionCall","src":"76438:16:19"},"nativeSrc":"76438:16:19","nodeType":"YulExpressionStatement","src":"76438:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76474:4:19","nodeType":"YulLiteral","src":"76474:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"76480:2:19","nodeType":"YulIdentifier","src":"76480:2:19"}],"functionName":{"name":"mstore","nativeSrc":"76467:6:19","nodeType":"YulIdentifier","src":"76467:6:19"},"nativeSrc":"76467:16:19","nodeType":"YulFunctionCall","src":"76467:16:19"},"nativeSrc":"76467:16:19","nodeType":"YulExpressionStatement","src":"76467:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"76503:4:19","nodeType":"YulLiteral","src":"76503:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"76509:2:19","nodeType":"YulIdentifier","src":"76509:2:19"}],"functionName":{"name":"mstore","nativeSrc":"76496:6:19","nodeType":"YulIdentifier","src":"76496:6:19"},"nativeSrc":"76496:16:19","nodeType":"YulFunctionCall","src":"76496:16:19"},"nativeSrc":"76496:16:19","nodeType":"YulExpressionStatement","src":"76496:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28701,"isOffset":false,"isSlot":false,"src":"76364:2:19","valueSize":1},{"declaration":28704,"isOffset":false,"isSlot":false,"src":"76393:2:19","valueSize":1},{"declaration":28707,"isOffset":false,"isSlot":false,"src":"76422:2:19","valueSize":1},{"declaration":28710,"isOffset":false,"isSlot":false,"src":"76451:2:19","valueSize":1},{"declaration":28713,"isOffset":false,"isSlot":false,"src":"76480:2:19","valueSize":1},{"declaration":28716,"isOffset":false,"isSlot":false,"src":"76509:2:19","valueSize":1}],"id":28724,"nodeType":"InlineAssembly","src":"76328:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"75251:3:19","parameters":{"id":28698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28693,"mutability":"mutable","name":"p0","nameLocation":"75263:2:19","nodeType":"VariableDeclaration","scope":28726,"src":"75255:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28692,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75255:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28695,"mutability":"mutable","name":"p1","nameLocation":"75272:2:19","nodeType":"VariableDeclaration","scope":28726,"src":"75267:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28694,"name":"bool","nodeType":"ElementaryTypeName","src":"75267:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28697,"mutability":"mutable","name":"p2","nameLocation":"75281:2:19","nodeType":"VariableDeclaration","scope":28726,"src":"75276:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28696,"name":"bool","nodeType":"ElementaryTypeName","src":"75276:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"75254:30:19"},"returnParameters":{"id":28699,"nodeType":"ParameterList","parameters":[],"src":"75299:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28761,"nodeType":"FunctionDefinition","src":"76534:1292:19","nodes":[],"body":{"id":28760,"nodeType":"Block","src":"76594:1232:19","nodes":[],"statements":[{"assignments":[28736],"declarations":[{"constant":false,"id":28736,"mutability":"mutable","name":"m0","nameLocation":"76612:2:19","nodeType":"VariableDeclaration","scope":28760,"src":"76604:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28735,"name":"bytes32","nodeType":"ElementaryTypeName","src":"76604:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28737,"nodeType":"VariableDeclarationStatement","src":"76604:10:19"},{"assignments":[28739],"declarations":[{"constant":false,"id":28739,"mutability":"mutable","name":"m1","nameLocation":"76632:2:19","nodeType":"VariableDeclaration","scope":28760,"src":"76624:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28738,"name":"bytes32","nodeType":"ElementaryTypeName","src":"76624:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28740,"nodeType":"VariableDeclarationStatement","src":"76624:10:19"},{"assignments":[28742],"declarations":[{"constant":false,"id":28742,"mutability":"mutable","name":"m2","nameLocation":"76652:2:19","nodeType":"VariableDeclaration","scope":28760,"src":"76644:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28741,"name":"bytes32","nodeType":"ElementaryTypeName","src":"76644:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28743,"nodeType":"VariableDeclarationStatement","src":"76644:10:19"},{"assignments":[28745],"declarations":[{"constant":false,"id":28745,"mutability":"mutable","name":"m3","nameLocation":"76672:2:19","nodeType":"VariableDeclaration","scope":28760,"src":"76664:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"76664:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28746,"nodeType":"VariableDeclarationStatement","src":"76664:10:19"},{"assignments":[28748],"declarations":[{"constant":false,"id":28748,"mutability":"mutable","name":"m4","nameLocation":"76692:2:19","nodeType":"VariableDeclaration","scope":28760,"src":"76684:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28747,"name":"bytes32","nodeType":"ElementaryTypeName","src":"76684:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28749,"nodeType":"VariableDeclarationStatement","src":"76684:10:19"},{"assignments":[28751],"declarations":[{"constant":false,"id":28751,"mutability":"mutable","name":"m5","nameLocation":"76712:2:19","nodeType":"VariableDeclaration","scope":28760,"src":"76704:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28750,"name":"bytes32","nodeType":"ElementaryTypeName","src":"76704:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28752,"nodeType":"VariableDeclarationStatement","src":"76704:10:19"},{"AST":{"nativeSrc":"76776:761:19","nodeType":"YulBlock","src":"76776:761:19","statements":[{"body":{"nativeSrc":"76819:313:19","nodeType":"YulBlock","src":"76819:313:19","statements":[{"nativeSrc":"76837:15:19","nodeType":"YulVariableDeclaration","src":"76837:15:19","value":{"kind":"number","nativeSrc":"76851:1:19","nodeType":"YulLiteral","src":"76851:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"76841:6:19","nodeType":"YulTypedName","src":"76841:6:19","type":""}]},{"body":{"nativeSrc":"76922:40:19","nodeType":"YulBlock","src":"76922:40:19","statements":[{"body":{"nativeSrc":"76951:9:19","nodeType":"YulBlock","src":"76951:9:19","statements":[{"nativeSrc":"76953:5:19","nodeType":"YulBreak","src":"76953:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"76939:6:19","nodeType":"YulIdentifier","src":"76939:6:19"},{"name":"w","nativeSrc":"76947:1:19","nodeType":"YulIdentifier","src":"76947:1:19"}],"functionName":{"name":"byte","nativeSrc":"76934:4:19","nodeType":"YulIdentifier","src":"76934:4:19"},"nativeSrc":"76934:15:19","nodeType":"YulFunctionCall","src":"76934:15:19"}],"functionName":{"name":"iszero","nativeSrc":"76927:6:19","nodeType":"YulIdentifier","src":"76927:6:19"},"nativeSrc":"76927:23:19","nodeType":"YulFunctionCall","src":"76927:23:19"},"nativeSrc":"76924:36:19","nodeType":"YulIf","src":"76924:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"76879:6:19","nodeType":"YulIdentifier","src":"76879:6:19"},{"kind":"number","nativeSrc":"76887:4:19","nodeType":"YulLiteral","src":"76887:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"76876:2:19","nodeType":"YulIdentifier","src":"76876:2:19"},"nativeSrc":"76876:16:19","nodeType":"YulFunctionCall","src":"76876:16:19"},"nativeSrc":"76869:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"76893:28:19","nodeType":"YulBlock","src":"76893:28:19","statements":[{"nativeSrc":"76895:24:19","nodeType":"YulAssignment","src":"76895:24:19","value":{"arguments":[{"name":"length","nativeSrc":"76909:6:19","nodeType":"YulIdentifier","src":"76909:6:19"},{"kind":"number","nativeSrc":"76917:1:19","nodeType":"YulLiteral","src":"76917:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"76905:3:19","nodeType":"YulIdentifier","src":"76905:3:19"},"nativeSrc":"76905:14:19","nodeType":"YulFunctionCall","src":"76905:14:19"},"variableNames":[{"name":"length","nativeSrc":"76895:6:19","nodeType":"YulIdentifier","src":"76895:6:19"}]}]},"pre":{"nativeSrc":"76873:2:19","nodeType":"YulBlock","src":"76873:2:19","statements":[]},"src":"76869:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"76986:3:19","nodeType":"YulIdentifier","src":"76986:3:19"},{"name":"length","nativeSrc":"76991:6:19","nodeType":"YulIdentifier","src":"76991:6:19"}],"functionName":{"name":"mstore","nativeSrc":"76979:6:19","nodeType":"YulIdentifier","src":"76979:6:19"},"nativeSrc":"76979:19:19","nodeType":"YulFunctionCall","src":"76979:19:19"},"nativeSrc":"76979:19:19","nodeType":"YulExpressionStatement","src":"76979:19:19"},{"nativeSrc":"77015:37:19","nodeType":"YulVariableDeclaration","src":"77015:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"77032:3:19","nodeType":"YulLiteral","src":"77032:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"77041:1:19","nodeType":"YulLiteral","src":"77041:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"77044:6:19","nodeType":"YulIdentifier","src":"77044:6:19"}],"functionName":{"name":"shl","nativeSrc":"77037:3:19","nodeType":"YulIdentifier","src":"77037:3:19"},"nativeSrc":"77037:14:19","nodeType":"YulFunctionCall","src":"77037:14:19"}],"functionName":{"name":"sub","nativeSrc":"77028:3:19","nodeType":"YulIdentifier","src":"77028:3:19"},"nativeSrc":"77028:24:19","nodeType":"YulFunctionCall","src":"77028:24:19"},"variables":[{"name":"shift","nativeSrc":"77019:5:19","nodeType":"YulTypedName","src":"77019:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"77080:3:19","nodeType":"YulIdentifier","src":"77080:3:19"},{"kind":"number","nativeSrc":"77085:4:19","nodeType":"YulLiteral","src":"77085:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"77076:3:19","nodeType":"YulIdentifier","src":"77076:3:19"},"nativeSrc":"77076:14:19","nodeType":"YulFunctionCall","src":"77076:14:19"},{"arguments":[{"name":"shift","nativeSrc":"77096:5:19","nodeType":"YulIdentifier","src":"77096:5:19"},{"arguments":[{"name":"shift","nativeSrc":"77107:5:19","nodeType":"YulIdentifier","src":"77107:5:19"},{"name":"w","nativeSrc":"77114:1:19","nodeType":"YulIdentifier","src":"77114:1:19"}],"functionName":{"name":"shr","nativeSrc":"77103:3:19","nodeType":"YulIdentifier","src":"77103:3:19"},"nativeSrc":"77103:13:19","nodeType":"YulFunctionCall","src":"77103:13:19"}],"functionName":{"name":"shl","nativeSrc":"77092:3:19","nodeType":"YulIdentifier","src":"77092:3:19"},"nativeSrc":"77092:25:19","nodeType":"YulFunctionCall","src":"77092:25:19"}],"functionName":{"name":"mstore","nativeSrc":"77069:6:19","nodeType":"YulIdentifier","src":"77069:6:19"},"nativeSrc":"77069:49:19","nodeType":"YulFunctionCall","src":"77069:49:19"},"nativeSrc":"77069:49:19","nodeType":"YulExpressionStatement","src":"77069:49:19"}]},"name":"writeString","nativeSrc":"76790:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"76811:3:19","nodeType":"YulTypedName","src":"76811:3:19","type":""},{"name":"w","nativeSrc":"76816:1:19","nodeType":"YulTypedName","src":"76816:1:19","type":""}],"src":"76790:342:19"},{"nativeSrc":"77145:17:19","nodeType":"YulAssignment","src":"77145:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"77157:4:19","nodeType":"YulLiteral","src":"77157:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"77151:5:19","nodeType":"YulIdentifier","src":"77151:5:19"},"nativeSrc":"77151:11:19","nodeType":"YulFunctionCall","src":"77151:11:19"},"variableNames":[{"name":"m0","nativeSrc":"77145:2:19","nodeType":"YulIdentifier","src":"77145:2:19"}]},{"nativeSrc":"77175:17:19","nodeType":"YulAssignment","src":"77175:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"77187:4:19","nodeType":"YulLiteral","src":"77187:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"77181:5:19","nodeType":"YulIdentifier","src":"77181:5:19"},"nativeSrc":"77181:11:19","nodeType":"YulFunctionCall","src":"77181:11:19"},"variableNames":[{"name":"m1","nativeSrc":"77175:2:19","nodeType":"YulIdentifier","src":"77175:2:19"}]},{"nativeSrc":"77205:17:19","nodeType":"YulAssignment","src":"77205:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"77217:4:19","nodeType":"YulLiteral","src":"77217:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"77211:5:19","nodeType":"YulIdentifier","src":"77211:5:19"},"nativeSrc":"77211:11:19","nodeType":"YulFunctionCall","src":"77211:11:19"},"variableNames":[{"name":"m2","nativeSrc":"77205:2:19","nodeType":"YulIdentifier","src":"77205:2:19"}]},{"nativeSrc":"77235:17:19","nodeType":"YulAssignment","src":"77235:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"77247:4:19","nodeType":"YulLiteral","src":"77247:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"77241:5:19","nodeType":"YulIdentifier","src":"77241:5:19"},"nativeSrc":"77241:11:19","nodeType":"YulFunctionCall","src":"77241:11:19"},"variableNames":[{"name":"m3","nativeSrc":"77235:2:19","nodeType":"YulIdentifier","src":"77235:2:19"}]},{"nativeSrc":"77265:17:19","nodeType":"YulAssignment","src":"77265:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"77277:4:19","nodeType":"YulLiteral","src":"77277:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"77271:5:19","nodeType":"YulIdentifier","src":"77271:5:19"},"nativeSrc":"77271:11:19","nodeType":"YulFunctionCall","src":"77271:11:19"},"variableNames":[{"name":"m4","nativeSrc":"77265:2:19","nodeType":"YulIdentifier","src":"77265:2:19"}]},{"nativeSrc":"77295:17:19","nodeType":"YulAssignment","src":"77295:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"77307:4:19","nodeType":"YulLiteral","src":"77307:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"77301:5:19","nodeType":"YulIdentifier","src":"77301:5:19"},"nativeSrc":"77301:11:19","nodeType":"YulFunctionCall","src":"77301:11:19"},"variableNames":[{"name":"m5","nativeSrc":"77295:2:19","nodeType":"YulIdentifier","src":"77295:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77387:4:19","nodeType":"YulLiteral","src":"77387:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"77393:10:19","nodeType":"YulLiteral","src":"77393:10:19","type":"","value":"0xc95958d6"}],"functionName":{"name":"mstore","nativeSrc":"77380:6:19","nodeType":"YulIdentifier","src":"77380:6:19"},"nativeSrc":"77380:24:19","nodeType":"YulFunctionCall","src":"77380:24:19"},"nativeSrc":"77380:24:19","nodeType":"YulExpressionStatement","src":"77380:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77424:4:19","nodeType":"YulLiteral","src":"77424:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"77430:4:19","nodeType":"YulLiteral","src":"77430:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"77417:6:19","nodeType":"YulIdentifier","src":"77417:6:19"},"nativeSrc":"77417:18:19","nodeType":"YulFunctionCall","src":"77417:18:19"},"nativeSrc":"77417:18:19","nodeType":"YulExpressionStatement","src":"77417:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77455:4:19","nodeType":"YulLiteral","src":"77455:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"77461:2:19","nodeType":"YulIdentifier","src":"77461:2:19"}],"functionName":{"name":"mstore","nativeSrc":"77448:6:19","nodeType":"YulIdentifier","src":"77448:6:19"},"nativeSrc":"77448:16:19","nodeType":"YulFunctionCall","src":"77448:16:19"},"nativeSrc":"77448:16:19","nodeType":"YulExpressionStatement","src":"77448:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77484:4:19","nodeType":"YulLiteral","src":"77484:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"77490:2:19","nodeType":"YulIdentifier","src":"77490:2:19"}],"functionName":{"name":"mstore","nativeSrc":"77477:6:19","nodeType":"YulIdentifier","src":"77477:6:19"},"nativeSrc":"77477:16:19","nodeType":"YulFunctionCall","src":"77477:16:19"},"nativeSrc":"77477:16:19","nodeType":"YulExpressionStatement","src":"77477:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77518:4:19","nodeType":"YulLiteral","src":"77518:4:19","type":"","value":"0x80"},{"name":"p0","nativeSrc":"77524:2:19","nodeType":"YulIdentifier","src":"77524:2:19"}],"functionName":{"name":"writeString","nativeSrc":"77506:11:19","nodeType":"YulIdentifier","src":"77506:11:19"},"nativeSrc":"77506:21:19","nodeType":"YulFunctionCall","src":"77506:21:19"},"nativeSrc":"77506:21:19","nodeType":"YulExpressionStatement","src":"77506:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28736,"isOffset":false,"isSlot":false,"src":"77145:2:19","valueSize":1},{"declaration":28739,"isOffset":false,"isSlot":false,"src":"77175:2:19","valueSize":1},{"declaration":28742,"isOffset":false,"isSlot":false,"src":"77205:2:19","valueSize":1},{"declaration":28745,"isOffset":false,"isSlot":false,"src":"77235:2:19","valueSize":1},{"declaration":28748,"isOffset":false,"isSlot":false,"src":"77265:2:19","valueSize":1},{"declaration":28751,"isOffset":false,"isSlot":false,"src":"77295:2:19","valueSize":1},{"declaration":28728,"isOffset":false,"isSlot":false,"src":"77524:2:19","valueSize":1},{"declaration":28730,"isOffset":false,"isSlot":false,"src":"77461:2:19","valueSize":1},{"declaration":28732,"isOffset":false,"isSlot":false,"src":"77490:2:19","valueSize":1}],"id":28753,"nodeType":"InlineAssembly","src":"76767:770:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"77562:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"77568:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28754,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"77546:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"77546:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28758,"nodeType":"ExpressionStatement","src":"77546:27:19"},{"AST":{"nativeSrc":"77635:185:19","nodeType":"YulBlock","src":"77635:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"77656:4:19","nodeType":"YulLiteral","src":"77656:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"77662:2:19","nodeType":"YulIdentifier","src":"77662:2:19"}],"functionName":{"name":"mstore","nativeSrc":"77649:6:19","nodeType":"YulIdentifier","src":"77649:6:19"},"nativeSrc":"77649:16:19","nodeType":"YulFunctionCall","src":"77649:16:19"},"nativeSrc":"77649:16:19","nodeType":"YulExpressionStatement","src":"77649:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77685:4:19","nodeType":"YulLiteral","src":"77685:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"77691:2:19","nodeType":"YulIdentifier","src":"77691:2:19"}],"functionName":{"name":"mstore","nativeSrc":"77678:6:19","nodeType":"YulIdentifier","src":"77678:6:19"},"nativeSrc":"77678:16:19","nodeType":"YulFunctionCall","src":"77678:16:19"},"nativeSrc":"77678:16:19","nodeType":"YulExpressionStatement","src":"77678:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77714:4:19","nodeType":"YulLiteral","src":"77714:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"77720:2:19","nodeType":"YulIdentifier","src":"77720:2:19"}],"functionName":{"name":"mstore","nativeSrc":"77707:6:19","nodeType":"YulIdentifier","src":"77707:6:19"},"nativeSrc":"77707:16:19","nodeType":"YulFunctionCall","src":"77707:16:19"},"nativeSrc":"77707:16:19","nodeType":"YulExpressionStatement","src":"77707:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77743:4:19","nodeType":"YulLiteral","src":"77743:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"77749:2:19","nodeType":"YulIdentifier","src":"77749:2:19"}],"functionName":{"name":"mstore","nativeSrc":"77736:6:19","nodeType":"YulIdentifier","src":"77736:6:19"},"nativeSrc":"77736:16:19","nodeType":"YulFunctionCall","src":"77736:16:19"},"nativeSrc":"77736:16:19","nodeType":"YulExpressionStatement","src":"77736:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77772:4:19","nodeType":"YulLiteral","src":"77772:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"77778:2:19","nodeType":"YulIdentifier","src":"77778:2:19"}],"functionName":{"name":"mstore","nativeSrc":"77765:6:19","nodeType":"YulIdentifier","src":"77765:6:19"},"nativeSrc":"77765:16:19","nodeType":"YulFunctionCall","src":"77765:16:19"},"nativeSrc":"77765:16:19","nodeType":"YulExpressionStatement","src":"77765:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"77801:4:19","nodeType":"YulLiteral","src":"77801:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"77807:2:19","nodeType":"YulIdentifier","src":"77807:2:19"}],"functionName":{"name":"mstore","nativeSrc":"77794:6:19","nodeType":"YulIdentifier","src":"77794:6:19"},"nativeSrc":"77794:16:19","nodeType":"YulFunctionCall","src":"77794:16:19"},"nativeSrc":"77794:16:19","nodeType":"YulExpressionStatement","src":"77794:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28736,"isOffset":false,"isSlot":false,"src":"77662:2:19","valueSize":1},{"declaration":28739,"isOffset":false,"isSlot":false,"src":"77691:2:19","valueSize":1},{"declaration":28742,"isOffset":false,"isSlot":false,"src":"77720:2:19","valueSize":1},{"declaration":28745,"isOffset":false,"isSlot":false,"src":"77749:2:19","valueSize":1},{"declaration":28748,"isOffset":false,"isSlot":false,"src":"77778:2:19","valueSize":1},{"declaration":28751,"isOffset":false,"isSlot":false,"src":"77807:2:19","valueSize":1}],"id":28759,"nodeType":"InlineAssembly","src":"77626:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"76543:3:19","parameters":{"id":28733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28728,"mutability":"mutable","name":"p0","nameLocation":"76555:2:19","nodeType":"VariableDeclaration","scope":28761,"src":"76547:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28727,"name":"bytes32","nodeType":"ElementaryTypeName","src":"76547:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28730,"mutability":"mutable","name":"p1","nameLocation":"76564:2:19","nodeType":"VariableDeclaration","scope":28761,"src":"76559:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28729,"name":"bool","nodeType":"ElementaryTypeName","src":"76559:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28732,"mutability":"mutable","name":"p2","nameLocation":"76576:2:19","nodeType":"VariableDeclaration","scope":28761,"src":"76568:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28731,"name":"uint256","nodeType":"ElementaryTypeName","src":"76568:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"76546:33:19"},"returnParameters":{"id":28734,"nodeType":"ParameterList","parameters":[],"src":"76594:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28802,"nodeType":"FunctionDefinition","src":"77832:1485:19","nodes":[],"body":{"id":28801,"nodeType":"Block","src":"77892:1425:19","nodes":[],"statements":[{"assignments":[28771],"declarations":[{"constant":false,"id":28771,"mutability":"mutable","name":"m0","nameLocation":"77910:2:19","nodeType":"VariableDeclaration","scope":28801,"src":"77902:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28770,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77902:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28772,"nodeType":"VariableDeclarationStatement","src":"77902:10:19"},{"assignments":[28774],"declarations":[{"constant":false,"id":28774,"mutability":"mutable","name":"m1","nameLocation":"77930:2:19","nodeType":"VariableDeclaration","scope":28801,"src":"77922:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28773,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77922:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28775,"nodeType":"VariableDeclarationStatement","src":"77922:10:19"},{"assignments":[28777],"declarations":[{"constant":false,"id":28777,"mutability":"mutable","name":"m2","nameLocation":"77950:2:19","nodeType":"VariableDeclaration","scope":28801,"src":"77942:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28776,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77942:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28778,"nodeType":"VariableDeclarationStatement","src":"77942:10:19"},{"assignments":[28780],"declarations":[{"constant":false,"id":28780,"mutability":"mutable","name":"m3","nameLocation":"77970:2:19","nodeType":"VariableDeclaration","scope":28801,"src":"77962:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28779,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77962:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28781,"nodeType":"VariableDeclarationStatement","src":"77962:10:19"},{"assignments":[28783],"declarations":[{"constant":false,"id":28783,"mutability":"mutable","name":"m4","nameLocation":"77990:2:19","nodeType":"VariableDeclaration","scope":28801,"src":"77982:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28782,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77982:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28784,"nodeType":"VariableDeclarationStatement","src":"77982:10:19"},{"assignments":[28786],"declarations":[{"constant":false,"id":28786,"mutability":"mutable","name":"m5","nameLocation":"78010:2:19","nodeType":"VariableDeclaration","scope":28801,"src":"78002:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28785,"name":"bytes32","nodeType":"ElementaryTypeName","src":"78002:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28787,"nodeType":"VariableDeclarationStatement","src":"78002:10:19"},{"assignments":[28789],"declarations":[{"constant":false,"id":28789,"mutability":"mutable","name":"m6","nameLocation":"78030:2:19","nodeType":"VariableDeclaration","scope":28801,"src":"78022:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28788,"name":"bytes32","nodeType":"ElementaryTypeName","src":"78022:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28790,"nodeType":"VariableDeclarationStatement","src":"78022:10:19"},{"assignments":[28792],"declarations":[{"constant":false,"id":28792,"mutability":"mutable","name":"m7","nameLocation":"78050:2:19","nodeType":"VariableDeclaration","scope":28801,"src":"78042:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28791,"name":"bytes32","nodeType":"ElementaryTypeName","src":"78042:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28793,"nodeType":"VariableDeclarationStatement","src":"78042:10:19"},{"AST":{"nativeSrc":"78114:856:19","nodeType":"YulBlock","src":"78114:856:19","statements":[{"body":{"nativeSrc":"78157:313:19","nodeType":"YulBlock","src":"78157:313:19","statements":[{"nativeSrc":"78175:15:19","nodeType":"YulVariableDeclaration","src":"78175:15:19","value":{"kind":"number","nativeSrc":"78189:1:19","nodeType":"YulLiteral","src":"78189:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"78179:6:19","nodeType":"YulTypedName","src":"78179:6:19","type":""}]},{"body":{"nativeSrc":"78260:40:19","nodeType":"YulBlock","src":"78260:40:19","statements":[{"body":{"nativeSrc":"78289:9:19","nodeType":"YulBlock","src":"78289:9:19","statements":[{"nativeSrc":"78291:5:19","nodeType":"YulBreak","src":"78291:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"78277:6:19","nodeType":"YulIdentifier","src":"78277:6:19"},{"name":"w","nativeSrc":"78285:1:19","nodeType":"YulIdentifier","src":"78285:1:19"}],"functionName":{"name":"byte","nativeSrc":"78272:4:19","nodeType":"YulIdentifier","src":"78272:4:19"},"nativeSrc":"78272:15:19","nodeType":"YulFunctionCall","src":"78272:15:19"}],"functionName":{"name":"iszero","nativeSrc":"78265:6:19","nodeType":"YulIdentifier","src":"78265:6:19"},"nativeSrc":"78265:23:19","nodeType":"YulFunctionCall","src":"78265:23:19"},"nativeSrc":"78262:36:19","nodeType":"YulIf","src":"78262:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"78217:6:19","nodeType":"YulIdentifier","src":"78217:6:19"},{"kind":"number","nativeSrc":"78225:4:19","nodeType":"YulLiteral","src":"78225:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"78214:2:19","nodeType":"YulIdentifier","src":"78214:2:19"},"nativeSrc":"78214:16:19","nodeType":"YulFunctionCall","src":"78214:16:19"},"nativeSrc":"78207:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"78231:28:19","nodeType":"YulBlock","src":"78231:28:19","statements":[{"nativeSrc":"78233:24:19","nodeType":"YulAssignment","src":"78233:24:19","value":{"arguments":[{"name":"length","nativeSrc":"78247:6:19","nodeType":"YulIdentifier","src":"78247:6:19"},{"kind":"number","nativeSrc":"78255:1:19","nodeType":"YulLiteral","src":"78255:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"78243:3:19","nodeType":"YulIdentifier","src":"78243:3:19"},"nativeSrc":"78243:14:19","nodeType":"YulFunctionCall","src":"78243:14:19"},"variableNames":[{"name":"length","nativeSrc":"78233:6:19","nodeType":"YulIdentifier","src":"78233:6:19"}]}]},"pre":{"nativeSrc":"78211:2:19","nodeType":"YulBlock","src":"78211:2:19","statements":[]},"src":"78207:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"78324:3:19","nodeType":"YulIdentifier","src":"78324:3:19"},{"name":"length","nativeSrc":"78329:6:19","nodeType":"YulIdentifier","src":"78329:6:19"}],"functionName":{"name":"mstore","nativeSrc":"78317:6:19","nodeType":"YulIdentifier","src":"78317:6:19"},"nativeSrc":"78317:19:19","nodeType":"YulFunctionCall","src":"78317:19:19"},"nativeSrc":"78317:19:19","nodeType":"YulExpressionStatement","src":"78317:19:19"},{"nativeSrc":"78353:37:19","nodeType":"YulVariableDeclaration","src":"78353:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"78370:3:19","nodeType":"YulLiteral","src":"78370:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"78379:1:19","nodeType":"YulLiteral","src":"78379:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"78382:6:19","nodeType":"YulIdentifier","src":"78382:6:19"}],"functionName":{"name":"shl","nativeSrc":"78375:3:19","nodeType":"YulIdentifier","src":"78375:3:19"},"nativeSrc":"78375:14:19","nodeType":"YulFunctionCall","src":"78375:14:19"}],"functionName":{"name":"sub","nativeSrc":"78366:3:19","nodeType":"YulIdentifier","src":"78366:3:19"},"nativeSrc":"78366:24:19","nodeType":"YulFunctionCall","src":"78366:24:19"},"variables":[{"name":"shift","nativeSrc":"78357:5:19","nodeType":"YulTypedName","src":"78357:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"78418:3:19","nodeType":"YulIdentifier","src":"78418:3:19"},{"kind":"number","nativeSrc":"78423:4:19","nodeType":"YulLiteral","src":"78423:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"78414:3:19","nodeType":"YulIdentifier","src":"78414:3:19"},"nativeSrc":"78414:14:19","nodeType":"YulFunctionCall","src":"78414:14:19"},{"arguments":[{"name":"shift","nativeSrc":"78434:5:19","nodeType":"YulIdentifier","src":"78434:5:19"},{"arguments":[{"name":"shift","nativeSrc":"78445:5:19","nodeType":"YulIdentifier","src":"78445:5:19"},{"name":"w","nativeSrc":"78452:1:19","nodeType":"YulIdentifier","src":"78452:1:19"}],"functionName":{"name":"shr","nativeSrc":"78441:3:19","nodeType":"YulIdentifier","src":"78441:3:19"},"nativeSrc":"78441:13:19","nodeType":"YulFunctionCall","src":"78441:13:19"}],"functionName":{"name":"shl","nativeSrc":"78430:3:19","nodeType":"YulIdentifier","src":"78430:3:19"},"nativeSrc":"78430:25:19","nodeType":"YulFunctionCall","src":"78430:25:19"}],"functionName":{"name":"mstore","nativeSrc":"78407:6:19","nodeType":"YulIdentifier","src":"78407:6:19"},"nativeSrc":"78407:49:19","nodeType":"YulFunctionCall","src":"78407:49:19"},"nativeSrc":"78407:49:19","nodeType":"YulExpressionStatement","src":"78407:49:19"}]},"name":"writeString","nativeSrc":"78128:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"78149:3:19","nodeType":"YulTypedName","src":"78149:3:19","type":""},{"name":"w","nativeSrc":"78154:1:19","nodeType":"YulTypedName","src":"78154:1:19","type":""}],"src":"78128:342:19"},{"nativeSrc":"78483:17:19","nodeType":"YulAssignment","src":"78483:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"78495:4:19","nodeType":"YulLiteral","src":"78495:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"78489:5:19","nodeType":"YulIdentifier","src":"78489:5:19"},"nativeSrc":"78489:11:19","nodeType":"YulFunctionCall","src":"78489:11:19"},"variableNames":[{"name":"m0","nativeSrc":"78483:2:19","nodeType":"YulIdentifier","src":"78483:2:19"}]},{"nativeSrc":"78513:17:19","nodeType":"YulAssignment","src":"78513:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"78525:4:19","nodeType":"YulLiteral","src":"78525:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"78519:5:19","nodeType":"YulIdentifier","src":"78519:5:19"},"nativeSrc":"78519:11:19","nodeType":"YulFunctionCall","src":"78519:11:19"},"variableNames":[{"name":"m1","nativeSrc":"78513:2:19","nodeType":"YulIdentifier","src":"78513:2:19"}]},{"nativeSrc":"78543:17:19","nodeType":"YulAssignment","src":"78543:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"78555:4:19","nodeType":"YulLiteral","src":"78555:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"78549:5:19","nodeType":"YulIdentifier","src":"78549:5:19"},"nativeSrc":"78549:11:19","nodeType":"YulFunctionCall","src":"78549:11:19"},"variableNames":[{"name":"m2","nativeSrc":"78543:2:19","nodeType":"YulIdentifier","src":"78543:2:19"}]},{"nativeSrc":"78573:17:19","nodeType":"YulAssignment","src":"78573:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"78585:4:19","nodeType":"YulLiteral","src":"78585:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"78579:5:19","nodeType":"YulIdentifier","src":"78579:5:19"},"nativeSrc":"78579:11:19","nodeType":"YulFunctionCall","src":"78579:11:19"},"variableNames":[{"name":"m3","nativeSrc":"78573:2:19","nodeType":"YulIdentifier","src":"78573:2:19"}]},{"nativeSrc":"78603:17:19","nodeType":"YulAssignment","src":"78603:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"78615:4:19","nodeType":"YulLiteral","src":"78615:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"78609:5:19","nodeType":"YulIdentifier","src":"78609:5:19"},"nativeSrc":"78609:11:19","nodeType":"YulFunctionCall","src":"78609:11:19"},"variableNames":[{"name":"m4","nativeSrc":"78603:2:19","nodeType":"YulIdentifier","src":"78603:2:19"}]},{"nativeSrc":"78633:17:19","nodeType":"YulAssignment","src":"78633:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"78645:4:19","nodeType":"YulLiteral","src":"78645:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"78639:5:19","nodeType":"YulIdentifier","src":"78639:5:19"},"nativeSrc":"78639:11:19","nodeType":"YulFunctionCall","src":"78639:11:19"},"variableNames":[{"name":"m5","nativeSrc":"78633:2:19","nodeType":"YulIdentifier","src":"78633:2:19"}]},{"nativeSrc":"78663:17:19","nodeType":"YulAssignment","src":"78663:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"78675:4:19","nodeType":"YulLiteral","src":"78675:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"78669:5:19","nodeType":"YulIdentifier","src":"78669:5:19"},"nativeSrc":"78669:11:19","nodeType":"YulFunctionCall","src":"78669:11:19"},"variableNames":[{"name":"m6","nativeSrc":"78663:2:19","nodeType":"YulIdentifier","src":"78663:2:19"}]},{"nativeSrc":"78693:17:19","nodeType":"YulAssignment","src":"78693:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"78705:4:19","nodeType":"YulLiteral","src":"78705:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"78699:5:19","nodeType":"YulIdentifier","src":"78699:5:19"},"nativeSrc":"78699:11:19","nodeType":"YulFunctionCall","src":"78699:11:19"},"variableNames":[{"name":"m7","nativeSrc":"78693:2:19","nodeType":"YulIdentifier","src":"78693:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"78784:4:19","nodeType":"YulLiteral","src":"78784:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"78790:10:19","nodeType":"YulLiteral","src":"78790:10:19","type":"","value":"0xe298f47d"}],"functionName":{"name":"mstore","nativeSrc":"78777:6:19","nodeType":"YulIdentifier","src":"78777:6:19"},"nativeSrc":"78777:24:19","nodeType":"YulFunctionCall","src":"78777:24:19"},"nativeSrc":"78777:24:19","nodeType":"YulExpressionStatement","src":"78777:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"78821:4:19","nodeType":"YulLiteral","src":"78821:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"78827:4:19","nodeType":"YulLiteral","src":"78827:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"78814:6:19","nodeType":"YulIdentifier","src":"78814:6:19"},"nativeSrc":"78814:18:19","nodeType":"YulFunctionCall","src":"78814:18:19"},"nativeSrc":"78814:18:19","nodeType":"YulExpressionStatement","src":"78814:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"78852:4:19","nodeType":"YulLiteral","src":"78852:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"78858:2:19","nodeType":"YulIdentifier","src":"78858:2:19"}],"functionName":{"name":"mstore","nativeSrc":"78845:6:19","nodeType":"YulIdentifier","src":"78845:6:19"},"nativeSrc":"78845:16:19","nodeType":"YulFunctionCall","src":"78845:16:19"},"nativeSrc":"78845:16:19","nodeType":"YulExpressionStatement","src":"78845:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"78881:4:19","nodeType":"YulLiteral","src":"78881:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"78887:4:19","nodeType":"YulLiteral","src":"78887:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"78874:6:19","nodeType":"YulIdentifier","src":"78874:6:19"},"nativeSrc":"78874:18:19","nodeType":"YulFunctionCall","src":"78874:18:19"},"nativeSrc":"78874:18:19","nodeType":"YulExpressionStatement","src":"78874:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"78917:4:19","nodeType":"YulLiteral","src":"78917:4:19","type":"","value":"0x80"},{"name":"p0","nativeSrc":"78923:2:19","nodeType":"YulIdentifier","src":"78923:2:19"}],"functionName":{"name":"writeString","nativeSrc":"78905:11:19","nodeType":"YulIdentifier","src":"78905:11:19"},"nativeSrc":"78905:21:19","nodeType":"YulFunctionCall","src":"78905:21:19"},"nativeSrc":"78905:21:19","nodeType":"YulExpressionStatement","src":"78905:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"78951:4:19","nodeType":"YulLiteral","src":"78951:4:19","type":"","value":"0xc0"},{"name":"p2","nativeSrc":"78957:2:19","nodeType":"YulIdentifier","src":"78957:2:19"}],"functionName":{"name":"writeString","nativeSrc":"78939:11:19","nodeType":"YulIdentifier","src":"78939:11:19"},"nativeSrc":"78939:21:19","nodeType":"YulFunctionCall","src":"78939:21:19"},"nativeSrc":"78939:21:19","nodeType":"YulExpressionStatement","src":"78939:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28771,"isOffset":false,"isSlot":false,"src":"78483:2:19","valueSize":1},{"declaration":28774,"isOffset":false,"isSlot":false,"src":"78513:2:19","valueSize":1},{"declaration":28777,"isOffset":false,"isSlot":false,"src":"78543:2:19","valueSize":1},{"declaration":28780,"isOffset":false,"isSlot":false,"src":"78573:2:19","valueSize":1},{"declaration":28783,"isOffset":false,"isSlot":false,"src":"78603:2:19","valueSize":1},{"declaration":28786,"isOffset":false,"isSlot":false,"src":"78633:2:19","valueSize":1},{"declaration":28789,"isOffset":false,"isSlot":false,"src":"78663:2:19","valueSize":1},{"declaration":28792,"isOffset":false,"isSlot":false,"src":"78693:2:19","valueSize":1},{"declaration":28763,"isOffset":false,"isSlot":false,"src":"78923:2:19","valueSize":1},{"declaration":28765,"isOffset":false,"isSlot":false,"src":"78858:2:19","valueSize":1},{"declaration":28767,"isOffset":false,"isSlot":false,"src":"78957:2:19","valueSize":1}],"id":28794,"nodeType":"InlineAssembly","src":"78105:865:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"78995:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":28797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"79001:4:19","typeDescriptions":{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"},"value":"0xe4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"}],"id":28795,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"78979:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"78979:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28799,"nodeType":"ExpressionStatement","src":"78979:27:19"},{"AST":{"nativeSrc":"79068:243:19","nodeType":"YulBlock","src":"79068:243:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"79089:4:19","nodeType":"YulLiteral","src":"79089:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"79095:2:19","nodeType":"YulIdentifier","src":"79095:2:19"}],"functionName":{"name":"mstore","nativeSrc":"79082:6:19","nodeType":"YulIdentifier","src":"79082:6:19"},"nativeSrc":"79082:16:19","nodeType":"YulFunctionCall","src":"79082:16:19"},"nativeSrc":"79082:16:19","nodeType":"YulExpressionStatement","src":"79082:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"79118:4:19","nodeType":"YulLiteral","src":"79118:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"79124:2:19","nodeType":"YulIdentifier","src":"79124:2:19"}],"functionName":{"name":"mstore","nativeSrc":"79111:6:19","nodeType":"YulIdentifier","src":"79111:6:19"},"nativeSrc":"79111:16:19","nodeType":"YulFunctionCall","src":"79111:16:19"},"nativeSrc":"79111:16:19","nodeType":"YulExpressionStatement","src":"79111:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"79147:4:19","nodeType":"YulLiteral","src":"79147:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"79153:2:19","nodeType":"YulIdentifier","src":"79153:2:19"}],"functionName":{"name":"mstore","nativeSrc":"79140:6:19","nodeType":"YulIdentifier","src":"79140:6:19"},"nativeSrc":"79140:16:19","nodeType":"YulFunctionCall","src":"79140:16:19"},"nativeSrc":"79140:16:19","nodeType":"YulExpressionStatement","src":"79140:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"79176:4:19","nodeType":"YulLiteral","src":"79176:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"79182:2:19","nodeType":"YulIdentifier","src":"79182:2:19"}],"functionName":{"name":"mstore","nativeSrc":"79169:6:19","nodeType":"YulIdentifier","src":"79169:6:19"},"nativeSrc":"79169:16:19","nodeType":"YulFunctionCall","src":"79169:16:19"},"nativeSrc":"79169:16:19","nodeType":"YulExpressionStatement","src":"79169:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"79205:4:19","nodeType":"YulLiteral","src":"79205:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"79211:2:19","nodeType":"YulIdentifier","src":"79211:2:19"}],"functionName":{"name":"mstore","nativeSrc":"79198:6:19","nodeType":"YulIdentifier","src":"79198:6:19"},"nativeSrc":"79198:16:19","nodeType":"YulFunctionCall","src":"79198:16:19"},"nativeSrc":"79198:16:19","nodeType":"YulExpressionStatement","src":"79198:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"79234:4:19","nodeType":"YulLiteral","src":"79234:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"79240:2:19","nodeType":"YulIdentifier","src":"79240:2:19"}],"functionName":{"name":"mstore","nativeSrc":"79227:6:19","nodeType":"YulIdentifier","src":"79227:6:19"},"nativeSrc":"79227:16:19","nodeType":"YulFunctionCall","src":"79227:16:19"},"nativeSrc":"79227:16:19","nodeType":"YulExpressionStatement","src":"79227:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"79263:4:19","nodeType":"YulLiteral","src":"79263:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"79269:2:19","nodeType":"YulIdentifier","src":"79269:2:19"}],"functionName":{"name":"mstore","nativeSrc":"79256:6:19","nodeType":"YulIdentifier","src":"79256:6:19"},"nativeSrc":"79256:16:19","nodeType":"YulFunctionCall","src":"79256:16:19"},"nativeSrc":"79256:16:19","nodeType":"YulExpressionStatement","src":"79256:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"79292:4:19","nodeType":"YulLiteral","src":"79292:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"79298:2:19","nodeType":"YulIdentifier","src":"79298:2:19"}],"functionName":{"name":"mstore","nativeSrc":"79285:6:19","nodeType":"YulIdentifier","src":"79285:6:19"},"nativeSrc":"79285:16:19","nodeType":"YulFunctionCall","src":"79285:16:19"},"nativeSrc":"79285:16:19","nodeType":"YulExpressionStatement","src":"79285:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28771,"isOffset":false,"isSlot":false,"src":"79095:2:19","valueSize":1},{"declaration":28774,"isOffset":false,"isSlot":false,"src":"79124:2:19","valueSize":1},{"declaration":28777,"isOffset":false,"isSlot":false,"src":"79153:2:19","valueSize":1},{"declaration":28780,"isOffset":false,"isSlot":false,"src":"79182:2:19","valueSize":1},{"declaration":28783,"isOffset":false,"isSlot":false,"src":"79211:2:19","valueSize":1},{"declaration":28786,"isOffset":false,"isSlot":false,"src":"79240:2:19","valueSize":1},{"declaration":28789,"isOffset":false,"isSlot":false,"src":"79269:2:19","valueSize":1},{"declaration":28792,"isOffset":false,"isSlot":false,"src":"79298:2:19","valueSize":1}],"id":28800,"nodeType":"InlineAssembly","src":"79059:252:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"77841:3:19","parameters":{"id":28768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28763,"mutability":"mutable","name":"p0","nameLocation":"77853:2:19","nodeType":"VariableDeclaration","scope":28802,"src":"77845:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28762,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77845:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28765,"mutability":"mutable","name":"p1","nameLocation":"77862:2:19","nodeType":"VariableDeclaration","scope":28802,"src":"77857:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28764,"name":"bool","nodeType":"ElementaryTypeName","src":"77857:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28767,"mutability":"mutable","name":"p2","nameLocation":"77874:2:19","nodeType":"VariableDeclaration","scope":28802,"src":"77866:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28766,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77866:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"77844:33:19"},"returnParameters":{"id":28769,"nodeType":"ParameterList","parameters":[],"src":"77892:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28837,"nodeType":"FunctionDefinition","src":"79323:1298:19","nodes":[],"body":{"id":28836,"nodeType":"Block","src":"79386:1235:19","nodes":[],"statements":[{"assignments":[28812],"declarations":[{"constant":false,"id":28812,"mutability":"mutable","name":"m0","nameLocation":"79404:2:19","nodeType":"VariableDeclaration","scope":28836,"src":"79396:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28811,"name":"bytes32","nodeType":"ElementaryTypeName","src":"79396:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28813,"nodeType":"VariableDeclarationStatement","src":"79396:10:19"},{"assignments":[28815],"declarations":[{"constant":false,"id":28815,"mutability":"mutable","name":"m1","nameLocation":"79424:2:19","nodeType":"VariableDeclaration","scope":28836,"src":"79416:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28814,"name":"bytes32","nodeType":"ElementaryTypeName","src":"79416:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28816,"nodeType":"VariableDeclarationStatement","src":"79416:10:19"},{"assignments":[28818],"declarations":[{"constant":false,"id":28818,"mutability":"mutable","name":"m2","nameLocation":"79444:2:19","nodeType":"VariableDeclaration","scope":28836,"src":"79436:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28817,"name":"bytes32","nodeType":"ElementaryTypeName","src":"79436:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28819,"nodeType":"VariableDeclarationStatement","src":"79436:10:19"},{"assignments":[28821],"declarations":[{"constant":false,"id":28821,"mutability":"mutable","name":"m3","nameLocation":"79464:2:19","nodeType":"VariableDeclaration","scope":28836,"src":"79456:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28820,"name":"bytes32","nodeType":"ElementaryTypeName","src":"79456:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28822,"nodeType":"VariableDeclarationStatement","src":"79456:10:19"},{"assignments":[28824],"declarations":[{"constant":false,"id":28824,"mutability":"mutable","name":"m4","nameLocation":"79484:2:19","nodeType":"VariableDeclaration","scope":28836,"src":"79476:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28823,"name":"bytes32","nodeType":"ElementaryTypeName","src":"79476:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28825,"nodeType":"VariableDeclarationStatement","src":"79476:10:19"},{"assignments":[28827],"declarations":[{"constant":false,"id":28827,"mutability":"mutable","name":"m5","nameLocation":"79504:2:19","nodeType":"VariableDeclaration","scope":28836,"src":"79496:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28826,"name":"bytes32","nodeType":"ElementaryTypeName","src":"79496:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28828,"nodeType":"VariableDeclarationStatement","src":"79496:10:19"},{"AST":{"nativeSrc":"79568:764:19","nodeType":"YulBlock","src":"79568:764:19","statements":[{"body":{"nativeSrc":"79611:313:19","nodeType":"YulBlock","src":"79611:313:19","statements":[{"nativeSrc":"79629:15:19","nodeType":"YulVariableDeclaration","src":"79629:15:19","value":{"kind":"number","nativeSrc":"79643:1:19","nodeType":"YulLiteral","src":"79643:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"79633:6:19","nodeType":"YulTypedName","src":"79633:6:19","type":""}]},{"body":{"nativeSrc":"79714:40:19","nodeType":"YulBlock","src":"79714:40:19","statements":[{"body":{"nativeSrc":"79743:9:19","nodeType":"YulBlock","src":"79743:9:19","statements":[{"nativeSrc":"79745:5:19","nodeType":"YulBreak","src":"79745:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"79731:6:19","nodeType":"YulIdentifier","src":"79731:6:19"},{"name":"w","nativeSrc":"79739:1:19","nodeType":"YulIdentifier","src":"79739:1:19"}],"functionName":{"name":"byte","nativeSrc":"79726:4:19","nodeType":"YulIdentifier","src":"79726:4:19"},"nativeSrc":"79726:15:19","nodeType":"YulFunctionCall","src":"79726:15:19"}],"functionName":{"name":"iszero","nativeSrc":"79719:6:19","nodeType":"YulIdentifier","src":"79719:6:19"},"nativeSrc":"79719:23:19","nodeType":"YulFunctionCall","src":"79719:23:19"},"nativeSrc":"79716:36:19","nodeType":"YulIf","src":"79716:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"79671:6:19","nodeType":"YulIdentifier","src":"79671:6:19"},{"kind":"number","nativeSrc":"79679:4:19","nodeType":"YulLiteral","src":"79679:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"79668:2:19","nodeType":"YulIdentifier","src":"79668:2:19"},"nativeSrc":"79668:16:19","nodeType":"YulFunctionCall","src":"79668:16:19"},"nativeSrc":"79661:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"79685:28:19","nodeType":"YulBlock","src":"79685:28:19","statements":[{"nativeSrc":"79687:24:19","nodeType":"YulAssignment","src":"79687:24:19","value":{"arguments":[{"name":"length","nativeSrc":"79701:6:19","nodeType":"YulIdentifier","src":"79701:6:19"},{"kind":"number","nativeSrc":"79709:1:19","nodeType":"YulLiteral","src":"79709:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"79697:3:19","nodeType":"YulIdentifier","src":"79697:3:19"},"nativeSrc":"79697:14:19","nodeType":"YulFunctionCall","src":"79697:14:19"},"variableNames":[{"name":"length","nativeSrc":"79687:6:19","nodeType":"YulIdentifier","src":"79687:6:19"}]}]},"pre":{"nativeSrc":"79665:2:19","nodeType":"YulBlock","src":"79665:2:19","statements":[]},"src":"79661:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"79778:3:19","nodeType":"YulIdentifier","src":"79778:3:19"},{"name":"length","nativeSrc":"79783:6:19","nodeType":"YulIdentifier","src":"79783:6:19"}],"functionName":{"name":"mstore","nativeSrc":"79771:6:19","nodeType":"YulIdentifier","src":"79771:6:19"},"nativeSrc":"79771:19:19","nodeType":"YulFunctionCall","src":"79771:19:19"},"nativeSrc":"79771:19:19","nodeType":"YulExpressionStatement","src":"79771:19:19"},{"nativeSrc":"79807:37:19","nodeType":"YulVariableDeclaration","src":"79807:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"79824:3:19","nodeType":"YulLiteral","src":"79824:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"79833:1:19","nodeType":"YulLiteral","src":"79833:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"79836:6:19","nodeType":"YulIdentifier","src":"79836:6:19"}],"functionName":{"name":"shl","nativeSrc":"79829:3:19","nodeType":"YulIdentifier","src":"79829:3:19"},"nativeSrc":"79829:14:19","nodeType":"YulFunctionCall","src":"79829:14:19"}],"functionName":{"name":"sub","nativeSrc":"79820:3:19","nodeType":"YulIdentifier","src":"79820:3:19"},"nativeSrc":"79820:24:19","nodeType":"YulFunctionCall","src":"79820:24:19"},"variables":[{"name":"shift","nativeSrc":"79811:5:19","nodeType":"YulTypedName","src":"79811:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"79872:3:19","nodeType":"YulIdentifier","src":"79872:3:19"},{"kind":"number","nativeSrc":"79877:4:19","nodeType":"YulLiteral","src":"79877:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"79868:3:19","nodeType":"YulIdentifier","src":"79868:3:19"},"nativeSrc":"79868:14:19","nodeType":"YulFunctionCall","src":"79868:14:19"},{"arguments":[{"name":"shift","nativeSrc":"79888:5:19","nodeType":"YulIdentifier","src":"79888:5:19"},{"arguments":[{"name":"shift","nativeSrc":"79899:5:19","nodeType":"YulIdentifier","src":"79899:5:19"},{"name":"w","nativeSrc":"79906:1:19","nodeType":"YulIdentifier","src":"79906:1:19"}],"functionName":{"name":"shr","nativeSrc":"79895:3:19","nodeType":"YulIdentifier","src":"79895:3:19"},"nativeSrc":"79895:13:19","nodeType":"YulFunctionCall","src":"79895:13:19"}],"functionName":{"name":"shl","nativeSrc":"79884:3:19","nodeType":"YulIdentifier","src":"79884:3:19"},"nativeSrc":"79884:25:19","nodeType":"YulFunctionCall","src":"79884:25:19"}],"functionName":{"name":"mstore","nativeSrc":"79861:6:19","nodeType":"YulIdentifier","src":"79861:6:19"},"nativeSrc":"79861:49:19","nodeType":"YulFunctionCall","src":"79861:49:19"},"nativeSrc":"79861:49:19","nodeType":"YulExpressionStatement","src":"79861:49:19"}]},"name":"writeString","nativeSrc":"79582:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"79603:3:19","nodeType":"YulTypedName","src":"79603:3:19","type":""},{"name":"w","nativeSrc":"79608:1:19","nodeType":"YulTypedName","src":"79608:1:19","type":""}],"src":"79582:342:19"},{"nativeSrc":"79937:17:19","nodeType":"YulAssignment","src":"79937:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"79949:4:19","nodeType":"YulLiteral","src":"79949:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"79943:5:19","nodeType":"YulIdentifier","src":"79943:5:19"},"nativeSrc":"79943:11:19","nodeType":"YulFunctionCall","src":"79943:11:19"},"variableNames":[{"name":"m0","nativeSrc":"79937:2:19","nodeType":"YulIdentifier","src":"79937:2:19"}]},{"nativeSrc":"79967:17:19","nodeType":"YulAssignment","src":"79967:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"79979:4:19","nodeType":"YulLiteral","src":"79979:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"79973:5:19","nodeType":"YulIdentifier","src":"79973:5:19"},"nativeSrc":"79973:11:19","nodeType":"YulFunctionCall","src":"79973:11:19"},"variableNames":[{"name":"m1","nativeSrc":"79967:2:19","nodeType":"YulIdentifier","src":"79967:2:19"}]},{"nativeSrc":"79997:17:19","nodeType":"YulAssignment","src":"79997:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"80009:4:19","nodeType":"YulLiteral","src":"80009:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"80003:5:19","nodeType":"YulIdentifier","src":"80003:5:19"},"nativeSrc":"80003:11:19","nodeType":"YulFunctionCall","src":"80003:11:19"},"variableNames":[{"name":"m2","nativeSrc":"79997:2:19","nodeType":"YulIdentifier","src":"79997:2:19"}]},{"nativeSrc":"80027:17:19","nodeType":"YulAssignment","src":"80027:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"80039:4:19","nodeType":"YulLiteral","src":"80039:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"80033:5:19","nodeType":"YulIdentifier","src":"80033:5:19"},"nativeSrc":"80033:11:19","nodeType":"YulFunctionCall","src":"80033:11:19"},"variableNames":[{"name":"m3","nativeSrc":"80027:2:19","nodeType":"YulIdentifier","src":"80027:2:19"}]},{"nativeSrc":"80057:17:19","nodeType":"YulAssignment","src":"80057:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"80069:4:19","nodeType":"YulLiteral","src":"80069:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"80063:5:19","nodeType":"YulIdentifier","src":"80063:5:19"},"nativeSrc":"80063:11:19","nodeType":"YulFunctionCall","src":"80063:11:19"},"variableNames":[{"name":"m4","nativeSrc":"80057:2:19","nodeType":"YulIdentifier","src":"80057:2:19"}]},{"nativeSrc":"80087:17:19","nodeType":"YulAssignment","src":"80087:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"80099:4:19","nodeType":"YulLiteral","src":"80099:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"80093:5:19","nodeType":"YulIdentifier","src":"80093:5:19"},"nativeSrc":"80093:11:19","nodeType":"YulFunctionCall","src":"80093:11:19"},"variableNames":[{"name":"m5","nativeSrc":"80087:2:19","nodeType":"YulIdentifier","src":"80087:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80182:4:19","nodeType":"YulLiteral","src":"80182:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"80188:10:19","nodeType":"YulLiteral","src":"80188:10:19","type":"","value":"0x1c7ec448"}],"functionName":{"name":"mstore","nativeSrc":"80175:6:19","nodeType":"YulIdentifier","src":"80175:6:19"},"nativeSrc":"80175:24:19","nodeType":"YulFunctionCall","src":"80175:24:19"},"nativeSrc":"80175:24:19","nodeType":"YulExpressionStatement","src":"80175:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80219:4:19","nodeType":"YulLiteral","src":"80219:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"80225:4:19","nodeType":"YulLiteral","src":"80225:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"80212:6:19","nodeType":"YulIdentifier","src":"80212:6:19"},"nativeSrc":"80212:18:19","nodeType":"YulFunctionCall","src":"80212:18:19"},"nativeSrc":"80212:18:19","nodeType":"YulExpressionStatement","src":"80212:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80250:4:19","nodeType":"YulLiteral","src":"80250:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"80256:2:19","nodeType":"YulIdentifier","src":"80256:2:19"}],"functionName":{"name":"mstore","nativeSrc":"80243:6:19","nodeType":"YulIdentifier","src":"80243:6:19"},"nativeSrc":"80243:16:19","nodeType":"YulFunctionCall","src":"80243:16:19"},"nativeSrc":"80243:16:19","nodeType":"YulExpressionStatement","src":"80243:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80279:4:19","nodeType":"YulLiteral","src":"80279:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"80285:2:19","nodeType":"YulIdentifier","src":"80285:2:19"}],"functionName":{"name":"mstore","nativeSrc":"80272:6:19","nodeType":"YulIdentifier","src":"80272:6:19"},"nativeSrc":"80272:16:19","nodeType":"YulFunctionCall","src":"80272:16:19"},"nativeSrc":"80272:16:19","nodeType":"YulExpressionStatement","src":"80272:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80313:4:19","nodeType":"YulLiteral","src":"80313:4:19","type":"","value":"0x80"},{"name":"p0","nativeSrc":"80319:2:19","nodeType":"YulIdentifier","src":"80319:2:19"}],"functionName":{"name":"writeString","nativeSrc":"80301:11:19","nodeType":"YulIdentifier","src":"80301:11:19"},"nativeSrc":"80301:21:19","nodeType":"YulFunctionCall","src":"80301:21:19"},"nativeSrc":"80301:21:19","nodeType":"YulExpressionStatement","src":"80301:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28812,"isOffset":false,"isSlot":false,"src":"79937:2:19","valueSize":1},{"declaration":28815,"isOffset":false,"isSlot":false,"src":"79967:2:19","valueSize":1},{"declaration":28818,"isOffset":false,"isSlot":false,"src":"79997:2:19","valueSize":1},{"declaration":28821,"isOffset":false,"isSlot":false,"src":"80027:2:19","valueSize":1},{"declaration":28824,"isOffset":false,"isSlot":false,"src":"80057:2:19","valueSize":1},{"declaration":28827,"isOffset":false,"isSlot":false,"src":"80087:2:19","valueSize":1},{"declaration":28804,"isOffset":false,"isSlot":false,"src":"80319:2:19","valueSize":1},{"declaration":28806,"isOffset":false,"isSlot":false,"src":"80256:2:19","valueSize":1},{"declaration":28808,"isOffset":false,"isSlot":false,"src":"80285:2:19","valueSize":1}],"id":28829,"nodeType":"InlineAssembly","src":"79559:773:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"80357:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"80363:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28830,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"80341:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"80341:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28834,"nodeType":"ExpressionStatement","src":"80341:27:19"},{"AST":{"nativeSrc":"80430:185:19","nodeType":"YulBlock","src":"80430:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"80451:4:19","nodeType":"YulLiteral","src":"80451:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"80457:2:19","nodeType":"YulIdentifier","src":"80457:2:19"}],"functionName":{"name":"mstore","nativeSrc":"80444:6:19","nodeType":"YulIdentifier","src":"80444:6:19"},"nativeSrc":"80444:16:19","nodeType":"YulFunctionCall","src":"80444:16:19"},"nativeSrc":"80444:16:19","nodeType":"YulExpressionStatement","src":"80444:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80480:4:19","nodeType":"YulLiteral","src":"80480:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"80486:2:19","nodeType":"YulIdentifier","src":"80486:2:19"}],"functionName":{"name":"mstore","nativeSrc":"80473:6:19","nodeType":"YulIdentifier","src":"80473:6:19"},"nativeSrc":"80473:16:19","nodeType":"YulFunctionCall","src":"80473:16:19"},"nativeSrc":"80473:16:19","nodeType":"YulExpressionStatement","src":"80473:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80509:4:19","nodeType":"YulLiteral","src":"80509:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"80515:2:19","nodeType":"YulIdentifier","src":"80515:2:19"}],"functionName":{"name":"mstore","nativeSrc":"80502:6:19","nodeType":"YulIdentifier","src":"80502:6:19"},"nativeSrc":"80502:16:19","nodeType":"YulFunctionCall","src":"80502:16:19"},"nativeSrc":"80502:16:19","nodeType":"YulExpressionStatement","src":"80502:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80538:4:19","nodeType":"YulLiteral","src":"80538:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"80544:2:19","nodeType":"YulIdentifier","src":"80544:2:19"}],"functionName":{"name":"mstore","nativeSrc":"80531:6:19","nodeType":"YulIdentifier","src":"80531:6:19"},"nativeSrc":"80531:16:19","nodeType":"YulFunctionCall","src":"80531:16:19"},"nativeSrc":"80531:16:19","nodeType":"YulExpressionStatement","src":"80531:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80567:4:19","nodeType":"YulLiteral","src":"80567:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"80573:2:19","nodeType":"YulIdentifier","src":"80573:2:19"}],"functionName":{"name":"mstore","nativeSrc":"80560:6:19","nodeType":"YulIdentifier","src":"80560:6:19"},"nativeSrc":"80560:16:19","nodeType":"YulFunctionCall","src":"80560:16:19"},"nativeSrc":"80560:16:19","nodeType":"YulExpressionStatement","src":"80560:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"80596:4:19","nodeType":"YulLiteral","src":"80596:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"80602:2:19","nodeType":"YulIdentifier","src":"80602:2:19"}],"functionName":{"name":"mstore","nativeSrc":"80589:6:19","nodeType":"YulIdentifier","src":"80589:6:19"},"nativeSrc":"80589:16:19","nodeType":"YulFunctionCall","src":"80589:16:19"},"nativeSrc":"80589:16:19","nodeType":"YulExpressionStatement","src":"80589:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28812,"isOffset":false,"isSlot":false,"src":"80457:2:19","valueSize":1},{"declaration":28815,"isOffset":false,"isSlot":false,"src":"80486:2:19","valueSize":1},{"declaration":28818,"isOffset":false,"isSlot":false,"src":"80515:2:19","valueSize":1},{"declaration":28821,"isOffset":false,"isSlot":false,"src":"80544:2:19","valueSize":1},{"declaration":28824,"isOffset":false,"isSlot":false,"src":"80573:2:19","valueSize":1},{"declaration":28827,"isOffset":false,"isSlot":false,"src":"80602:2:19","valueSize":1}],"id":28835,"nodeType":"InlineAssembly","src":"80421:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"79332:3:19","parameters":{"id":28809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28804,"mutability":"mutable","name":"p0","nameLocation":"79344:2:19","nodeType":"VariableDeclaration","scope":28837,"src":"79336:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28803,"name":"bytes32","nodeType":"ElementaryTypeName","src":"79336:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28806,"mutability":"mutable","name":"p1","nameLocation":"79356:2:19","nodeType":"VariableDeclaration","scope":28837,"src":"79348:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28805,"name":"uint256","nodeType":"ElementaryTypeName","src":"79348:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28808,"mutability":"mutable","name":"p2","nameLocation":"79368:2:19","nodeType":"VariableDeclaration","scope":28837,"src":"79360:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28807,"name":"address","nodeType":"ElementaryTypeName","src":"79360:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"79335:36:19"},"returnParameters":{"id":28810,"nodeType":"ParameterList","parameters":[],"src":"79386:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28872,"nodeType":"FunctionDefinition","src":"80627:1292:19","nodes":[],"body":{"id":28871,"nodeType":"Block","src":"80687:1232:19","nodes":[],"statements":[{"assignments":[28847],"declarations":[{"constant":false,"id":28847,"mutability":"mutable","name":"m0","nameLocation":"80705:2:19","nodeType":"VariableDeclaration","scope":28871,"src":"80697:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28846,"name":"bytes32","nodeType":"ElementaryTypeName","src":"80697:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28848,"nodeType":"VariableDeclarationStatement","src":"80697:10:19"},{"assignments":[28850],"declarations":[{"constant":false,"id":28850,"mutability":"mutable","name":"m1","nameLocation":"80725:2:19","nodeType":"VariableDeclaration","scope":28871,"src":"80717:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28849,"name":"bytes32","nodeType":"ElementaryTypeName","src":"80717:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28851,"nodeType":"VariableDeclarationStatement","src":"80717:10:19"},{"assignments":[28853],"declarations":[{"constant":false,"id":28853,"mutability":"mutable","name":"m2","nameLocation":"80745:2:19","nodeType":"VariableDeclaration","scope":28871,"src":"80737:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28852,"name":"bytes32","nodeType":"ElementaryTypeName","src":"80737:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28854,"nodeType":"VariableDeclarationStatement","src":"80737:10:19"},{"assignments":[28856],"declarations":[{"constant":false,"id":28856,"mutability":"mutable","name":"m3","nameLocation":"80765:2:19","nodeType":"VariableDeclaration","scope":28871,"src":"80757:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28855,"name":"bytes32","nodeType":"ElementaryTypeName","src":"80757:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28857,"nodeType":"VariableDeclarationStatement","src":"80757:10:19"},{"assignments":[28859],"declarations":[{"constant":false,"id":28859,"mutability":"mutable","name":"m4","nameLocation":"80785:2:19","nodeType":"VariableDeclaration","scope":28871,"src":"80777:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28858,"name":"bytes32","nodeType":"ElementaryTypeName","src":"80777:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28860,"nodeType":"VariableDeclarationStatement","src":"80777:10:19"},{"assignments":[28862],"declarations":[{"constant":false,"id":28862,"mutability":"mutable","name":"m5","nameLocation":"80805:2:19","nodeType":"VariableDeclaration","scope":28871,"src":"80797:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28861,"name":"bytes32","nodeType":"ElementaryTypeName","src":"80797:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28863,"nodeType":"VariableDeclarationStatement","src":"80797:10:19"},{"AST":{"nativeSrc":"80869:761:19","nodeType":"YulBlock","src":"80869:761:19","statements":[{"body":{"nativeSrc":"80912:313:19","nodeType":"YulBlock","src":"80912:313:19","statements":[{"nativeSrc":"80930:15:19","nodeType":"YulVariableDeclaration","src":"80930:15:19","value":{"kind":"number","nativeSrc":"80944:1:19","nodeType":"YulLiteral","src":"80944:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"80934:6:19","nodeType":"YulTypedName","src":"80934:6:19","type":""}]},{"body":{"nativeSrc":"81015:40:19","nodeType":"YulBlock","src":"81015:40:19","statements":[{"body":{"nativeSrc":"81044:9:19","nodeType":"YulBlock","src":"81044:9:19","statements":[{"nativeSrc":"81046:5:19","nodeType":"YulBreak","src":"81046:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"81032:6:19","nodeType":"YulIdentifier","src":"81032:6:19"},{"name":"w","nativeSrc":"81040:1:19","nodeType":"YulIdentifier","src":"81040:1:19"}],"functionName":{"name":"byte","nativeSrc":"81027:4:19","nodeType":"YulIdentifier","src":"81027:4:19"},"nativeSrc":"81027:15:19","nodeType":"YulFunctionCall","src":"81027:15:19"}],"functionName":{"name":"iszero","nativeSrc":"81020:6:19","nodeType":"YulIdentifier","src":"81020:6:19"},"nativeSrc":"81020:23:19","nodeType":"YulFunctionCall","src":"81020:23:19"},"nativeSrc":"81017:36:19","nodeType":"YulIf","src":"81017:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"80972:6:19","nodeType":"YulIdentifier","src":"80972:6:19"},{"kind":"number","nativeSrc":"80980:4:19","nodeType":"YulLiteral","src":"80980:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"80969:2:19","nodeType":"YulIdentifier","src":"80969:2:19"},"nativeSrc":"80969:16:19","nodeType":"YulFunctionCall","src":"80969:16:19"},"nativeSrc":"80962:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"80986:28:19","nodeType":"YulBlock","src":"80986:28:19","statements":[{"nativeSrc":"80988:24:19","nodeType":"YulAssignment","src":"80988:24:19","value":{"arguments":[{"name":"length","nativeSrc":"81002:6:19","nodeType":"YulIdentifier","src":"81002:6:19"},{"kind":"number","nativeSrc":"81010:1:19","nodeType":"YulLiteral","src":"81010:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"80998:3:19","nodeType":"YulIdentifier","src":"80998:3:19"},"nativeSrc":"80998:14:19","nodeType":"YulFunctionCall","src":"80998:14:19"},"variableNames":[{"name":"length","nativeSrc":"80988:6:19","nodeType":"YulIdentifier","src":"80988:6:19"}]}]},"pre":{"nativeSrc":"80966:2:19","nodeType":"YulBlock","src":"80966:2:19","statements":[]},"src":"80962:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"81079:3:19","nodeType":"YulIdentifier","src":"81079:3:19"},{"name":"length","nativeSrc":"81084:6:19","nodeType":"YulIdentifier","src":"81084:6:19"}],"functionName":{"name":"mstore","nativeSrc":"81072:6:19","nodeType":"YulIdentifier","src":"81072:6:19"},"nativeSrc":"81072:19:19","nodeType":"YulFunctionCall","src":"81072:19:19"},"nativeSrc":"81072:19:19","nodeType":"YulExpressionStatement","src":"81072:19:19"},{"nativeSrc":"81108:37:19","nodeType":"YulVariableDeclaration","src":"81108:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"81125:3:19","nodeType":"YulLiteral","src":"81125:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"81134:1:19","nodeType":"YulLiteral","src":"81134:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"81137:6:19","nodeType":"YulIdentifier","src":"81137:6:19"}],"functionName":{"name":"shl","nativeSrc":"81130:3:19","nodeType":"YulIdentifier","src":"81130:3:19"},"nativeSrc":"81130:14:19","nodeType":"YulFunctionCall","src":"81130:14:19"}],"functionName":{"name":"sub","nativeSrc":"81121:3:19","nodeType":"YulIdentifier","src":"81121:3:19"},"nativeSrc":"81121:24:19","nodeType":"YulFunctionCall","src":"81121:24:19"},"variables":[{"name":"shift","nativeSrc":"81112:5:19","nodeType":"YulTypedName","src":"81112:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"81173:3:19","nodeType":"YulIdentifier","src":"81173:3:19"},{"kind":"number","nativeSrc":"81178:4:19","nodeType":"YulLiteral","src":"81178:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"81169:3:19","nodeType":"YulIdentifier","src":"81169:3:19"},"nativeSrc":"81169:14:19","nodeType":"YulFunctionCall","src":"81169:14:19"},{"arguments":[{"name":"shift","nativeSrc":"81189:5:19","nodeType":"YulIdentifier","src":"81189:5:19"},{"arguments":[{"name":"shift","nativeSrc":"81200:5:19","nodeType":"YulIdentifier","src":"81200:5:19"},{"name":"w","nativeSrc":"81207:1:19","nodeType":"YulIdentifier","src":"81207:1:19"}],"functionName":{"name":"shr","nativeSrc":"81196:3:19","nodeType":"YulIdentifier","src":"81196:3:19"},"nativeSrc":"81196:13:19","nodeType":"YulFunctionCall","src":"81196:13:19"}],"functionName":{"name":"shl","nativeSrc":"81185:3:19","nodeType":"YulIdentifier","src":"81185:3:19"},"nativeSrc":"81185:25:19","nodeType":"YulFunctionCall","src":"81185:25:19"}],"functionName":{"name":"mstore","nativeSrc":"81162:6:19","nodeType":"YulIdentifier","src":"81162:6:19"},"nativeSrc":"81162:49:19","nodeType":"YulFunctionCall","src":"81162:49:19"},"nativeSrc":"81162:49:19","nodeType":"YulExpressionStatement","src":"81162:49:19"}]},"name":"writeString","nativeSrc":"80883:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"80904:3:19","nodeType":"YulTypedName","src":"80904:3:19","type":""},{"name":"w","nativeSrc":"80909:1:19","nodeType":"YulTypedName","src":"80909:1:19","type":""}],"src":"80883:342:19"},{"nativeSrc":"81238:17:19","nodeType":"YulAssignment","src":"81238:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"81250:4:19","nodeType":"YulLiteral","src":"81250:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"81244:5:19","nodeType":"YulIdentifier","src":"81244:5:19"},"nativeSrc":"81244:11:19","nodeType":"YulFunctionCall","src":"81244:11:19"},"variableNames":[{"name":"m0","nativeSrc":"81238:2:19","nodeType":"YulIdentifier","src":"81238:2:19"}]},{"nativeSrc":"81268:17:19","nodeType":"YulAssignment","src":"81268:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"81280:4:19","nodeType":"YulLiteral","src":"81280:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"81274:5:19","nodeType":"YulIdentifier","src":"81274:5:19"},"nativeSrc":"81274:11:19","nodeType":"YulFunctionCall","src":"81274:11:19"},"variableNames":[{"name":"m1","nativeSrc":"81268:2:19","nodeType":"YulIdentifier","src":"81268:2:19"}]},{"nativeSrc":"81298:17:19","nodeType":"YulAssignment","src":"81298:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"81310:4:19","nodeType":"YulLiteral","src":"81310:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"81304:5:19","nodeType":"YulIdentifier","src":"81304:5:19"},"nativeSrc":"81304:11:19","nodeType":"YulFunctionCall","src":"81304:11:19"},"variableNames":[{"name":"m2","nativeSrc":"81298:2:19","nodeType":"YulIdentifier","src":"81298:2:19"}]},{"nativeSrc":"81328:17:19","nodeType":"YulAssignment","src":"81328:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"81340:4:19","nodeType":"YulLiteral","src":"81340:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"81334:5:19","nodeType":"YulIdentifier","src":"81334:5:19"},"nativeSrc":"81334:11:19","nodeType":"YulFunctionCall","src":"81334:11:19"},"variableNames":[{"name":"m3","nativeSrc":"81328:2:19","nodeType":"YulIdentifier","src":"81328:2:19"}]},{"nativeSrc":"81358:17:19","nodeType":"YulAssignment","src":"81358:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"81370:4:19","nodeType":"YulLiteral","src":"81370:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"81364:5:19","nodeType":"YulIdentifier","src":"81364:5:19"},"nativeSrc":"81364:11:19","nodeType":"YulFunctionCall","src":"81364:11:19"},"variableNames":[{"name":"m4","nativeSrc":"81358:2:19","nodeType":"YulIdentifier","src":"81358:2:19"}]},{"nativeSrc":"81388:17:19","nodeType":"YulAssignment","src":"81388:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"81400:4:19","nodeType":"YulLiteral","src":"81400:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"81394:5:19","nodeType":"YulIdentifier","src":"81394:5:19"},"nativeSrc":"81394:11:19","nodeType":"YulFunctionCall","src":"81394:11:19"},"variableNames":[{"name":"m5","nativeSrc":"81388:2:19","nodeType":"YulIdentifier","src":"81388:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81480:4:19","nodeType":"YulLiteral","src":"81480:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"81486:10:19","nodeType":"YulLiteral","src":"81486:10:19","type":"","value":"0xca7733b1"}],"functionName":{"name":"mstore","nativeSrc":"81473:6:19","nodeType":"YulIdentifier","src":"81473:6:19"},"nativeSrc":"81473:24:19","nodeType":"YulFunctionCall","src":"81473:24:19"},"nativeSrc":"81473:24:19","nodeType":"YulExpressionStatement","src":"81473:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81517:4:19","nodeType":"YulLiteral","src":"81517:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"81523:4:19","nodeType":"YulLiteral","src":"81523:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"81510:6:19","nodeType":"YulIdentifier","src":"81510:6:19"},"nativeSrc":"81510:18:19","nodeType":"YulFunctionCall","src":"81510:18:19"},"nativeSrc":"81510:18:19","nodeType":"YulExpressionStatement","src":"81510:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81548:4:19","nodeType":"YulLiteral","src":"81548:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"81554:2:19","nodeType":"YulIdentifier","src":"81554:2:19"}],"functionName":{"name":"mstore","nativeSrc":"81541:6:19","nodeType":"YulIdentifier","src":"81541:6:19"},"nativeSrc":"81541:16:19","nodeType":"YulFunctionCall","src":"81541:16:19"},"nativeSrc":"81541:16:19","nodeType":"YulExpressionStatement","src":"81541:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81577:4:19","nodeType":"YulLiteral","src":"81577:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"81583:2:19","nodeType":"YulIdentifier","src":"81583:2:19"}],"functionName":{"name":"mstore","nativeSrc":"81570:6:19","nodeType":"YulIdentifier","src":"81570:6:19"},"nativeSrc":"81570:16:19","nodeType":"YulFunctionCall","src":"81570:16:19"},"nativeSrc":"81570:16:19","nodeType":"YulExpressionStatement","src":"81570:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81611:4:19","nodeType":"YulLiteral","src":"81611:4:19","type":"","value":"0x80"},{"name":"p0","nativeSrc":"81617:2:19","nodeType":"YulIdentifier","src":"81617:2:19"}],"functionName":{"name":"writeString","nativeSrc":"81599:11:19","nodeType":"YulIdentifier","src":"81599:11:19"},"nativeSrc":"81599:21:19","nodeType":"YulFunctionCall","src":"81599:21:19"},"nativeSrc":"81599:21:19","nodeType":"YulExpressionStatement","src":"81599:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28847,"isOffset":false,"isSlot":false,"src":"81238:2:19","valueSize":1},{"declaration":28850,"isOffset":false,"isSlot":false,"src":"81268:2:19","valueSize":1},{"declaration":28853,"isOffset":false,"isSlot":false,"src":"81298:2:19","valueSize":1},{"declaration":28856,"isOffset":false,"isSlot":false,"src":"81328:2:19","valueSize":1},{"declaration":28859,"isOffset":false,"isSlot":false,"src":"81358:2:19","valueSize":1},{"declaration":28862,"isOffset":false,"isSlot":false,"src":"81388:2:19","valueSize":1},{"declaration":28839,"isOffset":false,"isSlot":false,"src":"81617:2:19","valueSize":1},{"declaration":28841,"isOffset":false,"isSlot":false,"src":"81554:2:19","valueSize":1},{"declaration":28843,"isOffset":false,"isSlot":false,"src":"81583:2:19","valueSize":1}],"id":28864,"nodeType":"InlineAssembly","src":"80860:770:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"81655:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"81661:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28865,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"81639:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"81639:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28869,"nodeType":"ExpressionStatement","src":"81639:27:19"},{"AST":{"nativeSrc":"81728:185:19","nodeType":"YulBlock","src":"81728:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"81749:4:19","nodeType":"YulLiteral","src":"81749:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"81755:2:19","nodeType":"YulIdentifier","src":"81755:2:19"}],"functionName":{"name":"mstore","nativeSrc":"81742:6:19","nodeType":"YulIdentifier","src":"81742:6:19"},"nativeSrc":"81742:16:19","nodeType":"YulFunctionCall","src":"81742:16:19"},"nativeSrc":"81742:16:19","nodeType":"YulExpressionStatement","src":"81742:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81778:4:19","nodeType":"YulLiteral","src":"81778:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"81784:2:19","nodeType":"YulIdentifier","src":"81784:2:19"}],"functionName":{"name":"mstore","nativeSrc":"81771:6:19","nodeType":"YulIdentifier","src":"81771:6:19"},"nativeSrc":"81771:16:19","nodeType":"YulFunctionCall","src":"81771:16:19"},"nativeSrc":"81771:16:19","nodeType":"YulExpressionStatement","src":"81771:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81807:4:19","nodeType":"YulLiteral","src":"81807:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"81813:2:19","nodeType":"YulIdentifier","src":"81813:2:19"}],"functionName":{"name":"mstore","nativeSrc":"81800:6:19","nodeType":"YulIdentifier","src":"81800:6:19"},"nativeSrc":"81800:16:19","nodeType":"YulFunctionCall","src":"81800:16:19"},"nativeSrc":"81800:16:19","nodeType":"YulExpressionStatement","src":"81800:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81836:4:19","nodeType":"YulLiteral","src":"81836:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"81842:2:19","nodeType":"YulIdentifier","src":"81842:2:19"}],"functionName":{"name":"mstore","nativeSrc":"81829:6:19","nodeType":"YulIdentifier","src":"81829:6:19"},"nativeSrc":"81829:16:19","nodeType":"YulFunctionCall","src":"81829:16:19"},"nativeSrc":"81829:16:19","nodeType":"YulExpressionStatement","src":"81829:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81865:4:19","nodeType":"YulLiteral","src":"81865:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"81871:2:19","nodeType":"YulIdentifier","src":"81871:2:19"}],"functionName":{"name":"mstore","nativeSrc":"81858:6:19","nodeType":"YulIdentifier","src":"81858:6:19"},"nativeSrc":"81858:16:19","nodeType":"YulFunctionCall","src":"81858:16:19"},"nativeSrc":"81858:16:19","nodeType":"YulExpressionStatement","src":"81858:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"81894:4:19","nodeType":"YulLiteral","src":"81894:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"81900:2:19","nodeType":"YulIdentifier","src":"81900:2:19"}],"functionName":{"name":"mstore","nativeSrc":"81887:6:19","nodeType":"YulIdentifier","src":"81887:6:19"},"nativeSrc":"81887:16:19","nodeType":"YulFunctionCall","src":"81887:16:19"},"nativeSrc":"81887:16:19","nodeType":"YulExpressionStatement","src":"81887:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28847,"isOffset":false,"isSlot":false,"src":"81755:2:19","valueSize":1},{"declaration":28850,"isOffset":false,"isSlot":false,"src":"81784:2:19","valueSize":1},{"declaration":28853,"isOffset":false,"isSlot":false,"src":"81813:2:19","valueSize":1},{"declaration":28856,"isOffset":false,"isSlot":false,"src":"81842:2:19","valueSize":1},{"declaration":28859,"isOffset":false,"isSlot":false,"src":"81871:2:19","valueSize":1},{"declaration":28862,"isOffset":false,"isSlot":false,"src":"81900:2:19","valueSize":1}],"id":28870,"nodeType":"InlineAssembly","src":"81719:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"80636:3:19","parameters":{"id":28844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28839,"mutability":"mutable","name":"p0","nameLocation":"80648:2:19","nodeType":"VariableDeclaration","scope":28872,"src":"80640:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28838,"name":"bytes32","nodeType":"ElementaryTypeName","src":"80640:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28841,"mutability":"mutable","name":"p1","nameLocation":"80660:2:19","nodeType":"VariableDeclaration","scope":28872,"src":"80652:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28840,"name":"uint256","nodeType":"ElementaryTypeName","src":"80652:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28843,"mutability":"mutable","name":"p2","nameLocation":"80669:2:19","nodeType":"VariableDeclaration","scope":28872,"src":"80664:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28842,"name":"bool","nodeType":"ElementaryTypeName","src":"80664:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"80639:33:19"},"returnParameters":{"id":28845,"nodeType":"ParameterList","parameters":[],"src":"80687:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28907,"nodeType":"FunctionDefinition","src":"81925:1298:19","nodes":[],"body":{"id":28906,"nodeType":"Block","src":"81988:1235:19","nodes":[],"statements":[{"assignments":[28882],"declarations":[{"constant":false,"id":28882,"mutability":"mutable","name":"m0","nameLocation":"82006:2:19","nodeType":"VariableDeclaration","scope":28906,"src":"81998:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28881,"name":"bytes32","nodeType":"ElementaryTypeName","src":"81998:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28883,"nodeType":"VariableDeclarationStatement","src":"81998:10:19"},{"assignments":[28885],"declarations":[{"constant":false,"id":28885,"mutability":"mutable","name":"m1","nameLocation":"82026:2:19","nodeType":"VariableDeclaration","scope":28906,"src":"82018:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28884,"name":"bytes32","nodeType":"ElementaryTypeName","src":"82018:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28886,"nodeType":"VariableDeclarationStatement","src":"82018:10:19"},{"assignments":[28888],"declarations":[{"constant":false,"id":28888,"mutability":"mutable","name":"m2","nameLocation":"82046:2:19","nodeType":"VariableDeclaration","scope":28906,"src":"82038:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28887,"name":"bytes32","nodeType":"ElementaryTypeName","src":"82038:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28889,"nodeType":"VariableDeclarationStatement","src":"82038:10:19"},{"assignments":[28891],"declarations":[{"constant":false,"id":28891,"mutability":"mutable","name":"m3","nameLocation":"82066:2:19","nodeType":"VariableDeclaration","scope":28906,"src":"82058:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28890,"name":"bytes32","nodeType":"ElementaryTypeName","src":"82058:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28892,"nodeType":"VariableDeclarationStatement","src":"82058:10:19"},{"assignments":[28894],"declarations":[{"constant":false,"id":28894,"mutability":"mutable","name":"m4","nameLocation":"82086:2:19","nodeType":"VariableDeclaration","scope":28906,"src":"82078:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28893,"name":"bytes32","nodeType":"ElementaryTypeName","src":"82078:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28895,"nodeType":"VariableDeclarationStatement","src":"82078:10:19"},{"assignments":[28897],"declarations":[{"constant":false,"id":28897,"mutability":"mutable","name":"m5","nameLocation":"82106:2:19","nodeType":"VariableDeclaration","scope":28906,"src":"82098:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28896,"name":"bytes32","nodeType":"ElementaryTypeName","src":"82098:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28898,"nodeType":"VariableDeclarationStatement","src":"82098:10:19"},{"AST":{"nativeSrc":"82170:764:19","nodeType":"YulBlock","src":"82170:764:19","statements":[{"body":{"nativeSrc":"82213:313:19","nodeType":"YulBlock","src":"82213:313:19","statements":[{"nativeSrc":"82231:15:19","nodeType":"YulVariableDeclaration","src":"82231:15:19","value":{"kind":"number","nativeSrc":"82245:1:19","nodeType":"YulLiteral","src":"82245:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"82235:6:19","nodeType":"YulTypedName","src":"82235:6:19","type":""}]},{"body":{"nativeSrc":"82316:40:19","nodeType":"YulBlock","src":"82316:40:19","statements":[{"body":{"nativeSrc":"82345:9:19","nodeType":"YulBlock","src":"82345:9:19","statements":[{"nativeSrc":"82347:5:19","nodeType":"YulBreak","src":"82347:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"82333:6:19","nodeType":"YulIdentifier","src":"82333:6:19"},{"name":"w","nativeSrc":"82341:1:19","nodeType":"YulIdentifier","src":"82341:1:19"}],"functionName":{"name":"byte","nativeSrc":"82328:4:19","nodeType":"YulIdentifier","src":"82328:4:19"},"nativeSrc":"82328:15:19","nodeType":"YulFunctionCall","src":"82328:15:19"}],"functionName":{"name":"iszero","nativeSrc":"82321:6:19","nodeType":"YulIdentifier","src":"82321:6:19"},"nativeSrc":"82321:23:19","nodeType":"YulFunctionCall","src":"82321:23:19"},"nativeSrc":"82318:36:19","nodeType":"YulIf","src":"82318:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"82273:6:19","nodeType":"YulIdentifier","src":"82273:6:19"},{"kind":"number","nativeSrc":"82281:4:19","nodeType":"YulLiteral","src":"82281:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"82270:2:19","nodeType":"YulIdentifier","src":"82270:2:19"},"nativeSrc":"82270:16:19","nodeType":"YulFunctionCall","src":"82270:16:19"},"nativeSrc":"82263:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"82287:28:19","nodeType":"YulBlock","src":"82287:28:19","statements":[{"nativeSrc":"82289:24:19","nodeType":"YulAssignment","src":"82289:24:19","value":{"arguments":[{"name":"length","nativeSrc":"82303:6:19","nodeType":"YulIdentifier","src":"82303:6:19"},{"kind":"number","nativeSrc":"82311:1:19","nodeType":"YulLiteral","src":"82311:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"82299:3:19","nodeType":"YulIdentifier","src":"82299:3:19"},"nativeSrc":"82299:14:19","nodeType":"YulFunctionCall","src":"82299:14:19"},"variableNames":[{"name":"length","nativeSrc":"82289:6:19","nodeType":"YulIdentifier","src":"82289:6:19"}]}]},"pre":{"nativeSrc":"82267:2:19","nodeType":"YulBlock","src":"82267:2:19","statements":[]},"src":"82263:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"82380:3:19","nodeType":"YulIdentifier","src":"82380:3:19"},{"name":"length","nativeSrc":"82385:6:19","nodeType":"YulIdentifier","src":"82385:6:19"}],"functionName":{"name":"mstore","nativeSrc":"82373:6:19","nodeType":"YulIdentifier","src":"82373:6:19"},"nativeSrc":"82373:19:19","nodeType":"YulFunctionCall","src":"82373:19:19"},"nativeSrc":"82373:19:19","nodeType":"YulExpressionStatement","src":"82373:19:19"},{"nativeSrc":"82409:37:19","nodeType":"YulVariableDeclaration","src":"82409:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"82426:3:19","nodeType":"YulLiteral","src":"82426:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"82435:1:19","nodeType":"YulLiteral","src":"82435:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"82438:6:19","nodeType":"YulIdentifier","src":"82438:6:19"}],"functionName":{"name":"shl","nativeSrc":"82431:3:19","nodeType":"YulIdentifier","src":"82431:3:19"},"nativeSrc":"82431:14:19","nodeType":"YulFunctionCall","src":"82431:14:19"}],"functionName":{"name":"sub","nativeSrc":"82422:3:19","nodeType":"YulIdentifier","src":"82422:3:19"},"nativeSrc":"82422:24:19","nodeType":"YulFunctionCall","src":"82422:24:19"},"variables":[{"name":"shift","nativeSrc":"82413:5:19","nodeType":"YulTypedName","src":"82413:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"82474:3:19","nodeType":"YulIdentifier","src":"82474:3:19"},{"kind":"number","nativeSrc":"82479:4:19","nodeType":"YulLiteral","src":"82479:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"82470:3:19","nodeType":"YulIdentifier","src":"82470:3:19"},"nativeSrc":"82470:14:19","nodeType":"YulFunctionCall","src":"82470:14:19"},{"arguments":[{"name":"shift","nativeSrc":"82490:5:19","nodeType":"YulIdentifier","src":"82490:5:19"},{"arguments":[{"name":"shift","nativeSrc":"82501:5:19","nodeType":"YulIdentifier","src":"82501:5:19"},{"name":"w","nativeSrc":"82508:1:19","nodeType":"YulIdentifier","src":"82508:1:19"}],"functionName":{"name":"shr","nativeSrc":"82497:3:19","nodeType":"YulIdentifier","src":"82497:3:19"},"nativeSrc":"82497:13:19","nodeType":"YulFunctionCall","src":"82497:13:19"}],"functionName":{"name":"shl","nativeSrc":"82486:3:19","nodeType":"YulIdentifier","src":"82486:3:19"},"nativeSrc":"82486:25:19","nodeType":"YulFunctionCall","src":"82486:25:19"}],"functionName":{"name":"mstore","nativeSrc":"82463:6:19","nodeType":"YulIdentifier","src":"82463:6:19"},"nativeSrc":"82463:49:19","nodeType":"YulFunctionCall","src":"82463:49:19"},"nativeSrc":"82463:49:19","nodeType":"YulExpressionStatement","src":"82463:49:19"}]},"name":"writeString","nativeSrc":"82184:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"82205:3:19","nodeType":"YulTypedName","src":"82205:3:19","type":""},{"name":"w","nativeSrc":"82210:1:19","nodeType":"YulTypedName","src":"82210:1:19","type":""}],"src":"82184:342:19"},{"nativeSrc":"82539:17:19","nodeType":"YulAssignment","src":"82539:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"82551:4:19","nodeType":"YulLiteral","src":"82551:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"82545:5:19","nodeType":"YulIdentifier","src":"82545:5:19"},"nativeSrc":"82545:11:19","nodeType":"YulFunctionCall","src":"82545:11:19"},"variableNames":[{"name":"m0","nativeSrc":"82539:2:19","nodeType":"YulIdentifier","src":"82539:2:19"}]},{"nativeSrc":"82569:17:19","nodeType":"YulAssignment","src":"82569:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"82581:4:19","nodeType":"YulLiteral","src":"82581:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"82575:5:19","nodeType":"YulIdentifier","src":"82575:5:19"},"nativeSrc":"82575:11:19","nodeType":"YulFunctionCall","src":"82575:11:19"},"variableNames":[{"name":"m1","nativeSrc":"82569:2:19","nodeType":"YulIdentifier","src":"82569:2:19"}]},{"nativeSrc":"82599:17:19","nodeType":"YulAssignment","src":"82599:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"82611:4:19","nodeType":"YulLiteral","src":"82611:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"82605:5:19","nodeType":"YulIdentifier","src":"82605:5:19"},"nativeSrc":"82605:11:19","nodeType":"YulFunctionCall","src":"82605:11:19"},"variableNames":[{"name":"m2","nativeSrc":"82599:2:19","nodeType":"YulIdentifier","src":"82599:2:19"}]},{"nativeSrc":"82629:17:19","nodeType":"YulAssignment","src":"82629:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"82641:4:19","nodeType":"YulLiteral","src":"82641:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"82635:5:19","nodeType":"YulIdentifier","src":"82635:5:19"},"nativeSrc":"82635:11:19","nodeType":"YulFunctionCall","src":"82635:11:19"},"variableNames":[{"name":"m3","nativeSrc":"82629:2:19","nodeType":"YulIdentifier","src":"82629:2:19"}]},{"nativeSrc":"82659:17:19","nodeType":"YulAssignment","src":"82659:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"82671:4:19","nodeType":"YulLiteral","src":"82671:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"82665:5:19","nodeType":"YulIdentifier","src":"82665:5:19"},"nativeSrc":"82665:11:19","nodeType":"YulFunctionCall","src":"82665:11:19"},"variableNames":[{"name":"m4","nativeSrc":"82659:2:19","nodeType":"YulIdentifier","src":"82659:2:19"}]},{"nativeSrc":"82689:17:19","nodeType":"YulAssignment","src":"82689:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"82701:4:19","nodeType":"YulLiteral","src":"82701:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"82695:5:19","nodeType":"YulIdentifier","src":"82695:5:19"},"nativeSrc":"82695:11:19","nodeType":"YulFunctionCall","src":"82695:11:19"},"variableNames":[{"name":"m5","nativeSrc":"82689:2:19","nodeType":"YulIdentifier","src":"82689:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"82784:4:19","nodeType":"YulLiteral","src":"82784:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"82790:10:19","nodeType":"YulLiteral","src":"82790:10:19","type":"","value":"0xca47c4eb"}],"functionName":{"name":"mstore","nativeSrc":"82777:6:19","nodeType":"YulIdentifier","src":"82777:6:19"},"nativeSrc":"82777:24:19","nodeType":"YulFunctionCall","src":"82777:24:19"},"nativeSrc":"82777:24:19","nodeType":"YulExpressionStatement","src":"82777:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"82821:4:19","nodeType":"YulLiteral","src":"82821:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"82827:4:19","nodeType":"YulLiteral","src":"82827:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"82814:6:19","nodeType":"YulIdentifier","src":"82814:6:19"},"nativeSrc":"82814:18:19","nodeType":"YulFunctionCall","src":"82814:18:19"},"nativeSrc":"82814:18:19","nodeType":"YulExpressionStatement","src":"82814:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"82852:4:19","nodeType":"YulLiteral","src":"82852:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"82858:2:19","nodeType":"YulIdentifier","src":"82858:2:19"}],"functionName":{"name":"mstore","nativeSrc":"82845:6:19","nodeType":"YulIdentifier","src":"82845:6:19"},"nativeSrc":"82845:16:19","nodeType":"YulFunctionCall","src":"82845:16:19"},"nativeSrc":"82845:16:19","nodeType":"YulExpressionStatement","src":"82845:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"82881:4:19","nodeType":"YulLiteral","src":"82881:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"82887:2:19","nodeType":"YulIdentifier","src":"82887:2:19"}],"functionName":{"name":"mstore","nativeSrc":"82874:6:19","nodeType":"YulIdentifier","src":"82874:6:19"},"nativeSrc":"82874:16:19","nodeType":"YulFunctionCall","src":"82874:16:19"},"nativeSrc":"82874:16:19","nodeType":"YulExpressionStatement","src":"82874:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"82915:4:19","nodeType":"YulLiteral","src":"82915:4:19","type":"","value":"0x80"},{"name":"p0","nativeSrc":"82921:2:19","nodeType":"YulIdentifier","src":"82921:2:19"}],"functionName":{"name":"writeString","nativeSrc":"82903:11:19","nodeType":"YulIdentifier","src":"82903:11:19"},"nativeSrc":"82903:21:19","nodeType":"YulFunctionCall","src":"82903:21:19"},"nativeSrc":"82903:21:19","nodeType":"YulExpressionStatement","src":"82903:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28882,"isOffset":false,"isSlot":false,"src":"82539:2:19","valueSize":1},{"declaration":28885,"isOffset":false,"isSlot":false,"src":"82569:2:19","valueSize":1},{"declaration":28888,"isOffset":false,"isSlot":false,"src":"82599:2:19","valueSize":1},{"declaration":28891,"isOffset":false,"isSlot":false,"src":"82629:2:19","valueSize":1},{"declaration":28894,"isOffset":false,"isSlot":false,"src":"82659:2:19","valueSize":1},{"declaration":28897,"isOffset":false,"isSlot":false,"src":"82689:2:19","valueSize":1},{"declaration":28874,"isOffset":false,"isSlot":false,"src":"82921:2:19","valueSize":1},{"declaration":28876,"isOffset":false,"isSlot":false,"src":"82858:2:19","valueSize":1},{"declaration":28878,"isOffset":false,"isSlot":false,"src":"82887:2:19","valueSize":1}],"id":28899,"nodeType":"InlineAssembly","src":"82161:773:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"82959:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786134","id":28902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"82965:4:19","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"0xa4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"}],"id":28900,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"82943:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"82943:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28904,"nodeType":"ExpressionStatement","src":"82943:27:19"},{"AST":{"nativeSrc":"83032:185:19","nodeType":"YulBlock","src":"83032:185:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"83053:4:19","nodeType":"YulLiteral","src":"83053:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"83059:2:19","nodeType":"YulIdentifier","src":"83059:2:19"}],"functionName":{"name":"mstore","nativeSrc":"83046:6:19","nodeType":"YulIdentifier","src":"83046:6:19"},"nativeSrc":"83046:16:19","nodeType":"YulFunctionCall","src":"83046:16:19"},"nativeSrc":"83046:16:19","nodeType":"YulExpressionStatement","src":"83046:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"83082:4:19","nodeType":"YulLiteral","src":"83082:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"83088:2:19","nodeType":"YulIdentifier","src":"83088:2:19"}],"functionName":{"name":"mstore","nativeSrc":"83075:6:19","nodeType":"YulIdentifier","src":"83075:6:19"},"nativeSrc":"83075:16:19","nodeType":"YulFunctionCall","src":"83075:16:19"},"nativeSrc":"83075:16:19","nodeType":"YulExpressionStatement","src":"83075:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"83111:4:19","nodeType":"YulLiteral","src":"83111:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"83117:2:19","nodeType":"YulIdentifier","src":"83117:2:19"}],"functionName":{"name":"mstore","nativeSrc":"83104:6:19","nodeType":"YulIdentifier","src":"83104:6:19"},"nativeSrc":"83104:16:19","nodeType":"YulFunctionCall","src":"83104:16:19"},"nativeSrc":"83104:16:19","nodeType":"YulExpressionStatement","src":"83104:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"83140:4:19","nodeType":"YulLiteral","src":"83140:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"83146:2:19","nodeType":"YulIdentifier","src":"83146:2:19"}],"functionName":{"name":"mstore","nativeSrc":"83133:6:19","nodeType":"YulIdentifier","src":"83133:6:19"},"nativeSrc":"83133:16:19","nodeType":"YulFunctionCall","src":"83133:16:19"},"nativeSrc":"83133:16:19","nodeType":"YulExpressionStatement","src":"83133:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"83169:4:19","nodeType":"YulLiteral","src":"83169:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"83175:2:19","nodeType":"YulIdentifier","src":"83175:2:19"}],"functionName":{"name":"mstore","nativeSrc":"83162:6:19","nodeType":"YulIdentifier","src":"83162:6:19"},"nativeSrc":"83162:16:19","nodeType":"YulFunctionCall","src":"83162:16:19"},"nativeSrc":"83162:16:19","nodeType":"YulExpressionStatement","src":"83162:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"83198:4:19","nodeType":"YulLiteral","src":"83198:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"83204:2:19","nodeType":"YulIdentifier","src":"83204:2:19"}],"functionName":{"name":"mstore","nativeSrc":"83191:6:19","nodeType":"YulIdentifier","src":"83191:6:19"},"nativeSrc":"83191:16:19","nodeType":"YulFunctionCall","src":"83191:16:19"},"nativeSrc":"83191:16:19","nodeType":"YulExpressionStatement","src":"83191:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28882,"isOffset":false,"isSlot":false,"src":"83059:2:19","valueSize":1},{"declaration":28885,"isOffset":false,"isSlot":false,"src":"83088:2:19","valueSize":1},{"declaration":28888,"isOffset":false,"isSlot":false,"src":"83117:2:19","valueSize":1},{"declaration":28891,"isOffset":false,"isSlot":false,"src":"83146:2:19","valueSize":1},{"declaration":28894,"isOffset":false,"isSlot":false,"src":"83175:2:19","valueSize":1},{"declaration":28897,"isOffset":false,"isSlot":false,"src":"83204:2:19","valueSize":1}],"id":28905,"nodeType":"InlineAssembly","src":"83023:194:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"81934:3:19","parameters":{"id":28879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28874,"mutability":"mutable","name":"p0","nameLocation":"81946:2:19","nodeType":"VariableDeclaration","scope":28907,"src":"81938:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28873,"name":"bytes32","nodeType":"ElementaryTypeName","src":"81938:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28876,"mutability":"mutable","name":"p1","nameLocation":"81958:2:19","nodeType":"VariableDeclaration","scope":28907,"src":"81950:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28875,"name":"uint256","nodeType":"ElementaryTypeName","src":"81950:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28878,"mutability":"mutable","name":"p2","nameLocation":"81970:2:19","nodeType":"VariableDeclaration","scope":28907,"src":"81962:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28877,"name":"uint256","nodeType":"ElementaryTypeName","src":"81962:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"81937:36:19"},"returnParameters":{"id":28880,"nodeType":"ParameterList","parameters":[],"src":"81988:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28948,"nodeType":"FunctionDefinition","src":"83229:1491:19","nodes":[],"body":{"id":28947,"nodeType":"Block","src":"83292:1428:19","nodes":[],"statements":[{"assignments":[28917],"declarations":[{"constant":false,"id":28917,"mutability":"mutable","name":"m0","nameLocation":"83310:2:19","nodeType":"VariableDeclaration","scope":28947,"src":"83302:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28916,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83302:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28918,"nodeType":"VariableDeclarationStatement","src":"83302:10:19"},{"assignments":[28920],"declarations":[{"constant":false,"id":28920,"mutability":"mutable","name":"m1","nameLocation":"83330:2:19","nodeType":"VariableDeclaration","scope":28947,"src":"83322:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28919,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83322:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28921,"nodeType":"VariableDeclarationStatement","src":"83322:10:19"},{"assignments":[28923],"declarations":[{"constant":false,"id":28923,"mutability":"mutable","name":"m2","nameLocation":"83350:2:19","nodeType":"VariableDeclaration","scope":28947,"src":"83342:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28922,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83342:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28924,"nodeType":"VariableDeclarationStatement","src":"83342:10:19"},{"assignments":[28926],"declarations":[{"constant":false,"id":28926,"mutability":"mutable","name":"m3","nameLocation":"83370:2:19","nodeType":"VariableDeclaration","scope":28947,"src":"83362:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28925,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83362:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28927,"nodeType":"VariableDeclarationStatement","src":"83362:10:19"},{"assignments":[28929],"declarations":[{"constant":false,"id":28929,"mutability":"mutable","name":"m4","nameLocation":"83390:2:19","nodeType":"VariableDeclaration","scope":28947,"src":"83382:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28928,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83382:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28930,"nodeType":"VariableDeclarationStatement","src":"83382:10:19"},{"assignments":[28932],"declarations":[{"constant":false,"id":28932,"mutability":"mutable","name":"m5","nameLocation":"83410:2:19","nodeType":"VariableDeclaration","scope":28947,"src":"83402:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28931,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83402:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28933,"nodeType":"VariableDeclarationStatement","src":"83402:10:19"},{"assignments":[28935],"declarations":[{"constant":false,"id":28935,"mutability":"mutable","name":"m6","nameLocation":"83430:2:19","nodeType":"VariableDeclaration","scope":28947,"src":"83422:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28934,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83422:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28936,"nodeType":"VariableDeclarationStatement","src":"83422:10:19"},{"assignments":[28938],"declarations":[{"constant":false,"id":28938,"mutability":"mutable","name":"m7","nameLocation":"83450:2:19","nodeType":"VariableDeclaration","scope":28947,"src":"83442:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28937,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83442:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28939,"nodeType":"VariableDeclarationStatement","src":"83442:10:19"},{"AST":{"nativeSrc":"83514:859:19","nodeType":"YulBlock","src":"83514:859:19","statements":[{"body":{"nativeSrc":"83557:313:19","nodeType":"YulBlock","src":"83557:313:19","statements":[{"nativeSrc":"83575:15:19","nodeType":"YulVariableDeclaration","src":"83575:15:19","value":{"kind":"number","nativeSrc":"83589:1:19","nodeType":"YulLiteral","src":"83589:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"83579:6:19","nodeType":"YulTypedName","src":"83579:6:19","type":""}]},{"body":{"nativeSrc":"83660:40:19","nodeType":"YulBlock","src":"83660:40:19","statements":[{"body":{"nativeSrc":"83689:9:19","nodeType":"YulBlock","src":"83689:9:19","statements":[{"nativeSrc":"83691:5:19","nodeType":"YulBreak","src":"83691:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"83677:6:19","nodeType":"YulIdentifier","src":"83677:6:19"},{"name":"w","nativeSrc":"83685:1:19","nodeType":"YulIdentifier","src":"83685:1:19"}],"functionName":{"name":"byte","nativeSrc":"83672:4:19","nodeType":"YulIdentifier","src":"83672:4:19"},"nativeSrc":"83672:15:19","nodeType":"YulFunctionCall","src":"83672:15:19"}],"functionName":{"name":"iszero","nativeSrc":"83665:6:19","nodeType":"YulIdentifier","src":"83665:6:19"},"nativeSrc":"83665:23:19","nodeType":"YulFunctionCall","src":"83665:23:19"},"nativeSrc":"83662:36:19","nodeType":"YulIf","src":"83662:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"83617:6:19","nodeType":"YulIdentifier","src":"83617:6:19"},{"kind":"number","nativeSrc":"83625:4:19","nodeType":"YulLiteral","src":"83625:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"83614:2:19","nodeType":"YulIdentifier","src":"83614:2:19"},"nativeSrc":"83614:16:19","nodeType":"YulFunctionCall","src":"83614:16:19"},"nativeSrc":"83607:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"83631:28:19","nodeType":"YulBlock","src":"83631:28:19","statements":[{"nativeSrc":"83633:24:19","nodeType":"YulAssignment","src":"83633:24:19","value":{"arguments":[{"name":"length","nativeSrc":"83647:6:19","nodeType":"YulIdentifier","src":"83647:6:19"},{"kind":"number","nativeSrc":"83655:1:19","nodeType":"YulLiteral","src":"83655:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"83643:3:19","nodeType":"YulIdentifier","src":"83643:3:19"},"nativeSrc":"83643:14:19","nodeType":"YulFunctionCall","src":"83643:14:19"},"variableNames":[{"name":"length","nativeSrc":"83633:6:19","nodeType":"YulIdentifier","src":"83633:6:19"}]}]},"pre":{"nativeSrc":"83611:2:19","nodeType":"YulBlock","src":"83611:2:19","statements":[]},"src":"83607:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"83724:3:19","nodeType":"YulIdentifier","src":"83724:3:19"},{"name":"length","nativeSrc":"83729:6:19","nodeType":"YulIdentifier","src":"83729:6:19"}],"functionName":{"name":"mstore","nativeSrc":"83717:6:19","nodeType":"YulIdentifier","src":"83717:6:19"},"nativeSrc":"83717:19:19","nodeType":"YulFunctionCall","src":"83717:19:19"},"nativeSrc":"83717:19:19","nodeType":"YulExpressionStatement","src":"83717:19:19"},{"nativeSrc":"83753:37:19","nodeType":"YulVariableDeclaration","src":"83753:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"83770:3:19","nodeType":"YulLiteral","src":"83770:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"83779:1:19","nodeType":"YulLiteral","src":"83779:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"83782:6:19","nodeType":"YulIdentifier","src":"83782:6:19"}],"functionName":{"name":"shl","nativeSrc":"83775:3:19","nodeType":"YulIdentifier","src":"83775:3:19"},"nativeSrc":"83775:14:19","nodeType":"YulFunctionCall","src":"83775:14:19"}],"functionName":{"name":"sub","nativeSrc":"83766:3:19","nodeType":"YulIdentifier","src":"83766:3:19"},"nativeSrc":"83766:24:19","nodeType":"YulFunctionCall","src":"83766:24:19"},"variables":[{"name":"shift","nativeSrc":"83757:5:19","nodeType":"YulTypedName","src":"83757:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"83818:3:19","nodeType":"YulIdentifier","src":"83818:3:19"},{"kind":"number","nativeSrc":"83823:4:19","nodeType":"YulLiteral","src":"83823:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"83814:3:19","nodeType":"YulIdentifier","src":"83814:3:19"},"nativeSrc":"83814:14:19","nodeType":"YulFunctionCall","src":"83814:14:19"},{"arguments":[{"name":"shift","nativeSrc":"83834:5:19","nodeType":"YulIdentifier","src":"83834:5:19"},{"arguments":[{"name":"shift","nativeSrc":"83845:5:19","nodeType":"YulIdentifier","src":"83845:5:19"},{"name":"w","nativeSrc":"83852:1:19","nodeType":"YulIdentifier","src":"83852:1:19"}],"functionName":{"name":"shr","nativeSrc":"83841:3:19","nodeType":"YulIdentifier","src":"83841:3:19"},"nativeSrc":"83841:13:19","nodeType":"YulFunctionCall","src":"83841:13:19"}],"functionName":{"name":"shl","nativeSrc":"83830:3:19","nodeType":"YulIdentifier","src":"83830:3:19"},"nativeSrc":"83830:25:19","nodeType":"YulFunctionCall","src":"83830:25:19"}],"functionName":{"name":"mstore","nativeSrc":"83807:6:19","nodeType":"YulIdentifier","src":"83807:6:19"},"nativeSrc":"83807:49:19","nodeType":"YulFunctionCall","src":"83807:49:19"},"nativeSrc":"83807:49:19","nodeType":"YulExpressionStatement","src":"83807:49:19"}]},"name":"writeString","nativeSrc":"83528:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"83549:3:19","nodeType":"YulTypedName","src":"83549:3:19","type":""},{"name":"w","nativeSrc":"83554:1:19","nodeType":"YulTypedName","src":"83554:1:19","type":""}],"src":"83528:342:19"},{"nativeSrc":"83883:17:19","nodeType":"YulAssignment","src":"83883:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"83895:4:19","nodeType":"YulLiteral","src":"83895:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"83889:5:19","nodeType":"YulIdentifier","src":"83889:5:19"},"nativeSrc":"83889:11:19","nodeType":"YulFunctionCall","src":"83889:11:19"},"variableNames":[{"name":"m0","nativeSrc":"83883:2:19","nodeType":"YulIdentifier","src":"83883:2:19"}]},{"nativeSrc":"83913:17:19","nodeType":"YulAssignment","src":"83913:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"83925:4:19","nodeType":"YulLiteral","src":"83925:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"83919:5:19","nodeType":"YulIdentifier","src":"83919:5:19"},"nativeSrc":"83919:11:19","nodeType":"YulFunctionCall","src":"83919:11:19"},"variableNames":[{"name":"m1","nativeSrc":"83913:2:19","nodeType":"YulIdentifier","src":"83913:2:19"}]},{"nativeSrc":"83943:17:19","nodeType":"YulAssignment","src":"83943:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"83955:4:19","nodeType":"YulLiteral","src":"83955:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"83949:5:19","nodeType":"YulIdentifier","src":"83949:5:19"},"nativeSrc":"83949:11:19","nodeType":"YulFunctionCall","src":"83949:11:19"},"variableNames":[{"name":"m2","nativeSrc":"83943:2:19","nodeType":"YulIdentifier","src":"83943:2:19"}]},{"nativeSrc":"83973:17:19","nodeType":"YulAssignment","src":"83973:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"83985:4:19","nodeType":"YulLiteral","src":"83985:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"83979:5:19","nodeType":"YulIdentifier","src":"83979:5:19"},"nativeSrc":"83979:11:19","nodeType":"YulFunctionCall","src":"83979:11:19"},"variableNames":[{"name":"m3","nativeSrc":"83973:2:19","nodeType":"YulIdentifier","src":"83973:2:19"}]},{"nativeSrc":"84003:17:19","nodeType":"YulAssignment","src":"84003:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"84015:4:19","nodeType":"YulLiteral","src":"84015:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"84009:5:19","nodeType":"YulIdentifier","src":"84009:5:19"},"nativeSrc":"84009:11:19","nodeType":"YulFunctionCall","src":"84009:11:19"},"variableNames":[{"name":"m4","nativeSrc":"84003:2:19","nodeType":"YulIdentifier","src":"84003:2:19"}]},{"nativeSrc":"84033:17:19","nodeType":"YulAssignment","src":"84033:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"84045:4:19","nodeType":"YulLiteral","src":"84045:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"84039:5:19","nodeType":"YulIdentifier","src":"84039:5:19"},"nativeSrc":"84039:11:19","nodeType":"YulFunctionCall","src":"84039:11:19"},"variableNames":[{"name":"m5","nativeSrc":"84033:2:19","nodeType":"YulIdentifier","src":"84033:2:19"}]},{"nativeSrc":"84063:17:19","nodeType":"YulAssignment","src":"84063:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"84075:4:19","nodeType":"YulLiteral","src":"84075:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"84069:5:19","nodeType":"YulIdentifier","src":"84069:5:19"},"nativeSrc":"84069:11:19","nodeType":"YulFunctionCall","src":"84069:11:19"},"variableNames":[{"name":"m6","nativeSrc":"84063:2:19","nodeType":"YulIdentifier","src":"84063:2:19"}]},{"nativeSrc":"84093:17:19","nodeType":"YulAssignment","src":"84093:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"84105:4:19","nodeType":"YulLiteral","src":"84105:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"84099:5:19","nodeType":"YulIdentifier","src":"84099:5:19"},"nativeSrc":"84099:11:19","nodeType":"YulFunctionCall","src":"84099:11:19"},"variableNames":[{"name":"m7","nativeSrc":"84093:2:19","nodeType":"YulIdentifier","src":"84093:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84187:4:19","nodeType":"YulLiteral","src":"84187:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"84193:10:19","nodeType":"YulLiteral","src":"84193:10:19","type":"","value":"0x5970e089"}],"functionName":{"name":"mstore","nativeSrc":"84180:6:19","nodeType":"YulIdentifier","src":"84180:6:19"},"nativeSrc":"84180:24:19","nodeType":"YulFunctionCall","src":"84180:24:19"},"nativeSrc":"84180:24:19","nodeType":"YulExpressionStatement","src":"84180:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84224:4:19","nodeType":"YulLiteral","src":"84224:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"84230:4:19","nodeType":"YulLiteral","src":"84230:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"84217:6:19","nodeType":"YulIdentifier","src":"84217:6:19"},"nativeSrc":"84217:18:19","nodeType":"YulFunctionCall","src":"84217:18:19"},"nativeSrc":"84217:18:19","nodeType":"YulExpressionStatement","src":"84217:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84255:4:19","nodeType":"YulLiteral","src":"84255:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"84261:2:19","nodeType":"YulIdentifier","src":"84261:2:19"}],"functionName":{"name":"mstore","nativeSrc":"84248:6:19","nodeType":"YulIdentifier","src":"84248:6:19"},"nativeSrc":"84248:16:19","nodeType":"YulFunctionCall","src":"84248:16:19"},"nativeSrc":"84248:16:19","nodeType":"YulExpressionStatement","src":"84248:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84284:4:19","nodeType":"YulLiteral","src":"84284:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"84290:4:19","nodeType":"YulLiteral","src":"84290:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"84277:6:19","nodeType":"YulIdentifier","src":"84277:6:19"},"nativeSrc":"84277:18:19","nodeType":"YulFunctionCall","src":"84277:18:19"},"nativeSrc":"84277:18:19","nodeType":"YulExpressionStatement","src":"84277:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84320:4:19","nodeType":"YulLiteral","src":"84320:4:19","type":"","value":"0x80"},{"name":"p0","nativeSrc":"84326:2:19","nodeType":"YulIdentifier","src":"84326:2:19"}],"functionName":{"name":"writeString","nativeSrc":"84308:11:19","nodeType":"YulIdentifier","src":"84308:11:19"},"nativeSrc":"84308:21:19","nodeType":"YulFunctionCall","src":"84308:21:19"},"nativeSrc":"84308:21:19","nodeType":"YulExpressionStatement","src":"84308:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84354:4:19","nodeType":"YulLiteral","src":"84354:4:19","type":"","value":"0xc0"},{"name":"p2","nativeSrc":"84360:2:19","nodeType":"YulIdentifier","src":"84360:2:19"}],"functionName":{"name":"writeString","nativeSrc":"84342:11:19","nodeType":"YulIdentifier","src":"84342:11:19"},"nativeSrc":"84342:21:19","nodeType":"YulFunctionCall","src":"84342:21:19"},"nativeSrc":"84342:21:19","nodeType":"YulExpressionStatement","src":"84342:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28917,"isOffset":false,"isSlot":false,"src":"83883:2:19","valueSize":1},{"declaration":28920,"isOffset":false,"isSlot":false,"src":"83913:2:19","valueSize":1},{"declaration":28923,"isOffset":false,"isSlot":false,"src":"83943:2:19","valueSize":1},{"declaration":28926,"isOffset":false,"isSlot":false,"src":"83973:2:19","valueSize":1},{"declaration":28929,"isOffset":false,"isSlot":false,"src":"84003:2:19","valueSize":1},{"declaration":28932,"isOffset":false,"isSlot":false,"src":"84033:2:19","valueSize":1},{"declaration":28935,"isOffset":false,"isSlot":false,"src":"84063:2:19","valueSize":1},{"declaration":28938,"isOffset":false,"isSlot":false,"src":"84093:2:19","valueSize":1},{"declaration":28909,"isOffset":false,"isSlot":false,"src":"84326:2:19","valueSize":1},{"declaration":28911,"isOffset":false,"isSlot":false,"src":"84261:2:19","valueSize":1},{"declaration":28913,"isOffset":false,"isSlot":false,"src":"84360:2:19","valueSize":1}],"id":28940,"nodeType":"InlineAssembly","src":"83505:868:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"84398:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":28943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"84404:4:19","typeDescriptions":{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"},"value":"0xe4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"}],"id":28941,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"84382:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"84382:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28945,"nodeType":"ExpressionStatement","src":"84382:27:19"},{"AST":{"nativeSrc":"84471:243:19","nodeType":"YulBlock","src":"84471:243:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"84492:4:19","nodeType":"YulLiteral","src":"84492:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"84498:2:19","nodeType":"YulIdentifier","src":"84498:2:19"}],"functionName":{"name":"mstore","nativeSrc":"84485:6:19","nodeType":"YulIdentifier","src":"84485:6:19"},"nativeSrc":"84485:16:19","nodeType":"YulFunctionCall","src":"84485:16:19"},"nativeSrc":"84485:16:19","nodeType":"YulExpressionStatement","src":"84485:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84521:4:19","nodeType":"YulLiteral","src":"84521:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"84527:2:19","nodeType":"YulIdentifier","src":"84527:2:19"}],"functionName":{"name":"mstore","nativeSrc":"84514:6:19","nodeType":"YulIdentifier","src":"84514:6:19"},"nativeSrc":"84514:16:19","nodeType":"YulFunctionCall","src":"84514:16:19"},"nativeSrc":"84514:16:19","nodeType":"YulExpressionStatement","src":"84514:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84550:4:19","nodeType":"YulLiteral","src":"84550:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"84556:2:19","nodeType":"YulIdentifier","src":"84556:2:19"}],"functionName":{"name":"mstore","nativeSrc":"84543:6:19","nodeType":"YulIdentifier","src":"84543:6:19"},"nativeSrc":"84543:16:19","nodeType":"YulFunctionCall","src":"84543:16:19"},"nativeSrc":"84543:16:19","nodeType":"YulExpressionStatement","src":"84543:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84579:4:19","nodeType":"YulLiteral","src":"84579:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"84585:2:19","nodeType":"YulIdentifier","src":"84585:2:19"}],"functionName":{"name":"mstore","nativeSrc":"84572:6:19","nodeType":"YulIdentifier","src":"84572:6:19"},"nativeSrc":"84572:16:19","nodeType":"YulFunctionCall","src":"84572:16:19"},"nativeSrc":"84572:16:19","nodeType":"YulExpressionStatement","src":"84572:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84608:4:19","nodeType":"YulLiteral","src":"84608:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"84614:2:19","nodeType":"YulIdentifier","src":"84614:2:19"}],"functionName":{"name":"mstore","nativeSrc":"84601:6:19","nodeType":"YulIdentifier","src":"84601:6:19"},"nativeSrc":"84601:16:19","nodeType":"YulFunctionCall","src":"84601:16:19"},"nativeSrc":"84601:16:19","nodeType":"YulExpressionStatement","src":"84601:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84637:4:19","nodeType":"YulLiteral","src":"84637:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"84643:2:19","nodeType":"YulIdentifier","src":"84643:2:19"}],"functionName":{"name":"mstore","nativeSrc":"84630:6:19","nodeType":"YulIdentifier","src":"84630:6:19"},"nativeSrc":"84630:16:19","nodeType":"YulFunctionCall","src":"84630:16:19"},"nativeSrc":"84630:16:19","nodeType":"YulExpressionStatement","src":"84630:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84666:4:19","nodeType":"YulLiteral","src":"84666:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"84672:2:19","nodeType":"YulIdentifier","src":"84672:2:19"}],"functionName":{"name":"mstore","nativeSrc":"84659:6:19","nodeType":"YulIdentifier","src":"84659:6:19"},"nativeSrc":"84659:16:19","nodeType":"YulFunctionCall","src":"84659:16:19"},"nativeSrc":"84659:16:19","nodeType":"YulExpressionStatement","src":"84659:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"84695:4:19","nodeType":"YulLiteral","src":"84695:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"84701:2:19","nodeType":"YulIdentifier","src":"84701:2:19"}],"functionName":{"name":"mstore","nativeSrc":"84688:6:19","nodeType":"YulIdentifier","src":"84688:6:19"},"nativeSrc":"84688:16:19","nodeType":"YulFunctionCall","src":"84688:16:19"},"nativeSrc":"84688:16:19","nodeType":"YulExpressionStatement","src":"84688:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28917,"isOffset":false,"isSlot":false,"src":"84498:2:19","valueSize":1},{"declaration":28920,"isOffset":false,"isSlot":false,"src":"84527:2:19","valueSize":1},{"declaration":28923,"isOffset":false,"isSlot":false,"src":"84556:2:19","valueSize":1},{"declaration":28926,"isOffset":false,"isSlot":false,"src":"84585:2:19","valueSize":1},{"declaration":28929,"isOffset":false,"isSlot":false,"src":"84614:2:19","valueSize":1},{"declaration":28932,"isOffset":false,"isSlot":false,"src":"84643:2:19","valueSize":1},{"declaration":28935,"isOffset":false,"isSlot":false,"src":"84672:2:19","valueSize":1},{"declaration":28938,"isOffset":false,"isSlot":false,"src":"84701:2:19","valueSize":1}],"id":28946,"nodeType":"InlineAssembly","src":"84462:252:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"83238:3:19","parameters":{"id":28914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28909,"mutability":"mutable","name":"p0","nameLocation":"83250:2:19","nodeType":"VariableDeclaration","scope":28948,"src":"83242:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28908,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83242:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28911,"mutability":"mutable","name":"p1","nameLocation":"83262:2:19","nodeType":"VariableDeclaration","scope":28948,"src":"83254:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28910,"name":"uint256","nodeType":"ElementaryTypeName","src":"83254:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28913,"mutability":"mutable","name":"p2","nameLocation":"83274:2:19","nodeType":"VariableDeclaration","scope":28948,"src":"83266:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28912,"name":"bytes32","nodeType":"ElementaryTypeName","src":"83266:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"83241:36:19"},"returnParameters":{"id":28915,"nodeType":"ParameterList","parameters":[],"src":"83292:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28989,"nodeType":"FunctionDefinition","src":"84726:1491:19","nodes":[],"body":{"id":28988,"nodeType":"Block","src":"84789:1428:19","nodes":[],"statements":[{"assignments":[28958],"declarations":[{"constant":false,"id":28958,"mutability":"mutable","name":"m0","nameLocation":"84807:2:19","nodeType":"VariableDeclaration","scope":28988,"src":"84799:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28957,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84799:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28959,"nodeType":"VariableDeclarationStatement","src":"84799:10:19"},{"assignments":[28961],"declarations":[{"constant":false,"id":28961,"mutability":"mutable","name":"m1","nameLocation":"84827:2:19","nodeType":"VariableDeclaration","scope":28988,"src":"84819:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28960,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84819:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28962,"nodeType":"VariableDeclarationStatement","src":"84819:10:19"},{"assignments":[28964],"declarations":[{"constant":false,"id":28964,"mutability":"mutable","name":"m2","nameLocation":"84847:2:19","nodeType":"VariableDeclaration","scope":28988,"src":"84839:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28963,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84839:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28965,"nodeType":"VariableDeclarationStatement","src":"84839:10:19"},{"assignments":[28967],"declarations":[{"constant":false,"id":28967,"mutability":"mutable","name":"m3","nameLocation":"84867:2:19","nodeType":"VariableDeclaration","scope":28988,"src":"84859:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28966,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84859:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28968,"nodeType":"VariableDeclarationStatement","src":"84859:10:19"},{"assignments":[28970],"declarations":[{"constant":false,"id":28970,"mutability":"mutable","name":"m4","nameLocation":"84887:2:19","nodeType":"VariableDeclaration","scope":28988,"src":"84879:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28969,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84879:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28971,"nodeType":"VariableDeclarationStatement","src":"84879:10:19"},{"assignments":[28973],"declarations":[{"constant":false,"id":28973,"mutability":"mutable","name":"m5","nameLocation":"84907:2:19","nodeType":"VariableDeclaration","scope":28988,"src":"84899:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28972,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84899:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28974,"nodeType":"VariableDeclarationStatement","src":"84899:10:19"},{"assignments":[28976],"declarations":[{"constant":false,"id":28976,"mutability":"mutable","name":"m6","nameLocation":"84927:2:19","nodeType":"VariableDeclaration","scope":28988,"src":"84919:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28975,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84919:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28977,"nodeType":"VariableDeclarationStatement","src":"84919:10:19"},{"assignments":[28979],"declarations":[{"constant":false,"id":28979,"mutability":"mutable","name":"m7","nameLocation":"84947:2:19","nodeType":"VariableDeclaration","scope":28988,"src":"84939:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28978,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84939:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":28980,"nodeType":"VariableDeclarationStatement","src":"84939:10:19"},{"AST":{"nativeSrc":"85011:859:19","nodeType":"YulBlock","src":"85011:859:19","statements":[{"body":{"nativeSrc":"85054:313:19","nodeType":"YulBlock","src":"85054:313:19","statements":[{"nativeSrc":"85072:15:19","nodeType":"YulVariableDeclaration","src":"85072:15:19","value":{"kind":"number","nativeSrc":"85086:1:19","nodeType":"YulLiteral","src":"85086:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"85076:6:19","nodeType":"YulTypedName","src":"85076:6:19","type":""}]},{"body":{"nativeSrc":"85157:40:19","nodeType":"YulBlock","src":"85157:40:19","statements":[{"body":{"nativeSrc":"85186:9:19","nodeType":"YulBlock","src":"85186:9:19","statements":[{"nativeSrc":"85188:5:19","nodeType":"YulBreak","src":"85188:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"85174:6:19","nodeType":"YulIdentifier","src":"85174:6:19"},{"name":"w","nativeSrc":"85182:1:19","nodeType":"YulIdentifier","src":"85182:1:19"}],"functionName":{"name":"byte","nativeSrc":"85169:4:19","nodeType":"YulIdentifier","src":"85169:4:19"},"nativeSrc":"85169:15:19","nodeType":"YulFunctionCall","src":"85169:15:19"}],"functionName":{"name":"iszero","nativeSrc":"85162:6:19","nodeType":"YulIdentifier","src":"85162:6:19"},"nativeSrc":"85162:23:19","nodeType":"YulFunctionCall","src":"85162:23:19"},"nativeSrc":"85159:36:19","nodeType":"YulIf","src":"85159:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"85114:6:19","nodeType":"YulIdentifier","src":"85114:6:19"},{"kind":"number","nativeSrc":"85122:4:19","nodeType":"YulLiteral","src":"85122:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"85111:2:19","nodeType":"YulIdentifier","src":"85111:2:19"},"nativeSrc":"85111:16:19","nodeType":"YulFunctionCall","src":"85111:16:19"},"nativeSrc":"85104:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"85128:28:19","nodeType":"YulBlock","src":"85128:28:19","statements":[{"nativeSrc":"85130:24:19","nodeType":"YulAssignment","src":"85130:24:19","value":{"arguments":[{"name":"length","nativeSrc":"85144:6:19","nodeType":"YulIdentifier","src":"85144:6:19"},{"kind":"number","nativeSrc":"85152:1:19","nodeType":"YulLiteral","src":"85152:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"85140:3:19","nodeType":"YulIdentifier","src":"85140:3:19"},"nativeSrc":"85140:14:19","nodeType":"YulFunctionCall","src":"85140:14:19"},"variableNames":[{"name":"length","nativeSrc":"85130:6:19","nodeType":"YulIdentifier","src":"85130:6:19"}]}]},"pre":{"nativeSrc":"85108:2:19","nodeType":"YulBlock","src":"85108:2:19","statements":[]},"src":"85104:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"85221:3:19","nodeType":"YulIdentifier","src":"85221:3:19"},{"name":"length","nativeSrc":"85226:6:19","nodeType":"YulIdentifier","src":"85226:6:19"}],"functionName":{"name":"mstore","nativeSrc":"85214:6:19","nodeType":"YulIdentifier","src":"85214:6:19"},"nativeSrc":"85214:19:19","nodeType":"YulFunctionCall","src":"85214:19:19"},"nativeSrc":"85214:19:19","nodeType":"YulExpressionStatement","src":"85214:19:19"},{"nativeSrc":"85250:37:19","nodeType":"YulVariableDeclaration","src":"85250:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"85267:3:19","nodeType":"YulLiteral","src":"85267:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"85276:1:19","nodeType":"YulLiteral","src":"85276:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"85279:6:19","nodeType":"YulIdentifier","src":"85279:6:19"}],"functionName":{"name":"shl","nativeSrc":"85272:3:19","nodeType":"YulIdentifier","src":"85272:3:19"},"nativeSrc":"85272:14:19","nodeType":"YulFunctionCall","src":"85272:14:19"}],"functionName":{"name":"sub","nativeSrc":"85263:3:19","nodeType":"YulIdentifier","src":"85263:3:19"},"nativeSrc":"85263:24:19","nodeType":"YulFunctionCall","src":"85263:24:19"},"variables":[{"name":"shift","nativeSrc":"85254:5:19","nodeType":"YulTypedName","src":"85254:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"85315:3:19","nodeType":"YulIdentifier","src":"85315:3:19"},{"kind":"number","nativeSrc":"85320:4:19","nodeType":"YulLiteral","src":"85320:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"85311:3:19","nodeType":"YulIdentifier","src":"85311:3:19"},"nativeSrc":"85311:14:19","nodeType":"YulFunctionCall","src":"85311:14:19"},{"arguments":[{"name":"shift","nativeSrc":"85331:5:19","nodeType":"YulIdentifier","src":"85331:5:19"},{"arguments":[{"name":"shift","nativeSrc":"85342:5:19","nodeType":"YulIdentifier","src":"85342:5:19"},{"name":"w","nativeSrc":"85349:1:19","nodeType":"YulIdentifier","src":"85349:1:19"}],"functionName":{"name":"shr","nativeSrc":"85338:3:19","nodeType":"YulIdentifier","src":"85338:3:19"},"nativeSrc":"85338:13:19","nodeType":"YulFunctionCall","src":"85338:13:19"}],"functionName":{"name":"shl","nativeSrc":"85327:3:19","nodeType":"YulIdentifier","src":"85327:3:19"},"nativeSrc":"85327:25:19","nodeType":"YulFunctionCall","src":"85327:25:19"}],"functionName":{"name":"mstore","nativeSrc":"85304:6:19","nodeType":"YulIdentifier","src":"85304:6:19"},"nativeSrc":"85304:49:19","nodeType":"YulFunctionCall","src":"85304:49:19"},"nativeSrc":"85304:49:19","nodeType":"YulExpressionStatement","src":"85304:49:19"}]},"name":"writeString","nativeSrc":"85025:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"85046:3:19","nodeType":"YulTypedName","src":"85046:3:19","type":""},{"name":"w","nativeSrc":"85051:1:19","nodeType":"YulTypedName","src":"85051:1:19","type":""}],"src":"85025:342:19"},{"nativeSrc":"85380:17:19","nodeType":"YulAssignment","src":"85380:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"85392:4:19","nodeType":"YulLiteral","src":"85392:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"85386:5:19","nodeType":"YulIdentifier","src":"85386:5:19"},"nativeSrc":"85386:11:19","nodeType":"YulFunctionCall","src":"85386:11:19"},"variableNames":[{"name":"m0","nativeSrc":"85380:2:19","nodeType":"YulIdentifier","src":"85380:2:19"}]},{"nativeSrc":"85410:17:19","nodeType":"YulAssignment","src":"85410:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"85422:4:19","nodeType":"YulLiteral","src":"85422:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"85416:5:19","nodeType":"YulIdentifier","src":"85416:5:19"},"nativeSrc":"85416:11:19","nodeType":"YulFunctionCall","src":"85416:11:19"},"variableNames":[{"name":"m1","nativeSrc":"85410:2:19","nodeType":"YulIdentifier","src":"85410:2:19"}]},{"nativeSrc":"85440:17:19","nodeType":"YulAssignment","src":"85440:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"85452:4:19","nodeType":"YulLiteral","src":"85452:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"85446:5:19","nodeType":"YulIdentifier","src":"85446:5:19"},"nativeSrc":"85446:11:19","nodeType":"YulFunctionCall","src":"85446:11:19"},"variableNames":[{"name":"m2","nativeSrc":"85440:2:19","nodeType":"YulIdentifier","src":"85440:2:19"}]},{"nativeSrc":"85470:17:19","nodeType":"YulAssignment","src":"85470:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"85482:4:19","nodeType":"YulLiteral","src":"85482:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"85476:5:19","nodeType":"YulIdentifier","src":"85476:5:19"},"nativeSrc":"85476:11:19","nodeType":"YulFunctionCall","src":"85476:11:19"},"variableNames":[{"name":"m3","nativeSrc":"85470:2:19","nodeType":"YulIdentifier","src":"85470:2:19"}]},{"nativeSrc":"85500:17:19","nodeType":"YulAssignment","src":"85500:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"85512:4:19","nodeType":"YulLiteral","src":"85512:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"85506:5:19","nodeType":"YulIdentifier","src":"85506:5:19"},"nativeSrc":"85506:11:19","nodeType":"YulFunctionCall","src":"85506:11:19"},"variableNames":[{"name":"m4","nativeSrc":"85500:2:19","nodeType":"YulIdentifier","src":"85500:2:19"}]},{"nativeSrc":"85530:17:19","nodeType":"YulAssignment","src":"85530:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"85542:4:19","nodeType":"YulLiteral","src":"85542:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"85536:5:19","nodeType":"YulIdentifier","src":"85536:5:19"},"nativeSrc":"85536:11:19","nodeType":"YulFunctionCall","src":"85536:11:19"},"variableNames":[{"name":"m5","nativeSrc":"85530:2:19","nodeType":"YulIdentifier","src":"85530:2:19"}]},{"nativeSrc":"85560:17:19","nodeType":"YulAssignment","src":"85560:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"85572:4:19","nodeType":"YulLiteral","src":"85572:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"85566:5:19","nodeType":"YulIdentifier","src":"85566:5:19"},"nativeSrc":"85566:11:19","nodeType":"YulFunctionCall","src":"85566:11:19"},"variableNames":[{"name":"m6","nativeSrc":"85560:2:19","nodeType":"YulIdentifier","src":"85560:2:19"}]},{"nativeSrc":"85590:17:19","nodeType":"YulAssignment","src":"85590:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"85602:4:19","nodeType":"YulLiteral","src":"85602:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"85596:5:19","nodeType":"YulIdentifier","src":"85596:5:19"},"nativeSrc":"85596:11:19","nodeType":"YulFunctionCall","src":"85596:11:19"},"variableNames":[{"name":"m7","nativeSrc":"85590:2:19","nodeType":"YulIdentifier","src":"85590:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"85684:4:19","nodeType":"YulLiteral","src":"85684:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"85690:10:19","nodeType":"YulLiteral","src":"85690:10:19","type":"","value":"0x95ed0195"}],"functionName":{"name":"mstore","nativeSrc":"85677:6:19","nodeType":"YulIdentifier","src":"85677:6:19"},"nativeSrc":"85677:24:19","nodeType":"YulFunctionCall","src":"85677:24:19"},"nativeSrc":"85677:24:19","nodeType":"YulExpressionStatement","src":"85677:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"85721:4:19","nodeType":"YulLiteral","src":"85721:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"85727:4:19","nodeType":"YulLiteral","src":"85727:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"85714:6:19","nodeType":"YulIdentifier","src":"85714:6:19"},"nativeSrc":"85714:18:19","nodeType":"YulFunctionCall","src":"85714:18:19"},"nativeSrc":"85714:18:19","nodeType":"YulExpressionStatement","src":"85714:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"85752:4:19","nodeType":"YulLiteral","src":"85752:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"85758:4:19","nodeType":"YulLiteral","src":"85758:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"85745:6:19","nodeType":"YulIdentifier","src":"85745:6:19"},"nativeSrc":"85745:18:19","nodeType":"YulFunctionCall","src":"85745:18:19"},"nativeSrc":"85745:18:19","nodeType":"YulExpressionStatement","src":"85745:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"85783:4:19","nodeType":"YulLiteral","src":"85783:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"85789:2:19","nodeType":"YulIdentifier","src":"85789:2:19"}],"functionName":{"name":"mstore","nativeSrc":"85776:6:19","nodeType":"YulIdentifier","src":"85776:6:19"},"nativeSrc":"85776:16:19","nodeType":"YulFunctionCall","src":"85776:16:19"},"nativeSrc":"85776:16:19","nodeType":"YulExpressionStatement","src":"85776:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"85817:4:19","nodeType":"YulLiteral","src":"85817:4:19","type":"","value":"0x80"},{"name":"p0","nativeSrc":"85823:2:19","nodeType":"YulIdentifier","src":"85823:2:19"}],"functionName":{"name":"writeString","nativeSrc":"85805:11:19","nodeType":"YulIdentifier","src":"85805:11:19"},"nativeSrc":"85805:21:19","nodeType":"YulFunctionCall","src":"85805:21:19"},"nativeSrc":"85805:21:19","nodeType":"YulExpressionStatement","src":"85805:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"85851:4:19","nodeType":"YulLiteral","src":"85851:4:19","type":"","value":"0xc0"},{"name":"p1","nativeSrc":"85857:2:19","nodeType":"YulIdentifier","src":"85857:2:19"}],"functionName":{"name":"writeString","nativeSrc":"85839:11:19","nodeType":"YulIdentifier","src":"85839:11:19"},"nativeSrc":"85839:21:19","nodeType":"YulFunctionCall","src":"85839:21:19"},"nativeSrc":"85839:21:19","nodeType":"YulExpressionStatement","src":"85839:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28958,"isOffset":false,"isSlot":false,"src":"85380:2:19","valueSize":1},{"declaration":28961,"isOffset":false,"isSlot":false,"src":"85410:2:19","valueSize":1},{"declaration":28964,"isOffset":false,"isSlot":false,"src":"85440:2:19","valueSize":1},{"declaration":28967,"isOffset":false,"isSlot":false,"src":"85470:2:19","valueSize":1},{"declaration":28970,"isOffset":false,"isSlot":false,"src":"85500:2:19","valueSize":1},{"declaration":28973,"isOffset":false,"isSlot":false,"src":"85530:2:19","valueSize":1},{"declaration":28976,"isOffset":false,"isSlot":false,"src":"85560:2:19","valueSize":1},{"declaration":28979,"isOffset":false,"isSlot":false,"src":"85590:2:19","valueSize":1},{"declaration":28950,"isOffset":false,"isSlot":false,"src":"85823:2:19","valueSize":1},{"declaration":28952,"isOffset":false,"isSlot":false,"src":"85857:2:19","valueSize":1},{"declaration":28954,"isOffset":false,"isSlot":false,"src":"85789:2:19","valueSize":1}],"id":28981,"nodeType":"InlineAssembly","src":"85002:868:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":28983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"85895:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":28984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"85901:4:19","typeDescriptions":{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"},"value":"0xe4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"}],"id":28982,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"85879:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":28985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"85879:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28986,"nodeType":"ExpressionStatement","src":"85879:27:19"},{"AST":{"nativeSrc":"85968:243:19","nodeType":"YulBlock","src":"85968:243:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"85989:4:19","nodeType":"YulLiteral","src":"85989:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"85995:2:19","nodeType":"YulIdentifier","src":"85995:2:19"}],"functionName":{"name":"mstore","nativeSrc":"85982:6:19","nodeType":"YulIdentifier","src":"85982:6:19"},"nativeSrc":"85982:16:19","nodeType":"YulFunctionCall","src":"85982:16:19"},"nativeSrc":"85982:16:19","nodeType":"YulExpressionStatement","src":"85982:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"86018:4:19","nodeType":"YulLiteral","src":"86018:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"86024:2:19","nodeType":"YulIdentifier","src":"86024:2:19"}],"functionName":{"name":"mstore","nativeSrc":"86011:6:19","nodeType":"YulIdentifier","src":"86011:6:19"},"nativeSrc":"86011:16:19","nodeType":"YulFunctionCall","src":"86011:16:19"},"nativeSrc":"86011:16:19","nodeType":"YulExpressionStatement","src":"86011:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"86047:4:19","nodeType":"YulLiteral","src":"86047:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"86053:2:19","nodeType":"YulIdentifier","src":"86053:2:19"}],"functionName":{"name":"mstore","nativeSrc":"86040:6:19","nodeType":"YulIdentifier","src":"86040:6:19"},"nativeSrc":"86040:16:19","nodeType":"YulFunctionCall","src":"86040:16:19"},"nativeSrc":"86040:16:19","nodeType":"YulExpressionStatement","src":"86040:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"86076:4:19","nodeType":"YulLiteral","src":"86076:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"86082:2:19","nodeType":"YulIdentifier","src":"86082:2:19"}],"functionName":{"name":"mstore","nativeSrc":"86069:6:19","nodeType":"YulIdentifier","src":"86069:6:19"},"nativeSrc":"86069:16:19","nodeType":"YulFunctionCall","src":"86069:16:19"},"nativeSrc":"86069:16:19","nodeType":"YulExpressionStatement","src":"86069:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"86105:4:19","nodeType":"YulLiteral","src":"86105:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"86111:2:19","nodeType":"YulIdentifier","src":"86111:2:19"}],"functionName":{"name":"mstore","nativeSrc":"86098:6:19","nodeType":"YulIdentifier","src":"86098:6:19"},"nativeSrc":"86098:16:19","nodeType":"YulFunctionCall","src":"86098:16:19"},"nativeSrc":"86098:16:19","nodeType":"YulExpressionStatement","src":"86098:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"86134:4:19","nodeType":"YulLiteral","src":"86134:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"86140:2:19","nodeType":"YulIdentifier","src":"86140:2:19"}],"functionName":{"name":"mstore","nativeSrc":"86127:6:19","nodeType":"YulIdentifier","src":"86127:6:19"},"nativeSrc":"86127:16:19","nodeType":"YulFunctionCall","src":"86127:16:19"},"nativeSrc":"86127:16:19","nodeType":"YulExpressionStatement","src":"86127:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"86163:4:19","nodeType":"YulLiteral","src":"86163:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"86169:2:19","nodeType":"YulIdentifier","src":"86169:2:19"}],"functionName":{"name":"mstore","nativeSrc":"86156:6:19","nodeType":"YulIdentifier","src":"86156:6:19"},"nativeSrc":"86156:16:19","nodeType":"YulFunctionCall","src":"86156:16:19"},"nativeSrc":"86156:16:19","nodeType":"YulExpressionStatement","src":"86156:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"86192:4:19","nodeType":"YulLiteral","src":"86192:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"86198:2:19","nodeType":"YulIdentifier","src":"86198:2:19"}],"functionName":{"name":"mstore","nativeSrc":"86185:6:19","nodeType":"YulIdentifier","src":"86185:6:19"},"nativeSrc":"86185:16:19","nodeType":"YulFunctionCall","src":"86185:16:19"},"nativeSrc":"86185:16:19","nodeType":"YulExpressionStatement","src":"86185:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28958,"isOffset":false,"isSlot":false,"src":"85995:2:19","valueSize":1},{"declaration":28961,"isOffset":false,"isSlot":false,"src":"86024:2:19","valueSize":1},{"declaration":28964,"isOffset":false,"isSlot":false,"src":"86053:2:19","valueSize":1},{"declaration":28967,"isOffset":false,"isSlot":false,"src":"86082:2:19","valueSize":1},{"declaration":28970,"isOffset":false,"isSlot":false,"src":"86111:2:19","valueSize":1},{"declaration":28973,"isOffset":false,"isSlot":false,"src":"86140:2:19","valueSize":1},{"declaration":28976,"isOffset":false,"isSlot":false,"src":"86169:2:19","valueSize":1},{"declaration":28979,"isOffset":false,"isSlot":false,"src":"86198:2:19","valueSize":1}],"id":28987,"nodeType":"InlineAssembly","src":"85959:252:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"84735:3:19","parameters":{"id":28955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28950,"mutability":"mutable","name":"p0","nameLocation":"84747:2:19","nodeType":"VariableDeclaration","scope":28989,"src":"84739:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28949,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84739:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28952,"mutability":"mutable","name":"p1","nameLocation":"84759:2:19","nodeType":"VariableDeclaration","scope":28989,"src":"84751:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28951,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84751:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28954,"mutability":"mutable","name":"p2","nameLocation":"84771:2:19","nodeType":"VariableDeclaration","scope":28989,"src":"84763:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28953,"name":"address","nodeType":"ElementaryTypeName","src":"84763:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"84738:36:19"},"returnParameters":{"id":28956,"nodeType":"ParameterList","parameters":[],"src":"84789:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29030,"nodeType":"FunctionDefinition","src":"86223:1485:19","nodes":[],"body":{"id":29029,"nodeType":"Block","src":"86283:1425:19","nodes":[],"statements":[{"assignments":[28999],"declarations":[{"constant":false,"id":28999,"mutability":"mutable","name":"m0","nameLocation":"86301:2:19","nodeType":"VariableDeclaration","scope":29029,"src":"86293:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28998,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86293:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29000,"nodeType":"VariableDeclarationStatement","src":"86293:10:19"},{"assignments":[29002],"declarations":[{"constant":false,"id":29002,"mutability":"mutable","name":"m1","nameLocation":"86321:2:19","nodeType":"VariableDeclaration","scope":29029,"src":"86313:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29001,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86313:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29003,"nodeType":"VariableDeclarationStatement","src":"86313:10:19"},{"assignments":[29005],"declarations":[{"constant":false,"id":29005,"mutability":"mutable","name":"m2","nameLocation":"86341:2:19","nodeType":"VariableDeclaration","scope":29029,"src":"86333:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29004,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86333:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29006,"nodeType":"VariableDeclarationStatement","src":"86333:10:19"},{"assignments":[29008],"declarations":[{"constant":false,"id":29008,"mutability":"mutable","name":"m3","nameLocation":"86361:2:19","nodeType":"VariableDeclaration","scope":29029,"src":"86353:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29007,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86353:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29009,"nodeType":"VariableDeclarationStatement","src":"86353:10:19"},{"assignments":[29011],"declarations":[{"constant":false,"id":29011,"mutability":"mutable","name":"m4","nameLocation":"86381:2:19","nodeType":"VariableDeclaration","scope":29029,"src":"86373:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29010,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86373:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29012,"nodeType":"VariableDeclarationStatement","src":"86373:10:19"},{"assignments":[29014],"declarations":[{"constant":false,"id":29014,"mutability":"mutable","name":"m5","nameLocation":"86401:2:19","nodeType":"VariableDeclaration","scope":29029,"src":"86393:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29013,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86393:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29015,"nodeType":"VariableDeclarationStatement","src":"86393:10:19"},{"assignments":[29017],"declarations":[{"constant":false,"id":29017,"mutability":"mutable","name":"m6","nameLocation":"86421:2:19","nodeType":"VariableDeclaration","scope":29029,"src":"86413:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29016,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86413:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29018,"nodeType":"VariableDeclarationStatement","src":"86413:10:19"},{"assignments":[29020],"declarations":[{"constant":false,"id":29020,"mutability":"mutable","name":"m7","nameLocation":"86441:2:19","nodeType":"VariableDeclaration","scope":29029,"src":"86433:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29019,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86433:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29021,"nodeType":"VariableDeclarationStatement","src":"86433:10:19"},{"AST":{"nativeSrc":"86505:856:19","nodeType":"YulBlock","src":"86505:856:19","statements":[{"body":{"nativeSrc":"86548:313:19","nodeType":"YulBlock","src":"86548:313:19","statements":[{"nativeSrc":"86566:15:19","nodeType":"YulVariableDeclaration","src":"86566:15:19","value":{"kind":"number","nativeSrc":"86580:1:19","nodeType":"YulLiteral","src":"86580:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"86570:6:19","nodeType":"YulTypedName","src":"86570:6:19","type":""}]},{"body":{"nativeSrc":"86651:40:19","nodeType":"YulBlock","src":"86651:40:19","statements":[{"body":{"nativeSrc":"86680:9:19","nodeType":"YulBlock","src":"86680:9:19","statements":[{"nativeSrc":"86682:5:19","nodeType":"YulBreak","src":"86682:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"86668:6:19","nodeType":"YulIdentifier","src":"86668:6:19"},{"name":"w","nativeSrc":"86676:1:19","nodeType":"YulIdentifier","src":"86676:1:19"}],"functionName":{"name":"byte","nativeSrc":"86663:4:19","nodeType":"YulIdentifier","src":"86663:4:19"},"nativeSrc":"86663:15:19","nodeType":"YulFunctionCall","src":"86663:15:19"}],"functionName":{"name":"iszero","nativeSrc":"86656:6:19","nodeType":"YulIdentifier","src":"86656:6:19"},"nativeSrc":"86656:23:19","nodeType":"YulFunctionCall","src":"86656:23:19"},"nativeSrc":"86653:36:19","nodeType":"YulIf","src":"86653:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"86608:6:19","nodeType":"YulIdentifier","src":"86608:6:19"},{"kind":"number","nativeSrc":"86616:4:19","nodeType":"YulLiteral","src":"86616:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"86605:2:19","nodeType":"YulIdentifier","src":"86605:2:19"},"nativeSrc":"86605:16:19","nodeType":"YulFunctionCall","src":"86605:16:19"},"nativeSrc":"86598:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"86622:28:19","nodeType":"YulBlock","src":"86622:28:19","statements":[{"nativeSrc":"86624:24:19","nodeType":"YulAssignment","src":"86624:24:19","value":{"arguments":[{"name":"length","nativeSrc":"86638:6:19","nodeType":"YulIdentifier","src":"86638:6:19"},{"kind":"number","nativeSrc":"86646:1:19","nodeType":"YulLiteral","src":"86646:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"86634:3:19","nodeType":"YulIdentifier","src":"86634:3:19"},"nativeSrc":"86634:14:19","nodeType":"YulFunctionCall","src":"86634:14:19"},"variableNames":[{"name":"length","nativeSrc":"86624:6:19","nodeType":"YulIdentifier","src":"86624:6:19"}]}]},"pre":{"nativeSrc":"86602:2:19","nodeType":"YulBlock","src":"86602:2:19","statements":[]},"src":"86598:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"86715:3:19","nodeType":"YulIdentifier","src":"86715:3:19"},{"name":"length","nativeSrc":"86720:6:19","nodeType":"YulIdentifier","src":"86720:6:19"}],"functionName":{"name":"mstore","nativeSrc":"86708:6:19","nodeType":"YulIdentifier","src":"86708:6:19"},"nativeSrc":"86708:19:19","nodeType":"YulFunctionCall","src":"86708:19:19"},"nativeSrc":"86708:19:19","nodeType":"YulExpressionStatement","src":"86708:19:19"},{"nativeSrc":"86744:37:19","nodeType":"YulVariableDeclaration","src":"86744:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"86761:3:19","nodeType":"YulLiteral","src":"86761:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"86770:1:19","nodeType":"YulLiteral","src":"86770:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"86773:6:19","nodeType":"YulIdentifier","src":"86773:6:19"}],"functionName":{"name":"shl","nativeSrc":"86766:3:19","nodeType":"YulIdentifier","src":"86766:3:19"},"nativeSrc":"86766:14:19","nodeType":"YulFunctionCall","src":"86766:14:19"}],"functionName":{"name":"sub","nativeSrc":"86757:3:19","nodeType":"YulIdentifier","src":"86757:3:19"},"nativeSrc":"86757:24:19","nodeType":"YulFunctionCall","src":"86757:24:19"},"variables":[{"name":"shift","nativeSrc":"86748:5:19","nodeType":"YulTypedName","src":"86748:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"86809:3:19","nodeType":"YulIdentifier","src":"86809:3:19"},{"kind":"number","nativeSrc":"86814:4:19","nodeType":"YulLiteral","src":"86814:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"86805:3:19","nodeType":"YulIdentifier","src":"86805:3:19"},"nativeSrc":"86805:14:19","nodeType":"YulFunctionCall","src":"86805:14:19"},{"arguments":[{"name":"shift","nativeSrc":"86825:5:19","nodeType":"YulIdentifier","src":"86825:5:19"},{"arguments":[{"name":"shift","nativeSrc":"86836:5:19","nodeType":"YulIdentifier","src":"86836:5:19"},{"name":"w","nativeSrc":"86843:1:19","nodeType":"YulIdentifier","src":"86843:1:19"}],"functionName":{"name":"shr","nativeSrc":"86832:3:19","nodeType":"YulIdentifier","src":"86832:3:19"},"nativeSrc":"86832:13:19","nodeType":"YulFunctionCall","src":"86832:13:19"}],"functionName":{"name":"shl","nativeSrc":"86821:3:19","nodeType":"YulIdentifier","src":"86821:3:19"},"nativeSrc":"86821:25:19","nodeType":"YulFunctionCall","src":"86821:25:19"}],"functionName":{"name":"mstore","nativeSrc":"86798:6:19","nodeType":"YulIdentifier","src":"86798:6:19"},"nativeSrc":"86798:49:19","nodeType":"YulFunctionCall","src":"86798:49:19"},"nativeSrc":"86798:49:19","nodeType":"YulExpressionStatement","src":"86798:49:19"}]},"name":"writeString","nativeSrc":"86519:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"86540:3:19","nodeType":"YulTypedName","src":"86540:3:19","type":""},{"name":"w","nativeSrc":"86545:1:19","nodeType":"YulTypedName","src":"86545:1:19","type":""}],"src":"86519:342:19"},{"nativeSrc":"86874:17:19","nodeType":"YulAssignment","src":"86874:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"86886:4:19","nodeType":"YulLiteral","src":"86886:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"86880:5:19","nodeType":"YulIdentifier","src":"86880:5:19"},"nativeSrc":"86880:11:19","nodeType":"YulFunctionCall","src":"86880:11:19"},"variableNames":[{"name":"m0","nativeSrc":"86874:2:19","nodeType":"YulIdentifier","src":"86874:2:19"}]},{"nativeSrc":"86904:17:19","nodeType":"YulAssignment","src":"86904:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"86916:4:19","nodeType":"YulLiteral","src":"86916:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"86910:5:19","nodeType":"YulIdentifier","src":"86910:5:19"},"nativeSrc":"86910:11:19","nodeType":"YulFunctionCall","src":"86910:11:19"},"variableNames":[{"name":"m1","nativeSrc":"86904:2:19","nodeType":"YulIdentifier","src":"86904:2:19"}]},{"nativeSrc":"86934:17:19","nodeType":"YulAssignment","src":"86934:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"86946:4:19","nodeType":"YulLiteral","src":"86946:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"86940:5:19","nodeType":"YulIdentifier","src":"86940:5:19"},"nativeSrc":"86940:11:19","nodeType":"YulFunctionCall","src":"86940:11:19"},"variableNames":[{"name":"m2","nativeSrc":"86934:2:19","nodeType":"YulIdentifier","src":"86934:2:19"}]},{"nativeSrc":"86964:17:19","nodeType":"YulAssignment","src":"86964:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"86976:4:19","nodeType":"YulLiteral","src":"86976:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"86970:5:19","nodeType":"YulIdentifier","src":"86970:5:19"},"nativeSrc":"86970:11:19","nodeType":"YulFunctionCall","src":"86970:11:19"},"variableNames":[{"name":"m3","nativeSrc":"86964:2:19","nodeType":"YulIdentifier","src":"86964:2:19"}]},{"nativeSrc":"86994:17:19","nodeType":"YulAssignment","src":"86994:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"87006:4:19","nodeType":"YulLiteral","src":"87006:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"87000:5:19","nodeType":"YulIdentifier","src":"87000:5:19"},"nativeSrc":"87000:11:19","nodeType":"YulFunctionCall","src":"87000:11:19"},"variableNames":[{"name":"m4","nativeSrc":"86994:2:19","nodeType":"YulIdentifier","src":"86994:2:19"}]},{"nativeSrc":"87024:17:19","nodeType":"YulAssignment","src":"87024:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"87036:4:19","nodeType":"YulLiteral","src":"87036:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"87030:5:19","nodeType":"YulIdentifier","src":"87030:5:19"},"nativeSrc":"87030:11:19","nodeType":"YulFunctionCall","src":"87030:11:19"},"variableNames":[{"name":"m5","nativeSrc":"87024:2:19","nodeType":"YulIdentifier","src":"87024:2:19"}]},{"nativeSrc":"87054:17:19","nodeType":"YulAssignment","src":"87054:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"87066:4:19","nodeType":"YulLiteral","src":"87066:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"87060:5:19","nodeType":"YulIdentifier","src":"87060:5:19"},"nativeSrc":"87060:11:19","nodeType":"YulFunctionCall","src":"87060:11:19"},"variableNames":[{"name":"m6","nativeSrc":"87054:2:19","nodeType":"YulIdentifier","src":"87054:2:19"}]},{"nativeSrc":"87084:17:19","nodeType":"YulAssignment","src":"87084:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"87096:4:19","nodeType":"YulLiteral","src":"87096:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"87090:5:19","nodeType":"YulIdentifier","src":"87090:5:19"},"nativeSrc":"87090:11:19","nodeType":"YulFunctionCall","src":"87090:11:19"},"variableNames":[{"name":"m7","nativeSrc":"87084:2:19","nodeType":"YulIdentifier","src":"87084:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87175:4:19","nodeType":"YulLiteral","src":"87175:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"87181:10:19","nodeType":"YulLiteral","src":"87181:10:19","type":"","value":"0xb0e0f9b5"}],"functionName":{"name":"mstore","nativeSrc":"87168:6:19","nodeType":"YulIdentifier","src":"87168:6:19"},"nativeSrc":"87168:24:19","nodeType":"YulFunctionCall","src":"87168:24:19"},"nativeSrc":"87168:24:19","nodeType":"YulExpressionStatement","src":"87168:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87212:4:19","nodeType":"YulLiteral","src":"87212:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"87218:4:19","nodeType":"YulLiteral","src":"87218:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"87205:6:19","nodeType":"YulIdentifier","src":"87205:6:19"},"nativeSrc":"87205:18:19","nodeType":"YulFunctionCall","src":"87205:18:19"},"nativeSrc":"87205:18:19","nodeType":"YulExpressionStatement","src":"87205:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87243:4:19","nodeType":"YulLiteral","src":"87243:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"87249:4:19","nodeType":"YulLiteral","src":"87249:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"87236:6:19","nodeType":"YulIdentifier","src":"87236:6:19"},"nativeSrc":"87236:18:19","nodeType":"YulFunctionCall","src":"87236:18:19"},"nativeSrc":"87236:18:19","nodeType":"YulExpressionStatement","src":"87236:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87274:4:19","nodeType":"YulLiteral","src":"87274:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"87280:2:19","nodeType":"YulIdentifier","src":"87280:2:19"}],"functionName":{"name":"mstore","nativeSrc":"87267:6:19","nodeType":"YulIdentifier","src":"87267:6:19"},"nativeSrc":"87267:16:19","nodeType":"YulFunctionCall","src":"87267:16:19"},"nativeSrc":"87267:16:19","nodeType":"YulExpressionStatement","src":"87267:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87308:4:19","nodeType":"YulLiteral","src":"87308:4:19","type":"","value":"0x80"},{"name":"p0","nativeSrc":"87314:2:19","nodeType":"YulIdentifier","src":"87314:2:19"}],"functionName":{"name":"writeString","nativeSrc":"87296:11:19","nodeType":"YulIdentifier","src":"87296:11:19"},"nativeSrc":"87296:21:19","nodeType":"YulFunctionCall","src":"87296:21:19"},"nativeSrc":"87296:21:19","nodeType":"YulExpressionStatement","src":"87296:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87342:4:19","nodeType":"YulLiteral","src":"87342:4:19","type":"","value":"0xc0"},{"name":"p1","nativeSrc":"87348:2:19","nodeType":"YulIdentifier","src":"87348:2:19"}],"functionName":{"name":"writeString","nativeSrc":"87330:11:19","nodeType":"YulIdentifier","src":"87330:11:19"},"nativeSrc":"87330:21:19","nodeType":"YulFunctionCall","src":"87330:21:19"},"nativeSrc":"87330:21:19","nodeType":"YulExpressionStatement","src":"87330:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28999,"isOffset":false,"isSlot":false,"src":"86874:2:19","valueSize":1},{"declaration":29002,"isOffset":false,"isSlot":false,"src":"86904:2:19","valueSize":1},{"declaration":29005,"isOffset":false,"isSlot":false,"src":"86934:2:19","valueSize":1},{"declaration":29008,"isOffset":false,"isSlot":false,"src":"86964:2:19","valueSize":1},{"declaration":29011,"isOffset":false,"isSlot":false,"src":"86994:2:19","valueSize":1},{"declaration":29014,"isOffset":false,"isSlot":false,"src":"87024:2:19","valueSize":1},{"declaration":29017,"isOffset":false,"isSlot":false,"src":"87054:2:19","valueSize":1},{"declaration":29020,"isOffset":false,"isSlot":false,"src":"87084:2:19","valueSize":1},{"declaration":28991,"isOffset":false,"isSlot":false,"src":"87314:2:19","valueSize":1},{"declaration":28993,"isOffset":false,"isSlot":false,"src":"87348:2:19","valueSize":1},{"declaration":28995,"isOffset":false,"isSlot":false,"src":"87280:2:19","valueSize":1}],"id":29022,"nodeType":"InlineAssembly","src":"86496:865:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"87386:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":29025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"87392:4:19","typeDescriptions":{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"},"value":"0xe4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"}],"id":29023,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"87370:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"87370:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29027,"nodeType":"ExpressionStatement","src":"87370:27:19"},{"AST":{"nativeSrc":"87459:243:19","nodeType":"YulBlock","src":"87459:243:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"87480:4:19","nodeType":"YulLiteral","src":"87480:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"87486:2:19","nodeType":"YulIdentifier","src":"87486:2:19"}],"functionName":{"name":"mstore","nativeSrc":"87473:6:19","nodeType":"YulIdentifier","src":"87473:6:19"},"nativeSrc":"87473:16:19","nodeType":"YulFunctionCall","src":"87473:16:19"},"nativeSrc":"87473:16:19","nodeType":"YulExpressionStatement","src":"87473:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87509:4:19","nodeType":"YulLiteral","src":"87509:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"87515:2:19","nodeType":"YulIdentifier","src":"87515:2:19"}],"functionName":{"name":"mstore","nativeSrc":"87502:6:19","nodeType":"YulIdentifier","src":"87502:6:19"},"nativeSrc":"87502:16:19","nodeType":"YulFunctionCall","src":"87502:16:19"},"nativeSrc":"87502:16:19","nodeType":"YulExpressionStatement","src":"87502:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87538:4:19","nodeType":"YulLiteral","src":"87538:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"87544:2:19","nodeType":"YulIdentifier","src":"87544:2:19"}],"functionName":{"name":"mstore","nativeSrc":"87531:6:19","nodeType":"YulIdentifier","src":"87531:6:19"},"nativeSrc":"87531:16:19","nodeType":"YulFunctionCall","src":"87531:16:19"},"nativeSrc":"87531:16:19","nodeType":"YulExpressionStatement","src":"87531:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87567:4:19","nodeType":"YulLiteral","src":"87567:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"87573:2:19","nodeType":"YulIdentifier","src":"87573:2:19"}],"functionName":{"name":"mstore","nativeSrc":"87560:6:19","nodeType":"YulIdentifier","src":"87560:6:19"},"nativeSrc":"87560:16:19","nodeType":"YulFunctionCall","src":"87560:16:19"},"nativeSrc":"87560:16:19","nodeType":"YulExpressionStatement","src":"87560:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87596:4:19","nodeType":"YulLiteral","src":"87596:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"87602:2:19","nodeType":"YulIdentifier","src":"87602:2:19"}],"functionName":{"name":"mstore","nativeSrc":"87589:6:19","nodeType":"YulIdentifier","src":"87589:6:19"},"nativeSrc":"87589:16:19","nodeType":"YulFunctionCall","src":"87589:16:19"},"nativeSrc":"87589:16:19","nodeType":"YulExpressionStatement","src":"87589:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87625:4:19","nodeType":"YulLiteral","src":"87625:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"87631:2:19","nodeType":"YulIdentifier","src":"87631:2:19"}],"functionName":{"name":"mstore","nativeSrc":"87618:6:19","nodeType":"YulIdentifier","src":"87618:6:19"},"nativeSrc":"87618:16:19","nodeType":"YulFunctionCall","src":"87618:16:19"},"nativeSrc":"87618:16:19","nodeType":"YulExpressionStatement","src":"87618:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87654:4:19","nodeType":"YulLiteral","src":"87654:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"87660:2:19","nodeType":"YulIdentifier","src":"87660:2:19"}],"functionName":{"name":"mstore","nativeSrc":"87647:6:19","nodeType":"YulIdentifier","src":"87647:6:19"},"nativeSrc":"87647:16:19","nodeType":"YulFunctionCall","src":"87647:16:19"},"nativeSrc":"87647:16:19","nodeType":"YulExpressionStatement","src":"87647:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"87683:4:19","nodeType":"YulLiteral","src":"87683:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"87689:2:19","nodeType":"YulIdentifier","src":"87689:2:19"}],"functionName":{"name":"mstore","nativeSrc":"87676:6:19","nodeType":"YulIdentifier","src":"87676:6:19"},"nativeSrc":"87676:16:19","nodeType":"YulFunctionCall","src":"87676:16:19"},"nativeSrc":"87676:16:19","nodeType":"YulExpressionStatement","src":"87676:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":28999,"isOffset":false,"isSlot":false,"src":"87486:2:19","valueSize":1},{"declaration":29002,"isOffset":false,"isSlot":false,"src":"87515:2:19","valueSize":1},{"declaration":29005,"isOffset":false,"isSlot":false,"src":"87544:2:19","valueSize":1},{"declaration":29008,"isOffset":false,"isSlot":false,"src":"87573:2:19","valueSize":1},{"declaration":29011,"isOffset":false,"isSlot":false,"src":"87602:2:19","valueSize":1},{"declaration":29014,"isOffset":false,"isSlot":false,"src":"87631:2:19","valueSize":1},{"declaration":29017,"isOffset":false,"isSlot":false,"src":"87660:2:19","valueSize":1},{"declaration":29020,"isOffset":false,"isSlot":false,"src":"87689:2:19","valueSize":1}],"id":29028,"nodeType":"InlineAssembly","src":"87450:252:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"86232:3:19","parameters":{"id":28996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28991,"mutability":"mutable","name":"p0","nameLocation":"86244:2:19","nodeType":"VariableDeclaration","scope":29030,"src":"86236:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28990,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86236:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28993,"mutability":"mutable","name":"p1","nameLocation":"86256:2:19","nodeType":"VariableDeclaration","scope":29030,"src":"86248:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28992,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86248:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28995,"mutability":"mutable","name":"p2","nameLocation":"86265:2:19","nodeType":"VariableDeclaration","scope":29030,"src":"86260:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28994,"name":"bool","nodeType":"ElementaryTypeName","src":"86260:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"86235:33:19"},"returnParameters":{"id":28997,"nodeType":"ParameterList","parameters":[],"src":"86283:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29071,"nodeType":"FunctionDefinition","src":"87714:1491:19","nodes":[],"body":{"id":29070,"nodeType":"Block","src":"87777:1428:19","nodes":[],"statements":[{"assignments":[29040],"declarations":[{"constant":false,"id":29040,"mutability":"mutable","name":"m0","nameLocation":"87795:2:19","nodeType":"VariableDeclaration","scope":29070,"src":"87787:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29039,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87787:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29041,"nodeType":"VariableDeclarationStatement","src":"87787:10:19"},{"assignments":[29043],"declarations":[{"constant":false,"id":29043,"mutability":"mutable","name":"m1","nameLocation":"87815:2:19","nodeType":"VariableDeclaration","scope":29070,"src":"87807:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29042,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87807:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29044,"nodeType":"VariableDeclarationStatement","src":"87807:10:19"},{"assignments":[29046],"declarations":[{"constant":false,"id":29046,"mutability":"mutable","name":"m2","nameLocation":"87835:2:19","nodeType":"VariableDeclaration","scope":29070,"src":"87827:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29045,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87827:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29047,"nodeType":"VariableDeclarationStatement","src":"87827:10:19"},{"assignments":[29049],"declarations":[{"constant":false,"id":29049,"mutability":"mutable","name":"m3","nameLocation":"87855:2:19","nodeType":"VariableDeclaration","scope":29070,"src":"87847:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29048,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87847:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29050,"nodeType":"VariableDeclarationStatement","src":"87847:10:19"},{"assignments":[29052],"declarations":[{"constant":false,"id":29052,"mutability":"mutable","name":"m4","nameLocation":"87875:2:19","nodeType":"VariableDeclaration","scope":29070,"src":"87867:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29051,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87867:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29053,"nodeType":"VariableDeclarationStatement","src":"87867:10:19"},{"assignments":[29055],"declarations":[{"constant":false,"id":29055,"mutability":"mutable","name":"m5","nameLocation":"87895:2:19","nodeType":"VariableDeclaration","scope":29070,"src":"87887:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29054,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87887:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29056,"nodeType":"VariableDeclarationStatement","src":"87887:10:19"},{"assignments":[29058],"declarations":[{"constant":false,"id":29058,"mutability":"mutable","name":"m6","nameLocation":"87915:2:19","nodeType":"VariableDeclaration","scope":29070,"src":"87907:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29057,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87907:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29059,"nodeType":"VariableDeclarationStatement","src":"87907:10:19"},{"assignments":[29061],"declarations":[{"constant":false,"id":29061,"mutability":"mutable","name":"m7","nameLocation":"87935:2:19","nodeType":"VariableDeclaration","scope":29070,"src":"87927:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29060,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87927:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29062,"nodeType":"VariableDeclarationStatement","src":"87927:10:19"},{"AST":{"nativeSrc":"87999:859:19","nodeType":"YulBlock","src":"87999:859:19","statements":[{"body":{"nativeSrc":"88042:313:19","nodeType":"YulBlock","src":"88042:313:19","statements":[{"nativeSrc":"88060:15:19","nodeType":"YulVariableDeclaration","src":"88060:15:19","value":{"kind":"number","nativeSrc":"88074:1:19","nodeType":"YulLiteral","src":"88074:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"88064:6:19","nodeType":"YulTypedName","src":"88064:6:19","type":""}]},{"body":{"nativeSrc":"88145:40:19","nodeType":"YulBlock","src":"88145:40:19","statements":[{"body":{"nativeSrc":"88174:9:19","nodeType":"YulBlock","src":"88174:9:19","statements":[{"nativeSrc":"88176:5:19","nodeType":"YulBreak","src":"88176:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"88162:6:19","nodeType":"YulIdentifier","src":"88162:6:19"},{"name":"w","nativeSrc":"88170:1:19","nodeType":"YulIdentifier","src":"88170:1:19"}],"functionName":{"name":"byte","nativeSrc":"88157:4:19","nodeType":"YulIdentifier","src":"88157:4:19"},"nativeSrc":"88157:15:19","nodeType":"YulFunctionCall","src":"88157:15:19"}],"functionName":{"name":"iszero","nativeSrc":"88150:6:19","nodeType":"YulIdentifier","src":"88150:6:19"},"nativeSrc":"88150:23:19","nodeType":"YulFunctionCall","src":"88150:23:19"},"nativeSrc":"88147:36:19","nodeType":"YulIf","src":"88147:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"88102:6:19","nodeType":"YulIdentifier","src":"88102:6:19"},{"kind":"number","nativeSrc":"88110:4:19","nodeType":"YulLiteral","src":"88110:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"88099:2:19","nodeType":"YulIdentifier","src":"88099:2:19"},"nativeSrc":"88099:16:19","nodeType":"YulFunctionCall","src":"88099:16:19"},"nativeSrc":"88092:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"88116:28:19","nodeType":"YulBlock","src":"88116:28:19","statements":[{"nativeSrc":"88118:24:19","nodeType":"YulAssignment","src":"88118:24:19","value":{"arguments":[{"name":"length","nativeSrc":"88132:6:19","nodeType":"YulIdentifier","src":"88132:6:19"},{"kind":"number","nativeSrc":"88140:1:19","nodeType":"YulLiteral","src":"88140:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"88128:3:19","nodeType":"YulIdentifier","src":"88128:3:19"},"nativeSrc":"88128:14:19","nodeType":"YulFunctionCall","src":"88128:14:19"},"variableNames":[{"name":"length","nativeSrc":"88118:6:19","nodeType":"YulIdentifier","src":"88118:6:19"}]}]},"pre":{"nativeSrc":"88096:2:19","nodeType":"YulBlock","src":"88096:2:19","statements":[]},"src":"88092:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"88209:3:19","nodeType":"YulIdentifier","src":"88209:3:19"},{"name":"length","nativeSrc":"88214:6:19","nodeType":"YulIdentifier","src":"88214:6:19"}],"functionName":{"name":"mstore","nativeSrc":"88202:6:19","nodeType":"YulIdentifier","src":"88202:6:19"},"nativeSrc":"88202:19:19","nodeType":"YulFunctionCall","src":"88202:19:19"},"nativeSrc":"88202:19:19","nodeType":"YulExpressionStatement","src":"88202:19:19"},{"nativeSrc":"88238:37:19","nodeType":"YulVariableDeclaration","src":"88238:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"88255:3:19","nodeType":"YulLiteral","src":"88255:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"88264:1:19","nodeType":"YulLiteral","src":"88264:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"88267:6:19","nodeType":"YulIdentifier","src":"88267:6:19"}],"functionName":{"name":"shl","nativeSrc":"88260:3:19","nodeType":"YulIdentifier","src":"88260:3:19"},"nativeSrc":"88260:14:19","nodeType":"YulFunctionCall","src":"88260:14:19"}],"functionName":{"name":"sub","nativeSrc":"88251:3:19","nodeType":"YulIdentifier","src":"88251:3:19"},"nativeSrc":"88251:24:19","nodeType":"YulFunctionCall","src":"88251:24:19"},"variables":[{"name":"shift","nativeSrc":"88242:5:19","nodeType":"YulTypedName","src":"88242:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"88303:3:19","nodeType":"YulIdentifier","src":"88303:3:19"},{"kind":"number","nativeSrc":"88308:4:19","nodeType":"YulLiteral","src":"88308:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"88299:3:19","nodeType":"YulIdentifier","src":"88299:3:19"},"nativeSrc":"88299:14:19","nodeType":"YulFunctionCall","src":"88299:14:19"},{"arguments":[{"name":"shift","nativeSrc":"88319:5:19","nodeType":"YulIdentifier","src":"88319:5:19"},{"arguments":[{"name":"shift","nativeSrc":"88330:5:19","nodeType":"YulIdentifier","src":"88330:5:19"},{"name":"w","nativeSrc":"88337:1:19","nodeType":"YulIdentifier","src":"88337:1:19"}],"functionName":{"name":"shr","nativeSrc":"88326:3:19","nodeType":"YulIdentifier","src":"88326:3:19"},"nativeSrc":"88326:13:19","nodeType":"YulFunctionCall","src":"88326:13:19"}],"functionName":{"name":"shl","nativeSrc":"88315:3:19","nodeType":"YulIdentifier","src":"88315:3:19"},"nativeSrc":"88315:25:19","nodeType":"YulFunctionCall","src":"88315:25:19"}],"functionName":{"name":"mstore","nativeSrc":"88292:6:19","nodeType":"YulIdentifier","src":"88292:6:19"},"nativeSrc":"88292:49:19","nodeType":"YulFunctionCall","src":"88292:49:19"},"nativeSrc":"88292:49:19","nodeType":"YulExpressionStatement","src":"88292:49:19"}]},"name":"writeString","nativeSrc":"88013:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"88034:3:19","nodeType":"YulTypedName","src":"88034:3:19","type":""},{"name":"w","nativeSrc":"88039:1:19","nodeType":"YulTypedName","src":"88039:1:19","type":""}],"src":"88013:342:19"},{"nativeSrc":"88368:17:19","nodeType":"YulAssignment","src":"88368:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"88380:4:19","nodeType":"YulLiteral","src":"88380:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"88374:5:19","nodeType":"YulIdentifier","src":"88374:5:19"},"nativeSrc":"88374:11:19","nodeType":"YulFunctionCall","src":"88374:11:19"},"variableNames":[{"name":"m0","nativeSrc":"88368:2:19","nodeType":"YulIdentifier","src":"88368:2:19"}]},{"nativeSrc":"88398:17:19","nodeType":"YulAssignment","src":"88398:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"88410:4:19","nodeType":"YulLiteral","src":"88410:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"88404:5:19","nodeType":"YulIdentifier","src":"88404:5:19"},"nativeSrc":"88404:11:19","nodeType":"YulFunctionCall","src":"88404:11:19"},"variableNames":[{"name":"m1","nativeSrc":"88398:2:19","nodeType":"YulIdentifier","src":"88398:2:19"}]},{"nativeSrc":"88428:17:19","nodeType":"YulAssignment","src":"88428:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"88440:4:19","nodeType":"YulLiteral","src":"88440:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"88434:5:19","nodeType":"YulIdentifier","src":"88434:5:19"},"nativeSrc":"88434:11:19","nodeType":"YulFunctionCall","src":"88434:11:19"},"variableNames":[{"name":"m2","nativeSrc":"88428:2:19","nodeType":"YulIdentifier","src":"88428:2:19"}]},{"nativeSrc":"88458:17:19","nodeType":"YulAssignment","src":"88458:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"88470:4:19","nodeType":"YulLiteral","src":"88470:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"88464:5:19","nodeType":"YulIdentifier","src":"88464:5:19"},"nativeSrc":"88464:11:19","nodeType":"YulFunctionCall","src":"88464:11:19"},"variableNames":[{"name":"m3","nativeSrc":"88458:2:19","nodeType":"YulIdentifier","src":"88458:2:19"}]},{"nativeSrc":"88488:17:19","nodeType":"YulAssignment","src":"88488:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"88500:4:19","nodeType":"YulLiteral","src":"88500:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"88494:5:19","nodeType":"YulIdentifier","src":"88494:5:19"},"nativeSrc":"88494:11:19","nodeType":"YulFunctionCall","src":"88494:11:19"},"variableNames":[{"name":"m4","nativeSrc":"88488:2:19","nodeType":"YulIdentifier","src":"88488:2:19"}]},{"nativeSrc":"88518:17:19","nodeType":"YulAssignment","src":"88518:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"88530:4:19","nodeType":"YulLiteral","src":"88530:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"88524:5:19","nodeType":"YulIdentifier","src":"88524:5:19"},"nativeSrc":"88524:11:19","nodeType":"YulFunctionCall","src":"88524:11:19"},"variableNames":[{"name":"m5","nativeSrc":"88518:2:19","nodeType":"YulIdentifier","src":"88518:2:19"}]},{"nativeSrc":"88548:17:19","nodeType":"YulAssignment","src":"88548:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"88560:4:19","nodeType":"YulLiteral","src":"88560:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"88554:5:19","nodeType":"YulIdentifier","src":"88554:5:19"},"nativeSrc":"88554:11:19","nodeType":"YulFunctionCall","src":"88554:11:19"},"variableNames":[{"name":"m6","nativeSrc":"88548:2:19","nodeType":"YulIdentifier","src":"88548:2:19"}]},{"nativeSrc":"88578:17:19","nodeType":"YulAssignment","src":"88578:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"88590:4:19","nodeType":"YulLiteral","src":"88590:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"88584:5:19","nodeType":"YulIdentifier","src":"88584:5:19"},"nativeSrc":"88584:11:19","nodeType":"YulFunctionCall","src":"88584:11:19"},"variableNames":[{"name":"m7","nativeSrc":"88578:2:19","nodeType":"YulIdentifier","src":"88578:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"88672:4:19","nodeType":"YulLiteral","src":"88672:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"88678:10:19","nodeType":"YulLiteral","src":"88678:10:19","type":"","value":"0x5821efa1"}],"functionName":{"name":"mstore","nativeSrc":"88665:6:19","nodeType":"YulIdentifier","src":"88665:6:19"},"nativeSrc":"88665:24:19","nodeType":"YulFunctionCall","src":"88665:24:19"},"nativeSrc":"88665:24:19","nodeType":"YulExpressionStatement","src":"88665:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"88709:4:19","nodeType":"YulLiteral","src":"88709:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"88715:4:19","nodeType":"YulLiteral","src":"88715:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"88702:6:19","nodeType":"YulIdentifier","src":"88702:6:19"},"nativeSrc":"88702:18:19","nodeType":"YulFunctionCall","src":"88702:18:19"},"nativeSrc":"88702:18:19","nodeType":"YulExpressionStatement","src":"88702:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"88740:4:19","nodeType":"YulLiteral","src":"88740:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"88746:4:19","nodeType":"YulLiteral","src":"88746:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"88733:6:19","nodeType":"YulIdentifier","src":"88733:6:19"},"nativeSrc":"88733:18:19","nodeType":"YulFunctionCall","src":"88733:18:19"},"nativeSrc":"88733:18:19","nodeType":"YulExpressionStatement","src":"88733:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"88771:4:19","nodeType":"YulLiteral","src":"88771:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"88777:2:19","nodeType":"YulIdentifier","src":"88777:2:19"}],"functionName":{"name":"mstore","nativeSrc":"88764:6:19","nodeType":"YulIdentifier","src":"88764:6:19"},"nativeSrc":"88764:16:19","nodeType":"YulFunctionCall","src":"88764:16:19"},"nativeSrc":"88764:16:19","nodeType":"YulExpressionStatement","src":"88764:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"88805:4:19","nodeType":"YulLiteral","src":"88805:4:19","type":"","value":"0x80"},{"name":"p0","nativeSrc":"88811:2:19","nodeType":"YulIdentifier","src":"88811:2:19"}],"functionName":{"name":"writeString","nativeSrc":"88793:11:19","nodeType":"YulIdentifier","src":"88793:11:19"},"nativeSrc":"88793:21:19","nodeType":"YulFunctionCall","src":"88793:21:19"},"nativeSrc":"88793:21:19","nodeType":"YulExpressionStatement","src":"88793:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"88839:4:19","nodeType":"YulLiteral","src":"88839:4:19","type":"","value":"0xc0"},{"name":"p1","nativeSrc":"88845:2:19","nodeType":"YulIdentifier","src":"88845:2:19"}],"functionName":{"name":"writeString","nativeSrc":"88827:11:19","nodeType":"YulIdentifier","src":"88827:11:19"},"nativeSrc":"88827:21:19","nodeType":"YulFunctionCall","src":"88827:21:19"},"nativeSrc":"88827:21:19","nodeType":"YulExpressionStatement","src":"88827:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29040,"isOffset":false,"isSlot":false,"src":"88368:2:19","valueSize":1},{"declaration":29043,"isOffset":false,"isSlot":false,"src":"88398:2:19","valueSize":1},{"declaration":29046,"isOffset":false,"isSlot":false,"src":"88428:2:19","valueSize":1},{"declaration":29049,"isOffset":false,"isSlot":false,"src":"88458:2:19","valueSize":1},{"declaration":29052,"isOffset":false,"isSlot":false,"src":"88488:2:19","valueSize":1},{"declaration":29055,"isOffset":false,"isSlot":false,"src":"88518:2:19","valueSize":1},{"declaration":29058,"isOffset":false,"isSlot":false,"src":"88548:2:19","valueSize":1},{"declaration":29061,"isOffset":false,"isSlot":false,"src":"88578:2:19","valueSize":1},{"declaration":29032,"isOffset":false,"isSlot":false,"src":"88811:2:19","valueSize":1},{"declaration":29034,"isOffset":false,"isSlot":false,"src":"88845:2:19","valueSize":1},{"declaration":29036,"isOffset":false,"isSlot":false,"src":"88777:2:19","valueSize":1}],"id":29063,"nodeType":"InlineAssembly","src":"87990:868:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"88883:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786534","id":29066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"88889:4:19","typeDescriptions":{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"},"value":"0xe4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"}],"id":29064,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"88867:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"88867:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29068,"nodeType":"ExpressionStatement","src":"88867:27:19"},{"AST":{"nativeSrc":"88956:243:19","nodeType":"YulBlock","src":"88956:243:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"88977:4:19","nodeType":"YulLiteral","src":"88977:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"88983:2:19","nodeType":"YulIdentifier","src":"88983:2:19"}],"functionName":{"name":"mstore","nativeSrc":"88970:6:19","nodeType":"YulIdentifier","src":"88970:6:19"},"nativeSrc":"88970:16:19","nodeType":"YulFunctionCall","src":"88970:16:19"},"nativeSrc":"88970:16:19","nodeType":"YulExpressionStatement","src":"88970:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"89006:4:19","nodeType":"YulLiteral","src":"89006:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"89012:2:19","nodeType":"YulIdentifier","src":"89012:2:19"}],"functionName":{"name":"mstore","nativeSrc":"88999:6:19","nodeType":"YulIdentifier","src":"88999:6:19"},"nativeSrc":"88999:16:19","nodeType":"YulFunctionCall","src":"88999:16:19"},"nativeSrc":"88999:16:19","nodeType":"YulExpressionStatement","src":"88999:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"89035:4:19","nodeType":"YulLiteral","src":"89035:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"89041:2:19","nodeType":"YulIdentifier","src":"89041:2:19"}],"functionName":{"name":"mstore","nativeSrc":"89028:6:19","nodeType":"YulIdentifier","src":"89028:6:19"},"nativeSrc":"89028:16:19","nodeType":"YulFunctionCall","src":"89028:16:19"},"nativeSrc":"89028:16:19","nodeType":"YulExpressionStatement","src":"89028:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"89064:4:19","nodeType":"YulLiteral","src":"89064:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"89070:2:19","nodeType":"YulIdentifier","src":"89070:2:19"}],"functionName":{"name":"mstore","nativeSrc":"89057:6:19","nodeType":"YulIdentifier","src":"89057:6:19"},"nativeSrc":"89057:16:19","nodeType":"YulFunctionCall","src":"89057:16:19"},"nativeSrc":"89057:16:19","nodeType":"YulExpressionStatement","src":"89057:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"89093:4:19","nodeType":"YulLiteral","src":"89093:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"89099:2:19","nodeType":"YulIdentifier","src":"89099:2:19"}],"functionName":{"name":"mstore","nativeSrc":"89086:6:19","nodeType":"YulIdentifier","src":"89086:6:19"},"nativeSrc":"89086:16:19","nodeType":"YulFunctionCall","src":"89086:16:19"},"nativeSrc":"89086:16:19","nodeType":"YulExpressionStatement","src":"89086:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"89122:4:19","nodeType":"YulLiteral","src":"89122:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"89128:2:19","nodeType":"YulIdentifier","src":"89128:2:19"}],"functionName":{"name":"mstore","nativeSrc":"89115:6:19","nodeType":"YulIdentifier","src":"89115:6:19"},"nativeSrc":"89115:16:19","nodeType":"YulFunctionCall","src":"89115:16:19"},"nativeSrc":"89115:16:19","nodeType":"YulExpressionStatement","src":"89115:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"89151:4:19","nodeType":"YulLiteral","src":"89151:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"89157:2:19","nodeType":"YulIdentifier","src":"89157:2:19"}],"functionName":{"name":"mstore","nativeSrc":"89144:6:19","nodeType":"YulIdentifier","src":"89144:6:19"},"nativeSrc":"89144:16:19","nodeType":"YulFunctionCall","src":"89144:16:19"},"nativeSrc":"89144:16:19","nodeType":"YulExpressionStatement","src":"89144:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"89180:4:19","nodeType":"YulLiteral","src":"89180:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"89186:2:19","nodeType":"YulIdentifier","src":"89186:2:19"}],"functionName":{"name":"mstore","nativeSrc":"89173:6:19","nodeType":"YulIdentifier","src":"89173:6:19"},"nativeSrc":"89173:16:19","nodeType":"YulFunctionCall","src":"89173:16:19"},"nativeSrc":"89173:16:19","nodeType":"YulExpressionStatement","src":"89173:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29040,"isOffset":false,"isSlot":false,"src":"88983:2:19","valueSize":1},{"declaration":29043,"isOffset":false,"isSlot":false,"src":"89012:2:19","valueSize":1},{"declaration":29046,"isOffset":false,"isSlot":false,"src":"89041:2:19","valueSize":1},{"declaration":29049,"isOffset":false,"isSlot":false,"src":"89070:2:19","valueSize":1},{"declaration":29052,"isOffset":false,"isSlot":false,"src":"89099:2:19","valueSize":1},{"declaration":29055,"isOffset":false,"isSlot":false,"src":"89128:2:19","valueSize":1},{"declaration":29058,"isOffset":false,"isSlot":false,"src":"89157:2:19","valueSize":1},{"declaration":29061,"isOffset":false,"isSlot":false,"src":"89186:2:19","valueSize":1}],"id":29069,"nodeType":"InlineAssembly","src":"88947:252:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"87723:3:19","parameters":{"id":29037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29032,"mutability":"mutable","name":"p0","nameLocation":"87735:2:19","nodeType":"VariableDeclaration","scope":29071,"src":"87727:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29031,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87727:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29034,"mutability":"mutable","name":"p1","nameLocation":"87747:2:19","nodeType":"VariableDeclaration","scope":29071,"src":"87739:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29033,"name":"bytes32","nodeType":"ElementaryTypeName","src":"87739:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29036,"mutability":"mutable","name":"p2","nameLocation":"87759:2:19","nodeType":"VariableDeclaration","scope":29071,"src":"87751:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29035,"name":"uint256","nodeType":"ElementaryTypeName","src":"87751:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"87726:36:19"},"returnParameters":{"id":29038,"nodeType":"ParameterList","parameters":[],"src":"87777:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29118,"nodeType":"FunctionDefinition","src":"89211:1690:19","nodes":[],"body":{"id":29117,"nodeType":"Block","src":"89274:1627:19","nodes":[],"statements":[{"assignments":[29081],"declarations":[{"constant":false,"id":29081,"mutability":"mutable","name":"m0","nameLocation":"89292:2:19","nodeType":"VariableDeclaration","scope":29117,"src":"89284:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29080,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89284:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29082,"nodeType":"VariableDeclarationStatement","src":"89284:10:19"},{"assignments":[29084],"declarations":[{"constant":false,"id":29084,"mutability":"mutable","name":"m1","nameLocation":"89312:2:19","nodeType":"VariableDeclaration","scope":29117,"src":"89304:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29083,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89304:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29085,"nodeType":"VariableDeclarationStatement","src":"89304:10:19"},{"assignments":[29087],"declarations":[{"constant":false,"id":29087,"mutability":"mutable","name":"m2","nameLocation":"89332:2:19","nodeType":"VariableDeclaration","scope":29117,"src":"89324:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29086,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89324:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29088,"nodeType":"VariableDeclarationStatement","src":"89324:10:19"},{"assignments":[29090],"declarations":[{"constant":false,"id":29090,"mutability":"mutable","name":"m3","nameLocation":"89352:2:19","nodeType":"VariableDeclaration","scope":29117,"src":"89344:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29089,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89344:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29091,"nodeType":"VariableDeclarationStatement","src":"89344:10:19"},{"assignments":[29093],"declarations":[{"constant":false,"id":29093,"mutability":"mutable","name":"m4","nameLocation":"89372:2:19","nodeType":"VariableDeclaration","scope":29117,"src":"89364:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29092,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89364:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29094,"nodeType":"VariableDeclarationStatement","src":"89364:10:19"},{"assignments":[29096],"declarations":[{"constant":false,"id":29096,"mutability":"mutable","name":"m5","nameLocation":"89392:2:19","nodeType":"VariableDeclaration","scope":29117,"src":"89384:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29095,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89384:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29097,"nodeType":"VariableDeclarationStatement","src":"89384:10:19"},{"assignments":[29099],"declarations":[{"constant":false,"id":29099,"mutability":"mutable","name":"m6","nameLocation":"89412:2:19","nodeType":"VariableDeclaration","scope":29117,"src":"89404:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29098,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89404:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29100,"nodeType":"VariableDeclarationStatement","src":"89404:10:19"},{"assignments":[29102],"declarations":[{"constant":false,"id":29102,"mutability":"mutable","name":"m7","nameLocation":"89432:2:19","nodeType":"VariableDeclaration","scope":29117,"src":"89424:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29101,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89424:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29103,"nodeType":"VariableDeclarationStatement","src":"89424:10:19"},{"assignments":[29105],"declarations":[{"constant":false,"id":29105,"mutability":"mutable","name":"m8","nameLocation":"89452:2:19","nodeType":"VariableDeclaration","scope":29117,"src":"89444:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29104,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89444:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29106,"nodeType":"VariableDeclarationStatement","src":"89444:10:19"},{"assignments":[29108],"declarations":[{"constant":false,"id":29108,"mutability":"mutable","name":"m9","nameLocation":"89472:2:19","nodeType":"VariableDeclaration","scope":29117,"src":"89464:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29107,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89464:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29109,"nodeType":"VariableDeclarationStatement","src":"89464:10:19"},{"AST":{"nativeSrc":"89536:957:19","nodeType":"YulBlock","src":"89536:957:19","statements":[{"body":{"nativeSrc":"89579:313:19","nodeType":"YulBlock","src":"89579:313:19","statements":[{"nativeSrc":"89597:15:19","nodeType":"YulVariableDeclaration","src":"89597:15:19","value":{"kind":"number","nativeSrc":"89611:1:19","nodeType":"YulLiteral","src":"89611:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"89601:6:19","nodeType":"YulTypedName","src":"89601:6:19","type":""}]},{"body":{"nativeSrc":"89682:40:19","nodeType":"YulBlock","src":"89682:40:19","statements":[{"body":{"nativeSrc":"89711:9:19","nodeType":"YulBlock","src":"89711:9:19","statements":[{"nativeSrc":"89713:5:19","nodeType":"YulBreak","src":"89713:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"89699:6:19","nodeType":"YulIdentifier","src":"89699:6:19"},{"name":"w","nativeSrc":"89707:1:19","nodeType":"YulIdentifier","src":"89707:1:19"}],"functionName":{"name":"byte","nativeSrc":"89694:4:19","nodeType":"YulIdentifier","src":"89694:4:19"},"nativeSrc":"89694:15:19","nodeType":"YulFunctionCall","src":"89694:15:19"}],"functionName":{"name":"iszero","nativeSrc":"89687:6:19","nodeType":"YulIdentifier","src":"89687:6:19"},"nativeSrc":"89687:23:19","nodeType":"YulFunctionCall","src":"89687:23:19"},"nativeSrc":"89684:36:19","nodeType":"YulIf","src":"89684:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"89639:6:19","nodeType":"YulIdentifier","src":"89639:6:19"},{"kind":"number","nativeSrc":"89647:4:19","nodeType":"YulLiteral","src":"89647:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"89636:2:19","nodeType":"YulIdentifier","src":"89636:2:19"},"nativeSrc":"89636:16:19","nodeType":"YulFunctionCall","src":"89636:16:19"},"nativeSrc":"89629:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"89653:28:19","nodeType":"YulBlock","src":"89653:28:19","statements":[{"nativeSrc":"89655:24:19","nodeType":"YulAssignment","src":"89655:24:19","value":{"arguments":[{"name":"length","nativeSrc":"89669:6:19","nodeType":"YulIdentifier","src":"89669:6:19"},{"kind":"number","nativeSrc":"89677:1:19","nodeType":"YulLiteral","src":"89677:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"89665:3:19","nodeType":"YulIdentifier","src":"89665:3:19"},"nativeSrc":"89665:14:19","nodeType":"YulFunctionCall","src":"89665:14:19"},"variableNames":[{"name":"length","nativeSrc":"89655:6:19","nodeType":"YulIdentifier","src":"89655:6:19"}]}]},"pre":{"nativeSrc":"89633:2:19","nodeType":"YulBlock","src":"89633:2:19","statements":[]},"src":"89629:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"89746:3:19","nodeType":"YulIdentifier","src":"89746:3:19"},{"name":"length","nativeSrc":"89751:6:19","nodeType":"YulIdentifier","src":"89751:6:19"}],"functionName":{"name":"mstore","nativeSrc":"89739:6:19","nodeType":"YulIdentifier","src":"89739:6:19"},"nativeSrc":"89739:19:19","nodeType":"YulFunctionCall","src":"89739:19:19"},"nativeSrc":"89739:19:19","nodeType":"YulExpressionStatement","src":"89739:19:19"},{"nativeSrc":"89775:37:19","nodeType":"YulVariableDeclaration","src":"89775:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"89792:3:19","nodeType":"YulLiteral","src":"89792:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"89801:1:19","nodeType":"YulLiteral","src":"89801:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"89804:6:19","nodeType":"YulIdentifier","src":"89804:6:19"}],"functionName":{"name":"shl","nativeSrc":"89797:3:19","nodeType":"YulIdentifier","src":"89797:3:19"},"nativeSrc":"89797:14:19","nodeType":"YulFunctionCall","src":"89797:14:19"}],"functionName":{"name":"sub","nativeSrc":"89788:3:19","nodeType":"YulIdentifier","src":"89788:3:19"},"nativeSrc":"89788:24:19","nodeType":"YulFunctionCall","src":"89788:24:19"},"variables":[{"name":"shift","nativeSrc":"89779:5:19","nodeType":"YulTypedName","src":"89779:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"89840:3:19","nodeType":"YulIdentifier","src":"89840:3:19"},{"kind":"number","nativeSrc":"89845:4:19","nodeType":"YulLiteral","src":"89845:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"89836:3:19","nodeType":"YulIdentifier","src":"89836:3:19"},"nativeSrc":"89836:14:19","nodeType":"YulFunctionCall","src":"89836:14:19"},{"arguments":[{"name":"shift","nativeSrc":"89856:5:19","nodeType":"YulIdentifier","src":"89856:5:19"},{"arguments":[{"name":"shift","nativeSrc":"89867:5:19","nodeType":"YulIdentifier","src":"89867:5:19"},{"name":"w","nativeSrc":"89874:1:19","nodeType":"YulIdentifier","src":"89874:1:19"}],"functionName":{"name":"shr","nativeSrc":"89863:3:19","nodeType":"YulIdentifier","src":"89863:3:19"},"nativeSrc":"89863:13:19","nodeType":"YulFunctionCall","src":"89863:13:19"}],"functionName":{"name":"shl","nativeSrc":"89852:3:19","nodeType":"YulIdentifier","src":"89852:3:19"},"nativeSrc":"89852:25:19","nodeType":"YulFunctionCall","src":"89852:25:19"}],"functionName":{"name":"mstore","nativeSrc":"89829:6:19","nodeType":"YulIdentifier","src":"89829:6:19"},"nativeSrc":"89829:49:19","nodeType":"YulFunctionCall","src":"89829:49:19"},"nativeSrc":"89829:49:19","nodeType":"YulExpressionStatement","src":"89829:49:19"}]},"name":"writeString","nativeSrc":"89550:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"89571:3:19","nodeType":"YulTypedName","src":"89571:3:19","type":""},{"name":"w","nativeSrc":"89576:1:19","nodeType":"YulTypedName","src":"89576:1:19","type":""}],"src":"89550:342:19"},{"nativeSrc":"89905:17:19","nodeType":"YulAssignment","src":"89905:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"89917:4:19","nodeType":"YulLiteral","src":"89917:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"89911:5:19","nodeType":"YulIdentifier","src":"89911:5:19"},"nativeSrc":"89911:11:19","nodeType":"YulFunctionCall","src":"89911:11:19"},"variableNames":[{"name":"m0","nativeSrc":"89905:2:19","nodeType":"YulIdentifier","src":"89905:2:19"}]},{"nativeSrc":"89935:17:19","nodeType":"YulAssignment","src":"89935:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"89947:4:19","nodeType":"YulLiteral","src":"89947:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"89941:5:19","nodeType":"YulIdentifier","src":"89941:5:19"},"nativeSrc":"89941:11:19","nodeType":"YulFunctionCall","src":"89941:11:19"},"variableNames":[{"name":"m1","nativeSrc":"89935:2:19","nodeType":"YulIdentifier","src":"89935:2:19"}]},{"nativeSrc":"89965:17:19","nodeType":"YulAssignment","src":"89965:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"89977:4:19","nodeType":"YulLiteral","src":"89977:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"89971:5:19","nodeType":"YulIdentifier","src":"89971:5:19"},"nativeSrc":"89971:11:19","nodeType":"YulFunctionCall","src":"89971:11:19"},"variableNames":[{"name":"m2","nativeSrc":"89965:2:19","nodeType":"YulIdentifier","src":"89965:2:19"}]},{"nativeSrc":"89995:17:19","nodeType":"YulAssignment","src":"89995:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"90007:4:19","nodeType":"YulLiteral","src":"90007:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"90001:5:19","nodeType":"YulIdentifier","src":"90001:5:19"},"nativeSrc":"90001:11:19","nodeType":"YulFunctionCall","src":"90001:11:19"},"variableNames":[{"name":"m3","nativeSrc":"89995:2:19","nodeType":"YulIdentifier","src":"89995:2:19"}]},{"nativeSrc":"90025:17:19","nodeType":"YulAssignment","src":"90025:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"90037:4:19","nodeType":"YulLiteral","src":"90037:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"90031:5:19","nodeType":"YulIdentifier","src":"90031:5:19"},"nativeSrc":"90031:11:19","nodeType":"YulFunctionCall","src":"90031:11:19"},"variableNames":[{"name":"m4","nativeSrc":"90025:2:19","nodeType":"YulIdentifier","src":"90025:2:19"}]},{"nativeSrc":"90055:17:19","nodeType":"YulAssignment","src":"90055:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"90067:4:19","nodeType":"YulLiteral","src":"90067:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"90061:5:19","nodeType":"YulIdentifier","src":"90061:5:19"},"nativeSrc":"90061:11:19","nodeType":"YulFunctionCall","src":"90061:11:19"},"variableNames":[{"name":"m5","nativeSrc":"90055:2:19","nodeType":"YulIdentifier","src":"90055:2:19"}]},{"nativeSrc":"90085:17:19","nodeType":"YulAssignment","src":"90085:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"90097:4:19","nodeType":"YulLiteral","src":"90097:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"90091:5:19","nodeType":"YulIdentifier","src":"90091:5:19"},"nativeSrc":"90091:11:19","nodeType":"YulFunctionCall","src":"90091:11:19"},"variableNames":[{"name":"m6","nativeSrc":"90085:2:19","nodeType":"YulIdentifier","src":"90085:2:19"}]},{"nativeSrc":"90115:17:19","nodeType":"YulAssignment","src":"90115:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"90127:4:19","nodeType":"YulLiteral","src":"90127:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"90121:5:19","nodeType":"YulIdentifier","src":"90121:5:19"},"nativeSrc":"90121:11:19","nodeType":"YulFunctionCall","src":"90121:11:19"},"variableNames":[{"name":"m7","nativeSrc":"90115:2:19","nodeType":"YulIdentifier","src":"90115:2:19"}]},{"nativeSrc":"90145:18:19","nodeType":"YulAssignment","src":"90145:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"90157:5:19","nodeType":"YulLiteral","src":"90157:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"90151:5:19","nodeType":"YulIdentifier","src":"90151:5:19"},"nativeSrc":"90151:12:19","nodeType":"YulFunctionCall","src":"90151:12:19"},"variableNames":[{"name":"m8","nativeSrc":"90145:2:19","nodeType":"YulIdentifier","src":"90145:2:19"}]},{"nativeSrc":"90176:18:19","nodeType":"YulAssignment","src":"90176:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"90188:5:19","nodeType":"YulLiteral","src":"90188:5:19","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"90182:5:19","nodeType":"YulIdentifier","src":"90182:5:19"},"nativeSrc":"90182:12:19","nodeType":"YulFunctionCall","src":"90182:12:19"},"variableNames":[{"name":"m9","nativeSrc":"90176:2:19","nodeType":"YulIdentifier","src":"90176:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90270:4:19","nodeType":"YulLiteral","src":"90270:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"90276:10:19","nodeType":"YulLiteral","src":"90276:10:19","type":"","value":"0x2ced7cef"}],"functionName":{"name":"mstore","nativeSrc":"90263:6:19","nodeType":"YulIdentifier","src":"90263:6:19"},"nativeSrc":"90263:24:19","nodeType":"YulFunctionCall","src":"90263:24:19"},"nativeSrc":"90263:24:19","nodeType":"YulExpressionStatement","src":"90263:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90307:4:19","nodeType":"YulLiteral","src":"90307:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"90313:4:19","nodeType":"YulLiteral","src":"90313:4:19","type":"","value":"0x60"}],"functionName":{"name":"mstore","nativeSrc":"90300:6:19","nodeType":"YulIdentifier","src":"90300:6:19"},"nativeSrc":"90300:18:19","nodeType":"YulFunctionCall","src":"90300:18:19"},"nativeSrc":"90300:18:19","nodeType":"YulExpressionStatement","src":"90300:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90338:4:19","nodeType":"YulLiteral","src":"90338:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"90344:4:19","nodeType":"YulLiteral","src":"90344:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nativeSrc":"90331:6:19","nodeType":"YulIdentifier","src":"90331:6:19"},"nativeSrc":"90331:18:19","nodeType":"YulFunctionCall","src":"90331:18:19"},"nativeSrc":"90331:18:19","nodeType":"YulExpressionStatement","src":"90331:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90369:4:19","nodeType":"YulLiteral","src":"90369:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"90375:4:19","nodeType":"YulLiteral","src":"90375:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mstore","nativeSrc":"90362:6:19","nodeType":"YulIdentifier","src":"90362:6:19"},"nativeSrc":"90362:18:19","nodeType":"YulFunctionCall","src":"90362:18:19"},"nativeSrc":"90362:18:19","nodeType":"YulExpressionStatement","src":"90362:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90405:4:19","nodeType":"YulLiteral","src":"90405:4:19","type":"","value":"0x80"},{"name":"p0","nativeSrc":"90411:2:19","nodeType":"YulIdentifier","src":"90411:2:19"}],"functionName":{"name":"writeString","nativeSrc":"90393:11:19","nodeType":"YulIdentifier","src":"90393:11:19"},"nativeSrc":"90393:21:19","nodeType":"YulFunctionCall","src":"90393:21:19"},"nativeSrc":"90393:21:19","nodeType":"YulExpressionStatement","src":"90393:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90439:4:19","nodeType":"YulLiteral","src":"90439:4:19","type":"","value":"0xc0"},{"name":"p1","nativeSrc":"90445:2:19","nodeType":"YulIdentifier","src":"90445:2:19"}],"functionName":{"name":"writeString","nativeSrc":"90427:11:19","nodeType":"YulIdentifier","src":"90427:11:19"},"nativeSrc":"90427:21:19","nodeType":"YulFunctionCall","src":"90427:21:19"},"nativeSrc":"90427:21:19","nodeType":"YulExpressionStatement","src":"90427:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90473:5:19","nodeType":"YulLiteral","src":"90473:5:19","type":"","value":"0x100"},{"name":"p2","nativeSrc":"90480:2:19","nodeType":"YulIdentifier","src":"90480:2:19"}],"functionName":{"name":"writeString","nativeSrc":"90461:11:19","nodeType":"YulIdentifier","src":"90461:11:19"},"nativeSrc":"90461:22:19","nodeType":"YulFunctionCall","src":"90461:22:19"},"nativeSrc":"90461:22:19","nodeType":"YulExpressionStatement","src":"90461:22:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29081,"isOffset":false,"isSlot":false,"src":"89905:2:19","valueSize":1},{"declaration":29084,"isOffset":false,"isSlot":false,"src":"89935:2:19","valueSize":1},{"declaration":29087,"isOffset":false,"isSlot":false,"src":"89965:2:19","valueSize":1},{"declaration":29090,"isOffset":false,"isSlot":false,"src":"89995:2:19","valueSize":1},{"declaration":29093,"isOffset":false,"isSlot":false,"src":"90025:2:19","valueSize":1},{"declaration":29096,"isOffset":false,"isSlot":false,"src":"90055:2:19","valueSize":1},{"declaration":29099,"isOffset":false,"isSlot":false,"src":"90085:2:19","valueSize":1},{"declaration":29102,"isOffset":false,"isSlot":false,"src":"90115:2:19","valueSize":1},{"declaration":29105,"isOffset":false,"isSlot":false,"src":"90145:2:19","valueSize":1},{"declaration":29108,"isOffset":false,"isSlot":false,"src":"90176:2:19","valueSize":1},{"declaration":29073,"isOffset":false,"isSlot":false,"src":"90411:2:19","valueSize":1},{"declaration":29075,"isOffset":false,"isSlot":false,"src":"90445:2:19","valueSize":1},{"declaration":29077,"isOffset":false,"isSlot":false,"src":"90480:2:19","valueSize":1}],"id":29110,"nodeType":"InlineAssembly","src":"89527:966:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"90518:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313234","id":29113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"90524:5:19","typeDescriptions":{"typeIdentifier":"t_rational_292_by_1","typeString":"int_const 292"},"value":"0x124"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_292_by_1","typeString":"int_const 292"}],"id":29111,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"90502:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"90502:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29115,"nodeType":"ExpressionStatement","src":"90502:28:19"},{"AST":{"nativeSrc":"90592:303:19","nodeType":"YulBlock","src":"90592:303:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"90613:4:19","nodeType":"YulLiteral","src":"90613:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"90619:2:19","nodeType":"YulIdentifier","src":"90619:2:19"}],"functionName":{"name":"mstore","nativeSrc":"90606:6:19","nodeType":"YulIdentifier","src":"90606:6:19"},"nativeSrc":"90606:16:19","nodeType":"YulFunctionCall","src":"90606:16:19"},"nativeSrc":"90606:16:19","nodeType":"YulExpressionStatement","src":"90606:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90642:4:19","nodeType":"YulLiteral","src":"90642:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"90648:2:19","nodeType":"YulIdentifier","src":"90648:2:19"}],"functionName":{"name":"mstore","nativeSrc":"90635:6:19","nodeType":"YulIdentifier","src":"90635:6:19"},"nativeSrc":"90635:16:19","nodeType":"YulFunctionCall","src":"90635:16:19"},"nativeSrc":"90635:16:19","nodeType":"YulExpressionStatement","src":"90635:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90671:4:19","nodeType":"YulLiteral","src":"90671:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"90677:2:19","nodeType":"YulIdentifier","src":"90677:2:19"}],"functionName":{"name":"mstore","nativeSrc":"90664:6:19","nodeType":"YulIdentifier","src":"90664:6:19"},"nativeSrc":"90664:16:19","nodeType":"YulFunctionCall","src":"90664:16:19"},"nativeSrc":"90664:16:19","nodeType":"YulExpressionStatement","src":"90664:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90700:4:19","nodeType":"YulLiteral","src":"90700:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"90706:2:19","nodeType":"YulIdentifier","src":"90706:2:19"}],"functionName":{"name":"mstore","nativeSrc":"90693:6:19","nodeType":"YulIdentifier","src":"90693:6:19"},"nativeSrc":"90693:16:19","nodeType":"YulFunctionCall","src":"90693:16:19"},"nativeSrc":"90693:16:19","nodeType":"YulExpressionStatement","src":"90693:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90729:4:19","nodeType":"YulLiteral","src":"90729:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"90735:2:19","nodeType":"YulIdentifier","src":"90735:2:19"}],"functionName":{"name":"mstore","nativeSrc":"90722:6:19","nodeType":"YulIdentifier","src":"90722:6:19"},"nativeSrc":"90722:16:19","nodeType":"YulFunctionCall","src":"90722:16:19"},"nativeSrc":"90722:16:19","nodeType":"YulExpressionStatement","src":"90722:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90758:4:19","nodeType":"YulLiteral","src":"90758:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"90764:2:19","nodeType":"YulIdentifier","src":"90764:2:19"}],"functionName":{"name":"mstore","nativeSrc":"90751:6:19","nodeType":"YulIdentifier","src":"90751:6:19"},"nativeSrc":"90751:16:19","nodeType":"YulFunctionCall","src":"90751:16:19"},"nativeSrc":"90751:16:19","nodeType":"YulExpressionStatement","src":"90751:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90787:4:19","nodeType":"YulLiteral","src":"90787:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"90793:2:19","nodeType":"YulIdentifier","src":"90793:2:19"}],"functionName":{"name":"mstore","nativeSrc":"90780:6:19","nodeType":"YulIdentifier","src":"90780:6:19"},"nativeSrc":"90780:16:19","nodeType":"YulFunctionCall","src":"90780:16:19"},"nativeSrc":"90780:16:19","nodeType":"YulExpressionStatement","src":"90780:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90816:4:19","nodeType":"YulLiteral","src":"90816:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"90822:2:19","nodeType":"YulIdentifier","src":"90822:2:19"}],"functionName":{"name":"mstore","nativeSrc":"90809:6:19","nodeType":"YulIdentifier","src":"90809:6:19"},"nativeSrc":"90809:16:19","nodeType":"YulFunctionCall","src":"90809:16:19"},"nativeSrc":"90809:16:19","nodeType":"YulExpressionStatement","src":"90809:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90845:5:19","nodeType":"YulLiteral","src":"90845:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"90852:2:19","nodeType":"YulIdentifier","src":"90852:2:19"}],"functionName":{"name":"mstore","nativeSrc":"90838:6:19","nodeType":"YulIdentifier","src":"90838:6:19"},"nativeSrc":"90838:17:19","nodeType":"YulFunctionCall","src":"90838:17:19"},"nativeSrc":"90838:17:19","nodeType":"YulExpressionStatement","src":"90838:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"90875:5:19","nodeType":"YulLiteral","src":"90875:5:19","type":"","value":"0x120"},{"name":"m9","nativeSrc":"90882:2:19","nodeType":"YulIdentifier","src":"90882:2:19"}],"functionName":{"name":"mstore","nativeSrc":"90868:6:19","nodeType":"YulIdentifier","src":"90868:6:19"},"nativeSrc":"90868:17:19","nodeType":"YulFunctionCall","src":"90868:17:19"},"nativeSrc":"90868:17:19","nodeType":"YulExpressionStatement","src":"90868:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29081,"isOffset":false,"isSlot":false,"src":"90619:2:19","valueSize":1},{"declaration":29084,"isOffset":false,"isSlot":false,"src":"90648:2:19","valueSize":1},{"declaration":29087,"isOffset":false,"isSlot":false,"src":"90677:2:19","valueSize":1},{"declaration":29090,"isOffset":false,"isSlot":false,"src":"90706:2:19","valueSize":1},{"declaration":29093,"isOffset":false,"isSlot":false,"src":"90735:2:19","valueSize":1},{"declaration":29096,"isOffset":false,"isSlot":false,"src":"90764:2:19","valueSize":1},{"declaration":29099,"isOffset":false,"isSlot":false,"src":"90793:2:19","valueSize":1},{"declaration":29102,"isOffset":false,"isSlot":false,"src":"90822:2:19","valueSize":1},{"declaration":29105,"isOffset":false,"isSlot":false,"src":"90852:2:19","valueSize":1},{"declaration":29108,"isOffset":false,"isSlot":false,"src":"90882:2:19","valueSize":1}],"id":29116,"nodeType":"InlineAssembly","src":"90583:312:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"89220:3:19","parameters":{"id":29078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29073,"mutability":"mutable","name":"p0","nameLocation":"89232:2:19","nodeType":"VariableDeclaration","scope":29118,"src":"89224:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29072,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89224:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29075,"mutability":"mutable","name":"p1","nameLocation":"89244:2:19","nodeType":"VariableDeclaration","scope":29118,"src":"89236:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29074,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89236:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29077,"mutability":"mutable","name":"p2","nameLocation":"89256:2:19","nodeType":"VariableDeclaration","scope":29118,"src":"89248:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29076,"name":"bytes32","nodeType":"ElementaryTypeName","src":"89248:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"89223:36:19"},"returnParameters":{"id":29079,"nodeType":"ParameterList","parameters":[],"src":"89274:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29152,"nodeType":"FunctionDefinition","src":"90907:878:19","nodes":[],"body":{"id":29151,"nodeType":"Block","src":"90982:803:19","nodes":[],"statements":[{"assignments":[29130],"declarations":[{"constant":false,"id":29130,"mutability":"mutable","name":"m0","nameLocation":"91000:2:19","nodeType":"VariableDeclaration","scope":29151,"src":"90992:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29129,"name":"bytes32","nodeType":"ElementaryTypeName","src":"90992:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29131,"nodeType":"VariableDeclarationStatement","src":"90992:10:19"},{"assignments":[29133],"declarations":[{"constant":false,"id":29133,"mutability":"mutable","name":"m1","nameLocation":"91020:2:19","nodeType":"VariableDeclaration","scope":29151,"src":"91012:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29132,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91012:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29134,"nodeType":"VariableDeclarationStatement","src":"91012:10:19"},{"assignments":[29136],"declarations":[{"constant":false,"id":29136,"mutability":"mutable","name":"m2","nameLocation":"91040:2:19","nodeType":"VariableDeclaration","scope":29151,"src":"91032:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29135,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91032:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29137,"nodeType":"VariableDeclarationStatement","src":"91032:10:19"},{"assignments":[29139],"declarations":[{"constant":false,"id":29139,"mutability":"mutable","name":"m3","nameLocation":"91060:2:19","nodeType":"VariableDeclaration","scope":29151,"src":"91052:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29138,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91052:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29140,"nodeType":"VariableDeclarationStatement","src":"91052:10:19"},{"assignments":[29142],"declarations":[{"constant":false,"id":29142,"mutability":"mutable","name":"m4","nameLocation":"91080:2:19","nodeType":"VariableDeclaration","scope":29151,"src":"91072:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29141,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91072:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29143,"nodeType":"VariableDeclarationStatement","src":"91072:10:19"},{"AST":{"nativeSrc":"91144:381:19","nodeType":"YulBlock","src":"91144:381:19","statements":[{"nativeSrc":"91158:17:19","nodeType":"YulAssignment","src":"91158:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"91170:4:19","nodeType":"YulLiteral","src":"91170:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"91164:5:19","nodeType":"YulIdentifier","src":"91164:5:19"},"nativeSrc":"91164:11:19","nodeType":"YulFunctionCall","src":"91164:11:19"},"variableNames":[{"name":"m0","nativeSrc":"91158:2:19","nodeType":"YulIdentifier","src":"91158:2:19"}]},{"nativeSrc":"91188:17:19","nodeType":"YulAssignment","src":"91188:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"91200:4:19","nodeType":"YulLiteral","src":"91200:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"91194:5:19","nodeType":"YulIdentifier","src":"91194:5:19"},"nativeSrc":"91194:11:19","nodeType":"YulFunctionCall","src":"91194:11:19"},"variableNames":[{"name":"m1","nativeSrc":"91188:2:19","nodeType":"YulIdentifier","src":"91188:2:19"}]},{"nativeSrc":"91218:17:19","nodeType":"YulAssignment","src":"91218:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"91230:4:19","nodeType":"YulLiteral","src":"91230:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"91224:5:19","nodeType":"YulIdentifier","src":"91224:5:19"},"nativeSrc":"91224:11:19","nodeType":"YulFunctionCall","src":"91224:11:19"},"variableNames":[{"name":"m2","nativeSrc":"91218:2:19","nodeType":"YulIdentifier","src":"91218:2:19"}]},{"nativeSrc":"91248:17:19","nodeType":"YulAssignment","src":"91248:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"91260:4:19","nodeType":"YulLiteral","src":"91260:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"91254:5:19","nodeType":"YulIdentifier","src":"91254:5:19"},"nativeSrc":"91254:11:19","nodeType":"YulFunctionCall","src":"91254:11:19"},"variableNames":[{"name":"m3","nativeSrc":"91248:2:19","nodeType":"YulIdentifier","src":"91248:2:19"}]},{"nativeSrc":"91278:17:19","nodeType":"YulAssignment","src":"91278:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"91290:4:19","nodeType":"YulLiteral","src":"91290:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"91284:5:19","nodeType":"YulIdentifier","src":"91284:5:19"},"nativeSrc":"91284:11:19","nodeType":"YulFunctionCall","src":"91284:11:19"},"variableNames":[{"name":"m4","nativeSrc":"91278:2:19","nodeType":"YulIdentifier","src":"91278:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91382:4:19","nodeType":"YulLiteral","src":"91382:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"91388:10:19","nodeType":"YulLiteral","src":"91388:10:19","type":"","value":"0x665bf134"}],"functionName":{"name":"mstore","nativeSrc":"91375:6:19","nodeType":"YulIdentifier","src":"91375:6:19"},"nativeSrc":"91375:24:19","nodeType":"YulFunctionCall","src":"91375:24:19"},"nativeSrc":"91375:24:19","nodeType":"YulExpressionStatement","src":"91375:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91419:4:19","nodeType":"YulLiteral","src":"91419:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"91425:2:19","nodeType":"YulIdentifier","src":"91425:2:19"}],"functionName":{"name":"mstore","nativeSrc":"91412:6:19","nodeType":"YulIdentifier","src":"91412:6:19"},"nativeSrc":"91412:16:19","nodeType":"YulFunctionCall","src":"91412:16:19"},"nativeSrc":"91412:16:19","nodeType":"YulExpressionStatement","src":"91412:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91448:4:19","nodeType":"YulLiteral","src":"91448:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"91454:2:19","nodeType":"YulIdentifier","src":"91454:2:19"}],"functionName":{"name":"mstore","nativeSrc":"91441:6:19","nodeType":"YulIdentifier","src":"91441:6:19"},"nativeSrc":"91441:16:19","nodeType":"YulFunctionCall","src":"91441:16:19"},"nativeSrc":"91441:16:19","nodeType":"YulExpressionStatement","src":"91441:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91477:4:19","nodeType":"YulLiteral","src":"91477:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"91483:2:19","nodeType":"YulIdentifier","src":"91483:2:19"}],"functionName":{"name":"mstore","nativeSrc":"91470:6:19","nodeType":"YulIdentifier","src":"91470:6:19"},"nativeSrc":"91470:16:19","nodeType":"YulFunctionCall","src":"91470:16:19"},"nativeSrc":"91470:16:19","nodeType":"YulExpressionStatement","src":"91470:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91506:4:19","nodeType":"YulLiteral","src":"91506:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"91512:2:19","nodeType":"YulIdentifier","src":"91512:2:19"}],"functionName":{"name":"mstore","nativeSrc":"91499:6:19","nodeType":"YulIdentifier","src":"91499:6:19"},"nativeSrc":"91499:16:19","nodeType":"YulFunctionCall","src":"91499:16:19"},"nativeSrc":"91499:16:19","nodeType":"YulExpressionStatement","src":"91499:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29130,"isOffset":false,"isSlot":false,"src":"91158:2:19","valueSize":1},{"declaration":29133,"isOffset":false,"isSlot":false,"src":"91188:2:19","valueSize":1},{"declaration":29136,"isOffset":false,"isSlot":false,"src":"91218:2:19","valueSize":1},{"declaration":29139,"isOffset":false,"isSlot":false,"src":"91248:2:19","valueSize":1},{"declaration":29142,"isOffset":false,"isSlot":false,"src":"91278:2:19","valueSize":1},{"declaration":29120,"isOffset":false,"isSlot":false,"src":"91425:2:19","valueSize":1},{"declaration":29122,"isOffset":false,"isSlot":false,"src":"91454:2:19","valueSize":1},{"declaration":29124,"isOffset":false,"isSlot":false,"src":"91483:2:19","valueSize":1},{"declaration":29126,"isOffset":false,"isSlot":false,"src":"91512:2:19","valueSize":1}],"id":29144,"nodeType":"InlineAssembly","src":"91135:390:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"91550:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":29147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"91556:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":29145,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"91534:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"91534:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29149,"nodeType":"ExpressionStatement","src":"91534:27:19"},{"AST":{"nativeSrc":"91623:156:19","nodeType":"YulBlock","src":"91623:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"91644:4:19","nodeType":"YulLiteral","src":"91644:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"91650:2:19","nodeType":"YulIdentifier","src":"91650:2:19"}],"functionName":{"name":"mstore","nativeSrc":"91637:6:19","nodeType":"YulIdentifier","src":"91637:6:19"},"nativeSrc":"91637:16:19","nodeType":"YulFunctionCall","src":"91637:16:19"},"nativeSrc":"91637:16:19","nodeType":"YulExpressionStatement","src":"91637:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91673:4:19","nodeType":"YulLiteral","src":"91673:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"91679:2:19","nodeType":"YulIdentifier","src":"91679:2:19"}],"functionName":{"name":"mstore","nativeSrc":"91666:6:19","nodeType":"YulIdentifier","src":"91666:6:19"},"nativeSrc":"91666:16:19","nodeType":"YulFunctionCall","src":"91666:16:19"},"nativeSrc":"91666:16:19","nodeType":"YulExpressionStatement","src":"91666:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91702:4:19","nodeType":"YulLiteral","src":"91702:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"91708:2:19","nodeType":"YulIdentifier","src":"91708:2:19"}],"functionName":{"name":"mstore","nativeSrc":"91695:6:19","nodeType":"YulIdentifier","src":"91695:6:19"},"nativeSrc":"91695:16:19","nodeType":"YulFunctionCall","src":"91695:16:19"},"nativeSrc":"91695:16:19","nodeType":"YulExpressionStatement","src":"91695:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91731:4:19","nodeType":"YulLiteral","src":"91731:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"91737:2:19","nodeType":"YulIdentifier","src":"91737:2:19"}],"functionName":{"name":"mstore","nativeSrc":"91724:6:19","nodeType":"YulIdentifier","src":"91724:6:19"},"nativeSrc":"91724:16:19","nodeType":"YulFunctionCall","src":"91724:16:19"},"nativeSrc":"91724:16:19","nodeType":"YulExpressionStatement","src":"91724:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"91760:4:19","nodeType":"YulLiteral","src":"91760:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"91766:2:19","nodeType":"YulIdentifier","src":"91766:2:19"}],"functionName":{"name":"mstore","nativeSrc":"91753:6:19","nodeType":"YulIdentifier","src":"91753:6:19"},"nativeSrc":"91753:16:19","nodeType":"YulFunctionCall","src":"91753:16:19"},"nativeSrc":"91753:16:19","nodeType":"YulExpressionStatement","src":"91753:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29130,"isOffset":false,"isSlot":false,"src":"91650:2:19","valueSize":1},{"declaration":29133,"isOffset":false,"isSlot":false,"src":"91679:2:19","valueSize":1},{"declaration":29136,"isOffset":false,"isSlot":false,"src":"91708:2:19","valueSize":1},{"declaration":29139,"isOffset":false,"isSlot":false,"src":"91737:2:19","valueSize":1},{"declaration":29142,"isOffset":false,"isSlot":false,"src":"91766:2:19","valueSize":1}],"id":29150,"nodeType":"InlineAssembly","src":"91614:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"90916:3:19","parameters":{"id":29127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29120,"mutability":"mutable","name":"p0","nameLocation":"90928:2:19","nodeType":"VariableDeclaration","scope":29152,"src":"90920:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29119,"name":"address","nodeType":"ElementaryTypeName","src":"90920:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29122,"mutability":"mutable","name":"p1","nameLocation":"90940:2:19","nodeType":"VariableDeclaration","scope":29152,"src":"90932:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29121,"name":"address","nodeType":"ElementaryTypeName","src":"90932:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29124,"mutability":"mutable","name":"p2","nameLocation":"90952:2:19","nodeType":"VariableDeclaration","scope":29152,"src":"90944:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29123,"name":"address","nodeType":"ElementaryTypeName","src":"90944:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29126,"mutability":"mutable","name":"p3","nameLocation":"90964:2:19","nodeType":"VariableDeclaration","scope":29152,"src":"90956:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29125,"name":"address","nodeType":"ElementaryTypeName","src":"90956:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"90919:48:19"},"returnParameters":{"id":29128,"nodeType":"ParameterList","parameters":[],"src":"90982:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29186,"nodeType":"FunctionDefinition","src":"91791:872:19","nodes":[],"body":{"id":29185,"nodeType":"Block","src":"91863:800:19","nodes":[],"statements":[{"assignments":[29164],"declarations":[{"constant":false,"id":29164,"mutability":"mutable","name":"m0","nameLocation":"91881:2:19","nodeType":"VariableDeclaration","scope":29185,"src":"91873:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29163,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91873:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29165,"nodeType":"VariableDeclarationStatement","src":"91873:10:19"},{"assignments":[29167],"declarations":[{"constant":false,"id":29167,"mutability":"mutable","name":"m1","nameLocation":"91901:2:19","nodeType":"VariableDeclaration","scope":29185,"src":"91893:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29166,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91893:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29168,"nodeType":"VariableDeclarationStatement","src":"91893:10:19"},{"assignments":[29170],"declarations":[{"constant":false,"id":29170,"mutability":"mutable","name":"m2","nameLocation":"91921:2:19","nodeType":"VariableDeclaration","scope":29185,"src":"91913:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29169,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91913:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29171,"nodeType":"VariableDeclarationStatement","src":"91913:10:19"},{"assignments":[29173],"declarations":[{"constant":false,"id":29173,"mutability":"mutable","name":"m3","nameLocation":"91941:2:19","nodeType":"VariableDeclaration","scope":29185,"src":"91933:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29172,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91933:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29174,"nodeType":"VariableDeclarationStatement","src":"91933:10:19"},{"assignments":[29176],"declarations":[{"constant":false,"id":29176,"mutability":"mutable","name":"m4","nameLocation":"91961:2:19","nodeType":"VariableDeclaration","scope":29185,"src":"91953:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29175,"name":"bytes32","nodeType":"ElementaryTypeName","src":"91953:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29177,"nodeType":"VariableDeclarationStatement","src":"91953:10:19"},{"AST":{"nativeSrc":"92025:378:19","nodeType":"YulBlock","src":"92025:378:19","statements":[{"nativeSrc":"92039:17:19","nodeType":"YulAssignment","src":"92039:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"92051:4:19","nodeType":"YulLiteral","src":"92051:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"92045:5:19","nodeType":"YulIdentifier","src":"92045:5:19"},"nativeSrc":"92045:11:19","nodeType":"YulFunctionCall","src":"92045:11:19"},"variableNames":[{"name":"m0","nativeSrc":"92039:2:19","nodeType":"YulIdentifier","src":"92039:2:19"}]},{"nativeSrc":"92069:17:19","nodeType":"YulAssignment","src":"92069:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"92081:4:19","nodeType":"YulLiteral","src":"92081:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"92075:5:19","nodeType":"YulIdentifier","src":"92075:5:19"},"nativeSrc":"92075:11:19","nodeType":"YulFunctionCall","src":"92075:11:19"},"variableNames":[{"name":"m1","nativeSrc":"92069:2:19","nodeType":"YulIdentifier","src":"92069:2:19"}]},{"nativeSrc":"92099:17:19","nodeType":"YulAssignment","src":"92099:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"92111:4:19","nodeType":"YulLiteral","src":"92111:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"92105:5:19","nodeType":"YulIdentifier","src":"92105:5:19"},"nativeSrc":"92105:11:19","nodeType":"YulFunctionCall","src":"92105:11:19"},"variableNames":[{"name":"m2","nativeSrc":"92099:2:19","nodeType":"YulIdentifier","src":"92099:2:19"}]},{"nativeSrc":"92129:17:19","nodeType":"YulAssignment","src":"92129:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"92141:4:19","nodeType":"YulLiteral","src":"92141:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"92135:5:19","nodeType":"YulIdentifier","src":"92135:5:19"},"nativeSrc":"92135:11:19","nodeType":"YulFunctionCall","src":"92135:11:19"},"variableNames":[{"name":"m3","nativeSrc":"92129:2:19","nodeType":"YulIdentifier","src":"92129:2:19"}]},{"nativeSrc":"92159:17:19","nodeType":"YulAssignment","src":"92159:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"92171:4:19","nodeType":"YulLiteral","src":"92171:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"92165:5:19","nodeType":"YulIdentifier","src":"92165:5:19"},"nativeSrc":"92165:11:19","nodeType":"YulFunctionCall","src":"92165:11:19"},"variableNames":[{"name":"m4","nativeSrc":"92159:2:19","nodeType":"YulIdentifier","src":"92159:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92260:4:19","nodeType":"YulLiteral","src":"92260:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"92266:10:19","nodeType":"YulLiteral","src":"92266:10:19","type":"","value":"0x0e378994"}],"functionName":{"name":"mstore","nativeSrc":"92253:6:19","nodeType":"YulIdentifier","src":"92253:6:19"},"nativeSrc":"92253:24:19","nodeType":"YulFunctionCall","src":"92253:24:19"},"nativeSrc":"92253:24:19","nodeType":"YulExpressionStatement","src":"92253:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92297:4:19","nodeType":"YulLiteral","src":"92297:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"92303:2:19","nodeType":"YulIdentifier","src":"92303:2:19"}],"functionName":{"name":"mstore","nativeSrc":"92290:6:19","nodeType":"YulIdentifier","src":"92290:6:19"},"nativeSrc":"92290:16:19","nodeType":"YulFunctionCall","src":"92290:16:19"},"nativeSrc":"92290:16:19","nodeType":"YulExpressionStatement","src":"92290:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92326:4:19","nodeType":"YulLiteral","src":"92326:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"92332:2:19","nodeType":"YulIdentifier","src":"92332:2:19"}],"functionName":{"name":"mstore","nativeSrc":"92319:6:19","nodeType":"YulIdentifier","src":"92319:6:19"},"nativeSrc":"92319:16:19","nodeType":"YulFunctionCall","src":"92319:16:19"},"nativeSrc":"92319:16:19","nodeType":"YulExpressionStatement","src":"92319:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92355:4:19","nodeType":"YulLiteral","src":"92355:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"92361:2:19","nodeType":"YulIdentifier","src":"92361:2:19"}],"functionName":{"name":"mstore","nativeSrc":"92348:6:19","nodeType":"YulIdentifier","src":"92348:6:19"},"nativeSrc":"92348:16:19","nodeType":"YulFunctionCall","src":"92348:16:19"},"nativeSrc":"92348:16:19","nodeType":"YulExpressionStatement","src":"92348:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92384:4:19","nodeType":"YulLiteral","src":"92384:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"92390:2:19","nodeType":"YulIdentifier","src":"92390:2:19"}],"functionName":{"name":"mstore","nativeSrc":"92377:6:19","nodeType":"YulIdentifier","src":"92377:6:19"},"nativeSrc":"92377:16:19","nodeType":"YulFunctionCall","src":"92377:16:19"},"nativeSrc":"92377:16:19","nodeType":"YulExpressionStatement","src":"92377:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29164,"isOffset":false,"isSlot":false,"src":"92039:2:19","valueSize":1},{"declaration":29167,"isOffset":false,"isSlot":false,"src":"92069:2:19","valueSize":1},{"declaration":29170,"isOffset":false,"isSlot":false,"src":"92099:2:19","valueSize":1},{"declaration":29173,"isOffset":false,"isSlot":false,"src":"92129:2:19","valueSize":1},{"declaration":29176,"isOffset":false,"isSlot":false,"src":"92159:2:19","valueSize":1},{"declaration":29154,"isOffset":false,"isSlot":false,"src":"92303:2:19","valueSize":1},{"declaration":29156,"isOffset":false,"isSlot":false,"src":"92332:2:19","valueSize":1},{"declaration":29158,"isOffset":false,"isSlot":false,"src":"92361:2:19","valueSize":1},{"declaration":29160,"isOffset":false,"isSlot":false,"src":"92390:2:19","valueSize":1}],"id":29178,"nodeType":"InlineAssembly","src":"92016:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"92428:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":29181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"92434:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":29179,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"92412:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"92412:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29183,"nodeType":"ExpressionStatement","src":"92412:27:19"},{"AST":{"nativeSrc":"92501:156:19","nodeType":"YulBlock","src":"92501:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"92522:4:19","nodeType":"YulLiteral","src":"92522:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"92528:2:19","nodeType":"YulIdentifier","src":"92528:2:19"}],"functionName":{"name":"mstore","nativeSrc":"92515:6:19","nodeType":"YulIdentifier","src":"92515:6:19"},"nativeSrc":"92515:16:19","nodeType":"YulFunctionCall","src":"92515:16:19"},"nativeSrc":"92515:16:19","nodeType":"YulExpressionStatement","src":"92515:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92551:4:19","nodeType":"YulLiteral","src":"92551:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"92557:2:19","nodeType":"YulIdentifier","src":"92557:2:19"}],"functionName":{"name":"mstore","nativeSrc":"92544:6:19","nodeType":"YulIdentifier","src":"92544:6:19"},"nativeSrc":"92544:16:19","nodeType":"YulFunctionCall","src":"92544:16:19"},"nativeSrc":"92544:16:19","nodeType":"YulExpressionStatement","src":"92544:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92580:4:19","nodeType":"YulLiteral","src":"92580:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"92586:2:19","nodeType":"YulIdentifier","src":"92586:2:19"}],"functionName":{"name":"mstore","nativeSrc":"92573:6:19","nodeType":"YulIdentifier","src":"92573:6:19"},"nativeSrc":"92573:16:19","nodeType":"YulFunctionCall","src":"92573:16:19"},"nativeSrc":"92573:16:19","nodeType":"YulExpressionStatement","src":"92573:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92609:4:19","nodeType":"YulLiteral","src":"92609:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"92615:2:19","nodeType":"YulIdentifier","src":"92615:2:19"}],"functionName":{"name":"mstore","nativeSrc":"92602:6:19","nodeType":"YulIdentifier","src":"92602:6:19"},"nativeSrc":"92602:16:19","nodeType":"YulFunctionCall","src":"92602:16:19"},"nativeSrc":"92602:16:19","nodeType":"YulExpressionStatement","src":"92602:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"92638:4:19","nodeType":"YulLiteral","src":"92638:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"92644:2:19","nodeType":"YulIdentifier","src":"92644:2:19"}],"functionName":{"name":"mstore","nativeSrc":"92631:6:19","nodeType":"YulIdentifier","src":"92631:6:19"},"nativeSrc":"92631:16:19","nodeType":"YulFunctionCall","src":"92631:16:19"},"nativeSrc":"92631:16:19","nodeType":"YulExpressionStatement","src":"92631:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29164,"isOffset":false,"isSlot":false,"src":"92528:2:19","valueSize":1},{"declaration":29167,"isOffset":false,"isSlot":false,"src":"92557:2:19","valueSize":1},{"declaration":29170,"isOffset":false,"isSlot":false,"src":"92586:2:19","valueSize":1},{"declaration":29173,"isOffset":false,"isSlot":false,"src":"92615:2:19","valueSize":1},{"declaration":29176,"isOffset":false,"isSlot":false,"src":"92644:2:19","valueSize":1}],"id":29184,"nodeType":"InlineAssembly","src":"92492:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"91800:3:19","parameters":{"id":29161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29154,"mutability":"mutable","name":"p0","nameLocation":"91812:2:19","nodeType":"VariableDeclaration","scope":29186,"src":"91804:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29153,"name":"address","nodeType":"ElementaryTypeName","src":"91804:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29156,"mutability":"mutable","name":"p1","nameLocation":"91824:2:19","nodeType":"VariableDeclaration","scope":29186,"src":"91816:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29155,"name":"address","nodeType":"ElementaryTypeName","src":"91816:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29158,"mutability":"mutable","name":"p2","nameLocation":"91836:2:19","nodeType":"VariableDeclaration","scope":29186,"src":"91828:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29157,"name":"address","nodeType":"ElementaryTypeName","src":"91828:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29160,"mutability":"mutable","name":"p3","nameLocation":"91845:2:19","nodeType":"VariableDeclaration","scope":29186,"src":"91840:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29159,"name":"bool","nodeType":"ElementaryTypeName","src":"91840:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"91803:45:19"},"returnParameters":{"id":29162,"nodeType":"ParameterList","parameters":[],"src":"91863:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29220,"nodeType":"FunctionDefinition","src":"92669:878:19","nodes":[],"body":{"id":29219,"nodeType":"Block","src":"92744:803:19","nodes":[],"statements":[{"assignments":[29198],"declarations":[{"constant":false,"id":29198,"mutability":"mutable","name":"m0","nameLocation":"92762:2:19","nodeType":"VariableDeclaration","scope":29219,"src":"92754:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29197,"name":"bytes32","nodeType":"ElementaryTypeName","src":"92754:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29199,"nodeType":"VariableDeclarationStatement","src":"92754:10:19"},{"assignments":[29201],"declarations":[{"constant":false,"id":29201,"mutability":"mutable","name":"m1","nameLocation":"92782:2:19","nodeType":"VariableDeclaration","scope":29219,"src":"92774:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29200,"name":"bytes32","nodeType":"ElementaryTypeName","src":"92774:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29202,"nodeType":"VariableDeclarationStatement","src":"92774:10:19"},{"assignments":[29204],"declarations":[{"constant":false,"id":29204,"mutability":"mutable","name":"m2","nameLocation":"92802:2:19","nodeType":"VariableDeclaration","scope":29219,"src":"92794:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29203,"name":"bytes32","nodeType":"ElementaryTypeName","src":"92794:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29205,"nodeType":"VariableDeclarationStatement","src":"92794:10:19"},{"assignments":[29207],"declarations":[{"constant":false,"id":29207,"mutability":"mutable","name":"m3","nameLocation":"92822:2:19","nodeType":"VariableDeclaration","scope":29219,"src":"92814:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29206,"name":"bytes32","nodeType":"ElementaryTypeName","src":"92814:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29208,"nodeType":"VariableDeclarationStatement","src":"92814:10:19"},{"assignments":[29210],"declarations":[{"constant":false,"id":29210,"mutability":"mutable","name":"m4","nameLocation":"92842:2:19","nodeType":"VariableDeclaration","scope":29219,"src":"92834:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29209,"name":"bytes32","nodeType":"ElementaryTypeName","src":"92834:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29211,"nodeType":"VariableDeclarationStatement","src":"92834:10:19"},{"AST":{"nativeSrc":"92906:381:19","nodeType":"YulBlock","src":"92906:381:19","statements":[{"nativeSrc":"92920:17:19","nodeType":"YulAssignment","src":"92920:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"92932:4:19","nodeType":"YulLiteral","src":"92932:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"92926:5:19","nodeType":"YulIdentifier","src":"92926:5:19"},"nativeSrc":"92926:11:19","nodeType":"YulFunctionCall","src":"92926:11:19"},"variableNames":[{"name":"m0","nativeSrc":"92920:2:19","nodeType":"YulIdentifier","src":"92920:2:19"}]},{"nativeSrc":"92950:17:19","nodeType":"YulAssignment","src":"92950:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"92962:4:19","nodeType":"YulLiteral","src":"92962:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"92956:5:19","nodeType":"YulIdentifier","src":"92956:5:19"},"nativeSrc":"92956:11:19","nodeType":"YulFunctionCall","src":"92956:11:19"},"variableNames":[{"name":"m1","nativeSrc":"92950:2:19","nodeType":"YulIdentifier","src":"92950:2:19"}]},{"nativeSrc":"92980:17:19","nodeType":"YulAssignment","src":"92980:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"92992:4:19","nodeType":"YulLiteral","src":"92992:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"92986:5:19","nodeType":"YulIdentifier","src":"92986:5:19"},"nativeSrc":"92986:11:19","nodeType":"YulFunctionCall","src":"92986:11:19"},"variableNames":[{"name":"m2","nativeSrc":"92980:2:19","nodeType":"YulIdentifier","src":"92980:2:19"}]},{"nativeSrc":"93010:17:19","nodeType":"YulAssignment","src":"93010:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"93022:4:19","nodeType":"YulLiteral","src":"93022:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"93016:5:19","nodeType":"YulIdentifier","src":"93016:5:19"},"nativeSrc":"93016:11:19","nodeType":"YulFunctionCall","src":"93016:11:19"},"variableNames":[{"name":"m3","nativeSrc":"93010:2:19","nodeType":"YulIdentifier","src":"93010:2:19"}]},{"nativeSrc":"93040:17:19","nodeType":"YulAssignment","src":"93040:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"93052:4:19","nodeType":"YulLiteral","src":"93052:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"93046:5:19","nodeType":"YulIdentifier","src":"93046:5:19"},"nativeSrc":"93046:11:19","nodeType":"YulFunctionCall","src":"93046:11:19"},"variableNames":[{"name":"m4","nativeSrc":"93040:2:19","nodeType":"YulIdentifier","src":"93040:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93144:4:19","nodeType":"YulLiteral","src":"93144:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"93150:10:19","nodeType":"YulLiteral","src":"93150:10:19","type":"","value":"0x94250d77"}],"functionName":{"name":"mstore","nativeSrc":"93137:6:19","nodeType":"YulIdentifier","src":"93137:6:19"},"nativeSrc":"93137:24:19","nodeType":"YulFunctionCall","src":"93137:24:19"},"nativeSrc":"93137:24:19","nodeType":"YulExpressionStatement","src":"93137:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93181:4:19","nodeType":"YulLiteral","src":"93181:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"93187:2:19","nodeType":"YulIdentifier","src":"93187:2:19"}],"functionName":{"name":"mstore","nativeSrc":"93174:6:19","nodeType":"YulIdentifier","src":"93174:6:19"},"nativeSrc":"93174:16:19","nodeType":"YulFunctionCall","src":"93174:16:19"},"nativeSrc":"93174:16:19","nodeType":"YulExpressionStatement","src":"93174:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93210:4:19","nodeType":"YulLiteral","src":"93210:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"93216:2:19","nodeType":"YulIdentifier","src":"93216:2:19"}],"functionName":{"name":"mstore","nativeSrc":"93203:6:19","nodeType":"YulIdentifier","src":"93203:6:19"},"nativeSrc":"93203:16:19","nodeType":"YulFunctionCall","src":"93203:16:19"},"nativeSrc":"93203:16:19","nodeType":"YulExpressionStatement","src":"93203:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93239:4:19","nodeType":"YulLiteral","src":"93239:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"93245:2:19","nodeType":"YulIdentifier","src":"93245:2:19"}],"functionName":{"name":"mstore","nativeSrc":"93232:6:19","nodeType":"YulIdentifier","src":"93232:6:19"},"nativeSrc":"93232:16:19","nodeType":"YulFunctionCall","src":"93232:16:19"},"nativeSrc":"93232:16:19","nodeType":"YulExpressionStatement","src":"93232:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93268:4:19","nodeType":"YulLiteral","src":"93268:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"93274:2:19","nodeType":"YulIdentifier","src":"93274:2:19"}],"functionName":{"name":"mstore","nativeSrc":"93261:6:19","nodeType":"YulIdentifier","src":"93261:6:19"},"nativeSrc":"93261:16:19","nodeType":"YulFunctionCall","src":"93261:16:19"},"nativeSrc":"93261:16:19","nodeType":"YulExpressionStatement","src":"93261:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29198,"isOffset":false,"isSlot":false,"src":"92920:2:19","valueSize":1},{"declaration":29201,"isOffset":false,"isSlot":false,"src":"92950:2:19","valueSize":1},{"declaration":29204,"isOffset":false,"isSlot":false,"src":"92980:2:19","valueSize":1},{"declaration":29207,"isOffset":false,"isSlot":false,"src":"93010:2:19","valueSize":1},{"declaration":29210,"isOffset":false,"isSlot":false,"src":"93040:2:19","valueSize":1},{"declaration":29188,"isOffset":false,"isSlot":false,"src":"93187:2:19","valueSize":1},{"declaration":29190,"isOffset":false,"isSlot":false,"src":"93216:2:19","valueSize":1},{"declaration":29192,"isOffset":false,"isSlot":false,"src":"93245:2:19","valueSize":1},{"declaration":29194,"isOffset":false,"isSlot":false,"src":"93274:2:19","valueSize":1}],"id":29212,"nodeType":"InlineAssembly","src":"92897:390:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"93312:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":29215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"93318:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":29213,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"93296:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"93296:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29217,"nodeType":"ExpressionStatement","src":"93296:27:19"},{"AST":{"nativeSrc":"93385:156:19","nodeType":"YulBlock","src":"93385:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"93406:4:19","nodeType":"YulLiteral","src":"93406:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"93412:2:19","nodeType":"YulIdentifier","src":"93412:2:19"}],"functionName":{"name":"mstore","nativeSrc":"93399:6:19","nodeType":"YulIdentifier","src":"93399:6:19"},"nativeSrc":"93399:16:19","nodeType":"YulFunctionCall","src":"93399:16:19"},"nativeSrc":"93399:16:19","nodeType":"YulExpressionStatement","src":"93399:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93435:4:19","nodeType":"YulLiteral","src":"93435:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"93441:2:19","nodeType":"YulIdentifier","src":"93441:2:19"}],"functionName":{"name":"mstore","nativeSrc":"93428:6:19","nodeType":"YulIdentifier","src":"93428:6:19"},"nativeSrc":"93428:16:19","nodeType":"YulFunctionCall","src":"93428:16:19"},"nativeSrc":"93428:16:19","nodeType":"YulExpressionStatement","src":"93428:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93464:4:19","nodeType":"YulLiteral","src":"93464:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"93470:2:19","nodeType":"YulIdentifier","src":"93470:2:19"}],"functionName":{"name":"mstore","nativeSrc":"93457:6:19","nodeType":"YulIdentifier","src":"93457:6:19"},"nativeSrc":"93457:16:19","nodeType":"YulFunctionCall","src":"93457:16:19"},"nativeSrc":"93457:16:19","nodeType":"YulExpressionStatement","src":"93457:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93493:4:19","nodeType":"YulLiteral","src":"93493:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"93499:2:19","nodeType":"YulIdentifier","src":"93499:2:19"}],"functionName":{"name":"mstore","nativeSrc":"93486:6:19","nodeType":"YulIdentifier","src":"93486:6:19"},"nativeSrc":"93486:16:19","nodeType":"YulFunctionCall","src":"93486:16:19"},"nativeSrc":"93486:16:19","nodeType":"YulExpressionStatement","src":"93486:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"93522:4:19","nodeType":"YulLiteral","src":"93522:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"93528:2:19","nodeType":"YulIdentifier","src":"93528:2:19"}],"functionName":{"name":"mstore","nativeSrc":"93515:6:19","nodeType":"YulIdentifier","src":"93515:6:19"},"nativeSrc":"93515:16:19","nodeType":"YulFunctionCall","src":"93515:16:19"},"nativeSrc":"93515:16:19","nodeType":"YulExpressionStatement","src":"93515:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29198,"isOffset":false,"isSlot":false,"src":"93412:2:19","valueSize":1},{"declaration":29201,"isOffset":false,"isSlot":false,"src":"93441:2:19","valueSize":1},{"declaration":29204,"isOffset":false,"isSlot":false,"src":"93470:2:19","valueSize":1},{"declaration":29207,"isOffset":false,"isSlot":false,"src":"93499:2:19","valueSize":1},{"declaration":29210,"isOffset":false,"isSlot":false,"src":"93528:2:19","valueSize":1}],"id":29218,"nodeType":"InlineAssembly","src":"93376:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"92678:3:19","parameters":{"id":29195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29188,"mutability":"mutable","name":"p0","nameLocation":"92690:2:19","nodeType":"VariableDeclaration","scope":29220,"src":"92682:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29187,"name":"address","nodeType":"ElementaryTypeName","src":"92682:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29190,"mutability":"mutable","name":"p1","nameLocation":"92702:2:19","nodeType":"VariableDeclaration","scope":29220,"src":"92694:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29189,"name":"address","nodeType":"ElementaryTypeName","src":"92694:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29192,"mutability":"mutable","name":"p2","nameLocation":"92714:2:19","nodeType":"VariableDeclaration","scope":29220,"src":"92706:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29191,"name":"address","nodeType":"ElementaryTypeName","src":"92706:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29194,"mutability":"mutable","name":"p3","nameLocation":"92726:2:19","nodeType":"VariableDeclaration","scope":29220,"src":"92718:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29193,"name":"uint256","nodeType":"ElementaryTypeName","src":"92718:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"92681:48:19"},"returnParameters":{"id":29196,"nodeType":"ParameterList","parameters":[],"src":"92744:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29260,"nodeType":"FunctionDefinition","src":"93553:1426:19","nodes":[],"body":{"id":29259,"nodeType":"Block","src":"93628:1351:19","nodes":[],"statements":[{"assignments":[29232],"declarations":[{"constant":false,"id":29232,"mutability":"mutable","name":"m0","nameLocation":"93646:2:19","nodeType":"VariableDeclaration","scope":29259,"src":"93638:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29231,"name":"bytes32","nodeType":"ElementaryTypeName","src":"93638:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29233,"nodeType":"VariableDeclarationStatement","src":"93638:10:19"},{"assignments":[29235],"declarations":[{"constant":false,"id":29235,"mutability":"mutable","name":"m1","nameLocation":"93666:2:19","nodeType":"VariableDeclaration","scope":29259,"src":"93658:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29234,"name":"bytes32","nodeType":"ElementaryTypeName","src":"93658:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29236,"nodeType":"VariableDeclarationStatement","src":"93658:10:19"},{"assignments":[29238],"declarations":[{"constant":false,"id":29238,"mutability":"mutable","name":"m2","nameLocation":"93686:2:19","nodeType":"VariableDeclaration","scope":29259,"src":"93678:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29237,"name":"bytes32","nodeType":"ElementaryTypeName","src":"93678:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29239,"nodeType":"VariableDeclarationStatement","src":"93678:10:19"},{"assignments":[29241],"declarations":[{"constant":false,"id":29241,"mutability":"mutable","name":"m3","nameLocation":"93706:2:19","nodeType":"VariableDeclaration","scope":29259,"src":"93698:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29240,"name":"bytes32","nodeType":"ElementaryTypeName","src":"93698:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29242,"nodeType":"VariableDeclarationStatement","src":"93698:10:19"},{"assignments":[29244],"declarations":[{"constant":false,"id":29244,"mutability":"mutable","name":"m4","nameLocation":"93726:2:19","nodeType":"VariableDeclaration","scope":29259,"src":"93718:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29243,"name":"bytes32","nodeType":"ElementaryTypeName","src":"93718:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29245,"nodeType":"VariableDeclarationStatement","src":"93718:10:19"},{"assignments":[29247],"declarations":[{"constant":false,"id":29247,"mutability":"mutable","name":"m5","nameLocation":"93746:2:19","nodeType":"VariableDeclaration","scope":29259,"src":"93738:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29246,"name":"bytes32","nodeType":"ElementaryTypeName","src":"93738:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29248,"nodeType":"VariableDeclarationStatement","src":"93738:10:19"},{"assignments":[29250],"declarations":[{"constant":false,"id":29250,"mutability":"mutable","name":"m6","nameLocation":"93766:2:19","nodeType":"VariableDeclaration","scope":29259,"src":"93758:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"93758:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29251,"nodeType":"VariableDeclarationStatement","src":"93758:10:19"},{"AST":{"nativeSrc":"93830:831:19","nodeType":"YulBlock","src":"93830:831:19","statements":[{"body":{"nativeSrc":"93873:313:19","nodeType":"YulBlock","src":"93873:313:19","statements":[{"nativeSrc":"93891:15:19","nodeType":"YulVariableDeclaration","src":"93891:15:19","value":{"kind":"number","nativeSrc":"93905:1:19","nodeType":"YulLiteral","src":"93905:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"93895:6:19","nodeType":"YulTypedName","src":"93895:6:19","type":""}]},{"body":{"nativeSrc":"93976:40:19","nodeType":"YulBlock","src":"93976:40:19","statements":[{"body":{"nativeSrc":"94005:9:19","nodeType":"YulBlock","src":"94005:9:19","statements":[{"nativeSrc":"94007:5:19","nodeType":"YulBreak","src":"94007:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"93993:6:19","nodeType":"YulIdentifier","src":"93993:6:19"},{"name":"w","nativeSrc":"94001:1:19","nodeType":"YulIdentifier","src":"94001:1:19"}],"functionName":{"name":"byte","nativeSrc":"93988:4:19","nodeType":"YulIdentifier","src":"93988:4:19"},"nativeSrc":"93988:15:19","nodeType":"YulFunctionCall","src":"93988:15:19"}],"functionName":{"name":"iszero","nativeSrc":"93981:6:19","nodeType":"YulIdentifier","src":"93981:6:19"},"nativeSrc":"93981:23:19","nodeType":"YulFunctionCall","src":"93981:23:19"},"nativeSrc":"93978:36:19","nodeType":"YulIf","src":"93978:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"93933:6:19","nodeType":"YulIdentifier","src":"93933:6:19"},{"kind":"number","nativeSrc":"93941:4:19","nodeType":"YulLiteral","src":"93941:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"93930:2:19","nodeType":"YulIdentifier","src":"93930:2:19"},"nativeSrc":"93930:16:19","nodeType":"YulFunctionCall","src":"93930:16:19"},"nativeSrc":"93923:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"93947:28:19","nodeType":"YulBlock","src":"93947:28:19","statements":[{"nativeSrc":"93949:24:19","nodeType":"YulAssignment","src":"93949:24:19","value":{"arguments":[{"name":"length","nativeSrc":"93963:6:19","nodeType":"YulIdentifier","src":"93963:6:19"},{"kind":"number","nativeSrc":"93971:1:19","nodeType":"YulLiteral","src":"93971:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"93959:3:19","nodeType":"YulIdentifier","src":"93959:3:19"},"nativeSrc":"93959:14:19","nodeType":"YulFunctionCall","src":"93959:14:19"},"variableNames":[{"name":"length","nativeSrc":"93949:6:19","nodeType":"YulIdentifier","src":"93949:6:19"}]}]},"pre":{"nativeSrc":"93927:2:19","nodeType":"YulBlock","src":"93927:2:19","statements":[]},"src":"93923:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"94040:3:19","nodeType":"YulIdentifier","src":"94040:3:19"},{"name":"length","nativeSrc":"94045:6:19","nodeType":"YulIdentifier","src":"94045:6:19"}],"functionName":{"name":"mstore","nativeSrc":"94033:6:19","nodeType":"YulIdentifier","src":"94033:6:19"},"nativeSrc":"94033:19:19","nodeType":"YulFunctionCall","src":"94033:19:19"},"nativeSrc":"94033:19:19","nodeType":"YulExpressionStatement","src":"94033:19:19"},{"nativeSrc":"94069:37:19","nodeType":"YulVariableDeclaration","src":"94069:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"94086:3:19","nodeType":"YulLiteral","src":"94086:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"94095:1:19","nodeType":"YulLiteral","src":"94095:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"94098:6:19","nodeType":"YulIdentifier","src":"94098:6:19"}],"functionName":{"name":"shl","nativeSrc":"94091:3:19","nodeType":"YulIdentifier","src":"94091:3:19"},"nativeSrc":"94091:14:19","nodeType":"YulFunctionCall","src":"94091:14:19"}],"functionName":{"name":"sub","nativeSrc":"94082:3:19","nodeType":"YulIdentifier","src":"94082:3:19"},"nativeSrc":"94082:24:19","nodeType":"YulFunctionCall","src":"94082:24:19"},"variables":[{"name":"shift","nativeSrc":"94073:5:19","nodeType":"YulTypedName","src":"94073:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"94134:3:19","nodeType":"YulIdentifier","src":"94134:3:19"},{"kind":"number","nativeSrc":"94139:4:19","nodeType":"YulLiteral","src":"94139:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"94130:3:19","nodeType":"YulIdentifier","src":"94130:3:19"},"nativeSrc":"94130:14:19","nodeType":"YulFunctionCall","src":"94130:14:19"},{"arguments":[{"name":"shift","nativeSrc":"94150:5:19","nodeType":"YulIdentifier","src":"94150:5:19"},{"arguments":[{"name":"shift","nativeSrc":"94161:5:19","nodeType":"YulIdentifier","src":"94161:5:19"},{"name":"w","nativeSrc":"94168:1:19","nodeType":"YulIdentifier","src":"94168:1:19"}],"functionName":{"name":"shr","nativeSrc":"94157:3:19","nodeType":"YulIdentifier","src":"94157:3:19"},"nativeSrc":"94157:13:19","nodeType":"YulFunctionCall","src":"94157:13:19"}],"functionName":{"name":"shl","nativeSrc":"94146:3:19","nodeType":"YulIdentifier","src":"94146:3:19"},"nativeSrc":"94146:25:19","nodeType":"YulFunctionCall","src":"94146:25:19"}],"functionName":{"name":"mstore","nativeSrc":"94123:6:19","nodeType":"YulIdentifier","src":"94123:6:19"},"nativeSrc":"94123:49:19","nodeType":"YulFunctionCall","src":"94123:49:19"},"nativeSrc":"94123:49:19","nodeType":"YulExpressionStatement","src":"94123:49:19"}]},"name":"writeString","nativeSrc":"93844:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"93865:3:19","nodeType":"YulTypedName","src":"93865:3:19","type":""},{"name":"w","nativeSrc":"93870:1:19","nodeType":"YulTypedName","src":"93870:1:19","type":""}],"src":"93844:342:19"},{"nativeSrc":"94199:17:19","nodeType":"YulAssignment","src":"94199:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"94211:4:19","nodeType":"YulLiteral","src":"94211:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"94205:5:19","nodeType":"YulIdentifier","src":"94205:5:19"},"nativeSrc":"94205:11:19","nodeType":"YulFunctionCall","src":"94205:11:19"},"variableNames":[{"name":"m0","nativeSrc":"94199:2:19","nodeType":"YulIdentifier","src":"94199:2:19"}]},{"nativeSrc":"94229:17:19","nodeType":"YulAssignment","src":"94229:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"94241:4:19","nodeType":"YulLiteral","src":"94241:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"94235:5:19","nodeType":"YulIdentifier","src":"94235:5:19"},"nativeSrc":"94235:11:19","nodeType":"YulFunctionCall","src":"94235:11:19"},"variableNames":[{"name":"m1","nativeSrc":"94229:2:19","nodeType":"YulIdentifier","src":"94229:2:19"}]},{"nativeSrc":"94259:17:19","nodeType":"YulAssignment","src":"94259:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"94271:4:19","nodeType":"YulLiteral","src":"94271:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"94265:5:19","nodeType":"YulIdentifier","src":"94265:5:19"},"nativeSrc":"94265:11:19","nodeType":"YulFunctionCall","src":"94265:11:19"},"variableNames":[{"name":"m2","nativeSrc":"94259:2:19","nodeType":"YulIdentifier","src":"94259:2:19"}]},{"nativeSrc":"94289:17:19","nodeType":"YulAssignment","src":"94289:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"94301:4:19","nodeType":"YulLiteral","src":"94301:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"94295:5:19","nodeType":"YulIdentifier","src":"94295:5:19"},"nativeSrc":"94295:11:19","nodeType":"YulFunctionCall","src":"94295:11:19"},"variableNames":[{"name":"m3","nativeSrc":"94289:2:19","nodeType":"YulIdentifier","src":"94289:2:19"}]},{"nativeSrc":"94319:17:19","nodeType":"YulAssignment","src":"94319:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"94331:4:19","nodeType":"YulLiteral","src":"94331:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"94325:5:19","nodeType":"YulIdentifier","src":"94325:5:19"},"nativeSrc":"94325:11:19","nodeType":"YulFunctionCall","src":"94325:11:19"},"variableNames":[{"name":"m4","nativeSrc":"94319:2:19","nodeType":"YulIdentifier","src":"94319:2:19"}]},{"nativeSrc":"94349:17:19","nodeType":"YulAssignment","src":"94349:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"94361:4:19","nodeType":"YulLiteral","src":"94361:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"94355:5:19","nodeType":"YulIdentifier","src":"94355:5:19"},"nativeSrc":"94355:11:19","nodeType":"YulFunctionCall","src":"94355:11:19"},"variableNames":[{"name":"m5","nativeSrc":"94349:2:19","nodeType":"YulIdentifier","src":"94349:2:19"}]},{"nativeSrc":"94379:17:19","nodeType":"YulAssignment","src":"94379:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"94391:4:19","nodeType":"YulLiteral","src":"94391:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"94385:5:19","nodeType":"YulIdentifier","src":"94385:5:19"},"nativeSrc":"94385:11:19","nodeType":"YulFunctionCall","src":"94385:11:19"},"variableNames":[{"name":"m6","nativeSrc":"94379:2:19","nodeType":"YulIdentifier","src":"94379:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94482:4:19","nodeType":"YulLiteral","src":"94482:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"94488:10:19","nodeType":"YulLiteral","src":"94488:10:19","type":"","value":"0xf808da20"}],"functionName":{"name":"mstore","nativeSrc":"94475:6:19","nodeType":"YulIdentifier","src":"94475:6:19"},"nativeSrc":"94475:24:19","nodeType":"YulFunctionCall","src":"94475:24:19"},"nativeSrc":"94475:24:19","nodeType":"YulExpressionStatement","src":"94475:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94519:4:19","nodeType":"YulLiteral","src":"94519:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"94525:2:19","nodeType":"YulIdentifier","src":"94525:2:19"}],"functionName":{"name":"mstore","nativeSrc":"94512:6:19","nodeType":"YulIdentifier","src":"94512:6:19"},"nativeSrc":"94512:16:19","nodeType":"YulFunctionCall","src":"94512:16:19"},"nativeSrc":"94512:16:19","nodeType":"YulExpressionStatement","src":"94512:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94548:4:19","nodeType":"YulLiteral","src":"94548:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"94554:2:19","nodeType":"YulIdentifier","src":"94554:2:19"}],"functionName":{"name":"mstore","nativeSrc":"94541:6:19","nodeType":"YulIdentifier","src":"94541:6:19"},"nativeSrc":"94541:16:19","nodeType":"YulFunctionCall","src":"94541:16:19"},"nativeSrc":"94541:16:19","nodeType":"YulExpressionStatement","src":"94541:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94577:4:19","nodeType":"YulLiteral","src":"94577:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"94583:2:19","nodeType":"YulIdentifier","src":"94583:2:19"}],"functionName":{"name":"mstore","nativeSrc":"94570:6:19","nodeType":"YulIdentifier","src":"94570:6:19"},"nativeSrc":"94570:16:19","nodeType":"YulFunctionCall","src":"94570:16:19"},"nativeSrc":"94570:16:19","nodeType":"YulExpressionStatement","src":"94570:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94606:4:19","nodeType":"YulLiteral","src":"94606:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"94612:4:19","nodeType":"YulLiteral","src":"94612:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"94599:6:19","nodeType":"YulIdentifier","src":"94599:6:19"},"nativeSrc":"94599:18:19","nodeType":"YulFunctionCall","src":"94599:18:19"},"nativeSrc":"94599:18:19","nodeType":"YulExpressionStatement","src":"94599:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94642:4:19","nodeType":"YulLiteral","src":"94642:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"94648:2:19","nodeType":"YulIdentifier","src":"94648:2:19"}],"functionName":{"name":"writeString","nativeSrc":"94630:11:19","nodeType":"YulIdentifier","src":"94630:11:19"},"nativeSrc":"94630:21:19","nodeType":"YulFunctionCall","src":"94630:21:19"},"nativeSrc":"94630:21:19","nodeType":"YulExpressionStatement","src":"94630:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29232,"isOffset":false,"isSlot":false,"src":"94199:2:19","valueSize":1},{"declaration":29235,"isOffset":false,"isSlot":false,"src":"94229:2:19","valueSize":1},{"declaration":29238,"isOffset":false,"isSlot":false,"src":"94259:2:19","valueSize":1},{"declaration":29241,"isOffset":false,"isSlot":false,"src":"94289:2:19","valueSize":1},{"declaration":29244,"isOffset":false,"isSlot":false,"src":"94319:2:19","valueSize":1},{"declaration":29247,"isOffset":false,"isSlot":false,"src":"94349:2:19","valueSize":1},{"declaration":29250,"isOffset":false,"isSlot":false,"src":"94379:2:19","valueSize":1},{"declaration":29222,"isOffset":false,"isSlot":false,"src":"94525:2:19","valueSize":1},{"declaration":29224,"isOffset":false,"isSlot":false,"src":"94554:2:19","valueSize":1},{"declaration":29226,"isOffset":false,"isSlot":false,"src":"94583:2:19","valueSize":1},{"declaration":29228,"isOffset":false,"isSlot":false,"src":"94648:2:19","valueSize":1}],"id":29252,"nodeType":"InlineAssembly","src":"93821:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"94686:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":29255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"94692:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":29253,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"94670:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"94670:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29257,"nodeType":"ExpressionStatement","src":"94670:27:19"},{"AST":{"nativeSrc":"94759:214:19","nodeType":"YulBlock","src":"94759:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"94780:4:19","nodeType":"YulLiteral","src":"94780:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"94786:2:19","nodeType":"YulIdentifier","src":"94786:2:19"}],"functionName":{"name":"mstore","nativeSrc":"94773:6:19","nodeType":"YulIdentifier","src":"94773:6:19"},"nativeSrc":"94773:16:19","nodeType":"YulFunctionCall","src":"94773:16:19"},"nativeSrc":"94773:16:19","nodeType":"YulExpressionStatement","src":"94773:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94809:4:19","nodeType":"YulLiteral","src":"94809:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"94815:2:19","nodeType":"YulIdentifier","src":"94815:2:19"}],"functionName":{"name":"mstore","nativeSrc":"94802:6:19","nodeType":"YulIdentifier","src":"94802:6:19"},"nativeSrc":"94802:16:19","nodeType":"YulFunctionCall","src":"94802:16:19"},"nativeSrc":"94802:16:19","nodeType":"YulExpressionStatement","src":"94802:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94838:4:19","nodeType":"YulLiteral","src":"94838:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"94844:2:19","nodeType":"YulIdentifier","src":"94844:2:19"}],"functionName":{"name":"mstore","nativeSrc":"94831:6:19","nodeType":"YulIdentifier","src":"94831:6:19"},"nativeSrc":"94831:16:19","nodeType":"YulFunctionCall","src":"94831:16:19"},"nativeSrc":"94831:16:19","nodeType":"YulExpressionStatement","src":"94831:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94867:4:19","nodeType":"YulLiteral","src":"94867:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"94873:2:19","nodeType":"YulIdentifier","src":"94873:2:19"}],"functionName":{"name":"mstore","nativeSrc":"94860:6:19","nodeType":"YulIdentifier","src":"94860:6:19"},"nativeSrc":"94860:16:19","nodeType":"YulFunctionCall","src":"94860:16:19"},"nativeSrc":"94860:16:19","nodeType":"YulExpressionStatement","src":"94860:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94896:4:19","nodeType":"YulLiteral","src":"94896:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"94902:2:19","nodeType":"YulIdentifier","src":"94902:2:19"}],"functionName":{"name":"mstore","nativeSrc":"94889:6:19","nodeType":"YulIdentifier","src":"94889:6:19"},"nativeSrc":"94889:16:19","nodeType":"YulFunctionCall","src":"94889:16:19"},"nativeSrc":"94889:16:19","nodeType":"YulExpressionStatement","src":"94889:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94925:4:19","nodeType":"YulLiteral","src":"94925:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"94931:2:19","nodeType":"YulIdentifier","src":"94931:2:19"}],"functionName":{"name":"mstore","nativeSrc":"94918:6:19","nodeType":"YulIdentifier","src":"94918:6:19"},"nativeSrc":"94918:16:19","nodeType":"YulFunctionCall","src":"94918:16:19"},"nativeSrc":"94918:16:19","nodeType":"YulExpressionStatement","src":"94918:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"94954:4:19","nodeType":"YulLiteral","src":"94954:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"94960:2:19","nodeType":"YulIdentifier","src":"94960:2:19"}],"functionName":{"name":"mstore","nativeSrc":"94947:6:19","nodeType":"YulIdentifier","src":"94947:6:19"},"nativeSrc":"94947:16:19","nodeType":"YulFunctionCall","src":"94947:16:19"},"nativeSrc":"94947:16:19","nodeType":"YulExpressionStatement","src":"94947:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29232,"isOffset":false,"isSlot":false,"src":"94786:2:19","valueSize":1},{"declaration":29235,"isOffset":false,"isSlot":false,"src":"94815:2:19","valueSize":1},{"declaration":29238,"isOffset":false,"isSlot":false,"src":"94844:2:19","valueSize":1},{"declaration":29241,"isOffset":false,"isSlot":false,"src":"94873:2:19","valueSize":1},{"declaration":29244,"isOffset":false,"isSlot":false,"src":"94902:2:19","valueSize":1},{"declaration":29247,"isOffset":false,"isSlot":false,"src":"94931:2:19","valueSize":1},{"declaration":29250,"isOffset":false,"isSlot":false,"src":"94960:2:19","valueSize":1}],"id":29258,"nodeType":"InlineAssembly","src":"94750:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"93562:3:19","parameters":{"id":29229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29222,"mutability":"mutable","name":"p0","nameLocation":"93574:2:19","nodeType":"VariableDeclaration","scope":29260,"src":"93566:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29221,"name":"address","nodeType":"ElementaryTypeName","src":"93566:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29224,"mutability":"mutable","name":"p1","nameLocation":"93586:2:19","nodeType":"VariableDeclaration","scope":29260,"src":"93578:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29223,"name":"address","nodeType":"ElementaryTypeName","src":"93578:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29226,"mutability":"mutable","name":"p2","nameLocation":"93598:2:19","nodeType":"VariableDeclaration","scope":29260,"src":"93590:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29225,"name":"address","nodeType":"ElementaryTypeName","src":"93590:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29228,"mutability":"mutable","name":"p3","nameLocation":"93610:2:19","nodeType":"VariableDeclaration","scope":29260,"src":"93602:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29227,"name":"bytes32","nodeType":"ElementaryTypeName","src":"93602:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"93565:48:19"},"returnParameters":{"id":29230,"nodeType":"ParameterList","parameters":[],"src":"93628:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29294,"nodeType":"FunctionDefinition","src":"94985:872:19","nodes":[],"body":{"id":29293,"nodeType":"Block","src":"95057:800:19","nodes":[],"statements":[{"assignments":[29272],"declarations":[{"constant":false,"id":29272,"mutability":"mutable","name":"m0","nameLocation":"95075:2:19","nodeType":"VariableDeclaration","scope":29293,"src":"95067:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29271,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95067:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29273,"nodeType":"VariableDeclarationStatement","src":"95067:10:19"},{"assignments":[29275],"declarations":[{"constant":false,"id":29275,"mutability":"mutable","name":"m1","nameLocation":"95095:2:19","nodeType":"VariableDeclaration","scope":29293,"src":"95087:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29274,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95087:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29276,"nodeType":"VariableDeclarationStatement","src":"95087:10:19"},{"assignments":[29278],"declarations":[{"constant":false,"id":29278,"mutability":"mutable","name":"m2","nameLocation":"95115:2:19","nodeType":"VariableDeclaration","scope":29293,"src":"95107:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29277,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95107:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29279,"nodeType":"VariableDeclarationStatement","src":"95107:10:19"},{"assignments":[29281],"declarations":[{"constant":false,"id":29281,"mutability":"mutable","name":"m3","nameLocation":"95135:2:19","nodeType":"VariableDeclaration","scope":29293,"src":"95127:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29280,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95127:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29282,"nodeType":"VariableDeclarationStatement","src":"95127:10:19"},{"assignments":[29284],"declarations":[{"constant":false,"id":29284,"mutability":"mutable","name":"m4","nameLocation":"95155:2:19","nodeType":"VariableDeclaration","scope":29293,"src":"95147:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29283,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95147:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29285,"nodeType":"VariableDeclarationStatement","src":"95147:10:19"},{"AST":{"nativeSrc":"95219:378:19","nodeType":"YulBlock","src":"95219:378:19","statements":[{"nativeSrc":"95233:17:19","nodeType":"YulAssignment","src":"95233:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"95245:4:19","nodeType":"YulLiteral","src":"95245:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"95239:5:19","nodeType":"YulIdentifier","src":"95239:5:19"},"nativeSrc":"95239:11:19","nodeType":"YulFunctionCall","src":"95239:11:19"},"variableNames":[{"name":"m0","nativeSrc":"95233:2:19","nodeType":"YulIdentifier","src":"95233:2:19"}]},{"nativeSrc":"95263:17:19","nodeType":"YulAssignment","src":"95263:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"95275:4:19","nodeType":"YulLiteral","src":"95275:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"95269:5:19","nodeType":"YulIdentifier","src":"95269:5:19"},"nativeSrc":"95269:11:19","nodeType":"YulFunctionCall","src":"95269:11:19"},"variableNames":[{"name":"m1","nativeSrc":"95263:2:19","nodeType":"YulIdentifier","src":"95263:2:19"}]},{"nativeSrc":"95293:17:19","nodeType":"YulAssignment","src":"95293:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"95305:4:19","nodeType":"YulLiteral","src":"95305:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"95299:5:19","nodeType":"YulIdentifier","src":"95299:5:19"},"nativeSrc":"95299:11:19","nodeType":"YulFunctionCall","src":"95299:11:19"},"variableNames":[{"name":"m2","nativeSrc":"95293:2:19","nodeType":"YulIdentifier","src":"95293:2:19"}]},{"nativeSrc":"95323:17:19","nodeType":"YulAssignment","src":"95323:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"95335:4:19","nodeType":"YulLiteral","src":"95335:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"95329:5:19","nodeType":"YulIdentifier","src":"95329:5:19"},"nativeSrc":"95329:11:19","nodeType":"YulFunctionCall","src":"95329:11:19"},"variableNames":[{"name":"m3","nativeSrc":"95323:2:19","nodeType":"YulIdentifier","src":"95323:2:19"}]},{"nativeSrc":"95353:17:19","nodeType":"YulAssignment","src":"95353:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"95365:4:19","nodeType":"YulLiteral","src":"95365:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"95359:5:19","nodeType":"YulIdentifier","src":"95359:5:19"},"nativeSrc":"95359:11:19","nodeType":"YulFunctionCall","src":"95359:11:19"},"variableNames":[{"name":"m4","nativeSrc":"95353:2:19","nodeType":"YulIdentifier","src":"95353:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95454:4:19","nodeType":"YulLiteral","src":"95454:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"95460:10:19","nodeType":"YulLiteral","src":"95460:10:19","type":"","value":"0x9f1bc36e"}],"functionName":{"name":"mstore","nativeSrc":"95447:6:19","nodeType":"YulIdentifier","src":"95447:6:19"},"nativeSrc":"95447:24:19","nodeType":"YulFunctionCall","src":"95447:24:19"},"nativeSrc":"95447:24:19","nodeType":"YulExpressionStatement","src":"95447:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95491:4:19","nodeType":"YulLiteral","src":"95491:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"95497:2:19","nodeType":"YulIdentifier","src":"95497:2:19"}],"functionName":{"name":"mstore","nativeSrc":"95484:6:19","nodeType":"YulIdentifier","src":"95484:6:19"},"nativeSrc":"95484:16:19","nodeType":"YulFunctionCall","src":"95484:16:19"},"nativeSrc":"95484:16:19","nodeType":"YulExpressionStatement","src":"95484:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95520:4:19","nodeType":"YulLiteral","src":"95520:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"95526:2:19","nodeType":"YulIdentifier","src":"95526:2:19"}],"functionName":{"name":"mstore","nativeSrc":"95513:6:19","nodeType":"YulIdentifier","src":"95513:6:19"},"nativeSrc":"95513:16:19","nodeType":"YulFunctionCall","src":"95513:16:19"},"nativeSrc":"95513:16:19","nodeType":"YulExpressionStatement","src":"95513:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95549:4:19","nodeType":"YulLiteral","src":"95549:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"95555:2:19","nodeType":"YulIdentifier","src":"95555:2:19"}],"functionName":{"name":"mstore","nativeSrc":"95542:6:19","nodeType":"YulIdentifier","src":"95542:6:19"},"nativeSrc":"95542:16:19","nodeType":"YulFunctionCall","src":"95542:16:19"},"nativeSrc":"95542:16:19","nodeType":"YulExpressionStatement","src":"95542:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95578:4:19","nodeType":"YulLiteral","src":"95578:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"95584:2:19","nodeType":"YulIdentifier","src":"95584:2:19"}],"functionName":{"name":"mstore","nativeSrc":"95571:6:19","nodeType":"YulIdentifier","src":"95571:6:19"},"nativeSrc":"95571:16:19","nodeType":"YulFunctionCall","src":"95571:16:19"},"nativeSrc":"95571:16:19","nodeType":"YulExpressionStatement","src":"95571:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29272,"isOffset":false,"isSlot":false,"src":"95233:2:19","valueSize":1},{"declaration":29275,"isOffset":false,"isSlot":false,"src":"95263:2:19","valueSize":1},{"declaration":29278,"isOffset":false,"isSlot":false,"src":"95293:2:19","valueSize":1},{"declaration":29281,"isOffset":false,"isSlot":false,"src":"95323:2:19","valueSize":1},{"declaration":29284,"isOffset":false,"isSlot":false,"src":"95353:2:19","valueSize":1},{"declaration":29262,"isOffset":false,"isSlot":false,"src":"95497:2:19","valueSize":1},{"declaration":29264,"isOffset":false,"isSlot":false,"src":"95526:2:19","valueSize":1},{"declaration":29266,"isOffset":false,"isSlot":false,"src":"95555:2:19","valueSize":1},{"declaration":29268,"isOffset":false,"isSlot":false,"src":"95584:2:19","valueSize":1}],"id":29286,"nodeType":"InlineAssembly","src":"95210:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"95622:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":29289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"95628:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":29287,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"95606:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"95606:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29291,"nodeType":"ExpressionStatement","src":"95606:27:19"},{"AST":{"nativeSrc":"95695:156:19","nodeType":"YulBlock","src":"95695:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"95716:4:19","nodeType":"YulLiteral","src":"95716:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"95722:2:19","nodeType":"YulIdentifier","src":"95722:2:19"}],"functionName":{"name":"mstore","nativeSrc":"95709:6:19","nodeType":"YulIdentifier","src":"95709:6:19"},"nativeSrc":"95709:16:19","nodeType":"YulFunctionCall","src":"95709:16:19"},"nativeSrc":"95709:16:19","nodeType":"YulExpressionStatement","src":"95709:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95745:4:19","nodeType":"YulLiteral","src":"95745:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"95751:2:19","nodeType":"YulIdentifier","src":"95751:2:19"}],"functionName":{"name":"mstore","nativeSrc":"95738:6:19","nodeType":"YulIdentifier","src":"95738:6:19"},"nativeSrc":"95738:16:19","nodeType":"YulFunctionCall","src":"95738:16:19"},"nativeSrc":"95738:16:19","nodeType":"YulExpressionStatement","src":"95738:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95774:4:19","nodeType":"YulLiteral","src":"95774:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"95780:2:19","nodeType":"YulIdentifier","src":"95780:2:19"}],"functionName":{"name":"mstore","nativeSrc":"95767:6:19","nodeType":"YulIdentifier","src":"95767:6:19"},"nativeSrc":"95767:16:19","nodeType":"YulFunctionCall","src":"95767:16:19"},"nativeSrc":"95767:16:19","nodeType":"YulExpressionStatement","src":"95767:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95803:4:19","nodeType":"YulLiteral","src":"95803:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"95809:2:19","nodeType":"YulIdentifier","src":"95809:2:19"}],"functionName":{"name":"mstore","nativeSrc":"95796:6:19","nodeType":"YulIdentifier","src":"95796:6:19"},"nativeSrc":"95796:16:19","nodeType":"YulFunctionCall","src":"95796:16:19"},"nativeSrc":"95796:16:19","nodeType":"YulExpressionStatement","src":"95796:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"95832:4:19","nodeType":"YulLiteral","src":"95832:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"95838:2:19","nodeType":"YulIdentifier","src":"95838:2:19"}],"functionName":{"name":"mstore","nativeSrc":"95825:6:19","nodeType":"YulIdentifier","src":"95825:6:19"},"nativeSrc":"95825:16:19","nodeType":"YulFunctionCall","src":"95825:16:19"},"nativeSrc":"95825:16:19","nodeType":"YulExpressionStatement","src":"95825:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29272,"isOffset":false,"isSlot":false,"src":"95722:2:19","valueSize":1},{"declaration":29275,"isOffset":false,"isSlot":false,"src":"95751:2:19","valueSize":1},{"declaration":29278,"isOffset":false,"isSlot":false,"src":"95780:2:19","valueSize":1},{"declaration":29281,"isOffset":false,"isSlot":false,"src":"95809:2:19","valueSize":1},{"declaration":29284,"isOffset":false,"isSlot":false,"src":"95838:2:19","valueSize":1}],"id":29292,"nodeType":"InlineAssembly","src":"95686:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"94994:3:19","parameters":{"id":29269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29262,"mutability":"mutable","name":"p0","nameLocation":"95006:2:19","nodeType":"VariableDeclaration","scope":29294,"src":"94998:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29261,"name":"address","nodeType":"ElementaryTypeName","src":"94998:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29264,"mutability":"mutable","name":"p1","nameLocation":"95018:2:19","nodeType":"VariableDeclaration","scope":29294,"src":"95010:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29263,"name":"address","nodeType":"ElementaryTypeName","src":"95010:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29266,"mutability":"mutable","name":"p2","nameLocation":"95027:2:19","nodeType":"VariableDeclaration","scope":29294,"src":"95022:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29265,"name":"bool","nodeType":"ElementaryTypeName","src":"95022:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29268,"mutability":"mutable","name":"p3","nameLocation":"95039:2:19","nodeType":"VariableDeclaration","scope":29294,"src":"95031:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29267,"name":"address","nodeType":"ElementaryTypeName","src":"95031:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"94997:45:19"},"returnParameters":{"id":29270,"nodeType":"ParameterList","parameters":[],"src":"95057:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29328,"nodeType":"FunctionDefinition","src":"95863:866:19","nodes":[],"body":{"id":29327,"nodeType":"Block","src":"95932:797:19","nodes":[],"statements":[{"assignments":[29306],"declarations":[{"constant":false,"id":29306,"mutability":"mutable","name":"m0","nameLocation":"95950:2:19","nodeType":"VariableDeclaration","scope":29327,"src":"95942:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29305,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95942:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29307,"nodeType":"VariableDeclarationStatement","src":"95942:10:19"},{"assignments":[29309],"declarations":[{"constant":false,"id":29309,"mutability":"mutable","name":"m1","nameLocation":"95970:2:19","nodeType":"VariableDeclaration","scope":29327,"src":"95962:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29308,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95962:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29310,"nodeType":"VariableDeclarationStatement","src":"95962:10:19"},{"assignments":[29312],"declarations":[{"constant":false,"id":29312,"mutability":"mutable","name":"m2","nameLocation":"95990:2:19","nodeType":"VariableDeclaration","scope":29327,"src":"95982:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29311,"name":"bytes32","nodeType":"ElementaryTypeName","src":"95982:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29313,"nodeType":"VariableDeclarationStatement","src":"95982:10:19"},{"assignments":[29315],"declarations":[{"constant":false,"id":29315,"mutability":"mutable","name":"m3","nameLocation":"96010:2:19","nodeType":"VariableDeclaration","scope":29327,"src":"96002:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29314,"name":"bytes32","nodeType":"ElementaryTypeName","src":"96002:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29316,"nodeType":"VariableDeclarationStatement","src":"96002:10:19"},{"assignments":[29318],"declarations":[{"constant":false,"id":29318,"mutability":"mutable","name":"m4","nameLocation":"96030:2:19","nodeType":"VariableDeclaration","scope":29327,"src":"96022:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29317,"name":"bytes32","nodeType":"ElementaryTypeName","src":"96022:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29319,"nodeType":"VariableDeclarationStatement","src":"96022:10:19"},{"AST":{"nativeSrc":"96094:375:19","nodeType":"YulBlock","src":"96094:375:19","statements":[{"nativeSrc":"96108:17:19","nodeType":"YulAssignment","src":"96108:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"96120:4:19","nodeType":"YulLiteral","src":"96120:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"96114:5:19","nodeType":"YulIdentifier","src":"96114:5:19"},"nativeSrc":"96114:11:19","nodeType":"YulFunctionCall","src":"96114:11:19"},"variableNames":[{"name":"m0","nativeSrc":"96108:2:19","nodeType":"YulIdentifier","src":"96108:2:19"}]},{"nativeSrc":"96138:17:19","nodeType":"YulAssignment","src":"96138:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"96150:4:19","nodeType":"YulLiteral","src":"96150:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"96144:5:19","nodeType":"YulIdentifier","src":"96144:5:19"},"nativeSrc":"96144:11:19","nodeType":"YulFunctionCall","src":"96144:11:19"},"variableNames":[{"name":"m1","nativeSrc":"96138:2:19","nodeType":"YulIdentifier","src":"96138:2:19"}]},{"nativeSrc":"96168:17:19","nodeType":"YulAssignment","src":"96168:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"96180:4:19","nodeType":"YulLiteral","src":"96180:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"96174:5:19","nodeType":"YulIdentifier","src":"96174:5:19"},"nativeSrc":"96174:11:19","nodeType":"YulFunctionCall","src":"96174:11:19"},"variableNames":[{"name":"m2","nativeSrc":"96168:2:19","nodeType":"YulIdentifier","src":"96168:2:19"}]},{"nativeSrc":"96198:17:19","nodeType":"YulAssignment","src":"96198:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"96210:4:19","nodeType":"YulLiteral","src":"96210:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"96204:5:19","nodeType":"YulIdentifier","src":"96204:5:19"},"nativeSrc":"96204:11:19","nodeType":"YulFunctionCall","src":"96204:11:19"},"variableNames":[{"name":"m3","nativeSrc":"96198:2:19","nodeType":"YulIdentifier","src":"96198:2:19"}]},{"nativeSrc":"96228:17:19","nodeType":"YulAssignment","src":"96228:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"96240:4:19","nodeType":"YulLiteral","src":"96240:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"96234:5:19","nodeType":"YulIdentifier","src":"96234:5:19"},"nativeSrc":"96234:11:19","nodeType":"YulFunctionCall","src":"96234:11:19"},"variableNames":[{"name":"m4","nativeSrc":"96228:2:19","nodeType":"YulIdentifier","src":"96228:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96326:4:19","nodeType":"YulLiteral","src":"96326:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"96332:10:19","nodeType":"YulLiteral","src":"96332:10:19","type":"","value":"0x2cd4134a"}],"functionName":{"name":"mstore","nativeSrc":"96319:6:19","nodeType":"YulIdentifier","src":"96319:6:19"},"nativeSrc":"96319:24:19","nodeType":"YulFunctionCall","src":"96319:24:19"},"nativeSrc":"96319:24:19","nodeType":"YulExpressionStatement","src":"96319:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96363:4:19","nodeType":"YulLiteral","src":"96363:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"96369:2:19","nodeType":"YulIdentifier","src":"96369:2:19"}],"functionName":{"name":"mstore","nativeSrc":"96356:6:19","nodeType":"YulIdentifier","src":"96356:6:19"},"nativeSrc":"96356:16:19","nodeType":"YulFunctionCall","src":"96356:16:19"},"nativeSrc":"96356:16:19","nodeType":"YulExpressionStatement","src":"96356:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96392:4:19","nodeType":"YulLiteral","src":"96392:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"96398:2:19","nodeType":"YulIdentifier","src":"96398:2:19"}],"functionName":{"name":"mstore","nativeSrc":"96385:6:19","nodeType":"YulIdentifier","src":"96385:6:19"},"nativeSrc":"96385:16:19","nodeType":"YulFunctionCall","src":"96385:16:19"},"nativeSrc":"96385:16:19","nodeType":"YulExpressionStatement","src":"96385:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96421:4:19","nodeType":"YulLiteral","src":"96421:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"96427:2:19","nodeType":"YulIdentifier","src":"96427:2:19"}],"functionName":{"name":"mstore","nativeSrc":"96414:6:19","nodeType":"YulIdentifier","src":"96414:6:19"},"nativeSrc":"96414:16:19","nodeType":"YulFunctionCall","src":"96414:16:19"},"nativeSrc":"96414:16:19","nodeType":"YulExpressionStatement","src":"96414:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96450:4:19","nodeType":"YulLiteral","src":"96450:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"96456:2:19","nodeType":"YulIdentifier","src":"96456:2:19"}],"functionName":{"name":"mstore","nativeSrc":"96443:6:19","nodeType":"YulIdentifier","src":"96443:6:19"},"nativeSrc":"96443:16:19","nodeType":"YulFunctionCall","src":"96443:16:19"},"nativeSrc":"96443:16:19","nodeType":"YulExpressionStatement","src":"96443:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29306,"isOffset":false,"isSlot":false,"src":"96108:2:19","valueSize":1},{"declaration":29309,"isOffset":false,"isSlot":false,"src":"96138:2:19","valueSize":1},{"declaration":29312,"isOffset":false,"isSlot":false,"src":"96168:2:19","valueSize":1},{"declaration":29315,"isOffset":false,"isSlot":false,"src":"96198:2:19","valueSize":1},{"declaration":29318,"isOffset":false,"isSlot":false,"src":"96228:2:19","valueSize":1},{"declaration":29296,"isOffset":false,"isSlot":false,"src":"96369:2:19","valueSize":1},{"declaration":29298,"isOffset":false,"isSlot":false,"src":"96398:2:19","valueSize":1},{"declaration":29300,"isOffset":false,"isSlot":false,"src":"96427:2:19","valueSize":1},{"declaration":29302,"isOffset":false,"isSlot":false,"src":"96456:2:19","valueSize":1}],"id":29320,"nodeType":"InlineAssembly","src":"96085:384:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"96494:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":29323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"96500:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":29321,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"96478:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"96478:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29325,"nodeType":"ExpressionStatement","src":"96478:27:19"},{"AST":{"nativeSrc":"96567:156:19","nodeType":"YulBlock","src":"96567:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"96588:4:19","nodeType":"YulLiteral","src":"96588:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"96594:2:19","nodeType":"YulIdentifier","src":"96594:2:19"}],"functionName":{"name":"mstore","nativeSrc":"96581:6:19","nodeType":"YulIdentifier","src":"96581:6:19"},"nativeSrc":"96581:16:19","nodeType":"YulFunctionCall","src":"96581:16:19"},"nativeSrc":"96581:16:19","nodeType":"YulExpressionStatement","src":"96581:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96617:4:19","nodeType":"YulLiteral","src":"96617:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"96623:2:19","nodeType":"YulIdentifier","src":"96623:2:19"}],"functionName":{"name":"mstore","nativeSrc":"96610:6:19","nodeType":"YulIdentifier","src":"96610:6:19"},"nativeSrc":"96610:16:19","nodeType":"YulFunctionCall","src":"96610:16:19"},"nativeSrc":"96610:16:19","nodeType":"YulExpressionStatement","src":"96610:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96646:4:19","nodeType":"YulLiteral","src":"96646:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"96652:2:19","nodeType":"YulIdentifier","src":"96652:2:19"}],"functionName":{"name":"mstore","nativeSrc":"96639:6:19","nodeType":"YulIdentifier","src":"96639:6:19"},"nativeSrc":"96639:16:19","nodeType":"YulFunctionCall","src":"96639:16:19"},"nativeSrc":"96639:16:19","nodeType":"YulExpressionStatement","src":"96639:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96675:4:19","nodeType":"YulLiteral","src":"96675:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"96681:2:19","nodeType":"YulIdentifier","src":"96681:2:19"}],"functionName":{"name":"mstore","nativeSrc":"96668:6:19","nodeType":"YulIdentifier","src":"96668:6:19"},"nativeSrc":"96668:16:19","nodeType":"YulFunctionCall","src":"96668:16:19"},"nativeSrc":"96668:16:19","nodeType":"YulExpressionStatement","src":"96668:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"96704:4:19","nodeType":"YulLiteral","src":"96704:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"96710:2:19","nodeType":"YulIdentifier","src":"96710:2:19"}],"functionName":{"name":"mstore","nativeSrc":"96697:6:19","nodeType":"YulIdentifier","src":"96697:6:19"},"nativeSrc":"96697:16:19","nodeType":"YulFunctionCall","src":"96697:16:19"},"nativeSrc":"96697:16:19","nodeType":"YulExpressionStatement","src":"96697:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29306,"isOffset":false,"isSlot":false,"src":"96594:2:19","valueSize":1},{"declaration":29309,"isOffset":false,"isSlot":false,"src":"96623:2:19","valueSize":1},{"declaration":29312,"isOffset":false,"isSlot":false,"src":"96652:2:19","valueSize":1},{"declaration":29315,"isOffset":false,"isSlot":false,"src":"96681:2:19","valueSize":1},{"declaration":29318,"isOffset":false,"isSlot":false,"src":"96710:2:19","valueSize":1}],"id":29326,"nodeType":"InlineAssembly","src":"96558:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"95872:3:19","parameters":{"id":29303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29296,"mutability":"mutable","name":"p0","nameLocation":"95884:2:19","nodeType":"VariableDeclaration","scope":29328,"src":"95876:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29295,"name":"address","nodeType":"ElementaryTypeName","src":"95876:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29298,"mutability":"mutable","name":"p1","nameLocation":"95896:2:19","nodeType":"VariableDeclaration","scope":29328,"src":"95888:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29297,"name":"address","nodeType":"ElementaryTypeName","src":"95888:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29300,"mutability":"mutable","name":"p2","nameLocation":"95905:2:19","nodeType":"VariableDeclaration","scope":29328,"src":"95900:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29299,"name":"bool","nodeType":"ElementaryTypeName","src":"95900:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29302,"mutability":"mutable","name":"p3","nameLocation":"95914:2:19","nodeType":"VariableDeclaration","scope":29328,"src":"95909:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29301,"name":"bool","nodeType":"ElementaryTypeName","src":"95909:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"95875:42:19"},"returnParameters":{"id":29304,"nodeType":"ParameterList","parameters":[],"src":"95932:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29362,"nodeType":"FunctionDefinition","src":"96735:872:19","nodes":[],"body":{"id":29361,"nodeType":"Block","src":"96807:800:19","nodes":[],"statements":[{"assignments":[29340],"declarations":[{"constant":false,"id":29340,"mutability":"mutable","name":"m0","nameLocation":"96825:2:19","nodeType":"VariableDeclaration","scope":29361,"src":"96817:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29339,"name":"bytes32","nodeType":"ElementaryTypeName","src":"96817:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29341,"nodeType":"VariableDeclarationStatement","src":"96817:10:19"},{"assignments":[29343],"declarations":[{"constant":false,"id":29343,"mutability":"mutable","name":"m1","nameLocation":"96845:2:19","nodeType":"VariableDeclaration","scope":29361,"src":"96837:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29342,"name":"bytes32","nodeType":"ElementaryTypeName","src":"96837:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29344,"nodeType":"VariableDeclarationStatement","src":"96837:10:19"},{"assignments":[29346],"declarations":[{"constant":false,"id":29346,"mutability":"mutable","name":"m2","nameLocation":"96865:2:19","nodeType":"VariableDeclaration","scope":29361,"src":"96857:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29345,"name":"bytes32","nodeType":"ElementaryTypeName","src":"96857:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29347,"nodeType":"VariableDeclarationStatement","src":"96857:10:19"},{"assignments":[29349],"declarations":[{"constant":false,"id":29349,"mutability":"mutable","name":"m3","nameLocation":"96885:2:19","nodeType":"VariableDeclaration","scope":29361,"src":"96877:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29348,"name":"bytes32","nodeType":"ElementaryTypeName","src":"96877:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29350,"nodeType":"VariableDeclarationStatement","src":"96877:10:19"},{"assignments":[29352],"declarations":[{"constant":false,"id":29352,"mutability":"mutable","name":"m4","nameLocation":"96905:2:19","nodeType":"VariableDeclaration","scope":29361,"src":"96897:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29351,"name":"bytes32","nodeType":"ElementaryTypeName","src":"96897:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29353,"nodeType":"VariableDeclarationStatement","src":"96897:10:19"},{"AST":{"nativeSrc":"96969:378:19","nodeType":"YulBlock","src":"96969:378:19","statements":[{"nativeSrc":"96983:17:19","nodeType":"YulAssignment","src":"96983:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"96995:4:19","nodeType":"YulLiteral","src":"96995:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"96989:5:19","nodeType":"YulIdentifier","src":"96989:5:19"},"nativeSrc":"96989:11:19","nodeType":"YulFunctionCall","src":"96989:11:19"},"variableNames":[{"name":"m0","nativeSrc":"96983:2:19","nodeType":"YulIdentifier","src":"96983:2:19"}]},{"nativeSrc":"97013:17:19","nodeType":"YulAssignment","src":"97013:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"97025:4:19","nodeType":"YulLiteral","src":"97025:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"97019:5:19","nodeType":"YulIdentifier","src":"97019:5:19"},"nativeSrc":"97019:11:19","nodeType":"YulFunctionCall","src":"97019:11:19"},"variableNames":[{"name":"m1","nativeSrc":"97013:2:19","nodeType":"YulIdentifier","src":"97013:2:19"}]},{"nativeSrc":"97043:17:19","nodeType":"YulAssignment","src":"97043:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"97055:4:19","nodeType":"YulLiteral","src":"97055:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"97049:5:19","nodeType":"YulIdentifier","src":"97049:5:19"},"nativeSrc":"97049:11:19","nodeType":"YulFunctionCall","src":"97049:11:19"},"variableNames":[{"name":"m2","nativeSrc":"97043:2:19","nodeType":"YulIdentifier","src":"97043:2:19"}]},{"nativeSrc":"97073:17:19","nodeType":"YulAssignment","src":"97073:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"97085:4:19","nodeType":"YulLiteral","src":"97085:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"97079:5:19","nodeType":"YulIdentifier","src":"97079:5:19"},"nativeSrc":"97079:11:19","nodeType":"YulFunctionCall","src":"97079:11:19"},"variableNames":[{"name":"m3","nativeSrc":"97073:2:19","nodeType":"YulIdentifier","src":"97073:2:19"}]},{"nativeSrc":"97103:17:19","nodeType":"YulAssignment","src":"97103:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"97115:4:19","nodeType":"YulLiteral","src":"97115:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"97109:5:19","nodeType":"YulIdentifier","src":"97109:5:19"},"nativeSrc":"97109:11:19","nodeType":"YulFunctionCall","src":"97109:11:19"},"variableNames":[{"name":"m4","nativeSrc":"97103:2:19","nodeType":"YulIdentifier","src":"97103:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97204:4:19","nodeType":"YulLiteral","src":"97204:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"97210:10:19","nodeType":"YulLiteral","src":"97210:10:19","type":"","value":"0x3971e78c"}],"functionName":{"name":"mstore","nativeSrc":"97197:6:19","nodeType":"YulIdentifier","src":"97197:6:19"},"nativeSrc":"97197:24:19","nodeType":"YulFunctionCall","src":"97197:24:19"},"nativeSrc":"97197:24:19","nodeType":"YulExpressionStatement","src":"97197:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97241:4:19","nodeType":"YulLiteral","src":"97241:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"97247:2:19","nodeType":"YulIdentifier","src":"97247:2:19"}],"functionName":{"name":"mstore","nativeSrc":"97234:6:19","nodeType":"YulIdentifier","src":"97234:6:19"},"nativeSrc":"97234:16:19","nodeType":"YulFunctionCall","src":"97234:16:19"},"nativeSrc":"97234:16:19","nodeType":"YulExpressionStatement","src":"97234:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97270:4:19","nodeType":"YulLiteral","src":"97270:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"97276:2:19","nodeType":"YulIdentifier","src":"97276:2:19"}],"functionName":{"name":"mstore","nativeSrc":"97263:6:19","nodeType":"YulIdentifier","src":"97263:6:19"},"nativeSrc":"97263:16:19","nodeType":"YulFunctionCall","src":"97263:16:19"},"nativeSrc":"97263:16:19","nodeType":"YulExpressionStatement","src":"97263:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97299:4:19","nodeType":"YulLiteral","src":"97299:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"97305:2:19","nodeType":"YulIdentifier","src":"97305:2:19"}],"functionName":{"name":"mstore","nativeSrc":"97292:6:19","nodeType":"YulIdentifier","src":"97292:6:19"},"nativeSrc":"97292:16:19","nodeType":"YulFunctionCall","src":"97292:16:19"},"nativeSrc":"97292:16:19","nodeType":"YulExpressionStatement","src":"97292:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97328:4:19","nodeType":"YulLiteral","src":"97328:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"97334:2:19","nodeType":"YulIdentifier","src":"97334:2:19"}],"functionName":{"name":"mstore","nativeSrc":"97321:6:19","nodeType":"YulIdentifier","src":"97321:6:19"},"nativeSrc":"97321:16:19","nodeType":"YulFunctionCall","src":"97321:16:19"},"nativeSrc":"97321:16:19","nodeType":"YulExpressionStatement","src":"97321:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29340,"isOffset":false,"isSlot":false,"src":"96983:2:19","valueSize":1},{"declaration":29343,"isOffset":false,"isSlot":false,"src":"97013:2:19","valueSize":1},{"declaration":29346,"isOffset":false,"isSlot":false,"src":"97043:2:19","valueSize":1},{"declaration":29349,"isOffset":false,"isSlot":false,"src":"97073:2:19","valueSize":1},{"declaration":29352,"isOffset":false,"isSlot":false,"src":"97103:2:19","valueSize":1},{"declaration":29330,"isOffset":false,"isSlot":false,"src":"97247:2:19","valueSize":1},{"declaration":29332,"isOffset":false,"isSlot":false,"src":"97276:2:19","valueSize":1},{"declaration":29334,"isOffset":false,"isSlot":false,"src":"97305:2:19","valueSize":1},{"declaration":29336,"isOffset":false,"isSlot":false,"src":"97334:2:19","valueSize":1}],"id":29354,"nodeType":"InlineAssembly","src":"96960:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"97372:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":29357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"97378:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":29355,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"97356:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"97356:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29359,"nodeType":"ExpressionStatement","src":"97356:27:19"},{"AST":{"nativeSrc":"97445:156:19","nodeType":"YulBlock","src":"97445:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"97466:4:19","nodeType":"YulLiteral","src":"97466:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"97472:2:19","nodeType":"YulIdentifier","src":"97472:2:19"}],"functionName":{"name":"mstore","nativeSrc":"97459:6:19","nodeType":"YulIdentifier","src":"97459:6:19"},"nativeSrc":"97459:16:19","nodeType":"YulFunctionCall","src":"97459:16:19"},"nativeSrc":"97459:16:19","nodeType":"YulExpressionStatement","src":"97459:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97495:4:19","nodeType":"YulLiteral","src":"97495:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"97501:2:19","nodeType":"YulIdentifier","src":"97501:2:19"}],"functionName":{"name":"mstore","nativeSrc":"97488:6:19","nodeType":"YulIdentifier","src":"97488:6:19"},"nativeSrc":"97488:16:19","nodeType":"YulFunctionCall","src":"97488:16:19"},"nativeSrc":"97488:16:19","nodeType":"YulExpressionStatement","src":"97488:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97524:4:19","nodeType":"YulLiteral","src":"97524:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"97530:2:19","nodeType":"YulIdentifier","src":"97530:2:19"}],"functionName":{"name":"mstore","nativeSrc":"97517:6:19","nodeType":"YulIdentifier","src":"97517:6:19"},"nativeSrc":"97517:16:19","nodeType":"YulFunctionCall","src":"97517:16:19"},"nativeSrc":"97517:16:19","nodeType":"YulExpressionStatement","src":"97517:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97553:4:19","nodeType":"YulLiteral","src":"97553:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"97559:2:19","nodeType":"YulIdentifier","src":"97559:2:19"}],"functionName":{"name":"mstore","nativeSrc":"97546:6:19","nodeType":"YulIdentifier","src":"97546:6:19"},"nativeSrc":"97546:16:19","nodeType":"YulFunctionCall","src":"97546:16:19"},"nativeSrc":"97546:16:19","nodeType":"YulExpressionStatement","src":"97546:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"97582:4:19","nodeType":"YulLiteral","src":"97582:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"97588:2:19","nodeType":"YulIdentifier","src":"97588:2:19"}],"functionName":{"name":"mstore","nativeSrc":"97575:6:19","nodeType":"YulIdentifier","src":"97575:6:19"},"nativeSrc":"97575:16:19","nodeType":"YulFunctionCall","src":"97575:16:19"},"nativeSrc":"97575:16:19","nodeType":"YulExpressionStatement","src":"97575:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29340,"isOffset":false,"isSlot":false,"src":"97472:2:19","valueSize":1},{"declaration":29343,"isOffset":false,"isSlot":false,"src":"97501:2:19","valueSize":1},{"declaration":29346,"isOffset":false,"isSlot":false,"src":"97530:2:19","valueSize":1},{"declaration":29349,"isOffset":false,"isSlot":false,"src":"97559:2:19","valueSize":1},{"declaration":29352,"isOffset":false,"isSlot":false,"src":"97588:2:19","valueSize":1}],"id":29360,"nodeType":"InlineAssembly","src":"97436:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"96744:3:19","parameters":{"id":29337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29330,"mutability":"mutable","name":"p0","nameLocation":"96756:2:19","nodeType":"VariableDeclaration","scope":29362,"src":"96748:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29329,"name":"address","nodeType":"ElementaryTypeName","src":"96748:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29332,"mutability":"mutable","name":"p1","nameLocation":"96768:2:19","nodeType":"VariableDeclaration","scope":29362,"src":"96760:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29331,"name":"address","nodeType":"ElementaryTypeName","src":"96760:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29334,"mutability":"mutable","name":"p2","nameLocation":"96777:2:19","nodeType":"VariableDeclaration","scope":29362,"src":"96772:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29333,"name":"bool","nodeType":"ElementaryTypeName","src":"96772:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29336,"mutability":"mutable","name":"p3","nameLocation":"96789:2:19","nodeType":"VariableDeclaration","scope":29362,"src":"96781:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29335,"name":"uint256","nodeType":"ElementaryTypeName","src":"96781:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"96747:45:19"},"returnParameters":{"id":29338,"nodeType":"ParameterList","parameters":[],"src":"96807:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29402,"nodeType":"FunctionDefinition","src":"97613:1420:19","nodes":[],"body":{"id":29401,"nodeType":"Block","src":"97685:1348:19","nodes":[],"statements":[{"assignments":[29374],"declarations":[{"constant":false,"id":29374,"mutability":"mutable","name":"m0","nameLocation":"97703:2:19","nodeType":"VariableDeclaration","scope":29401,"src":"97695:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29373,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97695:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29375,"nodeType":"VariableDeclarationStatement","src":"97695:10:19"},{"assignments":[29377],"declarations":[{"constant":false,"id":29377,"mutability":"mutable","name":"m1","nameLocation":"97723:2:19","nodeType":"VariableDeclaration","scope":29401,"src":"97715:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29376,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97715:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29378,"nodeType":"VariableDeclarationStatement","src":"97715:10:19"},{"assignments":[29380],"declarations":[{"constant":false,"id":29380,"mutability":"mutable","name":"m2","nameLocation":"97743:2:19","nodeType":"VariableDeclaration","scope":29401,"src":"97735:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29379,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97735:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29381,"nodeType":"VariableDeclarationStatement","src":"97735:10:19"},{"assignments":[29383],"declarations":[{"constant":false,"id":29383,"mutability":"mutable","name":"m3","nameLocation":"97763:2:19","nodeType":"VariableDeclaration","scope":29401,"src":"97755:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29382,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97755:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29384,"nodeType":"VariableDeclarationStatement","src":"97755:10:19"},{"assignments":[29386],"declarations":[{"constant":false,"id":29386,"mutability":"mutable","name":"m4","nameLocation":"97783:2:19","nodeType":"VariableDeclaration","scope":29401,"src":"97775:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29385,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97775:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29387,"nodeType":"VariableDeclarationStatement","src":"97775:10:19"},{"assignments":[29389],"declarations":[{"constant":false,"id":29389,"mutability":"mutable","name":"m5","nameLocation":"97803:2:19","nodeType":"VariableDeclaration","scope":29401,"src":"97795:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29388,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97795:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29390,"nodeType":"VariableDeclarationStatement","src":"97795:10:19"},{"assignments":[29392],"declarations":[{"constant":false,"id":29392,"mutability":"mutable","name":"m6","nameLocation":"97823:2:19","nodeType":"VariableDeclaration","scope":29401,"src":"97815:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29391,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97815:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29393,"nodeType":"VariableDeclarationStatement","src":"97815:10:19"},{"AST":{"nativeSrc":"97887:828:19","nodeType":"YulBlock","src":"97887:828:19","statements":[{"body":{"nativeSrc":"97930:313:19","nodeType":"YulBlock","src":"97930:313:19","statements":[{"nativeSrc":"97948:15:19","nodeType":"YulVariableDeclaration","src":"97948:15:19","value":{"kind":"number","nativeSrc":"97962:1:19","nodeType":"YulLiteral","src":"97962:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"97952:6:19","nodeType":"YulTypedName","src":"97952:6:19","type":""}]},{"body":{"nativeSrc":"98033:40:19","nodeType":"YulBlock","src":"98033:40:19","statements":[{"body":{"nativeSrc":"98062:9:19","nodeType":"YulBlock","src":"98062:9:19","statements":[{"nativeSrc":"98064:5:19","nodeType":"YulBreak","src":"98064:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"98050:6:19","nodeType":"YulIdentifier","src":"98050:6:19"},{"name":"w","nativeSrc":"98058:1:19","nodeType":"YulIdentifier","src":"98058:1:19"}],"functionName":{"name":"byte","nativeSrc":"98045:4:19","nodeType":"YulIdentifier","src":"98045:4:19"},"nativeSrc":"98045:15:19","nodeType":"YulFunctionCall","src":"98045:15:19"}],"functionName":{"name":"iszero","nativeSrc":"98038:6:19","nodeType":"YulIdentifier","src":"98038:6:19"},"nativeSrc":"98038:23:19","nodeType":"YulFunctionCall","src":"98038:23:19"},"nativeSrc":"98035:36:19","nodeType":"YulIf","src":"98035:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"97990:6:19","nodeType":"YulIdentifier","src":"97990:6:19"},{"kind":"number","nativeSrc":"97998:4:19","nodeType":"YulLiteral","src":"97998:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"97987:2:19","nodeType":"YulIdentifier","src":"97987:2:19"},"nativeSrc":"97987:16:19","nodeType":"YulFunctionCall","src":"97987:16:19"},"nativeSrc":"97980:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"98004:28:19","nodeType":"YulBlock","src":"98004:28:19","statements":[{"nativeSrc":"98006:24:19","nodeType":"YulAssignment","src":"98006:24:19","value":{"arguments":[{"name":"length","nativeSrc":"98020:6:19","nodeType":"YulIdentifier","src":"98020:6:19"},{"kind":"number","nativeSrc":"98028:1:19","nodeType":"YulLiteral","src":"98028:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"98016:3:19","nodeType":"YulIdentifier","src":"98016:3:19"},"nativeSrc":"98016:14:19","nodeType":"YulFunctionCall","src":"98016:14:19"},"variableNames":[{"name":"length","nativeSrc":"98006:6:19","nodeType":"YulIdentifier","src":"98006:6:19"}]}]},"pre":{"nativeSrc":"97984:2:19","nodeType":"YulBlock","src":"97984:2:19","statements":[]},"src":"97980:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"98097:3:19","nodeType":"YulIdentifier","src":"98097:3:19"},{"name":"length","nativeSrc":"98102:6:19","nodeType":"YulIdentifier","src":"98102:6:19"}],"functionName":{"name":"mstore","nativeSrc":"98090:6:19","nodeType":"YulIdentifier","src":"98090:6:19"},"nativeSrc":"98090:19:19","nodeType":"YulFunctionCall","src":"98090:19:19"},"nativeSrc":"98090:19:19","nodeType":"YulExpressionStatement","src":"98090:19:19"},{"nativeSrc":"98126:37:19","nodeType":"YulVariableDeclaration","src":"98126:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"98143:3:19","nodeType":"YulLiteral","src":"98143:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"98152:1:19","nodeType":"YulLiteral","src":"98152:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"98155:6:19","nodeType":"YulIdentifier","src":"98155:6:19"}],"functionName":{"name":"shl","nativeSrc":"98148:3:19","nodeType":"YulIdentifier","src":"98148:3:19"},"nativeSrc":"98148:14:19","nodeType":"YulFunctionCall","src":"98148:14:19"}],"functionName":{"name":"sub","nativeSrc":"98139:3:19","nodeType":"YulIdentifier","src":"98139:3:19"},"nativeSrc":"98139:24:19","nodeType":"YulFunctionCall","src":"98139:24:19"},"variables":[{"name":"shift","nativeSrc":"98130:5:19","nodeType":"YulTypedName","src":"98130:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"98191:3:19","nodeType":"YulIdentifier","src":"98191:3:19"},{"kind":"number","nativeSrc":"98196:4:19","nodeType":"YulLiteral","src":"98196:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"98187:3:19","nodeType":"YulIdentifier","src":"98187:3:19"},"nativeSrc":"98187:14:19","nodeType":"YulFunctionCall","src":"98187:14:19"},{"arguments":[{"name":"shift","nativeSrc":"98207:5:19","nodeType":"YulIdentifier","src":"98207:5:19"},{"arguments":[{"name":"shift","nativeSrc":"98218:5:19","nodeType":"YulIdentifier","src":"98218:5:19"},{"name":"w","nativeSrc":"98225:1:19","nodeType":"YulIdentifier","src":"98225:1:19"}],"functionName":{"name":"shr","nativeSrc":"98214:3:19","nodeType":"YulIdentifier","src":"98214:3:19"},"nativeSrc":"98214:13:19","nodeType":"YulFunctionCall","src":"98214:13:19"}],"functionName":{"name":"shl","nativeSrc":"98203:3:19","nodeType":"YulIdentifier","src":"98203:3:19"},"nativeSrc":"98203:25:19","nodeType":"YulFunctionCall","src":"98203:25:19"}],"functionName":{"name":"mstore","nativeSrc":"98180:6:19","nodeType":"YulIdentifier","src":"98180:6:19"},"nativeSrc":"98180:49:19","nodeType":"YulFunctionCall","src":"98180:49:19"},"nativeSrc":"98180:49:19","nodeType":"YulExpressionStatement","src":"98180:49:19"}]},"name":"writeString","nativeSrc":"97901:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"97922:3:19","nodeType":"YulTypedName","src":"97922:3:19","type":""},{"name":"w","nativeSrc":"97927:1:19","nodeType":"YulTypedName","src":"97927:1:19","type":""}],"src":"97901:342:19"},{"nativeSrc":"98256:17:19","nodeType":"YulAssignment","src":"98256:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"98268:4:19","nodeType":"YulLiteral","src":"98268:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"98262:5:19","nodeType":"YulIdentifier","src":"98262:5:19"},"nativeSrc":"98262:11:19","nodeType":"YulFunctionCall","src":"98262:11:19"},"variableNames":[{"name":"m0","nativeSrc":"98256:2:19","nodeType":"YulIdentifier","src":"98256:2:19"}]},{"nativeSrc":"98286:17:19","nodeType":"YulAssignment","src":"98286:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"98298:4:19","nodeType":"YulLiteral","src":"98298:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"98292:5:19","nodeType":"YulIdentifier","src":"98292:5:19"},"nativeSrc":"98292:11:19","nodeType":"YulFunctionCall","src":"98292:11:19"},"variableNames":[{"name":"m1","nativeSrc":"98286:2:19","nodeType":"YulIdentifier","src":"98286:2:19"}]},{"nativeSrc":"98316:17:19","nodeType":"YulAssignment","src":"98316:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"98328:4:19","nodeType":"YulLiteral","src":"98328:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"98322:5:19","nodeType":"YulIdentifier","src":"98322:5:19"},"nativeSrc":"98322:11:19","nodeType":"YulFunctionCall","src":"98322:11:19"},"variableNames":[{"name":"m2","nativeSrc":"98316:2:19","nodeType":"YulIdentifier","src":"98316:2:19"}]},{"nativeSrc":"98346:17:19","nodeType":"YulAssignment","src":"98346:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"98358:4:19","nodeType":"YulLiteral","src":"98358:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"98352:5:19","nodeType":"YulIdentifier","src":"98352:5:19"},"nativeSrc":"98352:11:19","nodeType":"YulFunctionCall","src":"98352:11:19"},"variableNames":[{"name":"m3","nativeSrc":"98346:2:19","nodeType":"YulIdentifier","src":"98346:2:19"}]},{"nativeSrc":"98376:17:19","nodeType":"YulAssignment","src":"98376:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"98388:4:19","nodeType":"YulLiteral","src":"98388:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"98382:5:19","nodeType":"YulIdentifier","src":"98382:5:19"},"nativeSrc":"98382:11:19","nodeType":"YulFunctionCall","src":"98382:11:19"},"variableNames":[{"name":"m4","nativeSrc":"98376:2:19","nodeType":"YulIdentifier","src":"98376:2:19"}]},{"nativeSrc":"98406:17:19","nodeType":"YulAssignment","src":"98406:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"98418:4:19","nodeType":"YulLiteral","src":"98418:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"98412:5:19","nodeType":"YulIdentifier","src":"98412:5:19"},"nativeSrc":"98412:11:19","nodeType":"YulFunctionCall","src":"98412:11:19"},"variableNames":[{"name":"m5","nativeSrc":"98406:2:19","nodeType":"YulIdentifier","src":"98406:2:19"}]},{"nativeSrc":"98436:17:19","nodeType":"YulAssignment","src":"98436:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"98448:4:19","nodeType":"YulLiteral","src":"98448:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"98442:5:19","nodeType":"YulIdentifier","src":"98442:5:19"},"nativeSrc":"98442:11:19","nodeType":"YulFunctionCall","src":"98442:11:19"},"variableNames":[{"name":"m6","nativeSrc":"98436:2:19","nodeType":"YulIdentifier","src":"98436:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98536:4:19","nodeType":"YulLiteral","src":"98536:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"98542:10:19","nodeType":"YulLiteral","src":"98542:10:19","type":"","value":"0xaa6540c8"}],"functionName":{"name":"mstore","nativeSrc":"98529:6:19","nodeType":"YulIdentifier","src":"98529:6:19"},"nativeSrc":"98529:24:19","nodeType":"YulFunctionCall","src":"98529:24:19"},"nativeSrc":"98529:24:19","nodeType":"YulExpressionStatement","src":"98529:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98573:4:19","nodeType":"YulLiteral","src":"98573:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"98579:2:19","nodeType":"YulIdentifier","src":"98579:2:19"}],"functionName":{"name":"mstore","nativeSrc":"98566:6:19","nodeType":"YulIdentifier","src":"98566:6:19"},"nativeSrc":"98566:16:19","nodeType":"YulFunctionCall","src":"98566:16:19"},"nativeSrc":"98566:16:19","nodeType":"YulExpressionStatement","src":"98566:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98602:4:19","nodeType":"YulLiteral","src":"98602:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"98608:2:19","nodeType":"YulIdentifier","src":"98608:2:19"}],"functionName":{"name":"mstore","nativeSrc":"98595:6:19","nodeType":"YulIdentifier","src":"98595:6:19"},"nativeSrc":"98595:16:19","nodeType":"YulFunctionCall","src":"98595:16:19"},"nativeSrc":"98595:16:19","nodeType":"YulExpressionStatement","src":"98595:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98631:4:19","nodeType":"YulLiteral","src":"98631:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"98637:2:19","nodeType":"YulIdentifier","src":"98637:2:19"}],"functionName":{"name":"mstore","nativeSrc":"98624:6:19","nodeType":"YulIdentifier","src":"98624:6:19"},"nativeSrc":"98624:16:19","nodeType":"YulFunctionCall","src":"98624:16:19"},"nativeSrc":"98624:16:19","nodeType":"YulExpressionStatement","src":"98624:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98660:4:19","nodeType":"YulLiteral","src":"98660:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"98666:4:19","nodeType":"YulLiteral","src":"98666:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"98653:6:19","nodeType":"YulIdentifier","src":"98653:6:19"},"nativeSrc":"98653:18:19","nodeType":"YulFunctionCall","src":"98653:18:19"},"nativeSrc":"98653:18:19","nodeType":"YulExpressionStatement","src":"98653:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98696:4:19","nodeType":"YulLiteral","src":"98696:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"98702:2:19","nodeType":"YulIdentifier","src":"98702:2:19"}],"functionName":{"name":"writeString","nativeSrc":"98684:11:19","nodeType":"YulIdentifier","src":"98684:11:19"},"nativeSrc":"98684:21:19","nodeType":"YulFunctionCall","src":"98684:21:19"},"nativeSrc":"98684:21:19","nodeType":"YulExpressionStatement","src":"98684:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29374,"isOffset":false,"isSlot":false,"src":"98256:2:19","valueSize":1},{"declaration":29377,"isOffset":false,"isSlot":false,"src":"98286:2:19","valueSize":1},{"declaration":29380,"isOffset":false,"isSlot":false,"src":"98316:2:19","valueSize":1},{"declaration":29383,"isOffset":false,"isSlot":false,"src":"98346:2:19","valueSize":1},{"declaration":29386,"isOffset":false,"isSlot":false,"src":"98376:2:19","valueSize":1},{"declaration":29389,"isOffset":false,"isSlot":false,"src":"98406:2:19","valueSize":1},{"declaration":29392,"isOffset":false,"isSlot":false,"src":"98436:2:19","valueSize":1},{"declaration":29364,"isOffset":false,"isSlot":false,"src":"98579:2:19","valueSize":1},{"declaration":29366,"isOffset":false,"isSlot":false,"src":"98608:2:19","valueSize":1},{"declaration":29368,"isOffset":false,"isSlot":false,"src":"98637:2:19","valueSize":1},{"declaration":29370,"isOffset":false,"isSlot":false,"src":"98702:2:19","valueSize":1}],"id":29394,"nodeType":"InlineAssembly","src":"97878:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"98740:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":29397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"98746:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":29395,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"98724:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"98724:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29399,"nodeType":"ExpressionStatement","src":"98724:27:19"},{"AST":{"nativeSrc":"98813:214:19","nodeType":"YulBlock","src":"98813:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"98834:4:19","nodeType":"YulLiteral","src":"98834:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"98840:2:19","nodeType":"YulIdentifier","src":"98840:2:19"}],"functionName":{"name":"mstore","nativeSrc":"98827:6:19","nodeType":"YulIdentifier","src":"98827:6:19"},"nativeSrc":"98827:16:19","nodeType":"YulFunctionCall","src":"98827:16:19"},"nativeSrc":"98827:16:19","nodeType":"YulExpressionStatement","src":"98827:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98863:4:19","nodeType":"YulLiteral","src":"98863:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"98869:2:19","nodeType":"YulIdentifier","src":"98869:2:19"}],"functionName":{"name":"mstore","nativeSrc":"98856:6:19","nodeType":"YulIdentifier","src":"98856:6:19"},"nativeSrc":"98856:16:19","nodeType":"YulFunctionCall","src":"98856:16:19"},"nativeSrc":"98856:16:19","nodeType":"YulExpressionStatement","src":"98856:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98892:4:19","nodeType":"YulLiteral","src":"98892:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"98898:2:19","nodeType":"YulIdentifier","src":"98898:2:19"}],"functionName":{"name":"mstore","nativeSrc":"98885:6:19","nodeType":"YulIdentifier","src":"98885:6:19"},"nativeSrc":"98885:16:19","nodeType":"YulFunctionCall","src":"98885:16:19"},"nativeSrc":"98885:16:19","nodeType":"YulExpressionStatement","src":"98885:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98921:4:19","nodeType":"YulLiteral","src":"98921:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"98927:2:19","nodeType":"YulIdentifier","src":"98927:2:19"}],"functionName":{"name":"mstore","nativeSrc":"98914:6:19","nodeType":"YulIdentifier","src":"98914:6:19"},"nativeSrc":"98914:16:19","nodeType":"YulFunctionCall","src":"98914:16:19"},"nativeSrc":"98914:16:19","nodeType":"YulExpressionStatement","src":"98914:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98950:4:19","nodeType":"YulLiteral","src":"98950:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"98956:2:19","nodeType":"YulIdentifier","src":"98956:2:19"}],"functionName":{"name":"mstore","nativeSrc":"98943:6:19","nodeType":"YulIdentifier","src":"98943:6:19"},"nativeSrc":"98943:16:19","nodeType":"YulFunctionCall","src":"98943:16:19"},"nativeSrc":"98943:16:19","nodeType":"YulExpressionStatement","src":"98943:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"98979:4:19","nodeType":"YulLiteral","src":"98979:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"98985:2:19","nodeType":"YulIdentifier","src":"98985:2:19"}],"functionName":{"name":"mstore","nativeSrc":"98972:6:19","nodeType":"YulIdentifier","src":"98972:6:19"},"nativeSrc":"98972:16:19","nodeType":"YulFunctionCall","src":"98972:16:19"},"nativeSrc":"98972:16:19","nodeType":"YulExpressionStatement","src":"98972:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99008:4:19","nodeType":"YulLiteral","src":"99008:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"99014:2:19","nodeType":"YulIdentifier","src":"99014:2:19"}],"functionName":{"name":"mstore","nativeSrc":"99001:6:19","nodeType":"YulIdentifier","src":"99001:6:19"},"nativeSrc":"99001:16:19","nodeType":"YulFunctionCall","src":"99001:16:19"},"nativeSrc":"99001:16:19","nodeType":"YulExpressionStatement","src":"99001:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29374,"isOffset":false,"isSlot":false,"src":"98840:2:19","valueSize":1},{"declaration":29377,"isOffset":false,"isSlot":false,"src":"98869:2:19","valueSize":1},{"declaration":29380,"isOffset":false,"isSlot":false,"src":"98898:2:19","valueSize":1},{"declaration":29383,"isOffset":false,"isSlot":false,"src":"98927:2:19","valueSize":1},{"declaration":29386,"isOffset":false,"isSlot":false,"src":"98956:2:19","valueSize":1},{"declaration":29389,"isOffset":false,"isSlot":false,"src":"98985:2:19","valueSize":1},{"declaration":29392,"isOffset":false,"isSlot":false,"src":"99014:2:19","valueSize":1}],"id":29400,"nodeType":"InlineAssembly","src":"98804:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"97622:3:19","parameters":{"id":29371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29364,"mutability":"mutable","name":"p0","nameLocation":"97634:2:19","nodeType":"VariableDeclaration","scope":29402,"src":"97626:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29363,"name":"address","nodeType":"ElementaryTypeName","src":"97626:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29366,"mutability":"mutable","name":"p1","nameLocation":"97646:2:19","nodeType":"VariableDeclaration","scope":29402,"src":"97638:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29365,"name":"address","nodeType":"ElementaryTypeName","src":"97638:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29368,"mutability":"mutable","name":"p2","nameLocation":"97655:2:19","nodeType":"VariableDeclaration","scope":29402,"src":"97650:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29367,"name":"bool","nodeType":"ElementaryTypeName","src":"97650:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29370,"mutability":"mutable","name":"p3","nameLocation":"97667:2:19","nodeType":"VariableDeclaration","scope":29402,"src":"97659:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29369,"name":"bytes32","nodeType":"ElementaryTypeName","src":"97659:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"97625:45:19"},"returnParameters":{"id":29372,"nodeType":"ParameterList","parameters":[],"src":"97685:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29436,"nodeType":"FunctionDefinition","src":"99039:878:19","nodes":[],"body":{"id":29435,"nodeType":"Block","src":"99114:803:19","nodes":[],"statements":[{"assignments":[29414],"declarations":[{"constant":false,"id":29414,"mutability":"mutable","name":"m0","nameLocation":"99132:2:19","nodeType":"VariableDeclaration","scope":29435,"src":"99124:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29413,"name":"bytes32","nodeType":"ElementaryTypeName","src":"99124:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29415,"nodeType":"VariableDeclarationStatement","src":"99124:10:19"},{"assignments":[29417],"declarations":[{"constant":false,"id":29417,"mutability":"mutable","name":"m1","nameLocation":"99152:2:19","nodeType":"VariableDeclaration","scope":29435,"src":"99144:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29416,"name":"bytes32","nodeType":"ElementaryTypeName","src":"99144:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29418,"nodeType":"VariableDeclarationStatement","src":"99144:10:19"},{"assignments":[29420],"declarations":[{"constant":false,"id":29420,"mutability":"mutable","name":"m2","nameLocation":"99172:2:19","nodeType":"VariableDeclaration","scope":29435,"src":"99164:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29419,"name":"bytes32","nodeType":"ElementaryTypeName","src":"99164:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29421,"nodeType":"VariableDeclarationStatement","src":"99164:10:19"},{"assignments":[29423],"declarations":[{"constant":false,"id":29423,"mutability":"mutable","name":"m3","nameLocation":"99192:2:19","nodeType":"VariableDeclaration","scope":29435,"src":"99184:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29422,"name":"bytes32","nodeType":"ElementaryTypeName","src":"99184:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29424,"nodeType":"VariableDeclarationStatement","src":"99184:10:19"},{"assignments":[29426],"declarations":[{"constant":false,"id":29426,"mutability":"mutable","name":"m4","nameLocation":"99212:2:19","nodeType":"VariableDeclaration","scope":29435,"src":"99204:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29425,"name":"bytes32","nodeType":"ElementaryTypeName","src":"99204:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29427,"nodeType":"VariableDeclarationStatement","src":"99204:10:19"},{"AST":{"nativeSrc":"99276:381:19","nodeType":"YulBlock","src":"99276:381:19","statements":[{"nativeSrc":"99290:17:19","nodeType":"YulAssignment","src":"99290:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"99302:4:19","nodeType":"YulLiteral","src":"99302:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"99296:5:19","nodeType":"YulIdentifier","src":"99296:5:19"},"nativeSrc":"99296:11:19","nodeType":"YulFunctionCall","src":"99296:11:19"},"variableNames":[{"name":"m0","nativeSrc":"99290:2:19","nodeType":"YulIdentifier","src":"99290:2:19"}]},{"nativeSrc":"99320:17:19","nodeType":"YulAssignment","src":"99320:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"99332:4:19","nodeType":"YulLiteral","src":"99332:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"99326:5:19","nodeType":"YulIdentifier","src":"99326:5:19"},"nativeSrc":"99326:11:19","nodeType":"YulFunctionCall","src":"99326:11:19"},"variableNames":[{"name":"m1","nativeSrc":"99320:2:19","nodeType":"YulIdentifier","src":"99320:2:19"}]},{"nativeSrc":"99350:17:19","nodeType":"YulAssignment","src":"99350:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"99362:4:19","nodeType":"YulLiteral","src":"99362:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"99356:5:19","nodeType":"YulIdentifier","src":"99356:5:19"},"nativeSrc":"99356:11:19","nodeType":"YulFunctionCall","src":"99356:11:19"},"variableNames":[{"name":"m2","nativeSrc":"99350:2:19","nodeType":"YulIdentifier","src":"99350:2:19"}]},{"nativeSrc":"99380:17:19","nodeType":"YulAssignment","src":"99380:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"99392:4:19","nodeType":"YulLiteral","src":"99392:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"99386:5:19","nodeType":"YulIdentifier","src":"99386:5:19"},"nativeSrc":"99386:11:19","nodeType":"YulFunctionCall","src":"99386:11:19"},"variableNames":[{"name":"m3","nativeSrc":"99380:2:19","nodeType":"YulIdentifier","src":"99380:2:19"}]},{"nativeSrc":"99410:17:19","nodeType":"YulAssignment","src":"99410:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"99422:4:19","nodeType":"YulLiteral","src":"99422:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"99416:5:19","nodeType":"YulIdentifier","src":"99416:5:19"},"nativeSrc":"99416:11:19","nodeType":"YulFunctionCall","src":"99416:11:19"},"variableNames":[{"name":"m4","nativeSrc":"99410:2:19","nodeType":"YulIdentifier","src":"99410:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99514:4:19","nodeType":"YulLiteral","src":"99514:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"99520:10:19","nodeType":"YulLiteral","src":"99520:10:19","type":"","value":"0x8da6def5"}],"functionName":{"name":"mstore","nativeSrc":"99507:6:19","nodeType":"YulIdentifier","src":"99507:6:19"},"nativeSrc":"99507:24:19","nodeType":"YulFunctionCall","src":"99507:24:19"},"nativeSrc":"99507:24:19","nodeType":"YulExpressionStatement","src":"99507:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99551:4:19","nodeType":"YulLiteral","src":"99551:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"99557:2:19","nodeType":"YulIdentifier","src":"99557:2:19"}],"functionName":{"name":"mstore","nativeSrc":"99544:6:19","nodeType":"YulIdentifier","src":"99544:6:19"},"nativeSrc":"99544:16:19","nodeType":"YulFunctionCall","src":"99544:16:19"},"nativeSrc":"99544:16:19","nodeType":"YulExpressionStatement","src":"99544:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99580:4:19","nodeType":"YulLiteral","src":"99580:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"99586:2:19","nodeType":"YulIdentifier","src":"99586:2:19"}],"functionName":{"name":"mstore","nativeSrc":"99573:6:19","nodeType":"YulIdentifier","src":"99573:6:19"},"nativeSrc":"99573:16:19","nodeType":"YulFunctionCall","src":"99573:16:19"},"nativeSrc":"99573:16:19","nodeType":"YulExpressionStatement","src":"99573:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99609:4:19","nodeType":"YulLiteral","src":"99609:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"99615:2:19","nodeType":"YulIdentifier","src":"99615:2:19"}],"functionName":{"name":"mstore","nativeSrc":"99602:6:19","nodeType":"YulIdentifier","src":"99602:6:19"},"nativeSrc":"99602:16:19","nodeType":"YulFunctionCall","src":"99602:16:19"},"nativeSrc":"99602:16:19","nodeType":"YulExpressionStatement","src":"99602:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99638:4:19","nodeType":"YulLiteral","src":"99638:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"99644:2:19","nodeType":"YulIdentifier","src":"99644:2:19"}],"functionName":{"name":"mstore","nativeSrc":"99631:6:19","nodeType":"YulIdentifier","src":"99631:6:19"},"nativeSrc":"99631:16:19","nodeType":"YulFunctionCall","src":"99631:16:19"},"nativeSrc":"99631:16:19","nodeType":"YulExpressionStatement","src":"99631:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29414,"isOffset":false,"isSlot":false,"src":"99290:2:19","valueSize":1},{"declaration":29417,"isOffset":false,"isSlot":false,"src":"99320:2:19","valueSize":1},{"declaration":29420,"isOffset":false,"isSlot":false,"src":"99350:2:19","valueSize":1},{"declaration":29423,"isOffset":false,"isSlot":false,"src":"99380:2:19","valueSize":1},{"declaration":29426,"isOffset":false,"isSlot":false,"src":"99410:2:19","valueSize":1},{"declaration":29404,"isOffset":false,"isSlot":false,"src":"99557:2:19","valueSize":1},{"declaration":29406,"isOffset":false,"isSlot":false,"src":"99586:2:19","valueSize":1},{"declaration":29408,"isOffset":false,"isSlot":false,"src":"99615:2:19","valueSize":1},{"declaration":29410,"isOffset":false,"isSlot":false,"src":"99644:2:19","valueSize":1}],"id":29428,"nodeType":"InlineAssembly","src":"99267:390:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"99682:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":29431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"99688:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":29429,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"99666:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"99666:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29433,"nodeType":"ExpressionStatement","src":"99666:27:19"},{"AST":{"nativeSrc":"99755:156:19","nodeType":"YulBlock","src":"99755:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"99776:4:19","nodeType":"YulLiteral","src":"99776:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"99782:2:19","nodeType":"YulIdentifier","src":"99782:2:19"}],"functionName":{"name":"mstore","nativeSrc":"99769:6:19","nodeType":"YulIdentifier","src":"99769:6:19"},"nativeSrc":"99769:16:19","nodeType":"YulFunctionCall","src":"99769:16:19"},"nativeSrc":"99769:16:19","nodeType":"YulExpressionStatement","src":"99769:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99805:4:19","nodeType":"YulLiteral","src":"99805:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"99811:2:19","nodeType":"YulIdentifier","src":"99811:2:19"}],"functionName":{"name":"mstore","nativeSrc":"99798:6:19","nodeType":"YulIdentifier","src":"99798:6:19"},"nativeSrc":"99798:16:19","nodeType":"YulFunctionCall","src":"99798:16:19"},"nativeSrc":"99798:16:19","nodeType":"YulExpressionStatement","src":"99798:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99834:4:19","nodeType":"YulLiteral","src":"99834:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"99840:2:19","nodeType":"YulIdentifier","src":"99840:2:19"}],"functionName":{"name":"mstore","nativeSrc":"99827:6:19","nodeType":"YulIdentifier","src":"99827:6:19"},"nativeSrc":"99827:16:19","nodeType":"YulFunctionCall","src":"99827:16:19"},"nativeSrc":"99827:16:19","nodeType":"YulExpressionStatement","src":"99827:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99863:4:19","nodeType":"YulLiteral","src":"99863:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"99869:2:19","nodeType":"YulIdentifier","src":"99869:2:19"}],"functionName":{"name":"mstore","nativeSrc":"99856:6:19","nodeType":"YulIdentifier","src":"99856:6:19"},"nativeSrc":"99856:16:19","nodeType":"YulFunctionCall","src":"99856:16:19"},"nativeSrc":"99856:16:19","nodeType":"YulExpressionStatement","src":"99856:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"99892:4:19","nodeType":"YulLiteral","src":"99892:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"99898:2:19","nodeType":"YulIdentifier","src":"99898:2:19"}],"functionName":{"name":"mstore","nativeSrc":"99885:6:19","nodeType":"YulIdentifier","src":"99885:6:19"},"nativeSrc":"99885:16:19","nodeType":"YulFunctionCall","src":"99885:16:19"},"nativeSrc":"99885:16:19","nodeType":"YulExpressionStatement","src":"99885:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29414,"isOffset":false,"isSlot":false,"src":"99782:2:19","valueSize":1},{"declaration":29417,"isOffset":false,"isSlot":false,"src":"99811:2:19","valueSize":1},{"declaration":29420,"isOffset":false,"isSlot":false,"src":"99840:2:19","valueSize":1},{"declaration":29423,"isOffset":false,"isSlot":false,"src":"99869:2:19","valueSize":1},{"declaration":29426,"isOffset":false,"isSlot":false,"src":"99898:2:19","valueSize":1}],"id":29434,"nodeType":"InlineAssembly","src":"99746:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"99048:3:19","parameters":{"id":29411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29404,"mutability":"mutable","name":"p0","nameLocation":"99060:2:19","nodeType":"VariableDeclaration","scope":29436,"src":"99052:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29403,"name":"address","nodeType":"ElementaryTypeName","src":"99052:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29406,"mutability":"mutable","name":"p1","nameLocation":"99072:2:19","nodeType":"VariableDeclaration","scope":29436,"src":"99064:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29405,"name":"address","nodeType":"ElementaryTypeName","src":"99064:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29408,"mutability":"mutable","name":"p2","nameLocation":"99084:2:19","nodeType":"VariableDeclaration","scope":29436,"src":"99076:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29407,"name":"uint256","nodeType":"ElementaryTypeName","src":"99076:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29410,"mutability":"mutable","name":"p3","nameLocation":"99096:2:19","nodeType":"VariableDeclaration","scope":29436,"src":"99088:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29409,"name":"address","nodeType":"ElementaryTypeName","src":"99088:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"99051:48:19"},"returnParameters":{"id":29412,"nodeType":"ParameterList","parameters":[],"src":"99114:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29470,"nodeType":"FunctionDefinition","src":"99923:872:19","nodes":[],"body":{"id":29469,"nodeType":"Block","src":"99995:800:19","nodes":[],"statements":[{"assignments":[29448],"declarations":[{"constant":false,"id":29448,"mutability":"mutable","name":"m0","nameLocation":"100013:2:19","nodeType":"VariableDeclaration","scope":29469,"src":"100005:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29447,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100005:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29449,"nodeType":"VariableDeclarationStatement","src":"100005:10:19"},{"assignments":[29451],"declarations":[{"constant":false,"id":29451,"mutability":"mutable","name":"m1","nameLocation":"100033:2:19","nodeType":"VariableDeclaration","scope":29469,"src":"100025:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29450,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100025:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29452,"nodeType":"VariableDeclarationStatement","src":"100025:10:19"},{"assignments":[29454],"declarations":[{"constant":false,"id":29454,"mutability":"mutable","name":"m2","nameLocation":"100053:2:19","nodeType":"VariableDeclaration","scope":29469,"src":"100045:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29453,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100045:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29455,"nodeType":"VariableDeclarationStatement","src":"100045:10:19"},{"assignments":[29457],"declarations":[{"constant":false,"id":29457,"mutability":"mutable","name":"m3","nameLocation":"100073:2:19","nodeType":"VariableDeclaration","scope":29469,"src":"100065:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29456,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100065:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29458,"nodeType":"VariableDeclarationStatement","src":"100065:10:19"},{"assignments":[29460],"declarations":[{"constant":false,"id":29460,"mutability":"mutable","name":"m4","nameLocation":"100093:2:19","nodeType":"VariableDeclaration","scope":29469,"src":"100085:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29459,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100085:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29461,"nodeType":"VariableDeclarationStatement","src":"100085:10:19"},{"AST":{"nativeSrc":"100157:378:19","nodeType":"YulBlock","src":"100157:378:19","statements":[{"nativeSrc":"100171:17:19","nodeType":"YulAssignment","src":"100171:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"100183:4:19","nodeType":"YulLiteral","src":"100183:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"100177:5:19","nodeType":"YulIdentifier","src":"100177:5:19"},"nativeSrc":"100177:11:19","nodeType":"YulFunctionCall","src":"100177:11:19"},"variableNames":[{"name":"m0","nativeSrc":"100171:2:19","nodeType":"YulIdentifier","src":"100171:2:19"}]},{"nativeSrc":"100201:17:19","nodeType":"YulAssignment","src":"100201:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"100213:4:19","nodeType":"YulLiteral","src":"100213:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"100207:5:19","nodeType":"YulIdentifier","src":"100207:5:19"},"nativeSrc":"100207:11:19","nodeType":"YulFunctionCall","src":"100207:11:19"},"variableNames":[{"name":"m1","nativeSrc":"100201:2:19","nodeType":"YulIdentifier","src":"100201:2:19"}]},{"nativeSrc":"100231:17:19","nodeType":"YulAssignment","src":"100231:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"100243:4:19","nodeType":"YulLiteral","src":"100243:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"100237:5:19","nodeType":"YulIdentifier","src":"100237:5:19"},"nativeSrc":"100237:11:19","nodeType":"YulFunctionCall","src":"100237:11:19"},"variableNames":[{"name":"m2","nativeSrc":"100231:2:19","nodeType":"YulIdentifier","src":"100231:2:19"}]},{"nativeSrc":"100261:17:19","nodeType":"YulAssignment","src":"100261:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"100273:4:19","nodeType":"YulLiteral","src":"100273:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"100267:5:19","nodeType":"YulIdentifier","src":"100267:5:19"},"nativeSrc":"100267:11:19","nodeType":"YulFunctionCall","src":"100267:11:19"},"variableNames":[{"name":"m3","nativeSrc":"100261:2:19","nodeType":"YulIdentifier","src":"100261:2:19"}]},{"nativeSrc":"100291:17:19","nodeType":"YulAssignment","src":"100291:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"100303:4:19","nodeType":"YulLiteral","src":"100303:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"100297:5:19","nodeType":"YulIdentifier","src":"100297:5:19"},"nativeSrc":"100297:11:19","nodeType":"YulFunctionCall","src":"100297:11:19"},"variableNames":[{"name":"m4","nativeSrc":"100291:2:19","nodeType":"YulIdentifier","src":"100291:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100392:4:19","nodeType":"YulLiteral","src":"100392:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"100398:10:19","nodeType":"YulLiteral","src":"100398:10:19","type":"","value":"0x9b4254e2"}],"functionName":{"name":"mstore","nativeSrc":"100385:6:19","nodeType":"YulIdentifier","src":"100385:6:19"},"nativeSrc":"100385:24:19","nodeType":"YulFunctionCall","src":"100385:24:19"},"nativeSrc":"100385:24:19","nodeType":"YulExpressionStatement","src":"100385:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100429:4:19","nodeType":"YulLiteral","src":"100429:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"100435:2:19","nodeType":"YulIdentifier","src":"100435:2:19"}],"functionName":{"name":"mstore","nativeSrc":"100422:6:19","nodeType":"YulIdentifier","src":"100422:6:19"},"nativeSrc":"100422:16:19","nodeType":"YulFunctionCall","src":"100422:16:19"},"nativeSrc":"100422:16:19","nodeType":"YulExpressionStatement","src":"100422:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100458:4:19","nodeType":"YulLiteral","src":"100458:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"100464:2:19","nodeType":"YulIdentifier","src":"100464:2:19"}],"functionName":{"name":"mstore","nativeSrc":"100451:6:19","nodeType":"YulIdentifier","src":"100451:6:19"},"nativeSrc":"100451:16:19","nodeType":"YulFunctionCall","src":"100451:16:19"},"nativeSrc":"100451:16:19","nodeType":"YulExpressionStatement","src":"100451:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100487:4:19","nodeType":"YulLiteral","src":"100487:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"100493:2:19","nodeType":"YulIdentifier","src":"100493:2:19"}],"functionName":{"name":"mstore","nativeSrc":"100480:6:19","nodeType":"YulIdentifier","src":"100480:6:19"},"nativeSrc":"100480:16:19","nodeType":"YulFunctionCall","src":"100480:16:19"},"nativeSrc":"100480:16:19","nodeType":"YulExpressionStatement","src":"100480:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100516:4:19","nodeType":"YulLiteral","src":"100516:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"100522:2:19","nodeType":"YulIdentifier","src":"100522:2:19"}],"functionName":{"name":"mstore","nativeSrc":"100509:6:19","nodeType":"YulIdentifier","src":"100509:6:19"},"nativeSrc":"100509:16:19","nodeType":"YulFunctionCall","src":"100509:16:19"},"nativeSrc":"100509:16:19","nodeType":"YulExpressionStatement","src":"100509:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29448,"isOffset":false,"isSlot":false,"src":"100171:2:19","valueSize":1},{"declaration":29451,"isOffset":false,"isSlot":false,"src":"100201:2:19","valueSize":1},{"declaration":29454,"isOffset":false,"isSlot":false,"src":"100231:2:19","valueSize":1},{"declaration":29457,"isOffset":false,"isSlot":false,"src":"100261:2:19","valueSize":1},{"declaration":29460,"isOffset":false,"isSlot":false,"src":"100291:2:19","valueSize":1},{"declaration":29438,"isOffset":false,"isSlot":false,"src":"100435:2:19","valueSize":1},{"declaration":29440,"isOffset":false,"isSlot":false,"src":"100464:2:19","valueSize":1},{"declaration":29442,"isOffset":false,"isSlot":false,"src":"100493:2:19","valueSize":1},{"declaration":29444,"isOffset":false,"isSlot":false,"src":"100522:2:19","valueSize":1}],"id":29462,"nodeType":"InlineAssembly","src":"100148:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"100560:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":29465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"100566:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":29463,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"100544:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"100544:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29467,"nodeType":"ExpressionStatement","src":"100544:27:19"},{"AST":{"nativeSrc":"100633:156:19","nodeType":"YulBlock","src":"100633:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"100654:4:19","nodeType":"YulLiteral","src":"100654:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"100660:2:19","nodeType":"YulIdentifier","src":"100660:2:19"}],"functionName":{"name":"mstore","nativeSrc":"100647:6:19","nodeType":"YulIdentifier","src":"100647:6:19"},"nativeSrc":"100647:16:19","nodeType":"YulFunctionCall","src":"100647:16:19"},"nativeSrc":"100647:16:19","nodeType":"YulExpressionStatement","src":"100647:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100683:4:19","nodeType":"YulLiteral","src":"100683:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"100689:2:19","nodeType":"YulIdentifier","src":"100689:2:19"}],"functionName":{"name":"mstore","nativeSrc":"100676:6:19","nodeType":"YulIdentifier","src":"100676:6:19"},"nativeSrc":"100676:16:19","nodeType":"YulFunctionCall","src":"100676:16:19"},"nativeSrc":"100676:16:19","nodeType":"YulExpressionStatement","src":"100676:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100712:4:19","nodeType":"YulLiteral","src":"100712:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"100718:2:19","nodeType":"YulIdentifier","src":"100718:2:19"}],"functionName":{"name":"mstore","nativeSrc":"100705:6:19","nodeType":"YulIdentifier","src":"100705:6:19"},"nativeSrc":"100705:16:19","nodeType":"YulFunctionCall","src":"100705:16:19"},"nativeSrc":"100705:16:19","nodeType":"YulExpressionStatement","src":"100705:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100741:4:19","nodeType":"YulLiteral","src":"100741:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"100747:2:19","nodeType":"YulIdentifier","src":"100747:2:19"}],"functionName":{"name":"mstore","nativeSrc":"100734:6:19","nodeType":"YulIdentifier","src":"100734:6:19"},"nativeSrc":"100734:16:19","nodeType":"YulFunctionCall","src":"100734:16:19"},"nativeSrc":"100734:16:19","nodeType":"YulExpressionStatement","src":"100734:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"100770:4:19","nodeType":"YulLiteral","src":"100770:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"100776:2:19","nodeType":"YulIdentifier","src":"100776:2:19"}],"functionName":{"name":"mstore","nativeSrc":"100763:6:19","nodeType":"YulIdentifier","src":"100763:6:19"},"nativeSrc":"100763:16:19","nodeType":"YulFunctionCall","src":"100763:16:19"},"nativeSrc":"100763:16:19","nodeType":"YulExpressionStatement","src":"100763:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29448,"isOffset":false,"isSlot":false,"src":"100660:2:19","valueSize":1},{"declaration":29451,"isOffset":false,"isSlot":false,"src":"100689:2:19","valueSize":1},{"declaration":29454,"isOffset":false,"isSlot":false,"src":"100718:2:19","valueSize":1},{"declaration":29457,"isOffset":false,"isSlot":false,"src":"100747:2:19","valueSize":1},{"declaration":29460,"isOffset":false,"isSlot":false,"src":"100776:2:19","valueSize":1}],"id":29468,"nodeType":"InlineAssembly","src":"100624:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"99932:3:19","parameters":{"id":29445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29438,"mutability":"mutable","name":"p0","nameLocation":"99944:2:19","nodeType":"VariableDeclaration","scope":29470,"src":"99936:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29437,"name":"address","nodeType":"ElementaryTypeName","src":"99936:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29440,"mutability":"mutable","name":"p1","nameLocation":"99956:2:19","nodeType":"VariableDeclaration","scope":29470,"src":"99948:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29439,"name":"address","nodeType":"ElementaryTypeName","src":"99948:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29442,"mutability":"mutable","name":"p2","nameLocation":"99968:2:19","nodeType":"VariableDeclaration","scope":29470,"src":"99960:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29441,"name":"uint256","nodeType":"ElementaryTypeName","src":"99960:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29444,"mutability":"mutable","name":"p3","nameLocation":"99977:2:19","nodeType":"VariableDeclaration","scope":29470,"src":"99972:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29443,"name":"bool","nodeType":"ElementaryTypeName","src":"99972:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"99935:45:19"},"returnParameters":{"id":29446,"nodeType":"ParameterList","parameters":[],"src":"99995:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29504,"nodeType":"FunctionDefinition","src":"100801:878:19","nodes":[],"body":{"id":29503,"nodeType":"Block","src":"100876:803:19","nodes":[],"statements":[{"assignments":[29482],"declarations":[{"constant":false,"id":29482,"mutability":"mutable","name":"m0","nameLocation":"100894:2:19","nodeType":"VariableDeclaration","scope":29503,"src":"100886:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29481,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100886:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29483,"nodeType":"VariableDeclarationStatement","src":"100886:10:19"},{"assignments":[29485],"declarations":[{"constant":false,"id":29485,"mutability":"mutable","name":"m1","nameLocation":"100914:2:19","nodeType":"VariableDeclaration","scope":29503,"src":"100906:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29484,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100906:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29486,"nodeType":"VariableDeclarationStatement","src":"100906:10:19"},{"assignments":[29488],"declarations":[{"constant":false,"id":29488,"mutability":"mutable","name":"m2","nameLocation":"100934:2:19","nodeType":"VariableDeclaration","scope":29503,"src":"100926:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29487,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100926:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29489,"nodeType":"VariableDeclarationStatement","src":"100926:10:19"},{"assignments":[29491],"declarations":[{"constant":false,"id":29491,"mutability":"mutable","name":"m3","nameLocation":"100954:2:19","nodeType":"VariableDeclaration","scope":29503,"src":"100946:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29490,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100946:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29492,"nodeType":"VariableDeclarationStatement","src":"100946:10:19"},{"assignments":[29494],"declarations":[{"constant":false,"id":29494,"mutability":"mutable","name":"m4","nameLocation":"100974:2:19","nodeType":"VariableDeclaration","scope":29503,"src":"100966:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29493,"name":"bytes32","nodeType":"ElementaryTypeName","src":"100966:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29495,"nodeType":"VariableDeclarationStatement","src":"100966:10:19"},{"AST":{"nativeSrc":"101038:381:19","nodeType":"YulBlock","src":"101038:381:19","statements":[{"nativeSrc":"101052:17:19","nodeType":"YulAssignment","src":"101052:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"101064:4:19","nodeType":"YulLiteral","src":"101064:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"101058:5:19","nodeType":"YulIdentifier","src":"101058:5:19"},"nativeSrc":"101058:11:19","nodeType":"YulFunctionCall","src":"101058:11:19"},"variableNames":[{"name":"m0","nativeSrc":"101052:2:19","nodeType":"YulIdentifier","src":"101052:2:19"}]},{"nativeSrc":"101082:17:19","nodeType":"YulAssignment","src":"101082:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"101094:4:19","nodeType":"YulLiteral","src":"101094:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"101088:5:19","nodeType":"YulIdentifier","src":"101088:5:19"},"nativeSrc":"101088:11:19","nodeType":"YulFunctionCall","src":"101088:11:19"},"variableNames":[{"name":"m1","nativeSrc":"101082:2:19","nodeType":"YulIdentifier","src":"101082:2:19"}]},{"nativeSrc":"101112:17:19","nodeType":"YulAssignment","src":"101112:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"101124:4:19","nodeType":"YulLiteral","src":"101124:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"101118:5:19","nodeType":"YulIdentifier","src":"101118:5:19"},"nativeSrc":"101118:11:19","nodeType":"YulFunctionCall","src":"101118:11:19"},"variableNames":[{"name":"m2","nativeSrc":"101112:2:19","nodeType":"YulIdentifier","src":"101112:2:19"}]},{"nativeSrc":"101142:17:19","nodeType":"YulAssignment","src":"101142:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"101154:4:19","nodeType":"YulLiteral","src":"101154:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"101148:5:19","nodeType":"YulIdentifier","src":"101148:5:19"},"nativeSrc":"101148:11:19","nodeType":"YulFunctionCall","src":"101148:11:19"},"variableNames":[{"name":"m3","nativeSrc":"101142:2:19","nodeType":"YulIdentifier","src":"101142:2:19"}]},{"nativeSrc":"101172:17:19","nodeType":"YulAssignment","src":"101172:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"101184:4:19","nodeType":"YulLiteral","src":"101184:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"101178:5:19","nodeType":"YulIdentifier","src":"101178:5:19"},"nativeSrc":"101178:11:19","nodeType":"YulFunctionCall","src":"101178:11:19"},"variableNames":[{"name":"m4","nativeSrc":"101172:2:19","nodeType":"YulIdentifier","src":"101172:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101276:4:19","nodeType":"YulLiteral","src":"101276:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"101282:10:19","nodeType":"YulLiteral","src":"101282:10:19","type":"","value":"0xbe553481"}],"functionName":{"name":"mstore","nativeSrc":"101269:6:19","nodeType":"YulIdentifier","src":"101269:6:19"},"nativeSrc":"101269:24:19","nodeType":"YulFunctionCall","src":"101269:24:19"},"nativeSrc":"101269:24:19","nodeType":"YulExpressionStatement","src":"101269:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101313:4:19","nodeType":"YulLiteral","src":"101313:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"101319:2:19","nodeType":"YulIdentifier","src":"101319:2:19"}],"functionName":{"name":"mstore","nativeSrc":"101306:6:19","nodeType":"YulIdentifier","src":"101306:6:19"},"nativeSrc":"101306:16:19","nodeType":"YulFunctionCall","src":"101306:16:19"},"nativeSrc":"101306:16:19","nodeType":"YulExpressionStatement","src":"101306:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101342:4:19","nodeType":"YulLiteral","src":"101342:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"101348:2:19","nodeType":"YulIdentifier","src":"101348:2:19"}],"functionName":{"name":"mstore","nativeSrc":"101335:6:19","nodeType":"YulIdentifier","src":"101335:6:19"},"nativeSrc":"101335:16:19","nodeType":"YulFunctionCall","src":"101335:16:19"},"nativeSrc":"101335:16:19","nodeType":"YulExpressionStatement","src":"101335:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101371:4:19","nodeType":"YulLiteral","src":"101371:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"101377:2:19","nodeType":"YulIdentifier","src":"101377:2:19"}],"functionName":{"name":"mstore","nativeSrc":"101364:6:19","nodeType":"YulIdentifier","src":"101364:6:19"},"nativeSrc":"101364:16:19","nodeType":"YulFunctionCall","src":"101364:16:19"},"nativeSrc":"101364:16:19","nodeType":"YulExpressionStatement","src":"101364:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101400:4:19","nodeType":"YulLiteral","src":"101400:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"101406:2:19","nodeType":"YulIdentifier","src":"101406:2:19"}],"functionName":{"name":"mstore","nativeSrc":"101393:6:19","nodeType":"YulIdentifier","src":"101393:6:19"},"nativeSrc":"101393:16:19","nodeType":"YulFunctionCall","src":"101393:16:19"},"nativeSrc":"101393:16:19","nodeType":"YulExpressionStatement","src":"101393:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29482,"isOffset":false,"isSlot":false,"src":"101052:2:19","valueSize":1},{"declaration":29485,"isOffset":false,"isSlot":false,"src":"101082:2:19","valueSize":1},{"declaration":29488,"isOffset":false,"isSlot":false,"src":"101112:2:19","valueSize":1},{"declaration":29491,"isOffset":false,"isSlot":false,"src":"101142:2:19","valueSize":1},{"declaration":29494,"isOffset":false,"isSlot":false,"src":"101172:2:19","valueSize":1},{"declaration":29472,"isOffset":false,"isSlot":false,"src":"101319:2:19","valueSize":1},{"declaration":29474,"isOffset":false,"isSlot":false,"src":"101348:2:19","valueSize":1},{"declaration":29476,"isOffset":false,"isSlot":false,"src":"101377:2:19","valueSize":1},{"declaration":29478,"isOffset":false,"isSlot":false,"src":"101406:2:19","valueSize":1}],"id":29496,"nodeType":"InlineAssembly","src":"101029:390:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"101444:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":29499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"101450:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":29497,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"101428:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"101428:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29501,"nodeType":"ExpressionStatement","src":"101428:27:19"},{"AST":{"nativeSrc":"101517:156:19","nodeType":"YulBlock","src":"101517:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"101538:4:19","nodeType":"YulLiteral","src":"101538:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"101544:2:19","nodeType":"YulIdentifier","src":"101544:2:19"}],"functionName":{"name":"mstore","nativeSrc":"101531:6:19","nodeType":"YulIdentifier","src":"101531:6:19"},"nativeSrc":"101531:16:19","nodeType":"YulFunctionCall","src":"101531:16:19"},"nativeSrc":"101531:16:19","nodeType":"YulExpressionStatement","src":"101531:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101567:4:19","nodeType":"YulLiteral","src":"101567:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"101573:2:19","nodeType":"YulIdentifier","src":"101573:2:19"}],"functionName":{"name":"mstore","nativeSrc":"101560:6:19","nodeType":"YulIdentifier","src":"101560:6:19"},"nativeSrc":"101560:16:19","nodeType":"YulFunctionCall","src":"101560:16:19"},"nativeSrc":"101560:16:19","nodeType":"YulExpressionStatement","src":"101560:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101596:4:19","nodeType":"YulLiteral","src":"101596:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"101602:2:19","nodeType":"YulIdentifier","src":"101602:2:19"}],"functionName":{"name":"mstore","nativeSrc":"101589:6:19","nodeType":"YulIdentifier","src":"101589:6:19"},"nativeSrc":"101589:16:19","nodeType":"YulFunctionCall","src":"101589:16:19"},"nativeSrc":"101589:16:19","nodeType":"YulExpressionStatement","src":"101589:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101625:4:19","nodeType":"YulLiteral","src":"101625:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"101631:2:19","nodeType":"YulIdentifier","src":"101631:2:19"}],"functionName":{"name":"mstore","nativeSrc":"101618:6:19","nodeType":"YulIdentifier","src":"101618:6:19"},"nativeSrc":"101618:16:19","nodeType":"YulFunctionCall","src":"101618:16:19"},"nativeSrc":"101618:16:19","nodeType":"YulExpressionStatement","src":"101618:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"101654:4:19","nodeType":"YulLiteral","src":"101654:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"101660:2:19","nodeType":"YulIdentifier","src":"101660:2:19"}],"functionName":{"name":"mstore","nativeSrc":"101647:6:19","nodeType":"YulIdentifier","src":"101647:6:19"},"nativeSrc":"101647:16:19","nodeType":"YulFunctionCall","src":"101647:16:19"},"nativeSrc":"101647:16:19","nodeType":"YulExpressionStatement","src":"101647:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29482,"isOffset":false,"isSlot":false,"src":"101544:2:19","valueSize":1},{"declaration":29485,"isOffset":false,"isSlot":false,"src":"101573:2:19","valueSize":1},{"declaration":29488,"isOffset":false,"isSlot":false,"src":"101602:2:19","valueSize":1},{"declaration":29491,"isOffset":false,"isSlot":false,"src":"101631:2:19","valueSize":1},{"declaration":29494,"isOffset":false,"isSlot":false,"src":"101660:2:19","valueSize":1}],"id":29502,"nodeType":"InlineAssembly","src":"101508:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"100810:3:19","parameters":{"id":29479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29472,"mutability":"mutable","name":"p0","nameLocation":"100822:2:19","nodeType":"VariableDeclaration","scope":29504,"src":"100814:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29471,"name":"address","nodeType":"ElementaryTypeName","src":"100814:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29474,"mutability":"mutable","name":"p1","nameLocation":"100834:2:19","nodeType":"VariableDeclaration","scope":29504,"src":"100826:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29473,"name":"address","nodeType":"ElementaryTypeName","src":"100826:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29476,"mutability":"mutable","name":"p2","nameLocation":"100846:2:19","nodeType":"VariableDeclaration","scope":29504,"src":"100838:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29475,"name":"uint256","nodeType":"ElementaryTypeName","src":"100838:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29478,"mutability":"mutable","name":"p3","nameLocation":"100858:2:19","nodeType":"VariableDeclaration","scope":29504,"src":"100850:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29477,"name":"uint256","nodeType":"ElementaryTypeName","src":"100850:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"100813:48:19"},"returnParameters":{"id":29480,"nodeType":"ParameterList","parameters":[],"src":"100876:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29544,"nodeType":"FunctionDefinition","src":"101685:1426:19","nodes":[],"body":{"id":29543,"nodeType":"Block","src":"101760:1351:19","nodes":[],"statements":[{"assignments":[29516],"declarations":[{"constant":false,"id":29516,"mutability":"mutable","name":"m0","nameLocation":"101778:2:19","nodeType":"VariableDeclaration","scope":29543,"src":"101770:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29515,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101770:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29517,"nodeType":"VariableDeclarationStatement","src":"101770:10:19"},{"assignments":[29519],"declarations":[{"constant":false,"id":29519,"mutability":"mutable","name":"m1","nameLocation":"101798:2:19","nodeType":"VariableDeclaration","scope":29543,"src":"101790:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29518,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101790:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29520,"nodeType":"VariableDeclarationStatement","src":"101790:10:19"},{"assignments":[29522],"declarations":[{"constant":false,"id":29522,"mutability":"mutable","name":"m2","nameLocation":"101818:2:19","nodeType":"VariableDeclaration","scope":29543,"src":"101810:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29521,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101810:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29523,"nodeType":"VariableDeclarationStatement","src":"101810:10:19"},{"assignments":[29525],"declarations":[{"constant":false,"id":29525,"mutability":"mutable","name":"m3","nameLocation":"101838:2:19","nodeType":"VariableDeclaration","scope":29543,"src":"101830:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29524,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101830:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29526,"nodeType":"VariableDeclarationStatement","src":"101830:10:19"},{"assignments":[29528],"declarations":[{"constant":false,"id":29528,"mutability":"mutable","name":"m4","nameLocation":"101858:2:19","nodeType":"VariableDeclaration","scope":29543,"src":"101850:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29527,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101850:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29529,"nodeType":"VariableDeclarationStatement","src":"101850:10:19"},{"assignments":[29531],"declarations":[{"constant":false,"id":29531,"mutability":"mutable","name":"m5","nameLocation":"101878:2:19","nodeType":"VariableDeclaration","scope":29543,"src":"101870:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29530,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101870:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29532,"nodeType":"VariableDeclarationStatement","src":"101870:10:19"},{"assignments":[29534],"declarations":[{"constant":false,"id":29534,"mutability":"mutable","name":"m6","nameLocation":"101898:2:19","nodeType":"VariableDeclaration","scope":29543,"src":"101890:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29533,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101890:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29535,"nodeType":"VariableDeclarationStatement","src":"101890:10:19"},{"AST":{"nativeSrc":"101962:831:19","nodeType":"YulBlock","src":"101962:831:19","statements":[{"body":{"nativeSrc":"102005:313:19","nodeType":"YulBlock","src":"102005:313:19","statements":[{"nativeSrc":"102023:15:19","nodeType":"YulVariableDeclaration","src":"102023:15:19","value":{"kind":"number","nativeSrc":"102037:1:19","nodeType":"YulLiteral","src":"102037:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"102027:6:19","nodeType":"YulTypedName","src":"102027:6:19","type":""}]},{"body":{"nativeSrc":"102108:40:19","nodeType":"YulBlock","src":"102108:40:19","statements":[{"body":{"nativeSrc":"102137:9:19","nodeType":"YulBlock","src":"102137:9:19","statements":[{"nativeSrc":"102139:5:19","nodeType":"YulBreak","src":"102139:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"102125:6:19","nodeType":"YulIdentifier","src":"102125:6:19"},{"name":"w","nativeSrc":"102133:1:19","nodeType":"YulIdentifier","src":"102133:1:19"}],"functionName":{"name":"byte","nativeSrc":"102120:4:19","nodeType":"YulIdentifier","src":"102120:4:19"},"nativeSrc":"102120:15:19","nodeType":"YulFunctionCall","src":"102120:15:19"}],"functionName":{"name":"iszero","nativeSrc":"102113:6:19","nodeType":"YulIdentifier","src":"102113:6:19"},"nativeSrc":"102113:23:19","nodeType":"YulFunctionCall","src":"102113:23:19"},"nativeSrc":"102110:36:19","nodeType":"YulIf","src":"102110:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"102065:6:19","nodeType":"YulIdentifier","src":"102065:6:19"},{"kind":"number","nativeSrc":"102073:4:19","nodeType":"YulLiteral","src":"102073:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"102062:2:19","nodeType":"YulIdentifier","src":"102062:2:19"},"nativeSrc":"102062:16:19","nodeType":"YulFunctionCall","src":"102062:16:19"},"nativeSrc":"102055:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"102079:28:19","nodeType":"YulBlock","src":"102079:28:19","statements":[{"nativeSrc":"102081:24:19","nodeType":"YulAssignment","src":"102081:24:19","value":{"arguments":[{"name":"length","nativeSrc":"102095:6:19","nodeType":"YulIdentifier","src":"102095:6:19"},{"kind":"number","nativeSrc":"102103:1:19","nodeType":"YulLiteral","src":"102103:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"102091:3:19","nodeType":"YulIdentifier","src":"102091:3:19"},"nativeSrc":"102091:14:19","nodeType":"YulFunctionCall","src":"102091:14:19"},"variableNames":[{"name":"length","nativeSrc":"102081:6:19","nodeType":"YulIdentifier","src":"102081:6:19"}]}]},"pre":{"nativeSrc":"102059:2:19","nodeType":"YulBlock","src":"102059:2:19","statements":[]},"src":"102055:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"102172:3:19","nodeType":"YulIdentifier","src":"102172:3:19"},{"name":"length","nativeSrc":"102177:6:19","nodeType":"YulIdentifier","src":"102177:6:19"}],"functionName":{"name":"mstore","nativeSrc":"102165:6:19","nodeType":"YulIdentifier","src":"102165:6:19"},"nativeSrc":"102165:19:19","nodeType":"YulFunctionCall","src":"102165:19:19"},"nativeSrc":"102165:19:19","nodeType":"YulExpressionStatement","src":"102165:19:19"},{"nativeSrc":"102201:37:19","nodeType":"YulVariableDeclaration","src":"102201:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"102218:3:19","nodeType":"YulLiteral","src":"102218:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"102227:1:19","nodeType":"YulLiteral","src":"102227:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"102230:6:19","nodeType":"YulIdentifier","src":"102230:6:19"}],"functionName":{"name":"shl","nativeSrc":"102223:3:19","nodeType":"YulIdentifier","src":"102223:3:19"},"nativeSrc":"102223:14:19","nodeType":"YulFunctionCall","src":"102223:14:19"}],"functionName":{"name":"sub","nativeSrc":"102214:3:19","nodeType":"YulIdentifier","src":"102214:3:19"},"nativeSrc":"102214:24:19","nodeType":"YulFunctionCall","src":"102214:24:19"},"variables":[{"name":"shift","nativeSrc":"102205:5:19","nodeType":"YulTypedName","src":"102205:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"102266:3:19","nodeType":"YulIdentifier","src":"102266:3:19"},{"kind":"number","nativeSrc":"102271:4:19","nodeType":"YulLiteral","src":"102271:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"102262:3:19","nodeType":"YulIdentifier","src":"102262:3:19"},"nativeSrc":"102262:14:19","nodeType":"YulFunctionCall","src":"102262:14:19"},{"arguments":[{"name":"shift","nativeSrc":"102282:5:19","nodeType":"YulIdentifier","src":"102282:5:19"},{"arguments":[{"name":"shift","nativeSrc":"102293:5:19","nodeType":"YulIdentifier","src":"102293:5:19"},{"name":"w","nativeSrc":"102300:1:19","nodeType":"YulIdentifier","src":"102300:1:19"}],"functionName":{"name":"shr","nativeSrc":"102289:3:19","nodeType":"YulIdentifier","src":"102289:3:19"},"nativeSrc":"102289:13:19","nodeType":"YulFunctionCall","src":"102289:13:19"}],"functionName":{"name":"shl","nativeSrc":"102278:3:19","nodeType":"YulIdentifier","src":"102278:3:19"},"nativeSrc":"102278:25:19","nodeType":"YulFunctionCall","src":"102278:25:19"}],"functionName":{"name":"mstore","nativeSrc":"102255:6:19","nodeType":"YulIdentifier","src":"102255:6:19"},"nativeSrc":"102255:49:19","nodeType":"YulFunctionCall","src":"102255:49:19"},"nativeSrc":"102255:49:19","nodeType":"YulExpressionStatement","src":"102255:49:19"}]},"name":"writeString","nativeSrc":"101976:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"101997:3:19","nodeType":"YulTypedName","src":"101997:3:19","type":""},{"name":"w","nativeSrc":"102002:1:19","nodeType":"YulTypedName","src":"102002:1:19","type":""}],"src":"101976:342:19"},{"nativeSrc":"102331:17:19","nodeType":"YulAssignment","src":"102331:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"102343:4:19","nodeType":"YulLiteral","src":"102343:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"102337:5:19","nodeType":"YulIdentifier","src":"102337:5:19"},"nativeSrc":"102337:11:19","nodeType":"YulFunctionCall","src":"102337:11:19"},"variableNames":[{"name":"m0","nativeSrc":"102331:2:19","nodeType":"YulIdentifier","src":"102331:2:19"}]},{"nativeSrc":"102361:17:19","nodeType":"YulAssignment","src":"102361:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"102373:4:19","nodeType":"YulLiteral","src":"102373:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"102367:5:19","nodeType":"YulIdentifier","src":"102367:5:19"},"nativeSrc":"102367:11:19","nodeType":"YulFunctionCall","src":"102367:11:19"},"variableNames":[{"name":"m1","nativeSrc":"102361:2:19","nodeType":"YulIdentifier","src":"102361:2:19"}]},{"nativeSrc":"102391:17:19","nodeType":"YulAssignment","src":"102391:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"102403:4:19","nodeType":"YulLiteral","src":"102403:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"102397:5:19","nodeType":"YulIdentifier","src":"102397:5:19"},"nativeSrc":"102397:11:19","nodeType":"YulFunctionCall","src":"102397:11:19"},"variableNames":[{"name":"m2","nativeSrc":"102391:2:19","nodeType":"YulIdentifier","src":"102391:2:19"}]},{"nativeSrc":"102421:17:19","nodeType":"YulAssignment","src":"102421:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"102433:4:19","nodeType":"YulLiteral","src":"102433:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"102427:5:19","nodeType":"YulIdentifier","src":"102427:5:19"},"nativeSrc":"102427:11:19","nodeType":"YulFunctionCall","src":"102427:11:19"},"variableNames":[{"name":"m3","nativeSrc":"102421:2:19","nodeType":"YulIdentifier","src":"102421:2:19"}]},{"nativeSrc":"102451:17:19","nodeType":"YulAssignment","src":"102451:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"102463:4:19","nodeType":"YulLiteral","src":"102463:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"102457:5:19","nodeType":"YulIdentifier","src":"102457:5:19"},"nativeSrc":"102457:11:19","nodeType":"YulFunctionCall","src":"102457:11:19"},"variableNames":[{"name":"m4","nativeSrc":"102451:2:19","nodeType":"YulIdentifier","src":"102451:2:19"}]},{"nativeSrc":"102481:17:19","nodeType":"YulAssignment","src":"102481:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"102493:4:19","nodeType":"YulLiteral","src":"102493:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"102487:5:19","nodeType":"YulIdentifier","src":"102487:5:19"},"nativeSrc":"102487:11:19","nodeType":"YulFunctionCall","src":"102487:11:19"},"variableNames":[{"name":"m5","nativeSrc":"102481:2:19","nodeType":"YulIdentifier","src":"102481:2:19"}]},{"nativeSrc":"102511:17:19","nodeType":"YulAssignment","src":"102511:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"102523:4:19","nodeType":"YulLiteral","src":"102523:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"102517:5:19","nodeType":"YulIdentifier","src":"102517:5:19"},"nativeSrc":"102517:11:19","nodeType":"YulFunctionCall","src":"102517:11:19"},"variableNames":[{"name":"m6","nativeSrc":"102511:2:19","nodeType":"YulIdentifier","src":"102511:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102614:4:19","nodeType":"YulLiteral","src":"102614:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"102620:10:19","nodeType":"YulLiteral","src":"102620:10:19","type":"","value":"0xfdb4f990"}],"functionName":{"name":"mstore","nativeSrc":"102607:6:19","nodeType":"YulIdentifier","src":"102607:6:19"},"nativeSrc":"102607:24:19","nodeType":"YulFunctionCall","src":"102607:24:19"},"nativeSrc":"102607:24:19","nodeType":"YulExpressionStatement","src":"102607:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102651:4:19","nodeType":"YulLiteral","src":"102651:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"102657:2:19","nodeType":"YulIdentifier","src":"102657:2:19"}],"functionName":{"name":"mstore","nativeSrc":"102644:6:19","nodeType":"YulIdentifier","src":"102644:6:19"},"nativeSrc":"102644:16:19","nodeType":"YulFunctionCall","src":"102644:16:19"},"nativeSrc":"102644:16:19","nodeType":"YulExpressionStatement","src":"102644:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102680:4:19","nodeType":"YulLiteral","src":"102680:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"102686:2:19","nodeType":"YulIdentifier","src":"102686:2:19"}],"functionName":{"name":"mstore","nativeSrc":"102673:6:19","nodeType":"YulIdentifier","src":"102673:6:19"},"nativeSrc":"102673:16:19","nodeType":"YulFunctionCall","src":"102673:16:19"},"nativeSrc":"102673:16:19","nodeType":"YulExpressionStatement","src":"102673:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102709:4:19","nodeType":"YulLiteral","src":"102709:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"102715:2:19","nodeType":"YulIdentifier","src":"102715:2:19"}],"functionName":{"name":"mstore","nativeSrc":"102702:6:19","nodeType":"YulIdentifier","src":"102702:6:19"},"nativeSrc":"102702:16:19","nodeType":"YulFunctionCall","src":"102702:16:19"},"nativeSrc":"102702:16:19","nodeType":"YulExpressionStatement","src":"102702:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102738:4:19","nodeType":"YulLiteral","src":"102738:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"102744:4:19","nodeType":"YulLiteral","src":"102744:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"102731:6:19","nodeType":"YulIdentifier","src":"102731:6:19"},"nativeSrc":"102731:18:19","nodeType":"YulFunctionCall","src":"102731:18:19"},"nativeSrc":"102731:18:19","nodeType":"YulExpressionStatement","src":"102731:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102774:4:19","nodeType":"YulLiteral","src":"102774:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"102780:2:19","nodeType":"YulIdentifier","src":"102780:2:19"}],"functionName":{"name":"writeString","nativeSrc":"102762:11:19","nodeType":"YulIdentifier","src":"102762:11:19"},"nativeSrc":"102762:21:19","nodeType":"YulFunctionCall","src":"102762:21:19"},"nativeSrc":"102762:21:19","nodeType":"YulExpressionStatement","src":"102762:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29516,"isOffset":false,"isSlot":false,"src":"102331:2:19","valueSize":1},{"declaration":29519,"isOffset":false,"isSlot":false,"src":"102361:2:19","valueSize":1},{"declaration":29522,"isOffset":false,"isSlot":false,"src":"102391:2:19","valueSize":1},{"declaration":29525,"isOffset":false,"isSlot":false,"src":"102421:2:19","valueSize":1},{"declaration":29528,"isOffset":false,"isSlot":false,"src":"102451:2:19","valueSize":1},{"declaration":29531,"isOffset":false,"isSlot":false,"src":"102481:2:19","valueSize":1},{"declaration":29534,"isOffset":false,"isSlot":false,"src":"102511:2:19","valueSize":1},{"declaration":29506,"isOffset":false,"isSlot":false,"src":"102657:2:19","valueSize":1},{"declaration":29508,"isOffset":false,"isSlot":false,"src":"102686:2:19","valueSize":1},{"declaration":29510,"isOffset":false,"isSlot":false,"src":"102715:2:19","valueSize":1},{"declaration":29512,"isOffset":false,"isSlot":false,"src":"102780:2:19","valueSize":1}],"id":29536,"nodeType":"InlineAssembly","src":"101953:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"102818:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":29539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"102824:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":29537,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"102802:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"102802:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29541,"nodeType":"ExpressionStatement","src":"102802:27:19"},{"AST":{"nativeSrc":"102891:214:19","nodeType":"YulBlock","src":"102891:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"102912:4:19","nodeType":"YulLiteral","src":"102912:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"102918:2:19","nodeType":"YulIdentifier","src":"102918:2:19"}],"functionName":{"name":"mstore","nativeSrc":"102905:6:19","nodeType":"YulIdentifier","src":"102905:6:19"},"nativeSrc":"102905:16:19","nodeType":"YulFunctionCall","src":"102905:16:19"},"nativeSrc":"102905:16:19","nodeType":"YulExpressionStatement","src":"102905:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102941:4:19","nodeType":"YulLiteral","src":"102941:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"102947:2:19","nodeType":"YulIdentifier","src":"102947:2:19"}],"functionName":{"name":"mstore","nativeSrc":"102934:6:19","nodeType":"YulIdentifier","src":"102934:6:19"},"nativeSrc":"102934:16:19","nodeType":"YulFunctionCall","src":"102934:16:19"},"nativeSrc":"102934:16:19","nodeType":"YulExpressionStatement","src":"102934:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102970:4:19","nodeType":"YulLiteral","src":"102970:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"102976:2:19","nodeType":"YulIdentifier","src":"102976:2:19"}],"functionName":{"name":"mstore","nativeSrc":"102963:6:19","nodeType":"YulIdentifier","src":"102963:6:19"},"nativeSrc":"102963:16:19","nodeType":"YulFunctionCall","src":"102963:16:19"},"nativeSrc":"102963:16:19","nodeType":"YulExpressionStatement","src":"102963:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"102999:4:19","nodeType":"YulLiteral","src":"102999:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"103005:2:19","nodeType":"YulIdentifier","src":"103005:2:19"}],"functionName":{"name":"mstore","nativeSrc":"102992:6:19","nodeType":"YulIdentifier","src":"102992:6:19"},"nativeSrc":"102992:16:19","nodeType":"YulFunctionCall","src":"102992:16:19"},"nativeSrc":"102992:16:19","nodeType":"YulExpressionStatement","src":"102992:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"103028:4:19","nodeType":"YulLiteral","src":"103028:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"103034:2:19","nodeType":"YulIdentifier","src":"103034:2:19"}],"functionName":{"name":"mstore","nativeSrc":"103021:6:19","nodeType":"YulIdentifier","src":"103021:6:19"},"nativeSrc":"103021:16:19","nodeType":"YulFunctionCall","src":"103021:16:19"},"nativeSrc":"103021:16:19","nodeType":"YulExpressionStatement","src":"103021:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"103057:4:19","nodeType":"YulLiteral","src":"103057:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"103063:2:19","nodeType":"YulIdentifier","src":"103063:2:19"}],"functionName":{"name":"mstore","nativeSrc":"103050:6:19","nodeType":"YulIdentifier","src":"103050:6:19"},"nativeSrc":"103050:16:19","nodeType":"YulFunctionCall","src":"103050:16:19"},"nativeSrc":"103050:16:19","nodeType":"YulExpressionStatement","src":"103050:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"103086:4:19","nodeType":"YulLiteral","src":"103086:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"103092:2:19","nodeType":"YulIdentifier","src":"103092:2:19"}],"functionName":{"name":"mstore","nativeSrc":"103079:6:19","nodeType":"YulIdentifier","src":"103079:6:19"},"nativeSrc":"103079:16:19","nodeType":"YulFunctionCall","src":"103079:16:19"},"nativeSrc":"103079:16:19","nodeType":"YulExpressionStatement","src":"103079:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29516,"isOffset":false,"isSlot":false,"src":"102918:2:19","valueSize":1},{"declaration":29519,"isOffset":false,"isSlot":false,"src":"102947:2:19","valueSize":1},{"declaration":29522,"isOffset":false,"isSlot":false,"src":"102976:2:19","valueSize":1},{"declaration":29525,"isOffset":false,"isSlot":false,"src":"103005:2:19","valueSize":1},{"declaration":29528,"isOffset":false,"isSlot":false,"src":"103034:2:19","valueSize":1},{"declaration":29531,"isOffset":false,"isSlot":false,"src":"103063:2:19","valueSize":1},{"declaration":29534,"isOffset":false,"isSlot":false,"src":"103092:2:19","valueSize":1}],"id":29542,"nodeType":"InlineAssembly","src":"102882:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"101694:3:19","parameters":{"id":29513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29506,"mutability":"mutable","name":"p0","nameLocation":"101706:2:19","nodeType":"VariableDeclaration","scope":29544,"src":"101698:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29505,"name":"address","nodeType":"ElementaryTypeName","src":"101698:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29508,"mutability":"mutable","name":"p1","nameLocation":"101718:2:19","nodeType":"VariableDeclaration","scope":29544,"src":"101710:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29507,"name":"address","nodeType":"ElementaryTypeName","src":"101710:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29510,"mutability":"mutable","name":"p2","nameLocation":"101730:2:19","nodeType":"VariableDeclaration","scope":29544,"src":"101722:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29509,"name":"uint256","nodeType":"ElementaryTypeName","src":"101722:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29512,"mutability":"mutable","name":"p3","nameLocation":"101742:2:19","nodeType":"VariableDeclaration","scope":29544,"src":"101734:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29511,"name":"bytes32","nodeType":"ElementaryTypeName","src":"101734:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"101697:48:19"},"returnParameters":{"id":29514,"nodeType":"ParameterList","parameters":[],"src":"101760:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29584,"nodeType":"FunctionDefinition","src":"103117:1426:19","nodes":[],"body":{"id":29583,"nodeType":"Block","src":"103192:1351:19","nodes":[],"statements":[{"assignments":[29556],"declarations":[{"constant":false,"id":29556,"mutability":"mutable","name":"m0","nameLocation":"103210:2:19","nodeType":"VariableDeclaration","scope":29583,"src":"103202:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29555,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103202:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29557,"nodeType":"VariableDeclarationStatement","src":"103202:10:19"},{"assignments":[29559],"declarations":[{"constant":false,"id":29559,"mutability":"mutable","name":"m1","nameLocation":"103230:2:19","nodeType":"VariableDeclaration","scope":29583,"src":"103222:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29558,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103222:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29560,"nodeType":"VariableDeclarationStatement","src":"103222:10:19"},{"assignments":[29562],"declarations":[{"constant":false,"id":29562,"mutability":"mutable","name":"m2","nameLocation":"103250:2:19","nodeType":"VariableDeclaration","scope":29583,"src":"103242:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29561,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103242:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29563,"nodeType":"VariableDeclarationStatement","src":"103242:10:19"},{"assignments":[29565],"declarations":[{"constant":false,"id":29565,"mutability":"mutable","name":"m3","nameLocation":"103270:2:19","nodeType":"VariableDeclaration","scope":29583,"src":"103262:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29564,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103262:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29566,"nodeType":"VariableDeclarationStatement","src":"103262:10:19"},{"assignments":[29568],"declarations":[{"constant":false,"id":29568,"mutability":"mutable","name":"m4","nameLocation":"103290:2:19","nodeType":"VariableDeclaration","scope":29583,"src":"103282:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29567,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103282:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29569,"nodeType":"VariableDeclarationStatement","src":"103282:10:19"},{"assignments":[29571],"declarations":[{"constant":false,"id":29571,"mutability":"mutable","name":"m5","nameLocation":"103310:2:19","nodeType":"VariableDeclaration","scope":29583,"src":"103302:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29570,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103302:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29572,"nodeType":"VariableDeclarationStatement","src":"103302:10:19"},{"assignments":[29574],"declarations":[{"constant":false,"id":29574,"mutability":"mutable","name":"m6","nameLocation":"103330:2:19","nodeType":"VariableDeclaration","scope":29583,"src":"103322:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29573,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103322:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29575,"nodeType":"VariableDeclarationStatement","src":"103322:10:19"},{"AST":{"nativeSrc":"103394:831:19","nodeType":"YulBlock","src":"103394:831:19","statements":[{"body":{"nativeSrc":"103437:313:19","nodeType":"YulBlock","src":"103437:313:19","statements":[{"nativeSrc":"103455:15:19","nodeType":"YulVariableDeclaration","src":"103455:15:19","value":{"kind":"number","nativeSrc":"103469:1:19","nodeType":"YulLiteral","src":"103469:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"103459:6:19","nodeType":"YulTypedName","src":"103459:6:19","type":""}]},{"body":{"nativeSrc":"103540:40:19","nodeType":"YulBlock","src":"103540:40:19","statements":[{"body":{"nativeSrc":"103569:9:19","nodeType":"YulBlock","src":"103569:9:19","statements":[{"nativeSrc":"103571:5:19","nodeType":"YulBreak","src":"103571:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"103557:6:19","nodeType":"YulIdentifier","src":"103557:6:19"},{"name":"w","nativeSrc":"103565:1:19","nodeType":"YulIdentifier","src":"103565:1:19"}],"functionName":{"name":"byte","nativeSrc":"103552:4:19","nodeType":"YulIdentifier","src":"103552:4:19"},"nativeSrc":"103552:15:19","nodeType":"YulFunctionCall","src":"103552:15:19"}],"functionName":{"name":"iszero","nativeSrc":"103545:6:19","nodeType":"YulIdentifier","src":"103545:6:19"},"nativeSrc":"103545:23:19","nodeType":"YulFunctionCall","src":"103545:23:19"},"nativeSrc":"103542:36:19","nodeType":"YulIf","src":"103542:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"103497:6:19","nodeType":"YulIdentifier","src":"103497:6:19"},{"kind":"number","nativeSrc":"103505:4:19","nodeType":"YulLiteral","src":"103505:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"103494:2:19","nodeType":"YulIdentifier","src":"103494:2:19"},"nativeSrc":"103494:16:19","nodeType":"YulFunctionCall","src":"103494:16:19"},"nativeSrc":"103487:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"103511:28:19","nodeType":"YulBlock","src":"103511:28:19","statements":[{"nativeSrc":"103513:24:19","nodeType":"YulAssignment","src":"103513:24:19","value":{"arguments":[{"name":"length","nativeSrc":"103527:6:19","nodeType":"YulIdentifier","src":"103527:6:19"},{"kind":"number","nativeSrc":"103535:1:19","nodeType":"YulLiteral","src":"103535:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"103523:3:19","nodeType":"YulIdentifier","src":"103523:3:19"},"nativeSrc":"103523:14:19","nodeType":"YulFunctionCall","src":"103523:14:19"},"variableNames":[{"name":"length","nativeSrc":"103513:6:19","nodeType":"YulIdentifier","src":"103513:6:19"}]}]},"pre":{"nativeSrc":"103491:2:19","nodeType":"YulBlock","src":"103491:2:19","statements":[]},"src":"103487:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"103604:3:19","nodeType":"YulIdentifier","src":"103604:3:19"},{"name":"length","nativeSrc":"103609:6:19","nodeType":"YulIdentifier","src":"103609:6:19"}],"functionName":{"name":"mstore","nativeSrc":"103597:6:19","nodeType":"YulIdentifier","src":"103597:6:19"},"nativeSrc":"103597:19:19","nodeType":"YulFunctionCall","src":"103597:19:19"},"nativeSrc":"103597:19:19","nodeType":"YulExpressionStatement","src":"103597:19:19"},{"nativeSrc":"103633:37:19","nodeType":"YulVariableDeclaration","src":"103633:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"103650:3:19","nodeType":"YulLiteral","src":"103650:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"103659:1:19","nodeType":"YulLiteral","src":"103659:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"103662:6:19","nodeType":"YulIdentifier","src":"103662:6:19"}],"functionName":{"name":"shl","nativeSrc":"103655:3:19","nodeType":"YulIdentifier","src":"103655:3:19"},"nativeSrc":"103655:14:19","nodeType":"YulFunctionCall","src":"103655:14:19"}],"functionName":{"name":"sub","nativeSrc":"103646:3:19","nodeType":"YulIdentifier","src":"103646:3:19"},"nativeSrc":"103646:24:19","nodeType":"YulFunctionCall","src":"103646:24:19"},"variables":[{"name":"shift","nativeSrc":"103637:5:19","nodeType":"YulTypedName","src":"103637:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"103698:3:19","nodeType":"YulIdentifier","src":"103698:3:19"},{"kind":"number","nativeSrc":"103703:4:19","nodeType":"YulLiteral","src":"103703:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"103694:3:19","nodeType":"YulIdentifier","src":"103694:3:19"},"nativeSrc":"103694:14:19","nodeType":"YulFunctionCall","src":"103694:14:19"},{"arguments":[{"name":"shift","nativeSrc":"103714:5:19","nodeType":"YulIdentifier","src":"103714:5:19"},{"arguments":[{"name":"shift","nativeSrc":"103725:5:19","nodeType":"YulIdentifier","src":"103725:5:19"},{"name":"w","nativeSrc":"103732:1:19","nodeType":"YulIdentifier","src":"103732:1:19"}],"functionName":{"name":"shr","nativeSrc":"103721:3:19","nodeType":"YulIdentifier","src":"103721:3:19"},"nativeSrc":"103721:13:19","nodeType":"YulFunctionCall","src":"103721:13:19"}],"functionName":{"name":"shl","nativeSrc":"103710:3:19","nodeType":"YulIdentifier","src":"103710:3:19"},"nativeSrc":"103710:25:19","nodeType":"YulFunctionCall","src":"103710:25:19"}],"functionName":{"name":"mstore","nativeSrc":"103687:6:19","nodeType":"YulIdentifier","src":"103687:6:19"},"nativeSrc":"103687:49:19","nodeType":"YulFunctionCall","src":"103687:49:19"},"nativeSrc":"103687:49:19","nodeType":"YulExpressionStatement","src":"103687:49:19"}]},"name":"writeString","nativeSrc":"103408:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"103429:3:19","nodeType":"YulTypedName","src":"103429:3:19","type":""},{"name":"w","nativeSrc":"103434:1:19","nodeType":"YulTypedName","src":"103434:1:19","type":""}],"src":"103408:342:19"},{"nativeSrc":"103763:17:19","nodeType":"YulAssignment","src":"103763:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"103775:4:19","nodeType":"YulLiteral","src":"103775:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"103769:5:19","nodeType":"YulIdentifier","src":"103769:5:19"},"nativeSrc":"103769:11:19","nodeType":"YulFunctionCall","src":"103769:11:19"},"variableNames":[{"name":"m0","nativeSrc":"103763:2:19","nodeType":"YulIdentifier","src":"103763:2:19"}]},{"nativeSrc":"103793:17:19","nodeType":"YulAssignment","src":"103793:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"103805:4:19","nodeType":"YulLiteral","src":"103805:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"103799:5:19","nodeType":"YulIdentifier","src":"103799:5:19"},"nativeSrc":"103799:11:19","nodeType":"YulFunctionCall","src":"103799:11:19"},"variableNames":[{"name":"m1","nativeSrc":"103793:2:19","nodeType":"YulIdentifier","src":"103793:2:19"}]},{"nativeSrc":"103823:17:19","nodeType":"YulAssignment","src":"103823:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"103835:4:19","nodeType":"YulLiteral","src":"103835:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"103829:5:19","nodeType":"YulIdentifier","src":"103829:5:19"},"nativeSrc":"103829:11:19","nodeType":"YulFunctionCall","src":"103829:11:19"},"variableNames":[{"name":"m2","nativeSrc":"103823:2:19","nodeType":"YulIdentifier","src":"103823:2:19"}]},{"nativeSrc":"103853:17:19","nodeType":"YulAssignment","src":"103853:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"103865:4:19","nodeType":"YulLiteral","src":"103865:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"103859:5:19","nodeType":"YulIdentifier","src":"103859:5:19"},"nativeSrc":"103859:11:19","nodeType":"YulFunctionCall","src":"103859:11:19"},"variableNames":[{"name":"m3","nativeSrc":"103853:2:19","nodeType":"YulIdentifier","src":"103853:2:19"}]},{"nativeSrc":"103883:17:19","nodeType":"YulAssignment","src":"103883:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"103895:4:19","nodeType":"YulLiteral","src":"103895:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"103889:5:19","nodeType":"YulIdentifier","src":"103889:5:19"},"nativeSrc":"103889:11:19","nodeType":"YulFunctionCall","src":"103889:11:19"},"variableNames":[{"name":"m4","nativeSrc":"103883:2:19","nodeType":"YulIdentifier","src":"103883:2:19"}]},{"nativeSrc":"103913:17:19","nodeType":"YulAssignment","src":"103913:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"103925:4:19","nodeType":"YulLiteral","src":"103925:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"103919:5:19","nodeType":"YulIdentifier","src":"103919:5:19"},"nativeSrc":"103919:11:19","nodeType":"YulFunctionCall","src":"103919:11:19"},"variableNames":[{"name":"m5","nativeSrc":"103913:2:19","nodeType":"YulIdentifier","src":"103913:2:19"}]},{"nativeSrc":"103943:17:19","nodeType":"YulAssignment","src":"103943:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"103955:4:19","nodeType":"YulLiteral","src":"103955:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"103949:5:19","nodeType":"YulIdentifier","src":"103949:5:19"},"nativeSrc":"103949:11:19","nodeType":"YulFunctionCall","src":"103949:11:19"},"variableNames":[{"name":"m6","nativeSrc":"103943:2:19","nodeType":"YulIdentifier","src":"103943:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104046:4:19","nodeType":"YulLiteral","src":"104046:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"104052:10:19","nodeType":"YulLiteral","src":"104052:10:19","type":"","value":"0x8f736d16"}],"functionName":{"name":"mstore","nativeSrc":"104039:6:19","nodeType":"YulIdentifier","src":"104039:6:19"},"nativeSrc":"104039:24:19","nodeType":"YulFunctionCall","src":"104039:24:19"},"nativeSrc":"104039:24:19","nodeType":"YulExpressionStatement","src":"104039:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104083:4:19","nodeType":"YulLiteral","src":"104083:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"104089:2:19","nodeType":"YulIdentifier","src":"104089:2:19"}],"functionName":{"name":"mstore","nativeSrc":"104076:6:19","nodeType":"YulIdentifier","src":"104076:6:19"},"nativeSrc":"104076:16:19","nodeType":"YulFunctionCall","src":"104076:16:19"},"nativeSrc":"104076:16:19","nodeType":"YulExpressionStatement","src":"104076:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104112:4:19","nodeType":"YulLiteral","src":"104112:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"104118:2:19","nodeType":"YulIdentifier","src":"104118:2:19"}],"functionName":{"name":"mstore","nativeSrc":"104105:6:19","nodeType":"YulIdentifier","src":"104105:6:19"},"nativeSrc":"104105:16:19","nodeType":"YulFunctionCall","src":"104105:16:19"},"nativeSrc":"104105:16:19","nodeType":"YulExpressionStatement","src":"104105:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104141:4:19","nodeType":"YulLiteral","src":"104141:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"104147:4:19","nodeType":"YulLiteral","src":"104147:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"104134:6:19","nodeType":"YulIdentifier","src":"104134:6:19"},"nativeSrc":"104134:18:19","nodeType":"YulFunctionCall","src":"104134:18:19"},"nativeSrc":"104134:18:19","nodeType":"YulExpressionStatement","src":"104134:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104172:4:19","nodeType":"YulLiteral","src":"104172:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"104178:2:19","nodeType":"YulIdentifier","src":"104178:2:19"}],"functionName":{"name":"mstore","nativeSrc":"104165:6:19","nodeType":"YulIdentifier","src":"104165:6:19"},"nativeSrc":"104165:16:19","nodeType":"YulFunctionCall","src":"104165:16:19"},"nativeSrc":"104165:16:19","nodeType":"YulExpressionStatement","src":"104165:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104206:4:19","nodeType":"YulLiteral","src":"104206:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"104212:2:19","nodeType":"YulIdentifier","src":"104212:2:19"}],"functionName":{"name":"writeString","nativeSrc":"104194:11:19","nodeType":"YulIdentifier","src":"104194:11:19"},"nativeSrc":"104194:21:19","nodeType":"YulFunctionCall","src":"104194:21:19"},"nativeSrc":"104194:21:19","nodeType":"YulExpressionStatement","src":"104194:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29556,"isOffset":false,"isSlot":false,"src":"103763:2:19","valueSize":1},{"declaration":29559,"isOffset":false,"isSlot":false,"src":"103793:2:19","valueSize":1},{"declaration":29562,"isOffset":false,"isSlot":false,"src":"103823:2:19","valueSize":1},{"declaration":29565,"isOffset":false,"isSlot":false,"src":"103853:2:19","valueSize":1},{"declaration":29568,"isOffset":false,"isSlot":false,"src":"103883:2:19","valueSize":1},{"declaration":29571,"isOffset":false,"isSlot":false,"src":"103913:2:19","valueSize":1},{"declaration":29574,"isOffset":false,"isSlot":false,"src":"103943:2:19","valueSize":1},{"declaration":29546,"isOffset":false,"isSlot":false,"src":"104089:2:19","valueSize":1},{"declaration":29548,"isOffset":false,"isSlot":false,"src":"104118:2:19","valueSize":1},{"declaration":29550,"isOffset":false,"isSlot":false,"src":"104212:2:19","valueSize":1},{"declaration":29552,"isOffset":false,"isSlot":false,"src":"104178:2:19","valueSize":1}],"id":29576,"nodeType":"InlineAssembly","src":"103385:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"104250:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":29579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"104256:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":29577,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"104234:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"104234:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29581,"nodeType":"ExpressionStatement","src":"104234:27:19"},{"AST":{"nativeSrc":"104323:214:19","nodeType":"YulBlock","src":"104323:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"104344:4:19","nodeType":"YulLiteral","src":"104344:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"104350:2:19","nodeType":"YulIdentifier","src":"104350:2:19"}],"functionName":{"name":"mstore","nativeSrc":"104337:6:19","nodeType":"YulIdentifier","src":"104337:6:19"},"nativeSrc":"104337:16:19","nodeType":"YulFunctionCall","src":"104337:16:19"},"nativeSrc":"104337:16:19","nodeType":"YulExpressionStatement","src":"104337:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104373:4:19","nodeType":"YulLiteral","src":"104373:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"104379:2:19","nodeType":"YulIdentifier","src":"104379:2:19"}],"functionName":{"name":"mstore","nativeSrc":"104366:6:19","nodeType":"YulIdentifier","src":"104366:6:19"},"nativeSrc":"104366:16:19","nodeType":"YulFunctionCall","src":"104366:16:19"},"nativeSrc":"104366:16:19","nodeType":"YulExpressionStatement","src":"104366:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104402:4:19","nodeType":"YulLiteral","src":"104402:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"104408:2:19","nodeType":"YulIdentifier","src":"104408:2:19"}],"functionName":{"name":"mstore","nativeSrc":"104395:6:19","nodeType":"YulIdentifier","src":"104395:6:19"},"nativeSrc":"104395:16:19","nodeType":"YulFunctionCall","src":"104395:16:19"},"nativeSrc":"104395:16:19","nodeType":"YulExpressionStatement","src":"104395:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104431:4:19","nodeType":"YulLiteral","src":"104431:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"104437:2:19","nodeType":"YulIdentifier","src":"104437:2:19"}],"functionName":{"name":"mstore","nativeSrc":"104424:6:19","nodeType":"YulIdentifier","src":"104424:6:19"},"nativeSrc":"104424:16:19","nodeType":"YulFunctionCall","src":"104424:16:19"},"nativeSrc":"104424:16:19","nodeType":"YulExpressionStatement","src":"104424:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104460:4:19","nodeType":"YulLiteral","src":"104460:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"104466:2:19","nodeType":"YulIdentifier","src":"104466:2:19"}],"functionName":{"name":"mstore","nativeSrc":"104453:6:19","nodeType":"YulIdentifier","src":"104453:6:19"},"nativeSrc":"104453:16:19","nodeType":"YulFunctionCall","src":"104453:16:19"},"nativeSrc":"104453:16:19","nodeType":"YulExpressionStatement","src":"104453:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104489:4:19","nodeType":"YulLiteral","src":"104489:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"104495:2:19","nodeType":"YulIdentifier","src":"104495:2:19"}],"functionName":{"name":"mstore","nativeSrc":"104482:6:19","nodeType":"YulIdentifier","src":"104482:6:19"},"nativeSrc":"104482:16:19","nodeType":"YulFunctionCall","src":"104482:16:19"},"nativeSrc":"104482:16:19","nodeType":"YulExpressionStatement","src":"104482:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"104518:4:19","nodeType":"YulLiteral","src":"104518:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"104524:2:19","nodeType":"YulIdentifier","src":"104524:2:19"}],"functionName":{"name":"mstore","nativeSrc":"104511:6:19","nodeType":"YulIdentifier","src":"104511:6:19"},"nativeSrc":"104511:16:19","nodeType":"YulFunctionCall","src":"104511:16:19"},"nativeSrc":"104511:16:19","nodeType":"YulExpressionStatement","src":"104511:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29556,"isOffset":false,"isSlot":false,"src":"104350:2:19","valueSize":1},{"declaration":29559,"isOffset":false,"isSlot":false,"src":"104379:2:19","valueSize":1},{"declaration":29562,"isOffset":false,"isSlot":false,"src":"104408:2:19","valueSize":1},{"declaration":29565,"isOffset":false,"isSlot":false,"src":"104437:2:19","valueSize":1},{"declaration":29568,"isOffset":false,"isSlot":false,"src":"104466:2:19","valueSize":1},{"declaration":29571,"isOffset":false,"isSlot":false,"src":"104495:2:19","valueSize":1},{"declaration":29574,"isOffset":false,"isSlot":false,"src":"104524:2:19","valueSize":1}],"id":29582,"nodeType":"InlineAssembly","src":"104314:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"103126:3:19","parameters":{"id":29553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29546,"mutability":"mutable","name":"p0","nameLocation":"103138:2:19","nodeType":"VariableDeclaration","scope":29584,"src":"103130:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29545,"name":"address","nodeType":"ElementaryTypeName","src":"103130:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29548,"mutability":"mutable","name":"p1","nameLocation":"103150:2:19","nodeType":"VariableDeclaration","scope":29584,"src":"103142:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29547,"name":"address","nodeType":"ElementaryTypeName","src":"103142:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29550,"mutability":"mutable","name":"p2","nameLocation":"103162:2:19","nodeType":"VariableDeclaration","scope":29584,"src":"103154:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29549,"name":"bytes32","nodeType":"ElementaryTypeName","src":"103154:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29552,"mutability":"mutable","name":"p3","nameLocation":"103174:2:19","nodeType":"VariableDeclaration","scope":29584,"src":"103166:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29551,"name":"address","nodeType":"ElementaryTypeName","src":"103166:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"103129:48:19"},"returnParameters":{"id":29554,"nodeType":"ParameterList","parameters":[],"src":"103192:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29624,"nodeType":"FunctionDefinition","src":"104549:1420:19","nodes":[],"body":{"id":29623,"nodeType":"Block","src":"104621:1348:19","nodes":[],"statements":[{"assignments":[29596],"declarations":[{"constant":false,"id":29596,"mutability":"mutable","name":"m0","nameLocation":"104639:2:19","nodeType":"VariableDeclaration","scope":29623,"src":"104631:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29595,"name":"bytes32","nodeType":"ElementaryTypeName","src":"104631:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29597,"nodeType":"VariableDeclarationStatement","src":"104631:10:19"},{"assignments":[29599],"declarations":[{"constant":false,"id":29599,"mutability":"mutable","name":"m1","nameLocation":"104659:2:19","nodeType":"VariableDeclaration","scope":29623,"src":"104651:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29598,"name":"bytes32","nodeType":"ElementaryTypeName","src":"104651:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29600,"nodeType":"VariableDeclarationStatement","src":"104651:10:19"},{"assignments":[29602],"declarations":[{"constant":false,"id":29602,"mutability":"mutable","name":"m2","nameLocation":"104679:2:19","nodeType":"VariableDeclaration","scope":29623,"src":"104671:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29601,"name":"bytes32","nodeType":"ElementaryTypeName","src":"104671:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29603,"nodeType":"VariableDeclarationStatement","src":"104671:10:19"},{"assignments":[29605],"declarations":[{"constant":false,"id":29605,"mutability":"mutable","name":"m3","nameLocation":"104699:2:19","nodeType":"VariableDeclaration","scope":29623,"src":"104691:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29604,"name":"bytes32","nodeType":"ElementaryTypeName","src":"104691:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29606,"nodeType":"VariableDeclarationStatement","src":"104691:10:19"},{"assignments":[29608],"declarations":[{"constant":false,"id":29608,"mutability":"mutable","name":"m4","nameLocation":"104719:2:19","nodeType":"VariableDeclaration","scope":29623,"src":"104711:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29607,"name":"bytes32","nodeType":"ElementaryTypeName","src":"104711:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29609,"nodeType":"VariableDeclarationStatement","src":"104711:10:19"},{"assignments":[29611],"declarations":[{"constant":false,"id":29611,"mutability":"mutable","name":"m5","nameLocation":"104739:2:19","nodeType":"VariableDeclaration","scope":29623,"src":"104731:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29610,"name":"bytes32","nodeType":"ElementaryTypeName","src":"104731:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29612,"nodeType":"VariableDeclarationStatement","src":"104731:10:19"},{"assignments":[29614],"declarations":[{"constant":false,"id":29614,"mutability":"mutable","name":"m6","nameLocation":"104759:2:19","nodeType":"VariableDeclaration","scope":29623,"src":"104751:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29613,"name":"bytes32","nodeType":"ElementaryTypeName","src":"104751:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29615,"nodeType":"VariableDeclarationStatement","src":"104751:10:19"},{"AST":{"nativeSrc":"104823:828:19","nodeType":"YulBlock","src":"104823:828:19","statements":[{"body":{"nativeSrc":"104866:313:19","nodeType":"YulBlock","src":"104866:313:19","statements":[{"nativeSrc":"104884:15:19","nodeType":"YulVariableDeclaration","src":"104884:15:19","value":{"kind":"number","nativeSrc":"104898:1:19","nodeType":"YulLiteral","src":"104898:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"104888:6:19","nodeType":"YulTypedName","src":"104888:6:19","type":""}]},{"body":{"nativeSrc":"104969:40:19","nodeType":"YulBlock","src":"104969:40:19","statements":[{"body":{"nativeSrc":"104998:9:19","nodeType":"YulBlock","src":"104998:9:19","statements":[{"nativeSrc":"105000:5:19","nodeType":"YulBreak","src":"105000:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"104986:6:19","nodeType":"YulIdentifier","src":"104986:6:19"},{"name":"w","nativeSrc":"104994:1:19","nodeType":"YulIdentifier","src":"104994:1:19"}],"functionName":{"name":"byte","nativeSrc":"104981:4:19","nodeType":"YulIdentifier","src":"104981:4:19"},"nativeSrc":"104981:15:19","nodeType":"YulFunctionCall","src":"104981:15:19"}],"functionName":{"name":"iszero","nativeSrc":"104974:6:19","nodeType":"YulIdentifier","src":"104974:6:19"},"nativeSrc":"104974:23:19","nodeType":"YulFunctionCall","src":"104974:23:19"},"nativeSrc":"104971:36:19","nodeType":"YulIf","src":"104971:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"104926:6:19","nodeType":"YulIdentifier","src":"104926:6:19"},{"kind":"number","nativeSrc":"104934:4:19","nodeType":"YulLiteral","src":"104934:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"104923:2:19","nodeType":"YulIdentifier","src":"104923:2:19"},"nativeSrc":"104923:16:19","nodeType":"YulFunctionCall","src":"104923:16:19"},"nativeSrc":"104916:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"104940:28:19","nodeType":"YulBlock","src":"104940:28:19","statements":[{"nativeSrc":"104942:24:19","nodeType":"YulAssignment","src":"104942:24:19","value":{"arguments":[{"name":"length","nativeSrc":"104956:6:19","nodeType":"YulIdentifier","src":"104956:6:19"},{"kind":"number","nativeSrc":"104964:1:19","nodeType":"YulLiteral","src":"104964:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"104952:3:19","nodeType":"YulIdentifier","src":"104952:3:19"},"nativeSrc":"104952:14:19","nodeType":"YulFunctionCall","src":"104952:14:19"},"variableNames":[{"name":"length","nativeSrc":"104942:6:19","nodeType":"YulIdentifier","src":"104942:6:19"}]}]},"pre":{"nativeSrc":"104920:2:19","nodeType":"YulBlock","src":"104920:2:19","statements":[]},"src":"104916:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"105033:3:19","nodeType":"YulIdentifier","src":"105033:3:19"},{"name":"length","nativeSrc":"105038:6:19","nodeType":"YulIdentifier","src":"105038:6:19"}],"functionName":{"name":"mstore","nativeSrc":"105026:6:19","nodeType":"YulIdentifier","src":"105026:6:19"},"nativeSrc":"105026:19:19","nodeType":"YulFunctionCall","src":"105026:19:19"},"nativeSrc":"105026:19:19","nodeType":"YulExpressionStatement","src":"105026:19:19"},{"nativeSrc":"105062:37:19","nodeType":"YulVariableDeclaration","src":"105062:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"105079:3:19","nodeType":"YulLiteral","src":"105079:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"105088:1:19","nodeType":"YulLiteral","src":"105088:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"105091:6:19","nodeType":"YulIdentifier","src":"105091:6:19"}],"functionName":{"name":"shl","nativeSrc":"105084:3:19","nodeType":"YulIdentifier","src":"105084:3:19"},"nativeSrc":"105084:14:19","nodeType":"YulFunctionCall","src":"105084:14:19"}],"functionName":{"name":"sub","nativeSrc":"105075:3:19","nodeType":"YulIdentifier","src":"105075:3:19"},"nativeSrc":"105075:24:19","nodeType":"YulFunctionCall","src":"105075:24:19"},"variables":[{"name":"shift","nativeSrc":"105066:5:19","nodeType":"YulTypedName","src":"105066:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"105127:3:19","nodeType":"YulIdentifier","src":"105127:3:19"},{"kind":"number","nativeSrc":"105132:4:19","nodeType":"YulLiteral","src":"105132:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"105123:3:19","nodeType":"YulIdentifier","src":"105123:3:19"},"nativeSrc":"105123:14:19","nodeType":"YulFunctionCall","src":"105123:14:19"},{"arguments":[{"name":"shift","nativeSrc":"105143:5:19","nodeType":"YulIdentifier","src":"105143:5:19"},{"arguments":[{"name":"shift","nativeSrc":"105154:5:19","nodeType":"YulIdentifier","src":"105154:5:19"},{"name":"w","nativeSrc":"105161:1:19","nodeType":"YulIdentifier","src":"105161:1:19"}],"functionName":{"name":"shr","nativeSrc":"105150:3:19","nodeType":"YulIdentifier","src":"105150:3:19"},"nativeSrc":"105150:13:19","nodeType":"YulFunctionCall","src":"105150:13:19"}],"functionName":{"name":"shl","nativeSrc":"105139:3:19","nodeType":"YulIdentifier","src":"105139:3:19"},"nativeSrc":"105139:25:19","nodeType":"YulFunctionCall","src":"105139:25:19"}],"functionName":{"name":"mstore","nativeSrc":"105116:6:19","nodeType":"YulIdentifier","src":"105116:6:19"},"nativeSrc":"105116:49:19","nodeType":"YulFunctionCall","src":"105116:49:19"},"nativeSrc":"105116:49:19","nodeType":"YulExpressionStatement","src":"105116:49:19"}]},"name":"writeString","nativeSrc":"104837:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"104858:3:19","nodeType":"YulTypedName","src":"104858:3:19","type":""},{"name":"w","nativeSrc":"104863:1:19","nodeType":"YulTypedName","src":"104863:1:19","type":""}],"src":"104837:342:19"},{"nativeSrc":"105192:17:19","nodeType":"YulAssignment","src":"105192:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"105204:4:19","nodeType":"YulLiteral","src":"105204:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"105198:5:19","nodeType":"YulIdentifier","src":"105198:5:19"},"nativeSrc":"105198:11:19","nodeType":"YulFunctionCall","src":"105198:11:19"},"variableNames":[{"name":"m0","nativeSrc":"105192:2:19","nodeType":"YulIdentifier","src":"105192:2:19"}]},{"nativeSrc":"105222:17:19","nodeType":"YulAssignment","src":"105222:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"105234:4:19","nodeType":"YulLiteral","src":"105234:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"105228:5:19","nodeType":"YulIdentifier","src":"105228:5:19"},"nativeSrc":"105228:11:19","nodeType":"YulFunctionCall","src":"105228:11:19"},"variableNames":[{"name":"m1","nativeSrc":"105222:2:19","nodeType":"YulIdentifier","src":"105222:2:19"}]},{"nativeSrc":"105252:17:19","nodeType":"YulAssignment","src":"105252:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"105264:4:19","nodeType":"YulLiteral","src":"105264:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"105258:5:19","nodeType":"YulIdentifier","src":"105258:5:19"},"nativeSrc":"105258:11:19","nodeType":"YulFunctionCall","src":"105258:11:19"},"variableNames":[{"name":"m2","nativeSrc":"105252:2:19","nodeType":"YulIdentifier","src":"105252:2:19"}]},{"nativeSrc":"105282:17:19","nodeType":"YulAssignment","src":"105282:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"105294:4:19","nodeType":"YulLiteral","src":"105294:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"105288:5:19","nodeType":"YulIdentifier","src":"105288:5:19"},"nativeSrc":"105288:11:19","nodeType":"YulFunctionCall","src":"105288:11:19"},"variableNames":[{"name":"m3","nativeSrc":"105282:2:19","nodeType":"YulIdentifier","src":"105282:2:19"}]},{"nativeSrc":"105312:17:19","nodeType":"YulAssignment","src":"105312:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"105324:4:19","nodeType":"YulLiteral","src":"105324:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"105318:5:19","nodeType":"YulIdentifier","src":"105318:5:19"},"nativeSrc":"105318:11:19","nodeType":"YulFunctionCall","src":"105318:11:19"},"variableNames":[{"name":"m4","nativeSrc":"105312:2:19","nodeType":"YulIdentifier","src":"105312:2:19"}]},{"nativeSrc":"105342:17:19","nodeType":"YulAssignment","src":"105342:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"105354:4:19","nodeType":"YulLiteral","src":"105354:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"105348:5:19","nodeType":"YulIdentifier","src":"105348:5:19"},"nativeSrc":"105348:11:19","nodeType":"YulFunctionCall","src":"105348:11:19"},"variableNames":[{"name":"m5","nativeSrc":"105342:2:19","nodeType":"YulIdentifier","src":"105342:2:19"}]},{"nativeSrc":"105372:17:19","nodeType":"YulAssignment","src":"105372:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"105384:4:19","nodeType":"YulLiteral","src":"105384:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"105378:5:19","nodeType":"YulIdentifier","src":"105378:5:19"},"nativeSrc":"105378:11:19","nodeType":"YulFunctionCall","src":"105378:11:19"},"variableNames":[{"name":"m6","nativeSrc":"105372:2:19","nodeType":"YulIdentifier","src":"105372:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105472:4:19","nodeType":"YulLiteral","src":"105472:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"105478:10:19","nodeType":"YulLiteral","src":"105478:10:19","type":"","value":"0x6f1a594e"}],"functionName":{"name":"mstore","nativeSrc":"105465:6:19","nodeType":"YulIdentifier","src":"105465:6:19"},"nativeSrc":"105465:24:19","nodeType":"YulFunctionCall","src":"105465:24:19"},"nativeSrc":"105465:24:19","nodeType":"YulExpressionStatement","src":"105465:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105509:4:19","nodeType":"YulLiteral","src":"105509:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"105515:2:19","nodeType":"YulIdentifier","src":"105515:2:19"}],"functionName":{"name":"mstore","nativeSrc":"105502:6:19","nodeType":"YulIdentifier","src":"105502:6:19"},"nativeSrc":"105502:16:19","nodeType":"YulFunctionCall","src":"105502:16:19"},"nativeSrc":"105502:16:19","nodeType":"YulExpressionStatement","src":"105502:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105538:4:19","nodeType":"YulLiteral","src":"105538:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"105544:2:19","nodeType":"YulIdentifier","src":"105544:2:19"}],"functionName":{"name":"mstore","nativeSrc":"105531:6:19","nodeType":"YulIdentifier","src":"105531:6:19"},"nativeSrc":"105531:16:19","nodeType":"YulFunctionCall","src":"105531:16:19"},"nativeSrc":"105531:16:19","nodeType":"YulExpressionStatement","src":"105531:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105567:4:19","nodeType":"YulLiteral","src":"105567:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"105573:4:19","nodeType":"YulLiteral","src":"105573:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"105560:6:19","nodeType":"YulIdentifier","src":"105560:6:19"},"nativeSrc":"105560:18:19","nodeType":"YulFunctionCall","src":"105560:18:19"},"nativeSrc":"105560:18:19","nodeType":"YulExpressionStatement","src":"105560:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105598:4:19","nodeType":"YulLiteral","src":"105598:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"105604:2:19","nodeType":"YulIdentifier","src":"105604:2:19"}],"functionName":{"name":"mstore","nativeSrc":"105591:6:19","nodeType":"YulIdentifier","src":"105591:6:19"},"nativeSrc":"105591:16:19","nodeType":"YulFunctionCall","src":"105591:16:19"},"nativeSrc":"105591:16:19","nodeType":"YulExpressionStatement","src":"105591:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105632:4:19","nodeType":"YulLiteral","src":"105632:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"105638:2:19","nodeType":"YulIdentifier","src":"105638:2:19"}],"functionName":{"name":"writeString","nativeSrc":"105620:11:19","nodeType":"YulIdentifier","src":"105620:11:19"},"nativeSrc":"105620:21:19","nodeType":"YulFunctionCall","src":"105620:21:19"},"nativeSrc":"105620:21:19","nodeType":"YulExpressionStatement","src":"105620:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29596,"isOffset":false,"isSlot":false,"src":"105192:2:19","valueSize":1},{"declaration":29599,"isOffset":false,"isSlot":false,"src":"105222:2:19","valueSize":1},{"declaration":29602,"isOffset":false,"isSlot":false,"src":"105252:2:19","valueSize":1},{"declaration":29605,"isOffset":false,"isSlot":false,"src":"105282:2:19","valueSize":1},{"declaration":29608,"isOffset":false,"isSlot":false,"src":"105312:2:19","valueSize":1},{"declaration":29611,"isOffset":false,"isSlot":false,"src":"105342:2:19","valueSize":1},{"declaration":29614,"isOffset":false,"isSlot":false,"src":"105372:2:19","valueSize":1},{"declaration":29586,"isOffset":false,"isSlot":false,"src":"105515:2:19","valueSize":1},{"declaration":29588,"isOffset":false,"isSlot":false,"src":"105544:2:19","valueSize":1},{"declaration":29590,"isOffset":false,"isSlot":false,"src":"105638:2:19","valueSize":1},{"declaration":29592,"isOffset":false,"isSlot":false,"src":"105604:2:19","valueSize":1}],"id":29616,"nodeType":"InlineAssembly","src":"104814:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"105676:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":29619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"105682:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":29617,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"105660:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"105660:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29621,"nodeType":"ExpressionStatement","src":"105660:27:19"},{"AST":{"nativeSrc":"105749:214:19","nodeType":"YulBlock","src":"105749:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"105770:4:19","nodeType":"YulLiteral","src":"105770:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"105776:2:19","nodeType":"YulIdentifier","src":"105776:2:19"}],"functionName":{"name":"mstore","nativeSrc":"105763:6:19","nodeType":"YulIdentifier","src":"105763:6:19"},"nativeSrc":"105763:16:19","nodeType":"YulFunctionCall","src":"105763:16:19"},"nativeSrc":"105763:16:19","nodeType":"YulExpressionStatement","src":"105763:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105799:4:19","nodeType":"YulLiteral","src":"105799:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"105805:2:19","nodeType":"YulIdentifier","src":"105805:2:19"}],"functionName":{"name":"mstore","nativeSrc":"105792:6:19","nodeType":"YulIdentifier","src":"105792:6:19"},"nativeSrc":"105792:16:19","nodeType":"YulFunctionCall","src":"105792:16:19"},"nativeSrc":"105792:16:19","nodeType":"YulExpressionStatement","src":"105792:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105828:4:19","nodeType":"YulLiteral","src":"105828:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"105834:2:19","nodeType":"YulIdentifier","src":"105834:2:19"}],"functionName":{"name":"mstore","nativeSrc":"105821:6:19","nodeType":"YulIdentifier","src":"105821:6:19"},"nativeSrc":"105821:16:19","nodeType":"YulFunctionCall","src":"105821:16:19"},"nativeSrc":"105821:16:19","nodeType":"YulExpressionStatement","src":"105821:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105857:4:19","nodeType":"YulLiteral","src":"105857:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"105863:2:19","nodeType":"YulIdentifier","src":"105863:2:19"}],"functionName":{"name":"mstore","nativeSrc":"105850:6:19","nodeType":"YulIdentifier","src":"105850:6:19"},"nativeSrc":"105850:16:19","nodeType":"YulFunctionCall","src":"105850:16:19"},"nativeSrc":"105850:16:19","nodeType":"YulExpressionStatement","src":"105850:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105886:4:19","nodeType":"YulLiteral","src":"105886:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"105892:2:19","nodeType":"YulIdentifier","src":"105892:2:19"}],"functionName":{"name":"mstore","nativeSrc":"105879:6:19","nodeType":"YulIdentifier","src":"105879:6:19"},"nativeSrc":"105879:16:19","nodeType":"YulFunctionCall","src":"105879:16:19"},"nativeSrc":"105879:16:19","nodeType":"YulExpressionStatement","src":"105879:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105915:4:19","nodeType":"YulLiteral","src":"105915:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"105921:2:19","nodeType":"YulIdentifier","src":"105921:2:19"}],"functionName":{"name":"mstore","nativeSrc":"105908:6:19","nodeType":"YulIdentifier","src":"105908:6:19"},"nativeSrc":"105908:16:19","nodeType":"YulFunctionCall","src":"105908:16:19"},"nativeSrc":"105908:16:19","nodeType":"YulExpressionStatement","src":"105908:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"105944:4:19","nodeType":"YulLiteral","src":"105944:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"105950:2:19","nodeType":"YulIdentifier","src":"105950:2:19"}],"functionName":{"name":"mstore","nativeSrc":"105937:6:19","nodeType":"YulIdentifier","src":"105937:6:19"},"nativeSrc":"105937:16:19","nodeType":"YulFunctionCall","src":"105937:16:19"},"nativeSrc":"105937:16:19","nodeType":"YulExpressionStatement","src":"105937:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29596,"isOffset":false,"isSlot":false,"src":"105776:2:19","valueSize":1},{"declaration":29599,"isOffset":false,"isSlot":false,"src":"105805:2:19","valueSize":1},{"declaration":29602,"isOffset":false,"isSlot":false,"src":"105834:2:19","valueSize":1},{"declaration":29605,"isOffset":false,"isSlot":false,"src":"105863:2:19","valueSize":1},{"declaration":29608,"isOffset":false,"isSlot":false,"src":"105892:2:19","valueSize":1},{"declaration":29611,"isOffset":false,"isSlot":false,"src":"105921:2:19","valueSize":1},{"declaration":29614,"isOffset":false,"isSlot":false,"src":"105950:2:19","valueSize":1}],"id":29622,"nodeType":"InlineAssembly","src":"105740:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"104558:3:19","parameters":{"id":29593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29586,"mutability":"mutable","name":"p0","nameLocation":"104570:2:19","nodeType":"VariableDeclaration","scope":29624,"src":"104562:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29585,"name":"address","nodeType":"ElementaryTypeName","src":"104562:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29588,"mutability":"mutable","name":"p1","nameLocation":"104582:2:19","nodeType":"VariableDeclaration","scope":29624,"src":"104574:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29587,"name":"address","nodeType":"ElementaryTypeName","src":"104574:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29590,"mutability":"mutable","name":"p2","nameLocation":"104594:2:19","nodeType":"VariableDeclaration","scope":29624,"src":"104586:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29589,"name":"bytes32","nodeType":"ElementaryTypeName","src":"104586:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29592,"mutability":"mutable","name":"p3","nameLocation":"104603:2:19","nodeType":"VariableDeclaration","scope":29624,"src":"104598:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29591,"name":"bool","nodeType":"ElementaryTypeName","src":"104598:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"104561:45:19"},"returnParameters":{"id":29594,"nodeType":"ParameterList","parameters":[],"src":"104621:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29664,"nodeType":"FunctionDefinition","src":"105975:1426:19","nodes":[],"body":{"id":29663,"nodeType":"Block","src":"106050:1351:19","nodes":[],"statements":[{"assignments":[29636],"declarations":[{"constant":false,"id":29636,"mutability":"mutable","name":"m0","nameLocation":"106068:2:19","nodeType":"VariableDeclaration","scope":29663,"src":"106060:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29635,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106060:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29637,"nodeType":"VariableDeclarationStatement","src":"106060:10:19"},{"assignments":[29639],"declarations":[{"constant":false,"id":29639,"mutability":"mutable","name":"m1","nameLocation":"106088:2:19","nodeType":"VariableDeclaration","scope":29663,"src":"106080:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29638,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106080:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29640,"nodeType":"VariableDeclarationStatement","src":"106080:10:19"},{"assignments":[29642],"declarations":[{"constant":false,"id":29642,"mutability":"mutable","name":"m2","nameLocation":"106108:2:19","nodeType":"VariableDeclaration","scope":29663,"src":"106100:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29641,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106100:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29643,"nodeType":"VariableDeclarationStatement","src":"106100:10:19"},{"assignments":[29645],"declarations":[{"constant":false,"id":29645,"mutability":"mutable","name":"m3","nameLocation":"106128:2:19","nodeType":"VariableDeclaration","scope":29663,"src":"106120:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29644,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106120:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29646,"nodeType":"VariableDeclarationStatement","src":"106120:10:19"},{"assignments":[29648],"declarations":[{"constant":false,"id":29648,"mutability":"mutable","name":"m4","nameLocation":"106148:2:19","nodeType":"VariableDeclaration","scope":29663,"src":"106140:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29647,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106140:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29649,"nodeType":"VariableDeclarationStatement","src":"106140:10:19"},{"assignments":[29651],"declarations":[{"constant":false,"id":29651,"mutability":"mutable","name":"m5","nameLocation":"106168:2:19","nodeType":"VariableDeclaration","scope":29663,"src":"106160:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29650,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106160:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29652,"nodeType":"VariableDeclarationStatement","src":"106160:10:19"},{"assignments":[29654],"declarations":[{"constant":false,"id":29654,"mutability":"mutable","name":"m6","nameLocation":"106188:2:19","nodeType":"VariableDeclaration","scope":29663,"src":"106180:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29653,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106180:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29655,"nodeType":"VariableDeclarationStatement","src":"106180:10:19"},{"AST":{"nativeSrc":"106252:831:19","nodeType":"YulBlock","src":"106252:831:19","statements":[{"body":{"nativeSrc":"106295:313:19","nodeType":"YulBlock","src":"106295:313:19","statements":[{"nativeSrc":"106313:15:19","nodeType":"YulVariableDeclaration","src":"106313:15:19","value":{"kind":"number","nativeSrc":"106327:1:19","nodeType":"YulLiteral","src":"106327:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"106317:6:19","nodeType":"YulTypedName","src":"106317:6:19","type":""}]},{"body":{"nativeSrc":"106398:40:19","nodeType":"YulBlock","src":"106398:40:19","statements":[{"body":{"nativeSrc":"106427:9:19","nodeType":"YulBlock","src":"106427:9:19","statements":[{"nativeSrc":"106429:5:19","nodeType":"YulBreak","src":"106429:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"106415:6:19","nodeType":"YulIdentifier","src":"106415:6:19"},{"name":"w","nativeSrc":"106423:1:19","nodeType":"YulIdentifier","src":"106423:1:19"}],"functionName":{"name":"byte","nativeSrc":"106410:4:19","nodeType":"YulIdentifier","src":"106410:4:19"},"nativeSrc":"106410:15:19","nodeType":"YulFunctionCall","src":"106410:15:19"}],"functionName":{"name":"iszero","nativeSrc":"106403:6:19","nodeType":"YulIdentifier","src":"106403:6:19"},"nativeSrc":"106403:23:19","nodeType":"YulFunctionCall","src":"106403:23:19"},"nativeSrc":"106400:36:19","nodeType":"YulIf","src":"106400:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"106355:6:19","nodeType":"YulIdentifier","src":"106355:6:19"},{"kind":"number","nativeSrc":"106363:4:19","nodeType":"YulLiteral","src":"106363:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"106352:2:19","nodeType":"YulIdentifier","src":"106352:2:19"},"nativeSrc":"106352:16:19","nodeType":"YulFunctionCall","src":"106352:16:19"},"nativeSrc":"106345:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"106369:28:19","nodeType":"YulBlock","src":"106369:28:19","statements":[{"nativeSrc":"106371:24:19","nodeType":"YulAssignment","src":"106371:24:19","value":{"arguments":[{"name":"length","nativeSrc":"106385:6:19","nodeType":"YulIdentifier","src":"106385:6:19"},{"kind":"number","nativeSrc":"106393:1:19","nodeType":"YulLiteral","src":"106393:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"106381:3:19","nodeType":"YulIdentifier","src":"106381:3:19"},"nativeSrc":"106381:14:19","nodeType":"YulFunctionCall","src":"106381:14:19"},"variableNames":[{"name":"length","nativeSrc":"106371:6:19","nodeType":"YulIdentifier","src":"106371:6:19"}]}]},"pre":{"nativeSrc":"106349:2:19","nodeType":"YulBlock","src":"106349:2:19","statements":[]},"src":"106345:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"106462:3:19","nodeType":"YulIdentifier","src":"106462:3:19"},{"name":"length","nativeSrc":"106467:6:19","nodeType":"YulIdentifier","src":"106467:6:19"}],"functionName":{"name":"mstore","nativeSrc":"106455:6:19","nodeType":"YulIdentifier","src":"106455:6:19"},"nativeSrc":"106455:19:19","nodeType":"YulFunctionCall","src":"106455:19:19"},"nativeSrc":"106455:19:19","nodeType":"YulExpressionStatement","src":"106455:19:19"},{"nativeSrc":"106491:37:19","nodeType":"YulVariableDeclaration","src":"106491:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"106508:3:19","nodeType":"YulLiteral","src":"106508:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"106517:1:19","nodeType":"YulLiteral","src":"106517:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"106520:6:19","nodeType":"YulIdentifier","src":"106520:6:19"}],"functionName":{"name":"shl","nativeSrc":"106513:3:19","nodeType":"YulIdentifier","src":"106513:3:19"},"nativeSrc":"106513:14:19","nodeType":"YulFunctionCall","src":"106513:14:19"}],"functionName":{"name":"sub","nativeSrc":"106504:3:19","nodeType":"YulIdentifier","src":"106504:3:19"},"nativeSrc":"106504:24:19","nodeType":"YulFunctionCall","src":"106504:24:19"},"variables":[{"name":"shift","nativeSrc":"106495:5:19","nodeType":"YulTypedName","src":"106495:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"106556:3:19","nodeType":"YulIdentifier","src":"106556:3:19"},{"kind":"number","nativeSrc":"106561:4:19","nodeType":"YulLiteral","src":"106561:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"106552:3:19","nodeType":"YulIdentifier","src":"106552:3:19"},"nativeSrc":"106552:14:19","nodeType":"YulFunctionCall","src":"106552:14:19"},{"arguments":[{"name":"shift","nativeSrc":"106572:5:19","nodeType":"YulIdentifier","src":"106572:5:19"},{"arguments":[{"name":"shift","nativeSrc":"106583:5:19","nodeType":"YulIdentifier","src":"106583:5:19"},{"name":"w","nativeSrc":"106590:1:19","nodeType":"YulIdentifier","src":"106590:1:19"}],"functionName":{"name":"shr","nativeSrc":"106579:3:19","nodeType":"YulIdentifier","src":"106579:3:19"},"nativeSrc":"106579:13:19","nodeType":"YulFunctionCall","src":"106579:13:19"}],"functionName":{"name":"shl","nativeSrc":"106568:3:19","nodeType":"YulIdentifier","src":"106568:3:19"},"nativeSrc":"106568:25:19","nodeType":"YulFunctionCall","src":"106568:25:19"}],"functionName":{"name":"mstore","nativeSrc":"106545:6:19","nodeType":"YulIdentifier","src":"106545:6:19"},"nativeSrc":"106545:49:19","nodeType":"YulFunctionCall","src":"106545:49:19"},"nativeSrc":"106545:49:19","nodeType":"YulExpressionStatement","src":"106545:49:19"}]},"name":"writeString","nativeSrc":"106266:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"106287:3:19","nodeType":"YulTypedName","src":"106287:3:19","type":""},{"name":"w","nativeSrc":"106292:1:19","nodeType":"YulTypedName","src":"106292:1:19","type":""}],"src":"106266:342:19"},{"nativeSrc":"106621:17:19","nodeType":"YulAssignment","src":"106621:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"106633:4:19","nodeType":"YulLiteral","src":"106633:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"106627:5:19","nodeType":"YulIdentifier","src":"106627:5:19"},"nativeSrc":"106627:11:19","nodeType":"YulFunctionCall","src":"106627:11:19"},"variableNames":[{"name":"m0","nativeSrc":"106621:2:19","nodeType":"YulIdentifier","src":"106621:2:19"}]},{"nativeSrc":"106651:17:19","nodeType":"YulAssignment","src":"106651:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"106663:4:19","nodeType":"YulLiteral","src":"106663:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"106657:5:19","nodeType":"YulIdentifier","src":"106657:5:19"},"nativeSrc":"106657:11:19","nodeType":"YulFunctionCall","src":"106657:11:19"},"variableNames":[{"name":"m1","nativeSrc":"106651:2:19","nodeType":"YulIdentifier","src":"106651:2:19"}]},{"nativeSrc":"106681:17:19","nodeType":"YulAssignment","src":"106681:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"106693:4:19","nodeType":"YulLiteral","src":"106693:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"106687:5:19","nodeType":"YulIdentifier","src":"106687:5:19"},"nativeSrc":"106687:11:19","nodeType":"YulFunctionCall","src":"106687:11:19"},"variableNames":[{"name":"m2","nativeSrc":"106681:2:19","nodeType":"YulIdentifier","src":"106681:2:19"}]},{"nativeSrc":"106711:17:19","nodeType":"YulAssignment","src":"106711:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"106723:4:19","nodeType":"YulLiteral","src":"106723:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"106717:5:19","nodeType":"YulIdentifier","src":"106717:5:19"},"nativeSrc":"106717:11:19","nodeType":"YulFunctionCall","src":"106717:11:19"},"variableNames":[{"name":"m3","nativeSrc":"106711:2:19","nodeType":"YulIdentifier","src":"106711:2:19"}]},{"nativeSrc":"106741:17:19","nodeType":"YulAssignment","src":"106741:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"106753:4:19","nodeType":"YulLiteral","src":"106753:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"106747:5:19","nodeType":"YulIdentifier","src":"106747:5:19"},"nativeSrc":"106747:11:19","nodeType":"YulFunctionCall","src":"106747:11:19"},"variableNames":[{"name":"m4","nativeSrc":"106741:2:19","nodeType":"YulIdentifier","src":"106741:2:19"}]},{"nativeSrc":"106771:17:19","nodeType":"YulAssignment","src":"106771:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"106783:4:19","nodeType":"YulLiteral","src":"106783:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"106777:5:19","nodeType":"YulIdentifier","src":"106777:5:19"},"nativeSrc":"106777:11:19","nodeType":"YulFunctionCall","src":"106777:11:19"},"variableNames":[{"name":"m5","nativeSrc":"106771:2:19","nodeType":"YulIdentifier","src":"106771:2:19"}]},{"nativeSrc":"106801:17:19","nodeType":"YulAssignment","src":"106801:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"106813:4:19","nodeType":"YulLiteral","src":"106813:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"106807:5:19","nodeType":"YulIdentifier","src":"106807:5:19"},"nativeSrc":"106807:11:19","nodeType":"YulFunctionCall","src":"106807:11:19"},"variableNames":[{"name":"m6","nativeSrc":"106801:2:19","nodeType":"YulIdentifier","src":"106801:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"106904:4:19","nodeType":"YulLiteral","src":"106904:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"106910:10:19","nodeType":"YulLiteral","src":"106910:10:19","type":"","value":"0xef1cefe7"}],"functionName":{"name":"mstore","nativeSrc":"106897:6:19","nodeType":"YulIdentifier","src":"106897:6:19"},"nativeSrc":"106897:24:19","nodeType":"YulFunctionCall","src":"106897:24:19"},"nativeSrc":"106897:24:19","nodeType":"YulExpressionStatement","src":"106897:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"106941:4:19","nodeType":"YulLiteral","src":"106941:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"106947:2:19","nodeType":"YulIdentifier","src":"106947:2:19"}],"functionName":{"name":"mstore","nativeSrc":"106934:6:19","nodeType":"YulIdentifier","src":"106934:6:19"},"nativeSrc":"106934:16:19","nodeType":"YulFunctionCall","src":"106934:16:19"},"nativeSrc":"106934:16:19","nodeType":"YulExpressionStatement","src":"106934:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"106970:4:19","nodeType":"YulLiteral","src":"106970:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"106976:2:19","nodeType":"YulIdentifier","src":"106976:2:19"}],"functionName":{"name":"mstore","nativeSrc":"106963:6:19","nodeType":"YulIdentifier","src":"106963:6:19"},"nativeSrc":"106963:16:19","nodeType":"YulFunctionCall","src":"106963:16:19"},"nativeSrc":"106963:16:19","nodeType":"YulExpressionStatement","src":"106963:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"106999:4:19","nodeType":"YulLiteral","src":"106999:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"107005:4:19","nodeType":"YulLiteral","src":"107005:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"106992:6:19","nodeType":"YulIdentifier","src":"106992:6:19"},"nativeSrc":"106992:18:19","nodeType":"YulFunctionCall","src":"106992:18:19"},"nativeSrc":"106992:18:19","nodeType":"YulExpressionStatement","src":"106992:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"107030:4:19","nodeType":"YulLiteral","src":"107030:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"107036:2:19","nodeType":"YulIdentifier","src":"107036:2:19"}],"functionName":{"name":"mstore","nativeSrc":"107023:6:19","nodeType":"YulIdentifier","src":"107023:6:19"},"nativeSrc":"107023:16:19","nodeType":"YulFunctionCall","src":"107023:16:19"},"nativeSrc":"107023:16:19","nodeType":"YulExpressionStatement","src":"107023:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"107064:4:19","nodeType":"YulLiteral","src":"107064:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"107070:2:19","nodeType":"YulIdentifier","src":"107070:2:19"}],"functionName":{"name":"writeString","nativeSrc":"107052:11:19","nodeType":"YulIdentifier","src":"107052:11:19"},"nativeSrc":"107052:21:19","nodeType":"YulFunctionCall","src":"107052:21:19"},"nativeSrc":"107052:21:19","nodeType":"YulExpressionStatement","src":"107052:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29636,"isOffset":false,"isSlot":false,"src":"106621:2:19","valueSize":1},{"declaration":29639,"isOffset":false,"isSlot":false,"src":"106651:2:19","valueSize":1},{"declaration":29642,"isOffset":false,"isSlot":false,"src":"106681:2:19","valueSize":1},{"declaration":29645,"isOffset":false,"isSlot":false,"src":"106711:2:19","valueSize":1},{"declaration":29648,"isOffset":false,"isSlot":false,"src":"106741:2:19","valueSize":1},{"declaration":29651,"isOffset":false,"isSlot":false,"src":"106771:2:19","valueSize":1},{"declaration":29654,"isOffset":false,"isSlot":false,"src":"106801:2:19","valueSize":1},{"declaration":29626,"isOffset":false,"isSlot":false,"src":"106947:2:19","valueSize":1},{"declaration":29628,"isOffset":false,"isSlot":false,"src":"106976:2:19","valueSize":1},{"declaration":29630,"isOffset":false,"isSlot":false,"src":"107070:2:19","valueSize":1},{"declaration":29632,"isOffset":false,"isSlot":false,"src":"107036:2:19","valueSize":1}],"id":29656,"nodeType":"InlineAssembly","src":"106243:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"107108:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":29659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"107114:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":29657,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"107092:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"107092:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29661,"nodeType":"ExpressionStatement","src":"107092:27:19"},{"AST":{"nativeSrc":"107181:214:19","nodeType":"YulBlock","src":"107181:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"107202:4:19","nodeType":"YulLiteral","src":"107202:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"107208:2:19","nodeType":"YulIdentifier","src":"107208:2:19"}],"functionName":{"name":"mstore","nativeSrc":"107195:6:19","nodeType":"YulIdentifier","src":"107195:6:19"},"nativeSrc":"107195:16:19","nodeType":"YulFunctionCall","src":"107195:16:19"},"nativeSrc":"107195:16:19","nodeType":"YulExpressionStatement","src":"107195:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"107231:4:19","nodeType":"YulLiteral","src":"107231:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"107237:2:19","nodeType":"YulIdentifier","src":"107237:2:19"}],"functionName":{"name":"mstore","nativeSrc":"107224:6:19","nodeType":"YulIdentifier","src":"107224:6:19"},"nativeSrc":"107224:16:19","nodeType":"YulFunctionCall","src":"107224:16:19"},"nativeSrc":"107224:16:19","nodeType":"YulExpressionStatement","src":"107224:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"107260:4:19","nodeType":"YulLiteral","src":"107260:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"107266:2:19","nodeType":"YulIdentifier","src":"107266:2:19"}],"functionName":{"name":"mstore","nativeSrc":"107253:6:19","nodeType":"YulIdentifier","src":"107253:6:19"},"nativeSrc":"107253:16:19","nodeType":"YulFunctionCall","src":"107253:16:19"},"nativeSrc":"107253:16:19","nodeType":"YulExpressionStatement","src":"107253:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"107289:4:19","nodeType":"YulLiteral","src":"107289:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"107295:2:19","nodeType":"YulIdentifier","src":"107295:2:19"}],"functionName":{"name":"mstore","nativeSrc":"107282:6:19","nodeType":"YulIdentifier","src":"107282:6:19"},"nativeSrc":"107282:16:19","nodeType":"YulFunctionCall","src":"107282:16:19"},"nativeSrc":"107282:16:19","nodeType":"YulExpressionStatement","src":"107282:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"107318:4:19","nodeType":"YulLiteral","src":"107318:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"107324:2:19","nodeType":"YulIdentifier","src":"107324:2:19"}],"functionName":{"name":"mstore","nativeSrc":"107311:6:19","nodeType":"YulIdentifier","src":"107311:6:19"},"nativeSrc":"107311:16:19","nodeType":"YulFunctionCall","src":"107311:16:19"},"nativeSrc":"107311:16:19","nodeType":"YulExpressionStatement","src":"107311:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"107347:4:19","nodeType":"YulLiteral","src":"107347:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"107353:2:19","nodeType":"YulIdentifier","src":"107353:2:19"}],"functionName":{"name":"mstore","nativeSrc":"107340:6:19","nodeType":"YulIdentifier","src":"107340:6:19"},"nativeSrc":"107340:16:19","nodeType":"YulFunctionCall","src":"107340:16:19"},"nativeSrc":"107340:16:19","nodeType":"YulExpressionStatement","src":"107340:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"107376:4:19","nodeType":"YulLiteral","src":"107376:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"107382:2:19","nodeType":"YulIdentifier","src":"107382:2:19"}],"functionName":{"name":"mstore","nativeSrc":"107369:6:19","nodeType":"YulIdentifier","src":"107369:6:19"},"nativeSrc":"107369:16:19","nodeType":"YulFunctionCall","src":"107369:16:19"},"nativeSrc":"107369:16:19","nodeType":"YulExpressionStatement","src":"107369:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29636,"isOffset":false,"isSlot":false,"src":"107208:2:19","valueSize":1},{"declaration":29639,"isOffset":false,"isSlot":false,"src":"107237:2:19","valueSize":1},{"declaration":29642,"isOffset":false,"isSlot":false,"src":"107266:2:19","valueSize":1},{"declaration":29645,"isOffset":false,"isSlot":false,"src":"107295:2:19","valueSize":1},{"declaration":29648,"isOffset":false,"isSlot":false,"src":"107324:2:19","valueSize":1},{"declaration":29651,"isOffset":false,"isSlot":false,"src":"107353:2:19","valueSize":1},{"declaration":29654,"isOffset":false,"isSlot":false,"src":"107382:2:19","valueSize":1}],"id":29662,"nodeType":"InlineAssembly","src":"107172:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"105984:3:19","parameters":{"id":29633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29626,"mutability":"mutable","name":"p0","nameLocation":"105996:2:19","nodeType":"VariableDeclaration","scope":29664,"src":"105988:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29625,"name":"address","nodeType":"ElementaryTypeName","src":"105988:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29628,"mutability":"mutable","name":"p1","nameLocation":"106008:2:19","nodeType":"VariableDeclaration","scope":29664,"src":"106000:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29627,"name":"address","nodeType":"ElementaryTypeName","src":"106000:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29630,"mutability":"mutable","name":"p2","nameLocation":"106020:2:19","nodeType":"VariableDeclaration","scope":29664,"src":"106012:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29629,"name":"bytes32","nodeType":"ElementaryTypeName","src":"106012:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29632,"mutability":"mutable","name":"p3","nameLocation":"106032:2:19","nodeType":"VariableDeclaration","scope":29664,"src":"106024:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29631,"name":"uint256","nodeType":"ElementaryTypeName","src":"106024:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"105987:48:19"},"returnParameters":{"id":29634,"nodeType":"ParameterList","parameters":[],"src":"106050:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29710,"nodeType":"FunctionDefinition","src":"107407:1622:19","nodes":[],"body":{"id":29709,"nodeType":"Block","src":"107482:1547:19","nodes":[],"statements":[{"assignments":[29676],"declarations":[{"constant":false,"id":29676,"mutability":"mutable","name":"m0","nameLocation":"107500:2:19","nodeType":"VariableDeclaration","scope":29709,"src":"107492:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29675,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107492:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29677,"nodeType":"VariableDeclarationStatement","src":"107492:10:19"},{"assignments":[29679],"declarations":[{"constant":false,"id":29679,"mutability":"mutable","name":"m1","nameLocation":"107520:2:19","nodeType":"VariableDeclaration","scope":29709,"src":"107512:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29678,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107512:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29680,"nodeType":"VariableDeclarationStatement","src":"107512:10:19"},{"assignments":[29682],"declarations":[{"constant":false,"id":29682,"mutability":"mutable","name":"m2","nameLocation":"107540:2:19","nodeType":"VariableDeclaration","scope":29709,"src":"107532:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29681,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107532:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29683,"nodeType":"VariableDeclarationStatement","src":"107532:10:19"},{"assignments":[29685],"declarations":[{"constant":false,"id":29685,"mutability":"mutable","name":"m3","nameLocation":"107560:2:19","nodeType":"VariableDeclaration","scope":29709,"src":"107552:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29684,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107552:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29686,"nodeType":"VariableDeclarationStatement","src":"107552:10:19"},{"assignments":[29688],"declarations":[{"constant":false,"id":29688,"mutability":"mutable","name":"m4","nameLocation":"107580:2:19","nodeType":"VariableDeclaration","scope":29709,"src":"107572:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29687,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107572:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29689,"nodeType":"VariableDeclarationStatement","src":"107572:10:19"},{"assignments":[29691],"declarations":[{"constant":false,"id":29691,"mutability":"mutable","name":"m5","nameLocation":"107600:2:19","nodeType":"VariableDeclaration","scope":29709,"src":"107592:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29690,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107592:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29692,"nodeType":"VariableDeclarationStatement","src":"107592:10:19"},{"assignments":[29694],"declarations":[{"constant":false,"id":29694,"mutability":"mutable","name":"m6","nameLocation":"107620:2:19","nodeType":"VariableDeclaration","scope":29709,"src":"107612:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29693,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107612:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29695,"nodeType":"VariableDeclarationStatement","src":"107612:10:19"},{"assignments":[29697],"declarations":[{"constant":false,"id":29697,"mutability":"mutable","name":"m7","nameLocation":"107640:2:19","nodeType":"VariableDeclaration","scope":29709,"src":"107632:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29696,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107632:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29698,"nodeType":"VariableDeclarationStatement","src":"107632:10:19"},{"assignments":[29700],"declarations":[{"constant":false,"id":29700,"mutability":"mutable","name":"m8","nameLocation":"107660:2:19","nodeType":"VariableDeclaration","scope":29709,"src":"107652:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29699,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107652:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29701,"nodeType":"VariableDeclarationStatement","src":"107652:10:19"},{"AST":{"nativeSrc":"107724:927:19","nodeType":"YulBlock","src":"107724:927:19","statements":[{"body":{"nativeSrc":"107767:313:19","nodeType":"YulBlock","src":"107767:313:19","statements":[{"nativeSrc":"107785:15:19","nodeType":"YulVariableDeclaration","src":"107785:15:19","value":{"kind":"number","nativeSrc":"107799:1:19","nodeType":"YulLiteral","src":"107799:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"107789:6:19","nodeType":"YulTypedName","src":"107789:6:19","type":""}]},{"body":{"nativeSrc":"107870:40:19","nodeType":"YulBlock","src":"107870:40:19","statements":[{"body":{"nativeSrc":"107899:9:19","nodeType":"YulBlock","src":"107899:9:19","statements":[{"nativeSrc":"107901:5:19","nodeType":"YulBreak","src":"107901:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"107887:6:19","nodeType":"YulIdentifier","src":"107887:6:19"},{"name":"w","nativeSrc":"107895:1:19","nodeType":"YulIdentifier","src":"107895:1:19"}],"functionName":{"name":"byte","nativeSrc":"107882:4:19","nodeType":"YulIdentifier","src":"107882:4:19"},"nativeSrc":"107882:15:19","nodeType":"YulFunctionCall","src":"107882:15:19"}],"functionName":{"name":"iszero","nativeSrc":"107875:6:19","nodeType":"YulIdentifier","src":"107875:6:19"},"nativeSrc":"107875:23:19","nodeType":"YulFunctionCall","src":"107875:23:19"},"nativeSrc":"107872:36:19","nodeType":"YulIf","src":"107872:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"107827:6:19","nodeType":"YulIdentifier","src":"107827:6:19"},{"kind":"number","nativeSrc":"107835:4:19","nodeType":"YulLiteral","src":"107835:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"107824:2:19","nodeType":"YulIdentifier","src":"107824:2:19"},"nativeSrc":"107824:16:19","nodeType":"YulFunctionCall","src":"107824:16:19"},"nativeSrc":"107817:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"107841:28:19","nodeType":"YulBlock","src":"107841:28:19","statements":[{"nativeSrc":"107843:24:19","nodeType":"YulAssignment","src":"107843:24:19","value":{"arguments":[{"name":"length","nativeSrc":"107857:6:19","nodeType":"YulIdentifier","src":"107857:6:19"},{"kind":"number","nativeSrc":"107865:1:19","nodeType":"YulLiteral","src":"107865:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"107853:3:19","nodeType":"YulIdentifier","src":"107853:3:19"},"nativeSrc":"107853:14:19","nodeType":"YulFunctionCall","src":"107853:14:19"},"variableNames":[{"name":"length","nativeSrc":"107843:6:19","nodeType":"YulIdentifier","src":"107843:6:19"}]}]},"pre":{"nativeSrc":"107821:2:19","nodeType":"YulBlock","src":"107821:2:19","statements":[]},"src":"107817:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"107934:3:19","nodeType":"YulIdentifier","src":"107934:3:19"},{"name":"length","nativeSrc":"107939:6:19","nodeType":"YulIdentifier","src":"107939:6:19"}],"functionName":{"name":"mstore","nativeSrc":"107927:6:19","nodeType":"YulIdentifier","src":"107927:6:19"},"nativeSrc":"107927:19:19","nodeType":"YulFunctionCall","src":"107927:19:19"},"nativeSrc":"107927:19:19","nodeType":"YulExpressionStatement","src":"107927:19:19"},{"nativeSrc":"107963:37:19","nodeType":"YulVariableDeclaration","src":"107963:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"107980:3:19","nodeType":"YulLiteral","src":"107980:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"107989:1:19","nodeType":"YulLiteral","src":"107989:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"107992:6:19","nodeType":"YulIdentifier","src":"107992:6:19"}],"functionName":{"name":"shl","nativeSrc":"107985:3:19","nodeType":"YulIdentifier","src":"107985:3:19"},"nativeSrc":"107985:14:19","nodeType":"YulFunctionCall","src":"107985:14:19"}],"functionName":{"name":"sub","nativeSrc":"107976:3:19","nodeType":"YulIdentifier","src":"107976:3:19"},"nativeSrc":"107976:24:19","nodeType":"YulFunctionCall","src":"107976:24:19"},"variables":[{"name":"shift","nativeSrc":"107967:5:19","nodeType":"YulTypedName","src":"107967:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"108028:3:19","nodeType":"YulIdentifier","src":"108028:3:19"},{"kind":"number","nativeSrc":"108033:4:19","nodeType":"YulLiteral","src":"108033:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"108024:3:19","nodeType":"YulIdentifier","src":"108024:3:19"},"nativeSrc":"108024:14:19","nodeType":"YulFunctionCall","src":"108024:14:19"},{"arguments":[{"name":"shift","nativeSrc":"108044:5:19","nodeType":"YulIdentifier","src":"108044:5:19"},{"arguments":[{"name":"shift","nativeSrc":"108055:5:19","nodeType":"YulIdentifier","src":"108055:5:19"},{"name":"w","nativeSrc":"108062:1:19","nodeType":"YulIdentifier","src":"108062:1:19"}],"functionName":{"name":"shr","nativeSrc":"108051:3:19","nodeType":"YulIdentifier","src":"108051:3:19"},"nativeSrc":"108051:13:19","nodeType":"YulFunctionCall","src":"108051:13:19"}],"functionName":{"name":"shl","nativeSrc":"108040:3:19","nodeType":"YulIdentifier","src":"108040:3:19"},"nativeSrc":"108040:25:19","nodeType":"YulFunctionCall","src":"108040:25:19"}],"functionName":{"name":"mstore","nativeSrc":"108017:6:19","nodeType":"YulIdentifier","src":"108017:6:19"},"nativeSrc":"108017:49:19","nodeType":"YulFunctionCall","src":"108017:49:19"},"nativeSrc":"108017:49:19","nodeType":"YulExpressionStatement","src":"108017:49:19"}]},"name":"writeString","nativeSrc":"107738:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"107759:3:19","nodeType":"YulTypedName","src":"107759:3:19","type":""},{"name":"w","nativeSrc":"107764:1:19","nodeType":"YulTypedName","src":"107764:1:19","type":""}],"src":"107738:342:19"},{"nativeSrc":"108093:17:19","nodeType":"YulAssignment","src":"108093:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"108105:4:19","nodeType":"YulLiteral","src":"108105:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"108099:5:19","nodeType":"YulIdentifier","src":"108099:5:19"},"nativeSrc":"108099:11:19","nodeType":"YulFunctionCall","src":"108099:11:19"},"variableNames":[{"name":"m0","nativeSrc":"108093:2:19","nodeType":"YulIdentifier","src":"108093:2:19"}]},{"nativeSrc":"108123:17:19","nodeType":"YulAssignment","src":"108123:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"108135:4:19","nodeType":"YulLiteral","src":"108135:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"108129:5:19","nodeType":"YulIdentifier","src":"108129:5:19"},"nativeSrc":"108129:11:19","nodeType":"YulFunctionCall","src":"108129:11:19"},"variableNames":[{"name":"m1","nativeSrc":"108123:2:19","nodeType":"YulIdentifier","src":"108123:2:19"}]},{"nativeSrc":"108153:17:19","nodeType":"YulAssignment","src":"108153:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"108165:4:19","nodeType":"YulLiteral","src":"108165:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"108159:5:19","nodeType":"YulIdentifier","src":"108159:5:19"},"nativeSrc":"108159:11:19","nodeType":"YulFunctionCall","src":"108159:11:19"},"variableNames":[{"name":"m2","nativeSrc":"108153:2:19","nodeType":"YulIdentifier","src":"108153:2:19"}]},{"nativeSrc":"108183:17:19","nodeType":"YulAssignment","src":"108183:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"108195:4:19","nodeType":"YulLiteral","src":"108195:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"108189:5:19","nodeType":"YulIdentifier","src":"108189:5:19"},"nativeSrc":"108189:11:19","nodeType":"YulFunctionCall","src":"108189:11:19"},"variableNames":[{"name":"m3","nativeSrc":"108183:2:19","nodeType":"YulIdentifier","src":"108183:2:19"}]},{"nativeSrc":"108213:17:19","nodeType":"YulAssignment","src":"108213:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"108225:4:19","nodeType":"YulLiteral","src":"108225:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"108219:5:19","nodeType":"YulIdentifier","src":"108219:5:19"},"nativeSrc":"108219:11:19","nodeType":"YulFunctionCall","src":"108219:11:19"},"variableNames":[{"name":"m4","nativeSrc":"108213:2:19","nodeType":"YulIdentifier","src":"108213:2:19"}]},{"nativeSrc":"108243:17:19","nodeType":"YulAssignment","src":"108243:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"108255:4:19","nodeType":"YulLiteral","src":"108255:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"108249:5:19","nodeType":"YulIdentifier","src":"108249:5:19"},"nativeSrc":"108249:11:19","nodeType":"YulFunctionCall","src":"108249:11:19"},"variableNames":[{"name":"m5","nativeSrc":"108243:2:19","nodeType":"YulIdentifier","src":"108243:2:19"}]},{"nativeSrc":"108273:17:19","nodeType":"YulAssignment","src":"108273:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"108285:4:19","nodeType":"YulLiteral","src":"108285:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"108279:5:19","nodeType":"YulIdentifier","src":"108279:5:19"},"nativeSrc":"108279:11:19","nodeType":"YulFunctionCall","src":"108279:11:19"},"variableNames":[{"name":"m6","nativeSrc":"108273:2:19","nodeType":"YulIdentifier","src":"108273:2:19"}]},{"nativeSrc":"108303:17:19","nodeType":"YulAssignment","src":"108303:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"108315:4:19","nodeType":"YulLiteral","src":"108315:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"108309:5:19","nodeType":"YulIdentifier","src":"108309:5:19"},"nativeSrc":"108309:11:19","nodeType":"YulFunctionCall","src":"108309:11:19"},"variableNames":[{"name":"m7","nativeSrc":"108303:2:19","nodeType":"YulIdentifier","src":"108303:2:19"}]},{"nativeSrc":"108333:18:19","nodeType":"YulAssignment","src":"108333:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"108345:5:19","nodeType":"YulLiteral","src":"108345:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"108339:5:19","nodeType":"YulIdentifier","src":"108339:5:19"},"nativeSrc":"108339:12:19","nodeType":"YulFunctionCall","src":"108339:12:19"},"variableNames":[{"name":"m8","nativeSrc":"108333:2:19","nodeType":"YulIdentifier","src":"108333:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108436:4:19","nodeType":"YulLiteral","src":"108436:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"108442:10:19","nodeType":"YulLiteral","src":"108442:10:19","type":"","value":"0x21bdaf25"}],"functionName":{"name":"mstore","nativeSrc":"108429:6:19","nodeType":"YulIdentifier","src":"108429:6:19"},"nativeSrc":"108429:24:19","nodeType":"YulFunctionCall","src":"108429:24:19"},"nativeSrc":"108429:24:19","nodeType":"YulExpressionStatement","src":"108429:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108473:4:19","nodeType":"YulLiteral","src":"108473:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"108479:2:19","nodeType":"YulIdentifier","src":"108479:2:19"}],"functionName":{"name":"mstore","nativeSrc":"108466:6:19","nodeType":"YulIdentifier","src":"108466:6:19"},"nativeSrc":"108466:16:19","nodeType":"YulFunctionCall","src":"108466:16:19"},"nativeSrc":"108466:16:19","nodeType":"YulExpressionStatement","src":"108466:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108502:4:19","nodeType":"YulLiteral","src":"108502:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"108508:2:19","nodeType":"YulIdentifier","src":"108508:2:19"}],"functionName":{"name":"mstore","nativeSrc":"108495:6:19","nodeType":"YulIdentifier","src":"108495:6:19"},"nativeSrc":"108495:16:19","nodeType":"YulFunctionCall","src":"108495:16:19"},"nativeSrc":"108495:16:19","nodeType":"YulExpressionStatement","src":"108495:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108531:4:19","nodeType":"YulLiteral","src":"108531:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"108537:4:19","nodeType":"YulLiteral","src":"108537:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"108524:6:19","nodeType":"YulIdentifier","src":"108524:6:19"},"nativeSrc":"108524:18:19","nodeType":"YulFunctionCall","src":"108524:18:19"},"nativeSrc":"108524:18:19","nodeType":"YulExpressionStatement","src":"108524:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108562:4:19","nodeType":"YulLiteral","src":"108562:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"108568:4:19","nodeType":"YulLiteral","src":"108568:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"108555:6:19","nodeType":"YulIdentifier","src":"108555:6:19"},"nativeSrc":"108555:18:19","nodeType":"YulFunctionCall","src":"108555:18:19"},"nativeSrc":"108555:18:19","nodeType":"YulExpressionStatement","src":"108555:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108598:4:19","nodeType":"YulLiteral","src":"108598:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"108604:2:19","nodeType":"YulIdentifier","src":"108604:2:19"}],"functionName":{"name":"writeString","nativeSrc":"108586:11:19","nodeType":"YulIdentifier","src":"108586:11:19"},"nativeSrc":"108586:21:19","nodeType":"YulFunctionCall","src":"108586:21:19"},"nativeSrc":"108586:21:19","nodeType":"YulExpressionStatement","src":"108586:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108632:4:19","nodeType":"YulLiteral","src":"108632:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"108638:2:19","nodeType":"YulIdentifier","src":"108638:2:19"}],"functionName":{"name":"writeString","nativeSrc":"108620:11:19","nodeType":"YulIdentifier","src":"108620:11:19"},"nativeSrc":"108620:21:19","nodeType":"YulFunctionCall","src":"108620:21:19"},"nativeSrc":"108620:21:19","nodeType":"YulExpressionStatement","src":"108620:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29676,"isOffset":false,"isSlot":false,"src":"108093:2:19","valueSize":1},{"declaration":29679,"isOffset":false,"isSlot":false,"src":"108123:2:19","valueSize":1},{"declaration":29682,"isOffset":false,"isSlot":false,"src":"108153:2:19","valueSize":1},{"declaration":29685,"isOffset":false,"isSlot":false,"src":"108183:2:19","valueSize":1},{"declaration":29688,"isOffset":false,"isSlot":false,"src":"108213:2:19","valueSize":1},{"declaration":29691,"isOffset":false,"isSlot":false,"src":"108243:2:19","valueSize":1},{"declaration":29694,"isOffset":false,"isSlot":false,"src":"108273:2:19","valueSize":1},{"declaration":29697,"isOffset":false,"isSlot":false,"src":"108303:2:19","valueSize":1},{"declaration":29700,"isOffset":false,"isSlot":false,"src":"108333:2:19","valueSize":1},{"declaration":29666,"isOffset":false,"isSlot":false,"src":"108479:2:19","valueSize":1},{"declaration":29668,"isOffset":false,"isSlot":false,"src":"108508:2:19","valueSize":1},{"declaration":29670,"isOffset":false,"isSlot":false,"src":"108604:2:19","valueSize":1},{"declaration":29672,"isOffset":false,"isSlot":false,"src":"108638:2:19","valueSize":1}],"id":29702,"nodeType":"InlineAssembly","src":"107715:936:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"108676:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":29705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"108682:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":29703,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"108660:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"108660:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29707,"nodeType":"ExpressionStatement","src":"108660:28:19"},{"AST":{"nativeSrc":"108750:273:19","nodeType":"YulBlock","src":"108750:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"108771:4:19","nodeType":"YulLiteral","src":"108771:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"108777:2:19","nodeType":"YulIdentifier","src":"108777:2:19"}],"functionName":{"name":"mstore","nativeSrc":"108764:6:19","nodeType":"YulIdentifier","src":"108764:6:19"},"nativeSrc":"108764:16:19","nodeType":"YulFunctionCall","src":"108764:16:19"},"nativeSrc":"108764:16:19","nodeType":"YulExpressionStatement","src":"108764:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108800:4:19","nodeType":"YulLiteral","src":"108800:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"108806:2:19","nodeType":"YulIdentifier","src":"108806:2:19"}],"functionName":{"name":"mstore","nativeSrc":"108793:6:19","nodeType":"YulIdentifier","src":"108793:6:19"},"nativeSrc":"108793:16:19","nodeType":"YulFunctionCall","src":"108793:16:19"},"nativeSrc":"108793:16:19","nodeType":"YulExpressionStatement","src":"108793:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108829:4:19","nodeType":"YulLiteral","src":"108829:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"108835:2:19","nodeType":"YulIdentifier","src":"108835:2:19"}],"functionName":{"name":"mstore","nativeSrc":"108822:6:19","nodeType":"YulIdentifier","src":"108822:6:19"},"nativeSrc":"108822:16:19","nodeType":"YulFunctionCall","src":"108822:16:19"},"nativeSrc":"108822:16:19","nodeType":"YulExpressionStatement","src":"108822:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108858:4:19","nodeType":"YulLiteral","src":"108858:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"108864:2:19","nodeType":"YulIdentifier","src":"108864:2:19"}],"functionName":{"name":"mstore","nativeSrc":"108851:6:19","nodeType":"YulIdentifier","src":"108851:6:19"},"nativeSrc":"108851:16:19","nodeType":"YulFunctionCall","src":"108851:16:19"},"nativeSrc":"108851:16:19","nodeType":"YulExpressionStatement","src":"108851:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108887:4:19","nodeType":"YulLiteral","src":"108887:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"108893:2:19","nodeType":"YulIdentifier","src":"108893:2:19"}],"functionName":{"name":"mstore","nativeSrc":"108880:6:19","nodeType":"YulIdentifier","src":"108880:6:19"},"nativeSrc":"108880:16:19","nodeType":"YulFunctionCall","src":"108880:16:19"},"nativeSrc":"108880:16:19","nodeType":"YulExpressionStatement","src":"108880:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108916:4:19","nodeType":"YulLiteral","src":"108916:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"108922:2:19","nodeType":"YulIdentifier","src":"108922:2:19"}],"functionName":{"name":"mstore","nativeSrc":"108909:6:19","nodeType":"YulIdentifier","src":"108909:6:19"},"nativeSrc":"108909:16:19","nodeType":"YulFunctionCall","src":"108909:16:19"},"nativeSrc":"108909:16:19","nodeType":"YulExpressionStatement","src":"108909:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108945:4:19","nodeType":"YulLiteral","src":"108945:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"108951:2:19","nodeType":"YulIdentifier","src":"108951:2:19"}],"functionName":{"name":"mstore","nativeSrc":"108938:6:19","nodeType":"YulIdentifier","src":"108938:6:19"},"nativeSrc":"108938:16:19","nodeType":"YulFunctionCall","src":"108938:16:19"},"nativeSrc":"108938:16:19","nodeType":"YulExpressionStatement","src":"108938:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"108974:4:19","nodeType":"YulLiteral","src":"108974:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"108980:2:19","nodeType":"YulIdentifier","src":"108980:2:19"}],"functionName":{"name":"mstore","nativeSrc":"108967:6:19","nodeType":"YulIdentifier","src":"108967:6:19"},"nativeSrc":"108967:16:19","nodeType":"YulFunctionCall","src":"108967:16:19"},"nativeSrc":"108967:16:19","nodeType":"YulExpressionStatement","src":"108967:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109003:5:19","nodeType":"YulLiteral","src":"109003:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"109010:2:19","nodeType":"YulIdentifier","src":"109010:2:19"}],"functionName":{"name":"mstore","nativeSrc":"108996:6:19","nodeType":"YulIdentifier","src":"108996:6:19"},"nativeSrc":"108996:17:19","nodeType":"YulFunctionCall","src":"108996:17:19"},"nativeSrc":"108996:17:19","nodeType":"YulExpressionStatement","src":"108996:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29676,"isOffset":false,"isSlot":false,"src":"108777:2:19","valueSize":1},{"declaration":29679,"isOffset":false,"isSlot":false,"src":"108806:2:19","valueSize":1},{"declaration":29682,"isOffset":false,"isSlot":false,"src":"108835:2:19","valueSize":1},{"declaration":29685,"isOffset":false,"isSlot":false,"src":"108864:2:19","valueSize":1},{"declaration":29688,"isOffset":false,"isSlot":false,"src":"108893:2:19","valueSize":1},{"declaration":29691,"isOffset":false,"isSlot":false,"src":"108922:2:19","valueSize":1},{"declaration":29694,"isOffset":false,"isSlot":false,"src":"108951:2:19","valueSize":1},{"declaration":29697,"isOffset":false,"isSlot":false,"src":"108980:2:19","valueSize":1},{"declaration":29700,"isOffset":false,"isSlot":false,"src":"109010:2:19","valueSize":1}],"id":29708,"nodeType":"InlineAssembly","src":"108741:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"107416:3:19","parameters":{"id":29673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29666,"mutability":"mutable","name":"p0","nameLocation":"107428:2:19","nodeType":"VariableDeclaration","scope":29710,"src":"107420:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29665,"name":"address","nodeType":"ElementaryTypeName","src":"107420:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29668,"mutability":"mutable","name":"p1","nameLocation":"107440:2:19","nodeType":"VariableDeclaration","scope":29710,"src":"107432:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29667,"name":"address","nodeType":"ElementaryTypeName","src":"107432:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29670,"mutability":"mutable","name":"p2","nameLocation":"107452:2:19","nodeType":"VariableDeclaration","scope":29710,"src":"107444:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29669,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107444:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29672,"mutability":"mutable","name":"p3","nameLocation":"107464:2:19","nodeType":"VariableDeclaration","scope":29710,"src":"107456:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29671,"name":"bytes32","nodeType":"ElementaryTypeName","src":"107456:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"107419:48:19"},"returnParameters":{"id":29674,"nodeType":"ParameterList","parameters":[],"src":"107482:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29744,"nodeType":"FunctionDefinition","src":"109035:872:19","nodes":[],"body":{"id":29743,"nodeType":"Block","src":"109107:800:19","nodes":[],"statements":[{"assignments":[29722],"declarations":[{"constant":false,"id":29722,"mutability":"mutable","name":"m0","nameLocation":"109125:2:19","nodeType":"VariableDeclaration","scope":29743,"src":"109117:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29721,"name":"bytes32","nodeType":"ElementaryTypeName","src":"109117:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29723,"nodeType":"VariableDeclarationStatement","src":"109117:10:19"},{"assignments":[29725],"declarations":[{"constant":false,"id":29725,"mutability":"mutable","name":"m1","nameLocation":"109145:2:19","nodeType":"VariableDeclaration","scope":29743,"src":"109137:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29724,"name":"bytes32","nodeType":"ElementaryTypeName","src":"109137:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29726,"nodeType":"VariableDeclarationStatement","src":"109137:10:19"},{"assignments":[29728],"declarations":[{"constant":false,"id":29728,"mutability":"mutable","name":"m2","nameLocation":"109165:2:19","nodeType":"VariableDeclaration","scope":29743,"src":"109157:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29727,"name":"bytes32","nodeType":"ElementaryTypeName","src":"109157:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29729,"nodeType":"VariableDeclarationStatement","src":"109157:10:19"},{"assignments":[29731],"declarations":[{"constant":false,"id":29731,"mutability":"mutable","name":"m3","nameLocation":"109185:2:19","nodeType":"VariableDeclaration","scope":29743,"src":"109177:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29730,"name":"bytes32","nodeType":"ElementaryTypeName","src":"109177:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29732,"nodeType":"VariableDeclarationStatement","src":"109177:10:19"},{"assignments":[29734],"declarations":[{"constant":false,"id":29734,"mutability":"mutable","name":"m4","nameLocation":"109205:2:19","nodeType":"VariableDeclaration","scope":29743,"src":"109197:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29733,"name":"bytes32","nodeType":"ElementaryTypeName","src":"109197:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29735,"nodeType":"VariableDeclarationStatement","src":"109197:10:19"},{"AST":{"nativeSrc":"109269:378:19","nodeType":"YulBlock","src":"109269:378:19","statements":[{"nativeSrc":"109283:17:19","nodeType":"YulAssignment","src":"109283:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"109295:4:19","nodeType":"YulLiteral","src":"109295:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"109289:5:19","nodeType":"YulIdentifier","src":"109289:5:19"},"nativeSrc":"109289:11:19","nodeType":"YulFunctionCall","src":"109289:11:19"},"variableNames":[{"name":"m0","nativeSrc":"109283:2:19","nodeType":"YulIdentifier","src":"109283:2:19"}]},{"nativeSrc":"109313:17:19","nodeType":"YulAssignment","src":"109313:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"109325:4:19","nodeType":"YulLiteral","src":"109325:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"109319:5:19","nodeType":"YulIdentifier","src":"109319:5:19"},"nativeSrc":"109319:11:19","nodeType":"YulFunctionCall","src":"109319:11:19"},"variableNames":[{"name":"m1","nativeSrc":"109313:2:19","nodeType":"YulIdentifier","src":"109313:2:19"}]},{"nativeSrc":"109343:17:19","nodeType":"YulAssignment","src":"109343:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"109355:4:19","nodeType":"YulLiteral","src":"109355:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"109349:5:19","nodeType":"YulIdentifier","src":"109349:5:19"},"nativeSrc":"109349:11:19","nodeType":"YulFunctionCall","src":"109349:11:19"},"variableNames":[{"name":"m2","nativeSrc":"109343:2:19","nodeType":"YulIdentifier","src":"109343:2:19"}]},{"nativeSrc":"109373:17:19","nodeType":"YulAssignment","src":"109373:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"109385:4:19","nodeType":"YulLiteral","src":"109385:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"109379:5:19","nodeType":"YulIdentifier","src":"109379:5:19"},"nativeSrc":"109379:11:19","nodeType":"YulFunctionCall","src":"109379:11:19"},"variableNames":[{"name":"m3","nativeSrc":"109373:2:19","nodeType":"YulIdentifier","src":"109373:2:19"}]},{"nativeSrc":"109403:17:19","nodeType":"YulAssignment","src":"109403:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"109415:4:19","nodeType":"YulLiteral","src":"109415:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"109409:5:19","nodeType":"YulIdentifier","src":"109409:5:19"},"nativeSrc":"109409:11:19","nodeType":"YulFunctionCall","src":"109409:11:19"},"variableNames":[{"name":"m4","nativeSrc":"109403:2:19","nodeType":"YulIdentifier","src":"109403:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109504:4:19","nodeType":"YulLiteral","src":"109504:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"109510:10:19","nodeType":"YulLiteral","src":"109510:10:19","type":"","value":"0x660375dd"}],"functionName":{"name":"mstore","nativeSrc":"109497:6:19","nodeType":"YulIdentifier","src":"109497:6:19"},"nativeSrc":"109497:24:19","nodeType":"YulFunctionCall","src":"109497:24:19"},"nativeSrc":"109497:24:19","nodeType":"YulExpressionStatement","src":"109497:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109541:4:19","nodeType":"YulLiteral","src":"109541:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"109547:2:19","nodeType":"YulIdentifier","src":"109547:2:19"}],"functionName":{"name":"mstore","nativeSrc":"109534:6:19","nodeType":"YulIdentifier","src":"109534:6:19"},"nativeSrc":"109534:16:19","nodeType":"YulFunctionCall","src":"109534:16:19"},"nativeSrc":"109534:16:19","nodeType":"YulExpressionStatement","src":"109534:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109570:4:19","nodeType":"YulLiteral","src":"109570:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"109576:2:19","nodeType":"YulIdentifier","src":"109576:2:19"}],"functionName":{"name":"mstore","nativeSrc":"109563:6:19","nodeType":"YulIdentifier","src":"109563:6:19"},"nativeSrc":"109563:16:19","nodeType":"YulFunctionCall","src":"109563:16:19"},"nativeSrc":"109563:16:19","nodeType":"YulExpressionStatement","src":"109563:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109599:4:19","nodeType":"YulLiteral","src":"109599:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"109605:2:19","nodeType":"YulIdentifier","src":"109605:2:19"}],"functionName":{"name":"mstore","nativeSrc":"109592:6:19","nodeType":"YulIdentifier","src":"109592:6:19"},"nativeSrc":"109592:16:19","nodeType":"YulFunctionCall","src":"109592:16:19"},"nativeSrc":"109592:16:19","nodeType":"YulExpressionStatement","src":"109592:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109628:4:19","nodeType":"YulLiteral","src":"109628:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"109634:2:19","nodeType":"YulIdentifier","src":"109634:2:19"}],"functionName":{"name":"mstore","nativeSrc":"109621:6:19","nodeType":"YulIdentifier","src":"109621:6:19"},"nativeSrc":"109621:16:19","nodeType":"YulFunctionCall","src":"109621:16:19"},"nativeSrc":"109621:16:19","nodeType":"YulExpressionStatement","src":"109621:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29722,"isOffset":false,"isSlot":false,"src":"109283:2:19","valueSize":1},{"declaration":29725,"isOffset":false,"isSlot":false,"src":"109313:2:19","valueSize":1},{"declaration":29728,"isOffset":false,"isSlot":false,"src":"109343:2:19","valueSize":1},{"declaration":29731,"isOffset":false,"isSlot":false,"src":"109373:2:19","valueSize":1},{"declaration":29734,"isOffset":false,"isSlot":false,"src":"109403:2:19","valueSize":1},{"declaration":29712,"isOffset":false,"isSlot":false,"src":"109547:2:19","valueSize":1},{"declaration":29714,"isOffset":false,"isSlot":false,"src":"109576:2:19","valueSize":1},{"declaration":29716,"isOffset":false,"isSlot":false,"src":"109605:2:19","valueSize":1},{"declaration":29718,"isOffset":false,"isSlot":false,"src":"109634:2:19","valueSize":1}],"id":29736,"nodeType":"InlineAssembly","src":"109260:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"109672:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":29739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"109678:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":29737,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"109656:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"109656:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29741,"nodeType":"ExpressionStatement","src":"109656:27:19"},{"AST":{"nativeSrc":"109745:156:19","nodeType":"YulBlock","src":"109745:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"109766:4:19","nodeType":"YulLiteral","src":"109766:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"109772:2:19","nodeType":"YulIdentifier","src":"109772:2:19"}],"functionName":{"name":"mstore","nativeSrc":"109759:6:19","nodeType":"YulIdentifier","src":"109759:6:19"},"nativeSrc":"109759:16:19","nodeType":"YulFunctionCall","src":"109759:16:19"},"nativeSrc":"109759:16:19","nodeType":"YulExpressionStatement","src":"109759:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109795:4:19","nodeType":"YulLiteral","src":"109795:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"109801:2:19","nodeType":"YulIdentifier","src":"109801:2:19"}],"functionName":{"name":"mstore","nativeSrc":"109788:6:19","nodeType":"YulIdentifier","src":"109788:6:19"},"nativeSrc":"109788:16:19","nodeType":"YulFunctionCall","src":"109788:16:19"},"nativeSrc":"109788:16:19","nodeType":"YulExpressionStatement","src":"109788:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109824:4:19","nodeType":"YulLiteral","src":"109824:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"109830:2:19","nodeType":"YulIdentifier","src":"109830:2:19"}],"functionName":{"name":"mstore","nativeSrc":"109817:6:19","nodeType":"YulIdentifier","src":"109817:6:19"},"nativeSrc":"109817:16:19","nodeType":"YulFunctionCall","src":"109817:16:19"},"nativeSrc":"109817:16:19","nodeType":"YulExpressionStatement","src":"109817:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109853:4:19","nodeType":"YulLiteral","src":"109853:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"109859:2:19","nodeType":"YulIdentifier","src":"109859:2:19"}],"functionName":{"name":"mstore","nativeSrc":"109846:6:19","nodeType":"YulIdentifier","src":"109846:6:19"},"nativeSrc":"109846:16:19","nodeType":"YulFunctionCall","src":"109846:16:19"},"nativeSrc":"109846:16:19","nodeType":"YulExpressionStatement","src":"109846:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"109882:4:19","nodeType":"YulLiteral","src":"109882:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"109888:2:19","nodeType":"YulIdentifier","src":"109888:2:19"}],"functionName":{"name":"mstore","nativeSrc":"109875:6:19","nodeType":"YulIdentifier","src":"109875:6:19"},"nativeSrc":"109875:16:19","nodeType":"YulFunctionCall","src":"109875:16:19"},"nativeSrc":"109875:16:19","nodeType":"YulExpressionStatement","src":"109875:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29722,"isOffset":false,"isSlot":false,"src":"109772:2:19","valueSize":1},{"declaration":29725,"isOffset":false,"isSlot":false,"src":"109801:2:19","valueSize":1},{"declaration":29728,"isOffset":false,"isSlot":false,"src":"109830:2:19","valueSize":1},{"declaration":29731,"isOffset":false,"isSlot":false,"src":"109859:2:19","valueSize":1},{"declaration":29734,"isOffset":false,"isSlot":false,"src":"109888:2:19","valueSize":1}],"id":29742,"nodeType":"InlineAssembly","src":"109736:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"109044:3:19","parameters":{"id":29719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29712,"mutability":"mutable","name":"p0","nameLocation":"109056:2:19","nodeType":"VariableDeclaration","scope":29744,"src":"109048:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29711,"name":"address","nodeType":"ElementaryTypeName","src":"109048:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29714,"mutability":"mutable","name":"p1","nameLocation":"109065:2:19","nodeType":"VariableDeclaration","scope":29744,"src":"109060:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29713,"name":"bool","nodeType":"ElementaryTypeName","src":"109060:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29716,"mutability":"mutable","name":"p2","nameLocation":"109077:2:19","nodeType":"VariableDeclaration","scope":29744,"src":"109069:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29715,"name":"address","nodeType":"ElementaryTypeName","src":"109069:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29718,"mutability":"mutable","name":"p3","nameLocation":"109089:2:19","nodeType":"VariableDeclaration","scope":29744,"src":"109081:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29717,"name":"address","nodeType":"ElementaryTypeName","src":"109081:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"109047:45:19"},"returnParameters":{"id":29720,"nodeType":"ParameterList","parameters":[],"src":"109107:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29778,"nodeType":"FunctionDefinition","src":"109913:866:19","nodes":[],"body":{"id":29777,"nodeType":"Block","src":"109982:797:19","nodes":[],"statements":[{"assignments":[29756],"declarations":[{"constant":false,"id":29756,"mutability":"mutable","name":"m0","nameLocation":"110000:2:19","nodeType":"VariableDeclaration","scope":29777,"src":"109992:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29755,"name":"bytes32","nodeType":"ElementaryTypeName","src":"109992:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29757,"nodeType":"VariableDeclarationStatement","src":"109992:10:19"},{"assignments":[29759],"declarations":[{"constant":false,"id":29759,"mutability":"mutable","name":"m1","nameLocation":"110020:2:19","nodeType":"VariableDeclaration","scope":29777,"src":"110012:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29758,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110012:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29760,"nodeType":"VariableDeclarationStatement","src":"110012:10:19"},{"assignments":[29762],"declarations":[{"constant":false,"id":29762,"mutability":"mutable","name":"m2","nameLocation":"110040:2:19","nodeType":"VariableDeclaration","scope":29777,"src":"110032:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29761,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110032:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29763,"nodeType":"VariableDeclarationStatement","src":"110032:10:19"},{"assignments":[29765],"declarations":[{"constant":false,"id":29765,"mutability":"mutable","name":"m3","nameLocation":"110060:2:19","nodeType":"VariableDeclaration","scope":29777,"src":"110052:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29764,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110052:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29766,"nodeType":"VariableDeclarationStatement","src":"110052:10:19"},{"assignments":[29768],"declarations":[{"constant":false,"id":29768,"mutability":"mutable","name":"m4","nameLocation":"110080:2:19","nodeType":"VariableDeclaration","scope":29777,"src":"110072:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29767,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110072:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29769,"nodeType":"VariableDeclarationStatement","src":"110072:10:19"},{"AST":{"nativeSrc":"110144:375:19","nodeType":"YulBlock","src":"110144:375:19","statements":[{"nativeSrc":"110158:17:19","nodeType":"YulAssignment","src":"110158:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"110170:4:19","nodeType":"YulLiteral","src":"110170:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"110164:5:19","nodeType":"YulIdentifier","src":"110164:5:19"},"nativeSrc":"110164:11:19","nodeType":"YulFunctionCall","src":"110164:11:19"},"variableNames":[{"name":"m0","nativeSrc":"110158:2:19","nodeType":"YulIdentifier","src":"110158:2:19"}]},{"nativeSrc":"110188:17:19","nodeType":"YulAssignment","src":"110188:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"110200:4:19","nodeType":"YulLiteral","src":"110200:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"110194:5:19","nodeType":"YulIdentifier","src":"110194:5:19"},"nativeSrc":"110194:11:19","nodeType":"YulFunctionCall","src":"110194:11:19"},"variableNames":[{"name":"m1","nativeSrc":"110188:2:19","nodeType":"YulIdentifier","src":"110188:2:19"}]},{"nativeSrc":"110218:17:19","nodeType":"YulAssignment","src":"110218:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"110230:4:19","nodeType":"YulLiteral","src":"110230:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"110224:5:19","nodeType":"YulIdentifier","src":"110224:5:19"},"nativeSrc":"110224:11:19","nodeType":"YulFunctionCall","src":"110224:11:19"},"variableNames":[{"name":"m2","nativeSrc":"110218:2:19","nodeType":"YulIdentifier","src":"110218:2:19"}]},{"nativeSrc":"110248:17:19","nodeType":"YulAssignment","src":"110248:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"110260:4:19","nodeType":"YulLiteral","src":"110260:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"110254:5:19","nodeType":"YulIdentifier","src":"110254:5:19"},"nativeSrc":"110254:11:19","nodeType":"YulFunctionCall","src":"110254:11:19"},"variableNames":[{"name":"m3","nativeSrc":"110248:2:19","nodeType":"YulIdentifier","src":"110248:2:19"}]},{"nativeSrc":"110278:17:19","nodeType":"YulAssignment","src":"110278:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"110290:4:19","nodeType":"YulLiteral","src":"110290:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"110284:5:19","nodeType":"YulIdentifier","src":"110284:5:19"},"nativeSrc":"110284:11:19","nodeType":"YulFunctionCall","src":"110284:11:19"},"variableNames":[{"name":"m4","nativeSrc":"110278:2:19","nodeType":"YulIdentifier","src":"110278:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110376:4:19","nodeType":"YulLiteral","src":"110376:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"110382:10:19","nodeType":"YulLiteral","src":"110382:10:19","type":"","value":"0xa6f50b0f"}],"functionName":{"name":"mstore","nativeSrc":"110369:6:19","nodeType":"YulIdentifier","src":"110369:6:19"},"nativeSrc":"110369:24:19","nodeType":"YulFunctionCall","src":"110369:24:19"},"nativeSrc":"110369:24:19","nodeType":"YulExpressionStatement","src":"110369:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110413:4:19","nodeType":"YulLiteral","src":"110413:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"110419:2:19","nodeType":"YulIdentifier","src":"110419:2:19"}],"functionName":{"name":"mstore","nativeSrc":"110406:6:19","nodeType":"YulIdentifier","src":"110406:6:19"},"nativeSrc":"110406:16:19","nodeType":"YulFunctionCall","src":"110406:16:19"},"nativeSrc":"110406:16:19","nodeType":"YulExpressionStatement","src":"110406:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110442:4:19","nodeType":"YulLiteral","src":"110442:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"110448:2:19","nodeType":"YulIdentifier","src":"110448:2:19"}],"functionName":{"name":"mstore","nativeSrc":"110435:6:19","nodeType":"YulIdentifier","src":"110435:6:19"},"nativeSrc":"110435:16:19","nodeType":"YulFunctionCall","src":"110435:16:19"},"nativeSrc":"110435:16:19","nodeType":"YulExpressionStatement","src":"110435:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110471:4:19","nodeType":"YulLiteral","src":"110471:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"110477:2:19","nodeType":"YulIdentifier","src":"110477:2:19"}],"functionName":{"name":"mstore","nativeSrc":"110464:6:19","nodeType":"YulIdentifier","src":"110464:6:19"},"nativeSrc":"110464:16:19","nodeType":"YulFunctionCall","src":"110464:16:19"},"nativeSrc":"110464:16:19","nodeType":"YulExpressionStatement","src":"110464:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110500:4:19","nodeType":"YulLiteral","src":"110500:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"110506:2:19","nodeType":"YulIdentifier","src":"110506:2:19"}],"functionName":{"name":"mstore","nativeSrc":"110493:6:19","nodeType":"YulIdentifier","src":"110493:6:19"},"nativeSrc":"110493:16:19","nodeType":"YulFunctionCall","src":"110493:16:19"},"nativeSrc":"110493:16:19","nodeType":"YulExpressionStatement","src":"110493:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29756,"isOffset":false,"isSlot":false,"src":"110158:2:19","valueSize":1},{"declaration":29759,"isOffset":false,"isSlot":false,"src":"110188:2:19","valueSize":1},{"declaration":29762,"isOffset":false,"isSlot":false,"src":"110218:2:19","valueSize":1},{"declaration":29765,"isOffset":false,"isSlot":false,"src":"110248:2:19","valueSize":1},{"declaration":29768,"isOffset":false,"isSlot":false,"src":"110278:2:19","valueSize":1},{"declaration":29746,"isOffset":false,"isSlot":false,"src":"110419:2:19","valueSize":1},{"declaration":29748,"isOffset":false,"isSlot":false,"src":"110448:2:19","valueSize":1},{"declaration":29750,"isOffset":false,"isSlot":false,"src":"110477:2:19","valueSize":1},{"declaration":29752,"isOffset":false,"isSlot":false,"src":"110506:2:19","valueSize":1}],"id":29770,"nodeType":"InlineAssembly","src":"110135:384:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"110544:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":29773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"110550:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":29771,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"110528:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"110528:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29775,"nodeType":"ExpressionStatement","src":"110528:27:19"},{"AST":{"nativeSrc":"110617:156:19","nodeType":"YulBlock","src":"110617:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"110638:4:19","nodeType":"YulLiteral","src":"110638:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"110644:2:19","nodeType":"YulIdentifier","src":"110644:2:19"}],"functionName":{"name":"mstore","nativeSrc":"110631:6:19","nodeType":"YulIdentifier","src":"110631:6:19"},"nativeSrc":"110631:16:19","nodeType":"YulFunctionCall","src":"110631:16:19"},"nativeSrc":"110631:16:19","nodeType":"YulExpressionStatement","src":"110631:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110667:4:19","nodeType":"YulLiteral","src":"110667:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"110673:2:19","nodeType":"YulIdentifier","src":"110673:2:19"}],"functionName":{"name":"mstore","nativeSrc":"110660:6:19","nodeType":"YulIdentifier","src":"110660:6:19"},"nativeSrc":"110660:16:19","nodeType":"YulFunctionCall","src":"110660:16:19"},"nativeSrc":"110660:16:19","nodeType":"YulExpressionStatement","src":"110660:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110696:4:19","nodeType":"YulLiteral","src":"110696:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"110702:2:19","nodeType":"YulIdentifier","src":"110702:2:19"}],"functionName":{"name":"mstore","nativeSrc":"110689:6:19","nodeType":"YulIdentifier","src":"110689:6:19"},"nativeSrc":"110689:16:19","nodeType":"YulFunctionCall","src":"110689:16:19"},"nativeSrc":"110689:16:19","nodeType":"YulExpressionStatement","src":"110689:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110725:4:19","nodeType":"YulLiteral","src":"110725:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"110731:2:19","nodeType":"YulIdentifier","src":"110731:2:19"}],"functionName":{"name":"mstore","nativeSrc":"110718:6:19","nodeType":"YulIdentifier","src":"110718:6:19"},"nativeSrc":"110718:16:19","nodeType":"YulFunctionCall","src":"110718:16:19"},"nativeSrc":"110718:16:19","nodeType":"YulExpressionStatement","src":"110718:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"110754:4:19","nodeType":"YulLiteral","src":"110754:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"110760:2:19","nodeType":"YulIdentifier","src":"110760:2:19"}],"functionName":{"name":"mstore","nativeSrc":"110747:6:19","nodeType":"YulIdentifier","src":"110747:6:19"},"nativeSrc":"110747:16:19","nodeType":"YulFunctionCall","src":"110747:16:19"},"nativeSrc":"110747:16:19","nodeType":"YulExpressionStatement","src":"110747:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29756,"isOffset":false,"isSlot":false,"src":"110644:2:19","valueSize":1},{"declaration":29759,"isOffset":false,"isSlot":false,"src":"110673:2:19","valueSize":1},{"declaration":29762,"isOffset":false,"isSlot":false,"src":"110702:2:19","valueSize":1},{"declaration":29765,"isOffset":false,"isSlot":false,"src":"110731:2:19","valueSize":1},{"declaration":29768,"isOffset":false,"isSlot":false,"src":"110760:2:19","valueSize":1}],"id":29776,"nodeType":"InlineAssembly","src":"110608:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"109922:3:19","parameters":{"id":29753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29746,"mutability":"mutable","name":"p0","nameLocation":"109934:2:19","nodeType":"VariableDeclaration","scope":29778,"src":"109926:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29745,"name":"address","nodeType":"ElementaryTypeName","src":"109926:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29748,"mutability":"mutable","name":"p1","nameLocation":"109943:2:19","nodeType":"VariableDeclaration","scope":29778,"src":"109938:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29747,"name":"bool","nodeType":"ElementaryTypeName","src":"109938:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29750,"mutability":"mutable","name":"p2","nameLocation":"109955:2:19","nodeType":"VariableDeclaration","scope":29778,"src":"109947:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29749,"name":"address","nodeType":"ElementaryTypeName","src":"109947:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29752,"mutability":"mutable","name":"p3","nameLocation":"109964:2:19","nodeType":"VariableDeclaration","scope":29778,"src":"109959:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29751,"name":"bool","nodeType":"ElementaryTypeName","src":"109959:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"109925:42:19"},"returnParameters":{"id":29754,"nodeType":"ParameterList","parameters":[],"src":"109982:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29812,"nodeType":"FunctionDefinition","src":"110785:872:19","nodes":[],"body":{"id":29811,"nodeType":"Block","src":"110857:800:19","nodes":[],"statements":[{"assignments":[29790],"declarations":[{"constant":false,"id":29790,"mutability":"mutable","name":"m0","nameLocation":"110875:2:19","nodeType":"VariableDeclaration","scope":29811,"src":"110867:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29789,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110867:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29791,"nodeType":"VariableDeclarationStatement","src":"110867:10:19"},{"assignments":[29793],"declarations":[{"constant":false,"id":29793,"mutability":"mutable","name":"m1","nameLocation":"110895:2:19","nodeType":"VariableDeclaration","scope":29811,"src":"110887:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29792,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110887:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29794,"nodeType":"VariableDeclarationStatement","src":"110887:10:19"},{"assignments":[29796],"declarations":[{"constant":false,"id":29796,"mutability":"mutable","name":"m2","nameLocation":"110915:2:19","nodeType":"VariableDeclaration","scope":29811,"src":"110907:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29795,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110907:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29797,"nodeType":"VariableDeclarationStatement","src":"110907:10:19"},{"assignments":[29799],"declarations":[{"constant":false,"id":29799,"mutability":"mutable","name":"m3","nameLocation":"110935:2:19","nodeType":"VariableDeclaration","scope":29811,"src":"110927:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29798,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110927:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29800,"nodeType":"VariableDeclarationStatement","src":"110927:10:19"},{"assignments":[29802],"declarations":[{"constant":false,"id":29802,"mutability":"mutable","name":"m4","nameLocation":"110955:2:19","nodeType":"VariableDeclaration","scope":29811,"src":"110947:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29801,"name":"bytes32","nodeType":"ElementaryTypeName","src":"110947:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29803,"nodeType":"VariableDeclarationStatement","src":"110947:10:19"},{"AST":{"nativeSrc":"111019:378:19","nodeType":"YulBlock","src":"111019:378:19","statements":[{"nativeSrc":"111033:17:19","nodeType":"YulAssignment","src":"111033:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"111045:4:19","nodeType":"YulLiteral","src":"111045:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"111039:5:19","nodeType":"YulIdentifier","src":"111039:5:19"},"nativeSrc":"111039:11:19","nodeType":"YulFunctionCall","src":"111039:11:19"},"variableNames":[{"name":"m0","nativeSrc":"111033:2:19","nodeType":"YulIdentifier","src":"111033:2:19"}]},{"nativeSrc":"111063:17:19","nodeType":"YulAssignment","src":"111063:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"111075:4:19","nodeType":"YulLiteral","src":"111075:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"111069:5:19","nodeType":"YulIdentifier","src":"111069:5:19"},"nativeSrc":"111069:11:19","nodeType":"YulFunctionCall","src":"111069:11:19"},"variableNames":[{"name":"m1","nativeSrc":"111063:2:19","nodeType":"YulIdentifier","src":"111063:2:19"}]},{"nativeSrc":"111093:17:19","nodeType":"YulAssignment","src":"111093:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"111105:4:19","nodeType":"YulLiteral","src":"111105:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"111099:5:19","nodeType":"YulIdentifier","src":"111099:5:19"},"nativeSrc":"111099:11:19","nodeType":"YulFunctionCall","src":"111099:11:19"},"variableNames":[{"name":"m2","nativeSrc":"111093:2:19","nodeType":"YulIdentifier","src":"111093:2:19"}]},{"nativeSrc":"111123:17:19","nodeType":"YulAssignment","src":"111123:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"111135:4:19","nodeType":"YulLiteral","src":"111135:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"111129:5:19","nodeType":"YulIdentifier","src":"111129:5:19"},"nativeSrc":"111129:11:19","nodeType":"YulFunctionCall","src":"111129:11:19"},"variableNames":[{"name":"m3","nativeSrc":"111123:2:19","nodeType":"YulIdentifier","src":"111123:2:19"}]},{"nativeSrc":"111153:17:19","nodeType":"YulAssignment","src":"111153:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"111165:4:19","nodeType":"YulLiteral","src":"111165:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"111159:5:19","nodeType":"YulIdentifier","src":"111159:5:19"},"nativeSrc":"111159:11:19","nodeType":"YulFunctionCall","src":"111159:11:19"},"variableNames":[{"name":"m4","nativeSrc":"111153:2:19","nodeType":"YulIdentifier","src":"111153:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111254:4:19","nodeType":"YulLiteral","src":"111254:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"111260:10:19","nodeType":"YulLiteral","src":"111260:10:19","type":"","value":"0xa75c59de"}],"functionName":{"name":"mstore","nativeSrc":"111247:6:19","nodeType":"YulIdentifier","src":"111247:6:19"},"nativeSrc":"111247:24:19","nodeType":"YulFunctionCall","src":"111247:24:19"},"nativeSrc":"111247:24:19","nodeType":"YulExpressionStatement","src":"111247:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111291:4:19","nodeType":"YulLiteral","src":"111291:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"111297:2:19","nodeType":"YulIdentifier","src":"111297:2:19"}],"functionName":{"name":"mstore","nativeSrc":"111284:6:19","nodeType":"YulIdentifier","src":"111284:6:19"},"nativeSrc":"111284:16:19","nodeType":"YulFunctionCall","src":"111284:16:19"},"nativeSrc":"111284:16:19","nodeType":"YulExpressionStatement","src":"111284:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111320:4:19","nodeType":"YulLiteral","src":"111320:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"111326:2:19","nodeType":"YulIdentifier","src":"111326:2:19"}],"functionName":{"name":"mstore","nativeSrc":"111313:6:19","nodeType":"YulIdentifier","src":"111313:6:19"},"nativeSrc":"111313:16:19","nodeType":"YulFunctionCall","src":"111313:16:19"},"nativeSrc":"111313:16:19","nodeType":"YulExpressionStatement","src":"111313:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111349:4:19","nodeType":"YulLiteral","src":"111349:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"111355:2:19","nodeType":"YulIdentifier","src":"111355:2:19"}],"functionName":{"name":"mstore","nativeSrc":"111342:6:19","nodeType":"YulIdentifier","src":"111342:6:19"},"nativeSrc":"111342:16:19","nodeType":"YulFunctionCall","src":"111342:16:19"},"nativeSrc":"111342:16:19","nodeType":"YulExpressionStatement","src":"111342:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111378:4:19","nodeType":"YulLiteral","src":"111378:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"111384:2:19","nodeType":"YulIdentifier","src":"111384:2:19"}],"functionName":{"name":"mstore","nativeSrc":"111371:6:19","nodeType":"YulIdentifier","src":"111371:6:19"},"nativeSrc":"111371:16:19","nodeType":"YulFunctionCall","src":"111371:16:19"},"nativeSrc":"111371:16:19","nodeType":"YulExpressionStatement","src":"111371:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29790,"isOffset":false,"isSlot":false,"src":"111033:2:19","valueSize":1},{"declaration":29793,"isOffset":false,"isSlot":false,"src":"111063:2:19","valueSize":1},{"declaration":29796,"isOffset":false,"isSlot":false,"src":"111093:2:19","valueSize":1},{"declaration":29799,"isOffset":false,"isSlot":false,"src":"111123:2:19","valueSize":1},{"declaration":29802,"isOffset":false,"isSlot":false,"src":"111153:2:19","valueSize":1},{"declaration":29780,"isOffset":false,"isSlot":false,"src":"111297:2:19","valueSize":1},{"declaration":29782,"isOffset":false,"isSlot":false,"src":"111326:2:19","valueSize":1},{"declaration":29784,"isOffset":false,"isSlot":false,"src":"111355:2:19","valueSize":1},{"declaration":29786,"isOffset":false,"isSlot":false,"src":"111384:2:19","valueSize":1}],"id":29804,"nodeType":"InlineAssembly","src":"111010:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"111422:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":29807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"111428:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":29805,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"111406:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"111406:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29809,"nodeType":"ExpressionStatement","src":"111406:27:19"},{"AST":{"nativeSrc":"111495:156:19","nodeType":"YulBlock","src":"111495:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"111516:4:19","nodeType":"YulLiteral","src":"111516:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"111522:2:19","nodeType":"YulIdentifier","src":"111522:2:19"}],"functionName":{"name":"mstore","nativeSrc":"111509:6:19","nodeType":"YulIdentifier","src":"111509:6:19"},"nativeSrc":"111509:16:19","nodeType":"YulFunctionCall","src":"111509:16:19"},"nativeSrc":"111509:16:19","nodeType":"YulExpressionStatement","src":"111509:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111545:4:19","nodeType":"YulLiteral","src":"111545:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"111551:2:19","nodeType":"YulIdentifier","src":"111551:2:19"}],"functionName":{"name":"mstore","nativeSrc":"111538:6:19","nodeType":"YulIdentifier","src":"111538:6:19"},"nativeSrc":"111538:16:19","nodeType":"YulFunctionCall","src":"111538:16:19"},"nativeSrc":"111538:16:19","nodeType":"YulExpressionStatement","src":"111538:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111574:4:19","nodeType":"YulLiteral","src":"111574:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"111580:2:19","nodeType":"YulIdentifier","src":"111580:2:19"}],"functionName":{"name":"mstore","nativeSrc":"111567:6:19","nodeType":"YulIdentifier","src":"111567:6:19"},"nativeSrc":"111567:16:19","nodeType":"YulFunctionCall","src":"111567:16:19"},"nativeSrc":"111567:16:19","nodeType":"YulExpressionStatement","src":"111567:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111603:4:19","nodeType":"YulLiteral","src":"111603:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"111609:2:19","nodeType":"YulIdentifier","src":"111609:2:19"}],"functionName":{"name":"mstore","nativeSrc":"111596:6:19","nodeType":"YulIdentifier","src":"111596:6:19"},"nativeSrc":"111596:16:19","nodeType":"YulFunctionCall","src":"111596:16:19"},"nativeSrc":"111596:16:19","nodeType":"YulExpressionStatement","src":"111596:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"111632:4:19","nodeType":"YulLiteral","src":"111632:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"111638:2:19","nodeType":"YulIdentifier","src":"111638:2:19"}],"functionName":{"name":"mstore","nativeSrc":"111625:6:19","nodeType":"YulIdentifier","src":"111625:6:19"},"nativeSrc":"111625:16:19","nodeType":"YulFunctionCall","src":"111625:16:19"},"nativeSrc":"111625:16:19","nodeType":"YulExpressionStatement","src":"111625:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29790,"isOffset":false,"isSlot":false,"src":"111522:2:19","valueSize":1},{"declaration":29793,"isOffset":false,"isSlot":false,"src":"111551:2:19","valueSize":1},{"declaration":29796,"isOffset":false,"isSlot":false,"src":"111580:2:19","valueSize":1},{"declaration":29799,"isOffset":false,"isSlot":false,"src":"111609:2:19","valueSize":1},{"declaration":29802,"isOffset":false,"isSlot":false,"src":"111638:2:19","valueSize":1}],"id":29810,"nodeType":"InlineAssembly","src":"111486:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"110794:3:19","parameters":{"id":29787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29780,"mutability":"mutable","name":"p0","nameLocation":"110806:2:19","nodeType":"VariableDeclaration","scope":29812,"src":"110798:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29779,"name":"address","nodeType":"ElementaryTypeName","src":"110798:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29782,"mutability":"mutable","name":"p1","nameLocation":"110815:2:19","nodeType":"VariableDeclaration","scope":29812,"src":"110810:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29781,"name":"bool","nodeType":"ElementaryTypeName","src":"110810:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29784,"mutability":"mutable","name":"p2","nameLocation":"110827:2:19","nodeType":"VariableDeclaration","scope":29812,"src":"110819:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29783,"name":"address","nodeType":"ElementaryTypeName","src":"110819:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29786,"mutability":"mutable","name":"p3","nameLocation":"110839:2:19","nodeType":"VariableDeclaration","scope":29812,"src":"110831:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29785,"name":"uint256","nodeType":"ElementaryTypeName","src":"110831:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"110797:45:19"},"returnParameters":{"id":29788,"nodeType":"ParameterList","parameters":[],"src":"110857:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29852,"nodeType":"FunctionDefinition","src":"111663:1420:19","nodes":[],"body":{"id":29851,"nodeType":"Block","src":"111735:1348:19","nodes":[],"statements":[{"assignments":[29824],"declarations":[{"constant":false,"id":29824,"mutability":"mutable","name":"m0","nameLocation":"111753:2:19","nodeType":"VariableDeclaration","scope":29851,"src":"111745:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29823,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111745:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29825,"nodeType":"VariableDeclarationStatement","src":"111745:10:19"},{"assignments":[29827],"declarations":[{"constant":false,"id":29827,"mutability":"mutable","name":"m1","nameLocation":"111773:2:19","nodeType":"VariableDeclaration","scope":29851,"src":"111765:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29826,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111765:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29828,"nodeType":"VariableDeclarationStatement","src":"111765:10:19"},{"assignments":[29830],"declarations":[{"constant":false,"id":29830,"mutability":"mutable","name":"m2","nameLocation":"111793:2:19","nodeType":"VariableDeclaration","scope":29851,"src":"111785:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29829,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111785:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29831,"nodeType":"VariableDeclarationStatement","src":"111785:10:19"},{"assignments":[29833],"declarations":[{"constant":false,"id":29833,"mutability":"mutable","name":"m3","nameLocation":"111813:2:19","nodeType":"VariableDeclaration","scope":29851,"src":"111805:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29832,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111805:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29834,"nodeType":"VariableDeclarationStatement","src":"111805:10:19"},{"assignments":[29836],"declarations":[{"constant":false,"id":29836,"mutability":"mutable","name":"m4","nameLocation":"111833:2:19","nodeType":"VariableDeclaration","scope":29851,"src":"111825:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29835,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111825:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29837,"nodeType":"VariableDeclarationStatement","src":"111825:10:19"},{"assignments":[29839],"declarations":[{"constant":false,"id":29839,"mutability":"mutable","name":"m5","nameLocation":"111853:2:19","nodeType":"VariableDeclaration","scope":29851,"src":"111845:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29838,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111845:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29840,"nodeType":"VariableDeclarationStatement","src":"111845:10:19"},{"assignments":[29842],"declarations":[{"constant":false,"id":29842,"mutability":"mutable","name":"m6","nameLocation":"111873:2:19","nodeType":"VariableDeclaration","scope":29851,"src":"111865:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29841,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111865:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29843,"nodeType":"VariableDeclarationStatement","src":"111865:10:19"},{"AST":{"nativeSrc":"111937:828:19","nodeType":"YulBlock","src":"111937:828:19","statements":[{"body":{"nativeSrc":"111980:313:19","nodeType":"YulBlock","src":"111980:313:19","statements":[{"nativeSrc":"111998:15:19","nodeType":"YulVariableDeclaration","src":"111998:15:19","value":{"kind":"number","nativeSrc":"112012:1:19","nodeType":"YulLiteral","src":"112012:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"112002:6:19","nodeType":"YulTypedName","src":"112002:6:19","type":""}]},{"body":{"nativeSrc":"112083:40:19","nodeType":"YulBlock","src":"112083:40:19","statements":[{"body":{"nativeSrc":"112112:9:19","nodeType":"YulBlock","src":"112112:9:19","statements":[{"nativeSrc":"112114:5:19","nodeType":"YulBreak","src":"112114:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"112100:6:19","nodeType":"YulIdentifier","src":"112100:6:19"},{"name":"w","nativeSrc":"112108:1:19","nodeType":"YulIdentifier","src":"112108:1:19"}],"functionName":{"name":"byte","nativeSrc":"112095:4:19","nodeType":"YulIdentifier","src":"112095:4:19"},"nativeSrc":"112095:15:19","nodeType":"YulFunctionCall","src":"112095:15:19"}],"functionName":{"name":"iszero","nativeSrc":"112088:6:19","nodeType":"YulIdentifier","src":"112088:6:19"},"nativeSrc":"112088:23:19","nodeType":"YulFunctionCall","src":"112088:23:19"},"nativeSrc":"112085:36:19","nodeType":"YulIf","src":"112085:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"112040:6:19","nodeType":"YulIdentifier","src":"112040:6:19"},{"kind":"number","nativeSrc":"112048:4:19","nodeType":"YulLiteral","src":"112048:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"112037:2:19","nodeType":"YulIdentifier","src":"112037:2:19"},"nativeSrc":"112037:16:19","nodeType":"YulFunctionCall","src":"112037:16:19"},"nativeSrc":"112030:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"112054:28:19","nodeType":"YulBlock","src":"112054:28:19","statements":[{"nativeSrc":"112056:24:19","nodeType":"YulAssignment","src":"112056:24:19","value":{"arguments":[{"name":"length","nativeSrc":"112070:6:19","nodeType":"YulIdentifier","src":"112070:6:19"},{"kind":"number","nativeSrc":"112078:1:19","nodeType":"YulLiteral","src":"112078:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"112066:3:19","nodeType":"YulIdentifier","src":"112066:3:19"},"nativeSrc":"112066:14:19","nodeType":"YulFunctionCall","src":"112066:14:19"},"variableNames":[{"name":"length","nativeSrc":"112056:6:19","nodeType":"YulIdentifier","src":"112056:6:19"}]}]},"pre":{"nativeSrc":"112034:2:19","nodeType":"YulBlock","src":"112034:2:19","statements":[]},"src":"112030:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"112147:3:19","nodeType":"YulIdentifier","src":"112147:3:19"},{"name":"length","nativeSrc":"112152:6:19","nodeType":"YulIdentifier","src":"112152:6:19"}],"functionName":{"name":"mstore","nativeSrc":"112140:6:19","nodeType":"YulIdentifier","src":"112140:6:19"},"nativeSrc":"112140:19:19","nodeType":"YulFunctionCall","src":"112140:19:19"},"nativeSrc":"112140:19:19","nodeType":"YulExpressionStatement","src":"112140:19:19"},{"nativeSrc":"112176:37:19","nodeType":"YulVariableDeclaration","src":"112176:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"112193:3:19","nodeType":"YulLiteral","src":"112193:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"112202:1:19","nodeType":"YulLiteral","src":"112202:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"112205:6:19","nodeType":"YulIdentifier","src":"112205:6:19"}],"functionName":{"name":"shl","nativeSrc":"112198:3:19","nodeType":"YulIdentifier","src":"112198:3:19"},"nativeSrc":"112198:14:19","nodeType":"YulFunctionCall","src":"112198:14:19"}],"functionName":{"name":"sub","nativeSrc":"112189:3:19","nodeType":"YulIdentifier","src":"112189:3:19"},"nativeSrc":"112189:24:19","nodeType":"YulFunctionCall","src":"112189:24:19"},"variables":[{"name":"shift","nativeSrc":"112180:5:19","nodeType":"YulTypedName","src":"112180:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"112241:3:19","nodeType":"YulIdentifier","src":"112241:3:19"},{"kind":"number","nativeSrc":"112246:4:19","nodeType":"YulLiteral","src":"112246:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"112237:3:19","nodeType":"YulIdentifier","src":"112237:3:19"},"nativeSrc":"112237:14:19","nodeType":"YulFunctionCall","src":"112237:14:19"},{"arguments":[{"name":"shift","nativeSrc":"112257:5:19","nodeType":"YulIdentifier","src":"112257:5:19"},{"arguments":[{"name":"shift","nativeSrc":"112268:5:19","nodeType":"YulIdentifier","src":"112268:5:19"},{"name":"w","nativeSrc":"112275:1:19","nodeType":"YulIdentifier","src":"112275:1:19"}],"functionName":{"name":"shr","nativeSrc":"112264:3:19","nodeType":"YulIdentifier","src":"112264:3:19"},"nativeSrc":"112264:13:19","nodeType":"YulFunctionCall","src":"112264:13:19"}],"functionName":{"name":"shl","nativeSrc":"112253:3:19","nodeType":"YulIdentifier","src":"112253:3:19"},"nativeSrc":"112253:25:19","nodeType":"YulFunctionCall","src":"112253:25:19"}],"functionName":{"name":"mstore","nativeSrc":"112230:6:19","nodeType":"YulIdentifier","src":"112230:6:19"},"nativeSrc":"112230:49:19","nodeType":"YulFunctionCall","src":"112230:49:19"},"nativeSrc":"112230:49:19","nodeType":"YulExpressionStatement","src":"112230:49:19"}]},"name":"writeString","nativeSrc":"111951:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"111972:3:19","nodeType":"YulTypedName","src":"111972:3:19","type":""},{"name":"w","nativeSrc":"111977:1:19","nodeType":"YulTypedName","src":"111977:1:19","type":""}],"src":"111951:342:19"},{"nativeSrc":"112306:17:19","nodeType":"YulAssignment","src":"112306:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"112318:4:19","nodeType":"YulLiteral","src":"112318:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"112312:5:19","nodeType":"YulIdentifier","src":"112312:5:19"},"nativeSrc":"112312:11:19","nodeType":"YulFunctionCall","src":"112312:11:19"},"variableNames":[{"name":"m0","nativeSrc":"112306:2:19","nodeType":"YulIdentifier","src":"112306:2:19"}]},{"nativeSrc":"112336:17:19","nodeType":"YulAssignment","src":"112336:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"112348:4:19","nodeType":"YulLiteral","src":"112348:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"112342:5:19","nodeType":"YulIdentifier","src":"112342:5:19"},"nativeSrc":"112342:11:19","nodeType":"YulFunctionCall","src":"112342:11:19"},"variableNames":[{"name":"m1","nativeSrc":"112336:2:19","nodeType":"YulIdentifier","src":"112336:2:19"}]},{"nativeSrc":"112366:17:19","nodeType":"YulAssignment","src":"112366:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"112378:4:19","nodeType":"YulLiteral","src":"112378:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"112372:5:19","nodeType":"YulIdentifier","src":"112372:5:19"},"nativeSrc":"112372:11:19","nodeType":"YulFunctionCall","src":"112372:11:19"},"variableNames":[{"name":"m2","nativeSrc":"112366:2:19","nodeType":"YulIdentifier","src":"112366:2:19"}]},{"nativeSrc":"112396:17:19","nodeType":"YulAssignment","src":"112396:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"112408:4:19","nodeType":"YulLiteral","src":"112408:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"112402:5:19","nodeType":"YulIdentifier","src":"112402:5:19"},"nativeSrc":"112402:11:19","nodeType":"YulFunctionCall","src":"112402:11:19"},"variableNames":[{"name":"m3","nativeSrc":"112396:2:19","nodeType":"YulIdentifier","src":"112396:2:19"}]},{"nativeSrc":"112426:17:19","nodeType":"YulAssignment","src":"112426:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"112438:4:19","nodeType":"YulLiteral","src":"112438:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"112432:5:19","nodeType":"YulIdentifier","src":"112432:5:19"},"nativeSrc":"112432:11:19","nodeType":"YulFunctionCall","src":"112432:11:19"},"variableNames":[{"name":"m4","nativeSrc":"112426:2:19","nodeType":"YulIdentifier","src":"112426:2:19"}]},{"nativeSrc":"112456:17:19","nodeType":"YulAssignment","src":"112456:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"112468:4:19","nodeType":"YulLiteral","src":"112468:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"112462:5:19","nodeType":"YulIdentifier","src":"112462:5:19"},"nativeSrc":"112462:11:19","nodeType":"YulFunctionCall","src":"112462:11:19"},"variableNames":[{"name":"m5","nativeSrc":"112456:2:19","nodeType":"YulIdentifier","src":"112456:2:19"}]},{"nativeSrc":"112486:17:19","nodeType":"YulAssignment","src":"112486:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"112498:4:19","nodeType":"YulLiteral","src":"112498:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"112492:5:19","nodeType":"YulIdentifier","src":"112492:5:19"},"nativeSrc":"112492:11:19","nodeType":"YulFunctionCall","src":"112492:11:19"},"variableNames":[{"name":"m6","nativeSrc":"112486:2:19","nodeType":"YulIdentifier","src":"112486:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112586:4:19","nodeType":"YulLiteral","src":"112586:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"112592:10:19","nodeType":"YulLiteral","src":"112592:10:19","type":"","value":"0x2dd778e6"}],"functionName":{"name":"mstore","nativeSrc":"112579:6:19","nodeType":"YulIdentifier","src":"112579:6:19"},"nativeSrc":"112579:24:19","nodeType":"YulFunctionCall","src":"112579:24:19"},"nativeSrc":"112579:24:19","nodeType":"YulExpressionStatement","src":"112579:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112623:4:19","nodeType":"YulLiteral","src":"112623:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"112629:2:19","nodeType":"YulIdentifier","src":"112629:2:19"}],"functionName":{"name":"mstore","nativeSrc":"112616:6:19","nodeType":"YulIdentifier","src":"112616:6:19"},"nativeSrc":"112616:16:19","nodeType":"YulFunctionCall","src":"112616:16:19"},"nativeSrc":"112616:16:19","nodeType":"YulExpressionStatement","src":"112616:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112652:4:19","nodeType":"YulLiteral","src":"112652:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"112658:2:19","nodeType":"YulIdentifier","src":"112658:2:19"}],"functionName":{"name":"mstore","nativeSrc":"112645:6:19","nodeType":"YulIdentifier","src":"112645:6:19"},"nativeSrc":"112645:16:19","nodeType":"YulFunctionCall","src":"112645:16:19"},"nativeSrc":"112645:16:19","nodeType":"YulExpressionStatement","src":"112645:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112681:4:19","nodeType":"YulLiteral","src":"112681:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"112687:2:19","nodeType":"YulIdentifier","src":"112687:2:19"}],"functionName":{"name":"mstore","nativeSrc":"112674:6:19","nodeType":"YulIdentifier","src":"112674:6:19"},"nativeSrc":"112674:16:19","nodeType":"YulFunctionCall","src":"112674:16:19"},"nativeSrc":"112674:16:19","nodeType":"YulExpressionStatement","src":"112674:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112710:4:19","nodeType":"YulLiteral","src":"112710:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"112716:4:19","nodeType":"YulLiteral","src":"112716:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"112703:6:19","nodeType":"YulIdentifier","src":"112703:6:19"},"nativeSrc":"112703:18:19","nodeType":"YulFunctionCall","src":"112703:18:19"},"nativeSrc":"112703:18:19","nodeType":"YulExpressionStatement","src":"112703:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112746:4:19","nodeType":"YulLiteral","src":"112746:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"112752:2:19","nodeType":"YulIdentifier","src":"112752:2:19"}],"functionName":{"name":"writeString","nativeSrc":"112734:11:19","nodeType":"YulIdentifier","src":"112734:11:19"},"nativeSrc":"112734:21:19","nodeType":"YulFunctionCall","src":"112734:21:19"},"nativeSrc":"112734:21:19","nodeType":"YulExpressionStatement","src":"112734:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29824,"isOffset":false,"isSlot":false,"src":"112306:2:19","valueSize":1},{"declaration":29827,"isOffset":false,"isSlot":false,"src":"112336:2:19","valueSize":1},{"declaration":29830,"isOffset":false,"isSlot":false,"src":"112366:2:19","valueSize":1},{"declaration":29833,"isOffset":false,"isSlot":false,"src":"112396:2:19","valueSize":1},{"declaration":29836,"isOffset":false,"isSlot":false,"src":"112426:2:19","valueSize":1},{"declaration":29839,"isOffset":false,"isSlot":false,"src":"112456:2:19","valueSize":1},{"declaration":29842,"isOffset":false,"isSlot":false,"src":"112486:2:19","valueSize":1},{"declaration":29814,"isOffset":false,"isSlot":false,"src":"112629:2:19","valueSize":1},{"declaration":29816,"isOffset":false,"isSlot":false,"src":"112658:2:19","valueSize":1},{"declaration":29818,"isOffset":false,"isSlot":false,"src":"112687:2:19","valueSize":1},{"declaration":29820,"isOffset":false,"isSlot":false,"src":"112752:2:19","valueSize":1}],"id":29844,"nodeType":"InlineAssembly","src":"111928:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"112790:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":29847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"112796:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":29845,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"112774:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"112774:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29849,"nodeType":"ExpressionStatement","src":"112774:27:19"},{"AST":{"nativeSrc":"112863:214:19","nodeType":"YulBlock","src":"112863:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"112884:4:19","nodeType":"YulLiteral","src":"112884:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"112890:2:19","nodeType":"YulIdentifier","src":"112890:2:19"}],"functionName":{"name":"mstore","nativeSrc":"112877:6:19","nodeType":"YulIdentifier","src":"112877:6:19"},"nativeSrc":"112877:16:19","nodeType":"YulFunctionCall","src":"112877:16:19"},"nativeSrc":"112877:16:19","nodeType":"YulExpressionStatement","src":"112877:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112913:4:19","nodeType":"YulLiteral","src":"112913:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"112919:2:19","nodeType":"YulIdentifier","src":"112919:2:19"}],"functionName":{"name":"mstore","nativeSrc":"112906:6:19","nodeType":"YulIdentifier","src":"112906:6:19"},"nativeSrc":"112906:16:19","nodeType":"YulFunctionCall","src":"112906:16:19"},"nativeSrc":"112906:16:19","nodeType":"YulExpressionStatement","src":"112906:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112942:4:19","nodeType":"YulLiteral","src":"112942:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"112948:2:19","nodeType":"YulIdentifier","src":"112948:2:19"}],"functionName":{"name":"mstore","nativeSrc":"112935:6:19","nodeType":"YulIdentifier","src":"112935:6:19"},"nativeSrc":"112935:16:19","nodeType":"YulFunctionCall","src":"112935:16:19"},"nativeSrc":"112935:16:19","nodeType":"YulExpressionStatement","src":"112935:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"112971:4:19","nodeType":"YulLiteral","src":"112971:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"112977:2:19","nodeType":"YulIdentifier","src":"112977:2:19"}],"functionName":{"name":"mstore","nativeSrc":"112964:6:19","nodeType":"YulIdentifier","src":"112964:6:19"},"nativeSrc":"112964:16:19","nodeType":"YulFunctionCall","src":"112964:16:19"},"nativeSrc":"112964:16:19","nodeType":"YulExpressionStatement","src":"112964:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113000:4:19","nodeType":"YulLiteral","src":"113000:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"113006:2:19","nodeType":"YulIdentifier","src":"113006:2:19"}],"functionName":{"name":"mstore","nativeSrc":"112993:6:19","nodeType":"YulIdentifier","src":"112993:6:19"},"nativeSrc":"112993:16:19","nodeType":"YulFunctionCall","src":"112993:16:19"},"nativeSrc":"112993:16:19","nodeType":"YulExpressionStatement","src":"112993:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113029:4:19","nodeType":"YulLiteral","src":"113029:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"113035:2:19","nodeType":"YulIdentifier","src":"113035:2:19"}],"functionName":{"name":"mstore","nativeSrc":"113022:6:19","nodeType":"YulIdentifier","src":"113022:6:19"},"nativeSrc":"113022:16:19","nodeType":"YulFunctionCall","src":"113022:16:19"},"nativeSrc":"113022:16:19","nodeType":"YulExpressionStatement","src":"113022:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113058:4:19","nodeType":"YulLiteral","src":"113058:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"113064:2:19","nodeType":"YulIdentifier","src":"113064:2:19"}],"functionName":{"name":"mstore","nativeSrc":"113051:6:19","nodeType":"YulIdentifier","src":"113051:6:19"},"nativeSrc":"113051:16:19","nodeType":"YulFunctionCall","src":"113051:16:19"},"nativeSrc":"113051:16:19","nodeType":"YulExpressionStatement","src":"113051:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29824,"isOffset":false,"isSlot":false,"src":"112890:2:19","valueSize":1},{"declaration":29827,"isOffset":false,"isSlot":false,"src":"112919:2:19","valueSize":1},{"declaration":29830,"isOffset":false,"isSlot":false,"src":"112948:2:19","valueSize":1},{"declaration":29833,"isOffset":false,"isSlot":false,"src":"112977:2:19","valueSize":1},{"declaration":29836,"isOffset":false,"isSlot":false,"src":"113006:2:19","valueSize":1},{"declaration":29839,"isOffset":false,"isSlot":false,"src":"113035:2:19","valueSize":1},{"declaration":29842,"isOffset":false,"isSlot":false,"src":"113064:2:19","valueSize":1}],"id":29850,"nodeType":"InlineAssembly","src":"112854:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"111672:3:19","parameters":{"id":29821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29814,"mutability":"mutable","name":"p0","nameLocation":"111684:2:19","nodeType":"VariableDeclaration","scope":29852,"src":"111676:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29813,"name":"address","nodeType":"ElementaryTypeName","src":"111676:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29816,"mutability":"mutable","name":"p1","nameLocation":"111693:2:19","nodeType":"VariableDeclaration","scope":29852,"src":"111688:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29815,"name":"bool","nodeType":"ElementaryTypeName","src":"111688:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29818,"mutability":"mutable","name":"p2","nameLocation":"111705:2:19","nodeType":"VariableDeclaration","scope":29852,"src":"111697:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29817,"name":"address","nodeType":"ElementaryTypeName","src":"111697:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29820,"mutability":"mutable","name":"p3","nameLocation":"111717:2:19","nodeType":"VariableDeclaration","scope":29852,"src":"111709:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29819,"name":"bytes32","nodeType":"ElementaryTypeName","src":"111709:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"111675:45:19"},"returnParameters":{"id":29822,"nodeType":"ParameterList","parameters":[],"src":"111735:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29886,"nodeType":"FunctionDefinition","src":"113089:866:19","nodes":[],"body":{"id":29885,"nodeType":"Block","src":"113158:797:19","nodes":[],"statements":[{"assignments":[29864],"declarations":[{"constant":false,"id":29864,"mutability":"mutable","name":"m0","nameLocation":"113176:2:19","nodeType":"VariableDeclaration","scope":29885,"src":"113168:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29863,"name":"bytes32","nodeType":"ElementaryTypeName","src":"113168:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29865,"nodeType":"VariableDeclarationStatement","src":"113168:10:19"},{"assignments":[29867],"declarations":[{"constant":false,"id":29867,"mutability":"mutable","name":"m1","nameLocation":"113196:2:19","nodeType":"VariableDeclaration","scope":29885,"src":"113188:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29866,"name":"bytes32","nodeType":"ElementaryTypeName","src":"113188:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29868,"nodeType":"VariableDeclarationStatement","src":"113188:10:19"},{"assignments":[29870],"declarations":[{"constant":false,"id":29870,"mutability":"mutable","name":"m2","nameLocation":"113216:2:19","nodeType":"VariableDeclaration","scope":29885,"src":"113208:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29869,"name":"bytes32","nodeType":"ElementaryTypeName","src":"113208:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29871,"nodeType":"VariableDeclarationStatement","src":"113208:10:19"},{"assignments":[29873],"declarations":[{"constant":false,"id":29873,"mutability":"mutable","name":"m3","nameLocation":"113236:2:19","nodeType":"VariableDeclaration","scope":29885,"src":"113228:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29872,"name":"bytes32","nodeType":"ElementaryTypeName","src":"113228:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29874,"nodeType":"VariableDeclarationStatement","src":"113228:10:19"},{"assignments":[29876],"declarations":[{"constant":false,"id":29876,"mutability":"mutable","name":"m4","nameLocation":"113256:2:19","nodeType":"VariableDeclaration","scope":29885,"src":"113248:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29875,"name":"bytes32","nodeType":"ElementaryTypeName","src":"113248:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29877,"nodeType":"VariableDeclarationStatement","src":"113248:10:19"},{"AST":{"nativeSrc":"113320:375:19","nodeType":"YulBlock","src":"113320:375:19","statements":[{"nativeSrc":"113334:17:19","nodeType":"YulAssignment","src":"113334:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"113346:4:19","nodeType":"YulLiteral","src":"113346:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"113340:5:19","nodeType":"YulIdentifier","src":"113340:5:19"},"nativeSrc":"113340:11:19","nodeType":"YulFunctionCall","src":"113340:11:19"},"variableNames":[{"name":"m0","nativeSrc":"113334:2:19","nodeType":"YulIdentifier","src":"113334:2:19"}]},{"nativeSrc":"113364:17:19","nodeType":"YulAssignment","src":"113364:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"113376:4:19","nodeType":"YulLiteral","src":"113376:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"113370:5:19","nodeType":"YulIdentifier","src":"113370:5:19"},"nativeSrc":"113370:11:19","nodeType":"YulFunctionCall","src":"113370:11:19"},"variableNames":[{"name":"m1","nativeSrc":"113364:2:19","nodeType":"YulIdentifier","src":"113364:2:19"}]},{"nativeSrc":"113394:17:19","nodeType":"YulAssignment","src":"113394:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"113406:4:19","nodeType":"YulLiteral","src":"113406:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"113400:5:19","nodeType":"YulIdentifier","src":"113400:5:19"},"nativeSrc":"113400:11:19","nodeType":"YulFunctionCall","src":"113400:11:19"},"variableNames":[{"name":"m2","nativeSrc":"113394:2:19","nodeType":"YulIdentifier","src":"113394:2:19"}]},{"nativeSrc":"113424:17:19","nodeType":"YulAssignment","src":"113424:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"113436:4:19","nodeType":"YulLiteral","src":"113436:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"113430:5:19","nodeType":"YulIdentifier","src":"113430:5:19"},"nativeSrc":"113430:11:19","nodeType":"YulFunctionCall","src":"113430:11:19"},"variableNames":[{"name":"m3","nativeSrc":"113424:2:19","nodeType":"YulIdentifier","src":"113424:2:19"}]},{"nativeSrc":"113454:17:19","nodeType":"YulAssignment","src":"113454:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"113466:4:19","nodeType":"YulLiteral","src":"113466:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"113460:5:19","nodeType":"YulIdentifier","src":"113460:5:19"},"nativeSrc":"113460:11:19","nodeType":"YulFunctionCall","src":"113460:11:19"},"variableNames":[{"name":"m4","nativeSrc":"113454:2:19","nodeType":"YulIdentifier","src":"113454:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113552:4:19","nodeType":"YulLiteral","src":"113552:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"113558:10:19","nodeType":"YulLiteral","src":"113558:10:19","type":"","value":"0xcf394485"}],"functionName":{"name":"mstore","nativeSrc":"113545:6:19","nodeType":"YulIdentifier","src":"113545:6:19"},"nativeSrc":"113545:24:19","nodeType":"YulFunctionCall","src":"113545:24:19"},"nativeSrc":"113545:24:19","nodeType":"YulExpressionStatement","src":"113545:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113589:4:19","nodeType":"YulLiteral","src":"113589:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"113595:2:19","nodeType":"YulIdentifier","src":"113595:2:19"}],"functionName":{"name":"mstore","nativeSrc":"113582:6:19","nodeType":"YulIdentifier","src":"113582:6:19"},"nativeSrc":"113582:16:19","nodeType":"YulFunctionCall","src":"113582:16:19"},"nativeSrc":"113582:16:19","nodeType":"YulExpressionStatement","src":"113582:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113618:4:19","nodeType":"YulLiteral","src":"113618:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"113624:2:19","nodeType":"YulIdentifier","src":"113624:2:19"}],"functionName":{"name":"mstore","nativeSrc":"113611:6:19","nodeType":"YulIdentifier","src":"113611:6:19"},"nativeSrc":"113611:16:19","nodeType":"YulFunctionCall","src":"113611:16:19"},"nativeSrc":"113611:16:19","nodeType":"YulExpressionStatement","src":"113611:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113647:4:19","nodeType":"YulLiteral","src":"113647:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"113653:2:19","nodeType":"YulIdentifier","src":"113653:2:19"}],"functionName":{"name":"mstore","nativeSrc":"113640:6:19","nodeType":"YulIdentifier","src":"113640:6:19"},"nativeSrc":"113640:16:19","nodeType":"YulFunctionCall","src":"113640:16:19"},"nativeSrc":"113640:16:19","nodeType":"YulExpressionStatement","src":"113640:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113676:4:19","nodeType":"YulLiteral","src":"113676:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"113682:2:19","nodeType":"YulIdentifier","src":"113682:2:19"}],"functionName":{"name":"mstore","nativeSrc":"113669:6:19","nodeType":"YulIdentifier","src":"113669:6:19"},"nativeSrc":"113669:16:19","nodeType":"YulFunctionCall","src":"113669:16:19"},"nativeSrc":"113669:16:19","nodeType":"YulExpressionStatement","src":"113669:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29864,"isOffset":false,"isSlot":false,"src":"113334:2:19","valueSize":1},{"declaration":29867,"isOffset":false,"isSlot":false,"src":"113364:2:19","valueSize":1},{"declaration":29870,"isOffset":false,"isSlot":false,"src":"113394:2:19","valueSize":1},{"declaration":29873,"isOffset":false,"isSlot":false,"src":"113424:2:19","valueSize":1},{"declaration":29876,"isOffset":false,"isSlot":false,"src":"113454:2:19","valueSize":1},{"declaration":29854,"isOffset":false,"isSlot":false,"src":"113595:2:19","valueSize":1},{"declaration":29856,"isOffset":false,"isSlot":false,"src":"113624:2:19","valueSize":1},{"declaration":29858,"isOffset":false,"isSlot":false,"src":"113653:2:19","valueSize":1},{"declaration":29860,"isOffset":false,"isSlot":false,"src":"113682:2:19","valueSize":1}],"id":29878,"nodeType":"InlineAssembly","src":"113311:384:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"113720:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":29881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"113726:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":29879,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"113704:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"113704:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29883,"nodeType":"ExpressionStatement","src":"113704:27:19"},{"AST":{"nativeSrc":"113793:156:19","nodeType":"YulBlock","src":"113793:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"113814:4:19","nodeType":"YulLiteral","src":"113814:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"113820:2:19","nodeType":"YulIdentifier","src":"113820:2:19"}],"functionName":{"name":"mstore","nativeSrc":"113807:6:19","nodeType":"YulIdentifier","src":"113807:6:19"},"nativeSrc":"113807:16:19","nodeType":"YulFunctionCall","src":"113807:16:19"},"nativeSrc":"113807:16:19","nodeType":"YulExpressionStatement","src":"113807:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113843:4:19","nodeType":"YulLiteral","src":"113843:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"113849:2:19","nodeType":"YulIdentifier","src":"113849:2:19"}],"functionName":{"name":"mstore","nativeSrc":"113836:6:19","nodeType":"YulIdentifier","src":"113836:6:19"},"nativeSrc":"113836:16:19","nodeType":"YulFunctionCall","src":"113836:16:19"},"nativeSrc":"113836:16:19","nodeType":"YulExpressionStatement","src":"113836:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113872:4:19","nodeType":"YulLiteral","src":"113872:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"113878:2:19","nodeType":"YulIdentifier","src":"113878:2:19"}],"functionName":{"name":"mstore","nativeSrc":"113865:6:19","nodeType":"YulIdentifier","src":"113865:6:19"},"nativeSrc":"113865:16:19","nodeType":"YulFunctionCall","src":"113865:16:19"},"nativeSrc":"113865:16:19","nodeType":"YulExpressionStatement","src":"113865:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113901:4:19","nodeType":"YulLiteral","src":"113901:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"113907:2:19","nodeType":"YulIdentifier","src":"113907:2:19"}],"functionName":{"name":"mstore","nativeSrc":"113894:6:19","nodeType":"YulIdentifier","src":"113894:6:19"},"nativeSrc":"113894:16:19","nodeType":"YulFunctionCall","src":"113894:16:19"},"nativeSrc":"113894:16:19","nodeType":"YulExpressionStatement","src":"113894:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"113930:4:19","nodeType":"YulLiteral","src":"113930:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"113936:2:19","nodeType":"YulIdentifier","src":"113936:2:19"}],"functionName":{"name":"mstore","nativeSrc":"113923:6:19","nodeType":"YulIdentifier","src":"113923:6:19"},"nativeSrc":"113923:16:19","nodeType":"YulFunctionCall","src":"113923:16:19"},"nativeSrc":"113923:16:19","nodeType":"YulExpressionStatement","src":"113923:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29864,"isOffset":false,"isSlot":false,"src":"113820:2:19","valueSize":1},{"declaration":29867,"isOffset":false,"isSlot":false,"src":"113849:2:19","valueSize":1},{"declaration":29870,"isOffset":false,"isSlot":false,"src":"113878:2:19","valueSize":1},{"declaration":29873,"isOffset":false,"isSlot":false,"src":"113907:2:19","valueSize":1},{"declaration":29876,"isOffset":false,"isSlot":false,"src":"113936:2:19","valueSize":1}],"id":29884,"nodeType":"InlineAssembly","src":"113784:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"113098:3:19","parameters":{"id":29861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29854,"mutability":"mutable","name":"p0","nameLocation":"113110:2:19","nodeType":"VariableDeclaration","scope":29886,"src":"113102:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29853,"name":"address","nodeType":"ElementaryTypeName","src":"113102:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29856,"mutability":"mutable","name":"p1","nameLocation":"113119:2:19","nodeType":"VariableDeclaration","scope":29886,"src":"113114:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29855,"name":"bool","nodeType":"ElementaryTypeName","src":"113114:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29858,"mutability":"mutable","name":"p2","nameLocation":"113128:2:19","nodeType":"VariableDeclaration","scope":29886,"src":"113123:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29857,"name":"bool","nodeType":"ElementaryTypeName","src":"113123:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29860,"mutability":"mutable","name":"p3","nameLocation":"113140:2:19","nodeType":"VariableDeclaration","scope":29886,"src":"113132:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29859,"name":"address","nodeType":"ElementaryTypeName","src":"113132:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"113101:42:19"},"returnParameters":{"id":29862,"nodeType":"ParameterList","parameters":[],"src":"113158:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29920,"nodeType":"FunctionDefinition","src":"113961:860:19","nodes":[],"body":{"id":29919,"nodeType":"Block","src":"114027:794:19","nodes":[],"statements":[{"assignments":[29898],"declarations":[{"constant":false,"id":29898,"mutability":"mutable","name":"m0","nameLocation":"114045:2:19","nodeType":"VariableDeclaration","scope":29919,"src":"114037:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29897,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114037:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29899,"nodeType":"VariableDeclarationStatement","src":"114037:10:19"},{"assignments":[29901],"declarations":[{"constant":false,"id":29901,"mutability":"mutable","name":"m1","nameLocation":"114065:2:19","nodeType":"VariableDeclaration","scope":29919,"src":"114057:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29900,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114057:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29902,"nodeType":"VariableDeclarationStatement","src":"114057:10:19"},{"assignments":[29904],"declarations":[{"constant":false,"id":29904,"mutability":"mutable","name":"m2","nameLocation":"114085:2:19","nodeType":"VariableDeclaration","scope":29919,"src":"114077:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29903,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114077:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29905,"nodeType":"VariableDeclarationStatement","src":"114077:10:19"},{"assignments":[29907],"declarations":[{"constant":false,"id":29907,"mutability":"mutable","name":"m3","nameLocation":"114105:2:19","nodeType":"VariableDeclaration","scope":29919,"src":"114097:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29906,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114097:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29908,"nodeType":"VariableDeclarationStatement","src":"114097:10:19"},{"assignments":[29910],"declarations":[{"constant":false,"id":29910,"mutability":"mutable","name":"m4","nameLocation":"114125:2:19","nodeType":"VariableDeclaration","scope":29919,"src":"114117:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29909,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114117:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29911,"nodeType":"VariableDeclarationStatement","src":"114117:10:19"},{"AST":{"nativeSrc":"114189:372:19","nodeType":"YulBlock","src":"114189:372:19","statements":[{"nativeSrc":"114203:17:19","nodeType":"YulAssignment","src":"114203:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"114215:4:19","nodeType":"YulLiteral","src":"114215:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"114209:5:19","nodeType":"YulIdentifier","src":"114209:5:19"},"nativeSrc":"114209:11:19","nodeType":"YulFunctionCall","src":"114209:11:19"},"variableNames":[{"name":"m0","nativeSrc":"114203:2:19","nodeType":"YulIdentifier","src":"114203:2:19"}]},{"nativeSrc":"114233:17:19","nodeType":"YulAssignment","src":"114233:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"114245:4:19","nodeType":"YulLiteral","src":"114245:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"114239:5:19","nodeType":"YulIdentifier","src":"114239:5:19"},"nativeSrc":"114239:11:19","nodeType":"YulFunctionCall","src":"114239:11:19"},"variableNames":[{"name":"m1","nativeSrc":"114233:2:19","nodeType":"YulIdentifier","src":"114233:2:19"}]},{"nativeSrc":"114263:17:19","nodeType":"YulAssignment","src":"114263:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"114275:4:19","nodeType":"YulLiteral","src":"114275:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"114269:5:19","nodeType":"YulIdentifier","src":"114269:5:19"},"nativeSrc":"114269:11:19","nodeType":"YulFunctionCall","src":"114269:11:19"},"variableNames":[{"name":"m2","nativeSrc":"114263:2:19","nodeType":"YulIdentifier","src":"114263:2:19"}]},{"nativeSrc":"114293:17:19","nodeType":"YulAssignment","src":"114293:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"114305:4:19","nodeType":"YulLiteral","src":"114305:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"114299:5:19","nodeType":"YulIdentifier","src":"114299:5:19"},"nativeSrc":"114299:11:19","nodeType":"YulFunctionCall","src":"114299:11:19"},"variableNames":[{"name":"m3","nativeSrc":"114293:2:19","nodeType":"YulIdentifier","src":"114293:2:19"}]},{"nativeSrc":"114323:17:19","nodeType":"YulAssignment","src":"114323:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"114335:4:19","nodeType":"YulLiteral","src":"114335:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"114329:5:19","nodeType":"YulIdentifier","src":"114329:5:19"},"nativeSrc":"114329:11:19","nodeType":"YulFunctionCall","src":"114329:11:19"},"variableNames":[{"name":"m4","nativeSrc":"114323:2:19","nodeType":"YulIdentifier","src":"114323:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114418:4:19","nodeType":"YulLiteral","src":"114418:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"114424:10:19","nodeType":"YulLiteral","src":"114424:10:19","type":"","value":"0xcac43479"}],"functionName":{"name":"mstore","nativeSrc":"114411:6:19","nodeType":"YulIdentifier","src":"114411:6:19"},"nativeSrc":"114411:24:19","nodeType":"YulFunctionCall","src":"114411:24:19"},"nativeSrc":"114411:24:19","nodeType":"YulExpressionStatement","src":"114411:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114455:4:19","nodeType":"YulLiteral","src":"114455:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"114461:2:19","nodeType":"YulIdentifier","src":"114461:2:19"}],"functionName":{"name":"mstore","nativeSrc":"114448:6:19","nodeType":"YulIdentifier","src":"114448:6:19"},"nativeSrc":"114448:16:19","nodeType":"YulFunctionCall","src":"114448:16:19"},"nativeSrc":"114448:16:19","nodeType":"YulExpressionStatement","src":"114448:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114484:4:19","nodeType":"YulLiteral","src":"114484:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"114490:2:19","nodeType":"YulIdentifier","src":"114490:2:19"}],"functionName":{"name":"mstore","nativeSrc":"114477:6:19","nodeType":"YulIdentifier","src":"114477:6:19"},"nativeSrc":"114477:16:19","nodeType":"YulFunctionCall","src":"114477:16:19"},"nativeSrc":"114477:16:19","nodeType":"YulExpressionStatement","src":"114477:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114513:4:19","nodeType":"YulLiteral","src":"114513:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"114519:2:19","nodeType":"YulIdentifier","src":"114519:2:19"}],"functionName":{"name":"mstore","nativeSrc":"114506:6:19","nodeType":"YulIdentifier","src":"114506:6:19"},"nativeSrc":"114506:16:19","nodeType":"YulFunctionCall","src":"114506:16:19"},"nativeSrc":"114506:16:19","nodeType":"YulExpressionStatement","src":"114506:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114542:4:19","nodeType":"YulLiteral","src":"114542:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"114548:2:19","nodeType":"YulIdentifier","src":"114548:2:19"}],"functionName":{"name":"mstore","nativeSrc":"114535:6:19","nodeType":"YulIdentifier","src":"114535:6:19"},"nativeSrc":"114535:16:19","nodeType":"YulFunctionCall","src":"114535:16:19"},"nativeSrc":"114535:16:19","nodeType":"YulExpressionStatement","src":"114535:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29898,"isOffset":false,"isSlot":false,"src":"114203:2:19","valueSize":1},{"declaration":29901,"isOffset":false,"isSlot":false,"src":"114233:2:19","valueSize":1},{"declaration":29904,"isOffset":false,"isSlot":false,"src":"114263:2:19","valueSize":1},{"declaration":29907,"isOffset":false,"isSlot":false,"src":"114293:2:19","valueSize":1},{"declaration":29910,"isOffset":false,"isSlot":false,"src":"114323:2:19","valueSize":1},{"declaration":29888,"isOffset":false,"isSlot":false,"src":"114461:2:19","valueSize":1},{"declaration":29890,"isOffset":false,"isSlot":false,"src":"114490:2:19","valueSize":1},{"declaration":29892,"isOffset":false,"isSlot":false,"src":"114519:2:19","valueSize":1},{"declaration":29894,"isOffset":false,"isSlot":false,"src":"114548:2:19","valueSize":1}],"id":29912,"nodeType":"InlineAssembly","src":"114180:381:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"114586:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":29915,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"114592:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":29913,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"114570:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"114570:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29917,"nodeType":"ExpressionStatement","src":"114570:27:19"},{"AST":{"nativeSrc":"114659:156:19","nodeType":"YulBlock","src":"114659:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"114680:4:19","nodeType":"YulLiteral","src":"114680:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"114686:2:19","nodeType":"YulIdentifier","src":"114686:2:19"}],"functionName":{"name":"mstore","nativeSrc":"114673:6:19","nodeType":"YulIdentifier","src":"114673:6:19"},"nativeSrc":"114673:16:19","nodeType":"YulFunctionCall","src":"114673:16:19"},"nativeSrc":"114673:16:19","nodeType":"YulExpressionStatement","src":"114673:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114709:4:19","nodeType":"YulLiteral","src":"114709:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"114715:2:19","nodeType":"YulIdentifier","src":"114715:2:19"}],"functionName":{"name":"mstore","nativeSrc":"114702:6:19","nodeType":"YulIdentifier","src":"114702:6:19"},"nativeSrc":"114702:16:19","nodeType":"YulFunctionCall","src":"114702:16:19"},"nativeSrc":"114702:16:19","nodeType":"YulExpressionStatement","src":"114702:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114738:4:19","nodeType":"YulLiteral","src":"114738:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"114744:2:19","nodeType":"YulIdentifier","src":"114744:2:19"}],"functionName":{"name":"mstore","nativeSrc":"114731:6:19","nodeType":"YulIdentifier","src":"114731:6:19"},"nativeSrc":"114731:16:19","nodeType":"YulFunctionCall","src":"114731:16:19"},"nativeSrc":"114731:16:19","nodeType":"YulExpressionStatement","src":"114731:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114767:4:19","nodeType":"YulLiteral","src":"114767:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"114773:2:19","nodeType":"YulIdentifier","src":"114773:2:19"}],"functionName":{"name":"mstore","nativeSrc":"114760:6:19","nodeType":"YulIdentifier","src":"114760:6:19"},"nativeSrc":"114760:16:19","nodeType":"YulFunctionCall","src":"114760:16:19"},"nativeSrc":"114760:16:19","nodeType":"YulExpressionStatement","src":"114760:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"114796:4:19","nodeType":"YulLiteral","src":"114796:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"114802:2:19","nodeType":"YulIdentifier","src":"114802:2:19"}],"functionName":{"name":"mstore","nativeSrc":"114789:6:19","nodeType":"YulIdentifier","src":"114789:6:19"},"nativeSrc":"114789:16:19","nodeType":"YulFunctionCall","src":"114789:16:19"},"nativeSrc":"114789:16:19","nodeType":"YulExpressionStatement","src":"114789:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29898,"isOffset":false,"isSlot":false,"src":"114686:2:19","valueSize":1},{"declaration":29901,"isOffset":false,"isSlot":false,"src":"114715:2:19","valueSize":1},{"declaration":29904,"isOffset":false,"isSlot":false,"src":"114744:2:19","valueSize":1},{"declaration":29907,"isOffset":false,"isSlot":false,"src":"114773:2:19","valueSize":1},{"declaration":29910,"isOffset":false,"isSlot":false,"src":"114802:2:19","valueSize":1}],"id":29918,"nodeType":"InlineAssembly","src":"114650:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"113970:3:19","parameters":{"id":29895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29888,"mutability":"mutable","name":"p0","nameLocation":"113982:2:19","nodeType":"VariableDeclaration","scope":29920,"src":"113974:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29887,"name":"address","nodeType":"ElementaryTypeName","src":"113974:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29890,"mutability":"mutable","name":"p1","nameLocation":"113991:2:19","nodeType":"VariableDeclaration","scope":29920,"src":"113986:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29889,"name":"bool","nodeType":"ElementaryTypeName","src":"113986:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29892,"mutability":"mutable","name":"p2","nameLocation":"114000:2:19","nodeType":"VariableDeclaration","scope":29920,"src":"113995:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29891,"name":"bool","nodeType":"ElementaryTypeName","src":"113995:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29894,"mutability":"mutable","name":"p3","nameLocation":"114009:2:19","nodeType":"VariableDeclaration","scope":29920,"src":"114004:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29893,"name":"bool","nodeType":"ElementaryTypeName","src":"114004:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"113973:39:19"},"returnParameters":{"id":29896,"nodeType":"ParameterList","parameters":[],"src":"114027:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29954,"nodeType":"FunctionDefinition","src":"114827:866:19","nodes":[],"body":{"id":29953,"nodeType":"Block","src":"114896:797:19","nodes":[],"statements":[{"assignments":[29932],"declarations":[{"constant":false,"id":29932,"mutability":"mutable","name":"m0","nameLocation":"114914:2:19","nodeType":"VariableDeclaration","scope":29953,"src":"114906:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29931,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114906:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29933,"nodeType":"VariableDeclarationStatement","src":"114906:10:19"},{"assignments":[29935],"declarations":[{"constant":false,"id":29935,"mutability":"mutable","name":"m1","nameLocation":"114934:2:19","nodeType":"VariableDeclaration","scope":29953,"src":"114926:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29934,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114926:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29936,"nodeType":"VariableDeclarationStatement","src":"114926:10:19"},{"assignments":[29938],"declarations":[{"constant":false,"id":29938,"mutability":"mutable","name":"m2","nameLocation":"114954:2:19","nodeType":"VariableDeclaration","scope":29953,"src":"114946:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29937,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114946:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29939,"nodeType":"VariableDeclarationStatement","src":"114946:10:19"},{"assignments":[29941],"declarations":[{"constant":false,"id":29941,"mutability":"mutable","name":"m3","nameLocation":"114974:2:19","nodeType":"VariableDeclaration","scope":29953,"src":"114966:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29940,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114966:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29942,"nodeType":"VariableDeclarationStatement","src":"114966:10:19"},{"assignments":[29944],"declarations":[{"constant":false,"id":29944,"mutability":"mutable","name":"m4","nameLocation":"114994:2:19","nodeType":"VariableDeclaration","scope":29953,"src":"114986:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29943,"name":"bytes32","nodeType":"ElementaryTypeName","src":"114986:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29945,"nodeType":"VariableDeclarationStatement","src":"114986:10:19"},{"AST":{"nativeSrc":"115058:375:19","nodeType":"YulBlock","src":"115058:375:19","statements":[{"nativeSrc":"115072:17:19","nodeType":"YulAssignment","src":"115072:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"115084:4:19","nodeType":"YulLiteral","src":"115084:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"115078:5:19","nodeType":"YulIdentifier","src":"115078:5:19"},"nativeSrc":"115078:11:19","nodeType":"YulFunctionCall","src":"115078:11:19"},"variableNames":[{"name":"m0","nativeSrc":"115072:2:19","nodeType":"YulIdentifier","src":"115072:2:19"}]},{"nativeSrc":"115102:17:19","nodeType":"YulAssignment","src":"115102:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"115114:4:19","nodeType":"YulLiteral","src":"115114:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"115108:5:19","nodeType":"YulIdentifier","src":"115108:5:19"},"nativeSrc":"115108:11:19","nodeType":"YulFunctionCall","src":"115108:11:19"},"variableNames":[{"name":"m1","nativeSrc":"115102:2:19","nodeType":"YulIdentifier","src":"115102:2:19"}]},{"nativeSrc":"115132:17:19","nodeType":"YulAssignment","src":"115132:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"115144:4:19","nodeType":"YulLiteral","src":"115144:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"115138:5:19","nodeType":"YulIdentifier","src":"115138:5:19"},"nativeSrc":"115138:11:19","nodeType":"YulFunctionCall","src":"115138:11:19"},"variableNames":[{"name":"m2","nativeSrc":"115132:2:19","nodeType":"YulIdentifier","src":"115132:2:19"}]},{"nativeSrc":"115162:17:19","nodeType":"YulAssignment","src":"115162:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"115174:4:19","nodeType":"YulLiteral","src":"115174:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"115168:5:19","nodeType":"YulIdentifier","src":"115168:5:19"},"nativeSrc":"115168:11:19","nodeType":"YulFunctionCall","src":"115168:11:19"},"variableNames":[{"name":"m3","nativeSrc":"115162:2:19","nodeType":"YulIdentifier","src":"115162:2:19"}]},{"nativeSrc":"115192:17:19","nodeType":"YulAssignment","src":"115192:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"115204:4:19","nodeType":"YulLiteral","src":"115204:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"115198:5:19","nodeType":"YulIdentifier","src":"115198:5:19"},"nativeSrc":"115198:11:19","nodeType":"YulFunctionCall","src":"115198:11:19"},"variableNames":[{"name":"m4","nativeSrc":"115192:2:19","nodeType":"YulIdentifier","src":"115192:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115290:4:19","nodeType":"YulLiteral","src":"115290:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"115296:10:19","nodeType":"YulLiteral","src":"115296:10:19","type":"","value":"0x8c4e5de6"}],"functionName":{"name":"mstore","nativeSrc":"115283:6:19","nodeType":"YulIdentifier","src":"115283:6:19"},"nativeSrc":"115283:24:19","nodeType":"YulFunctionCall","src":"115283:24:19"},"nativeSrc":"115283:24:19","nodeType":"YulExpressionStatement","src":"115283:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115327:4:19","nodeType":"YulLiteral","src":"115327:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"115333:2:19","nodeType":"YulIdentifier","src":"115333:2:19"}],"functionName":{"name":"mstore","nativeSrc":"115320:6:19","nodeType":"YulIdentifier","src":"115320:6:19"},"nativeSrc":"115320:16:19","nodeType":"YulFunctionCall","src":"115320:16:19"},"nativeSrc":"115320:16:19","nodeType":"YulExpressionStatement","src":"115320:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115356:4:19","nodeType":"YulLiteral","src":"115356:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"115362:2:19","nodeType":"YulIdentifier","src":"115362:2:19"}],"functionName":{"name":"mstore","nativeSrc":"115349:6:19","nodeType":"YulIdentifier","src":"115349:6:19"},"nativeSrc":"115349:16:19","nodeType":"YulFunctionCall","src":"115349:16:19"},"nativeSrc":"115349:16:19","nodeType":"YulExpressionStatement","src":"115349:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115385:4:19","nodeType":"YulLiteral","src":"115385:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"115391:2:19","nodeType":"YulIdentifier","src":"115391:2:19"}],"functionName":{"name":"mstore","nativeSrc":"115378:6:19","nodeType":"YulIdentifier","src":"115378:6:19"},"nativeSrc":"115378:16:19","nodeType":"YulFunctionCall","src":"115378:16:19"},"nativeSrc":"115378:16:19","nodeType":"YulExpressionStatement","src":"115378:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115414:4:19","nodeType":"YulLiteral","src":"115414:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"115420:2:19","nodeType":"YulIdentifier","src":"115420:2:19"}],"functionName":{"name":"mstore","nativeSrc":"115407:6:19","nodeType":"YulIdentifier","src":"115407:6:19"},"nativeSrc":"115407:16:19","nodeType":"YulFunctionCall","src":"115407:16:19"},"nativeSrc":"115407:16:19","nodeType":"YulExpressionStatement","src":"115407:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29932,"isOffset":false,"isSlot":false,"src":"115072:2:19","valueSize":1},{"declaration":29935,"isOffset":false,"isSlot":false,"src":"115102:2:19","valueSize":1},{"declaration":29938,"isOffset":false,"isSlot":false,"src":"115132:2:19","valueSize":1},{"declaration":29941,"isOffset":false,"isSlot":false,"src":"115162:2:19","valueSize":1},{"declaration":29944,"isOffset":false,"isSlot":false,"src":"115192:2:19","valueSize":1},{"declaration":29922,"isOffset":false,"isSlot":false,"src":"115333:2:19","valueSize":1},{"declaration":29924,"isOffset":false,"isSlot":false,"src":"115362:2:19","valueSize":1},{"declaration":29926,"isOffset":false,"isSlot":false,"src":"115391:2:19","valueSize":1},{"declaration":29928,"isOffset":false,"isSlot":false,"src":"115420:2:19","valueSize":1}],"id":29946,"nodeType":"InlineAssembly","src":"115049:384:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"115458:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":29949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"115464:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":29947,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"115442:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"115442:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29951,"nodeType":"ExpressionStatement","src":"115442:27:19"},{"AST":{"nativeSrc":"115531:156:19","nodeType":"YulBlock","src":"115531:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"115552:4:19","nodeType":"YulLiteral","src":"115552:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"115558:2:19","nodeType":"YulIdentifier","src":"115558:2:19"}],"functionName":{"name":"mstore","nativeSrc":"115545:6:19","nodeType":"YulIdentifier","src":"115545:6:19"},"nativeSrc":"115545:16:19","nodeType":"YulFunctionCall","src":"115545:16:19"},"nativeSrc":"115545:16:19","nodeType":"YulExpressionStatement","src":"115545:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115581:4:19","nodeType":"YulLiteral","src":"115581:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"115587:2:19","nodeType":"YulIdentifier","src":"115587:2:19"}],"functionName":{"name":"mstore","nativeSrc":"115574:6:19","nodeType":"YulIdentifier","src":"115574:6:19"},"nativeSrc":"115574:16:19","nodeType":"YulFunctionCall","src":"115574:16:19"},"nativeSrc":"115574:16:19","nodeType":"YulExpressionStatement","src":"115574:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115610:4:19","nodeType":"YulLiteral","src":"115610:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"115616:2:19","nodeType":"YulIdentifier","src":"115616:2:19"}],"functionName":{"name":"mstore","nativeSrc":"115603:6:19","nodeType":"YulIdentifier","src":"115603:6:19"},"nativeSrc":"115603:16:19","nodeType":"YulFunctionCall","src":"115603:16:19"},"nativeSrc":"115603:16:19","nodeType":"YulExpressionStatement","src":"115603:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115639:4:19","nodeType":"YulLiteral","src":"115639:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"115645:2:19","nodeType":"YulIdentifier","src":"115645:2:19"}],"functionName":{"name":"mstore","nativeSrc":"115632:6:19","nodeType":"YulIdentifier","src":"115632:6:19"},"nativeSrc":"115632:16:19","nodeType":"YulFunctionCall","src":"115632:16:19"},"nativeSrc":"115632:16:19","nodeType":"YulExpressionStatement","src":"115632:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"115668:4:19","nodeType":"YulLiteral","src":"115668:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"115674:2:19","nodeType":"YulIdentifier","src":"115674:2:19"}],"functionName":{"name":"mstore","nativeSrc":"115661:6:19","nodeType":"YulIdentifier","src":"115661:6:19"},"nativeSrc":"115661:16:19","nodeType":"YulFunctionCall","src":"115661:16:19"},"nativeSrc":"115661:16:19","nodeType":"YulExpressionStatement","src":"115661:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29932,"isOffset":false,"isSlot":false,"src":"115558:2:19","valueSize":1},{"declaration":29935,"isOffset":false,"isSlot":false,"src":"115587:2:19","valueSize":1},{"declaration":29938,"isOffset":false,"isSlot":false,"src":"115616:2:19","valueSize":1},{"declaration":29941,"isOffset":false,"isSlot":false,"src":"115645:2:19","valueSize":1},{"declaration":29944,"isOffset":false,"isSlot":false,"src":"115674:2:19","valueSize":1}],"id":29952,"nodeType":"InlineAssembly","src":"115522:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"114836:3:19","parameters":{"id":29929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29922,"mutability":"mutable","name":"p0","nameLocation":"114848:2:19","nodeType":"VariableDeclaration","scope":29954,"src":"114840:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29921,"name":"address","nodeType":"ElementaryTypeName","src":"114840:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29924,"mutability":"mutable","name":"p1","nameLocation":"114857:2:19","nodeType":"VariableDeclaration","scope":29954,"src":"114852:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29923,"name":"bool","nodeType":"ElementaryTypeName","src":"114852:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29926,"mutability":"mutable","name":"p2","nameLocation":"114866:2:19","nodeType":"VariableDeclaration","scope":29954,"src":"114861:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29925,"name":"bool","nodeType":"ElementaryTypeName","src":"114861:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29928,"mutability":"mutable","name":"p3","nameLocation":"114878:2:19","nodeType":"VariableDeclaration","scope":29954,"src":"114870:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29927,"name":"uint256","nodeType":"ElementaryTypeName","src":"114870:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"114839:42:19"},"returnParameters":{"id":29930,"nodeType":"ParameterList","parameters":[],"src":"114896:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29994,"nodeType":"FunctionDefinition","src":"115699:1414:19","nodes":[],"body":{"id":29993,"nodeType":"Block","src":"115768:1345:19","nodes":[],"statements":[{"assignments":[29966],"declarations":[{"constant":false,"id":29966,"mutability":"mutable","name":"m0","nameLocation":"115786:2:19","nodeType":"VariableDeclaration","scope":29993,"src":"115778:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29965,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115778:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29967,"nodeType":"VariableDeclarationStatement","src":"115778:10:19"},{"assignments":[29969],"declarations":[{"constant":false,"id":29969,"mutability":"mutable","name":"m1","nameLocation":"115806:2:19","nodeType":"VariableDeclaration","scope":29993,"src":"115798:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29968,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115798:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29970,"nodeType":"VariableDeclarationStatement","src":"115798:10:19"},{"assignments":[29972],"declarations":[{"constant":false,"id":29972,"mutability":"mutable","name":"m2","nameLocation":"115826:2:19","nodeType":"VariableDeclaration","scope":29993,"src":"115818:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29971,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115818:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29973,"nodeType":"VariableDeclarationStatement","src":"115818:10:19"},{"assignments":[29975],"declarations":[{"constant":false,"id":29975,"mutability":"mutable","name":"m3","nameLocation":"115846:2:19","nodeType":"VariableDeclaration","scope":29993,"src":"115838:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29974,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115838:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29976,"nodeType":"VariableDeclarationStatement","src":"115838:10:19"},{"assignments":[29978],"declarations":[{"constant":false,"id":29978,"mutability":"mutable","name":"m4","nameLocation":"115866:2:19","nodeType":"VariableDeclaration","scope":29993,"src":"115858:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29977,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115858:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29979,"nodeType":"VariableDeclarationStatement","src":"115858:10:19"},{"assignments":[29981],"declarations":[{"constant":false,"id":29981,"mutability":"mutable","name":"m5","nameLocation":"115886:2:19","nodeType":"VariableDeclaration","scope":29993,"src":"115878:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29980,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115878:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29982,"nodeType":"VariableDeclarationStatement","src":"115878:10:19"},{"assignments":[29984],"declarations":[{"constant":false,"id":29984,"mutability":"mutable","name":"m6","nameLocation":"115906:2:19","nodeType":"VariableDeclaration","scope":29993,"src":"115898:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29983,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115898:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":29985,"nodeType":"VariableDeclarationStatement","src":"115898:10:19"},{"AST":{"nativeSrc":"115970:825:19","nodeType":"YulBlock","src":"115970:825:19","statements":[{"body":{"nativeSrc":"116013:313:19","nodeType":"YulBlock","src":"116013:313:19","statements":[{"nativeSrc":"116031:15:19","nodeType":"YulVariableDeclaration","src":"116031:15:19","value":{"kind":"number","nativeSrc":"116045:1:19","nodeType":"YulLiteral","src":"116045:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"116035:6:19","nodeType":"YulTypedName","src":"116035:6:19","type":""}]},{"body":{"nativeSrc":"116116:40:19","nodeType":"YulBlock","src":"116116:40:19","statements":[{"body":{"nativeSrc":"116145:9:19","nodeType":"YulBlock","src":"116145:9:19","statements":[{"nativeSrc":"116147:5:19","nodeType":"YulBreak","src":"116147:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"116133:6:19","nodeType":"YulIdentifier","src":"116133:6:19"},{"name":"w","nativeSrc":"116141:1:19","nodeType":"YulIdentifier","src":"116141:1:19"}],"functionName":{"name":"byte","nativeSrc":"116128:4:19","nodeType":"YulIdentifier","src":"116128:4:19"},"nativeSrc":"116128:15:19","nodeType":"YulFunctionCall","src":"116128:15:19"}],"functionName":{"name":"iszero","nativeSrc":"116121:6:19","nodeType":"YulIdentifier","src":"116121:6:19"},"nativeSrc":"116121:23:19","nodeType":"YulFunctionCall","src":"116121:23:19"},"nativeSrc":"116118:36:19","nodeType":"YulIf","src":"116118:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"116073:6:19","nodeType":"YulIdentifier","src":"116073:6:19"},{"kind":"number","nativeSrc":"116081:4:19","nodeType":"YulLiteral","src":"116081:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"116070:2:19","nodeType":"YulIdentifier","src":"116070:2:19"},"nativeSrc":"116070:16:19","nodeType":"YulFunctionCall","src":"116070:16:19"},"nativeSrc":"116063:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"116087:28:19","nodeType":"YulBlock","src":"116087:28:19","statements":[{"nativeSrc":"116089:24:19","nodeType":"YulAssignment","src":"116089:24:19","value":{"arguments":[{"name":"length","nativeSrc":"116103:6:19","nodeType":"YulIdentifier","src":"116103:6:19"},{"kind":"number","nativeSrc":"116111:1:19","nodeType":"YulLiteral","src":"116111:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"116099:3:19","nodeType":"YulIdentifier","src":"116099:3:19"},"nativeSrc":"116099:14:19","nodeType":"YulFunctionCall","src":"116099:14:19"},"variableNames":[{"name":"length","nativeSrc":"116089:6:19","nodeType":"YulIdentifier","src":"116089:6:19"}]}]},"pre":{"nativeSrc":"116067:2:19","nodeType":"YulBlock","src":"116067:2:19","statements":[]},"src":"116063:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"116180:3:19","nodeType":"YulIdentifier","src":"116180:3:19"},{"name":"length","nativeSrc":"116185:6:19","nodeType":"YulIdentifier","src":"116185:6:19"}],"functionName":{"name":"mstore","nativeSrc":"116173:6:19","nodeType":"YulIdentifier","src":"116173:6:19"},"nativeSrc":"116173:19:19","nodeType":"YulFunctionCall","src":"116173:19:19"},"nativeSrc":"116173:19:19","nodeType":"YulExpressionStatement","src":"116173:19:19"},{"nativeSrc":"116209:37:19","nodeType":"YulVariableDeclaration","src":"116209:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"116226:3:19","nodeType":"YulLiteral","src":"116226:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"116235:1:19","nodeType":"YulLiteral","src":"116235:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"116238:6:19","nodeType":"YulIdentifier","src":"116238:6:19"}],"functionName":{"name":"shl","nativeSrc":"116231:3:19","nodeType":"YulIdentifier","src":"116231:3:19"},"nativeSrc":"116231:14:19","nodeType":"YulFunctionCall","src":"116231:14:19"}],"functionName":{"name":"sub","nativeSrc":"116222:3:19","nodeType":"YulIdentifier","src":"116222:3:19"},"nativeSrc":"116222:24:19","nodeType":"YulFunctionCall","src":"116222:24:19"},"variables":[{"name":"shift","nativeSrc":"116213:5:19","nodeType":"YulTypedName","src":"116213:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"116274:3:19","nodeType":"YulIdentifier","src":"116274:3:19"},{"kind":"number","nativeSrc":"116279:4:19","nodeType":"YulLiteral","src":"116279:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"116270:3:19","nodeType":"YulIdentifier","src":"116270:3:19"},"nativeSrc":"116270:14:19","nodeType":"YulFunctionCall","src":"116270:14:19"},{"arguments":[{"name":"shift","nativeSrc":"116290:5:19","nodeType":"YulIdentifier","src":"116290:5:19"},{"arguments":[{"name":"shift","nativeSrc":"116301:5:19","nodeType":"YulIdentifier","src":"116301:5:19"},{"name":"w","nativeSrc":"116308:1:19","nodeType":"YulIdentifier","src":"116308:1:19"}],"functionName":{"name":"shr","nativeSrc":"116297:3:19","nodeType":"YulIdentifier","src":"116297:3:19"},"nativeSrc":"116297:13:19","nodeType":"YulFunctionCall","src":"116297:13:19"}],"functionName":{"name":"shl","nativeSrc":"116286:3:19","nodeType":"YulIdentifier","src":"116286:3:19"},"nativeSrc":"116286:25:19","nodeType":"YulFunctionCall","src":"116286:25:19"}],"functionName":{"name":"mstore","nativeSrc":"116263:6:19","nodeType":"YulIdentifier","src":"116263:6:19"},"nativeSrc":"116263:49:19","nodeType":"YulFunctionCall","src":"116263:49:19"},"nativeSrc":"116263:49:19","nodeType":"YulExpressionStatement","src":"116263:49:19"}]},"name":"writeString","nativeSrc":"115984:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"116005:3:19","nodeType":"YulTypedName","src":"116005:3:19","type":""},{"name":"w","nativeSrc":"116010:1:19","nodeType":"YulTypedName","src":"116010:1:19","type":""}],"src":"115984:342:19"},{"nativeSrc":"116339:17:19","nodeType":"YulAssignment","src":"116339:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"116351:4:19","nodeType":"YulLiteral","src":"116351:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"116345:5:19","nodeType":"YulIdentifier","src":"116345:5:19"},"nativeSrc":"116345:11:19","nodeType":"YulFunctionCall","src":"116345:11:19"},"variableNames":[{"name":"m0","nativeSrc":"116339:2:19","nodeType":"YulIdentifier","src":"116339:2:19"}]},{"nativeSrc":"116369:17:19","nodeType":"YulAssignment","src":"116369:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"116381:4:19","nodeType":"YulLiteral","src":"116381:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"116375:5:19","nodeType":"YulIdentifier","src":"116375:5:19"},"nativeSrc":"116375:11:19","nodeType":"YulFunctionCall","src":"116375:11:19"},"variableNames":[{"name":"m1","nativeSrc":"116369:2:19","nodeType":"YulIdentifier","src":"116369:2:19"}]},{"nativeSrc":"116399:17:19","nodeType":"YulAssignment","src":"116399:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"116411:4:19","nodeType":"YulLiteral","src":"116411:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"116405:5:19","nodeType":"YulIdentifier","src":"116405:5:19"},"nativeSrc":"116405:11:19","nodeType":"YulFunctionCall","src":"116405:11:19"},"variableNames":[{"name":"m2","nativeSrc":"116399:2:19","nodeType":"YulIdentifier","src":"116399:2:19"}]},{"nativeSrc":"116429:17:19","nodeType":"YulAssignment","src":"116429:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"116441:4:19","nodeType":"YulLiteral","src":"116441:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"116435:5:19","nodeType":"YulIdentifier","src":"116435:5:19"},"nativeSrc":"116435:11:19","nodeType":"YulFunctionCall","src":"116435:11:19"},"variableNames":[{"name":"m3","nativeSrc":"116429:2:19","nodeType":"YulIdentifier","src":"116429:2:19"}]},{"nativeSrc":"116459:17:19","nodeType":"YulAssignment","src":"116459:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"116471:4:19","nodeType":"YulLiteral","src":"116471:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"116465:5:19","nodeType":"YulIdentifier","src":"116465:5:19"},"nativeSrc":"116465:11:19","nodeType":"YulFunctionCall","src":"116465:11:19"},"variableNames":[{"name":"m4","nativeSrc":"116459:2:19","nodeType":"YulIdentifier","src":"116459:2:19"}]},{"nativeSrc":"116489:17:19","nodeType":"YulAssignment","src":"116489:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"116501:4:19","nodeType":"YulLiteral","src":"116501:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"116495:5:19","nodeType":"YulIdentifier","src":"116495:5:19"},"nativeSrc":"116495:11:19","nodeType":"YulFunctionCall","src":"116495:11:19"},"variableNames":[{"name":"m5","nativeSrc":"116489:2:19","nodeType":"YulIdentifier","src":"116489:2:19"}]},{"nativeSrc":"116519:17:19","nodeType":"YulAssignment","src":"116519:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"116531:4:19","nodeType":"YulLiteral","src":"116531:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"116525:5:19","nodeType":"YulIdentifier","src":"116525:5:19"},"nativeSrc":"116525:11:19","nodeType":"YulFunctionCall","src":"116525:11:19"},"variableNames":[{"name":"m6","nativeSrc":"116519:2:19","nodeType":"YulIdentifier","src":"116519:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"116616:4:19","nodeType":"YulLiteral","src":"116616:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"116622:10:19","nodeType":"YulLiteral","src":"116622:10:19","type":"","value":"0xdfc4a2e8"}],"functionName":{"name":"mstore","nativeSrc":"116609:6:19","nodeType":"YulIdentifier","src":"116609:6:19"},"nativeSrc":"116609:24:19","nodeType":"YulFunctionCall","src":"116609:24:19"},"nativeSrc":"116609:24:19","nodeType":"YulExpressionStatement","src":"116609:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"116653:4:19","nodeType":"YulLiteral","src":"116653:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"116659:2:19","nodeType":"YulIdentifier","src":"116659:2:19"}],"functionName":{"name":"mstore","nativeSrc":"116646:6:19","nodeType":"YulIdentifier","src":"116646:6:19"},"nativeSrc":"116646:16:19","nodeType":"YulFunctionCall","src":"116646:16:19"},"nativeSrc":"116646:16:19","nodeType":"YulExpressionStatement","src":"116646:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"116682:4:19","nodeType":"YulLiteral","src":"116682:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"116688:2:19","nodeType":"YulIdentifier","src":"116688:2:19"}],"functionName":{"name":"mstore","nativeSrc":"116675:6:19","nodeType":"YulIdentifier","src":"116675:6:19"},"nativeSrc":"116675:16:19","nodeType":"YulFunctionCall","src":"116675:16:19"},"nativeSrc":"116675:16:19","nodeType":"YulExpressionStatement","src":"116675:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"116711:4:19","nodeType":"YulLiteral","src":"116711:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"116717:2:19","nodeType":"YulIdentifier","src":"116717:2:19"}],"functionName":{"name":"mstore","nativeSrc":"116704:6:19","nodeType":"YulIdentifier","src":"116704:6:19"},"nativeSrc":"116704:16:19","nodeType":"YulFunctionCall","src":"116704:16:19"},"nativeSrc":"116704:16:19","nodeType":"YulExpressionStatement","src":"116704:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"116740:4:19","nodeType":"YulLiteral","src":"116740:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"116746:4:19","nodeType":"YulLiteral","src":"116746:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"116733:6:19","nodeType":"YulIdentifier","src":"116733:6:19"},"nativeSrc":"116733:18:19","nodeType":"YulFunctionCall","src":"116733:18:19"},"nativeSrc":"116733:18:19","nodeType":"YulExpressionStatement","src":"116733:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"116776:4:19","nodeType":"YulLiteral","src":"116776:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"116782:2:19","nodeType":"YulIdentifier","src":"116782:2:19"}],"functionName":{"name":"writeString","nativeSrc":"116764:11:19","nodeType":"YulIdentifier","src":"116764:11:19"},"nativeSrc":"116764:21:19","nodeType":"YulFunctionCall","src":"116764:21:19"},"nativeSrc":"116764:21:19","nodeType":"YulExpressionStatement","src":"116764:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29966,"isOffset":false,"isSlot":false,"src":"116339:2:19","valueSize":1},{"declaration":29969,"isOffset":false,"isSlot":false,"src":"116369:2:19","valueSize":1},{"declaration":29972,"isOffset":false,"isSlot":false,"src":"116399:2:19","valueSize":1},{"declaration":29975,"isOffset":false,"isSlot":false,"src":"116429:2:19","valueSize":1},{"declaration":29978,"isOffset":false,"isSlot":false,"src":"116459:2:19","valueSize":1},{"declaration":29981,"isOffset":false,"isSlot":false,"src":"116489:2:19","valueSize":1},{"declaration":29984,"isOffset":false,"isSlot":false,"src":"116519:2:19","valueSize":1},{"declaration":29956,"isOffset":false,"isSlot":false,"src":"116659:2:19","valueSize":1},{"declaration":29958,"isOffset":false,"isSlot":false,"src":"116688:2:19","valueSize":1},{"declaration":29960,"isOffset":false,"isSlot":false,"src":"116717:2:19","valueSize":1},{"declaration":29962,"isOffset":false,"isSlot":false,"src":"116782:2:19","valueSize":1}],"id":29986,"nodeType":"InlineAssembly","src":"115961:834:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":29988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"116820:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":29989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"116826:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":29987,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"116804:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":29990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"116804:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29991,"nodeType":"ExpressionStatement","src":"116804:27:19"},{"AST":{"nativeSrc":"116893:214:19","nodeType":"YulBlock","src":"116893:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"116914:4:19","nodeType":"YulLiteral","src":"116914:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"116920:2:19","nodeType":"YulIdentifier","src":"116920:2:19"}],"functionName":{"name":"mstore","nativeSrc":"116907:6:19","nodeType":"YulIdentifier","src":"116907:6:19"},"nativeSrc":"116907:16:19","nodeType":"YulFunctionCall","src":"116907:16:19"},"nativeSrc":"116907:16:19","nodeType":"YulExpressionStatement","src":"116907:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"116943:4:19","nodeType":"YulLiteral","src":"116943:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"116949:2:19","nodeType":"YulIdentifier","src":"116949:2:19"}],"functionName":{"name":"mstore","nativeSrc":"116936:6:19","nodeType":"YulIdentifier","src":"116936:6:19"},"nativeSrc":"116936:16:19","nodeType":"YulFunctionCall","src":"116936:16:19"},"nativeSrc":"116936:16:19","nodeType":"YulExpressionStatement","src":"116936:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"116972:4:19","nodeType":"YulLiteral","src":"116972:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"116978:2:19","nodeType":"YulIdentifier","src":"116978:2:19"}],"functionName":{"name":"mstore","nativeSrc":"116965:6:19","nodeType":"YulIdentifier","src":"116965:6:19"},"nativeSrc":"116965:16:19","nodeType":"YulFunctionCall","src":"116965:16:19"},"nativeSrc":"116965:16:19","nodeType":"YulExpressionStatement","src":"116965:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117001:4:19","nodeType":"YulLiteral","src":"117001:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"117007:2:19","nodeType":"YulIdentifier","src":"117007:2:19"}],"functionName":{"name":"mstore","nativeSrc":"116994:6:19","nodeType":"YulIdentifier","src":"116994:6:19"},"nativeSrc":"116994:16:19","nodeType":"YulFunctionCall","src":"116994:16:19"},"nativeSrc":"116994:16:19","nodeType":"YulExpressionStatement","src":"116994:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117030:4:19","nodeType":"YulLiteral","src":"117030:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"117036:2:19","nodeType":"YulIdentifier","src":"117036:2:19"}],"functionName":{"name":"mstore","nativeSrc":"117023:6:19","nodeType":"YulIdentifier","src":"117023:6:19"},"nativeSrc":"117023:16:19","nodeType":"YulFunctionCall","src":"117023:16:19"},"nativeSrc":"117023:16:19","nodeType":"YulExpressionStatement","src":"117023:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117059:4:19","nodeType":"YulLiteral","src":"117059:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"117065:2:19","nodeType":"YulIdentifier","src":"117065:2:19"}],"functionName":{"name":"mstore","nativeSrc":"117052:6:19","nodeType":"YulIdentifier","src":"117052:6:19"},"nativeSrc":"117052:16:19","nodeType":"YulFunctionCall","src":"117052:16:19"},"nativeSrc":"117052:16:19","nodeType":"YulExpressionStatement","src":"117052:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117088:4:19","nodeType":"YulLiteral","src":"117088:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"117094:2:19","nodeType":"YulIdentifier","src":"117094:2:19"}],"functionName":{"name":"mstore","nativeSrc":"117081:6:19","nodeType":"YulIdentifier","src":"117081:6:19"},"nativeSrc":"117081:16:19","nodeType":"YulFunctionCall","src":"117081:16:19"},"nativeSrc":"117081:16:19","nodeType":"YulExpressionStatement","src":"117081:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":29966,"isOffset":false,"isSlot":false,"src":"116920:2:19","valueSize":1},{"declaration":29969,"isOffset":false,"isSlot":false,"src":"116949:2:19","valueSize":1},{"declaration":29972,"isOffset":false,"isSlot":false,"src":"116978:2:19","valueSize":1},{"declaration":29975,"isOffset":false,"isSlot":false,"src":"117007:2:19","valueSize":1},{"declaration":29978,"isOffset":false,"isSlot":false,"src":"117036:2:19","valueSize":1},{"declaration":29981,"isOffset":false,"isSlot":false,"src":"117065:2:19","valueSize":1},{"declaration":29984,"isOffset":false,"isSlot":false,"src":"117094:2:19","valueSize":1}],"id":29992,"nodeType":"InlineAssembly","src":"116884:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"115708:3:19","parameters":{"id":29963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29956,"mutability":"mutable","name":"p0","nameLocation":"115720:2:19","nodeType":"VariableDeclaration","scope":29994,"src":"115712:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29955,"name":"address","nodeType":"ElementaryTypeName","src":"115712:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29958,"mutability":"mutable","name":"p1","nameLocation":"115729:2:19","nodeType":"VariableDeclaration","scope":29994,"src":"115724:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29957,"name":"bool","nodeType":"ElementaryTypeName","src":"115724:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29960,"mutability":"mutable","name":"p2","nameLocation":"115738:2:19","nodeType":"VariableDeclaration","scope":29994,"src":"115733:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29959,"name":"bool","nodeType":"ElementaryTypeName","src":"115733:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29962,"mutability":"mutable","name":"p3","nameLocation":"115750:2:19","nodeType":"VariableDeclaration","scope":29994,"src":"115742:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29961,"name":"bytes32","nodeType":"ElementaryTypeName","src":"115742:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"115711:42:19"},"returnParameters":{"id":29964,"nodeType":"ParameterList","parameters":[],"src":"115768:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30028,"nodeType":"FunctionDefinition","src":"117119:872:19","nodes":[],"body":{"id":30027,"nodeType":"Block","src":"117191:800:19","nodes":[],"statements":[{"assignments":[30006],"declarations":[{"constant":false,"id":30006,"mutability":"mutable","name":"m0","nameLocation":"117209:2:19","nodeType":"VariableDeclaration","scope":30027,"src":"117201:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30005,"name":"bytes32","nodeType":"ElementaryTypeName","src":"117201:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30007,"nodeType":"VariableDeclarationStatement","src":"117201:10:19"},{"assignments":[30009],"declarations":[{"constant":false,"id":30009,"mutability":"mutable","name":"m1","nameLocation":"117229:2:19","nodeType":"VariableDeclaration","scope":30027,"src":"117221:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30008,"name":"bytes32","nodeType":"ElementaryTypeName","src":"117221:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30010,"nodeType":"VariableDeclarationStatement","src":"117221:10:19"},{"assignments":[30012],"declarations":[{"constant":false,"id":30012,"mutability":"mutable","name":"m2","nameLocation":"117249:2:19","nodeType":"VariableDeclaration","scope":30027,"src":"117241:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30011,"name":"bytes32","nodeType":"ElementaryTypeName","src":"117241:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30013,"nodeType":"VariableDeclarationStatement","src":"117241:10:19"},{"assignments":[30015],"declarations":[{"constant":false,"id":30015,"mutability":"mutable","name":"m3","nameLocation":"117269:2:19","nodeType":"VariableDeclaration","scope":30027,"src":"117261:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30014,"name":"bytes32","nodeType":"ElementaryTypeName","src":"117261:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30016,"nodeType":"VariableDeclarationStatement","src":"117261:10:19"},{"assignments":[30018],"declarations":[{"constant":false,"id":30018,"mutability":"mutable","name":"m4","nameLocation":"117289:2:19","nodeType":"VariableDeclaration","scope":30027,"src":"117281:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30017,"name":"bytes32","nodeType":"ElementaryTypeName","src":"117281:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30019,"nodeType":"VariableDeclarationStatement","src":"117281:10:19"},{"AST":{"nativeSrc":"117353:378:19","nodeType":"YulBlock","src":"117353:378:19","statements":[{"nativeSrc":"117367:17:19","nodeType":"YulAssignment","src":"117367:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"117379:4:19","nodeType":"YulLiteral","src":"117379:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"117373:5:19","nodeType":"YulIdentifier","src":"117373:5:19"},"nativeSrc":"117373:11:19","nodeType":"YulFunctionCall","src":"117373:11:19"},"variableNames":[{"name":"m0","nativeSrc":"117367:2:19","nodeType":"YulIdentifier","src":"117367:2:19"}]},{"nativeSrc":"117397:17:19","nodeType":"YulAssignment","src":"117397:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"117409:4:19","nodeType":"YulLiteral","src":"117409:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"117403:5:19","nodeType":"YulIdentifier","src":"117403:5:19"},"nativeSrc":"117403:11:19","nodeType":"YulFunctionCall","src":"117403:11:19"},"variableNames":[{"name":"m1","nativeSrc":"117397:2:19","nodeType":"YulIdentifier","src":"117397:2:19"}]},{"nativeSrc":"117427:17:19","nodeType":"YulAssignment","src":"117427:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"117439:4:19","nodeType":"YulLiteral","src":"117439:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"117433:5:19","nodeType":"YulIdentifier","src":"117433:5:19"},"nativeSrc":"117433:11:19","nodeType":"YulFunctionCall","src":"117433:11:19"},"variableNames":[{"name":"m2","nativeSrc":"117427:2:19","nodeType":"YulIdentifier","src":"117427:2:19"}]},{"nativeSrc":"117457:17:19","nodeType":"YulAssignment","src":"117457:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"117469:4:19","nodeType":"YulLiteral","src":"117469:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"117463:5:19","nodeType":"YulIdentifier","src":"117463:5:19"},"nativeSrc":"117463:11:19","nodeType":"YulFunctionCall","src":"117463:11:19"},"variableNames":[{"name":"m3","nativeSrc":"117457:2:19","nodeType":"YulIdentifier","src":"117457:2:19"}]},{"nativeSrc":"117487:17:19","nodeType":"YulAssignment","src":"117487:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"117499:4:19","nodeType":"YulLiteral","src":"117499:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"117493:5:19","nodeType":"YulIdentifier","src":"117493:5:19"},"nativeSrc":"117493:11:19","nodeType":"YulFunctionCall","src":"117493:11:19"},"variableNames":[{"name":"m4","nativeSrc":"117487:2:19","nodeType":"YulIdentifier","src":"117487:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117588:4:19","nodeType":"YulLiteral","src":"117588:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"117594:10:19","nodeType":"YulLiteral","src":"117594:10:19","type":"","value":"0xccf790a1"}],"functionName":{"name":"mstore","nativeSrc":"117581:6:19","nodeType":"YulIdentifier","src":"117581:6:19"},"nativeSrc":"117581:24:19","nodeType":"YulFunctionCall","src":"117581:24:19"},"nativeSrc":"117581:24:19","nodeType":"YulExpressionStatement","src":"117581:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117625:4:19","nodeType":"YulLiteral","src":"117625:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"117631:2:19","nodeType":"YulIdentifier","src":"117631:2:19"}],"functionName":{"name":"mstore","nativeSrc":"117618:6:19","nodeType":"YulIdentifier","src":"117618:6:19"},"nativeSrc":"117618:16:19","nodeType":"YulFunctionCall","src":"117618:16:19"},"nativeSrc":"117618:16:19","nodeType":"YulExpressionStatement","src":"117618:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117654:4:19","nodeType":"YulLiteral","src":"117654:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"117660:2:19","nodeType":"YulIdentifier","src":"117660:2:19"}],"functionName":{"name":"mstore","nativeSrc":"117647:6:19","nodeType":"YulIdentifier","src":"117647:6:19"},"nativeSrc":"117647:16:19","nodeType":"YulFunctionCall","src":"117647:16:19"},"nativeSrc":"117647:16:19","nodeType":"YulExpressionStatement","src":"117647:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117683:4:19","nodeType":"YulLiteral","src":"117683:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"117689:2:19","nodeType":"YulIdentifier","src":"117689:2:19"}],"functionName":{"name":"mstore","nativeSrc":"117676:6:19","nodeType":"YulIdentifier","src":"117676:6:19"},"nativeSrc":"117676:16:19","nodeType":"YulFunctionCall","src":"117676:16:19"},"nativeSrc":"117676:16:19","nodeType":"YulExpressionStatement","src":"117676:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117712:4:19","nodeType":"YulLiteral","src":"117712:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"117718:2:19","nodeType":"YulIdentifier","src":"117718:2:19"}],"functionName":{"name":"mstore","nativeSrc":"117705:6:19","nodeType":"YulIdentifier","src":"117705:6:19"},"nativeSrc":"117705:16:19","nodeType":"YulFunctionCall","src":"117705:16:19"},"nativeSrc":"117705:16:19","nodeType":"YulExpressionStatement","src":"117705:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30006,"isOffset":false,"isSlot":false,"src":"117367:2:19","valueSize":1},{"declaration":30009,"isOffset":false,"isSlot":false,"src":"117397:2:19","valueSize":1},{"declaration":30012,"isOffset":false,"isSlot":false,"src":"117427:2:19","valueSize":1},{"declaration":30015,"isOffset":false,"isSlot":false,"src":"117457:2:19","valueSize":1},{"declaration":30018,"isOffset":false,"isSlot":false,"src":"117487:2:19","valueSize":1},{"declaration":29996,"isOffset":false,"isSlot":false,"src":"117631:2:19","valueSize":1},{"declaration":29998,"isOffset":false,"isSlot":false,"src":"117660:2:19","valueSize":1},{"declaration":30000,"isOffset":false,"isSlot":false,"src":"117689:2:19","valueSize":1},{"declaration":30002,"isOffset":false,"isSlot":false,"src":"117718:2:19","valueSize":1}],"id":30020,"nodeType":"InlineAssembly","src":"117344:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"117756:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"117762:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30021,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"117740:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"117740:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30025,"nodeType":"ExpressionStatement","src":"117740:27:19"},{"AST":{"nativeSrc":"117829:156:19","nodeType":"YulBlock","src":"117829:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"117850:4:19","nodeType":"YulLiteral","src":"117850:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"117856:2:19","nodeType":"YulIdentifier","src":"117856:2:19"}],"functionName":{"name":"mstore","nativeSrc":"117843:6:19","nodeType":"YulIdentifier","src":"117843:6:19"},"nativeSrc":"117843:16:19","nodeType":"YulFunctionCall","src":"117843:16:19"},"nativeSrc":"117843:16:19","nodeType":"YulExpressionStatement","src":"117843:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117879:4:19","nodeType":"YulLiteral","src":"117879:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"117885:2:19","nodeType":"YulIdentifier","src":"117885:2:19"}],"functionName":{"name":"mstore","nativeSrc":"117872:6:19","nodeType":"YulIdentifier","src":"117872:6:19"},"nativeSrc":"117872:16:19","nodeType":"YulFunctionCall","src":"117872:16:19"},"nativeSrc":"117872:16:19","nodeType":"YulExpressionStatement","src":"117872:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117908:4:19","nodeType":"YulLiteral","src":"117908:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"117914:2:19","nodeType":"YulIdentifier","src":"117914:2:19"}],"functionName":{"name":"mstore","nativeSrc":"117901:6:19","nodeType":"YulIdentifier","src":"117901:6:19"},"nativeSrc":"117901:16:19","nodeType":"YulFunctionCall","src":"117901:16:19"},"nativeSrc":"117901:16:19","nodeType":"YulExpressionStatement","src":"117901:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117937:4:19","nodeType":"YulLiteral","src":"117937:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"117943:2:19","nodeType":"YulIdentifier","src":"117943:2:19"}],"functionName":{"name":"mstore","nativeSrc":"117930:6:19","nodeType":"YulIdentifier","src":"117930:6:19"},"nativeSrc":"117930:16:19","nodeType":"YulFunctionCall","src":"117930:16:19"},"nativeSrc":"117930:16:19","nodeType":"YulExpressionStatement","src":"117930:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"117966:4:19","nodeType":"YulLiteral","src":"117966:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"117972:2:19","nodeType":"YulIdentifier","src":"117972:2:19"}],"functionName":{"name":"mstore","nativeSrc":"117959:6:19","nodeType":"YulIdentifier","src":"117959:6:19"},"nativeSrc":"117959:16:19","nodeType":"YulFunctionCall","src":"117959:16:19"},"nativeSrc":"117959:16:19","nodeType":"YulExpressionStatement","src":"117959:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30006,"isOffset":false,"isSlot":false,"src":"117856:2:19","valueSize":1},{"declaration":30009,"isOffset":false,"isSlot":false,"src":"117885:2:19","valueSize":1},{"declaration":30012,"isOffset":false,"isSlot":false,"src":"117914:2:19","valueSize":1},{"declaration":30015,"isOffset":false,"isSlot":false,"src":"117943:2:19","valueSize":1},{"declaration":30018,"isOffset":false,"isSlot":false,"src":"117972:2:19","valueSize":1}],"id":30026,"nodeType":"InlineAssembly","src":"117820:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"117128:3:19","parameters":{"id":30003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29996,"mutability":"mutable","name":"p0","nameLocation":"117140:2:19","nodeType":"VariableDeclaration","scope":30028,"src":"117132:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29995,"name":"address","nodeType":"ElementaryTypeName","src":"117132:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29998,"mutability":"mutable","name":"p1","nameLocation":"117149:2:19","nodeType":"VariableDeclaration","scope":30028,"src":"117144:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29997,"name":"bool","nodeType":"ElementaryTypeName","src":"117144:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30000,"mutability":"mutable","name":"p2","nameLocation":"117161:2:19","nodeType":"VariableDeclaration","scope":30028,"src":"117153:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29999,"name":"uint256","nodeType":"ElementaryTypeName","src":"117153:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30002,"mutability":"mutable","name":"p3","nameLocation":"117173:2:19","nodeType":"VariableDeclaration","scope":30028,"src":"117165:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30001,"name":"address","nodeType":"ElementaryTypeName","src":"117165:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"117131:45:19"},"returnParameters":{"id":30004,"nodeType":"ParameterList","parameters":[],"src":"117191:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30062,"nodeType":"FunctionDefinition","src":"117997:866:19","nodes":[],"body":{"id":30061,"nodeType":"Block","src":"118066:797:19","nodes":[],"statements":[{"assignments":[30040],"declarations":[{"constant":false,"id":30040,"mutability":"mutable","name":"m0","nameLocation":"118084:2:19","nodeType":"VariableDeclaration","scope":30061,"src":"118076:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30039,"name":"bytes32","nodeType":"ElementaryTypeName","src":"118076:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30041,"nodeType":"VariableDeclarationStatement","src":"118076:10:19"},{"assignments":[30043],"declarations":[{"constant":false,"id":30043,"mutability":"mutable","name":"m1","nameLocation":"118104:2:19","nodeType":"VariableDeclaration","scope":30061,"src":"118096:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30042,"name":"bytes32","nodeType":"ElementaryTypeName","src":"118096:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30044,"nodeType":"VariableDeclarationStatement","src":"118096:10:19"},{"assignments":[30046],"declarations":[{"constant":false,"id":30046,"mutability":"mutable","name":"m2","nameLocation":"118124:2:19","nodeType":"VariableDeclaration","scope":30061,"src":"118116:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30045,"name":"bytes32","nodeType":"ElementaryTypeName","src":"118116:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30047,"nodeType":"VariableDeclarationStatement","src":"118116:10:19"},{"assignments":[30049],"declarations":[{"constant":false,"id":30049,"mutability":"mutable","name":"m3","nameLocation":"118144:2:19","nodeType":"VariableDeclaration","scope":30061,"src":"118136:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30048,"name":"bytes32","nodeType":"ElementaryTypeName","src":"118136:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30050,"nodeType":"VariableDeclarationStatement","src":"118136:10:19"},{"assignments":[30052],"declarations":[{"constant":false,"id":30052,"mutability":"mutable","name":"m4","nameLocation":"118164:2:19","nodeType":"VariableDeclaration","scope":30061,"src":"118156:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30051,"name":"bytes32","nodeType":"ElementaryTypeName","src":"118156:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30053,"nodeType":"VariableDeclarationStatement","src":"118156:10:19"},{"AST":{"nativeSrc":"118228:375:19","nodeType":"YulBlock","src":"118228:375:19","statements":[{"nativeSrc":"118242:17:19","nodeType":"YulAssignment","src":"118242:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"118254:4:19","nodeType":"YulLiteral","src":"118254:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"118248:5:19","nodeType":"YulIdentifier","src":"118248:5:19"},"nativeSrc":"118248:11:19","nodeType":"YulFunctionCall","src":"118248:11:19"},"variableNames":[{"name":"m0","nativeSrc":"118242:2:19","nodeType":"YulIdentifier","src":"118242:2:19"}]},{"nativeSrc":"118272:17:19","nodeType":"YulAssignment","src":"118272:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"118284:4:19","nodeType":"YulLiteral","src":"118284:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"118278:5:19","nodeType":"YulIdentifier","src":"118278:5:19"},"nativeSrc":"118278:11:19","nodeType":"YulFunctionCall","src":"118278:11:19"},"variableNames":[{"name":"m1","nativeSrc":"118272:2:19","nodeType":"YulIdentifier","src":"118272:2:19"}]},{"nativeSrc":"118302:17:19","nodeType":"YulAssignment","src":"118302:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"118314:4:19","nodeType":"YulLiteral","src":"118314:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"118308:5:19","nodeType":"YulIdentifier","src":"118308:5:19"},"nativeSrc":"118308:11:19","nodeType":"YulFunctionCall","src":"118308:11:19"},"variableNames":[{"name":"m2","nativeSrc":"118302:2:19","nodeType":"YulIdentifier","src":"118302:2:19"}]},{"nativeSrc":"118332:17:19","nodeType":"YulAssignment","src":"118332:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"118344:4:19","nodeType":"YulLiteral","src":"118344:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"118338:5:19","nodeType":"YulIdentifier","src":"118338:5:19"},"nativeSrc":"118338:11:19","nodeType":"YulFunctionCall","src":"118338:11:19"},"variableNames":[{"name":"m3","nativeSrc":"118332:2:19","nodeType":"YulIdentifier","src":"118332:2:19"}]},{"nativeSrc":"118362:17:19","nodeType":"YulAssignment","src":"118362:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"118374:4:19","nodeType":"YulLiteral","src":"118374:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"118368:5:19","nodeType":"YulIdentifier","src":"118368:5:19"},"nativeSrc":"118368:11:19","nodeType":"YulFunctionCall","src":"118368:11:19"},"variableNames":[{"name":"m4","nativeSrc":"118362:2:19","nodeType":"YulIdentifier","src":"118362:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118460:4:19","nodeType":"YulLiteral","src":"118460:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"118466:10:19","nodeType":"YulLiteral","src":"118466:10:19","type":"","value":"0xc4643e20"}],"functionName":{"name":"mstore","nativeSrc":"118453:6:19","nodeType":"YulIdentifier","src":"118453:6:19"},"nativeSrc":"118453:24:19","nodeType":"YulFunctionCall","src":"118453:24:19"},"nativeSrc":"118453:24:19","nodeType":"YulExpressionStatement","src":"118453:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118497:4:19","nodeType":"YulLiteral","src":"118497:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"118503:2:19","nodeType":"YulIdentifier","src":"118503:2:19"}],"functionName":{"name":"mstore","nativeSrc":"118490:6:19","nodeType":"YulIdentifier","src":"118490:6:19"},"nativeSrc":"118490:16:19","nodeType":"YulFunctionCall","src":"118490:16:19"},"nativeSrc":"118490:16:19","nodeType":"YulExpressionStatement","src":"118490:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118526:4:19","nodeType":"YulLiteral","src":"118526:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"118532:2:19","nodeType":"YulIdentifier","src":"118532:2:19"}],"functionName":{"name":"mstore","nativeSrc":"118519:6:19","nodeType":"YulIdentifier","src":"118519:6:19"},"nativeSrc":"118519:16:19","nodeType":"YulFunctionCall","src":"118519:16:19"},"nativeSrc":"118519:16:19","nodeType":"YulExpressionStatement","src":"118519:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118555:4:19","nodeType":"YulLiteral","src":"118555:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"118561:2:19","nodeType":"YulIdentifier","src":"118561:2:19"}],"functionName":{"name":"mstore","nativeSrc":"118548:6:19","nodeType":"YulIdentifier","src":"118548:6:19"},"nativeSrc":"118548:16:19","nodeType":"YulFunctionCall","src":"118548:16:19"},"nativeSrc":"118548:16:19","nodeType":"YulExpressionStatement","src":"118548:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118584:4:19","nodeType":"YulLiteral","src":"118584:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"118590:2:19","nodeType":"YulIdentifier","src":"118590:2:19"}],"functionName":{"name":"mstore","nativeSrc":"118577:6:19","nodeType":"YulIdentifier","src":"118577:6:19"},"nativeSrc":"118577:16:19","nodeType":"YulFunctionCall","src":"118577:16:19"},"nativeSrc":"118577:16:19","nodeType":"YulExpressionStatement","src":"118577:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30040,"isOffset":false,"isSlot":false,"src":"118242:2:19","valueSize":1},{"declaration":30043,"isOffset":false,"isSlot":false,"src":"118272:2:19","valueSize":1},{"declaration":30046,"isOffset":false,"isSlot":false,"src":"118302:2:19","valueSize":1},{"declaration":30049,"isOffset":false,"isSlot":false,"src":"118332:2:19","valueSize":1},{"declaration":30052,"isOffset":false,"isSlot":false,"src":"118362:2:19","valueSize":1},{"declaration":30030,"isOffset":false,"isSlot":false,"src":"118503:2:19","valueSize":1},{"declaration":30032,"isOffset":false,"isSlot":false,"src":"118532:2:19","valueSize":1},{"declaration":30034,"isOffset":false,"isSlot":false,"src":"118561:2:19","valueSize":1},{"declaration":30036,"isOffset":false,"isSlot":false,"src":"118590:2:19","valueSize":1}],"id":30054,"nodeType":"InlineAssembly","src":"118219:384:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"118628:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"118634:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30055,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"118612:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"118612:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30059,"nodeType":"ExpressionStatement","src":"118612:27:19"},{"AST":{"nativeSrc":"118701:156:19","nodeType":"YulBlock","src":"118701:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"118722:4:19","nodeType":"YulLiteral","src":"118722:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"118728:2:19","nodeType":"YulIdentifier","src":"118728:2:19"}],"functionName":{"name":"mstore","nativeSrc":"118715:6:19","nodeType":"YulIdentifier","src":"118715:6:19"},"nativeSrc":"118715:16:19","nodeType":"YulFunctionCall","src":"118715:16:19"},"nativeSrc":"118715:16:19","nodeType":"YulExpressionStatement","src":"118715:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118751:4:19","nodeType":"YulLiteral","src":"118751:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"118757:2:19","nodeType":"YulIdentifier","src":"118757:2:19"}],"functionName":{"name":"mstore","nativeSrc":"118744:6:19","nodeType":"YulIdentifier","src":"118744:6:19"},"nativeSrc":"118744:16:19","nodeType":"YulFunctionCall","src":"118744:16:19"},"nativeSrc":"118744:16:19","nodeType":"YulExpressionStatement","src":"118744:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118780:4:19","nodeType":"YulLiteral","src":"118780:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"118786:2:19","nodeType":"YulIdentifier","src":"118786:2:19"}],"functionName":{"name":"mstore","nativeSrc":"118773:6:19","nodeType":"YulIdentifier","src":"118773:6:19"},"nativeSrc":"118773:16:19","nodeType":"YulFunctionCall","src":"118773:16:19"},"nativeSrc":"118773:16:19","nodeType":"YulExpressionStatement","src":"118773:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118809:4:19","nodeType":"YulLiteral","src":"118809:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"118815:2:19","nodeType":"YulIdentifier","src":"118815:2:19"}],"functionName":{"name":"mstore","nativeSrc":"118802:6:19","nodeType":"YulIdentifier","src":"118802:6:19"},"nativeSrc":"118802:16:19","nodeType":"YulFunctionCall","src":"118802:16:19"},"nativeSrc":"118802:16:19","nodeType":"YulExpressionStatement","src":"118802:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"118838:4:19","nodeType":"YulLiteral","src":"118838:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"118844:2:19","nodeType":"YulIdentifier","src":"118844:2:19"}],"functionName":{"name":"mstore","nativeSrc":"118831:6:19","nodeType":"YulIdentifier","src":"118831:6:19"},"nativeSrc":"118831:16:19","nodeType":"YulFunctionCall","src":"118831:16:19"},"nativeSrc":"118831:16:19","nodeType":"YulExpressionStatement","src":"118831:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30040,"isOffset":false,"isSlot":false,"src":"118728:2:19","valueSize":1},{"declaration":30043,"isOffset":false,"isSlot":false,"src":"118757:2:19","valueSize":1},{"declaration":30046,"isOffset":false,"isSlot":false,"src":"118786:2:19","valueSize":1},{"declaration":30049,"isOffset":false,"isSlot":false,"src":"118815:2:19","valueSize":1},{"declaration":30052,"isOffset":false,"isSlot":false,"src":"118844:2:19","valueSize":1}],"id":30060,"nodeType":"InlineAssembly","src":"118692:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"118006:3:19","parameters":{"id":30037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30030,"mutability":"mutable","name":"p0","nameLocation":"118018:2:19","nodeType":"VariableDeclaration","scope":30062,"src":"118010:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30029,"name":"address","nodeType":"ElementaryTypeName","src":"118010:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30032,"mutability":"mutable","name":"p1","nameLocation":"118027:2:19","nodeType":"VariableDeclaration","scope":30062,"src":"118022:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30031,"name":"bool","nodeType":"ElementaryTypeName","src":"118022:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30034,"mutability":"mutable","name":"p2","nameLocation":"118039:2:19","nodeType":"VariableDeclaration","scope":30062,"src":"118031:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30033,"name":"uint256","nodeType":"ElementaryTypeName","src":"118031:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30036,"mutability":"mutable","name":"p3","nameLocation":"118048:2:19","nodeType":"VariableDeclaration","scope":30062,"src":"118043:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30035,"name":"bool","nodeType":"ElementaryTypeName","src":"118043:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"118009:42:19"},"returnParameters":{"id":30038,"nodeType":"ParameterList","parameters":[],"src":"118066:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30096,"nodeType":"FunctionDefinition","src":"118869:872:19","nodes":[],"body":{"id":30095,"nodeType":"Block","src":"118941:800:19","nodes":[],"statements":[{"assignments":[30074],"declarations":[{"constant":false,"id":30074,"mutability":"mutable","name":"m0","nameLocation":"118959:2:19","nodeType":"VariableDeclaration","scope":30095,"src":"118951:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30073,"name":"bytes32","nodeType":"ElementaryTypeName","src":"118951:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30075,"nodeType":"VariableDeclarationStatement","src":"118951:10:19"},{"assignments":[30077],"declarations":[{"constant":false,"id":30077,"mutability":"mutable","name":"m1","nameLocation":"118979:2:19","nodeType":"VariableDeclaration","scope":30095,"src":"118971:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30076,"name":"bytes32","nodeType":"ElementaryTypeName","src":"118971:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30078,"nodeType":"VariableDeclarationStatement","src":"118971:10:19"},{"assignments":[30080],"declarations":[{"constant":false,"id":30080,"mutability":"mutable","name":"m2","nameLocation":"118999:2:19","nodeType":"VariableDeclaration","scope":30095,"src":"118991:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30079,"name":"bytes32","nodeType":"ElementaryTypeName","src":"118991:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30081,"nodeType":"VariableDeclarationStatement","src":"118991:10:19"},{"assignments":[30083],"declarations":[{"constant":false,"id":30083,"mutability":"mutable","name":"m3","nameLocation":"119019:2:19","nodeType":"VariableDeclaration","scope":30095,"src":"119011:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30082,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119011:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30084,"nodeType":"VariableDeclarationStatement","src":"119011:10:19"},{"assignments":[30086],"declarations":[{"constant":false,"id":30086,"mutability":"mutable","name":"m4","nameLocation":"119039:2:19","nodeType":"VariableDeclaration","scope":30095,"src":"119031:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30085,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119031:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30087,"nodeType":"VariableDeclarationStatement","src":"119031:10:19"},{"AST":{"nativeSrc":"119103:378:19","nodeType":"YulBlock","src":"119103:378:19","statements":[{"nativeSrc":"119117:17:19","nodeType":"YulAssignment","src":"119117:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"119129:4:19","nodeType":"YulLiteral","src":"119129:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"119123:5:19","nodeType":"YulIdentifier","src":"119123:5:19"},"nativeSrc":"119123:11:19","nodeType":"YulFunctionCall","src":"119123:11:19"},"variableNames":[{"name":"m0","nativeSrc":"119117:2:19","nodeType":"YulIdentifier","src":"119117:2:19"}]},{"nativeSrc":"119147:17:19","nodeType":"YulAssignment","src":"119147:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"119159:4:19","nodeType":"YulLiteral","src":"119159:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"119153:5:19","nodeType":"YulIdentifier","src":"119153:5:19"},"nativeSrc":"119153:11:19","nodeType":"YulFunctionCall","src":"119153:11:19"},"variableNames":[{"name":"m1","nativeSrc":"119147:2:19","nodeType":"YulIdentifier","src":"119147:2:19"}]},{"nativeSrc":"119177:17:19","nodeType":"YulAssignment","src":"119177:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"119189:4:19","nodeType":"YulLiteral","src":"119189:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"119183:5:19","nodeType":"YulIdentifier","src":"119183:5:19"},"nativeSrc":"119183:11:19","nodeType":"YulFunctionCall","src":"119183:11:19"},"variableNames":[{"name":"m2","nativeSrc":"119177:2:19","nodeType":"YulIdentifier","src":"119177:2:19"}]},{"nativeSrc":"119207:17:19","nodeType":"YulAssignment","src":"119207:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"119219:4:19","nodeType":"YulLiteral","src":"119219:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"119213:5:19","nodeType":"YulIdentifier","src":"119213:5:19"},"nativeSrc":"119213:11:19","nodeType":"YulFunctionCall","src":"119213:11:19"},"variableNames":[{"name":"m3","nativeSrc":"119207:2:19","nodeType":"YulIdentifier","src":"119207:2:19"}]},{"nativeSrc":"119237:17:19","nodeType":"YulAssignment","src":"119237:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"119249:4:19","nodeType":"YulLiteral","src":"119249:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"119243:5:19","nodeType":"YulIdentifier","src":"119243:5:19"},"nativeSrc":"119243:11:19","nodeType":"YulFunctionCall","src":"119243:11:19"},"variableNames":[{"name":"m4","nativeSrc":"119237:2:19","nodeType":"YulIdentifier","src":"119237:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119338:4:19","nodeType":"YulLiteral","src":"119338:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"119344:10:19","nodeType":"YulLiteral","src":"119344:10:19","type":"","value":"0x386ff5f4"}],"functionName":{"name":"mstore","nativeSrc":"119331:6:19","nodeType":"YulIdentifier","src":"119331:6:19"},"nativeSrc":"119331:24:19","nodeType":"YulFunctionCall","src":"119331:24:19"},"nativeSrc":"119331:24:19","nodeType":"YulExpressionStatement","src":"119331:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119375:4:19","nodeType":"YulLiteral","src":"119375:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"119381:2:19","nodeType":"YulIdentifier","src":"119381:2:19"}],"functionName":{"name":"mstore","nativeSrc":"119368:6:19","nodeType":"YulIdentifier","src":"119368:6:19"},"nativeSrc":"119368:16:19","nodeType":"YulFunctionCall","src":"119368:16:19"},"nativeSrc":"119368:16:19","nodeType":"YulExpressionStatement","src":"119368:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119404:4:19","nodeType":"YulLiteral","src":"119404:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"119410:2:19","nodeType":"YulIdentifier","src":"119410:2:19"}],"functionName":{"name":"mstore","nativeSrc":"119397:6:19","nodeType":"YulIdentifier","src":"119397:6:19"},"nativeSrc":"119397:16:19","nodeType":"YulFunctionCall","src":"119397:16:19"},"nativeSrc":"119397:16:19","nodeType":"YulExpressionStatement","src":"119397:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119433:4:19","nodeType":"YulLiteral","src":"119433:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"119439:2:19","nodeType":"YulIdentifier","src":"119439:2:19"}],"functionName":{"name":"mstore","nativeSrc":"119426:6:19","nodeType":"YulIdentifier","src":"119426:6:19"},"nativeSrc":"119426:16:19","nodeType":"YulFunctionCall","src":"119426:16:19"},"nativeSrc":"119426:16:19","nodeType":"YulExpressionStatement","src":"119426:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119462:4:19","nodeType":"YulLiteral","src":"119462:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"119468:2:19","nodeType":"YulIdentifier","src":"119468:2:19"}],"functionName":{"name":"mstore","nativeSrc":"119455:6:19","nodeType":"YulIdentifier","src":"119455:6:19"},"nativeSrc":"119455:16:19","nodeType":"YulFunctionCall","src":"119455:16:19"},"nativeSrc":"119455:16:19","nodeType":"YulExpressionStatement","src":"119455:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30074,"isOffset":false,"isSlot":false,"src":"119117:2:19","valueSize":1},{"declaration":30077,"isOffset":false,"isSlot":false,"src":"119147:2:19","valueSize":1},{"declaration":30080,"isOffset":false,"isSlot":false,"src":"119177:2:19","valueSize":1},{"declaration":30083,"isOffset":false,"isSlot":false,"src":"119207:2:19","valueSize":1},{"declaration":30086,"isOffset":false,"isSlot":false,"src":"119237:2:19","valueSize":1},{"declaration":30064,"isOffset":false,"isSlot":false,"src":"119381:2:19","valueSize":1},{"declaration":30066,"isOffset":false,"isSlot":false,"src":"119410:2:19","valueSize":1},{"declaration":30068,"isOffset":false,"isSlot":false,"src":"119439:2:19","valueSize":1},{"declaration":30070,"isOffset":false,"isSlot":false,"src":"119468:2:19","valueSize":1}],"id":30088,"nodeType":"InlineAssembly","src":"119094:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"119506:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"119512:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30089,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"119490:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"119490:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30093,"nodeType":"ExpressionStatement","src":"119490:27:19"},{"AST":{"nativeSrc":"119579:156:19","nodeType":"YulBlock","src":"119579:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"119600:4:19","nodeType":"YulLiteral","src":"119600:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"119606:2:19","nodeType":"YulIdentifier","src":"119606:2:19"}],"functionName":{"name":"mstore","nativeSrc":"119593:6:19","nodeType":"YulIdentifier","src":"119593:6:19"},"nativeSrc":"119593:16:19","nodeType":"YulFunctionCall","src":"119593:16:19"},"nativeSrc":"119593:16:19","nodeType":"YulExpressionStatement","src":"119593:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119629:4:19","nodeType":"YulLiteral","src":"119629:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"119635:2:19","nodeType":"YulIdentifier","src":"119635:2:19"}],"functionName":{"name":"mstore","nativeSrc":"119622:6:19","nodeType":"YulIdentifier","src":"119622:6:19"},"nativeSrc":"119622:16:19","nodeType":"YulFunctionCall","src":"119622:16:19"},"nativeSrc":"119622:16:19","nodeType":"YulExpressionStatement","src":"119622:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119658:4:19","nodeType":"YulLiteral","src":"119658:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"119664:2:19","nodeType":"YulIdentifier","src":"119664:2:19"}],"functionName":{"name":"mstore","nativeSrc":"119651:6:19","nodeType":"YulIdentifier","src":"119651:6:19"},"nativeSrc":"119651:16:19","nodeType":"YulFunctionCall","src":"119651:16:19"},"nativeSrc":"119651:16:19","nodeType":"YulExpressionStatement","src":"119651:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119687:4:19","nodeType":"YulLiteral","src":"119687:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"119693:2:19","nodeType":"YulIdentifier","src":"119693:2:19"}],"functionName":{"name":"mstore","nativeSrc":"119680:6:19","nodeType":"YulIdentifier","src":"119680:6:19"},"nativeSrc":"119680:16:19","nodeType":"YulFunctionCall","src":"119680:16:19"},"nativeSrc":"119680:16:19","nodeType":"YulExpressionStatement","src":"119680:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"119716:4:19","nodeType":"YulLiteral","src":"119716:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"119722:2:19","nodeType":"YulIdentifier","src":"119722:2:19"}],"functionName":{"name":"mstore","nativeSrc":"119709:6:19","nodeType":"YulIdentifier","src":"119709:6:19"},"nativeSrc":"119709:16:19","nodeType":"YulFunctionCall","src":"119709:16:19"},"nativeSrc":"119709:16:19","nodeType":"YulExpressionStatement","src":"119709:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30074,"isOffset":false,"isSlot":false,"src":"119606:2:19","valueSize":1},{"declaration":30077,"isOffset":false,"isSlot":false,"src":"119635:2:19","valueSize":1},{"declaration":30080,"isOffset":false,"isSlot":false,"src":"119664:2:19","valueSize":1},{"declaration":30083,"isOffset":false,"isSlot":false,"src":"119693:2:19","valueSize":1},{"declaration":30086,"isOffset":false,"isSlot":false,"src":"119722:2:19","valueSize":1}],"id":30094,"nodeType":"InlineAssembly","src":"119570:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"118878:3:19","parameters":{"id":30071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30064,"mutability":"mutable","name":"p0","nameLocation":"118890:2:19","nodeType":"VariableDeclaration","scope":30096,"src":"118882:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30063,"name":"address","nodeType":"ElementaryTypeName","src":"118882:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30066,"mutability":"mutable","name":"p1","nameLocation":"118899:2:19","nodeType":"VariableDeclaration","scope":30096,"src":"118894:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30065,"name":"bool","nodeType":"ElementaryTypeName","src":"118894:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30068,"mutability":"mutable","name":"p2","nameLocation":"118911:2:19","nodeType":"VariableDeclaration","scope":30096,"src":"118903:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30067,"name":"uint256","nodeType":"ElementaryTypeName","src":"118903:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30070,"mutability":"mutable","name":"p3","nameLocation":"118923:2:19","nodeType":"VariableDeclaration","scope":30096,"src":"118915:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30069,"name":"uint256","nodeType":"ElementaryTypeName","src":"118915:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"118881:45:19"},"returnParameters":{"id":30072,"nodeType":"ParameterList","parameters":[],"src":"118941:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30136,"nodeType":"FunctionDefinition","src":"119747:1420:19","nodes":[],"body":{"id":30135,"nodeType":"Block","src":"119819:1348:19","nodes":[],"statements":[{"assignments":[30108],"declarations":[{"constant":false,"id":30108,"mutability":"mutable","name":"m0","nameLocation":"119837:2:19","nodeType":"VariableDeclaration","scope":30135,"src":"119829:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30107,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119829:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30109,"nodeType":"VariableDeclarationStatement","src":"119829:10:19"},{"assignments":[30111],"declarations":[{"constant":false,"id":30111,"mutability":"mutable","name":"m1","nameLocation":"119857:2:19","nodeType":"VariableDeclaration","scope":30135,"src":"119849:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30110,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119849:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30112,"nodeType":"VariableDeclarationStatement","src":"119849:10:19"},{"assignments":[30114],"declarations":[{"constant":false,"id":30114,"mutability":"mutable","name":"m2","nameLocation":"119877:2:19","nodeType":"VariableDeclaration","scope":30135,"src":"119869:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30113,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119869:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30115,"nodeType":"VariableDeclarationStatement","src":"119869:10:19"},{"assignments":[30117],"declarations":[{"constant":false,"id":30117,"mutability":"mutable","name":"m3","nameLocation":"119897:2:19","nodeType":"VariableDeclaration","scope":30135,"src":"119889:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30116,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119889:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30118,"nodeType":"VariableDeclarationStatement","src":"119889:10:19"},{"assignments":[30120],"declarations":[{"constant":false,"id":30120,"mutability":"mutable","name":"m4","nameLocation":"119917:2:19","nodeType":"VariableDeclaration","scope":30135,"src":"119909:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30119,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119909:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30121,"nodeType":"VariableDeclarationStatement","src":"119909:10:19"},{"assignments":[30123],"declarations":[{"constant":false,"id":30123,"mutability":"mutable","name":"m5","nameLocation":"119937:2:19","nodeType":"VariableDeclaration","scope":30135,"src":"119929:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30122,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119929:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30124,"nodeType":"VariableDeclarationStatement","src":"119929:10:19"},{"assignments":[30126],"declarations":[{"constant":false,"id":30126,"mutability":"mutable","name":"m6","nameLocation":"119957:2:19","nodeType":"VariableDeclaration","scope":30135,"src":"119949:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119949:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30127,"nodeType":"VariableDeclarationStatement","src":"119949:10:19"},{"AST":{"nativeSrc":"120021:828:19","nodeType":"YulBlock","src":"120021:828:19","statements":[{"body":{"nativeSrc":"120064:313:19","nodeType":"YulBlock","src":"120064:313:19","statements":[{"nativeSrc":"120082:15:19","nodeType":"YulVariableDeclaration","src":"120082:15:19","value":{"kind":"number","nativeSrc":"120096:1:19","nodeType":"YulLiteral","src":"120096:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"120086:6:19","nodeType":"YulTypedName","src":"120086:6:19","type":""}]},{"body":{"nativeSrc":"120167:40:19","nodeType":"YulBlock","src":"120167:40:19","statements":[{"body":{"nativeSrc":"120196:9:19","nodeType":"YulBlock","src":"120196:9:19","statements":[{"nativeSrc":"120198:5:19","nodeType":"YulBreak","src":"120198:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"120184:6:19","nodeType":"YulIdentifier","src":"120184:6:19"},{"name":"w","nativeSrc":"120192:1:19","nodeType":"YulIdentifier","src":"120192:1:19"}],"functionName":{"name":"byte","nativeSrc":"120179:4:19","nodeType":"YulIdentifier","src":"120179:4:19"},"nativeSrc":"120179:15:19","nodeType":"YulFunctionCall","src":"120179:15:19"}],"functionName":{"name":"iszero","nativeSrc":"120172:6:19","nodeType":"YulIdentifier","src":"120172:6:19"},"nativeSrc":"120172:23:19","nodeType":"YulFunctionCall","src":"120172:23:19"},"nativeSrc":"120169:36:19","nodeType":"YulIf","src":"120169:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"120124:6:19","nodeType":"YulIdentifier","src":"120124:6:19"},{"kind":"number","nativeSrc":"120132:4:19","nodeType":"YulLiteral","src":"120132:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"120121:2:19","nodeType":"YulIdentifier","src":"120121:2:19"},"nativeSrc":"120121:16:19","nodeType":"YulFunctionCall","src":"120121:16:19"},"nativeSrc":"120114:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"120138:28:19","nodeType":"YulBlock","src":"120138:28:19","statements":[{"nativeSrc":"120140:24:19","nodeType":"YulAssignment","src":"120140:24:19","value":{"arguments":[{"name":"length","nativeSrc":"120154:6:19","nodeType":"YulIdentifier","src":"120154:6:19"},{"kind":"number","nativeSrc":"120162:1:19","nodeType":"YulLiteral","src":"120162:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"120150:3:19","nodeType":"YulIdentifier","src":"120150:3:19"},"nativeSrc":"120150:14:19","nodeType":"YulFunctionCall","src":"120150:14:19"},"variableNames":[{"name":"length","nativeSrc":"120140:6:19","nodeType":"YulIdentifier","src":"120140:6:19"}]}]},"pre":{"nativeSrc":"120118:2:19","nodeType":"YulBlock","src":"120118:2:19","statements":[]},"src":"120114:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"120231:3:19","nodeType":"YulIdentifier","src":"120231:3:19"},{"name":"length","nativeSrc":"120236:6:19","nodeType":"YulIdentifier","src":"120236:6:19"}],"functionName":{"name":"mstore","nativeSrc":"120224:6:19","nodeType":"YulIdentifier","src":"120224:6:19"},"nativeSrc":"120224:19:19","nodeType":"YulFunctionCall","src":"120224:19:19"},"nativeSrc":"120224:19:19","nodeType":"YulExpressionStatement","src":"120224:19:19"},{"nativeSrc":"120260:37:19","nodeType":"YulVariableDeclaration","src":"120260:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"120277:3:19","nodeType":"YulLiteral","src":"120277:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"120286:1:19","nodeType":"YulLiteral","src":"120286:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"120289:6:19","nodeType":"YulIdentifier","src":"120289:6:19"}],"functionName":{"name":"shl","nativeSrc":"120282:3:19","nodeType":"YulIdentifier","src":"120282:3:19"},"nativeSrc":"120282:14:19","nodeType":"YulFunctionCall","src":"120282:14:19"}],"functionName":{"name":"sub","nativeSrc":"120273:3:19","nodeType":"YulIdentifier","src":"120273:3:19"},"nativeSrc":"120273:24:19","nodeType":"YulFunctionCall","src":"120273:24:19"},"variables":[{"name":"shift","nativeSrc":"120264:5:19","nodeType":"YulTypedName","src":"120264:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"120325:3:19","nodeType":"YulIdentifier","src":"120325:3:19"},{"kind":"number","nativeSrc":"120330:4:19","nodeType":"YulLiteral","src":"120330:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"120321:3:19","nodeType":"YulIdentifier","src":"120321:3:19"},"nativeSrc":"120321:14:19","nodeType":"YulFunctionCall","src":"120321:14:19"},{"arguments":[{"name":"shift","nativeSrc":"120341:5:19","nodeType":"YulIdentifier","src":"120341:5:19"},{"arguments":[{"name":"shift","nativeSrc":"120352:5:19","nodeType":"YulIdentifier","src":"120352:5:19"},{"name":"w","nativeSrc":"120359:1:19","nodeType":"YulIdentifier","src":"120359:1:19"}],"functionName":{"name":"shr","nativeSrc":"120348:3:19","nodeType":"YulIdentifier","src":"120348:3:19"},"nativeSrc":"120348:13:19","nodeType":"YulFunctionCall","src":"120348:13:19"}],"functionName":{"name":"shl","nativeSrc":"120337:3:19","nodeType":"YulIdentifier","src":"120337:3:19"},"nativeSrc":"120337:25:19","nodeType":"YulFunctionCall","src":"120337:25:19"}],"functionName":{"name":"mstore","nativeSrc":"120314:6:19","nodeType":"YulIdentifier","src":"120314:6:19"},"nativeSrc":"120314:49:19","nodeType":"YulFunctionCall","src":"120314:49:19"},"nativeSrc":"120314:49:19","nodeType":"YulExpressionStatement","src":"120314:49:19"}]},"name":"writeString","nativeSrc":"120035:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"120056:3:19","nodeType":"YulTypedName","src":"120056:3:19","type":""},{"name":"w","nativeSrc":"120061:1:19","nodeType":"YulTypedName","src":"120061:1:19","type":""}],"src":"120035:342:19"},{"nativeSrc":"120390:17:19","nodeType":"YulAssignment","src":"120390:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"120402:4:19","nodeType":"YulLiteral","src":"120402:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"120396:5:19","nodeType":"YulIdentifier","src":"120396:5:19"},"nativeSrc":"120396:11:19","nodeType":"YulFunctionCall","src":"120396:11:19"},"variableNames":[{"name":"m0","nativeSrc":"120390:2:19","nodeType":"YulIdentifier","src":"120390:2:19"}]},{"nativeSrc":"120420:17:19","nodeType":"YulAssignment","src":"120420:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"120432:4:19","nodeType":"YulLiteral","src":"120432:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"120426:5:19","nodeType":"YulIdentifier","src":"120426:5:19"},"nativeSrc":"120426:11:19","nodeType":"YulFunctionCall","src":"120426:11:19"},"variableNames":[{"name":"m1","nativeSrc":"120420:2:19","nodeType":"YulIdentifier","src":"120420:2:19"}]},{"nativeSrc":"120450:17:19","nodeType":"YulAssignment","src":"120450:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"120462:4:19","nodeType":"YulLiteral","src":"120462:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"120456:5:19","nodeType":"YulIdentifier","src":"120456:5:19"},"nativeSrc":"120456:11:19","nodeType":"YulFunctionCall","src":"120456:11:19"},"variableNames":[{"name":"m2","nativeSrc":"120450:2:19","nodeType":"YulIdentifier","src":"120450:2:19"}]},{"nativeSrc":"120480:17:19","nodeType":"YulAssignment","src":"120480:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"120492:4:19","nodeType":"YulLiteral","src":"120492:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"120486:5:19","nodeType":"YulIdentifier","src":"120486:5:19"},"nativeSrc":"120486:11:19","nodeType":"YulFunctionCall","src":"120486:11:19"},"variableNames":[{"name":"m3","nativeSrc":"120480:2:19","nodeType":"YulIdentifier","src":"120480:2:19"}]},{"nativeSrc":"120510:17:19","nodeType":"YulAssignment","src":"120510:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"120522:4:19","nodeType":"YulLiteral","src":"120522:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"120516:5:19","nodeType":"YulIdentifier","src":"120516:5:19"},"nativeSrc":"120516:11:19","nodeType":"YulFunctionCall","src":"120516:11:19"},"variableNames":[{"name":"m4","nativeSrc":"120510:2:19","nodeType":"YulIdentifier","src":"120510:2:19"}]},{"nativeSrc":"120540:17:19","nodeType":"YulAssignment","src":"120540:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"120552:4:19","nodeType":"YulLiteral","src":"120552:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"120546:5:19","nodeType":"YulIdentifier","src":"120546:5:19"},"nativeSrc":"120546:11:19","nodeType":"YulFunctionCall","src":"120546:11:19"},"variableNames":[{"name":"m5","nativeSrc":"120540:2:19","nodeType":"YulIdentifier","src":"120540:2:19"}]},{"nativeSrc":"120570:17:19","nodeType":"YulAssignment","src":"120570:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"120582:4:19","nodeType":"YulLiteral","src":"120582:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"120576:5:19","nodeType":"YulIdentifier","src":"120576:5:19"},"nativeSrc":"120576:11:19","nodeType":"YulFunctionCall","src":"120576:11:19"},"variableNames":[{"name":"m6","nativeSrc":"120570:2:19","nodeType":"YulIdentifier","src":"120570:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"120670:4:19","nodeType":"YulLiteral","src":"120670:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"120676:10:19","nodeType":"YulLiteral","src":"120676:10:19","type":"","value":"0x0aa6cfad"}],"functionName":{"name":"mstore","nativeSrc":"120663:6:19","nodeType":"YulIdentifier","src":"120663:6:19"},"nativeSrc":"120663:24:19","nodeType":"YulFunctionCall","src":"120663:24:19"},"nativeSrc":"120663:24:19","nodeType":"YulExpressionStatement","src":"120663:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"120707:4:19","nodeType":"YulLiteral","src":"120707:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"120713:2:19","nodeType":"YulIdentifier","src":"120713:2:19"}],"functionName":{"name":"mstore","nativeSrc":"120700:6:19","nodeType":"YulIdentifier","src":"120700:6:19"},"nativeSrc":"120700:16:19","nodeType":"YulFunctionCall","src":"120700:16:19"},"nativeSrc":"120700:16:19","nodeType":"YulExpressionStatement","src":"120700:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"120736:4:19","nodeType":"YulLiteral","src":"120736:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"120742:2:19","nodeType":"YulIdentifier","src":"120742:2:19"}],"functionName":{"name":"mstore","nativeSrc":"120729:6:19","nodeType":"YulIdentifier","src":"120729:6:19"},"nativeSrc":"120729:16:19","nodeType":"YulFunctionCall","src":"120729:16:19"},"nativeSrc":"120729:16:19","nodeType":"YulExpressionStatement","src":"120729:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"120765:4:19","nodeType":"YulLiteral","src":"120765:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"120771:2:19","nodeType":"YulIdentifier","src":"120771:2:19"}],"functionName":{"name":"mstore","nativeSrc":"120758:6:19","nodeType":"YulIdentifier","src":"120758:6:19"},"nativeSrc":"120758:16:19","nodeType":"YulFunctionCall","src":"120758:16:19"},"nativeSrc":"120758:16:19","nodeType":"YulExpressionStatement","src":"120758:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"120794:4:19","nodeType":"YulLiteral","src":"120794:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"120800:4:19","nodeType":"YulLiteral","src":"120800:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"120787:6:19","nodeType":"YulIdentifier","src":"120787:6:19"},"nativeSrc":"120787:18:19","nodeType":"YulFunctionCall","src":"120787:18:19"},"nativeSrc":"120787:18:19","nodeType":"YulExpressionStatement","src":"120787:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"120830:4:19","nodeType":"YulLiteral","src":"120830:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"120836:2:19","nodeType":"YulIdentifier","src":"120836:2:19"}],"functionName":{"name":"writeString","nativeSrc":"120818:11:19","nodeType":"YulIdentifier","src":"120818:11:19"},"nativeSrc":"120818:21:19","nodeType":"YulFunctionCall","src":"120818:21:19"},"nativeSrc":"120818:21:19","nodeType":"YulExpressionStatement","src":"120818:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30108,"isOffset":false,"isSlot":false,"src":"120390:2:19","valueSize":1},{"declaration":30111,"isOffset":false,"isSlot":false,"src":"120420:2:19","valueSize":1},{"declaration":30114,"isOffset":false,"isSlot":false,"src":"120450:2:19","valueSize":1},{"declaration":30117,"isOffset":false,"isSlot":false,"src":"120480:2:19","valueSize":1},{"declaration":30120,"isOffset":false,"isSlot":false,"src":"120510:2:19","valueSize":1},{"declaration":30123,"isOffset":false,"isSlot":false,"src":"120540:2:19","valueSize":1},{"declaration":30126,"isOffset":false,"isSlot":false,"src":"120570:2:19","valueSize":1},{"declaration":30098,"isOffset":false,"isSlot":false,"src":"120713:2:19","valueSize":1},{"declaration":30100,"isOffset":false,"isSlot":false,"src":"120742:2:19","valueSize":1},{"declaration":30102,"isOffset":false,"isSlot":false,"src":"120771:2:19","valueSize":1},{"declaration":30104,"isOffset":false,"isSlot":false,"src":"120836:2:19","valueSize":1}],"id":30128,"nodeType":"InlineAssembly","src":"120012:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"120874:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":30131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"120880:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":30129,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"120858:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"120858:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30133,"nodeType":"ExpressionStatement","src":"120858:27:19"},{"AST":{"nativeSrc":"120947:214:19","nodeType":"YulBlock","src":"120947:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"120968:4:19","nodeType":"YulLiteral","src":"120968:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"120974:2:19","nodeType":"YulIdentifier","src":"120974:2:19"}],"functionName":{"name":"mstore","nativeSrc":"120961:6:19","nodeType":"YulIdentifier","src":"120961:6:19"},"nativeSrc":"120961:16:19","nodeType":"YulFunctionCall","src":"120961:16:19"},"nativeSrc":"120961:16:19","nodeType":"YulExpressionStatement","src":"120961:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"120997:4:19","nodeType":"YulLiteral","src":"120997:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"121003:2:19","nodeType":"YulIdentifier","src":"121003:2:19"}],"functionName":{"name":"mstore","nativeSrc":"120990:6:19","nodeType":"YulIdentifier","src":"120990:6:19"},"nativeSrc":"120990:16:19","nodeType":"YulFunctionCall","src":"120990:16:19"},"nativeSrc":"120990:16:19","nodeType":"YulExpressionStatement","src":"120990:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"121026:4:19","nodeType":"YulLiteral","src":"121026:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"121032:2:19","nodeType":"YulIdentifier","src":"121032:2:19"}],"functionName":{"name":"mstore","nativeSrc":"121019:6:19","nodeType":"YulIdentifier","src":"121019:6:19"},"nativeSrc":"121019:16:19","nodeType":"YulFunctionCall","src":"121019:16:19"},"nativeSrc":"121019:16:19","nodeType":"YulExpressionStatement","src":"121019:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"121055:4:19","nodeType":"YulLiteral","src":"121055:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"121061:2:19","nodeType":"YulIdentifier","src":"121061:2:19"}],"functionName":{"name":"mstore","nativeSrc":"121048:6:19","nodeType":"YulIdentifier","src":"121048:6:19"},"nativeSrc":"121048:16:19","nodeType":"YulFunctionCall","src":"121048:16:19"},"nativeSrc":"121048:16:19","nodeType":"YulExpressionStatement","src":"121048:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"121084:4:19","nodeType":"YulLiteral","src":"121084:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"121090:2:19","nodeType":"YulIdentifier","src":"121090:2:19"}],"functionName":{"name":"mstore","nativeSrc":"121077:6:19","nodeType":"YulIdentifier","src":"121077:6:19"},"nativeSrc":"121077:16:19","nodeType":"YulFunctionCall","src":"121077:16:19"},"nativeSrc":"121077:16:19","nodeType":"YulExpressionStatement","src":"121077:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"121113:4:19","nodeType":"YulLiteral","src":"121113:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"121119:2:19","nodeType":"YulIdentifier","src":"121119:2:19"}],"functionName":{"name":"mstore","nativeSrc":"121106:6:19","nodeType":"YulIdentifier","src":"121106:6:19"},"nativeSrc":"121106:16:19","nodeType":"YulFunctionCall","src":"121106:16:19"},"nativeSrc":"121106:16:19","nodeType":"YulExpressionStatement","src":"121106:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"121142:4:19","nodeType":"YulLiteral","src":"121142:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"121148:2:19","nodeType":"YulIdentifier","src":"121148:2:19"}],"functionName":{"name":"mstore","nativeSrc":"121135:6:19","nodeType":"YulIdentifier","src":"121135:6:19"},"nativeSrc":"121135:16:19","nodeType":"YulFunctionCall","src":"121135:16:19"},"nativeSrc":"121135:16:19","nodeType":"YulExpressionStatement","src":"121135:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30108,"isOffset":false,"isSlot":false,"src":"120974:2:19","valueSize":1},{"declaration":30111,"isOffset":false,"isSlot":false,"src":"121003:2:19","valueSize":1},{"declaration":30114,"isOffset":false,"isSlot":false,"src":"121032:2:19","valueSize":1},{"declaration":30117,"isOffset":false,"isSlot":false,"src":"121061:2:19","valueSize":1},{"declaration":30120,"isOffset":false,"isSlot":false,"src":"121090:2:19","valueSize":1},{"declaration":30123,"isOffset":false,"isSlot":false,"src":"121119:2:19","valueSize":1},{"declaration":30126,"isOffset":false,"isSlot":false,"src":"121148:2:19","valueSize":1}],"id":30134,"nodeType":"InlineAssembly","src":"120938:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"119756:3:19","parameters":{"id":30105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30098,"mutability":"mutable","name":"p0","nameLocation":"119768:2:19","nodeType":"VariableDeclaration","scope":30136,"src":"119760:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30097,"name":"address","nodeType":"ElementaryTypeName","src":"119760:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30100,"mutability":"mutable","name":"p1","nameLocation":"119777:2:19","nodeType":"VariableDeclaration","scope":30136,"src":"119772:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30099,"name":"bool","nodeType":"ElementaryTypeName","src":"119772:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30102,"mutability":"mutable","name":"p2","nameLocation":"119789:2:19","nodeType":"VariableDeclaration","scope":30136,"src":"119781:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30101,"name":"uint256","nodeType":"ElementaryTypeName","src":"119781:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30104,"mutability":"mutable","name":"p3","nameLocation":"119801:2:19","nodeType":"VariableDeclaration","scope":30136,"src":"119793:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30103,"name":"bytes32","nodeType":"ElementaryTypeName","src":"119793:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"119759:45:19"},"returnParameters":{"id":30106,"nodeType":"ParameterList","parameters":[],"src":"119819:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30176,"nodeType":"FunctionDefinition","src":"121173:1420:19","nodes":[],"body":{"id":30175,"nodeType":"Block","src":"121245:1348:19","nodes":[],"statements":[{"assignments":[30148],"declarations":[{"constant":false,"id":30148,"mutability":"mutable","name":"m0","nameLocation":"121263:2:19","nodeType":"VariableDeclaration","scope":30175,"src":"121255:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30147,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121255:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30149,"nodeType":"VariableDeclarationStatement","src":"121255:10:19"},{"assignments":[30151],"declarations":[{"constant":false,"id":30151,"mutability":"mutable","name":"m1","nameLocation":"121283:2:19","nodeType":"VariableDeclaration","scope":30175,"src":"121275:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30150,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121275:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30152,"nodeType":"VariableDeclarationStatement","src":"121275:10:19"},{"assignments":[30154],"declarations":[{"constant":false,"id":30154,"mutability":"mutable","name":"m2","nameLocation":"121303:2:19","nodeType":"VariableDeclaration","scope":30175,"src":"121295:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30153,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121295:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30155,"nodeType":"VariableDeclarationStatement","src":"121295:10:19"},{"assignments":[30157],"declarations":[{"constant":false,"id":30157,"mutability":"mutable","name":"m3","nameLocation":"121323:2:19","nodeType":"VariableDeclaration","scope":30175,"src":"121315:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30156,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121315:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30158,"nodeType":"VariableDeclarationStatement","src":"121315:10:19"},{"assignments":[30160],"declarations":[{"constant":false,"id":30160,"mutability":"mutable","name":"m4","nameLocation":"121343:2:19","nodeType":"VariableDeclaration","scope":30175,"src":"121335:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30159,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121335:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30161,"nodeType":"VariableDeclarationStatement","src":"121335:10:19"},{"assignments":[30163],"declarations":[{"constant":false,"id":30163,"mutability":"mutable","name":"m5","nameLocation":"121363:2:19","nodeType":"VariableDeclaration","scope":30175,"src":"121355:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30162,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121355:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30164,"nodeType":"VariableDeclarationStatement","src":"121355:10:19"},{"assignments":[30166],"declarations":[{"constant":false,"id":30166,"mutability":"mutable","name":"m6","nameLocation":"121383:2:19","nodeType":"VariableDeclaration","scope":30175,"src":"121375:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30165,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121375:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30167,"nodeType":"VariableDeclarationStatement","src":"121375:10:19"},{"AST":{"nativeSrc":"121447:828:19","nodeType":"YulBlock","src":"121447:828:19","statements":[{"body":{"nativeSrc":"121490:313:19","nodeType":"YulBlock","src":"121490:313:19","statements":[{"nativeSrc":"121508:15:19","nodeType":"YulVariableDeclaration","src":"121508:15:19","value":{"kind":"number","nativeSrc":"121522:1:19","nodeType":"YulLiteral","src":"121522:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"121512:6:19","nodeType":"YulTypedName","src":"121512:6:19","type":""}]},{"body":{"nativeSrc":"121593:40:19","nodeType":"YulBlock","src":"121593:40:19","statements":[{"body":{"nativeSrc":"121622:9:19","nodeType":"YulBlock","src":"121622:9:19","statements":[{"nativeSrc":"121624:5:19","nodeType":"YulBreak","src":"121624:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"121610:6:19","nodeType":"YulIdentifier","src":"121610:6:19"},{"name":"w","nativeSrc":"121618:1:19","nodeType":"YulIdentifier","src":"121618:1:19"}],"functionName":{"name":"byte","nativeSrc":"121605:4:19","nodeType":"YulIdentifier","src":"121605:4:19"},"nativeSrc":"121605:15:19","nodeType":"YulFunctionCall","src":"121605:15:19"}],"functionName":{"name":"iszero","nativeSrc":"121598:6:19","nodeType":"YulIdentifier","src":"121598:6:19"},"nativeSrc":"121598:23:19","nodeType":"YulFunctionCall","src":"121598:23:19"},"nativeSrc":"121595:36:19","nodeType":"YulIf","src":"121595:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"121550:6:19","nodeType":"YulIdentifier","src":"121550:6:19"},{"kind":"number","nativeSrc":"121558:4:19","nodeType":"YulLiteral","src":"121558:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"121547:2:19","nodeType":"YulIdentifier","src":"121547:2:19"},"nativeSrc":"121547:16:19","nodeType":"YulFunctionCall","src":"121547:16:19"},"nativeSrc":"121540:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"121564:28:19","nodeType":"YulBlock","src":"121564:28:19","statements":[{"nativeSrc":"121566:24:19","nodeType":"YulAssignment","src":"121566:24:19","value":{"arguments":[{"name":"length","nativeSrc":"121580:6:19","nodeType":"YulIdentifier","src":"121580:6:19"},{"kind":"number","nativeSrc":"121588:1:19","nodeType":"YulLiteral","src":"121588:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"121576:3:19","nodeType":"YulIdentifier","src":"121576:3:19"},"nativeSrc":"121576:14:19","nodeType":"YulFunctionCall","src":"121576:14:19"},"variableNames":[{"name":"length","nativeSrc":"121566:6:19","nodeType":"YulIdentifier","src":"121566:6:19"}]}]},"pre":{"nativeSrc":"121544:2:19","nodeType":"YulBlock","src":"121544:2:19","statements":[]},"src":"121540:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"121657:3:19","nodeType":"YulIdentifier","src":"121657:3:19"},{"name":"length","nativeSrc":"121662:6:19","nodeType":"YulIdentifier","src":"121662:6:19"}],"functionName":{"name":"mstore","nativeSrc":"121650:6:19","nodeType":"YulIdentifier","src":"121650:6:19"},"nativeSrc":"121650:19:19","nodeType":"YulFunctionCall","src":"121650:19:19"},"nativeSrc":"121650:19:19","nodeType":"YulExpressionStatement","src":"121650:19:19"},{"nativeSrc":"121686:37:19","nodeType":"YulVariableDeclaration","src":"121686:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"121703:3:19","nodeType":"YulLiteral","src":"121703:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"121712:1:19","nodeType":"YulLiteral","src":"121712:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"121715:6:19","nodeType":"YulIdentifier","src":"121715:6:19"}],"functionName":{"name":"shl","nativeSrc":"121708:3:19","nodeType":"YulIdentifier","src":"121708:3:19"},"nativeSrc":"121708:14:19","nodeType":"YulFunctionCall","src":"121708:14:19"}],"functionName":{"name":"sub","nativeSrc":"121699:3:19","nodeType":"YulIdentifier","src":"121699:3:19"},"nativeSrc":"121699:24:19","nodeType":"YulFunctionCall","src":"121699:24:19"},"variables":[{"name":"shift","nativeSrc":"121690:5:19","nodeType":"YulTypedName","src":"121690:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"121751:3:19","nodeType":"YulIdentifier","src":"121751:3:19"},{"kind":"number","nativeSrc":"121756:4:19","nodeType":"YulLiteral","src":"121756:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"121747:3:19","nodeType":"YulIdentifier","src":"121747:3:19"},"nativeSrc":"121747:14:19","nodeType":"YulFunctionCall","src":"121747:14:19"},{"arguments":[{"name":"shift","nativeSrc":"121767:5:19","nodeType":"YulIdentifier","src":"121767:5:19"},{"arguments":[{"name":"shift","nativeSrc":"121778:5:19","nodeType":"YulIdentifier","src":"121778:5:19"},{"name":"w","nativeSrc":"121785:1:19","nodeType":"YulIdentifier","src":"121785:1:19"}],"functionName":{"name":"shr","nativeSrc":"121774:3:19","nodeType":"YulIdentifier","src":"121774:3:19"},"nativeSrc":"121774:13:19","nodeType":"YulFunctionCall","src":"121774:13:19"}],"functionName":{"name":"shl","nativeSrc":"121763:3:19","nodeType":"YulIdentifier","src":"121763:3:19"},"nativeSrc":"121763:25:19","nodeType":"YulFunctionCall","src":"121763:25:19"}],"functionName":{"name":"mstore","nativeSrc":"121740:6:19","nodeType":"YulIdentifier","src":"121740:6:19"},"nativeSrc":"121740:49:19","nodeType":"YulFunctionCall","src":"121740:49:19"},"nativeSrc":"121740:49:19","nodeType":"YulExpressionStatement","src":"121740:49:19"}]},"name":"writeString","nativeSrc":"121461:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"121482:3:19","nodeType":"YulTypedName","src":"121482:3:19","type":""},{"name":"w","nativeSrc":"121487:1:19","nodeType":"YulTypedName","src":"121487:1:19","type":""}],"src":"121461:342:19"},{"nativeSrc":"121816:17:19","nodeType":"YulAssignment","src":"121816:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"121828:4:19","nodeType":"YulLiteral","src":"121828:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"121822:5:19","nodeType":"YulIdentifier","src":"121822:5:19"},"nativeSrc":"121822:11:19","nodeType":"YulFunctionCall","src":"121822:11:19"},"variableNames":[{"name":"m0","nativeSrc":"121816:2:19","nodeType":"YulIdentifier","src":"121816:2:19"}]},{"nativeSrc":"121846:17:19","nodeType":"YulAssignment","src":"121846:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"121858:4:19","nodeType":"YulLiteral","src":"121858:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"121852:5:19","nodeType":"YulIdentifier","src":"121852:5:19"},"nativeSrc":"121852:11:19","nodeType":"YulFunctionCall","src":"121852:11:19"},"variableNames":[{"name":"m1","nativeSrc":"121846:2:19","nodeType":"YulIdentifier","src":"121846:2:19"}]},{"nativeSrc":"121876:17:19","nodeType":"YulAssignment","src":"121876:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"121888:4:19","nodeType":"YulLiteral","src":"121888:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"121882:5:19","nodeType":"YulIdentifier","src":"121882:5:19"},"nativeSrc":"121882:11:19","nodeType":"YulFunctionCall","src":"121882:11:19"},"variableNames":[{"name":"m2","nativeSrc":"121876:2:19","nodeType":"YulIdentifier","src":"121876:2:19"}]},{"nativeSrc":"121906:17:19","nodeType":"YulAssignment","src":"121906:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"121918:4:19","nodeType":"YulLiteral","src":"121918:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"121912:5:19","nodeType":"YulIdentifier","src":"121912:5:19"},"nativeSrc":"121912:11:19","nodeType":"YulFunctionCall","src":"121912:11:19"},"variableNames":[{"name":"m3","nativeSrc":"121906:2:19","nodeType":"YulIdentifier","src":"121906:2:19"}]},{"nativeSrc":"121936:17:19","nodeType":"YulAssignment","src":"121936:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"121948:4:19","nodeType":"YulLiteral","src":"121948:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"121942:5:19","nodeType":"YulIdentifier","src":"121942:5:19"},"nativeSrc":"121942:11:19","nodeType":"YulFunctionCall","src":"121942:11:19"},"variableNames":[{"name":"m4","nativeSrc":"121936:2:19","nodeType":"YulIdentifier","src":"121936:2:19"}]},{"nativeSrc":"121966:17:19","nodeType":"YulAssignment","src":"121966:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"121978:4:19","nodeType":"YulLiteral","src":"121978:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"121972:5:19","nodeType":"YulIdentifier","src":"121972:5:19"},"nativeSrc":"121972:11:19","nodeType":"YulFunctionCall","src":"121972:11:19"},"variableNames":[{"name":"m5","nativeSrc":"121966:2:19","nodeType":"YulIdentifier","src":"121966:2:19"}]},{"nativeSrc":"121996:17:19","nodeType":"YulAssignment","src":"121996:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"122008:4:19","nodeType":"YulLiteral","src":"122008:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"122002:5:19","nodeType":"YulIdentifier","src":"122002:5:19"},"nativeSrc":"122002:11:19","nodeType":"YulFunctionCall","src":"122002:11:19"},"variableNames":[{"name":"m6","nativeSrc":"121996:2:19","nodeType":"YulIdentifier","src":"121996:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122096:4:19","nodeType":"YulLiteral","src":"122096:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"122102:10:19","nodeType":"YulLiteral","src":"122102:10:19","type":"","value":"0x19fd4956"}],"functionName":{"name":"mstore","nativeSrc":"122089:6:19","nodeType":"YulIdentifier","src":"122089:6:19"},"nativeSrc":"122089:24:19","nodeType":"YulFunctionCall","src":"122089:24:19"},"nativeSrc":"122089:24:19","nodeType":"YulExpressionStatement","src":"122089:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122133:4:19","nodeType":"YulLiteral","src":"122133:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"122139:2:19","nodeType":"YulIdentifier","src":"122139:2:19"}],"functionName":{"name":"mstore","nativeSrc":"122126:6:19","nodeType":"YulIdentifier","src":"122126:6:19"},"nativeSrc":"122126:16:19","nodeType":"YulFunctionCall","src":"122126:16:19"},"nativeSrc":"122126:16:19","nodeType":"YulExpressionStatement","src":"122126:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122162:4:19","nodeType":"YulLiteral","src":"122162:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"122168:2:19","nodeType":"YulIdentifier","src":"122168:2:19"}],"functionName":{"name":"mstore","nativeSrc":"122155:6:19","nodeType":"YulIdentifier","src":"122155:6:19"},"nativeSrc":"122155:16:19","nodeType":"YulFunctionCall","src":"122155:16:19"},"nativeSrc":"122155:16:19","nodeType":"YulExpressionStatement","src":"122155:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122191:4:19","nodeType":"YulLiteral","src":"122191:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"122197:4:19","nodeType":"YulLiteral","src":"122197:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"122184:6:19","nodeType":"YulIdentifier","src":"122184:6:19"},"nativeSrc":"122184:18:19","nodeType":"YulFunctionCall","src":"122184:18:19"},"nativeSrc":"122184:18:19","nodeType":"YulExpressionStatement","src":"122184:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122222:4:19","nodeType":"YulLiteral","src":"122222:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"122228:2:19","nodeType":"YulIdentifier","src":"122228:2:19"}],"functionName":{"name":"mstore","nativeSrc":"122215:6:19","nodeType":"YulIdentifier","src":"122215:6:19"},"nativeSrc":"122215:16:19","nodeType":"YulFunctionCall","src":"122215:16:19"},"nativeSrc":"122215:16:19","nodeType":"YulExpressionStatement","src":"122215:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122256:4:19","nodeType":"YulLiteral","src":"122256:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"122262:2:19","nodeType":"YulIdentifier","src":"122262:2:19"}],"functionName":{"name":"writeString","nativeSrc":"122244:11:19","nodeType":"YulIdentifier","src":"122244:11:19"},"nativeSrc":"122244:21:19","nodeType":"YulFunctionCall","src":"122244:21:19"},"nativeSrc":"122244:21:19","nodeType":"YulExpressionStatement","src":"122244:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30148,"isOffset":false,"isSlot":false,"src":"121816:2:19","valueSize":1},{"declaration":30151,"isOffset":false,"isSlot":false,"src":"121846:2:19","valueSize":1},{"declaration":30154,"isOffset":false,"isSlot":false,"src":"121876:2:19","valueSize":1},{"declaration":30157,"isOffset":false,"isSlot":false,"src":"121906:2:19","valueSize":1},{"declaration":30160,"isOffset":false,"isSlot":false,"src":"121936:2:19","valueSize":1},{"declaration":30163,"isOffset":false,"isSlot":false,"src":"121966:2:19","valueSize":1},{"declaration":30166,"isOffset":false,"isSlot":false,"src":"121996:2:19","valueSize":1},{"declaration":30138,"isOffset":false,"isSlot":false,"src":"122139:2:19","valueSize":1},{"declaration":30140,"isOffset":false,"isSlot":false,"src":"122168:2:19","valueSize":1},{"declaration":30142,"isOffset":false,"isSlot":false,"src":"122262:2:19","valueSize":1},{"declaration":30144,"isOffset":false,"isSlot":false,"src":"122228:2:19","valueSize":1}],"id":30168,"nodeType":"InlineAssembly","src":"121438:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"122300:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":30171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"122306:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":30169,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"122284:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"122284:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30173,"nodeType":"ExpressionStatement","src":"122284:27:19"},{"AST":{"nativeSrc":"122373:214:19","nodeType":"YulBlock","src":"122373:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"122394:4:19","nodeType":"YulLiteral","src":"122394:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"122400:2:19","nodeType":"YulIdentifier","src":"122400:2:19"}],"functionName":{"name":"mstore","nativeSrc":"122387:6:19","nodeType":"YulIdentifier","src":"122387:6:19"},"nativeSrc":"122387:16:19","nodeType":"YulFunctionCall","src":"122387:16:19"},"nativeSrc":"122387:16:19","nodeType":"YulExpressionStatement","src":"122387:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122423:4:19","nodeType":"YulLiteral","src":"122423:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"122429:2:19","nodeType":"YulIdentifier","src":"122429:2:19"}],"functionName":{"name":"mstore","nativeSrc":"122416:6:19","nodeType":"YulIdentifier","src":"122416:6:19"},"nativeSrc":"122416:16:19","nodeType":"YulFunctionCall","src":"122416:16:19"},"nativeSrc":"122416:16:19","nodeType":"YulExpressionStatement","src":"122416:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122452:4:19","nodeType":"YulLiteral","src":"122452:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"122458:2:19","nodeType":"YulIdentifier","src":"122458:2:19"}],"functionName":{"name":"mstore","nativeSrc":"122445:6:19","nodeType":"YulIdentifier","src":"122445:6:19"},"nativeSrc":"122445:16:19","nodeType":"YulFunctionCall","src":"122445:16:19"},"nativeSrc":"122445:16:19","nodeType":"YulExpressionStatement","src":"122445:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122481:4:19","nodeType":"YulLiteral","src":"122481:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"122487:2:19","nodeType":"YulIdentifier","src":"122487:2:19"}],"functionName":{"name":"mstore","nativeSrc":"122474:6:19","nodeType":"YulIdentifier","src":"122474:6:19"},"nativeSrc":"122474:16:19","nodeType":"YulFunctionCall","src":"122474:16:19"},"nativeSrc":"122474:16:19","nodeType":"YulExpressionStatement","src":"122474:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122510:4:19","nodeType":"YulLiteral","src":"122510:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"122516:2:19","nodeType":"YulIdentifier","src":"122516:2:19"}],"functionName":{"name":"mstore","nativeSrc":"122503:6:19","nodeType":"YulIdentifier","src":"122503:6:19"},"nativeSrc":"122503:16:19","nodeType":"YulFunctionCall","src":"122503:16:19"},"nativeSrc":"122503:16:19","nodeType":"YulExpressionStatement","src":"122503:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122539:4:19","nodeType":"YulLiteral","src":"122539:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"122545:2:19","nodeType":"YulIdentifier","src":"122545:2:19"}],"functionName":{"name":"mstore","nativeSrc":"122532:6:19","nodeType":"YulIdentifier","src":"122532:6:19"},"nativeSrc":"122532:16:19","nodeType":"YulFunctionCall","src":"122532:16:19"},"nativeSrc":"122532:16:19","nodeType":"YulExpressionStatement","src":"122532:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"122568:4:19","nodeType":"YulLiteral","src":"122568:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"122574:2:19","nodeType":"YulIdentifier","src":"122574:2:19"}],"functionName":{"name":"mstore","nativeSrc":"122561:6:19","nodeType":"YulIdentifier","src":"122561:6:19"},"nativeSrc":"122561:16:19","nodeType":"YulFunctionCall","src":"122561:16:19"},"nativeSrc":"122561:16:19","nodeType":"YulExpressionStatement","src":"122561:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30148,"isOffset":false,"isSlot":false,"src":"122400:2:19","valueSize":1},{"declaration":30151,"isOffset":false,"isSlot":false,"src":"122429:2:19","valueSize":1},{"declaration":30154,"isOffset":false,"isSlot":false,"src":"122458:2:19","valueSize":1},{"declaration":30157,"isOffset":false,"isSlot":false,"src":"122487:2:19","valueSize":1},{"declaration":30160,"isOffset":false,"isSlot":false,"src":"122516:2:19","valueSize":1},{"declaration":30163,"isOffset":false,"isSlot":false,"src":"122545:2:19","valueSize":1},{"declaration":30166,"isOffset":false,"isSlot":false,"src":"122574:2:19","valueSize":1}],"id":30174,"nodeType":"InlineAssembly","src":"122364:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"121182:3:19","parameters":{"id":30145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30138,"mutability":"mutable","name":"p0","nameLocation":"121194:2:19","nodeType":"VariableDeclaration","scope":30176,"src":"121186:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30137,"name":"address","nodeType":"ElementaryTypeName","src":"121186:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30140,"mutability":"mutable","name":"p1","nameLocation":"121203:2:19","nodeType":"VariableDeclaration","scope":30176,"src":"121198:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30139,"name":"bool","nodeType":"ElementaryTypeName","src":"121198:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30142,"mutability":"mutable","name":"p2","nameLocation":"121215:2:19","nodeType":"VariableDeclaration","scope":30176,"src":"121207:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30141,"name":"bytes32","nodeType":"ElementaryTypeName","src":"121207:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30144,"mutability":"mutable","name":"p3","nameLocation":"121227:2:19","nodeType":"VariableDeclaration","scope":30176,"src":"121219:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30143,"name":"address","nodeType":"ElementaryTypeName","src":"121219:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"121185:45:19"},"returnParameters":{"id":30146,"nodeType":"ParameterList","parameters":[],"src":"121245:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30216,"nodeType":"FunctionDefinition","src":"122599:1414:19","nodes":[],"body":{"id":30215,"nodeType":"Block","src":"122668:1345:19","nodes":[],"statements":[{"assignments":[30188],"declarations":[{"constant":false,"id":30188,"mutability":"mutable","name":"m0","nameLocation":"122686:2:19","nodeType":"VariableDeclaration","scope":30215,"src":"122678:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30187,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122678:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30189,"nodeType":"VariableDeclarationStatement","src":"122678:10:19"},{"assignments":[30191],"declarations":[{"constant":false,"id":30191,"mutability":"mutable","name":"m1","nameLocation":"122706:2:19","nodeType":"VariableDeclaration","scope":30215,"src":"122698:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30190,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122698:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30192,"nodeType":"VariableDeclarationStatement","src":"122698:10:19"},{"assignments":[30194],"declarations":[{"constant":false,"id":30194,"mutability":"mutable","name":"m2","nameLocation":"122726:2:19","nodeType":"VariableDeclaration","scope":30215,"src":"122718:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30193,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122718:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30195,"nodeType":"VariableDeclarationStatement","src":"122718:10:19"},{"assignments":[30197],"declarations":[{"constant":false,"id":30197,"mutability":"mutable","name":"m3","nameLocation":"122746:2:19","nodeType":"VariableDeclaration","scope":30215,"src":"122738:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30196,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122738:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30198,"nodeType":"VariableDeclarationStatement","src":"122738:10:19"},{"assignments":[30200],"declarations":[{"constant":false,"id":30200,"mutability":"mutable","name":"m4","nameLocation":"122766:2:19","nodeType":"VariableDeclaration","scope":30215,"src":"122758:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122758:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30201,"nodeType":"VariableDeclarationStatement","src":"122758:10:19"},{"assignments":[30203],"declarations":[{"constant":false,"id":30203,"mutability":"mutable","name":"m5","nameLocation":"122786:2:19","nodeType":"VariableDeclaration","scope":30215,"src":"122778:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30202,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122778:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30204,"nodeType":"VariableDeclarationStatement","src":"122778:10:19"},{"assignments":[30206],"declarations":[{"constant":false,"id":30206,"mutability":"mutable","name":"m6","nameLocation":"122806:2:19","nodeType":"VariableDeclaration","scope":30215,"src":"122798:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30205,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122798:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30207,"nodeType":"VariableDeclarationStatement","src":"122798:10:19"},{"AST":{"nativeSrc":"122870:825:19","nodeType":"YulBlock","src":"122870:825:19","statements":[{"body":{"nativeSrc":"122913:313:19","nodeType":"YulBlock","src":"122913:313:19","statements":[{"nativeSrc":"122931:15:19","nodeType":"YulVariableDeclaration","src":"122931:15:19","value":{"kind":"number","nativeSrc":"122945:1:19","nodeType":"YulLiteral","src":"122945:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"122935:6:19","nodeType":"YulTypedName","src":"122935:6:19","type":""}]},{"body":{"nativeSrc":"123016:40:19","nodeType":"YulBlock","src":"123016:40:19","statements":[{"body":{"nativeSrc":"123045:9:19","nodeType":"YulBlock","src":"123045:9:19","statements":[{"nativeSrc":"123047:5:19","nodeType":"YulBreak","src":"123047:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"123033:6:19","nodeType":"YulIdentifier","src":"123033:6:19"},{"name":"w","nativeSrc":"123041:1:19","nodeType":"YulIdentifier","src":"123041:1:19"}],"functionName":{"name":"byte","nativeSrc":"123028:4:19","nodeType":"YulIdentifier","src":"123028:4:19"},"nativeSrc":"123028:15:19","nodeType":"YulFunctionCall","src":"123028:15:19"}],"functionName":{"name":"iszero","nativeSrc":"123021:6:19","nodeType":"YulIdentifier","src":"123021:6:19"},"nativeSrc":"123021:23:19","nodeType":"YulFunctionCall","src":"123021:23:19"},"nativeSrc":"123018:36:19","nodeType":"YulIf","src":"123018:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"122973:6:19","nodeType":"YulIdentifier","src":"122973:6:19"},{"kind":"number","nativeSrc":"122981:4:19","nodeType":"YulLiteral","src":"122981:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"122970:2:19","nodeType":"YulIdentifier","src":"122970:2:19"},"nativeSrc":"122970:16:19","nodeType":"YulFunctionCall","src":"122970:16:19"},"nativeSrc":"122963:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"122987:28:19","nodeType":"YulBlock","src":"122987:28:19","statements":[{"nativeSrc":"122989:24:19","nodeType":"YulAssignment","src":"122989:24:19","value":{"arguments":[{"name":"length","nativeSrc":"123003:6:19","nodeType":"YulIdentifier","src":"123003:6:19"},{"kind":"number","nativeSrc":"123011:1:19","nodeType":"YulLiteral","src":"123011:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"122999:3:19","nodeType":"YulIdentifier","src":"122999:3:19"},"nativeSrc":"122999:14:19","nodeType":"YulFunctionCall","src":"122999:14:19"},"variableNames":[{"name":"length","nativeSrc":"122989:6:19","nodeType":"YulIdentifier","src":"122989:6:19"}]}]},"pre":{"nativeSrc":"122967:2:19","nodeType":"YulBlock","src":"122967:2:19","statements":[]},"src":"122963:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"123080:3:19","nodeType":"YulIdentifier","src":"123080:3:19"},{"name":"length","nativeSrc":"123085:6:19","nodeType":"YulIdentifier","src":"123085:6:19"}],"functionName":{"name":"mstore","nativeSrc":"123073:6:19","nodeType":"YulIdentifier","src":"123073:6:19"},"nativeSrc":"123073:19:19","nodeType":"YulFunctionCall","src":"123073:19:19"},"nativeSrc":"123073:19:19","nodeType":"YulExpressionStatement","src":"123073:19:19"},{"nativeSrc":"123109:37:19","nodeType":"YulVariableDeclaration","src":"123109:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"123126:3:19","nodeType":"YulLiteral","src":"123126:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"123135:1:19","nodeType":"YulLiteral","src":"123135:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"123138:6:19","nodeType":"YulIdentifier","src":"123138:6:19"}],"functionName":{"name":"shl","nativeSrc":"123131:3:19","nodeType":"YulIdentifier","src":"123131:3:19"},"nativeSrc":"123131:14:19","nodeType":"YulFunctionCall","src":"123131:14:19"}],"functionName":{"name":"sub","nativeSrc":"123122:3:19","nodeType":"YulIdentifier","src":"123122:3:19"},"nativeSrc":"123122:24:19","nodeType":"YulFunctionCall","src":"123122:24:19"},"variables":[{"name":"shift","nativeSrc":"123113:5:19","nodeType":"YulTypedName","src":"123113:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"123174:3:19","nodeType":"YulIdentifier","src":"123174:3:19"},{"kind":"number","nativeSrc":"123179:4:19","nodeType":"YulLiteral","src":"123179:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"123170:3:19","nodeType":"YulIdentifier","src":"123170:3:19"},"nativeSrc":"123170:14:19","nodeType":"YulFunctionCall","src":"123170:14:19"},{"arguments":[{"name":"shift","nativeSrc":"123190:5:19","nodeType":"YulIdentifier","src":"123190:5:19"},{"arguments":[{"name":"shift","nativeSrc":"123201:5:19","nodeType":"YulIdentifier","src":"123201:5:19"},{"name":"w","nativeSrc":"123208:1:19","nodeType":"YulIdentifier","src":"123208:1:19"}],"functionName":{"name":"shr","nativeSrc":"123197:3:19","nodeType":"YulIdentifier","src":"123197:3:19"},"nativeSrc":"123197:13:19","nodeType":"YulFunctionCall","src":"123197:13:19"}],"functionName":{"name":"shl","nativeSrc":"123186:3:19","nodeType":"YulIdentifier","src":"123186:3:19"},"nativeSrc":"123186:25:19","nodeType":"YulFunctionCall","src":"123186:25:19"}],"functionName":{"name":"mstore","nativeSrc":"123163:6:19","nodeType":"YulIdentifier","src":"123163:6:19"},"nativeSrc":"123163:49:19","nodeType":"YulFunctionCall","src":"123163:49:19"},"nativeSrc":"123163:49:19","nodeType":"YulExpressionStatement","src":"123163:49:19"}]},"name":"writeString","nativeSrc":"122884:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"122905:3:19","nodeType":"YulTypedName","src":"122905:3:19","type":""},{"name":"w","nativeSrc":"122910:1:19","nodeType":"YulTypedName","src":"122910:1:19","type":""}],"src":"122884:342:19"},{"nativeSrc":"123239:17:19","nodeType":"YulAssignment","src":"123239:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"123251:4:19","nodeType":"YulLiteral","src":"123251:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"123245:5:19","nodeType":"YulIdentifier","src":"123245:5:19"},"nativeSrc":"123245:11:19","nodeType":"YulFunctionCall","src":"123245:11:19"},"variableNames":[{"name":"m0","nativeSrc":"123239:2:19","nodeType":"YulIdentifier","src":"123239:2:19"}]},{"nativeSrc":"123269:17:19","nodeType":"YulAssignment","src":"123269:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"123281:4:19","nodeType":"YulLiteral","src":"123281:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"123275:5:19","nodeType":"YulIdentifier","src":"123275:5:19"},"nativeSrc":"123275:11:19","nodeType":"YulFunctionCall","src":"123275:11:19"},"variableNames":[{"name":"m1","nativeSrc":"123269:2:19","nodeType":"YulIdentifier","src":"123269:2:19"}]},{"nativeSrc":"123299:17:19","nodeType":"YulAssignment","src":"123299:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"123311:4:19","nodeType":"YulLiteral","src":"123311:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"123305:5:19","nodeType":"YulIdentifier","src":"123305:5:19"},"nativeSrc":"123305:11:19","nodeType":"YulFunctionCall","src":"123305:11:19"},"variableNames":[{"name":"m2","nativeSrc":"123299:2:19","nodeType":"YulIdentifier","src":"123299:2:19"}]},{"nativeSrc":"123329:17:19","nodeType":"YulAssignment","src":"123329:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"123341:4:19","nodeType":"YulLiteral","src":"123341:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"123335:5:19","nodeType":"YulIdentifier","src":"123335:5:19"},"nativeSrc":"123335:11:19","nodeType":"YulFunctionCall","src":"123335:11:19"},"variableNames":[{"name":"m3","nativeSrc":"123329:2:19","nodeType":"YulIdentifier","src":"123329:2:19"}]},{"nativeSrc":"123359:17:19","nodeType":"YulAssignment","src":"123359:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"123371:4:19","nodeType":"YulLiteral","src":"123371:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"123365:5:19","nodeType":"YulIdentifier","src":"123365:5:19"},"nativeSrc":"123365:11:19","nodeType":"YulFunctionCall","src":"123365:11:19"},"variableNames":[{"name":"m4","nativeSrc":"123359:2:19","nodeType":"YulIdentifier","src":"123359:2:19"}]},{"nativeSrc":"123389:17:19","nodeType":"YulAssignment","src":"123389:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"123401:4:19","nodeType":"YulLiteral","src":"123401:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"123395:5:19","nodeType":"YulIdentifier","src":"123395:5:19"},"nativeSrc":"123395:11:19","nodeType":"YulFunctionCall","src":"123395:11:19"},"variableNames":[{"name":"m5","nativeSrc":"123389:2:19","nodeType":"YulIdentifier","src":"123389:2:19"}]},{"nativeSrc":"123419:17:19","nodeType":"YulAssignment","src":"123419:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"123431:4:19","nodeType":"YulLiteral","src":"123431:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"123425:5:19","nodeType":"YulIdentifier","src":"123425:5:19"},"nativeSrc":"123425:11:19","nodeType":"YulFunctionCall","src":"123425:11:19"},"variableNames":[{"name":"m6","nativeSrc":"123419:2:19","nodeType":"YulIdentifier","src":"123419:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123516:4:19","nodeType":"YulLiteral","src":"123516:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"123522:10:19","nodeType":"YulLiteral","src":"123522:10:19","type":"","value":"0x50ad461d"}],"functionName":{"name":"mstore","nativeSrc":"123509:6:19","nodeType":"YulIdentifier","src":"123509:6:19"},"nativeSrc":"123509:24:19","nodeType":"YulFunctionCall","src":"123509:24:19"},"nativeSrc":"123509:24:19","nodeType":"YulExpressionStatement","src":"123509:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123553:4:19","nodeType":"YulLiteral","src":"123553:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"123559:2:19","nodeType":"YulIdentifier","src":"123559:2:19"}],"functionName":{"name":"mstore","nativeSrc":"123546:6:19","nodeType":"YulIdentifier","src":"123546:6:19"},"nativeSrc":"123546:16:19","nodeType":"YulFunctionCall","src":"123546:16:19"},"nativeSrc":"123546:16:19","nodeType":"YulExpressionStatement","src":"123546:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123582:4:19","nodeType":"YulLiteral","src":"123582:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"123588:2:19","nodeType":"YulIdentifier","src":"123588:2:19"}],"functionName":{"name":"mstore","nativeSrc":"123575:6:19","nodeType":"YulIdentifier","src":"123575:6:19"},"nativeSrc":"123575:16:19","nodeType":"YulFunctionCall","src":"123575:16:19"},"nativeSrc":"123575:16:19","nodeType":"YulExpressionStatement","src":"123575:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123611:4:19","nodeType":"YulLiteral","src":"123611:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"123617:4:19","nodeType":"YulLiteral","src":"123617:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"123604:6:19","nodeType":"YulIdentifier","src":"123604:6:19"},"nativeSrc":"123604:18:19","nodeType":"YulFunctionCall","src":"123604:18:19"},"nativeSrc":"123604:18:19","nodeType":"YulExpressionStatement","src":"123604:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123642:4:19","nodeType":"YulLiteral","src":"123642:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"123648:2:19","nodeType":"YulIdentifier","src":"123648:2:19"}],"functionName":{"name":"mstore","nativeSrc":"123635:6:19","nodeType":"YulIdentifier","src":"123635:6:19"},"nativeSrc":"123635:16:19","nodeType":"YulFunctionCall","src":"123635:16:19"},"nativeSrc":"123635:16:19","nodeType":"YulExpressionStatement","src":"123635:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123676:4:19","nodeType":"YulLiteral","src":"123676:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"123682:2:19","nodeType":"YulIdentifier","src":"123682:2:19"}],"functionName":{"name":"writeString","nativeSrc":"123664:11:19","nodeType":"YulIdentifier","src":"123664:11:19"},"nativeSrc":"123664:21:19","nodeType":"YulFunctionCall","src":"123664:21:19"},"nativeSrc":"123664:21:19","nodeType":"YulExpressionStatement","src":"123664:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30188,"isOffset":false,"isSlot":false,"src":"123239:2:19","valueSize":1},{"declaration":30191,"isOffset":false,"isSlot":false,"src":"123269:2:19","valueSize":1},{"declaration":30194,"isOffset":false,"isSlot":false,"src":"123299:2:19","valueSize":1},{"declaration":30197,"isOffset":false,"isSlot":false,"src":"123329:2:19","valueSize":1},{"declaration":30200,"isOffset":false,"isSlot":false,"src":"123359:2:19","valueSize":1},{"declaration":30203,"isOffset":false,"isSlot":false,"src":"123389:2:19","valueSize":1},{"declaration":30206,"isOffset":false,"isSlot":false,"src":"123419:2:19","valueSize":1},{"declaration":30178,"isOffset":false,"isSlot":false,"src":"123559:2:19","valueSize":1},{"declaration":30180,"isOffset":false,"isSlot":false,"src":"123588:2:19","valueSize":1},{"declaration":30182,"isOffset":false,"isSlot":false,"src":"123682:2:19","valueSize":1},{"declaration":30184,"isOffset":false,"isSlot":false,"src":"123648:2:19","valueSize":1}],"id":30208,"nodeType":"InlineAssembly","src":"122861:834:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"123720:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":30211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"123726:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":30209,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"123704:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"123704:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30213,"nodeType":"ExpressionStatement","src":"123704:27:19"},{"AST":{"nativeSrc":"123793:214:19","nodeType":"YulBlock","src":"123793:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"123814:4:19","nodeType":"YulLiteral","src":"123814:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"123820:2:19","nodeType":"YulIdentifier","src":"123820:2:19"}],"functionName":{"name":"mstore","nativeSrc":"123807:6:19","nodeType":"YulIdentifier","src":"123807:6:19"},"nativeSrc":"123807:16:19","nodeType":"YulFunctionCall","src":"123807:16:19"},"nativeSrc":"123807:16:19","nodeType":"YulExpressionStatement","src":"123807:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123843:4:19","nodeType":"YulLiteral","src":"123843:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"123849:2:19","nodeType":"YulIdentifier","src":"123849:2:19"}],"functionName":{"name":"mstore","nativeSrc":"123836:6:19","nodeType":"YulIdentifier","src":"123836:6:19"},"nativeSrc":"123836:16:19","nodeType":"YulFunctionCall","src":"123836:16:19"},"nativeSrc":"123836:16:19","nodeType":"YulExpressionStatement","src":"123836:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123872:4:19","nodeType":"YulLiteral","src":"123872:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"123878:2:19","nodeType":"YulIdentifier","src":"123878:2:19"}],"functionName":{"name":"mstore","nativeSrc":"123865:6:19","nodeType":"YulIdentifier","src":"123865:6:19"},"nativeSrc":"123865:16:19","nodeType":"YulFunctionCall","src":"123865:16:19"},"nativeSrc":"123865:16:19","nodeType":"YulExpressionStatement","src":"123865:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123901:4:19","nodeType":"YulLiteral","src":"123901:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"123907:2:19","nodeType":"YulIdentifier","src":"123907:2:19"}],"functionName":{"name":"mstore","nativeSrc":"123894:6:19","nodeType":"YulIdentifier","src":"123894:6:19"},"nativeSrc":"123894:16:19","nodeType":"YulFunctionCall","src":"123894:16:19"},"nativeSrc":"123894:16:19","nodeType":"YulExpressionStatement","src":"123894:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123930:4:19","nodeType":"YulLiteral","src":"123930:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"123936:2:19","nodeType":"YulIdentifier","src":"123936:2:19"}],"functionName":{"name":"mstore","nativeSrc":"123923:6:19","nodeType":"YulIdentifier","src":"123923:6:19"},"nativeSrc":"123923:16:19","nodeType":"YulFunctionCall","src":"123923:16:19"},"nativeSrc":"123923:16:19","nodeType":"YulExpressionStatement","src":"123923:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123959:4:19","nodeType":"YulLiteral","src":"123959:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"123965:2:19","nodeType":"YulIdentifier","src":"123965:2:19"}],"functionName":{"name":"mstore","nativeSrc":"123952:6:19","nodeType":"YulIdentifier","src":"123952:6:19"},"nativeSrc":"123952:16:19","nodeType":"YulFunctionCall","src":"123952:16:19"},"nativeSrc":"123952:16:19","nodeType":"YulExpressionStatement","src":"123952:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"123988:4:19","nodeType":"YulLiteral","src":"123988:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"123994:2:19","nodeType":"YulIdentifier","src":"123994:2:19"}],"functionName":{"name":"mstore","nativeSrc":"123981:6:19","nodeType":"YulIdentifier","src":"123981:6:19"},"nativeSrc":"123981:16:19","nodeType":"YulFunctionCall","src":"123981:16:19"},"nativeSrc":"123981:16:19","nodeType":"YulExpressionStatement","src":"123981:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30188,"isOffset":false,"isSlot":false,"src":"123820:2:19","valueSize":1},{"declaration":30191,"isOffset":false,"isSlot":false,"src":"123849:2:19","valueSize":1},{"declaration":30194,"isOffset":false,"isSlot":false,"src":"123878:2:19","valueSize":1},{"declaration":30197,"isOffset":false,"isSlot":false,"src":"123907:2:19","valueSize":1},{"declaration":30200,"isOffset":false,"isSlot":false,"src":"123936:2:19","valueSize":1},{"declaration":30203,"isOffset":false,"isSlot":false,"src":"123965:2:19","valueSize":1},{"declaration":30206,"isOffset":false,"isSlot":false,"src":"123994:2:19","valueSize":1}],"id":30214,"nodeType":"InlineAssembly","src":"123784:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"122608:3:19","parameters":{"id":30185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30178,"mutability":"mutable","name":"p0","nameLocation":"122620:2:19","nodeType":"VariableDeclaration","scope":30216,"src":"122612:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30177,"name":"address","nodeType":"ElementaryTypeName","src":"122612:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30180,"mutability":"mutable","name":"p1","nameLocation":"122629:2:19","nodeType":"VariableDeclaration","scope":30216,"src":"122624:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30179,"name":"bool","nodeType":"ElementaryTypeName","src":"122624:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30182,"mutability":"mutable","name":"p2","nameLocation":"122641:2:19","nodeType":"VariableDeclaration","scope":30216,"src":"122633:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30181,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122633:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30184,"mutability":"mutable","name":"p3","nameLocation":"122650:2:19","nodeType":"VariableDeclaration","scope":30216,"src":"122645:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30183,"name":"bool","nodeType":"ElementaryTypeName","src":"122645:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"122611:42:19"},"returnParameters":{"id":30186,"nodeType":"ParameterList","parameters":[],"src":"122668:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30256,"nodeType":"FunctionDefinition","src":"124019:1420:19","nodes":[],"body":{"id":30255,"nodeType":"Block","src":"124091:1348:19","nodes":[],"statements":[{"assignments":[30228],"declarations":[{"constant":false,"id":30228,"mutability":"mutable","name":"m0","nameLocation":"124109:2:19","nodeType":"VariableDeclaration","scope":30255,"src":"124101:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30227,"name":"bytes32","nodeType":"ElementaryTypeName","src":"124101:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30229,"nodeType":"VariableDeclarationStatement","src":"124101:10:19"},{"assignments":[30231],"declarations":[{"constant":false,"id":30231,"mutability":"mutable","name":"m1","nameLocation":"124129:2:19","nodeType":"VariableDeclaration","scope":30255,"src":"124121:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30230,"name":"bytes32","nodeType":"ElementaryTypeName","src":"124121:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30232,"nodeType":"VariableDeclarationStatement","src":"124121:10:19"},{"assignments":[30234],"declarations":[{"constant":false,"id":30234,"mutability":"mutable","name":"m2","nameLocation":"124149:2:19","nodeType":"VariableDeclaration","scope":30255,"src":"124141:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30233,"name":"bytes32","nodeType":"ElementaryTypeName","src":"124141:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30235,"nodeType":"VariableDeclarationStatement","src":"124141:10:19"},{"assignments":[30237],"declarations":[{"constant":false,"id":30237,"mutability":"mutable","name":"m3","nameLocation":"124169:2:19","nodeType":"VariableDeclaration","scope":30255,"src":"124161:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30236,"name":"bytes32","nodeType":"ElementaryTypeName","src":"124161:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30238,"nodeType":"VariableDeclarationStatement","src":"124161:10:19"},{"assignments":[30240],"declarations":[{"constant":false,"id":30240,"mutability":"mutable","name":"m4","nameLocation":"124189:2:19","nodeType":"VariableDeclaration","scope":30255,"src":"124181:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30239,"name":"bytes32","nodeType":"ElementaryTypeName","src":"124181:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30241,"nodeType":"VariableDeclarationStatement","src":"124181:10:19"},{"assignments":[30243],"declarations":[{"constant":false,"id":30243,"mutability":"mutable","name":"m5","nameLocation":"124209:2:19","nodeType":"VariableDeclaration","scope":30255,"src":"124201:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30242,"name":"bytes32","nodeType":"ElementaryTypeName","src":"124201:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30244,"nodeType":"VariableDeclarationStatement","src":"124201:10:19"},{"assignments":[30246],"declarations":[{"constant":false,"id":30246,"mutability":"mutable","name":"m6","nameLocation":"124229:2:19","nodeType":"VariableDeclaration","scope":30255,"src":"124221:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30245,"name":"bytes32","nodeType":"ElementaryTypeName","src":"124221:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30247,"nodeType":"VariableDeclarationStatement","src":"124221:10:19"},{"AST":{"nativeSrc":"124293:828:19","nodeType":"YulBlock","src":"124293:828:19","statements":[{"body":{"nativeSrc":"124336:313:19","nodeType":"YulBlock","src":"124336:313:19","statements":[{"nativeSrc":"124354:15:19","nodeType":"YulVariableDeclaration","src":"124354:15:19","value":{"kind":"number","nativeSrc":"124368:1:19","nodeType":"YulLiteral","src":"124368:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"124358:6:19","nodeType":"YulTypedName","src":"124358:6:19","type":""}]},{"body":{"nativeSrc":"124439:40:19","nodeType":"YulBlock","src":"124439:40:19","statements":[{"body":{"nativeSrc":"124468:9:19","nodeType":"YulBlock","src":"124468:9:19","statements":[{"nativeSrc":"124470:5:19","nodeType":"YulBreak","src":"124470:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"124456:6:19","nodeType":"YulIdentifier","src":"124456:6:19"},{"name":"w","nativeSrc":"124464:1:19","nodeType":"YulIdentifier","src":"124464:1:19"}],"functionName":{"name":"byte","nativeSrc":"124451:4:19","nodeType":"YulIdentifier","src":"124451:4:19"},"nativeSrc":"124451:15:19","nodeType":"YulFunctionCall","src":"124451:15:19"}],"functionName":{"name":"iszero","nativeSrc":"124444:6:19","nodeType":"YulIdentifier","src":"124444:6:19"},"nativeSrc":"124444:23:19","nodeType":"YulFunctionCall","src":"124444:23:19"},"nativeSrc":"124441:36:19","nodeType":"YulIf","src":"124441:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"124396:6:19","nodeType":"YulIdentifier","src":"124396:6:19"},{"kind":"number","nativeSrc":"124404:4:19","nodeType":"YulLiteral","src":"124404:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"124393:2:19","nodeType":"YulIdentifier","src":"124393:2:19"},"nativeSrc":"124393:16:19","nodeType":"YulFunctionCall","src":"124393:16:19"},"nativeSrc":"124386:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"124410:28:19","nodeType":"YulBlock","src":"124410:28:19","statements":[{"nativeSrc":"124412:24:19","nodeType":"YulAssignment","src":"124412:24:19","value":{"arguments":[{"name":"length","nativeSrc":"124426:6:19","nodeType":"YulIdentifier","src":"124426:6:19"},{"kind":"number","nativeSrc":"124434:1:19","nodeType":"YulLiteral","src":"124434:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"124422:3:19","nodeType":"YulIdentifier","src":"124422:3:19"},"nativeSrc":"124422:14:19","nodeType":"YulFunctionCall","src":"124422:14:19"},"variableNames":[{"name":"length","nativeSrc":"124412:6:19","nodeType":"YulIdentifier","src":"124412:6:19"}]}]},"pre":{"nativeSrc":"124390:2:19","nodeType":"YulBlock","src":"124390:2:19","statements":[]},"src":"124386:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"124503:3:19","nodeType":"YulIdentifier","src":"124503:3:19"},{"name":"length","nativeSrc":"124508:6:19","nodeType":"YulIdentifier","src":"124508:6:19"}],"functionName":{"name":"mstore","nativeSrc":"124496:6:19","nodeType":"YulIdentifier","src":"124496:6:19"},"nativeSrc":"124496:19:19","nodeType":"YulFunctionCall","src":"124496:19:19"},"nativeSrc":"124496:19:19","nodeType":"YulExpressionStatement","src":"124496:19:19"},{"nativeSrc":"124532:37:19","nodeType":"YulVariableDeclaration","src":"124532:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"124549:3:19","nodeType":"YulLiteral","src":"124549:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"124558:1:19","nodeType":"YulLiteral","src":"124558:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"124561:6:19","nodeType":"YulIdentifier","src":"124561:6:19"}],"functionName":{"name":"shl","nativeSrc":"124554:3:19","nodeType":"YulIdentifier","src":"124554:3:19"},"nativeSrc":"124554:14:19","nodeType":"YulFunctionCall","src":"124554:14:19"}],"functionName":{"name":"sub","nativeSrc":"124545:3:19","nodeType":"YulIdentifier","src":"124545:3:19"},"nativeSrc":"124545:24:19","nodeType":"YulFunctionCall","src":"124545:24:19"},"variables":[{"name":"shift","nativeSrc":"124536:5:19","nodeType":"YulTypedName","src":"124536:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"124597:3:19","nodeType":"YulIdentifier","src":"124597:3:19"},{"kind":"number","nativeSrc":"124602:4:19","nodeType":"YulLiteral","src":"124602:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"124593:3:19","nodeType":"YulIdentifier","src":"124593:3:19"},"nativeSrc":"124593:14:19","nodeType":"YulFunctionCall","src":"124593:14:19"},{"arguments":[{"name":"shift","nativeSrc":"124613:5:19","nodeType":"YulIdentifier","src":"124613:5:19"},{"arguments":[{"name":"shift","nativeSrc":"124624:5:19","nodeType":"YulIdentifier","src":"124624:5:19"},{"name":"w","nativeSrc":"124631:1:19","nodeType":"YulIdentifier","src":"124631:1:19"}],"functionName":{"name":"shr","nativeSrc":"124620:3:19","nodeType":"YulIdentifier","src":"124620:3:19"},"nativeSrc":"124620:13:19","nodeType":"YulFunctionCall","src":"124620:13:19"}],"functionName":{"name":"shl","nativeSrc":"124609:3:19","nodeType":"YulIdentifier","src":"124609:3:19"},"nativeSrc":"124609:25:19","nodeType":"YulFunctionCall","src":"124609:25:19"}],"functionName":{"name":"mstore","nativeSrc":"124586:6:19","nodeType":"YulIdentifier","src":"124586:6:19"},"nativeSrc":"124586:49:19","nodeType":"YulFunctionCall","src":"124586:49:19"},"nativeSrc":"124586:49:19","nodeType":"YulExpressionStatement","src":"124586:49:19"}]},"name":"writeString","nativeSrc":"124307:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"124328:3:19","nodeType":"YulTypedName","src":"124328:3:19","type":""},{"name":"w","nativeSrc":"124333:1:19","nodeType":"YulTypedName","src":"124333:1:19","type":""}],"src":"124307:342:19"},{"nativeSrc":"124662:17:19","nodeType":"YulAssignment","src":"124662:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"124674:4:19","nodeType":"YulLiteral","src":"124674:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"124668:5:19","nodeType":"YulIdentifier","src":"124668:5:19"},"nativeSrc":"124668:11:19","nodeType":"YulFunctionCall","src":"124668:11:19"},"variableNames":[{"name":"m0","nativeSrc":"124662:2:19","nodeType":"YulIdentifier","src":"124662:2:19"}]},{"nativeSrc":"124692:17:19","nodeType":"YulAssignment","src":"124692:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"124704:4:19","nodeType":"YulLiteral","src":"124704:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"124698:5:19","nodeType":"YulIdentifier","src":"124698:5:19"},"nativeSrc":"124698:11:19","nodeType":"YulFunctionCall","src":"124698:11:19"},"variableNames":[{"name":"m1","nativeSrc":"124692:2:19","nodeType":"YulIdentifier","src":"124692:2:19"}]},{"nativeSrc":"124722:17:19","nodeType":"YulAssignment","src":"124722:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"124734:4:19","nodeType":"YulLiteral","src":"124734:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"124728:5:19","nodeType":"YulIdentifier","src":"124728:5:19"},"nativeSrc":"124728:11:19","nodeType":"YulFunctionCall","src":"124728:11:19"},"variableNames":[{"name":"m2","nativeSrc":"124722:2:19","nodeType":"YulIdentifier","src":"124722:2:19"}]},{"nativeSrc":"124752:17:19","nodeType":"YulAssignment","src":"124752:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"124764:4:19","nodeType":"YulLiteral","src":"124764:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"124758:5:19","nodeType":"YulIdentifier","src":"124758:5:19"},"nativeSrc":"124758:11:19","nodeType":"YulFunctionCall","src":"124758:11:19"},"variableNames":[{"name":"m3","nativeSrc":"124752:2:19","nodeType":"YulIdentifier","src":"124752:2:19"}]},{"nativeSrc":"124782:17:19","nodeType":"YulAssignment","src":"124782:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"124794:4:19","nodeType":"YulLiteral","src":"124794:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"124788:5:19","nodeType":"YulIdentifier","src":"124788:5:19"},"nativeSrc":"124788:11:19","nodeType":"YulFunctionCall","src":"124788:11:19"},"variableNames":[{"name":"m4","nativeSrc":"124782:2:19","nodeType":"YulIdentifier","src":"124782:2:19"}]},{"nativeSrc":"124812:17:19","nodeType":"YulAssignment","src":"124812:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"124824:4:19","nodeType":"YulLiteral","src":"124824:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"124818:5:19","nodeType":"YulIdentifier","src":"124818:5:19"},"nativeSrc":"124818:11:19","nodeType":"YulFunctionCall","src":"124818:11:19"},"variableNames":[{"name":"m5","nativeSrc":"124812:2:19","nodeType":"YulIdentifier","src":"124812:2:19"}]},{"nativeSrc":"124842:17:19","nodeType":"YulAssignment","src":"124842:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"124854:4:19","nodeType":"YulLiteral","src":"124854:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"124848:5:19","nodeType":"YulIdentifier","src":"124848:5:19"},"nativeSrc":"124848:11:19","nodeType":"YulFunctionCall","src":"124848:11:19"},"variableNames":[{"name":"m6","nativeSrc":"124842:2:19","nodeType":"YulIdentifier","src":"124842:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"124942:4:19","nodeType":"YulLiteral","src":"124942:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"124948:10:19","nodeType":"YulLiteral","src":"124948:10:19","type":"","value":"0x80e6a20b"}],"functionName":{"name":"mstore","nativeSrc":"124935:6:19","nodeType":"YulIdentifier","src":"124935:6:19"},"nativeSrc":"124935:24:19","nodeType":"YulFunctionCall","src":"124935:24:19"},"nativeSrc":"124935:24:19","nodeType":"YulExpressionStatement","src":"124935:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"124979:4:19","nodeType":"YulLiteral","src":"124979:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"124985:2:19","nodeType":"YulIdentifier","src":"124985:2:19"}],"functionName":{"name":"mstore","nativeSrc":"124972:6:19","nodeType":"YulIdentifier","src":"124972:6:19"},"nativeSrc":"124972:16:19","nodeType":"YulFunctionCall","src":"124972:16:19"},"nativeSrc":"124972:16:19","nodeType":"YulExpressionStatement","src":"124972:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125008:4:19","nodeType":"YulLiteral","src":"125008:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"125014:2:19","nodeType":"YulIdentifier","src":"125014:2:19"}],"functionName":{"name":"mstore","nativeSrc":"125001:6:19","nodeType":"YulIdentifier","src":"125001:6:19"},"nativeSrc":"125001:16:19","nodeType":"YulFunctionCall","src":"125001:16:19"},"nativeSrc":"125001:16:19","nodeType":"YulExpressionStatement","src":"125001:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125037:4:19","nodeType":"YulLiteral","src":"125037:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"125043:4:19","nodeType":"YulLiteral","src":"125043:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"125030:6:19","nodeType":"YulIdentifier","src":"125030:6:19"},"nativeSrc":"125030:18:19","nodeType":"YulFunctionCall","src":"125030:18:19"},"nativeSrc":"125030:18:19","nodeType":"YulExpressionStatement","src":"125030:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125068:4:19","nodeType":"YulLiteral","src":"125068:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"125074:2:19","nodeType":"YulIdentifier","src":"125074:2:19"}],"functionName":{"name":"mstore","nativeSrc":"125061:6:19","nodeType":"YulIdentifier","src":"125061:6:19"},"nativeSrc":"125061:16:19","nodeType":"YulFunctionCall","src":"125061:16:19"},"nativeSrc":"125061:16:19","nodeType":"YulExpressionStatement","src":"125061:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125102:4:19","nodeType":"YulLiteral","src":"125102:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"125108:2:19","nodeType":"YulIdentifier","src":"125108:2:19"}],"functionName":{"name":"writeString","nativeSrc":"125090:11:19","nodeType":"YulIdentifier","src":"125090:11:19"},"nativeSrc":"125090:21:19","nodeType":"YulFunctionCall","src":"125090:21:19"},"nativeSrc":"125090:21:19","nodeType":"YulExpressionStatement","src":"125090:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30228,"isOffset":false,"isSlot":false,"src":"124662:2:19","valueSize":1},{"declaration":30231,"isOffset":false,"isSlot":false,"src":"124692:2:19","valueSize":1},{"declaration":30234,"isOffset":false,"isSlot":false,"src":"124722:2:19","valueSize":1},{"declaration":30237,"isOffset":false,"isSlot":false,"src":"124752:2:19","valueSize":1},{"declaration":30240,"isOffset":false,"isSlot":false,"src":"124782:2:19","valueSize":1},{"declaration":30243,"isOffset":false,"isSlot":false,"src":"124812:2:19","valueSize":1},{"declaration":30246,"isOffset":false,"isSlot":false,"src":"124842:2:19","valueSize":1},{"declaration":30218,"isOffset":false,"isSlot":false,"src":"124985:2:19","valueSize":1},{"declaration":30220,"isOffset":false,"isSlot":false,"src":"125014:2:19","valueSize":1},{"declaration":30222,"isOffset":false,"isSlot":false,"src":"125108:2:19","valueSize":1},{"declaration":30224,"isOffset":false,"isSlot":false,"src":"125074:2:19","valueSize":1}],"id":30248,"nodeType":"InlineAssembly","src":"124284:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"125146:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":30251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"125152:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":30249,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"125130:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"125130:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30253,"nodeType":"ExpressionStatement","src":"125130:27:19"},{"AST":{"nativeSrc":"125219:214:19","nodeType":"YulBlock","src":"125219:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"125240:4:19","nodeType":"YulLiteral","src":"125240:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"125246:2:19","nodeType":"YulIdentifier","src":"125246:2:19"}],"functionName":{"name":"mstore","nativeSrc":"125233:6:19","nodeType":"YulIdentifier","src":"125233:6:19"},"nativeSrc":"125233:16:19","nodeType":"YulFunctionCall","src":"125233:16:19"},"nativeSrc":"125233:16:19","nodeType":"YulExpressionStatement","src":"125233:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125269:4:19","nodeType":"YulLiteral","src":"125269:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"125275:2:19","nodeType":"YulIdentifier","src":"125275:2:19"}],"functionName":{"name":"mstore","nativeSrc":"125262:6:19","nodeType":"YulIdentifier","src":"125262:6:19"},"nativeSrc":"125262:16:19","nodeType":"YulFunctionCall","src":"125262:16:19"},"nativeSrc":"125262:16:19","nodeType":"YulExpressionStatement","src":"125262:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125298:4:19","nodeType":"YulLiteral","src":"125298:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"125304:2:19","nodeType":"YulIdentifier","src":"125304:2:19"}],"functionName":{"name":"mstore","nativeSrc":"125291:6:19","nodeType":"YulIdentifier","src":"125291:6:19"},"nativeSrc":"125291:16:19","nodeType":"YulFunctionCall","src":"125291:16:19"},"nativeSrc":"125291:16:19","nodeType":"YulExpressionStatement","src":"125291:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125327:4:19","nodeType":"YulLiteral","src":"125327:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"125333:2:19","nodeType":"YulIdentifier","src":"125333:2:19"}],"functionName":{"name":"mstore","nativeSrc":"125320:6:19","nodeType":"YulIdentifier","src":"125320:6:19"},"nativeSrc":"125320:16:19","nodeType":"YulFunctionCall","src":"125320:16:19"},"nativeSrc":"125320:16:19","nodeType":"YulExpressionStatement","src":"125320:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125356:4:19","nodeType":"YulLiteral","src":"125356:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"125362:2:19","nodeType":"YulIdentifier","src":"125362:2:19"}],"functionName":{"name":"mstore","nativeSrc":"125349:6:19","nodeType":"YulIdentifier","src":"125349:6:19"},"nativeSrc":"125349:16:19","nodeType":"YulFunctionCall","src":"125349:16:19"},"nativeSrc":"125349:16:19","nodeType":"YulExpressionStatement","src":"125349:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125385:4:19","nodeType":"YulLiteral","src":"125385:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"125391:2:19","nodeType":"YulIdentifier","src":"125391:2:19"}],"functionName":{"name":"mstore","nativeSrc":"125378:6:19","nodeType":"YulIdentifier","src":"125378:6:19"},"nativeSrc":"125378:16:19","nodeType":"YulFunctionCall","src":"125378:16:19"},"nativeSrc":"125378:16:19","nodeType":"YulExpressionStatement","src":"125378:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"125414:4:19","nodeType":"YulLiteral","src":"125414:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"125420:2:19","nodeType":"YulIdentifier","src":"125420:2:19"}],"functionName":{"name":"mstore","nativeSrc":"125407:6:19","nodeType":"YulIdentifier","src":"125407:6:19"},"nativeSrc":"125407:16:19","nodeType":"YulFunctionCall","src":"125407:16:19"},"nativeSrc":"125407:16:19","nodeType":"YulExpressionStatement","src":"125407:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30228,"isOffset":false,"isSlot":false,"src":"125246:2:19","valueSize":1},{"declaration":30231,"isOffset":false,"isSlot":false,"src":"125275:2:19","valueSize":1},{"declaration":30234,"isOffset":false,"isSlot":false,"src":"125304:2:19","valueSize":1},{"declaration":30237,"isOffset":false,"isSlot":false,"src":"125333:2:19","valueSize":1},{"declaration":30240,"isOffset":false,"isSlot":false,"src":"125362:2:19","valueSize":1},{"declaration":30243,"isOffset":false,"isSlot":false,"src":"125391:2:19","valueSize":1},{"declaration":30246,"isOffset":false,"isSlot":false,"src":"125420:2:19","valueSize":1}],"id":30254,"nodeType":"InlineAssembly","src":"125210:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"124028:3:19","parameters":{"id":30225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30218,"mutability":"mutable","name":"p0","nameLocation":"124040:2:19","nodeType":"VariableDeclaration","scope":30256,"src":"124032:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30217,"name":"address","nodeType":"ElementaryTypeName","src":"124032:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30220,"mutability":"mutable","name":"p1","nameLocation":"124049:2:19","nodeType":"VariableDeclaration","scope":30256,"src":"124044:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30219,"name":"bool","nodeType":"ElementaryTypeName","src":"124044:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30222,"mutability":"mutable","name":"p2","nameLocation":"124061:2:19","nodeType":"VariableDeclaration","scope":30256,"src":"124053:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30221,"name":"bytes32","nodeType":"ElementaryTypeName","src":"124053:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30224,"mutability":"mutable","name":"p3","nameLocation":"124073:2:19","nodeType":"VariableDeclaration","scope":30256,"src":"124065:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30223,"name":"uint256","nodeType":"ElementaryTypeName","src":"124065:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"124031:45:19"},"returnParameters":{"id":30226,"nodeType":"ParameterList","parameters":[],"src":"124091:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30302,"nodeType":"FunctionDefinition","src":"125445:1616:19","nodes":[],"body":{"id":30301,"nodeType":"Block","src":"125517:1544:19","nodes":[],"statements":[{"assignments":[30268],"declarations":[{"constant":false,"id":30268,"mutability":"mutable","name":"m0","nameLocation":"125535:2:19","nodeType":"VariableDeclaration","scope":30301,"src":"125527:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30267,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125527:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30269,"nodeType":"VariableDeclarationStatement","src":"125527:10:19"},{"assignments":[30271],"declarations":[{"constant":false,"id":30271,"mutability":"mutable","name":"m1","nameLocation":"125555:2:19","nodeType":"VariableDeclaration","scope":30301,"src":"125547:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30270,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125547:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30272,"nodeType":"VariableDeclarationStatement","src":"125547:10:19"},{"assignments":[30274],"declarations":[{"constant":false,"id":30274,"mutability":"mutable","name":"m2","nameLocation":"125575:2:19","nodeType":"VariableDeclaration","scope":30301,"src":"125567:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30273,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125567:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30275,"nodeType":"VariableDeclarationStatement","src":"125567:10:19"},{"assignments":[30277],"declarations":[{"constant":false,"id":30277,"mutability":"mutable","name":"m3","nameLocation":"125595:2:19","nodeType":"VariableDeclaration","scope":30301,"src":"125587:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30276,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125587:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30278,"nodeType":"VariableDeclarationStatement","src":"125587:10:19"},{"assignments":[30280],"declarations":[{"constant":false,"id":30280,"mutability":"mutable","name":"m4","nameLocation":"125615:2:19","nodeType":"VariableDeclaration","scope":30301,"src":"125607:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30279,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125607:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30281,"nodeType":"VariableDeclarationStatement","src":"125607:10:19"},{"assignments":[30283],"declarations":[{"constant":false,"id":30283,"mutability":"mutable","name":"m5","nameLocation":"125635:2:19","nodeType":"VariableDeclaration","scope":30301,"src":"125627:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30282,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125627:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30284,"nodeType":"VariableDeclarationStatement","src":"125627:10:19"},{"assignments":[30286],"declarations":[{"constant":false,"id":30286,"mutability":"mutable","name":"m6","nameLocation":"125655:2:19","nodeType":"VariableDeclaration","scope":30301,"src":"125647:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30285,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125647:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30287,"nodeType":"VariableDeclarationStatement","src":"125647:10:19"},{"assignments":[30289],"declarations":[{"constant":false,"id":30289,"mutability":"mutable","name":"m7","nameLocation":"125675:2:19","nodeType":"VariableDeclaration","scope":30301,"src":"125667:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30288,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125667:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30290,"nodeType":"VariableDeclarationStatement","src":"125667:10:19"},{"assignments":[30292],"declarations":[{"constant":false,"id":30292,"mutability":"mutable","name":"m8","nameLocation":"125695:2:19","nodeType":"VariableDeclaration","scope":30301,"src":"125687:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30291,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125687:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30293,"nodeType":"VariableDeclarationStatement","src":"125687:10:19"},{"AST":{"nativeSrc":"125759:924:19","nodeType":"YulBlock","src":"125759:924:19","statements":[{"body":{"nativeSrc":"125802:313:19","nodeType":"YulBlock","src":"125802:313:19","statements":[{"nativeSrc":"125820:15:19","nodeType":"YulVariableDeclaration","src":"125820:15:19","value":{"kind":"number","nativeSrc":"125834:1:19","nodeType":"YulLiteral","src":"125834:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"125824:6:19","nodeType":"YulTypedName","src":"125824:6:19","type":""}]},{"body":{"nativeSrc":"125905:40:19","nodeType":"YulBlock","src":"125905:40:19","statements":[{"body":{"nativeSrc":"125934:9:19","nodeType":"YulBlock","src":"125934:9:19","statements":[{"nativeSrc":"125936:5:19","nodeType":"YulBreak","src":"125936:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"125922:6:19","nodeType":"YulIdentifier","src":"125922:6:19"},{"name":"w","nativeSrc":"125930:1:19","nodeType":"YulIdentifier","src":"125930:1:19"}],"functionName":{"name":"byte","nativeSrc":"125917:4:19","nodeType":"YulIdentifier","src":"125917:4:19"},"nativeSrc":"125917:15:19","nodeType":"YulFunctionCall","src":"125917:15:19"}],"functionName":{"name":"iszero","nativeSrc":"125910:6:19","nodeType":"YulIdentifier","src":"125910:6:19"},"nativeSrc":"125910:23:19","nodeType":"YulFunctionCall","src":"125910:23:19"},"nativeSrc":"125907:36:19","nodeType":"YulIf","src":"125907:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"125862:6:19","nodeType":"YulIdentifier","src":"125862:6:19"},{"kind":"number","nativeSrc":"125870:4:19","nodeType":"YulLiteral","src":"125870:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"125859:2:19","nodeType":"YulIdentifier","src":"125859:2:19"},"nativeSrc":"125859:16:19","nodeType":"YulFunctionCall","src":"125859:16:19"},"nativeSrc":"125852:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"125876:28:19","nodeType":"YulBlock","src":"125876:28:19","statements":[{"nativeSrc":"125878:24:19","nodeType":"YulAssignment","src":"125878:24:19","value":{"arguments":[{"name":"length","nativeSrc":"125892:6:19","nodeType":"YulIdentifier","src":"125892:6:19"},{"kind":"number","nativeSrc":"125900:1:19","nodeType":"YulLiteral","src":"125900:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"125888:3:19","nodeType":"YulIdentifier","src":"125888:3:19"},"nativeSrc":"125888:14:19","nodeType":"YulFunctionCall","src":"125888:14:19"},"variableNames":[{"name":"length","nativeSrc":"125878:6:19","nodeType":"YulIdentifier","src":"125878:6:19"}]}]},"pre":{"nativeSrc":"125856:2:19","nodeType":"YulBlock","src":"125856:2:19","statements":[]},"src":"125852:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"125969:3:19","nodeType":"YulIdentifier","src":"125969:3:19"},{"name":"length","nativeSrc":"125974:6:19","nodeType":"YulIdentifier","src":"125974:6:19"}],"functionName":{"name":"mstore","nativeSrc":"125962:6:19","nodeType":"YulIdentifier","src":"125962:6:19"},"nativeSrc":"125962:19:19","nodeType":"YulFunctionCall","src":"125962:19:19"},"nativeSrc":"125962:19:19","nodeType":"YulExpressionStatement","src":"125962:19:19"},{"nativeSrc":"125998:37:19","nodeType":"YulVariableDeclaration","src":"125998:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"126015:3:19","nodeType":"YulLiteral","src":"126015:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"126024:1:19","nodeType":"YulLiteral","src":"126024:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"126027:6:19","nodeType":"YulIdentifier","src":"126027:6:19"}],"functionName":{"name":"shl","nativeSrc":"126020:3:19","nodeType":"YulIdentifier","src":"126020:3:19"},"nativeSrc":"126020:14:19","nodeType":"YulFunctionCall","src":"126020:14:19"}],"functionName":{"name":"sub","nativeSrc":"126011:3:19","nodeType":"YulIdentifier","src":"126011:3:19"},"nativeSrc":"126011:24:19","nodeType":"YulFunctionCall","src":"126011:24:19"},"variables":[{"name":"shift","nativeSrc":"126002:5:19","nodeType":"YulTypedName","src":"126002:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"126063:3:19","nodeType":"YulIdentifier","src":"126063:3:19"},{"kind":"number","nativeSrc":"126068:4:19","nodeType":"YulLiteral","src":"126068:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"126059:3:19","nodeType":"YulIdentifier","src":"126059:3:19"},"nativeSrc":"126059:14:19","nodeType":"YulFunctionCall","src":"126059:14:19"},{"arguments":[{"name":"shift","nativeSrc":"126079:5:19","nodeType":"YulIdentifier","src":"126079:5:19"},{"arguments":[{"name":"shift","nativeSrc":"126090:5:19","nodeType":"YulIdentifier","src":"126090:5:19"},{"name":"w","nativeSrc":"126097:1:19","nodeType":"YulIdentifier","src":"126097:1:19"}],"functionName":{"name":"shr","nativeSrc":"126086:3:19","nodeType":"YulIdentifier","src":"126086:3:19"},"nativeSrc":"126086:13:19","nodeType":"YulFunctionCall","src":"126086:13:19"}],"functionName":{"name":"shl","nativeSrc":"126075:3:19","nodeType":"YulIdentifier","src":"126075:3:19"},"nativeSrc":"126075:25:19","nodeType":"YulFunctionCall","src":"126075:25:19"}],"functionName":{"name":"mstore","nativeSrc":"126052:6:19","nodeType":"YulIdentifier","src":"126052:6:19"},"nativeSrc":"126052:49:19","nodeType":"YulFunctionCall","src":"126052:49:19"},"nativeSrc":"126052:49:19","nodeType":"YulExpressionStatement","src":"126052:49:19"}]},"name":"writeString","nativeSrc":"125773:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"125794:3:19","nodeType":"YulTypedName","src":"125794:3:19","type":""},{"name":"w","nativeSrc":"125799:1:19","nodeType":"YulTypedName","src":"125799:1:19","type":""}],"src":"125773:342:19"},{"nativeSrc":"126128:17:19","nodeType":"YulAssignment","src":"126128:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"126140:4:19","nodeType":"YulLiteral","src":"126140:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"126134:5:19","nodeType":"YulIdentifier","src":"126134:5:19"},"nativeSrc":"126134:11:19","nodeType":"YulFunctionCall","src":"126134:11:19"},"variableNames":[{"name":"m0","nativeSrc":"126128:2:19","nodeType":"YulIdentifier","src":"126128:2:19"}]},{"nativeSrc":"126158:17:19","nodeType":"YulAssignment","src":"126158:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"126170:4:19","nodeType":"YulLiteral","src":"126170:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"126164:5:19","nodeType":"YulIdentifier","src":"126164:5:19"},"nativeSrc":"126164:11:19","nodeType":"YulFunctionCall","src":"126164:11:19"},"variableNames":[{"name":"m1","nativeSrc":"126158:2:19","nodeType":"YulIdentifier","src":"126158:2:19"}]},{"nativeSrc":"126188:17:19","nodeType":"YulAssignment","src":"126188:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"126200:4:19","nodeType":"YulLiteral","src":"126200:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"126194:5:19","nodeType":"YulIdentifier","src":"126194:5:19"},"nativeSrc":"126194:11:19","nodeType":"YulFunctionCall","src":"126194:11:19"},"variableNames":[{"name":"m2","nativeSrc":"126188:2:19","nodeType":"YulIdentifier","src":"126188:2:19"}]},{"nativeSrc":"126218:17:19","nodeType":"YulAssignment","src":"126218:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"126230:4:19","nodeType":"YulLiteral","src":"126230:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"126224:5:19","nodeType":"YulIdentifier","src":"126224:5:19"},"nativeSrc":"126224:11:19","nodeType":"YulFunctionCall","src":"126224:11:19"},"variableNames":[{"name":"m3","nativeSrc":"126218:2:19","nodeType":"YulIdentifier","src":"126218:2:19"}]},{"nativeSrc":"126248:17:19","nodeType":"YulAssignment","src":"126248:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"126260:4:19","nodeType":"YulLiteral","src":"126260:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"126254:5:19","nodeType":"YulIdentifier","src":"126254:5:19"},"nativeSrc":"126254:11:19","nodeType":"YulFunctionCall","src":"126254:11:19"},"variableNames":[{"name":"m4","nativeSrc":"126248:2:19","nodeType":"YulIdentifier","src":"126248:2:19"}]},{"nativeSrc":"126278:17:19","nodeType":"YulAssignment","src":"126278:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"126290:4:19","nodeType":"YulLiteral","src":"126290:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"126284:5:19","nodeType":"YulIdentifier","src":"126284:5:19"},"nativeSrc":"126284:11:19","nodeType":"YulFunctionCall","src":"126284:11:19"},"variableNames":[{"name":"m5","nativeSrc":"126278:2:19","nodeType":"YulIdentifier","src":"126278:2:19"}]},{"nativeSrc":"126308:17:19","nodeType":"YulAssignment","src":"126308:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"126320:4:19","nodeType":"YulLiteral","src":"126320:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"126314:5:19","nodeType":"YulIdentifier","src":"126314:5:19"},"nativeSrc":"126314:11:19","nodeType":"YulFunctionCall","src":"126314:11:19"},"variableNames":[{"name":"m6","nativeSrc":"126308:2:19","nodeType":"YulIdentifier","src":"126308:2:19"}]},{"nativeSrc":"126338:17:19","nodeType":"YulAssignment","src":"126338:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"126350:4:19","nodeType":"YulLiteral","src":"126350:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"126344:5:19","nodeType":"YulIdentifier","src":"126344:5:19"},"nativeSrc":"126344:11:19","nodeType":"YulFunctionCall","src":"126344:11:19"},"variableNames":[{"name":"m7","nativeSrc":"126338:2:19","nodeType":"YulIdentifier","src":"126338:2:19"}]},{"nativeSrc":"126368:18:19","nodeType":"YulAssignment","src":"126368:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"126380:5:19","nodeType":"YulLiteral","src":"126380:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"126374:5:19","nodeType":"YulIdentifier","src":"126374:5:19"},"nativeSrc":"126374:12:19","nodeType":"YulFunctionCall","src":"126374:12:19"},"variableNames":[{"name":"m8","nativeSrc":"126368:2:19","nodeType":"YulIdentifier","src":"126368:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126468:4:19","nodeType":"YulLiteral","src":"126468:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"126474:10:19","nodeType":"YulLiteral","src":"126474:10:19","type":"","value":"0x475c5c33"}],"functionName":{"name":"mstore","nativeSrc":"126461:6:19","nodeType":"YulIdentifier","src":"126461:6:19"},"nativeSrc":"126461:24:19","nodeType":"YulFunctionCall","src":"126461:24:19"},"nativeSrc":"126461:24:19","nodeType":"YulExpressionStatement","src":"126461:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126505:4:19","nodeType":"YulLiteral","src":"126505:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"126511:2:19","nodeType":"YulIdentifier","src":"126511:2:19"}],"functionName":{"name":"mstore","nativeSrc":"126498:6:19","nodeType":"YulIdentifier","src":"126498:6:19"},"nativeSrc":"126498:16:19","nodeType":"YulFunctionCall","src":"126498:16:19"},"nativeSrc":"126498:16:19","nodeType":"YulExpressionStatement","src":"126498:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126534:4:19","nodeType":"YulLiteral","src":"126534:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"126540:2:19","nodeType":"YulIdentifier","src":"126540:2:19"}],"functionName":{"name":"mstore","nativeSrc":"126527:6:19","nodeType":"YulIdentifier","src":"126527:6:19"},"nativeSrc":"126527:16:19","nodeType":"YulFunctionCall","src":"126527:16:19"},"nativeSrc":"126527:16:19","nodeType":"YulExpressionStatement","src":"126527:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126563:4:19","nodeType":"YulLiteral","src":"126563:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"126569:4:19","nodeType":"YulLiteral","src":"126569:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"126556:6:19","nodeType":"YulIdentifier","src":"126556:6:19"},"nativeSrc":"126556:18:19","nodeType":"YulFunctionCall","src":"126556:18:19"},"nativeSrc":"126556:18:19","nodeType":"YulExpressionStatement","src":"126556:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126594:4:19","nodeType":"YulLiteral","src":"126594:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"126600:4:19","nodeType":"YulLiteral","src":"126600:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"126587:6:19","nodeType":"YulIdentifier","src":"126587:6:19"},"nativeSrc":"126587:18:19","nodeType":"YulFunctionCall","src":"126587:18:19"},"nativeSrc":"126587:18:19","nodeType":"YulExpressionStatement","src":"126587:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126630:4:19","nodeType":"YulLiteral","src":"126630:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"126636:2:19","nodeType":"YulIdentifier","src":"126636:2:19"}],"functionName":{"name":"writeString","nativeSrc":"126618:11:19","nodeType":"YulIdentifier","src":"126618:11:19"},"nativeSrc":"126618:21:19","nodeType":"YulFunctionCall","src":"126618:21:19"},"nativeSrc":"126618:21:19","nodeType":"YulExpressionStatement","src":"126618:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126664:4:19","nodeType":"YulLiteral","src":"126664:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"126670:2:19","nodeType":"YulIdentifier","src":"126670:2:19"}],"functionName":{"name":"writeString","nativeSrc":"126652:11:19","nodeType":"YulIdentifier","src":"126652:11:19"},"nativeSrc":"126652:21:19","nodeType":"YulFunctionCall","src":"126652:21:19"},"nativeSrc":"126652:21:19","nodeType":"YulExpressionStatement","src":"126652:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30268,"isOffset":false,"isSlot":false,"src":"126128:2:19","valueSize":1},{"declaration":30271,"isOffset":false,"isSlot":false,"src":"126158:2:19","valueSize":1},{"declaration":30274,"isOffset":false,"isSlot":false,"src":"126188:2:19","valueSize":1},{"declaration":30277,"isOffset":false,"isSlot":false,"src":"126218:2:19","valueSize":1},{"declaration":30280,"isOffset":false,"isSlot":false,"src":"126248:2:19","valueSize":1},{"declaration":30283,"isOffset":false,"isSlot":false,"src":"126278:2:19","valueSize":1},{"declaration":30286,"isOffset":false,"isSlot":false,"src":"126308:2:19","valueSize":1},{"declaration":30289,"isOffset":false,"isSlot":false,"src":"126338:2:19","valueSize":1},{"declaration":30292,"isOffset":false,"isSlot":false,"src":"126368:2:19","valueSize":1},{"declaration":30258,"isOffset":false,"isSlot":false,"src":"126511:2:19","valueSize":1},{"declaration":30260,"isOffset":false,"isSlot":false,"src":"126540:2:19","valueSize":1},{"declaration":30262,"isOffset":false,"isSlot":false,"src":"126636:2:19","valueSize":1},{"declaration":30264,"isOffset":false,"isSlot":false,"src":"126670:2:19","valueSize":1}],"id":30294,"nodeType":"InlineAssembly","src":"125750:933:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"126708:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":30297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"126714:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":30295,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"126692:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"126692:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30299,"nodeType":"ExpressionStatement","src":"126692:28:19"},{"AST":{"nativeSrc":"126782:273:19","nodeType":"YulBlock","src":"126782:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"126803:4:19","nodeType":"YulLiteral","src":"126803:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"126809:2:19","nodeType":"YulIdentifier","src":"126809:2:19"}],"functionName":{"name":"mstore","nativeSrc":"126796:6:19","nodeType":"YulIdentifier","src":"126796:6:19"},"nativeSrc":"126796:16:19","nodeType":"YulFunctionCall","src":"126796:16:19"},"nativeSrc":"126796:16:19","nodeType":"YulExpressionStatement","src":"126796:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126832:4:19","nodeType":"YulLiteral","src":"126832:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"126838:2:19","nodeType":"YulIdentifier","src":"126838:2:19"}],"functionName":{"name":"mstore","nativeSrc":"126825:6:19","nodeType":"YulIdentifier","src":"126825:6:19"},"nativeSrc":"126825:16:19","nodeType":"YulFunctionCall","src":"126825:16:19"},"nativeSrc":"126825:16:19","nodeType":"YulExpressionStatement","src":"126825:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126861:4:19","nodeType":"YulLiteral","src":"126861:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"126867:2:19","nodeType":"YulIdentifier","src":"126867:2:19"}],"functionName":{"name":"mstore","nativeSrc":"126854:6:19","nodeType":"YulIdentifier","src":"126854:6:19"},"nativeSrc":"126854:16:19","nodeType":"YulFunctionCall","src":"126854:16:19"},"nativeSrc":"126854:16:19","nodeType":"YulExpressionStatement","src":"126854:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126890:4:19","nodeType":"YulLiteral","src":"126890:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"126896:2:19","nodeType":"YulIdentifier","src":"126896:2:19"}],"functionName":{"name":"mstore","nativeSrc":"126883:6:19","nodeType":"YulIdentifier","src":"126883:6:19"},"nativeSrc":"126883:16:19","nodeType":"YulFunctionCall","src":"126883:16:19"},"nativeSrc":"126883:16:19","nodeType":"YulExpressionStatement","src":"126883:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126919:4:19","nodeType":"YulLiteral","src":"126919:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"126925:2:19","nodeType":"YulIdentifier","src":"126925:2:19"}],"functionName":{"name":"mstore","nativeSrc":"126912:6:19","nodeType":"YulIdentifier","src":"126912:6:19"},"nativeSrc":"126912:16:19","nodeType":"YulFunctionCall","src":"126912:16:19"},"nativeSrc":"126912:16:19","nodeType":"YulExpressionStatement","src":"126912:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126948:4:19","nodeType":"YulLiteral","src":"126948:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"126954:2:19","nodeType":"YulIdentifier","src":"126954:2:19"}],"functionName":{"name":"mstore","nativeSrc":"126941:6:19","nodeType":"YulIdentifier","src":"126941:6:19"},"nativeSrc":"126941:16:19","nodeType":"YulFunctionCall","src":"126941:16:19"},"nativeSrc":"126941:16:19","nodeType":"YulExpressionStatement","src":"126941:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"126977:4:19","nodeType":"YulLiteral","src":"126977:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"126983:2:19","nodeType":"YulIdentifier","src":"126983:2:19"}],"functionName":{"name":"mstore","nativeSrc":"126970:6:19","nodeType":"YulIdentifier","src":"126970:6:19"},"nativeSrc":"126970:16:19","nodeType":"YulFunctionCall","src":"126970:16:19"},"nativeSrc":"126970:16:19","nodeType":"YulExpressionStatement","src":"126970:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127006:4:19","nodeType":"YulLiteral","src":"127006:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"127012:2:19","nodeType":"YulIdentifier","src":"127012:2:19"}],"functionName":{"name":"mstore","nativeSrc":"126999:6:19","nodeType":"YulIdentifier","src":"126999:6:19"},"nativeSrc":"126999:16:19","nodeType":"YulFunctionCall","src":"126999:16:19"},"nativeSrc":"126999:16:19","nodeType":"YulExpressionStatement","src":"126999:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127035:5:19","nodeType":"YulLiteral","src":"127035:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"127042:2:19","nodeType":"YulIdentifier","src":"127042:2:19"}],"functionName":{"name":"mstore","nativeSrc":"127028:6:19","nodeType":"YulIdentifier","src":"127028:6:19"},"nativeSrc":"127028:17:19","nodeType":"YulFunctionCall","src":"127028:17:19"},"nativeSrc":"127028:17:19","nodeType":"YulExpressionStatement","src":"127028:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30268,"isOffset":false,"isSlot":false,"src":"126809:2:19","valueSize":1},{"declaration":30271,"isOffset":false,"isSlot":false,"src":"126838:2:19","valueSize":1},{"declaration":30274,"isOffset":false,"isSlot":false,"src":"126867:2:19","valueSize":1},{"declaration":30277,"isOffset":false,"isSlot":false,"src":"126896:2:19","valueSize":1},{"declaration":30280,"isOffset":false,"isSlot":false,"src":"126925:2:19","valueSize":1},{"declaration":30283,"isOffset":false,"isSlot":false,"src":"126954:2:19","valueSize":1},{"declaration":30286,"isOffset":false,"isSlot":false,"src":"126983:2:19","valueSize":1},{"declaration":30289,"isOffset":false,"isSlot":false,"src":"127012:2:19","valueSize":1},{"declaration":30292,"isOffset":false,"isSlot":false,"src":"127042:2:19","valueSize":1}],"id":30300,"nodeType":"InlineAssembly","src":"126773:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"125454:3:19","parameters":{"id":30265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30258,"mutability":"mutable","name":"p0","nameLocation":"125466:2:19","nodeType":"VariableDeclaration","scope":30302,"src":"125458:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30257,"name":"address","nodeType":"ElementaryTypeName","src":"125458:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30260,"mutability":"mutable","name":"p1","nameLocation":"125475:2:19","nodeType":"VariableDeclaration","scope":30302,"src":"125470:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30259,"name":"bool","nodeType":"ElementaryTypeName","src":"125470:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30262,"mutability":"mutable","name":"p2","nameLocation":"125487:2:19","nodeType":"VariableDeclaration","scope":30302,"src":"125479:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30261,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125479:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30264,"mutability":"mutable","name":"p3","nameLocation":"125499:2:19","nodeType":"VariableDeclaration","scope":30302,"src":"125491:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30263,"name":"bytes32","nodeType":"ElementaryTypeName","src":"125491:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"125457:45:19"},"returnParameters":{"id":30266,"nodeType":"ParameterList","parameters":[],"src":"125517:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30336,"nodeType":"FunctionDefinition","src":"127067:878:19","nodes":[],"body":{"id":30335,"nodeType":"Block","src":"127142:803:19","nodes":[],"statements":[{"assignments":[30314],"declarations":[{"constant":false,"id":30314,"mutability":"mutable","name":"m0","nameLocation":"127160:2:19","nodeType":"VariableDeclaration","scope":30335,"src":"127152:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30313,"name":"bytes32","nodeType":"ElementaryTypeName","src":"127152:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30315,"nodeType":"VariableDeclarationStatement","src":"127152:10:19"},{"assignments":[30317],"declarations":[{"constant":false,"id":30317,"mutability":"mutable","name":"m1","nameLocation":"127180:2:19","nodeType":"VariableDeclaration","scope":30335,"src":"127172:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30316,"name":"bytes32","nodeType":"ElementaryTypeName","src":"127172:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30318,"nodeType":"VariableDeclarationStatement","src":"127172:10:19"},{"assignments":[30320],"declarations":[{"constant":false,"id":30320,"mutability":"mutable","name":"m2","nameLocation":"127200:2:19","nodeType":"VariableDeclaration","scope":30335,"src":"127192:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30319,"name":"bytes32","nodeType":"ElementaryTypeName","src":"127192:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30321,"nodeType":"VariableDeclarationStatement","src":"127192:10:19"},{"assignments":[30323],"declarations":[{"constant":false,"id":30323,"mutability":"mutable","name":"m3","nameLocation":"127220:2:19","nodeType":"VariableDeclaration","scope":30335,"src":"127212:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30322,"name":"bytes32","nodeType":"ElementaryTypeName","src":"127212:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30324,"nodeType":"VariableDeclarationStatement","src":"127212:10:19"},{"assignments":[30326],"declarations":[{"constant":false,"id":30326,"mutability":"mutable","name":"m4","nameLocation":"127240:2:19","nodeType":"VariableDeclaration","scope":30335,"src":"127232:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30325,"name":"bytes32","nodeType":"ElementaryTypeName","src":"127232:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30327,"nodeType":"VariableDeclarationStatement","src":"127232:10:19"},{"AST":{"nativeSrc":"127304:381:19","nodeType":"YulBlock","src":"127304:381:19","statements":[{"nativeSrc":"127318:17:19","nodeType":"YulAssignment","src":"127318:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"127330:4:19","nodeType":"YulLiteral","src":"127330:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"127324:5:19","nodeType":"YulIdentifier","src":"127324:5:19"},"nativeSrc":"127324:11:19","nodeType":"YulFunctionCall","src":"127324:11:19"},"variableNames":[{"name":"m0","nativeSrc":"127318:2:19","nodeType":"YulIdentifier","src":"127318:2:19"}]},{"nativeSrc":"127348:17:19","nodeType":"YulAssignment","src":"127348:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"127360:4:19","nodeType":"YulLiteral","src":"127360:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"127354:5:19","nodeType":"YulIdentifier","src":"127354:5:19"},"nativeSrc":"127354:11:19","nodeType":"YulFunctionCall","src":"127354:11:19"},"variableNames":[{"name":"m1","nativeSrc":"127348:2:19","nodeType":"YulIdentifier","src":"127348:2:19"}]},{"nativeSrc":"127378:17:19","nodeType":"YulAssignment","src":"127378:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"127390:4:19","nodeType":"YulLiteral","src":"127390:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"127384:5:19","nodeType":"YulIdentifier","src":"127384:5:19"},"nativeSrc":"127384:11:19","nodeType":"YulFunctionCall","src":"127384:11:19"},"variableNames":[{"name":"m2","nativeSrc":"127378:2:19","nodeType":"YulIdentifier","src":"127378:2:19"}]},{"nativeSrc":"127408:17:19","nodeType":"YulAssignment","src":"127408:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"127420:4:19","nodeType":"YulLiteral","src":"127420:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"127414:5:19","nodeType":"YulIdentifier","src":"127414:5:19"},"nativeSrc":"127414:11:19","nodeType":"YulFunctionCall","src":"127414:11:19"},"variableNames":[{"name":"m3","nativeSrc":"127408:2:19","nodeType":"YulIdentifier","src":"127408:2:19"}]},{"nativeSrc":"127438:17:19","nodeType":"YulAssignment","src":"127438:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"127450:4:19","nodeType":"YulLiteral","src":"127450:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"127444:5:19","nodeType":"YulIdentifier","src":"127444:5:19"},"nativeSrc":"127444:11:19","nodeType":"YulFunctionCall","src":"127444:11:19"},"variableNames":[{"name":"m4","nativeSrc":"127438:2:19","nodeType":"YulIdentifier","src":"127438:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127542:4:19","nodeType":"YulLiteral","src":"127542:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"127548:10:19","nodeType":"YulLiteral","src":"127548:10:19","type":"","value":"0x478d1c62"}],"functionName":{"name":"mstore","nativeSrc":"127535:6:19","nodeType":"YulIdentifier","src":"127535:6:19"},"nativeSrc":"127535:24:19","nodeType":"YulFunctionCall","src":"127535:24:19"},"nativeSrc":"127535:24:19","nodeType":"YulExpressionStatement","src":"127535:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127579:4:19","nodeType":"YulLiteral","src":"127579:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"127585:2:19","nodeType":"YulIdentifier","src":"127585:2:19"}],"functionName":{"name":"mstore","nativeSrc":"127572:6:19","nodeType":"YulIdentifier","src":"127572:6:19"},"nativeSrc":"127572:16:19","nodeType":"YulFunctionCall","src":"127572:16:19"},"nativeSrc":"127572:16:19","nodeType":"YulExpressionStatement","src":"127572:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127608:4:19","nodeType":"YulLiteral","src":"127608:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"127614:2:19","nodeType":"YulIdentifier","src":"127614:2:19"}],"functionName":{"name":"mstore","nativeSrc":"127601:6:19","nodeType":"YulIdentifier","src":"127601:6:19"},"nativeSrc":"127601:16:19","nodeType":"YulFunctionCall","src":"127601:16:19"},"nativeSrc":"127601:16:19","nodeType":"YulExpressionStatement","src":"127601:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127637:4:19","nodeType":"YulLiteral","src":"127637:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"127643:2:19","nodeType":"YulIdentifier","src":"127643:2:19"}],"functionName":{"name":"mstore","nativeSrc":"127630:6:19","nodeType":"YulIdentifier","src":"127630:6:19"},"nativeSrc":"127630:16:19","nodeType":"YulFunctionCall","src":"127630:16:19"},"nativeSrc":"127630:16:19","nodeType":"YulExpressionStatement","src":"127630:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127666:4:19","nodeType":"YulLiteral","src":"127666:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"127672:2:19","nodeType":"YulIdentifier","src":"127672:2:19"}],"functionName":{"name":"mstore","nativeSrc":"127659:6:19","nodeType":"YulIdentifier","src":"127659:6:19"},"nativeSrc":"127659:16:19","nodeType":"YulFunctionCall","src":"127659:16:19"},"nativeSrc":"127659:16:19","nodeType":"YulExpressionStatement","src":"127659:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30314,"isOffset":false,"isSlot":false,"src":"127318:2:19","valueSize":1},{"declaration":30317,"isOffset":false,"isSlot":false,"src":"127348:2:19","valueSize":1},{"declaration":30320,"isOffset":false,"isSlot":false,"src":"127378:2:19","valueSize":1},{"declaration":30323,"isOffset":false,"isSlot":false,"src":"127408:2:19","valueSize":1},{"declaration":30326,"isOffset":false,"isSlot":false,"src":"127438:2:19","valueSize":1},{"declaration":30304,"isOffset":false,"isSlot":false,"src":"127585:2:19","valueSize":1},{"declaration":30306,"isOffset":false,"isSlot":false,"src":"127614:2:19","valueSize":1},{"declaration":30308,"isOffset":false,"isSlot":false,"src":"127643:2:19","valueSize":1},{"declaration":30310,"isOffset":false,"isSlot":false,"src":"127672:2:19","valueSize":1}],"id":30328,"nodeType":"InlineAssembly","src":"127295:390:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"127710:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"127716:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30329,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"127694:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"127694:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30333,"nodeType":"ExpressionStatement","src":"127694:27:19"},{"AST":{"nativeSrc":"127783:156:19","nodeType":"YulBlock","src":"127783:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"127804:4:19","nodeType":"YulLiteral","src":"127804:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"127810:2:19","nodeType":"YulIdentifier","src":"127810:2:19"}],"functionName":{"name":"mstore","nativeSrc":"127797:6:19","nodeType":"YulIdentifier","src":"127797:6:19"},"nativeSrc":"127797:16:19","nodeType":"YulFunctionCall","src":"127797:16:19"},"nativeSrc":"127797:16:19","nodeType":"YulExpressionStatement","src":"127797:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127833:4:19","nodeType":"YulLiteral","src":"127833:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"127839:2:19","nodeType":"YulIdentifier","src":"127839:2:19"}],"functionName":{"name":"mstore","nativeSrc":"127826:6:19","nodeType":"YulIdentifier","src":"127826:6:19"},"nativeSrc":"127826:16:19","nodeType":"YulFunctionCall","src":"127826:16:19"},"nativeSrc":"127826:16:19","nodeType":"YulExpressionStatement","src":"127826:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127862:4:19","nodeType":"YulLiteral","src":"127862:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"127868:2:19","nodeType":"YulIdentifier","src":"127868:2:19"}],"functionName":{"name":"mstore","nativeSrc":"127855:6:19","nodeType":"YulIdentifier","src":"127855:6:19"},"nativeSrc":"127855:16:19","nodeType":"YulFunctionCall","src":"127855:16:19"},"nativeSrc":"127855:16:19","nodeType":"YulExpressionStatement","src":"127855:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127891:4:19","nodeType":"YulLiteral","src":"127891:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"127897:2:19","nodeType":"YulIdentifier","src":"127897:2:19"}],"functionName":{"name":"mstore","nativeSrc":"127884:6:19","nodeType":"YulIdentifier","src":"127884:6:19"},"nativeSrc":"127884:16:19","nodeType":"YulFunctionCall","src":"127884:16:19"},"nativeSrc":"127884:16:19","nodeType":"YulExpressionStatement","src":"127884:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"127920:4:19","nodeType":"YulLiteral","src":"127920:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"127926:2:19","nodeType":"YulIdentifier","src":"127926:2:19"}],"functionName":{"name":"mstore","nativeSrc":"127913:6:19","nodeType":"YulIdentifier","src":"127913:6:19"},"nativeSrc":"127913:16:19","nodeType":"YulFunctionCall","src":"127913:16:19"},"nativeSrc":"127913:16:19","nodeType":"YulExpressionStatement","src":"127913:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30314,"isOffset":false,"isSlot":false,"src":"127810:2:19","valueSize":1},{"declaration":30317,"isOffset":false,"isSlot":false,"src":"127839:2:19","valueSize":1},{"declaration":30320,"isOffset":false,"isSlot":false,"src":"127868:2:19","valueSize":1},{"declaration":30323,"isOffset":false,"isSlot":false,"src":"127897:2:19","valueSize":1},{"declaration":30326,"isOffset":false,"isSlot":false,"src":"127926:2:19","valueSize":1}],"id":30334,"nodeType":"InlineAssembly","src":"127774:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"127076:3:19","parameters":{"id":30311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30304,"mutability":"mutable","name":"p0","nameLocation":"127088:2:19","nodeType":"VariableDeclaration","scope":30336,"src":"127080:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30303,"name":"address","nodeType":"ElementaryTypeName","src":"127080:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30306,"mutability":"mutable","name":"p1","nameLocation":"127100:2:19","nodeType":"VariableDeclaration","scope":30336,"src":"127092:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30305,"name":"uint256","nodeType":"ElementaryTypeName","src":"127092:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30308,"mutability":"mutable","name":"p2","nameLocation":"127112:2:19","nodeType":"VariableDeclaration","scope":30336,"src":"127104:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30307,"name":"address","nodeType":"ElementaryTypeName","src":"127104:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30310,"mutability":"mutable","name":"p3","nameLocation":"127124:2:19","nodeType":"VariableDeclaration","scope":30336,"src":"127116:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30309,"name":"address","nodeType":"ElementaryTypeName","src":"127116:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"127079:48:19"},"returnParameters":{"id":30312,"nodeType":"ParameterList","parameters":[],"src":"127142:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30370,"nodeType":"FunctionDefinition","src":"127951:872:19","nodes":[],"body":{"id":30369,"nodeType":"Block","src":"128023:800:19","nodes":[],"statements":[{"assignments":[30348],"declarations":[{"constant":false,"id":30348,"mutability":"mutable","name":"m0","nameLocation":"128041:2:19","nodeType":"VariableDeclaration","scope":30369,"src":"128033:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30347,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128033:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30349,"nodeType":"VariableDeclarationStatement","src":"128033:10:19"},{"assignments":[30351],"declarations":[{"constant":false,"id":30351,"mutability":"mutable","name":"m1","nameLocation":"128061:2:19","nodeType":"VariableDeclaration","scope":30369,"src":"128053:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30350,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128053:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30352,"nodeType":"VariableDeclarationStatement","src":"128053:10:19"},{"assignments":[30354],"declarations":[{"constant":false,"id":30354,"mutability":"mutable","name":"m2","nameLocation":"128081:2:19","nodeType":"VariableDeclaration","scope":30369,"src":"128073:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30353,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128073:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30355,"nodeType":"VariableDeclarationStatement","src":"128073:10:19"},{"assignments":[30357],"declarations":[{"constant":false,"id":30357,"mutability":"mutable","name":"m3","nameLocation":"128101:2:19","nodeType":"VariableDeclaration","scope":30369,"src":"128093:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30356,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128093:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30358,"nodeType":"VariableDeclarationStatement","src":"128093:10:19"},{"assignments":[30360],"declarations":[{"constant":false,"id":30360,"mutability":"mutable","name":"m4","nameLocation":"128121:2:19","nodeType":"VariableDeclaration","scope":30369,"src":"128113:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30359,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128113:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30361,"nodeType":"VariableDeclarationStatement","src":"128113:10:19"},{"AST":{"nativeSrc":"128185:378:19","nodeType":"YulBlock","src":"128185:378:19","statements":[{"nativeSrc":"128199:17:19","nodeType":"YulAssignment","src":"128199:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"128211:4:19","nodeType":"YulLiteral","src":"128211:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"128205:5:19","nodeType":"YulIdentifier","src":"128205:5:19"},"nativeSrc":"128205:11:19","nodeType":"YulFunctionCall","src":"128205:11:19"},"variableNames":[{"name":"m0","nativeSrc":"128199:2:19","nodeType":"YulIdentifier","src":"128199:2:19"}]},{"nativeSrc":"128229:17:19","nodeType":"YulAssignment","src":"128229:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"128241:4:19","nodeType":"YulLiteral","src":"128241:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"128235:5:19","nodeType":"YulIdentifier","src":"128235:5:19"},"nativeSrc":"128235:11:19","nodeType":"YulFunctionCall","src":"128235:11:19"},"variableNames":[{"name":"m1","nativeSrc":"128229:2:19","nodeType":"YulIdentifier","src":"128229:2:19"}]},{"nativeSrc":"128259:17:19","nodeType":"YulAssignment","src":"128259:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"128271:4:19","nodeType":"YulLiteral","src":"128271:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"128265:5:19","nodeType":"YulIdentifier","src":"128265:5:19"},"nativeSrc":"128265:11:19","nodeType":"YulFunctionCall","src":"128265:11:19"},"variableNames":[{"name":"m2","nativeSrc":"128259:2:19","nodeType":"YulIdentifier","src":"128259:2:19"}]},{"nativeSrc":"128289:17:19","nodeType":"YulAssignment","src":"128289:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"128301:4:19","nodeType":"YulLiteral","src":"128301:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"128295:5:19","nodeType":"YulIdentifier","src":"128295:5:19"},"nativeSrc":"128295:11:19","nodeType":"YulFunctionCall","src":"128295:11:19"},"variableNames":[{"name":"m3","nativeSrc":"128289:2:19","nodeType":"YulIdentifier","src":"128289:2:19"}]},{"nativeSrc":"128319:17:19","nodeType":"YulAssignment","src":"128319:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"128331:4:19","nodeType":"YulLiteral","src":"128331:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"128325:5:19","nodeType":"YulIdentifier","src":"128325:5:19"},"nativeSrc":"128325:11:19","nodeType":"YulFunctionCall","src":"128325:11:19"},"variableNames":[{"name":"m4","nativeSrc":"128319:2:19","nodeType":"YulIdentifier","src":"128319:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128420:4:19","nodeType":"YulLiteral","src":"128420:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"128426:10:19","nodeType":"YulLiteral","src":"128426:10:19","type":"","value":"0xa1bcc9b3"}],"functionName":{"name":"mstore","nativeSrc":"128413:6:19","nodeType":"YulIdentifier","src":"128413:6:19"},"nativeSrc":"128413:24:19","nodeType":"YulFunctionCall","src":"128413:24:19"},"nativeSrc":"128413:24:19","nodeType":"YulExpressionStatement","src":"128413:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128457:4:19","nodeType":"YulLiteral","src":"128457:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"128463:2:19","nodeType":"YulIdentifier","src":"128463:2:19"}],"functionName":{"name":"mstore","nativeSrc":"128450:6:19","nodeType":"YulIdentifier","src":"128450:6:19"},"nativeSrc":"128450:16:19","nodeType":"YulFunctionCall","src":"128450:16:19"},"nativeSrc":"128450:16:19","nodeType":"YulExpressionStatement","src":"128450:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128486:4:19","nodeType":"YulLiteral","src":"128486:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"128492:2:19","nodeType":"YulIdentifier","src":"128492:2:19"}],"functionName":{"name":"mstore","nativeSrc":"128479:6:19","nodeType":"YulIdentifier","src":"128479:6:19"},"nativeSrc":"128479:16:19","nodeType":"YulFunctionCall","src":"128479:16:19"},"nativeSrc":"128479:16:19","nodeType":"YulExpressionStatement","src":"128479:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128515:4:19","nodeType":"YulLiteral","src":"128515:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"128521:2:19","nodeType":"YulIdentifier","src":"128521:2:19"}],"functionName":{"name":"mstore","nativeSrc":"128508:6:19","nodeType":"YulIdentifier","src":"128508:6:19"},"nativeSrc":"128508:16:19","nodeType":"YulFunctionCall","src":"128508:16:19"},"nativeSrc":"128508:16:19","nodeType":"YulExpressionStatement","src":"128508:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128544:4:19","nodeType":"YulLiteral","src":"128544:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"128550:2:19","nodeType":"YulIdentifier","src":"128550:2:19"}],"functionName":{"name":"mstore","nativeSrc":"128537:6:19","nodeType":"YulIdentifier","src":"128537:6:19"},"nativeSrc":"128537:16:19","nodeType":"YulFunctionCall","src":"128537:16:19"},"nativeSrc":"128537:16:19","nodeType":"YulExpressionStatement","src":"128537:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30348,"isOffset":false,"isSlot":false,"src":"128199:2:19","valueSize":1},{"declaration":30351,"isOffset":false,"isSlot":false,"src":"128229:2:19","valueSize":1},{"declaration":30354,"isOffset":false,"isSlot":false,"src":"128259:2:19","valueSize":1},{"declaration":30357,"isOffset":false,"isSlot":false,"src":"128289:2:19","valueSize":1},{"declaration":30360,"isOffset":false,"isSlot":false,"src":"128319:2:19","valueSize":1},{"declaration":30338,"isOffset":false,"isSlot":false,"src":"128463:2:19","valueSize":1},{"declaration":30340,"isOffset":false,"isSlot":false,"src":"128492:2:19","valueSize":1},{"declaration":30342,"isOffset":false,"isSlot":false,"src":"128521:2:19","valueSize":1},{"declaration":30344,"isOffset":false,"isSlot":false,"src":"128550:2:19","valueSize":1}],"id":30362,"nodeType":"InlineAssembly","src":"128176:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"128588:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"128594:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30363,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"128572:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"128572:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30367,"nodeType":"ExpressionStatement","src":"128572:27:19"},{"AST":{"nativeSrc":"128661:156:19","nodeType":"YulBlock","src":"128661:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"128682:4:19","nodeType":"YulLiteral","src":"128682:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"128688:2:19","nodeType":"YulIdentifier","src":"128688:2:19"}],"functionName":{"name":"mstore","nativeSrc":"128675:6:19","nodeType":"YulIdentifier","src":"128675:6:19"},"nativeSrc":"128675:16:19","nodeType":"YulFunctionCall","src":"128675:16:19"},"nativeSrc":"128675:16:19","nodeType":"YulExpressionStatement","src":"128675:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128711:4:19","nodeType":"YulLiteral","src":"128711:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"128717:2:19","nodeType":"YulIdentifier","src":"128717:2:19"}],"functionName":{"name":"mstore","nativeSrc":"128704:6:19","nodeType":"YulIdentifier","src":"128704:6:19"},"nativeSrc":"128704:16:19","nodeType":"YulFunctionCall","src":"128704:16:19"},"nativeSrc":"128704:16:19","nodeType":"YulExpressionStatement","src":"128704:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128740:4:19","nodeType":"YulLiteral","src":"128740:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"128746:2:19","nodeType":"YulIdentifier","src":"128746:2:19"}],"functionName":{"name":"mstore","nativeSrc":"128733:6:19","nodeType":"YulIdentifier","src":"128733:6:19"},"nativeSrc":"128733:16:19","nodeType":"YulFunctionCall","src":"128733:16:19"},"nativeSrc":"128733:16:19","nodeType":"YulExpressionStatement","src":"128733:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128769:4:19","nodeType":"YulLiteral","src":"128769:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"128775:2:19","nodeType":"YulIdentifier","src":"128775:2:19"}],"functionName":{"name":"mstore","nativeSrc":"128762:6:19","nodeType":"YulIdentifier","src":"128762:6:19"},"nativeSrc":"128762:16:19","nodeType":"YulFunctionCall","src":"128762:16:19"},"nativeSrc":"128762:16:19","nodeType":"YulExpressionStatement","src":"128762:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"128798:4:19","nodeType":"YulLiteral","src":"128798:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"128804:2:19","nodeType":"YulIdentifier","src":"128804:2:19"}],"functionName":{"name":"mstore","nativeSrc":"128791:6:19","nodeType":"YulIdentifier","src":"128791:6:19"},"nativeSrc":"128791:16:19","nodeType":"YulFunctionCall","src":"128791:16:19"},"nativeSrc":"128791:16:19","nodeType":"YulExpressionStatement","src":"128791:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30348,"isOffset":false,"isSlot":false,"src":"128688:2:19","valueSize":1},{"declaration":30351,"isOffset":false,"isSlot":false,"src":"128717:2:19","valueSize":1},{"declaration":30354,"isOffset":false,"isSlot":false,"src":"128746:2:19","valueSize":1},{"declaration":30357,"isOffset":false,"isSlot":false,"src":"128775:2:19","valueSize":1},{"declaration":30360,"isOffset":false,"isSlot":false,"src":"128804:2:19","valueSize":1}],"id":30368,"nodeType":"InlineAssembly","src":"128652:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"127960:3:19","parameters":{"id":30345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30338,"mutability":"mutable","name":"p0","nameLocation":"127972:2:19","nodeType":"VariableDeclaration","scope":30370,"src":"127964:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30337,"name":"address","nodeType":"ElementaryTypeName","src":"127964:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30340,"mutability":"mutable","name":"p1","nameLocation":"127984:2:19","nodeType":"VariableDeclaration","scope":30370,"src":"127976:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30339,"name":"uint256","nodeType":"ElementaryTypeName","src":"127976:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30342,"mutability":"mutable","name":"p2","nameLocation":"127996:2:19","nodeType":"VariableDeclaration","scope":30370,"src":"127988:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30341,"name":"address","nodeType":"ElementaryTypeName","src":"127988:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30344,"mutability":"mutable","name":"p3","nameLocation":"128005:2:19","nodeType":"VariableDeclaration","scope":30370,"src":"128000:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30343,"name":"bool","nodeType":"ElementaryTypeName","src":"128000:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"127963:45:19"},"returnParameters":{"id":30346,"nodeType":"ParameterList","parameters":[],"src":"128023:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30404,"nodeType":"FunctionDefinition","src":"128829:878:19","nodes":[],"body":{"id":30403,"nodeType":"Block","src":"128904:803:19","nodes":[],"statements":[{"assignments":[30382],"declarations":[{"constant":false,"id":30382,"mutability":"mutable","name":"m0","nameLocation":"128922:2:19","nodeType":"VariableDeclaration","scope":30403,"src":"128914:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30381,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128914:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30383,"nodeType":"VariableDeclarationStatement","src":"128914:10:19"},{"assignments":[30385],"declarations":[{"constant":false,"id":30385,"mutability":"mutable","name":"m1","nameLocation":"128942:2:19","nodeType":"VariableDeclaration","scope":30403,"src":"128934:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30384,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128934:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30386,"nodeType":"VariableDeclarationStatement","src":"128934:10:19"},{"assignments":[30388],"declarations":[{"constant":false,"id":30388,"mutability":"mutable","name":"m2","nameLocation":"128962:2:19","nodeType":"VariableDeclaration","scope":30403,"src":"128954:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30387,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128954:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30389,"nodeType":"VariableDeclarationStatement","src":"128954:10:19"},{"assignments":[30391],"declarations":[{"constant":false,"id":30391,"mutability":"mutable","name":"m3","nameLocation":"128982:2:19","nodeType":"VariableDeclaration","scope":30403,"src":"128974:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30390,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128974:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30392,"nodeType":"VariableDeclarationStatement","src":"128974:10:19"},{"assignments":[30394],"declarations":[{"constant":false,"id":30394,"mutability":"mutable","name":"m4","nameLocation":"129002:2:19","nodeType":"VariableDeclaration","scope":30403,"src":"128994:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30393,"name":"bytes32","nodeType":"ElementaryTypeName","src":"128994:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30395,"nodeType":"VariableDeclarationStatement","src":"128994:10:19"},{"AST":{"nativeSrc":"129066:381:19","nodeType":"YulBlock","src":"129066:381:19","statements":[{"nativeSrc":"129080:17:19","nodeType":"YulAssignment","src":"129080:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"129092:4:19","nodeType":"YulLiteral","src":"129092:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"129086:5:19","nodeType":"YulIdentifier","src":"129086:5:19"},"nativeSrc":"129086:11:19","nodeType":"YulFunctionCall","src":"129086:11:19"},"variableNames":[{"name":"m0","nativeSrc":"129080:2:19","nodeType":"YulIdentifier","src":"129080:2:19"}]},{"nativeSrc":"129110:17:19","nodeType":"YulAssignment","src":"129110:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"129122:4:19","nodeType":"YulLiteral","src":"129122:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"129116:5:19","nodeType":"YulIdentifier","src":"129116:5:19"},"nativeSrc":"129116:11:19","nodeType":"YulFunctionCall","src":"129116:11:19"},"variableNames":[{"name":"m1","nativeSrc":"129110:2:19","nodeType":"YulIdentifier","src":"129110:2:19"}]},{"nativeSrc":"129140:17:19","nodeType":"YulAssignment","src":"129140:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"129152:4:19","nodeType":"YulLiteral","src":"129152:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"129146:5:19","nodeType":"YulIdentifier","src":"129146:5:19"},"nativeSrc":"129146:11:19","nodeType":"YulFunctionCall","src":"129146:11:19"},"variableNames":[{"name":"m2","nativeSrc":"129140:2:19","nodeType":"YulIdentifier","src":"129140:2:19"}]},{"nativeSrc":"129170:17:19","nodeType":"YulAssignment","src":"129170:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"129182:4:19","nodeType":"YulLiteral","src":"129182:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"129176:5:19","nodeType":"YulIdentifier","src":"129176:5:19"},"nativeSrc":"129176:11:19","nodeType":"YulFunctionCall","src":"129176:11:19"},"variableNames":[{"name":"m3","nativeSrc":"129170:2:19","nodeType":"YulIdentifier","src":"129170:2:19"}]},{"nativeSrc":"129200:17:19","nodeType":"YulAssignment","src":"129200:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"129212:4:19","nodeType":"YulLiteral","src":"129212:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"129206:5:19","nodeType":"YulIdentifier","src":"129206:5:19"},"nativeSrc":"129206:11:19","nodeType":"YulFunctionCall","src":"129206:11:19"},"variableNames":[{"name":"m4","nativeSrc":"129200:2:19","nodeType":"YulIdentifier","src":"129200:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129304:4:19","nodeType":"YulLiteral","src":"129304:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"129310:10:19","nodeType":"YulLiteral","src":"129310:10:19","type":"","value":"0x100f650e"}],"functionName":{"name":"mstore","nativeSrc":"129297:6:19","nodeType":"YulIdentifier","src":"129297:6:19"},"nativeSrc":"129297:24:19","nodeType":"YulFunctionCall","src":"129297:24:19"},"nativeSrc":"129297:24:19","nodeType":"YulExpressionStatement","src":"129297:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129341:4:19","nodeType":"YulLiteral","src":"129341:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"129347:2:19","nodeType":"YulIdentifier","src":"129347:2:19"}],"functionName":{"name":"mstore","nativeSrc":"129334:6:19","nodeType":"YulIdentifier","src":"129334:6:19"},"nativeSrc":"129334:16:19","nodeType":"YulFunctionCall","src":"129334:16:19"},"nativeSrc":"129334:16:19","nodeType":"YulExpressionStatement","src":"129334:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129370:4:19","nodeType":"YulLiteral","src":"129370:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"129376:2:19","nodeType":"YulIdentifier","src":"129376:2:19"}],"functionName":{"name":"mstore","nativeSrc":"129363:6:19","nodeType":"YulIdentifier","src":"129363:6:19"},"nativeSrc":"129363:16:19","nodeType":"YulFunctionCall","src":"129363:16:19"},"nativeSrc":"129363:16:19","nodeType":"YulExpressionStatement","src":"129363:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129399:4:19","nodeType":"YulLiteral","src":"129399:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"129405:2:19","nodeType":"YulIdentifier","src":"129405:2:19"}],"functionName":{"name":"mstore","nativeSrc":"129392:6:19","nodeType":"YulIdentifier","src":"129392:6:19"},"nativeSrc":"129392:16:19","nodeType":"YulFunctionCall","src":"129392:16:19"},"nativeSrc":"129392:16:19","nodeType":"YulExpressionStatement","src":"129392:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129428:4:19","nodeType":"YulLiteral","src":"129428:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"129434:2:19","nodeType":"YulIdentifier","src":"129434:2:19"}],"functionName":{"name":"mstore","nativeSrc":"129421:6:19","nodeType":"YulIdentifier","src":"129421:6:19"},"nativeSrc":"129421:16:19","nodeType":"YulFunctionCall","src":"129421:16:19"},"nativeSrc":"129421:16:19","nodeType":"YulExpressionStatement","src":"129421:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30382,"isOffset":false,"isSlot":false,"src":"129080:2:19","valueSize":1},{"declaration":30385,"isOffset":false,"isSlot":false,"src":"129110:2:19","valueSize":1},{"declaration":30388,"isOffset":false,"isSlot":false,"src":"129140:2:19","valueSize":1},{"declaration":30391,"isOffset":false,"isSlot":false,"src":"129170:2:19","valueSize":1},{"declaration":30394,"isOffset":false,"isSlot":false,"src":"129200:2:19","valueSize":1},{"declaration":30372,"isOffset":false,"isSlot":false,"src":"129347:2:19","valueSize":1},{"declaration":30374,"isOffset":false,"isSlot":false,"src":"129376:2:19","valueSize":1},{"declaration":30376,"isOffset":false,"isSlot":false,"src":"129405:2:19","valueSize":1},{"declaration":30378,"isOffset":false,"isSlot":false,"src":"129434:2:19","valueSize":1}],"id":30396,"nodeType":"InlineAssembly","src":"129057:390:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30398,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"129472:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"129478:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30397,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"129456:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"129456:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30401,"nodeType":"ExpressionStatement","src":"129456:27:19"},{"AST":{"nativeSrc":"129545:156:19","nodeType":"YulBlock","src":"129545:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"129566:4:19","nodeType":"YulLiteral","src":"129566:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"129572:2:19","nodeType":"YulIdentifier","src":"129572:2:19"}],"functionName":{"name":"mstore","nativeSrc":"129559:6:19","nodeType":"YulIdentifier","src":"129559:6:19"},"nativeSrc":"129559:16:19","nodeType":"YulFunctionCall","src":"129559:16:19"},"nativeSrc":"129559:16:19","nodeType":"YulExpressionStatement","src":"129559:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129595:4:19","nodeType":"YulLiteral","src":"129595:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"129601:2:19","nodeType":"YulIdentifier","src":"129601:2:19"}],"functionName":{"name":"mstore","nativeSrc":"129588:6:19","nodeType":"YulIdentifier","src":"129588:6:19"},"nativeSrc":"129588:16:19","nodeType":"YulFunctionCall","src":"129588:16:19"},"nativeSrc":"129588:16:19","nodeType":"YulExpressionStatement","src":"129588:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129624:4:19","nodeType":"YulLiteral","src":"129624:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"129630:2:19","nodeType":"YulIdentifier","src":"129630:2:19"}],"functionName":{"name":"mstore","nativeSrc":"129617:6:19","nodeType":"YulIdentifier","src":"129617:6:19"},"nativeSrc":"129617:16:19","nodeType":"YulFunctionCall","src":"129617:16:19"},"nativeSrc":"129617:16:19","nodeType":"YulExpressionStatement","src":"129617:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129653:4:19","nodeType":"YulLiteral","src":"129653:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"129659:2:19","nodeType":"YulIdentifier","src":"129659:2:19"}],"functionName":{"name":"mstore","nativeSrc":"129646:6:19","nodeType":"YulIdentifier","src":"129646:6:19"},"nativeSrc":"129646:16:19","nodeType":"YulFunctionCall","src":"129646:16:19"},"nativeSrc":"129646:16:19","nodeType":"YulExpressionStatement","src":"129646:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"129682:4:19","nodeType":"YulLiteral","src":"129682:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"129688:2:19","nodeType":"YulIdentifier","src":"129688:2:19"}],"functionName":{"name":"mstore","nativeSrc":"129675:6:19","nodeType":"YulIdentifier","src":"129675:6:19"},"nativeSrc":"129675:16:19","nodeType":"YulFunctionCall","src":"129675:16:19"},"nativeSrc":"129675:16:19","nodeType":"YulExpressionStatement","src":"129675:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30382,"isOffset":false,"isSlot":false,"src":"129572:2:19","valueSize":1},{"declaration":30385,"isOffset":false,"isSlot":false,"src":"129601:2:19","valueSize":1},{"declaration":30388,"isOffset":false,"isSlot":false,"src":"129630:2:19","valueSize":1},{"declaration":30391,"isOffset":false,"isSlot":false,"src":"129659:2:19","valueSize":1},{"declaration":30394,"isOffset":false,"isSlot":false,"src":"129688:2:19","valueSize":1}],"id":30402,"nodeType":"InlineAssembly","src":"129536:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"128838:3:19","parameters":{"id":30379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30372,"mutability":"mutable","name":"p0","nameLocation":"128850:2:19","nodeType":"VariableDeclaration","scope":30404,"src":"128842:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30371,"name":"address","nodeType":"ElementaryTypeName","src":"128842:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30374,"mutability":"mutable","name":"p1","nameLocation":"128862:2:19","nodeType":"VariableDeclaration","scope":30404,"src":"128854:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30373,"name":"uint256","nodeType":"ElementaryTypeName","src":"128854:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30376,"mutability":"mutable","name":"p2","nameLocation":"128874:2:19","nodeType":"VariableDeclaration","scope":30404,"src":"128866:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30375,"name":"address","nodeType":"ElementaryTypeName","src":"128866:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30378,"mutability":"mutable","name":"p3","nameLocation":"128886:2:19","nodeType":"VariableDeclaration","scope":30404,"src":"128878:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30377,"name":"uint256","nodeType":"ElementaryTypeName","src":"128878:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"128841:48:19"},"returnParameters":{"id":30380,"nodeType":"ParameterList","parameters":[],"src":"128904:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30444,"nodeType":"FunctionDefinition","src":"129713:1426:19","nodes":[],"body":{"id":30443,"nodeType":"Block","src":"129788:1351:19","nodes":[],"statements":[{"assignments":[30416],"declarations":[{"constant":false,"id":30416,"mutability":"mutable","name":"m0","nameLocation":"129806:2:19","nodeType":"VariableDeclaration","scope":30443,"src":"129798:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30415,"name":"bytes32","nodeType":"ElementaryTypeName","src":"129798:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30417,"nodeType":"VariableDeclarationStatement","src":"129798:10:19"},{"assignments":[30419],"declarations":[{"constant":false,"id":30419,"mutability":"mutable","name":"m1","nameLocation":"129826:2:19","nodeType":"VariableDeclaration","scope":30443,"src":"129818:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30418,"name":"bytes32","nodeType":"ElementaryTypeName","src":"129818:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30420,"nodeType":"VariableDeclarationStatement","src":"129818:10:19"},{"assignments":[30422],"declarations":[{"constant":false,"id":30422,"mutability":"mutable","name":"m2","nameLocation":"129846:2:19","nodeType":"VariableDeclaration","scope":30443,"src":"129838:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30421,"name":"bytes32","nodeType":"ElementaryTypeName","src":"129838:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30423,"nodeType":"VariableDeclarationStatement","src":"129838:10:19"},{"assignments":[30425],"declarations":[{"constant":false,"id":30425,"mutability":"mutable","name":"m3","nameLocation":"129866:2:19","nodeType":"VariableDeclaration","scope":30443,"src":"129858:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30424,"name":"bytes32","nodeType":"ElementaryTypeName","src":"129858:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30426,"nodeType":"VariableDeclarationStatement","src":"129858:10:19"},{"assignments":[30428],"declarations":[{"constant":false,"id":30428,"mutability":"mutable","name":"m4","nameLocation":"129886:2:19","nodeType":"VariableDeclaration","scope":30443,"src":"129878:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30427,"name":"bytes32","nodeType":"ElementaryTypeName","src":"129878:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30429,"nodeType":"VariableDeclarationStatement","src":"129878:10:19"},{"assignments":[30431],"declarations":[{"constant":false,"id":30431,"mutability":"mutable","name":"m5","nameLocation":"129906:2:19","nodeType":"VariableDeclaration","scope":30443,"src":"129898:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30430,"name":"bytes32","nodeType":"ElementaryTypeName","src":"129898:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30432,"nodeType":"VariableDeclarationStatement","src":"129898:10:19"},{"assignments":[30434],"declarations":[{"constant":false,"id":30434,"mutability":"mutable","name":"m6","nameLocation":"129926:2:19","nodeType":"VariableDeclaration","scope":30443,"src":"129918:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30433,"name":"bytes32","nodeType":"ElementaryTypeName","src":"129918:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30435,"nodeType":"VariableDeclarationStatement","src":"129918:10:19"},{"AST":{"nativeSrc":"129990:831:19","nodeType":"YulBlock","src":"129990:831:19","statements":[{"body":{"nativeSrc":"130033:313:19","nodeType":"YulBlock","src":"130033:313:19","statements":[{"nativeSrc":"130051:15:19","nodeType":"YulVariableDeclaration","src":"130051:15:19","value":{"kind":"number","nativeSrc":"130065:1:19","nodeType":"YulLiteral","src":"130065:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"130055:6:19","nodeType":"YulTypedName","src":"130055:6:19","type":""}]},{"body":{"nativeSrc":"130136:40:19","nodeType":"YulBlock","src":"130136:40:19","statements":[{"body":{"nativeSrc":"130165:9:19","nodeType":"YulBlock","src":"130165:9:19","statements":[{"nativeSrc":"130167:5:19","nodeType":"YulBreak","src":"130167:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"130153:6:19","nodeType":"YulIdentifier","src":"130153:6:19"},{"name":"w","nativeSrc":"130161:1:19","nodeType":"YulIdentifier","src":"130161:1:19"}],"functionName":{"name":"byte","nativeSrc":"130148:4:19","nodeType":"YulIdentifier","src":"130148:4:19"},"nativeSrc":"130148:15:19","nodeType":"YulFunctionCall","src":"130148:15:19"}],"functionName":{"name":"iszero","nativeSrc":"130141:6:19","nodeType":"YulIdentifier","src":"130141:6:19"},"nativeSrc":"130141:23:19","nodeType":"YulFunctionCall","src":"130141:23:19"},"nativeSrc":"130138:36:19","nodeType":"YulIf","src":"130138:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"130093:6:19","nodeType":"YulIdentifier","src":"130093:6:19"},{"kind":"number","nativeSrc":"130101:4:19","nodeType":"YulLiteral","src":"130101:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"130090:2:19","nodeType":"YulIdentifier","src":"130090:2:19"},"nativeSrc":"130090:16:19","nodeType":"YulFunctionCall","src":"130090:16:19"},"nativeSrc":"130083:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"130107:28:19","nodeType":"YulBlock","src":"130107:28:19","statements":[{"nativeSrc":"130109:24:19","nodeType":"YulAssignment","src":"130109:24:19","value":{"arguments":[{"name":"length","nativeSrc":"130123:6:19","nodeType":"YulIdentifier","src":"130123:6:19"},{"kind":"number","nativeSrc":"130131:1:19","nodeType":"YulLiteral","src":"130131:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"130119:3:19","nodeType":"YulIdentifier","src":"130119:3:19"},"nativeSrc":"130119:14:19","nodeType":"YulFunctionCall","src":"130119:14:19"},"variableNames":[{"name":"length","nativeSrc":"130109:6:19","nodeType":"YulIdentifier","src":"130109:6:19"}]}]},"pre":{"nativeSrc":"130087:2:19","nodeType":"YulBlock","src":"130087:2:19","statements":[]},"src":"130083:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"130200:3:19","nodeType":"YulIdentifier","src":"130200:3:19"},{"name":"length","nativeSrc":"130205:6:19","nodeType":"YulIdentifier","src":"130205:6:19"}],"functionName":{"name":"mstore","nativeSrc":"130193:6:19","nodeType":"YulIdentifier","src":"130193:6:19"},"nativeSrc":"130193:19:19","nodeType":"YulFunctionCall","src":"130193:19:19"},"nativeSrc":"130193:19:19","nodeType":"YulExpressionStatement","src":"130193:19:19"},{"nativeSrc":"130229:37:19","nodeType":"YulVariableDeclaration","src":"130229:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"130246:3:19","nodeType":"YulLiteral","src":"130246:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"130255:1:19","nodeType":"YulLiteral","src":"130255:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"130258:6:19","nodeType":"YulIdentifier","src":"130258:6:19"}],"functionName":{"name":"shl","nativeSrc":"130251:3:19","nodeType":"YulIdentifier","src":"130251:3:19"},"nativeSrc":"130251:14:19","nodeType":"YulFunctionCall","src":"130251:14:19"}],"functionName":{"name":"sub","nativeSrc":"130242:3:19","nodeType":"YulIdentifier","src":"130242:3:19"},"nativeSrc":"130242:24:19","nodeType":"YulFunctionCall","src":"130242:24:19"},"variables":[{"name":"shift","nativeSrc":"130233:5:19","nodeType":"YulTypedName","src":"130233:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"130294:3:19","nodeType":"YulIdentifier","src":"130294:3:19"},{"kind":"number","nativeSrc":"130299:4:19","nodeType":"YulLiteral","src":"130299:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"130290:3:19","nodeType":"YulIdentifier","src":"130290:3:19"},"nativeSrc":"130290:14:19","nodeType":"YulFunctionCall","src":"130290:14:19"},{"arguments":[{"name":"shift","nativeSrc":"130310:5:19","nodeType":"YulIdentifier","src":"130310:5:19"},{"arguments":[{"name":"shift","nativeSrc":"130321:5:19","nodeType":"YulIdentifier","src":"130321:5:19"},{"name":"w","nativeSrc":"130328:1:19","nodeType":"YulIdentifier","src":"130328:1:19"}],"functionName":{"name":"shr","nativeSrc":"130317:3:19","nodeType":"YulIdentifier","src":"130317:3:19"},"nativeSrc":"130317:13:19","nodeType":"YulFunctionCall","src":"130317:13:19"}],"functionName":{"name":"shl","nativeSrc":"130306:3:19","nodeType":"YulIdentifier","src":"130306:3:19"},"nativeSrc":"130306:25:19","nodeType":"YulFunctionCall","src":"130306:25:19"}],"functionName":{"name":"mstore","nativeSrc":"130283:6:19","nodeType":"YulIdentifier","src":"130283:6:19"},"nativeSrc":"130283:49:19","nodeType":"YulFunctionCall","src":"130283:49:19"},"nativeSrc":"130283:49:19","nodeType":"YulExpressionStatement","src":"130283:49:19"}]},"name":"writeString","nativeSrc":"130004:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"130025:3:19","nodeType":"YulTypedName","src":"130025:3:19","type":""},{"name":"w","nativeSrc":"130030:1:19","nodeType":"YulTypedName","src":"130030:1:19","type":""}],"src":"130004:342:19"},{"nativeSrc":"130359:17:19","nodeType":"YulAssignment","src":"130359:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"130371:4:19","nodeType":"YulLiteral","src":"130371:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"130365:5:19","nodeType":"YulIdentifier","src":"130365:5:19"},"nativeSrc":"130365:11:19","nodeType":"YulFunctionCall","src":"130365:11:19"},"variableNames":[{"name":"m0","nativeSrc":"130359:2:19","nodeType":"YulIdentifier","src":"130359:2:19"}]},{"nativeSrc":"130389:17:19","nodeType":"YulAssignment","src":"130389:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"130401:4:19","nodeType":"YulLiteral","src":"130401:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"130395:5:19","nodeType":"YulIdentifier","src":"130395:5:19"},"nativeSrc":"130395:11:19","nodeType":"YulFunctionCall","src":"130395:11:19"},"variableNames":[{"name":"m1","nativeSrc":"130389:2:19","nodeType":"YulIdentifier","src":"130389:2:19"}]},{"nativeSrc":"130419:17:19","nodeType":"YulAssignment","src":"130419:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"130431:4:19","nodeType":"YulLiteral","src":"130431:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"130425:5:19","nodeType":"YulIdentifier","src":"130425:5:19"},"nativeSrc":"130425:11:19","nodeType":"YulFunctionCall","src":"130425:11:19"},"variableNames":[{"name":"m2","nativeSrc":"130419:2:19","nodeType":"YulIdentifier","src":"130419:2:19"}]},{"nativeSrc":"130449:17:19","nodeType":"YulAssignment","src":"130449:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"130461:4:19","nodeType":"YulLiteral","src":"130461:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"130455:5:19","nodeType":"YulIdentifier","src":"130455:5:19"},"nativeSrc":"130455:11:19","nodeType":"YulFunctionCall","src":"130455:11:19"},"variableNames":[{"name":"m3","nativeSrc":"130449:2:19","nodeType":"YulIdentifier","src":"130449:2:19"}]},{"nativeSrc":"130479:17:19","nodeType":"YulAssignment","src":"130479:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"130491:4:19","nodeType":"YulLiteral","src":"130491:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"130485:5:19","nodeType":"YulIdentifier","src":"130485:5:19"},"nativeSrc":"130485:11:19","nodeType":"YulFunctionCall","src":"130485:11:19"},"variableNames":[{"name":"m4","nativeSrc":"130479:2:19","nodeType":"YulIdentifier","src":"130479:2:19"}]},{"nativeSrc":"130509:17:19","nodeType":"YulAssignment","src":"130509:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"130521:4:19","nodeType":"YulLiteral","src":"130521:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"130515:5:19","nodeType":"YulIdentifier","src":"130515:5:19"},"nativeSrc":"130515:11:19","nodeType":"YulFunctionCall","src":"130515:11:19"},"variableNames":[{"name":"m5","nativeSrc":"130509:2:19","nodeType":"YulIdentifier","src":"130509:2:19"}]},{"nativeSrc":"130539:17:19","nodeType":"YulAssignment","src":"130539:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"130551:4:19","nodeType":"YulLiteral","src":"130551:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"130545:5:19","nodeType":"YulIdentifier","src":"130545:5:19"},"nativeSrc":"130545:11:19","nodeType":"YulFunctionCall","src":"130545:11:19"},"variableNames":[{"name":"m6","nativeSrc":"130539:2:19","nodeType":"YulIdentifier","src":"130539:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"130642:4:19","nodeType":"YulLiteral","src":"130642:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"130648:10:19","nodeType":"YulLiteral","src":"130648:10:19","type":"","value":"0x1da986ea"}],"functionName":{"name":"mstore","nativeSrc":"130635:6:19","nodeType":"YulIdentifier","src":"130635:6:19"},"nativeSrc":"130635:24:19","nodeType":"YulFunctionCall","src":"130635:24:19"},"nativeSrc":"130635:24:19","nodeType":"YulExpressionStatement","src":"130635:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"130679:4:19","nodeType":"YulLiteral","src":"130679:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"130685:2:19","nodeType":"YulIdentifier","src":"130685:2:19"}],"functionName":{"name":"mstore","nativeSrc":"130672:6:19","nodeType":"YulIdentifier","src":"130672:6:19"},"nativeSrc":"130672:16:19","nodeType":"YulFunctionCall","src":"130672:16:19"},"nativeSrc":"130672:16:19","nodeType":"YulExpressionStatement","src":"130672:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"130708:4:19","nodeType":"YulLiteral","src":"130708:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"130714:2:19","nodeType":"YulIdentifier","src":"130714:2:19"}],"functionName":{"name":"mstore","nativeSrc":"130701:6:19","nodeType":"YulIdentifier","src":"130701:6:19"},"nativeSrc":"130701:16:19","nodeType":"YulFunctionCall","src":"130701:16:19"},"nativeSrc":"130701:16:19","nodeType":"YulExpressionStatement","src":"130701:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"130737:4:19","nodeType":"YulLiteral","src":"130737:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"130743:2:19","nodeType":"YulIdentifier","src":"130743:2:19"}],"functionName":{"name":"mstore","nativeSrc":"130730:6:19","nodeType":"YulIdentifier","src":"130730:6:19"},"nativeSrc":"130730:16:19","nodeType":"YulFunctionCall","src":"130730:16:19"},"nativeSrc":"130730:16:19","nodeType":"YulExpressionStatement","src":"130730:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"130766:4:19","nodeType":"YulLiteral","src":"130766:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"130772:4:19","nodeType":"YulLiteral","src":"130772:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"130759:6:19","nodeType":"YulIdentifier","src":"130759:6:19"},"nativeSrc":"130759:18:19","nodeType":"YulFunctionCall","src":"130759:18:19"},"nativeSrc":"130759:18:19","nodeType":"YulExpressionStatement","src":"130759:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"130802:4:19","nodeType":"YulLiteral","src":"130802:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"130808:2:19","nodeType":"YulIdentifier","src":"130808:2:19"}],"functionName":{"name":"writeString","nativeSrc":"130790:11:19","nodeType":"YulIdentifier","src":"130790:11:19"},"nativeSrc":"130790:21:19","nodeType":"YulFunctionCall","src":"130790:21:19"},"nativeSrc":"130790:21:19","nodeType":"YulExpressionStatement","src":"130790:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30416,"isOffset":false,"isSlot":false,"src":"130359:2:19","valueSize":1},{"declaration":30419,"isOffset":false,"isSlot":false,"src":"130389:2:19","valueSize":1},{"declaration":30422,"isOffset":false,"isSlot":false,"src":"130419:2:19","valueSize":1},{"declaration":30425,"isOffset":false,"isSlot":false,"src":"130449:2:19","valueSize":1},{"declaration":30428,"isOffset":false,"isSlot":false,"src":"130479:2:19","valueSize":1},{"declaration":30431,"isOffset":false,"isSlot":false,"src":"130509:2:19","valueSize":1},{"declaration":30434,"isOffset":false,"isSlot":false,"src":"130539:2:19","valueSize":1},{"declaration":30406,"isOffset":false,"isSlot":false,"src":"130685:2:19","valueSize":1},{"declaration":30408,"isOffset":false,"isSlot":false,"src":"130714:2:19","valueSize":1},{"declaration":30410,"isOffset":false,"isSlot":false,"src":"130743:2:19","valueSize":1},{"declaration":30412,"isOffset":false,"isSlot":false,"src":"130808:2:19","valueSize":1}],"id":30436,"nodeType":"InlineAssembly","src":"129981:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"130846:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":30439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"130852:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":30437,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"130830:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"130830:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30441,"nodeType":"ExpressionStatement","src":"130830:27:19"},{"AST":{"nativeSrc":"130919:214:19","nodeType":"YulBlock","src":"130919:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"130940:4:19","nodeType":"YulLiteral","src":"130940:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"130946:2:19","nodeType":"YulIdentifier","src":"130946:2:19"}],"functionName":{"name":"mstore","nativeSrc":"130933:6:19","nodeType":"YulIdentifier","src":"130933:6:19"},"nativeSrc":"130933:16:19","nodeType":"YulFunctionCall","src":"130933:16:19"},"nativeSrc":"130933:16:19","nodeType":"YulExpressionStatement","src":"130933:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"130969:4:19","nodeType":"YulLiteral","src":"130969:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"130975:2:19","nodeType":"YulIdentifier","src":"130975:2:19"}],"functionName":{"name":"mstore","nativeSrc":"130962:6:19","nodeType":"YulIdentifier","src":"130962:6:19"},"nativeSrc":"130962:16:19","nodeType":"YulFunctionCall","src":"130962:16:19"},"nativeSrc":"130962:16:19","nodeType":"YulExpressionStatement","src":"130962:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"130998:4:19","nodeType":"YulLiteral","src":"130998:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"131004:2:19","nodeType":"YulIdentifier","src":"131004:2:19"}],"functionName":{"name":"mstore","nativeSrc":"130991:6:19","nodeType":"YulIdentifier","src":"130991:6:19"},"nativeSrc":"130991:16:19","nodeType":"YulFunctionCall","src":"130991:16:19"},"nativeSrc":"130991:16:19","nodeType":"YulExpressionStatement","src":"130991:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131027:4:19","nodeType":"YulLiteral","src":"131027:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"131033:2:19","nodeType":"YulIdentifier","src":"131033:2:19"}],"functionName":{"name":"mstore","nativeSrc":"131020:6:19","nodeType":"YulIdentifier","src":"131020:6:19"},"nativeSrc":"131020:16:19","nodeType":"YulFunctionCall","src":"131020:16:19"},"nativeSrc":"131020:16:19","nodeType":"YulExpressionStatement","src":"131020:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131056:4:19","nodeType":"YulLiteral","src":"131056:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"131062:2:19","nodeType":"YulIdentifier","src":"131062:2:19"}],"functionName":{"name":"mstore","nativeSrc":"131049:6:19","nodeType":"YulIdentifier","src":"131049:6:19"},"nativeSrc":"131049:16:19","nodeType":"YulFunctionCall","src":"131049:16:19"},"nativeSrc":"131049:16:19","nodeType":"YulExpressionStatement","src":"131049:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131085:4:19","nodeType":"YulLiteral","src":"131085:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"131091:2:19","nodeType":"YulIdentifier","src":"131091:2:19"}],"functionName":{"name":"mstore","nativeSrc":"131078:6:19","nodeType":"YulIdentifier","src":"131078:6:19"},"nativeSrc":"131078:16:19","nodeType":"YulFunctionCall","src":"131078:16:19"},"nativeSrc":"131078:16:19","nodeType":"YulExpressionStatement","src":"131078:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131114:4:19","nodeType":"YulLiteral","src":"131114:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"131120:2:19","nodeType":"YulIdentifier","src":"131120:2:19"}],"functionName":{"name":"mstore","nativeSrc":"131107:6:19","nodeType":"YulIdentifier","src":"131107:6:19"},"nativeSrc":"131107:16:19","nodeType":"YulFunctionCall","src":"131107:16:19"},"nativeSrc":"131107:16:19","nodeType":"YulExpressionStatement","src":"131107:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30416,"isOffset":false,"isSlot":false,"src":"130946:2:19","valueSize":1},{"declaration":30419,"isOffset":false,"isSlot":false,"src":"130975:2:19","valueSize":1},{"declaration":30422,"isOffset":false,"isSlot":false,"src":"131004:2:19","valueSize":1},{"declaration":30425,"isOffset":false,"isSlot":false,"src":"131033:2:19","valueSize":1},{"declaration":30428,"isOffset":false,"isSlot":false,"src":"131062:2:19","valueSize":1},{"declaration":30431,"isOffset":false,"isSlot":false,"src":"131091:2:19","valueSize":1},{"declaration":30434,"isOffset":false,"isSlot":false,"src":"131120:2:19","valueSize":1}],"id":30442,"nodeType":"InlineAssembly","src":"130910:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"129722:3:19","parameters":{"id":30413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30406,"mutability":"mutable","name":"p0","nameLocation":"129734:2:19","nodeType":"VariableDeclaration","scope":30444,"src":"129726:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30405,"name":"address","nodeType":"ElementaryTypeName","src":"129726:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30408,"mutability":"mutable","name":"p1","nameLocation":"129746:2:19","nodeType":"VariableDeclaration","scope":30444,"src":"129738:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30407,"name":"uint256","nodeType":"ElementaryTypeName","src":"129738:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30410,"mutability":"mutable","name":"p2","nameLocation":"129758:2:19","nodeType":"VariableDeclaration","scope":30444,"src":"129750:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30409,"name":"address","nodeType":"ElementaryTypeName","src":"129750:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30412,"mutability":"mutable","name":"p3","nameLocation":"129770:2:19","nodeType":"VariableDeclaration","scope":30444,"src":"129762:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30411,"name":"bytes32","nodeType":"ElementaryTypeName","src":"129762:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"129725:48:19"},"returnParameters":{"id":30414,"nodeType":"ParameterList","parameters":[],"src":"129788:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30478,"nodeType":"FunctionDefinition","src":"131145:872:19","nodes":[],"body":{"id":30477,"nodeType":"Block","src":"131217:800:19","nodes":[],"statements":[{"assignments":[30456],"declarations":[{"constant":false,"id":30456,"mutability":"mutable","name":"m0","nameLocation":"131235:2:19","nodeType":"VariableDeclaration","scope":30477,"src":"131227:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30455,"name":"bytes32","nodeType":"ElementaryTypeName","src":"131227:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30457,"nodeType":"VariableDeclarationStatement","src":"131227:10:19"},{"assignments":[30459],"declarations":[{"constant":false,"id":30459,"mutability":"mutable","name":"m1","nameLocation":"131255:2:19","nodeType":"VariableDeclaration","scope":30477,"src":"131247:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30458,"name":"bytes32","nodeType":"ElementaryTypeName","src":"131247:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30460,"nodeType":"VariableDeclarationStatement","src":"131247:10:19"},{"assignments":[30462],"declarations":[{"constant":false,"id":30462,"mutability":"mutable","name":"m2","nameLocation":"131275:2:19","nodeType":"VariableDeclaration","scope":30477,"src":"131267:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30461,"name":"bytes32","nodeType":"ElementaryTypeName","src":"131267:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30463,"nodeType":"VariableDeclarationStatement","src":"131267:10:19"},{"assignments":[30465],"declarations":[{"constant":false,"id":30465,"mutability":"mutable","name":"m3","nameLocation":"131295:2:19","nodeType":"VariableDeclaration","scope":30477,"src":"131287:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30464,"name":"bytes32","nodeType":"ElementaryTypeName","src":"131287:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30466,"nodeType":"VariableDeclarationStatement","src":"131287:10:19"},{"assignments":[30468],"declarations":[{"constant":false,"id":30468,"mutability":"mutable","name":"m4","nameLocation":"131315:2:19","nodeType":"VariableDeclaration","scope":30477,"src":"131307:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30467,"name":"bytes32","nodeType":"ElementaryTypeName","src":"131307:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30469,"nodeType":"VariableDeclarationStatement","src":"131307:10:19"},{"AST":{"nativeSrc":"131379:378:19","nodeType":"YulBlock","src":"131379:378:19","statements":[{"nativeSrc":"131393:17:19","nodeType":"YulAssignment","src":"131393:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"131405:4:19","nodeType":"YulLiteral","src":"131405:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"131399:5:19","nodeType":"YulIdentifier","src":"131399:5:19"},"nativeSrc":"131399:11:19","nodeType":"YulFunctionCall","src":"131399:11:19"},"variableNames":[{"name":"m0","nativeSrc":"131393:2:19","nodeType":"YulIdentifier","src":"131393:2:19"}]},{"nativeSrc":"131423:17:19","nodeType":"YulAssignment","src":"131423:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"131435:4:19","nodeType":"YulLiteral","src":"131435:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"131429:5:19","nodeType":"YulIdentifier","src":"131429:5:19"},"nativeSrc":"131429:11:19","nodeType":"YulFunctionCall","src":"131429:11:19"},"variableNames":[{"name":"m1","nativeSrc":"131423:2:19","nodeType":"YulIdentifier","src":"131423:2:19"}]},{"nativeSrc":"131453:17:19","nodeType":"YulAssignment","src":"131453:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"131465:4:19","nodeType":"YulLiteral","src":"131465:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"131459:5:19","nodeType":"YulIdentifier","src":"131459:5:19"},"nativeSrc":"131459:11:19","nodeType":"YulFunctionCall","src":"131459:11:19"},"variableNames":[{"name":"m2","nativeSrc":"131453:2:19","nodeType":"YulIdentifier","src":"131453:2:19"}]},{"nativeSrc":"131483:17:19","nodeType":"YulAssignment","src":"131483:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"131495:4:19","nodeType":"YulLiteral","src":"131495:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"131489:5:19","nodeType":"YulIdentifier","src":"131489:5:19"},"nativeSrc":"131489:11:19","nodeType":"YulFunctionCall","src":"131489:11:19"},"variableNames":[{"name":"m3","nativeSrc":"131483:2:19","nodeType":"YulIdentifier","src":"131483:2:19"}]},{"nativeSrc":"131513:17:19","nodeType":"YulAssignment","src":"131513:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"131525:4:19","nodeType":"YulLiteral","src":"131525:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"131519:5:19","nodeType":"YulIdentifier","src":"131519:5:19"},"nativeSrc":"131519:11:19","nodeType":"YulFunctionCall","src":"131519:11:19"},"variableNames":[{"name":"m4","nativeSrc":"131513:2:19","nodeType":"YulIdentifier","src":"131513:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131614:4:19","nodeType":"YulLiteral","src":"131614:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"131620:10:19","nodeType":"YulLiteral","src":"131620:10:19","type":"","value":"0xa31bfdcc"}],"functionName":{"name":"mstore","nativeSrc":"131607:6:19","nodeType":"YulIdentifier","src":"131607:6:19"},"nativeSrc":"131607:24:19","nodeType":"YulFunctionCall","src":"131607:24:19"},"nativeSrc":"131607:24:19","nodeType":"YulExpressionStatement","src":"131607:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131651:4:19","nodeType":"YulLiteral","src":"131651:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"131657:2:19","nodeType":"YulIdentifier","src":"131657:2:19"}],"functionName":{"name":"mstore","nativeSrc":"131644:6:19","nodeType":"YulIdentifier","src":"131644:6:19"},"nativeSrc":"131644:16:19","nodeType":"YulFunctionCall","src":"131644:16:19"},"nativeSrc":"131644:16:19","nodeType":"YulExpressionStatement","src":"131644:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131680:4:19","nodeType":"YulLiteral","src":"131680:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"131686:2:19","nodeType":"YulIdentifier","src":"131686:2:19"}],"functionName":{"name":"mstore","nativeSrc":"131673:6:19","nodeType":"YulIdentifier","src":"131673:6:19"},"nativeSrc":"131673:16:19","nodeType":"YulFunctionCall","src":"131673:16:19"},"nativeSrc":"131673:16:19","nodeType":"YulExpressionStatement","src":"131673:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131709:4:19","nodeType":"YulLiteral","src":"131709:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"131715:2:19","nodeType":"YulIdentifier","src":"131715:2:19"}],"functionName":{"name":"mstore","nativeSrc":"131702:6:19","nodeType":"YulIdentifier","src":"131702:6:19"},"nativeSrc":"131702:16:19","nodeType":"YulFunctionCall","src":"131702:16:19"},"nativeSrc":"131702:16:19","nodeType":"YulExpressionStatement","src":"131702:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131738:4:19","nodeType":"YulLiteral","src":"131738:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"131744:2:19","nodeType":"YulIdentifier","src":"131744:2:19"}],"functionName":{"name":"mstore","nativeSrc":"131731:6:19","nodeType":"YulIdentifier","src":"131731:6:19"},"nativeSrc":"131731:16:19","nodeType":"YulFunctionCall","src":"131731:16:19"},"nativeSrc":"131731:16:19","nodeType":"YulExpressionStatement","src":"131731:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30456,"isOffset":false,"isSlot":false,"src":"131393:2:19","valueSize":1},{"declaration":30459,"isOffset":false,"isSlot":false,"src":"131423:2:19","valueSize":1},{"declaration":30462,"isOffset":false,"isSlot":false,"src":"131453:2:19","valueSize":1},{"declaration":30465,"isOffset":false,"isSlot":false,"src":"131483:2:19","valueSize":1},{"declaration":30468,"isOffset":false,"isSlot":false,"src":"131513:2:19","valueSize":1},{"declaration":30446,"isOffset":false,"isSlot":false,"src":"131657:2:19","valueSize":1},{"declaration":30448,"isOffset":false,"isSlot":false,"src":"131686:2:19","valueSize":1},{"declaration":30450,"isOffset":false,"isSlot":false,"src":"131715:2:19","valueSize":1},{"declaration":30452,"isOffset":false,"isSlot":false,"src":"131744:2:19","valueSize":1}],"id":30470,"nodeType":"InlineAssembly","src":"131370:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"131782:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"131788:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30471,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"131766:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"131766:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30475,"nodeType":"ExpressionStatement","src":"131766:27:19"},{"AST":{"nativeSrc":"131855:156:19","nodeType":"YulBlock","src":"131855:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"131876:4:19","nodeType":"YulLiteral","src":"131876:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"131882:2:19","nodeType":"YulIdentifier","src":"131882:2:19"}],"functionName":{"name":"mstore","nativeSrc":"131869:6:19","nodeType":"YulIdentifier","src":"131869:6:19"},"nativeSrc":"131869:16:19","nodeType":"YulFunctionCall","src":"131869:16:19"},"nativeSrc":"131869:16:19","nodeType":"YulExpressionStatement","src":"131869:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131905:4:19","nodeType":"YulLiteral","src":"131905:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"131911:2:19","nodeType":"YulIdentifier","src":"131911:2:19"}],"functionName":{"name":"mstore","nativeSrc":"131898:6:19","nodeType":"YulIdentifier","src":"131898:6:19"},"nativeSrc":"131898:16:19","nodeType":"YulFunctionCall","src":"131898:16:19"},"nativeSrc":"131898:16:19","nodeType":"YulExpressionStatement","src":"131898:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131934:4:19","nodeType":"YulLiteral","src":"131934:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"131940:2:19","nodeType":"YulIdentifier","src":"131940:2:19"}],"functionName":{"name":"mstore","nativeSrc":"131927:6:19","nodeType":"YulIdentifier","src":"131927:6:19"},"nativeSrc":"131927:16:19","nodeType":"YulFunctionCall","src":"131927:16:19"},"nativeSrc":"131927:16:19","nodeType":"YulExpressionStatement","src":"131927:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131963:4:19","nodeType":"YulLiteral","src":"131963:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"131969:2:19","nodeType":"YulIdentifier","src":"131969:2:19"}],"functionName":{"name":"mstore","nativeSrc":"131956:6:19","nodeType":"YulIdentifier","src":"131956:6:19"},"nativeSrc":"131956:16:19","nodeType":"YulFunctionCall","src":"131956:16:19"},"nativeSrc":"131956:16:19","nodeType":"YulExpressionStatement","src":"131956:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"131992:4:19","nodeType":"YulLiteral","src":"131992:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"131998:2:19","nodeType":"YulIdentifier","src":"131998:2:19"}],"functionName":{"name":"mstore","nativeSrc":"131985:6:19","nodeType":"YulIdentifier","src":"131985:6:19"},"nativeSrc":"131985:16:19","nodeType":"YulFunctionCall","src":"131985:16:19"},"nativeSrc":"131985:16:19","nodeType":"YulExpressionStatement","src":"131985:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30456,"isOffset":false,"isSlot":false,"src":"131882:2:19","valueSize":1},{"declaration":30459,"isOffset":false,"isSlot":false,"src":"131911:2:19","valueSize":1},{"declaration":30462,"isOffset":false,"isSlot":false,"src":"131940:2:19","valueSize":1},{"declaration":30465,"isOffset":false,"isSlot":false,"src":"131969:2:19","valueSize":1},{"declaration":30468,"isOffset":false,"isSlot":false,"src":"131998:2:19","valueSize":1}],"id":30476,"nodeType":"InlineAssembly","src":"131846:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"131154:3:19","parameters":{"id":30453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30446,"mutability":"mutable","name":"p0","nameLocation":"131166:2:19","nodeType":"VariableDeclaration","scope":30478,"src":"131158:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30445,"name":"address","nodeType":"ElementaryTypeName","src":"131158:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30448,"mutability":"mutable","name":"p1","nameLocation":"131178:2:19","nodeType":"VariableDeclaration","scope":30478,"src":"131170:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30447,"name":"uint256","nodeType":"ElementaryTypeName","src":"131170:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30450,"mutability":"mutable","name":"p2","nameLocation":"131187:2:19","nodeType":"VariableDeclaration","scope":30478,"src":"131182:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30449,"name":"bool","nodeType":"ElementaryTypeName","src":"131182:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30452,"mutability":"mutable","name":"p3","nameLocation":"131199:2:19","nodeType":"VariableDeclaration","scope":30478,"src":"131191:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30451,"name":"address","nodeType":"ElementaryTypeName","src":"131191:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"131157:45:19"},"returnParameters":{"id":30454,"nodeType":"ParameterList","parameters":[],"src":"131217:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30512,"nodeType":"FunctionDefinition","src":"132023:866:19","nodes":[],"body":{"id":30511,"nodeType":"Block","src":"132092:797:19","nodes":[],"statements":[{"assignments":[30490],"declarations":[{"constant":false,"id":30490,"mutability":"mutable","name":"m0","nameLocation":"132110:2:19","nodeType":"VariableDeclaration","scope":30511,"src":"132102:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30489,"name":"bytes32","nodeType":"ElementaryTypeName","src":"132102:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30491,"nodeType":"VariableDeclarationStatement","src":"132102:10:19"},{"assignments":[30493],"declarations":[{"constant":false,"id":30493,"mutability":"mutable","name":"m1","nameLocation":"132130:2:19","nodeType":"VariableDeclaration","scope":30511,"src":"132122:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30492,"name":"bytes32","nodeType":"ElementaryTypeName","src":"132122:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30494,"nodeType":"VariableDeclarationStatement","src":"132122:10:19"},{"assignments":[30496],"declarations":[{"constant":false,"id":30496,"mutability":"mutable","name":"m2","nameLocation":"132150:2:19","nodeType":"VariableDeclaration","scope":30511,"src":"132142:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30495,"name":"bytes32","nodeType":"ElementaryTypeName","src":"132142:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30497,"nodeType":"VariableDeclarationStatement","src":"132142:10:19"},{"assignments":[30499],"declarations":[{"constant":false,"id":30499,"mutability":"mutable","name":"m3","nameLocation":"132170:2:19","nodeType":"VariableDeclaration","scope":30511,"src":"132162:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30498,"name":"bytes32","nodeType":"ElementaryTypeName","src":"132162:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30500,"nodeType":"VariableDeclarationStatement","src":"132162:10:19"},{"assignments":[30502],"declarations":[{"constant":false,"id":30502,"mutability":"mutable","name":"m4","nameLocation":"132190:2:19","nodeType":"VariableDeclaration","scope":30511,"src":"132182:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30501,"name":"bytes32","nodeType":"ElementaryTypeName","src":"132182:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30503,"nodeType":"VariableDeclarationStatement","src":"132182:10:19"},{"AST":{"nativeSrc":"132254:375:19","nodeType":"YulBlock","src":"132254:375:19","statements":[{"nativeSrc":"132268:17:19","nodeType":"YulAssignment","src":"132268:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"132280:4:19","nodeType":"YulLiteral","src":"132280:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"132274:5:19","nodeType":"YulIdentifier","src":"132274:5:19"},"nativeSrc":"132274:11:19","nodeType":"YulFunctionCall","src":"132274:11:19"},"variableNames":[{"name":"m0","nativeSrc":"132268:2:19","nodeType":"YulIdentifier","src":"132268:2:19"}]},{"nativeSrc":"132298:17:19","nodeType":"YulAssignment","src":"132298:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"132310:4:19","nodeType":"YulLiteral","src":"132310:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"132304:5:19","nodeType":"YulIdentifier","src":"132304:5:19"},"nativeSrc":"132304:11:19","nodeType":"YulFunctionCall","src":"132304:11:19"},"variableNames":[{"name":"m1","nativeSrc":"132298:2:19","nodeType":"YulIdentifier","src":"132298:2:19"}]},{"nativeSrc":"132328:17:19","nodeType":"YulAssignment","src":"132328:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"132340:4:19","nodeType":"YulLiteral","src":"132340:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"132334:5:19","nodeType":"YulIdentifier","src":"132334:5:19"},"nativeSrc":"132334:11:19","nodeType":"YulFunctionCall","src":"132334:11:19"},"variableNames":[{"name":"m2","nativeSrc":"132328:2:19","nodeType":"YulIdentifier","src":"132328:2:19"}]},{"nativeSrc":"132358:17:19","nodeType":"YulAssignment","src":"132358:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"132370:4:19","nodeType":"YulLiteral","src":"132370:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"132364:5:19","nodeType":"YulIdentifier","src":"132364:5:19"},"nativeSrc":"132364:11:19","nodeType":"YulFunctionCall","src":"132364:11:19"},"variableNames":[{"name":"m3","nativeSrc":"132358:2:19","nodeType":"YulIdentifier","src":"132358:2:19"}]},{"nativeSrc":"132388:17:19","nodeType":"YulAssignment","src":"132388:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"132400:4:19","nodeType":"YulLiteral","src":"132400:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"132394:5:19","nodeType":"YulIdentifier","src":"132394:5:19"},"nativeSrc":"132394:11:19","nodeType":"YulFunctionCall","src":"132394:11:19"},"variableNames":[{"name":"m4","nativeSrc":"132388:2:19","nodeType":"YulIdentifier","src":"132388:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132486:4:19","nodeType":"YulLiteral","src":"132486:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"132492:10:19","nodeType":"YulLiteral","src":"132492:10:19","type":"","value":"0x3bf5e537"}],"functionName":{"name":"mstore","nativeSrc":"132479:6:19","nodeType":"YulIdentifier","src":"132479:6:19"},"nativeSrc":"132479:24:19","nodeType":"YulFunctionCall","src":"132479:24:19"},"nativeSrc":"132479:24:19","nodeType":"YulExpressionStatement","src":"132479:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132523:4:19","nodeType":"YulLiteral","src":"132523:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"132529:2:19","nodeType":"YulIdentifier","src":"132529:2:19"}],"functionName":{"name":"mstore","nativeSrc":"132516:6:19","nodeType":"YulIdentifier","src":"132516:6:19"},"nativeSrc":"132516:16:19","nodeType":"YulFunctionCall","src":"132516:16:19"},"nativeSrc":"132516:16:19","nodeType":"YulExpressionStatement","src":"132516:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132552:4:19","nodeType":"YulLiteral","src":"132552:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"132558:2:19","nodeType":"YulIdentifier","src":"132558:2:19"}],"functionName":{"name":"mstore","nativeSrc":"132545:6:19","nodeType":"YulIdentifier","src":"132545:6:19"},"nativeSrc":"132545:16:19","nodeType":"YulFunctionCall","src":"132545:16:19"},"nativeSrc":"132545:16:19","nodeType":"YulExpressionStatement","src":"132545:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132581:4:19","nodeType":"YulLiteral","src":"132581:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"132587:2:19","nodeType":"YulIdentifier","src":"132587:2:19"}],"functionName":{"name":"mstore","nativeSrc":"132574:6:19","nodeType":"YulIdentifier","src":"132574:6:19"},"nativeSrc":"132574:16:19","nodeType":"YulFunctionCall","src":"132574:16:19"},"nativeSrc":"132574:16:19","nodeType":"YulExpressionStatement","src":"132574:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132610:4:19","nodeType":"YulLiteral","src":"132610:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"132616:2:19","nodeType":"YulIdentifier","src":"132616:2:19"}],"functionName":{"name":"mstore","nativeSrc":"132603:6:19","nodeType":"YulIdentifier","src":"132603:6:19"},"nativeSrc":"132603:16:19","nodeType":"YulFunctionCall","src":"132603:16:19"},"nativeSrc":"132603:16:19","nodeType":"YulExpressionStatement","src":"132603:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30490,"isOffset":false,"isSlot":false,"src":"132268:2:19","valueSize":1},{"declaration":30493,"isOffset":false,"isSlot":false,"src":"132298:2:19","valueSize":1},{"declaration":30496,"isOffset":false,"isSlot":false,"src":"132328:2:19","valueSize":1},{"declaration":30499,"isOffset":false,"isSlot":false,"src":"132358:2:19","valueSize":1},{"declaration":30502,"isOffset":false,"isSlot":false,"src":"132388:2:19","valueSize":1},{"declaration":30480,"isOffset":false,"isSlot":false,"src":"132529:2:19","valueSize":1},{"declaration":30482,"isOffset":false,"isSlot":false,"src":"132558:2:19","valueSize":1},{"declaration":30484,"isOffset":false,"isSlot":false,"src":"132587:2:19","valueSize":1},{"declaration":30486,"isOffset":false,"isSlot":false,"src":"132616:2:19","valueSize":1}],"id":30504,"nodeType":"InlineAssembly","src":"132245:384:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"132654:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"132660:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30505,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"132638:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"132638:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30509,"nodeType":"ExpressionStatement","src":"132638:27:19"},{"AST":{"nativeSrc":"132727:156:19","nodeType":"YulBlock","src":"132727:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"132748:4:19","nodeType":"YulLiteral","src":"132748:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"132754:2:19","nodeType":"YulIdentifier","src":"132754:2:19"}],"functionName":{"name":"mstore","nativeSrc":"132741:6:19","nodeType":"YulIdentifier","src":"132741:6:19"},"nativeSrc":"132741:16:19","nodeType":"YulFunctionCall","src":"132741:16:19"},"nativeSrc":"132741:16:19","nodeType":"YulExpressionStatement","src":"132741:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132777:4:19","nodeType":"YulLiteral","src":"132777:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"132783:2:19","nodeType":"YulIdentifier","src":"132783:2:19"}],"functionName":{"name":"mstore","nativeSrc":"132770:6:19","nodeType":"YulIdentifier","src":"132770:6:19"},"nativeSrc":"132770:16:19","nodeType":"YulFunctionCall","src":"132770:16:19"},"nativeSrc":"132770:16:19","nodeType":"YulExpressionStatement","src":"132770:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132806:4:19","nodeType":"YulLiteral","src":"132806:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"132812:2:19","nodeType":"YulIdentifier","src":"132812:2:19"}],"functionName":{"name":"mstore","nativeSrc":"132799:6:19","nodeType":"YulIdentifier","src":"132799:6:19"},"nativeSrc":"132799:16:19","nodeType":"YulFunctionCall","src":"132799:16:19"},"nativeSrc":"132799:16:19","nodeType":"YulExpressionStatement","src":"132799:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132835:4:19","nodeType":"YulLiteral","src":"132835:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"132841:2:19","nodeType":"YulIdentifier","src":"132841:2:19"}],"functionName":{"name":"mstore","nativeSrc":"132828:6:19","nodeType":"YulIdentifier","src":"132828:6:19"},"nativeSrc":"132828:16:19","nodeType":"YulFunctionCall","src":"132828:16:19"},"nativeSrc":"132828:16:19","nodeType":"YulExpressionStatement","src":"132828:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"132864:4:19","nodeType":"YulLiteral","src":"132864:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"132870:2:19","nodeType":"YulIdentifier","src":"132870:2:19"}],"functionName":{"name":"mstore","nativeSrc":"132857:6:19","nodeType":"YulIdentifier","src":"132857:6:19"},"nativeSrc":"132857:16:19","nodeType":"YulFunctionCall","src":"132857:16:19"},"nativeSrc":"132857:16:19","nodeType":"YulExpressionStatement","src":"132857:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30490,"isOffset":false,"isSlot":false,"src":"132754:2:19","valueSize":1},{"declaration":30493,"isOffset":false,"isSlot":false,"src":"132783:2:19","valueSize":1},{"declaration":30496,"isOffset":false,"isSlot":false,"src":"132812:2:19","valueSize":1},{"declaration":30499,"isOffset":false,"isSlot":false,"src":"132841:2:19","valueSize":1},{"declaration":30502,"isOffset":false,"isSlot":false,"src":"132870:2:19","valueSize":1}],"id":30510,"nodeType":"InlineAssembly","src":"132718:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"132032:3:19","parameters":{"id":30487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30480,"mutability":"mutable","name":"p0","nameLocation":"132044:2:19","nodeType":"VariableDeclaration","scope":30512,"src":"132036:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30479,"name":"address","nodeType":"ElementaryTypeName","src":"132036:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30482,"mutability":"mutable","name":"p1","nameLocation":"132056:2:19","nodeType":"VariableDeclaration","scope":30512,"src":"132048:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30481,"name":"uint256","nodeType":"ElementaryTypeName","src":"132048:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30484,"mutability":"mutable","name":"p2","nameLocation":"132065:2:19","nodeType":"VariableDeclaration","scope":30512,"src":"132060:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30483,"name":"bool","nodeType":"ElementaryTypeName","src":"132060:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30486,"mutability":"mutable","name":"p3","nameLocation":"132074:2:19","nodeType":"VariableDeclaration","scope":30512,"src":"132069:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30485,"name":"bool","nodeType":"ElementaryTypeName","src":"132069:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"132035:42:19"},"returnParameters":{"id":30488,"nodeType":"ParameterList","parameters":[],"src":"132092:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30546,"nodeType":"FunctionDefinition","src":"132895:872:19","nodes":[],"body":{"id":30545,"nodeType":"Block","src":"132967:800:19","nodes":[],"statements":[{"assignments":[30524],"declarations":[{"constant":false,"id":30524,"mutability":"mutable","name":"m0","nameLocation":"132985:2:19","nodeType":"VariableDeclaration","scope":30545,"src":"132977:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30523,"name":"bytes32","nodeType":"ElementaryTypeName","src":"132977:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30525,"nodeType":"VariableDeclarationStatement","src":"132977:10:19"},{"assignments":[30527],"declarations":[{"constant":false,"id":30527,"mutability":"mutable","name":"m1","nameLocation":"133005:2:19","nodeType":"VariableDeclaration","scope":30545,"src":"132997:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30526,"name":"bytes32","nodeType":"ElementaryTypeName","src":"132997:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30528,"nodeType":"VariableDeclarationStatement","src":"132997:10:19"},{"assignments":[30530],"declarations":[{"constant":false,"id":30530,"mutability":"mutable","name":"m2","nameLocation":"133025:2:19","nodeType":"VariableDeclaration","scope":30545,"src":"133017:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30529,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133017:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30531,"nodeType":"VariableDeclarationStatement","src":"133017:10:19"},{"assignments":[30533],"declarations":[{"constant":false,"id":30533,"mutability":"mutable","name":"m3","nameLocation":"133045:2:19","nodeType":"VariableDeclaration","scope":30545,"src":"133037:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30532,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133037:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30534,"nodeType":"VariableDeclarationStatement","src":"133037:10:19"},{"assignments":[30536],"declarations":[{"constant":false,"id":30536,"mutability":"mutable","name":"m4","nameLocation":"133065:2:19","nodeType":"VariableDeclaration","scope":30545,"src":"133057:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30535,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133057:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30537,"nodeType":"VariableDeclarationStatement","src":"133057:10:19"},{"AST":{"nativeSrc":"133129:378:19","nodeType":"YulBlock","src":"133129:378:19","statements":[{"nativeSrc":"133143:17:19","nodeType":"YulAssignment","src":"133143:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"133155:4:19","nodeType":"YulLiteral","src":"133155:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"133149:5:19","nodeType":"YulIdentifier","src":"133149:5:19"},"nativeSrc":"133149:11:19","nodeType":"YulFunctionCall","src":"133149:11:19"},"variableNames":[{"name":"m0","nativeSrc":"133143:2:19","nodeType":"YulIdentifier","src":"133143:2:19"}]},{"nativeSrc":"133173:17:19","nodeType":"YulAssignment","src":"133173:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"133185:4:19","nodeType":"YulLiteral","src":"133185:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"133179:5:19","nodeType":"YulIdentifier","src":"133179:5:19"},"nativeSrc":"133179:11:19","nodeType":"YulFunctionCall","src":"133179:11:19"},"variableNames":[{"name":"m1","nativeSrc":"133173:2:19","nodeType":"YulIdentifier","src":"133173:2:19"}]},{"nativeSrc":"133203:17:19","nodeType":"YulAssignment","src":"133203:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"133215:4:19","nodeType":"YulLiteral","src":"133215:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"133209:5:19","nodeType":"YulIdentifier","src":"133209:5:19"},"nativeSrc":"133209:11:19","nodeType":"YulFunctionCall","src":"133209:11:19"},"variableNames":[{"name":"m2","nativeSrc":"133203:2:19","nodeType":"YulIdentifier","src":"133203:2:19"}]},{"nativeSrc":"133233:17:19","nodeType":"YulAssignment","src":"133233:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"133245:4:19","nodeType":"YulLiteral","src":"133245:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"133239:5:19","nodeType":"YulIdentifier","src":"133239:5:19"},"nativeSrc":"133239:11:19","nodeType":"YulFunctionCall","src":"133239:11:19"},"variableNames":[{"name":"m3","nativeSrc":"133233:2:19","nodeType":"YulIdentifier","src":"133233:2:19"}]},{"nativeSrc":"133263:17:19","nodeType":"YulAssignment","src":"133263:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"133275:4:19","nodeType":"YulLiteral","src":"133275:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"133269:5:19","nodeType":"YulIdentifier","src":"133269:5:19"},"nativeSrc":"133269:11:19","nodeType":"YulFunctionCall","src":"133269:11:19"},"variableNames":[{"name":"m4","nativeSrc":"133263:2:19","nodeType":"YulIdentifier","src":"133263:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133364:4:19","nodeType":"YulLiteral","src":"133364:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"133370:10:19","nodeType":"YulLiteral","src":"133370:10:19","type":"","value":"0x22f6b999"}],"functionName":{"name":"mstore","nativeSrc":"133357:6:19","nodeType":"YulIdentifier","src":"133357:6:19"},"nativeSrc":"133357:24:19","nodeType":"YulFunctionCall","src":"133357:24:19"},"nativeSrc":"133357:24:19","nodeType":"YulExpressionStatement","src":"133357:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133401:4:19","nodeType":"YulLiteral","src":"133401:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"133407:2:19","nodeType":"YulIdentifier","src":"133407:2:19"}],"functionName":{"name":"mstore","nativeSrc":"133394:6:19","nodeType":"YulIdentifier","src":"133394:6:19"},"nativeSrc":"133394:16:19","nodeType":"YulFunctionCall","src":"133394:16:19"},"nativeSrc":"133394:16:19","nodeType":"YulExpressionStatement","src":"133394:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133430:4:19","nodeType":"YulLiteral","src":"133430:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"133436:2:19","nodeType":"YulIdentifier","src":"133436:2:19"}],"functionName":{"name":"mstore","nativeSrc":"133423:6:19","nodeType":"YulIdentifier","src":"133423:6:19"},"nativeSrc":"133423:16:19","nodeType":"YulFunctionCall","src":"133423:16:19"},"nativeSrc":"133423:16:19","nodeType":"YulExpressionStatement","src":"133423:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133459:4:19","nodeType":"YulLiteral","src":"133459:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"133465:2:19","nodeType":"YulIdentifier","src":"133465:2:19"}],"functionName":{"name":"mstore","nativeSrc":"133452:6:19","nodeType":"YulIdentifier","src":"133452:6:19"},"nativeSrc":"133452:16:19","nodeType":"YulFunctionCall","src":"133452:16:19"},"nativeSrc":"133452:16:19","nodeType":"YulExpressionStatement","src":"133452:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133488:4:19","nodeType":"YulLiteral","src":"133488:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"133494:2:19","nodeType":"YulIdentifier","src":"133494:2:19"}],"functionName":{"name":"mstore","nativeSrc":"133481:6:19","nodeType":"YulIdentifier","src":"133481:6:19"},"nativeSrc":"133481:16:19","nodeType":"YulFunctionCall","src":"133481:16:19"},"nativeSrc":"133481:16:19","nodeType":"YulExpressionStatement","src":"133481:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30524,"isOffset":false,"isSlot":false,"src":"133143:2:19","valueSize":1},{"declaration":30527,"isOffset":false,"isSlot":false,"src":"133173:2:19","valueSize":1},{"declaration":30530,"isOffset":false,"isSlot":false,"src":"133203:2:19","valueSize":1},{"declaration":30533,"isOffset":false,"isSlot":false,"src":"133233:2:19","valueSize":1},{"declaration":30536,"isOffset":false,"isSlot":false,"src":"133263:2:19","valueSize":1},{"declaration":30514,"isOffset":false,"isSlot":false,"src":"133407:2:19","valueSize":1},{"declaration":30516,"isOffset":false,"isSlot":false,"src":"133436:2:19","valueSize":1},{"declaration":30518,"isOffset":false,"isSlot":false,"src":"133465:2:19","valueSize":1},{"declaration":30520,"isOffset":false,"isSlot":false,"src":"133494:2:19","valueSize":1}],"id":30538,"nodeType":"InlineAssembly","src":"133120:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"133532:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"133538:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30539,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"133516:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"133516:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30543,"nodeType":"ExpressionStatement","src":"133516:27:19"},{"AST":{"nativeSrc":"133605:156:19","nodeType":"YulBlock","src":"133605:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"133626:4:19","nodeType":"YulLiteral","src":"133626:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"133632:2:19","nodeType":"YulIdentifier","src":"133632:2:19"}],"functionName":{"name":"mstore","nativeSrc":"133619:6:19","nodeType":"YulIdentifier","src":"133619:6:19"},"nativeSrc":"133619:16:19","nodeType":"YulFunctionCall","src":"133619:16:19"},"nativeSrc":"133619:16:19","nodeType":"YulExpressionStatement","src":"133619:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133655:4:19","nodeType":"YulLiteral","src":"133655:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"133661:2:19","nodeType":"YulIdentifier","src":"133661:2:19"}],"functionName":{"name":"mstore","nativeSrc":"133648:6:19","nodeType":"YulIdentifier","src":"133648:6:19"},"nativeSrc":"133648:16:19","nodeType":"YulFunctionCall","src":"133648:16:19"},"nativeSrc":"133648:16:19","nodeType":"YulExpressionStatement","src":"133648:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133684:4:19","nodeType":"YulLiteral","src":"133684:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"133690:2:19","nodeType":"YulIdentifier","src":"133690:2:19"}],"functionName":{"name":"mstore","nativeSrc":"133677:6:19","nodeType":"YulIdentifier","src":"133677:6:19"},"nativeSrc":"133677:16:19","nodeType":"YulFunctionCall","src":"133677:16:19"},"nativeSrc":"133677:16:19","nodeType":"YulExpressionStatement","src":"133677:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133713:4:19","nodeType":"YulLiteral","src":"133713:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"133719:2:19","nodeType":"YulIdentifier","src":"133719:2:19"}],"functionName":{"name":"mstore","nativeSrc":"133706:6:19","nodeType":"YulIdentifier","src":"133706:6:19"},"nativeSrc":"133706:16:19","nodeType":"YulFunctionCall","src":"133706:16:19"},"nativeSrc":"133706:16:19","nodeType":"YulExpressionStatement","src":"133706:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"133742:4:19","nodeType":"YulLiteral","src":"133742:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"133748:2:19","nodeType":"YulIdentifier","src":"133748:2:19"}],"functionName":{"name":"mstore","nativeSrc":"133735:6:19","nodeType":"YulIdentifier","src":"133735:6:19"},"nativeSrc":"133735:16:19","nodeType":"YulFunctionCall","src":"133735:16:19"},"nativeSrc":"133735:16:19","nodeType":"YulExpressionStatement","src":"133735:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30524,"isOffset":false,"isSlot":false,"src":"133632:2:19","valueSize":1},{"declaration":30527,"isOffset":false,"isSlot":false,"src":"133661:2:19","valueSize":1},{"declaration":30530,"isOffset":false,"isSlot":false,"src":"133690:2:19","valueSize":1},{"declaration":30533,"isOffset":false,"isSlot":false,"src":"133719:2:19","valueSize":1},{"declaration":30536,"isOffset":false,"isSlot":false,"src":"133748:2:19","valueSize":1}],"id":30544,"nodeType":"InlineAssembly","src":"133596:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"132904:3:19","parameters":{"id":30521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30514,"mutability":"mutable","name":"p0","nameLocation":"132916:2:19","nodeType":"VariableDeclaration","scope":30546,"src":"132908:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30513,"name":"address","nodeType":"ElementaryTypeName","src":"132908:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30516,"mutability":"mutable","name":"p1","nameLocation":"132928:2:19","nodeType":"VariableDeclaration","scope":30546,"src":"132920:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30515,"name":"uint256","nodeType":"ElementaryTypeName","src":"132920:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30518,"mutability":"mutable","name":"p2","nameLocation":"132937:2:19","nodeType":"VariableDeclaration","scope":30546,"src":"132932:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30517,"name":"bool","nodeType":"ElementaryTypeName","src":"132932:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30520,"mutability":"mutable","name":"p3","nameLocation":"132949:2:19","nodeType":"VariableDeclaration","scope":30546,"src":"132941:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30519,"name":"uint256","nodeType":"ElementaryTypeName","src":"132941:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"132907:45:19"},"returnParameters":{"id":30522,"nodeType":"ParameterList","parameters":[],"src":"132967:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30586,"nodeType":"FunctionDefinition","src":"133773:1420:19","nodes":[],"body":{"id":30585,"nodeType":"Block","src":"133845:1348:19","nodes":[],"statements":[{"assignments":[30558],"declarations":[{"constant":false,"id":30558,"mutability":"mutable","name":"m0","nameLocation":"133863:2:19","nodeType":"VariableDeclaration","scope":30585,"src":"133855:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30557,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133855:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30559,"nodeType":"VariableDeclarationStatement","src":"133855:10:19"},{"assignments":[30561],"declarations":[{"constant":false,"id":30561,"mutability":"mutable","name":"m1","nameLocation":"133883:2:19","nodeType":"VariableDeclaration","scope":30585,"src":"133875:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30560,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133875:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30562,"nodeType":"VariableDeclarationStatement","src":"133875:10:19"},{"assignments":[30564],"declarations":[{"constant":false,"id":30564,"mutability":"mutable","name":"m2","nameLocation":"133903:2:19","nodeType":"VariableDeclaration","scope":30585,"src":"133895:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30563,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133895:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30565,"nodeType":"VariableDeclarationStatement","src":"133895:10:19"},{"assignments":[30567],"declarations":[{"constant":false,"id":30567,"mutability":"mutable","name":"m3","nameLocation":"133923:2:19","nodeType":"VariableDeclaration","scope":30585,"src":"133915:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30566,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133915:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30568,"nodeType":"VariableDeclarationStatement","src":"133915:10:19"},{"assignments":[30570],"declarations":[{"constant":false,"id":30570,"mutability":"mutable","name":"m4","nameLocation":"133943:2:19","nodeType":"VariableDeclaration","scope":30585,"src":"133935:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30569,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133935:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30571,"nodeType":"VariableDeclarationStatement","src":"133935:10:19"},{"assignments":[30573],"declarations":[{"constant":false,"id":30573,"mutability":"mutable","name":"m5","nameLocation":"133963:2:19","nodeType":"VariableDeclaration","scope":30585,"src":"133955:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30572,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133955:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30574,"nodeType":"VariableDeclarationStatement","src":"133955:10:19"},{"assignments":[30576],"declarations":[{"constant":false,"id":30576,"mutability":"mutable","name":"m6","nameLocation":"133983:2:19","nodeType":"VariableDeclaration","scope":30585,"src":"133975:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30575,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133975:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30577,"nodeType":"VariableDeclarationStatement","src":"133975:10:19"},{"AST":{"nativeSrc":"134047:828:19","nodeType":"YulBlock","src":"134047:828:19","statements":[{"body":{"nativeSrc":"134090:313:19","nodeType":"YulBlock","src":"134090:313:19","statements":[{"nativeSrc":"134108:15:19","nodeType":"YulVariableDeclaration","src":"134108:15:19","value":{"kind":"number","nativeSrc":"134122:1:19","nodeType":"YulLiteral","src":"134122:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"134112:6:19","nodeType":"YulTypedName","src":"134112:6:19","type":""}]},{"body":{"nativeSrc":"134193:40:19","nodeType":"YulBlock","src":"134193:40:19","statements":[{"body":{"nativeSrc":"134222:9:19","nodeType":"YulBlock","src":"134222:9:19","statements":[{"nativeSrc":"134224:5:19","nodeType":"YulBreak","src":"134224:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"134210:6:19","nodeType":"YulIdentifier","src":"134210:6:19"},{"name":"w","nativeSrc":"134218:1:19","nodeType":"YulIdentifier","src":"134218:1:19"}],"functionName":{"name":"byte","nativeSrc":"134205:4:19","nodeType":"YulIdentifier","src":"134205:4:19"},"nativeSrc":"134205:15:19","nodeType":"YulFunctionCall","src":"134205:15:19"}],"functionName":{"name":"iszero","nativeSrc":"134198:6:19","nodeType":"YulIdentifier","src":"134198:6:19"},"nativeSrc":"134198:23:19","nodeType":"YulFunctionCall","src":"134198:23:19"},"nativeSrc":"134195:36:19","nodeType":"YulIf","src":"134195:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"134150:6:19","nodeType":"YulIdentifier","src":"134150:6:19"},{"kind":"number","nativeSrc":"134158:4:19","nodeType":"YulLiteral","src":"134158:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"134147:2:19","nodeType":"YulIdentifier","src":"134147:2:19"},"nativeSrc":"134147:16:19","nodeType":"YulFunctionCall","src":"134147:16:19"},"nativeSrc":"134140:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"134164:28:19","nodeType":"YulBlock","src":"134164:28:19","statements":[{"nativeSrc":"134166:24:19","nodeType":"YulAssignment","src":"134166:24:19","value":{"arguments":[{"name":"length","nativeSrc":"134180:6:19","nodeType":"YulIdentifier","src":"134180:6:19"},{"kind":"number","nativeSrc":"134188:1:19","nodeType":"YulLiteral","src":"134188:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"134176:3:19","nodeType":"YulIdentifier","src":"134176:3:19"},"nativeSrc":"134176:14:19","nodeType":"YulFunctionCall","src":"134176:14:19"},"variableNames":[{"name":"length","nativeSrc":"134166:6:19","nodeType":"YulIdentifier","src":"134166:6:19"}]}]},"pre":{"nativeSrc":"134144:2:19","nodeType":"YulBlock","src":"134144:2:19","statements":[]},"src":"134140:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"134257:3:19","nodeType":"YulIdentifier","src":"134257:3:19"},{"name":"length","nativeSrc":"134262:6:19","nodeType":"YulIdentifier","src":"134262:6:19"}],"functionName":{"name":"mstore","nativeSrc":"134250:6:19","nodeType":"YulIdentifier","src":"134250:6:19"},"nativeSrc":"134250:19:19","nodeType":"YulFunctionCall","src":"134250:19:19"},"nativeSrc":"134250:19:19","nodeType":"YulExpressionStatement","src":"134250:19:19"},{"nativeSrc":"134286:37:19","nodeType":"YulVariableDeclaration","src":"134286:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"134303:3:19","nodeType":"YulLiteral","src":"134303:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"134312:1:19","nodeType":"YulLiteral","src":"134312:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"134315:6:19","nodeType":"YulIdentifier","src":"134315:6:19"}],"functionName":{"name":"shl","nativeSrc":"134308:3:19","nodeType":"YulIdentifier","src":"134308:3:19"},"nativeSrc":"134308:14:19","nodeType":"YulFunctionCall","src":"134308:14:19"}],"functionName":{"name":"sub","nativeSrc":"134299:3:19","nodeType":"YulIdentifier","src":"134299:3:19"},"nativeSrc":"134299:24:19","nodeType":"YulFunctionCall","src":"134299:24:19"},"variables":[{"name":"shift","nativeSrc":"134290:5:19","nodeType":"YulTypedName","src":"134290:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"134351:3:19","nodeType":"YulIdentifier","src":"134351:3:19"},{"kind":"number","nativeSrc":"134356:4:19","nodeType":"YulLiteral","src":"134356:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"134347:3:19","nodeType":"YulIdentifier","src":"134347:3:19"},"nativeSrc":"134347:14:19","nodeType":"YulFunctionCall","src":"134347:14:19"},{"arguments":[{"name":"shift","nativeSrc":"134367:5:19","nodeType":"YulIdentifier","src":"134367:5:19"},{"arguments":[{"name":"shift","nativeSrc":"134378:5:19","nodeType":"YulIdentifier","src":"134378:5:19"},{"name":"w","nativeSrc":"134385:1:19","nodeType":"YulIdentifier","src":"134385:1:19"}],"functionName":{"name":"shr","nativeSrc":"134374:3:19","nodeType":"YulIdentifier","src":"134374:3:19"},"nativeSrc":"134374:13:19","nodeType":"YulFunctionCall","src":"134374:13:19"}],"functionName":{"name":"shl","nativeSrc":"134363:3:19","nodeType":"YulIdentifier","src":"134363:3:19"},"nativeSrc":"134363:25:19","nodeType":"YulFunctionCall","src":"134363:25:19"}],"functionName":{"name":"mstore","nativeSrc":"134340:6:19","nodeType":"YulIdentifier","src":"134340:6:19"},"nativeSrc":"134340:49:19","nodeType":"YulFunctionCall","src":"134340:49:19"},"nativeSrc":"134340:49:19","nodeType":"YulExpressionStatement","src":"134340:49:19"}]},"name":"writeString","nativeSrc":"134061:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"134082:3:19","nodeType":"YulTypedName","src":"134082:3:19","type":""},{"name":"w","nativeSrc":"134087:1:19","nodeType":"YulTypedName","src":"134087:1:19","type":""}],"src":"134061:342:19"},{"nativeSrc":"134416:17:19","nodeType":"YulAssignment","src":"134416:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"134428:4:19","nodeType":"YulLiteral","src":"134428:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"134422:5:19","nodeType":"YulIdentifier","src":"134422:5:19"},"nativeSrc":"134422:11:19","nodeType":"YulFunctionCall","src":"134422:11:19"},"variableNames":[{"name":"m0","nativeSrc":"134416:2:19","nodeType":"YulIdentifier","src":"134416:2:19"}]},{"nativeSrc":"134446:17:19","nodeType":"YulAssignment","src":"134446:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"134458:4:19","nodeType":"YulLiteral","src":"134458:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"134452:5:19","nodeType":"YulIdentifier","src":"134452:5:19"},"nativeSrc":"134452:11:19","nodeType":"YulFunctionCall","src":"134452:11:19"},"variableNames":[{"name":"m1","nativeSrc":"134446:2:19","nodeType":"YulIdentifier","src":"134446:2:19"}]},{"nativeSrc":"134476:17:19","nodeType":"YulAssignment","src":"134476:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"134488:4:19","nodeType":"YulLiteral","src":"134488:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"134482:5:19","nodeType":"YulIdentifier","src":"134482:5:19"},"nativeSrc":"134482:11:19","nodeType":"YulFunctionCall","src":"134482:11:19"},"variableNames":[{"name":"m2","nativeSrc":"134476:2:19","nodeType":"YulIdentifier","src":"134476:2:19"}]},{"nativeSrc":"134506:17:19","nodeType":"YulAssignment","src":"134506:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"134518:4:19","nodeType":"YulLiteral","src":"134518:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"134512:5:19","nodeType":"YulIdentifier","src":"134512:5:19"},"nativeSrc":"134512:11:19","nodeType":"YulFunctionCall","src":"134512:11:19"},"variableNames":[{"name":"m3","nativeSrc":"134506:2:19","nodeType":"YulIdentifier","src":"134506:2:19"}]},{"nativeSrc":"134536:17:19","nodeType":"YulAssignment","src":"134536:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"134548:4:19","nodeType":"YulLiteral","src":"134548:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"134542:5:19","nodeType":"YulIdentifier","src":"134542:5:19"},"nativeSrc":"134542:11:19","nodeType":"YulFunctionCall","src":"134542:11:19"},"variableNames":[{"name":"m4","nativeSrc":"134536:2:19","nodeType":"YulIdentifier","src":"134536:2:19"}]},{"nativeSrc":"134566:17:19","nodeType":"YulAssignment","src":"134566:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"134578:4:19","nodeType":"YulLiteral","src":"134578:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"134572:5:19","nodeType":"YulIdentifier","src":"134572:5:19"},"nativeSrc":"134572:11:19","nodeType":"YulFunctionCall","src":"134572:11:19"},"variableNames":[{"name":"m5","nativeSrc":"134566:2:19","nodeType":"YulIdentifier","src":"134566:2:19"}]},{"nativeSrc":"134596:17:19","nodeType":"YulAssignment","src":"134596:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"134608:4:19","nodeType":"YulLiteral","src":"134608:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"134602:5:19","nodeType":"YulIdentifier","src":"134602:5:19"},"nativeSrc":"134602:11:19","nodeType":"YulFunctionCall","src":"134602:11:19"},"variableNames":[{"name":"m6","nativeSrc":"134596:2:19","nodeType":"YulIdentifier","src":"134596:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"134696:4:19","nodeType":"YulLiteral","src":"134696:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"134702:10:19","nodeType":"YulLiteral","src":"134702:10:19","type":"","value":"0xc5ad85f9"}],"functionName":{"name":"mstore","nativeSrc":"134689:6:19","nodeType":"YulIdentifier","src":"134689:6:19"},"nativeSrc":"134689:24:19","nodeType":"YulFunctionCall","src":"134689:24:19"},"nativeSrc":"134689:24:19","nodeType":"YulExpressionStatement","src":"134689:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"134733:4:19","nodeType":"YulLiteral","src":"134733:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"134739:2:19","nodeType":"YulIdentifier","src":"134739:2:19"}],"functionName":{"name":"mstore","nativeSrc":"134726:6:19","nodeType":"YulIdentifier","src":"134726:6:19"},"nativeSrc":"134726:16:19","nodeType":"YulFunctionCall","src":"134726:16:19"},"nativeSrc":"134726:16:19","nodeType":"YulExpressionStatement","src":"134726:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"134762:4:19","nodeType":"YulLiteral","src":"134762:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"134768:2:19","nodeType":"YulIdentifier","src":"134768:2:19"}],"functionName":{"name":"mstore","nativeSrc":"134755:6:19","nodeType":"YulIdentifier","src":"134755:6:19"},"nativeSrc":"134755:16:19","nodeType":"YulFunctionCall","src":"134755:16:19"},"nativeSrc":"134755:16:19","nodeType":"YulExpressionStatement","src":"134755:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"134791:4:19","nodeType":"YulLiteral","src":"134791:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"134797:2:19","nodeType":"YulIdentifier","src":"134797:2:19"}],"functionName":{"name":"mstore","nativeSrc":"134784:6:19","nodeType":"YulIdentifier","src":"134784:6:19"},"nativeSrc":"134784:16:19","nodeType":"YulFunctionCall","src":"134784:16:19"},"nativeSrc":"134784:16:19","nodeType":"YulExpressionStatement","src":"134784:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"134820:4:19","nodeType":"YulLiteral","src":"134820:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"134826:4:19","nodeType":"YulLiteral","src":"134826:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"134813:6:19","nodeType":"YulIdentifier","src":"134813:6:19"},"nativeSrc":"134813:18:19","nodeType":"YulFunctionCall","src":"134813:18:19"},"nativeSrc":"134813:18:19","nodeType":"YulExpressionStatement","src":"134813:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"134856:4:19","nodeType":"YulLiteral","src":"134856:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"134862:2:19","nodeType":"YulIdentifier","src":"134862:2:19"}],"functionName":{"name":"writeString","nativeSrc":"134844:11:19","nodeType":"YulIdentifier","src":"134844:11:19"},"nativeSrc":"134844:21:19","nodeType":"YulFunctionCall","src":"134844:21:19"},"nativeSrc":"134844:21:19","nodeType":"YulExpressionStatement","src":"134844:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30558,"isOffset":false,"isSlot":false,"src":"134416:2:19","valueSize":1},{"declaration":30561,"isOffset":false,"isSlot":false,"src":"134446:2:19","valueSize":1},{"declaration":30564,"isOffset":false,"isSlot":false,"src":"134476:2:19","valueSize":1},{"declaration":30567,"isOffset":false,"isSlot":false,"src":"134506:2:19","valueSize":1},{"declaration":30570,"isOffset":false,"isSlot":false,"src":"134536:2:19","valueSize":1},{"declaration":30573,"isOffset":false,"isSlot":false,"src":"134566:2:19","valueSize":1},{"declaration":30576,"isOffset":false,"isSlot":false,"src":"134596:2:19","valueSize":1},{"declaration":30548,"isOffset":false,"isSlot":false,"src":"134739:2:19","valueSize":1},{"declaration":30550,"isOffset":false,"isSlot":false,"src":"134768:2:19","valueSize":1},{"declaration":30552,"isOffset":false,"isSlot":false,"src":"134797:2:19","valueSize":1},{"declaration":30554,"isOffset":false,"isSlot":false,"src":"134862:2:19","valueSize":1}],"id":30578,"nodeType":"InlineAssembly","src":"134038:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"134900:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":30581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"134906:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":30579,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"134884:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"134884:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30583,"nodeType":"ExpressionStatement","src":"134884:27:19"},{"AST":{"nativeSrc":"134973:214:19","nodeType":"YulBlock","src":"134973:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"134994:4:19","nodeType":"YulLiteral","src":"134994:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"135000:2:19","nodeType":"YulIdentifier","src":"135000:2:19"}],"functionName":{"name":"mstore","nativeSrc":"134987:6:19","nodeType":"YulIdentifier","src":"134987:6:19"},"nativeSrc":"134987:16:19","nodeType":"YulFunctionCall","src":"134987:16:19"},"nativeSrc":"134987:16:19","nodeType":"YulExpressionStatement","src":"134987:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135023:4:19","nodeType":"YulLiteral","src":"135023:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"135029:2:19","nodeType":"YulIdentifier","src":"135029:2:19"}],"functionName":{"name":"mstore","nativeSrc":"135016:6:19","nodeType":"YulIdentifier","src":"135016:6:19"},"nativeSrc":"135016:16:19","nodeType":"YulFunctionCall","src":"135016:16:19"},"nativeSrc":"135016:16:19","nodeType":"YulExpressionStatement","src":"135016:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135052:4:19","nodeType":"YulLiteral","src":"135052:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"135058:2:19","nodeType":"YulIdentifier","src":"135058:2:19"}],"functionName":{"name":"mstore","nativeSrc":"135045:6:19","nodeType":"YulIdentifier","src":"135045:6:19"},"nativeSrc":"135045:16:19","nodeType":"YulFunctionCall","src":"135045:16:19"},"nativeSrc":"135045:16:19","nodeType":"YulExpressionStatement","src":"135045:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135081:4:19","nodeType":"YulLiteral","src":"135081:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"135087:2:19","nodeType":"YulIdentifier","src":"135087:2:19"}],"functionName":{"name":"mstore","nativeSrc":"135074:6:19","nodeType":"YulIdentifier","src":"135074:6:19"},"nativeSrc":"135074:16:19","nodeType":"YulFunctionCall","src":"135074:16:19"},"nativeSrc":"135074:16:19","nodeType":"YulExpressionStatement","src":"135074:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135110:4:19","nodeType":"YulLiteral","src":"135110:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"135116:2:19","nodeType":"YulIdentifier","src":"135116:2:19"}],"functionName":{"name":"mstore","nativeSrc":"135103:6:19","nodeType":"YulIdentifier","src":"135103:6:19"},"nativeSrc":"135103:16:19","nodeType":"YulFunctionCall","src":"135103:16:19"},"nativeSrc":"135103:16:19","nodeType":"YulExpressionStatement","src":"135103:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135139:4:19","nodeType":"YulLiteral","src":"135139:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"135145:2:19","nodeType":"YulIdentifier","src":"135145:2:19"}],"functionName":{"name":"mstore","nativeSrc":"135132:6:19","nodeType":"YulIdentifier","src":"135132:6:19"},"nativeSrc":"135132:16:19","nodeType":"YulFunctionCall","src":"135132:16:19"},"nativeSrc":"135132:16:19","nodeType":"YulExpressionStatement","src":"135132:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135168:4:19","nodeType":"YulLiteral","src":"135168:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"135174:2:19","nodeType":"YulIdentifier","src":"135174:2:19"}],"functionName":{"name":"mstore","nativeSrc":"135161:6:19","nodeType":"YulIdentifier","src":"135161:6:19"},"nativeSrc":"135161:16:19","nodeType":"YulFunctionCall","src":"135161:16:19"},"nativeSrc":"135161:16:19","nodeType":"YulExpressionStatement","src":"135161:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30558,"isOffset":false,"isSlot":false,"src":"135000:2:19","valueSize":1},{"declaration":30561,"isOffset":false,"isSlot":false,"src":"135029:2:19","valueSize":1},{"declaration":30564,"isOffset":false,"isSlot":false,"src":"135058:2:19","valueSize":1},{"declaration":30567,"isOffset":false,"isSlot":false,"src":"135087:2:19","valueSize":1},{"declaration":30570,"isOffset":false,"isSlot":false,"src":"135116:2:19","valueSize":1},{"declaration":30573,"isOffset":false,"isSlot":false,"src":"135145:2:19","valueSize":1},{"declaration":30576,"isOffset":false,"isSlot":false,"src":"135174:2:19","valueSize":1}],"id":30584,"nodeType":"InlineAssembly","src":"134964:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"133782:3:19","parameters":{"id":30555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30548,"mutability":"mutable","name":"p0","nameLocation":"133794:2:19","nodeType":"VariableDeclaration","scope":30586,"src":"133786:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30547,"name":"address","nodeType":"ElementaryTypeName","src":"133786:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30550,"mutability":"mutable","name":"p1","nameLocation":"133806:2:19","nodeType":"VariableDeclaration","scope":30586,"src":"133798:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30549,"name":"uint256","nodeType":"ElementaryTypeName","src":"133798:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30552,"mutability":"mutable","name":"p2","nameLocation":"133815:2:19","nodeType":"VariableDeclaration","scope":30586,"src":"133810:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30551,"name":"bool","nodeType":"ElementaryTypeName","src":"133810:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":30554,"mutability":"mutable","name":"p3","nameLocation":"133827:2:19","nodeType":"VariableDeclaration","scope":30586,"src":"133819:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30553,"name":"bytes32","nodeType":"ElementaryTypeName","src":"133819:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"133785:45:19"},"returnParameters":{"id":30556,"nodeType":"ParameterList","parameters":[],"src":"133845:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30620,"nodeType":"FunctionDefinition","src":"135199:878:19","nodes":[],"body":{"id":30619,"nodeType":"Block","src":"135274:803:19","nodes":[],"statements":[{"assignments":[30598],"declarations":[{"constant":false,"id":30598,"mutability":"mutable","name":"m0","nameLocation":"135292:2:19","nodeType":"VariableDeclaration","scope":30619,"src":"135284:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30597,"name":"bytes32","nodeType":"ElementaryTypeName","src":"135284:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30599,"nodeType":"VariableDeclarationStatement","src":"135284:10:19"},{"assignments":[30601],"declarations":[{"constant":false,"id":30601,"mutability":"mutable","name":"m1","nameLocation":"135312:2:19","nodeType":"VariableDeclaration","scope":30619,"src":"135304:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30600,"name":"bytes32","nodeType":"ElementaryTypeName","src":"135304:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30602,"nodeType":"VariableDeclarationStatement","src":"135304:10:19"},{"assignments":[30604],"declarations":[{"constant":false,"id":30604,"mutability":"mutable","name":"m2","nameLocation":"135332:2:19","nodeType":"VariableDeclaration","scope":30619,"src":"135324:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30603,"name":"bytes32","nodeType":"ElementaryTypeName","src":"135324:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30605,"nodeType":"VariableDeclarationStatement","src":"135324:10:19"},{"assignments":[30607],"declarations":[{"constant":false,"id":30607,"mutability":"mutable","name":"m3","nameLocation":"135352:2:19","nodeType":"VariableDeclaration","scope":30619,"src":"135344:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30606,"name":"bytes32","nodeType":"ElementaryTypeName","src":"135344:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30608,"nodeType":"VariableDeclarationStatement","src":"135344:10:19"},{"assignments":[30610],"declarations":[{"constant":false,"id":30610,"mutability":"mutable","name":"m4","nameLocation":"135372:2:19","nodeType":"VariableDeclaration","scope":30619,"src":"135364:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30609,"name":"bytes32","nodeType":"ElementaryTypeName","src":"135364:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30611,"nodeType":"VariableDeclarationStatement","src":"135364:10:19"},{"AST":{"nativeSrc":"135436:381:19","nodeType":"YulBlock","src":"135436:381:19","statements":[{"nativeSrc":"135450:17:19","nodeType":"YulAssignment","src":"135450:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"135462:4:19","nodeType":"YulLiteral","src":"135462:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"135456:5:19","nodeType":"YulIdentifier","src":"135456:5:19"},"nativeSrc":"135456:11:19","nodeType":"YulFunctionCall","src":"135456:11:19"},"variableNames":[{"name":"m0","nativeSrc":"135450:2:19","nodeType":"YulIdentifier","src":"135450:2:19"}]},{"nativeSrc":"135480:17:19","nodeType":"YulAssignment","src":"135480:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"135492:4:19","nodeType":"YulLiteral","src":"135492:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"135486:5:19","nodeType":"YulIdentifier","src":"135486:5:19"},"nativeSrc":"135486:11:19","nodeType":"YulFunctionCall","src":"135486:11:19"},"variableNames":[{"name":"m1","nativeSrc":"135480:2:19","nodeType":"YulIdentifier","src":"135480:2:19"}]},{"nativeSrc":"135510:17:19","nodeType":"YulAssignment","src":"135510:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"135522:4:19","nodeType":"YulLiteral","src":"135522:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"135516:5:19","nodeType":"YulIdentifier","src":"135516:5:19"},"nativeSrc":"135516:11:19","nodeType":"YulFunctionCall","src":"135516:11:19"},"variableNames":[{"name":"m2","nativeSrc":"135510:2:19","nodeType":"YulIdentifier","src":"135510:2:19"}]},{"nativeSrc":"135540:17:19","nodeType":"YulAssignment","src":"135540:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"135552:4:19","nodeType":"YulLiteral","src":"135552:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"135546:5:19","nodeType":"YulIdentifier","src":"135546:5:19"},"nativeSrc":"135546:11:19","nodeType":"YulFunctionCall","src":"135546:11:19"},"variableNames":[{"name":"m3","nativeSrc":"135540:2:19","nodeType":"YulIdentifier","src":"135540:2:19"}]},{"nativeSrc":"135570:17:19","nodeType":"YulAssignment","src":"135570:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"135582:4:19","nodeType":"YulLiteral","src":"135582:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"135576:5:19","nodeType":"YulIdentifier","src":"135576:5:19"},"nativeSrc":"135576:11:19","nodeType":"YulFunctionCall","src":"135576:11:19"},"variableNames":[{"name":"m4","nativeSrc":"135570:2:19","nodeType":"YulIdentifier","src":"135570:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135674:4:19","nodeType":"YulLiteral","src":"135674:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"135680:10:19","nodeType":"YulLiteral","src":"135680:10:19","type":"","value":"0x20e3984d"}],"functionName":{"name":"mstore","nativeSrc":"135667:6:19","nodeType":"YulIdentifier","src":"135667:6:19"},"nativeSrc":"135667:24:19","nodeType":"YulFunctionCall","src":"135667:24:19"},"nativeSrc":"135667:24:19","nodeType":"YulExpressionStatement","src":"135667:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135711:4:19","nodeType":"YulLiteral","src":"135711:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"135717:2:19","nodeType":"YulIdentifier","src":"135717:2:19"}],"functionName":{"name":"mstore","nativeSrc":"135704:6:19","nodeType":"YulIdentifier","src":"135704:6:19"},"nativeSrc":"135704:16:19","nodeType":"YulFunctionCall","src":"135704:16:19"},"nativeSrc":"135704:16:19","nodeType":"YulExpressionStatement","src":"135704:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135740:4:19","nodeType":"YulLiteral","src":"135740:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"135746:2:19","nodeType":"YulIdentifier","src":"135746:2:19"}],"functionName":{"name":"mstore","nativeSrc":"135733:6:19","nodeType":"YulIdentifier","src":"135733:6:19"},"nativeSrc":"135733:16:19","nodeType":"YulFunctionCall","src":"135733:16:19"},"nativeSrc":"135733:16:19","nodeType":"YulExpressionStatement","src":"135733:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135769:4:19","nodeType":"YulLiteral","src":"135769:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"135775:2:19","nodeType":"YulIdentifier","src":"135775:2:19"}],"functionName":{"name":"mstore","nativeSrc":"135762:6:19","nodeType":"YulIdentifier","src":"135762:6:19"},"nativeSrc":"135762:16:19","nodeType":"YulFunctionCall","src":"135762:16:19"},"nativeSrc":"135762:16:19","nodeType":"YulExpressionStatement","src":"135762:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135798:4:19","nodeType":"YulLiteral","src":"135798:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"135804:2:19","nodeType":"YulIdentifier","src":"135804:2:19"}],"functionName":{"name":"mstore","nativeSrc":"135791:6:19","nodeType":"YulIdentifier","src":"135791:6:19"},"nativeSrc":"135791:16:19","nodeType":"YulFunctionCall","src":"135791:16:19"},"nativeSrc":"135791:16:19","nodeType":"YulExpressionStatement","src":"135791:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30598,"isOffset":false,"isSlot":false,"src":"135450:2:19","valueSize":1},{"declaration":30601,"isOffset":false,"isSlot":false,"src":"135480:2:19","valueSize":1},{"declaration":30604,"isOffset":false,"isSlot":false,"src":"135510:2:19","valueSize":1},{"declaration":30607,"isOffset":false,"isSlot":false,"src":"135540:2:19","valueSize":1},{"declaration":30610,"isOffset":false,"isSlot":false,"src":"135570:2:19","valueSize":1},{"declaration":30588,"isOffset":false,"isSlot":false,"src":"135717:2:19","valueSize":1},{"declaration":30590,"isOffset":false,"isSlot":false,"src":"135746:2:19","valueSize":1},{"declaration":30592,"isOffset":false,"isSlot":false,"src":"135775:2:19","valueSize":1},{"declaration":30594,"isOffset":false,"isSlot":false,"src":"135804:2:19","valueSize":1}],"id":30612,"nodeType":"InlineAssembly","src":"135427:390:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"135842:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"135848:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30613,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"135826:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"135826:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30617,"nodeType":"ExpressionStatement","src":"135826:27:19"},{"AST":{"nativeSrc":"135915:156:19","nodeType":"YulBlock","src":"135915:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"135936:4:19","nodeType":"YulLiteral","src":"135936:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"135942:2:19","nodeType":"YulIdentifier","src":"135942:2:19"}],"functionName":{"name":"mstore","nativeSrc":"135929:6:19","nodeType":"YulIdentifier","src":"135929:6:19"},"nativeSrc":"135929:16:19","nodeType":"YulFunctionCall","src":"135929:16:19"},"nativeSrc":"135929:16:19","nodeType":"YulExpressionStatement","src":"135929:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135965:4:19","nodeType":"YulLiteral","src":"135965:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"135971:2:19","nodeType":"YulIdentifier","src":"135971:2:19"}],"functionName":{"name":"mstore","nativeSrc":"135958:6:19","nodeType":"YulIdentifier","src":"135958:6:19"},"nativeSrc":"135958:16:19","nodeType":"YulFunctionCall","src":"135958:16:19"},"nativeSrc":"135958:16:19","nodeType":"YulExpressionStatement","src":"135958:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"135994:4:19","nodeType":"YulLiteral","src":"135994:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"136000:2:19","nodeType":"YulIdentifier","src":"136000:2:19"}],"functionName":{"name":"mstore","nativeSrc":"135987:6:19","nodeType":"YulIdentifier","src":"135987:6:19"},"nativeSrc":"135987:16:19","nodeType":"YulFunctionCall","src":"135987:16:19"},"nativeSrc":"135987:16:19","nodeType":"YulExpressionStatement","src":"135987:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136023:4:19","nodeType":"YulLiteral","src":"136023:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"136029:2:19","nodeType":"YulIdentifier","src":"136029:2:19"}],"functionName":{"name":"mstore","nativeSrc":"136016:6:19","nodeType":"YulIdentifier","src":"136016:6:19"},"nativeSrc":"136016:16:19","nodeType":"YulFunctionCall","src":"136016:16:19"},"nativeSrc":"136016:16:19","nodeType":"YulExpressionStatement","src":"136016:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136052:4:19","nodeType":"YulLiteral","src":"136052:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"136058:2:19","nodeType":"YulIdentifier","src":"136058:2:19"}],"functionName":{"name":"mstore","nativeSrc":"136045:6:19","nodeType":"YulIdentifier","src":"136045:6:19"},"nativeSrc":"136045:16:19","nodeType":"YulFunctionCall","src":"136045:16:19"},"nativeSrc":"136045:16:19","nodeType":"YulExpressionStatement","src":"136045:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30598,"isOffset":false,"isSlot":false,"src":"135942:2:19","valueSize":1},{"declaration":30601,"isOffset":false,"isSlot":false,"src":"135971:2:19","valueSize":1},{"declaration":30604,"isOffset":false,"isSlot":false,"src":"136000:2:19","valueSize":1},{"declaration":30607,"isOffset":false,"isSlot":false,"src":"136029:2:19","valueSize":1},{"declaration":30610,"isOffset":false,"isSlot":false,"src":"136058:2:19","valueSize":1}],"id":30618,"nodeType":"InlineAssembly","src":"135906:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"135208:3:19","parameters":{"id":30595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30588,"mutability":"mutable","name":"p0","nameLocation":"135220:2:19","nodeType":"VariableDeclaration","scope":30620,"src":"135212:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30587,"name":"address","nodeType":"ElementaryTypeName","src":"135212:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30590,"mutability":"mutable","name":"p1","nameLocation":"135232:2:19","nodeType":"VariableDeclaration","scope":30620,"src":"135224:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30589,"name":"uint256","nodeType":"ElementaryTypeName","src":"135224:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30592,"mutability":"mutable","name":"p2","nameLocation":"135244:2:19","nodeType":"VariableDeclaration","scope":30620,"src":"135236:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30591,"name":"uint256","nodeType":"ElementaryTypeName","src":"135236:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30594,"mutability":"mutable","name":"p3","nameLocation":"135256:2:19","nodeType":"VariableDeclaration","scope":30620,"src":"135248:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30593,"name":"address","nodeType":"ElementaryTypeName","src":"135248:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"135211:48:19"},"returnParameters":{"id":30596,"nodeType":"ParameterList","parameters":[],"src":"135274:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30654,"nodeType":"FunctionDefinition","src":"136083:872:19","nodes":[],"body":{"id":30653,"nodeType":"Block","src":"136155:800:19","nodes":[],"statements":[{"assignments":[30632],"declarations":[{"constant":false,"id":30632,"mutability":"mutable","name":"m0","nameLocation":"136173:2:19","nodeType":"VariableDeclaration","scope":30653,"src":"136165:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30631,"name":"bytes32","nodeType":"ElementaryTypeName","src":"136165:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30633,"nodeType":"VariableDeclarationStatement","src":"136165:10:19"},{"assignments":[30635],"declarations":[{"constant":false,"id":30635,"mutability":"mutable","name":"m1","nameLocation":"136193:2:19","nodeType":"VariableDeclaration","scope":30653,"src":"136185:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30634,"name":"bytes32","nodeType":"ElementaryTypeName","src":"136185:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30636,"nodeType":"VariableDeclarationStatement","src":"136185:10:19"},{"assignments":[30638],"declarations":[{"constant":false,"id":30638,"mutability":"mutable","name":"m2","nameLocation":"136213:2:19","nodeType":"VariableDeclaration","scope":30653,"src":"136205:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30637,"name":"bytes32","nodeType":"ElementaryTypeName","src":"136205:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30639,"nodeType":"VariableDeclarationStatement","src":"136205:10:19"},{"assignments":[30641],"declarations":[{"constant":false,"id":30641,"mutability":"mutable","name":"m3","nameLocation":"136233:2:19","nodeType":"VariableDeclaration","scope":30653,"src":"136225:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30640,"name":"bytes32","nodeType":"ElementaryTypeName","src":"136225:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30642,"nodeType":"VariableDeclarationStatement","src":"136225:10:19"},{"assignments":[30644],"declarations":[{"constant":false,"id":30644,"mutability":"mutable","name":"m4","nameLocation":"136253:2:19","nodeType":"VariableDeclaration","scope":30653,"src":"136245:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30643,"name":"bytes32","nodeType":"ElementaryTypeName","src":"136245:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30645,"nodeType":"VariableDeclarationStatement","src":"136245:10:19"},{"AST":{"nativeSrc":"136317:378:19","nodeType":"YulBlock","src":"136317:378:19","statements":[{"nativeSrc":"136331:17:19","nodeType":"YulAssignment","src":"136331:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"136343:4:19","nodeType":"YulLiteral","src":"136343:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"136337:5:19","nodeType":"YulIdentifier","src":"136337:5:19"},"nativeSrc":"136337:11:19","nodeType":"YulFunctionCall","src":"136337:11:19"},"variableNames":[{"name":"m0","nativeSrc":"136331:2:19","nodeType":"YulIdentifier","src":"136331:2:19"}]},{"nativeSrc":"136361:17:19","nodeType":"YulAssignment","src":"136361:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"136373:4:19","nodeType":"YulLiteral","src":"136373:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"136367:5:19","nodeType":"YulIdentifier","src":"136367:5:19"},"nativeSrc":"136367:11:19","nodeType":"YulFunctionCall","src":"136367:11:19"},"variableNames":[{"name":"m1","nativeSrc":"136361:2:19","nodeType":"YulIdentifier","src":"136361:2:19"}]},{"nativeSrc":"136391:17:19","nodeType":"YulAssignment","src":"136391:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"136403:4:19","nodeType":"YulLiteral","src":"136403:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"136397:5:19","nodeType":"YulIdentifier","src":"136397:5:19"},"nativeSrc":"136397:11:19","nodeType":"YulFunctionCall","src":"136397:11:19"},"variableNames":[{"name":"m2","nativeSrc":"136391:2:19","nodeType":"YulIdentifier","src":"136391:2:19"}]},{"nativeSrc":"136421:17:19","nodeType":"YulAssignment","src":"136421:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"136433:4:19","nodeType":"YulLiteral","src":"136433:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"136427:5:19","nodeType":"YulIdentifier","src":"136427:5:19"},"nativeSrc":"136427:11:19","nodeType":"YulFunctionCall","src":"136427:11:19"},"variableNames":[{"name":"m3","nativeSrc":"136421:2:19","nodeType":"YulIdentifier","src":"136421:2:19"}]},{"nativeSrc":"136451:17:19","nodeType":"YulAssignment","src":"136451:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"136463:4:19","nodeType":"YulLiteral","src":"136463:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"136457:5:19","nodeType":"YulIdentifier","src":"136457:5:19"},"nativeSrc":"136457:11:19","nodeType":"YulFunctionCall","src":"136457:11:19"},"variableNames":[{"name":"m4","nativeSrc":"136451:2:19","nodeType":"YulIdentifier","src":"136451:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136552:4:19","nodeType":"YulLiteral","src":"136552:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"136558:10:19","nodeType":"YulLiteral","src":"136558:10:19","type":"","value":"0x66f1bc67"}],"functionName":{"name":"mstore","nativeSrc":"136545:6:19","nodeType":"YulIdentifier","src":"136545:6:19"},"nativeSrc":"136545:24:19","nodeType":"YulFunctionCall","src":"136545:24:19"},"nativeSrc":"136545:24:19","nodeType":"YulExpressionStatement","src":"136545:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136589:4:19","nodeType":"YulLiteral","src":"136589:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"136595:2:19","nodeType":"YulIdentifier","src":"136595:2:19"}],"functionName":{"name":"mstore","nativeSrc":"136582:6:19","nodeType":"YulIdentifier","src":"136582:6:19"},"nativeSrc":"136582:16:19","nodeType":"YulFunctionCall","src":"136582:16:19"},"nativeSrc":"136582:16:19","nodeType":"YulExpressionStatement","src":"136582:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136618:4:19","nodeType":"YulLiteral","src":"136618:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"136624:2:19","nodeType":"YulIdentifier","src":"136624:2:19"}],"functionName":{"name":"mstore","nativeSrc":"136611:6:19","nodeType":"YulIdentifier","src":"136611:6:19"},"nativeSrc":"136611:16:19","nodeType":"YulFunctionCall","src":"136611:16:19"},"nativeSrc":"136611:16:19","nodeType":"YulExpressionStatement","src":"136611:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136647:4:19","nodeType":"YulLiteral","src":"136647:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"136653:2:19","nodeType":"YulIdentifier","src":"136653:2:19"}],"functionName":{"name":"mstore","nativeSrc":"136640:6:19","nodeType":"YulIdentifier","src":"136640:6:19"},"nativeSrc":"136640:16:19","nodeType":"YulFunctionCall","src":"136640:16:19"},"nativeSrc":"136640:16:19","nodeType":"YulExpressionStatement","src":"136640:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136676:4:19","nodeType":"YulLiteral","src":"136676:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"136682:2:19","nodeType":"YulIdentifier","src":"136682:2:19"}],"functionName":{"name":"mstore","nativeSrc":"136669:6:19","nodeType":"YulIdentifier","src":"136669:6:19"},"nativeSrc":"136669:16:19","nodeType":"YulFunctionCall","src":"136669:16:19"},"nativeSrc":"136669:16:19","nodeType":"YulExpressionStatement","src":"136669:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30632,"isOffset":false,"isSlot":false,"src":"136331:2:19","valueSize":1},{"declaration":30635,"isOffset":false,"isSlot":false,"src":"136361:2:19","valueSize":1},{"declaration":30638,"isOffset":false,"isSlot":false,"src":"136391:2:19","valueSize":1},{"declaration":30641,"isOffset":false,"isSlot":false,"src":"136421:2:19","valueSize":1},{"declaration":30644,"isOffset":false,"isSlot":false,"src":"136451:2:19","valueSize":1},{"declaration":30622,"isOffset":false,"isSlot":false,"src":"136595:2:19","valueSize":1},{"declaration":30624,"isOffset":false,"isSlot":false,"src":"136624:2:19","valueSize":1},{"declaration":30626,"isOffset":false,"isSlot":false,"src":"136653:2:19","valueSize":1},{"declaration":30628,"isOffset":false,"isSlot":false,"src":"136682:2:19","valueSize":1}],"id":30646,"nodeType":"InlineAssembly","src":"136308:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30648,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"136720:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"136726:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30647,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"136704:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"136704:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30651,"nodeType":"ExpressionStatement","src":"136704:27:19"},{"AST":{"nativeSrc":"136793:156:19","nodeType":"YulBlock","src":"136793:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"136814:4:19","nodeType":"YulLiteral","src":"136814:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"136820:2:19","nodeType":"YulIdentifier","src":"136820:2:19"}],"functionName":{"name":"mstore","nativeSrc":"136807:6:19","nodeType":"YulIdentifier","src":"136807:6:19"},"nativeSrc":"136807:16:19","nodeType":"YulFunctionCall","src":"136807:16:19"},"nativeSrc":"136807:16:19","nodeType":"YulExpressionStatement","src":"136807:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136843:4:19","nodeType":"YulLiteral","src":"136843:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"136849:2:19","nodeType":"YulIdentifier","src":"136849:2:19"}],"functionName":{"name":"mstore","nativeSrc":"136836:6:19","nodeType":"YulIdentifier","src":"136836:6:19"},"nativeSrc":"136836:16:19","nodeType":"YulFunctionCall","src":"136836:16:19"},"nativeSrc":"136836:16:19","nodeType":"YulExpressionStatement","src":"136836:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136872:4:19","nodeType":"YulLiteral","src":"136872:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"136878:2:19","nodeType":"YulIdentifier","src":"136878:2:19"}],"functionName":{"name":"mstore","nativeSrc":"136865:6:19","nodeType":"YulIdentifier","src":"136865:6:19"},"nativeSrc":"136865:16:19","nodeType":"YulFunctionCall","src":"136865:16:19"},"nativeSrc":"136865:16:19","nodeType":"YulExpressionStatement","src":"136865:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136901:4:19","nodeType":"YulLiteral","src":"136901:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"136907:2:19","nodeType":"YulIdentifier","src":"136907:2:19"}],"functionName":{"name":"mstore","nativeSrc":"136894:6:19","nodeType":"YulIdentifier","src":"136894:6:19"},"nativeSrc":"136894:16:19","nodeType":"YulFunctionCall","src":"136894:16:19"},"nativeSrc":"136894:16:19","nodeType":"YulExpressionStatement","src":"136894:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"136930:4:19","nodeType":"YulLiteral","src":"136930:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"136936:2:19","nodeType":"YulIdentifier","src":"136936:2:19"}],"functionName":{"name":"mstore","nativeSrc":"136923:6:19","nodeType":"YulIdentifier","src":"136923:6:19"},"nativeSrc":"136923:16:19","nodeType":"YulFunctionCall","src":"136923:16:19"},"nativeSrc":"136923:16:19","nodeType":"YulExpressionStatement","src":"136923:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30632,"isOffset":false,"isSlot":false,"src":"136820:2:19","valueSize":1},{"declaration":30635,"isOffset":false,"isSlot":false,"src":"136849:2:19","valueSize":1},{"declaration":30638,"isOffset":false,"isSlot":false,"src":"136878:2:19","valueSize":1},{"declaration":30641,"isOffset":false,"isSlot":false,"src":"136907:2:19","valueSize":1},{"declaration":30644,"isOffset":false,"isSlot":false,"src":"136936:2:19","valueSize":1}],"id":30652,"nodeType":"InlineAssembly","src":"136784:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"136092:3:19","parameters":{"id":30629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30622,"mutability":"mutable","name":"p0","nameLocation":"136104:2:19","nodeType":"VariableDeclaration","scope":30654,"src":"136096:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30621,"name":"address","nodeType":"ElementaryTypeName","src":"136096:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30624,"mutability":"mutable","name":"p1","nameLocation":"136116:2:19","nodeType":"VariableDeclaration","scope":30654,"src":"136108:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30623,"name":"uint256","nodeType":"ElementaryTypeName","src":"136108:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30626,"mutability":"mutable","name":"p2","nameLocation":"136128:2:19","nodeType":"VariableDeclaration","scope":30654,"src":"136120:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30625,"name":"uint256","nodeType":"ElementaryTypeName","src":"136120:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30628,"mutability":"mutable","name":"p3","nameLocation":"136137:2:19","nodeType":"VariableDeclaration","scope":30654,"src":"136132:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30627,"name":"bool","nodeType":"ElementaryTypeName","src":"136132:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"136095:45:19"},"returnParameters":{"id":30630,"nodeType":"ParameterList","parameters":[],"src":"136155:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30688,"nodeType":"FunctionDefinition","src":"136961:878:19","nodes":[],"body":{"id":30687,"nodeType":"Block","src":"137036:803:19","nodes":[],"statements":[{"assignments":[30666],"declarations":[{"constant":false,"id":30666,"mutability":"mutable","name":"m0","nameLocation":"137054:2:19","nodeType":"VariableDeclaration","scope":30687,"src":"137046:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30665,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137046:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30667,"nodeType":"VariableDeclarationStatement","src":"137046:10:19"},{"assignments":[30669],"declarations":[{"constant":false,"id":30669,"mutability":"mutable","name":"m1","nameLocation":"137074:2:19","nodeType":"VariableDeclaration","scope":30687,"src":"137066:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30668,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137066:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30670,"nodeType":"VariableDeclarationStatement","src":"137066:10:19"},{"assignments":[30672],"declarations":[{"constant":false,"id":30672,"mutability":"mutable","name":"m2","nameLocation":"137094:2:19","nodeType":"VariableDeclaration","scope":30687,"src":"137086:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30671,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137086:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30673,"nodeType":"VariableDeclarationStatement","src":"137086:10:19"},{"assignments":[30675],"declarations":[{"constant":false,"id":30675,"mutability":"mutable","name":"m3","nameLocation":"137114:2:19","nodeType":"VariableDeclaration","scope":30687,"src":"137106:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30674,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137106:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30676,"nodeType":"VariableDeclarationStatement","src":"137106:10:19"},{"assignments":[30678],"declarations":[{"constant":false,"id":30678,"mutability":"mutable","name":"m4","nameLocation":"137134:2:19","nodeType":"VariableDeclaration","scope":30687,"src":"137126:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30677,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137126:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30679,"nodeType":"VariableDeclarationStatement","src":"137126:10:19"},{"AST":{"nativeSrc":"137198:381:19","nodeType":"YulBlock","src":"137198:381:19","statements":[{"nativeSrc":"137212:17:19","nodeType":"YulAssignment","src":"137212:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"137224:4:19","nodeType":"YulLiteral","src":"137224:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"137218:5:19","nodeType":"YulIdentifier","src":"137218:5:19"},"nativeSrc":"137218:11:19","nodeType":"YulFunctionCall","src":"137218:11:19"},"variableNames":[{"name":"m0","nativeSrc":"137212:2:19","nodeType":"YulIdentifier","src":"137212:2:19"}]},{"nativeSrc":"137242:17:19","nodeType":"YulAssignment","src":"137242:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"137254:4:19","nodeType":"YulLiteral","src":"137254:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"137248:5:19","nodeType":"YulIdentifier","src":"137248:5:19"},"nativeSrc":"137248:11:19","nodeType":"YulFunctionCall","src":"137248:11:19"},"variableNames":[{"name":"m1","nativeSrc":"137242:2:19","nodeType":"YulIdentifier","src":"137242:2:19"}]},{"nativeSrc":"137272:17:19","nodeType":"YulAssignment","src":"137272:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"137284:4:19","nodeType":"YulLiteral","src":"137284:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"137278:5:19","nodeType":"YulIdentifier","src":"137278:5:19"},"nativeSrc":"137278:11:19","nodeType":"YulFunctionCall","src":"137278:11:19"},"variableNames":[{"name":"m2","nativeSrc":"137272:2:19","nodeType":"YulIdentifier","src":"137272:2:19"}]},{"nativeSrc":"137302:17:19","nodeType":"YulAssignment","src":"137302:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"137314:4:19","nodeType":"YulLiteral","src":"137314:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"137308:5:19","nodeType":"YulIdentifier","src":"137308:5:19"},"nativeSrc":"137308:11:19","nodeType":"YulFunctionCall","src":"137308:11:19"},"variableNames":[{"name":"m3","nativeSrc":"137302:2:19","nodeType":"YulIdentifier","src":"137302:2:19"}]},{"nativeSrc":"137332:17:19","nodeType":"YulAssignment","src":"137332:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"137344:4:19","nodeType":"YulLiteral","src":"137344:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"137338:5:19","nodeType":"YulIdentifier","src":"137338:5:19"},"nativeSrc":"137338:11:19","nodeType":"YulFunctionCall","src":"137338:11:19"},"variableNames":[{"name":"m4","nativeSrc":"137332:2:19","nodeType":"YulIdentifier","src":"137332:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137436:4:19","nodeType":"YulLiteral","src":"137436:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"137442:10:19","nodeType":"YulLiteral","src":"137442:10:19","type":"","value":"0x34f0e636"}],"functionName":{"name":"mstore","nativeSrc":"137429:6:19","nodeType":"YulIdentifier","src":"137429:6:19"},"nativeSrc":"137429:24:19","nodeType":"YulFunctionCall","src":"137429:24:19"},"nativeSrc":"137429:24:19","nodeType":"YulExpressionStatement","src":"137429:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137473:4:19","nodeType":"YulLiteral","src":"137473:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"137479:2:19","nodeType":"YulIdentifier","src":"137479:2:19"}],"functionName":{"name":"mstore","nativeSrc":"137466:6:19","nodeType":"YulIdentifier","src":"137466:6:19"},"nativeSrc":"137466:16:19","nodeType":"YulFunctionCall","src":"137466:16:19"},"nativeSrc":"137466:16:19","nodeType":"YulExpressionStatement","src":"137466:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137502:4:19","nodeType":"YulLiteral","src":"137502:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"137508:2:19","nodeType":"YulIdentifier","src":"137508:2:19"}],"functionName":{"name":"mstore","nativeSrc":"137495:6:19","nodeType":"YulIdentifier","src":"137495:6:19"},"nativeSrc":"137495:16:19","nodeType":"YulFunctionCall","src":"137495:16:19"},"nativeSrc":"137495:16:19","nodeType":"YulExpressionStatement","src":"137495:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137531:4:19","nodeType":"YulLiteral","src":"137531:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"137537:2:19","nodeType":"YulIdentifier","src":"137537:2:19"}],"functionName":{"name":"mstore","nativeSrc":"137524:6:19","nodeType":"YulIdentifier","src":"137524:6:19"},"nativeSrc":"137524:16:19","nodeType":"YulFunctionCall","src":"137524:16:19"},"nativeSrc":"137524:16:19","nodeType":"YulExpressionStatement","src":"137524:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137560:4:19","nodeType":"YulLiteral","src":"137560:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"137566:2:19","nodeType":"YulIdentifier","src":"137566:2:19"}],"functionName":{"name":"mstore","nativeSrc":"137553:6:19","nodeType":"YulIdentifier","src":"137553:6:19"},"nativeSrc":"137553:16:19","nodeType":"YulFunctionCall","src":"137553:16:19"},"nativeSrc":"137553:16:19","nodeType":"YulExpressionStatement","src":"137553:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30666,"isOffset":false,"isSlot":false,"src":"137212:2:19","valueSize":1},{"declaration":30669,"isOffset":false,"isSlot":false,"src":"137242:2:19","valueSize":1},{"declaration":30672,"isOffset":false,"isSlot":false,"src":"137272:2:19","valueSize":1},{"declaration":30675,"isOffset":false,"isSlot":false,"src":"137302:2:19","valueSize":1},{"declaration":30678,"isOffset":false,"isSlot":false,"src":"137332:2:19","valueSize":1},{"declaration":30656,"isOffset":false,"isSlot":false,"src":"137479:2:19","valueSize":1},{"declaration":30658,"isOffset":false,"isSlot":false,"src":"137508:2:19","valueSize":1},{"declaration":30660,"isOffset":false,"isSlot":false,"src":"137537:2:19","valueSize":1},{"declaration":30662,"isOffset":false,"isSlot":false,"src":"137566:2:19","valueSize":1}],"id":30680,"nodeType":"InlineAssembly","src":"137189:390:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"137604:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":30683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"137610:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":30681,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"137588:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"137588:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30685,"nodeType":"ExpressionStatement","src":"137588:27:19"},{"AST":{"nativeSrc":"137677:156:19","nodeType":"YulBlock","src":"137677:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"137698:4:19","nodeType":"YulLiteral","src":"137698:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"137704:2:19","nodeType":"YulIdentifier","src":"137704:2:19"}],"functionName":{"name":"mstore","nativeSrc":"137691:6:19","nodeType":"YulIdentifier","src":"137691:6:19"},"nativeSrc":"137691:16:19","nodeType":"YulFunctionCall","src":"137691:16:19"},"nativeSrc":"137691:16:19","nodeType":"YulExpressionStatement","src":"137691:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137727:4:19","nodeType":"YulLiteral","src":"137727:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"137733:2:19","nodeType":"YulIdentifier","src":"137733:2:19"}],"functionName":{"name":"mstore","nativeSrc":"137720:6:19","nodeType":"YulIdentifier","src":"137720:6:19"},"nativeSrc":"137720:16:19","nodeType":"YulFunctionCall","src":"137720:16:19"},"nativeSrc":"137720:16:19","nodeType":"YulExpressionStatement","src":"137720:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137756:4:19","nodeType":"YulLiteral","src":"137756:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"137762:2:19","nodeType":"YulIdentifier","src":"137762:2:19"}],"functionName":{"name":"mstore","nativeSrc":"137749:6:19","nodeType":"YulIdentifier","src":"137749:6:19"},"nativeSrc":"137749:16:19","nodeType":"YulFunctionCall","src":"137749:16:19"},"nativeSrc":"137749:16:19","nodeType":"YulExpressionStatement","src":"137749:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137785:4:19","nodeType":"YulLiteral","src":"137785:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"137791:2:19","nodeType":"YulIdentifier","src":"137791:2:19"}],"functionName":{"name":"mstore","nativeSrc":"137778:6:19","nodeType":"YulIdentifier","src":"137778:6:19"},"nativeSrc":"137778:16:19","nodeType":"YulFunctionCall","src":"137778:16:19"},"nativeSrc":"137778:16:19","nodeType":"YulExpressionStatement","src":"137778:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"137814:4:19","nodeType":"YulLiteral","src":"137814:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"137820:2:19","nodeType":"YulIdentifier","src":"137820:2:19"}],"functionName":{"name":"mstore","nativeSrc":"137807:6:19","nodeType":"YulIdentifier","src":"137807:6:19"},"nativeSrc":"137807:16:19","nodeType":"YulFunctionCall","src":"137807:16:19"},"nativeSrc":"137807:16:19","nodeType":"YulExpressionStatement","src":"137807:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30666,"isOffset":false,"isSlot":false,"src":"137704:2:19","valueSize":1},{"declaration":30669,"isOffset":false,"isSlot":false,"src":"137733:2:19","valueSize":1},{"declaration":30672,"isOffset":false,"isSlot":false,"src":"137762:2:19","valueSize":1},{"declaration":30675,"isOffset":false,"isSlot":false,"src":"137791:2:19","valueSize":1},{"declaration":30678,"isOffset":false,"isSlot":false,"src":"137820:2:19","valueSize":1}],"id":30686,"nodeType":"InlineAssembly","src":"137668:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"136970:3:19","parameters":{"id":30663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30656,"mutability":"mutable","name":"p0","nameLocation":"136982:2:19","nodeType":"VariableDeclaration","scope":30688,"src":"136974:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30655,"name":"address","nodeType":"ElementaryTypeName","src":"136974:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30658,"mutability":"mutable","name":"p1","nameLocation":"136994:2:19","nodeType":"VariableDeclaration","scope":30688,"src":"136986:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30657,"name":"uint256","nodeType":"ElementaryTypeName","src":"136986:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30660,"mutability":"mutable","name":"p2","nameLocation":"137006:2:19","nodeType":"VariableDeclaration","scope":30688,"src":"136998:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30659,"name":"uint256","nodeType":"ElementaryTypeName","src":"136998:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30662,"mutability":"mutable","name":"p3","nameLocation":"137018:2:19","nodeType":"VariableDeclaration","scope":30688,"src":"137010:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30661,"name":"uint256","nodeType":"ElementaryTypeName","src":"137010:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"136973:48:19"},"returnParameters":{"id":30664,"nodeType":"ParameterList","parameters":[],"src":"137036:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30728,"nodeType":"FunctionDefinition","src":"137845:1426:19","nodes":[],"body":{"id":30727,"nodeType":"Block","src":"137920:1351:19","nodes":[],"statements":[{"assignments":[30700],"declarations":[{"constant":false,"id":30700,"mutability":"mutable","name":"m0","nameLocation":"137938:2:19","nodeType":"VariableDeclaration","scope":30727,"src":"137930:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30699,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137930:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30701,"nodeType":"VariableDeclarationStatement","src":"137930:10:19"},{"assignments":[30703],"declarations":[{"constant":false,"id":30703,"mutability":"mutable","name":"m1","nameLocation":"137958:2:19","nodeType":"VariableDeclaration","scope":30727,"src":"137950:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30702,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137950:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30704,"nodeType":"VariableDeclarationStatement","src":"137950:10:19"},{"assignments":[30706],"declarations":[{"constant":false,"id":30706,"mutability":"mutable","name":"m2","nameLocation":"137978:2:19","nodeType":"VariableDeclaration","scope":30727,"src":"137970:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30705,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137970:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30707,"nodeType":"VariableDeclarationStatement","src":"137970:10:19"},{"assignments":[30709],"declarations":[{"constant":false,"id":30709,"mutability":"mutable","name":"m3","nameLocation":"137998:2:19","nodeType":"VariableDeclaration","scope":30727,"src":"137990:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30708,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137990:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30710,"nodeType":"VariableDeclarationStatement","src":"137990:10:19"},{"assignments":[30712],"declarations":[{"constant":false,"id":30712,"mutability":"mutable","name":"m4","nameLocation":"138018:2:19","nodeType":"VariableDeclaration","scope":30727,"src":"138010:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30711,"name":"bytes32","nodeType":"ElementaryTypeName","src":"138010:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30713,"nodeType":"VariableDeclarationStatement","src":"138010:10:19"},{"assignments":[30715],"declarations":[{"constant":false,"id":30715,"mutability":"mutable","name":"m5","nameLocation":"138038:2:19","nodeType":"VariableDeclaration","scope":30727,"src":"138030:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30714,"name":"bytes32","nodeType":"ElementaryTypeName","src":"138030:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30716,"nodeType":"VariableDeclarationStatement","src":"138030:10:19"},{"assignments":[30718],"declarations":[{"constant":false,"id":30718,"mutability":"mutable","name":"m6","nameLocation":"138058:2:19","nodeType":"VariableDeclaration","scope":30727,"src":"138050:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30717,"name":"bytes32","nodeType":"ElementaryTypeName","src":"138050:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30719,"nodeType":"VariableDeclarationStatement","src":"138050:10:19"},{"AST":{"nativeSrc":"138122:831:19","nodeType":"YulBlock","src":"138122:831:19","statements":[{"body":{"nativeSrc":"138165:313:19","nodeType":"YulBlock","src":"138165:313:19","statements":[{"nativeSrc":"138183:15:19","nodeType":"YulVariableDeclaration","src":"138183:15:19","value":{"kind":"number","nativeSrc":"138197:1:19","nodeType":"YulLiteral","src":"138197:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"138187:6:19","nodeType":"YulTypedName","src":"138187:6:19","type":""}]},{"body":{"nativeSrc":"138268:40:19","nodeType":"YulBlock","src":"138268:40:19","statements":[{"body":{"nativeSrc":"138297:9:19","nodeType":"YulBlock","src":"138297:9:19","statements":[{"nativeSrc":"138299:5:19","nodeType":"YulBreak","src":"138299:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"138285:6:19","nodeType":"YulIdentifier","src":"138285:6:19"},{"name":"w","nativeSrc":"138293:1:19","nodeType":"YulIdentifier","src":"138293:1:19"}],"functionName":{"name":"byte","nativeSrc":"138280:4:19","nodeType":"YulIdentifier","src":"138280:4:19"},"nativeSrc":"138280:15:19","nodeType":"YulFunctionCall","src":"138280:15:19"}],"functionName":{"name":"iszero","nativeSrc":"138273:6:19","nodeType":"YulIdentifier","src":"138273:6:19"},"nativeSrc":"138273:23:19","nodeType":"YulFunctionCall","src":"138273:23:19"},"nativeSrc":"138270:36:19","nodeType":"YulIf","src":"138270:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"138225:6:19","nodeType":"YulIdentifier","src":"138225:6:19"},{"kind":"number","nativeSrc":"138233:4:19","nodeType":"YulLiteral","src":"138233:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"138222:2:19","nodeType":"YulIdentifier","src":"138222:2:19"},"nativeSrc":"138222:16:19","nodeType":"YulFunctionCall","src":"138222:16:19"},"nativeSrc":"138215:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"138239:28:19","nodeType":"YulBlock","src":"138239:28:19","statements":[{"nativeSrc":"138241:24:19","nodeType":"YulAssignment","src":"138241:24:19","value":{"arguments":[{"name":"length","nativeSrc":"138255:6:19","nodeType":"YulIdentifier","src":"138255:6:19"},{"kind":"number","nativeSrc":"138263:1:19","nodeType":"YulLiteral","src":"138263:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"138251:3:19","nodeType":"YulIdentifier","src":"138251:3:19"},"nativeSrc":"138251:14:19","nodeType":"YulFunctionCall","src":"138251:14:19"},"variableNames":[{"name":"length","nativeSrc":"138241:6:19","nodeType":"YulIdentifier","src":"138241:6:19"}]}]},"pre":{"nativeSrc":"138219:2:19","nodeType":"YulBlock","src":"138219:2:19","statements":[]},"src":"138215:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"138332:3:19","nodeType":"YulIdentifier","src":"138332:3:19"},{"name":"length","nativeSrc":"138337:6:19","nodeType":"YulIdentifier","src":"138337:6:19"}],"functionName":{"name":"mstore","nativeSrc":"138325:6:19","nodeType":"YulIdentifier","src":"138325:6:19"},"nativeSrc":"138325:19:19","nodeType":"YulFunctionCall","src":"138325:19:19"},"nativeSrc":"138325:19:19","nodeType":"YulExpressionStatement","src":"138325:19:19"},{"nativeSrc":"138361:37:19","nodeType":"YulVariableDeclaration","src":"138361:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"138378:3:19","nodeType":"YulLiteral","src":"138378:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"138387:1:19","nodeType":"YulLiteral","src":"138387:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"138390:6:19","nodeType":"YulIdentifier","src":"138390:6:19"}],"functionName":{"name":"shl","nativeSrc":"138383:3:19","nodeType":"YulIdentifier","src":"138383:3:19"},"nativeSrc":"138383:14:19","nodeType":"YulFunctionCall","src":"138383:14:19"}],"functionName":{"name":"sub","nativeSrc":"138374:3:19","nodeType":"YulIdentifier","src":"138374:3:19"},"nativeSrc":"138374:24:19","nodeType":"YulFunctionCall","src":"138374:24:19"},"variables":[{"name":"shift","nativeSrc":"138365:5:19","nodeType":"YulTypedName","src":"138365:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"138426:3:19","nodeType":"YulIdentifier","src":"138426:3:19"},{"kind":"number","nativeSrc":"138431:4:19","nodeType":"YulLiteral","src":"138431:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"138422:3:19","nodeType":"YulIdentifier","src":"138422:3:19"},"nativeSrc":"138422:14:19","nodeType":"YulFunctionCall","src":"138422:14:19"},{"arguments":[{"name":"shift","nativeSrc":"138442:5:19","nodeType":"YulIdentifier","src":"138442:5:19"},{"arguments":[{"name":"shift","nativeSrc":"138453:5:19","nodeType":"YulIdentifier","src":"138453:5:19"},{"name":"w","nativeSrc":"138460:1:19","nodeType":"YulIdentifier","src":"138460:1:19"}],"functionName":{"name":"shr","nativeSrc":"138449:3:19","nodeType":"YulIdentifier","src":"138449:3:19"},"nativeSrc":"138449:13:19","nodeType":"YulFunctionCall","src":"138449:13:19"}],"functionName":{"name":"shl","nativeSrc":"138438:3:19","nodeType":"YulIdentifier","src":"138438:3:19"},"nativeSrc":"138438:25:19","nodeType":"YulFunctionCall","src":"138438:25:19"}],"functionName":{"name":"mstore","nativeSrc":"138415:6:19","nodeType":"YulIdentifier","src":"138415:6:19"},"nativeSrc":"138415:49:19","nodeType":"YulFunctionCall","src":"138415:49:19"},"nativeSrc":"138415:49:19","nodeType":"YulExpressionStatement","src":"138415:49:19"}]},"name":"writeString","nativeSrc":"138136:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"138157:3:19","nodeType":"YulTypedName","src":"138157:3:19","type":""},{"name":"w","nativeSrc":"138162:1:19","nodeType":"YulTypedName","src":"138162:1:19","type":""}],"src":"138136:342:19"},{"nativeSrc":"138491:17:19","nodeType":"YulAssignment","src":"138491:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"138503:4:19","nodeType":"YulLiteral","src":"138503:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"138497:5:19","nodeType":"YulIdentifier","src":"138497:5:19"},"nativeSrc":"138497:11:19","nodeType":"YulFunctionCall","src":"138497:11:19"},"variableNames":[{"name":"m0","nativeSrc":"138491:2:19","nodeType":"YulIdentifier","src":"138491:2:19"}]},{"nativeSrc":"138521:17:19","nodeType":"YulAssignment","src":"138521:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"138533:4:19","nodeType":"YulLiteral","src":"138533:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"138527:5:19","nodeType":"YulIdentifier","src":"138527:5:19"},"nativeSrc":"138527:11:19","nodeType":"YulFunctionCall","src":"138527:11:19"},"variableNames":[{"name":"m1","nativeSrc":"138521:2:19","nodeType":"YulIdentifier","src":"138521:2:19"}]},{"nativeSrc":"138551:17:19","nodeType":"YulAssignment","src":"138551:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"138563:4:19","nodeType":"YulLiteral","src":"138563:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"138557:5:19","nodeType":"YulIdentifier","src":"138557:5:19"},"nativeSrc":"138557:11:19","nodeType":"YulFunctionCall","src":"138557:11:19"},"variableNames":[{"name":"m2","nativeSrc":"138551:2:19","nodeType":"YulIdentifier","src":"138551:2:19"}]},{"nativeSrc":"138581:17:19","nodeType":"YulAssignment","src":"138581:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"138593:4:19","nodeType":"YulLiteral","src":"138593:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"138587:5:19","nodeType":"YulIdentifier","src":"138587:5:19"},"nativeSrc":"138587:11:19","nodeType":"YulFunctionCall","src":"138587:11:19"},"variableNames":[{"name":"m3","nativeSrc":"138581:2:19","nodeType":"YulIdentifier","src":"138581:2:19"}]},{"nativeSrc":"138611:17:19","nodeType":"YulAssignment","src":"138611:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"138623:4:19","nodeType":"YulLiteral","src":"138623:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"138617:5:19","nodeType":"YulIdentifier","src":"138617:5:19"},"nativeSrc":"138617:11:19","nodeType":"YulFunctionCall","src":"138617:11:19"},"variableNames":[{"name":"m4","nativeSrc":"138611:2:19","nodeType":"YulIdentifier","src":"138611:2:19"}]},{"nativeSrc":"138641:17:19","nodeType":"YulAssignment","src":"138641:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"138653:4:19","nodeType":"YulLiteral","src":"138653:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"138647:5:19","nodeType":"YulIdentifier","src":"138647:5:19"},"nativeSrc":"138647:11:19","nodeType":"YulFunctionCall","src":"138647:11:19"},"variableNames":[{"name":"m5","nativeSrc":"138641:2:19","nodeType":"YulIdentifier","src":"138641:2:19"}]},{"nativeSrc":"138671:17:19","nodeType":"YulAssignment","src":"138671:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"138683:4:19","nodeType":"YulLiteral","src":"138683:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"138677:5:19","nodeType":"YulIdentifier","src":"138677:5:19"},"nativeSrc":"138677:11:19","nodeType":"YulFunctionCall","src":"138677:11:19"},"variableNames":[{"name":"m6","nativeSrc":"138671:2:19","nodeType":"YulIdentifier","src":"138671:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"138774:4:19","nodeType":"YulLiteral","src":"138774:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"138780:10:19","nodeType":"YulLiteral","src":"138780:10:19","type":"","value":"0x4a28c017"}],"functionName":{"name":"mstore","nativeSrc":"138767:6:19","nodeType":"YulIdentifier","src":"138767:6:19"},"nativeSrc":"138767:24:19","nodeType":"YulFunctionCall","src":"138767:24:19"},"nativeSrc":"138767:24:19","nodeType":"YulExpressionStatement","src":"138767:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"138811:4:19","nodeType":"YulLiteral","src":"138811:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"138817:2:19","nodeType":"YulIdentifier","src":"138817:2:19"}],"functionName":{"name":"mstore","nativeSrc":"138804:6:19","nodeType":"YulIdentifier","src":"138804:6:19"},"nativeSrc":"138804:16:19","nodeType":"YulFunctionCall","src":"138804:16:19"},"nativeSrc":"138804:16:19","nodeType":"YulExpressionStatement","src":"138804:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"138840:4:19","nodeType":"YulLiteral","src":"138840:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"138846:2:19","nodeType":"YulIdentifier","src":"138846:2:19"}],"functionName":{"name":"mstore","nativeSrc":"138833:6:19","nodeType":"YulIdentifier","src":"138833:6:19"},"nativeSrc":"138833:16:19","nodeType":"YulFunctionCall","src":"138833:16:19"},"nativeSrc":"138833:16:19","nodeType":"YulExpressionStatement","src":"138833:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"138869:4:19","nodeType":"YulLiteral","src":"138869:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"138875:2:19","nodeType":"YulIdentifier","src":"138875:2:19"}],"functionName":{"name":"mstore","nativeSrc":"138862:6:19","nodeType":"YulIdentifier","src":"138862:6:19"},"nativeSrc":"138862:16:19","nodeType":"YulFunctionCall","src":"138862:16:19"},"nativeSrc":"138862:16:19","nodeType":"YulExpressionStatement","src":"138862:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"138898:4:19","nodeType":"YulLiteral","src":"138898:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"138904:4:19","nodeType":"YulLiteral","src":"138904:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"138891:6:19","nodeType":"YulIdentifier","src":"138891:6:19"},"nativeSrc":"138891:18:19","nodeType":"YulFunctionCall","src":"138891:18:19"},"nativeSrc":"138891:18:19","nodeType":"YulExpressionStatement","src":"138891:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"138934:4:19","nodeType":"YulLiteral","src":"138934:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"138940:2:19","nodeType":"YulIdentifier","src":"138940:2:19"}],"functionName":{"name":"writeString","nativeSrc":"138922:11:19","nodeType":"YulIdentifier","src":"138922:11:19"},"nativeSrc":"138922:21:19","nodeType":"YulFunctionCall","src":"138922:21:19"},"nativeSrc":"138922:21:19","nodeType":"YulExpressionStatement","src":"138922:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30700,"isOffset":false,"isSlot":false,"src":"138491:2:19","valueSize":1},{"declaration":30703,"isOffset":false,"isSlot":false,"src":"138521:2:19","valueSize":1},{"declaration":30706,"isOffset":false,"isSlot":false,"src":"138551:2:19","valueSize":1},{"declaration":30709,"isOffset":false,"isSlot":false,"src":"138581:2:19","valueSize":1},{"declaration":30712,"isOffset":false,"isSlot":false,"src":"138611:2:19","valueSize":1},{"declaration":30715,"isOffset":false,"isSlot":false,"src":"138641:2:19","valueSize":1},{"declaration":30718,"isOffset":false,"isSlot":false,"src":"138671:2:19","valueSize":1},{"declaration":30690,"isOffset":false,"isSlot":false,"src":"138817:2:19","valueSize":1},{"declaration":30692,"isOffset":false,"isSlot":false,"src":"138846:2:19","valueSize":1},{"declaration":30694,"isOffset":false,"isSlot":false,"src":"138875:2:19","valueSize":1},{"declaration":30696,"isOffset":false,"isSlot":false,"src":"138940:2:19","valueSize":1}],"id":30720,"nodeType":"InlineAssembly","src":"138113:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"138978:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":30723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"138984:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":30721,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"138962:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"138962:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30725,"nodeType":"ExpressionStatement","src":"138962:27:19"},{"AST":{"nativeSrc":"139051:214:19","nodeType":"YulBlock","src":"139051:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"139072:4:19","nodeType":"YulLiteral","src":"139072:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"139078:2:19","nodeType":"YulIdentifier","src":"139078:2:19"}],"functionName":{"name":"mstore","nativeSrc":"139065:6:19","nodeType":"YulIdentifier","src":"139065:6:19"},"nativeSrc":"139065:16:19","nodeType":"YulFunctionCall","src":"139065:16:19"},"nativeSrc":"139065:16:19","nodeType":"YulExpressionStatement","src":"139065:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"139101:4:19","nodeType":"YulLiteral","src":"139101:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"139107:2:19","nodeType":"YulIdentifier","src":"139107:2:19"}],"functionName":{"name":"mstore","nativeSrc":"139094:6:19","nodeType":"YulIdentifier","src":"139094:6:19"},"nativeSrc":"139094:16:19","nodeType":"YulFunctionCall","src":"139094:16:19"},"nativeSrc":"139094:16:19","nodeType":"YulExpressionStatement","src":"139094:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"139130:4:19","nodeType":"YulLiteral","src":"139130:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"139136:2:19","nodeType":"YulIdentifier","src":"139136:2:19"}],"functionName":{"name":"mstore","nativeSrc":"139123:6:19","nodeType":"YulIdentifier","src":"139123:6:19"},"nativeSrc":"139123:16:19","nodeType":"YulFunctionCall","src":"139123:16:19"},"nativeSrc":"139123:16:19","nodeType":"YulExpressionStatement","src":"139123:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"139159:4:19","nodeType":"YulLiteral","src":"139159:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"139165:2:19","nodeType":"YulIdentifier","src":"139165:2:19"}],"functionName":{"name":"mstore","nativeSrc":"139152:6:19","nodeType":"YulIdentifier","src":"139152:6:19"},"nativeSrc":"139152:16:19","nodeType":"YulFunctionCall","src":"139152:16:19"},"nativeSrc":"139152:16:19","nodeType":"YulExpressionStatement","src":"139152:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"139188:4:19","nodeType":"YulLiteral","src":"139188:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"139194:2:19","nodeType":"YulIdentifier","src":"139194:2:19"}],"functionName":{"name":"mstore","nativeSrc":"139181:6:19","nodeType":"YulIdentifier","src":"139181:6:19"},"nativeSrc":"139181:16:19","nodeType":"YulFunctionCall","src":"139181:16:19"},"nativeSrc":"139181:16:19","nodeType":"YulExpressionStatement","src":"139181:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"139217:4:19","nodeType":"YulLiteral","src":"139217:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"139223:2:19","nodeType":"YulIdentifier","src":"139223:2:19"}],"functionName":{"name":"mstore","nativeSrc":"139210:6:19","nodeType":"YulIdentifier","src":"139210:6:19"},"nativeSrc":"139210:16:19","nodeType":"YulFunctionCall","src":"139210:16:19"},"nativeSrc":"139210:16:19","nodeType":"YulExpressionStatement","src":"139210:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"139246:4:19","nodeType":"YulLiteral","src":"139246:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"139252:2:19","nodeType":"YulIdentifier","src":"139252:2:19"}],"functionName":{"name":"mstore","nativeSrc":"139239:6:19","nodeType":"YulIdentifier","src":"139239:6:19"},"nativeSrc":"139239:16:19","nodeType":"YulFunctionCall","src":"139239:16:19"},"nativeSrc":"139239:16:19","nodeType":"YulExpressionStatement","src":"139239:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30700,"isOffset":false,"isSlot":false,"src":"139078:2:19","valueSize":1},{"declaration":30703,"isOffset":false,"isSlot":false,"src":"139107:2:19","valueSize":1},{"declaration":30706,"isOffset":false,"isSlot":false,"src":"139136:2:19","valueSize":1},{"declaration":30709,"isOffset":false,"isSlot":false,"src":"139165:2:19","valueSize":1},{"declaration":30712,"isOffset":false,"isSlot":false,"src":"139194:2:19","valueSize":1},{"declaration":30715,"isOffset":false,"isSlot":false,"src":"139223:2:19","valueSize":1},{"declaration":30718,"isOffset":false,"isSlot":false,"src":"139252:2:19","valueSize":1}],"id":30726,"nodeType":"InlineAssembly","src":"139042:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"137854:3:19","parameters":{"id":30697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30690,"mutability":"mutable","name":"p0","nameLocation":"137866:2:19","nodeType":"VariableDeclaration","scope":30728,"src":"137858:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30689,"name":"address","nodeType":"ElementaryTypeName","src":"137858:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30692,"mutability":"mutable","name":"p1","nameLocation":"137878:2:19","nodeType":"VariableDeclaration","scope":30728,"src":"137870:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30691,"name":"uint256","nodeType":"ElementaryTypeName","src":"137870:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30694,"mutability":"mutable","name":"p2","nameLocation":"137890:2:19","nodeType":"VariableDeclaration","scope":30728,"src":"137882:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30693,"name":"uint256","nodeType":"ElementaryTypeName","src":"137882:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30696,"mutability":"mutable","name":"p3","nameLocation":"137902:2:19","nodeType":"VariableDeclaration","scope":30728,"src":"137894:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30695,"name":"bytes32","nodeType":"ElementaryTypeName","src":"137894:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"137857:48:19"},"returnParameters":{"id":30698,"nodeType":"ParameterList","parameters":[],"src":"137920:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30768,"nodeType":"FunctionDefinition","src":"139277:1426:19","nodes":[],"body":{"id":30767,"nodeType":"Block","src":"139352:1351:19","nodes":[],"statements":[{"assignments":[30740],"declarations":[{"constant":false,"id":30740,"mutability":"mutable","name":"m0","nameLocation":"139370:2:19","nodeType":"VariableDeclaration","scope":30767,"src":"139362:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30739,"name":"bytes32","nodeType":"ElementaryTypeName","src":"139362:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30741,"nodeType":"VariableDeclarationStatement","src":"139362:10:19"},{"assignments":[30743],"declarations":[{"constant":false,"id":30743,"mutability":"mutable","name":"m1","nameLocation":"139390:2:19","nodeType":"VariableDeclaration","scope":30767,"src":"139382:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30742,"name":"bytes32","nodeType":"ElementaryTypeName","src":"139382:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30744,"nodeType":"VariableDeclarationStatement","src":"139382:10:19"},{"assignments":[30746],"declarations":[{"constant":false,"id":30746,"mutability":"mutable","name":"m2","nameLocation":"139410:2:19","nodeType":"VariableDeclaration","scope":30767,"src":"139402:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30745,"name":"bytes32","nodeType":"ElementaryTypeName","src":"139402:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30747,"nodeType":"VariableDeclarationStatement","src":"139402:10:19"},{"assignments":[30749],"declarations":[{"constant":false,"id":30749,"mutability":"mutable","name":"m3","nameLocation":"139430:2:19","nodeType":"VariableDeclaration","scope":30767,"src":"139422:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30748,"name":"bytes32","nodeType":"ElementaryTypeName","src":"139422:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30750,"nodeType":"VariableDeclarationStatement","src":"139422:10:19"},{"assignments":[30752],"declarations":[{"constant":false,"id":30752,"mutability":"mutable","name":"m4","nameLocation":"139450:2:19","nodeType":"VariableDeclaration","scope":30767,"src":"139442:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30751,"name":"bytes32","nodeType":"ElementaryTypeName","src":"139442:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30753,"nodeType":"VariableDeclarationStatement","src":"139442:10:19"},{"assignments":[30755],"declarations":[{"constant":false,"id":30755,"mutability":"mutable","name":"m5","nameLocation":"139470:2:19","nodeType":"VariableDeclaration","scope":30767,"src":"139462:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30754,"name":"bytes32","nodeType":"ElementaryTypeName","src":"139462:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30756,"nodeType":"VariableDeclarationStatement","src":"139462:10:19"},{"assignments":[30758],"declarations":[{"constant":false,"id":30758,"mutability":"mutable","name":"m6","nameLocation":"139490:2:19","nodeType":"VariableDeclaration","scope":30767,"src":"139482:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30757,"name":"bytes32","nodeType":"ElementaryTypeName","src":"139482:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30759,"nodeType":"VariableDeclarationStatement","src":"139482:10:19"},{"AST":{"nativeSrc":"139554:831:19","nodeType":"YulBlock","src":"139554:831:19","statements":[{"body":{"nativeSrc":"139597:313:19","nodeType":"YulBlock","src":"139597:313:19","statements":[{"nativeSrc":"139615:15:19","nodeType":"YulVariableDeclaration","src":"139615:15:19","value":{"kind":"number","nativeSrc":"139629:1:19","nodeType":"YulLiteral","src":"139629:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"139619:6:19","nodeType":"YulTypedName","src":"139619:6:19","type":""}]},{"body":{"nativeSrc":"139700:40:19","nodeType":"YulBlock","src":"139700:40:19","statements":[{"body":{"nativeSrc":"139729:9:19","nodeType":"YulBlock","src":"139729:9:19","statements":[{"nativeSrc":"139731:5:19","nodeType":"YulBreak","src":"139731:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"139717:6:19","nodeType":"YulIdentifier","src":"139717:6:19"},{"name":"w","nativeSrc":"139725:1:19","nodeType":"YulIdentifier","src":"139725:1:19"}],"functionName":{"name":"byte","nativeSrc":"139712:4:19","nodeType":"YulIdentifier","src":"139712:4:19"},"nativeSrc":"139712:15:19","nodeType":"YulFunctionCall","src":"139712:15:19"}],"functionName":{"name":"iszero","nativeSrc":"139705:6:19","nodeType":"YulIdentifier","src":"139705:6:19"},"nativeSrc":"139705:23:19","nodeType":"YulFunctionCall","src":"139705:23:19"},"nativeSrc":"139702:36:19","nodeType":"YulIf","src":"139702:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"139657:6:19","nodeType":"YulIdentifier","src":"139657:6:19"},{"kind":"number","nativeSrc":"139665:4:19","nodeType":"YulLiteral","src":"139665:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"139654:2:19","nodeType":"YulIdentifier","src":"139654:2:19"},"nativeSrc":"139654:16:19","nodeType":"YulFunctionCall","src":"139654:16:19"},"nativeSrc":"139647:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"139671:28:19","nodeType":"YulBlock","src":"139671:28:19","statements":[{"nativeSrc":"139673:24:19","nodeType":"YulAssignment","src":"139673:24:19","value":{"arguments":[{"name":"length","nativeSrc":"139687:6:19","nodeType":"YulIdentifier","src":"139687:6:19"},{"kind":"number","nativeSrc":"139695:1:19","nodeType":"YulLiteral","src":"139695:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"139683:3:19","nodeType":"YulIdentifier","src":"139683:3:19"},"nativeSrc":"139683:14:19","nodeType":"YulFunctionCall","src":"139683:14:19"},"variableNames":[{"name":"length","nativeSrc":"139673:6:19","nodeType":"YulIdentifier","src":"139673:6:19"}]}]},"pre":{"nativeSrc":"139651:2:19","nodeType":"YulBlock","src":"139651:2:19","statements":[]},"src":"139647:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"139764:3:19","nodeType":"YulIdentifier","src":"139764:3:19"},{"name":"length","nativeSrc":"139769:6:19","nodeType":"YulIdentifier","src":"139769:6:19"}],"functionName":{"name":"mstore","nativeSrc":"139757:6:19","nodeType":"YulIdentifier","src":"139757:6:19"},"nativeSrc":"139757:19:19","nodeType":"YulFunctionCall","src":"139757:19:19"},"nativeSrc":"139757:19:19","nodeType":"YulExpressionStatement","src":"139757:19:19"},{"nativeSrc":"139793:37:19","nodeType":"YulVariableDeclaration","src":"139793:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"139810:3:19","nodeType":"YulLiteral","src":"139810:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"139819:1:19","nodeType":"YulLiteral","src":"139819:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"139822:6:19","nodeType":"YulIdentifier","src":"139822:6:19"}],"functionName":{"name":"shl","nativeSrc":"139815:3:19","nodeType":"YulIdentifier","src":"139815:3:19"},"nativeSrc":"139815:14:19","nodeType":"YulFunctionCall","src":"139815:14:19"}],"functionName":{"name":"sub","nativeSrc":"139806:3:19","nodeType":"YulIdentifier","src":"139806:3:19"},"nativeSrc":"139806:24:19","nodeType":"YulFunctionCall","src":"139806:24:19"},"variables":[{"name":"shift","nativeSrc":"139797:5:19","nodeType":"YulTypedName","src":"139797:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"139858:3:19","nodeType":"YulIdentifier","src":"139858:3:19"},{"kind":"number","nativeSrc":"139863:4:19","nodeType":"YulLiteral","src":"139863:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"139854:3:19","nodeType":"YulIdentifier","src":"139854:3:19"},"nativeSrc":"139854:14:19","nodeType":"YulFunctionCall","src":"139854:14:19"},{"arguments":[{"name":"shift","nativeSrc":"139874:5:19","nodeType":"YulIdentifier","src":"139874:5:19"},{"arguments":[{"name":"shift","nativeSrc":"139885:5:19","nodeType":"YulIdentifier","src":"139885:5:19"},{"name":"w","nativeSrc":"139892:1:19","nodeType":"YulIdentifier","src":"139892:1:19"}],"functionName":{"name":"shr","nativeSrc":"139881:3:19","nodeType":"YulIdentifier","src":"139881:3:19"},"nativeSrc":"139881:13:19","nodeType":"YulFunctionCall","src":"139881:13:19"}],"functionName":{"name":"shl","nativeSrc":"139870:3:19","nodeType":"YulIdentifier","src":"139870:3:19"},"nativeSrc":"139870:25:19","nodeType":"YulFunctionCall","src":"139870:25:19"}],"functionName":{"name":"mstore","nativeSrc":"139847:6:19","nodeType":"YulIdentifier","src":"139847:6:19"},"nativeSrc":"139847:49:19","nodeType":"YulFunctionCall","src":"139847:49:19"},"nativeSrc":"139847:49:19","nodeType":"YulExpressionStatement","src":"139847:49:19"}]},"name":"writeString","nativeSrc":"139568:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"139589:3:19","nodeType":"YulTypedName","src":"139589:3:19","type":""},{"name":"w","nativeSrc":"139594:1:19","nodeType":"YulTypedName","src":"139594:1:19","type":""}],"src":"139568:342:19"},{"nativeSrc":"139923:17:19","nodeType":"YulAssignment","src":"139923:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"139935:4:19","nodeType":"YulLiteral","src":"139935:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"139929:5:19","nodeType":"YulIdentifier","src":"139929:5:19"},"nativeSrc":"139929:11:19","nodeType":"YulFunctionCall","src":"139929:11:19"},"variableNames":[{"name":"m0","nativeSrc":"139923:2:19","nodeType":"YulIdentifier","src":"139923:2:19"}]},{"nativeSrc":"139953:17:19","nodeType":"YulAssignment","src":"139953:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"139965:4:19","nodeType":"YulLiteral","src":"139965:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"139959:5:19","nodeType":"YulIdentifier","src":"139959:5:19"},"nativeSrc":"139959:11:19","nodeType":"YulFunctionCall","src":"139959:11:19"},"variableNames":[{"name":"m1","nativeSrc":"139953:2:19","nodeType":"YulIdentifier","src":"139953:2:19"}]},{"nativeSrc":"139983:17:19","nodeType":"YulAssignment","src":"139983:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"139995:4:19","nodeType":"YulLiteral","src":"139995:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"139989:5:19","nodeType":"YulIdentifier","src":"139989:5:19"},"nativeSrc":"139989:11:19","nodeType":"YulFunctionCall","src":"139989:11:19"},"variableNames":[{"name":"m2","nativeSrc":"139983:2:19","nodeType":"YulIdentifier","src":"139983:2:19"}]},{"nativeSrc":"140013:17:19","nodeType":"YulAssignment","src":"140013:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"140025:4:19","nodeType":"YulLiteral","src":"140025:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"140019:5:19","nodeType":"YulIdentifier","src":"140019:5:19"},"nativeSrc":"140019:11:19","nodeType":"YulFunctionCall","src":"140019:11:19"},"variableNames":[{"name":"m3","nativeSrc":"140013:2:19","nodeType":"YulIdentifier","src":"140013:2:19"}]},{"nativeSrc":"140043:17:19","nodeType":"YulAssignment","src":"140043:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"140055:4:19","nodeType":"YulLiteral","src":"140055:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"140049:5:19","nodeType":"YulIdentifier","src":"140049:5:19"},"nativeSrc":"140049:11:19","nodeType":"YulFunctionCall","src":"140049:11:19"},"variableNames":[{"name":"m4","nativeSrc":"140043:2:19","nodeType":"YulIdentifier","src":"140043:2:19"}]},{"nativeSrc":"140073:17:19","nodeType":"YulAssignment","src":"140073:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"140085:4:19","nodeType":"YulLiteral","src":"140085:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"140079:5:19","nodeType":"YulIdentifier","src":"140079:5:19"},"nativeSrc":"140079:11:19","nodeType":"YulFunctionCall","src":"140079:11:19"},"variableNames":[{"name":"m5","nativeSrc":"140073:2:19","nodeType":"YulIdentifier","src":"140073:2:19"}]},{"nativeSrc":"140103:17:19","nodeType":"YulAssignment","src":"140103:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"140115:4:19","nodeType":"YulLiteral","src":"140115:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"140109:5:19","nodeType":"YulIdentifier","src":"140109:5:19"},"nativeSrc":"140109:11:19","nodeType":"YulFunctionCall","src":"140109:11:19"},"variableNames":[{"name":"m6","nativeSrc":"140103:2:19","nodeType":"YulIdentifier","src":"140103:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140206:4:19","nodeType":"YulLiteral","src":"140206:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"140212:10:19","nodeType":"YulLiteral","src":"140212:10:19","type":"","value":"0x5c430d47"}],"functionName":{"name":"mstore","nativeSrc":"140199:6:19","nodeType":"YulIdentifier","src":"140199:6:19"},"nativeSrc":"140199:24:19","nodeType":"YulFunctionCall","src":"140199:24:19"},"nativeSrc":"140199:24:19","nodeType":"YulExpressionStatement","src":"140199:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140243:4:19","nodeType":"YulLiteral","src":"140243:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"140249:2:19","nodeType":"YulIdentifier","src":"140249:2:19"}],"functionName":{"name":"mstore","nativeSrc":"140236:6:19","nodeType":"YulIdentifier","src":"140236:6:19"},"nativeSrc":"140236:16:19","nodeType":"YulFunctionCall","src":"140236:16:19"},"nativeSrc":"140236:16:19","nodeType":"YulExpressionStatement","src":"140236:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140272:4:19","nodeType":"YulLiteral","src":"140272:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"140278:2:19","nodeType":"YulIdentifier","src":"140278:2:19"}],"functionName":{"name":"mstore","nativeSrc":"140265:6:19","nodeType":"YulIdentifier","src":"140265:6:19"},"nativeSrc":"140265:16:19","nodeType":"YulFunctionCall","src":"140265:16:19"},"nativeSrc":"140265:16:19","nodeType":"YulExpressionStatement","src":"140265:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140301:4:19","nodeType":"YulLiteral","src":"140301:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"140307:4:19","nodeType":"YulLiteral","src":"140307:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"140294:6:19","nodeType":"YulIdentifier","src":"140294:6:19"},"nativeSrc":"140294:18:19","nodeType":"YulFunctionCall","src":"140294:18:19"},"nativeSrc":"140294:18:19","nodeType":"YulExpressionStatement","src":"140294:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140332:4:19","nodeType":"YulLiteral","src":"140332:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"140338:2:19","nodeType":"YulIdentifier","src":"140338:2:19"}],"functionName":{"name":"mstore","nativeSrc":"140325:6:19","nodeType":"YulIdentifier","src":"140325:6:19"},"nativeSrc":"140325:16:19","nodeType":"YulFunctionCall","src":"140325:16:19"},"nativeSrc":"140325:16:19","nodeType":"YulExpressionStatement","src":"140325:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140366:4:19","nodeType":"YulLiteral","src":"140366:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"140372:2:19","nodeType":"YulIdentifier","src":"140372:2:19"}],"functionName":{"name":"writeString","nativeSrc":"140354:11:19","nodeType":"YulIdentifier","src":"140354:11:19"},"nativeSrc":"140354:21:19","nodeType":"YulFunctionCall","src":"140354:21:19"},"nativeSrc":"140354:21:19","nodeType":"YulExpressionStatement","src":"140354:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30740,"isOffset":false,"isSlot":false,"src":"139923:2:19","valueSize":1},{"declaration":30743,"isOffset":false,"isSlot":false,"src":"139953:2:19","valueSize":1},{"declaration":30746,"isOffset":false,"isSlot":false,"src":"139983:2:19","valueSize":1},{"declaration":30749,"isOffset":false,"isSlot":false,"src":"140013:2:19","valueSize":1},{"declaration":30752,"isOffset":false,"isSlot":false,"src":"140043:2:19","valueSize":1},{"declaration":30755,"isOffset":false,"isSlot":false,"src":"140073:2:19","valueSize":1},{"declaration":30758,"isOffset":false,"isSlot":false,"src":"140103:2:19","valueSize":1},{"declaration":30730,"isOffset":false,"isSlot":false,"src":"140249:2:19","valueSize":1},{"declaration":30732,"isOffset":false,"isSlot":false,"src":"140278:2:19","valueSize":1},{"declaration":30734,"isOffset":false,"isSlot":false,"src":"140372:2:19","valueSize":1},{"declaration":30736,"isOffset":false,"isSlot":false,"src":"140338:2:19","valueSize":1}],"id":30760,"nodeType":"InlineAssembly","src":"139545:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"140410:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":30763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"140416:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":30761,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"140394:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"140394:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30765,"nodeType":"ExpressionStatement","src":"140394:27:19"},{"AST":{"nativeSrc":"140483:214:19","nodeType":"YulBlock","src":"140483:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"140504:4:19","nodeType":"YulLiteral","src":"140504:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"140510:2:19","nodeType":"YulIdentifier","src":"140510:2:19"}],"functionName":{"name":"mstore","nativeSrc":"140497:6:19","nodeType":"YulIdentifier","src":"140497:6:19"},"nativeSrc":"140497:16:19","nodeType":"YulFunctionCall","src":"140497:16:19"},"nativeSrc":"140497:16:19","nodeType":"YulExpressionStatement","src":"140497:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140533:4:19","nodeType":"YulLiteral","src":"140533:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"140539:2:19","nodeType":"YulIdentifier","src":"140539:2:19"}],"functionName":{"name":"mstore","nativeSrc":"140526:6:19","nodeType":"YulIdentifier","src":"140526:6:19"},"nativeSrc":"140526:16:19","nodeType":"YulFunctionCall","src":"140526:16:19"},"nativeSrc":"140526:16:19","nodeType":"YulExpressionStatement","src":"140526:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140562:4:19","nodeType":"YulLiteral","src":"140562:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"140568:2:19","nodeType":"YulIdentifier","src":"140568:2:19"}],"functionName":{"name":"mstore","nativeSrc":"140555:6:19","nodeType":"YulIdentifier","src":"140555:6:19"},"nativeSrc":"140555:16:19","nodeType":"YulFunctionCall","src":"140555:16:19"},"nativeSrc":"140555:16:19","nodeType":"YulExpressionStatement","src":"140555:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140591:4:19","nodeType":"YulLiteral","src":"140591:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"140597:2:19","nodeType":"YulIdentifier","src":"140597:2:19"}],"functionName":{"name":"mstore","nativeSrc":"140584:6:19","nodeType":"YulIdentifier","src":"140584:6:19"},"nativeSrc":"140584:16:19","nodeType":"YulFunctionCall","src":"140584:16:19"},"nativeSrc":"140584:16:19","nodeType":"YulExpressionStatement","src":"140584:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140620:4:19","nodeType":"YulLiteral","src":"140620:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"140626:2:19","nodeType":"YulIdentifier","src":"140626:2:19"}],"functionName":{"name":"mstore","nativeSrc":"140613:6:19","nodeType":"YulIdentifier","src":"140613:6:19"},"nativeSrc":"140613:16:19","nodeType":"YulFunctionCall","src":"140613:16:19"},"nativeSrc":"140613:16:19","nodeType":"YulExpressionStatement","src":"140613:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140649:4:19","nodeType":"YulLiteral","src":"140649:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"140655:2:19","nodeType":"YulIdentifier","src":"140655:2:19"}],"functionName":{"name":"mstore","nativeSrc":"140642:6:19","nodeType":"YulIdentifier","src":"140642:6:19"},"nativeSrc":"140642:16:19","nodeType":"YulFunctionCall","src":"140642:16:19"},"nativeSrc":"140642:16:19","nodeType":"YulExpressionStatement","src":"140642:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"140678:4:19","nodeType":"YulLiteral","src":"140678:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"140684:2:19","nodeType":"YulIdentifier","src":"140684:2:19"}],"functionName":{"name":"mstore","nativeSrc":"140671:6:19","nodeType":"YulIdentifier","src":"140671:6:19"},"nativeSrc":"140671:16:19","nodeType":"YulFunctionCall","src":"140671:16:19"},"nativeSrc":"140671:16:19","nodeType":"YulExpressionStatement","src":"140671:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30740,"isOffset":false,"isSlot":false,"src":"140510:2:19","valueSize":1},{"declaration":30743,"isOffset":false,"isSlot":false,"src":"140539:2:19","valueSize":1},{"declaration":30746,"isOffset":false,"isSlot":false,"src":"140568:2:19","valueSize":1},{"declaration":30749,"isOffset":false,"isSlot":false,"src":"140597:2:19","valueSize":1},{"declaration":30752,"isOffset":false,"isSlot":false,"src":"140626:2:19","valueSize":1},{"declaration":30755,"isOffset":false,"isSlot":false,"src":"140655:2:19","valueSize":1},{"declaration":30758,"isOffset":false,"isSlot":false,"src":"140684:2:19","valueSize":1}],"id":30766,"nodeType":"InlineAssembly","src":"140474:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"139286:3:19","parameters":{"id":30737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30730,"mutability":"mutable","name":"p0","nameLocation":"139298:2:19","nodeType":"VariableDeclaration","scope":30768,"src":"139290:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30729,"name":"address","nodeType":"ElementaryTypeName","src":"139290:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30732,"mutability":"mutable","name":"p1","nameLocation":"139310:2:19","nodeType":"VariableDeclaration","scope":30768,"src":"139302:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30731,"name":"uint256","nodeType":"ElementaryTypeName","src":"139302:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30734,"mutability":"mutable","name":"p2","nameLocation":"139322:2:19","nodeType":"VariableDeclaration","scope":30768,"src":"139314:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30733,"name":"bytes32","nodeType":"ElementaryTypeName","src":"139314:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30736,"mutability":"mutable","name":"p3","nameLocation":"139334:2:19","nodeType":"VariableDeclaration","scope":30768,"src":"139326:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30735,"name":"address","nodeType":"ElementaryTypeName","src":"139326:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"139289:48:19"},"returnParameters":{"id":30738,"nodeType":"ParameterList","parameters":[],"src":"139352:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30808,"nodeType":"FunctionDefinition","src":"140709:1420:19","nodes":[],"body":{"id":30807,"nodeType":"Block","src":"140781:1348:19","nodes":[],"statements":[{"assignments":[30780],"declarations":[{"constant":false,"id":30780,"mutability":"mutable","name":"m0","nameLocation":"140799:2:19","nodeType":"VariableDeclaration","scope":30807,"src":"140791:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30779,"name":"bytes32","nodeType":"ElementaryTypeName","src":"140791:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30781,"nodeType":"VariableDeclarationStatement","src":"140791:10:19"},{"assignments":[30783],"declarations":[{"constant":false,"id":30783,"mutability":"mutable","name":"m1","nameLocation":"140819:2:19","nodeType":"VariableDeclaration","scope":30807,"src":"140811:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30782,"name":"bytes32","nodeType":"ElementaryTypeName","src":"140811:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30784,"nodeType":"VariableDeclarationStatement","src":"140811:10:19"},{"assignments":[30786],"declarations":[{"constant":false,"id":30786,"mutability":"mutable","name":"m2","nameLocation":"140839:2:19","nodeType":"VariableDeclaration","scope":30807,"src":"140831:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30785,"name":"bytes32","nodeType":"ElementaryTypeName","src":"140831:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30787,"nodeType":"VariableDeclarationStatement","src":"140831:10:19"},{"assignments":[30789],"declarations":[{"constant":false,"id":30789,"mutability":"mutable","name":"m3","nameLocation":"140859:2:19","nodeType":"VariableDeclaration","scope":30807,"src":"140851:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30788,"name":"bytes32","nodeType":"ElementaryTypeName","src":"140851:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30790,"nodeType":"VariableDeclarationStatement","src":"140851:10:19"},{"assignments":[30792],"declarations":[{"constant":false,"id":30792,"mutability":"mutable","name":"m4","nameLocation":"140879:2:19","nodeType":"VariableDeclaration","scope":30807,"src":"140871:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30791,"name":"bytes32","nodeType":"ElementaryTypeName","src":"140871:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30793,"nodeType":"VariableDeclarationStatement","src":"140871:10:19"},{"assignments":[30795],"declarations":[{"constant":false,"id":30795,"mutability":"mutable","name":"m5","nameLocation":"140899:2:19","nodeType":"VariableDeclaration","scope":30807,"src":"140891:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30794,"name":"bytes32","nodeType":"ElementaryTypeName","src":"140891:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30796,"nodeType":"VariableDeclarationStatement","src":"140891:10:19"},{"assignments":[30798],"declarations":[{"constant":false,"id":30798,"mutability":"mutable","name":"m6","nameLocation":"140919:2:19","nodeType":"VariableDeclaration","scope":30807,"src":"140911:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30797,"name":"bytes32","nodeType":"ElementaryTypeName","src":"140911:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30799,"nodeType":"VariableDeclarationStatement","src":"140911:10:19"},{"AST":{"nativeSrc":"140983:828:19","nodeType":"YulBlock","src":"140983:828:19","statements":[{"body":{"nativeSrc":"141026:313:19","nodeType":"YulBlock","src":"141026:313:19","statements":[{"nativeSrc":"141044:15:19","nodeType":"YulVariableDeclaration","src":"141044:15:19","value":{"kind":"number","nativeSrc":"141058:1:19","nodeType":"YulLiteral","src":"141058:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"141048:6:19","nodeType":"YulTypedName","src":"141048:6:19","type":""}]},{"body":{"nativeSrc":"141129:40:19","nodeType":"YulBlock","src":"141129:40:19","statements":[{"body":{"nativeSrc":"141158:9:19","nodeType":"YulBlock","src":"141158:9:19","statements":[{"nativeSrc":"141160:5:19","nodeType":"YulBreak","src":"141160:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"141146:6:19","nodeType":"YulIdentifier","src":"141146:6:19"},{"name":"w","nativeSrc":"141154:1:19","nodeType":"YulIdentifier","src":"141154:1:19"}],"functionName":{"name":"byte","nativeSrc":"141141:4:19","nodeType":"YulIdentifier","src":"141141:4:19"},"nativeSrc":"141141:15:19","nodeType":"YulFunctionCall","src":"141141:15:19"}],"functionName":{"name":"iszero","nativeSrc":"141134:6:19","nodeType":"YulIdentifier","src":"141134:6:19"},"nativeSrc":"141134:23:19","nodeType":"YulFunctionCall","src":"141134:23:19"},"nativeSrc":"141131:36:19","nodeType":"YulIf","src":"141131:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"141086:6:19","nodeType":"YulIdentifier","src":"141086:6:19"},{"kind":"number","nativeSrc":"141094:4:19","nodeType":"YulLiteral","src":"141094:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"141083:2:19","nodeType":"YulIdentifier","src":"141083:2:19"},"nativeSrc":"141083:16:19","nodeType":"YulFunctionCall","src":"141083:16:19"},"nativeSrc":"141076:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"141100:28:19","nodeType":"YulBlock","src":"141100:28:19","statements":[{"nativeSrc":"141102:24:19","nodeType":"YulAssignment","src":"141102:24:19","value":{"arguments":[{"name":"length","nativeSrc":"141116:6:19","nodeType":"YulIdentifier","src":"141116:6:19"},{"kind":"number","nativeSrc":"141124:1:19","nodeType":"YulLiteral","src":"141124:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"141112:3:19","nodeType":"YulIdentifier","src":"141112:3:19"},"nativeSrc":"141112:14:19","nodeType":"YulFunctionCall","src":"141112:14:19"},"variableNames":[{"name":"length","nativeSrc":"141102:6:19","nodeType":"YulIdentifier","src":"141102:6:19"}]}]},"pre":{"nativeSrc":"141080:2:19","nodeType":"YulBlock","src":"141080:2:19","statements":[]},"src":"141076:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"141193:3:19","nodeType":"YulIdentifier","src":"141193:3:19"},{"name":"length","nativeSrc":"141198:6:19","nodeType":"YulIdentifier","src":"141198:6:19"}],"functionName":{"name":"mstore","nativeSrc":"141186:6:19","nodeType":"YulIdentifier","src":"141186:6:19"},"nativeSrc":"141186:19:19","nodeType":"YulFunctionCall","src":"141186:19:19"},"nativeSrc":"141186:19:19","nodeType":"YulExpressionStatement","src":"141186:19:19"},{"nativeSrc":"141222:37:19","nodeType":"YulVariableDeclaration","src":"141222:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"141239:3:19","nodeType":"YulLiteral","src":"141239:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"141248:1:19","nodeType":"YulLiteral","src":"141248:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"141251:6:19","nodeType":"YulIdentifier","src":"141251:6:19"}],"functionName":{"name":"shl","nativeSrc":"141244:3:19","nodeType":"YulIdentifier","src":"141244:3:19"},"nativeSrc":"141244:14:19","nodeType":"YulFunctionCall","src":"141244:14:19"}],"functionName":{"name":"sub","nativeSrc":"141235:3:19","nodeType":"YulIdentifier","src":"141235:3:19"},"nativeSrc":"141235:24:19","nodeType":"YulFunctionCall","src":"141235:24:19"},"variables":[{"name":"shift","nativeSrc":"141226:5:19","nodeType":"YulTypedName","src":"141226:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"141287:3:19","nodeType":"YulIdentifier","src":"141287:3:19"},{"kind":"number","nativeSrc":"141292:4:19","nodeType":"YulLiteral","src":"141292:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"141283:3:19","nodeType":"YulIdentifier","src":"141283:3:19"},"nativeSrc":"141283:14:19","nodeType":"YulFunctionCall","src":"141283:14:19"},{"arguments":[{"name":"shift","nativeSrc":"141303:5:19","nodeType":"YulIdentifier","src":"141303:5:19"},{"arguments":[{"name":"shift","nativeSrc":"141314:5:19","nodeType":"YulIdentifier","src":"141314:5:19"},{"name":"w","nativeSrc":"141321:1:19","nodeType":"YulIdentifier","src":"141321:1:19"}],"functionName":{"name":"shr","nativeSrc":"141310:3:19","nodeType":"YulIdentifier","src":"141310:3:19"},"nativeSrc":"141310:13:19","nodeType":"YulFunctionCall","src":"141310:13:19"}],"functionName":{"name":"shl","nativeSrc":"141299:3:19","nodeType":"YulIdentifier","src":"141299:3:19"},"nativeSrc":"141299:25:19","nodeType":"YulFunctionCall","src":"141299:25:19"}],"functionName":{"name":"mstore","nativeSrc":"141276:6:19","nodeType":"YulIdentifier","src":"141276:6:19"},"nativeSrc":"141276:49:19","nodeType":"YulFunctionCall","src":"141276:49:19"},"nativeSrc":"141276:49:19","nodeType":"YulExpressionStatement","src":"141276:49:19"}]},"name":"writeString","nativeSrc":"140997:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"141018:3:19","nodeType":"YulTypedName","src":"141018:3:19","type":""},{"name":"w","nativeSrc":"141023:1:19","nodeType":"YulTypedName","src":"141023:1:19","type":""}],"src":"140997:342:19"},{"nativeSrc":"141352:17:19","nodeType":"YulAssignment","src":"141352:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"141364:4:19","nodeType":"YulLiteral","src":"141364:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"141358:5:19","nodeType":"YulIdentifier","src":"141358:5:19"},"nativeSrc":"141358:11:19","nodeType":"YulFunctionCall","src":"141358:11:19"},"variableNames":[{"name":"m0","nativeSrc":"141352:2:19","nodeType":"YulIdentifier","src":"141352:2:19"}]},{"nativeSrc":"141382:17:19","nodeType":"YulAssignment","src":"141382:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"141394:4:19","nodeType":"YulLiteral","src":"141394:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"141388:5:19","nodeType":"YulIdentifier","src":"141388:5:19"},"nativeSrc":"141388:11:19","nodeType":"YulFunctionCall","src":"141388:11:19"},"variableNames":[{"name":"m1","nativeSrc":"141382:2:19","nodeType":"YulIdentifier","src":"141382:2:19"}]},{"nativeSrc":"141412:17:19","nodeType":"YulAssignment","src":"141412:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"141424:4:19","nodeType":"YulLiteral","src":"141424:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"141418:5:19","nodeType":"YulIdentifier","src":"141418:5:19"},"nativeSrc":"141418:11:19","nodeType":"YulFunctionCall","src":"141418:11:19"},"variableNames":[{"name":"m2","nativeSrc":"141412:2:19","nodeType":"YulIdentifier","src":"141412:2:19"}]},{"nativeSrc":"141442:17:19","nodeType":"YulAssignment","src":"141442:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"141454:4:19","nodeType":"YulLiteral","src":"141454:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"141448:5:19","nodeType":"YulIdentifier","src":"141448:5:19"},"nativeSrc":"141448:11:19","nodeType":"YulFunctionCall","src":"141448:11:19"},"variableNames":[{"name":"m3","nativeSrc":"141442:2:19","nodeType":"YulIdentifier","src":"141442:2:19"}]},{"nativeSrc":"141472:17:19","nodeType":"YulAssignment","src":"141472:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"141484:4:19","nodeType":"YulLiteral","src":"141484:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"141478:5:19","nodeType":"YulIdentifier","src":"141478:5:19"},"nativeSrc":"141478:11:19","nodeType":"YulFunctionCall","src":"141478:11:19"},"variableNames":[{"name":"m4","nativeSrc":"141472:2:19","nodeType":"YulIdentifier","src":"141472:2:19"}]},{"nativeSrc":"141502:17:19","nodeType":"YulAssignment","src":"141502:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"141514:4:19","nodeType":"YulLiteral","src":"141514:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"141508:5:19","nodeType":"YulIdentifier","src":"141508:5:19"},"nativeSrc":"141508:11:19","nodeType":"YulFunctionCall","src":"141508:11:19"},"variableNames":[{"name":"m5","nativeSrc":"141502:2:19","nodeType":"YulIdentifier","src":"141502:2:19"}]},{"nativeSrc":"141532:17:19","nodeType":"YulAssignment","src":"141532:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"141544:4:19","nodeType":"YulLiteral","src":"141544:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"141538:5:19","nodeType":"YulIdentifier","src":"141538:5:19"},"nativeSrc":"141538:11:19","nodeType":"YulFunctionCall","src":"141538:11:19"},"variableNames":[{"name":"m6","nativeSrc":"141532:2:19","nodeType":"YulIdentifier","src":"141532:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"141632:4:19","nodeType":"YulLiteral","src":"141632:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"141638:10:19","nodeType":"YulLiteral","src":"141638:10:19","type":"","value":"0xcf18105c"}],"functionName":{"name":"mstore","nativeSrc":"141625:6:19","nodeType":"YulIdentifier","src":"141625:6:19"},"nativeSrc":"141625:24:19","nodeType":"YulFunctionCall","src":"141625:24:19"},"nativeSrc":"141625:24:19","nodeType":"YulExpressionStatement","src":"141625:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"141669:4:19","nodeType":"YulLiteral","src":"141669:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"141675:2:19","nodeType":"YulIdentifier","src":"141675:2:19"}],"functionName":{"name":"mstore","nativeSrc":"141662:6:19","nodeType":"YulIdentifier","src":"141662:6:19"},"nativeSrc":"141662:16:19","nodeType":"YulFunctionCall","src":"141662:16:19"},"nativeSrc":"141662:16:19","nodeType":"YulExpressionStatement","src":"141662:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"141698:4:19","nodeType":"YulLiteral","src":"141698:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"141704:2:19","nodeType":"YulIdentifier","src":"141704:2:19"}],"functionName":{"name":"mstore","nativeSrc":"141691:6:19","nodeType":"YulIdentifier","src":"141691:6:19"},"nativeSrc":"141691:16:19","nodeType":"YulFunctionCall","src":"141691:16:19"},"nativeSrc":"141691:16:19","nodeType":"YulExpressionStatement","src":"141691:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"141727:4:19","nodeType":"YulLiteral","src":"141727:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"141733:4:19","nodeType":"YulLiteral","src":"141733:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"141720:6:19","nodeType":"YulIdentifier","src":"141720:6:19"},"nativeSrc":"141720:18:19","nodeType":"YulFunctionCall","src":"141720:18:19"},"nativeSrc":"141720:18:19","nodeType":"YulExpressionStatement","src":"141720:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"141758:4:19","nodeType":"YulLiteral","src":"141758:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"141764:2:19","nodeType":"YulIdentifier","src":"141764:2:19"}],"functionName":{"name":"mstore","nativeSrc":"141751:6:19","nodeType":"YulIdentifier","src":"141751:6:19"},"nativeSrc":"141751:16:19","nodeType":"YulFunctionCall","src":"141751:16:19"},"nativeSrc":"141751:16:19","nodeType":"YulExpressionStatement","src":"141751:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"141792:4:19","nodeType":"YulLiteral","src":"141792:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"141798:2:19","nodeType":"YulIdentifier","src":"141798:2:19"}],"functionName":{"name":"writeString","nativeSrc":"141780:11:19","nodeType":"YulIdentifier","src":"141780:11:19"},"nativeSrc":"141780:21:19","nodeType":"YulFunctionCall","src":"141780:21:19"},"nativeSrc":"141780:21:19","nodeType":"YulExpressionStatement","src":"141780:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30780,"isOffset":false,"isSlot":false,"src":"141352:2:19","valueSize":1},{"declaration":30783,"isOffset":false,"isSlot":false,"src":"141382:2:19","valueSize":1},{"declaration":30786,"isOffset":false,"isSlot":false,"src":"141412:2:19","valueSize":1},{"declaration":30789,"isOffset":false,"isSlot":false,"src":"141442:2:19","valueSize":1},{"declaration":30792,"isOffset":false,"isSlot":false,"src":"141472:2:19","valueSize":1},{"declaration":30795,"isOffset":false,"isSlot":false,"src":"141502:2:19","valueSize":1},{"declaration":30798,"isOffset":false,"isSlot":false,"src":"141532:2:19","valueSize":1},{"declaration":30770,"isOffset":false,"isSlot":false,"src":"141675:2:19","valueSize":1},{"declaration":30772,"isOffset":false,"isSlot":false,"src":"141704:2:19","valueSize":1},{"declaration":30774,"isOffset":false,"isSlot":false,"src":"141798:2:19","valueSize":1},{"declaration":30776,"isOffset":false,"isSlot":false,"src":"141764:2:19","valueSize":1}],"id":30800,"nodeType":"InlineAssembly","src":"140974:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"141836:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":30803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"141842:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":30801,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"141820:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"141820:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30805,"nodeType":"ExpressionStatement","src":"141820:27:19"},{"AST":{"nativeSrc":"141909:214:19","nodeType":"YulBlock","src":"141909:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"141930:4:19","nodeType":"YulLiteral","src":"141930:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"141936:2:19","nodeType":"YulIdentifier","src":"141936:2:19"}],"functionName":{"name":"mstore","nativeSrc":"141923:6:19","nodeType":"YulIdentifier","src":"141923:6:19"},"nativeSrc":"141923:16:19","nodeType":"YulFunctionCall","src":"141923:16:19"},"nativeSrc":"141923:16:19","nodeType":"YulExpressionStatement","src":"141923:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"141959:4:19","nodeType":"YulLiteral","src":"141959:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"141965:2:19","nodeType":"YulIdentifier","src":"141965:2:19"}],"functionName":{"name":"mstore","nativeSrc":"141952:6:19","nodeType":"YulIdentifier","src":"141952:6:19"},"nativeSrc":"141952:16:19","nodeType":"YulFunctionCall","src":"141952:16:19"},"nativeSrc":"141952:16:19","nodeType":"YulExpressionStatement","src":"141952:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"141988:4:19","nodeType":"YulLiteral","src":"141988:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"141994:2:19","nodeType":"YulIdentifier","src":"141994:2:19"}],"functionName":{"name":"mstore","nativeSrc":"141981:6:19","nodeType":"YulIdentifier","src":"141981:6:19"},"nativeSrc":"141981:16:19","nodeType":"YulFunctionCall","src":"141981:16:19"},"nativeSrc":"141981:16:19","nodeType":"YulExpressionStatement","src":"141981:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"142017:4:19","nodeType":"YulLiteral","src":"142017:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"142023:2:19","nodeType":"YulIdentifier","src":"142023:2:19"}],"functionName":{"name":"mstore","nativeSrc":"142010:6:19","nodeType":"YulIdentifier","src":"142010:6:19"},"nativeSrc":"142010:16:19","nodeType":"YulFunctionCall","src":"142010:16:19"},"nativeSrc":"142010:16:19","nodeType":"YulExpressionStatement","src":"142010:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"142046:4:19","nodeType":"YulLiteral","src":"142046:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"142052:2:19","nodeType":"YulIdentifier","src":"142052:2:19"}],"functionName":{"name":"mstore","nativeSrc":"142039:6:19","nodeType":"YulIdentifier","src":"142039:6:19"},"nativeSrc":"142039:16:19","nodeType":"YulFunctionCall","src":"142039:16:19"},"nativeSrc":"142039:16:19","nodeType":"YulExpressionStatement","src":"142039:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"142075:4:19","nodeType":"YulLiteral","src":"142075:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"142081:2:19","nodeType":"YulIdentifier","src":"142081:2:19"}],"functionName":{"name":"mstore","nativeSrc":"142068:6:19","nodeType":"YulIdentifier","src":"142068:6:19"},"nativeSrc":"142068:16:19","nodeType":"YulFunctionCall","src":"142068:16:19"},"nativeSrc":"142068:16:19","nodeType":"YulExpressionStatement","src":"142068:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"142104:4:19","nodeType":"YulLiteral","src":"142104:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"142110:2:19","nodeType":"YulIdentifier","src":"142110:2:19"}],"functionName":{"name":"mstore","nativeSrc":"142097:6:19","nodeType":"YulIdentifier","src":"142097:6:19"},"nativeSrc":"142097:16:19","nodeType":"YulFunctionCall","src":"142097:16:19"},"nativeSrc":"142097:16:19","nodeType":"YulExpressionStatement","src":"142097:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30780,"isOffset":false,"isSlot":false,"src":"141936:2:19","valueSize":1},{"declaration":30783,"isOffset":false,"isSlot":false,"src":"141965:2:19","valueSize":1},{"declaration":30786,"isOffset":false,"isSlot":false,"src":"141994:2:19","valueSize":1},{"declaration":30789,"isOffset":false,"isSlot":false,"src":"142023:2:19","valueSize":1},{"declaration":30792,"isOffset":false,"isSlot":false,"src":"142052:2:19","valueSize":1},{"declaration":30795,"isOffset":false,"isSlot":false,"src":"142081:2:19","valueSize":1},{"declaration":30798,"isOffset":false,"isSlot":false,"src":"142110:2:19","valueSize":1}],"id":30806,"nodeType":"InlineAssembly","src":"141900:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"140718:3:19","parameters":{"id":30777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30770,"mutability":"mutable","name":"p0","nameLocation":"140730:2:19","nodeType":"VariableDeclaration","scope":30808,"src":"140722:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30769,"name":"address","nodeType":"ElementaryTypeName","src":"140722:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30772,"mutability":"mutable","name":"p1","nameLocation":"140742:2:19","nodeType":"VariableDeclaration","scope":30808,"src":"140734:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30771,"name":"uint256","nodeType":"ElementaryTypeName","src":"140734:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30774,"mutability":"mutable","name":"p2","nameLocation":"140754:2:19","nodeType":"VariableDeclaration","scope":30808,"src":"140746:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30773,"name":"bytes32","nodeType":"ElementaryTypeName","src":"140746:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30776,"mutability":"mutable","name":"p3","nameLocation":"140763:2:19","nodeType":"VariableDeclaration","scope":30808,"src":"140758:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30775,"name":"bool","nodeType":"ElementaryTypeName","src":"140758:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"140721:45:19"},"returnParameters":{"id":30778,"nodeType":"ParameterList","parameters":[],"src":"140781:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30848,"nodeType":"FunctionDefinition","src":"142135:1426:19","nodes":[],"body":{"id":30847,"nodeType":"Block","src":"142210:1351:19","nodes":[],"statements":[{"assignments":[30820],"declarations":[{"constant":false,"id":30820,"mutability":"mutable","name":"m0","nameLocation":"142228:2:19","nodeType":"VariableDeclaration","scope":30847,"src":"142220:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30819,"name":"bytes32","nodeType":"ElementaryTypeName","src":"142220:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30821,"nodeType":"VariableDeclarationStatement","src":"142220:10:19"},{"assignments":[30823],"declarations":[{"constant":false,"id":30823,"mutability":"mutable","name":"m1","nameLocation":"142248:2:19","nodeType":"VariableDeclaration","scope":30847,"src":"142240:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30822,"name":"bytes32","nodeType":"ElementaryTypeName","src":"142240:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30824,"nodeType":"VariableDeclarationStatement","src":"142240:10:19"},{"assignments":[30826],"declarations":[{"constant":false,"id":30826,"mutability":"mutable","name":"m2","nameLocation":"142268:2:19","nodeType":"VariableDeclaration","scope":30847,"src":"142260:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30825,"name":"bytes32","nodeType":"ElementaryTypeName","src":"142260:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30827,"nodeType":"VariableDeclarationStatement","src":"142260:10:19"},{"assignments":[30829],"declarations":[{"constant":false,"id":30829,"mutability":"mutable","name":"m3","nameLocation":"142288:2:19","nodeType":"VariableDeclaration","scope":30847,"src":"142280:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30828,"name":"bytes32","nodeType":"ElementaryTypeName","src":"142280:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30830,"nodeType":"VariableDeclarationStatement","src":"142280:10:19"},{"assignments":[30832],"declarations":[{"constant":false,"id":30832,"mutability":"mutable","name":"m4","nameLocation":"142308:2:19","nodeType":"VariableDeclaration","scope":30847,"src":"142300:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30831,"name":"bytes32","nodeType":"ElementaryTypeName","src":"142300:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30833,"nodeType":"VariableDeclarationStatement","src":"142300:10:19"},{"assignments":[30835],"declarations":[{"constant":false,"id":30835,"mutability":"mutable","name":"m5","nameLocation":"142328:2:19","nodeType":"VariableDeclaration","scope":30847,"src":"142320:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30834,"name":"bytes32","nodeType":"ElementaryTypeName","src":"142320:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30836,"nodeType":"VariableDeclarationStatement","src":"142320:10:19"},{"assignments":[30838],"declarations":[{"constant":false,"id":30838,"mutability":"mutable","name":"m6","nameLocation":"142348:2:19","nodeType":"VariableDeclaration","scope":30847,"src":"142340:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30837,"name":"bytes32","nodeType":"ElementaryTypeName","src":"142340:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30839,"nodeType":"VariableDeclarationStatement","src":"142340:10:19"},{"AST":{"nativeSrc":"142412:831:19","nodeType":"YulBlock","src":"142412:831:19","statements":[{"body":{"nativeSrc":"142455:313:19","nodeType":"YulBlock","src":"142455:313:19","statements":[{"nativeSrc":"142473:15:19","nodeType":"YulVariableDeclaration","src":"142473:15:19","value":{"kind":"number","nativeSrc":"142487:1:19","nodeType":"YulLiteral","src":"142487:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"142477:6:19","nodeType":"YulTypedName","src":"142477:6:19","type":""}]},{"body":{"nativeSrc":"142558:40:19","nodeType":"YulBlock","src":"142558:40:19","statements":[{"body":{"nativeSrc":"142587:9:19","nodeType":"YulBlock","src":"142587:9:19","statements":[{"nativeSrc":"142589:5:19","nodeType":"YulBreak","src":"142589:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"142575:6:19","nodeType":"YulIdentifier","src":"142575:6:19"},{"name":"w","nativeSrc":"142583:1:19","nodeType":"YulIdentifier","src":"142583:1:19"}],"functionName":{"name":"byte","nativeSrc":"142570:4:19","nodeType":"YulIdentifier","src":"142570:4:19"},"nativeSrc":"142570:15:19","nodeType":"YulFunctionCall","src":"142570:15:19"}],"functionName":{"name":"iszero","nativeSrc":"142563:6:19","nodeType":"YulIdentifier","src":"142563:6:19"},"nativeSrc":"142563:23:19","nodeType":"YulFunctionCall","src":"142563:23:19"},"nativeSrc":"142560:36:19","nodeType":"YulIf","src":"142560:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"142515:6:19","nodeType":"YulIdentifier","src":"142515:6:19"},{"kind":"number","nativeSrc":"142523:4:19","nodeType":"YulLiteral","src":"142523:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"142512:2:19","nodeType":"YulIdentifier","src":"142512:2:19"},"nativeSrc":"142512:16:19","nodeType":"YulFunctionCall","src":"142512:16:19"},"nativeSrc":"142505:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"142529:28:19","nodeType":"YulBlock","src":"142529:28:19","statements":[{"nativeSrc":"142531:24:19","nodeType":"YulAssignment","src":"142531:24:19","value":{"arguments":[{"name":"length","nativeSrc":"142545:6:19","nodeType":"YulIdentifier","src":"142545:6:19"},{"kind":"number","nativeSrc":"142553:1:19","nodeType":"YulLiteral","src":"142553:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"142541:3:19","nodeType":"YulIdentifier","src":"142541:3:19"},"nativeSrc":"142541:14:19","nodeType":"YulFunctionCall","src":"142541:14:19"},"variableNames":[{"name":"length","nativeSrc":"142531:6:19","nodeType":"YulIdentifier","src":"142531:6:19"}]}]},"pre":{"nativeSrc":"142509:2:19","nodeType":"YulBlock","src":"142509:2:19","statements":[]},"src":"142505:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"142622:3:19","nodeType":"YulIdentifier","src":"142622:3:19"},{"name":"length","nativeSrc":"142627:6:19","nodeType":"YulIdentifier","src":"142627:6:19"}],"functionName":{"name":"mstore","nativeSrc":"142615:6:19","nodeType":"YulIdentifier","src":"142615:6:19"},"nativeSrc":"142615:19:19","nodeType":"YulFunctionCall","src":"142615:19:19"},"nativeSrc":"142615:19:19","nodeType":"YulExpressionStatement","src":"142615:19:19"},{"nativeSrc":"142651:37:19","nodeType":"YulVariableDeclaration","src":"142651:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"142668:3:19","nodeType":"YulLiteral","src":"142668:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"142677:1:19","nodeType":"YulLiteral","src":"142677:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"142680:6:19","nodeType":"YulIdentifier","src":"142680:6:19"}],"functionName":{"name":"shl","nativeSrc":"142673:3:19","nodeType":"YulIdentifier","src":"142673:3:19"},"nativeSrc":"142673:14:19","nodeType":"YulFunctionCall","src":"142673:14:19"}],"functionName":{"name":"sub","nativeSrc":"142664:3:19","nodeType":"YulIdentifier","src":"142664:3:19"},"nativeSrc":"142664:24:19","nodeType":"YulFunctionCall","src":"142664:24:19"},"variables":[{"name":"shift","nativeSrc":"142655:5:19","nodeType":"YulTypedName","src":"142655:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"142716:3:19","nodeType":"YulIdentifier","src":"142716:3:19"},{"kind":"number","nativeSrc":"142721:4:19","nodeType":"YulLiteral","src":"142721:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"142712:3:19","nodeType":"YulIdentifier","src":"142712:3:19"},"nativeSrc":"142712:14:19","nodeType":"YulFunctionCall","src":"142712:14:19"},{"arguments":[{"name":"shift","nativeSrc":"142732:5:19","nodeType":"YulIdentifier","src":"142732:5:19"},{"arguments":[{"name":"shift","nativeSrc":"142743:5:19","nodeType":"YulIdentifier","src":"142743:5:19"},{"name":"w","nativeSrc":"142750:1:19","nodeType":"YulIdentifier","src":"142750:1:19"}],"functionName":{"name":"shr","nativeSrc":"142739:3:19","nodeType":"YulIdentifier","src":"142739:3:19"},"nativeSrc":"142739:13:19","nodeType":"YulFunctionCall","src":"142739:13:19"}],"functionName":{"name":"shl","nativeSrc":"142728:3:19","nodeType":"YulIdentifier","src":"142728:3:19"},"nativeSrc":"142728:25:19","nodeType":"YulFunctionCall","src":"142728:25:19"}],"functionName":{"name":"mstore","nativeSrc":"142705:6:19","nodeType":"YulIdentifier","src":"142705:6:19"},"nativeSrc":"142705:49:19","nodeType":"YulFunctionCall","src":"142705:49:19"},"nativeSrc":"142705:49:19","nodeType":"YulExpressionStatement","src":"142705:49:19"}]},"name":"writeString","nativeSrc":"142426:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"142447:3:19","nodeType":"YulTypedName","src":"142447:3:19","type":""},{"name":"w","nativeSrc":"142452:1:19","nodeType":"YulTypedName","src":"142452:1:19","type":""}],"src":"142426:342:19"},{"nativeSrc":"142781:17:19","nodeType":"YulAssignment","src":"142781:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"142793:4:19","nodeType":"YulLiteral","src":"142793:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"142787:5:19","nodeType":"YulIdentifier","src":"142787:5:19"},"nativeSrc":"142787:11:19","nodeType":"YulFunctionCall","src":"142787:11:19"},"variableNames":[{"name":"m0","nativeSrc":"142781:2:19","nodeType":"YulIdentifier","src":"142781:2:19"}]},{"nativeSrc":"142811:17:19","nodeType":"YulAssignment","src":"142811:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"142823:4:19","nodeType":"YulLiteral","src":"142823:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"142817:5:19","nodeType":"YulIdentifier","src":"142817:5:19"},"nativeSrc":"142817:11:19","nodeType":"YulFunctionCall","src":"142817:11:19"},"variableNames":[{"name":"m1","nativeSrc":"142811:2:19","nodeType":"YulIdentifier","src":"142811:2:19"}]},{"nativeSrc":"142841:17:19","nodeType":"YulAssignment","src":"142841:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"142853:4:19","nodeType":"YulLiteral","src":"142853:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"142847:5:19","nodeType":"YulIdentifier","src":"142847:5:19"},"nativeSrc":"142847:11:19","nodeType":"YulFunctionCall","src":"142847:11:19"},"variableNames":[{"name":"m2","nativeSrc":"142841:2:19","nodeType":"YulIdentifier","src":"142841:2:19"}]},{"nativeSrc":"142871:17:19","nodeType":"YulAssignment","src":"142871:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"142883:4:19","nodeType":"YulLiteral","src":"142883:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"142877:5:19","nodeType":"YulIdentifier","src":"142877:5:19"},"nativeSrc":"142877:11:19","nodeType":"YulFunctionCall","src":"142877:11:19"},"variableNames":[{"name":"m3","nativeSrc":"142871:2:19","nodeType":"YulIdentifier","src":"142871:2:19"}]},{"nativeSrc":"142901:17:19","nodeType":"YulAssignment","src":"142901:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"142913:4:19","nodeType":"YulLiteral","src":"142913:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"142907:5:19","nodeType":"YulIdentifier","src":"142907:5:19"},"nativeSrc":"142907:11:19","nodeType":"YulFunctionCall","src":"142907:11:19"},"variableNames":[{"name":"m4","nativeSrc":"142901:2:19","nodeType":"YulIdentifier","src":"142901:2:19"}]},{"nativeSrc":"142931:17:19","nodeType":"YulAssignment","src":"142931:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"142943:4:19","nodeType":"YulLiteral","src":"142943:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"142937:5:19","nodeType":"YulIdentifier","src":"142937:5:19"},"nativeSrc":"142937:11:19","nodeType":"YulFunctionCall","src":"142937:11:19"},"variableNames":[{"name":"m5","nativeSrc":"142931:2:19","nodeType":"YulIdentifier","src":"142931:2:19"}]},{"nativeSrc":"142961:17:19","nodeType":"YulAssignment","src":"142961:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"142973:4:19","nodeType":"YulLiteral","src":"142973:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"142967:5:19","nodeType":"YulIdentifier","src":"142967:5:19"},"nativeSrc":"142967:11:19","nodeType":"YulFunctionCall","src":"142967:11:19"},"variableNames":[{"name":"m6","nativeSrc":"142961:2:19","nodeType":"YulIdentifier","src":"142961:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143064:4:19","nodeType":"YulLiteral","src":"143064:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"143070:10:19","nodeType":"YulLiteral","src":"143070:10:19","type":"","value":"0xbf01f891"}],"functionName":{"name":"mstore","nativeSrc":"143057:6:19","nodeType":"YulIdentifier","src":"143057:6:19"},"nativeSrc":"143057:24:19","nodeType":"YulFunctionCall","src":"143057:24:19"},"nativeSrc":"143057:24:19","nodeType":"YulExpressionStatement","src":"143057:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143101:4:19","nodeType":"YulLiteral","src":"143101:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"143107:2:19","nodeType":"YulIdentifier","src":"143107:2:19"}],"functionName":{"name":"mstore","nativeSrc":"143094:6:19","nodeType":"YulIdentifier","src":"143094:6:19"},"nativeSrc":"143094:16:19","nodeType":"YulFunctionCall","src":"143094:16:19"},"nativeSrc":"143094:16:19","nodeType":"YulExpressionStatement","src":"143094:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143130:4:19","nodeType":"YulLiteral","src":"143130:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"143136:2:19","nodeType":"YulIdentifier","src":"143136:2:19"}],"functionName":{"name":"mstore","nativeSrc":"143123:6:19","nodeType":"YulIdentifier","src":"143123:6:19"},"nativeSrc":"143123:16:19","nodeType":"YulFunctionCall","src":"143123:16:19"},"nativeSrc":"143123:16:19","nodeType":"YulExpressionStatement","src":"143123:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143159:4:19","nodeType":"YulLiteral","src":"143159:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"143165:4:19","nodeType":"YulLiteral","src":"143165:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"143152:6:19","nodeType":"YulIdentifier","src":"143152:6:19"},"nativeSrc":"143152:18:19","nodeType":"YulFunctionCall","src":"143152:18:19"},"nativeSrc":"143152:18:19","nodeType":"YulExpressionStatement","src":"143152:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143190:4:19","nodeType":"YulLiteral","src":"143190:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"143196:2:19","nodeType":"YulIdentifier","src":"143196:2:19"}],"functionName":{"name":"mstore","nativeSrc":"143183:6:19","nodeType":"YulIdentifier","src":"143183:6:19"},"nativeSrc":"143183:16:19","nodeType":"YulFunctionCall","src":"143183:16:19"},"nativeSrc":"143183:16:19","nodeType":"YulExpressionStatement","src":"143183:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143224:4:19","nodeType":"YulLiteral","src":"143224:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"143230:2:19","nodeType":"YulIdentifier","src":"143230:2:19"}],"functionName":{"name":"writeString","nativeSrc":"143212:11:19","nodeType":"YulIdentifier","src":"143212:11:19"},"nativeSrc":"143212:21:19","nodeType":"YulFunctionCall","src":"143212:21:19"},"nativeSrc":"143212:21:19","nodeType":"YulExpressionStatement","src":"143212:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30820,"isOffset":false,"isSlot":false,"src":"142781:2:19","valueSize":1},{"declaration":30823,"isOffset":false,"isSlot":false,"src":"142811:2:19","valueSize":1},{"declaration":30826,"isOffset":false,"isSlot":false,"src":"142841:2:19","valueSize":1},{"declaration":30829,"isOffset":false,"isSlot":false,"src":"142871:2:19","valueSize":1},{"declaration":30832,"isOffset":false,"isSlot":false,"src":"142901:2:19","valueSize":1},{"declaration":30835,"isOffset":false,"isSlot":false,"src":"142931:2:19","valueSize":1},{"declaration":30838,"isOffset":false,"isSlot":false,"src":"142961:2:19","valueSize":1},{"declaration":30810,"isOffset":false,"isSlot":false,"src":"143107:2:19","valueSize":1},{"declaration":30812,"isOffset":false,"isSlot":false,"src":"143136:2:19","valueSize":1},{"declaration":30814,"isOffset":false,"isSlot":false,"src":"143230:2:19","valueSize":1},{"declaration":30816,"isOffset":false,"isSlot":false,"src":"143196:2:19","valueSize":1}],"id":30840,"nodeType":"InlineAssembly","src":"142403:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"143268:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":30843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"143274:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":30841,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"143252:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"143252:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30845,"nodeType":"ExpressionStatement","src":"143252:27:19"},{"AST":{"nativeSrc":"143341:214:19","nodeType":"YulBlock","src":"143341:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"143362:4:19","nodeType":"YulLiteral","src":"143362:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"143368:2:19","nodeType":"YulIdentifier","src":"143368:2:19"}],"functionName":{"name":"mstore","nativeSrc":"143355:6:19","nodeType":"YulIdentifier","src":"143355:6:19"},"nativeSrc":"143355:16:19","nodeType":"YulFunctionCall","src":"143355:16:19"},"nativeSrc":"143355:16:19","nodeType":"YulExpressionStatement","src":"143355:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143391:4:19","nodeType":"YulLiteral","src":"143391:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"143397:2:19","nodeType":"YulIdentifier","src":"143397:2:19"}],"functionName":{"name":"mstore","nativeSrc":"143384:6:19","nodeType":"YulIdentifier","src":"143384:6:19"},"nativeSrc":"143384:16:19","nodeType":"YulFunctionCall","src":"143384:16:19"},"nativeSrc":"143384:16:19","nodeType":"YulExpressionStatement","src":"143384:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143420:4:19","nodeType":"YulLiteral","src":"143420:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"143426:2:19","nodeType":"YulIdentifier","src":"143426:2:19"}],"functionName":{"name":"mstore","nativeSrc":"143413:6:19","nodeType":"YulIdentifier","src":"143413:6:19"},"nativeSrc":"143413:16:19","nodeType":"YulFunctionCall","src":"143413:16:19"},"nativeSrc":"143413:16:19","nodeType":"YulExpressionStatement","src":"143413:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143449:4:19","nodeType":"YulLiteral","src":"143449:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"143455:2:19","nodeType":"YulIdentifier","src":"143455:2:19"}],"functionName":{"name":"mstore","nativeSrc":"143442:6:19","nodeType":"YulIdentifier","src":"143442:6:19"},"nativeSrc":"143442:16:19","nodeType":"YulFunctionCall","src":"143442:16:19"},"nativeSrc":"143442:16:19","nodeType":"YulExpressionStatement","src":"143442:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143478:4:19","nodeType":"YulLiteral","src":"143478:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"143484:2:19","nodeType":"YulIdentifier","src":"143484:2:19"}],"functionName":{"name":"mstore","nativeSrc":"143471:6:19","nodeType":"YulIdentifier","src":"143471:6:19"},"nativeSrc":"143471:16:19","nodeType":"YulFunctionCall","src":"143471:16:19"},"nativeSrc":"143471:16:19","nodeType":"YulExpressionStatement","src":"143471:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143507:4:19","nodeType":"YulLiteral","src":"143507:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"143513:2:19","nodeType":"YulIdentifier","src":"143513:2:19"}],"functionName":{"name":"mstore","nativeSrc":"143500:6:19","nodeType":"YulIdentifier","src":"143500:6:19"},"nativeSrc":"143500:16:19","nodeType":"YulFunctionCall","src":"143500:16:19"},"nativeSrc":"143500:16:19","nodeType":"YulExpressionStatement","src":"143500:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"143536:4:19","nodeType":"YulLiteral","src":"143536:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"143542:2:19","nodeType":"YulIdentifier","src":"143542:2:19"}],"functionName":{"name":"mstore","nativeSrc":"143529:6:19","nodeType":"YulIdentifier","src":"143529:6:19"},"nativeSrc":"143529:16:19","nodeType":"YulFunctionCall","src":"143529:16:19"},"nativeSrc":"143529:16:19","nodeType":"YulExpressionStatement","src":"143529:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30820,"isOffset":false,"isSlot":false,"src":"143368:2:19","valueSize":1},{"declaration":30823,"isOffset":false,"isSlot":false,"src":"143397:2:19","valueSize":1},{"declaration":30826,"isOffset":false,"isSlot":false,"src":"143426:2:19","valueSize":1},{"declaration":30829,"isOffset":false,"isSlot":false,"src":"143455:2:19","valueSize":1},{"declaration":30832,"isOffset":false,"isSlot":false,"src":"143484:2:19","valueSize":1},{"declaration":30835,"isOffset":false,"isSlot":false,"src":"143513:2:19","valueSize":1},{"declaration":30838,"isOffset":false,"isSlot":false,"src":"143542:2:19","valueSize":1}],"id":30846,"nodeType":"InlineAssembly","src":"143332:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"142144:3:19","parameters":{"id":30817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30810,"mutability":"mutable","name":"p0","nameLocation":"142156:2:19","nodeType":"VariableDeclaration","scope":30848,"src":"142148:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30809,"name":"address","nodeType":"ElementaryTypeName","src":"142148:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30812,"mutability":"mutable","name":"p1","nameLocation":"142168:2:19","nodeType":"VariableDeclaration","scope":30848,"src":"142160:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30811,"name":"uint256","nodeType":"ElementaryTypeName","src":"142160:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30814,"mutability":"mutable","name":"p2","nameLocation":"142180:2:19","nodeType":"VariableDeclaration","scope":30848,"src":"142172:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30813,"name":"bytes32","nodeType":"ElementaryTypeName","src":"142172:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30816,"mutability":"mutable","name":"p3","nameLocation":"142192:2:19","nodeType":"VariableDeclaration","scope":30848,"src":"142184:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30815,"name":"uint256","nodeType":"ElementaryTypeName","src":"142184:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"142147:48:19"},"returnParameters":{"id":30818,"nodeType":"ParameterList","parameters":[],"src":"142210:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30894,"nodeType":"FunctionDefinition","src":"143567:1622:19","nodes":[],"body":{"id":30893,"nodeType":"Block","src":"143642:1547:19","nodes":[],"statements":[{"assignments":[30860],"declarations":[{"constant":false,"id":30860,"mutability":"mutable","name":"m0","nameLocation":"143660:2:19","nodeType":"VariableDeclaration","scope":30893,"src":"143652:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30859,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143652:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30861,"nodeType":"VariableDeclarationStatement","src":"143652:10:19"},{"assignments":[30863],"declarations":[{"constant":false,"id":30863,"mutability":"mutable","name":"m1","nameLocation":"143680:2:19","nodeType":"VariableDeclaration","scope":30893,"src":"143672:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30862,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143672:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30864,"nodeType":"VariableDeclarationStatement","src":"143672:10:19"},{"assignments":[30866],"declarations":[{"constant":false,"id":30866,"mutability":"mutable","name":"m2","nameLocation":"143700:2:19","nodeType":"VariableDeclaration","scope":30893,"src":"143692:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30865,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143692:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30867,"nodeType":"VariableDeclarationStatement","src":"143692:10:19"},{"assignments":[30869],"declarations":[{"constant":false,"id":30869,"mutability":"mutable","name":"m3","nameLocation":"143720:2:19","nodeType":"VariableDeclaration","scope":30893,"src":"143712:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30868,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143712:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30870,"nodeType":"VariableDeclarationStatement","src":"143712:10:19"},{"assignments":[30872],"declarations":[{"constant":false,"id":30872,"mutability":"mutable","name":"m4","nameLocation":"143740:2:19","nodeType":"VariableDeclaration","scope":30893,"src":"143732:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30871,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143732:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30873,"nodeType":"VariableDeclarationStatement","src":"143732:10:19"},{"assignments":[30875],"declarations":[{"constant":false,"id":30875,"mutability":"mutable","name":"m5","nameLocation":"143760:2:19","nodeType":"VariableDeclaration","scope":30893,"src":"143752:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30874,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143752:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30876,"nodeType":"VariableDeclarationStatement","src":"143752:10:19"},{"assignments":[30878],"declarations":[{"constant":false,"id":30878,"mutability":"mutable","name":"m6","nameLocation":"143780:2:19","nodeType":"VariableDeclaration","scope":30893,"src":"143772:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30877,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143772:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30879,"nodeType":"VariableDeclarationStatement","src":"143772:10:19"},{"assignments":[30881],"declarations":[{"constant":false,"id":30881,"mutability":"mutable","name":"m7","nameLocation":"143800:2:19","nodeType":"VariableDeclaration","scope":30893,"src":"143792:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30880,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143792:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30882,"nodeType":"VariableDeclarationStatement","src":"143792:10:19"},{"assignments":[30884],"declarations":[{"constant":false,"id":30884,"mutability":"mutable","name":"m8","nameLocation":"143820:2:19","nodeType":"VariableDeclaration","scope":30893,"src":"143812:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30883,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143812:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30885,"nodeType":"VariableDeclarationStatement","src":"143812:10:19"},{"AST":{"nativeSrc":"143884:927:19","nodeType":"YulBlock","src":"143884:927:19","statements":[{"body":{"nativeSrc":"143927:313:19","nodeType":"YulBlock","src":"143927:313:19","statements":[{"nativeSrc":"143945:15:19","nodeType":"YulVariableDeclaration","src":"143945:15:19","value":{"kind":"number","nativeSrc":"143959:1:19","nodeType":"YulLiteral","src":"143959:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"143949:6:19","nodeType":"YulTypedName","src":"143949:6:19","type":""}]},{"body":{"nativeSrc":"144030:40:19","nodeType":"YulBlock","src":"144030:40:19","statements":[{"body":{"nativeSrc":"144059:9:19","nodeType":"YulBlock","src":"144059:9:19","statements":[{"nativeSrc":"144061:5:19","nodeType":"YulBreak","src":"144061:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"144047:6:19","nodeType":"YulIdentifier","src":"144047:6:19"},{"name":"w","nativeSrc":"144055:1:19","nodeType":"YulIdentifier","src":"144055:1:19"}],"functionName":{"name":"byte","nativeSrc":"144042:4:19","nodeType":"YulIdentifier","src":"144042:4:19"},"nativeSrc":"144042:15:19","nodeType":"YulFunctionCall","src":"144042:15:19"}],"functionName":{"name":"iszero","nativeSrc":"144035:6:19","nodeType":"YulIdentifier","src":"144035:6:19"},"nativeSrc":"144035:23:19","nodeType":"YulFunctionCall","src":"144035:23:19"},"nativeSrc":"144032:36:19","nodeType":"YulIf","src":"144032:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"143987:6:19","nodeType":"YulIdentifier","src":"143987:6:19"},{"kind":"number","nativeSrc":"143995:4:19","nodeType":"YulLiteral","src":"143995:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"143984:2:19","nodeType":"YulIdentifier","src":"143984:2:19"},"nativeSrc":"143984:16:19","nodeType":"YulFunctionCall","src":"143984:16:19"},"nativeSrc":"143977:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"144001:28:19","nodeType":"YulBlock","src":"144001:28:19","statements":[{"nativeSrc":"144003:24:19","nodeType":"YulAssignment","src":"144003:24:19","value":{"arguments":[{"name":"length","nativeSrc":"144017:6:19","nodeType":"YulIdentifier","src":"144017:6:19"},{"kind":"number","nativeSrc":"144025:1:19","nodeType":"YulLiteral","src":"144025:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"144013:3:19","nodeType":"YulIdentifier","src":"144013:3:19"},"nativeSrc":"144013:14:19","nodeType":"YulFunctionCall","src":"144013:14:19"},"variableNames":[{"name":"length","nativeSrc":"144003:6:19","nodeType":"YulIdentifier","src":"144003:6:19"}]}]},"pre":{"nativeSrc":"143981:2:19","nodeType":"YulBlock","src":"143981:2:19","statements":[]},"src":"143977:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"144094:3:19","nodeType":"YulIdentifier","src":"144094:3:19"},{"name":"length","nativeSrc":"144099:6:19","nodeType":"YulIdentifier","src":"144099:6:19"}],"functionName":{"name":"mstore","nativeSrc":"144087:6:19","nodeType":"YulIdentifier","src":"144087:6:19"},"nativeSrc":"144087:19:19","nodeType":"YulFunctionCall","src":"144087:19:19"},"nativeSrc":"144087:19:19","nodeType":"YulExpressionStatement","src":"144087:19:19"},{"nativeSrc":"144123:37:19","nodeType":"YulVariableDeclaration","src":"144123:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"144140:3:19","nodeType":"YulLiteral","src":"144140:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"144149:1:19","nodeType":"YulLiteral","src":"144149:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"144152:6:19","nodeType":"YulIdentifier","src":"144152:6:19"}],"functionName":{"name":"shl","nativeSrc":"144145:3:19","nodeType":"YulIdentifier","src":"144145:3:19"},"nativeSrc":"144145:14:19","nodeType":"YulFunctionCall","src":"144145:14:19"}],"functionName":{"name":"sub","nativeSrc":"144136:3:19","nodeType":"YulIdentifier","src":"144136:3:19"},"nativeSrc":"144136:24:19","nodeType":"YulFunctionCall","src":"144136:24:19"},"variables":[{"name":"shift","nativeSrc":"144127:5:19","nodeType":"YulTypedName","src":"144127:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"144188:3:19","nodeType":"YulIdentifier","src":"144188:3:19"},{"kind":"number","nativeSrc":"144193:4:19","nodeType":"YulLiteral","src":"144193:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"144184:3:19","nodeType":"YulIdentifier","src":"144184:3:19"},"nativeSrc":"144184:14:19","nodeType":"YulFunctionCall","src":"144184:14:19"},{"arguments":[{"name":"shift","nativeSrc":"144204:5:19","nodeType":"YulIdentifier","src":"144204:5:19"},{"arguments":[{"name":"shift","nativeSrc":"144215:5:19","nodeType":"YulIdentifier","src":"144215:5:19"},{"name":"w","nativeSrc":"144222:1:19","nodeType":"YulIdentifier","src":"144222:1:19"}],"functionName":{"name":"shr","nativeSrc":"144211:3:19","nodeType":"YulIdentifier","src":"144211:3:19"},"nativeSrc":"144211:13:19","nodeType":"YulFunctionCall","src":"144211:13:19"}],"functionName":{"name":"shl","nativeSrc":"144200:3:19","nodeType":"YulIdentifier","src":"144200:3:19"},"nativeSrc":"144200:25:19","nodeType":"YulFunctionCall","src":"144200:25:19"}],"functionName":{"name":"mstore","nativeSrc":"144177:6:19","nodeType":"YulIdentifier","src":"144177:6:19"},"nativeSrc":"144177:49:19","nodeType":"YulFunctionCall","src":"144177:49:19"},"nativeSrc":"144177:49:19","nodeType":"YulExpressionStatement","src":"144177:49:19"}]},"name":"writeString","nativeSrc":"143898:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"143919:3:19","nodeType":"YulTypedName","src":"143919:3:19","type":""},{"name":"w","nativeSrc":"143924:1:19","nodeType":"YulTypedName","src":"143924:1:19","type":""}],"src":"143898:342:19"},{"nativeSrc":"144253:17:19","nodeType":"YulAssignment","src":"144253:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"144265:4:19","nodeType":"YulLiteral","src":"144265:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"144259:5:19","nodeType":"YulIdentifier","src":"144259:5:19"},"nativeSrc":"144259:11:19","nodeType":"YulFunctionCall","src":"144259:11:19"},"variableNames":[{"name":"m0","nativeSrc":"144253:2:19","nodeType":"YulIdentifier","src":"144253:2:19"}]},{"nativeSrc":"144283:17:19","nodeType":"YulAssignment","src":"144283:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"144295:4:19","nodeType":"YulLiteral","src":"144295:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"144289:5:19","nodeType":"YulIdentifier","src":"144289:5:19"},"nativeSrc":"144289:11:19","nodeType":"YulFunctionCall","src":"144289:11:19"},"variableNames":[{"name":"m1","nativeSrc":"144283:2:19","nodeType":"YulIdentifier","src":"144283:2:19"}]},{"nativeSrc":"144313:17:19","nodeType":"YulAssignment","src":"144313:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"144325:4:19","nodeType":"YulLiteral","src":"144325:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"144319:5:19","nodeType":"YulIdentifier","src":"144319:5:19"},"nativeSrc":"144319:11:19","nodeType":"YulFunctionCall","src":"144319:11:19"},"variableNames":[{"name":"m2","nativeSrc":"144313:2:19","nodeType":"YulIdentifier","src":"144313:2:19"}]},{"nativeSrc":"144343:17:19","nodeType":"YulAssignment","src":"144343:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"144355:4:19","nodeType":"YulLiteral","src":"144355:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"144349:5:19","nodeType":"YulIdentifier","src":"144349:5:19"},"nativeSrc":"144349:11:19","nodeType":"YulFunctionCall","src":"144349:11:19"},"variableNames":[{"name":"m3","nativeSrc":"144343:2:19","nodeType":"YulIdentifier","src":"144343:2:19"}]},{"nativeSrc":"144373:17:19","nodeType":"YulAssignment","src":"144373:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"144385:4:19","nodeType":"YulLiteral","src":"144385:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"144379:5:19","nodeType":"YulIdentifier","src":"144379:5:19"},"nativeSrc":"144379:11:19","nodeType":"YulFunctionCall","src":"144379:11:19"},"variableNames":[{"name":"m4","nativeSrc":"144373:2:19","nodeType":"YulIdentifier","src":"144373:2:19"}]},{"nativeSrc":"144403:17:19","nodeType":"YulAssignment","src":"144403:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"144415:4:19","nodeType":"YulLiteral","src":"144415:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"144409:5:19","nodeType":"YulIdentifier","src":"144409:5:19"},"nativeSrc":"144409:11:19","nodeType":"YulFunctionCall","src":"144409:11:19"},"variableNames":[{"name":"m5","nativeSrc":"144403:2:19","nodeType":"YulIdentifier","src":"144403:2:19"}]},{"nativeSrc":"144433:17:19","nodeType":"YulAssignment","src":"144433:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"144445:4:19","nodeType":"YulLiteral","src":"144445:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"144439:5:19","nodeType":"YulIdentifier","src":"144439:5:19"},"nativeSrc":"144439:11:19","nodeType":"YulFunctionCall","src":"144439:11:19"},"variableNames":[{"name":"m6","nativeSrc":"144433:2:19","nodeType":"YulIdentifier","src":"144433:2:19"}]},{"nativeSrc":"144463:17:19","nodeType":"YulAssignment","src":"144463:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"144475:4:19","nodeType":"YulLiteral","src":"144475:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"144469:5:19","nodeType":"YulIdentifier","src":"144469:5:19"},"nativeSrc":"144469:11:19","nodeType":"YulFunctionCall","src":"144469:11:19"},"variableNames":[{"name":"m7","nativeSrc":"144463:2:19","nodeType":"YulIdentifier","src":"144463:2:19"}]},{"nativeSrc":"144493:18:19","nodeType":"YulAssignment","src":"144493:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"144505:5:19","nodeType":"YulLiteral","src":"144505:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"144499:5:19","nodeType":"YulIdentifier","src":"144499:5:19"},"nativeSrc":"144499:12:19","nodeType":"YulFunctionCall","src":"144499:12:19"},"variableNames":[{"name":"m8","nativeSrc":"144493:2:19","nodeType":"YulIdentifier","src":"144493:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144596:4:19","nodeType":"YulLiteral","src":"144596:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"144602:10:19","nodeType":"YulLiteral","src":"144602:10:19","type":"","value":"0x88a8c406"}],"functionName":{"name":"mstore","nativeSrc":"144589:6:19","nodeType":"YulIdentifier","src":"144589:6:19"},"nativeSrc":"144589:24:19","nodeType":"YulFunctionCall","src":"144589:24:19"},"nativeSrc":"144589:24:19","nodeType":"YulExpressionStatement","src":"144589:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144633:4:19","nodeType":"YulLiteral","src":"144633:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"144639:2:19","nodeType":"YulIdentifier","src":"144639:2:19"}],"functionName":{"name":"mstore","nativeSrc":"144626:6:19","nodeType":"YulIdentifier","src":"144626:6:19"},"nativeSrc":"144626:16:19","nodeType":"YulFunctionCall","src":"144626:16:19"},"nativeSrc":"144626:16:19","nodeType":"YulExpressionStatement","src":"144626:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144662:4:19","nodeType":"YulLiteral","src":"144662:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"144668:2:19","nodeType":"YulIdentifier","src":"144668:2:19"}],"functionName":{"name":"mstore","nativeSrc":"144655:6:19","nodeType":"YulIdentifier","src":"144655:6:19"},"nativeSrc":"144655:16:19","nodeType":"YulFunctionCall","src":"144655:16:19"},"nativeSrc":"144655:16:19","nodeType":"YulExpressionStatement","src":"144655:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144691:4:19","nodeType":"YulLiteral","src":"144691:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"144697:4:19","nodeType":"YulLiteral","src":"144697:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"144684:6:19","nodeType":"YulIdentifier","src":"144684:6:19"},"nativeSrc":"144684:18:19","nodeType":"YulFunctionCall","src":"144684:18:19"},"nativeSrc":"144684:18:19","nodeType":"YulExpressionStatement","src":"144684:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144722:4:19","nodeType":"YulLiteral","src":"144722:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"144728:4:19","nodeType":"YulLiteral","src":"144728:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"144715:6:19","nodeType":"YulIdentifier","src":"144715:6:19"},"nativeSrc":"144715:18:19","nodeType":"YulFunctionCall","src":"144715:18:19"},"nativeSrc":"144715:18:19","nodeType":"YulExpressionStatement","src":"144715:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144758:4:19","nodeType":"YulLiteral","src":"144758:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"144764:2:19","nodeType":"YulIdentifier","src":"144764:2:19"}],"functionName":{"name":"writeString","nativeSrc":"144746:11:19","nodeType":"YulIdentifier","src":"144746:11:19"},"nativeSrc":"144746:21:19","nodeType":"YulFunctionCall","src":"144746:21:19"},"nativeSrc":"144746:21:19","nodeType":"YulExpressionStatement","src":"144746:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144792:4:19","nodeType":"YulLiteral","src":"144792:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"144798:2:19","nodeType":"YulIdentifier","src":"144798:2:19"}],"functionName":{"name":"writeString","nativeSrc":"144780:11:19","nodeType":"YulIdentifier","src":"144780:11:19"},"nativeSrc":"144780:21:19","nodeType":"YulFunctionCall","src":"144780:21:19"},"nativeSrc":"144780:21:19","nodeType":"YulExpressionStatement","src":"144780:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30860,"isOffset":false,"isSlot":false,"src":"144253:2:19","valueSize":1},{"declaration":30863,"isOffset":false,"isSlot":false,"src":"144283:2:19","valueSize":1},{"declaration":30866,"isOffset":false,"isSlot":false,"src":"144313:2:19","valueSize":1},{"declaration":30869,"isOffset":false,"isSlot":false,"src":"144343:2:19","valueSize":1},{"declaration":30872,"isOffset":false,"isSlot":false,"src":"144373:2:19","valueSize":1},{"declaration":30875,"isOffset":false,"isSlot":false,"src":"144403:2:19","valueSize":1},{"declaration":30878,"isOffset":false,"isSlot":false,"src":"144433:2:19","valueSize":1},{"declaration":30881,"isOffset":false,"isSlot":false,"src":"144463:2:19","valueSize":1},{"declaration":30884,"isOffset":false,"isSlot":false,"src":"144493:2:19","valueSize":1},{"declaration":30850,"isOffset":false,"isSlot":false,"src":"144639:2:19","valueSize":1},{"declaration":30852,"isOffset":false,"isSlot":false,"src":"144668:2:19","valueSize":1},{"declaration":30854,"isOffset":false,"isSlot":false,"src":"144764:2:19","valueSize":1},{"declaration":30856,"isOffset":false,"isSlot":false,"src":"144798:2:19","valueSize":1}],"id":30886,"nodeType":"InlineAssembly","src":"143875:936:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"144836:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":30889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"144842:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":30887,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"144820:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"144820:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30891,"nodeType":"ExpressionStatement","src":"144820:28:19"},{"AST":{"nativeSrc":"144910:273:19","nodeType":"YulBlock","src":"144910:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"144931:4:19","nodeType":"YulLiteral","src":"144931:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"144937:2:19","nodeType":"YulIdentifier","src":"144937:2:19"}],"functionName":{"name":"mstore","nativeSrc":"144924:6:19","nodeType":"YulIdentifier","src":"144924:6:19"},"nativeSrc":"144924:16:19","nodeType":"YulFunctionCall","src":"144924:16:19"},"nativeSrc":"144924:16:19","nodeType":"YulExpressionStatement","src":"144924:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144960:4:19","nodeType":"YulLiteral","src":"144960:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"144966:2:19","nodeType":"YulIdentifier","src":"144966:2:19"}],"functionName":{"name":"mstore","nativeSrc":"144953:6:19","nodeType":"YulIdentifier","src":"144953:6:19"},"nativeSrc":"144953:16:19","nodeType":"YulFunctionCall","src":"144953:16:19"},"nativeSrc":"144953:16:19","nodeType":"YulExpressionStatement","src":"144953:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"144989:4:19","nodeType":"YulLiteral","src":"144989:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"144995:2:19","nodeType":"YulIdentifier","src":"144995:2:19"}],"functionName":{"name":"mstore","nativeSrc":"144982:6:19","nodeType":"YulIdentifier","src":"144982:6:19"},"nativeSrc":"144982:16:19","nodeType":"YulFunctionCall","src":"144982:16:19"},"nativeSrc":"144982:16:19","nodeType":"YulExpressionStatement","src":"144982:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"145018:4:19","nodeType":"YulLiteral","src":"145018:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"145024:2:19","nodeType":"YulIdentifier","src":"145024:2:19"}],"functionName":{"name":"mstore","nativeSrc":"145011:6:19","nodeType":"YulIdentifier","src":"145011:6:19"},"nativeSrc":"145011:16:19","nodeType":"YulFunctionCall","src":"145011:16:19"},"nativeSrc":"145011:16:19","nodeType":"YulExpressionStatement","src":"145011:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"145047:4:19","nodeType":"YulLiteral","src":"145047:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"145053:2:19","nodeType":"YulIdentifier","src":"145053:2:19"}],"functionName":{"name":"mstore","nativeSrc":"145040:6:19","nodeType":"YulIdentifier","src":"145040:6:19"},"nativeSrc":"145040:16:19","nodeType":"YulFunctionCall","src":"145040:16:19"},"nativeSrc":"145040:16:19","nodeType":"YulExpressionStatement","src":"145040:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"145076:4:19","nodeType":"YulLiteral","src":"145076:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"145082:2:19","nodeType":"YulIdentifier","src":"145082:2:19"}],"functionName":{"name":"mstore","nativeSrc":"145069:6:19","nodeType":"YulIdentifier","src":"145069:6:19"},"nativeSrc":"145069:16:19","nodeType":"YulFunctionCall","src":"145069:16:19"},"nativeSrc":"145069:16:19","nodeType":"YulExpressionStatement","src":"145069:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"145105:4:19","nodeType":"YulLiteral","src":"145105:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"145111:2:19","nodeType":"YulIdentifier","src":"145111:2:19"}],"functionName":{"name":"mstore","nativeSrc":"145098:6:19","nodeType":"YulIdentifier","src":"145098:6:19"},"nativeSrc":"145098:16:19","nodeType":"YulFunctionCall","src":"145098:16:19"},"nativeSrc":"145098:16:19","nodeType":"YulExpressionStatement","src":"145098:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"145134:4:19","nodeType":"YulLiteral","src":"145134:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"145140:2:19","nodeType":"YulIdentifier","src":"145140:2:19"}],"functionName":{"name":"mstore","nativeSrc":"145127:6:19","nodeType":"YulIdentifier","src":"145127:6:19"},"nativeSrc":"145127:16:19","nodeType":"YulFunctionCall","src":"145127:16:19"},"nativeSrc":"145127:16:19","nodeType":"YulExpressionStatement","src":"145127:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"145163:5:19","nodeType":"YulLiteral","src":"145163:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"145170:2:19","nodeType":"YulIdentifier","src":"145170:2:19"}],"functionName":{"name":"mstore","nativeSrc":"145156:6:19","nodeType":"YulIdentifier","src":"145156:6:19"},"nativeSrc":"145156:17:19","nodeType":"YulFunctionCall","src":"145156:17:19"},"nativeSrc":"145156:17:19","nodeType":"YulExpressionStatement","src":"145156:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30860,"isOffset":false,"isSlot":false,"src":"144937:2:19","valueSize":1},{"declaration":30863,"isOffset":false,"isSlot":false,"src":"144966:2:19","valueSize":1},{"declaration":30866,"isOffset":false,"isSlot":false,"src":"144995:2:19","valueSize":1},{"declaration":30869,"isOffset":false,"isSlot":false,"src":"145024:2:19","valueSize":1},{"declaration":30872,"isOffset":false,"isSlot":false,"src":"145053:2:19","valueSize":1},{"declaration":30875,"isOffset":false,"isSlot":false,"src":"145082:2:19","valueSize":1},{"declaration":30878,"isOffset":false,"isSlot":false,"src":"145111:2:19","valueSize":1},{"declaration":30881,"isOffset":false,"isSlot":false,"src":"145140:2:19","valueSize":1},{"declaration":30884,"isOffset":false,"isSlot":false,"src":"145170:2:19","valueSize":1}],"id":30892,"nodeType":"InlineAssembly","src":"144901:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"143576:3:19","parameters":{"id":30857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30850,"mutability":"mutable","name":"p0","nameLocation":"143588:2:19","nodeType":"VariableDeclaration","scope":30894,"src":"143580:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30849,"name":"address","nodeType":"ElementaryTypeName","src":"143580:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30852,"mutability":"mutable","name":"p1","nameLocation":"143600:2:19","nodeType":"VariableDeclaration","scope":30894,"src":"143592:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30851,"name":"uint256","nodeType":"ElementaryTypeName","src":"143592:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30854,"mutability":"mutable","name":"p2","nameLocation":"143612:2:19","nodeType":"VariableDeclaration","scope":30894,"src":"143604:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30853,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143604:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30856,"mutability":"mutable","name":"p3","nameLocation":"143624:2:19","nodeType":"VariableDeclaration","scope":30894,"src":"143616:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30855,"name":"bytes32","nodeType":"ElementaryTypeName","src":"143616:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"143579:48:19"},"returnParameters":{"id":30858,"nodeType":"ParameterList","parameters":[],"src":"143642:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30934,"nodeType":"FunctionDefinition","src":"145195:1426:19","nodes":[],"body":{"id":30933,"nodeType":"Block","src":"145270:1351:19","nodes":[],"statements":[{"assignments":[30906],"declarations":[{"constant":false,"id":30906,"mutability":"mutable","name":"m0","nameLocation":"145288:2:19","nodeType":"VariableDeclaration","scope":30933,"src":"145280:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30905,"name":"bytes32","nodeType":"ElementaryTypeName","src":"145280:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30907,"nodeType":"VariableDeclarationStatement","src":"145280:10:19"},{"assignments":[30909],"declarations":[{"constant":false,"id":30909,"mutability":"mutable","name":"m1","nameLocation":"145308:2:19","nodeType":"VariableDeclaration","scope":30933,"src":"145300:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30908,"name":"bytes32","nodeType":"ElementaryTypeName","src":"145300:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30910,"nodeType":"VariableDeclarationStatement","src":"145300:10:19"},{"assignments":[30912],"declarations":[{"constant":false,"id":30912,"mutability":"mutable","name":"m2","nameLocation":"145328:2:19","nodeType":"VariableDeclaration","scope":30933,"src":"145320:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30911,"name":"bytes32","nodeType":"ElementaryTypeName","src":"145320:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30913,"nodeType":"VariableDeclarationStatement","src":"145320:10:19"},{"assignments":[30915],"declarations":[{"constant":false,"id":30915,"mutability":"mutable","name":"m3","nameLocation":"145348:2:19","nodeType":"VariableDeclaration","scope":30933,"src":"145340:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30914,"name":"bytes32","nodeType":"ElementaryTypeName","src":"145340:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30916,"nodeType":"VariableDeclarationStatement","src":"145340:10:19"},{"assignments":[30918],"declarations":[{"constant":false,"id":30918,"mutability":"mutable","name":"m4","nameLocation":"145368:2:19","nodeType":"VariableDeclaration","scope":30933,"src":"145360:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30917,"name":"bytes32","nodeType":"ElementaryTypeName","src":"145360:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30919,"nodeType":"VariableDeclarationStatement","src":"145360:10:19"},{"assignments":[30921],"declarations":[{"constant":false,"id":30921,"mutability":"mutable","name":"m5","nameLocation":"145388:2:19","nodeType":"VariableDeclaration","scope":30933,"src":"145380:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30920,"name":"bytes32","nodeType":"ElementaryTypeName","src":"145380:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30922,"nodeType":"VariableDeclarationStatement","src":"145380:10:19"},{"assignments":[30924],"declarations":[{"constant":false,"id":30924,"mutability":"mutable","name":"m6","nameLocation":"145408:2:19","nodeType":"VariableDeclaration","scope":30933,"src":"145400:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30923,"name":"bytes32","nodeType":"ElementaryTypeName","src":"145400:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30925,"nodeType":"VariableDeclarationStatement","src":"145400:10:19"},{"AST":{"nativeSrc":"145472:831:19","nodeType":"YulBlock","src":"145472:831:19","statements":[{"body":{"nativeSrc":"145515:313:19","nodeType":"YulBlock","src":"145515:313:19","statements":[{"nativeSrc":"145533:15:19","nodeType":"YulVariableDeclaration","src":"145533:15:19","value":{"kind":"number","nativeSrc":"145547:1:19","nodeType":"YulLiteral","src":"145547:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"145537:6:19","nodeType":"YulTypedName","src":"145537:6:19","type":""}]},{"body":{"nativeSrc":"145618:40:19","nodeType":"YulBlock","src":"145618:40:19","statements":[{"body":{"nativeSrc":"145647:9:19","nodeType":"YulBlock","src":"145647:9:19","statements":[{"nativeSrc":"145649:5:19","nodeType":"YulBreak","src":"145649:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"145635:6:19","nodeType":"YulIdentifier","src":"145635:6:19"},{"name":"w","nativeSrc":"145643:1:19","nodeType":"YulIdentifier","src":"145643:1:19"}],"functionName":{"name":"byte","nativeSrc":"145630:4:19","nodeType":"YulIdentifier","src":"145630:4:19"},"nativeSrc":"145630:15:19","nodeType":"YulFunctionCall","src":"145630:15:19"}],"functionName":{"name":"iszero","nativeSrc":"145623:6:19","nodeType":"YulIdentifier","src":"145623:6:19"},"nativeSrc":"145623:23:19","nodeType":"YulFunctionCall","src":"145623:23:19"},"nativeSrc":"145620:36:19","nodeType":"YulIf","src":"145620:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"145575:6:19","nodeType":"YulIdentifier","src":"145575:6:19"},{"kind":"number","nativeSrc":"145583:4:19","nodeType":"YulLiteral","src":"145583:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"145572:2:19","nodeType":"YulIdentifier","src":"145572:2:19"},"nativeSrc":"145572:16:19","nodeType":"YulFunctionCall","src":"145572:16:19"},"nativeSrc":"145565:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"145589:28:19","nodeType":"YulBlock","src":"145589:28:19","statements":[{"nativeSrc":"145591:24:19","nodeType":"YulAssignment","src":"145591:24:19","value":{"arguments":[{"name":"length","nativeSrc":"145605:6:19","nodeType":"YulIdentifier","src":"145605:6:19"},{"kind":"number","nativeSrc":"145613:1:19","nodeType":"YulLiteral","src":"145613:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"145601:3:19","nodeType":"YulIdentifier","src":"145601:3:19"},"nativeSrc":"145601:14:19","nodeType":"YulFunctionCall","src":"145601:14:19"},"variableNames":[{"name":"length","nativeSrc":"145591:6:19","nodeType":"YulIdentifier","src":"145591:6:19"}]}]},"pre":{"nativeSrc":"145569:2:19","nodeType":"YulBlock","src":"145569:2:19","statements":[]},"src":"145565:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"145682:3:19","nodeType":"YulIdentifier","src":"145682:3:19"},{"name":"length","nativeSrc":"145687:6:19","nodeType":"YulIdentifier","src":"145687:6:19"}],"functionName":{"name":"mstore","nativeSrc":"145675:6:19","nodeType":"YulIdentifier","src":"145675:6:19"},"nativeSrc":"145675:19:19","nodeType":"YulFunctionCall","src":"145675:19:19"},"nativeSrc":"145675:19:19","nodeType":"YulExpressionStatement","src":"145675:19:19"},{"nativeSrc":"145711:37:19","nodeType":"YulVariableDeclaration","src":"145711:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"145728:3:19","nodeType":"YulLiteral","src":"145728:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"145737:1:19","nodeType":"YulLiteral","src":"145737:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"145740:6:19","nodeType":"YulIdentifier","src":"145740:6:19"}],"functionName":{"name":"shl","nativeSrc":"145733:3:19","nodeType":"YulIdentifier","src":"145733:3:19"},"nativeSrc":"145733:14:19","nodeType":"YulFunctionCall","src":"145733:14:19"}],"functionName":{"name":"sub","nativeSrc":"145724:3:19","nodeType":"YulIdentifier","src":"145724:3:19"},"nativeSrc":"145724:24:19","nodeType":"YulFunctionCall","src":"145724:24:19"},"variables":[{"name":"shift","nativeSrc":"145715:5:19","nodeType":"YulTypedName","src":"145715:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"145776:3:19","nodeType":"YulIdentifier","src":"145776:3:19"},{"kind":"number","nativeSrc":"145781:4:19","nodeType":"YulLiteral","src":"145781:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"145772:3:19","nodeType":"YulIdentifier","src":"145772:3:19"},"nativeSrc":"145772:14:19","nodeType":"YulFunctionCall","src":"145772:14:19"},{"arguments":[{"name":"shift","nativeSrc":"145792:5:19","nodeType":"YulIdentifier","src":"145792:5:19"},{"arguments":[{"name":"shift","nativeSrc":"145803:5:19","nodeType":"YulIdentifier","src":"145803:5:19"},{"name":"w","nativeSrc":"145810:1:19","nodeType":"YulIdentifier","src":"145810:1:19"}],"functionName":{"name":"shr","nativeSrc":"145799:3:19","nodeType":"YulIdentifier","src":"145799:3:19"},"nativeSrc":"145799:13:19","nodeType":"YulFunctionCall","src":"145799:13:19"}],"functionName":{"name":"shl","nativeSrc":"145788:3:19","nodeType":"YulIdentifier","src":"145788:3:19"},"nativeSrc":"145788:25:19","nodeType":"YulFunctionCall","src":"145788:25:19"}],"functionName":{"name":"mstore","nativeSrc":"145765:6:19","nodeType":"YulIdentifier","src":"145765:6:19"},"nativeSrc":"145765:49:19","nodeType":"YulFunctionCall","src":"145765:49:19"},"nativeSrc":"145765:49:19","nodeType":"YulExpressionStatement","src":"145765:49:19"}]},"name":"writeString","nativeSrc":"145486:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"145507:3:19","nodeType":"YulTypedName","src":"145507:3:19","type":""},{"name":"w","nativeSrc":"145512:1:19","nodeType":"YulTypedName","src":"145512:1:19","type":""}],"src":"145486:342:19"},{"nativeSrc":"145841:17:19","nodeType":"YulAssignment","src":"145841:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"145853:4:19","nodeType":"YulLiteral","src":"145853:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"145847:5:19","nodeType":"YulIdentifier","src":"145847:5:19"},"nativeSrc":"145847:11:19","nodeType":"YulFunctionCall","src":"145847:11:19"},"variableNames":[{"name":"m0","nativeSrc":"145841:2:19","nodeType":"YulIdentifier","src":"145841:2:19"}]},{"nativeSrc":"145871:17:19","nodeType":"YulAssignment","src":"145871:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"145883:4:19","nodeType":"YulLiteral","src":"145883:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"145877:5:19","nodeType":"YulIdentifier","src":"145877:5:19"},"nativeSrc":"145877:11:19","nodeType":"YulFunctionCall","src":"145877:11:19"},"variableNames":[{"name":"m1","nativeSrc":"145871:2:19","nodeType":"YulIdentifier","src":"145871:2:19"}]},{"nativeSrc":"145901:17:19","nodeType":"YulAssignment","src":"145901:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"145913:4:19","nodeType":"YulLiteral","src":"145913:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"145907:5:19","nodeType":"YulIdentifier","src":"145907:5:19"},"nativeSrc":"145907:11:19","nodeType":"YulFunctionCall","src":"145907:11:19"},"variableNames":[{"name":"m2","nativeSrc":"145901:2:19","nodeType":"YulIdentifier","src":"145901:2:19"}]},{"nativeSrc":"145931:17:19","nodeType":"YulAssignment","src":"145931:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"145943:4:19","nodeType":"YulLiteral","src":"145943:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"145937:5:19","nodeType":"YulIdentifier","src":"145937:5:19"},"nativeSrc":"145937:11:19","nodeType":"YulFunctionCall","src":"145937:11:19"},"variableNames":[{"name":"m3","nativeSrc":"145931:2:19","nodeType":"YulIdentifier","src":"145931:2:19"}]},{"nativeSrc":"145961:17:19","nodeType":"YulAssignment","src":"145961:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"145973:4:19","nodeType":"YulLiteral","src":"145973:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"145967:5:19","nodeType":"YulIdentifier","src":"145967:5:19"},"nativeSrc":"145967:11:19","nodeType":"YulFunctionCall","src":"145967:11:19"},"variableNames":[{"name":"m4","nativeSrc":"145961:2:19","nodeType":"YulIdentifier","src":"145961:2:19"}]},{"nativeSrc":"145991:17:19","nodeType":"YulAssignment","src":"145991:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"146003:4:19","nodeType":"YulLiteral","src":"146003:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"145997:5:19","nodeType":"YulIdentifier","src":"145997:5:19"},"nativeSrc":"145997:11:19","nodeType":"YulFunctionCall","src":"145997:11:19"},"variableNames":[{"name":"m5","nativeSrc":"145991:2:19","nodeType":"YulIdentifier","src":"145991:2:19"}]},{"nativeSrc":"146021:17:19","nodeType":"YulAssignment","src":"146021:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"146033:4:19","nodeType":"YulLiteral","src":"146033:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"146027:5:19","nodeType":"YulIdentifier","src":"146027:5:19"},"nativeSrc":"146027:11:19","nodeType":"YulFunctionCall","src":"146027:11:19"},"variableNames":[{"name":"m6","nativeSrc":"146021:2:19","nodeType":"YulIdentifier","src":"146021:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146124:4:19","nodeType":"YulLiteral","src":"146124:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"146130:10:19","nodeType":"YulLiteral","src":"146130:10:19","type":"","value":"0x0d36fa20"}],"functionName":{"name":"mstore","nativeSrc":"146117:6:19","nodeType":"YulIdentifier","src":"146117:6:19"},"nativeSrc":"146117:24:19","nodeType":"YulFunctionCall","src":"146117:24:19"},"nativeSrc":"146117:24:19","nodeType":"YulExpressionStatement","src":"146117:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146161:4:19","nodeType":"YulLiteral","src":"146161:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"146167:2:19","nodeType":"YulIdentifier","src":"146167:2:19"}],"functionName":{"name":"mstore","nativeSrc":"146154:6:19","nodeType":"YulIdentifier","src":"146154:6:19"},"nativeSrc":"146154:16:19","nodeType":"YulFunctionCall","src":"146154:16:19"},"nativeSrc":"146154:16:19","nodeType":"YulExpressionStatement","src":"146154:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146190:4:19","nodeType":"YulLiteral","src":"146190:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"146196:4:19","nodeType":"YulLiteral","src":"146196:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"146183:6:19","nodeType":"YulIdentifier","src":"146183:6:19"},"nativeSrc":"146183:18:19","nodeType":"YulFunctionCall","src":"146183:18:19"},"nativeSrc":"146183:18:19","nodeType":"YulExpressionStatement","src":"146183:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146221:4:19","nodeType":"YulLiteral","src":"146221:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"146227:2:19","nodeType":"YulIdentifier","src":"146227:2:19"}],"functionName":{"name":"mstore","nativeSrc":"146214:6:19","nodeType":"YulIdentifier","src":"146214:6:19"},"nativeSrc":"146214:16:19","nodeType":"YulFunctionCall","src":"146214:16:19"},"nativeSrc":"146214:16:19","nodeType":"YulExpressionStatement","src":"146214:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146250:4:19","nodeType":"YulLiteral","src":"146250:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"146256:2:19","nodeType":"YulIdentifier","src":"146256:2:19"}],"functionName":{"name":"mstore","nativeSrc":"146243:6:19","nodeType":"YulIdentifier","src":"146243:6:19"},"nativeSrc":"146243:16:19","nodeType":"YulFunctionCall","src":"146243:16:19"},"nativeSrc":"146243:16:19","nodeType":"YulExpressionStatement","src":"146243:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146284:4:19","nodeType":"YulLiteral","src":"146284:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"146290:2:19","nodeType":"YulIdentifier","src":"146290:2:19"}],"functionName":{"name":"writeString","nativeSrc":"146272:11:19","nodeType":"YulIdentifier","src":"146272:11:19"},"nativeSrc":"146272:21:19","nodeType":"YulFunctionCall","src":"146272:21:19"},"nativeSrc":"146272:21:19","nodeType":"YulExpressionStatement","src":"146272:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30906,"isOffset":false,"isSlot":false,"src":"145841:2:19","valueSize":1},{"declaration":30909,"isOffset":false,"isSlot":false,"src":"145871:2:19","valueSize":1},{"declaration":30912,"isOffset":false,"isSlot":false,"src":"145901:2:19","valueSize":1},{"declaration":30915,"isOffset":false,"isSlot":false,"src":"145931:2:19","valueSize":1},{"declaration":30918,"isOffset":false,"isSlot":false,"src":"145961:2:19","valueSize":1},{"declaration":30921,"isOffset":false,"isSlot":false,"src":"145991:2:19","valueSize":1},{"declaration":30924,"isOffset":false,"isSlot":false,"src":"146021:2:19","valueSize":1},{"declaration":30896,"isOffset":false,"isSlot":false,"src":"146167:2:19","valueSize":1},{"declaration":30898,"isOffset":false,"isSlot":false,"src":"146290:2:19","valueSize":1},{"declaration":30900,"isOffset":false,"isSlot":false,"src":"146227:2:19","valueSize":1},{"declaration":30902,"isOffset":false,"isSlot":false,"src":"146256:2:19","valueSize":1}],"id":30926,"nodeType":"InlineAssembly","src":"145463:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"146328:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":30929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"146334:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":30927,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"146312:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"146312:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30931,"nodeType":"ExpressionStatement","src":"146312:27:19"},{"AST":{"nativeSrc":"146401:214:19","nodeType":"YulBlock","src":"146401:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"146422:4:19","nodeType":"YulLiteral","src":"146422:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"146428:2:19","nodeType":"YulIdentifier","src":"146428:2:19"}],"functionName":{"name":"mstore","nativeSrc":"146415:6:19","nodeType":"YulIdentifier","src":"146415:6:19"},"nativeSrc":"146415:16:19","nodeType":"YulFunctionCall","src":"146415:16:19"},"nativeSrc":"146415:16:19","nodeType":"YulExpressionStatement","src":"146415:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146451:4:19","nodeType":"YulLiteral","src":"146451:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"146457:2:19","nodeType":"YulIdentifier","src":"146457:2:19"}],"functionName":{"name":"mstore","nativeSrc":"146444:6:19","nodeType":"YulIdentifier","src":"146444:6:19"},"nativeSrc":"146444:16:19","nodeType":"YulFunctionCall","src":"146444:16:19"},"nativeSrc":"146444:16:19","nodeType":"YulExpressionStatement","src":"146444:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146480:4:19","nodeType":"YulLiteral","src":"146480:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"146486:2:19","nodeType":"YulIdentifier","src":"146486:2:19"}],"functionName":{"name":"mstore","nativeSrc":"146473:6:19","nodeType":"YulIdentifier","src":"146473:6:19"},"nativeSrc":"146473:16:19","nodeType":"YulFunctionCall","src":"146473:16:19"},"nativeSrc":"146473:16:19","nodeType":"YulExpressionStatement","src":"146473:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146509:4:19","nodeType":"YulLiteral","src":"146509:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"146515:2:19","nodeType":"YulIdentifier","src":"146515:2:19"}],"functionName":{"name":"mstore","nativeSrc":"146502:6:19","nodeType":"YulIdentifier","src":"146502:6:19"},"nativeSrc":"146502:16:19","nodeType":"YulFunctionCall","src":"146502:16:19"},"nativeSrc":"146502:16:19","nodeType":"YulExpressionStatement","src":"146502:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146538:4:19","nodeType":"YulLiteral","src":"146538:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"146544:2:19","nodeType":"YulIdentifier","src":"146544:2:19"}],"functionName":{"name":"mstore","nativeSrc":"146531:6:19","nodeType":"YulIdentifier","src":"146531:6:19"},"nativeSrc":"146531:16:19","nodeType":"YulFunctionCall","src":"146531:16:19"},"nativeSrc":"146531:16:19","nodeType":"YulExpressionStatement","src":"146531:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146567:4:19","nodeType":"YulLiteral","src":"146567:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"146573:2:19","nodeType":"YulIdentifier","src":"146573:2:19"}],"functionName":{"name":"mstore","nativeSrc":"146560:6:19","nodeType":"YulIdentifier","src":"146560:6:19"},"nativeSrc":"146560:16:19","nodeType":"YulFunctionCall","src":"146560:16:19"},"nativeSrc":"146560:16:19","nodeType":"YulExpressionStatement","src":"146560:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"146596:4:19","nodeType":"YulLiteral","src":"146596:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"146602:2:19","nodeType":"YulIdentifier","src":"146602:2:19"}],"functionName":{"name":"mstore","nativeSrc":"146589:6:19","nodeType":"YulIdentifier","src":"146589:6:19"},"nativeSrc":"146589:16:19","nodeType":"YulFunctionCall","src":"146589:16:19"},"nativeSrc":"146589:16:19","nodeType":"YulExpressionStatement","src":"146589:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30906,"isOffset":false,"isSlot":false,"src":"146428:2:19","valueSize":1},{"declaration":30909,"isOffset":false,"isSlot":false,"src":"146457:2:19","valueSize":1},{"declaration":30912,"isOffset":false,"isSlot":false,"src":"146486:2:19","valueSize":1},{"declaration":30915,"isOffset":false,"isSlot":false,"src":"146515:2:19","valueSize":1},{"declaration":30918,"isOffset":false,"isSlot":false,"src":"146544:2:19","valueSize":1},{"declaration":30921,"isOffset":false,"isSlot":false,"src":"146573:2:19","valueSize":1},{"declaration":30924,"isOffset":false,"isSlot":false,"src":"146602:2:19","valueSize":1}],"id":30932,"nodeType":"InlineAssembly","src":"146392:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"145204:3:19","parameters":{"id":30903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30896,"mutability":"mutable","name":"p0","nameLocation":"145216:2:19","nodeType":"VariableDeclaration","scope":30934,"src":"145208:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30895,"name":"address","nodeType":"ElementaryTypeName","src":"145208:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30898,"mutability":"mutable","name":"p1","nameLocation":"145228:2:19","nodeType":"VariableDeclaration","scope":30934,"src":"145220:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30897,"name":"bytes32","nodeType":"ElementaryTypeName","src":"145220:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30900,"mutability":"mutable","name":"p2","nameLocation":"145240:2:19","nodeType":"VariableDeclaration","scope":30934,"src":"145232:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30899,"name":"address","nodeType":"ElementaryTypeName","src":"145232:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30902,"mutability":"mutable","name":"p3","nameLocation":"145252:2:19","nodeType":"VariableDeclaration","scope":30934,"src":"145244:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30901,"name":"address","nodeType":"ElementaryTypeName","src":"145244:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"145207:48:19"},"returnParameters":{"id":30904,"nodeType":"ParameterList","parameters":[],"src":"145270:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":30974,"nodeType":"FunctionDefinition","src":"146627:1420:19","nodes":[],"body":{"id":30973,"nodeType":"Block","src":"146699:1348:19","nodes":[],"statements":[{"assignments":[30946],"declarations":[{"constant":false,"id":30946,"mutability":"mutable","name":"m0","nameLocation":"146717:2:19","nodeType":"VariableDeclaration","scope":30973,"src":"146709:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30945,"name":"bytes32","nodeType":"ElementaryTypeName","src":"146709:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30947,"nodeType":"VariableDeclarationStatement","src":"146709:10:19"},{"assignments":[30949],"declarations":[{"constant":false,"id":30949,"mutability":"mutable","name":"m1","nameLocation":"146737:2:19","nodeType":"VariableDeclaration","scope":30973,"src":"146729:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30948,"name":"bytes32","nodeType":"ElementaryTypeName","src":"146729:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30950,"nodeType":"VariableDeclarationStatement","src":"146729:10:19"},{"assignments":[30952],"declarations":[{"constant":false,"id":30952,"mutability":"mutable","name":"m2","nameLocation":"146757:2:19","nodeType":"VariableDeclaration","scope":30973,"src":"146749:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30951,"name":"bytes32","nodeType":"ElementaryTypeName","src":"146749:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30953,"nodeType":"VariableDeclarationStatement","src":"146749:10:19"},{"assignments":[30955],"declarations":[{"constant":false,"id":30955,"mutability":"mutable","name":"m3","nameLocation":"146777:2:19","nodeType":"VariableDeclaration","scope":30973,"src":"146769:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30954,"name":"bytes32","nodeType":"ElementaryTypeName","src":"146769:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30956,"nodeType":"VariableDeclarationStatement","src":"146769:10:19"},{"assignments":[30958],"declarations":[{"constant":false,"id":30958,"mutability":"mutable","name":"m4","nameLocation":"146797:2:19","nodeType":"VariableDeclaration","scope":30973,"src":"146789:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30957,"name":"bytes32","nodeType":"ElementaryTypeName","src":"146789:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30959,"nodeType":"VariableDeclarationStatement","src":"146789:10:19"},{"assignments":[30961],"declarations":[{"constant":false,"id":30961,"mutability":"mutable","name":"m5","nameLocation":"146817:2:19","nodeType":"VariableDeclaration","scope":30973,"src":"146809:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30960,"name":"bytes32","nodeType":"ElementaryTypeName","src":"146809:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30962,"nodeType":"VariableDeclarationStatement","src":"146809:10:19"},{"assignments":[30964],"declarations":[{"constant":false,"id":30964,"mutability":"mutable","name":"m6","nameLocation":"146837:2:19","nodeType":"VariableDeclaration","scope":30973,"src":"146829:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30963,"name":"bytes32","nodeType":"ElementaryTypeName","src":"146829:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30965,"nodeType":"VariableDeclarationStatement","src":"146829:10:19"},{"AST":{"nativeSrc":"146901:828:19","nodeType":"YulBlock","src":"146901:828:19","statements":[{"body":{"nativeSrc":"146944:313:19","nodeType":"YulBlock","src":"146944:313:19","statements":[{"nativeSrc":"146962:15:19","nodeType":"YulVariableDeclaration","src":"146962:15:19","value":{"kind":"number","nativeSrc":"146976:1:19","nodeType":"YulLiteral","src":"146976:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"146966:6:19","nodeType":"YulTypedName","src":"146966:6:19","type":""}]},{"body":{"nativeSrc":"147047:40:19","nodeType":"YulBlock","src":"147047:40:19","statements":[{"body":{"nativeSrc":"147076:9:19","nodeType":"YulBlock","src":"147076:9:19","statements":[{"nativeSrc":"147078:5:19","nodeType":"YulBreak","src":"147078:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"147064:6:19","nodeType":"YulIdentifier","src":"147064:6:19"},{"name":"w","nativeSrc":"147072:1:19","nodeType":"YulIdentifier","src":"147072:1:19"}],"functionName":{"name":"byte","nativeSrc":"147059:4:19","nodeType":"YulIdentifier","src":"147059:4:19"},"nativeSrc":"147059:15:19","nodeType":"YulFunctionCall","src":"147059:15:19"}],"functionName":{"name":"iszero","nativeSrc":"147052:6:19","nodeType":"YulIdentifier","src":"147052:6:19"},"nativeSrc":"147052:23:19","nodeType":"YulFunctionCall","src":"147052:23:19"},"nativeSrc":"147049:36:19","nodeType":"YulIf","src":"147049:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"147004:6:19","nodeType":"YulIdentifier","src":"147004:6:19"},{"kind":"number","nativeSrc":"147012:4:19","nodeType":"YulLiteral","src":"147012:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"147001:2:19","nodeType":"YulIdentifier","src":"147001:2:19"},"nativeSrc":"147001:16:19","nodeType":"YulFunctionCall","src":"147001:16:19"},"nativeSrc":"146994:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"147018:28:19","nodeType":"YulBlock","src":"147018:28:19","statements":[{"nativeSrc":"147020:24:19","nodeType":"YulAssignment","src":"147020:24:19","value":{"arguments":[{"name":"length","nativeSrc":"147034:6:19","nodeType":"YulIdentifier","src":"147034:6:19"},{"kind":"number","nativeSrc":"147042:1:19","nodeType":"YulLiteral","src":"147042:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"147030:3:19","nodeType":"YulIdentifier","src":"147030:3:19"},"nativeSrc":"147030:14:19","nodeType":"YulFunctionCall","src":"147030:14:19"},"variableNames":[{"name":"length","nativeSrc":"147020:6:19","nodeType":"YulIdentifier","src":"147020:6:19"}]}]},"pre":{"nativeSrc":"146998:2:19","nodeType":"YulBlock","src":"146998:2:19","statements":[]},"src":"146994:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"147111:3:19","nodeType":"YulIdentifier","src":"147111:3:19"},{"name":"length","nativeSrc":"147116:6:19","nodeType":"YulIdentifier","src":"147116:6:19"}],"functionName":{"name":"mstore","nativeSrc":"147104:6:19","nodeType":"YulIdentifier","src":"147104:6:19"},"nativeSrc":"147104:19:19","nodeType":"YulFunctionCall","src":"147104:19:19"},"nativeSrc":"147104:19:19","nodeType":"YulExpressionStatement","src":"147104:19:19"},{"nativeSrc":"147140:37:19","nodeType":"YulVariableDeclaration","src":"147140:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"147157:3:19","nodeType":"YulLiteral","src":"147157:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"147166:1:19","nodeType":"YulLiteral","src":"147166:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"147169:6:19","nodeType":"YulIdentifier","src":"147169:6:19"}],"functionName":{"name":"shl","nativeSrc":"147162:3:19","nodeType":"YulIdentifier","src":"147162:3:19"},"nativeSrc":"147162:14:19","nodeType":"YulFunctionCall","src":"147162:14:19"}],"functionName":{"name":"sub","nativeSrc":"147153:3:19","nodeType":"YulIdentifier","src":"147153:3:19"},"nativeSrc":"147153:24:19","nodeType":"YulFunctionCall","src":"147153:24:19"},"variables":[{"name":"shift","nativeSrc":"147144:5:19","nodeType":"YulTypedName","src":"147144:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"147205:3:19","nodeType":"YulIdentifier","src":"147205:3:19"},{"kind":"number","nativeSrc":"147210:4:19","nodeType":"YulLiteral","src":"147210:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"147201:3:19","nodeType":"YulIdentifier","src":"147201:3:19"},"nativeSrc":"147201:14:19","nodeType":"YulFunctionCall","src":"147201:14:19"},{"arguments":[{"name":"shift","nativeSrc":"147221:5:19","nodeType":"YulIdentifier","src":"147221:5:19"},{"arguments":[{"name":"shift","nativeSrc":"147232:5:19","nodeType":"YulIdentifier","src":"147232:5:19"},{"name":"w","nativeSrc":"147239:1:19","nodeType":"YulIdentifier","src":"147239:1:19"}],"functionName":{"name":"shr","nativeSrc":"147228:3:19","nodeType":"YulIdentifier","src":"147228:3:19"},"nativeSrc":"147228:13:19","nodeType":"YulFunctionCall","src":"147228:13:19"}],"functionName":{"name":"shl","nativeSrc":"147217:3:19","nodeType":"YulIdentifier","src":"147217:3:19"},"nativeSrc":"147217:25:19","nodeType":"YulFunctionCall","src":"147217:25:19"}],"functionName":{"name":"mstore","nativeSrc":"147194:6:19","nodeType":"YulIdentifier","src":"147194:6:19"},"nativeSrc":"147194:49:19","nodeType":"YulFunctionCall","src":"147194:49:19"},"nativeSrc":"147194:49:19","nodeType":"YulExpressionStatement","src":"147194:49:19"}]},"name":"writeString","nativeSrc":"146915:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"146936:3:19","nodeType":"YulTypedName","src":"146936:3:19","type":""},{"name":"w","nativeSrc":"146941:1:19","nodeType":"YulTypedName","src":"146941:1:19","type":""}],"src":"146915:342:19"},{"nativeSrc":"147270:17:19","nodeType":"YulAssignment","src":"147270:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"147282:4:19","nodeType":"YulLiteral","src":"147282:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"147276:5:19","nodeType":"YulIdentifier","src":"147276:5:19"},"nativeSrc":"147276:11:19","nodeType":"YulFunctionCall","src":"147276:11:19"},"variableNames":[{"name":"m0","nativeSrc":"147270:2:19","nodeType":"YulIdentifier","src":"147270:2:19"}]},{"nativeSrc":"147300:17:19","nodeType":"YulAssignment","src":"147300:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"147312:4:19","nodeType":"YulLiteral","src":"147312:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"147306:5:19","nodeType":"YulIdentifier","src":"147306:5:19"},"nativeSrc":"147306:11:19","nodeType":"YulFunctionCall","src":"147306:11:19"},"variableNames":[{"name":"m1","nativeSrc":"147300:2:19","nodeType":"YulIdentifier","src":"147300:2:19"}]},{"nativeSrc":"147330:17:19","nodeType":"YulAssignment","src":"147330:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"147342:4:19","nodeType":"YulLiteral","src":"147342:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"147336:5:19","nodeType":"YulIdentifier","src":"147336:5:19"},"nativeSrc":"147336:11:19","nodeType":"YulFunctionCall","src":"147336:11:19"},"variableNames":[{"name":"m2","nativeSrc":"147330:2:19","nodeType":"YulIdentifier","src":"147330:2:19"}]},{"nativeSrc":"147360:17:19","nodeType":"YulAssignment","src":"147360:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"147372:4:19","nodeType":"YulLiteral","src":"147372:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"147366:5:19","nodeType":"YulIdentifier","src":"147366:5:19"},"nativeSrc":"147366:11:19","nodeType":"YulFunctionCall","src":"147366:11:19"},"variableNames":[{"name":"m3","nativeSrc":"147360:2:19","nodeType":"YulIdentifier","src":"147360:2:19"}]},{"nativeSrc":"147390:17:19","nodeType":"YulAssignment","src":"147390:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"147402:4:19","nodeType":"YulLiteral","src":"147402:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"147396:5:19","nodeType":"YulIdentifier","src":"147396:5:19"},"nativeSrc":"147396:11:19","nodeType":"YulFunctionCall","src":"147396:11:19"},"variableNames":[{"name":"m4","nativeSrc":"147390:2:19","nodeType":"YulIdentifier","src":"147390:2:19"}]},{"nativeSrc":"147420:17:19","nodeType":"YulAssignment","src":"147420:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"147432:4:19","nodeType":"YulLiteral","src":"147432:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"147426:5:19","nodeType":"YulIdentifier","src":"147426:5:19"},"nativeSrc":"147426:11:19","nodeType":"YulFunctionCall","src":"147426:11:19"},"variableNames":[{"name":"m5","nativeSrc":"147420:2:19","nodeType":"YulIdentifier","src":"147420:2:19"}]},{"nativeSrc":"147450:17:19","nodeType":"YulAssignment","src":"147450:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"147462:4:19","nodeType":"YulLiteral","src":"147462:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"147456:5:19","nodeType":"YulIdentifier","src":"147456:5:19"},"nativeSrc":"147456:11:19","nodeType":"YulFunctionCall","src":"147456:11:19"},"variableNames":[{"name":"m6","nativeSrc":"147450:2:19","nodeType":"YulIdentifier","src":"147450:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147550:4:19","nodeType":"YulLiteral","src":"147550:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"147556:10:19","nodeType":"YulLiteral","src":"147556:10:19","type":"","value":"0x0df12b76"}],"functionName":{"name":"mstore","nativeSrc":"147543:6:19","nodeType":"YulIdentifier","src":"147543:6:19"},"nativeSrc":"147543:24:19","nodeType":"YulFunctionCall","src":"147543:24:19"},"nativeSrc":"147543:24:19","nodeType":"YulExpressionStatement","src":"147543:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147587:4:19","nodeType":"YulLiteral","src":"147587:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"147593:2:19","nodeType":"YulIdentifier","src":"147593:2:19"}],"functionName":{"name":"mstore","nativeSrc":"147580:6:19","nodeType":"YulIdentifier","src":"147580:6:19"},"nativeSrc":"147580:16:19","nodeType":"YulFunctionCall","src":"147580:16:19"},"nativeSrc":"147580:16:19","nodeType":"YulExpressionStatement","src":"147580:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147616:4:19","nodeType":"YulLiteral","src":"147616:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"147622:4:19","nodeType":"YulLiteral","src":"147622:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"147609:6:19","nodeType":"YulIdentifier","src":"147609:6:19"},"nativeSrc":"147609:18:19","nodeType":"YulFunctionCall","src":"147609:18:19"},"nativeSrc":"147609:18:19","nodeType":"YulExpressionStatement","src":"147609:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147647:4:19","nodeType":"YulLiteral","src":"147647:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"147653:2:19","nodeType":"YulIdentifier","src":"147653:2:19"}],"functionName":{"name":"mstore","nativeSrc":"147640:6:19","nodeType":"YulIdentifier","src":"147640:6:19"},"nativeSrc":"147640:16:19","nodeType":"YulFunctionCall","src":"147640:16:19"},"nativeSrc":"147640:16:19","nodeType":"YulExpressionStatement","src":"147640:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147676:4:19","nodeType":"YulLiteral","src":"147676:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"147682:2:19","nodeType":"YulIdentifier","src":"147682:2:19"}],"functionName":{"name":"mstore","nativeSrc":"147669:6:19","nodeType":"YulIdentifier","src":"147669:6:19"},"nativeSrc":"147669:16:19","nodeType":"YulFunctionCall","src":"147669:16:19"},"nativeSrc":"147669:16:19","nodeType":"YulExpressionStatement","src":"147669:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147710:4:19","nodeType":"YulLiteral","src":"147710:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"147716:2:19","nodeType":"YulIdentifier","src":"147716:2:19"}],"functionName":{"name":"writeString","nativeSrc":"147698:11:19","nodeType":"YulIdentifier","src":"147698:11:19"},"nativeSrc":"147698:21:19","nodeType":"YulFunctionCall","src":"147698:21:19"},"nativeSrc":"147698:21:19","nodeType":"YulExpressionStatement","src":"147698:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30946,"isOffset":false,"isSlot":false,"src":"147270:2:19","valueSize":1},{"declaration":30949,"isOffset":false,"isSlot":false,"src":"147300:2:19","valueSize":1},{"declaration":30952,"isOffset":false,"isSlot":false,"src":"147330:2:19","valueSize":1},{"declaration":30955,"isOffset":false,"isSlot":false,"src":"147360:2:19","valueSize":1},{"declaration":30958,"isOffset":false,"isSlot":false,"src":"147390:2:19","valueSize":1},{"declaration":30961,"isOffset":false,"isSlot":false,"src":"147420:2:19","valueSize":1},{"declaration":30964,"isOffset":false,"isSlot":false,"src":"147450:2:19","valueSize":1},{"declaration":30936,"isOffset":false,"isSlot":false,"src":"147593:2:19","valueSize":1},{"declaration":30938,"isOffset":false,"isSlot":false,"src":"147716:2:19","valueSize":1},{"declaration":30940,"isOffset":false,"isSlot":false,"src":"147653:2:19","valueSize":1},{"declaration":30942,"isOffset":false,"isSlot":false,"src":"147682:2:19","valueSize":1}],"id":30966,"nodeType":"InlineAssembly","src":"146892:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":30968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"147754:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":30969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"147760:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":30967,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"147738:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":30970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"147738:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30971,"nodeType":"ExpressionStatement","src":"147738:27:19"},{"AST":{"nativeSrc":"147827:214:19","nodeType":"YulBlock","src":"147827:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"147848:4:19","nodeType":"YulLiteral","src":"147848:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"147854:2:19","nodeType":"YulIdentifier","src":"147854:2:19"}],"functionName":{"name":"mstore","nativeSrc":"147841:6:19","nodeType":"YulIdentifier","src":"147841:6:19"},"nativeSrc":"147841:16:19","nodeType":"YulFunctionCall","src":"147841:16:19"},"nativeSrc":"147841:16:19","nodeType":"YulExpressionStatement","src":"147841:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147877:4:19","nodeType":"YulLiteral","src":"147877:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"147883:2:19","nodeType":"YulIdentifier","src":"147883:2:19"}],"functionName":{"name":"mstore","nativeSrc":"147870:6:19","nodeType":"YulIdentifier","src":"147870:6:19"},"nativeSrc":"147870:16:19","nodeType":"YulFunctionCall","src":"147870:16:19"},"nativeSrc":"147870:16:19","nodeType":"YulExpressionStatement","src":"147870:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147906:4:19","nodeType":"YulLiteral","src":"147906:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"147912:2:19","nodeType":"YulIdentifier","src":"147912:2:19"}],"functionName":{"name":"mstore","nativeSrc":"147899:6:19","nodeType":"YulIdentifier","src":"147899:6:19"},"nativeSrc":"147899:16:19","nodeType":"YulFunctionCall","src":"147899:16:19"},"nativeSrc":"147899:16:19","nodeType":"YulExpressionStatement","src":"147899:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147935:4:19","nodeType":"YulLiteral","src":"147935:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"147941:2:19","nodeType":"YulIdentifier","src":"147941:2:19"}],"functionName":{"name":"mstore","nativeSrc":"147928:6:19","nodeType":"YulIdentifier","src":"147928:6:19"},"nativeSrc":"147928:16:19","nodeType":"YulFunctionCall","src":"147928:16:19"},"nativeSrc":"147928:16:19","nodeType":"YulExpressionStatement","src":"147928:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147964:4:19","nodeType":"YulLiteral","src":"147964:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"147970:2:19","nodeType":"YulIdentifier","src":"147970:2:19"}],"functionName":{"name":"mstore","nativeSrc":"147957:6:19","nodeType":"YulIdentifier","src":"147957:6:19"},"nativeSrc":"147957:16:19","nodeType":"YulFunctionCall","src":"147957:16:19"},"nativeSrc":"147957:16:19","nodeType":"YulExpressionStatement","src":"147957:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"147993:4:19","nodeType":"YulLiteral","src":"147993:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"147999:2:19","nodeType":"YulIdentifier","src":"147999:2:19"}],"functionName":{"name":"mstore","nativeSrc":"147986:6:19","nodeType":"YulIdentifier","src":"147986:6:19"},"nativeSrc":"147986:16:19","nodeType":"YulFunctionCall","src":"147986:16:19"},"nativeSrc":"147986:16:19","nodeType":"YulExpressionStatement","src":"147986:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"148022:4:19","nodeType":"YulLiteral","src":"148022:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"148028:2:19","nodeType":"YulIdentifier","src":"148028:2:19"}],"functionName":{"name":"mstore","nativeSrc":"148015:6:19","nodeType":"YulIdentifier","src":"148015:6:19"},"nativeSrc":"148015:16:19","nodeType":"YulFunctionCall","src":"148015:16:19"},"nativeSrc":"148015:16:19","nodeType":"YulExpressionStatement","src":"148015:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30946,"isOffset":false,"isSlot":false,"src":"147854:2:19","valueSize":1},{"declaration":30949,"isOffset":false,"isSlot":false,"src":"147883:2:19","valueSize":1},{"declaration":30952,"isOffset":false,"isSlot":false,"src":"147912:2:19","valueSize":1},{"declaration":30955,"isOffset":false,"isSlot":false,"src":"147941:2:19","valueSize":1},{"declaration":30958,"isOffset":false,"isSlot":false,"src":"147970:2:19","valueSize":1},{"declaration":30961,"isOffset":false,"isSlot":false,"src":"147999:2:19","valueSize":1},{"declaration":30964,"isOffset":false,"isSlot":false,"src":"148028:2:19","valueSize":1}],"id":30972,"nodeType":"InlineAssembly","src":"147818:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"146636:3:19","parameters":{"id":30943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30936,"mutability":"mutable","name":"p0","nameLocation":"146648:2:19","nodeType":"VariableDeclaration","scope":30974,"src":"146640:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30935,"name":"address","nodeType":"ElementaryTypeName","src":"146640:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30938,"mutability":"mutable","name":"p1","nameLocation":"146660:2:19","nodeType":"VariableDeclaration","scope":30974,"src":"146652:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30937,"name":"bytes32","nodeType":"ElementaryTypeName","src":"146652:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30940,"mutability":"mutable","name":"p2","nameLocation":"146672:2:19","nodeType":"VariableDeclaration","scope":30974,"src":"146664:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30939,"name":"address","nodeType":"ElementaryTypeName","src":"146664:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30942,"mutability":"mutable","name":"p3","nameLocation":"146681:2:19","nodeType":"VariableDeclaration","scope":30974,"src":"146676:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30941,"name":"bool","nodeType":"ElementaryTypeName","src":"146676:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"146639:45:19"},"returnParameters":{"id":30944,"nodeType":"ParameterList","parameters":[],"src":"146699:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31014,"nodeType":"FunctionDefinition","src":"148053:1426:19","nodes":[],"body":{"id":31013,"nodeType":"Block","src":"148128:1351:19","nodes":[],"statements":[{"assignments":[30986],"declarations":[{"constant":false,"id":30986,"mutability":"mutable","name":"m0","nameLocation":"148146:2:19","nodeType":"VariableDeclaration","scope":31013,"src":"148138:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30985,"name":"bytes32","nodeType":"ElementaryTypeName","src":"148138:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30987,"nodeType":"VariableDeclarationStatement","src":"148138:10:19"},{"assignments":[30989],"declarations":[{"constant":false,"id":30989,"mutability":"mutable","name":"m1","nameLocation":"148166:2:19","nodeType":"VariableDeclaration","scope":31013,"src":"148158:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30988,"name":"bytes32","nodeType":"ElementaryTypeName","src":"148158:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30990,"nodeType":"VariableDeclarationStatement","src":"148158:10:19"},{"assignments":[30992],"declarations":[{"constant":false,"id":30992,"mutability":"mutable","name":"m2","nameLocation":"148186:2:19","nodeType":"VariableDeclaration","scope":31013,"src":"148178:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30991,"name":"bytes32","nodeType":"ElementaryTypeName","src":"148178:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30993,"nodeType":"VariableDeclarationStatement","src":"148178:10:19"},{"assignments":[30995],"declarations":[{"constant":false,"id":30995,"mutability":"mutable","name":"m3","nameLocation":"148206:2:19","nodeType":"VariableDeclaration","scope":31013,"src":"148198:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30994,"name":"bytes32","nodeType":"ElementaryTypeName","src":"148198:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30996,"nodeType":"VariableDeclarationStatement","src":"148198:10:19"},{"assignments":[30998],"declarations":[{"constant":false,"id":30998,"mutability":"mutable","name":"m4","nameLocation":"148226:2:19","nodeType":"VariableDeclaration","scope":31013,"src":"148218:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30997,"name":"bytes32","nodeType":"ElementaryTypeName","src":"148218:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":30999,"nodeType":"VariableDeclarationStatement","src":"148218:10:19"},{"assignments":[31001],"declarations":[{"constant":false,"id":31001,"mutability":"mutable","name":"m5","nameLocation":"148246:2:19","nodeType":"VariableDeclaration","scope":31013,"src":"148238:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31000,"name":"bytes32","nodeType":"ElementaryTypeName","src":"148238:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31002,"nodeType":"VariableDeclarationStatement","src":"148238:10:19"},{"assignments":[31004],"declarations":[{"constant":false,"id":31004,"mutability":"mutable","name":"m6","nameLocation":"148266:2:19","nodeType":"VariableDeclaration","scope":31013,"src":"148258:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31003,"name":"bytes32","nodeType":"ElementaryTypeName","src":"148258:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31005,"nodeType":"VariableDeclarationStatement","src":"148258:10:19"},{"AST":{"nativeSrc":"148330:831:19","nodeType":"YulBlock","src":"148330:831:19","statements":[{"body":{"nativeSrc":"148373:313:19","nodeType":"YulBlock","src":"148373:313:19","statements":[{"nativeSrc":"148391:15:19","nodeType":"YulVariableDeclaration","src":"148391:15:19","value":{"kind":"number","nativeSrc":"148405:1:19","nodeType":"YulLiteral","src":"148405:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"148395:6:19","nodeType":"YulTypedName","src":"148395:6:19","type":""}]},{"body":{"nativeSrc":"148476:40:19","nodeType":"YulBlock","src":"148476:40:19","statements":[{"body":{"nativeSrc":"148505:9:19","nodeType":"YulBlock","src":"148505:9:19","statements":[{"nativeSrc":"148507:5:19","nodeType":"YulBreak","src":"148507:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"148493:6:19","nodeType":"YulIdentifier","src":"148493:6:19"},{"name":"w","nativeSrc":"148501:1:19","nodeType":"YulIdentifier","src":"148501:1:19"}],"functionName":{"name":"byte","nativeSrc":"148488:4:19","nodeType":"YulIdentifier","src":"148488:4:19"},"nativeSrc":"148488:15:19","nodeType":"YulFunctionCall","src":"148488:15:19"}],"functionName":{"name":"iszero","nativeSrc":"148481:6:19","nodeType":"YulIdentifier","src":"148481:6:19"},"nativeSrc":"148481:23:19","nodeType":"YulFunctionCall","src":"148481:23:19"},"nativeSrc":"148478:36:19","nodeType":"YulIf","src":"148478:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"148433:6:19","nodeType":"YulIdentifier","src":"148433:6:19"},{"kind":"number","nativeSrc":"148441:4:19","nodeType":"YulLiteral","src":"148441:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"148430:2:19","nodeType":"YulIdentifier","src":"148430:2:19"},"nativeSrc":"148430:16:19","nodeType":"YulFunctionCall","src":"148430:16:19"},"nativeSrc":"148423:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"148447:28:19","nodeType":"YulBlock","src":"148447:28:19","statements":[{"nativeSrc":"148449:24:19","nodeType":"YulAssignment","src":"148449:24:19","value":{"arguments":[{"name":"length","nativeSrc":"148463:6:19","nodeType":"YulIdentifier","src":"148463:6:19"},{"kind":"number","nativeSrc":"148471:1:19","nodeType":"YulLiteral","src":"148471:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"148459:3:19","nodeType":"YulIdentifier","src":"148459:3:19"},"nativeSrc":"148459:14:19","nodeType":"YulFunctionCall","src":"148459:14:19"},"variableNames":[{"name":"length","nativeSrc":"148449:6:19","nodeType":"YulIdentifier","src":"148449:6:19"}]}]},"pre":{"nativeSrc":"148427:2:19","nodeType":"YulBlock","src":"148427:2:19","statements":[]},"src":"148423:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"148540:3:19","nodeType":"YulIdentifier","src":"148540:3:19"},{"name":"length","nativeSrc":"148545:6:19","nodeType":"YulIdentifier","src":"148545:6:19"}],"functionName":{"name":"mstore","nativeSrc":"148533:6:19","nodeType":"YulIdentifier","src":"148533:6:19"},"nativeSrc":"148533:19:19","nodeType":"YulFunctionCall","src":"148533:19:19"},"nativeSrc":"148533:19:19","nodeType":"YulExpressionStatement","src":"148533:19:19"},{"nativeSrc":"148569:37:19","nodeType":"YulVariableDeclaration","src":"148569:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"148586:3:19","nodeType":"YulLiteral","src":"148586:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"148595:1:19","nodeType":"YulLiteral","src":"148595:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"148598:6:19","nodeType":"YulIdentifier","src":"148598:6:19"}],"functionName":{"name":"shl","nativeSrc":"148591:3:19","nodeType":"YulIdentifier","src":"148591:3:19"},"nativeSrc":"148591:14:19","nodeType":"YulFunctionCall","src":"148591:14:19"}],"functionName":{"name":"sub","nativeSrc":"148582:3:19","nodeType":"YulIdentifier","src":"148582:3:19"},"nativeSrc":"148582:24:19","nodeType":"YulFunctionCall","src":"148582:24:19"},"variables":[{"name":"shift","nativeSrc":"148573:5:19","nodeType":"YulTypedName","src":"148573:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"148634:3:19","nodeType":"YulIdentifier","src":"148634:3:19"},{"kind":"number","nativeSrc":"148639:4:19","nodeType":"YulLiteral","src":"148639:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"148630:3:19","nodeType":"YulIdentifier","src":"148630:3:19"},"nativeSrc":"148630:14:19","nodeType":"YulFunctionCall","src":"148630:14:19"},{"arguments":[{"name":"shift","nativeSrc":"148650:5:19","nodeType":"YulIdentifier","src":"148650:5:19"},{"arguments":[{"name":"shift","nativeSrc":"148661:5:19","nodeType":"YulIdentifier","src":"148661:5:19"},{"name":"w","nativeSrc":"148668:1:19","nodeType":"YulIdentifier","src":"148668:1:19"}],"functionName":{"name":"shr","nativeSrc":"148657:3:19","nodeType":"YulIdentifier","src":"148657:3:19"},"nativeSrc":"148657:13:19","nodeType":"YulFunctionCall","src":"148657:13:19"}],"functionName":{"name":"shl","nativeSrc":"148646:3:19","nodeType":"YulIdentifier","src":"148646:3:19"},"nativeSrc":"148646:25:19","nodeType":"YulFunctionCall","src":"148646:25:19"}],"functionName":{"name":"mstore","nativeSrc":"148623:6:19","nodeType":"YulIdentifier","src":"148623:6:19"},"nativeSrc":"148623:49:19","nodeType":"YulFunctionCall","src":"148623:49:19"},"nativeSrc":"148623:49:19","nodeType":"YulExpressionStatement","src":"148623:49:19"}]},"name":"writeString","nativeSrc":"148344:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"148365:3:19","nodeType":"YulTypedName","src":"148365:3:19","type":""},{"name":"w","nativeSrc":"148370:1:19","nodeType":"YulTypedName","src":"148370:1:19","type":""}],"src":"148344:342:19"},{"nativeSrc":"148699:17:19","nodeType":"YulAssignment","src":"148699:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"148711:4:19","nodeType":"YulLiteral","src":"148711:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"148705:5:19","nodeType":"YulIdentifier","src":"148705:5:19"},"nativeSrc":"148705:11:19","nodeType":"YulFunctionCall","src":"148705:11:19"},"variableNames":[{"name":"m0","nativeSrc":"148699:2:19","nodeType":"YulIdentifier","src":"148699:2:19"}]},{"nativeSrc":"148729:17:19","nodeType":"YulAssignment","src":"148729:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"148741:4:19","nodeType":"YulLiteral","src":"148741:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"148735:5:19","nodeType":"YulIdentifier","src":"148735:5:19"},"nativeSrc":"148735:11:19","nodeType":"YulFunctionCall","src":"148735:11:19"},"variableNames":[{"name":"m1","nativeSrc":"148729:2:19","nodeType":"YulIdentifier","src":"148729:2:19"}]},{"nativeSrc":"148759:17:19","nodeType":"YulAssignment","src":"148759:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"148771:4:19","nodeType":"YulLiteral","src":"148771:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"148765:5:19","nodeType":"YulIdentifier","src":"148765:5:19"},"nativeSrc":"148765:11:19","nodeType":"YulFunctionCall","src":"148765:11:19"},"variableNames":[{"name":"m2","nativeSrc":"148759:2:19","nodeType":"YulIdentifier","src":"148759:2:19"}]},{"nativeSrc":"148789:17:19","nodeType":"YulAssignment","src":"148789:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"148801:4:19","nodeType":"YulLiteral","src":"148801:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"148795:5:19","nodeType":"YulIdentifier","src":"148795:5:19"},"nativeSrc":"148795:11:19","nodeType":"YulFunctionCall","src":"148795:11:19"},"variableNames":[{"name":"m3","nativeSrc":"148789:2:19","nodeType":"YulIdentifier","src":"148789:2:19"}]},{"nativeSrc":"148819:17:19","nodeType":"YulAssignment","src":"148819:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"148831:4:19","nodeType":"YulLiteral","src":"148831:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"148825:5:19","nodeType":"YulIdentifier","src":"148825:5:19"},"nativeSrc":"148825:11:19","nodeType":"YulFunctionCall","src":"148825:11:19"},"variableNames":[{"name":"m4","nativeSrc":"148819:2:19","nodeType":"YulIdentifier","src":"148819:2:19"}]},{"nativeSrc":"148849:17:19","nodeType":"YulAssignment","src":"148849:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"148861:4:19","nodeType":"YulLiteral","src":"148861:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"148855:5:19","nodeType":"YulIdentifier","src":"148855:5:19"},"nativeSrc":"148855:11:19","nodeType":"YulFunctionCall","src":"148855:11:19"},"variableNames":[{"name":"m5","nativeSrc":"148849:2:19","nodeType":"YulIdentifier","src":"148849:2:19"}]},{"nativeSrc":"148879:17:19","nodeType":"YulAssignment","src":"148879:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"148891:4:19","nodeType":"YulLiteral","src":"148891:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"148885:5:19","nodeType":"YulIdentifier","src":"148885:5:19"},"nativeSrc":"148885:11:19","nodeType":"YulFunctionCall","src":"148885:11:19"},"variableNames":[{"name":"m6","nativeSrc":"148879:2:19","nodeType":"YulIdentifier","src":"148879:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"148982:4:19","nodeType":"YulLiteral","src":"148982:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"148988:10:19","nodeType":"YulLiteral","src":"148988:10:19","type":"","value":"0x457fe3cf"}],"functionName":{"name":"mstore","nativeSrc":"148975:6:19","nodeType":"YulIdentifier","src":"148975:6:19"},"nativeSrc":"148975:24:19","nodeType":"YulFunctionCall","src":"148975:24:19"},"nativeSrc":"148975:24:19","nodeType":"YulExpressionStatement","src":"148975:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149019:4:19","nodeType":"YulLiteral","src":"149019:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"149025:2:19","nodeType":"YulIdentifier","src":"149025:2:19"}],"functionName":{"name":"mstore","nativeSrc":"149012:6:19","nodeType":"YulIdentifier","src":"149012:6:19"},"nativeSrc":"149012:16:19","nodeType":"YulFunctionCall","src":"149012:16:19"},"nativeSrc":"149012:16:19","nodeType":"YulExpressionStatement","src":"149012:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149048:4:19","nodeType":"YulLiteral","src":"149048:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"149054:4:19","nodeType":"YulLiteral","src":"149054:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"149041:6:19","nodeType":"YulIdentifier","src":"149041:6:19"},"nativeSrc":"149041:18:19","nodeType":"YulFunctionCall","src":"149041:18:19"},"nativeSrc":"149041:18:19","nodeType":"YulExpressionStatement","src":"149041:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149079:4:19","nodeType":"YulLiteral","src":"149079:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"149085:2:19","nodeType":"YulIdentifier","src":"149085:2:19"}],"functionName":{"name":"mstore","nativeSrc":"149072:6:19","nodeType":"YulIdentifier","src":"149072:6:19"},"nativeSrc":"149072:16:19","nodeType":"YulFunctionCall","src":"149072:16:19"},"nativeSrc":"149072:16:19","nodeType":"YulExpressionStatement","src":"149072:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149108:4:19","nodeType":"YulLiteral","src":"149108:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"149114:2:19","nodeType":"YulIdentifier","src":"149114:2:19"}],"functionName":{"name":"mstore","nativeSrc":"149101:6:19","nodeType":"YulIdentifier","src":"149101:6:19"},"nativeSrc":"149101:16:19","nodeType":"YulFunctionCall","src":"149101:16:19"},"nativeSrc":"149101:16:19","nodeType":"YulExpressionStatement","src":"149101:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149142:4:19","nodeType":"YulLiteral","src":"149142:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"149148:2:19","nodeType":"YulIdentifier","src":"149148:2:19"}],"functionName":{"name":"writeString","nativeSrc":"149130:11:19","nodeType":"YulIdentifier","src":"149130:11:19"},"nativeSrc":"149130:21:19","nodeType":"YulFunctionCall","src":"149130:21:19"},"nativeSrc":"149130:21:19","nodeType":"YulExpressionStatement","src":"149130:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30986,"isOffset":false,"isSlot":false,"src":"148699:2:19","valueSize":1},{"declaration":30989,"isOffset":false,"isSlot":false,"src":"148729:2:19","valueSize":1},{"declaration":30992,"isOffset":false,"isSlot":false,"src":"148759:2:19","valueSize":1},{"declaration":30995,"isOffset":false,"isSlot":false,"src":"148789:2:19","valueSize":1},{"declaration":30998,"isOffset":false,"isSlot":false,"src":"148819:2:19","valueSize":1},{"declaration":31001,"isOffset":false,"isSlot":false,"src":"148849:2:19","valueSize":1},{"declaration":31004,"isOffset":false,"isSlot":false,"src":"148879:2:19","valueSize":1},{"declaration":30976,"isOffset":false,"isSlot":false,"src":"149025:2:19","valueSize":1},{"declaration":30978,"isOffset":false,"isSlot":false,"src":"149148:2:19","valueSize":1},{"declaration":30980,"isOffset":false,"isSlot":false,"src":"149085:2:19","valueSize":1},{"declaration":30982,"isOffset":false,"isSlot":false,"src":"149114:2:19","valueSize":1}],"id":31006,"nodeType":"InlineAssembly","src":"148321:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"149186:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":31009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"149192:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":31007,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"149170:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"149170:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31011,"nodeType":"ExpressionStatement","src":"149170:27:19"},{"AST":{"nativeSrc":"149259:214:19","nodeType":"YulBlock","src":"149259:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"149280:4:19","nodeType":"YulLiteral","src":"149280:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"149286:2:19","nodeType":"YulIdentifier","src":"149286:2:19"}],"functionName":{"name":"mstore","nativeSrc":"149273:6:19","nodeType":"YulIdentifier","src":"149273:6:19"},"nativeSrc":"149273:16:19","nodeType":"YulFunctionCall","src":"149273:16:19"},"nativeSrc":"149273:16:19","nodeType":"YulExpressionStatement","src":"149273:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149309:4:19","nodeType":"YulLiteral","src":"149309:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"149315:2:19","nodeType":"YulIdentifier","src":"149315:2:19"}],"functionName":{"name":"mstore","nativeSrc":"149302:6:19","nodeType":"YulIdentifier","src":"149302:6:19"},"nativeSrc":"149302:16:19","nodeType":"YulFunctionCall","src":"149302:16:19"},"nativeSrc":"149302:16:19","nodeType":"YulExpressionStatement","src":"149302:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149338:4:19","nodeType":"YulLiteral","src":"149338:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"149344:2:19","nodeType":"YulIdentifier","src":"149344:2:19"}],"functionName":{"name":"mstore","nativeSrc":"149331:6:19","nodeType":"YulIdentifier","src":"149331:6:19"},"nativeSrc":"149331:16:19","nodeType":"YulFunctionCall","src":"149331:16:19"},"nativeSrc":"149331:16:19","nodeType":"YulExpressionStatement","src":"149331:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149367:4:19","nodeType":"YulLiteral","src":"149367:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"149373:2:19","nodeType":"YulIdentifier","src":"149373:2:19"}],"functionName":{"name":"mstore","nativeSrc":"149360:6:19","nodeType":"YulIdentifier","src":"149360:6:19"},"nativeSrc":"149360:16:19","nodeType":"YulFunctionCall","src":"149360:16:19"},"nativeSrc":"149360:16:19","nodeType":"YulExpressionStatement","src":"149360:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149396:4:19","nodeType":"YulLiteral","src":"149396:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"149402:2:19","nodeType":"YulIdentifier","src":"149402:2:19"}],"functionName":{"name":"mstore","nativeSrc":"149389:6:19","nodeType":"YulIdentifier","src":"149389:6:19"},"nativeSrc":"149389:16:19","nodeType":"YulFunctionCall","src":"149389:16:19"},"nativeSrc":"149389:16:19","nodeType":"YulExpressionStatement","src":"149389:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149425:4:19","nodeType":"YulLiteral","src":"149425:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"149431:2:19","nodeType":"YulIdentifier","src":"149431:2:19"}],"functionName":{"name":"mstore","nativeSrc":"149418:6:19","nodeType":"YulIdentifier","src":"149418:6:19"},"nativeSrc":"149418:16:19","nodeType":"YulFunctionCall","src":"149418:16:19"},"nativeSrc":"149418:16:19","nodeType":"YulExpressionStatement","src":"149418:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"149454:4:19","nodeType":"YulLiteral","src":"149454:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"149460:2:19","nodeType":"YulIdentifier","src":"149460:2:19"}],"functionName":{"name":"mstore","nativeSrc":"149447:6:19","nodeType":"YulIdentifier","src":"149447:6:19"},"nativeSrc":"149447:16:19","nodeType":"YulFunctionCall","src":"149447:16:19"},"nativeSrc":"149447:16:19","nodeType":"YulExpressionStatement","src":"149447:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":30986,"isOffset":false,"isSlot":false,"src":"149286:2:19","valueSize":1},{"declaration":30989,"isOffset":false,"isSlot":false,"src":"149315:2:19","valueSize":1},{"declaration":30992,"isOffset":false,"isSlot":false,"src":"149344:2:19","valueSize":1},{"declaration":30995,"isOffset":false,"isSlot":false,"src":"149373:2:19","valueSize":1},{"declaration":30998,"isOffset":false,"isSlot":false,"src":"149402:2:19","valueSize":1},{"declaration":31001,"isOffset":false,"isSlot":false,"src":"149431:2:19","valueSize":1},{"declaration":31004,"isOffset":false,"isSlot":false,"src":"149460:2:19","valueSize":1}],"id":31012,"nodeType":"InlineAssembly","src":"149250:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"148062:3:19","parameters":{"id":30983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30976,"mutability":"mutable","name":"p0","nameLocation":"148074:2:19","nodeType":"VariableDeclaration","scope":31014,"src":"148066:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30975,"name":"address","nodeType":"ElementaryTypeName","src":"148066:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30978,"mutability":"mutable","name":"p1","nameLocation":"148086:2:19","nodeType":"VariableDeclaration","scope":31014,"src":"148078:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30977,"name":"bytes32","nodeType":"ElementaryTypeName","src":"148078:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30980,"mutability":"mutable","name":"p2","nameLocation":"148098:2:19","nodeType":"VariableDeclaration","scope":31014,"src":"148090:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30979,"name":"address","nodeType":"ElementaryTypeName","src":"148090:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30982,"mutability":"mutable","name":"p3","nameLocation":"148110:2:19","nodeType":"VariableDeclaration","scope":31014,"src":"148102:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30981,"name":"uint256","nodeType":"ElementaryTypeName","src":"148102:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"148065:48:19"},"returnParameters":{"id":30984,"nodeType":"ParameterList","parameters":[],"src":"148128:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31060,"nodeType":"FunctionDefinition","src":"149485:1622:19","nodes":[],"body":{"id":31059,"nodeType":"Block","src":"149560:1547:19","nodes":[],"statements":[{"assignments":[31026],"declarations":[{"constant":false,"id":31026,"mutability":"mutable","name":"m0","nameLocation":"149578:2:19","nodeType":"VariableDeclaration","scope":31059,"src":"149570:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31025,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149570:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31027,"nodeType":"VariableDeclarationStatement","src":"149570:10:19"},{"assignments":[31029],"declarations":[{"constant":false,"id":31029,"mutability":"mutable","name":"m1","nameLocation":"149598:2:19","nodeType":"VariableDeclaration","scope":31059,"src":"149590:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31028,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149590:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31030,"nodeType":"VariableDeclarationStatement","src":"149590:10:19"},{"assignments":[31032],"declarations":[{"constant":false,"id":31032,"mutability":"mutable","name":"m2","nameLocation":"149618:2:19","nodeType":"VariableDeclaration","scope":31059,"src":"149610:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31031,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149610:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31033,"nodeType":"VariableDeclarationStatement","src":"149610:10:19"},{"assignments":[31035],"declarations":[{"constant":false,"id":31035,"mutability":"mutable","name":"m3","nameLocation":"149638:2:19","nodeType":"VariableDeclaration","scope":31059,"src":"149630:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31034,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149630:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31036,"nodeType":"VariableDeclarationStatement","src":"149630:10:19"},{"assignments":[31038],"declarations":[{"constant":false,"id":31038,"mutability":"mutable","name":"m4","nameLocation":"149658:2:19","nodeType":"VariableDeclaration","scope":31059,"src":"149650:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31037,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149650:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31039,"nodeType":"VariableDeclarationStatement","src":"149650:10:19"},{"assignments":[31041],"declarations":[{"constant":false,"id":31041,"mutability":"mutable","name":"m5","nameLocation":"149678:2:19","nodeType":"VariableDeclaration","scope":31059,"src":"149670:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31040,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149670:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31042,"nodeType":"VariableDeclarationStatement","src":"149670:10:19"},{"assignments":[31044],"declarations":[{"constant":false,"id":31044,"mutability":"mutable","name":"m6","nameLocation":"149698:2:19","nodeType":"VariableDeclaration","scope":31059,"src":"149690:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31043,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149690:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31045,"nodeType":"VariableDeclarationStatement","src":"149690:10:19"},{"assignments":[31047],"declarations":[{"constant":false,"id":31047,"mutability":"mutable","name":"m7","nameLocation":"149718:2:19","nodeType":"VariableDeclaration","scope":31059,"src":"149710:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31046,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149710:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31048,"nodeType":"VariableDeclarationStatement","src":"149710:10:19"},{"assignments":[31050],"declarations":[{"constant":false,"id":31050,"mutability":"mutable","name":"m8","nameLocation":"149738:2:19","nodeType":"VariableDeclaration","scope":31059,"src":"149730:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31049,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149730:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31051,"nodeType":"VariableDeclarationStatement","src":"149730:10:19"},{"AST":{"nativeSrc":"149802:927:19","nodeType":"YulBlock","src":"149802:927:19","statements":[{"body":{"nativeSrc":"149845:313:19","nodeType":"YulBlock","src":"149845:313:19","statements":[{"nativeSrc":"149863:15:19","nodeType":"YulVariableDeclaration","src":"149863:15:19","value":{"kind":"number","nativeSrc":"149877:1:19","nodeType":"YulLiteral","src":"149877:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"149867:6:19","nodeType":"YulTypedName","src":"149867:6:19","type":""}]},{"body":{"nativeSrc":"149948:40:19","nodeType":"YulBlock","src":"149948:40:19","statements":[{"body":{"nativeSrc":"149977:9:19","nodeType":"YulBlock","src":"149977:9:19","statements":[{"nativeSrc":"149979:5:19","nodeType":"YulBreak","src":"149979:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"149965:6:19","nodeType":"YulIdentifier","src":"149965:6:19"},{"name":"w","nativeSrc":"149973:1:19","nodeType":"YulIdentifier","src":"149973:1:19"}],"functionName":{"name":"byte","nativeSrc":"149960:4:19","nodeType":"YulIdentifier","src":"149960:4:19"},"nativeSrc":"149960:15:19","nodeType":"YulFunctionCall","src":"149960:15:19"}],"functionName":{"name":"iszero","nativeSrc":"149953:6:19","nodeType":"YulIdentifier","src":"149953:6:19"},"nativeSrc":"149953:23:19","nodeType":"YulFunctionCall","src":"149953:23:19"},"nativeSrc":"149950:36:19","nodeType":"YulIf","src":"149950:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"149905:6:19","nodeType":"YulIdentifier","src":"149905:6:19"},{"kind":"number","nativeSrc":"149913:4:19","nodeType":"YulLiteral","src":"149913:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"149902:2:19","nodeType":"YulIdentifier","src":"149902:2:19"},"nativeSrc":"149902:16:19","nodeType":"YulFunctionCall","src":"149902:16:19"},"nativeSrc":"149895:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"149919:28:19","nodeType":"YulBlock","src":"149919:28:19","statements":[{"nativeSrc":"149921:24:19","nodeType":"YulAssignment","src":"149921:24:19","value":{"arguments":[{"name":"length","nativeSrc":"149935:6:19","nodeType":"YulIdentifier","src":"149935:6:19"},{"kind":"number","nativeSrc":"149943:1:19","nodeType":"YulLiteral","src":"149943:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"149931:3:19","nodeType":"YulIdentifier","src":"149931:3:19"},"nativeSrc":"149931:14:19","nodeType":"YulFunctionCall","src":"149931:14:19"},"variableNames":[{"name":"length","nativeSrc":"149921:6:19","nodeType":"YulIdentifier","src":"149921:6:19"}]}]},"pre":{"nativeSrc":"149899:2:19","nodeType":"YulBlock","src":"149899:2:19","statements":[]},"src":"149895:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"150012:3:19","nodeType":"YulIdentifier","src":"150012:3:19"},{"name":"length","nativeSrc":"150017:6:19","nodeType":"YulIdentifier","src":"150017:6:19"}],"functionName":{"name":"mstore","nativeSrc":"150005:6:19","nodeType":"YulIdentifier","src":"150005:6:19"},"nativeSrc":"150005:19:19","nodeType":"YulFunctionCall","src":"150005:19:19"},"nativeSrc":"150005:19:19","nodeType":"YulExpressionStatement","src":"150005:19:19"},{"nativeSrc":"150041:37:19","nodeType":"YulVariableDeclaration","src":"150041:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"150058:3:19","nodeType":"YulLiteral","src":"150058:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"150067:1:19","nodeType":"YulLiteral","src":"150067:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"150070:6:19","nodeType":"YulIdentifier","src":"150070:6:19"}],"functionName":{"name":"shl","nativeSrc":"150063:3:19","nodeType":"YulIdentifier","src":"150063:3:19"},"nativeSrc":"150063:14:19","nodeType":"YulFunctionCall","src":"150063:14:19"}],"functionName":{"name":"sub","nativeSrc":"150054:3:19","nodeType":"YulIdentifier","src":"150054:3:19"},"nativeSrc":"150054:24:19","nodeType":"YulFunctionCall","src":"150054:24:19"},"variables":[{"name":"shift","nativeSrc":"150045:5:19","nodeType":"YulTypedName","src":"150045:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"150106:3:19","nodeType":"YulIdentifier","src":"150106:3:19"},{"kind":"number","nativeSrc":"150111:4:19","nodeType":"YulLiteral","src":"150111:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"150102:3:19","nodeType":"YulIdentifier","src":"150102:3:19"},"nativeSrc":"150102:14:19","nodeType":"YulFunctionCall","src":"150102:14:19"},{"arguments":[{"name":"shift","nativeSrc":"150122:5:19","nodeType":"YulIdentifier","src":"150122:5:19"},{"arguments":[{"name":"shift","nativeSrc":"150133:5:19","nodeType":"YulIdentifier","src":"150133:5:19"},{"name":"w","nativeSrc":"150140:1:19","nodeType":"YulIdentifier","src":"150140:1:19"}],"functionName":{"name":"shr","nativeSrc":"150129:3:19","nodeType":"YulIdentifier","src":"150129:3:19"},"nativeSrc":"150129:13:19","nodeType":"YulFunctionCall","src":"150129:13:19"}],"functionName":{"name":"shl","nativeSrc":"150118:3:19","nodeType":"YulIdentifier","src":"150118:3:19"},"nativeSrc":"150118:25:19","nodeType":"YulFunctionCall","src":"150118:25:19"}],"functionName":{"name":"mstore","nativeSrc":"150095:6:19","nodeType":"YulIdentifier","src":"150095:6:19"},"nativeSrc":"150095:49:19","nodeType":"YulFunctionCall","src":"150095:49:19"},"nativeSrc":"150095:49:19","nodeType":"YulExpressionStatement","src":"150095:49:19"}]},"name":"writeString","nativeSrc":"149816:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"149837:3:19","nodeType":"YulTypedName","src":"149837:3:19","type":""},{"name":"w","nativeSrc":"149842:1:19","nodeType":"YulTypedName","src":"149842:1:19","type":""}],"src":"149816:342:19"},{"nativeSrc":"150171:17:19","nodeType":"YulAssignment","src":"150171:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"150183:4:19","nodeType":"YulLiteral","src":"150183:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"150177:5:19","nodeType":"YulIdentifier","src":"150177:5:19"},"nativeSrc":"150177:11:19","nodeType":"YulFunctionCall","src":"150177:11:19"},"variableNames":[{"name":"m0","nativeSrc":"150171:2:19","nodeType":"YulIdentifier","src":"150171:2:19"}]},{"nativeSrc":"150201:17:19","nodeType":"YulAssignment","src":"150201:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"150213:4:19","nodeType":"YulLiteral","src":"150213:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"150207:5:19","nodeType":"YulIdentifier","src":"150207:5:19"},"nativeSrc":"150207:11:19","nodeType":"YulFunctionCall","src":"150207:11:19"},"variableNames":[{"name":"m1","nativeSrc":"150201:2:19","nodeType":"YulIdentifier","src":"150201:2:19"}]},{"nativeSrc":"150231:17:19","nodeType":"YulAssignment","src":"150231:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"150243:4:19","nodeType":"YulLiteral","src":"150243:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"150237:5:19","nodeType":"YulIdentifier","src":"150237:5:19"},"nativeSrc":"150237:11:19","nodeType":"YulFunctionCall","src":"150237:11:19"},"variableNames":[{"name":"m2","nativeSrc":"150231:2:19","nodeType":"YulIdentifier","src":"150231:2:19"}]},{"nativeSrc":"150261:17:19","nodeType":"YulAssignment","src":"150261:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"150273:4:19","nodeType":"YulLiteral","src":"150273:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"150267:5:19","nodeType":"YulIdentifier","src":"150267:5:19"},"nativeSrc":"150267:11:19","nodeType":"YulFunctionCall","src":"150267:11:19"},"variableNames":[{"name":"m3","nativeSrc":"150261:2:19","nodeType":"YulIdentifier","src":"150261:2:19"}]},{"nativeSrc":"150291:17:19","nodeType":"YulAssignment","src":"150291:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"150303:4:19","nodeType":"YulLiteral","src":"150303:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"150297:5:19","nodeType":"YulIdentifier","src":"150297:5:19"},"nativeSrc":"150297:11:19","nodeType":"YulFunctionCall","src":"150297:11:19"},"variableNames":[{"name":"m4","nativeSrc":"150291:2:19","nodeType":"YulIdentifier","src":"150291:2:19"}]},{"nativeSrc":"150321:17:19","nodeType":"YulAssignment","src":"150321:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"150333:4:19","nodeType":"YulLiteral","src":"150333:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"150327:5:19","nodeType":"YulIdentifier","src":"150327:5:19"},"nativeSrc":"150327:11:19","nodeType":"YulFunctionCall","src":"150327:11:19"},"variableNames":[{"name":"m5","nativeSrc":"150321:2:19","nodeType":"YulIdentifier","src":"150321:2:19"}]},{"nativeSrc":"150351:17:19","nodeType":"YulAssignment","src":"150351:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"150363:4:19","nodeType":"YulLiteral","src":"150363:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"150357:5:19","nodeType":"YulIdentifier","src":"150357:5:19"},"nativeSrc":"150357:11:19","nodeType":"YulFunctionCall","src":"150357:11:19"},"variableNames":[{"name":"m6","nativeSrc":"150351:2:19","nodeType":"YulIdentifier","src":"150351:2:19"}]},{"nativeSrc":"150381:17:19","nodeType":"YulAssignment","src":"150381:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"150393:4:19","nodeType":"YulLiteral","src":"150393:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"150387:5:19","nodeType":"YulIdentifier","src":"150387:5:19"},"nativeSrc":"150387:11:19","nodeType":"YulFunctionCall","src":"150387:11:19"},"variableNames":[{"name":"m7","nativeSrc":"150381:2:19","nodeType":"YulIdentifier","src":"150381:2:19"}]},{"nativeSrc":"150411:18:19","nodeType":"YulAssignment","src":"150411:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"150423:5:19","nodeType":"YulLiteral","src":"150423:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"150417:5:19","nodeType":"YulIdentifier","src":"150417:5:19"},"nativeSrc":"150417:12:19","nodeType":"YulFunctionCall","src":"150417:12:19"},"variableNames":[{"name":"m8","nativeSrc":"150411:2:19","nodeType":"YulIdentifier","src":"150411:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150514:4:19","nodeType":"YulLiteral","src":"150514:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"150520:10:19","nodeType":"YulLiteral","src":"150520:10:19","type":"","value":"0xf7e36245"}],"functionName":{"name":"mstore","nativeSrc":"150507:6:19","nodeType":"YulIdentifier","src":"150507:6:19"},"nativeSrc":"150507:24:19","nodeType":"YulFunctionCall","src":"150507:24:19"},"nativeSrc":"150507:24:19","nodeType":"YulExpressionStatement","src":"150507:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150551:4:19","nodeType":"YulLiteral","src":"150551:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"150557:2:19","nodeType":"YulIdentifier","src":"150557:2:19"}],"functionName":{"name":"mstore","nativeSrc":"150544:6:19","nodeType":"YulIdentifier","src":"150544:6:19"},"nativeSrc":"150544:16:19","nodeType":"YulFunctionCall","src":"150544:16:19"},"nativeSrc":"150544:16:19","nodeType":"YulExpressionStatement","src":"150544:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150580:4:19","nodeType":"YulLiteral","src":"150580:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"150586:4:19","nodeType":"YulLiteral","src":"150586:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"150573:6:19","nodeType":"YulIdentifier","src":"150573:6:19"},"nativeSrc":"150573:18:19","nodeType":"YulFunctionCall","src":"150573:18:19"},"nativeSrc":"150573:18:19","nodeType":"YulExpressionStatement","src":"150573:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150611:4:19","nodeType":"YulLiteral","src":"150611:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"150617:2:19","nodeType":"YulIdentifier","src":"150617:2:19"}],"functionName":{"name":"mstore","nativeSrc":"150604:6:19","nodeType":"YulIdentifier","src":"150604:6:19"},"nativeSrc":"150604:16:19","nodeType":"YulFunctionCall","src":"150604:16:19"},"nativeSrc":"150604:16:19","nodeType":"YulExpressionStatement","src":"150604:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150640:4:19","nodeType":"YulLiteral","src":"150640:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"150646:4:19","nodeType":"YulLiteral","src":"150646:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"150633:6:19","nodeType":"YulIdentifier","src":"150633:6:19"},"nativeSrc":"150633:18:19","nodeType":"YulFunctionCall","src":"150633:18:19"},"nativeSrc":"150633:18:19","nodeType":"YulExpressionStatement","src":"150633:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150676:4:19","nodeType":"YulLiteral","src":"150676:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"150682:2:19","nodeType":"YulIdentifier","src":"150682:2:19"}],"functionName":{"name":"writeString","nativeSrc":"150664:11:19","nodeType":"YulIdentifier","src":"150664:11:19"},"nativeSrc":"150664:21:19","nodeType":"YulFunctionCall","src":"150664:21:19"},"nativeSrc":"150664:21:19","nodeType":"YulExpressionStatement","src":"150664:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150710:4:19","nodeType":"YulLiteral","src":"150710:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"150716:2:19","nodeType":"YulIdentifier","src":"150716:2:19"}],"functionName":{"name":"writeString","nativeSrc":"150698:11:19","nodeType":"YulIdentifier","src":"150698:11:19"},"nativeSrc":"150698:21:19","nodeType":"YulFunctionCall","src":"150698:21:19"},"nativeSrc":"150698:21:19","nodeType":"YulExpressionStatement","src":"150698:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31026,"isOffset":false,"isSlot":false,"src":"150171:2:19","valueSize":1},{"declaration":31029,"isOffset":false,"isSlot":false,"src":"150201:2:19","valueSize":1},{"declaration":31032,"isOffset":false,"isSlot":false,"src":"150231:2:19","valueSize":1},{"declaration":31035,"isOffset":false,"isSlot":false,"src":"150261:2:19","valueSize":1},{"declaration":31038,"isOffset":false,"isSlot":false,"src":"150291:2:19","valueSize":1},{"declaration":31041,"isOffset":false,"isSlot":false,"src":"150321:2:19","valueSize":1},{"declaration":31044,"isOffset":false,"isSlot":false,"src":"150351:2:19","valueSize":1},{"declaration":31047,"isOffset":false,"isSlot":false,"src":"150381:2:19","valueSize":1},{"declaration":31050,"isOffset":false,"isSlot":false,"src":"150411:2:19","valueSize":1},{"declaration":31016,"isOffset":false,"isSlot":false,"src":"150557:2:19","valueSize":1},{"declaration":31018,"isOffset":false,"isSlot":false,"src":"150682:2:19","valueSize":1},{"declaration":31020,"isOffset":false,"isSlot":false,"src":"150617:2:19","valueSize":1},{"declaration":31022,"isOffset":false,"isSlot":false,"src":"150716:2:19","valueSize":1}],"id":31052,"nodeType":"InlineAssembly","src":"149793:936:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"150754:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":31055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"150760:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":31053,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"150738:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"150738:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31057,"nodeType":"ExpressionStatement","src":"150738:28:19"},{"AST":{"nativeSrc":"150828:273:19","nodeType":"YulBlock","src":"150828:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"150849:4:19","nodeType":"YulLiteral","src":"150849:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"150855:2:19","nodeType":"YulIdentifier","src":"150855:2:19"}],"functionName":{"name":"mstore","nativeSrc":"150842:6:19","nodeType":"YulIdentifier","src":"150842:6:19"},"nativeSrc":"150842:16:19","nodeType":"YulFunctionCall","src":"150842:16:19"},"nativeSrc":"150842:16:19","nodeType":"YulExpressionStatement","src":"150842:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150878:4:19","nodeType":"YulLiteral","src":"150878:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"150884:2:19","nodeType":"YulIdentifier","src":"150884:2:19"}],"functionName":{"name":"mstore","nativeSrc":"150871:6:19","nodeType":"YulIdentifier","src":"150871:6:19"},"nativeSrc":"150871:16:19","nodeType":"YulFunctionCall","src":"150871:16:19"},"nativeSrc":"150871:16:19","nodeType":"YulExpressionStatement","src":"150871:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150907:4:19","nodeType":"YulLiteral","src":"150907:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"150913:2:19","nodeType":"YulIdentifier","src":"150913:2:19"}],"functionName":{"name":"mstore","nativeSrc":"150900:6:19","nodeType":"YulIdentifier","src":"150900:6:19"},"nativeSrc":"150900:16:19","nodeType":"YulFunctionCall","src":"150900:16:19"},"nativeSrc":"150900:16:19","nodeType":"YulExpressionStatement","src":"150900:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150936:4:19","nodeType":"YulLiteral","src":"150936:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"150942:2:19","nodeType":"YulIdentifier","src":"150942:2:19"}],"functionName":{"name":"mstore","nativeSrc":"150929:6:19","nodeType":"YulIdentifier","src":"150929:6:19"},"nativeSrc":"150929:16:19","nodeType":"YulFunctionCall","src":"150929:16:19"},"nativeSrc":"150929:16:19","nodeType":"YulExpressionStatement","src":"150929:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150965:4:19","nodeType":"YulLiteral","src":"150965:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"150971:2:19","nodeType":"YulIdentifier","src":"150971:2:19"}],"functionName":{"name":"mstore","nativeSrc":"150958:6:19","nodeType":"YulIdentifier","src":"150958:6:19"},"nativeSrc":"150958:16:19","nodeType":"YulFunctionCall","src":"150958:16:19"},"nativeSrc":"150958:16:19","nodeType":"YulExpressionStatement","src":"150958:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"150994:4:19","nodeType":"YulLiteral","src":"150994:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"151000:2:19","nodeType":"YulIdentifier","src":"151000:2:19"}],"functionName":{"name":"mstore","nativeSrc":"150987:6:19","nodeType":"YulIdentifier","src":"150987:6:19"},"nativeSrc":"150987:16:19","nodeType":"YulFunctionCall","src":"150987:16:19"},"nativeSrc":"150987:16:19","nodeType":"YulExpressionStatement","src":"150987:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"151023:4:19","nodeType":"YulLiteral","src":"151023:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"151029:2:19","nodeType":"YulIdentifier","src":"151029:2:19"}],"functionName":{"name":"mstore","nativeSrc":"151016:6:19","nodeType":"YulIdentifier","src":"151016:6:19"},"nativeSrc":"151016:16:19","nodeType":"YulFunctionCall","src":"151016:16:19"},"nativeSrc":"151016:16:19","nodeType":"YulExpressionStatement","src":"151016:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"151052:4:19","nodeType":"YulLiteral","src":"151052:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"151058:2:19","nodeType":"YulIdentifier","src":"151058:2:19"}],"functionName":{"name":"mstore","nativeSrc":"151045:6:19","nodeType":"YulIdentifier","src":"151045:6:19"},"nativeSrc":"151045:16:19","nodeType":"YulFunctionCall","src":"151045:16:19"},"nativeSrc":"151045:16:19","nodeType":"YulExpressionStatement","src":"151045:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"151081:5:19","nodeType":"YulLiteral","src":"151081:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"151088:2:19","nodeType":"YulIdentifier","src":"151088:2:19"}],"functionName":{"name":"mstore","nativeSrc":"151074:6:19","nodeType":"YulIdentifier","src":"151074:6:19"},"nativeSrc":"151074:17:19","nodeType":"YulFunctionCall","src":"151074:17:19"},"nativeSrc":"151074:17:19","nodeType":"YulExpressionStatement","src":"151074:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31026,"isOffset":false,"isSlot":false,"src":"150855:2:19","valueSize":1},{"declaration":31029,"isOffset":false,"isSlot":false,"src":"150884:2:19","valueSize":1},{"declaration":31032,"isOffset":false,"isSlot":false,"src":"150913:2:19","valueSize":1},{"declaration":31035,"isOffset":false,"isSlot":false,"src":"150942:2:19","valueSize":1},{"declaration":31038,"isOffset":false,"isSlot":false,"src":"150971:2:19","valueSize":1},{"declaration":31041,"isOffset":false,"isSlot":false,"src":"151000:2:19","valueSize":1},{"declaration":31044,"isOffset":false,"isSlot":false,"src":"151029:2:19","valueSize":1},{"declaration":31047,"isOffset":false,"isSlot":false,"src":"151058:2:19","valueSize":1},{"declaration":31050,"isOffset":false,"isSlot":false,"src":"151088:2:19","valueSize":1}],"id":31058,"nodeType":"InlineAssembly","src":"150819:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"149494:3:19","parameters":{"id":31023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31016,"mutability":"mutable","name":"p0","nameLocation":"149506:2:19","nodeType":"VariableDeclaration","scope":31060,"src":"149498:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31015,"name":"address","nodeType":"ElementaryTypeName","src":"149498:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31018,"mutability":"mutable","name":"p1","nameLocation":"149518:2:19","nodeType":"VariableDeclaration","scope":31060,"src":"149510:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31017,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149510:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31020,"mutability":"mutable","name":"p2","nameLocation":"149530:2:19","nodeType":"VariableDeclaration","scope":31060,"src":"149522:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31019,"name":"address","nodeType":"ElementaryTypeName","src":"149522:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31022,"mutability":"mutable","name":"p3","nameLocation":"149542:2:19","nodeType":"VariableDeclaration","scope":31060,"src":"149534:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31021,"name":"bytes32","nodeType":"ElementaryTypeName","src":"149534:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"149497:48:19"},"returnParameters":{"id":31024,"nodeType":"ParameterList","parameters":[],"src":"149560:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31100,"nodeType":"FunctionDefinition","src":"151113:1420:19","nodes":[],"body":{"id":31099,"nodeType":"Block","src":"151185:1348:19","nodes":[],"statements":[{"assignments":[31072],"declarations":[{"constant":false,"id":31072,"mutability":"mutable","name":"m0","nameLocation":"151203:2:19","nodeType":"VariableDeclaration","scope":31099,"src":"151195:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31071,"name":"bytes32","nodeType":"ElementaryTypeName","src":"151195:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31073,"nodeType":"VariableDeclarationStatement","src":"151195:10:19"},{"assignments":[31075],"declarations":[{"constant":false,"id":31075,"mutability":"mutable","name":"m1","nameLocation":"151223:2:19","nodeType":"VariableDeclaration","scope":31099,"src":"151215:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31074,"name":"bytes32","nodeType":"ElementaryTypeName","src":"151215:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31076,"nodeType":"VariableDeclarationStatement","src":"151215:10:19"},{"assignments":[31078],"declarations":[{"constant":false,"id":31078,"mutability":"mutable","name":"m2","nameLocation":"151243:2:19","nodeType":"VariableDeclaration","scope":31099,"src":"151235:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31077,"name":"bytes32","nodeType":"ElementaryTypeName","src":"151235:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31079,"nodeType":"VariableDeclarationStatement","src":"151235:10:19"},{"assignments":[31081],"declarations":[{"constant":false,"id":31081,"mutability":"mutable","name":"m3","nameLocation":"151263:2:19","nodeType":"VariableDeclaration","scope":31099,"src":"151255:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31080,"name":"bytes32","nodeType":"ElementaryTypeName","src":"151255:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31082,"nodeType":"VariableDeclarationStatement","src":"151255:10:19"},{"assignments":[31084],"declarations":[{"constant":false,"id":31084,"mutability":"mutable","name":"m4","nameLocation":"151283:2:19","nodeType":"VariableDeclaration","scope":31099,"src":"151275:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31083,"name":"bytes32","nodeType":"ElementaryTypeName","src":"151275:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31085,"nodeType":"VariableDeclarationStatement","src":"151275:10:19"},{"assignments":[31087],"declarations":[{"constant":false,"id":31087,"mutability":"mutable","name":"m5","nameLocation":"151303:2:19","nodeType":"VariableDeclaration","scope":31099,"src":"151295:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31086,"name":"bytes32","nodeType":"ElementaryTypeName","src":"151295:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31088,"nodeType":"VariableDeclarationStatement","src":"151295:10:19"},{"assignments":[31090],"declarations":[{"constant":false,"id":31090,"mutability":"mutable","name":"m6","nameLocation":"151323:2:19","nodeType":"VariableDeclaration","scope":31099,"src":"151315:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31089,"name":"bytes32","nodeType":"ElementaryTypeName","src":"151315:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31091,"nodeType":"VariableDeclarationStatement","src":"151315:10:19"},{"AST":{"nativeSrc":"151387:828:19","nodeType":"YulBlock","src":"151387:828:19","statements":[{"body":{"nativeSrc":"151430:313:19","nodeType":"YulBlock","src":"151430:313:19","statements":[{"nativeSrc":"151448:15:19","nodeType":"YulVariableDeclaration","src":"151448:15:19","value":{"kind":"number","nativeSrc":"151462:1:19","nodeType":"YulLiteral","src":"151462:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"151452:6:19","nodeType":"YulTypedName","src":"151452:6:19","type":""}]},{"body":{"nativeSrc":"151533:40:19","nodeType":"YulBlock","src":"151533:40:19","statements":[{"body":{"nativeSrc":"151562:9:19","nodeType":"YulBlock","src":"151562:9:19","statements":[{"nativeSrc":"151564:5:19","nodeType":"YulBreak","src":"151564:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"151550:6:19","nodeType":"YulIdentifier","src":"151550:6:19"},{"name":"w","nativeSrc":"151558:1:19","nodeType":"YulIdentifier","src":"151558:1:19"}],"functionName":{"name":"byte","nativeSrc":"151545:4:19","nodeType":"YulIdentifier","src":"151545:4:19"},"nativeSrc":"151545:15:19","nodeType":"YulFunctionCall","src":"151545:15:19"}],"functionName":{"name":"iszero","nativeSrc":"151538:6:19","nodeType":"YulIdentifier","src":"151538:6:19"},"nativeSrc":"151538:23:19","nodeType":"YulFunctionCall","src":"151538:23:19"},"nativeSrc":"151535:36:19","nodeType":"YulIf","src":"151535:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"151490:6:19","nodeType":"YulIdentifier","src":"151490:6:19"},{"kind":"number","nativeSrc":"151498:4:19","nodeType":"YulLiteral","src":"151498:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"151487:2:19","nodeType":"YulIdentifier","src":"151487:2:19"},"nativeSrc":"151487:16:19","nodeType":"YulFunctionCall","src":"151487:16:19"},"nativeSrc":"151480:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"151504:28:19","nodeType":"YulBlock","src":"151504:28:19","statements":[{"nativeSrc":"151506:24:19","nodeType":"YulAssignment","src":"151506:24:19","value":{"arguments":[{"name":"length","nativeSrc":"151520:6:19","nodeType":"YulIdentifier","src":"151520:6:19"},{"kind":"number","nativeSrc":"151528:1:19","nodeType":"YulLiteral","src":"151528:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"151516:3:19","nodeType":"YulIdentifier","src":"151516:3:19"},"nativeSrc":"151516:14:19","nodeType":"YulFunctionCall","src":"151516:14:19"},"variableNames":[{"name":"length","nativeSrc":"151506:6:19","nodeType":"YulIdentifier","src":"151506:6:19"}]}]},"pre":{"nativeSrc":"151484:2:19","nodeType":"YulBlock","src":"151484:2:19","statements":[]},"src":"151480:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"151597:3:19","nodeType":"YulIdentifier","src":"151597:3:19"},{"name":"length","nativeSrc":"151602:6:19","nodeType":"YulIdentifier","src":"151602:6:19"}],"functionName":{"name":"mstore","nativeSrc":"151590:6:19","nodeType":"YulIdentifier","src":"151590:6:19"},"nativeSrc":"151590:19:19","nodeType":"YulFunctionCall","src":"151590:19:19"},"nativeSrc":"151590:19:19","nodeType":"YulExpressionStatement","src":"151590:19:19"},{"nativeSrc":"151626:37:19","nodeType":"YulVariableDeclaration","src":"151626:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"151643:3:19","nodeType":"YulLiteral","src":"151643:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"151652:1:19","nodeType":"YulLiteral","src":"151652:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"151655:6:19","nodeType":"YulIdentifier","src":"151655:6:19"}],"functionName":{"name":"shl","nativeSrc":"151648:3:19","nodeType":"YulIdentifier","src":"151648:3:19"},"nativeSrc":"151648:14:19","nodeType":"YulFunctionCall","src":"151648:14:19"}],"functionName":{"name":"sub","nativeSrc":"151639:3:19","nodeType":"YulIdentifier","src":"151639:3:19"},"nativeSrc":"151639:24:19","nodeType":"YulFunctionCall","src":"151639:24:19"},"variables":[{"name":"shift","nativeSrc":"151630:5:19","nodeType":"YulTypedName","src":"151630:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"151691:3:19","nodeType":"YulIdentifier","src":"151691:3:19"},{"kind":"number","nativeSrc":"151696:4:19","nodeType":"YulLiteral","src":"151696:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"151687:3:19","nodeType":"YulIdentifier","src":"151687:3:19"},"nativeSrc":"151687:14:19","nodeType":"YulFunctionCall","src":"151687:14:19"},{"arguments":[{"name":"shift","nativeSrc":"151707:5:19","nodeType":"YulIdentifier","src":"151707:5:19"},{"arguments":[{"name":"shift","nativeSrc":"151718:5:19","nodeType":"YulIdentifier","src":"151718:5:19"},{"name":"w","nativeSrc":"151725:1:19","nodeType":"YulIdentifier","src":"151725:1:19"}],"functionName":{"name":"shr","nativeSrc":"151714:3:19","nodeType":"YulIdentifier","src":"151714:3:19"},"nativeSrc":"151714:13:19","nodeType":"YulFunctionCall","src":"151714:13:19"}],"functionName":{"name":"shl","nativeSrc":"151703:3:19","nodeType":"YulIdentifier","src":"151703:3:19"},"nativeSrc":"151703:25:19","nodeType":"YulFunctionCall","src":"151703:25:19"}],"functionName":{"name":"mstore","nativeSrc":"151680:6:19","nodeType":"YulIdentifier","src":"151680:6:19"},"nativeSrc":"151680:49:19","nodeType":"YulFunctionCall","src":"151680:49:19"},"nativeSrc":"151680:49:19","nodeType":"YulExpressionStatement","src":"151680:49:19"}]},"name":"writeString","nativeSrc":"151401:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"151422:3:19","nodeType":"YulTypedName","src":"151422:3:19","type":""},{"name":"w","nativeSrc":"151427:1:19","nodeType":"YulTypedName","src":"151427:1:19","type":""}],"src":"151401:342:19"},{"nativeSrc":"151756:17:19","nodeType":"YulAssignment","src":"151756:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"151768:4:19","nodeType":"YulLiteral","src":"151768:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"151762:5:19","nodeType":"YulIdentifier","src":"151762:5:19"},"nativeSrc":"151762:11:19","nodeType":"YulFunctionCall","src":"151762:11:19"},"variableNames":[{"name":"m0","nativeSrc":"151756:2:19","nodeType":"YulIdentifier","src":"151756:2:19"}]},{"nativeSrc":"151786:17:19","nodeType":"YulAssignment","src":"151786:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"151798:4:19","nodeType":"YulLiteral","src":"151798:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"151792:5:19","nodeType":"YulIdentifier","src":"151792:5:19"},"nativeSrc":"151792:11:19","nodeType":"YulFunctionCall","src":"151792:11:19"},"variableNames":[{"name":"m1","nativeSrc":"151786:2:19","nodeType":"YulIdentifier","src":"151786:2:19"}]},{"nativeSrc":"151816:17:19","nodeType":"YulAssignment","src":"151816:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"151828:4:19","nodeType":"YulLiteral","src":"151828:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"151822:5:19","nodeType":"YulIdentifier","src":"151822:5:19"},"nativeSrc":"151822:11:19","nodeType":"YulFunctionCall","src":"151822:11:19"},"variableNames":[{"name":"m2","nativeSrc":"151816:2:19","nodeType":"YulIdentifier","src":"151816:2:19"}]},{"nativeSrc":"151846:17:19","nodeType":"YulAssignment","src":"151846:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"151858:4:19","nodeType":"YulLiteral","src":"151858:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"151852:5:19","nodeType":"YulIdentifier","src":"151852:5:19"},"nativeSrc":"151852:11:19","nodeType":"YulFunctionCall","src":"151852:11:19"},"variableNames":[{"name":"m3","nativeSrc":"151846:2:19","nodeType":"YulIdentifier","src":"151846:2:19"}]},{"nativeSrc":"151876:17:19","nodeType":"YulAssignment","src":"151876:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"151888:4:19","nodeType":"YulLiteral","src":"151888:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"151882:5:19","nodeType":"YulIdentifier","src":"151882:5:19"},"nativeSrc":"151882:11:19","nodeType":"YulFunctionCall","src":"151882:11:19"},"variableNames":[{"name":"m4","nativeSrc":"151876:2:19","nodeType":"YulIdentifier","src":"151876:2:19"}]},{"nativeSrc":"151906:17:19","nodeType":"YulAssignment","src":"151906:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"151918:4:19","nodeType":"YulLiteral","src":"151918:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"151912:5:19","nodeType":"YulIdentifier","src":"151912:5:19"},"nativeSrc":"151912:11:19","nodeType":"YulFunctionCall","src":"151912:11:19"},"variableNames":[{"name":"m5","nativeSrc":"151906:2:19","nodeType":"YulIdentifier","src":"151906:2:19"}]},{"nativeSrc":"151936:17:19","nodeType":"YulAssignment","src":"151936:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"151948:4:19","nodeType":"YulLiteral","src":"151948:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"151942:5:19","nodeType":"YulIdentifier","src":"151942:5:19"},"nativeSrc":"151942:11:19","nodeType":"YulFunctionCall","src":"151942:11:19"},"variableNames":[{"name":"m6","nativeSrc":"151936:2:19","nodeType":"YulIdentifier","src":"151936:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152036:4:19","nodeType":"YulLiteral","src":"152036:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"152042:10:19","nodeType":"YulLiteral","src":"152042:10:19","type":"","value":"0x205871c2"}],"functionName":{"name":"mstore","nativeSrc":"152029:6:19","nodeType":"YulIdentifier","src":"152029:6:19"},"nativeSrc":"152029:24:19","nodeType":"YulFunctionCall","src":"152029:24:19"},"nativeSrc":"152029:24:19","nodeType":"YulExpressionStatement","src":"152029:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152073:4:19","nodeType":"YulLiteral","src":"152073:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"152079:2:19","nodeType":"YulIdentifier","src":"152079:2:19"}],"functionName":{"name":"mstore","nativeSrc":"152066:6:19","nodeType":"YulIdentifier","src":"152066:6:19"},"nativeSrc":"152066:16:19","nodeType":"YulFunctionCall","src":"152066:16:19"},"nativeSrc":"152066:16:19","nodeType":"YulExpressionStatement","src":"152066:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152102:4:19","nodeType":"YulLiteral","src":"152102:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"152108:4:19","nodeType":"YulLiteral","src":"152108:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"152095:6:19","nodeType":"YulIdentifier","src":"152095:6:19"},"nativeSrc":"152095:18:19","nodeType":"YulFunctionCall","src":"152095:18:19"},"nativeSrc":"152095:18:19","nodeType":"YulExpressionStatement","src":"152095:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152133:4:19","nodeType":"YulLiteral","src":"152133:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"152139:2:19","nodeType":"YulIdentifier","src":"152139:2:19"}],"functionName":{"name":"mstore","nativeSrc":"152126:6:19","nodeType":"YulIdentifier","src":"152126:6:19"},"nativeSrc":"152126:16:19","nodeType":"YulFunctionCall","src":"152126:16:19"},"nativeSrc":"152126:16:19","nodeType":"YulExpressionStatement","src":"152126:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152162:4:19","nodeType":"YulLiteral","src":"152162:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"152168:2:19","nodeType":"YulIdentifier","src":"152168:2:19"}],"functionName":{"name":"mstore","nativeSrc":"152155:6:19","nodeType":"YulIdentifier","src":"152155:6:19"},"nativeSrc":"152155:16:19","nodeType":"YulFunctionCall","src":"152155:16:19"},"nativeSrc":"152155:16:19","nodeType":"YulExpressionStatement","src":"152155:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152196:4:19","nodeType":"YulLiteral","src":"152196:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"152202:2:19","nodeType":"YulIdentifier","src":"152202:2:19"}],"functionName":{"name":"writeString","nativeSrc":"152184:11:19","nodeType":"YulIdentifier","src":"152184:11:19"},"nativeSrc":"152184:21:19","nodeType":"YulFunctionCall","src":"152184:21:19"},"nativeSrc":"152184:21:19","nodeType":"YulExpressionStatement","src":"152184:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31072,"isOffset":false,"isSlot":false,"src":"151756:2:19","valueSize":1},{"declaration":31075,"isOffset":false,"isSlot":false,"src":"151786:2:19","valueSize":1},{"declaration":31078,"isOffset":false,"isSlot":false,"src":"151816:2:19","valueSize":1},{"declaration":31081,"isOffset":false,"isSlot":false,"src":"151846:2:19","valueSize":1},{"declaration":31084,"isOffset":false,"isSlot":false,"src":"151876:2:19","valueSize":1},{"declaration":31087,"isOffset":false,"isSlot":false,"src":"151906:2:19","valueSize":1},{"declaration":31090,"isOffset":false,"isSlot":false,"src":"151936:2:19","valueSize":1},{"declaration":31062,"isOffset":false,"isSlot":false,"src":"152079:2:19","valueSize":1},{"declaration":31064,"isOffset":false,"isSlot":false,"src":"152202:2:19","valueSize":1},{"declaration":31066,"isOffset":false,"isSlot":false,"src":"152139:2:19","valueSize":1},{"declaration":31068,"isOffset":false,"isSlot":false,"src":"152168:2:19","valueSize":1}],"id":31092,"nodeType":"InlineAssembly","src":"151378:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"152240:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":31095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"152246:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":31093,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"152224:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"152224:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31097,"nodeType":"ExpressionStatement","src":"152224:27:19"},{"AST":{"nativeSrc":"152313:214:19","nodeType":"YulBlock","src":"152313:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"152334:4:19","nodeType":"YulLiteral","src":"152334:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"152340:2:19","nodeType":"YulIdentifier","src":"152340:2:19"}],"functionName":{"name":"mstore","nativeSrc":"152327:6:19","nodeType":"YulIdentifier","src":"152327:6:19"},"nativeSrc":"152327:16:19","nodeType":"YulFunctionCall","src":"152327:16:19"},"nativeSrc":"152327:16:19","nodeType":"YulExpressionStatement","src":"152327:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152363:4:19","nodeType":"YulLiteral","src":"152363:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"152369:2:19","nodeType":"YulIdentifier","src":"152369:2:19"}],"functionName":{"name":"mstore","nativeSrc":"152356:6:19","nodeType":"YulIdentifier","src":"152356:6:19"},"nativeSrc":"152356:16:19","nodeType":"YulFunctionCall","src":"152356:16:19"},"nativeSrc":"152356:16:19","nodeType":"YulExpressionStatement","src":"152356:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152392:4:19","nodeType":"YulLiteral","src":"152392:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"152398:2:19","nodeType":"YulIdentifier","src":"152398:2:19"}],"functionName":{"name":"mstore","nativeSrc":"152385:6:19","nodeType":"YulIdentifier","src":"152385:6:19"},"nativeSrc":"152385:16:19","nodeType":"YulFunctionCall","src":"152385:16:19"},"nativeSrc":"152385:16:19","nodeType":"YulExpressionStatement","src":"152385:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152421:4:19","nodeType":"YulLiteral","src":"152421:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"152427:2:19","nodeType":"YulIdentifier","src":"152427:2:19"}],"functionName":{"name":"mstore","nativeSrc":"152414:6:19","nodeType":"YulIdentifier","src":"152414:6:19"},"nativeSrc":"152414:16:19","nodeType":"YulFunctionCall","src":"152414:16:19"},"nativeSrc":"152414:16:19","nodeType":"YulExpressionStatement","src":"152414:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152450:4:19","nodeType":"YulLiteral","src":"152450:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"152456:2:19","nodeType":"YulIdentifier","src":"152456:2:19"}],"functionName":{"name":"mstore","nativeSrc":"152443:6:19","nodeType":"YulIdentifier","src":"152443:6:19"},"nativeSrc":"152443:16:19","nodeType":"YulFunctionCall","src":"152443:16:19"},"nativeSrc":"152443:16:19","nodeType":"YulExpressionStatement","src":"152443:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152479:4:19","nodeType":"YulLiteral","src":"152479:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"152485:2:19","nodeType":"YulIdentifier","src":"152485:2:19"}],"functionName":{"name":"mstore","nativeSrc":"152472:6:19","nodeType":"YulIdentifier","src":"152472:6:19"},"nativeSrc":"152472:16:19","nodeType":"YulFunctionCall","src":"152472:16:19"},"nativeSrc":"152472:16:19","nodeType":"YulExpressionStatement","src":"152472:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"152508:4:19","nodeType":"YulLiteral","src":"152508:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"152514:2:19","nodeType":"YulIdentifier","src":"152514:2:19"}],"functionName":{"name":"mstore","nativeSrc":"152501:6:19","nodeType":"YulIdentifier","src":"152501:6:19"},"nativeSrc":"152501:16:19","nodeType":"YulFunctionCall","src":"152501:16:19"},"nativeSrc":"152501:16:19","nodeType":"YulExpressionStatement","src":"152501:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31072,"isOffset":false,"isSlot":false,"src":"152340:2:19","valueSize":1},{"declaration":31075,"isOffset":false,"isSlot":false,"src":"152369:2:19","valueSize":1},{"declaration":31078,"isOffset":false,"isSlot":false,"src":"152398:2:19","valueSize":1},{"declaration":31081,"isOffset":false,"isSlot":false,"src":"152427:2:19","valueSize":1},{"declaration":31084,"isOffset":false,"isSlot":false,"src":"152456:2:19","valueSize":1},{"declaration":31087,"isOffset":false,"isSlot":false,"src":"152485:2:19","valueSize":1},{"declaration":31090,"isOffset":false,"isSlot":false,"src":"152514:2:19","valueSize":1}],"id":31098,"nodeType":"InlineAssembly","src":"152304:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"151122:3:19","parameters":{"id":31069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31062,"mutability":"mutable","name":"p0","nameLocation":"151134:2:19","nodeType":"VariableDeclaration","scope":31100,"src":"151126:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31061,"name":"address","nodeType":"ElementaryTypeName","src":"151126:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31064,"mutability":"mutable","name":"p1","nameLocation":"151146:2:19","nodeType":"VariableDeclaration","scope":31100,"src":"151138:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31063,"name":"bytes32","nodeType":"ElementaryTypeName","src":"151138:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31066,"mutability":"mutable","name":"p2","nameLocation":"151155:2:19","nodeType":"VariableDeclaration","scope":31100,"src":"151150:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31065,"name":"bool","nodeType":"ElementaryTypeName","src":"151150:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31068,"mutability":"mutable","name":"p3","nameLocation":"151167:2:19","nodeType":"VariableDeclaration","scope":31100,"src":"151159:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31067,"name":"address","nodeType":"ElementaryTypeName","src":"151159:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"151125:45:19"},"returnParameters":{"id":31070,"nodeType":"ParameterList","parameters":[],"src":"151185:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31140,"nodeType":"FunctionDefinition","src":"152539:1414:19","nodes":[],"body":{"id":31139,"nodeType":"Block","src":"152608:1345:19","nodes":[],"statements":[{"assignments":[31112],"declarations":[{"constant":false,"id":31112,"mutability":"mutable","name":"m0","nameLocation":"152626:2:19","nodeType":"VariableDeclaration","scope":31139,"src":"152618:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"152618:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31113,"nodeType":"VariableDeclarationStatement","src":"152618:10:19"},{"assignments":[31115],"declarations":[{"constant":false,"id":31115,"mutability":"mutable","name":"m1","nameLocation":"152646:2:19","nodeType":"VariableDeclaration","scope":31139,"src":"152638:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31114,"name":"bytes32","nodeType":"ElementaryTypeName","src":"152638:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31116,"nodeType":"VariableDeclarationStatement","src":"152638:10:19"},{"assignments":[31118],"declarations":[{"constant":false,"id":31118,"mutability":"mutable","name":"m2","nameLocation":"152666:2:19","nodeType":"VariableDeclaration","scope":31139,"src":"152658:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31117,"name":"bytes32","nodeType":"ElementaryTypeName","src":"152658:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31119,"nodeType":"VariableDeclarationStatement","src":"152658:10:19"},{"assignments":[31121],"declarations":[{"constant":false,"id":31121,"mutability":"mutable","name":"m3","nameLocation":"152686:2:19","nodeType":"VariableDeclaration","scope":31139,"src":"152678:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31120,"name":"bytes32","nodeType":"ElementaryTypeName","src":"152678:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31122,"nodeType":"VariableDeclarationStatement","src":"152678:10:19"},{"assignments":[31124],"declarations":[{"constant":false,"id":31124,"mutability":"mutable","name":"m4","nameLocation":"152706:2:19","nodeType":"VariableDeclaration","scope":31139,"src":"152698:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31123,"name":"bytes32","nodeType":"ElementaryTypeName","src":"152698:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31125,"nodeType":"VariableDeclarationStatement","src":"152698:10:19"},{"assignments":[31127],"declarations":[{"constant":false,"id":31127,"mutability":"mutable","name":"m5","nameLocation":"152726:2:19","nodeType":"VariableDeclaration","scope":31139,"src":"152718:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31126,"name":"bytes32","nodeType":"ElementaryTypeName","src":"152718:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31128,"nodeType":"VariableDeclarationStatement","src":"152718:10:19"},{"assignments":[31130],"declarations":[{"constant":false,"id":31130,"mutability":"mutable","name":"m6","nameLocation":"152746:2:19","nodeType":"VariableDeclaration","scope":31139,"src":"152738:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31129,"name":"bytes32","nodeType":"ElementaryTypeName","src":"152738:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31131,"nodeType":"VariableDeclarationStatement","src":"152738:10:19"},{"AST":{"nativeSrc":"152810:825:19","nodeType":"YulBlock","src":"152810:825:19","statements":[{"body":{"nativeSrc":"152853:313:19","nodeType":"YulBlock","src":"152853:313:19","statements":[{"nativeSrc":"152871:15:19","nodeType":"YulVariableDeclaration","src":"152871:15:19","value":{"kind":"number","nativeSrc":"152885:1:19","nodeType":"YulLiteral","src":"152885:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"152875:6:19","nodeType":"YulTypedName","src":"152875:6:19","type":""}]},{"body":{"nativeSrc":"152956:40:19","nodeType":"YulBlock","src":"152956:40:19","statements":[{"body":{"nativeSrc":"152985:9:19","nodeType":"YulBlock","src":"152985:9:19","statements":[{"nativeSrc":"152987:5:19","nodeType":"YulBreak","src":"152987:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"152973:6:19","nodeType":"YulIdentifier","src":"152973:6:19"},{"name":"w","nativeSrc":"152981:1:19","nodeType":"YulIdentifier","src":"152981:1:19"}],"functionName":{"name":"byte","nativeSrc":"152968:4:19","nodeType":"YulIdentifier","src":"152968:4:19"},"nativeSrc":"152968:15:19","nodeType":"YulFunctionCall","src":"152968:15:19"}],"functionName":{"name":"iszero","nativeSrc":"152961:6:19","nodeType":"YulIdentifier","src":"152961:6:19"},"nativeSrc":"152961:23:19","nodeType":"YulFunctionCall","src":"152961:23:19"},"nativeSrc":"152958:36:19","nodeType":"YulIf","src":"152958:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"152913:6:19","nodeType":"YulIdentifier","src":"152913:6:19"},{"kind":"number","nativeSrc":"152921:4:19","nodeType":"YulLiteral","src":"152921:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"152910:2:19","nodeType":"YulIdentifier","src":"152910:2:19"},"nativeSrc":"152910:16:19","nodeType":"YulFunctionCall","src":"152910:16:19"},"nativeSrc":"152903:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"152927:28:19","nodeType":"YulBlock","src":"152927:28:19","statements":[{"nativeSrc":"152929:24:19","nodeType":"YulAssignment","src":"152929:24:19","value":{"arguments":[{"name":"length","nativeSrc":"152943:6:19","nodeType":"YulIdentifier","src":"152943:6:19"},{"kind":"number","nativeSrc":"152951:1:19","nodeType":"YulLiteral","src":"152951:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"152939:3:19","nodeType":"YulIdentifier","src":"152939:3:19"},"nativeSrc":"152939:14:19","nodeType":"YulFunctionCall","src":"152939:14:19"},"variableNames":[{"name":"length","nativeSrc":"152929:6:19","nodeType":"YulIdentifier","src":"152929:6:19"}]}]},"pre":{"nativeSrc":"152907:2:19","nodeType":"YulBlock","src":"152907:2:19","statements":[]},"src":"152903:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"153020:3:19","nodeType":"YulIdentifier","src":"153020:3:19"},{"name":"length","nativeSrc":"153025:6:19","nodeType":"YulIdentifier","src":"153025:6:19"}],"functionName":{"name":"mstore","nativeSrc":"153013:6:19","nodeType":"YulIdentifier","src":"153013:6:19"},"nativeSrc":"153013:19:19","nodeType":"YulFunctionCall","src":"153013:19:19"},"nativeSrc":"153013:19:19","nodeType":"YulExpressionStatement","src":"153013:19:19"},{"nativeSrc":"153049:37:19","nodeType":"YulVariableDeclaration","src":"153049:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"153066:3:19","nodeType":"YulLiteral","src":"153066:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"153075:1:19","nodeType":"YulLiteral","src":"153075:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"153078:6:19","nodeType":"YulIdentifier","src":"153078:6:19"}],"functionName":{"name":"shl","nativeSrc":"153071:3:19","nodeType":"YulIdentifier","src":"153071:3:19"},"nativeSrc":"153071:14:19","nodeType":"YulFunctionCall","src":"153071:14:19"}],"functionName":{"name":"sub","nativeSrc":"153062:3:19","nodeType":"YulIdentifier","src":"153062:3:19"},"nativeSrc":"153062:24:19","nodeType":"YulFunctionCall","src":"153062:24:19"},"variables":[{"name":"shift","nativeSrc":"153053:5:19","nodeType":"YulTypedName","src":"153053:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"153114:3:19","nodeType":"YulIdentifier","src":"153114:3:19"},{"kind":"number","nativeSrc":"153119:4:19","nodeType":"YulLiteral","src":"153119:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"153110:3:19","nodeType":"YulIdentifier","src":"153110:3:19"},"nativeSrc":"153110:14:19","nodeType":"YulFunctionCall","src":"153110:14:19"},{"arguments":[{"name":"shift","nativeSrc":"153130:5:19","nodeType":"YulIdentifier","src":"153130:5:19"},{"arguments":[{"name":"shift","nativeSrc":"153141:5:19","nodeType":"YulIdentifier","src":"153141:5:19"},{"name":"w","nativeSrc":"153148:1:19","nodeType":"YulIdentifier","src":"153148:1:19"}],"functionName":{"name":"shr","nativeSrc":"153137:3:19","nodeType":"YulIdentifier","src":"153137:3:19"},"nativeSrc":"153137:13:19","nodeType":"YulFunctionCall","src":"153137:13:19"}],"functionName":{"name":"shl","nativeSrc":"153126:3:19","nodeType":"YulIdentifier","src":"153126:3:19"},"nativeSrc":"153126:25:19","nodeType":"YulFunctionCall","src":"153126:25:19"}],"functionName":{"name":"mstore","nativeSrc":"153103:6:19","nodeType":"YulIdentifier","src":"153103:6:19"},"nativeSrc":"153103:49:19","nodeType":"YulFunctionCall","src":"153103:49:19"},"nativeSrc":"153103:49:19","nodeType":"YulExpressionStatement","src":"153103:49:19"}]},"name":"writeString","nativeSrc":"152824:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"152845:3:19","nodeType":"YulTypedName","src":"152845:3:19","type":""},{"name":"w","nativeSrc":"152850:1:19","nodeType":"YulTypedName","src":"152850:1:19","type":""}],"src":"152824:342:19"},{"nativeSrc":"153179:17:19","nodeType":"YulAssignment","src":"153179:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"153191:4:19","nodeType":"YulLiteral","src":"153191:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"153185:5:19","nodeType":"YulIdentifier","src":"153185:5:19"},"nativeSrc":"153185:11:19","nodeType":"YulFunctionCall","src":"153185:11:19"},"variableNames":[{"name":"m0","nativeSrc":"153179:2:19","nodeType":"YulIdentifier","src":"153179:2:19"}]},{"nativeSrc":"153209:17:19","nodeType":"YulAssignment","src":"153209:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"153221:4:19","nodeType":"YulLiteral","src":"153221:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"153215:5:19","nodeType":"YulIdentifier","src":"153215:5:19"},"nativeSrc":"153215:11:19","nodeType":"YulFunctionCall","src":"153215:11:19"},"variableNames":[{"name":"m1","nativeSrc":"153209:2:19","nodeType":"YulIdentifier","src":"153209:2:19"}]},{"nativeSrc":"153239:17:19","nodeType":"YulAssignment","src":"153239:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"153251:4:19","nodeType":"YulLiteral","src":"153251:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"153245:5:19","nodeType":"YulIdentifier","src":"153245:5:19"},"nativeSrc":"153245:11:19","nodeType":"YulFunctionCall","src":"153245:11:19"},"variableNames":[{"name":"m2","nativeSrc":"153239:2:19","nodeType":"YulIdentifier","src":"153239:2:19"}]},{"nativeSrc":"153269:17:19","nodeType":"YulAssignment","src":"153269:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"153281:4:19","nodeType":"YulLiteral","src":"153281:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"153275:5:19","nodeType":"YulIdentifier","src":"153275:5:19"},"nativeSrc":"153275:11:19","nodeType":"YulFunctionCall","src":"153275:11:19"},"variableNames":[{"name":"m3","nativeSrc":"153269:2:19","nodeType":"YulIdentifier","src":"153269:2:19"}]},{"nativeSrc":"153299:17:19","nodeType":"YulAssignment","src":"153299:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"153311:4:19","nodeType":"YulLiteral","src":"153311:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"153305:5:19","nodeType":"YulIdentifier","src":"153305:5:19"},"nativeSrc":"153305:11:19","nodeType":"YulFunctionCall","src":"153305:11:19"},"variableNames":[{"name":"m4","nativeSrc":"153299:2:19","nodeType":"YulIdentifier","src":"153299:2:19"}]},{"nativeSrc":"153329:17:19","nodeType":"YulAssignment","src":"153329:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"153341:4:19","nodeType":"YulLiteral","src":"153341:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"153335:5:19","nodeType":"YulIdentifier","src":"153335:5:19"},"nativeSrc":"153335:11:19","nodeType":"YulFunctionCall","src":"153335:11:19"},"variableNames":[{"name":"m5","nativeSrc":"153329:2:19","nodeType":"YulIdentifier","src":"153329:2:19"}]},{"nativeSrc":"153359:17:19","nodeType":"YulAssignment","src":"153359:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"153371:4:19","nodeType":"YulLiteral","src":"153371:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"153365:5:19","nodeType":"YulIdentifier","src":"153365:5:19"},"nativeSrc":"153365:11:19","nodeType":"YulFunctionCall","src":"153365:11:19"},"variableNames":[{"name":"m6","nativeSrc":"153359:2:19","nodeType":"YulIdentifier","src":"153359:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153456:4:19","nodeType":"YulLiteral","src":"153456:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"153462:10:19","nodeType":"YulLiteral","src":"153462:10:19","type":"","value":"0x5f1d5c9f"}],"functionName":{"name":"mstore","nativeSrc":"153449:6:19","nodeType":"YulIdentifier","src":"153449:6:19"},"nativeSrc":"153449:24:19","nodeType":"YulFunctionCall","src":"153449:24:19"},"nativeSrc":"153449:24:19","nodeType":"YulExpressionStatement","src":"153449:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153493:4:19","nodeType":"YulLiteral","src":"153493:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"153499:2:19","nodeType":"YulIdentifier","src":"153499:2:19"}],"functionName":{"name":"mstore","nativeSrc":"153486:6:19","nodeType":"YulIdentifier","src":"153486:6:19"},"nativeSrc":"153486:16:19","nodeType":"YulFunctionCall","src":"153486:16:19"},"nativeSrc":"153486:16:19","nodeType":"YulExpressionStatement","src":"153486:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153522:4:19","nodeType":"YulLiteral","src":"153522:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"153528:4:19","nodeType":"YulLiteral","src":"153528:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"153515:6:19","nodeType":"YulIdentifier","src":"153515:6:19"},"nativeSrc":"153515:18:19","nodeType":"YulFunctionCall","src":"153515:18:19"},"nativeSrc":"153515:18:19","nodeType":"YulExpressionStatement","src":"153515:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153553:4:19","nodeType":"YulLiteral","src":"153553:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"153559:2:19","nodeType":"YulIdentifier","src":"153559:2:19"}],"functionName":{"name":"mstore","nativeSrc":"153546:6:19","nodeType":"YulIdentifier","src":"153546:6:19"},"nativeSrc":"153546:16:19","nodeType":"YulFunctionCall","src":"153546:16:19"},"nativeSrc":"153546:16:19","nodeType":"YulExpressionStatement","src":"153546:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153582:4:19","nodeType":"YulLiteral","src":"153582:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"153588:2:19","nodeType":"YulIdentifier","src":"153588:2:19"}],"functionName":{"name":"mstore","nativeSrc":"153575:6:19","nodeType":"YulIdentifier","src":"153575:6:19"},"nativeSrc":"153575:16:19","nodeType":"YulFunctionCall","src":"153575:16:19"},"nativeSrc":"153575:16:19","nodeType":"YulExpressionStatement","src":"153575:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153616:4:19","nodeType":"YulLiteral","src":"153616:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"153622:2:19","nodeType":"YulIdentifier","src":"153622:2:19"}],"functionName":{"name":"writeString","nativeSrc":"153604:11:19","nodeType":"YulIdentifier","src":"153604:11:19"},"nativeSrc":"153604:21:19","nodeType":"YulFunctionCall","src":"153604:21:19"},"nativeSrc":"153604:21:19","nodeType":"YulExpressionStatement","src":"153604:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31112,"isOffset":false,"isSlot":false,"src":"153179:2:19","valueSize":1},{"declaration":31115,"isOffset":false,"isSlot":false,"src":"153209:2:19","valueSize":1},{"declaration":31118,"isOffset":false,"isSlot":false,"src":"153239:2:19","valueSize":1},{"declaration":31121,"isOffset":false,"isSlot":false,"src":"153269:2:19","valueSize":1},{"declaration":31124,"isOffset":false,"isSlot":false,"src":"153299:2:19","valueSize":1},{"declaration":31127,"isOffset":false,"isSlot":false,"src":"153329:2:19","valueSize":1},{"declaration":31130,"isOffset":false,"isSlot":false,"src":"153359:2:19","valueSize":1},{"declaration":31102,"isOffset":false,"isSlot":false,"src":"153499:2:19","valueSize":1},{"declaration":31104,"isOffset":false,"isSlot":false,"src":"153622:2:19","valueSize":1},{"declaration":31106,"isOffset":false,"isSlot":false,"src":"153559:2:19","valueSize":1},{"declaration":31108,"isOffset":false,"isSlot":false,"src":"153588:2:19","valueSize":1}],"id":31132,"nodeType":"InlineAssembly","src":"152801:834:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"153660:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":31135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"153666:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":31133,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"153644:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"153644:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31137,"nodeType":"ExpressionStatement","src":"153644:27:19"},{"AST":{"nativeSrc":"153733:214:19","nodeType":"YulBlock","src":"153733:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"153754:4:19","nodeType":"YulLiteral","src":"153754:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"153760:2:19","nodeType":"YulIdentifier","src":"153760:2:19"}],"functionName":{"name":"mstore","nativeSrc":"153747:6:19","nodeType":"YulIdentifier","src":"153747:6:19"},"nativeSrc":"153747:16:19","nodeType":"YulFunctionCall","src":"153747:16:19"},"nativeSrc":"153747:16:19","nodeType":"YulExpressionStatement","src":"153747:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153783:4:19","nodeType":"YulLiteral","src":"153783:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"153789:2:19","nodeType":"YulIdentifier","src":"153789:2:19"}],"functionName":{"name":"mstore","nativeSrc":"153776:6:19","nodeType":"YulIdentifier","src":"153776:6:19"},"nativeSrc":"153776:16:19","nodeType":"YulFunctionCall","src":"153776:16:19"},"nativeSrc":"153776:16:19","nodeType":"YulExpressionStatement","src":"153776:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153812:4:19","nodeType":"YulLiteral","src":"153812:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"153818:2:19","nodeType":"YulIdentifier","src":"153818:2:19"}],"functionName":{"name":"mstore","nativeSrc":"153805:6:19","nodeType":"YulIdentifier","src":"153805:6:19"},"nativeSrc":"153805:16:19","nodeType":"YulFunctionCall","src":"153805:16:19"},"nativeSrc":"153805:16:19","nodeType":"YulExpressionStatement","src":"153805:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153841:4:19","nodeType":"YulLiteral","src":"153841:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"153847:2:19","nodeType":"YulIdentifier","src":"153847:2:19"}],"functionName":{"name":"mstore","nativeSrc":"153834:6:19","nodeType":"YulIdentifier","src":"153834:6:19"},"nativeSrc":"153834:16:19","nodeType":"YulFunctionCall","src":"153834:16:19"},"nativeSrc":"153834:16:19","nodeType":"YulExpressionStatement","src":"153834:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153870:4:19","nodeType":"YulLiteral","src":"153870:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"153876:2:19","nodeType":"YulIdentifier","src":"153876:2:19"}],"functionName":{"name":"mstore","nativeSrc":"153863:6:19","nodeType":"YulIdentifier","src":"153863:6:19"},"nativeSrc":"153863:16:19","nodeType":"YulFunctionCall","src":"153863:16:19"},"nativeSrc":"153863:16:19","nodeType":"YulExpressionStatement","src":"153863:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153899:4:19","nodeType":"YulLiteral","src":"153899:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"153905:2:19","nodeType":"YulIdentifier","src":"153905:2:19"}],"functionName":{"name":"mstore","nativeSrc":"153892:6:19","nodeType":"YulIdentifier","src":"153892:6:19"},"nativeSrc":"153892:16:19","nodeType":"YulFunctionCall","src":"153892:16:19"},"nativeSrc":"153892:16:19","nodeType":"YulExpressionStatement","src":"153892:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"153928:4:19","nodeType":"YulLiteral","src":"153928:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"153934:2:19","nodeType":"YulIdentifier","src":"153934:2:19"}],"functionName":{"name":"mstore","nativeSrc":"153921:6:19","nodeType":"YulIdentifier","src":"153921:6:19"},"nativeSrc":"153921:16:19","nodeType":"YulFunctionCall","src":"153921:16:19"},"nativeSrc":"153921:16:19","nodeType":"YulExpressionStatement","src":"153921:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31112,"isOffset":false,"isSlot":false,"src":"153760:2:19","valueSize":1},{"declaration":31115,"isOffset":false,"isSlot":false,"src":"153789:2:19","valueSize":1},{"declaration":31118,"isOffset":false,"isSlot":false,"src":"153818:2:19","valueSize":1},{"declaration":31121,"isOffset":false,"isSlot":false,"src":"153847:2:19","valueSize":1},{"declaration":31124,"isOffset":false,"isSlot":false,"src":"153876:2:19","valueSize":1},{"declaration":31127,"isOffset":false,"isSlot":false,"src":"153905:2:19","valueSize":1},{"declaration":31130,"isOffset":false,"isSlot":false,"src":"153934:2:19","valueSize":1}],"id":31138,"nodeType":"InlineAssembly","src":"153724:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"152548:3:19","parameters":{"id":31109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31102,"mutability":"mutable","name":"p0","nameLocation":"152560:2:19","nodeType":"VariableDeclaration","scope":31140,"src":"152552:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31101,"name":"address","nodeType":"ElementaryTypeName","src":"152552:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31104,"mutability":"mutable","name":"p1","nameLocation":"152572:2:19","nodeType":"VariableDeclaration","scope":31140,"src":"152564:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31103,"name":"bytes32","nodeType":"ElementaryTypeName","src":"152564:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31106,"mutability":"mutable","name":"p2","nameLocation":"152581:2:19","nodeType":"VariableDeclaration","scope":31140,"src":"152576:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31105,"name":"bool","nodeType":"ElementaryTypeName","src":"152576:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31108,"mutability":"mutable","name":"p3","nameLocation":"152590:2:19","nodeType":"VariableDeclaration","scope":31140,"src":"152585:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31107,"name":"bool","nodeType":"ElementaryTypeName","src":"152585:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"152551:42:19"},"returnParameters":{"id":31110,"nodeType":"ParameterList","parameters":[],"src":"152608:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31180,"nodeType":"FunctionDefinition","src":"153959:1420:19","nodes":[],"body":{"id":31179,"nodeType":"Block","src":"154031:1348:19","nodes":[],"statements":[{"assignments":[31152],"declarations":[{"constant":false,"id":31152,"mutability":"mutable","name":"m0","nameLocation":"154049:2:19","nodeType":"VariableDeclaration","scope":31179,"src":"154041:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31151,"name":"bytes32","nodeType":"ElementaryTypeName","src":"154041:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31153,"nodeType":"VariableDeclarationStatement","src":"154041:10:19"},{"assignments":[31155],"declarations":[{"constant":false,"id":31155,"mutability":"mutable","name":"m1","nameLocation":"154069:2:19","nodeType":"VariableDeclaration","scope":31179,"src":"154061:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31154,"name":"bytes32","nodeType":"ElementaryTypeName","src":"154061:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31156,"nodeType":"VariableDeclarationStatement","src":"154061:10:19"},{"assignments":[31158],"declarations":[{"constant":false,"id":31158,"mutability":"mutable","name":"m2","nameLocation":"154089:2:19","nodeType":"VariableDeclaration","scope":31179,"src":"154081:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31157,"name":"bytes32","nodeType":"ElementaryTypeName","src":"154081:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31159,"nodeType":"VariableDeclarationStatement","src":"154081:10:19"},{"assignments":[31161],"declarations":[{"constant":false,"id":31161,"mutability":"mutable","name":"m3","nameLocation":"154109:2:19","nodeType":"VariableDeclaration","scope":31179,"src":"154101:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31160,"name":"bytes32","nodeType":"ElementaryTypeName","src":"154101:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31162,"nodeType":"VariableDeclarationStatement","src":"154101:10:19"},{"assignments":[31164],"declarations":[{"constant":false,"id":31164,"mutability":"mutable","name":"m4","nameLocation":"154129:2:19","nodeType":"VariableDeclaration","scope":31179,"src":"154121:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31163,"name":"bytes32","nodeType":"ElementaryTypeName","src":"154121:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31165,"nodeType":"VariableDeclarationStatement","src":"154121:10:19"},{"assignments":[31167],"declarations":[{"constant":false,"id":31167,"mutability":"mutable","name":"m5","nameLocation":"154149:2:19","nodeType":"VariableDeclaration","scope":31179,"src":"154141:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31166,"name":"bytes32","nodeType":"ElementaryTypeName","src":"154141:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31168,"nodeType":"VariableDeclarationStatement","src":"154141:10:19"},{"assignments":[31170],"declarations":[{"constant":false,"id":31170,"mutability":"mutable","name":"m6","nameLocation":"154169:2:19","nodeType":"VariableDeclaration","scope":31179,"src":"154161:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31169,"name":"bytes32","nodeType":"ElementaryTypeName","src":"154161:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31171,"nodeType":"VariableDeclarationStatement","src":"154161:10:19"},{"AST":{"nativeSrc":"154233:828:19","nodeType":"YulBlock","src":"154233:828:19","statements":[{"body":{"nativeSrc":"154276:313:19","nodeType":"YulBlock","src":"154276:313:19","statements":[{"nativeSrc":"154294:15:19","nodeType":"YulVariableDeclaration","src":"154294:15:19","value":{"kind":"number","nativeSrc":"154308:1:19","nodeType":"YulLiteral","src":"154308:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"154298:6:19","nodeType":"YulTypedName","src":"154298:6:19","type":""}]},{"body":{"nativeSrc":"154379:40:19","nodeType":"YulBlock","src":"154379:40:19","statements":[{"body":{"nativeSrc":"154408:9:19","nodeType":"YulBlock","src":"154408:9:19","statements":[{"nativeSrc":"154410:5:19","nodeType":"YulBreak","src":"154410:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"154396:6:19","nodeType":"YulIdentifier","src":"154396:6:19"},{"name":"w","nativeSrc":"154404:1:19","nodeType":"YulIdentifier","src":"154404:1:19"}],"functionName":{"name":"byte","nativeSrc":"154391:4:19","nodeType":"YulIdentifier","src":"154391:4:19"},"nativeSrc":"154391:15:19","nodeType":"YulFunctionCall","src":"154391:15:19"}],"functionName":{"name":"iszero","nativeSrc":"154384:6:19","nodeType":"YulIdentifier","src":"154384:6:19"},"nativeSrc":"154384:23:19","nodeType":"YulFunctionCall","src":"154384:23:19"},"nativeSrc":"154381:36:19","nodeType":"YulIf","src":"154381:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"154336:6:19","nodeType":"YulIdentifier","src":"154336:6:19"},{"kind":"number","nativeSrc":"154344:4:19","nodeType":"YulLiteral","src":"154344:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"154333:2:19","nodeType":"YulIdentifier","src":"154333:2:19"},"nativeSrc":"154333:16:19","nodeType":"YulFunctionCall","src":"154333:16:19"},"nativeSrc":"154326:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"154350:28:19","nodeType":"YulBlock","src":"154350:28:19","statements":[{"nativeSrc":"154352:24:19","nodeType":"YulAssignment","src":"154352:24:19","value":{"arguments":[{"name":"length","nativeSrc":"154366:6:19","nodeType":"YulIdentifier","src":"154366:6:19"},{"kind":"number","nativeSrc":"154374:1:19","nodeType":"YulLiteral","src":"154374:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"154362:3:19","nodeType":"YulIdentifier","src":"154362:3:19"},"nativeSrc":"154362:14:19","nodeType":"YulFunctionCall","src":"154362:14:19"},"variableNames":[{"name":"length","nativeSrc":"154352:6:19","nodeType":"YulIdentifier","src":"154352:6:19"}]}]},"pre":{"nativeSrc":"154330:2:19","nodeType":"YulBlock","src":"154330:2:19","statements":[]},"src":"154326:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"154443:3:19","nodeType":"YulIdentifier","src":"154443:3:19"},{"name":"length","nativeSrc":"154448:6:19","nodeType":"YulIdentifier","src":"154448:6:19"}],"functionName":{"name":"mstore","nativeSrc":"154436:6:19","nodeType":"YulIdentifier","src":"154436:6:19"},"nativeSrc":"154436:19:19","nodeType":"YulFunctionCall","src":"154436:19:19"},"nativeSrc":"154436:19:19","nodeType":"YulExpressionStatement","src":"154436:19:19"},{"nativeSrc":"154472:37:19","nodeType":"YulVariableDeclaration","src":"154472:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"154489:3:19","nodeType":"YulLiteral","src":"154489:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"154498:1:19","nodeType":"YulLiteral","src":"154498:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"154501:6:19","nodeType":"YulIdentifier","src":"154501:6:19"}],"functionName":{"name":"shl","nativeSrc":"154494:3:19","nodeType":"YulIdentifier","src":"154494:3:19"},"nativeSrc":"154494:14:19","nodeType":"YulFunctionCall","src":"154494:14:19"}],"functionName":{"name":"sub","nativeSrc":"154485:3:19","nodeType":"YulIdentifier","src":"154485:3:19"},"nativeSrc":"154485:24:19","nodeType":"YulFunctionCall","src":"154485:24:19"},"variables":[{"name":"shift","nativeSrc":"154476:5:19","nodeType":"YulTypedName","src":"154476:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"154537:3:19","nodeType":"YulIdentifier","src":"154537:3:19"},{"kind":"number","nativeSrc":"154542:4:19","nodeType":"YulLiteral","src":"154542:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"154533:3:19","nodeType":"YulIdentifier","src":"154533:3:19"},"nativeSrc":"154533:14:19","nodeType":"YulFunctionCall","src":"154533:14:19"},{"arguments":[{"name":"shift","nativeSrc":"154553:5:19","nodeType":"YulIdentifier","src":"154553:5:19"},{"arguments":[{"name":"shift","nativeSrc":"154564:5:19","nodeType":"YulIdentifier","src":"154564:5:19"},{"name":"w","nativeSrc":"154571:1:19","nodeType":"YulIdentifier","src":"154571:1:19"}],"functionName":{"name":"shr","nativeSrc":"154560:3:19","nodeType":"YulIdentifier","src":"154560:3:19"},"nativeSrc":"154560:13:19","nodeType":"YulFunctionCall","src":"154560:13:19"}],"functionName":{"name":"shl","nativeSrc":"154549:3:19","nodeType":"YulIdentifier","src":"154549:3:19"},"nativeSrc":"154549:25:19","nodeType":"YulFunctionCall","src":"154549:25:19"}],"functionName":{"name":"mstore","nativeSrc":"154526:6:19","nodeType":"YulIdentifier","src":"154526:6:19"},"nativeSrc":"154526:49:19","nodeType":"YulFunctionCall","src":"154526:49:19"},"nativeSrc":"154526:49:19","nodeType":"YulExpressionStatement","src":"154526:49:19"}]},"name":"writeString","nativeSrc":"154247:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"154268:3:19","nodeType":"YulTypedName","src":"154268:3:19","type":""},{"name":"w","nativeSrc":"154273:1:19","nodeType":"YulTypedName","src":"154273:1:19","type":""}],"src":"154247:342:19"},{"nativeSrc":"154602:17:19","nodeType":"YulAssignment","src":"154602:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"154614:4:19","nodeType":"YulLiteral","src":"154614:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"154608:5:19","nodeType":"YulIdentifier","src":"154608:5:19"},"nativeSrc":"154608:11:19","nodeType":"YulFunctionCall","src":"154608:11:19"},"variableNames":[{"name":"m0","nativeSrc":"154602:2:19","nodeType":"YulIdentifier","src":"154602:2:19"}]},{"nativeSrc":"154632:17:19","nodeType":"YulAssignment","src":"154632:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"154644:4:19","nodeType":"YulLiteral","src":"154644:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"154638:5:19","nodeType":"YulIdentifier","src":"154638:5:19"},"nativeSrc":"154638:11:19","nodeType":"YulFunctionCall","src":"154638:11:19"},"variableNames":[{"name":"m1","nativeSrc":"154632:2:19","nodeType":"YulIdentifier","src":"154632:2:19"}]},{"nativeSrc":"154662:17:19","nodeType":"YulAssignment","src":"154662:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"154674:4:19","nodeType":"YulLiteral","src":"154674:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"154668:5:19","nodeType":"YulIdentifier","src":"154668:5:19"},"nativeSrc":"154668:11:19","nodeType":"YulFunctionCall","src":"154668:11:19"},"variableNames":[{"name":"m2","nativeSrc":"154662:2:19","nodeType":"YulIdentifier","src":"154662:2:19"}]},{"nativeSrc":"154692:17:19","nodeType":"YulAssignment","src":"154692:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"154704:4:19","nodeType":"YulLiteral","src":"154704:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"154698:5:19","nodeType":"YulIdentifier","src":"154698:5:19"},"nativeSrc":"154698:11:19","nodeType":"YulFunctionCall","src":"154698:11:19"},"variableNames":[{"name":"m3","nativeSrc":"154692:2:19","nodeType":"YulIdentifier","src":"154692:2:19"}]},{"nativeSrc":"154722:17:19","nodeType":"YulAssignment","src":"154722:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"154734:4:19","nodeType":"YulLiteral","src":"154734:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"154728:5:19","nodeType":"YulIdentifier","src":"154728:5:19"},"nativeSrc":"154728:11:19","nodeType":"YulFunctionCall","src":"154728:11:19"},"variableNames":[{"name":"m4","nativeSrc":"154722:2:19","nodeType":"YulIdentifier","src":"154722:2:19"}]},{"nativeSrc":"154752:17:19","nodeType":"YulAssignment","src":"154752:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"154764:4:19","nodeType":"YulLiteral","src":"154764:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"154758:5:19","nodeType":"YulIdentifier","src":"154758:5:19"},"nativeSrc":"154758:11:19","nodeType":"YulFunctionCall","src":"154758:11:19"},"variableNames":[{"name":"m5","nativeSrc":"154752:2:19","nodeType":"YulIdentifier","src":"154752:2:19"}]},{"nativeSrc":"154782:17:19","nodeType":"YulAssignment","src":"154782:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"154794:4:19","nodeType":"YulLiteral","src":"154794:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"154788:5:19","nodeType":"YulIdentifier","src":"154788:5:19"},"nativeSrc":"154788:11:19","nodeType":"YulFunctionCall","src":"154788:11:19"},"variableNames":[{"name":"m6","nativeSrc":"154782:2:19","nodeType":"YulIdentifier","src":"154782:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"154882:4:19","nodeType":"YulLiteral","src":"154882:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"154888:10:19","nodeType":"YulLiteral","src":"154888:10:19","type":"","value":"0x515e38b6"}],"functionName":{"name":"mstore","nativeSrc":"154875:6:19","nodeType":"YulIdentifier","src":"154875:6:19"},"nativeSrc":"154875:24:19","nodeType":"YulFunctionCall","src":"154875:24:19"},"nativeSrc":"154875:24:19","nodeType":"YulExpressionStatement","src":"154875:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"154919:4:19","nodeType":"YulLiteral","src":"154919:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"154925:2:19","nodeType":"YulIdentifier","src":"154925:2:19"}],"functionName":{"name":"mstore","nativeSrc":"154912:6:19","nodeType":"YulIdentifier","src":"154912:6:19"},"nativeSrc":"154912:16:19","nodeType":"YulFunctionCall","src":"154912:16:19"},"nativeSrc":"154912:16:19","nodeType":"YulExpressionStatement","src":"154912:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"154948:4:19","nodeType":"YulLiteral","src":"154948:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"154954:4:19","nodeType":"YulLiteral","src":"154954:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"154941:6:19","nodeType":"YulIdentifier","src":"154941:6:19"},"nativeSrc":"154941:18:19","nodeType":"YulFunctionCall","src":"154941:18:19"},"nativeSrc":"154941:18:19","nodeType":"YulExpressionStatement","src":"154941:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"154979:4:19","nodeType":"YulLiteral","src":"154979:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"154985:2:19","nodeType":"YulIdentifier","src":"154985:2:19"}],"functionName":{"name":"mstore","nativeSrc":"154972:6:19","nodeType":"YulIdentifier","src":"154972:6:19"},"nativeSrc":"154972:16:19","nodeType":"YulFunctionCall","src":"154972:16:19"},"nativeSrc":"154972:16:19","nodeType":"YulExpressionStatement","src":"154972:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"155008:4:19","nodeType":"YulLiteral","src":"155008:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"155014:2:19","nodeType":"YulIdentifier","src":"155014:2:19"}],"functionName":{"name":"mstore","nativeSrc":"155001:6:19","nodeType":"YulIdentifier","src":"155001:6:19"},"nativeSrc":"155001:16:19","nodeType":"YulFunctionCall","src":"155001:16:19"},"nativeSrc":"155001:16:19","nodeType":"YulExpressionStatement","src":"155001:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"155042:4:19","nodeType":"YulLiteral","src":"155042:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"155048:2:19","nodeType":"YulIdentifier","src":"155048:2:19"}],"functionName":{"name":"writeString","nativeSrc":"155030:11:19","nodeType":"YulIdentifier","src":"155030:11:19"},"nativeSrc":"155030:21:19","nodeType":"YulFunctionCall","src":"155030:21:19"},"nativeSrc":"155030:21:19","nodeType":"YulExpressionStatement","src":"155030:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31152,"isOffset":false,"isSlot":false,"src":"154602:2:19","valueSize":1},{"declaration":31155,"isOffset":false,"isSlot":false,"src":"154632:2:19","valueSize":1},{"declaration":31158,"isOffset":false,"isSlot":false,"src":"154662:2:19","valueSize":1},{"declaration":31161,"isOffset":false,"isSlot":false,"src":"154692:2:19","valueSize":1},{"declaration":31164,"isOffset":false,"isSlot":false,"src":"154722:2:19","valueSize":1},{"declaration":31167,"isOffset":false,"isSlot":false,"src":"154752:2:19","valueSize":1},{"declaration":31170,"isOffset":false,"isSlot":false,"src":"154782:2:19","valueSize":1},{"declaration":31142,"isOffset":false,"isSlot":false,"src":"154925:2:19","valueSize":1},{"declaration":31144,"isOffset":false,"isSlot":false,"src":"155048:2:19","valueSize":1},{"declaration":31146,"isOffset":false,"isSlot":false,"src":"154985:2:19","valueSize":1},{"declaration":31148,"isOffset":false,"isSlot":false,"src":"155014:2:19","valueSize":1}],"id":31172,"nodeType":"InlineAssembly","src":"154224:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"155086:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":31175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"155092:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":31173,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"155070:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"155070:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31177,"nodeType":"ExpressionStatement","src":"155070:27:19"},{"AST":{"nativeSrc":"155159:214:19","nodeType":"YulBlock","src":"155159:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"155180:4:19","nodeType":"YulLiteral","src":"155180:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"155186:2:19","nodeType":"YulIdentifier","src":"155186:2:19"}],"functionName":{"name":"mstore","nativeSrc":"155173:6:19","nodeType":"YulIdentifier","src":"155173:6:19"},"nativeSrc":"155173:16:19","nodeType":"YulFunctionCall","src":"155173:16:19"},"nativeSrc":"155173:16:19","nodeType":"YulExpressionStatement","src":"155173:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"155209:4:19","nodeType":"YulLiteral","src":"155209:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"155215:2:19","nodeType":"YulIdentifier","src":"155215:2:19"}],"functionName":{"name":"mstore","nativeSrc":"155202:6:19","nodeType":"YulIdentifier","src":"155202:6:19"},"nativeSrc":"155202:16:19","nodeType":"YulFunctionCall","src":"155202:16:19"},"nativeSrc":"155202:16:19","nodeType":"YulExpressionStatement","src":"155202:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"155238:4:19","nodeType":"YulLiteral","src":"155238:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"155244:2:19","nodeType":"YulIdentifier","src":"155244:2:19"}],"functionName":{"name":"mstore","nativeSrc":"155231:6:19","nodeType":"YulIdentifier","src":"155231:6:19"},"nativeSrc":"155231:16:19","nodeType":"YulFunctionCall","src":"155231:16:19"},"nativeSrc":"155231:16:19","nodeType":"YulExpressionStatement","src":"155231:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"155267:4:19","nodeType":"YulLiteral","src":"155267:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"155273:2:19","nodeType":"YulIdentifier","src":"155273:2:19"}],"functionName":{"name":"mstore","nativeSrc":"155260:6:19","nodeType":"YulIdentifier","src":"155260:6:19"},"nativeSrc":"155260:16:19","nodeType":"YulFunctionCall","src":"155260:16:19"},"nativeSrc":"155260:16:19","nodeType":"YulExpressionStatement","src":"155260:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"155296:4:19","nodeType":"YulLiteral","src":"155296:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"155302:2:19","nodeType":"YulIdentifier","src":"155302:2:19"}],"functionName":{"name":"mstore","nativeSrc":"155289:6:19","nodeType":"YulIdentifier","src":"155289:6:19"},"nativeSrc":"155289:16:19","nodeType":"YulFunctionCall","src":"155289:16:19"},"nativeSrc":"155289:16:19","nodeType":"YulExpressionStatement","src":"155289:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"155325:4:19","nodeType":"YulLiteral","src":"155325:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"155331:2:19","nodeType":"YulIdentifier","src":"155331:2:19"}],"functionName":{"name":"mstore","nativeSrc":"155318:6:19","nodeType":"YulIdentifier","src":"155318:6:19"},"nativeSrc":"155318:16:19","nodeType":"YulFunctionCall","src":"155318:16:19"},"nativeSrc":"155318:16:19","nodeType":"YulExpressionStatement","src":"155318:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"155354:4:19","nodeType":"YulLiteral","src":"155354:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"155360:2:19","nodeType":"YulIdentifier","src":"155360:2:19"}],"functionName":{"name":"mstore","nativeSrc":"155347:6:19","nodeType":"YulIdentifier","src":"155347:6:19"},"nativeSrc":"155347:16:19","nodeType":"YulFunctionCall","src":"155347:16:19"},"nativeSrc":"155347:16:19","nodeType":"YulExpressionStatement","src":"155347:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31152,"isOffset":false,"isSlot":false,"src":"155186:2:19","valueSize":1},{"declaration":31155,"isOffset":false,"isSlot":false,"src":"155215:2:19","valueSize":1},{"declaration":31158,"isOffset":false,"isSlot":false,"src":"155244:2:19","valueSize":1},{"declaration":31161,"isOffset":false,"isSlot":false,"src":"155273:2:19","valueSize":1},{"declaration":31164,"isOffset":false,"isSlot":false,"src":"155302:2:19","valueSize":1},{"declaration":31167,"isOffset":false,"isSlot":false,"src":"155331:2:19","valueSize":1},{"declaration":31170,"isOffset":false,"isSlot":false,"src":"155360:2:19","valueSize":1}],"id":31178,"nodeType":"InlineAssembly","src":"155150:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"153968:3:19","parameters":{"id":31149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31142,"mutability":"mutable","name":"p0","nameLocation":"153980:2:19","nodeType":"VariableDeclaration","scope":31180,"src":"153972:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31141,"name":"address","nodeType":"ElementaryTypeName","src":"153972:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31144,"mutability":"mutable","name":"p1","nameLocation":"153992:2:19","nodeType":"VariableDeclaration","scope":31180,"src":"153984:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31143,"name":"bytes32","nodeType":"ElementaryTypeName","src":"153984:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31146,"mutability":"mutable","name":"p2","nameLocation":"154001:2:19","nodeType":"VariableDeclaration","scope":31180,"src":"153996:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31145,"name":"bool","nodeType":"ElementaryTypeName","src":"153996:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31148,"mutability":"mutable","name":"p3","nameLocation":"154013:2:19","nodeType":"VariableDeclaration","scope":31180,"src":"154005:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31147,"name":"uint256","nodeType":"ElementaryTypeName","src":"154005:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"153971:45:19"},"returnParameters":{"id":31150,"nodeType":"ParameterList","parameters":[],"src":"154031:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31226,"nodeType":"FunctionDefinition","src":"155385:1616:19","nodes":[],"body":{"id":31225,"nodeType":"Block","src":"155457:1544:19","nodes":[],"statements":[{"assignments":[31192],"declarations":[{"constant":false,"id":31192,"mutability":"mutable","name":"m0","nameLocation":"155475:2:19","nodeType":"VariableDeclaration","scope":31225,"src":"155467:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31191,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155467:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31193,"nodeType":"VariableDeclarationStatement","src":"155467:10:19"},{"assignments":[31195],"declarations":[{"constant":false,"id":31195,"mutability":"mutable","name":"m1","nameLocation":"155495:2:19","nodeType":"VariableDeclaration","scope":31225,"src":"155487:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31194,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155487:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31196,"nodeType":"VariableDeclarationStatement","src":"155487:10:19"},{"assignments":[31198],"declarations":[{"constant":false,"id":31198,"mutability":"mutable","name":"m2","nameLocation":"155515:2:19","nodeType":"VariableDeclaration","scope":31225,"src":"155507:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31197,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155507:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31199,"nodeType":"VariableDeclarationStatement","src":"155507:10:19"},{"assignments":[31201],"declarations":[{"constant":false,"id":31201,"mutability":"mutable","name":"m3","nameLocation":"155535:2:19","nodeType":"VariableDeclaration","scope":31225,"src":"155527:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31200,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155527:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31202,"nodeType":"VariableDeclarationStatement","src":"155527:10:19"},{"assignments":[31204],"declarations":[{"constant":false,"id":31204,"mutability":"mutable","name":"m4","nameLocation":"155555:2:19","nodeType":"VariableDeclaration","scope":31225,"src":"155547:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31203,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155547:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31205,"nodeType":"VariableDeclarationStatement","src":"155547:10:19"},{"assignments":[31207],"declarations":[{"constant":false,"id":31207,"mutability":"mutable","name":"m5","nameLocation":"155575:2:19","nodeType":"VariableDeclaration","scope":31225,"src":"155567:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31206,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155567:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31208,"nodeType":"VariableDeclarationStatement","src":"155567:10:19"},{"assignments":[31210],"declarations":[{"constant":false,"id":31210,"mutability":"mutable","name":"m6","nameLocation":"155595:2:19","nodeType":"VariableDeclaration","scope":31225,"src":"155587:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31209,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155587:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31211,"nodeType":"VariableDeclarationStatement","src":"155587:10:19"},{"assignments":[31213],"declarations":[{"constant":false,"id":31213,"mutability":"mutable","name":"m7","nameLocation":"155615:2:19","nodeType":"VariableDeclaration","scope":31225,"src":"155607:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31212,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155607:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31214,"nodeType":"VariableDeclarationStatement","src":"155607:10:19"},{"assignments":[31216],"declarations":[{"constant":false,"id":31216,"mutability":"mutable","name":"m8","nameLocation":"155635:2:19","nodeType":"VariableDeclaration","scope":31225,"src":"155627:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31215,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155627:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31217,"nodeType":"VariableDeclarationStatement","src":"155627:10:19"},{"AST":{"nativeSrc":"155699:924:19","nodeType":"YulBlock","src":"155699:924:19","statements":[{"body":{"nativeSrc":"155742:313:19","nodeType":"YulBlock","src":"155742:313:19","statements":[{"nativeSrc":"155760:15:19","nodeType":"YulVariableDeclaration","src":"155760:15:19","value":{"kind":"number","nativeSrc":"155774:1:19","nodeType":"YulLiteral","src":"155774:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"155764:6:19","nodeType":"YulTypedName","src":"155764:6:19","type":""}]},{"body":{"nativeSrc":"155845:40:19","nodeType":"YulBlock","src":"155845:40:19","statements":[{"body":{"nativeSrc":"155874:9:19","nodeType":"YulBlock","src":"155874:9:19","statements":[{"nativeSrc":"155876:5:19","nodeType":"YulBreak","src":"155876:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"155862:6:19","nodeType":"YulIdentifier","src":"155862:6:19"},{"name":"w","nativeSrc":"155870:1:19","nodeType":"YulIdentifier","src":"155870:1:19"}],"functionName":{"name":"byte","nativeSrc":"155857:4:19","nodeType":"YulIdentifier","src":"155857:4:19"},"nativeSrc":"155857:15:19","nodeType":"YulFunctionCall","src":"155857:15:19"}],"functionName":{"name":"iszero","nativeSrc":"155850:6:19","nodeType":"YulIdentifier","src":"155850:6:19"},"nativeSrc":"155850:23:19","nodeType":"YulFunctionCall","src":"155850:23:19"},"nativeSrc":"155847:36:19","nodeType":"YulIf","src":"155847:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"155802:6:19","nodeType":"YulIdentifier","src":"155802:6:19"},{"kind":"number","nativeSrc":"155810:4:19","nodeType":"YulLiteral","src":"155810:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"155799:2:19","nodeType":"YulIdentifier","src":"155799:2:19"},"nativeSrc":"155799:16:19","nodeType":"YulFunctionCall","src":"155799:16:19"},"nativeSrc":"155792:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"155816:28:19","nodeType":"YulBlock","src":"155816:28:19","statements":[{"nativeSrc":"155818:24:19","nodeType":"YulAssignment","src":"155818:24:19","value":{"arguments":[{"name":"length","nativeSrc":"155832:6:19","nodeType":"YulIdentifier","src":"155832:6:19"},{"kind":"number","nativeSrc":"155840:1:19","nodeType":"YulLiteral","src":"155840:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"155828:3:19","nodeType":"YulIdentifier","src":"155828:3:19"},"nativeSrc":"155828:14:19","nodeType":"YulFunctionCall","src":"155828:14:19"},"variableNames":[{"name":"length","nativeSrc":"155818:6:19","nodeType":"YulIdentifier","src":"155818:6:19"}]}]},"pre":{"nativeSrc":"155796:2:19","nodeType":"YulBlock","src":"155796:2:19","statements":[]},"src":"155792:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"155909:3:19","nodeType":"YulIdentifier","src":"155909:3:19"},{"name":"length","nativeSrc":"155914:6:19","nodeType":"YulIdentifier","src":"155914:6:19"}],"functionName":{"name":"mstore","nativeSrc":"155902:6:19","nodeType":"YulIdentifier","src":"155902:6:19"},"nativeSrc":"155902:19:19","nodeType":"YulFunctionCall","src":"155902:19:19"},"nativeSrc":"155902:19:19","nodeType":"YulExpressionStatement","src":"155902:19:19"},{"nativeSrc":"155938:37:19","nodeType":"YulVariableDeclaration","src":"155938:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"155955:3:19","nodeType":"YulLiteral","src":"155955:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"155964:1:19","nodeType":"YulLiteral","src":"155964:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"155967:6:19","nodeType":"YulIdentifier","src":"155967:6:19"}],"functionName":{"name":"shl","nativeSrc":"155960:3:19","nodeType":"YulIdentifier","src":"155960:3:19"},"nativeSrc":"155960:14:19","nodeType":"YulFunctionCall","src":"155960:14:19"}],"functionName":{"name":"sub","nativeSrc":"155951:3:19","nodeType":"YulIdentifier","src":"155951:3:19"},"nativeSrc":"155951:24:19","nodeType":"YulFunctionCall","src":"155951:24:19"},"variables":[{"name":"shift","nativeSrc":"155942:5:19","nodeType":"YulTypedName","src":"155942:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"156003:3:19","nodeType":"YulIdentifier","src":"156003:3:19"},{"kind":"number","nativeSrc":"156008:4:19","nodeType":"YulLiteral","src":"156008:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"155999:3:19","nodeType":"YulIdentifier","src":"155999:3:19"},"nativeSrc":"155999:14:19","nodeType":"YulFunctionCall","src":"155999:14:19"},{"arguments":[{"name":"shift","nativeSrc":"156019:5:19","nodeType":"YulIdentifier","src":"156019:5:19"},{"arguments":[{"name":"shift","nativeSrc":"156030:5:19","nodeType":"YulIdentifier","src":"156030:5:19"},{"name":"w","nativeSrc":"156037:1:19","nodeType":"YulIdentifier","src":"156037:1:19"}],"functionName":{"name":"shr","nativeSrc":"156026:3:19","nodeType":"YulIdentifier","src":"156026:3:19"},"nativeSrc":"156026:13:19","nodeType":"YulFunctionCall","src":"156026:13:19"}],"functionName":{"name":"shl","nativeSrc":"156015:3:19","nodeType":"YulIdentifier","src":"156015:3:19"},"nativeSrc":"156015:25:19","nodeType":"YulFunctionCall","src":"156015:25:19"}],"functionName":{"name":"mstore","nativeSrc":"155992:6:19","nodeType":"YulIdentifier","src":"155992:6:19"},"nativeSrc":"155992:49:19","nodeType":"YulFunctionCall","src":"155992:49:19"},"nativeSrc":"155992:49:19","nodeType":"YulExpressionStatement","src":"155992:49:19"}]},"name":"writeString","nativeSrc":"155713:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"155734:3:19","nodeType":"YulTypedName","src":"155734:3:19","type":""},{"name":"w","nativeSrc":"155739:1:19","nodeType":"YulTypedName","src":"155739:1:19","type":""}],"src":"155713:342:19"},{"nativeSrc":"156068:17:19","nodeType":"YulAssignment","src":"156068:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"156080:4:19","nodeType":"YulLiteral","src":"156080:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"156074:5:19","nodeType":"YulIdentifier","src":"156074:5:19"},"nativeSrc":"156074:11:19","nodeType":"YulFunctionCall","src":"156074:11:19"},"variableNames":[{"name":"m0","nativeSrc":"156068:2:19","nodeType":"YulIdentifier","src":"156068:2:19"}]},{"nativeSrc":"156098:17:19","nodeType":"YulAssignment","src":"156098:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"156110:4:19","nodeType":"YulLiteral","src":"156110:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"156104:5:19","nodeType":"YulIdentifier","src":"156104:5:19"},"nativeSrc":"156104:11:19","nodeType":"YulFunctionCall","src":"156104:11:19"},"variableNames":[{"name":"m1","nativeSrc":"156098:2:19","nodeType":"YulIdentifier","src":"156098:2:19"}]},{"nativeSrc":"156128:17:19","nodeType":"YulAssignment","src":"156128:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"156140:4:19","nodeType":"YulLiteral","src":"156140:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"156134:5:19","nodeType":"YulIdentifier","src":"156134:5:19"},"nativeSrc":"156134:11:19","nodeType":"YulFunctionCall","src":"156134:11:19"},"variableNames":[{"name":"m2","nativeSrc":"156128:2:19","nodeType":"YulIdentifier","src":"156128:2:19"}]},{"nativeSrc":"156158:17:19","nodeType":"YulAssignment","src":"156158:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"156170:4:19","nodeType":"YulLiteral","src":"156170:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"156164:5:19","nodeType":"YulIdentifier","src":"156164:5:19"},"nativeSrc":"156164:11:19","nodeType":"YulFunctionCall","src":"156164:11:19"},"variableNames":[{"name":"m3","nativeSrc":"156158:2:19","nodeType":"YulIdentifier","src":"156158:2:19"}]},{"nativeSrc":"156188:17:19","nodeType":"YulAssignment","src":"156188:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"156200:4:19","nodeType":"YulLiteral","src":"156200:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"156194:5:19","nodeType":"YulIdentifier","src":"156194:5:19"},"nativeSrc":"156194:11:19","nodeType":"YulFunctionCall","src":"156194:11:19"},"variableNames":[{"name":"m4","nativeSrc":"156188:2:19","nodeType":"YulIdentifier","src":"156188:2:19"}]},{"nativeSrc":"156218:17:19","nodeType":"YulAssignment","src":"156218:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"156230:4:19","nodeType":"YulLiteral","src":"156230:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"156224:5:19","nodeType":"YulIdentifier","src":"156224:5:19"},"nativeSrc":"156224:11:19","nodeType":"YulFunctionCall","src":"156224:11:19"},"variableNames":[{"name":"m5","nativeSrc":"156218:2:19","nodeType":"YulIdentifier","src":"156218:2:19"}]},{"nativeSrc":"156248:17:19","nodeType":"YulAssignment","src":"156248:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"156260:4:19","nodeType":"YulLiteral","src":"156260:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"156254:5:19","nodeType":"YulIdentifier","src":"156254:5:19"},"nativeSrc":"156254:11:19","nodeType":"YulFunctionCall","src":"156254:11:19"},"variableNames":[{"name":"m6","nativeSrc":"156248:2:19","nodeType":"YulIdentifier","src":"156248:2:19"}]},{"nativeSrc":"156278:17:19","nodeType":"YulAssignment","src":"156278:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"156290:4:19","nodeType":"YulLiteral","src":"156290:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"156284:5:19","nodeType":"YulIdentifier","src":"156284:5:19"},"nativeSrc":"156284:11:19","nodeType":"YulFunctionCall","src":"156284:11:19"},"variableNames":[{"name":"m7","nativeSrc":"156278:2:19","nodeType":"YulIdentifier","src":"156278:2:19"}]},{"nativeSrc":"156308:18:19","nodeType":"YulAssignment","src":"156308:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"156320:5:19","nodeType":"YulLiteral","src":"156320:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"156314:5:19","nodeType":"YulIdentifier","src":"156314:5:19"},"nativeSrc":"156314:12:19","nodeType":"YulFunctionCall","src":"156314:12:19"},"variableNames":[{"name":"m8","nativeSrc":"156308:2:19","nodeType":"YulIdentifier","src":"156308:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156408:4:19","nodeType":"YulLiteral","src":"156408:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"156414:10:19","nodeType":"YulLiteral","src":"156414:10:19","type":"","value":"0xbc0b61fe"}],"functionName":{"name":"mstore","nativeSrc":"156401:6:19","nodeType":"YulIdentifier","src":"156401:6:19"},"nativeSrc":"156401:24:19","nodeType":"YulFunctionCall","src":"156401:24:19"},"nativeSrc":"156401:24:19","nodeType":"YulExpressionStatement","src":"156401:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156445:4:19","nodeType":"YulLiteral","src":"156445:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"156451:2:19","nodeType":"YulIdentifier","src":"156451:2:19"}],"functionName":{"name":"mstore","nativeSrc":"156438:6:19","nodeType":"YulIdentifier","src":"156438:6:19"},"nativeSrc":"156438:16:19","nodeType":"YulFunctionCall","src":"156438:16:19"},"nativeSrc":"156438:16:19","nodeType":"YulExpressionStatement","src":"156438:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156474:4:19","nodeType":"YulLiteral","src":"156474:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"156480:4:19","nodeType":"YulLiteral","src":"156480:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"156467:6:19","nodeType":"YulIdentifier","src":"156467:6:19"},"nativeSrc":"156467:18:19","nodeType":"YulFunctionCall","src":"156467:18:19"},"nativeSrc":"156467:18:19","nodeType":"YulExpressionStatement","src":"156467:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156505:4:19","nodeType":"YulLiteral","src":"156505:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"156511:2:19","nodeType":"YulIdentifier","src":"156511:2:19"}],"functionName":{"name":"mstore","nativeSrc":"156498:6:19","nodeType":"YulIdentifier","src":"156498:6:19"},"nativeSrc":"156498:16:19","nodeType":"YulFunctionCall","src":"156498:16:19"},"nativeSrc":"156498:16:19","nodeType":"YulExpressionStatement","src":"156498:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156534:4:19","nodeType":"YulLiteral","src":"156534:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"156540:4:19","nodeType":"YulLiteral","src":"156540:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"156527:6:19","nodeType":"YulIdentifier","src":"156527:6:19"},"nativeSrc":"156527:18:19","nodeType":"YulFunctionCall","src":"156527:18:19"},"nativeSrc":"156527:18:19","nodeType":"YulExpressionStatement","src":"156527:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156570:4:19","nodeType":"YulLiteral","src":"156570:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"156576:2:19","nodeType":"YulIdentifier","src":"156576:2:19"}],"functionName":{"name":"writeString","nativeSrc":"156558:11:19","nodeType":"YulIdentifier","src":"156558:11:19"},"nativeSrc":"156558:21:19","nodeType":"YulFunctionCall","src":"156558:21:19"},"nativeSrc":"156558:21:19","nodeType":"YulExpressionStatement","src":"156558:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156604:4:19","nodeType":"YulLiteral","src":"156604:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"156610:2:19","nodeType":"YulIdentifier","src":"156610:2:19"}],"functionName":{"name":"writeString","nativeSrc":"156592:11:19","nodeType":"YulIdentifier","src":"156592:11:19"},"nativeSrc":"156592:21:19","nodeType":"YulFunctionCall","src":"156592:21:19"},"nativeSrc":"156592:21:19","nodeType":"YulExpressionStatement","src":"156592:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31192,"isOffset":false,"isSlot":false,"src":"156068:2:19","valueSize":1},{"declaration":31195,"isOffset":false,"isSlot":false,"src":"156098:2:19","valueSize":1},{"declaration":31198,"isOffset":false,"isSlot":false,"src":"156128:2:19","valueSize":1},{"declaration":31201,"isOffset":false,"isSlot":false,"src":"156158:2:19","valueSize":1},{"declaration":31204,"isOffset":false,"isSlot":false,"src":"156188:2:19","valueSize":1},{"declaration":31207,"isOffset":false,"isSlot":false,"src":"156218:2:19","valueSize":1},{"declaration":31210,"isOffset":false,"isSlot":false,"src":"156248:2:19","valueSize":1},{"declaration":31213,"isOffset":false,"isSlot":false,"src":"156278:2:19","valueSize":1},{"declaration":31216,"isOffset":false,"isSlot":false,"src":"156308:2:19","valueSize":1},{"declaration":31182,"isOffset":false,"isSlot":false,"src":"156451:2:19","valueSize":1},{"declaration":31184,"isOffset":false,"isSlot":false,"src":"156576:2:19","valueSize":1},{"declaration":31186,"isOffset":false,"isSlot":false,"src":"156511:2:19","valueSize":1},{"declaration":31188,"isOffset":false,"isSlot":false,"src":"156610:2:19","valueSize":1}],"id":31218,"nodeType":"InlineAssembly","src":"155690:933:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"156648:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":31221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"156654:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":31219,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"156632:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"156632:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31223,"nodeType":"ExpressionStatement","src":"156632:28:19"},{"AST":{"nativeSrc":"156722:273:19","nodeType":"YulBlock","src":"156722:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"156743:4:19","nodeType":"YulLiteral","src":"156743:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"156749:2:19","nodeType":"YulIdentifier","src":"156749:2:19"}],"functionName":{"name":"mstore","nativeSrc":"156736:6:19","nodeType":"YulIdentifier","src":"156736:6:19"},"nativeSrc":"156736:16:19","nodeType":"YulFunctionCall","src":"156736:16:19"},"nativeSrc":"156736:16:19","nodeType":"YulExpressionStatement","src":"156736:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156772:4:19","nodeType":"YulLiteral","src":"156772:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"156778:2:19","nodeType":"YulIdentifier","src":"156778:2:19"}],"functionName":{"name":"mstore","nativeSrc":"156765:6:19","nodeType":"YulIdentifier","src":"156765:6:19"},"nativeSrc":"156765:16:19","nodeType":"YulFunctionCall","src":"156765:16:19"},"nativeSrc":"156765:16:19","nodeType":"YulExpressionStatement","src":"156765:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156801:4:19","nodeType":"YulLiteral","src":"156801:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"156807:2:19","nodeType":"YulIdentifier","src":"156807:2:19"}],"functionName":{"name":"mstore","nativeSrc":"156794:6:19","nodeType":"YulIdentifier","src":"156794:6:19"},"nativeSrc":"156794:16:19","nodeType":"YulFunctionCall","src":"156794:16:19"},"nativeSrc":"156794:16:19","nodeType":"YulExpressionStatement","src":"156794:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156830:4:19","nodeType":"YulLiteral","src":"156830:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"156836:2:19","nodeType":"YulIdentifier","src":"156836:2:19"}],"functionName":{"name":"mstore","nativeSrc":"156823:6:19","nodeType":"YulIdentifier","src":"156823:6:19"},"nativeSrc":"156823:16:19","nodeType":"YulFunctionCall","src":"156823:16:19"},"nativeSrc":"156823:16:19","nodeType":"YulExpressionStatement","src":"156823:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156859:4:19","nodeType":"YulLiteral","src":"156859:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"156865:2:19","nodeType":"YulIdentifier","src":"156865:2:19"}],"functionName":{"name":"mstore","nativeSrc":"156852:6:19","nodeType":"YulIdentifier","src":"156852:6:19"},"nativeSrc":"156852:16:19","nodeType":"YulFunctionCall","src":"156852:16:19"},"nativeSrc":"156852:16:19","nodeType":"YulExpressionStatement","src":"156852:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156888:4:19","nodeType":"YulLiteral","src":"156888:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"156894:2:19","nodeType":"YulIdentifier","src":"156894:2:19"}],"functionName":{"name":"mstore","nativeSrc":"156881:6:19","nodeType":"YulIdentifier","src":"156881:6:19"},"nativeSrc":"156881:16:19","nodeType":"YulFunctionCall","src":"156881:16:19"},"nativeSrc":"156881:16:19","nodeType":"YulExpressionStatement","src":"156881:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156917:4:19","nodeType":"YulLiteral","src":"156917:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"156923:2:19","nodeType":"YulIdentifier","src":"156923:2:19"}],"functionName":{"name":"mstore","nativeSrc":"156910:6:19","nodeType":"YulIdentifier","src":"156910:6:19"},"nativeSrc":"156910:16:19","nodeType":"YulFunctionCall","src":"156910:16:19"},"nativeSrc":"156910:16:19","nodeType":"YulExpressionStatement","src":"156910:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156946:4:19","nodeType":"YulLiteral","src":"156946:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"156952:2:19","nodeType":"YulIdentifier","src":"156952:2:19"}],"functionName":{"name":"mstore","nativeSrc":"156939:6:19","nodeType":"YulIdentifier","src":"156939:6:19"},"nativeSrc":"156939:16:19","nodeType":"YulFunctionCall","src":"156939:16:19"},"nativeSrc":"156939:16:19","nodeType":"YulExpressionStatement","src":"156939:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"156975:5:19","nodeType":"YulLiteral","src":"156975:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"156982:2:19","nodeType":"YulIdentifier","src":"156982:2:19"}],"functionName":{"name":"mstore","nativeSrc":"156968:6:19","nodeType":"YulIdentifier","src":"156968:6:19"},"nativeSrc":"156968:17:19","nodeType":"YulFunctionCall","src":"156968:17:19"},"nativeSrc":"156968:17:19","nodeType":"YulExpressionStatement","src":"156968:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31192,"isOffset":false,"isSlot":false,"src":"156749:2:19","valueSize":1},{"declaration":31195,"isOffset":false,"isSlot":false,"src":"156778:2:19","valueSize":1},{"declaration":31198,"isOffset":false,"isSlot":false,"src":"156807:2:19","valueSize":1},{"declaration":31201,"isOffset":false,"isSlot":false,"src":"156836:2:19","valueSize":1},{"declaration":31204,"isOffset":false,"isSlot":false,"src":"156865:2:19","valueSize":1},{"declaration":31207,"isOffset":false,"isSlot":false,"src":"156894:2:19","valueSize":1},{"declaration":31210,"isOffset":false,"isSlot":false,"src":"156923:2:19","valueSize":1},{"declaration":31213,"isOffset":false,"isSlot":false,"src":"156952:2:19","valueSize":1},{"declaration":31216,"isOffset":false,"isSlot":false,"src":"156982:2:19","valueSize":1}],"id":31224,"nodeType":"InlineAssembly","src":"156713:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"155394:3:19","parameters":{"id":31189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31182,"mutability":"mutable","name":"p0","nameLocation":"155406:2:19","nodeType":"VariableDeclaration","scope":31226,"src":"155398:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31181,"name":"address","nodeType":"ElementaryTypeName","src":"155398:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31184,"mutability":"mutable","name":"p1","nameLocation":"155418:2:19","nodeType":"VariableDeclaration","scope":31226,"src":"155410:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31183,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155410:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31186,"mutability":"mutable","name":"p2","nameLocation":"155427:2:19","nodeType":"VariableDeclaration","scope":31226,"src":"155422:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31185,"name":"bool","nodeType":"ElementaryTypeName","src":"155422:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31188,"mutability":"mutable","name":"p3","nameLocation":"155439:2:19","nodeType":"VariableDeclaration","scope":31226,"src":"155431:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31187,"name":"bytes32","nodeType":"ElementaryTypeName","src":"155431:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"155397:45:19"},"returnParameters":{"id":31190,"nodeType":"ParameterList","parameters":[],"src":"155457:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31266,"nodeType":"FunctionDefinition","src":"157007:1426:19","nodes":[],"body":{"id":31265,"nodeType":"Block","src":"157082:1351:19","nodes":[],"statements":[{"assignments":[31238],"declarations":[{"constant":false,"id":31238,"mutability":"mutable","name":"m0","nameLocation":"157100:2:19","nodeType":"VariableDeclaration","scope":31265,"src":"157092:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31237,"name":"bytes32","nodeType":"ElementaryTypeName","src":"157092:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31239,"nodeType":"VariableDeclarationStatement","src":"157092:10:19"},{"assignments":[31241],"declarations":[{"constant":false,"id":31241,"mutability":"mutable","name":"m1","nameLocation":"157120:2:19","nodeType":"VariableDeclaration","scope":31265,"src":"157112:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31240,"name":"bytes32","nodeType":"ElementaryTypeName","src":"157112:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31242,"nodeType":"VariableDeclarationStatement","src":"157112:10:19"},{"assignments":[31244],"declarations":[{"constant":false,"id":31244,"mutability":"mutable","name":"m2","nameLocation":"157140:2:19","nodeType":"VariableDeclaration","scope":31265,"src":"157132:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31243,"name":"bytes32","nodeType":"ElementaryTypeName","src":"157132:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31245,"nodeType":"VariableDeclarationStatement","src":"157132:10:19"},{"assignments":[31247],"declarations":[{"constant":false,"id":31247,"mutability":"mutable","name":"m3","nameLocation":"157160:2:19","nodeType":"VariableDeclaration","scope":31265,"src":"157152:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31246,"name":"bytes32","nodeType":"ElementaryTypeName","src":"157152:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31248,"nodeType":"VariableDeclarationStatement","src":"157152:10:19"},{"assignments":[31250],"declarations":[{"constant":false,"id":31250,"mutability":"mutable","name":"m4","nameLocation":"157180:2:19","nodeType":"VariableDeclaration","scope":31265,"src":"157172:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"157172:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31251,"nodeType":"VariableDeclarationStatement","src":"157172:10:19"},{"assignments":[31253],"declarations":[{"constant":false,"id":31253,"mutability":"mutable","name":"m5","nameLocation":"157200:2:19","nodeType":"VariableDeclaration","scope":31265,"src":"157192:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31252,"name":"bytes32","nodeType":"ElementaryTypeName","src":"157192:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31254,"nodeType":"VariableDeclarationStatement","src":"157192:10:19"},{"assignments":[31256],"declarations":[{"constant":false,"id":31256,"mutability":"mutable","name":"m6","nameLocation":"157220:2:19","nodeType":"VariableDeclaration","scope":31265,"src":"157212:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31255,"name":"bytes32","nodeType":"ElementaryTypeName","src":"157212:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31257,"nodeType":"VariableDeclarationStatement","src":"157212:10:19"},{"AST":{"nativeSrc":"157284:831:19","nodeType":"YulBlock","src":"157284:831:19","statements":[{"body":{"nativeSrc":"157327:313:19","nodeType":"YulBlock","src":"157327:313:19","statements":[{"nativeSrc":"157345:15:19","nodeType":"YulVariableDeclaration","src":"157345:15:19","value":{"kind":"number","nativeSrc":"157359:1:19","nodeType":"YulLiteral","src":"157359:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"157349:6:19","nodeType":"YulTypedName","src":"157349:6:19","type":""}]},{"body":{"nativeSrc":"157430:40:19","nodeType":"YulBlock","src":"157430:40:19","statements":[{"body":{"nativeSrc":"157459:9:19","nodeType":"YulBlock","src":"157459:9:19","statements":[{"nativeSrc":"157461:5:19","nodeType":"YulBreak","src":"157461:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"157447:6:19","nodeType":"YulIdentifier","src":"157447:6:19"},{"name":"w","nativeSrc":"157455:1:19","nodeType":"YulIdentifier","src":"157455:1:19"}],"functionName":{"name":"byte","nativeSrc":"157442:4:19","nodeType":"YulIdentifier","src":"157442:4:19"},"nativeSrc":"157442:15:19","nodeType":"YulFunctionCall","src":"157442:15:19"}],"functionName":{"name":"iszero","nativeSrc":"157435:6:19","nodeType":"YulIdentifier","src":"157435:6:19"},"nativeSrc":"157435:23:19","nodeType":"YulFunctionCall","src":"157435:23:19"},"nativeSrc":"157432:36:19","nodeType":"YulIf","src":"157432:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"157387:6:19","nodeType":"YulIdentifier","src":"157387:6:19"},{"kind":"number","nativeSrc":"157395:4:19","nodeType":"YulLiteral","src":"157395:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"157384:2:19","nodeType":"YulIdentifier","src":"157384:2:19"},"nativeSrc":"157384:16:19","nodeType":"YulFunctionCall","src":"157384:16:19"},"nativeSrc":"157377:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"157401:28:19","nodeType":"YulBlock","src":"157401:28:19","statements":[{"nativeSrc":"157403:24:19","nodeType":"YulAssignment","src":"157403:24:19","value":{"arguments":[{"name":"length","nativeSrc":"157417:6:19","nodeType":"YulIdentifier","src":"157417:6:19"},{"kind":"number","nativeSrc":"157425:1:19","nodeType":"YulLiteral","src":"157425:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"157413:3:19","nodeType":"YulIdentifier","src":"157413:3:19"},"nativeSrc":"157413:14:19","nodeType":"YulFunctionCall","src":"157413:14:19"},"variableNames":[{"name":"length","nativeSrc":"157403:6:19","nodeType":"YulIdentifier","src":"157403:6:19"}]}]},"pre":{"nativeSrc":"157381:2:19","nodeType":"YulBlock","src":"157381:2:19","statements":[]},"src":"157377:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"157494:3:19","nodeType":"YulIdentifier","src":"157494:3:19"},{"name":"length","nativeSrc":"157499:6:19","nodeType":"YulIdentifier","src":"157499:6:19"}],"functionName":{"name":"mstore","nativeSrc":"157487:6:19","nodeType":"YulIdentifier","src":"157487:6:19"},"nativeSrc":"157487:19:19","nodeType":"YulFunctionCall","src":"157487:19:19"},"nativeSrc":"157487:19:19","nodeType":"YulExpressionStatement","src":"157487:19:19"},{"nativeSrc":"157523:37:19","nodeType":"YulVariableDeclaration","src":"157523:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"157540:3:19","nodeType":"YulLiteral","src":"157540:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"157549:1:19","nodeType":"YulLiteral","src":"157549:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"157552:6:19","nodeType":"YulIdentifier","src":"157552:6:19"}],"functionName":{"name":"shl","nativeSrc":"157545:3:19","nodeType":"YulIdentifier","src":"157545:3:19"},"nativeSrc":"157545:14:19","nodeType":"YulFunctionCall","src":"157545:14:19"}],"functionName":{"name":"sub","nativeSrc":"157536:3:19","nodeType":"YulIdentifier","src":"157536:3:19"},"nativeSrc":"157536:24:19","nodeType":"YulFunctionCall","src":"157536:24:19"},"variables":[{"name":"shift","nativeSrc":"157527:5:19","nodeType":"YulTypedName","src":"157527:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"157588:3:19","nodeType":"YulIdentifier","src":"157588:3:19"},{"kind":"number","nativeSrc":"157593:4:19","nodeType":"YulLiteral","src":"157593:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"157584:3:19","nodeType":"YulIdentifier","src":"157584:3:19"},"nativeSrc":"157584:14:19","nodeType":"YulFunctionCall","src":"157584:14:19"},{"arguments":[{"name":"shift","nativeSrc":"157604:5:19","nodeType":"YulIdentifier","src":"157604:5:19"},{"arguments":[{"name":"shift","nativeSrc":"157615:5:19","nodeType":"YulIdentifier","src":"157615:5:19"},{"name":"w","nativeSrc":"157622:1:19","nodeType":"YulIdentifier","src":"157622:1:19"}],"functionName":{"name":"shr","nativeSrc":"157611:3:19","nodeType":"YulIdentifier","src":"157611:3:19"},"nativeSrc":"157611:13:19","nodeType":"YulFunctionCall","src":"157611:13:19"}],"functionName":{"name":"shl","nativeSrc":"157600:3:19","nodeType":"YulIdentifier","src":"157600:3:19"},"nativeSrc":"157600:25:19","nodeType":"YulFunctionCall","src":"157600:25:19"}],"functionName":{"name":"mstore","nativeSrc":"157577:6:19","nodeType":"YulIdentifier","src":"157577:6:19"},"nativeSrc":"157577:49:19","nodeType":"YulFunctionCall","src":"157577:49:19"},"nativeSrc":"157577:49:19","nodeType":"YulExpressionStatement","src":"157577:49:19"}]},"name":"writeString","nativeSrc":"157298:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"157319:3:19","nodeType":"YulTypedName","src":"157319:3:19","type":""},{"name":"w","nativeSrc":"157324:1:19","nodeType":"YulTypedName","src":"157324:1:19","type":""}],"src":"157298:342:19"},{"nativeSrc":"157653:17:19","nodeType":"YulAssignment","src":"157653:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"157665:4:19","nodeType":"YulLiteral","src":"157665:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"157659:5:19","nodeType":"YulIdentifier","src":"157659:5:19"},"nativeSrc":"157659:11:19","nodeType":"YulFunctionCall","src":"157659:11:19"},"variableNames":[{"name":"m0","nativeSrc":"157653:2:19","nodeType":"YulIdentifier","src":"157653:2:19"}]},{"nativeSrc":"157683:17:19","nodeType":"YulAssignment","src":"157683:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"157695:4:19","nodeType":"YulLiteral","src":"157695:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"157689:5:19","nodeType":"YulIdentifier","src":"157689:5:19"},"nativeSrc":"157689:11:19","nodeType":"YulFunctionCall","src":"157689:11:19"},"variableNames":[{"name":"m1","nativeSrc":"157683:2:19","nodeType":"YulIdentifier","src":"157683:2:19"}]},{"nativeSrc":"157713:17:19","nodeType":"YulAssignment","src":"157713:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"157725:4:19","nodeType":"YulLiteral","src":"157725:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"157719:5:19","nodeType":"YulIdentifier","src":"157719:5:19"},"nativeSrc":"157719:11:19","nodeType":"YulFunctionCall","src":"157719:11:19"},"variableNames":[{"name":"m2","nativeSrc":"157713:2:19","nodeType":"YulIdentifier","src":"157713:2:19"}]},{"nativeSrc":"157743:17:19","nodeType":"YulAssignment","src":"157743:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"157755:4:19","nodeType":"YulLiteral","src":"157755:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"157749:5:19","nodeType":"YulIdentifier","src":"157749:5:19"},"nativeSrc":"157749:11:19","nodeType":"YulFunctionCall","src":"157749:11:19"},"variableNames":[{"name":"m3","nativeSrc":"157743:2:19","nodeType":"YulIdentifier","src":"157743:2:19"}]},{"nativeSrc":"157773:17:19","nodeType":"YulAssignment","src":"157773:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"157785:4:19","nodeType":"YulLiteral","src":"157785:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"157779:5:19","nodeType":"YulIdentifier","src":"157779:5:19"},"nativeSrc":"157779:11:19","nodeType":"YulFunctionCall","src":"157779:11:19"},"variableNames":[{"name":"m4","nativeSrc":"157773:2:19","nodeType":"YulIdentifier","src":"157773:2:19"}]},{"nativeSrc":"157803:17:19","nodeType":"YulAssignment","src":"157803:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"157815:4:19","nodeType":"YulLiteral","src":"157815:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"157809:5:19","nodeType":"YulIdentifier","src":"157809:5:19"},"nativeSrc":"157809:11:19","nodeType":"YulFunctionCall","src":"157809:11:19"},"variableNames":[{"name":"m5","nativeSrc":"157803:2:19","nodeType":"YulIdentifier","src":"157803:2:19"}]},{"nativeSrc":"157833:17:19","nodeType":"YulAssignment","src":"157833:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"157845:4:19","nodeType":"YulLiteral","src":"157845:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"157839:5:19","nodeType":"YulIdentifier","src":"157839:5:19"},"nativeSrc":"157839:11:19","nodeType":"YulFunctionCall","src":"157839:11:19"},"variableNames":[{"name":"m6","nativeSrc":"157833:2:19","nodeType":"YulIdentifier","src":"157833:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"157936:4:19","nodeType":"YulLiteral","src":"157936:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"157942:10:19","nodeType":"YulLiteral","src":"157942:10:19","type":"","value":"0x63183678"}],"functionName":{"name":"mstore","nativeSrc":"157929:6:19","nodeType":"YulIdentifier","src":"157929:6:19"},"nativeSrc":"157929:24:19","nodeType":"YulFunctionCall","src":"157929:24:19"},"nativeSrc":"157929:24:19","nodeType":"YulExpressionStatement","src":"157929:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"157973:4:19","nodeType":"YulLiteral","src":"157973:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"157979:2:19","nodeType":"YulIdentifier","src":"157979:2:19"}],"functionName":{"name":"mstore","nativeSrc":"157966:6:19","nodeType":"YulIdentifier","src":"157966:6:19"},"nativeSrc":"157966:16:19","nodeType":"YulFunctionCall","src":"157966:16:19"},"nativeSrc":"157966:16:19","nodeType":"YulExpressionStatement","src":"157966:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158002:4:19","nodeType":"YulLiteral","src":"158002:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"158008:4:19","nodeType":"YulLiteral","src":"158008:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"157995:6:19","nodeType":"YulIdentifier","src":"157995:6:19"},"nativeSrc":"157995:18:19","nodeType":"YulFunctionCall","src":"157995:18:19"},"nativeSrc":"157995:18:19","nodeType":"YulExpressionStatement","src":"157995:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158033:4:19","nodeType":"YulLiteral","src":"158033:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"158039:2:19","nodeType":"YulIdentifier","src":"158039:2:19"}],"functionName":{"name":"mstore","nativeSrc":"158026:6:19","nodeType":"YulIdentifier","src":"158026:6:19"},"nativeSrc":"158026:16:19","nodeType":"YulFunctionCall","src":"158026:16:19"},"nativeSrc":"158026:16:19","nodeType":"YulExpressionStatement","src":"158026:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158062:4:19","nodeType":"YulLiteral","src":"158062:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"158068:2:19","nodeType":"YulIdentifier","src":"158068:2:19"}],"functionName":{"name":"mstore","nativeSrc":"158055:6:19","nodeType":"YulIdentifier","src":"158055:6:19"},"nativeSrc":"158055:16:19","nodeType":"YulFunctionCall","src":"158055:16:19"},"nativeSrc":"158055:16:19","nodeType":"YulExpressionStatement","src":"158055:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158096:4:19","nodeType":"YulLiteral","src":"158096:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"158102:2:19","nodeType":"YulIdentifier","src":"158102:2:19"}],"functionName":{"name":"writeString","nativeSrc":"158084:11:19","nodeType":"YulIdentifier","src":"158084:11:19"},"nativeSrc":"158084:21:19","nodeType":"YulFunctionCall","src":"158084:21:19"},"nativeSrc":"158084:21:19","nodeType":"YulExpressionStatement","src":"158084:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31238,"isOffset":false,"isSlot":false,"src":"157653:2:19","valueSize":1},{"declaration":31241,"isOffset":false,"isSlot":false,"src":"157683:2:19","valueSize":1},{"declaration":31244,"isOffset":false,"isSlot":false,"src":"157713:2:19","valueSize":1},{"declaration":31247,"isOffset":false,"isSlot":false,"src":"157743:2:19","valueSize":1},{"declaration":31250,"isOffset":false,"isSlot":false,"src":"157773:2:19","valueSize":1},{"declaration":31253,"isOffset":false,"isSlot":false,"src":"157803:2:19","valueSize":1},{"declaration":31256,"isOffset":false,"isSlot":false,"src":"157833:2:19","valueSize":1},{"declaration":31228,"isOffset":false,"isSlot":false,"src":"157979:2:19","valueSize":1},{"declaration":31230,"isOffset":false,"isSlot":false,"src":"158102:2:19","valueSize":1},{"declaration":31232,"isOffset":false,"isSlot":false,"src":"158039:2:19","valueSize":1},{"declaration":31234,"isOffset":false,"isSlot":false,"src":"158068:2:19","valueSize":1}],"id":31258,"nodeType":"InlineAssembly","src":"157275:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"158140:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":31261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"158146:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":31259,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"158124:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"158124:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31263,"nodeType":"ExpressionStatement","src":"158124:27:19"},{"AST":{"nativeSrc":"158213:214:19","nodeType":"YulBlock","src":"158213:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"158234:4:19","nodeType":"YulLiteral","src":"158234:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"158240:2:19","nodeType":"YulIdentifier","src":"158240:2:19"}],"functionName":{"name":"mstore","nativeSrc":"158227:6:19","nodeType":"YulIdentifier","src":"158227:6:19"},"nativeSrc":"158227:16:19","nodeType":"YulFunctionCall","src":"158227:16:19"},"nativeSrc":"158227:16:19","nodeType":"YulExpressionStatement","src":"158227:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158263:4:19","nodeType":"YulLiteral","src":"158263:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"158269:2:19","nodeType":"YulIdentifier","src":"158269:2:19"}],"functionName":{"name":"mstore","nativeSrc":"158256:6:19","nodeType":"YulIdentifier","src":"158256:6:19"},"nativeSrc":"158256:16:19","nodeType":"YulFunctionCall","src":"158256:16:19"},"nativeSrc":"158256:16:19","nodeType":"YulExpressionStatement","src":"158256:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158292:4:19","nodeType":"YulLiteral","src":"158292:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"158298:2:19","nodeType":"YulIdentifier","src":"158298:2:19"}],"functionName":{"name":"mstore","nativeSrc":"158285:6:19","nodeType":"YulIdentifier","src":"158285:6:19"},"nativeSrc":"158285:16:19","nodeType":"YulFunctionCall","src":"158285:16:19"},"nativeSrc":"158285:16:19","nodeType":"YulExpressionStatement","src":"158285:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158321:4:19","nodeType":"YulLiteral","src":"158321:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"158327:2:19","nodeType":"YulIdentifier","src":"158327:2:19"}],"functionName":{"name":"mstore","nativeSrc":"158314:6:19","nodeType":"YulIdentifier","src":"158314:6:19"},"nativeSrc":"158314:16:19","nodeType":"YulFunctionCall","src":"158314:16:19"},"nativeSrc":"158314:16:19","nodeType":"YulExpressionStatement","src":"158314:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158350:4:19","nodeType":"YulLiteral","src":"158350:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"158356:2:19","nodeType":"YulIdentifier","src":"158356:2:19"}],"functionName":{"name":"mstore","nativeSrc":"158343:6:19","nodeType":"YulIdentifier","src":"158343:6:19"},"nativeSrc":"158343:16:19","nodeType":"YulFunctionCall","src":"158343:16:19"},"nativeSrc":"158343:16:19","nodeType":"YulExpressionStatement","src":"158343:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158379:4:19","nodeType":"YulLiteral","src":"158379:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"158385:2:19","nodeType":"YulIdentifier","src":"158385:2:19"}],"functionName":{"name":"mstore","nativeSrc":"158372:6:19","nodeType":"YulIdentifier","src":"158372:6:19"},"nativeSrc":"158372:16:19","nodeType":"YulFunctionCall","src":"158372:16:19"},"nativeSrc":"158372:16:19","nodeType":"YulExpressionStatement","src":"158372:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"158408:4:19","nodeType":"YulLiteral","src":"158408:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"158414:2:19","nodeType":"YulIdentifier","src":"158414:2:19"}],"functionName":{"name":"mstore","nativeSrc":"158401:6:19","nodeType":"YulIdentifier","src":"158401:6:19"},"nativeSrc":"158401:16:19","nodeType":"YulFunctionCall","src":"158401:16:19"},"nativeSrc":"158401:16:19","nodeType":"YulExpressionStatement","src":"158401:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31238,"isOffset":false,"isSlot":false,"src":"158240:2:19","valueSize":1},{"declaration":31241,"isOffset":false,"isSlot":false,"src":"158269:2:19","valueSize":1},{"declaration":31244,"isOffset":false,"isSlot":false,"src":"158298:2:19","valueSize":1},{"declaration":31247,"isOffset":false,"isSlot":false,"src":"158327:2:19","valueSize":1},{"declaration":31250,"isOffset":false,"isSlot":false,"src":"158356:2:19","valueSize":1},{"declaration":31253,"isOffset":false,"isSlot":false,"src":"158385:2:19","valueSize":1},{"declaration":31256,"isOffset":false,"isSlot":false,"src":"158414:2:19","valueSize":1}],"id":31264,"nodeType":"InlineAssembly","src":"158204:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"157016:3:19","parameters":{"id":31235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31228,"mutability":"mutable","name":"p0","nameLocation":"157028:2:19","nodeType":"VariableDeclaration","scope":31266,"src":"157020:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31227,"name":"address","nodeType":"ElementaryTypeName","src":"157020:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31230,"mutability":"mutable","name":"p1","nameLocation":"157040:2:19","nodeType":"VariableDeclaration","scope":31266,"src":"157032:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31229,"name":"bytes32","nodeType":"ElementaryTypeName","src":"157032:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31232,"mutability":"mutable","name":"p2","nameLocation":"157052:2:19","nodeType":"VariableDeclaration","scope":31266,"src":"157044:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31231,"name":"uint256","nodeType":"ElementaryTypeName","src":"157044:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31234,"mutability":"mutable","name":"p3","nameLocation":"157064:2:19","nodeType":"VariableDeclaration","scope":31266,"src":"157056:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31233,"name":"address","nodeType":"ElementaryTypeName","src":"157056:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"157019:48:19"},"returnParameters":{"id":31236,"nodeType":"ParameterList","parameters":[],"src":"157082:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31306,"nodeType":"FunctionDefinition","src":"158439:1420:19","nodes":[],"body":{"id":31305,"nodeType":"Block","src":"158511:1348:19","nodes":[],"statements":[{"assignments":[31278],"declarations":[{"constant":false,"id":31278,"mutability":"mutable","name":"m0","nameLocation":"158529:2:19","nodeType":"VariableDeclaration","scope":31305,"src":"158521:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31277,"name":"bytes32","nodeType":"ElementaryTypeName","src":"158521:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31279,"nodeType":"VariableDeclarationStatement","src":"158521:10:19"},{"assignments":[31281],"declarations":[{"constant":false,"id":31281,"mutability":"mutable","name":"m1","nameLocation":"158549:2:19","nodeType":"VariableDeclaration","scope":31305,"src":"158541:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31280,"name":"bytes32","nodeType":"ElementaryTypeName","src":"158541:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31282,"nodeType":"VariableDeclarationStatement","src":"158541:10:19"},{"assignments":[31284],"declarations":[{"constant":false,"id":31284,"mutability":"mutable","name":"m2","nameLocation":"158569:2:19","nodeType":"VariableDeclaration","scope":31305,"src":"158561:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31283,"name":"bytes32","nodeType":"ElementaryTypeName","src":"158561:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31285,"nodeType":"VariableDeclarationStatement","src":"158561:10:19"},{"assignments":[31287],"declarations":[{"constant":false,"id":31287,"mutability":"mutable","name":"m3","nameLocation":"158589:2:19","nodeType":"VariableDeclaration","scope":31305,"src":"158581:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31286,"name":"bytes32","nodeType":"ElementaryTypeName","src":"158581:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31288,"nodeType":"VariableDeclarationStatement","src":"158581:10:19"},{"assignments":[31290],"declarations":[{"constant":false,"id":31290,"mutability":"mutable","name":"m4","nameLocation":"158609:2:19","nodeType":"VariableDeclaration","scope":31305,"src":"158601:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31289,"name":"bytes32","nodeType":"ElementaryTypeName","src":"158601:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31291,"nodeType":"VariableDeclarationStatement","src":"158601:10:19"},{"assignments":[31293],"declarations":[{"constant":false,"id":31293,"mutability":"mutable","name":"m5","nameLocation":"158629:2:19","nodeType":"VariableDeclaration","scope":31305,"src":"158621:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31292,"name":"bytes32","nodeType":"ElementaryTypeName","src":"158621:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31294,"nodeType":"VariableDeclarationStatement","src":"158621:10:19"},{"assignments":[31296],"declarations":[{"constant":false,"id":31296,"mutability":"mutable","name":"m6","nameLocation":"158649:2:19","nodeType":"VariableDeclaration","scope":31305,"src":"158641:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31295,"name":"bytes32","nodeType":"ElementaryTypeName","src":"158641:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31297,"nodeType":"VariableDeclarationStatement","src":"158641:10:19"},{"AST":{"nativeSrc":"158713:828:19","nodeType":"YulBlock","src":"158713:828:19","statements":[{"body":{"nativeSrc":"158756:313:19","nodeType":"YulBlock","src":"158756:313:19","statements":[{"nativeSrc":"158774:15:19","nodeType":"YulVariableDeclaration","src":"158774:15:19","value":{"kind":"number","nativeSrc":"158788:1:19","nodeType":"YulLiteral","src":"158788:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"158778:6:19","nodeType":"YulTypedName","src":"158778:6:19","type":""}]},{"body":{"nativeSrc":"158859:40:19","nodeType":"YulBlock","src":"158859:40:19","statements":[{"body":{"nativeSrc":"158888:9:19","nodeType":"YulBlock","src":"158888:9:19","statements":[{"nativeSrc":"158890:5:19","nodeType":"YulBreak","src":"158890:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"158876:6:19","nodeType":"YulIdentifier","src":"158876:6:19"},{"name":"w","nativeSrc":"158884:1:19","nodeType":"YulIdentifier","src":"158884:1:19"}],"functionName":{"name":"byte","nativeSrc":"158871:4:19","nodeType":"YulIdentifier","src":"158871:4:19"},"nativeSrc":"158871:15:19","nodeType":"YulFunctionCall","src":"158871:15:19"}],"functionName":{"name":"iszero","nativeSrc":"158864:6:19","nodeType":"YulIdentifier","src":"158864:6:19"},"nativeSrc":"158864:23:19","nodeType":"YulFunctionCall","src":"158864:23:19"},"nativeSrc":"158861:36:19","nodeType":"YulIf","src":"158861:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"158816:6:19","nodeType":"YulIdentifier","src":"158816:6:19"},{"kind":"number","nativeSrc":"158824:4:19","nodeType":"YulLiteral","src":"158824:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"158813:2:19","nodeType":"YulIdentifier","src":"158813:2:19"},"nativeSrc":"158813:16:19","nodeType":"YulFunctionCall","src":"158813:16:19"},"nativeSrc":"158806:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"158830:28:19","nodeType":"YulBlock","src":"158830:28:19","statements":[{"nativeSrc":"158832:24:19","nodeType":"YulAssignment","src":"158832:24:19","value":{"arguments":[{"name":"length","nativeSrc":"158846:6:19","nodeType":"YulIdentifier","src":"158846:6:19"},{"kind":"number","nativeSrc":"158854:1:19","nodeType":"YulLiteral","src":"158854:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"158842:3:19","nodeType":"YulIdentifier","src":"158842:3:19"},"nativeSrc":"158842:14:19","nodeType":"YulFunctionCall","src":"158842:14:19"},"variableNames":[{"name":"length","nativeSrc":"158832:6:19","nodeType":"YulIdentifier","src":"158832:6:19"}]}]},"pre":{"nativeSrc":"158810:2:19","nodeType":"YulBlock","src":"158810:2:19","statements":[]},"src":"158806:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"158923:3:19","nodeType":"YulIdentifier","src":"158923:3:19"},{"name":"length","nativeSrc":"158928:6:19","nodeType":"YulIdentifier","src":"158928:6:19"}],"functionName":{"name":"mstore","nativeSrc":"158916:6:19","nodeType":"YulIdentifier","src":"158916:6:19"},"nativeSrc":"158916:19:19","nodeType":"YulFunctionCall","src":"158916:19:19"},"nativeSrc":"158916:19:19","nodeType":"YulExpressionStatement","src":"158916:19:19"},{"nativeSrc":"158952:37:19","nodeType":"YulVariableDeclaration","src":"158952:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"158969:3:19","nodeType":"YulLiteral","src":"158969:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"158978:1:19","nodeType":"YulLiteral","src":"158978:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"158981:6:19","nodeType":"YulIdentifier","src":"158981:6:19"}],"functionName":{"name":"shl","nativeSrc":"158974:3:19","nodeType":"YulIdentifier","src":"158974:3:19"},"nativeSrc":"158974:14:19","nodeType":"YulFunctionCall","src":"158974:14:19"}],"functionName":{"name":"sub","nativeSrc":"158965:3:19","nodeType":"YulIdentifier","src":"158965:3:19"},"nativeSrc":"158965:24:19","nodeType":"YulFunctionCall","src":"158965:24:19"},"variables":[{"name":"shift","nativeSrc":"158956:5:19","nodeType":"YulTypedName","src":"158956:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"159017:3:19","nodeType":"YulIdentifier","src":"159017:3:19"},{"kind":"number","nativeSrc":"159022:4:19","nodeType":"YulLiteral","src":"159022:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"159013:3:19","nodeType":"YulIdentifier","src":"159013:3:19"},"nativeSrc":"159013:14:19","nodeType":"YulFunctionCall","src":"159013:14:19"},{"arguments":[{"name":"shift","nativeSrc":"159033:5:19","nodeType":"YulIdentifier","src":"159033:5:19"},{"arguments":[{"name":"shift","nativeSrc":"159044:5:19","nodeType":"YulIdentifier","src":"159044:5:19"},{"name":"w","nativeSrc":"159051:1:19","nodeType":"YulIdentifier","src":"159051:1:19"}],"functionName":{"name":"shr","nativeSrc":"159040:3:19","nodeType":"YulIdentifier","src":"159040:3:19"},"nativeSrc":"159040:13:19","nodeType":"YulFunctionCall","src":"159040:13:19"}],"functionName":{"name":"shl","nativeSrc":"159029:3:19","nodeType":"YulIdentifier","src":"159029:3:19"},"nativeSrc":"159029:25:19","nodeType":"YulFunctionCall","src":"159029:25:19"}],"functionName":{"name":"mstore","nativeSrc":"159006:6:19","nodeType":"YulIdentifier","src":"159006:6:19"},"nativeSrc":"159006:49:19","nodeType":"YulFunctionCall","src":"159006:49:19"},"nativeSrc":"159006:49:19","nodeType":"YulExpressionStatement","src":"159006:49:19"}]},"name":"writeString","nativeSrc":"158727:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"158748:3:19","nodeType":"YulTypedName","src":"158748:3:19","type":""},{"name":"w","nativeSrc":"158753:1:19","nodeType":"YulTypedName","src":"158753:1:19","type":""}],"src":"158727:342:19"},{"nativeSrc":"159082:17:19","nodeType":"YulAssignment","src":"159082:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"159094:4:19","nodeType":"YulLiteral","src":"159094:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"159088:5:19","nodeType":"YulIdentifier","src":"159088:5:19"},"nativeSrc":"159088:11:19","nodeType":"YulFunctionCall","src":"159088:11:19"},"variableNames":[{"name":"m0","nativeSrc":"159082:2:19","nodeType":"YulIdentifier","src":"159082:2:19"}]},{"nativeSrc":"159112:17:19","nodeType":"YulAssignment","src":"159112:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"159124:4:19","nodeType":"YulLiteral","src":"159124:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"159118:5:19","nodeType":"YulIdentifier","src":"159118:5:19"},"nativeSrc":"159118:11:19","nodeType":"YulFunctionCall","src":"159118:11:19"},"variableNames":[{"name":"m1","nativeSrc":"159112:2:19","nodeType":"YulIdentifier","src":"159112:2:19"}]},{"nativeSrc":"159142:17:19","nodeType":"YulAssignment","src":"159142:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"159154:4:19","nodeType":"YulLiteral","src":"159154:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"159148:5:19","nodeType":"YulIdentifier","src":"159148:5:19"},"nativeSrc":"159148:11:19","nodeType":"YulFunctionCall","src":"159148:11:19"},"variableNames":[{"name":"m2","nativeSrc":"159142:2:19","nodeType":"YulIdentifier","src":"159142:2:19"}]},{"nativeSrc":"159172:17:19","nodeType":"YulAssignment","src":"159172:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"159184:4:19","nodeType":"YulLiteral","src":"159184:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"159178:5:19","nodeType":"YulIdentifier","src":"159178:5:19"},"nativeSrc":"159178:11:19","nodeType":"YulFunctionCall","src":"159178:11:19"},"variableNames":[{"name":"m3","nativeSrc":"159172:2:19","nodeType":"YulIdentifier","src":"159172:2:19"}]},{"nativeSrc":"159202:17:19","nodeType":"YulAssignment","src":"159202:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"159214:4:19","nodeType":"YulLiteral","src":"159214:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"159208:5:19","nodeType":"YulIdentifier","src":"159208:5:19"},"nativeSrc":"159208:11:19","nodeType":"YulFunctionCall","src":"159208:11:19"},"variableNames":[{"name":"m4","nativeSrc":"159202:2:19","nodeType":"YulIdentifier","src":"159202:2:19"}]},{"nativeSrc":"159232:17:19","nodeType":"YulAssignment","src":"159232:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"159244:4:19","nodeType":"YulLiteral","src":"159244:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"159238:5:19","nodeType":"YulIdentifier","src":"159238:5:19"},"nativeSrc":"159238:11:19","nodeType":"YulFunctionCall","src":"159238:11:19"},"variableNames":[{"name":"m5","nativeSrc":"159232:2:19","nodeType":"YulIdentifier","src":"159232:2:19"}]},{"nativeSrc":"159262:17:19","nodeType":"YulAssignment","src":"159262:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"159274:4:19","nodeType":"YulLiteral","src":"159274:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"159268:5:19","nodeType":"YulIdentifier","src":"159268:5:19"},"nativeSrc":"159268:11:19","nodeType":"YulFunctionCall","src":"159268:11:19"},"variableNames":[{"name":"m6","nativeSrc":"159262:2:19","nodeType":"YulIdentifier","src":"159262:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159362:4:19","nodeType":"YulLiteral","src":"159362:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"159368:10:19","nodeType":"YulLiteral","src":"159368:10:19","type":"","value":"0x0ef7e050"}],"functionName":{"name":"mstore","nativeSrc":"159355:6:19","nodeType":"YulIdentifier","src":"159355:6:19"},"nativeSrc":"159355:24:19","nodeType":"YulFunctionCall","src":"159355:24:19"},"nativeSrc":"159355:24:19","nodeType":"YulExpressionStatement","src":"159355:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159399:4:19","nodeType":"YulLiteral","src":"159399:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"159405:2:19","nodeType":"YulIdentifier","src":"159405:2:19"}],"functionName":{"name":"mstore","nativeSrc":"159392:6:19","nodeType":"YulIdentifier","src":"159392:6:19"},"nativeSrc":"159392:16:19","nodeType":"YulFunctionCall","src":"159392:16:19"},"nativeSrc":"159392:16:19","nodeType":"YulExpressionStatement","src":"159392:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159428:4:19","nodeType":"YulLiteral","src":"159428:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"159434:4:19","nodeType":"YulLiteral","src":"159434:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"159421:6:19","nodeType":"YulIdentifier","src":"159421:6:19"},"nativeSrc":"159421:18:19","nodeType":"YulFunctionCall","src":"159421:18:19"},"nativeSrc":"159421:18:19","nodeType":"YulExpressionStatement","src":"159421:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159459:4:19","nodeType":"YulLiteral","src":"159459:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"159465:2:19","nodeType":"YulIdentifier","src":"159465:2:19"}],"functionName":{"name":"mstore","nativeSrc":"159452:6:19","nodeType":"YulIdentifier","src":"159452:6:19"},"nativeSrc":"159452:16:19","nodeType":"YulFunctionCall","src":"159452:16:19"},"nativeSrc":"159452:16:19","nodeType":"YulExpressionStatement","src":"159452:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159488:4:19","nodeType":"YulLiteral","src":"159488:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"159494:2:19","nodeType":"YulIdentifier","src":"159494:2:19"}],"functionName":{"name":"mstore","nativeSrc":"159481:6:19","nodeType":"YulIdentifier","src":"159481:6:19"},"nativeSrc":"159481:16:19","nodeType":"YulFunctionCall","src":"159481:16:19"},"nativeSrc":"159481:16:19","nodeType":"YulExpressionStatement","src":"159481:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159522:4:19","nodeType":"YulLiteral","src":"159522:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"159528:2:19","nodeType":"YulIdentifier","src":"159528:2:19"}],"functionName":{"name":"writeString","nativeSrc":"159510:11:19","nodeType":"YulIdentifier","src":"159510:11:19"},"nativeSrc":"159510:21:19","nodeType":"YulFunctionCall","src":"159510:21:19"},"nativeSrc":"159510:21:19","nodeType":"YulExpressionStatement","src":"159510:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31278,"isOffset":false,"isSlot":false,"src":"159082:2:19","valueSize":1},{"declaration":31281,"isOffset":false,"isSlot":false,"src":"159112:2:19","valueSize":1},{"declaration":31284,"isOffset":false,"isSlot":false,"src":"159142:2:19","valueSize":1},{"declaration":31287,"isOffset":false,"isSlot":false,"src":"159172:2:19","valueSize":1},{"declaration":31290,"isOffset":false,"isSlot":false,"src":"159202:2:19","valueSize":1},{"declaration":31293,"isOffset":false,"isSlot":false,"src":"159232:2:19","valueSize":1},{"declaration":31296,"isOffset":false,"isSlot":false,"src":"159262:2:19","valueSize":1},{"declaration":31268,"isOffset":false,"isSlot":false,"src":"159405:2:19","valueSize":1},{"declaration":31270,"isOffset":false,"isSlot":false,"src":"159528:2:19","valueSize":1},{"declaration":31272,"isOffset":false,"isSlot":false,"src":"159465:2:19","valueSize":1},{"declaration":31274,"isOffset":false,"isSlot":false,"src":"159494:2:19","valueSize":1}],"id":31298,"nodeType":"InlineAssembly","src":"158704:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"159566:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":31301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"159572:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":31299,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"159550:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"159550:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31303,"nodeType":"ExpressionStatement","src":"159550:27:19"},{"AST":{"nativeSrc":"159639:214:19","nodeType":"YulBlock","src":"159639:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"159660:4:19","nodeType":"YulLiteral","src":"159660:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"159666:2:19","nodeType":"YulIdentifier","src":"159666:2:19"}],"functionName":{"name":"mstore","nativeSrc":"159653:6:19","nodeType":"YulIdentifier","src":"159653:6:19"},"nativeSrc":"159653:16:19","nodeType":"YulFunctionCall","src":"159653:16:19"},"nativeSrc":"159653:16:19","nodeType":"YulExpressionStatement","src":"159653:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159689:4:19","nodeType":"YulLiteral","src":"159689:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"159695:2:19","nodeType":"YulIdentifier","src":"159695:2:19"}],"functionName":{"name":"mstore","nativeSrc":"159682:6:19","nodeType":"YulIdentifier","src":"159682:6:19"},"nativeSrc":"159682:16:19","nodeType":"YulFunctionCall","src":"159682:16:19"},"nativeSrc":"159682:16:19","nodeType":"YulExpressionStatement","src":"159682:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159718:4:19","nodeType":"YulLiteral","src":"159718:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"159724:2:19","nodeType":"YulIdentifier","src":"159724:2:19"}],"functionName":{"name":"mstore","nativeSrc":"159711:6:19","nodeType":"YulIdentifier","src":"159711:6:19"},"nativeSrc":"159711:16:19","nodeType":"YulFunctionCall","src":"159711:16:19"},"nativeSrc":"159711:16:19","nodeType":"YulExpressionStatement","src":"159711:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159747:4:19","nodeType":"YulLiteral","src":"159747:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"159753:2:19","nodeType":"YulIdentifier","src":"159753:2:19"}],"functionName":{"name":"mstore","nativeSrc":"159740:6:19","nodeType":"YulIdentifier","src":"159740:6:19"},"nativeSrc":"159740:16:19","nodeType":"YulFunctionCall","src":"159740:16:19"},"nativeSrc":"159740:16:19","nodeType":"YulExpressionStatement","src":"159740:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159776:4:19","nodeType":"YulLiteral","src":"159776:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"159782:2:19","nodeType":"YulIdentifier","src":"159782:2:19"}],"functionName":{"name":"mstore","nativeSrc":"159769:6:19","nodeType":"YulIdentifier","src":"159769:6:19"},"nativeSrc":"159769:16:19","nodeType":"YulFunctionCall","src":"159769:16:19"},"nativeSrc":"159769:16:19","nodeType":"YulExpressionStatement","src":"159769:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159805:4:19","nodeType":"YulLiteral","src":"159805:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"159811:2:19","nodeType":"YulIdentifier","src":"159811:2:19"}],"functionName":{"name":"mstore","nativeSrc":"159798:6:19","nodeType":"YulIdentifier","src":"159798:6:19"},"nativeSrc":"159798:16:19","nodeType":"YulFunctionCall","src":"159798:16:19"},"nativeSrc":"159798:16:19","nodeType":"YulExpressionStatement","src":"159798:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"159834:4:19","nodeType":"YulLiteral","src":"159834:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"159840:2:19","nodeType":"YulIdentifier","src":"159840:2:19"}],"functionName":{"name":"mstore","nativeSrc":"159827:6:19","nodeType":"YulIdentifier","src":"159827:6:19"},"nativeSrc":"159827:16:19","nodeType":"YulFunctionCall","src":"159827:16:19"},"nativeSrc":"159827:16:19","nodeType":"YulExpressionStatement","src":"159827:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31278,"isOffset":false,"isSlot":false,"src":"159666:2:19","valueSize":1},{"declaration":31281,"isOffset":false,"isSlot":false,"src":"159695:2:19","valueSize":1},{"declaration":31284,"isOffset":false,"isSlot":false,"src":"159724:2:19","valueSize":1},{"declaration":31287,"isOffset":false,"isSlot":false,"src":"159753:2:19","valueSize":1},{"declaration":31290,"isOffset":false,"isSlot":false,"src":"159782:2:19","valueSize":1},{"declaration":31293,"isOffset":false,"isSlot":false,"src":"159811:2:19","valueSize":1},{"declaration":31296,"isOffset":false,"isSlot":false,"src":"159840:2:19","valueSize":1}],"id":31304,"nodeType":"InlineAssembly","src":"159630:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"158448:3:19","parameters":{"id":31275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31268,"mutability":"mutable","name":"p0","nameLocation":"158460:2:19","nodeType":"VariableDeclaration","scope":31306,"src":"158452:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31267,"name":"address","nodeType":"ElementaryTypeName","src":"158452:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31270,"mutability":"mutable","name":"p1","nameLocation":"158472:2:19","nodeType":"VariableDeclaration","scope":31306,"src":"158464:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31269,"name":"bytes32","nodeType":"ElementaryTypeName","src":"158464:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31272,"mutability":"mutable","name":"p2","nameLocation":"158484:2:19","nodeType":"VariableDeclaration","scope":31306,"src":"158476:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31271,"name":"uint256","nodeType":"ElementaryTypeName","src":"158476:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31274,"mutability":"mutable","name":"p3","nameLocation":"158493:2:19","nodeType":"VariableDeclaration","scope":31306,"src":"158488:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31273,"name":"bool","nodeType":"ElementaryTypeName","src":"158488:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"158451:45:19"},"returnParameters":{"id":31276,"nodeType":"ParameterList","parameters":[],"src":"158511:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31346,"nodeType":"FunctionDefinition","src":"159865:1426:19","nodes":[],"body":{"id":31345,"nodeType":"Block","src":"159940:1351:19","nodes":[],"statements":[{"assignments":[31318],"declarations":[{"constant":false,"id":31318,"mutability":"mutable","name":"m0","nameLocation":"159958:2:19","nodeType":"VariableDeclaration","scope":31345,"src":"159950:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31317,"name":"bytes32","nodeType":"ElementaryTypeName","src":"159950:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31319,"nodeType":"VariableDeclarationStatement","src":"159950:10:19"},{"assignments":[31321],"declarations":[{"constant":false,"id":31321,"mutability":"mutable","name":"m1","nameLocation":"159978:2:19","nodeType":"VariableDeclaration","scope":31345,"src":"159970:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31320,"name":"bytes32","nodeType":"ElementaryTypeName","src":"159970:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31322,"nodeType":"VariableDeclarationStatement","src":"159970:10:19"},{"assignments":[31324],"declarations":[{"constant":false,"id":31324,"mutability":"mutable","name":"m2","nameLocation":"159998:2:19","nodeType":"VariableDeclaration","scope":31345,"src":"159990:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"159990:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31325,"nodeType":"VariableDeclarationStatement","src":"159990:10:19"},{"assignments":[31327],"declarations":[{"constant":false,"id":31327,"mutability":"mutable","name":"m3","nameLocation":"160018:2:19","nodeType":"VariableDeclaration","scope":31345,"src":"160010:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31326,"name":"bytes32","nodeType":"ElementaryTypeName","src":"160010:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31328,"nodeType":"VariableDeclarationStatement","src":"160010:10:19"},{"assignments":[31330],"declarations":[{"constant":false,"id":31330,"mutability":"mutable","name":"m4","nameLocation":"160038:2:19","nodeType":"VariableDeclaration","scope":31345,"src":"160030:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31329,"name":"bytes32","nodeType":"ElementaryTypeName","src":"160030:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31331,"nodeType":"VariableDeclarationStatement","src":"160030:10:19"},{"assignments":[31333],"declarations":[{"constant":false,"id":31333,"mutability":"mutable","name":"m5","nameLocation":"160058:2:19","nodeType":"VariableDeclaration","scope":31345,"src":"160050:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31332,"name":"bytes32","nodeType":"ElementaryTypeName","src":"160050:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31334,"nodeType":"VariableDeclarationStatement","src":"160050:10:19"},{"assignments":[31336],"declarations":[{"constant":false,"id":31336,"mutability":"mutable","name":"m6","nameLocation":"160078:2:19","nodeType":"VariableDeclaration","scope":31345,"src":"160070:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31335,"name":"bytes32","nodeType":"ElementaryTypeName","src":"160070:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31337,"nodeType":"VariableDeclarationStatement","src":"160070:10:19"},{"AST":{"nativeSrc":"160142:831:19","nodeType":"YulBlock","src":"160142:831:19","statements":[{"body":{"nativeSrc":"160185:313:19","nodeType":"YulBlock","src":"160185:313:19","statements":[{"nativeSrc":"160203:15:19","nodeType":"YulVariableDeclaration","src":"160203:15:19","value":{"kind":"number","nativeSrc":"160217:1:19","nodeType":"YulLiteral","src":"160217:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"160207:6:19","nodeType":"YulTypedName","src":"160207:6:19","type":""}]},{"body":{"nativeSrc":"160288:40:19","nodeType":"YulBlock","src":"160288:40:19","statements":[{"body":{"nativeSrc":"160317:9:19","nodeType":"YulBlock","src":"160317:9:19","statements":[{"nativeSrc":"160319:5:19","nodeType":"YulBreak","src":"160319:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"160305:6:19","nodeType":"YulIdentifier","src":"160305:6:19"},{"name":"w","nativeSrc":"160313:1:19","nodeType":"YulIdentifier","src":"160313:1:19"}],"functionName":{"name":"byte","nativeSrc":"160300:4:19","nodeType":"YulIdentifier","src":"160300:4:19"},"nativeSrc":"160300:15:19","nodeType":"YulFunctionCall","src":"160300:15:19"}],"functionName":{"name":"iszero","nativeSrc":"160293:6:19","nodeType":"YulIdentifier","src":"160293:6:19"},"nativeSrc":"160293:23:19","nodeType":"YulFunctionCall","src":"160293:23:19"},"nativeSrc":"160290:36:19","nodeType":"YulIf","src":"160290:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"160245:6:19","nodeType":"YulIdentifier","src":"160245:6:19"},{"kind":"number","nativeSrc":"160253:4:19","nodeType":"YulLiteral","src":"160253:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"160242:2:19","nodeType":"YulIdentifier","src":"160242:2:19"},"nativeSrc":"160242:16:19","nodeType":"YulFunctionCall","src":"160242:16:19"},"nativeSrc":"160235:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"160259:28:19","nodeType":"YulBlock","src":"160259:28:19","statements":[{"nativeSrc":"160261:24:19","nodeType":"YulAssignment","src":"160261:24:19","value":{"arguments":[{"name":"length","nativeSrc":"160275:6:19","nodeType":"YulIdentifier","src":"160275:6:19"},{"kind":"number","nativeSrc":"160283:1:19","nodeType":"YulLiteral","src":"160283:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"160271:3:19","nodeType":"YulIdentifier","src":"160271:3:19"},"nativeSrc":"160271:14:19","nodeType":"YulFunctionCall","src":"160271:14:19"},"variableNames":[{"name":"length","nativeSrc":"160261:6:19","nodeType":"YulIdentifier","src":"160261:6:19"}]}]},"pre":{"nativeSrc":"160239:2:19","nodeType":"YulBlock","src":"160239:2:19","statements":[]},"src":"160235:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"160352:3:19","nodeType":"YulIdentifier","src":"160352:3:19"},{"name":"length","nativeSrc":"160357:6:19","nodeType":"YulIdentifier","src":"160357:6:19"}],"functionName":{"name":"mstore","nativeSrc":"160345:6:19","nodeType":"YulIdentifier","src":"160345:6:19"},"nativeSrc":"160345:19:19","nodeType":"YulFunctionCall","src":"160345:19:19"},"nativeSrc":"160345:19:19","nodeType":"YulExpressionStatement","src":"160345:19:19"},{"nativeSrc":"160381:37:19","nodeType":"YulVariableDeclaration","src":"160381:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"160398:3:19","nodeType":"YulLiteral","src":"160398:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"160407:1:19","nodeType":"YulLiteral","src":"160407:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"160410:6:19","nodeType":"YulIdentifier","src":"160410:6:19"}],"functionName":{"name":"shl","nativeSrc":"160403:3:19","nodeType":"YulIdentifier","src":"160403:3:19"},"nativeSrc":"160403:14:19","nodeType":"YulFunctionCall","src":"160403:14:19"}],"functionName":{"name":"sub","nativeSrc":"160394:3:19","nodeType":"YulIdentifier","src":"160394:3:19"},"nativeSrc":"160394:24:19","nodeType":"YulFunctionCall","src":"160394:24:19"},"variables":[{"name":"shift","nativeSrc":"160385:5:19","nodeType":"YulTypedName","src":"160385:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"160446:3:19","nodeType":"YulIdentifier","src":"160446:3:19"},{"kind":"number","nativeSrc":"160451:4:19","nodeType":"YulLiteral","src":"160451:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"160442:3:19","nodeType":"YulIdentifier","src":"160442:3:19"},"nativeSrc":"160442:14:19","nodeType":"YulFunctionCall","src":"160442:14:19"},{"arguments":[{"name":"shift","nativeSrc":"160462:5:19","nodeType":"YulIdentifier","src":"160462:5:19"},{"arguments":[{"name":"shift","nativeSrc":"160473:5:19","nodeType":"YulIdentifier","src":"160473:5:19"},{"name":"w","nativeSrc":"160480:1:19","nodeType":"YulIdentifier","src":"160480:1:19"}],"functionName":{"name":"shr","nativeSrc":"160469:3:19","nodeType":"YulIdentifier","src":"160469:3:19"},"nativeSrc":"160469:13:19","nodeType":"YulFunctionCall","src":"160469:13:19"}],"functionName":{"name":"shl","nativeSrc":"160458:3:19","nodeType":"YulIdentifier","src":"160458:3:19"},"nativeSrc":"160458:25:19","nodeType":"YulFunctionCall","src":"160458:25:19"}],"functionName":{"name":"mstore","nativeSrc":"160435:6:19","nodeType":"YulIdentifier","src":"160435:6:19"},"nativeSrc":"160435:49:19","nodeType":"YulFunctionCall","src":"160435:49:19"},"nativeSrc":"160435:49:19","nodeType":"YulExpressionStatement","src":"160435:49:19"}]},"name":"writeString","nativeSrc":"160156:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"160177:3:19","nodeType":"YulTypedName","src":"160177:3:19","type":""},{"name":"w","nativeSrc":"160182:1:19","nodeType":"YulTypedName","src":"160182:1:19","type":""}],"src":"160156:342:19"},{"nativeSrc":"160511:17:19","nodeType":"YulAssignment","src":"160511:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"160523:4:19","nodeType":"YulLiteral","src":"160523:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"160517:5:19","nodeType":"YulIdentifier","src":"160517:5:19"},"nativeSrc":"160517:11:19","nodeType":"YulFunctionCall","src":"160517:11:19"},"variableNames":[{"name":"m0","nativeSrc":"160511:2:19","nodeType":"YulIdentifier","src":"160511:2:19"}]},{"nativeSrc":"160541:17:19","nodeType":"YulAssignment","src":"160541:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"160553:4:19","nodeType":"YulLiteral","src":"160553:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"160547:5:19","nodeType":"YulIdentifier","src":"160547:5:19"},"nativeSrc":"160547:11:19","nodeType":"YulFunctionCall","src":"160547:11:19"},"variableNames":[{"name":"m1","nativeSrc":"160541:2:19","nodeType":"YulIdentifier","src":"160541:2:19"}]},{"nativeSrc":"160571:17:19","nodeType":"YulAssignment","src":"160571:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"160583:4:19","nodeType":"YulLiteral","src":"160583:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"160577:5:19","nodeType":"YulIdentifier","src":"160577:5:19"},"nativeSrc":"160577:11:19","nodeType":"YulFunctionCall","src":"160577:11:19"},"variableNames":[{"name":"m2","nativeSrc":"160571:2:19","nodeType":"YulIdentifier","src":"160571:2:19"}]},{"nativeSrc":"160601:17:19","nodeType":"YulAssignment","src":"160601:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"160613:4:19","nodeType":"YulLiteral","src":"160613:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"160607:5:19","nodeType":"YulIdentifier","src":"160607:5:19"},"nativeSrc":"160607:11:19","nodeType":"YulFunctionCall","src":"160607:11:19"},"variableNames":[{"name":"m3","nativeSrc":"160601:2:19","nodeType":"YulIdentifier","src":"160601:2:19"}]},{"nativeSrc":"160631:17:19","nodeType":"YulAssignment","src":"160631:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"160643:4:19","nodeType":"YulLiteral","src":"160643:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"160637:5:19","nodeType":"YulIdentifier","src":"160637:5:19"},"nativeSrc":"160637:11:19","nodeType":"YulFunctionCall","src":"160637:11:19"},"variableNames":[{"name":"m4","nativeSrc":"160631:2:19","nodeType":"YulIdentifier","src":"160631:2:19"}]},{"nativeSrc":"160661:17:19","nodeType":"YulAssignment","src":"160661:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"160673:4:19","nodeType":"YulLiteral","src":"160673:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"160667:5:19","nodeType":"YulIdentifier","src":"160667:5:19"},"nativeSrc":"160667:11:19","nodeType":"YulFunctionCall","src":"160667:11:19"},"variableNames":[{"name":"m5","nativeSrc":"160661:2:19","nodeType":"YulIdentifier","src":"160661:2:19"}]},{"nativeSrc":"160691:17:19","nodeType":"YulAssignment","src":"160691:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"160703:4:19","nodeType":"YulLiteral","src":"160703:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"160697:5:19","nodeType":"YulIdentifier","src":"160697:5:19"},"nativeSrc":"160697:11:19","nodeType":"YulFunctionCall","src":"160697:11:19"},"variableNames":[{"name":"m6","nativeSrc":"160691:2:19","nodeType":"YulIdentifier","src":"160691:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"160794:4:19","nodeType":"YulLiteral","src":"160794:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"160800:10:19","nodeType":"YulLiteral","src":"160800:10:19","type":"","value":"0x1dc8e1b8"}],"functionName":{"name":"mstore","nativeSrc":"160787:6:19","nodeType":"YulIdentifier","src":"160787:6:19"},"nativeSrc":"160787:24:19","nodeType":"YulFunctionCall","src":"160787:24:19"},"nativeSrc":"160787:24:19","nodeType":"YulExpressionStatement","src":"160787:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"160831:4:19","nodeType":"YulLiteral","src":"160831:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"160837:2:19","nodeType":"YulIdentifier","src":"160837:2:19"}],"functionName":{"name":"mstore","nativeSrc":"160824:6:19","nodeType":"YulIdentifier","src":"160824:6:19"},"nativeSrc":"160824:16:19","nodeType":"YulFunctionCall","src":"160824:16:19"},"nativeSrc":"160824:16:19","nodeType":"YulExpressionStatement","src":"160824:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"160860:4:19","nodeType":"YulLiteral","src":"160860:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"160866:4:19","nodeType":"YulLiteral","src":"160866:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"160853:6:19","nodeType":"YulIdentifier","src":"160853:6:19"},"nativeSrc":"160853:18:19","nodeType":"YulFunctionCall","src":"160853:18:19"},"nativeSrc":"160853:18:19","nodeType":"YulExpressionStatement","src":"160853:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"160891:4:19","nodeType":"YulLiteral","src":"160891:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"160897:2:19","nodeType":"YulIdentifier","src":"160897:2:19"}],"functionName":{"name":"mstore","nativeSrc":"160884:6:19","nodeType":"YulIdentifier","src":"160884:6:19"},"nativeSrc":"160884:16:19","nodeType":"YulFunctionCall","src":"160884:16:19"},"nativeSrc":"160884:16:19","nodeType":"YulExpressionStatement","src":"160884:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"160920:4:19","nodeType":"YulLiteral","src":"160920:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"160926:2:19","nodeType":"YulIdentifier","src":"160926:2:19"}],"functionName":{"name":"mstore","nativeSrc":"160913:6:19","nodeType":"YulIdentifier","src":"160913:6:19"},"nativeSrc":"160913:16:19","nodeType":"YulFunctionCall","src":"160913:16:19"},"nativeSrc":"160913:16:19","nodeType":"YulExpressionStatement","src":"160913:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"160954:4:19","nodeType":"YulLiteral","src":"160954:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"160960:2:19","nodeType":"YulIdentifier","src":"160960:2:19"}],"functionName":{"name":"writeString","nativeSrc":"160942:11:19","nodeType":"YulIdentifier","src":"160942:11:19"},"nativeSrc":"160942:21:19","nodeType":"YulFunctionCall","src":"160942:21:19"},"nativeSrc":"160942:21:19","nodeType":"YulExpressionStatement","src":"160942:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31318,"isOffset":false,"isSlot":false,"src":"160511:2:19","valueSize":1},{"declaration":31321,"isOffset":false,"isSlot":false,"src":"160541:2:19","valueSize":1},{"declaration":31324,"isOffset":false,"isSlot":false,"src":"160571:2:19","valueSize":1},{"declaration":31327,"isOffset":false,"isSlot":false,"src":"160601:2:19","valueSize":1},{"declaration":31330,"isOffset":false,"isSlot":false,"src":"160631:2:19","valueSize":1},{"declaration":31333,"isOffset":false,"isSlot":false,"src":"160661:2:19","valueSize":1},{"declaration":31336,"isOffset":false,"isSlot":false,"src":"160691:2:19","valueSize":1},{"declaration":31308,"isOffset":false,"isSlot":false,"src":"160837:2:19","valueSize":1},{"declaration":31310,"isOffset":false,"isSlot":false,"src":"160960:2:19","valueSize":1},{"declaration":31312,"isOffset":false,"isSlot":false,"src":"160897:2:19","valueSize":1},{"declaration":31314,"isOffset":false,"isSlot":false,"src":"160926:2:19","valueSize":1}],"id":31338,"nodeType":"InlineAssembly","src":"160133:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"160998:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":31341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"161004:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":31339,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"160982:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"160982:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31343,"nodeType":"ExpressionStatement","src":"160982:27:19"},{"AST":{"nativeSrc":"161071:214:19","nodeType":"YulBlock","src":"161071:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"161092:4:19","nodeType":"YulLiteral","src":"161092:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"161098:2:19","nodeType":"YulIdentifier","src":"161098:2:19"}],"functionName":{"name":"mstore","nativeSrc":"161085:6:19","nodeType":"YulIdentifier","src":"161085:6:19"},"nativeSrc":"161085:16:19","nodeType":"YulFunctionCall","src":"161085:16:19"},"nativeSrc":"161085:16:19","nodeType":"YulExpressionStatement","src":"161085:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"161121:4:19","nodeType":"YulLiteral","src":"161121:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"161127:2:19","nodeType":"YulIdentifier","src":"161127:2:19"}],"functionName":{"name":"mstore","nativeSrc":"161114:6:19","nodeType":"YulIdentifier","src":"161114:6:19"},"nativeSrc":"161114:16:19","nodeType":"YulFunctionCall","src":"161114:16:19"},"nativeSrc":"161114:16:19","nodeType":"YulExpressionStatement","src":"161114:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"161150:4:19","nodeType":"YulLiteral","src":"161150:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"161156:2:19","nodeType":"YulIdentifier","src":"161156:2:19"}],"functionName":{"name":"mstore","nativeSrc":"161143:6:19","nodeType":"YulIdentifier","src":"161143:6:19"},"nativeSrc":"161143:16:19","nodeType":"YulFunctionCall","src":"161143:16:19"},"nativeSrc":"161143:16:19","nodeType":"YulExpressionStatement","src":"161143:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"161179:4:19","nodeType":"YulLiteral","src":"161179:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"161185:2:19","nodeType":"YulIdentifier","src":"161185:2:19"}],"functionName":{"name":"mstore","nativeSrc":"161172:6:19","nodeType":"YulIdentifier","src":"161172:6:19"},"nativeSrc":"161172:16:19","nodeType":"YulFunctionCall","src":"161172:16:19"},"nativeSrc":"161172:16:19","nodeType":"YulExpressionStatement","src":"161172:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"161208:4:19","nodeType":"YulLiteral","src":"161208:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"161214:2:19","nodeType":"YulIdentifier","src":"161214:2:19"}],"functionName":{"name":"mstore","nativeSrc":"161201:6:19","nodeType":"YulIdentifier","src":"161201:6:19"},"nativeSrc":"161201:16:19","nodeType":"YulFunctionCall","src":"161201:16:19"},"nativeSrc":"161201:16:19","nodeType":"YulExpressionStatement","src":"161201:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"161237:4:19","nodeType":"YulLiteral","src":"161237:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"161243:2:19","nodeType":"YulIdentifier","src":"161243:2:19"}],"functionName":{"name":"mstore","nativeSrc":"161230:6:19","nodeType":"YulIdentifier","src":"161230:6:19"},"nativeSrc":"161230:16:19","nodeType":"YulFunctionCall","src":"161230:16:19"},"nativeSrc":"161230:16:19","nodeType":"YulExpressionStatement","src":"161230:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"161266:4:19","nodeType":"YulLiteral","src":"161266:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"161272:2:19","nodeType":"YulIdentifier","src":"161272:2:19"}],"functionName":{"name":"mstore","nativeSrc":"161259:6:19","nodeType":"YulIdentifier","src":"161259:6:19"},"nativeSrc":"161259:16:19","nodeType":"YulFunctionCall","src":"161259:16:19"},"nativeSrc":"161259:16:19","nodeType":"YulExpressionStatement","src":"161259:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31318,"isOffset":false,"isSlot":false,"src":"161098:2:19","valueSize":1},{"declaration":31321,"isOffset":false,"isSlot":false,"src":"161127:2:19","valueSize":1},{"declaration":31324,"isOffset":false,"isSlot":false,"src":"161156:2:19","valueSize":1},{"declaration":31327,"isOffset":false,"isSlot":false,"src":"161185:2:19","valueSize":1},{"declaration":31330,"isOffset":false,"isSlot":false,"src":"161214:2:19","valueSize":1},{"declaration":31333,"isOffset":false,"isSlot":false,"src":"161243:2:19","valueSize":1},{"declaration":31336,"isOffset":false,"isSlot":false,"src":"161272:2:19","valueSize":1}],"id":31344,"nodeType":"InlineAssembly","src":"161062:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"159874:3:19","parameters":{"id":31315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31308,"mutability":"mutable","name":"p0","nameLocation":"159886:2:19","nodeType":"VariableDeclaration","scope":31346,"src":"159878:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31307,"name":"address","nodeType":"ElementaryTypeName","src":"159878:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31310,"mutability":"mutable","name":"p1","nameLocation":"159898:2:19","nodeType":"VariableDeclaration","scope":31346,"src":"159890:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31309,"name":"bytes32","nodeType":"ElementaryTypeName","src":"159890:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31312,"mutability":"mutable","name":"p2","nameLocation":"159910:2:19","nodeType":"VariableDeclaration","scope":31346,"src":"159902:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31311,"name":"uint256","nodeType":"ElementaryTypeName","src":"159902:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31314,"mutability":"mutable","name":"p3","nameLocation":"159922:2:19","nodeType":"VariableDeclaration","scope":31346,"src":"159914:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31313,"name":"uint256","nodeType":"ElementaryTypeName","src":"159914:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"159877:48:19"},"returnParameters":{"id":31316,"nodeType":"ParameterList","parameters":[],"src":"159940:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31392,"nodeType":"FunctionDefinition","src":"161297:1622:19","nodes":[],"body":{"id":31391,"nodeType":"Block","src":"161372:1547:19","nodes":[],"statements":[{"assignments":[31358],"declarations":[{"constant":false,"id":31358,"mutability":"mutable","name":"m0","nameLocation":"161390:2:19","nodeType":"VariableDeclaration","scope":31391,"src":"161382:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31357,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161382:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31359,"nodeType":"VariableDeclarationStatement","src":"161382:10:19"},{"assignments":[31361],"declarations":[{"constant":false,"id":31361,"mutability":"mutable","name":"m1","nameLocation":"161410:2:19","nodeType":"VariableDeclaration","scope":31391,"src":"161402:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31360,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161402:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31362,"nodeType":"VariableDeclarationStatement","src":"161402:10:19"},{"assignments":[31364],"declarations":[{"constant":false,"id":31364,"mutability":"mutable","name":"m2","nameLocation":"161430:2:19","nodeType":"VariableDeclaration","scope":31391,"src":"161422:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31363,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161422:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31365,"nodeType":"VariableDeclarationStatement","src":"161422:10:19"},{"assignments":[31367],"declarations":[{"constant":false,"id":31367,"mutability":"mutable","name":"m3","nameLocation":"161450:2:19","nodeType":"VariableDeclaration","scope":31391,"src":"161442:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31366,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161442:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31368,"nodeType":"VariableDeclarationStatement","src":"161442:10:19"},{"assignments":[31370],"declarations":[{"constant":false,"id":31370,"mutability":"mutable","name":"m4","nameLocation":"161470:2:19","nodeType":"VariableDeclaration","scope":31391,"src":"161462:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31369,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161462:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31371,"nodeType":"VariableDeclarationStatement","src":"161462:10:19"},{"assignments":[31373],"declarations":[{"constant":false,"id":31373,"mutability":"mutable","name":"m5","nameLocation":"161490:2:19","nodeType":"VariableDeclaration","scope":31391,"src":"161482:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31372,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161482:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31374,"nodeType":"VariableDeclarationStatement","src":"161482:10:19"},{"assignments":[31376],"declarations":[{"constant":false,"id":31376,"mutability":"mutable","name":"m6","nameLocation":"161510:2:19","nodeType":"VariableDeclaration","scope":31391,"src":"161502:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31375,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161502:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31377,"nodeType":"VariableDeclarationStatement","src":"161502:10:19"},{"assignments":[31379],"declarations":[{"constant":false,"id":31379,"mutability":"mutable","name":"m7","nameLocation":"161530:2:19","nodeType":"VariableDeclaration","scope":31391,"src":"161522:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31378,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161522:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31380,"nodeType":"VariableDeclarationStatement","src":"161522:10:19"},{"assignments":[31382],"declarations":[{"constant":false,"id":31382,"mutability":"mutable","name":"m8","nameLocation":"161550:2:19","nodeType":"VariableDeclaration","scope":31391,"src":"161542:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31381,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161542:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31383,"nodeType":"VariableDeclarationStatement","src":"161542:10:19"},{"AST":{"nativeSrc":"161614:927:19","nodeType":"YulBlock","src":"161614:927:19","statements":[{"body":{"nativeSrc":"161657:313:19","nodeType":"YulBlock","src":"161657:313:19","statements":[{"nativeSrc":"161675:15:19","nodeType":"YulVariableDeclaration","src":"161675:15:19","value":{"kind":"number","nativeSrc":"161689:1:19","nodeType":"YulLiteral","src":"161689:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"161679:6:19","nodeType":"YulTypedName","src":"161679:6:19","type":""}]},{"body":{"nativeSrc":"161760:40:19","nodeType":"YulBlock","src":"161760:40:19","statements":[{"body":{"nativeSrc":"161789:9:19","nodeType":"YulBlock","src":"161789:9:19","statements":[{"nativeSrc":"161791:5:19","nodeType":"YulBreak","src":"161791:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"161777:6:19","nodeType":"YulIdentifier","src":"161777:6:19"},{"name":"w","nativeSrc":"161785:1:19","nodeType":"YulIdentifier","src":"161785:1:19"}],"functionName":{"name":"byte","nativeSrc":"161772:4:19","nodeType":"YulIdentifier","src":"161772:4:19"},"nativeSrc":"161772:15:19","nodeType":"YulFunctionCall","src":"161772:15:19"}],"functionName":{"name":"iszero","nativeSrc":"161765:6:19","nodeType":"YulIdentifier","src":"161765:6:19"},"nativeSrc":"161765:23:19","nodeType":"YulFunctionCall","src":"161765:23:19"},"nativeSrc":"161762:36:19","nodeType":"YulIf","src":"161762:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"161717:6:19","nodeType":"YulIdentifier","src":"161717:6:19"},{"kind":"number","nativeSrc":"161725:4:19","nodeType":"YulLiteral","src":"161725:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"161714:2:19","nodeType":"YulIdentifier","src":"161714:2:19"},"nativeSrc":"161714:16:19","nodeType":"YulFunctionCall","src":"161714:16:19"},"nativeSrc":"161707:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"161731:28:19","nodeType":"YulBlock","src":"161731:28:19","statements":[{"nativeSrc":"161733:24:19","nodeType":"YulAssignment","src":"161733:24:19","value":{"arguments":[{"name":"length","nativeSrc":"161747:6:19","nodeType":"YulIdentifier","src":"161747:6:19"},{"kind":"number","nativeSrc":"161755:1:19","nodeType":"YulLiteral","src":"161755:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"161743:3:19","nodeType":"YulIdentifier","src":"161743:3:19"},"nativeSrc":"161743:14:19","nodeType":"YulFunctionCall","src":"161743:14:19"},"variableNames":[{"name":"length","nativeSrc":"161733:6:19","nodeType":"YulIdentifier","src":"161733:6:19"}]}]},"pre":{"nativeSrc":"161711:2:19","nodeType":"YulBlock","src":"161711:2:19","statements":[]},"src":"161707:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"161824:3:19","nodeType":"YulIdentifier","src":"161824:3:19"},{"name":"length","nativeSrc":"161829:6:19","nodeType":"YulIdentifier","src":"161829:6:19"}],"functionName":{"name":"mstore","nativeSrc":"161817:6:19","nodeType":"YulIdentifier","src":"161817:6:19"},"nativeSrc":"161817:19:19","nodeType":"YulFunctionCall","src":"161817:19:19"},"nativeSrc":"161817:19:19","nodeType":"YulExpressionStatement","src":"161817:19:19"},{"nativeSrc":"161853:37:19","nodeType":"YulVariableDeclaration","src":"161853:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"161870:3:19","nodeType":"YulLiteral","src":"161870:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"161879:1:19","nodeType":"YulLiteral","src":"161879:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"161882:6:19","nodeType":"YulIdentifier","src":"161882:6:19"}],"functionName":{"name":"shl","nativeSrc":"161875:3:19","nodeType":"YulIdentifier","src":"161875:3:19"},"nativeSrc":"161875:14:19","nodeType":"YulFunctionCall","src":"161875:14:19"}],"functionName":{"name":"sub","nativeSrc":"161866:3:19","nodeType":"YulIdentifier","src":"161866:3:19"},"nativeSrc":"161866:24:19","nodeType":"YulFunctionCall","src":"161866:24:19"},"variables":[{"name":"shift","nativeSrc":"161857:5:19","nodeType":"YulTypedName","src":"161857:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"161918:3:19","nodeType":"YulIdentifier","src":"161918:3:19"},{"kind":"number","nativeSrc":"161923:4:19","nodeType":"YulLiteral","src":"161923:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"161914:3:19","nodeType":"YulIdentifier","src":"161914:3:19"},"nativeSrc":"161914:14:19","nodeType":"YulFunctionCall","src":"161914:14:19"},{"arguments":[{"name":"shift","nativeSrc":"161934:5:19","nodeType":"YulIdentifier","src":"161934:5:19"},{"arguments":[{"name":"shift","nativeSrc":"161945:5:19","nodeType":"YulIdentifier","src":"161945:5:19"},{"name":"w","nativeSrc":"161952:1:19","nodeType":"YulIdentifier","src":"161952:1:19"}],"functionName":{"name":"shr","nativeSrc":"161941:3:19","nodeType":"YulIdentifier","src":"161941:3:19"},"nativeSrc":"161941:13:19","nodeType":"YulFunctionCall","src":"161941:13:19"}],"functionName":{"name":"shl","nativeSrc":"161930:3:19","nodeType":"YulIdentifier","src":"161930:3:19"},"nativeSrc":"161930:25:19","nodeType":"YulFunctionCall","src":"161930:25:19"}],"functionName":{"name":"mstore","nativeSrc":"161907:6:19","nodeType":"YulIdentifier","src":"161907:6:19"},"nativeSrc":"161907:49:19","nodeType":"YulFunctionCall","src":"161907:49:19"},"nativeSrc":"161907:49:19","nodeType":"YulExpressionStatement","src":"161907:49:19"}]},"name":"writeString","nativeSrc":"161628:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"161649:3:19","nodeType":"YulTypedName","src":"161649:3:19","type":""},{"name":"w","nativeSrc":"161654:1:19","nodeType":"YulTypedName","src":"161654:1:19","type":""}],"src":"161628:342:19"},{"nativeSrc":"161983:17:19","nodeType":"YulAssignment","src":"161983:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"161995:4:19","nodeType":"YulLiteral","src":"161995:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"161989:5:19","nodeType":"YulIdentifier","src":"161989:5:19"},"nativeSrc":"161989:11:19","nodeType":"YulFunctionCall","src":"161989:11:19"},"variableNames":[{"name":"m0","nativeSrc":"161983:2:19","nodeType":"YulIdentifier","src":"161983:2:19"}]},{"nativeSrc":"162013:17:19","nodeType":"YulAssignment","src":"162013:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"162025:4:19","nodeType":"YulLiteral","src":"162025:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"162019:5:19","nodeType":"YulIdentifier","src":"162019:5:19"},"nativeSrc":"162019:11:19","nodeType":"YulFunctionCall","src":"162019:11:19"},"variableNames":[{"name":"m1","nativeSrc":"162013:2:19","nodeType":"YulIdentifier","src":"162013:2:19"}]},{"nativeSrc":"162043:17:19","nodeType":"YulAssignment","src":"162043:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"162055:4:19","nodeType":"YulLiteral","src":"162055:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"162049:5:19","nodeType":"YulIdentifier","src":"162049:5:19"},"nativeSrc":"162049:11:19","nodeType":"YulFunctionCall","src":"162049:11:19"},"variableNames":[{"name":"m2","nativeSrc":"162043:2:19","nodeType":"YulIdentifier","src":"162043:2:19"}]},{"nativeSrc":"162073:17:19","nodeType":"YulAssignment","src":"162073:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"162085:4:19","nodeType":"YulLiteral","src":"162085:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"162079:5:19","nodeType":"YulIdentifier","src":"162079:5:19"},"nativeSrc":"162079:11:19","nodeType":"YulFunctionCall","src":"162079:11:19"},"variableNames":[{"name":"m3","nativeSrc":"162073:2:19","nodeType":"YulIdentifier","src":"162073:2:19"}]},{"nativeSrc":"162103:17:19","nodeType":"YulAssignment","src":"162103:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"162115:4:19","nodeType":"YulLiteral","src":"162115:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"162109:5:19","nodeType":"YulIdentifier","src":"162109:5:19"},"nativeSrc":"162109:11:19","nodeType":"YulFunctionCall","src":"162109:11:19"},"variableNames":[{"name":"m4","nativeSrc":"162103:2:19","nodeType":"YulIdentifier","src":"162103:2:19"}]},{"nativeSrc":"162133:17:19","nodeType":"YulAssignment","src":"162133:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"162145:4:19","nodeType":"YulLiteral","src":"162145:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"162139:5:19","nodeType":"YulIdentifier","src":"162139:5:19"},"nativeSrc":"162139:11:19","nodeType":"YulFunctionCall","src":"162139:11:19"},"variableNames":[{"name":"m5","nativeSrc":"162133:2:19","nodeType":"YulIdentifier","src":"162133:2:19"}]},{"nativeSrc":"162163:17:19","nodeType":"YulAssignment","src":"162163:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"162175:4:19","nodeType":"YulLiteral","src":"162175:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"162169:5:19","nodeType":"YulIdentifier","src":"162169:5:19"},"nativeSrc":"162169:11:19","nodeType":"YulFunctionCall","src":"162169:11:19"},"variableNames":[{"name":"m6","nativeSrc":"162163:2:19","nodeType":"YulIdentifier","src":"162163:2:19"}]},{"nativeSrc":"162193:17:19","nodeType":"YulAssignment","src":"162193:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"162205:4:19","nodeType":"YulLiteral","src":"162205:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"162199:5:19","nodeType":"YulIdentifier","src":"162199:5:19"},"nativeSrc":"162199:11:19","nodeType":"YulFunctionCall","src":"162199:11:19"},"variableNames":[{"name":"m7","nativeSrc":"162193:2:19","nodeType":"YulIdentifier","src":"162193:2:19"}]},{"nativeSrc":"162223:18:19","nodeType":"YulAssignment","src":"162223:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"162235:5:19","nodeType":"YulLiteral","src":"162235:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"162229:5:19","nodeType":"YulIdentifier","src":"162229:5:19"},"nativeSrc":"162229:12:19","nodeType":"YulFunctionCall","src":"162229:12:19"},"variableNames":[{"name":"m8","nativeSrc":"162223:2:19","nodeType":"YulIdentifier","src":"162223:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162326:4:19","nodeType":"YulLiteral","src":"162326:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"162332:10:19","nodeType":"YulLiteral","src":"162332:10:19","type":"","value":"0x448830a8"}],"functionName":{"name":"mstore","nativeSrc":"162319:6:19","nodeType":"YulIdentifier","src":"162319:6:19"},"nativeSrc":"162319:24:19","nodeType":"YulFunctionCall","src":"162319:24:19"},"nativeSrc":"162319:24:19","nodeType":"YulExpressionStatement","src":"162319:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162363:4:19","nodeType":"YulLiteral","src":"162363:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"162369:2:19","nodeType":"YulIdentifier","src":"162369:2:19"}],"functionName":{"name":"mstore","nativeSrc":"162356:6:19","nodeType":"YulIdentifier","src":"162356:6:19"},"nativeSrc":"162356:16:19","nodeType":"YulFunctionCall","src":"162356:16:19"},"nativeSrc":"162356:16:19","nodeType":"YulExpressionStatement","src":"162356:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162392:4:19","nodeType":"YulLiteral","src":"162392:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"162398:4:19","nodeType":"YulLiteral","src":"162398:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"162385:6:19","nodeType":"YulIdentifier","src":"162385:6:19"},"nativeSrc":"162385:18:19","nodeType":"YulFunctionCall","src":"162385:18:19"},"nativeSrc":"162385:18:19","nodeType":"YulExpressionStatement","src":"162385:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162423:4:19","nodeType":"YulLiteral","src":"162423:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"162429:2:19","nodeType":"YulIdentifier","src":"162429:2:19"}],"functionName":{"name":"mstore","nativeSrc":"162416:6:19","nodeType":"YulIdentifier","src":"162416:6:19"},"nativeSrc":"162416:16:19","nodeType":"YulFunctionCall","src":"162416:16:19"},"nativeSrc":"162416:16:19","nodeType":"YulExpressionStatement","src":"162416:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162452:4:19","nodeType":"YulLiteral","src":"162452:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"162458:4:19","nodeType":"YulLiteral","src":"162458:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"162445:6:19","nodeType":"YulIdentifier","src":"162445:6:19"},"nativeSrc":"162445:18:19","nodeType":"YulFunctionCall","src":"162445:18:19"},"nativeSrc":"162445:18:19","nodeType":"YulExpressionStatement","src":"162445:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162488:4:19","nodeType":"YulLiteral","src":"162488:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"162494:2:19","nodeType":"YulIdentifier","src":"162494:2:19"}],"functionName":{"name":"writeString","nativeSrc":"162476:11:19","nodeType":"YulIdentifier","src":"162476:11:19"},"nativeSrc":"162476:21:19","nodeType":"YulFunctionCall","src":"162476:21:19"},"nativeSrc":"162476:21:19","nodeType":"YulExpressionStatement","src":"162476:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162522:4:19","nodeType":"YulLiteral","src":"162522:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"162528:2:19","nodeType":"YulIdentifier","src":"162528:2:19"}],"functionName":{"name":"writeString","nativeSrc":"162510:11:19","nodeType":"YulIdentifier","src":"162510:11:19"},"nativeSrc":"162510:21:19","nodeType":"YulFunctionCall","src":"162510:21:19"},"nativeSrc":"162510:21:19","nodeType":"YulExpressionStatement","src":"162510:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31358,"isOffset":false,"isSlot":false,"src":"161983:2:19","valueSize":1},{"declaration":31361,"isOffset":false,"isSlot":false,"src":"162013:2:19","valueSize":1},{"declaration":31364,"isOffset":false,"isSlot":false,"src":"162043:2:19","valueSize":1},{"declaration":31367,"isOffset":false,"isSlot":false,"src":"162073:2:19","valueSize":1},{"declaration":31370,"isOffset":false,"isSlot":false,"src":"162103:2:19","valueSize":1},{"declaration":31373,"isOffset":false,"isSlot":false,"src":"162133:2:19","valueSize":1},{"declaration":31376,"isOffset":false,"isSlot":false,"src":"162163:2:19","valueSize":1},{"declaration":31379,"isOffset":false,"isSlot":false,"src":"162193:2:19","valueSize":1},{"declaration":31382,"isOffset":false,"isSlot":false,"src":"162223:2:19","valueSize":1},{"declaration":31348,"isOffset":false,"isSlot":false,"src":"162369:2:19","valueSize":1},{"declaration":31350,"isOffset":false,"isSlot":false,"src":"162494:2:19","valueSize":1},{"declaration":31352,"isOffset":false,"isSlot":false,"src":"162429:2:19","valueSize":1},{"declaration":31354,"isOffset":false,"isSlot":false,"src":"162528:2:19","valueSize":1}],"id":31384,"nodeType":"InlineAssembly","src":"161605:936:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"162566:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":31387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"162572:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":31385,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"162550:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"162550:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31389,"nodeType":"ExpressionStatement","src":"162550:28:19"},{"AST":{"nativeSrc":"162640:273:19","nodeType":"YulBlock","src":"162640:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"162661:4:19","nodeType":"YulLiteral","src":"162661:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"162667:2:19","nodeType":"YulIdentifier","src":"162667:2:19"}],"functionName":{"name":"mstore","nativeSrc":"162654:6:19","nodeType":"YulIdentifier","src":"162654:6:19"},"nativeSrc":"162654:16:19","nodeType":"YulFunctionCall","src":"162654:16:19"},"nativeSrc":"162654:16:19","nodeType":"YulExpressionStatement","src":"162654:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162690:4:19","nodeType":"YulLiteral","src":"162690:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"162696:2:19","nodeType":"YulIdentifier","src":"162696:2:19"}],"functionName":{"name":"mstore","nativeSrc":"162683:6:19","nodeType":"YulIdentifier","src":"162683:6:19"},"nativeSrc":"162683:16:19","nodeType":"YulFunctionCall","src":"162683:16:19"},"nativeSrc":"162683:16:19","nodeType":"YulExpressionStatement","src":"162683:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162719:4:19","nodeType":"YulLiteral","src":"162719:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"162725:2:19","nodeType":"YulIdentifier","src":"162725:2:19"}],"functionName":{"name":"mstore","nativeSrc":"162712:6:19","nodeType":"YulIdentifier","src":"162712:6:19"},"nativeSrc":"162712:16:19","nodeType":"YulFunctionCall","src":"162712:16:19"},"nativeSrc":"162712:16:19","nodeType":"YulExpressionStatement","src":"162712:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162748:4:19","nodeType":"YulLiteral","src":"162748:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"162754:2:19","nodeType":"YulIdentifier","src":"162754:2:19"}],"functionName":{"name":"mstore","nativeSrc":"162741:6:19","nodeType":"YulIdentifier","src":"162741:6:19"},"nativeSrc":"162741:16:19","nodeType":"YulFunctionCall","src":"162741:16:19"},"nativeSrc":"162741:16:19","nodeType":"YulExpressionStatement","src":"162741:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162777:4:19","nodeType":"YulLiteral","src":"162777:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"162783:2:19","nodeType":"YulIdentifier","src":"162783:2:19"}],"functionName":{"name":"mstore","nativeSrc":"162770:6:19","nodeType":"YulIdentifier","src":"162770:6:19"},"nativeSrc":"162770:16:19","nodeType":"YulFunctionCall","src":"162770:16:19"},"nativeSrc":"162770:16:19","nodeType":"YulExpressionStatement","src":"162770:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162806:4:19","nodeType":"YulLiteral","src":"162806:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"162812:2:19","nodeType":"YulIdentifier","src":"162812:2:19"}],"functionName":{"name":"mstore","nativeSrc":"162799:6:19","nodeType":"YulIdentifier","src":"162799:6:19"},"nativeSrc":"162799:16:19","nodeType":"YulFunctionCall","src":"162799:16:19"},"nativeSrc":"162799:16:19","nodeType":"YulExpressionStatement","src":"162799:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162835:4:19","nodeType":"YulLiteral","src":"162835:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"162841:2:19","nodeType":"YulIdentifier","src":"162841:2:19"}],"functionName":{"name":"mstore","nativeSrc":"162828:6:19","nodeType":"YulIdentifier","src":"162828:6:19"},"nativeSrc":"162828:16:19","nodeType":"YulFunctionCall","src":"162828:16:19"},"nativeSrc":"162828:16:19","nodeType":"YulExpressionStatement","src":"162828:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162864:4:19","nodeType":"YulLiteral","src":"162864:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"162870:2:19","nodeType":"YulIdentifier","src":"162870:2:19"}],"functionName":{"name":"mstore","nativeSrc":"162857:6:19","nodeType":"YulIdentifier","src":"162857:6:19"},"nativeSrc":"162857:16:19","nodeType":"YulFunctionCall","src":"162857:16:19"},"nativeSrc":"162857:16:19","nodeType":"YulExpressionStatement","src":"162857:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"162893:5:19","nodeType":"YulLiteral","src":"162893:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"162900:2:19","nodeType":"YulIdentifier","src":"162900:2:19"}],"functionName":{"name":"mstore","nativeSrc":"162886:6:19","nodeType":"YulIdentifier","src":"162886:6:19"},"nativeSrc":"162886:17:19","nodeType":"YulFunctionCall","src":"162886:17:19"},"nativeSrc":"162886:17:19","nodeType":"YulExpressionStatement","src":"162886:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31358,"isOffset":false,"isSlot":false,"src":"162667:2:19","valueSize":1},{"declaration":31361,"isOffset":false,"isSlot":false,"src":"162696:2:19","valueSize":1},{"declaration":31364,"isOffset":false,"isSlot":false,"src":"162725:2:19","valueSize":1},{"declaration":31367,"isOffset":false,"isSlot":false,"src":"162754:2:19","valueSize":1},{"declaration":31370,"isOffset":false,"isSlot":false,"src":"162783:2:19","valueSize":1},{"declaration":31373,"isOffset":false,"isSlot":false,"src":"162812:2:19","valueSize":1},{"declaration":31376,"isOffset":false,"isSlot":false,"src":"162841:2:19","valueSize":1},{"declaration":31379,"isOffset":false,"isSlot":false,"src":"162870:2:19","valueSize":1},{"declaration":31382,"isOffset":false,"isSlot":false,"src":"162900:2:19","valueSize":1}],"id":31390,"nodeType":"InlineAssembly","src":"162631:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"161306:3:19","parameters":{"id":31355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31348,"mutability":"mutable","name":"p0","nameLocation":"161318:2:19","nodeType":"VariableDeclaration","scope":31392,"src":"161310:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31347,"name":"address","nodeType":"ElementaryTypeName","src":"161310:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31350,"mutability":"mutable","name":"p1","nameLocation":"161330:2:19","nodeType":"VariableDeclaration","scope":31392,"src":"161322:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31349,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161322:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31352,"mutability":"mutable","name":"p2","nameLocation":"161342:2:19","nodeType":"VariableDeclaration","scope":31392,"src":"161334:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31351,"name":"uint256","nodeType":"ElementaryTypeName","src":"161334:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31354,"mutability":"mutable","name":"p3","nameLocation":"161354:2:19","nodeType":"VariableDeclaration","scope":31392,"src":"161346:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31353,"name":"bytes32","nodeType":"ElementaryTypeName","src":"161346:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"161309:48:19"},"returnParameters":{"id":31356,"nodeType":"ParameterList","parameters":[],"src":"161372:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31438,"nodeType":"FunctionDefinition","src":"162925:1622:19","nodes":[],"body":{"id":31437,"nodeType":"Block","src":"163000:1547:19","nodes":[],"statements":[{"assignments":[31404],"declarations":[{"constant":false,"id":31404,"mutability":"mutable","name":"m0","nameLocation":"163018:2:19","nodeType":"VariableDeclaration","scope":31437,"src":"163010:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31403,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163010:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31405,"nodeType":"VariableDeclarationStatement","src":"163010:10:19"},{"assignments":[31407],"declarations":[{"constant":false,"id":31407,"mutability":"mutable","name":"m1","nameLocation":"163038:2:19","nodeType":"VariableDeclaration","scope":31437,"src":"163030:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31406,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163030:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31408,"nodeType":"VariableDeclarationStatement","src":"163030:10:19"},{"assignments":[31410],"declarations":[{"constant":false,"id":31410,"mutability":"mutable","name":"m2","nameLocation":"163058:2:19","nodeType":"VariableDeclaration","scope":31437,"src":"163050:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31409,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163050:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31411,"nodeType":"VariableDeclarationStatement","src":"163050:10:19"},{"assignments":[31413],"declarations":[{"constant":false,"id":31413,"mutability":"mutable","name":"m3","nameLocation":"163078:2:19","nodeType":"VariableDeclaration","scope":31437,"src":"163070:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31412,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163070:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31414,"nodeType":"VariableDeclarationStatement","src":"163070:10:19"},{"assignments":[31416],"declarations":[{"constant":false,"id":31416,"mutability":"mutable","name":"m4","nameLocation":"163098:2:19","nodeType":"VariableDeclaration","scope":31437,"src":"163090:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31415,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163090:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31417,"nodeType":"VariableDeclarationStatement","src":"163090:10:19"},{"assignments":[31419],"declarations":[{"constant":false,"id":31419,"mutability":"mutable","name":"m5","nameLocation":"163118:2:19","nodeType":"VariableDeclaration","scope":31437,"src":"163110:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31418,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163110:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31420,"nodeType":"VariableDeclarationStatement","src":"163110:10:19"},{"assignments":[31422],"declarations":[{"constant":false,"id":31422,"mutability":"mutable","name":"m6","nameLocation":"163138:2:19","nodeType":"VariableDeclaration","scope":31437,"src":"163130:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31421,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163130:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31423,"nodeType":"VariableDeclarationStatement","src":"163130:10:19"},{"assignments":[31425],"declarations":[{"constant":false,"id":31425,"mutability":"mutable","name":"m7","nameLocation":"163158:2:19","nodeType":"VariableDeclaration","scope":31437,"src":"163150:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31424,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163150:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31426,"nodeType":"VariableDeclarationStatement","src":"163150:10:19"},{"assignments":[31428],"declarations":[{"constant":false,"id":31428,"mutability":"mutable","name":"m8","nameLocation":"163178:2:19","nodeType":"VariableDeclaration","scope":31437,"src":"163170:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31427,"name":"bytes32","nodeType":"ElementaryTypeName","src":"163170:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31429,"nodeType":"VariableDeclarationStatement","src":"163170:10:19"},{"AST":{"nativeSrc":"163242:927:19","nodeType":"YulBlock","src":"163242:927:19","statements":[{"body":{"nativeSrc":"163285:313:19","nodeType":"YulBlock","src":"163285:313:19","statements":[{"nativeSrc":"163303:15:19","nodeType":"YulVariableDeclaration","src":"163303:15:19","value":{"kind":"number","nativeSrc":"163317:1:19","nodeType":"YulLiteral","src":"163317:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"163307:6:19","nodeType":"YulTypedName","src":"163307:6:19","type":""}]},{"body":{"nativeSrc":"163388:40:19","nodeType":"YulBlock","src":"163388:40:19","statements":[{"body":{"nativeSrc":"163417:9:19","nodeType":"YulBlock","src":"163417:9:19","statements":[{"nativeSrc":"163419:5:19","nodeType":"YulBreak","src":"163419:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"163405:6:19","nodeType":"YulIdentifier","src":"163405:6:19"},{"name":"w","nativeSrc":"163413:1:19","nodeType":"YulIdentifier","src":"163413:1:19"}],"functionName":{"name":"byte","nativeSrc":"163400:4:19","nodeType":"YulIdentifier","src":"163400:4:19"},"nativeSrc":"163400:15:19","nodeType":"YulFunctionCall","src":"163400:15:19"}],"functionName":{"name":"iszero","nativeSrc":"163393:6:19","nodeType":"YulIdentifier","src":"163393:6:19"},"nativeSrc":"163393:23:19","nodeType":"YulFunctionCall","src":"163393:23:19"},"nativeSrc":"163390:36:19","nodeType":"YulIf","src":"163390:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"163345:6:19","nodeType":"YulIdentifier","src":"163345:6:19"},{"kind":"number","nativeSrc":"163353:4:19","nodeType":"YulLiteral","src":"163353:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"163342:2:19","nodeType":"YulIdentifier","src":"163342:2:19"},"nativeSrc":"163342:16:19","nodeType":"YulFunctionCall","src":"163342:16:19"},"nativeSrc":"163335:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"163359:28:19","nodeType":"YulBlock","src":"163359:28:19","statements":[{"nativeSrc":"163361:24:19","nodeType":"YulAssignment","src":"163361:24:19","value":{"arguments":[{"name":"length","nativeSrc":"163375:6:19","nodeType":"YulIdentifier","src":"163375:6:19"},{"kind":"number","nativeSrc":"163383:1:19","nodeType":"YulLiteral","src":"163383:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"163371:3:19","nodeType":"YulIdentifier","src":"163371:3:19"},"nativeSrc":"163371:14:19","nodeType":"YulFunctionCall","src":"163371:14:19"},"variableNames":[{"name":"length","nativeSrc":"163361:6:19","nodeType":"YulIdentifier","src":"163361:6:19"}]}]},"pre":{"nativeSrc":"163339:2:19","nodeType":"YulBlock","src":"163339:2:19","statements":[]},"src":"163335:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"163452:3:19","nodeType":"YulIdentifier","src":"163452:3:19"},{"name":"length","nativeSrc":"163457:6:19","nodeType":"YulIdentifier","src":"163457:6:19"}],"functionName":{"name":"mstore","nativeSrc":"163445:6:19","nodeType":"YulIdentifier","src":"163445:6:19"},"nativeSrc":"163445:19:19","nodeType":"YulFunctionCall","src":"163445:19:19"},"nativeSrc":"163445:19:19","nodeType":"YulExpressionStatement","src":"163445:19:19"},{"nativeSrc":"163481:37:19","nodeType":"YulVariableDeclaration","src":"163481:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"163498:3:19","nodeType":"YulLiteral","src":"163498:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"163507:1:19","nodeType":"YulLiteral","src":"163507:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"163510:6:19","nodeType":"YulIdentifier","src":"163510:6:19"}],"functionName":{"name":"shl","nativeSrc":"163503:3:19","nodeType":"YulIdentifier","src":"163503:3:19"},"nativeSrc":"163503:14:19","nodeType":"YulFunctionCall","src":"163503:14:19"}],"functionName":{"name":"sub","nativeSrc":"163494:3:19","nodeType":"YulIdentifier","src":"163494:3:19"},"nativeSrc":"163494:24:19","nodeType":"YulFunctionCall","src":"163494:24:19"},"variables":[{"name":"shift","nativeSrc":"163485:5:19","nodeType":"YulTypedName","src":"163485:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"163546:3:19","nodeType":"YulIdentifier","src":"163546:3:19"},{"kind":"number","nativeSrc":"163551:4:19","nodeType":"YulLiteral","src":"163551:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"163542:3:19","nodeType":"YulIdentifier","src":"163542:3:19"},"nativeSrc":"163542:14:19","nodeType":"YulFunctionCall","src":"163542:14:19"},{"arguments":[{"name":"shift","nativeSrc":"163562:5:19","nodeType":"YulIdentifier","src":"163562:5:19"},{"arguments":[{"name":"shift","nativeSrc":"163573:5:19","nodeType":"YulIdentifier","src":"163573:5:19"},{"name":"w","nativeSrc":"163580:1:19","nodeType":"YulIdentifier","src":"163580:1:19"}],"functionName":{"name":"shr","nativeSrc":"163569:3:19","nodeType":"YulIdentifier","src":"163569:3:19"},"nativeSrc":"163569:13:19","nodeType":"YulFunctionCall","src":"163569:13:19"}],"functionName":{"name":"shl","nativeSrc":"163558:3:19","nodeType":"YulIdentifier","src":"163558:3:19"},"nativeSrc":"163558:25:19","nodeType":"YulFunctionCall","src":"163558:25:19"}],"functionName":{"name":"mstore","nativeSrc":"163535:6:19","nodeType":"YulIdentifier","src":"163535:6:19"},"nativeSrc":"163535:49:19","nodeType":"YulFunctionCall","src":"163535:49:19"},"nativeSrc":"163535:49:19","nodeType":"YulExpressionStatement","src":"163535:49:19"}]},"name":"writeString","nativeSrc":"163256:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"163277:3:19","nodeType":"YulTypedName","src":"163277:3:19","type":""},{"name":"w","nativeSrc":"163282:1:19","nodeType":"YulTypedName","src":"163282:1:19","type":""}],"src":"163256:342:19"},{"nativeSrc":"163611:17:19","nodeType":"YulAssignment","src":"163611:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"163623:4:19","nodeType":"YulLiteral","src":"163623:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"163617:5:19","nodeType":"YulIdentifier","src":"163617:5:19"},"nativeSrc":"163617:11:19","nodeType":"YulFunctionCall","src":"163617:11:19"},"variableNames":[{"name":"m0","nativeSrc":"163611:2:19","nodeType":"YulIdentifier","src":"163611:2:19"}]},{"nativeSrc":"163641:17:19","nodeType":"YulAssignment","src":"163641:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"163653:4:19","nodeType":"YulLiteral","src":"163653:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"163647:5:19","nodeType":"YulIdentifier","src":"163647:5:19"},"nativeSrc":"163647:11:19","nodeType":"YulFunctionCall","src":"163647:11:19"},"variableNames":[{"name":"m1","nativeSrc":"163641:2:19","nodeType":"YulIdentifier","src":"163641:2:19"}]},{"nativeSrc":"163671:17:19","nodeType":"YulAssignment","src":"163671:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"163683:4:19","nodeType":"YulLiteral","src":"163683:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"163677:5:19","nodeType":"YulIdentifier","src":"163677:5:19"},"nativeSrc":"163677:11:19","nodeType":"YulFunctionCall","src":"163677:11:19"},"variableNames":[{"name":"m2","nativeSrc":"163671:2:19","nodeType":"YulIdentifier","src":"163671:2:19"}]},{"nativeSrc":"163701:17:19","nodeType":"YulAssignment","src":"163701:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"163713:4:19","nodeType":"YulLiteral","src":"163713:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"163707:5:19","nodeType":"YulIdentifier","src":"163707:5:19"},"nativeSrc":"163707:11:19","nodeType":"YulFunctionCall","src":"163707:11:19"},"variableNames":[{"name":"m3","nativeSrc":"163701:2:19","nodeType":"YulIdentifier","src":"163701:2:19"}]},{"nativeSrc":"163731:17:19","nodeType":"YulAssignment","src":"163731:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"163743:4:19","nodeType":"YulLiteral","src":"163743:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"163737:5:19","nodeType":"YulIdentifier","src":"163737:5:19"},"nativeSrc":"163737:11:19","nodeType":"YulFunctionCall","src":"163737:11:19"},"variableNames":[{"name":"m4","nativeSrc":"163731:2:19","nodeType":"YulIdentifier","src":"163731:2:19"}]},{"nativeSrc":"163761:17:19","nodeType":"YulAssignment","src":"163761:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"163773:4:19","nodeType":"YulLiteral","src":"163773:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"163767:5:19","nodeType":"YulIdentifier","src":"163767:5:19"},"nativeSrc":"163767:11:19","nodeType":"YulFunctionCall","src":"163767:11:19"},"variableNames":[{"name":"m5","nativeSrc":"163761:2:19","nodeType":"YulIdentifier","src":"163761:2:19"}]},{"nativeSrc":"163791:17:19","nodeType":"YulAssignment","src":"163791:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"163803:4:19","nodeType":"YulLiteral","src":"163803:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"163797:5:19","nodeType":"YulIdentifier","src":"163797:5:19"},"nativeSrc":"163797:11:19","nodeType":"YulFunctionCall","src":"163797:11:19"},"variableNames":[{"name":"m6","nativeSrc":"163791:2:19","nodeType":"YulIdentifier","src":"163791:2:19"}]},{"nativeSrc":"163821:17:19","nodeType":"YulAssignment","src":"163821:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"163833:4:19","nodeType":"YulLiteral","src":"163833:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"163827:5:19","nodeType":"YulIdentifier","src":"163827:5:19"},"nativeSrc":"163827:11:19","nodeType":"YulFunctionCall","src":"163827:11:19"},"variableNames":[{"name":"m7","nativeSrc":"163821:2:19","nodeType":"YulIdentifier","src":"163821:2:19"}]},{"nativeSrc":"163851:18:19","nodeType":"YulAssignment","src":"163851:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"163863:5:19","nodeType":"YulLiteral","src":"163863:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"163857:5:19","nodeType":"YulIdentifier","src":"163857:5:19"},"nativeSrc":"163857:12:19","nodeType":"YulFunctionCall","src":"163857:12:19"},"variableNames":[{"name":"m8","nativeSrc":"163851:2:19","nodeType":"YulIdentifier","src":"163851:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"163954:4:19","nodeType":"YulLiteral","src":"163954:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"163960:10:19","nodeType":"YulLiteral","src":"163960:10:19","type":"","value":"0xa04e2f87"}],"functionName":{"name":"mstore","nativeSrc":"163947:6:19","nodeType":"YulIdentifier","src":"163947:6:19"},"nativeSrc":"163947:24:19","nodeType":"YulFunctionCall","src":"163947:24:19"},"nativeSrc":"163947:24:19","nodeType":"YulExpressionStatement","src":"163947:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"163991:4:19","nodeType":"YulLiteral","src":"163991:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"163997:2:19","nodeType":"YulIdentifier","src":"163997:2:19"}],"functionName":{"name":"mstore","nativeSrc":"163984:6:19","nodeType":"YulIdentifier","src":"163984:6:19"},"nativeSrc":"163984:16:19","nodeType":"YulFunctionCall","src":"163984:16:19"},"nativeSrc":"163984:16:19","nodeType":"YulExpressionStatement","src":"163984:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164020:4:19","nodeType":"YulLiteral","src":"164020:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"164026:4:19","nodeType":"YulLiteral","src":"164026:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"164013:6:19","nodeType":"YulIdentifier","src":"164013:6:19"},"nativeSrc":"164013:18:19","nodeType":"YulFunctionCall","src":"164013:18:19"},"nativeSrc":"164013:18:19","nodeType":"YulExpressionStatement","src":"164013:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164051:4:19","nodeType":"YulLiteral","src":"164051:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"164057:4:19","nodeType":"YulLiteral","src":"164057:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"164044:6:19","nodeType":"YulIdentifier","src":"164044:6:19"},"nativeSrc":"164044:18:19","nodeType":"YulFunctionCall","src":"164044:18:19"},"nativeSrc":"164044:18:19","nodeType":"YulExpressionStatement","src":"164044:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164082:4:19","nodeType":"YulLiteral","src":"164082:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"164088:2:19","nodeType":"YulIdentifier","src":"164088:2:19"}],"functionName":{"name":"mstore","nativeSrc":"164075:6:19","nodeType":"YulIdentifier","src":"164075:6:19"},"nativeSrc":"164075:16:19","nodeType":"YulFunctionCall","src":"164075:16:19"},"nativeSrc":"164075:16:19","nodeType":"YulExpressionStatement","src":"164075:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164116:4:19","nodeType":"YulLiteral","src":"164116:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"164122:2:19","nodeType":"YulIdentifier","src":"164122:2:19"}],"functionName":{"name":"writeString","nativeSrc":"164104:11:19","nodeType":"YulIdentifier","src":"164104:11:19"},"nativeSrc":"164104:21:19","nodeType":"YulFunctionCall","src":"164104:21:19"},"nativeSrc":"164104:21:19","nodeType":"YulExpressionStatement","src":"164104:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164150:4:19","nodeType":"YulLiteral","src":"164150:4:19","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"164156:2:19","nodeType":"YulIdentifier","src":"164156:2:19"}],"functionName":{"name":"writeString","nativeSrc":"164138:11:19","nodeType":"YulIdentifier","src":"164138:11:19"},"nativeSrc":"164138:21:19","nodeType":"YulFunctionCall","src":"164138:21:19"},"nativeSrc":"164138:21:19","nodeType":"YulExpressionStatement","src":"164138:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31404,"isOffset":false,"isSlot":false,"src":"163611:2:19","valueSize":1},{"declaration":31407,"isOffset":false,"isSlot":false,"src":"163641:2:19","valueSize":1},{"declaration":31410,"isOffset":false,"isSlot":false,"src":"163671:2:19","valueSize":1},{"declaration":31413,"isOffset":false,"isSlot":false,"src":"163701:2:19","valueSize":1},{"declaration":31416,"isOffset":false,"isSlot":false,"src":"163731:2:19","valueSize":1},{"declaration":31419,"isOffset":false,"isSlot":false,"src":"163761:2:19","valueSize":1},{"declaration":31422,"isOffset":false,"isSlot":false,"src":"163791:2:19","valueSize":1},{"declaration":31425,"isOffset":false,"isSlot":false,"src":"163821:2:19","valueSize":1},{"declaration":31428,"isOffset":false,"isSlot":false,"src":"163851:2:19","valueSize":1},{"declaration":31394,"isOffset":false,"isSlot":false,"src":"163997:2:19","valueSize":1},{"declaration":31396,"isOffset":false,"isSlot":false,"src":"164122:2:19","valueSize":1},{"declaration":31398,"isOffset":false,"isSlot":false,"src":"164156:2:19","valueSize":1},{"declaration":31400,"isOffset":false,"isSlot":false,"src":"164088:2:19","valueSize":1}],"id":31430,"nodeType":"InlineAssembly","src":"163233:936:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"164194:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":31433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"164200:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":31431,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"164178:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"164178:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31435,"nodeType":"ExpressionStatement","src":"164178:28:19"},{"AST":{"nativeSrc":"164268:273:19","nodeType":"YulBlock","src":"164268:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"164289:4:19","nodeType":"YulLiteral","src":"164289:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"164295:2:19","nodeType":"YulIdentifier","src":"164295:2:19"}],"functionName":{"name":"mstore","nativeSrc":"164282:6:19","nodeType":"YulIdentifier","src":"164282:6:19"},"nativeSrc":"164282:16:19","nodeType":"YulFunctionCall","src":"164282:16:19"},"nativeSrc":"164282:16:19","nodeType":"YulExpressionStatement","src":"164282:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164318:4:19","nodeType":"YulLiteral","src":"164318:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"164324:2:19","nodeType":"YulIdentifier","src":"164324:2:19"}],"functionName":{"name":"mstore","nativeSrc":"164311:6:19","nodeType":"YulIdentifier","src":"164311:6:19"},"nativeSrc":"164311:16:19","nodeType":"YulFunctionCall","src":"164311:16:19"},"nativeSrc":"164311:16:19","nodeType":"YulExpressionStatement","src":"164311:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164347:4:19","nodeType":"YulLiteral","src":"164347:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"164353:2:19","nodeType":"YulIdentifier","src":"164353:2:19"}],"functionName":{"name":"mstore","nativeSrc":"164340:6:19","nodeType":"YulIdentifier","src":"164340:6:19"},"nativeSrc":"164340:16:19","nodeType":"YulFunctionCall","src":"164340:16:19"},"nativeSrc":"164340:16:19","nodeType":"YulExpressionStatement","src":"164340:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164376:4:19","nodeType":"YulLiteral","src":"164376:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"164382:2:19","nodeType":"YulIdentifier","src":"164382:2:19"}],"functionName":{"name":"mstore","nativeSrc":"164369:6:19","nodeType":"YulIdentifier","src":"164369:6:19"},"nativeSrc":"164369:16:19","nodeType":"YulFunctionCall","src":"164369:16:19"},"nativeSrc":"164369:16:19","nodeType":"YulExpressionStatement","src":"164369:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164405:4:19","nodeType":"YulLiteral","src":"164405:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"164411:2:19","nodeType":"YulIdentifier","src":"164411:2:19"}],"functionName":{"name":"mstore","nativeSrc":"164398:6:19","nodeType":"YulIdentifier","src":"164398:6:19"},"nativeSrc":"164398:16:19","nodeType":"YulFunctionCall","src":"164398:16:19"},"nativeSrc":"164398:16:19","nodeType":"YulExpressionStatement","src":"164398:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164434:4:19","nodeType":"YulLiteral","src":"164434:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"164440:2:19","nodeType":"YulIdentifier","src":"164440:2:19"}],"functionName":{"name":"mstore","nativeSrc":"164427:6:19","nodeType":"YulIdentifier","src":"164427:6:19"},"nativeSrc":"164427:16:19","nodeType":"YulFunctionCall","src":"164427:16:19"},"nativeSrc":"164427:16:19","nodeType":"YulExpressionStatement","src":"164427:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164463:4:19","nodeType":"YulLiteral","src":"164463:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"164469:2:19","nodeType":"YulIdentifier","src":"164469:2:19"}],"functionName":{"name":"mstore","nativeSrc":"164456:6:19","nodeType":"YulIdentifier","src":"164456:6:19"},"nativeSrc":"164456:16:19","nodeType":"YulFunctionCall","src":"164456:16:19"},"nativeSrc":"164456:16:19","nodeType":"YulExpressionStatement","src":"164456:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164492:4:19","nodeType":"YulLiteral","src":"164492:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"164498:2:19","nodeType":"YulIdentifier","src":"164498:2:19"}],"functionName":{"name":"mstore","nativeSrc":"164485:6:19","nodeType":"YulIdentifier","src":"164485:6:19"},"nativeSrc":"164485:16:19","nodeType":"YulFunctionCall","src":"164485:16:19"},"nativeSrc":"164485:16:19","nodeType":"YulExpressionStatement","src":"164485:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"164521:5:19","nodeType":"YulLiteral","src":"164521:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"164528:2:19","nodeType":"YulIdentifier","src":"164528:2:19"}],"functionName":{"name":"mstore","nativeSrc":"164514:6:19","nodeType":"YulIdentifier","src":"164514:6:19"},"nativeSrc":"164514:17:19","nodeType":"YulFunctionCall","src":"164514:17:19"},"nativeSrc":"164514:17:19","nodeType":"YulExpressionStatement","src":"164514:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31404,"isOffset":false,"isSlot":false,"src":"164295:2:19","valueSize":1},{"declaration":31407,"isOffset":false,"isSlot":false,"src":"164324:2:19","valueSize":1},{"declaration":31410,"isOffset":false,"isSlot":false,"src":"164353:2:19","valueSize":1},{"declaration":31413,"isOffset":false,"isSlot":false,"src":"164382:2:19","valueSize":1},{"declaration":31416,"isOffset":false,"isSlot":false,"src":"164411:2:19","valueSize":1},{"declaration":31419,"isOffset":false,"isSlot":false,"src":"164440:2:19","valueSize":1},{"declaration":31422,"isOffset":false,"isSlot":false,"src":"164469:2:19","valueSize":1},{"declaration":31425,"isOffset":false,"isSlot":false,"src":"164498:2:19","valueSize":1},{"declaration":31428,"isOffset":false,"isSlot":false,"src":"164528:2:19","valueSize":1}],"id":31436,"nodeType":"InlineAssembly","src":"164259:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"162934:3:19","parameters":{"id":31401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31394,"mutability":"mutable","name":"p0","nameLocation":"162946:2:19","nodeType":"VariableDeclaration","scope":31438,"src":"162938:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31393,"name":"address","nodeType":"ElementaryTypeName","src":"162938:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31396,"mutability":"mutable","name":"p1","nameLocation":"162958:2:19","nodeType":"VariableDeclaration","scope":31438,"src":"162950:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31395,"name":"bytes32","nodeType":"ElementaryTypeName","src":"162950:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31398,"mutability":"mutable","name":"p2","nameLocation":"162970:2:19","nodeType":"VariableDeclaration","scope":31438,"src":"162962:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31397,"name":"bytes32","nodeType":"ElementaryTypeName","src":"162962:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31400,"mutability":"mutable","name":"p3","nameLocation":"162982:2:19","nodeType":"VariableDeclaration","scope":31438,"src":"162974:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31399,"name":"address","nodeType":"ElementaryTypeName","src":"162974:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"162937:48:19"},"returnParameters":{"id":31402,"nodeType":"ParameterList","parameters":[],"src":"163000:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31484,"nodeType":"FunctionDefinition","src":"164553:1616:19","nodes":[],"body":{"id":31483,"nodeType":"Block","src":"164625:1544:19","nodes":[],"statements":[{"assignments":[31450],"declarations":[{"constant":false,"id":31450,"mutability":"mutable","name":"m0","nameLocation":"164643:2:19","nodeType":"VariableDeclaration","scope":31483,"src":"164635:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31449,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164635:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31451,"nodeType":"VariableDeclarationStatement","src":"164635:10:19"},{"assignments":[31453],"declarations":[{"constant":false,"id":31453,"mutability":"mutable","name":"m1","nameLocation":"164663:2:19","nodeType":"VariableDeclaration","scope":31483,"src":"164655:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31452,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164655:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31454,"nodeType":"VariableDeclarationStatement","src":"164655:10:19"},{"assignments":[31456],"declarations":[{"constant":false,"id":31456,"mutability":"mutable","name":"m2","nameLocation":"164683:2:19","nodeType":"VariableDeclaration","scope":31483,"src":"164675:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31455,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164675:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31457,"nodeType":"VariableDeclarationStatement","src":"164675:10:19"},{"assignments":[31459],"declarations":[{"constant":false,"id":31459,"mutability":"mutable","name":"m3","nameLocation":"164703:2:19","nodeType":"VariableDeclaration","scope":31483,"src":"164695:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31458,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164695:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31460,"nodeType":"VariableDeclarationStatement","src":"164695:10:19"},{"assignments":[31462],"declarations":[{"constant":false,"id":31462,"mutability":"mutable","name":"m4","nameLocation":"164723:2:19","nodeType":"VariableDeclaration","scope":31483,"src":"164715:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31461,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164715:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31463,"nodeType":"VariableDeclarationStatement","src":"164715:10:19"},{"assignments":[31465],"declarations":[{"constant":false,"id":31465,"mutability":"mutable","name":"m5","nameLocation":"164743:2:19","nodeType":"VariableDeclaration","scope":31483,"src":"164735:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31464,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164735:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31466,"nodeType":"VariableDeclarationStatement","src":"164735:10:19"},{"assignments":[31468],"declarations":[{"constant":false,"id":31468,"mutability":"mutable","name":"m6","nameLocation":"164763:2:19","nodeType":"VariableDeclaration","scope":31483,"src":"164755:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31467,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164755:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31469,"nodeType":"VariableDeclarationStatement","src":"164755:10:19"},{"assignments":[31471],"declarations":[{"constant":false,"id":31471,"mutability":"mutable","name":"m7","nameLocation":"164783:2:19","nodeType":"VariableDeclaration","scope":31483,"src":"164775:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31470,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164775:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31472,"nodeType":"VariableDeclarationStatement","src":"164775:10:19"},{"assignments":[31474],"declarations":[{"constant":false,"id":31474,"mutability":"mutable","name":"m8","nameLocation":"164803:2:19","nodeType":"VariableDeclaration","scope":31483,"src":"164795:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31473,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164795:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31475,"nodeType":"VariableDeclarationStatement","src":"164795:10:19"},{"AST":{"nativeSrc":"164867:924:19","nodeType":"YulBlock","src":"164867:924:19","statements":[{"body":{"nativeSrc":"164910:313:19","nodeType":"YulBlock","src":"164910:313:19","statements":[{"nativeSrc":"164928:15:19","nodeType":"YulVariableDeclaration","src":"164928:15:19","value":{"kind":"number","nativeSrc":"164942:1:19","nodeType":"YulLiteral","src":"164942:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"164932:6:19","nodeType":"YulTypedName","src":"164932:6:19","type":""}]},{"body":{"nativeSrc":"165013:40:19","nodeType":"YulBlock","src":"165013:40:19","statements":[{"body":{"nativeSrc":"165042:9:19","nodeType":"YulBlock","src":"165042:9:19","statements":[{"nativeSrc":"165044:5:19","nodeType":"YulBreak","src":"165044:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"165030:6:19","nodeType":"YulIdentifier","src":"165030:6:19"},{"name":"w","nativeSrc":"165038:1:19","nodeType":"YulIdentifier","src":"165038:1:19"}],"functionName":{"name":"byte","nativeSrc":"165025:4:19","nodeType":"YulIdentifier","src":"165025:4:19"},"nativeSrc":"165025:15:19","nodeType":"YulFunctionCall","src":"165025:15:19"}],"functionName":{"name":"iszero","nativeSrc":"165018:6:19","nodeType":"YulIdentifier","src":"165018:6:19"},"nativeSrc":"165018:23:19","nodeType":"YulFunctionCall","src":"165018:23:19"},"nativeSrc":"165015:36:19","nodeType":"YulIf","src":"165015:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"164970:6:19","nodeType":"YulIdentifier","src":"164970:6:19"},{"kind":"number","nativeSrc":"164978:4:19","nodeType":"YulLiteral","src":"164978:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"164967:2:19","nodeType":"YulIdentifier","src":"164967:2:19"},"nativeSrc":"164967:16:19","nodeType":"YulFunctionCall","src":"164967:16:19"},"nativeSrc":"164960:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"164984:28:19","nodeType":"YulBlock","src":"164984:28:19","statements":[{"nativeSrc":"164986:24:19","nodeType":"YulAssignment","src":"164986:24:19","value":{"arguments":[{"name":"length","nativeSrc":"165000:6:19","nodeType":"YulIdentifier","src":"165000:6:19"},{"kind":"number","nativeSrc":"165008:1:19","nodeType":"YulLiteral","src":"165008:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"164996:3:19","nodeType":"YulIdentifier","src":"164996:3:19"},"nativeSrc":"164996:14:19","nodeType":"YulFunctionCall","src":"164996:14:19"},"variableNames":[{"name":"length","nativeSrc":"164986:6:19","nodeType":"YulIdentifier","src":"164986:6:19"}]}]},"pre":{"nativeSrc":"164964:2:19","nodeType":"YulBlock","src":"164964:2:19","statements":[]},"src":"164960:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"165077:3:19","nodeType":"YulIdentifier","src":"165077:3:19"},{"name":"length","nativeSrc":"165082:6:19","nodeType":"YulIdentifier","src":"165082:6:19"}],"functionName":{"name":"mstore","nativeSrc":"165070:6:19","nodeType":"YulIdentifier","src":"165070:6:19"},"nativeSrc":"165070:19:19","nodeType":"YulFunctionCall","src":"165070:19:19"},"nativeSrc":"165070:19:19","nodeType":"YulExpressionStatement","src":"165070:19:19"},{"nativeSrc":"165106:37:19","nodeType":"YulVariableDeclaration","src":"165106:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"165123:3:19","nodeType":"YulLiteral","src":"165123:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"165132:1:19","nodeType":"YulLiteral","src":"165132:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"165135:6:19","nodeType":"YulIdentifier","src":"165135:6:19"}],"functionName":{"name":"shl","nativeSrc":"165128:3:19","nodeType":"YulIdentifier","src":"165128:3:19"},"nativeSrc":"165128:14:19","nodeType":"YulFunctionCall","src":"165128:14:19"}],"functionName":{"name":"sub","nativeSrc":"165119:3:19","nodeType":"YulIdentifier","src":"165119:3:19"},"nativeSrc":"165119:24:19","nodeType":"YulFunctionCall","src":"165119:24:19"},"variables":[{"name":"shift","nativeSrc":"165110:5:19","nodeType":"YulTypedName","src":"165110:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"165171:3:19","nodeType":"YulIdentifier","src":"165171:3:19"},{"kind":"number","nativeSrc":"165176:4:19","nodeType":"YulLiteral","src":"165176:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"165167:3:19","nodeType":"YulIdentifier","src":"165167:3:19"},"nativeSrc":"165167:14:19","nodeType":"YulFunctionCall","src":"165167:14:19"},{"arguments":[{"name":"shift","nativeSrc":"165187:5:19","nodeType":"YulIdentifier","src":"165187:5:19"},{"arguments":[{"name":"shift","nativeSrc":"165198:5:19","nodeType":"YulIdentifier","src":"165198:5:19"},{"name":"w","nativeSrc":"165205:1:19","nodeType":"YulIdentifier","src":"165205:1:19"}],"functionName":{"name":"shr","nativeSrc":"165194:3:19","nodeType":"YulIdentifier","src":"165194:3:19"},"nativeSrc":"165194:13:19","nodeType":"YulFunctionCall","src":"165194:13:19"}],"functionName":{"name":"shl","nativeSrc":"165183:3:19","nodeType":"YulIdentifier","src":"165183:3:19"},"nativeSrc":"165183:25:19","nodeType":"YulFunctionCall","src":"165183:25:19"}],"functionName":{"name":"mstore","nativeSrc":"165160:6:19","nodeType":"YulIdentifier","src":"165160:6:19"},"nativeSrc":"165160:49:19","nodeType":"YulFunctionCall","src":"165160:49:19"},"nativeSrc":"165160:49:19","nodeType":"YulExpressionStatement","src":"165160:49:19"}]},"name":"writeString","nativeSrc":"164881:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"164902:3:19","nodeType":"YulTypedName","src":"164902:3:19","type":""},{"name":"w","nativeSrc":"164907:1:19","nodeType":"YulTypedName","src":"164907:1:19","type":""}],"src":"164881:342:19"},{"nativeSrc":"165236:17:19","nodeType":"YulAssignment","src":"165236:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"165248:4:19","nodeType":"YulLiteral","src":"165248:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"165242:5:19","nodeType":"YulIdentifier","src":"165242:5:19"},"nativeSrc":"165242:11:19","nodeType":"YulFunctionCall","src":"165242:11:19"},"variableNames":[{"name":"m0","nativeSrc":"165236:2:19","nodeType":"YulIdentifier","src":"165236:2:19"}]},{"nativeSrc":"165266:17:19","nodeType":"YulAssignment","src":"165266:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"165278:4:19","nodeType":"YulLiteral","src":"165278:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"165272:5:19","nodeType":"YulIdentifier","src":"165272:5:19"},"nativeSrc":"165272:11:19","nodeType":"YulFunctionCall","src":"165272:11:19"},"variableNames":[{"name":"m1","nativeSrc":"165266:2:19","nodeType":"YulIdentifier","src":"165266:2:19"}]},{"nativeSrc":"165296:17:19","nodeType":"YulAssignment","src":"165296:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"165308:4:19","nodeType":"YulLiteral","src":"165308:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"165302:5:19","nodeType":"YulIdentifier","src":"165302:5:19"},"nativeSrc":"165302:11:19","nodeType":"YulFunctionCall","src":"165302:11:19"},"variableNames":[{"name":"m2","nativeSrc":"165296:2:19","nodeType":"YulIdentifier","src":"165296:2:19"}]},{"nativeSrc":"165326:17:19","nodeType":"YulAssignment","src":"165326:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"165338:4:19","nodeType":"YulLiteral","src":"165338:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"165332:5:19","nodeType":"YulIdentifier","src":"165332:5:19"},"nativeSrc":"165332:11:19","nodeType":"YulFunctionCall","src":"165332:11:19"},"variableNames":[{"name":"m3","nativeSrc":"165326:2:19","nodeType":"YulIdentifier","src":"165326:2:19"}]},{"nativeSrc":"165356:17:19","nodeType":"YulAssignment","src":"165356:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"165368:4:19","nodeType":"YulLiteral","src":"165368:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"165362:5:19","nodeType":"YulIdentifier","src":"165362:5:19"},"nativeSrc":"165362:11:19","nodeType":"YulFunctionCall","src":"165362:11:19"},"variableNames":[{"name":"m4","nativeSrc":"165356:2:19","nodeType":"YulIdentifier","src":"165356:2:19"}]},{"nativeSrc":"165386:17:19","nodeType":"YulAssignment","src":"165386:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"165398:4:19","nodeType":"YulLiteral","src":"165398:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"165392:5:19","nodeType":"YulIdentifier","src":"165392:5:19"},"nativeSrc":"165392:11:19","nodeType":"YulFunctionCall","src":"165392:11:19"},"variableNames":[{"name":"m5","nativeSrc":"165386:2:19","nodeType":"YulIdentifier","src":"165386:2:19"}]},{"nativeSrc":"165416:17:19","nodeType":"YulAssignment","src":"165416:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"165428:4:19","nodeType":"YulLiteral","src":"165428:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"165422:5:19","nodeType":"YulIdentifier","src":"165422:5:19"},"nativeSrc":"165422:11:19","nodeType":"YulFunctionCall","src":"165422:11:19"},"variableNames":[{"name":"m6","nativeSrc":"165416:2:19","nodeType":"YulIdentifier","src":"165416:2:19"}]},{"nativeSrc":"165446:17:19","nodeType":"YulAssignment","src":"165446:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"165458:4:19","nodeType":"YulLiteral","src":"165458:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"165452:5:19","nodeType":"YulIdentifier","src":"165452:5:19"},"nativeSrc":"165452:11:19","nodeType":"YulFunctionCall","src":"165452:11:19"},"variableNames":[{"name":"m7","nativeSrc":"165446:2:19","nodeType":"YulIdentifier","src":"165446:2:19"}]},{"nativeSrc":"165476:18:19","nodeType":"YulAssignment","src":"165476:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"165488:5:19","nodeType":"YulLiteral","src":"165488:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"165482:5:19","nodeType":"YulIdentifier","src":"165482:5:19"},"nativeSrc":"165482:12:19","nodeType":"YulFunctionCall","src":"165482:12:19"},"variableNames":[{"name":"m8","nativeSrc":"165476:2:19","nodeType":"YulIdentifier","src":"165476:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165576:4:19","nodeType":"YulLiteral","src":"165576:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"165582:10:19","nodeType":"YulLiteral","src":"165582:10:19","type":"","value":"0x35a5071f"}],"functionName":{"name":"mstore","nativeSrc":"165569:6:19","nodeType":"YulIdentifier","src":"165569:6:19"},"nativeSrc":"165569:24:19","nodeType":"YulFunctionCall","src":"165569:24:19"},"nativeSrc":"165569:24:19","nodeType":"YulExpressionStatement","src":"165569:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165613:4:19","nodeType":"YulLiteral","src":"165613:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"165619:2:19","nodeType":"YulIdentifier","src":"165619:2:19"}],"functionName":{"name":"mstore","nativeSrc":"165606:6:19","nodeType":"YulIdentifier","src":"165606:6:19"},"nativeSrc":"165606:16:19","nodeType":"YulFunctionCall","src":"165606:16:19"},"nativeSrc":"165606:16:19","nodeType":"YulExpressionStatement","src":"165606:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165642:4:19","nodeType":"YulLiteral","src":"165642:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"165648:4:19","nodeType":"YulLiteral","src":"165648:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"165635:6:19","nodeType":"YulIdentifier","src":"165635:6:19"},"nativeSrc":"165635:18:19","nodeType":"YulFunctionCall","src":"165635:18:19"},"nativeSrc":"165635:18:19","nodeType":"YulExpressionStatement","src":"165635:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165673:4:19","nodeType":"YulLiteral","src":"165673:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"165679:4:19","nodeType":"YulLiteral","src":"165679:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"165666:6:19","nodeType":"YulIdentifier","src":"165666:6:19"},"nativeSrc":"165666:18:19","nodeType":"YulFunctionCall","src":"165666:18:19"},"nativeSrc":"165666:18:19","nodeType":"YulExpressionStatement","src":"165666:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165704:4:19","nodeType":"YulLiteral","src":"165704:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"165710:2:19","nodeType":"YulIdentifier","src":"165710:2:19"}],"functionName":{"name":"mstore","nativeSrc":"165697:6:19","nodeType":"YulIdentifier","src":"165697:6:19"},"nativeSrc":"165697:16:19","nodeType":"YulFunctionCall","src":"165697:16:19"},"nativeSrc":"165697:16:19","nodeType":"YulExpressionStatement","src":"165697:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165738:4:19","nodeType":"YulLiteral","src":"165738:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"165744:2:19","nodeType":"YulIdentifier","src":"165744:2:19"}],"functionName":{"name":"writeString","nativeSrc":"165726:11:19","nodeType":"YulIdentifier","src":"165726:11:19"},"nativeSrc":"165726:21:19","nodeType":"YulFunctionCall","src":"165726:21:19"},"nativeSrc":"165726:21:19","nodeType":"YulExpressionStatement","src":"165726:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165772:4:19","nodeType":"YulLiteral","src":"165772:4:19","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"165778:2:19","nodeType":"YulIdentifier","src":"165778:2:19"}],"functionName":{"name":"writeString","nativeSrc":"165760:11:19","nodeType":"YulIdentifier","src":"165760:11:19"},"nativeSrc":"165760:21:19","nodeType":"YulFunctionCall","src":"165760:21:19"},"nativeSrc":"165760:21:19","nodeType":"YulExpressionStatement","src":"165760:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31450,"isOffset":false,"isSlot":false,"src":"165236:2:19","valueSize":1},{"declaration":31453,"isOffset":false,"isSlot":false,"src":"165266:2:19","valueSize":1},{"declaration":31456,"isOffset":false,"isSlot":false,"src":"165296:2:19","valueSize":1},{"declaration":31459,"isOffset":false,"isSlot":false,"src":"165326:2:19","valueSize":1},{"declaration":31462,"isOffset":false,"isSlot":false,"src":"165356:2:19","valueSize":1},{"declaration":31465,"isOffset":false,"isSlot":false,"src":"165386:2:19","valueSize":1},{"declaration":31468,"isOffset":false,"isSlot":false,"src":"165416:2:19","valueSize":1},{"declaration":31471,"isOffset":false,"isSlot":false,"src":"165446:2:19","valueSize":1},{"declaration":31474,"isOffset":false,"isSlot":false,"src":"165476:2:19","valueSize":1},{"declaration":31440,"isOffset":false,"isSlot":false,"src":"165619:2:19","valueSize":1},{"declaration":31442,"isOffset":false,"isSlot":false,"src":"165744:2:19","valueSize":1},{"declaration":31444,"isOffset":false,"isSlot":false,"src":"165778:2:19","valueSize":1},{"declaration":31446,"isOffset":false,"isSlot":false,"src":"165710:2:19","valueSize":1}],"id":31476,"nodeType":"InlineAssembly","src":"164858:933:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"165816:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":31479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"165822:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":31477,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"165800:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"165800:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31481,"nodeType":"ExpressionStatement","src":"165800:28:19"},{"AST":{"nativeSrc":"165890:273:19","nodeType":"YulBlock","src":"165890:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"165911:4:19","nodeType":"YulLiteral","src":"165911:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"165917:2:19","nodeType":"YulIdentifier","src":"165917:2:19"}],"functionName":{"name":"mstore","nativeSrc":"165904:6:19","nodeType":"YulIdentifier","src":"165904:6:19"},"nativeSrc":"165904:16:19","nodeType":"YulFunctionCall","src":"165904:16:19"},"nativeSrc":"165904:16:19","nodeType":"YulExpressionStatement","src":"165904:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165940:4:19","nodeType":"YulLiteral","src":"165940:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"165946:2:19","nodeType":"YulIdentifier","src":"165946:2:19"}],"functionName":{"name":"mstore","nativeSrc":"165933:6:19","nodeType":"YulIdentifier","src":"165933:6:19"},"nativeSrc":"165933:16:19","nodeType":"YulFunctionCall","src":"165933:16:19"},"nativeSrc":"165933:16:19","nodeType":"YulExpressionStatement","src":"165933:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165969:4:19","nodeType":"YulLiteral","src":"165969:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"165975:2:19","nodeType":"YulIdentifier","src":"165975:2:19"}],"functionName":{"name":"mstore","nativeSrc":"165962:6:19","nodeType":"YulIdentifier","src":"165962:6:19"},"nativeSrc":"165962:16:19","nodeType":"YulFunctionCall","src":"165962:16:19"},"nativeSrc":"165962:16:19","nodeType":"YulExpressionStatement","src":"165962:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"165998:4:19","nodeType":"YulLiteral","src":"165998:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"166004:2:19","nodeType":"YulIdentifier","src":"166004:2:19"}],"functionName":{"name":"mstore","nativeSrc":"165991:6:19","nodeType":"YulIdentifier","src":"165991:6:19"},"nativeSrc":"165991:16:19","nodeType":"YulFunctionCall","src":"165991:16:19"},"nativeSrc":"165991:16:19","nodeType":"YulExpressionStatement","src":"165991:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"166027:4:19","nodeType":"YulLiteral","src":"166027:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"166033:2:19","nodeType":"YulIdentifier","src":"166033:2:19"}],"functionName":{"name":"mstore","nativeSrc":"166020:6:19","nodeType":"YulIdentifier","src":"166020:6:19"},"nativeSrc":"166020:16:19","nodeType":"YulFunctionCall","src":"166020:16:19"},"nativeSrc":"166020:16:19","nodeType":"YulExpressionStatement","src":"166020:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"166056:4:19","nodeType":"YulLiteral","src":"166056:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"166062:2:19","nodeType":"YulIdentifier","src":"166062:2:19"}],"functionName":{"name":"mstore","nativeSrc":"166049:6:19","nodeType":"YulIdentifier","src":"166049:6:19"},"nativeSrc":"166049:16:19","nodeType":"YulFunctionCall","src":"166049:16:19"},"nativeSrc":"166049:16:19","nodeType":"YulExpressionStatement","src":"166049:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"166085:4:19","nodeType":"YulLiteral","src":"166085:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"166091:2:19","nodeType":"YulIdentifier","src":"166091:2:19"}],"functionName":{"name":"mstore","nativeSrc":"166078:6:19","nodeType":"YulIdentifier","src":"166078:6:19"},"nativeSrc":"166078:16:19","nodeType":"YulFunctionCall","src":"166078:16:19"},"nativeSrc":"166078:16:19","nodeType":"YulExpressionStatement","src":"166078:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"166114:4:19","nodeType":"YulLiteral","src":"166114:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"166120:2:19","nodeType":"YulIdentifier","src":"166120:2:19"}],"functionName":{"name":"mstore","nativeSrc":"166107:6:19","nodeType":"YulIdentifier","src":"166107:6:19"},"nativeSrc":"166107:16:19","nodeType":"YulFunctionCall","src":"166107:16:19"},"nativeSrc":"166107:16:19","nodeType":"YulExpressionStatement","src":"166107:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"166143:5:19","nodeType":"YulLiteral","src":"166143:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"166150:2:19","nodeType":"YulIdentifier","src":"166150:2:19"}],"functionName":{"name":"mstore","nativeSrc":"166136:6:19","nodeType":"YulIdentifier","src":"166136:6:19"},"nativeSrc":"166136:17:19","nodeType":"YulFunctionCall","src":"166136:17:19"},"nativeSrc":"166136:17:19","nodeType":"YulExpressionStatement","src":"166136:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31450,"isOffset":false,"isSlot":false,"src":"165917:2:19","valueSize":1},{"declaration":31453,"isOffset":false,"isSlot":false,"src":"165946:2:19","valueSize":1},{"declaration":31456,"isOffset":false,"isSlot":false,"src":"165975:2:19","valueSize":1},{"declaration":31459,"isOffset":false,"isSlot":false,"src":"166004:2:19","valueSize":1},{"declaration":31462,"isOffset":false,"isSlot":false,"src":"166033:2:19","valueSize":1},{"declaration":31465,"isOffset":false,"isSlot":false,"src":"166062:2:19","valueSize":1},{"declaration":31468,"isOffset":false,"isSlot":false,"src":"166091:2:19","valueSize":1},{"declaration":31471,"isOffset":false,"isSlot":false,"src":"166120:2:19","valueSize":1},{"declaration":31474,"isOffset":false,"isSlot":false,"src":"166150:2:19","valueSize":1}],"id":31482,"nodeType":"InlineAssembly","src":"165881:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"164562:3:19","parameters":{"id":31447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31440,"mutability":"mutable","name":"p0","nameLocation":"164574:2:19","nodeType":"VariableDeclaration","scope":31484,"src":"164566:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31439,"name":"address","nodeType":"ElementaryTypeName","src":"164566:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31442,"mutability":"mutable","name":"p1","nameLocation":"164586:2:19","nodeType":"VariableDeclaration","scope":31484,"src":"164578:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31441,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164578:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31444,"mutability":"mutable","name":"p2","nameLocation":"164598:2:19","nodeType":"VariableDeclaration","scope":31484,"src":"164590:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31443,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164590:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31446,"mutability":"mutable","name":"p3","nameLocation":"164607:2:19","nodeType":"VariableDeclaration","scope":31484,"src":"164602:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31445,"name":"bool","nodeType":"ElementaryTypeName","src":"164602:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"164565:45:19"},"returnParameters":{"id":31448,"nodeType":"ParameterList","parameters":[],"src":"164625:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31530,"nodeType":"FunctionDefinition","src":"166175:1622:19","nodes":[],"body":{"id":31529,"nodeType":"Block","src":"166250:1547:19","nodes":[],"statements":[{"assignments":[31496],"declarations":[{"constant":false,"id":31496,"mutability":"mutable","name":"m0","nameLocation":"166268:2:19","nodeType":"VariableDeclaration","scope":31529,"src":"166260:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31495,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166260:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31497,"nodeType":"VariableDeclarationStatement","src":"166260:10:19"},{"assignments":[31499],"declarations":[{"constant":false,"id":31499,"mutability":"mutable","name":"m1","nameLocation":"166288:2:19","nodeType":"VariableDeclaration","scope":31529,"src":"166280:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31498,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166280:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31500,"nodeType":"VariableDeclarationStatement","src":"166280:10:19"},{"assignments":[31502],"declarations":[{"constant":false,"id":31502,"mutability":"mutable","name":"m2","nameLocation":"166308:2:19","nodeType":"VariableDeclaration","scope":31529,"src":"166300:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31501,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166300:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31503,"nodeType":"VariableDeclarationStatement","src":"166300:10:19"},{"assignments":[31505],"declarations":[{"constant":false,"id":31505,"mutability":"mutable","name":"m3","nameLocation":"166328:2:19","nodeType":"VariableDeclaration","scope":31529,"src":"166320:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31504,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166320:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31506,"nodeType":"VariableDeclarationStatement","src":"166320:10:19"},{"assignments":[31508],"declarations":[{"constant":false,"id":31508,"mutability":"mutable","name":"m4","nameLocation":"166348:2:19","nodeType":"VariableDeclaration","scope":31529,"src":"166340:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31507,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166340:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31509,"nodeType":"VariableDeclarationStatement","src":"166340:10:19"},{"assignments":[31511],"declarations":[{"constant":false,"id":31511,"mutability":"mutable","name":"m5","nameLocation":"166368:2:19","nodeType":"VariableDeclaration","scope":31529,"src":"166360:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31510,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166360:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31512,"nodeType":"VariableDeclarationStatement","src":"166360:10:19"},{"assignments":[31514],"declarations":[{"constant":false,"id":31514,"mutability":"mutable","name":"m6","nameLocation":"166388:2:19","nodeType":"VariableDeclaration","scope":31529,"src":"166380:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31513,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166380:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31515,"nodeType":"VariableDeclarationStatement","src":"166380:10:19"},{"assignments":[31517],"declarations":[{"constant":false,"id":31517,"mutability":"mutable","name":"m7","nameLocation":"166408:2:19","nodeType":"VariableDeclaration","scope":31529,"src":"166400:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31516,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166400:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31518,"nodeType":"VariableDeclarationStatement","src":"166400:10:19"},{"assignments":[31520],"declarations":[{"constant":false,"id":31520,"mutability":"mutable","name":"m8","nameLocation":"166428:2:19","nodeType":"VariableDeclaration","scope":31529,"src":"166420:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31519,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166420:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31521,"nodeType":"VariableDeclarationStatement","src":"166420:10:19"},{"AST":{"nativeSrc":"166492:927:19","nodeType":"YulBlock","src":"166492:927:19","statements":[{"body":{"nativeSrc":"166535:313:19","nodeType":"YulBlock","src":"166535:313:19","statements":[{"nativeSrc":"166553:15:19","nodeType":"YulVariableDeclaration","src":"166553:15:19","value":{"kind":"number","nativeSrc":"166567:1:19","nodeType":"YulLiteral","src":"166567:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"166557:6:19","nodeType":"YulTypedName","src":"166557:6:19","type":""}]},{"body":{"nativeSrc":"166638:40:19","nodeType":"YulBlock","src":"166638:40:19","statements":[{"body":{"nativeSrc":"166667:9:19","nodeType":"YulBlock","src":"166667:9:19","statements":[{"nativeSrc":"166669:5:19","nodeType":"YulBreak","src":"166669:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"166655:6:19","nodeType":"YulIdentifier","src":"166655:6:19"},{"name":"w","nativeSrc":"166663:1:19","nodeType":"YulIdentifier","src":"166663:1:19"}],"functionName":{"name":"byte","nativeSrc":"166650:4:19","nodeType":"YulIdentifier","src":"166650:4:19"},"nativeSrc":"166650:15:19","nodeType":"YulFunctionCall","src":"166650:15:19"}],"functionName":{"name":"iszero","nativeSrc":"166643:6:19","nodeType":"YulIdentifier","src":"166643:6:19"},"nativeSrc":"166643:23:19","nodeType":"YulFunctionCall","src":"166643:23:19"},"nativeSrc":"166640:36:19","nodeType":"YulIf","src":"166640:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"166595:6:19","nodeType":"YulIdentifier","src":"166595:6:19"},{"kind":"number","nativeSrc":"166603:4:19","nodeType":"YulLiteral","src":"166603:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"166592:2:19","nodeType":"YulIdentifier","src":"166592:2:19"},"nativeSrc":"166592:16:19","nodeType":"YulFunctionCall","src":"166592:16:19"},"nativeSrc":"166585:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"166609:28:19","nodeType":"YulBlock","src":"166609:28:19","statements":[{"nativeSrc":"166611:24:19","nodeType":"YulAssignment","src":"166611:24:19","value":{"arguments":[{"name":"length","nativeSrc":"166625:6:19","nodeType":"YulIdentifier","src":"166625:6:19"},{"kind":"number","nativeSrc":"166633:1:19","nodeType":"YulLiteral","src":"166633:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"166621:3:19","nodeType":"YulIdentifier","src":"166621:3:19"},"nativeSrc":"166621:14:19","nodeType":"YulFunctionCall","src":"166621:14:19"},"variableNames":[{"name":"length","nativeSrc":"166611:6:19","nodeType":"YulIdentifier","src":"166611:6:19"}]}]},"pre":{"nativeSrc":"166589:2:19","nodeType":"YulBlock","src":"166589:2:19","statements":[]},"src":"166585:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"166702:3:19","nodeType":"YulIdentifier","src":"166702:3:19"},{"name":"length","nativeSrc":"166707:6:19","nodeType":"YulIdentifier","src":"166707:6:19"}],"functionName":{"name":"mstore","nativeSrc":"166695:6:19","nodeType":"YulIdentifier","src":"166695:6:19"},"nativeSrc":"166695:19:19","nodeType":"YulFunctionCall","src":"166695:19:19"},"nativeSrc":"166695:19:19","nodeType":"YulExpressionStatement","src":"166695:19:19"},{"nativeSrc":"166731:37:19","nodeType":"YulVariableDeclaration","src":"166731:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"166748:3:19","nodeType":"YulLiteral","src":"166748:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"166757:1:19","nodeType":"YulLiteral","src":"166757:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"166760:6:19","nodeType":"YulIdentifier","src":"166760:6:19"}],"functionName":{"name":"shl","nativeSrc":"166753:3:19","nodeType":"YulIdentifier","src":"166753:3:19"},"nativeSrc":"166753:14:19","nodeType":"YulFunctionCall","src":"166753:14:19"}],"functionName":{"name":"sub","nativeSrc":"166744:3:19","nodeType":"YulIdentifier","src":"166744:3:19"},"nativeSrc":"166744:24:19","nodeType":"YulFunctionCall","src":"166744:24:19"},"variables":[{"name":"shift","nativeSrc":"166735:5:19","nodeType":"YulTypedName","src":"166735:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"166796:3:19","nodeType":"YulIdentifier","src":"166796:3:19"},{"kind":"number","nativeSrc":"166801:4:19","nodeType":"YulLiteral","src":"166801:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"166792:3:19","nodeType":"YulIdentifier","src":"166792:3:19"},"nativeSrc":"166792:14:19","nodeType":"YulFunctionCall","src":"166792:14:19"},{"arguments":[{"name":"shift","nativeSrc":"166812:5:19","nodeType":"YulIdentifier","src":"166812:5:19"},{"arguments":[{"name":"shift","nativeSrc":"166823:5:19","nodeType":"YulIdentifier","src":"166823:5:19"},{"name":"w","nativeSrc":"166830:1:19","nodeType":"YulIdentifier","src":"166830:1:19"}],"functionName":{"name":"shr","nativeSrc":"166819:3:19","nodeType":"YulIdentifier","src":"166819:3:19"},"nativeSrc":"166819:13:19","nodeType":"YulFunctionCall","src":"166819:13:19"}],"functionName":{"name":"shl","nativeSrc":"166808:3:19","nodeType":"YulIdentifier","src":"166808:3:19"},"nativeSrc":"166808:25:19","nodeType":"YulFunctionCall","src":"166808:25:19"}],"functionName":{"name":"mstore","nativeSrc":"166785:6:19","nodeType":"YulIdentifier","src":"166785:6:19"},"nativeSrc":"166785:49:19","nodeType":"YulFunctionCall","src":"166785:49:19"},"nativeSrc":"166785:49:19","nodeType":"YulExpressionStatement","src":"166785:49:19"}]},"name":"writeString","nativeSrc":"166506:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"166527:3:19","nodeType":"YulTypedName","src":"166527:3:19","type":""},{"name":"w","nativeSrc":"166532:1:19","nodeType":"YulTypedName","src":"166532:1:19","type":""}],"src":"166506:342:19"},{"nativeSrc":"166861:17:19","nodeType":"YulAssignment","src":"166861:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"166873:4:19","nodeType":"YulLiteral","src":"166873:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"166867:5:19","nodeType":"YulIdentifier","src":"166867:5:19"},"nativeSrc":"166867:11:19","nodeType":"YulFunctionCall","src":"166867:11:19"},"variableNames":[{"name":"m0","nativeSrc":"166861:2:19","nodeType":"YulIdentifier","src":"166861:2:19"}]},{"nativeSrc":"166891:17:19","nodeType":"YulAssignment","src":"166891:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"166903:4:19","nodeType":"YulLiteral","src":"166903:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"166897:5:19","nodeType":"YulIdentifier","src":"166897:5:19"},"nativeSrc":"166897:11:19","nodeType":"YulFunctionCall","src":"166897:11:19"},"variableNames":[{"name":"m1","nativeSrc":"166891:2:19","nodeType":"YulIdentifier","src":"166891:2:19"}]},{"nativeSrc":"166921:17:19","nodeType":"YulAssignment","src":"166921:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"166933:4:19","nodeType":"YulLiteral","src":"166933:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"166927:5:19","nodeType":"YulIdentifier","src":"166927:5:19"},"nativeSrc":"166927:11:19","nodeType":"YulFunctionCall","src":"166927:11:19"},"variableNames":[{"name":"m2","nativeSrc":"166921:2:19","nodeType":"YulIdentifier","src":"166921:2:19"}]},{"nativeSrc":"166951:17:19","nodeType":"YulAssignment","src":"166951:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"166963:4:19","nodeType":"YulLiteral","src":"166963:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"166957:5:19","nodeType":"YulIdentifier","src":"166957:5:19"},"nativeSrc":"166957:11:19","nodeType":"YulFunctionCall","src":"166957:11:19"},"variableNames":[{"name":"m3","nativeSrc":"166951:2:19","nodeType":"YulIdentifier","src":"166951:2:19"}]},{"nativeSrc":"166981:17:19","nodeType":"YulAssignment","src":"166981:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"166993:4:19","nodeType":"YulLiteral","src":"166993:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"166987:5:19","nodeType":"YulIdentifier","src":"166987:5:19"},"nativeSrc":"166987:11:19","nodeType":"YulFunctionCall","src":"166987:11:19"},"variableNames":[{"name":"m4","nativeSrc":"166981:2:19","nodeType":"YulIdentifier","src":"166981:2:19"}]},{"nativeSrc":"167011:17:19","nodeType":"YulAssignment","src":"167011:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"167023:4:19","nodeType":"YulLiteral","src":"167023:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"167017:5:19","nodeType":"YulIdentifier","src":"167017:5:19"},"nativeSrc":"167017:11:19","nodeType":"YulFunctionCall","src":"167017:11:19"},"variableNames":[{"name":"m5","nativeSrc":"167011:2:19","nodeType":"YulIdentifier","src":"167011:2:19"}]},{"nativeSrc":"167041:17:19","nodeType":"YulAssignment","src":"167041:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"167053:4:19","nodeType":"YulLiteral","src":"167053:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"167047:5:19","nodeType":"YulIdentifier","src":"167047:5:19"},"nativeSrc":"167047:11:19","nodeType":"YulFunctionCall","src":"167047:11:19"},"variableNames":[{"name":"m6","nativeSrc":"167041:2:19","nodeType":"YulIdentifier","src":"167041:2:19"}]},{"nativeSrc":"167071:17:19","nodeType":"YulAssignment","src":"167071:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"167083:4:19","nodeType":"YulLiteral","src":"167083:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"167077:5:19","nodeType":"YulIdentifier","src":"167077:5:19"},"nativeSrc":"167077:11:19","nodeType":"YulFunctionCall","src":"167077:11:19"},"variableNames":[{"name":"m7","nativeSrc":"167071:2:19","nodeType":"YulIdentifier","src":"167071:2:19"}]},{"nativeSrc":"167101:18:19","nodeType":"YulAssignment","src":"167101:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"167113:5:19","nodeType":"YulLiteral","src":"167113:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"167107:5:19","nodeType":"YulIdentifier","src":"167107:5:19"},"nativeSrc":"167107:12:19","nodeType":"YulFunctionCall","src":"167107:12:19"},"variableNames":[{"name":"m8","nativeSrc":"167101:2:19","nodeType":"YulIdentifier","src":"167101:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167204:4:19","nodeType":"YulLiteral","src":"167204:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"167210:10:19","nodeType":"YulLiteral","src":"167210:10:19","type":"","value":"0x159f8927"}],"functionName":{"name":"mstore","nativeSrc":"167197:6:19","nodeType":"YulIdentifier","src":"167197:6:19"},"nativeSrc":"167197:24:19","nodeType":"YulFunctionCall","src":"167197:24:19"},"nativeSrc":"167197:24:19","nodeType":"YulExpressionStatement","src":"167197:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167241:4:19","nodeType":"YulLiteral","src":"167241:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"167247:2:19","nodeType":"YulIdentifier","src":"167247:2:19"}],"functionName":{"name":"mstore","nativeSrc":"167234:6:19","nodeType":"YulIdentifier","src":"167234:6:19"},"nativeSrc":"167234:16:19","nodeType":"YulFunctionCall","src":"167234:16:19"},"nativeSrc":"167234:16:19","nodeType":"YulExpressionStatement","src":"167234:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167270:4:19","nodeType":"YulLiteral","src":"167270:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"167276:4:19","nodeType":"YulLiteral","src":"167276:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"167263:6:19","nodeType":"YulIdentifier","src":"167263:6:19"},"nativeSrc":"167263:18:19","nodeType":"YulFunctionCall","src":"167263:18:19"},"nativeSrc":"167263:18:19","nodeType":"YulExpressionStatement","src":"167263:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167301:4:19","nodeType":"YulLiteral","src":"167301:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"167307:4:19","nodeType":"YulLiteral","src":"167307:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"167294:6:19","nodeType":"YulIdentifier","src":"167294:6:19"},"nativeSrc":"167294:18:19","nodeType":"YulFunctionCall","src":"167294:18:19"},"nativeSrc":"167294:18:19","nodeType":"YulExpressionStatement","src":"167294:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167332:4:19","nodeType":"YulLiteral","src":"167332:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"167338:2:19","nodeType":"YulIdentifier","src":"167338:2:19"}],"functionName":{"name":"mstore","nativeSrc":"167325:6:19","nodeType":"YulIdentifier","src":"167325:6:19"},"nativeSrc":"167325:16:19","nodeType":"YulFunctionCall","src":"167325:16:19"},"nativeSrc":"167325:16:19","nodeType":"YulExpressionStatement","src":"167325:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167366:4:19","nodeType":"YulLiteral","src":"167366:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"167372:2:19","nodeType":"YulIdentifier","src":"167372:2:19"}],"functionName":{"name":"writeString","nativeSrc":"167354:11:19","nodeType":"YulIdentifier","src":"167354:11:19"},"nativeSrc":"167354:21:19","nodeType":"YulFunctionCall","src":"167354:21:19"},"nativeSrc":"167354:21:19","nodeType":"YulExpressionStatement","src":"167354:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167400:4:19","nodeType":"YulLiteral","src":"167400:4:19","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"167406:2:19","nodeType":"YulIdentifier","src":"167406:2:19"}],"functionName":{"name":"writeString","nativeSrc":"167388:11:19","nodeType":"YulIdentifier","src":"167388:11:19"},"nativeSrc":"167388:21:19","nodeType":"YulFunctionCall","src":"167388:21:19"},"nativeSrc":"167388:21:19","nodeType":"YulExpressionStatement","src":"167388:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31496,"isOffset":false,"isSlot":false,"src":"166861:2:19","valueSize":1},{"declaration":31499,"isOffset":false,"isSlot":false,"src":"166891:2:19","valueSize":1},{"declaration":31502,"isOffset":false,"isSlot":false,"src":"166921:2:19","valueSize":1},{"declaration":31505,"isOffset":false,"isSlot":false,"src":"166951:2:19","valueSize":1},{"declaration":31508,"isOffset":false,"isSlot":false,"src":"166981:2:19","valueSize":1},{"declaration":31511,"isOffset":false,"isSlot":false,"src":"167011:2:19","valueSize":1},{"declaration":31514,"isOffset":false,"isSlot":false,"src":"167041:2:19","valueSize":1},{"declaration":31517,"isOffset":false,"isSlot":false,"src":"167071:2:19","valueSize":1},{"declaration":31520,"isOffset":false,"isSlot":false,"src":"167101:2:19","valueSize":1},{"declaration":31486,"isOffset":false,"isSlot":false,"src":"167247:2:19","valueSize":1},{"declaration":31488,"isOffset":false,"isSlot":false,"src":"167372:2:19","valueSize":1},{"declaration":31490,"isOffset":false,"isSlot":false,"src":"167406:2:19","valueSize":1},{"declaration":31492,"isOffset":false,"isSlot":false,"src":"167338:2:19","valueSize":1}],"id":31522,"nodeType":"InlineAssembly","src":"166483:936:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"167444:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":31525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"167450:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":31523,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"167428:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"167428:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31527,"nodeType":"ExpressionStatement","src":"167428:28:19"},{"AST":{"nativeSrc":"167518:273:19","nodeType":"YulBlock","src":"167518:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"167539:4:19","nodeType":"YulLiteral","src":"167539:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"167545:2:19","nodeType":"YulIdentifier","src":"167545:2:19"}],"functionName":{"name":"mstore","nativeSrc":"167532:6:19","nodeType":"YulIdentifier","src":"167532:6:19"},"nativeSrc":"167532:16:19","nodeType":"YulFunctionCall","src":"167532:16:19"},"nativeSrc":"167532:16:19","nodeType":"YulExpressionStatement","src":"167532:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167568:4:19","nodeType":"YulLiteral","src":"167568:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"167574:2:19","nodeType":"YulIdentifier","src":"167574:2:19"}],"functionName":{"name":"mstore","nativeSrc":"167561:6:19","nodeType":"YulIdentifier","src":"167561:6:19"},"nativeSrc":"167561:16:19","nodeType":"YulFunctionCall","src":"167561:16:19"},"nativeSrc":"167561:16:19","nodeType":"YulExpressionStatement","src":"167561:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167597:4:19","nodeType":"YulLiteral","src":"167597:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"167603:2:19","nodeType":"YulIdentifier","src":"167603:2:19"}],"functionName":{"name":"mstore","nativeSrc":"167590:6:19","nodeType":"YulIdentifier","src":"167590:6:19"},"nativeSrc":"167590:16:19","nodeType":"YulFunctionCall","src":"167590:16:19"},"nativeSrc":"167590:16:19","nodeType":"YulExpressionStatement","src":"167590:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167626:4:19","nodeType":"YulLiteral","src":"167626:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"167632:2:19","nodeType":"YulIdentifier","src":"167632:2:19"}],"functionName":{"name":"mstore","nativeSrc":"167619:6:19","nodeType":"YulIdentifier","src":"167619:6:19"},"nativeSrc":"167619:16:19","nodeType":"YulFunctionCall","src":"167619:16:19"},"nativeSrc":"167619:16:19","nodeType":"YulExpressionStatement","src":"167619:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167655:4:19","nodeType":"YulLiteral","src":"167655:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"167661:2:19","nodeType":"YulIdentifier","src":"167661:2:19"}],"functionName":{"name":"mstore","nativeSrc":"167648:6:19","nodeType":"YulIdentifier","src":"167648:6:19"},"nativeSrc":"167648:16:19","nodeType":"YulFunctionCall","src":"167648:16:19"},"nativeSrc":"167648:16:19","nodeType":"YulExpressionStatement","src":"167648:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167684:4:19","nodeType":"YulLiteral","src":"167684:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"167690:2:19","nodeType":"YulIdentifier","src":"167690:2:19"}],"functionName":{"name":"mstore","nativeSrc":"167677:6:19","nodeType":"YulIdentifier","src":"167677:6:19"},"nativeSrc":"167677:16:19","nodeType":"YulFunctionCall","src":"167677:16:19"},"nativeSrc":"167677:16:19","nodeType":"YulExpressionStatement","src":"167677:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167713:4:19","nodeType":"YulLiteral","src":"167713:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"167719:2:19","nodeType":"YulIdentifier","src":"167719:2:19"}],"functionName":{"name":"mstore","nativeSrc":"167706:6:19","nodeType":"YulIdentifier","src":"167706:6:19"},"nativeSrc":"167706:16:19","nodeType":"YulFunctionCall","src":"167706:16:19"},"nativeSrc":"167706:16:19","nodeType":"YulExpressionStatement","src":"167706:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167742:4:19","nodeType":"YulLiteral","src":"167742:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"167748:2:19","nodeType":"YulIdentifier","src":"167748:2:19"}],"functionName":{"name":"mstore","nativeSrc":"167735:6:19","nodeType":"YulIdentifier","src":"167735:6:19"},"nativeSrc":"167735:16:19","nodeType":"YulFunctionCall","src":"167735:16:19"},"nativeSrc":"167735:16:19","nodeType":"YulExpressionStatement","src":"167735:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"167771:5:19","nodeType":"YulLiteral","src":"167771:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"167778:2:19","nodeType":"YulIdentifier","src":"167778:2:19"}],"functionName":{"name":"mstore","nativeSrc":"167764:6:19","nodeType":"YulIdentifier","src":"167764:6:19"},"nativeSrc":"167764:17:19","nodeType":"YulFunctionCall","src":"167764:17:19"},"nativeSrc":"167764:17:19","nodeType":"YulExpressionStatement","src":"167764:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31496,"isOffset":false,"isSlot":false,"src":"167545:2:19","valueSize":1},{"declaration":31499,"isOffset":false,"isSlot":false,"src":"167574:2:19","valueSize":1},{"declaration":31502,"isOffset":false,"isSlot":false,"src":"167603:2:19","valueSize":1},{"declaration":31505,"isOffset":false,"isSlot":false,"src":"167632:2:19","valueSize":1},{"declaration":31508,"isOffset":false,"isSlot":false,"src":"167661:2:19","valueSize":1},{"declaration":31511,"isOffset":false,"isSlot":false,"src":"167690:2:19","valueSize":1},{"declaration":31514,"isOffset":false,"isSlot":false,"src":"167719:2:19","valueSize":1},{"declaration":31517,"isOffset":false,"isSlot":false,"src":"167748:2:19","valueSize":1},{"declaration":31520,"isOffset":false,"isSlot":false,"src":"167778:2:19","valueSize":1}],"id":31528,"nodeType":"InlineAssembly","src":"167509:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"166184:3:19","parameters":{"id":31493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31486,"mutability":"mutable","name":"p0","nameLocation":"166196:2:19","nodeType":"VariableDeclaration","scope":31530,"src":"166188:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31485,"name":"address","nodeType":"ElementaryTypeName","src":"166188:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31488,"mutability":"mutable","name":"p1","nameLocation":"166208:2:19","nodeType":"VariableDeclaration","scope":31530,"src":"166200:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31487,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166200:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31490,"mutability":"mutable","name":"p2","nameLocation":"166220:2:19","nodeType":"VariableDeclaration","scope":31530,"src":"166212:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31489,"name":"bytes32","nodeType":"ElementaryTypeName","src":"166212:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31492,"mutability":"mutable","name":"p3","nameLocation":"166232:2:19","nodeType":"VariableDeclaration","scope":31530,"src":"166224:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31491,"name":"uint256","nodeType":"ElementaryTypeName","src":"166224:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"166187:48:19"},"returnParameters":{"id":31494,"nodeType":"ParameterList","parameters":[],"src":"166250:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31582,"nodeType":"FunctionDefinition","src":"167803:1824:19","nodes":[],"body":{"id":31581,"nodeType":"Block","src":"167878:1749:19","nodes":[],"statements":[{"assignments":[31542],"declarations":[{"constant":false,"id":31542,"mutability":"mutable","name":"m0","nameLocation":"167896:2:19","nodeType":"VariableDeclaration","scope":31581,"src":"167888:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31541,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167888:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31543,"nodeType":"VariableDeclarationStatement","src":"167888:10:19"},{"assignments":[31545],"declarations":[{"constant":false,"id":31545,"mutability":"mutable","name":"m1","nameLocation":"167916:2:19","nodeType":"VariableDeclaration","scope":31581,"src":"167908:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31544,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167908:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31546,"nodeType":"VariableDeclarationStatement","src":"167908:10:19"},{"assignments":[31548],"declarations":[{"constant":false,"id":31548,"mutability":"mutable","name":"m2","nameLocation":"167936:2:19","nodeType":"VariableDeclaration","scope":31581,"src":"167928:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31547,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167928:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31549,"nodeType":"VariableDeclarationStatement","src":"167928:10:19"},{"assignments":[31551],"declarations":[{"constant":false,"id":31551,"mutability":"mutable","name":"m3","nameLocation":"167956:2:19","nodeType":"VariableDeclaration","scope":31581,"src":"167948:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31550,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167948:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31552,"nodeType":"VariableDeclarationStatement","src":"167948:10:19"},{"assignments":[31554],"declarations":[{"constant":false,"id":31554,"mutability":"mutable","name":"m4","nameLocation":"167976:2:19","nodeType":"VariableDeclaration","scope":31581,"src":"167968:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31553,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167968:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31555,"nodeType":"VariableDeclarationStatement","src":"167968:10:19"},{"assignments":[31557],"declarations":[{"constant":false,"id":31557,"mutability":"mutable","name":"m5","nameLocation":"167996:2:19","nodeType":"VariableDeclaration","scope":31581,"src":"167988:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31556,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167988:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31558,"nodeType":"VariableDeclarationStatement","src":"167988:10:19"},{"assignments":[31560],"declarations":[{"constant":false,"id":31560,"mutability":"mutable","name":"m6","nameLocation":"168016:2:19","nodeType":"VariableDeclaration","scope":31581,"src":"168008:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31559,"name":"bytes32","nodeType":"ElementaryTypeName","src":"168008:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31561,"nodeType":"VariableDeclarationStatement","src":"168008:10:19"},{"assignments":[31563],"declarations":[{"constant":false,"id":31563,"mutability":"mutable","name":"m7","nameLocation":"168036:2:19","nodeType":"VariableDeclaration","scope":31581,"src":"168028:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31562,"name":"bytes32","nodeType":"ElementaryTypeName","src":"168028:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31564,"nodeType":"VariableDeclarationStatement","src":"168028:10:19"},{"assignments":[31566],"declarations":[{"constant":false,"id":31566,"mutability":"mutable","name":"m8","nameLocation":"168056:2:19","nodeType":"VariableDeclaration","scope":31581,"src":"168048:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31565,"name":"bytes32","nodeType":"ElementaryTypeName","src":"168048:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31567,"nodeType":"VariableDeclarationStatement","src":"168048:10:19"},{"assignments":[31569],"declarations":[{"constant":false,"id":31569,"mutability":"mutable","name":"m9","nameLocation":"168076:2:19","nodeType":"VariableDeclaration","scope":31581,"src":"168068:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31568,"name":"bytes32","nodeType":"ElementaryTypeName","src":"168068:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31570,"nodeType":"VariableDeclarationStatement","src":"168068:10:19"},{"assignments":[31572],"declarations":[{"constant":false,"id":31572,"mutability":"mutable","name":"m10","nameLocation":"168096:3:19","nodeType":"VariableDeclaration","scope":31581,"src":"168088:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31571,"name":"bytes32","nodeType":"ElementaryTypeName","src":"168088:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31573,"nodeType":"VariableDeclarationStatement","src":"168088:11:19"},{"AST":{"nativeSrc":"168161:1027:19","nodeType":"YulBlock","src":"168161:1027:19","statements":[{"body":{"nativeSrc":"168204:313:19","nodeType":"YulBlock","src":"168204:313:19","statements":[{"nativeSrc":"168222:15:19","nodeType":"YulVariableDeclaration","src":"168222:15:19","value":{"kind":"number","nativeSrc":"168236:1:19","nodeType":"YulLiteral","src":"168236:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"168226:6:19","nodeType":"YulTypedName","src":"168226:6:19","type":""}]},{"body":{"nativeSrc":"168307:40:19","nodeType":"YulBlock","src":"168307:40:19","statements":[{"body":{"nativeSrc":"168336:9:19","nodeType":"YulBlock","src":"168336:9:19","statements":[{"nativeSrc":"168338:5:19","nodeType":"YulBreak","src":"168338:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"168324:6:19","nodeType":"YulIdentifier","src":"168324:6:19"},{"name":"w","nativeSrc":"168332:1:19","nodeType":"YulIdentifier","src":"168332:1:19"}],"functionName":{"name":"byte","nativeSrc":"168319:4:19","nodeType":"YulIdentifier","src":"168319:4:19"},"nativeSrc":"168319:15:19","nodeType":"YulFunctionCall","src":"168319:15:19"}],"functionName":{"name":"iszero","nativeSrc":"168312:6:19","nodeType":"YulIdentifier","src":"168312:6:19"},"nativeSrc":"168312:23:19","nodeType":"YulFunctionCall","src":"168312:23:19"},"nativeSrc":"168309:36:19","nodeType":"YulIf","src":"168309:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"168264:6:19","nodeType":"YulIdentifier","src":"168264:6:19"},{"kind":"number","nativeSrc":"168272:4:19","nodeType":"YulLiteral","src":"168272:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"168261:2:19","nodeType":"YulIdentifier","src":"168261:2:19"},"nativeSrc":"168261:16:19","nodeType":"YulFunctionCall","src":"168261:16:19"},"nativeSrc":"168254:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"168278:28:19","nodeType":"YulBlock","src":"168278:28:19","statements":[{"nativeSrc":"168280:24:19","nodeType":"YulAssignment","src":"168280:24:19","value":{"arguments":[{"name":"length","nativeSrc":"168294:6:19","nodeType":"YulIdentifier","src":"168294:6:19"},{"kind":"number","nativeSrc":"168302:1:19","nodeType":"YulLiteral","src":"168302:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"168290:3:19","nodeType":"YulIdentifier","src":"168290:3:19"},"nativeSrc":"168290:14:19","nodeType":"YulFunctionCall","src":"168290:14:19"},"variableNames":[{"name":"length","nativeSrc":"168280:6:19","nodeType":"YulIdentifier","src":"168280:6:19"}]}]},"pre":{"nativeSrc":"168258:2:19","nodeType":"YulBlock","src":"168258:2:19","statements":[]},"src":"168254:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"168371:3:19","nodeType":"YulIdentifier","src":"168371:3:19"},{"name":"length","nativeSrc":"168376:6:19","nodeType":"YulIdentifier","src":"168376:6:19"}],"functionName":{"name":"mstore","nativeSrc":"168364:6:19","nodeType":"YulIdentifier","src":"168364:6:19"},"nativeSrc":"168364:19:19","nodeType":"YulFunctionCall","src":"168364:19:19"},"nativeSrc":"168364:19:19","nodeType":"YulExpressionStatement","src":"168364:19:19"},{"nativeSrc":"168400:37:19","nodeType":"YulVariableDeclaration","src":"168400:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"168417:3:19","nodeType":"YulLiteral","src":"168417:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"168426:1:19","nodeType":"YulLiteral","src":"168426:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"168429:6:19","nodeType":"YulIdentifier","src":"168429:6:19"}],"functionName":{"name":"shl","nativeSrc":"168422:3:19","nodeType":"YulIdentifier","src":"168422:3:19"},"nativeSrc":"168422:14:19","nodeType":"YulFunctionCall","src":"168422:14:19"}],"functionName":{"name":"sub","nativeSrc":"168413:3:19","nodeType":"YulIdentifier","src":"168413:3:19"},"nativeSrc":"168413:24:19","nodeType":"YulFunctionCall","src":"168413:24:19"},"variables":[{"name":"shift","nativeSrc":"168404:5:19","nodeType":"YulTypedName","src":"168404:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"168465:3:19","nodeType":"YulIdentifier","src":"168465:3:19"},{"kind":"number","nativeSrc":"168470:4:19","nodeType":"YulLiteral","src":"168470:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"168461:3:19","nodeType":"YulIdentifier","src":"168461:3:19"},"nativeSrc":"168461:14:19","nodeType":"YulFunctionCall","src":"168461:14:19"},{"arguments":[{"name":"shift","nativeSrc":"168481:5:19","nodeType":"YulIdentifier","src":"168481:5:19"},{"arguments":[{"name":"shift","nativeSrc":"168492:5:19","nodeType":"YulIdentifier","src":"168492:5:19"},{"name":"w","nativeSrc":"168499:1:19","nodeType":"YulIdentifier","src":"168499:1:19"}],"functionName":{"name":"shr","nativeSrc":"168488:3:19","nodeType":"YulIdentifier","src":"168488:3:19"},"nativeSrc":"168488:13:19","nodeType":"YulFunctionCall","src":"168488:13:19"}],"functionName":{"name":"shl","nativeSrc":"168477:3:19","nodeType":"YulIdentifier","src":"168477:3:19"},"nativeSrc":"168477:25:19","nodeType":"YulFunctionCall","src":"168477:25:19"}],"functionName":{"name":"mstore","nativeSrc":"168454:6:19","nodeType":"YulIdentifier","src":"168454:6:19"},"nativeSrc":"168454:49:19","nodeType":"YulFunctionCall","src":"168454:49:19"},"nativeSrc":"168454:49:19","nodeType":"YulExpressionStatement","src":"168454:49:19"}]},"name":"writeString","nativeSrc":"168175:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"168196:3:19","nodeType":"YulTypedName","src":"168196:3:19","type":""},{"name":"w","nativeSrc":"168201:1:19","nodeType":"YulTypedName","src":"168201:1:19","type":""}],"src":"168175:342:19"},{"nativeSrc":"168530:17:19","nodeType":"YulAssignment","src":"168530:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"168542:4:19","nodeType":"YulLiteral","src":"168542:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"168536:5:19","nodeType":"YulIdentifier","src":"168536:5:19"},"nativeSrc":"168536:11:19","nodeType":"YulFunctionCall","src":"168536:11:19"},"variableNames":[{"name":"m0","nativeSrc":"168530:2:19","nodeType":"YulIdentifier","src":"168530:2:19"}]},{"nativeSrc":"168560:17:19","nodeType":"YulAssignment","src":"168560:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"168572:4:19","nodeType":"YulLiteral","src":"168572:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"168566:5:19","nodeType":"YulIdentifier","src":"168566:5:19"},"nativeSrc":"168566:11:19","nodeType":"YulFunctionCall","src":"168566:11:19"},"variableNames":[{"name":"m1","nativeSrc":"168560:2:19","nodeType":"YulIdentifier","src":"168560:2:19"}]},{"nativeSrc":"168590:17:19","nodeType":"YulAssignment","src":"168590:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"168602:4:19","nodeType":"YulLiteral","src":"168602:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"168596:5:19","nodeType":"YulIdentifier","src":"168596:5:19"},"nativeSrc":"168596:11:19","nodeType":"YulFunctionCall","src":"168596:11:19"},"variableNames":[{"name":"m2","nativeSrc":"168590:2:19","nodeType":"YulIdentifier","src":"168590:2:19"}]},{"nativeSrc":"168620:17:19","nodeType":"YulAssignment","src":"168620:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"168632:4:19","nodeType":"YulLiteral","src":"168632:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"168626:5:19","nodeType":"YulIdentifier","src":"168626:5:19"},"nativeSrc":"168626:11:19","nodeType":"YulFunctionCall","src":"168626:11:19"},"variableNames":[{"name":"m3","nativeSrc":"168620:2:19","nodeType":"YulIdentifier","src":"168620:2:19"}]},{"nativeSrc":"168650:17:19","nodeType":"YulAssignment","src":"168650:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"168662:4:19","nodeType":"YulLiteral","src":"168662:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"168656:5:19","nodeType":"YulIdentifier","src":"168656:5:19"},"nativeSrc":"168656:11:19","nodeType":"YulFunctionCall","src":"168656:11:19"},"variableNames":[{"name":"m4","nativeSrc":"168650:2:19","nodeType":"YulIdentifier","src":"168650:2:19"}]},{"nativeSrc":"168680:17:19","nodeType":"YulAssignment","src":"168680:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"168692:4:19","nodeType":"YulLiteral","src":"168692:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"168686:5:19","nodeType":"YulIdentifier","src":"168686:5:19"},"nativeSrc":"168686:11:19","nodeType":"YulFunctionCall","src":"168686:11:19"},"variableNames":[{"name":"m5","nativeSrc":"168680:2:19","nodeType":"YulIdentifier","src":"168680:2:19"}]},{"nativeSrc":"168710:17:19","nodeType":"YulAssignment","src":"168710:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"168722:4:19","nodeType":"YulLiteral","src":"168722:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"168716:5:19","nodeType":"YulIdentifier","src":"168716:5:19"},"nativeSrc":"168716:11:19","nodeType":"YulFunctionCall","src":"168716:11:19"},"variableNames":[{"name":"m6","nativeSrc":"168710:2:19","nodeType":"YulIdentifier","src":"168710:2:19"}]},{"nativeSrc":"168740:17:19","nodeType":"YulAssignment","src":"168740:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"168752:4:19","nodeType":"YulLiteral","src":"168752:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"168746:5:19","nodeType":"YulIdentifier","src":"168746:5:19"},"nativeSrc":"168746:11:19","nodeType":"YulFunctionCall","src":"168746:11:19"},"variableNames":[{"name":"m7","nativeSrc":"168740:2:19","nodeType":"YulIdentifier","src":"168740:2:19"}]},{"nativeSrc":"168770:18:19","nodeType":"YulAssignment","src":"168770:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"168782:5:19","nodeType":"YulLiteral","src":"168782:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"168776:5:19","nodeType":"YulIdentifier","src":"168776:5:19"},"nativeSrc":"168776:12:19","nodeType":"YulFunctionCall","src":"168776:12:19"},"variableNames":[{"name":"m8","nativeSrc":"168770:2:19","nodeType":"YulIdentifier","src":"168770:2:19"}]},{"nativeSrc":"168801:18:19","nodeType":"YulAssignment","src":"168801:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"168813:5:19","nodeType":"YulLiteral","src":"168813:5:19","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"168807:5:19","nodeType":"YulIdentifier","src":"168807:5:19"},"nativeSrc":"168807:12:19","nodeType":"YulFunctionCall","src":"168807:12:19"},"variableNames":[{"name":"m9","nativeSrc":"168801:2:19","nodeType":"YulIdentifier","src":"168801:2:19"}]},{"nativeSrc":"168832:19:19","nodeType":"YulAssignment","src":"168832:19:19","value":{"arguments":[{"kind":"number","nativeSrc":"168845:5:19","nodeType":"YulLiteral","src":"168845:5:19","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"168839:5:19","nodeType":"YulIdentifier","src":"168839:5:19"},"nativeSrc":"168839:12:19","nodeType":"YulFunctionCall","src":"168839:12:19"},"variableNames":[{"name":"m10","nativeSrc":"168832:3:19","nodeType":"YulIdentifier","src":"168832:3:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"168935:4:19","nodeType":"YulLiteral","src":"168935:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"168941:10:19","nodeType":"YulLiteral","src":"168941:10:19","type":"","value":"0x5d02c50b"}],"functionName":{"name":"mstore","nativeSrc":"168928:6:19","nodeType":"YulIdentifier","src":"168928:6:19"},"nativeSrc":"168928:24:19","nodeType":"YulFunctionCall","src":"168928:24:19"},"nativeSrc":"168928:24:19","nodeType":"YulExpressionStatement","src":"168928:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"168972:4:19","nodeType":"YulLiteral","src":"168972:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"168978:2:19","nodeType":"YulIdentifier","src":"168978:2:19"}],"functionName":{"name":"mstore","nativeSrc":"168965:6:19","nodeType":"YulIdentifier","src":"168965:6:19"},"nativeSrc":"168965:16:19","nodeType":"YulFunctionCall","src":"168965:16:19"},"nativeSrc":"168965:16:19","nodeType":"YulExpressionStatement","src":"168965:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169001:4:19","nodeType":"YulLiteral","src":"169001:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"169007:4:19","nodeType":"YulLiteral","src":"169007:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"168994:6:19","nodeType":"YulIdentifier","src":"168994:6:19"},"nativeSrc":"168994:18:19","nodeType":"YulFunctionCall","src":"168994:18:19"},"nativeSrc":"168994:18:19","nodeType":"YulExpressionStatement","src":"168994:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169032:4:19","nodeType":"YulLiteral","src":"169032:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"169038:4:19","nodeType":"YulLiteral","src":"169038:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"169025:6:19","nodeType":"YulIdentifier","src":"169025:6:19"},"nativeSrc":"169025:18:19","nodeType":"YulFunctionCall","src":"169025:18:19"},"nativeSrc":"169025:18:19","nodeType":"YulExpressionStatement","src":"169025:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169063:4:19","nodeType":"YulLiteral","src":"169063:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"169069:5:19","nodeType":"YulLiteral","src":"169069:5:19","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"169056:6:19","nodeType":"YulIdentifier","src":"169056:6:19"},"nativeSrc":"169056:19:19","nodeType":"YulFunctionCall","src":"169056:19:19"},"nativeSrc":"169056:19:19","nodeType":"YulExpressionStatement","src":"169056:19:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169100:4:19","nodeType":"YulLiteral","src":"169100:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"169106:2:19","nodeType":"YulIdentifier","src":"169106:2:19"}],"functionName":{"name":"writeString","nativeSrc":"169088:11:19","nodeType":"YulIdentifier","src":"169088:11:19"},"nativeSrc":"169088:21:19","nodeType":"YulFunctionCall","src":"169088:21:19"},"nativeSrc":"169088:21:19","nodeType":"YulExpressionStatement","src":"169088:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169134:4:19","nodeType":"YulLiteral","src":"169134:4:19","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"169140:2:19","nodeType":"YulIdentifier","src":"169140:2:19"}],"functionName":{"name":"writeString","nativeSrc":"169122:11:19","nodeType":"YulIdentifier","src":"169122:11:19"},"nativeSrc":"169122:21:19","nodeType":"YulFunctionCall","src":"169122:21:19"},"nativeSrc":"169122:21:19","nodeType":"YulExpressionStatement","src":"169122:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169168:5:19","nodeType":"YulLiteral","src":"169168:5:19","type":"","value":"0x120"},{"name":"p3","nativeSrc":"169175:2:19","nodeType":"YulIdentifier","src":"169175:2:19"}],"functionName":{"name":"writeString","nativeSrc":"169156:11:19","nodeType":"YulIdentifier","src":"169156:11:19"},"nativeSrc":"169156:22:19","nodeType":"YulFunctionCall","src":"169156:22:19"},"nativeSrc":"169156:22:19","nodeType":"YulExpressionStatement","src":"169156:22:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31542,"isOffset":false,"isSlot":false,"src":"168530:2:19","valueSize":1},{"declaration":31545,"isOffset":false,"isSlot":false,"src":"168560:2:19","valueSize":1},{"declaration":31572,"isOffset":false,"isSlot":false,"src":"168832:3:19","valueSize":1},{"declaration":31548,"isOffset":false,"isSlot":false,"src":"168590:2:19","valueSize":1},{"declaration":31551,"isOffset":false,"isSlot":false,"src":"168620:2:19","valueSize":1},{"declaration":31554,"isOffset":false,"isSlot":false,"src":"168650:2:19","valueSize":1},{"declaration":31557,"isOffset":false,"isSlot":false,"src":"168680:2:19","valueSize":1},{"declaration":31560,"isOffset":false,"isSlot":false,"src":"168710:2:19","valueSize":1},{"declaration":31563,"isOffset":false,"isSlot":false,"src":"168740:2:19","valueSize":1},{"declaration":31566,"isOffset":false,"isSlot":false,"src":"168770:2:19","valueSize":1},{"declaration":31569,"isOffset":false,"isSlot":false,"src":"168801:2:19","valueSize":1},{"declaration":31532,"isOffset":false,"isSlot":false,"src":"168978:2:19","valueSize":1},{"declaration":31534,"isOffset":false,"isSlot":false,"src":"169106:2:19","valueSize":1},{"declaration":31536,"isOffset":false,"isSlot":false,"src":"169140:2:19","valueSize":1},{"declaration":31538,"isOffset":false,"isSlot":false,"src":"169175:2:19","valueSize":1}],"id":31574,"nodeType":"InlineAssembly","src":"168152:1036:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"169213:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":31577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"169219:5:19","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"0x144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"}],"id":31575,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"169197:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"169197:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31579,"nodeType":"ExpressionStatement","src":"169197:28:19"},{"AST":{"nativeSrc":"169287:334:19","nodeType":"YulBlock","src":"169287:334:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"169308:4:19","nodeType":"YulLiteral","src":"169308:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"169314:2:19","nodeType":"YulIdentifier","src":"169314:2:19"}],"functionName":{"name":"mstore","nativeSrc":"169301:6:19","nodeType":"YulIdentifier","src":"169301:6:19"},"nativeSrc":"169301:16:19","nodeType":"YulFunctionCall","src":"169301:16:19"},"nativeSrc":"169301:16:19","nodeType":"YulExpressionStatement","src":"169301:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169337:4:19","nodeType":"YulLiteral","src":"169337:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"169343:2:19","nodeType":"YulIdentifier","src":"169343:2:19"}],"functionName":{"name":"mstore","nativeSrc":"169330:6:19","nodeType":"YulIdentifier","src":"169330:6:19"},"nativeSrc":"169330:16:19","nodeType":"YulFunctionCall","src":"169330:16:19"},"nativeSrc":"169330:16:19","nodeType":"YulExpressionStatement","src":"169330:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169366:4:19","nodeType":"YulLiteral","src":"169366:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"169372:2:19","nodeType":"YulIdentifier","src":"169372:2:19"}],"functionName":{"name":"mstore","nativeSrc":"169359:6:19","nodeType":"YulIdentifier","src":"169359:6:19"},"nativeSrc":"169359:16:19","nodeType":"YulFunctionCall","src":"169359:16:19"},"nativeSrc":"169359:16:19","nodeType":"YulExpressionStatement","src":"169359:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169395:4:19","nodeType":"YulLiteral","src":"169395:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"169401:2:19","nodeType":"YulIdentifier","src":"169401:2:19"}],"functionName":{"name":"mstore","nativeSrc":"169388:6:19","nodeType":"YulIdentifier","src":"169388:6:19"},"nativeSrc":"169388:16:19","nodeType":"YulFunctionCall","src":"169388:16:19"},"nativeSrc":"169388:16:19","nodeType":"YulExpressionStatement","src":"169388:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169424:4:19","nodeType":"YulLiteral","src":"169424:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"169430:2:19","nodeType":"YulIdentifier","src":"169430:2:19"}],"functionName":{"name":"mstore","nativeSrc":"169417:6:19","nodeType":"YulIdentifier","src":"169417:6:19"},"nativeSrc":"169417:16:19","nodeType":"YulFunctionCall","src":"169417:16:19"},"nativeSrc":"169417:16:19","nodeType":"YulExpressionStatement","src":"169417:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169453:4:19","nodeType":"YulLiteral","src":"169453:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"169459:2:19","nodeType":"YulIdentifier","src":"169459:2:19"}],"functionName":{"name":"mstore","nativeSrc":"169446:6:19","nodeType":"YulIdentifier","src":"169446:6:19"},"nativeSrc":"169446:16:19","nodeType":"YulFunctionCall","src":"169446:16:19"},"nativeSrc":"169446:16:19","nodeType":"YulExpressionStatement","src":"169446:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169482:4:19","nodeType":"YulLiteral","src":"169482:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"169488:2:19","nodeType":"YulIdentifier","src":"169488:2:19"}],"functionName":{"name":"mstore","nativeSrc":"169475:6:19","nodeType":"YulIdentifier","src":"169475:6:19"},"nativeSrc":"169475:16:19","nodeType":"YulFunctionCall","src":"169475:16:19"},"nativeSrc":"169475:16:19","nodeType":"YulExpressionStatement","src":"169475:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169511:4:19","nodeType":"YulLiteral","src":"169511:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"169517:2:19","nodeType":"YulIdentifier","src":"169517:2:19"}],"functionName":{"name":"mstore","nativeSrc":"169504:6:19","nodeType":"YulIdentifier","src":"169504:6:19"},"nativeSrc":"169504:16:19","nodeType":"YulFunctionCall","src":"169504:16:19"},"nativeSrc":"169504:16:19","nodeType":"YulExpressionStatement","src":"169504:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169540:5:19","nodeType":"YulLiteral","src":"169540:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"169547:2:19","nodeType":"YulIdentifier","src":"169547:2:19"}],"functionName":{"name":"mstore","nativeSrc":"169533:6:19","nodeType":"YulIdentifier","src":"169533:6:19"},"nativeSrc":"169533:17:19","nodeType":"YulFunctionCall","src":"169533:17:19"},"nativeSrc":"169533:17:19","nodeType":"YulExpressionStatement","src":"169533:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169570:5:19","nodeType":"YulLiteral","src":"169570:5:19","type":"","value":"0x120"},{"name":"m9","nativeSrc":"169577:2:19","nodeType":"YulIdentifier","src":"169577:2:19"}],"functionName":{"name":"mstore","nativeSrc":"169563:6:19","nodeType":"YulIdentifier","src":"169563:6:19"},"nativeSrc":"169563:17:19","nodeType":"YulFunctionCall","src":"169563:17:19"},"nativeSrc":"169563:17:19","nodeType":"YulExpressionStatement","src":"169563:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"169600:5:19","nodeType":"YulLiteral","src":"169600:5:19","type":"","value":"0x140"},{"name":"m10","nativeSrc":"169607:3:19","nodeType":"YulIdentifier","src":"169607:3:19"}],"functionName":{"name":"mstore","nativeSrc":"169593:6:19","nodeType":"YulIdentifier","src":"169593:6:19"},"nativeSrc":"169593:18:19","nodeType":"YulFunctionCall","src":"169593:18:19"},"nativeSrc":"169593:18:19","nodeType":"YulExpressionStatement","src":"169593:18:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31542,"isOffset":false,"isSlot":false,"src":"169314:2:19","valueSize":1},{"declaration":31545,"isOffset":false,"isSlot":false,"src":"169343:2:19","valueSize":1},{"declaration":31572,"isOffset":false,"isSlot":false,"src":"169607:3:19","valueSize":1},{"declaration":31548,"isOffset":false,"isSlot":false,"src":"169372:2:19","valueSize":1},{"declaration":31551,"isOffset":false,"isSlot":false,"src":"169401:2:19","valueSize":1},{"declaration":31554,"isOffset":false,"isSlot":false,"src":"169430:2:19","valueSize":1},{"declaration":31557,"isOffset":false,"isSlot":false,"src":"169459:2:19","valueSize":1},{"declaration":31560,"isOffset":false,"isSlot":false,"src":"169488:2:19","valueSize":1},{"declaration":31563,"isOffset":false,"isSlot":false,"src":"169517:2:19","valueSize":1},{"declaration":31566,"isOffset":false,"isSlot":false,"src":"169547:2:19","valueSize":1},{"declaration":31569,"isOffset":false,"isSlot":false,"src":"169577:2:19","valueSize":1}],"id":31580,"nodeType":"InlineAssembly","src":"169278:343:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"167812:3:19","parameters":{"id":31539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31532,"mutability":"mutable","name":"p0","nameLocation":"167824:2:19","nodeType":"VariableDeclaration","scope":31582,"src":"167816:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31531,"name":"address","nodeType":"ElementaryTypeName","src":"167816:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31534,"mutability":"mutable","name":"p1","nameLocation":"167836:2:19","nodeType":"VariableDeclaration","scope":31582,"src":"167828:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31533,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167828:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31536,"mutability":"mutable","name":"p2","nameLocation":"167848:2:19","nodeType":"VariableDeclaration","scope":31582,"src":"167840:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31535,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167840:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31538,"mutability":"mutable","name":"p3","nameLocation":"167860:2:19","nodeType":"VariableDeclaration","scope":31582,"src":"167852:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31537,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167852:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"167815:48:19"},"returnParameters":{"id":31540,"nodeType":"ParameterList","parameters":[],"src":"167878:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31616,"nodeType":"FunctionDefinition","src":"169633:872:19","nodes":[],"body":{"id":31615,"nodeType":"Block","src":"169705:800:19","nodes":[],"statements":[{"assignments":[31594],"declarations":[{"constant":false,"id":31594,"mutability":"mutable","name":"m0","nameLocation":"169723:2:19","nodeType":"VariableDeclaration","scope":31615,"src":"169715:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31593,"name":"bytes32","nodeType":"ElementaryTypeName","src":"169715:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31595,"nodeType":"VariableDeclarationStatement","src":"169715:10:19"},{"assignments":[31597],"declarations":[{"constant":false,"id":31597,"mutability":"mutable","name":"m1","nameLocation":"169743:2:19","nodeType":"VariableDeclaration","scope":31615,"src":"169735:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31596,"name":"bytes32","nodeType":"ElementaryTypeName","src":"169735:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31598,"nodeType":"VariableDeclarationStatement","src":"169735:10:19"},{"assignments":[31600],"declarations":[{"constant":false,"id":31600,"mutability":"mutable","name":"m2","nameLocation":"169763:2:19","nodeType":"VariableDeclaration","scope":31615,"src":"169755:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31599,"name":"bytes32","nodeType":"ElementaryTypeName","src":"169755:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31601,"nodeType":"VariableDeclarationStatement","src":"169755:10:19"},{"assignments":[31603],"declarations":[{"constant":false,"id":31603,"mutability":"mutable","name":"m3","nameLocation":"169783:2:19","nodeType":"VariableDeclaration","scope":31615,"src":"169775:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31602,"name":"bytes32","nodeType":"ElementaryTypeName","src":"169775:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31604,"nodeType":"VariableDeclarationStatement","src":"169775:10:19"},{"assignments":[31606],"declarations":[{"constant":false,"id":31606,"mutability":"mutable","name":"m4","nameLocation":"169803:2:19","nodeType":"VariableDeclaration","scope":31615,"src":"169795:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31605,"name":"bytes32","nodeType":"ElementaryTypeName","src":"169795:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31607,"nodeType":"VariableDeclarationStatement","src":"169795:10:19"},{"AST":{"nativeSrc":"169867:378:19","nodeType":"YulBlock","src":"169867:378:19","statements":[{"nativeSrc":"169881:17:19","nodeType":"YulAssignment","src":"169881:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"169893:4:19","nodeType":"YulLiteral","src":"169893:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"169887:5:19","nodeType":"YulIdentifier","src":"169887:5:19"},"nativeSrc":"169887:11:19","nodeType":"YulFunctionCall","src":"169887:11:19"},"variableNames":[{"name":"m0","nativeSrc":"169881:2:19","nodeType":"YulIdentifier","src":"169881:2:19"}]},{"nativeSrc":"169911:17:19","nodeType":"YulAssignment","src":"169911:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"169923:4:19","nodeType":"YulLiteral","src":"169923:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"169917:5:19","nodeType":"YulIdentifier","src":"169917:5:19"},"nativeSrc":"169917:11:19","nodeType":"YulFunctionCall","src":"169917:11:19"},"variableNames":[{"name":"m1","nativeSrc":"169911:2:19","nodeType":"YulIdentifier","src":"169911:2:19"}]},{"nativeSrc":"169941:17:19","nodeType":"YulAssignment","src":"169941:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"169953:4:19","nodeType":"YulLiteral","src":"169953:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"169947:5:19","nodeType":"YulIdentifier","src":"169947:5:19"},"nativeSrc":"169947:11:19","nodeType":"YulFunctionCall","src":"169947:11:19"},"variableNames":[{"name":"m2","nativeSrc":"169941:2:19","nodeType":"YulIdentifier","src":"169941:2:19"}]},{"nativeSrc":"169971:17:19","nodeType":"YulAssignment","src":"169971:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"169983:4:19","nodeType":"YulLiteral","src":"169983:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"169977:5:19","nodeType":"YulIdentifier","src":"169977:5:19"},"nativeSrc":"169977:11:19","nodeType":"YulFunctionCall","src":"169977:11:19"},"variableNames":[{"name":"m3","nativeSrc":"169971:2:19","nodeType":"YulIdentifier","src":"169971:2:19"}]},{"nativeSrc":"170001:17:19","nodeType":"YulAssignment","src":"170001:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"170013:4:19","nodeType":"YulLiteral","src":"170013:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"170007:5:19","nodeType":"YulIdentifier","src":"170007:5:19"},"nativeSrc":"170007:11:19","nodeType":"YulFunctionCall","src":"170007:11:19"},"variableNames":[{"name":"m4","nativeSrc":"170001:2:19","nodeType":"YulIdentifier","src":"170001:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170102:4:19","nodeType":"YulLiteral","src":"170102:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"170108:10:19","nodeType":"YulLiteral","src":"170108:10:19","type":"","value":"0x1d14d001"}],"functionName":{"name":"mstore","nativeSrc":"170095:6:19","nodeType":"YulIdentifier","src":"170095:6:19"},"nativeSrc":"170095:24:19","nodeType":"YulFunctionCall","src":"170095:24:19"},"nativeSrc":"170095:24:19","nodeType":"YulExpressionStatement","src":"170095:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170139:4:19","nodeType":"YulLiteral","src":"170139:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"170145:2:19","nodeType":"YulIdentifier","src":"170145:2:19"}],"functionName":{"name":"mstore","nativeSrc":"170132:6:19","nodeType":"YulIdentifier","src":"170132:6:19"},"nativeSrc":"170132:16:19","nodeType":"YulFunctionCall","src":"170132:16:19"},"nativeSrc":"170132:16:19","nodeType":"YulExpressionStatement","src":"170132:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170168:4:19","nodeType":"YulLiteral","src":"170168:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"170174:2:19","nodeType":"YulIdentifier","src":"170174:2:19"}],"functionName":{"name":"mstore","nativeSrc":"170161:6:19","nodeType":"YulIdentifier","src":"170161:6:19"},"nativeSrc":"170161:16:19","nodeType":"YulFunctionCall","src":"170161:16:19"},"nativeSrc":"170161:16:19","nodeType":"YulExpressionStatement","src":"170161:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170197:4:19","nodeType":"YulLiteral","src":"170197:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"170203:2:19","nodeType":"YulIdentifier","src":"170203:2:19"}],"functionName":{"name":"mstore","nativeSrc":"170190:6:19","nodeType":"YulIdentifier","src":"170190:6:19"},"nativeSrc":"170190:16:19","nodeType":"YulFunctionCall","src":"170190:16:19"},"nativeSrc":"170190:16:19","nodeType":"YulExpressionStatement","src":"170190:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170226:4:19","nodeType":"YulLiteral","src":"170226:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"170232:2:19","nodeType":"YulIdentifier","src":"170232:2:19"}],"functionName":{"name":"mstore","nativeSrc":"170219:6:19","nodeType":"YulIdentifier","src":"170219:6:19"},"nativeSrc":"170219:16:19","nodeType":"YulFunctionCall","src":"170219:16:19"},"nativeSrc":"170219:16:19","nodeType":"YulExpressionStatement","src":"170219:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31594,"isOffset":false,"isSlot":false,"src":"169881:2:19","valueSize":1},{"declaration":31597,"isOffset":false,"isSlot":false,"src":"169911:2:19","valueSize":1},{"declaration":31600,"isOffset":false,"isSlot":false,"src":"169941:2:19","valueSize":1},{"declaration":31603,"isOffset":false,"isSlot":false,"src":"169971:2:19","valueSize":1},{"declaration":31606,"isOffset":false,"isSlot":false,"src":"170001:2:19","valueSize":1},{"declaration":31584,"isOffset":false,"isSlot":false,"src":"170145:2:19","valueSize":1},{"declaration":31586,"isOffset":false,"isSlot":false,"src":"170174:2:19","valueSize":1},{"declaration":31588,"isOffset":false,"isSlot":false,"src":"170203:2:19","valueSize":1},{"declaration":31590,"isOffset":false,"isSlot":false,"src":"170232:2:19","valueSize":1}],"id":31608,"nodeType":"InlineAssembly","src":"169858:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"170270:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":31611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"170276:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":31609,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"170254:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"170254:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31613,"nodeType":"ExpressionStatement","src":"170254:27:19"},{"AST":{"nativeSrc":"170343:156:19","nodeType":"YulBlock","src":"170343:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"170364:4:19","nodeType":"YulLiteral","src":"170364:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"170370:2:19","nodeType":"YulIdentifier","src":"170370:2:19"}],"functionName":{"name":"mstore","nativeSrc":"170357:6:19","nodeType":"YulIdentifier","src":"170357:6:19"},"nativeSrc":"170357:16:19","nodeType":"YulFunctionCall","src":"170357:16:19"},"nativeSrc":"170357:16:19","nodeType":"YulExpressionStatement","src":"170357:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170393:4:19","nodeType":"YulLiteral","src":"170393:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"170399:2:19","nodeType":"YulIdentifier","src":"170399:2:19"}],"functionName":{"name":"mstore","nativeSrc":"170386:6:19","nodeType":"YulIdentifier","src":"170386:6:19"},"nativeSrc":"170386:16:19","nodeType":"YulFunctionCall","src":"170386:16:19"},"nativeSrc":"170386:16:19","nodeType":"YulExpressionStatement","src":"170386:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170422:4:19","nodeType":"YulLiteral","src":"170422:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"170428:2:19","nodeType":"YulIdentifier","src":"170428:2:19"}],"functionName":{"name":"mstore","nativeSrc":"170415:6:19","nodeType":"YulIdentifier","src":"170415:6:19"},"nativeSrc":"170415:16:19","nodeType":"YulFunctionCall","src":"170415:16:19"},"nativeSrc":"170415:16:19","nodeType":"YulExpressionStatement","src":"170415:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170451:4:19","nodeType":"YulLiteral","src":"170451:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"170457:2:19","nodeType":"YulIdentifier","src":"170457:2:19"}],"functionName":{"name":"mstore","nativeSrc":"170444:6:19","nodeType":"YulIdentifier","src":"170444:6:19"},"nativeSrc":"170444:16:19","nodeType":"YulFunctionCall","src":"170444:16:19"},"nativeSrc":"170444:16:19","nodeType":"YulExpressionStatement","src":"170444:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170480:4:19","nodeType":"YulLiteral","src":"170480:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"170486:2:19","nodeType":"YulIdentifier","src":"170486:2:19"}],"functionName":{"name":"mstore","nativeSrc":"170473:6:19","nodeType":"YulIdentifier","src":"170473:6:19"},"nativeSrc":"170473:16:19","nodeType":"YulFunctionCall","src":"170473:16:19"},"nativeSrc":"170473:16:19","nodeType":"YulExpressionStatement","src":"170473:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31594,"isOffset":false,"isSlot":false,"src":"170370:2:19","valueSize":1},{"declaration":31597,"isOffset":false,"isSlot":false,"src":"170399:2:19","valueSize":1},{"declaration":31600,"isOffset":false,"isSlot":false,"src":"170428:2:19","valueSize":1},{"declaration":31603,"isOffset":false,"isSlot":false,"src":"170457:2:19","valueSize":1},{"declaration":31606,"isOffset":false,"isSlot":false,"src":"170486:2:19","valueSize":1}],"id":31614,"nodeType":"InlineAssembly","src":"170334:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"169642:3:19","parameters":{"id":31591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31584,"mutability":"mutable","name":"p0","nameLocation":"169651:2:19","nodeType":"VariableDeclaration","scope":31616,"src":"169646:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31583,"name":"bool","nodeType":"ElementaryTypeName","src":"169646:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31586,"mutability":"mutable","name":"p1","nameLocation":"169663:2:19","nodeType":"VariableDeclaration","scope":31616,"src":"169655:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31585,"name":"address","nodeType":"ElementaryTypeName","src":"169655:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31588,"mutability":"mutable","name":"p2","nameLocation":"169675:2:19","nodeType":"VariableDeclaration","scope":31616,"src":"169667:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31587,"name":"address","nodeType":"ElementaryTypeName","src":"169667:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31590,"mutability":"mutable","name":"p3","nameLocation":"169687:2:19","nodeType":"VariableDeclaration","scope":31616,"src":"169679:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31589,"name":"address","nodeType":"ElementaryTypeName","src":"169679:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"169645:45:19"},"returnParameters":{"id":31592,"nodeType":"ParameterList","parameters":[],"src":"169705:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31650,"nodeType":"FunctionDefinition","src":"170511:866:19","nodes":[],"body":{"id":31649,"nodeType":"Block","src":"170580:797:19","nodes":[],"statements":[{"assignments":[31628],"declarations":[{"constant":false,"id":31628,"mutability":"mutable","name":"m0","nameLocation":"170598:2:19","nodeType":"VariableDeclaration","scope":31649,"src":"170590:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"170590:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31629,"nodeType":"VariableDeclarationStatement","src":"170590:10:19"},{"assignments":[31631],"declarations":[{"constant":false,"id":31631,"mutability":"mutable","name":"m1","nameLocation":"170618:2:19","nodeType":"VariableDeclaration","scope":31649,"src":"170610:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31630,"name":"bytes32","nodeType":"ElementaryTypeName","src":"170610:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31632,"nodeType":"VariableDeclarationStatement","src":"170610:10:19"},{"assignments":[31634],"declarations":[{"constant":false,"id":31634,"mutability":"mutable","name":"m2","nameLocation":"170638:2:19","nodeType":"VariableDeclaration","scope":31649,"src":"170630:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31633,"name":"bytes32","nodeType":"ElementaryTypeName","src":"170630:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31635,"nodeType":"VariableDeclarationStatement","src":"170630:10:19"},{"assignments":[31637],"declarations":[{"constant":false,"id":31637,"mutability":"mutable","name":"m3","nameLocation":"170658:2:19","nodeType":"VariableDeclaration","scope":31649,"src":"170650:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31636,"name":"bytes32","nodeType":"ElementaryTypeName","src":"170650:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31638,"nodeType":"VariableDeclarationStatement","src":"170650:10:19"},{"assignments":[31640],"declarations":[{"constant":false,"id":31640,"mutability":"mutable","name":"m4","nameLocation":"170678:2:19","nodeType":"VariableDeclaration","scope":31649,"src":"170670:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31639,"name":"bytes32","nodeType":"ElementaryTypeName","src":"170670:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31641,"nodeType":"VariableDeclarationStatement","src":"170670:10:19"},{"AST":{"nativeSrc":"170742:375:19","nodeType":"YulBlock","src":"170742:375:19","statements":[{"nativeSrc":"170756:17:19","nodeType":"YulAssignment","src":"170756:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"170768:4:19","nodeType":"YulLiteral","src":"170768:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"170762:5:19","nodeType":"YulIdentifier","src":"170762:5:19"},"nativeSrc":"170762:11:19","nodeType":"YulFunctionCall","src":"170762:11:19"},"variableNames":[{"name":"m0","nativeSrc":"170756:2:19","nodeType":"YulIdentifier","src":"170756:2:19"}]},{"nativeSrc":"170786:17:19","nodeType":"YulAssignment","src":"170786:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"170798:4:19","nodeType":"YulLiteral","src":"170798:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"170792:5:19","nodeType":"YulIdentifier","src":"170792:5:19"},"nativeSrc":"170792:11:19","nodeType":"YulFunctionCall","src":"170792:11:19"},"variableNames":[{"name":"m1","nativeSrc":"170786:2:19","nodeType":"YulIdentifier","src":"170786:2:19"}]},{"nativeSrc":"170816:17:19","nodeType":"YulAssignment","src":"170816:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"170828:4:19","nodeType":"YulLiteral","src":"170828:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"170822:5:19","nodeType":"YulIdentifier","src":"170822:5:19"},"nativeSrc":"170822:11:19","nodeType":"YulFunctionCall","src":"170822:11:19"},"variableNames":[{"name":"m2","nativeSrc":"170816:2:19","nodeType":"YulIdentifier","src":"170816:2:19"}]},{"nativeSrc":"170846:17:19","nodeType":"YulAssignment","src":"170846:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"170858:4:19","nodeType":"YulLiteral","src":"170858:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"170852:5:19","nodeType":"YulIdentifier","src":"170852:5:19"},"nativeSrc":"170852:11:19","nodeType":"YulFunctionCall","src":"170852:11:19"},"variableNames":[{"name":"m3","nativeSrc":"170846:2:19","nodeType":"YulIdentifier","src":"170846:2:19"}]},{"nativeSrc":"170876:17:19","nodeType":"YulAssignment","src":"170876:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"170888:4:19","nodeType":"YulLiteral","src":"170888:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"170882:5:19","nodeType":"YulIdentifier","src":"170882:5:19"},"nativeSrc":"170882:11:19","nodeType":"YulFunctionCall","src":"170882:11:19"},"variableNames":[{"name":"m4","nativeSrc":"170876:2:19","nodeType":"YulIdentifier","src":"170876:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"170974:4:19","nodeType":"YulLiteral","src":"170974:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"170980:10:19","nodeType":"YulLiteral","src":"170980:10:19","type":"","value":"0x46600be0"}],"functionName":{"name":"mstore","nativeSrc":"170967:6:19","nodeType":"YulIdentifier","src":"170967:6:19"},"nativeSrc":"170967:24:19","nodeType":"YulFunctionCall","src":"170967:24:19"},"nativeSrc":"170967:24:19","nodeType":"YulExpressionStatement","src":"170967:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171011:4:19","nodeType":"YulLiteral","src":"171011:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"171017:2:19","nodeType":"YulIdentifier","src":"171017:2:19"}],"functionName":{"name":"mstore","nativeSrc":"171004:6:19","nodeType":"YulIdentifier","src":"171004:6:19"},"nativeSrc":"171004:16:19","nodeType":"YulFunctionCall","src":"171004:16:19"},"nativeSrc":"171004:16:19","nodeType":"YulExpressionStatement","src":"171004:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171040:4:19","nodeType":"YulLiteral","src":"171040:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"171046:2:19","nodeType":"YulIdentifier","src":"171046:2:19"}],"functionName":{"name":"mstore","nativeSrc":"171033:6:19","nodeType":"YulIdentifier","src":"171033:6:19"},"nativeSrc":"171033:16:19","nodeType":"YulFunctionCall","src":"171033:16:19"},"nativeSrc":"171033:16:19","nodeType":"YulExpressionStatement","src":"171033:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171069:4:19","nodeType":"YulLiteral","src":"171069:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"171075:2:19","nodeType":"YulIdentifier","src":"171075:2:19"}],"functionName":{"name":"mstore","nativeSrc":"171062:6:19","nodeType":"YulIdentifier","src":"171062:6:19"},"nativeSrc":"171062:16:19","nodeType":"YulFunctionCall","src":"171062:16:19"},"nativeSrc":"171062:16:19","nodeType":"YulExpressionStatement","src":"171062:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171098:4:19","nodeType":"YulLiteral","src":"171098:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"171104:2:19","nodeType":"YulIdentifier","src":"171104:2:19"}],"functionName":{"name":"mstore","nativeSrc":"171091:6:19","nodeType":"YulIdentifier","src":"171091:6:19"},"nativeSrc":"171091:16:19","nodeType":"YulFunctionCall","src":"171091:16:19"},"nativeSrc":"171091:16:19","nodeType":"YulExpressionStatement","src":"171091:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31628,"isOffset":false,"isSlot":false,"src":"170756:2:19","valueSize":1},{"declaration":31631,"isOffset":false,"isSlot":false,"src":"170786:2:19","valueSize":1},{"declaration":31634,"isOffset":false,"isSlot":false,"src":"170816:2:19","valueSize":1},{"declaration":31637,"isOffset":false,"isSlot":false,"src":"170846:2:19","valueSize":1},{"declaration":31640,"isOffset":false,"isSlot":false,"src":"170876:2:19","valueSize":1},{"declaration":31618,"isOffset":false,"isSlot":false,"src":"171017:2:19","valueSize":1},{"declaration":31620,"isOffset":false,"isSlot":false,"src":"171046:2:19","valueSize":1},{"declaration":31622,"isOffset":false,"isSlot":false,"src":"171075:2:19","valueSize":1},{"declaration":31624,"isOffset":false,"isSlot":false,"src":"171104:2:19","valueSize":1}],"id":31642,"nodeType":"InlineAssembly","src":"170733:384:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"171142:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":31645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"171148:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":31643,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"171126:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"171126:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31647,"nodeType":"ExpressionStatement","src":"171126:27:19"},{"AST":{"nativeSrc":"171215:156:19","nodeType":"YulBlock","src":"171215:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"171236:4:19","nodeType":"YulLiteral","src":"171236:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"171242:2:19","nodeType":"YulIdentifier","src":"171242:2:19"}],"functionName":{"name":"mstore","nativeSrc":"171229:6:19","nodeType":"YulIdentifier","src":"171229:6:19"},"nativeSrc":"171229:16:19","nodeType":"YulFunctionCall","src":"171229:16:19"},"nativeSrc":"171229:16:19","nodeType":"YulExpressionStatement","src":"171229:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171265:4:19","nodeType":"YulLiteral","src":"171265:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"171271:2:19","nodeType":"YulIdentifier","src":"171271:2:19"}],"functionName":{"name":"mstore","nativeSrc":"171258:6:19","nodeType":"YulIdentifier","src":"171258:6:19"},"nativeSrc":"171258:16:19","nodeType":"YulFunctionCall","src":"171258:16:19"},"nativeSrc":"171258:16:19","nodeType":"YulExpressionStatement","src":"171258:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171294:4:19","nodeType":"YulLiteral","src":"171294:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"171300:2:19","nodeType":"YulIdentifier","src":"171300:2:19"}],"functionName":{"name":"mstore","nativeSrc":"171287:6:19","nodeType":"YulIdentifier","src":"171287:6:19"},"nativeSrc":"171287:16:19","nodeType":"YulFunctionCall","src":"171287:16:19"},"nativeSrc":"171287:16:19","nodeType":"YulExpressionStatement","src":"171287:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171323:4:19","nodeType":"YulLiteral","src":"171323:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"171329:2:19","nodeType":"YulIdentifier","src":"171329:2:19"}],"functionName":{"name":"mstore","nativeSrc":"171316:6:19","nodeType":"YulIdentifier","src":"171316:6:19"},"nativeSrc":"171316:16:19","nodeType":"YulFunctionCall","src":"171316:16:19"},"nativeSrc":"171316:16:19","nodeType":"YulExpressionStatement","src":"171316:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171352:4:19","nodeType":"YulLiteral","src":"171352:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"171358:2:19","nodeType":"YulIdentifier","src":"171358:2:19"}],"functionName":{"name":"mstore","nativeSrc":"171345:6:19","nodeType":"YulIdentifier","src":"171345:6:19"},"nativeSrc":"171345:16:19","nodeType":"YulFunctionCall","src":"171345:16:19"},"nativeSrc":"171345:16:19","nodeType":"YulExpressionStatement","src":"171345:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31628,"isOffset":false,"isSlot":false,"src":"171242:2:19","valueSize":1},{"declaration":31631,"isOffset":false,"isSlot":false,"src":"171271:2:19","valueSize":1},{"declaration":31634,"isOffset":false,"isSlot":false,"src":"171300:2:19","valueSize":1},{"declaration":31637,"isOffset":false,"isSlot":false,"src":"171329:2:19","valueSize":1},{"declaration":31640,"isOffset":false,"isSlot":false,"src":"171358:2:19","valueSize":1}],"id":31648,"nodeType":"InlineAssembly","src":"171206:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"170520:3:19","parameters":{"id":31625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31618,"mutability":"mutable","name":"p0","nameLocation":"170529:2:19","nodeType":"VariableDeclaration","scope":31650,"src":"170524:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31617,"name":"bool","nodeType":"ElementaryTypeName","src":"170524:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31620,"mutability":"mutable","name":"p1","nameLocation":"170541:2:19","nodeType":"VariableDeclaration","scope":31650,"src":"170533:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31619,"name":"address","nodeType":"ElementaryTypeName","src":"170533:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31622,"mutability":"mutable","name":"p2","nameLocation":"170553:2:19","nodeType":"VariableDeclaration","scope":31650,"src":"170545:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31621,"name":"address","nodeType":"ElementaryTypeName","src":"170545:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31624,"mutability":"mutable","name":"p3","nameLocation":"170562:2:19","nodeType":"VariableDeclaration","scope":31650,"src":"170557:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31623,"name":"bool","nodeType":"ElementaryTypeName","src":"170557:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"170523:42:19"},"returnParameters":{"id":31626,"nodeType":"ParameterList","parameters":[],"src":"170580:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31684,"nodeType":"FunctionDefinition","src":"171383:872:19","nodes":[],"body":{"id":31683,"nodeType":"Block","src":"171455:800:19","nodes":[],"statements":[{"assignments":[31662],"declarations":[{"constant":false,"id":31662,"mutability":"mutable","name":"m0","nameLocation":"171473:2:19","nodeType":"VariableDeclaration","scope":31683,"src":"171465:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31661,"name":"bytes32","nodeType":"ElementaryTypeName","src":"171465:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31663,"nodeType":"VariableDeclarationStatement","src":"171465:10:19"},{"assignments":[31665],"declarations":[{"constant":false,"id":31665,"mutability":"mutable","name":"m1","nameLocation":"171493:2:19","nodeType":"VariableDeclaration","scope":31683,"src":"171485:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31664,"name":"bytes32","nodeType":"ElementaryTypeName","src":"171485:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31666,"nodeType":"VariableDeclarationStatement","src":"171485:10:19"},{"assignments":[31668],"declarations":[{"constant":false,"id":31668,"mutability":"mutable","name":"m2","nameLocation":"171513:2:19","nodeType":"VariableDeclaration","scope":31683,"src":"171505:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31667,"name":"bytes32","nodeType":"ElementaryTypeName","src":"171505:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31669,"nodeType":"VariableDeclarationStatement","src":"171505:10:19"},{"assignments":[31671],"declarations":[{"constant":false,"id":31671,"mutability":"mutable","name":"m3","nameLocation":"171533:2:19","nodeType":"VariableDeclaration","scope":31683,"src":"171525:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31670,"name":"bytes32","nodeType":"ElementaryTypeName","src":"171525:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31672,"nodeType":"VariableDeclarationStatement","src":"171525:10:19"},{"assignments":[31674],"declarations":[{"constant":false,"id":31674,"mutability":"mutable","name":"m4","nameLocation":"171553:2:19","nodeType":"VariableDeclaration","scope":31683,"src":"171545:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31673,"name":"bytes32","nodeType":"ElementaryTypeName","src":"171545:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31675,"nodeType":"VariableDeclarationStatement","src":"171545:10:19"},{"AST":{"nativeSrc":"171617:378:19","nodeType":"YulBlock","src":"171617:378:19","statements":[{"nativeSrc":"171631:17:19","nodeType":"YulAssignment","src":"171631:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"171643:4:19","nodeType":"YulLiteral","src":"171643:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"171637:5:19","nodeType":"YulIdentifier","src":"171637:5:19"},"nativeSrc":"171637:11:19","nodeType":"YulFunctionCall","src":"171637:11:19"},"variableNames":[{"name":"m0","nativeSrc":"171631:2:19","nodeType":"YulIdentifier","src":"171631:2:19"}]},{"nativeSrc":"171661:17:19","nodeType":"YulAssignment","src":"171661:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"171673:4:19","nodeType":"YulLiteral","src":"171673:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"171667:5:19","nodeType":"YulIdentifier","src":"171667:5:19"},"nativeSrc":"171667:11:19","nodeType":"YulFunctionCall","src":"171667:11:19"},"variableNames":[{"name":"m1","nativeSrc":"171661:2:19","nodeType":"YulIdentifier","src":"171661:2:19"}]},{"nativeSrc":"171691:17:19","nodeType":"YulAssignment","src":"171691:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"171703:4:19","nodeType":"YulLiteral","src":"171703:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"171697:5:19","nodeType":"YulIdentifier","src":"171697:5:19"},"nativeSrc":"171697:11:19","nodeType":"YulFunctionCall","src":"171697:11:19"},"variableNames":[{"name":"m2","nativeSrc":"171691:2:19","nodeType":"YulIdentifier","src":"171691:2:19"}]},{"nativeSrc":"171721:17:19","nodeType":"YulAssignment","src":"171721:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"171733:4:19","nodeType":"YulLiteral","src":"171733:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"171727:5:19","nodeType":"YulIdentifier","src":"171727:5:19"},"nativeSrc":"171727:11:19","nodeType":"YulFunctionCall","src":"171727:11:19"},"variableNames":[{"name":"m3","nativeSrc":"171721:2:19","nodeType":"YulIdentifier","src":"171721:2:19"}]},{"nativeSrc":"171751:17:19","nodeType":"YulAssignment","src":"171751:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"171763:4:19","nodeType":"YulLiteral","src":"171763:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"171757:5:19","nodeType":"YulIdentifier","src":"171757:5:19"},"nativeSrc":"171757:11:19","nodeType":"YulFunctionCall","src":"171757:11:19"},"variableNames":[{"name":"m4","nativeSrc":"171751:2:19","nodeType":"YulIdentifier","src":"171751:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171852:4:19","nodeType":"YulLiteral","src":"171852:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"171858:10:19","nodeType":"YulLiteral","src":"171858:10:19","type":"","value":"0x0c66d1be"}],"functionName":{"name":"mstore","nativeSrc":"171845:6:19","nodeType":"YulIdentifier","src":"171845:6:19"},"nativeSrc":"171845:24:19","nodeType":"YulFunctionCall","src":"171845:24:19"},"nativeSrc":"171845:24:19","nodeType":"YulExpressionStatement","src":"171845:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171889:4:19","nodeType":"YulLiteral","src":"171889:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"171895:2:19","nodeType":"YulIdentifier","src":"171895:2:19"}],"functionName":{"name":"mstore","nativeSrc":"171882:6:19","nodeType":"YulIdentifier","src":"171882:6:19"},"nativeSrc":"171882:16:19","nodeType":"YulFunctionCall","src":"171882:16:19"},"nativeSrc":"171882:16:19","nodeType":"YulExpressionStatement","src":"171882:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171918:4:19","nodeType":"YulLiteral","src":"171918:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"171924:2:19","nodeType":"YulIdentifier","src":"171924:2:19"}],"functionName":{"name":"mstore","nativeSrc":"171911:6:19","nodeType":"YulIdentifier","src":"171911:6:19"},"nativeSrc":"171911:16:19","nodeType":"YulFunctionCall","src":"171911:16:19"},"nativeSrc":"171911:16:19","nodeType":"YulExpressionStatement","src":"171911:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171947:4:19","nodeType":"YulLiteral","src":"171947:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"171953:2:19","nodeType":"YulIdentifier","src":"171953:2:19"}],"functionName":{"name":"mstore","nativeSrc":"171940:6:19","nodeType":"YulIdentifier","src":"171940:6:19"},"nativeSrc":"171940:16:19","nodeType":"YulFunctionCall","src":"171940:16:19"},"nativeSrc":"171940:16:19","nodeType":"YulExpressionStatement","src":"171940:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"171976:4:19","nodeType":"YulLiteral","src":"171976:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"171982:2:19","nodeType":"YulIdentifier","src":"171982:2:19"}],"functionName":{"name":"mstore","nativeSrc":"171969:6:19","nodeType":"YulIdentifier","src":"171969:6:19"},"nativeSrc":"171969:16:19","nodeType":"YulFunctionCall","src":"171969:16:19"},"nativeSrc":"171969:16:19","nodeType":"YulExpressionStatement","src":"171969:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31662,"isOffset":false,"isSlot":false,"src":"171631:2:19","valueSize":1},{"declaration":31665,"isOffset":false,"isSlot":false,"src":"171661:2:19","valueSize":1},{"declaration":31668,"isOffset":false,"isSlot":false,"src":"171691:2:19","valueSize":1},{"declaration":31671,"isOffset":false,"isSlot":false,"src":"171721:2:19","valueSize":1},{"declaration":31674,"isOffset":false,"isSlot":false,"src":"171751:2:19","valueSize":1},{"declaration":31652,"isOffset":false,"isSlot":false,"src":"171895:2:19","valueSize":1},{"declaration":31654,"isOffset":false,"isSlot":false,"src":"171924:2:19","valueSize":1},{"declaration":31656,"isOffset":false,"isSlot":false,"src":"171953:2:19","valueSize":1},{"declaration":31658,"isOffset":false,"isSlot":false,"src":"171982:2:19","valueSize":1}],"id":31676,"nodeType":"InlineAssembly","src":"171608:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"172020:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":31679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"172026:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":31677,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"172004:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"172004:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31681,"nodeType":"ExpressionStatement","src":"172004:27:19"},{"AST":{"nativeSrc":"172093:156:19","nodeType":"YulBlock","src":"172093:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"172114:4:19","nodeType":"YulLiteral","src":"172114:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"172120:2:19","nodeType":"YulIdentifier","src":"172120:2:19"}],"functionName":{"name":"mstore","nativeSrc":"172107:6:19","nodeType":"YulIdentifier","src":"172107:6:19"},"nativeSrc":"172107:16:19","nodeType":"YulFunctionCall","src":"172107:16:19"},"nativeSrc":"172107:16:19","nodeType":"YulExpressionStatement","src":"172107:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"172143:4:19","nodeType":"YulLiteral","src":"172143:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"172149:2:19","nodeType":"YulIdentifier","src":"172149:2:19"}],"functionName":{"name":"mstore","nativeSrc":"172136:6:19","nodeType":"YulIdentifier","src":"172136:6:19"},"nativeSrc":"172136:16:19","nodeType":"YulFunctionCall","src":"172136:16:19"},"nativeSrc":"172136:16:19","nodeType":"YulExpressionStatement","src":"172136:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"172172:4:19","nodeType":"YulLiteral","src":"172172:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"172178:2:19","nodeType":"YulIdentifier","src":"172178:2:19"}],"functionName":{"name":"mstore","nativeSrc":"172165:6:19","nodeType":"YulIdentifier","src":"172165:6:19"},"nativeSrc":"172165:16:19","nodeType":"YulFunctionCall","src":"172165:16:19"},"nativeSrc":"172165:16:19","nodeType":"YulExpressionStatement","src":"172165:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"172201:4:19","nodeType":"YulLiteral","src":"172201:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"172207:2:19","nodeType":"YulIdentifier","src":"172207:2:19"}],"functionName":{"name":"mstore","nativeSrc":"172194:6:19","nodeType":"YulIdentifier","src":"172194:6:19"},"nativeSrc":"172194:16:19","nodeType":"YulFunctionCall","src":"172194:16:19"},"nativeSrc":"172194:16:19","nodeType":"YulExpressionStatement","src":"172194:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"172230:4:19","nodeType":"YulLiteral","src":"172230:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"172236:2:19","nodeType":"YulIdentifier","src":"172236:2:19"}],"functionName":{"name":"mstore","nativeSrc":"172223:6:19","nodeType":"YulIdentifier","src":"172223:6:19"},"nativeSrc":"172223:16:19","nodeType":"YulFunctionCall","src":"172223:16:19"},"nativeSrc":"172223:16:19","nodeType":"YulExpressionStatement","src":"172223:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31662,"isOffset":false,"isSlot":false,"src":"172120:2:19","valueSize":1},{"declaration":31665,"isOffset":false,"isSlot":false,"src":"172149:2:19","valueSize":1},{"declaration":31668,"isOffset":false,"isSlot":false,"src":"172178:2:19","valueSize":1},{"declaration":31671,"isOffset":false,"isSlot":false,"src":"172207:2:19","valueSize":1},{"declaration":31674,"isOffset":false,"isSlot":false,"src":"172236:2:19","valueSize":1}],"id":31682,"nodeType":"InlineAssembly","src":"172084:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"171392:3:19","parameters":{"id":31659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31652,"mutability":"mutable","name":"p0","nameLocation":"171401:2:19","nodeType":"VariableDeclaration","scope":31684,"src":"171396:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31651,"name":"bool","nodeType":"ElementaryTypeName","src":"171396:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31654,"mutability":"mutable","name":"p1","nameLocation":"171413:2:19","nodeType":"VariableDeclaration","scope":31684,"src":"171405:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31653,"name":"address","nodeType":"ElementaryTypeName","src":"171405:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31656,"mutability":"mutable","name":"p2","nameLocation":"171425:2:19","nodeType":"VariableDeclaration","scope":31684,"src":"171417:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31655,"name":"address","nodeType":"ElementaryTypeName","src":"171417:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31658,"mutability":"mutable","name":"p3","nameLocation":"171437:2:19","nodeType":"VariableDeclaration","scope":31684,"src":"171429:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31657,"name":"uint256","nodeType":"ElementaryTypeName","src":"171429:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"171395:45:19"},"returnParameters":{"id":31660,"nodeType":"ParameterList","parameters":[],"src":"171455:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31724,"nodeType":"FunctionDefinition","src":"172261:1420:19","nodes":[],"body":{"id":31723,"nodeType":"Block","src":"172333:1348:19","nodes":[],"statements":[{"assignments":[31696],"declarations":[{"constant":false,"id":31696,"mutability":"mutable","name":"m0","nameLocation":"172351:2:19","nodeType":"VariableDeclaration","scope":31723,"src":"172343:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31695,"name":"bytes32","nodeType":"ElementaryTypeName","src":"172343:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31697,"nodeType":"VariableDeclarationStatement","src":"172343:10:19"},{"assignments":[31699],"declarations":[{"constant":false,"id":31699,"mutability":"mutable","name":"m1","nameLocation":"172371:2:19","nodeType":"VariableDeclaration","scope":31723,"src":"172363:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31698,"name":"bytes32","nodeType":"ElementaryTypeName","src":"172363:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31700,"nodeType":"VariableDeclarationStatement","src":"172363:10:19"},{"assignments":[31702],"declarations":[{"constant":false,"id":31702,"mutability":"mutable","name":"m2","nameLocation":"172391:2:19","nodeType":"VariableDeclaration","scope":31723,"src":"172383:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31701,"name":"bytes32","nodeType":"ElementaryTypeName","src":"172383:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31703,"nodeType":"VariableDeclarationStatement","src":"172383:10:19"},{"assignments":[31705],"declarations":[{"constant":false,"id":31705,"mutability":"mutable","name":"m3","nameLocation":"172411:2:19","nodeType":"VariableDeclaration","scope":31723,"src":"172403:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31704,"name":"bytes32","nodeType":"ElementaryTypeName","src":"172403:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31706,"nodeType":"VariableDeclarationStatement","src":"172403:10:19"},{"assignments":[31708],"declarations":[{"constant":false,"id":31708,"mutability":"mutable","name":"m4","nameLocation":"172431:2:19","nodeType":"VariableDeclaration","scope":31723,"src":"172423:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31707,"name":"bytes32","nodeType":"ElementaryTypeName","src":"172423:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31709,"nodeType":"VariableDeclarationStatement","src":"172423:10:19"},{"assignments":[31711],"declarations":[{"constant":false,"id":31711,"mutability":"mutable","name":"m5","nameLocation":"172451:2:19","nodeType":"VariableDeclaration","scope":31723,"src":"172443:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31710,"name":"bytes32","nodeType":"ElementaryTypeName","src":"172443:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31712,"nodeType":"VariableDeclarationStatement","src":"172443:10:19"},{"assignments":[31714],"declarations":[{"constant":false,"id":31714,"mutability":"mutable","name":"m6","nameLocation":"172471:2:19","nodeType":"VariableDeclaration","scope":31723,"src":"172463:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31713,"name":"bytes32","nodeType":"ElementaryTypeName","src":"172463:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31715,"nodeType":"VariableDeclarationStatement","src":"172463:10:19"},{"AST":{"nativeSrc":"172535:828:19","nodeType":"YulBlock","src":"172535:828:19","statements":[{"body":{"nativeSrc":"172578:313:19","nodeType":"YulBlock","src":"172578:313:19","statements":[{"nativeSrc":"172596:15:19","nodeType":"YulVariableDeclaration","src":"172596:15:19","value":{"kind":"number","nativeSrc":"172610:1:19","nodeType":"YulLiteral","src":"172610:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"172600:6:19","nodeType":"YulTypedName","src":"172600:6:19","type":""}]},{"body":{"nativeSrc":"172681:40:19","nodeType":"YulBlock","src":"172681:40:19","statements":[{"body":{"nativeSrc":"172710:9:19","nodeType":"YulBlock","src":"172710:9:19","statements":[{"nativeSrc":"172712:5:19","nodeType":"YulBreak","src":"172712:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"172698:6:19","nodeType":"YulIdentifier","src":"172698:6:19"},{"name":"w","nativeSrc":"172706:1:19","nodeType":"YulIdentifier","src":"172706:1:19"}],"functionName":{"name":"byte","nativeSrc":"172693:4:19","nodeType":"YulIdentifier","src":"172693:4:19"},"nativeSrc":"172693:15:19","nodeType":"YulFunctionCall","src":"172693:15:19"}],"functionName":{"name":"iszero","nativeSrc":"172686:6:19","nodeType":"YulIdentifier","src":"172686:6:19"},"nativeSrc":"172686:23:19","nodeType":"YulFunctionCall","src":"172686:23:19"},"nativeSrc":"172683:36:19","nodeType":"YulIf","src":"172683:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"172638:6:19","nodeType":"YulIdentifier","src":"172638:6:19"},{"kind":"number","nativeSrc":"172646:4:19","nodeType":"YulLiteral","src":"172646:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"172635:2:19","nodeType":"YulIdentifier","src":"172635:2:19"},"nativeSrc":"172635:16:19","nodeType":"YulFunctionCall","src":"172635:16:19"},"nativeSrc":"172628:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"172652:28:19","nodeType":"YulBlock","src":"172652:28:19","statements":[{"nativeSrc":"172654:24:19","nodeType":"YulAssignment","src":"172654:24:19","value":{"arguments":[{"name":"length","nativeSrc":"172668:6:19","nodeType":"YulIdentifier","src":"172668:6:19"},{"kind":"number","nativeSrc":"172676:1:19","nodeType":"YulLiteral","src":"172676:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"172664:3:19","nodeType":"YulIdentifier","src":"172664:3:19"},"nativeSrc":"172664:14:19","nodeType":"YulFunctionCall","src":"172664:14:19"},"variableNames":[{"name":"length","nativeSrc":"172654:6:19","nodeType":"YulIdentifier","src":"172654:6:19"}]}]},"pre":{"nativeSrc":"172632:2:19","nodeType":"YulBlock","src":"172632:2:19","statements":[]},"src":"172628:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"172745:3:19","nodeType":"YulIdentifier","src":"172745:3:19"},{"name":"length","nativeSrc":"172750:6:19","nodeType":"YulIdentifier","src":"172750:6:19"}],"functionName":{"name":"mstore","nativeSrc":"172738:6:19","nodeType":"YulIdentifier","src":"172738:6:19"},"nativeSrc":"172738:19:19","nodeType":"YulFunctionCall","src":"172738:19:19"},"nativeSrc":"172738:19:19","nodeType":"YulExpressionStatement","src":"172738:19:19"},{"nativeSrc":"172774:37:19","nodeType":"YulVariableDeclaration","src":"172774:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"172791:3:19","nodeType":"YulLiteral","src":"172791:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"172800:1:19","nodeType":"YulLiteral","src":"172800:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"172803:6:19","nodeType":"YulIdentifier","src":"172803:6:19"}],"functionName":{"name":"shl","nativeSrc":"172796:3:19","nodeType":"YulIdentifier","src":"172796:3:19"},"nativeSrc":"172796:14:19","nodeType":"YulFunctionCall","src":"172796:14:19"}],"functionName":{"name":"sub","nativeSrc":"172787:3:19","nodeType":"YulIdentifier","src":"172787:3:19"},"nativeSrc":"172787:24:19","nodeType":"YulFunctionCall","src":"172787:24:19"},"variables":[{"name":"shift","nativeSrc":"172778:5:19","nodeType":"YulTypedName","src":"172778:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"172839:3:19","nodeType":"YulIdentifier","src":"172839:3:19"},{"kind":"number","nativeSrc":"172844:4:19","nodeType":"YulLiteral","src":"172844:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"172835:3:19","nodeType":"YulIdentifier","src":"172835:3:19"},"nativeSrc":"172835:14:19","nodeType":"YulFunctionCall","src":"172835:14:19"},{"arguments":[{"name":"shift","nativeSrc":"172855:5:19","nodeType":"YulIdentifier","src":"172855:5:19"},{"arguments":[{"name":"shift","nativeSrc":"172866:5:19","nodeType":"YulIdentifier","src":"172866:5:19"},{"name":"w","nativeSrc":"172873:1:19","nodeType":"YulIdentifier","src":"172873:1:19"}],"functionName":{"name":"shr","nativeSrc":"172862:3:19","nodeType":"YulIdentifier","src":"172862:3:19"},"nativeSrc":"172862:13:19","nodeType":"YulFunctionCall","src":"172862:13:19"}],"functionName":{"name":"shl","nativeSrc":"172851:3:19","nodeType":"YulIdentifier","src":"172851:3:19"},"nativeSrc":"172851:25:19","nodeType":"YulFunctionCall","src":"172851:25:19"}],"functionName":{"name":"mstore","nativeSrc":"172828:6:19","nodeType":"YulIdentifier","src":"172828:6:19"},"nativeSrc":"172828:49:19","nodeType":"YulFunctionCall","src":"172828:49:19"},"nativeSrc":"172828:49:19","nodeType":"YulExpressionStatement","src":"172828:49:19"}]},"name":"writeString","nativeSrc":"172549:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"172570:3:19","nodeType":"YulTypedName","src":"172570:3:19","type":""},{"name":"w","nativeSrc":"172575:1:19","nodeType":"YulTypedName","src":"172575:1:19","type":""}],"src":"172549:342:19"},{"nativeSrc":"172904:17:19","nodeType":"YulAssignment","src":"172904:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"172916:4:19","nodeType":"YulLiteral","src":"172916:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"172910:5:19","nodeType":"YulIdentifier","src":"172910:5:19"},"nativeSrc":"172910:11:19","nodeType":"YulFunctionCall","src":"172910:11:19"},"variableNames":[{"name":"m0","nativeSrc":"172904:2:19","nodeType":"YulIdentifier","src":"172904:2:19"}]},{"nativeSrc":"172934:17:19","nodeType":"YulAssignment","src":"172934:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"172946:4:19","nodeType":"YulLiteral","src":"172946:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"172940:5:19","nodeType":"YulIdentifier","src":"172940:5:19"},"nativeSrc":"172940:11:19","nodeType":"YulFunctionCall","src":"172940:11:19"},"variableNames":[{"name":"m1","nativeSrc":"172934:2:19","nodeType":"YulIdentifier","src":"172934:2:19"}]},{"nativeSrc":"172964:17:19","nodeType":"YulAssignment","src":"172964:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"172976:4:19","nodeType":"YulLiteral","src":"172976:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"172970:5:19","nodeType":"YulIdentifier","src":"172970:5:19"},"nativeSrc":"172970:11:19","nodeType":"YulFunctionCall","src":"172970:11:19"},"variableNames":[{"name":"m2","nativeSrc":"172964:2:19","nodeType":"YulIdentifier","src":"172964:2:19"}]},{"nativeSrc":"172994:17:19","nodeType":"YulAssignment","src":"172994:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"173006:4:19","nodeType":"YulLiteral","src":"173006:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"173000:5:19","nodeType":"YulIdentifier","src":"173000:5:19"},"nativeSrc":"173000:11:19","nodeType":"YulFunctionCall","src":"173000:11:19"},"variableNames":[{"name":"m3","nativeSrc":"172994:2:19","nodeType":"YulIdentifier","src":"172994:2:19"}]},{"nativeSrc":"173024:17:19","nodeType":"YulAssignment","src":"173024:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"173036:4:19","nodeType":"YulLiteral","src":"173036:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"173030:5:19","nodeType":"YulIdentifier","src":"173030:5:19"},"nativeSrc":"173030:11:19","nodeType":"YulFunctionCall","src":"173030:11:19"},"variableNames":[{"name":"m4","nativeSrc":"173024:2:19","nodeType":"YulIdentifier","src":"173024:2:19"}]},{"nativeSrc":"173054:17:19","nodeType":"YulAssignment","src":"173054:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"173066:4:19","nodeType":"YulLiteral","src":"173066:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"173060:5:19","nodeType":"YulIdentifier","src":"173060:5:19"},"nativeSrc":"173060:11:19","nodeType":"YulFunctionCall","src":"173060:11:19"},"variableNames":[{"name":"m5","nativeSrc":"173054:2:19","nodeType":"YulIdentifier","src":"173054:2:19"}]},{"nativeSrc":"173084:17:19","nodeType":"YulAssignment","src":"173084:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"173096:4:19","nodeType":"YulLiteral","src":"173096:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"173090:5:19","nodeType":"YulIdentifier","src":"173090:5:19"},"nativeSrc":"173090:11:19","nodeType":"YulFunctionCall","src":"173090:11:19"},"variableNames":[{"name":"m6","nativeSrc":"173084:2:19","nodeType":"YulIdentifier","src":"173084:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173184:4:19","nodeType":"YulLiteral","src":"173184:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"173190:10:19","nodeType":"YulLiteral","src":"173190:10:19","type":"","value":"0xd812a167"}],"functionName":{"name":"mstore","nativeSrc":"173177:6:19","nodeType":"YulIdentifier","src":"173177:6:19"},"nativeSrc":"173177:24:19","nodeType":"YulFunctionCall","src":"173177:24:19"},"nativeSrc":"173177:24:19","nodeType":"YulExpressionStatement","src":"173177:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173221:4:19","nodeType":"YulLiteral","src":"173221:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"173227:2:19","nodeType":"YulIdentifier","src":"173227:2:19"}],"functionName":{"name":"mstore","nativeSrc":"173214:6:19","nodeType":"YulIdentifier","src":"173214:6:19"},"nativeSrc":"173214:16:19","nodeType":"YulFunctionCall","src":"173214:16:19"},"nativeSrc":"173214:16:19","nodeType":"YulExpressionStatement","src":"173214:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173250:4:19","nodeType":"YulLiteral","src":"173250:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"173256:2:19","nodeType":"YulIdentifier","src":"173256:2:19"}],"functionName":{"name":"mstore","nativeSrc":"173243:6:19","nodeType":"YulIdentifier","src":"173243:6:19"},"nativeSrc":"173243:16:19","nodeType":"YulFunctionCall","src":"173243:16:19"},"nativeSrc":"173243:16:19","nodeType":"YulExpressionStatement","src":"173243:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173279:4:19","nodeType":"YulLiteral","src":"173279:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"173285:2:19","nodeType":"YulIdentifier","src":"173285:2:19"}],"functionName":{"name":"mstore","nativeSrc":"173272:6:19","nodeType":"YulIdentifier","src":"173272:6:19"},"nativeSrc":"173272:16:19","nodeType":"YulFunctionCall","src":"173272:16:19"},"nativeSrc":"173272:16:19","nodeType":"YulExpressionStatement","src":"173272:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173308:4:19","nodeType":"YulLiteral","src":"173308:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"173314:4:19","nodeType":"YulLiteral","src":"173314:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"173301:6:19","nodeType":"YulIdentifier","src":"173301:6:19"},"nativeSrc":"173301:18:19","nodeType":"YulFunctionCall","src":"173301:18:19"},"nativeSrc":"173301:18:19","nodeType":"YulExpressionStatement","src":"173301:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173344:4:19","nodeType":"YulLiteral","src":"173344:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"173350:2:19","nodeType":"YulIdentifier","src":"173350:2:19"}],"functionName":{"name":"writeString","nativeSrc":"173332:11:19","nodeType":"YulIdentifier","src":"173332:11:19"},"nativeSrc":"173332:21:19","nodeType":"YulFunctionCall","src":"173332:21:19"},"nativeSrc":"173332:21:19","nodeType":"YulExpressionStatement","src":"173332:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31696,"isOffset":false,"isSlot":false,"src":"172904:2:19","valueSize":1},{"declaration":31699,"isOffset":false,"isSlot":false,"src":"172934:2:19","valueSize":1},{"declaration":31702,"isOffset":false,"isSlot":false,"src":"172964:2:19","valueSize":1},{"declaration":31705,"isOffset":false,"isSlot":false,"src":"172994:2:19","valueSize":1},{"declaration":31708,"isOffset":false,"isSlot":false,"src":"173024:2:19","valueSize":1},{"declaration":31711,"isOffset":false,"isSlot":false,"src":"173054:2:19","valueSize":1},{"declaration":31714,"isOffset":false,"isSlot":false,"src":"173084:2:19","valueSize":1},{"declaration":31686,"isOffset":false,"isSlot":false,"src":"173227:2:19","valueSize":1},{"declaration":31688,"isOffset":false,"isSlot":false,"src":"173256:2:19","valueSize":1},{"declaration":31690,"isOffset":false,"isSlot":false,"src":"173285:2:19","valueSize":1},{"declaration":31692,"isOffset":false,"isSlot":false,"src":"173350:2:19","valueSize":1}],"id":31716,"nodeType":"InlineAssembly","src":"172526:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"173388:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":31719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"173394:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":31717,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"173372:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"173372:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31721,"nodeType":"ExpressionStatement","src":"173372:27:19"},{"AST":{"nativeSrc":"173461:214:19","nodeType":"YulBlock","src":"173461:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"173482:4:19","nodeType":"YulLiteral","src":"173482:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"173488:2:19","nodeType":"YulIdentifier","src":"173488:2:19"}],"functionName":{"name":"mstore","nativeSrc":"173475:6:19","nodeType":"YulIdentifier","src":"173475:6:19"},"nativeSrc":"173475:16:19","nodeType":"YulFunctionCall","src":"173475:16:19"},"nativeSrc":"173475:16:19","nodeType":"YulExpressionStatement","src":"173475:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173511:4:19","nodeType":"YulLiteral","src":"173511:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"173517:2:19","nodeType":"YulIdentifier","src":"173517:2:19"}],"functionName":{"name":"mstore","nativeSrc":"173504:6:19","nodeType":"YulIdentifier","src":"173504:6:19"},"nativeSrc":"173504:16:19","nodeType":"YulFunctionCall","src":"173504:16:19"},"nativeSrc":"173504:16:19","nodeType":"YulExpressionStatement","src":"173504:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173540:4:19","nodeType":"YulLiteral","src":"173540:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"173546:2:19","nodeType":"YulIdentifier","src":"173546:2:19"}],"functionName":{"name":"mstore","nativeSrc":"173533:6:19","nodeType":"YulIdentifier","src":"173533:6:19"},"nativeSrc":"173533:16:19","nodeType":"YulFunctionCall","src":"173533:16:19"},"nativeSrc":"173533:16:19","nodeType":"YulExpressionStatement","src":"173533:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173569:4:19","nodeType":"YulLiteral","src":"173569:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"173575:2:19","nodeType":"YulIdentifier","src":"173575:2:19"}],"functionName":{"name":"mstore","nativeSrc":"173562:6:19","nodeType":"YulIdentifier","src":"173562:6:19"},"nativeSrc":"173562:16:19","nodeType":"YulFunctionCall","src":"173562:16:19"},"nativeSrc":"173562:16:19","nodeType":"YulExpressionStatement","src":"173562:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173598:4:19","nodeType":"YulLiteral","src":"173598:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"173604:2:19","nodeType":"YulIdentifier","src":"173604:2:19"}],"functionName":{"name":"mstore","nativeSrc":"173591:6:19","nodeType":"YulIdentifier","src":"173591:6:19"},"nativeSrc":"173591:16:19","nodeType":"YulFunctionCall","src":"173591:16:19"},"nativeSrc":"173591:16:19","nodeType":"YulExpressionStatement","src":"173591:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173627:4:19","nodeType":"YulLiteral","src":"173627:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"173633:2:19","nodeType":"YulIdentifier","src":"173633:2:19"}],"functionName":{"name":"mstore","nativeSrc":"173620:6:19","nodeType":"YulIdentifier","src":"173620:6:19"},"nativeSrc":"173620:16:19","nodeType":"YulFunctionCall","src":"173620:16:19"},"nativeSrc":"173620:16:19","nodeType":"YulExpressionStatement","src":"173620:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"173656:4:19","nodeType":"YulLiteral","src":"173656:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"173662:2:19","nodeType":"YulIdentifier","src":"173662:2:19"}],"functionName":{"name":"mstore","nativeSrc":"173649:6:19","nodeType":"YulIdentifier","src":"173649:6:19"},"nativeSrc":"173649:16:19","nodeType":"YulFunctionCall","src":"173649:16:19"},"nativeSrc":"173649:16:19","nodeType":"YulExpressionStatement","src":"173649:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31696,"isOffset":false,"isSlot":false,"src":"173488:2:19","valueSize":1},{"declaration":31699,"isOffset":false,"isSlot":false,"src":"173517:2:19","valueSize":1},{"declaration":31702,"isOffset":false,"isSlot":false,"src":"173546:2:19","valueSize":1},{"declaration":31705,"isOffset":false,"isSlot":false,"src":"173575:2:19","valueSize":1},{"declaration":31708,"isOffset":false,"isSlot":false,"src":"173604:2:19","valueSize":1},{"declaration":31711,"isOffset":false,"isSlot":false,"src":"173633:2:19","valueSize":1},{"declaration":31714,"isOffset":false,"isSlot":false,"src":"173662:2:19","valueSize":1}],"id":31722,"nodeType":"InlineAssembly","src":"173452:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"172270:3:19","parameters":{"id":31693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31686,"mutability":"mutable","name":"p0","nameLocation":"172279:2:19","nodeType":"VariableDeclaration","scope":31724,"src":"172274:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31685,"name":"bool","nodeType":"ElementaryTypeName","src":"172274:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31688,"mutability":"mutable","name":"p1","nameLocation":"172291:2:19","nodeType":"VariableDeclaration","scope":31724,"src":"172283:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31687,"name":"address","nodeType":"ElementaryTypeName","src":"172283:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31690,"mutability":"mutable","name":"p2","nameLocation":"172303:2:19","nodeType":"VariableDeclaration","scope":31724,"src":"172295:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31689,"name":"address","nodeType":"ElementaryTypeName","src":"172295:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31692,"mutability":"mutable","name":"p3","nameLocation":"172315:2:19","nodeType":"VariableDeclaration","scope":31724,"src":"172307:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31691,"name":"bytes32","nodeType":"ElementaryTypeName","src":"172307:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"172273:45:19"},"returnParameters":{"id":31694,"nodeType":"ParameterList","parameters":[],"src":"172333:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31758,"nodeType":"FunctionDefinition","src":"173687:866:19","nodes":[],"body":{"id":31757,"nodeType":"Block","src":"173756:797:19","nodes":[],"statements":[{"assignments":[31736],"declarations":[{"constant":false,"id":31736,"mutability":"mutable","name":"m0","nameLocation":"173774:2:19","nodeType":"VariableDeclaration","scope":31757,"src":"173766:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31735,"name":"bytes32","nodeType":"ElementaryTypeName","src":"173766:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31737,"nodeType":"VariableDeclarationStatement","src":"173766:10:19"},{"assignments":[31739],"declarations":[{"constant":false,"id":31739,"mutability":"mutable","name":"m1","nameLocation":"173794:2:19","nodeType":"VariableDeclaration","scope":31757,"src":"173786:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31738,"name":"bytes32","nodeType":"ElementaryTypeName","src":"173786:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31740,"nodeType":"VariableDeclarationStatement","src":"173786:10:19"},{"assignments":[31742],"declarations":[{"constant":false,"id":31742,"mutability":"mutable","name":"m2","nameLocation":"173814:2:19","nodeType":"VariableDeclaration","scope":31757,"src":"173806:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31741,"name":"bytes32","nodeType":"ElementaryTypeName","src":"173806:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31743,"nodeType":"VariableDeclarationStatement","src":"173806:10:19"},{"assignments":[31745],"declarations":[{"constant":false,"id":31745,"mutability":"mutable","name":"m3","nameLocation":"173834:2:19","nodeType":"VariableDeclaration","scope":31757,"src":"173826:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"173826:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31746,"nodeType":"VariableDeclarationStatement","src":"173826:10:19"},{"assignments":[31748],"declarations":[{"constant":false,"id":31748,"mutability":"mutable","name":"m4","nameLocation":"173854:2:19","nodeType":"VariableDeclaration","scope":31757,"src":"173846:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31747,"name":"bytes32","nodeType":"ElementaryTypeName","src":"173846:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31749,"nodeType":"VariableDeclarationStatement","src":"173846:10:19"},{"AST":{"nativeSrc":"173918:375:19","nodeType":"YulBlock","src":"173918:375:19","statements":[{"nativeSrc":"173932:17:19","nodeType":"YulAssignment","src":"173932:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"173944:4:19","nodeType":"YulLiteral","src":"173944:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"173938:5:19","nodeType":"YulIdentifier","src":"173938:5:19"},"nativeSrc":"173938:11:19","nodeType":"YulFunctionCall","src":"173938:11:19"},"variableNames":[{"name":"m0","nativeSrc":"173932:2:19","nodeType":"YulIdentifier","src":"173932:2:19"}]},{"nativeSrc":"173962:17:19","nodeType":"YulAssignment","src":"173962:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"173974:4:19","nodeType":"YulLiteral","src":"173974:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"173968:5:19","nodeType":"YulIdentifier","src":"173968:5:19"},"nativeSrc":"173968:11:19","nodeType":"YulFunctionCall","src":"173968:11:19"},"variableNames":[{"name":"m1","nativeSrc":"173962:2:19","nodeType":"YulIdentifier","src":"173962:2:19"}]},{"nativeSrc":"173992:17:19","nodeType":"YulAssignment","src":"173992:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"174004:4:19","nodeType":"YulLiteral","src":"174004:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"173998:5:19","nodeType":"YulIdentifier","src":"173998:5:19"},"nativeSrc":"173998:11:19","nodeType":"YulFunctionCall","src":"173998:11:19"},"variableNames":[{"name":"m2","nativeSrc":"173992:2:19","nodeType":"YulIdentifier","src":"173992:2:19"}]},{"nativeSrc":"174022:17:19","nodeType":"YulAssignment","src":"174022:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"174034:4:19","nodeType":"YulLiteral","src":"174034:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"174028:5:19","nodeType":"YulIdentifier","src":"174028:5:19"},"nativeSrc":"174028:11:19","nodeType":"YulFunctionCall","src":"174028:11:19"},"variableNames":[{"name":"m3","nativeSrc":"174022:2:19","nodeType":"YulIdentifier","src":"174022:2:19"}]},{"nativeSrc":"174052:17:19","nodeType":"YulAssignment","src":"174052:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"174064:4:19","nodeType":"YulLiteral","src":"174064:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"174058:5:19","nodeType":"YulIdentifier","src":"174058:5:19"},"nativeSrc":"174058:11:19","nodeType":"YulFunctionCall","src":"174058:11:19"},"variableNames":[{"name":"m4","nativeSrc":"174052:2:19","nodeType":"YulIdentifier","src":"174052:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174150:4:19","nodeType":"YulLiteral","src":"174150:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"174156:10:19","nodeType":"YulLiteral","src":"174156:10:19","type":"","value":"0x1c41a336"}],"functionName":{"name":"mstore","nativeSrc":"174143:6:19","nodeType":"YulIdentifier","src":"174143:6:19"},"nativeSrc":"174143:24:19","nodeType":"YulFunctionCall","src":"174143:24:19"},"nativeSrc":"174143:24:19","nodeType":"YulExpressionStatement","src":"174143:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174187:4:19","nodeType":"YulLiteral","src":"174187:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"174193:2:19","nodeType":"YulIdentifier","src":"174193:2:19"}],"functionName":{"name":"mstore","nativeSrc":"174180:6:19","nodeType":"YulIdentifier","src":"174180:6:19"},"nativeSrc":"174180:16:19","nodeType":"YulFunctionCall","src":"174180:16:19"},"nativeSrc":"174180:16:19","nodeType":"YulExpressionStatement","src":"174180:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174216:4:19","nodeType":"YulLiteral","src":"174216:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"174222:2:19","nodeType":"YulIdentifier","src":"174222:2:19"}],"functionName":{"name":"mstore","nativeSrc":"174209:6:19","nodeType":"YulIdentifier","src":"174209:6:19"},"nativeSrc":"174209:16:19","nodeType":"YulFunctionCall","src":"174209:16:19"},"nativeSrc":"174209:16:19","nodeType":"YulExpressionStatement","src":"174209:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174245:4:19","nodeType":"YulLiteral","src":"174245:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"174251:2:19","nodeType":"YulIdentifier","src":"174251:2:19"}],"functionName":{"name":"mstore","nativeSrc":"174238:6:19","nodeType":"YulIdentifier","src":"174238:6:19"},"nativeSrc":"174238:16:19","nodeType":"YulFunctionCall","src":"174238:16:19"},"nativeSrc":"174238:16:19","nodeType":"YulExpressionStatement","src":"174238:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174274:4:19","nodeType":"YulLiteral","src":"174274:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"174280:2:19","nodeType":"YulIdentifier","src":"174280:2:19"}],"functionName":{"name":"mstore","nativeSrc":"174267:6:19","nodeType":"YulIdentifier","src":"174267:6:19"},"nativeSrc":"174267:16:19","nodeType":"YulFunctionCall","src":"174267:16:19"},"nativeSrc":"174267:16:19","nodeType":"YulExpressionStatement","src":"174267:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31736,"isOffset":false,"isSlot":false,"src":"173932:2:19","valueSize":1},{"declaration":31739,"isOffset":false,"isSlot":false,"src":"173962:2:19","valueSize":1},{"declaration":31742,"isOffset":false,"isSlot":false,"src":"173992:2:19","valueSize":1},{"declaration":31745,"isOffset":false,"isSlot":false,"src":"174022:2:19","valueSize":1},{"declaration":31748,"isOffset":false,"isSlot":false,"src":"174052:2:19","valueSize":1},{"declaration":31726,"isOffset":false,"isSlot":false,"src":"174193:2:19","valueSize":1},{"declaration":31728,"isOffset":false,"isSlot":false,"src":"174222:2:19","valueSize":1},{"declaration":31730,"isOffset":false,"isSlot":false,"src":"174251:2:19","valueSize":1},{"declaration":31732,"isOffset":false,"isSlot":false,"src":"174280:2:19","valueSize":1}],"id":31750,"nodeType":"InlineAssembly","src":"173909:384:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"174318:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":31753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"174324:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":31751,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"174302:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"174302:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31755,"nodeType":"ExpressionStatement","src":"174302:27:19"},{"AST":{"nativeSrc":"174391:156:19","nodeType":"YulBlock","src":"174391:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"174412:4:19","nodeType":"YulLiteral","src":"174412:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"174418:2:19","nodeType":"YulIdentifier","src":"174418:2:19"}],"functionName":{"name":"mstore","nativeSrc":"174405:6:19","nodeType":"YulIdentifier","src":"174405:6:19"},"nativeSrc":"174405:16:19","nodeType":"YulFunctionCall","src":"174405:16:19"},"nativeSrc":"174405:16:19","nodeType":"YulExpressionStatement","src":"174405:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174441:4:19","nodeType":"YulLiteral","src":"174441:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"174447:2:19","nodeType":"YulIdentifier","src":"174447:2:19"}],"functionName":{"name":"mstore","nativeSrc":"174434:6:19","nodeType":"YulIdentifier","src":"174434:6:19"},"nativeSrc":"174434:16:19","nodeType":"YulFunctionCall","src":"174434:16:19"},"nativeSrc":"174434:16:19","nodeType":"YulExpressionStatement","src":"174434:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174470:4:19","nodeType":"YulLiteral","src":"174470:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"174476:2:19","nodeType":"YulIdentifier","src":"174476:2:19"}],"functionName":{"name":"mstore","nativeSrc":"174463:6:19","nodeType":"YulIdentifier","src":"174463:6:19"},"nativeSrc":"174463:16:19","nodeType":"YulFunctionCall","src":"174463:16:19"},"nativeSrc":"174463:16:19","nodeType":"YulExpressionStatement","src":"174463:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174499:4:19","nodeType":"YulLiteral","src":"174499:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"174505:2:19","nodeType":"YulIdentifier","src":"174505:2:19"}],"functionName":{"name":"mstore","nativeSrc":"174492:6:19","nodeType":"YulIdentifier","src":"174492:6:19"},"nativeSrc":"174492:16:19","nodeType":"YulFunctionCall","src":"174492:16:19"},"nativeSrc":"174492:16:19","nodeType":"YulExpressionStatement","src":"174492:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"174528:4:19","nodeType":"YulLiteral","src":"174528:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"174534:2:19","nodeType":"YulIdentifier","src":"174534:2:19"}],"functionName":{"name":"mstore","nativeSrc":"174521:6:19","nodeType":"YulIdentifier","src":"174521:6:19"},"nativeSrc":"174521:16:19","nodeType":"YulFunctionCall","src":"174521:16:19"},"nativeSrc":"174521:16:19","nodeType":"YulExpressionStatement","src":"174521:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31736,"isOffset":false,"isSlot":false,"src":"174418:2:19","valueSize":1},{"declaration":31739,"isOffset":false,"isSlot":false,"src":"174447:2:19","valueSize":1},{"declaration":31742,"isOffset":false,"isSlot":false,"src":"174476:2:19","valueSize":1},{"declaration":31745,"isOffset":false,"isSlot":false,"src":"174505:2:19","valueSize":1},{"declaration":31748,"isOffset":false,"isSlot":false,"src":"174534:2:19","valueSize":1}],"id":31756,"nodeType":"InlineAssembly","src":"174382:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"173696:3:19","parameters":{"id":31733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31726,"mutability":"mutable","name":"p0","nameLocation":"173705:2:19","nodeType":"VariableDeclaration","scope":31758,"src":"173700:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31725,"name":"bool","nodeType":"ElementaryTypeName","src":"173700:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31728,"mutability":"mutable","name":"p1","nameLocation":"173717:2:19","nodeType":"VariableDeclaration","scope":31758,"src":"173709:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31727,"name":"address","nodeType":"ElementaryTypeName","src":"173709:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31730,"mutability":"mutable","name":"p2","nameLocation":"173726:2:19","nodeType":"VariableDeclaration","scope":31758,"src":"173721:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31729,"name":"bool","nodeType":"ElementaryTypeName","src":"173721:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31732,"mutability":"mutable","name":"p3","nameLocation":"173738:2:19","nodeType":"VariableDeclaration","scope":31758,"src":"173730:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31731,"name":"address","nodeType":"ElementaryTypeName","src":"173730:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"173699:42:19"},"returnParameters":{"id":31734,"nodeType":"ParameterList","parameters":[],"src":"173756:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31792,"nodeType":"FunctionDefinition","src":"174559:860:19","nodes":[],"body":{"id":31791,"nodeType":"Block","src":"174625:794:19","nodes":[],"statements":[{"assignments":[31770],"declarations":[{"constant":false,"id":31770,"mutability":"mutable","name":"m0","nameLocation":"174643:2:19","nodeType":"VariableDeclaration","scope":31791,"src":"174635:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31769,"name":"bytes32","nodeType":"ElementaryTypeName","src":"174635:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31771,"nodeType":"VariableDeclarationStatement","src":"174635:10:19"},{"assignments":[31773],"declarations":[{"constant":false,"id":31773,"mutability":"mutable","name":"m1","nameLocation":"174663:2:19","nodeType":"VariableDeclaration","scope":31791,"src":"174655:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31772,"name":"bytes32","nodeType":"ElementaryTypeName","src":"174655:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31774,"nodeType":"VariableDeclarationStatement","src":"174655:10:19"},{"assignments":[31776],"declarations":[{"constant":false,"id":31776,"mutability":"mutable","name":"m2","nameLocation":"174683:2:19","nodeType":"VariableDeclaration","scope":31791,"src":"174675:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31775,"name":"bytes32","nodeType":"ElementaryTypeName","src":"174675:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31777,"nodeType":"VariableDeclarationStatement","src":"174675:10:19"},{"assignments":[31779],"declarations":[{"constant":false,"id":31779,"mutability":"mutable","name":"m3","nameLocation":"174703:2:19","nodeType":"VariableDeclaration","scope":31791,"src":"174695:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31778,"name":"bytes32","nodeType":"ElementaryTypeName","src":"174695:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31780,"nodeType":"VariableDeclarationStatement","src":"174695:10:19"},{"assignments":[31782],"declarations":[{"constant":false,"id":31782,"mutability":"mutable","name":"m4","nameLocation":"174723:2:19","nodeType":"VariableDeclaration","scope":31791,"src":"174715:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31781,"name":"bytes32","nodeType":"ElementaryTypeName","src":"174715:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31783,"nodeType":"VariableDeclarationStatement","src":"174715:10:19"},{"AST":{"nativeSrc":"174787:372:19","nodeType":"YulBlock","src":"174787:372:19","statements":[{"nativeSrc":"174801:17:19","nodeType":"YulAssignment","src":"174801:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"174813:4:19","nodeType":"YulLiteral","src":"174813:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"174807:5:19","nodeType":"YulIdentifier","src":"174807:5:19"},"nativeSrc":"174807:11:19","nodeType":"YulFunctionCall","src":"174807:11:19"},"variableNames":[{"name":"m0","nativeSrc":"174801:2:19","nodeType":"YulIdentifier","src":"174801:2:19"}]},{"nativeSrc":"174831:17:19","nodeType":"YulAssignment","src":"174831:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"174843:4:19","nodeType":"YulLiteral","src":"174843:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"174837:5:19","nodeType":"YulIdentifier","src":"174837:5:19"},"nativeSrc":"174837:11:19","nodeType":"YulFunctionCall","src":"174837:11:19"},"variableNames":[{"name":"m1","nativeSrc":"174831:2:19","nodeType":"YulIdentifier","src":"174831:2:19"}]},{"nativeSrc":"174861:17:19","nodeType":"YulAssignment","src":"174861:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"174873:4:19","nodeType":"YulLiteral","src":"174873:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"174867:5:19","nodeType":"YulIdentifier","src":"174867:5:19"},"nativeSrc":"174867:11:19","nodeType":"YulFunctionCall","src":"174867:11:19"},"variableNames":[{"name":"m2","nativeSrc":"174861:2:19","nodeType":"YulIdentifier","src":"174861:2:19"}]},{"nativeSrc":"174891:17:19","nodeType":"YulAssignment","src":"174891:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"174903:4:19","nodeType":"YulLiteral","src":"174903:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"174897:5:19","nodeType":"YulIdentifier","src":"174897:5:19"},"nativeSrc":"174897:11:19","nodeType":"YulFunctionCall","src":"174897:11:19"},"variableNames":[{"name":"m3","nativeSrc":"174891:2:19","nodeType":"YulIdentifier","src":"174891:2:19"}]},{"nativeSrc":"174921:17:19","nodeType":"YulAssignment","src":"174921:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"174933:4:19","nodeType":"YulLiteral","src":"174933:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"174927:5:19","nodeType":"YulIdentifier","src":"174927:5:19"},"nativeSrc":"174927:11:19","nodeType":"YulFunctionCall","src":"174927:11:19"},"variableNames":[{"name":"m4","nativeSrc":"174921:2:19","nodeType":"YulIdentifier","src":"174921:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175016:4:19","nodeType":"YulLiteral","src":"175016:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"175022:10:19","nodeType":"YulLiteral","src":"175022:10:19","type":"","value":"0x6a9c478b"}],"functionName":{"name":"mstore","nativeSrc":"175009:6:19","nodeType":"YulIdentifier","src":"175009:6:19"},"nativeSrc":"175009:24:19","nodeType":"YulFunctionCall","src":"175009:24:19"},"nativeSrc":"175009:24:19","nodeType":"YulExpressionStatement","src":"175009:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175053:4:19","nodeType":"YulLiteral","src":"175053:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"175059:2:19","nodeType":"YulIdentifier","src":"175059:2:19"}],"functionName":{"name":"mstore","nativeSrc":"175046:6:19","nodeType":"YulIdentifier","src":"175046:6:19"},"nativeSrc":"175046:16:19","nodeType":"YulFunctionCall","src":"175046:16:19"},"nativeSrc":"175046:16:19","nodeType":"YulExpressionStatement","src":"175046:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175082:4:19","nodeType":"YulLiteral","src":"175082:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"175088:2:19","nodeType":"YulIdentifier","src":"175088:2:19"}],"functionName":{"name":"mstore","nativeSrc":"175075:6:19","nodeType":"YulIdentifier","src":"175075:6:19"},"nativeSrc":"175075:16:19","nodeType":"YulFunctionCall","src":"175075:16:19"},"nativeSrc":"175075:16:19","nodeType":"YulExpressionStatement","src":"175075:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175111:4:19","nodeType":"YulLiteral","src":"175111:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"175117:2:19","nodeType":"YulIdentifier","src":"175117:2:19"}],"functionName":{"name":"mstore","nativeSrc":"175104:6:19","nodeType":"YulIdentifier","src":"175104:6:19"},"nativeSrc":"175104:16:19","nodeType":"YulFunctionCall","src":"175104:16:19"},"nativeSrc":"175104:16:19","nodeType":"YulExpressionStatement","src":"175104:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175140:4:19","nodeType":"YulLiteral","src":"175140:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"175146:2:19","nodeType":"YulIdentifier","src":"175146:2:19"}],"functionName":{"name":"mstore","nativeSrc":"175133:6:19","nodeType":"YulIdentifier","src":"175133:6:19"},"nativeSrc":"175133:16:19","nodeType":"YulFunctionCall","src":"175133:16:19"},"nativeSrc":"175133:16:19","nodeType":"YulExpressionStatement","src":"175133:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31770,"isOffset":false,"isSlot":false,"src":"174801:2:19","valueSize":1},{"declaration":31773,"isOffset":false,"isSlot":false,"src":"174831:2:19","valueSize":1},{"declaration":31776,"isOffset":false,"isSlot":false,"src":"174861:2:19","valueSize":1},{"declaration":31779,"isOffset":false,"isSlot":false,"src":"174891:2:19","valueSize":1},{"declaration":31782,"isOffset":false,"isSlot":false,"src":"174921:2:19","valueSize":1},{"declaration":31760,"isOffset":false,"isSlot":false,"src":"175059:2:19","valueSize":1},{"declaration":31762,"isOffset":false,"isSlot":false,"src":"175088:2:19","valueSize":1},{"declaration":31764,"isOffset":false,"isSlot":false,"src":"175117:2:19","valueSize":1},{"declaration":31766,"isOffset":false,"isSlot":false,"src":"175146:2:19","valueSize":1}],"id":31784,"nodeType":"InlineAssembly","src":"174778:381:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"175184:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":31787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"175190:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":31785,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"175168:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"175168:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31789,"nodeType":"ExpressionStatement","src":"175168:27:19"},{"AST":{"nativeSrc":"175257:156:19","nodeType":"YulBlock","src":"175257:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"175278:4:19","nodeType":"YulLiteral","src":"175278:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"175284:2:19","nodeType":"YulIdentifier","src":"175284:2:19"}],"functionName":{"name":"mstore","nativeSrc":"175271:6:19","nodeType":"YulIdentifier","src":"175271:6:19"},"nativeSrc":"175271:16:19","nodeType":"YulFunctionCall","src":"175271:16:19"},"nativeSrc":"175271:16:19","nodeType":"YulExpressionStatement","src":"175271:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175307:4:19","nodeType":"YulLiteral","src":"175307:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"175313:2:19","nodeType":"YulIdentifier","src":"175313:2:19"}],"functionName":{"name":"mstore","nativeSrc":"175300:6:19","nodeType":"YulIdentifier","src":"175300:6:19"},"nativeSrc":"175300:16:19","nodeType":"YulFunctionCall","src":"175300:16:19"},"nativeSrc":"175300:16:19","nodeType":"YulExpressionStatement","src":"175300:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175336:4:19","nodeType":"YulLiteral","src":"175336:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"175342:2:19","nodeType":"YulIdentifier","src":"175342:2:19"}],"functionName":{"name":"mstore","nativeSrc":"175329:6:19","nodeType":"YulIdentifier","src":"175329:6:19"},"nativeSrc":"175329:16:19","nodeType":"YulFunctionCall","src":"175329:16:19"},"nativeSrc":"175329:16:19","nodeType":"YulExpressionStatement","src":"175329:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175365:4:19","nodeType":"YulLiteral","src":"175365:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"175371:2:19","nodeType":"YulIdentifier","src":"175371:2:19"}],"functionName":{"name":"mstore","nativeSrc":"175358:6:19","nodeType":"YulIdentifier","src":"175358:6:19"},"nativeSrc":"175358:16:19","nodeType":"YulFunctionCall","src":"175358:16:19"},"nativeSrc":"175358:16:19","nodeType":"YulExpressionStatement","src":"175358:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175394:4:19","nodeType":"YulLiteral","src":"175394:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"175400:2:19","nodeType":"YulIdentifier","src":"175400:2:19"}],"functionName":{"name":"mstore","nativeSrc":"175387:6:19","nodeType":"YulIdentifier","src":"175387:6:19"},"nativeSrc":"175387:16:19","nodeType":"YulFunctionCall","src":"175387:16:19"},"nativeSrc":"175387:16:19","nodeType":"YulExpressionStatement","src":"175387:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31770,"isOffset":false,"isSlot":false,"src":"175284:2:19","valueSize":1},{"declaration":31773,"isOffset":false,"isSlot":false,"src":"175313:2:19","valueSize":1},{"declaration":31776,"isOffset":false,"isSlot":false,"src":"175342:2:19","valueSize":1},{"declaration":31779,"isOffset":false,"isSlot":false,"src":"175371:2:19","valueSize":1},{"declaration":31782,"isOffset":false,"isSlot":false,"src":"175400:2:19","valueSize":1}],"id":31790,"nodeType":"InlineAssembly","src":"175248:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"174568:3:19","parameters":{"id":31767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31760,"mutability":"mutable","name":"p0","nameLocation":"174577:2:19","nodeType":"VariableDeclaration","scope":31792,"src":"174572:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31759,"name":"bool","nodeType":"ElementaryTypeName","src":"174572:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31762,"mutability":"mutable","name":"p1","nameLocation":"174589:2:19","nodeType":"VariableDeclaration","scope":31792,"src":"174581:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31761,"name":"address","nodeType":"ElementaryTypeName","src":"174581:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31764,"mutability":"mutable","name":"p2","nameLocation":"174598:2:19","nodeType":"VariableDeclaration","scope":31792,"src":"174593:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31763,"name":"bool","nodeType":"ElementaryTypeName","src":"174593:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31766,"mutability":"mutable","name":"p3","nameLocation":"174607:2:19","nodeType":"VariableDeclaration","scope":31792,"src":"174602:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31765,"name":"bool","nodeType":"ElementaryTypeName","src":"174602:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"174571:39:19"},"returnParameters":{"id":31768,"nodeType":"ParameterList","parameters":[],"src":"174625:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31826,"nodeType":"FunctionDefinition","src":"175425:866:19","nodes":[],"body":{"id":31825,"nodeType":"Block","src":"175494:797:19","nodes":[],"statements":[{"assignments":[31804],"declarations":[{"constant":false,"id":31804,"mutability":"mutable","name":"m0","nameLocation":"175512:2:19","nodeType":"VariableDeclaration","scope":31825,"src":"175504:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31803,"name":"bytes32","nodeType":"ElementaryTypeName","src":"175504:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31805,"nodeType":"VariableDeclarationStatement","src":"175504:10:19"},{"assignments":[31807],"declarations":[{"constant":false,"id":31807,"mutability":"mutable","name":"m1","nameLocation":"175532:2:19","nodeType":"VariableDeclaration","scope":31825,"src":"175524:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31806,"name":"bytes32","nodeType":"ElementaryTypeName","src":"175524:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31808,"nodeType":"VariableDeclarationStatement","src":"175524:10:19"},{"assignments":[31810],"declarations":[{"constant":false,"id":31810,"mutability":"mutable","name":"m2","nameLocation":"175552:2:19","nodeType":"VariableDeclaration","scope":31825,"src":"175544:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31809,"name":"bytes32","nodeType":"ElementaryTypeName","src":"175544:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31811,"nodeType":"VariableDeclarationStatement","src":"175544:10:19"},{"assignments":[31813],"declarations":[{"constant":false,"id":31813,"mutability":"mutable","name":"m3","nameLocation":"175572:2:19","nodeType":"VariableDeclaration","scope":31825,"src":"175564:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31812,"name":"bytes32","nodeType":"ElementaryTypeName","src":"175564:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31814,"nodeType":"VariableDeclarationStatement","src":"175564:10:19"},{"assignments":[31816],"declarations":[{"constant":false,"id":31816,"mutability":"mutable","name":"m4","nameLocation":"175592:2:19","nodeType":"VariableDeclaration","scope":31825,"src":"175584:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31815,"name":"bytes32","nodeType":"ElementaryTypeName","src":"175584:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31817,"nodeType":"VariableDeclarationStatement","src":"175584:10:19"},{"AST":{"nativeSrc":"175656:375:19","nodeType":"YulBlock","src":"175656:375:19","statements":[{"nativeSrc":"175670:17:19","nodeType":"YulAssignment","src":"175670:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"175682:4:19","nodeType":"YulLiteral","src":"175682:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"175676:5:19","nodeType":"YulIdentifier","src":"175676:5:19"},"nativeSrc":"175676:11:19","nodeType":"YulFunctionCall","src":"175676:11:19"},"variableNames":[{"name":"m0","nativeSrc":"175670:2:19","nodeType":"YulIdentifier","src":"175670:2:19"}]},{"nativeSrc":"175700:17:19","nodeType":"YulAssignment","src":"175700:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"175712:4:19","nodeType":"YulLiteral","src":"175712:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"175706:5:19","nodeType":"YulIdentifier","src":"175706:5:19"},"nativeSrc":"175706:11:19","nodeType":"YulFunctionCall","src":"175706:11:19"},"variableNames":[{"name":"m1","nativeSrc":"175700:2:19","nodeType":"YulIdentifier","src":"175700:2:19"}]},{"nativeSrc":"175730:17:19","nodeType":"YulAssignment","src":"175730:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"175742:4:19","nodeType":"YulLiteral","src":"175742:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"175736:5:19","nodeType":"YulIdentifier","src":"175736:5:19"},"nativeSrc":"175736:11:19","nodeType":"YulFunctionCall","src":"175736:11:19"},"variableNames":[{"name":"m2","nativeSrc":"175730:2:19","nodeType":"YulIdentifier","src":"175730:2:19"}]},{"nativeSrc":"175760:17:19","nodeType":"YulAssignment","src":"175760:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"175772:4:19","nodeType":"YulLiteral","src":"175772:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"175766:5:19","nodeType":"YulIdentifier","src":"175766:5:19"},"nativeSrc":"175766:11:19","nodeType":"YulFunctionCall","src":"175766:11:19"},"variableNames":[{"name":"m3","nativeSrc":"175760:2:19","nodeType":"YulIdentifier","src":"175760:2:19"}]},{"nativeSrc":"175790:17:19","nodeType":"YulAssignment","src":"175790:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"175802:4:19","nodeType":"YulLiteral","src":"175802:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"175796:5:19","nodeType":"YulIdentifier","src":"175796:5:19"},"nativeSrc":"175796:11:19","nodeType":"YulFunctionCall","src":"175796:11:19"},"variableNames":[{"name":"m4","nativeSrc":"175790:2:19","nodeType":"YulIdentifier","src":"175790:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175888:4:19","nodeType":"YulLiteral","src":"175888:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"175894:10:19","nodeType":"YulLiteral","src":"175894:10:19","type":"","value":"0x07831502"}],"functionName":{"name":"mstore","nativeSrc":"175881:6:19","nodeType":"YulIdentifier","src":"175881:6:19"},"nativeSrc":"175881:24:19","nodeType":"YulFunctionCall","src":"175881:24:19"},"nativeSrc":"175881:24:19","nodeType":"YulExpressionStatement","src":"175881:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175925:4:19","nodeType":"YulLiteral","src":"175925:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"175931:2:19","nodeType":"YulIdentifier","src":"175931:2:19"}],"functionName":{"name":"mstore","nativeSrc":"175918:6:19","nodeType":"YulIdentifier","src":"175918:6:19"},"nativeSrc":"175918:16:19","nodeType":"YulFunctionCall","src":"175918:16:19"},"nativeSrc":"175918:16:19","nodeType":"YulExpressionStatement","src":"175918:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175954:4:19","nodeType":"YulLiteral","src":"175954:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"175960:2:19","nodeType":"YulIdentifier","src":"175960:2:19"}],"functionName":{"name":"mstore","nativeSrc":"175947:6:19","nodeType":"YulIdentifier","src":"175947:6:19"},"nativeSrc":"175947:16:19","nodeType":"YulFunctionCall","src":"175947:16:19"},"nativeSrc":"175947:16:19","nodeType":"YulExpressionStatement","src":"175947:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"175983:4:19","nodeType":"YulLiteral","src":"175983:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"175989:2:19","nodeType":"YulIdentifier","src":"175989:2:19"}],"functionName":{"name":"mstore","nativeSrc":"175976:6:19","nodeType":"YulIdentifier","src":"175976:6:19"},"nativeSrc":"175976:16:19","nodeType":"YulFunctionCall","src":"175976:16:19"},"nativeSrc":"175976:16:19","nodeType":"YulExpressionStatement","src":"175976:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"176012:4:19","nodeType":"YulLiteral","src":"176012:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"176018:2:19","nodeType":"YulIdentifier","src":"176018:2:19"}],"functionName":{"name":"mstore","nativeSrc":"176005:6:19","nodeType":"YulIdentifier","src":"176005:6:19"},"nativeSrc":"176005:16:19","nodeType":"YulFunctionCall","src":"176005:16:19"},"nativeSrc":"176005:16:19","nodeType":"YulExpressionStatement","src":"176005:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31804,"isOffset":false,"isSlot":false,"src":"175670:2:19","valueSize":1},{"declaration":31807,"isOffset":false,"isSlot":false,"src":"175700:2:19","valueSize":1},{"declaration":31810,"isOffset":false,"isSlot":false,"src":"175730:2:19","valueSize":1},{"declaration":31813,"isOffset":false,"isSlot":false,"src":"175760:2:19","valueSize":1},{"declaration":31816,"isOffset":false,"isSlot":false,"src":"175790:2:19","valueSize":1},{"declaration":31794,"isOffset":false,"isSlot":false,"src":"175931:2:19","valueSize":1},{"declaration":31796,"isOffset":false,"isSlot":false,"src":"175960:2:19","valueSize":1},{"declaration":31798,"isOffset":false,"isSlot":false,"src":"175989:2:19","valueSize":1},{"declaration":31800,"isOffset":false,"isSlot":false,"src":"176018:2:19","valueSize":1}],"id":31818,"nodeType":"InlineAssembly","src":"175647:384:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"176056:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":31821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"176062:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":31819,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"176040:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"176040:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31823,"nodeType":"ExpressionStatement","src":"176040:27:19"},{"AST":{"nativeSrc":"176129:156:19","nodeType":"YulBlock","src":"176129:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"176150:4:19","nodeType":"YulLiteral","src":"176150:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"176156:2:19","nodeType":"YulIdentifier","src":"176156:2:19"}],"functionName":{"name":"mstore","nativeSrc":"176143:6:19","nodeType":"YulIdentifier","src":"176143:6:19"},"nativeSrc":"176143:16:19","nodeType":"YulFunctionCall","src":"176143:16:19"},"nativeSrc":"176143:16:19","nodeType":"YulExpressionStatement","src":"176143:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"176179:4:19","nodeType":"YulLiteral","src":"176179:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"176185:2:19","nodeType":"YulIdentifier","src":"176185:2:19"}],"functionName":{"name":"mstore","nativeSrc":"176172:6:19","nodeType":"YulIdentifier","src":"176172:6:19"},"nativeSrc":"176172:16:19","nodeType":"YulFunctionCall","src":"176172:16:19"},"nativeSrc":"176172:16:19","nodeType":"YulExpressionStatement","src":"176172:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"176208:4:19","nodeType":"YulLiteral","src":"176208:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"176214:2:19","nodeType":"YulIdentifier","src":"176214:2:19"}],"functionName":{"name":"mstore","nativeSrc":"176201:6:19","nodeType":"YulIdentifier","src":"176201:6:19"},"nativeSrc":"176201:16:19","nodeType":"YulFunctionCall","src":"176201:16:19"},"nativeSrc":"176201:16:19","nodeType":"YulExpressionStatement","src":"176201:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"176237:4:19","nodeType":"YulLiteral","src":"176237:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"176243:2:19","nodeType":"YulIdentifier","src":"176243:2:19"}],"functionName":{"name":"mstore","nativeSrc":"176230:6:19","nodeType":"YulIdentifier","src":"176230:6:19"},"nativeSrc":"176230:16:19","nodeType":"YulFunctionCall","src":"176230:16:19"},"nativeSrc":"176230:16:19","nodeType":"YulExpressionStatement","src":"176230:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"176266:4:19","nodeType":"YulLiteral","src":"176266:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"176272:2:19","nodeType":"YulIdentifier","src":"176272:2:19"}],"functionName":{"name":"mstore","nativeSrc":"176259:6:19","nodeType":"YulIdentifier","src":"176259:6:19"},"nativeSrc":"176259:16:19","nodeType":"YulFunctionCall","src":"176259:16:19"},"nativeSrc":"176259:16:19","nodeType":"YulExpressionStatement","src":"176259:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31804,"isOffset":false,"isSlot":false,"src":"176156:2:19","valueSize":1},{"declaration":31807,"isOffset":false,"isSlot":false,"src":"176185:2:19","valueSize":1},{"declaration":31810,"isOffset":false,"isSlot":false,"src":"176214:2:19","valueSize":1},{"declaration":31813,"isOffset":false,"isSlot":false,"src":"176243:2:19","valueSize":1},{"declaration":31816,"isOffset":false,"isSlot":false,"src":"176272:2:19","valueSize":1}],"id":31824,"nodeType":"InlineAssembly","src":"176120:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"175434:3:19","parameters":{"id":31801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31794,"mutability":"mutable","name":"p0","nameLocation":"175443:2:19","nodeType":"VariableDeclaration","scope":31826,"src":"175438:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31793,"name":"bool","nodeType":"ElementaryTypeName","src":"175438:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31796,"mutability":"mutable","name":"p1","nameLocation":"175455:2:19","nodeType":"VariableDeclaration","scope":31826,"src":"175447:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31795,"name":"address","nodeType":"ElementaryTypeName","src":"175447:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31798,"mutability":"mutable","name":"p2","nameLocation":"175464:2:19","nodeType":"VariableDeclaration","scope":31826,"src":"175459:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31797,"name":"bool","nodeType":"ElementaryTypeName","src":"175459:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31800,"mutability":"mutable","name":"p3","nameLocation":"175476:2:19","nodeType":"VariableDeclaration","scope":31826,"src":"175468:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31799,"name":"uint256","nodeType":"ElementaryTypeName","src":"175468:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"175437:42:19"},"returnParameters":{"id":31802,"nodeType":"ParameterList","parameters":[],"src":"175494:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31866,"nodeType":"FunctionDefinition","src":"176297:1414:19","nodes":[],"body":{"id":31865,"nodeType":"Block","src":"176366:1345:19","nodes":[],"statements":[{"assignments":[31838],"declarations":[{"constant":false,"id":31838,"mutability":"mutable","name":"m0","nameLocation":"176384:2:19","nodeType":"VariableDeclaration","scope":31865,"src":"176376:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31837,"name":"bytes32","nodeType":"ElementaryTypeName","src":"176376:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31839,"nodeType":"VariableDeclarationStatement","src":"176376:10:19"},{"assignments":[31841],"declarations":[{"constant":false,"id":31841,"mutability":"mutable","name":"m1","nameLocation":"176404:2:19","nodeType":"VariableDeclaration","scope":31865,"src":"176396:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31840,"name":"bytes32","nodeType":"ElementaryTypeName","src":"176396:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31842,"nodeType":"VariableDeclarationStatement","src":"176396:10:19"},{"assignments":[31844],"declarations":[{"constant":false,"id":31844,"mutability":"mutable","name":"m2","nameLocation":"176424:2:19","nodeType":"VariableDeclaration","scope":31865,"src":"176416:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31843,"name":"bytes32","nodeType":"ElementaryTypeName","src":"176416:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31845,"nodeType":"VariableDeclarationStatement","src":"176416:10:19"},{"assignments":[31847],"declarations":[{"constant":false,"id":31847,"mutability":"mutable","name":"m3","nameLocation":"176444:2:19","nodeType":"VariableDeclaration","scope":31865,"src":"176436:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31846,"name":"bytes32","nodeType":"ElementaryTypeName","src":"176436:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31848,"nodeType":"VariableDeclarationStatement","src":"176436:10:19"},{"assignments":[31850],"declarations":[{"constant":false,"id":31850,"mutability":"mutable","name":"m4","nameLocation":"176464:2:19","nodeType":"VariableDeclaration","scope":31865,"src":"176456:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31849,"name":"bytes32","nodeType":"ElementaryTypeName","src":"176456:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31851,"nodeType":"VariableDeclarationStatement","src":"176456:10:19"},{"assignments":[31853],"declarations":[{"constant":false,"id":31853,"mutability":"mutable","name":"m5","nameLocation":"176484:2:19","nodeType":"VariableDeclaration","scope":31865,"src":"176476:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31852,"name":"bytes32","nodeType":"ElementaryTypeName","src":"176476:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31854,"nodeType":"VariableDeclarationStatement","src":"176476:10:19"},{"assignments":[31856],"declarations":[{"constant":false,"id":31856,"mutability":"mutable","name":"m6","nameLocation":"176504:2:19","nodeType":"VariableDeclaration","scope":31865,"src":"176496:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31855,"name":"bytes32","nodeType":"ElementaryTypeName","src":"176496:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31857,"nodeType":"VariableDeclarationStatement","src":"176496:10:19"},{"AST":{"nativeSrc":"176568:825:19","nodeType":"YulBlock","src":"176568:825:19","statements":[{"body":{"nativeSrc":"176611:313:19","nodeType":"YulBlock","src":"176611:313:19","statements":[{"nativeSrc":"176629:15:19","nodeType":"YulVariableDeclaration","src":"176629:15:19","value":{"kind":"number","nativeSrc":"176643:1:19","nodeType":"YulLiteral","src":"176643:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"176633:6:19","nodeType":"YulTypedName","src":"176633:6:19","type":""}]},{"body":{"nativeSrc":"176714:40:19","nodeType":"YulBlock","src":"176714:40:19","statements":[{"body":{"nativeSrc":"176743:9:19","nodeType":"YulBlock","src":"176743:9:19","statements":[{"nativeSrc":"176745:5:19","nodeType":"YulBreak","src":"176745:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"176731:6:19","nodeType":"YulIdentifier","src":"176731:6:19"},{"name":"w","nativeSrc":"176739:1:19","nodeType":"YulIdentifier","src":"176739:1:19"}],"functionName":{"name":"byte","nativeSrc":"176726:4:19","nodeType":"YulIdentifier","src":"176726:4:19"},"nativeSrc":"176726:15:19","nodeType":"YulFunctionCall","src":"176726:15:19"}],"functionName":{"name":"iszero","nativeSrc":"176719:6:19","nodeType":"YulIdentifier","src":"176719:6:19"},"nativeSrc":"176719:23:19","nodeType":"YulFunctionCall","src":"176719:23:19"},"nativeSrc":"176716:36:19","nodeType":"YulIf","src":"176716:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"176671:6:19","nodeType":"YulIdentifier","src":"176671:6:19"},{"kind":"number","nativeSrc":"176679:4:19","nodeType":"YulLiteral","src":"176679:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"176668:2:19","nodeType":"YulIdentifier","src":"176668:2:19"},"nativeSrc":"176668:16:19","nodeType":"YulFunctionCall","src":"176668:16:19"},"nativeSrc":"176661:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"176685:28:19","nodeType":"YulBlock","src":"176685:28:19","statements":[{"nativeSrc":"176687:24:19","nodeType":"YulAssignment","src":"176687:24:19","value":{"arguments":[{"name":"length","nativeSrc":"176701:6:19","nodeType":"YulIdentifier","src":"176701:6:19"},{"kind":"number","nativeSrc":"176709:1:19","nodeType":"YulLiteral","src":"176709:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"176697:3:19","nodeType":"YulIdentifier","src":"176697:3:19"},"nativeSrc":"176697:14:19","nodeType":"YulFunctionCall","src":"176697:14:19"},"variableNames":[{"name":"length","nativeSrc":"176687:6:19","nodeType":"YulIdentifier","src":"176687:6:19"}]}]},"pre":{"nativeSrc":"176665:2:19","nodeType":"YulBlock","src":"176665:2:19","statements":[]},"src":"176661:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"176778:3:19","nodeType":"YulIdentifier","src":"176778:3:19"},{"name":"length","nativeSrc":"176783:6:19","nodeType":"YulIdentifier","src":"176783:6:19"}],"functionName":{"name":"mstore","nativeSrc":"176771:6:19","nodeType":"YulIdentifier","src":"176771:6:19"},"nativeSrc":"176771:19:19","nodeType":"YulFunctionCall","src":"176771:19:19"},"nativeSrc":"176771:19:19","nodeType":"YulExpressionStatement","src":"176771:19:19"},{"nativeSrc":"176807:37:19","nodeType":"YulVariableDeclaration","src":"176807:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"176824:3:19","nodeType":"YulLiteral","src":"176824:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"176833:1:19","nodeType":"YulLiteral","src":"176833:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"176836:6:19","nodeType":"YulIdentifier","src":"176836:6:19"}],"functionName":{"name":"shl","nativeSrc":"176829:3:19","nodeType":"YulIdentifier","src":"176829:3:19"},"nativeSrc":"176829:14:19","nodeType":"YulFunctionCall","src":"176829:14:19"}],"functionName":{"name":"sub","nativeSrc":"176820:3:19","nodeType":"YulIdentifier","src":"176820:3:19"},"nativeSrc":"176820:24:19","nodeType":"YulFunctionCall","src":"176820:24:19"},"variables":[{"name":"shift","nativeSrc":"176811:5:19","nodeType":"YulTypedName","src":"176811:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"176872:3:19","nodeType":"YulIdentifier","src":"176872:3:19"},{"kind":"number","nativeSrc":"176877:4:19","nodeType":"YulLiteral","src":"176877:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"176868:3:19","nodeType":"YulIdentifier","src":"176868:3:19"},"nativeSrc":"176868:14:19","nodeType":"YulFunctionCall","src":"176868:14:19"},{"arguments":[{"name":"shift","nativeSrc":"176888:5:19","nodeType":"YulIdentifier","src":"176888:5:19"},{"arguments":[{"name":"shift","nativeSrc":"176899:5:19","nodeType":"YulIdentifier","src":"176899:5:19"},{"name":"w","nativeSrc":"176906:1:19","nodeType":"YulIdentifier","src":"176906:1:19"}],"functionName":{"name":"shr","nativeSrc":"176895:3:19","nodeType":"YulIdentifier","src":"176895:3:19"},"nativeSrc":"176895:13:19","nodeType":"YulFunctionCall","src":"176895:13:19"}],"functionName":{"name":"shl","nativeSrc":"176884:3:19","nodeType":"YulIdentifier","src":"176884:3:19"},"nativeSrc":"176884:25:19","nodeType":"YulFunctionCall","src":"176884:25:19"}],"functionName":{"name":"mstore","nativeSrc":"176861:6:19","nodeType":"YulIdentifier","src":"176861:6:19"},"nativeSrc":"176861:49:19","nodeType":"YulFunctionCall","src":"176861:49:19"},"nativeSrc":"176861:49:19","nodeType":"YulExpressionStatement","src":"176861:49:19"}]},"name":"writeString","nativeSrc":"176582:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"176603:3:19","nodeType":"YulTypedName","src":"176603:3:19","type":""},{"name":"w","nativeSrc":"176608:1:19","nodeType":"YulTypedName","src":"176608:1:19","type":""}],"src":"176582:342:19"},{"nativeSrc":"176937:17:19","nodeType":"YulAssignment","src":"176937:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"176949:4:19","nodeType":"YulLiteral","src":"176949:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"176943:5:19","nodeType":"YulIdentifier","src":"176943:5:19"},"nativeSrc":"176943:11:19","nodeType":"YulFunctionCall","src":"176943:11:19"},"variableNames":[{"name":"m0","nativeSrc":"176937:2:19","nodeType":"YulIdentifier","src":"176937:2:19"}]},{"nativeSrc":"176967:17:19","nodeType":"YulAssignment","src":"176967:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"176979:4:19","nodeType":"YulLiteral","src":"176979:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"176973:5:19","nodeType":"YulIdentifier","src":"176973:5:19"},"nativeSrc":"176973:11:19","nodeType":"YulFunctionCall","src":"176973:11:19"},"variableNames":[{"name":"m1","nativeSrc":"176967:2:19","nodeType":"YulIdentifier","src":"176967:2:19"}]},{"nativeSrc":"176997:17:19","nodeType":"YulAssignment","src":"176997:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"177009:4:19","nodeType":"YulLiteral","src":"177009:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"177003:5:19","nodeType":"YulIdentifier","src":"177003:5:19"},"nativeSrc":"177003:11:19","nodeType":"YulFunctionCall","src":"177003:11:19"},"variableNames":[{"name":"m2","nativeSrc":"176997:2:19","nodeType":"YulIdentifier","src":"176997:2:19"}]},{"nativeSrc":"177027:17:19","nodeType":"YulAssignment","src":"177027:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"177039:4:19","nodeType":"YulLiteral","src":"177039:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"177033:5:19","nodeType":"YulIdentifier","src":"177033:5:19"},"nativeSrc":"177033:11:19","nodeType":"YulFunctionCall","src":"177033:11:19"},"variableNames":[{"name":"m3","nativeSrc":"177027:2:19","nodeType":"YulIdentifier","src":"177027:2:19"}]},{"nativeSrc":"177057:17:19","nodeType":"YulAssignment","src":"177057:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"177069:4:19","nodeType":"YulLiteral","src":"177069:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"177063:5:19","nodeType":"YulIdentifier","src":"177063:5:19"},"nativeSrc":"177063:11:19","nodeType":"YulFunctionCall","src":"177063:11:19"},"variableNames":[{"name":"m4","nativeSrc":"177057:2:19","nodeType":"YulIdentifier","src":"177057:2:19"}]},{"nativeSrc":"177087:17:19","nodeType":"YulAssignment","src":"177087:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"177099:4:19","nodeType":"YulLiteral","src":"177099:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"177093:5:19","nodeType":"YulIdentifier","src":"177093:5:19"},"nativeSrc":"177093:11:19","nodeType":"YulFunctionCall","src":"177093:11:19"},"variableNames":[{"name":"m5","nativeSrc":"177087:2:19","nodeType":"YulIdentifier","src":"177087:2:19"}]},{"nativeSrc":"177117:17:19","nodeType":"YulAssignment","src":"177117:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"177129:4:19","nodeType":"YulLiteral","src":"177129:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"177123:5:19","nodeType":"YulIdentifier","src":"177123:5:19"},"nativeSrc":"177123:11:19","nodeType":"YulFunctionCall","src":"177123:11:19"},"variableNames":[{"name":"m6","nativeSrc":"177117:2:19","nodeType":"YulIdentifier","src":"177117:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177214:4:19","nodeType":"YulLiteral","src":"177214:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"177220:10:19","nodeType":"YulLiteral","src":"177220:10:19","type":"","value":"0x4a66cb34"}],"functionName":{"name":"mstore","nativeSrc":"177207:6:19","nodeType":"YulIdentifier","src":"177207:6:19"},"nativeSrc":"177207:24:19","nodeType":"YulFunctionCall","src":"177207:24:19"},"nativeSrc":"177207:24:19","nodeType":"YulExpressionStatement","src":"177207:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177251:4:19","nodeType":"YulLiteral","src":"177251:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"177257:2:19","nodeType":"YulIdentifier","src":"177257:2:19"}],"functionName":{"name":"mstore","nativeSrc":"177244:6:19","nodeType":"YulIdentifier","src":"177244:6:19"},"nativeSrc":"177244:16:19","nodeType":"YulFunctionCall","src":"177244:16:19"},"nativeSrc":"177244:16:19","nodeType":"YulExpressionStatement","src":"177244:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177280:4:19","nodeType":"YulLiteral","src":"177280:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"177286:2:19","nodeType":"YulIdentifier","src":"177286:2:19"}],"functionName":{"name":"mstore","nativeSrc":"177273:6:19","nodeType":"YulIdentifier","src":"177273:6:19"},"nativeSrc":"177273:16:19","nodeType":"YulFunctionCall","src":"177273:16:19"},"nativeSrc":"177273:16:19","nodeType":"YulExpressionStatement","src":"177273:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177309:4:19","nodeType":"YulLiteral","src":"177309:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"177315:2:19","nodeType":"YulIdentifier","src":"177315:2:19"}],"functionName":{"name":"mstore","nativeSrc":"177302:6:19","nodeType":"YulIdentifier","src":"177302:6:19"},"nativeSrc":"177302:16:19","nodeType":"YulFunctionCall","src":"177302:16:19"},"nativeSrc":"177302:16:19","nodeType":"YulExpressionStatement","src":"177302:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177338:4:19","nodeType":"YulLiteral","src":"177338:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"177344:4:19","nodeType":"YulLiteral","src":"177344:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"177331:6:19","nodeType":"YulIdentifier","src":"177331:6:19"},"nativeSrc":"177331:18:19","nodeType":"YulFunctionCall","src":"177331:18:19"},"nativeSrc":"177331:18:19","nodeType":"YulExpressionStatement","src":"177331:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177374:4:19","nodeType":"YulLiteral","src":"177374:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"177380:2:19","nodeType":"YulIdentifier","src":"177380:2:19"}],"functionName":{"name":"writeString","nativeSrc":"177362:11:19","nodeType":"YulIdentifier","src":"177362:11:19"},"nativeSrc":"177362:21:19","nodeType":"YulFunctionCall","src":"177362:21:19"},"nativeSrc":"177362:21:19","nodeType":"YulExpressionStatement","src":"177362:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31838,"isOffset":false,"isSlot":false,"src":"176937:2:19","valueSize":1},{"declaration":31841,"isOffset":false,"isSlot":false,"src":"176967:2:19","valueSize":1},{"declaration":31844,"isOffset":false,"isSlot":false,"src":"176997:2:19","valueSize":1},{"declaration":31847,"isOffset":false,"isSlot":false,"src":"177027:2:19","valueSize":1},{"declaration":31850,"isOffset":false,"isSlot":false,"src":"177057:2:19","valueSize":1},{"declaration":31853,"isOffset":false,"isSlot":false,"src":"177087:2:19","valueSize":1},{"declaration":31856,"isOffset":false,"isSlot":false,"src":"177117:2:19","valueSize":1},{"declaration":31828,"isOffset":false,"isSlot":false,"src":"177257:2:19","valueSize":1},{"declaration":31830,"isOffset":false,"isSlot":false,"src":"177286:2:19","valueSize":1},{"declaration":31832,"isOffset":false,"isSlot":false,"src":"177315:2:19","valueSize":1},{"declaration":31834,"isOffset":false,"isSlot":false,"src":"177380:2:19","valueSize":1}],"id":31858,"nodeType":"InlineAssembly","src":"176559:834:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"177418:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":31861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"177424:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":31859,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"177402:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"177402:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31863,"nodeType":"ExpressionStatement","src":"177402:27:19"},{"AST":{"nativeSrc":"177491:214:19","nodeType":"YulBlock","src":"177491:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"177512:4:19","nodeType":"YulLiteral","src":"177512:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"177518:2:19","nodeType":"YulIdentifier","src":"177518:2:19"}],"functionName":{"name":"mstore","nativeSrc":"177505:6:19","nodeType":"YulIdentifier","src":"177505:6:19"},"nativeSrc":"177505:16:19","nodeType":"YulFunctionCall","src":"177505:16:19"},"nativeSrc":"177505:16:19","nodeType":"YulExpressionStatement","src":"177505:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177541:4:19","nodeType":"YulLiteral","src":"177541:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"177547:2:19","nodeType":"YulIdentifier","src":"177547:2:19"}],"functionName":{"name":"mstore","nativeSrc":"177534:6:19","nodeType":"YulIdentifier","src":"177534:6:19"},"nativeSrc":"177534:16:19","nodeType":"YulFunctionCall","src":"177534:16:19"},"nativeSrc":"177534:16:19","nodeType":"YulExpressionStatement","src":"177534:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177570:4:19","nodeType":"YulLiteral","src":"177570:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"177576:2:19","nodeType":"YulIdentifier","src":"177576:2:19"}],"functionName":{"name":"mstore","nativeSrc":"177563:6:19","nodeType":"YulIdentifier","src":"177563:6:19"},"nativeSrc":"177563:16:19","nodeType":"YulFunctionCall","src":"177563:16:19"},"nativeSrc":"177563:16:19","nodeType":"YulExpressionStatement","src":"177563:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177599:4:19","nodeType":"YulLiteral","src":"177599:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"177605:2:19","nodeType":"YulIdentifier","src":"177605:2:19"}],"functionName":{"name":"mstore","nativeSrc":"177592:6:19","nodeType":"YulIdentifier","src":"177592:6:19"},"nativeSrc":"177592:16:19","nodeType":"YulFunctionCall","src":"177592:16:19"},"nativeSrc":"177592:16:19","nodeType":"YulExpressionStatement","src":"177592:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177628:4:19","nodeType":"YulLiteral","src":"177628:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"177634:2:19","nodeType":"YulIdentifier","src":"177634:2:19"}],"functionName":{"name":"mstore","nativeSrc":"177621:6:19","nodeType":"YulIdentifier","src":"177621:6:19"},"nativeSrc":"177621:16:19","nodeType":"YulFunctionCall","src":"177621:16:19"},"nativeSrc":"177621:16:19","nodeType":"YulExpressionStatement","src":"177621:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177657:4:19","nodeType":"YulLiteral","src":"177657:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"177663:2:19","nodeType":"YulIdentifier","src":"177663:2:19"}],"functionName":{"name":"mstore","nativeSrc":"177650:6:19","nodeType":"YulIdentifier","src":"177650:6:19"},"nativeSrc":"177650:16:19","nodeType":"YulFunctionCall","src":"177650:16:19"},"nativeSrc":"177650:16:19","nodeType":"YulExpressionStatement","src":"177650:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"177686:4:19","nodeType":"YulLiteral","src":"177686:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"177692:2:19","nodeType":"YulIdentifier","src":"177692:2:19"}],"functionName":{"name":"mstore","nativeSrc":"177679:6:19","nodeType":"YulIdentifier","src":"177679:6:19"},"nativeSrc":"177679:16:19","nodeType":"YulFunctionCall","src":"177679:16:19"},"nativeSrc":"177679:16:19","nodeType":"YulExpressionStatement","src":"177679:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31838,"isOffset":false,"isSlot":false,"src":"177518:2:19","valueSize":1},{"declaration":31841,"isOffset":false,"isSlot":false,"src":"177547:2:19","valueSize":1},{"declaration":31844,"isOffset":false,"isSlot":false,"src":"177576:2:19","valueSize":1},{"declaration":31847,"isOffset":false,"isSlot":false,"src":"177605:2:19","valueSize":1},{"declaration":31850,"isOffset":false,"isSlot":false,"src":"177634:2:19","valueSize":1},{"declaration":31853,"isOffset":false,"isSlot":false,"src":"177663:2:19","valueSize":1},{"declaration":31856,"isOffset":false,"isSlot":false,"src":"177692:2:19","valueSize":1}],"id":31864,"nodeType":"InlineAssembly","src":"177482:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"176306:3:19","parameters":{"id":31835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31828,"mutability":"mutable","name":"p0","nameLocation":"176315:2:19","nodeType":"VariableDeclaration","scope":31866,"src":"176310:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31827,"name":"bool","nodeType":"ElementaryTypeName","src":"176310:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31830,"mutability":"mutable","name":"p1","nameLocation":"176327:2:19","nodeType":"VariableDeclaration","scope":31866,"src":"176319:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31829,"name":"address","nodeType":"ElementaryTypeName","src":"176319:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31832,"mutability":"mutable","name":"p2","nameLocation":"176336:2:19","nodeType":"VariableDeclaration","scope":31866,"src":"176331:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31831,"name":"bool","nodeType":"ElementaryTypeName","src":"176331:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31834,"mutability":"mutable","name":"p3","nameLocation":"176348:2:19","nodeType":"VariableDeclaration","scope":31866,"src":"176340:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31833,"name":"bytes32","nodeType":"ElementaryTypeName","src":"176340:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"176309:42:19"},"returnParameters":{"id":31836,"nodeType":"ParameterList","parameters":[],"src":"176366:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31900,"nodeType":"FunctionDefinition","src":"177717:872:19","nodes":[],"body":{"id":31899,"nodeType":"Block","src":"177789:800:19","nodes":[],"statements":[{"assignments":[31878],"declarations":[{"constant":false,"id":31878,"mutability":"mutable","name":"m0","nameLocation":"177807:2:19","nodeType":"VariableDeclaration","scope":31899,"src":"177799:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31877,"name":"bytes32","nodeType":"ElementaryTypeName","src":"177799:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31879,"nodeType":"VariableDeclarationStatement","src":"177799:10:19"},{"assignments":[31881],"declarations":[{"constant":false,"id":31881,"mutability":"mutable","name":"m1","nameLocation":"177827:2:19","nodeType":"VariableDeclaration","scope":31899,"src":"177819:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31880,"name":"bytes32","nodeType":"ElementaryTypeName","src":"177819:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31882,"nodeType":"VariableDeclarationStatement","src":"177819:10:19"},{"assignments":[31884],"declarations":[{"constant":false,"id":31884,"mutability":"mutable","name":"m2","nameLocation":"177847:2:19","nodeType":"VariableDeclaration","scope":31899,"src":"177839:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31883,"name":"bytes32","nodeType":"ElementaryTypeName","src":"177839:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31885,"nodeType":"VariableDeclarationStatement","src":"177839:10:19"},{"assignments":[31887],"declarations":[{"constant":false,"id":31887,"mutability":"mutable","name":"m3","nameLocation":"177867:2:19","nodeType":"VariableDeclaration","scope":31899,"src":"177859:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31886,"name":"bytes32","nodeType":"ElementaryTypeName","src":"177859:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31888,"nodeType":"VariableDeclarationStatement","src":"177859:10:19"},{"assignments":[31890],"declarations":[{"constant":false,"id":31890,"mutability":"mutable","name":"m4","nameLocation":"177887:2:19","nodeType":"VariableDeclaration","scope":31899,"src":"177879:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31889,"name":"bytes32","nodeType":"ElementaryTypeName","src":"177879:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31891,"nodeType":"VariableDeclarationStatement","src":"177879:10:19"},{"AST":{"nativeSrc":"177951:378:19","nodeType":"YulBlock","src":"177951:378:19","statements":[{"nativeSrc":"177965:17:19","nodeType":"YulAssignment","src":"177965:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"177977:4:19","nodeType":"YulLiteral","src":"177977:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"177971:5:19","nodeType":"YulIdentifier","src":"177971:5:19"},"nativeSrc":"177971:11:19","nodeType":"YulFunctionCall","src":"177971:11:19"},"variableNames":[{"name":"m0","nativeSrc":"177965:2:19","nodeType":"YulIdentifier","src":"177965:2:19"}]},{"nativeSrc":"177995:17:19","nodeType":"YulAssignment","src":"177995:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"178007:4:19","nodeType":"YulLiteral","src":"178007:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"178001:5:19","nodeType":"YulIdentifier","src":"178001:5:19"},"nativeSrc":"178001:11:19","nodeType":"YulFunctionCall","src":"178001:11:19"},"variableNames":[{"name":"m1","nativeSrc":"177995:2:19","nodeType":"YulIdentifier","src":"177995:2:19"}]},{"nativeSrc":"178025:17:19","nodeType":"YulAssignment","src":"178025:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"178037:4:19","nodeType":"YulLiteral","src":"178037:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"178031:5:19","nodeType":"YulIdentifier","src":"178031:5:19"},"nativeSrc":"178031:11:19","nodeType":"YulFunctionCall","src":"178031:11:19"},"variableNames":[{"name":"m2","nativeSrc":"178025:2:19","nodeType":"YulIdentifier","src":"178025:2:19"}]},{"nativeSrc":"178055:17:19","nodeType":"YulAssignment","src":"178055:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"178067:4:19","nodeType":"YulLiteral","src":"178067:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"178061:5:19","nodeType":"YulIdentifier","src":"178061:5:19"},"nativeSrc":"178061:11:19","nodeType":"YulFunctionCall","src":"178061:11:19"},"variableNames":[{"name":"m3","nativeSrc":"178055:2:19","nodeType":"YulIdentifier","src":"178055:2:19"}]},{"nativeSrc":"178085:17:19","nodeType":"YulAssignment","src":"178085:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"178097:4:19","nodeType":"YulLiteral","src":"178097:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"178091:5:19","nodeType":"YulIdentifier","src":"178091:5:19"},"nativeSrc":"178091:11:19","nodeType":"YulFunctionCall","src":"178091:11:19"},"variableNames":[{"name":"m4","nativeSrc":"178085:2:19","nodeType":"YulIdentifier","src":"178085:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178186:4:19","nodeType":"YulLiteral","src":"178186:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"178192:10:19","nodeType":"YulLiteral","src":"178192:10:19","type":"","value":"0x136b05dd"}],"functionName":{"name":"mstore","nativeSrc":"178179:6:19","nodeType":"YulIdentifier","src":"178179:6:19"},"nativeSrc":"178179:24:19","nodeType":"YulFunctionCall","src":"178179:24:19"},"nativeSrc":"178179:24:19","nodeType":"YulExpressionStatement","src":"178179:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178223:4:19","nodeType":"YulLiteral","src":"178223:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"178229:2:19","nodeType":"YulIdentifier","src":"178229:2:19"}],"functionName":{"name":"mstore","nativeSrc":"178216:6:19","nodeType":"YulIdentifier","src":"178216:6:19"},"nativeSrc":"178216:16:19","nodeType":"YulFunctionCall","src":"178216:16:19"},"nativeSrc":"178216:16:19","nodeType":"YulExpressionStatement","src":"178216:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178252:4:19","nodeType":"YulLiteral","src":"178252:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"178258:2:19","nodeType":"YulIdentifier","src":"178258:2:19"}],"functionName":{"name":"mstore","nativeSrc":"178245:6:19","nodeType":"YulIdentifier","src":"178245:6:19"},"nativeSrc":"178245:16:19","nodeType":"YulFunctionCall","src":"178245:16:19"},"nativeSrc":"178245:16:19","nodeType":"YulExpressionStatement","src":"178245:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178281:4:19","nodeType":"YulLiteral","src":"178281:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"178287:2:19","nodeType":"YulIdentifier","src":"178287:2:19"}],"functionName":{"name":"mstore","nativeSrc":"178274:6:19","nodeType":"YulIdentifier","src":"178274:6:19"},"nativeSrc":"178274:16:19","nodeType":"YulFunctionCall","src":"178274:16:19"},"nativeSrc":"178274:16:19","nodeType":"YulExpressionStatement","src":"178274:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178310:4:19","nodeType":"YulLiteral","src":"178310:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"178316:2:19","nodeType":"YulIdentifier","src":"178316:2:19"}],"functionName":{"name":"mstore","nativeSrc":"178303:6:19","nodeType":"YulIdentifier","src":"178303:6:19"},"nativeSrc":"178303:16:19","nodeType":"YulFunctionCall","src":"178303:16:19"},"nativeSrc":"178303:16:19","nodeType":"YulExpressionStatement","src":"178303:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31878,"isOffset":false,"isSlot":false,"src":"177965:2:19","valueSize":1},{"declaration":31881,"isOffset":false,"isSlot":false,"src":"177995:2:19","valueSize":1},{"declaration":31884,"isOffset":false,"isSlot":false,"src":"178025:2:19","valueSize":1},{"declaration":31887,"isOffset":false,"isSlot":false,"src":"178055:2:19","valueSize":1},{"declaration":31890,"isOffset":false,"isSlot":false,"src":"178085:2:19","valueSize":1},{"declaration":31868,"isOffset":false,"isSlot":false,"src":"178229:2:19","valueSize":1},{"declaration":31870,"isOffset":false,"isSlot":false,"src":"178258:2:19","valueSize":1},{"declaration":31872,"isOffset":false,"isSlot":false,"src":"178287:2:19","valueSize":1},{"declaration":31874,"isOffset":false,"isSlot":false,"src":"178316:2:19","valueSize":1}],"id":31892,"nodeType":"InlineAssembly","src":"177942:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"178354:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":31895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"178360:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":31893,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"178338:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"178338:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31897,"nodeType":"ExpressionStatement","src":"178338:27:19"},{"AST":{"nativeSrc":"178427:156:19","nodeType":"YulBlock","src":"178427:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"178448:4:19","nodeType":"YulLiteral","src":"178448:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"178454:2:19","nodeType":"YulIdentifier","src":"178454:2:19"}],"functionName":{"name":"mstore","nativeSrc":"178441:6:19","nodeType":"YulIdentifier","src":"178441:6:19"},"nativeSrc":"178441:16:19","nodeType":"YulFunctionCall","src":"178441:16:19"},"nativeSrc":"178441:16:19","nodeType":"YulExpressionStatement","src":"178441:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178477:4:19","nodeType":"YulLiteral","src":"178477:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"178483:2:19","nodeType":"YulIdentifier","src":"178483:2:19"}],"functionName":{"name":"mstore","nativeSrc":"178470:6:19","nodeType":"YulIdentifier","src":"178470:6:19"},"nativeSrc":"178470:16:19","nodeType":"YulFunctionCall","src":"178470:16:19"},"nativeSrc":"178470:16:19","nodeType":"YulExpressionStatement","src":"178470:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178506:4:19","nodeType":"YulLiteral","src":"178506:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"178512:2:19","nodeType":"YulIdentifier","src":"178512:2:19"}],"functionName":{"name":"mstore","nativeSrc":"178499:6:19","nodeType":"YulIdentifier","src":"178499:6:19"},"nativeSrc":"178499:16:19","nodeType":"YulFunctionCall","src":"178499:16:19"},"nativeSrc":"178499:16:19","nodeType":"YulExpressionStatement","src":"178499:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178535:4:19","nodeType":"YulLiteral","src":"178535:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"178541:2:19","nodeType":"YulIdentifier","src":"178541:2:19"}],"functionName":{"name":"mstore","nativeSrc":"178528:6:19","nodeType":"YulIdentifier","src":"178528:6:19"},"nativeSrc":"178528:16:19","nodeType":"YulFunctionCall","src":"178528:16:19"},"nativeSrc":"178528:16:19","nodeType":"YulExpressionStatement","src":"178528:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"178564:4:19","nodeType":"YulLiteral","src":"178564:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"178570:2:19","nodeType":"YulIdentifier","src":"178570:2:19"}],"functionName":{"name":"mstore","nativeSrc":"178557:6:19","nodeType":"YulIdentifier","src":"178557:6:19"},"nativeSrc":"178557:16:19","nodeType":"YulFunctionCall","src":"178557:16:19"},"nativeSrc":"178557:16:19","nodeType":"YulExpressionStatement","src":"178557:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31878,"isOffset":false,"isSlot":false,"src":"178454:2:19","valueSize":1},{"declaration":31881,"isOffset":false,"isSlot":false,"src":"178483:2:19","valueSize":1},{"declaration":31884,"isOffset":false,"isSlot":false,"src":"178512:2:19","valueSize":1},{"declaration":31887,"isOffset":false,"isSlot":false,"src":"178541:2:19","valueSize":1},{"declaration":31890,"isOffset":false,"isSlot":false,"src":"178570:2:19","valueSize":1}],"id":31898,"nodeType":"InlineAssembly","src":"178418:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"177726:3:19","parameters":{"id":31875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31868,"mutability":"mutable","name":"p0","nameLocation":"177735:2:19","nodeType":"VariableDeclaration","scope":31900,"src":"177730:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31867,"name":"bool","nodeType":"ElementaryTypeName","src":"177730:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31870,"mutability":"mutable","name":"p1","nameLocation":"177747:2:19","nodeType":"VariableDeclaration","scope":31900,"src":"177739:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31869,"name":"address","nodeType":"ElementaryTypeName","src":"177739:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31872,"mutability":"mutable","name":"p2","nameLocation":"177759:2:19","nodeType":"VariableDeclaration","scope":31900,"src":"177751:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31871,"name":"uint256","nodeType":"ElementaryTypeName","src":"177751:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31874,"mutability":"mutable","name":"p3","nameLocation":"177771:2:19","nodeType":"VariableDeclaration","scope":31900,"src":"177763:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31873,"name":"address","nodeType":"ElementaryTypeName","src":"177763:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"177729:45:19"},"returnParameters":{"id":31876,"nodeType":"ParameterList","parameters":[],"src":"177789:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31934,"nodeType":"FunctionDefinition","src":"178595:866:19","nodes":[],"body":{"id":31933,"nodeType":"Block","src":"178664:797:19","nodes":[],"statements":[{"assignments":[31912],"declarations":[{"constant":false,"id":31912,"mutability":"mutable","name":"m0","nameLocation":"178682:2:19","nodeType":"VariableDeclaration","scope":31933,"src":"178674:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31911,"name":"bytes32","nodeType":"ElementaryTypeName","src":"178674:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31913,"nodeType":"VariableDeclarationStatement","src":"178674:10:19"},{"assignments":[31915],"declarations":[{"constant":false,"id":31915,"mutability":"mutable","name":"m1","nameLocation":"178702:2:19","nodeType":"VariableDeclaration","scope":31933,"src":"178694:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31914,"name":"bytes32","nodeType":"ElementaryTypeName","src":"178694:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31916,"nodeType":"VariableDeclarationStatement","src":"178694:10:19"},{"assignments":[31918],"declarations":[{"constant":false,"id":31918,"mutability":"mutable","name":"m2","nameLocation":"178722:2:19","nodeType":"VariableDeclaration","scope":31933,"src":"178714:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31917,"name":"bytes32","nodeType":"ElementaryTypeName","src":"178714:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31919,"nodeType":"VariableDeclarationStatement","src":"178714:10:19"},{"assignments":[31921],"declarations":[{"constant":false,"id":31921,"mutability":"mutable","name":"m3","nameLocation":"178742:2:19","nodeType":"VariableDeclaration","scope":31933,"src":"178734:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31920,"name":"bytes32","nodeType":"ElementaryTypeName","src":"178734:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31922,"nodeType":"VariableDeclarationStatement","src":"178734:10:19"},{"assignments":[31924],"declarations":[{"constant":false,"id":31924,"mutability":"mutable","name":"m4","nameLocation":"178762:2:19","nodeType":"VariableDeclaration","scope":31933,"src":"178754:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31923,"name":"bytes32","nodeType":"ElementaryTypeName","src":"178754:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31925,"nodeType":"VariableDeclarationStatement","src":"178754:10:19"},{"AST":{"nativeSrc":"178826:375:19","nodeType":"YulBlock","src":"178826:375:19","statements":[{"nativeSrc":"178840:17:19","nodeType":"YulAssignment","src":"178840:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"178852:4:19","nodeType":"YulLiteral","src":"178852:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"178846:5:19","nodeType":"YulIdentifier","src":"178846:5:19"},"nativeSrc":"178846:11:19","nodeType":"YulFunctionCall","src":"178846:11:19"},"variableNames":[{"name":"m0","nativeSrc":"178840:2:19","nodeType":"YulIdentifier","src":"178840:2:19"}]},{"nativeSrc":"178870:17:19","nodeType":"YulAssignment","src":"178870:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"178882:4:19","nodeType":"YulLiteral","src":"178882:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"178876:5:19","nodeType":"YulIdentifier","src":"178876:5:19"},"nativeSrc":"178876:11:19","nodeType":"YulFunctionCall","src":"178876:11:19"},"variableNames":[{"name":"m1","nativeSrc":"178870:2:19","nodeType":"YulIdentifier","src":"178870:2:19"}]},{"nativeSrc":"178900:17:19","nodeType":"YulAssignment","src":"178900:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"178912:4:19","nodeType":"YulLiteral","src":"178912:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"178906:5:19","nodeType":"YulIdentifier","src":"178906:5:19"},"nativeSrc":"178906:11:19","nodeType":"YulFunctionCall","src":"178906:11:19"},"variableNames":[{"name":"m2","nativeSrc":"178900:2:19","nodeType":"YulIdentifier","src":"178900:2:19"}]},{"nativeSrc":"178930:17:19","nodeType":"YulAssignment","src":"178930:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"178942:4:19","nodeType":"YulLiteral","src":"178942:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"178936:5:19","nodeType":"YulIdentifier","src":"178936:5:19"},"nativeSrc":"178936:11:19","nodeType":"YulFunctionCall","src":"178936:11:19"},"variableNames":[{"name":"m3","nativeSrc":"178930:2:19","nodeType":"YulIdentifier","src":"178930:2:19"}]},{"nativeSrc":"178960:17:19","nodeType":"YulAssignment","src":"178960:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"178972:4:19","nodeType":"YulLiteral","src":"178972:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"178966:5:19","nodeType":"YulIdentifier","src":"178966:5:19"},"nativeSrc":"178966:11:19","nodeType":"YulFunctionCall","src":"178966:11:19"},"variableNames":[{"name":"m4","nativeSrc":"178960:2:19","nodeType":"YulIdentifier","src":"178960:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179058:4:19","nodeType":"YulLiteral","src":"179058:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"179064:10:19","nodeType":"YulLiteral","src":"179064:10:19","type":"","value":"0xd6019f1c"}],"functionName":{"name":"mstore","nativeSrc":"179051:6:19","nodeType":"YulIdentifier","src":"179051:6:19"},"nativeSrc":"179051:24:19","nodeType":"YulFunctionCall","src":"179051:24:19"},"nativeSrc":"179051:24:19","nodeType":"YulExpressionStatement","src":"179051:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179095:4:19","nodeType":"YulLiteral","src":"179095:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"179101:2:19","nodeType":"YulIdentifier","src":"179101:2:19"}],"functionName":{"name":"mstore","nativeSrc":"179088:6:19","nodeType":"YulIdentifier","src":"179088:6:19"},"nativeSrc":"179088:16:19","nodeType":"YulFunctionCall","src":"179088:16:19"},"nativeSrc":"179088:16:19","nodeType":"YulExpressionStatement","src":"179088:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179124:4:19","nodeType":"YulLiteral","src":"179124:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"179130:2:19","nodeType":"YulIdentifier","src":"179130:2:19"}],"functionName":{"name":"mstore","nativeSrc":"179117:6:19","nodeType":"YulIdentifier","src":"179117:6:19"},"nativeSrc":"179117:16:19","nodeType":"YulFunctionCall","src":"179117:16:19"},"nativeSrc":"179117:16:19","nodeType":"YulExpressionStatement","src":"179117:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179153:4:19","nodeType":"YulLiteral","src":"179153:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"179159:2:19","nodeType":"YulIdentifier","src":"179159:2:19"}],"functionName":{"name":"mstore","nativeSrc":"179146:6:19","nodeType":"YulIdentifier","src":"179146:6:19"},"nativeSrc":"179146:16:19","nodeType":"YulFunctionCall","src":"179146:16:19"},"nativeSrc":"179146:16:19","nodeType":"YulExpressionStatement","src":"179146:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179182:4:19","nodeType":"YulLiteral","src":"179182:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"179188:2:19","nodeType":"YulIdentifier","src":"179188:2:19"}],"functionName":{"name":"mstore","nativeSrc":"179175:6:19","nodeType":"YulIdentifier","src":"179175:6:19"},"nativeSrc":"179175:16:19","nodeType":"YulFunctionCall","src":"179175:16:19"},"nativeSrc":"179175:16:19","nodeType":"YulExpressionStatement","src":"179175:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31912,"isOffset":false,"isSlot":false,"src":"178840:2:19","valueSize":1},{"declaration":31915,"isOffset":false,"isSlot":false,"src":"178870:2:19","valueSize":1},{"declaration":31918,"isOffset":false,"isSlot":false,"src":"178900:2:19","valueSize":1},{"declaration":31921,"isOffset":false,"isSlot":false,"src":"178930:2:19","valueSize":1},{"declaration":31924,"isOffset":false,"isSlot":false,"src":"178960:2:19","valueSize":1},{"declaration":31902,"isOffset":false,"isSlot":false,"src":"179101:2:19","valueSize":1},{"declaration":31904,"isOffset":false,"isSlot":false,"src":"179130:2:19","valueSize":1},{"declaration":31906,"isOffset":false,"isSlot":false,"src":"179159:2:19","valueSize":1},{"declaration":31908,"isOffset":false,"isSlot":false,"src":"179188:2:19","valueSize":1}],"id":31926,"nodeType":"InlineAssembly","src":"178817:384:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"179226:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":31929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"179232:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":31927,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"179210:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"179210:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31931,"nodeType":"ExpressionStatement","src":"179210:27:19"},{"AST":{"nativeSrc":"179299:156:19","nodeType":"YulBlock","src":"179299:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"179320:4:19","nodeType":"YulLiteral","src":"179320:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"179326:2:19","nodeType":"YulIdentifier","src":"179326:2:19"}],"functionName":{"name":"mstore","nativeSrc":"179313:6:19","nodeType":"YulIdentifier","src":"179313:6:19"},"nativeSrc":"179313:16:19","nodeType":"YulFunctionCall","src":"179313:16:19"},"nativeSrc":"179313:16:19","nodeType":"YulExpressionStatement","src":"179313:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179349:4:19","nodeType":"YulLiteral","src":"179349:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"179355:2:19","nodeType":"YulIdentifier","src":"179355:2:19"}],"functionName":{"name":"mstore","nativeSrc":"179342:6:19","nodeType":"YulIdentifier","src":"179342:6:19"},"nativeSrc":"179342:16:19","nodeType":"YulFunctionCall","src":"179342:16:19"},"nativeSrc":"179342:16:19","nodeType":"YulExpressionStatement","src":"179342:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179378:4:19","nodeType":"YulLiteral","src":"179378:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"179384:2:19","nodeType":"YulIdentifier","src":"179384:2:19"}],"functionName":{"name":"mstore","nativeSrc":"179371:6:19","nodeType":"YulIdentifier","src":"179371:6:19"},"nativeSrc":"179371:16:19","nodeType":"YulFunctionCall","src":"179371:16:19"},"nativeSrc":"179371:16:19","nodeType":"YulExpressionStatement","src":"179371:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179407:4:19","nodeType":"YulLiteral","src":"179407:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"179413:2:19","nodeType":"YulIdentifier","src":"179413:2:19"}],"functionName":{"name":"mstore","nativeSrc":"179400:6:19","nodeType":"YulIdentifier","src":"179400:6:19"},"nativeSrc":"179400:16:19","nodeType":"YulFunctionCall","src":"179400:16:19"},"nativeSrc":"179400:16:19","nodeType":"YulExpressionStatement","src":"179400:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179436:4:19","nodeType":"YulLiteral","src":"179436:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"179442:2:19","nodeType":"YulIdentifier","src":"179442:2:19"}],"functionName":{"name":"mstore","nativeSrc":"179429:6:19","nodeType":"YulIdentifier","src":"179429:6:19"},"nativeSrc":"179429:16:19","nodeType":"YulFunctionCall","src":"179429:16:19"},"nativeSrc":"179429:16:19","nodeType":"YulExpressionStatement","src":"179429:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31912,"isOffset":false,"isSlot":false,"src":"179326:2:19","valueSize":1},{"declaration":31915,"isOffset":false,"isSlot":false,"src":"179355:2:19","valueSize":1},{"declaration":31918,"isOffset":false,"isSlot":false,"src":"179384:2:19","valueSize":1},{"declaration":31921,"isOffset":false,"isSlot":false,"src":"179413:2:19","valueSize":1},{"declaration":31924,"isOffset":false,"isSlot":false,"src":"179442:2:19","valueSize":1}],"id":31932,"nodeType":"InlineAssembly","src":"179290:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"178604:3:19","parameters":{"id":31909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31902,"mutability":"mutable","name":"p0","nameLocation":"178613:2:19","nodeType":"VariableDeclaration","scope":31934,"src":"178608:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31901,"name":"bool","nodeType":"ElementaryTypeName","src":"178608:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31904,"mutability":"mutable","name":"p1","nameLocation":"178625:2:19","nodeType":"VariableDeclaration","scope":31934,"src":"178617:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31903,"name":"address","nodeType":"ElementaryTypeName","src":"178617:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31906,"mutability":"mutable","name":"p2","nameLocation":"178637:2:19","nodeType":"VariableDeclaration","scope":31934,"src":"178629:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31905,"name":"uint256","nodeType":"ElementaryTypeName","src":"178629:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31908,"mutability":"mutable","name":"p3","nameLocation":"178646:2:19","nodeType":"VariableDeclaration","scope":31934,"src":"178641:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31907,"name":"bool","nodeType":"ElementaryTypeName","src":"178641:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"178607:42:19"},"returnParameters":{"id":31910,"nodeType":"ParameterList","parameters":[],"src":"178664:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31968,"nodeType":"FunctionDefinition","src":"179467:872:19","nodes":[],"body":{"id":31967,"nodeType":"Block","src":"179539:800:19","nodes":[],"statements":[{"assignments":[31946],"declarations":[{"constant":false,"id":31946,"mutability":"mutable","name":"m0","nameLocation":"179557:2:19","nodeType":"VariableDeclaration","scope":31967,"src":"179549:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31945,"name":"bytes32","nodeType":"ElementaryTypeName","src":"179549:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31947,"nodeType":"VariableDeclarationStatement","src":"179549:10:19"},{"assignments":[31949],"declarations":[{"constant":false,"id":31949,"mutability":"mutable","name":"m1","nameLocation":"179577:2:19","nodeType":"VariableDeclaration","scope":31967,"src":"179569:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31948,"name":"bytes32","nodeType":"ElementaryTypeName","src":"179569:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31950,"nodeType":"VariableDeclarationStatement","src":"179569:10:19"},{"assignments":[31952],"declarations":[{"constant":false,"id":31952,"mutability":"mutable","name":"m2","nameLocation":"179597:2:19","nodeType":"VariableDeclaration","scope":31967,"src":"179589:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31951,"name":"bytes32","nodeType":"ElementaryTypeName","src":"179589:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31953,"nodeType":"VariableDeclarationStatement","src":"179589:10:19"},{"assignments":[31955],"declarations":[{"constant":false,"id":31955,"mutability":"mutable","name":"m3","nameLocation":"179617:2:19","nodeType":"VariableDeclaration","scope":31967,"src":"179609:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31954,"name":"bytes32","nodeType":"ElementaryTypeName","src":"179609:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31956,"nodeType":"VariableDeclarationStatement","src":"179609:10:19"},{"assignments":[31958],"declarations":[{"constant":false,"id":31958,"mutability":"mutable","name":"m4","nameLocation":"179637:2:19","nodeType":"VariableDeclaration","scope":31967,"src":"179629:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31957,"name":"bytes32","nodeType":"ElementaryTypeName","src":"179629:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31959,"nodeType":"VariableDeclarationStatement","src":"179629:10:19"},{"AST":{"nativeSrc":"179701:378:19","nodeType":"YulBlock","src":"179701:378:19","statements":[{"nativeSrc":"179715:17:19","nodeType":"YulAssignment","src":"179715:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"179727:4:19","nodeType":"YulLiteral","src":"179727:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"179721:5:19","nodeType":"YulIdentifier","src":"179721:5:19"},"nativeSrc":"179721:11:19","nodeType":"YulFunctionCall","src":"179721:11:19"},"variableNames":[{"name":"m0","nativeSrc":"179715:2:19","nodeType":"YulIdentifier","src":"179715:2:19"}]},{"nativeSrc":"179745:17:19","nodeType":"YulAssignment","src":"179745:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"179757:4:19","nodeType":"YulLiteral","src":"179757:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"179751:5:19","nodeType":"YulIdentifier","src":"179751:5:19"},"nativeSrc":"179751:11:19","nodeType":"YulFunctionCall","src":"179751:11:19"},"variableNames":[{"name":"m1","nativeSrc":"179745:2:19","nodeType":"YulIdentifier","src":"179745:2:19"}]},{"nativeSrc":"179775:17:19","nodeType":"YulAssignment","src":"179775:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"179787:4:19","nodeType":"YulLiteral","src":"179787:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"179781:5:19","nodeType":"YulIdentifier","src":"179781:5:19"},"nativeSrc":"179781:11:19","nodeType":"YulFunctionCall","src":"179781:11:19"},"variableNames":[{"name":"m2","nativeSrc":"179775:2:19","nodeType":"YulIdentifier","src":"179775:2:19"}]},{"nativeSrc":"179805:17:19","nodeType":"YulAssignment","src":"179805:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"179817:4:19","nodeType":"YulLiteral","src":"179817:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"179811:5:19","nodeType":"YulIdentifier","src":"179811:5:19"},"nativeSrc":"179811:11:19","nodeType":"YulFunctionCall","src":"179811:11:19"},"variableNames":[{"name":"m3","nativeSrc":"179805:2:19","nodeType":"YulIdentifier","src":"179805:2:19"}]},{"nativeSrc":"179835:17:19","nodeType":"YulAssignment","src":"179835:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"179847:4:19","nodeType":"YulLiteral","src":"179847:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"179841:5:19","nodeType":"YulIdentifier","src":"179841:5:19"},"nativeSrc":"179841:11:19","nodeType":"YulFunctionCall","src":"179841:11:19"},"variableNames":[{"name":"m4","nativeSrc":"179835:2:19","nodeType":"YulIdentifier","src":"179835:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179936:4:19","nodeType":"YulLiteral","src":"179936:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"179942:10:19","nodeType":"YulLiteral","src":"179942:10:19","type":"","value":"0x7bf181a1"}],"functionName":{"name":"mstore","nativeSrc":"179929:6:19","nodeType":"YulIdentifier","src":"179929:6:19"},"nativeSrc":"179929:24:19","nodeType":"YulFunctionCall","src":"179929:24:19"},"nativeSrc":"179929:24:19","nodeType":"YulExpressionStatement","src":"179929:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"179973:4:19","nodeType":"YulLiteral","src":"179973:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"179979:2:19","nodeType":"YulIdentifier","src":"179979:2:19"}],"functionName":{"name":"mstore","nativeSrc":"179966:6:19","nodeType":"YulIdentifier","src":"179966:6:19"},"nativeSrc":"179966:16:19","nodeType":"YulFunctionCall","src":"179966:16:19"},"nativeSrc":"179966:16:19","nodeType":"YulExpressionStatement","src":"179966:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"180002:4:19","nodeType":"YulLiteral","src":"180002:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"180008:2:19","nodeType":"YulIdentifier","src":"180008:2:19"}],"functionName":{"name":"mstore","nativeSrc":"179995:6:19","nodeType":"YulIdentifier","src":"179995:6:19"},"nativeSrc":"179995:16:19","nodeType":"YulFunctionCall","src":"179995:16:19"},"nativeSrc":"179995:16:19","nodeType":"YulExpressionStatement","src":"179995:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"180031:4:19","nodeType":"YulLiteral","src":"180031:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"180037:2:19","nodeType":"YulIdentifier","src":"180037:2:19"}],"functionName":{"name":"mstore","nativeSrc":"180024:6:19","nodeType":"YulIdentifier","src":"180024:6:19"},"nativeSrc":"180024:16:19","nodeType":"YulFunctionCall","src":"180024:16:19"},"nativeSrc":"180024:16:19","nodeType":"YulExpressionStatement","src":"180024:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"180060:4:19","nodeType":"YulLiteral","src":"180060:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"180066:2:19","nodeType":"YulIdentifier","src":"180066:2:19"}],"functionName":{"name":"mstore","nativeSrc":"180053:6:19","nodeType":"YulIdentifier","src":"180053:6:19"},"nativeSrc":"180053:16:19","nodeType":"YulFunctionCall","src":"180053:16:19"},"nativeSrc":"180053:16:19","nodeType":"YulExpressionStatement","src":"180053:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31946,"isOffset":false,"isSlot":false,"src":"179715:2:19","valueSize":1},{"declaration":31949,"isOffset":false,"isSlot":false,"src":"179745:2:19","valueSize":1},{"declaration":31952,"isOffset":false,"isSlot":false,"src":"179775:2:19","valueSize":1},{"declaration":31955,"isOffset":false,"isSlot":false,"src":"179805:2:19","valueSize":1},{"declaration":31958,"isOffset":false,"isSlot":false,"src":"179835:2:19","valueSize":1},{"declaration":31936,"isOffset":false,"isSlot":false,"src":"179979:2:19","valueSize":1},{"declaration":31938,"isOffset":false,"isSlot":false,"src":"180008:2:19","valueSize":1},{"declaration":31940,"isOffset":false,"isSlot":false,"src":"180037:2:19","valueSize":1},{"declaration":31942,"isOffset":false,"isSlot":false,"src":"180066:2:19","valueSize":1}],"id":31960,"nodeType":"InlineAssembly","src":"179692:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":31962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"180104:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":31963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"180110:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":31961,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"180088:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":31964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"180088:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31965,"nodeType":"ExpressionStatement","src":"180088:27:19"},{"AST":{"nativeSrc":"180177:156:19","nodeType":"YulBlock","src":"180177:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"180198:4:19","nodeType":"YulLiteral","src":"180198:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"180204:2:19","nodeType":"YulIdentifier","src":"180204:2:19"}],"functionName":{"name":"mstore","nativeSrc":"180191:6:19","nodeType":"YulIdentifier","src":"180191:6:19"},"nativeSrc":"180191:16:19","nodeType":"YulFunctionCall","src":"180191:16:19"},"nativeSrc":"180191:16:19","nodeType":"YulExpressionStatement","src":"180191:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"180227:4:19","nodeType":"YulLiteral","src":"180227:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"180233:2:19","nodeType":"YulIdentifier","src":"180233:2:19"}],"functionName":{"name":"mstore","nativeSrc":"180220:6:19","nodeType":"YulIdentifier","src":"180220:6:19"},"nativeSrc":"180220:16:19","nodeType":"YulFunctionCall","src":"180220:16:19"},"nativeSrc":"180220:16:19","nodeType":"YulExpressionStatement","src":"180220:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"180256:4:19","nodeType":"YulLiteral","src":"180256:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"180262:2:19","nodeType":"YulIdentifier","src":"180262:2:19"}],"functionName":{"name":"mstore","nativeSrc":"180249:6:19","nodeType":"YulIdentifier","src":"180249:6:19"},"nativeSrc":"180249:16:19","nodeType":"YulFunctionCall","src":"180249:16:19"},"nativeSrc":"180249:16:19","nodeType":"YulExpressionStatement","src":"180249:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"180285:4:19","nodeType":"YulLiteral","src":"180285:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"180291:2:19","nodeType":"YulIdentifier","src":"180291:2:19"}],"functionName":{"name":"mstore","nativeSrc":"180278:6:19","nodeType":"YulIdentifier","src":"180278:6:19"},"nativeSrc":"180278:16:19","nodeType":"YulFunctionCall","src":"180278:16:19"},"nativeSrc":"180278:16:19","nodeType":"YulExpressionStatement","src":"180278:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"180314:4:19","nodeType":"YulLiteral","src":"180314:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"180320:2:19","nodeType":"YulIdentifier","src":"180320:2:19"}],"functionName":{"name":"mstore","nativeSrc":"180307:6:19","nodeType":"YulIdentifier","src":"180307:6:19"},"nativeSrc":"180307:16:19","nodeType":"YulFunctionCall","src":"180307:16:19"},"nativeSrc":"180307:16:19","nodeType":"YulExpressionStatement","src":"180307:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31946,"isOffset":false,"isSlot":false,"src":"180204:2:19","valueSize":1},{"declaration":31949,"isOffset":false,"isSlot":false,"src":"180233:2:19","valueSize":1},{"declaration":31952,"isOffset":false,"isSlot":false,"src":"180262:2:19","valueSize":1},{"declaration":31955,"isOffset":false,"isSlot":false,"src":"180291:2:19","valueSize":1},{"declaration":31958,"isOffset":false,"isSlot":false,"src":"180320:2:19","valueSize":1}],"id":31966,"nodeType":"InlineAssembly","src":"180168:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"179476:3:19","parameters":{"id":31943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31936,"mutability":"mutable","name":"p0","nameLocation":"179485:2:19","nodeType":"VariableDeclaration","scope":31968,"src":"179480:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31935,"name":"bool","nodeType":"ElementaryTypeName","src":"179480:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31938,"mutability":"mutable","name":"p1","nameLocation":"179497:2:19","nodeType":"VariableDeclaration","scope":31968,"src":"179489:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31937,"name":"address","nodeType":"ElementaryTypeName","src":"179489:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31940,"mutability":"mutable","name":"p2","nameLocation":"179509:2:19","nodeType":"VariableDeclaration","scope":31968,"src":"179501:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31939,"name":"uint256","nodeType":"ElementaryTypeName","src":"179501:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31942,"mutability":"mutable","name":"p3","nameLocation":"179521:2:19","nodeType":"VariableDeclaration","scope":31968,"src":"179513:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31941,"name":"uint256","nodeType":"ElementaryTypeName","src":"179513:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"179479:45:19"},"returnParameters":{"id":31944,"nodeType":"ParameterList","parameters":[],"src":"179539:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32008,"nodeType":"FunctionDefinition","src":"180345:1420:19","nodes":[],"body":{"id":32007,"nodeType":"Block","src":"180417:1348:19","nodes":[],"statements":[{"assignments":[31980],"declarations":[{"constant":false,"id":31980,"mutability":"mutable","name":"m0","nameLocation":"180435:2:19","nodeType":"VariableDeclaration","scope":32007,"src":"180427:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31979,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180427:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31981,"nodeType":"VariableDeclarationStatement","src":"180427:10:19"},{"assignments":[31983],"declarations":[{"constant":false,"id":31983,"mutability":"mutable","name":"m1","nameLocation":"180455:2:19","nodeType":"VariableDeclaration","scope":32007,"src":"180447:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31982,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180447:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31984,"nodeType":"VariableDeclarationStatement","src":"180447:10:19"},{"assignments":[31986],"declarations":[{"constant":false,"id":31986,"mutability":"mutable","name":"m2","nameLocation":"180475:2:19","nodeType":"VariableDeclaration","scope":32007,"src":"180467:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31985,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180467:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31987,"nodeType":"VariableDeclarationStatement","src":"180467:10:19"},{"assignments":[31989],"declarations":[{"constant":false,"id":31989,"mutability":"mutable","name":"m3","nameLocation":"180495:2:19","nodeType":"VariableDeclaration","scope":32007,"src":"180487:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31988,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180487:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31990,"nodeType":"VariableDeclarationStatement","src":"180487:10:19"},{"assignments":[31992],"declarations":[{"constant":false,"id":31992,"mutability":"mutable","name":"m4","nameLocation":"180515:2:19","nodeType":"VariableDeclaration","scope":32007,"src":"180507:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31991,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180507:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31993,"nodeType":"VariableDeclarationStatement","src":"180507:10:19"},{"assignments":[31995],"declarations":[{"constant":false,"id":31995,"mutability":"mutable","name":"m5","nameLocation":"180535:2:19","nodeType":"VariableDeclaration","scope":32007,"src":"180527:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31994,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180527:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31996,"nodeType":"VariableDeclarationStatement","src":"180527:10:19"},{"assignments":[31998],"declarations":[{"constant":false,"id":31998,"mutability":"mutable","name":"m6","nameLocation":"180555:2:19","nodeType":"VariableDeclaration","scope":32007,"src":"180547:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31997,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180547:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":31999,"nodeType":"VariableDeclarationStatement","src":"180547:10:19"},{"AST":{"nativeSrc":"180619:828:19","nodeType":"YulBlock","src":"180619:828:19","statements":[{"body":{"nativeSrc":"180662:313:19","nodeType":"YulBlock","src":"180662:313:19","statements":[{"nativeSrc":"180680:15:19","nodeType":"YulVariableDeclaration","src":"180680:15:19","value":{"kind":"number","nativeSrc":"180694:1:19","nodeType":"YulLiteral","src":"180694:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"180684:6:19","nodeType":"YulTypedName","src":"180684:6:19","type":""}]},{"body":{"nativeSrc":"180765:40:19","nodeType":"YulBlock","src":"180765:40:19","statements":[{"body":{"nativeSrc":"180794:9:19","nodeType":"YulBlock","src":"180794:9:19","statements":[{"nativeSrc":"180796:5:19","nodeType":"YulBreak","src":"180796:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"180782:6:19","nodeType":"YulIdentifier","src":"180782:6:19"},{"name":"w","nativeSrc":"180790:1:19","nodeType":"YulIdentifier","src":"180790:1:19"}],"functionName":{"name":"byte","nativeSrc":"180777:4:19","nodeType":"YulIdentifier","src":"180777:4:19"},"nativeSrc":"180777:15:19","nodeType":"YulFunctionCall","src":"180777:15:19"}],"functionName":{"name":"iszero","nativeSrc":"180770:6:19","nodeType":"YulIdentifier","src":"180770:6:19"},"nativeSrc":"180770:23:19","nodeType":"YulFunctionCall","src":"180770:23:19"},"nativeSrc":"180767:36:19","nodeType":"YulIf","src":"180767:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"180722:6:19","nodeType":"YulIdentifier","src":"180722:6:19"},{"kind":"number","nativeSrc":"180730:4:19","nodeType":"YulLiteral","src":"180730:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"180719:2:19","nodeType":"YulIdentifier","src":"180719:2:19"},"nativeSrc":"180719:16:19","nodeType":"YulFunctionCall","src":"180719:16:19"},"nativeSrc":"180712:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"180736:28:19","nodeType":"YulBlock","src":"180736:28:19","statements":[{"nativeSrc":"180738:24:19","nodeType":"YulAssignment","src":"180738:24:19","value":{"arguments":[{"name":"length","nativeSrc":"180752:6:19","nodeType":"YulIdentifier","src":"180752:6:19"},{"kind":"number","nativeSrc":"180760:1:19","nodeType":"YulLiteral","src":"180760:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"180748:3:19","nodeType":"YulIdentifier","src":"180748:3:19"},"nativeSrc":"180748:14:19","nodeType":"YulFunctionCall","src":"180748:14:19"},"variableNames":[{"name":"length","nativeSrc":"180738:6:19","nodeType":"YulIdentifier","src":"180738:6:19"}]}]},"pre":{"nativeSrc":"180716:2:19","nodeType":"YulBlock","src":"180716:2:19","statements":[]},"src":"180712:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"180829:3:19","nodeType":"YulIdentifier","src":"180829:3:19"},{"name":"length","nativeSrc":"180834:6:19","nodeType":"YulIdentifier","src":"180834:6:19"}],"functionName":{"name":"mstore","nativeSrc":"180822:6:19","nodeType":"YulIdentifier","src":"180822:6:19"},"nativeSrc":"180822:19:19","nodeType":"YulFunctionCall","src":"180822:19:19"},"nativeSrc":"180822:19:19","nodeType":"YulExpressionStatement","src":"180822:19:19"},{"nativeSrc":"180858:37:19","nodeType":"YulVariableDeclaration","src":"180858:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"180875:3:19","nodeType":"YulLiteral","src":"180875:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"180884:1:19","nodeType":"YulLiteral","src":"180884:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"180887:6:19","nodeType":"YulIdentifier","src":"180887:6:19"}],"functionName":{"name":"shl","nativeSrc":"180880:3:19","nodeType":"YulIdentifier","src":"180880:3:19"},"nativeSrc":"180880:14:19","nodeType":"YulFunctionCall","src":"180880:14:19"}],"functionName":{"name":"sub","nativeSrc":"180871:3:19","nodeType":"YulIdentifier","src":"180871:3:19"},"nativeSrc":"180871:24:19","nodeType":"YulFunctionCall","src":"180871:24:19"},"variables":[{"name":"shift","nativeSrc":"180862:5:19","nodeType":"YulTypedName","src":"180862:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"180923:3:19","nodeType":"YulIdentifier","src":"180923:3:19"},{"kind":"number","nativeSrc":"180928:4:19","nodeType":"YulLiteral","src":"180928:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"180919:3:19","nodeType":"YulIdentifier","src":"180919:3:19"},"nativeSrc":"180919:14:19","nodeType":"YulFunctionCall","src":"180919:14:19"},{"arguments":[{"name":"shift","nativeSrc":"180939:5:19","nodeType":"YulIdentifier","src":"180939:5:19"},{"arguments":[{"name":"shift","nativeSrc":"180950:5:19","nodeType":"YulIdentifier","src":"180950:5:19"},{"name":"w","nativeSrc":"180957:1:19","nodeType":"YulIdentifier","src":"180957:1:19"}],"functionName":{"name":"shr","nativeSrc":"180946:3:19","nodeType":"YulIdentifier","src":"180946:3:19"},"nativeSrc":"180946:13:19","nodeType":"YulFunctionCall","src":"180946:13:19"}],"functionName":{"name":"shl","nativeSrc":"180935:3:19","nodeType":"YulIdentifier","src":"180935:3:19"},"nativeSrc":"180935:25:19","nodeType":"YulFunctionCall","src":"180935:25:19"}],"functionName":{"name":"mstore","nativeSrc":"180912:6:19","nodeType":"YulIdentifier","src":"180912:6:19"},"nativeSrc":"180912:49:19","nodeType":"YulFunctionCall","src":"180912:49:19"},"nativeSrc":"180912:49:19","nodeType":"YulExpressionStatement","src":"180912:49:19"}]},"name":"writeString","nativeSrc":"180633:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"180654:3:19","nodeType":"YulTypedName","src":"180654:3:19","type":""},{"name":"w","nativeSrc":"180659:1:19","nodeType":"YulTypedName","src":"180659:1:19","type":""}],"src":"180633:342:19"},{"nativeSrc":"180988:17:19","nodeType":"YulAssignment","src":"180988:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"181000:4:19","nodeType":"YulLiteral","src":"181000:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"180994:5:19","nodeType":"YulIdentifier","src":"180994:5:19"},"nativeSrc":"180994:11:19","nodeType":"YulFunctionCall","src":"180994:11:19"},"variableNames":[{"name":"m0","nativeSrc":"180988:2:19","nodeType":"YulIdentifier","src":"180988:2:19"}]},{"nativeSrc":"181018:17:19","nodeType":"YulAssignment","src":"181018:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"181030:4:19","nodeType":"YulLiteral","src":"181030:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"181024:5:19","nodeType":"YulIdentifier","src":"181024:5:19"},"nativeSrc":"181024:11:19","nodeType":"YulFunctionCall","src":"181024:11:19"},"variableNames":[{"name":"m1","nativeSrc":"181018:2:19","nodeType":"YulIdentifier","src":"181018:2:19"}]},{"nativeSrc":"181048:17:19","nodeType":"YulAssignment","src":"181048:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"181060:4:19","nodeType":"YulLiteral","src":"181060:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"181054:5:19","nodeType":"YulIdentifier","src":"181054:5:19"},"nativeSrc":"181054:11:19","nodeType":"YulFunctionCall","src":"181054:11:19"},"variableNames":[{"name":"m2","nativeSrc":"181048:2:19","nodeType":"YulIdentifier","src":"181048:2:19"}]},{"nativeSrc":"181078:17:19","nodeType":"YulAssignment","src":"181078:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"181090:4:19","nodeType":"YulLiteral","src":"181090:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"181084:5:19","nodeType":"YulIdentifier","src":"181084:5:19"},"nativeSrc":"181084:11:19","nodeType":"YulFunctionCall","src":"181084:11:19"},"variableNames":[{"name":"m3","nativeSrc":"181078:2:19","nodeType":"YulIdentifier","src":"181078:2:19"}]},{"nativeSrc":"181108:17:19","nodeType":"YulAssignment","src":"181108:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"181120:4:19","nodeType":"YulLiteral","src":"181120:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"181114:5:19","nodeType":"YulIdentifier","src":"181114:5:19"},"nativeSrc":"181114:11:19","nodeType":"YulFunctionCall","src":"181114:11:19"},"variableNames":[{"name":"m4","nativeSrc":"181108:2:19","nodeType":"YulIdentifier","src":"181108:2:19"}]},{"nativeSrc":"181138:17:19","nodeType":"YulAssignment","src":"181138:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"181150:4:19","nodeType":"YulLiteral","src":"181150:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"181144:5:19","nodeType":"YulIdentifier","src":"181144:5:19"},"nativeSrc":"181144:11:19","nodeType":"YulFunctionCall","src":"181144:11:19"},"variableNames":[{"name":"m5","nativeSrc":"181138:2:19","nodeType":"YulIdentifier","src":"181138:2:19"}]},{"nativeSrc":"181168:17:19","nodeType":"YulAssignment","src":"181168:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"181180:4:19","nodeType":"YulLiteral","src":"181180:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"181174:5:19","nodeType":"YulIdentifier","src":"181174:5:19"},"nativeSrc":"181174:11:19","nodeType":"YulFunctionCall","src":"181174:11:19"},"variableNames":[{"name":"m6","nativeSrc":"181168:2:19","nodeType":"YulIdentifier","src":"181168:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181268:4:19","nodeType":"YulLiteral","src":"181268:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"181274:10:19","nodeType":"YulLiteral","src":"181274:10:19","type":"","value":"0x51f09ff8"}],"functionName":{"name":"mstore","nativeSrc":"181261:6:19","nodeType":"YulIdentifier","src":"181261:6:19"},"nativeSrc":"181261:24:19","nodeType":"YulFunctionCall","src":"181261:24:19"},"nativeSrc":"181261:24:19","nodeType":"YulExpressionStatement","src":"181261:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181305:4:19","nodeType":"YulLiteral","src":"181305:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"181311:2:19","nodeType":"YulIdentifier","src":"181311:2:19"}],"functionName":{"name":"mstore","nativeSrc":"181298:6:19","nodeType":"YulIdentifier","src":"181298:6:19"},"nativeSrc":"181298:16:19","nodeType":"YulFunctionCall","src":"181298:16:19"},"nativeSrc":"181298:16:19","nodeType":"YulExpressionStatement","src":"181298:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181334:4:19","nodeType":"YulLiteral","src":"181334:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"181340:2:19","nodeType":"YulIdentifier","src":"181340:2:19"}],"functionName":{"name":"mstore","nativeSrc":"181327:6:19","nodeType":"YulIdentifier","src":"181327:6:19"},"nativeSrc":"181327:16:19","nodeType":"YulFunctionCall","src":"181327:16:19"},"nativeSrc":"181327:16:19","nodeType":"YulExpressionStatement","src":"181327:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181363:4:19","nodeType":"YulLiteral","src":"181363:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"181369:2:19","nodeType":"YulIdentifier","src":"181369:2:19"}],"functionName":{"name":"mstore","nativeSrc":"181356:6:19","nodeType":"YulIdentifier","src":"181356:6:19"},"nativeSrc":"181356:16:19","nodeType":"YulFunctionCall","src":"181356:16:19"},"nativeSrc":"181356:16:19","nodeType":"YulExpressionStatement","src":"181356:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181392:4:19","nodeType":"YulLiteral","src":"181392:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"181398:4:19","nodeType":"YulLiteral","src":"181398:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"181385:6:19","nodeType":"YulIdentifier","src":"181385:6:19"},"nativeSrc":"181385:18:19","nodeType":"YulFunctionCall","src":"181385:18:19"},"nativeSrc":"181385:18:19","nodeType":"YulExpressionStatement","src":"181385:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181428:4:19","nodeType":"YulLiteral","src":"181428:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"181434:2:19","nodeType":"YulIdentifier","src":"181434:2:19"}],"functionName":{"name":"writeString","nativeSrc":"181416:11:19","nodeType":"YulIdentifier","src":"181416:11:19"},"nativeSrc":"181416:21:19","nodeType":"YulFunctionCall","src":"181416:21:19"},"nativeSrc":"181416:21:19","nodeType":"YulExpressionStatement","src":"181416:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31980,"isOffset":false,"isSlot":false,"src":"180988:2:19","valueSize":1},{"declaration":31983,"isOffset":false,"isSlot":false,"src":"181018:2:19","valueSize":1},{"declaration":31986,"isOffset":false,"isSlot":false,"src":"181048:2:19","valueSize":1},{"declaration":31989,"isOffset":false,"isSlot":false,"src":"181078:2:19","valueSize":1},{"declaration":31992,"isOffset":false,"isSlot":false,"src":"181108:2:19","valueSize":1},{"declaration":31995,"isOffset":false,"isSlot":false,"src":"181138:2:19","valueSize":1},{"declaration":31998,"isOffset":false,"isSlot":false,"src":"181168:2:19","valueSize":1},{"declaration":31970,"isOffset":false,"isSlot":false,"src":"181311:2:19","valueSize":1},{"declaration":31972,"isOffset":false,"isSlot":false,"src":"181340:2:19","valueSize":1},{"declaration":31974,"isOffset":false,"isSlot":false,"src":"181369:2:19","valueSize":1},{"declaration":31976,"isOffset":false,"isSlot":false,"src":"181434:2:19","valueSize":1}],"id":32000,"nodeType":"InlineAssembly","src":"180610:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"181472:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":32003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"181478:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":32001,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"181456:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"181456:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32005,"nodeType":"ExpressionStatement","src":"181456:27:19"},{"AST":{"nativeSrc":"181545:214:19","nodeType":"YulBlock","src":"181545:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"181566:4:19","nodeType":"YulLiteral","src":"181566:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"181572:2:19","nodeType":"YulIdentifier","src":"181572:2:19"}],"functionName":{"name":"mstore","nativeSrc":"181559:6:19","nodeType":"YulIdentifier","src":"181559:6:19"},"nativeSrc":"181559:16:19","nodeType":"YulFunctionCall","src":"181559:16:19"},"nativeSrc":"181559:16:19","nodeType":"YulExpressionStatement","src":"181559:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181595:4:19","nodeType":"YulLiteral","src":"181595:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"181601:2:19","nodeType":"YulIdentifier","src":"181601:2:19"}],"functionName":{"name":"mstore","nativeSrc":"181588:6:19","nodeType":"YulIdentifier","src":"181588:6:19"},"nativeSrc":"181588:16:19","nodeType":"YulFunctionCall","src":"181588:16:19"},"nativeSrc":"181588:16:19","nodeType":"YulExpressionStatement","src":"181588:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181624:4:19","nodeType":"YulLiteral","src":"181624:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"181630:2:19","nodeType":"YulIdentifier","src":"181630:2:19"}],"functionName":{"name":"mstore","nativeSrc":"181617:6:19","nodeType":"YulIdentifier","src":"181617:6:19"},"nativeSrc":"181617:16:19","nodeType":"YulFunctionCall","src":"181617:16:19"},"nativeSrc":"181617:16:19","nodeType":"YulExpressionStatement","src":"181617:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181653:4:19","nodeType":"YulLiteral","src":"181653:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"181659:2:19","nodeType":"YulIdentifier","src":"181659:2:19"}],"functionName":{"name":"mstore","nativeSrc":"181646:6:19","nodeType":"YulIdentifier","src":"181646:6:19"},"nativeSrc":"181646:16:19","nodeType":"YulFunctionCall","src":"181646:16:19"},"nativeSrc":"181646:16:19","nodeType":"YulExpressionStatement","src":"181646:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181682:4:19","nodeType":"YulLiteral","src":"181682:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"181688:2:19","nodeType":"YulIdentifier","src":"181688:2:19"}],"functionName":{"name":"mstore","nativeSrc":"181675:6:19","nodeType":"YulIdentifier","src":"181675:6:19"},"nativeSrc":"181675:16:19","nodeType":"YulFunctionCall","src":"181675:16:19"},"nativeSrc":"181675:16:19","nodeType":"YulExpressionStatement","src":"181675:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181711:4:19","nodeType":"YulLiteral","src":"181711:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"181717:2:19","nodeType":"YulIdentifier","src":"181717:2:19"}],"functionName":{"name":"mstore","nativeSrc":"181704:6:19","nodeType":"YulIdentifier","src":"181704:6:19"},"nativeSrc":"181704:16:19","nodeType":"YulFunctionCall","src":"181704:16:19"},"nativeSrc":"181704:16:19","nodeType":"YulExpressionStatement","src":"181704:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"181740:4:19","nodeType":"YulLiteral","src":"181740:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"181746:2:19","nodeType":"YulIdentifier","src":"181746:2:19"}],"functionName":{"name":"mstore","nativeSrc":"181733:6:19","nodeType":"YulIdentifier","src":"181733:6:19"},"nativeSrc":"181733:16:19","nodeType":"YulFunctionCall","src":"181733:16:19"},"nativeSrc":"181733:16:19","nodeType":"YulExpressionStatement","src":"181733:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":31980,"isOffset":false,"isSlot":false,"src":"181572:2:19","valueSize":1},{"declaration":31983,"isOffset":false,"isSlot":false,"src":"181601:2:19","valueSize":1},{"declaration":31986,"isOffset":false,"isSlot":false,"src":"181630:2:19","valueSize":1},{"declaration":31989,"isOffset":false,"isSlot":false,"src":"181659:2:19","valueSize":1},{"declaration":31992,"isOffset":false,"isSlot":false,"src":"181688:2:19","valueSize":1},{"declaration":31995,"isOffset":false,"isSlot":false,"src":"181717:2:19","valueSize":1},{"declaration":31998,"isOffset":false,"isSlot":false,"src":"181746:2:19","valueSize":1}],"id":32006,"nodeType":"InlineAssembly","src":"181536:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"180354:3:19","parameters":{"id":31977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31970,"mutability":"mutable","name":"p0","nameLocation":"180363:2:19","nodeType":"VariableDeclaration","scope":32008,"src":"180358:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31969,"name":"bool","nodeType":"ElementaryTypeName","src":"180358:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":31972,"mutability":"mutable","name":"p1","nameLocation":"180375:2:19","nodeType":"VariableDeclaration","scope":32008,"src":"180367:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31971,"name":"address","nodeType":"ElementaryTypeName","src":"180367:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31974,"mutability":"mutable","name":"p2","nameLocation":"180387:2:19","nodeType":"VariableDeclaration","scope":32008,"src":"180379:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31973,"name":"uint256","nodeType":"ElementaryTypeName","src":"180379:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31976,"mutability":"mutable","name":"p3","nameLocation":"180399:2:19","nodeType":"VariableDeclaration","scope":32008,"src":"180391:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31975,"name":"bytes32","nodeType":"ElementaryTypeName","src":"180391:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"180357:45:19"},"returnParameters":{"id":31978,"nodeType":"ParameterList","parameters":[],"src":"180417:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32048,"nodeType":"FunctionDefinition","src":"181771:1420:19","nodes":[],"body":{"id":32047,"nodeType":"Block","src":"181843:1348:19","nodes":[],"statements":[{"assignments":[32020],"declarations":[{"constant":false,"id":32020,"mutability":"mutable","name":"m0","nameLocation":"181861:2:19","nodeType":"VariableDeclaration","scope":32047,"src":"181853:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32019,"name":"bytes32","nodeType":"ElementaryTypeName","src":"181853:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32021,"nodeType":"VariableDeclarationStatement","src":"181853:10:19"},{"assignments":[32023],"declarations":[{"constant":false,"id":32023,"mutability":"mutable","name":"m1","nameLocation":"181881:2:19","nodeType":"VariableDeclaration","scope":32047,"src":"181873:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32022,"name":"bytes32","nodeType":"ElementaryTypeName","src":"181873:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32024,"nodeType":"VariableDeclarationStatement","src":"181873:10:19"},{"assignments":[32026],"declarations":[{"constant":false,"id":32026,"mutability":"mutable","name":"m2","nameLocation":"181901:2:19","nodeType":"VariableDeclaration","scope":32047,"src":"181893:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32025,"name":"bytes32","nodeType":"ElementaryTypeName","src":"181893:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32027,"nodeType":"VariableDeclarationStatement","src":"181893:10:19"},{"assignments":[32029],"declarations":[{"constant":false,"id":32029,"mutability":"mutable","name":"m3","nameLocation":"181921:2:19","nodeType":"VariableDeclaration","scope":32047,"src":"181913:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32028,"name":"bytes32","nodeType":"ElementaryTypeName","src":"181913:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32030,"nodeType":"VariableDeclarationStatement","src":"181913:10:19"},{"assignments":[32032],"declarations":[{"constant":false,"id":32032,"mutability":"mutable","name":"m4","nameLocation":"181941:2:19","nodeType":"VariableDeclaration","scope":32047,"src":"181933:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32031,"name":"bytes32","nodeType":"ElementaryTypeName","src":"181933:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32033,"nodeType":"VariableDeclarationStatement","src":"181933:10:19"},{"assignments":[32035],"declarations":[{"constant":false,"id":32035,"mutability":"mutable","name":"m5","nameLocation":"181961:2:19","nodeType":"VariableDeclaration","scope":32047,"src":"181953:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32034,"name":"bytes32","nodeType":"ElementaryTypeName","src":"181953:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32036,"nodeType":"VariableDeclarationStatement","src":"181953:10:19"},{"assignments":[32038],"declarations":[{"constant":false,"id":32038,"mutability":"mutable","name":"m6","nameLocation":"181981:2:19","nodeType":"VariableDeclaration","scope":32047,"src":"181973:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32037,"name":"bytes32","nodeType":"ElementaryTypeName","src":"181973:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32039,"nodeType":"VariableDeclarationStatement","src":"181973:10:19"},{"AST":{"nativeSrc":"182045:828:19","nodeType":"YulBlock","src":"182045:828:19","statements":[{"body":{"nativeSrc":"182088:313:19","nodeType":"YulBlock","src":"182088:313:19","statements":[{"nativeSrc":"182106:15:19","nodeType":"YulVariableDeclaration","src":"182106:15:19","value":{"kind":"number","nativeSrc":"182120:1:19","nodeType":"YulLiteral","src":"182120:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"182110:6:19","nodeType":"YulTypedName","src":"182110:6:19","type":""}]},{"body":{"nativeSrc":"182191:40:19","nodeType":"YulBlock","src":"182191:40:19","statements":[{"body":{"nativeSrc":"182220:9:19","nodeType":"YulBlock","src":"182220:9:19","statements":[{"nativeSrc":"182222:5:19","nodeType":"YulBreak","src":"182222:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"182208:6:19","nodeType":"YulIdentifier","src":"182208:6:19"},{"name":"w","nativeSrc":"182216:1:19","nodeType":"YulIdentifier","src":"182216:1:19"}],"functionName":{"name":"byte","nativeSrc":"182203:4:19","nodeType":"YulIdentifier","src":"182203:4:19"},"nativeSrc":"182203:15:19","nodeType":"YulFunctionCall","src":"182203:15:19"}],"functionName":{"name":"iszero","nativeSrc":"182196:6:19","nodeType":"YulIdentifier","src":"182196:6:19"},"nativeSrc":"182196:23:19","nodeType":"YulFunctionCall","src":"182196:23:19"},"nativeSrc":"182193:36:19","nodeType":"YulIf","src":"182193:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"182148:6:19","nodeType":"YulIdentifier","src":"182148:6:19"},{"kind":"number","nativeSrc":"182156:4:19","nodeType":"YulLiteral","src":"182156:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"182145:2:19","nodeType":"YulIdentifier","src":"182145:2:19"},"nativeSrc":"182145:16:19","nodeType":"YulFunctionCall","src":"182145:16:19"},"nativeSrc":"182138:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"182162:28:19","nodeType":"YulBlock","src":"182162:28:19","statements":[{"nativeSrc":"182164:24:19","nodeType":"YulAssignment","src":"182164:24:19","value":{"arguments":[{"name":"length","nativeSrc":"182178:6:19","nodeType":"YulIdentifier","src":"182178:6:19"},{"kind":"number","nativeSrc":"182186:1:19","nodeType":"YulLiteral","src":"182186:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"182174:3:19","nodeType":"YulIdentifier","src":"182174:3:19"},"nativeSrc":"182174:14:19","nodeType":"YulFunctionCall","src":"182174:14:19"},"variableNames":[{"name":"length","nativeSrc":"182164:6:19","nodeType":"YulIdentifier","src":"182164:6:19"}]}]},"pre":{"nativeSrc":"182142:2:19","nodeType":"YulBlock","src":"182142:2:19","statements":[]},"src":"182138:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"182255:3:19","nodeType":"YulIdentifier","src":"182255:3:19"},{"name":"length","nativeSrc":"182260:6:19","nodeType":"YulIdentifier","src":"182260:6:19"}],"functionName":{"name":"mstore","nativeSrc":"182248:6:19","nodeType":"YulIdentifier","src":"182248:6:19"},"nativeSrc":"182248:19:19","nodeType":"YulFunctionCall","src":"182248:19:19"},"nativeSrc":"182248:19:19","nodeType":"YulExpressionStatement","src":"182248:19:19"},{"nativeSrc":"182284:37:19","nodeType":"YulVariableDeclaration","src":"182284:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"182301:3:19","nodeType":"YulLiteral","src":"182301:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"182310:1:19","nodeType":"YulLiteral","src":"182310:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"182313:6:19","nodeType":"YulIdentifier","src":"182313:6:19"}],"functionName":{"name":"shl","nativeSrc":"182306:3:19","nodeType":"YulIdentifier","src":"182306:3:19"},"nativeSrc":"182306:14:19","nodeType":"YulFunctionCall","src":"182306:14:19"}],"functionName":{"name":"sub","nativeSrc":"182297:3:19","nodeType":"YulIdentifier","src":"182297:3:19"},"nativeSrc":"182297:24:19","nodeType":"YulFunctionCall","src":"182297:24:19"},"variables":[{"name":"shift","nativeSrc":"182288:5:19","nodeType":"YulTypedName","src":"182288:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"182349:3:19","nodeType":"YulIdentifier","src":"182349:3:19"},{"kind":"number","nativeSrc":"182354:4:19","nodeType":"YulLiteral","src":"182354:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"182345:3:19","nodeType":"YulIdentifier","src":"182345:3:19"},"nativeSrc":"182345:14:19","nodeType":"YulFunctionCall","src":"182345:14:19"},{"arguments":[{"name":"shift","nativeSrc":"182365:5:19","nodeType":"YulIdentifier","src":"182365:5:19"},{"arguments":[{"name":"shift","nativeSrc":"182376:5:19","nodeType":"YulIdentifier","src":"182376:5:19"},{"name":"w","nativeSrc":"182383:1:19","nodeType":"YulIdentifier","src":"182383:1:19"}],"functionName":{"name":"shr","nativeSrc":"182372:3:19","nodeType":"YulIdentifier","src":"182372:3:19"},"nativeSrc":"182372:13:19","nodeType":"YulFunctionCall","src":"182372:13:19"}],"functionName":{"name":"shl","nativeSrc":"182361:3:19","nodeType":"YulIdentifier","src":"182361:3:19"},"nativeSrc":"182361:25:19","nodeType":"YulFunctionCall","src":"182361:25:19"}],"functionName":{"name":"mstore","nativeSrc":"182338:6:19","nodeType":"YulIdentifier","src":"182338:6:19"},"nativeSrc":"182338:49:19","nodeType":"YulFunctionCall","src":"182338:49:19"},"nativeSrc":"182338:49:19","nodeType":"YulExpressionStatement","src":"182338:49:19"}]},"name":"writeString","nativeSrc":"182059:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"182080:3:19","nodeType":"YulTypedName","src":"182080:3:19","type":""},{"name":"w","nativeSrc":"182085:1:19","nodeType":"YulTypedName","src":"182085:1:19","type":""}],"src":"182059:342:19"},{"nativeSrc":"182414:17:19","nodeType":"YulAssignment","src":"182414:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"182426:4:19","nodeType":"YulLiteral","src":"182426:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"182420:5:19","nodeType":"YulIdentifier","src":"182420:5:19"},"nativeSrc":"182420:11:19","nodeType":"YulFunctionCall","src":"182420:11:19"},"variableNames":[{"name":"m0","nativeSrc":"182414:2:19","nodeType":"YulIdentifier","src":"182414:2:19"}]},{"nativeSrc":"182444:17:19","nodeType":"YulAssignment","src":"182444:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"182456:4:19","nodeType":"YulLiteral","src":"182456:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"182450:5:19","nodeType":"YulIdentifier","src":"182450:5:19"},"nativeSrc":"182450:11:19","nodeType":"YulFunctionCall","src":"182450:11:19"},"variableNames":[{"name":"m1","nativeSrc":"182444:2:19","nodeType":"YulIdentifier","src":"182444:2:19"}]},{"nativeSrc":"182474:17:19","nodeType":"YulAssignment","src":"182474:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"182486:4:19","nodeType":"YulLiteral","src":"182486:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"182480:5:19","nodeType":"YulIdentifier","src":"182480:5:19"},"nativeSrc":"182480:11:19","nodeType":"YulFunctionCall","src":"182480:11:19"},"variableNames":[{"name":"m2","nativeSrc":"182474:2:19","nodeType":"YulIdentifier","src":"182474:2:19"}]},{"nativeSrc":"182504:17:19","nodeType":"YulAssignment","src":"182504:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"182516:4:19","nodeType":"YulLiteral","src":"182516:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"182510:5:19","nodeType":"YulIdentifier","src":"182510:5:19"},"nativeSrc":"182510:11:19","nodeType":"YulFunctionCall","src":"182510:11:19"},"variableNames":[{"name":"m3","nativeSrc":"182504:2:19","nodeType":"YulIdentifier","src":"182504:2:19"}]},{"nativeSrc":"182534:17:19","nodeType":"YulAssignment","src":"182534:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"182546:4:19","nodeType":"YulLiteral","src":"182546:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"182540:5:19","nodeType":"YulIdentifier","src":"182540:5:19"},"nativeSrc":"182540:11:19","nodeType":"YulFunctionCall","src":"182540:11:19"},"variableNames":[{"name":"m4","nativeSrc":"182534:2:19","nodeType":"YulIdentifier","src":"182534:2:19"}]},{"nativeSrc":"182564:17:19","nodeType":"YulAssignment","src":"182564:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"182576:4:19","nodeType":"YulLiteral","src":"182576:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"182570:5:19","nodeType":"YulIdentifier","src":"182570:5:19"},"nativeSrc":"182570:11:19","nodeType":"YulFunctionCall","src":"182570:11:19"},"variableNames":[{"name":"m5","nativeSrc":"182564:2:19","nodeType":"YulIdentifier","src":"182564:2:19"}]},{"nativeSrc":"182594:17:19","nodeType":"YulAssignment","src":"182594:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"182606:4:19","nodeType":"YulLiteral","src":"182606:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"182600:5:19","nodeType":"YulIdentifier","src":"182600:5:19"},"nativeSrc":"182600:11:19","nodeType":"YulFunctionCall","src":"182600:11:19"},"variableNames":[{"name":"m6","nativeSrc":"182594:2:19","nodeType":"YulIdentifier","src":"182594:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"182694:4:19","nodeType":"YulLiteral","src":"182694:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"182700:10:19","nodeType":"YulLiteral","src":"182700:10:19","type":"","value":"0x6f7c603e"}],"functionName":{"name":"mstore","nativeSrc":"182687:6:19","nodeType":"YulIdentifier","src":"182687:6:19"},"nativeSrc":"182687:24:19","nodeType":"YulFunctionCall","src":"182687:24:19"},"nativeSrc":"182687:24:19","nodeType":"YulExpressionStatement","src":"182687:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"182731:4:19","nodeType":"YulLiteral","src":"182731:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"182737:2:19","nodeType":"YulIdentifier","src":"182737:2:19"}],"functionName":{"name":"mstore","nativeSrc":"182724:6:19","nodeType":"YulIdentifier","src":"182724:6:19"},"nativeSrc":"182724:16:19","nodeType":"YulFunctionCall","src":"182724:16:19"},"nativeSrc":"182724:16:19","nodeType":"YulExpressionStatement","src":"182724:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"182760:4:19","nodeType":"YulLiteral","src":"182760:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"182766:2:19","nodeType":"YulIdentifier","src":"182766:2:19"}],"functionName":{"name":"mstore","nativeSrc":"182753:6:19","nodeType":"YulIdentifier","src":"182753:6:19"},"nativeSrc":"182753:16:19","nodeType":"YulFunctionCall","src":"182753:16:19"},"nativeSrc":"182753:16:19","nodeType":"YulExpressionStatement","src":"182753:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"182789:4:19","nodeType":"YulLiteral","src":"182789:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"182795:4:19","nodeType":"YulLiteral","src":"182795:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"182782:6:19","nodeType":"YulIdentifier","src":"182782:6:19"},"nativeSrc":"182782:18:19","nodeType":"YulFunctionCall","src":"182782:18:19"},"nativeSrc":"182782:18:19","nodeType":"YulExpressionStatement","src":"182782:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"182820:4:19","nodeType":"YulLiteral","src":"182820:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"182826:2:19","nodeType":"YulIdentifier","src":"182826:2:19"}],"functionName":{"name":"mstore","nativeSrc":"182813:6:19","nodeType":"YulIdentifier","src":"182813:6:19"},"nativeSrc":"182813:16:19","nodeType":"YulFunctionCall","src":"182813:16:19"},"nativeSrc":"182813:16:19","nodeType":"YulExpressionStatement","src":"182813:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"182854:4:19","nodeType":"YulLiteral","src":"182854:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"182860:2:19","nodeType":"YulIdentifier","src":"182860:2:19"}],"functionName":{"name":"writeString","nativeSrc":"182842:11:19","nodeType":"YulIdentifier","src":"182842:11:19"},"nativeSrc":"182842:21:19","nodeType":"YulFunctionCall","src":"182842:21:19"},"nativeSrc":"182842:21:19","nodeType":"YulExpressionStatement","src":"182842:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32020,"isOffset":false,"isSlot":false,"src":"182414:2:19","valueSize":1},{"declaration":32023,"isOffset":false,"isSlot":false,"src":"182444:2:19","valueSize":1},{"declaration":32026,"isOffset":false,"isSlot":false,"src":"182474:2:19","valueSize":1},{"declaration":32029,"isOffset":false,"isSlot":false,"src":"182504:2:19","valueSize":1},{"declaration":32032,"isOffset":false,"isSlot":false,"src":"182534:2:19","valueSize":1},{"declaration":32035,"isOffset":false,"isSlot":false,"src":"182564:2:19","valueSize":1},{"declaration":32038,"isOffset":false,"isSlot":false,"src":"182594:2:19","valueSize":1},{"declaration":32010,"isOffset":false,"isSlot":false,"src":"182737:2:19","valueSize":1},{"declaration":32012,"isOffset":false,"isSlot":false,"src":"182766:2:19","valueSize":1},{"declaration":32014,"isOffset":false,"isSlot":false,"src":"182860:2:19","valueSize":1},{"declaration":32016,"isOffset":false,"isSlot":false,"src":"182826:2:19","valueSize":1}],"id":32040,"nodeType":"InlineAssembly","src":"182036:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"182898:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":32043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"182904:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":32041,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"182882:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"182882:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32045,"nodeType":"ExpressionStatement","src":"182882:27:19"},{"AST":{"nativeSrc":"182971:214:19","nodeType":"YulBlock","src":"182971:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"182992:4:19","nodeType":"YulLiteral","src":"182992:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"182998:2:19","nodeType":"YulIdentifier","src":"182998:2:19"}],"functionName":{"name":"mstore","nativeSrc":"182985:6:19","nodeType":"YulIdentifier","src":"182985:6:19"},"nativeSrc":"182985:16:19","nodeType":"YulFunctionCall","src":"182985:16:19"},"nativeSrc":"182985:16:19","nodeType":"YulExpressionStatement","src":"182985:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"183021:4:19","nodeType":"YulLiteral","src":"183021:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"183027:2:19","nodeType":"YulIdentifier","src":"183027:2:19"}],"functionName":{"name":"mstore","nativeSrc":"183014:6:19","nodeType":"YulIdentifier","src":"183014:6:19"},"nativeSrc":"183014:16:19","nodeType":"YulFunctionCall","src":"183014:16:19"},"nativeSrc":"183014:16:19","nodeType":"YulExpressionStatement","src":"183014:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"183050:4:19","nodeType":"YulLiteral","src":"183050:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"183056:2:19","nodeType":"YulIdentifier","src":"183056:2:19"}],"functionName":{"name":"mstore","nativeSrc":"183043:6:19","nodeType":"YulIdentifier","src":"183043:6:19"},"nativeSrc":"183043:16:19","nodeType":"YulFunctionCall","src":"183043:16:19"},"nativeSrc":"183043:16:19","nodeType":"YulExpressionStatement","src":"183043:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"183079:4:19","nodeType":"YulLiteral","src":"183079:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"183085:2:19","nodeType":"YulIdentifier","src":"183085:2:19"}],"functionName":{"name":"mstore","nativeSrc":"183072:6:19","nodeType":"YulIdentifier","src":"183072:6:19"},"nativeSrc":"183072:16:19","nodeType":"YulFunctionCall","src":"183072:16:19"},"nativeSrc":"183072:16:19","nodeType":"YulExpressionStatement","src":"183072:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"183108:4:19","nodeType":"YulLiteral","src":"183108:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"183114:2:19","nodeType":"YulIdentifier","src":"183114:2:19"}],"functionName":{"name":"mstore","nativeSrc":"183101:6:19","nodeType":"YulIdentifier","src":"183101:6:19"},"nativeSrc":"183101:16:19","nodeType":"YulFunctionCall","src":"183101:16:19"},"nativeSrc":"183101:16:19","nodeType":"YulExpressionStatement","src":"183101:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"183137:4:19","nodeType":"YulLiteral","src":"183137:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"183143:2:19","nodeType":"YulIdentifier","src":"183143:2:19"}],"functionName":{"name":"mstore","nativeSrc":"183130:6:19","nodeType":"YulIdentifier","src":"183130:6:19"},"nativeSrc":"183130:16:19","nodeType":"YulFunctionCall","src":"183130:16:19"},"nativeSrc":"183130:16:19","nodeType":"YulExpressionStatement","src":"183130:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"183166:4:19","nodeType":"YulLiteral","src":"183166:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"183172:2:19","nodeType":"YulIdentifier","src":"183172:2:19"}],"functionName":{"name":"mstore","nativeSrc":"183159:6:19","nodeType":"YulIdentifier","src":"183159:6:19"},"nativeSrc":"183159:16:19","nodeType":"YulFunctionCall","src":"183159:16:19"},"nativeSrc":"183159:16:19","nodeType":"YulExpressionStatement","src":"183159:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32020,"isOffset":false,"isSlot":false,"src":"182998:2:19","valueSize":1},{"declaration":32023,"isOffset":false,"isSlot":false,"src":"183027:2:19","valueSize":1},{"declaration":32026,"isOffset":false,"isSlot":false,"src":"183056:2:19","valueSize":1},{"declaration":32029,"isOffset":false,"isSlot":false,"src":"183085:2:19","valueSize":1},{"declaration":32032,"isOffset":false,"isSlot":false,"src":"183114:2:19","valueSize":1},{"declaration":32035,"isOffset":false,"isSlot":false,"src":"183143:2:19","valueSize":1},{"declaration":32038,"isOffset":false,"isSlot":false,"src":"183172:2:19","valueSize":1}],"id":32046,"nodeType":"InlineAssembly","src":"182962:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"181780:3:19","parameters":{"id":32017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32010,"mutability":"mutable","name":"p0","nameLocation":"181789:2:19","nodeType":"VariableDeclaration","scope":32048,"src":"181784:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32009,"name":"bool","nodeType":"ElementaryTypeName","src":"181784:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32012,"mutability":"mutable","name":"p1","nameLocation":"181801:2:19","nodeType":"VariableDeclaration","scope":32048,"src":"181793:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32011,"name":"address","nodeType":"ElementaryTypeName","src":"181793:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32014,"mutability":"mutable","name":"p2","nameLocation":"181813:2:19","nodeType":"VariableDeclaration","scope":32048,"src":"181805:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32013,"name":"bytes32","nodeType":"ElementaryTypeName","src":"181805:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32016,"mutability":"mutable","name":"p3","nameLocation":"181825:2:19","nodeType":"VariableDeclaration","scope":32048,"src":"181817:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32015,"name":"address","nodeType":"ElementaryTypeName","src":"181817:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"181783:45:19"},"returnParameters":{"id":32018,"nodeType":"ParameterList","parameters":[],"src":"181843:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32088,"nodeType":"FunctionDefinition","src":"183197:1414:19","nodes":[],"body":{"id":32087,"nodeType":"Block","src":"183266:1345:19","nodes":[],"statements":[{"assignments":[32060],"declarations":[{"constant":false,"id":32060,"mutability":"mutable","name":"m0","nameLocation":"183284:2:19","nodeType":"VariableDeclaration","scope":32087,"src":"183276:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32059,"name":"bytes32","nodeType":"ElementaryTypeName","src":"183276:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32061,"nodeType":"VariableDeclarationStatement","src":"183276:10:19"},{"assignments":[32063],"declarations":[{"constant":false,"id":32063,"mutability":"mutable","name":"m1","nameLocation":"183304:2:19","nodeType":"VariableDeclaration","scope":32087,"src":"183296:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32062,"name":"bytes32","nodeType":"ElementaryTypeName","src":"183296:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32064,"nodeType":"VariableDeclarationStatement","src":"183296:10:19"},{"assignments":[32066],"declarations":[{"constant":false,"id":32066,"mutability":"mutable","name":"m2","nameLocation":"183324:2:19","nodeType":"VariableDeclaration","scope":32087,"src":"183316:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32065,"name":"bytes32","nodeType":"ElementaryTypeName","src":"183316:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32067,"nodeType":"VariableDeclarationStatement","src":"183316:10:19"},{"assignments":[32069],"declarations":[{"constant":false,"id":32069,"mutability":"mutable","name":"m3","nameLocation":"183344:2:19","nodeType":"VariableDeclaration","scope":32087,"src":"183336:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32068,"name":"bytes32","nodeType":"ElementaryTypeName","src":"183336:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32070,"nodeType":"VariableDeclarationStatement","src":"183336:10:19"},{"assignments":[32072],"declarations":[{"constant":false,"id":32072,"mutability":"mutable","name":"m4","nameLocation":"183364:2:19","nodeType":"VariableDeclaration","scope":32087,"src":"183356:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32071,"name":"bytes32","nodeType":"ElementaryTypeName","src":"183356:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32073,"nodeType":"VariableDeclarationStatement","src":"183356:10:19"},{"assignments":[32075],"declarations":[{"constant":false,"id":32075,"mutability":"mutable","name":"m5","nameLocation":"183384:2:19","nodeType":"VariableDeclaration","scope":32087,"src":"183376:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32074,"name":"bytes32","nodeType":"ElementaryTypeName","src":"183376:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32076,"nodeType":"VariableDeclarationStatement","src":"183376:10:19"},{"assignments":[32078],"declarations":[{"constant":false,"id":32078,"mutability":"mutable","name":"m6","nameLocation":"183404:2:19","nodeType":"VariableDeclaration","scope":32087,"src":"183396:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32077,"name":"bytes32","nodeType":"ElementaryTypeName","src":"183396:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32079,"nodeType":"VariableDeclarationStatement","src":"183396:10:19"},{"AST":{"nativeSrc":"183468:825:19","nodeType":"YulBlock","src":"183468:825:19","statements":[{"body":{"nativeSrc":"183511:313:19","nodeType":"YulBlock","src":"183511:313:19","statements":[{"nativeSrc":"183529:15:19","nodeType":"YulVariableDeclaration","src":"183529:15:19","value":{"kind":"number","nativeSrc":"183543:1:19","nodeType":"YulLiteral","src":"183543:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"183533:6:19","nodeType":"YulTypedName","src":"183533:6:19","type":""}]},{"body":{"nativeSrc":"183614:40:19","nodeType":"YulBlock","src":"183614:40:19","statements":[{"body":{"nativeSrc":"183643:9:19","nodeType":"YulBlock","src":"183643:9:19","statements":[{"nativeSrc":"183645:5:19","nodeType":"YulBreak","src":"183645:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"183631:6:19","nodeType":"YulIdentifier","src":"183631:6:19"},{"name":"w","nativeSrc":"183639:1:19","nodeType":"YulIdentifier","src":"183639:1:19"}],"functionName":{"name":"byte","nativeSrc":"183626:4:19","nodeType":"YulIdentifier","src":"183626:4:19"},"nativeSrc":"183626:15:19","nodeType":"YulFunctionCall","src":"183626:15:19"}],"functionName":{"name":"iszero","nativeSrc":"183619:6:19","nodeType":"YulIdentifier","src":"183619:6:19"},"nativeSrc":"183619:23:19","nodeType":"YulFunctionCall","src":"183619:23:19"},"nativeSrc":"183616:36:19","nodeType":"YulIf","src":"183616:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"183571:6:19","nodeType":"YulIdentifier","src":"183571:6:19"},{"kind":"number","nativeSrc":"183579:4:19","nodeType":"YulLiteral","src":"183579:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"183568:2:19","nodeType":"YulIdentifier","src":"183568:2:19"},"nativeSrc":"183568:16:19","nodeType":"YulFunctionCall","src":"183568:16:19"},"nativeSrc":"183561:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"183585:28:19","nodeType":"YulBlock","src":"183585:28:19","statements":[{"nativeSrc":"183587:24:19","nodeType":"YulAssignment","src":"183587:24:19","value":{"arguments":[{"name":"length","nativeSrc":"183601:6:19","nodeType":"YulIdentifier","src":"183601:6:19"},{"kind":"number","nativeSrc":"183609:1:19","nodeType":"YulLiteral","src":"183609:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"183597:3:19","nodeType":"YulIdentifier","src":"183597:3:19"},"nativeSrc":"183597:14:19","nodeType":"YulFunctionCall","src":"183597:14:19"},"variableNames":[{"name":"length","nativeSrc":"183587:6:19","nodeType":"YulIdentifier","src":"183587:6:19"}]}]},"pre":{"nativeSrc":"183565:2:19","nodeType":"YulBlock","src":"183565:2:19","statements":[]},"src":"183561:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"183678:3:19","nodeType":"YulIdentifier","src":"183678:3:19"},{"name":"length","nativeSrc":"183683:6:19","nodeType":"YulIdentifier","src":"183683:6:19"}],"functionName":{"name":"mstore","nativeSrc":"183671:6:19","nodeType":"YulIdentifier","src":"183671:6:19"},"nativeSrc":"183671:19:19","nodeType":"YulFunctionCall","src":"183671:19:19"},"nativeSrc":"183671:19:19","nodeType":"YulExpressionStatement","src":"183671:19:19"},{"nativeSrc":"183707:37:19","nodeType":"YulVariableDeclaration","src":"183707:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"183724:3:19","nodeType":"YulLiteral","src":"183724:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"183733:1:19","nodeType":"YulLiteral","src":"183733:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"183736:6:19","nodeType":"YulIdentifier","src":"183736:6:19"}],"functionName":{"name":"shl","nativeSrc":"183729:3:19","nodeType":"YulIdentifier","src":"183729:3:19"},"nativeSrc":"183729:14:19","nodeType":"YulFunctionCall","src":"183729:14:19"}],"functionName":{"name":"sub","nativeSrc":"183720:3:19","nodeType":"YulIdentifier","src":"183720:3:19"},"nativeSrc":"183720:24:19","nodeType":"YulFunctionCall","src":"183720:24:19"},"variables":[{"name":"shift","nativeSrc":"183711:5:19","nodeType":"YulTypedName","src":"183711:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"183772:3:19","nodeType":"YulIdentifier","src":"183772:3:19"},{"kind":"number","nativeSrc":"183777:4:19","nodeType":"YulLiteral","src":"183777:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"183768:3:19","nodeType":"YulIdentifier","src":"183768:3:19"},"nativeSrc":"183768:14:19","nodeType":"YulFunctionCall","src":"183768:14:19"},{"arguments":[{"name":"shift","nativeSrc":"183788:5:19","nodeType":"YulIdentifier","src":"183788:5:19"},{"arguments":[{"name":"shift","nativeSrc":"183799:5:19","nodeType":"YulIdentifier","src":"183799:5:19"},{"name":"w","nativeSrc":"183806:1:19","nodeType":"YulIdentifier","src":"183806:1:19"}],"functionName":{"name":"shr","nativeSrc":"183795:3:19","nodeType":"YulIdentifier","src":"183795:3:19"},"nativeSrc":"183795:13:19","nodeType":"YulFunctionCall","src":"183795:13:19"}],"functionName":{"name":"shl","nativeSrc":"183784:3:19","nodeType":"YulIdentifier","src":"183784:3:19"},"nativeSrc":"183784:25:19","nodeType":"YulFunctionCall","src":"183784:25:19"}],"functionName":{"name":"mstore","nativeSrc":"183761:6:19","nodeType":"YulIdentifier","src":"183761:6:19"},"nativeSrc":"183761:49:19","nodeType":"YulFunctionCall","src":"183761:49:19"},"nativeSrc":"183761:49:19","nodeType":"YulExpressionStatement","src":"183761:49:19"}]},"name":"writeString","nativeSrc":"183482:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"183503:3:19","nodeType":"YulTypedName","src":"183503:3:19","type":""},{"name":"w","nativeSrc":"183508:1:19","nodeType":"YulTypedName","src":"183508:1:19","type":""}],"src":"183482:342:19"},{"nativeSrc":"183837:17:19","nodeType":"YulAssignment","src":"183837:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"183849:4:19","nodeType":"YulLiteral","src":"183849:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"183843:5:19","nodeType":"YulIdentifier","src":"183843:5:19"},"nativeSrc":"183843:11:19","nodeType":"YulFunctionCall","src":"183843:11:19"},"variableNames":[{"name":"m0","nativeSrc":"183837:2:19","nodeType":"YulIdentifier","src":"183837:2:19"}]},{"nativeSrc":"183867:17:19","nodeType":"YulAssignment","src":"183867:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"183879:4:19","nodeType":"YulLiteral","src":"183879:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"183873:5:19","nodeType":"YulIdentifier","src":"183873:5:19"},"nativeSrc":"183873:11:19","nodeType":"YulFunctionCall","src":"183873:11:19"},"variableNames":[{"name":"m1","nativeSrc":"183867:2:19","nodeType":"YulIdentifier","src":"183867:2:19"}]},{"nativeSrc":"183897:17:19","nodeType":"YulAssignment","src":"183897:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"183909:4:19","nodeType":"YulLiteral","src":"183909:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"183903:5:19","nodeType":"YulIdentifier","src":"183903:5:19"},"nativeSrc":"183903:11:19","nodeType":"YulFunctionCall","src":"183903:11:19"},"variableNames":[{"name":"m2","nativeSrc":"183897:2:19","nodeType":"YulIdentifier","src":"183897:2:19"}]},{"nativeSrc":"183927:17:19","nodeType":"YulAssignment","src":"183927:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"183939:4:19","nodeType":"YulLiteral","src":"183939:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"183933:5:19","nodeType":"YulIdentifier","src":"183933:5:19"},"nativeSrc":"183933:11:19","nodeType":"YulFunctionCall","src":"183933:11:19"},"variableNames":[{"name":"m3","nativeSrc":"183927:2:19","nodeType":"YulIdentifier","src":"183927:2:19"}]},{"nativeSrc":"183957:17:19","nodeType":"YulAssignment","src":"183957:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"183969:4:19","nodeType":"YulLiteral","src":"183969:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"183963:5:19","nodeType":"YulIdentifier","src":"183963:5:19"},"nativeSrc":"183963:11:19","nodeType":"YulFunctionCall","src":"183963:11:19"},"variableNames":[{"name":"m4","nativeSrc":"183957:2:19","nodeType":"YulIdentifier","src":"183957:2:19"}]},{"nativeSrc":"183987:17:19","nodeType":"YulAssignment","src":"183987:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"183999:4:19","nodeType":"YulLiteral","src":"183999:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"183993:5:19","nodeType":"YulIdentifier","src":"183993:5:19"},"nativeSrc":"183993:11:19","nodeType":"YulFunctionCall","src":"183993:11:19"},"variableNames":[{"name":"m5","nativeSrc":"183987:2:19","nodeType":"YulIdentifier","src":"183987:2:19"}]},{"nativeSrc":"184017:17:19","nodeType":"YulAssignment","src":"184017:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"184029:4:19","nodeType":"YulLiteral","src":"184029:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"184023:5:19","nodeType":"YulIdentifier","src":"184023:5:19"},"nativeSrc":"184023:11:19","nodeType":"YulFunctionCall","src":"184023:11:19"},"variableNames":[{"name":"m6","nativeSrc":"184017:2:19","nodeType":"YulIdentifier","src":"184017:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184114:4:19","nodeType":"YulLiteral","src":"184114:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"184120:10:19","nodeType":"YulLiteral","src":"184120:10:19","type":"","value":"0xe2bfd60b"}],"functionName":{"name":"mstore","nativeSrc":"184107:6:19","nodeType":"YulIdentifier","src":"184107:6:19"},"nativeSrc":"184107:24:19","nodeType":"YulFunctionCall","src":"184107:24:19"},"nativeSrc":"184107:24:19","nodeType":"YulExpressionStatement","src":"184107:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184151:4:19","nodeType":"YulLiteral","src":"184151:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"184157:2:19","nodeType":"YulIdentifier","src":"184157:2:19"}],"functionName":{"name":"mstore","nativeSrc":"184144:6:19","nodeType":"YulIdentifier","src":"184144:6:19"},"nativeSrc":"184144:16:19","nodeType":"YulFunctionCall","src":"184144:16:19"},"nativeSrc":"184144:16:19","nodeType":"YulExpressionStatement","src":"184144:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184180:4:19","nodeType":"YulLiteral","src":"184180:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"184186:2:19","nodeType":"YulIdentifier","src":"184186:2:19"}],"functionName":{"name":"mstore","nativeSrc":"184173:6:19","nodeType":"YulIdentifier","src":"184173:6:19"},"nativeSrc":"184173:16:19","nodeType":"YulFunctionCall","src":"184173:16:19"},"nativeSrc":"184173:16:19","nodeType":"YulExpressionStatement","src":"184173:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184209:4:19","nodeType":"YulLiteral","src":"184209:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"184215:4:19","nodeType":"YulLiteral","src":"184215:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"184202:6:19","nodeType":"YulIdentifier","src":"184202:6:19"},"nativeSrc":"184202:18:19","nodeType":"YulFunctionCall","src":"184202:18:19"},"nativeSrc":"184202:18:19","nodeType":"YulExpressionStatement","src":"184202:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184240:4:19","nodeType":"YulLiteral","src":"184240:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"184246:2:19","nodeType":"YulIdentifier","src":"184246:2:19"}],"functionName":{"name":"mstore","nativeSrc":"184233:6:19","nodeType":"YulIdentifier","src":"184233:6:19"},"nativeSrc":"184233:16:19","nodeType":"YulFunctionCall","src":"184233:16:19"},"nativeSrc":"184233:16:19","nodeType":"YulExpressionStatement","src":"184233:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184274:4:19","nodeType":"YulLiteral","src":"184274:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"184280:2:19","nodeType":"YulIdentifier","src":"184280:2:19"}],"functionName":{"name":"writeString","nativeSrc":"184262:11:19","nodeType":"YulIdentifier","src":"184262:11:19"},"nativeSrc":"184262:21:19","nodeType":"YulFunctionCall","src":"184262:21:19"},"nativeSrc":"184262:21:19","nodeType":"YulExpressionStatement","src":"184262:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32060,"isOffset":false,"isSlot":false,"src":"183837:2:19","valueSize":1},{"declaration":32063,"isOffset":false,"isSlot":false,"src":"183867:2:19","valueSize":1},{"declaration":32066,"isOffset":false,"isSlot":false,"src":"183897:2:19","valueSize":1},{"declaration":32069,"isOffset":false,"isSlot":false,"src":"183927:2:19","valueSize":1},{"declaration":32072,"isOffset":false,"isSlot":false,"src":"183957:2:19","valueSize":1},{"declaration":32075,"isOffset":false,"isSlot":false,"src":"183987:2:19","valueSize":1},{"declaration":32078,"isOffset":false,"isSlot":false,"src":"184017:2:19","valueSize":1},{"declaration":32050,"isOffset":false,"isSlot":false,"src":"184157:2:19","valueSize":1},{"declaration":32052,"isOffset":false,"isSlot":false,"src":"184186:2:19","valueSize":1},{"declaration":32054,"isOffset":false,"isSlot":false,"src":"184280:2:19","valueSize":1},{"declaration":32056,"isOffset":false,"isSlot":false,"src":"184246:2:19","valueSize":1}],"id":32080,"nodeType":"InlineAssembly","src":"183459:834:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"184318:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":32083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"184324:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":32081,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"184302:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"184302:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32085,"nodeType":"ExpressionStatement","src":"184302:27:19"},{"AST":{"nativeSrc":"184391:214:19","nodeType":"YulBlock","src":"184391:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"184412:4:19","nodeType":"YulLiteral","src":"184412:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"184418:2:19","nodeType":"YulIdentifier","src":"184418:2:19"}],"functionName":{"name":"mstore","nativeSrc":"184405:6:19","nodeType":"YulIdentifier","src":"184405:6:19"},"nativeSrc":"184405:16:19","nodeType":"YulFunctionCall","src":"184405:16:19"},"nativeSrc":"184405:16:19","nodeType":"YulExpressionStatement","src":"184405:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184441:4:19","nodeType":"YulLiteral","src":"184441:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"184447:2:19","nodeType":"YulIdentifier","src":"184447:2:19"}],"functionName":{"name":"mstore","nativeSrc":"184434:6:19","nodeType":"YulIdentifier","src":"184434:6:19"},"nativeSrc":"184434:16:19","nodeType":"YulFunctionCall","src":"184434:16:19"},"nativeSrc":"184434:16:19","nodeType":"YulExpressionStatement","src":"184434:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184470:4:19","nodeType":"YulLiteral","src":"184470:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"184476:2:19","nodeType":"YulIdentifier","src":"184476:2:19"}],"functionName":{"name":"mstore","nativeSrc":"184463:6:19","nodeType":"YulIdentifier","src":"184463:6:19"},"nativeSrc":"184463:16:19","nodeType":"YulFunctionCall","src":"184463:16:19"},"nativeSrc":"184463:16:19","nodeType":"YulExpressionStatement","src":"184463:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184499:4:19","nodeType":"YulLiteral","src":"184499:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"184505:2:19","nodeType":"YulIdentifier","src":"184505:2:19"}],"functionName":{"name":"mstore","nativeSrc":"184492:6:19","nodeType":"YulIdentifier","src":"184492:6:19"},"nativeSrc":"184492:16:19","nodeType":"YulFunctionCall","src":"184492:16:19"},"nativeSrc":"184492:16:19","nodeType":"YulExpressionStatement","src":"184492:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184528:4:19","nodeType":"YulLiteral","src":"184528:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"184534:2:19","nodeType":"YulIdentifier","src":"184534:2:19"}],"functionName":{"name":"mstore","nativeSrc":"184521:6:19","nodeType":"YulIdentifier","src":"184521:6:19"},"nativeSrc":"184521:16:19","nodeType":"YulFunctionCall","src":"184521:16:19"},"nativeSrc":"184521:16:19","nodeType":"YulExpressionStatement","src":"184521:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184557:4:19","nodeType":"YulLiteral","src":"184557:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"184563:2:19","nodeType":"YulIdentifier","src":"184563:2:19"}],"functionName":{"name":"mstore","nativeSrc":"184550:6:19","nodeType":"YulIdentifier","src":"184550:6:19"},"nativeSrc":"184550:16:19","nodeType":"YulFunctionCall","src":"184550:16:19"},"nativeSrc":"184550:16:19","nodeType":"YulExpressionStatement","src":"184550:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"184586:4:19","nodeType":"YulLiteral","src":"184586:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"184592:2:19","nodeType":"YulIdentifier","src":"184592:2:19"}],"functionName":{"name":"mstore","nativeSrc":"184579:6:19","nodeType":"YulIdentifier","src":"184579:6:19"},"nativeSrc":"184579:16:19","nodeType":"YulFunctionCall","src":"184579:16:19"},"nativeSrc":"184579:16:19","nodeType":"YulExpressionStatement","src":"184579:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32060,"isOffset":false,"isSlot":false,"src":"184418:2:19","valueSize":1},{"declaration":32063,"isOffset":false,"isSlot":false,"src":"184447:2:19","valueSize":1},{"declaration":32066,"isOffset":false,"isSlot":false,"src":"184476:2:19","valueSize":1},{"declaration":32069,"isOffset":false,"isSlot":false,"src":"184505:2:19","valueSize":1},{"declaration":32072,"isOffset":false,"isSlot":false,"src":"184534:2:19","valueSize":1},{"declaration":32075,"isOffset":false,"isSlot":false,"src":"184563:2:19","valueSize":1},{"declaration":32078,"isOffset":false,"isSlot":false,"src":"184592:2:19","valueSize":1}],"id":32086,"nodeType":"InlineAssembly","src":"184382:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"183206:3:19","parameters":{"id":32057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32050,"mutability":"mutable","name":"p0","nameLocation":"183215:2:19","nodeType":"VariableDeclaration","scope":32088,"src":"183210:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32049,"name":"bool","nodeType":"ElementaryTypeName","src":"183210:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32052,"mutability":"mutable","name":"p1","nameLocation":"183227:2:19","nodeType":"VariableDeclaration","scope":32088,"src":"183219:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32051,"name":"address","nodeType":"ElementaryTypeName","src":"183219:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32054,"mutability":"mutable","name":"p2","nameLocation":"183239:2:19","nodeType":"VariableDeclaration","scope":32088,"src":"183231:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32053,"name":"bytes32","nodeType":"ElementaryTypeName","src":"183231:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32056,"mutability":"mutable","name":"p3","nameLocation":"183248:2:19","nodeType":"VariableDeclaration","scope":32088,"src":"183243:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32055,"name":"bool","nodeType":"ElementaryTypeName","src":"183243:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"183209:42:19"},"returnParameters":{"id":32058,"nodeType":"ParameterList","parameters":[],"src":"183266:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32128,"nodeType":"FunctionDefinition","src":"184617:1420:19","nodes":[],"body":{"id":32127,"nodeType":"Block","src":"184689:1348:19","nodes":[],"statements":[{"assignments":[32100],"declarations":[{"constant":false,"id":32100,"mutability":"mutable","name":"m0","nameLocation":"184707:2:19","nodeType":"VariableDeclaration","scope":32127,"src":"184699:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32099,"name":"bytes32","nodeType":"ElementaryTypeName","src":"184699:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32101,"nodeType":"VariableDeclarationStatement","src":"184699:10:19"},{"assignments":[32103],"declarations":[{"constant":false,"id":32103,"mutability":"mutable","name":"m1","nameLocation":"184727:2:19","nodeType":"VariableDeclaration","scope":32127,"src":"184719:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32102,"name":"bytes32","nodeType":"ElementaryTypeName","src":"184719:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32104,"nodeType":"VariableDeclarationStatement","src":"184719:10:19"},{"assignments":[32106],"declarations":[{"constant":false,"id":32106,"mutability":"mutable","name":"m2","nameLocation":"184747:2:19","nodeType":"VariableDeclaration","scope":32127,"src":"184739:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32105,"name":"bytes32","nodeType":"ElementaryTypeName","src":"184739:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32107,"nodeType":"VariableDeclarationStatement","src":"184739:10:19"},{"assignments":[32109],"declarations":[{"constant":false,"id":32109,"mutability":"mutable","name":"m3","nameLocation":"184767:2:19","nodeType":"VariableDeclaration","scope":32127,"src":"184759:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32108,"name":"bytes32","nodeType":"ElementaryTypeName","src":"184759:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32110,"nodeType":"VariableDeclarationStatement","src":"184759:10:19"},{"assignments":[32112],"declarations":[{"constant":false,"id":32112,"mutability":"mutable","name":"m4","nameLocation":"184787:2:19","nodeType":"VariableDeclaration","scope":32127,"src":"184779:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"184779:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32113,"nodeType":"VariableDeclarationStatement","src":"184779:10:19"},{"assignments":[32115],"declarations":[{"constant":false,"id":32115,"mutability":"mutable","name":"m5","nameLocation":"184807:2:19","nodeType":"VariableDeclaration","scope":32127,"src":"184799:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32114,"name":"bytes32","nodeType":"ElementaryTypeName","src":"184799:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32116,"nodeType":"VariableDeclarationStatement","src":"184799:10:19"},{"assignments":[32118],"declarations":[{"constant":false,"id":32118,"mutability":"mutable","name":"m6","nameLocation":"184827:2:19","nodeType":"VariableDeclaration","scope":32127,"src":"184819:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32117,"name":"bytes32","nodeType":"ElementaryTypeName","src":"184819:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32119,"nodeType":"VariableDeclarationStatement","src":"184819:10:19"},{"AST":{"nativeSrc":"184891:828:19","nodeType":"YulBlock","src":"184891:828:19","statements":[{"body":{"nativeSrc":"184934:313:19","nodeType":"YulBlock","src":"184934:313:19","statements":[{"nativeSrc":"184952:15:19","nodeType":"YulVariableDeclaration","src":"184952:15:19","value":{"kind":"number","nativeSrc":"184966:1:19","nodeType":"YulLiteral","src":"184966:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"184956:6:19","nodeType":"YulTypedName","src":"184956:6:19","type":""}]},{"body":{"nativeSrc":"185037:40:19","nodeType":"YulBlock","src":"185037:40:19","statements":[{"body":{"nativeSrc":"185066:9:19","nodeType":"YulBlock","src":"185066:9:19","statements":[{"nativeSrc":"185068:5:19","nodeType":"YulBreak","src":"185068:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"185054:6:19","nodeType":"YulIdentifier","src":"185054:6:19"},{"name":"w","nativeSrc":"185062:1:19","nodeType":"YulIdentifier","src":"185062:1:19"}],"functionName":{"name":"byte","nativeSrc":"185049:4:19","nodeType":"YulIdentifier","src":"185049:4:19"},"nativeSrc":"185049:15:19","nodeType":"YulFunctionCall","src":"185049:15:19"}],"functionName":{"name":"iszero","nativeSrc":"185042:6:19","nodeType":"YulIdentifier","src":"185042:6:19"},"nativeSrc":"185042:23:19","nodeType":"YulFunctionCall","src":"185042:23:19"},"nativeSrc":"185039:36:19","nodeType":"YulIf","src":"185039:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"184994:6:19","nodeType":"YulIdentifier","src":"184994:6:19"},{"kind":"number","nativeSrc":"185002:4:19","nodeType":"YulLiteral","src":"185002:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"184991:2:19","nodeType":"YulIdentifier","src":"184991:2:19"},"nativeSrc":"184991:16:19","nodeType":"YulFunctionCall","src":"184991:16:19"},"nativeSrc":"184984:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"185008:28:19","nodeType":"YulBlock","src":"185008:28:19","statements":[{"nativeSrc":"185010:24:19","nodeType":"YulAssignment","src":"185010:24:19","value":{"arguments":[{"name":"length","nativeSrc":"185024:6:19","nodeType":"YulIdentifier","src":"185024:6:19"},{"kind":"number","nativeSrc":"185032:1:19","nodeType":"YulLiteral","src":"185032:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"185020:3:19","nodeType":"YulIdentifier","src":"185020:3:19"},"nativeSrc":"185020:14:19","nodeType":"YulFunctionCall","src":"185020:14:19"},"variableNames":[{"name":"length","nativeSrc":"185010:6:19","nodeType":"YulIdentifier","src":"185010:6:19"}]}]},"pre":{"nativeSrc":"184988:2:19","nodeType":"YulBlock","src":"184988:2:19","statements":[]},"src":"184984:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"185101:3:19","nodeType":"YulIdentifier","src":"185101:3:19"},{"name":"length","nativeSrc":"185106:6:19","nodeType":"YulIdentifier","src":"185106:6:19"}],"functionName":{"name":"mstore","nativeSrc":"185094:6:19","nodeType":"YulIdentifier","src":"185094:6:19"},"nativeSrc":"185094:19:19","nodeType":"YulFunctionCall","src":"185094:19:19"},"nativeSrc":"185094:19:19","nodeType":"YulExpressionStatement","src":"185094:19:19"},{"nativeSrc":"185130:37:19","nodeType":"YulVariableDeclaration","src":"185130:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"185147:3:19","nodeType":"YulLiteral","src":"185147:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"185156:1:19","nodeType":"YulLiteral","src":"185156:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"185159:6:19","nodeType":"YulIdentifier","src":"185159:6:19"}],"functionName":{"name":"shl","nativeSrc":"185152:3:19","nodeType":"YulIdentifier","src":"185152:3:19"},"nativeSrc":"185152:14:19","nodeType":"YulFunctionCall","src":"185152:14:19"}],"functionName":{"name":"sub","nativeSrc":"185143:3:19","nodeType":"YulIdentifier","src":"185143:3:19"},"nativeSrc":"185143:24:19","nodeType":"YulFunctionCall","src":"185143:24:19"},"variables":[{"name":"shift","nativeSrc":"185134:5:19","nodeType":"YulTypedName","src":"185134:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"185195:3:19","nodeType":"YulIdentifier","src":"185195:3:19"},{"kind":"number","nativeSrc":"185200:4:19","nodeType":"YulLiteral","src":"185200:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"185191:3:19","nodeType":"YulIdentifier","src":"185191:3:19"},"nativeSrc":"185191:14:19","nodeType":"YulFunctionCall","src":"185191:14:19"},{"arguments":[{"name":"shift","nativeSrc":"185211:5:19","nodeType":"YulIdentifier","src":"185211:5:19"},{"arguments":[{"name":"shift","nativeSrc":"185222:5:19","nodeType":"YulIdentifier","src":"185222:5:19"},{"name":"w","nativeSrc":"185229:1:19","nodeType":"YulIdentifier","src":"185229:1:19"}],"functionName":{"name":"shr","nativeSrc":"185218:3:19","nodeType":"YulIdentifier","src":"185218:3:19"},"nativeSrc":"185218:13:19","nodeType":"YulFunctionCall","src":"185218:13:19"}],"functionName":{"name":"shl","nativeSrc":"185207:3:19","nodeType":"YulIdentifier","src":"185207:3:19"},"nativeSrc":"185207:25:19","nodeType":"YulFunctionCall","src":"185207:25:19"}],"functionName":{"name":"mstore","nativeSrc":"185184:6:19","nodeType":"YulIdentifier","src":"185184:6:19"},"nativeSrc":"185184:49:19","nodeType":"YulFunctionCall","src":"185184:49:19"},"nativeSrc":"185184:49:19","nodeType":"YulExpressionStatement","src":"185184:49:19"}]},"name":"writeString","nativeSrc":"184905:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"184926:3:19","nodeType":"YulTypedName","src":"184926:3:19","type":""},{"name":"w","nativeSrc":"184931:1:19","nodeType":"YulTypedName","src":"184931:1:19","type":""}],"src":"184905:342:19"},{"nativeSrc":"185260:17:19","nodeType":"YulAssignment","src":"185260:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"185272:4:19","nodeType":"YulLiteral","src":"185272:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"185266:5:19","nodeType":"YulIdentifier","src":"185266:5:19"},"nativeSrc":"185266:11:19","nodeType":"YulFunctionCall","src":"185266:11:19"},"variableNames":[{"name":"m0","nativeSrc":"185260:2:19","nodeType":"YulIdentifier","src":"185260:2:19"}]},{"nativeSrc":"185290:17:19","nodeType":"YulAssignment","src":"185290:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"185302:4:19","nodeType":"YulLiteral","src":"185302:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"185296:5:19","nodeType":"YulIdentifier","src":"185296:5:19"},"nativeSrc":"185296:11:19","nodeType":"YulFunctionCall","src":"185296:11:19"},"variableNames":[{"name":"m1","nativeSrc":"185290:2:19","nodeType":"YulIdentifier","src":"185290:2:19"}]},{"nativeSrc":"185320:17:19","nodeType":"YulAssignment","src":"185320:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"185332:4:19","nodeType":"YulLiteral","src":"185332:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"185326:5:19","nodeType":"YulIdentifier","src":"185326:5:19"},"nativeSrc":"185326:11:19","nodeType":"YulFunctionCall","src":"185326:11:19"},"variableNames":[{"name":"m2","nativeSrc":"185320:2:19","nodeType":"YulIdentifier","src":"185320:2:19"}]},{"nativeSrc":"185350:17:19","nodeType":"YulAssignment","src":"185350:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"185362:4:19","nodeType":"YulLiteral","src":"185362:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"185356:5:19","nodeType":"YulIdentifier","src":"185356:5:19"},"nativeSrc":"185356:11:19","nodeType":"YulFunctionCall","src":"185356:11:19"},"variableNames":[{"name":"m3","nativeSrc":"185350:2:19","nodeType":"YulIdentifier","src":"185350:2:19"}]},{"nativeSrc":"185380:17:19","nodeType":"YulAssignment","src":"185380:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"185392:4:19","nodeType":"YulLiteral","src":"185392:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"185386:5:19","nodeType":"YulIdentifier","src":"185386:5:19"},"nativeSrc":"185386:11:19","nodeType":"YulFunctionCall","src":"185386:11:19"},"variableNames":[{"name":"m4","nativeSrc":"185380:2:19","nodeType":"YulIdentifier","src":"185380:2:19"}]},{"nativeSrc":"185410:17:19","nodeType":"YulAssignment","src":"185410:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"185422:4:19","nodeType":"YulLiteral","src":"185422:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"185416:5:19","nodeType":"YulIdentifier","src":"185416:5:19"},"nativeSrc":"185416:11:19","nodeType":"YulFunctionCall","src":"185416:11:19"},"variableNames":[{"name":"m5","nativeSrc":"185410:2:19","nodeType":"YulIdentifier","src":"185410:2:19"}]},{"nativeSrc":"185440:17:19","nodeType":"YulAssignment","src":"185440:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"185452:4:19","nodeType":"YulLiteral","src":"185452:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"185446:5:19","nodeType":"YulIdentifier","src":"185446:5:19"},"nativeSrc":"185446:11:19","nodeType":"YulFunctionCall","src":"185446:11:19"},"variableNames":[{"name":"m6","nativeSrc":"185440:2:19","nodeType":"YulIdentifier","src":"185440:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185540:4:19","nodeType":"YulLiteral","src":"185540:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"185546:10:19","nodeType":"YulLiteral","src":"185546:10:19","type":"","value":"0xc21f64c7"}],"functionName":{"name":"mstore","nativeSrc":"185533:6:19","nodeType":"YulIdentifier","src":"185533:6:19"},"nativeSrc":"185533:24:19","nodeType":"YulFunctionCall","src":"185533:24:19"},"nativeSrc":"185533:24:19","nodeType":"YulExpressionStatement","src":"185533:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185577:4:19","nodeType":"YulLiteral","src":"185577:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"185583:2:19","nodeType":"YulIdentifier","src":"185583:2:19"}],"functionName":{"name":"mstore","nativeSrc":"185570:6:19","nodeType":"YulIdentifier","src":"185570:6:19"},"nativeSrc":"185570:16:19","nodeType":"YulFunctionCall","src":"185570:16:19"},"nativeSrc":"185570:16:19","nodeType":"YulExpressionStatement","src":"185570:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185606:4:19","nodeType":"YulLiteral","src":"185606:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"185612:2:19","nodeType":"YulIdentifier","src":"185612:2:19"}],"functionName":{"name":"mstore","nativeSrc":"185599:6:19","nodeType":"YulIdentifier","src":"185599:6:19"},"nativeSrc":"185599:16:19","nodeType":"YulFunctionCall","src":"185599:16:19"},"nativeSrc":"185599:16:19","nodeType":"YulExpressionStatement","src":"185599:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185635:4:19","nodeType":"YulLiteral","src":"185635:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"185641:4:19","nodeType":"YulLiteral","src":"185641:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"185628:6:19","nodeType":"YulIdentifier","src":"185628:6:19"},"nativeSrc":"185628:18:19","nodeType":"YulFunctionCall","src":"185628:18:19"},"nativeSrc":"185628:18:19","nodeType":"YulExpressionStatement","src":"185628:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185666:4:19","nodeType":"YulLiteral","src":"185666:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"185672:2:19","nodeType":"YulIdentifier","src":"185672:2:19"}],"functionName":{"name":"mstore","nativeSrc":"185659:6:19","nodeType":"YulIdentifier","src":"185659:6:19"},"nativeSrc":"185659:16:19","nodeType":"YulFunctionCall","src":"185659:16:19"},"nativeSrc":"185659:16:19","nodeType":"YulExpressionStatement","src":"185659:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185700:4:19","nodeType":"YulLiteral","src":"185700:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"185706:2:19","nodeType":"YulIdentifier","src":"185706:2:19"}],"functionName":{"name":"writeString","nativeSrc":"185688:11:19","nodeType":"YulIdentifier","src":"185688:11:19"},"nativeSrc":"185688:21:19","nodeType":"YulFunctionCall","src":"185688:21:19"},"nativeSrc":"185688:21:19","nodeType":"YulExpressionStatement","src":"185688:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32100,"isOffset":false,"isSlot":false,"src":"185260:2:19","valueSize":1},{"declaration":32103,"isOffset":false,"isSlot":false,"src":"185290:2:19","valueSize":1},{"declaration":32106,"isOffset":false,"isSlot":false,"src":"185320:2:19","valueSize":1},{"declaration":32109,"isOffset":false,"isSlot":false,"src":"185350:2:19","valueSize":1},{"declaration":32112,"isOffset":false,"isSlot":false,"src":"185380:2:19","valueSize":1},{"declaration":32115,"isOffset":false,"isSlot":false,"src":"185410:2:19","valueSize":1},{"declaration":32118,"isOffset":false,"isSlot":false,"src":"185440:2:19","valueSize":1},{"declaration":32090,"isOffset":false,"isSlot":false,"src":"185583:2:19","valueSize":1},{"declaration":32092,"isOffset":false,"isSlot":false,"src":"185612:2:19","valueSize":1},{"declaration":32094,"isOffset":false,"isSlot":false,"src":"185706:2:19","valueSize":1},{"declaration":32096,"isOffset":false,"isSlot":false,"src":"185672:2:19","valueSize":1}],"id":32120,"nodeType":"InlineAssembly","src":"184882:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"185744:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":32123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"185750:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":32121,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"185728:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"185728:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32125,"nodeType":"ExpressionStatement","src":"185728:27:19"},{"AST":{"nativeSrc":"185817:214:19","nodeType":"YulBlock","src":"185817:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"185838:4:19","nodeType":"YulLiteral","src":"185838:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"185844:2:19","nodeType":"YulIdentifier","src":"185844:2:19"}],"functionName":{"name":"mstore","nativeSrc":"185831:6:19","nodeType":"YulIdentifier","src":"185831:6:19"},"nativeSrc":"185831:16:19","nodeType":"YulFunctionCall","src":"185831:16:19"},"nativeSrc":"185831:16:19","nodeType":"YulExpressionStatement","src":"185831:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185867:4:19","nodeType":"YulLiteral","src":"185867:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"185873:2:19","nodeType":"YulIdentifier","src":"185873:2:19"}],"functionName":{"name":"mstore","nativeSrc":"185860:6:19","nodeType":"YulIdentifier","src":"185860:6:19"},"nativeSrc":"185860:16:19","nodeType":"YulFunctionCall","src":"185860:16:19"},"nativeSrc":"185860:16:19","nodeType":"YulExpressionStatement","src":"185860:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185896:4:19","nodeType":"YulLiteral","src":"185896:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"185902:2:19","nodeType":"YulIdentifier","src":"185902:2:19"}],"functionName":{"name":"mstore","nativeSrc":"185889:6:19","nodeType":"YulIdentifier","src":"185889:6:19"},"nativeSrc":"185889:16:19","nodeType":"YulFunctionCall","src":"185889:16:19"},"nativeSrc":"185889:16:19","nodeType":"YulExpressionStatement","src":"185889:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185925:4:19","nodeType":"YulLiteral","src":"185925:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"185931:2:19","nodeType":"YulIdentifier","src":"185931:2:19"}],"functionName":{"name":"mstore","nativeSrc":"185918:6:19","nodeType":"YulIdentifier","src":"185918:6:19"},"nativeSrc":"185918:16:19","nodeType":"YulFunctionCall","src":"185918:16:19"},"nativeSrc":"185918:16:19","nodeType":"YulExpressionStatement","src":"185918:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185954:4:19","nodeType":"YulLiteral","src":"185954:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"185960:2:19","nodeType":"YulIdentifier","src":"185960:2:19"}],"functionName":{"name":"mstore","nativeSrc":"185947:6:19","nodeType":"YulIdentifier","src":"185947:6:19"},"nativeSrc":"185947:16:19","nodeType":"YulFunctionCall","src":"185947:16:19"},"nativeSrc":"185947:16:19","nodeType":"YulExpressionStatement","src":"185947:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"185983:4:19","nodeType":"YulLiteral","src":"185983:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"185989:2:19","nodeType":"YulIdentifier","src":"185989:2:19"}],"functionName":{"name":"mstore","nativeSrc":"185976:6:19","nodeType":"YulIdentifier","src":"185976:6:19"},"nativeSrc":"185976:16:19","nodeType":"YulFunctionCall","src":"185976:16:19"},"nativeSrc":"185976:16:19","nodeType":"YulExpressionStatement","src":"185976:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"186012:4:19","nodeType":"YulLiteral","src":"186012:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"186018:2:19","nodeType":"YulIdentifier","src":"186018:2:19"}],"functionName":{"name":"mstore","nativeSrc":"186005:6:19","nodeType":"YulIdentifier","src":"186005:6:19"},"nativeSrc":"186005:16:19","nodeType":"YulFunctionCall","src":"186005:16:19"},"nativeSrc":"186005:16:19","nodeType":"YulExpressionStatement","src":"186005:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32100,"isOffset":false,"isSlot":false,"src":"185844:2:19","valueSize":1},{"declaration":32103,"isOffset":false,"isSlot":false,"src":"185873:2:19","valueSize":1},{"declaration":32106,"isOffset":false,"isSlot":false,"src":"185902:2:19","valueSize":1},{"declaration":32109,"isOffset":false,"isSlot":false,"src":"185931:2:19","valueSize":1},{"declaration":32112,"isOffset":false,"isSlot":false,"src":"185960:2:19","valueSize":1},{"declaration":32115,"isOffset":false,"isSlot":false,"src":"185989:2:19","valueSize":1},{"declaration":32118,"isOffset":false,"isSlot":false,"src":"186018:2:19","valueSize":1}],"id":32126,"nodeType":"InlineAssembly","src":"185808:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"184626:3:19","parameters":{"id":32097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32090,"mutability":"mutable","name":"p0","nameLocation":"184635:2:19","nodeType":"VariableDeclaration","scope":32128,"src":"184630:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32089,"name":"bool","nodeType":"ElementaryTypeName","src":"184630:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32092,"mutability":"mutable","name":"p1","nameLocation":"184647:2:19","nodeType":"VariableDeclaration","scope":32128,"src":"184639:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32091,"name":"address","nodeType":"ElementaryTypeName","src":"184639:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32094,"mutability":"mutable","name":"p2","nameLocation":"184659:2:19","nodeType":"VariableDeclaration","scope":32128,"src":"184651:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32093,"name":"bytes32","nodeType":"ElementaryTypeName","src":"184651:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32096,"mutability":"mutable","name":"p3","nameLocation":"184671:2:19","nodeType":"VariableDeclaration","scope":32128,"src":"184663:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32095,"name":"uint256","nodeType":"ElementaryTypeName","src":"184663:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"184629:45:19"},"returnParameters":{"id":32098,"nodeType":"ParameterList","parameters":[],"src":"184689:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32174,"nodeType":"FunctionDefinition","src":"186043:1616:19","nodes":[],"body":{"id":32173,"nodeType":"Block","src":"186115:1544:19","nodes":[],"statements":[{"assignments":[32140],"declarations":[{"constant":false,"id":32140,"mutability":"mutable","name":"m0","nameLocation":"186133:2:19","nodeType":"VariableDeclaration","scope":32173,"src":"186125:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32139,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186125:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32141,"nodeType":"VariableDeclarationStatement","src":"186125:10:19"},{"assignments":[32143],"declarations":[{"constant":false,"id":32143,"mutability":"mutable","name":"m1","nameLocation":"186153:2:19","nodeType":"VariableDeclaration","scope":32173,"src":"186145:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32142,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186145:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32144,"nodeType":"VariableDeclarationStatement","src":"186145:10:19"},{"assignments":[32146],"declarations":[{"constant":false,"id":32146,"mutability":"mutable","name":"m2","nameLocation":"186173:2:19","nodeType":"VariableDeclaration","scope":32173,"src":"186165:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32145,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186165:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32147,"nodeType":"VariableDeclarationStatement","src":"186165:10:19"},{"assignments":[32149],"declarations":[{"constant":false,"id":32149,"mutability":"mutable","name":"m3","nameLocation":"186193:2:19","nodeType":"VariableDeclaration","scope":32173,"src":"186185:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32148,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186185:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32150,"nodeType":"VariableDeclarationStatement","src":"186185:10:19"},{"assignments":[32152],"declarations":[{"constant":false,"id":32152,"mutability":"mutable","name":"m4","nameLocation":"186213:2:19","nodeType":"VariableDeclaration","scope":32173,"src":"186205:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32151,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186205:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32153,"nodeType":"VariableDeclarationStatement","src":"186205:10:19"},{"assignments":[32155],"declarations":[{"constant":false,"id":32155,"mutability":"mutable","name":"m5","nameLocation":"186233:2:19","nodeType":"VariableDeclaration","scope":32173,"src":"186225:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32154,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186225:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32156,"nodeType":"VariableDeclarationStatement","src":"186225:10:19"},{"assignments":[32158],"declarations":[{"constant":false,"id":32158,"mutability":"mutable","name":"m6","nameLocation":"186253:2:19","nodeType":"VariableDeclaration","scope":32173,"src":"186245:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32157,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186245:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32159,"nodeType":"VariableDeclarationStatement","src":"186245:10:19"},{"assignments":[32161],"declarations":[{"constant":false,"id":32161,"mutability":"mutable","name":"m7","nameLocation":"186273:2:19","nodeType":"VariableDeclaration","scope":32173,"src":"186265:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32160,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186265:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32162,"nodeType":"VariableDeclarationStatement","src":"186265:10:19"},{"assignments":[32164],"declarations":[{"constant":false,"id":32164,"mutability":"mutable","name":"m8","nameLocation":"186293:2:19","nodeType":"VariableDeclaration","scope":32173,"src":"186285:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32163,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186285:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32165,"nodeType":"VariableDeclarationStatement","src":"186285:10:19"},{"AST":{"nativeSrc":"186357:924:19","nodeType":"YulBlock","src":"186357:924:19","statements":[{"body":{"nativeSrc":"186400:313:19","nodeType":"YulBlock","src":"186400:313:19","statements":[{"nativeSrc":"186418:15:19","nodeType":"YulVariableDeclaration","src":"186418:15:19","value":{"kind":"number","nativeSrc":"186432:1:19","nodeType":"YulLiteral","src":"186432:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"186422:6:19","nodeType":"YulTypedName","src":"186422:6:19","type":""}]},{"body":{"nativeSrc":"186503:40:19","nodeType":"YulBlock","src":"186503:40:19","statements":[{"body":{"nativeSrc":"186532:9:19","nodeType":"YulBlock","src":"186532:9:19","statements":[{"nativeSrc":"186534:5:19","nodeType":"YulBreak","src":"186534:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"186520:6:19","nodeType":"YulIdentifier","src":"186520:6:19"},{"name":"w","nativeSrc":"186528:1:19","nodeType":"YulIdentifier","src":"186528:1:19"}],"functionName":{"name":"byte","nativeSrc":"186515:4:19","nodeType":"YulIdentifier","src":"186515:4:19"},"nativeSrc":"186515:15:19","nodeType":"YulFunctionCall","src":"186515:15:19"}],"functionName":{"name":"iszero","nativeSrc":"186508:6:19","nodeType":"YulIdentifier","src":"186508:6:19"},"nativeSrc":"186508:23:19","nodeType":"YulFunctionCall","src":"186508:23:19"},"nativeSrc":"186505:36:19","nodeType":"YulIf","src":"186505:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"186460:6:19","nodeType":"YulIdentifier","src":"186460:6:19"},{"kind":"number","nativeSrc":"186468:4:19","nodeType":"YulLiteral","src":"186468:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"186457:2:19","nodeType":"YulIdentifier","src":"186457:2:19"},"nativeSrc":"186457:16:19","nodeType":"YulFunctionCall","src":"186457:16:19"},"nativeSrc":"186450:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"186474:28:19","nodeType":"YulBlock","src":"186474:28:19","statements":[{"nativeSrc":"186476:24:19","nodeType":"YulAssignment","src":"186476:24:19","value":{"arguments":[{"name":"length","nativeSrc":"186490:6:19","nodeType":"YulIdentifier","src":"186490:6:19"},{"kind":"number","nativeSrc":"186498:1:19","nodeType":"YulLiteral","src":"186498:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"186486:3:19","nodeType":"YulIdentifier","src":"186486:3:19"},"nativeSrc":"186486:14:19","nodeType":"YulFunctionCall","src":"186486:14:19"},"variableNames":[{"name":"length","nativeSrc":"186476:6:19","nodeType":"YulIdentifier","src":"186476:6:19"}]}]},"pre":{"nativeSrc":"186454:2:19","nodeType":"YulBlock","src":"186454:2:19","statements":[]},"src":"186450:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"186567:3:19","nodeType":"YulIdentifier","src":"186567:3:19"},{"name":"length","nativeSrc":"186572:6:19","nodeType":"YulIdentifier","src":"186572:6:19"}],"functionName":{"name":"mstore","nativeSrc":"186560:6:19","nodeType":"YulIdentifier","src":"186560:6:19"},"nativeSrc":"186560:19:19","nodeType":"YulFunctionCall","src":"186560:19:19"},"nativeSrc":"186560:19:19","nodeType":"YulExpressionStatement","src":"186560:19:19"},{"nativeSrc":"186596:37:19","nodeType":"YulVariableDeclaration","src":"186596:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"186613:3:19","nodeType":"YulLiteral","src":"186613:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"186622:1:19","nodeType":"YulLiteral","src":"186622:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"186625:6:19","nodeType":"YulIdentifier","src":"186625:6:19"}],"functionName":{"name":"shl","nativeSrc":"186618:3:19","nodeType":"YulIdentifier","src":"186618:3:19"},"nativeSrc":"186618:14:19","nodeType":"YulFunctionCall","src":"186618:14:19"}],"functionName":{"name":"sub","nativeSrc":"186609:3:19","nodeType":"YulIdentifier","src":"186609:3:19"},"nativeSrc":"186609:24:19","nodeType":"YulFunctionCall","src":"186609:24:19"},"variables":[{"name":"shift","nativeSrc":"186600:5:19","nodeType":"YulTypedName","src":"186600:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"186661:3:19","nodeType":"YulIdentifier","src":"186661:3:19"},{"kind":"number","nativeSrc":"186666:4:19","nodeType":"YulLiteral","src":"186666:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"186657:3:19","nodeType":"YulIdentifier","src":"186657:3:19"},"nativeSrc":"186657:14:19","nodeType":"YulFunctionCall","src":"186657:14:19"},{"arguments":[{"name":"shift","nativeSrc":"186677:5:19","nodeType":"YulIdentifier","src":"186677:5:19"},{"arguments":[{"name":"shift","nativeSrc":"186688:5:19","nodeType":"YulIdentifier","src":"186688:5:19"},{"name":"w","nativeSrc":"186695:1:19","nodeType":"YulIdentifier","src":"186695:1:19"}],"functionName":{"name":"shr","nativeSrc":"186684:3:19","nodeType":"YulIdentifier","src":"186684:3:19"},"nativeSrc":"186684:13:19","nodeType":"YulFunctionCall","src":"186684:13:19"}],"functionName":{"name":"shl","nativeSrc":"186673:3:19","nodeType":"YulIdentifier","src":"186673:3:19"},"nativeSrc":"186673:25:19","nodeType":"YulFunctionCall","src":"186673:25:19"}],"functionName":{"name":"mstore","nativeSrc":"186650:6:19","nodeType":"YulIdentifier","src":"186650:6:19"},"nativeSrc":"186650:49:19","nodeType":"YulFunctionCall","src":"186650:49:19"},"nativeSrc":"186650:49:19","nodeType":"YulExpressionStatement","src":"186650:49:19"}]},"name":"writeString","nativeSrc":"186371:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"186392:3:19","nodeType":"YulTypedName","src":"186392:3:19","type":""},{"name":"w","nativeSrc":"186397:1:19","nodeType":"YulTypedName","src":"186397:1:19","type":""}],"src":"186371:342:19"},{"nativeSrc":"186726:17:19","nodeType":"YulAssignment","src":"186726:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"186738:4:19","nodeType":"YulLiteral","src":"186738:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"186732:5:19","nodeType":"YulIdentifier","src":"186732:5:19"},"nativeSrc":"186732:11:19","nodeType":"YulFunctionCall","src":"186732:11:19"},"variableNames":[{"name":"m0","nativeSrc":"186726:2:19","nodeType":"YulIdentifier","src":"186726:2:19"}]},{"nativeSrc":"186756:17:19","nodeType":"YulAssignment","src":"186756:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"186768:4:19","nodeType":"YulLiteral","src":"186768:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"186762:5:19","nodeType":"YulIdentifier","src":"186762:5:19"},"nativeSrc":"186762:11:19","nodeType":"YulFunctionCall","src":"186762:11:19"},"variableNames":[{"name":"m1","nativeSrc":"186756:2:19","nodeType":"YulIdentifier","src":"186756:2:19"}]},{"nativeSrc":"186786:17:19","nodeType":"YulAssignment","src":"186786:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"186798:4:19","nodeType":"YulLiteral","src":"186798:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"186792:5:19","nodeType":"YulIdentifier","src":"186792:5:19"},"nativeSrc":"186792:11:19","nodeType":"YulFunctionCall","src":"186792:11:19"},"variableNames":[{"name":"m2","nativeSrc":"186786:2:19","nodeType":"YulIdentifier","src":"186786:2:19"}]},{"nativeSrc":"186816:17:19","nodeType":"YulAssignment","src":"186816:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"186828:4:19","nodeType":"YulLiteral","src":"186828:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"186822:5:19","nodeType":"YulIdentifier","src":"186822:5:19"},"nativeSrc":"186822:11:19","nodeType":"YulFunctionCall","src":"186822:11:19"},"variableNames":[{"name":"m3","nativeSrc":"186816:2:19","nodeType":"YulIdentifier","src":"186816:2:19"}]},{"nativeSrc":"186846:17:19","nodeType":"YulAssignment","src":"186846:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"186858:4:19","nodeType":"YulLiteral","src":"186858:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"186852:5:19","nodeType":"YulIdentifier","src":"186852:5:19"},"nativeSrc":"186852:11:19","nodeType":"YulFunctionCall","src":"186852:11:19"},"variableNames":[{"name":"m4","nativeSrc":"186846:2:19","nodeType":"YulIdentifier","src":"186846:2:19"}]},{"nativeSrc":"186876:17:19","nodeType":"YulAssignment","src":"186876:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"186888:4:19","nodeType":"YulLiteral","src":"186888:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"186882:5:19","nodeType":"YulIdentifier","src":"186882:5:19"},"nativeSrc":"186882:11:19","nodeType":"YulFunctionCall","src":"186882:11:19"},"variableNames":[{"name":"m5","nativeSrc":"186876:2:19","nodeType":"YulIdentifier","src":"186876:2:19"}]},{"nativeSrc":"186906:17:19","nodeType":"YulAssignment","src":"186906:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"186918:4:19","nodeType":"YulLiteral","src":"186918:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"186912:5:19","nodeType":"YulIdentifier","src":"186912:5:19"},"nativeSrc":"186912:11:19","nodeType":"YulFunctionCall","src":"186912:11:19"},"variableNames":[{"name":"m6","nativeSrc":"186906:2:19","nodeType":"YulIdentifier","src":"186906:2:19"}]},{"nativeSrc":"186936:17:19","nodeType":"YulAssignment","src":"186936:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"186948:4:19","nodeType":"YulLiteral","src":"186948:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"186942:5:19","nodeType":"YulIdentifier","src":"186942:5:19"},"nativeSrc":"186942:11:19","nodeType":"YulFunctionCall","src":"186942:11:19"},"variableNames":[{"name":"m7","nativeSrc":"186936:2:19","nodeType":"YulIdentifier","src":"186936:2:19"}]},{"nativeSrc":"186966:18:19","nodeType":"YulAssignment","src":"186966:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"186978:5:19","nodeType":"YulLiteral","src":"186978:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"186972:5:19","nodeType":"YulIdentifier","src":"186972:5:19"},"nativeSrc":"186972:12:19","nodeType":"YulFunctionCall","src":"186972:12:19"},"variableNames":[{"name":"m8","nativeSrc":"186966:2:19","nodeType":"YulIdentifier","src":"186966:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187066:4:19","nodeType":"YulLiteral","src":"187066:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"187072:10:19","nodeType":"YulLiteral","src":"187072:10:19","type":"","value":"0xa73c1db6"}],"functionName":{"name":"mstore","nativeSrc":"187059:6:19","nodeType":"YulIdentifier","src":"187059:6:19"},"nativeSrc":"187059:24:19","nodeType":"YulFunctionCall","src":"187059:24:19"},"nativeSrc":"187059:24:19","nodeType":"YulExpressionStatement","src":"187059:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187103:4:19","nodeType":"YulLiteral","src":"187103:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"187109:2:19","nodeType":"YulIdentifier","src":"187109:2:19"}],"functionName":{"name":"mstore","nativeSrc":"187096:6:19","nodeType":"YulIdentifier","src":"187096:6:19"},"nativeSrc":"187096:16:19","nodeType":"YulFunctionCall","src":"187096:16:19"},"nativeSrc":"187096:16:19","nodeType":"YulExpressionStatement","src":"187096:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187132:4:19","nodeType":"YulLiteral","src":"187132:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"187138:2:19","nodeType":"YulIdentifier","src":"187138:2:19"}],"functionName":{"name":"mstore","nativeSrc":"187125:6:19","nodeType":"YulIdentifier","src":"187125:6:19"},"nativeSrc":"187125:16:19","nodeType":"YulFunctionCall","src":"187125:16:19"},"nativeSrc":"187125:16:19","nodeType":"YulExpressionStatement","src":"187125:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187161:4:19","nodeType":"YulLiteral","src":"187161:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"187167:4:19","nodeType":"YulLiteral","src":"187167:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"187154:6:19","nodeType":"YulIdentifier","src":"187154:6:19"},"nativeSrc":"187154:18:19","nodeType":"YulFunctionCall","src":"187154:18:19"},"nativeSrc":"187154:18:19","nodeType":"YulExpressionStatement","src":"187154:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187192:4:19","nodeType":"YulLiteral","src":"187192:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"187198:4:19","nodeType":"YulLiteral","src":"187198:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"187185:6:19","nodeType":"YulIdentifier","src":"187185:6:19"},"nativeSrc":"187185:18:19","nodeType":"YulFunctionCall","src":"187185:18:19"},"nativeSrc":"187185:18:19","nodeType":"YulExpressionStatement","src":"187185:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187228:4:19","nodeType":"YulLiteral","src":"187228:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"187234:2:19","nodeType":"YulIdentifier","src":"187234:2:19"}],"functionName":{"name":"writeString","nativeSrc":"187216:11:19","nodeType":"YulIdentifier","src":"187216:11:19"},"nativeSrc":"187216:21:19","nodeType":"YulFunctionCall","src":"187216:21:19"},"nativeSrc":"187216:21:19","nodeType":"YulExpressionStatement","src":"187216:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187262:4:19","nodeType":"YulLiteral","src":"187262:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"187268:2:19","nodeType":"YulIdentifier","src":"187268:2:19"}],"functionName":{"name":"writeString","nativeSrc":"187250:11:19","nodeType":"YulIdentifier","src":"187250:11:19"},"nativeSrc":"187250:21:19","nodeType":"YulFunctionCall","src":"187250:21:19"},"nativeSrc":"187250:21:19","nodeType":"YulExpressionStatement","src":"187250:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32140,"isOffset":false,"isSlot":false,"src":"186726:2:19","valueSize":1},{"declaration":32143,"isOffset":false,"isSlot":false,"src":"186756:2:19","valueSize":1},{"declaration":32146,"isOffset":false,"isSlot":false,"src":"186786:2:19","valueSize":1},{"declaration":32149,"isOffset":false,"isSlot":false,"src":"186816:2:19","valueSize":1},{"declaration":32152,"isOffset":false,"isSlot":false,"src":"186846:2:19","valueSize":1},{"declaration":32155,"isOffset":false,"isSlot":false,"src":"186876:2:19","valueSize":1},{"declaration":32158,"isOffset":false,"isSlot":false,"src":"186906:2:19","valueSize":1},{"declaration":32161,"isOffset":false,"isSlot":false,"src":"186936:2:19","valueSize":1},{"declaration":32164,"isOffset":false,"isSlot":false,"src":"186966:2:19","valueSize":1},{"declaration":32130,"isOffset":false,"isSlot":false,"src":"187109:2:19","valueSize":1},{"declaration":32132,"isOffset":false,"isSlot":false,"src":"187138:2:19","valueSize":1},{"declaration":32134,"isOffset":false,"isSlot":false,"src":"187234:2:19","valueSize":1},{"declaration":32136,"isOffset":false,"isSlot":false,"src":"187268:2:19","valueSize":1}],"id":32166,"nodeType":"InlineAssembly","src":"186348:933:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"187306:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":32169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"187312:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":32167,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"187290:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"187290:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32171,"nodeType":"ExpressionStatement","src":"187290:28:19"},{"AST":{"nativeSrc":"187380:273:19","nodeType":"YulBlock","src":"187380:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"187401:4:19","nodeType":"YulLiteral","src":"187401:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"187407:2:19","nodeType":"YulIdentifier","src":"187407:2:19"}],"functionName":{"name":"mstore","nativeSrc":"187394:6:19","nodeType":"YulIdentifier","src":"187394:6:19"},"nativeSrc":"187394:16:19","nodeType":"YulFunctionCall","src":"187394:16:19"},"nativeSrc":"187394:16:19","nodeType":"YulExpressionStatement","src":"187394:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187430:4:19","nodeType":"YulLiteral","src":"187430:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"187436:2:19","nodeType":"YulIdentifier","src":"187436:2:19"}],"functionName":{"name":"mstore","nativeSrc":"187423:6:19","nodeType":"YulIdentifier","src":"187423:6:19"},"nativeSrc":"187423:16:19","nodeType":"YulFunctionCall","src":"187423:16:19"},"nativeSrc":"187423:16:19","nodeType":"YulExpressionStatement","src":"187423:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187459:4:19","nodeType":"YulLiteral","src":"187459:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"187465:2:19","nodeType":"YulIdentifier","src":"187465:2:19"}],"functionName":{"name":"mstore","nativeSrc":"187452:6:19","nodeType":"YulIdentifier","src":"187452:6:19"},"nativeSrc":"187452:16:19","nodeType":"YulFunctionCall","src":"187452:16:19"},"nativeSrc":"187452:16:19","nodeType":"YulExpressionStatement","src":"187452:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187488:4:19","nodeType":"YulLiteral","src":"187488:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"187494:2:19","nodeType":"YulIdentifier","src":"187494:2:19"}],"functionName":{"name":"mstore","nativeSrc":"187481:6:19","nodeType":"YulIdentifier","src":"187481:6:19"},"nativeSrc":"187481:16:19","nodeType":"YulFunctionCall","src":"187481:16:19"},"nativeSrc":"187481:16:19","nodeType":"YulExpressionStatement","src":"187481:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187517:4:19","nodeType":"YulLiteral","src":"187517:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"187523:2:19","nodeType":"YulIdentifier","src":"187523:2:19"}],"functionName":{"name":"mstore","nativeSrc":"187510:6:19","nodeType":"YulIdentifier","src":"187510:6:19"},"nativeSrc":"187510:16:19","nodeType":"YulFunctionCall","src":"187510:16:19"},"nativeSrc":"187510:16:19","nodeType":"YulExpressionStatement","src":"187510:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187546:4:19","nodeType":"YulLiteral","src":"187546:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"187552:2:19","nodeType":"YulIdentifier","src":"187552:2:19"}],"functionName":{"name":"mstore","nativeSrc":"187539:6:19","nodeType":"YulIdentifier","src":"187539:6:19"},"nativeSrc":"187539:16:19","nodeType":"YulFunctionCall","src":"187539:16:19"},"nativeSrc":"187539:16:19","nodeType":"YulExpressionStatement","src":"187539:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187575:4:19","nodeType":"YulLiteral","src":"187575:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"187581:2:19","nodeType":"YulIdentifier","src":"187581:2:19"}],"functionName":{"name":"mstore","nativeSrc":"187568:6:19","nodeType":"YulIdentifier","src":"187568:6:19"},"nativeSrc":"187568:16:19","nodeType":"YulFunctionCall","src":"187568:16:19"},"nativeSrc":"187568:16:19","nodeType":"YulExpressionStatement","src":"187568:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187604:4:19","nodeType":"YulLiteral","src":"187604:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"187610:2:19","nodeType":"YulIdentifier","src":"187610:2:19"}],"functionName":{"name":"mstore","nativeSrc":"187597:6:19","nodeType":"YulIdentifier","src":"187597:6:19"},"nativeSrc":"187597:16:19","nodeType":"YulFunctionCall","src":"187597:16:19"},"nativeSrc":"187597:16:19","nodeType":"YulExpressionStatement","src":"187597:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"187633:5:19","nodeType":"YulLiteral","src":"187633:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"187640:2:19","nodeType":"YulIdentifier","src":"187640:2:19"}],"functionName":{"name":"mstore","nativeSrc":"187626:6:19","nodeType":"YulIdentifier","src":"187626:6:19"},"nativeSrc":"187626:17:19","nodeType":"YulFunctionCall","src":"187626:17:19"},"nativeSrc":"187626:17:19","nodeType":"YulExpressionStatement","src":"187626:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32140,"isOffset":false,"isSlot":false,"src":"187407:2:19","valueSize":1},{"declaration":32143,"isOffset":false,"isSlot":false,"src":"187436:2:19","valueSize":1},{"declaration":32146,"isOffset":false,"isSlot":false,"src":"187465:2:19","valueSize":1},{"declaration":32149,"isOffset":false,"isSlot":false,"src":"187494:2:19","valueSize":1},{"declaration":32152,"isOffset":false,"isSlot":false,"src":"187523:2:19","valueSize":1},{"declaration":32155,"isOffset":false,"isSlot":false,"src":"187552:2:19","valueSize":1},{"declaration":32158,"isOffset":false,"isSlot":false,"src":"187581:2:19","valueSize":1},{"declaration":32161,"isOffset":false,"isSlot":false,"src":"187610:2:19","valueSize":1},{"declaration":32164,"isOffset":false,"isSlot":false,"src":"187640:2:19","valueSize":1}],"id":32172,"nodeType":"InlineAssembly","src":"187371:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"186052:3:19","parameters":{"id":32137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32130,"mutability":"mutable","name":"p0","nameLocation":"186061:2:19","nodeType":"VariableDeclaration","scope":32174,"src":"186056:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32129,"name":"bool","nodeType":"ElementaryTypeName","src":"186056:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32132,"mutability":"mutable","name":"p1","nameLocation":"186073:2:19","nodeType":"VariableDeclaration","scope":32174,"src":"186065:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32131,"name":"address","nodeType":"ElementaryTypeName","src":"186065:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32134,"mutability":"mutable","name":"p2","nameLocation":"186085:2:19","nodeType":"VariableDeclaration","scope":32174,"src":"186077:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32133,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186077:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32136,"mutability":"mutable","name":"p3","nameLocation":"186097:2:19","nodeType":"VariableDeclaration","scope":32174,"src":"186089:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32135,"name":"bytes32","nodeType":"ElementaryTypeName","src":"186089:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"186055:45:19"},"returnParameters":{"id":32138,"nodeType":"ParameterList","parameters":[],"src":"186115:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32208,"nodeType":"FunctionDefinition","src":"187665:866:19","nodes":[],"body":{"id":32207,"nodeType":"Block","src":"187734:797:19","nodes":[],"statements":[{"assignments":[32186],"declarations":[{"constant":false,"id":32186,"mutability":"mutable","name":"m0","nameLocation":"187752:2:19","nodeType":"VariableDeclaration","scope":32207,"src":"187744:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32185,"name":"bytes32","nodeType":"ElementaryTypeName","src":"187744:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32187,"nodeType":"VariableDeclarationStatement","src":"187744:10:19"},{"assignments":[32189],"declarations":[{"constant":false,"id":32189,"mutability":"mutable","name":"m1","nameLocation":"187772:2:19","nodeType":"VariableDeclaration","scope":32207,"src":"187764:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32188,"name":"bytes32","nodeType":"ElementaryTypeName","src":"187764:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32190,"nodeType":"VariableDeclarationStatement","src":"187764:10:19"},{"assignments":[32192],"declarations":[{"constant":false,"id":32192,"mutability":"mutable","name":"m2","nameLocation":"187792:2:19","nodeType":"VariableDeclaration","scope":32207,"src":"187784:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32191,"name":"bytes32","nodeType":"ElementaryTypeName","src":"187784:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32193,"nodeType":"VariableDeclarationStatement","src":"187784:10:19"},{"assignments":[32195],"declarations":[{"constant":false,"id":32195,"mutability":"mutable","name":"m3","nameLocation":"187812:2:19","nodeType":"VariableDeclaration","scope":32207,"src":"187804:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32194,"name":"bytes32","nodeType":"ElementaryTypeName","src":"187804:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32196,"nodeType":"VariableDeclarationStatement","src":"187804:10:19"},{"assignments":[32198],"declarations":[{"constant":false,"id":32198,"mutability":"mutable","name":"m4","nameLocation":"187832:2:19","nodeType":"VariableDeclaration","scope":32207,"src":"187824:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32197,"name":"bytes32","nodeType":"ElementaryTypeName","src":"187824:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32199,"nodeType":"VariableDeclarationStatement","src":"187824:10:19"},{"AST":{"nativeSrc":"187896:375:19","nodeType":"YulBlock","src":"187896:375:19","statements":[{"nativeSrc":"187910:17:19","nodeType":"YulAssignment","src":"187910:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"187922:4:19","nodeType":"YulLiteral","src":"187922:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"187916:5:19","nodeType":"YulIdentifier","src":"187916:5:19"},"nativeSrc":"187916:11:19","nodeType":"YulFunctionCall","src":"187916:11:19"},"variableNames":[{"name":"m0","nativeSrc":"187910:2:19","nodeType":"YulIdentifier","src":"187910:2:19"}]},{"nativeSrc":"187940:17:19","nodeType":"YulAssignment","src":"187940:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"187952:4:19","nodeType":"YulLiteral","src":"187952:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"187946:5:19","nodeType":"YulIdentifier","src":"187946:5:19"},"nativeSrc":"187946:11:19","nodeType":"YulFunctionCall","src":"187946:11:19"},"variableNames":[{"name":"m1","nativeSrc":"187940:2:19","nodeType":"YulIdentifier","src":"187940:2:19"}]},{"nativeSrc":"187970:17:19","nodeType":"YulAssignment","src":"187970:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"187982:4:19","nodeType":"YulLiteral","src":"187982:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"187976:5:19","nodeType":"YulIdentifier","src":"187976:5:19"},"nativeSrc":"187976:11:19","nodeType":"YulFunctionCall","src":"187976:11:19"},"variableNames":[{"name":"m2","nativeSrc":"187970:2:19","nodeType":"YulIdentifier","src":"187970:2:19"}]},{"nativeSrc":"188000:17:19","nodeType":"YulAssignment","src":"188000:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"188012:4:19","nodeType":"YulLiteral","src":"188012:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"188006:5:19","nodeType":"YulIdentifier","src":"188006:5:19"},"nativeSrc":"188006:11:19","nodeType":"YulFunctionCall","src":"188006:11:19"},"variableNames":[{"name":"m3","nativeSrc":"188000:2:19","nodeType":"YulIdentifier","src":"188000:2:19"}]},{"nativeSrc":"188030:17:19","nodeType":"YulAssignment","src":"188030:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"188042:4:19","nodeType":"YulLiteral","src":"188042:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"188036:5:19","nodeType":"YulIdentifier","src":"188036:5:19"},"nativeSrc":"188036:11:19","nodeType":"YulFunctionCall","src":"188036:11:19"},"variableNames":[{"name":"m4","nativeSrc":"188030:2:19","nodeType":"YulIdentifier","src":"188030:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188128:4:19","nodeType":"YulLiteral","src":"188128:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"188134:10:19","nodeType":"YulLiteral","src":"188134:10:19","type":"","value":"0xf4880ea4"}],"functionName":{"name":"mstore","nativeSrc":"188121:6:19","nodeType":"YulIdentifier","src":"188121:6:19"},"nativeSrc":"188121:24:19","nodeType":"YulFunctionCall","src":"188121:24:19"},"nativeSrc":"188121:24:19","nodeType":"YulExpressionStatement","src":"188121:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188165:4:19","nodeType":"YulLiteral","src":"188165:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"188171:2:19","nodeType":"YulIdentifier","src":"188171:2:19"}],"functionName":{"name":"mstore","nativeSrc":"188158:6:19","nodeType":"YulIdentifier","src":"188158:6:19"},"nativeSrc":"188158:16:19","nodeType":"YulFunctionCall","src":"188158:16:19"},"nativeSrc":"188158:16:19","nodeType":"YulExpressionStatement","src":"188158:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188194:4:19","nodeType":"YulLiteral","src":"188194:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"188200:2:19","nodeType":"YulIdentifier","src":"188200:2:19"}],"functionName":{"name":"mstore","nativeSrc":"188187:6:19","nodeType":"YulIdentifier","src":"188187:6:19"},"nativeSrc":"188187:16:19","nodeType":"YulFunctionCall","src":"188187:16:19"},"nativeSrc":"188187:16:19","nodeType":"YulExpressionStatement","src":"188187:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188223:4:19","nodeType":"YulLiteral","src":"188223:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"188229:2:19","nodeType":"YulIdentifier","src":"188229:2:19"}],"functionName":{"name":"mstore","nativeSrc":"188216:6:19","nodeType":"YulIdentifier","src":"188216:6:19"},"nativeSrc":"188216:16:19","nodeType":"YulFunctionCall","src":"188216:16:19"},"nativeSrc":"188216:16:19","nodeType":"YulExpressionStatement","src":"188216:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188252:4:19","nodeType":"YulLiteral","src":"188252:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"188258:2:19","nodeType":"YulIdentifier","src":"188258:2:19"}],"functionName":{"name":"mstore","nativeSrc":"188245:6:19","nodeType":"YulIdentifier","src":"188245:6:19"},"nativeSrc":"188245:16:19","nodeType":"YulFunctionCall","src":"188245:16:19"},"nativeSrc":"188245:16:19","nodeType":"YulExpressionStatement","src":"188245:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32186,"isOffset":false,"isSlot":false,"src":"187910:2:19","valueSize":1},{"declaration":32189,"isOffset":false,"isSlot":false,"src":"187940:2:19","valueSize":1},{"declaration":32192,"isOffset":false,"isSlot":false,"src":"187970:2:19","valueSize":1},{"declaration":32195,"isOffset":false,"isSlot":false,"src":"188000:2:19","valueSize":1},{"declaration":32198,"isOffset":false,"isSlot":false,"src":"188030:2:19","valueSize":1},{"declaration":32176,"isOffset":false,"isSlot":false,"src":"188171:2:19","valueSize":1},{"declaration":32178,"isOffset":false,"isSlot":false,"src":"188200:2:19","valueSize":1},{"declaration":32180,"isOffset":false,"isSlot":false,"src":"188229:2:19","valueSize":1},{"declaration":32182,"isOffset":false,"isSlot":false,"src":"188258:2:19","valueSize":1}],"id":32200,"nodeType":"InlineAssembly","src":"187887:384:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"188296:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"188302:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32201,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"188280:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"188280:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32205,"nodeType":"ExpressionStatement","src":"188280:27:19"},{"AST":{"nativeSrc":"188369:156:19","nodeType":"YulBlock","src":"188369:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"188390:4:19","nodeType":"YulLiteral","src":"188390:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"188396:2:19","nodeType":"YulIdentifier","src":"188396:2:19"}],"functionName":{"name":"mstore","nativeSrc":"188383:6:19","nodeType":"YulIdentifier","src":"188383:6:19"},"nativeSrc":"188383:16:19","nodeType":"YulFunctionCall","src":"188383:16:19"},"nativeSrc":"188383:16:19","nodeType":"YulExpressionStatement","src":"188383:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188419:4:19","nodeType":"YulLiteral","src":"188419:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"188425:2:19","nodeType":"YulIdentifier","src":"188425:2:19"}],"functionName":{"name":"mstore","nativeSrc":"188412:6:19","nodeType":"YulIdentifier","src":"188412:6:19"},"nativeSrc":"188412:16:19","nodeType":"YulFunctionCall","src":"188412:16:19"},"nativeSrc":"188412:16:19","nodeType":"YulExpressionStatement","src":"188412:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188448:4:19","nodeType":"YulLiteral","src":"188448:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"188454:2:19","nodeType":"YulIdentifier","src":"188454:2:19"}],"functionName":{"name":"mstore","nativeSrc":"188441:6:19","nodeType":"YulIdentifier","src":"188441:6:19"},"nativeSrc":"188441:16:19","nodeType":"YulFunctionCall","src":"188441:16:19"},"nativeSrc":"188441:16:19","nodeType":"YulExpressionStatement","src":"188441:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188477:4:19","nodeType":"YulLiteral","src":"188477:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"188483:2:19","nodeType":"YulIdentifier","src":"188483:2:19"}],"functionName":{"name":"mstore","nativeSrc":"188470:6:19","nodeType":"YulIdentifier","src":"188470:6:19"},"nativeSrc":"188470:16:19","nodeType":"YulFunctionCall","src":"188470:16:19"},"nativeSrc":"188470:16:19","nodeType":"YulExpressionStatement","src":"188470:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188506:4:19","nodeType":"YulLiteral","src":"188506:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"188512:2:19","nodeType":"YulIdentifier","src":"188512:2:19"}],"functionName":{"name":"mstore","nativeSrc":"188499:6:19","nodeType":"YulIdentifier","src":"188499:6:19"},"nativeSrc":"188499:16:19","nodeType":"YulFunctionCall","src":"188499:16:19"},"nativeSrc":"188499:16:19","nodeType":"YulExpressionStatement","src":"188499:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32186,"isOffset":false,"isSlot":false,"src":"188396:2:19","valueSize":1},{"declaration":32189,"isOffset":false,"isSlot":false,"src":"188425:2:19","valueSize":1},{"declaration":32192,"isOffset":false,"isSlot":false,"src":"188454:2:19","valueSize":1},{"declaration":32195,"isOffset":false,"isSlot":false,"src":"188483:2:19","valueSize":1},{"declaration":32198,"isOffset":false,"isSlot":false,"src":"188512:2:19","valueSize":1}],"id":32206,"nodeType":"InlineAssembly","src":"188360:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"187674:3:19","parameters":{"id":32183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32176,"mutability":"mutable","name":"p0","nameLocation":"187683:2:19","nodeType":"VariableDeclaration","scope":32208,"src":"187678:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32175,"name":"bool","nodeType":"ElementaryTypeName","src":"187678:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32178,"mutability":"mutable","name":"p1","nameLocation":"187692:2:19","nodeType":"VariableDeclaration","scope":32208,"src":"187687:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32177,"name":"bool","nodeType":"ElementaryTypeName","src":"187687:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32180,"mutability":"mutable","name":"p2","nameLocation":"187704:2:19","nodeType":"VariableDeclaration","scope":32208,"src":"187696:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32179,"name":"address","nodeType":"ElementaryTypeName","src":"187696:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32182,"mutability":"mutable","name":"p3","nameLocation":"187716:2:19","nodeType":"VariableDeclaration","scope":32208,"src":"187708:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32181,"name":"address","nodeType":"ElementaryTypeName","src":"187708:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"187677:42:19"},"returnParameters":{"id":32184,"nodeType":"ParameterList","parameters":[],"src":"187734:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32242,"nodeType":"FunctionDefinition","src":"188537:860:19","nodes":[],"body":{"id":32241,"nodeType":"Block","src":"188603:794:19","nodes":[],"statements":[{"assignments":[32220],"declarations":[{"constant":false,"id":32220,"mutability":"mutable","name":"m0","nameLocation":"188621:2:19","nodeType":"VariableDeclaration","scope":32241,"src":"188613:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32219,"name":"bytes32","nodeType":"ElementaryTypeName","src":"188613:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32221,"nodeType":"VariableDeclarationStatement","src":"188613:10:19"},{"assignments":[32223],"declarations":[{"constant":false,"id":32223,"mutability":"mutable","name":"m1","nameLocation":"188641:2:19","nodeType":"VariableDeclaration","scope":32241,"src":"188633:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32222,"name":"bytes32","nodeType":"ElementaryTypeName","src":"188633:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32224,"nodeType":"VariableDeclarationStatement","src":"188633:10:19"},{"assignments":[32226],"declarations":[{"constant":false,"id":32226,"mutability":"mutable","name":"m2","nameLocation":"188661:2:19","nodeType":"VariableDeclaration","scope":32241,"src":"188653:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32225,"name":"bytes32","nodeType":"ElementaryTypeName","src":"188653:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32227,"nodeType":"VariableDeclarationStatement","src":"188653:10:19"},{"assignments":[32229],"declarations":[{"constant":false,"id":32229,"mutability":"mutable","name":"m3","nameLocation":"188681:2:19","nodeType":"VariableDeclaration","scope":32241,"src":"188673:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32228,"name":"bytes32","nodeType":"ElementaryTypeName","src":"188673:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32230,"nodeType":"VariableDeclarationStatement","src":"188673:10:19"},{"assignments":[32232],"declarations":[{"constant":false,"id":32232,"mutability":"mutable","name":"m4","nameLocation":"188701:2:19","nodeType":"VariableDeclaration","scope":32241,"src":"188693:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32231,"name":"bytes32","nodeType":"ElementaryTypeName","src":"188693:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32233,"nodeType":"VariableDeclarationStatement","src":"188693:10:19"},{"AST":{"nativeSrc":"188765:372:19","nodeType":"YulBlock","src":"188765:372:19","statements":[{"nativeSrc":"188779:17:19","nodeType":"YulAssignment","src":"188779:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"188791:4:19","nodeType":"YulLiteral","src":"188791:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"188785:5:19","nodeType":"YulIdentifier","src":"188785:5:19"},"nativeSrc":"188785:11:19","nodeType":"YulFunctionCall","src":"188785:11:19"},"variableNames":[{"name":"m0","nativeSrc":"188779:2:19","nodeType":"YulIdentifier","src":"188779:2:19"}]},{"nativeSrc":"188809:17:19","nodeType":"YulAssignment","src":"188809:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"188821:4:19","nodeType":"YulLiteral","src":"188821:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"188815:5:19","nodeType":"YulIdentifier","src":"188815:5:19"},"nativeSrc":"188815:11:19","nodeType":"YulFunctionCall","src":"188815:11:19"},"variableNames":[{"name":"m1","nativeSrc":"188809:2:19","nodeType":"YulIdentifier","src":"188809:2:19"}]},{"nativeSrc":"188839:17:19","nodeType":"YulAssignment","src":"188839:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"188851:4:19","nodeType":"YulLiteral","src":"188851:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"188845:5:19","nodeType":"YulIdentifier","src":"188845:5:19"},"nativeSrc":"188845:11:19","nodeType":"YulFunctionCall","src":"188845:11:19"},"variableNames":[{"name":"m2","nativeSrc":"188839:2:19","nodeType":"YulIdentifier","src":"188839:2:19"}]},{"nativeSrc":"188869:17:19","nodeType":"YulAssignment","src":"188869:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"188881:4:19","nodeType":"YulLiteral","src":"188881:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"188875:5:19","nodeType":"YulIdentifier","src":"188875:5:19"},"nativeSrc":"188875:11:19","nodeType":"YulFunctionCall","src":"188875:11:19"},"variableNames":[{"name":"m3","nativeSrc":"188869:2:19","nodeType":"YulIdentifier","src":"188869:2:19"}]},{"nativeSrc":"188899:17:19","nodeType":"YulAssignment","src":"188899:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"188911:4:19","nodeType":"YulLiteral","src":"188911:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"188905:5:19","nodeType":"YulIdentifier","src":"188905:5:19"},"nativeSrc":"188905:11:19","nodeType":"YulFunctionCall","src":"188905:11:19"},"variableNames":[{"name":"m4","nativeSrc":"188899:2:19","nodeType":"YulIdentifier","src":"188899:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"188994:4:19","nodeType":"YulLiteral","src":"188994:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"189000:10:19","nodeType":"YulLiteral","src":"189000:10:19","type":"","value":"0xc0a302d8"}],"functionName":{"name":"mstore","nativeSrc":"188987:6:19","nodeType":"YulIdentifier","src":"188987:6:19"},"nativeSrc":"188987:24:19","nodeType":"YulFunctionCall","src":"188987:24:19"},"nativeSrc":"188987:24:19","nodeType":"YulExpressionStatement","src":"188987:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189031:4:19","nodeType":"YulLiteral","src":"189031:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"189037:2:19","nodeType":"YulIdentifier","src":"189037:2:19"}],"functionName":{"name":"mstore","nativeSrc":"189024:6:19","nodeType":"YulIdentifier","src":"189024:6:19"},"nativeSrc":"189024:16:19","nodeType":"YulFunctionCall","src":"189024:16:19"},"nativeSrc":"189024:16:19","nodeType":"YulExpressionStatement","src":"189024:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189060:4:19","nodeType":"YulLiteral","src":"189060:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"189066:2:19","nodeType":"YulIdentifier","src":"189066:2:19"}],"functionName":{"name":"mstore","nativeSrc":"189053:6:19","nodeType":"YulIdentifier","src":"189053:6:19"},"nativeSrc":"189053:16:19","nodeType":"YulFunctionCall","src":"189053:16:19"},"nativeSrc":"189053:16:19","nodeType":"YulExpressionStatement","src":"189053:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189089:4:19","nodeType":"YulLiteral","src":"189089:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"189095:2:19","nodeType":"YulIdentifier","src":"189095:2:19"}],"functionName":{"name":"mstore","nativeSrc":"189082:6:19","nodeType":"YulIdentifier","src":"189082:6:19"},"nativeSrc":"189082:16:19","nodeType":"YulFunctionCall","src":"189082:16:19"},"nativeSrc":"189082:16:19","nodeType":"YulExpressionStatement","src":"189082:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189118:4:19","nodeType":"YulLiteral","src":"189118:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"189124:2:19","nodeType":"YulIdentifier","src":"189124:2:19"}],"functionName":{"name":"mstore","nativeSrc":"189111:6:19","nodeType":"YulIdentifier","src":"189111:6:19"},"nativeSrc":"189111:16:19","nodeType":"YulFunctionCall","src":"189111:16:19"},"nativeSrc":"189111:16:19","nodeType":"YulExpressionStatement","src":"189111:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32220,"isOffset":false,"isSlot":false,"src":"188779:2:19","valueSize":1},{"declaration":32223,"isOffset":false,"isSlot":false,"src":"188809:2:19","valueSize":1},{"declaration":32226,"isOffset":false,"isSlot":false,"src":"188839:2:19","valueSize":1},{"declaration":32229,"isOffset":false,"isSlot":false,"src":"188869:2:19","valueSize":1},{"declaration":32232,"isOffset":false,"isSlot":false,"src":"188899:2:19","valueSize":1},{"declaration":32210,"isOffset":false,"isSlot":false,"src":"189037:2:19","valueSize":1},{"declaration":32212,"isOffset":false,"isSlot":false,"src":"189066:2:19","valueSize":1},{"declaration":32214,"isOffset":false,"isSlot":false,"src":"189095:2:19","valueSize":1},{"declaration":32216,"isOffset":false,"isSlot":false,"src":"189124:2:19","valueSize":1}],"id":32234,"nodeType":"InlineAssembly","src":"188756:381:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"189162:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"189168:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32235,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"189146:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"189146:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32239,"nodeType":"ExpressionStatement","src":"189146:27:19"},{"AST":{"nativeSrc":"189235:156:19","nodeType":"YulBlock","src":"189235:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"189256:4:19","nodeType":"YulLiteral","src":"189256:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"189262:2:19","nodeType":"YulIdentifier","src":"189262:2:19"}],"functionName":{"name":"mstore","nativeSrc":"189249:6:19","nodeType":"YulIdentifier","src":"189249:6:19"},"nativeSrc":"189249:16:19","nodeType":"YulFunctionCall","src":"189249:16:19"},"nativeSrc":"189249:16:19","nodeType":"YulExpressionStatement","src":"189249:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189285:4:19","nodeType":"YulLiteral","src":"189285:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"189291:2:19","nodeType":"YulIdentifier","src":"189291:2:19"}],"functionName":{"name":"mstore","nativeSrc":"189278:6:19","nodeType":"YulIdentifier","src":"189278:6:19"},"nativeSrc":"189278:16:19","nodeType":"YulFunctionCall","src":"189278:16:19"},"nativeSrc":"189278:16:19","nodeType":"YulExpressionStatement","src":"189278:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189314:4:19","nodeType":"YulLiteral","src":"189314:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"189320:2:19","nodeType":"YulIdentifier","src":"189320:2:19"}],"functionName":{"name":"mstore","nativeSrc":"189307:6:19","nodeType":"YulIdentifier","src":"189307:6:19"},"nativeSrc":"189307:16:19","nodeType":"YulFunctionCall","src":"189307:16:19"},"nativeSrc":"189307:16:19","nodeType":"YulExpressionStatement","src":"189307:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189343:4:19","nodeType":"YulLiteral","src":"189343:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"189349:2:19","nodeType":"YulIdentifier","src":"189349:2:19"}],"functionName":{"name":"mstore","nativeSrc":"189336:6:19","nodeType":"YulIdentifier","src":"189336:6:19"},"nativeSrc":"189336:16:19","nodeType":"YulFunctionCall","src":"189336:16:19"},"nativeSrc":"189336:16:19","nodeType":"YulExpressionStatement","src":"189336:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189372:4:19","nodeType":"YulLiteral","src":"189372:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"189378:2:19","nodeType":"YulIdentifier","src":"189378:2:19"}],"functionName":{"name":"mstore","nativeSrc":"189365:6:19","nodeType":"YulIdentifier","src":"189365:6:19"},"nativeSrc":"189365:16:19","nodeType":"YulFunctionCall","src":"189365:16:19"},"nativeSrc":"189365:16:19","nodeType":"YulExpressionStatement","src":"189365:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32220,"isOffset":false,"isSlot":false,"src":"189262:2:19","valueSize":1},{"declaration":32223,"isOffset":false,"isSlot":false,"src":"189291:2:19","valueSize":1},{"declaration":32226,"isOffset":false,"isSlot":false,"src":"189320:2:19","valueSize":1},{"declaration":32229,"isOffset":false,"isSlot":false,"src":"189349:2:19","valueSize":1},{"declaration":32232,"isOffset":false,"isSlot":false,"src":"189378:2:19","valueSize":1}],"id":32240,"nodeType":"InlineAssembly","src":"189226:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"188546:3:19","parameters":{"id":32217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32210,"mutability":"mutable","name":"p0","nameLocation":"188555:2:19","nodeType":"VariableDeclaration","scope":32242,"src":"188550:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32209,"name":"bool","nodeType":"ElementaryTypeName","src":"188550:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32212,"mutability":"mutable","name":"p1","nameLocation":"188564:2:19","nodeType":"VariableDeclaration","scope":32242,"src":"188559:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32211,"name":"bool","nodeType":"ElementaryTypeName","src":"188559:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32214,"mutability":"mutable","name":"p2","nameLocation":"188576:2:19","nodeType":"VariableDeclaration","scope":32242,"src":"188568:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32213,"name":"address","nodeType":"ElementaryTypeName","src":"188568:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32216,"mutability":"mutable","name":"p3","nameLocation":"188585:2:19","nodeType":"VariableDeclaration","scope":32242,"src":"188580:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32215,"name":"bool","nodeType":"ElementaryTypeName","src":"188580:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"188549:39:19"},"returnParameters":{"id":32218,"nodeType":"ParameterList","parameters":[],"src":"188603:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32276,"nodeType":"FunctionDefinition","src":"189403:866:19","nodes":[],"body":{"id":32275,"nodeType":"Block","src":"189472:797:19","nodes":[],"statements":[{"assignments":[32254],"declarations":[{"constant":false,"id":32254,"mutability":"mutable","name":"m0","nameLocation":"189490:2:19","nodeType":"VariableDeclaration","scope":32275,"src":"189482:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32253,"name":"bytes32","nodeType":"ElementaryTypeName","src":"189482:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32255,"nodeType":"VariableDeclarationStatement","src":"189482:10:19"},{"assignments":[32257],"declarations":[{"constant":false,"id":32257,"mutability":"mutable","name":"m1","nameLocation":"189510:2:19","nodeType":"VariableDeclaration","scope":32275,"src":"189502:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32256,"name":"bytes32","nodeType":"ElementaryTypeName","src":"189502:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32258,"nodeType":"VariableDeclarationStatement","src":"189502:10:19"},{"assignments":[32260],"declarations":[{"constant":false,"id":32260,"mutability":"mutable","name":"m2","nameLocation":"189530:2:19","nodeType":"VariableDeclaration","scope":32275,"src":"189522:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32259,"name":"bytes32","nodeType":"ElementaryTypeName","src":"189522:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32261,"nodeType":"VariableDeclarationStatement","src":"189522:10:19"},{"assignments":[32263],"declarations":[{"constant":false,"id":32263,"mutability":"mutable","name":"m3","nameLocation":"189550:2:19","nodeType":"VariableDeclaration","scope":32275,"src":"189542:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32262,"name":"bytes32","nodeType":"ElementaryTypeName","src":"189542:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32264,"nodeType":"VariableDeclarationStatement","src":"189542:10:19"},{"assignments":[32266],"declarations":[{"constant":false,"id":32266,"mutability":"mutable","name":"m4","nameLocation":"189570:2:19","nodeType":"VariableDeclaration","scope":32275,"src":"189562:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32265,"name":"bytes32","nodeType":"ElementaryTypeName","src":"189562:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32267,"nodeType":"VariableDeclarationStatement","src":"189562:10:19"},{"AST":{"nativeSrc":"189634:375:19","nodeType":"YulBlock","src":"189634:375:19","statements":[{"nativeSrc":"189648:17:19","nodeType":"YulAssignment","src":"189648:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"189660:4:19","nodeType":"YulLiteral","src":"189660:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"189654:5:19","nodeType":"YulIdentifier","src":"189654:5:19"},"nativeSrc":"189654:11:19","nodeType":"YulFunctionCall","src":"189654:11:19"},"variableNames":[{"name":"m0","nativeSrc":"189648:2:19","nodeType":"YulIdentifier","src":"189648:2:19"}]},{"nativeSrc":"189678:17:19","nodeType":"YulAssignment","src":"189678:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"189690:4:19","nodeType":"YulLiteral","src":"189690:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"189684:5:19","nodeType":"YulIdentifier","src":"189684:5:19"},"nativeSrc":"189684:11:19","nodeType":"YulFunctionCall","src":"189684:11:19"},"variableNames":[{"name":"m1","nativeSrc":"189678:2:19","nodeType":"YulIdentifier","src":"189678:2:19"}]},{"nativeSrc":"189708:17:19","nodeType":"YulAssignment","src":"189708:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"189720:4:19","nodeType":"YulLiteral","src":"189720:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"189714:5:19","nodeType":"YulIdentifier","src":"189714:5:19"},"nativeSrc":"189714:11:19","nodeType":"YulFunctionCall","src":"189714:11:19"},"variableNames":[{"name":"m2","nativeSrc":"189708:2:19","nodeType":"YulIdentifier","src":"189708:2:19"}]},{"nativeSrc":"189738:17:19","nodeType":"YulAssignment","src":"189738:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"189750:4:19","nodeType":"YulLiteral","src":"189750:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"189744:5:19","nodeType":"YulIdentifier","src":"189744:5:19"},"nativeSrc":"189744:11:19","nodeType":"YulFunctionCall","src":"189744:11:19"},"variableNames":[{"name":"m3","nativeSrc":"189738:2:19","nodeType":"YulIdentifier","src":"189738:2:19"}]},{"nativeSrc":"189768:17:19","nodeType":"YulAssignment","src":"189768:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"189780:4:19","nodeType":"YulLiteral","src":"189780:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"189774:5:19","nodeType":"YulIdentifier","src":"189774:5:19"},"nativeSrc":"189774:11:19","nodeType":"YulFunctionCall","src":"189774:11:19"},"variableNames":[{"name":"m4","nativeSrc":"189768:2:19","nodeType":"YulIdentifier","src":"189768:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189866:4:19","nodeType":"YulLiteral","src":"189866:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"189872:10:19","nodeType":"YulLiteral","src":"189872:10:19","type":"","value":"0x4c123d57"}],"functionName":{"name":"mstore","nativeSrc":"189859:6:19","nodeType":"YulIdentifier","src":"189859:6:19"},"nativeSrc":"189859:24:19","nodeType":"YulFunctionCall","src":"189859:24:19"},"nativeSrc":"189859:24:19","nodeType":"YulExpressionStatement","src":"189859:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189903:4:19","nodeType":"YulLiteral","src":"189903:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"189909:2:19","nodeType":"YulIdentifier","src":"189909:2:19"}],"functionName":{"name":"mstore","nativeSrc":"189896:6:19","nodeType":"YulIdentifier","src":"189896:6:19"},"nativeSrc":"189896:16:19","nodeType":"YulFunctionCall","src":"189896:16:19"},"nativeSrc":"189896:16:19","nodeType":"YulExpressionStatement","src":"189896:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189932:4:19","nodeType":"YulLiteral","src":"189932:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"189938:2:19","nodeType":"YulIdentifier","src":"189938:2:19"}],"functionName":{"name":"mstore","nativeSrc":"189925:6:19","nodeType":"YulIdentifier","src":"189925:6:19"},"nativeSrc":"189925:16:19","nodeType":"YulFunctionCall","src":"189925:16:19"},"nativeSrc":"189925:16:19","nodeType":"YulExpressionStatement","src":"189925:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189961:4:19","nodeType":"YulLiteral","src":"189961:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"189967:2:19","nodeType":"YulIdentifier","src":"189967:2:19"}],"functionName":{"name":"mstore","nativeSrc":"189954:6:19","nodeType":"YulIdentifier","src":"189954:6:19"},"nativeSrc":"189954:16:19","nodeType":"YulFunctionCall","src":"189954:16:19"},"nativeSrc":"189954:16:19","nodeType":"YulExpressionStatement","src":"189954:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"189990:4:19","nodeType":"YulLiteral","src":"189990:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"189996:2:19","nodeType":"YulIdentifier","src":"189996:2:19"}],"functionName":{"name":"mstore","nativeSrc":"189983:6:19","nodeType":"YulIdentifier","src":"189983:6:19"},"nativeSrc":"189983:16:19","nodeType":"YulFunctionCall","src":"189983:16:19"},"nativeSrc":"189983:16:19","nodeType":"YulExpressionStatement","src":"189983:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32254,"isOffset":false,"isSlot":false,"src":"189648:2:19","valueSize":1},{"declaration":32257,"isOffset":false,"isSlot":false,"src":"189678:2:19","valueSize":1},{"declaration":32260,"isOffset":false,"isSlot":false,"src":"189708:2:19","valueSize":1},{"declaration":32263,"isOffset":false,"isSlot":false,"src":"189738:2:19","valueSize":1},{"declaration":32266,"isOffset":false,"isSlot":false,"src":"189768:2:19","valueSize":1},{"declaration":32244,"isOffset":false,"isSlot":false,"src":"189909:2:19","valueSize":1},{"declaration":32246,"isOffset":false,"isSlot":false,"src":"189938:2:19","valueSize":1},{"declaration":32248,"isOffset":false,"isSlot":false,"src":"189967:2:19","valueSize":1},{"declaration":32250,"isOffset":false,"isSlot":false,"src":"189996:2:19","valueSize":1}],"id":32268,"nodeType":"InlineAssembly","src":"189625:384:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"190034:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"190040:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32269,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"190018:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"190018:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32273,"nodeType":"ExpressionStatement","src":"190018:27:19"},{"AST":{"nativeSrc":"190107:156:19","nodeType":"YulBlock","src":"190107:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"190128:4:19","nodeType":"YulLiteral","src":"190128:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"190134:2:19","nodeType":"YulIdentifier","src":"190134:2:19"}],"functionName":{"name":"mstore","nativeSrc":"190121:6:19","nodeType":"YulIdentifier","src":"190121:6:19"},"nativeSrc":"190121:16:19","nodeType":"YulFunctionCall","src":"190121:16:19"},"nativeSrc":"190121:16:19","nodeType":"YulExpressionStatement","src":"190121:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"190157:4:19","nodeType":"YulLiteral","src":"190157:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"190163:2:19","nodeType":"YulIdentifier","src":"190163:2:19"}],"functionName":{"name":"mstore","nativeSrc":"190150:6:19","nodeType":"YulIdentifier","src":"190150:6:19"},"nativeSrc":"190150:16:19","nodeType":"YulFunctionCall","src":"190150:16:19"},"nativeSrc":"190150:16:19","nodeType":"YulExpressionStatement","src":"190150:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"190186:4:19","nodeType":"YulLiteral","src":"190186:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"190192:2:19","nodeType":"YulIdentifier","src":"190192:2:19"}],"functionName":{"name":"mstore","nativeSrc":"190179:6:19","nodeType":"YulIdentifier","src":"190179:6:19"},"nativeSrc":"190179:16:19","nodeType":"YulFunctionCall","src":"190179:16:19"},"nativeSrc":"190179:16:19","nodeType":"YulExpressionStatement","src":"190179:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"190215:4:19","nodeType":"YulLiteral","src":"190215:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"190221:2:19","nodeType":"YulIdentifier","src":"190221:2:19"}],"functionName":{"name":"mstore","nativeSrc":"190208:6:19","nodeType":"YulIdentifier","src":"190208:6:19"},"nativeSrc":"190208:16:19","nodeType":"YulFunctionCall","src":"190208:16:19"},"nativeSrc":"190208:16:19","nodeType":"YulExpressionStatement","src":"190208:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"190244:4:19","nodeType":"YulLiteral","src":"190244:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"190250:2:19","nodeType":"YulIdentifier","src":"190250:2:19"}],"functionName":{"name":"mstore","nativeSrc":"190237:6:19","nodeType":"YulIdentifier","src":"190237:6:19"},"nativeSrc":"190237:16:19","nodeType":"YulFunctionCall","src":"190237:16:19"},"nativeSrc":"190237:16:19","nodeType":"YulExpressionStatement","src":"190237:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32254,"isOffset":false,"isSlot":false,"src":"190134:2:19","valueSize":1},{"declaration":32257,"isOffset":false,"isSlot":false,"src":"190163:2:19","valueSize":1},{"declaration":32260,"isOffset":false,"isSlot":false,"src":"190192:2:19","valueSize":1},{"declaration":32263,"isOffset":false,"isSlot":false,"src":"190221:2:19","valueSize":1},{"declaration":32266,"isOffset":false,"isSlot":false,"src":"190250:2:19","valueSize":1}],"id":32274,"nodeType":"InlineAssembly","src":"190098:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"189412:3:19","parameters":{"id":32251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32244,"mutability":"mutable","name":"p0","nameLocation":"189421:2:19","nodeType":"VariableDeclaration","scope":32276,"src":"189416:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32243,"name":"bool","nodeType":"ElementaryTypeName","src":"189416:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32246,"mutability":"mutable","name":"p1","nameLocation":"189430:2:19","nodeType":"VariableDeclaration","scope":32276,"src":"189425:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32245,"name":"bool","nodeType":"ElementaryTypeName","src":"189425:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32248,"mutability":"mutable","name":"p2","nameLocation":"189442:2:19","nodeType":"VariableDeclaration","scope":32276,"src":"189434:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32247,"name":"address","nodeType":"ElementaryTypeName","src":"189434:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32250,"mutability":"mutable","name":"p3","nameLocation":"189454:2:19","nodeType":"VariableDeclaration","scope":32276,"src":"189446:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32249,"name":"uint256","nodeType":"ElementaryTypeName","src":"189446:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"189415:42:19"},"returnParameters":{"id":32252,"nodeType":"ParameterList","parameters":[],"src":"189472:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32316,"nodeType":"FunctionDefinition","src":"190275:1414:19","nodes":[],"body":{"id":32315,"nodeType":"Block","src":"190344:1345:19","nodes":[],"statements":[{"assignments":[32288],"declarations":[{"constant":false,"id":32288,"mutability":"mutable","name":"m0","nameLocation":"190362:2:19","nodeType":"VariableDeclaration","scope":32315,"src":"190354:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32287,"name":"bytes32","nodeType":"ElementaryTypeName","src":"190354:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32289,"nodeType":"VariableDeclarationStatement","src":"190354:10:19"},{"assignments":[32291],"declarations":[{"constant":false,"id":32291,"mutability":"mutable","name":"m1","nameLocation":"190382:2:19","nodeType":"VariableDeclaration","scope":32315,"src":"190374:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32290,"name":"bytes32","nodeType":"ElementaryTypeName","src":"190374:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32292,"nodeType":"VariableDeclarationStatement","src":"190374:10:19"},{"assignments":[32294],"declarations":[{"constant":false,"id":32294,"mutability":"mutable","name":"m2","nameLocation":"190402:2:19","nodeType":"VariableDeclaration","scope":32315,"src":"190394:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32293,"name":"bytes32","nodeType":"ElementaryTypeName","src":"190394:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32295,"nodeType":"VariableDeclarationStatement","src":"190394:10:19"},{"assignments":[32297],"declarations":[{"constant":false,"id":32297,"mutability":"mutable","name":"m3","nameLocation":"190422:2:19","nodeType":"VariableDeclaration","scope":32315,"src":"190414:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32296,"name":"bytes32","nodeType":"ElementaryTypeName","src":"190414:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32298,"nodeType":"VariableDeclarationStatement","src":"190414:10:19"},{"assignments":[32300],"declarations":[{"constant":false,"id":32300,"mutability":"mutable","name":"m4","nameLocation":"190442:2:19","nodeType":"VariableDeclaration","scope":32315,"src":"190434:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32299,"name":"bytes32","nodeType":"ElementaryTypeName","src":"190434:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32301,"nodeType":"VariableDeclarationStatement","src":"190434:10:19"},{"assignments":[32303],"declarations":[{"constant":false,"id":32303,"mutability":"mutable","name":"m5","nameLocation":"190462:2:19","nodeType":"VariableDeclaration","scope":32315,"src":"190454:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32302,"name":"bytes32","nodeType":"ElementaryTypeName","src":"190454:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32304,"nodeType":"VariableDeclarationStatement","src":"190454:10:19"},{"assignments":[32306],"declarations":[{"constant":false,"id":32306,"mutability":"mutable","name":"m6","nameLocation":"190482:2:19","nodeType":"VariableDeclaration","scope":32315,"src":"190474:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32305,"name":"bytes32","nodeType":"ElementaryTypeName","src":"190474:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32307,"nodeType":"VariableDeclarationStatement","src":"190474:10:19"},{"AST":{"nativeSrc":"190546:825:19","nodeType":"YulBlock","src":"190546:825:19","statements":[{"body":{"nativeSrc":"190589:313:19","nodeType":"YulBlock","src":"190589:313:19","statements":[{"nativeSrc":"190607:15:19","nodeType":"YulVariableDeclaration","src":"190607:15:19","value":{"kind":"number","nativeSrc":"190621:1:19","nodeType":"YulLiteral","src":"190621:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"190611:6:19","nodeType":"YulTypedName","src":"190611:6:19","type":""}]},{"body":{"nativeSrc":"190692:40:19","nodeType":"YulBlock","src":"190692:40:19","statements":[{"body":{"nativeSrc":"190721:9:19","nodeType":"YulBlock","src":"190721:9:19","statements":[{"nativeSrc":"190723:5:19","nodeType":"YulBreak","src":"190723:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"190709:6:19","nodeType":"YulIdentifier","src":"190709:6:19"},{"name":"w","nativeSrc":"190717:1:19","nodeType":"YulIdentifier","src":"190717:1:19"}],"functionName":{"name":"byte","nativeSrc":"190704:4:19","nodeType":"YulIdentifier","src":"190704:4:19"},"nativeSrc":"190704:15:19","nodeType":"YulFunctionCall","src":"190704:15:19"}],"functionName":{"name":"iszero","nativeSrc":"190697:6:19","nodeType":"YulIdentifier","src":"190697:6:19"},"nativeSrc":"190697:23:19","nodeType":"YulFunctionCall","src":"190697:23:19"},"nativeSrc":"190694:36:19","nodeType":"YulIf","src":"190694:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"190649:6:19","nodeType":"YulIdentifier","src":"190649:6:19"},{"kind":"number","nativeSrc":"190657:4:19","nodeType":"YulLiteral","src":"190657:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"190646:2:19","nodeType":"YulIdentifier","src":"190646:2:19"},"nativeSrc":"190646:16:19","nodeType":"YulFunctionCall","src":"190646:16:19"},"nativeSrc":"190639:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"190663:28:19","nodeType":"YulBlock","src":"190663:28:19","statements":[{"nativeSrc":"190665:24:19","nodeType":"YulAssignment","src":"190665:24:19","value":{"arguments":[{"name":"length","nativeSrc":"190679:6:19","nodeType":"YulIdentifier","src":"190679:6:19"},{"kind":"number","nativeSrc":"190687:1:19","nodeType":"YulLiteral","src":"190687:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"190675:3:19","nodeType":"YulIdentifier","src":"190675:3:19"},"nativeSrc":"190675:14:19","nodeType":"YulFunctionCall","src":"190675:14:19"},"variableNames":[{"name":"length","nativeSrc":"190665:6:19","nodeType":"YulIdentifier","src":"190665:6:19"}]}]},"pre":{"nativeSrc":"190643:2:19","nodeType":"YulBlock","src":"190643:2:19","statements":[]},"src":"190639:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"190756:3:19","nodeType":"YulIdentifier","src":"190756:3:19"},{"name":"length","nativeSrc":"190761:6:19","nodeType":"YulIdentifier","src":"190761:6:19"}],"functionName":{"name":"mstore","nativeSrc":"190749:6:19","nodeType":"YulIdentifier","src":"190749:6:19"},"nativeSrc":"190749:19:19","nodeType":"YulFunctionCall","src":"190749:19:19"},"nativeSrc":"190749:19:19","nodeType":"YulExpressionStatement","src":"190749:19:19"},{"nativeSrc":"190785:37:19","nodeType":"YulVariableDeclaration","src":"190785:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"190802:3:19","nodeType":"YulLiteral","src":"190802:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"190811:1:19","nodeType":"YulLiteral","src":"190811:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"190814:6:19","nodeType":"YulIdentifier","src":"190814:6:19"}],"functionName":{"name":"shl","nativeSrc":"190807:3:19","nodeType":"YulIdentifier","src":"190807:3:19"},"nativeSrc":"190807:14:19","nodeType":"YulFunctionCall","src":"190807:14:19"}],"functionName":{"name":"sub","nativeSrc":"190798:3:19","nodeType":"YulIdentifier","src":"190798:3:19"},"nativeSrc":"190798:24:19","nodeType":"YulFunctionCall","src":"190798:24:19"},"variables":[{"name":"shift","nativeSrc":"190789:5:19","nodeType":"YulTypedName","src":"190789:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"190850:3:19","nodeType":"YulIdentifier","src":"190850:3:19"},{"kind":"number","nativeSrc":"190855:4:19","nodeType":"YulLiteral","src":"190855:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"190846:3:19","nodeType":"YulIdentifier","src":"190846:3:19"},"nativeSrc":"190846:14:19","nodeType":"YulFunctionCall","src":"190846:14:19"},{"arguments":[{"name":"shift","nativeSrc":"190866:5:19","nodeType":"YulIdentifier","src":"190866:5:19"},{"arguments":[{"name":"shift","nativeSrc":"190877:5:19","nodeType":"YulIdentifier","src":"190877:5:19"},{"name":"w","nativeSrc":"190884:1:19","nodeType":"YulIdentifier","src":"190884:1:19"}],"functionName":{"name":"shr","nativeSrc":"190873:3:19","nodeType":"YulIdentifier","src":"190873:3:19"},"nativeSrc":"190873:13:19","nodeType":"YulFunctionCall","src":"190873:13:19"}],"functionName":{"name":"shl","nativeSrc":"190862:3:19","nodeType":"YulIdentifier","src":"190862:3:19"},"nativeSrc":"190862:25:19","nodeType":"YulFunctionCall","src":"190862:25:19"}],"functionName":{"name":"mstore","nativeSrc":"190839:6:19","nodeType":"YulIdentifier","src":"190839:6:19"},"nativeSrc":"190839:49:19","nodeType":"YulFunctionCall","src":"190839:49:19"},"nativeSrc":"190839:49:19","nodeType":"YulExpressionStatement","src":"190839:49:19"}]},"name":"writeString","nativeSrc":"190560:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"190581:3:19","nodeType":"YulTypedName","src":"190581:3:19","type":""},{"name":"w","nativeSrc":"190586:1:19","nodeType":"YulTypedName","src":"190586:1:19","type":""}],"src":"190560:342:19"},{"nativeSrc":"190915:17:19","nodeType":"YulAssignment","src":"190915:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"190927:4:19","nodeType":"YulLiteral","src":"190927:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"190921:5:19","nodeType":"YulIdentifier","src":"190921:5:19"},"nativeSrc":"190921:11:19","nodeType":"YulFunctionCall","src":"190921:11:19"},"variableNames":[{"name":"m0","nativeSrc":"190915:2:19","nodeType":"YulIdentifier","src":"190915:2:19"}]},{"nativeSrc":"190945:17:19","nodeType":"YulAssignment","src":"190945:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"190957:4:19","nodeType":"YulLiteral","src":"190957:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"190951:5:19","nodeType":"YulIdentifier","src":"190951:5:19"},"nativeSrc":"190951:11:19","nodeType":"YulFunctionCall","src":"190951:11:19"},"variableNames":[{"name":"m1","nativeSrc":"190945:2:19","nodeType":"YulIdentifier","src":"190945:2:19"}]},{"nativeSrc":"190975:17:19","nodeType":"YulAssignment","src":"190975:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"190987:4:19","nodeType":"YulLiteral","src":"190987:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"190981:5:19","nodeType":"YulIdentifier","src":"190981:5:19"},"nativeSrc":"190981:11:19","nodeType":"YulFunctionCall","src":"190981:11:19"},"variableNames":[{"name":"m2","nativeSrc":"190975:2:19","nodeType":"YulIdentifier","src":"190975:2:19"}]},{"nativeSrc":"191005:17:19","nodeType":"YulAssignment","src":"191005:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"191017:4:19","nodeType":"YulLiteral","src":"191017:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"191011:5:19","nodeType":"YulIdentifier","src":"191011:5:19"},"nativeSrc":"191011:11:19","nodeType":"YulFunctionCall","src":"191011:11:19"},"variableNames":[{"name":"m3","nativeSrc":"191005:2:19","nodeType":"YulIdentifier","src":"191005:2:19"}]},{"nativeSrc":"191035:17:19","nodeType":"YulAssignment","src":"191035:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"191047:4:19","nodeType":"YulLiteral","src":"191047:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"191041:5:19","nodeType":"YulIdentifier","src":"191041:5:19"},"nativeSrc":"191041:11:19","nodeType":"YulFunctionCall","src":"191041:11:19"},"variableNames":[{"name":"m4","nativeSrc":"191035:2:19","nodeType":"YulIdentifier","src":"191035:2:19"}]},{"nativeSrc":"191065:17:19","nodeType":"YulAssignment","src":"191065:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"191077:4:19","nodeType":"YulLiteral","src":"191077:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"191071:5:19","nodeType":"YulIdentifier","src":"191071:5:19"},"nativeSrc":"191071:11:19","nodeType":"YulFunctionCall","src":"191071:11:19"},"variableNames":[{"name":"m5","nativeSrc":"191065:2:19","nodeType":"YulIdentifier","src":"191065:2:19"}]},{"nativeSrc":"191095:17:19","nodeType":"YulAssignment","src":"191095:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"191107:4:19","nodeType":"YulLiteral","src":"191107:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"191101:5:19","nodeType":"YulIdentifier","src":"191101:5:19"},"nativeSrc":"191101:11:19","nodeType":"YulFunctionCall","src":"191101:11:19"},"variableNames":[{"name":"m6","nativeSrc":"191095:2:19","nodeType":"YulIdentifier","src":"191095:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191192:4:19","nodeType":"YulLiteral","src":"191192:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"191198:10:19","nodeType":"YulLiteral","src":"191198:10:19","type":"","value":"0xa0a47963"}],"functionName":{"name":"mstore","nativeSrc":"191185:6:19","nodeType":"YulIdentifier","src":"191185:6:19"},"nativeSrc":"191185:24:19","nodeType":"YulFunctionCall","src":"191185:24:19"},"nativeSrc":"191185:24:19","nodeType":"YulExpressionStatement","src":"191185:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191229:4:19","nodeType":"YulLiteral","src":"191229:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"191235:2:19","nodeType":"YulIdentifier","src":"191235:2:19"}],"functionName":{"name":"mstore","nativeSrc":"191222:6:19","nodeType":"YulIdentifier","src":"191222:6:19"},"nativeSrc":"191222:16:19","nodeType":"YulFunctionCall","src":"191222:16:19"},"nativeSrc":"191222:16:19","nodeType":"YulExpressionStatement","src":"191222:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191258:4:19","nodeType":"YulLiteral","src":"191258:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"191264:2:19","nodeType":"YulIdentifier","src":"191264:2:19"}],"functionName":{"name":"mstore","nativeSrc":"191251:6:19","nodeType":"YulIdentifier","src":"191251:6:19"},"nativeSrc":"191251:16:19","nodeType":"YulFunctionCall","src":"191251:16:19"},"nativeSrc":"191251:16:19","nodeType":"YulExpressionStatement","src":"191251:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191287:4:19","nodeType":"YulLiteral","src":"191287:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"191293:2:19","nodeType":"YulIdentifier","src":"191293:2:19"}],"functionName":{"name":"mstore","nativeSrc":"191280:6:19","nodeType":"YulIdentifier","src":"191280:6:19"},"nativeSrc":"191280:16:19","nodeType":"YulFunctionCall","src":"191280:16:19"},"nativeSrc":"191280:16:19","nodeType":"YulExpressionStatement","src":"191280:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191316:4:19","nodeType":"YulLiteral","src":"191316:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"191322:4:19","nodeType":"YulLiteral","src":"191322:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"191309:6:19","nodeType":"YulIdentifier","src":"191309:6:19"},"nativeSrc":"191309:18:19","nodeType":"YulFunctionCall","src":"191309:18:19"},"nativeSrc":"191309:18:19","nodeType":"YulExpressionStatement","src":"191309:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191352:4:19","nodeType":"YulLiteral","src":"191352:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"191358:2:19","nodeType":"YulIdentifier","src":"191358:2:19"}],"functionName":{"name":"writeString","nativeSrc":"191340:11:19","nodeType":"YulIdentifier","src":"191340:11:19"},"nativeSrc":"191340:21:19","nodeType":"YulFunctionCall","src":"191340:21:19"},"nativeSrc":"191340:21:19","nodeType":"YulExpressionStatement","src":"191340:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32288,"isOffset":false,"isSlot":false,"src":"190915:2:19","valueSize":1},{"declaration":32291,"isOffset":false,"isSlot":false,"src":"190945:2:19","valueSize":1},{"declaration":32294,"isOffset":false,"isSlot":false,"src":"190975:2:19","valueSize":1},{"declaration":32297,"isOffset":false,"isSlot":false,"src":"191005:2:19","valueSize":1},{"declaration":32300,"isOffset":false,"isSlot":false,"src":"191035:2:19","valueSize":1},{"declaration":32303,"isOffset":false,"isSlot":false,"src":"191065:2:19","valueSize":1},{"declaration":32306,"isOffset":false,"isSlot":false,"src":"191095:2:19","valueSize":1},{"declaration":32278,"isOffset":false,"isSlot":false,"src":"191235:2:19","valueSize":1},{"declaration":32280,"isOffset":false,"isSlot":false,"src":"191264:2:19","valueSize":1},{"declaration":32282,"isOffset":false,"isSlot":false,"src":"191293:2:19","valueSize":1},{"declaration":32284,"isOffset":false,"isSlot":false,"src":"191358:2:19","valueSize":1}],"id":32308,"nodeType":"InlineAssembly","src":"190537:834:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"191396:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":32311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"191402:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":32309,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"191380:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"191380:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32313,"nodeType":"ExpressionStatement","src":"191380:27:19"},{"AST":{"nativeSrc":"191469:214:19","nodeType":"YulBlock","src":"191469:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"191490:4:19","nodeType":"YulLiteral","src":"191490:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"191496:2:19","nodeType":"YulIdentifier","src":"191496:2:19"}],"functionName":{"name":"mstore","nativeSrc":"191483:6:19","nodeType":"YulIdentifier","src":"191483:6:19"},"nativeSrc":"191483:16:19","nodeType":"YulFunctionCall","src":"191483:16:19"},"nativeSrc":"191483:16:19","nodeType":"YulExpressionStatement","src":"191483:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191519:4:19","nodeType":"YulLiteral","src":"191519:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"191525:2:19","nodeType":"YulIdentifier","src":"191525:2:19"}],"functionName":{"name":"mstore","nativeSrc":"191512:6:19","nodeType":"YulIdentifier","src":"191512:6:19"},"nativeSrc":"191512:16:19","nodeType":"YulFunctionCall","src":"191512:16:19"},"nativeSrc":"191512:16:19","nodeType":"YulExpressionStatement","src":"191512:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191548:4:19","nodeType":"YulLiteral","src":"191548:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"191554:2:19","nodeType":"YulIdentifier","src":"191554:2:19"}],"functionName":{"name":"mstore","nativeSrc":"191541:6:19","nodeType":"YulIdentifier","src":"191541:6:19"},"nativeSrc":"191541:16:19","nodeType":"YulFunctionCall","src":"191541:16:19"},"nativeSrc":"191541:16:19","nodeType":"YulExpressionStatement","src":"191541:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191577:4:19","nodeType":"YulLiteral","src":"191577:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"191583:2:19","nodeType":"YulIdentifier","src":"191583:2:19"}],"functionName":{"name":"mstore","nativeSrc":"191570:6:19","nodeType":"YulIdentifier","src":"191570:6:19"},"nativeSrc":"191570:16:19","nodeType":"YulFunctionCall","src":"191570:16:19"},"nativeSrc":"191570:16:19","nodeType":"YulExpressionStatement","src":"191570:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191606:4:19","nodeType":"YulLiteral","src":"191606:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"191612:2:19","nodeType":"YulIdentifier","src":"191612:2:19"}],"functionName":{"name":"mstore","nativeSrc":"191599:6:19","nodeType":"YulIdentifier","src":"191599:6:19"},"nativeSrc":"191599:16:19","nodeType":"YulFunctionCall","src":"191599:16:19"},"nativeSrc":"191599:16:19","nodeType":"YulExpressionStatement","src":"191599:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191635:4:19","nodeType":"YulLiteral","src":"191635:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"191641:2:19","nodeType":"YulIdentifier","src":"191641:2:19"}],"functionName":{"name":"mstore","nativeSrc":"191628:6:19","nodeType":"YulIdentifier","src":"191628:6:19"},"nativeSrc":"191628:16:19","nodeType":"YulFunctionCall","src":"191628:16:19"},"nativeSrc":"191628:16:19","nodeType":"YulExpressionStatement","src":"191628:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"191664:4:19","nodeType":"YulLiteral","src":"191664:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"191670:2:19","nodeType":"YulIdentifier","src":"191670:2:19"}],"functionName":{"name":"mstore","nativeSrc":"191657:6:19","nodeType":"YulIdentifier","src":"191657:6:19"},"nativeSrc":"191657:16:19","nodeType":"YulFunctionCall","src":"191657:16:19"},"nativeSrc":"191657:16:19","nodeType":"YulExpressionStatement","src":"191657:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32288,"isOffset":false,"isSlot":false,"src":"191496:2:19","valueSize":1},{"declaration":32291,"isOffset":false,"isSlot":false,"src":"191525:2:19","valueSize":1},{"declaration":32294,"isOffset":false,"isSlot":false,"src":"191554:2:19","valueSize":1},{"declaration":32297,"isOffset":false,"isSlot":false,"src":"191583:2:19","valueSize":1},{"declaration":32300,"isOffset":false,"isSlot":false,"src":"191612:2:19","valueSize":1},{"declaration":32303,"isOffset":false,"isSlot":false,"src":"191641:2:19","valueSize":1},{"declaration":32306,"isOffset":false,"isSlot":false,"src":"191670:2:19","valueSize":1}],"id":32314,"nodeType":"InlineAssembly","src":"191460:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"190284:3:19","parameters":{"id":32285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32278,"mutability":"mutable","name":"p0","nameLocation":"190293:2:19","nodeType":"VariableDeclaration","scope":32316,"src":"190288:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32277,"name":"bool","nodeType":"ElementaryTypeName","src":"190288:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32280,"mutability":"mutable","name":"p1","nameLocation":"190302:2:19","nodeType":"VariableDeclaration","scope":32316,"src":"190297:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32279,"name":"bool","nodeType":"ElementaryTypeName","src":"190297:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32282,"mutability":"mutable","name":"p2","nameLocation":"190314:2:19","nodeType":"VariableDeclaration","scope":32316,"src":"190306:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32281,"name":"address","nodeType":"ElementaryTypeName","src":"190306:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32284,"mutability":"mutable","name":"p3","nameLocation":"190326:2:19","nodeType":"VariableDeclaration","scope":32316,"src":"190318:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32283,"name":"bytes32","nodeType":"ElementaryTypeName","src":"190318:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"190287:42:19"},"returnParameters":{"id":32286,"nodeType":"ParameterList","parameters":[],"src":"190344:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32350,"nodeType":"FunctionDefinition","src":"191695:860:19","nodes":[],"body":{"id":32349,"nodeType":"Block","src":"191761:794:19","nodes":[],"statements":[{"assignments":[32328],"declarations":[{"constant":false,"id":32328,"mutability":"mutable","name":"m0","nameLocation":"191779:2:19","nodeType":"VariableDeclaration","scope":32349,"src":"191771:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32327,"name":"bytes32","nodeType":"ElementaryTypeName","src":"191771:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32329,"nodeType":"VariableDeclarationStatement","src":"191771:10:19"},{"assignments":[32331],"declarations":[{"constant":false,"id":32331,"mutability":"mutable","name":"m1","nameLocation":"191799:2:19","nodeType":"VariableDeclaration","scope":32349,"src":"191791:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32330,"name":"bytes32","nodeType":"ElementaryTypeName","src":"191791:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32332,"nodeType":"VariableDeclarationStatement","src":"191791:10:19"},{"assignments":[32334],"declarations":[{"constant":false,"id":32334,"mutability":"mutable","name":"m2","nameLocation":"191819:2:19","nodeType":"VariableDeclaration","scope":32349,"src":"191811:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32333,"name":"bytes32","nodeType":"ElementaryTypeName","src":"191811:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32335,"nodeType":"VariableDeclarationStatement","src":"191811:10:19"},{"assignments":[32337],"declarations":[{"constant":false,"id":32337,"mutability":"mutable","name":"m3","nameLocation":"191839:2:19","nodeType":"VariableDeclaration","scope":32349,"src":"191831:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32336,"name":"bytes32","nodeType":"ElementaryTypeName","src":"191831:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32338,"nodeType":"VariableDeclarationStatement","src":"191831:10:19"},{"assignments":[32340],"declarations":[{"constant":false,"id":32340,"mutability":"mutable","name":"m4","nameLocation":"191859:2:19","nodeType":"VariableDeclaration","scope":32349,"src":"191851:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32339,"name":"bytes32","nodeType":"ElementaryTypeName","src":"191851:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32341,"nodeType":"VariableDeclarationStatement","src":"191851:10:19"},{"AST":{"nativeSrc":"191923:372:19","nodeType":"YulBlock","src":"191923:372:19","statements":[{"nativeSrc":"191937:17:19","nodeType":"YulAssignment","src":"191937:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"191949:4:19","nodeType":"YulLiteral","src":"191949:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"191943:5:19","nodeType":"YulIdentifier","src":"191943:5:19"},"nativeSrc":"191943:11:19","nodeType":"YulFunctionCall","src":"191943:11:19"},"variableNames":[{"name":"m0","nativeSrc":"191937:2:19","nodeType":"YulIdentifier","src":"191937:2:19"}]},{"nativeSrc":"191967:17:19","nodeType":"YulAssignment","src":"191967:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"191979:4:19","nodeType":"YulLiteral","src":"191979:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"191973:5:19","nodeType":"YulIdentifier","src":"191973:5:19"},"nativeSrc":"191973:11:19","nodeType":"YulFunctionCall","src":"191973:11:19"},"variableNames":[{"name":"m1","nativeSrc":"191967:2:19","nodeType":"YulIdentifier","src":"191967:2:19"}]},{"nativeSrc":"191997:17:19","nodeType":"YulAssignment","src":"191997:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"192009:4:19","nodeType":"YulLiteral","src":"192009:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"192003:5:19","nodeType":"YulIdentifier","src":"192003:5:19"},"nativeSrc":"192003:11:19","nodeType":"YulFunctionCall","src":"192003:11:19"},"variableNames":[{"name":"m2","nativeSrc":"191997:2:19","nodeType":"YulIdentifier","src":"191997:2:19"}]},{"nativeSrc":"192027:17:19","nodeType":"YulAssignment","src":"192027:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"192039:4:19","nodeType":"YulLiteral","src":"192039:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"192033:5:19","nodeType":"YulIdentifier","src":"192033:5:19"},"nativeSrc":"192033:11:19","nodeType":"YulFunctionCall","src":"192033:11:19"},"variableNames":[{"name":"m3","nativeSrc":"192027:2:19","nodeType":"YulIdentifier","src":"192027:2:19"}]},{"nativeSrc":"192057:17:19","nodeType":"YulAssignment","src":"192057:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"192069:4:19","nodeType":"YulLiteral","src":"192069:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"192063:5:19","nodeType":"YulIdentifier","src":"192063:5:19"},"nativeSrc":"192063:11:19","nodeType":"YulFunctionCall","src":"192063:11:19"},"variableNames":[{"name":"m4","nativeSrc":"192057:2:19","nodeType":"YulIdentifier","src":"192057:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192152:4:19","nodeType":"YulLiteral","src":"192152:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"192158:10:19","nodeType":"YulLiteral","src":"192158:10:19","type":"","value":"0x8c329b1a"}],"functionName":{"name":"mstore","nativeSrc":"192145:6:19","nodeType":"YulIdentifier","src":"192145:6:19"},"nativeSrc":"192145:24:19","nodeType":"YulFunctionCall","src":"192145:24:19"},"nativeSrc":"192145:24:19","nodeType":"YulExpressionStatement","src":"192145:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192189:4:19","nodeType":"YulLiteral","src":"192189:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"192195:2:19","nodeType":"YulIdentifier","src":"192195:2:19"}],"functionName":{"name":"mstore","nativeSrc":"192182:6:19","nodeType":"YulIdentifier","src":"192182:6:19"},"nativeSrc":"192182:16:19","nodeType":"YulFunctionCall","src":"192182:16:19"},"nativeSrc":"192182:16:19","nodeType":"YulExpressionStatement","src":"192182:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192218:4:19","nodeType":"YulLiteral","src":"192218:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"192224:2:19","nodeType":"YulIdentifier","src":"192224:2:19"}],"functionName":{"name":"mstore","nativeSrc":"192211:6:19","nodeType":"YulIdentifier","src":"192211:6:19"},"nativeSrc":"192211:16:19","nodeType":"YulFunctionCall","src":"192211:16:19"},"nativeSrc":"192211:16:19","nodeType":"YulExpressionStatement","src":"192211:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192247:4:19","nodeType":"YulLiteral","src":"192247:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"192253:2:19","nodeType":"YulIdentifier","src":"192253:2:19"}],"functionName":{"name":"mstore","nativeSrc":"192240:6:19","nodeType":"YulIdentifier","src":"192240:6:19"},"nativeSrc":"192240:16:19","nodeType":"YulFunctionCall","src":"192240:16:19"},"nativeSrc":"192240:16:19","nodeType":"YulExpressionStatement","src":"192240:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192276:4:19","nodeType":"YulLiteral","src":"192276:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"192282:2:19","nodeType":"YulIdentifier","src":"192282:2:19"}],"functionName":{"name":"mstore","nativeSrc":"192269:6:19","nodeType":"YulIdentifier","src":"192269:6:19"},"nativeSrc":"192269:16:19","nodeType":"YulFunctionCall","src":"192269:16:19"},"nativeSrc":"192269:16:19","nodeType":"YulExpressionStatement","src":"192269:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32328,"isOffset":false,"isSlot":false,"src":"191937:2:19","valueSize":1},{"declaration":32331,"isOffset":false,"isSlot":false,"src":"191967:2:19","valueSize":1},{"declaration":32334,"isOffset":false,"isSlot":false,"src":"191997:2:19","valueSize":1},{"declaration":32337,"isOffset":false,"isSlot":false,"src":"192027:2:19","valueSize":1},{"declaration":32340,"isOffset":false,"isSlot":false,"src":"192057:2:19","valueSize":1},{"declaration":32318,"isOffset":false,"isSlot":false,"src":"192195:2:19","valueSize":1},{"declaration":32320,"isOffset":false,"isSlot":false,"src":"192224:2:19","valueSize":1},{"declaration":32322,"isOffset":false,"isSlot":false,"src":"192253:2:19","valueSize":1},{"declaration":32324,"isOffset":false,"isSlot":false,"src":"192282:2:19","valueSize":1}],"id":32342,"nodeType":"InlineAssembly","src":"191914:381:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"192320:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32345,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"192326:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32343,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"192304:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"192304:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32347,"nodeType":"ExpressionStatement","src":"192304:27:19"},{"AST":{"nativeSrc":"192393:156:19","nodeType":"YulBlock","src":"192393:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"192414:4:19","nodeType":"YulLiteral","src":"192414:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"192420:2:19","nodeType":"YulIdentifier","src":"192420:2:19"}],"functionName":{"name":"mstore","nativeSrc":"192407:6:19","nodeType":"YulIdentifier","src":"192407:6:19"},"nativeSrc":"192407:16:19","nodeType":"YulFunctionCall","src":"192407:16:19"},"nativeSrc":"192407:16:19","nodeType":"YulExpressionStatement","src":"192407:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192443:4:19","nodeType":"YulLiteral","src":"192443:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"192449:2:19","nodeType":"YulIdentifier","src":"192449:2:19"}],"functionName":{"name":"mstore","nativeSrc":"192436:6:19","nodeType":"YulIdentifier","src":"192436:6:19"},"nativeSrc":"192436:16:19","nodeType":"YulFunctionCall","src":"192436:16:19"},"nativeSrc":"192436:16:19","nodeType":"YulExpressionStatement","src":"192436:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192472:4:19","nodeType":"YulLiteral","src":"192472:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"192478:2:19","nodeType":"YulIdentifier","src":"192478:2:19"}],"functionName":{"name":"mstore","nativeSrc":"192465:6:19","nodeType":"YulIdentifier","src":"192465:6:19"},"nativeSrc":"192465:16:19","nodeType":"YulFunctionCall","src":"192465:16:19"},"nativeSrc":"192465:16:19","nodeType":"YulExpressionStatement","src":"192465:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192501:4:19","nodeType":"YulLiteral","src":"192501:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"192507:2:19","nodeType":"YulIdentifier","src":"192507:2:19"}],"functionName":{"name":"mstore","nativeSrc":"192494:6:19","nodeType":"YulIdentifier","src":"192494:6:19"},"nativeSrc":"192494:16:19","nodeType":"YulFunctionCall","src":"192494:16:19"},"nativeSrc":"192494:16:19","nodeType":"YulExpressionStatement","src":"192494:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"192530:4:19","nodeType":"YulLiteral","src":"192530:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"192536:2:19","nodeType":"YulIdentifier","src":"192536:2:19"}],"functionName":{"name":"mstore","nativeSrc":"192523:6:19","nodeType":"YulIdentifier","src":"192523:6:19"},"nativeSrc":"192523:16:19","nodeType":"YulFunctionCall","src":"192523:16:19"},"nativeSrc":"192523:16:19","nodeType":"YulExpressionStatement","src":"192523:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32328,"isOffset":false,"isSlot":false,"src":"192420:2:19","valueSize":1},{"declaration":32331,"isOffset":false,"isSlot":false,"src":"192449:2:19","valueSize":1},{"declaration":32334,"isOffset":false,"isSlot":false,"src":"192478:2:19","valueSize":1},{"declaration":32337,"isOffset":false,"isSlot":false,"src":"192507:2:19","valueSize":1},{"declaration":32340,"isOffset":false,"isSlot":false,"src":"192536:2:19","valueSize":1}],"id":32348,"nodeType":"InlineAssembly","src":"192384:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"191704:3:19","parameters":{"id":32325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32318,"mutability":"mutable","name":"p0","nameLocation":"191713:2:19","nodeType":"VariableDeclaration","scope":32350,"src":"191708:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32317,"name":"bool","nodeType":"ElementaryTypeName","src":"191708:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32320,"mutability":"mutable","name":"p1","nameLocation":"191722:2:19","nodeType":"VariableDeclaration","scope":32350,"src":"191717:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32319,"name":"bool","nodeType":"ElementaryTypeName","src":"191717:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32322,"mutability":"mutable","name":"p2","nameLocation":"191731:2:19","nodeType":"VariableDeclaration","scope":32350,"src":"191726:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32321,"name":"bool","nodeType":"ElementaryTypeName","src":"191726:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32324,"mutability":"mutable","name":"p3","nameLocation":"191743:2:19","nodeType":"VariableDeclaration","scope":32350,"src":"191735:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32323,"name":"address","nodeType":"ElementaryTypeName","src":"191735:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"191707:39:19"},"returnParameters":{"id":32326,"nodeType":"ParameterList","parameters":[],"src":"191761:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32384,"nodeType":"FunctionDefinition","src":"192561:854:19","nodes":[],"body":{"id":32383,"nodeType":"Block","src":"192624:791:19","nodes":[],"statements":[{"assignments":[32362],"declarations":[{"constant":false,"id":32362,"mutability":"mutable","name":"m0","nameLocation":"192642:2:19","nodeType":"VariableDeclaration","scope":32383,"src":"192634:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32361,"name":"bytes32","nodeType":"ElementaryTypeName","src":"192634:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32363,"nodeType":"VariableDeclarationStatement","src":"192634:10:19"},{"assignments":[32365],"declarations":[{"constant":false,"id":32365,"mutability":"mutable","name":"m1","nameLocation":"192662:2:19","nodeType":"VariableDeclaration","scope":32383,"src":"192654:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32364,"name":"bytes32","nodeType":"ElementaryTypeName","src":"192654:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32366,"nodeType":"VariableDeclarationStatement","src":"192654:10:19"},{"assignments":[32368],"declarations":[{"constant":false,"id":32368,"mutability":"mutable","name":"m2","nameLocation":"192682:2:19","nodeType":"VariableDeclaration","scope":32383,"src":"192674:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32367,"name":"bytes32","nodeType":"ElementaryTypeName","src":"192674:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32369,"nodeType":"VariableDeclarationStatement","src":"192674:10:19"},{"assignments":[32371],"declarations":[{"constant":false,"id":32371,"mutability":"mutable","name":"m3","nameLocation":"192702:2:19","nodeType":"VariableDeclaration","scope":32383,"src":"192694:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32370,"name":"bytes32","nodeType":"ElementaryTypeName","src":"192694:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32372,"nodeType":"VariableDeclarationStatement","src":"192694:10:19"},{"assignments":[32374],"declarations":[{"constant":false,"id":32374,"mutability":"mutable","name":"m4","nameLocation":"192722:2:19","nodeType":"VariableDeclaration","scope":32383,"src":"192714:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32373,"name":"bytes32","nodeType":"ElementaryTypeName","src":"192714:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32375,"nodeType":"VariableDeclarationStatement","src":"192714:10:19"},{"AST":{"nativeSrc":"192786:369:19","nodeType":"YulBlock","src":"192786:369:19","statements":[{"nativeSrc":"192800:17:19","nodeType":"YulAssignment","src":"192800:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"192812:4:19","nodeType":"YulLiteral","src":"192812:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"192806:5:19","nodeType":"YulIdentifier","src":"192806:5:19"},"nativeSrc":"192806:11:19","nodeType":"YulFunctionCall","src":"192806:11:19"},"variableNames":[{"name":"m0","nativeSrc":"192800:2:19","nodeType":"YulIdentifier","src":"192800:2:19"}]},{"nativeSrc":"192830:17:19","nodeType":"YulAssignment","src":"192830:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"192842:4:19","nodeType":"YulLiteral","src":"192842:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"192836:5:19","nodeType":"YulIdentifier","src":"192836:5:19"},"nativeSrc":"192836:11:19","nodeType":"YulFunctionCall","src":"192836:11:19"},"variableNames":[{"name":"m1","nativeSrc":"192830:2:19","nodeType":"YulIdentifier","src":"192830:2:19"}]},{"nativeSrc":"192860:17:19","nodeType":"YulAssignment","src":"192860:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"192872:4:19","nodeType":"YulLiteral","src":"192872:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"192866:5:19","nodeType":"YulIdentifier","src":"192866:5:19"},"nativeSrc":"192866:11:19","nodeType":"YulFunctionCall","src":"192866:11:19"},"variableNames":[{"name":"m2","nativeSrc":"192860:2:19","nodeType":"YulIdentifier","src":"192860:2:19"}]},{"nativeSrc":"192890:17:19","nodeType":"YulAssignment","src":"192890:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"192902:4:19","nodeType":"YulLiteral","src":"192902:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"192896:5:19","nodeType":"YulIdentifier","src":"192896:5:19"},"nativeSrc":"192896:11:19","nodeType":"YulFunctionCall","src":"192896:11:19"},"variableNames":[{"name":"m3","nativeSrc":"192890:2:19","nodeType":"YulIdentifier","src":"192890:2:19"}]},{"nativeSrc":"192920:17:19","nodeType":"YulAssignment","src":"192920:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"192932:4:19","nodeType":"YulLiteral","src":"192932:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"192926:5:19","nodeType":"YulIdentifier","src":"192926:5:19"},"nativeSrc":"192926:11:19","nodeType":"YulFunctionCall","src":"192926:11:19"},"variableNames":[{"name":"m4","nativeSrc":"192920:2:19","nodeType":"YulIdentifier","src":"192920:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193012:4:19","nodeType":"YulLiteral","src":"193012:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"193018:10:19","nodeType":"YulLiteral","src":"193018:10:19","type":"","value":"0x3b2a5ce0"}],"functionName":{"name":"mstore","nativeSrc":"193005:6:19","nodeType":"YulIdentifier","src":"193005:6:19"},"nativeSrc":"193005:24:19","nodeType":"YulFunctionCall","src":"193005:24:19"},"nativeSrc":"193005:24:19","nodeType":"YulExpressionStatement","src":"193005:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193049:4:19","nodeType":"YulLiteral","src":"193049:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"193055:2:19","nodeType":"YulIdentifier","src":"193055:2:19"}],"functionName":{"name":"mstore","nativeSrc":"193042:6:19","nodeType":"YulIdentifier","src":"193042:6:19"},"nativeSrc":"193042:16:19","nodeType":"YulFunctionCall","src":"193042:16:19"},"nativeSrc":"193042:16:19","nodeType":"YulExpressionStatement","src":"193042:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193078:4:19","nodeType":"YulLiteral","src":"193078:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"193084:2:19","nodeType":"YulIdentifier","src":"193084:2:19"}],"functionName":{"name":"mstore","nativeSrc":"193071:6:19","nodeType":"YulIdentifier","src":"193071:6:19"},"nativeSrc":"193071:16:19","nodeType":"YulFunctionCall","src":"193071:16:19"},"nativeSrc":"193071:16:19","nodeType":"YulExpressionStatement","src":"193071:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193107:4:19","nodeType":"YulLiteral","src":"193107:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"193113:2:19","nodeType":"YulIdentifier","src":"193113:2:19"}],"functionName":{"name":"mstore","nativeSrc":"193100:6:19","nodeType":"YulIdentifier","src":"193100:6:19"},"nativeSrc":"193100:16:19","nodeType":"YulFunctionCall","src":"193100:16:19"},"nativeSrc":"193100:16:19","nodeType":"YulExpressionStatement","src":"193100:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193136:4:19","nodeType":"YulLiteral","src":"193136:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"193142:2:19","nodeType":"YulIdentifier","src":"193142:2:19"}],"functionName":{"name":"mstore","nativeSrc":"193129:6:19","nodeType":"YulIdentifier","src":"193129:6:19"},"nativeSrc":"193129:16:19","nodeType":"YulFunctionCall","src":"193129:16:19"},"nativeSrc":"193129:16:19","nodeType":"YulExpressionStatement","src":"193129:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32362,"isOffset":false,"isSlot":false,"src":"192800:2:19","valueSize":1},{"declaration":32365,"isOffset":false,"isSlot":false,"src":"192830:2:19","valueSize":1},{"declaration":32368,"isOffset":false,"isSlot":false,"src":"192860:2:19","valueSize":1},{"declaration":32371,"isOffset":false,"isSlot":false,"src":"192890:2:19","valueSize":1},{"declaration":32374,"isOffset":false,"isSlot":false,"src":"192920:2:19","valueSize":1},{"declaration":32352,"isOffset":false,"isSlot":false,"src":"193055:2:19","valueSize":1},{"declaration":32354,"isOffset":false,"isSlot":false,"src":"193084:2:19","valueSize":1},{"declaration":32356,"isOffset":false,"isSlot":false,"src":"193113:2:19","valueSize":1},{"declaration":32358,"isOffset":false,"isSlot":false,"src":"193142:2:19","valueSize":1}],"id":32376,"nodeType":"InlineAssembly","src":"192777:378:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"193180:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"193186:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32377,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"193164:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"193164:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32381,"nodeType":"ExpressionStatement","src":"193164:27:19"},{"AST":{"nativeSrc":"193253:156:19","nodeType":"YulBlock","src":"193253:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"193274:4:19","nodeType":"YulLiteral","src":"193274:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"193280:2:19","nodeType":"YulIdentifier","src":"193280:2:19"}],"functionName":{"name":"mstore","nativeSrc":"193267:6:19","nodeType":"YulIdentifier","src":"193267:6:19"},"nativeSrc":"193267:16:19","nodeType":"YulFunctionCall","src":"193267:16:19"},"nativeSrc":"193267:16:19","nodeType":"YulExpressionStatement","src":"193267:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193303:4:19","nodeType":"YulLiteral","src":"193303:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"193309:2:19","nodeType":"YulIdentifier","src":"193309:2:19"}],"functionName":{"name":"mstore","nativeSrc":"193296:6:19","nodeType":"YulIdentifier","src":"193296:6:19"},"nativeSrc":"193296:16:19","nodeType":"YulFunctionCall","src":"193296:16:19"},"nativeSrc":"193296:16:19","nodeType":"YulExpressionStatement","src":"193296:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193332:4:19","nodeType":"YulLiteral","src":"193332:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"193338:2:19","nodeType":"YulIdentifier","src":"193338:2:19"}],"functionName":{"name":"mstore","nativeSrc":"193325:6:19","nodeType":"YulIdentifier","src":"193325:6:19"},"nativeSrc":"193325:16:19","nodeType":"YulFunctionCall","src":"193325:16:19"},"nativeSrc":"193325:16:19","nodeType":"YulExpressionStatement","src":"193325:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193361:4:19","nodeType":"YulLiteral","src":"193361:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"193367:2:19","nodeType":"YulIdentifier","src":"193367:2:19"}],"functionName":{"name":"mstore","nativeSrc":"193354:6:19","nodeType":"YulIdentifier","src":"193354:6:19"},"nativeSrc":"193354:16:19","nodeType":"YulFunctionCall","src":"193354:16:19"},"nativeSrc":"193354:16:19","nodeType":"YulExpressionStatement","src":"193354:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193390:4:19","nodeType":"YulLiteral","src":"193390:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"193396:2:19","nodeType":"YulIdentifier","src":"193396:2:19"}],"functionName":{"name":"mstore","nativeSrc":"193383:6:19","nodeType":"YulIdentifier","src":"193383:6:19"},"nativeSrc":"193383:16:19","nodeType":"YulFunctionCall","src":"193383:16:19"},"nativeSrc":"193383:16:19","nodeType":"YulExpressionStatement","src":"193383:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32362,"isOffset":false,"isSlot":false,"src":"193280:2:19","valueSize":1},{"declaration":32365,"isOffset":false,"isSlot":false,"src":"193309:2:19","valueSize":1},{"declaration":32368,"isOffset":false,"isSlot":false,"src":"193338:2:19","valueSize":1},{"declaration":32371,"isOffset":false,"isSlot":false,"src":"193367:2:19","valueSize":1},{"declaration":32374,"isOffset":false,"isSlot":false,"src":"193396:2:19","valueSize":1}],"id":32382,"nodeType":"InlineAssembly","src":"193244:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"192570:3:19","parameters":{"id":32359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32352,"mutability":"mutable","name":"p0","nameLocation":"192579:2:19","nodeType":"VariableDeclaration","scope":32384,"src":"192574:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32351,"name":"bool","nodeType":"ElementaryTypeName","src":"192574:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32354,"mutability":"mutable","name":"p1","nameLocation":"192588:2:19","nodeType":"VariableDeclaration","scope":32384,"src":"192583:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32353,"name":"bool","nodeType":"ElementaryTypeName","src":"192583:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32356,"mutability":"mutable","name":"p2","nameLocation":"192597:2:19","nodeType":"VariableDeclaration","scope":32384,"src":"192592:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32355,"name":"bool","nodeType":"ElementaryTypeName","src":"192592:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32358,"mutability":"mutable","name":"p3","nameLocation":"192606:2:19","nodeType":"VariableDeclaration","scope":32384,"src":"192601:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32357,"name":"bool","nodeType":"ElementaryTypeName","src":"192601:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"192573:36:19"},"returnParameters":{"id":32360,"nodeType":"ParameterList","parameters":[],"src":"192624:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32418,"nodeType":"FunctionDefinition","src":"193421:860:19","nodes":[],"body":{"id":32417,"nodeType":"Block","src":"193487:794:19","nodes":[],"statements":[{"assignments":[32396],"declarations":[{"constant":false,"id":32396,"mutability":"mutable","name":"m0","nameLocation":"193505:2:19","nodeType":"VariableDeclaration","scope":32417,"src":"193497:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32395,"name":"bytes32","nodeType":"ElementaryTypeName","src":"193497:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32397,"nodeType":"VariableDeclarationStatement","src":"193497:10:19"},{"assignments":[32399],"declarations":[{"constant":false,"id":32399,"mutability":"mutable","name":"m1","nameLocation":"193525:2:19","nodeType":"VariableDeclaration","scope":32417,"src":"193517:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32398,"name":"bytes32","nodeType":"ElementaryTypeName","src":"193517:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32400,"nodeType":"VariableDeclarationStatement","src":"193517:10:19"},{"assignments":[32402],"declarations":[{"constant":false,"id":32402,"mutability":"mutable","name":"m2","nameLocation":"193545:2:19","nodeType":"VariableDeclaration","scope":32417,"src":"193537:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32401,"name":"bytes32","nodeType":"ElementaryTypeName","src":"193537:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32403,"nodeType":"VariableDeclarationStatement","src":"193537:10:19"},{"assignments":[32405],"declarations":[{"constant":false,"id":32405,"mutability":"mutable","name":"m3","nameLocation":"193565:2:19","nodeType":"VariableDeclaration","scope":32417,"src":"193557:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32404,"name":"bytes32","nodeType":"ElementaryTypeName","src":"193557:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32406,"nodeType":"VariableDeclarationStatement","src":"193557:10:19"},{"assignments":[32408],"declarations":[{"constant":false,"id":32408,"mutability":"mutable","name":"m4","nameLocation":"193585:2:19","nodeType":"VariableDeclaration","scope":32417,"src":"193577:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32407,"name":"bytes32","nodeType":"ElementaryTypeName","src":"193577:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32409,"nodeType":"VariableDeclarationStatement","src":"193577:10:19"},{"AST":{"nativeSrc":"193649:372:19","nodeType":"YulBlock","src":"193649:372:19","statements":[{"nativeSrc":"193663:17:19","nodeType":"YulAssignment","src":"193663:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"193675:4:19","nodeType":"YulLiteral","src":"193675:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"193669:5:19","nodeType":"YulIdentifier","src":"193669:5:19"},"nativeSrc":"193669:11:19","nodeType":"YulFunctionCall","src":"193669:11:19"},"variableNames":[{"name":"m0","nativeSrc":"193663:2:19","nodeType":"YulIdentifier","src":"193663:2:19"}]},{"nativeSrc":"193693:17:19","nodeType":"YulAssignment","src":"193693:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"193705:4:19","nodeType":"YulLiteral","src":"193705:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"193699:5:19","nodeType":"YulIdentifier","src":"193699:5:19"},"nativeSrc":"193699:11:19","nodeType":"YulFunctionCall","src":"193699:11:19"},"variableNames":[{"name":"m1","nativeSrc":"193693:2:19","nodeType":"YulIdentifier","src":"193693:2:19"}]},{"nativeSrc":"193723:17:19","nodeType":"YulAssignment","src":"193723:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"193735:4:19","nodeType":"YulLiteral","src":"193735:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"193729:5:19","nodeType":"YulIdentifier","src":"193729:5:19"},"nativeSrc":"193729:11:19","nodeType":"YulFunctionCall","src":"193729:11:19"},"variableNames":[{"name":"m2","nativeSrc":"193723:2:19","nodeType":"YulIdentifier","src":"193723:2:19"}]},{"nativeSrc":"193753:17:19","nodeType":"YulAssignment","src":"193753:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"193765:4:19","nodeType":"YulLiteral","src":"193765:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"193759:5:19","nodeType":"YulIdentifier","src":"193759:5:19"},"nativeSrc":"193759:11:19","nodeType":"YulFunctionCall","src":"193759:11:19"},"variableNames":[{"name":"m3","nativeSrc":"193753:2:19","nodeType":"YulIdentifier","src":"193753:2:19"}]},{"nativeSrc":"193783:17:19","nodeType":"YulAssignment","src":"193783:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"193795:4:19","nodeType":"YulLiteral","src":"193795:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"193789:5:19","nodeType":"YulIdentifier","src":"193789:5:19"},"nativeSrc":"193789:11:19","nodeType":"YulFunctionCall","src":"193789:11:19"},"variableNames":[{"name":"m4","nativeSrc":"193783:2:19","nodeType":"YulIdentifier","src":"193783:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193878:4:19","nodeType":"YulLiteral","src":"193878:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"193884:10:19","nodeType":"YulLiteral","src":"193884:10:19","type":"","value":"0x6d7045c1"}],"functionName":{"name":"mstore","nativeSrc":"193871:6:19","nodeType":"YulIdentifier","src":"193871:6:19"},"nativeSrc":"193871:24:19","nodeType":"YulFunctionCall","src":"193871:24:19"},"nativeSrc":"193871:24:19","nodeType":"YulExpressionStatement","src":"193871:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193915:4:19","nodeType":"YulLiteral","src":"193915:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"193921:2:19","nodeType":"YulIdentifier","src":"193921:2:19"}],"functionName":{"name":"mstore","nativeSrc":"193908:6:19","nodeType":"YulIdentifier","src":"193908:6:19"},"nativeSrc":"193908:16:19","nodeType":"YulFunctionCall","src":"193908:16:19"},"nativeSrc":"193908:16:19","nodeType":"YulExpressionStatement","src":"193908:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193944:4:19","nodeType":"YulLiteral","src":"193944:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"193950:2:19","nodeType":"YulIdentifier","src":"193950:2:19"}],"functionName":{"name":"mstore","nativeSrc":"193937:6:19","nodeType":"YulIdentifier","src":"193937:6:19"},"nativeSrc":"193937:16:19","nodeType":"YulFunctionCall","src":"193937:16:19"},"nativeSrc":"193937:16:19","nodeType":"YulExpressionStatement","src":"193937:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"193973:4:19","nodeType":"YulLiteral","src":"193973:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"193979:2:19","nodeType":"YulIdentifier","src":"193979:2:19"}],"functionName":{"name":"mstore","nativeSrc":"193966:6:19","nodeType":"YulIdentifier","src":"193966:6:19"},"nativeSrc":"193966:16:19","nodeType":"YulFunctionCall","src":"193966:16:19"},"nativeSrc":"193966:16:19","nodeType":"YulExpressionStatement","src":"193966:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"194002:4:19","nodeType":"YulLiteral","src":"194002:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"194008:2:19","nodeType":"YulIdentifier","src":"194008:2:19"}],"functionName":{"name":"mstore","nativeSrc":"193995:6:19","nodeType":"YulIdentifier","src":"193995:6:19"},"nativeSrc":"193995:16:19","nodeType":"YulFunctionCall","src":"193995:16:19"},"nativeSrc":"193995:16:19","nodeType":"YulExpressionStatement","src":"193995:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32396,"isOffset":false,"isSlot":false,"src":"193663:2:19","valueSize":1},{"declaration":32399,"isOffset":false,"isSlot":false,"src":"193693:2:19","valueSize":1},{"declaration":32402,"isOffset":false,"isSlot":false,"src":"193723:2:19","valueSize":1},{"declaration":32405,"isOffset":false,"isSlot":false,"src":"193753:2:19","valueSize":1},{"declaration":32408,"isOffset":false,"isSlot":false,"src":"193783:2:19","valueSize":1},{"declaration":32386,"isOffset":false,"isSlot":false,"src":"193921:2:19","valueSize":1},{"declaration":32388,"isOffset":false,"isSlot":false,"src":"193950:2:19","valueSize":1},{"declaration":32390,"isOffset":false,"isSlot":false,"src":"193979:2:19","valueSize":1},{"declaration":32392,"isOffset":false,"isSlot":false,"src":"194008:2:19","valueSize":1}],"id":32410,"nodeType":"InlineAssembly","src":"193640:381:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"194046:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"194052:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32411,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"194030:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"194030:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32415,"nodeType":"ExpressionStatement","src":"194030:27:19"},{"AST":{"nativeSrc":"194119:156:19","nodeType":"YulBlock","src":"194119:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"194140:4:19","nodeType":"YulLiteral","src":"194140:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"194146:2:19","nodeType":"YulIdentifier","src":"194146:2:19"}],"functionName":{"name":"mstore","nativeSrc":"194133:6:19","nodeType":"YulIdentifier","src":"194133:6:19"},"nativeSrc":"194133:16:19","nodeType":"YulFunctionCall","src":"194133:16:19"},"nativeSrc":"194133:16:19","nodeType":"YulExpressionStatement","src":"194133:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"194169:4:19","nodeType":"YulLiteral","src":"194169:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"194175:2:19","nodeType":"YulIdentifier","src":"194175:2:19"}],"functionName":{"name":"mstore","nativeSrc":"194162:6:19","nodeType":"YulIdentifier","src":"194162:6:19"},"nativeSrc":"194162:16:19","nodeType":"YulFunctionCall","src":"194162:16:19"},"nativeSrc":"194162:16:19","nodeType":"YulExpressionStatement","src":"194162:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"194198:4:19","nodeType":"YulLiteral","src":"194198:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"194204:2:19","nodeType":"YulIdentifier","src":"194204:2:19"}],"functionName":{"name":"mstore","nativeSrc":"194191:6:19","nodeType":"YulIdentifier","src":"194191:6:19"},"nativeSrc":"194191:16:19","nodeType":"YulFunctionCall","src":"194191:16:19"},"nativeSrc":"194191:16:19","nodeType":"YulExpressionStatement","src":"194191:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"194227:4:19","nodeType":"YulLiteral","src":"194227:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"194233:2:19","nodeType":"YulIdentifier","src":"194233:2:19"}],"functionName":{"name":"mstore","nativeSrc":"194220:6:19","nodeType":"YulIdentifier","src":"194220:6:19"},"nativeSrc":"194220:16:19","nodeType":"YulFunctionCall","src":"194220:16:19"},"nativeSrc":"194220:16:19","nodeType":"YulExpressionStatement","src":"194220:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"194256:4:19","nodeType":"YulLiteral","src":"194256:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"194262:2:19","nodeType":"YulIdentifier","src":"194262:2:19"}],"functionName":{"name":"mstore","nativeSrc":"194249:6:19","nodeType":"YulIdentifier","src":"194249:6:19"},"nativeSrc":"194249:16:19","nodeType":"YulFunctionCall","src":"194249:16:19"},"nativeSrc":"194249:16:19","nodeType":"YulExpressionStatement","src":"194249:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32396,"isOffset":false,"isSlot":false,"src":"194146:2:19","valueSize":1},{"declaration":32399,"isOffset":false,"isSlot":false,"src":"194175:2:19","valueSize":1},{"declaration":32402,"isOffset":false,"isSlot":false,"src":"194204:2:19","valueSize":1},{"declaration":32405,"isOffset":false,"isSlot":false,"src":"194233:2:19","valueSize":1},{"declaration":32408,"isOffset":false,"isSlot":false,"src":"194262:2:19","valueSize":1}],"id":32416,"nodeType":"InlineAssembly","src":"194110:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"193430:3:19","parameters":{"id":32393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32386,"mutability":"mutable","name":"p0","nameLocation":"193439:2:19","nodeType":"VariableDeclaration","scope":32418,"src":"193434:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32385,"name":"bool","nodeType":"ElementaryTypeName","src":"193434:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32388,"mutability":"mutable","name":"p1","nameLocation":"193448:2:19","nodeType":"VariableDeclaration","scope":32418,"src":"193443:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32387,"name":"bool","nodeType":"ElementaryTypeName","src":"193443:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32390,"mutability":"mutable","name":"p2","nameLocation":"193457:2:19","nodeType":"VariableDeclaration","scope":32418,"src":"193452:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32389,"name":"bool","nodeType":"ElementaryTypeName","src":"193452:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32392,"mutability":"mutable","name":"p3","nameLocation":"193469:2:19","nodeType":"VariableDeclaration","scope":32418,"src":"193461:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32391,"name":"uint256","nodeType":"ElementaryTypeName","src":"193461:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"193433:39:19"},"returnParameters":{"id":32394,"nodeType":"ParameterList","parameters":[],"src":"193487:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32458,"nodeType":"FunctionDefinition","src":"194287:1408:19","nodes":[],"body":{"id":32457,"nodeType":"Block","src":"194353:1342:19","nodes":[],"statements":[{"assignments":[32430],"declarations":[{"constant":false,"id":32430,"mutability":"mutable","name":"m0","nameLocation":"194371:2:19","nodeType":"VariableDeclaration","scope":32457,"src":"194363:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32429,"name":"bytes32","nodeType":"ElementaryTypeName","src":"194363:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32431,"nodeType":"VariableDeclarationStatement","src":"194363:10:19"},{"assignments":[32433],"declarations":[{"constant":false,"id":32433,"mutability":"mutable","name":"m1","nameLocation":"194391:2:19","nodeType":"VariableDeclaration","scope":32457,"src":"194383:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32432,"name":"bytes32","nodeType":"ElementaryTypeName","src":"194383:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32434,"nodeType":"VariableDeclarationStatement","src":"194383:10:19"},{"assignments":[32436],"declarations":[{"constant":false,"id":32436,"mutability":"mutable","name":"m2","nameLocation":"194411:2:19","nodeType":"VariableDeclaration","scope":32457,"src":"194403:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32435,"name":"bytes32","nodeType":"ElementaryTypeName","src":"194403:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32437,"nodeType":"VariableDeclarationStatement","src":"194403:10:19"},{"assignments":[32439],"declarations":[{"constant":false,"id":32439,"mutability":"mutable","name":"m3","nameLocation":"194431:2:19","nodeType":"VariableDeclaration","scope":32457,"src":"194423:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32438,"name":"bytes32","nodeType":"ElementaryTypeName","src":"194423:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32440,"nodeType":"VariableDeclarationStatement","src":"194423:10:19"},{"assignments":[32442],"declarations":[{"constant":false,"id":32442,"mutability":"mutable","name":"m4","nameLocation":"194451:2:19","nodeType":"VariableDeclaration","scope":32457,"src":"194443:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32441,"name":"bytes32","nodeType":"ElementaryTypeName","src":"194443:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32443,"nodeType":"VariableDeclarationStatement","src":"194443:10:19"},{"assignments":[32445],"declarations":[{"constant":false,"id":32445,"mutability":"mutable","name":"m5","nameLocation":"194471:2:19","nodeType":"VariableDeclaration","scope":32457,"src":"194463:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32444,"name":"bytes32","nodeType":"ElementaryTypeName","src":"194463:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32446,"nodeType":"VariableDeclarationStatement","src":"194463:10:19"},{"assignments":[32448],"declarations":[{"constant":false,"id":32448,"mutability":"mutable","name":"m6","nameLocation":"194491:2:19","nodeType":"VariableDeclaration","scope":32457,"src":"194483:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32447,"name":"bytes32","nodeType":"ElementaryTypeName","src":"194483:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32449,"nodeType":"VariableDeclarationStatement","src":"194483:10:19"},{"AST":{"nativeSrc":"194555:822:19","nodeType":"YulBlock","src":"194555:822:19","statements":[{"body":{"nativeSrc":"194598:313:19","nodeType":"YulBlock","src":"194598:313:19","statements":[{"nativeSrc":"194616:15:19","nodeType":"YulVariableDeclaration","src":"194616:15:19","value":{"kind":"number","nativeSrc":"194630:1:19","nodeType":"YulLiteral","src":"194630:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"194620:6:19","nodeType":"YulTypedName","src":"194620:6:19","type":""}]},{"body":{"nativeSrc":"194701:40:19","nodeType":"YulBlock","src":"194701:40:19","statements":[{"body":{"nativeSrc":"194730:9:19","nodeType":"YulBlock","src":"194730:9:19","statements":[{"nativeSrc":"194732:5:19","nodeType":"YulBreak","src":"194732:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"194718:6:19","nodeType":"YulIdentifier","src":"194718:6:19"},{"name":"w","nativeSrc":"194726:1:19","nodeType":"YulIdentifier","src":"194726:1:19"}],"functionName":{"name":"byte","nativeSrc":"194713:4:19","nodeType":"YulIdentifier","src":"194713:4:19"},"nativeSrc":"194713:15:19","nodeType":"YulFunctionCall","src":"194713:15:19"}],"functionName":{"name":"iszero","nativeSrc":"194706:6:19","nodeType":"YulIdentifier","src":"194706:6:19"},"nativeSrc":"194706:23:19","nodeType":"YulFunctionCall","src":"194706:23:19"},"nativeSrc":"194703:36:19","nodeType":"YulIf","src":"194703:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"194658:6:19","nodeType":"YulIdentifier","src":"194658:6:19"},{"kind":"number","nativeSrc":"194666:4:19","nodeType":"YulLiteral","src":"194666:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"194655:2:19","nodeType":"YulIdentifier","src":"194655:2:19"},"nativeSrc":"194655:16:19","nodeType":"YulFunctionCall","src":"194655:16:19"},"nativeSrc":"194648:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"194672:28:19","nodeType":"YulBlock","src":"194672:28:19","statements":[{"nativeSrc":"194674:24:19","nodeType":"YulAssignment","src":"194674:24:19","value":{"arguments":[{"name":"length","nativeSrc":"194688:6:19","nodeType":"YulIdentifier","src":"194688:6:19"},{"kind":"number","nativeSrc":"194696:1:19","nodeType":"YulLiteral","src":"194696:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"194684:3:19","nodeType":"YulIdentifier","src":"194684:3:19"},"nativeSrc":"194684:14:19","nodeType":"YulFunctionCall","src":"194684:14:19"},"variableNames":[{"name":"length","nativeSrc":"194674:6:19","nodeType":"YulIdentifier","src":"194674:6:19"}]}]},"pre":{"nativeSrc":"194652:2:19","nodeType":"YulBlock","src":"194652:2:19","statements":[]},"src":"194648:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"194765:3:19","nodeType":"YulIdentifier","src":"194765:3:19"},{"name":"length","nativeSrc":"194770:6:19","nodeType":"YulIdentifier","src":"194770:6:19"}],"functionName":{"name":"mstore","nativeSrc":"194758:6:19","nodeType":"YulIdentifier","src":"194758:6:19"},"nativeSrc":"194758:19:19","nodeType":"YulFunctionCall","src":"194758:19:19"},"nativeSrc":"194758:19:19","nodeType":"YulExpressionStatement","src":"194758:19:19"},{"nativeSrc":"194794:37:19","nodeType":"YulVariableDeclaration","src":"194794:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"194811:3:19","nodeType":"YulLiteral","src":"194811:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"194820:1:19","nodeType":"YulLiteral","src":"194820:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"194823:6:19","nodeType":"YulIdentifier","src":"194823:6:19"}],"functionName":{"name":"shl","nativeSrc":"194816:3:19","nodeType":"YulIdentifier","src":"194816:3:19"},"nativeSrc":"194816:14:19","nodeType":"YulFunctionCall","src":"194816:14:19"}],"functionName":{"name":"sub","nativeSrc":"194807:3:19","nodeType":"YulIdentifier","src":"194807:3:19"},"nativeSrc":"194807:24:19","nodeType":"YulFunctionCall","src":"194807:24:19"},"variables":[{"name":"shift","nativeSrc":"194798:5:19","nodeType":"YulTypedName","src":"194798:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"194859:3:19","nodeType":"YulIdentifier","src":"194859:3:19"},{"kind":"number","nativeSrc":"194864:4:19","nodeType":"YulLiteral","src":"194864:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"194855:3:19","nodeType":"YulIdentifier","src":"194855:3:19"},"nativeSrc":"194855:14:19","nodeType":"YulFunctionCall","src":"194855:14:19"},{"arguments":[{"name":"shift","nativeSrc":"194875:5:19","nodeType":"YulIdentifier","src":"194875:5:19"},{"arguments":[{"name":"shift","nativeSrc":"194886:5:19","nodeType":"YulIdentifier","src":"194886:5:19"},{"name":"w","nativeSrc":"194893:1:19","nodeType":"YulIdentifier","src":"194893:1:19"}],"functionName":{"name":"shr","nativeSrc":"194882:3:19","nodeType":"YulIdentifier","src":"194882:3:19"},"nativeSrc":"194882:13:19","nodeType":"YulFunctionCall","src":"194882:13:19"}],"functionName":{"name":"shl","nativeSrc":"194871:3:19","nodeType":"YulIdentifier","src":"194871:3:19"},"nativeSrc":"194871:25:19","nodeType":"YulFunctionCall","src":"194871:25:19"}],"functionName":{"name":"mstore","nativeSrc":"194848:6:19","nodeType":"YulIdentifier","src":"194848:6:19"},"nativeSrc":"194848:49:19","nodeType":"YulFunctionCall","src":"194848:49:19"},"nativeSrc":"194848:49:19","nodeType":"YulExpressionStatement","src":"194848:49:19"}]},"name":"writeString","nativeSrc":"194569:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"194590:3:19","nodeType":"YulTypedName","src":"194590:3:19","type":""},{"name":"w","nativeSrc":"194595:1:19","nodeType":"YulTypedName","src":"194595:1:19","type":""}],"src":"194569:342:19"},{"nativeSrc":"194924:17:19","nodeType":"YulAssignment","src":"194924:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"194936:4:19","nodeType":"YulLiteral","src":"194936:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"194930:5:19","nodeType":"YulIdentifier","src":"194930:5:19"},"nativeSrc":"194930:11:19","nodeType":"YulFunctionCall","src":"194930:11:19"},"variableNames":[{"name":"m0","nativeSrc":"194924:2:19","nodeType":"YulIdentifier","src":"194924:2:19"}]},{"nativeSrc":"194954:17:19","nodeType":"YulAssignment","src":"194954:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"194966:4:19","nodeType":"YulLiteral","src":"194966:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"194960:5:19","nodeType":"YulIdentifier","src":"194960:5:19"},"nativeSrc":"194960:11:19","nodeType":"YulFunctionCall","src":"194960:11:19"},"variableNames":[{"name":"m1","nativeSrc":"194954:2:19","nodeType":"YulIdentifier","src":"194954:2:19"}]},{"nativeSrc":"194984:17:19","nodeType":"YulAssignment","src":"194984:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"194996:4:19","nodeType":"YulLiteral","src":"194996:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"194990:5:19","nodeType":"YulIdentifier","src":"194990:5:19"},"nativeSrc":"194990:11:19","nodeType":"YulFunctionCall","src":"194990:11:19"},"variableNames":[{"name":"m2","nativeSrc":"194984:2:19","nodeType":"YulIdentifier","src":"194984:2:19"}]},{"nativeSrc":"195014:17:19","nodeType":"YulAssignment","src":"195014:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"195026:4:19","nodeType":"YulLiteral","src":"195026:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"195020:5:19","nodeType":"YulIdentifier","src":"195020:5:19"},"nativeSrc":"195020:11:19","nodeType":"YulFunctionCall","src":"195020:11:19"},"variableNames":[{"name":"m3","nativeSrc":"195014:2:19","nodeType":"YulIdentifier","src":"195014:2:19"}]},{"nativeSrc":"195044:17:19","nodeType":"YulAssignment","src":"195044:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"195056:4:19","nodeType":"YulLiteral","src":"195056:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"195050:5:19","nodeType":"YulIdentifier","src":"195050:5:19"},"nativeSrc":"195050:11:19","nodeType":"YulFunctionCall","src":"195050:11:19"},"variableNames":[{"name":"m4","nativeSrc":"195044:2:19","nodeType":"YulIdentifier","src":"195044:2:19"}]},{"nativeSrc":"195074:17:19","nodeType":"YulAssignment","src":"195074:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"195086:4:19","nodeType":"YulLiteral","src":"195086:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"195080:5:19","nodeType":"YulIdentifier","src":"195080:5:19"},"nativeSrc":"195080:11:19","nodeType":"YulFunctionCall","src":"195080:11:19"},"variableNames":[{"name":"m5","nativeSrc":"195074:2:19","nodeType":"YulIdentifier","src":"195074:2:19"}]},{"nativeSrc":"195104:17:19","nodeType":"YulAssignment","src":"195104:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"195116:4:19","nodeType":"YulLiteral","src":"195116:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"195110:5:19","nodeType":"YulIdentifier","src":"195110:5:19"},"nativeSrc":"195110:11:19","nodeType":"YulFunctionCall","src":"195110:11:19"},"variableNames":[{"name":"m6","nativeSrc":"195104:2:19","nodeType":"YulIdentifier","src":"195104:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195198:4:19","nodeType":"YulLiteral","src":"195198:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"195204:10:19","nodeType":"YulLiteral","src":"195204:10:19","type":"","value":"0x2ae408d4"}],"functionName":{"name":"mstore","nativeSrc":"195191:6:19","nodeType":"YulIdentifier","src":"195191:6:19"},"nativeSrc":"195191:24:19","nodeType":"YulFunctionCall","src":"195191:24:19"},"nativeSrc":"195191:24:19","nodeType":"YulExpressionStatement","src":"195191:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195235:4:19","nodeType":"YulLiteral","src":"195235:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"195241:2:19","nodeType":"YulIdentifier","src":"195241:2:19"}],"functionName":{"name":"mstore","nativeSrc":"195228:6:19","nodeType":"YulIdentifier","src":"195228:6:19"},"nativeSrc":"195228:16:19","nodeType":"YulFunctionCall","src":"195228:16:19"},"nativeSrc":"195228:16:19","nodeType":"YulExpressionStatement","src":"195228:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195264:4:19","nodeType":"YulLiteral","src":"195264:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"195270:2:19","nodeType":"YulIdentifier","src":"195270:2:19"}],"functionName":{"name":"mstore","nativeSrc":"195257:6:19","nodeType":"YulIdentifier","src":"195257:6:19"},"nativeSrc":"195257:16:19","nodeType":"YulFunctionCall","src":"195257:16:19"},"nativeSrc":"195257:16:19","nodeType":"YulExpressionStatement","src":"195257:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195293:4:19","nodeType":"YulLiteral","src":"195293:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"195299:2:19","nodeType":"YulIdentifier","src":"195299:2:19"}],"functionName":{"name":"mstore","nativeSrc":"195286:6:19","nodeType":"YulIdentifier","src":"195286:6:19"},"nativeSrc":"195286:16:19","nodeType":"YulFunctionCall","src":"195286:16:19"},"nativeSrc":"195286:16:19","nodeType":"YulExpressionStatement","src":"195286:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195322:4:19","nodeType":"YulLiteral","src":"195322:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"195328:4:19","nodeType":"YulLiteral","src":"195328:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"195315:6:19","nodeType":"YulIdentifier","src":"195315:6:19"},"nativeSrc":"195315:18:19","nodeType":"YulFunctionCall","src":"195315:18:19"},"nativeSrc":"195315:18:19","nodeType":"YulExpressionStatement","src":"195315:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195358:4:19","nodeType":"YulLiteral","src":"195358:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"195364:2:19","nodeType":"YulIdentifier","src":"195364:2:19"}],"functionName":{"name":"writeString","nativeSrc":"195346:11:19","nodeType":"YulIdentifier","src":"195346:11:19"},"nativeSrc":"195346:21:19","nodeType":"YulFunctionCall","src":"195346:21:19"},"nativeSrc":"195346:21:19","nodeType":"YulExpressionStatement","src":"195346:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32430,"isOffset":false,"isSlot":false,"src":"194924:2:19","valueSize":1},{"declaration":32433,"isOffset":false,"isSlot":false,"src":"194954:2:19","valueSize":1},{"declaration":32436,"isOffset":false,"isSlot":false,"src":"194984:2:19","valueSize":1},{"declaration":32439,"isOffset":false,"isSlot":false,"src":"195014:2:19","valueSize":1},{"declaration":32442,"isOffset":false,"isSlot":false,"src":"195044:2:19","valueSize":1},{"declaration":32445,"isOffset":false,"isSlot":false,"src":"195074:2:19","valueSize":1},{"declaration":32448,"isOffset":false,"isSlot":false,"src":"195104:2:19","valueSize":1},{"declaration":32420,"isOffset":false,"isSlot":false,"src":"195241:2:19","valueSize":1},{"declaration":32422,"isOffset":false,"isSlot":false,"src":"195270:2:19","valueSize":1},{"declaration":32424,"isOffset":false,"isSlot":false,"src":"195299:2:19","valueSize":1},{"declaration":32426,"isOffset":false,"isSlot":false,"src":"195364:2:19","valueSize":1}],"id":32450,"nodeType":"InlineAssembly","src":"194546:831:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"195402:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":32453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"195408:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":32451,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"195386:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"195386:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32455,"nodeType":"ExpressionStatement","src":"195386:27:19"},{"AST":{"nativeSrc":"195475:214:19","nodeType":"YulBlock","src":"195475:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"195496:4:19","nodeType":"YulLiteral","src":"195496:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"195502:2:19","nodeType":"YulIdentifier","src":"195502:2:19"}],"functionName":{"name":"mstore","nativeSrc":"195489:6:19","nodeType":"YulIdentifier","src":"195489:6:19"},"nativeSrc":"195489:16:19","nodeType":"YulFunctionCall","src":"195489:16:19"},"nativeSrc":"195489:16:19","nodeType":"YulExpressionStatement","src":"195489:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195525:4:19","nodeType":"YulLiteral","src":"195525:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"195531:2:19","nodeType":"YulIdentifier","src":"195531:2:19"}],"functionName":{"name":"mstore","nativeSrc":"195518:6:19","nodeType":"YulIdentifier","src":"195518:6:19"},"nativeSrc":"195518:16:19","nodeType":"YulFunctionCall","src":"195518:16:19"},"nativeSrc":"195518:16:19","nodeType":"YulExpressionStatement","src":"195518:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195554:4:19","nodeType":"YulLiteral","src":"195554:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"195560:2:19","nodeType":"YulIdentifier","src":"195560:2:19"}],"functionName":{"name":"mstore","nativeSrc":"195547:6:19","nodeType":"YulIdentifier","src":"195547:6:19"},"nativeSrc":"195547:16:19","nodeType":"YulFunctionCall","src":"195547:16:19"},"nativeSrc":"195547:16:19","nodeType":"YulExpressionStatement","src":"195547:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195583:4:19","nodeType":"YulLiteral","src":"195583:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"195589:2:19","nodeType":"YulIdentifier","src":"195589:2:19"}],"functionName":{"name":"mstore","nativeSrc":"195576:6:19","nodeType":"YulIdentifier","src":"195576:6:19"},"nativeSrc":"195576:16:19","nodeType":"YulFunctionCall","src":"195576:16:19"},"nativeSrc":"195576:16:19","nodeType":"YulExpressionStatement","src":"195576:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195612:4:19","nodeType":"YulLiteral","src":"195612:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"195618:2:19","nodeType":"YulIdentifier","src":"195618:2:19"}],"functionName":{"name":"mstore","nativeSrc":"195605:6:19","nodeType":"YulIdentifier","src":"195605:6:19"},"nativeSrc":"195605:16:19","nodeType":"YulFunctionCall","src":"195605:16:19"},"nativeSrc":"195605:16:19","nodeType":"YulExpressionStatement","src":"195605:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195641:4:19","nodeType":"YulLiteral","src":"195641:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"195647:2:19","nodeType":"YulIdentifier","src":"195647:2:19"}],"functionName":{"name":"mstore","nativeSrc":"195634:6:19","nodeType":"YulIdentifier","src":"195634:6:19"},"nativeSrc":"195634:16:19","nodeType":"YulFunctionCall","src":"195634:16:19"},"nativeSrc":"195634:16:19","nodeType":"YulExpressionStatement","src":"195634:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"195670:4:19","nodeType":"YulLiteral","src":"195670:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"195676:2:19","nodeType":"YulIdentifier","src":"195676:2:19"}],"functionName":{"name":"mstore","nativeSrc":"195663:6:19","nodeType":"YulIdentifier","src":"195663:6:19"},"nativeSrc":"195663:16:19","nodeType":"YulFunctionCall","src":"195663:16:19"},"nativeSrc":"195663:16:19","nodeType":"YulExpressionStatement","src":"195663:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32430,"isOffset":false,"isSlot":false,"src":"195502:2:19","valueSize":1},{"declaration":32433,"isOffset":false,"isSlot":false,"src":"195531:2:19","valueSize":1},{"declaration":32436,"isOffset":false,"isSlot":false,"src":"195560:2:19","valueSize":1},{"declaration":32439,"isOffset":false,"isSlot":false,"src":"195589:2:19","valueSize":1},{"declaration":32442,"isOffset":false,"isSlot":false,"src":"195618:2:19","valueSize":1},{"declaration":32445,"isOffset":false,"isSlot":false,"src":"195647:2:19","valueSize":1},{"declaration":32448,"isOffset":false,"isSlot":false,"src":"195676:2:19","valueSize":1}],"id":32456,"nodeType":"InlineAssembly","src":"195466:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"194296:3:19","parameters":{"id":32427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32420,"mutability":"mutable","name":"p0","nameLocation":"194305:2:19","nodeType":"VariableDeclaration","scope":32458,"src":"194300:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32419,"name":"bool","nodeType":"ElementaryTypeName","src":"194300:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32422,"mutability":"mutable","name":"p1","nameLocation":"194314:2:19","nodeType":"VariableDeclaration","scope":32458,"src":"194309:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32421,"name":"bool","nodeType":"ElementaryTypeName","src":"194309:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32424,"mutability":"mutable","name":"p2","nameLocation":"194323:2:19","nodeType":"VariableDeclaration","scope":32458,"src":"194318:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32423,"name":"bool","nodeType":"ElementaryTypeName","src":"194318:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32426,"mutability":"mutable","name":"p3","nameLocation":"194335:2:19","nodeType":"VariableDeclaration","scope":32458,"src":"194327:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32425,"name":"bytes32","nodeType":"ElementaryTypeName","src":"194327:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"194299:39:19"},"returnParameters":{"id":32428,"nodeType":"ParameterList","parameters":[],"src":"194353:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32492,"nodeType":"FunctionDefinition","src":"195701:866:19","nodes":[],"body":{"id":32491,"nodeType":"Block","src":"195770:797:19","nodes":[],"statements":[{"assignments":[32470],"declarations":[{"constant":false,"id":32470,"mutability":"mutable","name":"m0","nameLocation":"195788:2:19","nodeType":"VariableDeclaration","scope":32491,"src":"195780:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32469,"name":"bytes32","nodeType":"ElementaryTypeName","src":"195780:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32471,"nodeType":"VariableDeclarationStatement","src":"195780:10:19"},{"assignments":[32473],"declarations":[{"constant":false,"id":32473,"mutability":"mutable","name":"m1","nameLocation":"195808:2:19","nodeType":"VariableDeclaration","scope":32491,"src":"195800:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32472,"name":"bytes32","nodeType":"ElementaryTypeName","src":"195800:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32474,"nodeType":"VariableDeclarationStatement","src":"195800:10:19"},{"assignments":[32476],"declarations":[{"constant":false,"id":32476,"mutability":"mutable","name":"m2","nameLocation":"195828:2:19","nodeType":"VariableDeclaration","scope":32491,"src":"195820:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32475,"name":"bytes32","nodeType":"ElementaryTypeName","src":"195820:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32477,"nodeType":"VariableDeclarationStatement","src":"195820:10:19"},{"assignments":[32479],"declarations":[{"constant":false,"id":32479,"mutability":"mutable","name":"m3","nameLocation":"195848:2:19","nodeType":"VariableDeclaration","scope":32491,"src":"195840:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32478,"name":"bytes32","nodeType":"ElementaryTypeName","src":"195840:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32480,"nodeType":"VariableDeclarationStatement","src":"195840:10:19"},{"assignments":[32482],"declarations":[{"constant":false,"id":32482,"mutability":"mutable","name":"m4","nameLocation":"195868:2:19","nodeType":"VariableDeclaration","scope":32491,"src":"195860:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32481,"name":"bytes32","nodeType":"ElementaryTypeName","src":"195860:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32483,"nodeType":"VariableDeclarationStatement","src":"195860:10:19"},{"AST":{"nativeSrc":"195932:375:19","nodeType":"YulBlock","src":"195932:375:19","statements":[{"nativeSrc":"195946:17:19","nodeType":"YulAssignment","src":"195946:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"195958:4:19","nodeType":"YulLiteral","src":"195958:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"195952:5:19","nodeType":"YulIdentifier","src":"195952:5:19"},"nativeSrc":"195952:11:19","nodeType":"YulFunctionCall","src":"195952:11:19"},"variableNames":[{"name":"m0","nativeSrc":"195946:2:19","nodeType":"YulIdentifier","src":"195946:2:19"}]},{"nativeSrc":"195976:17:19","nodeType":"YulAssignment","src":"195976:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"195988:4:19","nodeType":"YulLiteral","src":"195988:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"195982:5:19","nodeType":"YulIdentifier","src":"195982:5:19"},"nativeSrc":"195982:11:19","nodeType":"YulFunctionCall","src":"195982:11:19"},"variableNames":[{"name":"m1","nativeSrc":"195976:2:19","nodeType":"YulIdentifier","src":"195976:2:19"}]},{"nativeSrc":"196006:17:19","nodeType":"YulAssignment","src":"196006:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"196018:4:19","nodeType":"YulLiteral","src":"196018:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"196012:5:19","nodeType":"YulIdentifier","src":"196012:5:19"},"nativeSrc":"196012:11:19","nodeType":"YulFunctionCall","src":"196012:11:19"},"variableNames":[{"name":"m2","nativeSrc":"196006:2:19","nodeType":"YulIdentifier","src":"196006:2:19"}]},{"nativeSrc":"196036:17:19","nodeType":"YulAssignment","src":"196036:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"196048:4:19","nodeType":"YulLiteral","src":"196048:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"196042:5:19","nodeType":"YulIdentifier","src":"196042:5:19"},"nativeSrc":"196042:11:19","nodeType":"YulFunctionCall","src":"196042:11:19"},"variableNames":[{"name":"m3","nativeSrc":"196036:2:19","nodeType":"YulIdentifier","src":"196036:2:19"}]},{"nativeSrc":"196066:17:19","nodeType":"YulAssignment","src":"196066:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"196078:4:19","nodeType":"YulLiteral","src":"196078:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"196072:5:19","nodeType":"YulIdentifier","src":"196072:5:19"},"nativeSrc":"196072:11:19","nodeType":"YulFunctionCall","src":"196072:11:19"},"variableNames":[{"name":"m4","nativeSrc":"196066:2:19","nodeType":"YulIdentifier","src":"196066:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196164:4:19","nodeType":"YulLiteral","src":"196164:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"196170:10:19","nodeType":"YulLiteral","src":"196170:10:19","type":"","value":"0x54a7a9a0"}],"functionName":{"name":"mstore","nativeSrc":"196157:6:19","nodeType":"YulIdentifier","src":"196157:6:19"},"nativeSrc":"196157:24:19","nodeType":"YulFunctionCall","src":"196157:24:19"},"nativeSrc":"196157:24:19","nodeType":"YulExpressionStatement","src":"196157:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196201:4:19","nodeType":"YulLiteral","src":"196201:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"196207:2:19","nodeType":"YulIdentifier","src":"196207:2:19"}],"functionName":{"name":"mstore","nativeSrc":"196194:6:19","nodeType":"YulIdentifier","src":"196194:6:19"},"nativeSrc":"196194:16:19","nodeType":"YulFunctionCall","src":"196194:16:19"},"nativeSrc":"196194:16:19","nodeType":"YulExpressionStatement","src":"196194:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196230:4:19","nodeType":"YulLiteral","src":"196230:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"196236:2:19","nodeType":"YulIdentifier","src":"196236:2:19"}],"functionName":{"name":"mstore","nativeSrc":"196223:6:19","nodeType":"YulIdentifier","src":"196223:6:19"},"nativeSrc":"196223:16:19","nodeType":"YulFunctionCall","src":"196223:16:19"},"nativeSrc":"196223:16:19","nodeType":"YulExpressionStatement","src":"196223:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196259:4:19","nodeType":"YulLiteral","src":"196259:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"196265:2:19","nodeType":"YulIdentifier","src":"196265:2:19"}],"functionName":{"name":"mstore","nativeSrc":"196252:6:19","nodeType":"YulIdentifier","src":"196252:6:19"},"nativeSrc":"196252:16:19","nodeType":"YulFunctionCall","src":"196252:16:19"},"nativeSrc":"196252:16:19","nodeType":"YulExpressionStatement","src":"196252:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196288:4:19","nodeType":"YulLiteral","src":"196288:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"196294:2:19","nodeType":"YulIdentifier","src":"196294:2:19"}],"functionName":{"name":"mstore","nativeSrc":"196281:6:19","nodeType":"YulIdentifier","src":"196281:6:19"},"nativeSrc":"196281:16:19","nodeType":"YulFunctionCall","src":"196281:16:19"},"nativeSrc":"196281:16:19","nodeType":"YulExpressionStatement","src":"196281:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32470,"isOffset":false,"isSlot":false,"src":"195946:2:19","valueSize":1},{"declaration":32473,"isOffset":false,"isSlot":false,"src":"195976:2:19","valueSize":1},{"declaration":32476,"isOffset":false,"isSlot":false,"src":"196006:2:19","valueSize":1},{"declaration":32479,"isOffset":false,"isSlot":false,"src":"196036:2:19","valueSize":1},{"declaration":32482,"isOffset":false,"isSlot":false,"src":"196066:2:19","valueSize":1},{"declaration":32460,"isOffset":false,"isSlot":false,"src":"196207:2:19","valueSize":1},{"declaration":32462,"isOffset":false,"isSlot":false,"src":"196236:2:19","valueSize":1},{"declaration":32464,"isOffset":false,"isSlot":false,"src":"196265:2:19","valueSize":1},{"declaration":32466,"isOffset":false,"isSlot":false,"src":"196294:2:19","valueSize":1}],"id":32484,"nodeType":"InlineAssembly","src":"195923:384:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"196332:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"196338:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32485,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"196316:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"196316:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32489,"nodeType":"ExpressionStatement","src":"196316:27:19"},{"AST":{"nativeSrc":"196405:156:19","nodeType":"YulBlock","src":"196405:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"196426:4:19","nodeType":"YulLiteral","src":"196426:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"196432:2:19","nodeType":"YulIdentifier","src":"196432:2:19"}],"functionName":{"name":"mstore","nativeSrc":"196419:6:19","nodeType":"YulIdentifier","src":"196419:6:19"},"nativeSrc":"196419:16:19","nodeType":"YulFunctionCall","src":"196419:16:19"},"nativeSrc":"196419:16:19","nodeType":"YulExpressionStatement","src":"196419:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196455:4:19","nodeType":"YulLiteral","src":"196455:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"196461:2:19","nodeType":"YulIdentifier","src":"196461:2:19"}],"functionName":{"name":"mstore","nativeSrc":"196448:6:19","nodeType":"YulIdentifier","src":"196448:6:19"},"nativeSrc":"196448:16:19","nodeType":"YulFunctionCall","src":"196448:16:19"},"nativeSrc":"196448:16:19","nodeType":"YulExpressionStatement","src":"196448:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196484:4:19","nodeType":"YulLiteral","src":"196484:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"196490:2:19","nodeType":"YulIdentifier","src":"196490:2:19"}],"functionName":{"name":"mstore","nativeSrc":"196477:6:19","nodeType":"YulIdentifier","src":"196477:6:19"},"nativeSrc":"196477:16:19","nodeType":"YulFunctionCall","src":"196477:16:19"},"nativeSrc":"196477:16:19","nodeType":"YulExpressionStatement","src":"196477:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196513:4:19","nodeType":"YulLiteral","src":"196513:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"196519:2:19","nodeType":"YulIdentifier","src":"196519:2:19"}],"functionName":{"name":"mstore","nativeSrc":"196506:6:19","nodeType":"YulIdentifier","src":"196506:6:19"},"nativeSrc":"196506:16:19","nodeType":"YulFunctionCall","src":"196506:16:19"},"nativeSrc":"196506:16:19","nodeType":"YulExpressionStatement","src":"196506:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"196542:4:19","nodeType":"YulLiteral","src":"196542:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"196548:2:19","nodeType":"YulIdentifier","src":"196548:2:19"}],"functionName":{"name":"mstore","nativeSrc":"196535:6:19","nodeType":"YulIdentifier","src":"196535:6:19"},"nativeSrc":"196535:16:19","nodeType":"YulFunctionCall","src":"196535:16:19"},"nativeSrc":"196535:16:19","nodeType":"YulExpressionStatement","src":"196535:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32470,"isOffset":false,"isSlot":false,"src":"196432:2:19","valueSize":1},{"declaration":32473,"isOffset":false,"isSlot":false,"src":"196461:2:19","valueSize":1},{"declaration":32476,"isOffset":false,"isSlot":false,"src":"196490:2:19","valueSize":1},{"declaration":32479,"isOffset":false,"isSlot":false,"src":"196519:2:19","valueSize":1},{"declaration":32482,"isOffset":false,"isSlot":false,"src":"196548:2:19","valueSize":1}],"id":32490,"nodeType":"InlineAssembly","src":"196396:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"195710:3:19","parameters":{"id":32467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32460,"mutability":"mutable","name":"p0","nameLocation":"195719:2:19","nodeType":"VariableDeclaration","scope":32492,"src":"195714:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32459,"name":"bool","nodeType":"ElementaryTypeName","src":"195714:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32462,"mutability":"mutable","name":"p1","nameLocation":"195728:2:19","nodeType":"VariableDeclaration","scope":32492,"src":"195723:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32461,"name":"bool","nodeType":"ElementaryTypeName","src":"195723:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32464,"mutability":"mutable","name":"p2","nameLocation":"195740:2:19","nodeType":"VariableDeclaration","scope":32492,"src":"195732:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32463,"name":"uint256","nodeType":"ElementaryTypeName","src":"195732:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32466,"mutability":"mutable","name":"p3","nameLocation":"195752:2:19","nodeType":"VariableDeclaration","scope":32492,"src":"195744:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32465,"name":"address","nodeType":"ElementaryTypeName","src":"195744:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"195713:42:19"},"returnParameters":{"id":32468,"nodeType":"ParameterList","parameters":[],"src":"195770:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32526,"nodeType":"FunctionDefinition","src":"196573:860:19","nodes":[],"body":{"id":32525,"nodeType":"Block","src":"196639:794:19","nodes":[],"statements":[{"assignments":[32504],"declarations":[{"constant":false,"id":32504,"mutability":"mutable","name":"m0","nameLocation":"196657:2:19","nodeType":"VariableDeclaration","scope":32525,"src":"196649:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32503,"name":"bytes32","nodeType":"ElementaryTypeName","src":"196649:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32505,"nodeType":"VariableDeclarationStatement","src":"196649:10:19"},{"assignments":[32507],"declarations":[{"constant":false,"id":32507,"mutability":"mutable","name":"m1","nameLocation":"196677:2:19","nodeType":"VariableDeclaration","scope":32525,"src":"196669:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32506,"name":"bytes32","nodeType":"ElementaryTypeName","src":"196669:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32508,"nodeType":"VariableDeclarationStatement","src":"196669:10:19"},{"assignments":[32510],"declarations":[{"constant":false,"id":32510,"mutability":"mutable","name":"m2","nameLocation":"196697:2:19","nodeType":"VariableDeclaration","scope":32525,"src":"196689:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32509,"name":"bytes32","nodeType":"ElementaryTypeName","src":"196689:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32511,"nodeType":"VariableDeclarationStatement","src":"196689:10:19"},{"assignments":[32513],"declarations":[{"constant":false,"id":32513,"mutability":"mutable","name":"m3","nameLocation":"196717:2:19","nodeType":"VariableDeclaration","scope":32525,"src":"196709:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32512,"name":"bytes32","nodeType":"ElementaryTypeName","src":"196709:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32514,"nodeType":"VariableDeclarationStatement","src":"196709:10:19"},{"assignments":[32516],"declarations":[{"constant":false,"id":32516,"mutability":"mutable","name":"m4","nameLocation":"196737:2:19","nodeType":"VariableDeclaration","scope":32525,"src":"196729:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32515,"name":"bytes32","nodeType":"ElementaryTypeName","src":"196729:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32517,"nodeType":"VariableDeclarationStatement","src":"196729:10:19"},{"AST":{"nativeSrc":"196801:372:19","nodeType":"YulBlock","src":"196801:372:19","statements":[{"nativeSrc":"196815:17:19","nodeType":"YulAssignment","src":"196815:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"196827:4:19","nodeType":"YulLiteral","src":"196827:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"196821:5:19","nodeType":"YulIdentifier","src":"196821:5:19"},"nativeSrc":"196821:11:19","nodeType":"YulFunctionCall","src":"196821:11:19"},"variableNames":[{"name":"m0","nativeSrc":"196815:2:19","nodeType":"YulIdentifier","src":"196815:2:19"}]},{"nativeSrc":"196845:17:19","nodeType":"YulAssignment","src":"196845:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"196857:4:19","nodeType":"YulLiteral","src":"196857:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"196851:5:19","nodeType":"YulIdentifier","src":"196851:5:19"},"nativeSrc":"196851:11:19","nodeType":"YulFunctionCall","src":"196851:11:19"},"variableNames":[{"name":"m1","nativeSrc":"196845:2:19","nodeType":"YulIdentifier","src":"196845:2:19"}]},{"nativeSrc":"196875:17:19","nodeType":"YulAssignment","src":"196875:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"196887:4:19","nodeType":"YulLiteral","src":"196887:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"196881:5:19","nodeType":"YulIdentifier","src":"196881:5:19"},"nativeSrc":"196881:11:19","nodeType":"YulFunctionCall","src":"196881:11:19"},"variableNames":[{"name":"m2","nativeSrc":"196875:2:19","nodeType":"YulIdentifier","src":"196875:2:19"}]},{"nativeSrc":"196905:17:19","nodeType":"YulAssignment","src":"196905:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"196917:4:19","nodeType":"YulLiteral","src":"196917:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"196911:5:19","nodeType":"YulIdentifier","src":"196911:5:19"},"nativeSrc":"196911:11:19","nodeType":"YulFunctionCall","src":"196911:11:19"},"variableNames":[{"name":"m3","nativeSrc":"196905:2:19","nodeType":"YulIdentifier","src":"196905:2:19"}]},{"nativeSrc":"196935:17:19","nodeType":"YulAssignment","src":"196935:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"196947:4:19","nodeType":"YulLiteral","src":"196947:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"196941:5:19","nodeType":"YulIdentifier","src":"196941:5:19"},"nativeSrc":"196941:11:19","nodeType":"YulFunctionCall","src":"196941:11:19"},"variableNames":[{"name":"m4","nativeSrc":"196935:2:19","nodeType":"YulIdentifier","src":"196935:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197030:4:19","nodeType":"YulLiteral","src":"197030:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"197036:10:19","nodeType":"YulLiteral","src":"197036:10:19","type":"","value":"0x619e4d0e"}],"functionName":{"name":"mstore","nativeSrc":"197023:6:19","nodeType":"YulIdentifier","src":"197023:6:19"},"nativeSrc":"197023:24:19","nodeType":"YulFunctionCall","src":"197023:24:19"},"nativeSrc":"197023:24:19","nodeType":"YulExpressionStatement","src":"197023:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197067:4:19","nodeType":"YulLiteral","src":"197067:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"197073:2:19","nodeType":"YulIdentifier","src":"197073:2:19"}],"functionName":{"name":"mstore","nativeSrc":"197060:6:19","nodeType":"YulIdentifier","src":"197060:6:19"},"nativeSrc":"197060:16:19","nodeType":"YulFunctionCall","src":"197060:16:19"},"nativeSrc":"197060:16:19","nodeType":"YulExpressionStatement","src":"197060:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197096:4:19","nodeType":"YulLiteral","src":"197096:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"197102:2:19","nodeType":"YulIdentifier","src":"197102:2:19"}],"functionName":{"name":"mstore","nativeSrc":"197089:6:19","nodeType":"YulIdentifier","src":"197089:6:19"},"nativeSrc":"197089:16:19","nodeType":"YulFunctionCall","src":"197089:16:19"},"nativeSrc":"197089:16:19","nodeType":"YulExpressionStatement","src":"197089:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197125:4:19","nodeType":"YulLiteral","src":"197125:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"197131:2:19","nodeType":"YulIdentifier","src":"197131:2:19"}],"functionName":{"name":"mstore","nativeSrc":"197118:6:19","nodeType":"YulIdentifier","src":"197118:6:19"},"nativeSrc":"197118:16:19","nodeType":"YulFunctionCall","src":"197118:16:19"},"nativeSrc":"197118:16:19","nodeType":"YulExpressionStatement","src":"197118:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197154:4:19","nodeType":"YulLiteral","src":"197154:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"197160:2:19","nodeType":"YulIdentifier","src":"197160:2:19"}],"functionName":{"name":"mstore","nativeSrc":"197147:6:19","nodeType":"YulIdentifier","src":"197147:6:19"},"nativeSrc":"197147:16:19","nodeType":"YulFunctionCall","src":"197147:16:19"},"nativeSrc":"197147:16:19","nodeType":"YulExpressionStatement","src":"197147:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32504,"isOffset":false,"isSlot":false,"src":"196815:2:19","valueSize":1},{"declaration":32507,"isOffset":false,"isSlot":false,"src":"196845:2:19","valueSize":1},{"declaration":32510,"isOffset":false,"isSlot":false,"src":"196875:2:19","valueSize":1},{"declaration":32513,"isOffset":false,"isSlot":false,"src":"196905:2:19","valueSize":1},{"declaration":32516,"isOffset":false,"isSlot":false,"src":"196935:2:19","valueSize":1},{"declaration":32494,"isOffset":false,"isSlot":false,"src":"197073:2:19","valueSize":1},{"declaration":32496,"isOffset":false,"isSlot":false,"src":"197102:2:19","valueSize":1},{"declaration":32498,"isOffset":false,"isSlot":false,"src":"197131:2:19","valueSize":1},{"declaration":32500,"isOffset":false,"isSlot":false,"src":"197160:2:19","valueSize":1}],"id":32518,"nodeType":"InlineAssembly","src":"196792:381:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"197198:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32521,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"197204:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32519,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"197182:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"197182:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32523,"nodeType":"ExpressionStatement","src":"197182:27:19"},{"AST":{"nativeSrc":"197271:156:19","nodeType":"YulBlock","src":"197271:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"197292:4:19","nodeType":"YulLiteral","src":"197292:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"197298:2:19","nodeType":"YulIdentifier","src":"197298:2:19"}],"functionName":{"name":"mstore","nativeSrc":"197285:6:19","nodeType":"YulIdentifier","src":"197285:6:19"},"nativeSrc":"197285:16:19","nodeType":"YulFunctionCall","src":"197285:16:19"},"nativeSrc":"197285:16:19","nodeType":"YulExpressionStatement","src":"197285:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197321:4:19","nodeType":"YulLiteral","src":"197321:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"197327:2:19","nodeType":"YulIdentifier","src":"197327:2:19"}],"functionName":{"name":"mstore","nativeSrc":"197314:6:19","nodeType":"YulIdentifier","src":"197314:6:19"},"nativeSrc":"197314:16:19","nodeType":"YulFunctionCall","src":"197314:16:19"},"nativeSrc":"197314:16:19","nodeType":"YulExpressionStatement","src":"197314:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197350:4:19","nodeType":"YulLiteral","src":"197350:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"197356:2:19","nodeType":"YulIdentifier","src":"197356:2:19"}],"functionName":{"name":"mstore","nativeSrc":"197343:6:19","nodeType":"YulIdentifier","src":"197343:6:19"},"nativeSrc":"197343:16:19","nodeType":"YulFunctionCall","src":"197343:16:19"},"nativeSrc":"197343:16:19","nodeType":"YulExpressionStatement","src":"197343:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197379:4:19","nodeType":"YulLiteral","src":"197379:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"197385:2:19","nodeType":"YulIdentifier","src":"197385:2:19"}],"functionName":{"name":"mstore","nativeSrc":"197372:6:19","nodeType":"YulIdentifier","src":"197372:6:19"},"nativeSrc":"197372:16:19","nodeType":"YulFunctionCall","src":"197372:16:19"},"nativeSrc":"197372:16:19","nodeType":"YulExpressionStatement","src":"197372:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197408:4:19","nodeType":"YulLiteral","src":"197408:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"197414:2:19","nodeType":"YulIdentifier","src":"197414:2:19"}],"functionName":{"name":"mstore","nativeSrc":"197401:6:19","nodeType":"YulIdentifier","src":"197401:6:19"},"nativeSrc":"197401:16:19","nodeType":"YulFunctionCall","src":"197401:16:19"},"nativeSrc":"197401:16:19","nodeType":"YulExpressionStatement","src":"197401:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32504,"isOffset":false,"isSlot":false,"src":"197298:2:19","valueSize":1},{"declaration":32507,"isOffset":false,"isSlot":false,"src":"197327:2:19","valueSize":1},{"declaration":32510,"isOffset":false,"isSlot":false,"src":"197356:2:19","valueSize":1},{"declaration":32513,"isOffset":false,"isSlot":false,"src":"197385:2:19","valueSize":1},{"declaration":32516,"isOffset":false,"isSlot":false,"src":"197414:2:19","valueSize":1}],"id":32524,"nodeType":"InlineAssembly","src":"197262:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"196582:3:19","parameters":{"id":32501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32494,"mutability":"mutable","name":"p0","nameLocation":"196591:2:19","nodeType":"VariableDeclaration","scope":32526,"src":"196586:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32493,"name":"bool","nodeType":"ElementaryTypeName","src":"196586:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32496,"mutability":"mutable","name":"p1","nameLocation":"196600:2:19","nodeType":"VariableDeclaration","scope":32526,"src":"196595:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32495,"name":"bool","nodeType":"ElementaryTypeName","src":"196595:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32498,"mutability":"mutable","name":"p2","nameLocation":"196612:2:19","nodeType":"VariableDeclaration","scope":32526,"src":"196604:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32497,"name":"uint256","nodeType":"ElementaryTypeName","src":"196604:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32500,"mutability":"mutable","name":"p3","nameLocation":"196621:2:19","nodeType":"VariableDeclaration","scope":32526,"src":"196616:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32499,"name":"bool","nodeType":"ElementaryTypeName","src":"196616:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"196585:39:19"},"returnParameters":{"id":32502,"nodeType":"ParameterList","parameters":[],"src":"196639:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32560,"nodeType":"FunctionDefinition","src":"197439:866:19","nodes":[],"body":{"id":32559,"nodeType":"Block","src":"197508:797:19","nodes":[],"statements":[{"assignments":[32538],"declarations":[{"constant":false,"id":32538,"mutability":"mutable","name":"m0","nameLocation":"197526:2:19","nodeType":"VariableDeclaration","scope":32559,"src":"197518:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32537,"name":"bytes32","nodeType":"ElementaryTypeName","src":"197518:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32539,"nodeType":"VariableDeclarationStatement","src":"197518:10:19"},{"assignments":[32541],"declarations":[{"constant":false,"id":32541,"mutability":"mutable","name":"m1","nameLocation":"197546:2:19","nodeType":"VariableDeclaration","scope":32559,"src":"197538:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32540,"name":"bytes32","nodeType":"ElementaryTypeName","src":"197538:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32542,"nodeType":"VariableDeclarationStatement","src":"197538:10:19"},{"assignments":[32544],"declarations":[{"constant":false,"id":32544,"mutability":"mutable","name":"m2","nameLocation":"197566:2:19","nodeType":"VariableDeclaration","scope":32559,"src":"197558:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32543,"name":"bytes32","nodeType":"ElementaryTypeName","src":"197558:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32545,"nodeType":"VariableDeclarationStatement","src":"197558:10:19"},{"assignments":[32547],"declarations":[{"constant":false,"id":32547,"mutability":"mutable","name":"m3","nameLocation":"197586:2:19","nodeType":"VariableDeclaration","scope":32559,"src":"197578:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32546,"name":"bytes32","nodeType":"ElementaryTypeName","src":"197578:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32548,"nodeType":"VariableDeclarationStatement","src":"197578:10:19"},{"assignments":[32550],"declarations":[{"constant":false,"id":32550,"mutability":"mutable","name":"m4","nameLocation":"197606:2:19","nodeType":"VariableDeclaration","scope":32559,"src":"197598:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32549,"name":"bytes32","nodeType":"ElementaryTypeName","src":"197598:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32551,"nodeType":"VariableDeclarationStatement","src":"197598:10:19"},{"AST":{"nativeSrc":"197670:375:19","nodeType":"YulBlock","src":"197670:375:19","statements":[{"nativeSrc":"197684:17:19","nodeType":"YulAssignment","src":"197684:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"197696:4:19","nodeType":"YulLiteral","src":"197696:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"197690:5:19","nodeType":"YulIdentifier","src":"197690:5:19"},"nativeSrc":"197690:11:19","nodeType":"YulFunctionCall","src":"197690:11:19"},"variableNames":[{"name":"m0","nativeSrc":"197684:2:19","nodeType":"YulIdentifier","src":"197684:2:19"}]},{"nativeSrc":"197714:17:19","nodeType":"YulAssignment","src":"197714:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"197726:4:19","nodeType":"YulLiteral","src":"197726:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"197720:5:19","nodeType":"YulIdentifier","src":"197720:5:19"},"nativeSrc":"197720:11:19","nodeType":"YulFunctionCall","src":"197720:11:19"},"variableNames":[{"name":"m1","nativeSrc":"197714:2:19","nodeType":"YulIdentifier","src":"197714:2:19"}]},{"nativeSrc":"197744:17:19","nodeType":"YulAssignment","src":"197744:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"197756:4:19","nodeType":"YulLiteral","src":"197756:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"197750:5:19","nodeType":"YulIdentifier","src":"197750:5:19"},"nativeSrc":"197750:11:19","nodeType":"YulFunctionCall","src":"197750:11:19"},"variableNames":[{"name":"m2","nativeSrc":"197744:2:19","nodeType":"YulIdentifier","src":"197744:2:19"}]},{"nativeSrc":"197774:17:19","nodeType":"YulAssignment","src":"197774:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"197786:4:19","nodeType":"YulLiteral","src":"197786:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"197780:5:19","nodeType":"YulIdentifier","src":"197780:5:19"},"nativeSrc":"197780:11:19","nodeType":"YulFunctionCall","src":"197780:11:19"},"variableNames":[{"name":"m3","nativeSrc":"197774:2:19","nodeType":"YulIdentifier","src":"197774:2:19"}]},{"nativeSrc":"197804:17:19","nodeType":"YulAssignment","src":"197804:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"197816:4:19","nodeType":"YulLiteral","src":"197816:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"197810:5:19","nodeType":"YulIdentifier","src":"197810:5:19"},"nativeSrc":"197810:11:19","nodeType":"YulFunctionCall","src":"197810:11:19"},"variableNames":[{"name":"m4","nativeSrc":"197804:2:19","nodeType":"YulIdentifier","src":"197804:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197902:4:19","nodeType":"YulLiteral","src":"197902:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"197908:10:19","nodeType":"YulLiteral","src":"197908:10:19","type":"","value":"0x0bb00eab"}],"functionName":{"name":"mstore","nativeSrc":"197895:6:19","nodeType":"YulIdentifier","src":"197895:6:19"},"nativeSrc":"197895:24:19","nodeType":"YulFunctionCall","src":"197895:24:19"},"nativeSrc":"197895:24:19","nodeType":"YulExpressionStatement","src":"197895:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197939:4:19","nodeType":"YulLiteral","src":"197939:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"197945:2:19","nodeType":"YulIdentifier","src":"197945:2:19"}],"functionName":{"name":"mstore","nativeSrc":"197932:6:19","nodeType":"YulIdentifier","src":"197932:6:19"},"nativeSrc":"197932:16:19","nodeType":"YulFunctionCall","src":"197932:16:19"},"nativeSrc":"197932:16:19","nodeType":"YulExpressionStatement","src":"197932:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197968:4:19","nodeType":"YulLiteral","src":"197968:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"197974:2:19","nodeType":"YulIdentifier","src":"197974:2:19"}],"functionName":{"name":"mstore","nativeSrc":"197961:6:19","nodeType":"YulIdentifier","src":"197961:6:19"},"nativeSrc":"197961:16:19","nodeType":"YulFunctionCall","src":"197961:16:19"},"nativeSrc":"197961:16:19","nodeType":"YulExpressionStatement","src":"197961:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"197997:4:19","nodeType":"YulLiteral","src":"197997:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"198003:2:19","nodeType":"YulIdentifier","src":"198003:2:19"}],"functionName":{"name":"mstore","nativeSrc":"197990:6:19","nodeType":"YulIdentifier","src":"197990:6:19"},"nativeSrc":"197990:16:19","nodeType":"YulFunctionCall","src":"197990:16:19"},"nativeSrc":"197990:16:19","nodeType":"YulExpressionStatement","src":"197990:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"198026:4:19","nodeType":"YulLiteral","src":"198026:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"198032:2:19","nodeType":"YulIdentifier","src":"198032:2:19"}],"functionName":{"name":"mstore","nativeSrc":"198019:6:19","nodeType":"YulIdentifier","src":"198019:6:19"},"nativeSrc":"198019:16:19","nodeType":"YulFunctionCall","src":"198019:16:19"},"nativeSrc":"198019:16:19","nodeType":"YulExpressionStatement","src":"198019:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32538,"isOffset":false,"isSlot":false,"src":"197684:2:19","valueSize":1},{"declaration":32541,"isOffset":false,"isSlot":false,"src":"197714:2:19","valueSize":1},{"declaration":32544,"isOffset":false,"isSlot":false,"src":"197744:2:19","valueSize":1},{"declaration":32547,"isOffset":false,"isSlot":false,"src":"197774:2:19","valueSize":1},{"declaration":32550,"isOffset":false,"isSlot":false,"src":"197804:2:19","valueSize":1},{"declaration":32528,"isOffset":false,"isSlot":false,"src":"197945:2:19","valueSize":1},{"declaration":32530,"isOffset":false,"isSlot":false,"src":"197974:2:19","valueSize":1},{"declaration":32532,"isOffset":false,"isSlot":false,"src":"198003:2:19","valueSize":1},{"declaration":32534,"isOffset":false,"isSlot":false,"src":"198032:2:19","valueSize":1}],"id":32552,"nodeType":"InlineAssembly","src":"197661:384:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"198070:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"198076:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32553,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"198054:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"198054:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32557,"nodeType":"ExpressionStatement","src":"198054:27:19"},{"AST":{"nativeSrc":"198143:156:19","nodeType":"YulBlock","src":"198143:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"198164:4:19","nodeType":"YulLiteral","src":"198164:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"198170:2:19","nodeType":"YulIdentifier","src":"198170:2:19"}],"functionName":{"name":"mstore","nativeSrc":"198157:6:19","nodeType":"YulIdentifier","src":"198157:6:19"},"nativeSrc":"198157:16:19","nodeType":"YulFunctionCall","src":"198157:16:19"},"nativeSrc":"198157:16:19","nodeType":"YulExpressionStatement","src":"198157:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"198193:4:19","nodeType":"YulLiteral","src":"198193:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"198199:2:19","nodeType":"YulIdentifier","src":"198199:2:19"}],"functionName":{"name":"mstore","nativeSrc":"198186:6:19","nodeType":"YulIdentifier","src":"198186:6:19"},"nativeSrc":"198186:16:19","nodeType":"YulFunctionCall","src":"198186:16:19"},"nativeSrc":"198186:16:19","nodeType":"YulExpressionStatement","src":"198186:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"198222:4:19","nodeType":"YulLiteral","src":"198222:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"198228:2:19","nodeType":"YulIdentifier","src":"198228:2:19"}],"functionName":{"name":"mstore","nativeSrc":"198215:6:19","nodeType":"YulIdentifier","src":"198215:6:19"},"nativeSrc":"198215:16:19","nodeType":"YulFunctionCall","src":"198215:16:19"},"nativeSrc":"198215:16:19","nodeType":"YulExpressionStatement","src":"198215:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"198251:4:19","nodeType":"YulLiteral","src":"198251:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"198257:2:19","nodeType":"YulIdentifier","src":"198257:2:19"}],"functionName":{"name":"mstore","nativeSrc":"198244:6:19","nodeType":"YulIdentifier","src":"198244:6:19"},"nativeSrc":"198244:16:19","nodeType":"YulFunctionCall","src":"198244:16:19"},"nativeSrc":"198244:16:19","nodeType":"YulExpressionStatement","src":"198244:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"198280:4:19","nodeType":"YulLiteral","src":"198280:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"198286:2:19","nodeType":"YulIdentifier","src":"198286:2:19"}],"functionName":{"name":"mstore","nativeSrc":"198273:6:19","nodeType":"YulIdentifier","src":"198273:6:19"},"nativeSrc":"198273:16:19","nodeType":"YulFunctionCall","src":"198273:16:19"},"nativeSrc":"198273:16:19","nodeType":"YulExpressionStatement","src":"198273:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32538,"isOffset":false,"isSlot":false,"src":"198170:2:19","valueSize":1},{"declaration":32541,"isOffset":false,"isSlot":false,"src":"198199:2:19","valueSize":1},{"declaration":32544,"isOffset":false,"isSlot":false,"src":"198228:2:19","valueSize":1},{"declaration":32547,"isOffset":false,"isSlot":false,"src":"198257:2:19","valueSize":1},{"declaration":32550,"isOffset":false,"isSlot":false,"src":"198286:2:19","valueSize":1}],"id":32558,"nodeType":"InlineAssembly","src":"198134:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"197448:3:19","parameters":{"id":32535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32528,"mutability":"mutable","name":"p0","nameLocation":"197457:2:19","nodeType":"VariableDeclaration","scope":32560,"src":"197452:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32527,"name":"bool","nodeType":"ElementaryTypeName","src":"197452:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32530,"mutability":"mutable","name":"p1","nameLocation":"197466:2:19","nodeType":"VariableDeclaration","scope":32560,"src":"197461:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32529,"name":"bool","nodeType":"ElementaryTypeName","src":"197461:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32532,"mutability":"mutable","name":"p2","nameLocation":"197478:2:19","nodeType":"VariableDeclaration","scope":32560,"src":"197470:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32531,"name":"uint256","nodeType":"ElementaryTypeName","src":"197470:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32534,"mutability":"mutable","name":"p3","nameLocation":"197490:2:19","nodeType":"VariableDeclaration","scope":32560,"src":"197482:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32533,"name":"uint256","nodeType":"ElementaryTypeName","src":"197482:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"197451:42:19"},"returnParameters":{"id":32536,"nodeType":"ParameterList","parameters":[],"src":"197508:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32600,"nodeType":"FunctionDefinition","src":"198311:1414:19","nodes":[],"body":{"id":32599,"nodeType":"Block","src":"198380:1345:19","nodes":[],"statements":[{"assignments":[32572],"declarations":[{"constant":false,"id":32572,"mutability":"mutable","name":"m0","nameLocation":"198398:2:19","nodeType":"VariableDeclaration","scope":32599,"src":"198390:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32571,"name":"bytes32","nodeType":"ElementaryTypeName","src":"198390:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32573,"nodeType":"VariableDeclarationStatement","src":"198390:10:19"},{"assignments":[32575],"declarations":[{"constant":false,"id":32575,"mutability":"mutable","name":"m1","nameLocation":"198418:2:19","nodeType":"VariableDeclaration","scope":32599,"src":"198410:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32574,"name":"bytes32","nodeType":"ElementaryTypeName","src":"198410:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32576,"nodeType":"VariableDeclarationStatement","src":"198410:10:19"},{"assignments":[32578],"declarations":[{"constant":false,"id":32578,"mutability":"mutable","name":"m2","nameLocation":"198438:2:19","nodeType":"VariableDeclaration","scope":32599,"src":"198430:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32577,"name":"bytes32","nodeType":"ElementaryTypeName","src":"198430:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32579,"nodeType":"VariableDeclarationStatement","src":"198430:10:19"},{"assignments":[32581],"declarations":[{"constant":false,"id":32581,"mutability":"mutable","name":"m3","nameLocation":"198458:2:19","nodeType":"VariableDeclaration","scope":32599,"src":"198450:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32580,"name":"bytes32","nodeType":"ElementaryTypeName","src":"198450:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32582,"nodeType":"VariableDeclarationStatement","src":"198450:10:19"},{"assignments":[32584],"declarations":[{"constant":false,"id":32584,"mutability":"mutable","name":"m4","nameLocation":"198478:2:19","nodeType":"VariableDeclaration","scope":32599,"src":"198470:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32583,"name":"bytes32","nodeType":"ElementaryTypeName","src":"198470:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32585,"nodeType":"VariableDeclarationStatement","src":"198470:10:19"},{"assignments":[32587],"declarations":[{"constant":false,"id":32587,"mutability":"mutable","name":"m5","nameLocation":"198498:2:19","nodeType":"VariableDeclaration","scope":32599,"src":"198490:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32586,"name":"bytes32","nodeType":"ElementaryTypeName","src":"198490:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32588,"nodeType":"VariableDeclarationStatement","src":"198490:10:19"},{"assignments":[32590],"declarations":[{"constant":false,"id":32590,"mutability":"mutable","name":"m6","nameLocation":"198518:2:19","nodeType":"VariableDeclaration","scope":32599,"src":"198510:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32589,"name":"bytes32","nodeType":"ElementaryTypeName","src":"198510:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32591,"nodeType":"VariableDeclarationStatement","src":"198510:10:19"},{"AST":{"nativeSrc":"198582:825:19","nodeType":"YulBlock","src":"198582:825:19","statements":[{"body":{"nativeSrc":"198625:313:19","nodeType":"YulBlock","src":"198625:313:19","statements":[{"nativeSrc":"198643:15:19","nodeType":"YulVariableDeclaration","src":"198643:15:19","value":{"kind":"number","nativeSrc":"198657:1:19","nodeType":"YulLiteral","src":"198657:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"198647:6:19","nodeType":"YulTypedName","src":"198647:6:19","type":""}]},{"body":{"nativeSrc":"198728:40:19","nodeType":"YulBlock","src":"198728:40:19","statements":[{"body":{"nativeSrc":"198757:9:19","nodeType":"YulBlock","src":"198757:9:19","statements":[{"nativeSrc":"198759:5:19","nodeType":"YulBreak","src":"198759:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"198745:6:19","nodeType":"YulIdentifier","src":"198745:6:19"},{"name":"w","nativeSrc":"198753:1:19","nodeType":"YulIdentifier","src":"198753:1:19"}],"functionName":{"name":"byte","nativeSrc":"198740:4:19","nodeType":"YulIdentifier","src":"198740:4:19"},"nativeSrc":"198740:15:19","nodeType":"YulFunctionCall","src":"198740:15:19"}],"functionName":{"name":"iszero","nativeSrc":"198733:6:19","nodeType":"YulIdentifier","src":"198733:6:19"},"nativeSrc":"198733:23:19","nodeType":"YulFunctionCall","src":"198733:23:19"},"nativeSrc":"198730:36:19","nodeType":"YulIf","src":"198730:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"198685:6:19","nodeType":"YulIdentifier","src":"198685:6:19"},{"kind":"number","nativeSrc":"198693:4:19","nodeType":"YulLiteral","src":"198693:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"198682:2:19","nodeType":"YulIdentifier","src":"198682:2:19"},"nativeSrc":"198682:16:19","nodeType":"YulFunctionCall","src":"198682:16:19"},"nativeSrc":"198675:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"198699:28:19","nodeType":"YulBlock","src":"198699:28:19","statements":[{"nativeSrc":"198701:24:19","nodeType":"YulAssignment","src":"198701:24:19","value":{"arguments":[{"name":"length","nativeSrc":"198715:6:19","nodeType":"YulIdentifier","src":"198715:6:19"},{"kind":"number","nativeSrc":"198723:1:19","nodeType":"YulLiteral","src":"198723:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"198711:3:19","nodeType":"YulIdentifier","src":"198711:3:19"},"nativeSrc":"198711:14:19","nodeType":"YulFunctionCall","src":"198711:14:19"},"variableNames":[{"name":"length","nativeSrc":"198701:6:19","nodeType":"YulIdentifier","src":"198701:6:19"}]}]},"pre":{"nativeSrc":"198679:2:19","nodeType":"YulBlock","src":"198679:2:19","statements":[]},"src":"198675:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"198792:3:19","nodeType":"YulIdentifier","src":"198792:3:19"},{"name":"length","nativeSrc":"198797:6:19","nodeType":"YulIdentifier","src":"198797:6:19"}],"functionName":{"name":"mstore","nativeSrc":"198785:6:19","nodeType":"YulIdentifier","src":"198785:6:19"},"nativeSrc":"198785:19:19","nodeType":"YulFunctionCall","src":"198785:19:19"},"nativeSrc":"198785:19:19","nodeType":"YulExpressionStatement","src":"198785:19:19"},{"nativeSrc":"198821:37:19","nodeType":"YulVariableDeclaration","src":"198821:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"198838:3:19","nodeType":"YulLiteral","src":"198838:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"198847:1:19","nodeType":"YulLiteral","src":"198847:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"198850:6:19","nodeType":"YulIdentifier","src":"198850:6:19"}],"functionName":{"name":"shl","nativeSrc":"198843:3:19","nodeType":"YulIdentifier","src":"198843:3:19"},"nativeSrc":"198843:14:19","nodeType":"YulFunctionCall","src":"198843:14:19"}],"functionName":{"name":"sub","nativeSrc":"198834:3:19","nodeType":"YulIdentifier","src":"198834:3:19"},"nativeSrc":"198834:24:19","nodeType":"YulFunctionCall","src":"198834:24:19"},"variables":[{"name":"shift","nativeSrc":"198825:5:19","nodeType":"YulTypedName","src":"198825:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"198886:3:19","nodeType":"YulIdentifier","src":"198886:3:19"},{"kind":"number","nativeSrc":"198891:4:19","nodeType":"YulLiteral","src":"198891:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"198882:3:19","nodeType":"YulIdentifier","src":"198882:3:19"},"nativeSrc":"198882:14:19","nodeType":"YulFunctionCall","src":"198882:14:19"},{"arguments":[{"name":"shift","nativeSrc":"198902:5:19","nodeType":"YulIdentifier","src":"198902:5:19"},{"arguments":[{"name":"shift","nativeSrc":"198913:5:19","nodeType":"YulIdentifier","src":"198913:5:19"},{"name":"w","nativeSrc":"198920:1:19","nodeType":"YulIdentifier","src":"198920:1:19"}],"functionName":{"name":"shr","nativeSrc":"198909:3:19","nodeType":"YulIdentifier","src":"198909:3:19"},"nativeSrc":"198909:13:19","nodeType":"YulFunctionCall","src":"198909:13:19"}],"functionName":{"name":"shl","nativeSrc":"198898:3:19","nodeType":"YulIdentifier","src":"198898:3:19"},"nativeSrc":"198898:25:19","nodeType":"YulFunctionCall","src":"198898:25:19"}],"functionName":{"name":"mstore","nativeSrc":"198875:6:19","nodeType":"YulIdentifier","src":"198875:6:19"},"nativeSrc":"198875:49:19","nodeType":"YulFunctionCall","src":"198875:49:19"},"nativeSrc":"198875:49:19","nodeType":"YulExpressionStatement","src":"198875:49:19"}]},"name":"writeString","nativeSrc":"198596:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"198617:3:19","nodeType":"YulTypedName","src":"198617:3:19","type":""},{"name":"w","nativeSrc":"198622:1:19","nodeType":"YulTypedName","src":"198622:1:19","type":""}],"src":"198596:342:19"},{"nativeSrc":"198951:17:19","nodeType":"YulAssignment","src":"198951:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"198963:4:19","nodeType":"YulLiteral","src":"198963:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"198957:5:19","nodeType":"YulIdentifier","src":"198957:5:19"},"nativeSrc":"198957:11:19","nodeType":"YulFunctionCall","src":"198957:11:19"},"variableNames":[{"name":"m0","nativeSrc":"198951:2:19","nodeType":"YulIdentifier","src":"198951:2:19"}]},{"nativeSrc":"198981:17:19","nodeType":"YulAssignment","src":"198981:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"198993:4:19","nodeType":"YulLiteral","src":"198993:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"198987:5:19","nodeType":"YulIdentifier","src":"198987:5:19"},"nativeSrc":"198987:11:19","nodeType":"YulFunctionCall","src":"198987:11:19"},"variableNames":[{"name":"m1","nativeSrc":"198981:2:19","nodeType":"YulIdentifier","src":"198981:2:19"}]},{"nativeSrc":"199011:17:19","nodeType":"YulAssignment","src":"199011:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"199023:4:19","nodeType":"YulLiteral","src":"199023:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"199017:5:19","nodeType":"YulIdentifier","src":"199017:5:19"},"nativeSrc":"199017:11:19","nodeType":"YulFunctionCall","src":"199017:11:19"},"variableNames":[{"name":"m2","nativeSrc":"199011:2:19","nodeType":"YulIdentifier","src":"199011:2:19"}]},{"nativeSrc":"199041:17:19","nodeType":"YulAssignment","src":"199041:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"199053:4:19","nodeType":"YulLiteral","src":"199053:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"199047:5:19","nodeType":"YulIdentifier","src":"199047:5:19"},"nativeSrc":"199047:11:19","nodeType":"YulFunctionCall","src":"199047:11:19"},"variableNames":[{"name":"m3","nativeSrc":"199041:2:19","nodeType":"YulIdentifier","src":"199041:2:19"}]},{"nativeSrc":"199071:17:19","nodeType":"YulAssignment","src":"199071:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"199083:4:19","nodeType":"YulLiteral","src":"199083:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"199077:5:19","nodeType":"YulIdentifier","src":"199077:5:19"},"nativeSrc":"199077:11:19","nodeType":"YulFunctionCall","src":"199077:11:19"},"variableNames":[{"name":"m4","nativeSrc":"199071:2:19","nodeType":"YulIdentifier","src":"199071:2:19"}]},{"nativeSrc":"199101:17:19","nodeType":"YulAssignment","src":"199101:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"199113:4:19","nodeType":"YulLiteral","src":"199113:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"199107:5:19","nodeType":"YulIdentifier","src":"199107:5:19"},"nativeSrc":"199107:11:19","nodeType":"YulFunctionCall","src":"199107:11:19"},"variableNames":[{"name":"m5","nativeSrc":"199101:2:19","nodeType":"YulIdentifier","src":"199101:2:19"}]},{"nativeSrc":"199131:17:19","nodeType":"YulAssignment","src":"199131:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"199143:4:19","nodeType":"YulLiteral","src":"199143:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"199137:5:19","nodeType":"YulIdentifier","src":"199137:5:19"},"nativeSrc":"199137:11:19","nodeType":"YulFunctionCall","src":"199137:11:19"},"variableNames":[{"name":"m6","nativeSrc":"199131:2:19","nodeType":"YulIdentifier","src":"199131:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199228:4:19","nodeType":"YulLiteral","src":"199228:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"199234:10:19","nodeType":"YulLiteral","src":"199234:10:19","type":"","value":"0x7dd4d0e0"}],"functionName":{"name":"mstore","nativeSrc":"199221:6:19","nodeType":"YulIdentifier","src":"199221:6:19"},"nativeSrc":"199221:24:19","nodeType":"YulFunctionCall","src":"199221:24:19"},"nativeSrc":"199221:24:19","nodeType":"YulExpressionStatement","src":"199221:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199265:4:19","nodeType":"YulLiteral","src":"199265:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"199271:2:19","nodeType":"YulIdentifier","src":"199271:2:19"}],"functionName":{"name":"mstore","nativeSrc":"199258:6:19","nodeType":"YulIdentifier","src":"199258:6:19"},"nativeSrc":"199258:16:19","nodeType":"YulFunctionCall","src":"199258:16:19"},"nativeSrc":"199258:16:19","nodeType":"YulExpressionStatement","src":"199258:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199294:4:19","nodeType":"YulLiteral","src":"199294:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"199300:2:19","nodeType":"YulIdentifier","src":"199300:2:19"}],"functionName":{"name":"mstore","nativeSrc":"199287:6:19","nodeType":"YulIdentifier","src":"199287:6:19"},"nativeSrc":"199287:16:19","nodeType":"YulFunctionCall","src":"199287:16:19"},"nativeSrc":"199287:16:19","nodeType":"YulExpressionStatement","src":"199287:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199323:4:19","nodeType":"YulLiteral","src":"199323:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"199329:2:19","nodeType":"YulIdentifier","src":"199329:2:19"}],"functionName":{"name":"mstore","nativeSrc":"199316:6:19","nodeType":"YulIdentifier","src":"199316:6:19"},"nativeSrc":"199316:16:19","nodeType":"YulFunctionCall","src":"199316:16:19"},"nativeSrc":"199316:16:19","nodeType":"YulExpressionStatement","src":"199316:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199352:4:19","nodeType":"YulLiteral","src":"199352:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"199358:4:19","nodeType":"YulLiteral","src":"199358:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"199345:6:19","nodeType":"YulIdentifier","src":"199345:6:19"},"nativeSrc":"199345:18:19","nodeType":"YulFunctionCall","src":"199345:18:19"},"nativeSrc":"199345:18:19","nodeType":"YulExpressionStatement","src":"199345:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199388:4:19","nodeType":"YulLiteral","src":"199388:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"199394:2:19","nodeType":"YulIdentifier","src":"199394:2:19"}],"functionName":{"name":"writeString","nativeSrc":"199376:11:19","nodeType":"YulIdentifier","src":"199376:11:19"},"nativeSrc":"199376:21:19","nodeType":"YulFunctionCall","src":"199376:21:19"},"nativeSrc":"199376:21:19","nodeType":"YulExpressionStatement","src":"199376:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32572,"isOffset":false,"isSlot":false,"src":"198951:2:19","valueSize":1},{"declaration":32575,"isOffset":false,"isSlot":false,"src":"198981:2:19","valueSize":1},{"declaration":32578,"isOffset":false,"isSlot":false,"src":"199011:2:19","valueSize":1},{"declaration":32581,"isOffset":false,"isSlot":false,"src":"199041:2:19","valueSize":1},{"declaration":32584,"isOffset":false,"isSlot":false,"src":"199071:2:19","valueSize":1},{"declaration":32587,"isOffset":false,"isSlot":false,"src":"199101:2:19","valueSize":1},{"declaration":32590,"isOffset":false,"isSlot":false,"src":"199131:2:19","valueSize":1},{"declaration":32562,"isOffset":false,"isSlot":false,"src":"199271:2:19","valueSize":1},{"declaration":32564,"isOffset":false,"isSlot":false,"src":"199300:2:19","valueSize":1},{"declaration":32566,"isOffset":false,"isSlot":false,"src":"199329:2:19","valueSize":1},{"declaration":32568,"isOffset":false,"isSlot":false,"src":"199394:2:19","valueSize":1}],"id":32592,"nodeType":"InlineAssembly","src":"198573:834:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"199432:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":32595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"199438:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":32593,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"199416:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"199416:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32597,"nodeType":"ExpressionStatement","src":"199416:27:19"},{"AST":{"nativeSrc":"199505:214:19","nodeType":"YulBlock","src":"199505:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"199526:4:19","nodeType":"YulLiteral","src":"199526:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"199532:2:19","nodeType":"YulIdentifier","src":"199532:2:19"}],"functionName":{"name":"mstore","nativeSrc":"199519:6:19","nodeType":"YulIdentifier","src":"199519:6:19"},"nativeSrc":"199519:16:19","nodeType":"YulFunctionCall","src":"199519:16:19"},"nativeSrc":"199519:16:19","nodeType":"YulExpressionStatement","src":"199519:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199555:4:19","nodeType":"YulLiteral","src":"199555:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"199561:2:19","nodeType":"YulIdentifier","src":"199561:2:19"}],"functionName":{"name":"mstore","nativeSrc":"199548:6:19","nodeType":"YulIdentifier","src":"199548:6:19"},"nativeSrc":"199548:16:19","nodeType":"YulFunctionCall","src":"199548:16:19"},"nativeSrc":"199548:16:19","nodeType":"YulExpressionStatement","src":"199548:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199584:4:19","nodeType":"YulLiteral","src":"199584:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"199590:2:19","nodeType":"YulIdentifier","src":"199590:2:19"}],"functionName":{"name":"mstore","nativeSrc":"199577:6:19","nodeType":"YulIdentifier","src":"199577:6:19"},"nativeSrc":"199577:16:19","nodeType":"YulFunctionCall","src":"199577:16:19"},"nativeSrc":"199577:16:19","nodeType":"YulExpressionStatement","src":"199577:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199613:4:19","nodeType":"YulLiteral","src":"199613:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"199619:2:19","nodeType":"YulIdentifier","src":"199619:2:19"}],"functionName":{"name":"mstore","nativeSrc":"199606:6:19","nodeType":"YulIdentifier","src":"199606:6:19"},"nativeSrc":"199606:16:19","nodeType":"YulFunctionCall","src":"199606:16:19"},"nativeSrc":"199606:16:19","nodeType":"YulExpressionStatement","src":"199606:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199642:4:19","nodeType":"YulLiteral","src":"199642:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"199648:2:19","nodeType":"YulIdentifier","src":"199648:2:19"}],"functionName":{"name":"mstore","nativeSrc":"199635:6:19","nodeType":"YulIdentifier","src":"199635:6:19"},"nativeSrc":"199635:16:19","nodeType":"YulFunctionCall","src":"199635:16:19"},"nativeSrc":"199635:16:19","nodeType":"YulExpressionStatement","src":"199635:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199671:4:19","nodeType":"YulLiteral","src":"199671:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"199677:2:19","nodeType":"YulIdentifier","src":"199677:2:19"}],"functionName":{"name":"mstore","nativeSrc":"199664:6:19","nodeType":"YulIdentifier","src":"199664:6:19"},"nativeSrc":"199664:16:19","nodeType":"YulFunctionCall","src":"199664:16:19"},"nativeSrc":"199664:16:19","nodeType":"YulExpressionStatement","src":"199664:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"199700:4:19","nodeType":"YulLiteral","src":"199700:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"199706:2:19","nodeType":"YulIdentifier","src":"199706:2:19"}],"functionName":{"name":"mstore","nativeSrc":"199693:6:19","nodeType":"YulIdentifier","src":"199693:6:19"},"nativeSrc":"199693:16:19","nodeType":"YulFunctionCall","src":"199693:16:19"},"nativeSrc":"199693:16:19","nodeType":"YulExpressionStatement","src":"199693:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32572,"isOffset":false,"isSlot":false,"src":"199532:2:19","valueSize":1},{"declaration":32575,"isOffset":false,"isSlot":false,"src":"199561:2:19","valueSize":1},{"declaration":32578,"isOffset":false,"isSlot":false,"src":"199590:2:19","valueSize":1},{"declaration":32581,"isOffset":false,"isSlot":false,"src":"199619:2:19","valueSize":1},{"declaration":32584,"isOffset":false,"isSlot":false,"src":"199648:2:19","valueSize":1},{"declaration":32587,"isOffset":false,"isSlot":false,"src":"199677:2:19","valueSize":1},{"declaration":32590,"isOffset":false,"isSlot":false,"src":"199706:2:19","valueSize":1}],"id":32598,"nodeType":"InlineAssembly","src":"199496:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"198320:3:19","parameters":{"id":32569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32562,"mutability":"mutable","name":"p0","nameLocation":"198329:2:19","nodeType":"VariableDeclaration","scope":32600,"src":"198324:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32561,"name":"bool","nodeType":"ElementaryTypeName","src":"198324:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32564,"mutability":"mutable","name":"p1","nameLocation":"198338:2:19","nodeType":"VariableDeclaration","scope":32600,"src":"198333:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32563,"name":"bool","nodeType":"ElementaryTypeName","src":"198333:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32566,"mutability":"mutable","name":"p2","nameLocation":"198350:2:19","nodeType":"VariableDeclaration","scope":32600,"src":"198342:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32565,"name":"uint256","nodeType":"ElementaryTypeName","src":"198342:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32568,"mutability":"mutable","name":"p3","nameLocation":"198362:2:19","nodeType":"VariableDeclaration","scope":32600,"src":"198354:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32567,"name":"bytes32","nodeType":"ElementaryTypeName","src":"198354:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"198323:42:19"},"returnParameters":{"id":32570,"nodeType":"ParameterList","parameters":[],"src":"198380:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32640,"nodeType":"FunctionDefinition","src":"199731:1414:19","nodes":[],"body":{"id":32639,"nodeType":"Block","src":"199800:1345:19","nodes":[],"statements":[{"assignments":[32612],"declarations":[{"constant":false,"id":32612,"mutability":"mutable","name":"m0","nameLocation":"199818:2:19","nodeType":"VariableDeclaration","scope":32639,"src":"199810:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32611,"name":"bytes32","nodeType":"ElementaryTypeName","src":"199810:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32613,"nodeType":"VariableDeclarationStatement","src":"199810:10:19"},{"assignments":[32615],"declarations":[{"constant":false,"id":32615,"mutability":"mutable","name":"m1","nameLocation":"199838:2:19","nodeType":"VariableDeclaration","scope":32639,"src":"199830:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32614,"name":"bytes32","nodeType":"ElementaryTypeName","src":"199830:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32616,"nodeType":"VariableDeclarationStatement","src":"199830:10:19"},{"assignments":[32618],"declarations":[{"constant":false,"id":32618,"mutability":"mutable","name":"m2","nameLocation":"199858:2:19","nodeType":"VariableDeclaration","scope":32639,"src":"199850:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32617,"name":"bytes32","nodeType":"ElementaryTypeName","src":"199850:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32619,"nodeType":"VariableDeclarationStatement","src":"199850:10:19"},{"assignments":[32621],"declarations":[{"constant":false,"id":32621,"mutability":"mutable","name":"m3","nameLocation":"199878:2:19","nodeType":"VariableDeclaration","scope":32639,"src":"199870:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32620,"name":"bytes32","nodeType":"ElementaryTypeName","src":"199870:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32622,"nodeType":"VariableDeclarationStatement","src":"199870:10:19"},{"assignments":[32624],"declarations":[{"constant":false,"id":32624,"mutability":"mutable","name":"m4","nameLocation":"199898:2:19","nodeType":"VariableDeclaration","scope":32639,"src":"199890:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32623,"name":"bytes32","nodeType":"ElementaryTypeName","src":"199890:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32625,"nodeType":"VariableDeclarationStatement","src":"199890:10:19"},{"assignments":[32627],"declarations":[{"constant":false,"id":32627,"mutability":"mutable","name":"m5","nameLocation":"199918:2:19","nodeType":"VariableDeclaration","scope":32639,"src":"199910:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32626,"name":"bytes32","nodeType":"ElementaryTypeName","src":"199910:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32628,"nodeType":"VariableDeclarationStatement","src":"199910:10:19"},{"assignments":[32630],"declarations":[{"constant":false,"id":32630,"mutability":"mutable","name":"m6","nameLocation":"199938:2:19","nodeType":"VariableDeclaration","scope":32639,"src":"199930:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32629,"name":"bytes32","nodeType":"ElementaryTypeName","src":"199930:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32631,"nodeType":"VariableDeclarationStatement","src":"199930:10:19"},{"AST":{"nativeSrc":"200002:825:19","nodeType":"YulBlock","src":"200002:825:19","statements":[{"body":{"nativeSrc":"200045:313:19","nodeType":"YulBlock","src":"200045:313:19","statements":[{"nativeSrc":"200063:15:19","nodeType":"YulVariableDeclaration","src":"200063:15:19","value":{"kind":"number","nativeSrc":"200077:1:19","nodeType":"YulLiteral","src":"200077:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"200067:6:19","nodeType":"YulTypedName","src":"200067:6:19","type":""}]},{"body":{"nativeSrc":"200148:40:19","nodeType":"YulBlock","src":"200148:40:19","statements":[{"body":{"nativeSrc":"200177:9:19","nodeType":"YulBlock","src":"200177:9:19","statements":[{"nativeSrc":"200179:5:19","nodeType":"YulBreak","src":"200179:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"200165:6:19","nodeType":"YulIdentifier","src":"200165:6:19"},{"name":"w","nativeSrc":"200173:1:19","nodeType":"YulIdentifier","src":"200173:1:19"}],"functionName":{"name":"byte","nativeSrc":"200160:4:19","nodeType":"YulIdentifier","src":"200160:4:19"},"nativeSrc":"200160:15:19","nodeType":"YulFunctionCall","src":"200160:15:19"}],"functionName":{"name":"iszero","nativeSrc":"200153:6:19","nodeType":"YulIdentifier","src":"200153:6:19"},"nativeSrc":"200153:23:19","nodeType":"YulFunctionCall","src":"200153:23:19"},"nativeSrc":"200150:36:19","nodeType":"YulIf","src":"200150:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"200105:6:19","nodeType":"YulIdentifier","src":"200105:6:19"},{"kind":"number","nativeSrc":"200113:4:19","nodeType":"YulLiteral","src":"200113:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"200102:2:19","nodeType":"YulIdentifier","src":"200102:2:19"},"nativeSrc":"200102:16:19","nodeType":"YulFunctionCall","src":"200102:16:19"},"nativeSrc":"200095:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"200119:28:19","nodeType":"YulBlock","src":"200119:28:19","statements":[{"nativeSrc":"200121:24:19","nodeType":"YulAssignment","src":"200121:24:19","value":{"arguments":[{"name":"length","nativeSrc":"200135:6:19","nodeType":"YulIdentifier","src":"200135:6:19"},{"kind":"number","nativeSrc":"200143:1:19","nodeType":"YulLiteral","src":"200143:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"200131:3:19","nodeType":"YulIdentifier","src":"200131:3:19"},"nativeSrc":"200131:14:19","nodeType":"YulFunctionCall","src":"200131:14:19"},"variableNames":[{"name":"length","nativeSrc":"200121:6:19","nodeType":"YulIdentifier","src":"200121:6:19"}]}]},"pre":{"nativeSrc":"200099:2:19","nodeType":"YulBlock","src":"200099:2:19","statements":[]},"src":"200095:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"200212:3:19","nodeType":"YulIdentifier","src":"200212:3:19"},{"name":"length","nativeSrc":"200217:6:19","nodeType":"YulIdentifier","src":"200217:6:19"}],"functionName":{"name":"mstore","nativeSrc":"200205:6:19","nodeType":"YulIdentifier","src":"200205:6:19"},"nativeSrc":"200205:19:19","nodeType":"YulFunctionCall","src":"200205:19:19"},"nativeSrc":"200205:19:19","nodeType":"YulExpressionStatement","src":"200205:19:19"},{"nativeSrc":"200241:37:19","nodeType":"YulVariableDeclaration","src":"200241:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"200258:3:19","nodeType":"YulLiteral","src":"200258:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"200267:1:19","nodeType":"YulLiteral","src":"200267:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"200270:6:19","nodeType":"YulIdentifier","src":"200270:6:19"}],"functionName":{"name":"shl","nativeSrc":"200263:3:19","nodeType":"YulIdentifier","src":"200263:3:19"},"nativeSrc":"200263:14:19","nodeType":"YulFunctionCall","src":"200263:14:19"}],"functionName":{"name":"sub","nativeSrc":"200254:3:19","nodeType":"YulIdentifier","src":"200254:3:19"},"nativeSrc":"200254:24:19","nodeType":"YulFunctionCall","src":"200254:24:19"},"variables":[{"name":"shift","nativeSrc":"200245:5:19","nodeType":"YulTypedName","src":"200245:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"200306:3:19","nodeType":"YulIdentifier","src":"200306:3:19"},{"kind":"number","nativeSrc":"200311:4:19","nodeType":"YulLiteral","src":"200311:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"200302:3:19","nodeType":"YulIdentifier","src":"200302:3:19"},"nativeSrc":"200302:14:19","nodeType":"YulFunctionCall","src":"200302:14:19"},{"arguments":[{"name":"shift","nativeSrc":"200322:5:19","nodeType":"YulIdentifier","src":"200322:5:19"},{"arguments":[{"name":"shift","nativeSrc":"200333:5:19","nodeType":"YulIdentifier","src":"200333:5:19"},{"name":"w","nativeSrc":"200340:1:19","nodeType":"YulIdentifier","src":"200340:1:19"}],"functionName":{"name":"shr","nativeSrc":"200329:3:19","nodeType":"YulIdentifier","src":"200329:3:19"},"nativeSrc":"200329:13:19","nodeType":"YulFunctionCall","src":"200329:13:19"}],"functionName":{"name":"shl","nativeSrc":"200318:3:19","nodeType":"YulIdentifier","src":"200318:3:19"},"nativeSrc":"200318:25:19","nodeType":"YulFunctionCall","src":"200318:25:19"}],"functionName":{"name":"mstore","nativeSrc":"200295:6:19","nodeType":"YulIdentifier","src":"200295:6:19"},"nativeSrc":"200295:49:19","nodeType":"YulFunctionCall","src":"200295:49:19"},"nativeSrc":"200295:49:19","nodeType":"YulExpressionStatement","src":"200295:49:19"}]},"name":"writeString","nativeSrc":"200016:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"200037:3:19","nodeType":"YulTypedName","src":"200037:3:19","type":""},{"name":"w","nativeSrc":"200042:1:19","nodeType":"YulTypedName","src":"200042:1:19","type":""}],"src":"200016:342:19"},{"nativeSrc":"200371:17:19","nodeType":"YulAssignment","src":"200371:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"200383:4:19","nodeType":"YulLiteral","src":"200383:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"200377:5:19","nodeType":"YulIdentifier","src":"200377:5:19"},"nativeSrc":"200377:11:19","nodeType":"YulFunctionCall","src":"200377:11:19"},"variableNames":[{"name":"m0","nativeSrc":"200371:2:19","nodeType":"YulIdentifier","src":"200371:2:19"}]},{"nativeSrc":"200401:17:19","nodeType":"YulAssignment","src":"200401:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"200413:4:19","nodeType":"YulLiteral","src":"200413:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"200407:5:19","nodeType":"YulIdentifier","src":"200407:5:19"},"nativeSrc":"200407:11:19","nodeType":"YulFunctionCall","src":"200407:11:19"},"variableNames":[{"name":"m1","nativeSrc":"200401:2:19","nodeType":"YulIdentifier","src":"200401:2:19"}]},{"nativeSrc":"200431:17:19","nodeType":"YulAssignment","src":"200431:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"200443:4:19","nodeType":"YulLiteral","src":"200443:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"200437:5:19","nodeType":"YulIdentifier","src":"200437:5:19"},"nativeSrc":"200437:11:19","nodeType":"YulFunctionCall","src":"200437:11:19"},"variableNames":[{"name":"m2","nativeSrc":"200431:2:19","nodeType":"YulIdentifier","src":"200431:2:19"}]},{"nativeSrc":"200461:17:19","nodeType":"YulAssignment","src":"200461:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"200473:4:19","nodeType":"YulLiteral","src":"200473:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"200467:5:19","nodeType":"YulIdentifier","src":"200467:5:19"},"nativeSrc":"200467:11:19","nodeType":"YulFunctionCall","src":"200467:11:19"},"variableNames":[{"name":"m3","nativeSrc":"200461:2:19","nodeType":"YulIdentifier","src":"200461:2:19"}]},{"nativeSrc":"200491:17:19","nodeType":"YulAssignment","src":"200491:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"200503:4:19","nodeType":"YulLiteral","src":"200503:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"200497:5:19","nodeType":"YulIdentifier","src":"200497:5:19"},"nativeSrc":"200497:11:19","nodeType":"YulFunctionCall","src":"200497:11:19"},"variableNames":[{"name":"m4","nativeSrc":"200491:2:19","nodeType":"YulIdentifier","src":"200491:2:19"}]},{"nativeSrc":"200521:17:19","nodeType":"YulAssignment","src":"200521:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"200533:4:19","nodeType":"YulLiteral","src":"200533:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"200527:5:19","nodeType":"YulIdentifier","src":"200527:5:19"},"nativeSrc":"200527:11:19","nodeType":"YulFunctionCall","src":"200527:11:19"},"variableNames":[{"name":"m5","nativeSrc":"200521:2:19","nodeType":"YulIdentifier","src":"200521:2:19"}]},{"nativeSrc":"200551:17:19","nodeType":"YulAssignment","src":"200551:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"200563:4:19","nodeType":"YulLiteral","src":"200563:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"200557:5:19","nodeType":"YulIdentifier","src":"200557:5:19"},"nativeSrc":"200557:11:19","nodeType":"YulFunctionCall","src":"200557:11:19"},"variableNames":[{"name":"m6","nativeSrc":"200551:2:19","nodeType":"YulIdentifier","src":"200551:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"200648:4:19","nodeType":"YulLiteral","src":"200648:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"200654:10:19","nodeType":"YulLiteral","src":"200654:10:19","type":"","value":"0xf9ad2b89"}],"functionName":{"name":"mstore","nativeSrc":"200641:6:19","nodeType":"YulIdentifier","src":"200641:6:19"},"nativeSrc":"200641:24:19","nodeType":"YulFunctionCall","src":"200641:24:19"},"nativeSrc":"200641:24:19","nodeType":"YulExpressionStatement","src":"200641:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"200685:4:19","nodeType":"YulLiteral","src":"200685:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"200691:2:19","nodeType":"YulIdentifier","src":"200691:2:19"}],"functionName":{"name":"mstore","nativeSrc":"200678:6:19","nodeType":"YulIdentifier","src":"200678:6:19"},"nativeSrc":"200678:16:19","nodeType":"YulFunctionCall","src":"200678:16:19"},"nativeSrc":"200678:16:19","nodeType":"YulExpressionStatement","src":"200678:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"200714:4:19","nodeType":"YulLiteral","src":"200714:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"200720:2:19","nodeType":"YulIdentifier","src":"200720:2:19"}],"functionName":{"name":"mstore","nativeSrc":"200707:6:19","nodeType":"YulIdentifier","src":"200707:6:19"},"nativeSrc":"200707:16:19","nodeType":"YulFunctionCall","src":"200707:16:19"},"nativeSrc":"200707:16:19","nodeType":"YulExpressionStatement","src":"200707:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"200743:4:19","nodeType":"YulLiteral","src":"200743:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"200749:4:19","nodeType":"YulLiteral","src":"200749:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"200736:6:19","nodeType":"YulIdentifier","src":"200736:6:19"},"nativeSrc":"200736:18:19","nodeType":"YulFunctionCall","src":"200736:18:19"},"nativeSrc":"200736:18:19","nodeType":"YulExpressionStatement","src":"200736:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"200774:4:19","nodeType":"YulLiteral","src":"200774:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"200780:2:19","nodeType":"YulIdentifier","src":"200780:2:19"}],"functionName":{"name":"mstore","nativeSrc":"200767:6:19","nodeType":"YulIdentifier","src":"200767:6:19"},"nativeSrc":"200767:16:19","nodeType":"YulFunctionCall","src":"200767:16:19"},"nativeSrc":"200767:16:19","nodeType":"YulExpressionStatement","src":"200767:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"200808:4:19","nodeType":"YulLiteral","src":"200808:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"200814:2:19","nodeType":"YulIdentifier","src":"200814:2:19"}],"functionName":{"name":"writeString","nativeSrc":"200796:11:19","nodeType":"YulIdentifier","src":"200796:11:19"},"nativeSrc":"200796:21:19","nodeType":"YulFunctionCall","src":"200796:21:19"},"nativeSrc":"200796:21:19","nodeType":"YulExpressionStatement","src":"200796:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32612,"isOffset":false,"isSlot":false,"src":"200371:2:19","valueSize":1},{"declaration":32615,"isOffset":false,"isSlot":false,"src":"200401:2:19","valueSize":1},{"declaration":32618,"isOffset":false,"isSlot":false,"src":"200431:2:19","valueSize":1},{"declaration":32621,"isOffset":false,"isSlot":false,"src":"200461:2:19","valueSize":1},{"declaration":32624,"isOffset":false,"isSlot":false,"src":"200491:2:19","valueSize":1},{"declaration":32627,"isOffset":false,"isSlot":false,"src":"200521:2:19","valueSize":1},{"declaration":32630,"isOffset":false,"isSlot":false,"src":"200551:2:19","valueSize":1},{"declaration":32602,"isOffset":false,"isSlot":false,"src":"200691:2:19","valueSize":1},{"declaration":32604,"isOffset":false,"isSlot":false,"src":"200720:2:19","valueSize":1},{"declaration":32606,"isOffset":false,"isSlot":false,"src":"200814:2:19","valueSize":1},{"declaration":32608,"isOffset":false,"isSlot":false,"src":"200780:2:19","valueSize":1}],"id":32632,"nodeType":"InlineAssembly","src":"199993:834:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"200852:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":32635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"200858:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":32633,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"200836:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"200836:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32637,"nodeType":"ExpressionStatement","src":"200836:27:19"},{"AST":{"nativeSrc":"200925:214:19","nodeType":"YulBlock","src":"200925:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"200946:4:19","nodeType":"YulLiteral","src":"200946:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"200952:2:19","nodeType":"YulIdentifier","src":"200952:2:19"}],"functionName":{"name":"mstore","nativeSrc":"200939:6:19","nodeType":"YulIdentifier","src":"200939:6:19"},"nativeSrc":"200939:16:19","nodeType":"YulFunctionCall","src":"200939:16:19"},"nativeSrc":"200939:16:19","nodeType":"YulExpressionStatement","src":"200939:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"200975:4:19","nodeType":"YulLiteral","src":"200975:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"200981:2:19","nodeType":"YulIdentifier","src":"200981:2:19"}],"functionName":{"name":"mstore","nativeSrc":"200968:6:19","nodeType":"YulIdentifier","src":"200968:6:19"},"nativeSrc":"200968:16:19","nodeType":"YulFunctionCall","src":"200968:16:19"},"nativeSrc":"200968:16:19","nodeType":"YulExpressionStatement","src":"200968:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"201004:4:19","nodeType":"YulLiteral","src":"201004:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"201010:2:19","nodeType":"YulIdentifier","src":"201010:2:19"}],"functionName":{"name":"mstore","nativeSrc":"200997:6:19","nodeType":"YulIdentifier","src":"200997:6:19"},"nativeSrc":"200997:16:19","nodeType":"YulFunctionCall","src":"200997:16:19"},"nativeSrc":"200997:16:19","nodeType":"YulExpressionStatement","src":"200997:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"201033:4:19","nodeType":"YulLiteral","src":"201033:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"201039:2:19","nodeType":"YulIdentifier","src":"201039:2:19"}],"functionName":{"name":"mstore","nativeSrc":"201026:6:19","nodeType":"YulIdentifier","src":"201026:6:19"},"nativeSrc":"201026:16:19","nodeType":"YulFunctionCall","src":"201026:16:19"},"nativeSrc":"201026:16:19","nodeType":"YulExpressionStatement","src":"201026:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"201062:4:19","nodeType":"YulLiteral","src":"201062:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"201068:2:19","nodeType":"YulIdentifier","src":"201068:2:19"}],"functionName":{"name":"mstore","nativeSrc":"201055:6:19","nodeType":"YulIdentifier","src":"201055:6:19"},"nativeSrc":"201055:16:19","nodeType":"YulFunctionCall","src":"201055:16:19"},"nativeSrc":"201055:16:19","nodeType":"YulExpressionStatement","src":"201055:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"201091:4:19","nodeType":"YulLiteral","src":"201091:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"201097:2:19","nodeType":"YulIdentifier","src":"201097:2:19"}],"functionName":{"name":"mstore","nativeSrc":"201084:6:19","nodeType":"YulIdentifier","src":"201084:6:19"},"nativeSrc":"201084:16:19","nodeType":"YulFunctionCall","src":"201084:16:19"},"nativeSrc":"201084:16:19","nodeType":"YulExpressionStatement","src":"201084:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"201120:4:19","nodeType":"YulLiteral","src":"201120:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"201126:2:19","nodeType":"YulIdentifier","src":"201126:2:19"}],"functionName":{"name":"mstore","nativeSrc":"201113:6:19","nodeType":"YulIdentifier","src":"201113:6:19"},"nativeSrc":"201113:16:19","nodeType":"YulFunctionCall","src":"201113:16:19"},"nativeSrc":"201113:16:19","nodeType":"YulExpressionStatement","src":"201113:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32612,"isOffset":false,"isSlot":false,"src":"200952:2:19","valueSize":1},{"declaration":32615,"isOffset":false,"isSlot":false,"src":"200981:2:19","valueSize":1},{"declaration":32618,"isOffset":false,"isSlot":false,"src":"201010:2:19","valueSize":1},{"declaration":32621,"isOffset":false,"isSlot":false,"src":"201039:2:19","valueSize":1},{"declaration":32624,"isOffset":false,"isSlot":false,"src":"201068:2:19","valueSize":1},{"declaration":32627,"isOffset":false,"isSlot":false,"src":"201097:2:19","valueSize":1},{"declaration":32630,"isOffset":false,"isSlot":false,"src":"201126:2:19","valueSize":1}],"id":32638,"nodeType":"InlineAssembly","src":"200916:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"199740:3:19","parameters":{"id":32609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32602,"mutability":"mutable","name":"p0","nameLocation":"199749:2:19","nodeType":"VariableDeclaration","scope":32640,"src":"199744:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32601,"name":"bool","nodeType":"ElementaryTypeName","src":"199744:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32604,"mutability":"mutable","name":"p1","nameLocation":"199758:2:19","nodeType":"VariableDeclaration","scope":32640,"src":"199753:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32603,"name":"bool","nodeType":"ElementaryTypeName","src":"199753:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32606,"mutability":"mutable","name":"p2","nameLocation":"199770:2:19","nodeType":"VariableDeclaration","scope":32640,"src":"199762:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32605,"name":"bytes32","nodeType":"ElementaryTypeName","src":"199762:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32608,"mutability":"mutable","name":"p3","nameLocation":"199782:2:19","nodeType":"VariableDeclaration","scope":32640,"src":"199774:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32607,"name":"address","nodeType":"ElementaryTypeName","src":"199774:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"199743:42:19"},"returnParameters":{"id":32610,"nodeType":"ParameterList","parameters":[],"src":"199800:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32680,"nodeType":"FunctionDefinition","src":"201151:1408:19","nodes":[],"body":{"id":32679,"nodeType":"Block","src":"201217:1342:19","nodes":[],"statements":[{"assignments":[32652],"declarations":[{"constant":false,"id":32652,"mutability":"mutable","name":"m0","nameLocation":"201235:2:19","nodeType":"VariableDeclaration","scope":32679,"src":"201227:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32651,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201227:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32653,"nodeType":"VariableDeclarationStatement","src":"201227:10:19"},{"assignments":[32655],"declarations":[{"constant":false,"id":32655,"mutability":"mutable","name":"m1","nameLocation":"201255:2:19","nodeType":"VariableDeclaration","scope":32679,"src":"201247:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32654,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201247:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32656,"nodeType":"VariableDeclarationStatement","src":"201247:10:19"},{"assignments":[32658],"declarations":[{"constant":false,"id":32658,"mutability":"mutable","name":"m2","nameLocation":"201275:2:19","nodeType":"VariableDeclaration","scope":32679,"src":"201267:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32657,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201267:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32659,"nodeType":"VariableDeclarationStatement","src":"201267:10:19"},{"assignments":[32661],"declarations":[{"constant":false,"id":32661,"mutability":"mutable","name":"m3","nameLocation":"201295:2:19","nodeType":"VariableDeclaration","scope":32679,"src":"201287:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32660,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201287:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32662,"nodeType":"VariableDeclarationStatement","src":"201287:10:19"},{"assignments":[32664],"declarations":[{"constant":false,"id":32664,"mutability":"mutable","name":"m4","nameLocation":"201315:2:19","nodeType":"VariableDeclaration","scope":32679,"src":"201307:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32663,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201307:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32665,"nodeType":"VariableDeclarationStatement","src":"201307:10:19"},{"assignments":[32667],"declarations":[{"constant":false,"id":32667,"mutability":"mutable","name":"m5","nameLocation":"201335:2:19","nodeType":"VariableDeclaration","scope":32679,"src":"201327:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32666,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201327:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32668,"nodeType":"VariableDeclarationStatement","src":"201327:10:19"},{"assignments":[32670],"declarations":[{"constant":false,"id":32670,"mutability":"mutable","name":"m6","nameLocation":"201355:2:19","nodeType":"VariableDeclaration","scope":32679,"src":"201347:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32669,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201347:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32671,"nodeType":"VariableDeclarationStatement","src":"201347:10:19"},{"AST":{"nativeSrc":"201419:822:19","nodeType":"YulBlock","src":"201419:822:19","statements":[{"body":{"nativeSrc":"201462:313:19","nodeType":"YulBlock","src":"201462:313:19","statements":[{"nativeSrc":"201480:15:19","nodeType":"YulVariableDeclaration","src":"201480:15:19","value":{"kind":"number","nativeSrc":"201494:1:19","nodeType":"YulLiteral","src":"201494:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"201484:6:19","nodeType":"YulTypedName","src":"201484:6:19","type":""}]},{"body":{"nativeSrc":"201565:40:19","nodeType":"YulBlock","src":"201565:40:19","statements":[{"body":{"nativeSrc":"201594:9:19","nodeType":"YulBlock","src":"201594:9:19","statements":[{"nativeSrc":"201596:5:19","nodeType":"YulBreak","src":"201596:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"201582:6:19","nodeType":"YulIdentifier","src":"201582:6:19"},{"name":"w","nativeSrc":"201590:1:19","nodeType":"YulIdentifier","src":"201590:1:19"}],"functionName":{"name":"byte","nativeSrc":"201577:4:19","nodeType":"YulIdentifier","src":"201577:4:19"},"nativeSrc":"201577:15:19","nodeType":"YulFunctionCall","src":"201577:15:19"}],"functionName":{"name":"iszero","nativeSrc":"201570:6:19","nodeType":"YulIdentifier","src":"201570:6:19"},"nativeSrc":"201570:23:19","nodeType":"YulFunctionCall","src":"201570:23:19"},"nativeSrc":"201567:36:19","nodeType":"YulIf","src":"201567:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"201522:6:19","nodeType":"YulIdentifier","src":"201522:6:19"},{"kind":"number","nativeSrc":"201530:4:19","nodeType":"YulLiteral","src":"201530:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"201519:2:19","nodeType":"YulIdentifier","src":"201519:2:19"},"nativeSrc":"201519:16:19","nodeType":"YulFunctionCall","src":"201519:16:19"},"nativeSrc":"201512:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"201536:28:19","nodeType":"YulBlock","src":"201536:28:19","statements":[{"nativeSrc":"201538:24:19","nodeType":"YulAssignment","src":"201538:24:19","value":{"arguments":[{"name":"length","nativeSrc":"201552:6:19","nodeType":"YulIdentifier","src":"201552:6:19"},{"kind":"number","nativeSrc":"201560:1:19","nodeType":"YulLiteral","src":"201560:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"201548:3:19","nodeType":"YulIdentifier","src":"201548:3:19"},"nativeSrc":"201548:14:19","nodeType":"YulFunctionCall","src":"201548:14:19"},"variableNames":[{"name":"length","nativeSrc":"201538:6:19","nodeType":"YulIdentifier","src":"201538:6:19"}]}]},"pre":{"nativeSrc":"201516:2:19","nodeType":"YulBlock","src":"201516:2:19","statements":[]},"src":"201512:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"201629:3:19","nodeType":"YulIdentifier","src":"201629:3:19"},{"name":"length","nativeSrc":"201634:6:19","nodeType":"YulIdentifier","src":"201634:6:19"}],"functionName":{"name":"mstore","nativeSrc":"201622:6:19","nodeType":"YulIdentifier","src":"201622:6:19"},"nativeSrc":"201622:19:19","nodeType":"YulFunctionCall","src":"201622:19:19"},"nativeSrc":"201622:19:19","nodeType":"YulExpressionStatement","src":"201622:19:19"},{"nativeSrc":"201658:37:19","nodeType":"YulVariableDeclaration","src":"201658:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"201675:3:19","nodeType":"YulLiteral","src":"201675:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"201684:1:19","nodeType":"YulLiteral","src":"201684:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"201687:6:19","nodeType":"YulIdentifier","src":"201687:6:19"}],"functionName":{"name":"shl","nativeSrc":"201680:3:19","nodeType":"YulIdentifier","src":"201680:3:19"},"nativeSrc":"201680:14:19","nodeType":"YulFunctionCall","src":"201680:14:19"}],"functionName":{"name":"sub","nativeSrc":"201671:3:19","nodeType":"YulIdentifier","src":"201671:3:19"},"nativeSrc":"201671:24:19","nodeType":"YulFunctionCall","src":"201671:24:19"},"variables":[{"name":"shift","nativeSrc":"201662:5:19","nodeType":"YulTypedName","src":"201662:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"201723:3:19","nodeType":"YulIdentifier","src":"201723:3:19"},{"kind":"number","nativeSrc":"201728:4:19","nodeType":"YulLiteral","src":"201728:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"201719:3:19","nodeType":"YulIdentifier","src":"201719:3:19"},"nativeSrc":"201719:14:19","nodeType":"YulFunctionCall","src":"201719:14:19"},{"arguments":[{"name":"shift","nativeSrc":"201739:5:19","nodeType":"YulIdentifier","src":"201739:5:19"},{"arguments":[{"name":"shift","nativeSrc":"201750:5:19","nodeType":"YulIdentifier","src":"201750:5:19"},{"name":"w","nativeSrc":"201757:1:19","nodeType":"YulIdentifier","src":"201757:1:19"}],"functionName":{"name":"shr","nativeSrc":"201746:3:19","nodeType":"YulIdentifier","src":"201746:3:19"},"nativeSrc":"201746:13:19","nodeType":"YulFunctionCall","src":"201746:13:19"}],"functionName":{"name":"shl","nativeSrc":"201735:3:19","nodeType":"YulIdentifier","src":"201735:3:19"},"nativeSrc":"201735:25:19","nodeType":"YulFunctionCall","src":"201735:25:19"}],"functionName":{"name":"mstore","nativeSrc":"201712:6:19","nodeType":"YulIdentifier","src":"201712:6:19"},"nativeSrc":"201712:49:19","nodeType":"YulFunctionCall","src":"201712:49:19"},"nativeSrc":"201712:49:19","nodeType":"YulExpressionStatement","src":"201712:49:19"}]},"name":"writeString","nativeSrc":"201433:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"201454:3:19","nodeType":"YulTypedName","src":"201454:3:19","type":""},{"name":"w","nativeSrc":"201459:1:19","nodeType":"YulTypedName","src":"201459:1:19","type":""}],"src":"201433:342:19"},{"nativeSrc":"201788:17:19","nodeType":"YulAssignment","src":"201788:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"201800:4:19","nodeType":"YulLiteral","src":"201800:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"201794:5:19","nodeType":"YulIdentifier","src":"201794:5:19"},"nativeSrc":"201794:11:19","nodeType":"YulFunctionCall","src":"201794:11:19"},"variableNames":[{"name":"m0","nativeSrc":"201788:2:19","nodeType":"YulIdentifier","src":"201788:2:19"}]},{"nativeSrc":"201818:17:19","nodeType":"YulAssignment","src":"201818:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"201830:4:19","nodeType":"YulLiteral","src":"201830:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"201824:5:19","nodeType":"YulIdentifier","src":"201824:5:19"},"nativeSrc":"201824:11:19","nodeType":"YulFunctionCall","src":"201824:11:19"},"variableNames":[{"name":"m1","nativeSrc":"201818:2:19","nodeType":"YulIdentifier","src":"201818:2:19"}]},{"nativeSrc":"201848:17:19","nodeType":"YulAssignment","src":"201848:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"201860:4:19","nodeType":"YulLiteral","src":"201860:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"201854:5:19","nodeType":"YulIdentifier","src":"201854:5:19"},"nativeSrc":"201854:11:19","nodeType":"YulFunctionCall","src":"201854:11:19"},"variableNames":[{"name":"m2","nativeSrc":"201848:2:19","nodeType":"YulIdentifier","src":"201848:2:19"}]},{"nativeSrc":"201878:17:19","nodeType":"YulAssignment","src":"201878:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"201890:4:19","nodeType":"YulLiteral","src":"201890:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"201884:5:19","nodeType":"YulIdentifier","src":"201884:5:19"},"nativeSrc":"201884:11:19","nodeType":"YulFunctionCall","src":"201884:11:19"},"variableNames":[{"name":"m3","nativeSrc":"201878:2:19","nodeType":"YulIdentifier","src":"201878:2:19"}]},{"nativeSrc":"201908:17:19","nodeType":"YulAssignment","src":"201908:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"201920:4:19","nodeType":"YulLiteral","src":"201920:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"201914:5:19","nodeType":"YulIdentifier","src":"201914:5:19"},"nativeSrc":"201914:11:19","nodeType":"YulFunctionCall","src":"201914:11:19"},"variableNames":[{"name":"m4","nativeSrc":"201908:2:19","nodeType":"YulIdentifier","src":"201908:2:19"}]},{"nativeSrc":"201938:17:19","nodeType":"YulAssignment","src":"201938:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"201950:4:19","nodeType":"YulLiteral","src":"201950:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"201944:5:19","nodeType":"YulIdentifier","src":"201944:5:19"},"nativeSrc":"201944:11:19","nodeType":"YulFunctionCall","src":"201944:11:19"},"variableNames":[{"name":"m5","nativeSrc":"201938:2:19","nodeType":"YulIdentifier","src":"201938:2:19"}]},{"nativeSrc":"201968:17:19","nodeType":"YulAssignment","src":"201968:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"201980:4:19","nodeType":"YulLiteral","src":"201980:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"201974:5:19","nodeType":"YulIdentifier","src":"201974:5:19"},"nativeSrc":"201974:11:19","nodeType":"YulFunctionCall","src":"201974:11:19"},"variableNames":[{"name":"m6","nativeSrc":"201968:2:19","nodeType":"YulIdentifier","src":"201968:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202062:4:19","nodeType":"YulLiteral","src":"202062:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"202068:10:19","nodeType":"YulLiteral","src":"202068:10:19","type":"","value":"0xb857163a"}],"functionName":{"name":"mstore","nativeSrc":"202055:6:19","nodeType":"YulIdentifier","src":"202055:6:19"},"nativeSrc":"202055:24:19","nodeType":"YulFunctionCall","src":"202055:24:19"},"nativeSrc":"202055:24:19","nodeType":"YulExpressionStatement","src":"202055:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202099:4:19","nodeType":"YulLiteral","src":"202099:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"202105:2:19","nodeType":"YulIdentifier","src":"202105:2:19"}],"functionName":{"name":"mstore","nativeSrc":"202092:6:19","nodeType":"YulIdentifier","src":"202092:6:19"},"nativeSrc":"202092:16:19","nodeType":"YulFunctionCall","src":"202092:16:19"},"nativeSrc":"202092:16:19","nodeType":"YulExpressionStatement","src":"202092:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202128:4:19","nodeType":"YulLiteral","src":"202128:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"202134:2:19","nodeType":"YulIdentifier","src":"202134:2:19"}],"functionName":{"name":"mstore","nativeSrc":"202121:6:19","nodeType":"YulIdentifier","src":"202121:6:19"},"nativeSrc":"202121:16:19","nodeType":"YulFunctionCall","src":"202121:16:19"},"nativeSrc":"202121:16:19","nodeType":"YulExpressionStatement","src":"202121:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202157:4:19","nodeType":"YulLiteral","src":"202157:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"202163:4:19","nodeType":"YulLiteral","src":"202163:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"202150:6:19","nodeType":"YulIdentifier","src":"202150:6:19"},"nativeSrc":"202150:18:19","nodeType":"YulFunctionCall","src":"202150:18:19"},"nativeSrc":"202150:18:19","nodeType":"YulExpressionStatement","src":"202150:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202188:4:19","nodeType":"YulLiteral","src":"202188:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"202194:2:19","nodeType":"YulIdentifier","src":"202194:2:19"}],"functionName":{"name":"mstore","nativeSrc":"202181:6:19","nodeType":"YulIdentifier","src":"202181:6:19"},"nativeSrc":"202181:16:19","nodeType":"YulFunctionCall","src":"202181:16:19"},"nativeSrc":"202181:16:19","nodeType":"YulExpressionStatement","src":"202181:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202222:4:19","nodeType":"YulLiteral","src":"202222:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"202228:2:19","nodeType":"YulIdentifier","src":"202228:2:19"}],"functionName":{"name":"writeString","nativeSrc":"202210:11:19","nodeType":"YulIdentifier","src":"202210:11:19"},"nativeSrc":"202210:21:19","nodeType":"YulFunctionCall","src":"202210:21:19"},"nativeSrc":"202210:21:19","nodeType":"YulExpressionStatement","src":"202210:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32652,"isOffset":false,"isSlot":false,"src":"201788:2:19","valueSize":1},{"declaration":32655,"isOffset":false,"isSlot":false,"src":"201818:2:19","valueSize":1},{"declaration":32658,"isOffset":false,"isSlot":false,"src":"201848:2:19","valueSize":1},{"declaration":32661,"isOffset":false,"isSlot":false,"src":"201878:2:19","valueSize":1},{"declaration":32664,"isOffset":false,"isSlot":false,"src":"201908:2:19","valueSize":1},{"declaration":32667,"isOffset":false,"isSlot":false,"src":"201938:2:19","valueSize":1},{"declaration":32670,"isOffset":false,"isSlot":false,"src":"201968:2:19","valueSize":1},{"declaration":32642,"isOffset":false,"isSlot":false,"src":"202105:2:19","valueSize":1},{"declaration":32644,"isOffset":false,"isSlot":false,"src":"202134:2:19","valueSize":1},{"declaration":32646,"isOffset":false,"isSlot":false,"src":"202228:2:19","valueSize":1},{"declaration":32648,"isOffset":false,"isSlot":false,"src":"202194:2:19","valueSize":1}],"id":32672,"nodeType":"InlineAssembly","src":"201410:831:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"202266:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":32675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"202272:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":32673,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"202250:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"202250:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32677,"nodeType":"ExpressionStatement","src":"202250:27:19"},{"AST":{"nativeSrc":"202339:214:19","nodeType":"YulBlock","src":"202339:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"202360:4:19","nodeType":"YulLiteral","src":"202360:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"202366:2:19","nodeType":"YulIdentifier","src":"202366:2:19"}],"functionName":{"name":"mstore","nativeSrc":"202353:6:19","nodeType":"YulIdentifier","src":"202353:6:19"},"nativeSrc":"202353:16:19","nodeType":"YulFunctionCall","src":"202353:16:19"},"nativeSrc":"202353:16:19","nodeType":"YulExpressionStatement","src":"202353:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202389:4:19","nodeType":"YulLiteral","src":"202389:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"202395:2:19","nodeType":"YulIdentifier","src":"202395:2:19"}],"functionName":{"name":"mstore","nativeSrc":"202382:6:19","nodeType":"YulIdentifier","src":"202382:6:19"},"nativeSrc":"202382:16:19","nodeType":"YulFunctionCall","src":"202382:16:19"},"nativeSrc":"202382:16:19","nodeType":"YulExpressionStatement","src":"202382:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202418:4:19","nodeType":"YulLiteral","src":"202418:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"202424:2:19","nodeType":"YulIdentifier","src":"202424:2:19"}],"functionName":{"name":"mstore","nativeSrc":"202411:6:19","nodeType":"YulIdentifier","src":"202411:6:19"},"nativeSrc":"202411:16:19","nodeType":"YulFunctionCall","src":"202411:16:19"},"nativeSrc":"202411:16:19","nodeType":"YulExpressionStatement","src":"202411:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202447:4:19","nodeType":"YulLiteral","src":"202447:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"202453:2:19","nodeType":"YulIdentifier","src":"202453:2:19"}],"functionName":{"name":"mstore","nativeSrc":"202440:6:19","nodeType":"YulIdentifier","src":"202440:6:19"},"nativeSrc":"202440:16:19","nodeType":"YulFunctionCall","src":"202440:16:19"},"nativeSrc":"202440:16:19","nodeType":"YulExpressionStatement","src":"202440:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202476:4:19","nodeType":"YulLiteral","src":"202476:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"202482:2:19","nodeType":"YulIdentifier","src":"202482:2:19"}],"functionName":{"name":"mstore","nativeSrc":"202469:6:19","nodeType":"YulIdentifier","src":"202469:6:19"},"nativeSrc":"202469:16:19","nodeType":"YulFunctionCall","src":"202469:16:19"},"nativeSrc":"202469:16:19","nodeType":"YulExpressionStatement","src":"202469:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202505:4:19","nodeType":"YulLiteral","src":"202505:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"202511:2:19","nodeType":"YulIdentifier","src":"202511:2:19"}],"functionName":{"name":"mstore","nativeSrc":"202498:6:19","nodeType":"YulIdentifier","src":"202498:6:19"},"nativeSrc":"202498:16:19","nodeType":"YulFunctionCall","src":"202498:16:19"},"nativeSrc":"202498:16:19","nodeType":"YulExpressionStatement","src":"202498:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"202534:4:19","nodeType":"YulLiteral","src":"202534:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"202540:2:19","nodeType":"YulIdentifier","src":"202540:2:19"}],"functionName":{"name":"mstore","nativeSrc":"202527:6:19","nodeType":"YulIdentifier","src":"202527:6:19"},"nativeSrc":"202527:16:19","nodeType":"YulFunctionCall","src":"202527:16:19"},"nativeSrc":"202527:16:19","nodeType":"YulExpressionStatement","src":"202527:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32652,"isOffset":false,"isSlot":false,"src":"202366:2:19","valueSize":1},{"declaration":32655,"isOffset":false,"isSlot":false,"src":"202395:2:19","valueSize":1},{"declaration":32658,"isOffset":false,"isSlot":false,"src":"202424:2:19","valueSize":1},{"declaration":32661,"isOffset":false,"isSlot":false,"src":"202453:2:19","valueSize":1},{"declaration":32664,"isOffset":false,"isSlot":false,"src":"202482:2:19","valueSize":1},{"declaration":32667,"isOffset":false,"isSlot":false,"src":"202511:2:19","valueSize":1},{"declaration":32670,"isOffset":false,"isSlot":false,"src":"202540:2:19","valueSize":1}],"id":32678,"nodeType":"InlineAssembly","src":"202330:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"201160:3:19","parameters":{"id":32649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32642,"mutability":"mutable","name":"p0","nameLocation":"201169:2:19","nodeType":"VariableDeclaration","scope":32680,"src":"201164:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32641,"name":"bool","nodeType":"ElementaryTypeName","src":"201164:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32644,"mutability":"mutable","name":"p1","nameLocation":"201178:2:19","nodeType":"VariableDeclaration","scope":32680,"src":"201173:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32643,"name":"bool","nodeType":"ElementaryTypeName","src":"201173:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32646,"mutability":"mutable","name":"p2","nameLocation":"201190:2:19","nodeType":"VariableDeclaration","scope":32680,"src":"201182:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32645,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201182:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32648,"mutability":"mutable","name":"p3","nameLocation":"201199:2:19","nodeType":"VariableDeclaration","scope":32680,"src":"201194:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32647,"name":"bool","nodeType":"ElementaryTypeName","src":"201194:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"201163:39:19"},"returnParameters":{"id":32650,"nodeType":"ParameterList","parameters":[],"src":"201217:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32720,"nodeType":"FunctionDefinition","src":"202565:1414:19","nodes":[],"body":{"id":32719,"nodeType":"Block","src":"202634:1345:19","nodes":[],"statements":[{"assignments":[32692],"declarations":[{"constant":false,"id":32692,"mutability":"mutable","name":"m0","nameLocation":"202652:2:19","nodeType":"VariableDeclaration","scope":32719,"src":"202644:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32691,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202644:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32693,"nodeType":"VariableDeclarationStatement","src":"202644:10:19"},{"assignments":[32695],"declarations":[{"constant":false,"id":32695,"mutability":"mutable","name":"m1","nameLocation":"202672:2:19","nodeType":"VariableDeclaration","scope":32719,"src":"202664:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32694,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202664:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32696,"nodeType":"VariableDeclarationStatement","src":"202664:10:19"},{"assignments":[32698],"declarations":[{"constant":false,"id":32698,"mutability":"mutable","name":"m2","nameLocation":"202692:2:19","nodeType":"VariableDeclaration","scope":32719,"src":"202684:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32697,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202684:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32699,"nodeType":"VariableDeclarationStatement","src":"202684:10:19"},{"assignments":[32701],"declarations":[{"constant":false,"id":32701,"mutability":"mutable","name":"m3","nameLocation":"202712:2:19","nodeType":"VariableDeclaration","scope":32719,"src":"202704:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32700,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202704:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32702,"nodeType":"VariableDeclarationStatement","src":"202704:10:19"},{"assignments":[32704],"declarations":[{"constant":false,"id":32704,"mutability":"mutable","name":"m4","nameLocation":"202732:2:19","nodeType":"VariableDeclaration","scope":32719,"src":"202724:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32703,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202724:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32705,"nodeType":"VariableDeclarationStatement","src":"202724:10:19"},{"assignments":[32707],"declarations":[{"constant":false,"id":32707,"mutability":"mutable","name":"m5","nameLocation":"202752:2:19","nodeType":"VariableDeclaration","scope":32719,"src":"202744:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32706,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202744:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32708,"nodeType":"VariableDeclarationStatement","src":"202744:10:19"},{"assignments":[32710],"declarations":[{"constant":false,"id":32710,"mutability":"mutable","name":"m6","nameLocation":"202772:2:19","nodeType":"VariableDeclaration","scope":32719,"src":"202764:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32709,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202764:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32711,"nodeType":"VariableDeclarationStatement","src":"202764:10:19"},{"AST":{"nativeSrc":"202836:825:19","nodeType":"YulBlock","src":"202836:825:19","statements":[{"body":{"nativeSrc":"202879:313:19","nodeType":"YulBlock","src":"202879:313:19","statements":[{"nativeSrc":"202897:15:19","nodeType":"YulVariableDeclaration","src":"202897:15:19","value":{"kind":"number","nativeSrc":"202911:1:19","nodeType":"YulLiteral","src":"202911:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"202901:6:19","nodeType":"YulTypedName","src":"202901:6:19","type":""}]},{"body":{"nativeSrc":"202982:40:19","nodeType":"YulBlock","src":"202982:40:19","statements":[{"body":{"nativeSrc":"203011:9:19","nodeType":"YulBlock","src":"203011:9:19","statements":[{"nativeSrc":"203013:5:19","nodeType":"YulBreak","src":"203013:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"202999:6:19","nodeType":"YulIdentifier","src":"202999:6:19"},{"name":"w","nativeSrc":"203007:1:19","nodeType":"YulIdentifier","src":"203007:1:19"}],"functionName":{"name":"byte","nativeSrc":"202994:4:19","nodeType":"YulIdentifier","src":"202994:4:19"},"nativeSrc":"202994:15:19","nodeType":"YulFunctionCall","src":"202994:15:19"}],"functionName":{"name":"iszero","nativeSrc":"202987:6:19","nodeType":"YulIdentifier","src":"202987:6:19"},"nativeSrc":"202987:23:19","nodeType":"YulFunctionCall","src":"202987:23:19"},"nativeSrc":"202984:36:19","nodeType":"YulIf","src":"202984:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"202939:6:19","nodeType":"YulIdentifier","src":"202939:6:19"},{"kind":"number","nativeSrc":"202947:4:19","nodeType":"YulLiteral","src":"202947:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"202936:2:19","nodeType":"YulIdentifier","src":"202936:2:19"},"nativeSrc":"202936:16:19","nodeType":"YulFunctionCall","src":"202936:16:19"},"nativeSrc":"202929:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"202953:28:19","nodeType":"YulBlock","src":"202953:28:19","statements":[{"nativeSrc":"202955:24:19","nodeType":"YulAssignment","src":"202955:24:19","value":{"arguments":[{"name":"length","nativeSrc":"202969:6:19","nodeType":"YulIdentifier","src":"202969:6:19"},{"kind":"number","nativeSrc":"202977:1:19","nodeType":"YulLiteral","src":"202977:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"202965:3:19","nodeType":"YulIdentifier","src":"202965:3:19"},"nativeSrc":"202965:14:19","nodeType":"YulFunctionCall","src":"202965:14:19"},"variableNames":[{"name":"length","nativeSrc":"202955:6:19","nodeType":"YulIdentifier","src":"202955:6:19"}]}]},"pre":{"nativeSrc":"202933:2:19","nodeType":"YulBlock","src":"202933:2:19","statements":[]},"src":"202929:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"203046:3:19","nodeType":"YulIdentifier","src":"203046:3:19"},{"name":"length","nativeSrc":"203051:6:19","nodeType":"YulIdentifier","src":"203051:6:19"}],"functionName":{"name":"mstore","nativeSrc":"203039:6:19","nodeType":"YulIdentifier","src":"203039:6:19"},"nativeSrc":"203039:19:19","nodeType":"YulFunctionCall","src":"203039:19:19"},"nativeSrc":"203039:19:19","nodeType":"YulExpressionStatement","src":"203039:19:19"},{"nativeSrc":"203075:37:19","nodeType":"YulVariableDeclaration","src":"203075:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"203092:3:19","nodeType":"YulLiteral","src":"203092:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"203101:1:19","nodeType":"YulLiteral","src":"203101:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"203104:6:19","nodeType":"YulIdentifier","src":"203104:6:19"}],"functionName":{"name":"shl","nativeSrc":"203097:3:19","nodeType":"YulIdentifier","src":"203097:3:19"},"nativeSrc":"203097:14:19","nodeType":"YulFunctionCall","src":"203097:14:19"}],"functionName":{"name":"sub","nativeSrc":"203088:3:19","nodeType":"YulIdentifier","src":"203088:3:19"},"nativeSrc":"203088:24:19","nodeType":"YulFunctionCall","src":"203088:24:19"},"variables":[{"name":"shift","nativeSrc":"203079:5:19","nodeType":"YulTypedName","src":"203079:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"203140:3:19","nodeType":"YulIdentifier","src":"203140:3:19"},{"kind":"number","nativeSrc":"203145:4:19","nodeType":"YulLiteral","src":"203145:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"203136:3:19","nodeType":"YulIdentifier","src":"203136:3:19"},"nativeSrc":"203136:14:19","nodeType":"YulFunctionCall","src":"203136:14:19"},{"arguments":[{"name":"shift","nativeSrc":"203156:5:19","nodeType":"YulIdentifier","src":"203156:5:19"},{"arguments":[{"name":"shift","nativeSrc":"203167:5:19","nodeType":"YulIdentifier","src":"203167:5:19"},{"name":"w","nativeSrc":"203174:1:19","nodeType":"YulIdentifier","src":"203174:1:19"}],"functionName":{"name":"shr","nativeSrc":"203163:3:19","nodeType":"YulIdentifier","src":"203163:3:19"},"nativeSrc":"203163:13:19","nodeType":"YulFunctionCall","src":"203163:13:19"}],"functionName":{"name":"shl","nativeSrc":"203152:3:19","nodeType":"YulIdentifier","src":"203152:3:19"},"nativeSrc":"203152:25:19","nodeType":"YulFunctionCall","src":"203152:25:19"}],"functionName":{"name":"mstore","nativeSrc":"203129:6:19","nodeType":"YulIdentifier","src":"203129:6:19"},"nativeSrc":"203129:49:19","nodeType":"YulFunctionCall","src":"203129:49:19"},"nativeSrc":"203129:49:19","nodeType":"YulExpressionStatement","src":"203129:49:19"}]},"name":"writeString","nativeSrc":"202850:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"202871:3:19","nodeType":"YulTypedName","src":"202871:3:19","type":""},{"name":"w","nativeSrc":"202876:1:19","nodeType":"YulTypedName","src":"202876:1:19","type":""}],"src":"202850:342:19"},{"nativeSrc":"203205:17:19","nodeType":"YulAssignment","src":"203205:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"203217:4:19","nodeType":"YulLiteral","src":"203217:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"203211:5:19","nodeType":"YulIdentifier","src":"203211:5:19"},"nativeSrc":"203211:11:19","nodeType":"YulFunctionCall","src":"203211:11:19"},"variableNames":[{"name":"m0","nativeSrc":"203205:2:19","nodeType":"YulIdentifier","src":"203205:2:19"}]},{"nativeSrc":"203235:17:19","nodeType":"YulAssignment","src":"203235:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"203247:4:19","nodeType":"YulLiteral","src":"203247:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"203241:5:19","nodeType":"YulIdentifier","src":"203241:5:19"},"nativeSrc":"203241:11:19","nodeType":"YulFunctionCall","src":"203241:11:19"},"variableNames":[{"name":"m1","nativeSrc":"203235:2:19","nodeType":"YulIdentifier","src":"203235:2:19"}]},{"nativeSrc":"203265:17:19","nodeType":"YulAssignment","src":"203265:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"203277:4:19","nodeType":"YulLiteral","src":"203277:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"203271:5:19","nodeType":"YulIdentifier","src":"203271:5:19"},"nativeSrc":"203271:11:19","nodeType":"YulFunctionCall","src":"203271:11:19"},"variableNames":[{"name":"m2","nativeSrc":"203265:2:19","nodeType":"YulIdentifier","src":"203265:2:19"}]},{"nativeSrc":"203295:17:19","nodeType":"YulAssignment","src":"203295:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"203307:4:19","nodeType":"YulLiteral","src":"203307:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"203301:5:19","nodeType":"YulIdentifier","src":"203301:5:19"},"nativeSrc":"203301:11:19","nodeType":"YulFunctionCall","src":"203301:11:19"},"variableNames":[{"name":"m3","nativeSrc":"203295:2:19","nodeType":"YulIdentifier","src":"203295:2:19"}]},{"nativeSrc":"203325:17:19","nodeType":"YulAssignment","src":"203325:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"203337:4:19","nodeType":"YulLiteral","src":"203337:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"203331:5:19","nodeType":"YulIdentifier","src":"203331:5:19"},"nativeSrc":"203331:11:19","nodeType":"YulFunctionCall","src":"203331:11:19"},"variableNames":[{"name":"m4","nativeSrc":"203325:2:19","nodeType":"YulIdentifier","src":"203325:2:19"}]},{"nativeSrc":"203355:17:19","nodeType":"YulAssignment","src":"203355:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"203367:4:19","nodeType":"YulLiteral","src":"203367:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"203361:5:19","nodeType":"YulIdentifier","src":"203361:5:19"},"nativeSrc":"203361:11:19","nodeType":"YulFunctionCall","src":"203361:11:19"},"variableNames":[{"name":"m5","nativeSrc":"203355:2:19","nodeType":"YulIdentifier","src":"203355:2:19"}]},{"nativeSrc":"203385:17:19","nodeType":"YulAssignment","src":"203385:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"203397:4:19","nodeType":"YulLiteral","src":"203397:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"203391:5:19","nodeType":"YulIdentifier","src":"203391:5:19"},"nativeSrc":"203391:11:19","nodeType":"YulFunctionCall","src":"203391:11:19"},"variableNames":[{"name":"m6","nativeSrc":"203385:2:19","nodeType":"YulIdentifier","src":"203385:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203482:4:19","nodeType":"YulLiteral","src":"203482:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"203488:10:19","nodeType":"YulLiteral","src":"203488:10:19","type":"","value":"0xe3a9ca2f"}],"functionName":{"name":"mstore","nativeSrc":"203475:6:19","nodeType":"YulIdentifier","src":"203475:6:19"},"nativeSrc":"203475:24:19","nodeType":"YulFunctionCall","src":"203475:24:19"},"nativeSrc":"203475:24:19","nodeType":"YulExpressionStatement","src":"203475:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203519:4:19","nodeType":"YulLiteral","src":"203519:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"203525:2:19","nodeType":"YulIdentifier","src":"203525:2:19"}],"functionName":{"name":"mstore","nativeSrc":"203512:6:19","nodeType":"YulIdentifier","src":"203512:6:19"},"nativeSrc":"203512:16:19","nodeType":"YulFunctionCall","src":"203512:16:19"},"nativeSrc":"203512:16:19","nodeType":"YulExpressionStatement","src":"203512:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203548:4:19","nodeType":"YulLiteral","src":"203548:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"203554:2:19","nodeType":"YulIdentifier","src":"203554:2:19"}],"functionName":{"name":"mstore","nativeSrc":"203541:6:19","nodeType":"YulIdentifier","src":"203541:6:19"},"nativeSrc":"203541:16:19","nodeType":"YulFunctionCall","src":"203541:16:19"},"nativeSrc":"203541:16:19","nodeType":"YulExpressionStatement","src":"203541:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203577:4:19","nodeType":"YulLiteral","src":"203577:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"203583:4:19","nodeType":"YulLiteral","src":"203583:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"203570:6:19","nodeType":"YulIdentifier","src":"203570:6:19"},"nativeSrc":"203570:18:19","nodeType":"YulFunctionCall","src":"203570:18:19"},"nativeSrc":"203570:18:19","nodeType":"YulExpressionStatement","src":"203570:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203608:4:19","nodeType":"YulLiteral","src":"203608:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"203614:2:19","nodeType":"YulIdentifier","src":"203614:2:19"}],"functionName":{"name":"mstore","nativeSrc":"203601:6:19","nodeType":"YulIdentifier","src":"203601:6:19"},"nativeSrc":"203601:16:19","nodeType":"YulFunctionCall","src":"203601:16:19"},"nativeSrc":"203601:16:19","nodeType":"YulExpressionStatement","src":"203601:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203642:4:19","nodeType":"YulLiteral","src":"203642:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"203648:2:19","nodeType":"YulIdentifier","src":"203648:2:19"}],"functionName":{"name":"writeString","nativeSrc":"203630:11:19","nodeType":"YulIdentifier","src":"203630:11:19"},"nativeSrc":"203630:21:19","nodeType":"YulFunctionCall","src":"203630:21:19"},"nativeSrc":"203630:21:19","nodeType":"YulExpressionStatement","src":"203630:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32692,"isOffset":false,"isSlot":false,"src":"203205:2:19","valueSize":1},{"declaration":32695,"isOffset":false,"isSlot":false,"src":"203235:2:19","valueSize":1},{"declaration":32698,"isOffset":false,"isSlot":false,"src":"203265:2:19","valueSize":1},{"declaration":32701,"isOffset":false,"isSlot":false,"src":"203295:2:19","valueSize":1},{"declaration":32704,"isOffset":false,"isSlot":false,"src":"203325:2:19","valueSize":1},{"declaration":32707,"isOffset":false,"isSlot":false,"src":"203355:2:19","valueSize":1},{"declaration":32710,"isOffset":false,"isSlot":false,"src":"203385:2:19","valueSize":1},{"declaration":32682,"isOffset":false,"isSlot":false,"src":"203525:2:19","valueSize":1},{"declaration":32684,"isOffset":false,"isSlot":false,"src":"203554:2:19","valueSize":1},{"declaration":32686,"isOffset":false,"isSlot":false,"src":"203648:2:19","valueSize":1},{"declaration":32688,"isOffset":false,"isSlot":false,"src":"203614:2:19","valueSize":1}],"id":32712,"nodeType":"InlineAssembly","src":"202827:834:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"203686:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":32715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"203692:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":32713,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"203670:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"203670:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32717,"nodeType":"ExpressionStatement","src":"203670:27:19"},{"AST":{"nativeSrc":"203759:214:19","nodeType":"YulBlock","src":"203759:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"203780:4:19","nodeType":"YulLiteral","src":"203780:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"203786:2:19","nodeType":"YulIdentifier","src":"203786:2:19"}],"functionName":{"name":"mstore","nativeSrc":"203773:6:19","nodeType":"YulIdentifier","src":"203773:6:19"},"nativeSrc":"203773:16:19","nodeType":"YulFunctionCall","src":"203773:16:19"},"nativeSrc":"203773:16:19","nodeType":"YulExpressionStatement","src":"203773:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203809:4:19","nodeType":"YulLiteral","src":"203809:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"203815:2:19","nodeType":"YulIdentifier","src":"203815:2:19"}],"functionName":{"name":"mstore","nativeSrc":"203802:6:19","nodeType":"YulIdentifier","src":"203802:6:19"},"nativeSrc":"203802:16:19","nodeType":"YulFunctionCall","src":"203802:16:19"},"nativeSrc":"203802:16:19","nodeType":"YulExpressionStatement","src":"203802:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203838:4:19","nodeType":"YulLiteral","src":"203838:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"203844:2:19","nodeType":"YulIdentifier","src":"203844:2:19"}],"functionName":{"name":"mstore","nativeSrc":"203831:6:19","nodeType":"YulIdentifier","src":"203831:6:19"},"nativeSrc":"203831:16:19","nodeType":"YulFunctionCall","src":"203831:16:19"},"nativeSrc":"203831:16:19","nodeType":"YulExpressionStatement","src":"203831:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203867:4:19","nodeType":"YulLiteral","src":"203867:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"203873:2:19","nodeType":"YulIdentifier","src":"203873:2:19"}],"functionName":{"name":"mstore","nativeSrc":"203860:6:19","nodeType":"YulIdentifier","src":"203860:6:19"},"nativeSrc":"203860:16:19","nodeType":"YulFunctionCall","src":"203860:16:19"},"nativeSrc":"203860:16:19","nodeType":"YulExpressionStatement","src":"203860:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203896:4:19","nodeType":"YulLiteral","src":"203896:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"203902:2:19","nodeType":"YulIdentifier","src":"203902:2:19"}],"functionName":{"name":"mstore","nativeSrc":"203889:6:19","nodeType":"YulIdentifier","src":"203889:6:19"},"nativeSrc":"203889:16:19","nodeType":"YulFunctionCall","src":"203889:16:19"},"nativeSrc":"203889:16:19","nodeType":"YulExpressionStatement","src":"203889:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203925:4:19","nodeType":"YulLiteral","src":"203925:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"203931:2:19","nodeType":"YulIdentifier","src":"203931:2:19"}],"functionName":{"name":"mstore","nativeSrc":"203918:6:19","nodeType":"YulIdentifier","src":"203918:6:19"},"nativeSrc":"203918:16:19","nodeType":"YulFunctionCall","src":"203918:16:19"},"nativeSrc":"203918:16:19","nodeType":"YulExpressionStatement","src":"203918:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"203954:4:19","nodeType":"YulLiteral","src":"203954:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"203960:2:19","nodeType":"YulIdentifier","src":"203960:2:19"}],"functionName":{"name":"mstore","nativeSrc":"203947:6:19","nodeType":"YulIdentifier","src":"203947:6:19"},"nativeSrc":"203947:16:19","nodeType":"YulFunctionCall","src":"203947:16:19"},"nativeSrc":"203947:16:19","nodeType":"YulExpressionStatement","src":"203947:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32692,"isOffset":false,"isSlot":false,"src":"203786:2:19","valueSize":1},{"declaration":32695,"isOffset":false,"isSlot":false,"src":"203815:2:19","valueSize":1},{"declaration":32698,"isOffset":false,"isSlot":false,"src":"203844:2:19","valueSize":1},{"declaration":32701,"isOffset":false,"isSlot":false,"src":"203873:2:19","valueSize":1},{"declaration":32704,"isOffset":false,"isSlot":false,"src":"203902:2:19","valueSize":1},{"declaration":32707,"isOffset":false,"isSlot":false,"src":"203931:2:19","valueSize":1},{"declaration":32710,"isOffset":false,"isSlot":false,"src":"203960:2:19","valueSize":1}],"id":32718,"nodeType":"InlineAssembly","src":"203750:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"202574:3:19","parameters":{"id":32689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32682,"mutability":"mutable","name":"p0","nameLocation":"202583:2:19","nodeType":"VariableDeclaration","scope":32720,"src":"202578:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32681,"name":"bool","nodeType":"ElementaryTypeName","src":"202578:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32684,"mutability":"mutable","name":"p1","nameLocation":"202592:2:19","nodeType":"VariableDeclaration","scope":32720,"src":"202587:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32683,"name":"bool","nodeType":"ElementaryTypeName","src":"202587:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32686,"mutability":"mutable","name":"p2","nameLocation":"202604:2:19","nodeType":"VariableDeclaration","scope":32720,"src":"202596:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32685,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202596:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32688,"mutability":"mutable","name":"p3","nameLocation":"202616:2:19","nodeType":"VariableDeclaration","scope":32720,"src":"202608:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32687,"name":"uint256","nodeType":"ElementaryTypeName","src":"202608:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"202577:42:19"},"returnParameters":{"id":32690,"nodeType":"ParameterList","parameters":[],"src":"202634:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32766,"nodeType":"FunctionDefinition","src":"203985:1610:19","nodes":[],"body":{"id":32765,"nodeType":"Block","src":"204054:1541:19","nodes":[],"statements":[{"assignments":[32732],"declarations":[{"constant":false,"id":32732,"mutability":"mutable","name":"m0","nameLocation":"204072:2:19","nodeType":"VariableDeclaration","scope":32765,"src":"204064:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32731,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204064:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32733,"nodeType":"VariableDeclarationStatement","src":"204064:10:19"},{"assignments":[32735],"declarations":[{"constant":false,"id":32735,"mutability":"mutable","name":"m1","nameLocation":"204092:2:19","nodeType":"VariableDeclaration","scope":32765,"src":"204084:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32734,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204084:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32736,"nodeType":"VariableDeclarationStatement","src":"204084:10:19"},{"assignments":[32738],"declarations":[{"constant":false,"id":32738,"mutability":"mutable","name":"m2","nameLocation":"204112:2:19","nodeType":"VariableDeclaration","scope":32765,"src":"204104:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32737,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204104:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32739,"nodeType":"VariableDeclarationStatement","src":"204104:10:19"},{"assignments":[32741],"declarations":[{"constant":false,"id":32741,"mutability":"mutable","name":"m3","nameLocation":"204132:2:19","nodeType":"VariableDeclaration","scope":32765,"src":"204124:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32740,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204124:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32742,"nodeType":"VariableDeclarationStatement","src":"204124:10:19"},{"assignments":[32744],"declarations":[{"constant":false,"id":32744,"mutability":"mutable","name":"m4","nameLocation":"204152:2:19","nodeType":"VariableDeclaration","scope":32765,"src":"204144:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32743,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204144:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32745,"nodeType":"VariableDeclarationStatement","src":"204144:10:19"},{"assignments":[32747],"declarations":[{"constant":false,"id":32747,"mutability":"mutable","name":"m5","nameLocation":"204172:2:19","nodeType":"VariableDeclaration","scope":32765,"src":"204164:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32746,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204164:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32748,"nodeType":"VariableDeclarationStatement","src":"204164:10:19"},{"assignments":[32750],"declarations":[{"constant":false,"id":32750,"mutability":"mutable","name":"m6","nameLocation":"204192:2:19","nodeType":"VariableDeclaration","scope":32765,"src":"204184:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32749,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204184:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32751,"nodeType":"VariableDeclarationStatement","src":"204184:10:19"},{"assignments":[32753],"declarations":[{"constant":false,"id":32753,"mutability":"mutable","name":"m7","nameLocation":"204212:2:19","nodeType":"VariableDeclaration","scope":32765,"src":"204204:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32752,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204204:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32754,"nodeType":"VariableDeclarationStatement","src":"204204:10:19"},{"assignments":[32756],"declarations":[{"constant":false,"id":32756,"mutability":"mutable","name":"m8","nameLocation":"204232:2:19","nodeType":"VariableDeclaration","scope":32765,"src":"204224:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32755,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204224:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32757,"nodeType":"VariableDeclarationStatement","src":"204224:10:19"},{"AST":{"nativeSrc":"204296:921:19","nodeType":"YulBlock","src":"204296:921:19","statements":[{"body":{"nativeSrc":"204339:313:19","nodeType":"YulBlock","src":"204339:313:19","statements":[{"nativeSrc":"204357:15:19","nodeType":"YulVariableDeclaration","src":"204357:15:19","value":{"kind":"number","nativeSrc":"204371:1:19","nodeType":"YulLiteral","src":"204371:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"204361:6:19","nodeType":"YulTypedName","src":"204361:6:19","type":""}]},{"body":{"nativeSrc":"204442:40:19","nodeType":"YulBlock","src":"204442:40:19","statements":[{"body":{"nativeSrc":"204471:9:19","nodeType":"YulBlock","src":"204471:9:19","statements":[{"nativeSrc":"204473:5:19","nodeType":"YulBreak","src":"204473:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"204459:6:19","nodeType":"YulIdentifier","src":"204459:6:19"},{"name":"w","nativeSrc":"204467:1:19","nodeType":"YulIdentifier","src":"204467:1:19"}],"functionName":{"name":"byte","nativeSrc":"204454:4:19","nodeType":"YulIdentifier","src":"204454:4:19"},"nativeSrc":"204454:15:19","nodeType":"YulFunctionCall","src":"204454:15:19"}],"functionName":{"name":"iszero","nativeSrc":"204447:6:19","nodeType":"YulIdentifier","src":"204447:6:19"},"nativeSrc":"204447:23:19","nodeType":"YulFunctionCall","src":"204447:23:19"},"nativeSrc":"204444:36:19","nodeType":"YulIf","src":"204444:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"204399:6:19","nodeType":"YulIdentifier","src":"204399:6:19"},{"kind":"number","nativeSrc":"204407:4:19","nodeType":"YulLiteral","src":"204407:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"204396:2:19","nodeType":"YulIdentifier","src":"204396:2:19"},"nativeSrc":"204396:16:19","nodeType":"YulFunctionCall","src":"204396:16:19"},"nativeSrc":"204389:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"204413:28:19","nodeType":"YulBlock","src":"204413:28:19","statements":[{"nativeSrc":"204415:24:19","nodeType":"YulAssignment","src":"204415:24:19","value":{"arguments":[{"name":"length","nativeSrc":"204429:6:19","nodeType":"YulIdentifier","src":"204429:6:19"},{"kind":"number","nativeSrc":"204437:1:19","nodeType":"YulLiteral","src":"204437:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"204425:3:19","nodeType":"YulIdentifier","src":"204425:3:19"},"nativeSrc":"204425:14:19","nodeType":"YulFunctionCall","src":"204425:14:19"},"variableNames":[{"name":"length","nativeSrc":"204415:6:19","nodeType":"YulIdentifier","src":"204415:6:19"}]}]},"pre":{"nativeSrc":"204393:2:19","nodeType":"YulBlock","src":"204393:2:19","statements":[]},"src":"204389:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"204506:3:19","nodeType":"YulIdentifier","src":"204506:3:19"},{"name":"length","nativeSrc":"204511:6:19","nodeType":"YulIdentifier","src":"204511:6:19"}],"functionName":{"name":"mstore","nativeSrc":"204499:6:19","nodeType":"YulIdentifier","src":"204499:6:19"},"nativeSrc":"204499:19:19","nodeType":"YulFunctionCall","src":"204499:19:19"},"nativeSrc":"204499:19:19","nodeType":"YulExpressionStatement","src":"204499:19:19"},{"nativeSrc":"204535:37:19","nodeType":"YulVariableDeclaration","src":"204535:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"204552:3:19","nodeType":"YulLiteral","src":"204552:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"204561:1:19","nodeType":"YulLiteral","src":"204561:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"204564:6:19","nodeType":"YulIdentifier","src":"204564:6:19"}],"functionName":{"name":"shl","nativeSrc":"204557:3:19","nodeType":"YulIdentifier","src":"204557:3:19"},"nativeSrc":"204557:14:19","nodeType":"YulFunctionCall","src":"204557:14:19"}],"functionName":{"name":"sub","nativeSrc":"204548:3:19","nodeType":"YulIdentifier","src":"204548:3:19"},"nativeSrc":"204548:24:19","nodeType":"YulFunctionCall","src":"204548:24:19"},"variables":[{"name":"shift","nativeSrc":"204539:5:19","nodeType":"YulTypedName","src":"204539:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"204600:3:19","nodeType":"YulIdentifier","src":"204600:3:19"},{"kind":"number","nativeSrc":"204605:4:19","nodeType":"YulLiteral","src":"204605:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"204596:3:19","nodeType":"YulIdentifier","src":"204596:3:19"},"nativeSrc":"204596:14:19","nodeType":"YulFunctionCall","src":"204596:14:19"},{"arguments":[{"name":"shift","nativeSrc":"204616:5:19","nodeType":"YulIdentifier","src":"204616:5:19"},{"arguments":[{"name":"shift","nativeSrc":"204627:5:19","nodeType":"YulIdentifier","src":"204627:5:19"},{"name":"w","nativeSrc":"204634:1:19","nodeType":"YulIdentifier","src":"204634:1:19"}],"functionName":{"name":"shr","nativeSrc":"204623:3:19","nodeType":"YulIdentifier","src":"204623:3:19"},"nativeSrc":"204623:13:19","nodeType":"YulFunctionCall","src":"204623:13:19"}],"functionName":{"name":"shl","nativeSrc":"204612:3:19","nodeType":"YulIdentifier","src":"204612:3:19"},"nativeSrc":"204612:25:19","nodeType":"YulFunctionCall","src":"204612:25:19"}],"functionName":{"name":"mstore","nativeSrc":"204589:6:19","nodeType":"YulIdentifier","src":"204589:6:19"},"nativeSrc":"204589:49:19","nodeType":"YulFunctionCall","src":"204589:49:19"},"nativeSrc":"204589:49:19","nodeType":"YulExpressionStatement","src":"204589:49:19"}]},"name":"writeString","nativeSrc":"204310:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"204331:3:19","nodeType":"YulTypedName","src":"204331:3:19","type":""},{"name":"w","nativeSrc":"204336:1:19","nodeType":"YulTypedName","src":"204336:1:19","type":""}],"src":"204310:342:19"},{"nativeSrc":"204665:17:19","nodeType":"YulAssignment","src":"204665:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"204677:4:19","nodeType":"YulLiteral","src":"204677:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"204671:5:19","nodeType":"YulIdentifier","src":"204671:5:19"},"nativeSrc":"204671:11:19","nodeType":"YulFunctionCall","src":"204671:11:19"},"variableNames":[{"name":"m0","nativeSrc":"204665:2:19","nodeType":"YulIdentifier","src":"204665:2:19"}]},{"nativeSrc":"204695:17:19","nodeType":"YulAssignment","src":"204695:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"204707:4:19","nodeType":"YulLiteral","src":"204707:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"204701:5:19","nodeType":"YulIdentifier","src":"204701:5:19"},"nativeSrc":"204701:11:19","nodeType":"YulFunctionCall","src":"204701:11:19"},"variableNames":[{"name":"m1","nativeSrc":"204695:2:19","nodeType":"YulIdentifier","src":"204695:2:19"}]},{"nativeSrc":"204725:17:19","nodeType":"YulAssignment","src":"204725:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"204737:4:19","nodeType":"YulLiteral","src":"204737:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"204731:5:19","nodeType":"YulIdentifier","src":"204731:5:19"},"nativeSrc":"204731:11:19","nodeType":"YulFunctionCall","src":"204731:11:19"},"variableNames":[{"name":"m2","nativeSrc":"204725:2:19","nodeType":"YulIdentifier","src":"204725:2:19"}]},{"nativeSrc":"204755:17:19","nodeType":"YulAssignment","src":"204755:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"204767:4:19","nodeType":"YulLiteral","src":"204767:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"204761:5:19","nodeType":"YulIdentifier","src":"204761:5:19"},"nativeSrc":"204761:11:19","nodeType":"YulFunctionCall","src":"204761:11:19"},"variableNames":[{"name":"m3","nativeSrc":"204755:2:19","nodeType":"YulIdentifier","src":"204755:2:19"}]},{"nativeSrc":"204785:17:19","nodeType":"YulAssignment","src":"204785:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"204797:4:19","nodeType":"YulLiteral","src":"204797:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"204791:5:19","nodeType":"YulIdentifier","src":"204791:5:19"},"nativeSrc":"204791:11:19","nodeType":"YulFunctionCall","src":"204791:11:19"},"variableNames":[{"name":"m4","nativeSrc":"204785:2:19","nodeType":"YulIdentifier","src":"204785:2:19"}]},{"nativeSrc":"204815:17:19","nodeType":"YulAssignment","src":"204815:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"204827:4:19","nodeType":"YulLiteral","src":"204827:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"204821:5:19","nodeType":"YulIdentifier","src":"204821:5:19"},"nativeSrc":"204821:11:19","nodeType":"YulFunctionCall","src":"204821:11:19"},"variableNames":[{"name":"m5","nativeSrc":"204815:2:19","nodeType":"YulIdentifier","src":"204815:2:19"}]},{"nativeSrc":"204845:17:19","nodeType":"YulAssignment","src":"204845:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"204857:4:19","nodeType":"YulLiteral","src":"204857:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"204851:5:19","nodeType":"YulIdentifier","src":"204851:5:19"},"nativeSrc":"204851:11:19","nodeType":"YulFunctionCall","src":"204851:11:19"},"variableNames":[{"name":"m6","nativeSrc":"204845:2:19","nodeType":"YulIdentifier","src":"204845:2:19"}]},{"nativeSrc":"204875:17:19","nodeType":"YulAssignment","src":"204875:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"204887:4:19","nodeType":"YulLiteral","src":"204887:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"204881:5:19","nodeType":"YulIdentifier","src":"204881:5:19"},"nativeSrc":"204881:11:19","nodeType":"YulFunctionCall","src":"204881:11:19"},"variableNames":[{"name":"m7","nativeSrc":"204875:2:19","nodeType":"YulIdentifier","src":"204875:2:19"}]},{"nativeSrc":"204905:18:19","nodeType":"YulAssignment","src":"204905:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"204917:5:19","nodeType":"YulLiteral","src":"204917:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"204911:5:19","nodeType":"YulIdentifier","src":"204911:5:19"},"nativeSrc":"204911:12:19","nodeType":"YulFunctionCall","src":"204911:12:19"},"variableNames":[{"name":"m8","nativeSrc":"204905:2:19","nodeType":"YulIdentifier","src":"204905:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205002:4:19","nodeType":"YulLiteral","src":"205002:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"205008:10:19","nodeType":"YulLiteral","src":"205008:10:19","type":"","value":"0x6d1e8751"}],"functionName":{"name":"mstore","nativeSrc":"204995:6:19","nodeType":"YulIdentifier","src":"204995:6:19"},"nativeSrc":"204995:24:19","nodeType":"YulFunctionCall","src":"204995:24:19"},"nativeSrc":"204995:24:19","nodeType":"YulExpressionStatement","src":"204995:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205039:4:19","nodeType":"YulLiteral","src":"205039:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"205045:2:19","nodeType":"YulIdentifier","src":"205045:2:19"}],"functionName":{"name":"mstore","nativeSrc":"205032:6:19","nodeType":"YulIdentifier","src":"205032:6:19"},"nativeSrc":"205032:16:19","nodeType":"YulFunctionCall","src":"205032:16:19"},"nativeSrc":"205032:16:19","nodeType":"YulExpressionStatement","src":"205032:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205068:4:19","nodeType":"YulLiteral","src":"205068:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"205074:2:19","nodeType":"YulIdentifier","src":"205074:2:19"}],"functionName":{"name":"mstore","nativeSrc":"205061:6:19","nodeType":"YulIdentifier","src":"205061:6:19"},"nativeSrc":"205061:16:19","nodeType":"YulFunctionCall","src":"205061:16:19"},"nativeSrc":"205061:16:19","nodeType":"YulExpressionStatement","src":"205061:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205097:4:19","nodeType":"YulLiteral","src":"205097:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"205103:4:19","nodeType":"YulLiteral","src":"205103:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"205090:6:19","nodeType":"YulIdentifier","src":"205090:6:19"},"nativeSrc":"205090:18:19","nodeType":"YulFunctionCall","src":"205090:18:19"},"nativeSrc":"205090:18:19","nodeType":"YulExpressionStatement","src":"205090:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205128:4:19","nodeType":"YulLiteral","src":"205128:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"205134:4:19","nodeType":"YulLiteral","src":"205134:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"205121:6:19","nodeType":"YulIdentifier","src":"205121:6:19"},"nativeSrc":"205121:18:19","nodeType":"YulFunctionCall","src":"205121:18:19"},"nativeSrc":"205121:18:19","nodeType":"YulExpressionStatement","src":"205121:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205164:4:19","nodeType":"YulLiteral","src":"205164:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"205170:2:19","nodeType":"YulIdentifier","src":"205170:2:19"}],"functionName":{"name":"writeString","nativeSrc":"205152:11:19","nodeType":"YulIdentifier","src":"205152:11:19"},"nativeSrc":"205152:21:19","nodeType":"YulFunctionCall","src":"205152:21:19"},"nativeSrc":"205152:21:19","nodeType":"YulExpressionStatement","src":"205152:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205198:4:19","nodeType":"YulLiteral","src":"205198:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"205204:2:19","nodeType":"YulIdentifier","src":"205204:2:19"}],"functionName":{"name":"writeString","nativeSrc":"205186:11:19","nodeType":"YulIdentifier","src":"205186:11:19"},"nativeSrc":"205186:21:19","nodeType":"YulFunctionCall","src":"205186:21:19"},"nativeSrc":"205186:21:19","nodeType":"YulExpressionStatement","src":"205186:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32732,"isOffset":false,"isSlot":false,"src":"204665:2:19","valueSize":1},{"declaration":32735,"isOffset":false,"isSlot":false,"src":"204695:2:19","valueSize":1},{"declaration":32738,"isOffset":false,"isSlot":false,"src":"204725:2:19","valueSize":1},{"declaration":32741,"isOffset":false,"isSlot":false,"src":"204755:2:19","valueSize":1},{"declaration":32744,"isOffset":false,"isSlot":false,"src":"204785:2:19","valueSize":1},{"declaration":32747,"isOffset":false,"isSlot":false,"src":"204815:2:19","valueSize":1},{"declaration":32750,"isOffset":false,"isSlot":false,"src":"204845:2:19","valueSize":1},{"declaration":32753,"isOffset":false,"isSlot":false,"src":"204875:2:19","valueSize":1},{"declaration":32756,"isOffset":false,"isSlot":false,"src":"204905:2:19","valueSize":1},{"declaration":32722,"isOffset":false,"isSlot":false,"src":"205045:2:19","valueSize":1},{"declaration":32724,"isOffset":false,"isSlot":false,"src":"205074:2:19","valueSize":1},{"declaration":32726,"isOffset":false,"isSlot":false,"src":"205170:2:19","valueSize":1},{"declaration":32728,"isOffset":false,"isSlot":false,"src":"205204:2:19","valueSize":1}],"id":32758,"nodeType":"InlineAssembly","src":"204287:930:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"205242:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":32761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"205248:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":32759,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"205226:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"205226:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32763,"nodeType":"ExpressionStatement","src":"205226:28:19"},{"AST":{"nativeSrc":"205316:273:19","nodeType":"YulBlock","src":"205316:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"205337:4:19","nodeType":"YulLiteral","src":"205337:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"205343:2:19","nodeType":"YulIdentifier","src":"205343:2:19"}],"functionName":{"name":"mstore","nativeSrc":"205330:6:19","nodeType":"YulIdentifier","src":"205330:6:19"},"nativeSrc":"205330:16:19","nodeType":"YulFunctionCall","src":"205330:16:19"},"nativeSrc":"205330:16:19","nodeType":"YulExpressionStatement","src":"205330:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205366:4:19","nodeType":"YulLiteral","src":"205366:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"205372:2:19","nodeType":"YulIdentifier","src":"205372:2:19"}],"functionName":{"name":"mstore","nativeSrc":"205359:6:19","nodeType":"YulIdentifier","src":"205359:6:19"},"nativeSrc":"205359:16:19","nodeType":"YulFunctionCall","src":"205359:16:19"},"nativeSrc":"205359:16:19","nodeType":"YulExpressionStatement","src":"205359:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205395:4:19","nodeType":"YulLiteral","src":"205395:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"205401:2:19","nodeType":"YulIdentifier","src":"205401:2:19"}],"functionName":{"name":"mstore","nativeSrc":"205388:6:19","nodeType":"YulIdentifier","src":"205388:6:19"},"nativeSrc":"205388:16:19","nodeType":"YulFunctionCall","src":"205388:16:19"},"nativeSrc":"205388:16:19","nodeType":"YulExpressionStatement","src":"205388:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205424:4:19","nodeType":"YulLiteral","src":"205424:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"205430:2:19","nodeType":"YulIdentifier","src":"205430:2:19"}],"functionName":{"name":"mstore","nativeSrc":"205417:6:19","nodeType":"YulIdentifier","src":"205417:6:19"},"nativeSrc":"205417:16:19","nodeType":"YulFunctionCall","src":"205417:16:19"},"nativeSrc":"205417:16:19","nodeType":"YulExpressionStatement","src":"205417:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205453:4:19","nodeType":"YulLiteral","src":"205453:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"205459:2:19","nodeType":"YulIdentifier","src":"205459:2:19"}],"functionName":{"name":"mstore","nativeSrc":"205446:6:19","nodeType":"YulIdentifier","src":"205446:6:19"},"nativeSrc":"205446:16:19","nodeType":"YulFunctionCall","src":"205446:16:19"},"nativeSrc":"205446:16:19","nodeType":"YulExpressionStatement","src":"205446:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205482:4:19","nodeType":"YulLiteral","src":"205482:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"205488:2:19","nodeType":"YulIdentifier","src":"205488:2:19"}],"functionName":{"name":"mstore","nativeSrc":"205475:6:19","nodeType":"YulIdentifier","src":"205475:6:19"},"nativeSrc":"205475:16:19","nodeType":"YulFunctionCall","src":"205475:16:19"},"nativeSrc":"205475:16:19","nodeType":"YulExpressionStatement","src":"205475:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205511:4:19","nodeType":"YulLiteral","src":"205511:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"205517:2:19","nodeType":"YulIdentifier","src":"205517:2:19"}],"functionName":{"name":"mstore","nativeSrc":"205504:6:19","nodeType":"YulIdentifier","src":"205504:6:19"},"nativeSrc":"205504:16:19","nodeType":"YulFunctionCall","src":"205504:16:19"},"nativeSrc":"205504:16:19","nodeType":"YulExpressionStatement","src":"205504:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205540:4:19","nodeType":"YulLiteral","src":"205540:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"205546:2:19","nodeType":"YulIdentifier","src":"205546:2:19"}],"functionName":{"name":"mstore","nativeSrc":"205533:6:19","nodeType":"YulIdentifier","src":"205533:6:19"},"nativeSrc":"205533:16:19","nodeType":"YulFunctionCall","src":"205533:16:19"},"nativeSrc":"205533:16:19","nodeType":"YulExpressionStatement","src":"205533:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"205569:5:19","nodeType":"YulLiteral","src":"205569:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"205576:2:19","nodeType":"YulIdentifier","src":"205576:2:19"}],"functionName":{"name":"mstore","nativeSrc":"205562:6:19","nodeType":"YulIdentifier","src":"205562:6:19"},"nativeSrc":"205562:17:19","nodeType":"YulFunctionCall","src":"205562:17:19"},"nativeSrc":"205562:17:19","nodeType":"YulExpressionStatement","src":"205562:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32732,"isOffset":false,"isSlot":false,"src":"205343:2:19","valueSize":1},{"declaration":32735,"isOffset":false,"isSlot":false,"src":"205372:2:19","valueSize":1},{"declaration":32738,"isOffset":false,"isSlot":false,"src":"205401:2:19","valueSize":1},{"declaration":32741,"isOffset":false,"isSlot":false,"src":"205430:2:19","valueSize":1},{"declaration":32744,"isOffset":false,"isSlot":false,"src":"205459:2:19","valueSize":1},{"declaration":32747,"isOffset":false,"isSlot":false,"src":"205488:2:19","valueSize":1},{"declaration":32750,"isOffset":false,"isSlot":false,"src":"205517:2:19","valueSize":1},{"declaration":32753,"isOffset":false,"isSlot":false,"src":"205546:2:19","valueSize":1},{"declaration":32756,"isOffset":false,"isSlot":false,"src":"205576:2:19","valueSize":1}],"id":32764,"nodeType":"InlineAssembly","src":"205307:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"203994:3:19","parameters":{"id":32729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32722,"mutability":"mutable","name":"p0","nameLocation":"204003:2:19","nodeType":"VariableDeclaration","scope":32766,"src":"203998:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32721,"name":"bool","nodeType":"ElementaryTypeName","src":"203998:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32724,"mutability":"mutable","name":"p1","nameLocation":"204012:2:19","nodeType":"VariableDeclaration","scope":32766,"src":"204007:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32723,"name":"bool","nodeType":"ElementaryTypeName","src":"204007:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32726,"mutability":"mutable","name":"p2","nameLocation":"204024:2:19","nodeType":"VariableDeclaration","scope":32766,"src":"204016:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32725,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204016:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32728,"mutability":"mutable","name":"p3","nameLocation":"204036:2:19","nodeType":"VariableDeclaration","scope":32766,"src":"204028:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32727,"name":"bytes32","nodeType":"ElementaryTypeName","src":"204028:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"203997:42:19"},"returnParameters":{"id":32730,"nodeType":"ParameterList","parameters":[],"src":"204054:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32800,"nodeType":"FunctionDefinition","src":"205601:872:19","nodes":[],"body":{"id":32799,"nodeType":"Block","src":"205673:800:19","nodes":[],"statements":[{"assignments":[32778],"declarations":[{"constant":false,"id":32778,"mutability":"mutable","name":"m0","nameLocation":"205691:2:19","nodeType":"VariableDeclaration","scope":32799,"src":"205683:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32777,"name":"bytes32","nodeType":"ElementaryTypeName","src":"205683:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32779,"nodeType":"VariableDeclarationStatement","src":"205683:10:19"},{"assignments":[32781],"declarations":[{"constant":false,"id":32781,"mutability":"mutable","name":"m1","nameLocation":"205711:2:19","nodeType":"VariableDeclaration","scope":32799,"src":"205703:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32780,"name":"bytes32","nodeType":"ElementaryTypeName","src":"205703:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32782,"nodeType":"VariableDeclarationStatement","src":"205703:10:19"},{"assignments":[32784],"declarations":[{"constant":false,"id":32784,"mutability":"mutable","name":"m2","nameLocation":"205731:2:19","nodeType":"VariableDeclaration","scope":32799,"src":"205723:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32783,"name":"bytes32","nodeType":"ElementaryTypeName","src":"205723:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32785,"nodeType":"VariableDeclarationStatement","src":"205723:10:19"},{"assignments":[32787],"declarations":[{"constant":false,"id":32787,"mutability":"mutable","name":"m3","nameLocation":"205751:2:19","nodeType":"VariableDeclaration","scope":32799,"src":"205743:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32786,"name":"bytes32","nodeType":"ElementaryTypeName","src":"205743:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32788,"nodeType":"VariableDeclarationStatement","src":"205743:10:19"},{"assignments":[32790],"declarations":[{"constant":false,"id":32790,"mutability":"mutable","name":"m4","nameLocation":"205771:2:19","nodeType":"VariableDeclaration","scope":32799,"src":"205763:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32789,"name":"bytes32","nodeType":"ElementaryTypeName","src":"205763:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32791,"nodeType":"VariableDeclarationStatement","src":"205763:10:19"},{"AST":{"nativeSrc":"205835:378:19","nodeType":"YulBlock","src":"205835:378:19","statements":[{"nativeSrc":"205849:17:19","nodeType":"YulAssignment","src":"205849:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"205861:4:19","nodeType":"YulLiteral","src":"205861:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"205855:5:19","nodeType":"YulIdentifier","src":"205855:5:19"},"nativeSrc":"205855:11:19","nodeType":"YulFunctionCall","src":"205855:11:19"},"variableNames":[{"name":"m0","nativeSrc":"205849:2:19","nodeType":"YulIdentifier","src":"205849:2:19"}]},{"nativeSrc":"205879:17:19","nodeType":"YulAssignment","src":"205879:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"205891:4:19","nodeType":"YulLiteral","src":"205891:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"205885:5:19","nodeType":"YulIdentifier","src":"205885:5:19"},"nativeSrc":"205885:11:19","nodeType":"YulFunctionCall","src":"205885:11:19"},"variableNames":[{"name":"m1","nativeSrc":"205879:2:19","nodeType":"YulIdentifier","src":"205879:2:19"}]},{"nativeSrc":"205909:17:19","nodeType":"YulAssignment","src":"205909:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"205921:4:19","nodeType":"YulLiteral","src":"205921:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"205915:5:19","nodeType":"YulIdentifier","src":"205915:5:19"},"nativeSrc":"205915:11:19","nodeType":"YulFunctionCall","src":"205915:11:19"},"variableNames":[{"name":"m2","nativeSrc":"205909:2:19","nodeType":"YulIdentifier","src":"205909:2:19"}]},{"nativeSrc":"205939:17:19","nodeType":"YulAssignment","src":"205939:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"205951:4:19","nodeType":"YulLiteral","src":"205951:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"205945:5:19","nodeType":"YulIdentifier","src":"205945:5:19"},"nativeSrc":"205945:11:19","nodeType":"YulFunctionCall","src":"205945:11:19"},"variableNames":[{"name":"m3","nativeSrc":"205939:2:19","nodeType":"YulIdentifier","src":"205939:2:19"}]},{"nativeSrc":"205969:17:19","nodeType":"YulAssignment","src":"205969:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"205981:4:19","nodeType":"YulLiteral","src":"205981:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"205975:5:19","nodeType":"YulIdentifier","src":"205975:5:19"},"nativeSrc":"205975:11:19","nodeType":"YulFunctionCall","src":"205975:11:19"},"variableNames":[{"name":"m4","nativeSrc":"205969:2:19","nodeType":"YulIdentifier","src":"205969:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206070:4:19","nodeType":"YulLiteral","src":"206070:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"206076:10:19","nodeType":"YulLiteral","src":"206076:10:19","type":"","value":"0x26f560a8"}],"functionName":{"name":"mstore","nativeSrc":"206063:6:19","nodeType":"YulIdentifier","src":"206063:6:19"},"nativeSrc":"206063:24:19","nodeType":"YulFunctionCall","src":"206063:24:19"},"nativeSrc":"206063:24:19","nodeType":"YulExpressionStatement","src":"206063:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206107:4:19","nodeType":"YulLiteral","src":"206107:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"206113:2:19","nodeType":"YulIdentifier","src":"206113:2:19"}],"functionName":{"name":"mstore","nativeSrc":"206100:6:19","nodeType":"YulIdentifier","src":"206100:6:19"},"nativeSrc":"206100:16:19","nodeType":"YulFunctionCall","src":"206100:16:19"},"nativeSrc":"206100:16:19","nodeType":"YulExpressionStatement","src":"206100:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206136:4:19","nodeType":"YulLiteral","src":"206136:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"206142:2:19","nodeType":"YulIdentifier","src":"206142:2:19"}],"functionName":{"name":"mstore","nativeSrc":"206129:6:19","nodeType":"YulIdentifier","src":"206129:6:19"},"nativeSrc":"206129:16:19","nodeType":"YulFunctionCall","src":"206129:16:19"},"nativeSrc":"206129:16:19","nodeType":"YulExpressionStatement","src":"206129:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206165:4:19","nodeType":"YulLiteral","src":"206165:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"206171:2:19","nodeType":"YulIdentifier","src":"206171:2:19"}],"functionName":{"name":"mstore","nativeSrc":"206158:6:19","nodeType":"YulIdentifier","src":"206158:6:19"},"nativeSrc":"206158:16:19","nodeType":"YulFunctionCall","src":"206158:16:19"},"nativeSrc":"206158:16:19","nodeType":"YulExpressionStatement","src":"206158:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206194:4:19","nodeType":"YulLiteral","src":"206194:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"206200:2:19","nodeType":"YulIdentifier","src":"206200:2:19"}],"functionName":{"name":"mstore","nativeSrc":"206187:6:19","nodeType":"YulIdentifier","src":"206187:6:19"},"nativeSrc":"206187:16:19","nodeType":"YulFunctionCall","src":"206187:16:19"},"nativeSrc":"206187:16:19","nodeType":"YulExpressionStatement","src":"206187:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32778,"isOffset":false,"isSlot":false,"src":"205849:2:19","valueSize":1},{"declaration":32781,"isOffset":false,"isSlot":false,"src":"205879:2:19","valueSize":1},{"declaration":32784,"isOffset":false,"isSlot":false,"src":"205909:2:19","valueSize":1},{"declaration":32787,"isOffset":false,"isSlot":false,"src":"205939:2:19","valueSize":1},{"declaration":32790,"isOffset":false,"isSlot":false,"src":"205969:2:19","valueSize":1},{"declaration":32768,"isOffset":false,"isSlot":false,"src":"206113:2:19","valueSize":1},{"declaration":32770,"isOffset":false,"isSlot":false,"src":"206142:2:19","valueSize":1},{"declaration":32772,"isOffset":false,"isSlot":false,"src":"206171:2:19","valueSize":1},{"declaration":32774,"isOffset":false,"isSlot":false,"src":"206200:2:19","valueSize":1}],"id":32792,"nodeType":"InlineAssembly","src":"205826:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"206238:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"206244:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32793,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"206222:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"206222:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32797,"nodeType":"ExpressionStatement","src":"206222:27:19"},{"AST":{"nativeSrc":"206311:156:19","nodeType":"YulBlock","src":"206311:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"206332:4:19","nodeType":"YulLiteral","src":"206332:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"206338:2:19","nodeType":"YulIdentifier","src":"206338:2:19"}],"functionName":{"name":"mstore","nativeSrc":"206325:6:19","nodeType":"YulIdentifier","src":"206325:6:19"},"nativeSrc":"206325:16:19","nodeType":"YulFunctionCall","src":"206325:16:19"},"nativeSrc":"206325:16:19","nodeType":"YulExpressionStatement","src":"206325:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206361:4:19","nodeType":"YulLiteral","src":"206361:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"206367:2:19","nodeType":"YulIdentifier","src":"206367:2:19"}],"functionName":{"name":"mstore","nativeSrc":"206354:6:19","nodeType":"YulIdentifier","src":"206354:6:19"},"nativeSrc":"206354:16:19","nodeType":"YulFunctionCall","src":"206354:16:19"},"nativeSrc":"206354:16:19","nodeType":"YulExpressionStatement","src":"206354:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206390:4:19","nodeType":"YulLiteral","src":"206390:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"206396:2:19","nodeType":"YulIdentifier","src":"206396:2:19"}],"functionName":{"name":"mstore","nativeSrc":"206383:6:19","nodeType":"YulIdentifier","src":"206383:6:19"},"nativeSrc":"206383:16:19","nodeType":"YulFunctionCall","src":"206383:16:19"},"nativeSrc":"206383:16:19","nodeType":"YulExpressionStatement","src":"206383:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206419:4:19","nodeType":"YulLiteral","src":"206419:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"206425:2:19","nodeType":"YulIdentifier","src":"206425:2:19"}],"functionName":{"name":"mstore","nativeSrc":"206412:6:19","nodeType":"YulIdentifier","src":"206412:6:19"},"nativeSrc":"206412:16:19","nodeType":"YulFunctionCall","src":"206412:16:19"},"nativeSrc":"206412:16:19","nodeType":"YulExpressionStatement","src":"206412:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206448:4:19","nodeType":"YulLiteral","src":"206448:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"206454:2:19","nodeType":"YulIdentifier","src":"206454:2:19"}],"functionName":{"name":"mstore","nativeSrc":"206441:6:19","nodeType":"YulIdentifier","src":"206441:6:19"},"nativeSrc":"206441:16:19","nodeType":"YulFunctionCall","src":"206441:16:19"},"nativeSrc":"206441:16:19","nodeType":"YulExpressionStatement","src":"206441:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32778,"isOffset":false,"isSlot":false,"src":"206338:2:19","valueSize":1},{"declaration":32781,"isOffset":false,"isSlot":false,"src":"206367:2:19","valueSize":1},{"declaration":32784,"isOffset":false,"isSlot":false,"src":"206396:2:19","valueSize":1},{"declaration":32787,"isOffset":false,"isSlot":false,"src":"206425:2:19","valueSize":1},{"declaration":32790,"isOffset":false,"isSlot":false,"src":"206454:2:19","valueSize":1}],"id":32798,"nodeType":"InlineAssembly","src":"206302:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"205610:3:19","parameters":{"id":32775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32768,"mutability":"mutable","name":"p0","nameLocation":"205619:2:19","nodeType":"VariableDeclaration","scope":32800,"src":"205614:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32767,"name":"bool","nodeType":"ElementaryTypeName","src":"205614:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32770,"mutability":"mutable","name":"p1","nameLocation":"205631:2:19","nodeType":"VariableDeclaration","scope":32800,"src":"205623:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32769,"name":"uint256","nodeType":"ElementaryTypeName","src":"205623:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32772,"mutability":"mutable","name":"p2","nameLocation":"205643:2:19","nodeType":"VariableDeclaration","scope":32800,"src":"205635:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32771,"name":"address","nodeType":"ElementaryTypeName","src":"205635:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32774,"mutability":"mutable","name":"p3","nameLocation":"205655:2:19","nodeType":"VariableDeclaration","scope":32800,"src":"205647:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32773,"name":"address","nodeType":"ElementaryTypeName","src":"205647:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"205613:45:19"},"returnParameters":{"id":32776,"nodeType":"ParameterList","parameters":[],"src":"205673:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32834,"nodeType":"FunctionDefinition","src":"206479:866:19","nodes":[],"body":{"id":32833,"nodeType":"Block","src":"206548:797:19","nodes":[],"statements":[{"assignments":[32812],"declarations":[{"constant":false,"id":32812,"mutability":"mutable","name":"m0","nameLocation":"206566:2:19","nodeType":"VariableDeclaration","scope":32833,"src":"206558:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32811,"name":"bytes32","nodeType":"ElementaryTypeName","src":"206558:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32813,"nodeType":"VariableDeclarationStatement","src":"206558:10:19"},{"assignments":[32815],"declarations":[{"constant":false,"id":32815,"mutability":"mutable","name":"m1","nameLocation":"206586:2:19","nodeType":"VariableDeclaration","scope":32833,"src":"206578:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32814,"name":"bytes32","nodeType":"ElementaryTypeName","src":"206578:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32816,"nodeType":"VariableDeclarationStatement","src":"206578:10:19"},{"assignments":[32818],"declarations":[{"constant":false,"id":32818,"mutability":"mutable","name":"m2","nameLocation":"206606:2:19","nodeType":"VariableDeclaration","scope":32833,"src":"206598:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32817,"name":"bytes32","nodeType":"ElementaryTypeName","src":"206598:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32819,"nodeType":"VariableDeclarationStatement","src":"206598:10:19"},{"assignments":[32821],"declarations":[{"constant":false,"id":32821,"mutability":"mutable","name":"m3","nameLocation":"206626:2:19","nodeType":"VariableDeclaration","scope":32833,"src":"206618:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32820,"name":"bytes32","nodeType":"ElementaryTypeName","src":"206618:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32822,"nodeType":"VariableDeclarationStatement","src":"206618:10:19"},{"assignments":[32824],"declarations":[{"constant":false,"id":32824,"mutability":"mutable","name":"m4","nameLocation":"206646:2:19","nodeType":"VariableDeclaration","scope":32833,"src":"206638:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32823,"name":"bytes32","nodeType":"ElementaryTypeName","src":"206638:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32825,"nodeType":"VariableDeclarationStatement","src":"206638:10:19"},{"AST":{"nativeSrc":"206710:375:19","nodeType":"YulBlock","src":"206710:375:19","statements":[{"nativeSrc":"206724:17:19","nodeType":"YulAssignment","src":"206724:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"206736:4:19","nodeType":"YulLiteral","src":"206736:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"206730:5:19","nodeType":"YulIdentifier","src":"206730:5:19"},"nativeSrc":"206730:11:19","nodeType":"YulFunctionCall","src":"206730:11:19"},"variableNames":[{"name":"m0","nativeSrc":"206724:2:19","nodeType":"YulIdentifier","src":"206724:2:19"}]},{"nativeSrc":"206754:17:19","nodeType":"YulAssignment","src":"206754:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"206766:4:19","nodeType":"YulLiteral","src":"206766:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"206760:5:19","nodeType":"YulIdentifier","src":"206760:5:19"},"nativeSrc":"206760:11:19","nodeType":"YulFunctionCall","src":"206760:11:19"},"variableNames":[{"name":"m1","nativeSrc":"206754:2:19","nodeType":"YulIdentifier","src":"206754:2:19"}]},{"nativeSrc":"206784:17:19","nodeType":"YulAssignment","src":"206784:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"206796:4:19","nodeType":"YulLiteral","src":"206796:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"206790:5:19","nodeType":"YulIdentifier","src":"206790:5:19"},"nativeSrc":"206790:11:19","nodeType":"YulFunctionCall","src":"206790:11:19"},"variableNames":[{"name":"m2","nativeSrc":"206784:2:19","nodeType":"YulIdentifier","src":"206784:2:19"}]},{"nativeSrc":"206814:17:19","nodeType":"YulAssignment","src":"206814:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"206826:4:19","nodeType":"YulLiteral","src":"206826:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"206820:5:19","nodeType":"YulIdentifier","src":"206820:5:19"},"nativeSrc":"206820:11:19","nodeType":"YulFunctionCall","src":"206820:11:19"},"variableNames":[{"name":"m3","nativeSrc":"206814:2:19","nodeType":"YulIdentifier","src":"206814:2:19"}]},{"nativeSrc":"206844:17:19","nodeType":"YulAssignment","src":"206844:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"206856:4:19","nodeType":"YulLiteral","src":"206856:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"206850:5:19","nodeType":"YulIdentifier","src":"206850:5:19"},"nativeSrc":"206850:11:19","nodeType":"YulFunctionCall","src":"206850:11:19"},"variableNames":[{"name":"m4","nativeSrc":"206844:2:19","nodeType":"YulIdentifier","src":"206844:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206942:4:19","nodeType":"YulLiteral","src":"206942:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"206948:10:19","nodeType":"YulLiteral","src":"206948:10:19","type":"","value":"0xb4c314ff"}],"functionName":{"name":"mstore","nativeSrc":"206935:6:19","nodeType":"YulIdentifier","src":"206935:6:19"},"nativeSrc":"206935:24:19","nodeType":"YulFunctionCall","src":"206935:24:19"},"nativeSrc":"206935:24:19","nodeType":"YulExpressionStatement","src":"206935:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"206979:4:19","nodeType":"YulLiteral","src":"206979:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"206985:2:19","nodeType":"YulIdentifier","src":"206985:2:19"}],"functionName":{"name":"mstore","nativeSrc":"206972:6:19","nodeType":"YulIdentifier","src":"206972:6:19"},"nativeSrc":"206972:16:19","nodeType":"YulFunctionCall","src":"206972:16:19"},"nativeSrc":"206972:16:19","nodeType":"YulExpressionStatement","src":"206972:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207008:4:19","nodeType":"YulLiteral","src":"207008:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"207014:2:19","nodeType":"YulIdentifier","src":"207014:2:19"}],"functionName":{"name":"mstore","nativeSrc":"207001:6:19","nodeType":"YulIdentifier","src":"207001:6:19"},"nativeSrc":"207001:16:19","nodeType":"YulFunctionCall","src":"207001:16:19"},"nativeSrc":"207001:16:19","nodeType":"YulExpressionStatement","src":"207001:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207037:4:19","nodeType":"YulLiteral","src":"207037:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"207043:2:19","nodeType":"YulIdentifier","src":"207043:2:19"}],"functionName":{"name":"mstore","nativeSrc":"207030:6:19","nodeType":"YulIdentifier","src":"207030:6:19"},"nativeSrc":"207030:16:19","nodeType":"YulFunctionCall","src":"207030:16:19"},"nativeSrc":"207030:16:19","nodeType":"YulExpressionStatement","src":"207030:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207066:4:19","nodeType":"YulLiteral","src":"207066:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"207072:2:19","nodeType":"YulIdentifier","src":"207072:2:19"}],"functionName":{"name":"mstore","nativeSrc":"207059:6:19","nodeType":"YulIdentifier","src":"207059:6:19"},"nativeSrc":"207059:16:19","nodeType":"YulFunctionCall","src":"207059:16:19"},"nativeSrc":"207059:16:19","nodeType":"YulExpressionStatement","src":"207059:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32812,"isOffset":false,"isSlot":false,"src":"206724:2:19","valueSize":1},{"declaration":32815,"isOffset":false,"isSlot":false,"src":"206754:2:19","valueSize":1},{"declaration":32818,"isOffset":false,"isSlot":false,"src":"206784:2:19","valueSize":1},{"declaration":32821,"isOffset":false,"isSlot":false,"src":"206814:2:19","valueSize":1},{"declaration":32824,"isOffset":false,"isSlot":false,"src":"206844:2:19","valueSize":1},{"declaration":32802,"isOffset":false,"isSlot":false,"src":"206985:2:19","valueSize":1},{"declaration":32804,"isOffset":false,"isSlot":false,"src":"207014:2:19","valueSize":1},{"declaration":32806,"isOffset":false,"isSlot":false,"src":"207043:2:19","valueSize":1},{"declaration":32808,"isOffset":false,"isSlot":false,"src":"207072:2:19","valueSize":1}],"id":32826,"nodeType":"InlineAssembly","src":"206701:384:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"207110:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"207116:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32827,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"207094:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"207094:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32831,"nodeType":"ExpressionStatement","src":"207094:27:19"},{"AST":{"nativeSrc":"207183:156:19","nodeType":"YulBlock","src":"207183:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"207204:4:19","nodeType":"YulLiteral","src":"207204:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"207210:2:19","nodeType":"YulIdentifier","src":"207210:2:19"}],"functionName":{"name":"mstore","nativeSrc":"207197:6:19","nodeType":"YulIdentifier","src":"207197:6:19"},"nativeSrc":"207197:16:19","nodeType":"YulFunctionCall","src":"207197:16:19"},"nativeSrc":"207197:16:19","nodeType":"YulExpressionStatement","src":"207197:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207233:4:19","nodeType":"YulLiteral","src":"207233:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"207239:2:19","nodeType":"YulIdentifier","src":"207239:2:19"}],"functionName":{"name":"mstore","nativeSrc":"207226:6:19","nodeType":"YulIdentifier","src":"207226:6:19"},"nativeSrc":"207226:16:19","nodeType":"YulFunctionCall","src":"207226:16:19"},"nativeSrc":"207226:16:19","nodeType":"YulExpressionStatement","src":"207226:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207262:4:19","nodeType":"YulLiteral","src":"207262:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"207268:2:19","nodeType":"YulIdentifier","src":"207268:2:19"}],"functionName":{"name":"mstore","nativeSrc":"207255:6:19","nodeType":"YulIdentifier","src":"207255:6:19"},"nativeSrc":"207255:16:19","nodeType":"YulFunctionCall","src":"207255:16:19"},"nativeSrc":"207255:16:19","nodeType":"YulExpressionStatement","src":"207255:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207291:4:19","nodeType":"YulLiteral","src":"207291:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"207297:2:19","nodeType":"YulIdentifier","src":"207297:2:19"}],"functionName":{"name":"mstore","nativeSrc":"207284:6:19","nodeType":"YulIdentifier","src":"207284:6:19"},"nativeSrc":"207284:16:19","nodeType":"YulFunctionCall","src":"207284:16:19"},"nativeSrc":"207284:16:19","nodeType":"YulExpressionStatement","src":"207284:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207320:4:19","nodeType":"YulLiteral","src":"207320:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"207326:2:19","nodeType":"YulIdentifier","src":"207326:2:19"}],"functionName":{"name":"mstore","nativeSrc":"207313:6:19","nodeType":"YulIdentifier","src":"207313:6:19"},"nativeSrc":"207313:16:19","nodeType":"YulFunctionCall","src":"207313:16:19"},"nativeSrc":"207313:16:19","nodeType":"YulExpressionStatement","src":"207313:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32812,"isOffset":false,"isSlot":false,"src":"207210:2:19","valueSize":1},{"declaration":32815,"isOffset":false,"isSlot":false,"src":"207239:2:19","valueSize":1},{"declaration":32818,"isOffset":false,"isSlot":false,"src":"207268:2:19","valueSize":1},{"declaration":32821,"isOffset":false,"isSlot":false,"src":"207297:2:19","valueSize":1},{"declaration":32824,"isOffset":false,"isSlot":false,"src":"207326:2:19","valueSize":1}],"id":32832,"nodeType":"InlineAssembly","src":"207174:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"206488:3:19","parameters":{"id":32809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32802,"mutability":"mutable","name":"p0","nameLocation":"206497:2:19","nodeType":"VariableDeclaration","scope":32834,"src":"206492:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32801,"name":"bool","nodeType":"ElementaryTypeName","src":"206492:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32804,"mutability":"mutable","name":"p1","nameLocation":"206509:2:19","nodeType":"VariableDeclaration","scope":32834,"src":"206501:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32803,"name":"uint256","nodeType":"ElementaryTypeName","src":"206501:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32806,"mutability":"mutable","name":"p2","nameLocation":"206521:2:19","nodeType":"VariableDeclaration","scope":32834,"src":"206513:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32805,"name":"address","nodeType":"ElementaryTypeName","src":"206513:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32808,"mutability":"mutable","name":"p3","nameLocation":"206530:2:19","nodeType":"VariableDeclaration","scope":32834,"src":"206525:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32807,"name":"bool","nodeType":"ElementaryTypeName","src":"206525:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"206491:42:19"},"returnParameters":{"id":32810,"nodeType":"ParameterList","parameters":[],"src":"206548:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32868,"nodeType":"FunctionDefinition","src":"207351:872:19","nodes":[],"body":{"id":32867,"nodeType":"Block","src":"207423:800:19","nodes":[],"statements":[{"assignments":[32846],"declarations":[{"constant":false,"id":32846,"mutability":"mutable","name":"m0","nameLocation":"207441:2:19","nodeType":"VariableDeclaration","scope":32867,"src":"207433:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32845,"name":"bytes32","nodeType":"ElementaryTypeName","src":"207433:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32847,"nodeType":"VariableDeclarationStatement","src":"207433:10:19"},{"assignments":[32849],"declarations":[{"constant":false,"id":32849,"mutability":"mutable","name":"m1","nameLocation":"207461:2:19","nodeType":"VariableDeclaration","scope":32867,"src":"207453:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32848,"name":"bytes32","nodeType":"ElementaryTypeName","src":"207453:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32850,"nodeType":"VariableDeclarationStatement","src":"207453:10:19"},{"assignments":[32852],"declarations":[{"constant":false,"id":32852,"mutability":"mutable","name":"m2","nameLocation":"207481:2:19","nodeType":"VariableDeclaration","scope":32867,"src":"207473:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32851,"name":"bytes32","nodeType":"ElementaryTypeName","src":"207473:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32853,"nodeType":"VariableDeclarationStatement","src":"207473:10:19"},{"assignments":[32855],"declarations":[{"constant":false,"id":32855,"mutability":"mutable","name":"m3","nameLocation":"207501:2:19","nodeType":"VariableDeclaration","scope":32867,"src":"207493:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32854,"name":"bytes32","nodeType":"ElementaryTypeName","src":"207493:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32856,"nodeType":"VariableDeclarationStatement","src":"207493:10:19"},{"assignments":[32858],"declarations":[{"constant":false,"id":32858,"mutability":"mutable","name":"m4","nameLocation":"207521:2:19","nodeType":"VariableDeclaration","scope":32867,"src":"207513:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32857,"name":"bytes32","nodeType":"ElementaryTypeName","src":"207513:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32859,"nodeType":"VariableDeclarationStatement","src":"207513:10:19"},{"AST":{"nativeSrc":"207585:378:19","nodeType":"YulBlock","src":"207585:378:19","statements":[{"nativeSrc":"207599:17:19","nodeType":"YulAssignment","src":"207599:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"207611:4:19","nodeType":"YulLiteral","src":"207611:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"207605:5:19","nodeType":"YulIdentifier","src":"207605:5:19"},"nativeSrc":"207605:11:19","nodeType":"YulFunctionCall","src":"207605:11:19"},"variableNames":[{"name":"m0","nativeSrc":"207599:2:19","nodeType":"YulIdentifier","src":"207599:2:19"}]},{"nativeSrc":"207629:17:19","nodeType":"YulAssignment","src":"207629:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"207641:4:19","nodeType":"YulLiteral","src":"207641:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"207635:5:19","nodeType":"YulIdentifier","src":"207635:5:19"},"nativeSrc":"207635:11:19","nodeType":"YulFunctionCall","src":"207635:11:19"},"variableNames":[{"name":"m1","nativeSrc":"207629:2:19","nodeType":"YulIdentifier","src":"207629:2:19"}]},{"nativeSrc":"207659:17:19","nodeType":"YulAssignment","src":"207659:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"207671:4:19","nodeType":"YulLiteral","src":"207671:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"207665:5:19","nodeType":"YulIdentifier","src":"207665:5:19"},"nativeSrc":"207665:11:19","nodeType":"YulFunctionCall","src":"207665:11:19"},"variableNames":[{"name":"m2","nativeSrc":"207659:2:19","nodeType":"YulIdentifier","src":"207659:2:19"}]},{"nativeSrc":"207689:17:19","nodeType":"YulAssignment","src":"207689:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"207701:4:19","nodeType":"YulLiteral","src":"207701:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"207695:5:19","nodeType":"YulIdentifier","src":"207695:5:19"},"nativeSrc":"207695:11:19","nodeType":"YulFunctionCall","src":"207695:11:19"},"variableNames":[{"name":"m3","nativeSrc":"207689:2:19","nodeType":"YulIdentifier","src":"207689:2:19"}]},{"nativeSrc":"207719:17:19","nodeType":"YulAssignment","src":"207719:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"207731:4:19","nodeType":"YulLiteral","src":"207731:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"207725:5:19","nodeType":"YulIdentifier","src":"207725:5:19"},"nativeSrc":"207725:11:19","nodeType":"YulFunctionCall","src":"207725:11:19"},"variableNames":[{"name":"m4","nativeSrc":"207719:2:19","nodeType":"YulIdentifier","src":"207719:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207820:4:19","nodeType":"YulLiteral","src":"207820:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"207826:10:19","nodeType":"YulLiteral","src":"207826:10:19","type":"","value":"0x1537dc87"}],"functionName":{"name":"mstore","nativeSrc":"207813:6:19","nodeType":"YulIdentifier","src":"207813:6:19"},"nativeSrc":"207813:24:19","nodeType":"YulFunctionCall","src":"207813:24:19"},"nativeSrc":"207813:24:19","nodeType":"YulExpressionStatement","src":"207813:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207857:4:19","nodeType":"YulLiteral","src":"207857:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"207863:2:19","nodeType":"YulIdentifier","src":"207863:2:19"}],"functionName":{"name":"mstore","nativeSrc":"207850:6:19","nodeType":"YulIdentifier","src":"207850:6:19"},"nativeSrc":"207850:16:19","nodeType":"YulFunctionCall","src":"207850:16:19"},"nativeSrc":"207850:16:19","nodeType":"YulExpressionStatement","src":"207850:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207886:4:19","nodeType":"YulLiteral","src":"207886:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"207892:2:19","nodeType":"YulIdentifier","src":"207892:2:19"}],"functionName":{"name":"mstore","nativeSrc":"207879:6:19","nodeType":"YulIdentifier","src":"207879:6:19"},"nativeSrc":"207879:16:19","nodeType":"YulFunctionCall","src":"207879:16:19"},"nativeSrc":"207879:16:19","nodeType":"YulExpressionStatement","src":"207879:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207915:4:19","nodeType":"YulLiteral","src":"207915:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"207921:2:19","nodeType":"YulIdentifier","src":"207921:2:19"}],"functionName":{"name":"mstore","nativeSrc":"207908:6:19","nodeType":"YulIdentifier","src":"207908:6:19"},"nativeSrc":"207908:16:19","nodeType":"YulFunctionCall","src":"207908:16:19"},"nativeSrc":"207908:16:19","nodeType":"YulExpressionStatement","src":"207908:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"207944:4:19","nodeType":"YulLiteral","src":"207944:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"207950:2:19","nodeType":"YulIdentifier","src":"207950:2:19"}],"functionName":{"name":"mstore","nativeSrc":"207937:6:19","nodeType":"YulIdentifier","src":"207937:6:19"},"nativeSrc":"207937:16:19","nodeType":"YulFunctionCall","src":"207937:16:19"},"nativeSrc":"207937:16:19","nodeType":"YulExpressionStatement","src":"207937:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32846,"isOffset":false,"isSlot":false,"src":"207599:2:19","valueSize":1},{"declaration":32849,"isOffset":false,"isSlot":false,"src":"207629:2:19","valueSize":1},{"declaration":32852,"isOffset":false,"isSlot":false,"src":"207659:2:19","valueSize":1},{"declaration":32855,"isOffset":false,"isSlot":false,"src":"207689:2:19","valueSize":1},{"declaration":32858,"isOffset":false,"isSlot":false,"src":"207719:2:19","valueSize":1},{"declaration":32836,"isOffset":false,"isSlot":false,"src":"207863:2:19","valueSize":1},{"declaration":32838,"isOffset":false,"isSlot":false,"src":"207892:2:19","valueSize":1},{"declaration":32840,"isOffset":false,"isSlot":false,"src":"207921:2:19","valueSize":1},{"declaration":32842,"isOffset":false,"isSlot":false,"src":"207950:2:19","valueSize":1}],"id":32860,"nodeType":"InlineAssembly","src":"207576:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"207988:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"207994:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32861,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"207972:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"207972:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32865,"nodeType":"ExpressionStatement","src":"207972:27:19"},{"AST":{"nativeSrc":"208061:156:19","nodeType":"YulBlock","src":"208061:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"208082:4:19","nodeType":"YulLiteral","src":"208082:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"208088:2:19","nodeType":"YulIdentifier","src":"208088:2:19"}],"functionName":{"name":"mstore","nativeSrc":"208075:6:19","nodeType":"YulIdentifier","src":"208075:6:19"},"nativeSrc":"208075:16:19","nodeType":"YulFunctionCall","src":"208075:16:19"},"nativeSrc":"208075:16:19","nodeType":"YulExpressionStatement","src":"208075:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"208111:4:19","nodeType":"YulLiteral","src":"208111:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"208117:2:19","nodeType":"YulIdentifier","src":"208117:2:19"}],"functionName":{"name":"mstore","nativeSrc":"208104:6:19","nodeType":"YulIdentifier","src":"208104:6:19"},"nativeSrc":"208104:16:19","nodeType":"YulFunctionCall","src":"208104:16:19"},"nativeSrc":"208104:16:19","nodeType":"YulExpressionStatement","src":"208104:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"208140:4:19","nodeType":"YulLiteral","src":"208140:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"208146:2:19","nodeType":"YulIdentifier","src":"208146:2:19"}],"functionName":{"name":"mstore","nativeSrc":"208133:6:19","nodeType":"YulIdentifier","src":"208133:6:19"},"nativeSrc":"208133:16:19","nodeType":"YulFunctionCall","src":"208133:16:19"},"nativeSrc":"208133:16:19","nodeType":"YulExpressionStatement","src":"208133:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"208169:4:19","nodeType":"YulLiteral","src":"208169:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"208175:2:19","nodeType":"YulIdentifier","src":"208175:2:19"}],"functionName":{"name":"mstore","nativeSrc":"208162:6:19","nodeType":"YulIdentifier","src":"208162:6:19"},"nativeSrc":"208162:16:19","nodeType":"YulFunctionCall","src":"208162:16:19"},"nativeSrc":"208162:16:19","nodeType":"YulExpressionStatement","src":"208162:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"208198:4:19","nodeType":"YulLiteral","src":"208198:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"208204:2:19","nodeType":"YulIdentifier","src":"208204:2:19"}],"functionName":{"name":"mstore","nativeSrc":"208191:6:19","nodeType":"YulIdentifier","src":"208191:6:19"},"nativeSrc":"208191:16:19","nodeType":"YulFunctionCall","src":"208191:16:19"},"nativeSrc":"208191:16:19","nodeType":"YulExpressionStatement","src":"208191:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32846,"isOffset":false,"isSlot":false,"src":"208088:2:19","valueSize":1},{"declaration":32849,"isOffset":false,"isSlot":false,"src":"208117:2:19","valueSize":1},{"declaration":32852,"isOffset":false,"isSlot":false,"src":"208146:2:19","valueSize":1},{"declaration":32855,"isOffset":false,"isSlot":false,"src":"208175:2:19","valueSize":1},{"declaration":32858,"isOffset":false,"isSlot":false,"src":"208204:2:19","valueSize":1}],"id":32866,"nodeType":"InlineAssembly","src":"208052:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"207360:3:19","parameters":{"id":32843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32836,"mutability":"mutable","name":"p0","nameLocation":"207369:2:19","nodeType":"VariableDeclaration","scope":32868,"src":"207364:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32835,"name":"bool","nodeType":"ElementaryTypeName","src":"207364:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32838,"mutability":"mutable","name":"p1","nameLocation":"207381:2:19","nodeType":"VariableDeclaration","scope":32868,"src":"207373:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32837,"name":"uint256","nodeType":"ElementaryTypeName","src":"207373:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32840,"mutability":"mutable","name":"p2","nameLocation":"207393:2:19","nodeType":"VariableDeclaration","scope":32868,"src":"207385:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32839,"name":"address","nodeType":"ElementaryTypeName","src":"207385:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32842,"mutability":"mutable","name":"p3","nameLocation":"207405:2:19","nodeType":"VariableDeclaration","scope":32868,"src":"207397:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32841,"name":"uint256","nodeType":"ElementaryTypeName","src":"207397:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"207363:45:19"},"returnParameters":{"id":32844,"nodeType":"ParameterList","parameters":[],"src":"207423:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32908,"nodeType":"FunctionDefinition","src":"208229:1420:19","nodes":[],"body":{"id":32907,"nodeType":"Block","src":"208301:1348:19","nodes":[],"statements":[{"assignments":[32880],"declarations":[{"constant":false,"id":32880,"mutability":"mutable","name":"m0","nameLocation":"208319:2:19","nodeType":"VariableDeclaration","scope":32907,"src":"208311:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32879,"name":"bytes32","nodeType":"ElementaryTypeName","src":"208311:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32881,"nodeType":"VariableDeclarationStatement","src":"208311:10:19"},{"assignments":[32883],"declarations":[{"constant":false,"id":32883,"mutability":"mutable","name":"m1","nameLocation":"208339:2:19","nodeType":"VariableDeclaration","scope":32907,"src":"208331:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32882,"name":"bytes32","nodeType":"ElementaryTypeName","src":"208331:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32884,"nodeType":"VariableDeclarationStatement","src":"208331:10:19"},{"assignments":[32886],"declarations":[{"constant":false,"id":32886,"mutability":"mutable","name":"m2","nameLocation":"208359:2:19","nodeType":"VariableDeclaration","scope":32907,"src":"208351:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32885,"name":"bytes32","nodeType":"ElementaryTypeName","src":"208351:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32887,"nodeType":"VariableDeclarationStatement","src":"208351:10:19"},{"assignments":[32889],"declarations":[{"constant":false,"id":32889,"mutability":"mutable","name":"m3","nameLocation":"208379:2:19","nodeType":"VariableDeclaration","scope":32907,"src":"208371:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32888,"name":"bytes32","nodeType":"ElementaryTypeName","src":"208371:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32890,"nodeType":"VariableDeclarationStatement","src":"208371:10:19"},{"assignments":[32892],"declarations":[{"constant":false,"id":32892,"mutability":"mutable","name":"m4","nameLocation":"208399:2:19","nodeType":"VariableDeclaration","scope":32907,"src":"208391:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32891,"name":"bytes32","nodeType":"ElementaryTypeName","src":"208391:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32893,"nodeType":"VariableDeclarationStatement","src":"208391:10:19"},{"assignments":[32895],"declarations":[{"constant":false,"id":32895,"mutability":"mutable","name":"m5","nameLocation":"208419:2:19","nodeType":"VariableDeclaration","scope":32907,"src":"208411:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32894,"name":"bytes32","nodeType":"ElementaryTypeName","src":"208411:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32896,"nodeType":"VariableDeclarationStatement","src":"208411:10:19"},{"assignments":[32898],"declarations":[{"constant":false,"id":32898,"mutability":"mutable","name":"m6","nameLocation":"208439:2:19","nodeType":"VariableDeclaration","scope":32907,"src":"208431:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32897,"name":"bytes32","nodeType":"ElementaryTypeName","src":"208431:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32899,"nodeType":"VariableDeclarationStatement","src":"208431:10:19"},{"AST":{"nativeSrc":"208503:828:19","nodeType":"YulBlock","src":"208503:828:19","statements":[{"body":{"nativeSrc":"208546:313:19","nodeType":"YulBlock","src":"208546:313:19","statements":[{"nativeSrc":"208564:15:19","nodeType":"YulVariableDeclaration","src":"208564:15:19","value":{"kind":"number","nativeSrc":"208578:1:19","nodeType":"YulLiteral","src":"208578:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"208568:6:19","nodeType":"YulTypedName","src":"208568:6:19","type":""}]},{"body":{"nativeSrc":"208649:40:19","nodeType":"YulBlock","src":"208649:40:19","statements":[{"body":{"nativeSrc":"208678:9:19","nodeType":"YulBlock","src":"208678:9:19","statements":[{"nativeSrc":"208680:5:19","nodeType":"YulBreak","src":"208680:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"208666:6:19","nodeType":"YulIdentifier","src":"208666:6:19"},{"name":"w","nativeSrc":"208674:1:19","nodeType":"YulIdentifier","src":"208674:1:19"}],"functionName":{"name":"byte","nativeSrc":"208661:4:19","nodeType":"YulIdentifier","src":"208661:4:19"},"nativeSrc":"208661:15:19","nodeType":"YulFunctionCall","src":"208661:15:19"}],"functionName":{"name":"iszero","nativeSrc":"208654:6:19","nodeType":"YulIdentifier","src":"208654:6:19"},"nativeSrc":"208654:23:19","nodeType":"YulFunctionCall","src":"208654:23:19"},"nativeSrc":"208651:36:19","nodeType":"YulIf","src":"208651:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"208606:6:19","nodeType":"YulIdentifier","src":"208606:6:19"},{"kind":"number","nativeSrc":"208614:4:19","nodeType":"YulLiteral","src":"208614:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"208603:2:19","nodeType":"YulIdentifier","src":"208603:2:19"},"nativeSrc":"208603:16:19","nodeType":"YulFunctionCall","src":"208603:16:19"},"nativeSrc":"208596:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"208620:28:19","nodeType":"YulBlock","src":"208620:28:19","statements":[{"nativeSrc":"208622:24:19","nodeType":"YulAssignment","src":"208622:24:19","value":{"arguments":[{"name":"length","nativeSrc":"208636:6:19","nodeType":"YulIdentifier","src":"208636:6:19"},{"kind":"number","nativeSrc":"208644:1:19","nodeType":"YulLiteral","src":"208644:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"208632:3:19","nodeType":"YulIdentifier","src":"208632:3:19"},"nativeSrc":"208632:14:19","nodeType":"YulFunctionCall","src":"208632:14:19"},"variableNames":[{"name":"length","nativeSrc":"208622:6:19","nodeType":"YulIdentifier","src":"208622:6:19"}]}]},"pre":{"nativeSrc":"208600:2:19","nodeType":"YulBlock","src":"208600:2:19","statements":[]},"src":"208596:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"208713:3:19","nodeType":"YulIdentifier","src":"208713:3:19"},{"name":"length","nativeSrc":"208718:6:19","nodeType":"YulIdentifier","src":"208718:6:19"}],"functionName":{"name":"mstore","nativeSrc":"208706:6:19","nodeType":"YulIdentifier","src":"208706:6:19"},"nativeSrc":"208706:19:19","nodeType":"YulFunctionCall","src":"208706:19:19"},"nativeSrc":"208706:19:19","nodeType":"YulExpressionStatement","src":"208706:19:19"},{"nativeSrc":"208742:37:19","nodeType":"YulVariableDeclaration","src":"208742:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"208759:3:19","nodeType":"YulLiteral","src":"208759:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"208768:1:19","nodeType":"YulLiteral","src":"208768:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"208771:6:19","nodeType":"YulIdentifier","src":"208771:6:19"}],"functionName":{"name":"shl","nativeSrc":"208764:3:19","nodeType":"YulIdentifier","src":"208764:3:19"},"nativeSrc":"208764:14:19","nodeType":"YulFunctionCall","src":"208764:14:19"}],"functionName":{"name":"sub","nativeSrc":"208755:3:19","nodeType":"YulIdentifier","src":"208755:3:19"},"nativeSrc":"208755:24:19","nodeType":"YulFunctionCall","src":"208755:24:19"},"variables":[{"name":"shift","nativeSrc":"208746:5:19","nodeType":"YulTypedName","src":"208746:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"208807:3:19","nodeType":"YulIdentifier","src":"208807:3:19"},{"kind":"number","nativeSrc":"208812:4:19","nodeType":"YulLiteral","src":"208812:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"208803:3:19","nodeType":"YulIdentifier","src":"208803:3:19"},"nativeSrc":"208803:14:19","nodeType":"YulFunctionCall","src":"208803:14:19"},{"arguments":[{"name":"shift","nativeSrc":"208823:5:19","nodeType":"YulIdentifier","src":"208823:5:19"},{"arguments":[{"name":"shift","nativeSrc":"208834:5:19","nodeType":"YulIdentifier","src":"208834:5:19"},{"name":"w","nativeSrc":"208841:1:19","nodeType":"YulIdentifier","src":"208841:1:19"}],"functionName":{"name":"shr","nativeSrc":"208830:3:19","nodeType":"YulIdentifier","src":"208830:3:19"},"nativeSrc":"208830:13:19","nodeType":"YulFunctionCall","src":"208830:13:19"}],"functionName":{"name":"shl","nativeSrc":"208819:3:19","nodeType":"YulIdentifier","src":"208819:3:19"},"nativeSrc":"208819:25:19","nodeType":"YulFunctionCall","src":"208819:25:19"}],"functionName":{"name":"mstore","nativeSrc":"208796:6:19","nodeType":"YulIdentifier","src":"208796:6:19"},"nativeSrc":"208796:49:19","nodeType":"YulFunctionCall","src":"208796:49:19"},"nativeSrc":"208796:49:19","nodeType":"YulExpressionStatement","src":"208796:49:19"}]},"name":"writeString","nativeSrc":"208517:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"208538:3:19","nodeType":"YulTypedName","src":"208538:3:19","type":""},{"name":"w","nativeSrc":"208543:1:19","nodeType":"YulTypedName","src":"208543:1:19","type":""}],"src":"208517:342:19"},{"nativeSrc":"208872:17:19","nodeType":"YulAssignment","src":"208872:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"208884:4:19","nodeType":"YulLiteral","src":"208884:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"208878:5:19","nodeType":"YulIdentifier","src":"208878:5:19"},"nativeSrc":"208878:11:19","nodeType":"YulFunctionCall","src":"208878:11:19"},"variableNames":[{"name":"m0","nativeSrc":"208872:2:19","nodeType":"YulIdentifier","src":"208872:2:19"}]},{"nativeSrc":"208902:17:19","nodeType":"YulAssignment","src":"208902:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"208914:4:19","nodeType":"YulLiteral","src":"208914:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"208908:5:19","nodeType":"YulIdentifier","src":"208908:5:19"},"nativeSrc":"208908:11:19","nodeType":"YulFunctionCall","src":"208908:11:19"},"variableNames":[{"name":"m1","nativeSrc":"208902:2:19","nodeType":"YulIdentifier","src":"208902:2:19"}]},{"nativeSrc":"208932:17:19","nodeType":"YulAssignment","src":"208932:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"208944:4:19","nodeType":"YulLiteral","src":"208944:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"208938:5:19","nodeType":"YulIdentifier","src":"208938:5:19"},"nativeSrc":"208938:11:19","nodeType":"YulFunctionCall","src":"208938:11:19"},"variableNames":[{"name":"m2","nativeSrc":"208932:2:19","nodeType":"YulIdentifier","src":"208932:2:19"}]},{"nativeSrc":"208962:17:19","nodeType":"YulAssignment","src":"208962:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"208974:4:19","nodeType":"YulLiteral","src":"208974:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"208968:5:19","nodeType":"YulIdentifier","src":"208968:5:19"},"nativeSrc":"208968:11:19","nodeType":"YulFunctionCall","src":"208968:11:19"},"variableNames":[{"name":"m3","nativeSrc":"208962:2:19","nodeType":"YulIdentifier","src":"208962:2:19"}]},{"nativeSrc":"208992:17:19","nodeType":"YulAssignment","src":"208992:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"209004:4:19","nodeType":"YulLiteral","src":"209004:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"208998:5:19","nodeType":"YulIdentifier","src":"208998:5:19"},"nativeSrc":"208998:11:19","nodeType":"YulFunctionCall","src":"208998:11:19"},"variableNames":[{"name":"m4","nativeSrc":"208992:2:19","nodeType":"YulIdentifier","src":"208992:2:19"}]},{"nativeSrc":"209022:17:19","nodeType":"YulAssignment","src":"209022:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"209034:4:19","nodeType":"YulLiteral","src":"209034:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"209028:5:19","nodeType":"YulIdentifier","src":"209028:5:19"},"nativeSrc":"209028:11:19","nodeType":"YulFunctionCall","src":"209028:11:19"},"variableNames":[{"name":"m5","nativeSrc":"209022:2:19","nodeType":"YulIdentifier","src":"209022:2:19"}]},{"nativeSrc":"209052:17:19","nodeType":"YulAssignment","src":"209052:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"209064:4:19","nodeType":"YulLiteral","src":"209064:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"209058:5:19","nodeType":"YulIdentifier","src":"209058:5:19"},"nativeSrc":"209058:11:19","nodeType":"YulFunctionCall","src":"209058:11:19"},"variableNames":[{"name":"m6","nativeSrc":"209052:2:19","nodeType":"YulIdentifier","src":"209052:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209152:4:19","nodeType":"YulLiteral","src":"209152:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"209158:10:19","nodeType":"YulLiteral","src":"209158:10:19","type":"","value":"0x1bb3b09a"}],"functionName":{"name":"mstore","nativeSrc":"209145:6:19","nodeType":"YulIdentifier","src":"209145:6:19"},"nativeSrc":"209145:24:19","nodeType":"YulFunctionCall","src":"209145:24:19"},"nativeSrc":"209145:24:19","nodeType":"YulExpressionStatement","src":"209145:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209189:4:19","nodeType":"YulLiteral","src":"209189:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"209195:2:19","nodeType":"YulIdentifier","src":"209195:2:19"}],"functionName":{"name":"mstore","nativeSrc":"209182:6:19","nodeType":"YulIdentifier","src":"209182:6:19"},"nativeSrc":"209182:16:19","nodeType":"YulFunctionCall","src":"209182:16:19"},"nativeSrc":"209182:16:19","nodeType":"YulExpressionStatement","src":"209182:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209218:4:19","nodeType":"YulLiteral","src":"209218:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"209224:2:19","nodeType":"YulIdentifier","src":"209224:2:19"}],"functionName":{"name":"mstore","nativeSrc":"209211:6:19","nodeType":"YulIdentifier","src":"209211:6:19"},"nativeSrc":"209211:16:19","nodeType":"YulFunctionCall","src":"209211:16:19"},"nativeSrc":"209211:16:19","nodeType":"YulExpressionStatement","src":"209211:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209247:4:19","nodeType":"YulLiteral","src":"209247:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"209253:2:19","nodeType":"YulIdentifier","src":"209253:2:19"}],"functionName":{"name":"mstore","nativeSrc":"209240:6:19","nodeType":"YulIdentifier","src":"209240:6:19"},"nativeSrc":"209240:16:19","nodeType":"YulFunctionCall","src":"209240:16:19"},"nativeSrc":"209240:16:19","nodeType":"YulExpressionStatement","src":"209240:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209276:4:19","nodeType":"YulLiteral","src":"209276:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"209282:4:19","nodeType":"YulLiteral","src":"209282:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"209269:6:19","nodeType":"YulIdentifier","src":"209269:6:19"},"nativeSrc":"209269:18:19","nodeType":"YulFunctionCall","src":"209269:18:19"},"nativeSrc":"209269:18:19","nodeType":"YulExpressionStatement","src":"209269:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209312:4:19","nodeType":"YulLiteral","src":"209312:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"209318:2:19","nodeType":"YulIdentifier","src":"209318:2:19"}],"functionName":{"name":"writeString","nativeSrc":"209300:11:19","nodeType":"YulIdentifier","src":"209300:11:19"},"nativeSrc":"209300:21:19","nodeType":"YulFunctionCall","src":"209300:21:19"},"nativeSrc":"209300:21:19","nodeType":"YulExpressionStatement","src":"209300:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32880,"isOffset":false,"isSlot":false,"src":"208872:2:19","valueSize":1},{"declaration":32883,"isOffset":false,"isSlot":false,"src":"208902:2:19","valueSize":1},{"declaration":32886,"isOffset":false,"isSlot":false,"src":"208932:2:19","valueSize":1},{"declaration":32889,"isOffset":false,"isSlot":false,"src":"208962:2:19","valueSize":1},{"declaration":32892,"isOffset":false,"isSlot":false,"src":"208992:2:19","valueSize":1},{"declaration":32895,"isOffset":false,"isSlot":false,"src":"209022:2:19","valueSize":1},{"declaration":32898,"isOffset":false,"isSlot":false,"src":"209052:2:19","valueSize":1},{"declaration":32870,"isOffset":false,"isSlot":false,"src":"209195:2:19","valueSize":1},{"declaration":32872,"isOffset":false,"isSlot":false,"src":"209224:2:19","valueSize":1},{"declaration":32874,"isOffset":false,"isSlot":false,"src":"209253:2:19","valueSize":1},{"declaration":32876,"isOffset":false,"isSlot":false,"src":"209318:2:19","valueSize":1}],"id":32900,"nodeType":"InlineAssembly","src":"208494:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"209356:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":32903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"209362:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":32901,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"209340:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"209340:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32905,"nodeType":"ExpressionStatement","src":"209340:27:19"},{"AST":{"nativeSrc":"209429:214:19","nodeType":"YulBlock","src":"209429:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"209450:4:19","nodeType":"YulLiteral","src":"209450:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"209456:2:19","nodeType":"YulIdentifier","src":"209456:2:19"}],"functionName":{"name":"mstore","nativeSrc":"209443:6:19","nodeType":"YulIdentifier","src":"209443:6:19"},"nativeSrc":"209443:16:19","nodeType":"YulFunctionCall","src":"209443:16:19"},"nativeSrc":"209443:16:19","nodeType":"YulExpressionStatement","src":"209443:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209479:4:19","nodeType":"YulLiteral","src":"209479:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"209485:2:19","nodeType":"YulIdentifier","src":"209485:2:19"}],"functionName":{"name":"mstore","nativeSrc":"209472:6:19","nodeType":"YulIdentifier","src":"209472:6:19"},"nativeSrc":"209472:16:19","nodeType":"YulFunctionCall","src":"209472:16:19"},"nativeSrc":"209472:16:19","nodeType":"YulExpressionStatement","src":"209472:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209508:4:19","nodeType":"YulLiteral","src":"209508:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"209514:2:19","nodeType":"YulIdentifier","src":"209514:2:19"}],"functionName":{"name":"mstore","nativeSrc":"209501:6:19","nodeType":"YulIdentifier","src":"209501:6:19"},"nativeSrc":"209501:16:19","nodeType":"YulFunctionCall","src":"209501:16:19"},"nativeSrc":"209501:16:19","nodeType":"YulExpressionStatement","src":"209501:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209537:4:19","nodeType":"YulLiteral","src":"209537:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"209543:2:19","nodeType":"YulIdentifier","src":"209543:2:19"}],"functionName":{"name":"mstore","nativeSrc":"209530:6:19","nodeType":"YulIdentifier","src":"209530:6:19"},"nativeSrc":"209530:16:19","nodeType":"YulFunctionCall","src":"209530:16:19"},"nativeSrc":"209530:16:19","nodeType":"YulExpressionStatement","src":"209530:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209566:4:19","nodeType":"YulLiteral","src":"209566:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"209572:2:19","nodeType":"YulIdentifier","src":"209572:2:19"}],"functionName":{"name":"mstore","nativeSrc":"209559:6:19","nodeType":"YulIdentifier","src":"209559:6:19"},"nativeSrc":"209559:16:19","nodeType":"YulFunctionCall","src":"209559:16:19"},"nativeSrc":"209559:16:19","nodeType":"YulExpressionStatement","src":"209559:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209595:4:19","nodeType":"YulLiteral","src":"209595:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"209601:2:19","nodeType":"YulIdentifier","src":"209601:2:19"}],"functionName":{"name":"mstore","nativeSrc":"209588:6:19","nodeType":"YulIdentifier","src":"209588:6:19"},"nativeSrc":"209588:16:19","nodeType":"YulFunctionCall","src":"209588:16:19"},"nativeSrc":"209588:16:19","nodeType":"YulExpressionStatement","src":"209588:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"209624:4:19","nodeType":"YulLiteral","src":"209624:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"209630:2:19","nodeType":"YulIdentifier","src":"209630:2:19"}],"functionName":{"name":"mstore","nativeSrc":"209617:6:19","nodeType":"YulIdentifier","src":"209617:6:19"},"nativeSrc":"209617:16:19","nodeType":"YulFunctionCall","src":"209617:16:19"},"nativeSrc":"209617:16:19","nodeType":"YulExpressionStatement","src":"209617:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32880,"isOffset":false,"isSlot":false,"src":"209456:2:19","valueSize":1},{"declaration":32883,"isOffset":false,"isSlot":false,"src":"209485:2:19","valueSize":1},{"declaration":32886,"isOffset":false,"isSlot":false,"src":"209514:2:19","valueSize":1},{"declaration":32889,"isOffset":false,"isSlot":false,"src":"209543:2:19","valueSize":1},{"declaration":32892,"isOffset":false,"isSlot":false,"src":"209572:2:19","valueSize":1},{"declaration":32895,"isOffset":false,"isSlot":false,"src":"209601:2:19","valueSize":1},{"declaration":32898,"isOffset":false,"isSlot":false,"src":"209630:2:19","valueSize":1}],"id":32906,"nodeType":"InlineAssembly","src":"209420:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"208238:3:19","parameters":{"id":32877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32870,"mutability":"mutable","name":"p0","nameLocation":"208247:2:19","nodeType":"VariableDeclaration","scope":32908,"src":"208242:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32869,"name":"bool","nodeType":"ElementaryTypeName","src":"208242:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32872,"mutability":"mutable","name":"p1","nameLocation":"208259:2:19","nodeType":"VariableDeclaration","scope":32908,"src":"208251:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32871,"name":"uint256","nodeType":"ElementaryTypeName","src":"208251:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32874,"mutability":"mutable","name":"p2","nameLocation":"208271:2:19","nodeType":"VariableDeclaration","scope":32908,"src":"208263:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32873,"name":"address","nodeType":"ElementaryTypeName","src":"208263:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32876,"mutability":"mutable","name":"p3","nameLocation":"208283:2:19","nodeType":"VariableDeclaration","scope":32908,"src":"208275:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32875,"name":"bytes32","nodeType":"ElementaryTypeName","src":"208275:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"208241:45:19"},"returnParameters":{"id":32878,"nodeType":"ParameterList","parameters":[],"src":"208301:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32942,"nodeType":"FunctionDefinition","src":"209655:866:19","nodes":[],"body":{"id":32941,"nodeType":"Block","src":"209724:797:19","nodes":[],"statements":[{"assignments":[32920],"declarations":[{"constant":false,"id":32920,"mutability":"mutable","name":"m0","nameLocation":"209742:2:19","nodeType":"VariableDeclaration","scope":32941,"src":"209734:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32919,"name":"bytes32","nodeType":"ElementaryTypeName","src":"209734:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32921,"nodeType":"VariableDeclarationStatement","src":"209734:10:19"},{"assignments":[32923],"declarations":[{"constant":false,"id":32923,"mutability":"mutable","name":"m1","nameLocation":"209762:2:19","nodeType":"VariableDeclaration","scope":32941,"src":"209754:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32922,"name":"bytes32","nodeType":"ElementaryTypeName","src":"209754:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32924,"nodeType":"VariableDeclarationStatement","src":"209754:10:19"},{"assignments":[32926],"declarations":[{"constant":false,"id":32926,"mutability":"mutable","name":"m2","nameLocation":"209782:2:19","nodeType":"VariableDeclaration","scope":32941,"src":"209774:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32925,"name":"bytes32","nodeType":"ElementaryTypeName","src":"209774:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32927,"nodeType":"VariableDeclarationStatement","src":"209774:10:19"},{"assignments":[32929],"declarations":[{"constant":false,"id":32929,"mutability":"mutable","name":"m3","nameLocation":"209802:2:19","nodeType":"VariableDeclaration","scope":32941,"src":"209794:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32928,"name":"bytes32","nodeType":"ElementaryTypeName","src":"209794:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32930,"nodeType":"VariableDeclarationStatement","src":"209794:10:19"},{"assignments":[32932],"declarations":[{"constant":false,"id":32932,"mutability":"mutable","name":"m4","nameLocation":"209822:2:19","nodeType":"VariableDeclaration","scope":32941,"src":"209814:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32931,"name":"bytes32","nodeType":"ElementaryTypeName","src":"209814:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32933,"nodeType":"VariableDeclarationStatement","src":"209814:10:19"},{"AST":{"nativeSrc":"209886:375:19","nodeType":"YulBlock","src":"209886:375:19","statements":[{"nativeSrc":"209900:17:19","nodeType":"YulAssignment","src":"209900:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"209912:4:19","nodeType":"YulLiteral","src":"209912:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"209906:5:19","nodeType":"YulIdentifier","src":"209906:5:19"},"nativeSrc":"209906:11:19","nodeType":"YulFunctionCall","src":"209906:11:19"},"variableNames":[{"name":"m0","nativeSrc":"209900:2:19","nodeType":"YulIdentifier","src":"209900:2:19"}]},{"nativeSrc":"209930:17:19","nodeType":"YulAssignment","src":"209930:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"209942:4:19","nodeType":"YulLiteral","src":"209942:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"209936:5:19","nodeType":"YulIdentifier","src":"209936:5:19"},"nativeSrc":"209936:11:19","nodeType":"YulFunctionCall","src":"209936:11:19"},"variableNames":[{"name":"m1","nativeSrc":"209930:2:19","nodeType":"YulIdentifier","src":"209930:2:19"}]},{"nativeSrc":"209960:17:19","nodeType":"YulAssignment","src":"209960:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"209972:4:19","nodeType":"YulLiteral","src":"209972:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"209966:5:19","nodeType":"YulIdentifier","src":"209966:5:19"},"nativeSrc":"209966:11:19","nodeType":"YulFunctionCall","src":"209966:11:19"},"variableNames":[{"name":"m2","nativeSrc":"209960:2:19","nodeType":"YulIdentifier","src":"209960:2:19"}]},{"nativeSrc":"209990:17:19","nodeType":"YulAssignment","src":"209990:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"210002:4:19","nodeType":"YulLiteral","src":"210002:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"209996:5:19","nodeType":"YulIdentifier","src":"209996:5:19"},"nativeSrc":"209996:11:19","nodeType":"YulFunctionCall","src":"209996:11:19"},"variableNames":[{"name":"m3","nativeSrc":"209990:2:19","nodeType":"YulIdentifier","src":"209990:2:19"}]},{"nativeSrc":"210020:17:19","nodeType":"YulAssignment","src":"210020:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"210032:4:19","nodeType":"YulLiteral","src":"210032:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"210026:5:19","nodeType":"YulIdentifier","src":"210026:5:19"},"nativeSrc":"210026:11:19","nodeType":"YulFunctionCall","src":"210026:11:19"},"variableNames":[{"name":"m4","nativeSrc":"210020:2:19","nodeType":"YulIdentifier","src":"210020:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210118:4:19","nodeType":"YulLiteral","src":"210118:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"210124:10:19","nodeType":"YulLiteral","src":"210124:10:19","type":"","value":"0x9acd3616"}],"functionName":{"name":"mstore","nativeSrc":"210111:6:19","nodeType":"YulIdentifier","src":"210111:6:19"},"nativeSrc":"210111:24:19","nodeType":"YulFunctionCall","src":"210111:24:19"},"nativeSrc":"210111:24:19","nodeType":"YulExpressionStatement","src":"210111:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210155:4:19","nodeType":"YulLiteral","src":"210155:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"210161:2:19","nodeType":"YulIdentifier","src":"210161:2:19"}],"functionName":{"name":"mstore","nativeSrc":"210148:6:19","nodeType":"YulIdentifier","src":"210148:6:19"},"nativeSrc":"210148:16:19","nodeType":"YulFunctionCall","src":"210148:16:19"},"nativeSrc":"210148:16:19","nodeType":"YulExpressionStatement","src":"210148:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210184:4:19","nodeType":"YulLiteral","src":"210184:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"210190:2:19","nodeType":"YulIdentifier","src":"210190:2:19"}],"functionName":{"name":"mstore","nativeSrc":"210177:6:19","nodeType":"YulIdentifier","src":"210177:6:19"},"nativeSrc":"210177:16:19","nodeType":"YulFunctionCall","src":"210177:16:19"},"nativeSrc":"210177:16:19","nodeType":"YulExpressionStatement","src":"210177:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210213:4:19","nodeType":"YulLiteral","src":"210213:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"210219:2:19","nodeType":"YulIdentifier","src":"210219:2:19"}],"functionName":{"name":"mstore","nativeSrc":"210206:6:19","nodeType":"YulIdentifier","src":"210206:6:19"},"nativeSrc":"210206:16:19","nodeType":"YulFunctionCall","src":"210206:16:19"},"nativeSrc":"210206:16:19","nodeType":"YulExpressionStatement","src":"210206:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210242:4:19","nodeType":"YulLiteral","src":"210242:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"210248:2:19","nodeType":"YulIdentifier","src":"210248:2:19"}],"functionName":{"name":"mstore","nativeSrc":"210235:6:19","nodeType":"YulIdentifier","src":"210235:6:19"},"nativeSrc":"210235:16:19","nodeType":"YulFunctionCall","src":"210235:16:19"},"nativeSrc":"210235:16:19","nodeType":"YulExpressionStatement","src":"210235:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32920,"isOffset":false,"isSlot":false,"src":"209900:2:19","valueSize":1},{"declaration":32923,"isOffset":false,"isSlot":false,"src":"209930:2:19","valueSize":1},{"declaration":32926,"isOffset":false,"isSlot":false,"src":"209960:2:19","valueSize":1},{"declaration":32929,"isOffset":false,"isSlot":false,"src":"209990:2:19","valueSize":1},{"declaration":32932,"isOffset":false,"isSlot":false,"src":"210020:2:19","valueSize":1},{"declaration":32910,"isOffset":false,"isSlot":false,"src":"210161:2:19","valueSize":1},{"declaration":32912,"isOffset":false,"isSlot":false,"src":"210190:2:19","valueSize":1},{"declaration":32914,"isOffset":false,"isSlot":false,"src":"210219:2:19","valueSize":1},{"declaration":32916,"isOffset":false,"isSlot":false,"src":"210248:2:19","valueSize":1}],"id":32934,"nodeType":"InlineAssembly","src":"209877:384:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"210286:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"210292:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32935,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"210270:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"210270:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32939,"nodeType":"ExpressionStatement","src":"210270:27:19"},{"AST":{"nativeSrc":"210359:156:19","nodeType":"YulBlock","src":"210359:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"210380:4:19","nodeType":"YulLiteral","src":"210380:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"210386:2:19","nodeType":"YulIdentifier","src":"210386:2:19"}],"functionName":{"name":"mstore","nativeSrc":"210373:6:19","nodeType":"YulIdentifier","src":"210373:6:19"},"nativeSrc":"210373:16:19","nodeType":"YulFunctionCall","src":"210373:16:19"},"nativeSrc":"210373:16:19","nodeType":"YulExpressionStatement","src":"210373:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210409:4:19","nodeType":"YulLiteral","src":"210409:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"210415:2:19","nodeType":"YulIdentifier","src":"210415:2:19"}],"functionName":{"name":"mstore","nativeSrc":"210402:6:19","nodeType":"YulIdentifier","src":"210402:6:19"},"nativeSrc":"210402:16:19","nodeType":"YulFunctionCall","src":"210402:16:19"},"nativeSrc":"210402:16:19","nodeType":"YulExpressionStatement","src":"210402:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210438:4:19","nodeType":"YulLiteral","src":"210438:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"210444:2:19","nodeType":"YulIdentifier","src":"210444:2:19"}],"functionName":{"name":"mstore","nativeSrc":"210431:6:19","nodeType":"YulIdentifier","src":"210431:6:19"},"nativeSrc":"210431:16:19","nodeType":"YulFunctionCall","src":"210431:16:19"},"nativeSrc":"210431:16:19","nodeType":"YulExpressionStatement","src":"210431:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210467:4:19","nodeType":"YulLiteral","src":"210467:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"210473:2:19","nodeType":"YulIdentifier","src":"210473:2:19"}],"functionName":{"name":"mstore","nativeSrc":"210460:6:19","nodeType":"YulIdentifier","src":"210460:6:19"},"nativeSrc":"210460:16:19","nodeType":"YulFunctionCall","src":"210460:16:19"},"nativeSrc":"210460:16:19","nodeType":"YulExpressionStatement","src":"210460:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210496:4:19","nodeType":"YulLiteral","src":"210496:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"210502:2:19","nodeType":"YulIdentifier","src":"210502:2:19"}],"functionName":{"name":"mstore","nativeSrc":"210489:6:19","nodeType":"YulIdentifier","src":"210489:6:19"},"nativeSrc":"210489:16:19","nodeType":"YulFunctionCall","src":"210489:16:19"},"nativeSrc":"210489:16:19","nodeType":"YulExpressionStatement","src":"210489:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32920,"isOffset":false,"isSlot":false,"src":"210386:2:19","valueSize":1},{"declaration":32923,"isOffset":false,"isSlot":false,"src":"210415:2:19","valueSize":1},{"declaration":32926,"isOffset":false,"isSlot":false,"src":"210444:2:19","valueSize":1},{"declaration":32929,"isOffset":false,"isSlot":false,"src":"210473:2:19","valueSize":1},{"declaration":32932,"isOffset":false,"isSlot":false,"src":"210502:2:19","valueSize":1}],"id":32940,"nodeType":"InlineAssembly","src":"210350:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"209664:3:19","parameters":{"id":32917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32910,"mutability":"mutable","name":"p0","nameLocation":"209673:2:19","nodeType":"VariableDeclaration","scope":32942,"src":"209668:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32909,"name":"bool","nodeType":"ElementaryTypeName","src":"209668:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32912,"mutability":"mutable","name":"p1","nameLocation":"209685:2:19","nodeType":"VariableDeclaration","scope":32942,"src":"209677:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32911,"name":"uint256","nodeType":"ElementaryTypeName","src":"209677:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32914,"mutability":"mutable","name":"p2","nameLocation":"209694:2:19","nodeType":"VariableDeclaration","scope":32942,"src":"209689:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32913,"name":"bool","nodeType":"ElementaryTypeName","src":"209689:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32916,"mutability":"mutable","name":"p3","nameLocation":"209706:2:19","nodeType":"VariableDeclaration","scope":32942,"src":"209698:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32915,"name":"address","nodeType":"ElementaryTypeName","src":"209698:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"209667:42:19"},"returnParameters":{"id":32918,"nodeType":"ParameterList","parameters":[],"src":"209724:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":32976,"nodeType":"FunctionDefinition","src":"210527:860:19","nodes":[],"body":{"id":32975,"nodeType":"Block","src":"210593:794:19","nodes":[],"statements":[{"assignments":[32954],"declarations":[{"constant":false,"id":32954,"mutability":"mutable","name":"m0","nameLocation":"210611:2:19","nodeType":"VariableDeclaration","scope":32975,"src":"210603:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32953,"name":"bytes32","nodeType":"ElementaryTypeName","src":"210603:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32955,"nodeType":"VariableDeclarationStatement","src":"210603:10:19"},{"assignments":[32957],"declarations":[{"constant":false,"id":32957,"mutability":"mutable","name":"m1","nameLocation":"210631:2:19","nodeType":"VariableDeclaration","scope":32975,"src":"210623:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32956,"name":"bytes32","nodeType":"ElementaryTypeName","src":"210623:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32958,"nodeType":"VariableDeclarationStatement","src":"210623:10:19"},{"assignments":[32960],"declarations":[{"constant":false,"id":32960,"mutability":"mutable","name":"m2","nameLocation":"210651:2:19","nodeType":"VariableDeclaration","scope":32975,"src":"210643:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32959,"name":"bytes32","nodeType":"ElementaryTypeName","src":"210643:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32961,"nodeType":"VariableDeclarationStatement","src":"210643:10:19"},{"assignments":[32963],"declarations":[{"constant":false,"id":32963,"mutability":"mutable","name":"m3","nameLocation":"210671:2:19","nodeType":"VariableDeclaration","scope":32975,"src":"210663:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32962,"name":"bytes32","nodeType":"ElementaryTypeName","src":"210663:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32964,"nodeType":"VariableDeclarationStatement","src":"210663:10:19"},{"assignments":[32966],"declarations":[{"constant":false,"id":32966,"mutability":"mutable","name":"m4","nameLocation":"210691:2:19","nodeType":"VariableDeclaration","scope":32975,"src":"210683:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32965,"name":"bytes32","nodeType":"ElementaryTypeName","src":"210683:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32967,"nodeType":"VariableDeclarationStatement","src":"210683:10:19"},{"AST":{"nativeSrc":"210755:372:19","nodeType":"YulBlock","src":"210755:372:19","statements":[{"nativeSrc":"210769:17:19","nodeType":"YulAssignment","src":"210769:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"210781:4:19","nodeType":"YulLiteral","src":"210781:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"210775:5:19","nodeType":"YulIdentifier","src":"210775:5:19"},"nativeSrc":"210775:11:19","nodeType":"YulFunctionCall","src":"210775:11:19"},"variableNames":[{"name":"m0","nativeSrc":"210769:2:19","nodeType":"YulIdentifier","src":"210769:2:19"}]},{"nativeSrc":"210799:17:19","nodeType":"YulAssignment","src":"210799:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"210811:4:19","nodeType":"YulLiteral","src":"210811:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"210805:5:19","nodeType":"YulIdentifier","src":"210805:5:19"},"nativeSrc":"210805:11:19","nodeType":"YulFunctionCall","src":"210805:11:19"},"variableNames":[{"name":"m1","nativeSrc":"210799:2:19","nodeType":"YulIdentifier","src":"210799:2:19"}]},{"nativeSrc":"210829:17:19","nodeType":"YulAssignment","src":"210829:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"210841:4:19","nodeType":"YulLiteral","src":"210841:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"210835:5:19","nodeType":"YulIdentifier","src":"210835:5:19"},"nativeSrc":"210835:11:19","nodeType":"YulFunctionCall","src":"210835:11:19"},"variableNames":[{"name":"m2","nativeSrc":"210829:2:19","nodeType":"YulIdentifier","src":"210829:2:19"}]},{"nativeSrc":"210859:17:19","nodeType":"YulAssignment","src":"210859:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"210871:4:19","nodeType":"YulLiteral","src":"210871:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"210865:5:19","nodeType":"YulIdentifier","src":"210865:5:19"},"nativeSrc":"210865:11:19","nodeType":"YulFunctionCall","src":"210865:11:19"},"variableNames":[{"name":"m3","nativeSrc":"210859:2:19","nodeType":"YulIdentifier","src":"210859:2:19"}]},{"nativeSrc":"210889:17:19","nodeType":"YulAssignment","src":"210889:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"210901:4:19","nodeType":"YulLiteral","src":"210901:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"210895:5:19","nodeType":"YulIdentifier","src":"210895:5:19"},"nativeSrc":"210895:11:19","nodeType":"YulFunctionCall","src":"210895:11:19"},"variableNames":[{"name":"m4","nativeSrc":"210889:2:19","nodeType":"YulIdentifier","src":"210889:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"210984:4:19","nodeType":"YulLiteral","src":"210984:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"210990:10:19","nodeType":"YulLiteral","src":"210990:10:19","type":"","value":"0xceb5f4d7"}],"functionName":{"name":"mstore","nativeSrc":"210977:6:19","nodeType":"YulIdentifier","src":"210977:6:19"},"nativeSrc":"210977:24:19","nodeType":"YulFunctionCall","src":"210977:24:19"},"nativeSrc":"210977:24:19","nodeType":"YulExpressionStatement","src":"210977:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211021:4:19","nodeType":"YulLiteral","src":"211021:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"211027:2:19","nodeType":"YulIdentifier","src":"211027:2:19"}],"functionName":{"name":"mstore","nativeSrc":"211014:6:19","nodeType":"YulIdentifier","src":"211014:6:19"},"nativeSrc":"211014:16:19","nodeType":"YulFunctionCall","src":"211014:16:19"},"nativeSrc":"211014:16:19","nodeType":"YulExpressionStatement","src":"211014:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211050:4:19","nodeType":"YulLiteral","src":"211050:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"211056:2:19","nodeType":"YulIdentifier","src":"211056:2:19"}],"functionName":{"name":"mstore","nativeSrc":"211043:6:19","nodeType":"YulIdentifier","src":"211043:6:19"},"nativeSrc":"211043:16:19","nodeType":"YulFunctionCall","src":"211043:16:19"},"nativeSrc":"211043:16:19","nodeType":"YulExpressionStatement","src":"211043:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211079:4:19","nodeType":"YulLiteral","src":"211079:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"211085:2:19","nodeType":"YulIdentifier","src":"211085:2:19"}],"functionName":{"name":"mstore","nativeSrc":"211072:6:19","nodeType":"YulIdentifier","src":"211072:6:19"},"nativeSrc":"211072:16:19","nodeType":"YulFunctionCall","src":"211072:16:19"},"nativeSrc":"211072:16:19","nodeType":"YulExpressionStatement","src":"211072:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211108:4:19","nodeType":"YulLiteral","src":"211108:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"211114:2:19","nodeType":"YulIdentifier","src":"211114:2:19"}],"functionName":{"name":"mstore","nativeSrc":"211101:6:19","nodeType":"YulIdentifier","src":"211101:6:19"},"nativeSrc":"211101:16:19","nodeType":"YulFunctionCall","src":"211101:16:19"},"nativeSrc":"211101:16:19","nodeType":"YulExpressionStatement","src":"211101:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32954,"isOffset":false,"isSlot":false,"src":"210769:2:19","valueSize":1},{"declaration":32957,"isOffset":false,"isSlot":false,"src":"210799:2:19","valueSize":1},{"declaration":32960,"isOffset":false,"isSlot":false,"src":"210829:2:19","valueSize":1},{"declaration":32963,"isOffset":false,"isSlot":false,"src":"210859:2:19","valueSize":1},{"declaration":32966,"isOffset":false,"isSlot":false,"src":"210889:2:19","valueSize":1},{"declaration":32944,"isOffset":false,"isSlot":false,"src":"211027:2:19","valueSize":1},{"declaration":32946,"isOffset":false,"isSlot":false,"src":"211056:2:19","valueSize":1},{"declaration":32948,"isOffset":false,"isSlot":false,"src":"211085:2:19","valueSize":1},{"declaration":32950,"isOffset":false,"isSlot":false,"src":"211114:2:19","valueSize":1}],"id":32968,"nodeType":"InlineAssembly","src":"210746:381:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":32970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"211152:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":32971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"211158:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":32969,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"211136:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":32972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"211136:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32973,"nodeType":"ExpressionStatement","src":"211136:27:19"},{"AST":{"nativeSrc":"211225:156:19","nodeType":"YulBlock","src":"211225:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"211246:4:19","nodeType":"YulLiteral","src":"211246:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"211252:2:19","nodeType":"YulIdentifier","src":"211252:2:19"}],"functionName":{"name":"mstore","nativeSrc":"211239:6:19","nodeType":"YulIdentifier","src":"211239:6:19"},"nativeSrc":"211239:16:19","nodeType":"YulFunctionCall","src":"211239:16:19"},"nativeSrc":"211239:16:19","nodeType":"YulExpressionStatement","src":"211239:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211275:4:19","nodeType":"YulLiteral","src":"211275:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"211281:2:19","nodeType":"YulIdentifier","src":"211281:2:19"}],"functionName":{"name":"mstore","nativeSrc":"211268:6:19","nodeType":"YulIdentifier","src":"211268:6:19"},"nativeSrc":"211268:16:19","nodeType":"YulFunctionCall","src":"211268:16:19"},"nativeSrc":"211268:16:19","nodeType":"YulExpressionStatement","src":"211268:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211304:4:19","nodeType":"YulLiteral","src":"211304:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"211310:2:19","nodeType":"YulIdentifier","src":"211310:2:19"}],"functionName":{"name":"mstore","nativeSrc":"211297:6:19","nodeType":"YulIdentifier","src":"211297:6:19"},"nativeSrc":"211297:16:19","nodeType":"YulFunctionCall","src":"211297:16:19"},"nativeSrc":"211297:16:19","nodeType":"YulExpressionStatement","src":"211297:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211333:4:19","nodeType":"YulLiteral","src":"211333:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"211339:2:19","nodeType":"YulIdentifier","src":"211339:2:19"}],"functionName":{"name":"mstore","nativeSrc":"211326:6:19","nodeType":"YulIdentifier","src":"211326:6:19"},"nativeSrc":"211326:16:19","nodeType":"YulFunctionCall","src":"211326:16:19"},"nativeSrc":"211326:16:19","nodeType":"YulExpressionStatement","src":"211326:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211362:4:19","nodeType":"YulLiteral","src":"211362:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"211368:2:19","nodeType":"YulIdentifier","src":"211368:2:19"}],"functionName":{"name":"mstore","nativeSrc":"211355:6:19","nodeType":"YulIdentifier","src":"211355:6:19"},"nativeSrc":"211355:16:19","nodeType":"YulFunctionCall","src":"211355:16:19"},"nativeSrc":"211355:16:19","nodeType":"YulExpressionStatement","src":"211355:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32954,"isOffset":false,"isSlot":false,"src":"211252:2:19","valueSize":1},{"declaration":32957,"isOffset":false,"isSlot":false,"src":"211281:2:19","valueSize":1},{"declaration":32960,"isOffset":false,"isSlot":false,"src":"211310:2:19","valueSize":1},{"declaration":32963,"isOffset":false,"isSlot":false,"src":"211339:2:19","valueSize":1},{"declaration":32966,"isOffset":false,"isSlot":false,"src":"211368:2:19","valueSize":1}],"id":32974,"nodeType":"InlineAssembly","src":"211216:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"210536:3:19","parameters":{"id":32951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32944,"mutability":"mutable","name":"p0","nameLocation":"210545:2:19","nodeType":"VariableDeclaration","scope":32976,"src":"210540:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32943,"name":"bool","nodeType":"ElementaryTypeName","src":"210540:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32946,"mutability":"mutable","name":"p1","nameLocation":"210557:2:19","nodeType":"VariableDeclaration","scope":32976,"src":"210549:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32945,"name":"uint256","nodeType":"ElementaryTypeName","src":"210549:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32948,"mutability":"mutable","name":"p2","nameLocation":"210566:2:19","nodeType":"VariableDeclaration","scope":32976,"src":"210561:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32947,"name":"bool","nodeType":"ElementaryTypeName","src":"210561:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32950,"mutability":"mutable","name":"p3","nameLocation":"210575:2:19","nodeType":"VariableDeclaration","scope":32976,"src":"210570:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32949,"name":"bool","nodeType":"ElementaryTypeName","src":"210570:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"210539:39:19"},"returnParameters":{"id":32952,"nodeType":"ParameterList","parameters":[],"src":"210593:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33010,"nodeType":"FunctionDefinition","src":"211393:866:19","nodes":[],"body":{"id":33009,"nodeType":"Block","src":"211462:797:19","nodes":[],"statements":[{"assignments":[32988],"declarations":[{"constant":false,"id":32988,"mutability":"mutable","name":"m0","nameLocation":"211480:2:19","nodeType":"VariableDeclaration","scope":33009,"src":"211472:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32987,"name":"bytes32","nodeType":"ElementaryTypeName","src":"211472:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32989,"nodeType":"VariableDeclarationStatement","src":"211472:10:19"},{"assignments":[32991],"declarations":[{"constant":false,"id":32991,"mutability":"mutable","name":"m1","nameLocation":"211500:2:19","nodeType":"VariableDeclaration","scope":33009,"src":"211492:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32990,"name":"bytes32","nodeType":"ElementaryTypeName","src":"211492:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32992,"nodeType":"VariableDeclarationStatement","src":"211492:10:19"},{"assignments":[32994],"declarations":[{"constant":false,"id":32994,"mutability":"mutable","name":"m2","nameLocation":"211520:2:19","nodeType":"VariableDeclaration","scope":33009,"src":"211512:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32993,"name":"bytes32","nodeType":"ElementaryTypeName","src":"211512:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32995,"nodeType":"VariableDeclarationStatement","src":"211512:10:19"},{"assignments":[32997],"declarations":[{"constant":false,"id":32997,"mutability":"mutable","name":"m3","nameLocation":"211540:2:19","nodeType":"VariableDeclaration","scope":33009,"src":"211532:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32996,"name":"bytes32","nodeType":"ElementaryTypeName","src":"211532:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":32998,"nodeType":"VariableDeclarationStatement","src":"211532:10:19"},{"assignments":[33000],"declarations":[{"constant":false,"id":33000,"mutability":"mutable","name":"m4","nameLocation":"211560:2:19","nodeType":"VariableDeclaration","scope":33009,"src":"211552:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32999,"name":"bytes32","nodeType":"ElementaryTypeName","src":"211552:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33001,"nodeType":"VariableDeclarationStatement","src":"211552:10:19"},{"AST":{"nativeSrc":"211624:375:19","nodeType":"YulBlock","src":"211624:375:19","statements":[{"nativeSrc":"211638:17:19","nodeType":"YulAssignment","src":"211638:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"211650:4:19","nodeType":"YulLiteral","src":"211650:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"211644:5:19","nodeType":"YulIdentifier","src":"211644:5:19"},"nativeSrc":"211644:11:19","nodeType":"YulFunctionCall","src":"211644:11:19"},"variableNames":[{"name":"m0","nativeSrc":"211638:2:19","nodeType":"YulIdentifier","src":"211638:2:19"}]},{"nativeSrc":"211668:17:19","nodeType":"YulAssignment","src":"211668:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"211680:4:19","nodeType":"YulLiteral","src":"211680:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"211674:5:19","nodeType":"YulIdentifier","src":"211674:5:19"},"nativeSrc":"211674:11:19","nodeType":"YulFunctionCall","src":"211674:11:19"},"variableNames":[{"name":"m1","nativeSrc":"211668:2:19","nodeType":"YulIdentifier","src":"211668:2:19"}]},{"nativeSrc":"211698:17:19","nodeType":"YulAssignment","src":"211698:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"211710:4:19","nodeType":"YulLiteral","src":"211710:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"211704:5:19","nodeType":"YulIdentifier","src":"211704:5:19"},"nativeSrc":"211704:11:19","nodeType":"YulFunctionCall","src":"211704:11:19"},"variableNames":[{"name":"m2","nativeSrc":"211698:2:19","nodeType":"YulIdentifier","src":"211698:2:19"}]},{"nativeSrc":"211728:17:19","nodeType":"YulAssignment","src":"211728:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"211740:4:19","nodeType":"YulLiteral","src":"211740:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"211734:5:19","nodeType":"YulIdentifier","src":"211734:5:19"},"nativeSrc":"211734:11:19","nodeType":"YulFunctionCall","src":"211734:11:19"},"variableNames":[{"name":"m3","nativeSrc":"211728:2:19","nodeType":"YulIdentifier","src":"211728:2:19"}]},{"nativeSrc":"211758:17:19","nodeType":"YulAssignment","src":"211758:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"211770:4:19","nodeType":"YulLiteral","src":"211770:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"211764:5:19","nodeType":"YulIdentifier","src":"211764:5:19"},"nativeSrc":"211764:11:19","nodeType":"YulFunctionCall","src":"211764:11:19"},"variableNames":[{"name":"m4","nativeSrc":"211758:2:19","nodeType":"YulIdentifier","src":"211758:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211856:4:19","nodeType":"YulLiteral","src":"211856:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"211862:10:19","nodeType":"YulLiteral","src":"211862:10:19","type":"","value":"0x7f9bbca2"}],"functionName":{"name":"mstore","nativeSrc":"211849:6:19","nodeType":"YulIdentifier","src":"211849:6:19"},"nativeSrc":"211849:24:19","nodeType":"YulFunctionCall","src":"211849:24:19"},"nativeSrc":"211849:24:19","nodeType":"YulExpressionStatement","src":"211849:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211893:4:19","nodeType":"YulLiteral","src":"211893:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"211899:2:19","nodeType":"YulIdentifier","src":"211899:2:19"}],"functionName":{"name":"mstore","nativeSrc":"211886:6:19","nodeType":"YulIdentifier","src":"211886:6:19"},"nativeSrc":"211886:16:19","nodeType":"YulFunctionCall","src":"211886:16:19"},"nativeSrc":"211886:16:19","nodeType":"YulExpressionStatement","src":"211886:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211922:4:19","nodeType":"YulLiteral","src":"211922:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"211928:2:19","nodeType":"YulIdentifier","src":"211928:2:19"}],"functionName":{"name":"mstore","nativeSrc":"211915:6:19","nodeType":"YulIdentifier","src":"211915:6:19"},"nativeSrc":"211915:16:19","nodeType":"YulFunctionCall","src":"211915:16:19"},"nativeSrc":"211915:16:19","nodeType":"YulExpressionStatement","src":"211915:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211951:4:19","nodeType":"YulLiteral","src":"211951:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"211957:2:19","nodeType":"YulIdentifier","src":"211957:2:19"}],"functionName":{"name":"mstore","nativeSrc":"211944:6:19","nodeType":"YulIdentifier","src":"211944:6:19"},"nativeSrc":"211944:16:19","nodeType":"YulFunctionCall","src":"211944:16:19"},"nativeSrc":"211944:16:19","nodeType":"YulExpressionStatement","src":"211944:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"211980:4:19","nodeType":"YulLiteral","src":"211980:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"211986:2:19","nodeType":"YulIdentifier","src":"211986:2:19"}],"functionName":{"name":"mstore","nativeSrc":"211973:6:19","nodeType":"YulIdentifier","src":"211973:6:19"},"nativeSrc":"211973:16:19","nodeType":"YulFunctionCall","src":"211973:16:19"},"nativeSrc":"211973:16:19","nodeType":"YulExpressionStatement","src":"211973:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32988,"isOffset":false,"isSlot":false,"src":"211638:2:19","valueSize":1},{"declaration":32991,"isOffset":false,"isSlot":false,"src":"211668:2:19","valueSize":1},{"declaration":32994,"isOffset":false,"isSlot":false,"src":"211698:2:19","valueSize":1},{"declaration":32997,"isOffset":false,"isSlot":false,"src":"211728:2:19","valueSize":1},{"declaration":33000,"isOffset":false,"isSlot":false,"src":"211758:2:19","valueSize":1},{"declaration":32978,"isOffset":false,"isSlot":false,"src":"211899:2:19","valueSize":1},{"declaration":32980,"isOffset":false,"isSlot":false,"src":"211928:2:19","valueSize":1},{"declaration":32982,"isOffset":false,"isSlot":false,"src":"211957:2:19","valueSize":1},{"declaration":32984,"isOffset":false,"isSlot":false,"src":"211986:2:19","valueSize":1}],"id":33002,"nodeType":"InlineAssembly","src":"211615:384:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"212024:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":33005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"212030:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":33003,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"212008:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"212008:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33007,"nodeType":"ExpressionStatement","src":"212008:27:19"},{"AST":{"nativeSrc":"212097:156:19","nodeType":"YulBlock","src":"212097:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"212118:4:19","nodeType":"YulLiteral","src":"212118:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"212124:2:19","nodeType":"YulIdentifier","src":"212124:2:19"}],"functionName":{"name":"mstore","nativeSrc":"212111:6:19","nodeType":"YulIdentifier","src":"212111:6:19"},"nativeSrc":"212111:16:19","nodeType":"YulFunctionCall","src":"212111:16:19"},"nativeSrc":"212111:16:19","nodeType":"YulExpressionStatement","src":"212111:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"212147:4:19","nodeType":"YulLiteral","src":"212147:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"212153:2:19","nodeType":"YulIdentifier","src":"212153:2:19"}],"functionName":{"name":"mstore","nativeSrc":"212140:6:19","nodeType":"YulIdentifier","src":"212140:6:19"},"nativeSrc":"212140:16:19","nodeType":"YulFunctionCall","src":"212140:16:19"},"nativeSrc":"212140:16:19","nodeType":"YulExpressionStatement","src":"212140:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"212176:4:19","nodeType":"YulLiteral","src":"212176:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"212182:2:19","nodeType":"YulIdentifier","src":"212182:2:19"}],"functionName":{"name":"mstore","nativeSrc":"212169:6:19","nodeType":"YulIdentifier","src":"212169:6:19"},"nativeSrc":"212169:16:19","nodeType":"YulFunctionCall","src":"212169:16:19"},"nativeSrc":"212169:16:19","nodeType":"YulExpressionStatement","src":"212169:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"212205:4:19","nodeType":"YulLiteral","src":"212205:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"212211:2:19","nodeType":"YulIdentifier","src":"212211:2:19"}],"functionName":{"name":"mstore","nativeSrc":"212198:6:19","nodeType":"YulIdentifier","src":"212198:6:19"},"nativeSrc":"212198:16:19","nodeType":"YulFunctionCall","src":"212198:16:19"},"nativeSrc":"212198:16:19","nodeType":"YulExpressionStatement","src":"212198:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"212234:4:19","nodeType":"YulLiteral","src":"212234:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"212240:2:19","nodeType":"YulIdentifier","src":"212240:2:19"}],"functionName":{"name":"mstore","nativeSrc":"212227:6:19","nodeType":"YulIdentifier","src":"212227:6:19"},"nativeSrc":"212227:16:19","nodeType":"YulFunctionCall","src":"212227:16:19"},"nativeSrc":"212227:16:19","nodeType":"YulExpressionStatement","src":"212227:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":32988,"isOffset":false,"isSlot":false,"src":"212124:2:19","valueSize":1},{"declaration":32991,"isOffset":false,"isSlot":false,"src":"212153:2:19","valueSize":1},{"declaration":32994,"isOffset":false,"isSlot":false,"src":"212182:2:19","valueSize":1},{"declaration":32997,"isOffset":false,"isSlot":false,"src":"212211:2:19","valueSize":1},{"declaration":33000,"isOffset":false,"isSlot":false,"src":"212240:2:19","valueSize":1}],"id":33008,"nodeType":"InlineAssembly","src":"212088:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"211402:3:19","parameters":{"id":32985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32978,"mutability":"mutable","name":"p0","nameLocation":"211411:2:19","nodeType":"VariableDeclaration","scope":33010,"src":"211406:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32977,"name":"bool","nodeType":"ElementaryTypeName","src":"211406:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32980,"mutability":"mutable","name":"p1","nameLocation":"211423:2:19","nodeType":"VariableDeclaration","scope":33010,"src":"211415:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32979,"name":"uint256","nodeType":"ElementaryTypeName","src":"211415:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32982,"mutability":"mutable","name":"p2","nameLocation":"211432:2:19","nodeType":"VariableDeclaration","scope":33010,"src":"211427:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32981,"name":"bool","nodeType":"ElementaryTypeName","src":"211427:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32984,"mutability":"mutable","name":"p3","nameLocation":"211444:2:19","nodeType":"VariableDeclaration","scope":33010,"src":"211436:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32983,"name":"uint256","nodeType":"ElementaryTypeName","src":"211436:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"211405:42:19"},"returnParameters":{"id":32986,"nodeType":"ParameterList","parameters":[],"src":"211462:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33050,"nodeType":"FunctionDefinition","src":"212265:1414:19","nodes":[],"body":{"id":33049,"nodeType":"Block","src":"212334:1345:19","nodes":[],"statements":[{"assignments":[33022],"declarations":[{"constant":false,"id":33022,"mutability":"mutable","name":"m0","nameLocation":"212352:2:19","nodeType":"VariableDeclaration","scope":33049,"src":"212344:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33021,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212344:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33023,"nodeType":"VariableDeclarationStatement","src":"212344:10:19"},{"assignments":[33025],"declarations":[{"constant":false,"id":33025,"mutability":"mutable","name":"m1","nameLocation":"212372:2:19","nodeType":"VariableDeclaration","scope":33049,"src":"212364:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33024,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212364:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33026,"nodeType":"VariableDeclarationStatement","src":"212364:10:19"},{"assignments":[33028],"declarations":[{"constant":false,"id":33028,"mutability":"mutable","name":"m2","nameLocation":"212392:2:19","nodeType":"VariableDeclaration","scope":33049,"src":"212384:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33027,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212384:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33029,"nodeType":"VariableDeclarationStatement","src":"212384:10:19"},{"assignments":[33031],"declarations":[{"constant":false,"id":33031,"mutability":"mutable","name":"m3","nameLocation":"212412:2:19","nodeType":"VariableDeclaration","scope":33049,"src":"212404:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33030,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212404:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33032,"nodeType":"VariableDeclarationStatement","src":"212404:10:19"},{"assignments":[33034],"declarations":[{"constant":false,"id":33034,"mutability":"mutable","name":"m4","nameLocation":"212432:2:19","nodeType":"VariableDeclaration","scope":33049,"src":"212424:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33033,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212424:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33035,"nodeType":"VariableDeclarationStatement","src":"212424:10:19"},{"assignments":[33037],"declarations":[{"constant":false,"id":33037,"mutability":"mutable","name":"m5","nameLocation":"212452:2:19","nodeType":"VariableDeclaration","scope":33049,"src":"212444:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33036,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212444:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33038,"nodeType":"VariableDeclarationStatement","src":"212444:10:19"},{"assignments":[33040],"declarations":[{"constant":false,"id":33040,"mutability":"mutable","name":"m6","nameLocation":"212472:2:19","nodeType":"VariableDeclaration","scope":33049,"src":"212464:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33039,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212464:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33041,"nodeType":"VariableDeclarationStatement","src":"212464:10:19"},{"AST":{"nativeSrc":"212536:825:19","nodeType":"YulBlock","src":"212536:825:19","statements":[{"body":{"nativeSrc":"212579:313:19","nodeType":"YulBlock","src":"212579:313:19","statements":[{"nativeSrc":"212597:15:19","nodeType":"YulVariableDeclaration","src":"212597:15:19","value":{"kind":"number","nativeSrc":"212611:1:19","nodeType":"YulLiteral","src":"212611:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"212601:6:19","nodeType":"YulTypedName","src":"212601:6:19","type":""}]},{"body":{"nativeSrc":"212682:40:19","nodeType":"YulBlock","src":"212682:40:19","statements":[{"body":{"nativeSrc":"212711:9:19","nodeType":"YulBlock","src":"212711:9:19","statements":[{"nativeSrc":"212713:5:19","nodeType":"YulBreak","src":"212713:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"212699:6:19","nodeType":"YulIdentifier","src":"212699:6:19"},{"name":"w","nativeSrc":"212707:1:19","nodeType":"YulIdentifier","src":"212707:1:19"}],"functionName":{"name":"byte","nativeSrc":"212694:4:19","nodeType":"YulIdentifier","src":"212694:4:19"},"nativeSrc":"212694:15:19","nodeType":"YulFunctionCall","src":"212694:15:19"}],"functionName":{"name":"iszero","nativeSrc":"212687:6:19","nodeType":"YulIdentifier","src":"212687:6:19"},"nativeSrc":"212687:23:19","nodeType":"YulFunctionCall","src":"212687:23:19"},"nativeSrc":"212684:36:19","nodeType":"YulIf","src":"212684:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"212639:6:19","nodeType":"YulIdentifier","src":"212639:6:19"},{"kind":"number","nativeSrc":"212647:4:19","nodeType":"YulLiteral","src":"212647:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"212636:2:19","nodeType":"YulIdentifier","src":"212636:2:19"},"nativeSrc":"212636:16:19","nodeType":"YulFunctionCall","src":"212636:16:19"},"nativeSrc":"212629:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"212653:28:19","nodeType":"YulBlock","src":"212653:28:19","statements":[{"nativeSrc":"212655:24:19","nodeType":"YulAssignment","src":"212655:24:19","value":{"arguments":[{"name":"length","nativeSrc":"212669:6:19","nodeType":"YulIdentifier","src":"212669:6:19"},{"kind":"number","nativeSrc":"212677:1:19","nodeType":"YulLiteral","src":"212677:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"212665:3:19","nodeType":"YulIdentifier","src":"212665:3:19"},"nativeSrc":"212665:14:19","nodeType":"YulFunctionCall","src":"212665:14:19"},"variableNames":[{"name":"length","nativeSrc":"212655:6:19","nodeType":"YulIdentifier","src":"212655:6:19"}]}]},"pre":{"nativeSrc":"212633:2:19","nodeType":"YulBlock","src":"212633:2:19","statements":[]},"src":"212629:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"212746:3:19","nodeType":"YulIdentifier","src":"212746:3:19"},{"name":"length","nativeSrc":"212751:6:19","nodeType":"YulIdentifier","src":"212751:6:19"}],"functionName":{"name":"mstore","nativeSrc":"212739:6:19","nodeType":"YulIdentifier","src":"212739:6:19"},"nativeSrc":"212739:19:19","nodeType":"YulFunctionCall","src":"212739:19:19"},"nativeSrc":"212739:19:19","nodeType":"YulExpressionStatement","src":"212739:19:19"},{"nativeSrc":"212775:37:19","nodeType":"YulVariableDeclaration","src":"212775:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"212792:3:19","nodeType":"YulLiteral","src":"212792:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"212801:1:19","nodeType":"YulLiteral","src":"212801:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"212804:6:19","nodeType":"YulIdentifier","src":"212804:6:19"}],"functionName":{"name":"shl","nativeSrc":"212797:3:19","nodeType":"YulIdentifier","src":"212797:3:19"},"nativeSrc":"212797:14:19","nodeType":"YulFunctionCall","src":"212797:14:19"}],"functionName":{"name":"sub","nativeSrc":"212788:3:19","nodeType":"YulIdentifier","src":"212788:3:19"},"nativeSrc":"212788:24:19","nodeType":"YulFunctionCall","src":"212788:24:19"},"variables":[{"name":"shift","nativeSrc":"212779:5:19","nodeType":"YulTypedName","src":"212779:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"212840:3:19","nodeType":"YulIdentifier","src":"212840:3:19"},{"kind":"number","nativeSrc":"212845:4:19","nodeType":"YulLiteral","src":"212845:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"212836:3:19","nodeType":"YulIdentifier","src":"212836:3:19"},"nativeSrc":"212836:14:19","nodeType":"YulFunctionCall","src":"212836:14:19"},{"arguments":[{"name":"shift","nativeSrc":"212856:5:19","nodeType":"YulIdentifier","src":"212856:5:19"},{"arguments":[{"name":"shift","nativeSrc":"212867:5:19","nodeType":"YulIdentifier","src":"212867:5:19"},{"name":"w","nativeSrc":"212874:1:19","nodeType":"YulIdentifier","src":"212874:1:19"}],"functionName":{"name":"shr","nativeSrc":"212863:3:19","nodeType":"YulIdentifier","src":"212863:3:19"},"nativeSrc":"212863:13:19","nodeType":"YulFunctionCall","src":"212863:13:19"}],"functionName":{"name":"shl","nativeSrc":"212852:3:19","nodeType":"YulIdentifier","src":"212852:3:19"},"nativeSrc":"212852:25:19","nodeType":"YulFunctionCall","src":"212852:25:19"}],"functionName":{"name":"mstore","nativeSrc":"212829:6:19","nodeType":"YulIdentifier","src":"212829:6:19"},"nativeSrc":"212829:49:19","nodeType":"YulFunctionCall","src":"212829:49:19"},"nativeSrc":"212829:49:19","nodeType":"YulExpressionStatement","src":"212829:49:19"}]},"name":"writeString","nativeSrc":"212550:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"212571:3:19","nodeType":"YulTypedName","src":"212571:3:19","type":""},{"name":"w","nativeSrc":"212576:1:19","nodeType":"YulTypedName","src":"212576:1:19","type":""}],"src":"212550:342:19"},{"nativeSrc":"212905:17:19","nodeType":"YulAssignment","src":"212905:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"212917:4:19","nodeType":"YulLiteral","src":"212917:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"212911:5:19","nodeType":"YulIdentifier","src":"212911:5:19"},"nativeSrc":"212911:11:19","nodeType":"YulFunctionCall","src":"212911:11:19"},"variableNames":[{"name":"m0","nativeSrc":"212905:2:19","nodeType":"YulIdentifier","src":"212905:2:19"}]},{"nativeSrc":"212935:17:19","nodeType":"YulAssignment","src":"212935:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"212947:4:19","nodeType":"YulLiteral","src":"212947:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"212941:5:19","nodeType":"YulIdentifier","src":"212941:5:19"},"nativeSrc":"212941:11:19","nodeType":"YulFunctionCall","src":"212941:11:19"},"variableNames":[{"name":"m1","nativeSrc":"212935:2:19","nodeType":"YulIdentifier","src":"212935:2:19"}]},{"nativeSrc":"212965:17:19","nodeType":"YulAssignment","src":"212965:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"212977:4:19","nodeType":"YulLiteral","src":"212977:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"212971:5:19","nodeType":"YulIdentifier","src":"212971:5:19"},"nativeSrc":"212971:11:19","nodeType":"YulFunctionCall","src":"212971:11:19"},"variableNames":[{"name":"m2","nativeSrc":"212965:2:19","nodeType":"YulIdentifier","src":"212965:2:19"}]},{"nativeSrc":"212995:17:19","nodeType":"YulAssignment","src":"212995:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"213007:4:19","nodeType":"YulLiteral","src":"213007:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"213001:5:19","nodeType":"YulIdentifier","src":"213001:5:19"},"nativeSrc":"213001:11:19","nodeType":"YulFunctionCall","src":"213001:11:19"},"variableNames":[{"name":"m3","nativeSrc":"212995:2:19","nodeType":"YulIdentifier","src":"212995:2:19"}]},{"nativeSrc":"213025:17:19","nodeType":"YulAssignment","src":"213025:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"213037:4:19","nodeType":"YulLiteral","src":"213037:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"213031:5:19","nodeType":"YulIdentifier","src":"213031:5:19"},"nativeSrc":"213031:11:19","nodeType":"YulFunctionCall","src":"213031:11:19"},"variableNames":[{"name":"m4","nativeSrc":"213025:2:19","nodeType":"YulIdentifier","src":"213025:2:19"}]},{"nativeSrc":"213055:17:19","nodeType":"YulAssignment","src":"213055:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"213067:4:19","nodeType":"YulLiteral","src":"213067:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"213061:5:19","nodeType":"YulIdentifier","src":"213061:5:19"},"nativeSrc":"213061:11:19","nodeType":"YulFunctionCall","src":"213061:11:19"},"variableNames":[{"name":"m5","nativeSrc":"213055:2:19","nodeType":"YulIdentifier","src":"213055:2:19"}]},{"nativeSrc":"213085:17:19","nodeType":"YulAssignment","src":"213085:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"213097:4:19","nodeType":"YulLiteral","src":"213097:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"213091:5:19","nodeType":"YulIdentifier","src":"213091:5:19"},"nativeSrc":"213091:11:19","nodeType":"YulFunctionCall","src":"213091:11:19"},"variableNames":[{"name":"m6","nativeSrc":"213085:2:19","nodeType":"YulIdentifier","src":"213085:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213182:4:19","nodeType":"YulLiteral","src":"213182:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"213188:10:19","nodeType":"YulLiteral","src":"213188:10:19","type":"","value":"0x9143dbb1"}],"functionName":{"name":"mstore","nativeSrc":"213175:6:19","nodeType":"YulIdentifier","src":"213175:6:19"},"nativeSrc":"213175:24:19","nodeType":"YulFunctionCall","src":"213175:24:19"},"nativeSrc":"213175:24:19","nodeType":"YulExpressionStatement","src":"213175:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213219:4:19","nodeType":"YulLiteral","src":"213219:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"213225:2:19","nodeType":"YulIdentifier","src":"213225:2:19"}],"functionName":{"name":"mstore","nativeSrc":"213212:6:19","nodeType":"YulIdentifier","src":"213212:6:19"},"nativeSrc":"213212:16:19","nodeType":"YulFunctionCall","src":"213212:16:19"},"nativeSrc":"213212:16:19","nodeType":"YulExpressionStatement","src":"213212:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213248:4:19","nodeType":"YulLiteral","src":"213248:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"213254:2:19","nodeType":"YulIdentifier","src":"213254:2:19"}],"functionName":{"name":"mstore","nativeSrc":"213241:6:19","nodeType":"YulIdentifier","src":"213241:6:19"},"nativeSrc":"213241:16:19","nodeType":"YulFunctionCall","src":"213241:16:19"},"nativeSrc":"213241:16:19","nodeType":"YulExpressionStatement","src":"213241:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213277:4:19","nodeType":"YulLiteral","src":"213277:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"213283:2:19","nodeType":"YulIdentifier","src":"213283:2:19"}],"functionName":{"name":"mstore","nativeSrc":"213270:6:19","nodeType":"YulIdentifier","src":"213270:6:19"},"nativeSrc":"213270:16:19","nodeType":"YulFunctionCall","src":"213270:16:19"},"nativeSrc":"213270:16:19","nodeType":"YulExpressionStatement","src":"213270:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213306:4:19","nodeType":"YulLiteral","src":"213306:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"213312:4:19","nodeType":"YulLiteral","src":"213312:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"213299:6:19","nodeType":"YulIdentifier","src":"213299:6:19"},"nativeSrc":"213299:18:19","nodeType":"YulFunctionCall","src":"213299:18:19"},"nativeSrc":"213299:18:19","nodeType":"YulExpressionStatement","src":"213299:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213342:4:19","nodeType":"YulLiteral","src":"213342:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"213348:2:19","nodeType":"YulIdentifier","src":"213348:2:19"}],"functionName":{"name":"writeString","nativeSrc":"213330:11:19","nodeType":"YulIdentifier","src":"213330:11:19"},"nativeSrc":"213330:21:19","nodeType":"YulFunctionCall","src":"213330:21:19"},"nativeSrc":"213330:21:19","nodeType":"YulExpressionStatement","src":"213330:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33022,"isOffset":false,"isSlot":false,"src":"212905:2:19","valueSize":1},{"declaration":33025,"isOffset":false,"isSlot":false,"src":"212935:2:19","valueSize":1},{"declaration":33028,"isOffset":false,"isSlot":false,"src":"212965:2:19","valueSize":1},{"declaration":33031,"isOffset":false,"isSlot":false,"src":"212995:2:19","valueSize":1},{"declaration":33034,"isOffset":false,"isSlot":false,"src":"213025:2:19","valueSize":1},{"declaration":33037,"isOffset":false,"isSlot":false,"src":"213055:2:19","valueSize":1},{"declaration":33040,"isOffset":false,"isSlot":false,"src":"213085:2:19","valueSize":1},{"declaration":33012,"isOffset":false,"isSlot":false,"src":"213225:2:19","valueSize":1},{"declaration":33014,"isOffset":false,"isSlot":false,"src":"213254:2:19","valueSize":1},{"declaration":33016,"isOffset":false,"isSlot":false,"src":"213283:2:19","valueSize":1},{"declaration":33018,"isOffset":false,"isSlot":false,"src":"213348:2:19","valueSize":1}],"id":33042,"nodeType":"InlineAssembly","src":"212527:834:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"213386:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"213392:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33043,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"213370:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"213370:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33047,"nodeType":"ExpressionStatement","src":"213370:27:19"},{"AST":{"nativeSrc":"213459:214:19","nodeType":"YulBlock","src":"213459:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"213480:4:19","nodeType":"YulLiteral","src":"213480:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"213486:2:19","nodeType":"YulIdentifier","src":"213486:2:19"}],"functionName":{"name":"mstore","nativeSrc":"213473:6:19","nodeType":"YulIdentifier","src":"213473:6:19"},"nativeSrc":"213473:16:19","nodeType":"YulFunctionCall","src":"213473:16:19"},"nativeSrc":"213473:16:19","nodeType":"YulExpressionStatement","src":"213473:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213509:4:19","nodeType":"YulLiteral","src":"213509:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"213515:2:19","nodeType":"YulIdentifier","src":"213515:2:19"}],"functionName":{"name":"mstore","nativeSrc":"213502:6:19","nodeType":"YulIdentifier","src":"213502:6:19"},"nativeSrc":"213502:16:19","nodeType":"YulFunctionCall","src":"213502:16:19"},"nativeSrc":"213502:16:19","nodeType":"YulExpressionStatement","src":"213502:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213538:4:19","nodeType":"YulLiteral","src":"213538:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"213544:2:19","nodeType":"YulIdentifier","src":"213544:2:19"}],"functionName":{"name":"mstore","nativeSrc":"213531:6:19","nodeType":"YulIdentifier","src":"213531:6:19"},"nativeSrc":"213531:16:19","nodeType":"YulFunctionCall","src":"213531:16:19"},"nativeSrc":"213531:16:19","nodeType":"YulExpressionStatement","src":"213531:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213567:4:19","nodeType":"YulLiteral","src":"213567:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"213573:2:19","nodeType":"YulIdentifier","src":"213573:2:19"}],"functionName":{"name":"mstore","nativeSrc":"213560:6:19","nodeType":"YulIdentifier","src":"213560:6:19"},"nativeSrc":"213560:16:19","nodeType":"YulFunctionCall","src":"213560:16:19"},"nativeSrc":"213560:16:19","nodeType":"YulExpressionStatement","src":"213560:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213596:4:19","nodeType":"YulLiteral","src":"213596:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"213602:2:19","nodeType":"YulIdentifier","src":"213602:2:19"}],"functionName":{"name":"mstore","nativeSrc":"213589:6:19","nodeType":"YulIdentifier","src":"213589:6:19"},"nativeSrc":"213589:16:19","nodeType":"YulFunctionCall","src":"213589:16:19"},"nativeSrc":"213589:16:19","nodeType":"YulExpressionStatement","src":"213589:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213625:4:19","nodeType":"YulLiteral","src":"213625:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"213631:2:19","nodeType":"YulIdentifier","src":"213631:2:19"}],"functionName":{"name":"mstore","nativeSrc":"213618:6:19","nodeType":"YulIdentifier","src":"213618:6:19"},"nativeSrc":"213618:16:19","nodeType":"YulFunctionCall","src":"213618:16:19"},"nativeSrc":"213618:16:19","nodeType":"YulExpressionStatement","src":"213618:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"213654:4:19","nodeType":"YulLiteral","src":"213654:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"213660:2:19","nodeType":"YulIdentifier","src":"213660:2:19"}],"functionName":{"name":"mstore","nativeSrc":"213647:6:19","nodeType":"YulIdentifier","src":"213647:6:19"},"nativeSrc":"213647:16:19","nodeType":"YulFunctionCall","src":"213647:16:19"},"nativeSrc":"213647:16:19","nodeType":"YulExpressionStatement","src":"213647:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33022,"isOffset":false,"isSlot":false,"src":"213486:2:19","valueSize":1},{"declaration":33025,"isOffset":false,"isSlot":false,"src":"213515:2:19","valueSize":1},{"declaration":33028,"isOffset":false,"isSlot":false,"src":"213544:2:19","valueSize":1},{"declaration":33031,"isOffset":false,"isSlot":false,"src":"213573:2:19","valueSize":1},{"declaration":33034,"isOffset":false,"isSlot":false,"src":"213602:2:19","valueSize":1},{"declaration":33037,"isOffset":false,"isSlot":false,"src":"213631:2:19","valueSize":1},{"declaration":33040,"isOffset":false,"isSlot":false,"src":"213660:2:19","valueSize":1}],"id":33048,"nodeType":"InlineAssembly","src":"213450:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"212274:3:19","parameters":{"id":33019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33012,"mutability":"mutable","name":"p0","nameLocation":"212283:2:19","nodeType":"VariableDeclaration","scope":33050,"src":"212278:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33011,"name":"bool","nodeType":"ElementaryTypeName","src":"212278:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33014,"mutability":"mutable","name":"p1","nameLocation":"212295:2:19","nodeType":"VariableDeclaration","scope":33050,"src":"212287:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33013,"name":"uint256","nodeType":"ElementaryTypeName","src":"212287:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33016,"mutability":"mutable","name":"p2","nameLocation":"212304:2:19","nodeType":"VariableDeclaration","scope":33050,"src":"212299:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33015,"name":"bool","nodeType":"ElementaryTypeName","src":"212299:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33018,"mutability":"mutable","name":"p3","nameLocation":"212316:2:19","nodeType":"VariableDeclaration","scope":33050,"src":"212308:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33017,"name":"bytes32","nodeType":"ElementaryTypeName","src":"212308:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"212277:42:19"},"returnParameters":{"id":33020,"nodeType":"ParameterList","parameters":[],"src":"212334:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33084,"nodeType":"FunctionDefinition","src":"213685:872:19","nodes":[],"body":{"id":33083,"nodeType":"Block","src":"213757:800:19","nodes":[],"statements":[{"assignments":[33062],"declarations":[{"constant":false,"id":33062,"mutability":"mutable","name":"m0","nameLocation":"213775:2:19","nodeType":"VariableDeclaration","scope":33083,"src":"213767:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33061,"name":"bytes32","nodeType":"ElementaryTypeName","src":"213767:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33063,"nodeType":"VariableDeclarationStatement","src":"213767:10:19"},{"assignments":[33065],"declarations":[{"constant":false,"id":33065,"mutability":"mutable","name":"m1","nameLocation":"213795:2:19","nodeType":"VariableDeclaration","scope":33083,"src":"213787:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33064,"name":"bytes32","nodeType":"ElementaryTypeName","src":"213787:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33066,"nodeType":"VariableDeclarationStatement","src":"213787:10:19"},{"assignments":[33068],"declarations":[{"constant":false,"id":33068,"mutability":"mutable","name":"m2","nameLocation":"213815:2:19","nodeType":"VariableDeclaration","scope":33083,"src":"213807:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33067,"name":"bytes32","nodeType":"ElementaryTypeName","src":"213807:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33069,"nodeType":"VariableDeclarationStatement","src":"213807:10:19"},{"assignments":[33071],"declarations":[{"constant":false,"id":33071,"mutability":"mutable","name":"m3","nameLocation":"213835:2:19","nodeType":"VariableDeclaration","scope":33083,"src":"213827:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33070,"name":"bytes32","nodeType":"ElementaryTypeName","src":"213827:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33072,"nodeType":"VariableDeclarationStatement","src":"213827:10:19"},{"assignments":[33074],"declarations":[{"constant":false,"id":33074,"mutability":"mutable","name":"m4","nameLocation":"213855:2:19","nodeType":"VariableDeclaration","scope":33083,"src":"213847:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33073,"name":"bytes32","nodeType":"ElementaryTypeName","src":"213847:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33075,"nodeType":"VariableDeclarationStatement","src":"213847:10:19"},{"AST":{"nativeSrc":"213919:378:19","nodeType":"YulBlock","src":"213919:378:19","statements":[{"nativeSrc":"213933:17:19","nodeType":"YulAssignment","src":"213933:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"213945:4:19","nodeType":"YulLiteral","src":"213945:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"213939:5:19","nodeType":"YulIdentifier","src":"213939:5:19"},"nativeSrc":"213939:11:19","nodeType":"YulFunctionCall","src":"213939:11:19"},"variableNames":[{"name":"m0","nativeSrc":"213933:2:19","nodeType":"YulIdentifier","src":"213933:2:19"}]},{"nativeSrc":"213963:17:19","nodeType":"YulAssignment","src":"213963:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"213975:4:19","nodeType":"YulLiteral","src":"213975:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"213969:5:19","nodeType":"YulIdentifier","src":"213969:5:19"},"nativeSrc":"213969:11:19","nodeType":"YulFunctionCall","src":"213969:11:19"},"variableNames":[{"name":"m1","nativeSrc":"213963:2:19","nodeType":"YulIdentifier","src":"213963:2:19"}]},{"nativeSrc":"213993:17:19","nodeType":"YulAssignment","src":"213993:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"214005:4:19","nodeType":"YulLiteral","src":"214005:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"213999:5:19","nodeType":"YulIdentifier","src":"213999:5:19"},"nativeSrc":"213999:11:19","nodeType":"YulFunctionCall","src":"213999:11:19"},"variableNames":[{"name":"m2","nativeSrc":"213993:2:19","nodeType":"YulIdentifier","src":"213993:2:19"}]},{"nativeSrc":"214023:17:19","nodeType":"YulAssignment","src":"214023:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"214035:4:19","nodeType":"YulLiteral","src":"214035:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"214029:5:19","nodeType":"YulIdentifier","src":"214029:5:19"},"nativeSrc":"214029:11:19","nodeType":"YulFunctionCall","src":"214029:11:19"},"variableNames":[{"name":"m3","nativeSrc":"214023:2:19","nodeType":"YulIdentifier","src":"214023:2:19"}]},{"nativeSrc":"214053:17:19","nodeType":"YulAssignment","src":"214053:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"214065:4:19","nodeType":"YulLiteral","src":"214065:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"214059:5:19","nodeType":"YulIdentifier","src":"214059:5:19"},"nativeSrc":"214059:11:19","nodeType":"YulFunctionCall","src":"214059:11:19"},"variableNames":[{"name":"m4","nativeSrc":"214053:2:19","nodeType":"YulIdentifier","src":"214053:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214154:4:19","nodeType":"YulLiteral","src":"214154:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"214160:10:19","nodeType":"YulLiteral","src":"214160:10:19","type":"","value":"0x00dd87b9"}],"functionName":{"name":"mstore","nativeSrc":"214147:6:19","nodeType":"YulIdentifier","src":"214147:6:19"},"nativeSrc":"214147:24:19","nodeType":"YulFunctionCall","src":"214147:24:19"},"nativeSrc":"214147:24:19","nodeType":"YulExpressionStatement","src":"214147:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214191:4:19","nodeType":"YulLiteral","src":"214191:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"214197:2:19","nodeType":"YulIdentifier","src":"214197:2:19"}],"functionName":{"name":"mstore","nativeSrc":"214184:6:19","nodeType":"YulIdentifier","src":"214184:6:19"},"nativeSrc":"214184:16:19","nodeType":"YulFunctionCall","src":"214184:16:19"},"nativeSrc":"214184:16:19","nodeType":"YulExpressionStatement","src":"214184:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214220:4:19","nodeType":"YulLiteral","src":"214220:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"214226:2:19","nodeType":"YulIdentifier","src":"214226:2:19"}],"functionName":{"name":"mstore","nativeSrc":"214213:6:19","nodeType":"YulIdentifier","src":"214213:6:19"},"nativeSrc":"214213:16:19","nodeType":"YulFunctionCall","src":"214213:16:19"},"nativeSrc":"214213:16:19","nodeType":"YulExpressionStatement","src":"214213:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214249:4:19","nodeType":"YulLiteral","src":"214249:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"214255:2:19","nodeType":"YulIdentifier","src":"214255:2:19"}],"functionName":{"name":"mstore","nativeSrc":"214242:6:19","nodeType":"YulIdentifier","src":"214242:6:19"},"nativeSrc":"214242:16:19","nodeType":"YulFunctionCall","src":"214242:16:19"},"nativeSrc":"214242:16:19","nodeType":"YulExpressionStatement","src":"214242:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214278:4:19","nodeType":"YulLiteral","src":"214278:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"214284:2:19","nodeType":"YulIdentifier","src":"214284:2:19"}],"functionName":{"name":"mstore","nativeSrc":"214271:6:19","nodeType":"YulIdentifier","src":"214271:6:19"},"nativeSrc":"214271:16:19","nodeType":"YulFunctionCall","src":"214271:16:19"},"nativeSrc":"214271:16:19","nodeType":"YulExpressionStatement","src":"214271:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33062,"isOffset":false,"isSlot":false,"src":"213933:2:19","valueSize":1},{"declaration":33065,"isOffset":false,"isSlot":false,"src":"213963:2:19","valueSize":1},{"declaration":33068,"isOffset":false,"isSlot":false,"src":"213993:2:19","valueSize":1},{"declaration":33071,"isOffset":false,"isSlot":false,"src":"214023:2:19","valueSize":1},{"declaration":33074,"isOffset":false,"isSlot":false,"src":"214053:2:19","valueSize":1},{"declaration":33052,"isOffset":false,"isSlot":false,"src":"214197:2:19","valueSize":1},{"declaration":33054,"isOffset":false,"isSlot":false,"src":"214226:2:19","valueSize":1},{"declaration":33056,"isOffset":false,"isSlot":false,"src":"214255:2:19","valueSize":1},{"declaration":33058,"isOffset":false,"isSlot":false,"src":"214284:2:19","valueSize":1}],"id":33076,"nodeType":"InlineAssembly","src":"213910:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"214322:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":33079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"214328:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":33077,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"214306:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"214306:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33081,"nodeType":"ExpressionStatement","src":"214306:27:19"},{"AST":{"nativeSrc":"214395:156:19","nodeType":"YulBlock","src":"214395:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"214416:4:19","nodeType":"YulLiteral","src":"214416:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"214422:2:19","nodeType":"YulIdentifier","src":"214422:2:19"}],"functionName":{"name":"mstore","nativeSrc":"214409:6:19","nodeType":"YulIdentifier","src":"214409:6:19"},"nativeSrc":"214409:16:19","nodeType":"YulFunctionCall","src":"214409:16:19"},"nativeSrc":"214409:16:19","nodeType":"YulExpressionStatement","src":"214409:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214445:4:19","nodeType":"YulLiteral","src":"214445:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"214451:2:19","nodeType":"YulIdentifier","src":"214451:2:19"}],"functionName":{"name":"mstore","nativeSrc":"214438:6:19","nodeType":"YulIdentifier","src":"214438:6:19"},"nativeSrc":"214438:16:19","nodeType":"YulFunctionCall","src":"214438:16:19"},"nativeSrc":"214438:16:19","nodeType":"YulExpressionStatement","src":"214438:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214474:4:19","nodeType":"YulLiteral","src":"214474:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"214480:2:19","nodeType":"YulIdentifier","src":"214480:2:19"}],"functionName":{"name":"mstore","nativeSrc":"214467:6:19","nodeType":"YulIdentifier","src":"214467:6:19"},"nativeSrc":"214467:16:19","nodeType":"YulFunctionCall","src":"214467:16:19"},"nativeSrc":"214467:16:19","nodeType":"YulExpressionStatement","src":"214467:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214503:4:19","nodeType":"YulLiteral","src":"214503:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"214509:2:19","nodeType":"YulIdentifier","src":"214509:2:19"}],"functionName":{"name":"mstore","nativeSrc":"214496:6:19","nodeType":"YulIdentifier","src":"214496:6:19"},"nativeSrc":"214496:16:19","nodeType":"YulFunctionCall","src":"214496:16:19"},"nativeSrc":"214496:16:19","nodeType":"YulExpressionStatement","src":"214496:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"214532:4:19","nodeType":"YulLiteral","src":"214532:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"214538:2:19","nodeType":"YulIdentifier","src":"214538:2:19"}],"functionName":{"name":"mstore","nativeSrc":"214525:6:19","nodeType":"YulIdentifier","src":"214525:6:19"},"nativeSrc":"214525:16:19","nodeType":"YulFunctionCall","src":"214525:16:19"},"nativeSrc":"214525:16:19","nodeType":"YulExpressionStatement","src":"214525:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33062,"isOffset":false,"isSlot":false,"src":"214422:2:19","valueSize":1},{"declaration":33065,"isOffset":false,"isSlot":false,"src":"214451:2:19","valueSize":1},{"declaration":33068,"isOffset":false,"isSlot":false,"src":"214480:2:19","valueSize":1},{"declaration":33071,"isOffset":false,"isSlot":false,"src":"214509:2:19","valueSize":1},{"declaration":33074,"isOffset":false,"isSlot":false,"src":"214538:2:19","valueSize":1}],"id":33082,"nodeType":"InlineAssembly","src":"214386:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"213694:3:19","parameters":{"id":33059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33052,"mutability":"mutable","name":"p0","nameLocation":"213703:2:19","nodeType":"VariableDeclaration","scope":33084,"src":"213698:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33051,"name":"bool","nodeType":"ElementaryTypeName","src":"213698:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33054,"mutability":"mutable","name":"p1","nameLocation":"213715:2:19","nodeType":"VariableDeclaration","scope":33084,"src":"213707:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33053,"name":"uint256","nodeType":"ElementaryTypeName","src":"213707:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33056,"mutability":"mutable","name":"p2","nameLocation":"213727:2:19","nodeType":"VariableDeclaration","scope":33084,"src":"213719:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33055,"name":"uint256","nodeType":"ElementaryTypeName","src":"213719:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33058,"mutability":"mutable","name":"p3","nameLocation":"213739:2:19","nodeType":"VariableDeclaration","scope":33084,"src":"213731:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33057,"name":"address","nodeType":"ElementaryTypeName","src":"213731:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"213697:45:19"},"returnParameters":{"id":33060,"nodeType":"ParameterList","parameters":[],"src":"213757:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33118,"nodeType":"FunctionDefinition","src":"214563:866:19","nodes":[],"body":{"id":33117,"nodeType":"Block","src":"214632:797:19","nodes":[],"statements":[{"assignments":[33096],"declarations":[{"constant":false,"id":33096,"mutability":"mutable","name":"m0","nameLocation":"214650:2:19","nodeType":"VariableDeclaration","scope":33117,"src":"214642:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33095,"name":"bytes32","nodeType":"ElementaryTypeName","src":"214642:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33097,"nodeType":"VariableDeclarationStatement","src":"214642:10:19"},{"assignments":[33099],"declarations":[{"constant":false,"id":33099,"mutability":"mutable","name":"m1","nameLocation":"214670:2:19","nodeType":"VariableDeclaration","scope":33117,"src":"214662:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33098,"name":"bytes32","nodeType":"ElementaryTypeName","src":"214662:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33100,"nodeType":"VariableDeclarationStatement","src":"214662:10:19"},{"assignments":[33102],"declarations":[{"constant":false,"id":33102,"mutability":"mutable","name":"m2","nameLocation":"214690:2:19","nodeType":"VariableDeclaration","scope":33117,"src":"214682:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33101,"name":"bytes32","nodeType":"ElementaryTypeName","src":"214682:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33103,"nodeType":"VariableDeclarationStatement","src":"214682:10:19"},{"assignments":[33105],"declarations":[{"constant":false,"id":33105,"mutability":"mutable","name":"m3","nameLocation":"214710:2:19","nodeType":"VariableDeclaration","scope":33117,"src":"214702:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33104,"name":"bytes32","nodeType":"ElementaryTypeName","src":"214702:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33106,"nodeType":"VariableDeclarationStatement","src":"214702:10:19"},{"assignments":[33108],"declarations":[{"constant":false,"id":33108,"mutability":"mutable","name":"m4","nameLocation":"214730:2:19","nodeType":"VariableDeclaration","scope":33117,"src":"214722:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33107,"name":"bytes32","nodeType":"ElementaryTypeName","src":"214722:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33109,"nodeType":"VariableDeclarationStatement","src":"214722:10:19"},{"AST":{"nativeSrc":"214794:375:19","nodeType":"YulBlock","src":"214794:375:19","statements":[{"nativeSrc":"214808:17:19","nodeType":"YulAssignment","src":"214808:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"214820:4:19","nodeType":"YulLiteral","src":"214820:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"214814:5:19","nodeType":"YulIdentifier","src":"214814:5:19"},"nativeSrc":"214814:11:19","nodeType":"YulFunctionCall","src":"214814:11:19"},"variableNames":[{"name":"m0","nativeSrc":"214808:2:19","nodeType":"YulIdentifier","src":"214808:2:19"}]},{"nativeSrc":"214838:17:19","nodeType":"YulAssignment","src":"214838:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"214850:4:19","nodeType":"YulLiteral","src":"214850:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"214844:5:19","nodeType":"YulIdentifier","src":"214844:5:19"},"nativeSrc":"214844:11:19","nodeType":"YulFunctionCall","src":"214844:11:19"},"variableNames":[{"name":"m1","nativeSrc":"214838:2:19","nodeType":"YulIdentifier","src":"214838:2:19"}]},{"nativeSrc":"214868:17:19","nodeType":"YulAssignment","src":"214868:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"214880:4:19","nodeType":"YulLiteral","src":"214880:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"214874:5:19","nodeType":"YulIdentifier","src":"214874:5:19"},"nativeSrc":"214874:11:19","nodeType":"YulFunctionCall","src":"214874:11:19"},"variableNames":[{"name":"m2","nativeSrc":"214868:2:19","nodeType":"YulIdentifier","src":"214868:2:19"}]},{"nativeSrc":"214898:17:19","nodeType":"YulAssignment","src":"214898:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"214910:4:19","nodeType":"YulLiteral","src":"214910:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"214904:5:19","nodeType":"YulIdentifier","src":"214904:5:19"},"nativeSrc":"214904:11:19","nodeType":"YulFunctionCall","src":"214904:11:19"},"variableNames":[{"name":"m3","nativeSrc":"214898:2:19","nodeType":"YulIdentifier","src":"214898:2:19"}]},{"nativeSrc":"214928:17:19","nodeType":"YulAssignment","src":"214928:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"214940:4:19","nodeType":"YulLiteral","src":"214940:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"214934:5:19","nodeType":"YulIdentifier","src":"214934:5:19"},"nativeSrc":"214934:11:19","nodeType":"YulFunctionCall","src":"214934:11:19"},"variableNames":[{"name":"m4","nativeSrc":"214928:2:19","nodeType":"YulIdentifier","src":"214928:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215026:4:19","nodeType":"YulLiteral","src":"215026:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"215032:10:19","nodeType":"YulLiteral","src":"215032:10:19","type":"","value":"0xbe984353"}],"functionName":{"name":"mstore","nativeSrc":"215019:6:19","nodeType":"YulIdentifier","src":"215019:6:19"},"nativeSrc":"215019:24:19","nodeType":"YulFunctionCall","src":"215019:24:19"},"nativeSrc":"215019:24:19","nodeType":"YulExpressionStatement","src":"215019:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215063:4:19","nodeType":"YulLiteral","src":"215063:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"215069:2:19","nodeType":"YulIdentifier","src":"215069:2:19"}],"functionName":{"name":"mstore","nativeSrc":"215056:6:19","nodeType":"YulIdentifier","src":"215056:6:19"},"nativeSrc":"215056:16:19","nodeType":"YulFunctionCall","src":"215056:16:19"},"nativeSrc":"215056:16:19","nodeType":"YulExpressionStatement","src":"215056:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215092:4:19","nodeType":"YulLiteral","src":"215092:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"215098:2:19","nodeType":"YulIdentifier","src":"215098:2:19"}],"functionName":{"name":"mstore","nativeSrc":"215085:6:19","nodeType":"YulIdentifier","src":"215085:6:19"},"nativeSrc":"215085:16:19","nodeType":"YulFunctionCall","src":"215085:16:19"},"nativeSrc":"215085:16:19","nodeType":"YulExpressionStatement","src":"215085:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215121:4:19","nodeType":"YulLiteral","src":"215121:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"215127:2:19","nodeType":"YulIdentifier","src":"215127:2:19"}],"functionName":{"name":"mstore","nativeSrc":"215114:6:19","nodeType":"YulIdentifier","src":"215114:6:19"},"nativeSrc":"215114:16:19","nodeType":"YulFunctionCall","src":"215114:16:19"},"nativeSrc":"215114:16:19","nodeType":"YulExpressionStatement","src":"215114:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215150:4:19","nodeType":"YulLiteral","src":"215150:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"215156:2:19","nodeType":"YulIdentifier","src":"215156:2:19"}],"functionName":{"name":"mstore","nativeSrc":"215143:6:19","nodeType":"YulIdentifier","src":"215143:6:19"},"nativeSrc":"215143:16:19","nodeType":"YulFunctionCall","src":"215143:16:19"},"nativeSrc":"215143:16:19","nodeType":"YulExpressionStatement","src":"215143:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33096,"isOffset":false,"isSlot":false,"src":"214808:2:19","valueSize":1},{"declaration":33099,"isOffset":false,"isSlot":false,"src":"214838:2:19","valueSize":1},{"declaration":33102,"isOffset":false,"isSlot":false,"src":"214868:2:19","valueSize":1},{"declaration":33105,"isOffset":false,"isSlot":false,"src":"214898:2:19","valueSize":1},{"declaration":33108,"isOffset":false,"isSlot":false,"src":"214928:2:19","valueSize":1},{"declaration":33086,"isOffset":false,"isSlot":false,"src":"215069:2:19","valueSize":1},{"declaration":33088,"isOffset":false,"isSlot":false,"src":"215098:2:19","valueSize":1},{"declaration":33090,"isOffset":false,"isSlot":false,"src":"215127:2:19","valueSize":1},{"declaration":33092,"isOffset":false,"isSlot":false,"src":"215156:2:19","valueSize":1}],"id":33110,"nodeType":"InlineAssembly","src":"214785:384:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"215194:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":33113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"215200:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":33111,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"215178:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"215178:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33115,"nodeType":"ExpressionStatement","src":"215178:27:19"},{"AST":{"nativeSrc":"215267:156:19","nodeType":"YulBlock","src":"215267:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"215288:4:19","nodeType":"YulLiteral","src":"215288:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"215294:2:19","nodeType":"YulIdentifier","src":"215294:2:19"}],"functionName":{"name":"mstore","nativeSrc":"215281:6:19","nodeType":"YulIdentifier","src":"215281:6:19"},"nativeSrc":"215281:16:19","nodeType":"YulFunctionCall","src":"215281:16:19"},"nativeSrc":"215281:16:19","nodeType":"YulExpressionStatement","src":"215281:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215317:4:19","nodeType":"YulLiteral","src":"215317:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"215323:2:19","nodeType":"YulIdentifier","src":"215323:2:19"}],"functionName":{"name":"mstore","nativeSrc":"215310:6:19","nodeType":"YulIdentifier","src":"215310:6:19"},"nativeSrc":"215310:16:19","nodeType":"YulFunctionCall","src":"215310:16:19"},"nativeSrc":"215310:16:19","nodeType":"YulExpressionStatement","src":"215310:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215346:4:19","nodeType":"YulLiteral","src":"215346:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"215352:2:19","nodeType":"YulIdentifier","src":"215352:2:19"}],"functionName":{"name":"mstore","nativeSrc":"215339:6:19","nodeType":"YulIdentifier","src":"215339:6:19"},"nativeSrc":"215339:16:19","nodeType":"YulFunctionCall","src":"215339:16:19"},"nativeSrc":"215339:16:19","nodeType":"YulExpressionStatement","src":"215339:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215375:4:19","nodeType":"YulLiteral","src":"215375:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"215381:2:19","nodeType":"YulIdentifier","src":"215381:2:19"}],"functionName":{"name":"mstore","nativeSrc":"215368:6:19","nodeType":"YulIdentifier","src":"215368:6:19"},"nativeSrc":"215368:16:19","nodeType":"YulFunctionCall","src":"215368:16:19"},"nativeSrc":"215368:16:19","nodeType":"YulExpressionStatement","src":"215368:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215404:4:19","nodeType":"YulLiteral","src":"215404:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"215410:2:19","nodeType":"YulIdentifier","src":"215410:2:19"}],"functionName":{"name":"mstore","nativeSrc":"215397:6:19","nodeType":"YulIdentifier","src":"215397:6:19"},"nativeSrc":"215397:16:19","nodeType":"YulFunctionCall","src":"215397:16:19"},"nativeSrc":"215397:16:19","nodeType":"YulExpressionStatement","src":"215397:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33096,"isOffset":false,"isSlot":false,"src":"215294:2:19","valueSize":1},{"declaration":33099,"isOffset":false,"isSlot":false,"src":"215323:2:19","valueSize":1},{"declaration":33102,"isOffset":false,"isSlot":false,"src":"215352:2:19","valueSize":1},{"declaration":33105,"isOffset":false,"isSlot":false,"src":"215381:2:19","valueSize":1},{"declaration":33108,"isOffset":false,"isSlot":false,"src":"215410:2:19","valueSize":1}],"id":33116,"nodeType":"InlineAssembly","src":"215258:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"214572:3:19","parameters":{"id":33093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33086,"mutability":"mutable","name":"p0","nameLocation":"214581:2:19","nodeType":"VariableDeclaration","scope":33118,"src":"214576:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33085,"name":"bool","nodeType":"ElementaryTypeName","src":"214576:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33088,"mutability":"mutable","name":"p1","nameLocation":"214593:2:19","nodeType":"VariableDeclaration","scope":33118,"src":"214585:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33087,"name":"uint256","nodeType":"ElementaryTypeName","src":"214585:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33090,"mutability":"mutable","name":"p2","nameLocation":"214605:2:19","nodeType":"VariableDeclaration","scope":33118,"src":"214597:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33089,"name":"uint256","nodeType":"ElementaryTypeName","src":"214597:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33092,"mutability":"mutable","name":"p3","nameLocation":"214614:2:19","nodeType":"VariableDeclaration","scope":33118,"src":"214609:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33091,"name":"bool","nodeType":"ElementaryTypeName","src":"214609:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"214575:42:19"},"returnParameters":{"id":33094,"nodeType":"ParameterList","parameters":[],"src":"214632:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33152,"nodeType":"FunctionDefinition","src":"215435:872:19","nodes":[],"body":{"id":33151,"nodeType":"Block","src":"215507:800:19","nodes":[],"statements":[{"assignments":[33130],"declarations":[{"constant":false,"id":33130,"mutability":"mutable","name":"m0","nameLocation":"215525:2:19","nodeType":"VariableDeclaration","scope":33151,"src":"215517:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33129,"name":"bytes32","nodeType":"ElementaryTypeName","src":"215517:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33131,"nodeType":"VariableDeclarationStatement","src":"215517:10:19"},{"assignments":[33133],"declarations":[{"constant":false,"id":33133,"mutability":"mutable","name":"m1","nameLocation":"215545:2:19","nodeType":"VariableDeclaration","scope":33151,"src":"215537:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33132,"name":"bytes32","nodeType":"ElementaryTypeName","src":"215537:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33134,"nodeType":"VariableDeclarationStatement","src":"215537:10:19"},{"assignments":[33136],"declarations":[{"constant":false,"id":33136,"mutability":"mutable","name":"m2","nameLocation":"215565:2:19","nodeType":"VariableDeclaration","scope":33151,"src":"215557:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33135,"name":"bytes32","nodeType":"ElementaryTypeName","src":"215557:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33137,"nodeType":"VariableDeclarationStatement","src":"215557:10:19"},{"assignments":[33139],"declarations":[{"constant":false,"id":33139,"mutability":"mutable","name":"m3","nameLocation":"215585:2:19","nodeType":"VariableDeclaration","scope":33151,"src":"215577:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33138,"name":"bytes32","nodeType":"ElementaryTypeName","src":"215577:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33140,"nodeType":"VariableDeclarationStatement","src":"215577:10:19"},{"assignments":[33142],"declarations":[{"constant":false,"id":33142,"mutability":"mutable","name":"m4","nameLocation":"215605:2:19","nodeType":"VariableDeclaration","scope":33151,"src":"215597:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33141,"name":"bytes32","nodeType":"ElementaryTypeName","src":"215597:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33143,"nodeType":"VariableDeclarationStatement","src":"215597:10:19"},{"AST":{"nativeSrc":"215669:378:19","nodeType":"YulBlock","src":"215669:378:19","statements":[{"nativeSrc":"215683:17:19","nodeType":"YulAssignment","src":"215683:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"215695:4:19","nodeType":"YulLiteral","src":"215695:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"215689:5:19","nodeType":"YulIdentifier","src":"215689:5:19"},"nativeSrc":"215689:11:19","nodeType":"YulFunctionCall","src":"215689:11:19"},"variableNames":[{"name":"m0","nativeSrc":"215683:2:19","nodeType":"YulIdentifier","src":"215683:2:19"}]},{"nativeSrc":"215713:17:19","nodeType":"YulAssignment","src":"215713:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"215725:4:19","nodeType":"YulLiteral","src":"215725:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"215719:5:19","nodeType":"YulIdentifier","src":"215719:5:19"},"nativeSrc":"215719:11:19","nodeType":"YulFunctionCall","src":"215719:11:19"},"variableNames":[{"name":"m1","nativeSrc":"215713:2:19","nodeType":"YulIdentifier","src":"215713:2:19"}]},{"nativeSrc":"215743:17:19","nodeType":"YulAssignment","src":"215743:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"215755:4:19","nodeType":"YulLiteral","src":"215755:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"215749:5:19","nodeType":"YulIdentifier","src":"215749:5:19"},"nativeSrc":"215749:11:19","nodeType":"YulFunctionCall","src":"215749:11:19"},"variableNames":[{"name":"m2","nativeSrc":"215743:2:19","nodeType":"YulIdentifier","src":"215743:2:19"}]},{"nativeSrc":"215773:17:19","nodeType":"YulAssignment","src":"215773:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"215785:4:19","nodeType":"YulLiteral","src":"215785:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"215779:5:19","nodeType":"YulIdentifier","src":"215779:5:19"},"nativeSrc":"215779:11:19","nodeType":"YulFunctionCall","src":"215779:11:19"},"variableNames":[{"name":"m3","nativeSrc":"215773:2:19","nodeType":"YulIdentifier","src":"215773:2:19"}]},{"nativeSrc":"215803:17:19","nodeType":"YulAssignment","src":"215803:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"215815:4:19","nodeType":"YulLiteral","src":"215815:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"215809:5:19","nodeType":"YulIdentifier","src":"215809:5:19"},"nativeSrc":"215809:11:19","nodeType":"YulFunctionCall","src":"215809:11:19"},"variableNames":[{"name":"m4","nativeSrc":"215803:2:19","nodeType":"YulIdentifier","src":"215803:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215904:4:19","nodeType":"YulLiteral","src":"215904:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"215910:10:19","nodeType":"YulLiteral","src":"215910:10:19","type":"","value":"0x374bb4b2"}],"functionName":{"name":"mstore","nativeSrc":"215897:6:19","nodeType":"YulIdentifier","src":"215897:6:19"},"nativeSrc":"215897:24:19","nodeType":"YulFunctionCall","src":"215897:24:19"},"nativeSrc":"215897:24:19","nodeType":"YulExpressionStatement","src":"215897:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215941:4:19","nodeType":"YulLiteral","src":"215941:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"215947:2:19","nodeType":"YulIdentifier","src":"215947:2:19"}],"functionName":{"name":"mstore","nativeSrc":"215934:6:19","nodeType":"YulIdentifier","src":"215934:6:19"},"nativeSrc":"215934:16:19","nodeType":"YulFunctionCall","src":"215934:16:19"},"nativeSrc":"215934:16:19","nodeType":"YulExpressionStatement","src":"215934:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215970:4:19","nodeType":"YulLiteral","src":"215970:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"215976:2:19","nodeType":"YulIdentifier","src":"215976:2:19"}],"functionName":{"name":"mstore","nativeSrc":"215963:6:19","nodeType":"YulIdentifier","src":"215963:6:19"},"nativeSrc":"215963:16:19","nodeType":"YulFunctionCall","src":"215963:16:19"},"nativeSrc":"215963:16:19","nodeType":"YulExpressionStatement","src":"215963:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"215999:4:19","nodeType":"YulLiteral","src":"215999:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"216005:2:19","nodeType":"YulIdentifier","src":"216005:2:19"}],"functionName":{"name":"mstore","nativeSrc":"215992:6:19","nodeType":"YulIdentifier","src":"215992:6:19"},"nativeSrc":"215992:16:19","nodeType":"YulFunctionCall","src":"215992:16:19"},"nativeSrc":"215992:16:19","nodeType":"YulExpressionStatement","src":"215992:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"216028:4:19","nodeType":"YulLiteral","src":"216028:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"216034:2:19","nodeType":"YulIdentifier","src":"216034:2:19"}],"functionName":{"name":"mstore","nativeSrc":"216021:6:19","nodeType":"YulIdentifier","src":"216021:6:19"},"nativeSrc":"216021:16:19","nodeType":"YulFunctionCall","src":"216021:16:19"},"nativeSrc":"216021:16:19","nodeType":"YulExpressionStatement","src":"216021:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33130,"isOffset":false,"isSlot":false,"src":"215683:2:19","valueSize":1},{"declaration":33133,"isOffset":false,"isSlot":false,"src":"215713:2:19","valueSize":1},{"declaration":33136,"isOffset":false,"isSlot":false,"src":"215743:2:19","valueSize":1},{"declaration":33139,"isOffset":false,"isSlot":false,"src":"215773:2:19","valueSize":1},{"declaration":33142,"isOffset":false,"isSlot":false,"src":"215803:2:19","valueSize":1},{"declaration":33120,"isOffset":false,"isSlot":false,"src":"215947:2:19","valueSize":1},{"declaration":33122,"isOffset":false,"isSlot":false,"src":"215976:2:19","valueSize":1},{"declaration":33124,"isOffset":false,"isSlot":false,"src":"216005:2:19","valueSize":1},{"declaration":33126,"isOffset":false,"isSlot":false,"src":"216034:2:19","valueSize":1}],"id":33144,"nodeType":"InlineAssembly","src":"215660:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"216072:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":33147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"216078:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":33145,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"216056:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"216056:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33149,"nodeType":"ExpressionStatement","src":"216056:27:19"},{"AST":{"nativeSrc":"216145:156:19","nodeType":"YulBlock","src":"216145:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"216166:4:19","nodeType":"YulLiteral","src":"216166:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"216172:2:19","nodeType":"YulIdentifier","src":"216172:2:19"}],"functionName":{"name":"mstore","nativeSrc":"216159:6:19","nodeType":"YulIdentifier","src":"216159:6:19"},"nativeSrc":"216159:16:19","nodeType":"YulFunctionCall","src":"216159:16:19"},"nativeSrc":"216159:16:19","nodeType":"YulExpressionStatement","src":"216159:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"216195:4:19","nodeType":"YulLiteral","src":"216195:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"216201:2:19","nodeType":"YulIdentifier","src":"216201:2:19"}],"functionName":{"name":"mstore","nativeSrc":"216188:6:19","nodeType":"YulIdentifier","src":"216188:6:19"},"nativeSrc":"216188:16:19","nodeType":"YulFunctionCall","src":"216188:16:19"},"nativeSrc":"216188:16:19","nodeType":"YulExpressionStatement","src":"216188:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"216224:4:19","nodeType":"YulLiteral","src":"216224:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"216230:2:19","nodeType":"YulIdentifier","src":"216230:2:19"}],"functionName":{"name":"mstore","nativeSrc":"216217:6:19","nodeType":"YulIdentifier","src":"216217:6:19"},"nativeSrc":"216217:16:19","nodeType":"YulFunctionCall","src":"216217:16:19"},"nativeSrc":"216217:16:19","nodeType":"YulExpressionStatement","src":"216217:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"216253:4:19","nodeType":"YulLiteral","src":"216253:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"216259:2:19","nodeType":"YulIdentifier","src":"216259:2:19"}],"functionName":{"name":"mstore","nativeSrc":"216246:6:19","nodeType":"YulIdentifier","src":"216246:6:19"},"nativeSrc":"216246:16:19","nodeType":"YulFunctionCall","src":"216246:16:19"},"nativeSrc":"216246:16:19","nodeType":"YulExpressionStatement","src":"216246:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"216282:4:19","nodeType":"YulLiteral","src":"216282:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"216288:2:19","nodeType":"YulIdentifier","src":"216288:2:19"}],"functionName":{"name":"mstore","nativeSrc":"216275:6:19","nodeType":"YulIdentifier","src":"216275:6:19"},"nativeSrc":"216275:16:19","nodeType":"YulFunctionCall","src":"216275:16:19"},"nativeSrc":"216275:16:19","nodeType":"YulExpressionStatement","src":"216275:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33130,"isOffset":false,"isSlot":false,"src":"216172:2:19","valueSize":1},{"declaration":33133,"isOffset":false,"isSlot":false,"src":"216201:2:19","valueSize":1},{"declaration":33136,"isOffset":false,"isSlot":false,"src":"216230:2:19","valueSize":1},{"declaration":33139,"isOffset":false,"isSlot":false,"src":"216259:2:19","valueSize":1},{"declaration":33142,"isOffset":false,"isSlot":false,"src":"216288:2:19","valueSize":1}],"id":33150,"nodeType":"InlineAssembly","src":"216136:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"215444:3:19","parameters":{"id":33127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33120,"mutability":"mutable","name":"p0","nameLocation":"215453:2:19","nodeType":"VariableDeclaration","scope":33152,"src":"215448:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33119,"name":"bool","nodeType":"ElementaryTypeName","src":"215448:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33122,"mutability":"mutable","name":"p1","nameLocation":"215465:2:19","nodeType":"VariableDeclaration","scope":33152,"src":"215457:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33121,"name":"uint256","nodeType":"ElementaryTypeName","src":"215457:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33124,"mutability":"mutable","name":"p2","nameLocation":"215477:2:19","nodeType":"VariableDeclaration","scope":33152,"src":"215469:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33123,"name":"uint256","nodeType":"ElementaryTypeName","src":"215469:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33126,"mutability":"mutable","name":"p3","nameLocation":"215489:2:19","nodeType":"VariableDeclaration","scope":33152,"src":"215481:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33125,"name":"uint256","nodeType":"ElementaryTypeName","src":"215481:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"215447:45:19"},"returnParameters":{"id":33128,"nodeType":"ParameterList","parameters":[],"src":"215507:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33192,"nodeType":"FunctionDefinition","src":"216313:1420:19","nodes":[],"body":{"id":33191,"nodeType":"Block","src":"216385:1348:19","nodes":[],"statements":[{"assignments":[33164],"declarations":[{"constant":false,"id":33164,"mutability":"mutable","name":"m0","nameLocation":"216403:2:19","nodeType":"VariableDeclaration","scope":33191,"src":"216395:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33163,"name":"bytes32","nodeType":"ElementaryTypeName","src":"216395:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33165,"nodeType":"VariableDeclarationStatement","src":"216395:10:19"},{"assignments":[33167],"declarations":[{"constant":false,"id":33167,"mutability":"mutable","name":"m1","nameLocation":"216423:2:19","nodeType":"VariableDeclaration","scope":33191,"src":"216415:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33166,"name":"bytes32","nodeType":"ElementaryTypeName","src":"216415:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33168,"nodeType":"VariableDeclarationStatement","src":"216415:10:19"},{"assignments":[33170],"declarations":[{"constant":false,"id":33170,"mutability":"mutable","name":"m2","nameLocation":"216443:2:19","nodeType":"VariableDeclaration","scope":33191,"src":"216435:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33169,"name":"bytes32","nodeType":"ElementaryTypeName","src":"216435:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33171,"nodeType":"VariableDeclarationStatement","src":"216435:10:19"},{"assignments":[33173],"declarations":[{"constant":false,"id":33173,"mutability":"mutable","name":"m3","nameLocation":"216463:2:19","nodeType":"VariableDeclaration","scope":33191,"src":"216455:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33172,"name":"bytes32","nodeType":"ElementaryTypeName","src":"216455:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33174,"nodeType":"VariableDeclarationStatement","src":"216455:10:19"},{"assignments":[33176],"declarations":[{"constant":false,"id":33176,"mutability":"mutable","name":"m4","nameLocation":"216483:2:19","nodeType":"VariableDeclaration","scope":33191,"src":"216475:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33175,"name":"bytes32","nodeType":"ElementaryTypeName","src":"216475:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33177,"nodeType":"VariableDeclarationStatement","src":"216475:10:19"},{"assignments":[33179],"declarations":[{"constant":false,"id":33179,"mutability":"mutable","name":"m5","nameLocation":"216503:2:19","nodeType":"VariableDeclaration","scope":33191,"src":"216495:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33178,"name":"bytes32","nodeType":"ElementaryTypeName","src":"216495:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33180,"nodeType":"VariableDeclarationStatement","src":"216495:10:19"},{"assignments":[33182],"declarations":[{"constant":false,"id":33182,"mutability":"mutable","name":"m6","nameLocation":"216523:2:19","nodeType":"VariableDeclaration","scope":33191,"src":"216515:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33181,"name":"bytes32","nodeType":"ElementaryTypeName","src":"216515:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33183,"nodeType":"VariableDeclarationStatement","src":"216515:10:19"},{"AST":{"nativeSrc":"216587:828:19","nodeType":"YulBlock","src":"216587:828:19","statements":[{"body":{"nativeSrc":"216630:313:19","nodeType":"YulBlock","src":"216630:313:19","statements":[{"nativeSrc":"216648:15:19","nodeType":"YulVariableDeclaration","src":"216648:15:19","value":{"kind":"number","nativeSrc":"216662:1:19","nodeType":"YulLiteral","src":"216662:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"216652:6:19","nodeType":"YulTypedName","src":"216652:6:19","type":""}]},{"body":{"nativeSrc":"216733:40:19","nodeType":"YulBlock","src":"216733:40:19","statements":[{"body":{"nativeSrc":"216762:9:19","nodeType":"YulBlock","src":"216762:9:19","statements":[{"nativeSrc":"216764:5:19","nodeType":"YulBreak","src":"216764:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"216750:6:19","nodeType":"YulIdentifier","src":"216750:6:19"},{"name":"w","nativeSrc":"216758:1:19","nodeType":"YulIdentifier","src":"216758:1:19"}],"functionName":{"name":"byte","nativeSrc":"216745:4:19","nodeType":"YulIdentifier","src":"216745:4:19"},"nativeSrc":"216745:15:19","nodeType":"YulFunctionCall","src":"216745:15:19"}],"functionName":{"name":"iszero","nativeSrc":"216738:6:19","nodeType":"YulIdentifier","src":"216738:6:19"},"nativeSrc":"216738:23:19","nodeType":"YulFunctionCall","src":"216738:23:19"},"nativeSrc":"216735:36:19","nodeType":"YulIf","src":"216735:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"216690:6:19","nodeType":"YulIdentifier","src":"216690:6:19"},{"kind":"number","nativeSrc":"216698:4:19","nodeType":"YulLiteral","src":"216698:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"216687:2:19","nodeType":"YulIdentifier","src":"216687:2:19"},"nativeSrc":"216687:16:19","nodeType":"YulFunctionCall","src":"216687:16:19"},"nativeSrc":"216680:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"216704:28:19","nodeType":"YulBlock","src":"216704:28:19","statements":[{"nativeSrc":"216706:24:19","nodeType":"YulAssignment","src":"216706:24:19","value":{"arguments":[{"name":"length","nativeSrc":"216720:6:19","nodeType":"YulIdentifier","src":"216720:6:19"},{"kind":"number","nativeSrc":"216728:1:19","nodeType":"YulLiteral","src":"216728:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"216716:3:19","nodeType":"YulIdentifier","src":"216716:3:19"},"nativeSrc":"216716:14:19","nodeType":"YulFunctionCall","src":"216716:14:19"},"variableNames":[{"name":"length","nativeSrc":"216706:6:19","nodeType":"YulIdentifier","src":"216706:6:19"}]}]},"pre":{"nativeSrc":"216684:2:19","nodeType":"YulBlock","src":"216684:2:19","statements":[]},"src":"216680:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"216797:3:19","nodeType":"YulIdentifier","src":"216797:3:19"},{"name":"length","nativeSrc":"216802:6:19","nodeType":"YulIdentifier","src":"216802:6:19"}],"functionName":{"name":"mstore","nativeSrc":"216790:6:19","nodeType":"YulIdentifier","src":"216790:6:19"},"nativeSrc":"216790:19:19","nodeType":"YulFunctionCall","src":"216790:19:19"},"nativeSrc":"216790:19:19","nodeType":"YulExpressionStatement","src":"216790:19:19"},{"nativeSrc":"216826:37:19","nodeType":"YulVariableDeclaration","src":"216826:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"216843:3:19","nodeType":"YulLiteral","src":"216843:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"216852:1:19","nodeType":"YulLiteral","src":"216852:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"216855:6:19","nodeType":"YulIdentifier","src":"216855:6:19"}],"functionName":{"name":"shl","nativeSrc":"216848:3:19","nodeType":"YulIdentifier","src":"216848:3:19"},"nativeSrc":"216848:14:19","nodeType":"YulFunctionCall","src":"216848:14:19"}],"functionName":{"name":"sub","nativeSrc":"216839:3:19","nodeType":"YulIdentifier","src":"216839:3:19"},"nativeSrc":"216839:24:19","nodeType":"YulFunctionCall","src":"216839:24:19"},"variables":[{"name":"shift","nativeSrc":"216830:5:19","nodeType":"YulTypedName","src":"216830:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"216891:3:19","nodeType":"YulIdentifier","src":"216891:3:19"},{"kind":"number","nativeSrc":"216896:4:19","nodeType":"YulLiteral","src":"216896:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"216887:3:19","nodeType":"YulIdentifier","src":"216887:3:19"},"nativeSrc":"216887:14:19","nodeType":"YulFunctionCall","src":"216887:14:19"},{"arguments":[{"name":"shift","nativeSrc":"216907:5:19","nodeType":"YulIdentifier","src":"216907:5:19"},{"arguments":[{"name":"shift","nativeSrc":"216918:5:19","nodeType":"YulIdentifier","src":"216918:5:19"},{"name":"w","nativeSrc":"216925:1:19","nodeType":"YulIdentifier","src":"216925:1:19"}],"functionName":{"name":"shr","nativeSrc":"216914:3:19","nodeType":"YulIdentifier","src":"216914:3:19"},"nativeSrc":"216914:13:19","nodeType":"YulFunctionCall","src":"216914:13:19"}],"functionName":{"name":"shl","nativeSrc":"216903:3:19","nodeType":"YulIdentifier","src":"216903:3:19"},"nativeSrc":"216903:25:19","nodeType":"YulFunctionCall","src":"216903:25:19"}],"functionName":{"name":"mstore","nativeSrc":"216880:6:19","nodeType":"YulIdentifier","src":"216880:6:19"},"nativeSrc":"216880:49:19","nodeType":"YulFunctionCall","src":"216880:49:19"},"nativeSrc":"216880:49:19","nodeType":"YulExpressionStatement","src":"216880:49:19"}]},"name":"writeString","nativeSrc":"216601:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"216622:3:19","nodeType":"YulTypedName","src":"216622:3:19","type":""},{"name":"w","nativeSrc":"216627:1:19","nodeType":"YulTypedName","src":"216627:1:19","type":""}],"src":"216601:342:19"},{"nativeSrc":"216956:17:19","nodeType":"YulAssignment","src":"216956:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"216968:4:19","nodeType":"YulLiteral","src":"216968:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"216962:5:19","nodeType":"YulIdentifier","src":"216962:5:19"},"nativeSrc":"216962:11:19","nodeType":"YulFunctionCall","src":"216962:11:19"},"variableNames":[{"name":"m0","nativeSrc":"216956:2:19","nodeType":"YulIdentifier","src":"216956:2:19"}]},{"nativeSrc":"216986:17:19","nodeType":"YulAssignment","src":"216986:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"216998:4:19","nodeType":"YulLiteral","src":"216998:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"216992:5:19","nodeType":"YulIdentifier","src":"216992:5:19"},"nativeSrc":"216992:11:19","nodeType":"YulFunctionCall","src":"216992:11:19"},"variableNames":[{"name":"m1","nativeSrc":"216986:2:19","nodeType":"YulIdentifier","src":"216986:2:19"}]},{"nativeSrc":"217016:17:19","nodeType":"YulAssignment","src":"217016:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"217028:4:19","nodeType":"YulLiteral","src":"217028:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"217022:5:19","nodeType":"YulIdentifier","src":"217022:5:19"},"nativeSrc":"217022:11:19","nodeType":"YulFunctionCall","src":"217022:11:19"},"variableNames":[{"name":"m2","nativeSrc":"217016:2:19","nodeType":"YulIdentifier","src":"217016:2:19"}]},{"nativeSrc":"217046:17:19","nodeType":"YulAssignment","src":"217046:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"217058:4:19","nodeType":"YulLiteral","src":"217058:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"217052:5:19","nodeType":"YulIdentifier","src":"217052:5:19"},"nativeSrc":"217052:11:19","nodeType":"YulFunctionCall","src":"217052:11:19"},"variableNames":[{"name":"m3","nativeSrc":"217046:2:19","nodeType":"YulIdentifier","src":"217046:2:19"}]},{"nativeSrc":"217076:17:19","nodeType":"YulAssignment","src":"217076:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"217088:4:19","nodeType":"YulLiteral","src":"217088:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"217082:5:19","nodeType":"YulIdentifier","src":"217082:5:19"},"nativeSrc":"217082:11:19","nodeType":"YulFunctionCall","src":"217082:11:19"},"variableNames":[{"name":"m4","nativeSrc":"217076:2:19","nodeType":"YulIdentifier","src":"217076:2:19"}]},{"nativeSrc":"217106:17:19","nodeType":"YulAssignment","src":"217106:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"217118:4:19","nodeType":"YulLiteral","src":"217118:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"217112:5:19","nodeType":"YulIdentifier","src":"217112:5:19"},"nativeSrc":"217112:11:19","nodeType":"YulFunctionCall","src":"217112:11:19"},"variableNames":[{"name":"m5","nativeSrc":"217106:2:19","nodeType":"YulIdentifier","src":"217106:2:19"}]},{"nativeSrc":"217136:17:19","nodeType":"YulAssignment","src":"217136:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"217148:4:19","nodeType":"YulLiteral","src":"217148:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"217142:5:19","nodeType":"YulIdentifier","src":"217142:5:19"},"nativeSrc":"217142:11:19","nodeType":"YulFunctionCall","src":"217142:11:19"},"variableNames":[{"name":"m6","nativeSrc":"217136:2:19","nodeType":"YulIdentifier","src":"217136:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217236:4:19","nodeType":"YulLiteral","src":"217236:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"217242:10:19","nodeType":"YulLiteral","src":"217242:10:19","type":"","value":"0x8e69fb5d"}],"functionName":{"name":"mstore","nativeSrc":"217229:6:19","nodeType":"YulIdentifier","src":"217229:6:19"},"nativeSrc":"217229:24:19","nodeType":"YulFunctionCall","src":"217229:24:19"},"nativeSrc":"217229:24:19","nodeType":"YulExpressionStatement","src":"217229:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217273:4:19","nodeType":"YulLiteral","src":"217273:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"217279:2:19","nodeType":"YulIdentifier","src":"217279:2:19"}],"functionName":{"name":"mstore","nativeSrc":"217266:6:19","nodeType":"YulIdentifier","src":"217266:6:19"},"nativeSrc":"217266:16:19","nodeType":"YulFunctionCall","src":"217266:16:19"},"nativeSrc":"217266:16:19","nodeType":"YulExpressionStatement","src":"217266:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217302:4:19","nodeType":"YulLiteral","src":"217302:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"217308:2:19","nodeType":"YulIdentifier","src":"217308:2:19"}],"functionName":{"name":"mstore","nativeSrc":"217295:6:19","nodeType":"YulIdentifier","src":"217295:6:19"},"nativeSrc":"217295:16:19","nodeType":"YulFunctionCall","src":"217295:16:19"},"nativeSrc":"217295:16:19","nodeType":"YulExpressionStatement","src":"217295:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217331:4:19","nodeType":"YulLiteral","src":"217331:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"217337:2:19","nodeType":"YulIdentifier","src":"217337:2:19"}],"functionName":{"name":"mstore","nativeSrc":"217324:6:19","nodeType":"YulIdentifier","src":"217324:6:19"},"nativeSrc":"217324:16:19","nodeType":"YulFunctionCall","src":"217324:16:19"},"nativeSrc":"217324:16:19","nodeType":"YulExpressionStatement","src":"217324:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217360:4:19","nodeType":"YulLiteral","src":"217360:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"217366:4:19","nodeType":"YulLiteral","src":"217366:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"217353:6:19","nodeType":"YulIdentifier","src":"217353:6:19"},"nativeSrc":"217353:18:19","nodeType":"YulFunctionCall","src":"217353:18:19"},"nativeSrc":"217353:18:19","nodeType":"YulExpressionStatement","src":"217353:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217396:4:19","nodeType":"YulLiteral","src":"217396:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"217402:2:19","nodeType":"YulIdentifier","src":"217402:2:19"}],"functionName":{"name":"writeString","nativeSrc":"217384:11:19","nodeType":"YulIdentifier","src":"217384:11:19"},"nativeSrc":"217384:21:19","nodeType":"YulFunctionCall","src":"217384:21:19"},"nativeSrc":"217384:21:19","nodeType":"YulExpressionStatement","src":"217384:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33164,"isOffset":false,"isSlot":false,"src":"216956:2:19","valueSize":1},{"declaration":33167,"isOffset":false,"isSlot":false,"src":"216986:2:19","valueSize":1},{"declaration":33170,"isOffset":false,"isSlot":false,"src":"217016:2:19","valueSize":1},{"declaration":33173,"isOffset":false,"isSlot":false,"src":"217046:2:19","valueSize":1},{"declaration":33176,"isOffset":false,"isSlot":false,"src":"217076:2:19","valueSize":1},{"declaration":33179,"isOffset":false,"isSlot":false,"src":"217106:2:19","valueSize":1},{"declaration":33182,"isOffset":false,"isSlot":false,"src":"217136:2:19","valueSize":1},{"declaration":33154,"isOffset":false,"isSlot":false,"src":"217279:2:19","valueSize":1},{"declaration":33156,"isOffset":false,"isSlot":false,"src":"217308:2:19","valueSize":1},{"declaration":33158,"isOffset":false,"isSlot":false,"src":"217337:2:19","valueSize":1},{"declaration":33160,"isOffset":false,"isSlot":false,"src":"217402:2:19","valueSize":1}],"id":33184,"nodeType":"InlineAssembly","src":"216578:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"217440:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"217446:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33185,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"217424:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"217424:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33189,"nodeType":"ExpressionStatement","src":"217424:27:19"},{"AST":{"nativeSrc":"217513:214:19","nodeType":"YulBlock","src":"217513:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"217534:4:19","nodeType":"YulLiteral","src":"217534:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"217540:2:19","nodeType":"YulIdentifier","src":"217540:2:19"}],"functionName":{"name":"mstore","nativeSrc":"217527:6:19","nodeType":"YulIdentifier","src":"217527:6:19"},"nativeSrc":"217527:16:19","nodeType":"YulFunctionCall","src":"217527:16:19"},"nativeSrc":"217527:16:19","nodeType":"YulExpressionStatement","src":"217527:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217563:4:19","nodeType":"YulLiteral","src":"217563:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"217569:2:19","nodeType":"YulIdentifier","src":"217569:2:19"}],"functionName":{"name":"mstore","nativeSrc":"217556:6:19","nodeType":"YulIdentifier","src":"217556:6:19"},"nativeSrc":"217556:16:19","nodeType":"YulFunctionCall","src":"217556:16:19"},"nativeSrc":"217556:16:19","nodeType":"YulExpressionStatement","src":"217556:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217592:4:19","nodeType":"YulLiteral","src":"217592:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"217598:2:19","nodeType":"YulIdentifier","src":"217598:2:19"}],"functionName":{"name":"mstore","nativeSrc":"217585:6:19","nodeType":"YulIdentifier","src":"217585:6:19"},"nativeSrc":"217585:16:19","nodeType":"YulFunctionCall","src":"217585:16:19"},"nativeSrc":"217585:16:19","nodeType":"YulExpressionStatement","src":"217585:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217621:4:19","nodeType":"YulLiteral","src":"217621:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"217627:2:19","nodeType":"YulIdentifier","src":"217627:2:19"}],"functionName":{"name":"mstore","nativeSrc":"217614:6:19","nodeType":"YulIdentifier","src":"217614:6:19"},"nativeSrc":"217614:16:19","nodeType":"YulFunctionCall","src":"217614:16:19"},"nativeSrc":"217614:16:19","nodeType":"YulExpressionStatement","src":"217614:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217650:4:19","nodeType":"YulLiteral","src":"217650:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"217656:2:19","nodeType":"YulIdentifier","src":"217656:2:19"}],"functionName":{"name":"mstore","nativeSrc":"217643:6:19","nodeType":"YulIdentifier","src":"217643:6:19"},"nativeSrc":"217643:16:19","nodeType":"YulFunctionCall","src":"217643:16:19"},"nativeSrc":"217643:16:19","nodeType":"YulExpressionStatement","src":"217643:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217679:4:19","nodeType":"YulLiteral","src":"217679:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"217685:2:19","nodeType":"YulIdentifier","src":"217685:2:19"}],"functionName":{"name":"mstore","nativeSrc":"217672:6:19","nodeType":"YulIdentifier","src":"217672:6:19"},"nativeSrc":"217672:16:19","nodeType":"YulFunctionCall","src":"217672:16:19"},"nativeSrc":"217672:16:19","nodeType":"YulExpressionStatement","src":"217672:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"217708:4:19","nodeType":"YulLiteral","src":"217708:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"217714:2:19","nodeType":"YulIdentifier","src":"217714:2:19"}],"functionName":{"name":"mstore","nativeSrc":"217701:6:19","nodeType":"YulIdentifier","src":"217701:6:19"},"nativeSrc":"217701:16:19","nodeType":"YulFunctionCall","src":"217701:16:19"},"nativeSrc":"217701:16:19","nodeType":"YulExpressionStatement","src":"217701:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33164,"isOffset":false,"isSlot":false,"src":"217540:2:19","valueSize":1},{"declaration":33167,"isOffset":false,"isSlot":false,"src":"217569:2:19","valueSize":1},{"declaration":33170,"isOffset":false,"isSlot":false,"src":"217598:2:19","valueSize":1},{"declaration":33173,"isOffset":false,"isSlot":false,"src":"217627:2:19","valueSize":1},{"declaration":33176,"isOffset":false,"isSlot":false,"src":"217656:2:19","valueSize":1},{"declaration":33179,"isOffset":false,"isSlot":false,"src":"217685:2:19","valueSize":1},{"declaration":33182,"isOffset":false,"isSlot":false,"src":"217714:2:19","valueSize":1}],"id":33190,"nodeType":"InlineAssembly","src":"217504:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"216322:3:19","parameters":{"id":33161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33154,"mutability":"mutable","name":"p0","nameLocation":"216331:2:19","nodeType":"VariableDeclaration","scope":33192,"src":"216326:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33153,"name":"bool","nodeType":"ElementaryTypeName","src":"216326:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33156,"mutability":"mutable","name":"p1","nameLocation":"216343:2:19","nodeType":"VariableDeclaration","scope":33192,"src":"216335:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33155,"name":"uint256","nodeType":"ElementaryTypeName","src":"216335:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33158,"mutability":"mutable","name":"p2","nameLocation":"216355:2:19","nodeType":"VariableDeclaration","scope":33192,"src":"216347:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33157,"name":"uint256","nodeType":"ElementaryTypeName","src":"216347:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33160,"mutability":"mutable","name":"p3","nameLocation":"216367:2:19","nodeType":"VariableDeclaration","scope":33192,"src":"216359:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33159,"name":"bytes32","nodeType":"ElementaryTypeName","src":"216359:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"216325:45:19"},"returnParameters":{"id":33162,"nodeType":"ParameterList","parameters":[],"src":"216385:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33232,"nodeType":"FunctionDefinition","src":"217739:1420:19","nodes":[],"body":{"id":33231,"nodeType":"Block","src":"217811:1348:19","nodes":[],"statements":[{"assignments":[33204],"declarations":[{"constant":false,"id":33204,"mutability":"mutable","name":"m0","nameLocation":"217829:2:19","nodeType":"VariableDeclaration","scope":33231,"src":"217821:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33203,"name":"bytes32","nodeType":"ElementaryTypeName","src":"217821:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33205,"nodeType":"VariableDeclarationStatement","src":"217821:10:19"},{"assignments":[33207],"declarations":[{"constant":false,"id":33207,"mutability":"mutable","name":"m1","nameLocation":"217849:2:19","nodeType":"VariableDeclaration","scope":33231,"src":"217841:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33206,"name":"bytes32","nodeType":"ElementaryTypeName","src":"217841:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33208,"nodeType":"VariableDeclarationStatement","src":"217841:10:19"},{"assignments":[33210],"declarations":[{"constant":false,"id":33210,"mutability":"mutable","name":"m2","nameLocation":"217869:2:19","nodeType":"VariableDeclaration","scope":33231,"src":"217861:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33209,"name":"bytes32","nodeType":"ElementaryTypeName","src":"217861:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33211,"nodeType":"VariableDeclarationStatement","src":"217861:10:19"},{"assignments":[33213],"declarations":[{"constant":false,"id":33213,"mutability":"mutable","name":"m3","nameLocation":"217889:2:19","nodeType":"VariableDeclaration","scope":33231,"src":"217881:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33212,"name":"bytes32","nodeType":"ElementaryTypeName","src":"217881:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33214,"nodeType":"VariableDeclarationStatement","src":"217881:10:19"},{"assignments":[33216],"declarations":[{"constant":false,"id":33216,"mutability":"mutable","name":"m4","nameLocation":"217909:2:19","nodeType":"VariableDeclaration","scope":33231,"src":"217901:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33215,"name":"bytes32","nodeType":"ElementaryTypeName","src":"217901:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33217,"nodeType":"VariableDeclarationStatement","src":"217901:10:19"},{"assignments":[33219],"declarations":[{"constant":false,"id":33219,"mutability":"mutable","name":"m5","nameLocation":"217929:2:19","nodeType":"VariableDeclaration","scope":33231,"src":"217921:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33218,"name":"bytes32","nodeType":"ElementaryTypeName","src":"217921:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33220,"nodeType":"VariableDeclarationStatement","src":"217921:10:19"},{"assignments":[33222],"declarations":[{"constant":false,"id":33222,"mutability":"mutable","name":"m6","nameLocation":"217949:2:19","nodeType":"VariableDeclaration","scope":33231,"src":"217941:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33221,"name":"bytes32","nodeType":"ElementaryTypeName","src":"217941:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33223,"nodeType":"VariableDeclarationStatement","src":"217941:10:19"},{"AST":{"nativeSrc":"218013:828:19","nodeType":"YulBlock","src":"218013:828:19","statements":[{"body":{"nativeSrc":"218056:313:19","nodeType":"YulBlock","src":"218056:313:19","statements":[{"nativeSrc":"218074:15:19","nodeType":"YulVariableDeclaration","src":"218074:15:19","value":{"kind":"number","nativeSrc":"218088:1:19","nodeType":"YulLiteral","src":"218088:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"218078:6:19","nodeType":"YulTypedName","src":"218078:6:19","type":""}]},{"body":{"nativeSrc":"218159:40:19","nodeType":"YulBlock","src":"218159:40:19","statements":[{"body":{"nativeSrc":"218188:9:19","nodeType":"YulBlock","src":"218188:9:19","statements":[{"nativeSrc":"218190:5:19","nodeType":"YulBreak","src":"218190:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"218176:6:19","nodeType":"YulIdentifier","src":"218176:6:19"},{"name":"w","nativeSrc":"218184:1:19","nodeType":"YulIdentifier","src":"218184:1:19"}],"functionName":{"name":"byte","nativeSrc":"218171:4:19","nodeType":"YulIdentifier","src":"218171:4:19"},"nativeSrc":"218171:15:19","nodeType":"YulFunctionCall","src":"218171:15:19"}],"functionName":{"name":"iszero","nativeSrc":"218164:6:19","nodeType":"YulIdentifier","src":"218164:6:19"},"nativeSrc":"218164:23:19","nodeType":"YulFunctionCall","src":"218164:23:19"},"nativeSrc":"218161:36:19","nodeType":"YulIf","src":"218161:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"218116:6:19","nodeType":"YulIdentifier","src":"218116:6:19"},{"kind":"number","nativeSrc":"218124:4:19","nodeType":"YulLiteral","src":"218124:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"218113:2:19","nodeType":"YulIdentifier","src":"218113:2:19"},"nativeSrc":"218113:16:19","nodeType":"YulFunctionCall","src":"218113:16:19"},"nativeSrc":"218106:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"218130:28:19","nodeType":"YulBlock","src":"218130:28:19","statements":[{"nativeSrc":"218132:24:19","nodeType":"YulAssignment","src":"218132:24:19","value":{"arguments":[{"name":"length","nativeSrc":"218146:6:19","nodeType":"YulIdentifier","src":"218146:6:19"},{"kind":"number","nativeSrc":"218154:1:19","nodeType":"YulLiteral","src":"218154:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"218142:3:19","nodeType":"YulIdentifier","src":"218142:3:19"},"nativeSrc":"218142:14:19","nodeType":"YulFunctionCall","src":"218142:14:19"},"variableNames":[{"name":"length","nativeSrc":"218132:6:19","nodeType":"YulIdentifier","src":"218132:6:19"}]}]},"pre":{"nativeSrc":"218110:2:19","nodeType":"YulBlock","src":"218110:2:19","statements":[]},"src":"218106:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"218223:3:19","nodeType":"YulIdentifier","src":"218223:3:19"},{"name":"length","nativeSrc":"218228:6:19","nodeType":"YulIdentifier","src":"218228:6:19"}],"functionName":{"name":"mstore","nativeSrc":"218216:6:19","nodeType":"YulIdentifier","src":"218216:6:19"},"nativeSrc":"218216:19:19","nodeType":"YulFunctionCall","src":"218216:19:19"},"nativeSrc":"218216:19:19","nodeType":"YulExpressionStatement","src":"218216:19:19"},{"nativeSrc":"218252:37:19","nodeType":"YulVariableDeclaration","src":"218252:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"218269:3:19","nodeType":"YulLiteral","src":"218269:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"218278:1:19","nodeType":"YulLiteral","src":"218278:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"218281:6:19","nodeType":"YulIdentifier","src":"218281:6:19"}],"functionName":{"name":"shl","nativeSrc":"218274:3:19","nodeType":"YulIdentifier","src":"218274:3:19"},"nativeSrc":"218274:14:19","nodeType":"YulFunctionCall","src":"218274:14:19"}],"functionName":{"name":"sub","nativeSrc":"218265:3:19","nodeType":"YulIdentifier","src":"218265:3:19"},"nativeSrc":"218265:24:19","nodeType":"YulFunctionCall","src":"218265:24:19"},"variables":[{"name":"shift","nativeSrc":"218256:5:19","nodeType":"YulTypedName","src":"218256:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"218317:3:19","nodeType":"YulIdentifier","src":"218317:3:19"},{"kind":"number","nativeSrc":"218322:4:19","nodeType":"YulLiteral","src":"218322:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"218313:3:19","nodeType":"YulIdentifier","src":"218313:3:19"},"nativeSrc":"218313:14:19","nodeType":"YulFunctionCall","src":"218313:14:19"},{"arguments":[{"name":"shift","nativeSrc":"218333:5:19","nodeType":"YulIdentifier","src":"218333:5:19"},{"arguments":[{"name":"shift","nativeSrc":"218344:5:19","nodeType":"YulIdentifier","src":"218344:5:19"},{"name":"w","nativeSrc":"218351:1:19","nodeType":"YulIdentifier","src":"218351:1:19"}],"functionName":{"name":"shr","nativeSrc":"218340:3:19","nodeType":"YulIdentifier","src":"218340:3:19"},"nativeSrc":"218340:13:19","nodeType":"YulFunctionCall","src":"218340:13:19"}],"functionName":{"name":"shl","nativeSrc":"218329:3:19","nodeType":"YulIdentifier","src":"218329:3:19"},"nativeSrc":"218329:25:19","nodeType":"YulFunctionCall","src":"218329:25:19"}],"functionName":{"name":"mstore","nativeSrc":"218306:6:19","nodeType":"YulIdentifier","src":"218306:6:19"},"nativeSrc":"218306:49:19","nodeType":"YulFunctionCall","src":"218306:49:19"},"nativeSrc":"218306:49:19","nodeType":"YulExpressionStatement","src":"218306:49:19"}]},"name":"writeString","nativeSrc":"218027:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"218048:3:19","nodeType":"YulTypedName","src":"218048:3:19","type":""},{"name":"w","nativeSrc":"218053:1:19","nodeType":"YulTypedName","src":"218053:1:19","type":""}],"src":"218027:342:19"},{"nativeSrc":"218382:17:19","nodeType":"YulAssignment","src":"218382:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"218394:4:19","nodeType":"YulLiteral","src":"218394:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"218388:5:19","nodeType":"YulIdentifier","src":"218388:5:19"},"nativeSrc":"218388:11:19","nodeType":"YulFunctionCall","src":"218388:11:19"},"variableNames":[{"name":"m0","nativeSrc":"218382:2:19","nodeType":"YulIdentifier","src":"218382:2:19"}]},{"nativeSrc":"218412:17:19","nodeType":"YulAssignment","src":"218412:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"218424:4:19","nodeType":"YulLiteral","src":"218424:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"218418:5:19","nodeType":"YulIdentifier","src":"218418:5:19"},"nativeSrc":"218418:11:19","nodeType":"YulFunctionCall","src":"218418:11:19"},"variableNames":[{"name":"m1","nativeSrc":"218412:2:19","nodeType":"YulIdentifier","src":"218412:2:19"}]},{"nativeSrc":"218442:17:19","nodeType":"YulAssignment","src":"218442:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"218454:4:19","nodeType":"YulLiteral","src":"218454:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"218448:5:19","nodeType":"YulIdentifier","src":"218448:5:19"},"nativeSrc":"218448:11:19","nodeType":"YulFunctionCall","src":"218448:11:19"},"variableNames":[{"name":"m2","nativeSrc":"218442:2:19","nodeType":"YulIdentifier","src":"218442:2:19"}]},{"nativeSrc":"218472:17:19","nodeType":"YulAssignment","src":"218472:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"218484:4:19","nodeType":"YulLiteral","src":"218484:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"218478:5:19","nodeType":"YulIdentifier","src":"218478:5:19"},"nativeSrc":"218478:11:19","nodeType":"YulFunctionCall","src":"218478:11:19"},"variableNames":[{"name":"m3","nativeSrc":"218472:2:19","nodeType":"YulIdentifier","src":"218472:2:19"}]},{"nativeSrc":"218502:17:19","nodeType":"YulAssignment","src":"218502:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"218514:4:19","nodeType":"YulLiteral","src":"218514:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"218508:5:19","nodeType":"YulIdentifier","src":"218508:5:19"},"nativeSrc":"218508:11:19","nodeType":"YulFunctionCall","src":"218508:11:19"},"variableNames":[{"name":"m4","nativeSrc":"218502:2:19","nodeType":"YulIdentifier","src":"218502:2:19"}]},{"nativeSrc":"218532:17:19","nodeType":"YulAssignment","src":"218532:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"218544:4:19","nodeType":"YulLiteral","src":"218544:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"218538:5:19","nodeType":"YulIdentifier","src":"218538:5:19"},"nativeSrc":"218538:11:19","nodeType":"YulFunctionCall","src":"218538:11:19"},"variableNames":[{"name":"m5","nativeSrc":"218532:2:19","nodeType":"YulIdentifier","src":"218532:2:19"}]},{"nativeSrc":"218562:17:19","nodeType":"YulAssignment","src":"218562:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"218574:4:19","nodeType":"YulLiteral","src":"218574:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"218568:5:19","nodeType":"YulIdentifier","src":"218568:5:19"},"nativeSrc":"218568:11:19","nodeType":"YulFunctionCall","src":"218568:11:19"},"variableNames":[{"name":"m6","nativeSrc":"218562:2:19","nodeType":"YulIdentifier","src":"218562:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"218662:4:19","nodeType":"YulLiteral","src":"218662:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"218668:10:19","nodeType":"YulLiteral","src":"218668:10:19","type":"","value":"0xfedd1fff"}],"functionName":{"name":"mstore","nativeSrc":"218655:6:19","nodeType":"YulIdentifier","src":"218655:6:19"},"nativeSrc":"218655:24:19","nodeType":"YulFunctionCall","src":"218655:24:19"},"nativeSrc":"218655:24:19","nodeType":"YulExpressionStatement","src":"218655:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"218699:4:19","nodeType":"YulLiteral","src":"218699:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"218705:2:19","nodeType":"YulIdentifier","src":"218705:2:19"}],"functionName":{"name":"mstore","nativeSrc":"218692:6:19","nodeType":"YulIdentifier","src":"218692:6:19"},"nativeSrc":"218692:16:19","nodeType":"YulFunctionCall","src":"218692:16:19"},"nativeSrc":"218692:16:19","nodeType":"YulExpressionStatement","src":"218692:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"218728:4:19","nodeType":"YulLiteral","src":"218728:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"218734:2:19","nodeType":"YulIdentifier","src":"218734:2:19"}],"functionName":{"name":"mstore","nativeSrc":"218721:6:19","nodeType":"YulIdentifier","src":"218721:6:19"},"nativeSrc":"218721:16:19","nodeType":"YulFunctionCall","src":"218721:16:19"},"nativeSrc":"218721:16:19","nodeType":"YulExpressionStatement","src":"218721:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"218757:4:19","nodeType":"YulLiteral","src":"218757:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"218763:4:19","nodeType":"YulLiteral","src":"218763:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"218750:6:19","nodeType":"YulIdentifier","src":"218750:6:19"},"nativeSrc":"218750:18:19","nodeType":"YulFunctionCall","src":"218750:18:19"},"nativeSrc":"218750:18:19","nodeType":"YulExpressionStatement","src":"218750:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"218788:4:19","nodeType":"YulLiteral","src":"218788:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"218794:2:19","nodeType":"YulIdentifier","src":"218794:2:19"}],"functionName":{"name":"mstore","nativeSrc":"218781:6:19","nodeType":"YulIdentifier","src":"218781:6:19"},"nativeSrc":"218781:16:19","nodeType":"YulFunctionCall","src":"218781:16:19"},"nativeSrc":"218781:16:19","nodeType":"YulExpressionStatement","src":"218781:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"218822:4:19","nodeType":"YulLiteral","src":"218822:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"218828:2:19","nodeType":"YulIdentifier","src":"218828:2:19"}],"functionName":{"name":"writeString","nativeSrc":"218810:11:19","nodeType":"YulIdentifier","src":"218810:11:19"},"nativeSrc":"218810:21:19","nodeType":"YulFunctionCall","src":"218810:21:19"},"nativeSrc":"218810:21:19","nodeType":"YulExpressionStatement","src":"218810:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33204,"isOffset":false,"isSlot":false,"src":"218382:2:19","valueSize":1},{"declaration":33207,"isOffset":false,"isSlot":false,"src":"218412:2:19","valueSize":1},{"declaration":33210,"isOffset":false,"isSlot":false,"src":"218442:2:19","valueSize":1},{"declaration":33213,"isOffset":false,"isSlot":false,"src":"218472:2:19","valueSize":1},{"declaration":33216,"isOffset":false,"isSlot":false,"src":"218502:2:19","valueSize":1},{"declaration":33219,"isOffset":false,"isSlot":false,"src":"218532:2:19","valueSize":1},{"declaration":33222,"isOffset":false,"isSlot":false,"src":"218562:2:19","valueSize":1},{"declaration":33194,"isOffset":false,"isSlot":false,"src":"218705:2:19","valueSize":1},{"declaration":33196,"isOffset":false,"isSlot":false,"src":"218734:2:19","valueSize":1},{"declaration":33198,"isOffset":false,"isSlot":false,"src":"218828:2:19","valueSize":1},{"declaration":33200,"isOffset":false,"isSlot":false,"src":"218794:2:19","valueSize":1}],"id":33224,"nodeType":"InlineAssembly","src":"218004:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"218866:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"218872:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33225,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"218850:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"218850:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33229,"nodeType":"ExpressionStatement","src":"218850:27:19"},{"AST":{"nativeSrc":"218939:214:19","nodeType":"YulBlock","src":"218939:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"218960:4:19","nodeType":"YulLiteral","src":"218960:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"218966:2:19","nodeType":"YulIdentifier","src":"218966:2:19"}],"functionName":{"name":"mstore","nativeSrc":"218953:6:19","nodeType":"YulIdentifier","src":"218953:6:19"},"nativeSrc":"218953:16:19","nodeType":"YulFunctionCall","src":"218953:16:19"},"nativeSrc":"218953:16:19","nodeType":"YulExpressionStatement","src":"218953:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"218989:4:19","nodeType":"YulLiteral","src":"218989:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"218995:2:19","nodeType":"YulIdentifier","src":"218995:2:19"}],"functionName":{"name":"mstore","nativeSrc":"218982:6:19","nodeType":"YulIdentifier","src":"218982:6:19"},"nativeSrc":"218982:16:19","nodeType":"YulFunctionCall","src":"218982:16:19"},"nativeSrc":"218982:16:19","nodeType":"YulExpressionStatement","src":"218982:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"219018:4:19","nodeType":"YulLiteral","src":"219018:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"219024:2:19","nodeType":"YulIdentifier","src":"219024:2:19"}],"functionName":{"name":"mstore","nativeSrc":"219011:6:19","nodeType":"YulIdentifier","src":"219011:6:19"},"nativeSrc":"219011:16:19","nodeType":"YulFunctionCall","src":"219011:16:19"},"nativeSrc":"219011:16:19","nodeType":"YulExpressionStatement","src":"219011:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"219047:4:19","nodeType":"YulLiteral","src":"219047:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"219053:2:19","nodeType":"YulIdentifier","src":"219053:2:19"}],"functionName":{"name":"mstore","nativeSrc":"219040:6:19","nodeType":"YulIdentifier","src":"219040:6:19"},"nativeSrc":"219040:16:19","nodeType":"YulFunctionCall","src":"219040:16:19"},"nativeSrc":"219040:16:19","nodeType":"YulExpressionStatement","src":"219040:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"219076:4:19","nodeType":"YulLiteral","src":"219076:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"219082:2:19","nodeType":"YulIdentifier","src":"219082:2:19"}],"functionName":{"name":"mstore","nativeSrc":"219069:6:19","nodeType":"YulIdentifier","src":"219069:6:19"},"nativeSrc":"219069:16:19","nodeType":"YulFunctionCall","src":"219069:16:19"},"nativeSrc":"219069:16:19","nodeType":"YulExpressionStatement","src":"219069:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"219105:4:19","nodeType":"YulLiteral","src":"219105:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"219111:2:19","nodeType":"YulIdentifier","src":"219111:2:19"}],"functionName":{"name":"mstore","nativeSrc":"219098:6:19","nodeType":"YulIdentifier","src":"219098:6:19"},"nativeSrc":"219098:16:19","nodeType":"YulFunctionCall","src":"219098:16:19"},"nativeSrc":"219098:16:19","nodeType":"YulExpressionStatement","src":"219098:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"219134:4:19","nodeType":"YulLiteral","src":"219134:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"219140:2:19","nodeType":"YulIdentifier","src":"219140:2:19"}],"functionName":{"name":"mstore","nativeSrc":"219127:6:19","nodeType":"YulIdentifier","src":"219127:6:19"},"nativeSrc":"219127:16:19","nodeType":"YulFunctionCall","src":"219127:16:19"},"nativeSrc":"219127:16:19","nodeType":"YulExpressionStatement","src":"219127:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33204,"isOffset":false,"isSlot":false,"src":"218966:2:19","valueSize":1},{"declaration":33207,"isOffset":false,"isSlot":false,"src":"218995:2:19","valueSize":1},{"declaration":33210,"isOffset":false,"isSlot":false,"src":"219024:2:19","valueSize":1},{"declaration":33213,"isOffset":false,"isSlot":false,"src":"219053:2:19","valueSize":1},{"declaration":33216,"isOffset":false,"isSlot":false,"src":"219082:2:19","valueSize":1},{"declaration":33219,"isOffset":false,"isSlot":false,"src":"219111:2:19","valueSize":1},{"declaration":33222,"isOffset":false,"isSlot":false,"src":"219140:2:19","valueSize":1}],"id":33230,"nodeType":"InlineAssembly","src":"218930:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"217748:3:19","parameters":{"id":33201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33194,"mutability":"mutable","name":"p0","nameLocation":"217757:2:19","nodeType":"VariableDeclaration","scope":33232,"src":"217752:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33193,"name":"bool","nodeType":"ElementaryTypeName","src":"217752:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33196,"mutability":"mutable","name":"p1","nameLocation":"217769:2:19","nodeType":"VariableDeclaration","scope":33232,"src":"217761:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33195,"name":"uint256","nodeType":"ElementaryTypeName","src":"217761:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33198,"mutability":"mutable","name":"p2","nameLocation":"217781:2:19","nodeType":"VariableDeclaration","scope":33232,"src":"217773:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33197,"name":"bytes32","nodeType":"ElementaryTypeName","src":"217773:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33200,"mutability":"mutable","name":"p3","nameLocation":"217793:2:19","nodeType":"VariableDeclaration","scope":33232,"src":"217785:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33199,"name":"address","nodeType":"ElementaryTypeName","src":"217785:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"217751:45:19"},"returnParameters":{"id":33202,"nodeType":"ParameterList","parameters":[],"src":"217811:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33272,"nodeType":"FunctionDefinition","src":"219165:1414:19","nodes":[],"body":{"id":33271,"nodeType":"Block","src":"219234:1345:19","nodes":[],"statements":[{"assignments":[33244],"declarations":[{"constant":false,"id":33244,"mutability":"mutable","name":"m0","nameLocation":"219252:2:19","nodeType":"VariableDeclaration","scope":33271,"src":"219244:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33243,"name":"bytes32","nodeType":"ElementaryTypeName","src":"219244:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33245,"nodeType":"VariableDeclarationStatement","src":"219244:10:19"},{"assignments":[33247],"declarations":[{"constant":false,"id":33247,"mutability":"mutable","name":"m1","nameLocation":"219272:2:19","nodeType":"VariableDeclaration","scope":33271,"src":"219264:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33246,"name":"bytes32","nodeType":"ElementaryTypeName","src":"219264:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33248,"nodeType":"VariableDeclarationStatement","src":"219264:10:19"},{"assignments":[33250],"declarations":[{"constant":false,"id":33250,"mutability":"mutable","name":"m2","nameLocation":"219292:2:19","nodeType":"VariableDeclaration","scope":33271,"src":"219284:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"219284:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33251,"nodeType":"VariableDeclarationStatement","src":"219284:10:19"},{"assignments":[33253],"declarations":[{"constant":false,"id":33253,"mutability":"mutable","name":"m3","nameLocation":"219312:2:19","nodeType":"VariableDeclaration","scope":33271,"src":"219304:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33252,"name":"bytes32","nodeType":"ElementaryTypeName","src":"219304:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33254,"nodeType":"VariableDeclarationStatement","src":"219304:10:19"},{"assignments":[33256],"declarations":[{"constant":false,"id":33256,"mutability":"mutable","name":"m4","nameLocation":"219332:2:19","nodeType":"VariableDeclaration","scope":33271,"src":"219324:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33255,"name":"bytes32","nodeType":"ElementaryTypeName","src":"219324:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33257,"nodeType":"VariableDeclarationStatement","src":"219324:10:19"},{"assignments":[33259],"declarations":[{"constant":false,"id":33259,"mutability":"mutable","name":"m5","nameLocation":"219352:2:19","nodeType":"VariableDeclaration","scope":33271,"src":"219344:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33258,"name":"bytes32","nodeType":"ElementaryTypeName","src":"219344:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33260,"nodeType":"VariableDeclarationStatement","src":"219344:10:19"},{"assignments":[33262],"declarations":[{"constant":false,"id":33262,"mutability":"mutable","name":"m6","nameLocation":"219372:2:19","nodeType":"VariableDeclaration","scope":33271,"src":"219364:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33261,"name":"bytes32","nodeType":"ElementaryTypeName","src":"219364:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33263,"nodeType":"VariableDeclarationStatement","src":"219364:10:19"},{"AST":{"nativeSrc":"219436:825:19","nodeType":"YulBlock","src":"219436:825:19","statements":[{"body":{"nativeSrc":"219479:313:19","nodeType":"YulBlock","src":"219479:313:19","statements":[{"nativeSrc":"219497:15:19","nodeType":"YulVariableDeclaration","src":"219497:15:19","value":{"kind":"number","nativeSrc":"219511:1:19","nodeType":"YulLiteral","src":"219511:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"219501:6:19","nodeType":"YulTypedName","src":"219501:6:19","type":""}]},{"body":{"nativeSrc":"219582:40:19","nodeType":"YulBlock","src":"219582:40:19","statements":[{"body":{"nativeSrc":"219611:9:19","nodeType":"YulBlock","src":"219611:9:19","statements":[{"nativeSrc":"219613:5:19","nodeType":"YulBreak","src":"219613:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"219599:6:19","nodeType":"YulIdentifier","src":"219599:6:19"},{"name":"w","nativeSrc":"219607:1:19","nodeType":"YulIdentifier","src":"219607:1:19"}],"functionName":{"name":"byte","nativeSrc":"219594:4:19","nodeType":"YulIdentifier","src":"219594:4:19"},"nativeSrc":"219594:15:19","nodeType":"YulFunctionCall","src":"219594:15:19"}],"functionName":{"name":"iszero","nativeSrc":"219587:6:19","nodeType":"YulIdentifier","src":"219587:6:19"},"nativeSrc":"219587:23:19","nodeType":"YulFunctionCall","src":"219587:23:19"},"nativeSrc":"219584:36:19","nodeType":"YulIf","src":"219584:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"219539:6:19","nodeType":"YulIdentifier","src":"219539:6:19"},{"kind":"number","nativeSrc":"219547:4:19","nodeType":"YulLiteral","src":"219547:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"219536:2:19","nodeType":"YulIdentifier","src":"219536:2:19"},"nativeSrc":"219536:16:19","nodeType":"YulFunctionCall","src":"219536:16:19"},"nativeSrc":"219529:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"219553:28:19","nodeType":"YulBlock","src":"219553:28:19","statements":[{"nativeSrc":"219555:24:19","nodeType":"YulAssignment","src":"219555:24:19","value":{"arguments":[{"name":"length","nativeSrc":"219569:6:19","nodeType":"YulIdentifier","src":"219569:6:19"},{"kind":"number","nativeSrc":"219577:1:19","nodeType":"YulLiteral","src":"219577:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"219565:3:19","nodeType":"YulIdentifier","src":"219565:3:19"},"nativeSrc":"219565:14:19","nodeType":"YulFunctionCall","src":"219565:14:19"},"variableNames":[{"name":"length","nativeSrc":"219555:6:19","nodeType":"YulIdentifier","src":"219555:6:19"}]}]},"pre":{"nativeSrc":"219533:2:19","nodeType":"YulBlock","src":"219533:2:19","statements":[]},"src":"219529:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"219646:3:19","nodeType":"YulIdentifier","src":"219646:3:19"},{"name":"length","nativeSrc":"219651:6:19","nodeType":"YulIdentifier","src":"219651:6:19"}],"functionName":{"name":"mstore","nativeSrc":"219639:6:19","nodeType":"YulIdentifier","src":"219639:6:19"},"nativeSrc":"219639:19:19","nodeType":"YulFunctionCall","src":"219639:19:19"},"nativeSrc":"219639:19:19","nodeType":"YulExpressionStatement","src":"219639:19:19"},{"nativeSrc":"219675:37:19","nodeType":"YulVariableDeclaration","src":"219675:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"219692:3:19","nodeType":"YulLiteral","src":"219692:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"219701:1:19","nodeType":"YulLiteral","src":"219701:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"219704:6:19","nodeType":"YulIdentifier","src":"219704:6:19"}],"functionName":{"name":"shl","nativeSrc":"219697:3:19","nodeType":"YulIdentifier","src":"219697:3:19"},"nativeSrc":"219697:14:19","nodeType":"YulFunctionCall","src":"219697:14:19"}],"functionName":{"name":"sub","nativeSrc":"219688:3:19","nodeType":"YulIdentifier","src":"219688:3:19"},"nativeSrc":"219688:24:19","nodeType":"YulFunctionCall","src":"219688:24:19"},"variables":[{"name":"shift","nativeSrc":"219679:5:19","nodeType":"YulTypedName","src":"219679:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"219740:3:19","nodeType":"YulIdentifier","src":"219740:3:19"},{"kind":"number","nativeSrc":"219745:4:19","nodeType":"YulLiteral","src":"219745:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"219736:3:19","nodeType":"YulIdentifier","src":"219736:3:19"},"nativeSrc":"219736:14:19","nodeType":"YulFunctionCall","src":"219736:14:19"},{"arguments":[{"name":"shift","nativeSrc":"219756:5:19","nodeType":"YulIdentifier","src":"219756:5:19"},{"arguments":[{"name":"shift","nativeSrc":"219767:5:19","nodeType":"YulIdentifier","src":"219767:5:19"},{"name":"w","nativeSrc":"219774:1:19","nodeType":"YulIdentifier","src":"219774:1:19"}],"functionName":{"name":"shr","nativeSrc":"219763:3:19","nodeType":"YulIdentifier","src":"219763:3:19"},"nativeSrc":"219763:13:19","nodeType":"YulFunctionCall","src":"219763:13:19"}],"functionName":{"name":"shl","nativeSrc":"219752:3:19","nodeType":"YulIdentifier","src":"219752:3:19"},"nativeSrc":"219752:25:19","nodeType":"YulFunctionCall","src":"219752:25:19"}],"functionName":{"name":"mstore","nativeSrc":"219729:6:19","nodeType":"YulIdentifier","src":"219729:6:19"},"nativeSrc":"219729:49:19","nodeType":"YulFunctionCall","src":"219729:49:19"},"nativeSrc":"219729:49:19","nodeType":"YulExpressionStatement","src":"219729:49:19"}]},"name":"writeString","nativeSrc":"219450:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"219471:3:19","nodeType":"YulTypedName","src":"219471:3:19","type":""},{"name":"w","nativeSrc":"219476:1:19","nodeType":"YulTypedName","src":"219476:1:19","type":""}],"src":"219450:342:19"},{"nativeSrc":"219805:17:19","nodeType":"YulAssignment","src":"219805:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"219817:4:19","nodeType":"YulLiteral","src":"219817:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"219811:5:19","nodeType":"YulIdentifier","src":"219811:5:19"},"nativeSrc":"219811:11:19","nodeType":"YulFunctionCall","src":"219811:11:19"},"variableNames":[{"name":"m0","nativeSrc":"219805:2:19","nodeType":"YulIdentifier","src":"219805:2:19"}]},{"nativeSrc":"219835:17:19","nodeType":"YulAssignment","src":"219835:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"219847:4:19","nodeType":"YulLiteral","src":"219847:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"219841:5:19","nodeType":"YulIdentifier","src":"219841:5:19"},"nativeSrc":"219841:11:19","nodeType":"YulFunctionCall","src":"219841:11:19"},"variableNames":[{"name":"m1","nativeSrc":"219835:2:19","nodeType":"YulIdentifier","src":"219835:2:19"}]},{"nativeSrc":"219865:17:19","nodeType":"YulAssignment","src":"219865:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"219877:4:19","nodeType":"YulLiteral","src":"219877:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"219871:5:19","nodeType":"YulIdentifier","src":"219871:5:19"},"nativeSrc":"219871:11:19","nodeType":"YulFunctionCall","src":"219871:11:19"},"variableNames":[{"name":"m2","nativeSrc":"219865:2:19","nodeType":"YulIdentifier","src":"219865:2:19"}]},{"nativeSrc":"219895:17:19","nodeType":"YulAssignment","src":"219895:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"219907:4:19","nodeType":"YulLiteral","src":"219907:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"219901:5:19","nodeType":"YulIdentifier","src":"219901:5:19"},"nativeSrc":"219901:11:19","nodeType":"YulFunctionCall","src":"219901:11:19"},"variableNames":[{"name":"m3","nativeSrc":"219895:2:19","nodeType":"YulIdentifier","src":"219895:2:19"}]},{"nativeSrc":"219925:17:19","nodeType":"YulAssignment","src":"219925:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"219937:4:19","nodeType":"YulLiteral","src":"219937:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"219931:5:19","nodeType":"YulIdentifier","src":"219931:5:19"},"nativeSrc":"219931:11:19","nodeType":"YulFunctionCall","src":"219931:11:19"},"variableNames":[{"name":"m4","nativeSrc":"219925:2:19","nodeType":"YulIdentifier","src":"219925:2:19"}]},{"nativeSrc":"219955:17:19","nodeType":"YulAssignment","src":"219955:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"219967:4:19","nodeType":"YulLiteral","src":"219967:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"219961:5:19","nodeType":"YulIdentifier","src":"219961:5:19"},"nativeSrc":"219961:11:19","nodeType":"YulFunctionCall","src":"219961:11:19"},"variableNames":[{"name":"m5","nativeSrc":"219955:2:19","nodeType":"YulIdentifier","src":"219955:2:19"}]},{"nativeSrc":"219985:17:19","nodeType":"YulAssignment","src":"219985:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"219997:4:19","nodeType":"YulLiteral","src":"219997:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"219991:5:19","nodeType":"YulIdentifier","src":"219991:5:19"},"nativeSrc":"219991:11:19","nodeType":"YulFunctionCall","src":"219991:11:19"},"variableNames":[{"name":"m6","nativeSrc":"219985:2:19","nodeType":"YulIdentifier","src":"219985:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220082:4:19","nodeType":"YulLiteral","src":"220082:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"220088:10:19","nodeType":"YulLiteral","src":"220088:10:19","type":"","value":"0xe5e70b2b"}],"functionName":{"name":"mstore","nativeSrc":"220075:6:19","nodeType":"YulIdentifier","src":"220075:6:19"},"nativeSrc":"220075:24:19","nodeType":"YulFunctionCall","src":"220075:24:19"},"nativeSrc":"220075:24:19","nodeType":"YulExpressionStatement","src":"220075:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220119:4:19","nodeType":"YulLiteral","src":"220119:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"220125:2:19","nodeType":"YulIdentifier","src":"220125:2:19"}],"functionName":{"name":"mstore","nativeSrc":"220112:6:19","nodeType":"YulIdentifier","src":"220112:6:19"},"nativeSrc":"220112:16:19","nodeType":"YulFunctionCall","src":"220112:16:19"},"nativeSrc":"220112:16:19","nodeType":"YulExpressionStatement","src":"220112:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220148:4:19","nodeType":"YulLiteral","src":"220148:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"220154:2:19","nodeType":"YulIdentifier","src":"220154:2:19"}],"functionName":{"name":"mstore","nativeSrc":"220141:6:19","nodeType":"YulIdentifier","src":"220141:6:19"},"nativeSrc":"220141:16:19","nodeType":"YulFunctionCall","src":"220141:16:19"},"nativeSrc":"220141:16:19","nodeType":"YulExpressionStatement","src":"220141:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220177:4:19","nodeType":"YulLiteral","src":"220177:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"220183:4:19","nodeType":"YulLiteral","src":"220183:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"220170:6:19","nodeType":"YulIdentifier","src":"220170:6:19"},"nativeSrc":"220170:18:19","nodeType":"YulFunctionCall","src":"220170:18:19"},"nativeSrc":"220170:18:19","nodeType":"YulExpressionStatement","src":"220170:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220208:4:19","nodeType":"YulLiteral","src":"220208:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"220214:2:19","nodeType":"YulIdentifier","src":"220214:2:19"}],"functionName":{"name":"mstore","nativeSrc":"220201:6:19","nodeType":"YulIdentifier","src":"220201:6:19"},"nativeSrc":"220201:16:19","nodeType":"YulFunctionCall","src":"220201:16:19"},"nativeSrc":"220201:16:19","nodeType":"YulExpressionStatement","src":"220201:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220242:4:19","nodeType":"YulLiteral","src":"220242:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"220248:2:19","nodeType":"YulIdentifier","src":"220248:2:19"}],"functionName":{"name":"writeString","nativeSrc":"220230:11:19","nodeType":"YulIdentifier","src":"220230:11:19"},"nativeSrc":"220230:21:19","nodeType":"YulFunctionCall","src":"220230:21:19"},"nativeSrc":"220230:21:19","nodeType":"YulExpressionStatement","src":"220230:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33244,"isOffset":false,"isSlot":false,"src":"219805:2:19","valueSize":1},{"declaration":33247,"isOffset":false,"isSlot":false,"src":"219835:2:19","valueSize":1},{"declaration":33250,"isOffset":false,"isSlot":false,"src":"219865:2:19","valueSize":1},{"declaration":33253,"isOffset":false,"isSlot":false,"src":"219895:2:19","valueSize":1},{"declaration":33256,"isOffset":false,"isSlot":false,"src":"219925:2:19","valueSize":1},{"declaration":33259,"isOffset":false,"isSlot":false,"src":"219955:2:19","valueSize":1},{"declaration":33262,"isOffset":false,"isSlot":false,"src":"219985:2:19","valueSize":1},{"declaration":33234,"isOffset":false,"isSlot":false,"src":"220125:2:19","valueSize":1},{"declaration":33236,"isOffset":false,"isSlot":false,"src":"220154:2:19","valueSize":1},{"declaration":33238,"isOffset":false,"isSlot":false,"src":"220248:2:19","valueSize":1},{"declaration":33240,"isOffset":false,"isSlot":false,"src":"220214:2:19","valueSize":1}],"id":33264,"nodeType":"InlineAssembly","src":"219427:834:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"220286:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"220292:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33265,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"220270:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"220270:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33269,"nodeType":"ExpressionStatement","src":"220270:27:19"},{"AST":{"nativeSrc":"220359:214:19","nodeType":"YulBlock","src":"220359:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"220380:4:19","nodeType":"YulLiteral","src":"220380:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"220386:2:19","nodeType":"YulIdentifier","src":"220386:2:19"}],"functionName":{"name":"mstore","nativeSrc":"220373:6:19","nodeType":"YulIdentifier","src":"220373:6:19"},"nativeSrc":"220373:16:19","nodeType":"YulFunctionCall","src":"220373:16:19"},"nativeSrc":"220373:16:19","nodeType":"YulExpressionStatement","src":"220373:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220409:4:19","nodeType":"YulLiteral","src":"220409:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"220415:2:19","nodeType":"YulIdentifier","src":"220415:2:19"}],"functionName":{"name":"mstore","nativeSrc":"220402:6:19","nodeType":"YulIdentifier","src":"220402:6:19"},"nativeSrc":"220402:16:19","nodeType":"YulFunctionCall","src":"220402:16:19"},"nativeSrc":"220402:16:19","nodeType":"YulExpressionStatement","src":"220402:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220438:4:19","nodeType":"YulLiteral","src":"220438:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"220444:2:19","nodeType":"YulIdentifier","src":"220444:2:19"}],"functionName":{"name":"mstore","nativeSrc":"220431:6:19","nodeType":"YulIdentifier","src":"220431:6:19"},"nativeSrc":"220431:16:19","nodeType":"YulFunctionCall","src":"220431:16:19"},"nativeSrc":"220431:16:19","nodeType":"YulExpressionStatement","src":"220431:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220467:4:19","nodeType":"YulLiteral","src":"220467:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"220473:2:19","nodeType":"YulIdentifier","src":"220473:2:19"}],"functionName":{"name":"mstore","nativeSrc":"220460:6:19","nodeType":"YulIdentifier","src":"220460:6:19"},"nativeSrc":"220460:16:19","nodeType":"YulFunctionCall","src":"220460:16:19"},"nativeSrc":"220460:16:19","nodeType":"YulExpressionStatement","src":"220460:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220496:4:19","nodeType":"YulLiteral","src":"220496:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"220502:2:19","nodeType":"YulIdentifier","src":"220502:2:19"}],"functionName":{"name":"mstore","nativeSrc":"220489:6:19","nodeType":"YulIdentifier","src":"220489:6:19"},"nativeSrc":"220489:16:19","nodeType":"YulFunctionCall","src":"220489:16:19"},"nativeSrc":"220489:16:19","nodeType":"YulExpressionStatement","src":"220489:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220525:4:19","nodeType":"YulLiteral","src":"220525:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"220531:2:19","nodeType":"YulIdentifier","src":"220531:2:19"}],"functionName":{"name":"mstore","nativeSrc":"220518:6:19","nodeType":"YulIdentifier","src":"220518:6:19"},"nativeSrc":"220518:16:19","nodeType":"YulFunctionCall","src":"220518:16:19"},"nativeSrc":"220518:16:19","nodeType":"YulExpressionStatement","src":"220518:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"220554:4:19","nodeType":"YulLiteral","src":"220554:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"220560:2:19","nodeType":"YulIdentifier","src":"220560:2:19"}],"functionName":{"name":"mstore","nativeSrc":"220547:6:19","nodeType":"YulIdentifier","src":"220547:6:19"},"nativeSrc":"220547:16:19","nodeType":"YulFunctionCall","src":"220547:16:19"},"nativeSrc":"220547:16:19","nodeType":"YulExpressionStatement","src":"220547:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33244,"isOffset":false,"isSlot":false,"src":"220386:2:19","valueSize":1},{"declaration":33247,"isOffset":false,"isSlot":false,"src":"220415:2:19","valueSize":1},{"declaration":33250,"isOffset":false,"isSlot":false,"src":"220444:2:19","valueSize":1},{"declaration":33253,"isOffset":false,"isSlot":false,"src":"220473:2:19","valueSize":1},{"declaration":33256,"isOffset":false,"isSlot":false,"src":"220502:2:19","valueSize":1},{"declaration":33259,"isOffset":false,"isSlot":false,"src":"220531:2:19","valueSize":1},{"declaration":33262,"isOffset":false,"isSlot":false,"src":"220560:2:19","valueSize":1}],"id":33270,"nodeType":"InlineAssembly","src":"220350:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"219174:3:19","parameters":{"id":33241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33234,"mutability":"mutable","name":"p0","nameLocation":"219183:2:19","nodeType":"VariableDeclaration","scope":33272,"src":"219178:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33233,"name":"bool","nodeType":"ElementaryTypeName","src":"219178:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33236,"mutability":"mutable","name":"p1","nameLocation":"219195:2:19","nodeType":"VariableDeclaration","scope":33272,"src":"219187:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33235,"name":"uint256","nodeType":"ElementaryTypeName","src":"219187:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33238,"mutability":"mutable","name":"p2","nameLocation":"219207:2:19","nodeType":"VariableDeclaration","scope":33272,"src":"219199:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33237,"name":"bytes32","nodeType":"ElementaryTypeName","src":"219199:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33240,"mutability":"mutable","name":"p3","nameLocation":"219216:2:19","nodeType":"VariableDeclaration","scope":33272,"src":"219211:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33239,"name":"bool","nodeType":"ElementaryTypeName","src":"219211:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"219177:42:19"},"returnParameters":{"id":33242,"nodeType":"ParameterList","parameters":[],"src":"219234:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33312,"nodeType":"FunctionDefinition","src":"220585:1420:19","nodes":[],"body":{"id":33311,"nodeType":"Block","src":"220657:1348:19","nodes":[],"statements":[{"assignments":[33284],"declarations":[{"constant":false,"id":33284,"mutability":"mutable","name":"m0","nameLocation":"220675:2:19","nodeType":"VariableDeclaration","scope":33311,"src":"220667:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33283,"name":"bytes32","nodeType":"ElementaryTypeName","src":"220667:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33285,"nodeType":"VariableDeclarationStatement","src":"220667:10:19"},{"assignments":[33287],"declarations":[{"constant":false,"id":33287,"mutability":"mutable","name":"m1","nameLocation":"220695:2:19","nodeType":"VariableDeclaration","scope":33311,"src":"220687:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33286,"name":"bytes32","nodeType":"ElementaryTypeName","src":"220687:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33288,"nodeType":"VariableDeclarationStatement","src":"220687:10:19"},{"assignments":[33290],"declarations":[{"constant":false,"id":33290,"mutability":"mutable","name":"m2","nameLocation":"220715:2:19","nodeType":"VariableDeclaration","scope":33311,"src":"220707:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33289,"name":"bytes32","nodeType":"ElementaryTypeName","src":"220707:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33291,"nodeType":"VariableDeclarationStatement","src":"220707:10:19"},{"assignments":[33293],"declarations":[{"constant":false,"id":33293,"mutability":"mutable","name":"m3","nameLocation":"220735:2:19","nodeType":"VariableDeclaration","scope":33311,"src":"220727:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33292,"name":"bytes32","nodeType":"ElementaryTypeName","src":"220727:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33294,"nodeType":"VariableDeclarationStatement","src":"220727:10:19"},{"assignments":[33296],"declarations":[{"constant":false,"id":33296,"mutability":"mutable","name":"m4","nameLocation":"220755:2:19","nodeType":"VariableDeclaration","scope":33311,"src":"220747:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33295,"name":"bytes32","nodeType":"ElementaryTypeName","src":"220747:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33297,"nodeType":"VariableDeclarationStatement","src":"220747:10:19"},{"assignments":[33299],"declarations":[{"constant":false,"id":33299,"mutability":"mutable","name":"m5","nameLocation":"220775:2:19","nodeType":"VariableDeclaration","scope":33311,"src":"220767:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33298,"name":"bytes32","nodeType":"ElementaryTypeName","src":"220767:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33300,"nodeType":"VariableDeclarationStatement","src":"220767:10:19"},{"assignments":[33302],"declarations":[{"constant":false,"id":33302,"mutability":"mutable","name":"m6","nameLocation":"220795:2:19","nodeType":"VariableDeclaration","scope":33311,"src":"220787:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33301,"name":"bytes32","nodeType":"ElementaryTypeName","src":"220787:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33303,"nodeType":"VariableDeclarationStatement","src":"220787:10:19"},{"AST":{"nativeSrc":"220859:828:19","nodeType":"YulBlock","src":"220859:828:19","statements":[{"body":{"nativeSrc":"220902:313:19","nodeType":"YulBlock","src":"220902:313:19","statements":[{"nativeSrc":"220920:15:19","nodeType":"YulVariableDeclaration","src":"220920:15:19","value":{"kind":"number","nativeSrc":"220934:1:19","nodeType":"YulLiteral","src":"220934:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"220924:6:19","nodeType":"YulTypedName","src":"220924:6:19","type":""}]},{"body":{"nativeSrc":"221005:40:19","nodeType":"YulBlock","src":"221005:40:19","statements":[{"body":{"nativeSrc":"221034:9:19","nodeType":"YulBlock","src":"221034:9:19","statements":[{"nativeSrc":"221036:5:19","nodeType":"YulBreak","src":"221036:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"221022:6:19","nodeType":"YulIdentifier","src":"221022:6:19"},{"name":"w","nativeSrc":"221030:1:19","nodeType":"YulIdentifier","src":"221030:1:19"}],"functionName":{"name":"byte","nativeSrc":"221017:4:19","nodeType":"YulIdentifier","src":"221017:4:19"},"nativeSrc":"221017:15:19","nodeType":"YulFunctionCall","src":"221017:15:19"}],"functionName":{"name":"iszero","nativeSrc":"221010:6:19","nodeType":"YulIdentifier","src":"221010:6:19"},"nativeSrc":"221010:23:19","nodeType":"YulFunctionCall","src":"221010:23:19"},"nativeSrc":"221007:36:19","nodeType":"YulIf","src":"221007:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"220962:6:19","nodeType":"YulIdentifier","src":"220962:6:19"},{"kind":"number","nativeSrc":"220970:4:19","nodeType":"YulLiteral","src":"220970:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"220959:2:19","nodeType":"YulIdentifier","src":"220959:2:19"},"nativeSrc":"220959:16:19","nodeType":"YulFunctionCall","src":"220959:16:19"},"nativeSrc":"220952:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"220976:28:19","nodeType":"YulBlock","src":"220976:28:19","statements":[{"nativeSrc":"220978:24:19","nodeType":"YulAssignment","src":"220978:24:19","value":{"arguments":[{"name":"length","nativeSrc":"220992:6:19","nodeType":"YulIdentifier","src":"220992:6:19"},{"kind":"number","nativeSrc":"221000:1:19","nodeType":"YulLiteral","src":"221000:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"220988:3:19","nodeType":"YulIdentifier","src":"220988:3:19"},"nativeSrc":"220988:14:19","nodeType":"YulFunctionCall","src":"220988:14:19"},"variableNames":[{"name":"length","nativeSrc":"220978:6:19","nodeType":"YulIdentifier","src":"220978:6:19"}]}]},"pre":{"nativeSrc":"220956:2:19","nodeType":"YulBlock","src":"220956:2:19","statements":[]},"src":"220952:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"221069:3:19","nodeType":"YulIdentifier","src":"221069:3:19"},{"name":"length","nativeSrc":"221074:6:19","nodeType":"YulIdentifier","src":"221074:6:19"}],"functionName":{"name":"mstore","nativeSrc":"221062:6:19","nodeType":"YulIdentifier","src":"221062:6:19"},"nativeSrc":"221062:19:19","nodeType":"YulFunctionCall","src":"221062:19:19"},"nativeSrc":"221062:19:19","nodeType":"YulExpressionStatement","src":"221062:19:19"},{"nativeSrc":"221098:37:19","nodeType":"YulVariableDeclaration","src":"221098:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"221115:3:19","nodeType":"YulLiteral","src":"221115:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"221124:1:19","nodeType":"YulLiteral","src":"221124:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"221127:6:19","nodeType":"YulIdentifier","src":"221127:6:19"}],"functionName":{"name":"shl","nativeSrc":"221120:3:19","nodeType":"YulIdentifier","src":"221120:3:19"},"nativeSrc":"221120:14:19","nodeType":"YulFunctionCall","src":"221120:14:19"}],"functionName":{"name":"sub","nativeSrc":"221111:3:19","nodeType":"YulIdentifier","src":"221111:3:19"},"nativeSrc":"221111:24:19","nodeType":"YulFunctionCall","src":"221111:24:19"},"variables":[{"name":"shift","nativeSrc":"221102:5:19","nodeType":"YulTypedName","src":"221102:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"221163:3:19","nodeType":"YulIdentifier","src":"221163:3:19"},{"kind":"number","nativeSrc":"221168:4:19","nodeType":"YulLiteral","src":"221168:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"221159:3:19","nodeType":"YulIdentifier","src":"221159:3:19"},"nativeSrc":"221159:14:19","nodeType":"YulFunctionCall","src":"221159:14:19"},{"arguments":[{"name":"shift","nativeSrc":"221179:5:19","nodeType":"YulIdentifier","src":"221179:5:19"},{"arguments":[{"name":"shift","nativeSrc":"221190:5:19","nodeType":"YulIdentifier","src":"221190:5:19"},{"name":"w","nativeSrc":"221197:1:19","nodeType":"YulIdentifier","src":"221197:1:19"}],"functionName":{"name":"shr","nativeSrc":"221186:3:19","nodeType":"YulIdentifier","src":"221186:3:19"},"nativeSrc":"221186:13:19","nodeType":"YulFunctionCall","src":"221186:13:19"}],"functionName":{"name":"shl","nativeSrc":"221175:3:19","nodeType":"YulIdentifier","src":"221175:3:19"},"nativeSrc":"221175:25:19","nodeType":"YulFunctionCall","src":"221175:25:19"}],"functionName":{"name":"mstore","nativeSrc":"221152:6:19","nodeType":"YulIdentifier","src":"221152:6:19"},"nativeSrc":"221152:49:19","nodeType":"YulFunctionCall","src":"221152:49:19"},"nativeSrc":"221152:49:19","nodeType":"YulExpressionStatement","src":"221152:49:19"}]},"name":"writeString","nativeSrc":"220873:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"220894:3:19","nodeType":"YulTypedName","src":"220894:3:19","type":""},{"name":"w","nativeSrc":"220899:1:19","nodeType":"YulTypedName","src":"220899:1:19","type":""}],"src":"220873:342:19"},{"nativeSrc":"221228:17:19","nodeType":"YulAssignment","src":"221228:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"221240:4:19","nodeType":"YulLiteral","src":"221240:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"221234:5:19","nodeType":"YulIdentifier","src":"221234:5:19"},"nativeSrc":"221234:11:19","nodeType":"YulFunctionCall","src":"221234:11:19"},"variableNames":[{"name":"m0","nativeSrc":"221228:2:19","nodeType":"YulIdentifier","src":"221228:2:19"}]},{"nativeSrc":"221258:17:19","nodeType":"YulAssignment","src":"221258:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"221270:4:19","nodeType":"YulLiteral","src":"221270:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"221264:5:19","nodeType":"YulIdentifier","src":"221264:5:19"},"nativeSrc":"221264:11:19","nodeType":"YulFunctionCall","src":"221264:11:19"},"variableNames":[{"name":"m1","nativeSrc":"221258:2:19","nodeType":"YulIdentifier","src":"221258:2:19"}]},{"nativeSrc":"221288:17:19","nodeType":"YulAssignment","src":"221288:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"221300:4:19","nodeType":"YulLiteral","src":"221300:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"221294:5:19","nodeType":"YulIdentifier","src":"221294:5:19"},"nativeSrc":"221294:11:19","nodeType":"YulFunctionCall","src":"221294:11:19"},"variableNames":[{"name":"m2","nativeSrc":"221288:2:19","nodeType":"YulIdentifier","src":"221288:2:19"}]},{"nativeSrc":"221318:17:19","nodeType":"YulAssignment","src":"221318:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"221330:4:19","nodeType":"YulLiteral","src":"221330:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"221324:5:19","nodeType":"YulIdentifier","src":"221324:5:19"},"nativeSrc":"221324:11:19","nodeType":"YulFunctionCall","src":"221324:11:19"},"variableNames":[{"name":"m3","nativeSrc":"221318:2:19","nodeType":"YulIdentifier","src":"221318:2:19"}]},{"nativeSrc":"221348:17:19","nodeType":"YulAssignment","src":"221348:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"221360:4:19","nodeType":"YulLiteral","src":"221360:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"221354:5:19","nodeType":"YulIdentifier","src":"221354:5:19"},"nativeSrc":"221354:11:19","nodeType":"YulFunctionCall","src":"221354:11:19"},"variableNames":[{"name":"m4","nativeSrc":"221348:2:19","nodeType":"YulIdentifier","src":"221348:2:19"}]},{"nativeSrc":"221378:17:19","nodeType":"YulAssignment","src":"221378:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"221390:4:19","nodeType":"YulLiteral","src":"221390:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"221384:5:19","nodeType":"YulIdentifier","src":"221384:5:19"},"nativeSrc":"221384:11:19","nodeType":"YulFunctionCall","src":"221384:11:19"},"variableNames":[{"name":"m5","nativeSrc":"221378:2:19","nodeType":"YulIdentifier","src":"221378:2:19"}]},{"nativeSrc":"221408:17:19","nodeType":"YulAssignment","src":"221408:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"221420:4:19","nodeType":"YulLiteral","src":"221420:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"221414:5:19","nodeType":"YulIdentifier","src":"221414:5:19"},"nativeSrc":"221414:11:19","nodeType":"YulFunctionCall","src":"221414:11:19"},"variableNames":[{"name":"m6","nativeSrc":"221408:2:19","nodeType":"YulIdentifier","src":"221408:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221508:4:19","nodeType":"YulLiteral","src":"221508:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"221514:10:19","nodeType":"YulLiteral","src":"221514:10:19","type":"","value":"0x6a1199e2"}],"functionName":{"name":"mstore","nativeSrc":"221501:6:19","nodeType":"YulIdentifier","src":"221501:6:19"},"nativeSrc":"221501:24:19","nodeType":"YulFunctionCall","src":"221501:24:19"},"nativeSrc":"221501:24:19","nodeType":"YulExpressionStatement","src":"221501:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221545:4:19","nodeType":"YulLiteral","src":"221545:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"221551:2:19","nodeType":"YulIdentifier","src":"221551:2:19"}],"functionName":{"name":"mstore","nativeSrc":"221538:6:19","nodeType":"YulIdentifier","src":"221538:6:19"},"nativeSrc":"221538:16:19","nodeType":"YulFunctionCall","src":"221538:16:19"},"nativeSrc":"221538:16:19","nodeType":"YulExpressionStatement","src":"221538:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221574:4:19","nodeType":"YulLiteral","src":"221574:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"221580:2:19","nodeType":"YulIdentifier","src":"221580:2:19"}],"functionName":{"name":"mstore","nativeSrc":"221567:6:19","nodeType":"YulIdentifier","src":"221567:6:19"},"nativeSrc":"221567:16:19","nodeType":"YulFunctionCall","src":"221567:16:19"},"nativeSrc":"221567:16:19","nodeType":"YulExpressionStatement","src":"221567:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221603:4:19","nodeType":"YulLiteral","src":"221603:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"221609:4:19","nodeType":"YulLiteral","src":"221609:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"221596:6:19","nodeType":"YulIdentifier","src":"221596:6:19"},"nativeSrc":"221596:18:19","nodeType":"YulFunctionCall","src":"221596:18:19"},"nativeSrc":"221596:18:19","nodeType":"YulExpressionStatement","src":"221596:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221634:4:19","nodeType":"YulLiteral","src":"221634:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"221640:2:19","nodeType":"YulIdentifier","src":"221640:2:19"}],"functionName":{"name":"mstore","nativeSrc":"221627:6:19","nodeType":"YulIdentifier","src":"221627:6:19"},"nativeSrc":"221627:16:19","nodeType":"YulFunctionCall","src":"221627:16:19"},"nativeSrc":"221627:16:19","nodeType":"YulExpressionStatement","src":"221627:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221668:4:19","nodeType":"YulLiteral","src":"221668:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"221674:2:19","nodeType":"YulIdentifier","src":"221674:2:19"}],"functionName":{"name":"writeString","nativeSrc":"221656:11:19","nodeType":"YulIdentifier","src":"221656:11:19"},"nativeSrc":"221656:21:19","nodeType":"YulFunctionCall","src":"221656:21:19"},"nativeSrc":"221656:21:19","nodeType":"YulExpressionStatement","src":"221656:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33284,"isOffset":false,"isSlot":false,"src":"221228:2:19","valueSize":1},{"declaration":33287,"isOffset":false,"isSlot":false,"src":"221258:2:19","valueSize":1},{"declaration":33290,"isOffset":false,"isSlot":false,"src":"221288:2:19","valueSize":1},{"declaration":33293,"isOffset":false,"isSlot":false,"src":"221318:2:19","valueSize":1},{"declaration":33296,"isOffset":false,"isSlot":false,"src":"221348:2:19","valueSize":1},{"declaration":33299,"isOffset":false,"isSlot":false,"src":"221378:2:19","valueSize":1},{"declaration":33302,"isOffset":false,"isSlot":false,"src":"221408:2:19","valueSize":1},{"declaration":33274,"isOffset":false,"isSlot":false,"src":"221551:2:19","valueSize":1},{"declaration":33276,"isOffset":false,"isSlot":false,"src":"221580:2:19","valueSize":1},{"declaration":33278,"isOffset":false,"isSlot":false,"src":"221674:2:19","valueSize":1},{"declaration":33280,"isOffset":false,"isSlot":false,"src":"221640:2:19","valueSize":1}],"id":33304,"nodeType":"InlineAssembly","src":"220850:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"221712:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"221718:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33305,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"221696:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"221696:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33309,"nodeType":"ExpressionStatement","src":"221696:27:19"},{"AST":{"nativeSrc":"221785:214:19","nodeType":"YulBlock","src":"221785:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"221806:4:19","nodeType":"YulLiteral","src":"221806:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"221812:2:19","nodeType":"YulIdentifier","src":"221812:2:19"}],"functionName":{"name":"mstore","nativeSrc":"221799:6:19","nodeType":"YulIdentifier","src":"221799:6:19"},"nativeSrc":"221799:16:19","nodeType":"YulFunctionCall","src":"221799:16:19"},"nativeSrc":"221799:16:19","nodeType":"YulExpressionStatement","src":"221799:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221835:4:19","nodeType":"YulLiteral","src":"221835:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"221841:2:19","nodeType":"YulIdentifier","src":"221841:2:19"}],"functionName":{"name":"mstore","nativeSrc":"221828:6:19","nodeType":"YulIdentifier","src":"221828:6:19"},"nativeSrc":"221828:16:19","nodeType":"YulFunctionCall","src":"221828:16:19"},"nativeSrc":"221828:16:19","nodeType":"YulExpressionStatement","src":"221828:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221864:4:19","nodeType":"YulLiteral","src":"221864:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"221870:2:19","nodeType":"YulIdentifier","src":"221870:2:19"}],"functionName":{"name":"mstore","nativeSrc":"221857:6:19","nodeType":"YulIdentifier","src":"221857:6:19"},"nativeSrc":"221857:16:19","nodeType":"YulFunctionCall","src":"221857:16:19"},"nativeSrc":"221857:16:19","nodeType":"YulExpressionStatement","src":"221857:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221893:4:19","nodeType":"YulLiteral","src":"221893:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"221899:2:19","nodeType":"YulIdentifier","src":"221899:2:19"}],"functionName":{"name":"mstore","nativeSrc":"221886:6:19","nodeType":"YulIdentifier","src":"221886:6:19"},"nativeSrc":"221886:16:19","nodeType":"YulFunctionCall","src":"221886:16:19"},"nativeSrc":"221886:16:19","nodeType":"YulExpressionStatement","src":"221886:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221922:4:19","nodeType":"YulLiteral","src":"221922:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"221928:2:19","nodeType":"YulIdentifier","src":"221928:2:19"}],"functionName":{"name":"mstore","nativeSrc":"221915:6:19","nodeType":"YulIdentifier","src":"221915:6:19"},"nativeSrc":"221915:16:19","nodeType":"YulFunctionCall","src":"221915:16:19"},"nativeSrc":"221915:16:19","nodeType":"YulExpressionStatement","src":"221915:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221951:4:19","nodeType":"YulLiteral","src":"221951:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"221957:2:19","nodeType":"YulIdentifier","src":"221957:2:19"}],"functionName":{"name":"mstore","nativeSrc":"221944:6:19","nodeType":"YulIdentifier","src":"221944:6:19"},"nativeSrc":"221944:16:19","nodeType":"YulFunctionCall","src":"221944:16:19"},"nativeSrc":"221944:16:19","nodeType":"YulExpressionStatement","src":"221944:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"221980:4:19","nodeType":"YulLiteral","src":"221980:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"221986:2:19","nodeType":"YulIdentifier","src":"221986:2:19"}],"functionName":{"name":"mstore","nativeSrc":"221973:6:19","nodeType":"YulIdentifier","src":"221973:6:19"},"nativeSrc":"221973:16:19","nodeType":"YulFunctionCall","src":"221973:16:19"},"nativeSrc":"221973:16:19","nodeType":"YulExpressionStatement","src":"221973:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33284,"isOffset":false,"isSlot":false,"src":"221812:2:19","valueSize":1},{"declaration":33287,"isOffset":false,"isSlot":false,"src":"221841:2:19","valueSize":1},{"declaration":33290,"isOffset":false,"isSlot":false,"src":"221870:2:19","valueSize":1},{"declaration":33293,"isOffset":false,"isSlot":false,"src":"221899:2:19","valueSize":1},{"declaration":33296,"isOffset":false,"isSlot":false,"src":"221928:2:19","valueSize":1},{"declaration":33299,"isOffset":false,"isSlot":false,"src":"221957:2:19","valueSize":1},{"declaration":33302,"isOffset":false,"isSlot":false,"src":"221986:2:19","valueSize":1}],"id":33310,"nodeType":"InlineAssembly","src":"221776:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"220594:3:19","parameters":{"id":33281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33274,"mutability":"mutable","name":"p0","nameLocation":"220603:2:19","nodeType":"VariableDeclaration","scope":33312,"src":"220598:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33273,"name":"bool","nodeType":"ElementaryTypeName","src":"220598:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33276,"mutability":"mutable","name":"p1","nameLocation":"220615:2:19","nodeType":"VariableDeclaration","scope":33312,"src":"220607:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33275,"name":"uint256","nodeType":"ElementaryTypeName","src":"220607:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33278,"mutability":"mutable","name":"p2","nameLocation":"220627:2:19","nodeType":"VariableDeclaration","scope":33312,"src":"220619:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33277,"name":"bytes32","nodeType":"ElementaryTypeName","src":"220619:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33280,"mutability":"mutable","name":"p3","nameLocation":"220639:2:19","nodeType":"VariableDeclaration","scope":33312,"src":"220631:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33279,"name":"uint256","nodeType":"ElementaryTypeName","src":"220631:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"220597:45:19"},"returnParameters":{"id":33282,"nodeType":"ParameterList","parameters":[],"src":"220657:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33358,"nodeType":"FunctionDefinition","src":"222011:1616:19","nodes":[],"body":{"id":33357,"nodeType":"Block","src":"222083:1544:19","nodes":[],"statements":[{"assignments":[33324],"declarations":[{"constant":false,"id":33324,"mutability":"mutable","name":"m0","nameLocation":"222101:2:19","nodeType":"VariableDeclaration","scope":33357,"src":"222093:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222093:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33325,"nodeType":"VariableDeclarationStatement","src":"222093:10:19"},{"assignments":[33327],"declarations":[{"constant":false,"id":33327,"mutability":"mutable","name":"m1","nameLocation":"222121:2:19","nodeType":"VariableDeclaration","scope":33357,"src":"222113:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33326,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222113:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33328,"nodeType":"VariableDeclarationStatement","src":"222113:10:19"},{"assignments":[33330],"declarations":[{"constant":false,"id":33330,"mutability":"mutable","name":"m2","nameLocation":"222141:2:19","nodeType":"VariableDeclaration","scope":33357,"src":"222133:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33329,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222133:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33331,"nodeType":"VariableDeclarationStatement","src":"222133:10:19"},{"assignments":[33333],"declarations":[{"constant":false,"id":33333,"mutability":"mutable","name":"m3","nameLocation":"222161:2:19","nodeType":"VariableDeclaration","scope":33357,"src":"222153:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33332,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222153:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33334,"nodeType":"VariableDeclarationStatement","src":"222153:10:19"},{"assignments":[33336],"declarations":[{"constant":false,"id":33336,"mutability":"mutable","name":"m4","nameLocation":"222181:2:19","nodeType":"VariableDeclaration","scope":33357,"src":"222173:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33335,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222173:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33337,"nodeType":"VariableDeclarationStatement","src":"222173:10:19"},{"assignments":[33339],"declarations":[{"constant":false,"id":33339,"mutability":"mutable","name":"m5","nameLocation":"222201:2:19","nodeType":"VariableDeclaration","scope":33357,"src":"222193:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33338,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222193:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33340,"nodeType":"VariableDeclarationStatement","src":"222193:10:19"},{"assignments":[33342],"declarations":[{"constant":false,"id":33342,"mutability":"mutable","name":"m6","nameLocation":"222221:2:19","nodeType":"VariableDeclaration","scope":33357,"src":"222213:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33341,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222213:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33343,"nodeType":"VariableDeclarationStatement","src":"222213:10:19"},{"assignments":[33345],"declarations":[{"constant":false,"id":33345,"mutability":"mutable","name":"m7","nameLocation":"222241:2:19","nodeType":"VariableDeclaration","scope":33357,"src":"222233:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33344,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222233:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33346,"nodeType":"VariableDeclarationStatement","src":"222233:10:19"},{"assignments":[33348],"declarations":[{"constant":false,"id":33348,"mutability":"mutable","name":"m8","nameLocation":"222261:2:19","nodeType":"VariableDeclaration","scope":33357,"src":"222253:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33347,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222253:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33349,"nodeType":"VariableDeclarationStatement","src":"222253:10:19"},{"AST":{"nativeSrc":"222325:924:19","nodeType":"YulBlock","src":"222325:924:19","statements":[{"body":{"nativeSrc":"222368:313:19","nodeType":"YulBlock","src":"222368:313:19","statements":[{"nativeSrc":"222386:15:19","nodeType":"YulVariableDeclaration","src":"222386:15:19","value":{"kind":"number","nativeSrc":"222400:1:19","nodeType":"YulLiteral","src":"222400:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"222390:6:19","nodeType":"YulTypedName","src":"222390:6:19","type":""}]},{"body":{"nativeSrc":"222471:40:19","nodeType":"YulBlock","src":"222471:40:19","statements":[{"body":{"nativeSrc":"222500:9:19","nodeType":"YulBlock","src":"222500:9:19","statements":[{"nativeSrc":"222502:5:19","nodeType":"YulBreak","src":"222502:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"222488:6:19","nodeType":"YulIdentifier","src":"222488:6:19"},{"name":"w","nativeSrc":"222496:1:19","nodeType":"YulIdentifier","src":"222496:1:19"}],"functionName":{"name":"byte","nativeSrc":"222483:4:19","nodeType":"YulIdentifier","src":"222483:4:19"},"nativeSrc":"222483:15:19","nodeType":"YulFunctionCall","src":"222483:15:19"}],"functionName":{"name":"iszero","nativeSrc":"222476:6:19","nodeType":"YulIdentifier","src":"222476:6:19"},"nativeSrc":"222476:23:19","nodeType":"YulFunctionCall","src":"222476:23:19"},"nativeSrc":"222473:36:19","nodeType":"YulIf","src":"222473:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"222428:6:19","nodeType":"YulIdentifier","src":"222428:6:19"},{"kind":"number","nativeSrc":"222436:4:19","nodeType":"YulLiteral","src":"222436:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"222425:2:19","nodeType":"YulIdentifier","src":"222425:2:19"},"nativeSrc":"222425:16:19","nodeType":"YulFunctionCall","src":"222425:16:19"},"nativeSrc":"222418:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"222442:28:19","nodeType":"YulBlock","src":"222442:28:19","statements":[{"nativeSrc":"222444:24:19","nodeType":"YulAssignment","src":"222444:24:19","value":{"arguments":[{"name":"length","nativeSrc":"222458:6:19","nodeType":"YulIdentifier","src":"222458:6:19"},{"kind":"number","nativeSrc":"222466:1:19","nodeType":"YulLiteral","src":"222466:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"222454:3:19","nodeType":"YulIdentifier","src":"222454:3:19"},"nativeSrc":"222454:14:19","nodeType":"YulFunctionCall","src":"222454:14:19"},"variableNames":[{"name":"length","nativeSrc":"222444:6:19","nodeType":"YulIdentifier","src":"222444:6:19"}]}]},"pre":{"nativeSrc":"222422:2:19","nodeType":"YulBlock","src":"222422:2:19","statements":[]},"src":"222418:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"222535:3:19","nodeType":"YulIdentifier","src":"222535:3:19"},{"name":"length","nativeSrc":"222540:6:19","nodeType":"YulIdentifier","src":"222540:6:19"}],"functionName":{"name":"mstore","nativeSrc":"222528:6:19","nodeType":"YulIdentifier","src":"222528:6:19"},"nativeSrc":"222528:19:19","nodeType":"YulFunctionCall","src":"222528:19:19"},"nativeSrc":"222528:19:19","nodeType":"YulExpressionStatement","src":"222528:19:19"},{"nativeSrc":"222564:37:19","nodeType":"YulVariableDeclaration","src":"222564:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"222581:3:19","nodeType":"YulLiteral","src":"222581:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"222590:1:19","nodeType":"YulLiteral","src":"222590:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"222593:6:19","nodeType":"YulIdentifier","src":"222593:6:19"}],"functionName":{"name":"shl","nativeSrc":"222586:3:19","nodeType":"YulIdentifier","src":"222586:3:19"},"nativeSrc":"222586:14:19","nodeType":"YulFunctionCall","src":"222586:14:19"}],"functionName":{"name":"sub","nativeSrc":"222577:3:19","nodeType":"YulIdentifier","src":"222577:3:19"},"nativeSrc":"222577:24:19","nodeType":"YulFunctionCall","src":"222577:24:19"},"variables":[{"name":"shift","nativeSrc":"222568:5:19","nodeType":"YulTypedName","src":"222568:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"222629:3:19","nodeType":"YulIdentifier","src":"222629:3:19"},{"kind":"number","nativeSrc":"222634:4:19","nodeType":"YulLiteral","src":"222634:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"222625:3:19","nodeType":"YulIdentifier","src":"222625:3:19"},"nativeSrc":"222625:14:19","nodeType":"YulFunctionCall","src":"222625:14:19"},{"arguments":[{"name":"shift","nativeSrc":"222645:5:19","nodeType":"YulIdentifier","src":"222645:5:19"},{"arguments":[{"name":"shift","nativeSrc":"222656:5:19","nodeType":"YulIdentifier","src":"222656:5:19"},{"name":"w","nativeSrc":"222663:1:19","nodeType":"YulIdentifier","src":"222663:1:19"}],"functionName":{"name":"shr","nativeSrc":"222652:3:19","nodeType":"YulIdentifier","src":"222652:3:19"},"nativeSrc":"222652:13:19","nodeType":"YulFunctionCall","src":"222652:13:19"}],"functionName":{"name":"shl","nativeSrc":"222641:3:19","nodeType":"YulIdentifier","src":"222641:3:19"},"nativeSrc":"222641:25:19","nodeType":"YulFunctionCall","src":"222641:25:19"}],"functionName":{"name":"mstore","nativeSrc":"222618:6:19","nodeType":"YulIdentifier","src":"222618:6:19"},"nativeSrc":"222618:49:19","nodeType":"YulFunctionCall","src":"222618:49:19"},"nativeSrc":"222618:49:19","nodeType":"YulExpressionStatement","src":"222618:49:19"}]},"name":"writeString","nativeSrc":"222339:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"222360:3:19","nodeType":"YulTypedName","src":"222360:3:19","type":""},{"name":"w","nativeSrc":"222365:1:19","nodeType":"YulTypedName","src":"222365:1:19","type":""}],"src":"222339:342:19"},{"nativeSrc":"222694:17:19","nodeType":"YulAssignment","src":"222694:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"222706:4:19","nodeType":"YulLiteral","src":"222706:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"222700:5:19","nodeType":"YulIdentifier","src":"222700:5:19"},"nativeSrc":"222700:11:19","nodeType":"YulFunctionCall","src":"222700:11:19"},"variableNames":[{"name":"m0","nativeSrc":"222694:2:19","nodeType":"YulIdentifier","src":"222694:2:19"}]},{"nativeSrc":"222724:17:19","nodeType":"YulAssignment","src":"222724:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"222736:4:19","nodeType":"YulLiteral","src":"222736:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"222730:5:19","nodeType":"YulIdentifier","src":"222730:5:19"},"nativeSrc":"222730:11:19","nodeType":"YulFunctionCall","src":"222730:11:19"},"variableNames":[{"name":"m1","nativeSrc":"222724:2:19","nodeType":"YulIdentifier","src":"222724:2:19"}]},{"nativeSrc":"222754:17:19","nodeType":"YulAssignment","src":"222754:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"222766:4:19","nodeType":"YulLiteral","src":"222766:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"222760:5:19","nodeType":"YulIdentifier","src":"222760:5:19"},"nativeSrc":"222760:11:19","nodeType":"YulFunctionCall","src":"222760:11:19"},"variableNames":[{"name":"m2","nativeSrc":"222754:2:19","nodeType":"YulIdentifier","src":"222754:2:19"}]},{"nativeSrc":"222784:17:19","nodeType":"YulAssignment","src":"222784:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"222796:4:19","nodeType":"YulLiteral","src":"222796:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"222790:5:19","nodeType":"YulIdentifier","src":"222790:5:19"},"nativeSrc":"222790:11:19","nodeType":"YulFunctionCall","src":"222790:11:19"},"variableNames":[{"name":"m3","nativeSrc":"222784:2:19","nodeType":"YulIdentifier","src":"222784:2:19"}]},{"nativeSrc":"222814:17:19","nodeType":"YulAssignment","src":"222814:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"222826:4:19","nodeType":"YulLiteral","src":"222826:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"222820:5:19","nodeType":"YulIdentifier","src":"222820:5:19"},"nativeSrc":"222820:11:19","nodeType":"YulFunctionCall","src":"222820:11:19"},"variableNames":[{"name":"m4","nativeSrc":"222814:2:19","nodeType":"YulIdentifier","src":"222814:2:19"}]},{"nativeSrc":"222844:17:19","nodeType":"YulAssignment","src":"222844:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"222856:4:19","nodeType":"YulLiteral","src":"222856:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"222850:5:19","nodeType":"YulIdentifier","src":"222850:5:19"},"nativeSrc":"222850:11:19","nodeType":"YulFunctionCall","src":"222850:11:19"},"variableNames":[{"name":"m5","nativeSrc":"222844:2:19","nodeType":"YulIdentifier","src":"222844:2:19"}]},{"nativeSrc":"222874:17:19","nodeType":"YulAssignment","src":"222874:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"222886:4:19","nodeType":"YulLiteral","src":"222886:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"222880:5:19","nodeType":"YulIdentifier","src":"222880:5:19"},"nativeSrc":"222880:11:19","nodeType":"YulFunctionCall","src":"222880:11:19"},"variableNames":[{"name":"m6","nativeSrc":"222874:2:19","nodeType":"YulIdentifier","src":"222874:2:19"}]},{"nativeSrc":"222904:17:19","nodeType":"YulAssignment","src":"222904:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"222916:4:19","nodeType":"YulLiteral","src":"222916:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"222910:5:19","nodeType":"YulIdentifier","src":"222910:5:19"},"nativeSrc":"222910:11:19","nodeType":"YulFunctionCall","src":"222910:11:19"},"variableNames":[{"name":"m7","nativeSrc":"222904:2:19","nodeType":"YulIdentifier","src":"222904:2:19"}]},{"nativeSrc":"222934:18:19","nodeType":"YulAssignment","src":"222934:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"222946:5:19","nodeType":"YulLiteral","src":"222946:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"222940:5:19","nodeType":"YulIdentifier","src":"222940:5:19"},"nativeSrc":"222940:12:19","nodeType":"YulFunctionCall","src":"222940:12:19"},"variableNames":[{"name":"m8","nativeSrc":"222934:2:19","nodeType":"YulIdentifier","src":"222934:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223034:4:19","nodeType":"YulLiteral","src":"223034:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"223040:10:19","nodeType":"YulLiteral","src":"223040:10:19","type":"","value":"0xf5bc2249"}],"functionName":{"name":"mstore","nativeSrc":"223027:6:19","nodeType":"YulIdentifier","src":"223027:6:19"},"nativeSrc":"223027:24:19","nodeType":"YulFunctionCall","src":"223027:24:19"},"nativeSrc":"223027:24:19","nodeType":"YulExpressionStatement","src":"223027:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223071:4:19","nodeType":"YulLiteral","src":"223071:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"223077:2:19","nodeType":"YulIdentifier","src":"223077:2:19"}],"functionName":{"name":"mstore","nativeSrc":"223064:6:19","nodeType":"YulIdentifier","src":"223064:6:19"},"nativeSrc":"223064:16:19","nodeType":"YulFunctionCall","src":"223064:16:19"},"nativeSrc":"223064:16:19","nodeType":"YulExpressionStatement","src":"223064:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223100:4:19","nodeType":"YulLiteral","src":"223100:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"223106:2:19","nodeType":"YulIdentifier","src":"223106:2:19"}],"functionName":{"name":"mstore","nativeSrc":"223093:6:19","nodeType":"YulIdentifier","src":"223093:6:19"},"nativeSrc":"223093:16:19","nodeType":"YulFunctionCall","src":"223093:16:19"},"nativeSrc":"223093:16:19","nodeType":"YulExpressionStatement","src":"223093:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223129:4:19","nodeType":"YulLiteral","src":"223129:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"223135:4:19","nodeType":"YulLiteral","src":"223135:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"223122:6:19","nodeType":"YulIdentifier","src":"223122:6:19"},"nativeSrc":"223122:18:19","nodeType":"YulFunctionCall","src":"223122:18:19"},"nativeSrc":"223122:18:19","nodeType":"YulExpressionStatement","src":"223122:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223160:4:19","nodeType":"YulLiteral","src":"223160:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"223166:4:19","nodeType":"YulLiteral","src":"223166:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"223153:6:19","nodeType":"YulIdentifier","src":"223153:6:19"},"nativeSrc":"223153:18:19","nodeType":"YulFunctionCall","src":"223153:18:19"},"nativeSrc":"223153:18:19","nodeType":"YulExpressionStatement","src":"223153:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223196:4:19","nodeType":"YulLiteral","src":"223196:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"223202:2:19","nodeType":"YulIdentifier","src":"223202:2:19"}],"functionName":{"name":"writeString","nativeSrc":"223184:11:19","nodeType":"YulIdentifier","src":"223184:11:19"},"nativeSrc":"223184:21:19","nodeType":"YulFunctionCall","src":"223184:21:19"},"nativeSrc":"223184:21:19","nodeType":"YulExpressionStatement","src":"223184:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223230:4:19","nodeType":"YulLiteral","src":"223230:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"223236:2:19","nodeType":"YulIdentifier","src":"223236:2:19"}],"functionName":{"name":"writeString","nativeSrc":"223218:11:19","nodeType":"YulIdentifier","src":"223218:11:19"},"nativeSrc":"223218:21:19","nodeType":"YulFunctionCall","src":"223218:21:19"},"nativeSrc":"223218:21:19","nodeType":"YulExpressionStatement","src":"223218:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33324,"isOffset":false,"isSlot":false,"src":"222694:2:19","valueSize":1},{"declaration":33327,"isOffset":false,"isSlot":false,"src":"222724:2:19","valueSize":1},{"declaration":33330,"isOffset":false,"isSlot":false,"src":"222754:2:19","valueSize":1},{"declaration":33333,"isOffset":false,"isSlot":false,"src":"222784:2:19","valueSize":1},{"declaration":33336,"isOffset":false,"isSlot":false,"src":"222814:2:19","valueSize":1},{"declaration":33339,"isOffset":false,"isSlot":false,"src":"222844:2:19","valueSize":1},{"declaration":33342,"isOffset":false,"isSlot":false,"src":"222874:2:19","valueSize":1},{"declaration":33345,"isOffset":false,"isSlot":false,"src":"222904:2:19","valueSize":1},{"declaration":33348,"isOffset":false,"isSlot":false,"src":"222934:2:19","valueSize":1},{"declaration":33314,"isOffset":false,"isSlot":false,"src":"223077:2:19","valueSize":1},{"declaration":33316,"isOffset":false,"isSlot":false,"src":"223106:2:19","valueSize":1},{"declaration":33318,"isOffset":false,"isSlot":false,"src":"223202:2:19","valueSize":1},{"declaration":33320,"isOffset":false,"isSlot":false,"src":"223236:2:19","valueSize":1}],"id":33350,"nodeType":"InlineAssembly","src":"222316:933:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"223274:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":33353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"223280:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":33351,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"223258:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"223258:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33355,"nodeType":"ExpressionStatement","src":"223258:28:19"},{"AST":{"nativeSrc":"223348:273:19","nodeType":"YulBlock","src":"223348:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"223369:4:19","nodeType":"YulLiteral","src":"223369:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"223375:2:19","nodeType":"YulIdentifier","src":"223375:2:19"}],"functionName":{"name":"mstore","nativeSrc":"223362:6:19","nodeType":"YulIdentifier","src":"223362:6:19"},"nativeSrc":"223362:16:19","nodeType":"YulFunctionCall","src":"223362:16:19"},"nativeSrc":"223362:16:19","nodeType":"YulExpressionStatement","src":"223362:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223398:4:19","nodeType":"YulLiteral","src":"223398:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"223404:2:19","nodeType":"YulIdentifier","src":"223404:2:19"}],"functionName":{"name":"mstore","nativeSrc":"223391:6:19","nodeType":"YulIdentifier","src":"223391:6:19"},"nativeSrc":"223391:16:19","nodeType":"YulFunctionCall","src":"223391:16:19"},"nativeSrc":"223391:16:19","nodeType":"YulExpressionStatement","src":"223391:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223427:4:19","nodeType":"YulLiteral","src":"223427:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"223433:2:19","nodeType":"YulIdentifier","src":"223433:2:19"}],"functionName":{"name":"mstore","nativeSrc":"223420:6:19","nodeType":"YulIdentifier","src":"223420:6:19"},"nativeSrc":"223420:16:19","nodeType":"YulFunctionCall","src":"223420:16:19"},"nativeSrc":"223420:16:19","nodeType":"YulExpressionStatement","src":"223420:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223456:4:19","nodeType":"YulLiteral","src":"223456:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"223462:2:19","nodeType":"YulIdentifier","src":"223462:2:19"}],"functionName":{"name":"mstore","nativeSrc":"223449:6:19","nodeType":"YulIdentifier","src":"223449:6:19"},"nativeSrc":"223449:16:19","nodeType":"YulFunctionCall","src":"223449:16:19"},"nativeSrc":"223449:16:19","nodeType":"YulExpressionStatement","src":"223449:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223485:4:19","nodeType":"YulLiteral","src":"223485:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"223491:2:19","nodeType":"YulIdentifier","src":"223491:2:19"}],"functionName":{"name":"mstore","nativeSrc":"223478:6:19","nodeType":"YulIdentifier","src":"223478:6:19"},"nativeSrc":"223478:16:19","nodeType":"YulFunctionCall","src":"223478:16:19"},"nativeSrc":"223478:16:19","nodeType":"YulExpressionStatement","src":"223478:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223514:4:19","nodeType":"YulLiteral","src":"223514:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"223520:2:19","nodeType":"YulIdentifier","src":"223520:2:19"}],"functionName":{"name":"mstore","nativeSrc":"223507:6:19","nodeType":"YulIdentifier","src":"223507:6:19"},"nativeSrc":"223507:16:19","nodeType":"YulFunctionCall","src":"223507:16:19"},"nativeSrc":"223507:16:19","nodeType":"YulExpressionStatement","src":"223507:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223543:4:19","nodeType":"YulLiteral","src":"223543:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"223549:2:19","nodeType":"YulIdentifier","src":"223549:2:19"}],"functionName":{"name":"mstore","nativeSrc":"223536:6:19","nodeType":"YulIdentifier","src":"223536:6:19"},"nativeSrc":"223536:16:19","nodeType":"YulFunctionCall","src":"223536:16:19"},"nativeSrc":"223536:16:19","nodeType":"YulExpressionStatement","src":"223536:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223572:4:19","nodeType":"YulLiteral","src":"223572:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"223578:2:19","nodeType":"YulIdentifier","src":"223578:2:19"}],"functionName":{"name":"mstore","nativeSrc":"223565:6:19","nodeType":"YulIdentifier","src":"223565:6:19"},"nativeSrc":"223565:16:19","nodeType":"YulFunctionCall","src":"223565:16:19"},"nativeSrc":"223565:16:19","nodeType":"YulExpressionStatement","src":"223565:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"223601:5:19","nodeType":"YulLiteral","src":"223601:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"223608:2:19","nodeType":"YulIdentifier","src":"223608:2:19"}],"functionName":{"name":"mstore","nativeSrc":"223594:6:19","nodeType":"YulIdentifier","src":"223594:6:19"},"nativeSrc":"223594:17:19","nodeType":"YulFunctionCall","src":"223594:17:19"},"nativeSrc":"223594:17:19","nodeType":"YulExpressionStatement","src":"223594:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33324,"isOffset":false,"isSlot":false,"src":"223375:2:19","valueSize":1},{"declaration":33327,"isOffset":false,"isSlot":false,"src":"223404:2:19","valueSize":1},{"declaration":33330,"isOffset":false,"isSlot":false,"src":"223433:2:19","valueSize":1},{"declaration":33333,"isOffset":false,"isSlot":false,"src":"223462:2:19","valueSize":1},{"declaration":33336,"isOffset":false,"isSlot":false,"src":"223491:2:19","valueSize":1},{"declaration":33339,"isOffset":false,"isSlot":false,"src":"223520:2:19","valueSize":1},{"declaration":33342,"isOffset":false,"isSlot":false,"src":"223549:2:19","valueSize":1},{"declaration":33345,"isOffset":false,"isSlot":false,"src":"223578:2:19","valueSize":1},{"declaration":33348,"isOffset":false,"isSlot":false,"src":"223608:2:19","valueSize":1}],"id":33356,"nodeType":"InlineAssembly","src":"223339:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"222020:3:19","parameters":{"id":33321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33314,"mutability":"mutable","name":"p0","nameLocation":"222029:2:19","nodeType":"VariableDeclaration","scope":33358,"src":"222024:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33313,"name":"bool","nodeType":"ElementaryTypeName","src":"222024:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33316,"mutability":"mutable","name":"p1","nameLocation":"222041:2:19","nodeType":"VariableDeclaration","scope":33358,"src":"222033:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33315,"name":"uint256","nodeType":"ElementaryTypeName","src":"222033:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33318,"mutability":"mutable","name":"p2","nameLocation":"222053:2:19","nodeType":"VariableDeclaration","scope":33358,"src":"222045:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33317,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222045:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33320,"mutability":"mutable","name":"p3","nameLocation":"222065:2:19","nodeType":"VariableDeclaration","scope":33358,"src":"222057:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33319,"name":"bytes32","nodeType":"ElementaryTypeName","src":"222057:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"222023:45:19"},"returnParameters":{"id":33322,"nodeType":"ParameterList","parameters":[],"src":"222083:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33398,"nodeType":"FunctionDefinition","src":"223633:1420:19","nodes":[],"body":{"id":33397,"nodeType":"Block","src":"223705:1348:19","nodes":[],"statements":[{"assignments":[33370],"declarations":[{"constant":false,"id":33370,"mutability":"mutable","name":"m0","nameLocation":"223723:2:19","nodeType":"VariableDeclaration","scope":33397,"src":"223715:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33369,"name":"bytes32","nodeType":"ElementaryTypeName","src":"223715:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33371,"nodeType":"VariableDeclarationStatement","src":"223715:10:19"},{"assignments":[33373],"declarations":[{"constant":false,"id":33373,"mutability":"mutable","name":"m1","nameLocation":"223743:2:19","nodeType":"VariableDeclaration","scope":33397,"src":"223735:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33372,"name":"bytes32","nodeType":"ElementaryTypeName","src":"223735:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33374,"nodeType":"VariableDeclarationStatement","src":"223735:10:19"},{"assignments":[33376],"declarations":[{"constant":false,"id":33376,"mutability":"mutable","name":"m2","nameLocation":"223763:2:19","nodeType":"VariableDeclaration","scope":33397,"src":"223755:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33375,"name":"bytes32","nodeType":"ElementaryTypeName","src":"223755:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33377,"nodeType":"VariableDeclarationStatement","src":"223755:10:19"},{"assignments":[33379],"declarations":[{"constant":false,"id":33379,"mutability":"mutable","name":"m3","nameLocation":"223783:2:19","nodeType":"VariableDeclaration","scope":33397,"src":"223775:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33378,"name":"bytes32","nodeType":"ElementaryTypeName","src":"223775:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33380,"nodeType":"VariableDeclarationStatement","src":"223775:10:19"},{"assignments":[33382],"declarations":[{"constant":false,"id":33382,"mutability":"mutable","name":"m4","nameLocation":"223803:2:19","nodeType":"VariableDeclaration","scope":33397,"src":"223795:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33381,"name":"bytes32","nodeType":"ElementaryTypeName","src":"223795:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33383,"nodeType":"VariableDeclarationStatement","src":"223795:10:19"},{"assignments":[33385],"declarations":[{"constant":false,"id":33385,"mutability":"mutable","name":"m5","nameLocation":"223823:2:19","nodeType":"VariableDeclaration","scope":33397,"src":"223815:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33384,"name":"bytes32","nodeType":"ElementaryTypeName","src":"223815:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33386,"nodeType":"VariableDeclarationStatement","src":"223815:10:19"},{"assignments":[33388],"declarations":[{"constant":false,"id":33388,"mutability":"mutable","name":"m6","nameLocation":"223843:2:19","nodeType":"VariableDeclaration","scope":33397,"src":"223835:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33387,"name":"bytes32","nodeType":"ElementaryTypeName","src":"223835:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33389,"nodeType":"VariableDeclarationStatement","src":"223835:10:19"},{"AST":{"nativeSrc":"223907:828:19","nodeType":"YulBlock","src":"223907:828:19","statements":[{"body":{"nativeSrc":"223950:313:19","nodeType":"YulBlock","src":"223950:313:19","statements":[{"nativeSrc":"223968:15:19","nodeType":"YulVariableDeclaration","src":"223968:15:19","value":{"kind":"number","nativeSrc":"223982:1:19","nodeType":"YulLiteral","src":"223982:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"223972:6:19","nodeType":"YulTypedName","src":"223972:6:19","type":""}]},{"body":{"nativeSrc":"224053:40:19","nodeType":"YulBlock","src":"224053:40:19","statements":[{"body":{"nativeSrc":"224082:9:19","nodeType":"YulBlock","src":"224082:9:19","statements":[{"nativeSrc":"224084:5:19","nodeType":"YulBreak","src":"224084:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"224070:6:19","nodeType":"YulIdentifier","src":"224070:6:19"},{"name":"w","nativeSrc":"224078:1:19","nodeType":"YulIdentifier","src":"224078:1:19"}],"functionName":{"name":"byte","nativeSrc":"224065:4:19","nodeType":"YulIdentifier","src":"224065:4:19"},"nativeSrc":"224065:15:19","nodeType":"YulFunctionCall","src":"224065:15:19"}],"functionName":{"name":"iszero","nativeSrc":"224058:6:19","nodeType":"YulIdentifier","src":"224058:6:19"},"nativeSrc":"224058:23:19","nodeType":"YulFunctionCall","src":"224058:23:19"},"nativeSrc":"224055:36:19","nodeType":"YulIf","src":"224055:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"224010:6:19","nodeType":"YulIdentifier","src":"224010:6:19"},{"kind":"number","nativeSrc":"224018:4:19","nodeType":"YulLiteral","src":"224018:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"224007:2:19","nodeType":"YulIdentifier","src":"224007:2:19"},"nativeSrc":"224007:16:19","nodeType":"YulFunctionCall","src":"224007:16:19"},"nativeSrc":"224000:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"224024:28:19","nodeType":"YulBlock","src":"224024:28:19","statements":[{"nativeSrc":"224026:24:19","nodeType":"YulAssignment","src":"224026:24:19","value":{"arguments":[{"name":"length","nativeSrc":"224040:6:19","nodeType":"YulIdentifier","src":"224040:6:19"},{"kind":"number","nativeSrc":"224048:1:19","nodeType":"YulLiteral","src":"224048:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"224036:3:19","nodeType":"YulIdentifier","src":"224036:3:19"},"nativeSrc":"224036:14:19","nodeType":"YulFunctionCall","src":"224036:14:19"},"variableNames":[{"name":"length","nativeSrc":"224026:6:19","nodeType":"YulIdentifier","src":"224026:6:19"}]}]},"pre":{"nativeSrc":"224004:2:19","nodeType":"YulBlock","src":"224004:2:19","statements":[]},"src":"224000:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"224117:3:19","nodeType":"YulIdentifier","src":"224117:3:19"},{"name":"length","nativeSrc":"224122:6:19","nodeType":"YulIdentifier","src":"224122:6:19"}],"functionName":{"name":"mstore","nativeSrc":"224110:6:19","nodeType":"YulIdentifier","src":"224110:6:19"},"nativeSrc":"224110:19:19","nodeType":"YulFunctionCall","src":"224110:19:19"},"nativeSrc":"224110:19:19","nodeType":"YulExpressionStatement","src":"224110:19:19"},{"nativeSrc":"224146:37:19","nodeType":"YulVariableDeclaration","src":"224146:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"224163:3:19","nodeType":"YulLiteral","src":"224163:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"224172:1:19","nodeType":"YulLiteral","src":"224172:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"224175:6:19","nodeType":"YulIdentifier","src":"224175:6:19"}],"functionName":{"name":"shl","nativeSrc":"224168:3:19","nodeType":"YulIdentifier","src":"224168:3:19"},"nativeSrc":"224168:14:19","nodeType":"YulFunctionCall","src":"224168:14:19"}],"functionName":{"name":"sub","nativeSrc":"224159:3:19","nodeType":"YulIdentifier","src":"224159:3:19"},"nativeSrc":"224159:24:19","nodeType":"YulFunctionCall","src":"224159:24:19"},"variables":[{"name":"shift","nativeSrc":"224150:5:19","nodeType":"YulTypedName","src":"224150:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"224211:3:19","nodeType":"YulIdentifier","src":"224211:3:19"},{"kind":"number","nativeSrc":"224216:4:19","nodeType":"YulLiteral","src":"224216:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"224207:3:19","nodeType":"YulIdentifier","src":"224207:3:19"},"nativeSrc":"224207:14:19","nodeType":"YulFunctionCall","src":"224207:14:19"},{"arguments":[{"name":"shift","nativeSrc":"224227:5:19","nodeType":"YulIdentifier","src":"224227:5:19"},{"arguments":[{"name":"shift","nativeSrc":"224238:5:19","nodeType":"YulIdentifier","src":"224238:5:19"},{"name":"w","nativeSrc":"224245:1:19","nodeType":"YulIdentifier","src":"224245:1:19"}],"functionName":{"name":"shr","nativeSrc":"224234:3:19","nodeType":"YulIdentifier","src":"224234:3:19"},"nativeSrc":"224234:13:19","nodeType":"YulFunctionCall","src":"224234:13:19"}],"functionName":{"name":"shl","nativeSrc":"224223:3:19","nodeType":"YulIdentifier","src":"224223:3:19"},"nativeSrc":"224223:25:19","nodeType":"YulFunctionCall","src":"224223:25:19"}],"functionName":{"name":"mstore","nativeSrc":"224200:6:19","nodeType":"YulIdentifier","src":"224200:6:19"},"nativeSrc":"224200:49:19","nodeType":"YulFunctionCall","src":"224200:49:19"},"nativeSrc":"224200:49:19","nodeType":"YulExpressionStatement","src":"224200:49:19"}]},"name":"writeString","nativeSrc":"223921:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"223942:3:19","nodeType":"YulTypedName","src":"223942:3:19","type":""},{"name":"w","nativeSrc":"223947:1:19","nodeType":"YulTypedName","src":"223947:1:19","type":""}],"src":"223921:342:19"},{"nativeSrc":"224276:17:19","nodeType":"YulAssignment","src":"224276:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"224288:4:19","nodeType":"YulLiteral","src":"224288:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"224282:5:19","nodeType":"YulIdentifier","src":"224282:5:19"},"nativeSrc":"224282:11:19","nodeType":"YulFunctionCall","src":"224282:11:19"},"variableNames":[{"name":"m0","nativeSrc":"224276:2:19","nodeType":"YulIdentifier","src":"224276:2:19"}]},{"nativeSrc":"224306:17:19","nodeType":"YulAssignment","src":"224306:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"224318:4:19","nodeType":"YulLiteral","src":"224318:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"224312:5:19","nodeType":"YulIdentifier","src":"224312:5:19"},"nativeSrc":"224312:11:19","nodeType":"YulFunctionCall","src":"224312:11:19"},"variableNames":[{"name":"m1","nativeSrc":"224306:2:19","nodeType":"YulIdentifier","src":"224306:2:19"}]},{"nativeSrc":"224336:17:19","nodeType":"YulAssignment","src":"224336:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"224348:4:19","nodeType":"YulLiteral","src":"224348:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"224342:5:19","nodeType":"YulIdentifier","src":"224342:5:19"},"nativeSrc":"224342:11:19","nodeType":"YulFunctionCall","src":"224342:11:19"},"variableNames":[{"name":"m2","nativeSrc":"224336:2:19","nodeType":"YulIdentifier","src":"224336:2:19"}]},{"nativeSrc":"224366:17:19","nodeType":"YulAssignment","src":"224366:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"224378:4:19","nodeType":"YulLiteral","src":"224378:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"224372:5:19","nodeType":"YulIdentifier","src":"224372:5:19"},"nativeSrc":"224372:11:19","nodeType":"YulFunctionCall","src":"224372:11:19"},"variableNames":[{"name":"m3","nativeSrc":"224366:2:19","nodeType":"YulIdentifier","src":"224366:2:19"}]},{"nativeSrc":"224396:17:19","nodeType":"YulAssignment","src":"224396:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"224408:4:19","nodeType":"YulLiteral","src":"224408:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"224402:5:19","nodeType":"YulIdentifier","src":"224402:5:19"},"nativeSrc":"224402:11:19","nodeType":"YulFunctionCall","src":"224402:11:19"},"variableNames":[{"name":"m4","nativeSrc":"224396:2:19","nodeType":"YulIdentifier","src":"224396:2:19"}]},{"nativeSrc":"224426:17:19","nodeType":"YulAssignment","src":"224426:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"224438:4:19","nodeType":"YulLiteral","src":"224438:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"224432:5:19","nodeType":"YulIdentifier","src":"224432:5:19"},"nativeSrc":"224432:11:19","nodeType":"YulFunctionCall","src":"224432:11:19"},"variableNames":[{"name":"m5","nativeSrc":"224426:2:19","nodeType":"YulIdentifier","src":"224426:2:19"}]},{"nativeSrc":"224456:17:19","nodeType":"YulAssignment","src":"224456:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"224468:4:19","nodeType":"YulLiteral","src":"224468:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"224462:5:19","nodeType":"YulIdentifier","src":"224462:5:19"},"nativeSrc":"224462:11:19","nodeType":"YulFunctionCall","src":"224462:11:19"},"variableNames":[{"name":"m6","nativeSrc":"224456:2:19","nodeType":"YulIdentifier","src":"224456:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224556:4:19","nodeType":"YulLiteral","src":"224556:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"224562:10:19","nodeType":"YulLiteral","src":"224562:10:19","type":"","value":"0x2b2b18dc"}],"functionName":{"name":"mstore","nativeSrc":"224549:6:19","nodeType":"YulIdentifier","src":"224549:6:19"},"nativeSrc":"224549:24:19","nodeType":"YulFunctionCall","src":"224549:24:19"},"nativeSrc":"224549:24:19","nodeType":"YulExpressionStatement","src":"224549:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224593:4:19","nodeType":"YulLiteral","src":"224593:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"224599:2:19","nodeType":"YulIdentifier","src":"224599:2:19"}],"functionName":{"name":"mstore","nativeSrc":"224586:6:19","nodeType":"YulIdentifier","src":"224586:6:19"},"nativeSrc":"224586:16:19","nodeType":"YulFunctionCall","src":"224586:16:19"},"nativeSrc":"224586:16:19","nodeType":"YulExpressionStatement","src":"224586:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224622:4:19","nodeType":"YulLiteral","src":"224622:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"224628:4:19","nodeType":"YulLiteral","src":"224628:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"224615:6:19","nodeType":"YulIdentifier","src":"224615:6:19"},"nativeSrc":"224615:18:19","nodeType":"YulFunctionCall","src":"224615:18:19"},"nativeSrc":"224615:18:19","nodeType":"YulExpressionStatement","src":"224615:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224653:4:19","nodeType":"YulLiteral","src":"224653:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"224659:2:19","nodeType":"YulIdentifier","src":"224659:2:19"}],"functionName":{"name":"mstore","nativeSrc":"224646:6:19","nodeType":"YulIdentifier","src":"224646:6:19"},"nativeSrc":"224646:16:19","nodeType":"YulFunctionCall","src":"224646:16:19"},"nativeSrc":"224646:16:19","nodeType":"YulExpressionStatement","src":"224646:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224682:4:19","nodeType":"YulLiteral","src":"224682:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"224688:2:19","nodeType":"YulIdentifier","src":"224688:2:19"}],"functionName":{"name":"mstore","nativeSrc":"224675:6:19","nodeType":"YulIdentifier","src":"224675:6:19"},"nativeSrc":"224675:16:19","nodeType":"YulFunctionCall","src":"224675:16:19"},"nativeSrc":"224675:16:19","nodeType":"YulExpressionStatement","src":"224675:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224716:4:19","nodeType":"YulLiteral","src":"224716:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"224722:2:19","nodeType":"YulIdentifier","src":"224722:2:19"}],"functionName":{"name":"writeString","nativeSrc":"224704:11:19","nodeType":"YulIdentifier","src":"224704:11:19"},"nativeSrc":"224704:21:19","nodeType":"YulFunctionCall","src":"224704:21:19"},"nativeSrc":"224704:21:19","nodeType":"YulExpressionStatement","src":"224704:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33370,"isOffset":false,"isSlot":false,"src":"224276:2:19","valueSize":1},{"declaration":33373,"isOffset":false,"isSlot":false,"src":"224306:2:19","valueSize":1},{"declaration":33376,"isOffset":false,"isSlot":false,"src":"224336:2:19","valueSize":1},{"declaration":33379,"isOffset":false,"isSlot":false,"src":"224366:2:19","valueSize":1},{"declaration":33382,"isOffset":false,"isSlot":false,"src":"224396:2:19","valueSize":1},{"declaration":33385,"isOffset":false,"isSlot":false,"src":"224426:2:19","valueSize":1},{"declaration":33388,"isOffset":false,"isSlot":false,"src":"224456:2:19","valueSize":1},{"declaration":33360,"isOffset":false,"isSlot":false,"src":"224599:2:19","valueSize":1},{"declaration":33362,"isOffset":false,"isSlot":false,"src":"224722:2:19","valueSize":1},{"declaration":33364,"isOffset":false,"isSlot":false,"src":"224659:2:19","valueSize":1},{"declaration":33366,"isOffset":false,"isSlot":false,"src":"224688:2:19","valueSize":1}],"id":33390,"nodeType":"InlineAssembly","src":"223898:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"224760:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"224766:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33391,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"224744:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"224744:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33395,"nodeType":"ExpressionStatement","src":"224744:27:19"},{"AST":{"nativeSrc":"224833:214:19","nodeType":"YulBlock","src":"224833:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"224854:4:19","nodeType":"YulLiteral","src":"224854:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"224860:2:19","nodeType":"YulIdentifier","src":"224860:2:19"}],"functionName":{"name":"mstore","nativeSrc":"224847:6:19","nodeType":"YulIdentifier","src":"224847:6:19"},"nativeSrc":"224847:16:19","nodeType":"YulFunctionCall","src":"224847:16:19"},"nativeSrc":"224847:16:19","nodeType":"YulExpressionStatement","src":"224847:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224883:4:19","nodeType":"YulLiteral","src":"224883:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"224889:2:19","nodeType":"YulIdentifier","src":"224889:2:19"}],"functionName":{"name":"mstore","nativeSrc":"224876:6:19","nodeType":"YulIdentifier","src":"224876:6:19"},"nativeSrc":"224876:16:19","nodeType":"YulFunctionCall","src":"224876:16:19"},"nativeSrc":"224876:16:19","nodeType":"YulExpressionStatement","src":"224876:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224912:4:19","nodeType":"YulLiteral","src":"224912:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"224918:2:19","nodeType":"YulIdentifier","src":"224918:2:19"}],"functionName":{"name":"mstore","nativeSrc":"224905:6:19","nodeType":"YulIdentifier","src":"224905:6:19"},"nativeSrc":"224905:16:19","nodeType":"YulFunctionCall","src":"224905:16:19"},"nativeSrc":"224905:16:19","nodeType":"YulExpressionStatement","src":"224905:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224941:4:19","nodeType":"YulLiteral","src":"224941:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"224947:2:19","nodeType":"YulIdentifier","src":"224947:2:19"}],"functionName":{"name":"mstore","nativeSrc":"224934:6:19","nodeType":"YulIdentifier","src":"224934:6:19"},"nativeSrc":"224934:16:19","nodeType":"YulFunctionCall","src":"224934:16:19"},"nativeSrc":"224934:16:19","nodeType":"YulExpressionStatement","src":"224934:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224970:4:19","nodeType":"YulLiteral","src":"224970:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"224976:2:19","nodeType":"YulIdentifier","src":"224976:2:19"}],"functionName":{"name":"mstore","nativeSrc":"224963:6:19","nodeType":"YulIdentifier","src":"224963:6:19"},"nativeSrc":"224963:16:19","nodeType":"YulFunctionCall","src":"224963:16:19"},"nativeSrc":"224963:16:19","nodeType":"YulExpressionStatement","src":"224963:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"224999:4:19","nodeType":"YulLiteral","src":"224999:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"225005:2:19","nodeType":"YulIdentifier","src":"225005:2:19"}],"functionName":{"name":"mstore","nativeSrc":"224992:6:19","nodeType":"YulIdentifier","src":"224992:6:19"},"nativeSrc":"224992:16:19","nodeType":"YulFunctionCall","src":"224992:16:19"},"nativeSrc":"224992:16:19","nodeType":"YulExpressionStatement","src":"224992:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"225028:4:19","nodeType":"YulLiteral","src":"225028:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"225034:2:19","nodeType":"YulIdentifier","src":"225034:2:19"}],"functionName":{"name":"mstore","nativeSrc":"225021:6:19","nodeType":"YulIdentifier","src":"225021:6:19"},"nativeSrc":"225021:16:19","nodeType":"YulFunctionCall","src":"225021:16:19"},"nativeSrc":"225021:16:19","nodeType":"YulExpressionStatement","src":"225021:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33370,"isOffset":false,"isSlot":false,"src":"224860:2:19","valueSize":1},{"declaration":33373,"isOffset":false,"isSlot":false,"src":"224889:2:19","valueSize":1},{"declaration":33376,"isOffset":false,"isSlot":false,"src":"224918:2:19","valueSize":1},{"declaration":33379,"isOffset":false,"isSlot":false,"src":"224947:2:19","valueSize":1},{"declaration":33382,"isOffset":false,"isSlot":false,"src":"224976:2:19","valueSize":1},{"declaration":33385,"isOffset":false,"isSlot":false,"src":"225005:2:19","valueSize":1},{"declaration":33388,"isOffset":false,"isSlot":false,"src":"225034:2:19","valueSize":1}],"id":33396,"nodeType":"InlineAssembly","src":"224824:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"223642:3:19","parameters":{"id":33367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33360,"mutability":"mutable","name":"p0","nameLocation":"223651:2:19","nodeType":"VariableDeclaration","scope":33398,"src":"223646:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33359,"name":"bool","nodeType":"ElementaryTypeName","src":"223646:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33362,"mutability":"mutable","name":"p1","nameLocation":"223663:2:19","nodeType":"VariableDeclaration","scope":33398,"src":"223655:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33361,"name":"bytes32","nodeType":"ElementaryTypeName","src":"223655:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33364,"mutability":"mutable","name":"p2","nameLocation":"223675:2:19","nodeType":"VariableDeclaration","scope":33398,"src":"223667:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33363,"name":"address","nodeType":"ElementaryTypeName","src":"223667:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33366,"mutability":"mutable","name":"p3","nameLocation":"223687:2:19","nodeType":"VariableDeclaration","scope":33398,"src":"223679:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33365,"name":"address","nodeType":"ElementaryTypeName","src":"223679:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"223645:45:19"},"returnParameters":{"id":33368,"nodeType":"ParameterList","parameters":[],"src":"223705:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33438,"nodeType":"FunctionDefinition","src":"225059:1414:19","nodes":[],"body":{"id":33437,"nodeType":"Block","src":"225128:1345:19","nodes":[],"statements":[{"assignments":[33410],"declarations":[{"constant":false,"id":33410,"mutability":"mutable","name":"m0","nameLocation":"225146:2:19","nodeType":"VariableDeclaration","scope":33437,"src":"225138:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33409,"name":"bytes32","nodeType":"ElementaryTypeName","src":"225138:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33411,"nodeType":"VariableDeclarationStatement","src":"225138:10:19"},{"assignments":[33413],"declarations":[{"constant":false,"id":33413,"mutability":"mutable","name":"m1","nameLocation":"225166:2:19","nodeType":"VariableDeclaration","scope":33437,"src":"225158:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33412,"name":"bytes32","nodeType":"ElementaryTypeName","src":"225158:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33414,"nodeType":"VariableDeclarationStatement","src":"225158:10:19"},{"assignments":[33416],"declarations":[{"constant":false,"id":33416,"mutability":"mutable","name":"m2","nameLocation":"225186:2:19","nodeType":"VariableDeclaration","scope":33437,"src":"225178:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33415,"name":"bytes32","nodeType":"ElementaryTypeName","src":"225178:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33417,"nodeType":"VariableDeclarationStatement","src":"225178:10:19"},{"assignments":[33419],"declarations":[{"constant":false,"id":33419,"mutability":"mutable","name":"m3","nameLocation":"225206:2:19","nodeType":"VariableDeclaration","scope":33437,"src":"225198:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33418,"name":"bytes32","nodeType":"ElementaryTypeName","src":"225198:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33420,"nodeType":"VariableDeclarationStatement","src":"225198:10:19"},{"assignments":[33422],"declarations":[{"constant":false,"id":33422,"mutability":"mutable","name":"m4","nameLocation":"225226:2:19","nodeType":"VariableDeclaration","scope":33437,"src":"225218:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33421,"name":"bytes32","nodeType":"ElementaryTypeName","src":"225218:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33423,"nodeType":"VariableDeclarationStatement","src":"225218:10:19"},{"assignments":[33425],"declarations":[{"constant":false,"id":33425,"mutability":"mutable","name":"m5","nameLocation":"225246:2:19","nodeType":"VariableDeclaration","scope":33437,"src":"225238:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33424,"name":"bytes32","nodeType":"ElementaryTypeName","src":"225238:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33426,"nodeType":"VariableDeclarationStatement","src":"225238:10:19"},{"assignments":[33428],"declarations":[{"constant":false,"id":33428,"mutability":"mutable","name":"m6","nameLocation":"225266:2:19","nodeType":"VariableDeclaration","scope":33437,"src":"225258:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33427,"name":"bytes32","nodeType":"ElementaryTypeName","src":"225258:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33429,"nodeType":"VariableDeclarationStatement","src":"225258:10:19"},{"AST":{"nativeSrc":"225330:825:19","nodeType":"YulBlock","src":"225330:825:19","statements":[{"body":{"nativeSrc":"225373:313:19","nodeType":"YulBlock","src":"225373:313:19","statements":[{"nativeSrc":"225391:15:19","nodeType":"YulVariableDeclaration","src":"225391:15:19","value":{"kind":"number","nativeSrc":"225405:1:19","nodeType":"YulLiteral","src":"225405:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"225395:6:19","nodeType":"YulTypedName","src":"225395:6:19","type":""}]},{"body":{"nativeSrc":"225476:40:19","nodeType":"YulBlock","src":"225476:40:19","statements":[{"body":{"nativeSrc":"225505:9:19","nodeType":"YulBlock","src":"225505:9:19","statements":[{"nativeSrc":"225507:5:19","nodeType":"YulBreak","src":"225507:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"225493:6:19","nodeType":"YulIdentifier","src":"225493:6:19"},{"name":"w","nativeSrc":"225501:1:19","nodeType":"YulIdentifier","src":"225501:1:19"}],"functionName":{"name":"byte","nativeSrc":"225488:4:19","nodeType":"YulIdentifier","src":"225488:4:19"},"nativeSrc":"225488:15:19","nodeType":"YulFunctionCall","src":"225488:15:19"}],"functionName":{"name":"iszero","nativeSrc":"225481:6:19","nodeType":"YulIdentifier","src":"225481:6:19"},"nativeSrc":"225481:23:19","nodeType":"YulFunctionCall","src":"225481:23:19"},"nativeSrc":"225478:36:19","nodeType":"YulIf","src":"225478:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"225433:6:19","nodeType":"YulIdentifier","src":"225433:6:19"},{"kind":"number","nativeSrc":"225441:4:19","nodeType":"YulLiteral","src":"225441:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"225430:2:19","nodeType":"YulIdentifier","src":"225430:2:19"},"nativeSrc":"225430:16:19","nodeType":"YulFunctionCall","src":"225430:16:19"},"nativeSrc":"225423:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"225447:28:19","nodeType":"YulBlock","src":"225447:28:19","statements":[{"nativeSrc":"225449:24:19","nodeType":"YulAssignment","src":"225449:24:19","value":{"arguments":[{"name":"length","nativeSrc":"225463:6:19","nodeType":"YulIdentifier","src":"225463:6:19"},{"kind":"number","nativeSrc":"225471:1:19","nodeType":"YulLiteral","src":"225471:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"225459:3:19","nodeType":"YulIdentifier","src":"225459:3:19"},"nativeSrc":"225459:14:19","nodeType":"YulFunctionCall","src":"225459:14:19"},"variableNames":[{"name":"length","nativeSrc":"225449:6:19","nodeType":"YulIdentifier","src":"225449:6:19"}]}]},"pre":{"nativeSrc":"225427:2:19","nodeType":"YulBlock","src":"225427:2:19","statements":[]},"src":"225423:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"225540:3:19","nodeType":"YulIdentifier","src":"225540:3:19"},{"name":"length","nativeSrc":"225545:6:19","nodeType":"YulIdentifier","src":"225545:6:19"}],"functionName":{"name":"mstore","nativeSrc":"225533:6:19","nodeType":"YulIdentifier","src":"225533:6:19"},"nativeSrc":"225533:19:19","nodeType":"YulFunctionCall","src":"225533:19:19"},"nativeSrc":"225533:19:19","nodeType":"YulExpressionStatement","src":"225533:19:19"},{"nativeSrc":"225569:37:19","nodeType":"YulVariableDeclaration","src":"225569:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"225586:3:19","nodeType":"YulLiteral","src":"225586:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"225595:1:19","nodeType":"YulLiteral","src":"225595:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"225598:6:19","nodeType":"YulIdentifier","src":"225598:6:19"}],"functionName":{"name":"shl","nativeSrc":"225591:3:19","nodeType":"YulIdentifier","src":"225591:3:19"},"nativeSrc":"225591:14:19","nodeType":"YulFunctionCall","src":"225591:14:19"}],"functionName":{"name":"sub","nativeSrc":"225582:3:19","nodeType":"YulIdentifier","src":"225582:3:19"},"nativeSrc":"225582:24:19","nodeType":"YulFunctionCall","src":"225582:24:19"},"variables":[{"name":"shift","nativeSrc":"225573:5:19","nodeType":"YulTypedName","src":"225573:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"225634:3:19","nodeType":"YulIdentifier","src":"225634:3:19"},{"kind":"number","nativeSrc":"225639:4:19","nodeType":"YulLiteral","src":"225639:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"225630:3:19","nodeType":"YulIdentifier","src":"225630:3:19"},"nativeSrc":"225630:14:19","nodeType":"YulFunctionCall","src":"225630:14:19"},{"arguments":[{"name":"shift","nativeSrc":"225650:5:19","nodeType":"YulIdentifier","src":"225650:5:19"},{"arguments":[{"name":"shift","nativeSrc":"225661:5:19","nodeType":"YulIdentifier","src":"225661:5:19"},{"name":"w","nativeSrc":"225668:1:19","nodeType":"YulIdentifier","src":"225668:1:19"}],"functionName":{"name":"shr","nativeSrc":"225657:3:19","nodeType":"YulIdentifier","src":"225657:3:19"},"nativeSrc":"225657:13:19","nodeType":"YulFunctionCall","src":"225657:13:19"}],"functionName":{"name":"shl","nativeSrc":"225646:3:19","nodeType":"YulIdentifier","src":"225646:3:19"},"nativeSrc":"225646:25:19","nodeType":"YulFunctionCall","src":"225646:25:19"}],"functionName":{"name":"mstore","nativeSrc":"225623:6:19","nodeType":"YulIdentifier","src":"225623:6:19"},"nativeSrc":"225623:49:19","nodeType":"YulFunctionCall","src":"225623:49:19"},"nativeSrc":"225623:49:19","nodeType":"YulExpressionStatement","src":"225623:49:19"}]},"name":"writeString","nativeSrc":"225344:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"225365:3:19","nodeType":"YulTypedName","src":"225365:3:19","type":""},{"name":"w","nativeSrc":"225370:1:19","nodeType":"YulTypedName","src":"225370:1:19","type":""}],"src":"225344:342:19"},{"nativeSrc":"225699:17:19","nodeType":"YulAssignment","src":"225699:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"225711:4:19","nodeType":"YulLiteral","src":"225711:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"225705:5:19","nodeType":"YulIdentifier","src":"225705:5:19"},"nativeSrc":"225705:11:19","nodeType":"YulFunctionCall","src":"225705:11:19"},"variableNames":[{"name":"m0","nativeSrc":"225699:2:19","nodeType":"YulIdentifier","src":"225699:2:19"}]},{"nativeSrc":"225729:17:19","nodeType":"YulAssignment","src":"225729:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"225741:4:19","nodeType":"YulLiteral","src":"225741:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"225735:5:19","nodeType":"YulIdentifier","src":"225735:5:19"},"nativeSrc":"225735:11:19","nodeType":"YulFunctionCall","src":"225735:11:19"},"variableNames":[{"name":"m1","nativeSrc":"225729:2:19","nodeType":"YulIdentifier","src":"225729:2:19"}]},{"nativeSrc":"225759:17:19","nodeType":"YulAssignment","src":"225759:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"225771:4:19","nodeType":"YulLiteral","src":"225771:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"225765:5:19","nodeType":"YulIdentifier","src":"225765:5:19"},"nativeSrc":"225765:11:19","nodeType":"YulFunctionCall","src":"225765:11:19"},"variableNames":[{"name":"m2","nativeSrc":"225759:2:19","nodeType":"YulIdentifier","src":"225759:2:19"}]},{"nativeSrc":"225789:17:19","nodeType":"YulAssignment","src":"225789:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"225801:4:19","nodeType":"YulLiteral","src":"225801:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"225795:5:19","nodeType":"YulIdentifier","src":"225795:5:19"},"nativeSrc":"225795:11:19","nodeType":"YulFunctionCall","src":"225795:11:19"},"variableNames":[{"name":"m3","nativeSrc":"225789:2:19","nodeType":"YulIdentifier","src":"225789:2:19"}]},{"nativeSrc":"225819:17:19","nodeType":"YulAssignment","src":"225819:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"225831:4:19","nodeType":"YulLiteral","src":"225831:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"225825:5:19","nodeType":"YulIdentifier","src":"225825:5:19"},"nativeSrc":"225825:11:19","nodeType":"YulFunctionCall","src":"225825:11:19"},"variableNames":[{"name":"m4","nativeSrc":"225819:2:19","nodeType":"YulIdentifier","src":"225819:2:19"}]},{"nativeSrc":"225849:17:19","nodeType":"YulAssignment","src":"225849:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"225861:4:19","nodeType":"YulLiteral","src":"225861:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"225855:5:19","nodeType":"YulIdentifier","src":"225855:5:19"},"nativeSrc":"225855:11:19","nodeType":"YulFunctionCall","src":"225855:11:19"},"variableNames":[{"name":"m5","nativeSrc":"225849:2:19","nodeType":"YulIdentifier","src":"225849:2:19"}]},{"nativeSrc":"225879:17:19","nodeType":"YulAssignment","src":"225879:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"225891:4:19","nodeType":"YulLiteral","src":"225891:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"225885:5:19","nodeType":"YulIdentifier","src":"225885:5:19"},"nativeSrc":"225885:11:19","nodeType":"YulFunctionCall","src":"225885:11:19"},"variableNames":[{"name":"m6","nativeSrc":"225879:2:19","nodeType":"YulIdentifier","src":"225879:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"225976:4:19","nodeType":"YulLiteral","src":"225976:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"225982:10:19","nodeType":"YulLiteral","src":"225982:10:19","type":"","value":"0x6dd434ca"}],"functionName":{"name":"mstore","nativeSrc":"225969:6:19","nodeType":"YulIdentifier","src":"225969:6:19"},"nativeSrc":"225969:24:19","nodeType":"YulFunctionCall","src":"225969:24:19"},"nativeSrc":"225969:24:19","nodeType":"YulExpressionStatement","src":"225969:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226013:4:19","nodeType":"YulLiteral","src":"226013:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"226019:2:19","nodeType":"YulIdentifier","src":"226019:2:19"}],"functionName":{"name":"mstore","nativeSrc":"226006:6:19","nodeType":"YulIdentifier","src":"226006:6:19"},"nativeSrc":"226006:16:19","nodeType":"YulFunctionCall","src":"226006:16:19"},"nativeSrc":"226006:16:19","nodeType":"YulExpressionStatement","src":"226006:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226042:4:19","nodeType":"YulLiteral","src":"226042:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"226048:4:19","nodeType":"YulLiteral","src":"226048:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"226035:6:19","nodeType":"YulIdentifier","src":"226035:6:19"},"nativeSrc":"226035:18:19","nodeType":"YulFunctionCall","src":"226035:18:19"},"nativeSrc":"226035:18:19","nodeType":"YulExpressionStatement","src":"226035:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226073:4:19","nodeType":"YulLiteral","src":"226073:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"226079:2:19","nodeType":"YulIdentifier","src":"226079:2:19"}],"functionName":{"name":"mstore","nativeSrc":"226066:6:19","nodeType":"YulIdentifier","src":"226066:6:19"},"nativeSrc":"226066:16:19","nodeType":"YulFunctionCall","src":"226066:16:19"},"nativeSrc":"226066:16:19","nodeType":"YulExpressionStatement","src":"226066:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226102:4:19","nodeType":"YulLiteral","src":"226102:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"226108:2:19","nodeType":"YulIdentifier","src":"226108:2:19"}],"functionName":{"name":"mstore","nativeSrc":"226095:6:19","nodeType":"YulIdentifier","src":"226095:6:19"},"nativeSrc":"226095:16:19","nodeType":"YulFunctionCall","src":"226095:16:19"},"nativeSrc":"226095:16:19","nodeType":"YulExpressionStatement","src":"226095:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226136:4:19","nodeType":"YulLiteral","src":"226136:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"226142:2:19","nodeType":"YulIdentifier","src":"226142:2:19"}],"functionName":{"name":"writeString","nativeSrc":"226124:11:19","nodeType":"YulIdentifier","src":"226124:11:19"},"nativeSrc":"226124:21:19","nodeType":"YulFunctionCall","src":"226124:21:19"},"nativeSrc":"226124:21:19","nodeType":"YulExpressionStatement","src":"226124:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33410,"isOffset":false,"isSlot":false,"src":"225699:2:19","valueSize":1},{"declaration":33413,"isOffset":false,"isSlot":false,"src":"225729:2:19","valueSize":1},{"declaration":33416,"isOffset":false,"isSlot":false,"src":"225759:2:19","valueSize":1},{"declaration":33419,"isOffset":false,"isSlot":false,"src":"225789:2:19","valueSize":1},{"declaration":33422,"isOffset":false,"isSlot":false,"src":"225819:2:19","valueSize":1},{"declaration":33425,"isOffset":false,"isSlot":false,"src":"225849:2:19","valueSize":1},{"declaration":33428,"isOffset":false,"isSlot":false,"src":"225879:2:19","valueSize":1},{"declaration":33400,"isOffset":false,"isSlot":false,"src":"226019:2:19","valueSize":1},{"declaration":33402,"isOffset":false,"isSlot":false,"src":"226142:2:19","valueSize":1},{"declaration":33404,"isOffset":false,"isSlot":false,"src":"226079:2:19","valueSize":1},{"declaration":33406,"isOffset":false,"isSlot":false,"src":"226108:2:19","valueSize":1}],"id":33430,"nodeType":"InlineAssembly","src":"225321:834:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"226180:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"226186:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33431,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"226164:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"226164:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33435,"nodeType":"ExpressionStatement","src":"226164:27:19"},{"AST":{"nativeSrc":"226253:214:19","nodeType":"YulBlock","src":"226253:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"226274:4:19","nodeType":"YulLiteral","src":"226274:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"226280:2:19","nodeType":"YulIdentifier","src":"226280:2:19"}],"functionName":{"name":"mstore","nativeSrc":"226267:6:19","nodeType":"YulIdentifier","src":"226267:6:19"},"nativeSrc":"226267:16:19","nodeType":"YulFunctionCall","src":"226267:16:19"},"nativeSrc":"226267:16:19","nodeType":"YulExpressionStatement","src":"226267:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226303:4:19","nodeType":"YulLiteral","src":"226303:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"226309:2:19","nodeType":"YulIdentifier","src":"226309:2:19"}],"functionName":{"name":"mstore","nativeSrc":"226296:6:19","nodeType":"YulIdentifier","src":"226296:6:19"},"nativeSrc":"226296:16:19","nodeType":"YulFunctionCall","src":"226296:16:19"},"nativeSrc":"226296:16:19","nodeType":"YulExpressionStatement","src":"226296:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226332:4:19","nodeType":"YulLiteral","src":"226332:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"226338:2:19","nodeType":"YulIdentifier","src":"226338:2:19"}],"functionName":{"name":"mstore","nativeSrc":"226325:6:19","nodeType":"YulIdentifier","src":"226325:6:19"},"nativeSrc":"226325:16:19","nodeType":"YulFunctionCall","src":"226325:16:19"},"nativeSrc":"226325:16:19","nodeType":"YulExpressionStatement","src":"226325:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226361:4:19","nodeType":"YulLiteral","src":"226361:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"226367:2:19","nodeType":"YulIdentifier","src":"226367:2:19"}],"functionName":{"name":"mstore","nativeSrc":"226354:6:19","nodeType":"YulIdentifier","src":"226354:6:19"},"nativeSrc":"226354:16:19","nodeType":"YulFunctionCall","src":"226354:16:19"},"nativeSrc":"226354:16:19","nodeType":"YulExpressionStatement","src":"226354:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226390:4:19","nodeType":"YulLiteral","src":"226390:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"226396:2:19","nodeType":"YulIdentifier","src":"226396:2:19"}],"functionName":{"name":"mstore","nativeSrc":"226383:6:19","nodeType":"YulIdentifier","src":"226383:6:19"},"nativeSrc":"226383:16:19","nodeType":"YulFunctionCall","src":"226383:16:19"},"nativeSrc":"226383:16:19","nodeType":"YulExpressionStatement","src":"226383:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226419:4:19","nodeType":"YulLiteral","src":"226419:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"226425:2:19","nodeType":"YulIdentifier","src":"226425:2:19"}],"functionName":{"name":"mstore","nativeSrc":"226412:6:19","nodeType":"YulIdentifier","src":"226412:6:19"},"nativeSrc":"226412:16:19","nodeType":"YulFunctionCall","src":"226412:16:19"},"nativeSrc":"226412:16:19","nodeType":"YulExpressionStatement","src":"226412:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"226448:4:19","nodeType":"YulLiteral","src":"226448:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"226454:2:19","nodeType":"YulIdentifier","src":"226454:2:19"}],"functionName":{"name":"mstore","nativeSrc":"226441:6:19","nodeType":"YulIdentifier","src":"226441:6:19"},"nativeSrc":"226441:16:19","nodeType":"YulFunctionCall","src":"226441:16:19"},"nativeSrc":"226441:16:19","nodeType":"YulExpressionStatement","src":"226441:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33410,"isOffset":false,"isSlot":false,"src":"226280:2:19","valueSize":1},{"declaration":33413,"isOffset":false,"isSlot":false,"src":"226309:2:19","valueSize":1},{"declaration":33416,"isOffset":false,"isSlot":false,"src":"226338:2:19","valueSize":1},{"declaration":33419,"isOffset":false,"isSlot":false,"src":"226367:2:19","valueSize":1},{"declaration":33422,"isOffset":false,"isSlot":false,"src":"226396:2:19","valueSize":1},{"declaration":33425,"isOffset":false,"isSlot":false,"src":"226425:2:19","valueSize":1},{"declaration":33428,"isOffset":false,"isSlot":false,"src":"226454:2:19","valueSize":1}],"id":33436,"nodeType":"InlineAssembly","src":"226244:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"225068:3:19","parameters":{"id":33407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33400,"mutability":"mutable","name":"p0","nameLocation":"225077:2:19","nodeType":"VariableDeclaration","scope":33438,"src":"225072:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33399,"name":"bool","nodeType":"ElementaryTypeName","src":"225072:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33402,"mutability":"mutable","name":"p1","nameLocation":"225089:2:19","nodeType":"VariableDeclaration","scope":33438,"src":"225081:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33401,"name":"bytes32","nodeType":"ElementaryTypeName","src":"225081:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33404,"mutability":"mutable","name":"p2","nameLocation":"225101:2:19","nodeType":"VariableDeclaration","scope":33438,"src":"225093:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33403,"name":"address","nodeType":"ElementaryTypeName","src":"225093:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33406,"mutability":"mutable","name":"p3","nameLocation":"225110:2:19","nodeType":"VariableDeclaration","scope":33438,"src":"225105:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33405,"name":"bool","nodeType":"ElementaryTypeName","src":"225105:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"225071:42:19"},"returnParameters":{"id":33408,"nodeType":"ParameterList","parameters":[],"src":"225128:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33478,"nodeType":"FunctionDefinition","src":"226479:1420:19","nodes":[],"body":{"id":33477,"nodeType":"Block","src":"226551:1348:19","nodes":[],"statements":[{"assignments":[33450],"declarations":[{"constant":false,"id":33450,"mutability":"mutable","name":"m0","nameLocation":"226569:2:19","nodeType":"VariableDeclaration","scope":33477,"src":"226561:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33449,"name":"bytes32","nodeType":"ElementaryTypeName","src":"226561:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33451,"nodeType":"VariableDeclarationStatement","src":"226561:10:19"},{"assignments":[33453],"declarations":[{"constant":false,"id":33453,"mutability":"mutable","name":"m1","nameLocation":"226589:2:19","nodeType":"VariableDeclaration","scope":33477,"src":"226581:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33452,"name":"bytes32","nodeType":"ElementaryTypeName","src":"226581:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33454,"nodeType":"VariableDeclarationStatement","src":"226581:10:19"},{"assignments":[33456],"declarations":[{"constant":false,"id":33456,"mutability":"mutable","name":"m2","nameLocation":"226609:2:19","nodeType":"VariableDeclaration","scope":33477,"src":"226601:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33455,"name":"bytes32","nodeType":"ElementaryTypeName","src":"226601:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33457,"nodeType":"VariableDeclarationStatement","src":"226601:10:19"},{"assignments":[33459],"declarations":[{"constant":false,"id":33459,"mutability":"mutable","name":"m3","nameLocation":"226629:2:19","nodeType":"VariableDeclaration","scope":33477,"src":"226621:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33458,"name":"bytes32","nodeType":"ElementaryTypeName","src":"226621:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33460,"nodeType":"VariableDeclarationStatement","src":"226621:10:19"},{"assignments":[33462],"declarations":[{"constant":false,"id":33462,"mutability":"mutable","name":"m4","nameLocation":"226649:2:19","nodeType":"VariableDeclaration","scope":33477,"src":"226641:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33461,"name":"bytes32","nodeType":"ElementaryTypeName","src":"226641:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33463,"nodeType":"VariableDeclarationStatement","src":"226641:10:19"},{"assignments":[33465],"declarations":[{"constant":false,"id":33465,"mutability":"mutable","name":"m5","nameLocation":"226669:2:19","nodeType":"VariableDeclaration","scope":33477,"src":"226661:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33464,"name":"bytes32","nodeType":"ElementaryTypeName","src":"226661:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33466,"nodeType":"VariableDeclarationStatement","src":"226661:10:19"},{"assignments":[33468],"declarations":[{"constant":false,"id":33468,"mutability":"mutable","name":"m6","nameLocation":"226689:2:19","nodeType":"VariableDeclaration","scope":33477,"src":"226681:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33467,"name":"bytes32","nodeType":"ElementaryTypeName","src":"226681:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33469,"nodeType":"VariableDeclarationStatement","src":"226681:10:19"},{"AST":{"nativeSrc":"226753:828:19","nodeType":"YulBlock","src":"226753:828:19","statements":[{"body":{"nativeSrc":"226796:313:19","nodeType":"YulBlock","src":"226796:313:19","statements":[{"nativeSrc":"226814:15:19","nodeType":"YulVariableDeclaration","src":"226814:15:19","value":{"kind":"number","nativeSrc":"226828:1:19","nodeType":"YulLiteral","src":"226828:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"226818:6:19","nodeType":"YulTypedName","src":"226818:6:19","type":""}]},{"body":{"nativeSrc":"226899:40:19","nodeType":"YulBlock","src":"226899:40:19","statements":[{"body":{"nativeSrc":"226928:9:19","nodeType":"YulBlock","src":"226928:9:19","statements":[{"nativeSrc":"226930:5:19","nodeType":"YulBreak","src":"226930:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"226916:6:19","nodeType":"YulIdentifier","src":"226916:6:19"},{"name":"w","nativeSrc":"226924:1:19","nodeType":"YulIdentifier","src":"226924:1:19"}],"functionName":{"name":"byte","nativeSrc":"226911:4:19","nodeType":"YulIdentifier","src":"226911:4:19"},"nativeSrc":"226911:15:19","nodeType":"YulFunctionCall","src":"226911:15:19"}],"functionName":{"name":"iszero","nativeSrc":"226904:6:19","nodeType":"YulIdentifier","src":"226904:6:19"},"nativeSrc":"226904:23:19","nodeType":"YulFunctionCall","src":"226904:23:19"},"nativeSrc":"226901:36:19","nodeType":"YulIf","src":"226901:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"226856:6:19","nodeType":"YulIdentifier","src":"226856:6:19"},{"kind":"number","nativeSrc":"226864:4:19","nodeType":"YulLiteral","src":"226864:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"226853:2:19","nodeType":"YulIdentifier","src":"226853:2:19"},"nativeSrc":"226853:16:19","nodeType":"YulFunctionCall","src":"226853:16:19"},"nativeSrc":"226846:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"226870:28:19","nodeType":"YulBlock","src":"226870:28:19","statements":[{"nativeSrc":"226872:24:19","nodeType":"YulAssignment","src":"226872:24:19","value":{"arguments":[{"name":"length","nativeSrc":"226886:6:19","nodeType":"YulIdentifier","src":"226886:6:19"},{"kind":"number","nativeSrc":"226894:1:19","nodeType":"YulLiteral","src":"226894:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"226882:3:19","nodeType":"YulIdentifier","src":"226882:3:19"},"nativeSrc":"226882:14:19","nodeType":"YulFunctionCall","src":"226882:14:19"},"variableNames":[{"name":"length","nativeSrc":"226872:6:19","nodeType":"YulIdentifier","src":"226872:6:19"}]}]},"pre":{"nativeSrc":"226850:2:19","nodeType":"YulBlock","src":"226850:2:19","statements":[]},"src":"226846:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"226963:3:19","nodeType":"YulIdentifier","src":"226963:3:19"},{"name":"length","nativeSrc":"226968:6:19","nodeType":"YulIdentifier","src":"226968:6:19"}],"functionName":{"name":"mstore","nativeSrc":"226956:6:19","nodeType":"YulIdentifier","src":"226956:6:19"},"nativeSrc":"226956:19:19","nodeType":"YulFunctionCall","src":"226956:19:19"},"nativeSrc":"226956:19:19","nodeType":"YulExpressionStatement","src":"226956:19:19"},{"nativeSrc":"226992:37:19","nodeType":"YulVariableDeclaration","src":"226992:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"227009:3:19","nodeType":"YulLiteral","src":"227009:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"227018:1:19","nodeType":"YulLiteral","src":"227018:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"227021:6:19","nodeType":"YulIdentifier","src":"227021:6:19"}],"functionName":{"name":"shl","nativeSrc":"227014:3:19","nodeType":"YulIdentifier","src":"227014:3:19"},"nativeSrc":"227014:14:19","nodeType":"YulFunctionCall","src":"227014:14:19"}],"functionName":{"name":"sub","nativeSrc":"227005:3:19","nodeType":"YulIdentifier","src":"227005:3:19"},"nativeSrc":"227005:24:19","nodeType":"YulFunctionCall","src":"227005:24:19"},"variables":[{"name":"shift","nativeSrc":"226996:5:19","nodeType":"YulTypedName","src":"226996:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"227057:3:19","nodeType":"YulIdentifier","src":"227057:3:19"},{"kind":"number","nativeSrc":"227062:4:19","nodeType":"YulLiteral","src":"227062:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"227053:3:19","nodeType":"YulIdentifier","src":"227053:3:19"},"nativeSrc":"227053:14:19","nodeType":"YulFunctionCall","src":"227053:14:19"},{"arguments":[{"name":"shift","nativeSrc":"227073:5:19","nodeType":"YulIdentifier","src":"227073:5:19"},{"arguments":[{"name":"shift","nativeSrc":"227084:5:19","nodeType":"YulIdentifier","src":"227084:5:19"},{"name":"w","nativeSrc":"227091:1:19","nodeType":"YulIdentifier","src":"227091:1:19"}],"functionName":{"name":"shr","nativeSrc":"227080:3:19","nodeType":"YulIdentifier","src":"227080:3:19"},"nativeSrc":"227080:13:19","nodeType":"YulFunctionCall","src":"227080:13:19"}],"functionName":{"name":"shl","nativeSrc":"227069:3:19","nodeType":"YulIdentifier","src":"227069:3:19"},"nativeSrc":"227069:25:19","nodeType":"YulFunctionCall","src":"227069:25:19"}],"functionName":{"name":"mstore","nativeSrc":"227046:6:19","nodeType":"YulIdentifier","src":"227046:6:19"},"nativeSrc":"227046:49:19","nodeType":"YulFunctionCall","src":"227046:49:19"},"nativeSrc":"227046:49:19","nodeType":"YulExpressionStatement","src":"227046:49:19"}]},"name":"writeString","nativeSrc":"226767:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"226788:3:19","nodeType":"YulTypedName","src":"226788:3:19","type":""},{"name":"w","nativeSrc":"226793:1:19","nodeType":"YulTypedName","src":"226793:1:19","type":""}],"src":"226767:342:19"},{"nativeSrc":"227122:17:19","nodeType":"YulAssignment","src":"227122:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"227134:4:19","nodeType":"YulLiteral","src":"227134:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"227128:5:19","nodeType":"YulIdentifier","src":"227128:5:19"},"nativeSrc":"227128:11:19","nodeType":"YulFunctionCall","src":"227128:11:19"},"variableNames":[{"name":"m0","nativeSrc":"227122:2:19","nodeType":"YulIdentifier","src":"227122:2:19"}]},{"nativeSrc":"227152:17:19","nodeType":"YulAssignment","src":"227152:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"227164:4:19","nodeType":"YulLiteral","src":"227164:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"227158:5:19","nodeType":"YulIdentifier","src":"227158:5:19"},"nativeSrc":"227158:11:19","nodeType":"YulFunctionCall","src":"227158:11:19"},"variableNames":[{"name":"m1","nativeSrc":"227152:2:19","nodeType":"YulIdentifier","src":"227152:2:19"}]},{"nativeSrc":"227182:17:19","nodeType":"YulAssignment","src":"227182:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"227194:4:19","nodeType":"YulLiteral","src":"227194:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"227188:5:19","nodeType":"YulIdentifier","src":"227188:5:19"},"nativeSrc":"227188:11:19","nodeType":"YulFunctionCall","src":"227188:11:19"},"variableNames":[{"name":"m2","nativeSrc":"227182:2:19","nodeType":"YulIdentifier","src":"227182:2:19"}]},{"nativeSrc":"227212:17:19","nodeType":"YulAssignment","src":"227212:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"227224:4:19","nodeType":"YulLiteral","src":"227224:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"227218:5:19","nodeType":"YulIdentifier","src":"227218:5:19"},"nativeSrc":"227218:11:19","nodeType":"YulFunctionCall","src":"227218:11:19"},"variableNames":[{"name":"m3","nativeSrc":"227212:2:19","nodeType":"YulIdentifier","src":"227212:2:19"}]},{"nativeSrc":"227242:17:19","nodeType":"YulAssignment","src":"227242:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"227254:4:19","nodeType":"YulLiteral","src":"227254:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"227248:5:19","nodeType":"YulIdentifier","src":"227248:5:19"},"nativeSrc":"227248:11:19","nodeType":"YulFunctionCall","src":"227248:11:19"},"variableNames":[{"name":"m4","nativeSrc":"227242:2:19","nodeType":"YulIdentifier","src":"227242:2:19"}]},{"nativeSrc":"227272:17:19","nodeType":"YulAssignment","src":"227272:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"227284:4:19","nodeType":"YulLiteral","src":"227284:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"227278:5:19","nodeType":"YulIdentifier","src":"227278:5:19"},"nativeSrc":"227278:11:19","nodeType":"YulFunctionCall","src":"227278:11:19"},"variableNames":[{"name":"m5","nativeSrc":"227272:2:19","nodeType":"YulIdentifier","src":"227272:2:19"}]},{"nativeSrc":"227302:17:19","nodeType":"YulAssignment","src":"227302:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"227314:4:19","nodeType":"YulLiteral","src":"227314:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"227308:5:19","nodeType":"YulIdentifier","src":"227308:5:19"},"nativeSrc":"227308:11:19","nodeType":"YulFunctionCall","src":"227308:11:19"},"variableNames":[{"name":"m6","nativeSrc":"227302:2:19","nodeType":"YulIdentifier","src":"227302:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227402:4:19","nodeType":"YulLiteral","src":"227402:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"227408:10:19","nodeType":"YulLiteral","src":"227408:10:19","type":"","value":"0xa5cada94"}],"functionName":{"name":"mstore","nativeSrc":"227395:6:19","nodeType":"YulIdentifier","src":"227395:6:19"},"nativeSrc":"227395:24:19","nodeType":"YulFunctionCall","src":"227395:24:19"},"nativeSrc":"227395:24:19","nodeType":"YulExpressionStatement","src":"227395:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227439:4:19","nodeType":"YulLiteral","src":"227439:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"227445:2:19","nodeType":"YulIdentifier","src":"227445:2:19"}],"functionName":{"name":"mstore","nativeSrc":"227432:6:19","nodeType":"YulIdentifier","src":"227432:6:19"},"nativeSrc":"227432:16:19","nodeType":"YulFunctionCall","src":"227432:16:19"},"nativeSrc":"227432:16:19","nodeType":"YulExpressionStatement","src":"227432:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227468:4:19","nodeType":"YulLiteral","src":"227468:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"227474:4:19","nodeType":"YulLiteral","src":"227474:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"227461:6:19","nodeType":"YulIdentifier","src":"227461:6:19"},"nativeSrc":"227461:18:19","nodeType":"YulFunctionCall","src":"227461:18:19"},"nativeSrc":"227461:18:19","nodeType":"YulExpressionStatement","src":"227461:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227499:4:19","nodeType":"YulLiteral","src":"227499:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"227505:2:19","nodeType":"YulIdentifier","src":"227505:2:19"}],"functionName":{"name":"mstore","nativeSrc":"227492:6:19","nodeType":"YulIdentifier","src":"227492:6:19"},"nativeSrc":"227492:16:19","nodeType":"YulFunctionCall","src":"227492:16:19"},"nativeSrc":"227492:16:19","nodeType":"YulExpressionStatement","src":"227492:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227528:4:19","nodeType":"YulLiteral","src":"227528:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"227534:2:19","nodeType":"YulIdentifier","src":"227534:2:19"}],"functionName":{"name":"mstore","nativeSrc":"227521:6:19","nodeType":"YulIdentifier","src":"227521:6:19"},"nativeSrc":"227521:16:19","nodeType":"YulFunctionCall","src":"227521:16:19"},"nativeSrc":"227521:16:19","nodeType":"YulExpressionStatement","src":"227521:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227562:4:19","nodeType":"YulLiteral","src":"227562:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"227568:2:19","nodeType":"YulIdentifier","src":"227568:2:19"}],"functionName":{"name":"writeString","nativeSrc":"227550:11:19","nodeType":"YulIdentifier","src":"227550:11:19"},"nativeSrc":"227550:21:19","nodeType":"YulFunctionCall","src":"227550:21:19"},"nativeSrc":"227550:21:19","nodeType":"YulExpressionStatement","src":"227550:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33450,"isOffset":false,"isSlot":false,"src":"227122:2:19","valueSize":1},{"declaration":33453,"isOffset":false,"isSlot":false,"src":"227152:2:19","valueSize":1},{"declaration":33456,"isOffset":false,"isSlot":false,"src":"227182:2:19","valueSize":1},{"declaration":33459,"isOffset":false,"isSlot":false,"src":"227212:2:19","valueSize":1},{"declaration":33462,"isOffset":false,"isSlot":false,"src":"227242:2:19","valueSize":1},{"declaration":33465,"isOffset":false,"isSlot":false,"src":"227272:2:19","valueSize":1},{"declaration":33468,"isOffset":false,"isSlot":false,"src":"227302:2:19","valueSize":1},{"declaration":33440,"isOffset":false,"isSlot":false,"src":"227445:2:19","valueSize":1},{"declaration":33442,"isOffset":false,"isSlot":false,"src":"227568:2:19","valueSize":1},{"declaration":33444,"isOffset":false,"isSlot":false,"src":"227505:2:19","valueSize":1},{"declaration":33446,"isOffset":false,"isSlot":false,"src":"227534:2:19","valueSize":1}],"id":33470,"nodeType":"InlineAssembly","src":"226744:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"227606:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"227612:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33471,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"227590:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"227590:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33475,"nodeType":"ExpressionStatement","src":"227590:27:19"},{"AST":{"nativeSrc":"227679:214:19","nodeType":"YulBlock","src":"227679:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"227700:4:19","nodeType":"YulLiteral","src":"227700:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"227706:2:19","nodeType":"YulIdentifier","src":"227706:2:19"}],"functionName":{"name":"mstore","nativeSrc":"227693:6:19","nodeType":"YulIdentifier","src":"227693:6:19"},"nativeSrc":"227693:16:19","nodeType":"YulFunctionCall","src":"227693:16:19"},"nativeSrc":"227693:16:19","nodeType":"YulExpressionStatement","src":"227693:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227729:4:19","nodeType":"YulLiteral","src":"227729:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"227735:2:19","nodeType":"YulIdentifier","src":"227735:2:19"}],"functionName":{"name":"mstore","nativeSrc":"227722:6:19","nodeType":"YulIdentifier","src":"227722:6:19"},"nativeSrc":"227722:16:19","nodeType":"YulFunctionCall","src":"227722:16:19"},"nativeSrc":"227722:16:19","nodeType":"YulExpressionStatement","src":"227722:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227758:4:19","nodeType":"YulLiteral","src":"227758:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"227764:2:19","nodeType":"YulIdentifier","src":"227764:2:19"}],"functionName":{"name":"mstore","nativeSrc":"227751:6:19","nodeType":"YulIdentifier","src":"227751:6:19"},"nativeSrc":"227751:16:19","nodeType":"YulFunctionCall","src":"227751:16:19"},"nativeSrc":"227751:16:19","nodeType":"YulExpressionStatement","src":"227751:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227787:4:19","nodeType":"YulLiteral","src":"227787:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"227793:2:19","nodeType":"YulIdentifier","src":"227793:2:19"}],"functionName":{"name":"mstore","nativeSrc":"227780:6:19","nodeType":"YulIdentifier","src":"227780:6:19"},"nativeSrc":"227780:16:19","nodeType":"YulFunctionCall","src":"227780:16:19"},"nativeSrc":"227780:16:19","nodeType":"YulExpressionStatement","src":"227780:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227816:4:19","nodeType":"YulLiteral","src":"227816:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"227822:2:19","nodeType":"YulIdentifier","src":"227822:2:19"}],"functionName":{"name":"mstore","nativeSrc":"227809:6:19","nodeType":"YulIdentifier","src":"227809:6:19"},"nativeSrc":"227809:16:19","nodeType":"YulFunctionCall","src":"227809:16:19"},"nativeSrc":"227809:16:19","nodeType":"YulExpressionStatement","src":"227809:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227845:4:19","nodeType":"YulLiteral","src":"227845:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"227851:2:19","nodeType":"YulIdentifier","src":"227851:2:19"}],"functionName":{"name":"mstore","nativeSrc":"227838:6:19","nodeType":"YulIdentifier","src":"227838:6:19"},"nativeSrc":"227838:16:19","nodeType":"YulFunctionCall","src":"227838:16:19"},"nativeSrc":"227838:16:19","nodeType":"YulExpressionStatement","src":"227838:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"227874:4:19","nodeType":"YulLiteral","src":"227874:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"227880:2:19","nodeType":"YulIdentifier","src":"227880:2:19"}],"functionName":{"name":"mstore","nativeSrc":"227867:6:19","nodeType":"YulIdentifier","src":"227867:6:19"},"nativeSrc":"227867:16:19","nodeType":"YulFunctionCall","src":"227867:16:19"},"nativeSrc":"227867:16:19","nodeType":"YulExpressionStatement","src":"227867:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33450,"isOffset":false,"isSlot":false,"src":"227706:2:19","valueSize":1},{"declaration":33453,"isOffset":false,"isSlot":false,"src":"227735:2:19","valueSize":1},{"declaration":33456,"isOffset":false,"isSlot":false,"src":"227764:2:19","valueSize":1},{"declaration":33459,"isOffset":false,"isSlot":false,"src":"227793:2:19","valueSize":1},{"declaration":33462,"isOffset":false,"isSlot":false,"src":"227822:2:19","valueSize":1},{"declaration":33465,"isOffset":false,"isSlot":false,"src":"227851:2:19","valueSize":1},{"declaration":33468,"isOffset":false,"isSlot":false,"src":"227880:2:19","valueSize":1}],"id":33476,"nodeType":"InlineAssembly","src":"227670:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"226488:3:19","parameters":{"id":33447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33440,"mutability":"mutable","name":"p0","nameLocation":"226497:2:19","nodeType":"VariableDeclaration","scope":33478,"src":"226492:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33439,"name":"bool","nodeType":"ElementaryTypeName","src":"226492:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33442,"mutability":"mutable","name":"p1","nameLocation":"226509:2:19","nodeType":"VariableDeclaration","scope":33478,"src":"226501:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33441,"name":"bytes32","nodeType":"ElementaryTypeName","src":"226501:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33444,"mutability":"mutable","name":"p2","nameLocation":"226521:2:19","nodeType":"VariableDeclaration","scope":33478,"src":"226513:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33443,"name":"address","nodeType":"ElementaryTypeName","src":"226513:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33446,"mutability":"mutable","name":"p3","nameLocation":"226533:2:19","nodeType":"VariableDeclaration","scope":33478,"src":"226525:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33445,"name":"uint256","nodeType":"ElementaryTypeName","src":"226525:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"226491:45:19"},"returnParameters":{"id":33448,"nodeType":"ParameterList","parameters":[],"src":"226551:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33524,"nodeType":"FunctionDefinition","src":"227905:1616:19","nodes":[],"body":{"id":33523,"nodeType":"Block","src":"227977:1544:19","nodes":[],"statements":[{"assignments":[33490],"declarations":[{"constant":false,"id":33490,"mutability":"mutable","name":"m0","nameLocation":"227995:2:19","nodeType":"VariableDeclaration","scope":33523,"src":"227987:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33489,"name":"bytes32","nodeType":"ElementaryTypeName","src":"227987:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33491,"nodeType":"VariableDeclarationStatement","src":"227987:10:19"},{"assignments":[33493],"declarations":[{"constant":false,"id":33493,"mutability":"mutable","name":"m1","nameLocation":"228015:2:19","nodeType":"VariableDeclaration","scope":33523,"src":"228007:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33492,"name":"bytes32","nodeType":"ElementaryTypeName","src":"228007:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33494,"nodeType":"VariableDeclarationStatement","src":"228007:10:19"},{"assignments":[33496],"declarations":[{"constant":false,"id":33496,"mutability":"mutable","name":"m2","nameLocation":"228035:2:19","nodeType":"VariableDeclaration","scope":33523,"src":"228027:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33495,"name":"bytes32","nodeType":"ElementaryTypeName","src":"228027:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33497,"nodeType":"VariableDeclarationStatement","src":"228027:10:19"},{"assignments":[33499],"declarations":[{"constant":false,"id":33499,"mutability":"mutable","name":"m3","nameLocation":"228055:2:19","nodeType":"VariableDeclaration","scope":33523,"src":"228047:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33498,"name":"bytes32","nodeType":"ElementaryTypeName","src":"228047:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33500,"nodeType":"VariableDeclarationStatement","src":"228047:10:19"},{"assignments":[33502],"declarations":[{"constant":false,"id":33502,"mutability":"mutable","name":"m4","nameLocation":"228075:2:19","nodeType":"VariableDeclaration","scope":33523,"src":"228067:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33501,"name":"bytes32","nodeType":"ElementaryTypeName","src":"228067:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33503,"nodeType":"VariableDeclarationStatement","src":"228067:10:19"},{"assignments":[33505],"declarations":[{"constant":false,"id":33505,"mutability":"mutable","name":"m5","nameLocation":"228095:2:19","nodeType":"VariableDeclaration","scope":33523,"src":"228087:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33504,"name":"bytes32","nodeType":"ElementaryTypeName","src":"228087:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33506,"nodeType":"VariableDeclarationStatement","src":"228087:10:19"},{"assignments":[33508],"declarations":[{"constant":false,"id":33508,"mutability":"mutable","name":"m6","nameLocation":"228115:2:19","nodeType":"VariableDeclaration","scope":33523,"src":"228107:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33507,"name":"bytes32","nodeType":"ElementaryTypeName","src":"228107:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33509,"nodeType":"VariableDeclarationStatement","src":"228107:10:19"},{"assignments":[33511],"declarations":[{"constant":false,"id":33511,"mutability":"mutable","name":"m7","nameLocation":"228135:2:19","nodeType":"VariableDeclaration","scope":33523,"src":"228127:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33510,"name":"bytes32","nodeType":"ElementaryTypeName","src":"228127:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33512,"nodeType":"VariableDeclarationStatement","src":"228127:10:19"},{"assignments":[33514],"declarations":[{"constant":false,"id":33514,"mutability":"mutable","name":"m8","nameLocation":"228155:2:19","nodeType":"VariableDeclaration","scope":33523,"src":"228147:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33513,"name":"bytes32","nodeType":"ElementaryTypeName","src":"228147:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33515,"nodeType":"VariableDeclarationStatement","src":"228147:10:19"},{"AST":{"nativeSrc":"228219:924:19","nodeType":"YulBlock","src":"228219:924:19","statements":[{"body":{"nativeSrc":"228262:313:19","nodeType":"YulBlock","src":"228262:313:19","statements":[{"nativeSrc":"228280:15:19","nodeType":"YulVariableDeclaration","src":"228280:15:19","value":{"kind":"number","nativeSrc":"228294:1:19","nodeType":"YulLiteral","src":"228294:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"228284:6:19","nodeType":"YulTypedName","src":"228284:6:19","type":""}]},{"body":{"nativeSrc":"228365:40:19","nodeType":"YulBlock","src":"228365:40:19","statements":[{"body":{"nativeSrc":"228394:9:19","nodeType":"YulBlock","src":"228394:9:19","statements":[{"nativeSrc":"228396:5:19","nodeType":"YulBreak","src":"228396:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"228382:6:19","nodeType":"YulIdentifier","src":"228382:6:19"},{"name":"w","nativeSrc":"228390:1:19","nodeType":"YulIdentifier","src":"228390:1:19"}],"functionName":{"name":"byte","nativeSrc":"228377:4:19","nodeType":"YulIdentifier","src":"228377:4:19"},"nativeSrc":"228377:15:19","nodeType":"YulFunctionCall","src":"228377:15:19"}],"functionName":{"name":"iszero","nativeSrc":"228370:6:19","nodeType":"YulIdentifier","src":"228370:6:19"},"nativeSrc":"228370:23:19","nodeType":"YulFunctionCall","src":"228370:23:19"},"nativeSrc":"228367:36:19","nodeType":"YulIf","src":"228367:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"228322:6:19","nodeType":"YulIdentifier","src":"228322:6:19"},{"kind":"number","nativeSrc":"228330:4:19","nodeType":"YulLiteral","src":"228330:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"228319:2:19","nodeType":"YulIdentifier","src":"228319:2:19"},"nativeSrc":"228319:16:19","nodeType":"YulFunctionCall","src":"228319:16:19"},"nativeSrc":"228312:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"228336:28:19","nodeType":"YulBlock","src":"228336:28:19","statements":[{"nativeSrc":"228338:24:19","nodeType":"YulAssignment","src":"228338:24:19","value":{"arguments":[{"name":"length","nativeSrc":"228352:6:19","nodeType":"YulIdentifier","src":"228352:6:19"},{"kind":"number","nativeSrc":"228360:1:19","nodeType":"YulLiteral","src":"228360:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"228348:3:19","nodeType":"YulIdentifier","src":"228348:3:19"},"nativeSrc":"228348:14:19","nodeType":"YulFunctionCall","src":"228348:14:19"},"variableNames":[{"name":"length","nativeSrc":"228338:6:19","nodeType":"YulIdentifier","src":"228338:6:19"}]}]},"pre":{"nativeSrc":"228316:2:19","nodeType":"YulBlock","src":"228316:2:19","statements":[]},"src":"228312:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"228429:3:19","nodeType":"YulIdentifier","src":"228429:3:19"},{"name":"length","nativeSrc":"228434:6:19","nodeType":"YulIdentifier","src":"228434:6:19"}],"functionName":{"name":"mstore","nativeSrc":"228422:6:19","nodeType":"YulIdentifier","src":"228422:6:19"},"nativeSrc":"228422:19:19","nodeType":"YulFunctionCall","src":"228422:19:19"},"nativeSrc":"228422:19:19","nodeType":"YulExpressionStatement","src":"228422:19:19"},{"nativeSrc":"228458:37:19","nodeType":"YulVariableDeclaration","src":"228458:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"228475:3:19","nodeType":"YulLiteral","src":"228475:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"228484:1:19","nodeType":"YulLiteral","src":"228484:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"228487:6:19","nodeType":"YulIdentifier","src":"228487:6:19"}],"functionName":{"name":"shl","nativeSrc":"228480:3:19","nodeType":"YulIdentifier","src":"228480:3:19"},"nativeSrc":"228480:14:19","nodeType":"YulFunctionCall","src":"228480:14:19"}],"functionName":{"name":"sub","nativeSrc":"228471:3:19","nodeType":"YulIdentifier","src":"228471:3:19"},"nativeSrc":"228471:24:19","nodeType":"YulFunctionCall","src":"228471:24:19"},"variables":[{"name":"shift","nativeSrc":"228462:5:19","nodeType":"YulTypedName","src":"228462:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"228523:3:19","nodeType":"YulIdentifier","src":"228523:3:19"},{"kind":"number","nativeSrc":"228528:4:19","nodeType":"YulLiteral","src":"228528:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"228519:3:19","nodeType":"YulIdentifier","src":"228519:3:19"},"nativeSrc":"228519:14:19","nodeType":"YulFunctionCall","src":"228519:14:19"},{"arguments":[{"name":"shift","nativeSrc":"228539:5:19","nodeType":"YulIdentifier","src":"228539:5:19"},{"arguments":[{"name":"shift","nativeSrc":"228550:5:19","nodeType":"YulIdentifier","src":"228550:5:19"},{"name":"w","nativeSrc":"228557:1:19","nodeType":"YulIdentifier","src":"228557:1:19"}],"functionName":{"name":"shr","nativeSrc":"228546:3:19","nodeType":"YulIdentifier","src":"228546:3:19"},"nativeSrc":"228546:13:19","nodeType":"YulFunctionCall","src":"228546:13:19"}],"functionName":{"name":"shl","nativeSrc":"228535:3:19","nodeType":"YulIdentifier","src":"228535:3:19"},"nativeSrc":"228535:25:19","nodeType":"YulFunctionCall","src":"228535:25:19"}],"functionName":{"name":"mstore","nativeSrc":"228512:6:19","nodeType":"YulIdentifier","src":"228512:6:19"},"nativeSrc":"228512:49:19","nodeType":"YulFunctionCall","src":"228512:49:19"},"nativeSrc":"228512:49:19","nodeType":"YulExpressionStatement","src":"228512:49:19"}]},"name":"writeString","nativeSrc":"228233:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"228254:3:19","nodeType":"YulTypedName","src":"228254:3:19","type":""},{"name":"w","nativeSrc":"228259:1:19","nodeType":"YulTypedName","src":"228259:1:19","type":""}],"src":"228233:342:19"},{"nativeSrc":"228588:17:19","nodeType":"YulAssignment","src":"228588:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"228600:4:19","nodeType":"YulLiteral","src":"228600:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"228594:5:19","nodeType":"YulIdentifier","src":"228594:5:19"},"nativeSrc":"228594:11:19","nodeType":"YulFunctionCall","src":"228594:11:19"},"variableNames":[{"name":"m0","nativeSrc":"228588:2:19","nodeType":"YulIdentifier","src":"228588:2:19"}]},{"nativeSrc":"228618:17:19","nodeType":"YulAssignment","src":"228618:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"228630:4:19","nodeType":"YulLiteral","src":"228630:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"228624:5:19","nodeType":"YulIdentifier","src":"228624:5:19"},"nativeSrc":"228624:11:19","nodeType":"YulFunctionCall","src":"228624:11:19"},"variableNames":[{"name":"m1","nativeSrc":"228618:2:19","nodeType":"YulIdentifier","src":"228618:2:19"}]},{"nativeSrc":"228648:17:19","nodeType":"YulAssignment","src":"228648:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"228660:4:19","nodeType":"YulLiteral","src":"228660:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"228654:5:19","nodeType":"YulIdentifier","src":"228654:5:19"},"nativeSrc":"228654:11:19","nodeType":"YulFunctionCall","src":"228654:11:19"},"variableNames":[{"name":"m2","nativeSrc":"228648:2:19","nodeType":"YulIdentifier","src":"228648:2:19"}]},{"nativeSrc":"228678:17:19","nodeType":"YulAssignment","src":"228678:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"228690:4:19","nodeType":"YulLiteral","src":"228690:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"228684:5:19","nodeType":"YulIdentifier","src":"228684:5:19"},"nativeSrc":"228684:11:19","nodeType":"YulFunctionCall","src":"228684:11:19"},"variableNames":[{"name":"m3","nativeSrc":"228678:2:19","nodeType":"YulIdentifier","src":"228678:2:19"}]},{"nativeSrc":"228708:17:19","nodeType":"YulAssignment","src":"228708:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"228720:4:19","nodeType":"YulLiteral","src":"228720:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"228714:5:19","nodeType":"YulIdentifier","src":"228714:5:19"},"nativeSrc":"228714:11:19","nodeType":"YulFunctionCall","src":"228714:11:19"},"variableNames":[{"name":"m4","nativeSrc":"228708:2:19","nodeType":"YulIdentifier","src":"228708:2:19"}]},{"nativeSrc":"228738:17:19","nodeType":"YulAssignment","src":"228738:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"228750:4:19","nodeType":"YulLiteral","src":"228750:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"228744:5:19","nodeType":"YulIdentifier","src":"228744:5:19"},"nativeSrc":"228744:11:19","nodeType":"YulFunctionCall","src":"228744:11:19"},"variableNames":[{"name":"m5","nativeSrc":"228738:2:19","nodeType":"YulIdentifier","src":"228738:2:19"}]},{"nativeSrc":"228768:17:19","nodeType":"YulAssignment","src":"228768:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"228780:4:19","nodeType":"YulLiteral","src":"228780:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"228774:5:19","nodeType":"YulIdentifier","src":"228774:5:19"},"nativeSrc":"228774:11:19","nodeType":"YulFunctionCall","src":"228774:11:19"},"variableNames":[{"name":"m6","nativeSrc":"228768:2:19","nodeType":"YulIdentifier","src":"228768:2:19"}]},{"nativeSrc":"228798:17:19","nodeType":"YulAssignment","src":"228798:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"228810:4:19","nodeType":"YulLiteral","src":"228810:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"228804:5:19","nodeType":"YulIdentifier","src":"228804:5:19"},"nativeSrc":"228804:11:19","nodeType":"YulFunctionCall","src":"228804:11:19"},"variableNames":[{"name":"m7","nativeSrc":"228798:2:19","nodeType":"YulIdentifier","src":"228798:2:19"}]},{"nativeSrc":"228828:18:19","nodeType":"YulAssignment","src":"228828:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"228840:5:19","nodeType":"YulLiteral","src":"228840:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"228834:5:19","nodeType":"YulIdentifier","src":"228834:5:19"},"nativeSrc":"228834:12:19","nodeType":"YulFunctionCall","src":"228834:12:19"},"variableNames":[{"name":"m8","nativeSrc":"228828:2:19","nodeType":"YulIdentifier","src":"228828:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"228928:4:19","nodeType":"YulLiteral","src":"228928:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"228934:10:19","nodeType":"YulLiteral","src":"228934:10:19","type":"","value":"0x12d6c788"}],"functionName":{"name":"mstore","nativeSrc":"228921:6:19","nodeType":"YulIdentifier","src":"228921:6:19"},"nativeSrc":"228921:24:19","nodeType":"YulFunctionCall","src":"228921:24:19"},"nativeSrc":"228921:24:19","nodeType":"YulExpressionStatement","src":"228921:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"228965:4:19","nodeType":"YulLiteral","src":"228965:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"228971:2:19","nodeType":"YulIdentifier","src":"228971:2:19"}],"functionName":{"name":"mstore","nativeSrc":"228958:6:19","nodeType":"YulIdentifier","src":"228958:6:19"},"nativeSrc":"228958:16:19","nodeType":"YulFunctionCall","src":"228958:16:19"},"nativeSrc":"228958:16:19","nodeType":"YulExpressionStatement","src":"228958:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"228994:4:19","nodeType":"YulLiteral","src":"228994:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"229000:4:19","nodeType":"YulLiteral","src":"229000:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"228987:6:19","nodeType":"YulIdentifier","src":"228987:6:19"},"nativeSrc":"228987:18:19","nodeType":"YulFunctionCall","src":"228987:18:19"},"nativeSrc":"228987:18:19","nodeType":"YulExpressionStatement","src":"228987:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229025:4:19","nodeType":"YulLiteral","src":"229025:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"229031:2:19","nodeType":"YulIdentifier","src":"229031:2:19"}],"functionName":{"name":"mstore","nativeSrc":"229018:6:19","nodeType":"YulIdentifier","src":"229018:6:19"},"nativeSrc":"229018:16:19","nodeType":"YulFunctionCall","src":"229018:16:19"},"nativeSrc":"229018:16:19","nodeType":"YulExpressionStatement","src":"229018:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229054:4:19","nodeType":"YulLiteral","src":"229054:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"229060:4:19","nodeType":"YulLiteral","src":"229060:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"229047:6:19","nodeType":"YulIdentifier","src":"229047:6:19"},"nativeSrc":"229047:18:19","nodeType":"YulFunctionCall","src":"229047:18:19"},"nativeSrc":"229047:18:19","nodeType":"YulExpressionStatement","src":"229047:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229090:4:19","nodeType":"YulLiteral","src":"229090:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"229096:2:19","nodeType":"YulIdentifier","src":"229096:2:19"}],"functionName":{"name":"writeString","nativeSrc":"229078:11:19","nodeType":"YulIdentifier","src":"229078:11:19"},"nativeSrc":"229078:21:19","nodeType":"YulFunctionCall","src":"229078:21:19"},"nativeSrc":"229078:21:19","nodeType":"YulExpressionStatement","src":"229078:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229124:4:19","nodeType":"YulLiteral","src":"229124:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"229130:2:19","nodeType":"YulIdentifier","src":"229130:2:19"}],"functionName":{"name":"writeString","nativeSrc":"229112:11:19","nodeType":"YulIdentifier","src":"229112:11:19"},"nativeSrc":"229112:21:19","nodeType":"YulFunctionCall","src":"229112:21:19"},"nativeSrc":"229112:21:19","nodeType":"YulExpressionStatement","src":"229112:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33490,"isOffset":false,"isSlot":false,"src":"228588:2:19","valueSize":1},{"declaration":33493,"isOffset":false,"isSlot":false,"src":"228618:2:19","valueSize":1},{"declaration":33496,"isOffset":false,"isSlot":false,"src":"228648:2:19","valueSize":1},{"declaration":33499,"isOffset":false,"isSlot":false,"src":"228678:2:19","valueSize":1},{"declaration":33502,"isOffset":false,"isSlot":false,"src":"228708:2:19","valueSize":1},{"declaration":33505,"isOffset":false,"isSlot":false,"src":"228738:2:19","valueSize":1},{"declaration":33508,"isOffset":false,"isSlot":false,"src":"228768:2:19","valueSize":1},{"declaration":33511,"isOffset":false,"isSlot":false,"src":"228798:2:19","valueSize":1},{"declaration":33514,"isOffset":false,"isSlot":false,"src":"228828:2:19","valueSize":1},{"declaration":33480,"isOffset":false,"isSlot":false,"src":"228971:2:19","valueSize":1},{"declaration":33482,"isOffset":false,"isSlot":false,"src":"229096:2:19","valueSize":1},{"declaration":33484,"isOffset":false,"isSlot":false,"src":"229031:2:19","valueSize":1},{"declaration":33486,"isOffset":false,"isSlot":false,"src":"229130:2:19","valueSize":1}],"id":33516,"nodeType":"InlineAssembly","src":"228210:933:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"229168:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":33519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"229174:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":33517,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"229152:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"229152:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33521,"nodeType":"ExpressionStatement","src":"229152:28:19"},{"AST":{"nativeSrc":"229242:273:19","nodeType":"YulBlock","src":"229242:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"229263:4:19","nodeType":"YulLiteral","src":"229263:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"229269:2:19","nodeType":"YulIdentifier","src":"229269:2:19"}],"functionName":{"name":"mstore","nativeSrc":"229256:6:19","nodeType":"YulIdentifier","src":"229256:6:19"},"nativeSrc":"229256:16:19","nodeType":"YulFunctionCall","src":"229256:16:19"},"nativeSrc":"229256:16:19","nodeType":"YulExpressionStatement","src":"229256:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229292:4:19","nodeType":"YulLiteral","src":"229292:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"229298:2:19","nodeType":"YulIdentifier","src":"229298:2:19"}],"functionName":{"name":"mstore","nativeSrc":"229285:6:19","nodeType":"YulIdentifier","src":"229285:6:19"},"nativeSrc":"229285:16:19","nodeType":"YulFunctionCall","src":"229285:16:19"},"nativeSrc":"229285:16:19","nodeType":"YulExpressionStatement","src":"229285:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229321:4:19","nodeType":"YulLiteral","src":"229321:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"229327:2:19","nodeType":"YulIdentifier","src":"229327:2:19"}],"functionName":{"name":"mstore","nativeSrc":"229314:6:19","nodeType":"YulIdentifier","src":"229314:6:19"},"nativeSrc":"229314:16:19","nodeType":"YulFunctionCall","src":"229314:16:19"},"nativeSrc":"229314:16:19","nodeType":"YulExpressionStatement","src":"229314:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229350:4:19","nodeType":"YulLiteral","src":"229350:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"229356:2:19","nodeType":"YulIdentifier","src":"229356:2:19"}],"functionName":{"name":"mstore","nativeSrc":"229343:6:19","nodeType":"YulIdentifier","src":"229343:6:19"},"nativeSrc":"229343:16:19","nodeType":"YulFunctionCall","src":"229343:16:19"},"nativeSrc":"229343:16:19","nodeType":"YulExpressionStatement","src":"229343:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229379:4:19","nodeType":"YulLiteral","src":"229379:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"229385:2:19","nodeType":"YulIdentifier","src":"229385:2:19"}],"functionName":{"name":"mstore","nativeSrc":"229372:6:19","nodeType":"YulIdentifier","src":"229372:6:19"},"nativeSrc":"229372:16:19","nodeType":"YulFunctionCall","src":"229372:16:19"},"nativeSrc":"229372:16:19","nodeType":"YulExpressionStatement","src":"229372:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229408:4:19","nodeType":"YulLiteral","src":"229408:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"229414:2:19","nodeType":"YulIdentifier","src":"229414:2:19"}],"functionName":{"name":"mstore","nativeSrc":"229401:6:19","nodeType":"YulIdentifier","src":"229401:6:19"},"nativeSrc":"229401:16:19","nodeType":"YulFunctionCall","src":"229401:16:19"},"nativeSrc":"229401:16:19","nodeType":"YulExpressionStatement","src":"229401:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229437:4:19","nodeType":"YulLiteral","src":"229437:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"229443:2:19","nodeType":"YulIdentifier","src":"229443:2:19"}],"functionName":{"name":"mstore","nativeSrc":"229430:6:19","nodeType":"YulIdentifier","src":"229430:6:19"},"nativeSrc":"229430:16:19","nodeType":"YulFunctionCall","src":"229430:16:19"},"nativeSrc":"229430:16:19","nodeType":"YulExpressionStatement","src":"229430:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229466:4:19","nodeType":"YulLiteral","src":"229466:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"229472:2:19","nodeType":"YulIdentifier","src":"229472:2:19"}],"functionName":{"name":"mstore","nativeSrc":"229459:6:19","nodeType":"YulIdentifier","src":"229459:6:19"},"nativeSrc":"229459:16:19","nodeType":"YulFunctionCall","src":"229459:16:19"},"nativeSrc":"229459:16:19","nodeType":"YulExpressionStatement","src":"229459:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"229495:5:19","nodeType":"YulLiteral","src":"229495:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"229502:2:19","nodeType":"YulIdentifier","src":"229502:2:19"}],"functionName":{"name":"mstore","nativeSrc":"229488:6:19","nodeType":"YulIdentifier","src":"229488:6:19"},"nativeSrc":"229488:17:19","nodeType":"YulFunctionCall","src":"229488:17:19"},"nativeSrc":"229488:17:19","nodeType":"YulExpressionStatement","src":"229488:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33490,"isOffset":false,"isSlot":false,"src":"229269:2:19","valueSize":1},{"declaration":33493,"isOffset":false,"isSlot":false,"src":"229298:2:19","valueSize":1},{"declaration":33496,"isOffset":false,"isSlot":false,"src":"229327:2:19","valueSize":1},{"declaration":33499,"isOffset":false,"isSlot":false,"src":"229356:2:19","valueSize":1},{"declaration":33502,"isOffset":false,"isSlot":false,"src":"229385:2:19","valueSize":1},{"declaration":33505,"isOffset":false,"isSlot":false,"src":"229414:2:19","valueSize":1},{"declaration":33508,"isOffset":false,"isSlot":false,"src":"229443:2:19","valueSize":1},{"declaration":33511,"isOffset":false,"isSlot":false,"src":"229472:2:19","valueSize":1},{"declaration":33514,"isOffset":false,"isSlot":false,"src":"229502:2:19","valueSize":1}],"id":33522,"nodeType":"InlineAssembly","src":"229233:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"227914:3:19","parameters":{"id":33487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33480,"mutability":"mutable","name":"p0","nameLocation":"227923:2:19","nodeType":"VariableDeclaration","scope":33524,"src":"227918:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33479,"name":"bool","nodeType":"ElementaryTypeName","src":"227918:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33482,"mutability":"mutable","name":"p1","nameLocation":"227935:2:19","nodeType":"VariableDeclaration","scope":33524,"src":"227927:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33481,"name":"bytes32","nodeType":"ElementaryTypeName","src":"227927:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33484,"mutability":"mutable","name":"p2","nameLocation":"227947:2:19","nodeType":"VariableDeclaration","scope":33524,"src":"227939:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33483,"name":"address","nodeType":"ElementaryTypeName","src":"227939:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33486,"mutability":"mutable","name":"p3","nameLocation":"227959:2:19","nodeType":"VariableDeclaration","scope":33524,"src":"227951:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33485,"name":"bytes32","nodeType":"ElementaryTypeName","src":"227951:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"227917:45:19"},"returnParameters":{"id":33488,"nodeType":"ParameterList","parameters":[],"src":"227977:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33564,"nodeType":"FunctionDefinition","src":"229527:1414:19","nodes":[],"body":{"id":33563,"nodeType":"Block","src":"229596:1345:19","nodes":[],"statements":[{"assignments":[33536],"declarations":[{"constant":false,"id":33536,"mutability":"mutable","name":"m0","nameLocation":"229614:2:19","nodeType":"VariableDeclaration","scope":33563,"src":"229606:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33535,"name":"bytes32","nodeType":"ElementaryTypeName","src":"229606:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33537,"nodeType":"VariableDeclarationStatement","src":"229606:10:19"},{"assignments":[33539],"declarations":[{"constant":false,"id":33539,"mutability":"mutable","name":"m1","nameLocation":"229634:2:19","nodeType":"VariableDeclaration","scope":33563,"src":"229626:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33538,"name":"bytes32","nodeType":"ElementaryTypeName","src":"229626:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33540,"nodeType":"VariableDeclarationStatement","src":"229626:10:19"},{"assignments":[33542],"declarations":[{"constant":false,"id":33542,"mutability":"mutable","name":"m2","nameLocation":"229654:2:19","nodeType":"VariableDeclaration","scope":33563,"src":"229646:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33541,"name":"bytes32","nodeType":"ElementaryTypeName","src":"229646:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33543,"nodeType":"VariableDeclarationStatement","src":"229646:10:19"},{"assignments":[33545],"declarations":[{"constant":false,"id":33545,"mutability":"mutable","name":"m3","nameLocation":"229674:2:19","nodeType":"VariableDeclaration","scope":33563,"src":"229666:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33544,"name":"bytes32","nodeType":"ElementaryTypeName","src":"229666:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33546,"nodeType":"VariableDeclarationStatement","src":"229666:10:19"},{"assignments":[33548],"declarations":[{"constant":false,"id":33548,"mutability":"mutable","name":"m4","nameLocation":"229694:2:19","nodeType":"VariableDeclaration","scope":33563,"src":"229686:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33547,"name":"bytes32","nodeType":"ElementaryTypeName","src":"229686:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33549,"nodeType":"VariableDeclarationStatement","src":"229686:10:19"},{"assignments":[33551],"declarations":[{"constant":false,"id":33551,"mutability":"mutable","name":"m5","nameLocation":"229714:2:19","nodeType":"VariableDeclaration","scope":33563,"src":"229706:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33550,"name":"bytes32","nodeType":"ElementaryTypeName","src":"229706:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33552,"nodeType":"VariableDeclarationStatement","src":"229706:10:19"},{"assignments":[33554],"declarations":[{"constant":false,"id":33554,"mutability":"mutable","name":"m6","nameLocation":"229734:2:19","nodeType":"VariableDeclaration","scope":33563,"src":"229726:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33553,"name":"bytes32","nodeType":"ElementaryTypeName","src":"229726:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33555,"nodeType":"VariableDeclarationStatement","src":"229726:10:19"},{"AST":{"nativeSrc":"229798:825:19","nodeType":"YulBlock","src":"229798:825:19","statements":[{"body":{"nativeSrc":"229841:313:19","nodeType":"YulBlock","src":"229841:313:19","statements":[{"nativeSrc":"229859:15:19","nodeType":"YulVariableDeclaration","src":"229859:15:19","value":{"kind":"number","nativeSrc":"229873:1:19","nodeType":"YulLiteral","src":"229873:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"229863:6:19","nodeType":"YulTypedName","src":"229863:6:19","type":""}]},{"body":{"nativeSrc":"229944:40:19","nodeType":"YulBlock","src":"229944:40:19","statements":[{"body":{"nativeSrc":"229973:9:19","nodeType":"YulBlock","src":"229973:9:19","statements":[{"nativeSrc":"229975:5:19","nodeType":"YulBreak","src":"229975:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"229961:6:19","nodeType":"YulIdentifier","src":"229961:6:19"},{"name":"w","nativeSrc":"229969:1:19","nodeType":"YulIdentifier","src":"229969:1:19"}],"functionName":{"name":"byte","nativeSrc":"229956:4:19","nodeType":"YulIdentifier","src":"229956:4:19"},"nativeSrc":"229956:15:19","nodeType":"YulFunctionCall","src":"229956:15:19"}],"functionName":{"name":"iszero","nativeSrc":"229949:6:19","nodeType":"YulIdentifier","src":"229949:6:19"},"nativeSrc":"229949:23:19","nodeType":"YulFunctionCall","src":"229949:23:19"},"nativeSrc":"229946:36:19","nodeType":"YulIf","src":"229946:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"229901:6:19","nodeType":"YulIdentifier","src":"229901:6:19"},{"kind":"number","nativeSrc":"229909:4:19","nodeType":"YulLiteral","src":"229909:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"229898:2:19","nodeType":"YulIdentifier","src":"229898:2:19"},"nativeSrc":"229898:16:19","nodeType":"YulFunctionCall","src":"229898:16:19"},"nativeSrc":"229891:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"229915:28:19","nodeType":"YulBlock","src":"229915:28:19","statements":[{"nativeSrc":"229917:24:19","nodeType":"YulAssignment","src":"229917:24:19","value":{"arguments":[{"name":"length","nativeSrc":"229931:6:19","nodeType":"YulIdentifier","src":"229931:6:19"},{"kind":"number","nativeSrc":"229939:1:19","nodeType":"YulLiteral","src":"229939:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"229927:3:19","nodeType":"YulIdentifier","src":"229927:3:19"},"nativeSrc":"229927:14:19","nodeType":"YulFunctionCall","src":"229927:14:19"},"variableNames":[{"name":"length","nativeSrc":"229917:6:19","nodeType":"YulIdentifier","src":"229917:6:19"}]}]},"pre":{"nativeSrc":"229895:2:19","nodeType":"YulBlock","src":"229895:2:19","statements":[]},"src":"229891:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"230008:3:19","nodeType":"YulIdentifier","src":"230008:3:19"},{"name":"length","nativeSrc":"230013:6:19","nodeType":"YulIdentifier","src":"230013:6:19"}],"functionName":{"name":"mstore","nativeSrc":"230001:6:19","nodeType":"YulIdentifier","src":"230001:6:19"},"nativeSrc":"230001:19:19","nodeType":"YulFunctionCall","src":"230001:19:19"},"nativeSrc":"230001:19:19","nodeType":"YulExpressionStatement","src":"230001:19:19"},{"nativeSrc":"230037:37:19","nodeType":"YulVariableDeclaration","src":"230037:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"230054:3:19","nodeType":"YulLiteral","src":"230054:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"230063:1:19","nodeType":"YulLiteral","src":"230063:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"230066:6:19","nodeType":"YulIdentifier","src":"230066:6:19"}],"functionName":{"name":"shl","nativeSrc":"230059:3:19","nodeType":"YulIdentifier","src":"230059:3:19"},"nativeSrc":"230059:14:19","nodeType":"YulFunctionCall","src":"230059:14:19"}],"functionName":{"name":"sub","nativeSrc":"230050:3:19","nodeType":"YulIdentifier","src":"230050:3:19"},"nativeSrc":"230050:24:19","nodeType":"YulFunctionCall","src":"230050:24:19"},"variables":[{"name":"shift","nativeSrc":"230041:5:19","nodeType":"YulTypedName","src":"230041:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"230102:3:19","nodeType":"YulIdentifier","src":"230102:3:19"},{"kind":"number","nativeSrc":"230107:4:19","nodeType":"YulLiteral","src":"230107:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"230098:3:19","nodeType":"YulIdentifier","src":"230098:3:19"},"nativeSrc":"230098:14:19","nodeType":"YulFunctionCall","src":"230098:14:19"},{"arguments":[{"name":"shift","nativeSrc":"230118:5:19","nodeType":"YulIdentifier","src":"230118:5:19"},{"arguments":[{"name":"shift","nativeSrc":"230129:5:19","nodeType":"YulIdentifier","src":"230129:5:19"},{"name":"w","nativeSrc":"230136:1:19","nodeType":"YulIdentifier","src":"230136:1:19"}],"functionName":{"name":"shr","nativeSrc":"230125:3:19","nodeType":"YulIdentifier","src":"230125:3:19"},"nativeSrc":"230125:13:19","nodeType":"YulFunctionCall","src":"230125:13:19"}],"functionName":{"name":"shl","nativeSrc":"230114:3:19","nodeType":"YulIdentifier","src":"230114:3:19"},"nativeSrc":"230114:25:19","nodeType":"YulFunctionCall","src":"230114:25:19"}],"functionName":{"name":"mstore","nativeSrc":"230091:6:19","nodeType":"YulIdentifier","src":"230091:6:19"},"nativeSrc":"230091:49:19","nodeType":"YulFunctionCall","src":"230091:49:19"},"nativeSrc":"230091:49:19","nodeType":"YulExpressionStatement","src":"230091:49:19"}]},"name":"writeString","nativeSrc":"229812:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"229833:3:19","nodeType":"YulTypedName","src":"229833:3:19","type":""},{"name":"w","nativeSrc":"229838:1:19","nodeType":"YulTypedName","src":"229838:1:19","type":""}],"src":"229812:342:19"},{"nativeSrc":"230167:17:19","nodeType":"YulAssignment","src":"230167:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"230179:4:19","nodeType":"YulLiteral","src":"230179:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"230173:5:19","nodeType":"YulIdentifier","src":"230173:5:19"},"nativeSrc":"230173:11:19","nodeType":"YulFunctionCall","src":"230173:11:19"},"variableNames":[{"name":"m0","nativeSrc":"230167:2:19","nodeType":"YulIdentifier","src":"230167:2:19"}]},{"nativeSrc":"230197:17:19","nodeType":"YulAssignment","src":"230197:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"230209:4:19","nodeType":"YulLiteral","src":"230209:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"230203:5:19","nodeType":"YulIdentifier","src":"230203:5:19"},"nativeSrc":"230203:11:19","nodeType":"YulFunctionCall","src":"230203:11:19"},"variableNames":[{"name":"m1","nativeSrc":"230197:2:19","nodeType":"YulIdentifier","src":"230197:2:19"}]},{"nativeSrc":"230227:17:19","nodeType":"YulAssignment","src":"230227:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"230239:4:19","nodeType":"YulLiteral","src":"230239:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"230233:5:19","nodeType":"YulIdentifier","src":"230233:5:19"},"nativeSrc":"230233:11:19","nodeType":"YulFunctionCall","src":"230233:11:19"},"variableNames":[{"name":"m2","nativeSrc":"230227:2:19","nodeType":"YulIdentifier","src":"230227:2:19"}]},{"nativeSrc":"230257:17:19","nodeType":"YulAssignment","src":"230257:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"230269:4:19","nodeType":"YulLiteral","src":"230269:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"230263:5:19","nodeType":"YulIdentifier","src":"230263:5:19"},"nativeSrc":"230263:11:19","nodeType":"YulFunctionCall","src":"230263:11:19"},"variableNames":[{"name":"m3","nativeSrc":"230257:2:19","nodeType":"YulIdentifier","src":"230257:2:19"}]},{"nativeSrc":"230287:17:19","nodeType":"YulAssignment","src":"230287:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"230299:4:19","nodeType":"YulLiteral","src":"230299:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"230293:5:19","nodeType":"YulIdentifier","src":"230293:5:19"},"nativeSrc":"230293:11:19","nodeType":"YulFunctionCall","src":"230293:11:19"},"variableNames":[{"name":"m4","nativeSrc":"230287:2:19","nodeType":"YulIdentifier","src":"230287:2:19"}]},{"nativeSrc":"230317:17:19","nodeType":"YulAssignment","src":"230317:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"230329:4:19","nodeType":"YulLiteral","src":"230329:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"230323:5:19","nodeType":"YulIdentifier","src":"230323:5:19"},"nativeSrc":"230323:11:19","nodeType":"YulFunctionCall","src":"230323:11:19"},"variableNames":[{"name":"m5","nativeSrc":"230317:2:19","nodeType":"YulIdentifier","src":"230317:2:19"}]},{"nativeSrc":"230347:17:19","nodeType":"YulAssignment","src":"230347:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"230359:4:19","nodeType":"YulLiteral","src":"230359:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"230353:5:19","nodeType":"YulIdentifier","src":"230353:5:19"},"nativeSrc":"230353:11:19","nodeType":"YulFunctionCall","src":"230353:11:19"},"variableNames":[{"name":"m6","nativeSrc":"230347:2:19","nodeType":"YulIdentifier","src":"230347:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230444:4:19","nodeType":"YulLiteral","src":"230444:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"230450:10:19","nodeType":"YulLiteral","src":"230450:10:19","type":"","value":"0x538e06ab"}],"functionName":{"name":"mstore","nativeSrc":"230437:6:19","nodeType":"YulIdentifier","src":"230437:6:19"},"nativeSrc":"230437:24:19","nodeType":"YulFunctionCall","src":"230437:24:19"},"nativeSrc":"230437:24:19","nodeType":"YulExpressionStatement","src":"230437:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230481:4:19","nodeType":"YulLiteral","src":"230481:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"230487:2:19","nodeType":"YulIdentifier","src":"230487:2:19"}],"functionName":{"name":"mstore","nativeSrc":"230474:6:19","nodeType":"YulIdentifier","src":"230474:6:19"},"nativeSrc":"230474:16:19","nodeType":"YulFunctionCall","src":"230474:16:19"},"nativeSrc":"230474:16:19","nodeType":"YulExpressionStatement","src":"230474:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230510:4:19","nodeType":"YulLiteral","src":"230510:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"230516:4:19","nodeType":"YulLiteral","src":"230516:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"230503:6:19","nodeType":"YulIdentifier","src":"230503:6:19"},"nativeSrc":"230503:18:19","nodeType":"YulFunctionCall","src":"230503:18:19"},"nativeSrc":"230503:18:19","nodeType":"YulExpressionStatement","src":"230503:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230541:4:19","nodeType":"YulLiteral","src":"230541:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"230547:2:19","nodeType":"YulIdentifier","src":"230547:2:19"}],"functionName":{"name":"mstore","nativeSrc":"230534:6:19","nodeType":"YulIdentifier","src":"230534:6:19"},"nativeSrc":"230534:16:19","nodeType":"YulFunctionCall","src":"230534:16:19"},"nativeSrc":"230534:16:19","nodeType":"YulExpressionStatement","src":"230534:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230570:4:19","nodeType":"YulLiteral","src":"230570:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"230576:2:19","nodeType":"YulIdentifier","src":"230576:2:19"}],"functionName":{"name":"mstore","nativeSrc":"230563:6:19","nodeType":"YulIdentifier","src":"230563:6:19"},"nativeSrc":"230563:16:19","nodeType":"YulFunctionCall","src":"230563:16:19"},"nativeSrc":"230563:16:19","nodeType":"YulExpressionStatement","src":"230563:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230604:4:19","nodeType":"YulLiteral","src":"230604:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"230610:2:19","nodeType":"YulIdentifier","src":"230610:2:19"}],"functionName":{"name":"writeString","nativeSrc":"230592:11:19","nodeType":"YulIdentifier","src":"230592:11:19"},"nativeSrc":"230592:21:19","nodeType":"YulFunctionCall","src":"230592:21:19"},"nativeSrc":"230592:21:19","nodeType":"YulExpressionStatement","src":"230592:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33536,"isOffset":false,"isSlot":false,"src":"230167:2:19","valueSize":1},{"declaration":33539,"isOffset":false,"isSlot":false,"src":"230197:2:19","valueSize":1},{"declaration":33542,"isOffset":false,"isSlot":false,"src":"230227:2:19","valueSize":1},{"declaration":33545,"isOffset":false,"isSlot":false,"src":"230257:2:19","valueSize":1},{"declaration":33548,"isOffset":false,"isSlot":false,"src":"230287:2:19","valueSize":1},{"declaration":33551,"isOffset":false,"isSlot":false,"src":"230317:2:19","valueSize":1},{"declaration":33554,"isOffset":false,"isSlot":false,"src":"230347:2:19","valueSize":1},{"declaration":33526,"isOffset":false,"isSlot":false,"src":"230487:2:19","valueSize":1},{"declaration":33528,"isOffset":false,"isSlot":false,"src":"230610:2:19","valueSize":1},{"declaration":33530,"isOffset":false,"isSlot":false,"src":"230547:2:19","valueSize":1},{"declaration":33532,"isOffset":false,"isSlot":false,"src":"230576:2:19","valueSize":1}],"id":33556,"nodeType":"InlineAssembly","src":"229789:834:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"230648:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"230654:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33557,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"230632:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"230632:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33561,"nodeType":"ExpressionStatement","src":"230632:27:19"},{"AST":{"nativeSrc":"230721:214:19","nodeType":"YulBlock","src":"230721:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"230742:4:19","nodeType":"YulLiteral","src":"230742:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"230748:2:19","nodeType":"YulIdentifier","src":"230748:2:19"}],"functionName":{"name":"mstore","nativeSrc":"230735:6:19","nodeType":"YulIdentifier","src":"230735:6:19"},"nativeSrc":"230735:16:19","nodeType":"YulFunctionCall","src":"230735:16:19"},"nativeSrc":"230735:16:19","nodeType":"YulExpressionStatement","src":"230735:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230771:4:19","nodeType":"YulLiteral","src":"230771:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"230777:2:19","nodeType":"YulIdentifier","src":"230777:2:19"}],"functionName":{"name":"mstore","nativeSrc":"230764:6:19","nodeType":"YulIdentifier","src":"230764:6:19"},"nativeSrc":"230764:16:19","nodeType":"YulFunctionCall","src":"230764:16:19"},"nativeSrc":"230764:16:19","nodeType":"YulExpressionStatement","src":"230764:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230800:4:19","nodeType":"YulLiteral","src":"230800:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"230806:2:19","nodeType":"YulIdentifier","src":"230806:2:19"}],"functionName":{"name":"mstore","nativeSrc":"230793:6:19","nodeType":"YulIdentifier","src":"230793:6:19"},"nativeSrc":"230793:16:19","nodeType":"YulFunctionCall","src":"230793:16:19"},"nativeSrc":"230793:16:19","nodeType":"YulExpressionStatement","src":"230793:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230829:4:19","nodeType":"YulLiteral","src":"230829:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"230835:2:19","nodeType":"YulIdentifier","src":"230835:2:19"}],"functionName":{"name":"mstore","nativeSrc":"230822:6:19","nodeType":"YulIdentifier","src":"230822:6:19"},"nativeSrc":"230822:16:19","nodeType":"YulFunctionCall","src":"230822:16:19"},"nativeSrc":"230822:16:19","nodeType":"YulExpressionStatement","src":"230822:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230858:4:19","nodeType":"YulLiteral","src":"230858:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"230864:2:19","nodeType":"YulIdentifier","src":"230864:2:19"}],"functionName":{"name":"mstore","nativeSrc":"230851:6:19","nodeType":"YulIdentifier","src":"230851:6:19"},"nativeSrc":"230851:16:19","nodeType":"YulFunctionCall","src":"230851:16:19"},"nativeSrc":"230851:16:19","nodeType":"YulExpressionStatement","src":"230851:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230887:4:19","nodeType":"YulLiteral","src":"230887:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"230893:2:19","nodeType":"YulIdentifier","src":"230893:2:19"}],"functionName":{"name":"mstore","nativeSrc":"230880:6:19","nodeType":"YulIdentifier","src":"230880:6:19"},"nativeSrc":"230880:16:19","nodeType":"YulFunctionCall","src":"230880:16:19"},"nativeSrc":"230880:16:19","nodeType":"YulExpressionStatement","src":"230880:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"230916:4:19","nodeType":"YulLiteral","src":"230916:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"230922:2:19","nodeType":"YulIdentifier","src":"230922:2:19"}],"functionName":{"name":"mstore","nativeSrc":"230909:6:19","nodeType":"YulIdentifier","src":"230909:6:19"},"nativeSrc":"230909:16:19","nodeType":"YulFunctionCall","src":"230909:16:19"},"nativeSrc":"230909:16:19","nodeType":"YulExpressionStatement","src":"230909:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33536,"isOffset":false,"isSlot":false,"src":"230748:2:19","valueSize":1},{"declaration":33539,"isOffset":false,"isSlot":false,"src":"230777:2:19","valueSize":1},{"declaration":33542,"isOffset":false,"isSlot":false,"src":"230806:2:19","valueSize":1},{"declaration":33545,"isOffset":false,"isSlot":false,"src":"230835:2:19","valueSize":1},{"declaration":33548,"isOffset":false,"isSlot":false,"src":"230864:2:19","valueSize":1},{"declaration":33551,"isOffset":false,"isSlot":false,"src":"230893:2:19","valueSize":1},{"declaration":33554,"isOffset":false,"isSlot":false,"src":"230922:2:19","valueSize":1}],"id":33562,"nodeType":"InlineAssembly","src":"230712:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"229536:3:19","parameters":{"id":33533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33526,"mutability":"mutable","name":"p0","nameLocation":"229545:2:19","nodeType":"VariableDeclaration","scope":33564,"src":"229540:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33525,"name":"bool","nodeType":"ElementaryTypeName","src":"229540:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33528,"mutability":"mutable","name":"p1","nameLocation":"229557:2:19","nodeType":"VariableDeclaration","scope":33564,"src":"229549:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33527,"name":"bytes32","nodeType":"ElementaryTypeName","src":"229549:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33530,"mutability":"mutable","name":"p2","nameLocation":"229566:2:19","nodeType":"VariableDeclaration","scope":33564,"src":"229561:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33529,"name":"bool","nodeType":"ElementaryTypeName","src":"229561:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33532,"mutability":"mutable","name":"p3","nameLocation":"229578:2:19","nodeType":"VariableDeclaration","scope":33564,"src":"229570:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33531,"name":"address","nodeType":"ElementaryTypeName","src":"229570:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"229539:42:19"},"returnParameters":{"id":33534,"nodeType":"ParameterList","parameters":[],"src":"229596:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33604,"nodeType":"FunctionDefinition","src":"230947:1408:19","nodes":[],"body":{"id":33603,"nodeType":"Block","src":"231013:1342:19","nodes":[],"statements":[{"assignments":[33576],"declarations":[{"constant":false,"id":33576,"mutability":"mutable","name":"m0","nameLocation":"231031:2:19","nodeType":"VariableDeclaration","scope":33603,"src":"231023:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33575,"name":"bytes32","nodeType":"ElementaryTypeName","src":"231023:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33577,"nodeType":"VariableDeclarationStatement","src":"231023:10:19"},{"assignments":[33579],"declarations":[{"constant":false,"id":33579,"mutability":"mutable","name":"m1","nameLocation":"231051:2:19","nodeType":"VariableDeclaration","scope":33603,"src":"231043:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33578,"name":"bytes32","nodeType":"ElementaryTypeName","src":"231043:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33580,"nodeType":"VariableDeclarationStatement","src":"231043:10:19"},{"assignments":[33582],"declarations":[{"constant":false,"id":33582,"mutability":"mutable","name":"m2","nameLocation":"231071:2:19","nodeType":"VariableDeclaration","scope":33603,"src":"231063:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33581,"name":"bytes32","nodeType":"ElementaryTypeName","src":"231063:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33583,"nodeType":"VariableDeclarationStatement","src":"231063:10:19"},{"assignments":[33585],"declarations":[{"constant":false,"id":33585,"mutability":"mutable","name":"m3","nameLocation":"231091:2:19","nodeType":"VariableDeclaration","scope":33603,"src":"231083:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33584,"name":"bytes32","nodeType":"ElementaryTypeName","src":"231083:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33586,"nodeType":"VariableDeclarationStatement","src":"231083:10:19"},{"assignments":[33588],"declarations":[{"constant":false,"id":33588,"mutability":"mutable","name":"m4","nameLocation":"231111:2:19","nodeType":"VariableDeclaration","scope":33603,"src":"231103:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33587,"name":"bytes32","nodeType":"ElementaryTypeName","src":"231103:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33589,"nodeType":"VariableDeclarationStatement","src":"231103:10:19"},{"assignments":[33591],"declarations":[{"constant":false,"id":33591,"mutability":"mutable","name":"m5","nameLocation":"231131:2:19","nodeType":"VariableDeclaration","scope":33603,"src":"231123:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33590,"name":"bytes32","nodeType":"ElementaryTypeName","src":"231123:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33592,"nodeType":"VariableDeclarationStatement","src":"231123:10:19"},{"assignments":[33594],"declarations":[{"constant":false,"id":33594,"mutability":"mutable","name":"m6","nameLocation":"231151:2:19","nodeType":"VariableDeclaration","scope":33603,"src":"231143:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33593,"name":"bytes32","nodeType":"ElementaryTypeName","src":"231143:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33595,"nodeType":"VariableDeclarationStatement","src":"231143:10:19"},{"AST":{"nativeSrc":"231215:822:19","nodeType":"YulBlock","src":"231215:822:19","statements":[{"body":{"nativeSrc":"231258:313:19","nodeType":"YulBlock","src":"231258:313:19","statements":[{"nativeSrc":"231276:15:19","nodeType":"YulVariableDeclaration","src":"231276:15:19","value":{"kind":"number","nativeSrc":"231290:1:19","nodeType":"YulLiteral","src":"231290:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"231280:6:19","nodeType":"YulTypedName","src":"231280:6:19","type":""}]},{"body":{"nativeSrc":"231361:40:19","nodeType":"YulBlock","src":"231361:40:19","statements":[{"body":{"nativeSrc":"231390:9:19","nodeType":"YulBlock","src":"231390:9:19","statements":[{"nativeSrc":"231392:5:19","nodeType":"YulBreak","src":"231392:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"231378:6:19","nodeType":"YulIdentifier","src":"231378:6:19"},{"name":"w","nativeSrc":"231386:1:19","nodeType":"YulIdentifier","src":"231386:1:19"}],"functionName":{"name":"byte","nativeSrc":"231373:4:19","nodeType":"YulIdentifier","src":"231373:4:19"},"nativeSrc":"231373:15:19","nodeType":"YulFunctionCall","src":"231373:15:19"}],"functionName":{"name":"iszero","nativeSrc":"231366:6:19","nodeType":"YulIdentifier","src":"231366:6:19"},"nativeSrc":"231366:23:19","nodeType":"YulFunctionCall","src":"231366:23:19"},"nativeSrc":"231363:36:19","nodeType":"YulIf","src":"231363:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"231318:6:19","nodeType":"YulIdentifier","src":"231318:6:19"},{"kind":"number","nativeSrc":"231326:4:19","nodeType":"YulLiteral","src":"231326:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"231315:2:19","nodeType":"YulIdentifier","src":"231315:2:19"},"nativeSrc":"231315:16:19","nodeType":"YulFunctionCall","src":"231315:16:19"},"nativeSrc":"231308:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"231332:28:19","nodeType":"YulBlock","src":"231332:28:19","statements":[{"nativeSrc":"231334:24:19","nodeType":"YulAssignment","src":"231334:24:19","value":{"arguments":[{"name":"length","nativeSrc":"231348:6:19","nodeType":"YulIdentifier","src":"231348:6:19"},{"kind":"number","nativeSrc":"231356:1:19","nodeType":"YulLiteral","src":"231356:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"231344:3:19","nodeType":"YulIdentifier","src":"231344:3:19"},"nativeSrc":"231344:14:19","nodeType":"YulFunctionCall","src":"231344:14:19"},"variableNames":[{"name":"length","nativeSrc":"231334:6:19","nodeType":"YulIdentifier","src":"231334:6:19"}]}]},"pre":{"nativeSrc":"231312:2:19","nodeType":"YulBlock","src":"231312:2:19","statements":[]},"src":"231308:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"231425:3:19","nodeType":"YulIdentifier","src":"231425:3:19"},{"name":"length","nativeSrc":"231430:6:19","nodeType":"YulIdentifier","src":"231430:6:19"}],"functionName":{"name":"mstore","nativeSrc":"231418:6:19","nodeType":"YulIdentifier","src":"231418:6:19"},"nativeSrc":"231418:19:19","nodeType":"YulFunctionCall","src":"231418:19:19"},"nativeSrc":"231418:19:19","nodeType":"YulExpressionStatement","src":"231418:19:19"},{"nativeSrc":"231454:37:19","nodeType":"YulVariableDeclaration","src":"231454:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"231471:3:19","nodeType":"YulLiteral","src":"231471:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"231480:1:19","nodeType":"YulLiteral","src":"231480:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"231483:6:19","nodeType":"YulIdentifier","src":"231483:6:19"}],"functionName":{"name":"shl","nativeSrc":"231476:3:19","nodeType":"YulIdentifier","src":"231476:3:19"},"nativeSrc":"231476:14:19","nodeType":"YulFunctionCall","src":"231476:14:19"}],"functionName":{"name":"sub","nativeSrc":"231467:3:19","nodeType":"YulIdentifier","src":"231467:3:19"},"nativeSrc":"231467:24:19","nodeType":"YulFunctionCall","src":"231467:24:19"},"variables":[{"name":"shift","nativeSrc":"231458:5:19","nodeType":"YulTypedName","src":"231458:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"231519:3:19","nodeType":"YulIdentifier","src":"231519:3:19"},{"kind":"number","nativeSrc":"231524:4:19","nodeType":"YulLiteral","src":"231524:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"231515:3:19","nodeType":"YulIdentifier","src":"231515:3:19"},"nativeSrc":"231515:14:19","nodeType":"YulFunctionCall","src":"231515:14:19"},{"arguments":[{"name":"shift","nativeSrc":"231535:5:19","nodeType":"YulIdentifier","src":"231535:5:19"},{"arguments":[{"name":"shift","nativeSrc":"231546:5:19","nodeType":"YulIdentifier","src":"231546:5:19"},{"name":"w","nativeSrc":"231553:1:19","nodeType":"YulIdentifier","src":"231553:1:19"}],"functionName":{"name":"shr","nativeSrc":"231542:3:19","nodeType":"YulIdentifier","src":"231542:3:19"},"nativeSrc":"231542:13:19","nodeType":"YulFunctionCall","src":"231542:13:19"}],"functionName":{"name":"shl","nativeSrc":"231531:3:19","nodeType":"YulIdentifier","src":"231531:3:19"},"nativeSrc":"231531:25:19","nodeType":"YulFunctionCall","src":"231531:25:19"}],"functionName":{"name":"mstore","nativeSrc":"231508:6:19","nodeType":"YulIdentifier","src":"231508:6:19"},"nativeSrc":"231508:49:19","nodeType":"YulFunctionCall","src":"231508:49:19"},"nativeSrc":"231508:49:19","nodeType":"YulExpressionStatement","src":"231508:49:19"}]},"name":"writeString","nativeSrc":"231229:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"231250:3:19","nodeType":"YulTypedName","src":"231250:3:19","type":""},{"name":"w","nativeSrc":"231255:1:19","nodeType":"YulTypedName","src":"231255:1:19","type":""}],"src":"231229:342:19"},{"nativeSrc":"231584:17:19","nodeType":"YulAssignment","src":"231584:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"231596:4:19","nodeType":"YulLiteral","src":"231596:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"231590:5:19","nodeType":"YulIdentifier","src":"231590:5:19"},"nativeSrc":"231590:11:19","nodeType":"YulFunctionCall","src":"231590:11:19"},"variableNames":[{"name":"m0","nativeSrc":"231584:2:19","nodeType":"YulIdentifier","src":"231584:2:19"}]},{"nativeSrc":"231614:17:19","nodeType":"YulAssignment","src":"231614:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"231626:4:19","nodeType":"YulLiteral","src":"231626:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"231620:5:19","nodeType":"YulIdentifier","src":"231620:5:19"},"nativeSrc":"231620:11:19","nodeType":"YulFunctionCall","src":"231620:11:19"},"variableNames":[{"name":"m1","nativeSrc":"231614:2:19","nodeType":"YulIdentifier","src":"231614:2:19"}]},{"nativeSrc":"231644:17:19","nodeType":"YulAssignment","src":"231644:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"231656:4:19","nodeType":"YulLiteral","src":"231656:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"231650:5:19","nodeType":"YulIdentifier","src":"231650:5:19"},"nativeSrc":"231650:11:19","nodeType":"YulFunctionCall","src":"231650:11:19"},"variableNames":[{"name":"m2","nativeSrc":"231644:2:19","nodeType":"YulIdentifier","src":"231644:2:19"}]},{"nativeSrc":"231674:17:19","nodeType":"YulAssignment","src":"231674:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"231686:4:19","nodeType":"YulLiteral","src":"231686:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"231680:5:19","nodeType":"YulIdentifier","src":"231680:5:19"},"nativeSrc":"231680:11:19","nodeType":"YulFunctionCall","src":"231680:11:19"},"variableNames":[{"name":"m3","nativeSrc":"231674:2:19","nodeType":"YulIdentifier","src":"231674:2:19"}]},{"nativeSrc":"231704:17:19","nodeType":"YulAssignment","src":"231704:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"231716:4:19","nodeType":"YulLiteral","src":"231716:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"231710:5:19","nodeType":"YulIdentifier","src":"231710:5:19"},"nativeSrc":"231710:11:19","nodeType":"YulFunctionCall","src":"231710:11:19"},"variableNames":[{"name":"m4","nativeSrc":"231704:2:19","nodeType":"YulIdentifier","src":"231704:2:19"}]},{"nativeSrc":"231734:17:19","nodeType":"YulAssignment","src":"231734:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"231746:4:19","nodeType":"YulLiteral","src":"231746:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"231740:5:19","nodeType":"YulIdentifier","src":"231740:5:19"},"nativeSrc":"231740:11:19","nodeType":"YulFunctionCall","src":"231740:11:19"},"variableNames":[{"name":"m5","nativeSrc":"231734:2:19","nodeType":"YulIdentifier","src":"231734:2:19"}]},{"nativeSrc":"231764:17:19","nodeType":"YulAssignment","src":"231764:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"231776:4:19","nodeType":"YulLiteral","src":"231776:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"231770:5:19","nodeType":"YulIdentifier","src":"231770:5:19"},"nativeSrc":"231770:11:19","nodeType":"YulFunctionCall","src":"231770:11:19"},"variableNames":[{"name":"m6","nativeSrc":"231764:2:19","nodeType":"YulIdentifier","src":"231764:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"231858:4:19","nodeType":"YulLiteral","src":"231858:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"231864:10:19","nodeType":"YulLiteral","src":"231864:10:19","type":"","value":"0xdc5e935b"}],"functionName":{"name":"mstore","nativeSrc":"231851:6:19","nodeType":"YulIdentifier","src":"231851:6:19"},"nativeSrc":"231851:24:19","nodeType":"YulFunctionCall","src":"231851:24:19"},"nativeSrc":"231851:24:19","nodeType":"YulExpressionStatement","src":"231851:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"231895:4:19","nodeType":"YulLiteral","src":"231895:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"231901:2:19","nodeType":"YulIdentifier","src":"231901:2:19"}],"functionName":{"name":"mstore","nativeSrc":"231888:6:19","nodeType":"YulIdentifier","src":"231888:6:19"},"nativeSrc":"231888:16:19","nodeType":"YulFunctionCall","src":"231888:16:19"},"nativeSrc":"231888:16:19","nodeType":"YulExpressionStatement","src":"231888:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"231924:4:19","nodeType":"YulLiteral","src":"231924:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"231930:4:19","nodeType":"YulLiteral","src":"231930:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"231917:6:19","nodeType":"YulIdentifier","src":"231917:6:19"},"nativeSrc":"231917:18:19","nodeType":"YulFunctionCall","src":"231917:18:19"},"nativeSrc":"231917:18:19","nodeType":"YulExpressionStatement","src":"231917:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"231955:4:19","nodeType":"YulLiteral","src":"231955:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"231961:2:19","nodeType":"YulIdentifier","src":"231961:2:19"}],"functionName":{"name":"mstore","nativeSrc":"231948:6:19","nodeType":"YulIdentifier","src":"231948:6:19"},"nativeSrc":"231948:16:19","nodeType":"YulFunctionCall","src":"231948:16:19"},"nativeSrc":"231948:16:19","nodeType":"YulExpressionStatement","src":"231948:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"231984:4:19","nodeType":"YulLiteral","src":"231984:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"231990:2:19","nodeType":"YulIdentifier","src":"231990:2:19"}],"functionName":{"name":"mstore","nativeSrc":"231977:6:19","nodeType":"YulIdentifier","src":"231977:6:19"},"nativeSrc":"231977:16:19","nodeType":"YulFunctionCall","src":"231977:16:19"},"nativeSrc":"231977:16:19","nodeType":"YulExpressionStatement","src":"231977:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"232018:4:19","nodeType":"YulLiteral","src":"232018:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"232024:2:19","nodeType":"YulIdentifier","src":"232024:2:19"}],"functionName":{"name":"writeString","nativeSrc":"232006:11:19","nodeType":"YulIdentifier","src":"232006:11:19"},"nativeSrc":"232006:21:19","nodeType":"YulFunctionCall","src":"232006:21:19"},"nativeSrc":"232006:21:19","nodeType":"YulExpressionStatement","src":"232006:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33576,"isOffset":false,"isSlot":false,"src":"231584:2:19","valueSize":1},{"declaration":33579,"isOffset":false,"isSlot":false,"src":"231614:2:19","valueSize":1},{"declaration":33582,"isOffset":false,"isSlot":false,"src":"231644:2:19","valueSize":1},{"declaration":33585,"isOffset":false,"isSlot":false,"src":"231674:2:19","valueSize":1},{"declaration":33588,"isOffset":false,"isSlot":false,"src":"231704:2:19","valueSize":1},{"declaration":33591,"isOffset":false,"isSlot":false,"src":"231734:2:19","valueSize":1},{"declaration":33594,"isOffset":false,"isSlot":false,"src":"231764:2:19","valueSize":1},{"declaration":33566,"isOffset":false,"isSlot":false,"src":"231901:2:19","valueSize":1},{"declaration":33568,"isOffset":false,"isSlot":false,"src":"232024:2:19","valueSize":1},{"declaration":33570,"isOffset":false,"isSlot":false,"src":"231961:2:19","valueSize":1},{"declaration":33572,"isOffset":false,"isSlot":false,"src":"231990:2:19","valueSize":1}],"id":33596,"nodeType":"InlineAssembly","src":"231206:831:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"232062:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"232068:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33597,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"232046:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"232046:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33601,"nodeType":"ExpressionStatement","src":"232046:27:19"},{"AST":{"nativeSrc":"232135:214:19","nodeType":"YulBlock","src":"232135:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"232156:4:19","nodeType":"YulLiteral","src":"232156:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"232162:2:19","nodeType":"YulIdentifier","src":"232162:2:19"}],"functionName":{"name":"mstore","nativeSrc":"232149:6:19","nodeType":"YulIdentifier","src":"232149:6:19"},"nativeSrc":"232149:16:19","nodeType":"YulFunctionCall","src":"232149:16:19"},"nativeSrc":"232149:16:19","nodeType":"YulExpressionStatement","src":"232149:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"232185:4:19","nodeType":"YulLiteral","src":"232185:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"232191:2:19","nodeType":"YulIdentifier","src":"232191:2:19"}],"functionName":{"name":"mstore","nativeSrc":"232178:6:19","nodeType":"YulIdentifier","src":"232178:6:19"},"nativeSrc":"232178:16:19","nodeType":"YulFunctionCall","src":"232178:16:19"},"nativeSrc":"232178:16:19","nodeType":"YulExpressionStatement","src":"232178:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"232214:4:19","nodeType":"YulLiteral","src":"232214:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"232220:2:19","nodeType":"YulIdentifier","src":"232220:2:19"}],"functionName":{"name":"mstore","nativeSrc":"232207:6:19","nodeType":"YulIdentifier","src":"232207:6:19"},"nativeSrc":"232207:16:19","nodeType":"YulFunctionCall","src":"232207:16:19"},"nativeSrc":"232207:16:19","nodeType":"YulExpressionStatement","src":"232207:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"232243:4:19","nodeType":"YulLiteral","src":"232243:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"232249:2:19","nodeType":"YulIdentifier","src":"232249:2:19"}],"functionName":{"name":"mstore","nativeSrc":"232236:6:19","nodeType":"YulIdentifier","src":"232236:6:19"},"nativeSrc":"232236:16:19","nodeType":"YulFunctionCall","src":"232236:16:19"},"nativeSrc":"232236:16:19","nodeType":"YulExpressionStatement","src":"232236:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"232272:4:19","nodeType":"YulLiteral","src":"232272:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"232278:2:19","nodeType":"YulIdentifier","src":"232278:2:19"}],"functionName":{"name":"mstore","nativeSrc":"232265:6:19","nodeType":"YulIdentifier","src":"232265:6:19"},"nativeSrc":"232265:16:19","nodeType":"YulFunctionCall","src":"232265:16:19"},"nativeSrc":"232265:16:19","nodeType":"YulExpressionStatement","src":"232265:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"232301:4:19","nodeType":"YulLiteral","src":"232301:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"232307:2:19","nodeType":"YulIdentifier","src":"232307:2:19"}],"functionName":{"name":"mstore","nativeSrc":"232294:6:19","nodeType":"YulIdentifier","src":"232294:6:19"},"nativeSrc":"232294:16:19","nodeType":"YulFunctionCall","src":"232294:16:19"},"nativeSrc":"232294:16:19","nodeType":"YulExpressionStatement","src":"232294:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"232330:4:19","nodeType":"YulLiteral","src":"232330:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"232336:2:19","nodeType":"YulIdentifier","src":"232336:2:19"}],"functionName":{"name":"mstore","nativeSrc":"232323:6:19","nodeType":"YulIdentifier","src":"232323:6:19"},"nativeSrc":"232323:16:19","nodeType":"YulFunctionCall","src":"232323:16:19"},"nativeSrc":"232323:16:19","nodeType":"YulExpressionStatement","src":"232323:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33576,"isOffset":false,"isSlot":false,"src":"232162:2:19","valueSize":1},{"declaration":33579,"isOffset":false,"isSlot":false,"src":"232191:2:19","valueSize":1},{"declaration":33582,"isOffset":false,"isSlot":false,"src":"232220:2:19","valueSize":1},{"declaration":33585,"isOffset":false,"isSlot":false,"src":"232249:2:19","valueSize":1},{"declaration":33588,"isOffset":false,"isSlot":false,"src":"232278:2:19","valueSize":1},{"declaration":33591,"isOffset":false,"isSlot":false,"src":"232307:2:19","valueSize":1},{"declaration":33594,"isOffset":false,"isSlot":false,"src":"232336:2:19","valueSize":1}],"id":33602,"nodeType":"InlineAssembly","src":"232126:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"230956:3:19","parameters":{"id":33573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33566,"mutability":"mutable","name":"p0","nameLocation":"230965:2:19","nodeType":"VariableDeclaration","scope":33604,"src":"230960:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33565,"name":"bool","nodeType":"ElementaryTypeName","src":"230960:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33568,"mutability":"mutable","name":"p1","nameLocation":"230977:2:19","nodeType":"VariableDeclaration","scope":33604,"src":"230969:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33567,"name":"bytes32","nodeType":"ElementaryTypeName","src":"230969:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33570,"mutability":"mutable","name":"p2","nameLocation":"230986:2:19","nodeType":"VariableDeclaration","scope":33604,"src":"230981:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33569,"name":"bool","nodeType":"ElementaryTypeName","src":"230981:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33572,"mutability":"mutable","name":"p3","nameLocation":"230995:2:19","nodeType":"VariableDeclaration","scope":33604,"src":"230990:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33571,"name":"bool","nodeType":"ElementaryTypeName","src":"230990:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"230959:39:19"},"returnParameters":{"id":33574,"nodeType":"ParameterList","parameters":[],"src":"231013:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33644,"nodeType":"FunctionDefinition","src":"232361:1414:19","nodes":[],"body":{"id":33643,"nodeType":"Block","src":"232430:1345:19","nodes":[],"statements":[{"assignments":[33616],"declarations":[{"constant":false,"id":33616,"mutability":"mutable","name":"m0","nameLocation":"232448:2:19","nodeType":"VariableDeclaration","scope":33643,"src":"232440:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33615,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232440:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33617,"nodeType":"VariableDeclarationStatement","src":"232440:10:19"},{"assignments":[33619],"declarations":[{"constant":false,"id":33619,"mutability":"mutable","name":"m1","nameLocation":"232468:2:19","nodeType":"VariableDeclaration","scope":33643,"src":"232460:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33618,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232460:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33620,"nodeType":"VariableDeclarationStatement","src":"232460:10:19"},{"assignments":[33622],"declarations":[{"constant":false,"id":33622,"mutability":"mutable","name":"m2","nameLocation":"232488:2:19","nodeType":"VariableDeclaration","scope":33643,"src":"232480:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33621,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232480:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33623,"nodeType":"VariableDeclarationStatement","src":"232480:10:19"},{"assignments":[33625],"declarations":[{"constant":false,"id":33625,"mutability":"mutable","name":"m3","nameLocation":"232508:2:19","nodeType":"VariableDeclaration","scope":33643,"src":"232500:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33624,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232500:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33626,"nodeType":"VariableDeclarationStatement","src":"232500:10:19"},{"assignments":[33628],"declarations":[{"constant":false,"id":33628,"mutability":"mutable","name":"m4","nameLocation":"232528:2:19","nodeType":"VariableDeclaration","scope":33643,"src":"232520:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232520:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33629,"nodeType":"VariableDeclarationStatement","src":"232520:10:19"},{"assignments":[33631],"declarations":[{"constant":false,"id":33631,"mutability":"mutable","name":"m5","nameLocation":"232548:2:19","nodeType":"VariableDeclaration","scope":33643,"src":"232540:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33630,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232540:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33632,"nodeType":"VariableDeclarationStatement","src":"232540:10:19"},{"assignments":[33634],"declarations":[{"constant":false,"id":33634,"mutability":"mutable","name":"m6","nameLocation":"232568:2:19","nodeType":"VariableDeclaration","scope":33643,"src":"232560:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33633,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232560:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33635,"nodeType":"VariableDeclarationStatement","src":"232560:10:19"},{"AST":{"nativeSrc":"232632:825:19","nodeType":"YulBlock","src":"232632:825:19","statements":[{"body":{"nativeSrc":"232675:313:19","nodeType":"YulBlock","src":"232675:313:19","statements":[{"nativeSrc":"232693:15:19","nodeType":"YulVariableDeclaration","src":"232693:15:19","value":{"kind":"number","nativeSrc":"232707:1:19","nodeType":"YulLiteral","src":"232707:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"232697:6:19","nodeType":"YulTypedName","src":"232697:6:19","type":""}]},{"body":{"nativeSrc":"232778:40:19","nodeType":"YulBlock","src":"232778:40:19","statements":[{"body":{"nativeSrc":"232807:9:19","nodeType":"YulBlock","src":"232807:9:19","statements":[{"nativeSrc":"232809:5:19","nodeType":"YulBreak","src":"232809:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"232795:6:19","nodeType":"YulIdentifier","src":"232795:6:19"},{"name":"w","nativeSrc":"232803:1:19","nodeType":"YulIdentifier","src":"232803:1:19"}],"functionName":{"name":"byte","nativeSrc":"232790:4:19","nodeType":"YulIdentifier","src":"232790:4:19"},"nativeSrc":"232790:15:19","nodeType":"YulFunctionCall","src":"232790:15:19"}],"functionName":{"name":"iszero","nativeSrc":"232783:6:19","nodeType":"YulIdentifier","src":"232783:6:19"},"nativeSrc":"232783:23:19","nodeType":"YulFunctionCall","src":"232783:23:19"},"nativeSrc":"232780:36:19","nodeType":"YulIf","src":"232780:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"232735:6:19","nodeType":"YulIdentifier","src":"232735:6:19"},{"kind":"number","nativeSrc":"232743:4:19","nodeType":"YulLiteral","src":"232743:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"232732:2:19","nodeType":"YulIdentifier","src":"232732:2:19"},"nativeSrc":"232732:16:19","nodeType":"YulFunctionCall","src":"232732:16:19"},"nativeSrc":"232725:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"232749:28:19","nodeType":"YulBlock","src":"232749:28:19","statements":[{"nativeSrc":"232751:24:19","nodeType":"YulAssignment","src":"232751:24:19","value":{"arguments":[{"name":"length","nativeSrc":"232765:6:19","nodeType":"YulIdentifier","src":"232765:6:19"},{"kind":"number","nativeSrc":"232773:1:19","nodeType":"YulLiteral","src":"232773:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"232761:3:19","nodeType":"YulIdentifier","src":"232761:3:19"},"nativeSrc":"232761:14:19","nodeType":"YulFunctionCall","src":"232761:14:19"},"variableNames":[{"name":"length","nativeSrc":"232751:6:19","nodeType":"YulIdentifier","src":"232751:6:19"}]}]},"pre":{"nativeSrc":"232729:2:19","nodeType":"YulBlock","src":"232729:2:19","statements":[]},"src":"232725:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"232842:3:19","nodeType":"YulIdentifier","src":"232842:3:19"},{"name":"length","nativeSrc":"232847:6:19","nodeType":"YulIdentifier","src":"232847:6:19"}],"functionName":{"name":"mstore","nativeSrc":"232835:6:19","nodeType":"YulIdentifier","src":"232835:6:19"},"nativeSrc":"232835:19:19","nodeType":"YulFunctionCall","src":"232835:19:19"},"nativeSrc":"232835:19:19","nodeType":"YulExpressionStatement","src":"232835:19:19"},{"nativeSrc":"232871:37:19","nodeType":"YulVariableDeclaration","src":"232871:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"232888:3:19","nodeType":"YulLiteral","src":"232888:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"232897:1:19","nodeType":"YulLiteral","src":"232897:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"232900:6:19","nodeType":"YulIdentifier","src":"232900:6:19"}],"functionName":{"name":"shl","nativeSrc":"232893:3:19","nodeType":"YulIdentifier","src":"232893:3:19"},"nativeSrc":"232893:14:19","nodeType":"YulFunctionCall","src":"232893:14:19"}],"functionName":{"name":"sub","nativeSrc":"232884:3:19","nodeType":"YulIdentifier","src":"232884:3:19"},"nativeSrc":"232884:24:19","nodeType":"YulFunctionCall","src":"232884:24:19"},"variables":[{"name":"shift","nativeSrc":"232875:5:19","nodeType":"YulTypedName","src":"232875:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"232936:3:19","nodeType":"YulIdentifier","src":"232936:3:19"},{"kind":"number","nativeSrc":"232941:4:19","nodeType":"YulLiteral","src":"232941:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"232932:3:19","nodeType":"YulIdentifier","src":"232932:3:19"},"nativeSrc":"232932:14:19","nodeType":"YulFunctionCall","src":"232932:14:19"},{"arguments":[{"name":"shift","nativeSrc":"232952:5:19","nodeType":"YulIdentifier","src":"232952:5:19"},{"arguments":[{"name":"shift","nativeSrc":"232963:5:19","nodeType":"YulIdentifier","src":"232963:5:19"},{"name":"w","nativeSrc":"232970:1:19","nodeType":"YulIdentifier","src":"232970:1:19"}],"functionName":{"name":"shr","nativeSrc":"232959:3:19","nodeType":"YulIdentifier","src":"232959:3:19"},"nativeSrc":"232959:13:19","nodeType":"YulFunctionCall","src":"232959:13:19"}],"functionName":{"name":"shl","nativeSrc":"232948:3:19","nodeType":"YulIdentifier","src":"232948:3:19"},"nativeSrc":"232948:25:19","nodeType":"YulFunctionCall","src":"232948:25:19"}],"functionName":{"name":"mstore","nativeSrc":"232925:6:19","nodeType":"YulIdentifier","src":"232925:6:19"},"nativeSrc":"232925:49:19","nodeType":"YulFunctionCall","src":"232925:49:19"},"nativeSrc":"232925:49:19","nodeType":"YulExpressionStatement","src":"232925:49:19"}]},"name":"writeString","nativeSrc":"232646:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"232667:3:19","nodeType":"YulTypedName","src":"232667:3:19","type":""},{"name":"w","nativeSrc":"232672:1:19","nodeType":"YulTypedName","src":"232672:1:19","type":""}],"src":"232646:342:19"},{"nativeSrc":"233001:17:19","nodeType":"YulAssignment","src":"233001:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"233013:4:19","nodeType":"YulLiteral","src":"233013:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"233007:5:19","nodeType":"YulIdentifier","src":"233007:5:19"},"nativeSrc":"233007:11:19","nodeType":"YulFunctionCall","src":"233007:11:19"},"variableNames":[{"name":"m0","nativeSrc":"233001:2:19","nodeType":"YulIdentifier","src":"233001:2:19"}]},{"nativeSrc":"233031:17:19","nodeType":"YulAssignment","src":"233031:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"233043:4:19","nodeType":"YulLiteral","src":"233043:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"233037:5:19","nodeType":"YulIdentifier","src":"233037:5:19"},"nativeSrc":"233037:11:19","nodeType":"YulFunctionCall","src":"233037:11:19"},"variableNames":[{"name":"m1","nativeSrc":"233031:2:19","nodeType":"YulIdentifier","src":"233031:2:19"}]},{"nativeSrc":"233061:17:19","nodeType":"YulAssignment","src":"233061:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"233073:4:19","nodeType":"YulLiteral","src":"233073:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"233067:5:19","nodeType":"YulIdentifier","src":"233067:5:19"},"nativeSrc":"233067:11:19","nodeType":"YulFunctionCall","src":"233067:11:19"},"variableNames":[{"name":"m2","nativeSrc":"233061:2:19","nodeType":"YulIdentifier","src":"233061:2:19"}]},{"nativeSrc":"233091:17:19","nodeType":"YulAssignment","src":"233091:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"233103:4:19","nodeType":"YulLiteral","src":"233103:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"233097:5:19","nodeType":"YulIdentifier","src":"233097:5:19"},"nativeSrc":"233097:11:19","nodeType":"YulFunctionCall","src":"233097:11:19"},"variableNames":[{"name":"m3","nativeSrc":"233091:2:19","nodeType":"YulIdentifier","src":"233091:2:19"}]},{"nativeSrc":"233121:17:19","nodeType":"YulAssignment","src":"233121:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"233133:4:19","nodeType":"YulLiteral","src":"233133:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"233127:5:19","nodeType":"YulIdentifier","src":"233127:5:19"},"nativeSrc":"233127:11:19","nodeType":"YulFunctionCall","src":"233127:11:19"},"variableNames":[{"name":"m4","nativeSrc":"233121:2:19","nodeType":"YulIdentifier","src":"233121:2:19"}]},{"nativeSrc":"233151:17:19","nodeType":"YulAssignment","src":"233151:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"233163:4:19","nodeType":"YulLiteral","src":"233163:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"233157:5:19","nodeType":"YulIdentifier","src":"233157:5:19"},"nativeSrc":"233157:11:19","nodeType":"YulFunctionCall","src":"233157:11:19"},"variableNames":[{"name":"m5","nativeSrc":"233151:2:19","nodeType":"YulIdentifier","src":"233151:2:19"}]},{"nativeSrc":"233181:17:19","nodeType":"YulAssignment","src":"233181:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"233193:4:19","nodeType":"YulLiteral","src":"233193:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"233187:5:19","nodeType":"YulIdentifier","src":"233187:5:19"},"nativeSrc":"233187:11:19","nodeType":"YulFunctionCall","src":"233187:11:19"},"variableNames":[{"name":"m6","nativeSrc":"233181:2:19","nodeType":"YulIdentifier","src":"233181:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233278:4:19","nodeType":"YulLiteral","src":"233278:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"233284:10:19","nodeType":"YulLiteral","src":"233284:10:19","type":"","value":"0x1606a393"}],"functionName":{"name":"mstore","nativeSrc":"233271:6:19","nodeType":"YulIdentifier","src":"233271:6:19"},"nativeSrc":"233271:24:19","nodeType":"YulFunctionCall","src":"233271:24:19"},"nativeSrc":"233271:24:19","nodeType":"YulExpressionStatement","src":"233271:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233315:4:19","nodeType":"YulLiteral","src":"233315:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"233321:2:19","nodeType":"YulIdentifier","src":"233321:2:19"}],"functionName":{"name":"mstore","nativeSrc":"233308:6:19","nodeType":"YulIdentifier","src":"233308:6:19"},"nativeSrc":"233308:16:19","nodeType":"YulFunctionCall","src":"233308:16:19"},"nativeSrc":"233308:16:19","nodeType":"YulExpressionStatement","src":"233308:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233344:4:19","nodeType":"YulLiteral","src":"233344:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"233350:4:19","nodeType":"YulLiteral","src":"233350:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"233337:6:19","nodeType":"YulIdentifier","src":"233337:6:19"},"nativeSrc":"233337:18:19","nodeType":"YulFunctionCall","src":"233337:18:19"},"nativeSrc":"233337:18:19","nodeType":"YulExpressionStatement","src":"233337:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233375:4:19","nodeType":"YulLiteral","src":"233375:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"233381:2:19","nodeType":"YulIdentifier","src":"233381:2:19"}],"functionName":{"name":"mstore","nativeSrc":"233368:6:19","nodeType":"YulIdentifier","src":"233368:6:19"},"nativeSrc":"233368:16:19","nodeType":"YulFunctionCall","src":"233368:16:19"},"nativeSrc":"233368:16:19","nodeType":"YulExpressionStatement","src":"233368:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233404:4:19","nodeType":"YulLiteral","src":"233404:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"233410:2:19","nodeType":"YulIdentifier","src":"233410:2:19"}],"functionName":{"name":"mstore","nativeSrc":"233397:6:19","nodeType":"YulIdentifier","src":"233397:6:19"},"nativeSrc":"233397:16:19","nodeType":"YulFunctionCall","src":"233397:16:19"},"nativeSrc":"233397:16:19","nodeType":"YulExpressionStatement","src":"233397:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233438:4:19","nodeType":"YulLiteral","src":"233438:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"233444:2:19","nodeType":"YulIdentifier","src":"233444:2:19"}],"functionName":{"name":"writeString","nativeSrc":"233426:11:19","nodeType":"YulIdentifier","src":"233426:11:19"},"nativeSrc":"233426:21:19","nodeType":"YulFunctionCall","src":"233426:21:19"},"nativeSrc":"233426:21:19","nodeType":"YulExpressionStatement","src":"233426:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33616,"isOffset":false,"isSlot":false,"src":"233001:2:19","valueSize":1},{"declaration":33619,"isOffset":false,"isSlot":false,"src":"233031:2:19","valueSize":1},{"declaration":33622,"isOffset":false,"isSlot":false,"src":"233061:2:19","valueSize":1},{"declaration":33625,"isOffset":false,"isSlot":false,"src":"233091:2:19","valueSize":1},{"declaration":33628,"isOffset":false,"isSlot":false,"src":"233121:2:19","valueSize":1},{"declaration":33631,"isOffset":false,"isSlot":false,"src":"233151:2:19","valueSize":1},{"declaration":33634,"isOffset":false,"isSlot":false,"src":"233181:2:19","valueSize":1},{"declaration":33606,"isOffset":false,"isSlot":false,"src":"233321:2:19","valueSize":1},{"declaration":33608,"isOffset":false,"isSlot":false,"src":"233444:2:19","valueSize":1},{"declaration":33610,"isOffset":false,"isSlot":false,"src":"233381:2:19","valueSize":1},{"declaration":33612,"isOffset":false,"isSlot":false,"src":"233410:2:19","valueSize":1}],"id":33636,"nodeType":"InlineAssembly","src":"232623:834:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"233482:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"233488:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33637,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"233466:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"233466:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33641,"nodeType":"ExpressionStatement","src":"233466:27:19"},{"AST":{"nativeSrc":"233555:214:19","nodeType":"YulBlock","src":"233555:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"233576:4:19","nodeType":"YulLiteral","src":"233576:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"233582:2:19","nodeType":"YulIdentifier","src":"233582:2:19"}],"functionName":{"name":"mstore","nativeSrc":"233569:6:19","nodeType":"YulIdentifier","src":"233569:6:19"},"nativeSrc":"233569:16:19","nodeType":"YulFunctionCall","src":"233569:16:19"},"nativeSrc":"233569:16:19","nodeType":"YulExpressionStatement","src":"233569:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233605:4:19","nodeType":"YulLiteral","src":"233605:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"233611:2:19","nodeType":"YulIdentifier","src":"233611:2:19"}],"functionName":{"name":"mstore","nativeSrc":"233598:6:19","nodeType":"YulIdentifier","src":"233598:6:19"},"nativeSrc":"233598:16:19","nodeType":"YulFunctionCall","src":"233598:16:19"},"nativeSrc":"233598:16:19","nodeType":"YulExpressionStatement","src":"233598:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233634:4:19","nodeType":"YulLiteral","src":"233634:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"233640:2:19","nodeType":"YulIdentifier","src":"233640:2:19"}],"functionName":{"name":"mstore","nativeSrc":"233627:6:19","nodeType":"YulIdentifier","src":"233627:6:19"},"nativeSrc":"233627:16:19","nodeType":"YulFunctionCall","src":"233627:16:19"},"nativeSrc":"233627:16:19","nodeType":"YulExpressionStatement","src":"233627:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233663:4:19","nodeType":"YulLiteral","src":"233663:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"233669:2:19","nodeType":"YulIdentifier","src":"233669:2:19"}],"functionName":{"name":"mstore","nativeSrc":"233656:6:19","nodeType":"YulIdentifier","src":"233656:6:19"},"nativeSrc":"233656:16:19","nodeType":"YulFunctionCall","src":"233656:16:19"},"nativeSrc":"233656:16:19","nodeType":"YulExpressionStatement","src":"233656:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233692:4:19","nodeType":"YulLiteral","src":"233692:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"233698:2:19","nodeType":"YulIdentifier","src":"233698:2:19"}],"functionName":{"name":"mstore","nativeSrc":"233685:6:19","nodeType":"YulIdentifier","src":"233685:6:19"},"nativeSrc":"233685:16:19","nodeType":"YulFunctionCall","src":"233685:16:19"},"nativeSrc":"233685:16:19","nodeType":"YulExpressionStatement","src":"233685:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233721:4:19","nodeType":"YulLiteral","src":"233721:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"233727:2:19","nodeType":"YulIdentifier","src":"233727:2:19"}],"functionName":{"name":"mstore","nativeSrc":"233714:6:19","nodeType":"YulIdentifier","src":"233714:6:19"},"nativeSrc":"233714:16:19","nodeType":"YulFunctionCall","src":"233714:16:19"},"nativeSrc":"233714:16:19","nodeType":"YulExpressionStatement","src":"233714:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"233750:4:19","nodeType":"YulLiteral","src":"233750:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"233756:2:19","nodeType":"YulIdentifier","src":"233756:2:19"}],"functionName":{"name":"mstore","nativeSrc":"233743:6:19","nodeType":"YulIdentifier","src":"233743:6:19"},"nativeSrc":"233743:16:19","nodeType":"YulFunctionCall","src":"233743:16:19"},"nativeSrc":"233743:16:19","nodeType":"YulExpressionStatement","src":"233743:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33616,"isOffset":false,"isSlot":false,"src":"233582:2:19","valueSize":1},{"declaration":33619,"isOffset":false,"isSlot":false,"src":"233611:2:19","valueSize":1},{"declaration":33622,"isOffset":false,"isSlot":false,"src":"233640:2:19","valueSize":1},{"declaration":33625,"isOffset":false,"isSlot":false,"src":"233669:2:19","valueSize":1},{"declaration":33628,"isOffset":false,"isSlot":false,"src":"233698:2:19","valueSize":1},{"declaration":33631,"isOffset":false,"isSlot":false,"src":"233727:2:19","valueSize":1},{"declaration":33634,"isOffset":false,"isSlot":false,"src":"233756:2:19","valueSize":1}],"id":33642,"nodeType":"InlineAssembly","src":"233546:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"232370:3:19","parameters":{"id":33613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33606,"mutability":"mutable","name":"p0","nameLocation":"232379:2:19","nodeType":"VariableDeclaration","scope":33644,"src":"232374:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33605,"name":"bool","nodeType":"ElementaryTypeName","src":"232374:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33608,"mutability":"mutable","name":"p1","nameLocation":"232391:2:19","nodeType":"VariableDeclaration","scope":33644,"src":"232383:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33607,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232383:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33610,"mutability":"mutable","name":"p2","nameLocation":"232400:2:19","nodeType":"VariableDeclaration","scope":33644,"src":"232395:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33609,"name":"bool","nodeType":"ElementaryTypeName","src":"232395:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33612,"mutability":"mutable","name":"p3","nameLocation":"232412:2:19","nodeType":"VariableDeclaration","scope":33644,"src":"232404:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33611,"name":"uint256","nodeType":"ElementaryTypeName","src":"232404:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"232373:42:19"},"returnParameters":{"id":33614,"nodeType":"ParameterList","parameters":[],"src":"232430:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33690,"nodeType":"FunctionDefinition","src":"233781:1610:19","nodes":[],"body":{"id":33689,"nodeType":"Block","src":"233850:1541:19","nodes":[],"statements":[{"assignments":[33656],"declarations":[{"constant":false,"id":33656,"mutability":"mutable","name":"m0","nameLocation":"233868:2:19","nodeType":"VariableDeclaration","scope":33689,"src":"233860:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33655,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233860:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33657,"nodeType":"VariableDeclarationStatement","src":"233860:10:19"},{"assignments":[33659],"declarations":[{"constant":false,"id":33659,"mutability":"mutable","name":"m1","nameLocation":"233888:2:19","nodeType":"VariableDeclaration","scope":33689,"src":"233880:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33658,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233880:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33660,"nodeType":"VariableDeclarationStatement","src":"233880:10:19"},{"assignments":[33662],"declarations":[{"constant":false,"id":33662,"mutability":"mutable","name":"m2","nameLocation":"233908:2:19","nodeType":"VariableDeclaration","scope":33689,"src":"233900:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33661,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233900:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33663,"nodeType":"VariableDeclarationStatement","src":"233900:10:19"},{"assignments":[33665],"declarations":[{"constant":false,"id":33665,"mutability":"mutable","name":"m3","nameLocation":"233928:2:19","nodeType":"VariableDeclaration","scope":33689,"src":"233920:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33664,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233920:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33666,"nodeType":"VariableDeclarationStatement","src":"233920:10:19"},{"assignments":[33668],"declarations":[{"constant":false,"id":33668,"mutability":"mutable","name":"m4","nameLocation":"233948:2:19","nodeType":"VariableDeclaration","scope":33689,"src":"233940:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33667,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233940:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33669,"nodeType":"VariableDeclarationStatement","src":"233940:10:19"},{"assignments":[33671],"declarations":[{"constant":false,"id":33671,"mutability":"mutable","name":"m5","nameLocation":"233968:2:19","nodeType":"VariableDeclaration","scope":33689,"src":"233960:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33670,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233960:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33672,"nodeType":"VariableDeclarationStatement","src":"233960:10:19"},{"assignments":[33674],"declarations":[{"constant":false,"id":33674,"mutability":"mutable","name":"m6","nameLocation":"233988:2:19","nodeType":"VariableDeclaration","scope":33689,"src":"233980:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33673,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233980:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33675,"nodeType":"VariableDeclarationStatement","src":"233980:10:19"},{"assignments":[33677],"declarations":[{"constant":false,"id":33677,"mutability":"mutable","name":"m7","nameLocation":"234008:2:19","nodeType":"VariableDeclaration","scope":33689,"src":"234000:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33676,"name":"bytes32","nodeType":"ElementaryTypeName","src":"234000:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33678,"nodeType":"VariableDeclarationStatement","src":"234000:10:19"},{"assignments":[33680],"declarations":[{"constant":false,"id":33680,"mutability":"mutable","name":"m8","nameLocation":"234028:2:19","nodeType":"VariableDeclaration","scope":33689,"src":"234020:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33679,"name":"bytes32","nodeType":"ElementaryTypeName","src":"234020:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33681,"nodeType":"VariableDeclarationStatement","src":"234020:10:19"},{"AST":{"nativeSrc":"234092:921:19","nodeType":"YulBlock","src":"234092:921:19","statements":[{"body":{"nativeSrc":"234135:313:19","nodeType":"YulBlock","src":"234135:313:19","statements":[{"nativeSrc":"234153:15:19","nodeType":"YulVariableDeclaration","src":"234153:15:19","value":{"kind":"number","nativeSrc":"234167:1:19","nodeType":"YulLiteral","src":"234167:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"234157:6:19","nodeType":"YulTypedName","src":"234157:6:19","type":""}]},{"body":{"nativeSrc":"234238:40:19","nodeType":"YulBlock","src":"234238:40:19","statements":[{"body":{"nativeSrc":"234267:9:19","nodeType":"YulBlock","src":"234267:9:19","statements":[{"nativeSrc":"234269:5:19","nodeType":"YulBreak","src":"234269:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"234255:6:19","nodeType":"YulIdentifier","src":"234255:6:19"},{"name":"w","nativeSrc":"234263:1:19","nodeType":"YulIdentifier","src":"234263:1:19"}],"functionName":{"name":"byte","nativeSrc":"234250:4:19","nodeType":"YulIdentifier","src":"234250:4:19"},"nativeSrc":"234250:15:19","nodeType":"YulFunctionCall","src":"234250:15:19"}],"functionName":{"name":"iszero","nativeSrc":"234243:6:19","nodeType":"YulIdentifier","src":"234243:6:19"},"nativeSrc":"234243:23:19","nodeType":"YulFunctionCall","src":"234243:23:19"},"nativeSrc":"234240:36:19","nodeType":"YulIf","src":"234240:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"234195:6:19","nodeType":"YulIdentifier","src":"234195:6:19"},{"kind":"number","nativeSrc":"234203:4:19","nodeType":"YulLiteral","src":"234203:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"234192:2:19","nodeType":"YulIdentifier","src":"234192:2:19"},"nativeSrc":"234192:16:19","nodeType":"YulFunctionCall","src":"234192:16:19"},"nativeSrc":"234185:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"234209:28:19","nodeType":"YulBlock","src":"234209:28:19","statements":[{"nativeSrc":"234211:24:19","nodeType":"YulAssignment","src":"234211:24:19","value":{"arguments":[{"name":"length","nativeSrc":"234225:6:19","nodeType":"YulIdentifier","src":"234225:6:19"},{"kind":"number","nativeSrc":"234233:1:19","nodeType":"YulLiteral","src":"234233:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"234221:3:19","nodeType":"YulIdentifier","src":"234221:3:19"},"nativeSrc":"234221:14:19","nodeType":"YulFunctionCall","src":"234221:14:19"},"variableNames":[{"name":"length","nativeSrc":"234211:6:19","nodeType":"YulIdentifier","src":"234211:6:19"}]}]},"pre":{"nativeSrc":"234189:2:19","nodeType":"YulBlock","src":"234189:2:19","statements":[]},"src":"234185:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"234302:3:19","nodeType":"YulIdentifier","src":"234302:3:19"},{"name":"length","nativeSrc":"234307:6:19","nodeType":"YulIdentifier","src":"234307:6:19"}],"functionName":{"name":"mstore","nativeSrc":"234295:6:19","nodeType":"YulIdentifier","src":"234295:6:19"},"nativeSrc":"234295:19:19","nodeType":"YulFunctionCall","src":"234295:19:19"},"nativeSrc":"234295:19:19","nodeType":"YulExpressionStatement","src":"234295:19:19"},{"nativeSrc":"234331:37:19","nodeType":"YulVariableDeclaration","src":"234331:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"234348:3:19","nodeType":"YulLiteral","src":"234348:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"234357:1:19","nodeType":"YulLiteral","src":"234357:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"234360:6:19","nodeType":"YulIdentifier","src":"234360:6:19"}],"functionName":{"name":"shl","nativeSrc":"234353:3:19","nodeType":"YulIdentifier","src":"234353:3:19"},"nativeSrc":"234353:14:19","nodeType":"YulFunctionCall","src":"234353:14:19"}],"functionName":{"name":"sub","nativeSrc":"234344:3:19","nodeType":"YulIdentifier","src":"234344:3:19"},"nativeSrc":"234344:24:19","nodeType":"YulFunctionCall","src":"234344:24:19"},"variables":[{"name":"shift","nativeSrc":"234335:5:19","nodeType":"YulTypedName","src":"234335:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"234396:3:19","nodeType":"YulIdentifier","src":"234396:3:19"},{"kind":"number","nativeSrc":"234401:4:19","nodeType":"YulLiteral","src":"234401:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"234392:3:19","nodeType":"YulIdentifier","src":"234392:3:19"},"nativeSrc":"234392:14:19","nodeType":"YulFunctionCall","src":"234392:14:19"},{"arguments":[{"name":"shift","nativeSrc":"234412:5:19","nodeType":"YulIdentifier","src":"234412:5:19"},{"arguments":[{"name":"shift","nativeSrc":"234423:5:19","nodeType":"YulIdentifier","src":"234423:5:19"},{"name":"w","nativeSrc":"234430:1:19","nodeType":"YulIdentifier","src":"234430:1:19"}],"functionName":{"name":"shr","nativeSrc":"234419:3:19","nodeType":"YulIdentifier","src":"234419:3:19"},"nativeSrc":"234419:13:19","nodeType":"YulFunctionCall","src":"234419:13:19"}],"functionName":{"name":"shl","nativeSrc":"234408:3:19","nodeType":"YulIdentifier","src":"234408:3:19"},"nativeSrc":"234408:25:19","nodeType":"YulFunctionCall","src":"234408:25:19"}],"functionName":{"name":"mstore","nativeSrc":"234385:6:19","nodeType":"YulIdentifier","src":"234385:6:19"},"nativeSrc":"234385:49:19","nodeType":"YulFunctionCall","src":"234385:49:19"},"nativeSrc":"234385:49:19","nodeType":"YulExpressionStatement","src":"234385:49:19"}]},"name":"writeString","nativeSrc":"234106:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"234127:3:19","nodeType":"YulTypedName","src":"234127:3:19","type":""},{"name":"w","nativeSrc":"234132:1:19","nodeType":"YulTypedName","src":"234132:1:19","type":""}],"src":"234106:342:19"},{"nativeSrc":"234461:17:19","nodeType":"YulAssignment","src":"234461:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"234473:4:19","nodeType":"YulLiteral","src":"234473:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"234467:5:19","nodeType":"YulIdentifier","src":"234467:5:19"},"nativeSrc":"234467:11:19","nodeType":"YulFunctionCall","src":"234467:11:19"},"variableNames":[{"name":"m0","nativeSrc":"234461:2:19","nodeType":"YulIdentifier","src":"234461:2:19"}]},{"nativeSrc":"234491:17:19","nodeType":"YulAssignment","src":"234491:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"234503:4:19","nodeType":"YulLiteral","src":"234503:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"234497:5:19","nodeType":"YulIdentifier","src":"234497:5:19"},"nativeSrc":"234497:11:19","nodeType":"YulFunctionCall","src":"234497:11:19"},"variableNames":[{"name":"m1","nativeSrc":"234491:2:19","nodeType":"YulIdentifier","src":"234491:2:19"}]},{"nativeSrc":"234521:17:19","nodeType":"YulAssignment","src":"234521:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"234533:4:19","nodeType":"YulLiteral","src":"234533:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"234527:5:19","nodeType":"YulIdentifier","src":"234527:5:19"},"nativeSrc":"234527:11:19","nodeType":"YulFunctionCall","src":"234527:11:19"},"variableNames":[{"name":"m2","nativeSrc":"234521:2:19","nodeType":"YulIdentifier","src":"234521:2:19"}]},{"nativeSrc":"234551:17:19","nodeType":"YulAssignment","src":"234551:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"234563:4:19","nodeType":"YulLiteral","src":"234563:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"234557:5:19","nodeType":"YulIdentifier","src":"234557:5:19"},"nativeSrc":"234557:11:19","nodeType":"YulFunctionCall","src":"234557:11:19"},"variableNames":[{"name":"m3","nativeSrc":"234551:2:19","nodeType":"YulIdentifier","src":"234551:2:19"}]},{"nativeSrc":"234581:17:19","nodeType":"YulAssignment","src":"234581:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"234593:4:19","nodeType":"YulLiteral","src":"234593:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"234587:5:19","nodeType":"YulIdentifier","src":"234587:5:19"},"nativeSrc":"234587:11:19","nodeType":"YulFunctionCall","src":"234587:11:19"},"variableNames":[{"name":"m4","nativeSrc":"234581:2:19","nodeType":"YulIdentifier","src":"234581:2:19"}]},{"nativeSrc":"234611:17:19","nodeType":"YulAssignment","src":"234611:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"234623:4:19","nodeType":"YulLiteral","src":"234623:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"234617:5:19","nodeType":"YulIdentifier","src":"234617:5:19"},"nativeSrc":"234617:11:19","nodeType":"YulFunctionCall","src":"234617:11:19"},"variableNames":[{"name":"m5","nativeSrc":"234611:2:19","nodeType":"YulIdentifier","src":"234611:2:19"}]},{"nativeSrc":"234641:17:19","nodeType":"YulAssignment","src":"234641:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"234653:4:19","nodeType":"YulLiteral","src":"234653:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"234647:5:19","nodeType":"YulIdentifier","src":"234647:5:19"},"nativeSrc":"234647:11:19","nodeType":"YulFunctionCall","src":"234647:11:19"},"variableNames":[{"name":"m6","nativeSrc":"234641:2:19","nodeType":"YulIdentifier","src":"234641:2:19"}]},{"nativeSrc":"234671:17:19","nodeType":"YulAssignment","src":"234671:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"234683:4:19","nodeType":"YulLiteral","src":"234683:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"234677:5:19","nodeType":"YulIdentifier","src":"234677:5:19"},"nativeSrc":"234677:11:19","nodeType":"YulFunctionCall","src":"234677:11:19"},"variableNames":[{"name":"m7","nativeSrc":"234671:2:19","nodeType":"YulIdentifier","src":"234671:2:19"}]},{"nativeSrc":"234701:18:19","nodeType":"YulAssignment","src":"234701:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"234713:5:19","nodeType":"YulLiteral","src":"234713:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"234707:5:19","nodeType":"YulIdentifier","src":"234707:5:19"},"nativeSrc":"234707:12:19","nodeType":"YulFunctionCall","src":"234707:12:19"},"variableNames":[{"name":"m8","nativeSrc":"234701:2:19","nodeType":"YulIdentifier","src":"234701:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"234798:4:19","nodeType":"YulLiteral","src":"234798:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"234804:10:19","nodeType":"YulLiteral","src":"234804:10:19","type":"","value":"0x483d0416"}],"functionName":{"name":"mstore","nativeSrc":"234791:6:19","nodeType":"YulIdentifier","src":"234791:6:19"},"nativeSrc":"234791:24:19","nodeType":"YulFunctionCall","src":"234791:24:19"},"nativeSrc":"234791:24:19","nodeType":"YulExpressionStatement","src":"234791:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"234835:4:19","nodeType":"YulLiteral","src":"234835:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"234841:2:19","nodeType":"YulIdentifier","src":"234841:2:19"}],"functionName":{"name":"mstore","nativeSrc":"234828:6:19","nodeType":"YulIdentifier","src":"234828:6:19"},"nativeSrc":"234828:16:19","nodeType":"YulFunctionCall","src":"234828:16:19"},"nativeSrc":"234828:16:19","nodeType":"YulExpressionStatement","src":"234828:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"234864:4:19","nodeType":"YulLiteral","src":"234864:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"234870:4:19","nodeType":"YulLiteral","src":"234870:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"234857:6:19","nodeType":"YulIdentifier","src":"234857:6:19"},"nativeSrc":"234857:18:19","nodeType":"YulFunctionCall","src":"234857:18:19"},"nativeSrc":"234857:18:19","nodeType":"YulExpressionStatement","src":"234857:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"234895:4:19","nodeType":"YulLiteral","src":"234895:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"234901:2:19","nodeType":"YulIdentifier","src":"234901:2:19"}],"functionName":{"name":"mstore","nativeSrc":"234888:6:19","nodeType":"YulIdentifier","src":"234888:6:19"},"nativeSrc":"234888:16:19","nodeType":"YulFunctionCall","src":"234888:16:19"},"nativeSrc":"234888:16:19","nodeType":"YulExpressionStatement","src":"234888:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"234924:4:19","nodeType":"YulLiteral","src":"234924:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"234930:4:19","nodeType":"YulLiteral","src":"234930:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"234917:6:19","nodeType":"YulIdentifier","src":"234917:6:19"},"nativeSrc":"234917:18:19","nodeType":"YulFunctionCall","src":"234917:18:19"},"nativeSrc":"234917:18:19","nodeType":"YulExpressionStatement","src":"234917:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"234960:4:19","nodeType":"YulLiteral","src":"234960:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"234966:2:19","nodeType":"YulIdentifier","src":"234966:2:19"}],"functionName":{"name":"writeString","nativeSrc":"234948:11:19","nodeType":"YulIdentifier","src":"234948:11:19"},"nativeSrc":"234948:21:19","nodeType":"YulFunctionCall","src":"234948:21:19"},"nativeSrc":"234948:21:19","nodeType":"YulExpressionStatement","src":"234948:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"234994:4:19","nodeType":"YulLiteral","src":"234994:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"235000:2:19","nodeType":"YulIdentifier","src":"235000:2:19"}],"functionName":{"name":"writeString","nativeSrc":"234982:11:19","nodeType":"YulIdentifier","src":"234982:11:19"},"nativeSrc":"234982:21:19","nodeType":"YulFunctionCall","src":"234982:21:19"},"nativeSrc":"234982:21:19","nodeType":"YulExpressionStatement","src":"234982:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33656,"isOffset":false,"isSlot":false,"src":"234461:2:19","valueSize":1},{"declaration":33659,"isOffset":false,"isSlot":false,"src":"234491:2:19","valueSize":1},{"declaration":33662,"isOffset":false,"isSlot":false,"src":"234521:2:19","valueSize":1},{"declaration":33665,"isOffset":false,"isSlot":false,"src":"234551:2:19","valueSize":1},{"declaration":33668,"isOffset":false,"isSlot":false,"src":"234581:2:19","valueSize":1},{"declaration":33671,"isOffset":false,"isSlot":false,"src":"234611:2:19","valueSize":1},{"declaration":33674,"isOffset":false,"isSlot":false,"src":"234641:2:19","valueSize":1},{"declaration":33677,"isOffset":false,"isSlot":false,"src":"234671:2:19","valueSize":1},{"declaration":33680,"isOffset":false,"isSlot":false,"src":"234701:2:19","valueSize":1},{"declaration":33646,"isOffset":false,"isSlot":false,"src":"234841:2:19","valueSize":1},{"declaration":33648,"isOffset":false,"isSlot":false,"src":"234966:2:19","valueSize":1},{"declaration":33650,"isOffset":false,"isSlot":false,"src":"234901:2:19","valueSize":1},{"declaration":33652,"isOffset":false,"isSlot":false,"src":"235000:2:19","valueSize":1}],"id":33682,"nodeType":"InlineAssembly","src":"234083:930:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"235038:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":33685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"235044:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":33683,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"235022:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"235022:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33687,"nodeType":"ExpressionStatement","src":"235022:28:19"},{"AST":{"nativeSrc":"235112:273:19","nodeType":"YulBlock","src":"235112:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"235133:4:19","nodeType":"YulLiteral","src":"235133:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"235139:2:19","nodeType":"YulIdentifier","src":"235139:2:19"}],"functionName":{"name":"mstore","nativeSrc":"235126:6:19","nodeType":"YulIdentifier","src":"235126:6:19"},"nativeSrc":"235126:16:19","nodeType":"YulFunctionCall","src":"235126:16:19"},"nativeSrc":"235126:16:19","nodeType":"YulExpressionStatement","src":"235126:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"235162:4:19","nodeType":"YulLiteral","src":"235162:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"235168:2:19","nodeType":"YulIdentifier","src":"235168:2:19"}],"functionName":{"name":"mstore","nativeSrc":"235155:6:19","nodeType":"YulIdentifier","src":"235155:6:19"},"nativeSrc":"235155:16:19","nodeType":"YulFunctionCall","src":"235155:16:19"},"nativeSrc":"235155:16:19","nodeType":"YulExpressionStatement","src":"235155:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"235191:4:19","nodeType":"YulLiteral","src":"235191:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"235197:2:19","nodeType":"YulIdentifier","src":"235197:2:19"}],"functionName":{"name":"mstore","nativeSrc":"235184:6:19","nodeType":"YulIdentifier","src":"235184:6:19"},"nativeSrc":"235184:16:19","nodeType":"YulFunctionCall","src":"235184:16:19"},"nativeSrc":"235184:16:19","nodeType":"YulExpressionStatement","src":"235184:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"235220:4:19","nodeType":"YulLiteral","src":"235220:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"235226:2:19","nodeType":"YulIdentifier","src":"235226:2:19"}],"functionName":{"name":"mstore","nativeSrc":"235213:6:19","nodeType":"YulIdentifier","src":"235213:6:19"},"nativeSrc":"235213:16:19","nodeType":"YulFunctionCall","src":"235213:16:19"},"nativeSrc":"235213:16:19","nodeType":"YulExpressionStatement","src":"235213:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"235249:4:19","nodeType":"YulLiteral","src":"235249:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"235255:2:19","nodeType":"YulIdentifier","src":"235255:2:19"}],"functionName":{"name":"mstore","nativeSrc":"235242:6:19","nodeType":"YulIdentifier","src":"235242:6:19"},"nativeSrc":"235242:16:19","nodeType":"YulFunctionCall","src":"235242:16:19"},"nativeSrc":"235242:16:19","nodeType":"YulExpressionStatement","src":"235242:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"235278:4:19","nodeType":"YulLiteral","src":"235278:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"235284:2:19","nodeType":"YulIdentifier","src":"235284:2:19"}],"functionName":{"name":"mstore","nativeSrc":"235271:6:19","nodeType":"YulIdentifier","src":"235271:6:19"},"nativeSrc":"235271:16:19","nodeType":"YulFunctionCall","src":"235271:16:19"},"nativeSrc":"235271:16:19","nodeType":"YulExpressionStatement","src":"235271:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"235307:4:19","nodeType":"YulLiteral","src":"235307:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"235313:2:19","nodeType":"YulIdentifier","src":"235313:2:19"}],"functionName":{"name":"mstore","nativeSrc":"235300:6:19","nodeType":"YulIdentifier","src":"235300:6:19"},"nativeSrc":"235300:16:19","nodeType":"YulFunctionCall","src":"235300:16:19"},"nativeSrc":"235300:16:19","nodeType":"YulExpressionStatement","src":"235300:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"235336:4:19","nodeType":"YulLiteral","src":"235336:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"235342:2:19","nodeType":"YulIdentifier","src":"235342:2:19"}],"functionName":{"name":"mstore","nativeSrc":"235329:6:19","nodeType":"YulIdentifier","src":"235329:6:19"},"nativeSrc":"235329:16:19","nodeType":"YulFunctionCall","src":"235329:16:19"},"nativeSrc":"235329:16:19","nodeType":"YulExpressionStatement","src":"235329:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"235365:5:19","nodeType":"YulLiteral","src":"235365:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"235372:2:19","nodeType":"YulIdentifier","src":"235372:2:19"}],"functionName":{"name":"mstore","nativeSrc":"235358:6:19","nodeType":"YulIdentifier","src":"235358:6:19"},"nativeSrc":"235358:17:19","nodeType":"YulFunctionCall","src":"235358:17:19"},"nativeSrc":"235358:17:19","nodeType":"YulExpressionStatement","src":"235358:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33656,"isOffset":false,"isSlot":false,"src":"235139:2:19","valueSize":1},{"declaration":33659,"isOffset":false,"isSlot":false,"src":"235168:2:19","valueSize":1},{"declaration":33662,"isOffset":false,"isSlot":false,"src":"235197:2:19","valueSize":1},{"declaration":33665,"isOffset":false,"isSlot":false,"src":"235226:2:19","valueSize":1},{"declaration":33668,"isOffset":false,"isSlot":false,"src":"235255:2:19","valueSize":1},{"declaration":33671,"isOffset":false,"isSlot":false,"src":"235284:2:19","valueSize":1},{"declaration":33674,"isOffset":false,"isSlot":false,"src":"235313:2:19","valueSize":1},{"declaration":33677,"isOffset":false,"isSlot":false,"src":"235342:2:19","valueSize":1},{"declaration":33680,"isOffset":false,"isSlot":false,"src":"235372:2:19","valueSize":1}],"id":33688,"nodeType":"InlineAssembly","src":"235103:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"233790:3:19","parameters":{"id":33653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33646,"mutability":"mutable","name":"p0","nameLocation":"233799:2:19","nodeType":"VariableDeclaration","scope":33690,"src":"233794:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33645,"name":"bool","nodeType":"ElementaryTypeName","src":"233794:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33648,"mutability":"mutable","name":"p1","nameLocation":"233811:2:19","nodeType":"VariableDeclaration","scope":33690,"src":"233803:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33647,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233803:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33650,"mutability":"mutable","name":"p2","nameLocation":"233820:2:19","nodeType":"VariableDeclaration","scope":33690,"src":"233815:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33649,"name":"bool","nodeType":"ElementaryTypeName","src":"233815:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33652,"mutability":"mutable","name":"p3","nameLocation":"233832:2:19","nodeType":"VariableDeclaration","scope":33690,"src":"233824:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33651,"name":"bytes32","nodeType":"ElementaryTypeName","src":"233824:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"233793:42:19"},"returnParameters":{"id":33654,"nodeType":"ParameterList","parameters":[],"src":"233850:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33730,"nodeType":"FunctionDefinition","src":"235397:1420:19","nodes":[],"body":{"id":33729,"nodeType":"Block","src":"235469:1348:19","nodes":[],"statements":[{"assignments":[33702],"declarations":[{"constant":false,"id":33702,"mutability":"mutable","name":"m0","nameLocation":"235487:2:19","nodeType":"VariableDeclaration","scope":33729,"src":"235479:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33701,"name":"bytes32","nodeType":"ElementaryTypeName","src":"235479:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33703,"nodeType":"VariableDeclarationStatement","src":"235479:10:19"},{"assignments":[33705],"declarations":[{"constant":false,"id":33705,"mutability":"mutable","name":"m1","nameLocation":"235507:2:19","nodeType":"VariableDeclaration","scope":33729,"src":"235499:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33704,"name":"bytes32","nodeType":"ElementaryTypeName","src":"235499:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33706,"nodeType":"VariableDeclarationStatement","src":"235499:10:19"},{"assignments":[33708],"declarations":[{"constant":false,"id":33708,"mutability":"mutable","name":"m2","nameLocation":"235527:2:19","nodeType":"VariableDeclaration","scope":33729,"src":"235519:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33707,"name":"bytes32","nodeType":"ElementaryTypeName","src":"235519:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33709,"nodeType":"VariableDeclarationStatement","src":"235519:10:19"},{"assignments":[33711],"declarations":[{"constant":false,"id":33711,"mutability":"mutable","name":"m3","nameLocation":"235547:2:19","nodeType":"VariableDeclaration","scope":33729,"src":"235539:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33710,"name":"bytes32","nodeType":"ElementaryTypeName","src":"235539:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33712,"nodeType":"VariableDeclarationStatement","src":"235539:10:19"},{"assignments":[33714],"declarations":[{"constant":false,"id":33714,"mutability":"mutable","name":"m4","nameLocation":"235567:2:19","nodeType":"VariableDeclaration","scope":33729,"src":"235559:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33713,"name":"bytes32","nodeType":"ElementaryTypeName","src":"235559:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33715,"nodeType":"VariableDeclarationStatement","src":"235559:10:19"},{"assignments":[33717],"declarations":[{"constant":false,"id":33717,"mutability":"mutable","name":"m5","nameLocation":"235587:2:19","nodeType":"VariableDeclaration","scope":33729,"src":"235579:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33716,"name":"bytes32","nodeType":"ElementaryTypeName","src":"235579:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33718,"nodeType":"VariableDeclarationStatement","src":"235579:10:19"},{"assignments":[33720],"declarations":[{"constant":false,"id":33720,"mutability":"mutable","name":"m6","nameLocation":"235607:2:19","nodeType":"VariableDeclaration","scope":33729,"src":"235599:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33719,"name":"bytes32","nodeType":"ElementaryTypeName","src":"235599:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33721,"nodeType":"VariableDeclarationStatement","src":"235599:10:19"},{"AST":{"nativeSrc":"235671:828:19","nodeType":"YulBlock","src":"235671:828:19","statements":[{"body":{"nativeSrc":"235714:313:19","nodeType":"YulBlock","src":"235714:313:19","statements":[{"nativeSrc":"235732:15:19","nodeType":"YulVariableDeclaration","src":"235732:15:19","value":{"kind":"number","nativeSrc":"235746:1:19","nodeType":"YulLiteral","src":"235746:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"235736:6:19","nodeType":"YulTypedName","src":"235736:6:19","type":""}]},{"body":{"nativeSrc":"235817:40:19","nodeType":"YulBlock","src":"235817:40:19","statements":[{"body":{"nativeSrc":"235846:9:19","nodeType":"YulBlock","src":"235846:9:19","statements":[{"nativeSrc":"235848:5:19","nodeType":"YulBreak","src":"235848:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"235834:6:19","nodeType":"YulIdentifier","src":"235834:6:19"},{"name":"w","nativeSrc":"235842:1:19","nodeType":"YulIdentifier","src":"235842:1:19"}],"functionName":{"name":"byte","nativeSrc":"235829:4:19","nodeType":"YulIdentifier","src":"235829:4:19"},"nativeSrc":"235829:15:19","nodeType":"YulFunctionCall","src":"235829:15:19"}],"functionName":{"name":"iszero","nativeSrc":"235822:6:19","nodeType":"YulIdentifier","src":"235822:6:19"},"nativeSrc":"235822:23:19","nodeType":"YulFunctionCall","src":"235822:23:19"},"nativeSrc":"235819:36:19","nodeType":"YulIf","src":"235819:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"235774:6:19","nodeType":"YulIdentifier","src":"235774:6:19"},{"kind":"number","nativeSrc":"235782:4:19","nodeType":"YulLiteral","src":"235782:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"235771:2:19","nodeType":"YulIdentifier","src":"235771:2:19"},"nativeSrc":"235771:16:19","nodeType":"YulFunctionCall","src":"235771:16:19"},"nativeSrc":"235764:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"235788:28:19","nodeType":"YulBlock","src":"235788:28:19","statements":[{"nativeSrc":"235790:24:19","nodeType":"YulAssignment","src":"235790:24:19","value":{"arguments":[{"name":"length","nativeSrc":"235804:6:19","nodeType":"YulIdentifier","src":"235804:6:19"},{"kind":"number","nativeSrc":"235812:1:19","nodeType":"YulLiteral","src":"235812:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"235800:3:19","nodeType":"YulIdentifier","src":"235800:3:19"},"nativeSrc":"235800:14:19","nodeType":"YulFunctionCall","src":"235800:14:19"},"variableNames":[{"name":"length","nativeSrc":"235790:6:19","nodeType":"YulIdentifier","src":"235790:6:19"}]}]},"pre":{"nativeSrc":"235768:2:19","nodeType":"YulBlock","src":"235768:2:19","statements":[]},"src":"235764:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"235881:3:19","nodeType":"YulIdentifier","src":"235881:3:19"},{"name":"length","nativeSrc":"235886:6:19","nodeType":"YulIdentifier","src":"235886:6:19"}],"functionName":{"name":"mstore","nativeSrc":"235874:6:19","nodeType":"YulIdentifier","src":"235874:6:19"},"nativeSrc":"235874:19:19","nodeType":"YulFunctionCall","src":"235874:19:19"},"nativeSrc":"235874:19:19","nodeType":"YulExpressionStatement","src":"235874:19:19"},{"nativeSrc":"235910:37:19","nodeType":"YulVariableDeclaration","src":"235910:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"235927:3:19","nodeType":"YulLiteral","src":"235927:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"235936:1:19","nodeType":"YulLiteral","src":"235936:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"235939:6:19","nodeType":"YulIdentifier","src":"235939:6:19"}],"functionName":{"name":"shl","nativeSrc":"235932:3:19","nodeType":"YulIdentifier","src":"235932:3:19"},"nativeSrc":"235932:14:19","nodeType":"YulFunctionCall","src":"235932:14:19"}],"functionName":{"name":"sub","nativeSrc":"235923:3:19","nodeType":"YulIdentifier","src":"235923:3:19"},"nativeSrc":"235923:24:19","nodeType":"YulFunctionCall","src":"235923:24:19"},"variables":[{"name":"shift","nativeSrc":"235914:5:19","nodeType":"YulTypedName","src":"235914:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"235975:3:19","nodeType":"YulIdentifier","src":"235975:3:19"},{"kind":"number","nativeSrc":"235980:4:19","nodeType":"YulLiteral","src":"235980:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"235971:3:19","nodeType":"YulIdentifier","src":"235971:3:19"},"nativeSrc":"235971:14:19","nodeType":"YulFunctionCall","src":"235971:14:19"},{"arguments":[{"name":"shift","nativeSrc":"235991:5:19","nodeType":"YulIdentifier","src":"235991:5:19"},{"arguments":[{"name":"shift","nativeSrc":"236002:5:19","nodeType":"YulIdentifier","src":"236002:5:19"},{"name":"w","nativeSrc":"236009:1:19","nodeType":"YulIdentifier","src":"236009:1:19"}],"functionName":{"name":"shr","nativeSrc":"235998:3:19","nodeType":"YulIdentifier","src":"235998:3:19"},"nativeSrc":"235998:13:19","nodeType":"YulFunctionCall","src":"235998:13:19"}],"functionName":{"name":"shl","nativeSrc":"235987:3:19","nodeType":"YulIdentifier","src":"235987:3:19"},"nativeSrc":"235987:25:19","nodeType":"YulFunctionCall","src":"235987:25:19"}],"functionName":{"name":"mstore","nativeSrc":"235964:6:19","nodeType":"YulIdentifier","src":"235964:6:19"},"nativeSrc":"235964:49:19","nodeType":"YulFunctionCall","src":"235964:49:19"},"nativeSrc":"235964:49:19","nodeType":"YulExpressionStatement","src":"235964:49:19"}]},"name":"writeString","nativeSrc":"235685:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"235706:3:19","nodeType":"YulTypedName","src":"235706:3:19","type":""},{"name":"w","nativeSrc":"235711:1:19","nodeType":"YulTypedName","src":"235711:1:19","type":""}],"src":"235685:342:19"},{"nativeSrc":"236040:17:19","nodeType":"YulAssignment","src":"236040:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"236052:4:19","nodeType":"YulLiteral","src":"236052:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"236046:5:19","nodeType":"YulIdentifier","src":"236046:5:19"},"nativeSrc":"236046:11:19","nodeType":"YulFunctionCall","src":"236046:11:19"},"variableNames":[{"name":"m0","nativeSrc":"236040:2:19","nodeType":"YulIdentifier","src":"236040:2:19"}]},{"nativeSrc":"236070:17:19","nodeType":"YulAssignment","src":"236070:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"236082:4:19","nodeType":"YulLiteral","src":"236082:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"236076:5:19","nodeType":"YulIdentifier","src":"236076:5:19"},"nativeSrc":"236076:11:19","nodeType":"YulFunctionCall","src":"236076:11:19"},"variableNames":[{"name":"m1","nativeSrc":"236070:2:19","nodeType":"YulIdentifier","src":"236070:2:19"}]},{"nativeSrc":"236100:17:19","nodeType":"YulAssignment","src":"236100:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"236112:4:19","nodeType":"YulLiteral","src":"236112:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"236106:5:19","nodeType":"YulIdentifier","src":"236106:5:19"},"nativeSrc":"236106:11:19","nodeType":"YulFunctionCall","src":"236106:11:19"},"variableNames":[{"name":"m2","nativeSrc":"236100:2:19","nodeType":"YulIdentifier","src":"236100:2:19"}]},{"nativeSrc":"236130:17:19","nodeType":"YulAssignment","src":"236130:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"236142:4:19","nodeType":"YulLiteral","src":"236142:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"236136:5:19","nodeType":"YulIdentifier","src":"236136:5:19"},"nativeSrc":"236136:11:19","nodeType":"YulFunctionCall","src":"236136:11:19"},"variableNames":[{"name":"m3","nativeSrc":"236130:2:19","nodeType":"YulIdentifier","src":"236130:2:19"}]},{"nativeSrc":"236160:17:19","nodeType":"YulAssignment","src":"236160:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"236172:4:19","nodeType":"YulLiteral","src":"236172:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"236166:5:19","nodeType":"YulIdentifier","src":"236166:5:19"},"nativeSrc":"236166:11:19","nodeType":"YulFunctionCall","src":"236166:11:19"},"variableNames":[{"name":"m4","nativeSrc":"236160:2:19","nodeType":"YulIdentifier","src":"236160:2:19"}]},{"nativeSrc":"236190:17:19","nodeType":"YulAssignment","src":"236190:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"236202:4:19","nodeType":"YulLiteral","src":"236202:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"236196:5:19","nodeType":"YulIdentifier","src":"236196:5:19"},"nativeSrc":"236196:11:19","nodeType":"YulFunctionCall","src":"236196:11:19"},"variableNames":[{"name":"m5","nativeSrc":"236190:2:19","nodeType":"YulIdentifier","src":"236190:2:19"}]},{"nativeSrc":"236220:17:19","nodeType":"YulAssignment","src":"236220:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"236232:4:19","nodeType":"YulLiteral","src":"236232:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"236226:5:19","nodeType":"YulIdentifier","src":"236226:5:19"},"nativeSrc":"236226:11:19","nodeType":"YulFunctionCall","src":"236226:11:19"},"variableNames":[{"name":"m6","nativeSrc":"236220:2:19","nodeType":"YulIdentifier","src":"236220:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236320:4:19","nodeType":"YulLiteral","src":"236320:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"236326:10:19","nodeType":"YulLiteral","src":"236326:10:19","type":"","value":"0x1596a1ce"}],"functionName":{"name":"mstore","nativeSrc":"236313:6:19","nodeType":"YulIdentifier","src":"236313:6:19"},"nativeSrc":"236313:24:19","nodeType":"YulFunctionCall","src":"236313:24:19"},"nativeSrc":"236313:24:19","nodeType":"YulExpressionStatement","src":"236313:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236357:4:19","nodeType":"YulLiteral","src":"236357:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"236363:2:19","nodeType":"YulIdentifier","src":"236363:2:19"}],"functionName":{"name":"mstore","nativeSrc":"236350:6:19","nodeType":"YulIdentifier","src":"236350:6:19"},"nativeSrc":"236350:16:19","nodeType":"YulFunctionCall","src":"236350:16:19"},"nativeSrc":"236350:16:19","nodeType":"YulExpressionStatement","src":"236350:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236386:4:19","nodeType":"YulLiteral","src":"236386:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"236392:4:19","nodeType":"YulLiteral","src":"236392:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"236379:6:19","nodeType":"YulIdentifier","src":"236379:6:19"},"nativeSrc":"236379:18:19","nodeType":"YulFunctionCall","src":"236379:18:19"},"nativeSrc":"236379:18:19","nodeType":"YulExpressionStatement","src":"236379:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236417:4:19","nodeType":"YulLiteral","src":"236417:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"236423:2:19","nodeType":"YulIdentifier","src":"236423:2:19"}],"functionName":{"name":"mstore","nativeSrc":"236410:6:19","nodeType":"YulIdentifier","src":"236410:6:19"},"nativeSrc":"236410:16:19","nodeType":"YulFunctionCall","src":"236410:16:19"},"nativeSrc":"236410:16:19","nodeType":"YulExpressionStatement","src":"236410:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236446:4:19","nodeType":"YulLiteral","src":"236446:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"236452:2:19","nodeType":"YulIdentifier","src":"236452:2:19"}],"functionName":{"name":"mstore","nativeSrc":"236439:6:19","nodeType":"YulIdentifier","src":"236439:6:19"},"nativeSrc":"236439:16:19","nodeType":"YulFunctionCall","src":"236439:16:19"},"nativeSrc":"236439:16:19","nodeType":"YulExpressionStatement","src":"236439:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236480:4:19","nodeType":"YulLiteral","src":"236480:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"236486:2:19","nodeType":"YulIdentifier","src":"236486:2:19"}],"functionName":{"name":"writeString","nativeSrc":"236468:11:19","nodeType":"YulIdentifier","src":"236468:11:19"},"nativeSrc":"236468:21:19","nodeType":"YulFunctionCall","src":"236468:21:19"},"nativeSrc":"236468:21:19","nodeType":"YulExpressionStatement","src":"236468:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33702,"isOffset":false,"isSlot":false,"src":"236040:2:19","valueSize":1},{"declaration":33705,"isOffset":false,"isSlot":false,"src":"236070:2:19","valueSize":1},{"declaration":33708,"isOffset":false,"isSlot":false,"src":"236100:2:19","valueSize":1},{"declaration":33711,"isOffset":false,"isSlot":false,"src":"236130:2:19","valueSize":1},{"declaration":33714,"isOffset":false,"isSlot":false,"src":"236160:2:19","valueSize":1},{"declaration":33717,"isOffset":false,"isSlot":false,"src":"236190:2:19","valueSize":1},{"declaration":33720,"isOffset":false,"isSlot":false,"src":"236220:2:19","valueSize":1},{"declaration":33692,"isOffset":false,"isSlot":false,"src":"236363:2:19","valueSize":1},{"declaration":33694,"isOffset":false,"isSlot":false,"src":"236486:2:19","valueSize":1},{"declaration":33696,"isOffset":false,"isSlot":false,"src":"236423:2:19","valueSize":1},{"declaration":33698,"isOffset":false,"isSlot":false,"src":"236452:2:19","valueSize":1}],"id":33722,"nodeType":"InlineAssembly","src":"235662:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"236524:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"236530:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33723,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"236508:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"236508:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33727,"nodeType":"ExpressionStatement","src":"236508:27:19"},{"AST":{"nativeSrc":"236597:214:19","nodeType":"YulBlock","src":"236597:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"236618:4:19","nodeType":"YulLiteral","src":"236618:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"236624:2:19","nodeType":"YulIdentifier","src":"236624:2:19"}],"functionName":{"name":"mstore","nativeSrc":"236611:6:19","nodeType":"YulIdentifier","src":"236611:6:19"},"nativeSrc":"236611:16:19","nodeType":"YulFunctionCall","src":"236611:16:19"},"nativeSrc":"236611:16:19","nodeType":"YulExpressionStatement","src":"236611:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236647:4:19","nodeType":"YulLiteral","src":"236647:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"236653:2:19","nodeType":"YulIdentifier","src":"236653:2:19"}],"functionName":{"name":"mstore","nativeSrc":"236640:6:19","nodeType":"YulIdentifier","src":"236640:6:19"},"nativeSrc":"236640:16:19","nodeType":"YulFunctionCall","src":"236640:16:19"},"nativeSrc":"236640:16:19","nodeType":"YulExpressionStatement","src":"236640:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236676:4:19","nodeType":"YulLiteral","src":"236676:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"236682:2:19","nodeType":"YulIdentifier","src":"236682:2:19"}],"functionName":{"name":"mstore","nativeSrc":"236669:6:19","nodeType":"YulIdentifier","src":"236669:6:19"},"nativeSrc":"236669:16:19","nodeType":"YulFunctionCall","src":"236669:16:19"},"nativeSrc":"236669:16:19","nodeType":"YulExpressionStatement","src":"236669:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236705:4:19","nodeType":"YulLiteral","src":"236705:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"236711:2:19","nodeType":"YulIdentifier","src":"236711:2:19"}],"functionName":{"name":"mstore","nativeSrc":"236698:6:19","nodeType":"YulIdentifier","src":"236698:6:19"},"nativeSrc":"236698:16:19","nodeType":"YulFunctionCall","src":"236698:16:19"},"nativeSrc":"236698:16:19","nodeType":"YulExpressionStatement","src":"236698:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236734:4:19","nodeType":"YulLiteral","src":"236734:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"236740:2:19","nodeType":"YulIdentifier","src":"236740:2:19"}],"functionName":{"name":"mstore","nativeSrc":"236727:6:19","nodeType":"YulIdentifier","src":"236727:6:19"},"nativeSrc":"236727:16:19","nodeType":"YulFunctionCall","src":"236727:16:19"},"nativeSrc":"236727:16:19","nodeType":"YulExpressionStatement","src":"236727:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236763:4:19","nodeType":"YulLiteral","src":"236763:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"236769:2:19","nodeType":"YulIdentifier","src":"236769:2:19"}],"functionName":{"name":"mstore","nativeSrc":"236756:6:19","nodeType":"YulIdentifier","src":"236756:6:19"},"nativeSrc":"236756:16:19","nodeType":"YulFunctionCall","src":"236756:16:19"},"nativeSrc":"236756:16:19","nodeType":"YulExpressionStatement","src":"236756:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"236792:4:19","nodeType":"YulLiteral","src":"236792:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"236798:2:19","nodeType":"YulIdentifier","src":"236798:2:19"}],"functionName":{"name":"mstore","nativeSrc":"236785:6:19","nodeType":"YulIdentifier","src":"236785:6:19"},"nativeSrc":"236785:16:19","nodeType":"YulFunctionCall","src":"236785:16:19"},"nativeSrc":"236785:16:19","nodeType":"YulExpressionStatement","src":"236785:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33702,"isOffset":false,"isSlot":false,"src":"236624:2:19","valueSize":1},{"declaration":33705,"isOffset":false,"isSlot":false,"src":"236653:2:19","valueSize":1},{"declaration":33708,"isOffset":false,"isSlot":false,"src":"236682:2:19","valueSize":1},{"declaration":33711,"isOffset":false,"isSlot":false,"src":"236711:2:19","valueSize":1},{"declaration":33714,"isOffset":false,"isSlot":false,"src":"236740:2:19","valueSize":1},{"declaration":33717,"isOffset":false,"isSlot":false,"src":"236769:2:19","valueSize":1},{"declaration":33720,"isOffset":false,"isSlot":false,"src":"236798:2:19","valueSize":1}],"id":33728,"nodeType":"InlineAssembly","src":"236588:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"235406:3:19","parameters":{"id":33699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33692,"mutability":"mutable","name":"p0","nameLocation":"235415:2:19","nodeType":"VariableDeclaration","scope":33730,"src":"235410:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33691,"name":"bool","nodeType":"ElementaryTypeName","src":"235410:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33694,"mutability":"mutable","name":"p1","nameLocation":"235427:2:19","nodeType":"VariableDeclaration","scope":33730,"src":"235419:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33693,"name":"bytes32","nodeType":"ElementaryTypeName","src":"235419:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33696,"mutability":"mutable","name":"p2","nameLocation":"235439:2:19","nodeType":"VariableDeclaration","scope":33730,"src":"235431:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33695,"name":"uint256","nodeType":"ElementaryTypeName","src":"235431:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33698,"mutability":"mutable","name":"p3","nameLocation":"235451:2:19","nodeType":"VariableDeclaration","scope":33730,"src":"235443:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33697,"name":"address","nodeType":"ElementaryTypeName","src":"235443:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"235409:45:19"},"returnParameters":{"id":33700,"nodeType":"ParameterList","parameters":[],"src":"235469:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33770,"nodeType":"FunctionDefinition","src":"236823:1414:19","nodes":[],"body":{"id":33769,"nodeType":"Block","src":"236892:1345:19","nodes":[],"statements":[{"assignments":[33742],"declarations":[{"constant":false,"id":33742,"mutability":"mutable","name":"m0","nameLocation":"236910:2:19","nodeType":"VariableDeclaration","scope":33769,"src":"236902:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33741,"name":"bytes32","nodeType":"ElementaryTypeName","src":"236902:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33743,"nodeType":"VariableDeclarationStatement","src":"236902:10:19"},{"assignments":[33745],"declarations":[{"constant":false,"id":33745,"mutability":"mutable","name":"m1","nameLocation":"236930:2:19","nodeType":"VariableDeclaration","scope":33769,"src":"236922:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"236922:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33746,"nodeType":"VariableDeclarationStatement","src":"236922:10:19"},{"assignments":[33748],"declarations":[{"constant":false,"id":33748,"mutability":"mutable","name":"m2","nameLocation":"236950:2:19","nodeType":"VariableDeclaration","scope":33769,"src":"236942:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33747,"name":"bytes32","nodeType":"ElementaryTypeName","src":"236942:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33749,"nodeType":"VariableDeclarationStatement","src":"236942:10:19"},{"assignments":[33751],"declarations":[{"constant":false,"id":33751,"mutability":"mutable","name":"m3","nameLocation":"236970:2:19","nodeType":"VariableDeclaration","scope":33769,"src":"236962:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33750,"name":"bytes32","nodeType":"ElementaryTypeName","src":"236962:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33752,"nodeType":"VariableDeclarationStatement","src":"236962:10:19"},{"assignments":[33754],"declarations":[{"constant":false,"id":33754,"mutability":"mutable","name":"m4","nameLocation":"236990:2:19","nodeType":"VariableDeclaration","scope":33769,"src":"236982:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33753,"name":"bytes32","nodeType":"ElementaryTypeName","src":"236982:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33755,"nodeType":"VariableDeclarationStatement","src":"236982:10:19"},{"assignments":[33757],"declarations":[{"constant":false,"id":33757,"mutability":"mutable","name":"m5","nameLocation":"237010:2:19","nodeType":"VariableDeclaration","scope":33769,"src":"237002:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33756,"name":"bytes32","nodeType":"ElementaryTypeName","src":"237002:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33758,"nodeType":"VariableDeclarationStatement","src":"237002:10:19"},{"assignments":[33760],"declarations":[{"constant":false,"id":33760,"mutability":"mutable","name":"m6","nameLocation":"237030:2:19","nodeType":"VariableDeclaration","scope":33769,"src":"237022:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33759,"name":"bytes32","nodeType":"ElementaryTypeName","src":"237022:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33761,"nodeType":"VariableDeclarationStatement","src":"237022:10:19"},{"AST":{"nativeSrc":"237094:825:19","nodeType":"YulBlock","src":"237094:825:19","statements":[{"body":{"nativeSrc":"237137:313:19","nodeType":"YulBlock","src":"237137:313:19","statements":[{"nativeSrc":"237155:15:19","nodeType":"YulVariableDeclaration","src":"237155:15:19","value":{"kind":"number","nativeSrc":"237169:1:19","nodeType":"YulLiteral","src":"237169:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"237159:6:19","nodeType":"YulTypedName","src":"237159:6:19","type":""}]},{"body":{"nativeSrc":"237240:40:19","nodeType":"YulBlock","src":"237240:40:19","statements":[{"body":{"nativeSrc":"237269:9:19","nodeType":"YulBlock","src":"237269:9:19","statements":[{"nativeSrc":"237271:5:19","nodeType":"YulBreak","src":"237271:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"237257:6:19","nodeType":"YulIdentifier","src":"237257:6:19"},{"name":"w","nativeSrc":"237265:1:19","nodeType":"YulIdentifier","src":"237265:1:19"}],"functionName":{"name":"byte","nativeSrc":"237252:4:19","nodeType":"YulIdentifier","src":"237252:4:19"},"nativeSrc":"237252:15:19","nodeType":"YulFunctionCall","src":"237252:15:19"}],"functionName":{"name":"iszero","nativeSrc":"237245:6:19","nodeType":"YulIdentifier","src":"237245:6:19"},"nativeSrc":"237245:23:19","nodeType":"YulFunctionCall","src":"237245:23:19"},"nativeSrc":"237242:36:19","nodeType":"YulIf","src":"237242:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"237197:6:19","nodeType":"YulIdentifier","src":"237197:6:19"},{"kind":"number","nativeSrc":"237205:4:19","nodeType":"YulLiteral","src":"237205:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"237194:2:19","nodeType":"YulIdentifier","src":"237194:2:19"},"nativeSrc":"237194:16:19","nodeType":"YulFunctionCall","src":"237194:16:19"},"nativeSrc":"237187:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"237211:28:19","nodeType":"YulBlock","src":"237211:28:19","statements":[{"nativeSrc":"237213:24:19","nodeType":"YulAssignment","src":"237213:24:19","value":{"arguments":[{"name":"length","nativeSrc":"237227:6:19","nodeType":"YulIdentifier","src":"237227:6:19"},{"kind":"number","nativeSrc":"237235:1:19","nodeType":"YulLiteral","src":"237235:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"237223:3:19","nodeType":"YulIdentifier","src":"237223:3:19"},"nativeSrc":"237223:14:19","nodeType":"YulFunctionCall","src":"237223:14:19"},"variableNames":[{"name":"length","nativeSrc":"237213:6:19","nodeType":"YulIdentifier","src":"237213:6:19"}]}]},"pre":{"nativeSrc":"237191:2:19","nodeType":"YulBlock","src":"237191:2:19","statements":[]},"src":"237187:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"237304:3:19","nodeType":"YulIdentifier","src":"237304:3:19"},{"name":"length","nativeSrc":"237309:6:19","nodeType":"YulIdentifier","src":"237309:6:19"}],"functionName":{"name":"mstore","nativeSrc":"237297:6:19","nodeType":"YulIdentifier","src":"237297:6:19"},"nativeSrc":"237297:19:19","nodeType":"YulFunctionCall","src":"237297:19:19"},"nativeSrc":"237297:19:19","nodeType":"YulExpressionStatement","src":"237297:19:19"},{"nativeSrc":"237333:37:19","nodeType":"YulVariableDeclaration","src":"237333:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"237350:3:19","nodeType":"YulLiteral","src":"237350:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"237359:1:19","nodeType":"YulLiteral","src":"237359:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"237362:6:19","nodeType":"YulIdentifier","src":"237362:6:19"}],"functionName":{"name":"shl","nativeSrc":"237355:3:19","nodeType":"YulIdentifier","src":"237355:3:19"},"nativeSrc":"237355:14:19","nodeType":"YulFunctionCall","src":"237355:14:19"}],"functionName":{"name":"sub","nativeSrc":"237346:3:19","nodeType":"YulIdentifier","src":"237346:3:19"},"nativeSrc":"237346:24:19","nodeType":"YulFunctionCall","src":"237346:24:19"},"variables":[{"name":"shift","nativeSrc":"237337:5:19","nodeType":"YulTypedName","src":"237337:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"237398:3:19","nodeType":"YulIdentifier","src":"237398:3:19"},{"kind":"number","nativeSrc":"237403:4:19","nodeType":"YulLiteral","src":"237403:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"237394:3:19","nodeType":"YulIdentifier","src":"237394:3:19"},"nativeSrc":"237394:14:19","nodeType":"YulFunctionCall","src":"237394:14:19"},{"arguments":[{"name":"shift","nativeSrc":"237414:5:19","nodeType":"YulIdentifier","src":"237414:5:19"},{"arguments":[{"name":"shift","nativeSrc":"237425:5:19","nodeType":"YulIdentifier","src":"237425:5:19"},{"name":"w","nativeSrc":"237432:1:19","nodeType":"YulIdentifier","src":"237432:1:19"}],"functionName":{"name":"shr","nativeSrc":"237421:3:19","nodeType":"YulIdentifier","src":"237421:3:19"},"nativeSrc":"237421:13:19","nodeType":"YulFunctionCall","src":"237421:13:19"}],"functionName":{"name":"shl","nativeSrc":"237410:3:19","nodeType":"YulIdentifier","src":"237410:3:19"},"nativeSrc":"237410:25:19","nodeType":"YulFunctionCall","src":"237410:25:19"}],"functionName":{"name":"mstore","nativeSrc":"237387:6:19","nodeType":"YulIdentifier","src":"237387:6:19"},"nativeSrc":"237387:49:19","nodeType":"YulFunctionCall","src":"237387:49:19"},"nativeSrc":"237387:49:19","nodeType":"YulExpressionStatement","src":"237387:49:19"}]},"name":"writeString","nativeSrc":"237108:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"237129:3:19","nodeType":"YulTypedName","src":"237129:3:19","type":""},{"name":"w","nativeSrc":"237134:1:19","nodeType":"YulTypedName","src":"237134:1:19","type":""}],"src":"237108:342:19"},{"nativeSrc":"237463:17:19","nodeType":"YulAssignment","src":"237463:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"237475:4:19","nodeType":"YulLiteral","src":"237475:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"237469:5:19","nodeType":"YulIdentifier","src":"237469:5:19"},"nativeSrc":"237469:11:19","nodeType":"YulFunctionCall","src":"237469:11:19"},"variableNames":[{"name":"m0","nativeSrc":"237463:2:19","nodeType":"YulIdentifier","src":"237463:2:19"}]},{"nativeSrc":"237493:17:19","nodeType":"YulAssignment","src":"237493:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"237505:4:19","nodeType":"YulLiteral","src":"237505:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"237499:5:19","nodeType":"YulIdentifier","src":"237499:5:19"},"nativeSrc":"237499:11:19","nodeType":"YulFunctionCall","src":"237499:11:19"},"variableNames":[{"name":"m1","nativeSrc":"237493:2:19","nodeType":"YulIdentifier","src":"237493:2:19"}]},{"nativeSrc":"237523:17:19","nodeType":"YulAssignment","src":"237523:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"237535:4:19","nodeType":"YulLiteral","src":"237535:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"237529:5:19","nodeType":"YulIdentifier","src":"237529:5:19"},"nativeSrc":"237529:11:19","nodeType":"YulFunctionCall","src":"237529:11:19"},"variableNames":[{"name":"m2","nativeSrc":"237523:2:19","nodeType":"YulIdentifier","src":"237523:2:19"}]},{"nativeSrc":"237553:17:19","nodeType":"YulAssignment","src":"237553:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"237565:4:19","nodeType":"YulLiteral","src":"237565:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"237559:5:19","nodeType":"YulIdentifier","src":"237559:5:19"},"nativeSrc":"237559:11:19","nodeType":"YulFunctionCall","src":"237559:11:19"},"variableNames":[{"name":"m3","nativeSrc":"237553:2:19","nodeType":"YulIdentifier","src":"237553:2:19"}]},{"nativeSrc":"237583:17:19","nodeType":"YulAssignment","src":"237583:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"237595:4:19","nodeType":"YulLiteral","src":"237595:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"237589:5:19","nodeType":"YulIdentifier","src":"237589:5:19"},"nativeSrc":"237589:11:19","nodeType":"YulFunctionCall","src":"237589:11:19"},"variableNames":[{"name":"m4","nativeSrc":"237583:2:19","nodeType":"YulIdentifier","src":"237583:2:19"}]},{"nativeSrc":"237613:17:19","nodeType":"YulAssignment","src":"237613:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"237625:4:19","nodeType":"YulLiteral","src":"237625:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"237619:5:19","nodeType":"YulIdentifier","src":"237619:5:19"},"nativeSrc":"237619:11:19","nodeType":"YulFunctionCall","src":"237619:11:19"},"variableNames":[{"name":"m5","nativeSrc":"237613:2:19","nodeType":"YulIdentifier","src":"237613:2:19"}]},{"nativeSrc":"237643:17:19","nodeType":"YulAssignment","src":"237643:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"237655:4:19","nodeType":"YulLiteral","src":"237655:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"237649:5:19","nodeType":"YulIdentifier","src":"237649:5:19"},"nativeSrc":"237649:11:19","nodeType":"YulFunctionCall","src":"237649:11:19"},"variableNames":[{"name":"m6","nativeSrc":"237643:2:19","nodeType":"YulIdentifier","src":"237643:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"237740:4:19","nodeType":"YulLiteral","src":"237740:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"237746:10:19","nodeType":"YulLiteral","src":"237746:10:19","type":"","value":"0x6b0e5d53"}],"functionName":{"name":"mstore","nativeSrc":"237733:6:19","nodeType":"YulIdentifier","src":"237733:6:19"},"nativeSrc":"237733:24:19","nodeType":"YulFunctionCall","src":"237733:24:19"},"nativeSrc":"237733:24:19","nodeType":"YulExpressionStatement","src":"237733:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"237777:4:19","nodeType":"YulLiteral","src":"237777:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"237783:2:19","nodeType":"YulIdentifier","src":"237783:2:19"}],"functionName":{"name":"mstore","nativeSrc":"237770:6:19","nodeType":"YulIdentifier","src":"237770:6:19"},"nativeSrc":"237770:16:19","nodeType":"YulFunctionCall","src":"237770:16:19"},"nativeSrc":"237770:16:19","nodeType":"YulExpressionStatement","src":"237770:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"237806:4:19","nodeType":"YulLiteral","src":"237806:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"237812:4:19","nodeType":"YulLiteral","src":"237812:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"237799:6:19","nodeType":"YulIdentifier","src":"237799:6:19"},"nativeSrc":"237799:18:19","nodeType":"YulFunctionCall","src":"237799:18:19"},"nativeSrc":"237799:18:19","nodeType":"YulExpressionStatement","src":"237799:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"237837:4:19","nodeType":"YulLiteral","src":"237837:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"237843:2:19","nodeType":"YulIdentifier","src":"237843:2:19"}],"functionName":{"name":"mstore","nativeSrc":"237830:6:19","nodeType":"YulIdentifier","src":"237830:6:19"},"nativeSrc":"237830:16:19","nodeType":"YulFunctionCall","src":"237830:16:19"},"nativeSrc":"237830:16:19","nodeType":"YulExpressionStatement","src":"237830:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"237866:4:19","nodeType":"YulLiteral","src":"237866:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"237872:2:19","nodeType":"YulIdentifier","src":"237872:2:19"}],"functionName":{"name":"mstore","nativeSrc":"237859:6:19","nodeType":"YulIdentifier","src":"237859:6:19"},"nativeSrc":"237859:16:19","nodeType":"YulFunctionCall","src":"237859:16:19"},"nativeSrc":"237859:16:19","nodeType":"YulExpressionStatement","src":"237859:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"237900:4:19","nodeType":"YulLiteral","src":"237900:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"237906:2:19","nodeType":"YulIdentifier","src":"237906:2:19"}],"functionName":{"name":"writeString","nativeSrc":"237888:11:19","nodeType":"YulIdentifier","src":"237888:11:19"},"nativeSrc":"237888:21:19","nodeType":"YulFunctionCall","src":"237888:21:19"},"nativeSrc":"237888:21:19","nodeType":"YulExpressionStatement","src":"237888:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33742,"isOffset":false,"isSlot":false,"src":"237463:2:19","valueSize":1},{"declaration":33745,"isOffset":false,"isSlot":false,"src":"237493:2:19","valueSize":1},{"declaration":33748,"isOffset":false,"isSlot":false,"src":"237523:2:19","valueSize":1},{"declaration":33751,"isOffset":false,"isSlot":false,"src":"237553:2:19","valueSize":1},{"declaration":33754,"isOffset":false,"isSlot":false,"src":"237583:2:19","valueSize":1},{"declaration":33757,"isOffset":false,"isSlot":false,"src":"237613:2:19","valueSize":1},{"declaration":33760,"isOffset":false,"isSlot":false,"src":"237643:2:19","valueSize":1},{"declaration":33732,"isOffset":false,"isSlot":false,"src":"237783:2:19","valueSize":1},{"declaration":33734,"isOffset":false,"isSlot":false,"src":"237906:2:19","valueSize":1},{"declaration":33736,"isOffset":false,"isSlot":false,"src":"237843:2:19","valueSize":1},{"declaration":33738,"isOffset":false,"isSlot":false,"src":"237872:2:19","valueSize":1}],"id":33762,"nodeType":"InlineAssembly","src":"237085:834:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"237944:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"237950:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33763,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"237928:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"237928:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33767,"nodeType":"ExpressionStatement","src":"237928:27:19"},{"AST":{"nativeSrc":"238017:214:19","nodeType":"YulBlock","src":"238017:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"238038:4:19","nodeType":"YulLiteral","src":"238038:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"238044:2:19","nodeType":"YulIdentifier","src":"238044:2:19"}],"functionName":{"name":"mstore","nativeSrc":"238031:6:19","nodeType":"YulIdentifier","src":"238031:6:19"},"nativeSrc":"238031:16:19","nodeType":"YulFunctionCall","src":"238031:16:19"},"nativeSrc":"238031:16:19","nodeType":"YulExpressionStatement","src":"238031:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"238067:4:19","nodeType":"YulLiteral","src":"238067:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"238073:2:19","nodeType":"YulIdentifier","src":"238073:2:19"}],"functionName":{"name":"mstore","nativeSrc":"238060:6:19","nodeType":"YulIdentifier","src":"238060:6:19"},"nativeSrc":"238060:16:19","nodeType":"YulFunctionCall","src":"238060:16:19"},"nativeSrc":"238060:16:19","nodeType":"YulExpressionStatement","src":"238060:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"238096:4:19","nodeType":"YulLiteral","src":"238096:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"238102:2:19","nodeType":"YulIdentifier","src":"238102:2:19"}],"functionName":{"name":"mstore","nativeSrc":"238089:6:19","nodeType":"YulIdentifier","src":"238089:6:19"},"nativeSrc":"238089:16:19","nodeType":"YulFunctionCall","src":"238089:16:19"},"nativeSrc":"238089:16:19","nodeType":"YulExpressionStatement","src":"238089:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"238125:4:19","nodeType":"YulLiteral","src":"238125:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"238131:2:19","nodeType":"YulIdentifier","src":"238131:2:19"}],"functionName":{"name":"mstore","nativeSrc":"238118:6:19","nodeType":"YulIdentifier","src":"238118:6:19"},"nativeSrc":"238118:16:19","nodeType":"YulFunctionCall","src":"238118:16:19"},"nativeSrc":"238118:16:19","nodeType":"YulExpressionStatement","src":"238118:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"238154:4:19","nodeType":"YulLiteral","src":"238154:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"238160:2:19","nodeType":"YulIdentifier","src":"238160:2:19"}],"functionName":{"name":"mstore","nativeSrc":"238147:6:19","nodeType":"YulIdentifier","src":"238147:6:19"},"nativeSrc":"238147:16:19","nodeType":"YulFunctionCall","src":"238147:16:19"},"nativeSrc":"238147:16:19","nodeType":"YulExpressionStatement","src":"238147:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"238183:4:19","nodeType":"YulLiteral","src":"238183:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"238189:2:19","nodeType":"YulIdentifier","src":"238189:2:19"}],"functionName":{"name":"mstore","nativeSrc":"238176:6:19","nodeType":"YulIdentifier","src":"238176:6:19"},"nativeSrc":"238176:16:19","nodeType":"YulFunctionCall","src":"238176:16:19"},"nativeSrc":"238176:16:19","nodeType":"YulExpressionStatement","src":"238176:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"238212:4:19","nodeType":"YulLiteral","src":"238212:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"238218:2:19","nodeType":"YulIdentifier","src":"238218:2:19"}],"functionName":{"name":"mstore","nativeSrc":"238205:6:19","nodeType":"YulIdentifier","src":"238205:6:19"},"nativeSrc":"238205:16:19","nodeType":"YulFunctionCall","src":"238205:16:19"},"nativeSrc":"238205:16:19","nodeType":"YulExpressionStatement","src":"238205:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33742,"isOffset":false,"isSlot":false,"src":"238044:2:19","valueSize":1},{"declaration":33745,"isOffset":false,"isSlot":false,"src":"238073:2:19","valueSize":1},{"declaration":33748,"isOffset":false,"isSlot":false,"src":"238102:2:19","valueSize":1},{"declaration":33751,"isOffset":false,"isSlot":false,"src":"238131:2:19","valueSize":1},{"declaration":33754,"isOffset":false,"isSlot":false,"src":"238160:2:19","valueSize":1},{"declaration":33757,"isOffset":false,"isSlot":false,"src":"238189:2:19","valueSize":1},{"declaration":33760,"isOffset":false,"isSlot":false,"src":"238218:2:19","valueSize":1}],"id":33768,"nodeType":"InlineAssembly","src":"238008:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"236832:3:19","parameters":{"id":33739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33732,"mutability":"mutable","name":"p0","nameLocation":"236841:2:19","nodeType":"VariableDeclaration","scope":33770,"src":"236836:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33731,"name":"bool","nodeType":"ElementaryTypeName","src":"236836:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33734,"mutability":"mutable","name":"p1","nameLocation":"236853:2:19","nodeType":"VariableDeclaration","scope":33770,"src":"236845:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33733,"name":"bytes32","nodeType":"ElementaryTypeName","src":"236845:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33736,"mutability":"mutable","name":"p2","nameLocation":"236865:2:19","nodeType":"VariableDeclaration","scope":33770,"src":"236857:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33735,"name":"uint256","nodeType":"ElementaryTypeName","src":"236857:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33738,"mutability":"mutable","name":"p3","nameLocation":"236874:2:19","nodeType":"VariableDeclaration","scope":33770,"src":"236869:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33737,"name":"bool","nodeType":"ElementaryTypeName","src":"236869:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"236835:42:19"},"returnParameters":{"id":33740,"nodeType":"ParameterList","parameters":[],"src":"236892:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33810,"nodeType":"FunctionDefinition","src":"238243:1420:19","nodes":[],"body":{"id":33809,"nodeType":"Block","src":"238315:1348:19","nodes":[],"statements":[{"assignments":[33782],"declarations":[{"constant":false,"id":33782,"mutability":"mutable","name":"m0","nameLocation":"238333:2:19","nodeType":"VariableDeclaration","scope":33809,"src":"238325:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33781,"name":"bytes32","nodeType":"ElementaryTypeName","src":"238325:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33783,"nodeType":"VariableDeclarationStatement","src":"238325:10:19"},{"assignments":[33785],"declarations":[{"constant":false,"id":33785,"mutability":"mutable","name":"m1","nameLocation":"238353:2:19","nodeType":"VariableDeclaration","scope":33809,"src":"238345:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33784,"name":"bytes32","nodeType":"ElementaryTypeName","src":"238345:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33786,"nodeType":"VariableDeclarationStatement","src":"238345:10:19"},{"assignments":[33788],"declarations":[{"constant":false,"id":33788,"mutability":"mutable","name":"m2","nameLocation":"238373:2:19","nodeType":"VariableDeclaration","scope":33809,"src":"238365:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33787,"name":"bytes32","nodeType":"ElementaryTypeName","src":"238365:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33789,"nodeType":"VariableDeclarationStatement","src":"238365:10:19"},{"assignments":[33791],"declarations":[{"constant":false,"id":33791,"mutability":"mutable","name":"m3","nameLocation":"238393:2:19","nodeType":"VariableDeclaration","scope":33809,"src":"238385:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33790,"name":"bytes32","nodeType":"ElementaryTypeName","src":"238385:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33792,"nodeType":"VariableDeclarationStatement","src":"238385:10:19"},{"assignments":[33794],"declarations":[{"constant":false,"id":33794,"mutability":"mutable","name":"m4","nameLocation":"238413:2:19","nodeType":"VariableDeclaration","scope":33809,"src":"238405:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"238405:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33795,"nodeType":"VariableDeclarationStatement","src":"238405:10:19"},{"assignments":[33797],"declarations":[{"constant":false,"id":33797,"mutability":"mutable","name":"m5","nameLocation":"238433:2:19","nodeType":"VariableDeclaration","scope":33809,"src":"238425:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33796,"name":"bytes32","nodeType":"ElementaryTypeName","src":"238425:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33798,"nodeType":"VariableDeclarationStatement","src":"238425:10:19"},{"assignments":[33800],"declarations":[{"constant":false,"id":33800,"mutability":"mutable","name":"m6","nameLocation":"238453:2:19","nodeType":"VariableDeclaration","scope":33809,"src":"238445:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33799,"name":"bytes32","nodeType":"ElementaryTypeName","src":"238445:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33801,"nodeType":"VariableDeclarationStatement","src":"238445:10:19"},{"AST":{"nativeSrc":"238517:828:19","nodeType":"YulBlock","src":"238517:828:19","statements":[{"body":{"nativeSrc":"238560:313:19","nodeType":"YulBlock","src":"238560:313:19","statements":[{"nativeSrc":"238578:15:19","nodeType":"YulVariableDeclaration","src":"238578:15:19","value":{"kind":"number","nativeSrc":"238592:1:19","nodeType":"YulLiteral","src":"238592:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"238582:6:19","nodeType":"YulTypedName","src":"238582:6:19","type":""}]},{"body":{"nativeSrc":"238663:40:19","nodeType":"YulBlock","src":"238663:40:19","statements":[{"body":{"nativeSrc":"238692:9:19","nodeType":"YulBlock","src":"238692:9:19","statements":[{"nativeSrc":"238694:5:19","nodeType":"YulBreak","src":"238694:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"238680:6:19","nodeType":"YulIdentifier","src":"238680:6:19"},{"name":"w","nativeSrc":"238688:1:19","nodeType":"YulIdentifier","src":"238688:1:19"}],"functionName":{"name":"byte","nativeSrc":"238675:4:19","nodeType":"YulIdentifier","src":"238675:4:19"},"nativeSrc":"238675:15:19","nodeType":"YulFunctionCall","src":"238675:15:19"}],"functionName":{"name":"iszero","nativeSrc":"238668:6:19","nodeType":"YulIdentifier","src":"238668:6:19"},"nativeSrc":"238668:23:19","nodeType":"YulFunctionCall","src":"238668:23:19"},"nativeSrc":"238665:36:19","nodeType":"YulIf","src":"238665:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"238620:6:19","nodeType":"YulIdentifier","src":"238620:6:19"},{"kind":"number","nativeSrc":"238628:4:19","nodeType":"YulLiteral","src":"238628:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"238617:2:19","nodeType":"YulIdentifier","src":"238617:2:19"},"nativeSrc":"238617:16:19","nodeType":"YulFunctionCall","src":"238617:16:19"},"nativeSrc":"238610:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"238634:28:19","nodeType":"YulBlock","src":"238634:28:19","statements":[{"nativeSrc":"238636:24:19","nodeType":"YulAssignment","src":"238636:24:19","value":{"arguments":[{"name":"length","nativeSrc":"238650:6:19","nodeType":"YulIdentifier","src":"238650:6:19"},{"kind":"number","nativeSrc":"238658:1:19","nodeType":"YulLiteral","src":"238658:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"238646:3:19","nodeType":"YulIdentifier","src":"238646:3:19"},"nativeSrc":"238646:14:19","nodeType":"YulFunctionCall","src":"238646:14:19"},"variableNames":[{"name":"length","nativeSrc":"238636:6:19","nodeType":"YulIdentifier","src":"238636:6:19"}]}]},"pre":{"nativeSrc":"238614:2:19","nodeType":"YulBlock","src":"238614:2:19","statements":[]},"src":"238610:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"238727:3:19","nodeType":"YulIdentifier","src":"238727:3:19"},{"name":"length","nativeSrc":"238732:6:19","nodeType":"YulIdentifier","src":"238732:6:19"}],"functionName":{"name":"mstore","nativeSrc":"238720:6:19","nodeType":"YulIdentifier","src":"238720:6:19"},"nativeSrc":"238720:19:19","nodeType":"YulFunctionCall","src":"238720:19:19"},"nativeSrc":"238720:19:19","nodeType":"YulExpressionStatement","src":"238720:19:19"},{"nativeSrc":"238756:37:19","nodeType":"YulVariableDeclaration","src":"238756:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"238773:3:19","nodeType":"YulLiteral","src":"238773:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"238782:1:19","nodeType":"YulLiteral","src":"238782:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"238785:6:19","nodeType":"YulIdentifier","src":"238785:6:19"}],"functionName":{"name":"shl","nativeSrc":"238778:3:19","nodeType":"YulIdentifier","src":"238778:3:19"},"nativeSrc":"238778:14:19","nodeType":"YulFunctionCall","src":"238778:14:19"}],"functionName":{"name":"sub","nativeSrc":"238769:3:19","nodeType":"YulIdentifier","src":"238769:3:19"},"nativeSrc":"238769:24:19","nodeType":"YulFunctionCall","src":"238769:24:19"},"variables":[{"name":"shift","nativeSrc":"238760:5:19","nodeType":"YulTypedName","src":"238760:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"238821:3:19","nodeType":"YulIdentifier","src":"238821:3:19"},{"kind":"number","nativeSrc":"238826:4:19","nodeType":"YulLiteral","src":"238826:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"238817:3:19","nodeType":"YulIdentifier","src":"238817:3:19"},"nativeSrc":"238817:14:19","nodeType":"YulFunctionCall","src":"238817:14:19"},{"arguments":[{"name":"shift","nativeSrc":"238837:5:19","nodeType":"YulIdentifier","src":"238837:5:19"},{"arguments":[{"name":"shift","nativeSrc":"238848:5:19","nodeType":"YulIdentifier","src":"238848:5:19"},{"name":"w","nativeSrc":"238855:1:19","nodeType":"YulIdentifier","src":"238855:1:19"}],"functionName":{"name":"shr","nativeSrc":"238844:3:19","nodeType":"YulIdentifier","src":"238844:3:19"},"nativeSrc":"238844:13:19","nodeType":"YulFunctionCall","src":"238844:13:19"}],"functionName":{"name":"shl","nativeSrc":"238833:3:19","nodeType":"YulIdentifier","src":"238833:3:19"},"nativeSrc":"238833:25:19","nodeType":"YulFunctionCall","src":"238833:25:19"}],"functionName":{"name":"mstore","nativeSrc":"238810:6:19","nodeType":"YulIdentifier","src":"238810:6:19"},"nativeSrc":"238810:49:19","nodeType":"YulFunctionCall","src":"238810:49:19"},"nativeSrc":"238810:49:19","nodeType":"YulExpressionStatement","src":"238810:49:19"}]},"name":"writeString","nativeSrc":"238531:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"238552:3:19","nodeType":"YulTypedName","src":"238552:3:19","type":""},{"name":"w","nativeSrc":"238557:1:19","nodeType":"YulTypedName","src":"238557:1:19","type":""}],"src":"238531:342:19"},{"nativeSrc":"238886:17:19","nodeType":"YulAssignment","src":"238886:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"238898:4:19","nodeType":"YulLiteral","src":"238898:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"238892:5:19","nodeType":"YulIdentifier","src":"238892:5:19"},"nativeSrc":"238892:11:19","nodeType":"YulFunctionCall","src":"238892:11:19"},"variableNames":[{"name":"m0","nativeSrc":"238886:2:19","nodeType":"YulIdentifier","src":"238886:2:19"}]},{"nativeSrc":"238916:17:19","nodeType":"YulAssignment","src":"238916:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"238928:4:19","nodeType":"YulLiteral","src":"238928:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"238922:5:19","nodeType":"YulIdentifier","src":"238922:5:19"},"nativeSrc":"238922:11:19","nodeType":"YulFunctionCall","src":"238922:11:19"},"variableNames":[{"name":"m1","nativeSrc":"238916:2:19","nodeType":"YulIdentifier","src":"238916:2:19"}]},{"nativeSrc":"238946:17:19","nodeType":"YulAssignment","src":"238946:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"238958:4:19","nodeType":"YulLiteral","src":"238958:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"238952:5:19","nodeType":"YulIdentifier","src":"238952:5:19"},"nativeSrc":"238952:11:19","nodeType":"YulFunctionCall","src":"238952:11:19"},"variableNames":[{"name":"m2","nativeSrc":"238946:2:19","nodeType":"YulIdentifier","src":"238946:2:19"}]},{"nativeSrc":"238976:17:19","nodeType":"YulAssignment","src":"238976:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"238988:4:19","nodeType":"YulLiteral","src":"238988:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"238982:5:19","nodeType":"YulIdentifier","src":"238982:5:19"},"nativeSrc":"238982:11:19","nodeType":"YulFunctionCall","src":"238982:11:19"},"variableNames":[{"name":"m3","nativeSrc":"238976:2:19","nodeType":"YulIdentifier","src":"238976:2:19"}]},{"nativeSrc":"239006:17:19","nodeType":"YulAssignment","src":"239006:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"239018:4:19","nodeType":"YulLiteral","src":"239018:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"239012:5:19","nodeType":"YulIdentifier","src":"239012:5:19"},"nativeSrc":"239012:11:19","nodeType":"YulFunctionCall","src":"239012:11:19"},"variableNames":[{"name":"m4","nativeSrc":"239006:2:19","nodeType":"YulIdentifier","src":"239006:2:19"}]},{"nativeSrc":"239036:17:19","nodeType":"YulAssignment","src":"239036:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"239048:4:19","nodeType":"YulLiteral","src":"239048:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"239042:5:19","nodeType":"YulIdentifier","src":"239042:5:19"},"nativeSrc":"239042:11:19","nodeType":"YulFunctionCall","src":"239042:11:19"},"variableNames":[{"name":"m5","nativeSrc":"239036:2:19","nodeType":"YulIdentifier","src":"239036:2:19"}]},{"nativeSrc":"239066:17:19","nodeType":"YulAssignment","src":"239066:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"239078:4:19","nodeType":"YulLiteral","src":"239078:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"239072:5:19","nodeType":"YulIdentifier","src":"239072:5:19"},"nativeSrc":"239072:11:19","nodeType":"YulFunctionCall","src":"239072:11:19"},"variableNames":[{"name":"m6","nativeSrc":"239066:2:19","nodeType":"YulIdentifier","src":"239066:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239166:4:19","nodeType":"YulLiteral","src":"239166:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"239172:10:19","nodeType":"YulLiteral","src":"239172:10:19","type":"","value":"0x28863fcb"}],"functionName":{"name":"mstore","nativeSrc":"239159:6:19","nodeType":"YulIdentifier","src":"239159:6:19"},"nativeSrc":"239159:24:19","nodeType":"YulFunctionCall","src":"239159:24:19"},"nativeSrc":"239159:24:19","nodeType":"YulExpressionStatement","src":"239159:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239203:4:19","nodeType":"YulLiteral","src":"239203:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"239209:2:19","nodeType":"YulIdentifier","src":"239209:2:19"}],"functionName":{"name":"mstore","nativeSrc":"239196:6:19","nodeType":"YulIdentifier","src":"239196:6:19"},"nativeSrc":"239196:16:19","nodeType":"YulFunctionCall","src":"239196:16:19"},"nativeSrc":"239196:16:19","nodeType":"YulExpressionStatement","src":"239196:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239232:4:19","nodeType":"YulLiteral","src":"239232:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"239238:4:19","nodeType":"YulLiteral","src":"239238:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"239225:6:19","nodeType":"YulIdentifier","src":"239225:6:19"},"nativeSrc":"239225:18:19","nodeType":"YulFunctionCall","src":"239225:18:19"},"nativeSrc":"239225:18:19","nodeType":"YulExpressionStatement","src":"239225:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239263:4:19","nodeType":"YulLiteral","src":"239263:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"239269:2:19","nodeType":"YulIdentifier","src":"239269:2:19"}],"functionName":{"name":"mstore","nativeSrc":"239256:6:19","nodeType":"YulIdentifier","src":"239256:6:19"},"nativeSrc":"239256:16:19","nodeType":"YulFunctionCall","src":"239256:16:19"},"nativeSrc":"239256:16:19","nodeType":"YulExpressionStatement","src":"239256:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239292:4:19","nodeType":"YulLiteral","src":"239292:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"239298:2:19","nodeType":"YulIdentifier","src":"239298:2:19"}],"functionName":{"name":"mstore","nativeSrc":"239285:6:19","nodeType":"YulIdentifier","src":"239285:6:19"},"nativeSrc":"239285:16:19","nodeType":"YulFunctionCall","src":"239285:16:19"},"nativeSrc":"239285:16:19","nodeType":"YulExpressionStatement","src":"239285:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239326:4:19","nodeType":"YulLiteral","src":"239326:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"239332:2:19","nodeType":"YulIdentifier","src":"239332:2:19"}],"functionName":{"name":"writeString","nativeSrc":"239314:11:19","nodeType":"YulIdentifier","src":"239314:11:19"},"nativeSrc":"239314:21:19","nodeType":"YulFunctionCall","src":"239314:21:19"},"nativeSrc":"239314:21:19","nodeType":"YulExpressionStatement","src":"239314:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33782,"isOffset":false,"isSlot":false,"src":"238886:2:19","valueSize":1},{"declaration":33785,"isOffset":false,"isSlot":false,"src":"238916:2:19","valueSize":1},{"declaration":33788,"isOffset":false,"isSlot":false,"src":"238946:2:19","valueSize":1},{"declaration":33791,"isOffset":false,"isSlot":false,"src":"238976:2:19","valueSize":1},{"declaration":33794,"isOffset":false,"isSlot":false,"src":"239006:2:19","valueSize":1},{"declaration":33797,"isOffset":false,"isSlot":false,"src":"239036:2:19","valueSize":1},{"declaration":33800,"isOffset":false,"isSlot":false,"src":"239066:2:19","valueSize":1},{"declaration":33772,"isOffset":false,"isSlot":false,"src":"239209:2:19","valueSize":1},{"declaration":33774,"isOffset":false,"isSlot":false,"src":"239332:2:19","valueSize":1},{"declaration":33776,"isOffset":false,"isSlot":false,"src":"239269:2:19","valueSize":1},{"declaration":33778,"isOffset":false,"isSlot":false,"src":"239298:2:19","valueSize":1}],"id":33802,"nodeType":"InlineAssembly","src":"238508:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"239370:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":33805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"239376:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":33803,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"239354:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"239354:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33807,"nodeType":"ExpressionStatement","src":"239354:27:19"},{"AST":{"nativeSrc":"239443:214:19","nodeType":"YulBlock","src":"239443:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"239464:4:19","nodeType":"YulLiteral","src":"239464:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"239470:2:19","nodeType":"YulIdentifier","src":"239470:2:19"}],"functionName":{"name":"mstore","nativeSrc":"239457:6:19","nodeType":"YulIdentifier","src":"239457:6:19"},"nativeSrc":"239457:16:19","nodeType":"YulFunctionCall","src":"239457:16:19"},"nativeSrc":"239457:16:19","nodeType":"YulExpressionStatement","src":"239457:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239493:4:19","nodeType":"YulLiteral","src":"239493:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"239499:2:19","nodeType":"YulIdentifier","src":"239499:2:19"}],"functionName":{"name":"mstore","nativeSrc":"239486:6:19","nodeType":"YulIdentifier","src":"239486:6:19"},"nativeSrc":"239486:16:19","nodeType":"YulFunctionCall","src":"239486:16:19"},"nativeSrc":"239486:16:19","nodeType":"YulExpressionStatement","src":"239486:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239522:4:19","nodeType":"YulLiteral","src":"239522:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"239528:2:19","nodeType":"YulIdentifier","src":"239528:2:19"}],"functionName":{"name":"mstore","nativeSrc":"239515:6:19","nodeType":"YulIdentifier","src":"239515:6:19"},"nativeSrc":"239515:16:19","nodeType":"YulFunctionCall","src":"239515:16:19"},"nativeSrc":"239515:16:19","nodeType":"YulExpressionStatement","src":"239515:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239551:4:19","nodeType":"YulLiteral","src":"239551:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"239557:2:19","nodeType":"YulIdentifier","src":"239557:2:19"}],"functionName":{"name":"mstore","nativeSrc":"239544:6:19","nodeType":"YulIdentifier","src":"239544:6:19"},"nativeSrc":"239544:16:19","nodeType":"YulFunctionCall","src":"239544:16:19"},"nativeSrc":"239544:16:19","nodeType":"YulExpressionStatement","src":"239544:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239580:4:19","nodeType":"YulLiteral","src":"239580:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"239586:2:19","nodeType":"YulIdentifier","src":"239586:2:19"}],"functionName":{"name":"mstore","nativeSrc":"239573:6:19","nodeType":"YulIdentifier","src":"239573:6:19"},"nativeSrc":"239573:16:19","nodeType":"YulFunctionCall","src":"239573:16:19"},"nativeSrc":"239573:16:19","nodeType":"YulExpressionStatement","src":"239573:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239609:4:19","nodeType":"YulLiteral","src":"239609:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"239615:2:19","nodeType":"YulIdentifier","src":"239615:2:19"}],"functionName":{"name":"mstore","nativeSrc":"239602:6:19","nodeType":"YulIdentifier","src":"239602:6:19"},"nativeSrc":"239602:16:19","nodeType":"YulFunctionCall","src":"239602:16:19"},"nativeSrc":"239602:16:19","nodeType":"YulExpressionStatement","src":"239602:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"239638:4:19","nodeType":"YulLiteral","src":"239638:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"239644:2:19","nodeType":"YulIdentifier","src":"239644:2:19"}],"functionName":{"name":"mstore","nativeSrc":"239631:6:19","nodeType":"YulIdentifier","src":"239631:6:19"},"nativeSrc":"239631:16:19","nodeType":"YulFunctionCall","src":"239631:16:19"},"nativeSrc":"239631:16:19","nodeType":"YulExpressionStatement","src":"239631:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33782,"isOffset":false,"isSlot":false,"src":"239470:2:19","valueSize":1},{"declaration":33785,"isOffset":false,"isSlot":false,"src":"239499:2:19","valueSize":1},{"declaration":33788,"isOffset":false,"isSlot":false,"src":"239528:2:19","valueSize":1},{"declaration":33791,"isOffset":false,"isSlot":false,"src":"239557:2:19","valueSize":1},{"declaration":33794,"isOffset":false,"isSlot":false,"src":"239586:2:19","valueSize":1},{"declaration":33797,"isOffset":false,"isSlot":false,"src":"239615:2:19","valueSize":1},{"declaration":33800,"isOffset":false,"isSlot":false,"src":"239644:2:19","valueSize":1}],"id":33808,"nodeType":"InlineAssembly","src":"239434:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"238252:3:19","parameters":{"id":33779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33772,"mutability":"mutable","name":"p0","nameLocation":"238261:2:19","nodeType":"VariableDeclaration","scope":33810,"src":"238256:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33771,"name":"bool","nodeType":"ElementaryTypeName","src":"238256:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33774,"mutability":"mutable","name":"p1","nameLocation":"238273:2:19","nodeType":"VariableDeclaration","scope":33810,"src":"238265:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33773,"name":"bytes32","nodeType":"ElementaryTypeName","src":"238265:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33776,"mutability":"mutable","name":"p2","nameLocation":"238285:2:19","nodeType":"VariableDeclaration","scope":33810,"src":"238277:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33775,"name":"uint256","nodeType":"ElementaryTypeName","src":"238277:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33778,"mutability":"mutable","name":"p3","nameLocation":"238297:2:19","nodeType":"VariableDeclaration","scope":33810,"src":"238289:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33777,"name":"uint256","nodeType":"ElementaryTypeName","src":"238289:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"238255:45:19"},"returnParameters":{"id":33780,"nodeType":"ParameterList","parameters":[],"src":"238315:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33856,"nodeType":"FunctionDefinition","src":"239669:1616:19","nodes":[],"body":{"id":33855,"nodeType":"Block","src":"239741:1544:19","nodes":[],"statements":[{"assignments":[33822],"declarations":[{"constant":false,"id":33822,"mutability":"mutable","name":"m0","nameLocation":"239759:2:19","nodeType":"VariableDeclaration","scope":33855,"src":"239751:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33821,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239751:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33823,"nodeType":"VariableDeclarationStatement","src":"239751:10:19"},{"assignments":[33825],"declarations":[{"constant":false,"id":33825,"mutability":"mutable","name":"m1","nameLocation":"239779:2:19","nodeType":"VariableDeclaration","scope":33855,"src":"239771:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33824,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239771:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33826,"nodeType":"VariableDeclarationStatement","src":"239771:10:19"},{"assignments":[33828],"declarations":[{"constant":false,"id":33828,"mutability":"mutable","name":"m2","nameLocation":"239799:2:19","nodeType":"VariableDeclaration","scope":33855,"src":"239791:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33827,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239791:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33829,"nodeType":"VariableDeclarationStatement","src":"239791:10:19"},{"assignments":[33831],"declarations":[{"constant":false,"id":33831,"mutability":"mutable","name":"m3","nameLocation":"239819:2:19","nodeType":"VariableDeclaration","scope":33855,"src":"239811:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33830,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239811:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33832,"nodeType":"VariableDeclarationStatement","src":"239811:10:19"},{"assignments":[33834],"declarations":[{"constant":false,"id":33834,"mutability":"mutable","name":"m4","nameLocation":"239839:2:19","nodeType":"VariableDeclaration","scope":33855,"src":"239831:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33833,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239831:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33835,"nodeType":"VariableDeclarationStatement","src":"239831:10:19"},{"assignments":[33837],"declarations":[{"constant":false,"id":33837,"mutability":"mutable","name":"m5","nameLocation":"239859:2:19","nodeType":"VariableDeclaration","scope":33855,"src":"239851:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33836,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239851:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33838,"nodeType":"VariableDeclarationStatement","src":"239851:10:19"},{"assignments":[33840],"declarations":[{"constant":false,"id":33840,"mutability":"mutable","name":"m6","nameLocation":"239879:2:19","nodeType":"VariableDeclaration","scope":33855,"src":"239871:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33839,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239871:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33841,"nodeType":"VariableDeclarationStatement","src":"239871:10:19"},{"assignments":[33843],"declarations":[{"constant":false,"id":33843,"mutability":"mutable","name":"m7","nameLocation":"239899:2:19","nodeType":"VariableDeclaration","scope":33855,"src":"239891:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33842,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239891:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33844,"nodeType":"VariableDeclarationStatement","src":"239891:10:19"},{"assignments":[33846],"declarations":[{"constant":false,"id":33846,"mutability":"mutable","name":"m8","nameLocation":"239919:2:19","nodeType":"VariableDeclaration","scope":33855,"src":"239911:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33845,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239911:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33847,"nodeType":"VariableDeclarationStatement","src":"239911:10:19"},{"AST":{"nativeSrc":"239983:924:19","nodeType":"YulBlock","src":"239983:924:19","statements":[{"body":{"nativeSrc":"240026:313:19","nodeType":"YulBlock","src":"240026:313:19","statements":[{"nativeSrc":"240044:15:19","nodeType":"YulVariableDeclaration","src":"240044:15:19","value":{"kind":"number","nativeSrc":"240058:1:19","nodeType":"YulLiteral","src":"240058:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"240048:6:19","nodeType":"YulTypedName","src":"240048:6:19","type":""}]},{"body":{"nativeSrc":"240129:40:19","nodeType":"YulBlock","src":"240129:40:19","statements":[{"body":{"nativeSrc":"240158:9:19","nodeType":"YulBlock","src":"240158:9:19","statements":[{"nativeSrc":"240160:5:19","nodeType":"YulBreak","src":"240160:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"240146:6:19","nodeType":"YulIdentifier","src":"240146:6:19"},{"name":"w","nativeSrc":"240154:1:19","nodeType":"YulIdentifier","src":"240154:1:19"}],"functionName":{"name":"byte","nativeSrc":"240141:4:19","nodeType":"YulIdentifier","src":"240141:4:19"},"nativeSrc":"240141:15:19","nodeType":"YulFunctionCall","src":"240141:15:19"}],"functionName":{"name":"iszero","nativeSrc":"240134:6:19","nodeType":"YulIdentifier","src":"240134:6:19"},"nativeSrc":"240134:23:19","nodeType":"YulFunctionCall","src":"240134:23:19"},"nativeSrc":"240131:36:19","nodeType":"YulIf","src":"240131:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"240086:6:19","nodeType":"YulIdentifier","src":"240086:6:19"},{"kind":"number","nativeSrc":"240094:4:19","nodeType":"YulLiteral","src":"240094:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"240083:2:19","nodeType":"YulIdentifier","src":"240083:2:19"},"nativeSrc":"240083:16:19","nodeType":"YulFunctionCall","src":"240083:16:19"},"nativeSrc":"240076:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"240100:28:19","nodeType":"YulBlock","src":"240100:28:19","statements":[{"nativeSrc":"240102:24:19","nodeType":"YulAssignment","src":"240102:24:19","value":{"arguments":[{"name":"length","nativeSrc":"240116:6:19","nodeType":"YulIdentifier","src":"240116:6:19"},{"kind":"number","nativeSrc":"240124:1:19","nodeType":"YulLiteral","src":"240124:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"240112:3:19","nodeType":"YulIdentifier","src":"240112:3:19"},"nativeSrc":"240112:14:19","nodeType":"YulFunctionCall","src":"240112:14:19"},"variableNames":[{"name":"length","nativeSrc":"240102:6:19","nodeType":"YulIdentifier","src":"240102:6:19"}]}]},"pre":{"nativeSrc":"240080:2:19","nodeType":"YulBlock","src":"240080:2:19","statements":[]},"src":"240076:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"240193:3:19","nodeType":"YulIdentifier","src":"240193:3:19"},{"name":"length","nativeSrc":"240198:6:19","nodeType":"YulIdentifier","src":"240198:6:19"}],"functionName":{"name":"mstore","nativeSrc":"240186:6:19","nodeType":"YulIdentifier","src":"240186:6:19"},"nativeSrc":"240186:19:19","nodeType":"YulFunctionCall","src":"240186:19:19"},"nativeSrc":"240186:19:19","nodeType":"YulExpressionStatement","src":"240186:19:19"},{"nativeSrc":"240222:37:19","nodeType":"YulVariableDeclaration","src":"240222:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"240239:3:19","nodeType":"YulLiteral","src":"240239:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"240248:1:19","nodeType":"YulLiteral","src":"240248:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"240251:6:19","nodeType":"YulIdentifier","src":"240251:6:19"}],"functionName":{"name":"shl","nativeSrc":"240244:3:19","nodeType":"YulIdentifier","src":"240244:3:19"},"nativeSrc":"240244:14:19","nodeType":"YulFunctionCall","src":"240244:14:19"}],"functionName":{"name":"sub","nativeSrc":"240235:3:19","nodeType":"YulIdentifier","src":"240235:3:19"},"nativeSrc":"240235:24:19","nodeType":"YulFunctionCall","src":"240235:24:19"},"variables":[{"name":"shift","nativeSrc":"240226:5:19","nodeType":"YulTypedName","src":"240226:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"240287:3:19","nodeType":"YulIdentifier","src":"240287:3:19"},{"kind":"number","nativeSrc":"240292:4:19","nodeType":"YulLiteral","src":"240292:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"240283:3:19","nodeType":"YulIdentifier","src":"240283:3:19"},"nativeSrc":"240283:14:19","nodeType":"YulFunctionCall","src":"240283:14:19"},{"arguments":[{"name":"shift","nativeSrc":"240303:5:19","nodeType":"YulIdentifier","src":"240303:5:19"},{"arguments":[{"name":"shift","nativeSrc":"240314:5:19","nodeType":"YulIdentifier","src":"240314:5:19"},{"name":"w","nativeSrc":"240321:1:19","nodeType":"YulIdentifier","src":"240321:1:19"}],"functionName":{"name":"shr","nativeSrc":"240310:3:19","nodeType":"YulIdentifier","src":"240310:3:19"},"nativeSrc":"240310:13:19","nodeType":"YulFunctionCall","src":"240310:13:19"}],"functionName":{"name":"shl","nativeSrc":"240299:3:19","nodeType":"YulIdentifier","src":"240299:3:19"},"nativeSrc":"240299:25:19","nodeType":"YulFunctionCall","src":"240299:25:19"}],"functionName":{"name":"mstore","nativeSrc":"240276:6:19","nodeType":"YulIdentifier","src":"240276:6:19"},"nativeSrc":"240276:49:19","nodeType":"YulFunctionCall","src":"240276:49:19"},"nativeSrc":"240276:49:19","nodeType":"YulExpressionStatement","src":"240276:49:19"}]},"name":"writeString","nativeSrc":"239997:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"240018:3:19","nodeType":"YulTypedName","src":"240018:3:19","type":""},{"name":"w","nativeSrc":"240023:1:19","nodeType":"YulTypedName","src":"240023:1:19","type":""}],"src":"239997:342:19"},{"nativeSrc":"240352:17:19","nodeType":"YulAssignment","src":"240352:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"240364:4:19","nodeType":"YulLiteral","src":"240364:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"240358:5:19","nodeType":"YulIdentifier","src":"240358:5:19"},"nativeSrc":"240358:11:19","nodeType":"YulFunctionCall","src":"240358:11:19"},"variableNames":[{"name":"m0","nativeSrc":"240352:2:19","nodeType":"YulIdentifier","src":"240352:2:19"}]},{"nativeSrc":"240382:17:19","nodeType":"YulAssignment","src":"240382:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"240394:4:19","nodeType":"YulLiteral","src":"240394:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"240388:5:19","nodeType":"YulIdentifier","src":"240388:5:19"},"nativeSrc":"240388:11:19","nodeType":"YulFunctionCall","src":"240388:11:19"},"variableNames":[{"name":"m1","nativeSrc":"240382:2:19","nodeType":"YulIdentifier","src":"240382:2:19"}]},{"nativeSrc":"240412:17:19","nodeType":"YulAssignment","src":"240412:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"240424:4:19","nodeType":"YulLiteral","src":"240424:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"240418:5:19","nodeType":"YulIdentifier","src":"240418:5:19"},"nativeSrc":"240418:11:19","nodeType":"YulFunctionCall","src":"240418:11:19"},"variableNames":[{"name":"m2","nativeSrc":"240412:2:19","nodeType":"YulIdentifier","src":"240412:2:19"}]},{"nativeSrc":"240442:17:19","nodeType":"YulAssignment","src":"240442:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"240454:4:19","nodeType":"YulLiteral","src":"240454:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"240448:5:19","nodeType":"YulIdentifier","src":"240448:5:19"},"nativeSrc":"240448:11:19","nodeType":"YulFunctionCall","src":"240448:11:19"},"variableNames":[{"name":"m3","nativeSrc":"240442:2:19","nodeType":"YulIdentifier","src":"240442:2:19"}]},{"nativeSrc":"240472:17:19","nodeType":"YulAssignment","src":"240472:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"240484:4:19","nodeType":"YulLiteral","src":"240484:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"240478:5:19","nodeType":"YulIdentifier","src":"240478:5:19"},"nativeSrc":"240478:11:19","nodeType":"YulFunctionCall","src":"240478:11:19"},"variableNames":[{"name":"m4","nativeSrc":"240472:2:19","nodeType":"YulIdentifier","src":"240472:2:19"}]},{"nativeSrc":"240502:17:19","nodeType":"YulAssignment","src":"240502:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"240514:4:19","nodeType":"YulLiteral","src":"240514:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"240508:5:19","nodeType":"YulIdentifier","src":"240508:5:19"},"nativeSrc":"240508:11:19","nodeType":"YulFunctionCall","src":"240508:11:19"},"variableNames":[{"name":"m5","nativeSrc":"240502:2:19","nodeType":"YulIdentifier","src":"240502:2:19"}]},{"nativeSrc":"240532:17:19","nodeType":"YulAssignment","src":"240532:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"240544:4:19","nodeType":"YulLiteral","src":"240544:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"240538:5:19","nodeType":"YulIdentifier","src":"240538:5:19"},"nativeSrc":"240538:11:19","nodeType":"YulFunctionCall","src":"240538:11:19"},"variableNames":[{"name":"m6","nativeSrc":"240532:2:19","nodeType":"YulIdentifier","src":"240532:2:19"}]},{"nativeSrc":"240562:17:19","nodeType":"YulAssignment","src":"240562:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"240574:4:19","nodeType":"YulLiteral","src":"240574:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"240568:5:19","nodeType":"YulIdentifier","src":"240568:5:19"},"nativeSrc":"240568:11:19","nodeType":"YulFunctionCall","src":"240568:11:19"},"variableNames":[{"name":"m7","nativeSrc":"240562:2:19","nodeType":"YulIdentifier","src":"240562:2:19"}]},{"nativeSrc":"240592:18:19","nodeType":"YulAssignment","src":"240592:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"240604:5:19","nodeType":"YulLiteral","src":"240604:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"240598:5:19","nodeType":"YulIdentifier","src":"240598:5:19"},"nativeSrc":"240598:12:19","nodeType":"YulFunctionCall","src":"240598:12:19"},"variableNames":[{"name":"m8","nativeSrc":"240592:2:19","nodeType":"YulIdentifier","src":"240592:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"240692:4:19","nodeType":"YulLiteral","src":"240692:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"240698:10:19","nodeType":"YulLiteral","src":"240698:10:19","type":"","value":"0x1ad96de6"}],"functionName":{"name":"mstore","nativeSrc":"240685:6:19","nodeType":"YulIdentifier","src":"240685:6:19"},"nativeSrc":"240685:24:19","nodeType":"YulFunctionCall","src":"240685:24:19"},"nativeSrc":"240685:24:19","nodeType":"YulExpressionStatement","src":"240685:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"240729:4:19","nodeType":"YulLiteral","src":"240729:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"240735:2:19","nodeType":"YulIdentifier","src":"240735:2:19"}],"functionName":{"name":"mstore","nativeSrc":"240722:6:19","nodeType":"YulIdentifier","src":"240722:6:19"},"nativeSrc":"240722:16:19","nodeType":"YulFunctionCall","src":"240722:16:19"},"nativeSrc":"240722:16:19","nodeType":"YulExpressionStatement","src":"240722:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"240758:4:19","nodeType":"YulLiteral","src":"240758:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"240764:4:19","nodeType":"YulLiteral","src":"240764:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"240751:6:19","nodeType":"YulIdentifier","src":"240751:6:19"},"nativeSrc":"240751:18:19","nodeType":"YulFunctionCall","src":"240751:18:19"},"nativeSrc":"240751:18:19","nodeType":"YulExpressionStatement","src":"240751:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"240789:4:19","nodeType":"YulLiteral","src":"240789:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"240795:2:19","nodeType":"YulIdentifier","src":"240795:2:19"}],"functionName":{"name":"mstore","nativeSrc":"240782:6:19","nodeType":"YulIdentifier","src":"240782:6:19"},"nativeSrc":"240782:16:19","nodeType":"YulFunctionCall","src":"240782:16:19"},"nativeSrc":"240782:16:19","nodeType":"YulExpressionStatement","src":"240782:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"240818:4:19","nodeType":"YulLiteral","src":"240818:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"240824:4:19","nodeType":"YulLiteral","src":"240824:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"240811:6:19","nodeType":"YulIdentifier","src":"240811:6:19"},"nativeSrc":"240811:18:19","nodeType":"YulFunctionCall","src":"240811:18:19"},"nativeSrc":"240811:18:19","nodeType":"YulExpressionStatement","src":"240811:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"240854:4:19","nodeType":"YulLiteral","src":"240854:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"240860:2:19","nodeType":"YulIdentifier","src":"240860:2:19"}],"functionName":{"name":"writeString","nativeSrc":"240842:11:19","nodeType":"YulIdentifier","src":"240842:11:19"},"nativeSrc":"240842:21:19","nodeType":"YulFunctionCall","src":"240842:21:19"},"nativeSrc":"240842:21:19","nodeType":"YulExpressionStatement","src":"240842:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"240888:4:19","nodeType":"YulLiteral","src":"240888:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"240894:2:19","nodeType":"YulIdentifier","src":"240894:2:19"}],"functionName":{"name":"writeString","nativeSrc":"240876:11:19","nodeType":"YulIdentifier","src":"240876:11:19"},"nativeSrc":"240876:21:19","nodeType":"YulFunctionCall","src":"240876:21:19"},"nativeSrc":"240876:21:19","nodeType":"YulExpressionStatement","src":"240876:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33822,"isOffset":false,"isSlot":false,"src":"240352:2:19","valueSize":1},{"declaration":33825,"isOffset":false,"isSlot":false,"src":"240382:2:19","valueSize":1},{"declaration":33828,"isOffset":false,"isSlot":false,"src":"240412:2:19","valueSize":1},{"declaration":33831,"isOffset":false,"isSlot":false,"src":"240442:2:19","valueSize":1},{"declaration":33834,"isOffset":false,"isSlot":false,"src":"240472:2:19","valueSize":1},{"declaration":33837,"isOffset":false,"isSlot":false,"src":"240502:2:19","valueSize":1},{"declaration":33840,"isOffset":false,"isSlot":false,"src":"240532:2:19","valueSize":1},{"declaration":33843,"isOffset":false,"isSlot":false,"src":"240562:2:19","valueSize":1},{"declaration":33846,"isOffset":false,"isSlot":false,"src":"240592:2:19","valueSize":1},{"declaration":33812,"isOffset":false,"isSlot":false,"src":"240735:2:19","valueSize":1},{"declaration":33814,"isOffset":false,"isSlot":false,"src":"240860:2:19","valueSize":1},{"declaration":33816,"isOffset":false,"isSlot":false,"src":"240795:2:19","valueSize":1},{"declaration":33818,"isOffset":false,"isSlot":false,"src":"240894:2:19","valueSize":1}],"id":33848,"nodeType":"InlineAssembly","src":"239974:933:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"240932:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":33851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"240938:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":33849,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"240916:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"240916:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33853,"nodeType":"ExpressionStatement","src":"240916:28:19"},{"AST":{"nativeSrc":"241006:273:19","nodeType":"YulBlock","src":"241006:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"241027:4:19","nodeType":"YulLiteral","src":"241027:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"241033:2:19","nodeType":"YulIdentifier","src":"241033:2:19"}],"functionName":{"name":"mstore","nativeSrc":"241020:6:19","nodeType":"YulIdentifier","src":"241020:6:19"},"nativeSrc":"241020:16:19","nodeType":"YulFunctionCall","src":"241020:16:19"},"nativeSrc":"241020:16:19","nodeType":"YulExpressionStatement","src":"241020:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"241056:4:19","nodeType":"YulLiteral","src":"241056:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"241062:2:19","nodeType":"YulIdentifier","src":"241062:2:19"}],"functionName":{"name":"mstore","nativeSrc":"241049:6:19","nodeType":"YulIdentifier","src":"241049:6:19"},"nativeSrc":"241049:16:19","nodeType":"YulFunctionCall","src":"241049:16:19"},"nativeSrc":"241049:16:19","nodeType":"YulExpressionStatement","src":"241049:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"241085:4:19","nodeType":"YulLiteral","src":"241085:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"241091:2:19","nodeType":"YulIdentifier","src":"241091:2:19"}],"functionName":{"name":"mstore","nativeSrc":"241078:6:19","nodeType":"YulIdentifier","src":"241078:6:19"},"nativeSrc":"241078:16:19","nodeType":"YulFunctionCall","src":"241078:16:19"},"nativeSrc":"241078:16:19","nodeType":"YulExpressionStatement","src":"241078:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"241114:4:19","nodeType":"YulLiteral","src":"241114:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"241120:2:19","nodeType":"YulIdentifier","src":"241120:2:19"}],"functionName":{"name":"mstore","nativeSrc":"241107:6:19","nodeType":"YulIdentifier","src":"241107:6:19"},"nativeSrc":"241107:16:19","nodeType":"YulFunctionCall","src":"241107:16:19"},"nativeSrc":"241107:16:19","nodeType":"YulExpressionStatement","src":"241107:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"241143:4:19","nodeType":"YulLiteral","src":"241143:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"241149:2:19","nodeType":"YulIdentifier","src":"241149:2:19"}],"functionName":{"name":"mstore","nativeSrc":"241136:6:19","nodeType":"YulIdentifier","src":"241136:6:19"},"nativeSrc":"241136:16:19","nodeType":"YulFunctionCall","src":"241136:16:19"},"nativeSrc":"241136:16:19","nodeType":"YulExpressionStatement","src":"241136:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"241172:4:19","nodeType":"YulLiteral","src":"241172:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"241178:2:19","nodeType":"YulIdentifier","src":"241178:2:19"}],"functionName":{"name":"mstore","nativeSrc":"241165:6:19","nodeType":"YulIdentifier","src":"241165:6:19"},"nativeSrc":"241165:16:19","nodeType":"YulFunctionCall","src":"241165:16:19"},"nativeSrc":"241165:16:19","nodeType":"YulExpressionStatement","src":"241165:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"241201:4:19","nodeType":"YulLiteral","src":"241201:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"241207:2:19","nodeType":"YulIdentifier","src":"241207:2:19"}],"functionName":{"name":"mstore","nativeSrc":"241194:6:19","nodeType":"YulIdentifier","src":"241194:6:19"},"nativeSrc":"241194:16:19","nodeType":"YulFunctionCall","src":"241194:16:19"},"nativeSrc":"241194:16:19","nodeType":"YulExpressionStatement","src":"241194:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"241230:4:19","nodeType":"YulLiteral","src":"241230:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"241236:2:19","nodeType":"YulIdentifier","src":"241236:2:19"}],"functionName":{"name":"mstore","nativeSrc":"241223:6:19","nodeType":"YulIdentifier","src":"241223:6:19"},"nativeSrc":"241223:16:19","nodeType":"YulFunctionCall","src":"241223:16:19"},"nativeSrc":"241223:16:19","nodeType":"YulExpressionStatement","src":"241223:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"241259:5:19","nodeType":"YulLiteral","src":"241259:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"241266:2:19","nodeType":"YulIdentifier","src":"241266:2:19"}],"functionName":{"name":"mstore","nativeSrc":"241252:6:19","nodeType":"YulIdentifier","src":"241252:6:19"},"nativeSrc":"241252:17:19","nodeType":"YulFunctionCall","src":"241252:17:19"},"nativeSrc":"241252:17:19","nodeType":"YulExpressionStatement","src":"241252:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33822,"isOffset":false,"isSlot":false,"src":"241033:2:19","valueSize":1},{"declaration":33825,"isOffset":false,"isSlot":false,"src":"241062:2:19","valueSize":1},{"declaration":33828,"isOffset":false,"isSlot":false,"src":"241091:2:19","valueSize":1},{"declaration":33831,"isOffset":false,"isSlot":false,"src":"241120:2:19","valueSize":1},{"declaration":33834,"isOffset":false,"isSlot":false,"src":"241149:2:19","valueSize":1},{"declaration":33837,"isOffset":false,"isSlot":false,"src":"241178:2:19","valueSize":1},{"declaration":33840,"isOffset":false,"isSlot":false,"src":"241207:2:19","valueSize":1},{"declaration":33843,"isOffset":false,"isSlot":false,"src":"241236:2:19","valueSize":1},{"declaration":33846,"isOffset":false,"isSlot":false,"src":"241266:2:19","valueSize":1}],"id":33854,"nodeType":"InlineAssembly","src":"240997:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"239678:3:19","parameters":{"id":33819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33812,"mutability":"mutable","name":"p0","nameLocation":"239687:2:19","nodeType":"VariableDeclaration","scope":33856,"src":"239682:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33811,"name":"bool","nodeType":"ElementaryTypeName","src":"239682:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33814,"mutability":"mutable","name":"p1","nameLocation":"239699:2:19","nodeType":"VariableDeclaration","scope":33856,"src":"239691:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33813,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239691:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33816,"mutability":"mutable","name":"p2","nameLocation":"239711:2:19","nodeType":"VariableDeclaration","scope":33856,"src":"239703:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33815,"name":"uint256","nodeType":"ElementaryTypeName","src":"239703:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33818,"mutability":"mutable","name":"p3","nameLocation":"239723:2:19","nodeType":"VariableDeclaration","scope":33856,"src":"239715:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33817,"name":"bytes32","nodeType":"ElementaryTypeName","src":"239715:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"239681:45:19"},"returnParameters":{"id":33820,"nodeType":"ParameterList","parameters":[],"src":"239741:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33902,"nodeType":"FunctionDefinition","src":"241291:1616:19","nodes":[],"body":{"id":33901,"nodeType":"Block","src":"241363:1544:19","nodes":[],"statements":[{"assignments":[33868],"declarations":[{"constant":false,"id":33868,"mutability":"mutable","name":"m0","nameLocation":"241381:2:19","nodeType":"VariableDeclaration","scope":33901,"src":"241373:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33867,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241373:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33869,"nodeType":"VariableDeclarationStatement","src":"241373:10:19"},{"assignments":[33871],"declarations":[{"constant":false,"id":33871,"mutability":"mutable","name":"m1","nameLocation":"241401:2:19","nodeType":"VariableDeclaration","scope":33901,"src":"241393:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33870,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241393:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33872,"nodeType":"VariableDeclarationStatement","src":"241393:10:19"},{"assignments":[33874],"declarations":[{"constant":false,"id":33874,"mutability":"mutable","name":"m2","nameLocation":"241421:2:19","nodeType":"VariableDeclaration","scope":33901,"src":"241413:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33873,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241413:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33875,"nodeType":"VariableDeclarationStatement","src":"241413:10:19"},{"assignments":[33877],"declarations":[{"constant":false,"id":33877,"mutability":"mutable","name":"m3","nameLocation":"241441:2:19","nodeType":"VariableDeclaration","scope":33901,"src":"241433:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33876,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241433:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33878,"nodeType":"VariableDeclarationStatement","src":"241433:10:19"},{"assignments":[33880],"declarations":[{"constant":false,"id":33880,"mutability":"mutable","name":"m4","nameLocation":"241461:2:19","nodeType":"VariableDeclaration","scope":33901,"src":"241453:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33879,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241453:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33881,"nodeType":"VariableDeclarationStatement","src":"241453:10:19"},{"assignments":[33883],"declarations":[{"constant":false,"id":33883,"mutability":"mutable","name":"m5","nameLocation":"241481:2:19","nodeType":"VariableDeclaration","scope":33901,"src":"241473:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33882,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241473:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33884,"nodeType":"VariableDeclarationStatement","src":"241473:10:19"},{"assignments":[33886],"declarations":[{"constant":false,"id":33886,"mutability":"mutable","name":"m6","nameLocation":"241501:2:19","nodeType":"VariableDeclaration","scope":33901,"src":"241493:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33885,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241493:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33887,"nodeType":"VariableDeclarationStatement","src":"241493:10:19"},{"assignments":[33889],"declarations":[{"constant":false,"id":33889,"mutability":"mutable","name":"m7","nameLocation":"241521:2:19","nodeType":"VariableDeclaration","scope":33901,"src":"241513:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33888,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241513:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33890,"nodeType":"VariableDeclarationStatement","src":"241513:10:19"},{"assignments":[33892],"declarations":[{"constant":false,"id":33892,"mutability":"mutable","name":"m8","nameLocation":"241541:2:19","nodeType":"VariableDeclaration","scope":33901,"src":"241533:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33891,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241533:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33893,"nodeType":"VariableDeclarationStatement","src":"241533:10:19"},{"AST":{"nativeSrc":"241605:924:19","nodeType":"YulBlock","src":"241605:924:19","statements":[{"body":{"nativeSrc":"241648:313:19","nodeType":"YulBlock","src":"241648:313:19","statements":[{"nativeSrc":"241666:15:19","nodeType":"YulVariableDeclaration","src":"241666:15:19","value":{"kind":"number","nativeSrc":"241680:1:19","nodeType":"YulLiteral","src":"241680:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"241670:6:19","nodeType":"YulTypedName","src":"241670:6:19","type":""}]},{"body":{"nativeSrc":"241751:40:19","nodeType":"YulBlock","src":"241751:40:19","statements":[{"body":{"nativeSrc":"241780:9:19","nodeType":"YulBlock","src":"241780:9:19","statements":[{"nativeSrc":"241782:5:19","nodeType":"YulBreak","src":"241782:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"241768:6:19","nodeType":"YulIdentifier","src":"241768:6:19"},{"name":"w","nativeSrc":"241776:1:19","nodeType":"YulIdentifier","src":"241776:1:19"}],"functionName":{"name":"byte","nativeSrc":"241763:4:19","nodeType":"YulIdentifier","src":"241763:4:19"},"nativeSrc":"241763:15:19","nodeType":"YulFunctionCall","src":"241763:15:19"}],"functionName":{"name":"iszero","nativeSrc":"241756:6:19","nodeType":"YulIdentifier","src":"241756:6:19"},"nativeSrc":"241756:23:19","nodeType":"YulFunctionCall","src":"241756:23:19"},"nativeSrc":"241753:36:19","nodeType":"YulIf","src":"241753:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"241708:6:19","nodeType":"YulIdentifier","src":"241708:6:19"},{"kind":"number","nativeSrc":"241716:4:19","nodeType":"YulLiteral","src":"241716:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"241705:2:19","nodeType":"YulIdentifier","src":"241705:2:19"},"nativeSrc":"241705:16:19","nodeType":"YulFunctionCall","src":"241705:16:19"},"nativeSrc":"241698:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"241722:28:19","nodeType":"YulBlock","src":"241722:28:19","statements":[{"nativeSrc":"241724:24:19","nodeType":"YulAssignment","src":"241724:24:19","value":{"arguments":[{"name":"length","nativeSrc":"241738:6:19","nodeType":"YulIdentifier","src":"241738:6:19"},{"kind":"number","nativeSrc":"241746:1:19","nodeType":"YulLiteral","src":"241746:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"241734:3:19","nodeType":"YulIdentifier","src":"241734:3:19"},"nativeSrc":"241734:14:19","nodeType":"YulFunctionCall","src":"241734:14:19"},"variableNames":[{"name":"length","nativeSrc":"241724:6:19","nodeType":"YulIdentifier","src":"241724:6:19"}]}]},"pre":{"nativeSrc":"241702:2:19","nodeType":"YulBlock","src":"241702:2:19","statements":[]},"src":"241698:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"241815:3:19","nodeType":"YulIdentifier","src":"241815:3:19"},{"name":"length","nativeSrc":"241820:6:19","nodeType":"YulIdentifier","src":"241820:6:19"}],"functionName":{"name":"mstore","nativeSrc":"241808:6:19","nodeType":"YulIdentifier","src":"241808:6:19"},"nativeSrc":"241808:19:19","nodeType":"YulFunctionCall","src":"241808:19:19"},"nativeSrc":"241808:19:19","nodeType":"YulExpressionStatement","src":"241808:19:19"},{"nativeSrc":"241844:37:19","nodeType":"YulVariableDeclaration","src":"241844:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"241861:3:19","nodeType":"YulLiteral","src":"241861:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"241870:1:19","nodeType":"YulLiteral","src":"241870:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"241873:6:19","nodeType":"YulIdentifier","src":"241873:6:19"}],"functionName":{"name":"shl","nativeSrc":"241866:3:19","nodeType":"YulIdentifier","src":"241866:3:19"},"nativeSrc":"241866:14:19","nodeType":"YulFunctionCall","src":"241866:14:19"}],"functionName":{"name":"sub","nativeSrc":"241857:3:19","nodeType":"YulIdentifier","src":"241857:3:19"},"nativeSrc":"241857:24:19","nodeType":"YulFunctionCall","src":"241857:24:19"},"variables":[{"name":"shift","nativeSrc":"241848:5:19","nodeType":"YulTypedName","src":"241848:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"241909:3:19","nodeType":"YulIdentifier","src":"241909:3:19"},{"kind":"number","nativeSrc":"241914:4:19","nodeType":"YulLiteral","src":"241914:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"241905:3:19","nodeType":"YulIdentifier","src":"241905:3:19"},"nativeSrc":"241905:14:19","nodeType":"YulFunctionCall","src":"241905:14:19"},{"arguments":[{"name":"shift","nativeSrc":"241925:5:19","nodeType":"YulIdentifier","src":"241925:5:19"},{"arguments":[{"name":"shift","nativeSrc":"241936:5:19","nodeType":"YulIdentifier","src":"241936:5:19"},{"name":"w","nativeSrc":"241943:1:19","nodeType":"YulIdentifier","src":"241943:1:19"}],"functionName":{"name":"shr","nativeSrc":"241932:3:19","nodeType":"YulIdentifier","src":"241932:3:19"},"nativeSrc":"241932:13:19","nodeType":"YulFunctionCall","src":"241932:13:19"}],"functionName":{"name":"shl","nativeSrc":"241921:3:19","nodeType":"YulIdentifier","src":"241921:3:19"},"nativeSrc":"241921:25:19","nodeType":"YulFunctionCall","src":"241921:25:19"}],"functionName":{"name":"mstore","nativeSrc":"241898:6:19","nodeType":"YulIdentifier","src":"241898:6:19"},"nativeSrc":"241898:49:19","nodeType":"YulFunctionCall","src":"241898:49:19"},"nativeSrc":"241898:49:19","nodeType":"YulExpressionStatement","src":"241898:49:19"}]},"name":"writeString","nativeSrc":"241619:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"241640:3:19","nodeType":"YulTypedName","src":"241640:3:19","type":""},{"name":"w","nativeSrc":"241645:1:19","nodeType":"YulTypedName","src":"241645:1:19","type":""}],"src":"241619:342:19"},{"nativeSrc":"241974:17:19","nodeType":"YulAssignment","src":"241974:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"241986:4:19","nodeType":"YulLiteral","src":"241986:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"241980:5:19","nodeType":"YulIdentifier","src":"241980:5:19"},"nativeSrc":"241980:11:19","nodeType":"YulFunctionCall","src":"241980:11:19"},"variableNames":[{"name":"m0","nativeSrc":"241974:2:19","nodeType":"YulIdentifier","src":"241974:2:19"}]},{"nativeSrc":"242004:17:19","nodeType":"YulAssignment","src":"242004:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"242016:4:19","nodeType":"YulLiteral","src":"242016:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"242010:5:19","nodeType":"YulIdentifier","src":"242010:5:19"},"nativeSrc":"242010:11:19","nodeType":"YulFunctionCall","src":"242010:11:19"},"variableNames":[{"name":"m1","nativeSrc":"242004:2:19","nodeType":"YulIdentifier","src":"242004:2:19"}]},{"nativeSrc":"242034:17:19","nodeType":"YulAssignment","src":"242034:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"242046:4:19","nodeType":"YulLiteral","src":"242046:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"242040:5:19","nodeType":"YulIdentifier","src":"242040:5:19"},"nativeSrc":"242040:11:19","nodeType":"YulFunctionCall","src":"242040:11:19"},"variableNames":[{"name":"m2","nativeSrc":"242034:2:19","nodeType":"YulIdentifier","src":"242034:2:19"}]},{"nativeSrc":"242064:17:19","nodeType":"YulAssignment","src":"242064:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"242076:4:19","nodeType":"YulLiteral","src":"242076:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"242070:5:19","nodeType":"YulIdentifier","src":"242070:5:19"},"nativeSrc":"242070:11:19","nodeType":"YulFunctionCall","src":"242070:11:19"},"variableNames":[{"name":"m3","nativeSrc":"242064:2:19","nodeType":"YulIdentifier","src":"242064:2:19"}]},{"nativeSrc":"242094:17:19","nodeType":"YulAssignment","src":"242094:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"242106:4:19","nodeType":"YulLiteral","src":"242106:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"242100:5:19","nodeType":"YulIdentifier","src":"242100:5:19"},"nativeSrc":"242100:11:19","nodeType":"YulFunctionCall","src":"242100:11:19"},"variableNames":[{"name":"m4","nativeSrc":"242094:2:19","nodeType":"YulIdentifier","src":"242094:2:19"}]},{"nativeSrc":"242124:17:19","nodeType":"YulAssignment","src":"242124:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"242136:4:19","nodeType":"YulLiteral","src":"242136:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"242130:5:19","nodeType":"YulIdentifier","src":"242130:5:19"},"nativeSrc":"242130:11:19","nodeType":"YulFunctionCall","src":"242130:11:19"},"variableNames":[{"name":"m5","nativeSrc":"242124:2:19","nodeType":"YulIdentifier","src":"242124:2:19"}]},{"nativeSrc":"242154:17:19","nodeType":"YulAssignment","src":"242154:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"242166:4:19","nodeType":"YulLiteral","src":"242166:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"242160:5:19","nodeType":"YulIdentifier","src":"242160:5:19"},"nativeSrc":"242160:11:19","nodeType":"YulFunctionCall","src":"242160:11:19"},"variableNames":[{"name":"m6","nativeSrc":"242154:2:19","nodeType":"YulIdentifier","src":"242154:2:19"}]},{"nativeSrc":"242184:17:19","nodeType":"YulAssignment","src":"242184:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"242196:4:19","nodeType":"YulLiteral","src":"242196:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"242190:5:19","nodeType":"YulIdentifier","src":"242190:5:19"},"nativeSrc":"242190:11:19","nodeType":"YulFunctionCall","src":"242190:11:19"},"variableNames":[{"name":"m7","nativeSrc":"242184:2:19","nodeType":"YulIdentifier","src":"242184:2:19"}]},{"nativeSrc":"242214:18:19","nodeType":"YulAssignment","src":"242214:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"242226:5:19","nodeType":"YulLiteral","src":"242226:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"242220:5:19","nodeType":"YulIdentifier","src":"242220:5:19"},"nativeSrc":"242220:12:19","nodeType":"YulFunctionCall","src":"242220:12:19"},"variableNames":[{"name":"m8","nativeSrc":"242214:2:19","nodeType":"YulIdentifier","src":"242214:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242314:4:19","nodeType":"YulLiteral","src":"242314:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"242320:10:19","nodeType":"YulLiteral","src":"242320:10:19","type":"","value":"0x97d394d8"}],"functionName":{"name":"mstore","nativeSrc":"242307:6:19","nodeType":"YulIdentifier","src":"242307:6:19"},"nativeSrc":"242307:24:19","nodeType":"YulFunctionCall","src":"242307:24:19"},"nativeSrc":"242307:24:19","nodeType":"YulExpressionStatement","src":"242307:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242351:4:19","nodeType":"YulLiteral","src":"242351:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"242357:2:19","nodeType":"YulIdentifier","src":"242357:2:19"}],"functionName":{"name":"mstore","nativeSrc":"242344:6:19","nodeType":"YulIdentifier","src":"242344:6:19"},"nativeSrc":"242344:16:19","nodeType":"YulFunctionCall","src":"242344:16:19"},"nativeSrc":"242344:16:19","nodeType":"YulExpressionStatement","src":"242344:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242380:4:19","nodeType":"YulLiteral","src":"242380:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"242386:4:19","nodeType":"YulLiteral","src":"242386:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"242373:6:19","nodeType":"YulIdentifier","src":"242373:6:19"},"nativeSrc":"242373:18:19","nodeType":"YulFunctionCall","src":"242373:18:19"},"nativeSrc":"242373:18:19","nodeType":"YulExpressionStatement","src":"242373:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242411:4:19","nodeType":"YulLiteral","src":"242411:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"242417:4:19","nodeType":"YulLiteral","src":"242417:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"242404:6:19","nodeType":"YulIdentifier","src":"242404:6:19"},"nativeSrc":"242404:18:19","nodeType":"YulFunctionCall","src":"242404:18:19"},"nativeSrc":"242404:18:19","nodeType":"YulExpressionStatement","src":"242404:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242442:4:19","nodeType":"YulLiteral","src":"242442:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"242448:2:19","nodeType":"YulIdentifier","src":"242448:2:19"}],"functionName":{"name":"mstore","nativeSrc":"242435:6:19","nodeType":"YulIdentifier","src":"242435:6:19"},"nativeSrc":"242435:16:19","nodeType":"YulFunctionCall","src":"242435:16:19"},"nativeSrc":"242435:16:19","nodeType":"YulExpressionStatement","src":"242435:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242476:4:19","nodeType":"YulLiteral","src":"242476:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"242482:2:19","nodeType":"YulIdentifier","src":"242482:2:19"}],"functionName":{"name":"writeString","nativeSrc":"242464:11:19","nodeType":"YulIdentifier","src":"242464:11:19"},"nativeSrc":"242464:21:19","nodeType":"YulFunctionCall","src":"242464:21:19"},"nativeSrc":"242464:21:19","nodeType":"YulExpressionStatement","src":"242464:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242510:4:19","nodeType":"YulLiteral","src":"242510:4:19","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"242516:2:19","nodeType":"YulIdentifier","src":"242516:2:19"}],"functionName":{"name":"writeString","nativeSrc":"242498:11:19","nodeType":"YulIdentifier","src":"242498:11:19"},"nativeSrc":"242498:21:19","nodeType":"YulFunctionCall","src":"242498:21:19"},"nativeSrc":"242498:21:19","nodeType":"YulExpressionStatement","src":"242498:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33868,"isOffset":false,"isSlot":false,"src":"241974:2:19","valueSize":1},{"declaration":33871,"isOffset":false,"isSlot":false,"src":"242004:2:19","valueSize":1},{"declaration":33874,"isOffset":false,"isSlot":false,"src":"242034:2:19","valueSize":1},{"declaration":33877,"isOffset":false,"isSlot":false,"src":"242064:2:19","valueSize":1},{"declaration":33880,"isOffset":false,"isSlot":false,"src":"242094:2:19","valueSize":1},{"declaration":33883,"isOffset":false,"isSlot":false,"src":"242124:2:19","valueSize":1},{"declaration":33886,"isOffset":false,"isSlot":false,"src":"242154:2:19","valueSize":1},{"declaration":33889,"isOffset":false,"isSlot":false,"src":"242184:2:19","valueSize":1},{"declaration":33892,"isOffset":false,"isSlot":false,"src":"242214:2:19","valueSize":1},{"declaration":33858,"isOffset":false,"isSlot":false,"src":"242357:2:19","valueSize":1},{"declaration":33860,"isOffset":false,"isSlot":false,"src":"242482:2:19","valueSize":1},{"declaration":33862,"isOffset":false,"isSlot":false,"src":"242516:2:19","valueSize":1},{"declaration":33864,"isOffset":false,"isSlot":false,"src":"242448:2:19","valueSize":1}],"id":33894,"nodeType":"InlineAssembly","src":"241596:933:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"242554:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":33897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"242560:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":33895,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"242538:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"242538:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33899,"nodeType":"ExpressionStatement","src":"242538:28:19"},{"AST":{"nativeSrc":"242628:273:19","nodeType":"YulBlock","src":"242628:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"242649:4:19","nodeType":"YulLiteral","src":"242649:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"242655:2:19","nodeType":"YulIdentifier","src":"242655:2:19"}],"functionName":{"name":"mstore","nativeSrc":"242642:6:19","nodeType":"YulIdentifier","src":"242642:6:19"},"nativeSrc":"242642:16:19","nodeType":"YulFunctionCall","src":"242642:16:19"},"nativeSrc":"242642:16:19","nodeType":"YulExpressionStatement","src":"242642:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242678:4:19","nodeType":"YulLiteral","src":"242678:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"242684:2:19","nodeType":"YulIdentifier","src":"242684:2:19"}],"functionName":{"name":"mstore","nativeSrc":"242671:6:19","nodeType":"YulIdentifier","src":"242671:6:19"},"nativeSrc":"242671:16:19","nodeType":"YulFunctionCall","src":"242671:16:19"},"nativeSrc":"242671:16:19","nodeType":"YulExpressionStatement","src":"242671:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242707:4:19","nodeType":"YulLiteral","src":"242707:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"242713:2:19","nodeType":"YulIdentifier","src":"242713:2:19"}],"functionName":{"name":"mstore","nativeSrc":"242700:6:19","nodeType":"YulIdentifier","src":"242700:6:19"},"nativeSrc":"242700:16:19","nodeType":"YulFunctionCall","src":"242700:16:19"},"nativeSrc":"242700:16:19","nodeType":"YulExpressionStatement","src":"242700:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242736:4:19","nodeType":"YulLiteral","src":"242736:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"242742:2:19","nodeType":"YulIdentifier","src":"242742:2:19"}],"functionName":{"name":"mstore","nativeSrc":"242729:6:19","nodeType":"YulIdentifier","src":"242729:6:19"},"nativeSrc":"242729:16:19","nodeType":"YulFunctionCall","src":"242729:16:19"},"nativeSrc":"242729:16:19","nodeType":"YulExpressionStatement","src":"242729:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242765:4:19","nodeType":"YulLiteral","src":"242765:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"242771:2:19","nodeType":"YulIdentifier","src":"242771:2:19"}],"functionName":{"name":"mstore","nativeSrc":"242758:6:19","nodeType":"YulIdentifier","src":"242758:6:19"},"nativeSrc":"242758:16:19","nodeType":"YulFunctionCall","src":"242758:16:19"},"nativeSrc":"242758:16:19","nodeType":"YulExpressionStatement","src":"242758:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242794:4:19","nodeType":"YulLiteral","src":"242794:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"242800:2:19","nodeType":"YulIdentifier","src":"242800:2:19"}],"functionName":{"name":"mstore","nativeSrc":"242787:6:19","nodeType":"YulIdentifier","src":"242787:6:19"},"nativeSrc":"242787:16:19","nodeType":"YulFunctionCall","src":"242787:16:19"},"nativeSrc":"242787:16:19","nodeType":"YulExpressionStatement","src":"242787:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242823:4:19","nodeType":"YulLiteral","src":"242823:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"242829:2:19","nodeType":"YulIdentifier","src":"242829:2:19"}],"functionName":{"name":"mstore","nativeSrc":"242816:6:19","nodeType":"YulIdentifier","src":"242816:6:19"},"nativeSrc":"242816:16:19","nodeType":"YulFunctionCall","src":"242816:16:19"},"nativeSrc":"242816:16:19","nodeType":"YulExpressionStatement","src":"242816:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242852:4:19","nodeType":"YulLiteral","src":"242852:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"242858:2:19","nodeType":"YulIdentifier","src":"242858:2:19"}],"functionName":{"name":"mstore","nativeSrc":"242845:6:19","nodeType":"YulIdentifier","src":"242845:6:19"},"nativeSrc":"242845:16:19","nodeType":"YulFunctionCall","src":"242845:16:19"},"nativeSrc":"242845:16:19","nodeType":"YulExpressionStatement","src":"242845:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"242881:5:19","nodeType":"YulLiteral","src":"242881:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"242888:2:19","nodeType":"YulIdentifier","src":"242888:2:19"}],"functionName":{"name":"mstore","nativeSrc":"242874:6:19","nodeType":"YulIdentifier","src":"242874:6:19"},"nativeSrc":"242874:17:19","nodeType":"YulFunctionCall","src":"242874:17:19"},"nativeSrc":"242874:17:19","nodeType":"YulExpressionStatement","src":"242874:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33868,"isOffset":false,"isSlot":false,"src":"242655:2:19","valueSize":1},{"declaration":33871,"isOffset":false,"isSlot":false,"src":"242684:2:19","valueSize":1},{"declaration":33874,"isOffset":false,"isSlot":false,"src":"242713:2:19","valueSize":1},{"declaration":33877,"isOffset":false,"isSlot":false,"src":"242742:2:19","valueSize":1},{"declaration":33880,"isOffset":false,"isSlot":false,"src":"242771:2:19","valueSize":1},{"declaration":33883,"isOffset":false,"isSlot":false,"src":"242800:2:19","valueSize":1},{"declaration":33886,"isOffset":false,"isSlot":false,"src":"242829:2:19","valueSize":1},{"declaration":33889,"isOffset":false,"isSlot":false,"src":"242858:2:19","valueSize":1},{"declaration":33892,"isOffset":false,"isSlot":false,"src":"242888:2:19","valueSize":1}],"id":33900,"nodeType":"InlineAssembly","src":"242619:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"241300:3:19","parameters":{"id":33865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33858,"mutability":"mutable","name":"p0","nameLocation":"241309:2:19","nodeType":"VariableDeclaration","scope":33902,"src":"241304:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33857,"name":"bool","nodeType":"ElementaryTypeName","src":"241304:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33860,"mutability":"mutable","name":"p1","nameLocation":"241321:2:19","nodeType":"VariableDeclaration","scope":33902,"src":"241313:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33859,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241313:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33862,"mutability":"mutable","name":"p2","nameLocation":"241333:2:19","nodeType":"VariableDeclaration","scope":33902,"src":"241325:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33861,"name":"bytes32","nodeType":"ElementaryTypeName","src":"241325:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33864,"mutability":"mutable","name":"p3","nameLocation":"241345:2:19","nodeType":"VariableDeclaration","scope":33902,"src":"241337:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33863,"name":"address","nodeType":"ElementaryTypeName","src":"241337:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"241303:45:19"},"returnParameters":{"id":33866,"nodeType":"ParameterList","parameters":[],"src":"241363:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33948,"nodeType":"FunctionDefinition","src":"242913:1610:19","nodes":[],"body":{"id":33947,"nodeType":"Block","src":"242982:1541:19","nodes":[],"statements":[{"assignments":[33914],"declarations":[{"constant":false,"id":33914,"mutability":"mutable","name":"m0","nameLocation":"243000:2:19","nodeType":"VariableDeclaration","scope":33947,"src":"242992:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33913,"name":"bytes32","nodeType":"ElementaryTypeName","src":"242992:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33915,"nodeType":"VariableDeclarationStatement","src":"242992:10:19"},{"assignments":[33917],"declarations":[{"constant":false,"id":33917,"mutability":"mutable","name":"m1","nameLocation":"243020:2:19","nodeType":"VariableDeclaration","scope":33947,"src":"243012:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33916,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243012:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33918,"nodeType":"VariableDeclarationStatement","src":"243012:10:19"},{"assignments":[33920],"declarations":[{"constant":false,"id":33920,"mutability":"mutable","name":"m2","nameLocation":"243040:2:19","nodeType":"VariableDeclaration","scope":33947,"src":"243032:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33919,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243032:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33921,"nodeType":"VariableDeclarationStatement","src":"243032:10:19"},{"assignments":[33923],"declarations":[{"constant":false,"id":33923,"mutability":"mutable","name":"m3","nameLocation":"243060:2:19","nodeType":"VariableDeclaration","scope":33947,"src":"243052:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33922,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243052:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33924,"nodeType":"VariableDeclarationStatement","src":"243052:10:19"},{"assignments":[33926],"declarations":[{"constant":false,"id":33926,"mutability":"mutable","name":"m4","nameLocation":"243080:2:19","nodeType":"VariableDeclaration","scope":33947,"src":"243072:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33925,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243072:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33927,"nodeType":"VariableDeclarationStatement","src":"243072:10:19"},{"assignments":[33929],"declarations":[{"constant":false,"id":33929,"mutability":"mutable","name":"m5","nameLocation":"243100:2:19","nodeType":"VariableDeclaration","scope":33947,"src":"243092:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33928,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243092:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33930,"nodeType":"VariableDeclarationStatement","src":"243092:10:19"},{"assignments":[33932],"declarations":[{"constant":false,"id":33932,"mutability":"mutable","name":"m6","nameLocation":"243120:2:19","nodeType":"VariableDeclaration","scope":33947,"src":"243112:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33931,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243112:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33933,"nodeType":"VariableDeclarationStatement","src":"243112:10:19"},{"assignments":[33935],"declarations":[{"constant":false,"id":33935,"mutability":"mutable","name":"m7","nameLocation":"243140:2:19","nodeType":"VariableDeclaration","scope":33947,"src":"243132:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33934,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243132:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33936,"nodeType":"VariableDeclarationStatement","src":"243132:10:19"},{"assignments":[33938],"declarations":[{"constant":false,"id":33938,"mutability":"mutable","name":"m8","nameLocation":"243160:2:19","nodeType":"VariableDeclaration","scope":33947,"src":"243152:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33937,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243152:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33939,"nodeType":"VariableDeclarationStatement","src":"243152:10:19"},{"AST":{"nativeSrc":"243224:921:19","nodeType":"YulBlock","src":"243224:921:19","statements":[{"body":{"nativeSrc":"243267:313:19","nodeType":"YulBlock","src":"243267:313:19","statements":[{"nativeSrc":"243285:15:19","nodeType":"YulVariableDeclaration","src":"243285:15:19","value":{"kind":"number","nativeSrc":"243299:1:19","nodeType":"YulLiteral","src":"243299:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"243289:6:19","nodeType":"YulTypedName","src":"243289:6:19","type":""}]},{"body":{"nativeSrc":"243370:40:19","nodeType":"YulBlock","src":"243370:40:19","statements":[{"body":{"nativeSrc":"243399:9:19","nodeType":"YulBlock","src":"243399:9:19","statements":[{"nativeSrc":"243401:5:19","nodeType":"YulBreak","src":"243401:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"243387:6:19","nodeType":"YulIdentifier","src":"243387:6:19"},{"name":"w","nativeSrc":"243395:1:19","nodeType":"YulIdentifier","src":"243395:1:19"}],"functionName":{"name":"byte","nativeSrc":"243382:4:19","nodeType":"YulIdentifier","src":"243382:4:19"},"nativeSrc":"243382:15:19","nodeType":"YulFunctionCall","src":"243382:15:19"}],"functionName":{"name":"iszero","nativeSrc":"243375:6:19","nodeType":"YulIdentifier","src":"243375:6:19"},"nativeSrc":"243375:23:19","nodeType":"YulFunctionCall","src":"243375:23:19"},"nativeSrc":"243372:36:19","nodeType":"YulIf","src":"243372:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"243327:6:19","nodeType":"YulIdentifier","src":"243327:6:19"},{"kind":"number","nativeSrc":"243335:4:19","nodeType":"YulLiteral","src":"243335:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"243324:2:19","nodeType":"YulIdentifier","src":"243324:2:19"},"nativeSrc":"243324:16:19","nodeType":"YulFunctionCall","src":"243324:16:19"},"nativeSrc":"243317:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"243341:28:19","nodeType":"YulBlock","src":"243341:28:19","statements":[{"nativeSrc":"243343:24:19","nodeType":"YulAssignment","src":"243343:24:19","value":{"arguments":[{"name":"length","nativeSrc":"243357:6:19","nodeType":"YulIdentifier","src":"243357:6:19"},{"kind":"number","nativeSrc":"243365:1:19","nodeType":"YulLiteral","src":"243365:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"243353:3:19","nodeType":"YulIdentifier","src":"243353:3:19"},"nativeSrc":"243353:14:19","nodeType":"YulFunctionCall","src":"243353:14:19"},"variableNames":[{"name":"length","nativeSrc":"243343:6:19","nodeType":"YulIdentifier","src":"243343:6:19"}]}]},"pre":{"nativeSrc":"243321:2:19","nodeType":"YulBlock","src":"243321:2:19","statements":[]},"src":"243317:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"243434:3:19","nodeType":"YulIdentifier","src":"243434:3:19"},{"name":"length","nativeSrc":"243439:6:19","nodeType":"YulIdentifier","src":"243439:6:19"}],"functionName":{"name":"mstore","nativeSrc":"243427:6:19","nodeType":"YulIdentifier","src":"243427:6:19"},"nativeSrc":"243427:19:19","nodeType":"YulFunctionCall","src":"243427:19:19"},"nativeSrc":"243427:19:19","nodeType":"YulExpressionStatement","src":"243427:19:19"},{"nativeSrc":"243463:37:19","nodeType":"YulVariableDeclaration","src":"243463:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"243480:3:19","nodeType":"YulLiteral","src":"243480:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"243489:1:19","nodeType":"YulLiteral","src":"243489:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"243492:6:19","nodeType":"YulIdentifier","src":"243492:6:19"}],"functionName":{"name":"shl","nativeSrc":"243485:3:19","nodeType":"YulIdentifier","src":"243485:3:19"},"nativeSrc":"243485:14:19","nodeType":"YulFunctionCall","src":"243485:14:19"}],"functionName":{"name":"sub","nativeSrc":"243476:3:19","nodeType":"YulIdentifier","src":"243476:3:19"},"nativeSrc":"243476:24:19","nodeType":"YulFunctionCall","src":"243476:24:19"},"variables":[{"name":"shift","nativeSrc":"243467:5:19","nodeType":"YulTypedName","src":"243467:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"243528:3:19","nodeType":"YulIdentifier","src":"243528:3:19"},{"kind":"number","nativeSrc":"243533:4:19","nodeType":"YulLiteral","src":"243533:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"243524:3:19","nodeType":"YulIdentifier","src":"243524:3:19"},"nativeSrc":"243524:14:19","nodeType":"YulFunctionCall","src":"243524:14:19"},{"arguments":[{"name":"shift","nativeSrc":"243544:5:19","nodeType":"YulIdentifier","src":"243544:5:19"},{"arguments":[{"name":"shift","nativeSrc":"243555:5:19","nodeType":"YulIdentifier","src":"243555:5:19"},{"name":"w","nativeSrc":"243562:1:19","nodeType":"YulIdentifier","src":"243562:1:19"}],"functionName":{"name":"shr","nativeSrc":"243551:3:19","nodeType":"YulIdentifier","src":"243551:3:19"},"nativeSrc":"243551:13:19","nodeType":"YulFunctionCall","src":"243551:13:19"}],"functionName":{"name":"shl","nativeSrc":"243540:3:19","nodeType":"YulIdentifier","src":"243540:3:19"},"nativeSrc":"243540:25:19","nodeType":"YulFunctionCall","src":"243540:25:19"}],"functionName":{"name":"mstore","nativeSrc":"243517:6:19","nodeType":"YulIdentifier","src":"243517:6:19"},"nativeSrc":"243517:49:19","nodeType":"YulFunctionCall","src":"243517:49:19"},"nativeSrc":"243517:49:19","nodeType":"YulExpressionStatement","src":"243517:49:19"}]},"name":"writeString","nativeSrc":"243238:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"243259:3:19","nodeType":"YulTypedName","src":"243259:3:19","type":""},{"name":"w","nativeSrc":"243264:1:19","nodeType":"YulTypedName","src":"243264:1:19","type":""}],"src":"243238:342:19"},{"nativeSrc":"243593:17:19","nodeType":"YulAssignment","src":"243593:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"243605:4:19","nodeType":"YulLiteral","src":"243605:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"243599:5:19","nodeType":"YulIdentifier","src":"243599:5:19"},"nativeSrc":"243599:11:19","nodeType":"YulFunctionCall","src":"243599:11:19"},"variableNames":[{"name":"m0","nativeSrc":"243593:2:19","nodeType":"YulIdentifier","src":"243593:2:19"}]},{"nativeSrc":"243623:17:19","nodeType":"YulAssignment","src":"243623:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"243635:4:19","nodeType":"YulLiteral","src":"243635:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"243629:5:19","nodeType":"YulIdentifier","src":"243629:5:19"},"nativeSrc":"243629:11:19","nodeType":"YulFunctionCall","src":"243629:11:19"},"variableNames":[{"name":"m1","nativeSrc":"243623:2:19","nodeType":"YulIdentifier","src":"243623:2:19"}]},{"nativeSrc":"243653:17:19","nodeType":"YulAssignment","src":"243653:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"243665:4:19","nodeType":"YulLiteral","src":"243665:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"243659:5:19","nodeType":"YulIdentifier","src":"243659:5:19"},"nativeSrc":"243659:11:19","nodeType":"YulFunctionCall","src":"243659:11:19"},"variableNames":[{"name":"m2","nativeSrc":"243653:2:19","nodeType":"YulIdentifier","src":"243653:2:19"}]},{"nativeSrc":"243683:17:19","nodeType":"YulAssignment","src":"243683:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"243695:4:19","nodeType":"YulLiteral","src":"243695:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"243689:5:19","nodeType":"YulIdentifier","src":"243689:5:19"},"nativeSrc":"243689:11:19","nodeType":"YulFunctionCall","src":"243689:11:19"},"variableNames":[{"name":"m3","nativeSrc":"243683:2:19","nodeType":"YulIdentifier","src":"243683:2:19"}]},{"nativeSrc":"243713:17:19","nodeType":"YulAssignment","src":"243713:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"243725:4:19","nodeType":"YulLiteral","src":"243725:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"243719:5:19","nodeType":"YulIdentifier","src":"243719:5:19"},"nativeSrc":"243719:11:19","nodeType":"YulFunctionCall","src":"243719:11:19"},"variableNames":[{"name":"m4","nativeSrc":"243713:2:19","nodeType":"YulIdentifier","src":"243713:2:19"}]},{"nativeSrc":"243743:17:19","nodeType":"YulAssignment","src":"243743:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"243755:4:19","nodeType":"YulLiteral","src":"243755:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"243749:5:19","nodeType":"YulIdentifier","src":"243749:5:19"},"nativeSrc":"243749:11:19","nodeType":"YulFunctionCall","src":"243749:11:19"},"variableNames":[{"name":"m5","nativeSrc":"243743:2:19","nodeType":"YulIdentifier","src":"243743:2:19"}]},{"nativeSrc":"243773:17:19","nodeType":"YulAssignment","src":"243773:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"243785:4:19","nodeType":"YulLiteral","src":"243785:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"243779:5:19","nodeType":"YulIdentifier","src":"243779:5:19"},"nativeSrc":"243779:11:19","nodeType":"YulFunctionCall","src":"243779:11:19"},"variableNames":[{"name":"m6","nativeSrc":"243773:2:19","nodeType":"YulIdentifier","src":"243773:2:19"}]},{"nativeSrc":"243803:17:19","nodeType":"YulAssignment","src":"243803:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"243815:4:19","nodeType":"YulLiteral","src":"243815:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"243809:5:19","nodeType":"YulIdentifier","src":"243809:5:19"},"nativeSrc":"243809:11:19","nodeType":"YulFunctionCall","src":"243809:11:19"},"variableNames":[{"name":"m7","nativeSrc":"243803:2:19","nodeType":"YulIdentifier","src":"243803:2:19"}]},{"nativeSrc":"243833:18:19","nodeType":"YulAssignment","src":"243833:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"243845:5:19","nodeType":"YulLiteral","src":"243845:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"243839:5:19","nodeType":"YulIdentifier","src":"243839:5:19"},"nativeSrc":"243839:12:19","nodeType":"YulFunctionCall","src":"243839:12:19"},"variableNames":[{"name":"m8","nativeSrc":"243833:2:19","nodeType":"YulIdentifier","src":"243833:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"243930:4:19","nodeType":"YulLiteral","src":"243930:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"243936:10:19","nodeType":"YulLiteral","src":"243936:10:19","type":"","value":"0x1e4b87e5"}],"functionName":{"name":"mstore","nativeSrc":"243923:6:19","nodeType":"YulIdentifier","src":"243923:6:19"},"nativeSrc":"243923:24:19","nodeType":"YulFunctionCall","src":"243923:24:19"},"nativeSrc":"243923:24:19","nodeType":"YulExpressionStatement","src":"243923:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"243967:4:19","nodeType":"YulLiteral","src":"243967:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"243973:2:19","nodeType":"YulIdentifier","src":"243973:2:19"}],"functionName":{"name":"mstore","nativeSrc":"243960:6:19","nodeType":"YulIdentifier","src":"243960:6:19"},"nativeSrc":"243960:16:19","nodeType":"YulFunctionCall","src":"243960:16:19"},"nativeSrc":"243960:16:19","nodeType":"YulExpressionStatement","src":"243960:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"243996:4:19","nodeType":"YulLiteral","src":"243996:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"244002:4:19","nodeType":"YulLiteral","src":"244002:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"243989:6:19","nodeType":"YulIdentifier","src":"243989:6:19"},"nativeSrc":"243989:18:19","nodeType":"YulFunctionCall","src":"243989:18:19"},"nativeSrc":"243989:18:19","nodeType":"YulExpressionStatement","src":"243989:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244027:4:19","nodeType":"YulLiteral","src":"244027:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"244033:4:19","nodeType":"YulLiteral","src":"244033:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"244020:6:19","nodeType":"YulIdentifier","src":"244020:6:19"},"nativeSrc":"244020:18:19","nodeType":"YulFunctionCall","src":"244020:18:19"},"nativeSrc":"244020:18:19","nodeType":"YulExpressionStatement","src":"244020:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244058:4:19","nodeType":"YulLiteral","src":"244058:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"244064:2:19","nodeType":"YulIdentifier","src":"244064:2:19"}],"functionName":{"name":"mstore","nativeSrc":"244051:6:19","nodeType":"YulIdentifier","src":"244051:6:19"},"nativeSrc":"244051:16:19","nodeType":"YulFunctionCall","src":"244051:16:19"},"nativeSrc":"244051:16:19","nodeType":"YulExpressionStatement","src":"244051:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244092:4:19","nodeType":"YulLiteral","src":"244092:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"244098:2:19","nodeType":"YulIdentifier","src":"244098:2:19"}],"functionName":{"name":"writeString","nativeSrc":"244080:11:19","nodeType":"YulIdentifier","src":"244080:11:19"},"nativeSrc":"244080:21:19","nodeType":"YulFunctionCall","src":"244080:21:19"},"nativeSrc":"244080:21:19","nodeType":"YulExpressionStatement","src":"244080:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244126:4:19","nodeType":"YulLiteral","src":"244126:4:19","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"244132:2:19","nodeType":"YulIdentifier","src":"244132:2:19"}],"functionName":{"name":"writeString","nativeSrc":"244114:11:19","nodeType":"YulIdentifier","src":"244114:11:19"},"nativeSrc":"244114:21:19","nodeType":"YulFunctionCall","src":"244114:21:19"},"nativeSrc":"244114:21:19","nodeType":"YulExpressionStatement","src":"244114:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33914,"isOffset":false,"isSlot":false,"src":"243593:2:19","valueSize":1},{"declaration":33917,"isOffset":false,"isSlot":false,"src":"243623:2:19","valueSize":1},{"declaration":33920,"isOffset":false,"isSlot":false,"src":"243653:2:19","valueSize":1},{"declaration":33923,"isOffset":false,"isSlot":false,"src":"243683:2:19","valueSize":1},{"declaration":33926,"isOffset":false,"isSlot":false,"src":"243713:2:19","valueSize":1},{"declaration":33929,"isOffset":false,"isSlot":false,"src":"243743:2:19","valueSize":1},{"declaration":33932,"isOffset":false,"isSlot":false,"src":"243773:2:19","valueSize":1},{"declaration":33935,"isOffset":false,"isSlot":false,"src":"243803:2:19","valueSize":1},{"declaration":33938,"isOffset":false,"isSlot":false,"src":"243833:2:19","valueSize":1},{"declaration":33904,"isOffset":false,"isSlot":false,"src":"243973:2:19","valueSize":1},{"declaration":33906,"isOffset":false,"isSlot":false,"src":"244098:2:19","valueSize":1},{"declaration":33908,"isOffset":false,"isSlot":false,"src":"244132:2:19","valueSize":1},{"declaration":33910,"isOffset":false,"isSlot":false,"src":"244064:2:19","valueSize":1}],"id":33940,"nodeType":"InlineAssembly","src":"243215:930:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"244170:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":33943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"244176:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":33941,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"244154:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"244154:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33945,"nodeType":"ExpressionStatement","src":"244154:28:19"},{"AST":{"nativeSrc":"244244:273:19","nodeType":"YulBlock","src":"244244:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"244265:4:19","nodeType":"YulLiteral","src":"244265:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"244271:2:19","nodeType":"YulIdentifier","src":"244271:2:19"}],"functionName":{"name":"mstore","nativeSrc":"244258:6:19","nodeType":"YulIdentifier","src":"244258:6:19"},"nativeSrc":"244258:16:19","nodeType":"YulFunctionCall","src":"244258:16:19"},"nativeSrc":"244258:16:19","nodeType":"YulExpressionStatement","src":"244258:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244294:4:19","nodeType":"YulLiteral","src":"244294:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"244300:2:19","nodeType":"YulIdentifier","src":"244300:2:19"}],"functionName":{"name":"mstore","nativeSrc":"244287:6:19","nodeType":"YulIdentifier","src":"244287:6:19"},"nativeSrc":"244287:16:19","nodeType":"YulFunctionCall","src":"244287:16:19"},"nativeSrc":"244287:16:19","nodeType":"YulExpressionStatement","src":"244287:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244323:4:19","nodeType":"YulLiteral","src":"244323:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"244329:2:19","nodeType":"YulIdentifier","src":"244329:2:19"}],"functionName":{"name":"mstore","nativeSrc":"244316:6:19","nodeType":"YulIdentifier","src":"244316:6:19"},"nativeSrc":"244316:16:19","nodeType":"YulFunctionCall","src":"244316:16:19"},"nativeSrc":"244316:16:19","nodeType":"YulExpressionStatement","src":"244316:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244352:4:19","nodeType":"YulLiteral","src":"244352:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"244358:2:19","nodeType":"YulIdentifier","src":"244358:2:19"}],"functionName":{"name":"mstore","nativeSrc":"244345:6:19","nodeType":"YulIdentifier","src":"244345:6:19"},"nativeSrc":"244345:16:19","nodeType":"YulFunctionCall","src":"244345:16:19"},"nativeSrc":"244345:16:19","nodeType":"YulExpressionStatement","src":"244345:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244381:4:19","nodeType":"YulLiteral","src":"244381:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"244387:2:19","nodeType":"YulIdentifier","src":"244387:2:19"}],"functionName":{"name":"mstore","nativeSrc":"244374:6:19","nodeType":"YulIdentifier","src":"244374:6:19"},"nativeSrc":"244374:16:19","nodeType":"YulFunctionCall","src":"244374:16:19"},"nativeSrc":"244374:16:19","nodeType":"YulExpressionStatement","src":"244374:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244410:4:19","nodeType":"YulLiteral","src":"244410:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"244416:2:19","nodeType":"YulIdentifier","src":"244416:2:19"}],"functionName":{"name":"mstore","nativeSrc":"244403:6:19","nodeType":"YulIdentifier","src":"244403:6:19"},"nativeSrc":"244403:16:19","nodeType":"YulFunctionCall","src":"244403:16:19"},"nativeSrc":"244403:16:19","nodeType":"YulExpressionStatement","src":"244403:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244439:4:19","nodeType":"YulLiteral","src":"244439:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"244445:2:19","nodeType":"YulIdentifier","src":"244445:2:19"}],"functionName":{"name":"mstore","nativeSrc":"244432:6:19","nodeType":"YulIdentifier","src":"244432:6:19"},"nativeSrc":"244432:16:19","nodeType":"YulFunctionCall","src":"244432:16:19"},"nativeSrc":"244432:16:19","nodeType":"YulExpressionStatement","src":"244432:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244468:4:19","nodeType":"YulLiteral","src":"244468:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"244474:2:19","nodeType":"YulIdentifier","src":"244474:2:19"}],"functionName":{"name":"mstore","nativeSrc":"244461:6:19","nodeType":"YulIdentifier","src":"244461:6:19"},"nativeSrc":"244461:16:19","nodeType":"YulFunctionCall","src":"244461:16:19"},"nativeSrc":"244461:16:19","nodeType":"YulExpressionStatement","src":"244461:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"244497:5:19","nodeType":"YulLiteral","src":"244497:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"244504:2:19","nodeType":"YulIdentifier","src":"244504:2:19"}],"functionName":{"name":"mstore","nativeSrc":"244490:6:19","nodeType":"YulIdentifier","src":"244490:6:19"},"nativeSrc":"244490:17:19","nodeType":"YulFunctionCall","src":"244490:17:19"},"nativeSrc":"244490:17:19","nodeType":"YulExpressionStatement","src":"244490:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33914,"isOffset":false,"isSlot":false,"src":"244271:2:19","valueSize":1},{"declaration":33917,"isOffset":false,"isSlot":false,"src":"244300:2:19","valueSize":1},{"declaration":33920,"isOffset":false,"isSlot":false,"src":"244329:2:19","valueSize":1},{"declaration":33923,"isOffset":false,"isSlot":false,"src":"244358:2:19","valueSize":1},{"declaration":33926,"isOffset":false,"isSlot":false,"src":"244387:2:19","valueSize":1},{"declaration":33929,"isOffset":false,"isSlot":false,"src":"244416:2:19","valueSize":1},{"declaration":33932,"isOffset":false,"isSlot":false,"src":"244445:2:19","valueSize":1},{"declaration":33935,"isOffset":false,"isSlot":false,"src":"244474:2:19","valueSize":1},{"declaration":33938,"isOffset":false,"isSlot":false,"src":"244504:2:19","valueSize":1}],"id":33946,"nodeType":"InlineAssembly","src":"244235:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"242922:3:19","parameters":{"id":33911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33904,"mutability":"mutable","name":"p0","nameLocation":"242931:2:19","nodeType":"VariableDeclaration","scope":33948,"src":"242926:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33903,"name":"bool","nodeType":"ElementaryTypeName","src":"242926:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33906,"mutability":"mutable","name":"p1","nameLocation":"242943:2:19","nodeType":"VariableDeclaration","scope":33948,"src":"242935:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33905,"name":"bytes32","nodeType":"ElementaryTypeName","src":"242935:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33908,"mutability":"mutable","name":"p2","nameLocation":"242955:2:19","nodeType":"VariableDeclaration","scope":33948,"src":"242947:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33907,"name":"bytes32","nodeType":"ElementaryTypeName","src":"242947:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33910,"mutability":"mutable","name":"p3","nameLocation":"242964:2:19","nodeType":"VariableDeclaration","scope":33948,"src":"242959:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33909,"name":"bool","nodeType":"ElementaryTypeName","src":"242959:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"242925:42:19"},"returnParameters":{"id":33912,"nodeType":"ParameterList","parameters":[],"src":"242982:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":33994,"nodeType":"FunctionDefinition","src":"244529:1616:19","nodes":[],"body":{"id":33993,"nodeType":"Block","src":"244601:1544:19","nodes":[],"statements":[{"assignments":[33960],"declarations":[{"constant":false,"id":33960,"mutability":"mutable","name":"m0","nameLocation":"244619:2:19","nodeType":"VariableDeclaration","scope":33993,"src":"244611:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33959,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244611:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33961,"nodeType":"VariableDeclarationStatement","src":"244611:10:19"},{"assignments":[33963],"declarations":[{"constant":false,"id":33963,"mutability":"mutable","name":"m1","nameLocation":"244639:2:19","nodeType":"VariableDeclaration","scope":33993,"src":"244631:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33962,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244631:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33964,"nodeType":"VariableDeclarationStatement","src":"244631:10:19"},{"assignments":[33966],"declarations":[{"constant":false,"id":33966,"mutability":"mutable","name":"m2","nameLocation":"244659:2:19","nodeType":"VariableDeclaration","scope":33993,"src":"244651:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33965,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244651:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33967,"nodeType":"VariableDeclarationStatement","src":"244651:10:19"},{"assignments":[33969],"declarations":[{"constant":false,"id":33969,"mutability":"mutable","name":"m3","nameLocation":"244679:2:19","nodeType":"VariableDeclaration","scope":33993,"src":"244671:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33968,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244671:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33970,"nodeType":"VariableDeclarationStatement","src":"244671:10:19"},{"assignments":[33972],"declarations":[{"constant":false,"id":33972,"mutability":"mutable","name":"m4","nameLocation":"244699:2:19","nodeType":"VariableDeclaration","scope":33993,"src":"244691:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33971,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244691:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33973,"nodeType":"VariableDeclarationStatement","src":"244691:10:19"},{"assignments":[33975],"declarations":[{"constant":false,"id":33975,"mutability":"mutable","name":"m5","nameLocation":"244719:2:19","nodeType":"VariableDeclaration","scope":33993,"src":"244711:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33974,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244711:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33976,"nodeType":"VariableDeclarationStatement","src":"244711:10:19"},{"assignments":[33978],"declarations":[{"constant":false,"id":33978,"mutability":"mutable","name":"m6","nameLocation":"244739:2:19","nodeType":"VariableDeclaration","scope":33993,"src":"244731:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33977,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244731:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33979,"nodeType":"VariableDeclarationStatement","src":"244731:10:19"},{"assignments":[33981],"declarations":[{"constant":false,"id":33981,"mutability":"mutable","name":"m7","nameLocation":"244759:2:19","nodeType":"VariableDeclaration","scope":33993,"src":"244751:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33980,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244751:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33982,"nodeType":"VariableDeclarationStatement","src":"244751:10:19"},{"assignments":[33984],"declarations":[{"constant":false,"id":33984,"mutability":"mutable","name":"m8","nameLocation":"244779:2:19","nodeType":"VariableDeclaration","scope":33993,"src":"244771:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33983,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244771:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":33985,"nodeType":"VariableDeclarationStatement","src":"244771:10:19"},{"AST":{"nativeSrc":"244843:924:19","nodeType":"YulBlock","src":"244843:924:19","statements":[{"body":{"nativeSrc":"244886:313:19","nodeType":"YulBlock","src":"244886:313:19","statements":[{"nativeSrc":"244904:15:19","nodeType":"YulVariableDeclaration","src":"244904:15:19","value":{"kind":"number","nativeSrc":"244918:1:19","nodeType":"YulLiteral","src":"244918:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"244908:6:19","nodeType":"YulTypedName","src":"244908:6:19","type":""}]},{"body":{"nativeSrc":"244989:40:19","nodeType":"YulBlock","src":"244989:40:19","statements":[{"body":{"nativeSrc":"245018:9:19","nodeType":"YulBlock","src":"245018:9:19","statements":[{"nativeSrc":"245020:5:19","nodeType":"YulBreak","src":"245020:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"245006:6:19","nodeType":"YulIdentifier","src":"245006:6:19"},{"name":"w","nativeSrc":"245014:1:19","nodeType":"YulIdentifier","src":"245014:1:19"}],"functionName":{"name":"byte","nativeSrc":"245001:4:19","nodeType":"YulIdentifier","src":"245001:4:19"},"nativeSrc":"245001:15:19","nodeType":"YulFunctionCall","src":"245001:15:19"}],"functionName":{"name":"iszero","nativeSrc":"244994:6:19","nodeType":"YulIdentifier","src":"244994:6:19"},"nativeSrc":"244994:23:19","nodeType":"YulFunctionCall","src":"244994:23:19"},"nativeSrc":"244991:36:19","nodeType":"YulIf","src":"244991:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"244946:6:19","nodeType":"YulIdentifier","src":"244946:6:19"},{"kind":"number","nativeSrc":"244954:4:19","nodeType":"YulLiteral","src":"244954:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"244943:2:19","nodeType":"YulIdentifier","src":"244943:2:19"},"nativeSrc":"244943:16:19","nodeType":"YulFunctionCall","src":"244943:16:19"},"nativeSrc":"244936:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"244960:28:19","nodeType":"YulBlock","src":"244960:28:19","statements":[{"nativeSrc":"244962:24:19","nodeType":"YulAssignment","src":"244962:24:19","value":{"arguments":[{"name":"length","nativeSrc":"244976:6:19","nodeType":"YulIdentifier","src":"244976:6:19"},{"kind":"number","nativeSrc":"244984:1:19","nodeType":"YulLiteral","src":"244984:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"244972:3:19","nodeType":"YulIdentifier","src":"244972:3:19"},"nativeSrc":"244972:14:19","nodeType":"YulFunctionCall","src":"244972:14:19"},"variableNames":[{"name":"length","nativeSrc":"244962:6:19","nodeType":"YulIdentifier","src":"244962:6:19"}]}]},"pre":{"nativeSrc":"244940:2:19","nodeType":"YulBlock","src":"244940:2:19","statements":[]},"src":"244936:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"245053:3:19","nodeType":"YulIdentifier","src":"245053:3:19"},{"name":"length","nativeSrc":"245058:6:19","nodeType":"YulIdentifier","src":"245058:6:19"}],"functionName":{"name":"mstore","nativeSrc":"245046:6:19","nodeType":"YulIdentifier","src":"245046:6:19"},"nativeSrc":"245046:19:19","nodeType":"YulFunctionCall","src":"245046:19:19"},"nativeSrc":"245046:19:19","nodeType":"YulExpressionStatement","src":"245046:19:19"},{"nativeSrc":"245082:37:19","nodeType":"YulVariableDeclaration","src":"245082:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"245099:3:19","nodeType":"YulLiteral","src":"245099:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"245108:1:19","nodeType":"YulLiteral","src":"245108:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"245111:6:19","nodeType":"YulIdentifier","src":"245111:6:19"}],"functionName":{"name":"shl","nativeSrc":"245104:3:19","nodeType":"YulIdentifier","src":"245104:3:19"},"nativeSrc":"245104:14:19","nodeType":"YulFunctionCall","src":"245104:14:19"}],"functionName":{"name":"sub","nativeSrc":"245095:3:19","nodeType":"YulIdentifier","src":"245095:3:19"},"nativeSrc":"245095:24:19","nodeType":"YulFunctionCall","src":"245095:24:19"},"variables":[{"name":"shift","nativeSrc":"245086:5:19","nodeType":"YulTypedName","src":"245086:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"245147:3:19","nodeType":"YulIdentifier","src":"245147:3:19"},{"kind":"number","nativeSrc":"245152:4:19","nodeType":"YulLiteral","src":"245152:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"245143:3:19","nodeType":"YulIdentifier","src":"245143:3:19"},"nativeSrc":"245143:14:19","nodeType":"YulFunctionCall","src":"245143:14:19"},{"arguments":[{"name":"shift","nativeSrc":"245163:5:19","nodeType":"YulIdentifier","src":"245163:5:19"},{"arguments":[{"name":"shift","nativeSrc":"245174:5:19","nodeType":"YulIdentifier","src":"245174:5:19"},{"name":"w","nativeSrc":"245181:1:19","nodeType":"YulIdentifier","src":"245181:1:19"}],"functionName":{"name":"shr","nativeSrc":"245170:3:19","nodeType":"YulIdentifier","src":"245170:3:19"},"nativeSrc":"245170:13:19","nodeType":"YulFunctionCall","src":"245170:13:19"}],"functionName":{"name":"shl","nativeSrc":"245159:3:19","nodeType":"YulIdentifier","src":"245159:3:19"},"nativeSrc":"245159:25:19","nodeType":"YulFunctionCall","src":"245159:25:19"}],"functionName":{"name":"mstore","nativeSrc":"245136:6:19","nodeType":"YulIdentifier","src":"245136:6:19"},"nativeSrc":"245136:49:19","nodeType":"YulFunctionCall","src":"245136:49:19"},"nativeSrc":"245136:49:19","nodeType":"YulExpressionStatement","src":"245136:49:19"}]},"name":"writeString","nativeSrc":"244857:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"244878:3:19","nodeType":"YulTypedName","src":"244878:3:19","type":""},{"name":"w","nativeSrc":"244883:1:19","nodeType":"YulTypedName","src":"244883:1:19","type":""}],"src":"244857:342:19"},{"nativeSrc":"245212:17:19","nodeType":"YulAssignment","src":"245212:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"245224:4:19","nodeType":"YulLiteral","src":"245224:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"245218:5:19","nodeType":"YulIdentifier","src":"245218:5:19"},"nativeSrc":"245218:11:19","nodeType":"YulFunctionCall","src":"245218:11:19"},"variableNames":[{"name":"m0","nativeSrc":"245212:2:19","nodeType":"YulIdentifier","src":"245212:2:19"}]},{"nativeSrc":"245242:17:19","nodeType":"YulAssignment","src":"245242:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"245254:4:19","nodeType":"YulLiteral","src":"245254:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"245248:5:19","nodeType":"YulIdentifier","src":"245248:5:19"},"nativeSrc":"245248:11:19","nodeType":"YulFunctionCall","src":"245248:11:19"},"variableNames":[{"name":"m1","nativeSrc":"245242:2:19","nodeType":"YulIdentifier","src":"245242:2:19"}]},{"nativeSrc":"245272:17:19","nodeType":"YulAssignment","src":"245272:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"245284:4:19","nodeType":"YulLiteral","src":"245284:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"245278:5:19","nodeType":"YulIdentifier","src":"245278:5:19"},"nativeSrc":"245278:11:19","nodeType":"YulFunctionCall","src":"245278:11:19"},"variableNames":[{"name":"m2","nativeSrc":"245272:2:19","nodeType":"YulIdentifier","src":"245272:2:19"}]},{"nativeSrc":"245302:17:19","nodeType":"YulAssignment","src":"245302:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"245314:4:19","nodeType":"YulLiteral","src":"245314:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"245308:5:19","nodeType":"YulIdentifier","src":"245308:5:19"},"nativeSrc":"245308:11:19","nodeType":"YulFunctionCall","src":"245308:11:19"},"variableNames":[{"name":"m3","nativeSrc":"245302:2:19","nodeType":"YulIdentifier","src":"245302:2:19"}]},{"nativeSrc":"245332:17:19","nodeType":"YulAssignment","src":"245332:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"245344:4:19","nodeType":"YulLiteral","src":"245344:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"245338:5:19","nodeType":"YulIdentifier","src":"245338:5:19"},"nativeSrc":"245338:11:19","nodeType":"YulFunctionCall","src":"245338:11:19"},"variableNames":[{"name":"m4","nativeSrc":"245332:2:19","nodeType":"YulIdentifier","src":"245332:2:19"}]},{"nativeSrc":"245362:17:19","nodeType":"YulAssignment","src":"245362:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"245374:4:19","nodeType":"YulLiteral","src":"245374:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"245368:5:19","nodeType":"YulIdentifier","src":"245368:5:19"},"nativeSrc":"245368:11:19","nodeType":"YulFunctionCall","src":"245368:11:19"},"variableNames":[{"name":"m5","nativeSrc":"245362:2:19","nodeType":"YulIdentifier","src":"245362:2:19"}]},{"nativeSrc":"245392:17:19","nodeType":"YulAssignment","src":"245392:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"245404:4:19","nodeType":"YulLiteral","src":"245404:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"245398:5:19","nodeType":"YulIdentifier","src":"245398:5:19"},"nativeSrc":"245398:11:19","nodeType":"YulFunctionCall","src":"245398:11:19"},"variableNames":[{"name":"m6","nativeSrc":"245392:2:19","nodeType":"YulIdentifier","src":"245392:2:19"}]},{"nativeSrc":"245422:17:19","nodeType":"YulAssignment","src":"245422:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"245434:4:19","nodeType":"YulLiteral","src":"245434:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"245428:5:19","nodeType":"YulIdentifier","src":"245428:5:19"},"nativeSrc":"245428:11:19","nodeType":"YulFunctionCall","src":"245428:11:19"},"variableNames":[{"name":"m7","nativeSrc":"245422:2:19","nodeType":"YulIdentifier","src":"245422:2:19"}]},{"nativeSrc":"245452:18:19","nodeType":"YulAssignment","src":"245452:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"245464:5:19","nodeType":"YulLiteral","src":"245464:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"245458:5:19","nodeType":"YulIdentifier","src":"245458:5:19"},"nativeSrc":"245458:12:19","nodeType":"YulFunctionCall","src":"245458:12:19"},"variableNames":[{"name":"m8","nativeSrc":"245452:2:19","nodeType":"YulIdentifier","src":"245452:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245552:4:19","nodeType":"YulLiteral","src":"245552:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"245558:10:19","nodeType":"YulLiteral","src":"245558:10:19","type":"","value":"0x7be0c3eb"}],"functionName":{"name":"mstore","nativeSrc":"245545:6:19","nodeType":"YulIdentifier","src":"245545:6:19"},"nativeSrc":"245545:24:19","nodeType":"YulFunctionCall","src":"245545:24:19"},"nativeSrc":"245545:24:19","nodeType":"YulExpressionStatement","src":"245545:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245589:4:19","nodeType":"YulLiteral","src":"245589:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"245595:2:19","nodeType":"YulIdentifier","src":"245595:2:19"}],"functionName":{"name":"mstore","nativeSrc":"245582:6:19","nodeType":"YulIdentifier","src":"245582:6:19"},"nativeSrc":"245582:16:19","nodeType":"YulFunctionCall","src":"245582:16:19"},"nativeSrc":"245582:16:19","nodeType":"YulExpressionStatement","src":"245582:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245618:4:19","nodeType":"YulLiteral","src":"245618:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"245624:4:19","nodeType":"YulLiteral","src":"245624:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"245611:6:19","nodeType":"YulIdentifier","src":"245611:6:19"},"nativeSrc":"245611:18:19","nodeType":"YulFunctionCall","src":"245611:18:19"},"nativeSrc":"245611:18:19","nodeType":"YulExpressionStatement","src":"245611:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245649:4:19","nodeType":"YulLiteral","src":"245649:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"245655:4:19","nodeType":"YulLiteral","src":"245655:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"245642:6:19","nodeType":"YulIdentifier","src":"245642:6:19"},"nativeSrc":"245642:18:19","nodeType":"YulFunctionCall","src":"245642:18:19"},"nativeSrc":"245642:18:19","nodeType":"YulExpressionStatement","src":"245642:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245680:4:19","nodeType":"YulLiteral","src":"245680:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"245686:2:19","nodeType":"YulIdentifier","src":"245686:2:19"}],"functionName":{"name":"mstore","nativeSrc":"245673:6:19","nodeType":"YulIdentifier","src":"245673:6:19"},"nativeSrc":"245673:16:19","nodeType":"YulFunctionCall","src":"245673:16:19"},"nativeSrc":"245673:16:19","nodeType":"YulExpressionStatement","src":"245673:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245714:4:19","nodeType":"YulLiteral","src":"245714:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"245720:2:19","nodeType":"YulIdentifier","src":"245720:2:19"}],"functionName":{"name":"writeString","nativeSrc":"245702:11:19","nodeType":"YulIdentifier","src":"245702:11:19"},"nativeSrc":"245702:21:19","nodeType":"YulFunctionCall","src":"245702:21:19"},"nativeSrc":"245702:21:19","nodeType":"YulExpressionStatement","src":"245702:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245748:4:19","nodeType":"YulLiteral","src":"245748:4:19","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"245754:2:19","nodeType":"YulIdentifier","src":"245754:2:19"}],"functionName":{"name":"writeString","nativeSrc":"245736:11:19","nodeType":"YulIdentifier","src":"245736:11:19"},"nativeSrc":"245736:21:19","nodeType":"YulFunctionCall","src":"245736:21:19"},"nativeSrc":"245736:21:19","nodeType":"YulExpressionStatement","src":"245736:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33960,"isOffset":false,"isSlot":false,"src":"245212:2:19","valueSize":1},{"declaration":33963,"isOffset":false,"isSlot":false,"src":"245242:2:19","valueSize":1},{"declaration":33966,"isOffset":false,"isSlot":false,"src":"245272:2:19","valueSize":1},{"declaration":33969,"isOffset":false,"isSlot":false,"src":"245302:2:19","valueSize":1},{"declaration":33972,"isOffset":false,"isSlot":false,"src":"245332:2:19","valueSize":1},{"declaration":33975,"isOffset":false,"isSlot":false,"src":"245362:2:19","valueSize":1},{"declaration":33978,"isOffset":false,"isSlot":false,"src":"245392:2:19","valueSize":1},{"declaration":33981,"isOffset":false,"isSlot":false,"src":"245422:2:19","valueSize":1},{"declaration":33984,"isOffset":false,"isSlot":false,"src":"245452:2:19","valueSize":1},{"declaration":33950,"isOffset":false,"isSlot":false,"src":"245595:2:19","valueSize":1},{"declaration":33952,"isOffset":false,"isSlot":false,"src":"245720:2:19","valueSize":1},{"declaration":33954,"isOffset":false,"isSlot":false,"src":"245754:2:19","valueSize":1},{"declaration":33956,"isOffset":false,"isSlot":false,"src":"245686:2:19","valueSize":1}],"id":33986,"nodeType":"InlineAssembly","src":"244834:933:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":33988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"245792:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":33989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"245798:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":33987,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"245776:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":33990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"245776:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33991,"nodeType":"ExpressionStatement","src":"245776:28:19"},{"AST":{"nativeSrc":"245866:273:19","nodeType":"YulBlock","src":"245866:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"245887:4:19","nodeType":"YulLiteral","src":"245887:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"245893:2:19","nodeType":"YulIdentifier","src":"245893:2:19"}],"functionName":{"name":"mstore","nativeSrc":"245880:6:19","nodeType":"YulIdentifier","src":"245880:6:19"},"nativeSrc":"245880:16:19","nodeType":"YulFunctionCall","src":"245880:16:19"},"nativeSrc":"245880:16:19","nodeType":"YulExpressionStatement","src":"245880:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245916:4:19","nodeType":"YulLiteral","src":"245916:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"245922:2:19","nodeType":"YulIdentifier","src":"245922:2:19"}],"functionName":{"name":"mstore","nativeSrc":"245909:6:19","nodeType":"YulIdentifier","src":"245909:6:19"},"nativeSrc":"245909:16:19","nodeType":"YulFunctionCall","src":"245909:16:19"},"nativeSrc":"245909:16:19","nodeType":"YulExpressionStatement","src":"245909:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245945:4:19","nodeType":"YulLiteral","src":"245945:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"245951:2:19","nodeType":"YulIdentifier","src":"245951:2:19"}],"functionName":{"name":"mstore","nativeSrc":"245938:6:19","nodeType":"YulIdentifier","src":"245938:6:19"},"nativeSrc":"245938:16:19","nodeType":"YulFunctionCall","src":"245938:16:19"},"nativeSrc":"245938:16:19","nodeType":"YulExpressionStatement","src":"245938:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"245974:4:19","nodeType":"YulLiteral","src":"245974:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"245980:2:19","nodeType":"YulIdentifier","src":"245980:2:19"}],"functionName":{"name":"mstore","nativeSrc":"245967:6:19","nodeType":"YulIdentifier","src":"245967:6:19"},"nativeSrc":"245967:16:19","nodeType":"YulFunctionCall","src":"245967:16:19"},"nativeSrc":"245967:16:19","nodeType":"YulExpressionStatement","src":"245967:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"246003:4:19","nodeType":"YulLiteral","src":"246003:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"246009:2:19","nodeType":"YulIdentifier","src":"246009:2:19"}],"functionName":{"name":"mstore","nativeSrc":"245996:6:19","nodeType":"YulIdentifier","src":"245996:6:19"},"nativeSrc":"245996:16:19","nodeType":"YulFunctionCall","src":"245996:16:19"},"nativeSrc":"245996:16:19","nodeType":"YulExpressionStatement","src":"245996:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"246032:4:19","nodeType":"YulLiteral","src":"246032:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"246038:2:19","nodeType":"YulIdentifier","src":"246038:2:19"}],"functionName":{"name":"mstore","nativeSrc":"246025:6:19","nodeType":"YulIdentifier","src":"246025:6:19"},"nativeSrc":"246025:16:19","nodeType":"YulFunctionCall","src":"246025:16:19"},"nativeSrc":"246025:16:19","nodeType":"YulExpressionStatement","src":"246025:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"246061:4:19","nodeType":"YulLiteral","src":"246061:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"246067:2:19","nodeType":"YulIdentifier","src":"246067:2:19"}],"functionName":{"name":"mstore","nativeSrc":"246054:6:19","nodeType":"YulIdentifier","src":"246054:6:19"},"nativeSrc":"246054:16:19","nodeType":"YulFunctionCall","src":"246054:16:19"},"nativeSrc":"246054:16:19","nodeType":"YulExpressionStatement","src":"246054:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"246090:4:19","nodeType":"YulLiteral","src":"246090:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"246096:2:19","nodeType":"YulIdentifier","src":"246096:2:19"}],"functionName":{"name":"mstore","nativeSrc":"246083:6:19","nodeType":"YulIdentifier","src":"246083:6:19"},"nativeSrc":"246083:16:19","nodeType":"YulFunctionCall","src":"246083:16:19"},"nativeSrc":"246083:16:19","nodeType":"YulExpressionStatement","src":"246083:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"246119:5:19","nodeType":"YulLiteral","src":"246119:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"246126:2:19","nodeType":"YulIdentifier","src":"246126:2:19"}],"functionName":{"name":"mstore","nativeSrc":"246112:6:19","nodeType":"YulIdentifier","src":"246112:6:19"},"nativeSrc":"246112:17:19","nodeType":"YulFunctionCall","src":"246112:17:19"},"nativeSrc":"246112:17:19","nodeType":"YulExpressionStatement","src":"246112:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":33960,"isOffset":false,"isSlot":false,"src":"245893:2:19","valueSize":1},{"declaration":33963,"isOffset":false,"isSlot":false,"src":"245922:2:19","valueSize":1},{"declaration":33966,"isOffset":false,"isSlot":false,"src":"245951:2:19","valueSize":1},{"declaration":33969,"isOffset":false,"isSlot":false,"src":"245980:2:19","valueSize":1},{"declaration":33972,"isOffset":false,"isSlot":false,"src":"246009:2:19","valueSize":1},{"declaration":33975,"isOffset":false,"isSlot":false,"src":"246038:2:19","valueSize":1},{"declaration":33978,"isOffset":false,"isSlot":false,"src":"246067:2:19","valueSize":1},{"declaration":33981,"isOffset":false,"isSlot":false,"src":"246096:2:19","valueSize":1},{"declaration":33984,"isOffset":false,"isSlot":false,"src":"246126:2:19","valueSize":1}],"id":33992,"nodeType":"InlineAssembly","src":"245857:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"244538:3:19","parameters":{"id":33957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33950,"mutability":"mutable","name":"p0","nameLocation":"244547:2:19","nodeType":"VariableDeclaration","scope":33994,"src":"244542:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33949,"name":"bool","nodeType":"ElementaryTypeName","src":"244542:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33952,"mutability":"mutable","name":"p1","nameLocation":"244559:2:19","nodeType":"VariableDeclaration","scope":33994,"src":"244551:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33951,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244551:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33954,"mutability":"mutable","name":"p2","nameLocation":"244571:2:19","nodeType":"VariableDeclaration","scope":33994,"src":"244563:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33953,"name":"bytes32","nodeType":"ElementaryTypeName","src":"244563:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":33956,"mutability":"mutable","name":"p3","nameLocation":"244583:2:19","nodeType":"VariableDeclaration","scope":33994,"src":"244575:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33955,"name":"uint256","nodeType":"ElementaryTypeName","src":"244575:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"244541:45:19"},"returnParameters":{"id":33958,"nodeType":"ParameterList","parameters":[],"src":"244601:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34046,"nodeType":"FunctionDefinition","src":"246151:1818:19","nodes":[],"body":{"id":34045,"nodeType":"Block","src":"246223:1746:19","nodes":[],"statements":[{"assignments":[34006],"declarations":[{"constant":false,"id":34006,"mutability":"mutable","name":"m0","nameLocation":"246241:2:19","nodeType":"VariableDeclaration","scope":34045,"src":"246233:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34005,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246233:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34007,"nodeType":"VariableDeclarationStatement","src":"246233:10:19"},{"assignments":[34009],"declarations":[{"constant":false,"id":34009,"mutability":"mutable","name":"m1","nameLocation":"246261:2:19","nodeType":"VariableDeclaration","scope":34045,"src":"246253:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34008,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246253:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34010,"nodeType":"VariableDeclarationStatement","src":"246253:10:19"},{"assignments":[34012],"declarations":[{"constant":false,"id":34012,"mutability":"mutable","name":"m2","nameLocation":"246281:2:19","nodeType":"VariableDeclaration","scope":34045,"src":"246273:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34011,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246273:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34013,"nodeType":"VariableDeclarationStatement","src":"246273:10:19"},{"assignments":[34015],"declarations":[{"constant":false,"id":34015,"mutability":"mutable","name":"m3","nameLocation":"246301:2:19","nodeType":"VariableDeclaration","scope":34045,"src":"246293:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34014,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246293:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34016,"nodeType":"VariableDeclarationStatement","src":"246293:10:19"},{"assignments":[34018],"declarations":[{"constant":false,"id":34018,"mutability":"mutable","name":"m4","nameLocation":"246321:2:19","nodeType":"VariableDeclaration","scope":34045,"src":"246313:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34017,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246313:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34019,"nodeType":"VariableDeclarationStatement","src":"246313:10:19"},{"assignments":[34021],"declarations":[{"constant":false,"id":34021,"mutability":"mutable","name":"m5","nameLocation":"246341:2:19","nodeType":"VariableDeclaration","scope":34045,"src":"246333:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34020,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246333:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34022,"nodeType":"VariableDeclarationStatement","src":"246333:10:19"},{"assignments":[34024],"declarations":[{"constant":false,"id":34024,"mutability":"mutable","name":"m6","nameLocation":"246361:2:19","nodeType":"VariableDeclaration","scope":34045,"src":"246353:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34023,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246353:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34025,"nodeType":"VariableDeclarationStatement","src":"246353:10:19"},{"assignments":[34027],"declarations":[{"constant":false,"id":34027,"mutability":"mutable","name":"m7","nameLocation":"246381:2:19","nodeType":"VariableDeclaration","scope":34045,"src":"246373:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34026,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246373:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34028,"nodeType":"VariableDeclarationStatement","src":"246373:10:19"},{"assignments":[34030],"declarations":[{"constant":false,"id":34030,"mutability":"mutable","name":"m8","nameLocation":"246401:2:19","nodeType":"VariableDeclaration","scope":34045,"src":"246393:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34029,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246393:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34031,"nodeType":"VariableDeclarationStatement","src":"246393:10:19"},{"assignments":[34033],"declarations":[{"constant":false,"id":34033,"mutability":"mutable","name":"m9","nameLocation":"246421:2:19","nodeType":"VariableDeclaration","scope":34045,"src":"246413:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34032,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246413:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34034,"nodeType":"VariableDeclarationStatement","src":"246413:10:19"},{"assignments":[34036],"declarations":[{"constant":false,"id":34036,"mutability":"mutable","name":"m10","nameLocation":"246441:3:19","nodeType":"VariableDeclaration","scope":34045,"src":"246433:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34035,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246433:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34037,"nodeType":"VariableDeclarationStatement","src":"246433:11:19"},{"AST":{"nativeSrc":"246506:1024:19","nodeType":"YulBlock","src":"246506:1024:19","statements":[{"body":{"nativeSrc":"246549:313:19","nodeType":"YulBlock","src":"246549:313:19","statements":[{"nativeSrc":"246567:15:19","nodeType":"YulVariableDeclaration","src":"246567:15:19","value":{"kind":"number","nativeSrc":"246581:1:19","nodeType":"YulLiteral","src":"246581:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"246571:6:19","nodeType":"YulTypedName","src":"246571:6:19","type":""}]},{"body":{"nativeSrc":"246652:40:19","nodeType":"YulBlock","src":"246652:40:19","statements":[{"body":{"nativeSrc":"246681:9:19","nodeType":"YulBlock","src":"246681:9:19","statements":[{"nativeSrc":"246683:5:19","nodeType":"YulBreak","src":"246683:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"246669:6:19","nodeType":"YulIdentifier","src":"246669:6:19"},{"name":"w","nativeSrc":"246677:1:19","nodeType":"YulIdentifier","src":"246677:1:19"}],"functionName":{"name":"byte","nativeSrc":"246664:4:19","nodeType":"YulIdentifier","src":"246664:4:19"},"nativeSrc":"246664:15:19","nodeType":"YulFunctionCall","src":"246664:15:19"}],"functionName":{"name":"iszero","nativeSrc":"246657:6:19","nodeType":"YulIdentifier","src":"246657:6:19"},"nativeSrc":"246657:23:19","nodeType":"YulFunctionCall","src":"246657:23:19"},"nativeSrc":"246654:36:19","nodeType":"YulIf","src":"246654:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"246609:6:19","nodeType":"YulIdentifier","src":"246609:6:19"},{"kind":"number","nativeSrc":"246617:4:19","nodeType":"YulLiteral","src":"246617:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"246606:2:19","nodeType":"YulIdentifier","src":"246606:2:19"},"nativeSrc":"246606:16:19","nodeType":"YulFunctionCall","src":"246606:16:19"},"nativeSrc":"246599:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"246623:28:19","nodeType":"YulBlock","src":"246623:28:19","statements":[{"nativeSrc":"246625:24:19","nodeType":"YulAssignment","src":"246625:24:19","value":{"arguments":[{"name":"length","nativeSrc":"246639:6:19","nodeType":"YulIdentifier","src":"246639:6:19"},{"kind":"number","nativeSrc":"246647:1:19","nodeType":"YulLiteral","src":"246647:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"246635:3:19","nodeType":"YulIdentifier","src":"246635:3:19"},"nativeSrc":"246635:14:19","nodeType":"YulFunctionCall","src":"246635:14:19"},"variableNames":[{"name":"length","nativeSrc":"246625:6:19","nodeType":"YulIdentifier","src":"246625:6:19"}]}]},"pre":{"nativeSrc":"246603:2:19","nodeType":"YulBlock","src":"246603:2:19","statements":[]},"src":"246599:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"246716:3:19","nodeType":"YulIdentifier","src":"246716:3:19"},{"name":"length","nativeSrc":"246721:6:19","nodeType":"YulIdentifier","src":"246721:6:19"}],"functionName":{"name":"mstore","nativeSrc":"246709:6:19","nodeType":"YulIdentifier","src":"246709:6:19"},"nativeSrc":"246709:19:19","nodeType":"YulFunctionCall","src":"246709:19:19"},"nativeSrc":"246709:19:19","nodeType":"YulExpressionStatement","src":"246709:19:19"},{"nativeSrc":"246745:37:19","nodeType":"YulVariableDeclaration","src":"246745:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"246762:3:19","nodeType":"YulLiteral","src":"246762:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"246771:1:19","nodeType":"YulLiteral","src":"246771:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"246774:6:19","nodeType":"YulIdentifier","src":"246774:6:19"}],"functionName":{"name":"shl","nativeSrc":"246767:3:19","nodeType":"YulIdentifier","src":"246767:3:19"},"nativeSrc":"246767:14:19","nodeType":"YulFunctionCall","src":"246767:14:19"}],"functionName":{"name":"sub","nativeSrc":"246758:3:19","nodeType":"YulIdentifier","src":"246758:3:19"},"nativeSrc":"246758:24:19","nodeType":"YulFunctionCall","src":"246758:24:19"},"variables":[{"name":"shift","nativeSrc":"246749:5:19","nodeType":"YulTypedName","src":"246749:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"246810:3:19","nodeType":"YulIdentifier","src":"246810:3:19"},{"kind":"number","nativeSrc":"246815:4:19","nodeType":"YulLiteral","src":"246815:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"246806:3:19","nodeType":"YulIdentifier","src":"246806:3:19"},"nativeSrc":"246806:14:19","nodeType":"YulFunctionCall","src":"246806:14:19"},{"arguments":[{"name":"shift","nativeSrc":"246826:5:19","nodeType":"YulIdentifier","src":"246826:5:19"},{"arguments":[{"name":"shift","nativeSrc":"246837:5:19","nodeType":"YulIdentifier","src":"246837:5:19"},{"name":"w","nativeSrc":"246844:1:19","nodeType":"YulIdentifier","src":"246844:1:19"}],"functionName":{"name":"shr","nativeSrc":"246833:3:19","nodeType":"YulIdentifier","src":"246833:3:19"},"nativeSrc":"246833:13:19","nodeType":"YulFunctionCall","src":"246833:13:19"}],"functionName":{"name":"shl","nativeSrc":"246822:3:19","nodeType":"YulIdentifier","src":"246822:3:19"},"nativeSrc":"246822:25:19","nodeType":"YulFunctionCall","src":"246822:25:19"}],"functionName":{"name":"mstore","nativeSrc":"246799:6:19","nodeType":"YulIdentifier","src":"246799:6:19"},"nativeSrc":"246799:49:19","nodeType":"YulFunctionCall","src":"246799:49:19"},"nativeSrc":"246799:49:19","nodeType":"YulExpressionStatement","src":"246799:49:19"}]},"name":"writeString","nativeSrc":"246520:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"246541:3:19","nodeType":"YulTypedName","src":"246541:3:19","type":""},{"name":"w","nativeSrc":"246546:1:19","nodeType":"YulTypedName","src":"246546:1:19","type":""}],"src":"246520:342:19"},{"nativeSrc":"246875:17:19","nodeType":"YulAssignment","src":"246875:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"246887:4:19","nodeType":"YulLiteral","src":"246887:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"246881:5:19","nodeType":"YulIdentifier","src":"246881:5:19"},"nativeSrc":"246881:11:19","nodeType":"YulFunctionCall","src":"246881:11:19"},"variableNames":[{"name":"m0","nativeSrc":"246875:2:19","nodeType":"YulIdentifier","src":"246875:2:19"}]},{"nativeSrc":"246905:17:19","nodeType":"YulAssignment","src":"246905:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"246917:4:19","nodeType":"YulLiteral","src":"246917:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"246911:5:19","nodeType":"YulIdentifier","src":"246911:5:19"},"nativeSrc":"246911:11:19","nodeType":"YulFunctionCall","src":"246911:11:19"},"variableNames":[{"name":"m1","nativeSrc":"246905:2:19","nodeType":"YulIdentifier","src":"246905:2:19"}]},{"nativeSrc":"246935:17:19","nodeType":"YulAssignment","src":"246935:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"246947:4:19","nodeType":"YulLiteral","src":"246947:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"246941:5:19","nodeType":"YulIdentifier","src":"246941:5:19"},"nativeSrc":"246941:11:19","nodeType":"YulFunctionCall","src":"246941:11:19"},"variableNames":[{"name":"m2","nativeSrc":"246935:2:19","nodeType":"YulIdentifier","src":"246935:2:19"}]},{"nativeSrc":"246965:17:19","nodeType":"YulAssignment","src":"246965:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"246977:4:19","nodeType":"YulLiteral","src":"246977:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"246971:5:19","nodeType":"YulIdentifier","src":"246971:5:19"},"nativeSrc":"246971:11:19","nodeType":"YulFunctionCall","src":"246971:11:19"},"variableNames":[{"name":"m3","nativeSrc":"246965:2:19","nodeType":"YulIdentifier","src":"246965:2:19"}]},{"nativeSrc":"246995:17:19","nodeType":"YulAssignment","src":"246995:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"247007:4:19","nodeType":"YulLiteral","src":"247007:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"247001:5:19","nodeType":"YulIdentifier","src":"247001:5:19"},"nativeSrc":"247001:11:19","nodeType":"YulFunctionCall","src":"247001:11:19"},"variableNames":[{"name":"m4","nativeSrc":"246995:2:19","nodeType":"YulIdentifier","src":"246995:2:19"}]},{"nativeSrc":"247025:17:19","nodeType":"YulAssignment","src":"247025:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"247037:4:19","nodeType":"YulLiteral","src":"247037:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"247031:5:19","nodeType":"YulIdentifier","src":"247031:5:19"},"nativeSrc":"247031:11:19","nodeType":"YulFunctionCall","src":"247031:11:19"},"variableNames":[{"name":"m5","nativeSrc":"247025:2:19","nodeType":"YulIdentifier","src":"247025:2:19"}]},{"nativeSrc":"247055:17:19","nodeType":"YulAssignment","src":"247055:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"247067:4:19","nodeType":"YulLiteral","src":"247067:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"247061:5:19","nodeType":"YulIdentifier","src":"247061:5:19"},"nativeSrc":"247061:11:19","nodeType":"YulFunctionCall","src":"247061:11:19"},"variableNames":[{"name":"m6","nativeSrc":"247055:2:19","nodeType":"YulIdentifier","src":"247055:2:19"}]},{"nativeSrc":"247085:17:19","nodeType":"YulAssignment","src":"247085:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"247097:4:19","nodeType":"YulLiteral","src":"247097:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"247091:5:19","nodeType":"YulIdentifier","src":"247091:5:19"},"nativeSrc":"247091:11:19","nodeType":"YulFunctionCall","src":"247091:11:19"},"variableNames":[{"name":"m7","nativeSrc":"247085:2:19","nodeType":"YulIdentifier","src":"247085:2:19"}]},{"nativeSrc":"247115:18:19","nodeType":"YulAssignment","src":"247115:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"247127:5:19","nodeType":"YulLiteral","src":"247127:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"247121:5:19","nodeType":"YulIdentifier","src":"247121:5:19"},"nativeSrc":"247121:12:19","nodeType":"YulFunctionCall","src":"247121:12:19"},"variableNames":[{"name":"m8","nativeSrc":"247115:2:19","nodeType":"YulIdentifier","src":"247115:2:19"}]},{"nativeSrc":"247146:18:19","nodeType":"YulAssignment","src":"247146:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"247158:5:19","nodeType":"YulLiteral","src":"247158:5:19","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"247152:5:19","nodeType":"YulIdentifier","src":"247152:5:19"},"nativeSrc":"247152:12:19","nodeType":"YulFunctionCall","src":"247152:12:19"},"variableNames":[{"name":"m9","nativeSrc":"247146:2:19","nodeType":"YulIdentifier","src":"247146:2:19"}]},{"nativeSrc":"247177:19:19","nodeType":"YulAssignment","src":"247177:19:19","value":{"arguments":[{"kind":"number","nativeSrc":"247190:5:19","nodeType":"YulLiteral","src":"247190:5:19","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"247184:5:19","nodeType":"YulIdentifier","src":"247184:5:19"},"nativeSrc":"247184:12:19","nodeType":"YulFunctionCall","src":"247184:12:19"},"variableNames":[{"name":"m10","nativeSrc":"247177:3:19","nodeType":"YulIdentifier","src":"247177:3:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247277:4:19","nodeType":"YulLiteral","src":"247277:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"247283:10:19","nodeType":"YulLiteral","src":"247283:10:19","type":"","value":"0x1762e32a"}],"functionName":{"name":"mstore","nativeSrc":"247270:6:19","nodeType":"YulIdentifier","src":"247270:6:19"},"nativeSrc":"247270:24:19","nodeType":"YulFunctionCall","src":"247270:24:19"},"nativeSrc":"247270:24:19","nodeType":"YulExpressionStatement","src":"247270:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247314:4:19","nodeType":"YulLiteral","src":"247314:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"247320:2:19","nodeType":"YulIdentifier","src":"247320:2:19"}],"functionName":{"name":"mstore","nativeSrc":"247307:6:19","nodeType":"YulIdentifier","src":"247307:6:19"},"nativeSrc":"247307:16:19","nodeType":"YulFunctionCall","src":"247307:16:19"},"nativeSrc":"247307:16:19","nodeType":"YulExpressionStatement","src":"247307:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247343:4:19","nodeType":"YulLiteral","src":"247343:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"247349:4:19","nodeType":"YulLiteral","src":"247349:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"247336:6:19","nodeType":"YulIdentifier","src":"247336:6:19"},"nativeSrc":"247336:18:19","nodeType":"YulFunctionCall","src":"247336:18:19"},"nativeSrc":"247336:18:19","nodeType":"YulExpressionStatement","src":"247336:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247374:4:19","nodeType":"YulLiteral","src":"247374:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"247380:4:19","nodeType":"YulLiteral","src":"247380:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"247367:6:19","nodeType":"YulIdentifier","src":"247367:6:19"},"nativeSrc":"247367:18:19","nodeType":"YulFunctionCall","src":"247367:18:19"},"nativeSrc":"247367:18:19","nodeType":"YulExpressionStatement","src":"247367:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247405:4:19","nodeType":"YulLiteral","src":"247405:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"247411:5:19","nodeType":"YulLiteral","src":"247411:5:19","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"247398:6:19","nodeType":"YulIdentifier","src":"247398:6:19"},"nativeSrc":"247398:19:19","nodeType":"YulFunctionCall","src":"247398:19:19"},"nativeSrc":"247398:19:19","nodeType":"YulExpressionStatement","src":"247398:19:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247442:4:19","nodeType":"YulLiteral","src":"247442:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"247448:2:19","nodeType":"YulIdentifier","src":"247448:2:19"}],"functionName":{"name":"writeString","nativeSrc":"247430:11:19","nodeType":"YulIdentifier","src":"247430:11:19"},"nativeSrc":"247430:21:19","nodeType":"YulFunctionCall","src":"247430:21:19"},"nativeSrc":"247430:21:19","nodeType":"YulExpressionStatement","src":"247430:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247476:4:19","nodeType":"YulLiteral","src":"247476:4:19","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"247482:2:19","nodeType":"YulIdentifier","src":"247482:2:19"}],"functionName":{"name":"writeString","nativeSrc":"247464:11:19","nodeType":"YulIdentifier","src":"247464:11:19"},"nativeSrc":"247464:21:19","nodeType":"YulFunctionCall","src":"247464:21:19"},"nativeSrc":"247464:21:19","nodeType":"YulExpressionStatement","src":"247464:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247510:5:19","nodeType":"YulLiteral","src":"247510:5:19","type":"","value":"0x120"},{"name":"p3","nativeSrc":"247517:2:19","nodeType":"YulIdentifier","src":"247517:2:19"}],"functionName":{"name":"writeString","nativeSrc":"247498:11:19","nodeType":"YulIdentifier","src":"247498:11:19"},"nativeSrc":"247498:22:19","nodeType":"YulFunctionCall","src":"247498:22:19"},"nativeSrc":"247498:22:19","nodeType":"YulExpressionStatement","src":"247498:22:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34006,"isOffset":false,"isSlot":false,"src":"246875:2:19","valueSize":1},{"declaration":34009,"isOffset":false,"isSlot":false,"src":"246905:2:19","valueSize":1},{"declaration":34036,"isOffset":false,"isSlot":false,"src":"247177:3:19","valueSize":1},{"declaration":34012,"isOffset":false,"isSlot":false,"src":"246935:2:19","valueSize":1},{"declaration":34015,"isOffset":false,"isSlot":false,"src":"246965:2:19","valueSize":1},{"declaration":34018,"isOffset":false,"isSlot":false,"src":"246995:2:19","valueSize":1},{"declaration":34021,"isOffset":false,"isSlot":false,"src":"247025:2:19","valueSize":1},{"declaration":34024,"isOffset":false,"isSlot":false,"src":"247055:2:19","valueSize":1},{"declaration":34027,"isOffset":false,"isSlot":false,"src":"247085:2:19","valueSize":1},{"declaration":34030,"isOffset":false,"isSlot":false,"src":"247115:2:19","valueSize":1},{"declaration":34033,"isOffset":false,"isSlot":false,"src":"247146:2:19","valueSize":1},{"declaration":33996,"isOffset":false,"isSlot":false,"src":"247320:2:19","valueSize":1},{"declaration":33998,"isOffset":false,"isSlot":false,"src":"247448:2:19","valueSize":1},{"declaration":34000,"isOffset":false,"isSlot":false,"src":"247482:2:19","valueSize":1},{"declaration":34002,"isOffset":false,"isSlot":false,"src":"247517:2:19","valueSize":1}],"id":34038,"nodeType":"InlineAssembly","src":"246497:1033:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"247555:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":34041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"247561:5:19","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"0x144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"}],"id":34039,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"247539:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"247539:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34043,"nodeType":"ExpressionStatement","src":"247539:28:19"},{"AST":{"nativeSrc":"247629:334:19","nodeType":"YulBlock","src":"247629:334:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"247650:4:19","nodeType":"YulLiteral","src":"247650:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"247656:2:19","nodeType":"YulIdentifier","src":"247656:2:19"}],"functionName":{"name":"mstore","nativeSrc":"247643:6:19","nodeType":"YulIdentifier","src":"247643:6:19"},"nativeSrc":"247643:16:19","nodeType":"YulFunctionCall","src":"247643:16:19"},"nativeSrc":"247643:16:19","nodeType":"YulExpressionStatement","src":"247643:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247679:4:19","nodeType":"YulLiteral","src":"247679:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"247685:2:19","nodeType":"YulIdentifier","src":"247685:2:19"}],"functionName":{"name":"mstore","nativeSrc":"247672:6:19","nodeType":"YulIdentifier","src":"247672:6:19"},"nativeSrc":"247672:16:19","nodeType":"YulFunctionCall","src":"247672:16:19"},"nativeSrc":"247672:16:19","nodeType":"YulExpressionStatement","src":"247672:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247708:4:19","nodeType":"YulLiteral","src":"247708:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"247714:2:19","nodeType":"YulIdentifier","src":"247714:2:19"}],"functionName":{"name":"mstore","nativeSrc":"247701:6:19","nodeType":"YulIdentifier","src":"247701:6:19"},"nativeSrc":"247701:16:19","nodeType":"YulFunctionCall","src":"247701:16:19"},"nativeSrc":"247701:16:19","nodeType":"YulExpressionStatement","src":"247701:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247737:4:19","nodeType":"YulLiteral","src":"247737:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"247743:2:19","nodeType":"YulIdentifier","src":"247743:2:19"}],"functionName":{"name":"mstore","nativeSrc":"247730:6:19","nodeType":"YulIdentifier","src":"247730:6:19"},"nativeSrc":"247730:16:19","nodeType":"YulFunctionCall","src":"247730:16:19"},"nativeSrc":"247730:16:19","nodeType":"YulExpressionStatement","src":"247730:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247766:4:19","nodeType":"YulLiteral","src":"247766:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"247772:2:19","nodeType":"YulIdentifier","src":"247772:2:19"}],"functionName":{"name":"mstore","nativeSrc":"247759:6:19","nodeType":"YulIdentifier","src":"247759:6:19"},"nativeSrc":"247759:16:19","nodeType":"YulFunctionCall","src":"247759:16:19"},"nativeSrc":"247759:16:19","nodeType":"YulExpressionStatement","src":"247759:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247795:4:19","nodeType":"YulLiteral","src":"247795:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"247801:2:19","nodeType":"YulIdentifier","src":"247801:2:19"}],"functionName":{"name":"mstore","nativeSrc":"247788:6:19","nodeType":"YulIdentifier","src":"247788:6:19"},"nativeSrc":"247788:16:19","nodeType":"YulFunctionCall","src":"247788:16:19"},"nativeSrc":"247788:16:19","nodeType":"YulExpressionStatement","src":"247788:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247824:4:19","nodeType":"YulLiteral","src":"247824:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"247830:2:19","nodeType":"YulIdentifier","src":"247830:2:19"}],"functionName":{"name":"mstore","nativeSrc":"247817:6:19","nodeType":"YulIdentifier","src":"247817:6:19"},"nativeSrc":"247817:16:19","nodeType":"YulFunctionCall","src":"247817:16:19"},"nativeSrc":"247817:16:19","nodeType":"YulExpressionStatement","src":"247817:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247853:4:19","nodeType":"YulLiteral","src":"247853:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"247859:2:19","nodeType":"YulIdentifier","src":"247859:2:19"}],"functionName":{"name":"mstore","nativeSrc":"247846:6:19","nodeType":"YulIdentifier","src":"247846:6:19"},"nativeSrc":"247846:16:19","nodeType":"YulFunctionCall","src":"247846:16:19"},"nativeSrc":"247846:16:19","nodeType":"YulExpressionStatement","src":"247846:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247882:5:19","nodeType":"YulLiteral","src":"247882:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"247889:2:19","nodeType":"YulIdentifier","src":"247889:2:19"}],"functionName":{"name":"mstore","nativeSrc":"247875:6:19","nodeType":"YulIdentifier","src":"247875:6:19"},"nativeSrc":"247875:17:19","nodeType":"YulFunctionCall","src":"247875:17:19"},"nativeSrc":"247875:17:19","nodeType":"YulExpressionStatement","src":"247875:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247912:5:19","nodeType":"YulLiteral","src":"247912:5:19","type":"","value":"0x120"},{"name":"m9","nativeSrc":"247919:2:19","nodeType":"YulIdentifier","src":"247919:2:19"}],"functionName":{"name":"mstore","nativeSrc":"247905:6:19","nodeType":"YulIdentifier","src":"247905:6:19"},"nativeSrc":"247905:17:19","nodeType":"YulFunctionCall","src":"247905:17:19"},"nativeSrc":"247905:17:19","nodeType":"YulExpressionStatement","src":"247905:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"247942:5:19","nodeType":"YulLiteral","src":"247942:5:19","type":"","value":"0x140"},{"name":"m10","nativeSrc":"247949:3:19","nodeType":"YulIdentifier","src":"247949:3:19"}],"functionName":{"name":"mstore","nativeSrc":"247935:6:19","nodeType":"YulIdentifier","src":"247935:6:19"},"nativeSrc":"247935:18:19","nodeType":"YulFunctionCall","src":"247935:18:19"},"nativeSrc":"247935:18:19","nodeType":"YulExpressionStatement","src":"247935:18:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34006,"isOffset":false,"isSlot":false,"src":"247656:2:19","valueSize":1},{"declaration":34009,"isOffset":false,"isSlot":false,"src":"247685:2:19","valueSize":1},{"declaration":34036,"isOffset":false,"isSlot":false,"src":"247949:3:19","valueSize":1},{"declaration":34012,"isOffset":false,"isSlot":false,"src":"247714:2:19","valueSize":1},{"declaration":34015,"isOffset":false,"isSlot":false,"src":"247743:2:19","valueSize":1},{"declaration":34018,"isOffset":false,"isSlot":false,"src":"247772:2:19","valueSize":1},{"declaration":34021,"isOffset":false,"isSlot":false,"src":"247801:2:19","valueSize":1},{"declaration":34024,"isOffset":false,"isSlot":false,"src":"247830:2:19","valueSize":1},{"declaration":34027,"isOffset":false,"isSlot":false,"src":"247859:2:19","valueSize":1},{"declaration":34030,"isOffset":false,"isSlot":false,"src":"247889:2:19","valueSize":1},{"declaration":34033,"isOffset":false,"isSlot":false,"src":"247919:2:19","valueSize":1}],"id":34044,"nodeType":"InlineAssembly","src":"247620:343:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"246160:3:19","parameters":{"id":34003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33996,"mutability":"mutable","name":"p0","nameLocation":"246169:2:19","nodeType":"VariableDeclaration","scope":34046,"src":"246164:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33995,"name":"bool","nodeType":"ElementaryTypeName","src":"246164:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33998,"mutability":"mutable","name":"p1","nameLocation":"246181:2:19","nodeType":"VariableDeclaration","scope":34046,"src":"246173:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33997,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246173:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34000,"mutability":"mutable","name":"p2","nameLocation":"246193:2:19","nodeType":"VariableDeclaration","scope":34046,"src":"246185:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":33999,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246185:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34002,"mutability":"mutable","name":"p3","nameLocation":"246205:2:19","nodeType":"VariableDeclaration","scope":34046,"src":"246197:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34001,"name":"bytes32","nodeType":"ElementaryTypeName","src":"246197:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"246163:45:19"},"returnParameters":{"id":34004,"nodeType":"ParameterList","parameters":[],"src":"246223:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34080,"nodeType":"FunctionDefinition","src":"247975:878:19","nodes":[],"body":{"id":34079,"nodeType":"Block","src":"248050:803:19","nodes":[],"statements":[{"assignments":[34058],"declarations":[{"constant":false,"id":34058,"mutability":"mutable","name":"m0","nameLocation":"248068:2:19","nodeType":"VariableDeclaration","scope":34079,"src":"248060:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34057,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248060:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34059,"nodeType":"VariableDeclarationStatement","src":"248060:10:19"},{"assignments":[34061],"declarations":[{"constant":false,"id":34061,"mutability":"mutable","name":"m1","nameLocation":"248088:2:19","nodeType":"VariableDeclaration","scope":34079,"src":"248080:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34060,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248080:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34062,"nodeType":"VariableDeclarationStatement","src":"248080:10:19"},{"assignments":[34064],"declarations":[{"constant":false,"id":34064,"mutability":"mutable","name":"m2","nameLocation":"248108:2:19","nodeType":"VariableDeclaration","scope":34079,"src":"248100:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34063,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248100:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34065,"nodeType":"VariableDeclarationStatement","src":"248100:10:19"},{"assignments":[34067],"declarations":[{"constant":false,"id":34067,"mutability":"mutable","name":"m3","nameLocation":"248128:2:19","nodeType":"VariableDeclaration","scope":34079,"src":"248120:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34066,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248120:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34068,"nodeType":"VariableDeclarationStatement","src":"248120:10:19"},{"assignments":[34070],"declarations":[{"constant":false,"id":34070,"mutability":"mutable","name":"m4","nameLocation":"248148:2:19","nodeType":"VariableDeclaration","scope":34079,"src":"248140:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34069,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248140:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34071,"nodeType":"VariableDeclarationStatement","src":"248140:10:19"},{"AST":{"nativeSrc":"248212:381:19","nodeType":"YulBlock","src":"248212:381:19","statements":[{"nativeSrc":"248226:17:19","nodeType":"YulAssignment","src":"248226:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"248238:4:19","nodeType":"YulLiteral","src":"248238:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"248232:5:19","nodeType":"YulIdentifier","src":"248232:5:19"},"nativeSrc":"248232:11:19","nodeType":"YulFunctionCall","src":"248232:11:19"},"variableNames":[{"name":"m0","nativeSrc":"248226:2:19","nodeType":"YulIdentifier","src":"248226:2:19"}]},{"nativeSrc":"248256:17:19","nodeType":"YulAssignment","src":"248256:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"248268:4:19","nodeType":"YulLiteral","src":"248268:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"248262:5:19","nodeType":"YulIdentifier","src":"248262:5:19"},"nativeSrc":"248262:11:19","nodeType":"YulFunctionCall","src":"248262:11:19"},"variableNames":[{"name":"m1","nativeSrc":"248256:2:19","nodeType":"YulIdentifier","src":"248256:2:19"}]},{"nativeSrc":"248286:17:19","nodeType":"YulAssignment","src":"248286:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"248298:4:19","nodeType":"YulLiteral","src":"248298:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"248292:5:19","nodeType":"YulIdentifier","src":"248292:5:19"},"nativeSrc":"248292:11:19","nodeType":"YulFunctionCall","src":"248292:11:19"},"variableNames":[{"name":"m2","nativeSrc":"248286:2:19","nodeType":"YulIdentifier","src":"248286:2:19"}]},{"nativeSrc":"248316:17:19","nodeType":"YulAssignment","src":"248316:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"248328:4:19","nodeType":"YulLiteral","src":"248328:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"248322:5:19","nodeType":"YulIdentifier","src":"248322:5:19"},"nativeSrc":"248322:11:19","nodeType":"YulFunctionCall","src":"248322:11:19"},"variableNames":[{"name":"m3","nativeSrc":"248316:2:19","nodeType":"YulIdentifier","src":"248316:2:19"}]},{"nativeSrc":"248346:17:19","nodeType":"YulAssignment","src":"248346:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"248358:4:19","nodeType":"YulLiteral","src":"248358:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"248352:5:19","nodeType":"YulIdentifier","src":"248352:5:19"},"nativeSrc":"248352:11:19","nodeType":"YulFunctionCall","src":"248352:11:19"},"variableNames":[{"name":"m4","nativeSrc":"248346:2:19","nodeType":"YulIdentifier","src":"248346:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248450:4:19","nodeType":"YulLiteral","src":"248450:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"248456:10:19","nodeType":"YulLiteral","src":"248456:10:19","type":"","value":"0x2488b414"}],"functionName":{"name":"mstore","nativeSrc":"248443:6:19","nodeType":"YulIdentifier","src":"248443:6:19"},"nativeSrc":"248443:24:19","nodeType":"YulFunctionCall","src":"248443:24:19"},"nativeSrc":"248443:24:19","nodeType":"YulExpressionStatement","src":"248443:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248487:4:19","nodeType":"YulLiteral","src":"248487:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"248493:2:19","nodeType":"YulIdentifier","src":"248493:2:19"}],"functionName":{"name":"mstore","nativeSrc":"248480:6:19","nodeType":"YulIdentifier","src":"248480:6:19"},"nativeSrc":"248480:16:19","nodeType":"YulFunctionCall","src":"248480:16:19"},"nativeSrc":"248480:16:19","nodeType":"YulExpressionStatement","src":"248480:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248516:4:19","nodeType":"YulLiteral","src":"248516:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"248522:2:19","nodeType":"YulIdentifier","src":"248522:2:19"}],"functionName":{"name":"mstore","nativeSrc":"248509:6:19","nodeType":"YulIdentifier","src":"248509:6:19"},"nativeSrc":"248509:16:19","nodeType":"YulFunctionCall","src":"248509:16:19"},"nativeSrc":"248509:16:19","nodeType":"YulExpressionStatement","src":"248509:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248545:4:19","nodeType":"YulLiteral","src":"248545:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"248551:2:19","nodeType":"YulIdentifier","src":"248551:2:19"}],"functionName":{"name":"mstore","nativeSrc":"248538:6:19","nodeType":"YulIdentifier","src":"248538:6:19"},"nativeSrc":"248538:16:19","nodeType":"YulFunctionCall","src":"248538:16:19"},"nativeSrc":"248538:16:19","nodeType":"YulExpressionStatement","src":"248538:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248574:4:19","nodeType":"YulLiteral","src":"248574:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"248580:2:19","nodeType":"YulIdentifier","src":"248580:2:19"}],"functionName":{"name":"mstore","nativeSrc":"248567:6:19","nodeType":"YulIdentifier","src":"248567:6:19"},"nativeSrc":"248567:16:19","nodeType":"YulFunctionCall","src":"248567:16:19"},"nativeSrc":"248567:16:19","nodeType":"YulExpressionStatement","src":"248567:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34058,"isOffset":false,"isSlot":false,"src":"248226:2:19","valueSize":1},{"declaration":34061,"isOffset":false,"isSlot":false,"src":"248256:2:19","valueSize":1},{"declaration":34064,"isOffset":false,"isSlot":false,"src":"248286:2:19","valueSize":1},{"declaration":34067,"isOffset":false,"isSlot":false,"src":"248316:2:19","valueSize":1},{"declaration":34070,"isOffset":false,"isSlot":false,"src":"248346:2:19","valueSize":1},{"declaration":34048,"isOffset":false,"isSlot":false,"src":"248493:2:19","valueSize":1},{"declaration":34050,"isOffset":false,"isSlot":false,"src":"248522:2:19","valueSize":1},{"declaration":34052,"isOffset":false,"isSlot":false,"src":"248551:2:19","valueSize":1},{"declaration":34054,"isOffset":false,"isSlot":false,"src":"248580:2:19","valueSize":1}],"id":34072,"nodeType":"InlineAssembly","src":"248203:390:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"248618:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"248624:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":34073,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"248602:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"248602:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34077,"nodeType":"ExpressionStatement","src":"248602:27:19"},{"AST":{"nativeSrc":"248691:156:19","nodeType":"YulBlock","src":"248691:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"248712:4:19","nodeType":"YulLiteral","src":"248712:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"248718:2:19","nodeType":"YulIdentifier","src":"248718:2:19"}],"functionName":{"name":"mstore","nativeSrc":"248705:6:19","nodeType":"YulIdentifier","src":"248705:6:19"},"nativeSrc":"248705:16:19","nodeType":"YulFunctionCall","src":"248705:16:19"},"nativeSrc":"248705:16:19","nodeType":"YulExpressionStatement","src":"248705:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248741:4:19","nodeType":"YulLiteral","src":"248741:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"248747:2:19","nodeType":"YulIdentifier","src":"248747:2:19"}],"functionName":{"name":"mstore","nativeSrc":"248734:6:19","nodeType":"YulIdentifier","src":"248734:6:19"},"nativeSrc":"248734:16:19","nodeType":"YulFunctionCall","src":"248734:16:19"},"nativeSrc":"248734:16:19","nodeType":"YulExpressionStatement","src":"248734:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248770:4:19","nodeType":"YulLiteral","src":"248770:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"248776:2:19","nodeType":"YulIdentifier","src":"248776:2:19"}],"functionName":{"name":"mstore","nativeSrc":"248763:6:19","nodeType":"YulIdentifier","src":"248763:6:19"},"nativeSrc":"248763:16:19","nodeType":"YulFunctionCall","src":"248763:16:19"},"nativeSrc":"248763:16:19","nodeType":"YulExpressionStatement","src":"248763:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248799:4:19","nodeType":"YulLiteral","src":"248799:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"248805:2:19","nodeType":"YulIdentifier","src":"248805:2:19"}],"functionName":{"name":"mstore","nativeSrc":"248792:6:19","nodeType":"YulIdentifier","src":"248792:6:19"},"nativeSrc":"248792:16:19","nodeType":"YulFunctionCall","src":"248792:16:19"},"nativeSrc":"248792:16:19","nodeType":"YulExpressionStatement","src":"248792:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"248828:4:19","nodeType":"YulLiteral","src":"248828:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"248834:2:19","nodeType":"YulIdentifier","src":"248834:2:19"}],"functionName":{"name":"mstore","nativeSrc":"248821:6:19","nodeType":"YulIdentifier","src":"248821:6:19"},"nativeSrc":"248821:16:19","nodeType":"YulFunctionCall","src":"248821:16:19"},"nativeSrc":"248821:16:19","nodeType":"YulExpressionStatement","src":"248821:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34058,"isOffset":false,"isSlot":false,"src":"248718:2:19","valueSize":1},{"declaration":34061,"isOffset":false,"isSlot":false,"src":"248747:2:19","valueSize":1},{"declaration":34064,"isOffset":false,"isSlot":false,"src":"248776:2:19","valueSize":1},{"declaration":34067,"isOffset":false,"isSlot":false,"src":"248805:2:19","valueSize":1},{"declaration":34070,"isOffset":false,"isSlot":false,"src":"248834:2:19","valueSize":1}],"id":34078,"nodeType":"InlineAssembly","src":"248682:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"247984:3:19","parameters":{"id":34055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34048,"mutability":"mutable","name":"p0","nameLocation":"247996:2:19","nodeType":"VariableDeclaration","scope":34080,"src":"247988:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34047,"name":"uint256","nodeType":"ElementaryTypeName","src":"247988:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34050,"mutability":"mutable","name":"p1","nameLocation":"248008:2:19","nodeType":"VariableDeclaration","scope":34080,"src":"248000:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34049,"name":"address","nodeType":"ElementaryTypeName","src":"248000:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34052,"mutability":"mutable","name":"p2","nameLocation":"248020:2:19","nodeType":"VariableDeclaration","scope":34080,"src":"248012:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34051,"name":"address","nodeType":"ElementaryTypeName","src":"248012:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34054,"mutability":"mutable","name":"p3","nameLocation":"248032:2:19","nodeType":"VariableDeclaration","scope":34080,"src":"248024:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34053,"name":"address","nodeType":"ElementaryTypeName","src":"248024:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"247987:48:19"},"returnParameters":{"id":34056,"nodeType":"ParameterList","parameters":[],"src":"248050:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34114,"nodeType":"FunctionDefinition","src":"248859:872:19","nodes":[],"body":{"id":34113,"nodeType":"Block","src":"248931:800:19","nodes":[],"statements":[{"assignments":[34092],"declarations":[{"constant":false,"id":34092,"mutability":"mutable","name":"m0","nameLocation":"248949:2:19","nodeType":"VariableDeclaration","scope":34113,"src":"248941:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34091,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248941:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34093,"nodeType":"VariableDeclarationStatement","src":"248941:10:19"},{"assignments":[34095],"declarations":[{"constant":false,"id":34095,"mutability":"mutable","name":"m1","nameLocation":"248969:2:19","nodeType":"VariableDeclaration","scope":34113,"src":"248961:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34094,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248961:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34096,"nodeType":"VariableDeclarationStatement","src":"248961:10:19"},{"assignments":[34098],"declarations":[{"constant":false,"id":34098,"mutability":"mutable","name":"m2","nameLocation":"248989:2:19","nodeType":"VariableDeclaration","scope":34113,"src":"248981:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34097,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248981:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34099,"nodeType":"VariableDeclarationStatement","src":"248981:10:19"},{"assignments":[34101],"declarations":[{"constant":false,"id":34101,"mutability":"mutable","name":"m3","nameLocation":"249009:2:19","nodeType":"VariableDeclaration","scope":34113,"src":"249001:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34100,"name":"bytes32","nodeType":"ElementaryTypeName","src":"249001:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34102,"nodeType":"VariableDeclarationStatement","src":"249001:10:19"},{"assignments":[34104],"declarations":[{"constant":false,"id":34104,"mutability":"mutable","name":"m4","nameLocation":"249029:2:19","nodeType":"VariableDeclaration","scope":34113,"src":"249021:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34103,"name":"bytes32","nodeType":"ElementaryTypeName","src":"249021:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34105,"nodeType":"VariableDeclarationStatement","src":"249021:10:19"},{"AST":{"nativeSrc":"249093:378:19","nodeType":"YulBlock","src":"249093:378:19","statements":[{"nativeSrc":"249107:17:19","nodeType":"YulAssignment","src":"249107:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"249119:4:19","nodeType":"YulLiteral","src":"249119:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"249113:5:19","nodeType":"YulIdentifier","src":"249113:5:19"},"nativeSrc":"249113:11:19","nodeType":"YulFunctionCall","src":"249113:11:19"},"variableNames":[{"name":"m0","nativeSrc":"249107:2:19","nodeType":"YulIdentifier","src":"249107:2:19"}]},{"nativeSrc":"249137:17:19","nodeType":"YulAssignment","src":"249137:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"249149:4:19","nodeType":"YulLiteral","src":"249149:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"249143:5:19","nodeType":"YulIdentifier","src":"249143:5:19"},"nativeSrc":"249143:11:19","nodeType":"YulFunctionCall","src":"249143:11:19"},"variableNames":[{"name":"m1","nativeSrc":"249137:2:19","nodeType":"YulIdentifier","src":"249137:2:19"}]},{"nativeSrc":"249167:17:19","nodeType":"YulAssignment","src":"249167:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"249179:4:19","nodeType":"YulLiteral","src":"249179:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"249173:5:19","nodeType":"YulIdentifier","src":"249173:5:19"},"nativeSrc":"249173:11:19","nodeType":"YulFunctionCall","src":"249173:11:19"},"variableNames":[{"name":"m2","nativeSrc":"249167:2:19","nodeType":"YulIdentifier","src":"249167:2:19"}]},{"nativeSrc":"249197:17:19","nodeType":"YulAssignment","src":"249197:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"249209:4:19","nodeType":"YulLiteral","src":"249209:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"249203:5:19","nodeType":"YulIdentifier","src":"249203:5:19"},"nativeSrc":"249203:11:19","nodeType":"YulFunctionCall","src":"249203:11:19"},"variableNames":[{"name":"m3","nativeSrc":"249197:2:19","nodeType":"YulIdentifier","src":"249197:2:19"}]},{"nativeSrc":"249227:17:19","nodeType":"YulAssignment","src":"249227:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"249239:4:19","nodeType":"YulLiteral","src":"249239:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"249233:5:19","nodeType":"YulIdentifier","src":"249233:5:19"},"nativeSrc":"249233:11:19","nodeType":"YulFunctionCall","src":"249233:11:19"},"variableNames":[{"name":"m4","nativeSrc":"249227:2:19","nodeType":"YulIdentifier","src":"249227:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249328:4:19","nodeType":"YulLiteral","src":"249328:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"249334:10:19","nodeType":"YulLiteral","src":"249334:10:19","type":"","value":"0x091ffaf5"}],"functionName":{"name":"mstore","nativeSrc":"249321:6:19","nodeType":"YulIdentifier","src":"249321:6:19"},"nativeSrc":"249321:24:19","nodeType":"YulFunctionCall","src":"249321:24:19"},"nativeSrc":"249321:24:19","nodeType":"YulExpressionStatement","src":"249321:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249365:4:19","nodeType":"YulLiteral","src":"249365:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"249371:2:19","nodeType":"YulIdentifier","src":"249371:2:19"}],"functionName":{"name":"mstore","nativeSrc":"249358:6:19","nodeType":"YulIdentifier","src":"249358:6:19"},"nativeSrc":"249358:16:19","nodeType":"YulFunctionCall","src":"249358:16:19"},"nativeSrc":"249358:16:19","nodeType":"YulExpressionStatement","src":"249358:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249394:4:19","nodeType":"YulLiteral","src":"249394:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"249400:2:19","nodeType":"YulIdentifier","src":"249400:2:19"}],"functionName":{"name":"mstore","nativeSrc":"249387:6:19","nodeType":"YulIdentifier","src":"249387:6:19"},"nativeSrc":"249387:16:19","nodeType":"YulFunctionCall","src":"249387:16:19"},"nativeSrc":"249387:16:19","nodeType":"YulExpressionStatement","src":"249387:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249423:4:19","nodeType":"YulLiteral","src":"249423:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"249429:2:19","nodeType":"YulIdentifier","src":"249429:2:19"}],"functionName":{"name":"mstore","nativeSrc":"249416:6:19","nodeType":"YulIdentifier","src":"249416:6:19"},"nativeSrc":"249416:16:19","nodeType":"YulFunctionCall","src":"249416:16:19"},"nativeSrc":"249416:16:19","nodeType":"YulExpressionStatement","src":"249416:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249452:4:19","nodeType":"YulLiteral","src":"249452:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"249458:2:19","nodeType":"YulIdentifier","src":"249458:2:19"}],"functionName":{"name":"mstore","nativeSrc":"249445:6:19","nodeType":"YulIdentifier","src":"249445:6:19"},"nativeSrc":"249445:16:19","nodeType":"YulFunctionCall","src":"249445:16:19"},"nativeSrc":"249445:16:19","nodeType":"YulExpressionStatement","src":"249445:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34092,"isOffset":false,"isSlot":false,"src":"249107:2:19","valueSize":1},{"declaration":34095,"isOffset":false,"isSlot":false,"src":"249137:2:19","valueSize":1},{"declaration":34098,"isOffset":false,"isSlot":false,"src":"249167:2:19","valueSize":1},{"declaration":34101,"isOffset":false,"isSlot":false,"src":"249197:2:19","valueSize":1},{"declaration":34104,"isOffset":false,"isSlot":false,"src":"249227:2:19","valueSize":1},{"declaration":34082,"isOffset":false,"isSlot":false,"src":"249371:2:19","valueSize":1},{"declaration":34084,"isOffset":false,"isSlot":false,"src":"249400:2:19","valueSize":1},{"declaration":34086,"isOffset":false,"isSlot":false,"src":"249429:2:19","valueSize":1},{"declaration":34088,"isOffset":false,"isSlot":false,"src":"249458:2:19","valueSize":1}],"id":34106,"nodeType":"InlineAssembly","src":"249084:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"249496:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"249502:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":34107,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"249480:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"249480:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34111,"nodeType":"ExpressionStatement","src":"249480:27:19"},{"AST":{"nativeSrc":"249569:156:19","nodeType":"YulBlock","src":"249569:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"249590:4:19","nodeType":"YulLiteral","src":"249590:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"249596:2:19","nodeType":"YulIdentifier","src":"249596:2:19"}],"functionName":{"name":"mstore","nativeSrc":"249583:6:19","nodeType":"YulIdentifier","src":"249583:6:19"},"nativeSrc":"249583:16:19","nodeType":"YulFunctionCall","src":"249583:16:19"},"nativeSrc":"249583:16:19","nodeType":"YulExpressionStatement","src":"249583:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249619:4:19","nodeType":"YulLiteral","src":"249619:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"249625:2:19","nodeType":"YulIdentifier","src":"249625:2:19"}],"functionName":{"name":"mstore","nativeSrc":"249612:6:19","nodeType":"YulIdentifier","src":"249612:6:19"},"nativeSrc":"249612:16:19","nodeType":"YulFunctionCall","src":"249612:16:19"},"nativeSrc":"249612:16:19","nodeType":"YulExpressionStatement","src":"249612:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249648:4:19","nodeType":"YulLiteral","src":"249648:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"249654:2:19","nodeType":"YulIdentifier","src":"249654:2:19"}],"functionName":{"name":"mstore","nativeSrc":"249641:6:19","nodeType":"YulIdentifier","src":"249641:6:19"},"nativeSrc":"249641:16:19","nodeType":"YulFunctionCall","src":"249641:16:19"},"nativeSrc":"249641:16:19","nodeType":"YulExpressionStatement","src":"249641:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249677:4:19","nodeType":"YulLiteral","src":"249677:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"249683:2:19","nodeType":"YulIdentifier","src":"249683:2:19"}],"functionName":{"name":"mstore","nativeSrc":"249670:6:19","nodeType":"YulIdentifier","src":"249670:6:19"},"nativeSrc":"249670:16:19","nodeType":"YulFunctionCall","src":"249670:16:19"},"nativeSrc":"249670:16:19","nodeType":"YulExpressionStatement","src":"249670:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"249706:4:19","nodeType":"YulLiteral","src":"249706:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"249712:2:19","nodeType":"YulIdentifier","src":"249712:2:19"}],"functionName":{"name":"mstore","nativeSrc":"249699:6:19","nodeType":"YulIdentifier","src":"249699:6:19"},"nativeSrc":"249699:16:19","nodeType":"YulFunctionCall","src":"249699:16:19"},"nativeSrc":"249699:16:19","nodeType":"YulExpressionStatement","src":"249699:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34092,"isOffset":false,"isSlot":false,"src":"249596:2:19","valueSize":1},{"declaration":34095,"isOffset":false,"isSlot":false,"src":"249625:2:19","valueSize":1},{"declaration":34098,"isOffset":false,"isSlot":false,"src":"249654:2:19","valueSize":1},{"declaration":34101,"isOffset":false,"isSlot":false,"src":"249683:2:19","valueSize":1},{"declaration":34104,"isOffset":false,"isSlot":false,"src":"249712:2:19","valueSize":1}],"id":34112,"nodeType":"InlineAssembly","src":"249560:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"248868:3:19","parameters":{"id":34089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34082,"mutability":"mutable","name":"p0","nameLocation":"248880:2:19","nodeType":"VariableDeclaration","scope":34114,"src":"248872:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34081,"name":"uint256","nodeType":"ElementaryTypeName","src":"248872:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34084,"mutability":"mutable","name":"p1","nameLocation":"248892:2:19","nodeType":"VariableDeclaration","scope":34114,"src":"248884:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34083,"name":"address","nodeType":"ElementaryTypeName","src":"248884:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34086,"mutability":"mutable","name":"p2","nameLocation":"248904:2:19","nodeType":"VariableDeclaration","scope":34114,"src":"248896:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34085,"name":"address","nodeType":"ElementaryTypeName","src":"248896:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34088,"mutability":"mutable","name":"p3","nameLocation":"248913:2:19","nodeType":"VariableDeclaration","scope":34114,"src":"248908:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34087,"name":"bool","nodeType":"ElementaryTypeName","src":"248908:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"248871:45:19"},"returnParameters":{"id":34090,"nodeType":"ParameterList","parameters":[],"src":"248931:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34148,"nodeType":"FunctionDefinition","src":"249737:878:19","nodes":[],"body":{"id":34147,"nodeType":"Block","src":"249812:803:19","nodes":[],"statements":[{"assignments":[34126],"declarations":[{"constant":false,"id":34126,"mutability":"mutable","name":"m0","nameLocation":"249830:2:19","nodeType":"VariableDeclaration","scope":34147,"src":"249822:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"249822:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34127,"nodeType":"VariableDeclarationStatement","src":"249822:10:19"},{"assignments":[34129],"declarations":[{"constant":false,"id":34129,"mutability":"mutable","name":"m1","nameLocation":"249850:2:19","nodeType":"VariableDeclaration","scope":34147,"src":"249842:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34128,"name":"bytes32","nodeType":"ElementaryTypeName","src":"249842:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34130,"nodeType":"VariableDeclarationStatement","src":"249842:10:19"},{"assignments":[34132],"declarations":[{"constant":false,"id":34132,"mutability":"mutable","name":"m2","nameLocation":"249870:2:19","nodeType":"VariableDeclaration","scope":34147,"src":"249862:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34131,"name":"bytes32","nodeType":"ElementaryTypeName","src":"249862:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34133,"nodeType":"VariableDeclarationStatement","src":"249862:10:19"},{"assignments":[34135],"declarations":[{"constant":false,"id":34135,"mutability":"mutable","name":"m3","nameLocation":"249890:2:19","nodeType":"VariableDeclaration","scope":34147,"src":"249882:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34134,"name":"bytes32","nodeType":"ElementaryTypeName","src":"249882:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34136,"nodeType":"VariableDeclarationStatement","src":"249882:10:19"},{"assignments":[34138],"declarations":[{"constant":false,"id":34138,"mutability":"mutable","name":"m4","nameLocation":"249910:2:19","nodeType":"VariableDeclaration","scope":34147,"src":"249902:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34137,"name":"bytes32","nodeType":"ElementaryTypeName","src":"249902:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34139,"nodeType":"VariableDeclarationStatement","src":"249902:10:19"},{"AST":{"nativeSrc":"249974:381:19","nodeType":"YulBlock","src":"249974:381:19","statements":[{"nativeSrc":"249988:17:19","nodeType":"YulAssignment","src":"249988:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"250000:4:19","nodeType":"YulLiteral","src":"250000:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"249994:5:19","nodeType":"YulIdentifier","src":"249994:5:19"},"nativeSrc":"249994:11:19","nodeType":"YulFunctionCall","src":"249994:11:19"},"variableNames":[{"name":"m0","nativeSrc":"249988:2:19","nodeType":"YulIdentifier","src":"249988:2:19"}]},{"nativeSrc":"250018:17:19","nodeType":"YulAssignment","src":"250018:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"250030:4:19","nodeType":"YulLiteral","src":"250030:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"250024:5:19","nodeType":"YulIdentifier","src":"250024:5:19"},"nativeSrc":"250024:11:19","nodeType":"YulFunctionCall","src":"250024:11:19"},"variableNames":[{"name":"m1","nativeSrc":"250018:2:19","nodeType":"YulIdentifier","src":"250018:2:19"}]},{"nativeSrc":"250048:17:19","nodeType":"YulAssignment","src":"250048:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"250060:4:19","nodeType":"YulLiteral","src":"250060:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"250054:5:19","nodeType":"YulIdentifier","src":"250054:5:19"},"nativeSrc":"250054:11:19","nodeType":"YulFunctionCall","src":"250054:11:19"},"variableNames":[{"name":"m2","nativeSrc":"250048:2:19","nodeType":"YulIdentifier","src":"250048:2:19"}]},{"nativeSrc":"250078:17:19","nodeType":"YulAssignment","src":"250078:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"250090:4:19","nodeType":"YulLiteral","src":"250090:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"250084:5:19","nodeType":"YulIdentifier","src":"250084:5:19"},"nativeSrc":"250084:11:19","nodeType":"YulFunctionCall","src":"250084:11:19"},"variableNames":[{"name":"m3","nativeSrc":"250078:2:19","nodeType":"YulIdentifier","src":"250078:2:19"}]},{"nativeSrc":"250108:17:19","nodeType":"YulAssignment","src":"250108:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"250120:4:19","nodeType":"YulLiteral","src":"250120:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"250114:5:19","nodeType":"YulIdentifier","src":"250114:5:19"},"nativeSrc":"250114:11:19","nodeType":"YulFunctionCall","src":"250114:11:19"},"variableNames":[{"name":"m4","nativeSrc":"250108:2:19","nodeType":"YulIdentifier","src":"250108:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250212:4:19","nodeType":"YulLiteral","src":"250212:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"250218:10:19","nodeType":"YulLiteral","src":"250218:10:19","type":"","value":"0x736efbb6"}],"functionName":{"name":"mstore","nativeSrc":"250205:6:19","nodeType":"YulIdentifier","src":"250205:6:19"},"nativeSrc":"250205:24:19","nodeType":"YulFunctionCall","src":"250205:24:19"},"nativeSrc":"250205:24:19","nodeType":"YulExpressionStatement","src":"250205:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250249:4:19","nodeType":"YulLiteral","src":"250249:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"250255:2:19","nodeType":"YulIdentifier","src":"250255:2:19"}],"functionName":{"name":"mstore","nativeSrc":"250242:6:19","nodeType":"YulIdentifier","src":"250242:6:19"},"nativeSrc":"250242:16:19","nodeType":"YulFunctionCall","src":"250242:16:19"},"nativeSrc":"250242:16:19","nodeType":"YulExpressionStatement","src":"250242:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250278:4:19","nodeType":"YulLiteral","src":"250278:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"250284:2:19","nodeType":"YulIdentifier","src":"250284:2:19"}],"functionName":{"name":"mstore","nativeSrc":"250271:6:19","nodeType":"YulIdentifier","src":"250271:6:19"},"nativeSrc":"250271:16:19","nodeType":"YulFunctionCall","src":"250271:16:19"},"nativeSrc":"250271:16:19","nodeType":"YulExpressionStatement","src":"250271:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250307:4:19","nodeType":"YulLiteral","src":"250307:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"250313:2:19","nodeType":"YulIdentifier","src":"250313:2:19"}],"functionName":{"name":"mstore","nativeSrc":"250300:6:19","nodeType":"YulIdentifier","src":"250300:6:19"},"nativeSrc":"250300:16:19","nodeType":"YulFunctionCall","src":"250300:16:19"},"nativeSrc":"250300:16:19","nodeType":"YulExpressionStatement","src":"250300:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250336:4:19","nodeType":"YulLiteral","src":"250336:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"250342:2:19","nodeType":"YulIdentifier","src":"250342:2:19"}],"functionName":{"name":"mstore","nativeSrc":"250329:6:19","nodeType":"YulIdentifier","src":"250329:6:19"},"nativeSrc":"250329:16:19","nodeType":"YulFunctionCall","src":"250329:16:19"},"nativeSrc":"250329:16:19","nodeType":"YulExpressionStatement","src":"250329:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34126,"isOffset":false,"isSlot":false,"src":"249988:2:19","valueSize":1},{"declaration":34129,"isOffset":false,"isSlot":false,"src":"250018:2:19","valueSize":1},{"declaration":34132,"isOffset":false,"isSlot":false,"src":"250048:2:19","valueSize":1},{"declaration":34135,"isOffset":false,"isSlot":false,"src":"250078:2:19","valueSize":1},{"declaration":34138,"isOffset":false,"isSlot":false,"src":"250108:2:19","valueSize":1},{"declaration":34116,"isOffset":false,"isSlot":false,"src":"250255:2:19","valueSize":1},{"declaration":34118,"isOffset":false,"isSlot":false,"src":"250284:2:19","valueSize":1},{"declaration":34120,"isOffset":false,"isSlot":false,"src":"250313:2:19","valueSize":1},{"declaration":34122,"isOffset":false,"isSlot":false,"src":"250342:2:19","valueSize":1}],"id":34140,"nodeType":"InlineAssembly","src":"249965:390:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"250380:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"250386:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":34141,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"250364:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"250364:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34145,"nodeType":"ExpressionStatement","src":"250364:27:19"},{"AST":{"nativeSrc":"250453:156:19","nodeType":"YulBlock","src":"250453:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"250474:4:19","nodeType":"YulLiteral","src":"250474:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"250480:2:19","nodeType":"YulIdentifier","src":"250480:2:19"}],"functionName":{"name":"mstore","nativeSrc":"250467:6:19","nodeType":"YulIdentifier","src":"250467:6:19"},"nativeSrc":"250467:16:19","nodeType":"YulFunctionCall","src":"250467:16:19"},"nativeSrc":"250467:16:19","nodeType":"YulExpressionStatement","src":"250467:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250503:4:19","nodeType":"YulLiteral","src":"250503:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"250509:2:19","nodeType":"YulIdentifier","src":"250509:2:19"}],"functionName":{"name":"mstore","nativeSrc":"250496:6:19","nodeType":"YulIdentifier","src":"250496:6:19"},"nativeSrc":"250496:16:19","nodeType":"YulFunctionCall","src":"250496:16:19"},"nativeSrc":"250496:16:19","nodeType":"YulExpressionStatement","src":"250496:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250532:4:19","nodeType":"YulLiteral","src":"250532:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"250538:2:19","nodeType":"YulIdentifier","src":"250538:2:19"}],"functionName":{"name":"mstore","nativeSrc":"250525:6:19","nodeType":"YulIdentifier","src":"250525:6:19"},"nativeSrc":"250525:16:19","nodeType":"YulFunctionCall","src":"250525:16:19"},"nativeSrc":"250525:16:19","nodeType":"YulExpressionStatement","src":"250525:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250561:4:19","nodeType":"YulLiteral","src":"250561:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"250567:2:19","nodeType":"YulIdentifier","src":"250567:2:19"}],"functionName":{"name":"mstore","nativeSrc":"250554:6:19","nodeType":"YulIdentifier","src":"250554:6:19"},"nativeSrc":"250554:16:19","nodeType":"YulFunctionCall","src":"250554:16:19"},"nativeSrc":"250554:16:19","nodeType":"YulExpressionStatement","src":"250554:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"250590:4:19","nodeType":"YulLiteral","src":"250590:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"250596:2:19","nodeType":"YulIdentifier","src":"250596:2:19"}],"functionName":{"name":"mstore","nativeSrc":"250583:6:19","nodeType":"YulIdentifier","src":"250583:6:19"},"nativeSrc":"250583:16:19","nodeType":"YulFunctionCall","src":"250583:16:19"},"nativeSrc":"250583:16:19","nodeType":"YulExpressionStatement","src":"250583:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34126,"isOffset":false,"isSlot":false,"src":"250480:2:19","valueSize":1},{"declaration":34129,"isOffset":false,"isSlot":false,"src":"250509:2:19","valueSize":1},{"declaration":34132,"isOffset":false,"isSlot":false,"src":"250538:2:19","valueSize":1},{"declaration":34135,"isOffset":false,"isSlot":false,"src":"250567:2:19","valueSize":1},{"declaration":34138,"isOffset":false,"isSlot":false,"src":"250596:2:19","valueSize":1}],"id":34146,"nodeType":"InlineAssembly","src":"250444:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"249746:3:19","parameters":{"id":34123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34116,"mutability":"mutable","name":"p0","nameLocation":"249758:2:19","nodeType":"VariableDeclaration","scope":34148,"src":"249750:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34115,"name":"uint256","nodeType":"ElementaryTypeName","src":"249750:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34118,"mutability":"mutable","name":"p1","nameLocation":"249770:2:19","nodeType":"VariableDeclaration","scope":34148,"src":"249762:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34117,"name":"address","nodeType":"ElementaryTypeName","src":"249762:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34120,"mutability":"mutable","name":"p2","nameLocation":"249782:2:19","nodeType":"VariableDeclaration","scope":34148,"src":"249774:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34119,"name":"address","nodeType":"ElementaryTypeName","src":"249774:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34122,"mutability":"mutable","name":"p3","nameLocation":"249794:2:19","nodeType":"VariableDeclaration","scope":34148,"src":"249786:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34121,"name":"uint256","nodeType":"ElementaryTypeName","src":"249786:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"249749:48:19"},"returnParameters":{"id":34124,"nodeType":"ParameterList","parameters":[],"src":"249812:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34188,"nodeType":"FunctionDefinition","src":"250621:1426:19","nodes":[],"body":{"id":34187,"nodeType":"Block","src":"250696:1351:19","nodes":[],"statements":[{"assignments":[34160],"declarations":[{"constant":false,"id":34160,"mutability":"mutable","name":"m0","nameLocation":"250714:2:19","nodeType":"VariableDeclaration","scope":34187,"src":"250706:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34159,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250706:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34161,"nodeType":"VariableDeclarationStatement","src":"250706:10:19"},{"assignments":[34163],"declarations":[{"constant":false,"id":34163,"mutability":"mutable","name":"m1","nameLocation":"250734:2:19","nodeType":"VariableDeclaration","scope":34187,"src":"250726:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34162,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250726:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34164,"nodeType":"VariableDeclarationStatement","src":"250726:10:19"},{"assignments":[34166],"declarations":[{"constant":false,"id":34166,"mutability":"mutable","name":"m2","nameLocation":"250754:2:19","nodeType":"VariableDeclaration","scope":34187,"src":"250746:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34165,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250746:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34167,"nodeType":"VariableDeclarationStatement","src":"250746:10:19"},{"assignments":[34169],"declarations":[{"constant":false,"id":34169,"mutability":"mutable","name":"m3","nameLocation":"250774:2:19","nodeType":"VariableDeclaration","scope":34187,"src":"250766:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34168,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250766:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34170,"nodeType":"VariableDeclarationStatement","src":"250766:10:19"},{"assignments":[34172],"declarations":[{"constant":false,"id":34172,"mutability":"mutable","name":"m4","nameLocation":"250794:2:19","nodeType":"VariableDeclaration","scope":34187,"src":"250786:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34171,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250786:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34173,"nodeType":"VariableDeclarationStatement","src":"250786:10:19"},{"assignments":[34175],"declarations":[{"constant":false,"id":34175,"mutability":"mutable","name":"m5","nameLocation":"250814:2:19","nodeType":"VariableDeclaration","scope":34187,"src":"250806:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34174,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250806:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34176,"nodeType":"VariableDeclarationStatement","src":"250806:10:19"},{"assignments":[34178],"declarations":[{"constant":false,"id":34178,"mutability":"mutable","name":"m6","nameLocation":"250834:2:19","nodeType":"VariableDeclaration","scope":34187,"src":"250826:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34177,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250826:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34179,"nodeType":"VariableDeclarationStatement","src":"250826:10:19"},{"AST":{"nativeSrc":"250898:831:19","nodeType":"YulBlock","src":"250898:831:19","statements":[{"body":{"nativeSrc":"250941:313:19","nodeType":"YulBlock","src":"250941:313:19","statements":[{"nativeSrc":"250959:15:19","nodeType":"YulVariableDeclaration","src":"250959:15:19","value":{"kind":"number","nativeSrc":"250973:1:19","nodeType":"YulLiteral","src":"250973:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"250963:6:19","nodeType":"YulTypedName","src":"250963:6:19","type":""}]},{"body":{"nativeSrc":"251044:40:19","nodeType":"YulBlock","src":"251044:40:19","statements":[{"body":{"nativeSrc":"251073:9:19","nodeType":"YulBlock","src":"251073:9:19","statements":[{"nativeSrc":"251075:5:19","nodeType":"YulBreak","src":"251075:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"251061:6:19","nodeType":"YulIdentifier","src":"251061:6:19"},{"name":"w","nativeSrc":"251069:1:19","nodeType":"YulIdentifier","src":"251069:1:19"}],"functionName":{"name":"byte","nativeSrc":"251056:4:19","nodeType":"YulIdentifier","src":"251056:4:19"},"nativeSrc":"251056:15:19","nodeType":"YulFunctionCall","src":"251056:15:19"}],"functionName":{"name":"iszero","nativeSrc":"251049:6:19","nodeType":"YulIdentifier","src":"251049:6:19"},"nativeSrc":"251049:23:19","nodeType":"YulFunctionCall","src":"251049:23:19"},"nativeSrc":"251046:36:19","nodeType":"YulIf","src":"251046:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"251001:6:19","nodeType":"YulIdentifier","src":"251001:6:19"},{"kind":"number","nativeSrc":"251009:4:19","nodeType":"YulLiteral","src":"251009:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"250998:2:19","nodeType":"YulIdentifier","src":"250998:2:19"},"nativeSrc":"250998:16:19","nodeType":"YulFunctionCall","src":"250998:16:19"},"nativeSrc":"250991:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"251015:28:19","nodeType":"YulBlock","src":"251015:28:19","statements":[{"nativeSrc":"251017:24:19","nodeType":"YulAssignment","src":"251017:24:19","value":{"arguments":[{"name":"length","nativeSrc":"251031:6:19","nodeType":"YulIdentifier","src":"251031:6:19"},{"kind":"number","nativeSrc":"251039:1:19","nodeType":"YulLiteral","src":"251039:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"251027:3:19","nodeType":"YulIdentifier","src":"251027:3:19"},"nativeSrc":"251027:14:19","nodeType":"YulFunctionCall","src":"251027:14:19"},"variableNames":[{"name":"length","nativeSrc":"251017:6:19","nodeType":"YulIdentifier","src":"251017:6:19"}]}]},"pre":{"nativeSrc":"250995:2:19","nodeType":"YulBlock","src":"250995:2:19","statements":[]},"src":"250991:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"251108:3:19","nodeType":"YulIdentifier","src":"251108:3:19"},{"name":"length","nativeSrc":"251113:6:19","nodeType":"YulIdentifier","src":"251113:6:19"}],"functionName":{"name":"mstore","nativeSrc":"251101:6:19","nodeType":"YulIdentifier","src":"251101:6:19"},"nativeSrc":"251101:19:19","nodeType":"YulFunctionCall","src":"251101:19:19"},"nativeSrc":"251101:19:19","nodeType":"YulExpressionStatement","src":"251101:19:19"},{"nativeSrc":"251137:37:19","nodeType":"YulVariableDeclaration","src":"251137:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"251154:3:19","nodeType":"YulLiteral","src":"251154:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"251163:1:19","nodeType":"YulLiteral","src":"251163:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"251166:6:19","nodeType":"YulIdentifier","src":"251166:6:19"}],"functionName":{"name":"shl","nativeSrc":"251159:3:19","nodeType":"YulIdentifier","src":"251159:3:19"},"nativeSrc":"251159:14:19","nodeType":"YulFunctionCall","src":"251159:14:19"}],"functionName":{"name":"sub","nativeSrc":"251150:3:19","nodeType":"YulIdentifier","src":"251150:3:19"},"nativeSrc":"251150:24:19","nodeType":"YulFunctionCall","src":"251150:24:19"},"variables":[{"name":"shift","nativeSrc":"251141:5:19","nodeType":"YulTypedName","src":"251141:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"251202:3:19","nodeType":"YulIdentifier","src":"251202:3:19"},{"kind":"number","nativeSrc":"251207:4:19","nodeType":"YulLiteral","src":"251207:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"251198:3:19","nodeType":"YulIdentifier","src":"251198:3:19"},"nativeSrc":"251198:14:19","nodeType":"YulFunctionCall","src":"251198:14:19"},{"arguments":[{"name":"shift","nativeSrc":"251218:5:19","nodeType":"YulIdentifier","src":"251218:5:19"},{"arguments":[{"name":"shift","nativeSrc":"251229:5:19","nodeType":"YulIdentifier","src":"251229:5:19"},{"name":"w","nativeSrc":"251236:1:19","nodeType":"YulIdentifier","src":"251236:1:19"}],"functionName":{"name":"shr","nativeSrc":"251225:3:19","nodeType":"YulIdentifier","src":"251225:3:19"},"nativeSrc":"251225:13:19","nodeType":"YulFunctionCall","src":"251225:13:19"}],"functionName":{"name":"shl","nativeSrc":"251214:3:19","nodeType":"YulIdentifier","src":"251214:3:19"},"nativeSrc":"251214:25:19","nodeType":"YulFunctionCall","src":"251214:25:19"}],"functionName":{"name":"mstore","nativeSrc":"251191:6:19","nodeType":"YulIdentifier","src":"251191:6:19"},"nativeSrc":"251191:49:19","nodeType":"YulFunctionCall","src":"251191:49:19"},"nativeSrc":"251191:49:19","nodeType":"YulExpressionStatement","src":"251191:49:19"}]},"name":"writeString","nativeSrc":"250912:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"250933:3:19","nodeType":"YulTypedName","src":"250933:3:19","type":""},{"name":"w","nativeSrc":"250938:1:19","nodeType":"YulTypedName","src":"250938:1:19","type":""}],"src":"250912:342:19"},{"nativeSrc":"251267:17:19","nodeType":"YulAssignment","src":"251267:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"251279:4:19","nodeType":"YulLiteral","src":"251279:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"251273:5:19","nodeType":"YulIdentifier","src":"251273:5:19"},"nativeSrc":"251273:11:19","nodeType":"YulFunctionCall","src":"251273:11:19"},"variableNames":[{"name":"m0","nativeSrc":"251267:2:19","nodeType":"YulIdentifier","src":"251267:2:19"}]},{"nativeSrc":"251297:17:19","nodeType":"YulAssignment","src":"251297:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"251309:4:19","nodeType":"YulLiteral","src":"251309:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"251303:5:19","nodeType":"YulIdentifier","src":"251303:5:19"},"nativeSrc":"251303:11:19","nodeType":"YulFunctionCall","src":"251303:11:19"},"variableNames":[{"name":"m1","nativeSrc":"251297:2:19","nodeType":"YulIdentifier","src":"251297:2:19"}]},{"nativeSrc":"251327:17:19","nodeType":"YulAssignment","src":"251327:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"251339:4:19","nodeType":"YulLiteral","src":"251339:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"251333:5:19","nodeType":"YulIdentifier","src":"251333:5:19"},"nativeSrc":"251333:11:19","nodeType":"YulFunctionCall","src":"251333:11:19"},"variableNames":[{"name":"m2","nativeSrc":"251327:2:19","nodeType":"YulIdentifier","src":"251327:2:19"}]},{"nativeSrc":"251357:17:19","nodeType":"YulAssignment","src":"251357:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"251369:4:19","nodeType":"YulLiteral","src":"251369:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"251363:5:19","nodeType":"YulIdentifier","src":"251363:5:19"},"nativeSrc":"251363:11:19","nodeType":"YulFunctionCall","src":"251363:11:19"},"variableNames":[{"name":"m3","nativeSrc":"251357:2:19","nodeType":"YulIdentifier","src":"251357:2:19"}]},{"nativeSrc":"251387:17:19","nodeType":"YulAssignment","src":"251387:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"251399:4:19","nodeType":"YulLiteral","src":"251399:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"251393:5:19","nodeType":"YulIdentifier","src":"251393:5:19"},"nativeSrc":"251393:11:19","nodeType":"YulFunctionCall","src":"251393:11:19"},"variableNames":[{"name":"m4","nativeSrc":"251387:2:19","nodeType":"YulIdentifier","src":"251387:2:19"}]},{"nativeSrc":"251417:17:19","nodeType":"YulAssignment","src":"251417:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"251429:4:19","nodeType":"YulLiteral","src":"251429:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"251423:5:19","nodeType":"YulIdentifier","src":"251423:5:19"},"nativeSrc":"251423:11:19","nodeType":"YulFunctionCall","src":"251423:11:19"},"variableNames":[{"name":"m5","nativeSrc":"251417:2:19","nodeType":"YulIdentifier","src":"251417:2:19"}]},{"nativeSrc":"251447:17:19","nodeType":"YulAssignment","src":"251447:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"251459:4:19","nodeType":"YulLiteral","src":"251459:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"251453:5:19","nodeType":"YulIdentifier","src":"251453:5:19"},"nativeSrc":"251453:11:19","nodeType":"YulFunctionCall","src":"251453:11:19"},"variableNames":[{"name":"m6","nativeSrc":"251447:2:19","nodeType":"YulIdentifier","src":"251447:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251550:4:19","nodeType":"YulLiteral","src":"251550:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"251556:10:19","nodeType":"YulLiteral","src":"251556:10:19","type":"","value":"0x031c6f73"}],"functionName":{"name":"mstore","nativeSrc":"251543:6:19","nodeType":"YulIdentifier","src":"251543:6:19"},"nativeSrc":"251543:24:19","nodeType":"YulFunctionCall","src":"251543:24:19"},"nativeSrc":"251543:24:19","nodeType":"YulExpressionStatement","src":"251543:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251587:4:19","nodeType":"YulLiteral","src":"251587:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"251593:2:19","nodeType":"YulIdentifier","src":"251593:2:19"}],"functionName":{"name":"mstore","nativeSrc":"251580:6:19","nodeType":"YulIdentifier","src":"251580:6:19"},"nativeSrc":"251580:16:19","nodeType":"YulFunctionCall","src":"251580:16:19"},"nativeSrc":"251580:16:19","nodeType":"YulExpressionStatement","src":"251580:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251616:4:19","nodeType":"YulLiteral","src":"251616:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"251622:2:19","nodeType":"YulIdentifier","src":"251622:2:19"}],"functionName":{"name":"mstore","nativeSrc":"251609:6:19","nodeType":"YulIdentifier","src":"251609:6:19"},"nativeSrc":"251609:16:19","nodeType":"YulFunctionCall","src":"251609:16:19"},"nativeSrc":"251609:16:19","nodeType":"YulExpressionStatement","src":"251609:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251645:4:19","nodeType":"YulLiteral","src":"251645:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"251651:2:19","nodeType":"YulIdentifier","src":"251651:2:19"}],"functionName":{"name":"mstore","nativeSrc":"251638:6:19","nodeType":"YulIdentifier","src":"251638:6:19"},"nativeSrc":"251638:16:19","nodeType":"YulFunctionCall","src":"251638:16:19"},"nativeSrc":"251638:16:19","nodeType":"YulExpressionStatement","src":"251638:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251674:4:19","nodeType":"YulLiteral","src":"251674:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"251680:4:19","nodeType":"YulLiteral","src":"251680:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"251667:6:19","nodeType":"YulIdentifier","src":"251667:6:19"},"nativeSrc":"251667:18:19","nodeType":"YulFunctionCall","src":"251667:18:19"},"nativeSrc":"251667:18:19","nodeType":"YulExpressionStatement","src":"251667:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251710:4:19","nodeType":"YulLiteral","src":"251710:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"251716:2:19","nodeType":"YulIdentifier","src":"251716:2:19"}],"functionName":{"name":"writeString","nativeSrc":"251698:11:19","nodeType":"YulIdentifier","src":"251698:11:19"},"nativeSrc":"251698:21:19","nodeType":"YulFunctionCall","src":"251698:21:19"},"nativeSrc":"251698:21:19","nodeType":"YulExpressionStatement","src":"251698:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34160,"isOffset":false,"isSlot":false,"src":"251267:2:19","valueSize":1},{"declaration":34163,"isOffset":false,"isSlot":false,"src":"251297:2:19","valueSize":1},{"declaration":34166,"isOffset":false,"isSlot":false,"src":"251327:2:19","valueSize":1},{"declaration":34169,"isOffset":false,"isSlot":false,"src":"251357:2:19","valueSize":1},{"declaration":34172,"isOffset":false,"isSlot":false,"src":"251387:2:19","valueSize":1},{"declaration":34175,"isOffset":false,"isSlot":false,"src":"251417:2:19","valueSize":1},{"declaration":34178,"isOffset":false,"isSlot":false,"src":"251447:2:19","valueSize":1},{"declaration":34150,"isOffset":false,"isSlot":false,"src":"251593:2:19","valueSize":1},{"declaration":34152,"isOffset":false,"isSlot":false,"src":"251622:2:19","valueSize":1},{"declaration":34154,"isOffset":false,"isSlot":false,"src":"251651:2:19","valueSize":1},{"declaration":34156,"isOffset":false,"isSlot":false,"src":"251716:2:19","valueSize":1}],"id":34180,"nodeType":"InlineAssembly","src":"250889:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"251754:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"251760:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":34181,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"251738:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"251738:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34185,"nodeType":"ExpressionStatement","src":"251738:27:19"},{"AST":{"nativeSrc":"251827:214:19","nodeType":"YulBlock","src":"251827:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"251848:4:19","nodeType":"YulLiteral","src":"251848:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"251854:2:19","nodeType":"YulIdentifier","src":"251854:2:19"}],"functionName":{"name":"mstore","nativeSrc":"251841:6:19","nodeType":"YulIdentifier","src":"251841:6:19"},"nativeSrc":"251841:16:19","nodeType":"YulFunctionCall","src":"251841:16:19"},"nativeSrc":"251841:16:19","nodeType":"YulExpressionStatement","src":"251841:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251877:4:19","nodeType":"YulLiteral","src":"251877:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"251883:2:19","nodeType":"YulIdentifier","src":"251883:2:19"}],"functionName":{"name":"mstore","nativeSrc":"251870:6:19","nodeType":"YulIdentifier","src":"251870:6:19"},"nativeSrc":"251870:16:19","nodeType":"YulFunctionCall","src":"251870:16:19"},"nativeSrc":"251870:16:19","nodeType":"YulExpressionStatement","src":"251870:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251906:4:19","nodeType":"YulLiteral","src":"251906:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"251912:2:19","nodeType":"YulIdentifier","src":"251912:2:19"}],"functionName":{"name":"mstore","nativeSrc":"251899:6:19","nodeType":"YulIdentifier","src":"251899:6:19"},"nativeSrc":"251899:16:19","nodeType":"YulFunctionCall","src":"251899:16:19"},"nativeSrc":"251899:16:19","nodeType":"YulExpressionStatement","src":"251899:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251935:4:19","nodeType":"YulLiteral","src":"251935:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"251941:2:19","nodeType":"YulIdentifier","src":"251941:2:19"}],"functionName":{"name":"mstore","nativeSrc":"251928:6:19","nodeType":"YulIdentifier","src":"251928:6:19"},"nativeSrc":"251928:16:19","nodeType":"YulFunctionCall","src":"251928:16:19"},"nativeSrc":"251928:16:19","nodeType":"YulExpressionStatement","src":"251928:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251964:4:19","nodeType":"YulLiteral","src":"251964:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"251970:2:19","nodeType":"YulIdentifier","src":"251970:2:19"}],"functionName":{"name":"mstore","nativeSrc":"251957:6:19","nodeType":"YulIdentifier","src":"251957:6:19"},"nativeSrc":"251957:16:19","nodeType":"YulFunctionCall","src":"251957:16:19"},"nativeSrc":"251957:16:19","nodeType":"YulExpressionStatement","src":"251957:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"251993:4:19","nodeType":"YulLiteral","src":"251993:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"251999:2:19","nodeType":"YulIdentifier","src":"251999:2:19"}],"functionName":{"name":"mstore","nativeSrc":"251986:6:19","nodeType":"YulIdentifier","src":"251986:6:19"},"nativeSrc":"251986:16:19","nodeType":"YulFunctionCall","src":"251986:16:19"},"nativeSrc":"251986:16:19","nodeType":"YulExpressionStatement","src":"251986:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252022:4:19","nodeType":"YulLiteral","src":"252022:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"252028:2:19","nodeType":"YulIdentifier","src":"252028:2:19"}],"functionName":{"name":"mstore","nativeSrc":"252015:6:19","nodeType":"YulIdentifier","src":"252015:6:19"},"nativeSrc":"252015:16:19","nodeType":"YulFunctionCall","src":"252015:16:19"},"nativeSrc":"252015:16:19","nodeType":"YulExpressionStatement","src":"252015:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34160,"isOffset":false,"isSlot":false,"src":"251854:2:19","valueSize":1},{"declaration":34163,"isOffset":false,"isSlot":false,"src":"251883:2:19","valueSize":1},{"declaration":34166,"isOffset":false,"isSlot":false,"src":"251912:2:19","valueSize":1},{"declaration":34169,"isOffset":false,"isSlot":false,"src":"251941:2:19","valueSize":1},{"declaration":34172,"isOffset":false,"isSlot":false,"src":"251970:2:19","valueSize":1},{"declaration":34175,"isOffset":false,"isSlot":false,"src":"251999:2:19","valueSize":1},{"declaration":34178,"isOffset":false,"isSlot":false,"src":"252028:2:19","valueSize":1}],"id":34186,"nodeType":"InlineAssembly","src":"251818:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"250630:3:19","parameters":{"id":34157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34150,"mutability":"mutable","name":"p0","nameLocation":"250642:2:19","nodeType":"VariableDeclaration","scope":34188,"src":"250634:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34149,"name":"uint256","nodeType":"ElementaryTypeName","src":"250634:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34152,"mutability":"mutable","name":"p1","nameLocation":"250654:2:19","nodeType":"VariableDeclaration","scope":34188,"src":"250646:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34151,"name":"address","nodeType":"ElementaryTypeName","src":"250646:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34154,"mutability":"mutable","name":"p2","nameLocation":"250666:2:19","nodeType":"VariableDeclaration","scope":34188,"src":"250658:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34153,"name":"address","nodeType":"ElementaryTypeName","src":"250658:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34156,"mutability":"mutable","name":"p3","nameLocation":"250678:2:19","nodeType":"VariableDeclaration","scope":34188,"src":"250670:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34155,"name":"bytes32","nodeType":"ElementaryTypeName","src":"250670:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"250633:48:19"},"returnParameters":{"id":34158,"nodeType":"ParameterList","parameters":[],"src":"250696:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34222,"nodeType":"FunctionDefinition","src":"252053:872:19","nodes":[],"body":{"id":34221,"nodeType":"Block","src":"252125:800:19","nodes":[],"statements":[{"assignments":[34200],"declarations":[{"constant":false,"id":34200,"mutability":"mutable","name":"m0","nameLocation":"252143:2:19","nodeType":"VariableDeclaration","scope":34221,"src":"252135:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"252135:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34201,"nodeType":"VariableDeclarationStatement","src":"252135:10:19"},{"assignments":[34203],"declarations":[{"constant":false,"id":34203,"mutability":"mutable","name":"m1","nameLocation":"252163:2:19","nodeType":"VariableDeclaration","scope":34221,"src":"252155:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34202,"name":"bytes32","nodeType":"ElementaryTypeName","src":"252155:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34204,"nodeType":"VariableDeclarationStatement","src":"252155:10:19"},{"assignments":[34206],"declarations":[{"constant":false,"id":34206,"mutability":"mutable","name":"m2","nameLocation":"252183:2:19","nodeType":"VariableDeclaration","scope":34221,"src":"252175:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34205,"name":"bytes32","nodeType":"ElementaryTypeName","src":"252175:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34207,"nodeType":"VariableDeclarationStatement","src":"252175:10:19"},{"assignments":[34209],"declarations":[{"constant":false,"id":34209,"mutability":"mutable","name":"m3","nameLocation":"252203:2:19","nodeType":"VariableDeclaration","scope":34221,"src":"252195:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34208,"name":"bytes32","nodeType":"ElementaryTypeName","src":"252195:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34210,"nodeType":"VariableDeclarationStatement","src":"252195:10:19"},{"assignments":[34212],"declarations":[{"constant":false,"id":34212,"mutability":"mutable","name":"m4","nameLocation":"252223:2:19","nodeType":"VariableDeclaration","scope":34221,"src":"252215:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34211,"name":"bytes32","nodeType":"ElementaryTypeName","src":"252215:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34213,"nodeType":"VariableDeclarationStatement","src":"252215:10:19"},{"AST":{"nativeSrc":"252287:378:19","nodeType":"YulBlock","src":"252287:378:19","statements":[{"nativeSrc":"252301:17:19","nodeType":"YulAssignment","src":"252301:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"252313:4:19","nodeType":"YulLiteral","src":"252313:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"252307:5:19","nodeType":"YulIdentifier","src":"252307:5:19"},"nativeSrc":"252307:11:19","nodeType":"YulFunctionCall","src":"252307:11:19"},"variableNames":[{"name":"m0","nativeSrc":"252301:2:19","nodeType":"YulIdentifier","src":"252301:2:19"}]},{"nativeSrc":"252331:17:19","nodeType":"YulAssignment","src":"252331:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"252343:4:19","nodeType":"YulLiteral","src":"252343:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"252337:5:19","nodeType":"YulIdentifier","src":"252337:5:19"},"nativeSrc":"252337:11:19","nodeType":"YulFunctionCall","src":"252337:11:19"},"variableNames":[{"name":"m1","nativeSrc":"252331:2:19","nodeType":"YulIdentifier","src":"252331:2:19"}]},{"nativeSrc":"252361:17:19","nodeType":"YulAssignment","src":"252361:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"252373:4:19","nodeType":"YulLiteral","src":"252373:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"252367:5:19","nodeType":"YulIdentifier","src":"252367:5:19"},"nativeSrc":"252367:11:19","nodeType":"YulFunctionCall","src":"252367:11:19"},"variableNames":[{"name":"m2","nativeSrc":"252361:2:19","nodeType":"YulIdentifier","src":"252361:2:19"}]},{"nativeSrc":"252391:17:19","nodeType":"YulAssignment","src":"252391:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"252403:4:19","nodeType":"YulLiteral","src":"252403:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"252397:5:19","nodeType":"YulIdentifier","src":"252397:5:19"},"nativeSrc":"252397:11:19","nodeType":"YulFunctionCall","src":"252397:11:19"},"variableNames":[{"name":"m3","nativeSrc":"252391:2:19","nodeType":"YulIdentifier","src":"252391:2:19"}]},{"nativeSrc":"252421:17:19","nodeType":"YulAssignment","src":"252421:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"252433:4:19","nodeType":"YulLiteral","src":"252433:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"252427:5:19","nodeType":"YulIdentifier","src":"252427:5:19"},"nativeSrc":"252427:11:19","nodeType":"YulFunctionCall","src":"252427:11:19"},"variableNames":[{"name":"m4","nativeSrc":"252421:2:19","nodeType":"YulIdentifier","src":"252421:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252522:4:19","nodeType":"YulLiteral","src":"252522:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"252528:10:19","nodeType":"YulLiteral","src":"252528:10:19","type":"","value":"0xef72c513"}],"functionName":{"name":"mstore","nativeSrc":"252515:6:19","nodeType":"YulIdentifier","src":"252515:6:19"},"nativeSrc":"252515:24:19","nodeType":"YulFunctionCall","src":"252515:24:19"},"nativeSrc":"252515:24:19","nodeType":"YulExpressionStatement","src":"252515:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252559:4:19","nodeType":"YulLiteral","src":"252559:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"252565:2:19","nodeType":"YulIdentifier","src":"252565:2:19"}],"functionName":{"name":"mstore","nativeSrc":"252552:6:19","nodeType":"YulIdentifier","src":"252552:6:19"},"nativeSrc":"252552:16:19","nodeType":"YulFunctionCall","src":"252552:16:19"},"nativeSrc":"252552:16:19","nodeType":"YulExpressionStatement","src":"252552:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252588:4:19","nodeType":"YulLiteral","src":"252588:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"252594:2:19","nodeType":"YulIdentifier","src":"252594:2:19"}],"functionName":{"name":"mstore","nativeSrc":"252581:6:19","nodeType":"YulIdentifier","src":"252581:6:19"},"nativeSrc":"252581:16:19","nodeType":"YulFunctionCall","src":"252581:16:19"},"nativeSrc":"252581:16:19","nodeType":"YulExpressionStatement","src":"252581:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252617:4:19","nodeType":"YulLiteral","src":"252617:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"252623:2:19","nodeType":"YulIdentifier","src":"252623:2:19"}],"functionName":{"name":"mstore","nativeSrc":"252610:6:19","nodeType":"YulIdentifier","src":"252610:6:19"},"nativeSrc":"252610:16:19","nodeType":"YulFunctionCall","src":"252610:16:19"},"nativeSrc":"252610:16:19","nodeType":"YulExpressionStatement","src":"252610:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252646:4:19","nodeType":"YulLiteral","src":"252646:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"252652:2:19","nodeType":"YulIdentifier","src":"252652:2:19"}],"functionName":{"name":"mstore","nativeSrc":"252639:6:19","nodeType":"YulIdentifier","src":"252639:6:19"},"nativeSrc":"252639:16:19","nodeType":"YulFunctionCall","src":"252639:16:19"},"nativeSrc":"252639:16:19","nodeType":"YulExpressionStatement","src":"252639:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34200,"isOffset":false,"isSlot":false,"src":"252301:2:19","valueSize":1},{"declaration":34203,"isOffset":false,"isSlot":false,"src":"252331:2:19","valueSize":1},{"declaration":34206,"isOffset":false,"isSlot":false,"src":"252361:2:19","valueSize":1},{"declaration":34209,"isOffset":false,"isSlot":false,"src":"252391:2:19","valueSize":1},{"declaration":34212,"isOffset":false,"isSlot":false,"src":"252421:2:19","valueSize":1},{"declaration":34190,"isOffset":false,"isSlot":false,"src":"252565:2:19","valueSize":1},{"declaration":34192,"isOffset":false,"isSlot":false,"src":"252594:2:19","valueSize":1},{"declaration":34194,"isOffset":false,"isSlot":false,"src":"252623:2:19","valueSize":1},{"declaration":34196,"isOffset":false,"isSlot":false,"src":"252652:2:19","valueSize":1}],"id":34214,"nodeType":"InlineAssembly","src":"252278:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"252690:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"252696:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":34215,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"252674:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"252674:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34219,"nodeType":"ExpressionStatement","src":"252674:27:19"},{"AST":{"nativeSrc":"252763:156:19","nodeType":"YulBlock","src":"252763:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"252784:4:19","nodeType":"YulLiteral","src":"252784:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"252790:2:19","nodeType":"YulIdentifier","src":"252790:2:19"}],"functionName":{"name":"mstore","nativeSrc":"252777:6:19","nodeType":"YulIdentifier","src":"252777:6:19"},"nativeSrc":"252777:16:19","nodeType":"YulFunctionCall","src":"252777:16:19"},"nativeSrc":"252777:16:19","nodeType":"YulExpressionStatement","src":"252777:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252813:4:19","nodeType":"YulLiteral","src":"252813:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"252819:2:19","nodeType":"YulIdentifier","src":"252819:2:19"}],"functionName":{"name":"mstore","nativeSrc":"252806:6:19","nodeType":"YulIdentifier","src":"252806:6:19"},"nativeSrc":"252806:16:19","nodeType":"YulFunctionCall","src":"252806:16:19"},"nativeSrc":"252806:16:19","nodeType":"YulExpressionStatement","src":"252806:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252842:4:19","nodeType":"YulLiteral","src":"252842:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"252848:2:19","nodeType":"YulIdentifier","src":"252848:2:19"}],"functionName":{"name":"mstore","nativeSrc":"252835:6:19","nodeType":"YulIdentifier","src":"252835:6:19"},"nativeSrc":"252835:16:19","nodeType":"YulFunctionCall","src":"252835:16:19"},"nativeSrc":"252835:16:19","nodeType":"YulExpressionStatement","src":"252835:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252871:4:19","nodeType":"YulLiteral","src":"252871:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"252877:2:19","nodeType":"YulIdentifier","src":"252877:2:19"}],"functionName":{"name":"mstore","nativeSrc":"252864:6:19","nodeType":"YulIdentifier","src":"252864:6:19"},"nativeSrc":"252864:16:19","nodeType":"YulFunctionCall","src":"252864:16:19"},"nativeSrc":"252864:16:19","nodeType":"YulExpressionStatement","src":"252864:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"252900:4:19","nodeType":"YulLiteral","src":"252900:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"252906:2:19","nodeType":"YulIdentifier","src":"252906:2:19"}],"functionName":{"name":"mstore","nativeSrc":"252893:6:19","nodeType":"YulIdentifier","src":"252893:6:19"},"nativeSrc":"252893:16:19","nodeType":"YulFunctionCall","src":"252893:16:19"},"nativeSrc":"252893:16:19","nodeType":"YulExpressionStatement","src":"252893:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34200,"isOffset":false,"isSlot":false,"src":"252790:2:19","valueSize":1},{"declaration":34203,"isOffset":false,"isSlot":false,"src":"252819:2:19","valueSize":1},{"declaration":34206,"isOffset":false,"isSlot":false,"src":"252848:2:19","valueSize":1},{"declaration":34209,"isOffset":false,"isSlot":false,"src":"252877:2:19","valueSize":1},{"declaration":34212,"isOffset":false,"isSlot":false,"src":"252906:2:19","valueSize":1}],"id":34220,"nodeType":"InlineAssembly","src":"252754:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"252062:3:19","parameters":{"id":34197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34190,"mutability":"mutable","name":"p0","nameLocation":"252074:2:19","nodeType":"VariableDeclaration","scope":34222,"src":"252066:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34189,"name":"uint256","nodeType":"ElementaryTypeName","src":"252066:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34192,"mutability":"mutable","name":"p1","nameLocation":"252086:2:19","nodeType":"VariableDeclaration","scope":34222,"src":"252078:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34191,"name":"address","nodeType":"ElementaryTypeName","src":"252078:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34194,"mutability":"mutable","name":"p2","nameLocation":"252095:2:19","nodeType":"VariableDeclaration","scope":34222,"src":"252090:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34193,"name":"bool","nodeType":"ElementaryTypeName","src":"252090:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34196,"mutability":"mutable","name":"p3","nameLocation":"252107:2:19","nodeType":"VariableDeclaration","scope":34222,"src":"252099:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34195,"name":"address","nodeType":"ElementaryTypeName","src":"252099:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"252065:45:19"},"returnParameters":{"id":34198,"nodeType":"ParameterList","parameters":[],"src":"252125:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34256,"nodeType":"FunctionDefinition","src":"252931:866:19","nodes":[],"body":{"id":34255,"nodeType":"Block","src":"253000:797:19","nodes":[],"statements":[{"assignments":[34234],"declarations":[{"constant":false,"id":34234,"mutability":"mutable","name":"m0","nameLocation":"253018:2:19","nodeType":"VariableDeclaration","scope":34255,"src":"253010:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34233,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253010:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34235,"nodeType":"VariableDeclarationStatement","src":"253010:10:19"},{"assignments":[34237],"declarations":[{"constant":false,"id":34237,"mutability":"mutable","name":"m1","nameLocation":"253038:2:19","nodeType":"VariableDeclaration","scope":34255,"src":"253030:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34236,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253030:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34238,"nodeType":"VariableDeclarationStatement","src":"253030:10:19"},{"assignments":[34240],"declarations":[{"constant":false,"id":34240,"mutability":"mutable","name":"m2","nameLocation":"253058:2:19","nodeType":"VariableDeclaration","scope":34255,"src":"253050:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34239,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253050:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34241,"nodeType":"VariableDeclarationStatement","src":"253050:10:19"},{"assignments":[34243],"declarations":[{"constant":false,"id":34243,"mutability":"mutable","name":"m3","nameLocation":"253078:2:19","nodeType":"VariableDeclaration","scope":34255,"src":"253070:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34242,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253070:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34244,"nodeType":"VariableDeclarationStatement","src":"253070:10:19"},{"assignments":[34246],"declarations":[{"constant":false,"id":34246,"mutability":"mutable","name":"m4","nameLocation":"253098:2:19","nodeType":"VariableDeclaration","scope":34255,"src":"253090:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34245,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253090:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34247,"nodeType":"VariableDeclarationStatement","src":"253090:10:19"},{"AST":{"nativeSrc":"253162:375:19","nodeType":"YulBlock","src":"253162:375:19","statements":[{"nativeSrc":"253176:17:19","nodeType":"YulAssignment","src":"253176:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"253188:4:19","nodeType":"YulLiteral","src":"253188:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"253182:5:19","nodeType":"YulIdentifier","src":"253182:5:19"},"nativeSrc":"253182:11:19","nodeType":"YulFunctionCall","src":"253182:11:19"},"variableNames":[{"name":"m0","nativeSrc":"253176:2:19","nodeType":"YulIdentifier","src":"253176:2:19"}]},{"nativeSrc":"253206:17:19","nodeType":"YulAssignment","src":"253206:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"253218:4:19","nodeType":"YulLiteral","src":"253218:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"253212:5:19","nodeType":"YulIdentifier","src":"253212:5:19"},"nativeSrc":"253212:11:19","nodeType":"YulFunctionCall","src":"253212:11:19"},"variableNames":[{"name":"m1","nativeSrc":"253206:2:19","nodeType":"YulIdentifier","src":"253206:2:19"}]},{"nativeSrc":"253236:17:19","nodeType":"YulAssignment","src":"253236:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"253248:4:19","nodeType":"YulLiteral","src":"253248:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"253242:5:19","nodeType":"YulIdentifier","src":"253242:5:19"},"nativeSrc":"253242:11:19","nodeType":"YulFunctionCall","src":"253242:11:19"},"variableNames":[{"name":"m2","nativeSrc":"253236:2:19","nodeType":"YulIdentifier","src":"253236:2:19"}]},{"nativeSrc":"253266:17:19","nodeType":"YulAssignment","src":"253266:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"253278:4:19","nodeType":"YulLiteral","src":"253278:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"253272:5:19","nodeType":"YulIdentifier","src":"253272:5:19"},"nativeSrc":"253272:11:19","nodeType":"YulFunctionCall","src":"253272:11:19"},"variableNames":[{"name":"m3","nativeSrc":"253266:2:19","nodeType":"YulIdentifier","src":"253266:2:19"}]},{"nativeSrc":"253296:17:19","nodeType":"YulAssignment","src":"253296:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"253308:4:19","nodeType":"YulLiteral","src":"253308:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"253302:5:19","nodeType":"YulIdentifier","src":"253302:5:19"},"nativeSrc":"253302:11:19","nodeType":"YulFunctionCall","src":"253302:11:19"},"variableNames":[{"name":"m4","nativeSrc":"253296:2:19","nodeType":"YulIdentifier","src":"253296:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253394:4:19","nodeType":"YulLiteral","src":"253394:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"253400:10:19","nodeType":"YulLiteral","src":"253400:10:19","type":"","value":"0xe351140f"}],"functionName":{"name":"mstore","nativeSrc":"253387:6:19","nodeType":"YulIdentifier","src":"253387:6:19"},"nativeSrc":"253387:24:19","nodeType":"YulFunctionCall","src":"253387:24:19"},"nativeSrc":"253387:24:19","nodeType":"YulExpressionStatement","src":"253387:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253431:4:19","nodeType":"YulLiteral","src":"253431:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"253437:2:19","nodeType":"YulIdentifier","src":"253437:2:19"}],"functionName":{"name":"mstore","nativeSrc":"253424:6:19","nodeType":"YulIdentifier","src":"253424:6:19"},"nativeSrc":"253424:16:19","nodeType":"YulFunctionCall","src":"253424:16:19"},"nativeSrc":"253424:16:19","nodeType":"YulExpressionStatement","src":"253424:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253460:4:19","nodeType":"YulLiteral","src":"253460:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"253466:2:19","nodeType":"YulIdentifier","src":"253466:2:19"}],"functionName":{"name":"mstore","nativeSrc":"253453:6:19","nodeType":"YulIdentifier","src":"253453:6:19"},"nativeSrc":"253453:16:19","nodeType":"YulFunctionCall","src":"253453:16:19"},"nativeSrc":"253453:16:19","nodeType":"YulExpressionStatement","src":"253453:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253489:4:19","nodeType":"YulLiteral","src":"253489:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"253495:2:19","nodeType":"YulIdentifier","src":"253495:2:19"}],"functionName":{"name":"mstore","nativeSrc":"253482:6:19","nodeType":"YulIdentifier","src":"253482:6:19"},"nativeSrc":"253482:16:19","nodeType":"YulFunctionCall","src":"253482:16:19"},"nativeSrc":"253482:16:19","nodeType":"YulExpressionStatement","src":"253482:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253518:4:19","nodeType":"YulLiteral","src":"253518:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"253524:2:19","nodeType":"YulIdentifier","src":"253524:2:19"}],"functionName":{"name":"mstore","nativeSrc":"253511:6:19","nodeType":"YulIdentifier","src":"253511:6:19"},"nativeSrc":"253511:16:19","nodeType":"YulFunctionCall","src":"253511:16:19"},"nativeSrc":"253511:16:19","nodeType":"YulExpressionStatement","src":"253511:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34234,"isOffset":false,"isSlot":false,"src":"253176:2:19","valueSize":1},{"declaration":34237,"isOffset":false,"isSlot":false,"src":"253206:2:19","valueSize":1},{"declaration":34240,"isOffset":false,"isSlot":false,"src":"253236:2:19","valueSize":1},{"declaration":34243,"isOffset":false,"isSlot":false,"src":"253266:2:19","valueSize":1},{"declaration":34246,"isOffset":false,"isSlot":false,"src":"253296:2:19","valueSize":1},{"declaration":34224,"isOffset":false,"isSlot":false,"src":"253437:2:19","valueSize":1},{"declaration":34226,"isOffset":false,"isSlot":false,"src":"253466:2:19","valueSize":1},{"declaration":34228,"isOffset":false,"isSlot":false,"src":"253495:2:19","valueSize":1},{"declaration":34230,"isOffset":false,"isSlot":false,"src":"253524:2:19","valueSize":1}],"id":34248,"nodeType":"InlineAssembly","src":"253153:384:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"253562:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"253568:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":34249,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"253546:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"253546:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34253,"nodeType":"ExpressionStatement","src":"253546:27:19"},{"AST":{"nativeSrc":"253635:156:19","nodeType":"YulBlock","src":"253635:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"253656:4:19","nodeType":"YulLiteral","src":"253656:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"253662:2:19","nodeType":"YulIdentifier","src":"253662:2:19"}],"functionName":{"name":"mstore","nativeSrc":"253649:6:19","nodeType":"YulIdentifier","src":"253649:6:19"},"nativeSrc":"253649:16:19","nodeType":"YulFunctionCall","src":"253649:16:19"},"nativeSrc":"253649:16:19","nodeType":"YulExpressionStatement","src":"253649:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253685:4:19","nodeType":"YulLiteral","src":"253685:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"253691:2:19","nodeType":"YulIdentifier","src":"253691:2:19"}],"functionName":{"name":"mstore","nativeSrc":"253678:6:19","nodeType":"YulIdentifier","src":"253678:6:19"},"nativeSrc":"253678:16:19","nodeType":"YulFunctionCall","src":"253678:16:19"},"nativeSrc":"253678:16:19","nodeType":"YulExpressionStatement","src":"253678:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253714:4:19","nodeType":"YulLiteral","src":"253714:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"253720:2:19","nodeType":"YulIdentifier","src":"253720:2:19"}],"functionName":{"name":"mstore","nativeSrc":"253707:6:19","nodeType":"YulIdentifier","src":"253707:6:19"},"nativeSrc":"253707:16:19","nodeType":"YulFunctionCall","src":"253707:16:19"},"nativeSrc":"253707:16:19","nodeType":"YulExpressionStatement","src":"253707:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253743:4:19","nodeType":"YulLiteral","src":"253743:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"253749:2:19","nodeType":"YulIdentifier","src":"253749:2:19"}],"functionName":{"name":"mstore","nativeSrc":"253736:6:19","nodeType":"YulIdentifier","src":"253736:6:19"},"nativeSrc":"253736:16:19","nodeType":"YulFunctionCall","src":"253736:16:19"},"nativeSrc":"253736:16:19","nodeType":"YulExpressionStatement","src":"253736:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"253772:4:19","nodeType":"YulLiteral","src":"253772:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"253778:2:19","nodeType":"YulIdentifier","src":"253778:2:19"}],"functionName":{"name":"mstore","nativeSrc":"253765:6:19","nodeType":"YulIdentifier","src":"253765:6:19"},"nativeSrc":"253765:16:19","nodeType":"YulFunctionCall","src":"253765:16:19"},"nativeSrc":"253765:16:19","nodeType":"YulExpressionStatement","src":"253765:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34234,"isOffset":false,"isSlot":false,"src":"253662:2:19","valueSize":1},{"declaration":34237,"isOffset":false,"isSlot":false,"src":"253691:2:19","valueSize":1},{"declaration":34240,"isOffset":false,"isSlot":false,"src":"253720:2:19","valueSize":1},{"declaration":34243,"isOffset":false,"isSlot":false,"src":"253749:2:19","valueSize":1},{"declaration":34246,"isOffset":false,"isSlot":false,"src":"253778:2:19","valueSize":1}],"id":34254,"nodeType":"InlineAssembly","src":"253626:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"252940:3:19","parameters":{"id":34231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34224,"mutability":"mutable","name":"p0","nameLocation":"252952:2:19","nodeType":"VariableDeclaration","scope":34256,"src":"252944:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34223,"name":"uint256","nodeType":"ElementaryTypeName","src":"252944:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34226,"mutability":"mutable","name":"p1","nameLocation":"252964:2:19","nodeType":"VariableDeclaration","scope":34256,"src":"252956:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34225,"name":"address","nodeType":"ElementaryTypeName","src":"252956:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34228,"mutability":"mutable","name":"p2","nameLocation":"252973:2:19","nodeType":"VariableDeclaration","scope":34256,"src":"252968:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34227,"name":"bool","nodeType":"ElementaryTypeName","src":"252968:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34230,"mutability":"mutable","name":"p3","nameLocation":"252982:2:19","nodeType":"VariableDeclaration","scope":34256,"src":"252977:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34229,"name":"bool","nodeType":"ElementaryTypeName","src":"252977:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"252943:42:19"},"returnParameters":{"id":34232,"nodeType":"ParameterList","parameters":[],"src":"253000:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34290,"nodeType":"FunctionDefinition","src":"253803:872:19","nodes":[],"body":{"id":34289,"nodeType":"Block","src":"253875:800:19","nodes":[],"statements":[{"assignments":[34268],"declarations":[{"constant":false,"id":34268,"mutability":"mutable","name":"m0","nameLocation":"253893:2:19","nodeType":"VariableDeclaration","scope":34289,"src":"253885:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34267,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253885:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34269,"nodeType":"VariableDeclarationStatement","src":"253885:10:19"},{"assignments":[34271],"declarations":[{"constant":false,"id":34271,"mutability":"mutable","name":"m1","nameLocation":"253913:2:19","nodeType":"VariableDeclaration","scope":34289,"src":"253905:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34270,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253905:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34272,"nodeType":"VariableDeclarationStatement","src":"253905:10:19"},{"assignments":[34274],"declarations":[{"constant":false,"id":34274,"mutability":"mutable","name":"m2","nameLocation":"253933:2:19","nodeType":"VariableDeclaration","scope":34289,"src":"253925:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34273,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253925:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34275,"nodeType":"VariableDeclarationStatement","src":"253925:10:19"},{"assignments":[34277],"declarations":[{"constant":false,"id":34277,"mutability":"mutable","name":"m3","nameLocation":"253953:2:19","nodeType":"VariableDeclaration","scope":34289,"src":"253945:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34276,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253945:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34278,"nodeType":"VariableDeclarationStatement","src":"253945:10:19"},{"assignments":[34280],"declarations":[{"constant":false,"id":34280,"mutability":"mutable","name":"m4","nameLocation":"253973:2:19","nodeType":"VariableDeclaration","scope":34289,"src":"253965:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34279,"name":"bytes32","nodeType":"ElementaryTypeName","src":"253965:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34281,"nodeType":"VariableDeclarationStatement","src":"253965:10:19"},{"AST":{"nativeSrc":"254037:378:19","nodeType":"YulBlock","src":"254037:378:19","statements":[{"nativeSrc":"254051:17:19","nodeType":"YulAssignment","src":"254051:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"254063:4:19","nodeType":"YulLiteral","src":"254063:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"254057:5:19","nodeType":"YulIdentifier","src":"254057:5:19"},"nativeSrc":"254057:11:19","nodeType":"YulFunctionCall","src":"254057:11:19"},"variableNames":[{"name":"m0","nativeSrc":"254051:2:19","nodeType":"YulIdentifier","src":"254051:2:19"}]},{"nativeSrc":"254081:17:19","nodeType":"YulAssignment","src":"254081:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"254093:4:19","nodeType":"YulLiteral","src":"254093:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"254087:5:19","nodeType":"YulIdentifier","src":"254087:5:19"},"nativeSrc":"254087:11:19","nodeType":"YulFunctionCall","src":"254087:11:19"},"variableNames":[{"name":"m1","nativeSrc":"254081:2:19","nodeType":"YulIdentifier","src":"254081:2:19"}]},{"nativeSrc":"254111:17:19","nodeType":"YulAssignment","src":"254111:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"254123:4:19","nodeType":"YulLiteral","src":"254123:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"254117:5:19","nodeType":"YulIdentifier","src":"254117:5:19"},"nativeSrc":"254117:11:19","nodeType":"YulFunctionCall","src":"254117:11:19"},"variableNames":[{"name":"m2","nativeSrc":"254111:2:19","nodeType":"YulIdentifier","src":"254111:2:19"}]},{"nativeSrc":"254141:17:19","nodeType":"YulAssignment","src":"254141:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"254153:4:19","nodeType":"YulLiteral","src":"254153:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"254147:5:19","nodeType":"YulIdentifier","src":"254147:5:19"},"nativeSrc":"254147:11:19","nodeType":"YulFunctionCall","src":"254147:11:19"},"variableNames":[{"name":"m3","nativeSrc":"254141:2:19","nodeType":"YulIdentifier","src":"254141:2:19"}]},{"nativeSrc":"254171:17:19","nodeType":"YulAssignment","src":"254171:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"254183:4:19","nodeType":"YulLiteral","src":"254183:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"254177:5:19","nodeType":"YulIdentifier","src":"254177:5:19"},"nativeSrc":"254177:11:19","nodeType":"YulFunctionCall","src":"254177:11:19"},"variableNames":[{"name":"m4","nativeSrc":"254171:2:19","nodeType":"YulIdentifier","src":"254171:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254272:4:19","nodeType":"YulLiteral","src":"254272:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"254278:10:19","nodeType":"YulLiteral","src":"254278:10:19","type":"","value":"0x5abd992a"}],"functionName":{"name":"mstore","nativeSrc":"254265:6:19","nodeType":"YulIdentifier","src":"254265:6:19"},"nativeSrc":"254265:24:19","nodeType":"YulFunctionCall","src":"254265:24:19"},"nativeSrc":"254265:24:19","nodeType":"YulExpressionStatement","src":"254265:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254309:4:19","nodeType":"YulLiteral","src":"254309:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"254315:2:19","nodeType":"YulIdentifier","src":"254315:2:19"}],"functionName":{"name":"mstore","nativeSrc":"254302:6:19","nodeType":"YulIdentifier","src":"254302:6:19"},"nativeSrc":"254302:16:19","nodeType":"YulFunctionCall","src":"254302:16:19"},"nativeSrc":"254302:16:19","nodeType":"YulExpressionStatement","src":"254302:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254338:4:19","nodeType":"YulLiteral","src":"254338:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"254344:2:19","nodeType":"YulIdentifier","src":"254344:2:19"}],"functionName":{"name":"mstore","nativeSrc":"254331:6:19","nodeType":"YulIdentifier","src":"254331:6:19"},"nativeSrc":"254331:16:19","nodeType":"YulFunctionCall","src":"254331:16:19"},"nativeSrc":"254331:16:19","nodeType":"YulExpressionStatement","src":"254331:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254367:4:19","nodeType":"YulLiteral","src":"254367:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"254373:2:19","nodeType":"YulIdentifier","src":"254373:2:19"}],"functionName":{"name":"mstore","nativeSrc":"254360:6:19","nodeType":"YulIdentifier","src":"254360:6:19"},"nativeSrc":"254360:16:19","nodeType":"YulFunctionCall","src":"254360:16:19"},"nativeSrc":"254360:16:19","nodeType":"YulExpressionStatement","src":"254360:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254396:4:19","nodeType":"YulLiteral","src":"254396:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"254402:2:19","nodeType":"YulIdentifier","src":"254402:2:19"}],"functionName":{"name":"mstore","nativeSrc":"254389:6:19","nodeType":"YulIdentifier","src":"254389:6:19"},"nativeSrc":"254389:16:19","nodeType":"YulFunctionCall","src":"254389:16:19"},"nativeSrc":"254389:16:19","nodeType":"YulExpressionStatement","src":"254389:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34268,"isOffset":false,"isSlot":false,"src":"254051:2:19","valueSize":1},{"declaration":34271,"isOffset":false,"isSlot":false,"src":"254081:2:19","valueSize":1},{"declaration":34274,"isOffset":false,"isSlot":false,"src":"254111:2:19","valueSize":1},{"declaration":34277,"isOffset":false,"isSlot":false,"src":"254141:2:19","valueSize":1},{"declaration":34280,"isOffset":false,"isSlot":false,"src":"254171:2:19","valueSize":1},{"declaration":34258,"isOffset":false,"isSlot":false,"src":"254315:2:19","valueSize":1},{"declaration":34260,"isOffset":false,"isSlot":false,"src":"254344:2:19","valueSize":1},{"declaration":34262,"isOffset":false,"isSlot":false,"src":"254373:2:19","valueSize":1},{"declaration":34264,"isOffset":false,"isSlot":false,"src":"254402:2:19","valueSize":1}],"id":34282,"nodeType":"InlineAssembly","src":"254028:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"254440:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"254446:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":34283,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"254424:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"254424:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34287,"nodeType":"ExpressionStatement","src":"254424:27:19"},{"AST":{"nativeSrc":"254513:156:19","nodeType":"YulBlock","src":"254513:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"254534:4:19","nodeType":"YulLiteral","src":"254534:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"254540:2:19","nodeType":"YulIdentifier","src":"254540:2:19"}],"functionName":{"name":"mstore","nativeSrc":"254527:6:19","nodeType":"YulIdentifier","src":"254527:6:19"},"nativeSrc":"254527:16:19","nodeType":"YulFunctionCall","src":"254527:16:19"},"nativeSrc":"254527:16:19","nodeType":"YulExpressionStatement","src":"254527:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254563:4:19","nodeType":"YulLiteral","src":"254563:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"254569:2:19","nodeType":"YulIdentifier","src":"254569:2:19"}],"functionName":{"name":"mstore","nativeSrc":"254556:6:19","nodeType":"YulIdentifier","src":"254556:6:19"},"nativeSrc":"254556:16:19","nodeType":"YulFunctionCall","src":"254556:16:19"},"nativeSrc":"254556:16:19","nodeType":"YulExpressionStatement","src":"254556:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254592:4:19","nodeType":"YulLiteral","src":"254592:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"254598:2:19","nodeType":"YulIdentifier","src":"254598:2:19"}],"functionName":{"name":"mstore","nativeSrc":"254585:6:19","nodeType":"YulIdentifier","src":"254585:6:19"},"nativeSrc":"254585:16:19","nodeType":"YulFunctionCall","src":"254585:16:19"},"nativeSrc":"254585:16:19","nodeType":"YulExpressionStatement","src":"254585:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254621:4:19","nodeType":"YulLiteral","src":"254621:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"254627:2:19","nodeType":"YulIdentifier","src":"254627:2:19"}],"functionName":{"name":"mstore","nativeSrc":"254614:6:19","nodeType":"YulIdentifier","src":"254614:6:19"},"nativeSrc":"254614:16:19","nodeType":"YulFunctionCall","src":"254614:16:19"},"nativeSrc":"254614:16:19","nodeType":"YulExpressionStatement","src":"254614:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254650:4:19","nodeType":"YulLiteral","src":"254650:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"254656:2:19","nodeType":"YulIdentifier","src":"254656:2:19"}],"functionName":{"name":"mstore","nativeSrc":"254643:6:19","nodeType":"YulIdentifier","src":"254643:6:19"},"nativeSrc":"254643:16:19","nodeType":"YulFunctionCall","src":"254643:16:19"},"nativeSrc":"254643:16:19","nodeType":"YulExpressionStatement","src":"254643:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34268,"isOffset":false,"isSlot":false,"src":"254540:2:19","valueSize":1},{"declaration":34271,"isOffset":false,"isSlot":false,"src":"254569:2:19","valueSize":1},{"declaration":34274,"isOffset":false,"isSlot":false,"src":"254598:2:19","valueSize":1},{"declaration":34277,"isOffset":false,"isSlot":false,"src":"254627:2:19","valueSize":1},{"declaration":34280,"isOffset":false,"isSlot":false,"src":"254656:2:19","valueSize":1}],"id":34288,"nodeType":"InlineAssembly","src":"254504:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"253812:3:19","parameters":{"id":34265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34258,"mutability":"mutable","name":"p0","nameLocation":"253824:2:19","nodeType":"VariableDeclaration","scope":34290,"src":"253816:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34257,"name":"uint256","nodeType":"ElementaryTypeName","src":"253816:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34260,"mutability":"mutable","name":"p1","nameLocation":"253836:2:19","nodeType":"VariableDeclaration","scope":34290,"src":"253828:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34259,"name":"address","nodeType":"ElementaryTypeName","src":"253828:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34262,"mutability":"mutable","name":"p2","nameLocation":"253845:2:19","nodeType":"VariableDeclaration","scope":34290,"src":"253840:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34261,"name":"bool","nodeType":"ElementaryTypeName","src":"253840:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34264,"mutability":"mutable","name":"p3","nameLocation":"253857:2:19","nodeType":"VariableDeclaration","scope":34290,"src":"253849:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34263,"name":"uint256","nodeType":"ElementaryTypeName","src":"253849:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"253815:45:19"},"returnParameters":{"id":34266,"nodeType":"ParameterList","parameters":[],"src":"253875:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34330,"nodeType":"FunctionDefinition","src":"254681:1420:19","nodes":[],"body":{"id":34329,"nodeType":"Block","src":"254753:1348:19","nodes":[],"statements":[{"assignments":[34302],"declarations":[{"constant":false,"id":34302,"mutability":"mutable","name":"m0","nameLocation":"254771:2:19","nodeType":"VariableDeclaration","scope":34329,"src":"254763:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34301,"name":"bytes32","nodeType":"ElementaryTypeName","src":"254763:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34303,"nodeType":"VariableDeclarationStatement","src":"254763:10:19"},{"assignments":[34305],"declarations":[{"constant":false,"id":34305,"mutability":"mutable","name":"m1","nameLocation":"254791:2:19","nodeType":"VariableDeclaration","scope":34329,"src":"254783:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34304,"name":"bytes32","nodeType":"ElementaryTypeName","src":"254783:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34306,"nodeType":"VariableDeclarationStatement","src":"254783:10:19"},{"assignments":[34308],"declarations":[{"constant":false,"id":34308,"mutability":"mutable","name":"m2","nameLocation":"254811:2:19","nodeType":"VariableDeclaration","scope":34329,"src":"254803:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34307,"name":"bytes32","nodeType":"ElementaryTypeName","src":"254803:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34309,"nodeType":"VariableDeclarationStatement","src":"254803:10:19"},{"assignments":[34311],"declarations":[{"constant":false,"id":34311,"mutability":"mutable","name":"m3","nameLocation":"254831:2:19","nodeType":"VariableDeclaration","scope":34329,"src":"254823:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34310,"name":"bytes32","nodeType":"ElementaryTypeName","src":"254823:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34312,"nodeType":"VariableDeclarationStatement","src":"254823:10:19"},{"assignments":[34314],"declarations":[{"constant":false,"id":34314,"mutability":"mutable","name":"m4","nameLocation":"254851:2:19","nodeType":"VariableDeclaration","scope":34329,"src":"254843:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34313,"name":"bytes32","nodeType":"ElementaryTypeName","src":"254843:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34315,"nodeType":"VariableDeclarationStatement","src":"254843:10:19"},{"assignments":[34317],"declarations":[{"constant":false,"id":34317,"mutability":"mutable","name":"m5","nameLocation":"254871:2:19","nodeType":"VariableDeclaration","scope":34329,"src":"254863:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34316,"name":"bytes32","nodeType":"ElementaryTypeName","src":"254863:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34318,"nodeType":"VariableDeclarationStatement","src":"254863:10:19"},{"assignments":[34320],"declarations":[{"constant":false,"id":34320,"mutability":"mutable","name":"m6","nameLocation":"254891:2:19","nodeType":"VariableDeclaration","scope":34329,"src":"254883:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34319,"name":"bytes32","nodeType":"ElementaryTypeName","src":"254883:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34321,"nodeType":"VariableDeclarationStatement","src":"254883:10:19"},{"AST":{"nativeSrc":"254955:828:19","nodeType":"YulBlock","src":"254955:828:19","statements":[{"body":{"nativeSrc":"254998:313:19","nodeType":"YulBlock","src":"254998:313:19","statements":[{"nativeSrc":"255016:15:19","nodeType":"YulVariableDeclaration","src":"255016:15:19","value":{"kind":"number","nativeSrc":"255030:1:19","nodeType":"YulLiteral","src":"255030:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"255020:6:19","nodeType":"YulTypedName","src":"255020:6:19","type":""}]},{"body":{"nativeSrc":"255101:40:19","nodeType":"YulBlock","src":"255101:40:19","statements":[{"body":{"nativeSrc":"255130:9:19","nodeType":"YulBlock","src":"255130:9:19","statements":[{"nativeSrc":"255132:5:19","nodeType":"YulBreak","src":"255132:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"255118:6:19","nodeType":"YulIdentifier","src":"255118:6:19"},{"name":"w","nativeSrc":"255126:1:19","nodeType":"YulIdentifier","src":"255126:1:19"}],"functionName":{"name":"byte","nativeSrc":"255113:4:19","nodeType":"YulIdentifier","src":"255113:4:19"},"nativeSrc":"255113:15:19","nodeType":"YulFunctionCall","src":"255113:15:19"}],"functionName":{"name":"iszero","nativeSrc":"255106:6:19","nodeType":"YulIdentifier","src":"255106:6:19"},"nativeSrc":"255106:23:19","nodeType":"YulFunctionCall","src":"255106:23:19"},"nativeSrc":"255103:36:19","nodeType":"YulIf","src":"255103:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"255058:6:19","nodeType":"YulIdentifier","src":"255058:6:19"},{"kind":"number","nativeSrc":"255066:4:19","nodeType":"YulLiteral","src":"255066:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"255055:2:19","nodeType":"YulIdentifier","src":"255055:2:19"},"nativeSrc":"255055:16:19","nodeType":"YulFunctionCall","src":"255055:16:19"},"nativeSrc":"255048:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"255072:28:19","nodeType":"YulBlock","src":"255072:28:19","statements":[{"nativeSrc":"255074:24:19","nodeType":"YulAssignment","src":"255074:24:19","value":{"arguments":[{"name":"length","nativeSrc":"255088:6:19","nodeType":"YulIdentifier","src":"255088:6:19"},{"kind":"number","nativeSrc":"255096:1:19","nodeType":"YulLiteral","src":"255096:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"255084:3:19","nodeType":"YulIdentifier","src":"255084:3:19"},"nativeSrc":"255084:14:19","nodeType":"YulFunctionCall","src":"255084:14:19"},"variableNames":[{"name":"length","nativeSrc":"255074:6:19","nodeType":"YulIdentifier","src":"255074:6:19"}]}]},"pre":{"nativeSrc":"255052:2:19","nodeType":"YulBlock","src":"255052:2:19","statements":[]},"src":"255048:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"255165:3:19","nodeType":"YulIdentifier","src":"255165:3:19"},{"name":"length","nativeSrc":"255170:6:19","nodeType":"YulIdentifier","src":"255170:6:19"}],"functionName":{"name":"mstore","nativeSrc":"255158:6:19","nodeType":"YulIdentifier","src":"255158:6:19"},"nativeSrc":"255158:19:19","nodeType":"YulFunctionCall","src":"255158:19:19"},"nativeSrc":"255158:19:19","nodeType":"YulExpressionStatement","src":"255158:19:19"},{"nativeSrc":"255194:37:19","nodeType":"YulVariableDeclaration","src":"255194:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"255211:3:19","nodeType":"YulLiteral","src":"255211:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"255220:1:19","nodeType":"YulLiteral","src":"255220:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"255223:6:19","nodeType":"YulIdentifier","src":"255223:6:19"}],"functionName":{"name":"shl","nativeSrc":"255216:3:19","nodeType":"YulIdentifier","src":"255216:3:19"},"nativeSrc":"255216:14:19","nodeType":"YulFunctionCall","src":"255216:14:19"}],"functionName":{"name":"sub","nativeSrc":"255207:3:19","nodeType":"YulIdentifier","src":"255207:3:19"},"nativeSrc":"255207:24:19","nodeType":"YulFunctionCall","src":"255207:24:19"},"variables":[{"name":"shift","nativeSrc":"255198:5:19","nodeType":"YulTypedName","src":"255198:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"255259:3:19","nodeType":"YulIdentifier","src":"255259:3:19"},{"kind":"number","nativeSrc":"255264:4:19","nodeType":"YulLiteral","src":"255264:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"255255:3:19","nodeType":"YulIdentifier","src":"255255:3:19"},"nativeSrc":"255255:14:19","nodeType":"YulFunctionCall","src":"255255:14:19"},{"arguments":[{"name":"shift","nativeSrc":"255275:5:19","nodeType":"YulIdentifier","src":"255275:5:19"},{"arguments":[{"name":"shift","nativeSrc":"255286:5:19","nodeType":"YulIdentifier","src":"255286:5:19"},{"name":"w","nativeSrc":"255293:1:19","nodeType":"YulIdentifier","src":"255293:1:19"}],"functionName":{"name":"shr","nativeSrc":"255282:3:19","nodeType":"YulIdentifier","src":"255282:3:19"},"nativeSrc":"255282:13:19","nodeType":"YulFunctionCall","src":"255282:13:19"}],"functionName":{"name":"shl","nativeSrc":"255271:3:19","nodeType":"YulIdentifier","src":"255271:3:19"},"nativeSrc":"255271:25:19","nodeType":"YulFunctionCall","src":"255271:25:19"}],"functionName":{"name":"mstore","nativeSrc":"255248:6:19","nodeType":"YulIdentifier","src":"255248:6:19"},"nativeSrc":"255248:49:19","nodeType":"YulFunctionCall","src":"255248:49:19"},"nativeSrc":"255248:49:19","nodeType":"YulExpressionStatement","src":"255248:49:19"}]},"name":"writeString","nativeSrc":"254969:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"254990:3:19","nodeType":"YulTypedName","src":"254990:3:19","type":""},{"name":"w","nativeSrc":"254995:1:19","nodeType":"YulTypedName","src":"254995:1:19","type":""}],"src":"254969:342:19"},{"nativeSrc":"255324:17:19","nodeType":"YulAssignment","src":"255324:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"255336:4:19","nodeType":"YulLiteral","src":"255336:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"255330:5:19","nodeType":"YulIdentifier","src":"255330:5:19"},"nativeSrc":"255330:11:19","nodeType":"YulFunctionCall","src":"255330:11:19"},"variableNames":[{"name":"m0","nativeSrc":"255324:2:19","nodeType":"YulIdentifier","src":"255324:2:19"}]},{"nativeSrc":"255354:17:19","nodeType":"YulAssignment","src":"255354:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"255366:4:19","nodeType":"YulLiteral","src":"255366:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"255360:5:19","nodeType":"YulIdentifier","src":"255360:5:19"},"nativeSrc":"255360:11:19","nodeType":"YulFunctionCall","src":"255360:11:19"},"variableNames":[{"name":"m1","nativeSrc":"255354:2:19","nodeType":"YulIdentifier","src":"255354:2:19"}]},{"nativeSrc":"255384:17:19","nodeType":"YulAssignment","src":"255384:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"255396:4:19","nodeType":"YulLiteral","src":"255396:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"255390:5:19","nodeType":"YulIdentifier","src":"255390:5:19"},"nativeSrc":"255390:11:19","nodeType":"YulFunctionCall","src":"255390:11:19"},"variableNames":[{"name":"m2","nativeSrc":"255384:2:19","nodeType":"YulIdentifier","src":"255384:2:19"}]},{"nativeSrc":"255414:17:19","nodeType":"YulAssignment","src":"255414:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"255426:4:19","nodeType":"YulLiteral","src":"255426:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"255420:5:19","nodeType":"YulIdentifier","src":"255420:5:19"},"nativeSrc":"255420:11:19","nodeType":"YulFunctionCall","src":"255420:11:19"},"variableNames":[{"name":"m3","nativeSrc":"255414:2:19","nodeType":"YulIdentifier","src":"255414:2:19"}]},{"nativeSrc":"255444:17:19","nodeType":"YulAssignment","src":"255444:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"255456:4:19","nodeType":"YulLiteral","src":"255456:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"255450:5:19","nodeType":"YulIdentifier","src":"255450:5:19"},"nativeSrc":"255450:11:19","nodeType":"YulFunctionCall","src":"255450:11:19"},"variableNames":[{"name":"m4","nativeSrc":"255444:2:19","nodeType":"YulIdentifier","src":"255444:2:19"}]},{"nativeSrc":"255474:17:19","nodeType":"YulAssignment","src":"255474:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"255486:4:19","nodeType":"YulLiteral","src":"255486:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"255480:5:19","nodeType":"YulIdentifier","src":"255480:5:19"},"nativeSrc":"255480:11:19","nodeType":"YulFunctionCall","src":"255480:11:19"},"variableNames":[{"name":"m5","nativeSrc":"255474:2:19","nodeType":"YulIdentifier","src":"255474:2:19"}]},{"nativeSrc":"255504:17:19","nodeType":"YulAssignment","src":"255504:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"255516:4:19","nodeType":"YulLiteral","src":"255516:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"255510:5:19","nodeType":"YulIdentifier","src":"255510:5:19"},"nativeSrc":"255510:11:19","nodeType":"YulFunctionCall","src":"255510:11:19"},"variableNames":[{"name":"m6","nativeSrc":"255504:2:19","nodeType":"YulIdentifier","src":"255504:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255604:4:19","nodeType":"YulLiteral","src":"255604:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"255610:10:19","nodeType":"YulLiteral","src":"255610:10:19","type":"","value":"0x90fb06aa"}],"functionName":{"name":"mstore","nativeSrc":"255597:6:19","nodeType":"YulIdentifier","src":"255597:6:19"},"nativeSrc":"255597:24:19","nodeType":"YulFunctionCall","src":"255597:24:19"},"nativeSrc":"255597:24:19","nodeType":"YulExpressionStatement","src":"255597:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255641:4:19","nodeType":"YulLiteral","src":"255641:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"255647:2:19","nodeType":"YulIdentifier","src":"255647:2:19"}],"functionName":{"name":"mstore","nativeSrc":"255634:6:19","nodeType":"YulIdentifier","src":"255634:6:19"},"nativeSrc":"255634:16:19","nodeType":"YulFunctionCall","src":"255634:16:19"},"nativeSrc":"255634:16:19","nodeType":"YulExpressionStatement","src":"255634:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255670:4:19","nodeType":"YulLiteral","src":"255670:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"255676:2:19","nodeType":"YulIdentifier","src":"255676:2:19"}],"functionName":{"name":"mstore","nativeSrc":"255663:6:19","nodeType":"YulIdentifier","src":"255663:6:19"},"nativeSrc":"255663:16:19","nodeType":"YulFunctionCall","src":"255663:16:19"},"nativeSrc":"255663:16:19","nodeType":"YulExpressionStatement","src":"255663:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255699:4:19","nodeType":"YulLiteral","src":"255699:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"255705:2:19","nodeType":"YulIdentifier","src":"255705:2:19"}],"functionName":{"name":"mstore","nativeSrc":"255692:6:19","nodeType":"YulIdentifier","src":"255692:6:19"},"nativeSrc":"255692:16:19","nodeType":"YulFunctionCall","src":"255692:16:19"},"nativeSrc":"255692:16:19","nodeType":"YulExpressionStatement","src":"255692:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255728:4:19","nodeType":"YulLiteral","src":"255728:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"255734:4:19","nodeType":"YulLiteral","src":"255734:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"255721:6:19","nodeType":"YulIdentifier","src":"255721:6:19"},"nativeSrc":"255721:18:19","nodeType":"YulFunctionCall","src":"255721:18:19"},"nativeSrc":"255721:18:19","nodeType":"YulExpressionStatement","src":"255721:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255764:4:19","nodeType":"YulLiteral","src":"255764:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"255770:2:19","nodeType":"YulIdentifier","src":"255770:2:19"}],"functionName":{"name":"writeString","nativeSrc":"255752:11:19","nodeType":"YulIdentifier","src":"255752:11:19"},"nativeSrc":"255752:21:19","nodeType":"YulFunctionCall","src":"255752:21:19"},"nativeSrc":"255752:21:19","nodeType":"YulExpressionStatement","src":"255752:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34302,"isOffset":false,"isSlot":false,"src":"255324:2:19","valueSize":1},{"declaration":34305,"isOffset":false,"isSlot":false,"src":"255354:2:19","valueSize":1},{"declaration":34308,"isOffset":false,"isSlot":false,"src":"255384:2:19","valueSize":1},{"declaration":34311,"isOffset":false,"isSlot":false,"src":"255414:2:19","valueSize":1},{"declaration":34314,"isOffset":false,"isSlot":false,"src":"255444:2:19","valueSize":1},{"declaration":34317,"isOffset":false,"isSlot":false,"src":"255474:2:19","valueSize":1},{"declaration":34320,"isOffset":false,"isSlot":false,"src":"255504:2:19","valueSize":1},{"declaration":34292,"isOffset":false,"isSlot":false,"src":"255647:2:19","valueSize":1},{"declaration":34294,"isOffset":false,"isSlot":false,"src":"255676:2:19","valueSize":1},{"declaration":34296,"isOffset":false,"isSlot":false,"src":"255705:2:19","valueSize":1},{"declaration":34298,"isOffset":false,"isSlot":false,"src":"255770:2:19","valueSize":1}],"id":34322,"nodeType":"InlineAssembly","src":"254946:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"255808:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"255814:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":34323,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"255792:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"255792:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34327,"nodeType":"ExpressionStatement","src":"255792:27:19"},{"AST":{"nativeSrc":"255881:214:19","nodeType":"YulBlock","src":"255881:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"255902:4:19","nodeType":"YulLiteral","src":"255902:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"255908:2:19","nodeType":"YulIdentifier","src":"255908:2:19"}],"functionName":{"name":"mstore","nativeSrc":"255895:6:19","nodeType":"YulIdentifier","src":"255895:6:19"},"nativeSrc":"255895:16:19","nodeType":"YulFunctionCall","src":"255895:16:19"},"nativeSrc":"255895:16:19","nodeType":"YulExpressionStatement","src":"255895:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255931:4:19","nodeType":"YulLiteral","src":"255931:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"255937:2:19","nodeType":"YulIdentifier","src":"255937:2:19"}],"functionName":{"name":"mstore","nativeSrc":"255924:6:19","nodeType":"YulIdentifier","src":"255924:6:19"},"nativeSrc":"255924:16:19","nodeType":"YulFunctionCall","src":"255924:16:19"},"nativeSrc":"255924:16:19","nodeType":"YulExpressionStatement","src":"255924:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255960:4:19","nodeType":"YulLiteral","src":"255960:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"255966:2:19","nodeType":"YulIdentifier","src":"255966:2:19"}],"functionName":{"name":"mstore","nativeSrc":"255953:6:19","nodeType":"YulIdentifier","src":"255953:6:19"},"nativeSrc":"255953:16:19","nodeType":"YulFunctionCall","src":"255953:16:19"},"nativeSrc":"255953:16:19","nodeType":"YulExpressionStatement","src":"255953:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"255989:4:19","nodeType":"YulLiteral","src":"255989:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"255995:2:19","nodeType":"YulIdentifier","src":"255995:2:19"}],"functionName":{"name":"mstore","nativeSrc":"255982:6:19","nodeType":"YulIdentifier","src":"255982:6:19"},"nativeSrc":"255982:16:19","nodeType":"YulFunctionCall","src":"255982:16:19"},"nativeSrc":"255982:16:19","nodeType":"YulExpressionStatement","src":"255982:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256018:4:19","nodeType":"YulLiteral","src":"256018:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"256024:2:19","nodeType":"YulIdentifier","src":"256024:2:19"}],"functionName":{"name":"mstore","nativeSrc":"256011:6:19","nodeType":"YulIdentifier","src":"256011:6:19"},"nativeSrc":"256011:16:19","nodeType":"YulFunctionCall","src":"256011:16:19"},"nativeSrc":"256011:16:19","nodeType":"YulExpressionStatement","src":"256011:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256047:4:19","nodeType":"YulLiteral","src":"256047:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"256053:2:19","nodeType":"YulIdentifier","src":"256053:2:19"}],"functionName":{"name":"mstore","nativeSrc":"256040:6:19","nodeType":"YulIdentifier","src":"256040:6:19"},"nativeSrc":"256040:16:19","nodeType":"YulFunctionCall","src":"256040:16:19"},"nativeSrc":"256040:16:19","nodeType":"YulExpressionStatement","src":"256040:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256076:4:19","nodeType":"YulLiteral","src":"256076:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"256082:2:19","nodeType":"YulIdentifier","src":"256082:2:19"}],"functionName":{"name":"mstore","nativeSrc":"256069:6:19","nodeType":"YulIdentifier","src":"256069:6:19"},"nativeSrc":"256069:16:19","nodeType":"YulFunctionCall","src":"256069:16:19"},"nativeSrc":"256069:16:19","nodeType":"YulExpressionStatement","src":"256069:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34302,"isOffset":false,"isSlot":false,"src":"255908:2:19","valueSize":1},{"declaration":34305,"isOffset":false,"isSlot":false,"src":"255937:2:19","valueSize":1},{"declaration":34308,"isOffset":false,"isSlot":false,"src":"255966:2:19","valueSize":1},{"declaration":34311,"isOffset":false,"isSlot":false,"src":"255995:2:19","valueSize":1},{"declaration":34314,"isOffset":false,"isSlot":false,"src":"256024:2:19","valueSize":1},{"declaration":34317,"isOffset":false,"isSlot":false,"src":"256053:2:19","valueSize":1},{"declaration":34320,"isOffset":false,"isSlot":false,"src":"256082:2:19","valueSize":1}],"id":34328,"nodeType":"InlineAssembly","src":"255872:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"254690:3:19","parameters":{"id":34299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34292,"mutability":"mutable","name":"p0","nameLocation":"254702:2:19","nodeType":"VariableDeclaration","scope":34330,"src":"254694:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34291,"name":"uint256","nodeType":"ElementaryTypeName","src":"254694:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34294,"mutability":"mutable","name":"p1","nameLocation":"254714:2:19","nodeType":"VariableDeclaration","scope":34330,"src":"254706:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34293,"name":"address","nodeType":"ElementaryTypeName","src":"254706:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34296,"mutability":"mutable","name":"p2","nameLocation":"254723:2:19","nodeType":"VariableDeclaration","scope":34330,"src":"254718:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34295,"name":"bool","nodeType":"ElementaryTypeName","src":"254718:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34298,"mutability":"mutable","name":"p3","nameLocation":"254735:2:19","nodeType":"VariableDeclaration","scope":34330,"src":"254727:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34297,"name":"bytes32","nodeType":"ElementaryTypeName","src":"254727:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"254693:45:19"},"returnParameters":{"id":34300,"nodeType":"ParameterList","parameters":[],"src":"254753:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34364,"nodeType":"FunctionDefinition","src":"256107:878:19","nodes":[],"body":{"id":34363,"nodeType":"Block","src":"256182:803:19","nodes":[],"statements":[{"assignments":[34342],"declarations":[{"constant":false,"id":34342,"mutability":"mutable","name":"m0","nameLocation":"256200:2:19","nodeType":"VariableDeclaration","scope":34363,"src":"256192:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34341,"name":"bytes32","nodeType":"ElementaryTypeName","src":"256192:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34343,"nodeType":"VariableDeclarationStatement","src":"256192:10:19"},{"assignments":[34345],"declarations":[{"constant":false,"id":34345,"mutability":"mutable","name":"m1","nameLocation":"256220:2:19","nodeType":"VariableDeclaration","scope":34363,"src":"256212:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34344,"name":"bytes32","nodeType":"ElementaryTypeName","src":"256212:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34346,"nodeType":"VariableDeclarationStatement","src":"256212:10:19"},{"assignments":[34348],"declarations":[{"constant":false,"id":34348,"mutability":"mutable","name":"m2","nameLocation":"256240:2:19","nodeType":"VariableDeclaration","scope":34363,"src":"256232:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34347,"name":"bytes32","nodeType":"ElementaryTypeName","src":"256232:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34349,"nodeType":"VariableDeclarationStatement","src":"256232:10:19"},{"assignments":[34351],"declarations":[{"constant":false,"id":34351,"mutability":"mutable","name":"m3","nameLocation":"256260:2:19","nodeType":"VariableDeclaration","scope":34363,"src":"256252:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34350,"name":"bytes32","nodeType":"ElementaryTypeName","src":"256252:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34352,"nodeType":"VariableDeclarationStatement","src":"256252:10:19"},{"assignments":[34354],"declarations":[{"constant":false,"id":34354,"mutability":"mutable","name":"m4","nameLocation":"256280:2:19","nodeType":"VariableDeclaration","scope":34363,"src":"256272:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34353,"name":"bytes32","nodeType":"ElementaryTypeName","src":"256272:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34355,"nodeType":"VariableDeclarationStatement","src":"256272:10:19"},{"AST":{"nativeSrc":"256344:381:19","nodeType":"YulBlock","src":"256344:381:19","statements":[{"nativeSrc":"256358:17:19","nodeType":"YulAssignment","src":"256358:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"256370:4:19","nodeType":"YulLiteral","src":"256370:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"256364:5:19","nodeType":"YulIdentifier","src":"256364:5:19"},"nativeSrc":"256364:11:19","nodeType":"YulFunctionCall","src":"256364:11:19"},"variableNames":[{"name":"m0","nativeSrc":"256358:2:19","nodeType":"YulIdentifier","src":"256358:2:19"}]},{"nativeSrc":"256388:17:19","nodeType":"YulAssignment","src":"256388:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"256400:4:19","nodeType":"YulLiteral","src":"256400:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"256394:5:19","nodeType":"YulIdentifier","src":"256394:5:19"},"nativeSrc":"256394:11:19","nodeType":"YulFunctionCall","src":"256394:11:19"},"variableNames":[{"name":"m1","nativeSrc":"256388:2:19","nodeType":"YulIdentifier","src":"256388:2:19"}]},{"nativeSrc":"256418:17:19","nodeType":"YulAssignment","src":"256418:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"256430:4:19","nodeType":"YulLiteral","src":"256430:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"256424:5:19","nodeType":"YulIdentifier","src":"256424:5:19"},"nativeSrc":"256424:11:19","nodeType":"YulFunctionCall","src":"256424:11:19"},"variableNames":[{"name":"m2","nativeSrc":"256418:2:19","nodeType":"YulIdentifier","src":"256418:2:19"}]},{"nativeSrc":"256448:17:19","nodeType":"YulAssignment","src":"256448:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"256460:4:19","nodeType":"YulLiteral","src":"256460:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"256454:5:19","nodeType":"YulIdentifier","src":"256454:5:19"},"nativeSrc":"256454:11:19","nodeType":"YulFunctionCall","src":"256454:11:19"},"variableNames":[{"name":"m3","nativeSrc":"256448:2:19","nodeType":"YulIdentifier","src":"256448:2:19"}]},{"nativeSrc":"256478:17:19","nodeType":"YulAssignment","src":"256478:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"256490:4:19","nodeType":"YulLiteral","src":"256490:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"256484:5:19","nodeType":"YulIdentifier","src":"256484:5:19"},"nativeSrc":"256484:11:19","nodeType":"YulFunctionCall","src":"256484:11:19"},"variableNames":[{"name":"m4","nativeSrc":"256478:2:19","nodeType":"YulIdentifier","src":"256478:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256582:4:19","nodeType":"YulLiteral","src":"256582:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"256588:10:19","nodeType":"YulLiteral","src":"256588:10:19","type":"","value":"0x15c127b5"}],"functionName":{"name":"mstore","nativeSrc":"256575:6:19","nodeType":"YulIdentifier","src":"256575:6:19"},"nativeSrc":"256575:24:19","nodeType":"YulFunctionCall","src":"256575:24:19"},"nativeSrc":"256575:24:19","nodeType":"YulExpressionStatement","src":"256575:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256619:4:19","nodeType":"YulLiteral","src":"256619:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"256625:2:19","nodeType":"YulIdentifier","src":"256625:2:19"}],"functionName":{"name":"mstore","nativeSrc":"256612:6:19","nodeType":"YulIdentifier","src":"256612:6:19"},"nativeSrc":"256612:16:19","nodeType":"YulFunctionCall","src":"256612:16:19"},"nativeSrc":"256612:16:19","nodeType":"YulExpressionStatement","src":"256612:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256648:4:19","nodeType":"YulLiteral","src":"256648:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"256654:2:19","nodeType":"YulIdentifier","src":"256654:2:19"}],"functionName":{"name":"mstore","nativeSrc":"256641:6:19","nodeType":"YulIdentifier","src":"256641:6:19"},"nativeSrc":"256641:16:19","nodeType":"YulFunctionCall","src":"256641:16:19"},"nativeSrc":"256641:16:19","nodeType":"YulExpressionStatement","src":"256641:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256677:4:19","nodeType":"YulLiteral","src":"256677:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"256683:2:19","nodeType":"YulIdentifier","src":"256683:2:19"}],"functionName":{"name":"mstore","nativeSrc":"256670:6:19","nodeType":"YulIdentifier","src":"256670:6:19"},"nativeSrc":"256670:16:19","nodeType":"YulFunctionCall","src":"256670:16:19"},"nativeSrc":"256670:16:19","nodeType":"YulExpressionStatement","src":"256670:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256706:4:19","nodeType":"YulLiteral","src":"256706:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"256712:2:19","nodeType":"YulIdentifier","src":"256712:2:19"}],"functionName":{"name":"mstore","nativeSrc":"256699:6:19","nodeType":"YulIdentifier","src":"256699:6:19"},"nativeSrc":"256699:16:19","nodeType":"YulFunctionCall","src":"256699:16:19"},"nativeSrc":"256699:16:19","nodeType":"YulExpressionStatement","src":"256699:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34342,"isOffset":false,"isSlot":false,"src":"256358:2:19","valueSize":1},{"declaration":34345,"isOffset":false,"isSlot":false,"src":"256388:2:19","valueSize":1},{"declaration":34348,"isOffset":false,"isSlot":false,"src":"256418:2:19","valueSize":1},{"declaration":34351,"isOffset":false,"isSlot":false,"src":"256448:2:19","valueSize":1},{"declaration":34354,"isOffset":false,"isSlot":false,"src":"256478:2:19","valueSize":1},{"declaration":34332,"isOffset":false,"isSlot":false,"src":"256625:2:19","valueSize":1},{"declaration":34334,"isOffset":false,"isSlot":false,"src":"256654:2:19","valueSize":1},{"declaration":34336,"isOffset":false,"isSlot":false,"src":"256683:2:19","valueSize":1},{"declaration":34338,"isOffset":false,"isSlot":false,"src":"256712:2:19","valueSize":1}],"id":34356,"nodeType":"InlineAssembly","src":"256335:390:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"256750:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"256756:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":34357,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"256734:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"256734:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34361,"nodeType":"ExpressionStatement","src":"256734:27:19"},{"AST":{"nativeSrc":"256823:156:19","nodeType":"YulBlock","src":"256823:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"256844:4:19","nodeType":"YulLiteral","src":"256844:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"256850:2:19","nodeType":"YulIdentifier","src":"256850:2:19"}],"functionName":{"name":"mstore","nativeSrc":"256837:6:19","nodeType":"YulIdentifier","src":"256837:6:19"},"nativeSrc":"256837:16:19","nodeType":"YulFunctionCall","src":"256837:16:19"},"nativeSrc":"256837:16:19","nodeType":"YulExpressionStatement","src":"256837:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256873:4:19","nodeType":"YulLiteral","src":"256873:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"256879:2:19","nodeType":"YulIdentifier","src":"256879:2:19"}],"functionName":{"name":"mstore","nativeSrc":"256866:6:19","nodeType":"YulIdentifier","src":"256866:6:19"},"nativeSrc":"256866:16:19","nodeType":"YulFunctionCall","src":"256866:16:19"},"nativeSrc":"256866:16:19","nodeType":"YulExpressionStatement","src":"256866:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256902:4:19","nodeType":"YulLiteral","src":"256902:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"256908:2:19","nodeType":"YulIdentifier","src":"256908:2:19"}],"functionName":{"name":"mstore","nativeSrc":"256895:6:19","nodeType":"YulIdentifier","src":"256895:6:19"},"nativeSrc":"256895:16:19","nodeType":"YulFunctionCall","src":"256895:16:19"},"nativeSrc":"256895:16:19","nodeType":"YulExpressionStatement","src":"256895:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256931:4:19","nodeType":"YulLiteral","src":"256931:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"256937:2:19","nodeType":"YulIdentifier","src":"256937:2:19"}],"functionName":{"name":"mstore","nativeSrc":"256924:6:19","nodeType":"YulIdentifier","src":"256924:6:19"},"nativeSrc":"256924:16:19","nodeType":"YulFunctionCall","src":"256924:16:19"},"nativeSrc":"256924:16:19","nodeType":"YulExpressionStatement","src":"256924:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"256960:4:19","nodeType":"YulLiteral","src":"256960:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"256966:2:19","nodeType":"YulIdentifier","src":"256966:2:19"}],"functionName":{"name":"mstore","nativeSrc":"256953:6:19","nodeType":"YulIdentifier","src":"256953:6:19"},"nativeSrc":"256953:16:19","nodeType":"YulFunctionCall","src":"256953:16:19"},"nativeSrc":"256953:16:19","nodeType":"YulExpressionStatement","src":"256953:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34342,"isOffset":false,"isSlot":false,"src":"256850:2:19","valueSize":1},{"declaration":34345,"isOffset":false,"isSlot":false,"src":"256879:2:19","valueSize":1},{"declaration":34348,"isOffset":false,"isSlot":false,"src":"256908:2:19","valueSize":1},{"declaration":34351,"isOffset":false,"isSlot":false,"src":"256937:2:19","valueSize":1},{"declaration":34354,"isOffset":false,"isSlot":false,"src":"256966:2:19","valueSize":1}],"id":34362,"nodeType":"InlineAssembly","src":"256814:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"256116:3:19","parameters":{"id":34339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34332,"mutability":"mutable","name":"p0","nameLocation":"256128:2:19","nodeType":"VariableDeclaration","scope":34364,"src":"256120:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34331,"name":"uint256","nodeType":"ElementaryTypeName","src":"256120:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34334,"mutability":"mutable","name":"p1","nameLocation":"256140:2:19","nodeType":"VariableDeclaration","scope":34364,"src":"256132:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34333,"name":"address","nodeType":"ElementaryTypeName","src":"256132:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34336,"mutability":"mutable","name":"p2","nameLocation":"256152:2:19","nodeType":"VariableDeclaration","scope":34364,"src":"256144:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34335,"name":"uint256","nodeType":"ElementaryTypeName","src":"256144:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34338,"mutability":"mutable","name":"p3","nameLocation":"256164:2:19","nodeType":"VariableDeclaration","scope":34364,"src":"256156:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34337,"name":"address","nodeType":"ElementaryTypeName","src":"256156:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"256119:48:19"},"returnParameters":{"id":34340,"nodeType":"ParameterList","parameters":[],"src":"256182:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34398,"nodeType":"FunctionDefinition","src":"256991:872:19","nodes":[],"body":{"id":34397,"nodeType":"Block","src":"257063:800:19","nodes":[],"statements":[{"assignments":[34376],"declarations":[{"constant":false,"id":34376,"mutability":"mutable","name":"m0","nameLocation":"257081:2:19","nodeType":"VariableDeclaration","scope":34397,"src":"257073:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34375,"name":"bytes32","nodeType":"ElementaryTypeName","src":"257073:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34377,"nodeType":"VariableDeclarationStatement","src":"257073:10:19"},{"assignments":[34379],"declarations":[{"constant":false,"id":34379,"mutability":"mutable","name":"m1","nameLocation":"257101:2:19","nodeType":"VariableDeclaration","scope":34397,"src":"257093:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34378,"name":"bytes32","nodeType":"ElementaryTypeName","src":"257093:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34380,"nodeType":"VariableDeclarationStatement","src":"257093:10:19"},{"assignments":[34382],"declarations":[{"constant":false,"id":34382,"mutability":"mutable","name":"m2","nameLocation":"257121:2:19","nodeType":"VariableDeclaration","scope":34397,"src":"257113:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34381,"name":"bytes32","nodeType":"ElementaryTypeName","src":"257113:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34383,"nodeType":"VariableDeclarationStatement","src":"257113:10:19"},{"assignments":[34385],"declarations":[{"constant":false,"id":34385,"mutability":"mutable","name":"m3","nameLocation":"257141:2:19","nodeType":"VariableDeclaration","scope":34397,"src":"257133:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34384,"name":"bytes32","nodeType":"ElementaryTypeName","src":"257133:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34386,"nodeType":"VariableDeclarationStatement","src":"257133:10:19"},{"assignments":[34388],"declarations":[{"constant":false,"id":34388,"mutability":"mutable","name":"m4","nameLocation":"257161:2:19","nodeType":"VariableDeclaration","scope":34397,"src":"257153:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34387,"name":"bytes32","nodeType":"ElementaryTypeName","src":"257153:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34389,"nodeType":"VariableDeclarationStatement","src":"257153:10:19"},{"AST":{"nativeSrc":"257225:378:19","nodeType":"YulBlock","src":"257225:378:19","statements":[{"nativeSrc":"257239:17:19","nodeType":"YulAssignment","src":"257239:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"257251:4:19","nodeType":"YulLiteral","src":"257251:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"257245:5:19","nodeType":"YulIdentifier","src":"257245:5:19"},"nativeSrc":"257245:11:19","nodeType":"YulFunctionCall","src":"257245:11:19"},"variableNames":[{"name":"m0","nativeSrc":"257239:2:19","nodeType":"YulIdentifier","src":"257239:2:19"}]},{"nativeSrc":"257269:17:19","nodeType":"YulAssignment","src":"257269:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"257281:4:19","nodeType":"YulLiteral","src":"257281:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"257275:5:19","nodeType":"YulIdentifier","src":"257275:5:19"},"nativeSrc":"257275:11:19","nodeType":"YulFunctionCall","src":"257275:11:19"},"variableNames":[{"name":"m1","nativeSrc":"257269:2:19","nodeType":"YulIdentifier","src":"257269:2:19"}]},{"nativeSrc":"257299:17:19","nodeType":"YulAssignment","src":"257299:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"257311:4:19","nodeType":"YulLiteral","src":"257311:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"257305:5:19","nodeType":"YulIdentifier","src":"257305:5:19"},"nativeSrc":"257305:11:19","nodeType":"YulFunctionCall","src":"257305:11:19"},"variableNames":[{"name":"m2","nativeSrc":"257299:2:19","nodeType":"YulIdentifier","src":"257299:2:19"}]},{"nativeSrc":"257329:17:19","nodeType":"YulAssignment","src":"257329:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"257341:4:19","nodeType":"YulLiteral","src":"257341:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"257335:5:19","nodeType":"YulIdentifier","src":"257335:5:19"},"nativeSrc":"257335:11:19","nodeType":"YulFunctionCall","src":"257335:11:19"},"variableNames":[{"name":"m3","nativeSrc":"257329:2:19","nodeType":"YulIdentifier","src":"257329:2:19"}]},{"nativeSrc":"257359:17:19","nodeType":"YulAssignment","src":"257359:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"257371:4:19","nodeType":"YulLiteral","src":"257371:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"257365:5:19","nodeType":"YulIdentifier","src":"257365:5:19"},"nativeSrc":"257365:11:19","nodeType":"YulFunctionCall","src":"257365:11:19"},"variableNames":[{"name":"m4","nativeSrc":"257359:2:19","nodeType":"YulIdentifier","src":"257359:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257460:4:19","nodeType":"YulLiteral","src":"257460:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"257466:10:19","nodeType":"YulLiteral","src":"257466:10:19","type":"","value":"0x5f743a7c"}],"functionName":{"name":"mstore","nativeSrc":"257453:6:19","nodeType":"YulIdentifier","src":"257453:6:19"},"nativeSrc":"257453:24:19","nodeType":"YulFunctionCall","src":"257453:24:19"},"nativeSrc":"257453:24:19","nodeType":"YulExpressionStatement","src":"257453:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257497:4:19","nodeType":"YulLiteral","src":"257497:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"257503:2:19","nodeType":"YulIdentifier","src":"257503:2:19"}],"functionName":{"name":"mstore","nativeSrc":"257490:6:19","nodeType":"YulIdentifier","src":"257490:6:19"},"nativeSrc":"257490:16:19","nodeType":"YulFunctionCall","src":"257490:16:19"},"nativeSrc":"257490:16:19","nodeType":"YulExpressionStatement","src":"257490:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257526:4:19","nodeType":"YulLiteral","src":"257526:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"257532:2:19","nodeType":"YulIdentifier","src":"257532:2:19"}],"functionName":{"name":"mstore","nativeSrc":"257519:6:19","nodeType":"YulIdentifier","src":"257519:6:19"},"nativeSrc":"257519:16:19","nodeType":"YulFunctionCall","src":"257519:16:19"},"nativeSrc":"257519:16:19","nodeType":"YulExpressionStatement","src":"257519:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257555:4:19","nodeType":"YulLiteral","src":"257555:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"257561:2:19","nodeType":"YulIdentifier","src":"257561:2:19"}],"functionName":{"name":"mstore","nativeSrc":"257548:6:19","nodeType":"YulIdentifier","src":"257548:6:19"},"nativeSrc":"257548:16:19","nodeType":"YulFunctionCall","src":"257548:16:19"},"nativeSrc":"257548:16:19","nodeType":"YulExpressionStatement","src":"257548:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257584:4:19","nodeType":"YulLiteral","src":"257584:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"257590:2:19","nodeType":"YulIdentifier","src":"257590:2:19"}],"functionName":{"name":"mstore","nativeSrc":"257577:6:19","nodeType":"YulIdentifier","src":"257577:6:19"},"nativeSrc":"257577:16:19","nodeType":"YulFunctionCall","src":"257577:16:19"},"nativeSrc":"257577:16:19","nodeType":"YulExpressionStatement","src":"257577:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34376,"isOffset":false,"isSlot":false,"src":"257239:2:19","valueSize":1},{"declaration":34379,"isOffset":false,"isSlot":false,"src":"257269:2:19","valueSize":1},{"declaration":34382,"isOffset":false,"isSlot":false,"src":"257299:2:19","valueSize":1},{"declaration":34385,"isOffset":false,"isSlot":false,"src":"257329:2:19","valueSize":1},{"declaration":34388,"isOffset":false,"isSlot":false,"src":"257359:2:19","valueSize":1},{"declaration":34366,"isOffset":false,"isSlot":false,"src":"257503:2:19","valueSize":1},{"declaration":34368,"isOffset":false,"isSlot":false,"src":"257532:2:19","valueSize":1},{"declaration":34370,"isOffset":false,"isSlot":false,"src":"257561:2:19","valueSize":1},{"declaration":34372,"isOffset":false,"isSlot":false,"src":"257590:2:19","valueSize":1}],"id":34390,"nodeType":"InlineAssembly","src":"257216:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"257628:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"257634:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":34391,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"257612:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"257612:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34395,"nodeType":"ExpressionStatement","src":"257612:27:19"},{"AST":{"nativeSrc":"257701:156:19","nodeType":"YulBlock","src":"257701:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"257722:4:19","nodeType":"YulLiteral","src":"257722:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"257728:2:19","nodeType":"YulIdentifier","src":"257728:2:19"}],"functionName":{"name":"mstore","nativeSrc":"257715:6:19","nodeType":"YulIdentifier","src":"257715:6:19"},"nativeSrc":"257715:16:19","nodeType":"YulFunctionCall","src":"257715:16:19"},"nativeSrc":"257715:16:19","nodeType":"YulExpressionStatement","src":"257715:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257751:4:19","nodeType":"YulLiteral","src":"257751:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"257757:2:19","nodeType":"YulIdentifier","src":"257757:2:19"}],"functionName":{"name":"mstore","nativeSrc":"257744:6:19","nodeType":"YulIdentifier","src":"257744:6:19"},"nativeSrc":"257744:16:19","nodeType":"YulFunctionCall","src":"257744:16:19"},"nativeSrc":"257744:16:19","nodeType":"YulExpressionStatement","src":"257744:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257780:4:19","nodeType":"YulLiteral","src":"257780:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"257786:2:19","nodeType":"YulIdentifier","src":"257786:2:19"}],"functionName":{"name":"mstore","nativeSrc":"257773:6:19","nodeType":"YulIdentifier","src":"257773:6:19"},"nativeSrc":"257773:16:19","nodeType":"YulFunctionCall","src":"257773:16:19"},"nativeSrc":"257773:16:19","nodeType":"YulExpressionStatement","src":"257773:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257809:4:19","nodeType":"YulLiteral","src":"257809:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"257815:2:19","nodeType":"YulIdentifier","src":"257815:2:19"}],"functionName":{"name":"mstore","nativeSrc":"257802:6:19","nodeType":"YulIdentifier","src":"257802:6:19"},"nativeSrc":"257802:16:19","nodeType":"YulFunctionCall","src":"257802:16:19"},"nativeSrc":"257802:16:19","nodeType":"YulExpressionStatement","src":"257802:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"257838:4:19","nodeType":"YulLiteral","src":"257838:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"257844:2:19","nodeType":"YulIdentifier","src":"257844:2:19"}],"functionName":{"name":"mstore","nativeSrc":"257831:6:19","nodeType":"YulIdentifier","src":"257831:6:19"},"nativeSrc":"257831:16:19","nodeType":"YulFunctionCall","src":"257831:16:19"},"nativeSrc":"257831:16:19","nodeType":"YulExpressionStatement","src":"257831:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34376,"isOffset":false,"isSlot":false,"src":"257728:2:19","valueSize":1},{"declaration":34379,"isOffset":false,"isSlot":false,"src":"257757:2:19","valueSize":1},{"declaration":34382,"isOffset":false,"isSlot":false,"src":"257786:2:19","valueSize":1},{"declaration":34385,"isOffset":false,"isSlot":false,"src":"257815:2:19","valueSize":1},{"declaration":34388,"isOffset":false,"isSlot":false,"src":"257844:2:19","valueSize":1}],"id":34396,"nodeType":"InlineAssembly","src":"257692:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"257000:3:19","parameters":{"id":34373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34366,"mutability":"mutable","name":"p0","nameLocation":"257012:2:19","nodeType":"VariableDeclaration","scope":34398,"src":"257004:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34365,"name":"uint256","nodeType":"ElementaryTypeName","src":"257004:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34368,"mutability":"mutable","name":"p1","nameLocation":"257024:2:19","nodeType":"VariableDeclaration","scope":34398,"src":"257016:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34367,"name":"address","nodeType":"ElementaryTypeName","src":"257016:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34370,"mutability":"mutable","name":"p2","nameLocation":"257036:2:19","nodeType":"VariableDeclaration","scope":34398,"src":"257028:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34369,"name":"uint256","nodeType":"ElementaryTypeName","src":"257028:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34372,"mutability":"mutable","name":"p3","nameLocation":"257045:2:19","nodeType":"VariableDeclaration","scope":34398,"src":"257040:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34371,"name":"bool","nodeType":"ElementaryTypeName","src":"257040:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"257003:45:19"},"returnParameters":{"id":34374,"nodeType":"ParameterList","parameters":[],"src":"257063:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34432,"nodeType":"FunctionDefinition","src":"257869:878:19","nodes":[],"body":{"id":34431,"nodeType":"Block","src":"257944:803:19","nodes":[],"statements":[{"assignments":[34410],"declarations":[{"constant":false,"id":34410,"mutability":"mutable","name":"m0","nameLocation":"257962:2:19","nodeType":"VariableDeclaration","scope":34431,"src":"257954:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34409,"name":"bytes32","nodeType":"ElementaryTypeName","src":"257954:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34411,"nodeType":"VariableDeclarationStatement","src":"257954:10:19"},{"assignments":[34413],"declarations":[{"constant":false,"id":34413,"mutability":"mutable","name":"m1","nameLocation":"257982:2:19","nodeType":"VariableDeclaration","scope":34431,"src":"257974:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34412,"name":"bytes32","nodeType":"ElementaryTypeName","src":"257974:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34414,"nodeType":"VariableDeclarationStatement","src":"257974:10:19"},{"assignments":[34416],"declarations":[{"constant":false,"id":34416,"mutability":"mutable","name":"m2","nameLocation":"258002:2:19","nodeType":"VariableDeclaration","scope":34431,"src":"257994:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34415,"name":"bytes32","nodeType":"ElementaryTypeName","src":"257994:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34417,"nodeType":"VariableDeclarationStatement","src":"257994:10:19"},{"assignments":[34419],"declarations":[{"constant":false,"id":34419,"mutability":"mutable","name":"m3","nameLocation":"258022:2:19","nodeType":"VariableDeclaration","scope":34431,"src":"258014:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34418,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258014:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34420,"nodeType":"VariableDeclarationStatement","src":"258014:10:19"},{"assignments":[34422],"declarations":[{"constant":false,"id":34422,"mutability":"mutable","name":"m4","nameLocation":"258042:2:19","nodeType":"VariableDeclaration","scope":34431,"src":"258034:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34421,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258034:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34423,"nodeType":"VariableDeclarationStatement","src":"258034:10:19"},{"AST":{"nativeSrc":"258106:381:19","nodeType":"YulBlock","src":"258106:381:19","statements":[{"nativeSrc":"258120:17:19","nodeType":"YulAssignment","src":"258120:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"258132:4:19","nodeType":"YulLiteral","src":"258132:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"258126:5:19","nodeType":"YulIdentifier","src":"258126:5:19"},"nativeSrc":"258126:11:19","nodeType":"YulFunctionCall","src":"258126:11:19"},"variableNames":[{"name":"m0","nativeSrc":"258120:2:19","nodeType":"YulIdentifier","src":"258120:2:19"}]},{"nativeSrc":"258150:17:19","nodeType":"YulAssignment","src":"258150:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"258162:4:19","nodeType":"YulLiteral","src":"258162:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"258156:5:19","nodeType":"YulIdentifier","src":"258156:5:19"},"nativeSrc":"258156:11:19","nodeType":"YulFunctionCall","src":"258156:11:19"},"variableNames":[{"name":"m1","nativeSrc":"258150:2:19","nodeType":"YulIdentifier","src":"258150:2:19"}]},{"nativeSrc":"258180:17:19","nodeType":"YulAssignment","src":"258180:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"258192:4:19","nodeType":"YulLiteral","src":"258192:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"258186:5:19","nodeType":"YulIdentifier","src":"258186:5:19"},"nativeSrc":"258186:11:19","nodeType":"YulFunctionCall","src":"258186:11:19"},"variableNames":[{"name":"m2","nativeSrc":"258180:2:19","nodeType":"YulIdentifier","src":"258180:2:19"}]},{"nativeSrc":"258210:17:19","nodeType":"YulAssignment","src":"258210:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"258222:4:19","nodeType":"YulLiteral","src":"258222:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"258216:5:19","nodeType":"YulIdentifier","src":"258216:5:19"},"nativeSrc":"258216:11:19","nodeType":"YulFunctionCall","src":"258216:11:19"},"variableNames":[{"name":"m3","nativeSrc":"258210:2:19","nodeType":"YulIdentifier","src":"258210:2:19"}]},{"nativeSrc":"258240:17:19","nodeType":"YulAssignment","src":"258240:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"258252:4:19","nodeType":"YulLiteral","src":"258252:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"258246:5:19","nodeType":"YulIdentifier","src":"258246:5:19"},"nativeSrc":"258246:11:19","nodeType":"YulFunctionCall","src":"258246:11:19"},"variableNames":[{"name":"m4","nativeSrc":"258240:2:19","nodeType":"YulIdentifier","src":"258240:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258344:4:19","nodeType":"YulLiteral","src":"258344:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"258350:10:19","nodeType":"YulLiteral","src":"258350:10:19","type":"","value":"0x0c9cd9c1"}],"functionName":{"name":"mstore","nativeSrc":"258337:6:19","nodeType":"YulIdentifier","src":"258337:6:19"},"nativeSrc":"258337:24:19","nodeType":"YulFunctionCall","src":"258337:24:19"},"nativeSrc":"258337:24:19","nodeType":"YulExpressionStatement","src":"258337:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258381:4:19","nodeType":"YulLiteral","src":"258381:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"258387:2:19","nodeType":"YulIdentifier","src":"258387:2:19"}],"functionName":{"name":"mstore","nativeSrc":"258374:6:19","nodeType":"YulIdentifier","src":"258374:6:19"},"nativeSrc":"258374:16:19","nodeType":"YulFunctionCall","src":"258374:16:19"},"nativeSrc":"258374:16:19","nodeType":"YulExpressionStatement","src":"258374:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258410:4:19","nodeType":"YulLiteral","src":"258410:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"258416:2:19","nodeType":"YulIdentifier","src":"258416:2:19"}],"functionName":{"name":"mstore","nativeSrc":"258403:6:19","nodeType":"YulIdentifier","src":"258403:6:19"},"nativeSrc":"258403:16:19","nodeType":"YulFunctionCall","src":"258403:16:19"},"nativeSrc":"258403:16:19","nodeType":"YulExpressionStatement","src":"258403:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258439:4:19","nodeType":"YulLiteral","src":"258439:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"258445:2:19","nodeType":"YulIdentifier","src":"258445:2:19"}],"functionName":{"name":"mstore","nativeSrc":"258432:6:19","nodeType":"YulIdentifier","src":"258432:6:19"},"nativeSrc":"258432:16:19","nodeType":"YulFunctionCall","src":"258432:16:19"},"nativeSrc":"258432:16:19","nodeType":"YulExpressionStatement","src":"258432:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258468:4:19","nodeType":"YulLiteral","src":"258468:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"258474:2:19","nodeType":"YulIdentifier","src":"258474:2:19"}],"functionName":{"name":"mstore","nativeSrc":"258461:6:19","nodeType":"YulIdentifier","src":"258461:6:19"},"nativeSrc":"258461:16:19","nodeType":"YulFunctionCall","src":"258461:16:19"},"nativeSrc":"258461:16:19","nodeType":"YulExpressionStatement","src":"258461:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34410,"isOffset":false,"isSlot":false,"src":"258120:2:19","valueSize":1},{"declaration":34413,"isOffset":false,"isSlot":false,"src":"258150:2:19","valueSize":1},{"declaration":34416,"isOffset":false,"isSlot":false,"src":"258180:2:19","valueSize":1},{"declaration":34419,"isOffset":false,"isSlot":false,"src":"258210:2:19","valueSize":1},{"declaration":34422,"isOffset":false,"isSlot":false,"src":"258240:2:19","valueSize":1},{"declaration":34400,"isOffset":false,"isSlot":false,"src":"258387:2:19","valueSize":1},{"declaration":34402,"isOffset":false,"isSlot":false,"src":"258416:2:19","valueSize":1},{"declaration":34404,"isOffset":false,"isSlot":false,"src":"258445:2:19","valueSize":1},{"declaration":34406,"isOffset":false,"isSlot":false,"src":"258474:2:19","valueSize":1}],"id":34424,"nodeType":"InlineAssembly","src":"258097:390:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"258512:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"258518:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":34425,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"258496:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"258496:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34429,"nodeType":"ExpressionStatement","src":"258496:27:19"},{"AST":{"nativeSrc":"258585:156:19","nodeType":"YulBlock","src":"258585:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"258606:4:19","nodeType":"YulLiteral","src":"258606:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"258612:2:19","nodeType":"YulIdentifier","src":"258612:2:19"}],"functionName":{"name":"mstore","nativeSrc":"258599:6:19","nodeType":"YulIdentifier","src":"258599:6:19"},"nativeSrc":"258599:16:19","nodeType":"YulFunctionCall","src":"258599:16:19"},"nativeSrc":"258599:16:19","nodeType":"YulExpressionStatement","src":"258599:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258635:4:19","nodeType":"YulLiteral","src":"258635:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"258641:2:19","nodeType":"YulIdentifier","src":"258641:2:19"}],"functionName":{"name":"mstore","nativeSrc":"258628:6:19","nodeType":"YulIdentifier","src":"258628:6:19"},"nativeSrc":"258628:16:19","nodeType":"YulFunctionCall","src":"258628:16:19"},"nativeSrc":"258628:16:19","nodeType":"YulExpressionStatement","src":"258628:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258664:4:19","nodeType":"YulLiteral","src":"258664:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"258670:2:19","nodeType":"YulIdentifier","src":"258670:2:19"}],"functionName":{"name":"mstore","nativeSrc":"258657:6:19","nodeType":"YulIdentifier","src":"258657:6:19"},"nativeSrc":"258657:16:19","nodeType":"YulFunctionCall","src":"258657:16:19"},"nativeSrc":"258657:16:19","nodeType":"YulExpressionStatement","src":"258657:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258693:4:19","nodeType":"YulLiteral","src":"258693:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"258699:2:19","nodeType":"YulIdentifier","src":"258699:2:19"}],"functionName":{"name":"mstore","nativeSrc":"258686:6:19","nodeType":"YulIdentifier","src":"258686:6:19"},"nativeSrc":"258686:16:19","nodeType":"YulFunctionCall","src":"258686:16:19"},"nativeSrc":"258686:16:19","nodeType":"YulExpressionStatement","src":"258686:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"258722:4:19","nodeType":"YulLiteral","src":"258722:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"258728:2:19","nodeType":"YulIdentifier","src":"258728:2:19"}],"functionName":{"name":"mstore","nativeSrc":"258715:6:19","nodeType":"YulIdentifier","src":"258715:6:19"},"nativeSrc":"258715:16:19","nodeType":"YulFunctionCall","src":"258715:16:19"},"nativeSrc":"258715:16:19","nodeType":"YulExpressionStatement","src":"258715:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34410,"isOffset":false,"isSlot":false,"src":"258612:2:19","valueSize":1},{"declaration":34413,"isOffset":false,"isSlot":false,"src":"258641:2:19","valueSize":1},{"declaration":34416,"isOffset":false,"isSlot":false,"src":"258670:2:19","valueSize":1},{"declaration":34419,"isOffset":false,"isSlot":false,"src":"258699:2:19","valueSize":1},{"declaration":34422,"isOffset":false,"isSlot":false,"src":"258728:2:19","valueSize":1}],"id":34430,"nodeType":"InlineAssembly","src":"258576:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"257878:3:19","parameters":{"id":34407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34400,"mutability":"mutable","name":"p0","nameLocation":"257890:2:19","nodeType":"VariableDeclaration","scope":34432,"src":"257882:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34399,"name":"uint256","nodeType":"ElementaryTypeName","src":"257882:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34402,"mutability":"mutable","name":"p1","nameLocation":"257902:2:19","nodeType":"VariableDeclaration","scope":34432,"src":"257894:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34401,"name":"address","nodeType":"ElementaryTypeName","src":"257894:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34404,"mutability":"mutable","name":"p2","nameLocation":"257914:2:19","nodeType":"VariableDeclaration","scope":34432,"src":"257906:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34403,"name":"uint256","nodeType":"ElementaryTypeName","src":"257906:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34406,"mutability":"mutable","name":"p3","nameLocation":"257926:2:19","nodeType":"VariableDeclaration","scope":34432,"src":"257918:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34405,"name":"uint256","nodeType":"ElementaryTypeName","src":"257918:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"257881:48:19"},"returnParameters":{"id":34408,"nodeType":"ParameterList","parameters":[],"src":"257944:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34472,"nodeType":"FunctionDefinition","src":"258753:1426:19","nodes":[],"body":{"id":34471,"nodeType":"Block","src":"258828:1351:19","nodes":[],"statements":[{"assignments":[34444],"declarations":[{"constant":false,"id":34444,"mutability":"mutable","name":"m0","nameLocation":"258846:2:19","nodeType":"VariableDeclaration","scope":34471,"src":"258838:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34443,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258838:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34445,"nodeType":"VariableDeclarationStatement","src":"258838:10:19"},{"assignments":[34447],"declarations":[{"constant":false,"id":34447,"mutability":"mutable","name":"m1","nameLocation":"258866:2:19","nodeType":"VariableDeclaration","scope":34471,"src":"258858:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34446,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258858:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34448,"nodeType":"VariableDeclarationStatement","src":"258858:10:19"},{"assignments":[34450],"declarations":[{"constant":false,"id":34450,"mutability":"mutable","name":"m2","nameLocation":"258886:2:19","nodeType":"VariableDeclaration","scope":34471,"src":"258878:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34449,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258878:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34451,"nodeType":"VariableDeclarationStatement","src":"258878:10:19"},{"assignments":[34453],"declarations":[{"constant":false,"id":34453,"mutability":"mutable","name":"m3","nameLocation":"258906:2:19","nodeType":"VariableDeclaration","scope":34471,"src":"258898:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34452,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258898:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34454,"nodeType":"VariableDeclarationStatement","src":"258898:10:19"},{"assignments":[34456],"declarations":[{"constant":false,"id":34456,"mutability":"mutable","name":"m4","nameLocation":"258926:2:19","nodeType":"VariableDeclaration","scope":34471,"src":"258918:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34455,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258918:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34457,"nodeType":"VariableDeclarationStatement","src":"258918:10:19"},{"assignments":[34459],"declarations":[{"constant":false,"id":34459,"mutability":"mutable","name":"m5","nameLocation":"258946:2:19","nodeType":"VariableDeclaration","scope":34471,"src":"258938:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34458,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258938:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34460,"nodeType":"VariableDeclarationStatement","src":"258938:10:19"},{"assignments":[34462],"declarations":[{"constant":false,"id":34462,"mutability":"mutable","name":"m6","nameLocation":"258966:2:19","nodeType":"VariableDeclaration","scope":34471,"src":"258958:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34461,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258958:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34463,"nodeType":"VariableDeclarationStatement","src":"258958:10:19"},{"AST":{"nativeSrc":"259030:831:19","nodeType":"YulBlock","src":"259030:831:19","statements":[{"body":{"nativeSrc":"259073:313:19","nodeType":"YulBlock","src":"259073:313:19","statements":[{"nativeSrc":"259091:15:19","nodeType":"YulVariableDeclaration","src":"259091:15:19","value":{"kind":"number","nativeSrc":"259105:1:19","nodeType":"YulLiteral","src":"259105:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"259095:6:19","nodeType":"YulTypedName","src":"259095:6:19","type":""}]},{"body":{"nativeSrc":"259176:40:19","nodeType":"YulBlock","src":"259176:40:19","statements":[{"body":{"nativeSrc":"259205:9:19","nodeType":"YulBlock","src":"259205:9:19","statements":[{"nativeSrc":"259207:5:19","nodeType":"YulBreak","src":"259207:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"259193:6:19","nodeType":"YulIdentifier","src":"259193:6:19"},{"name":"w","nativeSrc":"259201:1:19","nodeType":"YulIdentifier","src":"259201:1:19"}],"functionName":{"name":"byte","nativeSrc":"259188:4:19","nodeType":"YulIdentifier","src":"259188:4:19"},"nativeSrc":"259188:15:19","nodeType":"YulFunctionCall","src":"259188:15:19"}],"functionName":{"name":"iszero","nativeSrc":"259181:6:19","nodeType":"YulIdentifier","src":"259181:6:19"},"nativeSrc":"259181:23:19","nodeType":"YulFunctionCall","src":"259181:23:19"},"nativeSrc":"259178:36:19","nodeType":"YulIf","src":"259178:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"259133:6:19","nodeType":"YulIdentifier","src":"259133:6:19"},{"kind":"number","nativeSrc":"259141:4:19","nodeType":"YulLiteral","src":"259141:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"259130:2:19","nodeType":"YulIdentifier","src":"259130:2:19"},"nativeSrc":"259130:16:19","nodeType":"YulFunctionCall","src":"259130:16:19"},"nativeSrc":"259123:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"259147:28:19","nodeType":"YulBlock","src":"259147:28:19","statements":[{"nativeSrc":"259149:24:19","nodeType":"YulAssignment","src":"259149:24:19","value":{"arguments":[{"name":"length","nativeSrc":"259163:6:19","nodeType":"YulIdentifier","src":"259163:6:19"},{"kind":"number","nativeSrc":"259171:1:19","nodeType":"YulLiteral","src":"259171:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"259159:3:19","nodeType":"YulIdentifier","src":"259159:3:19"},"nativeSrc":"259159:14:19","nodeType":"YulFunctionCall","src":"259159:14:19"},"variableNames":[{"name":"length","nativeSrc":"259149:6:19","nodeType":"YulIdentifier","src":"259149:6:19"}]}]},"pre":{"nativeSrc":"259127:2:19","nodeType":"YulBlock","src":"259127:2:19","statements":[]},"src":"259123:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"259240:3:19","nodeType":"YulIdentifier","src":"259240:3:19"},{"name":"length","nativeSrc":"259245:6:19","nodeType":"YulIdentifier","src":"259245:6:19"}],"functionName":{"name":"mstore","nativeSrc":"259233:6:19","nodeType":"YulIdentifier","src":"259233:6:19"},"nativeSrc":"259233:19:19","nodeType":"YulFunctionCall","src":"259233:19:19"},"nativeSrc":"259233:19:19","nodeType":"YulExpressionStatement","src":"259233:19:19"},{"nativeSrc":"259269:37:19","nodeType":"YulVariableDeclaration","src":"259269:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"259286:3:19","nodeType":"YulLiteral","src":"259286:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"259295:1:19","nodeType":"YulLiteral","src":"259295:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"259298:6:19","nodeType":"YulIdentifier","src":"259298:6:19"}],"functionName":{"name":"shl","nativeSrc":"259291:3:19","nodeType":"YulIdentifier","src":"259291:3:19"},"nativeSrc":"259291:14:19","nodeType":"YulFunctionCall","src":"259291:14:19"}],"functionName":{"name":"sub","nativeSrc":"259282:3:19","nodeType":"YulIdentifier","src":"259282:3:19"},"nativeSrc":"259282:24:19","nodeType":"YulFunctionCall","src":"259282:24:19"},"variables":[{"name":"shift","nativeSrc":"259273:5:19","nodeType":"YulTypedName","src":"259273:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"259334:3:19","nodeType":"YulIdentifier","src":"259334:3:19"},{"kind":"number","nativeSrc":"259339:4:19","nodeType":"YulLiteral","src":"259339:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"259330:3:19","nodeType":"YulIdentifier","src":"259330:3:19"},"nativeSrc":"259330:14:19","nodeType":"YulFunctionCall","src":"259330:14:19"},{"arguments":[{"name":"shift","nativeSrc":"259350:5:19","nodeType":"YulIdentifier","src":"259350:5:19"},{"arguments":[{"name":"shift","nativeSrc":"259361:5:19","nodeType":"YulIdentifier","src":"259361:5:19"},{"name":"w","nativeSrc":"259368:1:19","nodeType":"YulIdentifier","src":"259368:1:19"}],"functionName":{"name":"shr","nativeSrc":"259357:3:19","nodeType":"YulIdentifier","src":"259357:3:19"},"nativeSrc":"259357:13:19","nodeType":"YulFunctionCall","src":"259357:13:19"}],"functionName":{"name":"shl","nativeSrc":"259346:3:19","nodeType":"YulIdentifier","src":"259346:3:19"},"nativeSrc":"259346:25:19","nodeType":"YulFunctionCall","src":"259346:25:19"}],"functionName":{"name":"mstore","nativeSrc":"259323:6:19","nodeType":"YulIdentifier","src":"259323:6:19"},"nativeSrc":"259323:49:19","nodeType":"YulFunctionCall","src":"259323:49:19"},"nativeSrc":"259323:49:19","nodeType":"YulExpressionStatement","src":"259323:49:19"}]},"name":"writeString","nativeSrc":"259044:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"259065:3:19","nodeType":"YulTypedName","src":"259065:3:19","type":""},{"name":"w","nativeSrc":"259070:1:19","nodeType":"YulTypedName","src":"259070:1:19","type":""}],"src":"259044:342:19"},{"nativeSrc":"259399:17:19","nodeType":"YulAssignment","src":"259399:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"259411:4:19","nodeType":"YulLiteral","src":"259411:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"259405:5:19","nodeType":"YulIdentifier","src":"259405:5:19"},"nativeSrc":"259405:11:19","nodeType":"YulFunctionCall","src":"259405:11:19"},"variableNames":[{"name":"m0","nativeSrc":"259399:2:19","nodeType":"YulIdentifier","src":"259399:2:19"}]},{"nativeSrc":"259429:17:19","nodeType":"YulAssignment","src":"259429:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"259441:4:19","nodeType":"YulLiteral","src":"259441:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"259435:5:19","nodeType":"YulIdentifier","src":"259435:5:19"},"nativeSrc":"259435:11:19","nodeType":"YulFunctionCall","src":"259435:11:19"},"variableNames":[{"name":"m1","nativeSrc":"259429:2:19","nodeType":"YulIdentifier","src":"259429:2:19"}]},{"nativeSrc":"259459:17:19","nodeType":"YulAssignment","src":"259459:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"259471:4:19","nodeType":"YulLiteral","src":"259471:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"259465:5:19","nodeType":"YulIdentifier","src":"259465:5:19"},"nativeSrc":"259465:11:19","nodeType":"YulFunctionCall","src":"259465:11:19"},"variableNames":[{"name":"m2","nativeSrc":"259459:2:19","nodeType":"YulIdentifier","src":"259459:2:19"}]},{"nativeSrc":"259489:17:19","nodeType":"YulAssignment","src":"259489:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"259501:4:19","nodeType":"YulLiteral","src":"259501:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"259495:5:19","nodeType":"YulIdentifier","src":"259495:5:19"},"nativeSrc":"259495:11:19","nodeType":"YulFunctionCall","src":"259495:11:19"},"variableNames":[{"name":"m3","nativeSrc":"259489:2:19","nodeType":"YulIdentifier","src":"259489:2:19"}]},{"nativeSrc":"259519:17:19","nodeType":"YulAssignment","src":"259519:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"259531:4:19","nodeType":"YulLiteral","src":"259531:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"259525:5:19","nodeType":"YulIdentifier","src":"259525:5:19"},"nativeSrc":"259525:11:19","nodeType":"YulFunctionCall","src":"259525:11:19"},"variableNames":[{"name":"m4","nativeSrc":"259519:2:19","nodeType":"YulIdentifier","src":"259519:2:19"}]},{"nativeSrc":"259549:17:19","nodeType":"YulAssignment","src":"259549:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"259561:4:19","nodeType":"YulLiteral","src":"259561:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"259555:5:19","nodeType":"YulIdentifier","src":"259555:5:19"},"nativeSrc":"259555:11:19","nodeType":"YulFunctionCall","src":"259555:11:19"},"variableNames":[{"name":"m5","nativeSrc":"259549:2:19","nodeType":"YulIdentifier","src":"259549:2:19"}]},{"nativeSrc":"259579:17:19","nodeType":"YulAssignment","src":"259579:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"259591:4:19","nodeType":"YulLiteral","src":"259591:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"259585:5:19","nodeType":"YulIdentifier","src":"259585:5:19"},"nativeSrc":"259585:11:19","nodeType":"YulFunctionCall","src":"259585:11:19"},"variableNames":[{"name":"m6","nativeSrc":"259579:2:19","nodeType":"YulIdentifier","src":"259579:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"259682:4:19","nodeType":"YulLiteral","src":"259682:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"259688:10:19","nodeType":"YulLiteral","src":"259688:10:19","type":"","value":"0xddb06521"}],"functionName":{"name":"mstore","nativeSrc":"259675:6:19","nodeType":"YulIdentifier","src":"259675:6:19"},"nativeSrc":"259675:24:19","nodeType":"YulFunctionCall","src":"259675:24:19"},"nativeSrc":"259675:24:19","nodeType":"YulExpressionStatement","src":"259675:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"259719:4:19","nodeType":"YulLiteral","src":"259719:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"259725:2:19","nodeType":"YulIdentifier","src":"259725:2:19"}],"functionName":{"name":"mstore","nativeSrc":"259712:6:19","nodeType":"YulIdentifier","src":"259712:6:19"},"nativeSrc":"259712:16:19","nodeType":"YulFunctionCall","src":"259712:16:19"},"nativeSrc":"259712:16:19","nodeType":"YulExpressionStatement","src":"259712:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"259748:4:19","nodeType":"YulLiteral","src":"259748:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"259754:2:19","nodeType":"YulIdentifier","src":"259754:2:19"}],"functionName":{"name":"mstore","nativeSrc":"259741:6:19","nodeType":"YulIdentifier","src":"259741:6:19"},"nativeSrc":"259741:16:19","nodeType":"YulFunctionCall","src":"259741:16:19"},"nativeSrc":"259741:16:19","nodeType":"YulExpressionStatement","src":"259741:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"259777:4:19","nodeType":"YulLiteral","src":"259777:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"259783:2:19","nodeType":"YulIdentifier","src":"259783:2:19"}],"functionName":{"name":"mstore","nativeSrc":"259770:6:19","nodeType":"YulIdentifier","src":"259770:6:19"},"nativeSrc":"259770:16:19","nodeType":"YulFunctionCall","src":"259770:16:19"},"nativeSrc":"259770:16:19","nodeType":"YulExpressionStatement","src":"259770:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"259806:4:19","nodeType":"YulLiteral","src":"259806:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"259812:4:19","nodeType":"YulLiteral","src":"259812:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"259799:6:19","nodeType":"YulIdentifier","src":"259799:6:19"},"nativeSrc":"259799:18:19","nodeType":"YulFunctionCall","src":"259799:18:19"},"nativeSrc":"259799:18:19","nodeType":"YulExpressionStatement","src":"259799:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"259842:4:19","nodeType":"YulLiteral","src":"259842:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"259848:2:19","nodeType":"YulIdentifier","src":"259848:2:19"}],"functionName":{"name":"writeString","nativeSrc":"259830:11:19","nodeType":"YulIdentifier","src":"259830:11:19"},"nativeSrc":"259830:21:19","nodeType":"YulFunctionCall","src":"259830:21:19"},"nativeSrc":"259830:21:19","nodeType":"YulExpressionStatement","src":"259830:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34444,"isOffset":false,"isSlot":false,"src":"259399:2:19","valueSize":1},{"declaration":34447,"isOffset":false,"isSlot":false,"src":"259429:2:19","valueSize":1},{"declaration":34450,"isOffset":false,"isSlot":false,"src":"259459:2:19","valueSize":1},{"declaration":34453,"isOffset":false,"isSlot":false,"src":"259489:2:19","valueSize":1},{"declaration":34456,"isOffset":false,"isSlot":false,"src":"259519:2:19","valueSize":1},{"declaration":34459,"isOffset":false,"isSlot":false,"src":"259549:2:19","valueSize":1},{"declaration":34462,"isOffset":false,"isSlot":false,"src":"259579:2:19","valueSize":1},{"declaration":34434,"isOffset":false,"isSlot":false,"src":"259725:2:19","valueSize":1},{"declaration":34436,"isOffset":false,"isSlot":false,"src":"259754:2:19","valueSize":1},{"declaration":34438,"isOffset":false,"isSlot":false,"src":"259783:2:19","valueSize":1},{"declaration":34440,"isOffset":false,"isSlot":false,"src":"259848:2:19","valueSize":1}],"id":34464,"nodeType":"InlineAssembly","src":"259021:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"259886:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"259892:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":34465,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"259870:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"259870:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34469,"nodeType":"ExpressionStatement","src":"259870:27:19"},{"AST":{"nativeSrc":"259959:214:19","nodeType":"YulBlock","src":"259959:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"259980:4:19","nodeType":"YulLiteral","src":"259980:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"259986:2:19","nodeType":"YulIdentifier","src":"259986:2:19"}],"functionName":{"name":"mstore","nativeSrc":"259973:6:19","nodeType":"YulIdentifier","src":"259973:6:19"},"nativeSrc":"259973:16:19","nodeType":"YulFunctionCall","src":"259973:16:19"},"nativeSrc":"259973:16:19","nodeType":"YulExpressionStatement","src":"259973:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"260009:4:19","nodeType":"YulLiteral","src":"260009:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"260015:2:19","nodeType":"YulIdentifier","src":"260015:2:19"}],"functionName":{"name":"mstore","nativeSrc":"260002:6:19","nodeType":"YulIdentifier","src":"260002:6:19"},"nativeSrc":"260002:16:19","nodeType":"YulFunctionCall","src":"260002:16:19"},"nativeSrc":"260002:16:19","nodeType":"YulExpressionStatement","src":"260002:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"260038:4:19","nodeType":"YulLiteral","src":"260038:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"260044:2:19","nodeType":"YulIdentifier","src":"260044:2:19"}],"functionName":{"name":"mstore","nativeSrc":"260031:6:19","nodeType":"YulIdentifier","src":"260031:6:19"},"nativeSrc":"260031:16:19","nodeType":"YulFunctionCall","src":"260031:16:19"},"nativeSrc":"260031:16:19","nodeType":"YulExpressionStatement","src":"260031:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"260067:4:19","nodeType":"YulLiteral","src":"260067:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"260073:2:19","nodeType":"YulIdentifier","src":"260073:2:19"}],"functionName":{"name":"mstore","nativeSrc":"260060:6:19","nodeType":"YulIdentifier","src":"260060:6:19"},"nativeSrc":"260060:16:19","nodeType":"YulFunctionCall","src":"260060:16:19"},"nativeSrc":"260060:16:19","nodeType":"YulExpressionStatement","src":"260060:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"260096:4:19","nodeType":"YulLiteral","src":"260096:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"260102:2:19","nodeType":"YulIdentifier","src":"260102:2:19"}],"functionName":{"name":"mstore","nativeSrc":"260089:6:19","nodeType":"YulIdentifier","src":"260089:6:19"},"nativeSrc":"260089:16:19","nodeType":"YulFunctionCall","src":"260089:16:19"},"nativeSrc":"260089:16:19","nodeType":"YulExpressionStatement","src":"260089:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"260125:4:19","nodeType":"YulLiteral","src":"260125:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"260131:2:19","nodeType":"YulIdentifier","src":"260131:2:19"}],"functionName":{"name":"mstore","nativeSrc":"260118:6:19","nodeType":"YulIdentifier","src":"260118:6:19"},"nativeSrc":"260118:16:19","nodeType":"YulFunctionCall","src":"260118:16:19"},"nativeSrc":"260118:16:19","nodeType":"YulExpressionStatement","src":"260118:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"260154:4:19","nodeType":"YulLiteral","src":"260154:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"260160:2:19","nodeType":"YulIdentifier","src":"260160:2:19"}],"functionName":{"name":"mstore","nativeSrc":"260147:6:19","nodeType":"YulIdentifier","src":"260147:6:19"},"nativeSrc":"260147:16:19","nodeType":"YulFunctionCall","src":"260147:16:19"},"nativeSrc":"260147:16:19","nodeType":"YulExpressionStatement","src":"260147:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34444,"isOffset":false,"isSlot":false,"src":"259986:2:19","valueSize":1},{"declaration":34447,"isOffset":false,"isSlot":false,"src":"260015:2:19","valueSize":1},{"declaration":34450,"isOffset":false,"isSlot":false,"src":"260044:2:19","valueSize":1},{"declaration":34453,"isOffset":false,"isSlot":false,"src":"260073:2:19","valueSize":1},{"declaration":34456,"isOffset":false,"isSlot":false,"src":"260102:2:19","valueSize":1},{"declaration":34459,"isOffset":false,"isSlot":false,"src":"260131:2:19","valueSize":1},{"declaration":34462,"isOffset":false,"isSlot":false,"src":"260160:2:19","valueSize":1}],"id":34470,"nodeType":"InlineAssembly","src":"259950:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"258762:3:19","parameters":{"id":34441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34434,"mutability":"mutable","name":"p0","nameLocation":"258774:2:19","nodeType":"VariableDeclaration","scope":34472,"src":"258766:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34433,"name":"uint256","nodeType":"ElementaryTypeName","src":"258766:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34436,"mutability":"mutable","name":"p1","nameLocation":"258786:2:19","nodeType":"VariableDeclaration","scope":34472,"src":"258778:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34435,"name":"address","nodeType":"ElementaryTypeName","src":"258778:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34438,"mutability":"mutable","name":"p2","nameLocation":"258798:2:19","nodeType":"VariableDeclaration","scope":34472,"src":"258790:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34437,"name":"uint256","nodeType":"ElementaryTypeName","src":"258790:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34440,"mutability":"mutable","name":"p3","nameLocation":"258810:2:19","nodeType":"VariableDeclaration","scope":34472,"src":"258802:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34439,"name":"bytes32","nodeType":"ElementaryTypeName","src":"258802:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"258765:48:19"},"returnParameters":{"id":34442,"nodeType":"ParameterList","parameters":[],"src":"258828:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34512,"nodeType":"FunctionDefinition","src":"260185:1426:19","nodes":[],"body":{"id":34511,"nodeType":"Block","src":"260260:1351:19","nodes":[],"statements":[{"assignments":[34484],"declarations":[{"constant":false,"id":34484,"mutability":"mutable","name":"m0","nameLocation":"260278:2:19","nodeType":"VariableDeclaration","scope":34511,"src":"260270:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34483,"name":"bytes32","nodeType":"ElementaryTypeName","src":"260270:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34485,"nodeType":"VariableDeclarationStatement","src":"260270:10:19"},{"assignments":[34487],"declarations":[{"constant":false,"id":34487,"mutability":"mutable","name":"m1","nameLocation":"260298:2:19","nodeType":"VariableDeclaration","scope":34511,"src":"260290:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34486,"name":"bytes32","nodeType":"ElementaryTypeName","src":"260290:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34488,"nodeType":"VariableDeclarationStatement","src":"260290:10:19"},{"assignments":[34490],"declarations":[{"constant":false,"id":34490,"mutability":"mutable","name":"m2","nameLocation":"260318:2:19","nodeType":"VariableDeclaration","scope":34511,"src":"260310:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34489,"name":"bytes32","nodeType":"ElementaryTypeName","src":"260310:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34491,"nodeType":"VariableDeclarationStatement","src":"260310:10:19"},{"assignments":[34493],"declarations":[{"constant":false,"id":34493,"mutability":"mutable","name":"m3","nameLocation":"260338:2:19","nodeType":"VariableDeclaration","scope":34511,"src":"260330:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34492,"name":"bytes32","nodeType":"ElementaryTypeName","src":"260330:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34494,"nodeType":"VariableDeclarationStatement","src":"260330:10:19"},{"assignments":[34496],"declarations":[{"constant":false,"id":34496,"mutability":"mutable","name":"m4","nameLocation":"260358:2:19","nodeType":"VariableDeclaration","scope":34511,"src":"260350:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34495,"name":"bytes32","nodeType":"ElementaryTypeName","src":"260350:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34497,"nodeType":"VariableDeclarationStatement","src":"260350:10:19"},{"assignments":[34499],"declarations":[{"constant":false,"id":34499,"mutability":"mutable","name":"m5","nameLocation":"260378:2:19","nodeType":"VariableDeclaration","scope":34511,"src":"260370:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34498,"name":"bytes32","nodeType":"ElementaryTypeName","src":"260370:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34500,"nodeType":"VariableDeclarationStatement","src":"260370:10:19"},{"assignments":[34502],"declarations":[{"constant":false,"id":34502,"mutability":"mutable","name":"m6","nameLocation":"260398:2:19","nodeType":"VariableDeclaration","scope":34511,"src":"260390:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34501,"name":"bytes32","nodeType":"ElementaryTypeName","src":"260390:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34503,"nodeType":"VariableDeclarationStatement","src":"260390:10:19"},{"AST":{"nativeSrc":"260462:831:19","nodeType":"YulBlock","src":"260462:831:19","statements":[{"body":{"nativeSrc":"260505:313:19","nodeType":"YulBlock","src":"260505:313:19","statements":[{"nativeSrc":"260523:15:19","nodeType":"YulVariableDeclaration","src":"260523:15:19","value":{"kind":"number","nativeSrc":"260537:1:19","nodeType":"YulLiteral","src":"260537:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"260527:6:19","nodeType":"YulTypedName","src":"260527:6:19","type":""}]},{"body":{"nativeSrc":"260608:40:19","nodeType":"YulBlock","src":"260608:40:19","statements":[{"body":{"nativeSrc":"260637:9:19","nodeType":"YulBlock","src":"260637:9:19","statements":[{"nativeSrc":"260639:5:19","nodeType":"YulBreak","src":"260639:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"260625:6:19","nodeType":"YulIdentifier","src":"260625:6:19"},{"name":"w","nativeSrc":"260633:1:19","nodeType":"YulIdentifier","src":"260633:1:19"}],"functionName":{"name":"byte","nativeSrc":"260620:4:19","nodeType":"YulIdentifier","src":"260620:4:19"},"nativeSrc":"260620:15:19","nodeType":"YulFunctionCall","src":"260620:15:19"}],"functionName":{"name":"iszero","nativeSrc":"260613:6:19","nodeType":"YulIdentifier","src":"260613:6:19"},"nativeSrc":"260613:23:19","nodeType":"YulFunctionCall","src":"260613:23:19"},"nativeSrc":"260610:36:19","nodeType":"YulIf","src":"260610:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"260565:6:19","nodeType":"YulIdentifier","src":"260565:6:19"},{"kind":"number","nativeSrc":"260573:4:19","nodeType":"YulLiteral","src":"260573:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"260562:2:19","nodeType":"YulIdentifier","src":"260562:2:19"},"nativeSrc":"260562:16:19","nodeType":"YulFunctionCall","src":"260562:16:19"},"nativeSrc":"260555:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"260579:28:19","nodeType":"YulBlock","src":"260579:28:19","statements":[{"nativeSrc":"260581:24:19","nodeType":"YulAssignment","src":"260581:24:19","value":{"arguments":[{"name":"length","nativeSrc":"260595:6:19","nodeType":"YulIdentifier","src":"260595:6:19"},{"kind":"number","nativeSrc":"260603:1:19","nodeType":"YulLiteral","src":"260603:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"260591:3:19","nodeType":"YulIdentifier","src":"260591:3:19"},"nativeSrc":"260591:14:19","nodeType":"YulFunctionCall","src":"260591:14:19"},"variableNames":[{"name":"length","nativeSrc":"260581:6:19","nodeType":"YulIdentifier","src":"260581:6:19"}]}]},"pre":{"nativeSrc":"260559:2:19","nodeType":"YulBlock","src":"260559:2:19","statements":[]},"src":"260555:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"260672:3:19","nodeType":"YulIdentifier","src":"260672:3:19"},{"name":"length","nativeSrc":"260677:6:19","nodeType":"YulIdentifier","src":"260677:6:19"}],"functionName":{"name":"mstore","nativeSrc":"260665:6:19","nodeType":"YulIdentifier","src":"260665:6:19"},"nativeSrc":"260665:19:19","nodeType":"YulFunctionCall","src":"260665:19:19"},"nativeSrc":"260665:19:19","nodeType":"YulExpressionStatement","src":"260665:19:19"},{"nativeSrc":"260701:37:19","nodeType":"YulVariableDeclaration","src":"260701:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"260718:3:19","nodeType":"YulLiteral","src":"260718:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"260727:1:19","nodeType":"YulLiteral","src":"260727:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"260730:6:19","nodeType":"YulIdentifier","src":"260730:6:19"}],"functionName":{"name":"shl","nativeSrc":"260723:3:19","nodeType":"YulIdentifier","src":"260723:3:19"},"nativeSrc":"260723:14:19","nodeType":"YulFunctionCall","src":"260723:14:19"}],"functionName":{"name":"sub","nativeSrc":"260714:3:19","nodeType":"YulIdentifier","src":"260714:3:19"},"nativeSrc":"260714:24:19","nodeType":"YulFunctionCall","src":"260714:24:19"},"variables":[{"name":"shift","nativeSrc":"260705:5:19","nodeType":"YulTypedName","src":"260705:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"260766:3:19","nodeType":"YulIdentifier","src":"260766:3:19"},{"kind":"number","nativeSrc":"260771:4:19","nodeType":"YulLiteral","src":"260771:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"260762:3:19","nodeType":"YulIdentifier","src":"260762:3:19"},"nativeSrc":"260762:14:19","nodeType":"YulFunctionCall","src":"260762:14:19"},{"arguments":[{"name":"shift","nativeSrc":"260782:5:19","nodeType":"YulIdentifier","src":"260782:5:19"},{"arguments":[{"name":"shift","nativeSrc":"260793:5:19","nodeType":"YulIdentifier","src":"260793:5:19"},{"name":"w","nativeSrc":"260800:1:19","nodeType":"YulIdentifier","src":"260800:1:19"}],"functionName":{"name":"shr","nativeSrc":"260789:3:19","nodeType":"YulIdentifier","src":"260789:3:19"},"nativeSrc":"260789:13:19","nodeType":"YulFunctionCall","src":"260789:13:19"}],"functionName":{"name":"shl","nativeSrc":"260778:3:19","nodeType":"YulIdentifier","src":"260778:3:19"},"nativeSrc":"260778:25:19","nodeType":"YulFunctionCall","src":"260778:25:19"}],"functionName":{"name":"mstore","nativeSrc":"260755:6:19","nodeType":"YulIdentifier","src":"260755:6:19"},"nativeSrc":"260755:49:19","nodeType":"YulFunctionCall","src":"260755:49:19"},"nativeSrc":"260755:49:19","nodeType":"YulExpressionStatement","src":"260755:49:19"}]},"name":"writeString","nativeSrc":"260476:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"260497:3:19","nodeType":"YulTypedName","src":"260497:3:19","type":""},{"name":"w","nativeSrc":"260502:1:19","nodeType":"YulTypedName","src":"260502:1:19","type":""}],"src":"260476:342:19"},{"nativeSrc":"260831:17:19","nodeType":"YulAssignment","src":"260831:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"260843:4:19","nodeType":"YulLiteral","src":"260843:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"260837:5:19","nodeType":"YulIdentifier","src":"260837:5:19"},"nativeSrc":"260837:11:19","nodeType":"YulFunctionCall","src":"260837:11:19"},"variableNames":[{"name":"m0","nativeSrc":"260831:2:19","nodeType":"YulIdentifier","src":"260831:2:19"}]},{"nativeSrc":"260861:17:19","nodeType":"YulAssignment","src":"260861:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"260873:4:19","nodeType":"YulLiteral","src":"260873:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"260867:5:19","nodeType":"YulIdentifier","src":"260867:5:19"},"nativeSrc":"260867:11:19","nodeType":"YulFunctionCall","src":"260867:11:19"},"variableNames":[{"name":"m1","nativeSrc":"260861:2:19","nodeType":"YulIdentifier","src":"260861:2:19"}]},{"nativeSrc":"260891:17:19","nodeType":"YulAssignment","src":"260891:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"260903:4:19","nodeType":"YulLiteral","src":"260903:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"260897:5:19","nodeType":"YulIdentifier","src":"260897:5:19"},"nativeSrc":"260897:11:19","nodeType":"YulFunctionCall","src":"260897:11:19"},"variableNames":[{"name":"m2","nativeSrc":"260891:2:19","nodeType":"YulIdentifier","src":"260891:2:19"}]},{"nativeSrc":"260921:17:19","nodeType":"YulAssignment","src":"260921:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"260933:4:19","nodeType":"YulLiteral","src":"260933:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"260927:5:19","nodeType":"YulIdentifier","src":"260927:5:19"},"nativeSrc":"260927:11:19","nodeType":"YulFunctionCall","src":"260927:11:19"},"variableNames":[{"name":"m3","nativeSrc":"260921:2:19","nodeType":"YulIdentifier","src":"260921:2:19"}]},{"nativeSrc":"260951:17:19","nodeType":"YulAssignment","src":"260951:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"260963:4:19","nodeType":"YulLiteral","src":"260963:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"260957:5:19","nodeType":"YulIdentifier","src":"260957:5:19"},"nativeSrc":"260957:11:19","nodeType":"YulFunctionCall","src":"260957:11:19"},"variableNames":[{"name":"m4","nativeSrc":"260951:2:19","nodeType":"YulIdentifier","src":"260951:2:19"}]},{"nativeSrc":"260981:17:19","nodeType":"YulAssignment","src":"260981:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"260993:4:19","nodeType":"YulLiteral","src":"260993:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"260987:5:19","nodeType":"YulIdentifier","src":"260987:5:19"},"nativeSrc":"260987:11:19","nodeType":"YulFunctionCall","src":"260987:11:19"},"variableNames":[{"name":"m5","nativeSrc":"260981:2:19","nodeType":"YulIdentifier","src":"260981:2:19"}]},{"nativeSrc":"261011:17:19","nodeType":"YulAssignment","src":"261011:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"261023:4:19","nodeType":"YulLiteral","src":"261023:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"261017:5:19","nodeType":"YulIdentifier","src":"261017:5:19"},"nativeSrc":"261017:11:19","nodeType":"YulFunctionCall","src":"261017:11:19"},"variableNames":[{"name":"m6","nativeSrc":"261011:2:19","nodeType":"YulIdentifier","src":"261011:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261114:4:19","nodeType":"YulLiteral","src":"261114:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"261120:10:19","nodeType":"YulLiteral","src":"261120:10:19","type":"","value":"0x9cba8fff"}],"functionName":{"name":"mstore","nativeSrc":"261107:6:19","nodeType":"YulIdentifier","src":"261107:6:19"},"nativeSrc":"261107:24:19","nodeType":"YulFunctionCall","src":"261107:24:19"},"nativeSrc":"261107:24:19","nodeType":"YulExpressionStatement","src":"261107:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261151:4:19","nodeType":"YulLiteral","src":"261151:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"261157:2:19","nodeType":"YulIdentifier","src":"261157:2:19"}],"functionName":{"name":"mstore","nativeSrc":"261144:6:19","nodeType":"YulIdentifier","src":"261144:6:19"},"nativeSrc":"261144:16:19","nodeType":"YulFunctionCall","src":"261144:16:19"},"nativeSrc":"261144:16:19","nodeType":"YulExpressionStatement","src":"261144:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261180:4:19","nodeType":"YulLiteral","src":"261180:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"261186:2:19","nodeType":"YulIdentifier","src":"261186:2:19"}],"functionName":{"name":"mstore","nativeSrc":"261173:6:19","nodeType":"YulIdentifier","src":"261173:6:19"},"nativeSrc":"261173:16:19","nodeType":"YulFunctionCall","src":"261173:16:19"},"nativeSrc":"261173:16:19","nodeType":"YulExpressionStatement","src":"261173:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261209:4:19","nodeType":"YulLiteral","src":"261209:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"261215:4:19","nodeType":"YulLiteral","src":"261215:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"261202:6:19","nodeType":"YulIdentifier","src":"261202:6:19"},"nativeSrc":"261202:18:19","nodeType":"YulFunctionCall","src":"261202:18:19"},"nativeSrc":"261202:18:19","nodeType":"YulExpressionStatement","src":"261202:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261240:4:19","nodeType":"YulLiteral","src":"261240:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"261246:2:19","nodeType":"YulIdentifier","src":"261246:2:19"}],"functionName":{"name":"mstore","nativeSrc":"261233:6:19","nodeType":"YulIdentifier","src":"261233:6:19"},"nativeSrc":"261233:16:19","nodeType":"YulFunctionCall","src":"261233:16:19"},"nativeSrc":"261233:16:19","nodeType":"YulExpressionStatement","src":"261233:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261274:4:19","nodeType":"YulLiteral","src":"261274:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"261280:2:19","nodeType":"YulIdentifier","src":"261280:2:19"}],"functionName":{"name":"writeString","nativeSrc":"261262:11:19","nodeType":"YulIdentifier","src":"261262:11:19"},"nativeSrc":"261262:21:19","nodeType":"YulFunctionCall","src":"261262:21:19"},"nativeSrc":"261262:21:19","nodeType":"YulExpressionStatement","src":"261262:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34484,"isOffset":false,"isSlot":false,"src":"260831:2:19","valueSize":1},{"declaration":34487,"isOffset":false,"isSlot":false,"src":"260861:2:19","valueSize":1},{"declaration":34490,"isOffset":false,"isSlot":false,"src":"260891:2:19","valueSize":1},{"declaration":34493,"isOffset":false,"isSlot":false,"src":"260921:2:19","valueSize":1},{"declaration":34496,"isOffset":false,"isSlot":false,"src":"260951:2:19","valueSize":1},{"declaration":34499,"isOffset":false,"isSlot":false,"src":"260981:2:19","valueSize":1},{"declaration":34502,"isOffset":false,"isSlot":false,"src":"261011:2:19","valueSize":1},{"declaration":34474,"isOffset":false,"isSlot":false,"src":"261157:2:19","valueSize":1},{"declaration":34476,"isOffset":false,"isSlot":false,"src":"261186:2:19","valueSize":1},{"declaration":34478,"isOffset":false,"isSlot":false,"src":"261280:2:19","valueSize":1},{"declaration":34480,"isOffset":false,"isSlot":false,"src":"261246:2:19","valueSize":1}],"id":34504,"nodeType":"InlineAssembly","src":"260453:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"261318:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"261324:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":34505,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"261302:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"261302:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34509,"nodeType":"ExpressionStatement","src":"261302:27:19"},{"AST":{"nativeSrc":"261391:214:19","nodeType":"YulBlock","src":"261391:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"261412:4:19","nodeType":"YulLiteral","src":"261412:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"261418:2:19","nodeType":"YulIdentifier","src":"261418:2:19"}],"functionName":{"name":"mstore","nativeSrc":"261405:6:19","nodeType":"YulIdentifier","src":"261405:6:19"},"nativeSrc":"261405:16:19","nodeType":"YulFunctionCall","src":"261405:16:19"},"nativeSrc":"261405:16:19","nodeType":"YulExpressionStatement","src":"261405:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261441:4:19","nodeType":"YulLiteral","src":"261441:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"261447:2:19","nodeType":"YulIdentifier","src":"261447:2:19"}],"functionName":{"name":"mstore","nativeSrc":"261434:6:19","nodeType":"YulIdentifier","src":"261434:6:19"},"nativeSrc":"261434:16:19","nodeType":"YulFunctionCall","src":"261434:16:19"},"nativeSrc":"261434:16:19","nodeType":"YulExpressionStatement","src":"261434:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261470:4:19","nodeType":"YulLiteral","src":"261470:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"261476:2:19","nodeType":"YulIdentifier","src":"261476:2:19"}],"functionName":{"name":"mstore","nativeSrc":"261463:6:19","nodeType":"YulIdentifier","src":"261463:6:19"},"nativeSrc":"261463:16:19","nodeType":"YulFunctionCall","src":"261463:16:19"},"nativeSrc":"261463:16:19","nodeType":"YulExpressionStatement","src":"261463:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261499:4:19","nodeType":"YulLiteral","src":"261499:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"261505:2:19","nodeType":"YulIdentifier","src":"261505:2:19"}],"functionName":{"name":"mstore","nativeSrc":"261492:6:19","nodeType":"YulIdentifier","src":"261492:6:19"},"nativeSrc":"261492:16:19","nodeType":"YulFunctionCall","src":"261492:16:19"},"nativeSrc":"261492:16:19","nodeType":"YulExpressionStatement","src":"261492:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261528:4:19","nodeType":"YulLiteral","src":"261528:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"261534:2:19","nodeType":"YulIdentifier","src":"261534:2:19"}],"functionName":{"name":"mstore","nativeSrc":"261521:6:19","nodeType":"YulIdentifier","src":"261521:6:19"},"nativeSrc":"261521:16:19","nodeType":"YulFunctionCall","src":"261521:16:19"},"nativeSrc":"261521:16:19","nodeType":"YulExpressionStatement","src":"261521:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261557:4:19","nodeType":"YulLiteral","src":"261557:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"261563:2:19","nodeType":"YulIdentifier","src":"261563:2:19"}],"functionName":{"name":"mstore","nativeSrc":"261550:6:19","nodeType":"YulIdentifier","src":"261550:6:19"},"nativeSrc":"261550:16:19","nodeType":"YulFunctionCall","src":"261550:16:19"},"nativeSrc":"261550:16:19","nodeType":"YulExpressionStatement","src":"261550:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"261586:4:19","nodeType":"YulLiteral","src":"261586:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"261592:2:19","nodeType":"YulIdentifier","src":"261592:2:19"}],"functionName":{"name":"mstore","nativeSrc":"261579:6:19","nodeType":"YulIdentifier","src":"261579:6:19"},"nativeSrc":"261579:16:19","nodeType":"YulFunctionCall","src":"261579:16:19"},"nativeSrc":"261579:16:19","nodeType":"YulExpressionStatement","src":"261579:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34484,"isOffset":false,"isSlot":false,"src":"261418:2:19","valueSize":1},{"declaration":34487,"isOffset":false,"isSlot":false,"src":"261447:2:19","valueSize":1},{"declaration":34490,"isOffset":false,"isSlot":false,"src":"261476:2:19","valueSize":1},{"declaration":34493,"isOffset":false,"isSlot":false,"src":"261505:2:19","valueSize":1},{"declaration":34496,"isOffset":false,"isSlot":false,"src":"261534:2:19","valueSize":1},{"declaration":34499,"isOffset":false,"isSlot":false,"src":"261563:2:19","valueSize":1},{"declaration":34502,"isOffset":false,"isSlot":false,"src":"261592:2:19","valueSize":1}],"id":34510,"nodeType":"InlineAssembly","src":"261382:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"260194:3:19","parameters":{"id":34481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34474,"mutability":"mutable","name":"p0","nameLocation":"260206:2:19","nodeType":"VariableDeclaration","scope":34512,"src":"260198:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34473,"name":"uint256","nodeType":"ElementaryTypeName","src":"260198:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34476,"mutability":"mutable","name":"p1","nameLocation":"260218:2:19","nodeType":"VariableDeclaration","scope":34512,"src":"260210:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34475,"name":"address","nodeType":"ElementaryTypeName","src":"260210:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34478,"mutability":"mutable","name":"p2","nameLocation":"260230:2:19","nodeType":"VariableDeclaration","scope":34512,"src":"260222:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34477,"name":"bytes32","nodeType":"ElementaryTypeName","src":"260222:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34480,"mutability":"mutable","name":"p3","nameLocation":"260242:2:19","nodeType":"VariableDeclaration","scope":34512,"src":"260234:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34479,"name":"address","nodeType":"ElementaryTypeName","src":"260234:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"260197:48:19"},"returnParameters":{"id":34482,"nodeType":"ParameterList","parameters":[],"src":"260260:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34552,"nodeType":"FunctionDefinition","src":"261617:1420:19","nodes":[],"body":{"id":34551,"nodeType":"Block","src":"261689:1348:19","nodes":[],"statements":[{"assignments":[34524],"declarations":[{"constant":false,"id":34524,"mutability":"mutable","name":"m0","nameLocation":"261707:2:19","nodeType":"VariableDeclaration","scope":34551,"src":"261699:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34523,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261699:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34525,"nodeType":"VariableDeclarationStatement","src":"261699:10:19"},{"assignments":[34527],"declarations":[{"constant":false,"id":34527,"mutability":"mutable","name":"m1","nameLocation":"261727:2:19","nodeType":"VariableDeclaration","scope":34551,"src":"261719:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34526,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261719:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34528,"nodeType":"VariableDeclarationStatement","src":"261719:10:19"},{"assignments":[34530],"declarations":[{"constant":false,"id":34530,"mutability":"mutable","name":"m2","nameLocation":"261747:2:19","nodeType":"VariableDeclaration","scope":34551,"src":"261739:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34529,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261739:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34531,"nodeType":"VariableDeclarationStatement","src":"261739:10:19"},{"assignments":[34533],"declarations":[{"constant":false,"id":34533,"mutability":"mutable","name":"m3","nameLocation":"261767:2:19","nodeType":"VariableDeclaration","scope":34551,"src":"261759:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34532,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261759:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34534,"nodeType":"VariableDeclarationStatement","src":"261759:10:19"},{"assignments":[34536],"declarations":[{"constant":false,"id":34536,"mutability":"mutable","name":"m4","nameLocation":"261787:2:19","nodeType":"VariableDeclaration","scope":34551,"src":"261779:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34535,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261779:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34537,"nodeType":"VariableDeclarationStatement","src":"261779:10:19"},{"assignments":[34539],"declarations":[{"constant":false,"id":34539,"mutability":"mutable","name":"m5","nameLocation":"261807:2:19","nodeType":"VariableDeclaration","scope":34551,"src":"261799:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34538,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261799:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34540,"nodeType":"VariableDeclarationStatement","src":"261799:10:19"},{"assignments":[34542],"declarations":[{"constant":false,"id":34542,"mutability":"mutable","name":"m6","nameLocation":"261827:2:19","nodeType":"VariableDeclaration","scope":34551,"src":"261819:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34541,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261819:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34543,"nodeType":"VariableDeclarationStatement","src":"261819:10:19"},{"AST":{"nativeSrc":"261891:828:19","nodeType":"YulBlock","src":"261891:828:19","statements":[{"body":{"nativeSrc":"261934:313:19","nodeType":"YulBlock","src":"261934:313:19","statements":[{"nativeSrc":"261952:15:19","nodeType":"YulVariableDeclaration","src":"261952:15:19","value":{"kind":"number","nativeSrc":"261966:1:19","nodeType":"YulLiteral","src":"261966:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"261956:6:19","nodeType":"YulTypedName","src":"261956:6:19","type":""}]},{"body":{"nativeSrc":"262037:40:19","nodeType":"YulBlock","src":"262037:40:19","statements":[{"body":{"nativeSrc":"262066:9:19","nodeType":"YulBlock","src":"262066:9:19","statements":[{"nativeSrc":"262068:5:19","nodeType":"YulBreak","src":"262068:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"262054:6:19","nodeType":"YulIdentifier","src":"262054:6:19"},{"name":"w","nativeSrc":"262062:1:19","nodeType":"YulIdentifier","src":"262062:1:19"}],"functionName":{"name":"byte","nativeSrc":"262049:4:19","nodeType":"YulIdentifier","src":"262049:4:19"},"nativeSrc":"262049:15:19","nodeType":"YulFunctionCall","src":"262049:15:19"}],"functionName":{"name":"iszero","nativeSrc":"262042:6:19","nodeType":"YulIdentifier","src":"262042:6:19"},"nativeSrc":"262042:23:19","nodeType":"YulFunctionCall","src":"262042:23:19"},"nativeSrc":"262039:36:19","nodeType":"YulIf","src":"262039:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"261994:6:19","nodeType":"YulIdentifier","src":"261994:6:19"},{"kind":"number","nativeSrc":"262002:4:19","nodeType":"YulLiteral","src":"262002:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"261991:2:19","nodeType":"YulIdentifier","src":"261991:2:19"},"nativeSrc":"261991:16:19","nodeType":"YulFunctionCall","src":"261991:16:19"},"nativeSrc":"261984:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"262008:28:19","nodeType":"YulBlock","src":"262008:28:19","statements":[{"nativeSrc":"262010:24:19","nodeType":"YulAssignment","src":"262010:24:19","value":{"arguments":[{"name":"length","nativeSrc":"262024:6:19","nodeType":"YulIdentifier","src":"262024:6:19"},{"kind":"number","nativeSrc":"262032:1:19","nodeType":"YulLiteral","src":"262032:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"262020:3:19","nodeType":"YulIdentifier","src":"262020:3:19"},"nativeSrc":"262020:14:19","nodeType":"YulFunctionCall","src":"262020:14:19"},"variableNames":[{"name":"length","nativeSrc":"262010:6:19","nodeType":"YulIdentifier","src":"262010:6:19"}]}]},"pre":{"nativeSrc":"261988:2:19","nodeType":"YulBlock","src":"261988:2:19","statements":[]},"src":"261984:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"262101:3:19","nodeType":"YulIdentifier","src":"262101:3:19"},{"name":"length","nativeSrc":"262106:6:19","nodeType":"YulIdentifier","src":"262106:6:19"}],"functionName":{"name":"mstore","nativeSrc":"262094:6:19","nodeType":"YulIdentifier","src":"262094:6:19"},"nativeSrc":"262094:19:19","nodeType":"YulFunctionCall","src":"262094:19:19"},"nativeSrc":"262094:19:19","nodeType":"YulExpressionStatement","src":"262094:19:19"},{"nativeSrc":"262130:37:19","nodeType":"YulVariableDeclaration","src":"262130:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"262147:3:19","nodeType":"YulLiteral","src":"262147:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"262156:1:19","nodeType":"YulLiteral","src":"262156:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"262159:6:19","nodeType":"YulIdentifier","src":"262159:6:19"}],"functionName":{"name":"shl","nativeSrc":"262152:3:19","nodeType":"YulIdentifier","src":"262152:3:19"},"nativeSrc":"262152:14:19","nodeType":"YulFunctionCall","src":"262152:14:19"}],"functionName":{"name":"sub","nativeSrc":"262143:3:19","nodeType":"YulIdentifier","src":"262143:3:19"},"nativeSrc":"262143:24:19","nodeType":"YulFunctionCall","src":"262143:24:19"},"variables":[{"name":"shift","nativeSrc":"262134:5:19","nodeType":"YulTypedName","src":"262134:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"262195:3:19","nodeType":"YulIdentifier","src":"262195:3:19"},{"kind":"number","nativeSrc":"262200:4:19","nodeType":"YulLiteral","src":"262200:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"262191:3:19","nodeType":"YulIdentifier","src":"262191:3:19"},"nativeSrc":"262191:14:19","nodeType":"YulFunctionCall","src":"262191:14:19"},{"arguments":[{"name":"shift","nativeSrc":"262211:5:19","nodeType":"YulIdentifier","src":"262211:5:19"},{"arguments":[{"name":"shift","nativeSrc":"262222:5:19","nodeType":"YulIdentifier","src":"262222:5:19"},{"name":"w","nativeSrc":"262229:1:19","nodeType":"YulIdentifier","src":"262229:1:19"}],"functionName":{"name":"shr","nativeSrc":"262218:3:19","nodeType":"YulIdentifier","src":"262218:3:19"},"nativeSrc":"262218:13:19","nodeType":"YulFunctionCall","src":"262218:13:19"}],"functionName":{"name":"shl","nativeSrc":"262207:3:19","nodeType":"YulIdentifier","src":"262207:3:19"},"nativeSrc":"262207:25:19","nodeType":"YulFunctionCall","src":"262207:25:19"}],"functionName":{"name":"mstore","nativeSrc":"262184:6:19","nodeType":"YulIdentifier","src":"262184:6:19"},"nativeSrc":"262184:49:19","nodeType":"YulFunctionCall","src":"262184:49:19"},"nativeSrc":"262184:49:19","nodeType":"YulExpressionStatement","src":"262184:49:19"}]},"name":"writeString","nativeSrc":"261905:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"261926:3:19","nodeType":"YulTypedName","src":"261926:3:19","type":""},{"name":"w","nativeSrc":"261931:1:19","nodeType":"YulTypedName","src":"261931:1:19","type":""}],"src":"261905:342:19"},{"nativeSrc":"262260:17:19","nodeType":"YulAssignment","src":"262260:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"262272:4:19","nodeType":"YulLiteral","src":"262272:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"262266:5:19","nodeType":"YulIdentifier","src":"262266:5:19"},"nativeSrc":"262266:11:19","nodeType":"YulFunctionCall","src":"262266:11:19"},"variableNames":[{"name":"m0","nativeSrc":"262260:2:19","nodeType":"YulIdentifier","src":"262260:2:19"}]},{"nativeSrc":"262290:17:19","nodeType":"YulAssignment","src":"262290:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"262302:4:19","nodeType":"YulLiteral","src":"262302:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"262296:5:19","nodeType":"YulIdentifier","src":"262296:5:19"},"nativeSrc":"262296:11:19","nodeType":"YulFunctionCall","src":"262296:11:19"},"variableNames":[{"name":"m1","nativeSrc":"262290:2:19","nodeType":"YulIdentifier","src":"262290:2:19"}]},{"nativeSrc":"262320:17:19","nodeType":"YulAssignment","src":"262320:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"262332:4:19","nodeType":"YulLiteral","src":"262332:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"262326:5:19","nodeType":"YulIdentifier","src":"262326:5:19"},"nativeSrc":"262326:11:19","nodeType":"YulFunctionCall","src":"262326:11:19"},"variableNames":[{"name":"m2","nativeSrc":"262320:2:19","nodeType":"YulIdentifier","src":"262320:2:19"}]},{"nativeSrc":"262350:17:19","nodeType":"YulAssignment","src":"262350:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"262362:4:19","nodeType":"YulLiteral","src":"262362:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"262356:5:19","nodeType":"YulIdentifier","src":"262356:5:19"},"nativeSrc":"262356:11:19","nodeType":"YulFunctionCall","src":"262356:11:19"},"variableNames":[{"name":"m3","nativeSrc":"262350:2:19","nodeType":"YulIdentifier","src":"262350:2:19"}]},{"nativeSrc":"262380:17:19","nodeType":"YulAssignment","src":"262380:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"262392:4:19","nodeType":"YulLiteral","src":"262392:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"262386:5:19","nodeType":"YulIdentifier","src":"262386:5:19"},"nativeSrc":"262386:11:19","nodeType":"YulFunctionCall","src":"262386:11:19"},"variableNames":[{"name":"m4","nativeSrc":"262380:2:19","nodeType":"YulIdentifier","src":"262380:2:19"}]},{"nativeSrc":"262410:17:19","nodeType":"YulAssignment","src":"262410:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"262422:4:19","nodeType":"YulLiteral","src":"262422:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"262416:5:19","nodeType":"YulIdentifier","src":"262416:5:19"},"nativeSrc":"262416:11:19","nodeType":"YulFunctionCall","src":"262416:11:19"},"variableNames":[{"name":"m5","nativeSrc":"262410:2:19","nodeType":"YulIdentifier","src":"262410:2:19"}]},{"nativeSrc":"262440:17:19","nodeType":"YulAssignment","src":"262440:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"262452:4:19","nodeType":"YulLiteral","src":"262452:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"262446:5:19","nodeType":"YulIdentifier","src":"262446:5:19"},"nativeSrc":"262446:11:19","nodeType":"YulFunctionCall","src":"262446:11:19"},"variableNames":[{"name":"m6","nativeSrc":"262440:2:19","nodeType":"YulIdentifier","src":"262440:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262540:4:19","nodeType":"YulLiteral","src":"262540:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"262546:10:19","nodeType":"YulLiteral","src":"262546:10:19","type":"","value":"0xcc32ab07"}],"functionName":{"name":"mstore","nativeSrc":"262533:6:19","nodeType":"YulIdentifier","src":"262533:6:19"},"nativeSrc":"262533:24:19","nodeType":"YulFunctionCall","src":"262533:24:19"},"nativeSrc":"262533:24:19","nodeType":"YulExpressionStatement","src":"262533:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262577:4:19","nodeType":"YulLiteral","src":"262577:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"262583:2:19","nodeType":"YulIdentifier","src":"262583:2:19"}],"functionName":{"name":"mstore","nativeSrc":"262570:6:19","nodeType":"YulIdentifier","src":"262570:6:19"},"nativeSrc":"262570:16:19","nodeType":"YulFunctionCall","src":"262570:16:19"},"nativeSrc":"262570:16:19","nodeType":"YulExpressionStatement","src":"262570:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262606:4:19","nodeType":"YulLiteral","src":"262606:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"262612:2:19","nodeType":"YulIdentifier","src":"262612:2:19"}],"functionName":{"name":"mstore","nativeSrc":"262599:6:19","nodeType":"YulIdentifier","src":"262599:6:19"},"nativeSrc":"262599:16:19","nodeType":"YulFunctionCall","src":"262599:16:19"},"nativeSrc":"262599:16:19","nodeType":"YulExpressionStatement","src":"262599:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262635:4:19","nodeType":"YulLiteral","src":"262635:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"262641:4:19","nodeType":"YulLiteral","src":"262641:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"262628:6:19","nodeType":"YulIdentifier","src":"262628:6:19"},"nativeSrc":"262628:18:19","nodeType":"YulFunctionCall","src":"262628:18:19"},"nativeSrc":"262628:18:19","nodeType":"YulExpressionStatement","src":"262628:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262666:4:19","nodeType":"YulLiteral","src":"262666:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"262672:2:19","nodeType":"YulIdentifier","src":"262672:2:19"}],"functionName":{"name":"mstore","nativeSrc":"262659:6:19","nodeType":"YulIdentifier","src":"262659:6:19"},"nativeSrc":"262659:16:19","nodeType":"YulFunctionCall","src":"262659:16:19"},"nativeSrc":"262659:16:19","nodeType":"YulExpressionStatement","src":"262659:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262700:4:19","nodeType":"YulLiteral","src":"262700:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"262706:2:19","nodeType":"YulIdentifier","src":"262706:2:19"}],"functionName":{"name":"writeString","nativeSrc":"262688:11:19","nodeType":"YulIdentifier","src":"262688:11:19"},"nativeSrc":"262688:21:19","nodeType":"YulFunctionCall","src":"262688:21:19"},"nativeSrc":"262688:21:19","nodeType":"YulExpressionStatement","src":"262688:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34524,"isOffset":false,"isSlot":false,"src":"262260:2:19","valueSize":1},{"declaration":34527,"isOffset":false,"isSlot":false,"src":"262290:2:19","valueSize":1},{"declaration":34530,"isOffset":false,"isSlot":false,"src":"262320:2:19","valueSize":1},{"declaration":34533,"isOffset":false,"isSlot":false,"src":"262350:2:19","valueSize":1},{"declaration":34536,"isOffset":false,"isSlot":false,"src":"262380:2:19","valueSize":1},{"declaration":34539,"isOffset":false,"isSlot":false,"src":"262410:2:19","valueSize":1},{"declaration":34542,"isOffset":false,"isSlot":false,"src":"262440:2:19","valueSize":1},{"declaration":34514,"isOffset":false,"isSlot":false,"src":"262583:2:19","valueSize":1},{"declaration":34516,"isOffset":false,"isSlot":false,"src":"262612:2:19","valueSize":1},{"declaration":34518,"isOffset":false,"isSlot":false,"src":"262706:2:19","valueSize":1},{"declaration":34520,"isOffset":false,"isSlot":false,"src":"262672:2:19","valueSize":1}],"id":34544,"nodeType":"InlineAssembly","src":"261882:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"262744:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"262750:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":34545,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"262728:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"262728:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34549,"nodeType":"ExpressionStatement","src":"262728:27:19"},{"AST":{"nativeSrc":"262817:214:19","nodeType":"YulBlock","src":"262817:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"262838:4:19","nodeType":"YulLiteral","src":"262838:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"262844:2:19","nodeType":"YulIdentifier","src":"262844:2:19"}],"functionName":{"name":"mstore","nativeSrc":"262831:6:19","nodeType":"YulIdentifier","src":"262831:6:19"},"nativeSrc":"262831:16:19","nodeType":"YulFunctionCall","src":"262831:16:19"},"nativeSrc":"262831:16:19","nodeType":"YulExpressionStatement","src":"262831:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262867:4:19","nodeType":"YulLiteral","src":"262867:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"262873:2:19","nodeType":"YulIdentifier","src":"262873:2:19"}],"functionName":{"name":"mstore","nativeSrc":"262860:6:19","nodeType":"YulIdentifier","src":"262860:6:19"},"nativeSrc":"262860:16:19","nodeType":"YulFunctionCall","src":"262860:16:19"},"nativeSrc":"262860:16:19","nodeType":"YulExpressionStatement","src":"262860:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262896:4:19","nodeType":"YulLiteral","src":"262896:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"262902:2:19","nodeType":"YulIdentifier","src":"262902:2:19"}],"functionName":{"name":"mstore","nativeSrc":"262889:6:19","nodeType":"YulIdentifier","src":"262889:6:19"},"nativeSrc":"262889:16:19","nodeType":"YulFunctionCall","src":"262889:16:19"},"nativeSrc":"262889:16:19","nodeType":"YulExpressionStatement","src":"262889:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262925:4:19","nodeType":"YulLiteral","src":"262925:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"262931:2:19","nodeType":"YulIdentifier","src":"262931:2:19"}],"functionName":{"name":"mstore","nativeSrc":"262918:6:19","nodeType":"YulIdentifier","src":"262918:6:19"},"nativeSrc":"262918:16:19","nodeType":"YulFunctionCall","src":"262918:16:19"},"nativeSrc":"262918:16:19","nodeType":"YulExpressionStatement","src":"262918:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262954:4:19","nodeType":"YulLiteral","src":"262954:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"262960:2:19","nodeType":"YulIdentifier","src":"262960:2:19"}],"functionName":{"name":"mstore","nativeSrc":"262947:6:19","nodeType":"YulIdentifier","src":"262947:6:19"},"nativeSrc":"262947:16:19","nodeType":"YulFunctionCall","src":"262947:16:19"},"nativeSrc":"262947:16:19","nodeType":"YulExpressionStatement","src":"262947:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"262983:4:19","nodeType":"YulLiteral","src":"262983:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"262989:2:19","nodeType":"YulIdentifier","src":"262989:2:19"}],"functionName":{"name":"mstore","nativeSrc":"262976:6:19","nodeType":"YulIdentifier","src":"262976:6:19"},"nativeSrc":"262976:16:19","nodeType":"YulFunctionCall","src":"262976:16:19"},"nativeSrc":"262976:16:19","nodeType":"YulExpressionStatement","src":"262976:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"263012:4:19","nodeType":"YulLiteral","src":"263012:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"263018:2:19","nodeType":"YulIdentifier","src":"263018:2:19"}],"functionName":{"name":"mstore","nativeSrc":"263005:6:19","nodeType":"YulIdentifier","src":"263005:6:19"},"nativeSrc":"263005:16:19","nodeType":"YulFunctionCall","src":"263005:16:19"},"nativeSrc":"263005:16:19","nodeType":"YulExpressionStatement","src":"263005:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34524,"isOffset":false,"isSlot":false,"src":"262844:2:19","valueSize":1},{"declaration":34527,"isOffset":false,"isSlot":false,"src":"262873:2:19","valueSize":1},{"declaration":34530,"isOffset":false,"isSlot":false,"src":"262902:2:19","valueSize":1},{"declaration":34533,"isOffset":false,"isSlot":false,"src":"262931:2:19","valueSize":1},{"declaration":34536,"isOffset":false,"isSlot":false,"src":"262960:2:19","valueSize":1},{"declaration":34539,"isOffset":false,"isSlot":false,"src":"262989:2:19","valueSize":1},{"declaration":34542,"isOffset":false,"isSlot":false,"src":"263018:2:19","valueSize":1}],"id":34550,"nodeType":"InlineAssembly","src":"262808:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"261626:3:19","parameters":{"id":34521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34514,"mutability":"mutable","name":"p0","nameLocation":"261638:2:19","nodeType":"VariableDeclaration","scope":34552,"src":"261630:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34513,"name":"uint256","nodeType":"ElementaryTypeName","src":"261630:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34516,"mutability":"mutable","name":"p1","nameLocation":"261650:2:19","nodeType":"VariableDeclaration","scope":34552,"src":"261642:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34515,"name":"address","nodeType":"ElementaryTypeName","src":"261642:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34518,"mutability":"mutable","name":"p2","nameLocation":"261662:2:19","nodeType":"VariableDeclaration","scope":34552,"src":"261654:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34517,"name":"bytes32","nodeType":"ElementaryTypeName","src":"261654:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34520,"mutability":"mutable","name":"p3","nameLocation":"261671:2:19","nodeType":"VariableDeclaration","scope":34552,"src":"261666:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34519,"name":"bool","nodeType":"ElementaryTypeName","src":"261666:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"261629:45:19"},"returnParameters":{"id":34522,"nodeType":"ParameterList","parameters":[],"src":"261689:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34592,"nodeType":"FunctionDefinition","src":"263043:1426:19","nodes":[],"body":{"id":34591,"nodeType":"Block","src":"263118:1351:19","nodes":[],"statements":[{"assignments":[34564],"declarations":[{"constant":false,"id":34564,"mutability":"mutable","name":"m0","nameLocation":"263136:2:19","nodeType":"VariableDeclaration","scope":34591,"src":"263128:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34563,"name":"bytes32","nodeType":"ElementaryTypeName","src":"263128:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34565,"nodeType":"VariableDeclarationStatement","src":"263128:10:19"},{"assignments":[34567],"declarations":[{"constant":false,"id":34567,"mutability":"mutable","name":"m1","nameLocation":"263156:2:19","nodeType":"VariableDeclaration","scope":34591,"src":"263148:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34566,"name":"bytes32","nodeType":"ElementaryTypeName","src":"263148:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34568,"nodeType":"VariableDeclarationStatement","src":"263148:10:19"},{"assignments":[34570],"declarations":[{"constant":false,"id":34570,"mutability":"mutable","name":"m2","nameLocation":"263176:2:19","nodeType":"VariableDeclaration","scope":34591,"src":"263168:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34569,"name":"bytes32","nodeType":"ElementaryTypeName","src":"263168:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34571,"nodeType":"VariableDeclarationStatement","src":"263168:10:19"},{"assignments":[34573],"declarations":[{"constant":false,"id":34573,"mutability":"mutable","name":"m3","nameLocation":"263196:2:19","nodeType":"VariableDeclaration","scope":34591,"src":"263188:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34572,"name":"bytes32","nodeType":"ElementaryTypeName","src":"263188:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34574,"nodeType":"VariableDeclarationStatement","src":"263188:10:19"},{"assignments":[34576],"declarations":[{"constant":false,"id":34576,"mutability":"mutable","name":"m4","nameLocation":"263216:2:19","nodeType":"VariableDeclaration","scope":34591,"src":"263208:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34575,"name":"bytes32","nodeType":"ElementaryTypeName","src":"263208:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34577,"nodeType":"VariableDeclarationStatement","src":"263208:10:19"},{"assignments":[34579],"declarations":[{"constant":false,"id":34579,"mutability":"mutable","name":"m5","nameLocation":"263236:2:19","nodeType":"VariableDeclaration","scope":34591,"src":"263228:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34578,"name":"bytes32","nodeType":"ElementaryTypeName","src":"263228:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34580,"nodeType":"VariableDeclarationStatement","src":"263228:10:19"},{"assignments":[34582],"declarations":[{"constant":false,"id":34582,"mutability":"mutable","name":"m6","nameLocation":"263256:2:19","nodeType":"VariableDeclaration","scope":34591,"src":"263248:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34581,"name":"bytes32","nodeType":"ElementaryTypeName","src":"263248:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34583,"nodeType":"VariableDeclarationStatement","src":"263248:10:19"},{"AST":{"nativeSrc":"263320:831:19","nodeType":"YulBlock","src":"263320:831:19","statements":[{"body":{"nativeSrc":"263363:313:19","nodeType":"YulBlock","src":"263363:313:19","statements":[{"nativeSrc":"263381:15:19","nodeType":"YulVariableDeclaration","src":"263381:15:19","value":{"kind":"number","nativeSrc":"263395:1:19","nodeType":"YulLiteral","src":"263395:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"263385:6:19","nodeType":"YulTypedName","src":"263385:6:19","type":""}]},{"body":{"nativeSrc":"263466:40:19","nodeType":"YulBlock","src":"263466:40:19","statements":[{"body":{"nativeSrc":"263495:9:19","nodeType":"YulBlock","src":"263495:9:19","statements":[{"nativeSrc":"263497:5:19","nodeType":"YulBreak","src":"263497:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"263483:6:19","nodeType":"YulIdentifier","src":"263483:6:19"},{"name":"w","nativeSrc":"263491:1:19","nodeType":"YulIdentifier","src":"263491:1:19"}],"functionName":{"name":"byte","nativeSrc":"263478:4:19","nodeType":"YulIdentifier","src":"263478:4:19"},"nativeSrc":"263478:15:19","nodeType":"YulFunctionCall","src":"263478:15:19"}],"functionName":{"name":"iszero","nativeSrc":"263471:6:19","nodeType":"YulIdentifier","src":"263471:6:19"},"nativeSrc":"263471:23:19","nodeType":"YulFunctionCall","src":"263471:23:19"},"nativeSrc":"263468:36:19","nodeType":"YulIf","src":"263468:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"263423:6:19","nodeType":"YulIdentifier","src":"263423:6:19"},{"kind":"number","nativeSrc":"263431:4:19","nodeType":"YulLiteral","src":"263431:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"263420:2:19","nodeType":"YulIdentifier","src":"263420:2:19"},"nativeSrc":"263420:16:19","nodeType":"YulFunctionCall","src":"263420:16:19"},"nativeSrc":"263413:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"263437:28:19","nodeType":"YulBlock","src":"263437:28:19","statements":[{"nativeSrc":"263439:24:19","nodeType":"YulAssignment","src":"263439:24:19","value":{"arguments":[{"name":"length","nativeSrc":"263453:6:19","nodeType":"YulIdentifier","src":"263453:6:19"},{"kind":"number","nativeSrc":"263461:1:19","nodeType":"YulLiteral","src":"263461:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"263449:3:19","nodeType":"YulIdentifier","src":"263449:3:19"},"nativeSrc":"263449:14:19","nodeType":"YulFunctionCall","src":"263449:14:19"},"variableNames":[{"name":"length","nativeSrc":"263439:6:19","nodeType":"YulIdentifier","src":"263439:6:19"}]}]},"pre":{"nativeSrc":"263417:2:19","nodeType":"YulBlock","src":"263417:2:19","statements":[]},"src":"263413:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"263530:3:19","nodeType":"YulIdentifier","src":"263530:3:19"},{"name":"length","nativeSrc":"263535:6:19","nodeType":"YulIdentifier","src":"263535:6:19"}],"functionName":{"name":"mstore","nativeSrc":"263523:6:19","nodeType":"YulIdentifier","src":"263523:6:19"},"nativeSrc":"263523:19:19","nodeType":"YulFunctionCall","src":"263523:19:19"},"nativeSrc":"263523:19:19","nodeType":"YulExpressionStatement","src":"263523:19:19"},{"nativeSrc":"263559:37:19","nodeType":"YulVariableDeclaration","src":"263559:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"263576:3:19","nodeType":"YulLiteral","src":"263576:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"263585:1:19","nodeType":"YulLiteral","src":"263585:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"263588:6:19","nodeType":"YulIdentifier","src":"263588:6:19"}],"functionName":{"name":"shl","nativeSrc":"263581:3:19","nodeType":"YulIdentifier","src":"263581:3:19"},"nativeSrc":"263581:14:19","nodeType":"YulFunctionCall","src":"263581:14:19"}],"functionName":{"name":"sub","nativeSrc":"263572:3:19","nodeType":"YulIdentifier","src":"263572:3:19"},"nativeSrc":"263572:24:19","nodeType":"YulFunctionCall","src":"263572:24:19"},"variables":[{"name":"shift","nativeSrc":"263563:5:19","nodeType":"YulTypedName","src":"263563:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"263624:3:19","nodeType":"YulIdentifier","src":"263624:3:19"},{"kind":"number","nativeSrc":"263629:4:19","nodeType":"YulLiteral","src":"263629:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"263620:3:19","nodeType":"YulIdentifier","src":"263620:3:19"},"nativeSrc":"263620:14:19","nodeType":"YulFunctionCall","src":"263620:14:19"},{"arguments":[{"name":"shift","nativeSrc":"263640:5:19","nodeType":"YulIdentifier","src":"263640:5:19"},{"arguments":[{"name":"shift","nativeSrc":"263651:5:19","nodeType":"YulIdentifier","src":"263651:5:19"},{"name":"w","nativeSrc":"263658:1:19","nodeType":"YulIdentifier","src":"263658:1:19"}],"functionName":{"name":"shr","nativeSrc":"263647:3:19","nodeType":"YulIdentifier","src":"263647:3:19"},"nativeSrc":"263647:13:19","nodeType":"YulFunctionCall","src":"263647:13:19"}],"functionName":{"name":"shl","nativeSrc":"263636:3:19","nodeType":"YulIdentifier","src":"263636:3:19"},"nativeSrc":"263636:25:19","nodeType":"YulFunctionCall","src":"263636:25:19"}],"functionName":{"name":"mstore","nativeSrc":"263613:6:19","nodeType":"YulIdentifier","src":"263613:6:19"},"nativeSrc":"263613:49:19","nodeType":"YulFunctionCall","src":"263613:49:19"},"nativeSrc":"263613:49:19","nodeType":"YulExpressionStatement","src":"263613:49:19"}]},"name":"writeString","nativeSrc":"263334:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"263355:3:19","nodeType":"YulTypedName","src":"263355:3:19","type":""},{"name":"w","nativeSrc":"263360:1:19","nodeType":"YulTypedName","src":"263360:1:19","type":""}],"src":"263334:342:19"},{"nativeSrc":"263689:17:19","nodeType":"YulAssignment","src":"263689:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"263701:4:19","nodeType":"YulLiteral","src":"263701:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"263695:5:19","nodeType":"YulIdentifier","src":"263695:5:19"},"nativeSrc":"263695:11:19","nodeType":"YulFunctionCall","src":"263695:11:19"},"variableNames":[{"name":"m0","nativeSrc":"263689:2:19","nodeType":"YulIdentifier","src":"263689:2:19"}]},{"nativeSrc":"263719:17:19","nodeType":"YulAssignment","src":"263719:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"263731:4:19","nodeType":"YulLiteral","src":"263731:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"263725:5:19","nodeType":"YulIdentifier","src":"263725:5:19"},"nativeSrc":"263725:11:19","nodeType":"YulFunctionCall","src":"263725:11:19"},"variableNames":[{"name":"m1","nativeSrc":"263719:2:19","nodeType":"YulIdentifier","src":"263719:2:19"}]},{"nativeSrc":"263749:17:19","nodeType":"YulAssignment","src":"263749:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"263761:4:19","nodeType":"YulLiteral","src":"263761:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"263755:5:19","nodeType":"YulIdentifier","src":"263755:5:19"},"nativeSrc":"263755:11:19","nodeType":"YulFunctionCall","src":"263755:11:19"},"variableNames":[{"name":"m2","nativeSrc":"263749:2:19","nodeType":"YulIdentifier","src":"263749:2:19"}]},{"nativeSrc":"263779:17:19","nodeType":"YulAssignment","src":"263779:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"263791:4:19","nodeType":"YulLiteral","src":"263791:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"263785:5:19","nodeType":"YulIdentifier","src":"263785:5:19"},"nativeSrc":"263785:11:19","nodeType":"YulFunctionCall","src":"263785:11:19"},"variableNames":[{"name":"m3","nativeSrc":"263779:2:19","nodeType":"YulIdentifier","src":"263779:2:19"}]},{"nativeSrc":"263809:17:19","nodeType":"YulAssignment","src":"263809:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"263821:4:19","nodeType":"YulLiteral","src":"263821:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"263815:5:19","nodeType":"YulIdentifier","src":"263815:5:19"},"nativeSrc":"263815:11:19","nodeType":"YulFunctionCall","src":"263815:11:19"},"variableNames":[{"name":"m4","nativeSrc":"263809:2:19","nodeType":"YulIdentifier","src":"263809:2:19"}]},{"nativeSrc":"263839:17:19","nodeType":"YulAssignment","src":"263839:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"263851:4:19","nodeType":"YulLiteral","src":"263851:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"263845:5:19","nodeType":"YulIdentifier","src":"263845:5:19"},"nativeSrc":"263845:11:19","nodeType":"YulFunctionCall","src":"263845:11:19"},"variableNames":[{"name":"m5","nativeSrc":"263839:2:19","nodeType":"YulIdentifier","src":"263839:2:19"}]},{"nativeSrc":"263869:17:19","nodeType":"YulAssignment","src":"263869:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"263881:4:19","nodeType":"YulLiteral","src":"263881:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"263875:5:19","nodeType":"YulIdentifier","src":"263875:5:19"},"nativeSrc":"263875:11:19","nodeType":"YulFunctionCall","src":"263875:11:19"},"variableNames":[{"name":"m6","nativeSrc":"263869:2:19","nodeType":"YulIdentifier","src":"263869:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"263972:4:19","nodeType":"YulLiteral","src":"263972:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"263978:10:19","nodeType":"YulLiteral","src":"263978:10:19","type":"","value":"0x46826b5d"}],"functionName":{"name":"mstore","nativeSrc":"263965:6:19","nodeType":"YulIdentifier","src":"263965:6:19"},"nativeSrc":"263965:24:19","nodeType":"YulFunctionCall","src":"263965:24:19"},"nativeSrc":"263965:24:19","nodeType":"YulExpressionStatement","src":"263965:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264009:4:19","nodeType":"YulLiteral","src":"264009:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"264015:2:19","nodeType":"YulIdentifier","src":"264015:2:19"}],"functionName":{"name":"mstore","nativeSrc":"264002:6:19","nodeType":"YulIdentifier","src":"264002:6:19"},"nativeSrc":"264002:16:19","nodeType":"YulFunctionCall","src":"264002:16:19"},"nativeSrc":"264002:16:19","nodeType":"YulExpressionStatement","src":"264002:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264038:4:19","nodeType":"YulLiteral","src":"264038:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"264044:2:19","nodeType":"YulIdentifier","src":"264044:2:19"}],"functionName":{"name":"mstore","nativeSrc":"264031:6:19","nodeType":"YulIdentifier","src":"264031:6:19"},"nativeSrc":"264031:16:19","nodeType":"YulFunctionCall","src":"264031:16:19"},"nativeSrc":"264031:16:19","nodeType":"YulExpressionStatement","src":"264031:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264067:4:19","nodeType":"YulLiteral","src":"264067:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"264073:4:19","nodeType":"YulLiteral","src":"264073:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"264060:6:19","nodeType":"YulIdentifier","src":"264060:6:19"},"nativeSrc":"264060:18:19","nodeType":"YulFunctionCall","src":"264060:18:19"},"nativeSrc":"264060:18:19","nodeType":"YulExpressionStatement","src":"264060:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264098:4:19","nodeType":"YulLiteral","src":"264098:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"264104:2:19","nodeType":"YulIdentifier","src":"264104:2:19"}],"functionName":{"name":"mstore","nativeSrc":"264091:6:19","nodeType":"YulIdentifier","src":"264091:6:19"},"nativeSrc":"264091:16:19","nodeType":"YulFunctionCall","src":"264091:16:19"},"nativeSrc":"264091:16:19","nodeType":"YulExpressionStatement","src":"264091:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264132:4:19","nodeType":"YulLiteral","src":"264132:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"264138:2:19","nodeType":"YulIdentifier","src":"264138:2:19"}],"functionName":{"name":"writeString","nativeSrc":"264120:11:19","nodeType":"YulIdentifier","src":"264120:11:19"},"nativeSrc":"264120:21:19","nodeType":"YulFunctionCall","src":"264120:21:19"},"nativeSrc":"264120:21:19","nodeType":"YulExpressionStatement","src":"264120:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34564,"isOffset":false,"isSlot":false,"src":"263689:2:19","valueSize":1},{"declaration":34567,"isOffset":false,"isSlot":false,"src":"263719:2:19","valueSize":1},{"declaration":34570,"isOffset":false,"isSlot":false,"src":"263749:2:19","valueSize":1},{"declaration":34573,"isOffset":false,"isSlot":false,"src":"263779:2:19","valueSize":1},{"declaration":34576,"isOffset":false,"isSlot":false,"src":"263809:2:19","valueSize":1},{"declaration":34579,"isOffset":false,"isSlot":false,"src":"263839:2:19","valueSize":1},{"declaration":34582,"isOffset":false,"isSlot":false,"src":"263869:2:19","valueSize":1},{"declaration":34554,"isOffset":false,"isSlot":false,"src":"264015:2:19","valueSize":1},{"declaration":34556,"isOffset":false,"isSlot":false,"src":"264044:2:19","valueSize":1},{"declaration":34558,"isOffset":false,"isSlot":false,"src":"264138:2:19","valueSize":1},{"declaration":34560,"isOffset":false,"isSlot":false,"src":"264104:2:19","valueSize":1}],"id":34584,"nodeType":"InlineAssembly","src":"263311:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"264176:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"264182:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":34585,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"264160:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"264160:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34589,"nodeType":"ExpressionStatement","src":"264160:27:19"},{"AST":{"nativeSrc":"264249:214:19","nodeType":"YulBlock","src":"264249:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"264270:4:19","nodeType":"YulLiteral","src":"264270:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"264276:2:19","nodeType":"YulIdentifier","src":"264276:2:19"}],"functionName":{"name":"mstore","nativeSrc":"264263:6:19","nodeType":"YulIdentifier","src":"264263:6:19"},"nativeSrc":"264263:16:19","nodeType":"YulFunctionCall","src":"264263:16:19"},"nativeSrc":"264263:16:19","nodeType":"YulExpressionStatement","src":"264263:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264299:4:19","nodeType":"YulLiteral","src":"264299:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"264305:2:19","nodeType":"YulIdentifier","src":"264305:2:19"}],"functionName":{"name":"mstore","nativeSrc":"264292:6:19","nodeType":"YulIdentifier","src":"264292:6:19"},"nativeSrc":"264292:16:19","nodeType":"YulFunctionCall","src":"264292:16:19"},"nativeSrc":"264292:16:19","nodeType":"YulExpressionStatement","src":"264292:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264328:4:19","nodeType":"YulLiteral","src":"264328:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"264334:2:19","nodeType":"YulIdentifier","src":"264334:2:19"}],"functionName":{"name":"mstore","nativeSrc":"264321:6:19","nodeType":"YulIdentifier","src":"264321:6:19"},"nativeSrc":"264321:16:19","nodeType":"YulFunctionCall","src":"264321:16:19"},"nativeSrc":"264321:16:19","nodeType":"YulExpressionStatement","src":"264321:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264357:4:19","nodeType":"YulLiteral","src":"264357:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"264363:2:19","nodeType":"YulIdentifier","src":"264363:2:19"}],"functionName":{"name":"mstore","nativeSrc":"264350:6:19","nodeType":"YulIdentifier","src":"264350:6:19"},"nativeSrc":"264350:16:19","nodeType":"YulFunctionCall","src":"264350:16:19"},"nativeSrc":"264350:16:19","nodeType":"YulExpressionStatement","src":"264350:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264386:4:19","nodeType":"YulLiteral","src":"264386:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"264392:2:19","nodeType":"YulIdentifier","src":"264392:2:19"}],"functionName":{"name":"mstore","nativeSrc":"264379:6:19","nodeType":"YulIdentifier","src":"264379:6:19"},"nativeSrc":"264379:16:19","nodeType":"YulFunctionCall","src":"264379:16:19"},"nativeSrc":"264379:16:19","nodeType":"YulExpressionStatement","src":"264379:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264415:4:19","nodeType":"YulLiteral","src":"264415:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"264421:2:19","nodeType":"YulIdentifier","src":"264421:2:19"}],"functionName":{"name":"mstore","nativeSrc":"264408:6:19","nodeType":"YulIdentifier","src":"264408:6:19"},"nativeSrc":"264408:16:19","nodeType":"YulFunctionCall","src":"264408:16:19"},"nativeSrc":"264408:16:19","nodeType":"YulExpressionStatement","src":"264408:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"264444:4:19","nodeType":"YulLiteral","src":"264444:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"264450:2:19","nodeType":"YulIdentifier","src":"264450:2:19"}],"functionName":{"name":"mstore","nativeSrc":"264437:6:19","nodeType":"YulIdentifier","src":"264437:6:19"},"nativeSrc":"264437:16:19","nodeType":"YulFunctionCall","src":"264437:16:19"},"nativeSrc":"264437:16:19","nodeType":"YulExpressionStatement","src":"264437:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34564,"isOffset":false,"isSlot":false,"src":"264276:2:19","valueSize":1},{"declaration":34567,"isOffset":false,"isSlot":false,"src":"264305:2:19","valueSize":1},{"declaration":34570,"isOffset":false,"isSlot":false,"src":"264334:2:19","valueSize":1},{"declaration":34573,"isOffset":false,"isSlot":false,"src":"264363:2:19","valueSize":1},{"declaration":34576,"isOffset":false,"isSlot":false,"src":"264392:2:19","valueSize":1},{"declaration":34579,"isOffset":false,"isSlot":false,"src":"264421:2:19","valueSize":1},{"declaration":34582,"isOffset":false,"isSlot":false,"src":"264450:2:19","valueSize":1}],"id":34590,"nodeType":"InlineAssembly","src":"264240:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"263052:3:19","parameters":{"id":34561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34554,"mutability":"mutable","name":"p0","nameLocation":"263064:2:19","nodeType":"VariableDeclaration","scope":34592,"src":"263056:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34553,"name":"uint256","nodeType":"ElementaryTypeName","src":"263056:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34556,"mutability":"mutable","name":"p1","nameLocation":"263076:2:19","nodeType":"VariableDeclaration","scope":34592,"src":"263068:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34555,"name":"address","nodeType":"ElementaryTypeName","src":"263068:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34558,"mutability":"mutable","name":"p2","nameLocation":"263088:2:19","nodeType":"VariableDeclaration","scope":34592,"src":"263080:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34557,"name":"bytes32","nodeType":"ElementaryTypeName","src":"263080:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34560,"mutability":"mutable","name":"p3","nameLocation":"263100:2:19","nodeType":"VariableDeclaration","scope":34592,"src":"263092:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34559,"name":"uint256","nodeType":"ElementaryTypeName","src":"263092:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"263055:48:19"},"returnParameters":{"id":34562,"nodeType":"ParameterList","parameters":[],"src":"263118:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34638,"nodeType":"FunctionDefinition","src":"264475:1622:19","nodes":[],"body":{"id":34637,"nodeType":"Block","src":"264550:1547:19","nodes":[],"statements":[{"assignments":[34604],"declarations":[{"constant":false,"id":34604,"mutability":"mutable","name":"m0","nameLocation":"264568:2:19","nodeType":"VariableDeclaration","scope":34637,"src":"264560:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34603,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264560:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34605,"nodeType":"VariableDeclarationStatement","src":"264560:10:19"},{"assignments":[34607],"declarations":[{"constant":false,"id":34607,"mutability":"mutable","name":"m1","nameLocation":"264588:2:19","nodeType":"VariableDeclaration","scope":34637,"src":"264580:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34606,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264580:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34608,"nodeType":"VariableDeclarationStatement","src":"264580:10:19"},{"assignments":[34610],"declarations":[{"constant":false,"id":34610,"mutability":"mutable","name":"m2","nameLocation":"264608:2:19","nodeType":"VariableDeclaration","scope":34637,"src":"264600:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34609,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264600:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34611,"nodeType":"VariableDeclarationStatement","src":"264600:10:19"},{"assignments":[34613],"declarations":[{"constant":false,"id":34613,"mutability":"mutable","name":"m3","nameLocation":"264628:2:19","nodeType":"VariableDeclaration","scope":34637,"src":"264620:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34612,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264620:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34614,"nodeType":"VariableDeclarationStatement","src":"264620:10:19"},{"assignments":[34616],"declarations":[{"constant":false,"id":34616,"mutability":"mutable","name":"m4","nameLocation":"264648:2:19","nodeType":"VariableDeclaration","scope":34637,"src":"264640:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34615,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264640:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34617,"nodeType":"VariableDeclarationStatement","src":"264640:10:19"},{"assignments":[34619],"declarations":[{"constant":false,"id":34619,"mutability":"mutable","name":"m5","nameLocation":"264668:2:19","nodeType":"VariableDeclaration","scope":34637,"src":"264660:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34618,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264660:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34620,"nodeType":"VariableDeclarationStatement","src":"264660:10:19"},{"assignments":[34622],"declarations":[{"constant":false,"id":34622,"mutability":"mutable","name":"m6","nameLocation":"264688:2:19","nodeType":"VariableDeclaration","scope":34637,"src":"264680:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34621,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264680:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34623,"nodeType":"VariableDeclarationStatement","src":"264680:10:19"},{"assignments":[34625],"declarations":[{"constant":false,"id":34625,"mutability":"mutable","name":"m7","nameLocation":"264708:2:19","nodeType":"VariableDeclaration","scope":34637,"src":"264700:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34624,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264700:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34626,"nodeType":"VariableDeclarationStatement","src":"264700:10:19"},{"assignments":[34628],"declarations":[{"constant":false,"id":34628,"mutability":"mutable","name":"m8","nameLocation":"264728:2:19","nodeType":"VariableDeclaration","scope":34637,"src":"264720:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264720:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34629,"nodeType":"VariableDeclarationStatement","src":"264720:10:19"},{"AST":{"nativeSrc":"264792:927:19","nodeType":"YulBlock","src":"264792:927:19","statements":[{"body":{"nativeSrc":"264835:313:19","nodeType":"YulBlock","src":"264835:313:19","statements":[{"nativeSrc":"264853:15:19","nodeType":"YulVariableDeclaration","src":"264853:15:19","value":{"kind":"number","nativeSrc":"264867:1:19","nodeType":"YulLiteral","src":"264867:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"264857:6:19","nodeType":"YulTypedName","src":"264857:6:19","type":""}]},{"body":{"nativeSrc":"264938:40:19","nodeType":"YulBlock","src":"264938:40:19","statements":[{"body":{"nativeSrc":"264967:9:19","nodeType":"YulBlock","src":"264967:9:19","statements":[{"nativeSrc":"264969:5:19","nodeType":"YulBreak","src":"264969:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"264955:6:19","nodeType":"YulIdentifier","src":"264955:6:19"},{"name":"w","nativeSrc":"264963:1:19","nodeType":"YulIdentifier","src":"264963:1:19"}],"functionName":{"name":"byte","nativeSrc":"264950:4:19","nodeType":"YulIdentifier","src":"264950:4:19"},"nativeSrc":"264950:15:19","nodeType":"YulFunctionCall","src":"264950:15:19"}],"functionName":{"name":"iszero","nativeSrc":"264943:6:19","nodeType":"YulIdentifier","src":"264943:6:19"},"nativeSrc":"264943:23:19","nodeType":"YulFunctionCall","src":"264943:23:19"},"nativeSrc":"264940:36:19","nodeType":"YulIf","src":"264940:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"264895:6:19","nodeType":"YulIdentifier","src":"264895:6:19"},{"kind":"number","nativeSrc":"264903:4:19","nodeType":"YulLiteral","src":"264903:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"264892:2:19","nodeType":"YulIdentifier","src":"264892:2:19"},"nativeSrc":"264892:16:19","nodeType":"YulFunctionCall","src":"264892:16:19"},"nativeSrc":"264885:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"264909:28:19","nodeType":"YulBlock","src":"264909:28:19","statements":[{"nativeSrc":"264911:24:19","nodeType":"YulAssignment","src":"264911:24:19","value":{"arguments":[{"name":"length","nativeSrc":"264925:6:19","nodeType":"YulIdentifier","src":"264925:6:19"},{"kind":"number","nativeSrc":"264933:1:19","nodeType":"YulLiteral","src":"264933:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"264921:3:19","nodeType":"YulIdentifier","src":"264921:3:19"},"nativeSrc":"264921:14:19","nodeType":"YulFunctionCall","src":"264921:14:19"},"variableNames":[{"name":"length","nativeSrc":"264911:6:19","nodeType":"YulIdentifier","src":"264911:6:19"}]}]},"pre":{"nativeSrc":"264889:2:19","nodeType":"YulBlock","src":"264889:2:19","statements":[]},"src":"264885:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"265002:3:19","nodeType":"YulIdentifier","src":"265002:3:19"},{"name":"length","nativeSrc":"265007:6:19","nodeType":"YulIdentifier","src":"265007:6:19"}],"functionName":{"name":"mstore","nativeSrc":"264995:6:19","nodeType":"YulIdentifier","src":"264995:6:19"},"nativeSrc":"264995:19:19","nodeType":"YulFunctionCall","src":"264995:19:19"},"nativeSrc":"264995:19:19","nodeType":"YulExpressionStatement","src":"264995:19:19"},{"nativeSrc":"265031:37:19","nodeType":"YulVariableDeclaration","src":"265031:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"265048:3:19","nodeType":"YulLiteral","src":"265048:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"265057:1:19","nodeType":"YulLiteral","src":"265057:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"265060:6:19","nodeType":"YulIdentifier","src":"265060:6:19"}],"functionName":{"name":"shl","nativeSrc":"265053:3:19","nodeType":"YulIdentifier","src":"265053:3:19"},"nativeSrc":"265053:14:19","nodeType":"YulFunctionCall","src":"265053:14:19"}],"functionName":{"name":"sub","nativeSrc":"265044:3:19","nodeType":"YulIdentifier","src":"265044:3:19"},"nativeSrc":"265044:24:19","nodeType":"YulFunctionCall","src":"265044:24:19"},"variables":[{"name":"shift","nativeSrc":"265035:5:19","nodeType":"YulTypedName","src":"265035:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"265096:3:19","nodeType":"YulIdentifier","src":"265096:3:19"},{"kind":"number","nativeSrc":"265101:4:19","nodeType":"YulLiteral","src":"265101:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"265092:3:19","nodeType":"YulIdentifier","src":"265092:3:19"},"nativeSrc":"265092:14:19","nodeType":"YulFunctionCall","src":"265092:14:19"},{"arguments":[{"name":"shift","nativeSrc":"265112:5:19","nodeType":"YulIdentifier","src":"265112:5:19"},{"arguments":[{"name":"shift","nativeSrc":"265123:5:19","nodeType":"YulIdentifier","src":"265123:5:19"},{"name":"w","nativeSrc":"265130:1:19","nodeType":"YulIdentifier","src":"265130:1:19"}],"functionName":{"name":"shr","nativeSrc":"265119:3:19","nodeType":"YulIdentifier","src":"265119:3:19"},"nativeSrc":"265119:13:19","nodeType":"YulFunctionCall","src":"265119:13:19"}],"functionName":{"name":"shl","nativeSrc":"265108:3:19","nodeType":"YulIdentifier","src":"265108:3:19"},"nativeSrc":"265108:25:19","nodeType":"YulFunctionCall","src":"265108:25:19"}],"functionName":{"name":"mstore","nativeSrc":"265085:6:19","nodeType":"YulIdentifier","src":"265085:6:19"},"nativeSrc":"265085:49:19","nodeType":"YulFunctionCall","src":"265085:49:19"},"nativeSrc":"265085:49:19","nodeType":"YulExpressionStatement","src":"265085:49:19"}]},"name":"writeString","nativeSrc":"264806:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"264827:3:19","nodeType":"YulTypedName","src":"264827:3:19","type":""},{"name":"w","nativeSrc":"264832:1:19","nodeType":"YulTypedName","src":"264832:1:19","type":""}],"src":"264806:342:19"},{"nativeSrc":"265161:17:19","nodeType":"YulAssignment","src":"265161:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"265173:4:19","nodeType":"YulLiteral","src":"265173:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"265167:5:19","nodeType":"YulIdentifier","src":"265167:5:19"},"nativeSrc":"265167:11:19","nodeType":"YulFunctionCall","src":"265167:11:19"},"variableNames":[{"name":"m0","nativeSrc":"265161:2:19","nodeType":"YulIdentifier","src":"265161:2:19"}]},{"nativeSrc":"265191:17:19","nodeType":"YulAssignment","src":"265191:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"265203:4:19","nodeType":"YulLiteral","src":"265203:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"265197:5:19","nodeType":"YulIdentifier","src":"265197:5:19"},"nativeSrc":"265197:11:19","nodeType":"YulFunctionCall","src":"265197:11:19"},"variableNames":[{"name":"m1","nativeSrc":"265191:2:19","nodeType":"YulIdentifier","src":"265191:2:19"}]},{"nativeSrc":"265221:17:19","nodeType":"YulAssignment","src":"265221:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"265233:4:19","nodeType":"YulLiteral","src":"265233:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"265227:5:19","nodeType":"YulIdentifier","src":"265227:5:19"},"nativeSrc":"265227:11:19","nodeType":"YulFunctionCall","src":"265227:11:19"},"variableNames":[{"name":"m2","nativeSrc":"265221:2:19","nodeType":"YulIdentifier","src":"265221:2:19"}]},{"nativeSrc":"265251:17:19","nodeType":"YulAssignment","src":"265251:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"265263:4:19","nodeType":"YulLiteral","src":"265263:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"265257:5:19","nodeType":"YulIdentifier","src":"265257:5:19"},"nativeSrc":"265257:11:19","nodeType":"YulFunctionCall","src":"265257:11:19"},"variableNames":[{"name":"m3","nativeSrc":"265251:2:19","nodeType":"YulIdentifier","src":"265251:2:19"}]},{"nativeSrc":"265281:17:19","nodeType":"YulAssignment","src":"265281:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"265293:4:19","nodeType":"YulLiteral","src":"265293:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"265287:5:19","nodeType":"YulIdentifier","src":"265287:5:19"},"nativeSrc":"265287:11:19","nodeType":"YulFunctionCall","src":"265287:11:19"},"variableNames":[{"name":"m4","nativeSrc":"265281:2:19","nodeType":"YulIdentifier","src":"265281:2:19"}]},{"nativeSrc":"265311:17:19","nodeType":"YulAssignment","src":"265311:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"265323:4:19","nodeType":"YulLiteral","src":"265323:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"265317:5:19","nodeType":"YulIdentifier","src":"265317:5:19"},"nativeSrc":"265317:11:19","nodeType":"YulFunctionCall","src":"265317:11:19"},"variableNames":[{"name":"m5","nativeSrc":"265311:2:19","nodeType":"YulIdentifier","src":"265311:2:19"}]},{"nativeSrc":"265341:17:19","nodeType":"YulAssignment","src":"265341:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"265353:4:19","nodeType":"YulLiteral","src":"265353:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"265347:5:19","nodeType":"YulIdentifier","src":"265347:5:19"},"nativeSrc":"265347:11:19","nodeType":"YulFunctionCall","src":"265347:11:19"},"variableNames":[{"name":"m6","nativeSrc":"265341:2:19","nodeType":"YulIdentifier","src":"265341:2:19"}]},{"nativeSrc":"265371:17:19","nodeType":"YulAssignment","src":"265371:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"265383:4:19","nodeType":"YulLiteral","src":"265383:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"265377:5:19","nodeType":"YulIdentifier","src":"265377:5:19"},"nativeSrc":"265377:11:19","nodeType":"YulFunctionCall","src":"265377:11:19"},"variableNames":[{"name":"m7","nativeSrc":"265371:2:19","nodeType":"YulIdentifier","src":"265371:2:19"}]},{"nativeSrc":"265401:18:19","nodeType":"YulAssignment","src":"265401:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"265413:5:19","nodeType":"YulLiteral","src":"265413:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"265407:5:19","nodeType":"YulIdentifier","src":"265407:5:19"},"nativeSrc":"265407:12:19","nodeType":"YulFunctionCall","src":"265407:12:19"},"variableNames":[{"name":"m8","nativeSrc":"265401:2:19","nodeType":"YulIdentifier","src":"265401:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265504:4:19","nodeType":"YulLiteral","src":"265504:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"265510:10:19","nodeType":"YulLiteral","src":"265510:10:19","type":"","value":"0x3e128ca3"}],"functionName":{"name":"mstore","nativeSrc":"265497:6:19","nodeType":"YulIdentifier","src":"265497:6:19"},"nativeSrc":"265497:24:19","nodeType":"YulFunctionCall","src":"265497:24:19"},"nativeSrc":"265497:24:19","nodeType":"YulExpressionStatement","src":"265497:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265541:4:19","nodeType":"YulLiteral","src":"265541:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"265547:2:19","nodeType":"YulIdentifier","src":"265547:2:19"}],"functionName":{"name":"mstore","nativeSrc":"265534:6:19","nodeType":"YulIdentifier","src":"265534:6:19"},"nativeSrc":"265534:16:19","nodeType":"YulFunctionCall","src":"265534:16:19"},"nativeSrc":"265534:16:19","nodeType":"YulExpressionStatement","src":"265534:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265570:4:19","nodeType":"YulLiteral","src":"265570:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"265576:2:19","nodeType":"YulIdentifier","src":"265576:2:19"}],"functionName":{"name":"mstore","nativeSrc":"265563:6:19","nodeType":"YulIdentifier","src":"265563:6:19"},"nativeSrc":"265563:16:19","nodeType":"YulFunctionCall","src":"265563:16:19"},"nativeSrc":"265563:16:19","nodeType":"YulExpressionStatement","src":"265563:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265599:4:19","nodeType":"YulLiteral","src":"265599:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"265605:4:19","nodeType":"YulLiteral","src":"265605:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"265592:6:19","nodeType":"YulIdentifier","src":"265592:6:19"},"nativeSrc":"265592:18:19","nodeType":"YulFunctionCall","src":"265592:18:19"},"nativeSrc":"265592:18:19","nodeType":"YulExpressionStatement","src":"265592:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265630:4:19","nodeType":"YulLiteral","src":"265630:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"265636:4:19","nodeType":"YulLiteral","src":"265636:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"265623:6:19","nodeType":"YulIdentifier","src":"265623:6:19"},"nativeSrc":"265623:18:19","nodeType":"YulFunctionCall","src":"265623:18:19"},"nativeSrc":"265623:18:19","nodeType":"YulExpressionStatement","src":"265623:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265666:4:19","nodeType":"YulLiteral","src":"265666:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"265672:2:19","nodeType":"YulIdentifier","src":"265672:2:19"}],"functionName":{"name":"writeString","nativeSrc":"265654:11:19","nodeType":"YulIdentifier","src":"265654:11:19"},"nativeSrc":"265654:21:19","nodeType":"YulFunctionCall","src":"265654:21:19"},"nativeSrc":"265654:21:19","nodeType":"YulExpressionStatement","src":"265654:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265700:4:19","nodeType":"YulLiteral","src":"265700:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"265706:2:19","nodeType":"YulIdentifier","src":"265706:2:19"}],"functionName":{"name":"writeString","nativeSrc":"265688:11:19","nodeType":"YulIdentifier","src":"265688:11:19"},"nativeSrc":"265688:21:19","nodeType":"YulFunctionCall","src":"265688:21:19"},"nativeSrc":"265688:21:19","nodeType":"YulExpressionStatement","src":"265688:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34604,"isOffset":false,"isSlot":false,"src":"265161:2:19","valueSize":1},{"declaration":34607,"isOffset":false,"isSlot":false,"src":"265191:2:19","valueSize":1},{"declaration":34610,"isOffset":false,"isSlot":false,"src":"265221:2:19","valueSize":1},{"declaration":34613,"isOffset":false,"isSlot":false,"src":"265251:2:19","valueSize":1},{"declaration":34616,"isOffset":false,"isSlot":false,"src":"265281:2:19","valueSize":1},{"declaration":34619,"isOffset":false,"isSlot":false,"src":"265311:2:19","valueSize":1},{"declaration":34622,"isOffset":false,"isSlot":false,"src":"265341:2:19","valueSize":1},{"declaration":34625,"isOffset":false,"isSlot":false,"src":"265371:2:19","valueSize":1},{"declaration":34628,"isOffset":false,"isSlot":false,"src":"265401:2:19","valueSize":1},{"declaration":34594,"isOffset":false,"isSlot":false,"src":"265547:2:19","valueSize":1},{"declaration":34596,"isOffset":false,"isSlot":false,"src":"265576:2:19","valueSize":1},{"declaration":34598,"isOffset":false,"isSlot":false,"src":"265672:2:19","valueSize":1},{"declaration":34600,"isOffset":false,"isSlot":false,"src":"265706:2:19","valueSize":1}],"id":34630,"nodeType":"InlineAssembly","src":"264783:936:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"265744:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":34633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"265750:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":34631,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"265728:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"265728:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34635,"nodeType":"ExpressionStatement","src":"265728:28:19"},{"AST":{"nativeSrc":"265818:273:19","nodeType":"YulBlock","src":"265818:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"265839:4:19","nodeType":"YulLiteral","src":"265839:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"265845:2:19","nodeType":"YulIdentifier","src":"265845:2:19"}],"functionName":{"name":"mstore","nativeSrc":"265832:6:19","nodeType":"YulIdentifier","src":"265832:6:19"},"nativeSrc":"265832:16:19","nodeType":"YulFunctionCall","src":"265832:16:19"},"nativeSrc":"265832:16:19","nodeType":"YulExpressionStatement","src":"265832:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265868:4:19","nodeType":"YulLiteral","src":"265868:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"265874:2:19","nodeType":"YulIdentifier","src":"265874:2:19"}],"functionName":{"name":"mstore","nativeSrc":"265861:6:19","nodeType":"YulIdentifier","src":"265861:6:19"},"nativeSrc":"265861:16:19","nodeType":"YulFunctionCall","src":"265861:16:19"},"nativeSrc":"265861:16:19","nodeType":"YulExpressionStatement","src":"265861:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265897:4:19","nodeType":"YulLiteral","src":"265897:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"265903:2:19","nodeType":"YulIdentifier","src":"265903:2:19"}],"functionName":{"name":"mstore","nativeSrc":"265890:6:19","nodeType":"YulIdentifier","src":"265890:6:19"},"nativeSrc":"265890:16:19","nodeType":"YulFunctionCall","src":"265890:16:19"},"nativeSrc":"265890:16:19","nodeType":"YulExpressionStatement","src":"265890:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265926:4:19","nodeType":"YulLiteral","src":"265926:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"265932:2:19","nodeType":"YulIdentifier","src":"265932:2:19"}],"functionName":{"name":"mstore","nativeSrc":"265919:6:19","nodeType":"YulIdentifier","src":"265919:6:19"},"nativeSrc":"265919:16:19","nodeType":"YulFunctionCall","src":"265919:16:19"},"nativeSrc":"265919:16:19","nodeType":"YulExpressionStatement","src":"265919:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265955:4:19","nodeType":"YulLiteral","src":"265955:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"265961:2:19","nodeType":"YulIdentifier","src":"265961:2:19"}],"functionName":{"name":"mstore","nativeSrc":"265948:6:19","nodeType":"YulIdentifier","src":"265948:6:19"},"nativeSrc":"265948:16:19","nodeType":"YulFunctionCall","src":"265948:16:19"},"nativeSrc":"265948:16:19","nodeType":"YulExpressionStatement","src":"265948:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"265984:4:19","nodeType":"YulLiteral","src":"265984:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"265990:2:19","nodeType":"YulIdentifier","src":"265990:2:19"}],"functionName":{"name":"mstore","nativeSrc":"265977:6:19","nodeType":"YulIdentifier","src":"265977:6:19"},"nativeSrc":"265977:16:19","nodeType":"YulFunctionCall","src":"265977:16:19"},"nativeSrc":"265977:16:19","nodeType":"YulExpressionStatement","src":"265977:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266013:4:19","nodeType":"YulLiteral","src":"266013:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"266019:2:19","nodeType":"YulIdentifier","src":"266019:2:19"}],"functionName":{"name":"mstore","nativeSrc":"266006:6:19","nodeType":"YulIdentifier","src":"266006:6:19"},"nativeSrc":"266006:16:19","nodeType":"YulFunctionCall","src":"266006:16:19"},"nativeSrc":"266006:16:19","nodeType":"YulExpressionStatement","src":"266006:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266042:4:19","nodeType":"YulLiteral","src":"266042:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"266048:2:19","nodeType":"YulIdentifier","src":"266048:2:19"}],"functionName":{"name":"mstore","nativeSrc":"266035:6:19","nodeType":"YulIdentifier","src":"266035:6:19"},"nativeSrc":"266035:16:19","nodeType":"YulFunctionCall","src":"266035:16:19"},"nativeSrc":"266035:16:19","nodeType":"YulExpressionStatement","src":"266035:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266071:5:19","nodeType":"YulLiteral","src":"266071:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"266078:2:19","nodeType":"YulIdentifier","src":"266078:2:19"}],"functionName":{"name":"mstore","nativeSrc":"266064:6:19","nodeType":"YulIdentifier","src":"266064:6:19"},"nativeSrc":"266064:17:19","nodeType":"YulFunctionCall","src":"266064:17:19"},"nativeSrc":"266064:17:19","nodeType":"YulExpressionStatement","src":"266064:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34604,"isOffset":false,"isSlot":false,"src":"265845:2:19","valueSize":1},{"declaration":34607,"isOffset":false,"isSlot":false,"src":"265874:2:19","valueSize":1},{"declaration":34610,"isOffset":false,"isSlot":false,"src":"265903:2:19","valueSize":1},{"declaration":34613,"isOffset":false,"isSlot":false,"src":"265932:2:19","valueSize":1},{"declaration":34616,"isOffset":false,"isSlot":false,"src":"265961:2:19","valueSize":1},{"declaration":34619,"isOffset":false,"isSlot":false,"src":"265990:2:19","valueSize":1},{"declaration":34622,"isOffset":false,"isSlot":false,"src":"266019:2:19","valueSize":1},{"declaration":34625,"isOffset":false,"isSlot":false,"src":"266048:2:19","valueSize":1},{"declaration":34628,"isOffset":false,"isSlot":false,"src":"266078:2:19","valueSize":1}],"id":34636,"nodeType":"InlineAssembly","src":"265809:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"264484:3:19","parameters":{"id":34601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34594,"mutability":"mutable","name":"p0","nameLocation":"264496:2:19","nodeType":"VariableDeclaration","scope":34638,"src":"264488:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34593,"name":"uint256","nodeType":"ElementaryTypeName","src":"264488:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34596,"mutability":"mutable","name":"p1","nameLocation":"264508:2:19","nodeType":"VariableDeclaration","scope":34638,"src":"264500:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34595,"name":"address","nodeType":"ElementaryTypeName","src":"264500:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34598,"mutability":"mutable","name":"p2","nameLocation":"264520:2:19","nodeType":"VariableDeclaration","scope":34638,"src":"264512:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34597,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264512:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":34600,"mutability":"mutable","name":"p3","nameLocation":"264532:2:19","nodeType":"VariableDeclaration","scope":34638,"src":"264524:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34599,"name":"bytes32","nodeType":"ElementaryTypeName","src":"264524:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"264487:48:19"},"returnParameters":{"id":34602,"nodeType":"ParameterList","parameters":[],"src":"264550:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34672,"nodeType":"FunctionDefinition","src":"266103:872:19","nodes":[],"body":{"id":34671,"nodeType":"Block","src":"266175:800:19","nodes":[],"statements":[{"assignments":[34650],"declarations":[{"constant":false,"id":34650,"mutability":"mutable","name":"m0","nameLocation":"266193:2:19","nodeType":"VariableDeclaration","scope":34671,"src":"266185:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34649,"name":"bytes32","nodeType":"ElementaryTypeName","src":"266185:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34651,"nodeType":"VariableDeclarationStatement","src":"266185:10:19"},{"assignments":[34653],"declarations":[{"constant":false,"id":34653,"mutability":"mutable","name":"m1","nameLocation":"266213:2:19","nodeType":"VariableDeclaration","scope":34671,"src":"266205:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34652,"name":"bytes32","nodeType":"ElementaryTypeName","src":"266205:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34654,"nodeType":"VariableDeclarationStatement","src":"266205:10:19"},{"assignments":[34656],"declarations":[{"constant":false,"id":34656,"mutability":"mutable","name":"m2","nameLocation":"266233:2:19","nodeType":"VariableDeclaration","scope":34671,"src":"266225:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34655,"name":"bytes32","nodeType":"ElementaryTypeName","src":"266225:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34657,"nodeType":"VariableDeclarationStatement","src":"266225:10:19"},{"assignments":[34659],"declarations":[{"constant":false,"id":34659,"mutability":"mutable","name":"m3","nameLocation":"266253:2:19","nodeType":"VariableDeclaration","scope":34671,"src":"266245:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34658,"name":"bytes32","nodeType":"ElementaryTypeName","src":"266245:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34660,"nodeType":"VariableDeclarationStatement","src":"266245:10:19"},{"assignments":[34662],"declarations":[{"constant":false,"id":34662,"mutability":"mutable","name":"m4","nameLocation":"266273:2:19","nodeType":"VariableDeclaration","scope":34671,"src":"266265:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34661,"name":"bytes32","nodeType":"ElementaryTypeName","src":"266265:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34663,"nodeType":"VariableDeclarationStatement","src":"266265:10:19"},{"AST":{"nativeSrc":"266337:378:19","nodeType":"YulBlock","src":"266337:378:19","statements":[{"nativeSrc":"266351:17:19","nodeType":"YulAssignment","src":"266351:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"266363:4:19","nodeType":"YulLiteral","src":"266363:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"266357:5:19","nodeType":"YulIdentifier","src":"266357:5:19"},"nativeSrc":"266357:11:19","nodeType":"YulFunctionCall","src":"266357:11:19"},"variableNames":[{"name":"m0","nativeSrc":"266351:2:19","nodeType":"YulIdentifier","src":"266351:2:19"}]},{"nativeSrc":"266381:17:19","nodeType":"YulAssignment","src":"266381:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"266393:4:19","nodeType":"YulLiteral","src":"266393:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"266387:5:19","nodeType":"YulIdentifier","src":"266387:5:19"},"nativeSrc":"266387:11:19","nodeType":"YulFunctionCall","src":"266387:11:19"},"variableNames":[{"name":"m1","nativeSrc":"266381:2:19","nodeType":"YulIdentifier","src":"266381:2:19"}]},{"nativeSrc":"266411:17:19","nodeType":"YulAssignment","src":"266411:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"266423:4:19","nodeType":"YulLiteral","src":"266423:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"266417:5:19","nodeType":"YulIdentifier","src":"266417:5:19"},"nativeSrc":"266417:11:19","nodeType":"YulFunctionCall","src":"266417:11:19"},"variableNames":[{"name":"m2","nativeSrc":"266411:2:19","nodeType":"YulIdentifier","src":"266411:2:19"}]},{"nativeSrc":"266441:17:19","nodeType":"YulAssignment","src":"266441:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"266453:4:19","nodeType":"YulLiteral","src":"266453:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"266447:5:19","nodeType":"YulIdentifier","src":"266447:5:19"},"nativeSrc":"266447:11:19","nodeType":"YulFunctionCall","src":"266447:11:19"},"variableNames":[{"name":"m3","nativeSrc":"266441:2:19","nodeType":"YulIdentifier","src":"266441:2:19"}]},{"nativeSrc":"266471:17:19","nodeType":"YulAssignment","src":"266471:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"266483:4:19","nodeType":"YulLiteral","src":"266483:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"266477:5:19","nodeType":"YulIdentifier","src":"266477:5:19"},"nativeSrc":"266477:11:19","nodeType":"YulFunctionCall","src":"266477:11:19"},"variableNames":[{"name":"m4","nativeSrc":"266471:2:19","nodeType":"YulIdentifier","src":"266471:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266572:4:19","nodeType":"YulLiteral","src":"266572:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"266578:10:19","nodeType":"YulLiteral","src":"266578:10:19","type":"","value":"0xa1ef4cbb"}],"functionName":{"name":"mstore","nativeSrc":"266565:6:19","nodeType":"YulIdentifier","src":"266565:6:19"},"nativeSrc":"266565:24:19","nodeType":"YulFunctionCall","src":"266565:24:19"},"nativeSrc":"266565:24:19","nodeType":"YulExpressionStatement","src":"266565:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266609:4:19","nodeType":"YulLiteral","src":"266609:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"266615:2:19","nodeType":"YulIdentifier","src":"266615:2:19"}],"functionName":{"name":"mstore","nativeSrc":"266602:6:19","nodeType":"YulIdentifier","src":"266602:6:19"},"nativeSrc":"266602:16:19","nodeType":"YulFunctionCall","src":"266602:16:19"},"nativeSrc":"266602:16:19","nodeType":"YulExpressionStatement","src":"266602:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266638:4:19","nodeType":"YulLiteral","src":"266638:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"266644:2:19","nodeType":"YulIdentifier","src":"266644:2:19"}],"functionName":{"name":"mstore","nativeSrc":"266631:6:19","nodeType":"YulIdentifier","src":"266631:6:19"},"nativeSrc":"266631:16:19","nodeType":"YulFunctionCall","src":"266631:16:19"},"nativeSrc":"266631:16:19","nodeType":"YulExpressionStatement","src":"266631:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266667:4:19","nodeType":"YulLiteral","src":"266667:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"266673:2:19","nodeType":"YulIdentifier","src":"266673:2:19"}],"functionName":{"name":"mstore","nativeSrc":"266660:6:19","nodeType":"YulIdentifier","src":"266660:6:19"},"nativeSrc":"266660:16:19","nodeType":"YulFunctionCall","src":"266660:16:19"},"nativeSrc":"266660:16:19","nodeType":"YulExpressionStatement","src":"266660:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266696:4:19","nodeType":"YulLiteral","src":"266696:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"266702:2:19","nodeType":"YulIdentifier","src":"266702:2:19"}],"functionName":{"name":"mstore","nativeSrc":"266689:6:19","nodeType":"YulIdentifier","src":"266689:6:19"},"nativeSrc":"266689:16:19","nodeType":"YulFunctionCall","src":"266689:16:19"},"nativeSrc":"266689:16:19","nodeType":"YulExpressionStatement","src":"266689:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34650,"isOffset":false,"isSlot":false,"src":"266351:2:19","valueSize":1},{"declaration":34653,"isOffset":false,"isSlot":false,"src":"266381:2:19","valueSize":1},{"declaration":34656,"isOffset":false,"isSlot":false,"src":"266411:2:19","valueSize":1},{"declaration":34659,"isOffset":false,"isSlot":false,"src":"266441:2:19","valueSize":1},{"declaration":34662,"isOffset":false,"isSlot":false,"src":"266471:2:19","valueSize":1},{"declaration":34640,"isOffset":false,"isSlot":false,"src":"266615:2:19","valueSize":1},{"declaration":34642,"isOffset":false,"isSlot":false,"src":"266644:2:19","valueSize":1},{"declaration":34644,"isOffset":false,"isSlot":false,"src":"266673:2:19","valueSize":1},{"declaration":34646,"isOffset":false,"isSlot":false,"src":"266702:2:19","valueSize":1}],"id":34664,"nodeType":"InlineAssembly","src":"266328:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"266740:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"266746:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":34665,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"266724:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"266724:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34669,"nodeType":"ExpressionStatement","src":"266724:27:19"},{"AST":{"nativeSrc":"266813:156:19","nodeType":"YulBlock","src":"266813:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"266834:4:19","nodeType":"YulLiteral","src":"266834:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"266840:2:19","nodeType":"YulIdentifier","src":"266840:2:19"}],"functionName":{"name":"mstore","nativeSrc":"266827:6:19","nodeType":"YulIdentifier","src":"266827:6:19"},"nativeSrc":"266827:16:19","nodeType":"YulFunctionCall","src":"266827:16:19"},"nativeSrc":"266827:16:19","nodeType":"YulExpressionStatement","src":"266827:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266863:4:19","nodeType":"YulLiteral","src":"266863:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"266869:2:19","nodeType":"YulIdentifier","src":"266869:2:19"}],"functionName":{"name":"mstore","nativeSrc":"266856:6:19","nodeType":"YulIdentifier","src":"266856:6:19"},"nativeSrc":"266856:16:19","nodeType":"YulFunctionCall","src":"266856:16:19"},"nativeSrc":"266856:16:19","nodeType":"YulExpressionStatement","src":"266856:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266892:4:19","nodeType":"YulLiteral","src":"266892:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"266898:2:19","nodeType":"YulIdentifier","src":"266898:2:19"}],"functionName":{"name":"mstore","nativeSrc":"266885:6:19","nodeType":"YulIdentifier","src":"266885:6:19"},"nativeSrc":"266885:16:19","nodeType":"YulFunctionCall","src":"266885:16:19"},"nativeSrc":"266885:16:19","nodeType":"YulExpressionStatement","src":"266885:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266921:4:19","nodeType":"YulLiteral","src":"266921:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"266927:2:19","nodeType":"YulIdentifier","src":"266927:2:19"}],"functionName":{"name":"mstore","nativeSrc":"266914:6:19","nodeType":"YulIdentifier","src":"266914:6:19"},"nativeSrc":"266914:16:19","nodeType":"YulFunctionCall","src":"266914:16:19"},"nativeSrc":"266914:16:19","nodeType":"YulExpressionStatement","src":"266914:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"266950:4:19","nodeType":"YulLiteral","src":"266950:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"266956:2:19","nodeType":"YulIdentifier","src":"266956:2:19"}],"functionName":{"name":"mstore","nativeSrc":"266943:6:19","nodeType":"YulIdentifier","src":"266943:6:19"},"nativeSrc":"266943:16:19","nodeType":"YulFunctionCall","src":"266943:16:19"},"nativeSrc":"266943:16:19","nodeType":"YulExpressionStatement","src":"266943:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34650,"isOffset":false,"isSlot":false,"src":"266840:2:19","valueSize":1},{"declaration":34653,"isOffset":false,"isSlot":false,"src":"266869:2:19","valueSize":1},{"declaration":34656,"isOffset":false,"isSlot":false,"src":"266898:2:19","valueSize":1},{"declaration":34659,"isOffset":false,"isSlot":false,"src":"266927:2:19","valueSize":1},{"declaration":34662,"isOffset":false,"isSlot":false,"src":"266956:2:19","valueSize":1}],"id":34670,"nodeType":"InlineAssembly","src":"266804:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"266112:3:19","parameters":{"id":34647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34640,"mutability":"mutable","name":"p0","nameLocation":"266124:2:19","nodeType":"VariableDeclaration","scope":34672,"src":"266116:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34639,"name":"uint256","nodeType":"ElementaryTypeName","src":"266116:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34642,"mutability":"mutable","name":"p1","nameLocation":"266133:2:19","nodeType":"VariableDeclaration","scope":34672,"src":"266128:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34641,"name":"bool","nodeType":"ElementaryTypeName","src":"266128:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34644,"mutability":"mutable","name":"p2","nameLocation":"266145:2:19","nodeType":"VariableDeclaration","scope":34672,"src":"266137:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34643,"name":"address","nodeType":"ElementaryTypeName","src":"266137:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34646,"mutability":"mutable","name":"p3","nameLocation":"266157:2:19","nodeType":"VariableDeclaration","scope":34672,"src":"266149:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34645,"name":"address","nodeType":"ElementaryTypeName","src":"266149:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"266115:45:19"},"returnParameters":{"id":34648,"nodeType":"ParameterList","parameters":[],"src":"266175:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34706,"nodeType":"FunctionDefinition","src":"266981:866:19","nodes":[],"body":{"id":34705,"nodeType":"Block","src":"267050:797:19","nodes":[],"statements":[{"assignments":[34684],"declarations":[{"constant":false,"id":34684,"mutability":"mutable","name":"m0","nameLocation":"267068:2:19","nodeType":"VariableDeclaration","scope":34705,"src":"267060:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34683,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267060:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34685,"nodeType":"VariableDeclarationStatement","src":"267060:10:19"},{"assignments":[34687],"declarations":[{"constant":false,"id":34687,"mutability":"mutable","name":"m1","nameLocation":"267088:2:19","nodeType":"VariableDeclaration","scope":34705,"src":"267080:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34686,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267080:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34688,"nodeType":"VariableDeclarationStatement","src":"267080:10:19"},{"assignments":[34690],"declarations":[{"constant":false,"id":34690,"mutability":"mutable","name":"m2","nameLocation":"267108:2:19","nodeType":"VariableDeclaration","scope":34705,"src":"267100:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34689,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267100:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34691,"nodeType":"VariableDeclarationStatement","src":"267100:10:19"},{"assignments":[34693],"declarations":[{"constant":false,"id":34693,"mutability":"mutable","name":"m3","nameLocation":"267128:2:19","nodeType":"VariableDeclaration","scope":34705,"src":"267120:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34692,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267120:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34694,"nodeType":"VariableDeclarationStatement","src":"267120:10:19"},{"assignments":[34696],"declarations":[{"constant":false,"id":34696,"mutability":"mutable","name":"m4","nameLocation":"267148:2:19","nodeType":"VariableDeclaration","scope":34705,"src":"267140:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34695,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267140:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34697,"nodeType":"VariableDeclarationStatement","src":"267140:10:19"},{"AST":{"nativeSrc":"267212:375:19","nodeType":"YulBlock","src":"267212:375:19","statements":[{"nativeSrc":"267226:17:19","nodeType":"YulAssignment","src":"267226:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"267238:4:19","nodeType":"YulLiteral","src":"267238:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"267232:5:19","nodeType":"YulIdentifier","src":"267232:5:19"},"nativeSrc":"267232:11:19","nodeType":"YulFunctionCall","src":"267232:11:19"},"variableNames":[{"name":"m0","nativeSrc":"267226:2:19","nodeType":"YulIdentifier","src":"267226:2:19"}]},{"nativeSrc":"267256:17:19","nodeType":"YulAssignment","src":"267256:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"267268:4:19","nodeType":"YulLiteral","src":"267268:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"267262:5:19","nodeType":"YulIdentifier","src":"267262:5:19"},"nativeSrc":"267262:11:19","nodeType":"YulFunctionCall","src":"267262:11:19"},"variableNames":[{"name":"m1","nativeSrc":"267256:2:19","nodeType":"YulIdentifier","src":"267256:2:19"}]},{"nativeSrc":"267286:17:19","nodeType":"YulAssignment","src":"267286:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"267298:4:19","nodeType":"YulLiteral","src":"267298:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"267292:5:19","nodeType":"YulIdentifier","src":"267292:5:19"},"nativeSrc":"267292:11:19","nodeType":"YulFunctionCall","src":"267292:11:19"},"variableNames":[{"name":"m2","nativeSrc":"267286:2:19","nodeType":"YulIdentifier","src":"267286:2:19"}]},{"nativeSrc":"267316:17:19","nodeType":"YulAssignment","src":"267316:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"267328:4:19","nodeType":"YulLiteral","src":"267328:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"267322:5:19","nodeType":"YulIdentifier","src":"267322:5:19"},"nativeSrc":"267322:11:19","nodeType":"YulFunctionCall","src":"267322:11:19"},"variableNames":[{"name":"m3","nativeSrc":"267316:2:19","nodeType":"YulIdentifier","src":"267316:2:19"}]},{"nativeSrc":"267346:17:19","nodeType":"YulAssignment","src":"267346:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"267358:4:19","nodeType":"YulLiteral","src":"267358:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"267352:5:19","nodeType":"YulIdentifier","src":"267352:5:19"},"nativeSrc":"267352:11:19","nodeType":"YulFunctionCall","src":"267352:11:19"},"variableNames":[{"name":"m4","nativeSrc":"267346:2:19","nodeType":"YulIdentifier","src":"267346:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267444:4:19","nodeType":"YulLiteral","src":"267444:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"267450:10:19","nodeType":"YulLiteral","src":"267450:10:19","type":"","value":"0x454d54a5"}],"functionName":{"name":"mstore","nativeSrc":"267437:6:19","nodeType":"YulIdentifier","src":"267437:6:19"},"nativeSrc":"267437:24:19","nodeType":"YulFunctionCall","src":"267437:24:19"},"nativeSrc":"267437:24:19","nodeType":"YulExpressionStatement","src":"267437:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267481:4:19","nodeType":"YulLiteral","src":"267481:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"267487:2:19","nodeType":"YulIdentifier","src":"267487:2:19"}],"functionName":{"name":"mstore","nativeSrc":"267474:6:19","nodeType":"YulIdentifier","src":"267474:6:19"},"nativeSrc":"267474:16:19","nodeType":"YulFunctionCall","src":"267474:16:19"},"nativeSrc":"267474:16:19","nodeType":"YulExpressionStatement","src":"267474:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267510:4:19","nodeType":"YulLiteral","src":"267510:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"267516:2:19","nodeType":"YulIdentifier","src":"267516:2:19"}],"functionName":{"name":"mstore","nativeSrc":"267503:6:19","nodeType":"YulIdentifier","src":"267503:6:19"},"nativeSrc":"267503:16:19","nodeType":"YulFunctionCall","src":"267503:16:19"},"nativeSrc":"267503:16:19","nodeType":"YulExpressionStatement","src":"267503:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267539:4:19","nodeType":"YulLiteral","src":"267539:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"267545:2:19","nodeType":"YulIdentifier","src":"267545:2:19"}],"functionName":{"name":"mstore","nativeSrc":"267532:6:19","nodeType":"YulIdentifier","src":"267532:6:19"},"nativeSrc":"267532:16:19","nodeType":"YulFunctionCall","src":"267532:16:19"},"nativeSrc":"267532:16:19","nodeType":"YulExpressionStatement","src":"267532:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267568:4:19","nodeType":"YulLiteral","src":"267568:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"267574:2:19","nodeType":"YulIdentifier","src":"267574:2:19"}],"functionName":{"name":"mstore","nativeSrc":"267561:6:19","nodeType":"YulIdentifier","src":"267561:6:19"},"nativeSrc":"267561:16:19","nodeType":"YulFunctionCall","src":"267561:16:19"},"nativeSrc":"267561:16:19","nodeType":"YulExpressionStatement","src":"267561:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34684,"isOffset":false,"isSlot":false,"src":"267226:2:19","valueSize":1},{"declaration":34687,"isOffset":false,"isSlot":false,"src":"267256:2:19","valueSize":1},{"declaration":34690,"isOffset":false,"isSlot":false,"src":"267286:2:19","valueSize":1},{"declaration":34693,"isOffset":false,"isSlot":false,"src":"267316:2:19","valueSize":1},{"declaration":34696,"isOffset":false,"isSlot":false,"src":"267346:2:19","valueSize":1},{"declaration":34674,"isOffset":false,"isSlot":false,"src":"267487:2:19","valueSize":1},{"declaration":34676,"isOffset":false,"isSlot":false,"src":"267516:2:19","valueSize":1},{"declaration":34678,"isOffset":false,"isSlot":false,"src":"267545:2:19","valueSize":1},{"declaration":34680,"isOffset":false,"isSlot":false,"src":"267574:2:19","valueSize":1}],"id":34698,"nodeType":"InlineAssembly","src":"267203:384:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"267612:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"267618:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":34699,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"267596:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"267596:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34703,"nodeType":"ExpressionStatement","src":"267596:27:19"},{"AST":{"nativeSrc":"267685:156:19","nodeType":"YulBlock","src":"267685:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"267706:4:19","nodeType":"YulLiteral","src":"267706:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"267712:2:19","nodeType":"YulIdentifier","src":"267712:2:19"}],"functionName":{"name":"mstore","nativeSrc":"267699:6:19","nodeType":"YulIdentifier","src":"267699:6:19"},"nativeSrc":"267699:16:19","nodeType":"YulFunctionCall","src":"267699:16:19"},"nativeSrc":"267699:16:19","nodeType":"YulExpressionStatement","src":"267699:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267735:4:19","nodeType":"YulLiteral","src":"267735:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"267741:2:19","nodeType":"YulIdentifier","src":"267741:2:19"}],"functionName":{"name":"mstore","nativeSrc":"267728:6:19","nodeType":"YulIdentifier","src":"267728:6:19"},"nativeSrc":"267728:16:19","nodeType":"YulFunctionCall","src":"267728:16:19"},"nativeSrc":"267728:16:19","nodeType":"YulExpressionStatement","src":"267728:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267764:4:19","nodeType":"YulLiteral","src":"267764:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"267770:2:19","nodeType":"YulIdentifier","src":"267770:2:19"}],"functionName":{"name":"mstore","nativeSrc":"267757:6:19","nodeType":"YulIdentifier","src":"267757:6:19"},"nativeSrc":"267757:16:19","nodeType":"YulFunctionCall","src":"267757:16:19"},"nativeSrc":"267757:16:19","nodeType":"YulExpressionStatement","src":"267757:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267793:4:19","nodeType":"YulLiteral","src":"267793:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"267799:2:19","nodeType":"YulIdentifier","src":"267799:2:19"}],"functionName":{"name":"mstore","nativeSrc":"267786:6:19","nodeType":"YulIdentifier","src":"267786:6:19"},"nativeSrc":"267786:16:19","nodeType":"YulFunctionCall","src":"267786:16:19"},"nativeSrc":"267786:16:19","nodeType":"YulExpressionStatement","src":"267786:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"267822:4:19","nodeType":"YulLiteral","src":"267822:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"267828:2:19","nodeType":"YulIdentifier","src":"267828:2:19"}],"functionName":{"name":"mstore","nativeSrc":"267815:6:19","nodeType":"YulIdentifier","src":"267815:6:19"},"nativeSrc":"267815:16:19","nodeType":"YulFunctionCall","src":"267815:16:19"},"nativeSrc":"267815:16:19","nodeType":"YulExpressionStatement","src":"267815:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34684,"isOffset":false,"isSlot":false,"src":"267712:2:19","valueSize":1},{"declaration":34687,"isOffset":false,"isSlot":false,"src":"267741:2:19","valueSize":1},{"declaration":34690,"isOffset":false,"isSlot":false,"src":"267770:2:19","valueSize":1},{"declaration":34693,"isOffset":false,"isSlot":false,"src":"267799:2:19","valueSize":1},{"declaration":34696,"isOffset":false,"isSlot":false,"src":"267828:2:19","valueSize":1}],"id":34704,"nodeType":"InlineAssembly","src":"267676:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"266990:3:19","parameters":{"id":34681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34674,"mutability":"mutable","name":"p0","nameLocation":"267002:2:19","nodeType":"VariableDeclaration","scope":34706,"src":"266994:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34673,"name":"uint256","nodeType":"ElementaryTypeName","src":"266994:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34676,"mutability":"mutable","name":"p1","nameLocation":"267011:2:19","nodeType":"VariableDeclaration","scope":34706,"src":"267006:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34675,"name":"bool","nodeType":"ElementaryTypeName","src":"267006:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34678,"mutability":"mutable","name":"p2","nameLocation":"267023:2:19","nodeType":"VariableDeclaration","scope":34706,"src":"267015:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34677,"name":"address","nodeType":"ElementaryTypeName","src":"267015:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34680,"mutability":"mutable","name":"p3","nameLocation":"267032:2:19","nodeType":"VariableDeclaration","scope":34706,"src":"267027:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34679,"name":"bool","nodeType":"ElementaryTypeName","src":"267027:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"266993:42:19"},"returnParameters":{"id":34682,"nodeType":"ParameterList","parameters":[],"src":"267050:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34740,"nodeType":"FunctionDefinition","src":"267853:872:19","nodes":[],"body":{"id":34739,"nodeType":"Block","src":"267925:800:19","nodes":[],"statements":[{"assignments":[34718],"declarations":[{"constant":false,"id":34718,"mutability":"mutable","name":"m0","nameLocation":"267943:2:19","nodeType":"VariableDeclaration","scope":34739,"src":"267935:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34717,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267935:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34719,"nodeType":"VariableDeclarationStatement","src":"267935:10:19"},{"assignments":[34721],"declarations":[{"constant":false,"id":34721,"mutability":"mutable","name":"m1","nameLocation":"267963:2:19","nodeType":"VariableDeclaration","scope":34739,"src":"267955:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34720,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267955:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34722,"nodeType":"VariableDeclarationStatement","src":"267955:10:19"},{"assignments":[34724],"declarations":[{"constant":false,"id":34724,"mutability":"mutable","name":"m2","nameLocation":"267983:2:19","nodeType":"VariableDeclaration","scope":34739,"src":"267975:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34723,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267975:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34725,"nodeType":"VariableDeclarationStatement","src":"267975:10:19"},{"assignments":[34727],"declarations":[{"constant":false,"id":34727,"mutability":"mutable","name":"m3","nameLocation":"268003:2:19","nodeType":"VariableDeclaration","scope":34739,"src":"267995:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34726,"name":"bytes32","nodeType":"ElementaryTypeName","src":"267995:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34728,"nodeType":"VariableDeclarationStatement","src":"267995:10:19"},{"assignments":[34730],"declarations":[{"constant":false,"id":34730,"mutability":"mutable","name":"m4","nameLocation":"268023:2:19","nodeType":"VariableDeclaration","scope":34739,"src":"268015:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34729,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268015:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34731,"nodeType":"VariableDeclarationStatement","src":"268015:10:19"},{"AST":{"nativeSrc":"268087:378:19","nodeType":"YulBlock","src":"268087:378:19","statements":[{"nativeSrc":"268101:17:19","nodeType":"YulAssignment","src":"268101:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"268113:4:19","nodeType":"YulLiteral","src":"268113:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"268107:5:19","nodeType":"YulIdentifier","src":"268107:5:19"},"nativeSrc":"268107:11:19","nodeType":"YulFunctionCall","src":"268107:11:19"},"variableNames":[{"name":"m0","nativeSrc":"268101:2:19","nodeType":"YulIdentifier","src":"268101:2:19"}]},{"nativeSrc":"268131:17:19","nodeType":"YulAssignment","src":"268131:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"268143:4:19","nodeType":"YulLiteral","src":"268143:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"268137:5:19","nodeType":"YulIdentifier","src":"268137:5:19"},"nativeSrc":"268137:11:19","nodeType":"YulFunctionCall","src":"268137:11:19"},"variableNames":[{"name":"m1","nativeSrc":"268131:2:19","nodeType":"YulIdentifier","src":"268131:2:19"}]},{"nativeSrc":"268161:17:19","nodeType":"YulAssignment","src":"268161:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"268173:4:19","nodeType":"YulLiteral","src":"268173:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"268167:5:19","nodeType":"YulIdentifier","src":"268167:5:19"},"nativeSrc":"268167:11:19","nodeType":"YulFunctionCall","src":"268167:11:19"},"variableNames":[{"name":"m2","nativeSrc":"268161:2:19","nodeType":"YulIdentifier","src":"268161:2:19"}]},{"nativeSrc":"268191:17:19","nodeType":"YulAssignment","src":"268191:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"268203:4:19","nodeType":"YulLiteral","src":"268203:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"268197:5:19","nodeType":"YulIdentifier","src":"268197:5:19"},"nativeSrc":"268197:11:19","nodeType":"YulFunctionCall","src":"268197:11:19"},"variableNames":[{"name":"m3","nativeSrc":"268191:2:19","nodeType":"YulIdentifier","src":"268191:2:19"}]},{"nativeSrc":"268221:17:19","nodeType":"YulAssignment","src":"268221:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"268233:4:19","nodeType":"YulLiteral","src":"268233:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"268227:5:19","nodeType":"YulIdentifier","src":"268227:5:19"},"nativeSrc":"268227:11:19","nodeType":"YulFunctionCall","src":"268227:11:19"},"variableNames":[{"name":"m4","nativeSrc":"268221:2:19","nodeType":"YulIdentifier","src":"268221:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268322:4:19","nodeType":"YulLiteral","src":"268322:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"268328:10:19","nodeType":"YulLiteral","src":"268328:10:19","type":"","value":"0x078287f5"}],"functionName":{"name":"mstore","nativeSrc":"268315:6:19","nodeType":"YulIdentifier","src":"268315:6:19"},"nativeSrc":"268315:24:19","nodeType":"YulFunctionCall","src":"268315:24:19"},"nativeSrc":"268315:24:19","nodeType":"YulExpressionStatement","src":"268315:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268359:4:19","nodeType":"YulLiteral","src":"268359:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"268365:2:19","nodeType":"YulIdentifier","src":"268365:2:19"}],"functionName":{"name":"mstore","nativeSrc":"268352:6:19","nodeType":"YulIdentifier","src":"268352:6:19"},"nativeSrc":"268352:16:19","nodeType":"YulFunctionCall","src":"268352:16:19"},"nativeSrc":"268352:16:19","nodeType":"YulExpressionStatement","src":"268352:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268388:4:19","nodeType":"YulLiteral","src":"268388:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"268394:2:19","nodeType":"YulIdentifier","src":"268394:2:19"}],"functionName":{"name":"mstore","nativeSrc":"268381:6:19","nodeType":"YulIdentifier","src":"268381:6:19"},"nativeSrc":"268381:16:19","nodeType":"YulFunctionCall","src":"268381:16:19"},"nativeSrc":"268381:16:19","nodeType":"YulExpressionStatement","src":"268381:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268417:4:19","nodeType":"YulLiteral","src":"268417:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"268423:2:19","nodeType":"YulIdentifier","src":"268423:2:19"}],"functionName":{"name":"mstore","nativeSrc":"268410:6:19","nodeType":"YulIdentifier","src":"268410:6:19"},"nativeSrc":"268410:16:19","nodeType":"YulFunctionCall","src":"268410:16:19"},"nativeSrc":"268410:16:19","nodeType":"YulExpressionStatement","src":"268410:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268446:4:19","nodeType":"YulLiteral","src":"268446:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"268452:2:19","nodeType":"YulIdentifier","src":"268452:2:19"}],"functionName":{"name":"mstore","nativeSrc":"268439:6:19","nodeType":"YulIdentifier","src":"268439:6:19"},"nativeSrc":"268439:16:19","nodeType":"YulFunctionCall","src":"268439:16:19"},"nativeSrc":"268439:16:19","nodeType":"YulExpressionStatement","src":"268439:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34718,"isOffset":false,"isSlot":false,"src":"268101:2:19","valueSize":1},{"declaration":34721,"isOffset":false,"isSlot":false,"src":"268131:2:19","valueSize":1},{"declaration":34724,"isOffset":false,"isSlot":false,"src":"268161:2:19","valueSize":1},{"declaration":34727,"isOffset":false,"isSlot":false,"src":"268191:2:19","valueSize":1},{"declaration":34730,"isOffset":false,"isSlot":false,"src":"268221:2:19","valueSize":1},{"declaration":34708,"isOffset":false,"isSlot":false,"src":"268365:2:19","valueSize":1},{"declaration":34710,"isOffset":false,"isSlot":false,"src":"268394:2:19","valueSize":1},{"declaration":34712,"isOffset":false,"isSlot":false,"src":"268423:2:19","valueSize":1},{"declaration":34714,"isOffset":false,"isSlot":false,"src":"268452:2:19","valueSize":1}],"id":34732,"nodeType":"InlineAssembly","src":"268078:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"268490:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"268496:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":34733,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"268474:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"268474:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34737,"nodeType":"ExpressionStatement","src":"268474:27:19"},{"AST":{"nativeSrc":"268563:156:19","nodeType":"YulBlock","src":"268563:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"268584:4:19","nodeType":"YulLiteral","src":"268584:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"268590:2:19","nodeType":"YulIdentifier","src":"268590:2:19"}],"functionName":{"name":"mstore","nativeSrc":"268577:6:19","nodeType":"YulIdentifier","src":"268577:6:19"},"nativeSrc":"268577:16:19","nodeType":"YulFunctionCall","src":"268577:16:19"},"nativeSrc":"268577:16:19","nodeType":"YulExpressionStatement","src":"268577:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268613:4:19","nodeType":"YulLiteral","src":"268613:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"268619:2:19","nodeType":"YulIdentifier","src":"268619:2:19"}],"functionName":{"name":"mstore","nativeSrc":"268606:6:19","nodeType":"YulIdentifier","src":"268606:6:19"},"nativeSrc":"268606:16:19","nodeType":"YulFunctionCall","src":"268606:16:19"},"nativeSrc":"268606:16:19","nodeType":"YulExpressionStatement","src":"268606:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268642:4:19","nodeType":"YulLiteral","src":"268642:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"268648:2:19","nodeType":"YulIdentifier","src":"268648:2:19"}],"functionName":{"name":"mstore","nativeSrc":"268635:6:19","nodeType":"YulIdentifier","src":"268635:6:19"},"nativeSrc":"268635:16:19","nodeType":"YulFunctionCall","src":"268635:16:19"},"nativeSrc":"268635:16:19","nodeType":"YulExpressionStatement","src":"268635:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268671:4:19","nodeType":"YulLiteral","src":"268671:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"268677:2:19","nodeType":"YulIdentifier","src":"268677:2:19"}],"functionName":{"name":"mstore","nativeSrc":"268664:6:19","nodeType":"YulIdentifier","src":"268664:6:19"},"nativeSrc":"268664:16:19","nodeType":"YulFunctionCall","src":"268664:16:19"},"nativeSrc":"268664:16:19","nodeType":"YulExpressionStatement","src":"268664:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"268700:4:19","nodeType":"YulLiteral","src":"268700:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"268706:2:19","nodeType":"YulIdentifier","src":"268706:2:19"}],"functionName":{"name":"mstore","nativeSrc":"268693:6:19","nodeType":"YulIdentifier","src":"268693:6:19"},"nativeSrc":"268693:16:19","nodeType":"YulFunctionCall","src":"268693:16:19"},"nativeSrc":"268693:16:19","nodeType":"YulExpressionStatement","src":"268693:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34718,"isOffset":false,"isSlot":false,"src":"268590:2:19","valueSize":1},{"declaration":34721,"isOffset":false,"isSlot":false,"src":"268619:2:19","valueSize":1},{"declaration":34724,"isOffset":false,"isSlot":false,"src":"268648:2:19","valueSize":1},{"declaration":34727,"isOffset":false,"isSlot":false,"src":"268677:2:19","valueSize":1},{"declaration":34730,"isOffset":false,"isSlot":false,"src":"268706:2:19","valueSize":1}],"id":34738,"nodeType":"InlineAssembly","src":"268554:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"267862:3:19","parameters":{"id":34715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34708,"mutability":"mutable","name":"p0","nameLocation":"267874:2:19","nodeType":"VariableDeclaration","scope":34740,"src":"267866:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34707,"name":"uint256","nodeType":"ElementaryTypeName","src":"267866:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34710,"mutability":"mutable","name":"p1","nameLocation":"267883:2:19","nodeType":"VariableDeclaration","scope":34740,"src":"267878:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34709,"name":"bool","nodeType":"ElementaryTypeName","src":"267878:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34712,"mutability":"mutable","name":"p2","nameLocation":"267895:2:19","nodeType":"VariableDeclaration","scope":34740,"src":"267887:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34711,"name":"address","nodeType":"ElementaryTypeName","src":"267887:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34714,"mutability":"mutable","name":"p3","nameLocation":"267907:2:19","nodeType":"VariableDeclaration","scope":34740,"src":"267899:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34713,"name":"uint256","nodeType":"ElementaryTypeName","src":"267899:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"267865:45:19"},"returnParameters":{"id":34716,"nodeType":"ParameterList","parameters":[],"src":"267925:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34780,"nodeType":"FunctionDefinition","src":"268731:1420:19","nodes":[],"body":{"id":34779,"nodeType":"Block","src":"268803:1348:19","nodes":[],"statements":[{"assignments":[34752],"declarations":[{"constant":false,"id":34752,"mutability":"mutable","name":"m0","nameLocation":"268821:2:19","nodeType":"VariableDeclaration","scope":34779,"src":"268813:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34751,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268813:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34753,"nodeType":"VariableDeclarationStatement","src":"268813:10:19"},{"assignments":[34755],"declarations":[{"constant":false,"id":34755,"mutability":"mutable","name":"m1","nameLocation":"268841:2:19","nodeType":"VariableDeclaration","scope":34779,"src":"268833:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34754,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268833:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34756,"nodeType":"VariableDeclarationStatement","src":"268833:10:19"},{"assignments":[34758],"declarations":[{"constant":false,"id":34758,"mutability":"mutable","name":"m2","nameLocation":"268861:2:19","nodeType":"VariableDeclaration","scope":34779,"src":"268853:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34757,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268853:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34759,"nodeType":"VariableDeclarationStatement","src":"268853:10:19"},{"assignments":[34761],"declarations":[{"constant":false,"id":34761,"mutability":"mutable","name":"m3","nameLocation":"268881:2:19","nodeType":"VariableDeclaration","scope":34779,"src":"268873:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34760,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268873:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34762,"nodeType":"VariableDeclarationStatement","src":"268873:10:19"},{"assignments":[34764],"declarations":[{"constant":false,"id":34764,"mutability":"mutable","name":"m4","nameLocation":"268901:2:19","nodeType":"VariableDeclaration","scope":34779,"src":"268893:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34763,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268893:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34765,"nodeType":"VariableDeclarationStatement","src":"268893:10:19"},{"assignments":[34767],"declarations":[{"constant":false,"id":34767,"mutability":"mutable","name":"m5","nameLocation":"268921:2:19","nodeType":"VariableDeclaration","scope":34779,"src":"268913:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34766,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268913:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34768,"nodeType":"VariableDeclarationStatement","src":"268913:10:19"},{"assignments":[34770],"declarations":[{"constant":false,"id":34770,"mutability":"mutable","name":"m6","nameLocation":"268941:2:19","nodeType":"VariableDeclaration","scope":34779,"src":"268933:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34769,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268933:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34771,"nodeType":"VariableDeclarationStatement","src":"268933:10:19"},{"AST":{"nativeSrc":"269005:828:19","nodeType":"YulBlock","src":"269005:828:19","statements":[{"body":{"nativeSrc":"269048:313:19","nodeType":"YulBlock","src":"269048:313:19","statements":[{"nativeSrc":"269066:15:19","nodeType":"YulVariableDeclaration","src":"269066:15:19","value":{"kind":"number","nativeSrc":"269080:1:19","nodeType":"YulLiteral","src":"269080:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"269070:6:19","nodeType":"YulTypedName","src":"269070:6:19","type":""}]},{"body":{"nativeSrc":"269151:40:19","nodeType":"YulBlock","src":"269151:40:19","statements":[{"body":{"nativeSrc":"269180:9:19","nodeType":"YulBlock","src":"269180:9:19","statements":[{"nativeSrc":"269182:5:19","nodeType":"YulBreak","src":"269182:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"269168:6:19","nodeType":"YulIdentifier","src":"269168:6:19"},{"name":"w","nativeSrc":"269176:1:19","nodeType":"YulIdentifier","src":"269176:1:19"}],"functionName":{"name":"byte","nativeSrc":"269163:4:19","nodeType":"YulIdentifier","src":"269163:4:19"},"nativeSrc":"269163:15:19","nodeType":"YulFunctionCall","src":"269163:15:19"}],"functionName":{"name":"iszero","nativeSrc":"269156:6:19","nodeType":"YulIdentifier","src":"269156:6:19"},"nativeSrc":"269156:23:19","nodeType":"YulFunctionCall","src":"269156:23:19"},"nativeSrc":"269153:36:19","nodeType":"YulIf","src":"269153:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"269108:6:19","nodeType":"YulIdentifier","src":"269108:6:19"},{"kind":"number","nativeSrc":"269116:4:19","nodeType":"YulLiteral","src":"269116:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"269105:2:19","nodeType":"YulIdentifier","src":"269105:2:19"},"nativeSrc":"269105:16:19","nodeType":"YulFunctionCall","src":"269105:16:19"},"nativeSrc":"269098:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"269122:28:19","nodeType":"YulBlock","src":"269122:28:19","statements":[{"nativeSrc":"269124:24:19","nodeType":"YulAssignment","src":"269124:24:19","value":{"arguments":[{"name":"length","nativeSrc":"269138:6:19","nodeType":"YulIdentifier","src":"269138:6:19"},{"kind":"number","nativeSrc":"269146:1:19","nodeType":"YulLiteral","src":"269146:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"269134:3:19","nodeType":"YulIdentifier","src":"269134:3:19"},"nativeSrc":"269134:14:19","nodeType":"YulFunctionCall","src":"269134:14:19"},"variableNames":[{"name":"length","nativeSrc":"269124:6:19","nodeType":"YulIdentifier","src":"269124:6:19"}]}]},"pre":{"nativeSrc":"269102:2:19","nodeType":"YulBlock","src":"269102:2:19","statements":[]},"src":"269098:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"269215:3:19","nodeType":"YulIdentifier","src":"269215:3:19"},{"name":"length","nativeSrc":"269220:6:19","nodeType":"YulIdentifier","src":"269220:6:19"}],"functionName":{"name":"mstore","nativeSrc":"269208:6:19","nodeType":"YulIdentifier","src":"269208:6:19"},"nativeSrc":"269208:19:19","nodeType":"YulFunctionCall","src":"269208:19:19"},"nativeSrc":"269208:19:19","nodeType":"YulExpressionStatement","src":"269208:19:19"},{"nativeSrc":"269244:37:19","nodeType":"YulVariableDeclaration","src":"269244:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"269261:3:19","nodeType":"YulLiteral","src":"269261:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"269270:1:19","nodeType":"YulLiteral","src":"269270:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"269273:6:19","nodeType":"YulIdentifier","src":"269273:6:19"}],"functionName":{"name":"shl","nativeSrc":"269266:3:19","nodeType":"YulIdentifier","src":"269266:3:19"},"nativeSrc":"269266:14:19","nodeType":"YulFunctionCall","src":"269266:14:19"}],"functionName":{"name":"sub","nativeSrc":"269257:3:19","nodeType":"YulIdentifier","src":"269257:3:19"},"nativeSrc":"269257:24:19","nodeType":"YulFunctionCall","src":"269257:24:19"},"variables":[{"name":"shift","nativeSrc":"269248:5:19","nodeType":"YulTypedName","src":"269248:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"269309:3:19","nodeType":"YulIdentifier","src":"269309:3:19"},{"kind":"number","nativeSrc":"269314:4:19","nodeType":"YulLiteral","src":"269314:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"269305:3:19","nodeType":"YulIdentifier","src":"269305:3:19"},"nativeSrc":"269305:14:19","nodeType":"YulFunctionCall","src":"269305:14:19"},{"arguments":[{"name":"shift","nativeSrc":"269325:5:19","nodeType":"YulIdentifier","src":"269325:5:19"},{"arguments":[{"name":"shift","nativeSrc":"269336:5:19","nodeType":"YulIdentifier","src":"269336:5:19"},{"name":"w","nativeSrc":"269343:1:19","nodeType":"YulIdentifier","src":"269343:1:19"}],"functionName":{"name":"shr","nativeSrc":"269332:3:19","nodeType":"YulIdentifier","src":"269332:3:19"},"nativeSrc":"269332:13:19","nodeType":"YulFunctionCall","src":"269332:13:19"}],"functionName":{"name":"shl","nativeSrc":"269321:3:19","nodeType":"YulIdentifier","src":"269321:3:19"},"nativeSrc":"269321:25:19","nodeType":"YulFunctionCall","src":"269321:25:19"}],"functionName":{"name":"mstore","nativeSrc":"269298:6:19","nodeType":"YulIdentifier","src":"269298:6:19"},"nativeSrc":"269298:49:19","nodeType":"YulFunctionCall","src":"269298:49:19"},"nativeSrc":"269298:49:19","nodeType":"YulExpressionStatement","src":"269298:49:19"}]},"name":"writeString","nativeSrc":"269019:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"269040:3:19","nodeType":"YulTypedName","src":"269040:3:19","type":""},{"name":"w","nativeSrc":"269045:1:19","nodeType":"YulTypedName","src":"269045:1:19","type":""}],"src":"269019:342:19"},{"nativeSrc":"269374:17:19","nodeType":"YulAssignment","src":"269374:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"269386:4:19","nodeType":"YulLiteral","src":"269386:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"269380:5:19","nodeType":"YulIdentifier","src":"269380:5:19"},"nativeSrc":"269380:11:19","nodeType":"YulFunctionCall","src":"269380:11:19"},"variableNames":[{"name":"m0","nativeSrc":"269374:2:19","nodeType":"YulIdentifier","src":"269374:2:19"}]},{"nativeSrc":"269404:17:19","nodeType":"YulAssignment","src":"269404:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"269416:4:19","nodeType":"YulLiteral","src":"269416:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"269410:5:19","nodeType":"YulIdentifier","src":"269410:5:19"},"nativeSrc":"269410:11:19","nodeType":"YulFunctionCall","src":"269410:11:19"},"variableNames":[{"name":"m1","nativeSrc":"269404:2:19","nodeType":"YulIdentifier","src":"269404:2:19"}]},{"nativeSrc":"269434:17:19","nodeType":"YulAssignment","src":"269434:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"269446:4:19","nodeType":"YulLiteral","src":"269446:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"269440:5:19","nodeType":"YulIdentifier","src":"269440:5:19"},"nativeSrc":"269440:11:19","nodeType":"YulFunctionCall","src":"269440:11:19"},"variableNames":[{"name":"m2","nativeSrc":"269434:2:19","nodeType":"YulIdentifier","src":"269434:2:19"}]},{"nativeSrc":"269464:17:19","nodeType":"YulAssignment","src":"269464:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"269476:4:19","nodeType":"YulLiteral","src":"269476:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"269470:5:19","nodeType":"YulIdentifier","src":"269470:5:19"},"nativeSrc":"269470:11:19","nodeType":"YulFunctionCall","src":"269470:11:19"},"variableNames":[{"name":"m3","nativeSrc":"269464:2:19","nodeType":"YulIdentifier","src":"269464:2:19"}]},{"nativeSrc":"269494:17:19","nodeType":"YulAssignment","src":"269494:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"269506:4:19","nodeType":"YulLiteral","src":"269506:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"269500:5:19","nodeType":"YulIdentifier","src":"269500:5:19"},"nativeSrc":"269500:11:19","nodeType":"YulFunctionCall","src":"269500:11:19"},"variableNames":[{"name":"m4","nativeSrc":"269494:2:19","nodeType":"YulIdentifier","src":"269494:2:19"}]},{"nativeSrc":"269524:17:19","nodeType":"YulAssignment","src":"269524:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"269536:4:19","nodeType":"YulLiteral","src":"269536:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"269530:5:19","nodeType":"YulIdentifier","src":"269530:5:19"},"nativeSrc":"269530:11:19","nodeType":"YulFunctionCall","src":"269530:11:19"},"variableNames":[{"name":"m5","nativeSrc":"269524:2:19","nodeType":"YulIdentifier","src":"269524:2:19"}]},{"nativeSrc":"269554:17:19","nodeType":"YulAssignment","src":"269554:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"269566:4:19","nodeType":"YulLiteral","src":"269566:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"269560:5:19","nodeType":"YulIdentifier","src":"269560:5:19"},"nativeSrc":"269560:11:19","nodeType":"YulFunctionCall","src":"269560:11:19"},"variableNames":[{"name":"m6","nativeSrc":"269554:2:19","nodeType":"YulIdentifier","src":"269554:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"269654:4:19","nodeType":"YulLiteral","src":"269654:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"269660:10:19","nodeType":"YulLiteral","src":"269660:10:19","type":"","value":"0xade052c7"}],"functionName":{"name":"mstore","nativeSrc":"269647:6:19","nodeType":"YulIdentifier","src":"269647:6:19"},"nativeSrc":"269647:24:19","nodeType":"YulFunctionCall","src":"269647:24:19"},"nativeSrc":"269647:24:19","nodeType":"YulExpressionStatement","src":"269647:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"269691:4:19","nodeType":"YulLiteral","src":"269691:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"269697:2:19","nodeType":"YulIdentifier","src":"269697:2:19"}],"functionName":{"name":"mstore","nativeSrc":"269684:6:19","nodeType":"YulIdentifier","src":"269684:6:19"},"nativeSrc":"269684:16:19","nodeType":"YulFunctionCall","src":"269684:16:19"},"nativeSrc":"269684:16:19","nodeType":"YulExpressionStatement","src":"269684:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"269720:4:19","nodeType":"YulLiteral","src":"269720:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"269726:2:19","nodeType":"YulIdentifier","src":"269726:2:19"}],"functionName":{"name":"mstore","nativeSrc":"269713:6:19","nodeType":"YulIdentifier","src":"269713:6:19"},"nativeSrc":"269713:16:19","nodeType":"YulFunctionCall","src":"269713:16:19"},"nativeSrc":"269713:16:19","nodeType":"YulExpressionStatement","src":"269713:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"269749:4:19","nodeType":"YulLiteral","src":"269749:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"269755:2:19","nodeType":"YulIdentifier","src":"269755:2:19"}],"functionName":{"name":"mstore","nativeSrc":"269742:6:19","nodeType":"YulIdentifier","src":"269742:6:19"},"nativeSrc":"269742:16:19","nodeType":"YulFunctionCall","src":"269742:16:19"},"nativeSrc":"269742:16:19","nodeType":"YulExpressionStatement","src":"269742:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"269778:4:19","nodeType":"YulLiteral","src":"269778:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"269784:4:19","nodeType":"YulLiteral","src":"269784:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"269771:6:19","nodeType":"YulIdentifier","src":"269771:6:19"},"nativeSrc":"269771:18:19","nodeType":"YulFunctionCall","src":"269771:18:19"},"nativeSrc":"269771:18:19","nodeType":"YulExpressionStatement","src":"269771:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"269814:4:19","nodeType":"YulLiteral","src":"269814:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"269820:2:19","nodeType":"YulIdentifier","src":"269820:2:19"}],"functionName":{"name":"writeString","nativeSrc":"269802:11:19","nodeType":"YulIdentifier","src":"269802:11:19"},"nativeSrc":"269802:21:19","nodeType":"YulFunctionCall","src":"269802:21:19"},"nativeSrc":"269802:21:19","nodeType":"YulExpressionStatement","src":"269802:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34752,"isOffset":false,"isSlot":false,"src":"269374:2:19","valueSize":1},{"declaration":34755,"isOffset":false,"isSlot":false,"src":"269404:2:19","valueSize":1},{"declaration":34758,"isOffset":false,"isSlot":false,"src":"269434:2:19","valueSize":1},{"declaration":34761,"isOffset":false,"isSlot":false,"src":"269464:2:19","valueSize":1},{"declaration":34764,"isOffset":false,"isSlot":false,"src":"269494:2:19","valueSize":1},{"declaration":34767,"isOffset":false,"isSlot":false,"src":"269524:2:19","valueSize":1},{"declaration":34770,"isOffset":false,"isSlot":false,"src":"269554:2:19","valueSize":1},{"declaration":34742,"isOffset":false,"isSlot":false,"src":"269697:2:19","valueSize":1},{"declaration":34744,"isOffset":false,"isSlot":false,"src":"269726:2:19","valueSize":1},{"declaration":34746,"isOffset":false,"isSlot":false,"src":"269755:2:19","valueSize":1},{"declaration":34748,"isOffset":false,"isSlot":false,"src":"269820:2:19","valueSize":1}],"id":34772,"nodeType":"InlineAssembly","src":"268996:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"269858:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"269864:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":34773,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"269842:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"269842:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34777,"nodeType":"ExpressionStatement","src":"269842:27:19"},{"AST":{"nativeSrc":"269931:214:19","nodeType":"YulBlock","src":"269931:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"269952:4:19","nodeType":"YulLiteral","src":"269952:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"269958:2:19","nodeType":"YulIdentifier","src":"269958:2:19"}],"functionName":{"name":"mstore","nativeSrc":"269945:6:19","nodeType":"YulIdentifier","src":"269945:6:19"},"nativeSrc":"269945:16:19","nodeType":"YulFunctionCall","src":"269945:16:19"},"nativeSrc":"269945:16:19","nodeType":"YulExpressionStatement","src":"269945:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"269981:4:19","nodeType":"YulLiteral","src":"269981:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"269987:2:19","nodeType":"YulIdentifier","src":"269987:2:19"}],"functionName":{"name":"mstore","nativeSrc":"269974:6:19","nodeType":"YulIdentifier","src":"269974:6:19"},"nativeSrc":"269974:16:19","nodeType":"YulFunctionCall","src":"269974:16:19"},"nativeSrc":"269974:16:19","nodeType":"YulExpressionStatement","src":"269974:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270010:4:19","nodeType":"YulLiteral","src":"270010:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"270016:2:19","nodeType":"YulIdentifier","src":"270016:2:19"}],"functionName":{"name":"mstore","nativeSrc":"270003:6:19","nodeType":"YulIdentifier","src":"270003:6:19"},"nativeSrc":"270003:16:19","nodeType":"YulFunctionCall","src":"270003:16:19"},"nativeSrc":"270003:16:19","nodeType":"YulExpressionStatement","src":"270003:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270039:4:19","nodeType":"YulLiteral","src":"270039:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"270045:2:19","nodeType":"YulIdentifier","src":"270045:2:19"}],"functionName":{"name":"mstore","nativeSrc":"270032:6:19","nodeType":"YulIdentifier","src":"270032:6:19"},"nativeSrc":"270032:16:19","nodeType":"YulFunctionCall","src":"270032:16:19"},"nativeSrc":"270032:16:19","nodeType":"YulExpressionStatement","src":"270032:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270068:4:19","nodeType":"YulLiteral","src":"270068:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"270074:2:19","nodeType":"YulIdentifier","src":"270074:2:19"}],"functionName":{"name":"mstore","nativeSrc":"270061:6:19","nodeType":"YulIdentifier","src":"270061:6:19"},"nativeSrc":"270061:16:19","nodeType":"YulFunctionCall","src":"270061:16:19"},"nativeSrc":"270061:16:19","nodeType":"YulExpressionStatement","src":"270061:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270097:4:19","nodeType":"YulLiteral","src":"270097:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"270103:2:19","nodeType":"YulIdentifier","src":"270103:2:19"}],"functionName":{"name":"mstore","nativeSrc":"270090:6:19","nodeType":"YulIdentifier","src":"270090:6:19"},"nativeSrc":"270090:16:19","nodeType":"YulFunctionCall","src":"270090:16:19"},"nativeSrc":"270090:16:19","nodeType":"YulExpressionStatement","src":"270090:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270126:4:19","nodeType":"YulLiteral","src":"270126:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"270132:2:19","nodeType":"YulIdentifier","src":"270132:2:19"}],"functionName":{"name":"mstore","nativeSrc":"270119:6:19","nodeType":"YulIdentifier","src":"270119:6:19"},"nativeSrc":"270119:16:19","nodeType":"YulFunctionCall","src":"270119:16:19"},"nativeSrc":"270119:16:19","nodeType":"YulExpressionStatement","src":"270119:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34752,"isOffset":false,"isSlot":false,"src":"269958:2:19","valueSize":1},{"declaration":34755,"isOffset":false,"isSlot":false,"src":"269987:2:19","valueSize":1},{"declaration":34758,"isOffset":false,"isSlot":false,"src":"270016:2:19","valueSize":1},{"declaration":34761,"isOffset":false,"isSlot":false,"src":"270045:2:19","valueSize":1},{"declaration":34764,"isOffset":false,"isSlot":false,"src":"270074:2:19","valueSize":1},{"declaration":34767,"isOffset":false,"isSlot":false,"src":"270103:2:19","valueSize":1},{"declaration":34770,"isOffset":false,"isSlot":false,"src":"270132:2:19","valueSize":1}],"id":34778,"nodeType":"InlineAssembly","src":"269922:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"268740:3:19","parameters":{"id":34749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34742,"mutability":"mutable","name":"p0","nameLocation":"268752:2:19","nodeType":"VariableDeclaration","scope":34780,"src":"268744:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34741,"name":"uint256","nodeType":"ElementaryTypeName","src":"268744:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34744,"mutability":"mutable","name":"p1","nameLocation":"268761:2:19","nodeType":"VariableDeclaration","scope":34780,"src":"268756:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34743,"name":"bool","nodeType":"ElementaryTypeName","src":"268756:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34746,"mutability":"mutable","name":"p2","nameLocation":"268773:2:19","nodeType":"VariableDeclaration","scope":34780,"src":"268765:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34745,"name":"address","nodeType":"ElementaryTypeName","src":"268765:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34748,"mutability":"mutable","name":"p3","nameLocation":"268785:2:19","nodeType":"VariableDeclaration","scope":34780,"src":"268777:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34747,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268777:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"268743:45:19"},"returnParameters":{"id":34750,"nodeType":"ParameterList","parameters":[],"src":"268803:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34814,"nodeType":"FunctionDefinition","src":"270157:866:19","nodes":[],"body":{"id":34813,"nodeType":"Block","src":"270226:797:19","nodes":[],"statements":[{"assignments":[34792],"declarations":[{"constant":false,"id":34792,"mutability":"mutable","name":"m0","nameLocation":"270244:2:19","nodeType":"VariableDeclaration","scope":34813,"src":"270236:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34791,"name":"bytes32","nodeType":"ElementaryTypeName","src":"270236:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34793,"nodeType":"VariableDeclarationStatement","src":"270236:10:19"},{"assignments":[34795],"declarations":[{"constant":false,"id":34795,"mutability":"mutable","name":"m1","nameLocation":"270264:2:19","nodeType":"VariableDeclaration","scope":34813,"src":"270256:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34794,"name":"bytes32","nodeType":"ElementaryTypeName","src":"270256:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34796,"nodeType":"VariableDeclarationStatement","src":"270256:10:19"},{"assignments":[34798],"declarations":[{"constant":false,"id":34798,"mutability":"mutable","name":"m2","nameLocation":"270284:2:19","nodeType":"VariableDeclaration","scope":34813,"src":"270276:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34797,"name":"bytes32","nodeType":"ElementaryTypeName","src":"270276:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34799,"nodeType":"VariableDeclarationStatement","src":"270276:10:19"},{"assignments":[34801],"declarations":[{"constant":false,"id":34801,"mutability":"mutable","name":"m3","nameLocation":"270304:2:19","nodeType":"VariableDeclaration","scope":34813,"src":"270296:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34800,"name":"bytes32","nodeType":"ElementaryTypeName","src":"270296:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34802,"nodeType":"VariableDeclarationStatement","src":"270296:10:19"},{"assignments":[34804],"declarations":[{"constant":false,"id":34804,"mutability":"mutable","name":"m4","nameLocation":"270324:2:19","nodeType":"VariableDeclaration","scope":34813,"src":"270316:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34803,"name":"bytes32","nodeType":"ElementaryTypeName","src":"270316:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34805,"nodeType":"VariableDeclarationStatement","src":"270316:10:19"},{"AST":{"nativeSrc":"270388:375:19","nodeType":"YulBlock","src":"270388:375:19","statements":[{"nativeSrc":"270402:17:19","nodeType":"YulAssignment","src":"270402:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"270414:4:19","nodeType":"YulLiteral","src":"270414:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"270408:5:19","nodeType":"YulIdentifier","src":"270408:5:19"},"nativeSrc":"270408:11:19","nodeType":"YulFunctionCall","src":"270408:11:19"},"variableNames":[{"name":"m0","nativeSrc":"270402:2:19","nodeType":"YulIdentifier","src":"270402:2:19"}]},{"nativeSrc":"270432:17:19","nodeType":"YulAssignment","src":"270432:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"270444:4:19","nodeType":"YulLiteral","src":"270444:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"270438:5:19","nodeType":"YulIdentifier","src":"270438:5:19"},"nativeSrc":"270438:11:19","nodeType":"YulFunctionCall","src":"270438:11:19"},"variableNames":[{"name":"m1","nativeSrc":"270432:2:19","nodeType":"YulIdentifier","src":"270432:2:19"}]},{"nativeSrc":"270462:17:19","nodeType":"YulAssignment","src":"270462:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"270474:4:19","nodeType":"YulLiteral","src":"270474:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"270468:5:19","nodeType":"YulIdentifier","src":"270468:5:19"},"nativeSrc":"270468:11:19","nodeType":"YulFunctionCall","src":"270468:11:19"},"variableNames":[{"name":"m2","nativeSrc":"270462:2:19","nodeType":"YulIdentifier","src":"270462:2:19"}]},{"nativeSrc":"270492:17:19","nodeType":"YulAssignment","src":"270492:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"270504:4:19","nodeType":"YulLiteral","src":"270504:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"270498:5:19","nodeType":"YulIdentifier","src":"270498:5:19"},"nativeSrc":"270498:11:19","nodeType":"YulFunctionCall","src":"270498:11:19"},"variableNames":[{"name":"m3","nativeSrc":"270492:2:19","nodeType":"YulIdentifier","src":"270492:2:19"}]},{"nativeSrc":"270522:17:19","nodeType":"YulAssignment","src":"270522:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"270534:4:19","nodeType":"YulLiteral","src":"270534:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"270528:5:19","nodeType":"YulIdentifier","src":"270528:5:19"},"nativeSrc":"270528:11:19","nodeType":"YulFunctionCall","src":"270528:11:19"},"variableNames":[{"name":"m4","nativeSrc":"270522:2:19","nodeType":"YulIdentifier","src":"270522:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270620:4:19","nodeType":"YulLiteral","src":"270620:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"270626:10:19","nodeType":"YulLiteral","src":"270626:10:19","type":"","value":"0x69640b59"}],"functionName":{"name":"mstore","nativeSrc":"270613:6:19","nodeType":"YulIdentifier","src":"270613:6:19"},"nativeSrc":"270613:24:19","nodeType":"YulFunctionCall","src":"270613:24:19"},"nativeSrc":"270613:24:19","nodeType":"YulExpressionStatement","src":"270613:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270657:4:19","nodeType":"YulLiteral","src":"270657:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"270663:2:19","nodeType":"YulIdentifier","src":"270663:2:19"}],"functionName":{"name":"mstore","nativeSrc":"270650:6:19","nodeType":"YulIdentifier","src":"270650:6:19"},"nativeSrc":"270650:16:19","nodeType":"YulFunctionCall","src":"270650:16:19"},"nativeSrc":"270650:16:19","nodeType":"YulExpressionStatement","src":"270650:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270686:4:19","nodeType":"YulLiteral","src":"270686:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"270692:2:19","nodeType":"YulIdentifier","src":"270692:2:19"}],"functionName":{"name":"mstore","nativeSrc":"270679:6:19","nodeType":"YulIdentifier","src":"270679:6:19"},"nativeSrc":"270679:16:19","nodeType":"YulFunctionCall","src":"270679:16:19"},"nativeSrc":"270679:16:19","nodeType":"YulExpressionStatement","src":"270679:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270715:4:19","nodeType":"YulLiteral","src":"270715:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"270721:2:19","nodeType":"YulIdentifier","src":"270721:2:19"}],"functionName":{"name":"mstore","nativeSrc":"270708:6:19","nodeType":"YulIdentifier","src":"270708:6:19"},"nativeSrc":"270708:16:19","nodeType":"YulFunctionCall","src":"270708:16:19"},"nativeSrc":"270708:16:19","nodeType":"YulExpressionStatement","src":"270708:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270744:4:19","nodeType":"YulLiteral","src":"270744:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"270750:2:19","nodeType":"YulIdentifier","src":"270750:2:19"}],"functionName":{"name":"mstore","nativeSrc":"270737:6:19","nodeType":"YulIdentifier","src":"270737:6:19"},"nativeSrc":"270737:16:19","nodeType":"YulFunctionCall","src":"270737:16:19"},"nativeSrc":"270737:16:19","nodeType":"YulExpressionStatement","src":"270737:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34792,"isOffset":false,"isSlot":false,"src":"270402:2:19","valueSize":1},{"declaration":34795,"isOffset":false,"isSlot":false,"src":"270432:2:19","valueSize":1},{"declaration":34798,"isOffset":false,"isSlot":false,"src":"270462:2:19","valueSize":1},{"declaration":34801,"isOffset":false,"isSlot":false,"src":"270492:2:19","valueSize":1},{"declaration":34804,"isOffset":false,"isSlot":false,"src":"270522:2:19","valueSize":1},{"declaration":34782,"isOffset":false,"isSlot":false,"src":"270663:2:19","valueSize":1},{"declaration":34784,"isOffset":false,"isSlot":false,"src":"270692:2:19","valueSize":1},{"declaration":34786,"isOffset":false,"isSlot":false,"src":"270721:2:19","valueSize":1},{"declaration":34788,"isOffset":false,"isSlot":false,"src":"270750:2:19","valueSize":1}],"id":34806,"nodeType":"InlineAssembly","src":"270379:384:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"270788:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34809,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"270794:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":34807,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"270772:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"270772:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34811,"nodeType":"ExpressionStatement","src":"270772:27:19"},{"AST":{"nativeSrc":"270861:156:19","nodeType":"YulBlock","src":"270861:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"270882:4:19","nodeType":"YulLiteral","src":"270882:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"270888:2:19","nodeType":"YulIdentifier","src":"270888:2:19"}],"functionName":{"name":"mstore","nativeSrc":"270875:6:19","nodeType":"YulIdentifier","src":"270875:6:19"},"nativeSrc":"270875:16:19","nodeType":"YulFunctionCall","src":"270875:16:19"},"nativeSrc":"270875:16:19","nodeType":"YulExpressionStatement","src":"270875:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270911:4:19","nodeType":"YulLiteral","src":"270911:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"270917:2:19","nodeType":"YulIdentifier","src":"270917:2:19"}],"functionName":{"name":"mstore","nativeSrc":"270904:6:19","nodeType":"YulIdentifier","src":"270904:6:19"},"nativeSrc":"270904:16:19","nodeType":"YulFunctionCall","src":"270904:16:19"},"nativeSrc":"270904:16:19","nodeType":"YulExpressionStatement","src":"270904:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270940:4:19","nodeType":"YulLiteral","src":"270940:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"270946:2:19","nodeType":"YulIdentifier","src":"270946:2:19"}],"functionName":{"name":"mstore","nativeSrc":"270933:6:19","nodeType":"YulIdentifier","src":"270933:6:19"},"nativeSrc":"270933:16:19","nodeType":"YulFunctionCall","src":"270933:16:19"},"nativeSrc":"270933:16:19","nodeType":"YulExpressionStatement","src":"270933:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270969:4:19","nodeType":"YulLiteral","src":"270969:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"270975:2:19","nodeType":"YulIdentifier","src":"270975:2:19"}],"functionName":{"name":"mstore","nativeSrc":"270962:6:19","nodeType":"YulIdentifier","src":"270962:6:19"},"nativeSrc":"270962:16:19","nodeType":"YulFunctionCall","src":"270962:16:19"},"nativeSrc":"270962:16:19","nodeType":"YulExpressionStatement","src":"270962:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"270998:4:19","nodeType":"YulLiteral","src":"270998:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"271004:2:19","nodeType":"YulIdentifier","src":"271004:2:19"}],"functionName":{"name":"mstore","nativeSrc":"270991:6:19","nodeType":"YulIdentifier","src":"270991:6:19"},"nativeSrc":"270991:16:19","nodeType":"YulFunctionCall","src":"270991:16:19"},"nativeSrc":"270991:16:19","nodeType":"YulExpressionStatement","src":"270991:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34792,"isOffset":false,"isSlot":false,"src":"270888:2:19","valueSize":1},{"declaration":34795,"isOffset":false,"isSlot":false,"src":"270917:2:19","valueSize":1},{"declaration":34798,"isOffset":false,"isSlot":false,"src":"270946:2:19","valueSize":1},{"declaration":34801,"isOffset":false,"isSlot":false,"src":"270975:2:19","valueSize":1},{"declaration":34804,"isOffset":false,"isSlot":false,"src":"271004:2:19","valueSize":1}],"id":34812,"nodeType":"InlineAssembly","src":"270852:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"270166:3:19","parameters":{"id":34789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34782,"mutability":"mutable","name":"p0","nameLocation":"270178:2:19","nodeType":"VariableDeclaration","scope":34814,"src":"270170:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34781,"name":"uint256","nodeType":"ElementaryTypeName","src":"270170:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34784,"mutability":"mutable","name":"p1","nameLocation":"270187:2:19","nodeType":"VariableDeclaration","scope":34814,"src":"270182:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34783,"name":"bool","nodeType":"ElementaryTypeName","src":"270182:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34786,"mutability":"mutable","name":"p2","nameLocation":"270196:2:19","nodeType":"VariableDeclaration","scope":34814,"src":"270191:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34785,"name":"bool","nodeType":"ElementaryTypeName","src":"270191:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34788,"mutability":"mutable","name":"p3","nameLocation":"270208:2:19","nodeType":"VariableDeclaration","scope":34814,"src":"270200:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34787,"name":"address","nodeType":"ElementaryTypeName","src":"270200:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"270169:42:19"},"returnParameters":{"id":34790,"nodeType":"ParameterList","parameters":[],"src":"270226:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34848,"nodeType":"FunctionDefinition","src":"271029:860:19","nodes":[],"body":{"id":34847,"nodeType":"Block","src":"271095:794:19","nodes":[],"statements":[{"assignments":[34826],"declarations":[{"constant":false,"id":34826,"mutability":"mutable","name":"m0","nameLocation":"271113:2:19","nodeType":"VariableDeclaration","scope":34847,"src":"271105:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34825,"name":"bytes32","nodeType":"ElementaryTypeName","src":"271105:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34827,"nodeType":"VariableDeclarationStatement","src":"271105:10:19"},{"assignments":[34829],"declarations":[{"constant":false,"id":34829,"mutability":"mutable","name":"m1","nameLocation":"271133:2:19","nodeType":"VariableDeclaration","scope":34847,"src":"271125:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34828,"name":"bytes32","nodeType":"ElementaryTypeName","src":"271125:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34830,"nodeType":"VariableDeclarationStatement","src":"271125:10:19"},{"assignments":[34832],"declarations":[{"constant":false,"id":34832,"mutability":"mutable","name":"m2","nameLocation":"271153:2:19","nodeType":"VariableDeclaration","scope":34847,"src":"271145:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34831,"name":"bytes32","nodeType":"ElementaryTypeName","src":"271145:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34833,"nodeType":"VariableDeclarationStatement","src":"271145:10:19"},{"assignments":[34835],"declarations":[{"constant":false,"id":34835,"mutability":"mutable","name":"m3","nameLocation":"271173:2:19","nodeType":"VariableDeclaration","scope":34847,"src":"271165:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34834,"name":"bytes32","nodeType":"ElementaryTypeName","src":"271165:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34836,"nodeType":"VariableDeclarationStatement","src":"271165:10:19"},{"assignments":[34838],"declarations":[{"constant":false,"id":34838,"mutability":"mutable","name":"m4","nameLocation":"271193:2:19","nodeType":"VariableDeclaration","scope":34847,"src":"271185:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34837,"name":"bytes32","nodeType":"ElementaryTypeName","src":"271185:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34839,"nodeType":"VariableDeclarationStatement","src":"271185:10:19"},{"AST":{"nativeSrc":"271257:372:19","nodeType":"YulBlock","src":"271257:372:19","statements":[{"nativeSrc":"271271:17:19","nodeType":"YulAssignment","src":"271271:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"271283:4:19","nodeType":"YulLiteral","src":"271283:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"271277:5:19","nodeType":"YulIdentifier","src":"271277:5:19"},"nativeSrc":"271277:11:19","nodeType":"YulFunctionCall","src":"271277:11:19"},"variableNames":[{"name":"m0","nativeSrc":"271271:2:19","nodeType":"YulIdentifier","src":"271271:2:19"}]},{"nativeSrc":"271301:17:19","nodeType":"YulAssignment","src":"271301:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"271313:4:19","nodeType":"YulLiteral","src":"271313:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"271307:5:19","nodeType":"YulIdentifier","src":"271307:5:19"},"nativeSrc":"271307:11:19","nodeType":"YulFunctionCall","src":"271307:11:19"},"variableNames":[{"name":"m1","nativeSrc":"271301:2:19","nodeType":"YulIdentifier","src":"271301:2:19"}]},{"nativeSrc":"271331:17:19","nodeType":"YulAssignment","src":"271331:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"271343:4:19","nodeType":"YulLiteral","src":"271343:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"271337:5:19","nodeType":"YulIdentifier","src":"271337:5:19"},"nativeSrc":"271337:11:19","nodeType":"YulFunctionCall","src":"271337:11:19"},"variableNames":[{"name":"m2","nativeSrc":"271331:2:19","nodeType":"YulIdentifier","src":"271331:2:19"}]},{"nativeSrc":"271361:17:19","nodeType":"YulAssignment","src":"271361:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"271373:4:19","nodeType":"YulLiteral","src":"271373:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"271367:5:19","nodeType":"YulIdentifier","src":"271367:5:19"},"nativeSrc":"271367:11:19","nodeType":"YulFunctionCall","src":"271367:11:19"},"variableNames":[{"name":"m3","nativeSrc":"271361:2:19","nodeType":"YulIdentifier","src":"271361:2:19"}]},{"nativeSrc":"271391:17:19","nodeType":"YulAssignment","src":"271391:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"271403:4:19","nodeType":"YulLiteral","src":"271403:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"271397:5:19","nodeType":"YulIdentifier","src":"271397:5:19"},"nativeSrc":"271397:11:19","nodeType":"YulFunctionCall","src":"271397:11:19"},"variableNames":[{"name":"m4","nativeSrc":"271391:2:19","nodeType":"YulIdentifier","src":"271391:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271486:4:19","nodeType":"YulLiteral","src":"271486:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"271492:10:19","nodeType":"YulLiteral","src":"271492:10:19","type":"","value":"0xb6f577a1"}],"functionName":{"name":"mstore","nativeSrc":"271479:6:19","nodeType":"YulIdentifier","src":"271479:6:19"},"nativeSrc":"271479:24:19","nodeType":"YulFunctionCall","src":"271479:24:19"},"nativeSrc":"271479:24:19","nodeType":"YulExpressionStatement","src":"271479:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271523:4:19","nodeType":"YulLiteral","src":"271523:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"271529:2:19","nodeType":"YulIdentifier","src":"271529:2:19"}],"functionName":{"name":"mstore","nativeSrc":"271516:6:19","nodeType":"YulIdentifier","src":"271516:6:19"},"nativeSrc":"271516:16:19","nodeType":"YulFunctionCall","src":"271516:16:19"},"nativeSrc":"271516:16:19","nodeType":"YulExpressionStatement","src":"271516:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271552:4:19","nodeType":"YulLiteral","src":"271552:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"271558:2:19","nodeType":"YulIdentifier","src":"271558:2:19"}],"functionName":{"name":"mstore","nativeSrc":"271545:6:19","nodeType":"YulIdentifier","src":"271545:6:19"},"nativeSrc":"271545:16:19","nodeType":"YulFunctionCall","src":"271545:16:19"},"nativeSrc":"271545:16:19","nodeType":"YulExpressionStatement","src":"271545:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271581:4:19","nodeType":"YulLiteral","src":"271581:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"271587:2:19","nodeType":"YulIdentifier","src":"271587:2:19"}],"functionName":{"name":"mstore","nativeSrc":"271574:6:19","nodeType":"YulIdentifier","src":"271574:6:19"},"nativeSrc":"271574:16:19","nodeType":"YulFunctionCall","src":"271574:16:19"},"nativeSrc":"271574:16:19","nodeType":"YulExpressionStatement","src":"271574:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271610:4:19","nodeType":"YulLiteral","src":"271610:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"271616:2:19","nodeType":"YulIdentifier","src":"271616:2:19"}],"functionName":{"name":"mstore","nativeSrc":"271603:6:19","nodeType":"YulIdentifier","src":"271603:6:19"},"nativeSrc":"271603:16:19","nodeType":"YulFunctionCall","src":"271603:16:19"},"nativeSrc":"271603:16:19","nodeType":"YulExpressionStatement","src":"271603:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34826,"isOffset":false,"isSlot":false,"src":"271271:2:19","valueSize":1},{"declaration":34829,"isOffset":false,"isSlot":false,"src":"271301:2:19","valueSize":1},{"declaration":34832,"isOffset":false,"isSlot":false,"src":"271331:2:19","valueSize":1},{"declaration":34835,"isOffset":false,"isSlot":false,"src":"271361:2:19","valueSize":1},{"declaration":34838,"isOffset":false,"isSlot":false,"src":"271391:2:19","valueSize":1},{"declaration":34816,"isOffset":false,"isSlot":false,"src":"271529:2:19","valueSize":1},{"declaration":34818,"isOffset":false,"isSlot":false,"src":"271558:2:19","valueSize":1},{"declaration":34820,"isOffset":false,"isSlot":false,"src":"271587:2:19","valueSize":1},{"declaration":34822,"isOffset":false,"isSlot":false,"src":"271616:2:19","valueSize":1}],"id":34840,"nodeType":"InlineAssembly","src":"271248:381:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"271654:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"271660:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":34841,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"271638:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"271638:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34845,"nodeType":"ExpressionStatement","src":"271638:27:19"},{"AST":{"nativeSrc":"271727:156:19","nodeType":"YulBlock","src":"271727:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"271748:4:19","nodeType":"YulLiteral","src":"271748:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"271754:2:19","nodeType":"YulIdentifier","src":"271754:2:19"}],"functionName":{"name":"mstore","nativeSrc":"271741:6:19","nodeType":"YulIdentifier","src":"271741:6:19"},"nativeSrc":"271741:16:19","nodeType":"YulFunctionCall","src":"271741:16:19"},"nativeSrc":"271741:16:19","nodeType":"YulExpressionStatement","src":"271741:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271777:4:19","nodeType":"YulLiteral","src":"271777:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"271783:2:19","nodeType":"YulIdentifier","src":"271783:2:19"}],"functionName":{"name":"mstore","nativeSrc":"271770:6:19","nodeType":"YulIdentifier","src":"271770:6:19"},"nativeSrc":"271770:16:19","nodeType":"YulFunctionCall","src":"271770:16:19"},"nativeSrc":"271770:16:19","nodeType":"YulExpressionStatement","src":"271770:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271806:4:19","nodeType":"YulLiteral","src":"271806:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"271812:2:19","nodeType":"YulIdentifier","src":"271812:2:19"}],"functionName":{"name":"mstore","nativeSrc":"271799:6:19","nodeType":"YulIdentifier","src":"271799:6:19"},"nativeSrc":"271799:16:19","nodeType":"YulFunctionCall","src":"271799:16:19"},"nativeSrc":"271799:16:19","nodeType":"YulExpressionStatement","src":"271799:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271835:4:19","nodeType":"YulLiteral","src":"271835:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"271841:2:19","nodeType":"YulIdentifier","src":"271841:2:19"}],"functionName":{"name":"mstore","nativeSrc":"271828:6:19","nodeType":"YulIdentifier","src":"271828:6:19"},"nativeSrc":"271828:16:19","nodeType":"YulFunctionCall","src":"271828:16:19"},"nativeSrc":"271828:16:19","nodeType":"YulExpressionStatement","src":"271828:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"271864:4:19","nodeType":"YulLiteral","src":"271864:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"271870:2:19","nodeType":"YulIdentifier","src":"271870:2:19"}],"functionName":{"name":"mstore","nativeSrc":"271857:6:19","nodeType":"YulIdentifier","src":"271857:6:19"},"nativeSrc":"271857:16:19","nodeType":"YulFunctionCall","src":"271857:16:19"},"nativeSrc":"271857:16:19","nodeType":"YulExpressionStatement","src":"271857:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34826,"isOffset":false,"isSlot":false,"src":"271754:2:19","valueSize":1},{"declaration":34829,"isOffset":false,"isSlot":false,"src":"271783:2:19","valueSize":1},{"declaration":34832,"isOffset":false,"isSlot":false,"src":"271812:2:19","valueSize":1},{"declaration":34835,"isOffset":false,"isSlot":false,"src":"271841:2:19","valueSize":1},{"declaration":34838,"isOffset":false,"isSlot":false,"src":"271870:2:19","valueSize":1}],"id":34846,"nodeType":"InlineAssembly","src":"271718:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"271038:3:19","parameters":{"id":34823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34816,"mutability":"mutable","name":"p0","nameLocation":"271050:2:19","nodeType":"VariableDeclaration","scope":34848,"src":"271042:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34815,"name":"uint256","nodeType":"ElementaryTypeName","src":"271042:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34818,"mutability":"mutable","name":"p1","nameLocation":"271059:2:19","nodeType":"VariableDeclaration","scope":34848,"src":"271054:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34817,"name":"bool","nodeType":"ElementaryTypeName","src":"271054:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34820,"mutability":"mutable","name":"p2","nameLocation":"271068:2:19","nodeType":"VariableDeclaration","scope":34848,"src":"271063:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34819,"name":"bool","nodeType":"ElementaryTypeName","src":"271063:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34822,"mutability":"mutable","name":"p3","nameLocation":"271077:2:19","nodeType":"VariableDeclaration","scope":34848,"src":"271072:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34821,"name":"bool","nodeType":"ElementaryTypeName","src":"271072:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"271041:39:19"},"returnParameters":{"id":34824,"nodeType":"ParameterList","parameters":[],"src":"271095:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34882,"nodeType":"FunctionDefinition","src":"271895:866:19","nodes":[],"body":{"id":34881,"nodeType":"Block","src":"271964:797:19","nodes":[],"statements":[{"assignments":[34860],"declarations":[{"constant":false,"id":34860,"mutability":"mutable","name":"m0","nameLocation":"271982:2:19","nodeType":"VariableDeclaration","scope":34881,"src":"271974:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34859,"name":"bytes32","nodeType":"ElementaryTypeName","src":"271974:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34861,"nodeType":"VariableDeclarationStatement","src":"271974:10:19"},{"assignments":[34863],"declarations":[{"constant":false,"id":34863,"mutability":"mutable","name":"m1","nameLocation":"272002:2:19","nodeType":"VariableDeclaration","scope":34881,"src":"271994:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34862,"name":"bytes32","nodeType":"ElementaryTypeName","src":"271994:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34864,"nodeType":"VariableDeclarationStatement","src":"271994:10:19"},{"assignments":[34866],"declarations":[{"constant":false,"id":34866,"mutability":"mutable","name":"m2","nameLocation":"272022:2:19","nodeType":"VariableDeclaration","scope":34881,"src":"272014:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34865,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272014:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34867,"nodeType":"VariableDeclarationStatement","src":"272014:10:19"},{"assignments":[34869],"declarations":[{"constant":false,"id":34869,"mutability":"mutable","name":"m3","nameLocation":"272042:2:19","nodeType":"VariableDeclaration","scope":34881,"src":"272034:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34868,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272034:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34870,"nodeType":"VariableDeclarationStatement","src":"272034:10:19"},{"assignments":[34872],"declarations":[{"constant":false,"id":34872,"mutability":"mutable","name":"m4","nameLocation":"272062:2:19","nodeType":"VariableDeclaration","scope":34881,"src":"272054:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34871,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272054:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34873,"nodeType":"VariableDeclarationStatement","src":"272054:10:19"},{"AST":{"nativeSrc":"272126:375:19","nodeType":"YulBlock","src":"272126:375:19","statements":[{"nativeSrc":"272140:17:19","nodeType":"YulAssignment","src":"272140:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"272152:4:19","nodeType":"YulLiteral","src":"272152:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"272146:5:19","nodeType":"YulIdentifier","src":"272146:5:19"},"nativeSrc":"272146:11:19","nodeType":"YulFunctionCall","src":"272146:11:19"},"variableNames":[{"name":"m0","nativeSrc":"272140:2:19","nodeType":"YulIdentifier","src":"272140:2:19"}]},{"nativeSrc":"272170:17:19","nodeType":"YulAssignment","src":"272170:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"272182:4:19","nodeType":"YulLiteral","src":"272182:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"272176:5:19","nodeType":"YulIdentifier","src":"272176:5:19"},"nativeSrc":"272176:11:19","nodeType":"YulFunctionCall","src":"272176:11:19"},"variableNames":[{"name":"m1","nativeSrc":"272170:2:19","nodeType":"YulIdentifier","src":"272170:2:19"}]},{"nativeSrc":"272200:17:19","nodeType":"YulAssignment","src":"272200:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"272212:4:19","nodeType":"YulLiteral","src":"272212:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"272206:5:19","nodeType":"YulIdentifier","src":"272206:5:19"},"nativeSrc":"272206:11:19","nodeType":"YulFunctionCall","src":"272206:11:19"},"variableNames":[{"name":"m2","nativeSrc":"272200:2:19","nodeType":"YulIdentifier","src":"272200:2:19"}]},{"nativeSrc":"272230:17:19","nodeType":"YulAssignment","src":"272230:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"272242:4:19","nodeType":"YulLiteral","src":"272242:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"272236:5:19","nodeType":"YulIdentifier","src":"272236:5:19"},"nativeSrc":"272236:11:19","nodeType":"YulFunctionCall","src":"272236:11:19"},"variableNames":[{"name":"m3","nativeSrc":"272230:2:19","nodeType":"YulIdentifier","src":"272230:2:19"}]},{"nativeSrc":"272260:17:19","nodeType":"YulAssignment","src":"272260:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"272272:4:19","nodeType":"YulLiteral","src":"272272:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"272266:5:19","nodeType":"YulIdentifier","src":"272266:5:19"},"nativeSrc":"272266:11:19","nodeType":"YulFunctionCall","src":"272266:11:19"},"variableNames":[{"name":"m4","nativeSrc":"272260:2:19","nodeType":"YulIdentifier","src":"272260:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272358:4:19","nodeType":"YulLiteral","src":"272358:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"272364:10:19","nodeType":"YulLiteral","src":"272364:10:19","type":"","value":"0x7464ce23"}],"functionName":{"name":"mstore","nativeSrc":"272351:6:19","nodeType":"YulIdentifier","src":"272351:6:19"},"nativeSrc":"272351:24:19","nodeType":"YulFunctionCall","src":"272351:24:19"},"nativeSrc":"272351:24:19","nodeType":"YulExpressionStatement","src":"272351:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272395:4:19","nodeType":"YulLiteral","src":"272395:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"272401:2:19","nodeType":"YulIdentifier","src":"272401:2:19"}],"functionName":{"name":"mstore","nativeSrc":"272388:6:19","nodeType":"YulIdentifier","src":"272388:6:19"},"nativeSrc":"272388:16:19","nodeType":"YulFunctionCall","src":"272388:16:19"},"nativeSrc":"272388:16:19","nodeType":"YulExpressionStatement","src":"272388:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272424:4:19","nodeType":"YulLiteral","src":"272424:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"272430:2:19","nodeType":"YulIdentifier","src":"272430:2:19"}],"functionName":{"name":"mstore","nativeSrc":"272417:6:19","nodeType":"YulIdentifier","src":"272417:6:19"},"nativeSrc":"272417:16:19","nodeType":"YulFunctionCall","src":"272417:16:19"},"nativeSrc":"272417:16:19","nodeType":"YulExpressionStatement","src":"272417:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272453:4:19","nodeType":"YulLiteral","src":"272453:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"272459:2:19","nodeType":"YulIdentifier","src":"272459:2:19"}],"functionName":{"name":"mstore","nativeSrc":"272446:6:19","nodeType":"YulIdentifier","src":"272446:6:19"},"nativeSrc":"272446:16:19","nodeType":"YulFunctionCall","src":"272446:16:19"},"nativeSrc":"272446:16:19","nodeType":"YulExpressionStatement","src":"272446:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272482:4:19","nodeType":"YulLiteral","src":"272482:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"272488:2:19","nodeType":"YulIdentifier","src":"272488:2:19"}],"functionName":{"name":"mstore","nativeSrc":"272475:6:19","nodeType":"YulIdentifier","src":"272475:6:19"},"nativeSrc":"272475:16:19","nodeType":"YulFunctionCall","src":"272475:16:19"},"nativeSrc":"272475:16:19","nodeType":"YulExpressionStatement","src":"272475:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34860,"isOffset":false,"isSlot":false,"src":"272140:2:19","valueSize":1},{"declaration":34863,"isOffset":false,"isSlot":false,"src":"272170:2:19","valueSize":1},{"declaration":34866,"isOffset":false,"isSlot":false,"src":"272200:2:19","valueSize":1},{"declaration":34869,"isOffset":false,"isSlot":false,"src":"272230:2:19","valueSize":1},{"declaration":34872,"isOffset":false,"isSlot":false,"src":"272260:2:19","valueSize":1},{"declaration":34850,"isOffset":false,"isSlot":false,"src":"272401:2:19","valueSize":1},{"declaration":34852,"isOffset":false,"isSlot":false,"src":"272430:2:19","valueSize":1},{"declaration":34854,"isOffset":false,"isSlot":false,"src":"272459:2:19","valueSize":1},{"declaration":34856,"isOffset":false,"isSlot":false,"src":"272488:2:19","valueSize":1}],"id":34874,"nodeType":"InlineAssembly","src":"272117:384:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"272526:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"272532:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":34875,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"272510:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"272510:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34879,"nodeType":"ExpressionStatement","src":"272510:27:19"},{"AST":{"nativeSrc":"272599:156:19","nodeType":"YulBlock","src":"272599:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"272620:4:19","nodeType":"YulLiteral","src":"272620:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"272626:2:19","nodeType":"YulIdentifier","src":"272626:2:19"}],"functionName":{"name":"mstore","nativeSrc":"272613:6:19","nodeType":"YulIdentifier","src":"272613:6:19"},"nativeSrc":"272613:16:19","nodeType":"YulFunctionCall","src":"272613:16:19"},"nativeSrc":"272613:16:19","nodeType":"YulExpressionStatement","src":"272613:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272649:4:19","nodeType":"YulLiteral","src":"272649:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"272655:2:19","nodeType":"YulIdentifier","src":"272655:2:19"}],"functionName":{"name":"mstore","nativeSrc":"272642:6:19","nodeType":"YulIdentifier","src":"272642:6:19"},"nativeSrc":"272642:16:19","nodeType":"YulFunctionCall","src":"272642:16:19"},"nativeSrc":"272642:16:19","nodeType":"YulExpressionStatement","src":"272642:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272678:4:19","nodeType":"YulLiteral","src":"272678:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"272684:2:19","nodeType":"YulIdentifier","src":"272684:2:19"}],"functionName":{"name":"mstore","nativeSrc":"272671:6:19","nodeType":"YulIdentifier","src":"272671:6:19"},"nativeSrc":"272671:16:19","nodeType":"YulFunctionCall","src":"272671:16:19"},"nativeSrc":"272671:16:19","nodeType":"YulExpressionStatement","src":"272671:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272707:4:19","nodeType":"YulLiteral","src":"272707:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"272713:2:19","nodeType":"YulIdentifier","src":"272713:2:19"}],"functionName":{"name":"mstore","nativeSrc":"272700:6:19","nodeType":"YulIdentifier","src":"272700:6:19"},"nativeSrc":"272700:16:19","nodeType":"YulFunctionCall","src":"272700:16:19"},"nativeSrc":"272700:16:19","nodeType":"YulExpressionStatement","src":"272700:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"272736:4:19","nodeType":"YulLiteral","src":"272736:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"272742:2:19","nodeType":"YulIdentifier","src":"272742:2:19"}],"functionName":{"name":"mstore","nativeSrc":"272729:6:19","nodeType":"YulIdentifier","src":"272729:6:19"},"nativeSrc":"272729:16:19","nodeType":"YulFunctionCall","src":"272729:16:19"},"nativeSrc":"272729:16:19","nodeType":"YulExpressionStatement","src":"272729:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34860,"isOffset":false,"isSlot":false,"src":"272626:2:19","valueSize":1},{"declaration":34863,"isOffset":false,"isSlot":false,"src":"272655:2:19","valueSize":1},{"declaration":34866,"isOffset":false,"isSlot":false,"src":"272684:2:19","valueSize":1},{"declaration":34869,"isOffset":false,"isSlot":false,"src":"272713:2:19","valueSize":1},{"declaration":34872,"isOffset":false,"isSlot":false,"src":"272742:2:19","valueSize":1}],"id":34880,"nodeType":"InlineAssembly","src":"272590:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"271904:3:19","parameters":{"id":34857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34850,"mutability":"mutable","name":"p0","nameLocation":"271916:2:19","nodeType":"VariableDeclaration","scope":34882,"src":"271908:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34849,"name":"uint256","nodeType":"ElementaryTypeName","src":"271908:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34852,"mutability":"mutable","name":"p1","nameLocation":"271925:2:19","nodeType":"VariableDeclaration","scope":34882,"src":"271920:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34851,"name":"bool","nodeType":"ElementaryTypeName","src":"271920:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34854,"mutability":"mutable","name":"p2","nameLocation":"271934:2:19","nodeType":"VariableDeclaration","scope":34882,"src":"271929:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34853,"name":"bool","nodeType":"ElementaryTypeName","src":"271929:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34856,"mutability":"mutable","name":"p3","nameLocation":"271946:2:19","nodeType":"VariableDeclaration","scope":34882,"src":"271938:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34855,"name":"uint256","nodeType":"ElementaryTypeName","src":"271938:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"271907:42:19"},"returnParameters":{"id":34858,"nodeType":"ParameterList","parameters":[],"src":"271964:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34922,"nodeType":"FunctionDefinition","src":"272767:1414:19","nodes":[],"body":{"id":34921,"nodeType":"Block","src":"272836:1345:19","nodes":[],"statements":[{"assignments":[34894],"declarations":[{"constant":false,"id":34894,"mutability":"mutable","name":"m0","nameLocation":"272854:2:19","nodeType":"VariableDeclaration","scope":34921,"src":"272846:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34893,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272846:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34895,"nodeType":"VariableDeclarationStatement","src":"272846:10:19"},{"assignments":[34897],"declarations":[{"constant":false,"id":34897,"mutability":"mutable","name":"m1","nameLocation":"272874:2:19","nodeType":"VariableDeclaration","scope":34921,"src":"272866:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34896,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272866:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34898,"nodeType":"VariableDeclarationStatement","src":"272866:10:19"},{"assignments":[34900],"declarations":[{"constant":false,"id":34900,"mutability":"mutable","name":"m2","nameLocation":"272894:2:19","nodeType":"VariableDeclaration","scope":34921,"src":"272886:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34899,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272886:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34901,"nodeType":"VariableDeclarationStatement","src":"272886:10:19"},{"assignments":[34903],"declarations":[{"constant":false,"id":34903,"mutability":"mutable","name":"m3","nameLocation":"272914:2:19","nodeType":"VariableDeclaration","scope":34921,"src":"272906:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34902,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272906:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34904,"nodeType":"VariableDeclarationStatement","src":"272906:10:19"},{"assignments":[34906],"declarations":[{"constant":false,"id":34906,"mutability":"mutable","name":"m4","nameLocation":"272934:2:19","nodeType":"VariableDeclaration","scope":34921,"src":"272926:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34905,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272926:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34907,"nodeType":"VariableDeclarationStatement","src":"272926:10:19"},{"assignments":[34909],"declarations":[{"constant":false,"id":34909,"mutability":"mutable","name":"m5","nameLocation":"272954:2:19","nodeType":"VariableDeclaration","scope":34921,"src":"272946:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34908,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272946:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34910,"nodeType":"VariableDeclarationStatement","src":"272946:10:19"},{"assignments":[34912],"declarations":[{"constant":false,"id":34912,"mutability":"mutable","name":"m6","nameLocation":"272974:2:19","nodeType":"VariableDeclaration","scope":34921,"src":"272966:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34911,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272966:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34913,"nodeType":"VariableDeclarationStatement","src":"272966:10:19"},{"AST":{"nativeSrc":"273038:825:19","nodeType":"YulBlock","src":"273038:825:19","statements":[{"body":{"nativeSrc":"273081:313:19","nodeType":"YulBlock","src":"273081:313:19","statements":[{"nativeSrc":"273099:15:19","nodeType":"YulVariableDeclaration","src":"273099:15:19","value":{"kind":"number","nativeSrc":"273113:1:19","nodeType":"YulLiteral","src":"273113:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"273103:6:19","nodeType":"YulTypedName","src":"273103:6:19","type":""}]},{"body":{"nativeSrc":"273184:40:19","nodeType":"YulBlock","src":"273184:40:19","statements":[{"body":{"nativeSrc":"273213:9:19","nodeType":"YulBlock","src":"273213:9:19","statements":[{"nativeSrc":"273215:5:19","nodeType":"YulBreak","src":"273215:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"273201:6:19","nodeType":"YulIdentifier","src":"273201:6:19"},{"name":"w","nativeSrc":"273209:1:19","nodeType":"YulIdentifier","src":"273209:1:19"}],"functionName":{"name":"byte","nativeSrc":"273196:4:19","nodeType":"YulIdentifier","src":"273196:4:19"},"nativeSrc":"273196:15:19","nodeType":"YulFunctionCall","src":"273196:15:19"}],"functionName":{"name":"iszero","nativeSrc":"273189:6:19","nodeType":"YulIdentifier","src":"273189:6:19"},"nativeSrc":"273189:23:19","nodeType":"YulFunctionCall","src":"273189:23:19"},"nativeSrc":"273186:36:19","nodeType":"YulIf","src":"273186:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"273141:6:19","nodeType":"YulIdentifier","src":"273141:6:19"},{"kind":"number","nativeSrc":"273149:4:19","nodeType":"YulLiteral","src":"273149:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"273138:2:19","nodeType":"YulIdentifier","src":"273138:2:19"},"nativeSrc":"273138:16:19","nodeType":"YulFunctionCall","src":"273138:16:19"},"nativeSrc":"273131:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"273155:28:19","nodeType":"YulBlock","src":"273155:28:19","statements":[{"nativeSrc":"273157:24:19","nodeType":"YulAssignment","src":"273157:24:19","value":{"arguments":[{"name":"length","nativeSrc":"273171:6:19","nodeType":"YulIdentifier","src":"273171:6:19"},{"kind":"number","nativeSrc":"273179:1:19","nodeType":"YulLiteral","src":"273179:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"273167:3:19","nodeType":"YulIdentifier","src":"273167:3:19"},"nativeSrc":"273167:14:19","nodeType":"YulFunctionCall","src":"273167:14:19"},"variableNames":[{"name":"length","nativeSrc":"273157:6:19","nodeType":"YulIdentifier","src":"273157:6:19"}]}]},"pre":{"nativeSrc":"273135:2:19","nodeType":"YulBlock","src":"273135:2:19","statements":[]},"src":"273131:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"273248:3:19","nodeType":"YulIdentifier","src":"273248:3:19"},{"name":"length","nativeSrc":"273253:6:19","nodeType":"YulIdentifier","src":"273253:6:19"}],"functionName":{"name":"mstore","nativeSrc":"273241:6:19","nodeType":"YulIdentifier","src":"273241:6:19"},"nativeSrc":"273241:19:19","nodeType":"YulFunctionCall","src":"273241:19:19"},"nativeSrc":"273241:19:19","nodeType":"YulExpressionStatement","src":"273241:19:19"},{"nativeSrc":"273277:37:19","nodeType":"YulVariableDeclaration","src":"273277:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"273294:3:19","nodeType":"YulLiteral","src":"273294:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"273303:1:19","nodeType":"YulLiteral","src":"273303:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"273306:6:19","nodeType":"YulIdentifier","src":"273306:6:19"}],"functionName":{"name":"shl","nativeSrc":"273299:3:19","nodeType":"YulIdentifier","src":"273299:3:19"},"nativeSrc":"273299:14:19","nodeType":"YulFunctionCall","src":"273299:14:19"}],"functionName":{"name":"sub","nativeSrc":"273290:3:19","nodeType":"YulIdentifier","src":"273290:3:19"},"nativeSrc":"273290:24:19","nodeType":"YulFunctionCall","src":"273290:24:19"},"variables":[{"name":"shift","nativeSrc":"273281:5:19","nodeType":"YulTypedName","src":"273281:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"273342:3:19","nodeType":"YulIdentifier","src":"273342:3:19"},{"kind":"number","nativeSrc":"273347:4:19","nodeType":"YulLiteral","src":"273347:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"273338:3:19","nodeType":"YulIdentifier","src":"273338:3:19"},"nativeSrc":"273338:14:19","nodeType":"YulFunctionCall","src":"273338:14:19"},{"arguments":[{"name":"shift","nativeSrc":"273358:5:19","nodeType":"YulIdentifier","src":"273358:5:19"},{"arguments":[{"name":"shift","nativeSrc":"273369:5:19","nodeType":"YulIdentifier","src":"273369:5:19"},{"name":"w","nativeSrc":"273376:1:19","nodeType":"YulIdentifier","src":"273376:1:19"}],"functionName":{"name":"shr","nativeSrc":"273365:3:19","nodeType":"YulIdentifier","src":"273365:3:19"},"nativeSrc":"273365:13:19","nodeType":"YulFunctionCall","src":"273365:13:19"}],"functionName":{"name":"shl","nativeSrc":"273354:3:19","nodeType":"YulIdentifier","src":"273354:3:19"},"nativeSrc":"273354:25:19","nodeType":"YulFunctionCall","src":"273354:25:19"}],"functionName":{"name":"mstore","nativeSrc":"273331:6:19","nodeType":"YulIdentifier","src":"273331:6:19"},"nativeSrc":"273331:49:19","nodeType":"YulFunctionCall","src":"273331:49:19"},"nativeSrc":"273331:49:19","nodeType":"YulExpressionStatement","src":"273331:49:19"}]},"name":"writeString","nativeSrc":"273052:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"273073:3:19","nodeType":"YulTypedName","src":"273073:3:19","type":""},{"name":"w","nativeSrc":"273078:1:19","nodeType":"YulTypedName","src":"273078:1:19","type":""}],"src":"273052:342:19"},{"nativeSrc":"273407:17:19","nodeType":"YulAssignment","src":"273407:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"273419:4:19","nodeType":"YulLiteral","src":"273419:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"273413:5:19","nodeType":"YulIdentifier","src":"273413:5:19"},"nativeSrc":"273413:11:19","nodeType":"YulFunctionCall","src":"273413:11:19"},"variableNames":[{"name":"m0","nativeSrc":"273407:2:19","nodeType":"YulIdentifier","src":"273407:2:19"}]},{"nativeSrc":"273437:17:19","nodeType":"YulAssignment","src":"273437:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"273449:4:19","nodeType":"YulLiteral","src":"273449:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"273443:5:19","nodeType":"YulIdentifier","src":"273443:5:19"},"nativeSrc":"273443:11:19","nodeType":"YulFunctionCall","src":"273443:11:19"},"variableNames":[{"name":"m1","nativeSrc":"273437:2:19","nodeType":"YulIdentifier","src":"273437:2:19"}]},{"nativeSrc":"273467:17:19","nodeType":"YulAssignment","src":"273467:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"273479:4:19","nodeType":"YulLiteral","src":"273479:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"273473:5:19","nodeType":"YulIdentifier","src":"273473:5:19"},"nativeSrc":"273473:11:19","nodeType":"YulFunctionCall","src":"273473:11:19"},"variableNames":[{"name":"m2","nativeSrc":"273467:2:19","nodeType":"YulIdentifier","src":"273467:2:19"}]},{"nativeSrc":"273497:17:19","nodeType":"YulAssignment","src":"273497:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"273509:4:19","nodeType":"YulLiteral","src":"273509:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"273503:5:19","nodeType":"YulIdentifier","src":"273503:5:19"},"nativeSrc":"273503:11:19","nodeType":"YulFunctionCall","src":"273503:11:19"},"variableNames":[{"name":"m3","nativeSrc":"273497:2:19","nodeType":"YulIdentifier","src":"273497:2:19"}]},{"nativeSrc":"273527:17:19","nodeType":"YulAssignment","src":"273527:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"273539:4:19","nodeType":"YulLiteral","src":"273539:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"273533:5:19","nodeType":"YulIdentifier","src":"273533:5:19"},"nativeSrc":"273533:11:19","nodeType":"YulFunctionCall","src":"273533:11:19"},"variableNames":[{"name":"m4","nativeSrc":"273527:2:19","nodeType":"YulIdentifier","src":"273527:2:19"}]},{"nativeSrc":"273557:17:19","nodeType":"YulAssignment","src":"273557:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"273569:4:19","nodeType":"YulLiteral","src":"273569:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"273563:5:19","nodeType":"YulIdentifier","src":"273563:5:19"},"nativeSrc":"273563:11:19","nodeType":"YulFunctionCall","src":"273563:11:19"},"variableNames":[{"name":"m5","nativeSrc":"273557:2:19","nodeType":"YulIdentifier","src":"273557:2:19"}]},{"nativeSrc":"273587:17:19","nodeType":"YulAssignment","src":"273587:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"273599:4:19","nodeType":"YulLiteral","src":"273599:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"273593:5:19","nodeType":"YulIdentifier","src":"273593:5:19"},"nativeSrc":"273593:11:19","nodeType":"YulFunctionCall","src":"273593:11:19"},"variableNames":[{"name":"m6","nativeSrc":"273587:2:19","nodeType":"YulIdentifier","src":"273587:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"273684:4:19","nodeType":"YulLiteral","src":"273684:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"273690:10:19","nodeType":"YulLiteral","src":"273690:10:19","type":"","value":"0xdddb9561"}],"functionName":{"name":"mstore","nativeSrc":"273677:6:19","nodeType":"YulIdentifier","src":"273677:6:19"},"nativeSrc":"273677:24:19","nodeType":"YulFunctionCall","src":"273677:24:19"},"nativeSrc":"273677:24:19","nodeType":"YulExpressionStatement","src":"273677:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"273721:4:19","nodeType":"YulLiteral","src":"273721:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"273727:2:19","nodeType":"YulIdentifier","src":"273727:2:19"}],"functionName":{"name":"mstore","nativeSrc":"273714:6:19","nodeType":"YulIdentifier","src":"273714:6:19"},"nativeSrc":"273714:16:19","nodeType":"YulFunctionCall","src":"273714:16:19"},"nativeSrc":"273714:16:19","nodeType":"YulExpressionStatement","src":"273714:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"273750:4:19","nodeType":"YulLiteral","src":"273750:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"273756:2:19","nodeType":"YulIdentifier","src":"273756:2:19"}],"functionName":{"name":"mstore","nativeSrc":"273743:6:19","nodeType":"YulIdentifier","src":"273743:6:19"},"nativeSrc":"273743:16:19","nodeType":"YulFunctionCall","src":"273743:16:19"},"nativeSrc":"273743:16:19","nodeType":"YulExpressionStatement","src":"273743:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"273779:4:19","nodeType":"YulLiteral","src":"273779:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"273785:2:19","nodeType":"YulIdentifier","src":"273785:2:19"}],"functionName":{"name":"mstore","nativeSrc":"273772:6:19","nodeType":"YulIdentifier","src":"273772:6:19"},"nativeSrc":"273772:16:19","nodeType":"YulFunctionCall","src":"273772:16:19"},"nativeSrc":"273772:16:19","nodeType":"YulExpressionStatement","src":"273772:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"273808:4:19","nodeType":"YulLiteral","src":"273808:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"273814:4:19","nodeType":"YulLiteral","src":"273814:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"273801:6:19","nodeType":"YulIdentifier","src":"273801:6:19"},"nativeSrc":"273801:18:19","nodeType":"YulFunctionCall","src":"273801:18:19"},"nativeSrc":"273801:18:19","nodeType":"YulExpressionStatement","src":"273801:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"273844:4:19","nodeType":"YulLiteral","src":"273844:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"273850:2:19","nodeType":"YulIdentifier","src":"273850:2:19"}],"functionName":{"name":"writeString","nativeSrc":"273832:11:19","nodeType":"YulIdentifier","src":"273832:11:19"},"nativeSrc":"273832:21:19","nodeType":"YulFunctionCall","src":"273832:21:19"},"nativeSrc":"273832:21:19","nodeType":"YulExpressionStatement","src":"273832:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34894,"isOffset":false,"isSlot":false,"src":"273407:2:19","valueSize":1},{"declaration":34897,"isOffset":false,"isSlot":false,"src":"273437:2:19","valueSize":1},{"declaration":34900,"isOffset":false,"isSlot":false,"src":"273467:2:19","valueSize":1},{"declaration":34903,"isOffset":false,"isSlot":false,"src":"273497:2:19","valueSize":1},{"declaration":34906,"isOffset":false,"isSlot":false,"src":"273527:2:19","valueSize":1},{"declaration":34909,"isOffset":false,"isSlot":false,"src":"273557:2:19","valueSize":1},{"declaration":34912,"isOffset":false,"isSlot":false,"src":"273587:2:19","valueSize":1},{"declaration":34884,"isOffset":false,"isSlot":false,"src":"273727:2:19","valueSize":1},{"declaration":34886,"isOffset":false,"isSlot":false,"src":"273756:2:19","valueSize":1},{"declaration":34888,"isOffset":false,"isSlot":false,"src":"273785:2:19","valueSize":1},{"declaration":34890,"isOffset":false,"isSlot":false,"src":"273850:2:19","valueSize":1}],"id":34914,"nodeType":"InlineAssembly","src":"273029:834:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"273888:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":34917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"273894:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":34915,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"273872:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"273872:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34919,"nodeType":"ExpressionStatement","src":"273872:27:19"},{"AST":{"nativeSrc":"273961:214:19","nodeType":"YulBlock","src":"273961:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"273982:4:19","nodeType":"YulLiteral","src":"273982:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"273988:2:19","nodeType":"YulIdentifier","src":"273988:2:19"}],"functionName":{"name":"mstore","nativeSrc":"273975:6:19","nodeType":"YulIdentifier","src":"273975:6:19"},"nativeSrc":"273975:16:19","nodeType":"YulFunctionCall","src":"273975:16:19"},"nativeSrc":"273975:16:19","nodeType":"YulExpressionStatement","src":"273975:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274011:4:19","nodeType":"YulLiteral","src":"274011:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"274017:2:19","nodeType":"YulIdentifier","src":"274017:2:19"}],"functionName":{"name":"mstore","nativeSrc":"274004:6:19","nodeType":"YulIdentifier","src":"274004:6:19"},"nativeSrc":"274004:16:19","nodeType":"YulFunctionCall","src":"274004:16:19"},"nativeSrc":"274004:16:19","nodeType":"YulExpressionStatement","src":"274004:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274040:4:19","nodeType":"YulLiteral","src":"274040:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"274046:2:19","nodeType":"YulIdentifier","src":"274046:2:19"}],"functionName":{"name":"mstore","nativeSrc":"274033:6:19","nodeType":"YulIdentifier","src":"274033:6:19"},"nativeSrc":"274033:16:19","nodeType":"YulFunctionCall","src":"274033:16:19"},"nativeSrc":"274033:16:19","nodeType":"YulExpressionStatement","src":"274033:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274069:4:19","nodeType":"YulLiteral","src":"274069:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"274075:2:19","nodeType":"YulIdentifier","src":"274075:2:19"}],"functionName":{"name":"mstore","nativeSrc":"274062:6:19","nodeType":"YulIdentifier","src":"274062:6:19"},"nativeSrc":"274062:16:19","nodeType":"YulFunctionCall","src":"274062:16:19"},"nativeSrc":"274062:16:19","nodeType":"YulExpressionStatement","src":"274062:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274098:4:19","nodeType":"YulLiteral","src":"274098:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"274104:2:19","nodeType":"YulIdentifier","src":"274104:2:19"}],"functionName":{"name":"mstore","nativeSrc":"274091:6:19","nodeType":"YulIdentifier","src":"274091:6:19"},"nativeSrc":"274091:16:19","nodeType":"YulFunctionCall","src":"274091:16:19"},"nativeSrc":"274091:16:19","nodeType":"YulExpressionStatement","src":"274091:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274127:4:19","nodeType":"YulLiteral","src":"274127:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"274133:2:19","nodeType":"YulIdentifier","src":"274133:2:19"}],"functionName":{"name":"mstore","nativeSrc":"274120:6:19","nodeType":"YulIdentifier","src":"274120:6:19"},"nativeSrc":"274120:16:19","nodeType":"YulFunctionCall","src":"274120:16:19"},"nativeSrc":"274120:16:19","nodeType":"YulExpressionStatement","src":"274120:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274156:4:19","nodeType":"YulLiteral","src":"274156:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"274162:2:19","nodeType":"YulIdentifier","src":"274162:2:19"}],"functionName":{"name":"mstore","nativeSrc":"274149:6:19","nodeType":"YulIdentifier","src":"274149:6:19"},"nativeSrc":"274149:16:19","nodeType":"YulFunctionCall","src":"274149:16:19"},"nativeSrc":"274149:16:19","nodeType":"YulExpressionStatement","src":"274149:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34894,"isOffset":false,"isSlot":false,"src":"273988:2:19","valueSize":1},{"declaration":34897,"isOffset":false,"isSlot":false,"src":"274017:2:19","valueSize":1},{"declaration":34900,"isOffset":false,"isSlot":false,"src":"274046:2:19","valueSize":1},{"declaration":34903,"isOffset":false,"isSlot":false,"src":"274075:2:19","valueSize":1},{"declaration":34906,"isOffset":false,"isSlot":false,"src":"274104:2:19","valueSize":1},{"declaration":34909,"isOffset":false,"isSlot":false,"src":"274133:2:19","valueSize":1},{"declaration":34912,"isOffset":false,"isSlot":false,"src":"274162:2:19","valueSize":1}],"id":34920,"nodeType":"InlineAssembly","src":"273952:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"272776:3:19","parameters":{"id":34891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34884,"mutability":"mutable","name":"p0","nameLocation":"272788:2:19","nodeType":"VariableDeclaration","scope":34922,"src":"272780:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34883,"name":"uint256","nodeType":"ElementaryTypeName","src":"272780:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34886,"mutability":"mutable","name":"p1","nameLocation":"272797:2:19","nodeType":"VariableDeclaration","scope":34922,"src":"272792:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34885,"name":"bool","nodeType":"ElementaryTypeName","src":"272792:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34888,"mutability":"mutable","name":"p2","nameLocation":"272806:2:19","nodeType":"VariableDeclaration","scope":34922,"src":"272801:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34887,"name":"bool","nodeType":"ElementaryTypeName","src":"272801:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34890,"mutability":"mutable","name":"p3","nameLocation":"272818:2:19","nodeType":"VariableDeclaration","scope":34922,"src":"272810:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34889,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272810:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"272779:42:19"},"returnParameters":{"id":34892,"nodeType":"ParameterList","parameters":[],"src":"272836:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34956,"nodeType":"FunctionDefinition","src":"274187:872:19","nodes":[],"body":{"id":34955,"nodeType":"Block","src":"274259:800:19","nodes":[],"statements":[{"assignments":[34934],"declarations":[{"constant":false,"id":34934,"mutability":"mutable","name":"m0","nameLocation":"274277:2:19","nodeType":"VariableDeclaration","scope":34955,"src":"274269:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34933,"name":"bytes32","nodeType":"ElementaryTypeName","src":"274269:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34935,"nodeType":"VariableDeclarationStatement","src":"274269:10:19"},{"assignments":[34937],"declarations":[{"constant":false,"id":34937,"mutability":"mutable","name":"m1","nameLocation":"274297:2:19","nodeType":"VariableDeclaration","scope":34955,"src":"274289:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34936,"name":"bytes32","nodeType":"ElementaryTypeName","src":"274289:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34938,"nodeType":"VariableDeclarationStatement","src":"274289:10:19"},{"assignments":[34940],"declarations":[{"constant":false,"id":34940,"mutability":"mutable","name":"m2","nameLocation":"274317:2:19","nodeType":"VariableDeclaration","scope":34955,"src":"274309:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34939,"name":"bytes32","nodeType":"ElementaryTypeName","src":"274309:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34941,"nodeType":"VariableDeclarationStatement","src":"274309:10:19"},{"assignments":[34943],"declarations":[{"constant":false,"id":34943,"mutability":"mutable","name":"m3","nameLocation":"274337:2:19","nodeType":"VariableDeclaration","scope":34955,"src":"274329:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34942,"name":"bytes32","nodeType":"ElementaryTypeName","src":"274329:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34944,"nodeType":"VariableDeclarationStatement","src":"274329:10:19"},{"assignments":[34946],"declarations":[{"constant":false,"id":34946,"mutability":"mutable","name":"m4","nameLocation":"274357:2:19","nodeType":"VariableDeclaration","scope":34955,"src":"274349:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34945,"name":"bytes32","nodeType":"ElementaryTypeName","src":"274349:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34947,"nodeType":"VariableDeclarationStatement","src":"274349:10:19"},{"AST":{"nativeSrc":"274421:378:19","nodeType":"YulBlock","src":"274421:378:19","statements":[{"nativeSrc":"274435:17:19","nodeType":"YulAssignment","src":"274435:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"274447:4:19","nodeType":"YulLiteral","src":"274447:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"274441:5:19","nodeType":"YulIdentifier","src":"274441:5:19"},"nativeSrc":"274441:11:19","nodeType":"YulFunctionCall","src":"274441:11:19"},"variableNames":[{"name":"m0","nativeSrc":"274435:2:19","nodeType":"YulIdentifier","src":"274435:2:19"}]},{"nativeSrc":"274465:17:19","nodeType":"YulAssignment","src":"274465:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"274477:4:19","nodeType":"YulLiteral","src":"274477:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"274471:5:19","nodeType":"YulIdentifier","src":"274471:5:19"},"nativeSrc":"274471:11:19","nodeType":"YulFunctionCall","src":"274471:11:19"},"variableNames":[{"name":"m1","nativeSrc":"274465:2:19","nodeType":"YulIdentifier","src":"274465:2:19"}]},{"nativeSrc":"274495:17:19","nodeType":"YulAssignment","src":"274495:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"274507:4:19","nodeType":"YulLiteral","src":"274507:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"274501:5:19","nodeType":"YulIdentifier","src":"274501:5:19"},"nativeSrc":"274501:11:19","nodeType":"YulFunctionCall","src":"274501:11:19"},"variableNames":[{"name":"m2","nativeSrc":"274495:2:19","nodeType":"YulIdentifier","src":"274495:2:19"}]},{"nativeSrc":"274525:17:19","nodeType":"YulAssignment","src":"274525:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"274537:4:19","nodeType":"YulLiteral","src":"274537:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"274531:5:19","nodeType":"YulIdentifier","src":"274531:5:19"},"nativeSrc":"274531:11:19","nodeType":"YulFunctionCall","src":"274531:11:19"},"variableNames":[{"name":"m3","nativeSrc":"274525:2:19","nodeType":"YulIdentifier","src":"274525:2:19"}]},{"nativeSrc":"274555:17:19","nodeType":"YulAssignment","src":"274555:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"274567:4:19","nodeType":"YulLiteral","src":"274567:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"274561:5:19","nodeType":"YulIdentifier","src":"274561:5:19"},"nativeSrc":"274561:11:19","nodeType":"YulFunctionCall","src":"274561:11:19"},"variableNames":[{"name":"m4","nativeSrc":"274555:2:19","nodeType":"YulIdentifier","src":"274555:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274656:4:19","nodeType":"YulLiteral","src":"274656:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"274662:10:19","nodeType":"YulLiteral","src":"274662:10:19","type":"","value":"0x88cb6041"}],"functionName":{"name":"mstore","nativeSrc":"274649:6:19","nodeType":"YulIdentifier","src":"274649:6:19"},"nativeSrc":"274649:24:19","nodeType":"YulFunctionCall","src":"274649:24:19"},"nativeSrc":"274649:24:19","nodeType":"YulExpressionStatement","src":"274649:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274693:4:19","nodeType":"YulLiteral","src":"274693:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"274699:2:19","nodeType":"YulIdentifier","src":"274699:2:19"}],"functionName":{"name":"mstore","nativeSrc":"274686:6:19","nodeType":"YulIdentifier","src":"274686:6:19"},"nativeSrc":"274686:16:19","nodeType":"YulFunctionCall","src":"274686:16:19"},"nativeSrc":"274686:16:19","nodeType":"YulExpressionStatement","src":"274686:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274722:4:19","nodeType":"YulLiteral","src":"274722:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"274728:2:19","nodeType":"YulIdentifier","src":"274728:2:19"}],"functionName":{"name":"mstore","nativeSrc":"274715:6:19","nodeType":"YulIdentifier","src":"274715:6:19"},"nativeSrc":"274715:16:19","nodeType":"YulFunctionCall","src":"274715:16:19"},"nativeSrc":"274715:16:19","nodeType":"YulExpressionStatement","src":"274715:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274751:4:19","nodeType":"YulLiteral","src":"274751:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"274757:2:19","nodeType":"YulIdentifier","src":"274757:2:19"}],"functionName":{"name":"mstore","nativeSrc":"274744:6:19","nodeType":"YulIdentifier","src":"274744:6:19"},"nativeSrc":"274744:16:19","nodeType":"YulFunctionCall","src":"274744:16:19"},"nativeSrc":"274744:16:19","nodeType":"YulExpressionStatement","src":"274744:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274780:4:19","nodeType":"YulLiteral","src":"274780:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"274786:2:19","nodeType":"YulIdentifier","src":"274786:2:19"}],"functionName":{"name":"mstore","nativeSrc":"274773:6:19","nodeType":"YulIdentifier","src":"274773:6:19"},"nativeSrc":"274773:16:19","nodeType":"YulFunctionCall","src":"274773:16:19"},"nativeSrc":"274773:16:19","nodeType":"YulExpressionStatement","src":"274773:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34934,"isOffset":false,"isSlot":false,"src":"274435:2:19","valueSize":1},{"declaration":34937,"isOffset":false,"isSlot":false,"src":"274465:2:19","valueSize":1},{"declaration":34940,"isOffset":false,"isSlot":false,"src":"274495:2:19","valueSize":1},{"declaration":34943,"isOffset":false,"isSlot":false,"src":"274525:2:19","valueSize":1},{"declaration":34946,"isOffset":false,"isSlot":false,"src":"274555:2:19","valueSize":1},{"declaration":34924,"isOffset":false,"isSlot":false,"src":"274699:2:19","valueSize":1},{"declaration":34926,"isOffset":false,"isSlot":false,"src":"274728:2:19","valueSize":1},{"declaration":34928,"isOffset":false,"isSlot":false,"src":"274757:2:19","valueSize":1},{"declaration":34930,"isOffset":false,"isSlot":false,"src":"274786:2:19","valueSize":1}],"id":34948,"nodeType":"InlineAssembly","src":"274412:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"274824:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"274830:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":34949,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"274808:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"274808:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34953,"nodeType":"ExpressionStatement","src":"274808:27:19"},{"AST":{"nativeSrc":"274897:156:19","nodeType":"YulBlock","src":"274897:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"274918:4:19","nodeType":"YulLiteral","src":"274918:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"274924:2:19","nodeType":"YulIdentifier","src":"274924:2:19"}],"functionName":{"name":"mstore","nativeSrc":"274911:6:19","nodeType":"YulIdentifier","src":"274911:6:19"},"nativeSrc":"274911:16:19","nodeType":"YulFunctionCall","src":"274911:16:19"},"nativeSrc":"274911:16:19","nodeType":"YulExpressionStatement","src":"274911:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274947:4:19","nodeType":"YulLiteral","src":"274947:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"274953:2:19","nodeType":"YulIdentifier","src":"274953:2:19"}],"functionName":{"name":"mstore","nativeSrc":"274940:6:19","nodeType":"YulIdentifier","src":"274940:6:19"},"nativeSrc":"274940:16:19","nodeType":"YulFunctionCall","src":"274940:16:19"},"nativeSrc":"274940:16:19","nodeType":"YulExpressionStatement","src":"274940:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"274976:4:19","nodeType":"YulLiteral","src":"274976:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"274982:2:19","nodeType":"YulIdentifier","src":"274982:2:19"}],"functionName":{"name":"mstore","nativeSrc":"274969:6:19","nodeType":"YulIdentifier","src":"274969:6:19"},"nativeSrc":"274969:16:19","nodeType":"YulFunctionCall","src":"274969:16:19"},"nativeSrc":"274969:16:19","nodeType":"YulExpressionStatement","src":"274969:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275005:4:19","nodeType":"YulLiteral","src":"275005:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"275011:2:19","nodeType":"YulIdentifier","src":"275011:2:19"}],"functionName":{"name":"mstore","nativeSrc":"274998:6:19","nodeType":"YulIdentifier","src":"274998:6:19"},"nativeSrc":"274998:16:19","nodeType":"YulFunctionCall","src":"274998:16:19"},"nativeSrc":"274998:16:19","nodeType":"YulExpressionStatement","src":"274998:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275034:4:19","nodeType":"YulLiteral","src":"275034:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"275040:2:19","nodeType":"YulIdentifier","src":"275040:2:19"}],"functionName":{"name":"mstore","nativeSrc":"275027:6:19","nodeType":"YulIdentifier","src":"275027:6:19"},"nativeSrc":"275027:16:19","nodeType":"YulFunctionCall","src":"275027:16:19"},"nativeSrc":"275027:16:19","nodeType":"YulExpressionStatement","src":"275027:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34934,"isOffset":false,"isSlot":false,"src":"274924:2:19","valueSize":1},{"declaration":34937,"isOffset":false,"isSlot":false,"src":"274953:2:19","valueSize":1},{"declaration":34940,"isOffset":false,"isSlot":false,"src":"274982:2:19","valueSize":1},{"declaration":34943,"isOffset":false,"isSlot":false,"src":"275011:2:19","valueSize":1},{"declaration":34946,"isOffset":false,"isSlot":false,"src":"275040:2:19","valueSize":1}],"id":34954,"nodeType":"InlineAssembly","src":"274888:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"274196:3:19","parameters":{"id":34931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34924,"mutability":"mutable","name":"p0","nameLocation":"274208:2:19","nodeType":"VariableDeclaration","scope":34956,"src":"274200:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34923,"name":"uint256","nodeType":"ElementaryTypeName","src":"274200:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34926,"mutability":"mutable","name":"p1","nameLocation":"274217:2:19","nodeType":"VariableDeclaration","scope":34956,"src":"274212:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34925,"name":"bool","nodeType":"ElementaryTypeName","src":"274212:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34928,"mutability":"mutable","name":"p2","nameLocation":"274229:2:19","nodeType":"VariableDeclaration","scope":34956,"src":"274221:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34927,"name":"uint256","nodeType":"ElementaryTypeName","src":"274221:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34930,"mutability":"mutable","name":"p3","nameLocation":"274241:2:19","nodeType":"VariableDeclaration","scope":34956,"src":"274233:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34929,"name":"address","nodeType":"ElementaryTypeName","src":"274233:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"274199:45:19"},"returnParameters":{"id":34932,"nodeType":"ParameterList","parameters":[],"src":"274259:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":34990,"nodeType":"FunctionDefinition","src":"275065:866:19","nodes":[],"body":{"id":34989,"nodeType":"Block","src":"275134:797:19","nodes":[],"statements":[{"assignments":[34968],"declarations":[{"constant":false,"id":34968,"mutability":"mutable","name":"m0","nameLocation":"275152:2:19","nodeType":"VariableDeclaration","scope":34989,"src":"275144:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34967,"name":"bytes32","nodeType":"ElementaryTypeName","src":"275144:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34969,"nodeType":"VariableDeclarationStatement","src":"275144:10:19"},{"assignments":[34971],"declarations":[{"constant":false,"id":34971,"mutability":"mutable","name":"m1","nameLocation":"275172:2:19","nodeType":"VariableDeclaration","scope":34989,"src":"275164:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34970,"name":"bytes32","nodeType":"ElementaryTypeName","src":"275164:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34972,"nodeType":"VariableDeclarationStatement","src":"275164:10:19"},{"assignments":[34974],"declarations":[{"constant":false,"id":34974,"mutability":"mutable","name":"m2","nameLocation":"275192:2:19","nodeType":"VariableDeclaration","scope":34989,"src":"275184:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34973,"name":"bytes32","nodeType":"ElementaryTypeName","src":"275184:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34975,"nodeType":"VariableDeclarationStatement","src":"275184:10:19"},{"assignments":[34977],"declarations":[{"constant":false,"id":34977,"mutability":"mutable","name":"m3","nameLocation":"275212:2:19","nodeType":"VariableDeclaration","scope":34989,"src":"275204:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34976,"name":"bytes32","nodeType":"ElementaryTypeName","src":"275204:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34978,"nodeType":"VariableDeclarationStatement","src":"275204:10:19"},{"assignments":[34980],"declarations":[{"constant":false,"id":34980,"mutability":"mutable","name":"m4","nameLocation":"275232:2:19","nodeType":"VariableDeclaration","scope":34989,"src":"275224:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":34979,"name":"bytes32","nodeType":"ElementaryTypeName","src":"275224:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":34981,"nodeType":"VariableDeclarationStatement","src":"275224:10:19"},{"AST":{"nativeSrc":"275296:375:19","nodeType":"YulBlock","src":"275296:375:19","statements":[{"nativeSrc":"275310:17:19","nodeType":"YulAssignment","src":"275310:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"275322:4:19","nodeType":"YulLiteral","src":"275322:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"275316:5:19","nodeType":"YulIdentifier","src":"275316:5:19"},"nativeSrc":"275316:11:19","nodeType":"YulFunctionCall","src":"275316:11:19"},"variableNames":[{"name":"m0","nativeSrc":"275310:2:19","nodeType":"YulIdentifier","src":"275310:2:19"}]},{"nativeSrc":"275340:17:19","nodeType":"YulAssignment","src":"275340:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"275352:4:19","nodeType":"YulLiteral","src":"275352:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"275346:5:19","nodeType":"YulIdentifier","src":"275346:5:19"},"nativeSrc":"275346:11:19","nodeType":"YulFunctionCall","src":"275346:11:19"},"variableNames":[{"name":"m1","nativeSrc":"275340:2:19","nodeType":"YulIdentifier","src":"275340:2:19"}]},{"nativeSrc":"275370:17:19","nodeType":"YulAssignment","src":"275370:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"275382:4:19","nodeType":"YulLiteral","src":"275382:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"275376:5:19","nodeType":"YulIdentifier","src":"275376:5:19"},"nativeSrc":"275376:11:19","nodeType":"YulFunctionCall","src":"275376:11:19"},"variableNames":[{"name":"m2","nativeSrc":"275370:2:19","nodeType":"YulIdentifier","src":"275370:2:19"}]},{"nativeSrc":"275400:17:19","nodeType":"YulAssignment","src":"275400:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"275412:4:19","nodeType":"YulLiteral","src":"275412:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"275406:5:19","nodeType":"YulIdentifier","src":"275406:5:19"},"nativeSrc":"275406:11:19","nodeType":"YulFunctionCall","src":"275406:11:19"},"variableNames":[{"name":"m3","nativeSrc":"275400:2:19","nodeType":"YulIdentifier","src":"275400:2:19"}]},{"nativeSrc":"275430:17:19","nodeType":"YulAssignment","src":"275430:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"275442:4:19","nodeType":"YulLiteral","src":"275442:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"275436:5:19","nodeType":"YulIdentifier","src":"275436:5:19"},"nativeSrc":"275436:11:19","nodeType":"YulFunctionCall","src":"275436:11:19"},"variableNames":[{"name":"m4","nativeSrc":"275430:2:19","nodeType":"YulIdentifier","src":"275430:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275528:4:19","nodeType":"YulLiteral","src":"275528:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"275534:10:19","nodeType":"YulLiteral","src":"275534:10:19","type":"","value":"0x91a02e2a"}],"functionName":{"name":"mstore","nativeSrc":"275521:6:19","nodeType":"YulIdentifier","src":"275521:6:19"},"nativeSrc":"275521:24:19","nodeType":"YulFunctionCall","src":"275521:24:19"},"nativeSrc":"275521:24:19","nodeType":"YulExpressionStatement","src":"275521:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275565:4:19","nodeType":"YulLiteral","src":"275565:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"275571:2:19","nodeType":"YulIdentifier","src":"275571:2:19"}],"functionName":{"name":"mstore","nativeSrc":"275558:6:19","nodeType":"YulIdentifier","src":"275558:6:19"},"nativeSrc":"275558:16:19","nodeType":"YulFunctionCall","src":"275558:16:19"},"nativeSrc":"275558:16:19","nodeType":"YulExpressionStatement","src":"275558:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275594:4:19","nodeType":"YulLiteral","src":"275594:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"275600:2:19","nodeType":"YulIdentifier","src":"275600:2:19"}],"functionName":{"name":"mstore","nativeSrc":"275587:6:19","nodeType":"YulIdentifier","src":"275587:6:19"},"nativeSrc":"275587:16:19","nodeType":"YulFunctionCall","src":"275587:16:19"},"nativeSrc":"275587:16:19","nodeType":"YulExpressionStatement","src":"275587:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275623:4:19","nodeType":"YulLiteral","src":"275623:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"275629:2:19","nodeType":"YulIdentifier","src":"275629:2:19"}],"functionName":{"name":"mstore","nativeSrc":"275616:6:19","nodeType":"YulIdentifier","src":"275616:6:19"},"nativeSrc":"275616:16:19","nodeType":"YulFunctionCall","src":"275616:16:19"},"nativeSrc":"275616:16:19","nodeType":"YulExpressionStatement","src":"275616:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275652:4:19","nodeType":"YulLiteral","src":"275652:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"275658:2:19","nodeType":"YulIdentifier","src":"275658:2:19"}],"functionName":{"name":"mstore","nativeSrc":"275645:6:19","nodeType":"YulIdentifier","src":"275645:6:19"},"nativeSrc":"275645:16:19","nodeType":"YulFunctionCall","src":"275645:16:19"},"nativeSrc":"275645:16:19","nodeType":"YulExpressionStatement","src":"275645:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34968,"isOffset":false,"isSlot":false,"src":"275310:2:19","valueSize":1},{"declaration":34971,"isOffset":false,"isSlot":false,"src":"275340:2:19","valueSize":1},{"declaration":34974,"isOffset":false,"isSlot":false,"src":"275370:2:19","valueSize":1},{"declaration":34977,"isOffset":false,"isSlot":false,"src":"275400:2:19","valueSize":1},{"declaration":34980,"isOffset":false,"isSlot":false,"src":"275430:2:19","valueSize":1},{"declaration":34958,"isOffset":false,"isSlot":false,"src":"275571:2:19","valueSize":1},{"declaration":34960,"isOffset":false,"isSlot":false,"src":"275600:2:19","valueSize":1},{"declaration":34962,"isOffset":false,"isSlot":false,"src":"275629:2:19","valueSize":1},{"declaration":34964,"isOffset":false,"isSlot":false,"src":"275658:2:19","valueSize":1}],"id":34982,"nodeType":"InlineAssembly","src":"275287:384:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":34984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"275696:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":34985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"275702:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":34983,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"275680:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":34986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"275680:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34987,"nodeType":"ExpressionStatement","src":"275680:27:19"},{"AST":{"nativeSrc":"275769:156:19","nodeType":"YulBlock","src":"275769:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"275790:4:19","nodeType":"YulLiteral","src":"275790:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"275796:2:19","nodeType":"YulIdentifier","src":"275796:2:19"}],"functionName":{"name":"mstore","nativeSrc":"275783:6:19","nodeType":"YulIdentifier","src":"275783:6:19"},"nativeSrc":"275783:16:19","nodeType":"YulFunctionCall","src":"275783:16:19"},"nativeSrc":"275783:16:19","nodeType":"YulExpressionStatement","src":"275783:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275819:4:19","nodeType":"YulLiteral","src":"275819:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"275825:2:19","nodeType":"YulIdentifier","src":"275825:2:19"}],"functionName":{"name":"mstore","nativeSrc":"275812:6:19","nodeType":"YulIdentifier","src":"275812:6:19"},"nativeSrc":"275812:16:19","nodeType":"YulFunctionCall","src":"275812:16:19"},"nativeSrc":"275812:16:19","nodeType":"YulExpressionStatement","src":"275812:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275848:4:19","nodeType":"YulLiteral","src":"275848:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"275854:2:19","nodeType":"YulIdentifier","src":"275854:2:19"}],"functionName":{"name":"mstore","nativeSrc":"275841:6:19","nodeType":"YulIdentifier","src":"275841:6:19"},"nativeSrc":"275841:16:19","nodeType":"YulFunctionCall","src":"275841:16:19"},"nativeSrc":"275841:16:19","nodeType":"YulExpressionStatement","src":"275841:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275877:4:19","nodeType":"YulLiteral","src":"275877:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"275883:2:19","nodeType":"YulIdentifier","src":"275883:2:19"}],"functionName":{"name":"mstore","nativeSrc":"275870:6:19","nodeType":"YulIdentifier","src":"275870:6:19"},"nativeSrc":"275870:16:19","nodeType":"YulFunctionCall","src":"275870:16:19"},"nativeSrc":"275870:16:19","nodeType":"YulExpressionStatement","src":"275870:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"275906:4:19","nodeType":"YulLiteral","src":"275906:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"275912:2:19","nodeType":"YulIdentifier","src":"275912:2:19"}],"functionName":{"name":"mstore","nativeSrc":"275899:6:19","nodeType":"YulIdentifier","src":"275899:6:19"},"nativeSrc":"275899:16:19","nodeType":"YulFunctionCall","src":"275899:16:19"},"nativeSrc":"275899:16:19","nodeType":"YulExpressionStatement","src":"275899:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":34968,"isOffset":false,"isSlot":false,"src":"275796:2:19","valueSize":1},{"declaration":34971,"isOffset":false,"isSlot":false,"src":"275825:2:19","valueSize":1},{"declaration":34974,"isOffset":false,"isSlot":false,"src":"275854:2:19","valueSize":1},{"declaration":34977,"isOffset":false,"isSlot":false,"src":"275883:2:19","valueSize":1},{"declaration":34980,"isOffset":false,"isSlot":false,"src":"275912:2:19","valueSize":1}],"id":34988,"nodeType":"InlineAssembly","src":"275760:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"275074:3:19","parameters":{"id":34965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34958,"mutability":"mutable","name":"p0","nameLocation":"275086:2:19","nodeType":"VariableDeclaration","scope":34990,"src":"275078:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34957,"name":"uint256","nodeType":"ElementaryTypeName","src":"275078:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34960,"mutability":"mutable","name":"p1","nameLocation":"275095:2:19","nodeType":"VariableDeclaration","scope":34990,"src":"275090:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34959,"name":"bool","nodeType":"ElementaryTypeName","src":"275090:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34962,"mutability":"mutable","name":"p2","nameLocation":"275107:2:19","nodeType":"VariableDeclaration","scope":34990,"src":"275099:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34961,"name":"uint256","nodeType":"ElementaryTypeName","src":"275099:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34964,"mutability":"mutable","name":"p3","nameLocation":"275116:2:19","nodeType":"VariableDeclaration","scope":34990,"src":"275111:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34963,"name":"bool","nodeType":"ElementaryTypeName","src":"275111:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"275077:42:19"},"returnParameters":{"id":34966,"nodeType":"ParameterList","parameters":[],"src":"275134:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35024,"nodeType":"FunctionDefinition","src":"275937:872:19","nodes":[],"body":{"id":35023,"nodeType":"Block","src":"276009:800:19","nodes":[],"statements":[{"assignments":[35002],"declarations":[{"constant":false,"id":35002,"mutability":"mutable","name":"m0","nameLocation":"276027:2:19","nodeType":"VariableDeclaration","scope":35023,"src":"276019:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35001,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276019:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35003,"nodeType":"VariableDeclarationStatement","src":"276019:10:19"},{"assignments":[35005],"declarations":[{"constant":false,"id":35005,"mutability":"mutable","name":"m1","nameLocation":"276047:2:19","nodeType":"VariableDeclaration","scope":35023,"src":"276039:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35004,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276039:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35006,"nodeType":"VariableDeclarationStatement","src":"276039:10:19"},{"assignments":[35008],"declarations":[{"constant":false,"id":35008,"mutability":"mutable","name":"m2","nameLocation":"276067:2:19","nodeType":"VariableDeclaration","scope":35023,"src":"276059:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35007,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276059:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35009,"nodeType":"VariableDeclarationStatement","src":"276059:10:19"},{"assignments":[35011],"declarations":[{"constant":false,"id":35011,"mutability":"mutable","name":"m3","nameLocation":"276087:2:19","nodeType":"VariableDeclaration","scope":35023,"src":"276079:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35010,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276079:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35012,"nodeType":"VariableDeclarationStatement","src":"276079:10:19"},{"assignments":[35014],"declarations":[{"constant":false,"id":35014,"mutability":"mutable","name":"m4","nameLocation":"276107:2:19","nodeType":"VariableDeclaration","scope":35023,"src":"276099:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35013,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276099:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35015,"nodeType":"VariableDeclarationStatement","src":"276099:10:19"},{"AST":{"nativeSrc":"276171:378:19","nodeType":"YulBlock","src":"276171:378:19","statements":[{"nativeSrc":"276185:17:19","nodeType":"YulAssignment","src":"276185:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"276197:4:19","nodeType":"YulLiteral","src":"276197:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"276191:5:19","nodeType":"YulIdentifier","src":"276191:5:19"},"nativeSrc":"276191:11:19","nodeType":"YulFunctionCall","src":"276191:11:19"},"variableNames":[{"name":"m0","nativeSrc":"276185:2:19","nodeType":"YulIdentifier","src":"276185:2:19"}]},{"nativeSrc":"276215:17:19","nodeType":"YulAssignment","src":"276215:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"276227:4:19","nodeType":"YulLiteral","src":"276227:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"276221:5:19","nodeType":"YulIdentifier","src":"276221:5:19"},"nativeSrc":"276221:11:19","nodeType":"YulFunctionCall","src":"276221:11:19"},"variableNames":[{"name":"m1","nativeSrc":"276215:2:19","nodeType":"YulIdentifier","src":"276215:2:19"}]},{"nativeSrc":"276245:17:19","nodeType":"YulAssignment","src":"276245:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"276257:4:19","nodeType":"YulLiteral","src":"276257:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"276251:5:19","nodeType":"YulIdentifier","src":"276251:5:19"},"nativeSrc":"276251:11:19","nodeType":"YulFunctionCall","src":"276251:11:19"},"variableNames":[{"name":"m2","nativeSrc":"276245:2:19","nodeType":"YulIdentifier","src":"276245:2:19"}]},{"nativeSrc":"276275:17:19","nodeType":"YulAssignment","src":"276275:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"276287:4:19","nodeType":"YulLiteral","src":"276287:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"276281:5:19","nodeType":"YulIdentifier","src":"276281:5:19"},"nativeSrc":"276281:11:19","nodeType":"YulFunctionCall","src":"276281:11:19"},"variableNames":[{"name":"m3","nativeSrc":"276275:2:19","nodeType":"YulIdentifier","src":"276275:2:19"}]},{"nativeSrc":"276305:17:19","nodeType":"YulAssignment","src":"276305:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"276317:4:19","nodeType":"YulLiteral","src":"276317:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"276311:5:19","nodeType":"YulIdentifier","src":"276311:5:19"},"nativeSrc":"276311:11:19","nodeType":"YulFunctionCall","src":"276311:11:19"},"variableNames":[{"name":"m4","nativeSrc":"276305:2:19","nodeType":"YulIdentifier","src":"276305:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276406:4:19","nodeType":"YulLiteral","src":"276406:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"276412:10:19","nodeType":"YulLiteral","src":"276412:10:19","type":"","value":"0xc6acc7a8"}],"functionName":{"name":"mstore","nativeSrc":"276399:6:19","nodeType":"YulIdentifier","src":"276399:6:19"},"nativeSrc":"276399:24:19","nodeType":"YulFunctionCall","src":"276399:24:19"},"nativeSrc":"276399:24:19","nodeType":"YulExpressionStatement","src":"276399:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276443:4:19","nodeType":"YulLiteral","src":"276443:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"276449:2:19","nodeType":"YulIdentifier","src":"276449:2:19"}],"functionName":{"name":"mstore","nativeSrc":"276436:6:19","nodeType":"YulIdentifier","src":"276436:6:19"},"nativeSrc":"276436:16:19","nodeType":"YulFunctionCall","src":"276436:16:19"},"nativeSrc":"276436:16:19","nodeType":"YulExpressionStatement","src":"276436:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276472:4:19","nodeType":"YulLiteral","src":"276472:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"276478:2:19","nodeType":"YulIdentifier","src":"276478:2:19"}],"functionName":{"name":"mstore","nativeSrc":"276465:6:19","nodeType":"YulIdentifier","src":"276465:6:19"},"nativeSrc":"276465:16:19","nodeType":"YulFunctionCall","src":"276465:16:19"},"nativeSrc":"276465:16:19","nodeType":"YulExpressionStatement","src":"276465:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276501:4:19","nodeType":"YulLiteral","src":"276501:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"276507:2:19","nodeType":"YulIdentifier","src":"276507:2:19"}],"functionName":{"name":"mstore","nativeSrc":"276494:6:19","nodeType":"YulIdentifier","src":"276494:6:19"},"nativeSrc":"276494:16:19","nodeType":"YulFunctionCall","src":"276494:16:19"},"nativeSrc":"276494:16:19","nodeType":"YulExpressionStatement","src":"276494:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276530:4:19","nodeType":"YulLiteral","src":"276530:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"276536:2:19","nodeType":"YulIdentifier","src":"276536:2:19"}],"functionName":{"name":"mstore","nativeSrc":"276523:6:19","nodeType":"YulIdentifier","src":"276523:6:19"},"nativeSrc":"276523:16:19","nodeType":"YulFunctionCall","src":"276523:16:19"},"nativeSrc":"276523:16:19","nodeType":"YulExpressionStatement","src":"276523:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35002,"isOffset":false,"isSlot":false,"src":"276185:2:19","valueSize":1},{"declaration":35005,"isOffset":false,"isSlot":false,"src":"276215:2:19","valueSize":1},{"declaration":35008,"isOffset":false,"isSlot":false,"src":"276245:2:19","valueSize":1},{"declaration":35011,"isOffset":false,"isSlot":false,"src":"276275:2:19","valueSize":1},{"declaration":35014,"isOffset":false,"isSlot":false,"src":"276305:2:19","valueSize":1},{"declaration":34992,"isOffset":false,"isSlot":false,"src":"276449:2:19","valueSize":1},{"declaration":34994,"isOffset":false,"isSlot":false,"src":"276478:2:19","valueSize":1},{"declaration":34996,"isOffset":false,"isSlot":false,"src":"276507:2:19","valueSize":1},{"declaration":34998,"isOffset":false,"isSlot":false,"src":"276536:2:19","valueSize":1}],"id":35016,"nodeType":"InlineAssembly","src":"276162:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"276574:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"276580:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":35017,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"276558:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"276558:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35021,"nodeType":"ExpressionStatement","src":"276558:27:19"},{"AST":{"nativeSrc":"276647:156:19","nodeType":"YulBlock","src":"276647:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"276668:4:19","nodeType":"YulLiteral","src":"276668:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"276674:2:19","nodeType":"YulIdentifier","src":"276674:2:19"}],"functionName":{"name":"mstore","nativeSrc":"276661:6:19","nodeType":"YulIdentifier","src":"276661:6:19"},"nativeSrc":"276661:16:19","nodeType":"YulFunctionCall","src":"276661:16:19"},"nativeSrc":"276661:16:19","nodeType":"YulExpressionStatement","src":"276661:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276697:4:19","nodeType":"YulLiteral","src":"276697:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"276703:2:19","nodeType":"YulIdentifier","src":"276703:2:19"}],"functionName":{"name":"mstore","nativeSrc":"276690:6:19","nodeType":"YulIdentifier","src":"276690:6:19"},"nativeSrc":"276690:16:19","nodeType":"YulFunctionCall","src":"276690:16:19"},"nativeSrc":"276690:16:19","nodeType":"YulExpressionStatement","src":"276690:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276726:4:19","nodeType":"YulLiteral","src":"276726:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"276732:2:19","nodeType":"YulIdentifier","src":"276732:2:19"}],"functionName":{"name":"mstore","nativeSrc":"276719:6:19","nodeType":"YulIdentifier","src":"276719:6:19"},"nativeSrc":"276719:16:19","nodeType":"YulFunctionCall","src":"276719:16:19"},"nativeSrc":"276719:16:19","nodeType":"YulExpressionStatement","src":"276719:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276755:4:19","nodeType":"YulLiteral","src":"276755:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"276761:2:19","nodeType":"YulIdentifier","src":"276761:2:19"}],"functionName":{"name":"mstore","nativeSrc":"276748:6:19","nodeType":"YulIdentifier","src":"276748:6:19"},"nativeSrc":"276748:16:19","nodeType":"YulFunctionCall","src":"276748:16:19"},"nativeSrc":"276748:16:19","nodeType":"YulExpressionStatement","src":"276748:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"276784:4:19","nodeType":"YulLiteral","src":"276784:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"276790:2:19","nodeType":"YulIdentifier","src":"276790:2:19"}],"functionName":{"name":"mstore","nativeSrc":"276777:6:19","nodeType":"YulIdentifier","src":"276777:6:19"},"nativeSrc":"276777:16:19","nodeType":"YulFunctionCall","src":"276777:16:19"},"nativeSrc":"276777:16:19","nodeType":"YulExpressionStatement","src":"276777:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35002,"isOffset":false,"isSlot":false,"src":"276674:2:19","valueSize":1},{"declaration":35005,"isOffset":false,"isSlot":false,"src":"276703:2:19","valueSize":1},{"declaration":35008,"isOffset":false,"isSlot":false,"src":"276732:2:19","valueSize":1},{"declaration":35011,"isOffset":false,"isSlot":false,"src":"276761:2:19","valueSize":1},{"declaration":35014,"isOffset":false,"isSlot":false,"src":"276790:2:19","valueSize":1}],"id":35022,"nodeType":"InlineAssembly","src":"276638:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"275946:3:19","parameters":{"id":34999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34992,"mutability":"mutable","name":"p0","nameLocation":"275958:2:19","nodeType":"VariableDeclaration","scope":35024,"src":"275950:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34991,"name":"uint256","nodeType":"ElementaryTypeName","src":"275950:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34994,"mutability":"mutable","name":"p1","nameLocation":"275967:2:19","nodeType":"VariableDeclaration","scope":35024,"src":"275962:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34993,"name":"bool","nodeType":"ElementaryTypeName","src":"275962:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":34996,"mutability":"mutable","name":"p2","nameLocation":"275979:2:19","nodeType":"VariableDeclaration","scope":35024,"src":"275971:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34995,"name":"uint256","nodeType":"ElementaryTypeName","src":"275971:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34998,"mutability":"mutable","name":"p3","nameLocation":"275991:2:19","nodeType":"VariableDeclaration","scope":35024,"src":"275983:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34997,"name":"uint256","nodeType":"ElementaryTypeName","src":"275983:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"275949:45:19"},"returnParameters":{"id":35000,"nodeType":"ParameterList","parameters":[],"src":"276009:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35064,"nodeType":"FunctionDefinition","src":"276815:1420:19","nodes":[],"body":{"id":35063,"nodeType":"Block","src":"276887:1348:19","nodes":[],"statements":[{"assignments":[35036],"declarations":[{"constant":false,"id":35036,"mutability":"mutable","name":"m0","nameLocation":"276905:2:19","nodeType":"VariableDeclaration","scope":35063,"src":"276897:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35035,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276897:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35037,"nodeType":"VariableDeclarationStatement","src":"276897:10:19"},{"assignments":[35039],"declarations":[{"constant":false,"id":35039,"mutability":"mutable","name":"m1","nameLocation":"276925:2:19","nodeType":"VariableDeclaration","scope":35063,"src":"276917:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35038,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276917:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35040,"nodeType":"VariableDeclarationStatement","src":"276917:10:19"},{"assignments":[35042],"declarations":[{"constant":false,"id":35042,"mutability":"mutable","name":"m2","nameLocation":"276945:2:19","nodeType":"VariableDeclaration","scope":35063,"src":"276937:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35041,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276937:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35043,"nodeType":"VariableDeclarationStatement","src":"276937:10:19"},{"assignments":[35045],"declarations":[{"constant":false,"id":35045,"mutability":"mutable","name":"m3","nameLocation":"276965:2:19","nodeType":"VariableDeclaration","scope":35063,"src":"276957:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35044,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276957:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35046,"nodeType":"VariableDeclarationStatement","src":"276957:10:19"},{"assignments":[35048],"declarations":[{"constant":false,"id":35048,"mutability":"mutable","name":"m4","nameLocation":"276985:2:19","nodeType":"VariableDeclaration","scope":35063,"src":"276977:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35047,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276977:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35049,"nodeType":"VariableDeclarationStatement","src":"276977:10:19"},{"assignments":[35051],"declarations":[{"constant":false,"id":35051,"mutability":"mutable","name":"m5","nameLocation":"277005:2:19","nodeType":"VariableDeclaration","scope":35063,"src":"276997:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35050,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276997:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35052,"nodeType":"VariableDeclarationStatement","src":"276997:10:19"},{"assignments":[35054],"declarations":[{"constant":false,"id":35054,"mutability":"mutable","name":"m6","nameLocation":"277025:2:19","nodeType":"VariableDeclaration","scope":35063,"src":"277017:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35053,"name":"bytes32","nodeType":"ElementaryTypeName","src":"277017:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35055,"nodeType":"VariableDeclarationStatement","src":"277017:10:19"},{"AST":{"nativeSrc":"277089:828:19","nodeType":"YulBlock","src":"277089:828:19","statements":[{"body":{"nativeSrc":"277132:313:19","nodeType":"YulBlock","src":"277132:313:19","statements":[{"nativeSrc":"277150:15:19","nodeType":"YulVariableDeclaration","src":"277150:15:19","value":{"kind":"number","nativeSrc":"277164:1:19","nodeType":"YulLiteral","src":"277164:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"277154:6:19","nodeType":"YulTypedName","src":"277154:6:19","type":""}]},{"body":{"nativeSrc":"277235:40:19","nodeType":"YulBlock","src":"277235:40:19","statements":[{"body":{"nativeSrc":"277264:9:19","nodeType":"YulBlock","src":"277264:9:19","statements":[{"nativeSrc":"277266:5:19","nodeType":"YulBreak","src":"277266:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"277252:6:19","nodeType":"YulIdentifier","src":"277252:6:19"},{"name":"w","nativeSrc":"277260:1:19","nodeType":"YulIdentifier","src":"277260:1:19"}],"functionName":{"name":"byte","nativeSrc":"277247:4:19","nodeType":"YulIdentifier","src":"277247:4:19"},"nativeSrc":"277247:15:19","nodeType":"YulFunctionCall","src":"277247:15:19"}],"functionName":{"name":"iszero","nativeSrc":"277240:6:19","nodeType":"YulIdentifier","src":"277240:6:19"},"nativeSrc":"277240:23:19","nodeType":"YulFunctionCall","src":"277240:23:19"},"nativeSrc":"277237:36:19","nodeType":"YulIf","src":"277237:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"277192:6:19","nodeType":"YulIdentifier","src":"277192:6:19"},{"kind":"number","nativeSrc":"277200:4:19","nodeType":"YulLiteral","src":"277200:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"277189:2:19","nodeType":"YulIdentifier","src":"277189:2:19"},"nativeSrc":"277189:16:19","nodeType":"YulFunctionCall","src":"277189:16:19"},"nativeSrc":"277182:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"277206:28:19","nodeType":"YulBlock","src":"277206:28:19","statements":[{"nativeSrc":"277208:24:19","nodeType":"YulAssignment","src":"277208:24:19","value":{"arguments":[{"name":"length","nativeSrc":"277222:6:19","nodeType":"YulIdentifier","src":"277222:6:19"},{"kind":"number","nativeSrc":"277230:1:19","nodeType":"YulLiteral","src":"277230:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"277218:3:19","nodeType":"YulIdentifier","src":"277218:3:19"},"nativeSrc":"277218:14:19","nodeType":"YulFunctionCall","src":"277218:14:19"},"variableNames":[{"name":"length","nativeSrc":"277208:6:19","nodeType":"YulIdentifier","src":"277208:6:19"}]}]},"pre":{"nativeSrc":"277186:2:19","nodeType":"YulBlock","src":"277186:2:19","statements":[]},"src":"277182:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"277299:3:19","nodeType":"YulIdentifier","src":"277299:3:19"},{"name":"length","nativeSrc":"277304:6:19","nodeType":"YulIdentifier","src":"277304:6:19"}],"functionName":{"name":"mstore","nativeSrc":"277292:6:19","nodeType":"YulIdentifier","src":"277292:6:19"},"nativeSrc":"277292:19:19","nodeType":"YulFunctionCall","src":"277292:19:19"},"nativeSrc":"277292:19:19","nodeType":"YulExpressionStatement","src":"277292:19:19"},{"nativeSrc":"277328:37:19","nodeType":"YulVariableDeclaration","src":"277328:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"277345:3:19","nodeType":"YulLiteral","src":"277345:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"277354:1:19","nodeType":"YulLiteral","src":"277354:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"277357:6:19","nodeType":"YulIdentifier","src":"277357:6:19"}],"functionName":{"name":"shl","nativeSrc":"277350:3:19","nodeType":"YulIdentifier","src":"277350:3:19"},"nativeSrc":"277350:14:19","nodeType":"YulFunctionCall","src":"277350:14:19"}],"functionName":{"name":"sub","nativeSrc":"277341:3:19","nodeType":"YulIdentifier","src":"277341:3:19"},"nativeSrc":"277341:24:19","nodeType":"YulFunctionCall","src":"277341:24:19"},"variables":[{"name":"shift","nativeSrc":"277332:5:19","nodeType":"YulTypedName","src":"277332:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"277393:3:19","nodeType":"YulIdentifier","src":"277393:3:19"},{"kind":"number","nativeSrc":"277398:4:19","nodeType":"YulLiteral","src":"277398:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"277389:3:19","nodeType":"YulIdentifier","src":"277389:3:19"},"nativeSrc":"277389:14:19","nodeType":"YulFunctionCall","src":"277389:14:19"},{"arguments":[{"name":"shift","nativeSrc":"277409:5:19","nodeType":"YulIdentifier","src":"277409:5:19"},{"arguments":[{"name":"shift","nativeSrc":"277420:5:19","nodeType":"YulIdentifier","src":"277420:5:19"},{"name":"w","nativeSrc":"277427:1:19","nodeType":"YulIdentifier","src":"277427:1:19"}],"functionName":{"name":"shr","nativeSrc":"277416:3:19","nodeType":"YulIdentifier","src":"277416:3:19"},"nativeSrc":"277416:13:19","nodeType":"YulFunctionCall","src":"277416:13:19"}],"functionName":{"name":"shl","nativeSrc":"277405:3:19","nodeType":"YulIdentifier","src":"277405:3:19"},"nativeSrc":"277405:25:19","nodeType":"YulFunctionCall","src":"277405:25:19"}],"functionName":{"name":"mstore","nativeSrc":"277382:6:19","nodeType":"YulIdentifier","src":"277382:6:19"},"nativeSrc":"277382:49:19","nodeType":"YulFunctionCall","src":"277382:49:19"},"nativeSrc":"277382:49:19","nodeType":"YulExpressionStatement","src":"277382:49:19"}]},"name":"writeString","nativeSrc":"277103:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"277124:3:19","nodeType":"YulTypedName","src":"277124:3:19","type":""},{"name":"w","nativeSrc":"277129:1:19","nodeType":"YulTypedName","src":"277129:1:19","type":""}],"src":"277103:342:19"},{"nativeSrc":"277458:17:19","nodeType":"YulAssignment","src":"277458:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"277470:4:19","nodeType":"YulLiteral","src":"277470:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"277464:5:19","nodeType":"YulIdentifier","src":"277464:5:19"},"nativeSrc":"277464:11:19","nodeType":"YulFunctionCall","src":"277464:11:19"},"variableNames":[{"name":"m0","nativeSrc":"277458:2:19","nodeType":"YulIdentifier","src":"277458:2:19"}]},{"nativeSrc":"277488:17:19","nodeType":"YulAssignment","src":"277488:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"277500:4:19","nodeType":"YulLiteral","src":"277500:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"277494:5:19","nodeType":"YulIdentifier","src":"277494:5:19"},"nativeSrc":"277494:11:19","nodeType":"YulFunctionCall","src":"277494:11:19"},"variableNames":[{"name":"m1","nativeSrc":"277488:2:19","nodeType":"YulIdentifier","src":"277488:2:19"}]},{"nativeSrc":"277518:17:19","nodeType":"YulAssignment","src":"277518:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"277530:4:19","nodeType":"YulLiteral","src":"277530:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"277524:5:19","nodeType":"YulIdentifier","src":"277524:5:19"},"nativeSrc":"277524:11:19","nodeType":"YulFunctionCall","src":"277524:11:19"},"variableNames":[{"name":"m2","nativeSrc":"277518:2:19","nodeType":"YulIdentifier","src":"277518:2:19"}]},{"nativeSrc":"277548:17:19","nodeType":"YulAssignment","src":"277548:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"277560:4:19","nodeType":"YulLiteral","src":"277560:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"277554:5:19","nodeType":"YulIdentifier","src":"277554:5:19"},"nativeSrc":"277554:11:19","nodeType":"YulFunctionCall","src":"277554:11:19"},"variableNames":[{"name":"m3","nativeSrc":"277548:2:19","nodeType":"YulIdentifier","src":"277548:2:19"}]},{"nativeSrc":"277578:17:19","nodeType":"YulAssignment","src":"277578:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"277590:4:19","nodeType":"YulLiteral","src":"277590:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"277584:5:19","nodeType":"YulIdentifier","src":"277584:5:19"},"nativeSrc":"277584:11:19","nodeType":"YulFunctionCall","src":"277584:11:19"},"variableNames":[{"name":"m4","nativeSrc":"277578:2:19","nodeType":"YulIdentifier","src":"277578:2:19"}]},{"nativeSrc":"277608:17:19","nodeType":"YulAssignment","src":"277608:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"277620:4:19","nodeType":"YulLiteral","src":"277620:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"277614:5:19","nodeType":"YulIdentifier","src":"277614:5:19"},"nativeSrc":"277614:11:19","nodeType":"YulFunctionCall","src":"277614:11:19"},"variableNames":[{"name":"m5","nativeSrc":"277608:2:19","nodeType":"YulIdentifier","src":"277608:2:19"}]},{"nativeSrc":"277638:17:19","nodeType":"YulAssignment","src":"277638:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"277650:4:19","nodeType":"YulLiteral","src":"277650:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"277644:5:19","nodeType":"YulIdentifier","src":"277644:5:19"},"nativeSrc":"277644:11:19","nodeType":"YulFunctionCall","src":"277644:11:19"},"variableNames":[{"name":"m6","nativeSrc":"277638:2:19","nodeType":"YulIdentifier","src":"277638:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"277738:4:19","nodeType":"YulLiteral","src":"277738:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"277744:10:19","nodeType":"YulLiteral","src":"277744:10:19","type":"","value":"0xde03e774"}],"functionName":{"name":"mstore","nativeSrc":"277731:6:19","nodeType":"YulIdentifier","src":"277731:6:19"},"nativeSrc":"277731:24:19","nodeType":"YulFunctionCall","src":"277731:24:19"},"nativeSrc":"277731:24:19","nodeType":"YulExpressionStatement","src":"277731:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"277775:4:19","nodeType":"YulLiteral","src":"277775:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"277781:2:19","nodeType":"YulIdentifier","src":"277781:2:19"}],"functionName":{"name":"mstore","nativeSrc":"277768:6:19","nodeType":"YulIdentifier","src":"277768:6:19"},"nativeSrc":"277768:16:19","nodeType":"YulFunctionCall","src":"277768:16:19"},"nativeSrc":"277768:16:19","nodeType":"YulExpressionStatement","src":"277768:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"277804:4:19","nodeType":"YulLiteral","src":"277804:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"277810:2:19","nodeType":"YulIdentifier","src":"277810:2:19"}],"functionName":{"name":"mstore","nativeSrc":"277797:6:19","nodeType":"YulIdentifier","src":"277797:6:19"},"nativeSrc":"277797:16:19","nodeType":"YulFunctionCall","src":"277797:16:19"},"nativeSrc":"277797:16:19","nodeType":"YulExpressionStatement","src":"277797:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"277833:4:19","nodeType":"YulLiteral","src":"277833:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"277839:2:19","nodeType":"YulIdentifier","src":"277839:2:19"}],"functionName":{"name":"mstore","nativeSrc":"277826:6:19","nodeType":"YulIdentifier","src":"277826:6:19"},"nativeSrc":"277826:16:19","nodeType":"YulFunctionCall","src":"277826:16:19"},"nativeSrc":"277826:16:19","nodeType":"YulExpressionStatement","src":"277826:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"277862:4:19","nodeType":"YulLiteral","src":"277862:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"277868:4:19","nodeType":"YulLiteral","src":"277868:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"277855:6:19","nodeType":"YulIdentifier","src":"277855:6:19"},"nativeSrc":"277855:18:19","nodeType":"YulFunctionCall","src":"277855:18:19"},"nativeSrc":"277855:18:19","nodeType":"YulExpressionStatement","src":"277855:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"277898:4:19","nodeType":"YulLiteral","src":"277898:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"277904:2:19","nodeType":"YulIdentifier","src":"277904:2:19"}],"functionName":{"name":"writeString","nativeSrc":"277886:11:19","nodeType":"YulIdentifier","src":"277886:11:19"},"nativeSrc":"277886:21:19","nodeType":"YulFunctionCall","src":"277886:21:19"},"nativeSrc":"277886:21:19","nodeType":"YulExpressionStatement","src":"277886:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35036,"isOffset":false,"isSlot":false,"src":"277458:2:19","valueSize":1},{"declaration":35039,"isOffset":false,"isSlot":false,"src":"277488:2:19","valueSize":1},{"declaration":35042,"isOffset":false,"isSlot":false,"src":"277518:2:19","valueSize":1},{"declaration":35045,"isOffset":false,"isSlot":false,"src":"277548:2:19","valueSize":1},{"declaration":35048,"isOffset":false,"isSlot":false,"src":"277578:2:19","valueSize":1},{"declaration":35051,"isOffset":false,"isSlot":false,"src":"277608:2:19","valueSize":1},{"declaration":35054,"isOffset":false,"isSlot":false,"src":"277638:2:19","valueSize":1},{"declaration":35026,"isOffset":false,"isSlot":false,"src":"277781:2:19","valueSize":1},{"declaration":35028,"isOffset":false,"isSlot":false,"src":"277810:2:19","valueSize":1},{"declaration":35030,"isOffset":false,"isSlot":false,"src":"277839:2:19","valueSize":1},{"declaration":35032,"isOffset":false,"isSlot":false,"src":"277904:2:19","valueSize":1}],"id":35056,"nodeType":"InlineAssembly","src":"277080:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"277942:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"277948:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":35057,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"277926:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"277926:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35061,"nodeType":"ExpressionStatement","src":"277926:27:19"},{"AST":{"nativeSrc":"278015:214:19","nodeType":"YulBlock","src":"278015:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"278036:4:19","nodeType":"YulLiteral","src":"278036:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"278042:2:19","nodeType":"YulIdentifier","src":"278042:2:19"}],"functionName":{"name":"mstore","nativeSrc":"278029:6:19","nodeType":"YulIdentifier","src":"278029:6:19"},"nativeSrc":"278029:16:19","nodeType":"YulFunctionCall","src":"278029:16:19"},"nativeSrc":"278029:16:19","nodeType":"YulExpressionStatement","src":"278029:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"278065:4:19","nodeType":"YulLiteral","src":"278065:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"278071:2:19","nodeType":"YulIdentifier","src":"278071:2:19"}],"functionName":{"name":"mstore","nativeSrc":"278058:6:19","nodeType":"YulIdentifier","src":"278058:6:19"},"nativeSrc":"278058:16:19","nodeType":"YulFunctionCall","src":"278058:16:19"},"nativeSrc":"278058:16:19","nodeType":"YulExpressionStatement","src":"278058:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"278094:4:19","nodeType":"YulLiteral","src":"278094:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"278100:2:19","nodeType":"YulIdentifier","src":"278100:2:19"}],"functionName":{"name":"mstore","nativeSrc":"278087:6:19","nodeType":"YulIdentifier","src":"278087:6:19"},"nativeSrc":"278087:16:19","nodeType":"YulFunctionCall","src":"278087:16:19"},"nativeSrc":"278087:16:19","nodeType":"YulExpressionStatement","src":"278087:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"278123:4:19","nodeType":"YulLiteral","src":"278123:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"278129:2:19","nodeType":"YulIdentifier","src":"278129:2:19"}],"functionName":{"name":"mstore","nativeSrc":"278116:6:19","nodeType":"YulIdentifier","src":"278116:6:19"},"nativeSrc":"278116:16:19","nodeType":"YulFunctionCall","src":"278116:16:19"},"nativeSrc":"278116:16:19","nodeType":"YulExpressionStatement","src":"278116:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"278152:4:19","nodeType":"YulLiteral","src":"278152:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"278158:2:19","nodeType":"YulIdentifier","src":"278158:2:19"}],"functionName":{"name":"mstore","nativeSrc":"278145:6:19","nodeType":"YulIdentifier","src":"278145:6:19"},"nativeSrc":"278145:16:19","nodeType":"YulFunctionCall","src":"278145:16:19"},"nativeSrc":"278145:16:19","nodeType":"YulExpressionStatement","src":"278145:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"278181:4:19","nodeType":"YulLiteral","src":"278181:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"278187:2:19","nodeType":"YulIdentifier","src":"278187:2:19"}],"functionName":{"name":"mstore","nativeSrc":"278174:6:19","nodeType":"YulIdentifier","src":"278174:6:19"},"nativeSrc":"278174:16:19","nodeType":"YulFunctionCall","src":"278174:16:19"},"nativeSrc":"278174:16:19","nodeType":"YulExpressionStatement","src":"278174:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"278210:4:19","nodeType":"YulLiteral","src":"278210:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"278216:2:19","nodeType":"YulIdentifier","src":"278216:2:19"}],"functionName":{"name":"mstore","nativeSrc":"278203:6:19","nodeType":"YulIdentifier","src":"278203:6:19"},"nativeSrc":"278203:16:19","nodeType":"YulFunctionCall","src":"278203:16:19"},"nativeSrc":"278203:16:19","nodeType":"YulExpressionStatement","src":"278203:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35036,"isOffset":false,"isSlot":false,"src":"278042:2:19","valueSize":1},{"declaration":35039,"isOffset":false,"isSlot":false,"src":"278071:2:19","valueSize":1},{"declaration":35042,"isOffset":false,"isSlot":false,"src":"278100:2:19","valueSize":1},{"declaration":35045,"isOffset":false,"isSlot":false,"src":"278129:2:19","valueSize":1},{"declaration":35048,"isOffset":false,"isSlot":false,"src":"278158:2:19","valueSize":1},{"declaration":35051,"isOffset":false,"isSlot":false,"src":"278187:2:19","valueSize":1},{"declaration":35054,"isOffset":false,"isSlot":false,"src":"278216:2:19","valueSize":1}],"id":35062,"nodeType":"InlineAssembly","src":"278006:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"276824:3:19","parameters":{"id":35033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35026,"mutability":"mutable","name":"p0","nameLocation":"276836:2:19","nodeType":"VariableDeclaration","scope":35064,"src":"276828:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35025,"name":"uint256","nodeType":"ElementaryTypeName","src":"276828:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35028,"mutability":"mutable","name":"p1","nameLocation":"276845:2:19","nodeType":"VariableDeclaration","scope":35064,"src":"276840:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35027,"name":"bool","nodeType":"ElementaryTypeName","src":"276840:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35030,"mutability":"mutable","name":"p2","nameLocation":"276857:2:19","nodeType":"VariableDeclaration","scope":35064,"src":"276849:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35029,"name":"uint256","nodeType":"ElementaryTypeName","src":"276849:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35032,"mutability":"mutable","name":"p3","nameLocation":"276869:2:19","nodeType":"VariableDeclaration","scope":35064,"src":"276861:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35031,"name":"bytes32","nodeType":"ElementaryTypeName","src":"276861:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"276827:45:19"},"returnParameters":{"id":35034,"nodeType":"ParameterList","parameters":[],"src":"276887:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35104,"nodeType":"FunctionDefinition","src":"278241:1420:19","nodes":[],"body":{"id":35103,"nodeType":"Block","src":"278313:1348:19","nodes":[],"statements":[{"assignments":[35076],"declarations":[{"constant":false,"id":35076,"mutability":"mutable","name":"m0","nameLocation":"278331:2:19","nodeType":"VariableDeclaration","scope":35103,"src":"278323:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35075,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278323:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35077,"nodeType":"VariableDeclarationStatement","src":"278323:10:19"},{"assignments":[35079],"declarations":[{"constant":false,"id":35079,"mutability":"mutable","name":"m1","nameLocation":"278351:2:19","nodeType":"VariableDeclaration","scope":35103,"src":"278343:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35078,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278343:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35080,"nodeType":"VariableDeclarationStatement","src":"278343:10:19"},{"assignments":[35082],"declarations":[{"constant":false,"id":35082,"mutability":"mutable","name":"m2","nameLocation":"278371:2:19","nodeType":"VariableDeclaration","scope":35103,"src":"278363:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35081,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278363:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35083,"nodeType":"VariableDeclarationStatement","src":"278363:10:19"},{"assignments":[35085],"declarations":[{"constant":false,"id":35085,"mutability":"mutable","name":"m3","nameLocation":"278391:2:19","nodeType":"VariableDeclaration","scope":35103,"src":"278383:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35084,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278383:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35086,"nodeType":"VariableDeclarationStatement","src":"278383:10:19"},{"assignments":[35088],"declarations":[{"constant":false,"id":35088,"mutability":"mutable","name":"m4","nameLocation":"278411:2:19","nodeType":"VariableDeclaration","scope":35103,"src":"278403:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35087,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278403:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35089,"nodeType":"VariableDeclarationStatement","src":"278403:10:19"},{"assignments":[35091],"declarations":[{"constant":false,"id":35091,"mutability":"mutable","name":"m5","nameLocation":"278431:2:19","nodeType":"VariableDeclaration","scope":35103,"src":"278423:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35090,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278423:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35092,"nodeType":"VariableDeclarationStatement","src":"278423:10:19"},{"assignments":[35094],"declarations":[{"constant":false,"id":35094,"mutability":"mutable","name":"m6","nameLocation":"278451:2:19","nodeType":"VariableDeclaration","scope":35103,"src":"278443:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35093,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278443:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35095,"nodeType":"VariableDeclarationStatement","src":"278443:10:19"},{"AST":{"nativeSrc":"278515:828:19","nodeType":"YulBlock","src":"278515:828:19","statements":[{"body":{"nativeSrc":"278558:313:19","nodeType":"YulBlock","src":"278558:313:19","statements":[{"nativeSrc":"278576:15:19","nodeType":"YulVariableDeclaration","src":"278576:15:19","value":{"kind":"number","nativeSrc":"278590:1:19","nodeType":"YulLiteral","src":"278590:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"278580:6:19","nodeType":"YulTypedName","src":"278580:6:19","type":""}]},{"body":{"nativeSrc":"278661:40:19","nodeType":"YulBlock","src":"278661:40:19","statements":[{"body":{"nativeSrc":"278690:9:19","nodeType":"YulBlock","src":"278690:9:19","statements":[{"nativeSrc":"278692:5:19","nodeType":"YulBreak","src":"278692:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"278678:6:19","nodeType":"YulIdentifier","src":"278678:6:19"},{"name":"w","nativeSrc":"278686:1:19","nodeType":"YulIdentifier","src":"278686:1:19"}],"functionName":{"name":"byte","nativeSrc":"278673:4:19","nodeType":"YulIdentifier","src":"278673:4:19"},"nativeSrc":"278673:15:19","nodeType":"YulFunctionCall","src":"278673:15:19"}],"functionName":{"name":"iszero","nativeSrc":"278666:6:19","nodeType":"YulIdentifier","src":"278666:6:19"},"nativeSrc":"278666:23:19","nodeType":"YulFunctionCall","src":"278666:23:19"},"nativeSrc":"278663:36:19","nodeType":"YulIf","src":"278663:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"278618:6:19","nodeType":"YulIdentifier","src":"278618:6:19"},{"kind":"number","nativeSrc":"278626:4:19","nodeType":"YulLiteral","src":"278626:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"278615:2:19","nodeType":"YulIdentifier","src":"278615:2:19"},"nativeSrc":"278615:16:19","nodeType":"YulFunctionCall","src":"278615:16:19"},"nativeSrc":"278608:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"278632:28:19","nodeType":"YulBlock","src":"278632:28:19","statements":[{"nativeSrc":"278634:24:19","nodeType":"YulAssignment","src":"278634:24:19","value":{"arguments":[{"name":"length","nativeSrc":"278648:6:19","nodeType":"YulIdentifier","src":"278648:6:19"},{"kind":"number","nativeSrc":"278656:1:19","nodeType":"YulLiteral","src":"278656:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"278644:3:19","nodeType":"YulIdentifier","src":"278644:3:19"},"nativeSrc":"278644:14:19","nodeType":"YulFunctionCall","src":"278644:14:19"},"variableNames":[{"name":"length","nativeSrc":"278634:6:19","nodeType":"YulIdentifier","src":"278634:6:19"}]}]},"pre":{"nativeSrc":"278612:2:19","nodeType":"YulBlock","src":"278612:2:19","statements":[]},"src":"278608:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"278725:3:19","nodeType":"YulIdentifier","src":"278725:3:19"},{"name":"length","nativeSrc":"278730:6:19","nodeType":"YulIdentifier","src":"278730:6:19"}],"functionName":{"name":"mstore","nativeSrc":"278718:6:19","nodeType":"YulIdentifier","src":"278718:6:19"},"nativeSrc":"278718:19:19","nodeType":"YulFunctionCall","src":"278718:19:19"},"nativeSrc":"278718:19:19","nodeType":"YulExpressionStatement","src":"278718:19:19"},{"nativeSrc":"278754:37:19","nodeType":"YulVariableDeclaration","src":"278754:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"278771:3:19","nodeType":"YulLiteral","src":"278771:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"278780:1:19","nodeType":"YulLiteral","src":"278780:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"278783:6:19","nodeType":"YulIdentifier","src":"278783:6:19"}],"functionName":{"name":"shl","nativeSrc":"278776:3:19","nodeType":"YulIdentifier","src":"278776:3:19"},"nativeSrc":"278776:14:19","nodeType":"YulFunctionCall","src":"278776:14:19"}],"functionName":{"name":"sub","nativeSrc":"278767:3:19","nodeType":"YulIdentifier","src":"278767:3:19"},"nativeSrc":"278767:24:19","nodeType":"YulFunctionCall","src":"278767:24:19"},"variables":[{"name":"shift","nativeSrc":"278758:5:19","nodeType":"YulTypedName","src":"278758:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"278819:3:19","nodeType":"YulIdentifier","src":"278819:3:19"},{"kind":"number","nativeSrc":"278824:4:19","nodeType":"YulLiteral","src":"278824:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"278815:3:19","nodeType":"YulIdentifier","src":"278815:3:19"},"nativeSrc":"278815:14:19","nodeType":"YulFunctionCall","src":"278815:14:19"},{"arguments":[{"name":"shift","nativeSrc":"278835:5:19","nodeType":"YulIdentifier","src":"278835:5:19"},{"arguments":[{"name":"shift","nativeSrc":"278846:5:19","nodeType":"YulIdentifier","src":"278846:5:19"},{"name":"w","nativeSrc":"278853:1:19","nodeType":"YulIdentifier","src":"278853:1:19"}],"functionName":{"name":"shr","nativeSrc":"278842:3:19","nodeType":"YulIdentifier","src":"278842:3:19"},"nativeSrc":"278842:13:19","nodeType":"YulFunctionCall","src":"278842:13:19"}],"functionName":{"name":"shl","nativeSrc":"278831:3:19","nodeType":"YulIdentifier","src":"278831:3:19"},"nativeSrc":"278831:25:19","nodeType":"YulFunctionCall","src":"278831:25:19"}],"functionName":{"name":"mstore","nativeSrc":"278808:6:19","nodeType":"YulIdentifier","src":"278808:6:19"},"nativeSrc":"278808:49:19","nodeType":"YulFunctionCall","src":"278808:49:19"},"nativeSrc":"278808:49:19","nodeType":"YulExpressionStatement","src":"278808:49:19"}]},"name":"writeString","nativeSrc":"278529:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"278550:3:19","nodeType":"YulTypedName","src":"278550:3:19","type":""},{"name":"w","nativeSrc":"278555:1:19","nodeType":"YulTypedName","src":"278555:1:19","type":""}],"src":"278529:342:19"},{"nativeSrc":"278884:17:19","nodeType":"YulAssignment","src":"278884:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"278896:4:19","nodeType":"YulLiteral","src":"278896:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"278890:5:19","nodeType":"YulIdentifier","src":"278890:5:19"},"nativeSrc":"278890:11:19","nodeType":"YulFunctionCall","src":"278890:11:19"},"variableNames":[{"name":"m0","nativeSrc":"278884:2:19","nodeType":"YulIdentifier","src":"278884:2:19"}]},{"nativeSrc":"278914:17:19","nodeType":"YulAssignment","src":"278914:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"278926:4:19","nodeType":"YulLiteral","src":"278926:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"278920:5:19","nodeType":"YulIdentifier","src":"278920:5:19"},"nativeSrc":"278920:11:19","nodeType":"YulFunctionCall","src":"278920:11:19"},"variableNames":[{"name":"m1","nativeSrc":"278914:2:19","nodeType":"YulIdentifier","src":"278914:2:19"}]},{"nativeSrc":"278944:17:19","nodeType":"YulAssignment","src":"278944:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"278956:4:19","nodeType":"YulLiteral","src":"278956:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"278950:5:19","nodeType":"YulIdentifier","src":"278950:5:19"},"nativeSrc":"278950:11:19","nodeType":"YulFunctionCall","src":"278950:11:19"},"variableNames":[{"name":"m2","nativeSrc":"278944:2:19","nodeType":"YulIdentifier","src":"278944:2:19"}]},{"nativeSrc":"278974:17:19","nodeType":"YulAssignment","src":"278974:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"278986:4:19","nodeType":"YulLiteral","src":"278986:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"278980:5:19","nodeType":"YulIdentifier","src":"278980:5:19"},"nativeSrc":"278980:11:19","nodeType":"YulFunctionCall","src":"278980:11:19"},"variableNames":[{"name":"m3","nativeSrc":"278974:2:19","nodeType":"YulIdentifier","src":"278974:2:19"}]},{"nativeSrc":"279004:17:19","nodeType":"YulAssignment","src":"279004:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"279016:4:19","nodeType":"YulLiteral","src":"279016:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"279010:5:19","nodeType":"YulIdentifier","src":"279010:5:19"},"nativeSrc":"279010:11:19","nodeType":"YulFunctionCall","src":"279010:11:19"},"variableNames":[{"name":"m4","nativeSrc":"279004:2:19","nodeType":"YulIdentifier","src":"279004:2:19"}]},{"nativeSrc":"279034:17:19","nodeType":"YulAssignment","src":"279034:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"279046:4:19","nodeType":"YulLiteral","src":"279046:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"279040:5:19","nodeType":"YulIdentifier","src":"279040:5:19"},"nativeSrc":"279040:11:19","nodeType":"YulFunctionCall","src":"279040:11:19"},"variableNames":[{"name":"m5","nativeSrc":"279034:2:19","nodeType":"YulIdentifier","src":"279034:2:19"}]},{"nativeSrc":"279064:17:19","nodeType":"YulAssignment","src":"279064:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"279076:4:19","nodeType":"YulLiteral","src":"279076:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"279070:5:19","nodeType":"YulIdentifier","src":"279070:5:19"},"nativeSrc":"279070:11:19","nodeType":"YulFunctionCall","src":"279070:11:19"},"variableNames":[{"name":"m6","nativeSrc":"279064:2:19","nodeType":"YulIdentifier","src":"279064:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279164:4:19","nodeType":"YulLiteral","src":"279164:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"279170:10:19","nodeType":"YulLiteral","src":"279170:10:19","type":"","value":"0xef529018"}],"functionName":{"name":"mstore","nativeSrc":"279157:6:19","nodeType":"YulIdentifier","src":"279157:6:19"},"nativeSrc":"279157:24:19","nodeType":"YulFunctionCall","src":"279157:24:19"},"nativeSrc":"279157:24:19","nodeType":"YulExpressionStatement","src":"279157:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279201:4:19","nodeType":"YulLiteral","src":"279201:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"279207:2:19","nodeType":"YulIdentifier","src":"279207:2:19"}],"functionName":{"name":"mstore","nativeSrc":"279194:6:19","nodeType":"YulIdentifier","src":"279194:6:19"},"nativeSrc":"279194:16:19","nodeType":"YulFunctionCall","src":"279194:16:19"},"nativeSrc":"279194:16:19","nodeType":"YulExpressionStatement","src":"279194:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279230:4:19","nodeType":"YulLiteral","src":"279230:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"279236:2:19","nodeType":"YulIdentifier","src":"279236:2:19"}],"functionName":{"name":"mstore","nativeSrc":"279223:6:19","nodeType":"YulIdentifier","src":"279223:6:19"},"nativeSrc":"279223:16:19","nodeType":"YulFunctionCall","src":"279223:16:19"},"nativeSrc":"279223:16:19","nodeType":"YulExpressionStatement","src":"279223:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279259:4:19","nodeType":"YulLiteral","src":"279259:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"279265:4:19","nodeType":"YulLiteral","src":"279265:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"279252:6:19","nodeType":"YulIdentifier","src":"279252:6:19"},"nativeSrc":"279252:18:19","nodeType":"YulFunctionCall","src":"279252:18:19"},"nativeSrc":"279252:18:19","nodeType":"YulExpressionStatement","src":"279252:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279290:4:19","nodeType":"YulLiteral","src":"279290:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"279296:2:19","nodeType":"YulIdentifier","src":"279296:2:19"}],"functionName":{"name":"mstore","nativeSrc":"279283:6:19","nodeType":"YulIdentifier","src":"279283:6:19"},"nativeSrc":"279283:16:19","nodeType":"YulFunctionCall","src":"279283:16:19"},"nativeSrc":"279283:16:19","nodeType":"YulExpressionStatement","src":"279283:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279324:4:19","nodeType":"YulLiteral","src":"279324:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"279330:2:19","nodeType":"YulIdentifier","src":"279330:2:19"}],"functionName":{"name":"writeString","nativeSrc":"279312:11:19","nodeType":"YulIdentifier","src":"279312:11:19"},"nativeSrc":"279312:21:19","nodeType":"YulFunctionCall","src":"279312:21:19"},"nativeSrc":"279312:21:19","nodeType":"YulExpressionStatement","src":"279312:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35076,"isOffset":false,"isSlot":false,"src":"278884:2:19","valueSize":1},{"declaration":35079,"isOffset":false,"isSlot":false,"src":"278914:2:19","valueSize":1},{"declaration":35082,"isOffset":false,"isSlot":false,"src":"278944:2:19","valueSize":1},{"declaration":35085,"isOffset":false,"isSlot":false,"src":"278974:2:19","valueSize":1},{"declaration":35088,"isOffset":false,"isSlot":false,"src":"279004:2:19","valueSize":1},{"declaration":35091,"isOffset":false,"isSlot":false,"src":"279034:2:19","valueSize":1},{"declaration":35094,"isOffset":false,"isSlot":false,"src":"279064:2:19","valueSize":1},{"declaration":35066,"isOffset":false,"isSlot":false,"src":"279207:2:19","valueSize":1},{"declaration":35068,"isOffset":false,"isSlot":false,"src":"279236:2:19","valueSize":1},{"declaration":35070,"isOffset":false,"isSlot":false,"src":"279330:2:19","valueSize":1},{"declaration":35072,"isOffset":false,"isSlot":false,"src":"279296:2:19","valueSize":1}],"id":35096,"nodeType":"InlineAssembly","src":"278506:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"279368:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"279374:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":35097,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"279352:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"279352:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35101,"nodeType":"ExpressionStatement","src":"279352:27:19"},{"AST":{"nativeSrc":"279441:214:19","nodeType":"YulBlock","src":"279441:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"279462:4:19","nodeType":"YulLiteral","src":"279462:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"279468:2:19","nodeType":"YulIdentifier","src":"279468:2:19"}],"functionName":{"name":"mstore","nativeSrc":"279455:6:19","nodeType":"YulIdentifier","src":"279455:6:19"},"nativeSrc":"279455:16:19","nodeType":"YulFunctionCall","src":"279455:16:19"},"nativeSrc":"279455:16:19","nodeType":"YulExpressionStatement","src":"279455:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279491:4:19","nodeType":"YulLiteral","src":"279491:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"279497:2:19","nodeType":"YulIdentifier","src":"279497:2:19"}],"functionName":{"name":"mstore","nativeSrc":"279484:6:19","nodeType":"YulIdentifier","src":"279484:6:19"},"nativeSrc":"279484:16:19","nodeType":"YulFunctionCall","src":"279484:16:19"},"nativeSrc":"279484:16:19","nodeType":"YulExpressionStatement","src":"279484:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279520:4:19","nodeType":"YulLiteral","src":"279520:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"279526:2:19","nodeType":"YulIdentifier","src":"279526:2:19"}],"functionName":{"name":"mstore","nativeSrc":"279513:6:19","nodeType":"YulIdentifier","src":"279513:6:19"},"nativeSrc":"279513:16:19","nodeType":"YulFunctionCall","src":"279513:16:19"},"nativeSrc":"279513:16:19","nodeType":"YulExpressionStatement","src":"279513:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279549:4:19","nodeType":"YulLiteral","src":"279549:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"279555:2:19","nodeType":"YulIdentifier","src":"279555:2:19"}],"functionName":{"name":"mstore","nativeSrc":"279542:6:19","nodeType":"YulIdentifier","src":"279542:6:19"},"nativeSrc":"279542:16:19","nodeType":"YulFunctionCall","src":"279542:16:19"},"nativeSrc":"279542:16:19","nodeType":"YulExpressionStatement","src":"279542:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279578:4:19","nodeType":"YulLiteral","src":"279578:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"279584:2:19","nodeType":"YulIdentifier","src":"279584:2:19"}],"functionName":{"name":"mstore","nativeSrc":"279571:6:19","nodeType":"YulIdentifier","src":"279571:6:19"},"nativeSrc":"279571:16:19","nodeType":"YulFunctionCall","src":"279571:16:19"},"nativeSrc":"279571:16:19","nodeType":"YulExpressionStatement","src":"279571:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279607:4:19","nodeType":"YulLiteral","src":"279607:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"279613:2:19","nodeType":"YulIdentifier","src":"279613:2:19"}],"functionName":{"name":"mstore","nativeSrc":"279600:6:19","nodeType":"YulIdentifier","src":"279600:6:19"},"nativeSrc":"279600:16:19","nodeType":"YulFunctionCall","src":"279600:16:19"},"nativeSrc":"279600:16:19","nodeType":"YulExpressionStatement","src":"279600:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"279636:4:19","nodeType":"YulLiteral","src":"279636:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"279642:2:19","nodeType":"YulIdentifier","src":"279642:2:19"}],"functionName":{"name":"mstore","nativeSrc":"279629:6:19","nodeType":"YulIdentifier","src":"279629:6:19"},"nativeSrc":"279629:16:19","nodeType":"YulFunctionCall","src":"279629:16:19"},"nativeSrc":"279629:16:19","nodeType":"YulExpressionStatement","src":"279629:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35076,"isOffset":false,"isSlot":false,"src":"279468:2:19","valueSize":1},{"declaration":35079,"isOffset":false,"isSlot":false,"src":"279497:2:19","valueSize":1},{"declaration":35082,"isOffset":false,"isSlot":false,"src":"279526:2:19","valueSize":1},{"declaration":35085,"isOffset":false,"isSlot":false,"src":"279555:2:19","valueSize":1},{"declaration":35088,"isOffset":false,"isSlot":false,"src":"279584:2:19","valueSize":1},{"declaration":35091,"isOffset":false,"isSlot":false,"src":"279613:2:19","valueSize":1},{"declaration":35094,"isOffset":false,"isSlot":false,"src":"279642:2:19","valueSize":1}],"id":35102,"nodeType":"InlineAssembly","src":"279432:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"278250:3:19","parameters":{"id":35073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35066,"mutability":"mutable","name":"p0","nameLocation":"278262:2:19","nodeType":"VariableDeclaration","scope":35104,"src":"278254:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35065,"name":"uint256","nodeType":"ElementaryTypeName","src":"278254:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35068,"mutability":"mutable","name":"p1","nameLocation":"278271:2:19","nodeType":"VariableDeclaration","scope":35104,"src":"278266:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35067,"name":"bool","nodeType":"ElementaryTypeName","src":"278266:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35070,"mutability":"mutable","name":"p2","nameLocation":"278283:2:19","nodeType":"VariableDeclaration","scope":35104,"src":"278275:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35069,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278275:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35072,"mutability":"mutable","name":"p3","nameLocation":"278295:2:19","nodeType":"VariableDeclaration","scope":35104,"src":"278287:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35071,"name":"address","nodeType":"ElementaryTypeName","src":"278287:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"278253:45:19"},"returnParameters":{"id":35074,"nodeType":"ParameterList","parameters":[],"src":"278313:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35144,"nodeType":"FunctionDefinition","src":"279667:1414:19","nodes":[],"body":{"id":35143,"nodeType":"Block","src":"279736:1345:19","nodes":[],"statements":[{"assignments":[35116],"declarations":[{"constant":false,"id":35116,"mutability":"mutable","name":"m0","nameLocation":"279754:2:19","nodeType":"VariableDeclaration","scope":35143,"src":"279746:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35115,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279746:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35117,"nodeType":"VariableDeclarationStatement","src":"279746:10:19"},{"assignments":[35119],"declarations":[{"constant":false,"id":35119,"mutability":"mutable","name":"m1","nameLocation":"279774:2:19","nodeType":"VariableDeclaration","scope":35143,"src":"279766:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35118,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279766:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35120,"nodeType":"VariableDeclarationStatement","src":"279766:10:19"},{"assignments":[35122],"declarations":[{"constant":false,"id":35122,"mutability":"mutable","name":"m2","nameLocation":"279794:2:19","nodeType":"VariableDeclaration","scope":35143,"src":"279786:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35121,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279786:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35123,"nodeType":"VariableDeclarationStatement","src":"279786:10:19"},{"assignments":[35125],"declarations":[{"constant":false,"id":35125,"mutability":"mutable","name":"m3","nameLocation":"279814:2:19","nodeType":"VariableDeclaration","scope":35143,"src":"279806:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35124,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279806:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35126,"nodeType":"VariableDeclarationStatement","src":"279806:10:19"},{"assignments":[35128],"declarations":[{"constant":false,"id":35128,"mutability":"mutable","name":"m4","nameLocation":"279834:2:19","nodeType":"VariableDeclaration","scope":35143,"src":"279826:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35127,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279826:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35129,"nodeType":"VariableDeclarationStatement","src":"279826:10:19"},{"assignments":[35131],"declarations":[{"constant":false,"id":35131,"mutability":"mutable","name":"m5","nameLocation":"279854:2:19","nodeType":"VariableDeclaration","scope":35143,"src":"279846:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35130,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279846:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35132,"nodeType":"VariableDeclarationStatement","src":"279846:10:19"},{"assignments":[35134],"declarations":[{"constant":false,"id":35134,"mutability":"mutable","name":"m6","nameLocation":"279874:2:19","nodeType":"VariableDeclaration","scope":35143,"src":"279866:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35133,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279866:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35135,"nodeType":"VariableDeclarationStatement","src":"279866:10:19"},{"AST":{"nativeSrc":"279938:825:19","nodeType":"YulBlock","src":"279938:825:19","statements":[{"body":{"nativeSrc":"279981:313:19","nodeType":"YulBlock","src":"279981:313:19","statements":[{"nativeSrc":"279999:15:19","nodeType":"YulVariableDeclaration","src":"279999:15:19","value":{"kind":"number","nativeSrc":"280013:1:19","nodeType":"YulLiteral","src":"280013:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"280003:6:19","nodeType":"YulTypedName","src":"280003:6:19","type":""}]},{"body":{"nativeSrc":"280084:40:19","nodeType":"YulBlock","src":"280084:40:19","statements":[{"body":{"nativeSrc":"280113:9:19","nodeType":"YulBlock","src":"280113:9:19","statements":[{"nativeSrc":"280115:5:19","nodeType":"YulBreak","src":"280115:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"280101:6:19","nodeType":"YulIdentifier","src":"280101:6:19"},{"name":"w","nativeSrc":"280109:1:19","nodeType":"YulIdentifier","src":"280109:1:19"}],"functionName":{"name":"byte","nativeSrc":"280096:4:19","nodeType":"YulIdentifier","src":"280096:4:19"},"nativeSrc":"280096:15:19","nodeType":"YulFunctionCall","src":"280096:15:19"}],"functionName":{"name":"iszero","nativeSrc":"280089:6:19","nodeType":"YulIdentifier","src":"280089:6:19"},"nativeSrc":"280089:23:19","nodeType":"YulFunctionCall","src":"280089:23:19"},"nativeSrc":"280086:36:19","nodeType":"YulIf","src":"280086:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"280041:6:19","nodeType":"YulIdentifier","src":"280041:6:19"},{"kind":"number","nativeSrc":"280049:4:19","nodeType":"YulLiteral","src":"280049:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"280038:2:19","nodeType":"YulIdentifier","src":"280038:2:19"},"nativeSrc":"280038:16:19","nodeType":"YulFunctionCall","src":"280038:16:19"},"nativeSrc":"280031:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"280055:28:19","nodeType":"YulBlock","src":"280055:28:19","statements":[{"nativeSrc":"280057:24:19","nodeType":"YulAssignment","src":"280057:24:19","value":{"arguments":[{"name":"length","nativeSrc":"280071:6:19","nodeType":"YulIdentifier","src":"280071:6:19"},{"kind":"number","nativeSrc":"280079:1:19","nodeType":"YulLiteral","src":"280079:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"280067:3:19","nodeType":"YulIdentifier","src":"280067:3:19"},"nativeSrc":"280067:14:19","nodeType":"YulFunctionCall","src":"280067:14:19"},"variableNames":[{"name":"length","nativeSrc":"280057:6:19","nodeType":"YulIdentifier","src":"280057:6:19"}]}]},"pre":{"nativeSrc":"280035:2:19","nodeType":"YulBlock","src":"280035:2:19","statements":[]},"src":"280031:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"280148:3:19","nodeType":"YulIdentifier","src":"280148:3:19"},{"name":"length","nativeSrc":"280153:6:19","nodeType":"YulIdentifier","src":"280153:6:19"}],"functionName":{"name":"mstore","nativeSrc":"280141:6:19","nodeType":"YulIdentifier","src":"280141:6:19"},"nativeSrc":"280141:19:19","nodeType":"YulFunctionCall","src":"280141:19:19"},"nativeSrc":"280141:19:19","nodeType":"YulExpressionStatement","src":"280141:19:19"},{"nativeSrc":"280177:37:19","nodeType":"YulVariableDeclaration","src":"280177:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"280194:3:19","nodeType":"YulLiteral","src":"280194:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"280203:1:19","nodeType":"YulLiteral","src":"280203:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"280206:6:19","nodeType":"YulIdentifier","src":"280206:6:19"}],"functionName":{"name":"shl","nativeSrc":"280199:3:19","nodeType":"YulIdentifier","src":"280199:3:19"},"nativeSrc":"280199:14:19","nodeType":"YulFunctionCall","src":"280199:14:19"}],"functionName":{"name":"sub","nativeSrc":"280190:3:19","nodeType":"YulIdentifier","src":"280190:3:19"},"nativeSrc":"280190:24:19","nodeType":"YulFunctionCall","src":"280190:24:19"},"variables":[{"name":"shift","nativeSrc":"280181:5:19","nodeType":"YulTypedName","src":"280181:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"280242:3:19","nodeType":"YulIdentifier","src":"280242:3:19"},{"kind":"number","nativeSrc":"280247:4:19","nodeType":"YulLiteral","src":"280247:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"280238:3:19","nodeType":"YulIdentifier","src":"280238:3:19"},"nativeSrc":"280238:14:19","nodeType":"YulFunctionCall","src":"280238:14:19"},{"arguments":[{"name":"shift","nativeSrc":"280258:5:19","nodeType":"YulIdentifier","src":"280258:5:19"},{"arguments":[{"name":"shift","nativeSrc":"280269:5:19","nodeType":"YulIdentifier","src":"280269:5:19"},{"name":"w","nativeSrc":"280276:1:19","nodeType":"YulIdentifier","src":"280276:1:19"}],"functionName":{"name":"shr","nativeSrc":"280265:3:19","nodeType":"YulIdentifier","src":"280265:3:19"},"nativeSrc":"280265:13:19","nodeType":"YulFunctionCall","src":"280265:13:19"}],"functionName":{"name":"shl","nativeSrc":"280254:3:19","nodeType":"YulIdentifier","src":"280254:3:19"},"nativeSrc":"280254:25:19","nodeType":"YulFunctionCall","src":"280254:25:19"}],"functionName":{"name":"mstore","nativeSrc":"280231:6:19","nodeType":"YulIdentifier","src":"280231:6:19"},"nativeSrc":"280231:49:19","nodeType":"YulFunctionCall","src":"280231:49:19"},"nativeSrc":"280231:49:19","nodeType":"YulExpressionStatement","src":"280231:49:19"}]},"name":"writeString","nativeSrc":"279952:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"279973:3:19","nodeType":"YulTypedName","src":"279973:3:19","type":""},{"name":"w","nativeSrc":"279978:1:19","nodeType":"YulTypedName","src":"279978:1:19","type":""}],"src":"279952:342:19"},{"nativeSrc":"280307:17:19","nodeType":"YulAssignment","src":"280307:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"280319:4:19","nodeType":"YulLiteral","src":"280319:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"280313:5:19","nodeType":"YulIdentifier","src":"280313:5:19"},"nativeSrc":"280313:11:19","nodeType":"YulFunctionCall","src":"280313:11:19"},"variableNames":[{"name":"m0","nativeSrc":"280307:2:19","nodeType":"YulIdentifier","src":"280307:2:19"}]},{"nativeSrc":"280337:17:19","nodeType":"YulAssignment","src":"280337:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"280349:4:19","nodeType":"YulLiteral","src":"280349:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"280343:5:19","nodeType":"YulIdentifier","src":"280343:5:19"},"nativeSrc":"280343:11:19","nodeType":"YulFunctionCall","src":"280343:11:19"},"variableNames":[{"name":"m1","nativeSrc":"280337:2:19","nodeType":"YulIdentifier","src":"280337:2:19"}]},{"nativeSrc":"280367:17:19","nodeType":"YulAssignment","src":"280367:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"280379:4:19","nodeType":"YulLiteral","src":"280379:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"280373:5:19","nodeType":"YulIdentifier","src":"280373:5:19"},"nativeSrc":"280373:11:19","nodeType":"YulFunctionCall","src":"280373:11:19"},"variableNames":[{"name":"m2","nativeSrc":"280367:2:19","nodeType":"YulIdentifier","src":"280367:2:19"}]},{"nativeSrc":"280397:17:19","nodeType":"YulAssignment","src":"280397:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"280409:4:19","nodeType":"YulLiteral","src":"280409:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"280403:5:19","nodeType":"YulIdentifier","src":"280403:5:19"},"nativeSrc":"280403:11:19","nodeType":"YulFunctionCall","src":"280403:11:19"},"variableNames":[{"name":"m3","nativeSrc":"280397:2:19","nodeType":"YulIdentifier","src":"280397:2:19"}]},{"nativeSrc":"280427:17:19","nodeType":"YulAssignment","src":"280427:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"280439:4:19","nodeType":"YulLiteral","src":"280439:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"280433:5:19","nodeType":"YulIdentifier","src":"280433:5:19"},"nativeSrc":"280433:11:19","nodeType":"YulFunctionCall","src":"280433:11:19"},"variableNames":[{"name":"m4","nativeSrc":"280427:2:19","nodeType":"YulIdentifier","src":"280427:2:19"}]},{"nativeSrc":"280457:17:19","nodeType":"YulAssignment","src":"280457:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"280469:4:19","nodeType":"YulLiteral","src":"280469:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"280463:5:19","nodeType":"YulIdentifier","src":"280463:5:19"},"nativeSrc":"280463:11:19","nodeType":"YulFunctionCall","src":"280463:11:19"},"variableNames":[{"name":"m5","nativeSrc":"280457:2:19","nodeType":"YulIdentifier","src":"280457:2:19"}]},{"nativeSrc":"280487:17:19","nodeType":"YulAssignment","src":"280487:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"280499:4:19","nodeType":"YulLiteral","src":"280499:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"280493:5:19","nodeType":"YulIdentifier","src":"280493:5:19"},"nativeSrc":"280493:11:19","nodeType":"YulFunctionCall","src":"280493:11:19"},"variableNames":[{"name":"m6","nativeSrc":"280487:2:19","nodeType":"YulIdentifier","src":"280487:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280584:4:19","nodeType":"YulLiteral","src":"280584:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"280590:10:19","nodeType":"YulLiteral","src":"280590:10:19","type":"","value":"0xeb928d7f"}],"functionName":{"name":"mstore","nativeSrc":"280577:6:19","nodeType":"YulIdentifier","src":"280577:6:19"},"nativeSrc":"280577:24:19","nodeType":"YulFunctionCall","src":"280577:24:19"},"nativeSrc":"280577:24:19","nodeType":"YulExpressionStatement","src":"280577:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280621:4:19","nodeType":"YulLiteral","src":"280621:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"280627:2:19","nodeType":"YulIdentifier","src":"280627:2:19"}],"functionName":{"name":"mstore","nativeSrc":"280614:6:19","nodeType":"YulIdentifier","src":"280614:6:19"},"nativeSrc":"280614:16:19","nodeType":"YulFunctionCall","src":"280614:16:19"},"nativeSrc":"280614:16:19","nodeType":"YulExpressionStatement","src":"280614:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280650:4:19","nodeType":"YulLiteral","src":"280650:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"280656:2:19","nodeType":"YulIdentifier","src":"280656:2:19"}],"functionName":{"name":"mstore","nativeSrc":"280643:6:19","nodeType":"YulIdentifier","src":"280643:6:19"},"nativeSrc":"280643:16:19","nodeType":"YulFunctionCall","src":"280643:16:19"},"nativeSrc":"280643:16:19","nodeType":"YulExpressionStatement","src":"280643:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280679:4:19","nodeType":"YulLiteral","src":"280679:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"280685:4:19","nodeType":"YulLiteral","src":"280685:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"280672:6:19","nodeType":"YulIdentifier","src":"280672:6:19"},"nativeSrc":"280672:18:19","nodeType":"YulFunctionCall","src":"280672:18:19"},"nativeSrc":"280672:18:19","nodeType":"YulExpressionStatement","src":"280672:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280710:4:19","nodeType":"YulLiteral","src":"280710:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"280716:2:19","nodeType":"YulIdentifier","src":"280716:2:19"}],"functionName":{"name":"mstore","nativeSrc":"280703:6:19","nodeType":"YulIdentifier","src":"280703:6:19"},"nativeSrc":"280703:16:19","nodeType":"YulFunctionCall","src":"280703:16:19"},"nativeSrc":"280703:16:19","nodeType":"YulExpressionStatement","src":"280703:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280744:4:19","nodeType":"YulLiteral","src":"280744:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"280750:2:19","nodeType":"YulIdentifier","src":"280750:2:19"}],"functionName":{"name":"writeString","nativeSrc":"280732:11:19","nodeType":"YulIdentifier","src":"280732:11:19"},"nativeSrc":"280732:21:19","nodeType":"YulFunctionCall","src":"280732:21:19"},"nativeSrc":"280732:21:19","nodeType":"YulExpressionStatement","src":"280732:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35116,"isOffset":false,"isSlot":false,"src":"280307:2:19","valueSize":1},{"declaration":35119,"isOffset":false,"isSlot":false,"src":"280337:2:19","valueSize":1},{"declaration":35122,"isOffset":false,"isSlot":false,"src":"280367:2:19","valueSize":1},{"declaration":35125,"isOffset":false,"isSlot":false,"src":"280397:2:19","valueSize":1},{"declaration":35128,"isOffset":false,"isSlot":false,"src":"280427:2:19","valueSize":1},{"declaration":35131,"isOffset":false,"isSlot":false,"src":"280457:2:19","valueSize":1},{"declaration":35134,"isOffset":false,"isSlot":false,"src":"280487:2:19","valueSize":1},{"declaration":35106,"isOffset":false,"isSlot":false,"src":"280627:2:19","valueSize":1},{"declaration":35108,"isOffset":false,"isSlot":false,"src":"280656:2:19","valueSize":1},{"declaration":35110,"isOffset":false,"isSlot":false,"src":"280750:2:19","valueSize":1},{"declaration":35112,"isOffset":false,"isSlot":false,"src":"280716:2:19","valueSize":1}],"id":35136,"nodeType":"InlineAssembly","src":"279929:834:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"280788:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"280794:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":35137,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"280772:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"280772:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35141,"nodeType":"ExpressionStatement","src":"280772:27:19"},{"AST":{"nativeSrc":"280861:214:19","nodeType":"YulBlock","src":"280861:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"280882:4:19","nodeType":"YulLiteral","src":"280882:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"280888:2:19","nodeType":"YulIdentifier","src":"280888:2:19"}],"functionName":{"name":"mstore","nativeSrc":"280875:6:19","nodeType":"YulIdentifier","src":"280875:6:19"},"nativeSrc":"280875:16:19","nodeType":"YulFunctionCall","src":"280875:16:19"},"nativeSrc":"280875:16:19","nodeType":"YulExpressionStatement","src":"280875:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280911:4:19","nodeType":"YulLiteral","src":"280911:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"280917:2:19","nodeType":"YulIdentifier","src":"280917:2:19"}],"functionName":{"name":"mstore","nativeSrc":"280904:6:19","nodeType":"YulIdentifier","src":"280904:6:19"},"nativeSrc":"280904:16:19","nodeType":"YulFunctionCall","src":"280904:16:19"},"nativeSrc":"280904:16:19","nodeType":"YulExpressionStatement","src":"280904:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280940:4:19","nodeType":"YulLiteral","src":"280940:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"280946:2:19","nodeType":"YulIdentifier","src":"280946:2:19"}],"functionName":{"name":"mstore","nativeSrc":"280933:6:19","nodeType":"YulIdentifier","src":"280933:6:19"},"nativeSrc":"280933:16:19","nodeType":"YulFunctionCall","src":"280933:16:19"},"nativeSrc":"280933:16:19","nodeType":"YulExpressionStatement","src":"280933:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280969:4:19","nodeType":"YulLiteral","src":"280969:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"280975:2:19","nodeType":"YulIdentifier","src":"280975:2:19"}],"functionName":{"name":"mstore","nativeSrc":"280962:6:19","nodeType":"YulIdentifier","src":"280962:6:19"},"nativeSrc":"280962:16:19","nodeType":"YulFunctionCall","src":"280962:16:19"},"nativeSrc":"280962:16:19","nodeType":"YulExpressionStatement","src":"280962:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"280998:4:19","nodeType":"YulLiteral","src":"280998:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"281004:2:19","nodeType":"YulIdentifier","src":"281004:2:19"}],"functionName":{"name":"mstore","nativeSrc":"280991:6:19","nodeType":"YulIdentifier","src":"280991:6:19"},"nativeSrc":"280991:16:19","nodeType":"YulFunctionCall","src":"280991:16:19"},"nativeSrc":"280991:16:19","nodeType":"YulExpressionStatement","src":"280991:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"281027:4:19","nodeType":"YulLiteral","src":"281027:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"281033:2:19","nodeType":"YulIdentifier","src":"281033:2:19"}],"functionName":{"name":"mstore","nativeSrc":"281020:6:19","nodeType":"YulIdentifier","src":"281020:6:19"},"nativeSrc":"281020:16:19","nodeType":"YulFunctionCall","src":"281020:16:19"},"nativeSrc":"281020:16:19","nodeType":"YulExpressionStatement","src":"281020:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"281056:4:19","nodeType":"YulLiteral","src":"281056:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"281062:2:19","nodeType":"YulIdentifier","src":"281062:2:19"}],"functionName":{"name":"mstore","nativeSrc":"281049:6:19","nodeType":"YulIdentifier","src":"281049:6:19"},"nativeSrc":"281049:16:19","nodeType":"YulFunctionCall","src":"281049:16:19"},"nativeSrc":"281049:16:19","nodeType":"YulExpressionStatement","src":"281049:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35116,"isOffset":false,"isSlot":false,"src":"280888:2:19","valueSize":1},{"declaration":35119,"isOffset":false,"isSlot":false,"src":"280917:2:19","valueSize":1},{"declaration":35122,"isOffset":false,"isSlot":false,"src":"280946:2:19","valueSize":1},{"declaration":35125,"isOffset":false,"isSlot":false,"src":"280975:2:19","valueSize":1},{"declaration":35128,"isOffset":false,"isSlot":false,"src":"281004:2:19","valueSize":1},{"declaration":35131,"isOffset":false,"isSlot":false,"src":"281033:2:19","valueSize":1},{"declaration":35134,"isOffset":false,"isSlot":false,"src":"281062:2:19","valueSize":1}],"id":35142,"nodeType":"InlineAssembly","src":"280852:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"279676:3:19","parameters":{"id":35113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35106,"mutability":"mutable","name":"p0","nameLocation":"279688:2:19","nodeType":"VariableDeclaration","scope":35144,"src":"279680:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35105,"name":"uint256","nodeType":"ElementaryTypeName","src":"279680:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35108,"mutability":"mutable","name":"p1","nameLocation":"279697:2:19","nodeType":"VariableDeclaration","scope":35144,"src":"279692:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35107,"name":"bool","nodeType":"ElementaryTypeName","src":"279692:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35110,"mutability":"mutable","name":"p2","nameLocation":"279709:2:19","nodeType":"VariableDeclaration","scope":35144,"src":"279701:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35109,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279701:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35112,"mutability":"mutable","name":"p3","nameLocation":"279718:2:19","nodeType":"VariableDeclaration","scope":35144,"src":"279713:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35111,"name":"bool","nodeType":"ElementaryTypeName","src":"279713:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"279679:42:19"},"returnParameters":{"id":35114,"nodeType":"ParameterList","parameters":[],"src":"279736:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35184,"nodeType":"FunctionDefinition","src":"281087:1420:19","nodes":[],"body":{"id":35183,"nodeType":"Block","src":"281159:1348:19","nodes":[],"statements":[{"assignments":[35156],"declarations":[{"constant":false,"id":35156,"mutability":"mutable","name":"m0","nameLocation":"281177:2:19","nodeType":"VariableDeclaration","scope":35183,"src":"281169:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35155,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281169:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35157,"nodeType":"VariableDeclarationStatement","src":"281169:10:19"},{"assignments":[35159],"declarations":[{"constant":false,"id":35159,"mutability":"mutable","name":"m1","nameLocation":"281197:2:19","nodeType":"VariableDeclaration","scope":35183,"src":"281189:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35158,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281189:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35160,"nodeType":"VariableDeclarationStatement","src":"281189:10:19"},{"assignments":[35162],"declarations":[{"constant":false,"id":35162,"mutability":"mutable","name":"m2","nameLocation":"281217:2:19","nodeType":"VariableDeclaration","scope":35183,"src":"281209:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35161,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281209:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35163,"nodeType":"VariableDeclarationStatement","src":"281209:10:19"},{"assignments":[35165],"declarations":[{"constant":false,"id":35165,"mutability":"mutable","name":"m3","nameLocation":"281237:2:19","nodeType":"VariableDeclaration","scope":35183,"src":"281229:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35164,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281229:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35166,"nodeType":"VariableDeclarationStatement","src":"281229:10:19"},{"assignments":[35168],"declarations":[{"constant":false,"id":35168,"mutability":"mutable","name":"m4","nameLocation":"281257:2:19","nodeType":"VariableDeclaration","scope":35183,"src":"281249:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35167,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281249:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35169,"nodeType":"VariableDeclarationStatement","src":"281249:10:19"},{"assignments":[35171],"declarations":[{"constant":false,"id":35171,"mutability":"mutable","name":"m5","nameLocation":"281277:2:19","nodeType":"VariableDeclaration","scope":35183,"src":"281269:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35170,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281269:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35172,"nodeType":"VariableDeclarationStatement","src":"281269:10:19"},{"assignments":[35174],"declarations":[{"constant":false,"id":35174,"mutability":"mutable","name":"m6","nameLocation":"281297:2:19","nodeType":"VariableDeclaration","scope":35183,"src":"281289:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35173,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281289:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35175,"nodeType":"VariableDeclarationStatement","src":"281289:10:19"},{"AST":{"nativeSrc":"281361:828:19","nodeType":"YulBlock","src":"281361:828:19","statements":[{"body":{"nativeSrc":"281404:313:19","nodeType":"YulBlock","src":"281404:313:19","statements":[{"nativeSrc":"281422:15:19","nodeType":"YulVariableDeclaration","src":"281422:15:19","value":{"kind":"number","nativeSrc":"281436:1:19","nodeType":"YulLiteral","src":"281436:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"281426:6:19","nodeType":"YulTypedName","src":"281426:6:19","type":""}]},{"body":{"nativeSrc":"281507:40:19","nodeType":"YulBlock","src":"281507:40:19","statements":[{"body":{"nativeSrc":"281536:9:19","nodeType":"YulBlock","src":"281536:9:19","statements":[{"nativeSrc":"281538:5:19","nodeType":"YulBreak","src":"281538:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"281524:6:19","nodeType":"YulIdentifier","src":"281524:6:19"},{"name":"w","nativeSrc":"281532:1:19","nodeType":"YulIdentifier","src":"281532:1:19"}],"functionName":{"name":"byte","nativeSrc":"281519:4:19","nodeType":"YulIdentifier","src":"281519:4:19"},"nativeSrc":"281519:15:19","nodeType":"YulFunctionCall","src":"281519:15:19"}],"functionName":{"name":"iszero","nativeSrc":"281512:6:19","nodeType":"YulIdentifier","src":"281512:6:19"},"nativeSrc":"281512:23:19","nodeType":"YulFunctionCall","src":"281512:23:19"},"nativeSrc":"281509:36:19","nodeType":"YulIf","src":"281509:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"281464:6:19","nodeType":"YulIdentifier","src":"281464:6:19"},{"kind":"number","nativeSrc":"281472:4:19","nodeType":"YulLiteral","src":"281472:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"281461:2:19","nodeType":"YulIdentifier","src":"281461:2:19"},"nativeSrc":"281461:16:19","nodeType":"YulFunctionCall","src":"281461:16:19"},"nativeSrc":"281454:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"281478:28:19","nodeType":"YulBlock","src":"281478:28:19","statements":[{"nativeSrc":"281480:24:19","nodeType":"YulAssignment","src":"281480:24:19","value":{"arguments":[{"name":"length","nativeSrc":"281494:6:19","nodeType":"YulIdentifier","src":"281494:6:19"},{"kind":"number","nativeSrc":"281502:1:19","nodeType":"YulLiteral","src":"281502:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"281490:3:19","nodeType":"YulIdentifier","src":"281490:3:19"},"nativeSrc":"281490:14:19","nodeType":"YulFunctionCall","src":"281490:14:19"},"variableNames":[{"name":"length","nativeSrc":"281480:6:19","nodeType":"YulIdentifier","src":"281480:6:19"}]}]},"pre":{"nativeSrc":"281458:2:19","nodeType":"YulBlock","src":"281458:2:19","statements":[]},"src":"281454:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"281571:3:19","nodeType":"YulIdentifier","src":"281571:3:19"},{"name":"length","nativeSrc":"281576:6:19","nodeType":"YulIdentifier","src":"281576:6:19"}],"functionName":{"name":"mstore","nativeSrc":"281564:6:19","nodeType":"YulIdentifier","src":"281564:6:19"},"nativeSrc":"281564:19:19","nodeType":"YulFunctionCall","src":"281564:19:19"},"nativeSrc":"281564:19:19","nodeType":"YulExpressionStatement","src":"281564:19:19"},{"nativeSrc":"281600:37:19","nodeType":"YulVariableDeclaration","src":"281600:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"281617:3:19","nodeType":"YulLiteral","src":"281617:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"281626:1:19","nodeType":"YulLiteral","src":"281626:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"281629:6:19","nodeType":"YulIdentifier","src":"281629:6:19"}],"functionName":{"name":"shl","nativeSrc":"281622:3:19","nodeType":"YulIdentifier","src":"281622:3:19"},"nativeSrc":"281622:14:19","nodeType":"YulFunctionCall","src":"281622:14:19"}],"functionName":{"name":"sub","nativeSrc":"281613:3:19","nodeType":"YulIdentifier","src":"281613:3:19"},"nativeSrc":"281613:24:19","nodeType":"YulFunctionCall","src":"281613:24:19"},"variables":[{"name":"shift","nativeSrc":"281604:5:19","nodeType":"YulTypedName","src":"281604:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"281665:3:19","nodeType":"YulIdentifier","src":"281665:3:19"},{"kind":"number","nativeSrc":"281670:4:19","nodeType":"YulLiteral","src":"281670:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"281661:3:19","nodeType":"YulIdentifier","src":"281661:3:19"},"nativeSrc":"281661:14:19","nodeType":"YulFunctionCall","src":"281661:14:19"},{"arguments":[{"name":"shift","nativeSrc":"281681:5:19","nodeType":"YulIdentifier","src":"281681:5:19"},{"arguments":[{"name":"shift","nativeSrc":"281692:5:19","nodeType":"YulIdentifier","src":"281692:5:19"},{"name":"w","nativeSrc":"281699:1:19","nodeType":"YulIdentifier","src":"281699:1:19"}],"functionName":{"name":"shr","nativeSrc":"281688:3:19","nodeType":"YulIdentifier","src":"281688:3:19"},"nativeSrc":"281688:13:19","nodeType":"YulFunctionCall","src":"281688:13:19"}],"functionName":{"name":"shl","nativeSrc":"281677:3:19","nodeType":"YulIdentifier","src":"281677:3:19"},"nativeSrc":"281677:25:19","nodeType":"YulFunctionCall","src":"281677:25:19"}],"functionName":{"name":"mstore","nativeSrc":"281654:6:19","nodeType":"YulIdentifier","src":"281654:6:19"},"nativeSrc":"281654:49:19","nodeType":"YulFunctionCall","src":"281654:49:19"},"nativeSrc":"281654:49:19","nodeType":"YulExpressionStatement","src":"281654:49:19"}]},"name":"writeString","nativeSrc":"281375:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"281396:3:19","nodeType":"YulTypedName","src":"281396:3:19","type":""},{"name":"w","nativeSrc":"281401:1:19","nodeType":"YulTypedName","src":"281401:1:19","type":""}],"src":"281375:342:19"},{"nativeSrc":"281730:17:19","nodeType":"YulAssignment","src":"281730:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"281742:4:19","nodeType":"YulLiteral","src":"281742:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"281736:5:19","nodeType":"YulIdentifier","src":"281736:5:19"},"nativeSrc":"281736:11:19","nodeType":"YulFunctionCall","src":"281736:11:19"},"variableNames":[{"name":"m0","nativeSrc":"281730:2:19","nodeType":"YulIdentifier","src":"281730:2:19"}]},{"nativeSrc":"281760:17:19","nodeType":"YulAssignment","src":"281760:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"281772:4:19","nodeType":"YulLiteral","src":"281772:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"281766:5:19","nodeType":"YulIdentifier","src":"281766:5:19"},"nativeSrc":"281766:11:19","nodeType":"YulFunctionCall","src":"281766:11:19"},"variableNames":[{"name":"m1","nativeSrc":"281760:2:19","nodeType":"YulIdentifier","src":"281760:2:19"}]},{"nativeSrc":"281790:17:19","nodeType":"YulAssignment","src":"281790:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"281802:4:19","nodeType":"YulLiteral","src":"281802:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"281796:5:19","nodeType":"YulIdentifier","src":"281796:5:19"},"nativeSrc":"281796:11:19","nodeType":"YulFunctionCall","src":"281796:11:19"},"variableNames":[{"name":"m2","nativeSrc":"281790:2:19","nodeType":"YulIdentifier","src":"281790:2:19"}]},{"nativeSrc":"281820:17:19","nodeType":"YulAssignment","src":"281820:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"281832:4:19","nodeType":"YulLiteral","src":"281832:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"281826:5:19","nodeType":"YulIdentifier","src":"281826:5:19"},"nativeSrc":"281826:11:19","nodeType":"YulFunctionCall","src":"281826:11:19"},"variableNames":[{"name":"m3","nativeSrc":"281820:2:19","nodeType":"YulIdentifier","src":"281820:2:19"}]},{"nativeSrc":"281850:17:19","nodeType":"YulAssignment","src":"281850:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"281862:4:19","nodeType":"YulLiteral","src":"281862:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"281856:5:19","nodeType":"YulIdentifier","src":"281856:5:19"},"nativeSrc":"281856:11:19","nodeType":"YulFunctionCall","src":"281856:11:19"},"variableNames":[{"name":"m4","nativeSrc":"281850:2:19","nodeType":"YulIdentifier","src":"281850:2:19"}]},{"nativeSrc":"281880:17:19","nodeType":"YulAssignment","src":"281880:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"281892:4:19","nodeType":"YulLiteral","src":"281892:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"281886:5:19","nodeType":"YulIdentifier","src":"281886:5:19"},"nativeSrc":"281886:11:19","nodeType":"YulFunctionCall","src":"281886:11:19"},"variableNames":[{"name":"m5","nativeSrc":"281880:2:19","nodeType":"YulIdentifier","src":"281880:2:19"}]},{"nativeSrc":"281910:17:19","nodeType":"YulAssignment","src":"281910:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"281922:4:19","nodeType":"YulLiteral","src":"281922:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"281916:5:19","nodeType":"YulIdentifier","src":"281916:5:19"},"nativeSrc":"281916:11:19","nodeType":"YulFunctionCall","src":"281916:11:19"},"variableNames":[{"name":"m6","nativeSrc":"281910:2:19","nodeType":"YulIdentifier","src":"281910:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282010:4:19","nodeType":"YulLiteral","src":"282010:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"282016:10:19","nodeType":"YulLiteral","src":"282016:10:19","type":"","value":"0x2c1d0746"}],"functionName":{"name":"mstore","nativeSrc":"282003:6:19","nodeType":"YulIdentifier","src":"282003:6:19"},"nativeSrc":"282003:24:19","nodeType":"YulFunctionCall","src":"282003:24:19"},"nativeSrc":"282003:24:19","nodeType":"YulExpressionStatement","src":"282003:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282047:4:19","nodeType":"YulLiteral","src":"282047:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"282053:2:19","nodeType":"YulIdentifier","src":"282053:2:19"}],"functionName":{"name":"mstore","nativeSrc":"282040:6:19","nodeType":"YulIdentifier","src":"282040:6:19"},"nativeSrc":"282040:16:19","nodeType":"YulFunctionCall","src":"282040:16:19"},"nativeSrc":"282040:16:19","nodeType":"YulExpressionStatement","src":"282040:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282076:4:19","nodeType":"YulLiteral","src":"282076:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"282082:2:19","nodeType":"YulIdentifier","src":"282082:2:19"}],"functionName":{"name":"mstore","nativeSrc":"282069:6:19","nodeType":"YulIdentifier","src":"282069:6:19"},"nativeSrc":"282069:16:19","nodeType":"YulFunctionCall","src":"282069:16:19"},"nativeSrc":"282069:16:19","nodeType":"YulExpressionStatement","src":"282069:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282105:4:19","nodeType":"YulLiteral","src":"282105:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"282111:4:19","nodeType":"YulLiteral","src":"282111:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"282098:6:19","nodeType":"YulIdentifier","src":"282098:6:19"},"nativeSrc":"282098:18:19","nodeType":"YulFunctionCall","src":"282098:18:19"},"nativeSrc":"282098:18:19","nodeType":"YulExpressionStatement","src":"282098:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282136:4:19","nodeType":"YulLiteral","src":"282136:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"282142:2:19","nodeType":"YulIdentifier","src":"282142:2:19"}],"functionName":{"name":"mstore","nativeSrc":"282129:6:19","nodeType":"YulIdentifier","src":"282129:6:19"},"nativeSrc":"282129:16:19","nodeType":"YulFunctionCall","src":"282129:16:19"},"nativeSrc":"282129:16:19","nodeType":"YulExpressionStatement","src":"282129:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282170:4:19","nodeType":"YulLiteral","src":"282170:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"282176:2:19","nodeType":"YulIdentifier","src":"282176:2:19"}],"functionName":{"name":"writeString","nativeSrc":"282158:11:19","nodeType":"YulIdentifier","src":"282158:11:19"},"nativeSrc":"282158:21:19","nodeType":"YulFunctionCall","src":"282158:21:19"},"nativeSrc":"282158:21:19","nodeType":"YulExpressionStatement","src":"282158:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35156,"isOffset":false,"isSlot":false,"src":"281730:2:19","valueSize":1},{"declaration":35159,"isOffset":false,"isSlot":false,"src":"281760:2:19","valueSize":1},{"declaration":35162,"isOffset":false,"isSlot":false,"src":"281790:2:19","valueSize":1},{"declaration":35165,"isOffset":false,"isSlot":false,"src":"281820:2:19","valueSize":1},{"declaration":35168,"isOffset":false,"isSlot":false,"src":"281850:2:19","valueSize":1},{"declaration":35171,"isOffset":false,"isSlot":false,"src":"281880:2:19","valueSize":1},{"declaration":35174,"isOffset":false,"isSlot":false,"src":"281910:2:19","valueSize":1},{"declaration":35146,"isOffset":false,"isSlot":false,"src":"282053:2:19","valueSize":1},{"declaration":35148,"isOffset":false,"isSlot":false,"src":"282082:2:19","valueSize":1},{"declaration":35150,"isOffset":false,"isSlot":false,"src":"282176:2:19","valueSize":1},{"declaration":35152,"isOffset":false,"isSlot":false,"src":"282142:2:19","valueSize":1}],"id":35176,"nodeType":"InlineAssembly","src":"281352:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"282214:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"282220:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":35177,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"282198:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"282198:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35181,"nodeType":"ExpressionStatement","src":"282198:27:19"},{"AST":{"nativeSrc":"282287:214:19","nodeType":"YulBlock","src":"282287:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"282308:4:19","nodeType":"YulLiteral","src":"282308:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"282314:2:19","nodeType":"YulIdentifier","src":"282314:2:19"}],"functionName":{"name":"mstore","nativeSrc":"282301:6:19","nodeType":"YulIdentifier","src":"282301:6:19"},"nativeSrc":"282301:16:19","nodeType":"YulFunctionCall","src":"282301:16:19"},"nativeSrc":"282301:16:19","nodeType":"YulExpressionStatement","src":"282301:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282337:4:19","nodeType":"YulLiteral","src":"282337:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"282343:2:19","nodeType":"YulIdentifier","src":"282343:2:19"}],"functionName":{"name":"mstore","nativeSrc":"282330:6:19","nodeType":"YulIdentifier","src":"282330:6:19"},"nativeSrc":"282330:16:19","nodeType":"YulFunctionCall","src":"282330:16:19"},"nativeSrc":"282330:16:19","nodeType":"YulExpressionStatement","src":"282330:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282366:4:19","nodeType":"YulLiteral","src":"282366:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"282372:2:19","nodeType":"YulIdentifier","src":"282372:2:19"}],"functionName":{"name":"mstore","nativeSrc":"282359:6:19","nodeType":"YulIdentifier","src":"282359:6:19"},"nativeSrc":"282359:16:19","nodeType":"YulFunctionCall","src":"282359:16:19"},"nativeSrc":"282359:16:19","nodeType":"YulExpressionStatement","src":"282359:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282395:4:19","nodeType":"YulLiteral","src":"282395:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"282401:2:19","nodeType":"YulIdentifier","src":"282401:2:19"}],"functionName":{"name":"mstore","nativeSrc":"282388:6:19","nodeType":"YulIdentifier","src":"282388:6:19"},"nativeSrc":"282388:16:19","nodeType":"YulFunctionCall","src":"282388:16:19"},"nativeSrc":"282388:16:19","nodeType":"YulExpressionStatement","src":"282388:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282424:4:19","nodeType":"YulLiteral","src":"282424:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"282430:2:19","nodeType":"YulIdentifier","src":"282430:2:19"}],"functionName":{"name":"mstore","nativeSrc":"282417:6:19","nodeType":"YulIdentifier","src":"282417:6:19"},"nativeSrc":"282417:16:19","nodeType":"YulFunctionCall","src":"282417:16:19"},"nativeSrc":"282417:16:19","nodeType":"YulExpressionStatement","src":"282417:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282453:4:19","nodeType":"YulLiteral","src":"282453:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"282459:2:19","nodeType":"YulIdentifier","src":"282459:2:19"}],"functionName":{"name":"mstore","nativeSrc":"282446:6:19","nodeType":"YulIdentifier","src":"282446:6:19"},"nativeSrc":"282446:16:19","nodeType":"YulFunctionCall","src":"282446:16:19"},"nativeSrc":"282446:16:19","nodeType":"YulExpressionStatement","src":"282446:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"282482:4:19","nodeType":"YulLiteral","src":"282482:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"282488:2:19","nodeType":"YulIdentifier","src":"282488:2:19"}],"functionName":{"name":"mstore","nativeSrc":"282475:6:19","nodeType":"YulIdentifier","src":"282475:6:19"},"nativeSrc":"282475:16:19","nodeType":"YulFunctionCall","src":"282475:16:19"},"nativeSrc":"282475:16:19","nodeType":"YulExpressionStatement","src":"282475:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35156,"isOffset":false,"isSlot":false,"src":"282314:2:19","valueSize":1},{"declaration":35159,"isOffset":false,"isSlot":false,"src":"282343:2:19","valueSize":1},{"declaration":35162,"isOffset":false,"isSlot":false,"src":"282372:2:19","valueSize":1},{"declaration":35165,"isOffset":false,"isSlot":false,"src":"282401:2:19","valueSize":1},{"declaration":35168,"isOffset":false,"isSlot":false,"src":"282430:2:19","valueSize":1},{"declaration":35171,"isOffset":false,"isSlot":false,"src":"282459:2:19","valueSize":1},{"declaration":35174,"isOffset":false,"isSlot":false,"src":"282488:2:19","valueSize":1}],"id":35182,"nodeType":"InlineAssembly","src":"282278:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"281096:3:19","parameters":{"id":35153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35146,"mutability":"mutable","name":"p0","nameLocation":"281108:2:19","nodeType":"VariableDeclaration","scope":35184,"src":"281100:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35145,"name":"uint256","nodeType":"ElementaryTypeName","src":"281100:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35148,"mutability":"mutable","name":"p1","nameLocation":"281117:2:19","nodeType":"VariableDeclaration","scope":35184,"src":"281112:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35147,"name":"bool","nodeType":"ElementaryTypeName","src":"281112:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35150,"mutability":"mutable","name":"p2","nameLocation":"281129:2:19","nodeType":"VariableDeclaration","scope":35184,"src":"281121:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35149,"name":"bytes32","nodeType":"ElementaryTypeName","src":"281121:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35152,"mutability":"mutable","name":"p3","nameLocation":"281141:2:19","nodeType":"VariableDeclaration","scope":35184,"src":"281133:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35151,"name":"uint256","nodeType":"ElementaryTypeName","src":"281133:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"281099:45:19"},"returnParameters":{"id":35154,"nodeType":"ParameterList","parameters":[],"src":"281159:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35230,"nodeType":"FunctionDefinition","src":"282513:1616:19","nodes":[],"body":{"id":35229,"nodeType":"Block","src":"282585:1544:19","nodes":[],"statements":[{"assignments":[35196],"declarations":[{"constant":false,"id":35196,"mutability":"mutable","name":"m0","nameLocation":"282603:2:19","nodeType":"VariableDeclaration","scope":35229,"src":"282595:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35195,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282595:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35197,"nodeType":"VariableDeclarationStatement","src":"282595:10:19"},{"assignments":[35199],"declarations":[{"constant":false,"id":35199,"mutability":"mutable","name":"m1","nameLocation":"282623:2:19","nodeType":"VariableDeclaration","scope":35229,"src":"282615:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35198,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282615:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35200,"nodeType":"VariableDeclarationStatement","src":"282615:10:19"},{"assignments":[35202],"declarations":[{"constant":false,"id":35202,"mutability":"mutable","name":"m2","nameLocation":"282643:2:19","nodeType":"VariableDeclaration","scope":35229,"src":"282635:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35201,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282635:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35203,"nodeType":"VariableDeclarationStatement","src":"282635:10:19"},{"assignments":[35205],"declarations":[{"constant":false,"id":35205,"mutability":"mutable","name":"m3","nameLocation":"282663:2:19","nodeType":"VariableDeclaration","scope":35229,"src":"282655:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35204,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282655:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35206,"nodeType":"VariableDeclarationStatement","src":"282655:10:19"},{"assignments":[35208],"declarations":[{"constant":false,"id":35208,"mutability":"mutable","name":"m4","nameLocation":"282683:2:19","nodeType":"VariableDeclaration","scope":35229,"src":"282675:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35207,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282675:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35209,"nodeType":"VariableDeclarationStatement","src":"282675:10:19"},{"assignments":[35211],"declarations":[{"constant":false,"id":35211,"mutability":"mutable","name":"m5","nameLocation":"282703:2:19","nodeType":"VariableDeclaration","scope":35229,"src":"282695:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35210,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282695:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35212,"nodeType":"VariableDeclarationStatement","src":"282695:10:19"},{"assignments":[35214],"declarations":[{"constant":false,"id":35214,"mutability":"mutable","name":"m6","nameLocation":"282723:2:19","nodeType":"VariableDeclaration","scope":35229,"src":"282715:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35213,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282715:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35215,"nodeType":"VariableDeclarationStatement","src":"282715:10:19"},{"assignments":[35217],"declarations":[{"constant":false,"id":35217,"mutability":"mutable","name":"m7","nameLocation":"282743:2:19","nodeType":"VariableDeclaration","scope":35229,"src":"282735:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35216,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282735:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35218,"nodeType":"VariableDeclarationStatement","src":"282735:10:19"},{"assignments":[35220],"declarations":[{"constant":false,"id":35220,"mutability":"mutable","name":"m8","nameLocation":"282763:2:19","nodeType":"VariableDeclaration","scope":35229,"src":"282755:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35219,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282755:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35221,"nodeType":"VariableDeclarationStatement","src":"282755:10:19"},{"AST":{"nativeSrc":"282827:924:19","nodeType":"YulBlock","src":"282827:924:19","statements":[{"body":{"nativeSrc":"282870:313:19","nodeType":"YulBlock","src":"282870:313:19","statements":[{"nativeSrc":"282888:15:19","nodeType":"YulVariableDeclaration","src":"282888:15:19","value":{"kind":"number","nativeSrc":"282902:1:19","nodeType":"YulLiteral","src":"282902:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"282892:6:19","nodeType":"YulTypedName","src":"282892:6:19","type":""}]},{"body":{"nativeSrc":"282973:40:19","nodeType":"YulBlock","src":"282973:40:19","statements":[{"body":{"nativeSrc":"283002:9:19","nodeType":"YulBlock","src":"283002:9:19","statements":[{"nativeSrc":"283004:5:19","nodeType":"YulBreak","src":"283004:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"282990:6:19","nodeType":"YulIdentifier","src":"282990:6:19"},{"name":"w","nativeSrc":"282998:1:19","nodeType":"YulIdentifier","src":"282998:1:19"}],"functionName":{"name":"byte","nativeSrc":"282985:4:19","nodeType":"YulIdentifier","src":"282985:4:19"},"nativeSrc":"282985:15:19","nodeType":"YulFunctionCall","src":"282985:15:19"}],"functionName":{"name":"iszero","nativeSrc":"282978:6:19","nodeType":"YulIdentifier","src":"282978:6:19"},"nativeSrc":"282978:23:19","nodeType":"YulFunctionCall","src":"282978:23:19"},"nativeSrc":"282975:36:19","nodeType":"YulIf","src":"282975:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"282930:6:19","nodeType":"YulIdentifier","src":"282930:6:19"},{"kind":"number","nativeSrc":"282938:4:19","nodeType":"YulLiteral","src":"282938:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"282927:2:19","nodeType":"YulIdentifier","src":"282927:2:19"},"nativeSrc":"282927:16:19","nodeType":"YulFunctionCall","src":"282927:16:19"},"nativeSrc":"282920:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"282944:28:19","nodeType":"YulBlock","src":"282944:28:19","statements":[{"nativeSrc":"282946:24:19","nodeType":"YulAssignment","src":"282946:24:19","value":{"arguments":[{"name":"length","nativeSrc":"282960:6:19","nodeType":"YulIdentifier","src":"282960:6:19"},{"kind":"number","nativeSrc":"282968:1:19","nodeType":"YulLiteral","src":"282968:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"282956:3:19","nodeType":"YulIdentifier","src":"282956:3:19"},"nativeSrc":"282956:14:19","nodeType":"YulFunctionCall","src":"282956:14:19"},"variableNames":[{"name":"length","nativeSrc":"282946:6:19","nodeType":"YulIdentifier","src":"282946:6:19"}]}]},"pre":{"nativeSrc":"282924:2:19","nodeType":"YulBlock","src":"282924:2:19","statements":[]},"src":"282920:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"283037:3:19","nodeType":"YulIdentifier","src":"283037:3:19"},{"name":"length","nativeSrc":"283042:6:19","nodeType":"YulIdentifier","src":"283042:6:19"}],"functionName":{"name":"mstore","nativeSrc":"283030:6:19","nodeType":"YulIdentifier","src":"283030:6:19"},"nativeSrc":"283030:19:19","nodeType":"YulFunctionCall","src":"283030:19:19"},"nativeSrc":"283030:19:19","nodeType":"YulExpressionStatement","src":"283030:19:19"},{"nativeSrc":"283066:37:19","nodeType":"YulVariableDeclaration","src":"283066:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"283083:3:19","nodeType":"YulLiteral","src":"283083:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"283092:1:19","nodeType":"YulLiteral","src":"283092:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"283095:6:19","nodeType":"YulIdentifier","src":"283095:6:19"}],"functionName":{"name":"shl","nativeSrc":"283088:3:19","nodeType":"YulIdentifier","src":"283088:3:19"},"nativeSrc":"283088:14:19","nodeType":"YulFunctionCall","src":"283088:14:19"}],"functionName":{"name":"sub","nativeSrc":"283079:3:19","nodeType":"YulIdentifier","src":"283079:3:19"},"nativeSrc":"283079:24:19","nodeType":"YulFunctionCall","src":"283079:24:19"},"variables":[{"name":"shift","nativeSrc":"283070:5:19","nodeType":"YulTypedName","src":"283070:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"283131:3:19","nodeType":"YulIdentifier","src":"283131:3:19"},{"kind":"number","nativeSrc":"283136:4:19","nodeType":"YulLiteral","src":"283136:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"283127:3:19","nodeType":"YulIdentifier","src":"283127:3:19"},"nativeSrc":"283127:14:19","nodeType":"YulFunctionCall","src":"283127:14:19"},{"arguments":[{"name":"shift","nativeSrc":"283147:5:19","nodeType":"YulIdentifier","src":"283147:5:19"},{"arguments":[{"name":"shift","nativeSrc":"283158:5:19","nodeType":"YulIdentifier","src":"283158:5:19"},{"name":"w","nativeSrc":"283165:1:19","nodeType":"YulIdentifier","src":"283165:1:19"}],"functionName":{"name":"shr","nativeSrc":"283154:3:19","nodeType":"YulIdentifier","src":"283154:3:19"},"nativeSrc":"283154:13:19","nodeType":"YulFunctionCall","src":"283154:13:19"}],"functionName":{"name":"shl","nativeSrc":"283143:3:19","nodeType":"YulIdentifier","src":"283143:3:19"},"nativeSrc":"283143:25:19","nodeType":"YulFunctionCall","src":"283143:25:19"}],"functionName":{"name":"mstore","nativeSrc":"283120:6:19","nodeType":"YulIdentifier","src":"283120:6:19"},"nativeSrc":"283120:49:19","nodeType":"YulFunctionCall","src":"283120:49:19"},"nativeSrc":"283120:49:19","nodeType":"YulExpressionStatement","src":"283120:49:19"}]},"name":"writeString","nativeSrc":"282841:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"282862:3:19","nodeType":"YulTypedName","src":"282862:3:19","type":""},{"name":"w","nativeSrc":"282867:1:19","nodeType":"YulTypedName","src":"282867:1:19","type":""}],"src":"282841:342:19"},{"nativeSrc":"283196:17:19","nodeType":"YulAssignment","src":"283196:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"283208:4:19","nodeType":"YulLiteral","src":"283208:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"283202:5:19","nodeType":"YulIdentifier","src":"283202:5:19"},"nativeSrc":"283202:11:19","nodeType":"YulFunctionCall","src":"283202:11:19"},"variableNames":[{"name":"m0","nativeSrc":"283196:2:19","nodeType":"YulIdentifier","src":"283196:2:19"}]},{"nativeSrc":"283226:17:19","nodeType":"YulAssignment","src":"283226:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"283238:4:19","nodeType":"YulLiteral","src":"283238:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"283232:5:19","nodeType":"YulIdentifier","src":"283232:5:19"},"nativeSrc":"283232:11:19","nodeType":"YulFunctionCall","src":"283232:11:19"},"variableNames":[{"name":"m1","nativeSrc":"283226:2:19","nodeType":"YulIdentifier","src":"283226:2:19"}]},{"nativeSrc":"283256:17:19","nodeType":"YulAssignment","src":"283256:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"283268:4:19","nodeType":"YulLiteral","src":"283268:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"283262:5:19","nodeType":"YulIdentifier","src":"283262:5:19"},"nativeSrc":"283262:11:19","nodeType":"YulFunctionCall","src":"283262:11:19"},"variableNames":[{"name":"m2","nativeSrc":"283256:2:19","nodeType":"YulIdentifier","src":"283256:2:19"}]},{"nativeSrc":"283286:17:19","nodeType":"YulAssignment","src":"283286:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"283298:4:19","nodeType":"YulLiteral","src":"283298:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"283292:5:19","nodeType":"YulIdentifier","src":"283292:5:19"},"nativeSrc":"283292:11:19","nodeType":"YulFunctionCall","src":"283292:11:19"},"variableNames":[{"name":"m3","nativeSrc":"283286:2:19","nodeType":"YulIdentifier","src":"283286:2:19"}]},{"nativeSrc":"283316:17:19","nodeType":"YulAssignment","src":"283316:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"283328:4:19","nodeType":"YulLiteral","src":"283328:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"283322:5:19","nodeType":"YulIdentifier","src":"283322:5:19"},"nativeSrc":"283322:11:19","nodeType":"YulFunctionCall","src":"283322:11:19"},"variableNames":[{"name":"m4","nativeSrc":"283316:2:19","nodeType":"YulIdentifier","src":"283316:2:19"}]},{"nativeSrc":"283346:17:19","nodeType":"YulAssignment","src":"283346:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"283358:4:19","nodeType":"YulLiteral","src":"283358:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"283352:5:19","nodeType":"YulIdentifier","src":"283352:5:19"},"nativeSrc":"283352:11:19","nodeType":"YulFunctionCall","src":"283352:11:19"},"variableNames":[{"name":"m5","nativeSrc":"283346:2:19","nodeType":"YulIdentifier","src":"283346:2:19"}]},{"nativeSrc":"283376:17:19","nodeType":"YulAssignment","src":"283376:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"283388:4:19","nodeType":"YulLiteral","src":"283388:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"283382:5:19","nodeType":"YulIdentifier","src":"283382:5:19"},"nativeSrc":"283382:11:19","nodeType":"YulFunctionCall","src":"283382:11:19"},"variableNames":[{"name":"m6","nativeSrc":"283376:2:19","nodeType":"YulIdentifier","src":"283376:2:19"}]},{"nativeSrc":"283406:17:19","nodeType":"YulAssignment","src":"283406:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"283418:4:19","nodeType":"YulLiteral","src":"283418:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"283412:5:19","nodeType":"YulIdentifier","src":"283412:5:19"},"nativeSrc":"283412:11:19","nodeType":"YulFunctionCall","src":"283412:11:19"},"variableNames":[{"name":"m7","nativeSrc":"283406:2:19","nodeType":"YulIdentifier","src":"283406:2:19"}]},{"nativeSrc":"283436:18:19","nodeType":"YulAssignment","src":"283436:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"283448:5:19","nodeType":"YulLiteral","src":"283448:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"283442:5:19","nodeType":"YulIdentifier","src":"283442:5:19"},"nativeSrc":"283442:12:19","nodeType":"YulFunctionCall","src":"283442:12:19"},"variableNames":[{"name":"m8","nativeSrc":"283436:2:19","nodeType":"YulIdentifier","src":"283436:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283536:4:19","nodeType":"YulLiteral","src":"283536:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"283542:10:19","nodeType":"YulLiteral","src":"283542:10:19","type":"","value":"0x68c8b8bd"}],"functionName":{"name":"mstore","nativeSrc":"283529:6:19","nodeType":"YulIdentifier","src":"283529:6:19"},"nativeSrc":"283529:24:19","nodeType":"YulFunctionCall","src":"283529:24:19"},"nativeSrc":"283529:24:19","nodeType":"YulExpressionStatement","src":"283529:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283573:4:19","nodeType":"YulLiteral","src":"283573:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"283579:2:19","nodeType":"YulIdentifier","src":"283579:2:19"}],"functionName":{"name":"mstore","nativeSrc":"283566:6:19","nodeType":"YulIdentifier","src":"283566:6:19"},"nativeSrc":"283566:16:19","nodeType":"YulFunctionCall","src":"283566:16:19"},"nativeSrc":"283566:16:19","nodeType":"YulExpressionStatement","src":"283566:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283602:4:19","nodeType":"YulLiteral","src":"283602:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"283608:2:19","nodeType":"YulIdentifier","src":"283608:2:19"}],"functionName":{"name":"mstore","nativeSrc":"283595:6:19","nodeType":"YulIdentifier","src":"283595:6:19"},"nativeSrc":"283595:16:19","nodeType":"YulFunctionCall","src":"283595:16:19"},"nativeSrc":"283595:16:19","nodeType":"YulExpressionStatement","src":"283595:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283631:4:19","nodeType":"YulLiteral","src":"283631:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"283637:4:19","nodeType":"YulLiteral","src":"283637:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"283624:6:19","nodeType":"YulIdentifier","src":"283624:6:19"},"nativeSrc":"283624:18:19","nodeType":"YulFunctionCall","src":"283624:18:19"},"nativeSrc":"283624:18:19","nodeType":"YulExpressionStatement","src":"283624:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283662:4:19","nodeType":"YulLiteral","src":"283662:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"283668:4:19","nodeType":"YulLiteral","src":"283668:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"283655:6:19","nodeType":"YulIdentifier","src":"283655:6:19"},"nativeSrc":"283655:18:19","nodeType":"YulFunctionCall","src":"283655:18:19"},"nativeSrc":"283655:18:19","nodeType":"YulExpressionStatement","src":"283655:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283698:4:19","nodeType":"YulLiteral","src":"283698:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"283704:2:19","nodeType":"YulIdentifier","src":"283704:2:19"}],"functionName":{"name":"writeString","nativeSrc":"283686:11:19","nodeType":"YulIdentifier","src":"283686:11:19"},"nativeSrc":"283686:21:19","nodeType":"YulFunctionCall","src":"283686:21:19"},"nativeSrc":"283686:21:19","nodeType":"YulExpressionStatement","src":"283686:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283732:4:19","nodeType":"YulLiteral","src":"283732:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"283738:2:19","nodeType":"YulIdentifier","src":"283738:2:19"}],"functionName":{"name":"writeString","nativeSrc":"283720:11:19","nodeType":"YulIdentifier","src":"283720:11:19"},"nativeSrc":"283720:21:19","nodeType":"YulFunctionCall","src":"283720:21:19"},"nativeSrc":"283720:21:19","nodeType":"YulExpressionStatement","src":"283720:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35196,"isOffset":false,"isSlot":false,"src":"283196:2:19","valueSize":1},{"declaration":35199,"isOffset":false,"isSlot":false,"src":"283226:2:19","valueSize":1},{"declaration":35202,"isOffset":false,"isSlot":false,"src":"283256:2:19","valueSize":1},{"declaration":35205,"isOffset":false,"isSlot":false,"src":"283286:2:19","valueSize":1},{"declaration":35208,"isOffset":false,"isSlot":false,"src":"283316:2:19","valueSize":1},{"declaration":35211,"isOffset":false,"isSlot":false,"src":"283346:2:19","valueSize":1},{"declaration":35214,"isOffset":false,"isSlot":false,"src":"283376:2:19","valueSize":1},{"declaration":35217,"isOffset":false,"isSlot":false,"src":"283406:2:19","valueSize":1},{"declaration":35220,"isOffset":false,"isSlot":false,"src":"283436:2:19","valueSize":1},{"declaration":35186,"isOffset":false,"isSlot":false,"src":"283579:2:19","valueSize":1},{"declaration":35188,"isOffset":false,"isSlot":false,"src":"283608:2:19","valueSize":1},{"declaration":35190,"isOffset":false,"isSlot":false,"src":"283704:2:19","valueSize":1},{"declaration":35192,"isOffset":false,"isSlot":false,"src":"283738:2:19","valueSize":1}],"id":35222,"nodeType":"InlineAssembly","src":"282818:933:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"283776:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":35225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"283782:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":35223,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"283760:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"283760:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35227,"nodeType":"ExpressionStatement","src":"283760:28:19"},{"AST":{"nativeSrc":"283850:273:19","nodeType":"YulBlock","src":"283850:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"283871:4:19","nodeType":"YulLiteral","src":"283871:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"283877:2:19","nodeType":"YulIdentifier","src":"283877:2:19"}],"functionName":{"name":"mstore","nativeSrc":"283864:6:19","nodeType":"YulIdentifier","src":"283864:6:19"},"nativeSrc":"283864:16:19","nodeType":"YulFunctionCall","src":"283864:16:19"},"nativeSrc":"283864:16:19","nodeType":"YulExpressionStatement","src":"283864:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283900:4:19","nodeType":"YulLiteral","src":"283900:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"283906:2:19","nodeType":"YulIdentifier","src":"283906:2:19"}],"functionName":{"name":"mstore","nativeSrc":"283893:6:19","nodeType":"YulIdentifier","src":"283893:6:19"},"nativeSrc":"283893:16:19","nodeType":"YulFunctionCall","src":"283893:16:19"},"nativeSrc":"283893:16:19","nodeType":"YulExpressionStatement","src":"283893:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283929:4:19","nodeType":"YulLiteral","src":"283929:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"283935:2:19","nodeType":"YulIdentifier","src":"283935:2:19"}],"functionName":{"name":"mstore","nativeSrc":"283922:6:19","nodeType":"YulIdentifier","src":"283922:6:19"},"nativeSrc":"283922:16:19","nodeType":"YulFunctionCall","src":"283922:16:19"},"nativeSrc":"283922:16:19","nodeType":"YulExpressionStatement","src":"283922:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283958:4:19","nodeType":"YulLiteral","src":"283958:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"283964:2:19","nodeType":"YulIdentifier","src":"283964:2:19"}],"functionName":{"name":"mstore","nativeSrc":"283951:6:19","nodeType":"YulIdentifier","src":"283951:6:19"},"nativeSrc":"283951:16:19","nodeType":"YulFunctionCall","src":"283951:16:19"},"nativeSrc":"283951:16:19","nodeType":"YulExpressionStatement","src":"283951:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"283987:4:19","nodeType":"YulLiteral","src":"283987:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"283993:2:19","nodeType":"YulIdentifier","src":"283993:2:19"}],"functionName":{"name":"mstore","nativeSrc":"283980:6:19","nodeType":"YulIdentifier","src":"283980:6:19"},"nativeSrc":"283980:16:19","nodeType":"YulFunctionCall","src":"283980:16:19"},"nativeSrc":"283980:16:19","nodeType":"YulExpressionStatement","src":"283980:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284016:4:19","nodeType":"YulLiteral","src":"284016:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"284022:2:19","nodeType":"YulIdentifier","src":"284022:2:19"}],"functionName":{"name":"mstore","nativeSrc":"284009:6:19","nodeType":"YulIdentifier","src":"284009:6:19"},"nativeSrc":"284009:16:19","nodeType":"YulFunctionCall","src":"284009:16:19"},"nativeSrc":"284009:16:19","nodeType":"YulExpressionStatement","src":"284009:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284045:4:19","nodeType":"YulLiteral","src":"284045:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"284051:2:19","nodeType":"YulIdentifier","src":"284051:2:19"}],"functionName":{"name":"mstore","nativeSrc":"284038:6:19","nodeType":"YulIdentifier","src":"284038:6:19"},"nativeSrc":"284038:16:19","nodeType":"YulFunctionCall","src":"284038:16:19"},"nativeSrc":"284038:16:19","nodeType":"YulExpressionStatement","src":"284038:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284074:4:19","nodeType":"YulLiteral","src":"284074:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"284080:2:19","nodeType":"YulIdentifier","src":"284080:2:19"}],"functionName":{"name":"mstore","nativeSrc":"284067:6:19","nodeType":"YulIdentifier","src":"284067:6:19"},"nativeSrc":"284067:16:19","nodeType":"YulFunctionCall","src":"284067:16:19"},"nativeSrc":"284067:16:19","nodeType":"YulExpressionStatement","src":"284067:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284103:5:19","nodeType":"YulLiteral","src":"284103:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"284110:2:19","nodeType":"YulIdentifier","src":"284110:2:19"}],"functionName":{"name":"mstore","nativeSrc":"284096:6:19","nodeType":"YulIdentifier","src":"284096:6:19"},"nativeSrc":"284096:17:19","nodeType":"YulFunctionCall","src":"284096:17:19"},"nativeSrc":"284096:17:19","nodeType":"YulExpressionStatement","src":"284096:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35196,"isOffset":false,"isSlot":false,"src":"283877:2:19","valueSize":1},{"declaration":35199,"isOffset":false,"isSlot":false,"src":"283906:2:19","valueSize":1},{"declaration":35202,"isOffset":false,"isSlot":false,"src":"283935:2:19","valueSize":1},{"declaration":35205,"isOffset":false,"isSlot":false,"src":"283964:2:19","valueSize":1},{"declaration":35208,"isOffset":false,"isSlot":false,"src":"283993:2:19","valueSize":1},{"declaration":35211,"isOffset":false,"isSlot":false,"src":"284022:2:19","valueSize":1},{"declaration":35214,"isOffset":false,"isSlot":false,"src":"284051:2:19","valueSize":1},{"declaration":35217,"isOffset":false,"isSlot":false,"src":"284080:2:19","valueSize":1},{"declaration":35220,"isOffset":false,"isSlot":false,"src":"284110:2:19","valueSize":1}],"id":35228,"nodeType":"InlineAssembly","src":"283841:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"282522:3:19","parameters":{"id":35193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35186,"mutability":"mutable","name":"p0","nameLocation":"282534:2:19","nodeType":"VariableDeclaration","scope":35230,"src":"282526:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35185,"name":"uint256","nodeType":"ElementaryTypeName","src":"282526:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35188,"mutability":"mutable","name":"p1","nameLocation":"282543:2:19","nodeType":"VariableDeclaration","scope":35230,"src":"282538:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35187,"name":"bool","nodeType":"ElementaryTypeName","src":"282538:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35190,"mutability":"mutable","name":"p2","nameLocation":"282555:2:19","nodeType":"VariableDeclaration","scope":35230,"src":"282547:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35189,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282547:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35192,"mutability":"mutable","name":"p3","nameLocation":"282567:2:19","nodeType":"VariableDeclaration","scope":35230,"src":"282559:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35191,"name":"bytes32","nodeType":"ElementaryTypeName","src":"282559:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"282525:45:19"},"returnParameters":{"id":35194,"nodeType":"ParameterList","parameters":[],"src":"282585:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35264,"nodeType":"FunctionDefinition","src":"284135:878:19","nodes":[],"body":{"id":35263,"nodeType":"Block","src":"284210:803:19","nodes":[],"statements":[{"assignments":[35242],"declarations":[{"constant":false,"id":35242,"mutability":"mutable","name":"m0","nameLocation":"284228:2:19","nodeType":"VariableDeclaration","scope":35263,"src":"284220:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35241,"name":"bytes32","nodeType":"ElementaryTypeName","src":"284220:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35243,"nodeType":"VariableDeclarationStatement","src":"284220:10:19"},{"assignments":[35245],"declarations":[{"constant":false,"id":35245,"mutability":"mutable","name":"m1","nameLocation":"284248:2:19","nodeType":"VariableDeclaration","scope":35263,"src":"284240:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35244,"name":"bytes32","nodeType":"ElementaryTypeName","src":"284240:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35246,"nodeType":"VariableDeclarationStatement","src":"284240:10:19"},{"assignments":[35248],"declarations":[{"constant":false,"id":35248,"mutability":"mutable","name":"m2","nameLocation":"284268:2:19","nodeType":"VariableDeclaration","scope":35263,"src":"284260:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35247,"name":"bytes32","nodeType":"ElementaryTypeName","src":"284260:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35249,"nodeType":"VariableDeclarationStatement","src":"284260:10:19"},{"assignments":[35251],"declarations":[{"constant":false,"id":35251,"mutability":"mutable","name":"m3","nameLocation":"284288:2:19","nodeType":"VariableDeclaration","scope":35263,"src":"284280:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35250,"name":"bytes32","nodeType":"ElementaryTypeName","src":"284280:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35252,"nodeType":"VariableDeclarationStatement","src":"284280:10:19"},{"assignments":[35254],"declarations":[{"constant":false,"id":35254,"mutability":"mutable","name":"m4","nameLocation":"284308:2:19","nodeType":"VariableDeclaration","scope":35263,"src":"284300:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35253,"name":"bytes32","nodeType":"ElementaryTypeName","src":"284300:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35255,"nodeType":"VariableDeclarationStatement","src":"284300:10:19"},{"AST":{"nativeSrc":"284372:381:19","nodeType":"YulBlock","src":"284372:381:19","statements":[{"nativeSrc":"284386:17:19","nodeType":"YulAssignment","src":"284386:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"284398:4:19","nodeType":"YulLiteral","src":"284398:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"284392:5:19","nodeType":"YulIdentifier","src":"284392:5:19"},"nativeSrc":"284392:11:19","nodeType":"YulFunctionCall","src":"284392:11:19"},"variableNames":[{"name":"m0","nativeSrc":"284386:2:19","nodeType":"YulIdentifier","src":"284386:2:19"}]},{"nativeSrc":"284416:17:19","nodeType":"YulAssignment","src":"284416:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"284428:4:19","nodeType":"YulLiteral","src":"284428:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"284422:5:19","nodeType":"YulIdentifier","src":"284422:5:19"},"nativeSrc":"284422:11:19","nodeType":"YulFunctionCall","src":"284422:11:19"},"variableNames":[{"name":"m1","nativeSrc":"284416:2:19","nodeType":"YulIdentifier","src":"284416:2:19"}]},{"nativeSrc":"284446:17:19","nodeType":"YulAssignment","src":"284446:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"284458:4:19","nodeType":"YulLiteral","src":"284458:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"284452:5:19","nodeType":"YulIdentifier","src":"284452:5:19"},"nativeSrc":"284452:11:19","nodeType":"YulFunctionCall","src":"284452:11:19"},"variableNames":[{"name":"m2","nativeSrc":"284446:2:19","nodeType":"YulIdentifier","src":"284446:2:19"}]},{"nativeSrc":"284476:17:19","nodeType":"YulAssignment","src":"284476:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"284488:4:19","nodeType":"YulLiteral","src":"284488:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"284482:5:19","nodeType":"YulIdentifier","src":"284482:5:19"},"nativeSrc":"284482:11:19","nodeType":"YulFunctionCall","src":"284482:11:19"},"variableNames":[{"name":"m3","nativeSrc":"284476:2:19","nodeType":"YulIdentifier","src":"284476:2:19"}]},{"nativeSrc":"284506:17:19","nodeType":"YulAssignment","src":"284506:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"284518:4:19","nodeType":"YulLiteral","src":"284518:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"284512:5:19","nodeType":"YulIdentifier","src":"284512:5:19"},"nativeSrc":"284512:11:19","nodeType":"YulFunctionCall","src":"284512:11:19"},"variableNames":[{"name":"m4","nativeSrc":"284506:2:19","nodeType":"YulIdentifier","src":"284506:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284610:4:19","nodeType":"YulLiteral","src":"284610:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"284616:10:19","nodeType":"YulLiteral","src":"284616:10:19","type":"","value":"0x56a5d1b1"}],"functionName":{"name":"mstore","nativeSrc":"284603:6:19","nodeType":"YulIdentifier","src":"284603:6:19"},"nativeSrc":"284603:24:19","nodeType":"YulFunctionCall","src":"284603:24:19"},"nativeSrc":"284603:24:19","nodeType":"YulExpressionStatement","src":"284603:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284647:4:19","nodeType":"YulLiteral","src":"284647:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"284653:2:19","nodeType":"YulIdentifier","src":"284653:2:19"}],"functionName":{"name":"mstore","nativeSrc":"284640:6:19","nodeType":"YulIdentifier","src":"284640:6:19"},"nativeSrc":"284640:16:19","nodeType":"YulFunctionCall","src":"284640:16:19"},"nativeSrc":"284640:16:19","nodeType":"YulExpressionStatement","src":"284640:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284676:4:19","nodeType":"YulLiteral","src":"284676:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"284682:2:19","nodeType":"YulIdentifier","src":"284682:2:19"}],"functionName":{"name":"mstore","nativeSrc":"284669:6:19","nodeType":"YulIdentifier","src":"284669:6:19"},"nativeSrc":"284669:16:19","nodeType":"YulFunctionCall","src":"284669:16:19"},"nativeSrc":"284669:16:19","nodeType":"YulExpressionStatement","src":"284669:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284705:4:19","nodeType":"YulLiteral","src":"284705:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"284711:2:19","nodeType":"YulIdentifier","src":"284711:2:19"}],"functionName":{"name":"mstore","nativeSrc":"284698:6:19","nodeType":"YulIdentifier","src":"284698:6:19"},"nativeSrc":"284698:16:19","nodeType":"YulFunctionCall","src":"284698:16:19"},"nativeSrc":"284698:16:19","nodeType":"YulExpressionStatement","src":"284698:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284734:4:19","nodeType":"YulLiteral","src":"284734:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"284740:2:19","nodeType":"YulIdentifier","src":"284740:2:19"}],"functionName":{"name":"mstore","nativeSrc":"284727:6:19","nodeType":"YulIdentifier","src":"284727:6:19"},"nativeSrc":"284727:16:19","nodeType":"YulFunctionCall","src":"284727:16:19"},"nativeSrc":"284727:16:19","nodeType":"YulExpressionStatement","src":"284727:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35242,"isOffset":false,"isSlot":false,"src":"284386:2:19","valueSize":1},{"declaration":35245,"isOffset":false,"isSlot":false,"src":"284416:2:19","valueSize":1},{"declaration":35248,"isOffset":false,"isSlot":false,"src":"284446:2:19","valueSize":1},{"declaration":35251,"isOffset":false,"isSlot":false,"src":"284476:2:19","valueSize":1},{"declaration":35254,"isOffset":false,"isSlot":false,"src":"284506:2:19","valueSize":1},{"declaration":35232,"isOffset":false,"isSlot":false,"src":"284653:2:19","valueSize":1},{"declaration":35234,"isOffset":false,"isSlot":false,"src":"284682:2:19","valueSize":1},{"declaration":35236,"isOffset":false,"isSlot":false,"src":"284711:2:19","valueSize":1},{"declaration":35238,"isOffset":false,"isSlot":false,"src":"284740:2:19","valueSize":1}],"id":35256,"nodeType":"InlineAssembly","src":"284363:390:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"284778:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"284784:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":35257,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"284762:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"284762:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35261,"nodeType":"ExpressionStatement","src":"284762:27:19"},{"AST":{"nativeSrc":"284851:156:19","nodeType":"YulBlock","src":"284851:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"284872:4:19","nodeType":"YulLiteral","src":"284872:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"284878:2:19","nodeType":"YulIdentifier","src":"284878:2:19"}],"functionName":{"name":"mstore","nativeSrc":"284865:6:19","nodeType":"YulIdentifier","src":"284865:6:19"},"nativeSrc":"284865:16:19","nodeType":"YulFunctionCall","src":"284865:16:19"},"nativeSrc":"284865:16:19","nodeType":"YulExpressionStatement","src":"284865:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284901:4:19","nodeType":"YulLiteral","src":"284901:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"284907:2:19","nodeType":"YulIdentifier","src":"284907:2:19"}],"functionName":{"name":"mstore","nativeSrc":"284894:6:19","nodeType":"YulIdentifier","src":"284894:6:19"},"nativeSrc":"284894:16:19","nodeType":"YulFunctionCall","src":"284894:16:19"},"nativeSrc":"284894:16:19","nodeType":"YulExpressionStatement","src":"284894:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284930:4:19","nodeType":"YulLiteral","src":"284930:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"284936:2:19","nodeType":"YulIdentifier","src":"284936:2:19"}],"functionName":{"name":"mstore","nativeSrc":"284923:6:19","nodeType":"YulIdentifier","src":"284923:6:19"},"nativeSrc":"284923:16:19","nodeType":"YulFunctionCall","src":"284923:16:19"},"nativeSrc":"284923:16:19","nodeType":"YulExpressionStatement","src":"284923:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284959:4:19","nodeType":"YulLiteral","src":"284959:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"284965:2:19","nodeType":"YulIdentifier","src":"284965:2:19"}],"functionName":{"name":"mstore","nativeSrc":"284952:6:19","nodeType":"YulIdentifier","src":"284952:6:19"},"nativeSrc":"284952:16:19","nodeType":"YulFunctionCall","src":"284952:16:19"},"nativeSrc":"284952:16:19","nodeType":"YulExpressionStatement","src":"284952:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"284988:4:19","nodeType":"YulLiteral","src":"284988:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"284994:2:19","nodeType":"YulIdentifier","src":"284994:2:19"}],"functionName":{"name":"mstore","nativeSrc":"284981:6:19","nodeType":"YulIdentifier","src":"284981:6:19"},"nativeSrc":"284981:16:19","nodeType":"YulFunctionCall","src":"284981:16:19"},"nativeSrc":"284981:16:19","nodeType":"YulExpressionStatement","src":"284981:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35242,"isOffset":false,"isSlot":false,"src":"284878:2:19","valueSize":1},{"declaration":35245,"isOffset":false,"isSlot":false,"src":"284907:2:19","valueSize":1},{"declaration":35248,"isOffset":false,"isSlot":false,"src":"284936:2:19","valueSize":1},{"declaration":35251,"isOffset":false,"isSlot":false,"src":"284965:2:19","valueSize":1},{"declaration":35254,"isOffset":false,"isSlot":false,"src":"284994:2:19","valueSize":1}],"id":35262,"nodeType":"InlineAssembly","src":"284842:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"284144:3:19","parameters":{"id":35239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35232,"mutability":"mutable","name":"p0","nameLocation":"284156:2:19","nodeType":"VariableDeclaration","scope":35264,"src":"284148:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35231,"name":"uint256","nodeType":"ElementaryTypeName","src":"284148:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35234,"mutability":"mutable","name":"p1","nameLocation":"284168:2:19","nodeType":"VariableDeclaration","scope":35264,"src":"284160:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35233,"name":"uint256","nodeType":"ElementaryTypeName","src":"284160:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35236,"mutability":"mutable","name":"p2","nameLocation":"284180:2:19","nodeType":"VariableDeclaration","scope":35264,"src":"284172:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35235,"name":"address","nodeType":"ElementaryTypeName","src":"284172:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35238,"mutability":"mutable","name":"p3","nameLocation":"284192:2:19","nodeType":"VariableDeclaration","scope":35264,"src":"284184:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35237,"name":"address","nodeType":"ElementaryTypeName","src":"284184:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"284147:48:19"},"returnParameters":{"id":35240,"nodeType":"ParameterList","parameters":[],"src":"284210:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35298,"nodeType":"FunctionDefinition","src":"285019:872:19","nodes":[],"body":{"id":35297,"nodeType":"Block","src":"285091:800:19","nodes":[],"statements":[{"assignments":[35276],"declarations":[{"constant":false,"id":35276,"mutability":"mutable","name":"m0","nameLocation":"285109:2:19","nodeType":"VariableDeclaration","scope":35297,"src":"285101:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35275,"name":"bytes32","nodeType":"ElementaryTypeName","src":"285101:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35277,"nodeType":"VariableDeclarationStatement","src":"285101:10:19"},{"assignments":[35279],"declarations":[{"constant":false,"id":35279,"mutability":"mutable","name":"m1","nameLocation":"285129:2:19","nodeType":"VariableDeclaration","scope":35297,"src":"285121:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35278,"name":"bytes32","nodeType":"ElementaryTypeName","src":"285121:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35280,"nodeType":"VariableDeclarationStatement","src":"285121:10:19"},{"assignments":[35282],"declarations":[{"constant":false,"id":35282,"mutability":"mutable","name":"m2","nameLocation":"285149:2:19","nodeType":"VariableDeclaration","scope":35297,"src":"285141:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35281,"name":"bytes32","nodeType":"ElementaryTypeName","src":"285141:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35283,"nodeType":"VariableDeclarationStatement","src":"285141:10:19"},{"assignments":[35285],"declarations":[{"constant":false,"id":35285,"mutability":"mutable","name":"m3","nameLocation":"285169:2:19","nodeType":"VariableDeclaration","scope":35297,"src":"285161:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35284,"name":"bytes32","nodeType":"ElementaryTypeName","src":"285161:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35286,"nodeType":"VariableDeclarationStatement","src":"285161:10:19"},{"assignments":[35288],"declarations":[{"constant":false,"id":35288,"mutability":"mutable","name":"m4","nameLocation":"285189:2:19","nodeType":"VariableDeclaration","scope":35297,"src":"285181:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35287,"name":"bytes32","nodeType":"ElementaryTypeName","src":"285181:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35289,"nodeType":"VariableDeclarationStatement","src":"285181:10:19"},{"AST":{"nativeSrc":"285253:378:19","nodeType":"YulBlock","src":"285253:378:19","statements":[{"nativeSrc":"285267:17:19","nodeType":"YulAssignment","src":"285267:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"285279:4:19","nodeType":"YulLiteral","src":"285279:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"285273:5:19","nodeType":"YulIdentifier","src":"285273:5:19"},"nativeSrc":"285273:11:19","nodeType":"YulFunctionCall","src":"285273:11:19"},"variableNames":[{"name":"m0","nativeSrc":"285267:2:19","nodeType":"YulIdentifier","src":"285267:2:19"}]},{"nativeSrc":"285297:17:19","nodeType":"YulAssignment","src":"285297:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"285309:4:19","nodeType":"YulLiteral","src":"285309:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"285303:5:19","nodeType":"YulIdentifier","src":"285303:5:19"},"nativeSrc":"285303:11:19","nodeType":"YulFunctionCall","src":"285303:11:19"},"variableNames":[{"name":"m1","nativeSrc":"285297:2:19","nodeType":"YulIdentifier","src":"285297:2:19"}]},{"nativeSrc":"285327:17:19","nodeType":"YulAssignment","src":"285327:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"285339:4:19","nodeType":"YulLiteral","src":"285339:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"285333:5:19","nodeType":"YulIdentifier","src":"285333:5:19"},"nativeSrc":"285333:11:19","nodeType":"YulFunctionCall","src":"285333:11:19"},"variableNames":[{"name":"m2","nativeSrc":"285327:2:19","nodeType":"YulIdentifier","src":"285327:2:19"}]},{"nativeSrc":"285357:17:19","nodeType":"YulAssignment","src":"285357:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"285369:4:19","nodeType":"YulLiteral","src":"285369:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"285363:5:19","nodeType":"YulIdentifier","src":"285363:5:19"},"nativeSrc":"285363:11:19","nodeType":"YulFunctionCall","src":"285363:11:19"},"variableNames":[{"name":"m3","nativeSrc":"285357:2:19","nodeType":"YulIdentifier","src":"285357:2:19"}]},{"nativeSrc":"285387:17:19","nodeType":"YulAssignment","src":"285387:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"285399:4:19","nodeType":"YulLiteral","src":"285399:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"285393:5:19","nodeType":"YulIdentifier","src":"285393:5:19"},"nativeSrc":"285393:11:19","nodeType":"YulFunctionCall","src":"285393:11:19"},"variableNames":[{"name":"m4","nativeSrc":"285387:2:19","nodeType":"YulIdentifier","src":"285387:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285488:4:19","nodeType":"YulLiteral","src":"285488:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"285494:10:19","nodeType":"YulLiteral","src":"285494:10:19","type":"","value":"0x15cac476"}],"functionName":{"name":"mstore","nativeSrc":"285481:6:19","nodeType":"YulIdentifier","src":"285481:6:19"},"nativeSrc":"285481:24:19","nodeType":"YulFunctionCall","src":"285481:24:19"},"nativeSrc":"285481:24:19","nodeType":"YulExpressionStatement","src":"285481:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285525:4:19","nodeType":"YulLiteral","src":"285525:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"285531:2:19","nodeType":"YulIdentifier","src":"285531:2:19"}],"functionName":{"name":"mstore","nativeSrc":"285518:6:19","nodeType":"YulIdentifier","src":"285518:6:19"},"nativeSrc":"285518:16:19","nodeType":"YulFunctionCall","src":"285518:16:19"},"nativeSrc":"285518:16:19","nodeType":"YulExpressionStatement","src":"285518:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285554:4:19","nodeType":"YulLiteral","src":"285554:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"285560:2:19","nodeType":"YulIdentifier","src":"285560:2:19"}],"functionName":{"name":"mstore","nativeSrc":"285547:6:19","nodeType":"YulIdentifier","src":"285547:6:19"},"nativeSrc":"285547:16:19","nodeType":"YulFunctionCall","src":"285547:16:19"},"nativeSrc":"285547:16:19","nodeType":"YulExpressionStatement","src":"285547:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285583:4:19","nodeType":"YulLiteral","src":"285583:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"285589:2:19","nodeType":"YulIdentifier","src":"285589:2:19"}],"functionName":{"name":"mstore","nativeSrc":"285576:6:19","nodeType":"YulIdentifier","src":"285576:6:19"},"nativeSrc":"285576:16:19","nodeType":"YulFunctionCall","src":"285576:16:19"},"nativeSrc":"285576:16:19","nodeType":"YulExpressionStatement","src":"285576:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285612:4:19","nodeType":"YulLiteral","src":"285612:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"285618:2:19","nodeType":"YulIdentifier","src":"285618:2:19"}],"functionName":{"name":"mstore","nativeSrc":"285605:6:19","nodeType":"YulIdentifier","src":"285605:6:19"},"nativeSrc":"285605:16:19","nodeType":"YulFunctionCall","src":"285605:16:19"},"nativeSrc":"285605:16:19","nodeType":"YulExpressionStatement","src":"285605:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35276,"isOffset":false,"isSlot":false,"src":"285267:2:19","valueSize":1},{"declaration":35279,"isOffset":false,"isSlot":false,"src":"285297:2:19","valueSize":1},{"declaration":35282,"isOffset":false,"isSlot":false,"src":"285327:2:19","valueSize":1},{"declaration":35285,"isOffset":false,"isSlot":false,"src":"285357:2:19","valueSize":1},{"declaration":35288,"isOffset":false,"isSlot":false,"src":"285387:2:19","valueSize":1},{"declaration":35266,"isOffset":false,"isSlot":false,"src":"285531:2:19","valueSize":1},{"declaration":35268,"isOffset":false,"isSlot":false,"src":"285560:2:19","valueSize":1},{"declaration":35270,"isOffset":false,"isSlot":false,"src":"285589:2:19","valueSize":1},{"declaration":35272,"isOffset":false,"isSlot":false,"src":"285618:2:19","valueSize":1}],"id":35290,"nodeType":"InlineAssembly","src":"285244:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"285656:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"285662:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":35291,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"285640:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"285640:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35295,"nodeType":"ExpressionStatement","src":"285640:27:19"},{"AST":{"nativeSrc":"285729:156:19","nodeType":"YulBlock","src":"285729:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"285750:4:19","nodeType":"YulLiteral","src":"285750:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"285756:2:19","nodeType":"YulIdentifier","src":"285756:2:19"}],"functionName":{"name":"mstore","nativeSrc":"285743:6:19","nodeType":"YulIdentifier","src":"285743:6:19"},"nativeSrc":"285743:16:19","nodeType":"YulFunctionCall","src":"285743:16:19"},"nativeSrc":"285743:16:19","nodeType":"YulExpressionStatement","src":"285743:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285779:4:19","nodeType":"YulLiteral","src":"285779:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"285785:2:19","nodeType":"YulIdentifier","src":"285785:2:19"}],"functionName":{"name":"mstore","nativeSrc":"285772:6:19","nodeType":"YulIdentifier","src":"285772:6:19"},"nativeSrc":"285772:16:19","nodeType":"YulFunctionCall","src":"285772:16:19"},"nativeSrc":"285772:16:19","nodeType":"YulExpressionStatement","src":"285772:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285808:4:19","nodeType":"YulLiteral","src":"285808:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"285814:2:19","nodeType":"YulIdentifier","src":"285814:2:19"}],"functionName":{"name":"mstore","nativeSrc":"285801:6:19","nodeType":"YulIdentifier","src":"285801:6:19"},"nativeSrc":"285801:16:19","nodeType":"YulFunctionCall","src":"285801:16:19"},"nativeSrc":"285801:16:19","nodeType":"YulExpressionStatement","src":"285801:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285837:4:19","nodeType":"YulLiteral","src":"285837:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"285843:2:19","nodeType":"YulIdentifier","src":"285843:2:19"}],"functionName":{"name":"mstore","nativeSrc":"285830:6:19","nodeType":"YulIdentifier","src":"285830:6:19"},"nativeSrc":"285830:16:19","nodeType":"YulFunctionCall","src":"285830:16:19"},"nativeSrc":"285830:16:19","nodeType":"YulExpressionStatement","src":"285830:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"285866:4:19","nodeType":"YulLiteral","src":"285866:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"285872:2:19","nodeType":"YulIdentifier","src":"285872:2:19"}],"functionName":{"name":"mstore","nativeSrc":"285859:6:19","nodeType":"YulIdentifier","src":"285859:6:19"},"nativeSrc":"285859:16:19","nodeType":"YulFunctionCall","src":"285859:16:19"},"nativeSrc":"285859:16:19","nodeType":"YulExpressionStatement","src":"285859:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35276,"isOffset":false,"isSlot":false,"src":"285756:2:19","valueSize":1},{"declaration":35279,"isOffset":false,"isSlot":false,"src":"285785:2:19","valueSize":1},{"declaration":35282,"isOffset":false,"isSlot":false,"src":"285814:2:19","valueSize":1},{"declaration":35285,"isOffset":false,"isSlot":false,"src":"285843:2:19","valueSize":1},{"declaration":35288,"isOffset":false,"isSlot":false,"src":"285872:2:19","valueSize":1}],"id":35296,"nodeType":"InlineAssembly","src":"285720:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"285028:3:19","parameters":{"id":35273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35266,"mutability":"mutable","name":"p0","nameLocation":"285040:2:19","nodeType":"VariableDeclaration","scope":35298,"src":"285032:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35265,"name":"uint256","nodeType":"ElementaryTypeName","src":"285032:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35268,"mutability":"mutable","name":"p1","nameLocation":"285052:2:19","nodeType":"VariableDeclaration","scope":35298,"src":"285044:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35267,"name":"uint256","nodeType":"ElementaryTypeName","src":"285044:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35270,"mutability":"mutable","name":"p2","nameLocation":"285064:2:19","nodeType":"VariableDeclaration","scope":35298,"src":"285056:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35269,"name":"address","nodeType":"ElementaryTypeName","src":"285056:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35272,"mutability":"mutable","name":"p3","nameLocation":"285073:2:19","nodeType":"VariableDeclaration","scope":35298,"src":"285068:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35271,"name":"bool","nodeType":"ElementaryTypeName","src":"285068:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"285031:45:19"},"returnParameters":{"id":35274,"nodeType":"ParameterList","parameters":[],"src":"285091:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35332,"nodeType":"FunctionDefinition","src":"285897:878:19","nodes":[],"body":{"id":35331,"nodeType":"Block","src":"285972:803:19","nodes":[],"statements":[{"assignments":[35310],"declarations":[{"constant":false,"id":35310,"mutability":"mutable","name":"m0","nameLocation":"285990:2:19","nodeType":"VariableDeclaration","scope":35331,"src":"285982:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35309,"name":"bytes32","nodeType":"ElementaryTypeName","src":"285982:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35311,"nodeType":"VariableDeclarationStatement","src":"285982:10:19"},{"assignments":[35313],"declarations":[{"constant":false,"id":35313,"mutability":"mutable","name":"m1","nameLocation":"286010:2:19","nodeType":"VariableDeclaration","scope":35331,"src":"286002:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35312,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286002:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35314,"nodeType":"VariableDeclarationStatement","src":"286002:10:19"},{"assignments":[35316],"declarations":[{"constant":false,"id":35316,"mutability":"mutable","name":"m2","nameLocation":"286030:2:19","nodeType":"VariableDeclaration","scope":35331,"src":"286022:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35315,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286022:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35317,"nodeType":"VariableDeclarationStatement","src":"286022:10:19"},{"assignments":[35319],"declarations":[{"constant":false,"id":35319,"mutability":"mutable","name":"m3","nameLocation":"286050:2:19","nodeType":"VariableDeclaration","scope":35331,"src":"286042:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35318,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286042:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35320,"nodeType":"VariableDeclarationStatement","src":"286042:10:19"},{"assignments":[35322],"declarations":[{"constant":false,"id":35322,"mutability":"mutable","name":"m4","nameLocation":"286070:2:19","nodeType":"VariableDeclaration","scope":35331,"src":"286062:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35321,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286062:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35323,"nodeType":"VariableDeclarationStatement","src":"286062:10:19"},{"AST":{"nativeSrc":"286134:381:19","nodeType":"YulBlock","src":"286134:381:19","statements":[{"nativeSrc":"286148:17:19","nodeType":"YulAssignment","src":"286148:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"286160:4:19","nodeType":"YulLiteral","src":"286160:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"286154:5:19","nodeType":"YulIdentifier","src":"286154:5:19"},"nativeSrc":"286154:11:19","nodeType":"YulFunctionCall","src":"286154:11:19"},"variableNames":[{"name":"m0","nativeSrc":"286148:2:19","nodeType":"YulIdentifier","src":"286148:2:19"}]},{"nativeSrc":"286178:17:19","nodeType":"YulAssignment","src":"286178:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"286190:4:19","nodeType":"YulLiteral","src":"286190:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"286184:5:19","nodeType":"YulIdentifier","src":"286184:5:19"},"nativeSrc":"286184:11:19","nodeType":"YulFunctionCall","src":"286184:11:19"},"variableNames":[{"name":"m1","nativeSrc":"286178:2:19","nodeType":"YulIdentifier","src":"286178:2:19"}]},{"nativeSrc":"286208:17:19","nodeType":"YulAssignment","src":"286208:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"286220:4:19","nodeType":"YulLiteral","src":"286220:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"286214:5:19","nodeType":"YulIdentifier","src":"286214:5:19"},"nativeSrc":"286214:11:19","nodeType":"YulFunctionCall","src":"286214:11:19"},"variableNames":[{"name":"m2","nativeSrc":"286208:2:19","nodeType":"YulIdentifier","src":"286208:2:19"}]},{"nativeSrc":"286238:17:19","nodeType":"YulAssignment","src":"286238:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"286250:4:19","nodeType":"YulLiteral","src":"286250:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"286244:5:19","nodeType":"YulIdentifier","src":"286244:5:19"},"nativeSrc":"286244:11:19","nodeType":"YulFunctionCall","src":"286244:11:19"},"variableNames":[{"name":"m3","nativeSrc":"286238:2:19","nodeType":"YulIdentifier","src":"286238:2:19"}]},{"nativeSrc":"286268:17:19","nodeType":"YulAssignment","src":"286268:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"286280:4:19","nodeType":"YulLiteral","src":"286280:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"286274:5:19","nodeType":"YulIdentifier","src":"286274:5:19"},"nativeSrc":"286274:11:19","nodeType":"YulFunctionCall","src":"286274:11:19"},"variableNames":[{"name":"m4","nativeSrc":"286268:2:19","nodeType":"YulIdentifier","src":"286268:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286372:4:19","nodeType":"YulLiteral","src":"286372:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"286378:10:19","nodeType":"YulLiteral","src":"286378:10:19","type":"","value":"0x88f6e4b2"}],"functionName":{"name":"mstore","nativeSrc":"286365:6:19","nodeType":"YulIdentifier","src":"286365:6:19"},"nativeSrc":"286365:24:19","nodeType":"YulFunctionCall","src":"286365:24:19"},"nativeSrc":"286365:24:19","nodeType":"YulExpressionStatement","src":"286365:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286409:4:19","nodeType":"YulLiteral","src":"286409:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"286415:2:19","nodeType":"YulIdentifier","src":"286415:2:19"}],"functionName":{"name":"mstore","nativeSrc":"286402:6:19","nodeType":"YulIdentifier","src":"286402:6:19"},"nativeSrc":"286402:16:19","nodeType":"YulFunctionCall","src":"286402:16:19"},"nativeSrc":"286402:16:19","nodeType":"YulExpressionStatement","src":"286402:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286438:4:19","nodeType":"YulLiteral","src":"286438:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"286444:2:19","nodeType":"YulIdentifier","src":"286444:2:19"}],"functionName":{"name":"mstore","nativeSrc":"286431:6:19","nodeType":"YulIdentifier","src":"286431:6:19"},"nativeSrc":"286431:16:19","nodeType":"YulFunctionCall","src":"286431:16:19"},"nativeSrc":"286431:16:19","nodeType":"YulExpressionStatement","src":"286431:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286467:4:19","nodeType":"YulLiteral","src":"286467:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"286473:2:19","nodeType":"YulIdentifier","src":"286473:2:19"}],"functionName":{"name":"mstore","nativeSrc":"286460:6:19","nodeType":"YulIdentifier","src":"286460:6:19"},"nativeSrc":"286460:16:19","nodeType":"YulFunctionCall","src":"286460:16:19"},"nativeSrc":"286460:16:19","nodeType":"YulExpressionStatement","src":"286460:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286496:4:19","nodeType":"YulLiteral","src":"286496:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"286502:2:19","nodeType":"YulIdentifier","src":"286502:2:19"}],"functionName":{"name":"mstore","nativeSrc":"286489:6:19","nodeType":"YulIdentifier","src":"286489:6:19"},"nativeSrc":"286489:16:19","nodeType":"YulFunctionCall","src":"286489:16:19"},"nativeSrc":"286489:16:19","nodeType":"YulExpressionStatement","src":"286489:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35310,"isOffset":false,"isSlot":false,"src":"286148:2:19","valueSize":1},{"declaration":35313,"isOffset":false,"isSlot":false,"src":"286178:2:19","valueSize":1},{"declaration":35316,"isOffset":false,"isSlot":false,"src":"286208:2:19","valueSize":1},{"declaration":35319,"isOffset":false,"isSlot":false,"src":"286238:2:19","valueSize":1},{"declaration":35322,"isOffset":false,"isSlot":false,"src":"286268:2:19","valueSize":1},{"declaration":35300,"isOffset":false,"isSlot":false,"src":"286415:2:19","valueSize":1},{"declaration":35302,"isOffset":false,"isSlot":false,"src":"286444:2:19","valueSize":1},{"declaration":35304,"isOffset":false,"isSlot":false,"src":"286473:2:19","valueSize":1},{"declaration":35306,"isOffset":false,"isSlot":false,"src":"286502:2:19","valueSize":1}],"id":35324,"nodeType":"InlineAssembly","src":"286125:390:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"286540:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"286546:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":35325,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"286524:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"286524:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35329,"nodeType":"ExpressionStatement","src":"286524:27:19"},{"AST":{"nativeSrc":"286613:156:19","nodeType":"YulBlock","src":"286613:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"286634:4:19","nodeType":"YulLiteral","src":"286634:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"286640:2:19","nodeType":"YulIdentifier","src":"286640:2:19"}],"functionName":{"name":"mstore","nativeSrc":"286627:6:19","nodeType":"YulIdentifier","src":"286627:6:19"},"nativeSrc":"286627:16:19","nodeType":"YulFunctionCall","src":"286627:16:19"},"nativeSrc":"286627:16:19","nodeType":"YulExpressionStatement","src":"286627:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286663:4:19","nodeType":"YulLiteral","src":"286663:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"286669:2:19","nodeType":"YulIdentifier","src":"286669:2:19"}],"functionName":{"name":"mstore","nativeSrc":"286656:6:19","nodeType":"YulIdentifier","src":"286656:6:19"},"nativeSrc":"286656:16:19","nodeType":"YulFunctionCall","src":"286656:16:19"},"nativeSrc":"286656:16:19","nodeType":"YulExpressionStatement","src":"286656:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286692:4:19","nodeType":"YulLiteral","src":"286692:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"286698:2:19","nodeType":"YulIdentifier","src":"286698:2:19"}],"functionName":{"name":"mstore","nativeSrc":"286685:6:19","nodeType":"YulIdentifier","src":"286685:6:19"},"nativeSrc":"286685:16:19","nodeType":"YulFunctionCall","src":"286685:16:19"},"nativeSrc":"286685:16:19","nodeType":"YulExpressionStatement","src":"286685:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286721:4:19","nodeType":"YulLiteral","src":"286721:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"286727:2:19","nodeType":"YulIdentifier","src":"286727:2:19"}],"functionName":{"name":"mstore","nativeSrc":"286714:6:19","nodeType":"YulIdentifier","src":"286714:6:19"},"nativeSrc":"286714:16:19","nodeType":"YulFunctionCall","src":"286714:16:19"},"nativeSrc":"286714:16:19","nodeType":"YulExpressionStatement","src":"286714:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"286750:4:19","nodeType":"YulLiteral","src":"286750:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"286756:2:19","nodeType":"YulIdentifier","src":"286756:2:19"}],"functionName":{"name":"mstore","nativeSrc":"286743:6:19","nodeType":"YulIdentifier","src":"286743:6:19"},"nativeSrc":"286743:16:19","nodeType":"YulFunctionCall","src":"286743:16:19"},"nativeSrc":"286743:16:19","nodeType":"YulExpressionStatement","src":"286743:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35310,"isOffset":false,"isSlot":false,"src":"286640:2:19","valueSize":1},{"declaration":35313,"isOffset":false,"isSlot":false,"src":"286669:2:19","valueSize":1},{"declaration":35316,"isOffset":false,"isSlot":false,"src":"286698:2:19","valueSize":1},{"declaration":35319,"isOffset":false,"isSlot":false,"src":"286727:2:19","valueSize":1},{"declaration":35322,"isOffset":false,"isSlot":false,"src":"286756:2:19","valueSize":1}],"id":35330,"nodeType":"InlineAssembly","src":"286604:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"285906:3:19","parameters":{"id":35307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35300,"mutability":"mutable","name":"p0","nameLocation":"285918:2:19","nodeType":"VariableDeclaration","scope":35332,"src":"285910:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35299,"name":"uint256","nodeType":"ElementaryTypeName","src":"285910:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35302,"mutability":"mutable","name":"p1","nameLocation":"285930:2:19","nodeType":"VariableDeclaration","scope":35332,"src":"285922:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35301,"name":"uint256","nodeType":"ElementaryTypeName","src":"285922:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35304,"mutability":"mutable","name":"p2","nameLocation":"285942:2:19","nodeType":"VariableDeclaration","scope":35332,"src":"285934:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35303,"name":"address","nodeType":"ElementaryTypeName","src":"285934:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35306,"mutability":"mutable","name":"p3","nameLocation":"285954:2:19","nodeType":"VariableDeclaration","scope":35332,"src":"285946:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35305,"name":"uint256","nodeType":"ElementaryTypeName","src":"285946:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"285909:48:19"},"returnParameters":{"id":35308,"nodeType":"ParameterList","parameters":[],"src":"285972:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35372,"nodeType":"FunctionDefinition","src":"286781:1426:19","nodes":[],"body":{"id":35371,"nodeType":"Block","src":"286856:1351:19","nodes":[],"statements":[{"assignments":[35344],"declarations":[{"constant":false,"id":35344,"mutability":"mutable","name":"m0","nameLocation":"286874:2:19","nodeType":"VariableDeclaration","scope":35371,"src":"286866:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35343,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286866:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35345,"nodeType":"VariableDeclarationStatement","src":"286866:10:19"},{"assignments":[35347],"declarations":[{"constant":false,"id":35347,"mutability":"mutable","name":"m1","nameLocation":"286894:2:19","nodeType":"VariableDeclaration","scope":35371,"src":"286886:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35346,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286886:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35348,"nodeType":"VariableDeclarationStatement","src":"286886:10:19"},{"assignments":[35350],"declarations":[{"constant":false,"id":35350,"mutability":"mutable","name":"m2","nameLocation":"286914:2:19","nodeType":"VariableDeclaration","scope":35371,"src":"286906:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35349,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286906:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35351,"nodeType":"VariableDeclarationStatement","src":"286906:10:19"},{"assignments":[35353],"declarations":[{"constant":false,"id":35353,"mutability":"mutable","name":"m3","nameLocation":"286934:2:19","nodeType":"VariableDeclaration","scope":35371,"src":"286926:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35352,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286926:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35354,"nodeType":"VariableDeclarationStatement","src":"286926:10:19"},{"assignments":[35356],"declarations":[{"constant":false,"id":35356,"mutability":"mutable","name":"m4","nameLocation":"286954:2:19","nodeType":"VariableDeclaration","scope":35371,"src":"286946:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35355,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286946:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35357,"nodeType":"VariableDeclarationStatement","src":"286946:10:19"},{"assignments":[35359],"declarations":[{"constant":false,"id":35359,"mutability":"mutable","name":"m5","nameLocation":"286974:2:19","nodeType":"VariableDeclaration","scope":35371,"src":"286966:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35358,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286966:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35360,"nodeType":"VariableDeclarationStatement","src":"286966:10:19"},{"assignments":[35362],"declarations":[{"constant":false,"id":35362,"mutability":"mutable","name":"m6","nameLocation":"286994:2:19","nodeType":"VariableDeclaration","scope":35371,"src":"286986:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35361,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286986:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35363,"nodeType":"VariableDeclarationStatement","src":"286986:10:19"},{"AST":{"nativeSrc":"287058:831:19","nodeType":"YulBlock","src":"287058:831:19","statements":[{"body":{"nativeSrc":"287101:313:19","nodeType":"YulBlock","src":"287101:313:19","statements":[{"nativeSrc":"287119:15:19","nodeType":"YulVariableDeclaration","src":"287119:15:19","value":{"kind":"number","nativeSrc":"287133:1:19","nodeType":"YulLiteral","src":"287133:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"287123:6:19","nodeType":"YulTypedName","src":"287123:6:19","type":""}]},{"body":{"nativeSrc":"287204:40:19","nodeType":"YulBlock","src":"287204:40:19","statements":[{"body":{"nativeSrc":"287233:9:19","nodeType":"YulBlock","src":"287233:9:19","statements":[{"nativeSrc":"287235:5:19","nodeType":"YulBreak","src":"287235:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"287221:6:19","nodeType":"YulIdentifier","src":"287221:6:19"},{"name":"w","nativeSrc":"287229:1:19","nodeType":"YulIdentifier","src":"287229:1:19"}],"functionName":{"name":"byte","nativeSrc":"287216:4:19","nodeType":"YulIdentifier","src":"287216:4:19"},"nativeSrc":"287216:15:19","nodeType":"YulFunctionCall","src":"287216:15:19"}],"functionName":{"name":"iszero","nativeSrc":"287209:6:19","nodeType":"YulIdentifier","src":"287209:6:19"},"nativeSrc":"287209:23:19","nodeType":"YulFunctionCall","src":"287209:23:19"},"nativeSrc":"287206:36:19","nodeType":"YulIf","src":"287206:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"287161:6:19","nodeType":"YulIdentifier","src":"287161:6:19"},{"kind":"number","nativeSrc":"287169:4:19","nodeType":"YulLiteral","src":"287169:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"287158:2:19","nodeType":"YulIdentifier","src":"287158:2:19"},"nativeSrc":"287158:16:19","nodeType":"YulFunctionCall","src":"287158:16:19"},"nativeSrc":"287151:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"287175:28:19","nodeType":"YulBlock","src":"287175:28:19","statements":[{"nativeSrc":"287177:24:19","nodeType":"YulAssignment","src":"287177:24:19","value":{"arguments":[{"name":"length","nativeSrc":"287191:6:19","nodeType":"YulIdentifier","src":"287191:6:19"},{"kind":"number","nativeSrc":"287199:1:19","nodeType":"YulLiteral","src":"287199:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"287187:3:19","nodeType":"YulIdentifier","src":"287187:3:19"},"nativeSrc":"287187:14:19","nodeType":"YulFunctionCall","src":"287187:14:19"},"variableNames":[{"name":"length","nativeSrc":"287177:6:19","nodeType":"YulIdentifier","src":"287177:6:19"}]}]},"pre":{"nativeSrc":"287155:2:19","nodeType":"YulBlock","src":"287155:2:19","statements":[]},"src":"287151:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"287268:3:19","nodeType":"YulIdentifier","src":"287268:3:19"},{"name":"length","nativeSrc":"287273:6:19","nodeType":"YulIdentifier","src":"287273:6:19"}],"functionName":{"name":"mstore","nativeSrc":"287261:6:19","nodeType":"YulIdentifier","src":"287261:6:19"},"nativeSrc":"287261:19:19","nodeType":"YulFunctionCall","src":"287261:19:19"},"nativeSrc":"287261:19:19","nodeType":"YulExpressionStatement","src":"287261:19:19"},{"nativeSrc":"287297:37:19","nodeType":"YulVariableDeclaration","src":"287297:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"287314:3:19","nodeType":"YulLiteral","src":"287314:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"287323:1:19","nodeType":"YulLiteral","src":"287323:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"287326:6:19","nodeType":"YulIdentifier","src":"287326:6:19"}],"functionName":{"name":"shl","nativeSrc":"287319:3:19","nodeType":"YulIdentifier","src":"287319:3:19"},"nativeSrc":"287319:14:19","nodeType":"YulFunctionCall","src":"287319:14:19"}],"functionName":{"name":"sub","nativeSrc":"287310:3:19","nodeType":"YulIdentifier","src":"287310:3:19"},"nativeSrc":"287310:24:19","nodeType":"YulFunctionCall","src":"287310:24:19"},"variables":[{"name":"shift","nativeSrc":"287301:5:19","nodeType":"YulTypedName","src":"287301:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"287362:3:19","nodeType":"YulIdentifier","src":"287362:3:19"},{"kind":"number","nativeSrc":"287367:4:19","nodeType":"YulLiteral","src":"287367:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"287358:3:19","nodeType":"YulIdentifier","src":"287358:3:19"},"nativeSrc":"287358:14:19","nodeType":"YulFunctionCall","src":"287358:14:19"},{"arguments":[{"name":"shift","nativeSrc":"287378:5:19","nodeType":"YulIdentifier","src":"287378:5:19"},{"arguments":[{"name":"shift","nativeSrc":"287389:5:19","nodeType":"YulIdentifier","src":"287389:5:19"},{"name":"w","nativeSrc":"287396:1:19","nodeType":"YulIdentifier","src":"287396:1:19"}],"functionName":{"name":"shr","nativeSrc":"287385:3:19","nodeType":"YulIdentifier","src":"287385:3:19"},"nativeSrc":"287385:13:19","nodeType":"YulFunctionCall","src":"287385:13:19"}],"functionName":{"name":"shl","nativeSrc":"287374:3:19","nodeType":"YulIdentifier","src":"287374:3:19"},"nativeSrc":"287374:25:19","nodeType":"YulFunctionCall","src":"287374:25:19"}],"functionName":{"name":"mstore","nativeSrc":"287351:6:19","nodeType":"YulIdentifier","src":"287351:6:19"},"nativeSrc":"287351:49:19","nodeType":"YulFunctionCall","src":"287351:49:19"},"nativeSrc":"287351:49:19","nodeType":"YulExpressionStatement","src":"287351:49:19"}]},"name":"writeString","nativeSrc":"287072:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"287093:3:19","nodeType":"YulTypedName","src":"287093:3:19","type":""},{"name":"w","nativeSrc":"287098:1:19","nodeType":"YulTypedName","src":"287098:1:19","type":""}],"src":"287072:342:19"},{"nativeSrc":"287427:17:19","nodeType":"YulAssignment","src":"287427:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"287439:4:19","nodeType":"YulLiteral","src":"287439:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"287433:5:19","nodeType":"YulIdentifier","src":"287433:5:19"},"nativeSrc":"287433:11:19","nodeType":"YulFunctionCall","src":"287433:11:19"},"variableNames":[{"name":"m0","nativeSrc":"287427:2:19","nodeType":"YulIdentifier","src":"287427:2:19"}]},{"nativeSrc":"287457:17:19","nodeType":"YulAssignment","src":"287457:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"287469:4:19","nodeType":"YulLiteral","src":"287469:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"287463:5:19","nodeType":"YulIdentifier","src":"287463:5:19"},"nativeSrc":"287463:11:19","nodeType":"YulFunctionCall","src":"287463:11:19"},"variableNames":[{"name":"m1","nativeSrc":"287457:2:19","nodeType":"YulIdentifier","src":"287457:2:19"}]},{"nativeSrc":"287487:17:19","nodeType":"YulAssignment","src":"287487:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"287499:4:19","nodeType":"YulLiteral","src":"287499:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"287493:5:19","nodeType":"YulIdentifier","src":"287493:5:19"},"nativeSrc":"287493:11:19","nodeType":"YulFunctionCall","src":"287493:11:19"},"variableNames":[{"name":"m2","nativeSrc":"287487:2:19","nodeType":"YulIdentifier","src":"287487:2:19"}]},{"nativeSrc":"287517:17:19","nodeType":"YulAssignment","src":"287517:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"287529:4:19","nodeType":"YulLiteral","src":"287529:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"287523:5:19","nodeType":"YulIdentifier","src":"287523:5:19"},"nativeSrc":"287523:11:19","nodeType":"YulFunctionCall","src":"287523:11:19"},"variableNames":[{"name":"m3","nativeSrc":"287517:2:19","nodeType":"YulIdentifier","src":"287517:2:19"}]},{"nativeSrc":"287547:17:19","nodeType":"YulAssignment","src":"287547:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"287559:4:19","nodeType":"YulLiteral","src":"287559:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"287553:5:19","nodeType":"YulIdentifier","src":"287553:5:19"},"nativeSrc":"287553:11:19","nodeType":"YulFunctionCall","src":"287553:11:19"},"variableNames":[{"name":"m4","nativeSrc":"287547:2:19","nodeType":"YulIdentifier","src":"287547:2:19"}]},{"nativeSrc":"287577:17:19","nodeType":"YulAssignment","src":"287577:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"287589:4:19","nodeType":"YulLiteral","src":"287589:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"287583:5:19","nodeType":"YulIdentifier","src":"287583:5:19"},"nativeSrc":"287583:11:19","nodeType":"YulFunctionCall","src":"287583:11:19"},"variableNames":[{"name":"m5","nativeSrc":"287577:2:19","nodeType":"YulIdentifier","src":"287577:2:19"}]},{"nativeSrc":"287607:17:19","nodeType":"YulAssignment","src":"287607:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"287619:4:19","nodeType":"YulLiteral","src":"287619:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"287613:5:19","nodeType":"YulIdentifier","src":"287613:5:19"},"nativeSrc":"287613:11:19","nodeType":"YulFunctionCall","src":"287613:11:19"},"variableNames":[{"name":"m6","nativeSrc":"287607:2:19","nodeType":"YulIdentifier","src":"287607:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"287710:4:19","nodeType":"YulLiteral","src":"287710:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"287716:10:19","nodeType":"YulLiteral","src":"287716:10:19","type":"","value":"0x6cde40b8"}],"functionName":{"name":"mstore","nativeSrc":"287703:6:19","nodeType":"YulIdentifier","src":"287703:6:19"},"nativeSrc":"287703:24:19","nodeType":"YulFunctionCall","src":"287703:24:19"},"nativeSrc":"287703:24:19","nodeType":"YulExpressionStatement","src":"287703:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"287747:4:19","nodeType":"YulLiteral","src":"287747:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"287753:2:19","nodeType":"YulIdentifier","src":"287753:2:19"}],"functionName":{"name":"mstore","nativeSrc":"287740:6:19","nodeType":"YulIdentifier","src":"287740:6:19"},"nativeSrc":"287740:16:19","nodeType":"YulFunctionCall","src":"287740:16:19"},"nativeSrc":"287740:16:19","nodeType":"YulExpressionStatement","src":"287740:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"287776:4:19","nodeType":"YulLiteral","src":"287776:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"287782:2:19","nodeType":"YulIdentifier","src":"287782:2:19"}],"functionName":{"name":"mstore","nativeSrc":"287769:6:19","nodeType":"YulIdentifier","src":"287769:6:19"},"nativeSrc":"287769:16:19","nodeType":"YulFunctionCall","src":"287769:16:19"},"nativeSrc":"287769:16:19","nodeType":"YulExpressionStatement","src":"287769:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"287805:4:19","nodeType":"YulLiteral","src":"287805:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"287811:2:19","nodeType":"YulIdentifier","src":"287811:2:19"}],"functionName":{"name":"mstore","nativeSrc":"287798:6:19","nodeType":"YulIdentifier","src":"287798:6:19"},"nativeSrc":"287798:16:19","nodeType":"YulFunctionCall","src":"287798:16:19"},"nativeSrc":"287798:16:19","nodeType":"YulExpressionStatement","src":"287798:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"287834:4:19","nodeType":"YulLiteral","src":"287834:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"287840:4:19","nodeType":"YulLiteral","src":"287840:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"287827:6:19","nodeType":"YulIdentifier","src":"287827:6:19"},"nativeSrc":"287827:18:19","nodeType":"YulFunctionCall","src":"287827:18:19"},"nativeSrc":"287827:18:19","nodeType":"YulExpressionStatement","src":"287827:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"287870:4:19","nodeType":"YulLiteral","src":"287870:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"287876:2:19","nodeType":"YulIdentifier","src":"287876:2:19"}],"functionName":{"name":"writeString","nativeSrc":"287858:11:19","nodeType":"YulIdentifier","src":"287858:11:19"},"nativeSrc":"287858:21:19","nodeType":"YulFunctionCall","src":"287858:21:19"},"nativeSrc":"287858:21:19","nodeType":"YulExpressionStatement","src":"287858:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35344,"isOffset":false,"isSlot":false,"src":"287427:2:19","valueSize":1},{"declaration":35347,"isOffset":false,"isSlot":false,"src":"287457:2:19","valueSize":1},{"declaration":35350,"isOffset":false,"isSlot":false,"src":"287487:2:19","valueSize":1},{"declaration":35353,"isOffset":false,"isSlot":false,"src":"287517:2:19","valueSize":1},{"declaration":35356,"isOffset":false,"isSlot":false,"src":"287547:2:19","valueSize":1},{"declaration":35359,"isOffset":false,"isSlot":false,"src":"287577:2:19","valueSize":1},{"declaration":35362,"isOffset":false,"isSlot":false,"src":"287607:2:19","valueSize":1},{"declaration":35334,"isOffset":false,"isSlot":false,"src":"287753:2:19","valueSize":1},{"declaration":35336,"isOffset":false,"isSlot":false,"src":"287782:2:19","valueSize":1},{"declaration":35338,"isOffset":false,"isSlot":false,"src":"287811:2:19","valueSize":1},{"declaration":35340,"isOffset":false,"isSlot":false,"src":"287876:2:19","valueSize":1}],"id":35364,"nodeType":"InlineAssembly","src":"287049:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"287914:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"287920:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":35365,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"287898:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"287898:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35369,"nodeType":"ExpressionStatement","src":"287898:27:19"},{"AST":{"nativeSrc":"287987:214:19","nodeType":"YulBlock","src":"287987:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"288008:4:19","nodeType":"YulLiteral","src":"288008:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"288014:2:19","nodeType":"YulIdentifier","src":"288014:2:19"}],"functionName":{"name":"mstore","nativeSrc":"288001:6:19","nodeType":"YulIdentifier","src":"288001:6:19"},"nativeSrc":"288001:16:19","nodeType":"YulFunctionCall","src":"288001:16:19"},"nativeSrc":"288001:16:19","nodeType":"YulExpressionStatement","src":"288001:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288037:4:19","nodeType":"YulLiteral","src":"288037:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"288043:2:19","nodeType":"YulIdentifier","src":"288043:2:19"}],"functionName":{"name":"mstore","nativeSrc":"288030:6:19","nodeType":"YulIdentifier","src":"288030:6:19"},"nativeSrc":"288030:16:19","nodeType":"YulFunctionCall","src":"288030:16:19"},"nativeSrc":"288030:16:19","nodeType":"YulExpressionStatement","src":"288030:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288066:4:19","nodeType":"YulLiteral","src":"288066:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"288072:2:19","nodeType":"YulIdentifier","src":"288072:2:19"}],"functionName":{"name":"mstore","nativeSrc":"288059:6:19","nodeType":"YulIdentifier","src":"288059:6:19"},"nativeSrc":"288059:16:19","nodeType":"YulFunctionCall","src":"288059:16:19"},"nativeSrc":"288059:16:19","nodeType":"YulExpressionStatement","src":"288059:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288095:4:19","nodeType":"YulLiteral","src":"288095:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"288101:2:19","nodeType":"YulIdentifier","src":"288101:2:19"}],"functionName":{"name":"mstore","nativeSrc":"288088:6:19","nodeType":"YulIdentifier","src":"288088:6:19"},"nativeSrc":"288088:16:19","nodeType":"YulFunctionCall","src":"288088:16:19"},"nativeSrc":"288088:16:19","nodeType":"YulExpressionStatement","src":"288088:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288124:4:19","nodeType":"YulLiteral","src":"288124:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"288130:2:19","nodeType":"YulIdentifier","src":"288130:2:19"}],"functionName":{"name":"mstore","nativeSrc":"288117:6:19","nodeType":"YulIdentifier","src":"288117:6:19"},"nativeSrc":"288117:16:19","nodeType":"YulFunctionCall","src":"288117:16:19"},"nativeSrc":"288117:16:19","nodeType":"YulExpressionStatement","src":"288117:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288153:4:19","nodeType":"YulLiteral","src":"288153:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"288159:2:19","nodeType":"YulIdentifier","src":"288159:2:19"}],"functionName":{"name":"mstore","nativeSrc":"288146:6:19","nodeType":"YulIdentifier","src":"288146:6:19"},"nativeSrc":"288146:16:19","nodeType":"YulFunctionCall","src":"288146:16:19"},"nativeSrc":"288146:16:19","nodeType":"YulExpressionStatement","src":"288146:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288182:4:19","nodeType":"YulLiteral","src":"288182:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"288188:2:19","nodeType":"YulIdentifier","src":"288188:2:19"}],"functionName":{"name":"mstore","nativeSrc":"288175:6:19","nodeType":"YulIdentifier","src":"288175:6:19"},"nativeSrc":"288175:16:19","nodeType":"YulFunctionCall","src":"288175:16:19"},"nativeSrc":"288175:16:19","nodeType":"YulExpressionStatement","src":"288175:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35344,"isOffset":false,"isSlot":false,"src":"288014:2:19","valueSize":1},{"declaration":35347,"isOffset":false,"isSlot":false,"src":"288043:2:19","valueSize":1},{"declaration":35350,"isOffset":false,"isSlot":false,"src":"288072:2:19","valueSize":1},{"declaration":35353,"isOffset":false,"isSlot":false,"src":"288101:2:19","valueSize":1},{"declaration":35356,"isOffset":false,"isSlot":false,"src":"288130:2:19","valueSize":1},{"declaration":35359,"isOffset":false,"isSlot":false,"src":"288159:2:19","valueSize":1},{"declaration":35362,"isOffset":false,"isSlot":false,"src":"288188:2:19","valueSize":1}],"id":35370,"nodeType":"InlineAssembly","src":"287978:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"286790:3:19","parameters":{"id":35341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35334,"mutability":"mutable","name":"p0","nameLocation":"286802:2:19","nodeType":"VariableDeclaration","scope":35372,"src":"286794:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35333,"name":"uint256","nodeType":"ElementaryTypeName","src":"286794:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35336,"mutability":"mutable","name":"p1","nameLocation":"286814:2:19","nodeType":"VariableDeclaration","scope":35372,"src":"286806:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35335,"name":"uint256","nodeType":"ElementaryTypeName","src":"286806:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35338,"mutability":"mutable","name":"p2","nameLocation":"286826:2:19","nodeType":"VariableDeclaration","scope":35372,"src":"286818:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35337,"name":"address","nodeType":"ElementaryTypeName","src":"286818:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35340,"mutability":"mutable","name":"p3","nameLocation":"286838:2:19","nodeType":"VariableDeclaration","scope":35372,"src":"286830:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35339,"name":"bytes32","nodeType":"ElementaryTypeName","src":"286830:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"286793:48:19"},"returnParameters":{"id":35342,"nodeType":"ParameterList","parameters":[],"src":"286856:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35406,"nodeType":"FunctionDefinition","src":"288213:872:19","nodes":[],"body":{"id":35405,"nodeType":"Block","src":"288285:800:19","nodes":[],"statements":[{"assignments":[35384],"declarations":[{"constant":false,"id":35384,"mutability":"mutable","name":"m0","nameLocation":"288303:2:19","nodeType":"VariableDeclaration","scope":35405,"src":"288295:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35383,"name":"bytes32","nodeType":"ElementaryTypeName","src":"288295:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35385,"nodeType":"VariableDeclarationStatement","src":"288295:10:19"},{"assignments":[35387],"declarations":[{"constant":false,"id":35387,"mutability":"mutable","name":"m1","nameLocation":"288323:2:19","nodeType":"VariableDeclaration","scope":35405,"src":"288315:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35386,"name":"bytes32","nodeType":"ElementaryTypeName","src":"288315:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35388,"nodeType":"VariableDeclarationStatement","src":"288315:10:19"},{"assignments":[35390],"declarations":[{"constant":false,"id":35390,"mutability":"mutable","name":"m2","nameLocation":"288343:2:19","nodeType":"VariableDeclaration","scope":35405,"src":"288335:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35389,"name":"bytes32","nodeType":"ElementaryTypeName","src":"288335:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35391,"nodeType":"VariableDeclarationStatement","src":"288335:10:19"},{"assignments":[35393],"declarations":[{"constant":false,"id":35393,"mutability":"mutable","name":"m3","nameLocation":"288363:2:19","nodeType":"VariableDeclaration","scope":35405,"src":"288355:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35392,"name":"bytes32","nodeType":"ElementaryTypeName","src":"288355:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35394,"nodeType":"VariableDeclarationStatement","src":"288355:10:19"},{"assignments":[35396],"declarations":[{"constant":false,"id":35396,"mutability":"mutable","name":"m4","nameLocation":"288383:2:19","nodeType":"VariableDeclaration","scope":35405,"src":"288375:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35395,"name":"bytes32","nodeType":"ElementaryTypeName","src":"288375:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35397,"nodeType":"VariableDeclarationStatement","src":"288375:10:19"},{"AST":{"nativeSrc":"288447:378:19","nodeType":"YulBlock","src":"288447:378:19","statements":[{"nativeSrc":"288461:17:19","nodeType":"YulAssignment","src":"288461:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"288473:4:19","nodeType":"YulLiteral","src":"288473:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"288467:5:19","nodeType":"YulIdentifier","src":"288467:5:19"},"nativeSrc":"288467:11:19","nodeType":"YulFunctionCall","src":"288467:11:19"},"variableNames":[{"name":"m0","nativeSrc":"288461:2:19","nodeType":"YulIdentifier","src":"288461:2:19"}]},{"nativeSrc":"288491:17:19","nodeType":"YulAssignment","src":"288491:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"288503:4:19","nodeType":"YulLiteral","src":"288503:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"288497:5:19","nodeType":"YulIdentifier","src":"288497:5:19"},"nativeSrc":"288497:11:19","nodeType":"YulFunctionCall","src":"288497:11:19"},"variableNames":[{"name":"m1","nativeSrc":"288491:2:19","nodeType":"YulIdentifier","src":"288491:2:19"}]},{"nativeSrc":"288521:17:19","nodeType":"YulAssignment","src":"288521:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"288533:4:19","nodeType":"YulLiteral","src":"288533:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"288527:5:19","nodeType":"YulIdentifier","src":"288527:5:19"},"nativeSrc":"288527:11:19","nodeType":"YulFunctionCall","src":"288527:11:19"},"variableNames":[{"name":"m2","nativeSrc":"288521:2:19","nodeType":"YulIdentifier","src":"288521:2:19"}]},{"nativeSrc":"288551:17:19","nodeType":"YulAssignment","src":"288551:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"288563:4:19","nodeType":"YulLiteral","src":"288563:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"288557:5:19","nodeType":"YulIdentifier","src":"288557:5:19"},"nativeSrc":"288557:11:19","nodeType":"YulFunctionCall","src":"288557:11:19"},"variableNames":[{"name":"m3","nativeSrc":"288551:2:19","nodeType":"YulIdentifier","src":"288551:2:19"}]},{"nativeSrc":"288581:17:19","nodeType":"YulAssignment","src":"288581:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"288593:4:19","nodeType":"YulLiteral","src":"288593:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"288587:5:19","nodeType":"YulIdentifier","src":"288587:5:19"},"nativeSrc":"288587:11:19","nodeType":"YulFunctionCall","src":"288587:11:19"},"variableNames":[{"name":"m4","nativeSrc":"288581:2:19","nodeType":"YulIdentifier","src":"288581:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288682:4:19","nodeType":"YulLiteral","src":"288682:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"288688:10:19","nodeType":"YulLiteral","src":"288688:10:19","type":"","value":"0x9a816a83"}],"functionName":{"name":"mstore","nativeSrc":"288675:6:19","nodeType":"YulIdentifier","src":"288675:6:19"},"nativeSrc":"288675:24:19","nodeType":"YulFunctionCall","src":"288675:24:19"},"nativeSrc":"288675:24:19","nodeType":"YulExpressionStatement","src":"288675:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288719:4:19","nodeType":"YulLiteral","src":"288719:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"288725:2:19","nodeType":"YulIdentifier","src":"288725:2:19"}],"functionName":{"name":"mstore","nativeSrc":"288712:6:19","nodeType":"YulIdentifier","src":"288712:6:19"},"nativeSrc":"288712:16:19","nodeType":"YulFunctionCall","src":"288712:16:19"},"nativeSrc":"288712:16:19","nodeType":"YulExpressionStatement","src":"288712:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288748:4:19","nodeType":"YulLiteral","src":"288748:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"288754:2:19","nodeType":"YulIdentifier","src":"288754:2:19"}],"functionName":{"name":"mstore","nativeSrc":"288741:6:19","nodeType":"YulIdentifier","src":"288741:6:19"},"nativeSrc":"288741:16:19","nodeType":"YulFunctionCall","src":"288741:16:19"},"nativeSrc":"288741:16:19","nodeType":"YulExpressionStatement","src":"288741:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288777:4:19","nodeType":"YulLiteral","src":"288777:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"288783:2:19","nodeType":"YulIdentifier","src":"288783:2:19"}],"functionName":{"name":"mstore","nativeSrc":"288770:6:19","nodeType":"YulIdentifier","src":"288770:6:19"},"nativeSrc":"288770:16:19","nodeType":"YulFunctionCall","src":"288770:16:19"},"nativeSrc":"288770:16:19","nodeType":"YulExpressionStatement","src":"288770:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288806:4:19","nodeType":"YulLiteral","src":"288806:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"288812:2:19","nodeType":"YulIdentifier","src":"288812:2:19"}],"functionName":{"name":"mstore","nativeSrc":"288799:6:19","nodeType":"YulIdentifier","src":"288799:6:19"},"nativeSrc":"288799:16:19","nodeType":"YulFunctionCall","src":"288799:16:19"},"nativeSrc":"288799:16:19","nodeType":"YulExpressionStatement","src":"288799:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35384,"isOffset":false,"isSlot":false,"src":"288461:2:19","valueSize":1},{"declaration":35387,"isOffset":false,"isSlot":false,"src":"288491:2:19","valueSize":1},{"declaration":35390,"isOffset":false,"isSlot":false,"src":"288521:2:19","valueSize":1},{"declaration":35393,"isOffset":false,"isSlot":false,"src":"288551:2:19","valueSize":1},{"declaration":35396,"isOffset":false,"isSlot":false,"src":"288581:2:19","valueSize":1},{"declaration":35374,"isOffset":false,"isSlot":false,"src":"288725:2:19","valueSize":1},{"declaration":35376,"isOffset":false,"isSlot":false,"src":"288754:2:19","valueSize":1},{"declaration":35378,"isOffset":false,"isSlot":false,"src":"288783:2:19","valueSize":1},{"declaration":35380,"isOffset":false,"isSlot":false,"src":"288812:2:19","valueSize":1}],"id":35398,"nodeType":"InlineAssembly","src":"288438:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"288850:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"288856:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":35399,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"288834:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"288834:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35403,"nodeType":"ExpressionStatement","src":"288834:27:19"},{"AST":{"nativeSrc":"288923:156:19","nodeType":"YulBlock","src":"288923:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"288944:4:19","nodeType":"YulLiteral","src":"288944:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"288950:2:19","nodeType":"YulIdentifier","src":"288950:2:19"}],"functionName":{"name":"mstore","nativeSrc":"288937:6:19","nodeType":"YulIdentifier","src":"288937:6:19"},"nativeSrc":"288937:16:19","nodeType":"YulFunctionCall","src":"288937:16:19"},"nativeSrc":"288937:16:19","nodeType":"YulExpressionStatement","src":"288937:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"288973:4:19","nodeType":"YulLiteral","src":"288973:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"288979:2:19","nodeType":"YulIdentifier","src":"288979:2:19"}],"functionName":{"name":"mstore","nativeSrc":"288966:6:19","nodeType":"YulIdentifier","src":"288966:6:19"},"nativeSrc":"288966:16:19","nodeType":"YulFunctionCall","src":"288966:16:19"},"nativeSrc":"288966:16:19","nodeType":"YulExpressionStatement","src":"288966:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289002:4:19","nodeType":"YulLiteral","src":"289002:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"289008:2:19","nodeType":"YulIdentifier","src":"289008:2:19"}],"functionName":{"name":"mstore","nativeSrc":"288995:6:19","nodeType":"YulIdentifier","src":"288995:6:19"},"nativeSrc":"288995:16:19","nodeType":"YulFunctionCall","src":"288995:16:19"},"nativeSrc":"288995:16:19","nodeType":"YulExpressionStatement","src":"288995:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289031:4:19","nodeType":"YulLiteral","src":"289031:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"289037:2:19","nodeType":"YulIdentifier","src":"289037:2:19"}],"functionName":{"name":"mstore","nativeSrc":"289024:6:19","nodeType":"YulIdentifier","src":"289024:6:19"},"nativeSrc":"289024:16:19","nodeType":"YulFunctionCall","src":"289024:16:19"},"nativeSrc":"289024:16:19","nodeType":"YulExpressionStatement","src":"289024:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289060:4:19","nodeType":"YulLiteral","src":"289060:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"289066:2:19","nodeType":"YulIdentifier","src":"289066:2:19"}],"functionName":{"name":"mstore","nativeSrc":"289053:6:19","nodeType":"YulIdentifier","src":"289053:6:19"},"nativeSrc":"289053:16:19","nodeType":"YulFunctionCall","src":"289053:16:19"},"nativeSrc":"289053:16:19","nodeType":"YulExpressionStatement","src":"289053:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35384,"isOffset":false,"isSlot":false,"src":"288950:2:19","valueSize":1},{"declaration":35387,"isOffset":false,"isSlot":false,"src":"288979:2:19","valueSize":1},{"declaration":35390,"isOffset":false,"isSlot":false,"src":"289008:2:19","valueSize":1},{"declaration":35393,"isOffset":false,"isSlot":false,"src":"289037:2:19","valueSize":1},{"declaration":35396,"isOffset":false,"isSlot":false,"src":"289066:2:19","valueSize":1}],"id":35404,"nodeType":"InlineAssembly","src":"288914:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"288222:3:19","parameters":{"id":35381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35374,"mutability":"mutable","name":"p0","nameLocation":"288234:2:19","nodeType":"VariableDeclaration","scope":35406,"src":"288226:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35373,"name":"uint256","nodeType":"ElementaryTypeName","src":"288226:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35376,"mutability":"mutable","name":"p1","nameLocation":"288246:2:19","nodeType":"VariableDeclaration","scope":35406,"src":"288238:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35375,"name":"uint256","nodeType":"ElementaryTypeName","src":"288238:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35378,"mutability":"mutable","name":"p2","nameLocation":"288255:2:19","nodeType":"VariableDeclaration","scope":35406,"src":"288250:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35377,"name":"bool","nodeType":"ElementaryTypeName","src":"288250:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35380,"mutability":"mutable","name":"p3","nameLocation":"288267:2:19","nodeType":"VariableDeclaration","scope":35406,"src":"288259:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35379,"name":"address","nodeType":"ElementaryTypeName","src":"288259:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"288225:45:19"},"returnParameters":{"id":35382,"nodeType":"ParameterList","parameters":[],"src":"288285:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35440,"nodeType":"FunctionDefinition","src":"289091:866:19","nodes":[],"body":{"id":35439,"nodeType":"Block","src":"289160:797:19","nodes":[],"statements":[{"assignments":[35418],"declarations":[{"constant":false,"id":35418,"mutability":"mutable","name":"m0","nameLocation":"289178:2:19","nodeType":"VariableDeclaration","scope":35439,"src":"289170:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35417,"name":"bytes32","nodeType":"ElementaryTypeName","src":"289170:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35419,"nodeType":"VariableDeclarationStatement","src":"289170:10:19"},{"assignments":[35421],"declarations":[{"constant":false,"id":35421,"mutability":"mutable","name":"m1","nameLocation":"289198:2:19","nodeType":"VariableDeclaration","scope":35439,"src":"289190:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35420,"name":"bytes32","nodeType":"ElementaryTypeName","src":"289190:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35422,"nodeType":"VariableDeclarationStatement","src":"289190:10:19"},{"assignments":[35424],"declarations":[{"constant":false,"id":35424,"mutability":"mutable","name":"m2","nameLocation":"289218:2:19","nodeType":"VariableDeclaration","scope":35439,"src":"289210:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35423,"name":"bytes32","nodeType":"ElementaryTypeName","src":"289210:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35425,"nodeType":"VariableDeclarationStatement","src":"289210:10:19"},{"assignments":[35427],"declarations":[{"constant":false,"id":35427,"mutability":"mutable","name":"m3","nameLocation":"289238:2:19","nodeType":"VariableDeclaration","scope":35439,"src":"289230:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35426,"name":"bytes32","nodeType":"ElementaryTypeName","src":"289230:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35428,"nodeType":"VariableDeclarationStatement","src":"289230:10:19"},{"assignments":[35430],"declarations":[{"constant":false,"id":35430,"mutability":"mutable","name":"m4","nameLocation":"289258:2:19","nodeType":"VariableDeclaration","scope":35439,"src":"289250:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35429,"name":"bytes32","nodeType":"ElementaryTypeName","src":"289250:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35431,"nodeType":"VariableDeclarationStatement","src":"289250:10:19"},{"AST":{"nativeSrc":"289322:375:19","nodeType":"YulBlock","src":"289322:375:19","statements":[{"nativeSrc":"289336:17:19","nodeType":"YulAssignment","src":"289336:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"289348:4:19","nodeType":"YulLiteral","src":"289348:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"289342:5:19","nodeType":"YulIdentifier","src":"289342:5:19"},"nativeSrc":"289342:11:19","nodeType":"YulFunctionCall","src":"289342:11:19"},"variableNames":[{"name":"m0","nativeSrc":"289336:2:19","nodeType":"YulIdentifier","src":"289336:2:19"}]},{"nativeSrc":"289366:17:19","nodeType":"YulAssignment","src":"289366:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"289378:4:19","nodeType":"YulLiteral","src":"289378:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"289372:5:19","nodeType":"YulIdentifier","src":"289372:5:19"},"nativeSrc":"289372:11:19","nodeType":"YulFunctionCall","src":"289372:11:19"},"variableNames":[{"name":"m1","nativeSrc":"289366:2:19","nodeType":"YulIdentifier","src":"289366:2:19"}]},{"nativeSrc":"289396:17:19","nodeType":"YulAssignment","src":"289396:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"289408:4:19","nodeType":"YulLiteral","src":"289408:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"289402:5:19","nodeType":"YulIdentifier","src":"289402:5:19"},"nativeSrc":"289402:11:19","nodeType":"YulFunctionCall","src":"289402:11:19"},"variableNames":[{"name":"m2","nativeSrc":"289396:2:19","nodeType":"YulIdentifier","src":"289396:2:19"}]},{"nativeSrc":"289426:17:19","nodeType":"YulAssignment","src":"289426:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"289438:4:19","nodeType":"YulLiteral","src":"289438:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"289432:5:19","nodeType":"YulIdentifier","src":"289432:5:19"},"nativeSrc":"289432:11:19","nodeType":"YulFunctionCall","src":"289432:11:19"},"variableNames":[{"name":"m3","nativeSrc":"289426:2:19","nodeType":"YulIdentifier","src":"289426:2:19"}]},{"nativeSrc":"289456:17:19","nodeType":"YulAssignment","src":"289456:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"289468:4:19","nodeType":"YulLiteral","src":"289468:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"289462:5:19","nodeType":"YulIdentifier","src":"289462:5:19"},"nativeSrc":"289462:11:19","nodeType":"YulFunctionCall","src":"289462:11:19"},"variableNames":[{"name":"m4","nativeSrc":"289456:2:19","nodeType":"YulIdentifier","src":"289456:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289554:4:19","nodeType":"YulLiteral","src":"289554:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"289560:10:19","nodeType":"YulLiteral","src":"289560:10:19","type":"","value":"0xab085ae6"}],"functionName":{"name":"mstore","nativeSrc":"289547:6:19","nodeType":"YulIdentifier","src":"289547:6:19"},"nativeSrc":"289547:24:19","nodeType":"YulFunctionCall","src":"289547:24:19"},"nativeSrc":"289547:24:19","nodeType":"YulExpressionStatement","src":"289547:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289591:4:19","nodeType":"YulLiteral","src":"289591:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"289597:2:19","nodeType":"YulIdentifier","src":"289597:2:19"}],"functionName":{"name":"mstore","nativeSrc":"289584:6:19","nodeType":"YulIdentifier","src":"289584:6:19"},"nativeSrc":"289584:16:19","nodeType":"YulFunctionCall","src":"289584:16:19"},"nativeSrc":"289584:16:19","nodeType":"YulExpressionStatement","src":"289584:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289620:4:19","nodeType":"YulLiteral","src":"289620:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"289626:2:19","nodeType":"YulIdentifier","src":"289626:2:19"}],"functionName":{"name":"mstore","nativeSrc":"289613:6:19","nodeType":"YulIdentifier","src":"289613:6:19"},"nativeSrc":"289613:16:19","nodeType":"YulFunctionCall","src":"289613:16:19"},"nativeSrc":"289613:16:19","nodeType":"YulExpressionStatement","src":"289613:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289649:4:19","nodeType":"YulLiteral","src":"289649:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"289655:2:19","nodeType":"YulIdentifier","src":"289655:2:19"}],"functionName":{"name":"mstore","nativeSrc":"289642:6:19","nodeType":"YulIdentifier","src":"289642:6:19"},"nativeSrc":"289642:16:19","nodeType":"YulFunctionCall","src":"289642:16:19"},"nativeSrc":"289642:16:19","nodeType":"YulExpressionStatement","src":"289642:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289678:4:19","nodeType":"YulLiteral","src":"289678:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"289684:2:19","nodeType":"YulIdentifier","src":"289684:2:19"}],"functionName":{"name":"mstore","nativeSrc":"289671:6:19","nodeType":"YulIdentifier","src":"289671:6:19"},"nativeSrc":"289671:16:19","nodeType":"YulFunctionCall","src":"289671:16:19"},"nativeSrc":"289671:16:19","nodeType":"YulExpressionStatement","src":"289671:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35418,"isOffset":false,"isSlot":false,"src":"289336:2:19","valueSize":1},{"declaration":35421,"isOffset":false,"isSlot":false,"src":"289366:2:19","valueSize":1},{"declaration":35424,"isOffset":false,"isSlot":false,"src":"289396:2:19","valueSize":1},{"declaration":35427,"isOffset":false,"isSlot":false,"src":"289426:2:19","valueSize":1},{"declaration":35430,"isOffset":false,"isSlot":false,"src":"289456:2:19","valueSize":1},{"declaration":35408,"isOffset":false,"isSlot":false,"src":"289597:2:19","valueSize":1},{"declaration":35410,"isOffset":false,"isSlot":false,"src":"289626:2:19","valueSize":1},{"declaration":35412,"isOffset":false,"isSlot":false,"src":"289655:2:19","valueSize":1},{"declaration":35414,"isOffset":false,"isSlot":false,"src":"289684:2:19","valueSize":1}],"id":35432,"nodeType":"InlineAssembly","src":"289313:384:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"289722:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"289728:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":35433,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"289706:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"289706:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35437,"nodeType":"ExpressionStatement","src":"289706:27:19"},{"AST":{"nativeSrc":"289795:156:19","nodeType":"YulBlock","src":"289795:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"289816:4:19","nodeType":"YulLiteral","src":"289816:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"289822:2:19","nodeType":"YulIdentifier","src":"289822:2:19"}],"functionName":{"name":"mstore","nativeSrc":"289809:6:19","nodeType":"YulIdentifier","src":"289809:6:19"},"nativeSrc":"289809:16:19","nodeType":"YulFunctionCall","src":"289809:16:19"},"nativeSrc":"289809:16:19","nodeType":"YulExpressionStatement","src":"289809:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289845:4:19","nodeType":"YulLiteral","src":"289845:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"289851:2:19","nodeType":"YulIdentifier","src":"289851:2:19"}],"functionName":{"name":"mstore","nativeSrc":"289838:6:19","nodeType":"YulIdentifier","src":"289838:6:19"},"nativeSrc":"289838:16:19","nodeType":"YulFunctionCall","src":"289838:16:19"},"nativeSrc":"289838:16:19","nodeType":"YulExpressionStatement","src":"289838:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289874:4:19","nodeType":"YulLiteral","src":"289874:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"289880:2:19","nodeType":"YulIdentifier","src":"289880:2:19"}],"functionName":{"name":"mstore","nativeSrc":"289867:6:19","nodeType":"YulIdentifier","src":"289867:6:19"},"nativeSrc":"289867:16:19","nodeType":"YulFunctionCall","src":"289867:16:19"},"nativeSrc":"289867:16:19","nodeType":"YulExpressionStatement","src":"289867:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289903:4:19","nodeType":"YulLiteral","src":"289903:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"289909:2:19","nodeType":"YulIdentifier","src":"289909:2:19"}],"functionName":{"name":"mstore","nativeSrc":"289896:6:19","nodeType":"YulIdentifier","src":"289896:6:19"},"nativeSrc":"289896:16:19","nodeType":"YulFunctionCall","src":"289896:16:19"},"nativeSrc":"289896:16:19","nodeType":"YulExpressionStatement","src":"289896:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"289932:4:19","nodeType":"YulLiteral","src":"289932:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"289938:2:19","nodeType":"YulIdentifier","src":"289938:2:19"}],"functionName":{"name":"mstore","nativeSrc":"289925:6:19","nodeType":"YulIdentifier","src":"289925:6:19"},"nativeSrc":"289925:16:19","nodeType":"YulFunctionCall","src":"289925:16:19"},"nativeSrc":"289925:16:19","nodeType":"YulExpressionStatement","src":"289925:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35418,"isOffset":false,"isSlot":false,"src":"289822:2:19","valueSize":1},{"declaration":35421,"isOffset":false,"isSlot":false,"src":"289851:2:19","valueSize":1},{"declaration":35424,"isOffset":false,"isSlot":false,"src":"289880:2:19","valueSize":1},{"declaration":35427,"isOffset":false,"isSlot":false,"src":"289909:2:19","valueSize":1},{"declaration":35430,"isOffset":false,"isSlot":false,"src":"289938:2:19","valueSize":1}],"id":35438,"nodeType":"InlineAssembly","src":"289786:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"289100:3:19","parameters":{"id":35415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35408,"mutability":"mutable","name":"p0","nameLocation":"289112:2:19","nodeType":"VariableDeclaration","scope":35440,"src":"289104:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35407,"name":"uint256","nodeType":"ElementaryTypeName","src":"289104:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35410,"mutability":"mutable","name":"p1","nameLocation":"289124:2:19","nodeType":"VariableDeclaration","scope":35440,"src":"289116:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35409,"name":"uint256","nodeType":"ElementaryTypeName","src":"289116:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35412,"mutability":"mutable","name":"p2","nameLocation":"289133:2:19","nodeType":"VariableDeclaration","scope":35440,"src":"289128:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35411,"name":"bool","nodeType":"ElementaryTypeName","src":"289128:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35414,"mutability":"mutable","name":"p3","nameLocation":"289142:2:19","nodeType":"VariableDeclaration","scope":35440,"src":"289137:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35413,"name":"bool","nodeType":"ElementaryTypeName","src":"289137:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"289103:42:19"},"returnParameters":{"id":35416,"nodeType":"ParameterList","parameters":[],"src":"289160:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35474,"nodeType":"FunctionDefinition","src":"289963:872:19","nodes":[],"body":{"id":35473,"nodeType":"Block","src":"290035:800:19","nodes":[],"statements":[{"assignments":[35452],"declarations":[{"constant":false,"id":35452,"mutability":"mutable","name":"m0","nameLocation":"290053:2:19","nodeType":"VariableDeclaration","scope":35473,"src":"290045:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35451,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290045:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35453,"nodeType":"VariableDeclarationStatement","src":"290045:10:19"},{"assignments":[35455],"declarations":[{"constant":false,"id":35455,"mutability":"mutable","name":"m1","nameLocation":"290073:2:19","nodeType":"VariableDeclaration","scope":35473,"src":"290065:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35454,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290065:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35456,"nodeType":"VariableDeclarationStatement","src":"290065:10:19"},{"assignments":[35458],"declarations":[{"constant":false,"id":35458,"mutability":"mutable","name":"m2","nameLocation":"290093:2:19","nodeType":"VariableDeclaration","scope":35473,"src":"290085:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35457,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290085:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35459,"nodeType":"VariableDeclarationStatement","src":"290085:10:19"},{"assignments":[35461],"declarations":[{"constant":false,"id":35461,"mutability":"mutable","name":"m3","nameLocation":"290113:2:19","nodeType":"VariableDeclaration","scope":35473,"src":"290105:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35460,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290105:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35462,"nodeType":"VariableDeclarationStatement","src":"290105:10:19"},{"assignments":[35464],"declarations":[{"constant":false,"id":35464,"mutability":"mutable","name":"m4","nameLocation":"290133:2:19","nodeType":"VariableDeclaration","scope":35473,"src":"290125:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35463,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290125:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35465,"nodeType":"VariableDeclarationStatement","src":"290125:10:19"},{"AST":{"nativeSrc":"290197:378:19","nodeType":"YulBlock","src":"290197:378:19","statements":[{"nativeSrc":"290211:17:19","nodeType":"YulAssignment","src":"290211:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"290223:4:19","nodeType":"YulLiteral","src":"290223:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"290217:5:19","nodeType":"YulIdentifier","src":"290217:5:19"},"nativeSrc":"290217:11:19","nodeType":"YulFunctionCall","src":"290217:11:19"},"variableNames":[{"name":"m0","nativeSrc":"290211:2:19","nodeType":"YulIdentifier","src":"290211:2:19"}]},{"nativeSrc":"290241:17:19","nodeType":"YulAssignment","src":"290241:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"290253:4:19","nodeType":"YulLiteral","src":"290253:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"290247:5:19","nodeType":"YulIdentifier","src":"290247:5:19"},"nativeSrc":"290247:11:19","nodeType":"YulFunctionCall","src":"290247:11:19"},"variableNames":[{"name":"m1","nativeSrc":"290241:2:19","nodeType":"YulIdentifier","src":"290241:2:19"}]},{"nativeSrc":"290271:17:19","nodeType":"YulAssignment","src":"290271:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"290283:4:19","nodeType":"YulLiteral","src":"290283:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"290277:5:19","nodeType":"YulIdentifier","src":"290277:5:19"},"nativeSrc":"290277:11:19","nodeType":"YulFunctionCall","src":"290277:11:19"},"variableNames":[{"name":"m2","nativeSrc":"290271:2:19","nodeType":"YulIdentifier","src":"290271:2:19"}]},{"nativeSrc":"290301:17:19","nodeType":"YulAssignment","src":"290301:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"290313:4:19","nodeType":"YulLiteral","src":"290313:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"290307:5:19","nodeType":"YulIdentifier","src":"290307:5:19"},"nativeSrc":"290307:11:19","nodeType":"YulFunctionCall","src":"290307:11:19"},"variableNames":[{"name":"m3","nativeSrc":"290301:2:19","nodeType":"YulIdentifier","src":"290301:2:19"}]},{"nativeSrc":"290331:17:19","nodeType":"YulAssignment","src":"290331:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"290343:4:19","nodeType":"YulLiteral","src":"290343:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"290337:5:19","nodeType":"YulIdentifier","src":"290337:5:19"},"nativeSrc":"290337:11:19","nodeType":"YulFunctionCall","src":"290337:11:19"},"variableNames":[{"name":"m4","nativeSrc":"290331:2:19","nodeType":"YulIdentifier","src":"290331:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290432:4:19","nodeType":"YulLiteral","src":"290432:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"290438:10:19","nodeType":"YulLiteral","src":"290438:10:19","type":"","value":"0xeb7f6fd2"}],"functionName":{"name":"mstore","nativeSrc":"290425:6:19","nodeType":"YulIdentifier","src":"290425:6:19"},"nativeSrc":"290425:24:19","nodeType":"YulFunctionCall","src":"290425:24:19"},"nativeSrc":"290425:24:19","nodeType":"YulExpressionStatement","src":"290425:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290469:4:19","nodeType":"YulLiteral","src":"290469:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"290475:2:19","nodeType":"YulIdentifier","src":"290475:2:19"}],"functionName":{"name":"mstore","nativeSrc":"290462:6:19","nodeType":"YulIdentifier","src":"290462:6:19"},"nativeSrc":"290462:16:19","nodeType":"YulFunctionCall","src":"290462:16:19"},"nativeSrc":"290462:16:19","nodeType":"YulExpressionStatement","src":"290462:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290498:4:19","nodeType":"YulLiteral","src":"290498:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"290504:2:19","nodeType":"YulIdentifier","src":"290504:2:19"}],"functionName":{"name":"mstore","nativeSrc":"290491:6:19","nodeType":"YulIdentifier","src":"290491:6:19"},"nativeSrc":"290491:16:19","nodeType":"YulFunctionCall","src":"290491:16:19"},"nativeSrc":"290491:16:19","nodeType":"YulExpressionStatement","src":"290491:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290527:4:19","nodeType":"YulLiteral","src":"290527:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"290533:2:19","nodeType":"YulIdentifier","src":"290533:2:19"}],"functionName":{"name":"mstore","nativeSrc":"290520:6:19","nodeType":"YulIdentifier","src":"290520:6:19"},"nativeSrc":"290520:16:19","nodeType":"YulFunctionCall","src":"290520:16:19"},"nativeSrc":"290520:16:19","nodeType":"YulExpressionStatement","src":"290520:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290556:4:19","nodeType":"YulLiteral","src":"290556:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"290562:2:19","nodeType":"YulIdentifier","src":"290562:2:19"}],"functionName":{"name":"mstore","nativeSrc":"290549:6:19","nodeType":"YulIdentifier","src":"290549:6:19"},"nativeSrc":"290549:16:19","nodeType":"YulFunctionCall","src":"290549:16:19"},"nativeSrc":"290549:16:19","nodeType":"YulExpressionStatement","src":"290549:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35452,"isOffset":false,"isSlot":false,"src":"290211:2:19","valueSize":1},{"declaration":35455,"isOffset":false,"isSlot":false,"src":"290241:2:19","valueSize":1},{"declaration":35458,"isOffset":false,"isSlot":false,"src":"290271:2:19","valueSize":1},{"declaration":35461,"isOffset":false,"isSlot":false,"src":"290301:2:19","valueSize":1},{"declaration":35464,"isOffset":false,"isSlot":false,"src":"290331:2:19","valueSize":1},{"declaration":35442,"isOffset":false,"isSlot":false,"src":"290475:2:19","valueSize":1},{"declaration":35444,"isOffset":false,"isSlot":false,"src":"290504:2:19","valueSize":1},{"declaration":35446,"isOffset":false,"isSlot":false,"src":"290533:2:19","valueSize":1},{"declaration":35448,"isOffset":false,"isSlot":false,"src":"290562:2:19","valueSize":1}],"id":35466,"nodeType":"InlineAssembly","src":"290188:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"290600:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"290606:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":35467,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"290584:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"290584:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35471,"nodeType":"ExpressionStatement","src":"290584:27:19"},{"AST":{"nativeSrc":"290673:156:19","nodeType":"YulBlock","src":"290673:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"290694:4:19","nodeType":"YulLiteral","src":"290694:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"290700:2:19","nodeType":"YulIdentifier","src":"290700:2:19"}],"functionName":{"name":"mstore","nativeSrc":"290687:6:19","nodeType":"YulIdentifier","src":"290687:6:19"},"nativeSrc":"290687:16:19","nodeType":"YulFunctionCall","src":"290687:16:19"},"nativeSrc":"290687:16:19","nodeType":"YulExpressionStatement","src":"290687:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290723:4:19","nodeType":"YulLiteral","src":"290723:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"290729:2:19","nodeType":"YulIdentifier","src":"290729:2:19"}],"functionName":{"name":"mstore","nativeSrc":"290716:6:19","nodeType":"YulIdentifier","src":"290716:6:19"},"nativeSrc":"290716:16:19","nodeType":"YulFunctionCall","src":"290716:16:19"},"nativeSrc":"290716:16:19","nodeType":"YulExpressionStatement","src":"290716:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290752:4:19","nodeType":"YulLiteral","src":"290752:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"290758:2:19","nodeType":"YulIdentifier","src":"290758:2:19"}],"functionName":{"name":"mstore","nativeSrc":"290745:6:19","nodeType":"YulIdentifier","src":"290745:6:19"},"nativeSrc":"290745:16:19","nodeType":"YulFunctionCall","src":"290745:16:19"},"nativeSrc":"290745:16:19","nodeType":"YulExpressionStatement","src":"290745:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290781:4:19","nodeType":"YulLiteral","src":"290781:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"290787:2:19","nodeType":"YulIdentifier","src":"290787:2:19"}],"functionName":{"name":"mstore","nativeSrc":"290774:6:19","nodeType":"YulIdentifier","src":"290774:6:19"},"nativeSrc":"290774:16:19","nodeType":"YulFunctionCall","src":"290774:16:19"},"nativeSrc":"290774:16:19","nodeType":"YulExpressionStatement","src":"290774:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"290810:4:19","nodeType":"YulLiteral","src":"290810:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"290816:2:19","nodeType":"YulIdentifier","src":"290816:2:19"}],"functionName":{"name":"mstore","nativeSrc":"290803:6:19","nodeType":"YulIdentifier","src":"290803:6:19"},"nativeSrc":"290803:16:19","nodeType":"YulFunctionCall","src":"290803:16:19"},"nativeSrc":"290803:16:19","nodeType":"YulExpressionStatement","src":"290803:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35452,"isOffset":false,"isSlot":false,"src":"290700:2:19","valueSize":1},{"declaration":35455,"isOffset":false,"isSlot":false,"src":"290729:2:19","valueSize":1},{"declaration":35458,"isOffset":false,"isSlot":false,"src":"290758:2:19","valueSize":1},{"declaration":35461,"isOffset":false,"isSlot":false,"src":"290787:2:19","valueSize":1},{"declaration":35464,"isOffset":false,"isSlot":false,"src":"290816:2:19","valueSize":1}],"id":35472,"nodeType":"InlineAssembly","src":"290664:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"289972:3:19","parameters":{"id":35449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35442,"mutability":"mutable","name":"p0","nameLocation":"289984:2:19","nodeType":"VariableDeclaration","scope":35474,"src":"289976:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35441,"name":"uint256","nodeType":"ElementaryTypeName","src":"289976:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35444,"mutability":"mutable","name":"p1","nameLocation":"289996:2:19","nodeType":"VariableDeclaration","scope":35474,"src":"289988:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35443,"name":"uint256","nodeType":"ElementaryTypeName","src":"289988:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35446,"mutability":"mutable","name":"p2","nameLocation":"290005:2:19","nodeType":"VariableDeclaration","scope":35474,"src":"290000:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35445,"name":"bool","nodeType":"ElementaryTypeName","src":"290000:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35448,"mutability":"mutable","name":"p3","nameLocation":"290017:2:19","nodeType":"VariableDeclaration","scope":35474,"src":"290009:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35447,"name":"uint256","nodeType":"ElementaryTypeName","src":"290009:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"289975:45:19"},"returnParameters":{"id":35450,"nodeType":"ParameterList","parameters":[],"src":"290035:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35514,"nodeType":"FunctionDefinition","src":"290841:1420:19","nodes":[],"body":{"id":35513,"nodeType":"Block","src":"290913:1348:19","nodes":[],"statements":[{"assignments":[35486],"declarations":[{"constant":false,"id":35486,"mutability":"mutable","name":"m0","nameLocation":"290931:2:19","nodeType":"VariableDeclaration","scope":35513,"src":"290923:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35485,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290923:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35487,"nodeType":"VariableDeclarationStatement","src":"290923:10:19"},{"assignments":[35489],"declarations":[{"constant":false,"id":35489,"mutability":"mutable","name":"m1","nameLocation":"290951:2:19","nodeType":"VariableDeclaration","scope":35513,"src":"290943:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35488,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290943:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35490,"nodeType":"VariableDeclarationStatement","src":"290943:10:19"},{"assignments":[35492],"declarations":[{"constant":false,"id":35492,"mutability":"mutable","name":"m2","nameLocation":"290971:2:19","nodeType":"VariableDeclaration","scope":35513,"src":"290963:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35491,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290963:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35493,"nodeType":"VariableDeclarationStatement","src":"290963:10:19"},{"assignments":[35495],"declarations":[{"constant":false,"id":35495,"mutability":"mutable","name":"m3","nameLocation":"290991:2:19","nodeType":"VariableDeclaration","scope":35513,"src":"290983:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35494,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290983:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35496,"nodeType":"VariableDeclarationStatement","src":"290983:10:19"},{"assignments":[35498],"declarations":[{"constant":false,"id":35498,"mutability":"mutable","name":"m4","nameLocation":"291011:2:19","nodeType":"VariableDeclaration","scope":35513,"src":"291003:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35497,"name":"bytes32","nodeType":"ElementaryTypeName","src":"291003:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35499,"nodeType":"VariableDeclarationStatement","src":"291003:10:19"},{"assignments":[35501],"declarations":[{"constant":false,"id":35501,"mutability":"mutable","name":"m5","nameLocation":"291031:2:19","nodeType":"VariableDeclaration","scope":35513,"src":"291023:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35500,"name":"bytes32","nodeType":"ElementaryTypeName","src":"291023:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35502,"nodeType":"VariableDeclarationStatement","src":"291023:10:19"},{"assignments":[35504],"declarations":[{"constant":false,"id":35504,"mutability":"mutable","name":"m6","nameLocation":"291051:2:19","nodeType":"VariableDeclaration","scope":35513,"src":"291043:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35503,"name":"bytes32","nodeType":"ElementaryTypeName","src":"291043:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35505,"nodeType":"VariableDeclarationStatement","src":"291043:10:19"},{"AST":{"nativeSrc":"291115:828:19","nodeType":"YulBlock","src":"291115:828:19","statements":[{"body":{"nativeSrc":"291158:313:19","nodeType":"YulBlock","src":"291158:313:19","statements":[{"nativeSrc":"291176:15:19","nodeType":"YulVariableDeclaration","src":"291176:15:19","value":{"kind":"number","nativeSrc":"291190:1:19","nodeType":"YulLiteral","src":"291190:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"291180:6:19","nodeType":"YulTypedName","src":"291180:6:19","type":""}]},{"body":{"nativeSrc":"291261:40:19","nodeType":"YulBlock","src":"291261:40:19","statements":[{"body":{"nativeSrc":"291290:9:19","nodeType":"YulBlock","src":"291290:9:19","statements":[{"nativeSrc":"291292:5:19","nodeType":"YulBreak","src":"291292:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"291278:6:19","nodeType":"YulIdentifier","src":"291278:6:19"},{"name":"w","nativeSrc":"291286:1:19","nodeType":"YulIdentifier","src":"291286:1:19"}],"functionName":{"name":"byte","nativeSrc":"291273:4:19","nodeType":"YulIdentifier","src":"291273:4:19"},"nativeSrc":"291273:15:19","nodeType":"YulFunctionCall","src":"291273:15:19"}],"functionName":{"name":"iszero","nativeSrc":"291266:6:19","nodeType":"YulIdentifier","src":"291266:6:19"},"nativeSrc":"291266:23:19","nodeType":"YulFunctionCall","src":"291266:23:19"},"nativeSrc":"291263:36:19","nodeType":"YulIf","src":"291263:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"291218:6:19","nodeType":"YulIdentifier","src":"291218:6:19"},{"kind":"number","nativeSrc":"291226:4:19","nodeType":"YulLiteral","src":"291226:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"291215:2:19","nodeType":"YulIdentifier","src":"291215:2:19"},"nativeSrc":"291215:16:19","nodeType":"YulFunctionCall","src":"291215:16:19"},"nativeSrc":"291208:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"291232:28:19","nodeType":"YulBlock","src":"291232:28:19","statements":[{"nativeSrc":"291234:24:19","nodeType":"YulAssignment","src":"291234:24:19","value":{"arguments":[{"name":"length","nativeSrc":"291248:6:19","nodeType":"YulIdentifier","src":"291248:6:19"},{"kind":"number","nativeSrc":"291256:1:19","nodeType":"YulLiteral","src":"291256:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"291244:3:19","nodeType":"YulIdentifier","src":"291244:3:19"},"nativeSrc":"291244:14:19","nodeType":"YulFunctionCall","src":"291244:14:19"},"variableNames":[{"name":"length","nativeSrc":"291234:6:19","nodeType":"YulIdentifier","src":"291234:6:19"}]}]},"pre":{"nativeSrc":"291212:2:19","nodeType":"YulBlock","src":"291212:2:19","statements":[]},"src":"291208:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"291325:3:19","nodeType":"YulIdentifier","src":"291325:3:19"},{"name":"length","nativeSrc":"291330:6:19","nodeType":"YulIdentifier","src":"291330:6:19"}],"functionName":{"name":"mstore","nativeSrc":"291318:6:19","nodeType":"YulIdentifier","src":"291318:6:19"},"nativeSrc":"291318:19:19","nodeType":"YulFunctionCall","src":"291318:19:19"},"nativeSrc":"291318:19:19","nodeType":"YulExpressionStatement","src":"291318:19:19"},{"nativeSrc":"291354:37:19","nodeType":"YulVariableDeclaration","src":"291354:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"291371:3:19","nodeType":"YulLiteral","src":"291371:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"291380:1:19","nodeType":"YulLiteral","src":"291380:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"291383:6:19","nodeType":"YulIdentifier","src":"291383:6:19"}],"functionName":{"name":"shl","nativeSrc":"291376:3:19","nodeType":"YulIdentifier","src":"291376:3:19"},"nativeSrc":"291376:14:19","nodeType":"YulFunctionCall","src":"291376:14:19"}],"functionName":{"name":"sub","nativeSrc":"291367:3:19","nodeType":"YulIdentifier","src":"291367:3:19"},"nativeSrc":"291367:24:19","nodeType":"YulFunctionCall","src":"291367:24:19"},"variables":[{"name":"shift","nativeSrc":"291358:5:19","nodeType":"YulTypedName","src":"291358:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"291419:3:19","nodeType":"YulIdentifier","src":"291419:3:19"},{"kind":"number","nativeSrc":"291424:4:19","nodeType":"YulLiteral","src":"291424:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"291415:3:19","nodeType":"YulIdentifier","src":"291415:3:19"},"nativeSrc":"291415:14:19","nodeType":"YulFunctionCall","src":"291415:14:19"},{"arguments":[{"name":"shift","nativeSrc":"291435:5:19","nodeType":"YulIdentifier","src":"291435:5:19"},{"arguments":[{"name":"shift","nativeSrc":"291446:5:19","nodeType":"YulIdentifier","src":"291446:5:19"},{"name":"w","nativeSrc":"291453:1:19","nodeType":"YulIdentifier","src":"291453:1:19"}],"functionName":{"name":"shr","nativeSrc":"291442:3:19","nodeType":"YulIdentifier","src":"291442:3:19"},"nativeSrc":"291442:13:19","nodeType":"YulFunctionCall","src":"291442:13:19"}],"functionName":{"name":"shl","nativeSrc":"291431:3:19","nodeType":"YulIdentifier","src":"291431:3:19"},"nativeSrc":"291431:25:19","nodeType":"YulFunctionCall","src":"291431:25:19"}],"functionName":{"name":"mstore","nativeSrc":"291408:6:19","nodeType":"YulIdentifier","src":"291408:6:19"},"nativeSrc":"291408:49:19","nodeType":"YulFunctionCall","src":"291408:49:19"},"nativeSrc":"291408:49:19","nodeType":"YulExpressionStatement","src":"291408:49:19"}]},"name":"writeString","nativeSrc":"291129:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"291150:3:19","nodeType":"YulTypedName","src":"291150:3:19","type":""},{"name":"w","nativeSrc":"291155:1:19","nodeType":"YulTypedName","src":"291155:1:19","type":""}],"src":"291129:342:19"},{"nativeSrc":"291484:17:19","nodeType":"YulAssignment","src":"291484:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"291496:4:19","nodeType":"YulLiteral","src":"291496:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"291490:5:19","nodeType":"YulIdentifier","src":"291490:5:19"},"nativeSrc":"291490:11:19","nodeType":"YulFunctionCall","src":"291490:11:19"},"variableNames":[{"name":"m0","nativeSrc":"291484:2:19","nodeType":"YulIdentifier","src":"291484:2:19"}]},{"nativeSrc":"291514:17:19","nodeType":"YulAssignment","src":"291514:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"291526:4:19","nodeType":"YulLiteral","src":"291526:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"291520:5:19","nodeType":"YulIdentifier","src":"291520:5:19"},"nativeSrc":"291520:11:19","nodeType":"YulFunctionCall","src":"291520:11:19"},"variableNames":[{"name":"m1","nativeSrc":"291514:2:19","nodeType":"YulIdentifier","src":"291514:2:19"}]},{"nativeSrc":"291544:17:19","nodeType":"YulAssignment","src":"291544:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"291556:4:19","nodeType":"YulLiteral","src":"291556:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"291550:5:19","nodeType":"YulIdentifier","src":"291550:5:19"},"nativeSrc":"291550:11:19","nodeType":"YulFunctionCall","src":"291550:11:19"},"variableNames":[{"name":"m2","nativeSrc":"291544:2:19","nodeType":"YulIdentifier","src":"291544:2:19"}]},{"nativeSrc":"291574:17:19","nodeType":"YulAssignment","src":"291574:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"291586:4:19","nodeType":"YulLiteral","src":"291586:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"291580:5:19","nodeType":"YulIdentifier","src":"291580:5:19"},"nativeSrc":"291580:11:19","nodeType":"YulFunctionCall","src":"291580:11:19"},"variableNames":[{"name":"m3","nativeSrc":"291574:2:19","nodeType":"YulIdentifier","src":"291574:2:19"}]},{"nativeSrc":"291604:17:19","nodeType":"YulAssignment","src":"291604:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"291616:4:19","nodeType":"YulLiteral","src":"291616:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"291610:5:19","nodeType":"YulIdentifier","src":"291610:5:19"},"nativeSrc":"291610:11:19","nodeType":"YulFunctionCall","src":"291610:11:19"},"variableNames":[{"name":"m4","nativeSrc":"291604:2:19","nodeType":"YulIdentifier","src":"291604:2:19"}]},{"nativeSrc":"291634:17:19","nodeType":"YulAssignment","src":"291634:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"291646:4:19","nodeType":"YulLiteral","src":"291646:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"291640:5:19","nodeType":"YulIdentifier","src":"291640:5:19"},"nativeSrc":"291640:11:19","nodeType":"YulFunctionCall","src":"291640:11:19"},"variableNames":[{"name":"m5","nativeSrc":"291634:2:19","nodeType":"YulIdentifier","src":"291634:2:19"}]},{"nativeSrc":"291664:17:19","nodeType":"YulAssignment","src":"291664:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"291676:4:19","nodeType":"YulLiteral","src":"291676:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"291670:5:19","nodeType":"YulIdentifier","src":"291670:5:19"},"nativeSrc":"291670:11:19","nodeType":"YulFunctionCall","src":"291670:11:19"},"variableNames":[{"name":"m6","nativeSrc":"291664:2:19","nodeType":"YulIdentifier","src":"291664:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"291764:4:19","nodeType":"YulLiteral","src":"291764:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"291770:10:19","nodeType":"YulLiteral","src":"291770:10:19","type":"","value":"0xa5b4fc99"}],"functionName":{"name":"mstore","nativeSrc":"291757:6:19","nodeType":"YulIdentifier","src":"291757:6:19"},"nativeSrc":"291757:24:19","nodeType":"YulFunctionCall","src":"291757:24:19"},"nativeSrc":"291757:24:19","nodeType":"YulExpressionStatement","src":"291757:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"291801:4:19","nodeType":"YulLiteral","src":"291801:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"291807:2:19","nodeType":"YulIdentifier","src":"291807:2:19"}],"functionName":{"name":"mstore","nativeSrc":"291794:6:19","nodeType":"YulIdentifier","src":"291794:6:19"},"nativeSrc":"291794:16:19","nodeType":"YulFunctionCall","src":"291794:16:19"},"nativeSrc":"291794:16:19","nodeType":"YulExpressionStatement","src":"291794:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"291830:4:19","nodeType":"YulLiteral","src":"291830:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"291836:2:19","nodeType":"YulIdentifier","src":"291836:2:19"}],"functionName":{"name":"mstore","nativeSrc":"291823:6:19","nodeType":"YulIdentifier","src":"291823:6:19"},"nativeSrc":"291823:16:19","nodeType":"YulFunctionCall","src":"291823:16:19"},"nativeSrc":"291823:16:19","nodeType":"YulExpressionStatement","src":"291823:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"291859:4:19","nodeType":"YulLiteral","src":"291859:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"291865:2:19","nodeType":"YulIdentifier","src":"291865:2:19"}],"functionName":{"name":"mstore","nativeSrc":"291852:6:19","nodeType":"YulIdentifier","src":"291852:6:19"},"nativeSrc":"291852:16:19","nodeType":"YulFunctionCall","src":"291852:16:19"},"nativeSrc":"291852:16:19","nodeType":"YulExpressionStatement","src":"291852:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"291888:4:19","nodeType":"YulLiteral","src":"291888:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"291894:4:19","nodeType":"YulLiteral","src":"291894:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"291881:6:19","nodeType":"YulIdentifier","src":"291881:6:19"},"nativeSrc":"291881:18:19","nodeType":"YulFunctionCall","src":"291881:18:19"},"nativeSrc":"291881:18:19","nodeType":"YulExpressionStatement","src":"291881:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"291924:4:19","nodeType":"YulLiteral","src":"291924:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"291930:2:19","nodeType":"YulIdentifier","src":"291930:2:19"}],"functionName":{"name":"writeString","nativeSrc":"291912:11:19","nodeType":"YulIdentifier","src":"291912:11:19"},"nativeSrc":"291912:21:19","nodeType":"YulFunctionCall","src":"291912:21:19"},"nativeSrc":"291912:21:19","nodeType":"YulExpressionStatement","src":"291912:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35486,"isOffset":false,"isSlot":false,"src":"291484:2:19","valueSize":1},{"declaration":35489,"isOffset":false,"isSlot":false,"src":"291514:2:19","valueSize":1},{"declaration":35492,"isOffset":false,"isSlot":false,"src":"291544:2:19","valueSize":1},{"declaration":35495,"isOffset":false,"isSlot":false,"src":"291574:2:19","valueSize":1},{"declaration":35498,"isOffset":false,"isSlot":false,"src":"291604:2:19","valueSize":1},{"declaration":35501,"isOffset":false,"isSlot":false,"src":"291634:2:19","valueSize":1},{"declaration":35504,"isOffset":false,"isSlot":false,"src":"291664:2:19","valueSize":1},{"declaration":35476,"isOffset":false,"isSlot":false,"src":"291807:2:19","valueSize":1},{"declaration":35478,"isOffset":false,"isSlot":false,"src":"291836:2:19","valueSize":1},{"declaration":35480,"isOffset":false,"isSlot":false,"src":"291865:2:19","valueSize":1},{"declaration":35482,"isOffset":false,"isSlot":false,"src":"291930:2:19","valueSize":1}],"id":35506,"nodeType":"InlineAssembly","src":"291106:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"291968:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"291974:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":35507,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"291952:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"291952:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35511,"nodeType":"ExpressionStatement","src":"291952:27:19"},{"AST":{"nativeSrc":"292041:214:19","nodeType":"YulBlock","src":"292041:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"292062:4:19","nodeType":"YulLiteral","src":"292062:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"292068:2:19","nodeType":"YulIdentifier","src":"292068:2:19"}],"functionName":{"name":"mstore","nativeSrc":"292055:6:19","nodeType":"YulIdentifier","src":"292055:6:19"},"nativeSrc":"292055:16:19","nodeType":"YulFunctionCall","src":"292055:16:19"},"nativeSrc":"292055:16:19","nodeType":"YulExpressionStatement","src":"292055:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292091:4:19","nodeType":"YulLiteral","src":"292091:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"292097:2:19","nodeType":"YulIdentifier","src":"292097:2:19"}],"functionName":{"name":"mstore","nativeSrc":"292084:6:19","nodeType":"YulIdentifier","src":"292084:6:19"},"nativeSrc":"292084:16:19","nodeType":"YulFunctionCall","src":"292084:16:19"},"nativeSrc":"292084:16:19","nodeType":"YulExpressionStatement","src":"292084:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292120:4:19","nodeType":"YulLiteral","src":"292120:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"292126:2:19","nodeType":"YulIdentifier","src":"292126:2:19"}],"functionName":{"name":"mstore","nativeSrc":"292113:6:19","nodeType":"YulIdentifier","src":"292113:6:19"},"nativeSrc":"292113:16:19","nodeType":"YulFunctionCall","src":"292113:16:19"},"nativeSrc":"292113:16:19","nodeType":"YulExpressionStatement","src":"292113:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292149:4:19","nodeType":"YulLiteral","src":"292149:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"292155:2:19","nodeType":"YulIdentifier","src":"292155:2:19"}],"functionName":{"name":"mstore","nativeSrc":"292142:6:19","nodeType":"YulIdentifier","src":"292142:6:19"},"nativeSrc":"292142:16:19","nodeType":"YulFunctionCall","src":"292142:16:19"},"nativeSrc":"292142:16:19","nodeType":"YulExpressionStatement","src":"292142:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292178:4:19","nodeType":"YulLiteral","src":"292178:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"292184:2:19","nodeType":"YulIdentifier","src":"292184:2:19"}],"functionName":{"name":"mstore","nativeSrc":"292171:6:19","nodeType":"YulIdentifier","src":"292171:6:19"},"nativeSrc":"292171:16:19","nodeType":"YulFunctionCall","src":"292171:16:19"},"nativeSrc":"292171:16:19","nodeType":"YulExpressionStatement","src":"292171:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292207:4:19","nodeType":"YulLiteral","src":"292207:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"292213:2:19","nodeType":"YulIdentifier","src":"292213:2:19"}],"functionName":{"name":"mstore","nativeSrc":"292200:6:19","nodeType":"YulIdentifier","src":"292200:6:19"},"nativeSrc":"292200:16:19","nodeType":"YulFunctionCall","src":"292200:16:19"},"nativeSrc":"292200:16:19","nodeType":"YulExpressionStatement","src":"292200:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292236:4:19","nodeType":"YulLiteral","src":"292236:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"292242:2:19","nodeType":"YulIdentifier","src":"292242:2:19"}],"functionName":{"name":"mstore","nativeSrc":"292229:6:19","nodeType":"YulIdentifier","src":"292229:6:19"},"nativeSrc":"292229:16:19","nodeType":"YulFunctionCall","src":"292229:16:19"},"nativeSrc":"292229:16:19","nodeType":"YulExpressionStatement","src":"292229:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35486,"isOffset":false,"isSlot":false,"src":"292068:2:19","valueSize":1},{"declaration":35489,"isOffset":false,"isSlot":false,"src":"292097:2:19","valueSize":1},{"declaration":35492,"isOffset":false,"isSlot":false,"src":"292126:2:19","valueSize":1},{"declaration":35495,"isOffset":false,"isSlot":false,"src":"292155:2:19","valueSize":1},{"declaration":35498,"isOffset":false,"isSlot":false,"src":"292184:2:19","valueSize":1},{"declaration":35501,"isOffset":false,"isSlot":false,"src":"292213:2:19","valueSize":1},{"declaration":35504,"isOffset":false,"isSlot":false,"src":"292242:2:19","valueSize":1}],"id":35512,"nodeType":"InlineAssembly","src":"292032:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"290850:3:19","parameters":{"id":35483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35476,"mutability":"mutable","name":"p0","nameLocation":"290862:2:19","nodeType":"VariableDeclaration","scope":35514,"src":"290854:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35475,"name":"uint256","nodeType":"ElementaryTypeName","src":"290854:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35478,"mutability":"mutable","name":"p1","nameLocation":"290874:2:19","nodeType":"VariableDeclaration","scope":35514,"src":"290866:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35477,"name":"uint256","nodeType":"ElementaryTypeName","src":"290866:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35480,"mutability":"mutable","name":"p2","nameLocation":"290883:2:19","nodeType":"VariableDeclaration","scope":35514,"src":"290878:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35479,"name":"bool","nodeType":"ElementaryTypeName","src":"290878:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35482,"mutability":"mutable","name":"p3","nameLocation":"290895:2:19","nodeType":"VariableDeclaration","scope":35514,"src":"290887:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35481,"name":"bytes32","nodeType":"ElementaryTypeName","src":"290887:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"290853:45:19"},"returnParameters":{"id":35484,"nodeType":"ParameterList","parameters":[],"src":"290913:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35548,"nodeType":"FunctionDefinition","src":"292267:878:19","nodes":[],"body":{"id":35547,"nodeType":"Block","src":"292342:803:19","nodes":[],"statements":[{"assignments":[35526],"declarations":[{"constant":false,"id":35526,"mutability":"mutable","name":"m0","nameLocation":"292360:2:19","nodeType":"VariableDeclaration","scope":35547,"src":"292352:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35525,"name":"bytes32","nodeType":"ElementaryTypeName","src":"292352:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35527,"nodeType":"VariableDeclarationStatement","src":"292352:10:19"},{"assignments":[35529],"declarations":[{"constant":false,"id":35529,"mutability":"mutable","name":"m1","nameLocation":"292380:2:19","nodeType":"VariableDeclaration","scope":35547,"src":"292372:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35528,"name":"bytes32","nodeType":"ElementaryTypeName","src":"292372:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35530,"nodeType":"VariableDeclarationStatement","src":"292372:10:19"},{"assignments":[35532],"declarations":[{"constant":false,"id":35532,"mutability":"mutable","name":"m2","nameLocation":"292400:2:19","nodeType":"VariableDeclaration","scope":35547,"src":"292392:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35531,"name":"bytes32","nodeType":"ElementaryTypeName","src":"292392:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35533,"nodeType":"VariableDeclarationStatement","src":"292392:10:19"},{"assignments":[35535],"declarations":[{"constant":false,"id":35535,"mutability":"mutable","name":"m3","nameLocation":"292420:2:19","nodeType":"VariableDeclaration","scope":35547,"src":"292412:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35534,"name":"bytes32","nodeType":"ElementaryTypeName","src":"292412:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35536,"nodeType":"VariableDeclarationStatement","src":"292412:10:19"},{"assignments":[35538],"declarations":[{"constant":false,"id":35538,"mutability":"mutable","name":"m4","nameLocation":"292440:2:19","nodeType":"VariableDeclaration","scope":35547,"src":"292432:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35537,"name":"bytes32","nodeType":"ElementaryTypeName","src":"292432:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35539,"nodeType":"VariableDeclarationStatement","src":"292432:10:19"},{"AST":{"nativeSrc":"292504:381:19","nodeType":"YulBlock","src":"292504:381:19","statements":[{"nativeSrc":"292518:17:19","nodeType":"YulAssignment","src":"292518:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"292530:4:19","nodeType":"YulLiteral","src":"292530:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"292524:5:19","nodeType":"YulIdentifier","src":"292524:5:19"},"nativeSrc":"292524:11:19","nodeType":"YulFunctionCall","src":"292524:11:19"},"variableNames":[{"name":"m0","nativeSrc":"292518:2:19","nodeType":"YulIdentifier","src":"292518:2:19"}]},{"nativeSrc":"292548:17:19","nodeType":"YulAssignment","src":"292548:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"292560:4:19","nodeType":"YulLiteral","src":"292560:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"292554:5:19","nodeType":"YulIdentifier","src":"292554:5:19"},"nativeSrc":"292554:11:19","nodeType":"YulFunctionCall","src":"292554:11:19"},"variableNames":[{"name":"m1","nativeSrc":"292548:2:19","nodeType":"YulIdentifier","src":"292548:2:19"}]},{"nativeSrc":"292578:17:19","nodeType":"YulAssignment","src":"292578:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"292590:4:19","nodeType":"YulLiteral","src":"292590:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"292584:5:19","nodeType":"YulIdentifier","src":"292584:5:19"},"nativeSrc":"292584:11:19","nodeType":"YulFunctionCall","src":"292584:11:19"},"variableNames":[{"name":"m2","nativeSrc":"292578:2:19","nodeType":"YulIdentifier","src":"292578:2:19"}]},{"nativeSrc":"292608:17:19","nodeType":"YulAssignment","src":"292608:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"292620:4:19","nodeType":"YulLiteral","src":"292620:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"292614:5:19","nodeType":"YulIdentifier","src":"292614:5:19"},"nativeSrc":"292614:11:19","nodeType":"YulFunctionCall","src":"292614:11:19"},"variableNames":[{"name":"m3","nativeSrc":"292608:2:19","nodeType":"YulIdentifier","src":"292608:2:19"}]},{"nativeSrc":"292638:17:19","nodeType":"YulAssignment","src":"292638:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"292650:4:19","nodeType":"YulLiteral","src":"292650:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"292644:5:19","nodeType":"YulIdentifier","src":"292644:5:19"},"nativeSrc":"292644:11:19","nodeType":"YulFunctionCall","src":"292644:11:19"},"variableNames":[{"name":"m4","nativeSrc":"292638:2:19","nodeType":"YulIdentifier","src":"292638:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292742:4:19","nodeType":"YulLiteral","src":"292742:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"292748:10:19","nodeType":"YulLiteral","src":"292748:10:19","type":"","value":"0xfa8185af"}],"functionName":{"name":"mstore","nativeSrc":"292735:6:19","nodeType":"YulIdentifier","src":"292735:6:19"},"nativeSrc":"292735:24:19","nodeType":"YulFunctionCall","src":"292735:24:19"},"nativeSrc":"292735:24:19","nodeType":"YulExpressionStatement","src":"292735:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292779:4:19","nodeType":"YulLiteral","src":"292779:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"292785:2:19","nodeType":"YulIdentifier","src":"292785:2:19"}],"functionName":{"name":"mstore","nativeSrc":"292772:6:19","nodeType":"YulIdentifier","src":"292772:6:19"},"nativeSrc":"292772:16:19","nodeType":"YulFunctionCall","src":"292772:16:19"},"nativeSrc":"292772:16:19","nodeType":"YulExpressionStatement","src":"292772:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292808:4:19","nodeType":"YulLiteral","src":"292808:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"292814:2:19","nodeType":"YulIdentifier","src":"292814:2:19"}],"functionName":{"name":"mstore","nativeSrc":"292801:6:19","nodeType":"YulIdentifier","src":"292801:6:19"},"nativeSrc":"292801:16:19","nodeType":"YulFunctionCall","src":"292801:16:19"},"nativeSrc":"292801:16:19","nodeType":"YulExpressionStatement","src":"292801:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292837:4:19","nodeType":"YulLiteral","src":"292837:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"292843:2:19","nodeType":"YulIdentifier","src":"292843:2:19"}],"functionName":{"name":"mstore","nativeSrc":"292830:6:19","nodeType":"YulIdentifier","src":"292830:6:19"},"nativeSrc":"292830:16:19","nodeType":"YulFunctionCall","src":"292830:16:19"},"nativeSrc":"292830:16:19","nodeType":"YulExpressionStatement","src":"292830:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"292866:4:19","nodeType":"YulLiteral","src":"292866:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"292872:2:19","nodeType":"YulIdentifier","src":"292872:2:19"}],"functionName":{"name":"mstore","nativeSrc":"292859:6:19","nodeType":"YulIdentifier","src":"292859:6:19"},"nativeSrc":"292859:16:19","nodeType":"YulFunctionCall","src":"292859:16:19"},"nativeSrc":"292859:16:19","nodeType":"YulExpressionStatement","src":"292859:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35526,"isOffset":false,"isSlot":false,"src":"292518:2:19","valueSize":1},{"declaration":35529,"isOffset":false,"isSlot":false,"src":"292548:2:19","valueSize":1},{"declaration":35532,"isOffset":false,"isSlot":false,"src":"292578:2:19","valueSize":1},{"declaration":35535,"isOffset":false,"isSlot":false,"src":"292608:2:19","valueSize":1},{"declaration":35538,"isOffset":false,"isSlot":false,"src":"292638:2:19","valueSize":1},{"declaration":35516,"isOffset":false,"isSlot":false,"src":"292785:2:19","valueSize":1},{"declaration":35518,"isOffset":false,"isSlot":false,"src":"292814:2:19","valueSize":1},{"declaration":35520,"isOffset":false,"isSlot":false,"src":"292843:2:19","valueSize":1},{"declaration":35522,"isOffset":false,"isSlot":false,"src":"292872:2:19","valueSize":1}],"id":35540,"nodeType":"InlineAssembly","src":"292495:390:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"292910:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"292916:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":35541,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"292894:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"292894:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35545,"nodeType":"ExpressionStatement","src":"292894:27:19"},{"AST":{"nativeSrc":"292983:156:19","nodeType":"YulBlock","src":"292983:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"293004:4:19","nodeType":"YulLiteral","src":"293004:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"293010:2:19","nodeType":"YulIdentifier","src":"293010:2:19"}],"functionName":{"name":"mstore","nativeSrc":"292997:6:19","nodeType":"YulIdentifier","src":"292997:6:19"},"nativeSrc":"292997:16:19","nodeType":"YulFunctionCall","src":"292997:16:19"},"nativeSrc":"292997:16:19","nodeType":"YulExpressionStatement","src":"292997:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293033:4:19","nodeType":"YulLiteral","src":"293033:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"293039:2:19","nodeType":"YulIdentifier","src":"293039:2:19"}],"functionName":{"name":"mstore","nativeSrc":"293026:6:19","nodeType":"YulIdentifier","src":"293026:6:19"},"nativeSrc":"293026:16:19","nodeType":"YulFunctionCall","src":"293026:16:19"},"nativeSrc":"293026:16:19","nodeType":"YulExpressionStatement","src":"293026:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293062:4:19","nodeType":"YulLiteral","src":"293062:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"293068:2:19","nodeType":"YulIdentifier","src":"293068:2:19"}],"functionName":{"name":"mstore","nativeSrc":"293055:6:19","nodeType":"YulIdentifier","src":"293055:6:19"},"nativeSrc":"293055:16:19","nodeType":"YulFunctionCall","src":"293055:16:19"},"nativeSrc":"293055:16:19","nodeType":"YulExpressionStatement","src":"293055:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293091:4:19","nodeType":"YulLiteral","src":"293091:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"293097:2:19","nodeType":"YulIdentifier","src":"293097:2:19"}],"functionName":{"name":"mstore","nativeSrc":"293084:6:19","nodeType":"YulIdentifier","src":"293084:6:19"},"nativeSrc":"293084:16:19","nodeType":"YulFunctionCall","src":"293084:16:19"},"nativeSrc":"293084:16:19","nodeType":"YulExpressionStatement","src":"293084:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293120:4:19","nodeType":"YulLiteral","src":"293120:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"293126:2:19","nodeType":"YulIdentifier","src":"293126:2:19"}],"functionName":{"name":"mstore","nativeSrc":"293113:6:19","nodeType":"YulIdentifier","src":"293113:6:19"},"nativeSrc":"293113:16:19","nodeType":"YulFunctionCall","src":"293113:16:19"},"nativeSrc":"293113:16:19","nodeType":"YulExpressionStatement","src":"293113:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35526,"isOffset":false,"isSlot":false,"src":"293010:2:19","valueSize":1},{"declaration":35529,"isOffset":false,"isSlot":false,"src":"293039:2:19","valueSize":1},{"declaration":35532,"isOffset":false,"isSlot":false,"src":"293068:2:19","valueSize":1},{"declaration":35535,"isOffset":false,"isSlot":false,"src":"293097:2:19","valueSize":1},{"declaration":35538,"isOffset":false,"isSlot":false,"src":"293126:2:19","valueSize":1}],"id":35546,"nodeType":"InlineAssembly","src":"292974:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"292276:3:19","parameters":{"id":35523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35516,"mutability":"mutable","name":"p0","nameLocation":"292288:2:19","nodeType":"VariableDeclaration","scope":35548,"src":"292280:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35515,"name":"uint256","nodeType":"ElementaryTypeName","src":"292280:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35518,"mutability":"mutable","name":"p1","nameLocation":"292300:2:19","nodeType":"VariableDeclaration","scope":35548,"src":"292292:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35517,"name":"uint256","nodeType":"ElementaryTypeName","src":"292292:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35520,"mutability":"mutable","name":"p2","nameLocation":"292312:2:19","nodeType":"VariableDeclaration","scope":35548,"src":"292304:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35519,"name":"uint256","nodeType":"ElementaryTypeName","src":"292304:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35522,"mutability":"mutable","name":"p3","nameLocation":"292324:2:19","nodeType":"VariableDeclaration","scope":35548,"src":"292316:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35521,"name":"address","nodeType":"ElementaryTypeName","src":"292316:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"292279:48:19"},"returnParameters":{"id":35524,"nodeType":"ParameterList","parameters":[],"src":"292342:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35582,"nodeType":"FunctionDefinition","src":"293151:872:19","nodes":[],"body":{"id":35581,"nodeType":"Block","src":"293223:800:19","nodes":[],"statements":[{"assignments":[35560],"declarations":[{"constant":false,"id":35560,"mutability":"mutable","name":"m0","nameLocation":"293241:2:19","nodeType":"VariableDeclaration","scope":35581,"src":"293233:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35559,"name":"bytes32","nodeType":"ElementaryTypeName","src":"293233:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35561,"nodeType":"VariableDeclarationStatement","src":"293233:10:19"},{"assignments":[35563],"declarations":[{"constant":false,"id":35563,"mutability":"mutable","name":"m1","nameLocation":"293261:2:19","nodeType":"VariableDeclaration","scope":35581,"src":"293253:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35562,"name":"bytes32","nodeType":"ElementaryTypeName","src":"293253:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35564,"nodeType":"VariableDeclarationStatement","src":"293253:10:19"},{"assignments":[35566],"declarations":[{"constant":false,"id":35566,"mutability":"mutable","name":"m2","nameLocation":"293281:2:19","nodeType":"VariableDeclaration","scope":35581,"src":"293273:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35565,"name":"bytes32","nodeType":"ElementaryTypeName","src":"293273:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35567,"nodeType":"VariableDeclarationStatement","src":"293273:10:19"},{"assignments":[35569],"declarations":[{"constant":false,"id":35569,"mutability":"mutable","name":"m3","nameLocation":"293301:2:19","nodeType":"VariableDeclaration","scope":35581,"src":"293293:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35568,"name":"bytes32","nodeType":"ElementaryTypeName","src":"293293:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35570,"nodeType":"VariableDeclarationStatement","src":"293293:10:19"},{"assignments":[35572],"declarations":[{"constant":false,"id":35572,"mutability":"mutable","name":"m4","nameLocation":"293321:2:19","nodeType":"VariableDeclaration","scope":35581,"src":"293313:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35571,"name":"bytes32","nodeType":"ElementaryTypeName","src":"293313:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35573,"nodeType":"VariableDeclarationStatement","src":"293313:10:19"},{"AST":{"nativeSrc":"293385:378:19","nodeType":"YulBlock","src":"293385:378:19","statements":[{"nativeSrc":"293399:17:19","nodeType":"YulAssignment","src":"293399:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"293411:4:19","nodeType":"YulLiteral","src":"293411:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"293405:5:19","nodeType":"YulIdentifier","src":"293405:5:19"},"nativeSrc":"293405:11:19","nodeType":"YulFunctionCall","src":"293405:11:19"},"variableNames":[{"name":"m0","nativeSrc":"293399:2:19","nodeType":"YulIdentifier","src":"293399:2:19"}]},{"nativeSrc":"293429:17:19","nodeType":"YulAssignment","src":"293429:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"293441:4:19","nodeType":"YulLiteral","src":"293441:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"293435:5:19","nodeType":"YulIdentifier","src":"293435:5:19"},"nativeSrc":"293435:11:19","nodeType":"YulFunctionCall","src":"293435:11:19"},"variableNames":[{"name":"m1","nativeSrc":"293429:2:19","nodeType":"YulIdentifier","src":"293429:2:19"}]},{"nativeSrc":"293459:17:19","nodeType":"YulAssignment","src":"293459:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"293471:4:19","nodeType":"YulLiteral","src":"293471:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"293465:5:19","nodeType":"YulIdentifier","src":"293465:5:19"},"nativeSrc":"293465:11:19","nodeType":"YulFunctionCall","src":"293465:11:19"},"variableNames":[{"name":"m2","nativeSrc":"293459:2:19","nodeType":"YulIdentifier","src":"293459:2:19"}]},{"nativeSrc":"293489:17:19","nodeType":"YulAssignment","src":"293489:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"293501:4:19","nodeType":"YulLiteral","src":"293501:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"293495:5:19","nodeType":"YulIdentifier","src":"293495:5:19"},"nativeSrc":"293495:11:19","nodeType":"YulFunctionCall","src":"293495:11:19"},"variableNames":[{"name":"m3","nativeSrc":"293489:2:19","nodeType":"YulIdentifier","src":"293489:2:19"}]},{"nativeSrc":"293519:17:19","nodeType":"YulAssignment","src":"293519:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"293531:4:19","nodeType":"YulLiteral","src":"293531:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"293525:5:19","nodeType":"YulIdentifier","src":"293525:5:19"},"nativeSrc":"293525:11:19","nodeType":"YulFunctionCall","src":"293525:11:19"},"variableNames":[{"name":"m4","nativeSrc":"293519:2:19","nodeType":"YulIdentifier","src":"293519:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293620:4:19","nodeType":"YulLiteral","src":"293620:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"293626:10:19","nodeType":"YulLiteral","src":"293626:10:19","type":"","value":"0xc598d185"}],"functionName":{"name":"mstore","nativeSrc":"293613:6:19","nodeType":"YulIdentifier","src":"293613:6:19"},"nativeSrc":"293613:24:19","nodeType":"YulFunctionCall","src":"293613:24:19"},"nativeSrc":"293613:24:19","nodeType":"YulExpressionStatement","src":"293613:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293657:4:19","nodeType":"YulLiteral","src":"293657:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"293663:2:19","nodeType":"YulIdentifier","src":"293663:2:19"}],"functionName":{"name":"mstore","nativeSrc":"293650:6:19","nodeType":"YulIdentifier","src":"293650:6:19"},"nativeSrc":"293650:16:19","nodeType":"YulFunctionCall","src":"293650:16:19"},"nativeSrc":"293650:16:19","nodeType":"YulExpressionStatement","src":"293650:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293686:4:19","nodeType":"YulLiteral","src":"293686:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"293692:2:19","nodeType":"YulIdentifier","src":"293692:2:19"}],"functionName":{"name":"mstore","nativeSrc":"293679:6:19","nodeType":"YulIdentifier","src":"293679:6:19"},"nativeSrc":"293679:16:19","nodeType":"YulFunctionCall","src":"293679:16:19"},"nativeSrc":"293679:16:19","nodeType":"YulExpressionStatement","src":"293679:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293715:4:19","nodeType":"YulLiteral","src":"293715:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"293721:2:19","nodeType":"YulIdentifier","src":"293721:2:19"}],"functionName":{"name":"mstore","nativeSrc":"293708:6:19","nodeType":"YulIdentifier","src":"293708:6:19"},"nativeSrc":"293708:16:19","nodeType":"YulFunctionCall","src":"293708:16:19"},"nativeSrc":"293708:16:19","nodeType":"YulExpressionStatement","src":"293708:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293744:4:19","nodeType":"YulLiteral","src":"293744:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"293750:2:19","nodeType":"YulIdentifier","src":"293750:2:19"}],"functionName":{"name":"mstore","nativeSrc":"293737:6:19","nodeType":"YulIdentifier","src":"293737:6:19"},"nativeSrc":"293737:16:19","nodeType":"YulFunctionCall","src":"293737:16:19"},"nativeSrc":"293737:16:19","nodeType":"YulExpressionStatement","src":"293737:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35560,"isOffset":false,"isSlot":false,"src":"293399:2:19","valueSize":1},{"declaration":35563,"isOffset":false,"isSlot":false,"src":"293429:2:19","valueSize":1},{"declaration":35566,"isOffset":false,"isSlot":false,"src":"293459:2:19","valueSize":1},{"declaration":35569,"isOffset":false,"isSlot":false,"src":"293489:2:19","valueSize":1},{"declaration":35572,"isOffset":false,"isSlot":false,"src":"293519:2:19","valueSize":1},{"declaration":35550,"isOffset":false,"isSlot":false,"src":"293663:2:19","valueSize":1},{"declaration":35552,"isOffset":false,"isSlot":false,"src":"293692:2:19","valueSize":1},{"declaration":35554,"isOffset":false,"isSlot":false,"src":"293721:2:19","valueSize":1},{"declaration":35556,"isOffset":false,"isSlot":false,"src":"293750:2:19","valueSize":1}],"id":35574,"nodeType":"InlineAssembly","src":"293376:387:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"293788:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"293794:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":35575,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"293772:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"293772:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35579,"nodeType":"ExpressionStatement","src":"293772:27:19"},{"AST":{"nativeSrc":"293861:156:19","nodeType":"YulBlock","src":"293861:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"293882:4:19","nodeType":"YulLiteral","src":"293882:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"293888:2:19","nodeType":"YulIdentifier","src":"293888:2:19"}],"functionName":{"name":"mstore","nativeSrc":"293875:6:19","nodeType":"YulIdentifier","src":"293875:6:19"},"nativeSrc":"293875:16:19","nodeType":"YulFunctionCall","src":"293875:16:19"},"nativeSrc":"293875:16:19","nodeType":"YulExpressionStatement","src":"293875:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293911:4:19","nodeType":"YulLiteral","src":"293911:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"293917:2:19","nodeType":"YulIdentifier","src":"293917:2:19"}],"functionName":{"name":"mstore","nativeSrc":"293904:6:19","nodeType":"YulIdentifier","src":"293904:6:19"},"nativeSrc":"293904:16:19","nodeType":"YulFunctionCall","src":"293904:16:19"},"nativeSrc":"293904:16:19","nodeType":"YulExpressionStatement","src":"293904:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293940:4:19","nodeType":"YulLiteral","src":"293940:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"293946:2:19","nodeType":"YulIdentifier","src":"293946:2:19"}],"functionName":{"name":"mstore","nativeSrc":"293933:6:19","nodeType":"YulIdentifier","src":"293933:6:19"},"nativeSrc":"293933:16:19","nodeType":"YulFunctionCall","src":"293933:16:19"},"nativeSrc":"293933:16:19","nodeType":"YulExpressionStatement","src":"293933:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293969:4:19","nodeType":"YulLiteral","src":"293969:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"293975:2:19","nodeType":"YulIdentifier","src":"293975:2:19"}],"functionName":{"name":"mstore","nativeSrc":"293962:6:19","nodeType":"YulIdentifier","src":"293962:6:19"},"nativeSrc":"293962:16:19","nodeType":"YulFunctionCall","src":"293962:16:19"},"nativeSrc":"293962:16:19","nodeType":"YulExpressionStatement","src":"293962:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"293998:4:19","nodeType":"YulLiteral","src":"293998:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"294004:2:19","nodeType":"YulIdentifier","src":"294004:2:19"}],"functionName":{"name":"mstore","nativeSrc":"293991:6:19","nodeType":"YulIdentifier","src":"293991:6:19"},"nativeSrc":"293991:16:19","nodeType":"YulFunctionCall","src":"293991:16:19"},"nativeSrc":"293991:16:19","nodeType":"YulExpressionStatement","src":"293991:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35560,"isOffset":false,"isSlot":false,"src":"293888:2:19","valueSize":1},{"declaration":35563,"isOffset":false,"isSlot":false,"src":"293917:2:19","valueSize":1},{"declaration":35566,"isOffset":false,"isSlot":false,"src":"293946:2:19","valueSize":1},{"declaration":35569,"isOffset":false,"isSlot":false,"src":"293975:2:19","valueSize":1},{"declaration":35572,"isOffset":false,"isSlot":false,"src":"294004:2:19","valueSize":1}],"id":35580,"nodeType":"InlineAssembly","src":"293852:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"293160:3:19","parameters":{"id":35557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35550,"mutability":"mutable","name":"p0","nameLocation":"293172:2:19","nodeType":"VariableDeclaration","scope":35582,"src":"293164:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35549,"name":"uint256","nodeType":"ElementaryTypeName","src":"293164:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35552,"mutability":"mutable","name":"p1","nameLocation":"293184:2:19","nodeType":"VariableDeclaration","scope":35582,"src":"293176:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35551,"name":"uint256","nodeType":"ElementaryTypeName","src":"293176:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35554,"mutability":"mutable","name":"p2","nameLocation":"293196:2:19","nodeType":"VariableDeclaration","scope":35582,"src":"293188:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35553,"name":"uint256","nodeType":"ElementaryTypeName","src":"293188:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35556,"mutability":"mutable","name":"p3","nameLocation":"293205:2:19","nodeType":"VariableDeclaration","scope":35582,"src":"293200:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35555,"name":"bool","nodeType":"ElementaryTypeName","src":"293200:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"293163:45:19"},"returnParameters":{"id":35558,"nodeType":"ParameterList","parameters":[],"src":"293223:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35616,"nodeType":"FunctionDefinition","src":"294029:878:19","nodes":[],"body":{"id":35615,"nodeType":"Block","src":"294104:803:19","nodes":[],"statements":[{"assignments":[35594],"declarations":[{"constant":false,"id":35594,"mutability":"mutable","name":"m0","nameLocation":"294122:2:19","nodeType":"VariableDeclaration","scope":35615,"src":"294114:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35593,"name":"bytes32","nodeType":"ElementaryTypeName","src":"294114:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35595,"nodeType":"VariableDeclarationStatement","src":"294114:10:19"},{"assignments":[35597],"declarations":[{"constant":false,"id":35597,"mutability":"mutable","name":"m1","nameLocation":"294142:2:19","nodeType":"VariableDeclaration","scope":35615,"src":"294134:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35596,"name":"bytes32","nodeType":"ElementaryTypeName","src":"294134:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35598,"nodeType":"VariableDeclarationStatement","src":"294134:10:19"},{"assignments":[35600],"declarations":[{"constant":false,"id":35600,"mutability":"mutable","name":"m2","nameLocation":"294162:2:19","nodeType":"VariableDeclaration","scope":35615,"src":"294154:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35599,"name":"bytes32","nodeType":"ElementaryTypeName","src":"294154:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35601,"nodeType":"VariableDeclarationStatement","src":"294154:10:19"},{"assignments":[35603],"declarations":[{"constant":false,"id":35603,"mutability":"mutable","name":"m3","nameLocation":"294182:2:19","nodeType":"VariableDeclaration","scope":35615,"src":"294174:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35602,"name":"bytes32","nodeType":"ElementaryTypeName","src":"294174:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35604,"nodeType":"VariableDeclarationStatement","src":"294174:10:19"},{"assignments":[35606],"declarations":[{"constant":false,"id":35606,"mutability":"mutable","name":"m4","nameLocation":"294202:2:19","nodeType":"VariableDeclaration","scope":35615,"src":"294194:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35605,"name":"bytes32","nodeType":"ElementaryTypeName","src":"294194:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35607,"nodeType":"VariableDeclarationStatement","src":"294194:10:19"},{"AST":{"nativeSrc":"294266:381:19","nodeType":"YulBlock","src":"294266:381:19","statements":[{"nativeSrc":"294280:17:19","nodeType":"YulAssignment","src":"294280:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"294292:4:19","nodeType":"YulLiteral","src":"294292:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"294286:5:19","nodeType":"YulIdentifier","src":"294286:5:19"},"nativeSrc":"294286:11:19","nodeType":"YulFunctionCall","src":"294286:11:19"},"variableNames":[{"name":"m0","nativeSrc":"294280:2:19","nodeType":"YulIdentifier","src":"294280:2:19"}]},{"nativeSrc":"294310:17:19","nodeType":"YulAssignment","src":"294310:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"294322:4:19","nodeType":"YulLiteral","src":"294322:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"294316:5:19","nodeType":"YulIdentifier","src":"294316:5:19"},"nativeSrc":"294316:11:19","nodeType":"YulFunctionCall","src":"294316:11:19"},"variableNames":[{"name":"m1","nativeSrc":"294310:2:19","nodeType":"YulIdentifier","src":"294310:2:19"}]},{"nativeSrc":"294340:17:19","nodeType":"YulAssignment","src":"294340:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"294352:4:19","nodeType":"YulLiteral","src":"294352:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"294346:5:19","nodeType":"YulIdentifier","src":"294346:5:19"},"nativeSrc":"294346:11:19","nodeType":"YulFunctionCall","src":"294346:11:19"},"variableNames":[{"name":"m2","nativeSrc":"294340:2:19","nodeType":"YulIdentifier","src":"294340:2:19"}]},{"nativeSrc":"294370:17:19","nodeType":"YulAssignment","src":"294370:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"294382:4:19","nodeType":"YulLiteral","src":"294382:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"294376:5:19","nodeType":"YulIdentifier","src":"294376:5:19"},"nativeSrc":"294376:11:19","nodeType":"YulFunctionCall","src":"294376:11:19"},"variableNames":[{"name":"m3","nativeSrc":"294370:2:19","nodeType":"YulIdentifier","src":"294370:2:19"}]},{"nativeSrc":"294400:17:19","nodeType":"YulAssignment","src":"294400:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"294412:4:19","nodeType":"YulLiteral","src":"294412:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"294406:5:19","nodeType":"YulIdentifier","src":"294406:5:19"},"nativeSrc":"294406:11:19","nodeType":"YulFunctionCall","src":"294406:11:19"},"variableNames":[{"name":"m4","nativeSrc":"294400:2:19","nodeType":"YulIdentifier","src":"294400:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294504:4:19","nodeType":"YulLiteral","src":"294504:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"294510:10:19","nodeType":"YulLiteral","src":"294510:10:19","type":"","value":"0x193fb800"}],"functionName":{"name":"mstore","nativeSrc":"294497:6:19","nodeType":"YulIdentifier","src":"294497:6:19"},"nativeSrc":"294497:24:19","nodeType":"YulFunctionCall","src":"294497:24:19"},"nativeSrc":"294497:24:19","nodeType":"YulExpressionStatement","src":"294497:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294541:4:19","nodeType":"YulLiteral","src":"294541:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"294547:2:19","nodeType":"YulIdentifier","src":"294547:2:19"}],"functionName":{"name":"mstore","nativeSrc":"294534:6:19","nodeType":"YulIdentifier","src":"294534:6:19"},"nativeSrc":"294534:16:19","nodeType":"YulFunctionCall","src":"294534:16:19"},"nativeSrc":"294534:16:19","nodeType":"YulExpressionStatement","src":"294534:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294570:4:19","nodeType":"YulLiteral","src":"294570:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"294576:2:19","nodeType":"YulIdentifier","src":"294576:2:19"}],"functionName":{"name":"mstore","nativeSrc":"294563:6:19","nodeType":"YulIdentifier","src":"294563:6:19"},"nativeSrc":"294563:16:19","nodeType":"YulFunctionCall","src":"294563:16:19"},"nativeSrc":"294563:16:19","nodeType":"YulExpressionStatement","src":"294563:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294599:4:19","nodeType":"YulLiteral","src":"294599:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"294605:2:19","nodeType":"YulIdentifier","src":"294605:2:19"}],"functionName":{"name":"mstore","nativeSrc":"294592:6:19","nodeType":"YulIdentifier","src":"294592:6:19"},"nativeSrc":"294592:16:19","nodeType":"YulFunctionCall","src":"294592:16:19"},"nativeSrc":"294592:16:19","nodeType":"YulExpressionStatement","src":"294592:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294628:4:19","nodeType":"YulLiteral","src":"294628:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"294634:2:19","nodeType":"YulIdentifier","src":"294634:2:19"}],"functionName":{"name":"mstore","nativeSrc":"294621:6:19","nodeType":"YulIdentifier","src":"294621:6:19"},"nativeSrc":"294621:16:19","nodeType":"YulFunctionCall","src":"294621:16:19"},"nativeSrc":"294621:16:19","nodeType":"YulExpressionStatement","src":"294621:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35594,"isOffset":false,"isSlot":false,"src":"294280:2:19","valueSize":1},{"declaration":35597,"isOffset":false,"isSlot":false,"src":"294310:2:19","valueSize":1},{"declaration":35600,"isOffset":false,"isSlot":false,"src":"294340:2:19","valueSize":1},{"declaration":35603,"isOffset":false,"isSlot":false,"src":"294370:2:19","valueSize":1},{"declaration":35606,"isOffset":false,"isSlot":false,"src":"294400:2:19","valueSize":1},{"declaration":35584,"isOffset":false,"isSlot":false,"src":"294547:2:19","valueSize":1},{"declaration":35586,"isOffset":false,"isSlot":false,"src":"294576:2:19","valueSize":1},{"declaration":35588,"isOffset":false,"isSlot":false,"src":"294605:2:19","valueSize":1},{"declaration":35590,"isOffset":false,"isSlot":false,"src":"294634:2:19","valueSize":1}],"id":35608,"nodeType":"InlineAssembly","src":"294257:390:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"294672:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30783834","id":35611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"294678:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":35609,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"294656:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"294656:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35613,"nodeType":"ExpressionStatement","src":"294656:27:19"},{"AST":{"nativeSrc":"294745:156:19","nodeType":"YulBlock","src":"294745:156:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"294766:4:19","nodeType":"YulLiteral","src":"294766:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"294772:2:19","nodeType":"YulIdentifier","src":"294772:2:19"}],"functionName":{"name":"mstore","nativeSrc":"294759:6:19","nodeType":"YulIdentifier","src":"294759:6:19"},"nativeSrc":"294759:16:19","nodeType":"YulFunctionCall","src":"294759:16:19"},"nativeSrc":"294759:16:19","nodeType":"YulExpressionStatement","src":"294759:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294795:4:19","nodeType":"YulLiteral","src":"294795:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"294801:2:19","nodeType":"YulIdentifier","src":"294801:2:19"}],"functionName":{"name":"mstore","nativeSrc":"294788:6:19","nodeType":"YulIdentifier","src":"294788:6:19"},"nativeSrc":"294788:16:19","nodeType":"YulFunctionCall","src":"294788:16:19"},"nativeSrc":"294788:16:19","nodeType":"YulExpressionStatement","src":"294788:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294824:4:19","nodeType":"YulLiteral","src":"294824:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"294830:2:19","nodeType":"YulIdentifier","src":"294830:2:19"}],"functionName":{"name":"mstore","nativeSrc":"294817:6:19","nodeType":"YulIdentifier","src":"294817:6:19"},"nativeSrc":"294817:16:19","nodeType":"YulFunctionCall","src":"294817:16:19"},"nativeSrc":"294817:16:19","nodeType":"YulExpressionStatement","src":"294817:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294853:4:19","nodeType":"YulLiteral","src":"294853:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"294859:2:19","nodeType":"YulIdentifier","src":"294859:2:19"}],"functionName":{"name":"mstore","nativeSrc":"294846:6:19","nodeType":"YulIdentifier","src":"294846:6:19"},"nativeSrc":"294846:16:19","nodeType":"YulFunctionCall","src":"294846:16:19"},"nativeSrc":"294846:16:19","nodeType":"YulExpressionStatement","src":"294846:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"294882:4:19","nodeType":"YulLiteral","src":"294882:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"294888:2:19","nodeType":"YulIdentifier","src":"294888:2:19"}],"functionName":{"name":"mstore","nativeSrc":"294875:6:19","nodeType":"YulIdentifier","src":"294875:6:19"},"nativeSrc":"294875:16:19","nodeType":"YulFunctionCall","src":"294875:16:19"},"nativeSrc":"294875:16:19","nodeType":"YulExpressionStatement","src":"294875:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35594,"isOffset":false,"isSlot":false,"src":"294772:2:19","valueSize":1},{"declaration":35597,"isOffset":false,"isSlot":false,"src":"294801:2:19","valueSize":1},{"declaration":35600,"isOffset":false,"isSlot":false,"src":"294830:2:19","valueSize":1},{"declaration":35603,"isOffset":false,"isSlot":false,"src":"294859:2:19","valueSize":1},{"declaration":35606,"isOffset":false,"isSlot":false,"src":"294888:2:19","valueSize":1}],"id":35614,"nodeType":"InlineAssembly","src":"294736:165:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"294038:3:19","parameters":{"id":35591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35584,"mutability":"mutable","name":"p0","nameLocation":"294050:2:19","nodeType":"VariableDeclaration","scope":35616,"src":"294042:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35583,"name":"uint256","nodeType":"ElementaryTypeName","src":"294042:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35586,"mutability":"mutable","name":"p1","nameLocation":"294062:2:19","nodeType":"VariableDeclaration","scope":35616,"src":"294054:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35585,"name":"uint256","nodeType":"ElementaryTypeName","src":"294054:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35588,"mutability":"mutable","name":"p2","nameLocation":"294074:2:19","nodeType":"VariableDeclaration","scope":35616,"src":"294066:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35587,"name":"uint256","nodeType":"ElementaryTypeName","src":"294066:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35590,"mutability":"mutable","name":"p3","nameLocation":"294086:2:19","nodeType":"VariableDeclaration","scope":35616,"src":"294078:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35589,"name":"uint256","nodeType":"ElementaryTypeName","src":"294078:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"294041:48:19"},"returnParameters":{"id":35592,"nodeType":"ParameterList","parameters":[],"src":"294104:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35656,"nodeType":"FunctionDefinition","src":"294913:1426:19","nodes":[],"body":{"id":35655,"nodeType":"Block","src":"294988:1351:19","nodes":[],"statements":[{"assignments":[35628],"declarations":[{"constant":false,"id":35628,"mutability":"mutable","name":"m0","nameLocation":"295006:2:19","nodeType":"VariableDeclaration","scope":35655,"src":"294998:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"294998:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35629,"nodeType":"VariableDeclarationStatement","src":"294998:10:19"},{"assignments":[35631],"declarations":[{"constant":false,"id":35631,"mutability":"mutable","name":"m1","nameLocation":"295026:2:19","nodeType":"VariableDeclaration","scope":35655,"src":"295018:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35630,"name":"bytes32","nodeType":"ElementaryTypeName","src":"295018:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35632,"nodeType":"VariableDeclarationStatement","src":"295018:10:19"},{"assignments":[35634],"declarations":[{"constant":false,"id":35634,"mutability":"mutable","name":"m2","nameLocation":"295046:2:19","nodeType":"VariableDeclaration","scope":35655,"src":"295038:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35633,"name":"bytes32","nodeType":"ElementaryTypeName","src":"295038:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35635,"nodeType":"VariableDeclarationStatement","src":"295038:10:19"},{"assignments":[35637],"declarations":[{"constant":false,"id":35637,"mutability":"mutable","name":"m3","nameLocation":"295066:2:19","nodeType":"VariableDeclaration","scope":35655,"src":"295058:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35636,"name":"bytes32","nodeType":"ElementaryTypeName","src":"295058:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35638,"nodeType":"VariableDeclarationStatement","src":"295058:10:19"},{"assignments":[35640],"declarations":[{"constant":false,"id":35640,"mutability":"mutable","name":"m4","nameLocation":"295086:2:19","nodeType":"VariableDeclaration","scope":35655,"src":"295078:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35639,"name":"bytes32","nodeType":"ElementaryTypeName","src":"295078:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35641,"nodeType":"VariableDeclarationStatement","src":"295078:10:19"},{"assignments":[35643],"declarations":[{"constant":false,"id":35643,"mutability":"mutable","name":"m5","nameLocation":"295106:2:19","nodeType":"VariableDeclaration","scope":35655,"src":"295098:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35642,"name":"bytes32","nodeType":"ElementaryTypeName","src":"295098:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35644,"nodeType":"VariableDeclarationStatement","src":"295098:10:19"},{"assignments":[35646],"declarations":[{"constant":false,"id":35646,"mutability":"mutable","name":"m6","nameLocation":"295126:2:19","nodeType":"VariableDeclaration","scope":35655,"src":"295118:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35645,"name":"bytes32","nodeType":"ElementaryTypeName","src":"295118:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35647,"nodeType":"VariableDeclarationStatement","src":"295118:10:19"},{"AST":{"nativeSrc":"295190:831:19","nodeType":"YulBlock","src":"295190:831:19","statements":[{"body":{"nativeSrc":"295233:313:19","nodeType":"YulBlock","src":"295233:313:19","statements":[{"nativeSrc":"295251:15:19","nodeType":"YulVariableDeclaration","src":"295251:15:19","value":{"kind":"number","nativeSrc":"295265:1:19","nodeType":"YulLiteral","src":"295265:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"295255:6:19","nodeType":"YulTypedName","src":"295255:6:19","type":""}]},{"body":{"nativeSrc":"295336:40:19","nodeType":"YulBlock","src":"295336:40:19","statements":[{"body":{"nativeSrc":"295365:9:19","nodeType":"YulBlock","src":"295365:9:19","statements":[{"nativeSrc":"295367:5:19","nodeType":"YulBreak","src":"295367:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"295353:6:19","nodeType":"YulIdentifier","src":"295353:6:19"},{"name":"w","nativeSrc":"295361:1:19","nodeType":"YulIdentifier","src":"295361:1:19"}],"functionName":{"name":"byte","nativeSrc":"295348:4:19","nodeType":"YulIdentifier","src":"295348:4:19"},"nativeSrc":"295348:15:19","nodeType":"YulFunctionCall","src":"295348:15:19"}],"functionName":{"name":"iszero","nativeSrc":"295341:6:19","nodeType":"YulIdentifier","src":"295341:6:19"},"nativeSrc":"295341:23:19","nodeType":"YulFunctionCall","src":"295341:23:19"},"nativeSrc":"295338:36:19","nodeType":"YulIf","src":"295338:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"295293:6:19","nodeType":"YulIdentifier","src":"295293:6:19"},{"kind":"number","nativeSrc":"295301:4:19","nodeType":"YulLiteral","src":"295301:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"295290:2:19","nodeType":"YulIdentifier","src":"295290:2:19"},"nativeSrc":"295290:16:19","nodeType":"YulFunctionCall","src":"295290:16:19"},"nativeSrc":"295283:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"295307:28:19","nodeType":"YulBlock","src":"295307:28:19","statements":[{"nativeSrc":"295309:24:19","nodeType":"YulAssignment","src":"295309:24:19","value":{"arguments":[{"name":"length","nativeSrc":"295323:6:19","nodeType":"YulIdentifier","src":"295323:6:19"},{"kind":"number","nativeSrc":"295331:1:19","nodeType":"YulLiteral","src":"295331:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"295319:3:19","nodeType":"YulIdentifier","src":"295319:3:19"},"nativeSrc":"295319:14:19","nodeType":"YulFunctionCall","src":"295319:14:19"},"variableNames":[{"name":"length","nativeSrc":"295309:6:19","nodeType":"YulIdentifier","src":"295309:6:19"}]}]},"pre":{"nativeSrc":"295287:2:19","nodeType":"YulBlock","src":"295287:2:19","statements":[]},"src":"295283:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"295400:3:19","nodeType":"YulIdentifier","src":"295400:3:19"},{"name":"length","nativeSrc":"295405:6:19","nodeType":"YulIdentifier","src":"295405:6:19"}],"functionName":{"name":"mstore","nativeSrc":"295393:6:19","nodeType":"YulIdentifier","src":"295393:6:19"},"nativeSrc":"295393:19:19","nodeType":"YulFunctionCall","src":"295393:19:19"},"nativeSrc":"295393:19:19","nodeType":"YulExpressionStatement","src":"295393:19:19"},{"nativeSrc":"295429:37:19","nodeType":"YulVariableDeclaration","src":"295429:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"295446:3:19","nodeType":"YulLiteral","src":"295446:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"295455:1:19","nodeType":"YulLiteral","src":"295455:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"295458:6:19","nodeType":"YulIdentifier","src":"295458:6:19"}],"functionName":{"name":"shl","nativeSrc":"295451:3:19","nodeType":"YulIdentifier","src":"295451:3:19"},"nativeSrc":"295451:14:19","nodeType":"YulFunctionCall","src":"295451:14:19"}],"functionName":{"name":"sub","nativeSrc":"295442:3:19","nodeType":"YulIdentifier","src":"295442:3:19"},"nativeSrc":"295442:24:19","nodeType":"YulFunctionCall","src":"295442:24:19"},"variables":[{"name":"shift","nativeSrc":"295433:5:19","nodeType":"YulTypedName","src":"295433:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"295494:3:19","nodeType":"YulIdentifier","src":"295494:3:19"},{"kind":"number","nativeSrc":"295499:4:19","nodeType":"YulLiteral","src":"295499:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"295490:3:19","nodeType":"YulIdentifier","src":"295490:3:19"},"nativeSrc":"295490:14:19","nodeType":"YulFunctionCall","src":"295490:14:19"},{"arguments":[{"name":"shift","nativeSrc":"295510:5:19","nodeType":"YulIdentifier","src":"295510:5:19"},{"arguments":[{"name":"shift","nativeSrc":"295521:5:19","nodeType":"YulIdentifier","src":"295521:5:19"},{"name":"w","nativeSrc":"295528:1:19","nodeType":"YulIdentifier","src":"295528:1:19"}],"functionName":{"name":"shr","nativeSrc":"295517:3:19","nodeType":"YulIdentifier","src":"295517:3:19"},"nativeSrc":"295517:13:19","nodeType":"YulFunctionCall","src":"295517:13:19"}],"functionName":{"name":"shl","nativeSrc":"295506:3:19","nodeType":"YulIdentifier","src":"295506:3:19"},"nativeSrc":"295506:25:19","nodeType":"YulFunctionCall","src":"295506:25:19"}],"functionName":{"name":"mstore","nativeSrc":"295483:6:19","nodeType":"YulIdentifier","src":"295483:6:19"},"nativeSrc":"295483:49:19","nodeType":"YulFunctionCall","src":"295483:49:19"},"nativeSrc":"295483:49:19","nodeType":"YulExpressionStatement","src":"295483:49:19"}]},"name":"writeString","nativeSrc":"295204:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"295225:3:19","nodeType":"YulTypedName","src":"295225:3:19","type":""},{"name":"w","nativeSrc":"295230:1:19","nodeType":"YulTypedName","src":"295230:1:19","type":""}],"src":"295204:342:19"},{"nativeSrc":"295559:17:19","nodeType":"YulAssignment","src":"295559:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"295571:4:19","nodeType":"YulLiteral","src":"295571:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"295565:5:19","nodeType":"YulIdentifier","src":"295565:5:19"},"nativeSrc":"295565:11:19","nodeType":"YulFunctionCall","src":"295565:11:19"},"variableNames":[{"name":"m0","nativeSrc":"295559:2:19","nodeType":"YulIdentifier","src":"295559:2:19"}]},{"nativeSrc":"295589:17:19","nodeType":"YulAssignment","src":"295589:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"295601:4:19","nodeType":"YulLiteral","src":"295601:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"295595:5:19","nodeType":"YulIdentifier","src":"295595:5:19"},"nativeSrc":"295595:11:19","nodeType":"YulFunctionCall","src":"295595:11:19"},"variableNames":[{"name":"m1","nativeSrc":"295589:2:19","nodeType":"YulIdentifier","src":"295589:2:19"}]},{"nativeSrc":"295619:17:19","nodeType":"YulAssignment","src":"295619:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"295631:4:19","nodeType":"YulLiteral","src":"295631:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"295625:5:19","nodeType":"YulIdentifier","src":"295625:5:19"},"nativeSrc":"295625:11:19","nodeType":"YulFunctionCall","src":"295625:11:19"},"variableNames":[{"name":"m2","nativeSrc":"295619:2:19","nodeType":"YulIdentifier","src":"295619:2:19"}]},{"nativeSrc":"295649:17:19","nodeType":"YulAssignment","src":"295649:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"295661:4:19","nodeType":"YulLiteral","src":"295661:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"295655:5:19","nodeType":"YulIdentifier","src":"295655:5:19"},"nativeSrc":"295655:11:19","nodeType":"YulFunctionCall","src":"295655:11:19"},"variableNames":[{"name":"m3","nativeSrc":"295649:2:19","nodeType":"YulIdentifier","src":"295649:2:19"}]},{"nativeSrc":"295679:17:19","nodeType":"YulAssignment","src":"295679:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"295691:4:19","nodeType":"YulLiteral","src":"295691:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"295685:5:19","nodeType":"YulIdentifier","src":"295685:5:19"},"nativeSrc":"295685:11:19","nodeType":"YulFunctionCall","src":"295685:11:19"},"variableNames":[{"name":"m4","nativeSrc":"295679:2:19","nodeType":"YulIdentifier","src":"295679:2:19"}]},{"nativeSrc":"295709:17:19","nodeType":"YulAssignment","src":"295709:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"295721:4:19","nodeType":"YulLiteral","src":"295721:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"295715:5:19","nodeType":"YulIdentifier","src":"295715:5:19"},"nativeSrc":"295715:11:19","nodeType":"YulFunctionCall","src":"295715:11:19"},"variableNames":[{"name":"m5","nativeSrc":"295709:2:19","nodeType":"YulIdentifier","src":"295709:2:19"}]},{"nativeSrc":"295739:17:19","nodeType":"YulAssignment","src":"295739:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"295751:4:19","nodeType":"YulLiteral","src":"295751:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"295745:5:19","nodeType":"YulIdentifier","src":"295745:5:19"},"nativeSrc":"295745:11:19","nodeType":"YulFunctionCall","src":"295745:11:19"},"variableNames":[{"name":"m6","nativeSrc":"295739:2:19","nodeType":"YulIdentifier","src":"295739:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"295842:4:19","nodeType":"YulLiteral","src":"295842:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"295848:10:19","nodeType":"YulLiteral","src":"295848:10:19","type":"","value":"0x59cfcbe3"}],"functionName":{"name":"mstore","nativeSrc":"295835:6:19","nodeType":"YulIdentifier","src":"295835:6:19"},"nativeSrc":"295835:24:19","nodeType":"YulFunctionCall","src":"295835:24:19"},"nativeSrc":"295835:24:19","nodeType":"YulExpressionStatement","src":"295835:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"295879:4:19","nodeType":"YulLiteral","src":"295879:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"295885:2:19","nodeType":"YulIdentifier","src":"295885:2:19"}],"functionName":{"name":"mstore","nativeSrc":"295872:6:19","nodeType":"YulIdentifier","src":"295872:6:19"},"nativeSrc":"295872:16:19","nodeType":"YulFunctionCall","src":"295872:16:19"},"nativeSrc":"295872:16:19","nodeType":"YulExpressionStatement","src":"295872:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"295908:4:19","nodeType":"YulLiteral","src":"295908:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"295914:2:19","nodeType":"YulIdentifier","src":"295914:2:19"}],"functionName":{"name":"mstore","nativeSrc":"295901:6:19","nodeType":"YulIdentifier","src":"295901:6:19"},"nativeSrc":"295901:16:19","nodeType":"YulFunctionCall","src":"295901:16:19"},"nativeSrc":"295901:16:19","nodeType":"YulExpressionStatement","src":"295901:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"295937:4:19","nodeType":"YulLiteral","src":"295937:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"295943:2:19","nodeType":"YulIdentifier","src":"295943:2:19"}],"functionName":{"name":"mstore","nativeSrc":"295930:6:19","nodeType":"YulIdentifier","src":"295930:6:19"},"nativeSrc":"295930:16:19","nodeType":"YulFunctionCall","src":"295930:16:19"},"nativeSrc":"295930:16:19","nodeType":"YulExpressionStatement","src":"295930:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"295966:4:19","nodeType":"YulLiteral","src":"295966:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"295972:4:19","nodeType":"YulLiteral","src":"295972:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"295959:6:19","nodeType":"YulIdentifier","src":"295959:6:19"},"nativeSrc":"295959:18:19","nodeType":"YulFunctionCall","src":"295959:18:19"},"nativeSrc":"295959:18:19","nodeType":"YulExpressionStatement","src":"295959:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"296002:4:19","nodeType":"YulLiteral","src":"296002:4:19","type":"","value":"0xa0"},{"name":"p3","nativeSrc":"296008:2:19","nodeType":"YulIdentifier","src":"296008:2:19"}],"functionName":{"name":"writeString","nativeSrc":"295990:11:19","nodeType":"YulIdentifier","src":"295990:11:19"},"nativeSrc":"295990:21:19","nodeType":"YulFunctionCall","src":"295990:21:19"},"nativeSrc":"295990:21:19","nodeType":"YulExpressionStatement","src":"295990:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35628,"isOffset":false,"isSlot":false,"src":"295559:2:19","valueSize":1},{"declaration":35631,"isOffset":false,"isSlot":false,"src":"295589:2:19","valueSize":1},{"declaration":35634,"isOffset":false,"isSlot":false,"src":"295619:2:19","valueSize":1},{"declaration":35637,"isOffset":false,"isSlot":false,"src":"295649:2:19","valueSize":1},{"declaration":35640,"isOffset":false,"isSlot":false,"src":"295679:2:19","valueSize":1},{"declaration":35643,"isOffset":false,"isSlot":false,"src":"295709:2:19","valueSize":1},{"declaration":35646,"isOffset":false,"isSlot":false,"src":"295739:2:19","valueSize":1},{"declaration":35618,"isOffset":false,"isSlot":false,"src":"295885:2:19","valueSize":1},{"declaration":35620,"isOffset":false,"isSlot":false,"src":"295914:2:19","valueSize":1},{"declaration":35622,"isOffset":false,"isSlot":false,"src":"295943:2:19","valueSize":1},{"declaration":35624,"isOffset":false,"isSlot":false,"src":"296008:2:19","valueSize":1}],"id":35648,"nodeType":"InlineAssembly","src":"295181:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"296046:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"296052:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":35649,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"296030:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"296030:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35653,"nodeType":"ExpressionStatement","src":"296030:27:19"},{"AST":{"nativeSrc":"296119:214:19","nodeType":"YulBlock","src":"296119:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"296140:4:19","nodeType":"YulLiteral","src":"296140:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"296146:2:19","nodeType":"YulIdentifier","src":"296146:2:19"}],"functionName":{"name":"mstore","nativeSrc":"296133:6:19","nodeType":"YulIdentifier","src":"296133:6:19"},"nativeSrc":"296133:16:19","nodeType":"YulFunctionCall","src":"296133:16:19"},"nativeSrc":"296133:16:19","nodeType":"YulExpressionStatement","src":"296133:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"296169:4:19","nodeType":"YulLiteral","src":"296169:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"296175:2:19","nodeType":"YulIdentifier","src":"296175:2:19"}],"functionName":{"name":"mstore","nativeSrc":"296162:6:19","nodeType":"YulIdentifier","src":"296162:6:19"},"nativeSrc":"296162:16:19","nodeType":"YulFunctionCall","src":"296162:16:19"},"nativeSrc":"296162:16:19","nodeType":"YulExpressionStatement","src":"296162:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"296198:4:19","nodeType":"YulLiteral","src":"296198:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"296204:2:19","nodeType":"YulIdentifier","src":"296204:2:19"}],"functionName":{"name":"mstore","nativeSrc":"296191:6:19","nodeType":"YulIdentifier","src":"296191:6:19"},"nativeSrc":"296191:16:19","nodeType":"YulFunctionCall","src":"296191:16:19"},"nativeSrc":"296191:16:19","nodeType":"YulExpressionStatement","src":"296191:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"296227:4:19","nodeType":"YulLiteral","src":"296227:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"296233:2:19","nodeType":"YulIdentifier","src":"296233:2:19"}],"functionName":{"name":"mstore","nativeSrc":"296220:6:19","nodeType":"YulIdentifier","src":"296220:6:19"},"nativeSrc":"296220:16:19","nodeType":"YulFunctionCall","src":"296220:16:19"},"nativeSrc":"296220:16:19","nodeType":"YulExpressionStatement","src":"296220:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"296256:4:19","nodeType":"YulLiteral","src":"296256:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"296262:2:19","nodeType":"YulIdentifier","src":"296262:2:19"}],"functionName":{"name":"mstore","nativeSrc":"296249:6:19","nodeType":"YulIdentifier","src":"296249:6:19"},"nativeSrc":"296249:16:19","nodeType":"YulFunctionCall","src":"296249:16:19"},"nativeSrc":"296249:16:19","nodeType":"YulExpressionStatement","src":"296249:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"296285:4:19","nodeType":"YulLiteral","src":"296285:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"296291:2:19","nodeType":"YulIdentifier","src":"296291:2:19"}],"functionName":{"name":"mstore","nativeSrc":"296278:6:19","nodeType":"YulIdentifier","src":"296278:6:19"},"nativeSrc":"296278:16:19","nodeType":"YulFunctionCall","src":"296278:16:19"},"nativeSrc":"296278:16:19","nodeType":"YulExpressionStatement","src":"296278:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"296314:4:19","nodeType":"YulLiteral","src":"296314:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"296320:2:19","nodeType":"YulIdentifier","src":"296320:2:19"}],"functionName":{"name":"mstore","nativeSrc":"296307:6:19","nodeType":"YulIdentifier","src":"296307:6:19"},"nativeSrc":"296307:16:19","nodeType":"YulFunctionCall","src":"296307:16:19"},"nativeSrc":"296307:16:19","nodeType":"YulExpressionStatement","src":"296307:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35628,"isOffset":false,"isSlot":false,"src":"296146:2:19","valueSize":1},{"declaration":35631,"isOffset":false,"isSlot":false,"src":"296175:2:19","valueSize":1},{"declaration":35634,"isOffset":false,"isSlot":false,"src":"296204:2:19","valueSize":1},{"declaration":35637,"isOffset":false,"isSlot":false,"src":"296233:2:19","valueSize":1},{"declaration":35640,"isOffset":false,"isSlot":false,"src":"296262:2:19","valueSize":1},{"declaration":35643,"isOffset":false,"isSlot":false,"src":"296291:2:19","valueSize":1},{"declaration":35646,"isOffset":false,"isSlot":false,"src":"296320:2:19","valueSize":1}],"id":35654,"nodeType":"InlineAssembly","src":"296110:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"294922:3:19","parameters":{"id":35625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35618,"mutability":"mutable","name":"p0","nameLocation":"294934:2:19","nodeType":"VariableDeclaration","scope":35656,"src":"294926:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35617,"name":"uint256","nodeType":"ElementaryTypeName","src":"294926:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35620,"mutability":"mutable","name":"p1","nameLocation":"294946:2:19","nodeType":"VariableDeclaration","scope":35656,"src":"294938:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35619,"name":"uint256","nodeType":"ElementaryTypeName","src":"294938:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35622,"mutability":"mutable","name":"p2","nameLocation":"294958:2:19","nodeType":"VariableDeclaration","scope":35656,"src":"294950:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35621,"name":"uint256","nodeType":"ElementaryTypeName","src":"294950:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35624,"mutability":"mutable","name":"p3","nameLocation":"294970:2:19","nodeType":"VariableDeclaration","scope":35656,"src":"294962:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35623,"name":"bytes32","nodeType":"ElementaryTypeName","src":"294962:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"294925:48:19"},"returnParameters":{"id":35626,"nodeType":"ParameterList","parameters":[],"src":"294988:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35696,"nodeType":"FunctionDefinition","src":"296345:1426:19","nodes":[],"body":{"id":35695,"nodeType":"Block","src":"296420:1351:19","nodes":[],"statements":[{"assignments":[35668],"declarations":[{"constant":false,"id":35668,"mutability":"mutable","name":"m0","nameLocation":"296438:2:19","nodeType":"VariableDeclaration","scope":35695,"src":"296430:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35667,"name":"bytes32","nodeType":"ElementaryTypeName","src":"296430:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35669,"nodeType":"VariableDeclarationStatement","src":"296430:10:19"},{"assignments":[35671],"declarations":[{"constant":false,"id":35671,"mutability":"mutable","name":"m1","nameLocation":"296458:2:19","nodeType":"VariableDeclaration","scope":35695,"src":"296450:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35670,"name":"bytes32","nodeType":"ElementaryTypeName","src":"296450:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35672,"nodeType":"VariableDeclarationStatement","src":"296450:10:19"},{"assignments":[35674],"declarations":[{"constant":false,"id":35674,"mutability":"mutable","name":"m2","nameLocation":"296478:2:19","nodeType":"VariableDeclaration","scope":35695,"src":"296470:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35673,"name":"bytes32","nodeType":"ElementaryTypeName","src":"296470:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35675,"nodeType":"VariableDeclarationStatement","src":"296470:10:19"},{"assignments":[35677],"declarations":[{"constant":false,"id":35677,"mutability":"mutable","name":"m3","nameLocation":"296498:2:19","nodeType":"VariableDeclaration","scope":35695,"src":"296490:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35676,"name":"bytes32","nodeType":"ElementaryTypeName","src":"296490:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35678,"nodeType":"VariableDeclarationStatement","src":"296490:10:19"},{"assignments":[35680],"declarations":[{"constant":false,"id":35680,"mutability":"mutable","name":"m4","nameLocation":"296518:2:19","nodeType":"VariableDeclaration","scope":35695,"src":"296510:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35679,"name":"bytes32","nodeType":"ElementaryTypeName","src":"296510:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35681,"nodeType":"VariableDeclarationStatement","src":"296510:10:19"},{"assignments":[35683],"declarations":[{"constant":false,"id":35683,"mutability":"mutable","name":"m5","nameLocation":"296538:2:19","nodeType":"VariableDeclaration","scope":35695,"src":"296530:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35682,"name":"bytes32","nodeType":"ElementaryTypeName","src":"296530:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35684,"nodeType":"VariableDeclarationStatement","src":"296530:10:19"},{"assignments":[35686],"declarations":[{"constant":false,"id":35686,"mutability":"mutable","name":"m6","nameLocation":"296558:2:19","nodeType":"VariableDeclaration","scope":35695,"src":"296550:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35685,"name":"bytes32","nodeType":"ElementaryTypeName","src":"296550:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35687,"nodeType":"VariableDeclarationStatement","src":"296550:10:19"},{"AST":{"nativeSrc":"296622:831:19","nodeType":"YulBlock","src":"296622:831:19","statements":[{"body":{"nativeSrc":"296665:313:19","nodeType":"YulBlock","src":"296665:313:19","statements":[{"nativeSrc":"296683:15:19","nodeType":"YulVariableDeclaration","src":"296683:15:19","value":{"kind":"number","nativeSrc":"296697:1:19","nodeType":"YulLiteral","src":"296697:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"296687:6:19","nodeType":"YulTypedName","src":"296687:6:19","type":""}]},{"body":{"nativeSrc":"296768:40:19","nodeType":"YulBlock","src":"296768:40:19","statements":[{"body":{"nativeSrc":"296797:9:19","nodeType":"YulBlock","src":"296797:9:19","statements":[{"nativeSrc":"296799:5:19","nodeType":"YulBreak","src":"296799:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"296785:6:19","nodeType":"YulIdentifier","src":"296785:6:19"},{"name":"w","nativeSrc":"296793:1:19","nodeType":"YulIdentifier","src":"296793:1:19"}],"functionName":{"name":"byte","nativeSrc":"296780:4:19","nodeType":"YulIdentifier","src":"296780:4:19"},"nativeSrc":"296780:15:19","nodeType":"YulFunctionCall","src":"296780:15:19"}],"functionName":{"name":"iszero","nativeSrc":"296773:6:19","nodeType":"YulIdentifier","src":"296773:6:19"},"nativeSrc":"296773:23:19","nodeType":"YulFunctionCall","src":"296773:23:19"},"nativeSrc":"296770:36:19","nodeType":"YulIf","src":"296770:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"296725:6:19","nodeType":"YulIdentifier","src":"296725:6:19"},{"kind":"number","nativeSrc":"296733:4:19","nodeType":"YulLiteral","src":"296733:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"296722:2:19","nodeType":"YulIdentifier","src":"296722:2:19"},"nativeSrc":"296722:16:19","nodeType":"YulFunctionCall","src":"296722:16:19"},"nativeSrc":"296715:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"296739:28:19","nodeType":"YulBlock","src":"296739:28:19","statements":[{"nativeSrc":"296741:24:19","nodeType":"YulAssignment","src":"296741:24:19","value":{"arguments":[{"name":"length","nativeSrc":"296755:6:19","nodeType":"YulIdentifier","src":"296755:6:19"},{"kind":"number","nativeSrc":"296763:1:19","nodeType":"YulLiteral","src":"296763:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"296751:3:19","nodeType":"YulIdentifier","src":"296751:3:19"},"nativeSrc":"296751:14:19","nodeType":"YulFunctionCall","src":"296751:14:19"},"variableNames":[{"name":"length","nativeSrc":"296741:6:19","nodeType":"YulIdentifier","src":"296741:6:19"}]}]},"pre":{"nativeSrc":"296719:2:19","nodeType":"YulBlock","src":"296719:2:19","statements":[]},"src":"296715:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"296832:3:19","nodeType":"YulIdentifier","src":"296832:3:19"},{"name":"length","nativeSrc":"296837:6:19","nodeType":"YulIdentifier","src":"296837:6:19"}],"functionName":{"name":"mstore","nativeSrc":"296825:6:19","nodeType":"YulIdentifier","src":"296825:6:19"},"nativeSrc":"296825:19:19","nodeType":"YulFunctionCall","src":"296825:19:19"},"nativeSrc":"296825:19:19","nodeType":"YulExpressionStatement","src":"296825:19:19"},{"nativeSrc":"296861:37:19","nodeType":"YulVariableDeclaration","src":"296861:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"296878:3:19","nodeType":"YulLiteral","src":"296878:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"296887:1:19","nodeType":"YulLiteral","src":"296887:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"296890:6:19","nodeType":"YulIdentifier","src":"296890:6:19"}],"functionName":{"name":"shl","nativeSrc":"296883:3:19","nodeType":"YulIdentifier","src":"296883:3:19"},"nativeSrc":"296883:14:19","nodeType":"YulFunctionCall","src":"296883:14:19"}],"functionName":{"name":"sub","nativeSrc":"296874:3:19","nodeType":"YulIdentifier","src":"296874:3:19"},"nativeSrc":"296874:24:19","nodeType":"YulFunctionCall","src":"296874:24:19"},"variables":[{"name":"shift","nativeSrc":"296865:5:19","nodeType":"YulTypedName","src":"296865:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"296926:3:19","nodeType":"YulIdentifier","src":"296926:3:19"},{"kind":"number","nativeSrc":"296931:4:19","nodeType":"YulLiteral","src":"296931:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"296922:3:19","nodeType":"YulIdentifier","src":"296922:3:19"},"nativeSrc":"296922:14:19","nodeType":"YulFunctionCall","src":"296922:14:19"},{"arguments":[{"name":"shift","nativeSrc":"296942:5:19","nodeType":"YulIdentifier","src":"296942:5:19"},{"arguments":[{"name":"shift","nativeSrc":"296953:5:19","nodeType":"YulIdentifier","src":"296953:5:19"},{"name":"w","nativeSrc":"296960:1:19","nodeType":"YulIdentifier","src":"296960:1:19"}],"functionName":{"name":"shr","nativeSrc":"296949:3:19","nodeType":"YulIdentifier","src":"296949:3:19"},"nativeSrc":"296949:13:19","nodeType":"YulFunctionCall","src":"296949:13:19"}],"functionName":{"name":"shl","nativeSrc":"296938:3:19","nodeType":"YulIdentifier","src":"296938:3:19"},"nativeSrc":"296938:25:19","nodeType":"YulFunctionCall","src":"296938:25:19"}],"functionName":{"name":"mstore","nativeSrc":"296915:6:19","nodeType":"YulIdentifier","src":"296915:6:19"},"nativeSrc":"296915:49:19","nodeType":"YulFunctionCall","src":"296915:49:19"},"nativeSrc":"296915:49:19","nodeType":"YulExpressionStatement","src":"296915:49:19"}]},"name":"writeString","nativeSrc":"296636:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"296657:3:19","nodeType":"YulTypedName","src":"296657:3:19","type":""},{"name":"w","nativeSrc":"296662:1:19","nodeType":"YulTypedName","src":"296662:1:19","type":""}],"src":"296636:342:19"},{"nativeSrc":"296991:17:19","nodeType":"YulAssignment","src":"296991:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"297003:4:19","nodeType":"YulLiteral","src":"297003:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"296997:5:19","nodeType":"YulIdentifier","src":"296997:5:19"},"nativeSrc":"296997:11:19","nodeType":"YulFunctionCall","src":"296997:11:19"},"variableNames":[{"name":"m0","nativeSrc":"296991:2:19","nodeType":"YulIdentifier","src":"296991:2:19"}]},{"nativeSrc":"297021:17:19","nodeType":"YulAssignment","src":"297021:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"297033:4:19","nodeType":"YulLiteral","src":"297033:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"297027:5:19","nodeType":"YulIdentifier","src":"297027:5:19"},"nativeSrc":"297027:11:19","nodeType":"YulFunctionCall","src":"297027:11:19"},"variableNames":[{"name":"m1","nativeSrc":"297021:2:19","nodeType":"YulIdentifier","src":"297021:2:19"}]},{"nativeSrc":"297051:17:19","nodeType":"YulAssignment","src":"297051:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"297063:4:19","nodeType":"YulLiteral","src":"297063:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"297057:5:19","nodeType":"YulIdentifier","src":"297057:5:19"},"nativeSrc":"297057:11:19","nodeType":"YulFunctionCall","src":"297057:11:19"},"variableNames":[{"name":"m2","nativeSrc":"297051:2:19","nodeType":"YulIdentifier","src":"297051:2:19"}]},{"nativeSrc":"297081:17:19","nodeType":"YulAssignment","src":"297081:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"297093:4:19","nodeType":"YulLiteral","src":"297093:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"297087:5:19","nodeType":"YulIdentifier","src":"297087:5:19"},"nativeSrc":"297087:11:19","nodeType":"YulFunctionCall","src":"297087:11:19"},"variableNames":[{"name":"m3","nativeSrc":"297081:2:19","nodeType":"YulIdentifier","src":"297081:2:19"}]},{"nativeSrc":"297111:17:19","nodeType":"YulAssignment","src":"297111:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"297123:4:19","nodeType":"YulLiteral","src":"297123:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"297117:5:19","nodeType":"YulIdentifier","src":"297117:5:19"},"nativeSrc":"297117:11:19","nodeType":"YulFunctionCall","src":"297117:11:19"},"variableNames":[{"name":"m4","nativeSrc":"297111:2:19","nodeType":"YulIdentifier","src":"297111:2:19"}]},{"nativeSrc":"297141:17:19","nodeType":"YulAssignment","src":"297141:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"297153:4:19","nodeType":"YulLiteral","src":"297153:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"297147:5:19","nodeType":"YulIdentifier","src":"297147:5:19"},"nativeSrc":"297147:11:19","nodeType":"YulFunctionCall","src":"297147:11:19"},"variableNames":[{"name":"m5","nativeSrc":"297141:2:19","nodeType":"YulIdentifier","src":"297141:2:19"}]},{"nativeSrc":"297171:17:19","nodeType":"YulAssignment","src":"297171:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"297183:4:19","nodeType":"YulLiteral","src":"297183:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"297177:5:19","nodeType":"YulIdentifier","src":"297177:5:19"},"nativeSrc":"297177:11:19","nodeType":"YulFunctionCall","src":"297177:11:19"},"variableNames":[{"name":"m6","nativeSrc":"297171:2:19","nodeType":"YulIdentifier","src":"297171:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297274:4:19","nodeType":"YulLiteral","src":"297274:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"297280:10:19","nodeType":"YulLiteral","src":"297280:10:19","type":"","value":"0x42d21db7"}],"functionName":{"name":"mstore","nativeSrc":"297267:6:19","nodeType":"YulIdentifier","src":"297267:6:19"},"nativeSrc":"297267:24:19","nodeType":"YulFunctionCall","src":"297267:24:19"},"nativeSrc":"297267:24:19","nodeType":"YulExpressionStatement","src":"297267:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297311:4:19","nodeType":"YulLiteral","src":"297311:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"297317:2:19","nodeType":"YulIdentifier","src":"297317:2:19"}],"functionName":{"name":"mstore","nativeSrc":"297304:6:19","nodeType":"YulIdentifier","src":"297304:6:19"},"nativeSrc":"297304:16:19","nodeType":"YulFunctionCall","src":"297304:16:19"},"nativeSrc":"297304:16:19","nodeType":"YulExpressionStatement","src":"297304:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297340:4:19","nodeType":"YulLiteral","src":"297340:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"297346:2:19","nodeType":"YulIdentifier","src":"297346:2:19"}],"functionName":{"name":"mstore","nativeSrc":"297333:6:19","nodeType":"YulIdentifier","src":"297333:6:19"},"nativeSrc":"297333:16:19","nodeType":"YulFunctionCall","src":"297333:16:19"},"nativeSrc":"297333:16:19","nodeType":"YulExpressionStatement","src":"297333:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297369:4:19","nodeType":"YulLiteral","src":"297369:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"297375:4:19","nodeType":"YulLiteral","src":"297375:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"297362:6:19","nodeType":"YulIdentifier","src":"297362:6:19"},"nativeSrc":"297362:18:19","nodeType":"YulFunctionCall","src":"297362:18:19"},"nativeSrc":"297362:18:19","nodeType":"YulExpressionStatement","src":"297362:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297400:4:19","nodeType":"YulLiteral","src":"297400:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"297406:2:19","nodeType":"YulIdentifier","src":"297406:2:19"}],"functionName":{"name":"mstore","nativeSrc":"297393:6:19","nodeType":"YulIdentifier","src":"297393:6:19"},"nativeSrc":"297393:16:19","nodeType":"YulFunctionCall","src":"297393:16:19"},"nativeSrc":"297393:16:19","nodeType":"YulExpressionStatement","src":"297393:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297434:4:19","nodeType":"YulLiteral","src":"297434:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"297440:2:19","nodeType":"YulIdentifier","src":"297440:2:19"}],"functionName":{"name":"writeString","nativeSrc":"297422:11:19","nodeType":"YulIdentifier","src":"297422:11:19"},"nativeSrc":"297422:21:19","nodeType":"YulFunctionCall","src":"297422:21:19"},"nativeSrc":"297422:21:19","nodeType":"YulExpressionStatement","src":"297422:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35668,"isOffset":false,"isSlot":false,"src":"296991:2:19","valueSize":1},{"declaration":35671,"isOffset":false,"isSlot":false,"src":"297021:2:19","valueSize":1},{"declaration":35674,"isOffset":false,"isSlot":false,"src":"297051:2:19","valueSize":1},{"declaration":35677,"isOffset":false,"isSlot":false,"src":"297081:2:19","valueSize":1},{"declaration":35680,"isOffset":false,"isSlot":false,"src":"297111:2:19","valueSize":1},{"declaration":35683,"isOffset":false,"isSlot":false,"src":"297141:2:19","valueSize":1},{"declaration":35686,"isOffset":false,"isSlot":false,"src":"297171:2:19","valueSize":1},{"declaration":35658,"isOffset":false,"isSlot":false,"src":"297317:2:19","valueSize":1},{"declaration":35660,"isOffset":false,"isSlot":false,"src":"297346:2:19","valueSize":1},{"declaration":35662,"isOffset":false,"isSlot":false,"src":"297440:2:19","valueSize":1},{"declaration":35664,"isOffset":false,"isSlot":false,"src":"297406:2:19","valueSize":1}],"id":35688,"nodeType":"InlineAssembly","src":"296613:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"297478:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"297484:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":35689,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"297462:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"297462:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35693,"nodeType":"ExpressionStatement","src":"297462:27:19"},{"AST":{"nativeSrc":"297551:214:19","nodeType":"YulBlock","src":"297551:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"297572:4:19","nodeType":"YulLiteral","src":"297572:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"297578:2:19","nodeType":"YulIdentifier","src":"297578:2:19"}],"functionName":{"name":"mstore","nativeSrc":"297565:6:19","nodeType":"YulIdentifier","src":"297565:6:19"},"nativeSrc":"297565:16:19","nodeType":"YulFunctionCall","src":"297565:16:19"},"nativeSrc":"297565:16:19","nodeType":"YulExpressionStatement","src":"297565:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297601:4:19","nodeType":"YulLiteral","src":"297601:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"297607:2:19","nodeType":"YulIdentifier","src":"297607:2:19"}],"functionName":{"name":"mstore","nativeSrc":"297594:6:19","nodeType":"YulIdentifier","src":"297594:6:19"},"nativeSrc":"297594:16:19","nodeType":"YulFunctionCall","src":"297594:16:19"},"nativeSrc":"297594:16:19","nodeType":"YulExpressionStatement","src":"297594:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297630:4:19","nodeType":"YulLiteral","src":"297630:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"297636:2:19","nodeType":"YulIdentifier","src":"297636:2:19"}],"functionName":{"name":"mstore","nativeSrc":"297623:6:19","nodeType":"YulIdentifier","src":"297623:6:19"},"nativeSrc":"297623:16:19","nodeType":"YulFunctionCall","src":"297623:16:19"},"nativeSrc":"297623:16:19","nodeType":"YulExpressionStatement","src":"297623:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297659:4:19","nodeType":"YulLiteral","src":"297659:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"297665:2:19","nodeType":"YulIdentifier","src":"297665:2:19"}],"functionName":{"name":"mstore","nativeSrc":"297652:6:19","nodeType":"YulIdentifier","src":"297652:6:19"},"nativeSrc":"297652:16:19","nodeType":"YulFunctionCall","src":"297652:16:19"},"nativeSrc":"297652:16:19","nodeType":"YulExpressionStatement","src":"297652:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297688:4:19","nodeType":"YulLiteral","src":"297688:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"297694:2:19","nodeType":"YulIdentifier","src":"297694:2:19"}],"functionName":{"name":"mstore","nativeSrc":"297681:6:19","nodeType":"YulIdentifier","src":"297681:6:19"},"nativeSrc":"297681:16:19","nodeType":"YulFunctionCall","src":"297681:16:19"},"nativeSrc":"297681:16:19","nodeType":"YulExpressionStatement","src":"297681:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297717:4:19","nodeType":"YulLiteral","src":"297717:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"297723:2:19","nodeType":"YulIdentifier","src":"297723:2:19"}],"functionName":{"name":"mstore","nativeSrc":"297710:6:19","nodeType":"YulIdentifier","src":"297710:6:19"},"nativeSrc":"297710:16:19","nodeType":"YulFunctionCall","src":"297710:16:19"},"nativeSrc":"297710:16:19","nodeType":"YulExpressionStatement","src":"297710:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"297746:4:19","nodeType":"YulLiteral","src":"297746:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"297752:2:19","nodeType":"YulIdentifier","src":"297752:2:19"}],"functionName":{"name":"mstore","nativeSrc":"297739:6:19","nodeType":"YulIdentifier","src":"297739:6:19"},"nativeSrc":"297739:16:19","nodeType":"YulFunctionCall","src":"297739:16:19"},"nativeSrc":"297739:16:19","nodeType":"YulExpressionStatement","src":"297739:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35668,"isOffset":false,"isSlot":false,"src":"297578:2:19","valueSize":1},{"declaration":35671,"isOffset":false,"isSlot":false,"src":"297607:2:19","valueSize":1},{"declaration":35674,"isOffset":false,"isSlot":false,"src":"297636:2:19","valueSize":1},{"declaration":35677,"isOffset":false,"isSlot":false,"src":"297665:2:19","valueSize":1},{"declaration":35680,"isOffset":false,"isSlot":false,"src":"297694:2:19","valueSize":1},{"declaration":35683,"isOffset":false,"isSlot":false,"src":"297723:2:19","valueSize":1},{"declaration":35686,"isOffset":false,"isSlot":false,"src":"297752:2:19","valueSize":1}],"id":35694,"nodeType":"InlineAssembly","src":"297542:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"296354:3:19","parameters":{"id":35665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35658,"mutability":"mutable","name":"p0","nameLocation":"296366:2:19","nodeType":"VariableDeclaration","scope":35696,"src":"296358:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35657,"name":"uint256","nodeType":"ElementaryTypeName","src":"296358:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35660,"mutability":"mutable","name":"p1","nameLocation":"296378:2:19","nodeType":"VariableDeclaration","scope":35696,"src":"296370:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35659,"name":"uint256","nodeType":"ElementaryTypeName","src":"296370:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35662,"mutability":"mutable","name":"p2","nameLocation":"296390:2:19","nodeType":"VariableDeclaration","scope":35696,"src":"296382:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35661,"name":"bytes32","nodeType":"ElementaryTypeName","src":"296382:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35664,"mutability":"mutable","name":"p3","nameLocation":"296402:2:19","nodeType":"VariableDeclaration","scope":35696,"src":"296394:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35663,"name":"address","nodeType":"ElementaryTypeName","src":"296394:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"296357:48:19"},"returnParameters":{"id":35666,"nodeType":"ParameterList","parameters":[],"src":"296420:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35736,"nodeType":"FunctionDefinition","src":"297777:1420:19","nodes":[],"body":{"id":35735,"nodeType":"Block","src":"297849:1348:19","nodes":[],"statements":[{"assignments":[35708],"declarations":[{"constant":false,"id":35708,"mutability":"mutable","name":"m0","nameLocation":"297867:2:19","nodeType":"VariableDeclaration","scope":35735,"src":"297859:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35707,"name":"bytes32","nodeType":"ElementaryTypeName","src":"297859:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35709,"nodeType":"VariableDeclarationStatement","src":"297859:10:19"},{"assignments":[35711],"declarations":[{"constant":false,"id":35711,"mutability":"mutable","name":"m1","nameLocation":"297887:2:19","nodeType":"VariableDeclaration","scope":35735,"src":"297879:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35710,"name":"bytes32","nodeType":"ElementaryTypeName","src":"297879:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35712,"nodeType":"VariableDeclarationStatement","src":"297879:10:19"},{"assignments":[35714],"declarations":[{"constant":false,"id":35714,"mutability":"mutable","name":"m2","nameLocation":"297907:2:19","nodeType":"VariableDeclaration","scope":35735,"src":"297899:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35713,"name":"bytes32","nodeType":"ElementaryTypeName","src":"297899:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35715,"nodeType":"VariableDeclarationStatement","src":"297899:10:19"},{"assignments":[35717],"declarations":[{"constant":false,"id":35717,"mutability":"mutable","name":"m3","nameLocation":"297927:2:19","nodeType":"VariableDeclaration","scope":35735,"src":"297919:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35716,"name":"bytes32","nodeType":"ElementaryTypeName","src":"297919:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35718,"nodeType":"VariableDeclarationStatement","src":"297919:10:19"},{"assignments":[35720],"declarations":[{"constant":false,"id":35720,"mutability":"mutable","name":"m4","nameLocation":"297947:2:19","nodeType":"VariableDeclaration","scope":35735,"src":"297939:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35719,"name":"bytes32","nodeType":"ElementaryTypeName","src":"297939:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35721,"nodeType":"VariableDeclarationStatement","src":"297939:10:19"},{"assignments":[35723],"declarations":[{"constant":false,"id":35723,"mutability":"mutable","name":"m5","nameLocation":"297967:2:19","nodeType":"VariableDeclaration","scope":35735,"src":"297959:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35722,"name":"bytes32","nodeType":"ElementaryTypeName","src":"297959:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35724,"nodeType":"VariableDeclarationStatement","src":"297959:10:19"},{"assignments":[35726],"declarations":[{"constant":false,"id":35726,"mutability":"mutable","name":"m6","nameLocation":"297987:2:19","nodeType":"VariableDeclaration","scope":35735,"src":"297979:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35725,"name":"bytes32","nodeType":"ElementaryTypeName","src":"297979:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35727,"nodeType":"VariableDeclarationStatement","src":"297979:10:19"},{"AST":{"nativeSrc":"298051:828:19","nodeType":"YulBlock","src":"298051:828:19","statements":[{"body":{"nativeSrc":"298094:313:19","nodeType":"YulBlock","src":"298094:313:19","statements":[{"nativeSrc":"298112:15:19","nodeType":"YulVariableDeclaration","src":"298112:15:19","value":{"kind":"number","nativeSrc":"298126:1:19","nodeType":"YulLiteral","src":"298126:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"298116:6:19","nodeType":"YulTypedName","src":"298116:6:19","type":""}]},{"body":{"nativeSrc":"298197:40:19","nodeType":"YulBlock","src":"298197:40:19","statements":[{"body":{"nativeSrc":"298226:9:19","nodeType":"YulBlock","src":"298226:9:19","statements":[{"nativeSrc":"298228:5:19","nodeType":"YulBreak","src":"298228:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"298214:6:19","nodeType":"YulIdentifier","src":"298214:6:19"},{"name":"w","nativeSrc":"298222:1:19","nodeType":"YulIdentifier","src":"298222:1:19"}],"functionName":{"name":"byte","nativeSrc":"298209:4:19","nodeType":"YulIdentifier","src":"298209:4:19"},"nativeSrc":"298209:15:19","nodeType":"YulFunctionCall","src":"298209:15:19"}],"functionName":{"name":"iszero","nativeSrc":"298202:6:19","nodeType":"YulIdentifier","src":"298202:6:19"},"nativeSrc":"298202:23:19","nodeType":"YulFunctionCall","src":"298202:23:19"},"nativeSrc":"298199:36:19","nodeType":"YulIf","src":"298199:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"298154:6:19","nodeType":"YulIdentifier","src":"298154:6:19"},{"kind":"number","nativeSrc":"298162:4:19","nodeType":"YulLiteral","src":"298162:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"298151:2:19","nodeType":"YulIdentifier","src":"298151:2:19"},"nativeSrc":"298151:16:19","nodeType":"YulFunctionCall","src":"298151:16:19"},"nativeSrc":"298144:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"298168:28:19","nodeType":"YulBlock","src":"298168:28:19","statements":[{"nativeSrc":"298170:24:19","nodeType":"YulAssignment","src":"298170:24:19","value":{"arguments":[{"name":"length","nativeSrc":"298184:6:19","nodeType":"YulIdentifier","src":"298184:6:19"},{"kind":"number","nativeSrc":"298192:1:19","nodeType":"YulLiteral","src":"298192:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"298180:3:19","nodeType":"YulIdentifier","src":"298180:3:19"},"nativeSrc":"298180:14:19","nodeType":"YulFunctionCall","src":"298180:14:19"},"variableNames":[{"name":"length","nativeSrc":"298170:6:19","nodeType":"YulIdentifier","src":"298170:6:19"}]}]},"pre":{"nativeSrc":"298148:2:19","nodeType":"YulBlock","src":"298148:2:19","statements":[]},"src":"298144:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"298261:3:19","nodeType":"YulIdentifier","src":"298261:3:19"},{"name":"length","nativeSrc":"298266:6:19","nodeType":"YulIdentifier","src":"298266:6:19"}],"functionName":{"name":"mstore","nativeSrc":"298254:6:19","nodeType":"YulIdentifier","src":"298254:6:19"},"nativeSrc":"298254:19:19","nodeType":"YulFunctionCall","src":"298254:19:19"},"nativeSrc":"298254:19:19","nodeType":"YulExpressionStatement","src":"298254:19:19"},{"nativeSrc":"298290:37:19","nodeType":"YulVariableDeclaration","src":"298290:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"298307:3:19","nodeType":"YulLiteral","src":"298307:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"298316:1:19","nodeType":"YulLiteral","src":"298316:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"298319:6:19","nodeType":"YulIdentifier","src":"298319:6:19"}],"functionName":{"name":"shl","nativeSrc":"298312:3:19","nodeType":"YulIdentifier","src":"298312:3:19"},"nativeSrc":"298312:14:19","nodeType":"YulFunctionCall","src":"298312:14:19"}],"functionName":{"name":"sub","nativeSrc":"298303:3:19","nodeType":"YulIdentifier","src":"298303:3:19"},"nativeSrc":"298303:24:19","nodeType":"YulFunctionCall","src":"298303:24:19"},"variables":[{"name":"shift","nativeSrc":"298294:5:19","nodeType":"YulTypedName","src":"298294:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"298355:3:19","nodeType":"YulIdentifier","src":"298355:3:19"},{"kind":"number","nativeSrc":"298360:4:19","nodeType":"YulLiteral","src":"298360:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"298351:3:19","nodeType":"YulIdentifier","src":"298351:3:19"},"nativeSrc":"298351:14:19","nodeType":"YulFunctionCall","src":"298351:14:19"},{"arguments":[{"name":"shift","nativeSrc":"298371:5:19","nodeType":"YulIdentifier","src":"298371:5:19"},{"arguments":[{"name":"shift","nativeSrc":"298382:5:19","nodeType":"YulIdentifier","src":"298382:5:19"},{"name":"w","nativeSrc":"298389:1:19","nodeType":"YulIdentifier","src":"298389:1:19"}],"functionName":{"name":"shr","nativeSrc":"298378:3:19","nodeType":"YulIdentifier","src":"298378:3:19"},"nativeSrc":"298378:13:19","nodeType":"YulFunctionCall","src":"298378:13:19"}],"functionName":{"name":"shl","nativeSrc":"298367:3:19","nodeType":"YulIdentifier","src":"298367:3:19"},"nativeSrc":"298367:25:19","nodeType":"YulFunctionCall","src":"298367:25:19"}],"functionName":{"name":"mstore","nativeSrc":"298344:6:19","nodeType":"YulIdentifier","src":"298344:6:19"},"nativeSrc":"298344:49:19","nodeType":"YulFunctionCall","src":"298344:49:19"},"nativeSrc":"298344:49:19","nodeType":"YulExpressionStatement","src":"298344:49:19"}]},"name":"writeString","nativeSrc":"298065:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"298086:3:19","nodeType":"YulTypedName","src":"298086:3:19","type":""},{"name":"w","nativeSrc":"298091:1:19","nodeType":"YulTypedName","src":"298091:1:19","type":""}],"src":"298065:342:19"},{"nativeSrc":"298420:17:19","nodeType":"YulAssignment","src":"298420:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"298432:4:19","nodeType":"YulLiteral","src":"298432:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"298426:5:19","nodeType":"YulIdentifier","src":"298426:5:19"},"nativeSrc":"298426:11:19","nodeType":"YulFunctionCall","src":"298426:11:19"},"variableNames":[{"name":"m0","nativeSrc":"298420:2:19","nodeType":"YulIdentifier","src":"298420:2:19"}]},{"nativeSrc":"298450:17:19","nodeType":"YulAssignment","src":"298450:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"298462:4:19","nodeType":"YulLiteral","src":"298462:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"298456:5:19","nodeType":"YulIdentifier","src":"298456:5:19"},"nativeSrc":"298456:11:19","nodeType":"YulFunctionCall","src":"298456:11:19"},"variableNames":[{"name":"m1","nativeSrc":"298450:2:19","nodeType":"YulIdentifier","src":"298450:2:19"}]},{"nativeSrc":"298480:17:19","nodeType":"YulAssignment","src":"298480:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"298492:4:19","nodeType":"YulLiteral","src":"298492:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"298486:5:19","nodeType":"YulIdentifier","src":"298486:5:19"},"nativeSrc":"298486:11:19","nodeType":"YulFunctionCall","src":"298486:11:19"},"variableNames":[{"name":"m2","nativeSrc":"298480:2:19","nodeType":"YulIdentifier","src":"298480:2:19"}]},{"nativeSrc":"298510:17:19","nodeType":"YulAssignment","src":"298510:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"298522:4:19","nodeType":"YulLiteral","src":"298522:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"298516:5:19","nodeType":"YulIdentifier","src":"298516:5:19"},"nativeSrc":"298516:11:19","nodeType":"YulFunctionCall","src":"298516:11:19"},"variableNames":[{"name":"m3","nativeSrc":"298510:2:19","nodeType":"YulIdentifier","src":"298510:2:19"}]},{"nativeSrc":"298540:17:19","nodeType":"YulAssignment","src":"298540:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"298552:4:19","nodeType":"YulLiteral","src":"298552:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"298546:5:19","nodeType":"YulIdentifier","src":"298546:5:19"},"nativeSrc":"298546:11:19","nodeType":"YulFunctionCall","src":"298546:11:19"},"variableNames":[{"name":"m4","nativeSrc":"298540:2:19","nodeType":"YulIdentifier","src":"298540:2:19"}]},{"nativeSrc":"298570:17:19","nodeType":"YulAssignment","src":"298570:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"298582:4:19","nodeType":"YulLiteral","src":"298582:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"298576:5:19","nodeType":"YulIdentifier","src":"298576:5:19"},"nativeSrc":"298576:11:19","nodeType":"YulFunctionCall","src":"298576:11:19"},"variableNames":[{"name":"m5","nativeSrc":"298570:2:19","nodeType":"YulIdentifier","src":"298570:2:19"}]},{"nativeSrc":"298600:17:19","nodeType":"YulAssignment","src":"298600:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"298612:4:19","nodeType":"YulLiteral","src":"298612:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"298606:5:19","nodeType":"YulIdentifier","src":"298606:5:19"},"nativeSrc":"298606:11:19","nodeType":"YulFunctionCall","src":"298606:11:19"},"variableNames":[{"name":"m6","nativeSrc":"298600:2:19","nodeType":"YulIdentifier","src":"298600:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"298700:4:19","nodeType":"YulLiteral","src":"298700:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"298706:10:19","nodeType":"YulLiteral","src":"298706:10:19","type":"","value":"0x7af6ab25"}],"functionName":{"name":"mstore","nativeSrc":"298693:6:19","nodeType":"YulIdentifier","src":"298693:6:19"},"nativeSrc":"298693:24:19","nodeType":"YulFunctionCall","src":"298693:24:19"},"nativeSrc":"298693:24:19","nodeType":"YulExpressionStatement","src":"298693:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"298737:4:19","nodeType":"YulLiteral","src":"298737:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"298743:2:19","nodeType":"YulIdentifier","src":"298743:2:19"}],"functionName":{"name":"mstore","nativeSrc":"298730:6:19","nodeType":"YulIdentifier","src":"298730:6:19"},"nativeSrc":"298730:16:19","nodeType":"YulFunctionCall","src":"298730:16:19"},"nativeSrc":"298730:16:19","nodeType":"YulExpressionStatement","src":"298730:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"298766:4:19","nodeType":"YulLiteral","src":"298766:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"298772:2:19","nodeType":"YulIdentifier","src":"298772:2:19"}],"functionName":{"name":"mstore","nativeSrc":"298759:6:19","nodeType":"YulIdentifier","src":"298759:6:19"},"nativeSrc":"298759:16:19","nodeType":"YulFunctionCall","src":"298759:16:19"},"nativeSrc":"298759:16:19","nodeType":"YulExpressionStatement","src":"298759:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"298795:4:19","nodeType":"YulLiteral","src":"298795:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"298801:4:19","nodeType":"YulLiteral","src":"298801:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"298788:6:19","nodeType":"YulIdentifier","src":"298788:6:19"},"nativeSrc":"298788:18:19","nodeType":"YulFunctionCall","src":"298788:18:19"},"nativeSrc":"298788:18:19","nodeType":"YulExpressionStatement","src":"298788:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"298826:4:19","nodeType":"YulLiteral","src":"298826:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"298832:2:19","nodeType":"YulIdentifier","src":"298832:2:19"}],"functionName":{"name":"mstore","nativeSrc":"298819:6:19","nodeType":"YulIdentifier","src":"298819:6:19"},"nativeSrc":"298819:16:19","nodeType":"YulFunctionCall","src":"298819:16:19"},"nativeSrc":"298819:16:19","nodeType":"YulExpressionStatement","src":"298819:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"298860:4:19","nodeType":"YulLiteral","src":"298860:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"298866:2:19","nodeType":"YulIdentifier","src":"298866:2:19"}],"functionName":{"name":"writeString","nativeSrc":"298848:11:19","nodeType":"YulIdentifier","src":"298848:11:19"},"nativeSrc":"298848:21:19","nodeType":"YulFunctionCall","src":"298848:21:19"},"nativeSrc":"298848:21:19","nodeType":"YulExpressionStatement","src":"298848:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35708,"isOffset":false,"isSlot":false,"src":"298420:2:19","valueSize":1},{"declaration":35711,"isOffset":false,"isSlot":false,"src":"298450:2:19","valueSize":1},{"declaration":35714,"isOffset":false,"isSlot":false,"src":"298480:2:19","valueSize":1},{"declaration":35717,"isOffset":false,"isSlot":false,"src":"298510:2:19","valueSize":1},{"declaration":35720,"isOffset":false,"isSlot":false,"src":"298540:2:19","valueSize":1},{"declaration":35723,"isOffset":false,"isSlot":false,"src":"298570:2:19","valueSize":1},{"declaration":35726,"isOffset":false,"isSlot":false,"src":"298600:2:19","valueSize":1},{"declaration":35698,"isOffset":false,"isSlot":false,"src":"298743:2:19","valueSize":1},{"declaration":35700,"isOffset":false,"isSlot":false,"src":"298772:2:19","valueSize":1},{"declaration":35702,"isOffset":false,"isSlot":false,"src":"298866:2:19","valueSize":1},{"declaration":35704,"isOffset":false,"isSlot":false,"src":"298832:2:19","valueSize":1}],"id":35728,"nodeType":"InlineAssembly","src":"298042:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"298904:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"298910:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":35729,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"298888:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"298888:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35733,"nodeType":"ExpressionStatement","src":"298888:27:19"},{"AST":{"nativeSrc":"298977:214:19","nodeType":"YulBlock","src":"298977:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"298998:4:19","nodeType":"YulLiteral","src":"298998:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"299004:2:19","nodeType":"YulIdentifier","src":"299004:2:19"}],"functionName":{"name":"mstore","nativeSrc":"298991:6:19","nodeType":"YulIdentifier","src":"298991:6:19"},"nativeSrc":"298991:16:19","nodeType":"YulFunctionCall","src":"298991:16:19"},"nativeSrc":"298991:16:19","nodeType":"YulExpressionStatement","src":"298991:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"299027:4:19","nodeType":"YulLiteral","src":"299027:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"299033:2:19","nodeType":"YulIdentifier","src":"299033:2:19"}],"functionName":{"name":"mstore","nativeSrc":"299020:6:19","nodeType":"YulIdentifier","src":"299020:6:19"},"nativeSrc":"299020:16:19","nodeType":"YulFunctionCall","src":"299020:16:19"},"nativeSrc":"299020:16:19","nodeType":"YulExpressionStatement","src":"299020:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"299056:4:19","nodeType":"YulLiteral","src":"299056:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"299062:2:19","nodeType":"YulIdentifier","src":"299062:2:19"}],"functionName":{"name":"mstore","nativeSrc":"299049:6:19","nodeType":"YulIdentifier","src":"299049:6:19"},"nativeSrc":"299049:16:19","nodeType":"YulFunctionCall","src":"299049:16:19"},"nativeSrc":"299049:16:19","nodeType":"YulExpressionStatement","src":"299049:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"299085:4:19","nodeType":"YulLiteral","src":"299085:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"299091:2:19","nodeType":"YulIdentifier","src":"299091:2:19"}],"functionName":{"name":"mstore","nativeSrc":"299078:6:19","nodeType":"YulIdentifier","src":"299078:6:19"},"nativeSrc":"299078:16:19","nodeType":"YulFunctionCall","src":"299078:16:19"},"nativeSrc":"299078:16:19","nodeType":"YulExpressionStatement","src":"299078:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"299114:4:19","nodeType":"YulLiteral","src":"299114:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"299120:2:19","nodeType":"YulIdentifier","src":"299120:2:19"}],"functionName":{"name":"mstore","nativeSrc":"299107:6:19","nodeType":"YulIdentifier","src":"299107:6:19"},"nativeSrc":"299107:16:19","nodeType":"YulFunctionCall","src":"299107:16:19"},"nativeSrc":"299107:16:19","nodeType":"YulExpressionStatement","src":"299107:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"299143:4:19","nodeType":"YulLiteral","src":"299143:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"299149:2:19","nodeType":"YulIdentifier","src":"299149:2:19"}],"functionName":{"name":"mstore","nativeSrc":"299136:6:19","nodeType":"YulIdentifier","src":"299136:6:19"},"nativeSrc":"299136:16:19","nodeType":"YulFunctionCall","src":"299136:16:19"},"nativeSrc":"299136:16:19","nodeType":"YulExpressionStatement","src":"299136:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"299172:4:19","nodeType":"YulLiteral","src":"299172:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"299178:2:19","nodeType":"YulIdentifier","src":"299178:2:19"}],"functionName":{"name":"mstore","nativeSrc":"299165:6:19","nodeType":"YulIdentifier","src":"299165:6:19"},"nativeSrc":"299165:16:19","nodeType":"YulFunctionCall","src":"299165:16:19"},"nativeSrc":"299165:16:19","nodeType":"YulExpressionStatement","src":"299165:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35708,"isOffset":false,"isSlot":false,"src":"299004:2:19","valueSize":1},{"declaration":35711,"isOffset":false,"isSlot":false,"src":"299033:2:19","valueSize":1},{"declaration":35714,"isOffset":false,"isSlot":false,"src":"299062:2:19","valueSize":1},{"declaration":35717,"isOffset":false,"isSlot":false,"src":"299091:2:19","valueSize":1},{"declaration":35720,"isOffset":false,"isSlot":false,"src":"299120:2:19","valueSize":1},{"declaration":35723,"isOffset":false,"isSlot":false,"src":"299149:2:19","valueSize":1},{"declaration":35726,"isOffset":false,"isSlot":false,"src":"299178:2:19","valueSize":1}],"id":35734,"nodeType":"InlineAssembly","src":"298968:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"297786:3:19","parameters":{"id":35705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35698,"mutability":"mutable","name":"p0","nameLocation":"297798:2:19","nodeType":"VariableDeclaration","scope":35736,"src":"297790:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35697,"name":"uint256","nodeType":"ElementaryTypeName","src":"297790:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35700,"mutability":"mutable","name":"p1","nameLocation":"297810:2:19","nodeType":"VariableDeclaration","scope":35736,"src":"297802:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35699,"name":"uint256","nodeType":"ElementaryTypeName","src":"297802:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35702,"mutability":"mutable","name":"p2","nameLocation":"297822:2:19","nodeType":"VariableDeclaration","scope":35736,"src":"297814:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35701,"name":"bytes32","nodeType":"ElementaryTypeName","src":"297814:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35704,"mutability":"mutable","name":"p3","nameLocation":"297831:2:19","nodeType":"VariableDeclaration","scope":35736,"src":"297826:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35703,"name":"bool","nodeType":"ElementaryTypeName","src":"297826:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"297789:45:19"},"returnParameters":{"id":35706,"nodeType":"ParameterList","parameters":[],"src":"297849:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35776,"nodeType":"FunctionDefinition","src":"299203:1426:19","nodes":[],"body":{"id":35775,"nodeType":"Block","src":"299278:1351:19","nodes":[],"statements":[{"assignments":[35748],"declarations":[{"constant":false,"id":35748,"mutability":"mutable","name":"m0","nameLocation":"299296:2:19","nodeType":"VariableDeclaration","scope":35775,"src":"299288:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35747,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299288:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35749,"nodeType":"VariableDeclarationStatement","src":"299288:10:19"},{"assignments":[35751],"declarations":[{"constant":false,"id":35751,"mutability":"mutable","name":"m1","nameLocation":"299316:2:19","nodeType":"VariableDeclaration","scope":35775,"src":"299308:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35750,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299308:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35752,"nodeType":"VariableDeclarationStatement","src":"299308:10:19"},{"assignments":[35754],"declarations":[{"constant":false,"id":35754,"mutability":"mutable","name":"m2","nameLocation":"299336:2:19","nodeType":"VariableDeclaration","scope":35775,"src":"299328:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35753,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299328:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35755,"nodeType":"VariableDeclarationStatement","src":"299328:10:19"},{"assignments":[35757],"declarations":[{"constant":false,"id":35757,"mutability":"mutable","name":"m3","nameLocation":"299356:2:19","nodeType":"VariableDeclaration","scope":35775,"src":"299348:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35756,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299348:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35758,"nodeType":"VariableDeclarationStatement","src":"299348:10:19"},{"assignments":[35760],"declarations":[{"constant":false,"id":35760,"mutability":"mutable","name":"m4","nameLocation":"299376:2:19","nodeType":"VariableDeclaration","scope":35775,"src":"299368:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35759,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299368:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35761,"nodeType":"VariableDeclarationStatement","src":"299368:10:19"},{"assignments":[35763],"declarations":[{"constant":false,"id":35763,"mutability":"mutable","name":"m5","nameLocation":"299396:2:19","nodeType":"VariableDeclaration","scope":35775,"src":"299388:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35762,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299388:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35764,"nodeType":"VariableDeclarationStatement","src":"299388:10:19"},{"assignments":[35766],"declarations":[{"constant":false,"id":35766,"mutability":"mutable","name":"m6","nameLocation":"299416:2:19","nodeType":"VariableDeclaration","scope":35775,"src":"299408:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35765,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299408:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35767,"nodeType":"VariableDeclarationStatement","src":"299408:10:19"},{"AST":{"nativeSrc":"299480:831:19","nodeType":"YulBlock","src":"299480:831:19","statements":[{"body":{"nativeSrc":"299523:313:19","nodeType":"YulBlock","src":"299523:313:19","statements":[{"nativeSrc":"299541:15:19","nodeType":"YulVariableDeclaration","src":"299541:15:19","value":{"kind":"number","nativeSrc":"299555:1:19","nodeType":"YulLiteral","src":"299555:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"299545:6:19","nodeType":"YulTypedName","src":"299545:6:19","type":""}]},{"body":{"nativeSrc":"299626:40:19","nodeType":"YulBlock","src":"299626:40:19","statements":[{"body":{"nativeSrc":"299655:9:19","nodeType":"YulBlock","src":"299655:9:19","statements":[{"nativeSrc":"299657:5:19","nodeType":"YulBreak","src":"299657:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"299643:6:19","nodeType":"YulIdentifier","src":"299643:6:19"},{"name":"w","nativeSrc":"299651:1:19","nodeType":"YulIdentifier","src":"299651:1:19"}],"functionName":{"name":"byte","nativeSrc":"299638:4:19","nodeType":"YulIdentifier","src":"299638:4:19"},"nativeSrc":"299638:15:19","nodeType":"YulFunctionCall","src":"299638:15:19"}],"functionName":{"name":"iszero","nativeSrc":"299631:6:19","nodeType":"YulIdentifier","src":"299631:6:19"},"nativeSrc":"299631:23:19","nodeType":"YulFunctionCall","src":"299631:23:19"},"nativeSrc":"299628:36:19","nodeType":"YulIf","src":"299628:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"299583:6:19","nodeType":"YulIdentifier","src":"299583:6:19"},{"kind":"number","nativeSrc":"299591:4:19","nodeType":"YulLiteral","src":"299591:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"299580:2:19","nodeType":"YulIdentifier","src":"299580:2:19"},"nativeSrc":"299580:16:19","nodeType":"YulFunctionCall","src":"299580:16:19"},"nativeSrc":"299573:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"299597:28:19","nodeType":"YulBlock","src":"299597:28:19","statements":[{"nativeSrc":"299599:24:19","nodeType":"YulAssignment","src":"299599:24:19","value":{"arguments":[{"name":"length","nativeSrc":"299613:6:19","nodeType":"YulIdentifier","src":"299613:6:19"},{"kind":"number","nativeSrc":"299621:1:19","nodeType":"YulLiteral","src":"299621:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"299609:3:19","nodeType":"YulIdentifier","src":"299609:3:19"},"nativeSrc":"299609:14:19","nodeType":"YulFunctionCall","src":"299609:14:19"},"variableNames":[{"name":"length","nativeSrc":"299599:6:19","nodeType":"YulIdentifier","src":"299599:6:19"}]}]},"pre":{"nativeSrc":"299577:2:19","nodeType":"YulBlock","src":"299577:2:19","statements":[]},"src":"299573:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"299690:3:19","nodeType":"YulIdentifier","src":"299690:3:19"},{"name":"length","nativeSrc":"299695:6:19","nodeType":"YulIdentifier","src":"299695:6:19"}],"functionName":{"name":"mstore","nativeSrc":"299683:6:19","nodeType":"YulIdentifier","src":"299683:6:19"},"nativeSrc":"299683:19:19","nodeType":"YulFunctionCall","src":"299683:19:19"},"nativeSrc":"299683:19:19","nodeType":"YulExpressionStatement","src":"299683:19:19"},{"nativeSrc":"299719:37:19","nodeType":"YulVariableDeclaration","src":"299719:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"299736:3:19","nodeType":"YulLiteral","src":"299736:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"299745:1:19","nodeType":"YulLiteral","src":"299745:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"299748:6:19","nodeType":"YulIdentifier","src":"299748:6:19"}],"functionName":{"name":"shl","nativeSrc":"299741:3:19","nodeType":"YulIdentifier","src":"299741:3:19"},"nativeSrc":"299741:14:19","nodeType":"YulFunctionCall","src":"299741:14:19"}],"functionName":{"name":"sub","nativeSrc":"299732:3:19","nodeType":"YulIdentifier","src":"299732:3:19"},"nativeSrc":"299732:24:19","nodeType":"YulFunctionCall","src":"299732:24:19"},"variables":[{"name":"shift","nativeSrc":"299723:5:19","nodeType":"YulTypedName","src":"299723:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"299784:3:19","nodeType":"YulIdentifier","src":"299784:3:19"},{"kind":"number","nativeSrc":"299789:4:19","nodeType":"YulLiteral","src":"299789:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"299780:3:19","nodeType":"YulIdentifier","src":"299780:3:19"},"nativeSrc":"299780:14:19","nodeType":"YulFunctionCall","src":"299780:14:19"},{"arguments":[{"name":"shift","nativeSrc":"299800:5:19","nodeType":"YulIdentifier","src":"299800:5:19"},{"arguments":[{"name":"shift","nativeSrc":"299811:5:19","nodeType":"YulIdentifier","src":"299811:5:19"},{"name":"w","nativeSrc":"299818:1:19","nodeType":"YulIdentifier","src":"299818:1:19"}],"functionName":{"name":"shr","nativeSrc":"299807:3:19","nodeType":"YulIdentifier","src":"299807:3:19"},"nativeSrc":"299807:13:19","nodeType":"YulFunctionCall","src":"299807:13:19"}],"functionName":{"name":"shl","nativeSrc":"299796:3:19","nodeType":"YulIdentifier","src":"299796:3:19"},"nativeSrc":"299796:25:19","nodeType":"YulFunctionCall","src":"299796:25:19"}],"functionName":{"name":"mstore","nativeSrc":"299773:6:19","nodeType":"YulIdentifier","src":"299773:6:19"},"nativeSrc":"299773:49:19","nodeType":"YulFunctionCall","src":"299773:49:19"},"nativeSrc":"299773:49:19","nodeType":"YulExpressionStatement","src":"299773:49:19"}]},"name":"writeString","nativeSrc":"299494:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"299515:3:19","nodeType":"YulTypedName","src":"299515:3:19","type":""},{"name":"w","nativeSrc":"299520:1:19","nodeType":"YulTypedName","src":"299520:1:19","type":""}],"src":"299494:342:19"},{"nativeSrc":"299849:17:19","nodeType":"YulAssignment","src":"299849:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"299861:4:19","nodeType":"YulLiteral","src":"299861:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"299855:5:19","nodeType":"YulIdentifier","src":"299855:5:19"},"nativeSrc":"299855:11:19","nodeType":"YulFunctionCall","src":"299855:11:19"},"variableNames":[{"name":"m0","nativeSrc":"299849:2:19","nodeType":"YulIdentifier","src":"299849:2:19"}]},{"nativeSrc":"299879:17:19","nodeType":"YulAssignment","src":"299879:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"299891:4:19","nodeType":"YulLiteral","src":"299891:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"299885:5:19","nodeType":"YulIdentifier","src":"299885:5:19"},"nativeSrc":"299885:11:19","nodeType":"YulFunctionCall","src":"299885:11:19"},"variableNames":[{"name":"m1","nativeSrc":"299879:2:19","nodeType":"YulIdentifier","src":"299879:2:19"}]},{"nativeSrc":"299909:17:19","nodeType":"YulAssignment","src":"299909:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"299921:4:19","nodeType":"YulLiteral","src":"299921:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"299915:5:19","nodeType":"YulIdentifier","src":"299915:5:19"},"nativeSrc":"299915:11:19","nodeType":"YulFunctionCall","src":"299915:11:19"},"variableNames":[{"name":"m2","nativeSrc":"299909:2:19","nodeType":"YulIdentifier","src":"299909:2:19"}]},{"nativeSrc":"299939:17:19","nodeType":"YulAssignment","src":"299939:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"299951:4:19","nodeType":"YulLiteral","src":"299951:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"299945:5:19","nodeType":"YulIdentifier","src":"299945:5:19"},"nativeSrc":"299945:11:19","nodeType":"YulFunctionCall","src":"299945:11:19"},"variableNames":[{"name":"m3","nativeSrc":"299939:2:19","nodeType":"YulIdentifier","src":"299939:2:19"}]},{"nativeSrc":"299969:17:19","nodeType":"YulAssignment","src":"299969:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"299981:4:19","nodeType":"YulLiteral","src":"299981:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"299975:5:19","nodeType":"YulIdentifier","src":"299975:5:19"},"nativeSrc":"299975:11:19","nodeType":"YulFunctionCall","src":"299975:11:19"},"variableNames":[{"name":"m4","nativeSrc":"299969:2:19","nodeType":"YulIdentifier","src":"299969:2:19"}]},{"nativeSrc":"299999:17:19","nodeType":"YulAssignment","src":"299999:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"300011:4:19","nodeType":"YulLiteral","src":"300011:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"300005:5:19","nodeType":"YulIdentifier","src":"300005:5:19"},"nativeSrc":"300005:11:19","nodeType":"YulFunctionCall","src":"300005:11:19"},"variableNames":[{"name":"m5","nativeSrc":"299999:2:19","nodeType":"YulIdentifier","src":"299999:2:19"}]},{"nativeSrc":"300029:17:19","nodeType":"YulAssignment","src":"300029:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"300041:4:19","nodeType":"YulLiteral","src":"300041:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"300035:5:19","nodeType":"YulIdentifier","src":"300035:5:19"},"nativeSrc":"300035:11:19","nodeType":"YulFunctionCall","src":"300035:11:19"},"variableNames":[{"name":"m6","nativeSrc":"300029:2:19","nodeType":"YulIdentifier","src":"300029:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300132:4:19","nodeType":"YulLiteral","src":"300132:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"300138:10:19","nodeType":"YulLiteral","src":"300138:10:19","type":"","value":"0x5da297eb"}],"functionName":{"name":"mstore","nativeSrc":"300125:6:19","nodeType":"YulIdentifier","src":"300125:6:19"},"nativeSrc":"300125:24:19","nodeType":"YulFunctionCall","src":"300125:24:19"},"nativeSrc":"300125:24:19","nodeType":"YulExpressionStatement","src":"300125:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300169:4:19","nodeType":"YulLiteral","src":"300169:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"300175:2:19","nodeType":"YulIdentifier","src":"300175:2:19"}],"functionName":{"name":"mstore","nativeSrc":"300162:6:19","nodeType":"YulIdentifier","src":"300162:6:19"},"nativeSrc":"300162:16:19","nodeType":"YulFunctionCall","src":"300162:16:19"},"nativeSrc":"300162:16:19","nodeType":"YulExpressionStatement","src":"300162:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300198:4:19","nodeType":"YulLiteral","src":"300198:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"300204:2:19","nodeType":"YulIdentifier","src":"300204:2:19"}],"functionName":{"name":"mstore","nativeSrc":"300191:6:19","nodeType":"YulIdentifier","src":"300191:6:19"},"nativeSrc":"300191:16:19","nodeType":"YulFunctionCall","src":"300191:16:19"},"nativeSrc":"300191:16:19","nodeType":"YulExpressionStatement","src":"300191:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300227:4:19","nodeType":"YulLiteral","src":"300227:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"300233:4:19","nodeType":"YulLiteral","src":"300233:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"300220:6:19","nodeType":"YulIdentifier","src":"300220:6:19"},"nativeSrc":"300220:18:19","nodeType":"YulFunctionCall","src":"300220:18:19"},"nativeSrc":"300220:18:19","nodeType":"YulExpressionStatement","src":"300220:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300258:4:19","nodeType":"YulLiteral","src":"300258:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"300264:2:19","nodeType":"YulIdentifier","src":"300264:2:19"}],"functionName":{"name":"mstore","nativeSrc":"300251:6:19","nodeType":"YulIdentifier","src":"300251:6:19"},"nativeSrc":"300251:16:19","nodeType":"YulFunctionCall","src":"300251:16:19"},"nativeSrc":"300251:16:19","nodeType":"YulExpressionStatement","src":"300251:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300292:4:19","nodeType":"YulLiteral","src":"300292:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"300298:2:19","nodeType":"YulIdentifier","src":"300298:2:19"}],"functionName":{"name":"writeString","nativeSrc":"300280:11:19","nodeType":"YulIdentifier","src":"300280:11:19"},"nativeSrc":"300280:21:19","nodeType":"YulFunctionCall","src":"300280:21:19"},"nativeSrc":"300280:21:19","nodeType":"YulExpressionStatement","src":"300280:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35748,"isOffset":false,"isSlot":false,"src":"299849:2:19","valueSize":1},{"declaration":35751,"isOffset":false,"isSlot":false,"src":"299879:2:19","valueSize":1},{"declaration":35754,"isOffset":false,"isSlot":false,"src":"299909:2:19","valueSize":1},{"declaration":35757,"isOffset":false,"isSlot":false,"src":"299939:2:19","valueSize":1},{"declaration":35760,"isOffset":false,"isSlot":false,"src":"299969:2:19","valueSize":1},{"declaration":35763,"isOffset":false,"isSlot":false,"src":"299999:2:19","valueSize":1},{"declaration":35766,"isOffset":false,"isSlot":false,"src":"300029:2:19","valueSize":1},{"declaration":35738,"isOffset":false,"isSlot":false,"src":"300175:2:19","valueSize":1},{"declaration":35740,"isOffset":false,"isSlot":false,"src":"300204:2:19","valueSize":1},{"declaration":35742,"isOffset":false,"isSlot":false,"src":"300298:2:19","valueSize":1},{"declaration":35744,"isOffset":false,"isSlot":false,"src":"300264:2:19","valueSize":1}],"id":35768,"nodeType":"InlineAssembly","src":"299471:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"300336:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"300342:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":35769,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"300320:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"300320:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35773,"nodeType":"ExpressionStatement","src":"300320:27:19"},{"AST":{"nativeSrc":"300409:214:19","nodeType":"YulBlock","src":"300409:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"300430:4:19","nodeType":"YulLiteral","src":"300430:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"300436:2:19","nodeType":"YulIdentifier","src":"300436:2:19"}],"functionName":{"name":"mstore","nativeSrc":"300423:6:19","nodeType":"YulIdentifier","src":"300423:6:19"},"nativeSrc":"300423:16:19","nodeType":"YulFunctionCall","src":"300423:16:19"},"nativeSrc":"300423:16:19","nodeType":"YulExpressionStatement","src":"300423:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300459:4:19","nodeType":"YulLiteral","src":"300459:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"300465:2:19","nodeType":"YulIdentifier","src":"300465:2:19"}],"functionName":{"name":"mstore","nativeSrc":"300452:6:19","nodeType":"YulIdentifier","src":"300452:6:19"},"nativeSrc":"300452:16:19","nodeType":"YulFunctionCall","src":"300452:16:19"},"nativeSrc":"300452:16:19","nodeType":"YulExpressionStatement","src":"300452:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300488:4:19","nodeType":"YulLiteral","src":"300488:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"300494:2:19","nodeType":"YulIdentifier","src":"300494:2:19"}],"functionName":{"name":"mstore","nativeSrc":"300481:6:19","nodeType":"YulIdentifier","src":"300481:6:19"},"nativeSrc":"300481:16:19","nodeType":"YulFunctionCall","src":"300481:16:19"},"nativeSrc":"300481:16:19","nodeType":"YulExpressionStatement","src":"300481:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300517:4:19","nodeType":"YulLiteral","src":"300517:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"300523:2:19","nodeType":"YulIdentifier","src":"300523:2:19"}],"functionName":{"name":"mstore","nativeSrc":"300510:6:19","nodeType":"YulIdentifier","src":"300510:6:19"},"nativeSrc":"300510:16:19","nodeType":"YulFunctionCall","src":"300510:16:19"},"nativeSrc":"300510:16:19","nodeType":"YulExpressionStatement","src":"300510:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300546:4:19","nodeType":"YulLiteral","src":"300546:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"300552:2:19","nodeType":"YulIdentifier","src":"300552:2:19"}],"functionName":{"name":"mstore","nativeSrc":"300539:6:19","nodeType":"YulIdentifier","src":"300539:6:19"},"nativeSrc":"300539:16:19","nodeType":"YulFunctionCall","src":"300539:16:19"},"nativeSrc":"300539:16:19","nodeType":"YulExpressionStatement","src":"300539:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300575:4:19","nodeType":"YulLiteral","src":"300575:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"300581:2:19","nodeType":"YulIdentifier","src":"300581:2:19"}],"functionName":{"name":"mstore","nativeSrc":"300568:6:19","nodeType":"YulIdentifier","src":"300568:6:19"},"nativeSrc":"300568:16:19","nodeType":"YulFunctionCall","src":"300568:16:19"},"nativeSrc":"300568:16:19","nodeType":"YulExpressionStatement","src":"300568:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"300604:4:19","nodeType":"YulLiteral","src":"300604:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"300610:2:19","nodeType":"YulIdentifier","src":"300610:2:19"}],"functionName":{"name":"mstore","nativeSrc":"300597:6:19","nodeType":"YulIdentifier","src":"300597:6:19"},"nativeSrc":"300597:16:19","nodeType":"YulFunctionCall","src":"300597:16:19"},"nativeSrc":"300597:16:19","nodeType":"YulExpressionStatement","src":"300597:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35748,"isOffset":false,"isSlot":false,"src":"300436:2:19","valueSize":1},{"declaration":35751,"isOffset":false,"isSlot":false,"src":"300465:2:19","valueSize":1},{"declaration":35754,"isOffset":false,"isSlot":false,"src":"300494:2:19","valueSize":1},{"declaration":35757,"isOffset":false,"isSlot":false,"src":"300523:2:19","valueSize":1},{"declaration":35760,"isOffset":false,"isSlot":false,"src":"300552:2:19","valueSize":1},{"declaration":35763,"isOffset":false,"isSlot":false,"src":"300581:2:19","valueSize":1},{"declaration":35766,"isOffset":false,"isSlot":false,"src":"300610:2:19","valueSize":1}],"id":35774,"nodeType":"InlineAssembly","src":"300400:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"299212:3:19","parameters":{"id":35745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35738,"mutability":"mutable","name":"p0","nameLocation":"299224:2:19","nodeType":"VariableDeclaration","scope":35776,"src":"299216:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35737,"name":"uint256","nodeType":"ElementaryTypeName","src":"299216:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35740,"mutability":"mutable","name":"p1","nameLocation":"299236:2:19","nodeType":"VariableDeclaration","scope":35776,"src":"299228:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35739,"name":"uint256","nodeType":"ElementaryTypeName","src":"299228:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35742,"mutability":"mutable","name":"p2","nameLocation":"299248:2:19","nodeType":"VariableDeclaration","scope":35776,"src":"299240:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35741,"name":"bytes32","nodeType":"ElementaryTypeName","src":"299240:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35744,"mutability":"mutable","name":"p3","nameLocation":"299260:2:19","nodeType":"VariableDeclaration","scope":35776,"src":"299252:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35743,"name":"uint256","nodeType":"ElementaryTypeName","src":"299252:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"299215:48:19"},"returnParameters":{"id":35746,"nodeType":"ParameterList","parameters":[],"src":"299278:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35822,"nodeType":"FunctionDefinition","src":"300635:1622:19","nodes":[],"body":{"id":35821,"nodeType":"Block","src":"300710:1547:19","nodes":[],"statements":[{"assignments":[35788],"declarations":[{"constant":false,"id":35788,"mutability":"mutable","name":"m0","nameLocation":"300728:2:19","nodeType":"VariableDeclaration","scope":35821,"src":"300720:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35787,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300720:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35789,"nodeType":"VariableDeclarationStatement","src":"300720:10:19"},{"assignments":[35791],"declarations":[{"constant":false,"id":35791,"mutability":"mutable","name":"m1","nameLocation":"300748:2:19","nodeType":"VariableDeclaration","scope":35821,"src":"300740:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35790,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300740:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35792,"nodeType":"VariableDeclarationStatement","src":"300740:10:19"},{"assignments":[35794],"declarations":[{"constant":false,"id":35794,"mutability":"mutable","name":"m2","nameLocation":"300768:2:19","nodeType":"VariableDeclaration","scope":35821,"src":"300760:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300760:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35795,"nodeType":"VariableDeclarationStatement","src":"300760:10:19"},{"assignments":[35797],"declarations":[{"constant":false,"id":35797,"mutability":"mutable","name":"m3","nameLocation":"300788:2:19","nodeType":"VariableDeclaration","scope":35821,"src":"300780:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35796,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300780:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35798,"nodeType":"VariableDeclarationStatement","src":"300780:10:19"},{"assignments":[35800],"declarations":[{"constant":false,"id":35800,"mutability":"mutable","name":"m4","nameLocation":"300808:2:19","nodeType":"VariableDeclaration","scope":35821,"src":"300800:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35799,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300800:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35801,"nodeType":"VariableDeclarationStatement","src":"300800:10:19"},{"assignments":[35803],"declarations":[{"constant":false,"id":35803,"mutability":"mutable","name":"m5","nameLocation":"300828:2:19","nodeType":"VariableDeclaration","scope":35821,"src":"300820:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35802,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300820:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35804,"nodeType":"VariableDeclarationStatement","src":"300820:10:19"},{"assignments":[35806],"declarations":[{"constant":false,"id":35806,"mutability":"mutable","name":"m6","nameLocation":"300848:2:19","nodeType":"VariableDeclaration","scope":35821,"src":"300840:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35805,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300840:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35807,"nodeType":"VariableDeclarationStatement","src":"300840:10:19"},{"assignments":[35809],"declarations":[{"constant":false,"id":35809,"mutability":"mutable","name":"m7","nameLocation":"300868:2:19","nodeType":"VariableDeclaration","scope":35821,"src":"300860:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35808,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300860:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35810,"nodeType":"VariableDeclarationStatement","src":"300860:10:19"},{"assignments":[35812],"declarations":[{"constant":false,"id":35812,"mutability":"mutable","name":"m8","nameLocation":"300888:2:19","nodeType":"VariableDeclaration","scope":35821,"src":"300880:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35811,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300880:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35813,"nodeType":"VariableDeclarationStatement","src":"300880:10:19"},{"AST":{"nativeSrc":"300952:927:19","nodeType":"YulBlock","src":"300952:927:19","statements":[{"body":{"nativeSrc":"300995:313:19","nodeType":"YulBlock","src":"300995:313:19","statements":[{"nativeSrc":"301013:15:19","nodeType":"YulVariableDeclaration","src":"301013:15:19","value":{"kind":"number","nativeSrc":"301027:1:19","nodeType":"YulLiteral","src":"301027:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"301017:6:19","nodeType":"YulTypedName","src":"301017:6:19","type":""}]},{"body":{"nativeSrc":"301098:40:19","nodeType":"YulBlock","src":"301098:40:19","statements":[{"body":{"nativeSrc":"301127:9:19","nodeType":"YulBlock","src":"301127:9:19","statements":[{"nativeSrc":"301129:5:19","nodeType":"YulBreak","src":"301129:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"301115:6:19","nodeType":"YulIdentifier","src":"301115:6:19"},{"name":"w","nativeSrc":"301123:1:19","nodeType":"YulIdentifier","src":"301123:1:19"}],"functionName":{"name":"byte","nativeSrc":"301110:4:19","nodeType":"YulIdentifier","src":"301110:4:19"},"nativeSrc":"301110:15:19","nodeType":"YulFunctionCall","src":"301110:15:19"}],"functionName":{"name":"iszero","nativeSrc":"301103:6:19","nodeType":"YulIdentifier","src":"301103:6:19"},"nativeSrc":"301103:23:19","nodeType":"YulFunctionCall","src":"301103:23:19"},"nativeSrc":"301100:36:19","nodeType":"YulIf","src":"301100:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"301055:6:19","nodeType":"YulIdentifier","src":"301055:6:19"},{"kind":"number","nativeSrc":"301063:4:19","nodeType":"YulLiteral","src":"301063:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"301052:2:19","nodeType":"YulIdentifier","src":"301052:2:19"},"nativeSrc":"301052:16:19","nodeType":"YulFunctionCall","src":"301052:16:19"},"nativeSrc":"301045:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"301069:28:19","nodeType":"YulBlock","src":"301069:28:19","statements":[{"nativeSrc":"301071:24:19","nodeType":"YulAssignment","src":"301071:24:19","value":{"arguments":[{"name":"length","nativeSrc":"301085:6:19","nodeType":"YulIdentifier","src":"301085:6:19"},{"kind":"number","nativeSrc":"301093:1:19","nodeType":"YulLiteral","src":"301093:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"301081:3:19","nodeType":"YulIdentifier","src":"301081:3:19"},"nativeSrc":"301081:14:19","nodeType":"YulFunctionCall","src":"301081:14:19"},"variableNames":[{"name":"length","nativeSrc":"301071:6:19","nodeType":"YulIdentifier","src":"301071:6:19"}]}]},"pre":{"nativeSrc":"301049:2:19","nodeType":"YulBlock","src":"301049:2:19","statements":[]},"src":"301045:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"301162:3:19","nodeType":"YulIdentifier","src":"301162:3:19"},{"name":"length","nativeSrc":"301167:6:19","nodeType":"YulIdentifier","src":"301167:6:19"}],"functionName":{"name":"mstore","nativeSrc":"301155:6:19","nodeType":"YulIdentifier","src":"301155:6:19"},"nativeSrc":"301155:19:19","nodeType":"YulFunctionCall","src":"301155:19:19"},"nativeSrc":"301155:19:19","nodeType":"YulExpressionStatement","src":"301155:19:19"},{"nativeSrc":"301191:37:19","nodeType":"YulVariableDeclaration","src":"301191:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"301208:3:19","nodeType":"YulLiteral","src":"301208:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"301217:1:19","nodeType":"YulLiteral","src":"301217:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"301220:6:19","nodeType":"YulIdentifier","src":"301220:6:19"}],"functionName":{"name":"shl","nativeSrc":"301213:3:19","nodeType":"YulIdentifier","src":"301213:3:19"},"nativeSrc":"301213:14:19","nodeType":"YulFunctionCall","src":"301213:14:19"}],"functionName":{"name":"sub","nativeSrc":"301204:3:19","nodeType":"YulIdentifier","src":"301204:3:19"},"nativeSrc":"301204:24:19","nodeType":"YulFunctionCall","src":"301204:24:19"},"variables":[{"name":"shift","nativeSrc":"301195:5:19","nodeType":"YulTypedName","src":"301195:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"301256:3:19","nodeType":"YulIdentifier","src":"301256:3:19"},{"kind":"number","nativeSrc":"301261:4:19","nodeType":"YulLiteral","src":"301261:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"301252:3:19","nodeType":"YulIdentifier","src":"301252:3:19"},"nativeSrc":"301252:14:19","nodeType":"YulFunctionCall","src":"301252:14:19"},{"arguments":[{"name":"shift","nativeSrc":"301272:5:19","nodeType":"YulIdentifier","src":"301272:5:19"},{"arguments":[{"name":"shift","nativeSrc":"301283:5:19","nodeType":"YulIdentifier","src":"301283:5:19"},{"name":"w","nativeSrc":"301290:1:19","nodeType":"YulIdentifier","src":"301290:1:19"}],"functionName":{"name":"shr","nativeSrc":"301279:3:19","nodeType":"YulIdentifier","src":"301279:3:19"},"nativeSrc":"301279:13:19","nodeType":"YulFunctionCall","src":"301279:13:19"}],"functionName":{"name":"shl","nativeSrc":"301268:3:19","nodeType":"YulIdentifier","src":"301268:3:19"},"nativeSrc":"301268:25:19","nodeType":"YulFunctionCall","src":"301268:25:19"}],"functionName":{"name":"mstore","nativeSrc":"301245:6:19","nodeType":"YulIdentifier","src":"301245:6:19"},"nativeSrc":"301245:49:19","nodeType":"YulFunctionCall","src":"301245:49:19"},"nativeSrc":"301245:49:19","nodeType":"YulExpressionStatement","src":"301245:49:19"}]},"name":"writeString","nativeSrc":"300966:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"300987:3:19","nodeType":"YulTypedName","src":"300987:3:19","type":""},{"name":"w","nativeSrc":"300992:1:19","nodeType":"YulTypedName","src":"300992:1:19","type":""}],"src":"300966:342:19"},{"nativeSrc":"301321:17:19","nodeType":"YulAssignment","src":"301321:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"301333:4:19","nodeType":"YulLiteral","src":"301333:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"301327:5:19","nodeType":"YulIdentifier","src":"301327:5:19"},"nativeSrc":"301327:11:19","nodeType":"YulFunctionCall","src":"301327:11:19"},"variableNames":[{"name":"m0","nativeSrc":"301321:2:19","nodeType":"YulIdentifier","src":"301321:2:19"}]},{"nativeSrc":"301351:17:19","nodeType":"YulAssignment","src":"301351:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"301363:4:19","nodeType":"YulLiteral","src":"301363:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"301357:5:19","nodeType":"YulIdentifier","src":"301357:5:19"},"nativeSrc":"301357:11:19","nodeType":"YulFunctionCall","src":"301357:11:19"},"variableNames":[{"name":"m1","nativeSrc":"301351:2:19","nodeType":"YulIdentifier","src":"301351:2:19"}]},{"nativeSrc":"301381:17:19","nodeType":"YulAssignment","src":"301381:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"301393:4:19","nodeType":"YulLiteral","src":"301393:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"301387:5:19","nodeType":"YulIdentifier","src":"301387:5:19"},"nativeSrc":"301387:11:19","nodeType":"YulFunctionCall","src":"301387:11:19"},"variableNames":[{"name":"m2","nativeSrc":"301381:2:19","nodeType":"YulIdentifier","src":"301381:2:19"}]},{"nativeSrc":"301411:17:19","nodeType":"YulAssignment","src":"301411:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"301423:4:19","nodeType":"YulLiteral","src":"301423:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"301417:5:19","nodeType":"YulIdentifier","src":"301417:5:19"},"nativeSrc":"301417:11:19","nodeType":"YulFunctionCall","src":"301417:11:19"},"variableNames":[{"name":"m3","nativeSrc":"301411:2:19","nodeType":"YulIdentifier","src":"301411:2:19"}]},{"nativeSrc":"301441:17:19","nodeType":"YulAssignment","src":"301441:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"301453:4:19","nodeType":"YulLiteral","src":"301453:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"301447:5:19","nodeType":"YulIdentifier","src":"301447:5:19"},"nativeSrc":"301447:11:19","nodeType":"YulFunctionCall","src":"301447:11:19"},"variableNames":[{"name":"m4","nativeSrc":"301441:2:19","nodeType":"YulIdentifier","src":"301441:2:19"}]},{"nativeSrc":"301471:17:19","nodeType":"YulAssignment","src":"301471:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"301483:4:19","nodeType":"YulLiteral","src":"301483:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"301477:5:19","nodeType":"YulIdentifier","src":"301477:5:19"},"nativeSrc":"301477:11:19","nodeType":"YulFunctionCall","src":"301477:11:19"},"variableNames":[{"name":"m5","nativeSrc":"301471:2:19","nodeType":"YulIdentifier","src":"301471:2:19"}]},{"nativeSrc":"301501:17:19","nodeType":"YulAssignment","src":"301501:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"301513:4:19","nodeType":"YulLiteral","src":"301513:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"301507:5:19","nodeType":"YulIdentifier","src":"301507:5:19"},"nativeSrc":"301507:11:19","nodeType":"YulFunctionCall","src":"301507:11:19"},"variableNames":[{"name":"m6","nativeSrc":"301501:2:19","nodeType":"YulIdentifier","src":"301501:2:19"}]},{"nativeSrc":"301531:17:19","nodeType":"YulAssignment","src":"301531:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"301543:4:19","nodeType":"YulLiteral","src":"301543:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"301537:5:19","nodeType":"YulIdentifier","src":"301537:5:19"},"nativeSrc":"301537:11:19","nodeType":"YulFunctionCall","src":"301537:11:19"},"variableNames":[{"name":"m7","nativeSrc":"301531:2:19","nodeType":"YulIdentifier","src":"301531:2:19"}]},{"nativeSrc":"301561:18:19","nodeType":"YulAssignment","src":"301561:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"301573:5:19","nodeType":"YulLiteral","src":"301573:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"301567:5:19","nodeType":"YulIdentifier","src":"301567:5:19"},"nativeSrc":"301567:12:19","nodeType":"YulFunctionCall","src":"301567:12:19"},"variableNames":[{"name":"m8","nativeSrc":"301561:2:19","nodeType":"YulIdentifier","src":"301561:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"301664:4:19","nodeType":"YulLiteral","src":"301664:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"301670:10:19","nodeType":"YulLiteral","src":"301670:10:19","type":"","value":"0x27d8afd2"}],"functionName":{"name":"mstore","nativeSrc":"301657:6:19","nodeType":"YulIdentifier","src":"301657:6:19"},"nativeSrc":"301657:24:19","nodeType":"YulFunctionCall","src":"301657:24:19"},"nativeSrc":"301657:24:19","nodeType":"YulExpressionStatement","src":"301657:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"301701:4:19","nodeType":"YulLiteral","src":"301701:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"301707:2:19","nodeType":"YulIdentifier","src":"301707:2:19"}],"functionName":{"name":"mstore","nativeSrc":"301694:6:19","nodeType":"YulIdentifier","src":"301694:6:19"},"nativeSrc":"301694:16:19","nodeType":"YulFunctionCall","src":"301694:16:19"},"nativeSrc":"301694:16:19","nodeType":"YulExpressionStatement","src":"301694:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"301730:4:19","nodeType":"YulLiteral","src":"301730:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"301736:2:19","nodeType":"YulIdentifier","src":"301736:2:19"}],"functionName":{"name":"mstore","nativeSrc":"301723:6:19","nodeType":"YulIdentifier","src":"301723:6:19"},"nativeSrc":"301723:16:19","nodeType":"YulFunctionCall","src":"301723:16:19"},"nativeSrc":"301723:16:19","nodeType":"YulExpressionStatement","src":"301723:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"301759:4:19","nodeType":"YulLiteral","src":"301759:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"301765:4:19","nodeType":"YulLiteral","src":"301765:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"301752:6:19","nodeType":"YulIdentifier","src":"301752:6:19"},"nativeSrc":"301752:18:19","nodeType":"YulFunctionCall","src":"301752:18:19"},"nativeSrc":"301752:18:19","nodeType":"YulExpressionStatement","src":"301752:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"301790:4:19","nodeType":"YulLiteral","src":"301790:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"301796:4:19","nodeType":"YulLiteral","src":"301796:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"301783:6:19","nodeType":"YulIdentifier","src":"301783:6:19"},"nativeSrc":"301783:18:19","nodeType":"YulFunctionCall","src":"301783:18:19"},"nativeSrc":"301783:18:19","nodeType":"YulExpressionStatement","src":"301783:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"301826:4:19","nodeType":"YulLiteral","src":"301826:4:19","type":"","value":"0xa0"},{"name":"p2","nativeSrc":"301832:2:19","nodeType":"YulIdentifier","src":"301832:2:19"}],"functionName":{"name":"writeString","nativeSrc":"301814:11:19","nodeType":"YulIdentifier","src":"301814:11:19"},"nativeSrc":"301814:21:19","nodeType":"YulFunctionCall","src":"301814:21:19"},"nativeSrc":"301814:21:19","nodeType":"YulExpressionStatement","src":"301814:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"301860:4:19","nodeType":"YulLiteral","src":"301860:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"301866:2:19","nodeType":"YulIdentifier","src":"301866:2:19"}],"functionName":{"name":"writeString","nativeSrc":"301848:11:19","nodeType":"YulIdentifier","src":"301848:11:19"},"nativeSrc":"301848:21:19","nodeType":"YulFunctionCall","src":"301848:21:19"},"nativeSrc":"301848:21:19","nodeType":"YulExpressionStatement","src":"301848:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35788,"isOffset":false,"isSlot":false,"src":"301321:2:19","valueSize":1},{"declaration":35791,"isOffset":false,"isSlot":false,"src":"301351:2:19","valueSize":1},{"declaration":35794,"isOffset":false,"isSlot":false,"src":"301381:2:19","valueSize":1},{"declaration":35797,"isOffset":false,"isSlot":false,"src":"301411:2:19","valueSize":1},{"declaration":35800,"isOffset":false,"isSlot":false,"src":"301441:2:19","valueSize":1},{"declaration":35803,"isOffset":false,"isSlot":false,"src":"301471:2:19","valueSize":1},{"declaration":35806,"isOffset":false,"isSlot":false,"src":"301501:2:19","valueSize":1},{"declaration":35809,"isOffset":false,"isSlot":false,"src":"301531:2:19","valueSize":1},{"declaration":35812,"isOffset":false,"isSlot":false,"src":"301561:2:19","valueSize":1},{"declaration":35778,"isOffset":false,"isSlot":false,"src":"301707:2:19","valueSize":1},{"declaration":35780,"isOffset":false,"isSlot":false,"src":"301736:2:19","valueSize":1},{"declaration":35782,"isOffset":false,"isSlot":false,"src":"301832:2:19","valueSize":1},{"declaration":35784,"isOffset":false,"isSlot":false,"src":"301866:2:19","valueSize":1}],"id":35814,"nodeType":"InlineAssembly","src":"300943:936:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"301904:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":35817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"301910:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":35815,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"301888:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"301888:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35819,"nodeType":"ExpressionStatement","src":"301888:28:19"},{"AST":{"nativeSrc":"301978:273:19","nodeType":"YulBlock","src":"301978:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"301999:4:19","nodeType":"YulLiteral","src":"301999:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"302005:2:19","nodeType":"YulIdentifier","src":"302005:2:19"}],"functionName":{"name":"mstore","nativeSrc":"301992:6:19","nodeType":"YulIdentifier","src":"301992:6:19"},"nativeSrc":"301992:16:19","nodeType":"YulFunctionCall","src":"301992:16:19"},"nativeSrc":"301992:16:19","nodeType":"YulExpressionStatement","src":"301992:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"302028:4:19","nodeType":"YulLiteral","src":"302028:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"302034:2:19","nodeType":"YulIdentifier","src":"302034:2:19"}],"functionName":{"name":"mstore","nativeSrc":"302021:6:19","nodeType":"YulIdentifier","src":"302021:6:19"},"nativeSrc":"302021:16:19","nodeType":"YulFunctionCall","src":"302021:16:19"},"nativeSrc":"302021:16:19","nodeType":"YulExpressionStatement","src":"302021:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"302057:4:19","nodeType":"YulLiteral","src":"302057:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"302063:2:19","nodeType":"YulIdentifier","src":"302063:2:19"}],"functionName":{"name":"mstore","nativeSrc":"302050:6:19","nodeType":"YulIdentifier","src":"302050:6:19"},"nativeSrc":"302050:16:19","nodeType":"YulFunctionCall","src":"302050:16:19"},"nativeSrc":"302050:16:19","nodeType":"YulExpressionStatement","src":"302050:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"302086:4:19","nodeType":"YulLiteral","src":"302086:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"302092:2:19","nodeType":"YulIdentifier","src":"302092:2:19"}],"functionName":{"name":"mstore","nativeSrc":"302079:6:19","nodeType":"YulIdentifier","src":"302079:6:19"},"nativeSrc":"302079:16:19","nodeType":"YulFunctionCall","src":"302079:16:19"},"nativeSrc":"302079:16:19","nodeType":"YulExpressionStatement","src":"302079:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"302115:4:19","nodeType":"YulLiteral","src":"302115:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"302121:2:19","nodeType":"YulIdentifier","src":"302121:2:19"}],"functionName":{"name":"mstore","nativeSrc":"302108:6:19","nodeType":"YulIdentifier","src":"302108:6:19"},"nativeSrc":"302108:16:19","nodeType":"YulFunctionCall","src":"302108:16:19"},"nativeSrc":"302108:16:19","nodeType":"YulExpressionStatement","src":"302108:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"302144:4:19","nodeType":"YulLiteral","src":"302144:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"302150:2:19","nodeType":"YulIdentifier","src":"302150:2:19"}],"functionName":{"name":"mstore","nativeSrc":"302137:6:19","nodeType":"YulIdentifier","src":"302137:6:19"},"nativeSrc":"302137:16:19","nodeType":"YulFunctionCall","src":"302137:16:19"},"nativeSrc":"302137:16:19","nodeType":"YulExpressionStatement","src":"302137:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"302173:4:19","nodeType":"YulLiteral","src":"302173:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"302179:2:19","nodeType":"YulIdentifier","src":"302179:2:19"}],"functionName":{"name":"mstore","nativeSrc":"302166:6:19","nodeType":"YulIdentifier","src":"302166:6:19"},"nativeSrc":"302166:16:19","nodeType":"YulFunctionCall","src":"302166:16:19"},"nativeSrc":"302166:16:19","nodeType":"YulExpressionStatement","src":"302166:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"302202:4:19","nodeType":"YulLiteral","src":"302202:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"302208:2:19","nodeType":"YulIdentifier","src":"302208:2:19"}],"functionName":{"name":"mstore","nativeSrc":"302195:6:19","nodeType":"YulIdentifier","src":"302195:6:19"},"nativeSrc":"302195:16:19","nodeType":"YulFunctionCall","src":"302195:16:19"},"nativeSrc":"302195:16:19","nodeType":"YulExpressionStatement","src":"302195:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"302231:5:19","nodeType":"YulLiteral","src":"302231:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"302238:2:19","nodeType":"YulIdentifier","src":"302238:2:19"}],"functionName":{"name":"mstore","nativeSrc":"302224:6:19","nodeType":"YulIdentifier","src":"302224:6:19"},"nativeSrc":"302224:17:19","nodeType":"YulFunctionCall","src":"302224:17:19"},"nativeSrc":"302224:17:19","nodeType":"YulExpressionStatement","src":"302224:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35788,"isOffset":false,"isSlot":false,"src":"302005:2:19","valueSize":1},{"declaration":35791,"isOffset":false,"isSlot":false,"src":"302034:2:19","valueSize":1},{"declaration":35794,"isOffset":false,"isSlot":false,"src":"302063:2:19","valueSize":1},{"declaration":35797,"isOffset":false,"isSlot":false,"src":"302092:2:19","valueSize":1},{"declaration":35800,"isOffset":false,"isSlot":false,"src":"302121:2:19","valueSize":1},{"declaration":35803,"isOffset":false,"isSlot":false,"src":"302150:2:19","valueSize":1},{"declaration":35806,"isOffset":false,"isSlot":false,"src":"302179:2:19","valueSize":1},{"declaration":35809,"isOffset":false,"isSlot":false,"src":"302208:2:19","valueSize":1},{"declaration":35812,"isOffset":false,"isSlot":false,"src":"302238:2:19","valueSize":1}],"id":35820,"nodeType":"InlineAssembly","src":"301969:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"300644:3:19","parameters":{"id":35785,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35778,"mutability":"mutable","name":"p0","nameLocation":"300656:2:19","nodeType":"VariableDeclaration","scope":35822,"src":"300648:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35777,"name":"uint256","nodeType":"ElementaryTypeName","src":"300648:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35780,"mutability":"mutable","name":"p1","nameLocation":"300668:2:19","nodeType":"VariableDeclaration","scope":35822,"src":"300660:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35779,"name":"uint256","nodeType":"ElementaryTypeName","src":"300660:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35782,"mutability":"mutable","name":"p2","nameLocation":"300680:2:19","nodeType":"VariableDeclaration","scope":35822,"src":"300672:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35781,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300672:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35784,"mutability":"mutable","name":"p3","nameLocation":"300692:2:19","nodeType":"VariableDeclaration","scope":35822,"src":"300684:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35783,"name":"bytes32","nodeType":"ElementaryTypeName","src":"300684:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"300647:48:19"},"returnParameters":{"id":35786,"nodeType":"ParameterList","parameters":[],"src":"300710:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35862,"nodeType":"FunctionDefinition","src":"302263:1426:19","nodes":[],"body":{"id":35861,"nodeType":"Block","src":"302338:1351:19","nodes":[],"statements":[{"assignments":[35834],"declarations":[{"constant":false,"id":35834,"mutability":"mutable","name":"m0","nameLocation":"302356:2:19","nodeType":"VariableDeclaration","scope":35861,"src":"302348:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35833,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302348:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35835,"nodeType":"VariableDeclarationStatement","src":"302348:10:19"},{"assignments":[35837],"declarations":[{"constant":false,"id":35837,"mutability":"mutable","name":"m1","nameLocation":"302376:2:19","nodeType":"VariableDeclaration","scope":35861,"src":"302368:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35836,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302368:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35838,"nodeType":"VariableDeclarationStatement","src":"302368:10:19"},{"assignments":[35840],"declarations":[{"constant":false,"id":35840,"mutability":"mutable","name":"m2","nameLocation":"302396:2:19","nodeType":"VariableDeclaration","scope":35861,"src":"302388:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35839,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302388:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35841,"nodeType":"VariableDeclarationStatement","src":"302388:10:19"},{"assignments":[35843],"declarations":[{"constant":false,"id":35843,"mutability":"mutable","name":"m3","nameLocation":"302416:2:19","nodeType":"VariableDeclaration","scope":35861,"src":"302408:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35842,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302408:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35844,"nodeType":"VariableDeclarationStatement","src":"302408:10:19"},{"assignments":[35846],"declarations":[{"constant":false,"id":35846,"mutability":"mutable","name":"m4","nameLocation":"302436:2:19","nodeType":"VariableDeclaration","scope":35861,"src":"302428:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35845,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302428:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35847,"nodeType":"VariableDeclarationStatement","src":"302428:10:19"},{"assignments":[35849],"declarations":[{"constant":false,"id":35849,"mutability":"mutable","name":"m5","nameLocation":"302456:2:19","nodeType":"VariableDeclaration","scope":35861,"src":"302448:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35848,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302448:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35850,"nodeType":"VariableDeclarationStatement","src":"302448:10:19"},{"assignments":[35852],"declarations":[{"constant":false,"id":35852,"mutability":"mutable","name":"m6","nameLocation":"302476:2:19","nodeType":"VariableDeclaration","scope":35861,"src":"302468:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35851,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302468:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35853,"nodeType":"VariableDeclarationStatement","src":"302468:10:19"},{"AST":{"nativeSrc":"302540:831:19","nodeType":"YulBlock","src":"302540:831:19","statements":[{"body":{"nativeSrc":"302583:313:19","nodeType":"YulBlock","src":"302583:313:19","statements":[{"nativeSrc":"302601:15:19","nodeType":"YulVariableDeclaration","src":"302601:15:19","value":{"kind":"number","nativeSrc":"302615:1:19","nodeType":"YulLiteral","src":"302615:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"302605:6:19","nodeType":"YulTypedName","src":"302605:6:19","type":""}]},{"body":{"nativeSrc":"302686:40:19","nodeType":"YulBlock","src":"302686:40:19","statements":[{"body":{"nativeSrc":"302715:9:19","nodeType":"YulBlock","src":"302715:9:19","statements":[{"nativeSrc":"302717:5:19","nodeType":"YulBreak","src":"302717:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"302703:6:19","nodeType":"YulIdentifier","src":"302703:6:19"},{"name":"w","nativeSrc":"302711:1:19","nodeType":"YulIdentifier","src":"302711:1:19"}],"functionName":{"name":"byte","nativeSrc":"302698:4:19","nodeType":"YulIdentifier","src":"302698:4:19"},"nativeSrc":"302698:15:19","nodeType":"YulFunctionCall","src":"302698:15:19"}],"functionName":{"name":"iszero","nativeSrc":"302691:6:19","nodeType":"YulIdentifier","src":"302691:6:19"},"nativeSrc":"302691:23:19","nodeType":"YulFunctionCall","src":"302691:23:19"},"nativeSrc":"302688:36:19","nodeType":"YulIf","src":"302688:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"302643:6:19","nodeType":"YulIdentifier","src":"302643:6:19"},{"kind":"number","nativeSrc":"302651:4:19","nodeType":"YulLiteral","src":"302651:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"302640:2:19","nodeType":"YulIdentifier","src":"302640:2:19"},"nativeSrc":"302640:16:19","nodeType":"YulFunctionCall","src":"302640:16:19"},"nativeSrc":"302633:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"302657:28:19","nodeType":"YulBlock","src":"302657:28:19","statements":[{"nativeSrc":"302659:24:19","nodeType":"YulAssignment","src":"302659:24:19","value":{"arguments":[{"name":"length","nativeSrc":"302673:6:19","nodeType":"YulIdentifier","src":"302673:6:19"},{"kind":"number","nativeSrc":"302681:1:19","nodeType":"YulLiteral","src":"302681:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"302669:3:19","nodeType":"YulIdentifier","src":"302669:3:19"},"nativeSrc":"302669:14:19","nodeType":"YulFunctionCall","src":"302669:14:19"},"variableNames":[{"name":"length","nativeSrc":"302659:6:19","nodeType":"YulIdentifier","src":"302659:6:19"}]}]},"pre":{"nativeSrc":"302637:2:19","nodeType":"YulBlock","src":"302637:2:19","statements":[]},"src":"302633:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"302750:3:19","nodeType":"YulIdentifier","src":"302750:3:19"},{"name":"length","nativeSrc":"302755:6:19","nodeType":"YulIdentifier","src":"302755:6:19"}],"functionName":{"name":"mstore","nativeSrc":"302743:6:19","nodeType":"YulIdentifier","src":"302743:6:19"},"nativeSrc":"302743:19:19","nodeType":"YulFunctionCall","src":"302743:19:19"},"nativeSrc":"302743:19:19","nodeType":"YulExpressionStatement","src":"302743:19:19"},{"nativeSrc":"302779:37:19","nodeType":"YulVariableDeclaration","src":"302779:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"302796:3:19","nodeType":"YulLiteral","src":"302796:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"302805:1:19","nodeType":"YulLiteral","src":"302805:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"302808:6:19","nodeType":"YulIdentifier","src":"302808:6:19"}],"functionName":{"name":"shl","nativeSrc":"302801:3:19","nodeType":"YulIdentifier","src":"302801:3:19"},"nativeSrc":"302801:14:19","nodeType":"YulFunctionCall","src":"302801:14:19"}],"functionName":{"name":"sub","nativeSrc":"302792:3:19","nodeType":"YulIdentifier","src":"302792:3:19"},"nativeSrc":"302792:24:19","nodeType":"YulFunctionCall","src":"302792:24:19"},"variables":[{"name":"shift","nativeSrc":"302783:5:19","nodeType":"YulTypedName","src":"302783:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"302844:3:19","nodeType":"YulIdentifier","src":"302844:3:19"},{"kind":"number","nativeSrc":"302849:4:19","nodeType":"YulLiteral","src":"302849:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"302840:3:19","nodeType":"YulIdentifier","src":"302840:3:19"},"nativeSrc":"302840:14:19","nodeType":"YulFunctionCall","src":"302840:14:19"},{"arguments":[{"name":"shift","nativeSrc":"302860:5:19","nodeType":"YulIdentifier","src":"302860:5:19"},{"arguments":[{"name":"shift","nativeSrc":"302871:5:19","nodeType":"YulIdentifier","src":"302871:5:19"},{"name":"w","nativeSrc":"302878:1:19","nodeType":"YulIdentifier","src":"302878:1:19"}],"functionName":{"name":"shr","nativeSrc":"302867:3:19","nodeType":"YulIdentifier","src":"302867:3:19"},"nativeSrc":"302867:13:19","nodeType":"YulFunctionCall","src":"302867:13:19"}],"functionName":{"name":"shl","nativeSrc":"302856:3:19","nodeType":"YulIdentifier","src":"302856:3:19"},"nativeSrc":"302856:25:19","nodeType":"YulFunctionCall","src":"302856:25:19"}],"functionName":{"name":"mstore","nativeSrc":"302833:6:19","nodeType":"YulIdentifier","src":"302833:6:19"},"nativeSrc":"302833:49:19","nodeType":"YulFunctionCall","src":"302833:49:19"},"nativeSrc":"302833:49:19","nodeType":"YulExpressionStatement","src":"302833:49:19"}]},"name":"writeString","nativeSrc":"302554:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"302575:3:19","nodeType":"YulTypedName","src":"302575:3:19","type":""},{"name":"w","nativeSrc":"302580:1:19","nodeType":"YulTypedName","src":"302580:1:19","type":""}],"src":"302554:342:19"},{"nativeSrc":"302909:17:19","nodeType":"YulAssignment","src":"302909:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"302921:4:19","nodeType":"YulLiteral","src":"302921:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"302915:5:19","nodeType":"YulIdentifier","src":"302915:5:19"},"nativeSrc":"302915:11:19","nodeType":"YulFunctionCall","src":"302915:11:19"},"variableNames":[{"name":"m0","nativeSrc":"302909:2:19","nodeType":"YulIdentifier","src":"302909:2:19"}]},{"nativeSrc":"302939:17:19","nodeType":"YulAssignment","src":"302939:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"302951:4:19","nodeType":"YulLiteral","src":"302951:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"302945:5:19","nodeType":"YulIdentifier","src":"302945:5:19"},"nativeSrc":"302945:11:19","nodeType":"YulFunctionCall","src":"302945:11:19"},"variableNames":[{"name":"m1","nativeSrc":"302939:2:19","nodeType":"YulIdentifier","src":"302939:2:19"}]},{"nativeSrc":"302969:17:19","nodeType":"YulAssignment","src":"302969:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"302981:4:19","nodeType":"YulLiteral","src":"302981:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"302975:5:19","nodeType":"YulIdentifier","src":"302975:5:19"},"nativeSrc":"302975:11:19","nodeType":"YulFunctionCall","src":"302975:11:19"},"variableNames":[{"name":"m2","nativeSrc":"302969:2:19","nodeType":"YulIdentifier","src":"302969:2:19"}]},{"nativeSrc":"302999:17:19","nodeType":"YulAssignment","src":"302999:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"303011:4:19","nodeType":"YulLiteral","src":"303011:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"303005:5:19","nodeType":"YulIdentifier","src":"303005:5:19"},"nativeSrc":"303005:11:19","nodeType":"YulFunctionCall","src":"303005:11:19"},"variableNames":[{"name":"m3","nativeSrc":"302999:2:19","nodeType":"YulIdentifier","src":"302999:2:19"}]},{"nativeSrc":"303029:17:19","nodeType":"YulAssignment","src":"303029:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"303041:4:19","nodeType":"YulLiteral","src":"303041:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"303035:5:19","nodeType":"YulIdentifier","src":"303035:5:19"},"nativeSrc":"303035:11:19","nodeType":"YulFunctionCall","src":"303035:11:19"},"variableNames":[{"name":"m4","nativeSrc":"303029:2:19","nodeType":"YulIdentifier","src":"303029:2:19"}]},{"nativeSrc":"303059:17:19","nodeType":"YulAssignment","src":"303059:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"303071:4:19","nodeType":"YulLiteral","src":"303071:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"303065:5:19","nodeType":"YulIdentifier","src":"303065:5:19"},"nativeSrc":"303065:11:19","nodeType":"YulFunctionCall","src":"303065:11:19"},"variableNames":[{"name":"m5","nativeSrc":"303059:2:19","nodeType":"YulIdentifier","src":"303059:2:19"}]},{"nativeSrc":"303089:17:19","nodeType":"YulAssignment","src":"303089:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"303101:4:19","nodeType":"YulLiteral","src":"303101:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"303095:5:19","nodeType":"YulIdentifier","src":"303095:5:19"},"nativeSrc":"303095:11:19","nodeType":"YulFunctionCall","src":"303095:11:19"},"variableNames":[{"name":"m6","nativeSrc":"303089:2:19","nodeType":"YulIdentifier","src":"303089:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303192:4:19","nodeType":"YulLiteral","src":"303192:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"303198:10:19","nodeType":"YulLiteral","src":"303198:10:19","type":"","value":"0x6168ed61"}],"functionName":{"name":"mstore","nativeSrc":"303185:6:19","nodeType":"YulIdentifier","src":"303185:6:19"},"nativeSrc":"303185:24:19","nodeType":"YulFunctionCall","src":"303185:24:19"},"nativeSrc":"303185:24:19","nodeType":"YulExpressionStatement","src":"303185:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303229:4:19","nodeType":"YulLiteral","src":"303229:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"303235:2:19","nodeType":"YulIdentifier","src":"303235:2:19"}],"functionName":{"name":"mstore","nativeSrc":"303222:6:19","nodeType":"YulIdentifier","src":"303222:6:19"},"nativeSrc":"303222:16:19","nodeType":"YulFunctionCall","src":"303222:16:19"},"nativeSrc":"303222:16:19","nodeType":"YulExpressionStatement","src":"303222:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303258:4:19","nodeType":"YulLiteral","src":"303258:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"303264:4:19","nodeType":"YulLiteral","src":"303264:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"303251:6:19","nodeType":"YulIdentifier","src":"303251:6:19"},"nativeSrc":"303251:18:19","nodeType":"YulFunctionCall","src":"303251:18:19"},"nativeSrc":"303251:18:19","nodeType":"YulExpressionStatement","src":"303251:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303289:4:19","nodeType":"YulLiteral","src":"303289:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"303295:2:19","nodeType":"YulIdentifier","src":"303295:2:19"}],"functionName":{"name":"mstore","nativeSrc":"303282:6:19","nodeType":"YulIdentifier","src":"303282:6:19"},"nativeSrc":"303282:16:19","nodeType":"YulFunctionCall","src":"303282:16:19"},"nativeSrc":"303282:16:19","nodeType":"YulExpressionStatement","src":"303282:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303318:4:19","nodeType":"YulLiteral","src":"303318:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"303324:2:19","nodeType":"YulIdentifier","src":"303324:2:19"}],"functionName":{"name":"mstore","nativeSrc":"303311:6:19","nodeType":"YulIdentifier","src":"303311:6:19"},"nativeSrc":"303311:16:19","nodeType":"YulFunctionCall","src":"303311:16:19"},"nativeSrc":"303311:16:19","nodeType":"YulExpressionStatement","src":"303311:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303352:4:19","nodeType":"YulLiteral","src":"303352:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"303358:2:19","nodeType":"YulIdentifier","src":"303358:2:19"}],"functionName":{"name":"writeString","nativeSrc":"303340:11:19","nodeType":"YulIdentifier","src":"303340:11:19"},"nativeSrc":"303340:21:19","nodeType":"YulFunctionCall","src":"303340:21:19"},"nativeSrc":"303340:21:19","nodeType":"YulExpressionStatement","src":"303340:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35834,"isOffset":false,"isSlot":false,"src":"302909:2:19","valueSize":1},{"declaration":35837,"isOffset":false,"isSlot":false,"src":"302939:2:19","valueSize":1},{"declaration":35840,"isOffset":false,"isSlot":false,"src":"302969:2:19","valueSize":1},{"declaration":35843,"isOffset":false,"isSlot":false,"src":"302999:2:19","valueSize":1},{"declaration":35846,"isOffset":false,"isSlot":false,"src":"303029:2:19","valueSize":1},{"declaration":35849,"isOffset":false,"isSlot":false,"src":"303059:2:19","valueSize":1},{"declaration":35852,"isOffset":false,"isSlot":false,"src":"303089:2:19","valueSize":1},{"declaration":35824,"isOffset":false,"isSlot":false,"src":"303235:2:19","valueSize":1},{"declaration":35826,"isOffset":false,"isSlot":false,"src":"303358:2:19","valueSize":1},{"declaration":35828,"isOffset":false,"isSlot":false,"src":"303295:2:19","valueSize":1},{"declaration":35830,"isOffset":false,"isSlot":false,"src":"303324:2:19","valueSize":1}],"id":35854,"nodeType":"InlineAssembly","src":"302531:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"303396:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"303402:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":35855,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"303380:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"303380:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35859,"nodeType":"ExpressionStatement","src":"303380:27:19"},{"AST":{"nativeSrc":"303469:214:19","nodeType":"YulBlock","src":"303469:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"303490:4:19","nodeType":"YulLiteral","src":"303490:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"303496:2:19","nodeType":"YulIdentifier","src":"303496:2:19"}],"functionName":{"name":"mstore","nativeSrc":"303483:6:19","nodeType":"YulIdentifier","src":"303483:6:19"},"nativeSrc":"303483:16:19","nodeType":"YulFunctionCall","src":"303483:16:19"},"nativeSrc":"303483:16:19","nodeType":"YulExpressionStatement","src":"303483:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303519:4:19","nodeType":"YulLiteral","src":"303519:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"303525:2:19","nodeType":"YulIdentifier","src":"303525:2:19"}],"functionName":{"name":"mstore","nativeSrc":"303512:6:19","nodeType":"YulIdentifier","src":"303512:6:19"},"nativeSrc":"303512:16:19","nodeType":"YulFunctionCall","src":"303512:16:19"},"nativeSrc":"303512:16:19","nodeType":"YulExpressionStatement","src":"303512:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303548:4:19","nodeType":"YulLiteral","src":"303548:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"303554:2:19","nodeType":"YulIdentifier","src":"303554:2:19"}],"functionName":{"name":"mstore","nativeSrc":"303541:6:19","nodeType":"YulIdentifier","src":"303541:6:19"},"nativeSrc":"303541:16:19","nodeType":"YulFunctionCall","src":"303541:16:19"},"nativeSrc":"303541:16:19","nodeType":"YulExpressionStatement","src":"303541:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303577:4:19","nodeType":"YulLiteral","src":"303577:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"303583:2:19","nodeType":"YulIdentifier","src":"303583:2:19"}],"functionName":{"name":"mstore","nativeSrc":"303570:6:19","nodeType":"YulIdentifier","src":"303570:6:19"},"nativeSrc":"303570:16:19","nodeType":"YulFunctionCall","src":"303570:16:19"},"nativeSrc":"303570:16:19","nodeType":"YulExpressionStatement","src":"303570:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303606:4:19","nodeType":"YulLiteral","src":"303606:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"303612:2:19","nodeType":"YulIdentifier","src":"303612:2:19"}],"functionName":{"name":"mstore","nativeSrc":"303599:6:19","nodeType":"YulIdentifier","src":"303599:6:19"},"nativeSrc":"303599:16:19","nodeType":"YulFunctionCall","src":"303599:16:19"},"nativeSrc":"303599:16:19","nodeType":"YulExpressionStatement","src":"303599:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303635:4:19","nodeType":"YulLiteral","src":"303635:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"303641:2:19","nodeType":"YulIdentifier","src":"303641:2:19"}],"functionName":{"name":"mstore","nativeSrc":"303628:6:19","nodeType":"YulIdentifier","src":"303628:6:19"},"nativeSrc":"303628:16:19","nodeType":"YulFunctionCall","src":"303628:16:19"},"nativeSrc":"303628:16:19","nodeType":"YulExpressionStatement","src":"303628:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"303664:4:19","nodeType":"YulLiteral","src":"303664:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"303670:2:19","nodeType":"YulIdentifier","src":"303670:2:19"}],"functionName":{"name":"mstore","nativeSrc":"303657:6:19","nodeType":"YulIdentifier","src":"303657:6:19"},"nativeSrc":"303657:16:19","nodeType":"YulFunctionCall","src":"303657:16:19"},"nativeSrc":"303657:16:19","nodeType":"YulExpressionStatement","src":"303657:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35834,"isOffset":false,"isSlot":false,"src":"303496:2:19","valueSize":1},{"declaration":35837,"isOffset":false,"isSlot":false,"src":"303525:2:19","valueSize":1},{"declaration":35840,"isOffset":false,"isSlot":false,"src":"303554:2:19","valueSize":1},{"declaration":35843,"isOffset":false,"isSlot":false,"src":"303583:2:19","valueSize":1},{"declaration":35846,"isOffset":false,"isSlot":false,"src":"303612:2:19","valueSize":1},{"declaration":35849,"isOffset":false,"isSlot":false,"src":"303641:2:19","valueSize":1},{"declaration":35852,"isOffset":false,"isSlot":false,"src":"303670:2:19","valueSize":1}],"id":35860,"nodeType":"InlineAssembly","src":"303460:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"302272:3:19","parameters":{"id":35831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35824,"mutability":"mutable","name":"p0","nameLocation":"302284:2:19","nodeType":"VariableDeclaration","scope":35862,"src":"302276:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35823,"name":"uint256","nodeType":"ElementaryTypeName","src":"302276:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35826,"mutability":"mutable","name":"p1","nameLocation":"302296:2:19","nodeType":"VariableDeclaration","scope":35862,"src":"302288:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35825,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302288:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35828,"mutability":"mutable","name":"p2","nameLocation":"302308:2:19","nodeType":"VariableDeclaration","scope":35862,"src":"302300:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35827,"name":"address","nodeType":"ElementaryTypeName","src":"302300:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35830,"mutability":"mutable","name":"p3","nameLocation":"302320:2:19","nodeType":"VariableDeclaration","scope":35862,"src":"302312:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35829,"name":"address","nodeType":"ElementaryTypeName","src":"302312:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"302275:48:19"},"returnParameters":{"id":35832,"nodeType":"ParameterList","parameters":[],"src":"302338:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35902,"nodeType":"FunctionDefinition","src":"303695:1420:19","nodes":[],"body":{"id":35901,"nodeType":"Block","src":"303767:1348:19","nodes":[],"statements":[{"assignments":[35874],"declarations":[{"constant":false,"id":35874,"mutability":"mutable","name":"m0","nameLocation":"303785:2:19","nodeType":"VariableDeclaration","scope":35901,"src":"303777:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35873,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303777:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35875,"nodeType":"VariableDeclarationStatement","src":"303777:10:19"},{"assignments":[35877],"declarations":[{"constant":false,"id":35877,"mutability":"mutable","name":"m1","nameLocation":"303805:2:19","nodeType":"VariableDeclaration","scope":35901,"src":"303797:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35876,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303797:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35878,"nodeType":"VariableDeclarationStatement","src":"303797:10:19"},{"assignments":[35880],"declarations":[{"constant":false,"id":35880,"mutability":"mutable","name":"m2","nameLocation":"303825:2:19","nodeType":"VariableDeclaration","scope":35901,"src":"303817:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35879,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303817:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35881,"nodeType":"VariableDeclarationStatement","src":"303817:10:19"},{"assignments":[35883],"declarations":[{"constant":false,"id":35883,"mutability":"mutable","name":"m3","nameLocation":"303845:2:19","nodeType":"VariableDeclaration","scope":35901,"src":"303837:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35882,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303837:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35884,"nodeType":"VariableDeclarationStatement","src":"303837:10:19"},{"assignments":[35886],"declarations":[{"constant":false,"id":35886,"mutability":"mutable","name":"m4","nameLocation":"303865:2:19","nodeType":"VariableDeclaration","scope":35901,"src":"303857:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35885,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303857:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35887,"nodeType":"VariableDeclarationStatement","src":"303857:10:19"},{"assignments":[35889],"declarations":[{"constant":false,"id":35889,"mutability":"mutable","name":"m5","nameLocation":"303885:2:19","nodeType":"VariableDeclaration","scope":35901,"src":"303877:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35888,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303877:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35890,"nodeType":"VariableDeclarationStatement","src":"303877:10:19"},{"assignments":[35892],"declarations":[{"constant":false,"id":35892,"mutability":"mutable","name":"m6","nameLocation":"303905:2:19","nodeType":"VariableDeclaration","scope":35901,"src":"303897:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35891,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303897:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35893,"nodeType":"VariableDeclarationStatement","src":"303897:10:19"},{"AST":{"nativeSrc":"303969:828:19","nodeType":"YulBlock","src":"303969:828:19","statements":[{"body":{"nativeSrc":"304012:313:19","nodeType":"YulBlock","src":"304012:313:19","statements":[{"nativeSrc":"304030:15:19","nodeType":"YulVariableDeclaration","src":"304030:15:19","value":{"kind":"number","nativeSrc":"304044:1:19","nodeType":"YulLiteral","src":"304044:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"304034:6:19","nodeType":"YulTypedName","src":"304034:6:19","type":""}]},{"body":{"nativeSrc":"304115:40:19","nodeType":"YulBlock","src":"304115:40:19","statements":[{"body":{"nativeSrc":"304144:9:19","nodeType":"YulBlock","src":"304144:9:19","statements":[{"nativeSrc":"304146:5:19","nodeType":"YulBreak","src":"304146:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"304132:6:19","nodeType":"YulIdentifier","src":"304132:6:19"},{"name":"w","nativeSrc":"304140:1:19","nodeType":"YulIdentifier","src":"304140:1:19"}],"functionName":{"name":"byte","nativeSrc":"304127:4:19","nodeType":"YulIdentifier","src":"304127:4:19"},"nativeSrc":"304127:15:19","nodeType":"YulFunctionCall","src":"304127:15:19"}],"functionName":{"name":"iszero","nativeSrc":"304120:6:19","nodeType":"YulIdentifier","src":"304120:6:19"},"nativeSrc":"304120:23:19","nodeType":"YulFunctionCall","src":"304120:23:19"},"nativeSrc":"304117:36:19","nodeType":"YulIf","src":"304117:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"304072:6:19","nodeType":"YulIdentifier","src":"304072:6:19"},{"kind":"number","nativeSrc":"304080:4:19","nodeType":"YulLiteral","src":"304080:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"304069:2:19","nodeType":"YulIdentifier","src":"304069:2:19"},"nativeSrc":"304069:16:19","nodeType":"YulFunctionCall","src":"304069:16:19"},"nativeSrc":"304062:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"304086:28:19","nodeType":"YulBlock","src":"304086:28:19","statements":[{"nativeSrc":"304088:24:19","nodeType":"YulAssignment","src":"304088:24:19","value":{"arguments":[{"name":"length","nativeSrc":"304102:6:19","nodeType":"YulIdentifier","src":"304102:6:19"},{"kind":"number","nativeSrc":"304110:1:19","nodeType":"YulLiteral","src":"304110:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"304098:3:19","nodeType":"YulIdentifier","src":"304098:3:19"},"nativeSrc":"304098:14:19","nodeType":"YulFunctionCall","src":"304098:14:19"},"variableNames":[{"name":"length","nativeSrc":"304088:6:19","nodeType":"YulIdentifier","src":"304088:6:19"}]}]},"pre":{"nativeSrc":"304066:2:19","nodeType":"YulBlock","src":"304066:2:19","statements":[]},"src":"304062:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"304179:3:19","nodeType":"YulIdentifier","src":"304179:3:19"},{"name":"length","nativeSrc":"304184:6:19","nodeType":"YulIdentifier","src":"304184:6:19"}],"functionName":{"name":"mstore","nativeSrc":"304172:6:19","nodeType":"YulIdentifier","src":"304172:6:19"},"nativeSrc":"304172:19:19","nodeType":"YulFunctionCall","src":"304172:19:19"},"nativeSrc":"304172:19:19","nodeType":"YulExpressionStatement","src":"304172:19:19"},{"nativeSrc":"304208:37:19","nodeType":"YulVariableDeclaration","src":"304208:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"304225:3:19","nodeType":"YulLiteral","src":"304225:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"304234:1:19","nodeType":"YulLiteral","src":"304234:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"304237:6:19","nodeType":"YulIdentifier","src":"304237:6:19"}],"functionName":{"name":"shl","nativeSrc":"304230:3:19","nodeType":"YulIdentifier","src":"304230:3:19"},"nativeSrc":"304230:14:19","nodeType":"YulFunctionCall","src":"304230:14:19"}],"functionName":{"name":"sub","nativeSrc":"304221:3:19","nodeType":"YulIdentifier","src":"304221:3:19"},"nativeSrc":"304221:24:19","nodeType":"YulFunctionCall","src":"304221:24:19"},"variables":[{"name":"shift","nativeSrc":"304212:5:19","nodeType":"YulTypedName","src":"304212:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"304273:3:19","nodeType":"YulIdentifier","src":"304273:3:19"},{"kind":"number","nativeSrc":"304278:4:19","nodeType":"YulLiteral","src":"304278:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"304269:3:19","nodeType":"YulIdentifier","src":"304269:3:19"},"nativeSrc":"304269:14:19","nodeType":"YulFunctionCall","src":"304269:14:19"},{"arguments":[{"name":"shift","nativeSrc":"304289:5:19","nodeType":"YulIdentifier","src":"304289:5:19"},{"arguments":[{"name":"shift","nativeSrc":"304300:5:19","nodeType":"YulIdentifier","src":"304300:5:19"},{"name":"w","nativeSrc":"304307:1:19","nodeType":"YulIdentifier","src":"304307:1:19"}],"functionName":{"name":"shr","nativeSrc":"304296:3:19","nodeType":"YulIdentifier","src":"304296:3:19"},"nativeSrc":"304296:13:19","nodeType":"YulFunctionCall","src":"304296:13:19"}],"functionName":{"name":"shl","nativeSrc":"304285:3:19","nodeType":"YulIdentifier","src":"304285:3:19"},"nativeSrc":"304285:25:19","nodeType":"YulFunctionCall","src":"304285:25:19"}],"functionName":{"name":"mstore","nativeSrc":"304262:6:19","nodeType":"YulIdentifier","src":"304262:6:19"},"nativeSrc":"304262:49:19","nodeType":"YulFunctionCall","src":"304262:49:19"},"nativeSrc":"304262:49:19","nodeType":"YulExpressionStatement","src":"304262:49:19"}]},"name":"writeString","nativeSrc":"303983:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"304004:3:19","nodeType":"YulTypedName","src":"304004:3:19","type":""},{"name":"w","nativeSrc":"304009:1:19","nodeType":"YulTypedName","src":"304009:1:19","type":""}],"src":"303983:342:19"},{"nativeSrc":"304338:17:19","nodeType":"YulAssignment","src":"304338:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"304350:4:19","nodeType":"YulLiteral","src":"304350:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"304344:5:19","nodeType":"YulIdentifier","src":"304344:5:19"},"nativeSrc":"304344:11:19","nodeType":"YulFunctionCall","src":"304344:11:19"},"variableNames":[{"name":"m0","nativeSrc":"304338:2:19","nodeType":"YulIdentifier","src":"304338:2:19"}]},{"nativeSrc":"304368:17:19","nodeType":"YulAssignment","src":"304368:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"304380:4:19","nodeType":"YulLiteral","src":"304380:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"304374:5:19","nodeType":"YulIdentifier","src":"304374:5:19"},"nativeSrc":"304374:11:19","nodeType":"YulFunctionCall","src":"304374:11:19"},"variableNames":[{"name":"m1","nativeSrc":"304368:2:19","nodeType":"YulIdentifier","src":"304368:2:19"}]},{"nativeSrc":"304398:17:19","nodeType":"YulAssignment","src":"304398:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"304410:4:19","nodeType":"YulLiteral","src":"304410:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"304404:5:19","nodeType":"YulIdentifier","src":"304404:5:19"},"nativeSrc":"304404:11:19","nodeType":"YulFunctionCall","src":"304404:11:19"},"variableNames":[{"name":"m2","nativeSrc":"304398:2:19","nodeType":"YulIdentifier","src":"304398:2:19"}]},{"nativeSrc":"304428:17:19","nodeType":"YulAssignment","src":"304428:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"304440:4:19","nodeType":"YulLiteral","src":"304440:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"304434:5:19","nodeType":"YulIdentifier","src":"304434:5:19"},"nativeSrc":"304434:11:19","nodeType":"YulFunctionCall","src":"304434:11:19"},"variableNames":[{"name":"m3","nativeSrc":"304428:2:19","nodeType":"YulIdentifier","src":"304428:2:19"}]},{"nativeSrc":"304458:17:19","nodeType":"YulAssignment","src":"304458:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"304470:4:19","nodeType":"YulLiteral","src":"304470:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"304464:5:19","nodeType":"YulIdentifier","src":"304464:5:19"},"nativeSrc":"304464:11:19","nodeType":"YulFunctionCall","src":"304464:11:19"},"variableNames":[{"name":"m4","nativeSrc":"304458:2:19","nodeType":"YulIdentifier","src":"304458:2:19"}]},{"nativeSrc":"304488:17:19","nodeType":"YulAssignment","src":"304488:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"304500:4:19","nodeType":"YulLiteral","src":"304500:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"304494:5:19","nodeType":"YulIdentifier","src":"304494:5:19"},"nativeSrc":"304494:11:19","nodeType":"YulFunctionCall","src":"304494:11:19"},"variableNames":[{"name":"m5","nativeSrc":"304488:2:19","nodeType":"YulIdentifier","src":"304488:2:19"}]},{"nativeSrc":"304518:17:19","nodeType":"YulAssignment","src":"304518:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"304530:4:19","nodeType":"YulLiteral","src":"304530:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"304524:5:19","nodeType":"YulIdentifier","src":"304524:5:19"},"nativeSrc":"304524:11:19","nodeType":"YulFunctionCall","src":"304524:11:19"},"variableNames":[{"name":"m6","nativeSrc":"304518:2:19","nodeType":"YulIdentifier","src":"304518:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"304618:4:19","nodeType":"YulLiteral","src":"304618:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"304624:10:19","nodeType":"YulLiteral","src":"304624:10:19","type":"","value":"0x90c30a56"}],"functionName":{"name":"mstore","nativeSrc":"304611:6:19","nodeType":"YulIdentifier","src":"304611:6:19"},"nativeSrc":"304611:24:19","nodeType":"YulFunctionCall","src":"304611:24:19"},"nativeSrc":"304611:24:19","nodeType":"YulExpressionStatement","src":"304611:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"304655:4:19","nodeType":"YulLiteral","src":"304655:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"304661:2:19","nodeType":"YulIdentifier","src":"304661:2:19"}],"functionName":{"name":"mstore","nativeSrc":"304648:6:19","nodeType":"YulIdentifier","src":"304648:6:19"},"nativeSrc":"304648:16:19","nodeType":"YulFunctionCall","src":"304648:16:19"},"nativeSrc":"304648:16:19","nodeType":"YulExpressionStatement","src":"304648:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"304684:4:19","nodeType":"YulLiteral","src":"304684:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"304690:4:19","nodeType":"YulLiteral","src":"304690:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"304677:6:19","nodeType":"YulIdentifier","src":"304677:6:19"},"nativeSrc":"304677:18:19","nodeType":"YulFunctionCall","src":"304677:18:19"},"nativeSrc":"304677:18:19","nodeType":"YulExpressionStatement","src":"304677:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"304715:4:19","nodeType":"YulLiteral","src":"304715:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"304721:2:19","nodeType":"YulIdentifier","src":"304721:2:19"}],"functionName":{"name":"mstore","nativeSrc":"304708:6:19","nodeType":"YulIdentifier","src":"304708:6:19"},"nativeSrc":"304708:16:19","nodeType":"YulFunctionCall","src":"304708:16:19"},"nativeSrc":"304708:16:19","nodeType":"YulExpressionStatement","src":"304708:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"304744:4:19","nodeType":"YulLiteral","src":"304744:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"304750:2:19","nodeType":"YulIdentifier","src":"304750:2:19"}],"functionName":{"name":"mstore","nativeSrc":"304737:6:19","nodeType":"YulIdentifier","src":"304737:6:19"},"nativeSrc":"304737:16:19","nodeType":"YulFunctionCall","src":"304737:16:19"},"nativeSrc":"304737:16:19","nodeType":"YulExpressionStatement","src":"304737:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"304778:4:19","nodeType":"YulLiteral","src":"304778:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"304784:2:19","nodeType":"YulIdentifier","src":"304784:2:19"}],"functionName":{"name":"writeString","nativeSrc":"304766:11:19","nodeType":"YulIdentifier","src":"304766:11:19"},"nativeSrc":"304766:21:19","nodeType":"YulFunctionCall","src":"304766:21:19"},"nativeSrc":"304766:21:19","nodeType":"YulExpressionStatement","src":"304766:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35874,"isOffset":false,"isSlot":false,"src":"304338:2:19","valueSize":1},{"declaration":35877,"isOffset":false,"isSlot":false,"src":"304368:2:19","valueSize":1},{"declaration":35880,"isOffset":false,"isSlot":false,"src":"304398:2:19","valueSize":1},{"declaration":35883,"isOffset":false,"isSlot":false,"src":"304428:2:19","valueSize":1},{"declaration":35886,"isOffset":false,"isSlot":false,"src":"304458:2:19","valueSize":1},{"declaration":35889,"isOffset":false,"isSlot":false,"src":"304488:2:19","valueSize":1},{"declaration":35892,"isOffset":false,"isSlot":false,"src":"304518:2:19","valueSize":1},{"declaration":35864,"isOffset":false,"isSlot":false,"src":"304661:2:19","valueSize":1},{"declaration":35866,"isOffset":false,"isSlot":false,"src":"304784:2:19","valueSize":1},{"declaration":35868,"isOffset":false,"isSlot":false,"src":"304721:2:19","valueSize":1},{"declaration":35870,"isOffset":false,"isSlot":false,"src":"304750:2:19","valueSize":1}],"id":35894,"nodeType":"InlineAssembly","src":"303960:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"304822:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"304828:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":35895,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"304806:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"304806:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35899,"nodeType":"ExpressionStatement","src":"304806:27:19"},{"AST":{"nativeSrc":"304895:214:19","nodeType":"YulBlock","src":"304895:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"304916:4:19","nodeType":"YulLiteral","src":"304916:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"304922:2:19","nodeType":"YulIdentifier","src":"304922:2:19"}],"functionName":{"name":"mstore","nativeSrc":"304909:6:19","nodeType":"YulIdentifier","src":"304909:6:19"},"nativeSrc":"304909:16:19","nodeType":"YulFunctionCall","src":"304909:16:19"},"nativeSrc":"304909:16:19","nodeType":"YulExpressionStatement","src":"304909:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"304945:4:19","nodeType":"YulLiteral","src":"304945:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"304951:2:19","nodeType":"YulIdentifier","src":"304951:2:19"}],"functionName":{"name":"mstore","nativeSrc":"304938:6:19","nodeType":"YulIdentifier","src":"304938:6:19"},"nativeSrc":"304938:16:19","nodeType":"YulFunctionCall","src":"304938:16:19"},"nativeSrc":"304938:16:19","nodeType":"YulExpressionStatement","src":"304938:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"304974:4:19","nodeType":"YulLiteral","src":"304974:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"304980:2:19","nodeType":"YulIdentifier","src":"304980:2:19"}],"functionName":{"name":"mstore","nativeSrc":"304967:6:19","nodeType":"YulIdentifier","src":"304967:6:19"},"nativeSrc":"304967:16:19","nodeType":"YulFunctionCall","src":"304967:16:19"},"nativeSrc":"304967:16:19","nodeType":"YulExpressionStatement","src":"304967:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"305003:4:19","nodeType":"YulLiteral","src":"305003:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"305009:2:19","nodeType":"YulIdentifier","src":"305009:2:19"}],"functionName":{"name":"mstore","nativeSrc":"304996:6:19","nodeType":"YulIdentifier","src":"304996:6:19"},"nativeSrc":"304996:16:19","nodeType":"YulFunctionCall","src":"304996:16:19"},"nativeSrc":"304996:16:19","nodeType":"YulExpressionStatement","src":"304996:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"305032:4:19","nodeType":"YulLiteral","src":"305032:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"305038:2:19","nodeType":"YulIdentifier","src":"305038:2:19"}],"functionName":{"name":"mstore","nativeSrc":"305025:6:19","nodeType":"YulIdentifier","src":"305025:6:19"},"nativeSrc":"305025:16:19","nodeType":"YulFunctionCall","src":"305025:16:19"},"nativeSrc":"305025:16:19","nodeType":"YulExpressionStatement","src":"305025:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"305061:4:19","nodeType":"YulLiteral","src":"305061:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"305067:2:19","nodeType":"YulIdentifier","src":"305067:2:19"}],"functionName":{"name":"mstore","nativeSrc":"305054:6:19","nodeType":"YulIdentifier","src":"305054:6:19"},"nativeSrc":"305054:16:19","nodeType":"YulFunctionCall","src":"305054:16:19"},"nativeSrc":"305054:16:19","nodeType":"YulExpressionStatement","src":"305054:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"305090:4:19","nodeType":"YulLiteral","src":"305090:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"305096:2:19","nodeType":"YulIdentifier","src":"305096:2:19"}],"functionName":{"name":"mstore","nativeSrc":"305083:6:19","nodeType":"YulIdentifier","src":"305083:6:19"},"nativeSrc":"305083:16:19","nodeType":"YulFunctionCall","src":"305083:16:19"},"nativeSrc":"305083:16:19","nodeType":"YulExpressionStatement","src":"305083:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35874,"isOffset":false,"isSlot":false,"src":"304922:2:19","valueSize":1},{"declaration":35877,"isOffset":false,"isSlot":false,"src":"304951:2:19","valueSize":1},{"declaration":35880,"isOffset":false,"isSlot":false,"src":"304980:2:19","valueSize":1},{"declaration":35883,"isOffset":false,"isSlot":false,"src":"305009:2:19","valueSize":1},{"declaration":35886,"isOffset":false,"isSlot":false,"src":"305038:2:19","valueSize":1},{"declaration":35889,"isOffset":false,"isSlot":false,"src":"305067:2:19","valueSize":1},{"declaration":35892,"isOffset":false,"isSlot":false,"src":"305096:2:19","valueSize":1}],"id":35900,"nodeType":"InlineAssembly","src":"304886:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"303704:3:19","parameters":{"id":35871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35864,"mutability":"mutable","name":"p0","nameLocation":"303716:2:19","nodeType":"VariableDeclaration","scope":35902,"src":"303708:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35863,"name":"uint256","nodeType":"ElementaryTypeName","src":"303708:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35866,"mutability":"mutable","name":"p1","nameLocation":"303728:2:19","nodeType":"VariableDeclaration","scope":35902,"src":"303720:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35865,"name":"bytes32","nodeType":"ElementaryTypeName","src":"303720:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35868,"mutability":"mutable","name":"p2","nameLocation":"303740:2:19","nodeType":"VariableDeclaration","scope":35902,"src":"303732:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35867,"name":"address","nodeType":"ElementaryTypeName","src":"303732:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35870,"mutability":"mutable","name":"p3","nameLocation":"303749:2:19","nodeType":"VariableDeclaration","scope":35902,"src":"303744:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35869,"name":"bool","nodeType":"ElementaryTypeName","src":"303744:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"303707:45:19"},"returnParameters":{"id":35872,"nodeType":"ParameterList","parameters":[],"src":"303767:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35942,"nodeType":"FunctionDefinition","src":"305121:1426:19","nodes":[],"body":{"id":35941,"nodeType":"Block","src":"305196:1351:19","nodes":[],"statements":[{"assignments":[35914],"declarations":[{"constant":false,"id":35914,"mutability":"mutable","name":"m0","nameLocation":"305214:2:19","nodeType":"VariableDeclaration","scope":35941,"src":"305206:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35913,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305206:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35915,"nodeType":"VariableDeclarationStatement","src":"305206:10:19"},{"assignments":[35917],"declarations":[{"constant":false,"id":35917,"mutability":"mutable","name":"m1","nameLocation":"305234:2:19","nodeType":"VariableDeclaration","scope":35941,"src":"305226:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35916,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305226:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35918,"nodeType":"VariableDeclarationStatement","src":"305226:10:19"},{"assignments":[35920],"declarations":[{"constant":false,"id":35920,"mutability":"mutable","name":"m2","nameLocation":"305254:2:19","nodeType":"VariableDeclaration","scope":35941,"src":"305246:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35919,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305246:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35921,"nodeType":"VariableDeclarationStatement","src":"305246:10:19"},{"assignments":[35923],"declarations":[{"constant":false,"id":35923,"mutability":"mutable","name":"m3","nameLocation":"305274:2:19","nodeType":"VariableDeclaration","scope":35941,"src":"305266:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35922,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305266:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35924,"nodeType":"VariableDeclarationStatement","src":"305266:10:19"},{"assignments":[35926],"declarations":[{"constant":false,"id":35926,"mutability":"mutable","name":"m4","nameLocation":"305294:2:19","nodeType":"VariableDeclaration","scope":35941,"src":"305286:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35925,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305286:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35927,"nodeType":"VariableDeclarationStatement","src":"305286:10:19"},{"assignments":[35929],"declarations":[{"constant":false,"id":35929,"mutability":"mutable","name":"m5","nameLocation":"305314:2:19","nodeType":"VariableDeclaration","scope":35941,"src":"305306:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35928,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305306:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35930,"nodeType":"VariableDeclarationStatement","src":"305306:10:19"},{"assignments":[35932],"declarations":[{"constant":false,"id":35932,"mutability":"mutable","name":"m6","nameLocation":"305334:2:19","nodeType":"VariableDeclaration","scope":35941,"src":"305326:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35931,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305326:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35933,"nodeType":"VariableDeclarationStatement","src":"305326:10:19"},{"AST":{"nativeSrc":"305398:831:19","nodeType":"YulBlock","src":"305398:831:19","statements":[{"body":{"nativeSrc":"305441:313:19","nodeType":"YulBlock","src":"305441:313:19","statements":[{"nativeSrc":"305459:15:19","nodeType":"YulVariableDeclaration","src":"305459:15:19","value":{"kind":"number","nativeSrc":"305473:1:19","nodeType":"YulLiteral","src":"305473:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"305463:6:19","nodeType":"YulTypedName","src":"305463:6:19","type":""}]},{"body":{"nativeSrc":"305544:40:19","nodeType":"YulBlock","src":"305544:40:19","statements":[{"body":{"nativeSrc":"305573:9:19","nodeType":"YulBlock","src":"305573:9:19","statements":[{"nativeSrc":"305575:5:19","nodeType":"YulBreak","src":"305575:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"305561:6:19","nodeType":"YulIdentifier","src":"305561:6:19"},{"name":"w","nativeSrc":"305569:1:19","nodeType":"YulIdentifier","src":"305569:1:19"}],"functionName":{"name":"byte","nativeSrc":"305556:4:19","nodeType":"YulIdentifier","src":"305556:4:19"},"nativeSrc":"305556:15:19","nodeType":"YulFunctionCall","src":"305556:15:19"}],"functionName":{"name":"iszero","nativeSrc":"305549:6:19","nodeType":"YulIdentifier","src":"305549:6:19"},"nativeSrc":"305549:23:19","nodeType":"YulFunctionCall","src":"305549:23:19"},"nativeSrc":"305546:36:19","nodeType":"YulIf","src":"305546:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"305501:6:19","nodeType":"YulIdentifier","src":"305501:6:19"},{"kind":"number","nativeSrc":"305509:4:19","nodeType":"YulLiteral","src":"305509:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"305498:2:19","nodeType":"YulIdentifier","src":"305498:2:19"},"nativeSrc":"305498:16:19","nodeType":"YulFunctionCall","src":"305498:16:19"},"nativeSrc":"305491:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"305515:28:19","nodeType":"YulBlock","src":"305515:28:19","statements":[{"nativeSrc":"305517:24:19","nodeType":"YulAssignment","src":"305517:24:19","value":{"arguments":[{"name":"length","nativeSrc":"305531:6:19","nodeType":"YulIdentifier","src":"305531:6:19"},{"kind":"number","nativeSrc":"305539:1:19","nodeType":"YulLiteral","src":"305539:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"305527:3:19","nodeType":"YulIdentifier","src":"305527:3:19"},"nativeSrc":"305527:14:19","nodeType":"YulFunctionCall","src":"305527:14:19"},"variableNames":[{"name":"length","nativeSrc":"305517:6:19","nodeType":"YulIdentifier","src":"305517:6:19"}]}]},"pre":{"nativeSrc":"305495:2:19","nodeType":"YulBlock","src":"305495:2:19","statements":[]},"src":"305491:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"305608:3:19","nodeType":"YulIdentifier","src":"305608:3:19"},{"name":"length","nativeSrc":"305613:6:19","nodeType":"YulIdentifier","src":"305613:6:19"}],"functionName":{"name":"mstore","nativeSrc":"305601:6:19","nodeType":"YulIdentifier","src":"305601:6:19"},"nativeSrc":"305601:19:19","nodeType":"YulFunctionCall","src":"305601:19:19"},"nativeSrc":"305601:19:19","nodeType":"YulExpressionStatement","src":"305601:19:19"},{"nativeSrc":"305637:37:19","nodeType":"YulVariableDeclaration","src":"305637:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"305654:3:19","nodeType":"YulLiteral","src":"305654:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"305663:1:19","nodeType":"YulLiteral","src":"305663:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"305666:6:19","nodeType":"YulIdentifier","src":"305666:6:19"}],"functionName":{"name":"shl","nativeSrc":"305659:3:19","nodeType":"YulIdentifier","src":"305659:3:19"},"nativeSrc":"305659:14:19","nodeType":"YulFunctionCall","src":"305659:14:19"}],"functionName":{"name":"sub","nativeSrc":"305650:3:19","nodeType":"YulIdentifier","src":"305650:3:19"},"nativeSrc":"305650:24:19","nodeType":"YulFunctionCall","src":"305650:24:19"},"variables":[{"name":"shift","nativeSrc":"305641:5:19","nodeType":"YulTypedName","src":"305641:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"305702:3:19","nodeType":"YulIdentifier","src":"305702:3:19"},{"kind":"number","nativeSrc":"305707:4:19","nodeType":"YulLiteral","src":"305707:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"305698:3:19","nodeType":"YulIdentifier","src":"305698:3:19"},"nativeSrc":"305698:14:19","nodeType":"YulFunctionCall","src":"305698:14:19"},{"arguments":[{"name":"shift","nativeSrc":"305718:5:19","nodeType":"YulIdentifier","src":"305718:5:19"},{"arguments":[{"name":"shift","nativeSrc":"305729:5:19","nodeType":"YulIdentifier","src":"305729:5:19"},{"name":"w","nativeSrc":"305736:1:19","nodeType":"YulIdentifier","src":"305736:1:19"}],"functionName":{"name":"shr","nativeSrc":"305725:3:19","nodeType":"YulIdentifier","src":"305725:3:19"},"nativeSrc":"305725:13:19","nodeType":"YulFunctionCall","src":"305725:13:19"}],"functionName":{"name":"shl","nativeSrc":"305714:3:19","nodeType":"YulIdentifier","src":"305714:3:19"},"nativeSrc":"305714:25:19","nodeType":"YulFunctionCall","src":"305714:25:19"}],"functionName":{"name":"mstore","nativeSrc":"305691:6:19","nodeType":"YulIdentifier","src":"305691:6:19"},"nativeSrc":"305691:49:19","nodeType":"YulFunctionCall","src":"305691:49:19"},"nativeSrc":"305691:49:19","nodeType":"YulExpressionStatement","src":"305691:49:19"}]},"name":"writeString","nativeSrc":"305412:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"305433:3:19","nodeType":"YulTypedName","src":"305433:3:19","type":""},{"name":"w","nativeSrc":"305438:1:19","nodeType":"YulTypedName","src":"305438:1:19","type":""}],"src":"305412:342:19"},{"nativeSrc":"305767:17:19","nodeType":"YulAssignment","src":"305767:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"305779:4:19","nodeType":"YulLiteral","src":"305779:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"305773:5:19","nodeType":"YulIdentifier","src":"305773:5:19"},"nativeSrc":"305773:11:19","nodeType":"YulFunctionCall","src":"305773:11:19"},"variableNames":[{"name":"m0","nativeSrc":"305767:2:19","nodeType":"YulIdentifier","src":"305767:2:19"}]},{"nativeSrc":"305797:17:19","nodeType":"YulAssignment","src":"305797:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"305809:4:19","nodeType":"YulLiteral","src":"305809:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"305803:5:19","nodeType":"YulIdentifier","src":"305803:5:19"},"nativeSrc":"305803:11:19","nodeType":"YulFunctionCall","src":"305803:11:19"},"variableNames":[{"name":"m1","nativeSrc":"305797:2:19","nodeType":"YulIdentifier","src":"305797:2:19"}]},{"nativeSrc":"305827:17:19","nodeType":"YulAssignment","src":"305827:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"305839:4:19","nodeType":"YulLiteral","src":"305839:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"305833:5:19","nodeType":"YulIdentifier","src":"305833:5:19"},"nativeSrc":"305833:11:19","nodeType":"YulFunctionCall","src":"305833:11:19"},"variableNames":[{"name":"m2","nativeSrc":"305827:2:19","nodeType":"YulIdentifier","src":"305827:2:19"}]},{"nativeSrc":"305857:17:19","nodeType":"YulAssignment","src":"305857:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"305869:4:19","nodeType":"YulLiteral","src":"305869:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"305863:5:19","nodeType":"YulIdentifier","src":"305863:5:19"},"nativeSrc":"305863:11:19","nodeType":"YulFunctionCall","src":"305863:11:19"},"variableNames":[{"name":"m3","nativeSrc":"305857:2:19","nodeType":"YulIdentifier","src":"305857:2:19"}]},{"nativeSrc":"305887:17:19","nodeType":"YulAssignment","src":"305887:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"305899:4:19","nodeType":"YulLiteral","src":"305899:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"305893:5:19","nodeType":"YulIdentifier","src":"305893:5:19"},"nativeSrc":"305893:11:19","nodeType":"YulFunctionCall","src":"305893:11:19"},"variableNames":[{"name":"m4","nativeSrc":"305887:2:19","nodeType":"YulIdentifier","src":"305887:2:19"}]},{"nativeSrc":"305917:17:19","nodeType":"YulAssignment","src":"305917:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"305929:4:19","nodeType":"YulLiteral","src":"305929:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"305923:5:19","nodeType":"YulIdentifier","src":"305923:5:19"},"nativeSrc":"305923:11:19","nodeType":"YulFunctionCall","src":"305923:11:19"},"variableNames":[{"name":"m5","nativeSrc":"305917:2:19","nodeType":"YulIdentifier","src":"305917:2:19"}]},{"nativeSrc":"305947:17:19","nodeType":"YulAssignment","src":"305947:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"305959:4:19","nodeType":"YulLiteral","src":"305959:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"305953:5:19","nodeType":"YulIdentifier","src":"305953:5:19"},"nativeSrc":"305953:11:19","nodeType":"YulFunctionCall","src":"305953:11:19"},"variableNames":[{"name":"m6","nativeSrc":"305947:2:19","nodeType":"YulIdentifier","src":"305947:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306050:4:19","nodeType":"YulLiteral","src":"306050:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"306056:10:19","nodeType":"YulLiteral","src":"306056:10:19","type":"","value":"0xe8d3018d"}],"functionName":{"name":"mstore","nativeSrc":"306043:6:19","nodeType":"YulIdentifier","src":"306043:6:19"},"nativeSrc":"306043:24:19","nodeType":"YulFunctionCall","src":"306043:24:19"},"nativeSrc":"306043:24:19","nodeType":"YulExpressionStatement","src":"306043:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306087:4:19","nodeType":"YulLiteral","src":"306087:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"306093:2:19","nodeType":"YulIdentifier","src":"306093:2:19"}],"functionName":{"name":"mstore","nativeSrc":"306080:6:19","nodeType":"YulIdentifier","src":"306080:6:19"},"nativeSrc":"306080:16:19","nodeType":"YulFunctionCall","src":"306080:16:19"},"nativeSrc":"306080:16:19","nodeType":"YulExpressionStatement","src":"306080:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306116:4:19","nodeType":"YulLiteral","src":"306116:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"306122:4:19","nodeType":"YulLiteral","src":"306122:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"306109:6:19","nodeType":"YulIdentifier","src":"306109:6:19"},"nativeSrc":"306109:18:19","nodeType":"YulFunctionCall","src":"306109:18:19"},"nativeSrc":"306109:18:19","nodeType":"YulExpressionStatement","src":"306109:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306147:4:19","nodeType":"YulLiteral","src":"306147:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"306153:2:19","nodeType":"YulIdentifier","src":"306153:2:19"}],"functionName":{"name":"mstore","nativeSrc":"306140:6:19","nodeType":"YulIdentifier","src":"306140:6:19"},"nativeSrc":"306140:16:19","nodeType":"YulFunctionCall","src":"306140:16:19"},"nativeSrc":"306140:16:19","nodeType":"YulExpressionStatement","src":"306140:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306176:4:19","nodeType":"YulLiteral","src":"306176:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"306182:2:19","nodeType":"YulIdentifier","src":"306182:2:19"}],"functionName":{"name":"mstore","nativeSrc":"306169:6:19","nodeType":"YulIdentifier","src":"306169:6:19"},"nativeSrc":"306169:16:19","nodeType":"YulFunctionCall","src":"306169:16:19"},"nativeSrc":"306169:16:19","nodeType":"YulExpressionStatement","src":"306169:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306210:4:19","nodeType":"YulLiteral","src":"306210:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"306216:2:19","nodeType":"YulIdentifier","src":"306216:2:19"}],"functionName":{"name":"writeString","nativeSrc":"306198:11:19","nodeType":"YulIdentifier","src":"306198:11:19"},"nativeSrc":"306198:21:19","nodeType":"YulFunctionCall","src":"306198:21:19"},"nativeSrc":"306198:21:19","nodeType":"YulExpressionStatement","src":"306198:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35914,"isOffset":false,"isSlot":false,"src":"305767:2:19","valueSize":1},{"declaration":35917,"isOffset":false,"isSlot":false,"src":"305797:2:19","valueSize":1},{"declaration":35920,"isOffset":false,"isSlot":false,"src":"305827:2:19","valueSize":1},{"declaration":35923,"isOffset":false,"isSlot":false,"src":"305857:2:19","valueSize":1},{"declaration":35926,"isOffset":false,"isSlot":false,"src":"305887:2:19","valueSize":1},{"declaration":35929,"isOffset":false,"isSlot":false,"src":"305917:2:19","valueSize":1},{"declaration":35932,"isOffset":false,"isSlot":false,"src":"305947:2:19","valueSize":1},{"declaration":35904,"isOffset":false,"isSlot":false,"src":"306093:2:19","valueSize":1},{"declaration":35906,"isOffset":false,"isSlot":false,"src":"306216:2:19","valueSize":1},{"declaration":35908,"isOffset":false,"isSlot":false,"src":"306153:2:19","valueSize":1},{"declaration":35910,"isOffset":false,"isSlot":false,"src":"306182:2:19","valueSize":1}],"id":35934,"nodeType":"InlineAssembly","src":"305389:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"306254:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":35937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"306260:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":35935,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"306238:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"306238:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35939,"nodeType":"ExpressionStatement","src":"306238:27:19"},{"AST":{"nativeSrc":"306327:214:19","nodeType":"YulBlock","src":"306327:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"306348:4:19","nodeType":"YulLiteral","src":"306348:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"306354:2:19","nodeType":"YulIdentifier","src":"306354:2:19"}],"functionName":{"name":"mstore","nativeSrc":"306341:6:19","nodeType":"YulIdentifier","src":"306341:6:19"},"nativeSrc":"306341:16:19","nodeType":"YulFunctionCall","src":"306341:16:19"},"nativeSrc":"306341:16:19","nodeType":"YulExpressionStatement","src":"306341:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306377:4:19","nodeType":"YulLiteral","src":"306377:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"306383:2:19","nodeType":"YulIdentifier","src":"306383:2:19"}],"functionName":{"name":"mstore","nativeSrc":"306370:6:19","nodeType":"YulIdentifier","src":"306370:6:19"},"nativeSrc":"306370:16:19","nodeType":"YulFunctionCall","src":"306370:16:19"},"nativeSrc":"306370:16:19","nodeType":"YulExpressionStatement","src":"306370:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306406:4:19","nodeType":"YulLiteral","src":"306406:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"306412:2:19","nodeType":"YulIdentifier","src":"306412:2:19"}],"functionName":{"name":"mstore","nativeSrc":"306399:6:19","nodeType":"YulIdentifier","src":"306399:6:19"},"nativeSrc":"306399:16:19","nodeType":"YulFunctionCall","src":"306399:16:19"},"nativeSrc":"306399:16:19","nodeType":"YulExpressionStatement","src":"306399:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306435:4:19","nodeType":"YulLiteral","src":"306435:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"306441:2:19","nodeType":"YulIdentifier","src":"306441:2:19"}],"functionName":{"name":"mstore","nativeSrc":"306428:6:19","nodeType":"YulIdentifier","src":"306428:6:19"},"nativeSrc":"306428:16:19","nodeType":"YulFunctionCall","src":"306428:16:19"},"nativeSrc":"306428:16:19","nodeType":"YulExpressionStatement","src":"306428:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306464:4:19","nodeType":"YulLiteral","src":"306464:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"306470:2:19","nodeType":"YulIdentifier","src":"306470:2:19"}],"functionName":{"name":"mstore","nativeSrc":"306457:6:19","nodeType":"YulIdentifier","src":"306457:6:19"},"nativeSrc":"306457:16:19","nodeType":"YulFunctionCall","src":"306457:16:19"},"nativeSrc":"306457:16:19","nodeType":"YulExpressionStatement","src":"306457:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306493:4:19","nodeType":"YulLiteral","src":"306493:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"306499:2:19","nodeType":"YulIdentifier","src":"306499:2:19"}],"functionName":{"name":"mstore","nativeSrc":"306486:6:19","nodeType":"YulIdentifier","src":"306486:6:19"},"nativeSrc":"306486:16:19","nodeType":"YulFunctionCall","src":"306486:16:19"},"nativeSrc":"306486:16:19","nodeType":"YulExpressionStatement","src":"306486:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"306522:4:19","nodeType":"YulLiteral","src":"306522:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"306528:2:19","nodeType":"YulIdentifier","src":"306528:2:19"}],"functionName":{"name":"mstore","nativeSrc":"306515:6:19","nodeType":"YulIdentifier","src":"306515:6:19"},"nativeSrc":"306515:16:19","nodeType":"YulFunctionCall","src":"306515:16:19"},"nativeSrc":"306515:16:19","nodeType":"YulExpressionStatement","src":"306515:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35914,"isOffset":false,"isSlot":false,"src":"306354:2:19","valueSize":1},{"declaration":35917,"isOffset":false,"isSlot":false,"src":"306383:2:19","valueSize":1},{"declaration":35920,"isOffset":false,"isSlot":false,"src":"306412:2:19","valueSize":1},{"declaration":35923,"isOffset":false,"isSlot":false,"src":"306441:2:19","valueSize":1},{"declaration":35926,"isOffset":false,"isSlot":false,"src":"306470:2:19","valueSize":1},{"declaration":35929,"isOffset":false,"isSlot":false,"src":"306499:2:19","valueSize":1},{"declaration":35932,"isOffset":false,"isSlot":false,"src":"306528:2:19","valueSize":1}],"id":35940,"nodeType":"InlineAssembly","src":"306318:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"305130:3:19","parameters":{"id":35911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35904,"mutability":"mutable","name":"p0","nameLocation":"305142:2:19","nodeType":"VariableDeclaration","scope":35942,"src":"305134:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35903,"name":"uint256","nodeType":"ElementaryTypeName","src":"305134:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35906,"mutability":"mutable","name":"p1","nameLocation":"305154:2:19","nodeType":"VariableDeclaration","scope":35942,"src":"305146:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35905,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305146:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35908,"mutability":"mutable","name":"p2","nameLocation":"305166:2:19","nodeType":"VariableDeclaration","scope":35942,"src":"305158:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35907,"name":"address","nodeType":"ElementaryTypeName","src":"305158:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35910,"mutability":"mutable","name":"p3","nameLocation":"305178:2:19","nodeType":"VariableDeclaration","scope":35942,"src":"305170:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35909,"name":"uint256","nodeType":"ElementaryTypeName","src":"305170:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"305133:48:19"},"returnParameters":{"id":35912,"nodeType":"ParameterList","parameters":[],"src":"305196:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":35988,"nodeType":"FunctionDefinition","src":"306553:1622:19","nodes":[],"body":{"id":35987,"nodeType":"Block","src":"306628:1547:19","nodes":[],"statements":[{"assignments":[35954],"declarations":[{"constant":false,"id":35954,"mutability":"mutable","name":"m0","nameLocation":"306646:2:19","nodeType":"VariableDeclaration","scope":35987,"src":"306638:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35953,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306638:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35955,"nodeType":"VariableDeclarationStatement","src":"306638:10:19"},{"assignments":[35957],"declarations":[{"constant":false,"id":35957,"mutability":"mutable","name":"m1","nameLocation":"306666:2:19","nodeType":"VariableDeclaration","scope":35987,"src":"306658:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35956,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306658:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35958,"nodeType":"VariableDeclarationStatement","src":"306658:10:19"},{"assignments":[35960],"declarations":[{"constant":false,"id":35960,"mutability":"mutable","name":"m2","nameLocation":"306686:2:19","nodeType":"VariableDeclaration","scope":35987,"src":"306678:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35959,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306678:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35961,"nodeType":"VariableDeclarationStatement","src":"306678:10:19"},{"assignments":[35963],"declarations":[{"constant":false,"id":35963,"mutability":"mutable","name":"m3","nameLocation":"306706:2:19","nodeType":"VariableDeclaration","scope":35987,"src":"306698:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35962,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306698:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35964,"nodeType":"VariableDeclarationStatement","src":"306698:10:19"},{"assignments":[35966],"declarations":[{"constant":false,"id":35966,"mutability":"mutable","name":"m4","nameLocation":"306726:2:19","nodeType":"VariableDeclaration","scope":35987,"src":"306718:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35965,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306718:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35967,"nodeType":"VariableDeclarationStatement","src":"306718:10:19"},{"assignments":[35969],"declarations":[{"constant":false,"id":35969,"mutability":"mutable","name":"m5","nameLocation":"306746:2:19","nodeType":"VariableDeclaration","scope":35987,"src":"306738:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35968,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306738:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35970,"nodeType":"VariableDeclarationStatement","src":"306738:10:19"},{"assignments":[35972],"declarations":[{"constant":false,"id":35972,"mutability":"mutable","name":"m6","nameLocation":"306766:2:19","nodeType":"VariableDeclaration","scope":35987,"src":"306758:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35971,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306758:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35973,"nodeType":"VariableDeclarationStatement","src":"306758:10:19"},{"assignments":[35975],"declarations":[{"constant":false,"id":35975,"mutability":"mutable","name":"m7","nameLocation":"306786:2:19","nodeType":"VariableDeclaration","scope":35987,"src":"306778:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35974,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306778:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35976,"nodeType":"VariableDeclarationStatement","src":"306778:10:19"},{"assignments":[35978],"declarations":[{"constant":false,"id":35978,"mutability":"mutable","name":"m8","nameLocation":"306806:2:19","nodeType":"VariableDeclaration","scope":35987,"src":"306798:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35977,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306798:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":35979,"nodeType":"VariableDeclarationStatement","src":"306798:10:19"},{"AST":{"nativeSrc":"306870:927:19","nodeType":"YulBlock","src":"306870:927:19","statements":[{"body":{"nativeSrc":"306913:313:19","nodeType":"YulBlock","src":"306913:313:19","statements":[{"nativeSrc":"306931:15:19","nodeType":"YulVariableDeclaration","src":"306931:15:19","value":{"kind":"number","nativeSrc":"306945:1:19","nodeType":"YulLiteral","src":"306945:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"306935:6:19","nodeType":"YulTypedName","src":"306935:6:19","type":""}]},{"body":{"nativeSrc":"307016:40:19","nodeType":"YulBlock","src":"307016:40:19","statements":[{"body":{"nativeSrc":"307045:9:19","nodeType":"YulBlock","src":"307045:9:19","statements":[{"nativeSrc":"307047:5:19","nodeType":"YulBreak","src":"307047:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"307033:6:19","nodeType":"YulIdentifier","src":"307033:6:19"},{"name":"w","nativeSrc":"307041:1:19","nodeType":"YulIdentifier","src":"307041:1:19"}],"functionName":{"name":"byte","nativeSrc":"307028:4:19","nodeType":"YulIdentifier","src":"307028:4:19"},"nativeSrc":"307028:15:19","nodeType":"YulFunctionCall","src":"307028:15:19"}],"functionName":{"name":"iszero","nativeSrc":"307021:6:19","nodeType":"YulIdentifier","src":"307021:6:19"},"nativeSrc":"307021:23:19","nodeType":"YulFunctionCall","src":"307021:23:19"},"nativeSrc":"307018:36:19","nodeType":"YulIf","src":"307018:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"306973:6:19","nodeType":"YulIdentifier","src":"306973:6:19"},{"kind":"number","nativeSrc":"306981:4:19","nodeType":"YulLiteral","src":"306981:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"306970:2:19","nodeType":"YulIdentifier","src":"306970:2:19"},"nativeSrc":"306970:16:19","nodeType":"YulFunctionCall","src":"306970:16:19"},"nativeSrc":"306963:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"306987:28:19","nodeType":"YulBlock","src":"306987:28:19","statements":[{"nativeSrc":"306989:24:19","nodeType":"YulAssignment","src":"306989:24:19","value":{"arguments":[{"name":"length","nativeSrc":"307003:6:19","nodeType":"YulIdentifier","src":"307003:6:19"},{"kind":"number","nativeSrc":"307011:1:19","nodeType":"YulLiteral","src":"307011:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"306999:3:19","nodeType":"YulIdentifier","src":"306999:3:19"},"nativeSrc":"306999:14:19","nodeType":"YulFunctionCall","src":"306999:14:19"},"variableNames":[{"name":"length","nativeSrc":"306989:6:19","nodeType":"YulIdentifier","src":"306989:6:19"}]}]},"pre":{"nativeSrc":"306967:2:19","nodeType":"YulBlock","src":"306967:2:19","statements":[]},"src":"306963:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"307080:3:19","nodeType":"YulIdentifier","src":"307080:3:19"},{"name":"length","nativeSrc":"307085:6:19","nodeType":"YulIdentifier","src":"307085:6:19"}],"functionName":{"name":"mstore","nativeSrc":"307073:6:19","nodeType":"YulIdentifier","src":"307073:6:19"},"nativeSrc":"307073:19:19","nodeType":"YulFunctionCall","src":"307073:19:19"},"nativeSrc":"307073:19:19","nodeType":"YulExpressionStatement","src":"307073:19:19"},{"nativeSrc":"307109:37:19","nodeType":"YulVariableDeclaration","src":"307109:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"307126:3:19","nodeType":"YulLiteral","src":"307126:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"307135:1:19","nodeType":"YulLiteral","src":"307135:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"307138:6:19","nodeType":"YulIdentifier","src":"307138:6:19"}],"functionName":{"name":"shl","nativeSrc":"307131:3:19","nodeType":"YulIdentifier","src":"307131:3:19"},"nativeSrc":"307131:14:19","nodeType":"YulFunctionCall","src":"307131:14:19"}],"functionName":{"name":"sub","nativeSrc":"307122:3:19","nodeType":"YulIdentifier","src":"307122:3:19"},"nativeSrc":"307122:24:19","nodeType":"YulFunctionCall","src":"307122:24:19"},"variables":[{"name":"shift","nativeSrc":"307113:5:19","nodeType":"YulTypedName","src":"307113:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"307174:3:19","nodeType":"YulIdentifier","src":"307174:3:19"},{"kind":"number","nativeSrc":"307179:4:19","nodeType":"YulLiteral","src":"307179:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"307170:3:19","nodeType":"YulIdentifier","src":"307170:3:19"},"nativeSrc":"307170:14:19","nodeType":"YulFunctionCall","src":"307170:14:19"},{"arguments":[{"name":"shift","nativeSrc":"307190:5:19","nodeType":"YulIdentifier","src":"307190:5:19"},{"arguments":[{"name":"shift","nativeSrc":"307201:5:19","nodeType":"YulIdentifier","src":"307201:5:19"},{"name":"w","nativeSrc":"307208:1:19","nodeType":"YulIdentifier","src":"307208:1:19"}],"functionName":{"name":"shr","nativeSrc":"307197:3:19","nodeType":"YulIdentifier","src":"307197:3:19"},"nativeSrc":"307197:13:19","nodeType":"YulFunctionCall","src":"307197:13:19"}],"functionName":{"name":"shl","nativeSrc":"307186:3:19","nodeType":"YulIdentifier","src":"307186:3:19"},"nativeSrc":"307186:25:19","nodeType":"YulFunctionCall","src":"307186:25:19"}],"functionName":{"name":"mstore","nativeSrc":"307163:6:19","nodeType":"YulIdentifier","src":"307163:6:19"},"nativeSrc":"307163:49:19","nodeType":"YulFunctionCall","src":"307163:49:19"},"nativeSrc":"307163:49:19","nodeType":"YulExpressionStatement","src":"307163:49:19"}]},"name":"writeString","nativeSrc":"306884:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"306905:3:19","nodeType":"YulTypedName","src":"306905:3:19","type":""},{"name":"w","nativeSrc":"306910:1:19","nodeType":"YulTypedName","src":"306910:1:19","type":""}],"src":"306884:342:19"},{"nativeSrc":"307239:17:19","nodeType":"YulAssignment","src":"307239:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"307251:4:19","nodeType":"YulLiteral","src":"307251:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"307245:5:19","nodeType":"YulIdentifier","src":"307245:5:19"},"nativeSrc":"307245:11:19","nodeType":"YulFunctionCall","src":"307245:11:19"},"variableNames":[{"name":"m0","nativeSrc":"307239:2:19","nodeType":"YulIdentifier","src":"307239:2:19"}]},{"nativeSrc":"307269:17:19","nodeType":"YulAssignment","src":"307269:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"307281:4:19","nodeType":"YulLiteral","src":"307281:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"307275:5:19","nodeType":"YulIdentifier","src":"307275:5:19"},"nativeSrc":"307275:11:19","nodeType":"YulFunctionCall","src":"307275:11:19"},"variableNames":[{"name":"m1","nativeSrc":"307269:2:19","nodeType":"YulIdentifier","src":"307269:2:19"}]},{"nativeSrc":"307299:17:19","nodeType":"YulAssignment","src":"307299:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"307311:4:19","nodeType":"YulLiteral","src":"307311:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"307305:5:19","nodeType":"YulIdentifier","src":"307305:5:19"},"nativeSrc":"307305:11:19","nodeType":"YulFunctionCall","src":"307305:11:19"},"variableNames":[{"name":"m2","nativeSrc":"307299:2:19","nodeType":"YulIdentifier","src":"307299:2:19"}]},{"nativeSrc":"307329:17:19","nodeType":"YulAssignment","src":"307329:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"307341:4:19","nodeType":"YulLiteral","src":"307341:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"307335:5:19","nodeType":"YulIdentifier","src":"307335:5:19"},"nativeSrc":"307335:11:19","nodeType":"YulFunctionCall","src":"307335:11:19"},"variableNames":[{"name":"m3","nativeSrc":"307329:2:19","nodeType":"YulIdentifier","src":"307329:2:19"}]},{"nativeSrc":"307359:17:19","nodeType":"YulAssignment","src":"307359:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"307371:4:19","nodeType":"YulLiteral","src":"307371:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"307365:5:19","nodeType":"YulIdentifier","src":"307365:5:19"},"nativeSrc":"307365:11:19","nodeType":"YulFunctionCall","src":"307365:11:19"},"variableNames":[{"name":"m4","nativeSrc":"307359:2:19","nodeType":"YulIdentifier","src":"307359:2:19"}]},{"nativeSrc":"307389:17:19","nodeType":"YulAssignment","src":"307389:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"307401:4:19","nodeType":"YulLiteral","src":"307401:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"307395:5:19","nodeType":"YulIdentifier","src":"307395:5:19"},"nativeSrc":"307395:11:19","nodeType":"YulFunctionCall","src":"307395:11:19"},"variableNames":[{"name":"m5","nativeSrc":"307389:2:19","nodeType":"YulIdentifier","src":"307389:2:19"}]},{"nativeSrc":"307419:17:19","nodeType":"YulAssignment","src":"307419:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"307431:4:19","nodeType":"YulLiteral","src":"307431:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"307425:5:19","nodeType":"YulIdentifier","src":"307425:5:19"},"nativeSrc":"307425:11:19","nodeType":"YulFunctionCall","src":"307425:11:19"},"variableNames":[{"name":"m6","nativeSrc":"307419:2:19","nodeType":"YulIdentifier","src":"307419:2:19"}]},{"nativeSrc":"307449:17:19","nodeType":"YulAssignment","src":"307449:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"307461:4:19","nodeType":"YulLiteral","src":"307461:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"307455:5:19","nodeType":"YulIdentifier","src":"307455:5:19"},"nativeSrc":"307455:11:19","nodeType":"YulFunctionCall","src":"307455:11:19"},"variableNames":[{"name":"m7","nativeSrc":"307449:2:19","nodeType":"YulIdentifier","src":"307449:2:19"}]},{"nativeSrc":"307479:18:19","nodeType":"YulAssignment","src":"307479:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"307491:5:19","nodeType":"YulLiteral","src":"307491:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"307485:5:19","nodeType":"YulIdentifier","src":"307485:5:19"},"nativeSrc":"307485:12:19","nodeType":"YulFunctionCall","src":"307485:12:19"},"variableNames":[{"name":"m8","nativeSrc":"307479:2:19","nodeType":"YulIdentifier","src":"307479:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307582:4:19","nodeType":"YulLiteral","src":"307582:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"307588:10:19","nodeType":"YulLiteral","src":"307588:10:19","type":"","value":"0x9c3adfa1"}],"functionName":{"name":"mstore","nativeSrc":"307575:6:19","nodeType":"YulIdentifier","src":"307575:6:19"},"nativeSrc":"307575:24:19","nodeType":"YulFunctionCall","src":"307575:24:19"},"nativeSrc":"307575:24:19","nodeType":"YulExpressionStatement","src":"307575:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307619:4:19","nodeType":"YulLiteral","src":"307619:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"307625:2:19","nodeType":"YulIdentifier","src":"307625:2:19"}],"functionName":{"name":"mstore","nativeSrc":"307612:6:19","nodeType":"YulIdentifier","src":"307612:6:19"},"nativeSrc":"307612:16:19","nodeType":"YulFunctionCall","src":"307612:16:19"},"nativeSrc":"307612:16:19","nodeType":"YulExpressionStatement","src":"307612:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307648:4:19","nodeType":"YulLiteral","src":"307648:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"307654:4:19","nodeType":"YulLiteral","src":"307654:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"307641:6:19","nodeType":"YulIdentifier","src":"307641:6:19"},"nativeSrc":"307641:18:19","nodeType":"YulFunctionCall","src":"307641:18:19"},"nativeSrc":"307641:18:19","nodeType":"YulExpressionStatement","src":"307641:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307679:4:19","nodeType":"YulLiteral","src":"307679:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"307685:2:19","nodeType":"YulIdentifier","src":"307685:2:19"}],"functionName":{"name":"mstore","nativeSrc":"307672:6:19","nodeType":"YulIdentifier","src":"307672:6:19"},"nativeSrc":"307672:16:19","nodeType":"YulFunctionCall","src":"307672:16:19"},"nativeSrc":"307672:16:19","nodeType":"YulExpressionStatement","src":"307672:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307708:4:19","nodeType":"YulLiteral","src":"307708:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"307714:4:19","nodeType":"YulLiteral","src":"307714:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"307701:6:19","nodeType":"YulIdentifier","src":"307701:6:19"},"nativeSrc":"307701:18:19","nodeType":"YulFunctionCall","src":"307701:18:19"},"nativeSrc":"307701:18:19","nodeType":"YulExpressionStatement","src":"307701:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307744:4:19","nodeType":"YulLiteral","src":"307744:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"307750:2:19","nodeType":"YulIdentifier","src":"307750:2:19"}],"functionName":{"name":"writeString","nativeSrc":"307732:11:19","nodeType":"YulIdentifier","src":"307732:11:19"},"nativeSrc":"307732:21:19","nodeType":"YulFunctionCall","src":"307732:21:19"},"nativeSrc":"307732:21:19","nodeType":"YulExpressionStatement","src":"307732:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307778:4:19","nodeType":"YulLiteral","src":"307778:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"307784:2:19","nodeType":"YulIdentifier","src":"307784:2:19"}],"functionName":{"name":"writeString","nativeSrc":"307766:11:19","nodeType":"YulIdentifier","src":"307766:11:19"},"nativeSrc":"307766:21:19","nodeType":"YulFunctionCall","src":"307766:21:19"},"nativeSrc":"307766:21:19","nodeType":"YulExpressionStatement","src":"307766:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35954,"isOffset":false,"isSlot":false,"src":"307239:2:19","valueSize":1},{"declaration":35957,"isOffset":false,"isSlot":false,"src":"307269:2:19","valueSize":1},{"declaration":35960,"isOffset":false,"isSlot":false,"src":"307299:2:19","valueSize":1},{"declaration":35963,"isOffset":false,"isSlot":false,"src":"307329:2:19","valueSize":1},{"declaration":35966,"isOffset":false,"isSlot":false,"src":"307359:2:19","valueSize":1},{"declaration":35969,"isOffset":false,"isSlot":false,"src":"307389:2:19","valueSize":1},{"declaration":35972,"isOffset":false,"isSlot":false,"src":"307419:2:19","valueSize":1},{"declaration":35975,"isOffset":false,"isSlot":false,"src":"307449:2:19","valueSize":1},{"declaration":35978,"isOffset":false,"isSlot":false,"src":"307479:2:19","valueSize":1},{"declaration":35944,"isOffset":false,"isSlot":false,"src":"307625:2:19","valueSize":1},{"declaration":35946,"isOffset":false,"isSlot":false,"src":"307750:2:19","valueSize":1},{"declaration":35948,"isOffset":false,"isSlot":false,"src":"307685:2:19","valueSize":1},{"declaration":35950,"isOffset":false,"isSlot":false,"src":"307784:2:19","valueSize":1}],"id":35980,"nodeType":"InlineAssembly","src":"306861:936:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":35982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"307822:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":35983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"307828:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":35981,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"307806:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":35984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"307806:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":35985,"nodeType":"ExpressionStatement","src":"307806:28:19"},{"AST":{"nativeSrc":"307896:273:19","nodeType":"YulBlock","src":"307896:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"307917:4:19","nodeType":"YulLiteral","src":"307917:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"307923:2:19","nodeType":"YulIdentifier","src":"307923:2:19"}],"functionName":{"name":"mstore","nativeSrc":"307910:6:19","nodeType":"YulIdentifier","src":"307910:6:19"},"nativeSrc":"307910:16:19","nodeType":"YulFunctionCall","src":"307910:16:19"},"nativeSrc":"307910:16:19","nodeType":"YulExpressionStatement","src":"307910:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307946:4:19","nodeType":"YulLiteral","src":"307946:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"307952:2:19","nodeType":"YulIdentifier","src":"307952:2:19"}],"functionName":{"name":"mstore","nativeSrc":"307939:6:19","nodeType":"YulIdentifier","src":"307939:6:19"},"nativeSrc":"307939:16:19","nodeType":"YulFunctionCall","src":"307939:16:19"},"nativeSrc":"307939:16:19","nodeType":"YulExpressionStatement","src":"307939:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"307975:4:19","nodeType":"YulLiteral","src":"307975:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"307981:2:19","nodeType":"YulIdentifier","src":"307981:2:19"}],"functionName":{"name":"mstore","nativeSrc":"307968:6:19","nodeType":"YulIdentifier","src":"307968:6:19"},"nativeSrc":"307968:16:19","nodeType":"YulFunctionCall","src":"307968:16:19"},"nativeSrc":"307968:16:19","nodeType":"YulExpressionStatement","src":"307968:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"308004:4:19","nodeType":"YulLiteral","src":"308004:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"308010:2:19","nodeType":"YulIdentifier","src":"308010:2:19"}],"functionName":{"name":"mstore","nativeSrc":"307997:6:19","nodeType":"YulIdentifier","src":"307997:6:19"},"nativeSrc":"307997:16:19","nodeType":"YulFunctionCall","src":"307997:16:19"},"nativeSrc":"307997:16:19","nodeType":"YulExpressionStatement","src":"307997:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"308033:4:19","nodeType":"YulLiteral","src":"308033:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"308039:2:19","nodeType":"YulIdentifier","src":"308039:2:19"}],"functionName":{"name":"mstore","nativeSrc":"308026:6:19","nodeType":"YulIdentifier","src":"308026:6:19"},"nativeSrc":"308026:16:19","nodeType":"YulFunctionCall","src":"308026:16:19"},"nativeSrc":"308026:16:19","nodeType":"YulExpressionStatement","src":"308026:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"308062:4:19","nodeType":"YulLiteral","src":"308062:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"308068:2:19","nodeType":"YulIdentifier","src":"308068:2:19"}],"functionName":{"name":"mstore","nativeSrc":"308055:6:19","nodeType":"YulIdentifier","src":"308055:6:19"},"nativeSrc":"308055:16:19","nodeType":"YulFunctionCall","src":"308055:16:19"},"nativeSrc":"308055:16:19","nodeType":"YulExpressionStatement","src":"308055:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"308091:4:19","nodeType":"YulLiteral","src":"308091:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"308097:2:19","nodeType":"YulIdentifier","src":"308097:2:19"}],"functionName":{"name":"mstore","nativeSrc":"308084:6:19","nodeType":"YulIdentifier","src":"308084:6:19"},"nativeSrc":"308084:16:19","nodeType":"YulFunctionCall","src":"308084:16:19"},"nativeSrc":"308084:16:19","nodeType":"YulExpressionStatement","src":"308084:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"308120:4:19","nodeType":"YulLiteral","src":"308120:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"308126:2:19","nodeType":"YulIdentifier","src":"308126:2:19"}],"functionName":{"name":"mstore","nativeSrc":"308113:6:19","nodeType":"YulIdentifier","src":"308113:6:19"},"nativeSrc":"308113:16:19","nodeType":"YulFunctionCall","src":"308113:16:19"},"nativeSrc":"308113:16:19","nodeType":"YulExpressionStatement","src":"308113:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"308149:5:19","nodeType":"YulLiteral","src":"308149:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"308156:2:19","nodeType":"YulIdentifier","src":"308156:2:19"}],"functionName":{"name":"mstore","nativeSrc":"308142:6:19","nodeType":"YulIdentifier","src":"308142:6:19"},"nativeSrc":"308142:17:19","nodeType":"YulFunctionCall","src":"308142:17:19"},"nativeSrc":"308142:17:19","nodeType":"YulExpressionStatement","src":"308142:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":35954,"isOffset":false,"isSlot":false,"src":"307923:2:19","valueSize":1},{"declaration":35957,"isOffset":false,"isSlot":false,"src":"307952:2:19","valueSize":1},{"declaration":35960,"isOffset":false,"isSlot":false,"src":"307981:2:19","valueSize":1},{"declaration":35963,"isOffset":false,"isSlot":false,"src":"308010:2:19","valueSize":1},{"declaration":35966,"isOffset":false,"isSlot":false,"src":"308039:2:19","valueSize":1},{"declaration":35969,"isOffset":false,"isSlot":false,"src":"308068:2:19","valueSize":1},{"declaration":35972,"isOffset":false,"isSlot":false,"src":"308097:2:19","valueSize":1},{"declaration":35975,"isOffset":false,"isSlot":false,"src":"308126:2:19","valueSize":1},{"declaration":35978,"isOffset":false,"isSlot":false,"src":"308156:2:19","valueSize":1}],"id":35986,"nodeType":"InlineAssembly","src":"307887:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"306562:3:19","parameters":{"id":35951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35944,"mutability":"mutable","name":"p0","nameLocation":"306574:2:19","nodeType":"VariableDeclaration","scope":35988,"src":"306566:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35943,"name":"uint256","nodeType":"ElementaryTypeName","src":"306566:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35946,"mutability":"mutable","name":"p1","nameLocation":"306586:2:19","nodeType":"VariableDeclaration","scope":35988,"src":"306578:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35945,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306578:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35948,"mutability":"mutable","name":"p2","nameLocation":"306598:2:19","nodeType":"VariableDeclaration","scope":35988,"src":"306590:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35947,"name":"address","nodeType":"ElementaryTypeName","src":"306590:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":35950,"mutability":"mutable","name":"p3","nameLocation":"306610:2:19","nodeType":"VariableDeclaration","scope":35988,"src":"306602:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35949,"name":"bytes32","nodeType":"ElementaryTypeName","src":"306602:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"306565:48:19"},"returnParameters":{"id":35952,"nodeType":"ParameterList","parameters":[],"src":"306628:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36028,"nodeType":"FunctionDefinition","src":"308181:1420:19","nodes":[],"body":{"id":36027,"nodeType":"Block","src":"308253:1348:19","nodes":[],"statements":[{"assignments":[36000],"declarations":[{"constant":false,"id":36000,"mutability":"mutable","name":"m0","nameLocation":"308271:2:19","nodeType":"VariableDeclaration","scope":36027,"src":"308263:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35999,"name":"bytes32","nodeType":"ElementaryTypeName","src":"308263:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36001,"nodeType":"VariableDeclarationStatement","src":"308263:10:19"},{"assignments":[36003],"declarations":[{"constant":false,"id":36003,"mutability":"mutable","name":"m1","nameLocation":"308291:2:19","nodeType":"VariableDeclaration","scope":36027,"src":"308283:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36002,"name":"bytes32","nodeType":"ElementaryTypeName","src":"308283:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36004,"nodeType":"VariableDeclarationStatement","src":"308283:10:19"},{"assignments":[36006],"declarations":[{"constant":false,"id":36006,"mutability":"mutable","name":"m2","nameLocation":"308311:2:19","nodeType":"VariableDeclaration","scope":36027,"src":"308303:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36005,"name":"bytes32","nodeType":"ElementaryTypeName","src":"308303:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36007,"nodeType":"VariableDeclarationStatement","src":"308303:10:19"},{"assignments":[36009],"declarations":[{"constant":false,"id":36009,"mutability":"mutable","name":"m3","nameLocation":"308331:2:19","nodeType":"VariableDeclaration","scope":36027,"src":"308323:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36008,"name":"bytes32","nodeType":"ElementaryTypeName","src":"308323:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36010,"nodeType":"VariableDeclarationStatement","src":"308323:10:19"},{"assignments":[36012],"declarations":[{"constant":false,"id":36012,"mutability":"mutable","name":"m4","nameLocation":"308351:2:19","nodeType":"VariableDeclaration","scope":36027,"src":"308343:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36011,"name":"bytes32","nodeType":"ElementaryTypeName","src":"308343:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36013,"nodeType":"VariableDeclarationStatement","src":"308343:10:19"},{"assignments":[36015],"declarations":[{"constant":false,"id":36015,"mutability":"mutable","name":"m5","nameLocation":"308371:2:19","nodeType":"VariableDeclaration","scope":36027,"src":"308363:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36014,"name":"bytes32","nodeType":"ElementaryTypeName","src":"308363:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36016,"nodeType":"VariableDeclarationStatement","src":"308363:10:19"},{"assignments":[36018],"declarations":[{"constant":false,"id":36018,"mutability":"mutable","name":"m6","nameLocation":"308391:2:19","nodeType":"VariableDeclaration","scope":36027,"src":"308383:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36017,"name":"bytes32","nodeType":"ElementaryTypeName","src":"308383:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36019,"nodeType":"VariableDeclarationStatement","src":"308383:10:19"},{"AST":{"nativeSrc":"308455:828:19","nodeType":"YulBlock","src":"308455:828:19","statements":[{"body":{"nativeSrc":"308498:313:19","nodeType":"YulBlock","src":"308498:313:19","statements":[{"nativeSrc":"308516:15:19","nodeType":"YulVariableDeclaration","src":"308516:15:19","value":{"kind":"number","nativeSrc":"308530:1:19","nodeType":"YulLiteral","src":"308530:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"308520:6:19","nodeType":"YulTypedName","src":"308520:6:19","type":""}]},{"body":{"nativeSrc":"308601:40:19","nodeType":"YulBlock","src":"308601:40:19","statements":[{"body":{"nativeSrc":"308630:9:19","nodeType":"YulBlock","src":"308630:9:19","statements":[{"nativeSrc":"308632:5:19","nodeType":"YulBreak","src":"308632:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"308618:6:19","nodeType":"YulIdentifier","src":"308618:6:19"},{"name":"w","nativeSrc":"308626:1:19","nodeType":"YulIdentifier","src":"308626:1:19"}],"functionName":{"name":"byte","nativeSrc":"308613:4:19","nodeType":"YulIdentifier","src":"308613:4:19"},"nativeSrc":"308613:15:19","nodeType":"YulFunctionCall","src":"308613:15:19"}],"functionName":{"name":"iszero","nativeSrc":"308606:6:19","nodeType":"YulIdentifier","src":"308606:6:19"},"nativeSrc":"308606:23:19","nodeType":"YulFunctionCall","src":"308606:23:19"},"nativeSrc":"308603:36:19","nodeType":"YulIf","src":"308603:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"308558:6:19","nodeType":"YulIdentifier","src":"308558:6:19"},{"kind":"number","nativeSrc":"308566:4:19","nodeType":"YulLiteral","src":"308566:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"308555:2:19","nodeType":"YulIdentifier","src":"308555:2:19"},"nativeSrc":"308555:16:19","nodeType":"YulFunctionCall","src":"308555:16:19"},"nativeSrc":"308548:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"308572:28:19","nodeType":"YulBlock","src":"308572:28:19","statements":[{"nativeSrc":"308574:24:19","nodeType":"YulAssignment","src":"308574:24:19","value":{"arguments":[{"name":"length","nativeSrc":"308588:6:19","nodeType":"YulIdentifier","src":"308588:6:19"},{"kind":"number","nativeSrc":"308596:1:19","nodeType":"YulLiteral","src":"308596:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"308584:3:19","nodeType":"YulIdentifier","src":"308584:3:19"},"nativeSrc":"308584:14:19","nodeType":"YulFunctionCall","src":"308584:14:19"},"variableNames":[{"name":"length","nativeSrc":"308574:6:19","nodeType":"YulIdentifier","src":"308574:6:19"}]}]},"pre":{"nativeSrc":"308552:2:19","nodeType":"YulBlock","src":"308552:2:19","statements":[]},"src":"308548:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"308665:3:19","nodeType":"YulIdentifier","src":"308665:3:19"},{"name":"length","nativeSrc":"308670:6:19","nodeType":"YulIdentifier","src":"308670:6:19"}],"functionName":{"name":"mstore","nativeSrc":"308658:6:19","nodeType":"YulIdentifier","src":"308658:6:19"},"nativeSrc":"308658:19:19","nodeType":"YulFunctionCall","src":"308658:19:19"},"nativeSrc":"308658:19:19","nodeType":"YulExpressionStatement","src":"308658:19:19"},{"nativeSrc":"308694:37:19","nodeType":"YulVariableDeclaration","src":"308694:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"308711:3:19","nodeType":"YulLiteral","src":"308711:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"308720:1:19","nodeType":"YulLiteral","src":"308720:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"308723:6:19","nodeType":"YulIdentifier","src":"308723:6:19"}],"functionName":{"name":"shl","nativeSrc":"308716:3:19","nodeType":"YulIdentifier","src":"308716:3:19"},"nativeSrc":"308716:14:19","nodeType":"YulFunctionCall","src":"308716:14:19"}],"functionName":{"name":"sub","nativeSrc":"308707:3:19","nodeType":"YulIdentifier","src":"308707:3:19"},"nativeSrc":"308707:24:19","nodeType":"YulFunctionCall","src":"308707:24:19"},"variables":[{"name":"shift","nativeSrc":"308698:5:19","nodeType":"YulTypedName","src":"308698:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"308759:3:19","nodeType":"YulIdentifier","src":"308759:3:19"},{"kind":"number","nativeSrc":"308764:4:19","nodeType":"YulLiteral","src":"308764:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"308755:3:19","nodeType":"YulIdentifier","src":"308755:3:19"},"nativeSrc":"308755:14:19","nodeType":"YulFunctionCall","src":"308755:14:19"},{"arguments":[{"name":"shift","nativeSrc":"308775:5:19","nodeType":"YulIdentifier","src":"308775:5:19"},{"arguments":[{"name":"shift","nativeSrc":"308786:5:19","nodeType":"YulIdentifier","src":"308786:5:19"},{"name":"w","nativeSrc":"308793:1:19","nodeType":"YulIdentifier","src":"308793:1:19"}],"functionName":{"name":"shr","nativeSrc":"308782:3:19","nodeType":"YulIdentifier","src":"308782:3:19"},"nativeSrc":"308782:13:19","nodeType":"YulFunctionCall","src":"308782:13:19"}],"functionName":{"name":"shl","nativeSrc":"308771:3:19","nodeType":"YulIdentifier","src":"308771:3:19"},"nativeSrc":"308771:25:19","nodeType":"YulFunctionCall","src":"308771:25:19"}],"functionName":{"name":"mstore","nativeSrc":"308748:6:19","nodeType":"YulIdentifier","src":"308748:6:19"},"nativeSrc":"308748:49:19","nodeType":"YulFunctionCall","src":"308748:49:19"},"nativeSrc":"308748:49:19","nodeType":"YulExpressionStatement","src":"308748:49:19"}]},"name":"writeString","nativeSrc":"308469:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"308490:3:19","nodeType":"YulTypedName","src":"308490:3:19","type":""},{"name":"w","nativeSrc":"308495:1:19","nodeType":"YulTypedName","src":"308495:1:19","type":""}],"src":"308469:342:19"},{"nativeSrc":"308824:17:19","nodeType":"YulAssignment","src":"308824:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"308836:4:19","nodeType":"YulLiteral","src":"308836:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"308830:5:19","nodeType":"YulIdentifier","src":"308830:5:19"},"nativeSrc":"308830:11:19","nodeType":"YulFunctionCall","src":"308830:11:19"},"variableNames":[{"name":"m0","nativeSrc":"308824:2:19","nodeType":"YulIdentifier","src":"308824:2:19"}]},{"nativeSrc":"308854:17:19","nodeType":"YulAssignment","src":"308854:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"308866:4:19","nodeType":"YulLiteral","src":"308866:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"308860:5:19","nodeType":"YulIdentifier","src":"308860:5:19"},"nativeSrc":"308860:11:19","nodeType":"YulFunctionCall","src":"308860:11:19"},"variableNames":[{"name":"m1","nativeSrc":"308854:2:19","nodeType":"YulIdentifier","src":"308854:2:19"}]},{"nativeSrc":"308884:17:19","nodeType":"YulAssignment","src":"308884:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"308896:4:19","nodeType":"YulLiteral","src":"308896:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"308890:5:19","nodeType":"YulIdentifier","src":"308890:5:19"},"nativeSrc":"308890:11:19","nodeType":"YulFunctionCall","src":"308890:11:19"},"variableNames":[{"name":"m2","nativeSrc":"308884:2:19","nodeType":"YulIdentifier","src":"308884:2:19"}]},{"nativeSrc":"308914:17:19","nodeType":"YulAssignment","src":"308914:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"308926:4:19","nodeType":"YulLiteral","src":"308926:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"308920:5:19","nodeType":"YulIdentifier","src":"308920:5:19"},"nativeSrc":"308920:11:19","nodeType":"YulFunctionCall","src":"308920:11:19"},"variableNames":[{"name":"m3","nativeSrc":"308914:2:19","nodeType":"YulIdentifier","src":"308914:2:19"}]},{"nativeSrc":"308944:17:19","nodeType":"YulAssignment","src":"308944:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"308956:4:19","nodeType":"YulLiteral","src":"308956:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"308950:5:19","nodeType":"YulIdentifier","src":"308950:5:19"},"nativeSrc":"308950:11:19","nodeType":"YulFunctionCall","src":"308950:11:19"},"variableNames":[{"name":"m4","nativeSrc":"308944:2:19","nodeType":"YulIdentifier","src":"308944:2:19"}]},{"nativeSrc":"308974:17:19","nodeType":"YulAssignment","src":"308974:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"308986:4:19","nodeType":"YulLiteral","src":"308986:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"308980:5:19","nodeType":"YulIdentifier","src":"308980:5:19"},"nativeSrc":"308980:11:19","nodeType":"YulFunctionCall","src":"308980:11:19"},"variableNames":[{"name":"m5","nativeSrc":"308974:2:19","nodeType":"YulIdentifier","src":"308974:2:19"}]},{"nativeSrc":"309004:17:19","nodeType":"YulAssignment","src":"309004:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"309016:4:19","nodeType":"YulLiteral","src":"309016:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"309010:5:19","nodeType":"YulIdentifier","src":"309010:5:19"},"nativeSrc":"309010:11:19","nodeType":"YulFunctionCall","src":"309010:11:19"},"variableNames":[{"name":"m6","nativeSrc":"309004:2:19","nodeType":"YulIdentifier","src":"309004:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309104:4:19","nodeType":"YulLiteral","src":"309104:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"309110:10:19","nodeType":"YulLiteral","src":"309110:10:19","type":"","value":"0xae2ec581"}],"functionName":{"name":"mstore","nativeSrc":"309097:6:19","nodeType":"YulIdentifier","src":"309097:6:19"},"nativeSrc":"309097:24:19","nodeType":"YulFunctionCall","src":"309097:24:19"},"nativeSrc":"309097:24:19","nodeType":"YulExpressionStatement","src":"309097:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309141:4:19","nodeType":"YulLiteral","src":"309141:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"309147:2:19","nodeType":"YulIdentifier","src":"309147:2:19"}],"functionName":{"name":"mstore","nativeSrc":"309134:6:19","nodeType":"YulIdentifier","src":"309134:6:19"},"nativeSrc":"309134:16:19","nodeType":"YulFunctionCall","src":"309134:16:19"},"nativeSrc":"309134:16:19","nodeType":"YulExpressionStatement","src":"309134:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309170:4:19","nodeType":"YulLiteral","src":"309170:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"309176:4:19","nodeType":"YulLiteral","src":"309176:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"309163:6:19","nodeType":"YulIdentifier","src":"309163:6:19"},"nativeSrc":"309163:18:19","nodeType":"YulFunctionCall","src":"309163:18:19"},"nativeSrc":"309163:18:19","nodeType":"YulExpressionStatement","src":"309163:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309201:4:19","nodeType":"YulLiteral","src":"309201:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"309207:2:19","nodeType":"YulIdentifier","src":"309207:2:19"}],"functionName":{"name":"mstore","nativeSrc":"309194:6:19","nodeType":"YulIdentifier","src":"309194:6:19"},"nativeSrc":"309194:16:19","nodeType":"YulFunctionCall","src":"309194:16:19"},"nativeSrc":"309194:16:19","nodeType":"YulExpressionStatement","src":"309194:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309230:4:19","nodeType":"YulLiteral","src":"309230:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"309236:2:19","nodeType":"YulIdentifier","src":"309236:2:19"}],"functionName":{"name":"mstore","nativeSrc":"309223:6:19","nodeType":"YulIdentifier","src":"309223:6:19"},"nativeSrc":"309223:16:19","nodeType":"YulFunctionCall","src":"309223:16:19"},"nativeSrc":"309223:16:19","nodeType":"YulExpressionStatement","src":"309223:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309264:4:19","nodeType":"YulLiteral","src":"309264:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"309270:2:19","nodeType":"YulIdentifier","src":"309270:2:19"}],"functionName":{"name":"writeString","nativeSrc":"309252:11:19","nodeType":"YulIdentifier","src":"309252:11:19"},"nativeSrc":"309252:21:19","nodeType":"YulFunctionCall","src":"309252:21:19"},"nativeSrc":"309252:21:19","nodeType":"YulExpressionStatement","src":"309252:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36000,"isOffset":false,"isSlot":false,"src":"308824:2:19","valueSize":1},{"declaration":36003,"isOffset":false,"isSlot":false,"src":"308854:2:19","valueSize":1},{"declaration":36006,"isOffset":false,"isSlot":false,"src":"308884:2:19","valueSize":1},{"declaration":36009,"isOffset":false,"isSlot":false,"src":"308914:2:19","valueSize":1},{"declaration":36012,"isOffset":false,"isSlot":false,"src":"308944:2:19","valueSize":1},{"declaration":36015,"isOffset":false,"isSlot":false,"src":"308974:2:19","valueSize":1},{"declaration":36018,"isOffset":false,"isSlot":false,"src":"309004:2:19","valueSize":1},{"declaration":35990,"isOffset":false,"isSlot":false,"src":"309147:2:19","valueSize":1},{"declaration":35992,"isOffset":false,"isSlot":false,"src":"309270:2:19","valueSize":1},{"declaration":35994,"isOffset":false,"isSlot":false,"src":"309207:2:19","valueSize":1},{"declaration":35996,"isOffset":false,"isSlot":false,"src":"309236:2:19","valueSize":1}],"id":36020,"nodeType":"InlineAssembly","src":"308446:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":36022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"309308:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"309314:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36021,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"309292:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"309292:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36025,"nodeType":"ExpressionStatement","src":"309292:27:19"},{"AST":{"nativeSrc":"309381:214:19","nodeType":"YulBlock","src":"309381:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"309402:4:19","nodeType":"YulLiteral","src":"309402:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"309408:2:19","nodeType":"YulIdentifier","src":"309408:2:19"}],"functionName":{"name":"mstore","nativeSrc":"309395:6:19","nodeType":"YulIdentifier","src":"309395:6:19"},"nativeSrc":"309395:16:19","nodeType":"YulFunctionCall","src":"309395:16:19"},"nativeSrc":"309395:16:19","nodeType":"YulExpressionStatement","src":"309395:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309431:4:19","nodeType":"YulLiteral","src":"309431:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"309437:2:19","nodeType":"YulIdentifier","src":"309437:2:19"}],"functionName":{"name":"mstore","nativeSrc":"309424:6:19","nodeType":"YulIdentifier","src":"309424:6:19"},"nativeSrc":"309424:16:19","nodeType":"YulFunctionCall","src":"309424:16:19"},"nativeSrc":"309424:16:19","nodeType":"YulExpressionStatement","src":"309424:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309460:4:19","nodeType":"YulLiteral","src":"309460:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"309466:2:19","nodeType":"YulIdentifier","src":"309466:2:19"}],"functionName":{"name":"mstore","nativeSrc":"309453:6:19","nodeType":"YulIdentifier","src":"309453:6:19"},"nativeSrc":"309453:16:19","nodeType":"YulFunctionCall","src":"309453:16:19"},"nativeSrc":"309453:16:19","nodeType":"YulExpressionStatement","src":"309453:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309489:4:19","nodeType":"YulLiteral","src":"309489:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"309495:2:19","nodeType":"YulIdentifier","src":"309495:2:19"}],"functionName":{"name":"mstore","nativeSrc":"309482:6:19","nodeType":"YulIdentifier","src":"309482:6:19"},"nativeSrc":"309482:16:19","nodeType":"YulFunctionCall","src":"309482:16:19"},"nativeSrc":"309482:16:19","nodeType":"YulExpressionStatement","src":"309482:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309518:4:19","nodeType":"YulLiteral","src":"309518:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"309524:2:19","nodeType":"YulIdentifier","src":"309524:2:19"}],"functionName":{"name":"mstore","nativeSrc":"309511:6:19","nodeType":"YulIdentifier","src":"309511:6:19"},"nativeSrc":"309511:16:19","nodeType":"YulFunctionCall","src":"309511:16:19"},"nativeSrc":"309511:16:19","nodeType":"YulExpressionStatement","src":"309511:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309547:4:19","nodeType":"YulLiteral","src":"309547:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"309553:2:19","nodeType":"YulIdentifier","src":"309553:2:19"}],"functionName":{"name":"mstore","nativeSrc":"309540:6:19","nodeType":"YulIdentifier","src":"309540:6:19"},"nativeSrc":"309540:16:19","nodeType":"YulFunctionCall","src":"309540:16:19"},"nativeSrc":"309540:16:19","nodeType":"YulExpressionStatement","src":"309540:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"309576:4:19","nodeType":"YulLiteral","src":"309576:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"309582:2:19","nodeType":"YulIdentifier","src":"309582:2:19"}],"functionName":{"name":"mstore","nativeSrc":"309569:6:19","nodeType":"YulIdentifier","src":"309569:6:19"},"nativeSrc":"309569:16:19","nodeType":"YulFunctionCall","src":"309569:16:19"},"nativeSrc":"309569:16:19","nodeType":"YulExpressionStatement","src":"309569:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36000,"isOffset":false,"isSlot":false,"src":"309408:2:19","valueSize":1},{"declaration":36003,"isOffset":false,"isSlot":false,"src":"309437:2:19","valueSize":1},{"declaration":36006,"isOffset":false,"isSlot":false,"src":"309466:2:19","valueSize":1},{"declaration":36009,"isOffset":false,"isSlot":false,"src":"309495:2:19","valueSize":1},{"declaration":36012,"isOffset":false,"isSlot":false,"src":"309524:2:19","valueSize":1},{"declaration":36015,"isOffset":false,"isSlot":false,"src":"309553:2:19","valueSize":1},{"declaration":36018,"isOffset":false,"isSlot":false,"src":"309582:2:19","valueSize":1}],"id":36026,"nodeType":"InlineAssembly","src":"309372:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"308190:3:19","parameters":{"id":35997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35990,"mutability":"mutable","name":"p0","nameLocation":"308202:2:19","nodeType":"VariableDeclaration","scope":36028,"src":"308194:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":35989,"name":"uint256","nodeType":"ElementaryTypeName","src":"308194:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":35992,"mutability":"mutable","name":"p1","nameLocation":"308214:2:19","nodeType":"VariableDeclaration","scope":36028,"src":"308206:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":35991,"name":"bytes32","nodeType":"ElementaryTypeName","src":"308206:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":35994,"mutability":"mutable","name":"p2","nameLocation":"308223:2:19","nodeType":"VariableDeclaration","scope":36028,"src":"308218:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":35993,"name":"bool","nodeType":"ElementaryTypeName","src":"308218:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":35996,"mutability":"mutable","name":"p3","nameLocation":"308235:2:19","nodeType":"VariableDeclaration","scope":36028,"src":"308227:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35995,"name":"address","nodeType":"ElementaryTypeName","src":"308227:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"308193:45:19"},"returnParameters":{"id":35998,"nodeType":"ParameterList","parameters":[],"src":"308253:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36068,"nodeType":"FunctionDefinition","src":"309607:1414:19","nodes":[],"body":{"id":36067,"nodeType":"Block","src":"309676:1345:19","nodes":[],"statements":[{"assignments":[36040],"declarations":[{"constant":false,"id":36040,"mutability":"mutable","name":"m0","nameLocation":"309694:2:19","nodeType":"VariableDeclaration","scope":36067,"src":"309686:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36039,"name":"bytes32","nodeType":"ElementaryTypeName","src":"309686:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36041,"nodeType":"VariableDeclarationStatement","src":"309686:10:19"},{"assignments":[36043],"declarations":[{"constant":false,"id":36043,"mutability":"mutable","name":"m1","nameLocation":"309714:2:19","nodeType":"VariableDeclaration","scope":36067,"src":"309706:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36042,"name":"bytes32","nodeType":"ElementaryTypeName","src":"309706:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36044,"nodeType":"VariableDeclarationStatement","src":"309706:10:19"},{"assignments":[36046],"declarations":[{"constant":false,"id":36046,"mutability":"mutable","name":"m2","nameLocation":"309734:2:19","nodeType":"VariableDeclaration","scope":36067,"src":"309726:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36045,"name":"bytes32","nodeType":"ElementaryTypeName","src":"309726:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36047,"nodeType":"VariableDeclarationStatement","src":"309726:10:19"},{"assignments":[36049],"declarations":[{"constant":false,"id":36049,"mutability":"mutable","name":"m3","nameLocation":"309754:2:19","nodeType":"VariableDeclaration","scope":36067,"src":"309746:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36048,"name":"bytes32","nodeType":"ElementaryTypeName","src":"309746:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36050,"nodeType":"VariableDeclarationStatement","src":"309746:10:19"},{"assignments":[36052],"declarations":[{"constant":false,"id":36052,"mutability":"mutable","name":"m4","nameLocation":"309774:2:19","nodeType":"VariableDeclaration","scope":36067,"src":"309766:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36051,"name":"bytes32","nodeType":"ElementaryTypeName","src":"309766:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36053,"nodeType":"VariableDeclarationStatement","src":"309766:10:19"},{"assignments":[36055],"declarations":[{"constant":false,"id":36055,"mutability":"mutable","name":"m5","nameLocation":"309794:2:19","nodeType":"VariableDeclaration","scope":36067,"src":"309786:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36054,"name":"bytes32","nodeType":"ElementaryTypeName","src":"309786:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36056,"nodeType":"VariableDeclarationStatement","src":"309786:10:19"},{"assignments":[36058],"declarations":[{"constant":false,"id":36058,"mutability":"mutable","name":"m6","nameLocation":"309814:2:19","nodeType":"VariableDeclaration","scope":36067,"src":"309806:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36057,"name":"bytes32","nodeType":"ElementaryTypeName","src":"309806:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36059,"nodeType":"VariableDeclarationStatement","src":"309806:10:19"},{"AST":{"nativeSrc":"309878:825:19","nodeType":"YulBlock","src":"309878:825:19","statements":[{"body":{"nativeSrc":"309921:313:19","nodeType":"YulBlock","src":"309921:313:19","statements":[{"nativeSrc":"309939:15:19","nodeType":"YulVariableDeclaration","src":"309939:15:19","value":{"kind":"number","nativeSrc":"309953:1:19","nodeType":"YulLiteral","src":"309953:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"309943:6:19","nodeType":"YulTypedName","src":"309943:6:19","type":""}]},{"body":{"nativeSrc":"310024:40:19","nodeType":"YulBlock","src":"310024:40:19","statements":[{"body":{"nativeSrc":"310053:9:19","nodeType":"YulBlock","src":"310053:9:19","statements":[{"nativeSrc":"310055:5:19","nodeType":"YulBreak","src":"310055:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"310041:6:19","nodeType":"YulIdentifier","src":"310041:6:19"},{"name":"w","nativeSrc":"310049:1:19","nodeType":"YulIdentifier","src":"310049:1:19"}],"functionName":{"name":"byte","nativeSrc":"310036:4:19","nodeType":"YulIdentifier","src":"310036:4:19"},"nativeSrc":"310036:15:19","nodeType":"YulFunctionCall","src":"310036:15:19"}],"functionName":{"name":"iszero","nativeSrc":"310029:6:19","nodeType":"YulIdentifier","src":"310029:6:19"},"nativeSrc":"310029:23:19","nodeType":"YulFunctionCall","src":"310029:23:19"},"nativeSrc":"310026:36:19","nodeType":"YulIf","src":"310026:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"309981:6:19","nodeType":"YulIdentifier","src":"309981:6:19"},{"kind":"number","nativeSrc":"309989:4:19","nodeType":"YulLiteral","src":"309989:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"309978:2:19","nodeType":"YulIdentifier","src":"309978:2:19"},"nativeSrc":"309978:16:19","nodeType":"YulFunctionCall","src":"309978:16:19"},"nativeSrc":"309971:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"309995:28:19","nodeType":"YulBlock","src":"309995:28:19","statements":[{"nativeSrc":"309997:24:19","nodeType":"YulAssignment","src":"309997:24:19","value":{"arguments":[{"name":"length","nativeSrc":"310011:6:19","nodeType":"YulIdentifier","src":"310011:6:19"},{"kind":"number","nativeSrc":"310019:1:19","nodeType":"YulLiteral","src":"310019:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"310007:3:19","nodeType":"YulIdentifier","src":"310007:3:19"},"nativeSrc":"310007:14:19","nodeType":"YulFunctionCall","src":"310007:14:19"},"variableNames":[{"name":"length","nativeSrc":"309997:6:19","nodeType":"YulIdentifier","src":"309997:6:19"}]}]},"pre":{"nativeSrc":"309975:2:19","nodeType":"YulBlock","src":"309975:2:19","statements":[]},"src":"309971:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"310088:3:19","nodeType":"YulIdentifier","src":"310088:3:19"},{"name":"length","nativeSrc":"310093:6:19","nodeType":"YulIdentifier","src":"310093:6:19"}],"functionName":{"name":"mstore","nativeSrc":"310081:6:19","nodeType":"YulIdentifier","src":"310081:6:19"},"nativeSrc":"310081:19:19","nodeType":"YulFunctionCall","src":"310081:19:19"},"nativeSrc":"310081:19:19","nodeType":"YulExpressionStatement","src":"310081:19:19"},{"nativeSrc":"310117:37:19","nodeType":"YulVariableDeclaration","src":"310117:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"310134:3:19","nodeType":"YulLiteral","src":"310134:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"310143:1:19","nodeType":"YulLiteral","src":"310143:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"310146:6:19","nodeType":"YulIdentifier","src":"310146:6:19"}],"functionName":{"name":"shl","nativeSrc":"310139:3:19","nodeType":"YulIdentifier","src":"310139:3:19"},"nativeSrc":"310139:14:19","nodeType":"YulFunctionCall","src":"310139:14:19"}],"functionName":{"name":"sub","nativeSrc":"310130:3:19","nodeType":"YulIdentifier","src":"310130:3:19"},"nativeSrc":"310130:24:19","nodeType":"YulFunctionCall","src":"310130:24:19"},"variables":[{"name":"shift","nativeSrc":"310121:5:19","nodeType":"YulTypedName","src":"310121:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"310182:3:19","nodeType":"YulIdentifier","src":"310182:3:19"},{"kind":"number","nativeSrc":"310187:4:19","nodeType":"YulLiteral","src":"310187:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"310178:3:19","nodeType":"YulIdentifier","src":"310178:3:19"},"nativeSrc":"310178:14:19","nodeType":"YulFunctionCall","src":"310178:14:19"},{"arguments":[{"name":"shift","nativeSrc":"310198:5:19","nodeType":"YulIdentifier","src":"310198:5:19"},{"arguments":[{"name":"shift","nativeSrc":"310209:5:19","nodeType":"YulIdentifier","src":"310209:5:19"},{"name":"w","nativeSrc":"310216:1:19","nodeType":"YulIdentifier","src":"310216:1:19"}],"functionName":{"name":"shr","nativeSrc":"310205:3:19","nodeType":"YulIdentifier","src":"310205:3:19"},"nativeSrc":"310205:13:19","nodeType":"YulFunctionCall","src":"310205:13:19"}],"functionName":{"name":"shl","nativeSrc":"310194:3:19","nodeType":"YulIdentifier","src":"310194:3:19"},"nativeSrc":"310194:25:19","nodeType":"YulFunctionCall","src":"310194:25:19"}],"functionName":{"name":"mstore","nativeSrc":"310171:6:19","nodeType":"YulIdentifier","src":"310171:6:19"},"nativeSrc":"310171:49:19","nodeType":"YulFunctionCall","src":"310171:49:19"},"nativeSrc":"310171:49:19","nodeType":"YulExpressionStatement","src":"310171:49:19"}]},"name":"writeString","nativeSrc":"309892:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"309913:3:19","nodeType":"YulTypedName","src":"309913:3:19","type":""},{"name":"w","nativeSrc":"309918:1:19","nodeType":"YulTypedName","src":"309918:1:19","type":""}],"src":"309892:342:19"},{"nativeSrc":"310247:17:19","nodeType":"YulAssignment","src":"310247:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"310259:4:19","nodeType":"YulLiteral","src":"310259:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"310253:5:19","nodeType":"YulIdentifier","src":"310253:5:19"},"nativeSrc":"310253:11:19","nodeType":"YulFunctionCall","src":"310253:11:19"},"variableNames":[{"name":"m0","nativeSrc":"310247:2:19","nodeType":"YulIdentifier","src":"310247:2:19"}]},{"nativeSrc":"310277:17:19","nodeType":"YulAssignment","src":"310277:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"310289:4:19","nodeType":"YulLiteral","src":"310289:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"310283:5:19","nodeType":"YulIdentifier","src":"310283:5:19"},"nativeSrc":"310283:11:19","nodeType":"YulFunctionCall","src":"310283:11:19"},"variableNames":[{"name":"m1","nativeSrc":"310277:2:19","nodeType":"YulIdentifier","src":"310277:2:19"}]},{"nativeSrc":"310307:17:19","nodeType":"YulAssignment","src":"310307:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"310319:4:19","nodeType":"YulLiteral","src":"310319:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"310313:5:19","nodeType":"YulIdentifier","src":"310313:5:19"},"nativeSrc":"310313:11:19","nodeType":"YulFunctionCall","src":"310313:11:19"},"variableNames":[{"name":"m2","nativeSrc":"310307:2:19","nodeType":"YulIdentifier","src":"310307:2:19"}]},{"nativeSrc":"310337:17:19","nodeType":"YulAssignment","src":"310337:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"310349:4:19","nodeType":"YulLiteral","src":"310349:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"310343:5:19","nodeType":"YulIdentifier","src":"310343:5:19"},"nativeSrc":"310343:11:19","nodeType":"YulFunctionCall","src":"310343:11:19"},"variableNames":[{"name":"m3","nativeSrc":"310337:2:19","nodeType":"YulIdentifier","src":"310337:2:19"}]},{"nativeSrc":"310367:17:19","nodeType":"YulAssignment","src":"310367:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"310379:4:19","nodeType":"YulLiteral","src":"310379:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"310373:5:19","nodeType":"YulIdentifier","src":"310373:5:19"},"nativeSrc":"310373:11:19","nodeType":"YulFunctionCall","src":"310373:11:19"},"variableNames":[{"name":"m4","nativeSrc":"310367:2:19","nodeType":"YulIdentifier","src":"310367:2:19"}]},{"nativeSrc":"310397:17:19","nodeType":"YulAssignment","src":"310397:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"310409:4:19","nodeType":"YulLiteral","src":"310409:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"310403:5:19","nodeType":"YulIdentifier","src":"310403:5:19"},"nativeSrc":"310403:11:19","nodeType":"YulFunctionCall","src":"310403:11:19"},"variableNames":[{"name":"m5","nativeSrc":"310397:2:19","nodeType":"YulIdentifier","src":"310397:2:19"}]},{"nativeSrc":"310427:17:19","nodeType":"YulAssignment","src":"310427:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"310439:4:19","nodeType":"YulLiteral","src":"310439:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"310433:5:19","nodeType":"YulIdentifier","src":"310433:5:19"},"nativeSrc":"310433:11:19","nodeType":"YulFunctionCall","src":"310433:11:19"},"variableNames":[{"name":"m6","nativeSrc":"310427:2:19","nodeType":"YulIdentifier","src":"310427:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310524:4:19","nodeType":"YulLiteral","src":"310524:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"310530:10:19","nodeType":"YulLiteral","src":"310530:10:19","type":"","value":"0xba535d9c"}],"functionName":{"name":"mstore","nativeSrc":"310517:6:19","nodeType":"YulIdentifier","src":"310517:6:19"},"nativeSrc":"310517:24:19","nodeType":"YulFunctionCall","src":"310517:24:19"},"nativeSrc":"310517:24:19","nodeType":"YulExpressionStatement","src":"310517:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310561:4:19","nodeType":"YulLiteral","src":"310561:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"310567:2:19","nodeType":"YulIdentifier","src":"310567:2:19"}],"functionName":{"name":"mstore","nativeSrc":"310554:6:19","nodeType":"YulIdentifier","src":"310554:6:19"},"nativeSrc":"310554:16:19","nodeType":"YulFunctionCall","src":"310554:16:19"},"nativeSrc":"310554:16:19","nodeType":"YulExpressionStatement","src":"310554:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310590:4:19","nodeType":"YulLiteral","src":"310590:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"310596:4:19","nodeType":"YulLiteral","src":"310596:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"310583:6:19","nodeType":"YulIdentifier","src":"310583:6:19"},"nativeSrc":"310583:18:19","nodeType":"YulFunctionCall","src":"310583:18:19"},"nativeSrc":"310583:18:19","nodeType":"YulExpressionStatement","src":"310583:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310621:4:19","nodeType":"YulLiteral","src":"310621:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"310627:2:19","nodeType":"YulIdentifier","src":"310627:2:19"}],"functionName":{"name":"mstore","nativeSrc":"310614:6:19","nodeType":"YulIdentifier","src":"310614:6:19"},"nativeSrc":"310614:16:19","nodeType":"YulFunctionCall","src":"310614:16:19"},"nativeSrc":"310614:16:19","nodeType":"YulExpressionStatement","src":"310614:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310650:4:19","nodeType":"YulLiteral","src":"310650:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"310656:2:19","nodeType":"YulIdentifier","src":"310656:2:19"}],"functionName":{"name":"mstore","nativeSrc":"310643:6:19","nodeType":"YulIdentifier","src":"310643:6:19"},"nativeSrc":"310643:16:19","nodeType":"YulFunctionCall","src":"310643:16:19"},"nativeSrc":"310643:16:19","nodeType":"YulExpressionStatement","src":"310643:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310684:4:19","nodeType":"YulLiteral","src":"310684:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"310690:2:19","nodeType":"YulIdentifier","src":"310690:2:19"}],"functionName":{"name":"writeString","nativeSrc":"310672:11:19","nodeType":"YulIdentifier","src":"310672:11:19"},"nativeSrc":"310672:21:19","nodeType":"YulFunctionCall","src":"310672:21:19"},"nativeSrc":"310672:21:19","nodeType":"YulExpressionStatement","src":"310672:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36040,"isOffset":false,"isSlot":false,"src":"310247:2:19","valueSize":1},{"declaration":36043,"isOffset":false,"isSlot":false,"src":"310277:2:19","valueSize":1},{"declaration":36046,"isOffset":false,"isSlot":false,"src":"310307:2:19","valueSize":1},{"declaration":36049,"isOffset":false,"isSlot":false,"src":"310337:2:19","valueSize":1},{"declaration":36052,"isOffset":false,"isSlot":false,"src":"310367:2:19","valueSize":1},{"declaration":36055,"isOffset":false,"isSlot":false,"src":"310397:2:19","valueSize":1},{"declaration":36058,"isOffset":false,"isSlot":false,"src":"310427:2:19","valueSize":1},{"declaration":36030,"isOffset":false,"isSlot":false,"src":"310567:2:19","valueSize":1},{"declaration":36032,"isOffset":false,"isSlot":false,"src":"310690:2:19","valueSize":1},{"declaration":36034,"isOffset":false,"isSlot":false,"src":"310627:2:19","valueSize":1},{"declaration":36036,"isOffset":false,"isSlot":false,"src":"310656:2:19","valueSize":1}],"id":36060,"nodeType":"InlineAssembly","src":"309869:834:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":36062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"310728:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"310734:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36061,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"310712:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"310712:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36065,"nodeType":"ExpressionStatement","src":"310712:27:19"},{"AST":{"nativeSrc":"310801:214:19","nodeType":"YulBlock","src":"310801:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"310822:4:19","nodeType":"YulLiteral","src":"310822:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"310828:2:19","nodeType":"YulIdentifier","src":"310828:2:19"}],"functionName":{"name":"mstore","nativeSrc":"310815:6:19","nodeType":"YulIdentifier","src":"310815:6:19"},"nativeSrc":"310815:16:19","nodeType":"YulFunctionCall","src":"310815:16:19"},"nativeSrc":"310815:16:19","nodeType":"YulExpressionStatement","src":"310815:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310851:4:19","nodeType":"YulLiteral","src":"310851:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"310857:2:19","nodeType":"YulIdentifier","src":"310857:2:19"}],"functionName":{"name":"mstore","nativeSrc":"310844:6:19","nodeType":"YulIdentifier","src":"310844:6:19"},"nativeSrc":"310844:16:19","nodeType":"YulFunctionCall","src":"310844:16:19"},"nativeSrc":"310844:16:19","nodeType":"YulExpressionStatement","src":"310844:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310880:4:19","nodeType":"YulLiteral","src":"310880:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"310886:2:19","nodeType":"YulIdentifier","src":"310886:2:19"}],"functionName":{"name":"mstore","nativeSrc":"310873:6:19","nodeType":"YulIdentifier","src":"310873:6:19"},"nativeSrc":"310873:16:19","nodeType":"YulFunctionCall","src":"310873:16:19"},"nativeSrc":"310873:16:19","nodeType":"YulExpressionStatement","src":"310873:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310909:4:19","nodeType":"YulLiteral","src":"310909:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"310915:2:19","nodeType":"YulIdentifier","src":"310915:2:19"}],"functionName":{"name":"mstore","nativeSrc":"310902:6:19","nodeType":"YulIdentifier","src":"310902:6:19"},"nativeSrc":"310902:16:19","nodeType":"YulFunctionCall","src":"310902:16:19"},"nativeSrc":"310902:16:19","nodeType":"YulExpressionStatement","src":"310902:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310938:4:19","nodeType":"YulLiteral","src":"310938:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"310944:2:19","nodeType":"YulIdentifier","src":"310944:2:19"}],"functionName":{"name":"mstore","nativeSrc":"310931:6:19","nodeType":"YulIdentifier","src":"310931:6:19"},"nativeSrc":"310931:16:19","nodeType":"YulFunctionCall","src":"310931:16:19"},"nativeSrc":"310931:16:19","nodeType":"YulExpressionStatement","src":"310931:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310967:4:19","nodeType":"YulLiteral","src":"310967:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"310973:2:19","nodeType":"YulIdentifier","src":"310973:2:19"}],"functionName":{"name":"mstore","nativeSrc":"310960:6:19","nodeType":"YulIdentifier","src":"310960:6:19"},"nativeSrc":"310960:16:19","nodeType":"YulFunctionCall","src":"310960:16:19"},"nativeSrc":"310960:16:19","nodeType":"YulExpressionStatement","src":"310960:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"310996:4:19","nodeType":"YulLiteral","src":"310996:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"311002:2:19","nodeType":"YulIdentifier","src":"311002:2:19"}],"functionName":{"name":"mstore","nativeSrc":"310989:6:19","nodeType":"YulIdentifier","src":"310989:6:19"},"nativeSrc":"310989:16:19","nodeType":"YulFunctionCall","src":"310989:16:19"},"nativeSrc":"310989:16:19","nodeType":"YulExpressionStatement","src":"310989:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36040,"isOffset":false,"isSlot":false,"src":"310828:2:19","valueSize":1},{"declaration":36043,"isOffset":false,"isSlot":false,"src":"310857:2:19","valueSize":1},{"declaration":36046,"isOffset":false,"isSlot":false,"src":"310886:2:19","valueSize":1},{"declaration":36049,"isOffset":false,"isSlot":false,"src":"310915:2:19","valueSize":1},{"declaration":36052,"isOffset":false,"isSlot":false,"src":"310944:2:19","valueSize":1},{"declaration":36055,"isOffset":false,"isSlot":false,"src":"310973:2:19","valueSize":1},{"declaration":36058,"isOffset":false,"isSlot":false,"src":"311002:2:19","valueSize":1}],"id":36066,"nodeType":"InlineAssembly","src":"310792:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"309616:3:19","parameters":{"id":36037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36030,"mutability":"mutable","name":"p0","nameLocation":"309628:2:19","nodeType":"VariableDeclaration","scope":36068,"src":"309620:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36029,"name":"uint256","nodeType":"ElementaryTypeName","src":"309620:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36032,"mutability":"mutable","name":"p1","nameLocation":"309640:2:19","nodeType":"VariableDeclaration","scope":36068,"src":"309632:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36031,"name":"bytes32","nodeType":"ElementaryTypeName","src":"309632:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36034,"mutability":"mutable","name":"p2","nameLocation":"309649:2:19","nodeType":"VariableDeclaration","scope":36068,"src":"309644:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36033,"name":"bool","nodeType":"ElementaryTypeName","src":"309644:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36036,"mutability":"mutable","name":"p3","nameLocation":"309658:2:19","nodeType":"VariableDeclaration","scope":36068,"src":"309653:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36035,"name":"bool","nodeType":"ElementaryTypeName","src":"309653:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"309619:42:19"},"returnParameters":{"id":36038,"nodeType":"ParameterList","parameters":[],"src":"309676:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36108,"nodeType":"FunctionDefinition","src":"311027:1420:19","nodes":[],"body":{"id":36107,"nodeType":"Block","src":"311099:1348:19","nodes":[],"statements":[{"assignments":[36080],"declarations":[{"constant":false,"id":36080,"mutability":"mutable","name":"m0","nameLocation":"311117:2:19","nodeType":"VariableDeclaration","scope":36107,"src":"311109:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36079,"name":"bytes32","nodeType":"ElementaryTypeName","src":"311109:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36081,"nodeType":"VariableDeclarationStatement","src":"311109:10:19"},{"assignments":[36083],"declarations":[{"constant":false,"id":36083,"mutability":"mutable","name":"m1","nameLocation":"311137:2:19","nodeType":"VariableDeclaration","scope":36107,"src":"311129:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36082,"name":"bytes32","nodeType":"ElementaryTypeName","src":"311129:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36084,"nodeType":"VariableDeclarationStatement","src":"311129:10:19"},{"assignments":[36086],"declarations":[{"constant":false,"id":36086,"mutability":"mutable","name":"m2","nameLocation":"311157:2:19","nodeType":"VariableDeclaration","scope":36107,"src":"311149:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36085,"name":"bytes32","nodeType":"ElementaryTypeName","src":"311149:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36087,"nodeType":"VariableDeclarationStatement","src":"311149:10:19"},{"assignments":[36089],"declarations":[{"constant":false,"id":36089,"mutability":"mutable","name":"m3","nameLocation":"311177:2:19","nodeType":"VariableDeclaration","scope":36107,"src":"311169:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36088,"name":"bytes32","nodeType":"ElementaryTypeName","src":"311169:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36090,"nodeType":"VariableDeclarationStatement","src":"311169:10:19"},{"assignments":[36092],"declarations":[{"constant":false,"id":36092,"mutability":"mutable","name":"m4","nameLocation":"311197:2:19","nodeType":"VariableDeclaration","scope":36107,"src":"311189:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36091,"name":"bytes32","nodeType":"ElementaryTypeName","src":"311189:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36093,"nodeType":"VariableDeclarationStatement","src":"311189:10:19"},{"assignments":[36095],"declarations":[{"constant":false,"id":36095,"mutability":"mutable","name":"m5","nameLocation":"311217:2:19","nodeType":"VariableDeclaration","scope":36107,"src":"311209:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36094,"name":"bytes32","nodeType":"ElementaryTypeName","src":"311209:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36096,"nodeType":"VariableDeclarationStatement","src":"311209:10:19"},{"assignments":[36098],"declarations":[{"constant":false,"id":36098,"mutability":"mutable","name":"m6","nameLocation":"311237:2:19","nodeType":"VariableDeclaration","scope":36107,"src":"311229:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36097,"name":"bytes32","nodeType":"ElementaryTypeName","src":"311229:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36099,"nodeType":"VariableDeclarationStatement","src":"311229:10:19"},{"AST":{"nativeSrc":"311301:828:19","nodeType":"YulBlock","src":"311301:828:19","statements":[{"body":{"nativeSrc":"311344:313:19","nodeType":"YulBlock","src":"311344:313:19","statements":[{"nativeSrc":"311362:15:19","nodeType":"YulVariableDeclaration","src":"311362:15:19","value":{"kind":"number","nativeSrc":"311376:1:19","nodeType":"YulLiteral","src":"311376:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"311366:6:19","nodeType":"YulTypedName","src":"311366:6:19","type":""}]},{"body":{"nativeSrc":"311447:40:19","nodeType":"YulBlock","src":"311447:40:19","statements":[{"body":{"nativeSrc":"311476:9:19","nodeType":"YulBlock","src":"311476:9:19","statements":[{"nativeSrc":"311478:5:19","nodeType":"YulBreak","src":"311478:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"311464:6:19","nodeType":"YulIdentifier","src":"311464:6:19"},{"name":"w","nativeSrc":"311472:1:19","nodeType":"YulIdentifier","src":"311472:1:19"}],"functionName":{"name":"byte","nativeSrc":"311459:4:19","nodeType":"YulIdentifier","src":"311459:4:19"},"nativeSrc":"311459:15:19","nodeType":"YulFunctionCall","src":"311459:15:19"}],"functionName":{"name":"iszero","nativeSrc":"311452:6:19","nodeType":"YulIdentifier","src":"311452:6:19"},"nativeSrc":"311452:23:19","nodeType":"YulFunctionCall","src":"311452:23:19"},"nativeSrc":"311449:36:19","nodeType":"YulIf","src":"311449:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"311404:6:19","nodeType":"YulIdentifier","src":"311404:6:19"},{"kind":"number","nativeSrc":"311412:4:19","nodeType":"YulLiteral","src":"311412:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"311401:2:19","nodeType":"YulIdentifier","src":"311401:2:19"},"nativeSrc":"311401:16:19","nodeType":"YulFunctionCall","src":"311401:16:19"},"nativeSrc":"311394:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"311418:28:19","nodeType":"YulBlock","src":"311418:28:19","statements":[{"nativeSrc":"311420:24:19","nodeType":"YulAssignment","src":"311420:24:19","value":{"arguments":[{"name":"length","nativeSrc":"311434:6:19","nodeType":"YulIdentifier","src":"311434:6:19"},{"kind":"number","nativeSrc":"311442:1:19","nodeType":"YulLiteral","src":"311442:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"311430:3:19","nodeType":"YulIdentifier","src":"311430:3:19"},"nativeSrc":"311430:14:19","nodeType":"YulFunctionCall","src":"311430:14:19"},"variableNames":[{"name":"length","nativeSrc":"311420:6:19","nodeType":"YulIdentifier","src":"311420:6:19"}]}]},"pre":{"nativeSrc":"311398:2:19","nodeType":"YulBlock","src":"311398:2:19","statements":[]},"src":"311394:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"311511:3:19","nodeType":"YulIdentifier","src":"311511:3:19"},{"name":"length","nativeSrc":"311516:6:19","nodeType":"YulIdentifier","src":"311516:6:19"}],"functionName":{"name":"mstore","nativeSrc":"311504:6:19","nodeType":"YulIdentifier","src":"311504:6:19"},"nativeSrc":"311504:19:19","nodeType":"YulFunctionCall","src":"311504:19:19"},"nativeSrc":"311504:19:19","nodeType":"YulExpressionStatement","src":"311504:19:19"},{"nativeSrc":"311540:37:19","nodeType":"YulVariableDeclaration","src":"311540:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"311557:3:19","nodeType":"YulLiteral","src":"311557:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"311566:1:19","nodeType":"YulLiteral","src":"311566:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"311569:6:19","nodeType":"YulIdentifier","src":"311569:6:19"}],"functionName":{"name":"shl","nativeSrc":"311562:3:19","nodeType":"YulIdentifier","src":"311562:3:19"},"nativeSrc":"311562:14:19","nodeType":"YulFunctionCall","src":"311562:14:19"}],"functionName":{"name":"sub","nativeSrc":"311553:3:19","nodeType":"YulIdentifier","src":"311553:3:19"},"nativeSrc":"311553:24:19","nodeType":"YulFunctionCall","src":"311553:24:19"},"variables":[{"name":"shift","nativeSrc":"311544:5:19","nodeType":"YulTypedName","src":"311544:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"311605:3:19","nodeType":"YulIdentifier","src":"311605:3:19"},{"kind":"number","nativeSrc":"311610:4:19","nodeType":"YulLiteral","src":"311610:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"311601:3:19","nodeType":"YulIdentifier","src":"311601:3:19"},"nativeSrc":"311601:14:19","nodeType":"YulFunctionCall","src":"311601:14:19"},{"arguments":[{"name":"shift","nativeSrc":"311621:5:19","nodeType":"YulIdentifier","src":"311621:5:19"},{"arguments":[{"name":"shift","nativeSrc":"311632:5:19","nodeType":"YulIdentifier","src":"311632:5:19"},{"name":"w","nativeSrc":"311639:1:19","nodeType":"YulIdentifier","src":"311639:1:19"}],"functionName":{"name":"shr","nativeSrc":"311628:3:19","nodeType":"YulIdentifier","src":"311628:3:19"},"nativeSrc":"311628:13:19","nodeType":"YulFunctionCall","src":"311628:13:19"}],"functionName":{"name":"shl","nativeSrc":"311617:3:19","nodeType":"YulIdentifier","src":"311617:3:19"},"nativeSrc":"311617:25:19","nodeType":"YulFunctionCall","src":"311617:25:19"}],"functionName":{"name":"mstore","nativeSrc":"311594:6:19","nodeType":"YulIdentifier","src":"311594:6:19"},"nativeSrc":"311594:49:19","nodeType":"YulFunctionCall","src":"311594:49:19"},"nativeSrc":"311594:49:19","nodeType":"YulExpressionStatement","src":"311594:49:19"}]},"name":"writeString","nativeSrc":"311315:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"311336:3:19","nodeType":"YulTypedName","src":"311336:3:19","type":""},{"name":"w","nativeSrc":"311341:1:19","nodeType":"YulTypedName","src":"311341:1:19","type":""}],"src":"311315:342:19"},{"nativeSrc":"311670:17:19","nodeType":"YulAssignment","src":"311670:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"311682:4:19","nodeType":"YulLiteral","src":"311682:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"311676:5:19","nodeType":"YulIdentifier","src":"311676:5:19"},"nativeSrc":"311676:11:19","nodeType":"YulFunctionCall","src":"311676:11:19"},"variableNames":[{"name":"m0","nativeSrc":"311670:2:19","nodeType":"YulIdentifier","src":"311670:2:19"}]},{"nativeSrc":"311700:17:19","nodeType":"YulAssignment","src":"311700:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"311712:4:19","nodeType":"YulLiteral","src":"311712:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"311706:5:19","nodeType":"YulIdentifier","src":"311706:5:19"},"nativeSrc":"311706:11:19","nodeType":"YulFunctionCall","src":"311706:11:19"},"variableNames":[{"name":"m1","nativeSrc":"311700:2:19","nodeType":"YulIdentifier","src":"311700:2:19"}]},{"nativeSrc":"311730:17:19","nodeType":"YulAssignment","src":"311730:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"311742:4:19","nodeType":"YulLiteral","src":"311742:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"311736:5:19","nodeType":"YulIdentifier","src":"311736:5:19"},"nativeSrc":"311736:11:19","nodeType":"YulFunctionCall","src":"311736:11:19"},"variableNames":[{"name":"m2","nativeSrc":"311730:2:19","nodeType":"YulIdentifier","src":"311730:2:19"}]},{"nativeSrc":"311760:17:19","nodeType":"YulAssignment","src":"311760:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"311772:4:19","nodeType":"YulLiteral","src":"311772:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"311766:5:19","nodeType":"YulIdentifier","src":"311766:5:19"},"nativeSrc":"311766:11:19","nodeType":"YulFunctionCall","src":"311766:11:19"},"variableNames":[{"name":"m3","nativeSrc":"311760:2:19","nodeType":"YulIdentifier","src":"311760:2:19"}]},{"nativeSrc":"311790:17:19","nodeType":"YulAssignment","src":"311790:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"311802:4:19","nodeType":"YulLiteral","src":"311802:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"311796:5:19","nodeType":"YulIdentifier","src":"311796:5:19"},"nativeSrc":"311796:11:19","nodeType":"YulFunctionCall","src":"311796:11:19"},"variableNames":[{"name":"m4","nativeSrc":"311790:2:19","nodeType":"YulIdentifier","src":"311790:2:19"}]},{"nativeSrc":"311820:17:19","nodeType":"YulAssignment","src":"311820:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"311832:4:19","nodeType":"YulLiteral","src":"311832:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"311826:5:19","nodeType":"YulIdentifier","src":"311826:5:19"},"nativeSrc":"311826:11:19","nodeType":"YulFunctionCall","src":"311826:11:19"},"variableNames":[{"name":"m5","nativeSrc":"311820:2:19","nodeType":"YulIdentifier","src":"311820:2:19"}]},{"nativeSrc":"311850:17:19","nodeType":"YulAssignment","src":"311850:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"311862:4:19","nodeType":"YulLiteral","src":"311862:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"311856:5:19","nodeType":"YulIdentifier","src":"311856:5:19"},"nativeSrc":"311856:11:19","nodeType":"YulFunctionCall","src":"311856:11:19"},"variableNames":[{"name":"m6","nativeSrc":"311850:2:19","nodeType":"YulIdentifier","src":"311850:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"311950:4:19","nodeType":"YulLiteral","src":"311950:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"311956:10:19","nodeType":"YulLiteral","src":"311956:10:19","type":"","value":"0xcf009880"}],"functionName":{"name":"mstore","nativeSrc":"311943:6:19","nodeType":"YulIdentifier","src":"311943:6:19"},"nativeSrc":"311943:24:19","nodeType":"YulFunctionCall","src":"311943:24:19"},"nativeSrc":"311943:24:19","nodeType":"YulExpressionStatement","src":"311943:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"311987:4:19","nodeType":"YulLiteral","src":"311987:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"311993:2:19","nodeType":"YulIdentifier","src":"311993:2:19"}],"functionName":{"name":"mstore","nativeSrc":"311980:6:19","nodeType":"YulIdentifier","src":"311980:6:19"},"nativeSrc":"311980:16:19","nodeType":"YulFunctionCall","src":"311980:16:19"},"nativeSrc":"311980:16:19","nodeType":"YulExpressionStatement","src":"311980:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312016:4:19","nodeType":"YulLiteral","src":"312016:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"312022:4:19","nodeType":"YulLiteral","src":"312022:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"312009:6:19","nodeType":"YulIdentifier","src":"312009:6:19"},"nativeSrc":"312009:18:19","nodeType":"YulFunctionCall","src":"312009:18:19"},"nativeSrc":"312009:18:19","nodeType":"YulExpressionStatement","src":"312009:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312047:4:19","nodeType":"YulLiteral","src":"312047:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"312053:2:19","nodeType":"YulIdentifier","src":"312053:2:19"}],"functionName":{"name":"mstore","nativeSrc":"312040:6:19","nodeType":"YulIdentifier","src":"312040:6:19"},"nativeSrc":"312040:16:19","nodeType":"YulFunctionCall","src":"312040:16:19"},"nativeSrc":"312040:16:19","nodeType":"YulExpressionStatement","src":"312040:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312076:4:19","nodeType":"YulLiteral","src":"312076:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"312082:2:19","nodeType":"YulIdentifier","src":"312082:2:19"}],"functionName":{"name":"mstore","nativeSrc":"312069:6:19","nodeType":"YulIdentifier","src":"312069:6:19"},"nativeSrc":"312069:16:19","nodeType":"YulFunctionCall","src":"312069:16:19"},"nativeSrc":"312069:16:19","nodeType":"YulExpressionStatement","src":"312069:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312110:4:19","nodeType":"YulLiteral","src":"312110:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"312116:2:19","nodeType":"YulIdentifier","src":"312116:2:19"}],"functionName":{"name":"writeString","nativeSrc":"312098:11:19","nodeType":"YulIdentifier","src":"312098:11:19"},"nativeSrc":"312098:21:19","nodeType":"YulFunctionCall","src":"312098:21:19"},"nativeSrc":"312098:21:19","nodeType":"YulExpressionStatement","src":"312098:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36080,"isOffset":false,"isSlot":false,"src":"311670:2:19","valueSize":1},{"declaration":36083,"isOffset":false,"isSlot":false,"src":"311700:2:19","valueSize":1},{"declaration":36086,"isOffset":false,"isSlot":false,"src":"311730:2:19","valueSize":1},{"declaration":36089,"isOffset":false,"isSlot":false,"src":"311760:2:19","valueSize":1},{"declaration":36092,"isOffset":false,"isSlot":false,"src":"311790:2:19","valueSize":1},{"declaration":36095,"isOffset":false,"isSlot":false,"src":"311820:2:19","valueSize":1},{"declaration":36098,"isOffset":false,"isSlot":false,"src":"311850:2:19","valueSize":1},{"declaration":36070,"isOffset":false,"isSlot":false,"src":"311993:2:19","valueSize":1},{"declaration":36072,"isOffset":false,"isSlot":false,"src":"312116:2:19","valueSize":1},{"declaration":36074,"isOffset":false,"isSlot":false,"src":"312053:2:19","valueSize":1},{"declaration":36076,"isOffset":false,"isSlot":false,"src":"312082:2:19","valueSize":1}],"id":36100,"nodeType":"InlineAssembly","src":"311292:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":36102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"312154:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"312160:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36101,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"312138:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"312138:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36105,"nodeType":"ExpressionStatement","src":"312138:27:19"},{"AST":{"nativeSrc":"312227:214:19","nodeType":"YulBlock","src":"312227:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"312248:4:19","nodeType":"YulLiteral","src":"312248:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"312254:2:19","nodeType":"YulIdentifier","src":"312254:2:19"}],"functionName":{"name":"mstore","nativeSrc":"312241:6:19","nodeType":"YulIdentifier","src":"312241:6:19"},"nativeSrc":"312241:16:19","nodeType":"YulFunctionCall","src":"312241:16:19"},"nativeSrc":"312241:16:19","nodeType":"YulExpressionStatement","src":"312241:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312277:4:19","nodeType":"YulLiteral","src":"312277:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"312283:2:19","nodeType":"YulIdentifier","src":"312283:2:19"}],"functionName":{"name":"mstore","nativeSrc":"312270:6:19","nodeType":"YulIdentifier","src":"312270:6:19"},"nativeSrc":"312270:16:19","nodeType":"YulFunctionCall","src":"312270:16:19"},"nativeSrc":"312270:16:19","nodeType":"YulExpressionStatement","src":"312270:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312306:4:19","nodeType":"YulLiteral","src":"312306:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"312312:2:19","nodeType":"YulIdentifier","src":"312312:2:19"}],"functionName":{"name":"mstore","nativeSrc":"312299:6:19","nodeType":"YulIdentifier","src":"312299:6:19"},"nativeSrc":"312299:16:19","nodeType":"YulFunctionCall","src":"312299:16:19"},"nativeSrc":"312299:16:19","nodeType":"YulExpressionStatement","src":"312299:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312335:4:19","nodeType":"YulLiteral","src":"312335:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"312341:2:19","nodeType":"YulIdentifier","src":"312341:2:19"}],"functionName":{"name":"mstore","nativeSrc":"312328:6:19","nodeType":"YulIdentifier","src":"312328:6:19"},"nativeSrc":"312328:16:19","nodeType":"YulFunctionCall","src":"312328:16:19"},"nativeSrc":"312328:16:19","nodeType":"YulExpressionStatement","src":"312328:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312364:4:19","nodeType":"YulLiteral","src":"312364:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"312370:2:19","nodeType":"YulIdentifier","src":"312370:2:19"}],"functionName":{"name":"mstore","nativeSrc":"312357:6:19","nodeType":"YulIdentifier","src":"312357:6:19"},"nativeSrc":"312357:16:19","nodeType":"YulFunctionCall","src":"312357:16:19"},"nativeSrc":"312357:16:19","nodeType":"YulExpressionStatement","src":"312357:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312393:4:19","nodeType":"YulLiteral","src":"312393:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"312399:2:19","nodeType":"YulIdentifier","src":"312399:2:19"}],"functionName":{"name":"mstore","nativeSrc":"312386:6:19","nodeType":"YulIdentifier","src":"312386:6:19"},"nativeSrc":"312386:16:19","nodeType":"YulFunctionCall","src":"312386:16:19"},"nativeSrc":"312386:16:19","nodeType":"YulExpressionStatement","src":"312386:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"312422:4:19","nodeType":"YulLiteral","src":"312422:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"312428:2:19","nodeType":"YulIdentifier","src":"312428:2:19"}],"functionName":{"name":"mstore","nativeSrc":"312415:6:19","nodeType":"YulIdentifier","src":"312415:6:19"},"nativeSrc":"312415:16:19","nodeType":"YulFunctionCall","src":"312415:16:19"},"nativeSrc":"312415:16:19","nodeType":"YulExpressionStatement","src":"312415:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36080,"isOffset":false,"isSlot":false,"src":"312254:2:19","valueSize":1},{"declaration":36083,"isOffset":false,"isSlot":false,"src":"312283:2:19","valueSize":1},{"declaration":36086,"isOffset":false,"isSlot":false,"src":"312312:2:19","valueSize":1},{"declaration":36089,"isOffset":false,"isSlot":false,"src":"312341:2:19","valueSize":1},{"declaration":36092,"isOffset":false,"isSlot":false,"src":"312370:2:19","valueSize":1},{"declaration":36095,"isOffset":false,"isSlot":false,"src":"312399:2:19","valueSize":1},{"declaration":36098,"isOffset":false,"isSlot":false,"src":"312428:2:19","valueSize":1}],"id":36106,"nodeType":"InlineAssembly","src":"312218:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"311036:3:19","parameters":{"id":36077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36070,"mutability":"mutable","name":"p0","nameLocation":"311048:2:19","nodeType":"VariableDeclaration","scope":36108,"src":"311040:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36069,"name":"uint256","nodeType":"ElementaryTypeName","src":"311040:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36072,"mutability":"mutable","name":"p1","nameLocation":"311060:2:19","nodeType":"VariableDeclaration","scope":36108,"src":"311052:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36071,"name":"bytes32","nodeType":"ElementaryTypeName","src":"311052:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36074,"mutability":"mutable","name":"p2","nameLocation":"311069:2:19","nodeType":"VariableDeclaration","scope":36108,"src":"311064:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36073,"name":"bool","nodeType":"ElementaryTypeName","src":"311064:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36076,"mutability":"mutable","name":"p3","nameLocation":"311081:2:19","nodeType":"VariableDeclaration","scope":36108,"src":"311073:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36075,"name":"uint256","nodeType":"ElementaryTypeName","src":"311073:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"311039:45:19"},"returnParameters":{"id":36078,"nodeType":"ParameterList","parameters":[],"src":"311099:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36154,"nodeType":"FunctionDefinition","src":"312453:1616:19","nodes":[],"body":{"id":36153,"nodeType":"Block","src":"312525:1544:19","nodes":[],"statements":[{"assignments":[36120],"declarations":[{"constant":false,"id":36120,"mutability":"mutable","name":"m0","nameLocation":"312543:2:19","nodeType":"VariableDeclaration","scope":36153,"src":"312535:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36119,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312535:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36121,"nodeType":"VariableDeclarationStatement","src":"312535:10:19"},{"assignments":[36123],"declarations":[{"constant":false,"id":36123,"mutability":"mutable","name":"m1","nameLocation":"312563:2:19","nodeType":"VariableDeclaration","scope":36153,"src":"312555:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36122,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312555:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36124,"nodeType":"VariableDeclarationStatement","src":"312555:10:19"},{"assignments":[36126],"declarations":[{"constant":false,"id":36126,"mutability":"mutable","name":"m2","nameLocation":"312583:2:19","nodeType":"VariableDeclaration","scope":36153,"src":"312575:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312575:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36127,"nodeType":"VariableDeclarationStatement","src":"312575:10:19"},{"assignments":[36129],"declarations":[{"constant":false,"id":36129,"mutability":"mutable","name":"m3","nameLocation":"312603:2:19","nodeType":"VariableDeclaration","scope":36153,"src":"312595:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36128,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312595:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36130,"nodeType":"VariableDeclarationStatement","src":"312595:10:19"},{"assignments":[36132],"declarations":[{"constant":false,"id":36132,"mutability":"mutable","name":"m4","nameLocation":"312623:2:19","nodeType":"VariableDeclaration","scope":36153,"src":"312615:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36131,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312615:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36133,"nodeType":"VariableDeclarationStatement","src":"312615:10:19"},{"assignments":[36135],"declarations":[{"constant":false,"id":36135,"mutability":"mutable","name":"m5","nameLocation":"312643:2:19","nodeType":"VariableDeclaration","scope":36153,"src":"312635:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36134,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312635:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36136,"nodeType":"VariableDeclarationStatement","src":"312635:10:19"},{"assignments":[36138],"declarations":[{"constant":false,"id":36138,"mutability":"mutable","name":"m6","nameLocation":"312663:2:19","nodeType":"VariableDeclaration","scope":36153,"src":"312655:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36137,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312655:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36139,"nodeType":"VariableDeclarationStatement","src":"312655:10:19"},{"assignments":[36141],"declarations":[{"constant":false,"id":36141,"mutability":"mutable","name":"m7","nameLocation":"312683:2:19","nodeType":"VariableDeclaration","scope":36153,"src":"312675:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36140,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312675:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36142,"nodeType":"VariableDeclarationStatement","src":"312675:10:19"},{"assignments":[36144],"declarations":[{"constant":false,"id":36144,"mutability":"mutable","name":"m8","nameLocation":"312703:2:19","nodeType":"VariableDeclaration","scope":36153,"src":"312695:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36143,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312695:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36145,"nodeType":"VariableDeclarationStatement","src":"312695:10:19"},{"AST":{"nativeSrc":"312767:924:19","nodeType":"YulBlock","src":"312767:924:19","statements":[{"body":{"nativeSrc":"312810:313:19","nodeType":"YulBlock","src":"312810:313:19","statements":[{"nativeSrc":"312828:15:19","nodeType":"YulVariableDeclaration","src":"312828:15:19","value":{"kind":"number","nativeSrc":"312842:1:19","nodeType":"YulLiteral","src":"312842:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"312832:6:19","nodeType":"YulTypedName","src":"312832:6:19","type":""}]},{"body":{"nativeSrc":"312913:40:19","nodeType":"YulBlock","src":"312913:40:19","statements":[{"body":{"nativeSrc":"312942:9:19","nodeType":"YulBlock","src":"312942:9:19","statements":[{"nativeSrc":"312944:5:19","nodeType":"YulBreak","src":"312944:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"312930:6:19","nodeType":"YulIdentifier","src":"312930:6:19"},{"name":"w","nativeSrc":"312938:1:19","nodeType":"YulIdentifier","src":"312938:1:19"}],"functionName":{"name":"byte","nativeSrc":"312925:4:19","nodeType":"YulIdentifier","src":"312925:4:19"},"nativeSrc":"312925:15:19","nodeType":"YulFunctionCall","src":"312925:15:19"}],"functionName":{"name":"iszero","nativeSrc":"312918:6:19","nodeType":"YulIdentifier","src":"312918:6:19"},"nativeSrc":"312918:23:19","nodeType":"YulFunctionCall","src":"312918:23:19"},"nativeSrc":"312915:36:19","nodeType":"YulIf","src":"312915:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"312870:6:19","nodeType":"YulIdentifier","src":"312870:6:19"},{"kind":"number","nativeSrc":"312878:4:19","nodeType":"YulLiteral","src":"312878:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"312867:2:19","nodeType":"YulIdentifier","src":"312867:2:19"},"nativeSrc":"312867:16:19","nodeType":"YulFunctionCall","src":"312867:16:19"},"nativeSrc":"312860:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"312884:28:19","nodeType":"YulBlock","src":"312884:28:19","statements":[{"nativeSrc":"312886:24:19","nodeType":"YulAssignment","src":"312886:24:19","value":{"arguments":[{"name":"length","nativeSrc":"312900:6:19","nodeType":"YulIdentifier","src":"312900:6:19"},{"kind":"number","nativeSrc":"312908:1:19","nodeType":"YulLiteral","src":"312908:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"312896:3:19","nodeType":"YulIdentifier","src":"312896:3:19"},"nativeSrc":"312896:14:19","nodeType":"YulFunctionCall","src":"312896:14:19"},"variableNames":[{"name":"length","nativeSrc":"312886:6:19","nodeType":"YulIdentifier","src":"312886:6:19"}]}]},"pre":{"nativeSrc":"312864:2:19","nodeType":"YulBlock","src":"312864:2:19","statements":[]},"src":"312860:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"312977:3:19","nodeType":"YulIdentifier","src":"312977:3:19"},{"name":"length","nativeSrc":"312982:6:19","nodeType":"YulIdentifier","src":"312982:6:19"}],"functionName":{"name":"mstore","nativeSrc":"312970:6:19","nodeType":"YulIdentifier","src":"312970:6:19"},"nativeSrc":"312970:19:19","nodeType":"YulFunctionCall","src":"312970:19:19"},"nativeSrc":"312970:19:19","nodeType":"YulExpressionStatement","src":"312970:19:19"},{"nativeSrc":"313006:37:19","nodeType":"YulVariableDeclaration","src":"313006:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"313023:3:19","nodeType":"YulLiteral","src":"313023:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"313032:1:19","nodeType":"YulLiteral","src":"313032:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"313035:6:19","nodeType":"YulIdentifier","src":"313035:6:19"}],"functionName":{"name":"shl","nativeSrc":"313028:3:19","nodeType":"YulIdentifier","src":"313028:3:19"},"nativeSrc":"313028:14:19","nodeType":"YulFunctionCall","src":"313028:14:19"}],"functionName":{"name":"sub","nativeSrc":"313019:3:19","nodeType":"YulIdentifier","src":"313019:3:19"},"nativeSrc":"313019:24:19","nodeType":"YulFunctionCall","src":"313019:24:19"},"variables":[{"name":"shift","nativeSrc":"313010:5:19","nodeType":"YulTypedName","src":"313010:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"313071:3:19","nodeType":"YulIdentifier","src":"313071:3:19"},{"kind":"number","nativeSrc":"313076:4:19","nodeType":"YulLiteral","src":"313076:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"313067:3:19","nodeType":"YulIdentifier","src":"313067:3:19"},"nativeSrc":"313067:14:19","nodeType":"YulFunctionCall","src":"313067:14:19"},{"arguments":[{"name":"shift","nativeSrc":"313087:5:19","nodeType":"YulIdentifier","src":"313087:5:19"},{"arguments":[{"name":"shift","nativeSrc":"313098:5:19","nodeType":"YulIdentifier","src":"313098:5:19"},{"name":"w","nativeSrc":"313105:1:19","nodeType":"YulIdentifier","src":"313105:1:19"}],"functionName":{"name":"shr","nativeSrc":"313094:3:19","nodeType":"YulIdentifier","src":"313094:3:19"},"nativeSrc":"313094:13:19","nodeType":"YulFunctionCall","src":"313094:13:19"}],"functionName":{"name":"shl","nativeSrc":"313083:3:19","nodeType":"YulIdentifier","src":"313083:3:19"},"nativeSrc":"313083:25:19","nodeType":"YulFunctionCall","src":"313083:25:19"}],"functionName":{"name":"mstore","nativeSrc":"313060:6:19","nodeType":"YulIdentifier","src":"313060:6:19"},"nativeSrc":"313060:49:19","nodeType":"YulFunctionCall","src":"313060:49:19"},"nativeSrc":"313060:49:19","nodeType":"YulExpressionStatement","src":"313060:49:19"}]},"name":"writeString","nativeSrc":"312781:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"312802:3:19","nodeType":"YulTypedName","src":"312802:3:19","type":""},{"name":"w","nativeSrc":"312807:1:19","nodeType":"YulTypedName","src":"312807:1:19","type":""}],"src":"312781:342:19"},{"nativeSrc":"313136:17:19","nodeType":"YulAssignment","src":"313136:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"313148:4:19","nodeType":"YulLiteral","src":"313148:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"313142:5:19","nodeType":"YulIdentifier","src":"313142:5:19"},"nativeSrc":"313142:11:19","nodeType":"YulFunctionCall","src":"313142:11:19"},"variableNames":[{"name":"m0","nativeSrc":"313136:2:19","nodeType":"YulIdentifier","src":"313136:2:19"}]},{"nativeSrc":"313166:17:19","nodeType":"YulAssignment","src":"313166:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"313178:4:19","nodeType":"YulLiteral","src":"313178:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"313172:5:19","nodeType":"YulIdentifier","src":"313172:5:19"},"nativeSrc":"313172:11:19","nodeType":"YulFunctionCall","src":"313172:11:19"},"variableNames":[{"name":"m1","nativeSrc":"313166:2:19","nodeType":"YulIdentifier","src":"313166:2:19"}]},{"nativeSrc":"313196:17:19","nodeType":"YulAssignment","src":"313196:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"313208:4:19","nodeType":"YulLiteral","src":"313208:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"313202:5:19","nodeType":"YulIdentifier","src":"313202:5:19"},"nativeSrc":"313202:11:19","nodeType":"YulFunctionCall","src":"313202:11:19"},"variableNames":[{"name":"m2","nativeSrc":"313196:2:19","nodeType":"YulIdentifier","src":"313196:2:19"}]},{"nativeSrc":"313226:17:19","nodeType":"YulAssignment","src":"313226:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"313238:4:19","nodeType":"YulLiteral","src":"313238:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"313232:5:19","nodeType":"YulIdentifier","src":"313232:5:19"},"nativeSrc":"313232:11:19","nodeType":"YulFunctionCall","src":"313232:11:19"},"variableNames":[{"name":"m3","nativeSrc":"313226:2:19","nodeType":"YulIdentifier","src":"313226:2:19"}]},{"nativeSrc":"313256:17:19","nodeType":"YulAssignment","src":"313256:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"313268:4:19","nodeType":"YulLiteral","src":"313268:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"313262:5:19","nodeType":"YulIdentifier","src":"313262:5:19"},"nativeSrc":"313262:11:19","nodeType":"YulFunctionCall","src":"313262:11:19"},"variableNames":[{"name":"m4","nativeSrc":"313256:2:19","nodeType":"YulIdentifier","src":"313256:2:19"}]},{"nativeSrc":"313286:17:19","nodeType":"YulAssignment","src":"313286:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"313298:4:19","nodeType":"YulLiteral","src":"313298:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"313292:5:19","nodeType":"YulIdentifier","src":"313292:5:19"},"nativeSrc":"313292:11:19","nodeType":"YulFunctionCall","src":"313292:11:19"},"variableNames":[{"name":"m5","nativeSrc":"313286:2:19","nodeType":"YulIdentifier","src":"313286:2:19"}]},{"nativeSrc":"313316:17:19","nodeType":"YulAssignment","src":"313316:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"313328:4:19","nodeType":"YulLiteral","src":"313328:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"313322:5:19","nodeType":"YulIdentifier","src":"313322:5:19"},"nativeSrc":"313322:11:19","nodeType":"YulFunctionCall","src":"313322:11:19"},"variableNames":[{"name":"m6","nativeSrc":"313316:2:19","nodeType":"YulIdentifier","src":"313316:2:19"}]},{"nativeSrc":"313346:17:19","nodeType":"YulAssignment","src":"313346:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"313358:4:19","nodeType":"YulLiteral","src":"313358:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"313352:5:19","nodeType":"YulIdentifier","src":"313352:5:19"},"nativeSrc":"313352:11:19","nodeType":"YulFunctionCall","src":"313352:11:19"},"variableNames":[{"name":"m7","nativeSrc":"313346:2:19","nodeType":"YulIdentifier","src":"313346:2:19"}]},{"nativeSrc":"313376:18:19","nodeType":"YulAssignment","src":"313376:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"313388:5:19","nodeType":"YulLiteral","src":"313388:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"313382:5:19","nodeType":"YulIdentifier","src":"313382:5:19"},"nativeSrc":"313382:12:19","nodeType":"YulFunctionCall","src":"313382:12:19"},"variableNames":[{"name":"m8","nativeSrc":"313376:2:19","nodeType":"YulIdentifier","src":"313376:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313476:4:19","nodeType":"YulLiteral","src":"313476:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"313482:10:19","nodeType":"YulLiteral","src":"313482:10:19","type":"","value":"0xd2d423cd"}],"functionName":{"name":"mstore","nativeSrc":"313469:6:19","nodeType":"YulIdentifier","src":"313469:6:19"},"nativeSrc":"313469:24:19","nodeType":"YulFunctionCall","src":"313469:24:19"},"nativeSrc":"313469:24:19","nodeType":"YulExpressionStatement","src":"313469:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313513:4:19","nodeType":"YulLiteral","src":"313513:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"313519:2:19","nodeType":"YulIdentifier","src":"313519:2:19"}],"functionName":{"name":"mstore","nativeSrc":"313506:6:19","nodeType":"YulIdentifier","src":"313506:6:19"},"nativeSrc":"313506:16:19","nodeType":"YulFunctionCall","src":"313506:16:19"},"nativeSrc":"313506:16:19","nodeType":"YulExpressionStatement","src":"313506:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313542:4:19","nodeType":"YulLiteral","src":"313542:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"313548:4:19","nodeType":"YulLiteral","src":"313548:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"313535:6:19","nodeType":"YulIdentifier","src":"313535:6:19"},"nativeSrc":"313535:18:19","nodeType":"YulFunctionCall","src":"313535:18:19"},"nativeSrc":"313535:18:19","nodeType":"YulExpressionStatement","src":"313535:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313573:4:19","nodeType":"YulLiteral","src":"313573:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"313579:2:19","nodeType":"YulIdentifier","src":"313579:2:19"}],"functionName":{"name":"mstore","nativeSrc":"313566:6:19","nodeType":"YulIdentifier","src":"313566:6:19"},"nativeSrc":"313566:16:19","nodeType":"YulFunctionCall","src":"313566:16:19"},"nativeSrc":"313566:16:19","nodeType":"YulExpressionStatement","src":"313566:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313602:4:19","nodeType":"YulLiteral","src":"313602:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"313608:4:19","nodeType":"YulLiteral","src":"313608:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"313595:6:19","nodeType":"YulIdentifier","src":"313595:6:19"},"nativeSrc":"313595:18:19","nodeType":"YulFunctionCall","src":"313595:18:19"},"nativeSrc":"313595:18:19","nodeType":"YulExpressionStatement","src":"313595:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313638:4:19","nodeType":"YulLiteral","src":"313638:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"313644:2:19","nodeType":"YulIdentifier","src":"313644:2:19"}],"functionName":{"name":"writeString","nativeSrc":"313626:11:19","nodeType":"YulIdentifier","src":"313626:11:19"},"nativeSrc":"313626:21:19","nodeType":"YulFunctionCall","src":"313626:21:19"},"nativeSrc":"313626:21:19","nodeType":"YulExpressionStatement","src":"313626:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313672:4:19","nodeType":"YulLiteral","src":"313672:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"313678:2:19","nodeType":"YulIdentifier","src":"313678:2:19"}],"functionName":{"name":"writeString","nativeSrc":"313660:11:19","nodeType":"YulIdentifier","src":"313660:11:19"},"nativeSrc":"313660:21:19","nodeType":"YulFunctionCall","src":"313660:21:19"},"nativeSrc":"313660:21:19","nodeType":"YulExpressionStatement","src":"313660:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36120,"isOffset":false,"isSlot":false,"src":"313136:2:19","valueSize":1},{"declaration":36123,"isOffset":false,"isSlot":false,"src":"313166:2:19","valueSize":1},{"declaration":36126,"isOffset":false,"isSlot":false,"src":"313196:2:19","valueSize":1},{"declaration":36129,"isOffset":false,"isSlot":false,"src":"313226:2:19","valueSize":1},{"declaration":36132,"isOffset":false,"isSlot":false,"src":"313256:2:19","valueSize":1},{"declaration":36135,"isOffset":false,"isSlot":false,"src":"313286:2:19","valueSize":1},{"declaration":36138,"isOffset":false,"isSlot":false,"src":"313316:2:19","valueSize":1},{"declaration":36141,"isOffset":false,"isSlot":false,"src":"313346:2:19","valueSize":1},{"declaration":36144,"isOffset":false,"isSlot":false,"src":"313376:2:19","valueSize":1},{"declaration":36110,"isOffset":false,"isSlot":false,"src":"313519:2:19","valueSize":1},{"declaration":36112,"isOffset":false,"isSlot":false,"src":"313644:2:19","valueSize":1},{"declaration":36114,"isOffset":false,"isSlot":false,"src":"313579:2:19","valueSize":1},{"declaration":36116,"isOffset":false,"isSlot":false,"src":"313678:2:19","valueSize":1}],"id":36146,"nodeType":"InlineAssembly","src":"312758:933:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":36148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"313716:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":36149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"313722:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":36147,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"313700:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"313700:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36151,"nodeType":"ExpressionStatement","src":"313700:28:19"},{"AST":{"nativeSrc":"313790:273:19","nodeType":"YulBlock","src":"313790:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"313811:4:19","nodeType":"YulLiteral","src":"313811:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"313817:2:19","nodeType":"YulIdentifier","src":"313817:2:19"}],"functionName":{"name":"mstore","nativeSrc":"313804:6:19","nodeType":"YulIdentifier","src":"313804:6:19"},"nativeSrc":"313804:16:19","nodeType":"YulFunctionCall","src":"313804:16:19"},"nativeSrc":"313804:16:19","nodeType":"YulExpressionStatement","src":"313804:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313840:4:19","nodeType":"YulLiteral","src":"313840:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"313846:2:19","nodeType":"YulIdentifier","src":"313846:2:19"}],"functionName":{"name":"mstore","nativeSrc":"313833:6:19","nodeType":"YulIdentifier","src":"313833:6:19"},"nativeSrc":"313833:16:19","nodeType":"YulFunctionCall","src":"313833:16:19"},"nativeSrc":"313833:16:19","nodeType":"YulExpressionStatement","src":"313833:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313869:4:19","nodeType":"YulLiteral","src":"313869:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"313875:2:19","nodeType":"YulIdentifier","src":"313875:2:19"}],"functionName":{"name":"mstore","nativeSrc":"313862:6:19","nodeType":"YulIdentifier","src":"313862:6:19"},"nativeSrc":"313862:16:19","nodeType":"YulFunctionCall","src":"313862:16:19"},"nativeSrc":"313862:16:19","nodeType":"YulExpressionStatement","src":"313862:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313898:4:19","nodeType":"YulLiteral","src":"313898:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"313904:2:19","nodeType":"YulIdentifier","src":"313904:2:19"}],"functionName":{"name":"mstore","nativeSrc":"313891:6:19","nodeType":"YulIdentifier","src":"313891:6:19"},"nativeSrc":"313891:16:19","nodeType":"YulFunctionCall","src":"313891:16:19"},"nativeSrc":"313891:16:19","nodeType":"YulExpressionStatement","src":"313891:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313927:4:19","nodeType":"YulLiteral","src":"313927:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"313933:2:19","nodeType":"YulIdentifier","src":"313933:2:19"}],"functionName":{"name":"mstore","nativeSrc":"313920:6:19","nodeType":"YulIdentifier","src":"313920:6:19"},"nativeSrc":"313920:16:19","nodeType":"YulFunctionCall","src":"313920:16:19"},"nativeSrc":"313920:16:19","nodeType":"YulExpressionStatement","src":"313920:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313956:4:19","nodeType":"YulLiteral","src":"313956:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"313962:2:19","nodeType":"YulIdentifier","src":"313962:2:19"}],"functionName":{"name":"mstore","nativeSrc":"313949:6:19","nodeType":"YulIdentifier","src":"313949:6:19"},"nativeSrc":"313949:16:19","nodeType":"YulFunctionCall","src":"313949:16:19"},"nativeSrc":"313949:16:19","nodeType":"YulExpressionStatement","src":"313949:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"313985:4:19","nodeType":"YulLiteral","src":"313985:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"313991:2:19","nodeType":"YulIdentifier","src":"313991:2:19"}],"functionName":{"name":"mstore","nativeSrc":"313978:6:19","nodeType":"YulIdentifier","src":"313978:6:19"},"nativeSrc":"313978:16:19","nodeType":"YulFunctionCall","src":"313978:16:19"},"nativeSrc":"313978:16:19","nodeType":"YulExpressionStatement","src":"313978:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"314014:4:19","nodeType":"YulLiteral","src":"314014:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"314020:2:19","nodeType":"YulIdentifier","src":"314020:2:19"}],"functionName":{"name":"mstore","nativeSrc":"314007:6:19","nodeType":"YulIdentifier","src":"314007:6:19"},"nativeSrc":"314007:16:19","nodeType":"YulFunctionCall","src":"314007:16:19"},"nativeSrc":"314007:16:19","nodeType":"YulExpressionStatement","src":"314007:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"314043:5:19","nodeType":"YulLiteral","src":"314043:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"314050:2:19","nodeType":"YulIdentifier","src":"314050:2:19"}],"functionName":{"name":"mstore","nativeSrc":"314036:6:19","nodeType":"YulIdentifier","src":"314036:6:19"},"nativeSrc":"314036:17:19","nodeType":"YulFunctionCall","src":"314036:17:19"},"nativeSrc":"314036:17:19","nodeType":"YulExpressionStatement","src":"314036:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36120,"isOffset":false,"isSlot":false,"src":"313817:2:19","valueSize":1},{"declaration":36123,"isOffset":false,"isSlot":false,"src":"313846:2:19","valueSize":1},{"declaration":36126,"isOffset":false,"isSlot":false,"src":"313875:2:19","valueSize":1},{"declaration":36129,"isOffset":false,"isSlot":false,"src":"313904:2:19","valueSize":1},{"declaration":36132,"isOffset":false,"isSlot":false,"src":"313933:2:19","valueSize":1},{"declaration":36135,"isOffset":false,"isSlot":false,"src":"313962:2:19","valueSize":1},{"declaration":36138,"isOffset":false,"isSlot":false,"src":"313991:2:19","valueSize":1},{"declaration":36141,"isOffset":false,"isSlot":false,"src":"314020:2:19","valueSize":1},{"declaration":36144,"isOffset":false,"isSlot":false,"src":"314050:2:19","valueSize":1}],"id":36152,"nodeType":"InlineAssembly","src":"313781:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"312462:3:19","parameters":{"id":36117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36110,"mutability":"mutable","name":"p0","nameLocation":"312474:2:19","nodeType":"VariableDeclaration","scope":36154,"src":"312466:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36109,"name":"uint256","nodeType":"ElementaryTypeName","src":"312466:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36112,"mutability":"mutable","name":"p1","nameLocation":"312486:2:19","nodeType":"VariableDeclaration","scope":36154,"src":"312478:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312478:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36114,"mutability":"mutable","name":"p2","nameLocation":"312495:2:19","nodeType":"VariableDeclaration","scope":36154,"src":"312490:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36113,"name":"bool","nodeType":"ElementaryTypeName","src":"312490:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36116,"mutability":"mutable","name":"p3","nameLocation":"312507:2:19","nodeType":"VariableDeclaration","scope":36154,"src":"312499:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36115,"name":"bytes32","nodeType":"ElementaryTypeName","src":"312499:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"312465:45:19"},"returnParameters":{"id":36118,"nodeType":"ParameterList","parameters":[],"src":"312525:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36194,"nodeType":"FunctionDefinition","src":"314075:1426:19","nodes":[],"body":{"id":36193,"nodeType":"Block","src":"314150:1351:19","nodes":[],"statements":[{"assignments":[36166],"declarations":[{"constant":false,"id":36166,"mutability":"mutable","name":"m0","nameLocation":"314168:2:19","nodeType":"VariableDeclaration","scope":36193,"src":"314160:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36165,"name":"bytes32","nodeType":"ElementaryTypeName","src":"314160:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36167,"nodeType":"VariableDeclarationStatement","src":"314160:10:19"},{"assignments":[36169],"declarations":[{"constant":false,"id":36169,"mutability":"mutable","name":"m1","nameLocation":"314188:2:19","nodeType":"VariableDeclaration","scope":36193,"src":"314180:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36168,"name":"bytes32","nodeType":"ElementaryTypeName","src":"314180:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36170,"nodeType":"VariableDeclarationStatement","src":"314180:10:19"},{"assignments":[36172],"declarations":[{"constant":false,"id":36172,"mutability":"mutable","name":"m2","nameLocation":"314208:2:19","nodeType":"VariableDeclaration","scope":36193,"src":"314200:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36171,"name":"bytes32","nodeType":"ElementaryTypeName","src":"314200:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36173,"nodeType":"VariableDeclarationStatement","src":"314200:10:19"},{"assignments":[36175],"declarations":[{"constant":false,"id":36175,"mutability":"mutable","name":"m3","nameLocation":"314228:2:19","nodeType":"VariableDeclaration","scope":36193,"src":"314220:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36174,"name":"bytes32","nodeType":"ElementaryTypeName","src":"314220:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36176,"nodeType":"VariableDeclarationStatement","src":"314220:10:19"},{"assignments":[36178],"declarations":[{"constant":false,"id":36178,"mutability":"mutable","name":"m4","nameLocation":"314248:2:19","nodeType":"VariableDeclaration","scope":36193,"src":"314240:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36177,"name":"bytes32","nodeType":"ElementaryTypeName","src":"314240:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36179,"nodeType":"VariableDeclarationStatement","src":"314240:10:19"},{"assignments":[36181],"declarations":[{"constant":false,"id":36181,"mutability":"mutable","name":"m5","nameLocation":"314268:2:19","nodeType":"VariableDeclaration","scope":36193,"src":"314260:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36180,"name":"bytes32","nodeType":"ElementaryTypeName","src":"314260:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36182,"nodeType":"VariableDeclarationStatement","src":"314260:10:19"},{"assignments":[36184],"declarations":[{"constant":false,"id":36184,"mutability":"mutable","name":"m6","nameLocation":"314288:2:19","nodeType":"VariableDeclaration","scope":36193,"src":"314280:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36183,"name":"bytes32","nodeType":"ElementaryTypeName","src":"314280:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36185,"nodeType":"VariableDeclarationStatement","src":"314280:10:19"},{"AST":{"nativeSrc":"314352:831:19","nodeType":"YulBlock","src":"314352:831:19","statements":[{"body":{"nativeSrc":"314395:313:19","nodeType":"YulBlock","src":"314395:313:19","statements":[{"nativeSrc":"314413:15:19","nodeType":"YulVariableDeclaration","src":"314413:15:19","value":{"kind":"number","nativeSrc":"314427:1:19","nodeType":"YulLiteral","src":"314427:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"314417:6:19","nodeType":"YulTypedName","src":"314417:6:19","type":""}]},{"body":{"nativeSrc":"314498:40:19","nodeType":"YulBlock","src":"314498:40:19","statements":[{"body":{"nativeSrc":"314527:9:19","nodeType":"YulBlock","src":"314527:9:19","statements":[{"nativeSrc":"314529:5:19","nodeType":"YulBreak","src":"314529:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"314515:6:19","nodeType":"YulIdentifier","src":"314515:6:19"},{"name":"w","nativeSrc":"314523:1:19","nodeType":"YulIdentifier","src":"314523:1:19"}],"functionName":{"name":"byte","nativeSrc":"314510:4:19","nodeType":"YulIdentifier","src":"314510:4:19"},"nativeSrc":"314510:15:19","nodeType":"YulFunctionCall","src":"314510:15:19"}],"functionName":{"name":"iszero","nativeSrc":"314503:6:19","nodeType":"YulIdentifier","src":"314503:6:19"},"nativeSrc":"314503:23:19","nodeType":"YulFunctionCall","src":"314503:23:19"},"nativeSrc":"314500:36:19","nodeType":"YulIf","src":"314500:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"314455:6:19","nodeType":"YulIdentifier","src":"314455:6:19"},{"kind":"number","nativeSrc":"314463:4:19","nodeType":"YulLiteral","src":"314463:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"314452:2:19","nodeType":"YulIdentifier","src":"314452:2:19"},"nativeSrc":"314452:16:19","nodeType":"YulFunctionCall","src":"314452:16:19"},"nativeSrc":"314445:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"314469:28:19","nodeType":"YulBlock","src":"314469:28:19","statements":[{"nativeSrc":"314471:24:19","nodeType":"YulAssignment","src":"314471:24:19","value":{"arguments":[{"name":"length","nativeSrc":"314485:6:19","nodeType":"YulIdentifier","src":"314485:6:19"},{"kind":"number","nativeSrc":"314493:1:19","nodeType":"YulLiteral","src":"314493:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"314481:3:19","nodeType":"YulIdentifier","src":"314481:3:19"},"nativeSrc":"314481:14:19","nodeType":"YulFunctionCall","src":"314481:14:19"},"variableNames":[{"name":"length","nativeSrc":"314471:6:19","nodeType":"YulIdentifier","src":"314471:6:19"}]}]},"pre":{"nativeSrc":"314449:2:19","nodeType":"YulBlock","src":"314449:2:19","statements":[]},"src":"314445:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"314562:3:19","nodeType":"YulIdentifier","src":"314562:3:19"},{"name":"length","nativeSrc":"314567:6:19","nodeType":"YulIdentifier","src":"314567:6:19"}],"functionName":{"name":"mstore","nativeSrc":"314555:6:19","nodeType":"YulIdentifier","src":"314555:6:19"},"nativeSrc":"314555:19:19","nodeType":"YulFunctionCall","src":"314555:19:19"},"nativeSrc":"314555:19:19","nodeType":"YulExpressionStatement","src":"314555:19:19"},{"nativeSrc":"314591:37:19","nodeType":"YulVariableDeclaration","src":"314591:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"314608:3:19","nodeType":"YulLiteral","src":"314608:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"314617:1:19","nodeType":"YulLiteral","src":"314617:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"314620:6:19","nodeType":"YulIdentifier","src":"314620:6:19"}],"functionName":{"name":"shl","nativeSrc":"314613:3:19","nodeType":"YulIdentifier","src":"314613:3:19"},"nativeSrc":"314613:14:19","nodeType":"YulFunctionCall","src":"314613:14:19"}],"functionName":{"name":"sub","nativeSrc":"314604:3:19","nodeType":"YulIdentifier","src":"314604:3:19"},"nativeSrc":"314604:24:19","nodeType":"YulFunctionCall","src":"314604:24:19"},"variables":[{"name":"shift","nativeSrc":"314595:5:19","nodeType":"YulTypedName","src":"314595:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"314656:3:19","nodeType":"YulIdentifier","src":"314656:3:19"},{"kind":"number","nativeSrc":"314661:4:19","nodeType":"YulLiteral","src":"314661:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"314652:3:19","nodeType":"YulIdentifier","src":"314652:3:19"},"nativeSrc":"314652:14:19","nodeType":"YulFunctionCall","src":"314652:14:19"},{"arguments":[{"name":"shift","nativeSrc":"314672:5:19","nodeType":"YulIdentifier","src":"314672:5:19"},{"arguments":[{"name":"shift","nativeSrc":"314683:5:19","nodeType":"YulIdentifier","src":"314683:5:19"},{"name":"w","nativeSrc":"314690:1:19","nodeType":"YulIdentifier","src":"314690:1:19"}],"functionName":{"name":"shr","nativeSrc":"314679:3:19","nodeType":"YulIdentifier","src":"314679:3:19"},"nativeSrc":"314679:13:19","nodeType":"YulFunctionCall","src":"314679:13:19"}],"functionName":{"name":"shl","nativeSrc":"314668:3:19","nodeType":"YulIdentifier","src":"314668:3:19"},"nativeSrc":"314668:25:19","nodeType":"YulFunctionCall","src":"314668:25:19"}],"functionName":{"name":"mstore","nativeSrc":"314645:6:19","nodeType":"YulIdentifier","src":"314645:6:19"},"nativeSrc":"314645:49:19","nodeType":"YulFunctionCall","src":"314645:49:19"},"nativeSrc":"314645:49:19","nodeType":"YulExpressionStatement","src":"314645:49:19"}]},"name":"writeString","nativeSrc":"314366:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"314387:3:19","nodeType":"YulTypedName","src":"314387:3:19","type":""},{"name":"w","nativeSrc":"314392:1:19","nodeType":"YulTypedName","src":"314392:1:19","type":""}],"src":"314366:342:19"},{"nativeSrc":"314721:17:19","nodeType":"YulAssignment","src":"314721:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"314733:4:19","nodeType":"YulLiteral","src":"314733:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"314727:5:19","nodeType":"YulIdentifier","src":"314727:5:19"},"nativeSrc":"314727:11:19","nodeType":"YulFunctionCall","src":"314727:11:19"},"variableNames":[{"name":"m0","nativeSrc":"314721:2:19","nodeType":"YulIdentifier","src":"314721:2:19"}]},{"nativeSrc":"314751:17:19","nodeType":"YulAssignment","src":"314751:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"314763:4:19","nodeType":"YulLiteral","src":"314763:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"314757:5:19","nodeType":"YulIdentifier","src":"314757:5:19"},"nativeSrc":"314757:11:19","nodeType":"YulFunctionCall","src":"314757:11:19"},"variableNames":[{"name":"m1","nativeSrc":"314751:2:19","nodeType":"YulIdentifier","src":"314751:2:19"}]},{"nativeSrc":"314781:17:19","nodeType":"YulAssignment","src":"314781:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"314793:4:19","nodeType":"YulLiteral","src":"314793:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"314787:5:19","nodeType":"YulIdentifier","src":"314787:5:19"},"nativeSrc":"314787:11:19","nodeType":"YulFunctionCall","src":"314787:11:19"},"variableNames":[{"name":"m2","nativeSrc":"314781:2:19","nodeType":"YulIdentifier","src":"314781:2:19"}]},{"nativeSrc":"314811:17:19","nodeType":"YulAssignment","src":"314811:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"314823:4:19","nodeType":"YulLiteral","src":"314823:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"314817:5:19","nodeType":"YulIdentifier","src":"314817:5:19"},"nativeSrc":"314817:11:19","nodeType":"YulFunctionCall","src":"314817:11:19"},"variableNames":[{"name":"m3","nativeSrc":"314811:2:19","nodeType":"YulIdentifier","src":"314811:2:19"}]},{"nativeSrc":"314841:17:19","nodeType":"YulAssignment","src":"314841:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"314853:4:19","nodeType":"YulLiteral","src":"314853:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"314847:5:19","nodeType":"YulIdentifier","src":"314847:5:19"},"nativeSrc":"314847:11:19","nodeType":"YulFunctionCall","src":"314847:11:19"},"variableNames":[{"name":"m4","nativeSrc":"314841:2:19","nodeType":"YulIdentifier","src":"314841:2:19"}]},{"nativeSrc":"314871:17:19","nodeType":"YulAssignment","src":"314871:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"314883:4:19","nodeType":"YulLiteral","src":"314883:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"314877:5:19","nodeType":"YulIdentifier","src":"314877:5:19"},"nativeSrc":"314877:11:19","nodeType":"YulFunctionCall","src":"314877:11:19"},"variableNames":[{"name":"m5","nativeSrc":"314871:2:19","nodeType":"YulIdentifier","src":"314871:2:19"}]},{"nativeSrc":"314901:17:19","nodeType":"YulAssignment","src":"314901:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"314913:4:19","nodeType":"YulLiteral","src":"314913:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"314907:5:19","nodeType":"YulIdentifier","src":"314907:5:19"},"nativeSrc":"314907:11:19","nodeType":"YulFunctionCall","src":"314907:11:19"},"variableNames":[{"name":"m6","nativeSrc":"314901:2:19","nodeType":"YulIdentifier","src":"314901:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315004:4:19","nodeType":"YulLiteral","src":"315004:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"315010:10:19","nodeType":"YulLiteral","src":"315010:10:19","type":"","value":"0x3b2279b4"}],"functionName":{"name":"mstore","nativeSrc":"314997:6:19","nodeType":"YulIdentifier","src":"314997:6:19"},"nativeSrc":"314997:24:19","nodeType":"YulFunctionCall","src":"314997:24:19"},"nativeSrc":"314997:24:19","nodeType":"YulExpressionStatement","src":"314997:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315041:4:19","nodeType":"YulLiteral","src":"315041:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"315047:2:19","nodeType":"YulIdentifier","src":"315047:2:19"}],"functionName":{"name":"mstore","nativeSrc":"315034:6:19","nodeType":"YulIdentifier","src":"315034:6:19"},"nativeSrc":"315034:16:19","nodeType":"YulFunctionCall","src":"315034:16:19"},"nativeSrc":"315034:16:19","nodeType":"YulExpressionStatement","src":"315034:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315070:4:19","nodeType":"YulLiteral","src":"315070:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"315076:4:19","nodeType":"YulLiteral","src":"315076:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"315063:6:19","nodeType":"YulIdentifier","src":"315063:6:19"},"nativeSrc":"315063:18:19","nodeType":"YulFunctionCall","src":"315063:18:19"},"nativeSrc":"315063:18:19","nodeType":"YulExpressionStatement","src":"315063:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315101:4:19","nodeType":"YulLiteral","src":"315101:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"315107:2:19","nodeType":"YulIdentifier","src":"315107:2:19"}],"functionName":{"name":"mstore","nativeSrc":"315094:6:19","nodeType":"YulIdentifier","src":"315094:6:19"},"nativeSrc":"315094:16:19","nodeType":"YulFunctionCall","src":"315094:16:19"},"nativeSrc":"315094:16:19","nodeType":"YulExpressionStatement","src":"315094:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315130:4:19","nodeType":"YulLiteral","src":"315130:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"315136:2:19","nodeType":"YulIdentifier","src":"315136:2:19"}],"functionName":{"name":"mstore","nativeSrc":"315123:6:19","nodeType":"YulIdentifier","src":"315123:6:19"},"nativeSrc":"315123:16:19","nodeType":"YulFunctionCall","src":"315123:16:19"},"nativeSrc":"315123:16:19","nodeType":"YulExpressionStatement","src":"315123:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315164:4:19","nodeType":"YulLiteral","src":"315164:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"315170:2:19","nodeType":"YulIdentifier","src":"315170:2:19"}],"functionName":{"name":"writeString","nativeSrc":"315152:11:19","nodeType":"YulIdentifier","src":"315152:11:19"},"nativeSrc":"315152:21:19","nodeType":"YulFunctionCall","src":"315152:21:19"},"nativeSrc":"315152:21:19","nodeType":"YulExpressionStatement","src":"315152:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36166,"isOffset":false,"isSlot":false,"src":"314721:2:19","valueSize":1},{"declaration":36169,"isOffset":false,"isSlot":false,"src":"314751:2:19","valueSize":1},{"declaration":36172,"isOffset":false,"isSlot":false,"src":"314781:2:19","valueSize":1},{"declaration":36175,"isOffset":false,"isSlot":false,"src":"314811:2:19","valueSize":1},{"declaration":36178,"isOffset":false,"isSlot":false,"src":"314841:2:19","valueSize":1},{"declaration":36181,"isOffset":false,"isSlot":false,"src":"314871:2:19","valueSize":1},{"declaration":36184,"isOffset":false,"isSlot":false,"src":"314901:2:19","valueSize":1},{"declaration":36156,"isOffset":false,"isSlot":false,"src":"315047:2:19","valueSize":1},{"declaration":36158,"isOffset":false,"isSlot":false,"src":"315170:2:19","valueSize":1},{"declaration":36160,"isOffset":false,"isSlot":false,"src":"315107:2:19","valueSize":1},{"declaration":36162,"isOffset":false,"isSlot":false,"src":"315136:2:19","valueSize":1}],"id":36186,"nodeType":"InlineAssembly","src":"314343:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":36188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"315208:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"315214:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36187,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"315192:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"315192:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36191,"nodeType":"ExpressionStatement","src":"315192:27:19"},{"AST":{"nativeSrc":"315281:214:19","nodeType":"YulBlock","src":"315281:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"315302:4:19","nodeType":"YulLiteral","src":"315302:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"315308:2:19","nodeType":"YulIdentifier","src":"315308:2:19"}],"functionName":{"name":"mstore","nativeSrc":"315295:6:19","nodeType":"YulIdentifier","src":"315295:6:19"},"nativeSrc":"315295:16:19","nodeType":"YulFunctionCall","src":"315295:16:19"},"nativeSrc":"315295:16:19","nodeType":"YulExpressionStatement","src":"315295:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315331:4:19","nodeType":"YulLiteral","src":"315331:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"315337:2:19","nodeType":"YulIdentifier","src":"315337:2:19"}],"functionName":{"name":"mstore","nativeSrc":"315324:6:19","nodeType":"YulIdentifier","src":"315324:6:19"},"nativeSrc":"315324:16:19","nodeType":"YulFunctionCall","src":"315324:16:19"},"nativeSrc":"315324:16:19","nodeType":"YulExpressionStatement","src":"315324:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315360:4:19","nodeType":"YulLiteral","src":"315360:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"315366:2:19","nodeType":"YulIdentifier","src":"315366:2:19"}],"functionName":{"name":"mstore","nativeSrc":"315353:6:19","nodeType":"YulIdentifier","src":"315353:6:19"},"nativeSrc":"315353:16:19","nodeType":"YulFunctionCall","src":"315353:16:19"},"nativeSrc":"315353:16:19","nodeType":"YulExpressionStatement","src":"315353:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315389:4:19","nodeType":"YulLiteral","src":"315389:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"315395:2:19","nodeType":"YulIdentifier","src":"315395:2:19"}],"functionName":{"name":"mstore","nativeSrc":"315382:6:19","nodeType":"YulIdentifier","src":"315382:6:19"},"nativeSrc":"315382:16:19","nodeType":"YulFunctionCall","src":"315382:16:19"},"nativeSrc":"315382:16:19","nodeType":"YulExpressionStatement","src":"315382:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315418:4:19","nodeType":"YulLiteral","src":"315418:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"315424:2:19","nodeType":"YulIdentifier","src":"315424:2:19"}],"functionName":{"name":"mstore","nativeSrc":"315411:6:19","nodeType":"YulIdentifier","src":"315411:6:19"},"nativeSrc":"315411:16:19","nodeType":"YulFunctionCall","src":"315411:16:19"},"nativeSrc":"315411:16:19","nodeType":"YulExpressionStatement","src":"315411:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315447:4:19","nodeType":"YulLiteral","src":"315447:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"315453:2:19","nodeType":"YulIdentifier","src":"315453:2:19"}],"functionName":{"name":"mstore","nativeSrc":"315440:6:19","nodeType":"YulIdentifier","src":"315440:6:19"},"nativeSrc":"315440:16:19","nodeType":"YulFunctionCall","src":"315440:16:19"},"nativeSrc":"315440:16:19","nodeType":"YulExpressionStatement","src":"315440:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"315476:4:19","nodeType":"YulLiteral","src":"315476:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"315482:2:19","nodeType":"YulIdentifier","src":"315482:2:19"}],"functionName":{"name":"mstore","nativeSrc":"315469:6:19","nodeType":"YulIdentifier","src":"315469:6:19"},"nativeSrc":"315469:16:19","nodeType":"YulFunctionCall","src":"315469:16:19"},"nativeSrc":"315469:16:19","nodeType":"YulExpressionStatement","src":"315469:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36166,"isOffset":false,"isSlot":false,"src":"315308:2:19","valueSize":1},{"declaration":36169,"isOffset":false,"isSlot":false,"src":"315337:2:19","valueSize":1},{"declaration":36172,"isOffset":false,"isSlot":false,"src":"315366:2:19","valueSize":1},{"declaration":36175,"isOffset":false,"isSlot":false,"src":"315395:2:19","valueSize":1},{"declaration":36178,"isOffset":false,"isSlot":false,"src":"315424:2:19","valueSize":1},{"declaration":36181,"isOffset":false,"isSlot":false,"src":"315453:2:19","valueSize":1},{"declaration":36184,"isOffset":false,"isSlot":false,"src":"315482:2:19","valueSize":1}],"id":36192,"nodeType":"InlineAssembly","src":"315272:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"314084:3:19","parameters":{"id":36163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36156,"mutability":"mutable","name":"p0","nameLocation":"314096:2:19","nodeType":"VariableDeclaration","scope":36194,"src":"314088:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36155,"name":"uint256","nodeType":"ElementaryTypeName","src":"314088:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36158,"mutability":"mutable","name":"p1","nameLocation":"314108:2:19","nodeType":"VariableDeclaration","scope":36194,"src":"314100:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36157,"name":"bytes32","nodeType":"ElementaryTypeName","src":"314100:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36160,"mutability":"mutable","name":"p2","nameLocation":"314120:2:19","nodeType":"VariableDeclaration","scope":36194,"src":"314112:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36159,"name":"uint256","nodeType":"ElementaryTypeName","src":"314112:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36162,"mutability":"mutable","name":"p3","nameLocation":"314132:2:19","nodeType":"VariableDeclaration","scope":36194,"src":"314124:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36161,"name":"address","nodeType":"ElementaryTypeName","src":"314124:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"314087:48:19"},"returnParameters":{"id":36164,"nodeType":"ParameterList","parameters":[],"src":"314150:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36234,"nodeType":"FunctionDefinition","src":"315507:1420:19","nodes":[],"body":{"id":36233,"nodeType":"Block","src":"315579:1348:19","nodes":[],"statements":[{"assignments":[36206],"declarations":[{"constant":false,"id":36206,"mutability":"mutable","name":"m0","nameLocation":"315597:2:19","nodeType":"VariableDeclaration","scope":36233,"src":"315589:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36205,"name":"bytes32","nodeType":"ElementaryTypeName","src":"315589:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36207,"nodeType":"VariableDeclarationStatement","src":"315589:10:19"},{"assignments":[36209],"declarations":[{"constant":false,"id":36209,"mutability":"mutable","name":"m1","nameLocation":"315617:2:19","nodeType":"VariableDeclaration","scope":36233,"src":"315609:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36208,"name":"bytes32","nodeType":"ElementaryTypeName","src":"315609:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36210,"nodeType":"VariableDeclarationStatement","src":"315609:10:19"},{"assignments":[36212],"declarations":[{"constant":false,"id":36212,"mutability":"mutable","name":"m2","nameLocation":"315637:2:19","nodeType":"VariableDeclaration","scope":36233,"src":"315629:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36211,"name":"bytes32","nodeType":"ElementaryTypeName","src":"315629:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36213,"nodeType":"VariableDeclarationStatement","src":"315629:10:19"},{"assignments":[36215],"declarations":[{"constant":false,"id":36215,"mutability":"mutable","name":"m3","nameLocation":"315657:2:19","nodeType":"VariableDeclaration","scope":36233,"src":"315649:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36214,"name":"bytes32","nodeType":"ElementaryTypeName","src":"315649:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36216,"nodeType":"VariableDeclarationStatement","src":"315649:10:19"},{"assignments":[36218],"declarations":[{"constant":false,"id":36218,"mutability":"mutable","name":"m4","nameLocation":"315677:2:19","nodeType":"VariableDeclaration","scope":36233,"src":"315669:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36217,"name":"bytes32","nodeType":"ElementaryTypeName","src":"315669:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36219,"nodeType":"VariableDeclarationStatement","src":"315669:10:19"},{"assignments":[36221],"declarations":[{"constant":false,"id":36221,"mutability":"mutable","name":"m5","nameLocation":"315697:2:19","nodeType":"VariableDeclaration","scope":36233,"src":"315689:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36220,"name":"bytes32","nodeType":"ElementaryTypeName","src":"315689:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36222,"nodeType":"VariableDeclarationStatement","src":"315689:10:19"},{"assignments":[36224],"declarations":[{"constant":false,"id":36224,"mutability":"mutable","name":"m6","nameLocation":"315717:2:19","nodeType":"VariableDeclaration","scope":36233,"src":"315709:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36223,"name":"bytes32","nodeType":"ElementaryTypeName","src":"315709:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36225,"nodeType":"VariableDeclarationStatement","src":"315709:10:19"},{"AST":{"nativeSrc":"315781:828:19","nodeType":"YulBlock","src":"315781:828:19","statements":[{"body":{"nativeSrc":"315824:313:19","nodeType":"YulBlock","src":"315824:313:19","statements":[{"nativeSrc":"315842:15:19","nodeType":"YulVariableDeclaration","src":"315842:15:19","value":{"kind":"number","nativeSrc":"315856:1:19","nodeType":"YulLiteral","src":"315856:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"315846:6:19","nodeType":"YulTypedName","src":"315846:6:19","type":""}]},{"body":{"nativeSrc":"315927:40:19","nodeType":"YulBlock","src":"315927:40:19","statements":[{"body":{"nativeSrc":"315956:9:19","nodeType":"YulBlock","src":"315956:9:19","statements":[{"nativeSrc":"315958:5:19","nodeType":"YulBreak","src":"315958:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"315944:6:19","nodeType":"YulIdentifier","src":"315944:6:19"},{"name":"w","nativeSrc":"315952:1:19","nodeType":"YulIdentifier","src":"315952:1:19"}],"functionName":{"name":"byte","nativeSrc":"315939:4:19","nodeType":"YulIdentifier","src":"315939:4:19"},"nativeSrc":"315939:15:19","nodeType":"YulFunctionCall","src":"315939:15:19"}],"functionName":{"name":"iszero","nativeSrc":"315932:6:19","nodeType":"YulIdentifier","src":"315932:6:19"},"nativeSrc":"315932:23:19","nodeType":"YulFunctionCall","src":"315932:23:19"},"nativeSrc":"315929:36:19","nodeType":"YulIf","src":"315929:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"315884:6:19","nodeType":"YulIdentifier","src":"315884:6:19"},{"kind":"number","nativeSrc":"315892:4:19","nodeType":"YulLiteral","src":"315892:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"315881:2:19","nodeType":"YulIdentifier","src":"315881:2:19"},"nativeSrc":"315881:16:19","nodeType":"YulFunctionCall","src":"315881:16:19"},"nativeSrc":"315874:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"315898:28:19","nodeType":"YulBlock","src":"315898:28:19","statements":[{"nativeSrc":"315900:24:19","nodeType":"YulAssignment","src":"315900:24:19","value":{"arguments":[{"name":"length","nativeSrc":"315914:6:19","nodeType":"YulIdentifier","src":"315914:6:19"},{"kind":"number","nativeSrc":"315922:1:19","nodeType":"YulLiteral","src":"315922:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"315910:3:19","nodeType":"YulIdentifier","src":"315910:3:19"},"nativeSrc":"315910:14:19","nodeType":"YulFunctionCall","src":"315910:14:19"},"variableNames":[{"name":"length","nativeSrc":"315900:6:19","nodeType":"YulIdentifier","src":"315900:6:19"}]}]},"pre":{"nativeSrc":"315878:2:19","nodeType":"YulBlock","src":"315878:2:19","statements":[]},"src":"315874:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"315991:3:19","nodeType":"YulIdentifier","src":"315991:3:19"},{"name":"length","nativeSrc":"315996:6:19","nodeType":"YulIdentifier","src":"315996:6:19"}],"functionName":{"name":"mstore","nativeSrc":"315984:6:19","nodeType":"YulIdentifier","src":"315984:6:19"},"nativeSrc":"315984:19:19","nodeType":"YulFunctionCall","src":"315984:19:19"},"nativeSrc":"315984:19:19","nodeType":"YulExpressionStatement","src":"315984:19:19"},{"nativeSrc":"316020:37:19","nodeType":"YulVariableDeclaration","src":"316020:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"316037:3:19","nodeType":"YulLiteral","src":"316037:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"316046:1:19","nodeType":"YulLiteral","src":"316046:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"316049:6:19","nodeType":"YulIdentifier","src":"316049:6:19"}],"functionName":{"name":"shl","nativeSrc":"316042:3:19","nodeType":"YulIdentifier","src":"316042:3:19"},"nativeSrc":"316042:14:19","nodeType":"YulFunctionCall","src":"316042:14:19"}],"functionName":{"name":"sub","nativeSrc":"316033:3:19","nodeType":"YulIdentifier","src":"316033:3:19"},"nativeSrc":"316033:24:19","nodeType":"YulFunctionCall","src":"316033:24:19"},"variables":[{"name":"shift","nativeSrc":"316024:5:19","nodeType":"YulTypedName","src":"316024:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"316085:3:19","nodeType":"YulIdentifier","src":"316085:3:19"},{"kind":"number","nativeSrc":"316090:4:19","nodeType":"YulLiteral","src":"316090:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"316081:3:19","nodeType":"YulIdentifier","src":"316081:3:19"},"nativeSrc":"316081:14:19","nodeType":"YulFunctionCall","src":"316081:14:19"},{"arguments":[{"name":"shift","nativeSrc":"316101:5:19","nodeType":"YulIdentifier","src":"316101:5:19"},{"arguments":[{"name":"shift","nativeSrc":"316112:5:19","nodeType":"YulIdentifier","src":"316112:5:19"},{"name":"w","nativeSrc":"316119:1:19","nodeType":"YulIdentifier","src":"316119:1:19"}],"functionName":{"name":"shr","nativeSrc":"316108:3:19","nodeType":"YulIdentifier","src":"316108:3:19"},"nativeSrc":"316108:13:19","nodeType":"YulFunctionCall","src":"316108:13:19"}],"functionName":{"name":"shl","nativeSrc":"316097:3:19","nodeType":"YulIdentifier","src":"316097:3:19"},"nativeSrc":"316097:25:19","nodeType":"YulFunctionCall","src":"316097:25:19"}],"functionName":{"name":"mstore","nativeSrc":"316074:6:19","nodeType":"YulIdentifier","src":"316074:6:19"},"nativeSrc":"316074:49:19","nodeType":"YulFunctionCall","src":"316074:49:19"},"nativeSrc":"316074:49:19","nodeType":"YulExpressionStatement","src":"316074:49:19"}]},"name":"writeString","nativeSrc":"315795:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"315816:3:19","nodeType":"YulTypedName","src":"315816:3:19","type":""},{"name":"w","nativeSrc":"315821:1:19","nodeType":"YulTypedName","src":"315821:1:19","type":""}],"src":"315795:342:19"},{"nativeSrc":"316150:17:19","nodeType":"YulAssignment","src":"316150:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"316162:4:19","nodeType":"YulLiteral","src":"316162:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"316156:5:19","nodeType":"YulIdentifier","src":"316156:5:19"},"nativeSrc":"316156:11:19","nodeType":"YulFunctionCall","src":"316156:11:19"},"variableNames":[{"name":"m0","nativeSrc":"316150:2:19","nodeType":"YulIdentifier","src":"316150:2:19"}]},{"nativeSrc":"316180:17:19","nodeType":"YulAssignment","src":"316180:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"316192:4:19","nodeType":"YulLiteral","src":"316192:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"316186:5:19","nodeType":"YulIdentifier","src":"316186:5:19"},"nativeSrc":"316186:11:19","nodeType":"YulFunctionCall","src":"316186:11:19"},"variableNames":[{"name":"m1","nativeSrc":"316180:2:19","nodeType":"YulIdentifier","src":"316180:2:19"}]},{"nativeSrc":"316210:17:19","nodeType":"YulAssignment","src":"316210:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"316222:4:19","nodeType":"YulLiteral","src":"316222:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"316216:5:19","nodeType":"YulIdentifier","src":"316216:5:19"},"nativeSrc":"316216:11:19","nodeType":"YulFunctionCall","src":"316216:11:19"},"variableNames":[{"name":"m2","nativeSrc":"316210:2:19","nodeType":"YulIdentifier","src":"316210:2:19"}]},{"nativeSrc":"316240:17:19","nodeType":"YulAssignment","src":"316240:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"316252:4:19","nodeType":"YulLiteral","src":"316252:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"316246:5:19","nodeType":"YulIdentifier","src":"316246:5:19"},"nativeSrc":"316246:11:19","nodeType":"YulFunctionCall","src":"316246:11:19"},"variableNames":[{"name":"m3","nativeSrc":"316240:2:19","nodeType":"YulIdentifier","src":"316240:2:19"}]},{"nativeSrc":"316270:17:19","nodeType":"YulAssignment","src":"316270:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"316282:4:19","nodeType":"YulLiteral","src":"316282:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"316276:5:19","nodeType":"YulIdentifier","src":"316276:5:19"},"nativeSrc":"316276:11:19","nodeType":"YulFunctionCall","src":"316276:11:19"},"variableNames":[{"name":"m4","nativeSrc":"316270:2:19","nodeType":"YulIdentifier","src":"316270:2:19"}]},{"nativeSrc":"316300:17:19","nodeType":"YulAssignment","src":"316300:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"316312:4:19","nodeType":"YulLiteral","src":"316312:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"316306:5:19","nodeType":"YulIdentifier","src":"316306:5:19"},"nativeSrc":"316306:11:19","nodeType":"YulFunctionCall","src":"316306:11:19"},"variableNames":[{"name":"m5","nativeSrc":"316300:2:19","nodeType":"YulIdentifier","src":"316300:2:19"}]},{"nativeSrc":"316330:17:19","nodeType":"YulAssignment","src":"316330:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"316342:4:19","nodeType":"YulLiteral","src":"316342:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"316336:5:19","nodeType":"YulIdentifier","src":"316336:5:19"},"nativeSrc":"316336:11:19","nodeType":"YulFunctionCall","src":"316336:11:19"},"variableNames":[{"name":"m6","nativeSrc":"316330:2:19","nodeType":"YulIdentifier","src":"316330:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316430:4:19","nodeType":"YulLiteral","src":"316430:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"316436:10:19","nodeType":"YulLiteral","src":"316436:10:19","type":"","value":"0x691a8f74"}],"functionName":{"name":"mstore","nativeSrc":"316423:6:19","nodeType":"YulIdentifier","src":"316423:6:19"},"nativeSrc":"316423:24:19","nodeType":"YulFunctionCall","src":"316423:24:19"},"nativeSrc":"316423:24:19","nodeType":"YulExpressionStatement","src":"316423:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316467:4:19","nodeType":"YulLiteral","src":"316467:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"316473:2:19","nodeType":"YulIdentifier","src":"316473:2:19"}],"functionName":{"name":"mstore","nativeSrc":"316460:6:19","nodeType":"YulIdentifier","src":"316460:6:19"},"nativeSrc":"316460:16:19","nodeType":"YulFunctionCall","src":"316460:16:19"},"nativeSrc":"316460:16:19","nodeType":"YulExpressionStatement","src":"316460:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316496:4:19","nodeType":"YulLiteral","src":"316496:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"316502:4:19","nodeType":"YulLiteral","src":"316502:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"316489:6:19","nodeType":"YulIdentifier","src":"316489:6:19"},"nativeSrc":"316489:18:19","nodeType":"YulFunctionCall","src":"316489:18:19"},"nativeSrc":"316489:18:19","nodeType":"YulExpressionStatement","src":"316489:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316527:4:19","nodeType":"YulLiteral","src":"316527:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"316533:2:19","nodeType":"YulIdentifier","src":"316533:2:19"}],"functionName":{"name":"mstore","nativeSrc":"316520:6:19","nodeType":"YulIdentifier","src":"316520:6:19"},"nativeSrc":"316520:16:19","nodeType":"YulFunctionCall","src":"316520:16:19"},"nativeSrc":"316520:16:19","nodeType":"YulExpressionStatement","src":"316520:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316556:4:19","nodeType":"YulLiteral","src":"316556:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"316562:2:19","nodeType":"YulIdentifier","src":"316562:2:19"}],"functionName":{"name":"mstore","nativeSrc":"316549:6:19","nodeType":"YulIdentifier","src":"316549:6:19"},"nativeSrc":"316549:16:19","nodeType":"YulFunctionCall","src":"316549:16:19"},"nativeSrc":"316549:16:19","nodeType":"YulExpressionStatement","src":"316549:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316590:4:19","nodeType":"YulLiteral","src":"316590:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"316596:2:19","nodeType":"YulIdentifier","src":"316596:2:19"}],"functionName":{"name":"writeString","nativeSrc":"316578:11:19","nodeType":"YulIdentifier","src":"316578:11:19"},"nativeSrc":"316578:21:19","nodeType":"YulFunctionCall","src":"316578:21:19"},"nativeSrc":"316578:21:19","nodeType":"YulExpressionStatement","src":"316578:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36206,"isOffset":false,"isSlot":false,"src":"316150:2:19","valueSize":1},{"declaration":36209,"isOffset":false,"isSlot":false,"src":"316180:2:19","valueSize":1},{"declaration":36212,"isOffset":false,"isSlot":false,"src":"316210:2:19","valueSize":1},{"declaration":36215,"isOffset":false,"isSlot":false,"src":"316240:2:19","valueSize":1},{"declaration":36218,"isOffset":false,"isSlot":false,"src":"316270:2:19","valueSize":1},{"declaration":36221,"isOffset":false,"isSlot":false,"src":"316300:2:19","valueSize":1},{"declaration":36224,"isOffset":false,"isSlot":false,"src":"316330:2:19","valueSize":1},{"declaration":36196,"isOffset":false,"isSlot":false,"src":"316473:2:19","valueSize":1},{"declaration":36198,"isOffset":false,"isSlot":false,"src":"316596:2:19","valueSize":1},{"declaration":36200,"isOffset":false,"isSlot":false,"src":"316533:2:19","valueSize":1},{"declaration":36202,"isOffset":false,"isSlot":false,"src":"316562:2:19","valueSize":1}],"id":36226,"nodeType":"InlineAssembly","src":"315772:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":36228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"316634:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"316640:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36227,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"316618:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"316618:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36231,"nodeType":"ExpressionStatement","src":"316618:27:19"},{"AST":{"nativeSrc":"316707:214:19","nodeType":"YulBlock","src":"316707:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"316728:4:19","nodeType":"YulLiteral","src":"316728:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"316734:2:19","nodeType":"YulIdentifier","src":"316734:2:19"}],"functionName":{"name":"mstore","nativeSrc":"316721:6:19","nodeType":"YulIdentifier","src":"316721:6:19"},"nativeSrc":"316721:16:19","nodeType":"YulFunctionCall","src":"316721:16:19"},"nativeSrc":"316721:16:19","nodeType":"YulExpressionStatement","src":"316721:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316757:4:19","nodeType":"YulLiteral","src":"316757:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"316763:2:19","nodeType":"YulIdentifier","src":"316763:2:19"}],"functionName":{"name":"mstore","nativeSrc":"316750:6:19","nodeType":"YulIdentifier","src":"316750:6:19"},"nativeSrc":"316750:16:19","nodeType":"YulFunctionCall","src":"316750:16:19"},"nativeSrc":"316750:16:19","nodeType":"YulExpressionStatement","src":"316750:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316786:4:19","nodeType":"YulLiteral","src":"316786:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"316792:2:19","nodeType":"YulIdentifier","src":"316792:2:19"}],"functionName":{"name":"mstore","nativeSrc":"316779:6:19","nodeType":"YulIdentifier","src":"316779:6:19"},"nativeSrc":"316779:16:19","nodeType":"YulFunctionCall","src":"316779:16:19"},"nativeSrc":"316779:16:19","nodeType":"YulExpressionStatement","src":"316779:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316815:4:19","nodeType":"YulLiteral","src":"316815:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"316821:2:19","nodeType":"YulIdentifier","src":"316821:2:19"}],"functionName":{"name":"mstore","nativeSrc":"316808:6:19","nodeType":"YulIdentifier","src":"316808:6:19"},"nativeSrc":"316808:16:19","nodeType":"YulFunctionCall","src":"316808:16:19"},"nativeSrc":"316808:16:19","nodeType":"YulExpressionStatement","src":"316808:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316844:4:19","nodeType":"YulLiteral","src":"316844:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"316850:2:19","nodeType":"YulIdentifier","src":"316850:2:19"}],"functionName":{"name":"mstore","nativeSrc":"316837:6:19","nodeType":"YulIdentifier","src":"316837:6:19"},"nativeSrc":"316837:16:19","nodeType":"YulFunctionCall","src":"316837:16:19"},"nativeSrc":"316837:16:19","nodeType":"YulExpressionStatement","src":"316837:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316873:4:19","nodeType":"YulLiteral","src":"316873:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"316879:2:19","nodeType":"YulIdentifier","src":"316879:2:19"}],"functionName":{"name":"mstore","nativeSrc":"316866:6:19","nodeType":"YulIdentifier","src":"316866:6:19"},"nativeSrc":"316866:16:19","nodeType":"YulFunctionCall","src":"316866:16:19"},"nativeSrc":"316866:16:19","nodeType":"YulExpressionStatement","src":"316866:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"316902:4:19","nodeType":"YulLiteral","src":"316902:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"316908:2:19","nodeType":"YulIdentifier","src":"316908:2:19"}],"functionName":{"name":"mstore","nativeSrc":"316895:6:19","nodeType":"YulIdentifier","src":"316895:6:19"},"nativeSrc":"316895:16:19","nodeType":"YulFunctionCall","src":"316895:16:19"},"nativeSrc":"316895:16:19","nodeType":"YulExpressionStatement","src":"316895:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36206,"isOffset":false,"isSlot":false,"src":"316734:2:19","valueSize":1},{"declaration":36209,"isOffset":false,"isSlot":false,"src":"316763:2:19","valueSize":1},{"declaration":36212,"isOffset":false,"isSlot":false,"src":"316792:2:19","valueSize":1},{"declaration":36215,"isOffset":false,"isSlot":false,"src":"316821:2:19","valueSize":1},{"declaration":36218,"isOffset":false,"isSlot":false,"src":"316850:2:19","valueSize":1},{"declaration":36221,"isOffset":false,"isSlot":false,"src":"316879:2:19","valueSize":1},{"declaration":36224,"isOffset":false,"isSlot":false,"src":"316908:2:19","valueSize":1}],"id":36232,"nodeType":"InlineAssembly","src":"316698:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"315516:3:19","parameters":{"id":36203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36196,"mutability":"mutable","name":"p0","nameLocation":"315528:2:19","nodeType":"VariableDeclaration","scope":36234,"src":"315520:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36195,"name":"uint256","nodeType":"ElementaryTypeName","src":"315520:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36198,"mutability":"mutable","name":"p1","nameLocation":"315540:2:19","nodeType":"VariableDeclaration","scope":36234,"src":"315532:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36197,"name":"bytes32","nodeType":"ElementaryTypeName","src":"315532:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36200,"mutability":"mutable","name":"p2","nameLocation":"315552:2:19","nodeType":"VariableDeclaration","scope":36234,"src":"315544:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36199,"name":"uint256","nodeType":"ElementaryTypeName","src":"315544:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36202,"mutability":"mutable","name":"p3","nameLocation":"315561:2:19","nodeType":"VariableDeclaration","scope":36234,"src":"315556:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36201,"name":"bool","nodeType":"ElementaryTypeName","src":"315556:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"315519:45:19"},"returnParameters":{"id":36204,"nodeType":"ParameterList","parameters":[],"src":"315579:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36274,"nodeType":"FunctionDefinition","src":"316933:1426:19","nodes":[],"body":{"id":36273,"nodeType":"Block","src":"317008:1351:19","nodes":[],"statements":[{"assignments":[36246],"declarations":[{"constant":false,"id":36246,"mutability":"mutable","name":"m0","nameLocation":"317026:2:19","nodeType":"VariableDeclaration","scope":36273,"src":"317018:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36245,"name":"bytes32","nodeType":"ElementaryTypeName","src":"317018:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36247,"nodeType":"VariableDeclarationStatement","src":"317018:10:19"},{"assignments":[36249],"declarations":[{"constant":false,"id":36249,"mutability":"mutable","name":"m1","nameLocation":"317046:2:19","nodeType":"VariableDeclaration","scope":36273,"src":"317038:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36248,"name":"bytes32","nodeType":"ElementaryTypeName","src":"317038:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36250,"nodeType":"VariableDeclarationStatement","src":"317038:10:19"},{"assignments":[36252],"declarations":[{"constant":false,"id":36252,"mutability":"mutable","name":"m2","nameLocation":"317066:2:19","nodeType":"VariableDeclaration","scope":36273,"src":"317058:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36251,"name":"bytes32","nodeType":"ElementaryTypeName","src":"317058:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36253,"nodeType":"VariableDeclarationStatement","src":"317058:10:19"},{"assignments":[36255],"declarations":[{"constant":false,"id":36255,"mutability":"mutable","name":"m3","nameLocation":"317086:2:19","nodeType":"VariableDeclaration","scope":36273,"src":"317078:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36254,"name":"bytes32","nodeType":"ElementaryTypeName","src":"317078:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36256,"nodeType":"VariableDeclarationStatement","src":"317078:10:19"},{"assignments":[36258],"declarations":[{"constant":false,"id":36258,"mutability":"mutable","name":"m4","nameLocation":"317106:2:19","nodeType":"VariableDeclaration","scope":36273,"src":"317098:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36257,"name":"bytes32","nodeType":"ElementaryTypeName","src":"317098:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36259,"nodeType":"VariableDeclarationStatement","src":"317098:10:19"},{"assignments":[36261],"declarations":[{"constant":false,"id":36261,"mutability":"mutable","name":"m5","nameLocation":"317126:2:19","nodeType":"VariableDeclaration","scope":36273,"src":"317118:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36260,"name":"bytes32","nodeType":"ElementaryTypeName","src":"317118:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36262,"nodeType":"VariableDeclarationStatement","src":"317118:10:19"},{"assignments":[36264],"declarations":[{"constant":false,"id":36264,"mutability":"mutable","name":"m6","nameLocation":"317146:2:19","nodeType":"VariableDeclaration","scope":36273,"src":"317138:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36263,"name":"bytes32","nodeType":"ElementaryTypeName","src":"317138:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36265,"nodeType":"VariableDeclarationStatement","src":"317138:10:19"},{"AST":{"nativeSrc":"317210:831:19","nodeType":"YulBlock","src":"317210:831:19","statements":[{"body":{"nativeSrc":"317253:313:19","nodeType":"YulBlock","src":"317253:313:19","statements":[{"nativeSrc":"317271:15:19","nodeType":"YulVariableDeclaration","src":"317271:15:19","value":{"kind":"number","nativeSrc":"317285:1:19","nodeType":"YulLiteral","src":"317285:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"317275:6:19","nodeType":"YulTypedName","src":"317275:6:19","type":""}]},{"body":{"nativeSrc":"317356:40:19","nodeType":"YulBlock","src":"317356:40:19","statements":[{"body":{"nativeSrc":"317385:9:19","nodeType":"YulBlock","src":"317385:9:19","statements":[{"nativeSrc":"317387:5:19","nodeType":"YulBreak","src":"317387:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"317373:6:19","nodeType":"YulIdentifier","src":"317373:6:19"},{"name":"w","nativeSrc":"317381:1:19","nodeType":"YulIdentifier","src":"317381:1:19"}],"functionName":{"name":"byte","nativeSrc":"317368:4:19","nodeType":"YulIdentifier","src":"317368:4:19"},"nativeSrc":"317368:15:19","nodeType":"YulFunctionCall","src":"317368:15:19"}],"functionName":{"name":"iszero","nativeSrc":"317361:6:19","nodeType":"YulIdentifier","src":"317361:6:19"},"nativeSrc":"317361:23:19","nodeType":"YulFunctionCall","src":"317361:23:19"},"nativeSrc":"317358:36:19","nodeType":"YulIf","src":"317358:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"317313:6:19","nodeType":"YulIdentifier","src":"317313:6:19"},{"kind":"number","nativeSrc":"317321:4:19","nodeType":"YulLiteral","src":"317321:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"317310:2:19","nodeType":"YulIdentifier","src":"317310:2:19"},"nativeSrc":"317310:16:19","nodeType":"YulFunctionCall","src":"317310:16:19"},"nativeSrc":"317303:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"317327:28:19","nodeType":"YulBlock","src":"317327:28:19","statements":[{"nativeSrc":"317329:24:19","nodeType":"YulAssignment","src":"317329:24:19","value":{"arguments":[{"name":"length","nativeSrc":"317343:6:19","nodeType":"YulIdentifier","src":"317343:6:19"},{"kind":"number","nativeSrc":"317351:1:19","nodeType":"YulLiteral","src":"317351:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"317339:3:19","nodeType":"YulIdentifier","src":"317339:3:19"},"nativeSrc":"317339:14:19","nodeType":"YulFunctionCall","src":"317339:14:19"},"variableNames":[{"name":"length","nativeSrc":"317329:6:19","nodeType":"YulIdentifier","src":"317329:6:19"}]}]},"pre":{"nativeSrc":"317307:2:19","nodeType":"YulBlock","src":"317307:2:19","statements":[]},"src":"317303:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"317420:3:19","nodeType":"YulIdentifier","src":"317420:3:19"},{"name":"length","nativeSrc":"317425:6:19","nodeType":"YulIdentifier","src":"317425:6:19"}],"functionName":{"name":"mstore","nativeSrc":"317413:6:19","nodeType":"YulIdentifier","src":"317413:6:19"},"nativeSrc":"317413:19:19","nodeType":"YulFunctionCall","src":"317413:19:19"},"nativeSrc":"317413:19:19","nodeType":"YulExpressionStatement","src":"317413:19:19"},{"nativeSrc":"317449:37:19","nodeType":"YulVariableDeclaration","src":"317449:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"317466:3:19","nodeType":"YulLiteral","src":"317466:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"317475:1:19","nodeType":"YulLiteral","src":"317475:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"317478:6:19","nodeType":"YulIdentifier","src":"317478:6:19"}],"functionName":{"name":"shl","nativeSrc":"317471:3:19","nodeType":"YulIdentifier","src":"317471:3:19"},"nativeSrc":"317471:14:19","nodeType":"YulFunctionCall","src":"317471:14:19"}],"functionName":{"name":"sub","nativeSrc":"317462:3:19","nodeType":"YulIdentifier","src":"317462:3:19"},"nativeSrc":"317462:24:19","nodeType":"YulFunctionCall","src":"317462:24:19"},"variables":[{"name":"shift","nativeSrc":"317453:5:19","nodeType":"YulTypedName","src":"317453:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"317514:3:19","nodeType":"YulIdentifier","src":"317514:3:19"},{"kind":"number","nativeSrc":"317519:4:19","nodeType":"YulLiteral","src":"317519:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"317510:3:19","nodeType":"YulIdentifier","src":"317510:3:19"},"nativeSrc":"317510:14:19","nodeType":"YulFunctionCall","src":"317510:14:19"},{"arguments":[{"name":"shift","nativeSrc":"317530:5:19","nodeType":"YulIdentifier","src":"317530:5:19"},{"arguments":[{"name":"shift","nativeSrc":"317541:5:19","nodeType":"YulIdentifier","src":"317541:5:19"},{"name":"w","nativeSrc":"317548:1:19","nodeType":"YulIdentifier","src":"317548:1:19"}],"functionName":{"name":"shr","nativeSrc":"317537:3:19","nodeType":"YulIdentifier","src":"317537:3:19"},"nativeSrc":"317537:13:19","nodeType":"YulFunctionCall","src":"317537:13:19"}],"functionName":{"name":"shl","nativeSrc":"317526:3:19","nodeType":"YulIdentifier","src":"317526:3:19"},"nativeSrc":"317526:25:19","nodeType":"YulFunctionCall","src":"317526:25:19"}],"functionName":{"name":"mstore","nativeSrc":"317503:6:19","nodeType":"YulIdentifier","src":"317503:6:19"},"nativeSrc":"317503:49:19","nodeType":"YulFunctionCall","src":"317503:49:19"},"nativeSrc":"317503:49:19","nodeType":"YulExpressionStatement","src":"317503:49:19"}]},"name":"writeString","nativeSrc":"317224:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"317245:3:19","nodeType":"YulTypedName","src":"317245:3:19","type":""},{"name":"w","nativeSrc":"317250:1:19","nodeType":"YulTypedName","src":"317250:1:19","type":""}],"src":"317224:342:19"},{"nativeSrc":"317579:17:19","nodeType":"YulAssignment","src":"317579:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"317591:4:19","nodeType":"YulLiteral","src":"317591:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"317585:5:19","nodeType":"YulIdentifier","src":"317585:5:19"},"nativeSrc":"317585:11:19","nodeType":"YulFunctionCall","src":"317585:11:19"},"variableNames":[{"name":"m0","nativeSrc":"317579:2:19","nodeType":"YulIdentifier","src":"317579:2:19"}]},{"nativeSrc":"317609:17:19","nodeType":"YulAssignment","src":"317609:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"317621:4:19","nodeType":"YulLiteral","src":"317621:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"317615:5:19","nodeType":"YulIdentifier","src":"317615:5:19"},"nativeSrc":"317615:11:19","nodeType":"YulFunctionCall","src":"317615:11:19"},"variableNames":[{"name":"m1","nativeSrc":"317609:2:19","nodeType":"YulIdentifier","src":"317609:2:19"}]},{"nativeSrc":"317639:17:19","nodeType":"YulAssignment","src":"317639:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"317651:4:19","nodeType":"YulLiteral","src":"317651:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"317645:5:19","nodeType":"YulIdentifier","src":"317645:5:19"},"nativeSrc":"317645:11:19","nodeType":"YulFunctionCall","src":"317645:11:19"},"variableNames":[{"name":"m2","nativeSrc":"317639:2:19","nodeType":"YulIdentifier","src":"317639:2:19"}]},{"nativeSrc":"317669:17:19","nodeType":"YulAssignment","src":"317669:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"317681:4:19","nodeType":"YulLiteral","src":"317681:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"317675:5:19","nodeType":"YulIdentifier","src":"317675:5:19"},"nativeSrc":"317675:11:19","nodeType":"YulFunctionCall","src":"317675:11:19"},"variableNames":[{"name":"m3","nativeSrc":"317669:2:19","nodeType":"YulIdentifier","src":"317669:2:19"}]},{"nativeSrc":"317699:17:19","nodeType":"YulAssignment","src":"317699:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"317711:4:19","nodeType":"YulLiteral","src":"317711:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"317705:5:19","nodeType":"YulIdentifier","src":"317705:5:19"},"nativeSrc":"317705:11:19","nodeType":"YulFunctionCall","src":"317705:11:19"},"variableNames":[{"name":"m4","nativeSrc":"317699:2:19","nodeType":"YulIdentifier","src":"317699:2:19"}]},{"nativeSrc":"317729:17:19","nodeType":"YulAssignment","src":"317729:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"317741:4:19","nodeType":"YulLiteral","src":"317741:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"317735:5:19","nodeType":"YulIdentifier","src":"317735:5:19"},"nativeSrc":"317735:11:19","nodeType":"YulFunctionCall","src":"317735:11:19"},"variableNames":[{"name":"m5","nativeSrc":"317729:2:19","nodeType":"YulIdentifier","src":"317729:2:19"}]},{"nativeSrc":"317759:17:19","nodeType":"YulAssignment","src":"317759:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"317771:4:19","nodeType":"YulLiteral","src":"317771:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"317765:5:19","nodeType":"YulIdentifier","src":"317765:5:19"},"nativeSrc":"317765:11:19","nodeType":"YulFunctionCall","src":"317765:11:19"},"variableNames":[{"name":"m6","nativeSrc":"317759:2:19","nodeType":"YulIdentifier","src":"317759:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"317862:4:19","nodeType":"YulLiteral","src":"317862:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"317868:10:19","nodeType":"YulLiteral","src":"317868:10:19","type":"","value":"0x82c25b74"}],"functionName":{"name":"mstore","nativeSrc":"317855:6:19","nodeType":"YulIdentifier","src":"317855:6:19"},"nativeSrc":"317855:24:19","nodeType":"YulFunctionCall","src":"317855:24:19"},"nativeSrc":"317855:24:19","nodeType":"YulExpressionStatement","src":"317855:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"317899:4:19","nodeType":"YulLiteral","src":"317899:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"317905:2:19","nodeType":"YulIdentifier","src":"317905:2:19"}],"functionName":{"name":"mstore","nativeSrc":"317892:6:19","nodeType":"YulIdentifier","src":"317892:6:19"},"nativeSrc":"317892:16:19","nodeType":"YulFunctionCall","src":"317892:16:19"},"nativeSrc":"317892:16:19","nodeType":"YulExpressionStatement","src":"317892:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"317928:4:19","nodeType":"YulLiteral","src":"317928:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"317934:4:19","nodeType":"YulLiteral","src":"317934:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"317921:6:19","nodeType":"YulIdentifier","src":"317921:6:19"},"nativeSrc":"317921:18:19","nodeType":"YulFunctionCall","src":"317921:18:19"},"nativeSrc":"317921:18:19","nodeType":"YulExpressionStatement","src":"317921:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"317959:4:19","nodeType":"YulLiteral","src":"317959:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"317965:2:19","nodeType":"YulIdentifier","src":"317965:2:19"}],"functionName":{"name":"mstore","nativeSrc":"317952:6:19","nodeType":"YulIdentifier","src":"317952:6:19"},"nativeSrc":"317952:16:19","nodeType":"YulFunctionCall","src":"317952:16:19"},"nativeSrc":"317952:16:19","nodeType":"YulExpressionStatement","src":"317952:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"317988:4:19","nodeType":"YulLiteral","src":"317988:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"317994:2:19","nodeType":"YulIdentifier","src":"317994:2:19"}],"functionName":{"name":"mstore","nativeSrc":"317981:6:19","nodeType":"YulIdentifier","src":"317981:6:19"},"nativeSrc":"317981:16:19","nodeType":"YulFunctionCall","src":"317981:16:19"},"nativeSrc":"317981:16:19","nodeType":"YulExpressionStatement","src":"317981:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"318022:4:19","nodeType":"YulLiteral","src":"318022:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"318028:2:19","nodeType":"YulIdentifier","src":"318028:2:19"}],"functionName":{"name":"writeString","nativeSrc":"318010:11:19","nodeType":"YulIdentifier","src":"318010:11:19"},"nativeSrc":"318010:21:19","nodeType":"YulFunctionCall","src":"318010:21:19"},"nativeSrc":"318010:21:19","nodeType":"YulExpressionStatement","src":"318010:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36246,"isOffset":false,"isSlot":false,"src":"317579:2:19","valueSize":1},{"declaration":36249,"isOffset":false,"isSlot":false,"src":"317609:2:19","valueSize":1},{"declaration":36252,"isOffset":false,"isSlot":false,"src":"317639:2:19","valueSize":1},{"declaration":36255,"isOffset":false,"isSlot":false,"src":"317669:2:19","valueSize":1},{"declaration":36258,"isOffset":false,"isSlot":false,"src":"317699:2:19","valueSize":1},{"declaration":36261,"isOffset":false,"isSlot":false,"src":"317729:2:19","valueSize":1},{"declaration":36264,"isOffset":false,"isSlot":false,"src":"317759:2:19","valueSize":1},{"declaration":36236,"isOffset":false,"isSlot":false,"src":"317905:2:19","valueSize":1},{"declaration":36238,"isOffset":false,"isSlot":false,"src":"318028:2:19","valueSize":1},{"declaration":36240,"isOffset":false,"isSlot":false,"src":"317965:2:19","valueSize":1},{"declaration":36242,"isOffset":false,"isSlot":false,"src":"317994:2:19","valueSize":1}],"id":36266,"nodeType":"InlineAssembly","src":"317201:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":36268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"318066:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"318072:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36267,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"318050:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"318050:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36271,"nodeType":"ExpressionStatement","src":"318050:27:19"},{"AST":{"nativeSrc":"318139:214:19","nodeType":"YulBlock","src":"318139:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"318160:4:19","nodeType":"YulLiteral","src":"318160:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"318166:2:19","nodeType":"YulIdentifier","src":"318166:2:19"}],"functionName":{"name":"mstore","nativeSrc":"318153:6:19","nodeType":"YulIdentifier","src":"318153:6:19"},"nativeSrc":"318153:16:19","nodeType":"YulFunctionCall","src":"318153:16:19"},"nativeSrc":"318153:16:19","nodeType":"YulExpressionStatement","src":"318153:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"318189:4:19","nodeType":"YulLiteral","src":"318189:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"318195:2:19","nodeType":"YulIdentifier","src":"318195:2:19"}],"functionName":{"name":"mstore","nativeSrc":"318182:6:19","nodeType":"YulIdentifier","src":"318182:6:19"},"nativeSrc":"318182:16:19","nodeType":"YulFunctionCall","src":"318182:16:19"},"nativeSrc":"318182:16:19","nodeType":"YulExpressionStatement","src":"318182:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"318218:4:19","nodeType":"YulLiteral","src":"318218:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"318224:2:19","nodeType":"YulIdentifier","src":"318224:2:19"}],"functionName":{"name":"mstore","nativeSrc":"318211:6:19","nodeType":"YulIdentifier","src":"318211:6:19"},"nativeSrc":"318211:16:19","nodeType":"YulFunctionCall","src":"318211:16:19"},"nativeSrc":"318211:16:19","nodeType":"YulExpressionStatement","src":"318211:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"318247:4:19","nodeType":"YulLiteral","src":"318247:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"318253:2:19","nodeType":"YulIdentifier","src":"318253:2:19"}],"functionName":{"name":"mstore","nativeSrc":"318240:6:19","nodeType":"YulIdentifier","src":"318240:6:19"},"nativeSrc":"318240:16:19","nodeType":"YulFunctionCall","src":"318240:16:19"},"nativeSrc":"318240:16:19","nodeType":"YulExpressionStatement","src":"318240:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"318276:4:19","nodeType":"YulLiteral","src":"318276:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"318282:2:19","nodeType":"YulIdentifier","src":"318282:2:19"}],"functionName":{"name":"mstore","nativeSrc":"318269:6:19","nodeType":"YulIdentifier","src":"318269:6:19"},"nativeSrc":"318269:16:19","nodeType":"YulFunctionCall","src":"318269:16:19"},"nativeSrc":"318269:16:19","nodeType":"YulExpressionStatement","src":"318269:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"318305:4:19","nodeType":"YulLiteral","src":"318305:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"318311:2:19","nodeType":"YulIdentifier","src":"318311:2:19"}],"functionName":{"name":"mstore","nativeSrc":"318298:6:19","nodeType":"YulIdentifier","src":"318298:6:19"},"nativeSrc":"318298:16:19","nodeType":"YulFunctionCall","src":"318298:16:19"},"nativeSrc":"318298:16:19","nodeType":"YulExpressionStatement","src":"318298:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"318334:4:19","nodeType":"YulLiteral","src":"318334:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"318340:2:19","nodeType":"YulIdentifier","src":"318340:2:19"}],"functionName":{"name":"mstore","nativeSrc":"318327:6:19","nodeType":"YulIdentifier","src":"318327:6:19"},"nativeSrc":"318327:16:19","nodeType":"YulFunctionCall","src":"318327:16:19"},"nativeSrc":"318327:16:19","nodeType":"YulExpressionStatement","src":"318327:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36246,"isOffset":false,"isSlot":false,"src":"318166:2:19","valueSize":1},{"declaration":36249,"isOffset":false,"isSlot":false,"src":"318195:2:19","valueSize":1},{"declaration":36252,"isOffset":false,"isSlot":false,"src":"318224:2:19","valueSize":1},{"declaration":36255,"isOffset":false,"isSlot":false,"src":"318253:2:19","valueSize":1},{"declaration":36258,"isOffset":false,"isSlot":false,"src":"318282:2:19","valueSize":1},{"declaration":36261,"isOffset":false,"isSlot":false,"src":"318311:2:19","valueSize":1},{"declaration":36264,"isOffset":false,"isSlot":false,"src":"318340:2:19","valueSize":1}],"id":36272,"nodeType":"InlineAssembly","src":"318130:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"316942:3:19","parameters":{"id":36243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36236,"mutability":"mutable","name":"p0","nameLocation":"316954:2:19","nodeType":"VariableDeclaration","scope":36274,"src":"316946:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36235,"name":"uint256","nodeType":"ElementaryTypeName","src":"316946:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36238,"mutability":"mutable","name":"p1","nameLocation":"316966:2:19","nodeType":"VariableDeclaration","scope":36274,"src":"316958:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36237,"name":"bytes32","nodeType":"ElementaryTypeName","src":"316958:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36240,"mutability":"mutable","name":"p2","nameLocation":"316978:2:19","nodeType":"VariableDeclaration","scope":36274,"src":"316970:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36239,"name":"uint256","nodeType":"ElementaryTypeName","src":"316970:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36242,"mutability":"mutable","name":"p3","nameLocation":"316990:2:19","nodeType":"VariableDeclaration","scope":36274,"src":"316982:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36241,"name":"uint256","nodeType":"ElementaryTypeName","src":"316982:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"316945:48:19"},"returnParameters":{"id":36244,"nodeType":"ParameterList","parameters":[],"src":"317008:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36320,"nodeType":"FunctionDefinition","src":"318365:1622:19","nodes":[],"body":{"id":36319,"nodeType":"Block","src":"318440:1547:19","nodes":[],"statements":[{"assignments":[36286],"declarations":[{"constant":false,"id":36286,"mutability":"mutable","name":"m0","nameLocation":"318458:2:19","nodeType":"VariableDeclaration","scope":36319,"src":"318450:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36285,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318450:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36287,"nodeType":"VariableDeclarationStatement","src":"318450:10:19"},{"assignments":[36289],"declarations":[{"constant":false,"id":36289,"mutability":"mutable","name":"m1","nameLocation":"318478:2:19","nodeType":"VariableDeclaration","scope":36319,"src":"318470:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36288,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318470:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36290,"nodeType":"VariableDeclarationStatement","src":"318470:10:19"},{"assignments":[36292],"declarations":[{"constant":false,"id":36292,"mutability":"mutable","name":"m2","nameLocation":"318498:2:19","nodeType":"VariableDeclaration","scope":36319,"src":"318490:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36291,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318490:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36293,"nodeType":"VariableDeclarationStatement","src":"318490:10:19"},{"assignments":[36295],"declarations":[{"constant":false,"id":36295,"mutability":"mutable","name":"m3","nameLocation":"318518:2:19","nodeType":"VariableDeclaration","scope":36319,"src":"318510:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36294,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318510:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36296,"nodeType":"VariableDeclarationStatement","src":"318510:10:19"},{"assignments":[36298],"declarations":[{"constant":false,"id":36298,"mutability":"mutable","name":"m4","nameLocation":"318538:2:19","nodeType":"VariableDeclaration","scope":36319,"src":"318530:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36297,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318530:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36299,"nodeType":"VariableDeclarationStatement","src":"318530:10:19"},{"assignments":[36301],"declarations":[{"constant":false,"id":36301,"mutability":"mutable","name":"m5","nameLocation":"318558:2:19","nodeType":"VariableDeclaration","scope":36319,"src":"318550:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36300,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318550:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36302,"nodeType":"VariableDeclarationStatement","src":"318550:10:19"},{"assignments":[36304],"declarations":[{"constant":false,"id":36304,"mutability":"mutable","name":"m6","nameLocation":"318578:2:19","nodeType":"VariableDeclaration","scope":36319,"src":"318570:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36303,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318570:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36305,"nodeType":"VariableDeclarationStatement","src":"318570:10:19"},{"assignments":[36307],"declarations":[{"constant":false,"id":36307,"mutability":"mutable","name":"m7","nameLocation":"318598:2:19","nodeType":"VariableDeclaration","scope":36319,"src":"318590:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36306,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318590:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36308,"nodeType":"VariableDeclarationStatement","src":"318590:10:19"},{"assignments":[36310],"declarations":[{"constant":false,"id":36310,"mutability":"mutable","name":"m8","nameLocation":"318618:2:19","nodeType":"VariableDeclaration","scope":36319,"src":"318610:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36309,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318610:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36311,"nodeType":"VariableDeclarationStatement","src":"318610:10:19"},{"AST":{"nativeSrc":"318682:927:19","nodeType":"YulBlock","src":"318682:927:19","statements":[{"body":{"nativeSrc":"318725:313:19","nodeType":"YulBlock","src":"318725:313:19","statements":[{"nativeSrc":"318743:15:19","nodeType":"YulVariableDeclaration","src":"318743:15:19","value":{"kind":"number","nativeSrc":"318757:1:19","nodeType":"YulLiteral","src":"318757:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"318747:6:19","nodeType":"YulTypedName","src":"318747:6:19","type":""}]},{"body":{"nativeSrc":"318828:40:19","nodeType":"YulBlock","src":"318828:40:19","statements":[{"body":{"nativeSrc":"318857:9:19","nodeType":"YulBlock","src":"318857:9:19","statements":[{"nativeSrc":"318859:5:19","nodeType":"YulBreak","src":"318859:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"318845:6:19","nodeType":"YulIdentifier","src":"318845:6:19"},{"name":"w","nativeSrc":"318853:1:19","nodeType":"YulIdentifier","src":"318853:1:19"}],"functionName":{"name":"byte","nativeSrc":"318840:4:19","nodeType":"YulIdentifier","src":"318840:4:19"},"nativeSrc":"318840:15:19","nodeType":"YulFunctionCall","src":"318840:15:19"}],"functionName":{"name":"iszero","nativeSrc":"318833:6:19","nodeType":"YulIdentifier","src":"318833:6:19"},"nativeSrc":"318833:23:19","nodeType":"YulFunctionCall","src":"318833:23:19"},"nativeSrc":"318830:36:19","nodeType":"YulIf","src":"318830:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"318785:6:19","nodeType":"YulIdentifier","src":"318785:6:19"},{"kind":"number","nativeSrc":"318793:4:19","nodeType":"YulLiteral","src":"318793:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"318782:2:19","nodeType":"YulIdentifier","src":"318782:2:19"},"nativeSrc":"318782:16:19","nodeType":"YulFunctionCall","src":"318782:16:19"},"nativeSrc":"318775:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"318799:28:19","nodeType":"YulBlock","src":"318799:28:19","statements":[{"nativeSrc":"318801:24:19","nodeType":"YulAssignment","src":"318801:24:19","value":{"arguments":[{"name":"length","nativeSrc":"318815:6:19","nodeType":"YulIdentifier","src":"318815:6:19"},{"kind":"number","nativeSrc":"318823:1:19","nodeType":"YulLiteral","src":"318823:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"318811:3:19","nodeType":"YulIdentifier","src":"318811:3:19"},"nativeSrc":"318811:14:19","nodeType":"YulFunctionCall","src":"318811:14:19"},"variableNames":[{"name":"length","nativeSrc":"318801:6:19","nodeType":"YulIdentifier","src":"318801:6:19"}]}]},"pre":{"nativeSrc":"318779:2:19","nodeType":"YulBlock","src":"318779:2:19","statements":[]},"src":"318775:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"318892:3:19","nodeType":"YulIdentifier","src":"318892:3:19"},{"name":"length","nativeSrc":"318897:6:19","nodeType":"YulIdentifier","src":"318897:6:19"}],"functionName":{"name":"mstore","nativeSrc":"318885:6:19","nodeType":"YulIdentifier","src":"318885:6:19"},"nativeSrc":"318885:19:19","nodeType":"YulFunctionCall","src":"318885:19:19"},"nativeSrc":"318885:19:19","nodeType":"YulExpressionStatement","src":"318885:19:19"},{"nativeSrc":"318921:37:19","nodeType":"YulVariableDeclaration","src":"318921:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"318938:3:19","nodeType":"YulLiteral","src":"318938:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"318947:1:19","nodeType":"YulLiteral","src":"318947:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"318950:6:19","nodeType":"YulIdentifier","src":"318950:6:19"}],"functionName":{"name":"shl","nativeSrc":"318943:3:19","nodeType":"YulIdentifier","src":"318943:3:19"},"nativeSrc":"318943:14:19","nodeType":"YulFunctionCall","src":"318943:14:19"}],"functionName":{"name":"sub","nativeSrc":"318934:3:19","nodeType":"YulIdentifier","src":"318934:3:19"},"nativeSrc":"318934:24:19","nodeType":"YulFunctionCall","src":"318934:24:19"},"variables":[{"name":"shift","nativeSrc":"318925:5:19","nodeType":"YulTypedName","src":"318925:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"318986:3:19","nodeType":"YulIdentifier","src":"318986:3:19"},{"kind":"number","nativeSrc":"318991:4:19","nodeType":"YulLiteral","src":"318991:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"318982:3:19","nodeType":"YulIdentifier","src":"318982:3:19"},"nativeSrc":"318982:14:19","nodeType":"YulFunctionCall","src":"318982:14:19"},{"arguments":[{"name":"shift","nativeSrc":"319002:5:19","nodeType":"YulIdentifier","src":"319002:5:19"},{"arguments":[{"name":"shift","nativeSrc":"319013:5:19","nodeType":"YulIdentifier","src":"319013:5:19"},{"name":"w","nativeSrc":"319020:1:19","nodeType":"YulIdentifier","src":"319020:1:19"}],"functionName":{"name":"shr","nativeSrc":"319009:3:19","nodeType":"YulIdentifier","src":"319009:3:19"},"nativeSrc":"319009:13:19","nodeType":"YulFunctionCall","src":"319009:13:19"}],"functionName":{"name":"shl","nativeSrc":"318998:3:19","nodeType":"YulIdentifier","src":"318998:3:19"},"nativeSrc":"318998:25:19","nodeType":"YulFunctionCall","src":"318998:25:19"}],"functionName":{"name":"mstore","nativeSrc":"318975:6:19","nodeType":"YulIdentifier","src":"318975:6:19"},"nativeSrc":"318975:49:19","nodeType":"YulFunctionCall","src":"318975:49:19"},"nativeSrc":"318975:49:19","nodeType":"YulExpressionStatement","src":"318975:49:19"}]},"name":"writeString","nativeSrc":"318696:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"318717:3:19","nodeType":"YulTypedName","src":"318717:3:19","type":""},{"name":"w","nativeSrc":"318722:1:19","nodeType":"YulTypedName","src":"318722:1:19","type":""}],"src":"318696:342:19"},{"nativeSrc":"319051:17:19","nodeType":"YulAssignment","src":"319051:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"319063:4:19","nodeType":"YulLiteral","src":"319063:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"319057:5:19","nodeType":"YulIdentifier","src":"319057:5:19"},"nativeSrc":"319057:11:19","nodeType":"YulFunctionCall","src":"319057:11:19"},"variableNames":[{"name":"m0","nativeSrc":"319051:2:19","nodeType":"YulIdentifier","src":"319051:2:19"}]},{"nativeSrc":"319081:17:19","nodeType":"YulAssignment","src":"319081:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"319093:4:19","nodeType":"YulLiteral","src":"319093:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"319087:5:19","nodeType":"YulIdentifier","src":"319087:5:19"},"nativeSrc":"319087:11:19","nodeType":"YulFunctionCall","src":"319087:11:19"},"variableNames":[{"name":"m1","nativeSrc":"319081:2:19","nodeType":"YulIdentifier","src":"319081:2:19"}]},{"nativeSrc":"319111:17:19","nodeType":"YulAssignment","src":"319111:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"319123:4:19","nodeType":"YulLiteral","src":"319123:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"319117:5:19","nodeType":"YulIdentifier","src":"319117:5:19"},"nativeSrc":"319117:11:19","nodeType":"YulFunctionCall","src":"319117:11:19"},"variableNames":[{"name":"m2","nativeSrc":"319111:2:19","nodeType":"YulIdentifier","src":"319111:2:19"}]},{"nativeSrc":"319141:17:19","nodeType":"YulAssignment","src":"319141:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"319153:4:19","nodeType":"YulLiteral","src":"319153:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"319147:5:19","nodeType":"YulIdentifier","src":"319147:5:19"},"nativeSrc":"319147:11:19","nodeType":"YulFunctionCall","src":"319147:11:19"},"variableNames":[{"name":"m3","nativeSrc":"319141:2:19","nodeType":"YulIdentifier","src":"319141:2:19"}]},{"nativeSrc":"319171:17:19","nodeType":"YulAssignment","src":"319171:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"319183:4:19","nodeType":"YulLiteral","src":"319183:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"319177:5:19","nodeType":"YulIdentifier","src":"319177:5:19"},"nativeSrc":"319177:11:19","nodeType":"YulFunctionCall","src":"319177:11:19"},"variableNames":[{"name":"m4","nativeSrc":"319171:2:19","nodeType":"YulIdentifier","src":"319171:2:19"}]},{"nativeSrc":"319201:17:19","nodeType":"YulAssignment","src":"319201:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"319213:4:19","nodeType":"YulLiteral","src":"319213:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"319207:5:19","nodeType":"YulIdentifier","src":"319207:5:19"},"nativeSrc":"319207:11:19","nodeType":"YulFunctionCall","src":"319207:11:19"},"variableNames":[{"name":"m5","nativeSrc":"319201:2:19","nodeType":"YulIdentifier","src":"319201:2:19"}]},{"nativeSrc":"319231:17:19","nodeType":"YulAssignment","src":"319231:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"319243:4:19","nodeType":"YulLiteral","src":"319243:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"319237:5:19","nodeType":"YulIdentifier","src":"319237:5:19"},"nativeSrc":"319237:11:19","nodeType":"YulFunctionCall","src":"319237:11:19"},"variableNames":[{"name":"m6","nativeSrc":"319231:2:19","nodeType":"YulIdentifier","src":"319231:2:19"}]},{"nativeSrc":"319261:17:19","nodeType":"YulAssignment","src":"319261:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"319273:4:19","nodeType":"YulLiteral","src":"319273:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"319267:5:19","nodeType":"YulIdentifier","src":"319267:5:19"},"nativeSrc":"319267:11:19","nodeType":"YulFunctionCall","src":"319267:11:19"},"variableNames":[{"name":"m7","nativeSrc":"319261:2:19","nodeType":"YulIdentifier","src":"319261:2:19"}]},{"nativeSrc":"319291:18:19","nodeType":"YulAssignment","src":"319291:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"319303:5:19","nodeType":"YulLiteral","src":"319303:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"319297:5:19","nodeType":"YulIdentifier","src":"319297:5:19"},"nativeSrc":"319297:12:19","nodeType":"YulFunctionCall","src":"319297:12:19"},"variableNames":[{"name":"m8","nativeSrc":"319291:2:19","nodeType":"YulIdentifier","src":"319291:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319394:4:19","nodeType":"YulLiteral","src":"319394:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"319400:10:19","nodeType":"YulLiteral","src":"319400:10:19","type":"","value":"0xb7b914ca"}],"functionName":{"name":"mstore","nativeSrc":"319387:6:19","nodeType":"YulIdentifier","src":"319387:6:19"},"nativeSrc":"319387:24:19","nodeType":"YulFunctionCall","src":"319387:24:19"},"nativeSrc":"319387:24:19","nodeType":"YulExpressionStatement","src":"319387:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319431:4:19","nodeType":"YulLiteral","src":"319431:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"319437:2:19","nodeType":"YulIdentifier","src":"319437:2:19"}],"functionName":{"name":"mstore","nativeSrc":"319424:6:19","nodeType":"YulIdentifier","src":"319424:6:19"},"nativeSrc":"319424:16:19","nodeType":"YulFunctionCall","src":"319424:16:19"},"nativeSrc":"319424:16:19","nodeType":"YulExpressionStatement","src":"319424:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319460:4:19","nodeType":"YulLiteral","src":"319460:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"319466:4:19","nodeType":"YulLiteral","src":"319466:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"319453:6:19","nodeType":"YulIdentifier","src":"319453:6:19"},"nativeSrc":"319453:18:19","nodeType":"YulFunctionCall","src":"319453:18:19"},"nativeSrc":"319453:18:19","nodeType":"YulExpressionStatement","src":"319453:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319491:4:19","nodeType":"YulLiteral","src":"319491:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"319497:2:19","nodeType":"YulIdentifier","src":"319497:2:19"}],"functionName":{"name":"mstore","nativeSrc":"319484:6:19","nodeType":"YulIdentifier","src":"319484:6:19"},"nativeSrc":"319484:16:19","nodeType":"YulFunctionCall","src":"319484:16:19"},"nativeSrc":"319484:16:19","nodeType":"YulExpressionStatement","src":"319484:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319520:4:19","nodeType":"YulLiteral","src":"319520:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"319526:4:19","nodeType":"YulLiteral","src":"319526:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"319513:6:19","nodeType":"YulIdentifier","src":"319513:6:19"},"nativeSrc":"319513:18:19","nodeType":"YulFunctionCall","src":"319513:18:19"},"nativeSrc":"319513:18:19","nodeType":"YulExpressionStatement","src":"319513:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319556:4:19","nodeType":"YulLiteral","src":"319556:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"319562:2:19","nodeType":"YulIdentifier","src":"319562:2:19"}],"functionName":{"name":"writeString","nativeSrc":"319544:11:19","nodeType":"YulIdentifier","src":"319544:11:19"},"nativeSrc":"319544:21:19","nodeType":"YulFunctionCall","src":"319544:21:19"},"nativeSrc":"319544:21:19","nodeType":"YulExpressionStatement","src":"319544:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319590:4:19","nodeType":"YulLiteral","src":"319590:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"319596:2:19","nodeType":"YulIdentifier","src":"319596:2:19"}],"functionName":{"name":"writeString","nativeSrc":"319578:11:19","nodeType":"YulIdentifier","src":"319578:11:19"},"nativeSrc":"319578:21:19","nodeType":"YulFunctionCall","src":"319578:21:19"},"nativeSrc":"319578:21:19","nodeType":"YulExpressionStatement","src":"319578:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36286,"isOffset":false,"isSlot":false,"src":"319051:2:19","valueSize":1},{"declaration":36289,"isOffset":false,"isSlot":false,"src":"319081:2:19","valueSize":1},{"declaration":36292,"isOffset":false,"isSlot":false,"src":"319111:2:19","valueSize":1},{"declaration":36295,"isOffset":false,"isSlot":false,"src":"319141:2:19","valueSize":1},{"declaration":36298,"isOffset":false,"isSlot":false,"src":"319171:2:19","valueSize":1},{"declaration":36301,"isOffset":false,"isSlot":false,"src":"319201:2:19","valueSize":1},{"declaration":36304,"isOffset":false,"isSlot":false,"src":"319231:2:19","valueSize":1},{"declaration":36307,"isOffset":false,"isSlot":false,"src":"319261:2:19","valueSize":1},{"declaration":36310,"isOffset":false,"isSlot":false,"src":"319291:2:19","valueSize":1},{"declaration":36276,"isOffset":false,"isSlot":false,"src":"319437:2:19","valueSize":1},{"declaration":36278,"isOffset":false,"isSlot":false,"src":"319562:2:19","valueSize":1},{"declaration":36280,"isOffset":false,"isSlot":false,"src":"319497:2:19","valueSize":1},{"declaration":36282,"isOffset":false,"isSlot":false,"src":"319596:2:19","valueSize":1}],"id":36312,"nodeType":"InlineAssembly","src":"318673:936:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":36314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"319634:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":36315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"319640:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":36313,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"319618:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"319618:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36317,"nodeType":"ExpressionStatement","src":"319618:28:19"},{"AST":{"nativeSrc":"319708:273:19","nodeType":"YulBlock","src":"319708:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"319729:4:19","nodeType":"YulLiteral","src":"319729:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"319735:2:19","nodeType":"YulIdentifier","src":"319735:2:19"}],"functionName":{"name":"mstore","nativeSrc":"319722:6:19","nodeType":"YulIdentifier","src":"319722:6:19"},"nativeSrc":"319722:16:19","nodeType":"YulFunctionCall","src":"319722:16:19"},"nativeSrc":"319722:16:19","nodeType":"YulExpressionStatement","src":"319722:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319758:4:19","nodeType":"YulLiteral","src":"319758:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"319764:2:19","nodeType":"YulIdentifier","src":"319764:2:19"}],"functionName":{"name":"mstore","nativeSrc":"319751:6:19","nodeType":"YulIdentifier","src":"319751:6:19"},"nativeSrc":"319751:16:19","nodeType":"YulFunctionCall","src":"319751:16:19"},"nativeSrc":"319751:16:19","nodeType":"YulExpressionStatement","src":"319751:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319787:4:19","nodeType":"YulLiteral","src":"319787:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"319793:2:19","nodeType":"YulIdentifier","src":"319793:2:19"}],"functionName":{"name":"mstore","nativeSrc":"319780:6:19","nodeType":"YulIdentifier","src":"319780:6:19"},"nativeSrc":"319780:16:19","nodeType":"YulFunctionCall","src":"319780:16:19"},"nativeSrc":"319780:16:19","nodeType":"YulExpressionStatement","src":"319780:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319816:4:19","nodeType":"YulLiteral","src":"319816:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"319822:2:19","nodeType":"YulIdentifier","src":"319822:2:19"}],"functionName":{"name":"mstore","nativeSrc":"319809:6:19","nodeType":"YulIdentifier","src":"319809:6:19"},"nativeSrc":"319809:16:19","nodeType":"YulFunctionCall","src":"319809:16:19"},"nativeSrc":"319809:16:19","nodeType":"YulExpressionStatement","src":"319809:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319845:4:19","nodeType":"YulLiteral","src":"319845:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"319851:2:19","nodeType":"YulIdentifier","src":"319851:2:19"}],"functionName":{"name":"mstore","nativeSrc":"319838:6:19","nodeType":"YulIdentifier","src":"319838:6:19"},"nativeSrc":"319838:16:19","nodeType":"YulFunctionCall","src":"319838:16:19"},"nativeSrc":"319838:16:19","nodeType":"YulExpressionStatement","src":"319838:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319874:4:19","nodeType":"YulLiteral","src":"319874:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"319880:2:19","nodeType":"YulIdentifier","src":"319880:2:19"}],"functionName":{"name":"mstore","nativeSrc":"319867:6:19","nodeType":"YulIdentifier","src":"319867:6:19"},"nativeSrc":"319867:16:19","nodeType":"YulFunctionCall","src":"319867:16:19"},"nativeSrc":"319867:16:19","nodeType":"YulExpressionStatement","src":"319867:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319903:4:19","nodeType":"YulLiteral","src":"319903:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"319909:2:19","nodeType":"YulIdentifier","src":"319909:2:19"}],"functionName":{"name":"mstore","nativeSrc":"319896:6:19","nodeType":"YulIdentifier","src":"319896:6:19"},"nativeSrc":"319896:16:19","nodeType":"YulFunctionCall","src":"319896:16:19"},"nativeSrc":"319896:16:19","nodeType":"YulExpressionStatement","src":"319896:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319932:4:19","nodeType":"YulLiteral","src":"319932:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"319938:2:19","nodeType":"YulIdentifier","src":"319938:2:19"}],"functionName":{"name":"mstore","nativeSrc":"319925:6:19","nodeType":"YulIdentifier","src":"319925:6:19"},"nativeSrc":"319925:16:19","nodeType":"YulFunctionCall","src":"319925:16:19"},"nativeSrc":"319925:16:19","nodeType":"YulExpressionStatement","src":"319925:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"319961:5:19","nodeType":"YulLiteral","src":"319961:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"319968:2:19","nodeType":"YulIdentifier","src":"319968:2:19"}],"functionName":{"name":"mstore","nativeSrc":"319954:6:19","nodeType":"YulIdentifier","src":"319954:6:19"},"nativeSrc":"319954:17:19","nodeType":"YulFunctionCall","src":"319954:17:19"},"nativeSrc":"319954:17:19","nodeType":"YulExpressionStatement","src":"319954:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36286,"isOffset":false,"isSlot":false,"src":"319735:2:19","valueSize":1},{"declaration":36289,"isOffset":false,"isSlot":false,"src":"319764:2:19","valueSize":1},{"declaration":36292,"isOffset":false,"isSlot":false,"src":"319793:2:19","valueSize":1},{"declaration":36295,"isOffset":false,"isSlot":false,"src":"319822:2:19","valueSize":1},{"declaration":36298,"isOffset":false,"isSlot":false,"src":"319851:2:19","valueSize":1},{"declaration":36301,"isOffset":false,"isSlot":false,"src":"319880:2:19","valueSize":1},{"declaration":36304,"isOffset":false,"isSlot":false,"src":"319909:2:19","valueSize":1},{"declaration":36307,"isOffset":false,"isSlot":false,"src":"319938:2:19","valueSize":1},{"declaration":36310,"isOffset":false,"isSlot":false,"src":"319968:2:19","valueSize":1}],"id":36318,"nodeType":"InlineAssembly","src":"319699:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"318374:3:19","parameters":{"id":36283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36276,"mutability":"mutable","name":"p0","nameLocation":"318386:2:19","nodeType":"VariableDeclaration","scope":36320,"src":"318378:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36275,"name":"uint256","nodeType":"ElementaryTypeName","src":"318378:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36278,"mutability":"mutable","name":"p1","nameLocation":"318398:2:19","nodeType":"VariableDeclaration","scope":36320,"src":"318390:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36277,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318390:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36280,"mutability":"mutable","name":"p2","nameLocation":"318410:2:19","nodeType":"VariableDeclaration","scope":36320,"src":"318402:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36279,"name":"uint256","nodeType":"ElementaryTypeName","src":"318402:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36282,"mutability":"mutable","name":"p3","nameLocation":"318422:2:19","nodeType":"VariableDeclaration","scope":36320,"src":"318414:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36281,"name":"bytes32","nodeType":"ElementaryTypeName","src":"318414:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"318377:48:19"},"returnParameters":{"id":36284,"nodeType":"ParameterList","parameters":[],"src":"318440:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36366,"nodeType":"FunctionDefinition","src":"319993:1622:19","nodes":[],"body":{"id":36365,"nodeType":"Block","src":"320068:1547:19","nodes":[],"statements":[{"assignments":[36332],"declarations":[{"constant":false,"id":36332,"mutability":"mutable","name":"m0","nameLocation":"320086:2:19","nodeType":"VariableDeclaration","scope":36365,"src":"320078:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36331,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320078:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36333,"nodeType":"VariableDeclarationStatement","src":"320078:10:19"},{"assignments":[36335],"declarations":[{"constant":false,"id":36335,"mutability":"mutable","name":"m1","nameLocation":"320106:2:19","nodeType":"VariableDeclaration","scope":36365,"src":"320098:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36334,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320098:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36336,"nodeType":"VariableDeclarationStatement","src":"320098:10:19"},{"assignments":[36338],"declarations":[{"constant":false,"id":36338,"mutability":"mutable","name":"m2","nameLocation":"320126:2:19","nodeType":"VariableDeclaration","scope":36365,"src":"320118:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36337,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320118:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36339,"nodeType":"VariableDeclarationStatement","src":"320118:10:19"},{"assignments":[36341],"declarations":[{"constant":false,"id":36341,"mutability":"mutable","name":"m3","nameLocation":"320146:2:19","nodeType":"VariableDeclaration","scope":36365,"src":"320138:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36340,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320138:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36342,"nodeType":"VariableDeclarationStatement","src":"320138:10:19"},{"assignments":[36344],"declarations":[{"constant":false,"id":36344,"mutability":"mutable","name":"m4","nameLocation":"320166:2:19","nodeType":"VariableDeclaration","scope":36365,"src":"320158:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36343,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320158:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36345,"nodeType":"VariableDeclarationStatement","src":"320158:10:19"},{"assignments":[36347],"declarations":[{"constant":false,"id":36347,"mutability":"mutable","name":"m5","nameLocation":"320186:2:19","nodeType":"VariableDeclaration","scope":36365,"src":"320178:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36346,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320178:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36348,"nodeType":"VariableDeclarationStatement","src":"320178:10:19"},{"assignments":[36350],"declarations":[{"constant":false,"id":36350,"mutability":"mutable","name":"m6","nameLocation":"320206:2:19","nodeType":"VariableDeclaration","scope":36365,"src":"320198:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36349,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320198:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36351,"nodeType":"VariableDeclarationStatement","src":"320198:10:19"},{"assignments":[36353],"declarations":[{"constant":false,"id":36353,"mutability":"mutable","name":"m7","nameLocation":"320226:2:19","nodeType":"VariableDeclaration","scope":36365,"src":"320218:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36352,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320218:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36354,"nodeType":"VariableDeclarationStatement","src":"320218:10:19"},{"assignments":[36356],"declarations":[{"constant":false,"id":36356,"mutability":"mutable","name":"m8","nameLocation":"320246:2:19","nodeType":"VariableDeclaration","scope":36365,"src":"320238:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36355,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320238:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36357,"nodeType":"VariableDeclarationStatement","src":"320238:10:19"},{"AST":{"nativeSrc":"320310:927:19","nodeType":"YulBlock","src":"320310:927:19","statements":[{"body":{"nativeSrc":"320353:313:19","nodeType":"YulBlock","src":"320353:313:19","statements":[{"nativeSrc":"320371:15:19","nodeType":"YulVariableDeclaration","src":"320371:15:19","value":{"kind":"number","nativeSrc":"320385:1:19","nodeType":"YulLiteral","src":"320385:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"320375:6:19","nodeType":"YulTypedName","src":"320375:6:19","type":""}]},{"body":{"nativeSrc":"320456:40:19","nodeType":"YulBlock","src":"320456:40:19","statements":[{"body":{"nativeSrc":"320485:9:19","nodeType":"YulBlock","src":"320485:9:19","statements":[{"nativeSrc":"320487:5:19","nodeType":"YulBreak","src":"320487:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"320473:6:19","nodeType":"YulIdentifier","src":"320473:6:19"},{"name":"w","nativeSrc":"320481:1:19","nodeType":"YulIdentifier","src":"320481:1:19"}],"functionName":{"name":"byte","nativeSrc":"320468:4:19","nodeType":"YulIdentifier","src":"320468:4:19"},"nativeSrc":"320468:15:19","nodeType":"YulFunctionCall","src":"320468:15:19"}],"functionName":{"name":"iszero","nativeSrc":"320461:6:19","nodeType":"YulIdentifier","src":"320461:6:19"},"nativeSrc":"320461:23:19","nodeType":"YulFunctionCall","src":"320461:23:19"},"nativeSrc":"320458:36:19","nodeType":"YulIf","src":"320458:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"320413:6:19","nodeType":"YulIdentifier","src":"320413:6:19"},{"kind":"number","nativeSrc":"320421:4:19","nodeType":"YulLiteral","src":"320421:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"320410:2:19","nodeType":"YulIdentifier","src":"320410:2:19"},"nativeSrc":"320410:16:19","nodeType":"YulFunctionCall","src":"320410:16:19"},"nativeSrc":"320403:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"320427:28:19","nodeType":"YulBlock","src":"320427:28:19","statements":[{"nativeSrc":"320429:24:19","nodeType":"YulAssignment","src":"320429:24:19","value":{"arguments":[{"name":"length","nativeSrc":"320443:6:19","nodeType":"YulIdentifier","src":"320443:6:19"},{"kind":"number","nativeSrc":"320451:1:19","nodeType":"YulLiteral","src":"320451:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"320439:3:19","nodeType":"YulIdentifier","src":"320439:3:19"},"nativeSrc":"320439:14:19","nodeType":"YulFunctionCall","src":"320439:14:19"},"variableNames":[{"name":"length","nativeSrc":"320429:6:19","nodeType":"YulIdentifier","src":"320429:6:19"}]}]},"pre":{"nativeSrc":"320407:2:19","nodeType":"YulBlock","src":"320407:2:19","statements":[]},"src":"320403:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"320520:3:19","nodeType":"YulIdentifier","src":"320520:3:19"},{"name":"length","nativeSrc":"320525:6:19","nodeType":"YulIdentifier","src":"320525:6:19"}],"functionName":{"name":"mstore","nativeSrc":"320513:6:19","nodeType":"YulIdentifier","src":"320513:6:19"},"nativeSrc":"320513:19:19","nodeType":"YulFunctionCall","src":"320513:19:19"},"nativeSrc":"320513:19:19","nodeType":"YulExpressionStatement","src":"320513:19:19"},{"nativeSrc":"320549:37:19","nodeType":"YulVariableDeclaration","src":"320549:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"320566:3:19","nodeType":"YulLiteral","src":"320566:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"320575:1:19","nodeType":"YulLiteral","src":"320575:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"320578:6:19","nodeType":"YulIdentifier","src":"320578:6:19"}],"functionName":{"name":"shl","nativeSrc":"320571:3:19","nodeType":"YulIdentifier","src":"320571:3:19"},"nativeSrc":"320571:14:19","nodeType":"YulFunctionCall","src":"320571:14:19"}],"functionName":{"name":"sub","nativeSrc":"320562:3:19","nodeType":"YulIdentifier","src":"320562:3:19"},"nativeSrc":"320562:24:19","nodeType":"YulFunctionCall","src":"320562:24:19"},"variables":[{"name":"shift","nativeSrc":"320553:5:19","nodeType":"YulTypedName","src":"320553:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"320614:3:19","nodeType":"YulIdentifier","src":"320614:3:19"},{"kind":"number","nativeSrc":"320619:4:19","nodeType":"YulLiteral","src":"320619:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"320610:3:19","nodeType":"YulIdentifier","src":"320610:3:19"},"nativeSrc":"320610:14:19","nodeType":"YulFunctionCall","src":"320610:14:19"},{"arguments":[{"name":"shift","nativeSrc":"320630:5:19","nodeType":"YulIdentifier","src":"320630:5:19"},{"arguments":[{"name":"shift","nativeSrc":"320641:5:19","nodeType":"YulIdentifier","src":"320641:5:19"},{"name":"w","nativeSrc":"320648:1:19","nodeType":"YulIdentifier","src":"320648:1:19"}],"functionName":{"name":"shr","nativeSrc":"320637:3:19","nodeType":"YulIdentifier","src":"320637:3:19"},"nativeSrc":"320637:13:19","nodeType":"YulFunctionCall","src":"320637:13:19"}],"functionName":{"name":"shl","nativeSrc":"320626:3:19","nodeType":"YulIdentifier","src":"320626:3:19"},"nativeSrc":"320626:25:19","nodeType":"YulFunctionCall","src":"320626:25:19"}],"functionName":{"name":"mstore","nativeSrc":"320603:6:19","nodeType":"YulIdentifier","src":"320603:6:19"},"nativeSrc":"320603:49:19","nodeType":"YulFunctionCall","src":"320603:49:19"},"nativeSrc":"320603:49:19","nodeType":"YulExpressionStatement","src":"320603:49:19"}]},"name":"writeString","nativeSrc":"320324:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"320345:3:19","nodeType":"YulTypedName","src":"320345:3:19","type":""},{"name":"w","nativeSrc":"320350:1:19","nodeType":"YulTypedName","src":"320350:1:19","type":""}],"src":"320324:342:19"},{"nativeSrc":"320679:17:19","nodeType":"YulAssignment","src":"320679:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"320691:4:19","nodeType":"YulLiteral","src":"320691:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"320685:5:19","nodeType":"YulIdentifier","src":"320685:5:19"},"nativeSrc":"320685:11:19","nodeType":"YulFunctionCall","src":"320685:11:19"},"variableNames":[{"name":"m0","nativeSrc":"320679:2:19","nodeType":"YulIdentifier","src":"320679:2:19"}]},{"nativeSrc":"320709:17:19","nodeType":"YulAssignment","src":"320709:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"320721:4:19","nodeType":"YulLiteral","src":"320721:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"320715:5:19","nodeType":"YulIdentifier","src":"320715:5:19"},"nativeSrc":"320715:11:19","nodeType":"YulFunctionCall","src":"320715:11:19"},"variableNames":[{"name":"m1","nativeSrc":"320709:2:19","nodeType":"YulIdentifier","src":"320709:2:19"}]},{"nativeSrc":"320739:17:19","nodeType":"YulAssignment","src":"320739:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"320751:4:19","nodeType":"YulLiteral","src":"320751:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"320745:5:19","nodeType":"YulIdentifier","src":"320745:5:19"},"nativeSrc":"320745:11:19","nodeType":"YulFunctionCall","src":"320745:11:19"},"variableNames":[{"name":"m2","nativeSrc":"320739:2:19","nodeType":"YulIdentifier","src":"320739:2:19"}]},{"nativeSrc":"320769:17:19","nodeType":"YulAssignment","src":"320769:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"320781:4:19","nodeType":"YulLiteral","src":"320781:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"320775:5:19","nodeType":"YulIdentifier","src":"320775:5:19"},"nativeSrc":"320775:11:19","nodeType":"YulFunctionCall","src":"320775:11:19"},"variableNames":[{"name":"m3","nativeSrc":"320769:2:19","nodeType":"YulIdentifier","src":"320769:2:19"}]},{"nativeSrc":"320799:17:19","nodeType":"YulAssignment","src":"320799:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"320811:4:19","nodeType":"YulLiteral","src":"320811:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"320805:5:19","nodeType":"YulIdentifier","src":"320805:5:19"},"nativeSrc":"320805:11:19","nodeType":"YulFunctionCall","src":"320805:11:19"},"variableNames":[{"name":"m4","nativeSrc":"320799:2:19","nodeType":"YulIdentifier","src":"320799:2:19"}]},{"nativeSrc":"320829:17:19","nodeType":"YulAssignment","src":"320829:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"320841:4:19","nodeType":"YulLiteral","src":"320841:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"320835:5:19","nodeType":"YulIdentifier","src":"320835:5:19"},"nativeSrc":"320835:11:19","nodeType":"YulFunctionCall","src":"320835:11:19"},"variableNames":[{"name":"m5","nativeSrc":"320829:2:19","nodeType":"YulIdentifier","src":"320829:2:19"}]},{"nativeSrc":"320859:17:19","nodeType":"YulAssignment","src":"320859:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"320871:4:19","nodeType":"YulLiteral","src":"320871:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"320865:5:19","nodeType":"YulIdentifier","src":"320865:5:19"},"nativeSrc":"320865:11:19","nodeType":"YulFunctionCall","src":"320865:11:19"},"variableNames":[{"name":"m6","nativeSrc":"320859:2:19","nodeType":"YulIdentifier","src":"320859:2:19"}]},{"nativeSrc":"320889:17:19","nodeType":"YulAssignment","src":"320889:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"320901:4:19","nodeType":"YulLiteral","src":"320901:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"320895:5:19","nodeType":"YulIdentifier","src":"320895:5:19"},"nativeSrc":"320895:11:19","nodeType":"YulFunctionCall","src":"320895:11:19"},"variableNames":[{"name":"m7","nativeSrc":"320889:2:19","nodeType":"YulIdentifier","src":"320889:2:19"}]},{"nativeSrc":"320919:18:19","nodeType":"YulAssignment","src":"320919:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"320931:5:19","nodeType":"YulLiteral","src":"320931:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"320925:5:19","nodeType":"YulIdentifier","src":"320925:5:19"},"nativeSrc":"320925:12:19","nodeType":"YulFunctionCall","src":"320925:12:19"},"variableNames":[{"name":"m8","nativeSrc":"320919:2:19","nodeType":"YulIdentifier","src":"320919:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321022:4:19","nodeType":"YulLiteral","src":"321022:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"321028:10:19","nodeType":"YulLiteral","src":"321028:10:19","type":"","value":"0xd583c602"}],"functionName":{"name":"mstore","nativeSrc":"321015:6:19","nodeType":"YulIdentifier","src":"321015:6:19"},"nativeSrc":"321015:24:19","nodeType":"YulFunctionCall","src":"321015:24:19"},"nativeSrc":"321015:24:19","nodeType":"YulExpressionStatement","src":"321015:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321059:4:19","nodeType":"YulLiteral","src":"321059:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"321065:2:19","nodeType":"YulIdentifier","src":"321065:2:19"}],"functionName":{"name":"mstore","nativeSrc":"321052:6:19","nodeType":"YulIdentifier","src":"321052:6:19"},"nativeSrc":"321052:16:19","nodeType":"YulFunctionCall","src":"321052:16:19"},"nativeSrc":"321052:16:19","nodeType":"YulExpressionStatement","src":"321052:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321088:4:19","nodeType":"YulLiteral","src":"321088:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"321094:4:19","nodeType":"YulLiteral","src":"321094:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"321081:6:19","nodeType":"YulIdentifier","src":"321081:6:19"},"nativeSrc":"321081:18:19","nodeType":"YulFunctionCall","src":"321081:18:19"},"nativeSrc":"321081:18:19","nodeType":"YulExpressionStatement","src":"321081:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321119:4:19","nodeType":"YulLiteral","src":"321119:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"321125:4:19","nodeType":"YulLiteral","src":"321125:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"321112:6:19","nodeType":"YulIdentifier","src":"321112:6:19"},"nativeSrc":"321112:18:19","nodeType":"YulFunctionCall","src":"321112:18:19"},"nativeSrc":"321112:18:19","nodeType":"YulExpressionStatement","src":"321112:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321150:4:19","nodeType":"YulLiteral","src":"321150:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"321156:2:19","nodeType":"YulIdentifier","src":"321156:2:19"}],"functionName":{"name":"mstore","nativeSrc":"321143:6:19","nodeType":"YulIdentifier","src":"321143:6:19"},"nativeSrc":"321143:16:19","nodeType":"YulFunctionCall","src":"321143:16:19"},"nativeSrc":"321143:16:19","nodeType":"YulExpressionStatement","src":"321143:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321184:4:19","nodeType":"YulLiteral","src":"321184:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"321190:2:19","nodeType":"YulIdentifier","src":"321190:2:19"}],"functionName":{"name":"writeString","nativeSrc":"321172:11:19","nodeType":"YulIdentifier","src":"321172:11:19"},"nativeSrc":"321172:21:19","nodeType":"YulFunctionCall","src":"321172:21:19"},"nativeSrc":"321172:21:19","nodeType":"YulExpressionStatement","src":"321172:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321218:4:19","nodeType":"YulLiteral","src":"321218:4:19","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"321224:2:19","nodeType":"YulIdentifier","src":"321224:2:19"}],"functionName":{"name":"writeString","nativeSrc":"321206:11:19","nodeType":"YulIdentifier","src":"321206:11:19"},"nativeSrc":"321206:21:19","nodeType":"YulFunctionCall","src":"321206:21:19"},"nativeSrc":"321206:21:19","nodeType":"YulExpressionStatement","src":"321206:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36332,"isOffset":false,"isSlot":false,"src":"320679:2:19","valueSize":1},{"declaration":36335,"isOffset":false,"isSlot":false,"src":"320709:2:19","valueSize":1},{"declaration":36338,"isOffset":false,"isSlot":false,"src":"320739:2:19","valueSize":1},{"declaration":36341,"isOffset":false,"isSlot":false,"src":"320769:2:19","valueSize":1},{"declaration":36344,"isOffset":false,"isSlot":false,"src":"320799:2:19","valueSize":1},{"declaration":36347,"isOffset":false,"isSlot":false,"src":"320829:2:19","valueSize":1},{"declaration":36350,"isOffset":false,"isSlot":false,"src":"320859:2:19","valueSize":1},{"declaration":36353,"isOffset":false,"isSlot":false,"src":"320889:2:19","valueSize":1},{"declaration":36356,"isOffset":false,"isSlot":false,"src":"320919:2:19","valueSize":1},{"declaration":36322,"isOffset":false,"isSlot":false,"src":"321065:2:19","valueSize":1},{"declaration":36324,"isOffset":false,"isSlot":false,"src":"321190:2:19","valueSize":1},{"declaration":36326,"isOffset":false,"isSlot":false,"src":"321224:2:19","valueSize":1},{"declaration":36328,"isOffset":false,"isSlot":false,"src":"321156:2:19","valueSize":1}],"id":36358,"nodeType":"InlineAssembly","src":"320301:936:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":36360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"321262:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":36361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"321268:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":36359,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"321246:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"321246:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36363,"nodeType":"ExpressionStatement","src":"321246:28:19"},{"AST":{"nativeSrc":"321336:273:19","nodeType":"YulBlock","src":"321336:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"321357:4:19","nodeType":"YulLiteral","src":"321357:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"321363:2:19","nodeType":"YulIdentifier","src":"321363:2:19"}],"functionName":{"name":"mstore","nativeSrc":"321350:6:19","nodeType":"YulIdentifier","src":"321350:6:19"},"nativeSrc":"321350:16:19","nodeType":"YulFunctionCall","src":"321350:16:19"},"nativeSrc":"321350:16:19","nodeType":"YulExpressionStatement","src":"321350:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321386:4:19","nodeType":"YulLiteral","src":"321386:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"321392:2:19","nodeType":"YulIdentifier","src":"321392:2:19"}],"functionName":{"name":"mstore","nativeSrc":"321379:6:19","nodeType":"YulIdentifier","src":"321379:6:19"},"nativeSrc":"321379:16:19","nodeType":"YulFunctionCall","src":"321379:16:19"},"nativeSrc":"321379:16:19","nodeType":"YulExpressionStatement","src":"321379:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321415:4:19","nodeType":"YulLiteral","src":"321415:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"321421:2:19","nodeType":"YulIdentifier","src":"321421:2:19"}],"functionName":{"name":"mstore","nativeSrc":"321408:6:19","nodeType":"YulIdentifier","src":"321408:6:19"},"nativeSrc":"321408:16:19","nodeType":"YulFunctionCall","src":"321408:16:19"},"nativeSrc":"321408:16:19","nodeType":"YulExpressionStatement","src":"321408:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321444:4:19","nodeType":"YulLiteral","src":"321444:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"321450:2:19","nodeType":"YulIdentifier","src":"321450:2:19"}],"functionName":{"name":"mstore","nativeSrc":"321437:6:19","nodeType":"YulIdentifier","src":"321437:6:19"},"nativeSrc":"321437:16:19","nodeType":"YulFunctionCall","src":"321437:16:19"},"nativeSrc":"321437:16:19","nodeType":"YulExpressionStatement","src":"321437:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321473:4:19","nodeType":"YulLiteral","src":"321473:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"321479:2:19","nodeType":"YulIdentifier","src":"321479:2:19"}],"functionName":{"name":"mstore","nativeSrc":"321466:6:19","nodeType":"YulIdentifier","src":"321466:6:19"},"nativeSrc":"321466:16:19","nodeType":"YulFunctionCall","src":"321466:16:19"},"nativeSrc":"321466:16:19","nodeType":"YulExpressionStatement","src":"321466:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321502:4:19","nodeType":"YulLiteral","src":"321502:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"321508:2:19","nodeType":"YulIdentifier","src":"321508:2:19"}],"functionName":{"name":"mstore","nativeSrc":"321495:6:19","nodeType":"YulIdentifier","src":"321495:6:19"},"nativeSrc":"321495:16:19","nodeType":"YulFunctionCall","src":"321495:16:19"},"nativeSrc":"321495:16:19","nodeType":"YulExpressionStatement","src":"321495:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321531:4:19","nodeType":"YulLiteral","src":"321531:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"321537:2:19","nodeType":"YulIdentifier","src":"321537:2:19"}],"functionName":{"name":"mstore","nativeSrc":"321524:6:19","nodeType":"YulIdentifier","src":"321524:6:19"},"nativeSrc":"321524:16:19","nodeType":"YulFunctionCall","src":"321524:16:19"},"nativeSrc":"321524:16:19","nodeType":"YulExpressionStatement","src":"321524:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321560:4:19","nodeType":"YulLiteral","src":"321560:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"321566:2:19","nodeType":"YulIdentifier","src":"321566:2:19"}],"functionName":{"name":"mstore","nativeSrc":"321553:6:19","nodeType":"YulIdentifier","src":"321553:6:19"},"nativeSrc":"321553:16:19","nodeType":"YulFunctionCall","src":"321553:16:19"},"nativeSrc":"321553:16:19","nodeType":"YulExpressionStatement","src":"321553:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"321589:5:19","nodeType":"YulLiteral","src":"321589:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"321596:2:19","nodeType":"YulIdentifier","src":"321596:2:19"}],"functionName":{"name":"mstore","nativeSrc":"321582:6:19","nodeType":"YulIdentifier","src":"321582:6:19"},"nativeSrc":"321582:17:19","nodeType":"YulFunctionCall","src":"321582:17:19"},"nativeSrc":"321582:17:19","nodeType":"YulExpressionStatement","src":"321582:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36332,"isOffset":false,"isSlot":false,"src":"321363:2:19","valueSize":1},{"declaration":36335,"isOffset":false,"isSlot":false,"src":"321392:2:19","valueSize":1},{"declaration":36338,"isOffset":false,"isSlot":false,"src":"321421:2:19","valueSize":1},{"declaration":36341,"isOffset":false,"isSlot":false,"src":"321450:2:19","valueSize":1},{"declaration":36344,"isOffset":false,"isSlot":false,"src":"321479:2:19","valueSize":1},{"declaration":36347,"isOffset":false,"isSlot":false,"src":"321508:2:19","valueSize":1},{"declaration":36350,"isOffset":false,"isSlot":false,"src":"321537:2:19","valueSize":1},{"declaration":36353,"isOffset":false,"isSlot":false,"src":"321566:2:19","valueSize":1},{"declaration":36356,"isOffset":false,"isSlot":false,"src":"321596:2:19","valueSize":1}],"id":36364,"nodeType":"InlineAssembly","src":"321327:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"320002:3:19","parameters":{"id":36329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36322,"mutability":"mutable","name":"p0","nameLocation":"320014:2:19","nodeType":"VariableDeclaration","scope":36366,"src":"320006:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36321,"name":"uint256","nodeType":"ElementaryTypeName","src":"320006:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36324,"mutability":"mutable","name":"p1","nameLocation":"320026:2:19","nodeType":"VariableDeclaration","scope":36366,"src":"320018:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320018:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36326,"mutability":"mutable","name":"p2","nameLocation":"320038:2:19","nodeType":"VariableDeclaration","scope":36366,"src":"320030:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36325,"name":"bytes32","nodeType":"ElementaryTypeName","src":"320030:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36328,"mutability":"mutable","name":"p3","nameLocation":"320050:2:19","nodeType":"VariableDeclaration","scope":36366,"src":"320042:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36327,"name":"address","nodeType":"ElementaryTypeName","src":"320042:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"320005:48:19"},"returnParameters":{"id":36330,"nodeType":"ParameterList","parameters":[],"src":"320068:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36412,"nodeType":"FunctionDefinition","src":"321621:1616:19","nodes":[],"body":{"id":36411,"nodeType":"Block","src":"321693:1544:19","nodes":[],"statements":[{"assignments":[36378],"declarations":[{"constant":false,"id":36378,"mutability":"mutable","name":"m0","nameLocation":"321711:2:19","nodeType":"VariableDeclaration","scope":36411,"src":"321703:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36377,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321703:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36379,"nodeType":"VariableDeclarationStatement","src":"321703:10:19"},{"assignments":[36381],"declarations":[{"constant":false,"id":36381,"mutability":"mutable","name":"m1","nameLocation":"321731:2:19","nodeType":"VariableDeclaration","scope":36411,"src":"321723:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36380,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321723:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36382,"nodeType":"VariableDeclarationStatement","src":"321723:10:19"},{"assignments":[36384],"declarations":[{"constant":false,"id":36384,"mutability":"mutable","name":"m2","nameLocation":"321751:2:19","nodeType":"VariableDeclaration","scope":36411,"src":"321743:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36383,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321743:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36385,"nodeType":"VariableDeclarationStatement","src":"321743:10:19"},{"assignments":[36387],"declarations":[{"constant":false,"id":36387,"mutability":"mutable","name":"m3","nameLocation":"321771:2:19","nodeType":"VariableDeclaration","scope":36411,"src":"321763:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36386,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321763:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36388,"nodeType":"VariableDeclarationStatement","src":"321763:10:19"},{"assignments":[36390],"declarations":[{"constant":false,"id":36390,"mutability":"mutable","name":"m4","nameLocation":"321791:2:19","nodeType":"VariableDeclaration","scope":36411,"src":"321783:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36389,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321783:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36391,"nodeType":"VariableDeclarationStatement","src":"321783:10:19"},{"assignments":[36393],"declarations":[{"constant":false,"id":36393,"mutability":"mutable","name":"m5","nameLocation":"321811:2:19","nodeType":"VariableDeclaration","scope":36411,"src":"321803:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36392,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321803:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36394,"nodeType":"VariableDeclarationStatement","src":"321803:10:19"},{"assignments":[36396],"declarations":[{"constant":false,"id":36396,"mutability":"mutable","name":"m6","nameLocation":"321831:2:19","nodeType":"VariableDeclaration","scope":36411,"src":"321823:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36395,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321823:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36397,"nodeType":"VariableDeclarationStatement","src":"321823:10:19"},{"assignments":[36399],"declarations":[{"constant":false,"id":36399,"mutability":"mutable","name":"m7","nameLocation":"321851:2:19","nodeType":"VariableDeclaration","scope":36411,"src":"321843:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36398,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321843:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36400,"nodeType":"VariableDeclarationStatement","src":"321843:10:19"},{"assignments":[36402],"declarations":[{"constant":false,"id":36402,"mutability":"mutable","name":"m8","nameLocation":"321871:2:19","nodeType":"VariableDeclaration","scope":36411,"src":"321863:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36401,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321863:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36403,"nodeType":"VariableDeclarationStatement","src":"321863:10:19"},{"AST":{"nativeSrc":"321935:924:19","nodeType":"YulBlock","src":"321935:924:19","statements":[{"body":{"nativeSrc":"321978:313:19","nodeType":"YulBlock","src":"321978:313:19","statements":[{"nativeSrc":"321996:15:19","nodeType":"YulVariableDeclaration","src":"321996:15:19","value":{"kind":"number","nativeSrc":"322010:1:19","nodeType":"YulLiteral","src":"322010:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"322000:6:19","nodeType":"YulTypedName","src":"322000:6:19","type":""}]},{"body":{"nativeSrc":"322081:40:19","nodeType":"YulBlock","src":"322081:40:19","statements":[{"body":{"nativeSrc":"322110:9:19","nodeType":"YulBlock","src":"322110:9:19","statements":[{"nativeSrc":"322112:5:19","nodeType":"YulBreak","src":"322112:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"322098:6:19","nodeType":"YulIdentifier","src":"322098:6:19"},{"name":"w","nativeSrc":"322106:1:19","nodeType":"YulIdentifier","src":"322106:1:19"}],"functionName":{"name":"byte","nativeSrc":"322093:4:19","nodeType":"YulIdentifier","src":"322093:4:19"},"nativeSrc":"322093:15:19","nodeType":"YulFunctionCall","src":"322093:15:19"}],"functionName":{"name":"iszero","nativeSrc":"322086:6:19","nodeType":"YulIdentifier","src":"322086:6:19"},"nativeSrc":"322086:23:19","nodeType":"YulFunctionCall","src":"322086:23:19"},"nativeSrc":"322083:36:19","nodeType":"YulIf","src":"322083:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"322038:6:19","nodeType":"YulIdentifier","src":"322038:6:19"},{"kind":"number","nativeSrc":"322046:4:19","nodeType":"YulLiteral","src":"322046:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"322035:2:19","nodeType":"YulIdentifier","src":"322035:2:19"},"nativeSrc":"322035:16:19","nodeType":"YulFunctionCall","src":"322035:16:19"},"nativeSrc":"322028:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"322052:28:19","nodeType":"YulBlock","src":"322052:28:19","statements":[{"nativeSrc":"322054:24:19","nodeType":"YulAssignment","src":"322054:24:19","value":{"arguments":[{"name":"length","nativeSrc":"322068:6:19","nodeType":"YulIdentifier","src":"322068:6:19"},{"kind":"number","nativeSrc":"322076:1:19","nodeType":"YulLiteral","src":"322076:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"322064:3:19","nodeType":"YulIdentifier","src":"322064:3:19"},"nativeSrc":"322064:14:19","nodeType":"YulFunctionCall","src":"322064:14:19"},"variableNames":[{"name":"length","nativeSrc":"322054:6:19","nodeType":"YulIdentifier","src":"322054:6:19"}]}]},"pre":{"nativeSrc":"322032:2:19","nodeType":"YulBlock","src":"322032:2:19","statements":[]},"src":"322028:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"322145:3:19","nodeType":"YulIdentifier","src":"322145:3:19"},{"name":"length","nativeSrc":"322150:6:19","nodeType":"YulIdentifier","src":"322150:6:19"}],"functionName":{"name":"mstore","nativeSrc":"322138:6:19","nodeType":"YulIdentifier","src":"322138:6:19"},"nativeSrc":"322138:19:19","nodeType":"YulFunctionCall","src":"322138:19:19"},"nativeSrc":"322138:19:19","nodeType":"YulExpressionStatement","src":"322138:19:19"},{"nativeSrc":"322174:37:19","nodeType":"YulVariableDeclaration","src":"322174:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"322191:3:19","nodeType":"YulLiteral","src":"322191:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"322200:1:19","nodeType":"YulLiteral","src":"322200:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"322203:6:19","nodeType":"YulIdentifier","src":"322203:6:19"}],"functionName":{"name":"shl","nativeSrc":"322196:3:19","nodeType":"YulIdentifier","src":"322196:3:19"},"nativeSrc":"322196:14:19","nodeType":"YulFunctionCall","src":"322196:14:19"}],"functionName":{"name":"sub","nativeSrc":"322187:3:19","nodeType":"YulIdentifier","src":"322187:3:19"},"nativeSrc":"322187:24:19","nodeType":"YulFunctionCall","src":"322187:24:19"},"variables":[{"name":"shift","nativeSrc":"322178:5:19","nodeType":"YulTypedName","src":"322178:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"322239:3:19","nodeType":"YulIdentifier","src":"322239:3:19"},{"kind":"number","nativeSrc":"322244:4:19","nodeType":"YulLiteral","src":"322244:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"322235:3:19","nodeType":"YulIdentifier","src":"322235:3:19"},"nativeSrc":"322235:14:19","nodeType":"YulFunctionCall","src":"322235:14:19"},{"arguments":[{"name":"shift","nativeSrc":"322255:5:19","nodeType":"YulIdentifier","src":"322255:5:19"},{"arguments":[{"name":"shift","nativeSrc":"322266:5:19","nodeType":"YulIdentifier","src":"322266:5:19"},{"name":"w","nativeSrc":"322273:1:19","nodeType":"YulIdentifier","src":"322273:1:19"}],"functionName":{"name":"shr","nativeSrc":"322262:3:19","nodeType":"YulIdentifier","src":"322262:3:19"},"nativeSrc":"322262:13:19","nodeType":"YulFunctionCall","src":"322262:13:19"}],"functionName":{"name":"shl","nativeSrc":"322251:3:19","nodeType":"YulIdentifier","src":"322251:3:19"},"nativeSrc":"322251:25:19","nodeType":"YulFunctionCall","src":"322251:25:19"}],"functionName":{"name":"mstore","nativeSrc":"322228:6:19","nodeType":"YulIdentifier","src":"322228:6:19"},"nativeSrc":"322228:49:19","nodeType":"YulFunctionCall","src":"322228:49:19"},"nativeSrc":"322228:49:19","nodeType":"YulExpressionStatement","src":"322228:49:19"}]},"name":"writeString","nativeSrc":"321949:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"321970:3:19","nodeType":"YulTypedName","src":"321970:3:19","type":""},{"name":"w","nativeSrc":"321975:1:19","nodeType":"YulTypedName","src":"321975:1:19","type":""}],"src":"321949:342:19"},{"nativeSrc":"322304:17:19","nodeType":"YulAssignment","src":"322304:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"322316:4:19","nodeType":"YulLiteral","src":"322316:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"322310:5:19","nodeType":"YulIdentifier","src":"322310:5:19"},"nativeSrc":"322310:11:19","nodeType":"YulFunctionCall","src":"322310:11:19"},"variableNames":[{"name":"m0","nativeSrc":"322304:2:19","nodeType":"YulIdentifier","src":"322304:2:19"}]},{"nativeSrc":"322334:17:19","nodeType":"YulAssignment","src":"322334:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"322346:4:19","nodeType":"YulLiteral","src":"322346:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"322340:5:19","nodeType":"YulIdentifier","src":"322340:5:19"},"nativeSrc":"322340:11:19","nodeType":"YulFunctionCall","src":"322340:11:19"},"variableNames":[{"name":"m1","nativeSrc":"322334:2:19","nodeType":"YulIdentifier","src":"322334:2:19"}]},{"nativeSrc":"322364:17:19","nodeType":"YulAssignment","src":"322364:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"322376:4:19","nodeType":"YulLiteral","src":"322376:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"322370:5:19","nodeType":"YulIdentifier","src":"322370:5:19"},"nativeSrc":"322370:11:19","nodeType":"YulFunctionCall","src":"322370:11:19"},"variableNames":[{"name":"m2","nativeSrc":"322364:2:19","nodeType":"YulIdentifier","src":"322364:2:19"}]},{"nativeSrc":"322394:17:19","nodeType":"YulAssignment","src":"322394:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"322406:4:19","nodeType":"YulLiteral","src":"322406:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"322400:5:19","nodeType":"YulIdentifier","src":"322400:5:19"},"nativeSrc":"322400:11:19","nodeType":"YulFunctionCall","src":"322400:11:19"},"variableNames":[{"name":"m3","nativeSrc":"322394:2:19","nodeType":"YulIdentifier","src":"322394:2:19"}]},{"nativeSrc":"322424:17:19","nodeType":"YulAssignment","src":"322424:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"322436:4:19","nodeType":"YulLiteral","src":"322436:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"322430:5:19","nodeType":"YulIdentifier","src":"322430:5:19"},"nativeSrc":"322430:11:19","nodeType":"YulFunctionCall","src":"322430:11:19"},"variableNames":[{"name":"m4","nativeSrc":"322424:2:19","nodeType":"YulIdentifier","src":"322424:2:19"}]},{"nativeSrc":"322454:17:19","nodeType":"YulAssignment","src":"322454:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"322466:4:19","nodeType":"YulLiteral","src":"322466:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"322460:5:19","nodeType":"YulIdentifier","src":"322460:5:19"},"nativeSrc":"322460:11:19","nodeType":"YulFunctionCall","src":"322460:11:19"},"variableNames":[{"name":"m5","nativeSrc":"322454:2:19","nodeType":"YulIdentifier","src":"322454:2:19"}]},{"nativeSrc":"322484:17:19","nodeType":"YulAssignment","src":"322484:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"322496:4:19","nodeType":"YulLiteral","src":"322496:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"322490:5:19","nodeType":"YulIdentifier","src":"322490:5:19"},"nativeSrc":"322490:11:19","nodeType":"YulFunctionCall","src":"322490:11:19"},"variableNames":[{"name":"m6","nativeSrc":"322484:2:19","nodeType":"YulIdentifier","src":"322484:2:19"}]},{"nativeSrc":"322514:17:19","nodeType":"YulAssignment","src":"322514:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"322526:4:19","nodeType":"YulLiteral","src":"322526:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"322520:5:19","nodeType":"YulIdentifier","src":"322520:5:19"},"nativeSrc":"322520:11:19","nodeType":"YulFunctionCall","src":"322520:11:19"},"variableNames":[{"name":"m7","nativeSrc":"322514:2:19","nodeType":"YulIdentifier","src":"322514:2:19"}]},{"nativeSrc":"322544:18:19","nodeType":"YulAssignment","src":"322544:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"322556:5:19","nodeType":"YulLiteral","src":"322556:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"322550:5:19","nodeType":"YulIdentifier","src":"322550:5:19"},"nativeSrc":"322550:12:19","nodeType":"YulFunctionCall","src":"322550:12:19"},"variableNames":[{"name":"m8","nativeSrc":"322544:2:19","nodeType":"YulIdentifier","src":"322544:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"322644:4:19","nodeType":"YulLiteral","src":"322644:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"322650:10:19","nodeType":"YulLiteral","src":"322650:10:19","type":"","value":"0xb3a6b6bd"}],"functionName":{"name":"mstore","nativeSrc":"322637:6:19","nodeType":"YulIdentifier","src":"322637:6:19"},"nativeSrc":"322637:24:19","nodeType":"YulFunctionCall","src":"322637:24:19"},"nativeSrc":"322637:24:19","nodeType":"YulExpressionStatement","src":"322637:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"322681:4:19","nodeType":"YulLiteral","src":"322681:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"322687:2:19","nodeType":"YulIdentifier","src":"322687:2:19"}],"functionName":{"name":"mstore","nativeSrc":"322674:6:19","nodeType":"YulIdentifier","src":"322674:6:19"},"nativeSrc":"322674:16:19","nodeType":"YulFunctionCall","src":"322674:16:19"},"nativeSrc":"322674:16:19","nodeType":"YulExpressionStatement","src":"322674:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"322710:4:19","nodeType":"YulLiteral","src":"322710:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"322716:4:19","nodeType":"YulLiteral","src":"322716:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"322703:6:19","nodeType":"YulIdentifier","src":"322703:6:19"},"nativeSrc":"322703:18:19","nodeType":"YulFunctionCall","src":"322703:18:19"},"nativeSrc":"322703:18:19","nodeType":"YulExpressionStatement","src":"322703:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"322741:4:19","nodeType":"YulLiteral","src":"322741:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"322747:4:19","nodeType":"YulLiteral","src":"322747:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"322734:6:19","nodeType":"YulIdentifier","src":"322734:6:19"},"nativeSrc":"322734:18:19","nodeType":"YulFunctionCall","src":"322734:18:19"},"nativeSrc":"322734:18:19","nodeType":"YulExpressionStatement","src":"322734:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"322772:4:19","nodeType":"YulLiteral","src":"322772:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"322778:2:19","nodeType":"YulIdentifier","src":"322778:2:19"}],"functionName":{"name":"mstore","nativeSrc":"322765:6:19","nodeType":"YulIdentifier","src":"322765:6:19"},"nativeSrc":"322765:16:19","nodeType":"YulFunctionCall","src":"322765:16:19"},"nativeSrc":"322765:16:19","nodeType":"YulExpressionStatement","src":"322765:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"322806:4:19","nodeType":"YulLiteral","src":"322806:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"322812:2:19","nodeType":"YulIdentifier","src":"322812:2:19"}],"functionName":{"name":"writeString","nativeSrc":"322794:11:19","nodeType":"YulIdentifier","src":"322794:11:19"},"nativeSrc":"322794:21:19","nodeType":"YulFunctionCall","src":"322794:21:19"},"nativeSrc":"322794:21:19","nodeType":"YulExpressionStatement","src":"322794:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"322840:4:19","nodeType":"YulLiteral","src":"322840:4:19","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"322846:2:19","nodeType":"YulIdentifier","src":"322846:2:19"}],"functionName":{"name":"writeString","nativeSrc":"322828:11:19","nodeType":"YulIdentifier","src":"322828:11:19"},"nativeSrc":"322828:21:19","nodeType":"YulFunctionCall","src":"322828:21:19"},"nativeSrc":"322828:21:19","nodeType":"YulExpressionStatement","src":"322828:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36378,"isOffset":false,"isSlot":false,"src":"322304:2:19","valueSize":1},{"declaration":36381,"isOffset":false,"isSlot":false,"src":"322334:2:19","valueSize":1},{"declaration":36384,"isOffset":false,"isSlot":false,"src":"322364:2:19","valueSize":1},{"declaration":36387,"isOffset":false,"isSlot":false,"src":"322394:2:19","valueSize":1},{"declaration":36390,"isOffset":false,"isSlot":false,"src":"322424:2:19","valueSize":1},{"declaration":36393,"isOffset":false,"isSlot":false,"src":"322454:2:19","valueSize":1},{"declaration":36396,"isOffset":false,"isSlot":false,"src":"322484:2:19","valueSize":1},{"declaration":36399,"isOffset":false,"isSlot":false,"src":"322514:2:19","valueSize":1},{"declaration":36402,"isOffset":false,"isSlot":false,"src":"322544:2:19","valueSize":1},{"declaration":36368,"isOffset":false,"isSlot":false,"src":"322687:2:19","valueSize":1},{"declaration":36370,"isOffset":false,"isSlot":false,"src":"322812:2:19","valueSize":1},{"declaration":36372,"isOffset":false,"isSlot":false,"src":"322846:2:19","valueSize":1},{"declaration":36374,"isOffset":false,"isSlot":false,"src":"322778:2:19","valueSize":1}],"id":36404,"nodeType":"InlineAssembly","src":"321926:933:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":36406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"322884:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":36407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"322890:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":36405,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"322868:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"322868:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36409,"nodeType":"ExpressionStatement","src":"322868:28:19"},{"AST":{"nativeSrc":"322958:273:19","nodeType":"YulBlock","src":"322958:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"322979:4:19","nodeType":"YulLiteral","src":"322979:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"322985:2:19","nodeType":"YulIdentifier","src":"322985:2:19"}],"functionName":{"name":"mstore","nativeSrc":"322972:6:19","nodeType":"YulIdentifier","src":"322972:6:19"},"nativeSrc":"322972:16:19","nodeType":"YulFunctionCall","src":"322972:16:19"},"nativeSrc":"322972:16:19","nodeType":"YulExpressionStatement","src":"322972:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"323008:4:19","nodeType":"YulLiteral","src":"323008:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"323014:2:19","nodeType":"YulIdentifier","src":"323014:2:19"}],"functionName":{"name":"mstore","nativeSrc":"323001:6:19","nodeType":"YulIdentifier","src":"323001:6:19"},"nativeSrc":"323001:16:19","nodeType":"YulFunctionCall","src":"323001:16:19"},"nativeSrc":"323001:16:19","nodeType":"YulExpressionStatement","src":"323001:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"323037:4:19","nodeType":"YulLiteral","src":"323037:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"323043:2:19","nodeType":"YulIdentifier","src":"323043:2:19"}],"functionName":{"name":"mstore","nativeSrc":"323030:6:19","nodeType":"YulIdentifier","src":"323030:6:19"},"nativeSrc":"323030:16:19","nodeType":"YulFunctionCall","src":"323030:16:19"},"nativeSrc":"323030:16:19","nodeType":"YulExpressionStatement","src":"323030:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"323066:4:19","nodeType":"YulLiteral","src":"323066:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"323072:2:19","nodeType":"YulIdentifier","src":"323072:2:19"}],"functionName":{"name":"mstore","nativeSrc":"323059:6:19","nodeType":"YulIdentifier","src":"323059:6:19"},"nativeSrc":"323059:16:19","nodeType":"YulFunctionCall","src":"323059:16:19"},"nativeSrc":"323059:16:19","nodeType":"YulExpressionStatement","src":"323059:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"323095:4:19","nodeType":"YulLiteral","src":"323095:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"323101:2:19","nodeType":"YulIdentifier","src":"323101:2:19"}],"functionName":{"name":"mstore","nativeSrc":"323088:6:19","nodeType":"YulIdentifier","src":"323088:6:19"},"nativeSrc":"323088:16:19","nodeType":"YulFunctionCall","src":"323088:16:19"},"nativeSrc":"323088:16:19","nodeType":"YulExpressionStatement","src":"323088:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"323124:4:19","nodeType":"YulLiteral","src":"323124:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"323130:2:19","nodeType":"YulIdentifier","src":"323130:2:19"}],"functionName":{"name":"mstore","nativeSrc":"323117:6:19","nodeType":"YulIdentifier","src":"323117:6:19"},"nativeSrc":"323117:16:19","nodeType":"YulFunctionCall","src":"323117:16:19"},"nativeSrc":"323117:16:19","nodeType":"YulExpressionStatement","src":"323117:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"323153:4:19","nodeType":"YulLiteral","src":"323153:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"323159:2:19","nodeType":"YulIdentifier","src":"323159:2:19"}],"functionName":{"name":"mstore","nativeSrc":"323146:6:19","nodeType":"YulIdentifier","src":"323146:6:19"},"nativeSrc":"323146:16:19","nodeType":"YulFunctionCall","src":"323146:16:19"},"nativeSrc":"323146:16:19","nodeType":"YulExpressionStatement","src":"323146:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"323182:4:19","nodeType":"YulLiteral","src":"323182:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"323188:2:19","nodeType":"YulIdentifier","src":"323188:2:19"}],"functionName":{"name":"mstore","nativeSrc":"323175:6:19","nodeType":"YulIdentifier","src":"323175:6:19"},"nativeSrc":"323175:16:19","nodeType":"YulFunctionCall","src":"323175:16:19"},"nativeSrc":"323175:16:19","nodeType":"YulExpressionStatement","src":"323175:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"323211:5:19","nodeType":"YulLiteral","src":"323211:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"323218:2:19","nodeType":"YulIdentifier","src":"323218:2:19"}],"functionName":{"name":"mstore","nativeSrc":"323204:6:19","nodeType":"YulIdentifier","src":"323204:6:19"},"nativeSrc":"323204:17:19","nodeType":"YulFunctionCall","src":"323204:17:19"},"nativeSrc":"323204:17:19","nodeType":"YulExpressionStatement","src":"323204:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36378,"isOffset":false,"isSlot":false,"src":"322985:2:19","valueSize":1},{"declaration":36381,"isOffset":false,"isSlot":false,"src":"323014:2:19","valueSize":1},{"declaration":36384,"isOffset":false,"isSlot":false,"src":"323043:2:19","valueSize":1},{"declaration":36387,"isOffset":false,"isSlot":false,"src":"323072:2:19","valueSize":1},{"declaration":36390,"isOffset":false,"isSlot":false,"src":"323101:2:19","valueSize":1},{"declaration":36393,"isOffset":false,"isSlot":false,"src":"323130:2:19","valueSize":1},{"declaration":36396,"isOffset":false,"isSlot":false,"src":"323159:2:19","valueSize":1},{"declaration":36399,"isOffset":false,"isSlot":false,"src":"323188:2:19","valueSize":1},{"declaration":36402,"isOffset":false,"isSlot":false,"src":"323218:2:19","valueSize":1}],"id":36410,"nodeType":"InlineAssembly","src":"322949:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"321630:3:19","parameters":{"id":36375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36368,"mutability":"mutable","name":"p0","nameLocation":"321642:2:19","nodeType":"VariableDeclaration","scope":36412,"src":"321634:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36367,"name":"uint256","nodeType":"ElementaryTypeName","src":"321634:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36370,"mutability":"mutable","name":"p1","nameLocation":"321654:2:19","nodeType":"VariableDeclaration","scope":36412,"src":"321646:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36369,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321646:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36372,"mutability":"mutable","name":"p2","nameLocation":"321666:2:19","nodeType":"VariableDeclaration","scope":36412,"src":"321658:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36371,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321658:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36374,"mutability":"mutable","name":"p3","nameLocation":"321675:2:19","nodeType":"VariableDeclaration","scope":36412,"src":"321670:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36373,"name":"bool","nodeType":"ElementaryTypeName","src":"321670:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"321633:45:19"},"returnParameters":{"id":36376,"nodeType":"ParameterList","parameters":[],"src":"321693:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36458,"nodeType":"FunctionDefinition","src":"323243:1622:19","nodes":[],"body":{"id":36457,"nodeType":"Block","src":"323318:1547:19","nodes":[],"statements":[{"assignments":[36424],"declarations":[{"constant":false,"id":36424,"mutability":"mutable","name":"m0","nameLocation":"323336:2:19","nodeType":"VariableDeclaration","scope":36457,"src":"323328:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36423,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323328:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36425,"nodeType":"VariableDeclarationStatement","src":"323328:10:19"},{"assignments":[36427],"declarations":[{"constant":false,"id":36427,"mutability":"mutable","name":"m1","nameLocation":"323356:2:19","nodeType":"VariableDeclaration","scope":36457,"src":"323348:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36426,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323348:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36428,"nodeType":"VariableDeclarationStatement","src":"323348:10:19"},{"assignments":[36430],"declarations":[{"constant":false,"id":36430,"mutability":"mutable","name":"m2","nameLocation":"323376:2:19","nodeType":"VariableDeclaration","scope":36457,"src":"323368:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36429,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323368:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36431,"nodeType":"VariableDeclarationStatement","src":"323368:10:19"},{"assignments":[36433],"declarations":[{"constant":false,"id":36433,"mutability":"mutable","name":"m3","nameLocation":"323396:2:19","nodeType":"VariableDeclaration","scope":36457,"src":"323388:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36432,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323388:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36434,"nodeType":"VariableDeclarationStatement","src":"323388:10:19"},{"assignments":[36436],"declarations":[{"constant":false,"id":36436,"mutability":"mutable","name":"m4","nameLocation":"323416:2:19","nodeType":"VariableDeclaration","scope":36457,"src":"323408:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36435,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323408:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36437,"nodeType":"VariableDeclarationStatement","src":"323408:10:19"},{"assignments":[36439],"declarations":[{"constant":false,"id":36439,"mutability":"mutable","name":"m5","nameLocation":"323436:2:19","nodeType":"VariableDeclaration","scope":36457,"src":"323428:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36438,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323428:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36440,"nodeType":"VariableDeclarationStatement","src":"323428:10:19"},{"assignments":[36442],"declarations":[{"constant":false,"id":36442,"mutability":"mutable","name":"m6","nameLocation":"323456:2:19","nodeType":"VariableDeclaration","scope":36457,"src":"323448:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36441,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323448:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36443,"nodeType":"VariableDeclarationStatement","src":"323448:10:19"},{"assignments":[36445],"declarations":[{"constant":false,"id":36445,"mutability":"mutable","name":"m7","nameLocation":"323476:2:19","nodeType":"VariableDeclaration","scope":36457,"src":"323468:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36444,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323468:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36446,"nodeType":"VariableDeclarationStatement","src":"323468:10:19"},{"assignments":[36448],"declarations":[{"constant":false,"id":36448,"mutability":"mutable","name":"m8","nameLocation":"323496:2:19","nodeType":"VariableDeclaration","scope":36457,"src":"323488:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36447,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323488:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36449,"nodeType":"VariableDeclarationStatement","src":"323488:10:19"},{"AST":{"nativeSrc":"323560:927:19","nodeType":"YulBlock","src":"323560:927:19","statements":[{"body":{"nativeSrc":"323603:313:19","nodeType":"YulBlock","src":"323603:313:19","statements":[{"nativeSrc":"323621:15:19","nodeType":"YulVariableDeclaration","src":"323621:15:19","value":{"kind":"number","nativeSrc":"323635:1:19","nodeType":"YulLiteral","src":"323635:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"323625:6:19","nodeType":"YulTypedName","src":"323625:6:19","type":""}]},{"body":{"nativeSrc":"323706:40:19","nodeType":"YulBlock","src":"323706:40:19","statements":[{"body":{"nativeSrc":"323735:9:19","nodeType":"YulBlock","src":"323735:9:19","statements":[{"nativeSrc":"323737:5:19","nodeType":"YulBreak","src":"323737:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"323723:6:19","nodeType":"YulIdentifier","src":"323723:6:19"},{"name":"w","nativeSrc":"323731:1:19","nodeType":"YulIdentifier","src":"323731:1:19"}],"functionName":{"name":"byte","nativeSrc":"323718:4:19","nodeType":"YulIdentifier","src":"323718:4:19"},"nativeSrc":"323718:15:19","nodeType":"YulFunctionCall","src":"323718:15:19"}],"functionName":{"name":"iszero","nativeSrc":"323711:6:19","nodeType":"YulIdentifier","src":"323711:6:19"},"nativeSrc":"323711:23:19","nodeType":"YulFunctionCall","src":"323711:23:19"},"nativeSrc":"323708:36:19","nodeType":"YulIf","src":"323708:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"323663:6:19","nodeType":"YulIdentifier","src":"323663:6:19"},{"kind":"number","nativeSrc":"323671:4:19","nodeType":"YulLiteral","src":"323671:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"323660:2:19","nodeType":"YulIdentifier","src":"323660:2:19"},"nativeSrc":"323660:16:19","nodeType":"YulFunctionCall","src":"323660:16:19"},"nativeSrc":"323653:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"323677:28:19","nodeType":"YulBlock","src":"323677:28:19","statements":[{"nativeSrc":"323679:24:19","nodeType":"YulAssignment","src":"323679:24:19","value":{"arguments":[{"name":"length","nativeSrc":"323693:6:19","nodeType":"YulIdentifier","src":"323693:6:19"},{"kind":"number","nativeSrc":"323701:1:19","nodeType":"YulLiteral","src":"323701:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"323689:3:19","nodeType":"YulIdentifier","src":"323689:3:19"},"nativeSrc":"323689:14:19","nodeType":"YulFunctionCall","src":"323689:14:19"},"variableNames":[{"name":"length","nativeSrc":"323679:6:19","nodeType":"YulIdentifier","src":"323679:6:19"}]}]},"pre":{"nativeSrc":"323657:2:19","nodeType":"YulBlock","src":"323657:2:19","statements":[]},"src":"323653:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"323770:3:19","nodeType":"YulIdentifier","src":"323770:3:19"},{"name":"length","nativeSrc":"323775:6:19","nodeType":"YulIdentifier","src":"323775:6:19"}],"functionName":{"name":"mstore","nativeSrc":"323763:6:19","nodeType":"YulIdentifier","src":"323763:6:19"},"nativeSrc":"323763:19:19","nodeType":"YulFunctionCall","src":"323763:19:19"},"nativeSrc":"323763:19:19","nodeType":"YulExpressionStatement","src":"323763:19:19"},{"nativeSrc":"323799:37:19","nodeType":"YulVariableDeclaration","src":"323799:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"323816:3:19","nodeType":"YulLiteral","src":"323816:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"323825:1:19","nodeType":"YulLiteral","src":"323825:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"323828:6:19","nodeType":"YulIdentifier","src":"323828:6:19"}],"functionName":{"name":"shl","nativeSrc":"323821:3:19","nodeType":"YulIdentifier","src":"323821:3:19"},"nativeSrc":"323821:14:19","nodeType":"YulFunctionCall","src":"323821:14:19"}],"functionName":{"name":"sub","nativeSrc":"323812:3:19","nodeType":"YulIdentifier","src":"323812:3:19"},"nativeSrc":"323812:24:19","nodeType":"YulFunctionCall","src":"323812:24:19"},"variables":[{"name":"shift","nativeSrc":"323803:5:19","nodeType":"YulTypedName","src":"323803:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"323864:3:19","nodeType":"YulIdentifier","src":"323864:3:19"},{"kind":"number","nativeSrc":"323869:4:19","nodeType":"YulLiteral","src":"323869:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"323860:3:19","nodeType":"YulIdentifier","src":"323860:3:19"},"nativeSrc":"323860:14:19","nodeType":"YulFunctionCall","src":"323860:14:19"},{"arguments":[{"name":"shift","nativeSrc":"323880:5:19","nodeType":"YulIdentifier","src":"323880:5:19"},{"arguments":[{"name":"shift","nativeSrc":"323891:5:19","nodeType":"YulIdentifier","src":"323891:5:19"},{"name":"w","nativeSrc":"323898:1:19","nodeType":"YulIdentifier","src":"323898:1:19"}],"functionName":{"name":"shr","nativeSrc":"323887:3:19","nodeType":"YulIdentifier","src":"323887:3:19"},"nativeSrc":"323887:13:19","nodeType":"YulFunctionCall","src":"323887:13:19"}],"functionName":{"name":"shl","nativeSrc":"323876:3:19","nodeType":"YulIdentifier","src":"323876:3:19"},"nativeSrc":"323876:25:19","nodeType":"YulFunctionCall","src":"323876:25:19"}],"functionName":{"name":"mstore","nativeSrc":"323853:6:19","nodeType":"YulIdentifier","src":"323853:6:19"},"nativeSrc":"323853:49:19","nodeType":"YulFunctionCall","src":"323853:49:19"},"nativeSrc":"323853:49:19","nodeType":"YulExpressionStatement","src":"323853:49:19"}]},"name":"writeString","nativeSrc":"323574:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"323595:3:19","nodeType":"YulTypedName","src":"323595:3:19","type":""},{"name":"w","nativeSrc":"323600:1:19","nodeType":"YulTypedName","src":"323600:1:19","type":""}],"src":"323574:342:19"},{"nativeSrc":"323929:17:19","nodeType":"YulAssignment","src":"323929:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"323941:4:19","nodeType":"YulLiteral","src":"323941:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"323935:5:19","nodeType":"YulIdentifier","src":"323935:5:19"},"nativeSrc":"323935:11:19","nodeType":"YulFunctionCall","src":"323935:11:19"},"variableNames":[{"name":"m0","nativeSrc":"323929:2:19","nodeType":"YulIdentifier","src":"323929:2:19"}]},{"nativeSrc":"323959:17:19","nodeType":"YulAssignment","src":"323959:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"323971:4:19","nodeType":"YulLiteral","src":"323971:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"323965:5:19","nodeType":"YulIdentifier","src":"323965:5:19"},"nativeSrc":"323965:11:19","nodeType":"YulFunctionCall","src":"323965:11:19"},"variableNames":[{"name":"m1","nativeSrc":"323959:2:19","nodeType":"YulIdentifier","src":"323959:2:19"}]},{"nativeSrc":"323989:17:19","nodeType":"YulAssignment","src":"323989:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"324001:4:19","nodeType":"YulLiteral","src":"324001:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"323995:5:19","nodeType":"YulIdentifier","src":"323995:5:19"},"nativeSrc":"323995:11:19","nodeType":"YulFunctionCall","src":"323995:11:19"},"variableNames":[{"name":"m2","nativeSrc":"323989:2:19","nodeType":"YulIdentifier","src":"323989:2:19"}]},{"nativeSrc":"324019:17:19","nodeType":"YulAssignment","src":"324019:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"324031:4:19","nodeType":"YulLiteral","src":"324031:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"324025:5:19","nodeType":"YulIdentifier","src":"324025:5:19"},"nativeSrc":"324025:11:19","nodeType":"YulFunctionCall","src":"324025:11:19"},"variableNames":[{"name":"m3","nativeSrc":"324019:2:19","nodeType":"YulIdentifier","src":"324019:2:19"}]},{"nativeSrc":"324049:17:19","nodeType":"YulAssignment","src":"324049:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"324061:4:19","nodeType":"YulLiteral","src":"324061:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"324055:5:19","nodeType":"YulIdentifier","src":"324055:5:19"},"nativeSrc":"324055:11:19","nodeType":"YulFunctionCall","src":"324055:11:19"},"variableNames":[{"name":"m4","nativeSrc":"324049:2:19","nodeType":"YulIdentifier","src":"324049:2:19"}]},{"nativeSrc":"324079:17:19","nodeType":"YulAssignment","src":"324079:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"324091:4:19","nodeType":"YulLiteral","src":"324091:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"324085:5:19","nodeType":"YulIdentifier","src":"324085:5:19"},"nativeSrc":"324085:11:19","nodeType":"YulFunctionCall","src":"324085:11:19"},"variableNames":[{"name":"m5","nativeSrc":"324079:2:19","nodeType":"YulIdentifier","src":"324079:2:19"}]},{"nativeSrc":"324109:17:19","nodeType":"YulAssignment","src":"324109:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"324121:4:19","nodeType":"YulLiteral","src":"324121:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"324115:5:19","nodeType":"YulIdentifier","src":"324115:5:19"},"nativeSrc":"324115:11:19","nodeType":"YulFunctionCall","src":"324115:11:19"},"variableNames":[{"name":"m6","nativeSrc":"324109:2:19","nodeType":"YulIdentifier","src":"324109:2:19"}]},{"nativeSrc":"324139:17:19","nodeType":"YulAssignment","src":"324139:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"324151:4:19","nodeType":"YulLiteral","src":"324151:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"324145:5:19","nodeType":"YulIdentifier","src":"324145:5:19"},"nativeSrc":"324145:11:19","nodeType":"YulFunctionCall","src":"324145:11:19"},"variableNames":[{"name":"m7","nativeSrc":"324139:2:19","nodeType":"YulIdentifier","src":"324139:2:19"}]},{"nativeSrc":"324169:18:19","nodeType":"YulAssignment","src":"324169:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"324181:5:19","nodeType":"YulLiteral","src":"324181:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"324175:5:19","nodeType":"YulIdentifier","src":"324175:5:19"},"nativeSrc":"324175:12:19","nodeType":"YulFunctionCall","src":"324175:12:19"},"variableNames":[{"name":"m8","nativeSrc":"324169:2:19","nodeType":"YulIdentifier","src":"324169:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324272:4:19","nodeType":"YulLiteral","src":"324272:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"324278:10:19","nodeType":"YulLiteral","src":"324278:10:19","type":"","value":"0xb028c9bd"}],"functionName":{"name":"mstore","nativeSrc":"324265:6:19","nodeType":"YulIdentifier","src":"324265:6:19"},"nativeSrc":"324265:24:19","nodeType":"YulFunctionCall","src":"324265:24:19"},"nativeSrc":"324265:24:19","nodeType":"YulExpressionStatement","src":"324265:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324309:4:19","nodeType":"YulLiteral","src":"324309:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"324315:2:19","nodeType":"YulIdentifier","src":"324315:2:19"}],"functionName":{"name":"mstore","nativeSrc":"324302:6:19","nodeType":"YulIdentifier","src":"324302:6:19"},"nativeSrc":"324302:16:19","nodeType":"YulFunctionCall","src":"324302:16:19"},"nativeSrc":"324302:16:19","nodeType":"YulExpressionStatement","src":"324302:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324338:4:19","nodeType":"YulLiteral","src":"324338:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"324344:4:19","nodeType":"YulLiteral","src":"324344:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"324331:6:19","nodeType":"YulIdentifier","src":"324331:6:19"},"nativeSrc":"324331:18:19","nodeType":"YulFunctionCall","src":"324331:18:19"},"nativeSrc":"324331:18:19","nodeType":"YulExpressionStatement","src":"324331:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324369:4:19","nodeType":"YulLiteral","src":"324369:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"324375:4:19","nodeType":"YulLiteral","src":"324375:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"324362:6:19","nodeType":"YulIdentifier","src":"324362:6:19"},"nativeSrc":"324362:18:19","nodeType":"YulFunctionCall","src":"324362:18:19"},"nativeSrc":"324362:18:19","nodeType":"YulExpressionStatement","src":"324362:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324400:4:19","nodeType":"YulLiteral","src":"324400:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"324406:2:19","nodeType":"YulIdentifier","src":"324406:2:19"}],"functionName":{"name":"mstore","nativeSrc":"324393:6:19","nodeType":"YulIdentifier","src":"324393:6:19"},"nativeSrc":"324393:16:19","nodeType":"YulFunctionCall","src":"324393:16:19"},"nativeSrc":"324393:16:19","nodeType":"YulExpressionStatement","src":"324393:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324434:4:19","nodeType":"YulLiteral","src":"324434:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"324440:2:19","nodeType":"YulIdentifier","src":"324440:2:19"}],"functionName":{"name":"writeString","nativeSrc":"324422:11:19","nodeType":"YulIdentifier","src":"324422:11:19"},"nativeSrc":"324422:21:19","nodeType":"YulFunctionCall","src":"324422:21:19"},"nativeSrc":"324422:21:19","nodeType":"YulExpressionStatement","src":"324422:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324468:4:19","nodeType":"YulLiteral","src":"324468:4:19","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"324474:2:19","nodeType":"YulIdentifier","src":"324474:2:19"}],"functionName":{"name":"writeString","nativeSrc":"324456:11:19","nodeType":"YulIdentifier","src":"324456:11:19"},"nativeSrc":"324456:21:19","nodeType":"YulFunctionCall","src":"324456:21:19"},"nativeSrc":"324456:21:19","nodeType":"YulExpressionStatement","src":"324456:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36424,"isOffset":false,"isSlot":false,"src":"323929:2:19","valueSize":1},{"declaration":36427,"isOffset":false,"isSlot":false,"src":"323959:2:19","valueSize":1},{"declaration":36430,"isOffset":false,"isSlot":false,"src":"323989:2:19","valueSize":1},{"declaration":36433,"isOffset":false,"isSlot":false,"src":"324019:2:19","valueSize":1},{"declaration":36436,"isOffset":false,"isSlot":false,"src":"324049:2:19","valueSize":1},{"declaration":36439,"isOffset":false,"isSlot":false,"src":"324079:2:19","valueSize":1},{"declaration":36442,"isOffset":false,"isSlot":false,"src":"324109:2:19","valueSize":1},{"declaration":36445,"isOffset":false,"isSlot":false,"src":"324139:2:19","valueSize":1},{"declaration":36448,"isOffset":false,"isSlot":false,"src":"324169:2:19","valueSize":1},{"declaration":36414,"isOffset":false,"isSlot":false,"src":"324315:2:19","valueSize":1},{"declaration":36416,"isOffset":false,"isSlot":false,"src":"324440:2:19","valueSize":1},{"declaration":36418,"isOffset":false,"isSlot":false,"src":"324474:2:19","valueSize":1},{"declaration":36420,"isOffset":false,"isSlot":false,"src":"324406:2:19","valueSize":1}],"id":36450,"nodeType":"InlineAssembly","src":"323551:936:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":36452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"324512:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":36453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"324518:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":36451,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"324496:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"324496:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36455,"nodeType":"ExpressionStatement","src":"324496:28:19"},{"AST":{"nativeSrc":"324586:273:19","nodeType":"YulBlock","src":"324586:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"324607:4:19","nodeType":"YulLiteral","src":"324607:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"324613:2:19","nodeType":"YulIdentifier","src":"324613:2:19"}],"functionName":{"name":"mstore","nativeSrc":"324600:6:19","nodeType":"YulIdentifier","src":"324600:6:19"},"nativeSrc":"324600:16:19","nodeType":"YulFunctionCall","src":"324600:16:19"},"nativeSrc":"324600:16:19","nodeType":"YulExpressionStatement","src":"324600:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324636:4:19","nodeType":"YulLiteral","src":"324636:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"324642:2:19","nodeType":"YulIdentifier","src":"324642:2:19"}],"functionName":{"name":"mstore","nativeSrc":"324629:6:19","nodeType":"YulIdentifier","src":"324629:6:19"},"nativeSrc":"324629:16:19","nodeType":"YulFunctionCall","src":"324629:16:19"},"nativeSrc":"324629:16:19","nodeType":"YulExpressionStatement","src":"324629:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324665:4:19","nodeType":"YulLiteral","src":"324665:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"324671:2:19","nodeType":"YulIdentifier","src":"324671:2:19"}],"functionName":{"name":"mstore","nativeSrc":"324658:6:19","nodeType":"YulIdentifier","src":"324658:6:19"},"nativeSrc":"324658:16:19","nodeType":"YulFunctionCall","src":"324658:16:19"},"nativeSrc":"324658:16:19","nodeType":"YulExpressionStatement","src":"324658:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324694:4:19","nodeType":"YulLiteral","src":"324694:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"324700:2:19","nodeType":"YulIdentifier","src":"324700:2:19"}],"functionName":{"name":"mstore","nativeSrc":"324687:6:19","nodeType":"YulIdentifier","src":"324687:6:19"},"nativeSrc":"324687:16:19","nodeType":"YulFunctionCall","src":"324687:16:19"},"nativeSrc":"324687:16:19","nodeType":"YulExpressionStatement","src":"324687:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324723:4:19","nodeType":"YulLiteral","src":"324723:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"324729:2:19","nodeType":"YulIdentifier","src":"324729:2:19"}],"functionName":{"name":"mstore","nativeSrc":"324716:6:19","nodeType":"YulIdentifier","src":"324716:6:19"},"nativeSrc":"324716:16:19","nodeType":"YulFunctionCall","src":"324716:16:19"},"nativeSrc":"324716:16:19","nodeType":"YulExpressionStatement","src":"324716:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324752:4:19","nodeType":"YulLiteral","src":"324752:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"324758:2:19","nodeType":"YulIdentifier","src":"324758:2:19"}],"functionName":{"name":"mstore","nativeSrc":"324745:6:19","nodeType":"YulIdentifier","src":"324745:6:19"},"nativeSrc":"324745:16:19","nodeType":"YulFunctionCall","src":"324745:16:19"},"nativeSrc":"324745:16:19","nodeType":"YulExpressionStatement","src":"324745:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324781:4:19","nodeType":"YulLiteral","src":"324781:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"324787:2:19","nodeType":"YulIdentifier","src":"324787:2:19"}],"functionName":{"name":"mstore","nativeSrc":"324774:6:19","nodeType":"YulIdentifier","src":"324774:6:19"},"nativeSrc":"324774:16:19","nodeType":"YulFunctionCall","src":"324774:16:19"},"nativeSrc":"324774:16:19","nodeType":"YulExpressionStatement","src":"324774:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324810:4:19","nodeType":"YulLiteral","src":"324810:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"324816:2:19","nodeType":"YulIdentifier","src":"324816:2:19"}],"functionName":{"name":"mstore","nativeSrc":"324803:6:19","nodeType":"YulIdentifier","src":"324803:6:19"},"nativeSrc":"324803:16:19","nodeType":"YulFunctionCall","src":"324803:16:19"},"nativeSrc":"324803:16:19","nodeType":"YulExpressionStatement","src":"324803:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"324839:5:19","nodeType":"YulLiteral","src":"324839:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"324846:2:19","nodeType":"YulIdentifier","src":"324846:2:19"}],"functionName":{"name":"mstore","nativeSrc":"324832:6:19","nodeType":"YulIdentifier","src":"324832:6:19"},"nativeSrc":"324832:17:19","nodeType":"YulFunctionCall","src":"324832:17:19"},"nativeSrc":"324832:17:19","nodeType":"YulExpressionStatement","src":"324832:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36424,"isOffset":false,"isSlot":false,"src":"324613:2:19","valueSize":1},{"declaration":36427,"isOffset":false,"isSlot":false,"src":"324642:2:19","valueSize":1},{"declaration":36430,"isOffset":false,"isSlot":false,"src":"324671:2:19","valueSize":1},{"declaration":36433,"isOffset":false,"isSlot":false,"src":"324700:2:19","valueSize":1},{"declaration":36436,"isOffset":false,"isSlot":false,"src":"324729:2:19","valueSize":1},{"declaration":36439,"isOffset":false,"isSlot":false,"src":"324758:2:19","valueSize":1},{"declaration":36442,"isOffset":false,"isSlot":false,"src":"324787:2:19","valueSize":1},{"declaration":36445,"isOffset":false,"isSlot":false,"src":"324816:2:19","valueSize":1},{"declaration":36448,"isOffset":false,"isSlot":false,"src":"324846:2:19","valueSize":1}],"id":36456,"nodeType":"InlineAssembly","src":"324577:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"323252:3:19","parameters":{"id":36421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36414,"mutability":"mutable","name":"p0","nameLocation":"323264:2:19","nodeType":"VariableDeclaration","scope":36458,"src":"323256:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36413,"name":"uint256","nodeType":"ElementaryTypeName","src":"323256:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36416,"mutability":"mutable","name":"p1","nameLocation":"323276:2:19","nodeType":"VariableDeclaration","scope":36458,"src":"323268:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36415,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323268:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36418,"mutability":"mutable","name":"p2","nameLocation":"323288:2:19","nodeType":"VariableDeclaration","scope":36458,"src":"323280:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36417,"name":"bytes32","nodeType":"ElementaryTypeName","src":"323280:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36420,"mutability":"mutable","name":"p3","nameLocation":"323300:2:19","nodeType":"VariableDeclaration","scope":36458,"src":"323292:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36419,"name":"uint256","nodeType":"ElementaryTypeName","src":"323292:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"323255:48:19"},"returnParameters":{"id":36422,"nodeType":"ParameterList","parameters":[],"src":"323318:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36510,"nodeType":"FunctionDefinition","src":"324871:1824:19","nodes":[],"body":{"id":36509,"nodeType":"Block","src":"324946:1749:19","nodes":[],"statements":[{"assignments":[36470],"declarations":[{"constant":false,"id":36470,"mutability":"mutable","name":"m0","nameLocation":"324964:2:19","nodeType":"VariableDeclaration","scope":36509,"src":"324956:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36469,"name":"bytes32","nodeType":"ElementaryTypeName","src":"324956:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36471,"nodeType":"VariableDeclarationStatement","src":"324956:10:19"},{"assignments":[36473],"declarations":[{"constant":false,"id":36473,"mutability":"mutable","name":"m1","nameLocation":"324984:2:19","nodeType":"VariableDeclaration","scope":36509,"src":"324976:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36472,"name":"bytes32","nodeType":"ElementaryTypeName","src":"324976:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36474,"nodeType":"VariableDeclarationStatement","src":"324976:10:19"},{"assignments":[36476],"declarations":[{"constant":false,"id":36476,"mutability":"mutable","name":"m2","nameLocation":"325004:2:19","nodeType":"VariableDeclaration","scope":36509,"src":"324996:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36475,"name":"bytes32","nodeType":"ElementaryTypeName","src":"324996:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36477,"nodeType":"VariableDeclarationStatement","src":"324996:10:19"},{"assignments":[36479],"declarations":[{"constant":false,"id":36479,"mutability":"mutable","name":"m3","nameLocation":"325024:2:19","nodeType":"VariableDeclaration","scope":36509,"src":"325016:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36478,"name":"bytes32","nodeType":"ElementaryTypeName","src":"325016:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36480,"nodeType":"VariableDeclarationStatement","src":"325016:10:19"},{"assignments":[36482],"declarations":[{"constant":false,"id":36482,"mutability":"mutable","name":"m4","nameLocation":"325044:2:19","nodeType":"VariableDeclaration","scope":36509,"src":"325036:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36481,"name":"bytes32","nodeType":"ElementaryTypeName","src":"325036:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36483,"nodeType":"VariableDeclarationStatement","src":"325036:10:19"},{"assignments":[36485],"declarations":[{"constant":false,"id":36485,"mutability":"mutable","name":"m5","nameLocation":"325064:2:19","nodeType":"VariableDeclaration","scope":36509,"src":"325056:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36484,"name":"bytes32","nodeType":"ElementaryTypeName","src":"325056:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36486,"nodeType":"VariableDeclarationStatement","src":"325056:10:19"},{"assignments":[36488],"declarations":[{"constant":false,"id":36488,"mutability":"mutable","name":"m6","nameLocation":"325084:2:19","nodeType":"VariableDeclaration","scope":36509,"src":"325076:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36487,"name":"bytes32","nodeType":"ElementaryTypeName","src":"325076:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36489,"nodeType":"VariableDeclarationStatement","src":"325076:10:19"},{"assignments":[36491],"declarations":[{"constant":false,"id":36491,"mutability":"mutable","name":"m7","nameLocation":"325104:2:19","nodeType":"VariableDeclaration","scope":36509,"src":"325096:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36490,"name":"bytes32","nodeType":"ElementaryTypeName","src":"325096:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36492,"nodeType":"VariableDeclarationStatement","src":"325096:10:19"},{"assignments":[36494],"declarations":[{"constant":false,"id":36494,"mutability":"mutable","name":"m8","nameLocation":"325124:2:19","nodeType":"VariableDeclaration","scope":36509,"src":"325116:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36493,"name":"bytes32","nodeType":"ElementaryTypeName","src":"325116:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36495,"nodeType":"VariableDeclarationStatement","src":"325116:10:19"},{"assignments":[36497],"declarations":[{"constant":false,"id":36497,"mutability":"mutable","name":"m9","nameLocation":"325144:2:19","nodeType":"VariableDeclaration","scope":36509,"src":"325136:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36496,"name":"bytes32","nodeType":"ElementaryTypeName","src":"325136:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36498,"nodeType":"VariableDeclarationStatement","src":"325136:10:19"},{"assignments":[36500],"declarations":[{"constant":false,"id":36500,"mutability":"mutable","name":"m10","nameLocation":"325164:3:19","nodeType":"VariableDeclaration","scope":36509,"src":"325156:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36499,"name":"bytes32","nodeType":"ElementaryTypeName","src":"325156:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36501,"nodeType":"VariableDeclarationStatement","src":"325156:11:19"},{"AST":{"nativeSrc":"325229:1027:19","nodeType":"YulBlock","src":"325229:1027:19","statements":[{"body":{"nativeSrc":"325272:313:19","nodeType":"YulBlock","src":"325272:313:19","statements":[{"nativeSrc":"325290:15:19","nodeType":"YulVariableDeclaration","src":"325290:15:19","value":{"kind":"number","nativeSrc":"325304:1:19","nodeType":"YulLiteral","src":"325304:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"325294:6:19","nodeType":"YulTypedName","src":"325294:6:19","type":""}]},{"body":{"nativeSrc":"325375:40:19","nodeType":"YulBlock","src":"325375:40:19","statements":[{"body":{"nativeSrc":"325404:9:19","nodeType":"YulBlock","src":"325404:9:19","statements":[{"nativeSrc":"325406:5:19","nodeType":"YulBreak","src":"325406:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"325392:6:19","nodeType":"YulIdentifier","src":"325392:6:19"},{"name":"w","nativeSrc":"325400:1:19","nodeType":"YulIdentifier","src":"325400:1:19"}],"functionName":{"name":"byte","nativeSrc":"325387:4:19","nodeType":"YulIdentifier","src":"325387:4:19"},"nativeSrc":"325387:15:19","nodeType":"YulFunctionCall","src":"325387:15:19"}],"functionName":{"name":"iszero","nativeSrc":"325380:6:19","nodeType":"YulIdentifier","src":"325380:6:19"},"nativeSrc":"325380:23:19","nodeType":"YulFunctionCall","src":"325380:23:19"},"nativeSrc":"325377:36:19","nodeType":"YulIf","src":"325377:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"325332:6:19","nodeType":"YulIdentifier","src":"325332:6:19"},{"kind":"number","nativeSrc":"325340:4:19","nodeType":"YulLiteral","src":"325340:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"325329:2:19","nodeType":"YulIdentifier","src":"325329:2:19"},"nativeSrc":"325329:16:19","nodeType":"YulFunctionCall","src":"325329:16:19"},"nativeSrc":"325322:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"325346:28:19","nodeType":"YulBlock","src":"325346:28:19","statements":[{"nativeSrc":"325348:24:19","nodeType":"YulAssignment","src":"325348:24:19","value":{"arguments":[{"name":"length","nativeSrc":"325362:6:19","nodeType":"YulIdentifier","src":"325362:6:19"},{"kind":"number","nativeSrc":"325370:1:19","nodeType":"YulLiteral","src":"325370:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"325358:3:19","nodeType":"YulIdentifier","src":"325358:3:19"},"nativeSrc":"325358:14:19","nodeType":"YulFunctionCall","src":"325358:14:19"},"variableNames":[{"name":"length","nativeSrc":"325348:6:19","nodeType":"YulIdentifier","src":"325348:6:19"}]}]},"pre":{"nativeSrc":"325326:2:19","nodeType":"YulBlock","src":"325326:2:19","statements":[]},"src":"325322:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"325439:3:19","nodeType":"YulIdentifier","src":"325439:3:19"},{"name":"length","nativeSrc":"325444:6:19","nodeType":"YulIdentifier","src":"325444:6:19"}],"functionName":{"name":"mstore","nativeSrc":"325432:6:19","nodeType":"YulIdentifier","src":"325432:6:19"},"nativeSrc":"325432:19:19","nodeType":"YulFunctionCall","src":"325432:19:19"},"nativeSrc":"325432:19:19","nodeType":"YulExpressionStatement","src":"325432:19:19"},{"nativeSrc":"325468:37:19","nodeType":"YulVariableDeclaration","src":"325468:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"325485:3:19","nodeType":"YulLiteral","src":"325485:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"325494:1:19","nodeType":"YulLiteral","src":"325494:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"325497:6:19","nodeType":"YulIdentifier","src":"325497:6:19"}],"functionName":{"name":"shl","nativeSrc":"325490:3:19","nodeType":"YulIdentifier","src":"325490:3:19"},"nativeSrc":"325490:14:19","nodeType":"YulFunctionCall","src":"325490:14:19"}],"functionName":{"name":"sub","nativeSrc":"325481:3:19","nodeType":"YulIdentifier","src":"325481:3:19"},"nativeSrc":"325481:24:19","nodeType":"YulFunctionCall","src":"325481:24:19"},"variables":[{"name":"shift","nativeSrc":"325472:5:19","nodeType":"YulTypedName","src":"325472:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"325533:3:19","nodeType":"YulIdentifier","src":"325533:3:19"},{"kind":"number","nativeSrc":"325538:4:19","nodeType":"YulLiteral","src":"325538:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"325529:3:19","nodeType":"YulIdentifier","src":"325529:3:19"},"nativeSrc":"325529:14:19","nodeType":"YulFunctionCall","src":"325529:14:19"},{"arguments":[{"name":"shift","nativeSrc":"325549:5:19","nodeType":"YulIdentifier","src":"325549:5:19"},{"arguments":[{"name":"shift","nativeSrc":"325560:5:19","nodeType":"YulIdentifier","src":"325560:5:19"},{"name":"w","nativeSrc":"325567:1:19","nodeType":"YulIdentifier","src":"325567:1:19"}],"functionName":{"name":"shr","nativeSrc":"325556:3:19","nodeType":"YulIdentifier","src":"325556:3:19"},"nativeSrc":"325556:13:19","nodeType":"YulFunctionCall","src":"325556:13:19"}],"functionName":{"name":"shl","nativeSrc":"325545:3:19","nodeType":"YulIdentifier","src":"325545:3:19"},"nativeSrc":"325545:25:19","nodeType":"YulFunctionCall","src":"325545:25:19"}],"functionName":{"name":"mstore","nativeSrc":"325522:6:19","nodeType":"YulIdentifier","src":"325522:6:19"},"nativeSrc":"325522:49:19","nodeType":"YulFunctionCall","src":"325522:49:19"},"nativeSrc":"325522:49:19","nodeType":"YulExpressionStatement","src":"325522:49:19"}]},"name":"writeString","nativeSrc":"325243:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"325264:3:19","nodeType":"YulTypedName","src":"325264:3:19","type":""},{"name":"w","nativeSrc":"325269:1:19","nodeType":"YulTypedName","src":"325269:1:19","type":""}],"src":"325243:342:19"},{"nativeSrc":"325598:17:19","nodeType":"YulAssignment","src":"325598:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"325610:4:19","nodeType":"YulLiteral","src":"325610:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"325604:5:19","nodeType":"YulIdentifier","src":"325604:5:19"},"nativeSrc":"325604:11:19","nodeType":"YulFunctionCall","src":"325604:11:19"},"variableNames":[{"name":"m0","nativeSrc":"325598:2:19","nodeType":"YulIdentifier","src":"325598:2:19"}]},{"nativeSrc":"325628:17:19","nodeType":"YulAssignment","src":"325628:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"325640:4:19","nodeType":"YulLiteral","src":"325640:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"325634:5:19","nodeType":"YulIdentifier","src":"325634:5:19"},"nativeSrc":"325634:11:19","nodeType":"YulFunctionCall","src":"325634:11:19"},"variableNames":[{"name":"m1","nativeSrc":"325628:2:19","nodeType":"YulIdentifier","src":"325628:2:19"}]},{"nativeSrc":"325658:17:19","nodeType":"YulAssignment","src":"325658:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"325670:4:19","nodeType":"YulLiteral","src":"325670:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"325664:5:19","nodeType":"YulIdentifier","src":"325664:5:19"},"nativeSrc":"325664:11:19","nodeType":"YulFunctionCall","src":"325664:11:19"},"variableNames":[{"name":"m2","nativeSrc":"325658:2:19","nodeType":"YulIdentifier","src":"325658:2:19"}]},{"nativeSrc":"325688:17:19","nodeType":"YulAssignment","src":"325688:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"325700:4:19","nodeType":"YulLiteral","src":"325700:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"325694:5:19","nodeType":"YulIdentifier","src":"325694:5:19"},"nativeSrc":"325694:11:19","nodeType":"YulFunctionCall","src":"325694:11:19"},"variableNames":[{"name":"m3","nativeSrc":"325688:2:19","nodeType":"YulIdentifier","src":"325688:2:19"}]},{"nativeSrc":"325718:17:19","nodeType":"YulAssignment","src":"325718:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"325730:4:19","nodeType":"YulLiteral","src":"325730:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"325724:5:19","nodeType":"YulIdentifier","src":"325724:5:19"},"nativeSrc":"325724:11:19","nodeType":"YulFunctionCall","src":"325724:11:19"},"variableNames":[{"name":"m4","nativeSrc":"325718:2:19","nodeType":"YulIdentifier","src":"325718:2:19"}]},{"nativeSrc":"325748:17:19","nodeType":"YulAssignment","src":"325748:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"325760:4:19","nodeType":"YulLiteral","src":"325760:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"325754:5:19","nodeType":"YulIdentifier","src":"325754:5:19"},"nativeSrc":"325754:11:19","nodeType":"YulFunctionCall","src":"325754:11:19"},"variableNames":[{"name":"m5","nativeSrc":"325748:2:19","nodeType":"YulIdentifier","src":"325748:2:19"}]},{"nativeSrc":"325778:17:19","nodeType":"YulAssignment","src":"325778:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"325790:4:19","nodeType":"YulLiteral","src":"325790:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"325784:5:19","nodeType":"YulIdentifier","src":"325784:5:19"},"nativeSrc":"325784:11:19","nodeType":"YulFunctionCall","src":"325784:11:19"},"variableNames":[{"name":"m6","nativeSrc":"325778:2:19","nodeType":"YulIdentifier","src":"325778:2:19"}]},{"nativeSrc":"325808:17:19","nodeType":"YulAssignment","src":"325808:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"325820:4:19","nodeType":"YulLiteral","src":"325820:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"325814:5:19","nodeType":"YulIdentifier","src":"325814:5:19"},"nativeSrc":"325814:11:19","nodeType":"YulFunctionCall","src":"325814:11:19"},"variableNames":[{"name":"m7","nativeSrc":"325808:2:19","nodeType":"YulIdentifier","src":"325808:2:19"}]},{"nativeSrc":"325838:18:19","nodeType":"YulAssignment","src":"325838:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"325850:5:19","nodeType":"YulLiteral","src":"325850:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"325844:5:19","nodeType":"YulIdentifier","src":"325844:5:19"},"nativeSrc":"325844:12:19","nodeType":"YulFunctionCall","src":"325844:12:19"},"variableNames":[{"name":"m8","nativeSrc":"325838:2:19","nodeType":"YulIdentifier","src":"325838:2:19"}]},{"nativeSrc":"325869:18:19","nodeType":"YulAssignment","src":"325869:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"325881:5:19","nodeType":"YulLiteral","src":"325881:5:19","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"325875:5:19","nodeType":"YulIdentifier","src":"325875:5:19"},"nativeSrc":"325875:12:19","nodeType":"YulFunctionCall","src":"325875:12:19"},"variableNames":[{"name":"m9","nativeSrc":"325869:2:19","nodeType":"YulIdentifier","src":"325869:2:19"}]},{"nativeSrc":"325900:19:19","nodeType":"YulAssignment","src":"325900:19:19","value":{"arguments":[{"kind":"number","nativeSrc":"325913:5:19","nodeType":"YulLiteral","src":"325913:5:19","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"325907:5:19","nodeType":"YulIdentifier","src":"325907:5:19"},"nativeSrc":"325907:12:19","nodeType":"YulFunctionCall","src":"325907:12:19"},"variableNames":[{"name":"m10","nativeSrc":"325900:3:19","nodeType":"YulIdentifier","src":"325900:3:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326003:4:19","nodeType":"YulLiteral","src":"326003:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"326009:10:19","nodeType":"YulLiteral","src":"326009:10:19","type":"","value":"0x21ad0683"}],"functionName":{"name":"mstore","nativeSrc":"325996:6:19","nodeType":"YulIdentifier","src":"325996:6:19"},"nativeSrc":"325996:24:19","nodeType":"YulFunctionCall","src":"325996:24:19"},"nativeSrc":"325996:24:19","nodeType":"YulExpressionStatement","src":"325996:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326040:4:19","nodeType":"YulLiteral","src":"326040:4:19","type":"","value":"0x20"},{"name":"p0","nativeSrc":"326046:2:19","nodeType":"YulIdentifier","src":"326046:2:19"}],"functionName":{"name":"mstore","nativeSrc":"326033:6:19","nodeType":"YulIdentifier","src":"326033:6:19"},"nativeSrc":"326033:16:19","nodeType":"YulFunctionCall","src":"326033:16:19"},"nativeSrc":"326033:16:19","nodeType":"YulExpressionStatement","src":"326033:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326069:4:19","nodeType":"YulLiteral","src":"326069:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"326075:4:19","nodeType":"YulLiteral","src":"326075:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"326062:6:19","nodeType":"YulIdentifier","src":"326062:6:19"},"nativeSrc":"326062:18:19","nodeType":"YulFunctionCall","src":"326062:18:19"},"nativeSrc":"326062:18:19","nodeType":"YulExpressionStatement","src":"326062:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326100:4:19","nodeType":"YulLiteral","src":"326100:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"326106:4:19","nodeType":"YulLiteral","src":"326106:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"326093:6:19","nodeType":"YulIdentifier","src":"326093:6:19"},"nativeSrc":"326093:18:19","nodeType":"YulFunctionCall","src":"326093:18:19"},"nativeSrc":"326093:18:19","nodeType":"YulExpressionStatement","src":"326093:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326131:4:19","nodeType":"YulLiteral","src":"326131:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"326137:5:19","nodeType":"YulLiteral","src":"326137:5:19","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"326124:6:19","nodeType":"YulIdentifier","src":"326124:6:19"},"nativeSrc":"326124:19:19","nodeType":"YulFunctionCall","src":"326124:19:19"},"nativeSrc":"326124:19:19","nodeType":"YulExpressionStatement","src":"326124:19:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326168:4:19","nodeType":"YulLiteral","src":"326168:4:19","type":"","value":"0xa0"},{"name":"p1","nativeSrc":"326174:2:19","nodeType":"YulIdentifier","src":"326174:2:19"}],"functionName":{"name":"writeString","nativeSrc":"326156:11:19","nodeType":"YulIdentifier","src":"326156:11:19"},"nativeSrc":"326156:21:19","nodeType":"YulFunctionCall","src":"326156:21:19"},"nativeSrc":"326156:21:19","nodeType":"YulExpressionStatement","src":"326156:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326202:4:19","nodeType":"YulLiteral","src":"326202:4:19","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"326208:2:19","nodeType":"YulIdentifier","src":"326208:2:19"}],"functionName":{"name":"writeString","nativeSrc":"326190:11:19","nodeType":"YulIdentifier","src":"326190:11:19"},"nativeSrc":"326190:21:19","nodeType":"YulFunctionCall","src":"326190:21:19"},"nativeSrc":"326190:21:19","nodeType":"YulExpressionStatement","src":"326190:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326236:5:19","nodeType":"YulLiteral","src":"326236:5:19","type":"","value":"0x120"},{"name":"p3","nativeSrc":"326243:2:19","nodeType":"YulIdentifier","src":"326243:2:19"}],"functionName":{"name":"writeString","nativeSrc":"326224:11:19","nodeType":"YulIdentifier","src":"326224:11:19"},"nativeSrc":"326224:22:19","nodeType":"YulFunctionCall","src":"326224:22:19"},"nativeSrc":"326224:22:19","nodeType":"YulExpressionStatement","src":"326224:22:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36470,"isOffset":false,"isSlot":false,"src":"325598:2:19","valueSize":1},{"declaration":36473,"isOffset":false,"isSlot":false,"src":"325628:2:19","valueSize":1},{"declaration":36500,"isOffset":false,"isSlot":false,"src":"325900:3:19","valueSize":1},{"declaration":36476,"isOffset":false,"isSlot":false,"src":"325658:2:19","valueSize":1},{"declaration":36479,"isOffset":false,"isSlot":false,"src":"325688:2:19","valueSize":1},{"declaration":36482,"isOffset":false,"isSlot":false,"src":"325718:2:19","valueSize":1},{"declaration":36485,"isOffset":false,"isSlot":false,"src":"325748:2:19","valueSize":1},{"declaration":36488,"isOffset":false,"isSlot":false,"src":"325778:2:19","valueSize":1},{"declaration":36491,"isOffset":false,"isSlot":false,"src":"325808:2:19","valueSize":1},{"declaration":36494,"isOffset":false,"isSlot":false,"src":"325838:2:19","valueSize":1},{"declaration":36497,"isOffset":false,"isSlot":false,"src":"325869:2:19","valueSize":1},{"declaration":36460,"isOffset":false,"isSlot":false,"src":"326046:2:19","valueSize":1},{"declaration":36462,"isOffset":false,"isSlot":false,"src":"326174:2:19","valueSize":1},{"declaration":36464,"isOffset":false,"isSlot":false,"src":"326208:2:19","valueSize":1},{"declaration":36466,"isOffset":false,"isSlot":false,"src":"326243:2:19","valueSize":1}],"id":36502,"nodeType":"InlineAssembly","src":"325220:1036:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":36504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"326281:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":36505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"326287:5:19","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"0x144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"}],"id":36503,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"326265:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"326265:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36507,"nodeType":"ExpressionStatement","src":"326265:28:19"},{"AST":{"nativeSrc":"326355:334:19","nodeType":"YulBlock","src":"326355:334:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"326376:4:19","nodeType":"YulLiteral","src":"326376:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"326382:2:19","nodeType":"YulIdentifier","src":"326382:2:19"}],"functionName":{"name":"mstore","nativeSrc":"326369:6:19","nodeType":"YulIdentifier","src":"326369:6:19"},"nativeSrc":"326369:16:19","nodeType":"YulFunctionCall","src":"326369:16:19"},"nativeSrc":"326369:16:19","nodeType":"YulExpressionStatement","src":"326369:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326405:4:19","nodeType":"YulLiteral","src":"326405:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"326411:2:19","nodeType":"YulIdentifier","src":"326411:2:19"}],"functionName":{"name":"mstore","nativeSrc":"326398:6:19","nodeType":"YulIdentifier","src":"326398:6:19"},"nativeSrc":"326398:16:19","nodeType":"YulFunctionCall","src":"326398:16:19"},"nativeSrc":"326398:16:19","nodeType":"YulExpressionStatement","src":"326398:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326434:4:19","nodeType":"YulLiteral","src":"326434:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"326440:2:19","nodeType":"YulIdentifier","src":"326440:2:19"}],"functionName":{"name":"mstore","nativeSrc":"326427:6:19","nodeType":"YulIdentifier","src":"326427:6:19"},"nativeSrc":"326427:16:19","nodeType":"YulFunctionCall","src":"326427:16:19"},"nativeSrc":"326427:16:19","nodeType":"YulExpressionStatement","src":"326427:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326463:4:19","nodeType":"YulLiteral","src":"326463:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"326469:2:19","nodeType":"YulIdentifier","src":"326469:2:19"}],"functionName":{"name":"mstore","nativeSrc":"326456:6:19","nodeType":"YulIdentifier","src":"326456:6:19"},"nativeSrc":"326456:16:19","nodeType":"YulFunctionCall","src":"326456:16:19"},"nativeSrc":"326456:16:19","nodeType":"YulExpressionStatement","src":"326456:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326492:4:19","nodeType":"YulLiteral","src":"326492:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"326498:2:19","nodeType":"YulIdentifier","src":"326498:2:19"}],"functionName":{"name":"mstore","nativeSrc":"326485:6:19","nodeType":"YulIdentifier","src":"326485:6:19"},"nativeSrc":"326485:16:19","nodeType":"YulFunctionCall","src":"326485:16:19"},"nativeSrc":"326485:16:19","nodeType":"YulExpressionStatement","src":"326485:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326521:4:19","nodeType":"YulLiteral","src":"326521:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"326527:2:19","nodeType":"YulIdentifier","src":"326527:2:19"}],"functionName":{"name":"mstore","nativeSrc":"326514:6:19","nodeType":"YulIdentifier","src":"326514:6:19"},"nativeSrc":"326514:16:19","nodeType":"YulFunctionCall","src":"326514:16:19"},"nativeSrc":"326514:16:19","nodeType":"YulExpressionStatement","src":"326514:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326550:4:19","nodeType":"YulLiteral","src":"326550:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"326556:2:19","nodeType":"YulIdentifier","src":"326556:2:19"}],"functionName":{"name":"mstore","nativeSrc":"326543:6:19","nodeType":"YulIdentifier","src":"326543:6:19"},"nativeSrc":"326543:16:19","nodeType":"YulFunctionCall","src":"326543:16:19"},"nativeSrc":"326543:16:19","nodeType":"YulExpressionStatement","src":"326543:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326579:4:19","nodeType":"YulLiteral","src":"326579:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"326585:2:19","nodeType":"YulIdentifier","src":"326585:2:19"}],"functionName":{"name":"mstore","nativeSrc":"326572:6:19","nodeType":"YulIdentifier","src":"326572:6:19"},"nativeSrc":"326572:16:19","nodeType":"YulFunctionCall","src":"326572:16:19"},"nativeSrc":"326572:16:19","nodeType":"YulExpressionStatement","src":"326572:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326608:5:19","nodeType":"YulLiteral","src":"326608:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"326615:2:19","nodeType":"YulIdentifier","src":"326615:2:19"}],"functionName":{"name":"mstore","nativeSrc":"326601:6:19","nodeType":"YulIdentifier","src":"326601:6:19"},"nativeSrc":"326601:17:19","nodeType":"YulFunctionCall","src":"326601:17:19"},"nativeSrc":"326601:17:19","nodeType":"YulExpressionStatement","src":"326601:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326638:5:19","nodeType":"YulLiteral","src":"326638:5:19","type":"","value":"0x120"},{"name":"m9","nativeSrc":"326645:2:19","nodeType":"YulIdentifier","src":"326645:2:19"}],"functionName":{"name":"mstore","nativeSrc":"326631:6:19","nodeType":"YulIdentifier","src":"326631:6:19"},"nativeSrc":"326631:17:19","nodeType":"YulFunctionCall","src":"326631:17:19"},"nativeSrc":"326631:17:19","nodeType":"YulExpressionStatement","src":"326631:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"326668:5:19","nodeType":"YulLiteral","src":"326668:5:19","type":"","value":"0x140"},{"name":"m10","nativeSrc":"326675:3:19","nodeType":"YulIdentifier","src":"326675:3:19"}],"functionName":{"name":"mstore","nativeSrc":"326661:6:19","nodeType":"YulIdentifier","src":"326661:6:19"},"nativeSrc":"326661:18:19","nodeType":"YulFunctionCall","src":"326661:18:19"},"nativeSrc":"326661:18:19","nodeType":"YulExpressionStatement","src":"326661:18:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36470,"isOffset":false,"isSlot":false,"src":"326382:2:19","valueSize":1},{"declaration":36473,"isOffset":false,"isSlot":false,"src":"326411:2:19","valueSize":1},{"declaration":36500,"isOffset":false,"isSlot":false,"src":"326675:3:19","valueSize":1},{"declaration":36476,"isOffset":false,"isSlot":false,"src":"326440:2:19","valueSize":1},{"declaration":36479,"isOffset":false,"isSlot":false,"src":"326469:2:19","valueSize":1},{"declaration":36482,"isOffset":false,"isSlot":false,"src":"326498:2:19","valueSize":1},{"declaration":36485,"isOffset":false,"isSlot":false,"src":"326527:2:19","valueSize":1},{"declaration":36488,"isOffset":false,"isSlot":false,"src":"326556:2:19","valueSize":1},{"declaration":36491,"isOffset":false,"isSlot":false,"src":"326585:2:19","valueSize":1},{"declaration":36494,"isOffset":false,"isSlot":false,"src":"326615:2:19","valueSize":1},{"declaration":36497,"isOffset":false,"isSlot":false,"src":"326645:2:19","valueSize":1}],"id":36508,"nodeType":"InlineAssembly","src":"326346:343:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"324880:3:19","parameters":{"id":36467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36460,"mutability":"mutable","name":"p0","nameLocation":"324892:2:19","nodeType":"VariableDeclaration","scope":36510,"src":"324884:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36459,"name":"uint256","nodeType":"ElementaryTypeName","src":"324884:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36462,"mutability":"mutable","name":"p1","nameLocation":"324904:2:19","nodeType":"VariableDeclaration","scope":36510,"src":"324896:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36461,"name":"bytes32","nodeType":"ElementaryTypeName","src":"324896:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36464,"mutability":"mutable","name":"p2","nameLocation":"324916:2:19","nodeType":"VariableDeclaration","scope":36510,"src":"324908:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36463,"name":"bytes32","nodeType":"ElementaryTypeName","src":"324908:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36466,"mutability":"mutable","name":"p3","nameLocation":"324928:2:19","nodeType":"VariableDeclaration","scope":36510,"src":"324920:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36465,"name":"bytes32","nodeType":"ElementaryTypeName","src":"324920:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"324883:48:19"},"returnParameters":{"id":36468,"nodeType":"ParameterList","parameters":[],"src":"324946:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36550,"nodeType":"FunctionDefinition","src":"326701:1426:19","nodes":[],"body":{"id":36549,"nodeType":"Block","src":"326776:1351:19","nodes":[],"statements":[{"assignments":[36522],"declarations":[{"constant":false,"id":36522,"mutability":"mutable","name":"m0","nameLocation":"326794:2:19","nodeType":"VariableDeclaration","scope":36549,"src":"326786:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36521,"name":"bytes32","nodeType":"ElementaryTypeName","src":"326786:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36523,"nodeType":"VariableDeclarationStatement","src":"326786:10:19"},{"assignments":[36525],"declarations":[{"constant":false,"id":36525,"mutability":"mutable","name":"m1","nameLocation":"326814:2:19","nodeType":"VariableDeclaration","scope":36549,"src":"326806:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36524,"name":"bytes32","nodeType":"ElementaryTypeName","src":"326806:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36526,"nodeType":"VariableDeclarationStatement","src":"326806:10:19"},{"assignments":[36528],"declarations":[{"constant":false,"id":36528,"mutability":"mutable","name":"m2","nameLocation":"326834:2:19","nodeType":"VariableDeclaration","scope":36549,"src":"326826:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36527,"name":"bytes32","nodeType":"ElementaryTypeName","src":"326826:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36529,"nodeType":"VariableDeclarationStatement","src":"326826:10:19"},{"assignments":[36531],"declarations":[{"constant":false,"id":36531,"mutability":"mutable","name":"m3","nameLocation":"326854:2:19","nodeType":"VariableDeclaration","scope":36549,"src":"326846:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36530,"name":"bytes32","nodeType":"ElementaryTypeName","src":"326846:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36532,"nodeType":"VariableDeclarationStatement","src":"326846:10:19"},{"assignments":[36534],"declarations":[{"constant":false,"id":36534,"mutability":"mutable","name":"m4","nameLocation":"326874:2:19","nodeType":"VariableDeclaration","scope":36549,"src":"326866:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36533,"name":"bytes32","nodeType":"ElementaryTypeName","src":"326866:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36535,"nodeType":"VariableDeclarationStatement","src":"326866:10:19"},{"assignments":[36537],"declarations":[{"constant":false,"id":36537,"mutability":"mutable","name":"m5","nameLocation":"326894:2:19","nodeType":"VariableDeclaration","scope":36549,"src":"326886:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36536,"name":"bytes32","nodeType":"ElementaryTypeName","src":"326886:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36538,"nodeType":"VariableDeclarationStatement","src":"326886:10:19"},{"assignments":[36540],"declarations":[{"constant":false,"id":36540,"mutability":"mutable","name":"m6","nameLocation":"326914:2:19","nodeType":"VariableDeclaration","scope":36549,"src":"326906:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36539,"name":"bytes32","nodeType":"ElementaryTypeName","src":"326906:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36541,"nodeType":"VariableDeclarationStatement","src":"326906:10:19"},{"AST":{"nativeSrc":"326978:831:19","nodeType":"YulBlock","src":"326978:831:19","statements":[{"body":{"nativeSrc":"327021:313:19","nodeType":"YulBlock","src":"327021:313:19","statements":[{"nativeSrc":"327039:15:19","nodeType":"YulVariableDeclaration","src":"327039:15:19","value":{"kind":"number","nativeSrc":"327053:1:19","nodeType":"YulLiteral","src":"327053:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"327043:6:19","nodeType":"YulTypedName","src":"327043:6:19","type":""}]},{"body":{"nativeSrc":"327124:40:19","nodeType":"YulBlock","src":"327124:40:19","statements":[{"body":{"nativeSrc":"327153:9:19","nodeType":"YulBlock","src":"327153:9:19","statements":[{"nativeSrc":"327155:5:19","nodeType":"YulBreak","src":"327155:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"327141:6:19","nodeType":"YulIdentifier","src":"327141:6:19"},{"name":"w","nativeSrc":"327149:1:19","nodeType":"YulIdentifier","src":"327149:1:19"}],"functionName":{"name":"byte","nativeSrc":"327136:4:19","nodeType":"YulIdentifier","src":"327136:4:19"},"nativeSrc":"327136:15:19","nodeType":"YulFunctionCall","src":"327136:15:19"}],"functionName":{"name":"iszero","nativeSrc":"327129:6:19","nodeType":"YulIdentifier","src":"327129:6:19"},"nativeSrc":"327129:23:19","nodeType":"YulFunctionCall","src":"327129:23:19"},"nativeSrc":"327126:36:19","nodeType":"YulIf","src":"327126:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"327081:6:19","nodeType":"YulIdentifier","src":"327081:6:19"},{"kind":"number","nativeSrc":"327089:4:19","nodeType":"YulLiteral","src":"327089:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"327078:2:19","nodeType":"YulIdentifier","src":"327078:2:19"},"nativeSrc":"327078:16:19","nodeType":"YulFunctionCall","src":"327078:16:19"},"nativeSrc":"327071:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"327095:28:19","nodeType":"YulBlock","src":"327095:28:19","statements":[{"nativeSrc":"327097:24:19","nodeType":"YulAssignment","src":"327097:24:19","value":{"arguments":[{"name":"length","nativeSrc":"327111:6:19","nodeType":"YulIdentifier","src":"327111:6:19"},{"kind":"number","nativeSrc":"327119:1:19","nodeType":"YulLiteral","src":"327119:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"327107:3:19","nodeType":"YulIdentifier","src":"327107:3:19"},"nativeSrc":"327107:14:19","nodeType":"YulFunctionCall","src":"327107:14:19"},"variableNames":[{"name":"length","nativeSrc":"327097:6:19","nodeType":"YulIdentifier","src":"327097:6:19"}]}]},"pre":{"nativeSrc":"327075:2:19","nodeType":"YulBlock","src":"327075:2:19","statements":[]},"src":"327071:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"327188:3:19","nodeType":"YulIdentifier","src":"327188:3:19"},{"name":"length","nativeSrc":"327193:6:19","nodeType":"YulIdentifier","src":"327193:6:19"}],"functionName":{"name":"mstore","nativeSrc":"327181:6:19","nodeType":"YulIdentifier","src":"327181:6:19"},"nativeSrc":"327181:19:19","nodeType":"YulFunctionCall","src":"327181:19:19"},"nativeSrc":"327181:19:19","nodeType":"YulExpressionStatement","src":"327181:19:19"},{"nativeSrc":"327217:37:19","nodeType":"YulVariableDeclaration","src":"327217:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"327234:3:19","nodeType":"YulLiteral","src":"327234:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"327243:1:19","nodeType":"YulLiteral","src":"327243:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"327246:6:19","nodeType":"YulIdentifier","src":"327246:6:19"}],"functionName":{"name":"shl","nativeSrc":"327239:3:19","nodeType":"YulIdentifier","src":"327239:3:19"},"nativeSrc":"327239:14:19","nodeType":"YulFunctionCall","src":"327239:14:19"}],"functionName":{"name":"sub","nativeSrc":"327230:3:19","nodeType":"YulIdentifier","src":"327230:3:19"},"nativeSrc":"327230:24:19","nodeType":"YulFunctionCall","src":"327230:24:19"},"variables":[{"name":"shift","nativeSrc":"327221:5:19","nodeType":"YulTypedName","src":"327221:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"327282:3:19","nodeType":"YulIdentifier","src":"327282:3:19"},{"kind":"number","nativeSrc":"327287:4:19","nodeType":"YulLiteral","src":"327287:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"327278:3:19","nodeType":"YulIdentifier","src":"327278:3:19"},"nativeSrc":"327278:14:19","nodeType":"YulFunctionCall","src":"327278:14:19"},{"arguments":[{"name":"shift","nativeSrc":"327298:5:19","nodeType":"YulIdentifier","src":"327298:5:19"},{"arguments":[{"name":"shift","nativeSrc":"327309:5:19","nodeType":"YulIdentifier","src":"327309:5:19"},{"name":"w","nativeSrc":"327316:1:19","nodeType":"YulIdentifier","src":"327316:1:19"}],"functionName":{"name":"shr","nativeSrc":"327305:3:19","nodeType":"YulIdentifier","src":"327305:3:19"},"nativeSrc":"327305:13:19","nodeType":"YulFunctionCall","src":"327305:13:19"}],"functionName":{"name":"shl","nativeSrc":"327294:3:19","nodeType":"YulIdentifier","src":"327294:3:19"},"nativeSrc":"327294:25:19","nodeType":"YulFunctionCall","src":"327294:25:19"}],"functionName":{"name":"mstore","nativeSrc":"327271:6:19","nodeType":"YulIdentifier","src":"327271:6:19"},"nativeSrc":"327271:49:19","nodeType":"YulFunctionCall","src":"327271:49:19"},"nativeSrc":"327271:49:19","nodeType":"YulExpressionStatement","src":"327271:49:19"}]},"name":"writeString","nativeSrc":"326992:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"327013:3:19","nodeType":"YulTypedName","src":"327013:3:19","type":""},{"name":"w","nativeSrc":"327018:1:19","nodeType":"YulTypedName","src":"327018:1:19","type":""}],"src":"326992:342:19"},{"nativeSrc":"327347:17:19","nodeType":"YulAssignment","src":"327347:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"327359:4:19","nodeType":"YulLiteral","src":"327359:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"327353:5:19","nodeType":"YulIdentifier","src":"327353:5:19"},"nativeSrc":"327353:11:19","nodeType":"YulFunctionCall","src":"327353:11:19"},"variableNames":[{"name":"m0","nativeSrc":"327347:2:19","nodeType":"YulIdentifier","src":"327347:2:19"}]},{"nativeSrc":"327377:17:19","nodeType":"YulAssignment","src":"327377:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"327389:4:19","nodeType":"YulLiteral","src":"327389:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"327383:5:19","nodeType":"YulIdentifier","src":"327383:5:19"},"nativeSrc":"327383:11:19","nodeType":"YulFunctionCall","src":"327383:11:19"},"variableNames":[{"name":"m1","nativeSrc":"327377:2:19","nodeType":"YulIdentifier","src":"327377:2:19"}]},{"nativeSrc":"327407:17:19","nodeType":"YulAssignment","src":"327407:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"327419:4:19","nodeType":"YulLiteral","src":"327419:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"327413:5:19","nodeType":"YulIdentifier","src":"327413:5:19"},"nativeSrc":"327413:11:19","nodeType":"YulFunctionCall","src":"327413:11:19"},"variableNames":[{"name":"m2","nativeSrc":"327407:2:19","nodeType":"YulIdentifier","src":"327407:2:19"}]},{"nativeSrc":"327437:17:19","nodeType":"YulAssignment","src":"327437:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"327449:4:19","nodeType":"YulLiteral","src":"327449:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"327443:5:19","nodeType":"YulIdentifier","src":"327443:5:19"},"nativeSrc":"327443:11:19","nodeType":"YulFunctionCall","src":"327443:11:19"},"variableNames":[{"name":"m3","nativeSrc":"327437:2:19","nodeType":"YulIdentifier","src":"327437:2:19"}]},{"nativeSrc":"327467:17:19","nodeType":"YulAssignment","src":"327467:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"327479:4:19","nodeType":"YulLiteral","src":"327479:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"327473:5:19","nodeType":"YulIdentifier","src":"327473:5:19"},"nativeSrc":"327473:11:19","nodeType":"YulFunctionCall","src":"327473:11:19"},"variableNames":[{"name":"m4","nativeSrc":"327467:2:19","nodeType":"YulIdentifier","src":"327467:2:19"}]},{"nativeSrc":"327497:17:19","nodeType":"YulAssignment","src":"327497:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"327509:4:19","nodeType":"YulLiteral","src":"327509:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"327503:5:19","nodeType":"YulIdentifier","src":"327503:5:19"},"nativeSrc":"327503:11:19","nodeType":"YulFunctionCall","src":"327503:11:19"},"variableNames":[{"name":"m5","nativeSrc":"327497:2:19","nodeType":"YulIdentifier","src":"327497:2:19"}]},{"nativeSrc":"327527:17:19","nodeType":"YulAssignment","src":"327527:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"327539:4:19","nodeType":"YulLiteral","src":"327539:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"327533:5:19","nodeType":"YulIdentifier","src":"327533:5:19"},"nativeSrc":"327533:11:19","nodeType":"YulFunctionCall","src":"327533:11:19"},"variableNames":[{"name":"m6","nativeSrc":"327527:2:19","nodeType":"YulIdentifier","src":"327527:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"327630:4:19","nodeType":"YulLiteral","src":"327630:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"327636:10:19","nodeType":"YulLiteral","src":"327636:10:19","type":"","value":"0xed8f28f6"}],"functionName":{"name":"mstore","nativeSrc":"327623:6:19","nodeType":"YulIdentifier","src":"327623:6:19"},"nativeSrc":"327623:24:19","nodeType":"YulFunctionCall","src":"327623:24:19"},"nativeSrc":"327623:24:19","nodeType":"YulExpressionStatement","src":"327623:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"327667:4:19","nodeType":"YulLiteral","src":"327667:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"327673:4:19","nodeType":"YulLiteral","src":"327673:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"327660:6:19","nodeType":"YulIdentifier","src":"327660:6:19"},"nativeSrc":"327660:18:19","nodeType":"YulFunctionCall","src":"327660:18:19"},"nativeSrc":"327660:18:19","nodeType":"YulExpressionStatement","src":"327660:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"327698:4:19","nodeType":"YulLiteral","src":"327698:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"327704:2:19","nodeType":"YulIdentifier","src":"327704:2:19"}],"functionName":{"name":"mstore","nativeSrc":"327691:6:19","nodeType":"YulIdentifier","src":"327691:6:19"},"nativeSrc":"327691:16:19","nodeType":"YulFunctionCall","src":"327691:16:19"},"nativeSrc":"327691:16:19","nodeType":"YulExpressionStatement","src":"327691:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"327727:4:19","nodeType":"YulLiteral","src":"327727:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"327733:2:19","nodeType":"YulIdentifier","src":"327733:2:19"}],"functionName":{"name":"mstore","nativeSrc":"327720:6:19","nodeType":"YulIdentifier","src":"327720:6:19"},"nativeSrc":"327720:16:19","nodeType":"YulFunctionCall","src":"327720:16:19"},"nativeSrc":"327720:16:19","nodeType":"YulExpressionStatement","src":"327720:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"327756:4:19","nodeType":"YulLiteral","src":"327756:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"327762:2:19","nodeType":"YulIdentifier","src":"327762:2:19"}],"functionName":{"name":"mstore","nativeSrc":"327749:6:19","nodeType":"YulIdentifier","src":"327749:6:19"},"nativeSrc":"327749:16:19","nodeType":"YulFunctionCall","src":"327749:16:19"},"nativeSrc":"327749:16:19","nodeType":"YulExpressionStatement","src":"327749:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"327790:4:19","nodeType":"YulLiteral","src":"327790:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"327796:2:19","nodeType":"YulIdentifier","src":"327796:2:19"}],"functionName":{"name":"writeString","nativeSrc":"327778:11:19","nodeType":"YulIdentifier","src":"327778:11:19"},"nativeSrc":"327778:21:19","nodeType":"YulFunctionCall","src":"327778:21:19"},"nativeSrc":"327778:21:19","nodeType":"YulExpressionStatement","src":"327778:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36522,"isOffset":false,"isSlot":false,"src":"327347:2:19","valueSize":1},{"declaration":36525,"isOffset":false,"isSlot":false,"src":"327377:2:19","valueSize":1},{"declaration":36528,"isOffset":false,"isSlot":false,"src":"327407:2:19","valueSize":1},{"declaration":36531,"isOffset":false,"isSlot":false,"src":"327437:2:19","valueSize":1},{"declaration":36534,"isOffset":false,"isSlot":false,"src":"327467:2:19","valueSize":1},{"declaration":36537,"isOffset":false,"isSlot":false,"src":"327497:2:19","valueSize":1},{"declaration":36540,"isOffset":false,"isSlot":false,"src":"327527:2:19","valueSize":1},{"declaration":36512,"isOffset":false,"isSlot":false,"src":"327796:2:19","valueSize":1},{"declaration":36514,"isOffset":false,"isSlot":false,"src":"327704:2:19","valueSize":1},{"declaration":36516,"isOffset":false,"isSlot":false,"src":"327733:2:19","valueSize":1},{"declaration":36518,"isOffset":false,"isSlot":false,"src":"327762:2:19","valueSize":1}],"id":36542,"nodeType":"InlineAssembly","src":"326969:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":36544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"327834:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"327840:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36543,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"327818:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"327818:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36547,"nodeType":"ExpressionStatement","src":"327818:27:19"},{"AST":{"nativeSrc":"327907:214:19","nodeType":"YulBlock","src":"327907:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"327928:4:19","nodeType":"YulLiteral","src":"327928:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"327934:2:19","nodeType":"YulIdentifier","src":"327934:2:19"}],"functionName":{"name":"mstore","nativeSrc":"327921:6:19","nodeType":"YulIdentifier","src":"327921:6:19"},"nativeSrc":"327921:16:19","nodeType":"YulFunctionCall","src":"327921:16:19"},"nativeSrc":"327921:16:19","nodeType":"YulExpressionStatement","src":"327921:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"327957:4:19","nodeType":"YulLiteral","src":"327957:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"327963:2:19","nodeType":"YulIdentifier","src":"327963:2:19"}],"functionName":{"name":"mstore","nativeSrc":"327950:6:19","nodeType":"YulIdentifier","src":"327950:6:19"},"nativeSrc":"327950:16:19","nodeType":"YulFunctionCall","src":"327950:16:19"},"nativeSrc":"327950:16:19","nodeType":"YulExpressionStatement","src":"327950:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"327986:4:19","nodeType":"YulLiteral","src":"327986:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"327992:2:19","nodeType":"YulIdentifier","src":"327992:2:19"}],"functionName":{"name":"mstore","nativeSrc":"327979:6:19","nodeType":"YulIdentifier","src":"327979:6:19"},"nativeSrc":"327979:16:19","nodeType":"YulFunctionCall","src":"327979:16:19"},"nativeSrc":"327979:16:19","nodeType":"YulExpressionStatement","src":"327979:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"328015:4:19","nodeType":"YulLiteral","src":"328015:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"328021:2:19","nodeType":"YulIdentifier","src":"328021:2:19"}],"functionName":{"name":"mstore","nativeSrc":"328008:6:19","nodeType":"YulIdentifier","src":"328008:6:19"},"nativeSrc":"328008:16:19","nodeType":"YulFunctionCall","src":"328008:16:19"},"nativeSrc":"328008:16:19","nodeType":"YulExpressionStatement","src":"328008:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"328044:4:19","nodeType":"YulLiteral","src":"328044:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"328050:2:19","nodeType":"YulIdentifier","src":"328050:2:19"}],"functionName":{"name":"mstore","nativeSrc":"328037:6:19","nodeType":"YulIdentifier","src":"328037:6:19"},"nativeSrc":"328037:16:19","nodeType":"YulFunctionCall","src":"328037:16:19"},"nativeSrc":"328037:16:19","nodeType":"YulExpressionStatement","src":"328037:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"328073:4:19","nodeType":"YulLiteral","src":"328073:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"328079:2:19","nodeType":"YulIdentifier","src":"328079:2:19"}],"functionName":{"name":"mstore","nativeSrc":"328066:6:19","nodeType":"YulIdentifier","src":"328066:6:19"},"nativeSrc":"328066:16:19","nodeType":"YulFunctionCall","src":"328066:16:19"},"nativeSrc":"328066:16:19","nodeType":"YulExpressionStatement","src":"328066:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"328102:4:19","nodeType":"YulLiteral","src":"328102:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"328108:2:19","nodeType":"YulIdentifier","src":"328108:2:19"}],"functionName":{"name":"mstore","nativeSrc":"328095:6:19","nodeType":"YulIdentifier","src":"328095:6:19"},"nativeSrc":"328095:16:19","nodeType":"YulFunctionCall","src":"328095:16:19"},"nativeSrc":"328095:16:19","nodeType":"YulExpressionStatement","src":"328095:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36522,"isOffset":false,"isSlot":false,"src":"327934:2:19","valueSize":1},{"declaration":36525,"isOffset":false,"isSlot":false,"src":"327963:2:19","valueSize":1},{"declaration":36528,"isOffset":false,"isSlot":false,"src":"327992:2:19","valueSize":1},{"declaration":36531,"isOffset":false,"isSlot":false,"src":"328021:2:19","valueSize":1},{"declaration":36534,"isOffset":false,"isSlot":false,"src":"328050:2:19","valueSize":1},{"declaration":36537,"isOffset":false,"isSlot":false,"src":"328079:2:19","valueSize":1},{"declaration":36540,"isOffset":false,"isSlot":false,"src":"328108:2:19","valueSize":1}],"id":36548,"nodeType":"InlineAssembly","src":"327898:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"326710:3:19","parameters":{"id":36519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36512,"mutability":"mutable","name":"p0","nameLocation":"326722:2:19","nodeType":"VariableDeclaration","scope":36550,"src":"326714:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36511,"name":"bytes32","nodeType":"ElementaryTypeName","src":"326714:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36514,"mutability":"mutable","name":"p1","nameLocation":"326734:2:19","nodeType":"VariableDeclaration","scope":36550,"src":"326726:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36513,"name":"address","nodeType":"ElementaryTypeName","src":"326726:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36516,"mutability":"mutable","name":"p2","nameLocation":"326746:2:19","nodeType":"VariableDeclaration","scope":36550,"src":"326738:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36515,"name":"address","nodeType":"ElementaryTypeName","src":"326738:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36518,"mutability":"mutable","name":"p3","nameLocation":"326758:2:19","nodeType":"VariableDeclaration","scope":36550,"src":"326750:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36517,"name":"address","nodeType":"ElementaryTypeName","src":"326750:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"326713:48:19"},"returnParameters":{"id":36520,"nodeType":"ParameterList","parameters":[],"src":"326776:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36590,"nodeType":"FunctionDefinition","src":"328133:1420:19","nodes":[],"body":{"id":36589,"nodeType":"Block","src":"328205:1348:19","nodes":[],"statements":[{"assignments":[36562],"declarations":[{"constant":false,"id":36562,"mutability":"mutable","name":"m0","nameLocation":"328223:2:19","nodeType":"VariableDeclaration","scope":36589,"src":"328215:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36561,"name":"bytes32","nodeType":"ElementaryTypeName","src":"328215:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36563,"nodeType":"VariableDeclarationStatement","src":"328215:10:19"},{"assignments":[36565],"declarations":[{"constant":false,"id":36565,"mutability":"mutable","name":"m1","nameLocation":"328243:2:19","nodeType":"VariableDeclaration","scope":36589,"src":"328235:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36564,"name":"bytes32","nodeType":"ElementaryTypeName","src":"328235:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36566,"nodeType":"VariableDeclarationStatement","src":"328235:10:19"},{"assignments":[36568],"declarations":[{"constant":false,"id":36568,"mutability":"mutable","name":"m2","nameLocation":"328263:2:19","nodeType":"VariableDeclaration","scope":36589,"src":"328255:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36567,"name":"bytes32","nodeType":"ElementaryTypeName","src":"328255:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36569,"nodeType":"VariableDeclarationStatement","src":"328255:10:19"},{"assignments":[36571],"declarations":[{"constant":false,"id":36571,"mutability":"mutable","name":"m3","nameLocation":"328283:2:19","nodeType":"VariableDeclaration","scope":36589,"src":"328275:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36570,"name":"bytes32","nodeType":"ElementaryTypeName","src":"328275:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36572,"nodeType":"VariableDeclarationStatement","src":"328275:10:19"},{"assignments":[36574],"declarations":[{"constant":false,"id":36574,"mutability":"mutable","name":"m4","nameLocation":"328303:2:19","nodeType":"VariableDeclaration","scope":36589,"src":"328295:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36573,"name":"bytes32","nodeType":"ElementaryTypeName","src":"328295:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36575,"nodeType":"VariableDeclarationStatement","src":"328295:10:19"},{"assignments":[36577],"declarations":[{"constant":false,"id":36577,"mutability":"mutable","name":"m5","nameLocation":"328323:2:19","nodeType":"VariableDeclaration","scope":36589,"src":"328315:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36576,"name":"bytes32","nodeType":"ElementaryTypeName","src":"328315:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36578,"nodeType":"VariableDeclarationStatement","src":"328315:10:19"},{"assignments":[36580],"declarations":[{"constant":false,"id":36580,"mutability":"mutable","name":"m6","nameLocation":"328343:2:19","nodeType":"VariableDeclaration","scope":36589,"src":"328335:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36579,"name":"bytes32","nodeType":"ElementaryTypeName","src":"328335:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36581,"nodeType":"VariableDeclarationStatement","src":"328335:10:19"},{"AST":{"nativeSrc":"328407:828:19","nodeType":"YulBlock","src":"328407:828:19","statements":[{"body":{"nativeSrc":"328450:313:19","nodeType":"YulBlock","src":"328450:313:19","statements":[{"nativeSrc":"328468:15:19","nodeType":"YulVariableDeclaration","src":"328468:15:19","value":{"kind":"number","nativeSrc":"328482:1:19","nodeType":"YulLiteral","src":"328482:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"328472:6:19","nodeType":"YulTypedName","src":"328472:6:19","type":""}]},{"body":{"nativeSrc":"328553:40:19","nodeType":"YulBlock","src":"328553:40:19","statements":[{"body":{"nativeSrc":"328582:9:19","nodeType":"YulBlock","src":"328582:9:19","statements":[{"nativeSrc":"328584:5:19","nodeType":"YulBreak","src":"328584:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"328570:6:19","nodeType":"YulIdentifier","src":"328570:6:19"},{"name":"w","nativeSrc":"328578:1:19","nodeType":"YulIdentifier","src":"328578:1:19"}],"functionName":{"name":"byte","nativeSrc":"328565:4:19","nodeType":"YulIdentifier","src":"328565:4:19"},"nativeSrc":"328565:15:19","nodeType":"YulFunctionCall","src":"328565:15:19"}],"functionName":{"name":"iszero","nativeSrc":"328558:6:19","nodeType":"YulIdentifier","src":"328558:6:19"},"nativeSrc":"328558:23:19","nodeType":"YulFunctionCall","src":"328558:23:19"},"nativeSrc":"328555:36:19","nodeType":"YulIf","src":"328555:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"328510:6:19","nodeType":"YulIdentifier","src":"328510:6:19"},{"kind":"number","nativeSrc":"328518:4:19","nodeType":"YulLiteral","src":"328518:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"328507:2:19","nodeType":"YulIdentifier","src":"328507:2:19"},"nativeSrc":"328507:16:19","nodeType":"YulFunctionCall","src":"328507:16:19"},"nativeSrc":"328500:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"328524:28:19","nodeType":"YulBlock","src":"328524:28:19","statements":[{"nativeSrc":"328526:24:19","nodeType":"YulAssignment","src":"328526:24:19","value":{"arguments":[{"name":"length","nativeSrc":"328540:6:19","nodeType":"YulIdentifier","src":"328540:6:19"},{"kind":"number","nativeSrc":"328548:1:19","nodeType":"YulLiteral","src":"328548:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"328536:3:19","nodeType":"YulIdentifier","src":"328536:3:19"},"nativeSrc":"328536:14:19","nodeType":"YulFunctionCall","src":"328536:14:19"},"variableNames":[{"name":"length","nativeSrc":"328526:6:19","nodeType":"YulIdentifier","src":"328526:6:19"}]}]},"pre":{"nativeSrc":"328504:2:19","nodeType":"YulBlock","src":"328504:2:19","statements":[]},"src":"328500:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"328617:3:19","nodeType":"YulIdentifier","src":"328617:3:19"},{"name":"length","nativeSrc":"328622:6:19","nodeType":"YulIdentifier","src":"328622:6:19"}],"functionName":{"name":"mstore","nativeSrc":"328610:6:19","nodeType":"YulIdentifier","src":"328610:6:19"},"nativeSrc":"328610:19:19","nodeType":"YulFunctionCall","src":"328610:19:19"},"nativeSrc":"328610:19:19","nodeType":"YulExpressionStatement","src":"328610:19:19"},{"nativeSrc":"328646:37:19","nodeType":"YulVariableDeclaration","src":"328646:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"328663:3:19","nodeType":"YulLiteral","src":"328663:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"328672:1:19","nodeType":"YulLiteral","src":"328672:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"328675:6:19","nodeType":"YulIdentifier","src":"328675:6:19"}],"functionName":{"name":"shl","nativeSrc":"328668:3:19","nodeType":"YulIdentifier","src":"328668:3:19"},"nativeSrc":"328668:14:19","nodeType":"YulFunctionCall","src":"328668:14:19"}],"functionName":{"name":"sub","nativeSrc":"328659:3:19","nodeType":"YulIdentifier","src":"328659:3:19"},"nativeSrc":"328659:24:19","nodeType":"YulFunctionCall","src":"328659:24:19"},"variables":[{"name":"shift","nativeSrc":"328650:5:19","nodeType":"YulTypedName","src":"328650:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"328711:3:19","nodeType":"YulIdentifier","src":"328711:3:19"},{"kind":"number","nativeSrc":"328716:4:19","nodeType":"YulLiteral","src":"328716:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"328707:3:19","nodeType":"YulIdentifier","src":"328707:3:19"},"nativeSrc":"328707:14:19","nodeType":"YulFunctionCall","src":"328707:14:19"},{"arguments":[{"name":"shift","nativeSrc":"328727:5:19","nodeType":"YulIdentifier","src":"328727:5:19"},{"arguments":[{"name":"shift","nativeSrc":"328738:5:19","nodeType":"YulIdentifier","src":"328738:5:19"},{"name":"w","nativeSrc":"328745:1:19","nodeType":"YulIdentifier","src":"328745:1:19"}],"functionName":{"name":"shr","nativeSrc":"328734:3:19","nodeType":"YulIdentifier","src":"328734:3:19"},"nativeSrc":"328734:13:19","nodeType":"YulFunctionCall","src":"328734:13:19"}],"functionName":{"name":"shl","nativeSrc":"328723:3:19","nodeType":"YulIdentifier","src":"328723:3:19"},"nativeSrc":"328723:25:19","nodeType":"YulFunctionCall","src":"328723:25:19"}],"functionName":{"name":"mstore","nativeSrc":"328700:6:19","nodeType":"YulIdentifier","src":"328700:6:19"},"nativeSrc":"328700:49:19","nodeType":"YulFunctionCall","src":"328700:49:19"},"nativeSrc":"328700:49:19","nodeType":"YulExpressionStatement","src":"328700:49:19"}]},"name":"writeString","nativeSrc":"328421:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"328442:3:19","nodeType":"YulTypedName","src":"328442:3:19","type":""},{"name":"w","nativeSrc":"328447:1:19","nodeType":"YulTypedName","src":"328447:1:19","type":""}],"src":"328421:342:19"},{"nativeSrc":"328776:17:19","nodeType":"YulAssignment","src":"328776:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"328788:4:19","nodeType":"YulLiteral","src":"328788:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"328782:5:19","nodeType":"YulIdentifier","src":"328782:5:19"},"nativeSrc":"328782:11:19","nodeType":"YulFunctionCall","src":"328782:11:19"},"variableNames":[{"name":"m0","nativeSrc":"328776:2:19","nodeType":"YulIdentifier","src":"328776:2:19"}]},{"nativeSrc":"328806:17:19","nodeType":"YulAssignment","src":"328806:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"328818:4:19","nodeType":"YulLiteral","src":"328818:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"328812:5:19","nodeType":"YulIdentifier","src":"328812:5:19"},"nativeSrc":"328812:11:19","nodeType":"YulFunctionCall","src":"328812:11:19"},"variableNames":[{"name":"m1","nativeSrc":"328806:2:19","nodeType":"YulIdentifier","src":"328806:2:19"}]},{"nativeSrc":"328836:17:19","nodeType":"YulAssignment","src":"328836:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"328848:4:19","nodeType":"YulLiteral","src":"328848:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"328842:5:19","nodeType":"YulIdentifier","src":"328842:5:19"},"nativeSrc":"328842:11:19","nodeType":"YulFunctionCall","src":"328842:11:19"},"variableNames":[{"name":"m2","nativeSrc":"328836:2:19","nodeType":"YulIdentifier","src":"328836:2:19"}]},{"nativeSrc":"328866:17:19","nodeType":"YulAssignment","src":"328866:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"328878:4:19","nodeType":"YulLiteral","src":"328878:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"328872:5:19","nodeType":"YulIdentifier","src":"328872:5:19"},"nativeSrc":"328872:11:19","nodeType":"YulFunctionCall","src":"328872:11:19"},"variableNames":[{"name":"m3","nativeSrc":"328866:2:19","nodeType":"YulIdentifier","src":"328866:2:19"}]},{"nativeSrc":"328896:17:19","nodeType":"YulAssignment","src":"328896:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"328908:4:19","nodeType":"YulLiteral","src":"328908:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"328902:5:19","nodeType":"YulIdentifier","src":"328902:5:19"},"nativeSrc":"328902:11:19","nodeType":"YulFunctionCall","src":"328902:11:19"},"variableNames":[{"name":"m4","nativeSrc":"328896:2:19","nodeType":"YulIdentifier","src":"328896:2:19"}]},{"nativeSrc":"328926:17:19","nodeType":"YulAssignment","src":"328926:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"328938:4:19","nodeType":"YulLiteral","src":"328938:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"328932:5:19","nodeType":"YulIdentifier","src":"328932:5:19"},"nativeSrc":"328932:11:19","nodeType":"YulFunctionCall","src":"328932:11:19"},"variableNames":[{"name":"m5","nativeSrc":"328926:2:19","nodeType":"YulIdentifier","src":"328926:2:19"}]},{"nativeSrc":"328956:17:19","nodeType":"YulAssignment","src":"328956:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"328968:4:19","nodeType":"YulLiteral","src":"328968:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"328962:5:19","nodeType":"YulIdentifier","src":"328962:5:19"},"nativeSrc":"328962:11:19","nodeType":"YulFunctionCall","src":"328962:11:19"},"variableNames":[{"name":"m6","nativeSrc":"328956:2:19","nodeType":"YulIdentifier","src":"328956:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329056:4:19","nodeType":"YulLiteral","src":"329056:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"329062:10:19","nodeType":"YulLiteral","src":"329062:10:19","type":"","value":"0xb59dbd60"}],"functionName":{"name":"mstore","nativeSrc":"329049:6:19","nodeType":"YulIdentifier","src":"329049:6:19"},"nativeSrc":"329049:24:19","nodeType":"YulFunctionCall","src":"329049:24:19"},"nativeSrc":"329049:24:19","nodeType":"YulExpressionStatement","src":"329049:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329093:4:19","nodeType":"YulLiteral","src":"329093:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"329099:4:19","nodeType":"YulLiteral","src":"329099:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"329086:6:19","nodeType":"YulIdentifier","src":"329086:6:19"},"nativeSrc":"329086:18:19","nodeType":"YulFunctionCall","src":"329086:18:19"},"nativeSrc":"329086:18:19","nodeType":"YulExpressionStatement","src":"329086:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329124:4:19","nodeType":"YulLiteral","src":"329124:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"329130:2:19","nodeType":"YulIdentifier","src":"329130:2:19"}],"functionName":{"name":"mstore","nativeSrc":"329117:6:19","nodeType":"YulIdentifier","src":"329117:6:19"},"nativeSrc":"329117:16:19","nodeType":"YulFunctionCall","src":"329117:16:19"},"nativeSrc":"329117:16:19","nodeType":"YulExpressionStatement","src":"329117:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329153:4:19","nodeType":"YulLiteral","src":"329153:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"329159:2:19","nodeType":"YulIdentifier","src":"329159:2:19"}],"functionName":{"name":"mstore","nativeSrc":"329146:6:19","nodeType":"YulIdentifier","src":"329146:6:19"},"nativeSrc":"329146:16:19","nodeType":"YulFunctionCall","src":"329146:16:19"},"nativeSrc":"329146:16:19","nodeType":"YulExpressionStatement","src":"329146:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329182:4:19","nodeType":"YulLiteral","src":"329182:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"329188:2:19","nodeType":"YulIdentifier","src":"329188:2:19"}],"functionName":{"name":"mstore","nativeSrc":"329175:6:19","nodeType":"YulIdentifier","src":"329175:6:19"},"nativeSrc":"329175:16:19","nodeType":"YulFunctionCall","src":"329175:16:19"},"nativeSrc":"329175:16:19","nodeType":"YulExpressionStatement","src":"329175:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329216:4:19","nodeType":"YulLiteral","src":"329216:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"329222:2:19","nodeType":"YulIdentifier","src":"329222:2:19"}],"functionName":{"name":"writeString","nativeSrc":"329204:11:19","nodeType":"YulIdentifier","src":"329204:11:19"},"nativeSrc":"329204:21:19","nodeType":"YulFunctionCall","src":"329204:21:19"},"nativeSrc":"329204:21:19","nodeType":"YulExpressionStatement","src":"329204:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36562,"isOffset":false,"isSlot":false,"src":"328776:2:19","valueSize":1},{"declaration":36565,"isOffset":false,"isSlot":false,"src":"328806:2:19","valueSize":1},{"declaration":36568,"isOffset":false,"isSlot":false,"src":"328836:2:19","valueSize":1},{"declaration":36571,"isOffset":false,"isSlot":false,"src":"328866:2:19","valueSize":1},{"declaration":36574,"isOffset":false,"isSlot":false,"src":"328896:2:19","valueSize":1},{"declaration":36577,"isOffset":false,"isSlot":false,"src":"328926:2:19","valueSize":1},{"declaration":36580,"isOffset":false,"isSlot":false,"src":"328956:2:19","valueSize":1},{"declaration":36552,"isOffset":false,"isSlot":false,"src":"329222:2:19","valueSize":1},{"declaration":36554,"isOffset":false,"isSlot":false,"src":"329130:2:19","valueSize":1},{"declaration":36556,"isOffset":false,"isSlot":false,"src":"329159:2:19","valueSize":1},{"declaration":36558,"isOffset":false,"isSlot":false,"src":"329188:2:19","valueSize":1}],"id":36582,"nodeType":"InlineAssembly","src":"328398:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":36584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"329260:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"329266:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36583,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"329244:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"329244:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36587,"nodeType":"ExpressionStatement","src":"329244:27:19"},{"AST":{"nativeSrc":"329333:214:19","nodeType":"YulBlock","src":"329333:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"329354:4:19","nodeType":"YulLiteral","src":"329354:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"329360:2:19","nodeType":"YulIdentifier","src":"329360:2:19"}],"functionName":{"name":"mstore","nativeSrc":"329347:6:19","nodeType":"YulIdentifier","src":"329347:6:19"},"nativeSrc":"329347:16:19","nodeType":"YulFunctionCall","src":"329347:16:19"},"nativeSrc":"329347:16:19","nodeType":"YulExpressionStatement","src":"329347:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329383:4:19","nodeType":"YulLiteral","src":"329383:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"329389:2:19","nodeType":"YulIdentifier","src":"329389:2:19"}],"functionName":{"name":"mstore","nativeSrc":"329376:6:19","nodeType":"YulIdentifier","src":"329376:6:19"},"nativeSrc":"329376:16:19","nodeType":"YulFunctionCall","src":"329376:16:19"},"nativeSrc":"329376:16:19","nodeType":"YulExpressionStatement","src":"329376:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329412:4:19","nodeType":"YulLiteral","src":"329412:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"329418:2:19","nodeType":"YulIdentifier","src":"329418:2:19"}],"functionName":{"name":"mstore","nativeSrc":"329405:6:19","nodeType":"YulIdentifier","src":"329405:6:19"},"nativeSrc":"329405:16:19","nodeType":"YulFunctionCall","src":"329405:16:19"},"nativeSrc":"329405:16:19","nodeType":"YulExpressionStatement","src":"329405:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329441:4:19","nodeType":"YulLiteral","src":"329441:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"329447:2:19","nodeType":"YulIdentifier","src":"329447:2:19"}],"functionName":{"name":"mstore","nativeSrc":"329434:6:19","nodeType":"YulIdentifier","src":"329434:6:19"},"nativeSrc":"329434:16:19","nodeType":"YulFunctionCall","src":"329434:16:19"},"nativeSrc":"329434:16:19","nodeType":"YulExpressionStatement","src":"329434:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329470:4:19","nodeType":"YulLiteral","src":"329470:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"329476:2:19","nodeType":"YulIdentifier","src":"329476:2:19"}],"functionName":{"name":"mstore","nativeSrc":"329463:6:19","nodeType":"YulIdentifier","src":"329463:6:19"},"nativeSrc":"329463:16:19","nodeType":"YulFunctionCall","src":"329463:16:19"},"nativeSrc":"329463:16:19","nodeType":"YulExpressionStatement","src":"329463:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329499:4:19","nodeType":"YulLiteral","src":"329499:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"329505:2:19","nodeType":"YulIdentifier","src":"329505:2:19"}],"functionName":{"name":"mstore","nativeSrc":"329492:6:19","nodeType":"YulIdentifier","src":"329492:6:19"},"nativeSrc":"329492:16:19","nodeType":"YulFunctionCall","src":"329492:16:19"},"nativeSrc":"329492:16:19","nodeType":"YulExpressionStatement","src":"329492:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"329528:4:19","nodeType":"YulLiteral","src":"329528:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"329534:2:19","nodeType":"YulIdentifier","src":"329534:2:19"}],"functionName":{"name":"mstore","nativeSrc":"329521:6:19","nodeType":"YulIdentifier","src":"329521:6:19"},"nativeSrc":"329521:16:19","nodeType":"YulFunctionCall","src":"329521:16:19"},"nativeSrc":"329521:16:19","nodeType":"YulExpressionStatement","src":"329521:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36562,"isOffset":false,"isSlot":false,"src":"329360:2:19","valueSize":1},{"declaration":36565,"isOffset":false,"isSlot":false,"src":"329389:2:19","valueSize":1},{"declaration":36568,"isOffset":false,"isSlot":false,"src":"329418:2:19","valueSize":1},{"declaration":36571,"isOffset":false,"isSlot":false,"src":"329447:2:19","valueSize":1},{"declaration":36574,"isOffset":false,"isSlot":false,"src":"329476:2:19","valueSize":1},{"declaration":36577,"isOffset":false,"isSlot":false,"src":"329505:2:19","valueSize":1},{"declaration":36580,"isOffset":false,"isSlot":false,"src":"329534:2:19","valueSize":1}],"id":36588,"nodeType":"InlineAssembly","src":"329324:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"328142:3:19","parameters":{"id":36559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36552,"mutability":"mutable","name":"p0","nameLocation":"328154:2:19","nodeType":"VariableDeclaration","scope":36590,"src":"328146:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36551,"name":"bytes32","nodeType":"ElementaryTypeName","src":"328146:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36554,"mutability":"mutable","name":"p1","nameLocation":"328166:2:19","nodeType":"VariableDeclaration","scope":36590,"src":"328158:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36553,"name":"address","nodeType":"ElementaryTypeName","src":"328158:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36556,"mutability":"mutable","name":"p2","nameLocation":"328178:2:19","nodeType":"VariableDeclaration","scope":36590,"src":"328170:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36555,"name":"address","nodeType":"ElementaryTypeName","src":"328170:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36558,"mutability":"mutable","name":"p3","nameLocation":"328187:2:19","nodeType":"VariableDeclaration","scope":36590,"src":"328182:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36557,"name":"bool","nodeType":"ElementaryTypeName","src":"328182:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"328145:45:19"},"returnParameters":{"id":36560,"nodeType":"ParameterList","parameters":[],"src":"328205:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36630,"nodeType":"FunctionDefinition","src":"329559:1426:19","nodes":[],"body":{"id":36629,"nodeType":"Block","src":"329634:1351:19","nodes":[],"statements":[{"assignments":[36602],"declarations":[{"constant":false,"id":36602,"mutability":"mutable","name":"m0","nameLocation":"329652:2:19","nodeType":"VariableDeclaration","scope":36629,"src":"329644:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36601,"name":"bytes32","nodeType":"ElementaryTypeName","src":"329644:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36603,"nodeType":"VariableDeclarationStatement","src":"329644:10:19"},{"assignments":[36605],"declarations":[{"constant":false,"id":36605,"mutability":"mutable","name":"m1","nameLocation":"329672:2:19","nodeType":"VariableDeclaration","scope":36629,"src":"329664:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36604,"name":"bytes32","nodeType":"ElementaryTypeName","src":"329664:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36606,"nodeType":"VariableDeclarationStatement","src":"329664:10:19"},{"assignments":[36608],"declarations":[{"constant":false,"id":36608,"mutability":"mutable","name":"m2","nameLocation":"329692:2:19","nodeType":"VariableDeclaration","scope":36629,"src":"329684:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36607,"name":"bytes32","nodeType":"ElementaryTypeName","src":"329684:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36609,"nodeType":"VariableDeclarationStatement","src":"329684:10:19"},{"assignments":[36611],"declarations":[{"constant":false,"id":36611,"mutability":"mutable","name":"m3","nameLocation":"329712:2:19","nodeType":"VariableDeclaration","scope":36629,"src":"329704:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36610,"name":"bytes32","nodeType":"ElementaryTypeName","src":"329704:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36612,"nodeType":"VariableDeclarationStatement","src":"329704:10:19"},{"assignments":[36614],"declarations":[{"constant":false,"id":36614,"mutability":"mutable","name":"m4","nameLocation":"329732:2:19","nodeType":"VariableDeclaration","scope":36629,"src":"329724:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36613,"name":"bytes32","nodeType":"ElementaryTypeName","src":"329724:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36615,"nodeType":"VariableDeclarationStatement","src":"329724:10:19"},{"assignments":[36617],"declarations":[{"constant":false,"id":36617,"mutability":"mutable","name":"m5","nameLocation":"329752:2:19","nodeType":"VariableDeclaration","scope":36629,"src":"329744:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36616,"name":"bytes32","nodeType":"ElementaryTypeName","src":"329744:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36618,"nodeType":"VariableDeclarationStatement","src":"329744:10:19"},{"assignments":[36620],"declarations":[{"constant":false,"id":36620,"mutability":"mutable","name":"m6","nameLocation":"329772:2:19","nodeType":"VariableDeclaration","scope":36629,"src":"329764:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36619,"name":"bytes32","nodeType":"ElementaryTypeName","src":"329764:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36621,"nodeType":"VariableDeclarationStatement","src":"329764:10:19"},{"AST":{"nativeSrc":"329836:831:19","nodeType":"YulBlock","src":"329836:831:19","statements":[{"body":{"nativeSrc":"329879:313:19","nodeType":"YulBlock","src":"329879:313:19","statements":[{"nativeSrc":"329897:15:19","nodeType":"YulVariableDeclaration","src":"329897:15:19","value":{"kind":"number","nativeSrc":"329911:1:19","nodeType":"YulLiteral","src":"329911:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"329901:6:19","nodeType":"YulTypedName","src":"329901:6:19","type":""}]},{"body":{"nativeSrc":"329982:40:19","nodeType":"YulBlock","src":"329982:40:19","statements":[{"body":{"nativeSrc":"330011:9:19","nodeType":"YulBlock","src":"330011:9:19","statements":[{"nativeSrc":"330013:5:19","nodeType":"YulBreak","src":"330013:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"329999:6:19","nodeType":"YulIdentifier","src":"329999:6:19"},{"name":"w","nativeSrc":"330007:1:19","nodeType":"YulIdentifier","src":"330007:1:19"}],"functionName":{"name":"byte","nativeSrc":"329994:4:19","nodeType":"YulIdentifier","src":"329994:4:19"},"nativeSrc":"329994:15:19","nodeType":"YulFunctionCall","src":"329994:15:19"}],"functionName":{"name":"iszero","nativeSrc":"329987:6:19","nodeType":"YulIdentifier","src":"329987:6:19"},"nativeSrc":"329987:23:19","nodeType":"YulFunctionCall","src":"329987:23:19"},"nativeSrc":"329984:36:19","nodeType":"YulIf","src":"329984:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"329939:6:19","nodeType":"YulIdentifier","src":"329939:6:19"},{"kind":"number","nativeSrc":"329947:4:19","nodeType":"YulLiteral","src":"329947:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"329936:2:19","nodeType":"YulIdentifier","src":"329936:2:19"},"nativeSrc":"329936:16:19","nodeType":"YulFunctionCall","src":"329936:16:19"},"nativeSrc":"329929:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"329953:28:19","nodeType":"YulBlock","src":"329953:28:19","statements":[{"nativeSrc":"329955:24:19","nodeType":"YulAssignment","src":"329955:24:19","value":{"arguments":[{"name":"length","nativeSrc":"329969:6:19","nodeType":"YulIdentifier","src":"329969:6:19"},{"kind":"number","nativeSrc":"329977:1:19","nodeType":"YulLiteral","src":"329977:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"329965:3:19","nodeType":"YulIdentifier","src":"329965:3:19"},"nativeSrc":"329965:14:19","nodeType":"YulFunctionCall","src":"329965:14:19"},"variableNames":[{"name":"length","nativeSrc":"329955:6:19","nodeType":"YulIdentifier","src":"329955:6:19"}]}]},"pre":{"nativeSrc":"329933:2:19","nodeType":"YulBlock","src":"329933:2:19","statements":[]},"src":"329929:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"330046:3:19","nodeType":"YulIdentifier","src":"330046:3:19"},{"name":"length","nativeSrc":"330051:6:19","nodeType":"YulIdentifier","src":"330051:6:19"}],"functionName":{"name":"mstore","nativeSrc":"330039:6:19","nodeType":"YulIdentifier","src":"330039:6:19"},"nativeSrc":"330039:19:19","nodeType":"YulFunctionCall","src":"330039:19:19"},"nativeSrc":"330039:19:19","nodeType":"YulExpressionStatement","src":"330039:19:19"},{"nativeSrc":"330075:37:19","nodeType":"YulVariableDeclaration","src":"330075:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"330092:3:19","nodeType":"YulLiteral","src":"330092:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"330101:1:19","nodeType":"YulLiteral","src":"330101:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"330104:6:19","nodeType":"YulIdentifier","src":"330104:6:19"}],"functionName":{"name":"shl","nativeSrc":"330097:3:19","nodeType":"YulIdentifier","src":"330097:3:19"},"nativeSrc":"330097:14:19","nodeType":"YulFunctionCall","src":"330097:14:19"}],"functionName":{"name":"sub","nativeSrc":"330088:3:19","nodeType":"YulIdentifier","src":"330088:3:19"},"nativeSrc":"330088:24:19","nodeType":"YulFunctionCall","src":"330088:24:19"},"variables":[{"name":"shift","nativeSrc":"330079:5:19","nodeType":"YulTypedName","src":"330079:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"330140:3:19","nodeType":"YulIdentifier","src":"330140:3:19"},{"kind":"number","nativeSrc":"330145:4:19","nodeType":"YulLiteral","src":"330145:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"330136:3:19","nodeType":"YulIdentifier","src":"330136:3:19"},"nativeSrc":"330136:14:19","nodeType":"YulFunctionCall","src":"330136:14:19"},{"arguments":[{"name":"shift","nativeSrc":"330156:5:19","nodeType":"YulIdentifier","src":"330156:5:19"},{"arguments":[{"name":"shift","nativeSrc":"330167:5:19","nodeType":"YulIdentifier","src":"330167:5:19"},{"name":"w","nativeSrc":"330174:1:19","nodeType":"YulIdentifier","src":"330174:1:19"}],"functionName":{"name":"shr","nativeSrc":"330163:3:19","nodeType":"YulIdentifier","src":"330163:3:19"},"nativeSrc":"330163:13:19","nodeType":"YulFunctionCall","src":"330163:13:19"}],"functionName":{"name":"shl","nativeSrc":"330152:3:19","nodeType":"YulIdentifier","src":"330152:3:19"},"nativeSrc":"330152:25:19","nodeType":"YulFunctionCall","src":"330152:25:19"}],"functionName":{"name":"mstore","nativeSrc":"330129:6:19","nodeType":"YulIdentifier","src":"330129:6:19"},"nativeSrc":"330129:49:19","nodeType":"YulFunctionCall","src":"330129:49:19"},"nativeSrc":"330129:49:19","nodeType":"YulExpressionStatement","src":"330129:49:19"}]},"name":"writeString","nativeSrc":"329850:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"329871:3:19","nodeType":"YulTypedName","src":"329871:3:19","type":""},{"name":"w","nativeSrc":"329876:1:19","nodeType":"YulTypedName","src":"329876:1:19","type":""}],"src":"329850:342:19"},{"nativeSrc":"330205:17:19","nodeType":"YulAssignment","src":"330205:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"330217:4:19","nodeType":"YulLiteral","src":"330217:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"330211:5:19","nodeType":"YulIdentifier","src":"330211:5:19"},"nativeSrc":"330211:11:19","nodeType":"YulFunctionCall","src":"330211:11:19"},"variableNames":[{"name":"m0","nativeSrc":"330205:2:19","nodeType":"YulIdentifier","src":"330205:2:19"}]},{"nativeSrc":"330235:17:19","nodeType":"YulAssignment","src":"330235:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"330247:4:19","nodeType":"YulLiteral","src":"330247:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"330241:5:19","nodeType":"YulIdentifier","src":"330241:5:19"},"nativeSrc":"330241:11:19","nodeType":"YulFunctionCall","src":"330241:11:19"},"variableNames":[{"name":"m1","nativeSrc":"330235:2:19","nodeType":"YulIdentifier","src":"330235:2:19"}]},{"nativeSrc":"330265:17:19","nodeType":"YulAssignment","src":"330265:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"330277:4:19","nodeType":"YulLiteral","src":"330277:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"330271:5:19","nodeType":"YulIdentifier","src":"330271:5:19"},"nativeSrc":"330271:11:19","nodeType":"YulFunctionCall","src":"330271:11:19"},"variableNames":[{"name":"m2","nativeSrc":"330265:2:19","nodeType":"YulIdentifier","src":"330265:2:19"}]},{"nativeSrc":"330295:17:19","nodeType":"YulAssignment","src":"330295:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"330307:4:19","nodeType":"YulLiteral","src":"330307:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"330301:5:19","nodeType":"YulIdentifier","src":"330301:5:19"},"nativeSrc":"330301:11:19","nodeType":"YulFunctionCall","src":"330301:11:19"},"variableNames":[{"name":"m3","nativeSrc":"330295:2:19","nodeType":"YulIdentifier","src":"330295:2:19"}]},{"nativeSrc":"330325:17:19","nodeType":"YulAssignment","src":"330325:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"330337:4:19","nodeType":"YulLiteral","src":"330337:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"330331:5:19","nodeType":"YulIdentifier","src":"330331:5:19"},"nativeSrc":"330331:11:19","nodeType":"YulFunctionCall","src":"330331:11:19"},"variableNames":[{"name":"m4","nativeSrc":"330325:2:19","nodeType":"YulIdentifier","src":"330325:2:19"}]},{"nativeSrc":"330355:17:19","nodeType":"YulAssignment","src":"330355:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"330367:4:19","nodeType":"YulLiteral","src":"330367:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"330361:5:19","nodeType":"YulIdentifier","src":"330361:5:19"},"nativeSrc":"330361:11:19","nodeType":"YulFunctionCall","src":"330361:11:19"},"variableNames":[{"name":"m5","nativeSrc":"330355:2:19","nodeType":"YulIdentifier","src":"330355:2:19"}]},{"nativeSrc":"330385:17:19","nodeType":"YulAssignment","src":"330385:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"330397:4:19","nodeType":"YulLiteral","src":"330397:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"330391:5:19","nodeType":"YulIdentifier","src":"330391:5:19"},"nativeSrc":"330391:11:19","nodeType":"YulFunctionCall","src":"330391:11:19"},"variableNames":[{"name":"m6","nativeSrc":"330385:2:19","nodeType":"YulIdentifier","src":"330385:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330488:4:19","nodeType":"YulLiteral","src":"330488:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"330494:10:19","nodeType":"YulLiteral","src":"330494:10:19","type":"","value":"0x8ef3f399"}],"functionName":{"name":"mstore","nativeSrc":"330481:6:19","nodeType":"YulIdentifier","src":"330481:6:19"},"nativeSrc":"330481:24:19","nodeType":"YulFunctionCall","src":"330481:24:19"},"nativeSrc":"330481:24:19","nodeType":"YulExpressionStatement","src":"330481:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330525:4:19","nodeType":"YulLiteral","src":"330525:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"330531:4:19","nodeType":"YulLiteral","src":"330531:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"330518:6:19","nodeType":"YulIdentifier","src":"330518:6:19"},"nativeSrc":"330518:18:19","nodeType":"YulFunctionCall","src":"330518:18:19"},"nativeSrc":"330518:18:19","nodeType":"YulExpressionStatement","src":"330518:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330556:4:19","nodeType":"YulLiteral","src":"330556:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"330562:2:19","nodeType":"YulIdentifier","src":"330562:2:19"}],"functionName":{"name":"mstore","nativeSrc":"330549:6:19","nodeType":"YulIdentifier","src":"330549:6:19"},"nativeSrc":"330549:16:19","nodeType":"YulFunctionCall","src":"330549:16:19"},"nativeSrc":"330549:16:19","nodeType":"YulExpressionStatement","src":"330549:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330585:4:19","nodeType":"YulLiteral","src":"330585:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"330591:2:19","nodeType":"YulIdentifier","src":"330591:2:19"}],"functionName":{"name":"mstore","nativeSrc":"330578:6:19","nodeType":"YulIdentifier","src":"330578:6:19"},"nativeSrc":"330578:16:19","nodeType":"YulFunctionCall","src":"330578:16:19"},"nativeSrc":"330578:16:19","nodeType":"YulExpressionStatement","src":"330578:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330614:4:19","nodeType":"YulLiteral","src":"330614:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"330620:2:19","nodeType":"YulIdentifier","src":"330620:2:19"}],"functionName":{"name":"mstore","nativeSrc":"330607:6:19","nodeType":"YulIdentifier","src":"330607:6:19"},"nativeSrc":"330607:16:19","nodeType":"YulFunctionCall","src":"330607:16:19"},"nativeSrc":"330607:16:19","nodeType":"YulExpressionStatement","src":"330607:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330648:4:19","nodeType":"YulLiteral","src":"330648:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"330654:2:19","nodeType":"YulIdentifier","src":"330654:2:19"}],"functionName":{"name":"writeString","nativeSrc":"330636:11:19","nodeType":"YulIdentifier","src":"330636:11:19"},"nativeSrc":"330636:21:19","nodeType":"YulFunctionCall","src":"330636:21:19"},"nativeSrc":"330636:21:19","nodeType":"YulExpressionStatement","src":"330636:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36602,"isOffset":false,"isSlot":false,"src":"330205:2:19","valueSize":1},{"declaration":36605,"isOffset":false,"isSlot":false,"src":"330235:2:19","valueSize":1},{"declaration":36608,"isOffset":false,"isSlot":false,"src":"330265:2:19","valueSize":1},{"declaration":36611,"isOffset":false,"isSlot":false,"src":"330295:2:19","valueSize":1},{"declaration":36614,"isOffset":false,"isSlot":false,"src":"330325:2:19","valueSize":1},{"declaration":36617,"isOffset":false,"isSlot":false,"src":"330355:2:19","valueSize":1},{"declaration":36620,"isOffset":false,"isSlot":false,"src":"330385:2:19","valueSize":1},{"declaration":36592,"isOffset":false,"isSlot":false,"src":"330654:2:19","valueSize":1},{"declaration":36594,"isOffset":false,"isSlot":false,"src":"330562:2:19","valueSize":1},{"declaration":36596,"isOffset":false,"isSlot":false,"src":"330591:2:19","valueSize":1},{"declaration":36598,"isOffset":false,"isSlot":false,"src":"330620:2:19","valueSize":1}],"id":36622,"nodeType":"InlineAssembly","src":"329827:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":36624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"330692:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"330698:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36623,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"330676:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"330676:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36627,"nodeType":"ExpressionStatement","src":"330676:27:19"},{"AST":{"nativeSrc":"330765:214:19","nodeType":"YulBlock","src":"330765:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"330786:4:19","nodeType":"YulLiteral","src":"330786:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"330792:2:19","nodeType":"YulIdentifier","src":"330792:2:19"}],"functionName":{"name":"mstore","nativeSrc":"330779:6:19","nodeType":"YulIdentifier","src":"330779:6:19"},"nativeSrc":"330779:16:19","nodeType":"YulFunctionCall","src":"330779:16:19"},"nativeSrc":"330779:16:19","nodeType":"YulExpressionStatement","src":"330779:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330815:4:19","nodeType":"YulLiteral","src":"330815:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"330821:2:19","nodeType":"YulIdentifier","src":"330821:2:19"}],"functionName":{"name":"mstore","nativeSrc":"330808:6:19","nodeType":"YulIdentifier","src":"330808:6:19"},"nativeSrc":"330808:16:19","nodeType":"YulFunctionCall","src":"330808:16:19"},"nativeSrc":"330808:16:19","nodeType":"YulExpressionStatement","src":"330808:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330844:4:19","nodeType":"YulLiteral","src":"330844:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"330850:2:19","nodeType":"YulIdentifier","src":"330850:2:19"}],"functionName":{"name":"mstore","nativeSrc":"330837:6:19","nodeType":"YulIdentifier","src":"330837:6:19"},"nativeSrc":"330837:16:19","nodeType":"YulFunctionCall","src":"330837:16:19"},"nativeSrc":"330837:16:19","nodeType":"YulExpressionStatement","src":"330837:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330873:4:19","nodeType":"YulLiteral","src":"330873:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"330879:2:19","nodeType":"YulIdentifier","src":"330879:2:19"}],"functionName":{"name":"mstore","nativeSrc":"330866:6:19","nodeType":"YulIdentifier","src":"330866:6:19"},"nativeSrc":"330866:16:19","nodeType":"YulFunctionCall","src":"330866:16:19"},"nativeSrc":"330866:16:19","nodeType":"YulExpressionStatement","src":"330866:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330902:4:19","nodeType":"YulLiteral","src":"330902:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"330908:2:19","nodeType":"YulIdentifier","src":"330908:2:19"}],"functionName":{"name":"mstore","nativeSrc":"330895:6:19","nodeType":"YulIdentifier","src":"330895:6:19"},"nativeSrc":"330895:16:19","nodeType":"YulFunctionCall","src":"330895:16:19"},"nativeSrc":"330895:16:19","nodeType":"YulExpressionStatement","src":"330895:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330931:4:19","nodeType":"YulLiteral","src":"330931:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"330937:2:19","nodeType":"YulIdentifier","src":"330937:2:19"}],"functionName":{"name":"mstore","nativeSrc":"330924:6:19","nodeType":"YulIdentifier","src":"330924:6:19"},"nativeSrc":"330924:16:19","nodeType":"YulFunctionCall","src":"330924:16:19"},"nativeSrc":"330924:16:19","nodeType":"YulExpressionStatement","src":"330924:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"330960:4:19","nodeType":"YulLiteral","src":"330960:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"330966:2:19","nodeType":"YulIdentifier","src":"330966:2:19"}],"functionName":{"name":"mstore","nativeSrc":"330953:6:19","nodeType":"YulIdentifier","src":"330953:6:19"},"nativeSrc":"330953:16:19","nodeType":"YulFunctionCall","src":"330953:16:19"},"nativeSrc":"330953:16:19","nodeType":"YulExpressionStatement","src":"330953:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36602,"isOffset":false,"isSlot":false,"src":"330792:2:19","valueSize":1},{"declaration":36605,"isOffset":false,"isSlot":false,"src":"330821:2:19","valueSize":1},{"declaration":36608,"isOffset":false,"isSlot":false,"src":"330850:2:19","valueSize":1},{"declaration":36611,"isOffset":false,"isSlot":false,"src":"330879:2:19","valueSize":1},{"declaration":36614,"isOffset":false,"isSlot":false,"src":"330908:2:19","valueSize":1},{"declaration":36617,"isOffset":false,"isSlot":false,"src":"330937:2:19","valueSize":1},{"declaration":36620,"isOffset":false,"isSlot":false,"src":"330966:2:19","valueSize":1}],"id":36628,"nodeType":"InlineAssembly","src":"330756:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"329568:3:19","parameters":{"id":36599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36592,"mutability":"mutable","name":"p0","nameLocation":"329580:2:19","nodeType":"VariableDeclaration","scope":36630,"src":"329572:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36591,"name":"bytes32","nodeType":"ElementaryTypeName","src":"329572:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36594,"mutability":"mutable","name":"p1","nameLocation":"329592:2:19","nodeType":"VariableDeclaration","scope":36630,"src":"329584:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36593,"name":"address","nodeType":"ElementaryTypeName","src":"329584:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36596,"mutability":"mutable","name":"p2","nameLocation":"329604:2:19","nodeType":"VariableDeclaration","scope":36630,"src":"329596:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36595,"name":"address","nodeType":"ElementaryTypeName","src":"329596:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36598,"mutability":"mutable","name":"p3","nameLocation":"329616:2:19","nodeType":"VariableDeclaration","scope":36630,"src":"329608:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36597,"name":"uint256","nodeType":"ElementaryTypeName","src":"329608:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"329571:48:19"},"returnParameters":{"id":36600,"nodeType":"ParameterList","parameters":[],"src":"329634:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36676,"nodeType":"FunctionDefinition","src":"330991:1622:19","nodes":[],"body":{"id":36675,"nodeType":"Block","src":"331066:1547:19","nodes":[],"statements":[{"assignments":[36642],"declarations":[{"constant":false,"id":36642,"mutability":"mutable","name":"m0","nameLocation":"331084:2:19","nodeType":"VariableDeclaration","scope":36675,"src":"331076:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36641,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331076:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36643,"nodeType":"VariableDeclarationStatement","src":"331076:10:19"},{"assignments":[36645],"declarations":[{"constant":false,"id":36645,"mutability":"mutable","name":"m1","nameLocation":"331104:2:19","nodeType":"VariableDeclaration","scope":36675,"src":"331096:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36644,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331096:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36646,"nodeType":"VariableDeclarationStatement","src":"331096:10:19"},{"assignments":[36648],"declarations":[{"constant":false,"id":36648,"mutability":"mutable","name":"m2","nameLocation":"331124:2:19","nodeType":"VariableDeclaration","scope":36675,"src":"331116:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36647,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331116:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36649,"nodeType":"VariableDeclarationStatement","src":"331116:10:19"},{"assignments":[36651],"declarations":[{"constant":false,"id":36651,"mutability":"mutable","name":"m3","nameLocation":"331144:2:19","nodeType":"VariableDeclaration","scope":36675,"src":"331136:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36650,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331136:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36652,"nodeType":"VariableDeclarationStatement","src":"331136:10:19"},{"assignments":[36654],"declarations":[{"constant":false,"id":36654,"mutability":"mutable","name":"m4","nameLocation":"331164:2:19","nodeType":"VariableDeclaration","scope":36675,"src":"331156:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36653,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331156:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36655,"nodeType":"VariableDeclarationStatement","src":"331156:10:19"},{"assignments":[36657],"declarations":[{"constant":false,"id":36657,"mutability":"mutable","name":"m5","nameLocation":"331184:2:19","nodeType":"VariableDeclaration","scope":36675,"src":"331176:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36656,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331176:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36658,"nodeType":"VariableDeclarationStatement","src":"331176:10:19"},{"assignments":[36660],"declarations":[{"constant":false,"id":36660,"mutability":"mutable","name":"m6","nameLocation":"331204:2:19","nodeType":"VariableDeclaration","scope":36675,"src":"331196:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36659,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331196:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36661,"nodeType":"VariableDeclarationStatement","src":"331196:10:19"},{"assignments":[36663],"declarations":[{"constant":false,"id":36663,"mutability":"mutable","name":"m7","nameLocation":"331224:2:19","nodeType":"VariableDeclaration","scope":36675,"src":"331216:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36662,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331216:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36664,"nodeType":"VariableDeclarationStatement","src":"331216:10:19"},{"assignments":[36666],"declarations":[{"constant":false,"id":36666,"mutability":"mutable","name":"m8","nameLocation":"331244:2:19","nodeType":"VariableDeclaration","scope":36675,"src":"331236:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36665,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331236:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36667,"nodeType":"VariableDeclarationStatement","src":"331236:10:19"},{"AST":{"nativeSrc":"331308:927:19","nodeType":"YulBlock","src":"331308:927:19","statements":[{"body":{"nativeSrc":"331351:313:19","nodeType":"YulBlock","src":"331351:313:19","statements":[{"nativeSrc":"331369:15:19","nodeType":"YulVariableDeclaration","src":"331369:15:19","value":{"kind":"number","nativeSrc":"331383:1:19","nodeType":"YulLiteral","src":"331383:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"331373:6:19","nodeType":"YulTypedName","src":"331373:6:19","type":""}]},{"body":{"nativeSrc":"331454:40:19","nodeType":"YulBlock","src":"331454:40:19","statements":[{"body":{"nativeSrc":"331483:9:19","nodeType":"YulBlock","src":"331483:9:19","statements":[{"nativeSrc":"331485:5:19","nodeType":"YulBreak","src":"331485:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"331471:6:19","nodeType":"YulIdentifier","src":"331471:6:19"},{"name":"w","nativeSrc":"331479:1:19","nodeType":"YulIdentifier","src":"331479:1:19"}],"functionName":{"name":"byte","nativeSrc":"331466:4:19","nodeType":"YulIdentifier","src":"331466:4:19"},"nativeSrc":"331466:15:19","nodeType":"YulFunctionCall","src":"331466:15:19"}],"functionName":{"name":"iszero","nativeSrc":"331459:6:19","nodeType":"YulIdentifier","src":"331459:6:19"},"nativeSrc":"331459:23:19","nodeType":"YulFunctionCall","src":"331459:23:19"},"nativeSrc":"331456:36:19","nodeType":"YulIf","src":"331456:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"331411:6:19","nodeType":"YulIdentifier","src":"331411:6:19"},{"kind":"number","nativeSrc":"331419:4:19","nodeType":"YulLiteral","src":"331419:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"331408:2:19","nodeType":"YulIdentifier","src":"331408:2:19"},"nativeSrc":"331408:16:19","nodeType":"YulFunctionCall","src":"331408:16:19"},"nativeSrc":"331401:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"331425:28:19","nodeType":"YulBlock","src":"331425:28:19","statements":[{"nativeSrc":"331427:24:19","nodeType":"YulAssignment","src":"331427:24:19","value":{"arguments":[{"name":"length","nativeSrc":"331441:6:19","nodeType":"YulIdentifier","src":"331441:6:19"},{"kind":"number","nativeSrc":"331449:1:19","nodeType":"YulLiteral","src":"331449:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"331437:3:19","nodeType":"YulIdentifier","src":"331437:3:19"},"nativeSrc":"331437:14:19","nodeType":"YulFunctionCall","src":"331437:14:19"},"variableNames":[{"name":"length","nativeSrc":"331427:6:19","nodeType":"YulIdentifier","src":"331427:6:19"}]}]},"pre":{"nativeSrc":"331405:2:19","nodeType":"YulBlock","src":"331405:2:19","statements":[]},"src":"331401:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"331518:3:19","nodeType":"YulIdentifier","src":"331518:3:19"},{"name":"length","nativeSrc":"331523:6:19","nodeType":"YulIdentifier","src":"331523:6:19"}],"functionName":{"name":"mstore","nativeSrc":"331511:6:19","nodeType":"YulIdentifier","src":"331511:6:19"},"nativeSrc":"331511:19:19","nodeType":"YulFunctionCall","src":"331511:19:19"},"nativeSrc":"331511:19:19","nodeType":"YulExpressionStatement","src":"331511:19:19"},{"nativeSrc":"331547:37:19","nodeType":"YulVariableDeclaration","src":"331547:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"331564:3:19","nodeType":"YulLiteral","src":"331564:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"331573:1:19","nodeType":"YulLiteral","src":"331573:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"331576:6:19","nodeType":"YulIdentifier","src":"331576:6:19"}],"functionName":{"name":"shl","nativeSrc":"331569:3:19","nodeType":"YulIdentifier","src":"331569:3:19"},"nativeSrc":"331569:14:19","nodeType":"YulFunctionCall","src":"331569:14:19"}],"functionName":{"name":"sub","nativeSrc":"331560:3:19","nodeType":"YulIdentifier","src":"331560:3:19"},"nativeSrc":"331560:24:19","nodeType":"YulFunctionCall","src":"331560:24:19"},"variables":[{"name":"shift","nativeSrc":"331551:5:19","nodeType":"YulTypedName","src":"331551:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"331612:3:19","nodeType":"YulIdentifier","src":"331612:3:19"},{"kind":"number","nativeSrc":"331617:4:19","nodeType":"YulLiteral","src":"331617:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"331608:3:19","nodeType":"YulIdentifier","src":"331608:3:19"},"nativeSrc":"331608:14:19","nodeType":"YulFunctionCall","src":"331608:14:19"},{"arguments":[{"name":"shift","nativeSrc":"331628:5:19","nodeType":"YulIdentifier","src":"331628:5:19"},{"arguments":[{"name":"shift","nativeSrc":"331639:5:19","nodeType":"YulIdentifier","src":"331639:5:19"},{"name":"w","nativeSrc":"331646:1:19","nodeType":"YulIdentifier","src":"331646:1:19"}],"functionName":{"name":"shr","nativeSrc":"331635:3:19","nodeType":"YulIdentifier","src":"331635:3:19"},"nativeSrc":"331635:13:19","nodeType":"YulFunctionCall","src":"331635:13:19"}],"functionName":{"name":"shl","nativeSrc":"331624:3:19","nodeType":"YulIdentifier","src":"331624:3:19"},"nativeSrc":"331624:25:19","nodeType":"YulFunctionCall","src":"331624:25:19"}],"functionName":{"name":"mstore","nativeSrc":"331601:6:19","nodeType":"YulIdentifier","src":"331601:6:19"},"nativeSrc":"331601:49:19","nodeType":"YulFunctionCall","src":"331601:49:19"},"nativeSrc":"331601:49:19","nodeType":"YulExpressionStatement","src":"331601:49:19"}]},"name":"writeString","nativeSrc":"331322:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"331343:3:19","nodeType":"YulTypedName","src":"331343:3:19","type":""},{"name":"w","nativeSrc":"331348:1:19","nodeType":"YulTypedName","src":"331348:1:19","type":""}],"src":"331322:342:19"},{"nativeSrc":"331677:17:19","nodeType":"YulAssignment","src":"331677:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"331689:4:19","nodeType":"YulLiteral","src":"331689:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"331683:5:19","nodeType":"YulIdentifier","src":"331683:5:19"},"nativeSrc":"331683:11:19","nodeType":"YulFunctionCall","src":"331683:11:19"},"variableNames":[{"name":"m0","nativeSrc":"331677:2:19","nodeType":"YulIdentifier","src":"331677:2:19"}]},{"nativeSrc":"331707:17:19","nodeType":"YulAssignment","src":"331707:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"331719:4:19","nodeType":"YulLiteral","src":"331719:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"331713:5:19","nodeType":"YulIdentifier","src":"331713:5:19"},"nativeSrc":"331713:11:19","nodeType":"YulFunctionCall","src":"331713:11:19"},"variableNames":[{"name":"m1","nativeSrc":"331707:2:19","nodeType":"YulIdentifier","src":"331707:2:19"}]},{"nativeSrc":"331737:17:19","nodeType":"YulAssignment","src":"331737:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"331749:4:19","nodeType":"YulLiteral","src":"331749:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"331743:5:19","nodeType":"YulIdentifier","src":"331743:5:19"},"nativeSrc":"331743:11:19","nodeType":"YulFunctionCall","src":"331743:11:19"},"variableNames":[{"name":"m2","nativeSrc":"331737:2:19","nodeType":"YulIdentifier","src":"331737:2:19"}]},{"nativeSrc":"331767:17:19","nodeType":"YulAssignment","src":"331767:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"331779:4:19","nodeType":"YulLiteral","src":"331779:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"331773:5:19","nodeType":"YulIdentifier","src":"331773:5:19"},"nativeSrc":"331773:11:19","nodeType":"YulFunctionCall","src":"331773:11:19"},"variableNames":[{"name":"m3","nativeSrc":"331767:2:19","nodeType":"YulIdentifier","src":"331767:2:19"}]},{"nativeSrc":"331797:17:19","nodeType":"YulAssignment","src":"331797:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"331809:4:19","nodeType":"YulLiteral","src":"331809:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"331803:5:19","nodeType":"YulIdentifier","src":"331803:5:19"},"nativeSrc":"331803:11:19","nodeType":"YulFunctionCall","src":"331803:11:19"},"variableNames":[{"name":"m4","nativeSrc":"331797:2:19","nodeType":"YulIdentifier","src":"331797:2:19"}]},{"nativeSrc":"331827:17:19","nodeType":"YulAssignment","src":"331827:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"331839:4:19","nodeType":"YulLiteral","src":"331839:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"331833:5:19","nodeType":"YulIdentifier","src":"331833:5:19"},"nativeSrc":"331833:11:19","nodeType":"YulFunctionCall","src":"331833:11:19"},"variableNames":[{"name":"m5","nativeSrc":"331827:2:19","nodeType":"YulIdentifier","src":"331827:2:19"}]},{"nativeSrc":"331857:17:19","nodeType":"YulAssignment","src":"331857:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"331869:4:19","nodeType":"YulLiteral","src":"331869:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"331863:5:19","nodeType":"YulIdentifier","src":"331863:5:19"},"nativeSrc":"331863:11:19","nodeType":"YulFunctionCall","src":"331863:11:19"},"variableNames":[{"name":"m6","nativeSrc":"331857:2:19","nodeType":"YulIdentifier","src":"331857:2:19"}]},{"nativeSrc":"331887:17:19","nodeType":"YulAssignment","src":"331887:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"331899:4:19","nodeType":"YulLiteral","src":"331899:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"331893:5:19","nodeType":"YulIdentifier","src":"331893:5:19"},"nativeSrc":"331893:11:19","nodeType":"YulFunctionCall","src":"331893:11:19"},"variableNames":[{"name":"m7","nativeSrc":"331887:2:19","nodeType":"YulIdentifier","src":"331887:2:19"}]},{"nativeSrc":"331917:18:19","nodeType":"YulAssignment","src":"331917:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"331929:5:19","nodeType":"YulLiteral","src":"331929:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"331923:5:19","nodeType":"YulIdentifier","src":"331923:5:19"},"nativeSrc":"331923:12:19","nodeType":"YulFunctionCall","src":"331923:12:19"},"variableNames":[{"name":"m8","nativeSrc":"331917:2:19","nodeType":"YulIdentifier","src":"331917:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332020:4:19","nodeType":"YulLiteral","src":"332020:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"332026:10:19","nodeType":"YulLiteral","src":"332026:10:19","type":"","value":"0x800a1c67"}],"functionName":{"name":"mstore","nativeSrc":"332013:6:19","nodeType":"YulIdentifier","src":"332013:6:19"},"nativeSrc":"332013:24:19","nodeType":"YulFunctionCall","src":"332013:24:19"},"nativeSrc":"332013:24:19","nodeType":"YulExpressionStatement","src":"332013:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332057:4:19","nodeType":"YulLiteral","src":"332057:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"332063:4:19","nodeType":"YulLiteral","src":"332063:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"332050:6:19","nodeType":"YulIdentifier","src":"332050:6:19"},"nativeSrc":"332050:18:19","nodeType":"YulFunctionCall","src":"332050:18:19"},"nativeSrc":"332050:18:19","nodeType":"YulExpressionStatement","src":"332050:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332088:4:19","nodeType":"YulLiteral","src":"332088:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"332094:2:19","nodeType":"YulIdentifier","src":"332094:2:19"}],"functionName":{"name":"mstore","nativeSrc":"332081:6:19","nodeType":"YulIdentifier","src":"332081:6:19"},"nativeSrc":"332081:16:19","nodeType":"YulFunctionCall","src":"332081:16:19"},"nativeSrc":"332081:16:19","nodeType":"YulExpressionStatement","src":"332081:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332117:4:19","nodeType":"YulLiteral","src":"332117:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"332123:2:19","nodeType":"YulIdentifier","src":"332123:2:19"}],"functionName":{"name":"mstore","nativeSrc":"332110:6:19","nodeType":"YulIdentifier","src":"332110:6:19"},"nativeSrc":"332110:16:19","nodeType":"YulFunctionCall","src":"332110:16:19"},"nativeSrc":"332110:16:19","nodeType":"YulExpressionStatement","src":"332110:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332146:4:19","nodeType":"YulLiteral","src":"332146:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"332152:4:19","nodeType":"YulLiteral","src":"332152:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"332139:6:19","nodeType":"YulIdentifier","src":"332139:6:19"},"nativeSrc":"332139:18:19","nodeType":"YulFunctionCall","src":"332139:18:19"},"nativeSrc":"332139:18:19","nodeType":"YulExpressionStatement","src":"332139:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332182:4:19","nodeType":"YulLiteral","src":"332182:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"332188:2:19","nodeType":"YulIdentifier","src":"332188:2:19"}],"functionName":{"name":"writeString","nativeSrc":"332170:11:19","nodeType":"YulIdentifier","src":"332170:11:19"},"nativeSrc":"332170:21:19","nodeType":"YulFunctionCall","src":"332170:21:19"},"nativeSrc":"332170:21:19","nodeType":"YulExpressionStatement","src":"332170:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332216:4:19","nodeType":"YulLiteral","src":"332216:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"332222:2:19","nodeType":"YulIdentifier","src":"332222:2:19"}],"functionName":{"name":"writeString","nativeSrc":"332204:11:19","nodeType":"YulIdentifier","src":"332204:11:19"},"nativeSrc":"332204:21:19","nodeType":"YulFunctionCall","src":"332204:21:19"},"nativeSrc":"332204:21:19","nodeType":"YulExpressionStatement","src":"332204:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36642,"isOffset":false,"isSlot":false,"src":"331677:2:19","valueSize":1},{"declaration":36645,"isOffset":false,"isSlot":false,"src":"331707:2:19","valueSize":1},{"declaration":36648,"isOffset":false,"isSlot":false,"src":"331737:2:19","valueSize":1},{"declaration":36651,"isOffset":false,"isSlot":false,"src":"331767:2:19","valueSize":1},{"declaration":36654,"isOffset":false,"isSlot":false,"src":"331797:2:19","valueSize":1},{"declaration":36657,"isOffset":false,"isSlot":false,"src":"331827:2:19","valueSize":1},{"declaration":36660,"isOffset":false,"isSlot":false,"src":"331857:2:19","valueSize":1},{"declaration":36663,"isOffset":false,"isSlot":false,"src":"331887:2:19","valueSize":1},{"declaration":36666,"isOffset":false,"isSlot":false,"src":"331917:2:19","valueSize":1},{"declaration":36632,"isOffset":false,"isSlot":false,"src":"332188:2:19","valueSize":1},{"declaration":36634,"isOffset":false,"isSlot":false,"src":"332094:2:19","valueSize":1},{"declaration":36636,"isOffset":false,"isSlot":false,"src":"332123:2:19","valueSize":1},{"declaration":36638,"isOffset":false,"isSlot":false,"src":"332222:2:19","valueSize":1}],"id":36668,"nodeType":"InlineAssembly","src":"331299:936:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":36670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"332260:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":36671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"332266:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":36669,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"332244:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"332244:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36673,"nodeType":"ExpressionStatement","src":"332244:28:19"},{"AST":{"nativeSrc":"332334:273:19","nodeType":"YulBlock","src":"332334:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"332355:4:19","nodeType":"YulLiteral","src":"332355:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"332361:2:19","nodeType":"YulIdentifier","src":"332361:2:19"}],"functionName":{"name":"mstore","nativeSrc":"332348:6:19","nodeType":"YulIdentifier","src":"332348:6:19"},"nativeSrc":"332348:16:19","nodeType":"YulFunctionCall","src":"332348:16:19"},"nativeSrc":"332348:16:19","nodeType":"YulExpressionStatement","src":"332348:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332384:4:19","nodeType":"YulLiteral","src":"332384:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"332390:2:19","nodeType":"YulIdentifier","src":"332390:2:19"}],"functionName":{"name":"mstore","nativeSrc":"332377:6:19","nodeType":"YulIdentifier","src":"332377:6:19"},"nativeSrc":"332377:16:19","nodeType":"YulFunctionCall","src":"332377:16:19"},"nativeSrc":"332377:16:19","nodeType":"YulExpressionStatement","src":"332377:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332413:4:19","nodeType":"YulLiteral","src":"332413:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"332419:2:19","nodeType":"YulIdentifier","src":"332419:2:19"}],"functionName":{"name":"mstore","nativeSrc":"332406:6:19","nodeType":"YulIdentifier","src":"332406:6:19"},"nativeSrc":"332406:16:19","nodeType":"YulFunctionCall","src":"332406:16:19"},"nativeSrc":"332406:16:19","nodeType":"YulExpressionStatement","src":"332406:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332442:4:19","nodeType":"YulLiteral","src":"332442:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"332448:2:19","nodeType":"YulIdentifier","src":"332448:2:19"}],"functionName":{"name":"mstore","nativeSrc":"332435:6:19","nodeType":"YulIdentifier","src":"332435:6:19"},"nativeSrc":"332435:16:19","nodeType":"YulFunctionCall","src":"332435:16:19"},"nativeSrc":"332435:16:19","nodeType":"YulExpressionStatement","src":"332435:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332471:4:19","nodeType":"YulLiteral","src":"332471:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"332477:2:19","nodeType":"YulIdentifier","src":"332477:2:19"}],"functionName":{"name":"mstore","nativeSrc":"332464:6:19","nodeType":"YulIdentifier","src":"332464:6:19"},"nativeSrc":"332464:16:19","nodeType":"YulFunctionCall","src":"332464:16:19"},"nativeSrc":"332464:16:19","nodeType":"YulExpressionStatement","src":"332464:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332500:4:19","nodeType":"YulLiteral","src":"332500:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"332506:2:19","nodeType":"YulIdentifier","src":"332506:2:19"}],"functionName":{"name":"mstore","nativeSrc":"332493:6:19","nodeType":"YulIdentifier","src":"332493:6:19"},"nativeSrc":"332493:16:19","nodeType":"YulFunctionCall","src":"332493:16:19"},"nativeSrc":"332493:16:19","nodeType":"YulExpressionStatement","src":"332493:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332529:4:19","nodeType":"YulLiteral","src":"332529:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"332535:2:19","nodeType":"YulIdentifier","src":"332535:2:19"}],"functionName":{"name":"mstore","nativeSrc":"332522:6:19","nodeType":"YulIdentifier","src":"332522:6:19"},"nativeSrc":"332522:16:19","nodeType":"YulFunctionCall","src":"332522:16:19"},"nativeSrc":"332522:16:19","nodeType":"YulExpressionStatement","src":"332522:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332558:4:19","nodeType":"YulLiteral","src":"332558:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"332564:2:19","nodeType":"YulIdentifier","src":"332564:2:19"}],"functionName":{"name":"mstore","nativeSrc":"332551:6:19","nodeType":"YulIdentifier","src":"332551:6:19"},"nativeSrc":"332551:16:19","nodeType":"YulFunctionCall","src":"332551:16:19"},"nativeSrc":"332551:16:19","nodeType":"YulExpressionStatement","src":"332551:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"332587:5:19","nodeType":"YulLiteral","src":"332587:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"332594:2:19","nodeType":"YulIdentifier","src":"332594:2:19"}],"functionName":{"name":"mstore","nativeSrc":"332580:6:19","nodeType":"YulIdentifier","src":"332580:6:19"},"nativeSrc":"332580:17:19","nodeType":"YulFunctionCall","src":"332580:17:19"},"nativeSrc":"332580:17:19","nodeType":"YulExpressionStatement","src":"332580:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36642,"isOffset":false,"isSlot":false,"src":"332361:2:19","valueSize":1},{"declaration":36645,"isOffset":false,"isSlot":false,"src":"332390:2:19","valueSize":1},{"declaration":36648,"isOffset":false,"isSlot":false,"src":"332419:2:19","valueSize":1},{"declaration":36651,"isOffset":false,"isSlot":false,"src":"332448:2:19","valueSize":1},{"declaration":36654,"isOffset":false,"isSlot":false,"src":"332477:2:19","valueSize":1},{"declaration":36657,"isOffset":false,"isSlot":false,"src":"332506:2:19","valueSize":1},{"declaration":36660,"isOffset":false,"isSlot":false,"src":"332535:2:19","valueSize":1},{"declaration":36663,"isOffset":false,"isSlot":false,"src":"332564:2:19","valueSize":1},{"declaration":36666,"isOffset":false,"isSlot":false,"src":"332594:2:19","valueSize":1}],"id":36674,"nodeType":"InlineAssembly","src":"332325:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"331000:3:19","parameters":{"id":36639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36632,"mutability":"mutable","name":"p0","nameLocation":"331012:2:19","nodeType":"VariableDeclaration","scope":36676,"src":"331004:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36631,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331004:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36634,"mutability":"mutable","name":"p1","nameLocation":"331024:2:19","nodeType":"VariableDeclaration","scope":36676,"src":"331016:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36633,"name":"address","nodeType":"ElementaryTypeName","src":"331016:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36636,"mutability":"mutable","name":"p2","nameLocation":"331036:2:19","nodeType":"VariableDeclaration","scope":36676,"src":"331028:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36635,"name":"address","nodeType":"ElementaryTypeName","src":"331028:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36638,"mutability":"mutable","name":"p3","nameLocation":"331048:2:19","nodeType":"VariableDeclaration","scope":36676,"src":"331040:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36637,"name":"bytes32","nodeType":"ElementaryTypeName","src":"331040:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"331003:48:19"},"returnParameters":{"id":36640,"nodeType":"ParameterList","parameters":[],"src":"331066:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36716,"nodeType":"FunctionDefinition","src":"332619:1420:19","nodes":[],"body":{"id":36715,"nodeType":"Block","src":"332691:1348:19","nodes":[],"statements":[{"assignments":[36688],"declarations":[{"constant":false,"id":36688,"mutability":"mutable","name":"m0","nameLocation":"332709:2:19","nodeType":"VariableDeclaration","scope":36715,"src":"332701:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36687,"name":"bytes32","nodeType":"ElementaryTypeName","src":"332701:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36689,"nodeType":"VariableDeclarationStatement","src":"332701:10:19"},{"assignments":[36691],"declarations":[{"constant":false,"id":36691,"mutability":"mutable","name":"m1","nameLocation":"332729:2:19","nodeType":"VariableDeclaration","scope":36715,"src":"332721:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36690,"name":"bytes32","nodeType":"ElementaryTypeName","src":"332721:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36692,"nodeType":"VariableDeclarationStatement","src":"332721:10:19"},{"assignments":[36694],"declarations":[{"constant":false,"id":36694,"mutability":"mutable","name":"m2","nameLocation":"332749:2:19","nodeType":"VariableDeclaration","scope":36715,"src":"332741:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36693,"name":"bytes32","nodeType":"ElementaryTypeName","src":"332741:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36695,"nodeType":"VariableDeclarationStatement","src":"332741:10:19"},{"assignments":[36697],"declarations":[{"constant":false,"id":36697,"mutability":"mutable","name":"m3","nameLocation":"332769:2:19","nodeType":"VariableDeclaration","scope":36715,"src":"332761:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36696,"name":"bytes32","nodeType":"ElementaryTypeName","src":"332761:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36698,"nodeType":"VariableDeclarationStatement","src":"332761:10:19"},{"assignments":[36700],"declarations":[{"constant":false,"id":36700,"mutability":"mutable","name":"m4","nameLocation":"332789:2:19","nodeType":"VariableDeclaration","scope":36715,"src":"332781:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36699,"name":"bytes32","nodeType":"ElementaryTypeName","src":"332781:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36701,"nodeType":"VariableDeclarationStatement","src":"332781:10:19"},{"assignments":[36703],"declarations":[{"constant":false,"id":36703,"mutability":"mutable","name":"m5","nameLocation":"332809:2:19","nodeType":"VariableDeclaration","scope":36715,"src":"332801:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36702,"name":"bytes32","nodeType":"ElementaryTypeName","src":"332801:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36704,"nodeType":"VariableDeclarationStatement","src":"332801:10:19"},{"assignments":[36706],"declarations":[{"constant":false,"id":36706,"mutability":"mutable","name":"m6","nameLocation":"332829:2:19","nodeType":"VariableDeclaration","scope":36715,"src":"332821:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36705,"name":"bytes32","nodeType":"ElementaryTypeName","src":"332821:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36707,"nodeType":"VariableDeclarationStatement","src":"332821:10:19"},{"AST":{"nativeSrc":"332893:828:19","nodeType":"YulBlock","src":"332893:828:19","statements":[{"body":{"nativeSrc":"332936:313:19","nodeType":"YulBlock","src":"332936:313:19","statements":[{"nativeSrc":"332954:15:19","nodeType":"YulVariableDeclaration","src":"332954:15:19","value":{"kind":"number","nativeSrc":"332968:1:19","nodeType":"YulLiteral","src":"332968:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"332958:6:19","nodeType":"YulTypedName","src":"332958:6:19","type":""}]},{"body":{"nativeSrc":"333039:40:19","nodeType":"YulBlock","src":"333039:40:19","statements":[{"body":{"nativeSrc":"333068:9:19","nodeType":"YulBlock","src":"333068:9:19","statements":[{"nativeSrc":"333070:5:19","nodeType":"YulBreak","src":"333070:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"333056:6:19","nodeType":"YulIdentifier","src":"333056:6:19"},{"name":"w","nativeSrc":"333064:1:19","nodeType":"YulIdentifier","src":"333064:1:19"}],"functionName":{"name":"byte","nativeSrc":"333051:4:19","nodeType":"YulIdentifier","src":"333051:4:19"},"nativeSrc":"333051:15:19","nodeType":"YulFunctionCall","src":"333051:15:19"}],"functionName":{"name":"iszero","nativeSrc":"333044:6:19","nodeType":"YulIdentifier","src":"333044:6:19"},"nativeSrc":"333044:23:19","nodeType":"YulFunctionCall","src":"333044:23:19"},"nativeSrc":"333041:36:19","nodeType":"YulIf","src":"333041:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"332996:6:19","nodeType":"YulIdentifier","src":"332996:6:19"},{"kind":"number","nativeSrc":"333004:4:19","nodeType":"YulLiteral","src":"333004:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"332993:2:19","nodeType":"YulIdentifier","src":"332993:2:19"},"nativeSrc":"332993:16:19","nodeType":"YulFunctionCall","src":"332993:16:19"},"nativeSrc":"332986:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"333010:28:19","nodeType":"YulBlock","src":"333010:28:19","statements":[{"nativeSrc":"333012:24:19","nodeType":"YulAssignment","src":"333012:24:19","value":{"arguments":[{"name":"length","nativeSrc":"333026:6:19","nodeType":"YulIdentifier","src":"333026:6:19"},{"kind":"number","nativeSrc":"333034:1:19","nodeType":"YulLiteral","src":"333034:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"333022:3:19","nodeType":"YulIdentifier","src":"333022:3:19"},"nativeSrc":"333022:14:19","nodeType":"YulFunctionCall","src":"333022:14:19"},"variableNames":[{"name":"length","nativeSrc":"333012:6:19","nodeType":"YulIdentifier","src":"333012:6:19"}]}]},"pre":{"nativeSrc":"332990:2:19","nodeType":"YulBlock","src":"332990:2:19","statements":[]},"src":"332986:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"333103:3:19","nodeType":"YulIdentifier","src":"333103:3:19"},{"name":"length","nativeSrc":"333108:6:19","nodeType":"YulIdentifier","src":"333108:6:19"}],"functionName":{"name":"mstore","nativeSrc":"333096:6:19","nodeType":"YulIdentifier","src":"333096:6:19"},"nativeSrc":"333096:19:19","nodeType":"YulFunctionCall","src":"333096:19:19"},"nativeSrc":"333096:19:19","nodeType":"YulExpressionStatement","src":"333096:19:19"},{"nativeSrc":"333132:37:19","nodeType":"YulVariableDeclaration","src":"333132:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"333149:3:19","nodeType":"YulLiteral","src":"333149:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"333158:1:19","nodeType":"YulLiteral","src":"333158:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"333161:6:19","nodeType":"YulIdentifier","src":"333161:6:19"}],"functionName":{"name":"shl","nativeSrc":"333154:3:19","nodeType":"YulIdentifier","src":"333154:3:19"},"nativeSrc":"333154:14:19","nodeType":"YulFunctionCall","src":"333154:14:19"}],"functionName":{"name":"sub","nativeSrc":"333145:3:19","nodeType":"YulIdentifier","src":"333145:3:19"},"nativeSrc":"333145:24:19","nodeType":"YulFunctionCall","src":"333145:24:19"},"variables":[{"name":"shift","nativeSrc":"333136:5:19","nodeType":"YulTypedName","src":"333136:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"333197:3:19","nodeType":"YulIdentifier","src":"333197:3:19"},{"kind":"number","nativeSrc":"333202:4:19","nodeType":"YulLiteral","src":"333202:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"333193:3:19","nodeType":"YulIdentifier","src":"333193:3:19"},"nativeSrc":"333193:14:19","nodeType":"YulFunctionCall","src":"333193:14:19"},{"arguments":[{"name":"shift","nativeSrc":"333213:5:19","nodeType":"YulIdentifier","src":"333213:5:19"},{"arguments":[{"name":"shift","nativeSrc":"333224:5:19","nodeType":"YulIdentifier","src":"333224:5:19"},{"name":"w","nativeSrc":"333231:1:19","nodeType":"YulIdentifier","src":"333231:1:19"}],"functionName":{"name":"shr","nativeSrc":"333220:3:19","nodeType":"YulIdentifier","src":"333220:3:19"},"nativeSrc":"333220:13:19","nodeType":"YulFunctionCall","src":"333220:13:19"}],"functionName":{"name":"shl","nativeSrc":"333209:3:19","nodeType":"YulIdentifier","src":"333209:3:19"},"nativeSrc":"333209:25:19","nodeType":"YulFunctionCall","src":"333209:25:19"}],"functionName":{"name":"mstore","nativeSrc":"333186:6:19","nodeType":"YulIdentifier","src":"333186:6:19"},"nativeSrc":"333186:49:19","nodeType":"YulFunctionCall","src":"333186:49:19"},"nativeSrc":"333186:49:19","nodeType":"YulExpressionStatement","src":"333186:49:19"}]},"name":"writeString","nativeSrc":"332907:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"332928:3:19","nodeType":"YulTypedName","src":"332928:3:19","type":""},{"name":"w","nativeSrc":"332933:1:19","nodeType":"YulTypedName","src":"332933:1:19","type":""}],"src":"332907:342:19"},{"nativeSrc":"333262:17:19","nodeType":"YulAssignment","src":"333262:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"333274:4:19","nodeType":"YulLiteral","src":"333274:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"333268:5:19","nodeType":"YulIdentifier","src":"333268:5:19"},"nativeSrc":"333268:11:19","nodeType":"YulFunctionCall","src":"333268:11:19"},"variableNames":[{"name":"m0","nativeSrc":"333262:2:19","nodeType":"YulIdentifier","src":"333262:2:19"}]},{"nativeSrc":"333292:17:19","nodeType":"YulAssignment","src":"333292:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"333304:4:19","nodeType":"YulLiteral","src":"333304:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"333298:5:19","nodeType":"YulIdentifier","src":"333298:5:19"},"nativeSrc":"333298:11:19","nodeType":"YulFunctionCall","src":"333298:11:19"},"variableNames":[{"name":"m1","nativeSrc":"333292:2:19","nodeType":"YulIdentifier","src":"333292:2:19"}]},{"nativeSrc":"333322:17:19","nodeType":"YulAssignment","src":"333322:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"333334:4:19","nodeType":"YulLiteral","src":"333334:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"333328:5:19","nodeType":"YulIdentifier","src":"333328:5:19"},"nativeSrc":"333328:11:19","nodeType":"YulFunctionCall","src":"333328:11:19"},"variableNames":[{"name":"m2","nativeSrc":"333322:2:19","nodeType":"YulIdentifier","src":"333322:2:19"}]},{"nativeSrc":"333352:17:19","nodeType":"YulAssignment","src":"333352:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"333364:4:19","nodeType":"YulLiteral","src":"333364:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"333358:5:19","nodeType":"YulIdentifier","src":"333358:5:19"},"nativeSrc":"333358:11:19","nodeType":"YulFunctionCall","src":"333358:11:19"},"variableNames":[{"name":"m3","nativeSrc":"333352:2:19","nodeType":"YulIdentifier","src":"333352:2:19"}]},{"nativeSrc":"333382:17:19","nodeType":"YulAssignment","src":"333382:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"333394:4:19","nodeType":"YulLiteral","src":"333394:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"333388:5:19","nodeType":"YulIdentifier","src":"333388:5:19"},"nativeSrc":"333388:11:19","nodeType":"YulFunctionCall","src":"333388:11:19"},"variableNames":[{"name":"m4","nativeSrc":"333382:2:19","nodeType":"YulIdentifier","src":"333382:2:19"}]},{"nativeSrc":"333412:17:19","nodeType":"YulAssignment","src":"333412:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"333424:4:19","nodeType":"YulLiteral","src":"333424:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"333418:5:19","nodeType":"YulIdentifier","src":"333418:5:19"},"nativeSrc":"333418:11:19","nodeType":"YulFunctionCall","src":"333418:11:19"},"variableNames":[{"name":"m5","nativeSrc":"333412:2:19","nodeType":"YulIdentifier","src":"333412:2:19"}]},{"nativeSrc":"333442:17:19","nodeType":"YulAssignment","src":"333442:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"333454:4:19","nodeType":"YulLiteral","src":"333454:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"333448:5:19","nodeType":"YulIdentifier","src":"333448:5:19"},"nativeSrc":"333448:11:19","nodeType":"YulFunctionCall","src":"333448:11:19"},"variableNames":[{"name":"m6","nativeSrc":"333442:2:19","nodeType":"YulIdentifier","src":"333442:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333542:4:19","nodeType":"YulLiteral","src":"333542:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"333548:10:19","nodeType":"YulLiteral","src":"333548:10:19","type":"","value":"0x223603bd"}],"functionName":{"name":"mstore","nativeSrc":"333535:6:19","nodeType":"YulIdentifier","src":"333535:6:19"},"nativeSrc":"333535:24:19","nodeType":"YulFunctionCall","src":"333535:24:19"},"nativeSrc":"333535:24:19","nodeType":"YulExpressionStatement","src":"333535:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333579:4:19","nodeType":"YulLiteral","src":"333579:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"333585:4:19","nodeType":"YulLiteral","src":"333585:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"333572:6:19","nodeType":"YulIdentifier","src":"333572:6:19"},"nativeSrc":"333572:18:19","nodeType":"YulFunctionCall","src":"333572:18:19"},"nativeSrc":"333572:18:19","nodeType":"YulExpressionStatement","src":"333572:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333610:4:19","nodeType":"YulLiteral","src":"333610:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"333616:2:19","nodeType":"YulIdentifier","src":"333616:2:19"}],"functionName":{"name":"mstore","nativeSrc":"333603:6:19","nodeType":"YulIdentifier","src":"333603:6:19"},"nativeSrc":"333603:16:19","nodeType":"YulFunctionCall","src":"333603:16:19"},"nativeSrc":"333603:16:19","nodeType":"YulExpressionStatement","src":"333603:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333639:4:19","nodeType":"YulLiteral","src":"333639:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"333645:2:19","nodeType":"YulIdentifier","src":"333645:2:19"}],"functionName":{"name":"mstore","nativeSrc":"333632:6:19","nodeType":"YulIdentifier","src":"333632:6:19"},"nativeSrc":"333632:16:19","nodeType":"YulFunctionCall","src":"333632:16:19"},"nativeSrc":"333632:16:19","nodeType":"YulExpressionStatement","src":"333632:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333668:4:19","nodeType":"YulLiteral","src":"333668:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"333674:2:19","nodeType":"YulIdentifier","src":"333674:2:19"}],"functionName":{"name":"mstore","nativeSrc":"333661:6:19","nodeType":"YulIdentifier","src":"333661:6:19"},"nativeSrc":"333661:16:19","nodeType":"YulFunctionCall","src":"333661:16:19"},"nativeSrc":"333661:16:19","nodeType":"YulExpressionStatement","src":"333661:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333702:4:19","nodeType":"YulLiteral","src":"333702:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"333708:2:19","nodeType":"YulIdentifier","src":"333708:2:19"}],"functionName":{"name":"writeString","nativeSrc":"333690:11:19","nodeType":"YulIdentifier","src":"333690:11:19"},"nativeSrc":"333690:21:19","nodeType":"YulFunctionCall","src":"333690:21:19"},"nativeSrc":"333690:21:19","nodeType":"YulExpressionStatement","src":"333690:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36688,"isOffset":false,"isSlot":false,"src":"333262:2:19","valueSize":1},{"declaration":36691,"isOffset":false,"isSlot":false,"src":"333292:2:19","valueSize":1},{"declaration":36694,"isOffset":false,"isSlot":false,"src":"333322:2:19","valueSize":1},{"declaration":36697,"isOffset":false,"isSlot":false,"src":"333352:2:19","valueSize":1},{"declaration":36700,"isOffset":false,"isSlot":false,"src":"333382:2:19","valueSize":1},{"declaration":36703,"isOffset":false,"isSlot":false,"src":"333412:2:19","valueSize":1},{"declaration":36706,"isOffset":false,"isSlot":false,"src":"333442:2:19","valueSize":1},{"declaration":36678,"isOffset":false,"isSlot":false,"src":"333708:2:19","valueSize":1},{"declaration":36680,"isOffset":false,"isSlot":false,"src":"333616:2:19","valueSize":1},{"declaration":36682,"isOffset":false,"isSlot":false,"src":"333645:2:19","valueSize":1},{"declaration":36684,"isOffset":false,"isSlot":false,"src":"333674:2:19","valueSize":1}],"id":36708,"nodeType":"InlineAssembly","src":"332884:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":36710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"333746:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"333752:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36709,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"333730:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"333730:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36713,"nodeType":"ExpressionStatement","src":"333730:27:19"},{"AST":{"nativeSrc":"333819:214:19","nodeType":"YulBlock","src":"333819:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"333840:4:19","nodeType":"YulLiteral","src":"333840:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"333846:2:19","nodeType":"YulIdentifier","src":"333846:2:19"}],"functionName":{"name":"mstore","nativeSrc":"333833:6:19","nodeType":"YulIdentifier","src":"333833:6:19"},"nativeSrc":"333833:16:19","nodeType":"YulFunctionCall","src":"333833:16:19"},"nativeSrc":"333833:16:19","nodeType":"YulExpressionStatement","src":"333833:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333869:4:19","nodeType":"YulLiteral","src":"333869:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"333875:2:19","nodeType":"YulIdentifier","src":"333875:2:19"}],"functionName":{"name":"mstore","nativeSrc":"333862:6:19","nodeType":"YulIdentifier","src":"333862:6:19"},"nativeSrc":"333862:16:19","nodeType":"YulFunctionCall","src":"333862:16:19"},"nativeSrc":"333862:16:19","nodeType":"YulExpressionStatement","src":"333862:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333898:4:19","nodeType":"YulLiteral","src":"333898:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"333904:2:19","nodeType":"YulIdentifier","src":"333904:2:19"}],"functionName":{"name":"mstore","nativeSrc":"333891:6:19","nodeType":"YulIdentifier","src":"333891:6:19"},"nativeSrc":"333891:16:19","nodeType":"YulFunctionCall","src":"333891:16:19"},"nativeSrc":"333891:16:19","nodeType":"YulExpressionStatement","src":"333891:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333927:4:19","nodeType":"YulLiteral","src":"333927:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"333933:2:19","nodeType":"YulIdentifier","src":"333933:2:19"}],"functionName":{"name":"mstore","nativeSrc":"333920:6:19","nodeType":"YulIdentifier","src":"333920:6:19"},"nativeSrc":"333920:16:19","nodeType":"YulFunctionCall","src":"333920:16:19"},"nativeSrc":"333920:16:19","nodeType":"YulExpressionStatement","src":"333920:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333956:4:19","nodeType":"YulLiteral","src":"333956:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"333962:2:19","nodeType":"YulIdentifier","src":"333962:2:19"}],"functionName":{"name":"mstore","nativeSrc":"333949:6:19","nodeType":"YulIdentifier","src":"333949:6:19"},"nativeSrc":"333949:16:19","nodeType":"YulFunctionCall","src":"333949:16:19"},"nativeSrc":"333949:16:19","nodeType":"YulExpressionStatement","src":"333949:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"333985:4:19","nodeType":"YulLiteral","src":"333985:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"333991:2:19","nodeType":"YulIdentifier","src":"333991:2:19"}],"functionName":{"name":"mstore","nativeSrc":"333978:6:19","nodeType":"YulIdentifier","src":"333978:6:19"},"nativeSrc":"333978:16:19","nodeType":"YulFunctionCall","src":"333978:16:19"},"nativeSrc":"333978:16:19","nodeType":"YulExpressionStatement","src":"333978:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"334014:4:19","nodeType":"YulLiteral","src":"334014:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"334020:2:19","nodeType":"YulIdentifier","src":"334020:2:19"}],"functionName":{"name":"mstore","nativeSrc":"334007:6:19","nodeType":"YulIdentifier","src":"334007:6:19"},"nativeSrc":"334007:16:19","nodeType":"YulFunctionCall","src":"334007:16:19"},"nativeSrc":"334007:16:19","nodeType":"YulExpressionStatement","src":"334007:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36688,"isOffset":false,"isSlot":false,"src":"333846:2:19","valueSize":1},{"declaration":36691,"isOffset":false,"isSlot":false,"src":"333875:2:19","valueSize":1},{"declaration":36694,"isOffset":false,"isSlot":false,"src":"333904:2:19","valueSize":1},{"declaration":36697,"isOffset":false,"isSlot":false,"src":"333933:2:19","valueSize":1},{"declaration":36700,"isOffset":false,"isSlot":false,"src":"333962:2:19","valueSize":1},{"declaration":36703,"isOffset":false,"isSlot":false,"src":"333991:2:19","valueSize":1},{"declaration":36706,"isOffset":false,"isSlot":false,"src":"334020:2:19","valueSize":1}],"id":36714,"nodeType":"InlineAssembly","src":"333810:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"332628:3:19","parameters":{"id":36685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36678,"mutability":"mutable","name":"p0","nameLocation":"332640:2:19","nodeType":"VariableDeclaration","scope":36716,"src":"332632:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36677,"name":"bytes32","nodeType":"ElementaryTypeName","src":"332632:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36680,"mutability":"mutable","name":"p1","nameLocation":"332652:2:19","nodeType":"VariableDeclaration","scope":36716,"src":"332644:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36679,"name":"address","nodeType":"ElementaryTypeName","src":"332644:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36682,"mutability":"mutable","name":"p2","nameLocation":"332661:2:19","nodeType":"VariableDeclaration","scope":36716,"src":"332656:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36681,"name":"bool","nodeType":"ElementaryTypeName","src":"332656:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36684,"mutability":"mutable","name":"p3","nameLocation":"332673:2:19","nodeType":"VariableDeclaration","scope":36716,"src":"332665:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36683,"name":"address","nodeType":"ElementaryTypeName","src":"332665:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"332631:45:19"},"returnParameters":{"id":36686,"nodeType":"ParameterList","parameters":[],"src":"332691:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36756,"nodeType":"FunctionDefinition","src":"334045:1414:19","nodes":[],"body":{"id":36755,"nodeType":"Block","src":"334114:1345:19","nodes":[],"statements":[{"assignments":[36728],"declarations":[{"constant":false,"id":36728,"mutability":"mutable","name":"m0","nameLocation":"334132:2:19","nodeType":"VariableDeclaration","scope":36755,"src":"334124:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36727,"name":"bytes32","nodeType":"ElementaryTypeName","src":"334124:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36729,"nodeType":"VariableDeclarationStatement","src":"334124:10:19"},{"assignments":[36731],"declarations":[{"constant":false,"id":36731,"mutability":"mutable","name":"m1","nameLocation":"334152:2:19","nodeType":"VariableDeclaration","scope":36755,"src":"334144:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36730,"name":"bytes32","nodeType":"ElementaryTypeName","src":"334144:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36732,"nodeType":"VariableDeclarationStatement","src":"334144:10:19"},{"assignments":[36734],"declarations":[{"constant":false,"id":36734,"mutability":"mutable","name":"m2","nameLocation":"334172:2:19","nodeType":"VariableDeclaration","scope":36755,"src":"334164:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36733,"name":"bytes32","nodeType":"ElementaryTypeName","src":"334164:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36735,"nodeType":"VariableDeclarationStatement","src":"334164:10:19"},{"assignments":[36737],"declarations":[{"constant":false,"id":36737,"mutability":"mutable","name":"m3","nameLocation":"334192:2:19","nodeType":"VariableDeclaration","scope":36755,"src":"334184:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36736,"name":"bytes32","nodeType":"ElementaryTypeName","src":"334184:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36738,"nodeType":"VariableDeclarationStatement","src":"334184:10:19"},{"assignments":[36740],"declarations":[{"constant":false,"id":36740,"mutability":"mutable","name":"m4","nameLocation":"334212:2:19","nodeType":"VariableDeclaration","scope":36755,"src":"334204:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36739,"name":"bytes32","nodeType":"ElementaryTypeName","src":"334204:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36741,"nodeType":"VariableDeclarationStatement","src":"334204:10:19"},{"assignments":[36743],"declarations":[{"constant":false,"id":36743,"mutability":"mutable","name":"m5","nameLocation":"334232:2:19","nodeType":"VariableDeclaration","scope":36755,"src":"334224:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36742,"name":"bytes32","nodeType":"ElementaryTypeName","src":"334224:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36744,"nodeType":"VariableDeclarationStatement","src":"334224:10:19"},{"assignments":[36746],"declarations":[{"constant":false,"id":36746,"mutability":"mutable","name":"m6","nameLocation":"334252:2:19","nodeType":"VariableDeclaration","scope":36755,"src":"334244:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36745,"name":"bytes32","nodeType":"ElementaryTypeName","src":"334244:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36747,"nodeType":"VariableDeclarationStatement","src":"334244:10:19"},{"AST":{"nativeSrc":"334316:825:19","nodeType":"YulBlock","src":"334316:825:19","statements":[{"body":{"nativeSrc":"334359:313:19","nodeType":"YulBlock","src":"334359:313:19","statements":[{"nativeSrc":"334377:15:19","nodeType":"YulVariableDeclaration","src":"334377:15:19","value":{"kind":"number","nativeSrc":"334391:1:19","nodeType":"YulLiteral","src":"334391:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"334381:6:19","nodeType":"YulTypedName","src":"334381:6:19","type":""}]},{"body":{"nativeSrc":"334462:40:19","nodeType":"YulBlock","src":"334462:40:19","statements":[{"body":{"nativeSrc":"334491:9:19","nodeType":"YulBlock","src":"334491:9:19","statements":[{"nativeSrc":"334493:5:19","nodeType":"YulBreak","src":"334493:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"334479:6:19","nodeType":"YulIdentifier","src":"334479:6:19"},{"name":"w","nativeSrc":"334487:1:19","nodeType":"YulIdentifier","src":"334487:1:19"}],"functionName":{"name":"byte","nativeSrc":"334474:4:19","nodeType":"YulIdentifier","src":"334474:4:19"},"nativeSrc":"334474:15:19","nodeType":"YulFunctionCall","src":"334474:15:19"}],"functionName":{"name":"iszero","nativeSrc":"334467:6:19","nodeType":"YulIdentifier","src":"334467:6:19"},"nativeSrc":"334467:23:19","nodeType":"YulFunctionCall","src":"334467:23:19"},"nativeSrc":"334464:36:19","nodeType":"YulIf","src":"334464:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"334419:6:19","nodeType":"YulIdentifier","src":"334419:6:19"},{"kind":"number","nativeSrc":"334427:4:19","nodeType":"YulLiteral","src":"334427:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"334416:2:19","nodeType":"YulIdentifier","src":"334416:2:19"},"nativeSrc":"334416:16:19","nodeType":"YulFunctionCall","src":"334416:16:19"},"nativeSrc":"334409:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"334433:28:19","nodeType":"YulBlock","src":"334433:28:19","statements":[{"nativeSrc":"334435:24:19","nodeType":"YulAssignment","src":"334435:24:19","value":{"arguments":[{"name":"length","nativeSrc":"334449:6:19","nodeType":"YulIdentifier","src":"334449:6:19"},{"kind":"number","nativeSrc":"334457:1:19","nodeType":"YulLiteral","src":"334457:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"334445:3:19","nodeType":"YulIdentifier","src":"334445:3:19"},"nativeSrc":"334445:14:19","nodeType":"YulFunctionCall","src":"334445:14:19"},"variableNames":[{"name":"length","nativeSrc":"334435:6:19","nodeType":"YulIdentifier","src":"334435:6:19"}]}]},"pre":{"nativeSrc":"334413:2:19","nodeType":"YulBlock","src":"334413:2:19","statements":[]},"src":"334409:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"334526:3:19","nodeType":"YulIdentifier","src":"334526:3:19"},{"name":"length","nativeSrc":"334531:6:19","nodeType":"YulIdentifier","src":"334531:6:19"}],"functionName":{"name":"mstore","nativeSrc":"334519:6:19","nodeType":"YulIdentifier","src":"334519:6:19"},"nativeSrc":"334519:19:19","nodeType":"YulFunctionCall","src":"334519:19:19"},"nativeSrc":"334519:19:19","nodeType":"YulExpressionStatement","src":"334519:19:19"},{"nativeSrc":"334555:37:19","nodeType":"YulVariableDeclaration","src":"334555:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"334572:3:19","nodeType":"YulLiteral","src":"334572:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"334581:1:19","nodeType":"YulLiteral","src":"334581:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"334584:6:19","nodeType":"YulIdentifier","src":"334584:6:19"}],"functionName":{"name":"shl","nativeSrc":"334577:3:19","nodeType":"YulIdentifier","src":"334577:3:19"},"nativeSrc":"334577:14:19","nodeType":"YulFunctionCall","src":"334577:14:19"}],"functionName":{"name":"sub","nativeSrc":"334568:3:19","nodeType":"YulIdentifier","src":"334568:3:19"},"nativeSrc":"334568:24:19","nodeType":"YulFunctionCall","src":"334568:24:19"},"variables":[{"name":"shift","nativeSrc":"334559:5:19","nodeType":"YulTypedName","src":"334559:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"334620:3:19","nodeType":"YulIdentifier","src":"334620:3:19"},{"kind":"number","nativeSrc":"334625:4:19","nodeType":"YulLiteral","src":"334625:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"334616:3:19","nodeType":"YulIdentifier","src":"334616:3:19"},"nativeSrc":"334616:14:19","nodeType":"YulFunctionCall","src":"334616:14:19"},{"arguments":[{"name":"shift","nativeSrc":"334636:5:19","nodeType":"YulIdentifier","src":"334636:5:19"},{"arguments":[{"name":"shift","nativeSrc":"334647:5:19","nodeType":"YulIdentifier","src":"334647:5:19"},{"name":"w","nativeSrc":"334654:1:19","nodeType":"YulIdentifier","src":"334654:1:19"}],"functionName":{"name":"shr","nativeSrc":"334643:3:19","nodeType":"YulIdentifier","src":"334643:3:19"},"nativeSrc":"334643:13:19","nodeType":"YulFunctionCall","src":"334643:13:19"}],"functionName":{"name":"shl","nativeSrc":"334632:3:19","nodeType":"YulIdentifier","src":"334632:3:19"},"nativeSrc":"334632:25:19","nodeType":"YulFunctionCall","src":"334632:25:19"}],"functionName":{"name":"mstore","nativeSrc":"334609:6:19","nodeType":"YulIdentifier","src":"334609:6:19"},"nativeSrc":"334609:49:19","nodeType":"YulFunctionCall","src":"334609:49:19"},"nativeSrc":"334609:49:19","nodeType":"YulExpressionStatement","src":"334609:49:19"}]},"name":"writeString","nativeSrc":"334330:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"334351:3:19","nodeType":"YulTypedName","src":"334351:3:19","type":""},{"name":"w","nativeSrc":"334356:1:19","nodeType":"YulTypedName","src":"334356:1:19","type":""}],"src":"334330:342:19"},{"nativeSrc":"334685:17:19","nodeType":"YulAssignment","src":"334685:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"334697:4:19","nodeType":"YulLiteral","src":"334697:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"334691:5:19","nodeType":"YulIdentifier","src":"334691:5:19"},"nativeSrc":"334691:11:19","nodeType":"YulFunctionCall","src":"334691:11:19"},"variableNames":[{"name":"m0","nativeSrc":"334685:2:19","nodeType":"YulIdentifier","src":"334685:2:19"}]},{"nativeSrc":"334715:17:19","nodeType":"YulAssignment","src":"334715:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"334727:4:19","nodeType":"YulLiteral","src":"334727:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"334721:5:19","nodeType":"YulIdentifier","src":"334721:5:19"},"nativeSrc":"334721:11:19","nodeType":"YulFunctionCall","src":"334721:11:19"},"variableNames":[{"name":"m1","nativeSrc":"334715:2:19","nodeType":"YulIdentifier","src":"334715:2:19"}]},{"nativeSrc":"334745:17:19","nodeType":"YulAssignment","src":"334745:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"334757:4:19","nodeType":"YulLiteral","src":"334757:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"334751:5:19","nodeType":"YulIdentifier","src":"334751:5:19"},"nativeSrc":"334751:11:19","nodeType":"YulFunctionCall","src":"334751:11:19"},"variableNames":[{"name":"m2","nativeSrc":"334745:2:19","nodeType":"YulIdentifier","src":"334745:2:19"}]},{"nativeSrc":"334775:17:19","nodeType":"YulAssignment","src":"334775:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"334787:4:19","nodeType":"YulLiteral","src":"334787:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"334781:5:19","nodeType":"YulIdentifier","src":"334781:5:19"},"nativeSrc":"334781:11:19","nodeType":"YulFunctionCall","src":"334781:11:19"},"variableNames":[{"name":"m3","nativeSrc":"334775:2:19","nodeType":"YulIdentifier","src":"334775:2:19"}]},{"nativeSrc":"334805:17:19","nodeType":"YulAssignment","src":"334805:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"334817:4:19","nodeType":"YulLiteral","src":"334817:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"334811:5:19","nodeType":"YulIdentifier","src":"334811:5:19"},"nativeSrc":"334811:11:19","nodeType":"YulFunctionCall","src":"334811:11:19"},"variableNames":[{"name":"m4","nativeSrc":"334805:2:19","nodeType":"YulIdentifier","src":"334805:2:19"}]},{"nativeSrc":"334835:17:19","nodeType":"YulAssignment","src":"334835:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"334847:4:19","nodeType":"YulLiteral","src":"334847:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"334841:5:19","nodeType":"YulIdentifier","src":"334841:5:19"},"nativeSrc":"334841:11:19","nodeType":"YulFunctionCall","src":"334841:11:19"},"variableNames":[{"name":"m5","nativeSrc":"334835:2:19","nodeType":"YulIdentifier","src":"334835:2:19"}]},{"nativeSrc":"334865:17:19","nodeType":"YulAssignment","src":"334865:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"334877:4:19","nodeType":"YulLiteral","src":"334877:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"334871:5:19","nodeType":"YulIdentifier","src":"334871:5:19"},"nativeSrc":"334871:11:19","nodeType":"YulFunctionCall","src":"334871:11:19"},"variableNames":[{"name":"m6","nativeSrc":"334865:2:19","nodeType":"YulIdentifier","src":"334865:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"334962:4:19","nodeType":"YulLiteral","src":"334962:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"334968:10:19","nodeType":"YulLiteral","src":"334968:10:19","type":"","value":"0x79884c2b"}],"functionName":{"name":"mstore","nativeSrc":"334955:6:19","nodeType":"YulIdentifier","src":"334955:6:19"},"nativeSrc":"334955:24:19","nodeType":"YulFunctionCall","src":"334955:24:19"},"nativeSrc":"334955:24:19","nodeType":"YulExpressionStatement","src":"334955:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"334999:4:19","nodeType":"YulLiteral","src":"334999:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"335005:4:19","nodeType":"YulLiteral","src":"335005:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"334992:6:19","nodeType":"YulIdentifier","src":"334992:6:19"},"nativeSrc":"334992:18:19","nodeType":"YulFunctionCall","src":"334992:18:19"},"nativeSrc":"334992:18:19","nodeType":"YulExpressionStatement","src":"334992:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335030:4:19","nodeType":"YulLiteral","src":"335030:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"335036:2:19","nodeType":"YulIdentifier","src":"335036:2:19"}],"functionName":{"name":"mstore","nativeSrc":"335023:6:19","nodeType":"YulIdentifier","src":"335023:6:19"},"nativeSrc":"335023:16:19","nodeType":"YulFunctionCall","src":"335023:16:19"},"nativeSrc":"335023:16:19","nodeType":"YulExpressionStatement","src":"335023:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335059:4:19","nodeType":"YulLiteral","src":"335059:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"335065:2:19","nodeType":"YulIdentifier","src":"335065:2:19"}],"functionName":{"name":"mstore","nativeSrc":"335052:6:19","nodeType":"YulIdentifier","src":"335052:6:19"},"nativeSrc":"335052:16:19","nodeType":"YulFunctionCall","src":"335052:16:19"},"nativeSrc":"335052:16:19","nodeType":"YulExpressionStatement","src":"335052:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335088:4:19","nodeType":"YulLiteral","src":"335088:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"335094:2:19","nodeType":"YulIdentifier","src":"335094:2:19"}],"functionName":{"name":"mstore","nativeSrc":"335081:6:19","nodeType":"YulIdentifier","src":"335081:6:19"},"nativeSrc":"335081:16:19","nodeType":"YulFunctionCall","src":"335081:16:19"},"nativeSrc":"335081:16:19","nodeType":"YulExpressionStatement","src":"335081:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335122:4:19","nodeType":"YulLiteral","src":"335122:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"335128:2:19","nodeType":"YulIdentifier","src":"335128:2:19"}],"functionName":{"name":"writeString","nativeSrc":"335110:11:19","nodeType":"YulIdentifier","src":"335110:11:19"},"nativeSrc":"335110:21:19","nodeType":"YulFunctionCall","src":"335110:21:19"},"nativeSrc":"335110:21:19","nodeType":"YulExpressionStatement","src":"335110:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36728,"isOffset":false,"isSlot":false,"src":"334685:2:19","valueSize":1},{"declaration":36731,"isOffset":false,"isSlot":false,"src":"334715:2:19","valueSize":1},{"declaration":36734,"isOffset":false,"isSlot":false,"src":"334745:2:19","valueSize":1},{"declaration":36737,"isOffset":false,"isSlot":false,"src":"334775:2:19","valueSize":1},{"declaration":36740,"isOffset":false,"isSlot":false,"src":"334805:2:19","valueSize":1},{"declaration":36743,"isOffset":false,"isSlot":false,"src":"334835:2:19","valueSize":1},{"declaration":36746,"isOffset":false,"isSlot":false,"src":"334865:2:19","valueSize":1},{"declaration":36718,"isOffset":false,"isSlot":false,"src":"335128:2:19","valueSize":1},{"declaration":36720,"isOffset":false,"isSlot":false,"src":"335036:2:19","valueSize":1},{"declaration":36722,"isOffset":false,"isSlot":false,"src":"335065:2:19","valueSize":1},{"declaration":36724,"isOffset":false,"isSlot":false,"src":"335094:2:19","valueSize":1}],"id":36748,"nodeType":"InlineAssembly","src":"334307:834:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":36750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"335166:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"335172:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36749,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"335150:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"335150:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36753,"nodeType":"ExpressionStatement","src":"335150:27:19"},{"AST":{"nativeSrc":"335239:214:19","nodeType":"YulBlock","src":"335239:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"335260:4:19","nodeType":"YulLiteral","src":"335260:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"335266:2:19","nodeType":"YulIdentifier","src":"335266:2:19"}],"functionName":{"name":"mstore","nativeSrc":"335253:6:19","nodeType":"YulIdentifier","src":"335253:6:19"},"nativeSrc":"335253:16:19","nodeType":"YulFunctionCall","src":"335253:16:19"},"nativeSrc":"335253:16:19","nodeType":"YulExpressionStatement","src":"335253:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335289:4:19","nodeType":"YulLiteral","src":"335289:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"335295:2:19","nodeType":"YulIdentifier","src":"335295:2:19"}],"functionName":{"name":"mstore","nativeSrc":"335282:6:19","nodeType":"YulIdentifier","src":"335282:6:19"},"nativeSrc":"335282:16:19","nodeType":"YulFunctionCall","src":"335282:16:19"},"nativeSrc":"335282:16:19","nodeType":"YulExpressionStatement","src":"335282:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335318:4:19","nodeType":"YulLiteral","src":"335318:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"335324:2:19","nodeType":"YulIdentifier","src":"335324:2:19"}],"functionName":{"name":"mstore","nativeSrc":"335311:6:19","nodeType":"YulIdentifier","src":"335311:6:19"},"nativeSrc":"335311:16:19","nodeType":"YulFunctionCall","src":"335311:16:19"},"nativeSrc":"335311:16:19","nodeType":"YulExpressionStatement","src":"335311:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335347:4:19","nodeType":"YulLiteral","src":"335347:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"335353:2:19","nodeType":"YulIdentifier","src":"335353:2:19"}],"functionName":{"name":"mstore","nativeSrc":"335340:6:19","nodeType":"YulIdentifier","src":"335340:6:19"},"nativeSrc":"335340:16:19","nodeType":"YulFunctionCall","src":"335340:16:19"},"nativeSrc":"335340:16:19","nodeType":"YulExpressionStatement","src":"335340:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335376:4:19","nodeType":"YulLiteral","src":"335376:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"335382:2:19","nodeType":"YulIdentifier","src":"335382:2:19"}],"functionName":{"name":"mstore","nativeSrc":"335369:6:19","nodeType":"YulIdentifier","src":"335369:6:19"},"nativeSrc":"335369:16:19","nodeType":"YulFunctionCall","src":"335369:16:19"},"nativeSrc":"335369:16:19","nodeType":"YulExpressionStatement","src":"335369:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335405:4:19","nodeType":"YulLiteral","src":"335405:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"335411:2:19","nodeType":"YulIdentifier","src":"335411:2:19"}],"functionName":{"name":"mstore","nativeSrc":"335398:6:19","nodeType":"YulIdentifier","src":"335398:6:19"},"nativeSrc":"335398:16:19","nodeType":"YulFunctionCall","src":"335398:16:19"},"nativeSrc":"335398:16:19","nodeType":"YulExpressionStatement","src":"335398:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"335434:4:19","nodeType":"YulLiteral","src":"335434:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"335440:2:19","nodeType":"YulIdentifier","src":"335440:2:19"}],"functionName":{"name":"mstore","nativeSrc":"335427:6:19","nodeType":"YulIdentifier","src":"335427:6:19"},"nativeSrc":"335427:16:19","nodeType":"YulFunctionCall","src":"335427:16:19"},"nativeSrc":"335427:16:19","nodeType":"YulExpressionStatement","src":"335427:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36728,"isOffset":false,"isSlot":false,"src":"335266:2:19","valueSize":1},{"declaration":36731,"isOffset":false,"isSlot":false,"src":"335295:2:19","valueSize":1},{"declaration":36734,"isOffset":false,"isSlot":false,"src":"335324:2:19","valueSize":1},{"declaration":36737,"isOffset":false,"isSlot":false,"src":"335353:2:19","valueSize":1},{"declaration":36740,"isOffset":false,"isSlot":false,"src":"335382:2:19","valueSize":1},{"declaration":36743,"isOffset":false,"isSlot":false,"src":"335411:2:19","valueSize":1},{"declaration":36746,"isOffset":false,"isSlot":false,"src":"335440:2:19","valueSize":1}],"id":36754,"nodeType":"InlineAssembly","src":"335230:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"334054:3:19","parameters":{"id":36725,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36718,"mutability":"mutable","name":"p0","nameLocation":"334066:2:19","nodeType":"VariableDeclaration","scope":36756,"src":"334058:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36717,"name":"bytes32","nodeType":"ElementaryTypeName","src":"334058:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36720,"mutability":"mutable","name":"p1","nameLocation":"334078:2:19","nodeType":"VariableDeclaration","scope":36756,"src":"334070:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36719,"name":"address","nodeType":"ElementaryTypeName","src":"334070:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36722,"mutability":"mutable","name":"p2","nameLocation":"334087:2:19","nodeType":"VariableDeclaration","scope":36756,"src":"334082:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36721,"name":"bool","nodeType":"ElementaryTypeName","src":"334082:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36724,"mutability":"mutable","name":"p3","nameLocation":"334096:2:19","nodeType":"VariableDeclaration","scope":36756,"src":"334091:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36723,"name":"bool","nodeType":"ElementaryTypeName","src":"334091:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"334057:42:19"},"returnParameters":{"id":36726,"nodeType":"ParameterList","parameters":[],"src":"334114:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36796,"nodeType":"FunctionDefinition","src":"335465:1420:19","nodes":[],"body":{"id":36795,"nodeType":"Block","src":"335537:1348:19","nodes":[],"statements":[{"assignments":[36768],"declarations":[{"constant":false,"id":36768,"mutability":"mutable","name":"m0","nameLocation":"335555:2:19","nodeType":"VariableDeclaration","scope":36795,"src":"335547:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36767,"name":"bytes32","nodeType":"ElementaryTypeName","src":"335547:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36769,"nodeType":"VariableDeclarationStatement","src":"335547:10:19"},{"assignments":[36771],"declarations":[{"constant":false,"id":36771,"mutability":"mutable","name":"m1","nameLocation":"335575:2:19","nodeType":"VariableDeclaration","scope":36795,"src":"335567:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36770,"name":"bytes32","nodeType":"ElementaryTypeName","src":"335567:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36772,"nodeType":"VariableDeclarationStatement","src":"335567:10:19"},{"assignments":[36774],"declarations":[{"constant":false,"id":36774,"mutability":"mutable","name":"m2","nameLocation":"335595:2:19","nodeType":"VariableDeclaration","scope":36795,"src":"335587:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36773,"name":"bytes32","nodeType":"ElementaryTypeName","src":"335587:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36775,"nodeType":"VariableDeclarationStatement","src":"335587:10:19"},{"assignments":[36777],"declarations":[{"constant":false,"id":36777,"mutability":"mutable","name":"m3","nameLocation":"335615:2:19","nodeType":"VariableDeclaration","scope":36795,"src":"335607:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36776,"name":"bytes32","nodeType":"ElementaryTypeName","src":"335607:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36778,"nodeType":"VariableDeclarationStatement","src":"335607:10:19"},{"assignments":[36780],"declarations":[{"constant":false,"id":36780,"mutability":"mutable","name":"m4","nameLocation":"335635:2:19","nodeType":"VariableDeclaration","scope":36795,"src":"335627:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36779,"name":"bytes32","nodeType":"ElementaryTypeName","src":"335627:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36781,"nodeType":"VariableDeclarationStatement","src":"335627:10:19"},{"assignments":[36783],"declarations":[{"constant":false,"id":36783,"mutability":"mutable","name":"m5","nameLocation":"335655:2:19","nodeType":"VariableDeclaration","scope":36795,"src":"335647:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36782,"name":"bytes32","nodeType":"ElementaryTypeName","src":"335647:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36784,"nodeType":"VariableDeclarationStatement","src":"335647:10:19"},{"assignments":[36786],"declarations":[{"constant":false,"id":36786,"mutability":"mutable","name":"m6","nameLocation":"335675:2:19","nodeType":"VariableDeclaration","scope":36795,"src":"335667:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36785,"name":"bytes32","nodeType":"ElementaryTypeName","src":"335667:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36787,"nodeType":"VariableDeclarationStatement","src":"335667:10:19"},{"AST":{"nativeSrc":"335739:828:19","nodeType":"YulBlock","src":"335739:828:19","statements":[{"body":{"nativeSrc":"335782:313:19","nodeType":"YulBlock","src":"335782:313:19","statements":[{"nativeSrc":"335800:15:19","nodeType":"YulVariableDeclaration","src":"335800:15:19","value":{"kind":"number","nativeSrc":"335814:1:19","nodeType":"YulLiteral","src":"335814:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"335804:6:19","nodeType":"YulTypedName","src":"335804:6:19","type":""}]},{"body":{"nativeSrc":"335885:40:19","nodeType":"YulBlock","src":"335885:40:19","statements":[{"body":{"nativeSrc":"335914:9:19","nodeType":"YulBlock","src":"335914:9:19","statements":[{"nativeSrc":"335916:5:19","nodeType":"YulBreak","src":"335916:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"335902:6:19","nodeType":"YulIdentifier","src":"335902:6:19"},{"name":"w","nativeSrc":"335910:1:19","nodeType":"YulIdentifier","src":"335910:1:19"}],"functionName":{"name":"byte","nativeSrc":"335897:4:19","nodeType":"YulIdentifier","src":"335897:4:19"},"nativeSrc":"335897:15:19","nodeType":"YulFunctionCall","src":"335897:15:19"}],"functionName":{"name":"iszero","nativeSrc":"335890:6:19","nodeType":"YulIdentifier","src":"335890:6:19"},"nativeSrc":"335890:23:19","nodeType":"YulFunctionCall","src":"335890:23:19"},"nativeSrc":"335887:36:19","nodeType":"YulIf","src":"335887:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"335842:6:19","nodeType":"YulIdentifier","src":"335842:6:19"},{"kind":"number","nativeSrc":"335850:4:19","nodeType":"YulLiteral","src":"335850:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"335839:2:19","nodeType":"YulIdentifier","src":"335839:2:19"},"nativeSrc":"335839:16:19","nodeType":"YulFunctionCall","src":"335839:16:19"},"nativeSrc":"335832:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"335856:28:19","nodeType":"YulBlock","src":"335856:28:19","statements":[{"nativeSrc":"335858:24:19","nodeType":"YulAssignment","src":"335858:24:19","value":{"arguments":[{"name":"length","nativeSrc":"335872:6:19","nodeType":"YulIdentifier","src":"335872:6:19"},{"kind":"number","nativeSrc":"335880:1:19","nodeType":"YulLiteral","src":"335880:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"335868:3:19","nodeType":"YulIdentifier","src":"335868:3:19"},"nativeSrc":"335868:14:19","nodeType":"YulFunctionCall","src":"335868:14:19"},"variableNames":[{"name":"length","nativeSrc":"335858:6:19","nodeType":"YulIdentifier","src":"335858:6:19"}]}]},"pre":{"nativeSrc":"335836:2:19","nodeType":"YulBlock","src":"335836:2:19","statements":[]},"src":"335832:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"335949:3:19","nodeType":"YulIdentifier","src":"335949:3:19"},{"name":"length","nativeSrc":"335954:6:19","nodeType":"YulIdentifier","src":"335954:6:19"}],"functionName":{"name":"mstore","nativeSrc":"335942:6:19","nodeType":"YulIdentifier","src":"335942:6:19"},"nativeSrc":"335942:19:19","nodeType":"YulFunctionCall","src":"335942:19:19"},"nativeSrc":"335942:19:19","nodeType":"YulExpressionStatement","src":"335942:19:19"},{"nativeSrc":"335978:37:19","nodeType":"YulVariableDeclaration","src":"335978:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"335995:3:19","nodeType":"YulLiteral","src":"335995:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"336004:1:19","nodeType":"YulLiteral","src":"336004:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"336007:6:19","nodeType":"YulIdentifier","src":"336007:6:19"}],"functionName":{"name":"shl","nativeSrc":"336000:3:19","nodeType":"YulIdentifier","src":"336000:3:19"},"nativeSrc":"336000:14:19","nodeType":"YulFunctionCall","src":"336000:14:19"}],"functionName":{"name":"sub","nativeSrc":"335991:3:19","nodeType":"YulIdentifier","src":"335991:3:19"},"nativeSrc":"335991:24:19","nodeType":"YulFunctionCall","src":"335991:24:19"},"variables":[{"name":"shift","nativeSrc":"335982:5:19","nodeType":"YulTypedName","src":"335982:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"336043:3:19","nodeType":"YulIdentifier","src":"336043:3:19"},{"kind":"number","nativeSrc":"336048:4:19","nodeType":"YulLiteral","src":"336048:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"336039:3:19","nodeType":"YulIdentifier","src":"336039:3:19"},"nativeSrc":"336039:14:19","nodeType":"YulFunctionCall","src":"336039:14:19"},{"arguments":[{"name":"shift","nativeSrc":"336059:5:19","nodeType":"YulIdentifier","src":"336059:5:19"},{"arguments":[{"name":"shift","nativeSrc":"336070:5:19","nodeType":"YulIdentifier","src":"336070:5:19"},{"name":"w","nativeSrc":"336077:1:19","nodeType":"YulIdentifier","src":"336077:1:19"}],"functionName":{"name":"shr","nativeSrc":"336066:3:19","nodeType":"YulIdentifier","src":"336066:3:19"},"nativeSrc":"336066:13:19","nodeType":"YulFunctionCall","src":"336066:13:19"}],"functionName":{"name":"shl","nativeSrc":"336055:3:19","nodeType":"YulIdentifier","src":"336055:3:19"},"nativeSrc":"336055:25:19","nodeType":"YulFunctionCall","src":"336055:25:19"}],"functionName":{"name":"mstore","nativeSrc":"336032:6:19","nodeType":"YulIdentifier","src":"336032:6:19"},"nativeSrc":"336032:49:19","nodeType":"YulFunctionCall","src":"336032:49:19"},"nativeSrc":"336032:49:19","nodeType":"YulExpressionStatement","src":"336032:49:19"}]},"name":"writeString","nativeSrc":"335753:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"335774:3:19","nodeType":"YulTypedName","src":"335774:3:19","type":""},{"name":"w","nativeSrc":"335779:1:19","nodeType":"YulTypedName","src":"335779:1:19","type":""}],"src":"335753:342:19"},{"nativeSrc":"336108:17:19","nodeType":"YulAssignment","src":"336108:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"336120:4:19","nodeType":"YulLiteral","src":"336120:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"336114:5:19","nodeType":"YulIdentifier","src":"336114:5:19"},"nativeSrc":"336114:11:19","nodeType":"YulFunctionCall","src":"336114:11:19"},"variableNames":[{"name":"m0","nativeSrc":"336108:2:19","nodeType":"YulIdentifier","src":"336108:2:19"}]},{"nativeSrc":"336138:17:19","nodeType":"YulAssignment","src":"336138:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"336150:4:19","nodeType":"YulLiteral","src":"336150:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"336144:5:19","nodeType":"YulIdentifier","src":"336144:5:19"},"nativeSrc":"336144:11:19","nodeType":"YulFunctionCall","src":"336144:11:19"},"variableNames":[{"name":"m1","nativeSrc":"336138:2:19","nodeType":"YulIdentifier","src":"336138:2:19"}]},{"nativeSrc":"336168:17:19","nodeType":"YulAssignment","src":"336168:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"336180:4:19","nodeType":"YulLiteral","src":"336180:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"336174:5:19","nodeType":"YulIdentifier","src":"336174:5:19"},"nativeSrc":"336174:11:19","nodeType":"YulFunctionCall","src":"336174:11:19"},"variableNames":[{"name":"m2","nativeSrc":"336168:2:19","nodeType":"YulIdentifier","src":"336168:2:19"}]},{"nativeSrc":"336198:17:19","nodeType":"YulAssignment","src":"336198:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"336210:4:19","nodeType":"YulLiteral","src":"336210:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"336204:5:19","nodeType":"YulIdentifier","src":"336204:5:19"},"nativeSrc":"336204:11:19","nodeType":"YulFunctionCall","src":"336204:11:19"},"variableNames":[{"name":"m3","nativeSrc":"336198:2:19","nodeType":"YulIdentifier","src":"336198:2:19"}]},{"nativeSrc":"336228:17:19","nodeType":"YulAssignment","src":"336228:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"336240:4:19","nodeType":"YulLiteral","src":"336240:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"336234:5:19","nodeType":"YulIdentifier","src":"336234:5:19"},"nativeSrc":"336234:11:19","nodeType":"YulFunctionCall","src":"336234:11:19"},"variableNames":[{"name":"m4","nativeSrc":"336228:2:19","nodeType":"YulIdentifier","src":"336228:2:19"}]},{"nativeSrc":"336258:17:19","nodeType":"YulAssignment","src":"336258:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"336270:4:19","nodeType":"YulLiteral","src":"336270:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"336264:5:19","nodeType":"YulIdentifier","src":"336264:5:19"},"nativeSrc":"336264:11:19","nodeType":"YulFunctionCall","src":"336264:11:19"},"variableNames":[{"name":"m5","nativeSrc":"336258:2:19","nodeType":"YulIdentifier","src":"336258:2:19"}]},{"nativeSrc":"336288:17:19","nodeType":"YulAssignment","src":"336288:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"336300:4:19","nodeType":"YulLiteral","src":"336300:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"336294:5:19","nodeType":"YulIdentifier","src":"336294:5:19"},"nativeSrc":"336294:11:19","nodeType":"YulFunctionCall","src":"336294:11:19"},"variableNames":[{"name":"m6","nativeSrc":"336288:2:19","nodeType":"YulIdentifier","src":"336288:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336388:4:19","nodeType":"YulLiteral","src":"336388:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"336394:10:19","nodeType":"YulLiteral","src":"336394:10:19","type":"","value":"0x3e9f866a"}],"functionName":{"name":"mstore","nativeSrc":"336381:6:19","nodeType":"YulIdentifier","src":"336381:6:19"},"nativeSrc":"336381:24:19","nodeType":"YulFunctionCall","src":"336381:24:19"},"nativeSrc":"336381:24:19","nodeType":"YulExpressionStatement","src":"336381:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336425:4:19","nodeType":"YulLiteral","src":"336425:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"336431:4:19","nodeType":"YulLiteral","src":"336431:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"336418:6:19","nodeType":"YulIdentifier","src":"336418:6:19"},"nativeSrc":"336418:18:19","nodeType":"YulFunctionCall","src":"336418:18:19"},"nativeSrc":"336418:18:19","nodeType":"YulExpressionStatement","src":"336418:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336456:4:19","nodeType":"YulLiteral","src":"336456:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"336462:2:19","nodeType":"YulIdentifier","src":"336462:2:19"}],"functionName":{"name":"mstore","nativeSrc":"336449:6:19","nodeType":"YulIdentifier","src":"336449:6:19"},"nativeSrc":"336449:16:19","nodeType":"YulFunctionCall","src":"336449:16:19"},"nativeSrc":"336449:16:19","nodeType":"YulExpressionStatement","src":"336449:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336485:4:19","nodeType":"YulLiteral","src":"336485:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"336491:2:19","nodeType":"YulIdentifier","src":"336491:2:19"}],"functionName":{"name":"mstore","nativeSrc":"336478:6:19","nodeType":"YulIdentifier","src":"336478:6:19"},"nativeSrc":"336478:16:19","nodeType":"YulFunctionCall","src":"336478:16:19"},"nativeSrc":"336478:16:19","nodeType":"YulExpressionStatement","src":"336478:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336514:4:19","nodeType":"YulLiteral","src":"336514:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"336520:2:19","nodeType":"YulIdentifier","src":"336520:2:19"}],"functionName":{"name":"mstore","nativeSrc":"336507:6:19","nodeType":"YulIdentifier","src":"336507:6:19"},"nativeSrc":"336507:16:19","nodeType":"YulFunctionCall","src":"336507:16:19"},"nativeSrc":"336507:16:19","nodeType":"YulExpressionStatement","src":"336507:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336548:4:19","nodeType":"YulLiteral","src":"336548:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"336554:2:19","nodeType":"YulIdentifier","src":"336554:2:19"}],"functionName":{"name":"writeString","nativeSrc":"336536:11:19","nodeType":"YulIdentifier","src":"336536:11:19"},"nativeSrc":"336536:21:19","nodeType":"YulFunctionCall","src":"336536:21:19"},"nativeSrc":"336536:21:19","nodeType":"YulExpressionStatement","src":"336536:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36768,"isOffset":false,"isSlot":false,"src":"336108:2:19","valueSize":1},{"declaration":36771,"isOffset":false,"isSlot":false,"src":"336138:2:19","valueSize":1},{"declaration":36774,"isOffset":false,"isSlot":false,"src":"336168:2:19","valueSize":1},{"declaration":36777,"isOffset":false,"isSlot":false,"src":"336198:2:19","valueSize":1},{"declaration":36780,"isOffset":false,"isSlot":false,"src":"336228:2:19","valueSize":1},{"declaration":36783,"isOffset":false,"isSlot":false,"src":"336258:2:19","valueSize":1},{"declaration":36786,"isOffset":false,"isSlot":false,"src":"336288:2:19","valueSize":1},{"declaration":36758,"isOffset":false,"isSlot":false,"src":"336554:2:19","valueSize":1},{"declaration":36760,"isOffset":false,"isSlot":false,"src":"336462:2:19","valueSize":1},{"declaration":36762,"isOffset":false,"isSlot":false,"src":"336491:2:19","valueSize":1},{"declaration":36764,"isOffset":false,"isSlot":false,"src":"336520:2:19","valueSize":1}],"id":36788,"nodeType":"InlineAssembly","src":"335730:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":36790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"336592:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"336598:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36789,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"336576:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"336576:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36793,"nodeType":"ExpressionStatement","src":"336576:27:19"},{"AST":{"nativeSrc":"336665:214:19","nodeType":"YulBlock","src":"336665:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"336686:4:19","nodeType":"YulLiteral","src":"336686:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"336692:2:19","nodeType":"YulIdentifier","src":"336692:2:19"}],"functionName":{"name":"mstore","nativeSrc":"336679:6:19","nodeType":"YulIdentifier","src":"336679:6:19"},"nativeSrc":"336679:16:19","nodeType":"YulFunctionCall","src":"336679:16:19"},"nativeSrc":"336679:16:19","nodeType":"YulExpressionStatement","src":"336679:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336715:4:19","nodeType":"YulLiteral","src":"336715:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"336721:2:19","nodeType":"YulIdentifier","src":"336721:2:19"}],"functionName":{"name":"mstore","nativeSrc":"336708:6:19","nodeType":"YulIdentifier","src":"336708:6:19"},"nativeSrc":"336708:16:19","nodeType":"YulFunctionCall","src":"336708:16:19"},"nativeSrc":"336708:16:19","nodeType":"YulExpressionStatement","src":"336708:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336744:4:19","nodeType":"YulLiteral","src":"336744:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"336750:2:19","nodeType":"YulIdentifier","src":"336750:2:19"}],"functionName":{"name":"mstore","nativeSrc":"336737:6:19","nodeType":"YulIdentifier","src":"336737:6:19"},"nativeSrc":"336737:16:19","nodeType":"YulFunctionCall","src":"336737:16:19"},"nativeSrc":"336737:16:19","nodeType":"YulExpressionStatement","src":"336737:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336773:4:19","nodeType":"YulLiteral","src":"336773:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"336779:2:19","nodeType":"YulIdentifier","src":"336779:2:19"}],"functionName":{"name":"mstore","nativeSrc":"336766:6:19","nodeType":"YulIdentifier","src":"336766:6:19"},"nativeSrc":"336766:16:19","nodeType":"YulFunctionCall","src":"336766:16:19"},"nativeSrc":"336766:16:19","nodeType":"YulExpressionStatement","src":"336766:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336802:4:19","nodeType":"YulLiteral","src":"336802:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"336808:2:19","nodeType":"YulIdentifier","src":"336808:2:19"}],"functionName":{"name":"mstore","nativeSrc":"336795:6:19","nodeType":"YulIdentifier","src":"336795:6:19"},"nativeSrc":"336795:16:19","nodeType":"YulFunctionCall","src":"336795:16:19"},"nativeSrc":"336795:16:19","nodeType":"YulExpressionStatement","src":"336795:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336831:4:19","nodeType":"YulLiteral","src":"336831:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"336837:2:19","nodeType":"YulIdentifier","src":"336837:2:19"}],"functionName":{"name":"mstore","nativeSrc":"336824:6:19","nodeType":"YulIdentifier","src":"336824:6:19"},"nativeSrc":"336824:16:19","nodeType":"YulFunctionCall","src":"336824:16:19"},"nativeSrc":"336824:16:19","nodeType":"YulExpressionStatement","src":"336824:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"336860:4:19","nodeType":"YulLiteral","src":"336860:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"336866:2:19","nodeType":"YulIdentifier","src":"336866:2:19"}],"functionName":{"name":"mstore","nativeSrc":"336853:6:19","nodeType":"YulIdentifier","src":"336853:6:19"},"nativeSrc":"336853:16:19","nodeType":"YulFunctionCall","src":"336853:16:19"},"nativeSrc":"336853:16:19","nodeType":"YulExpressionStatement","src":"336853:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36768,"isOffset":false,"isSlot":false,"src":"336692:2:19","valueSize":1},{"declaration":36771,"isOffset":false,"isSlot":false,"src":"336721:2:19","valueSize":1},{"declaration":36774,"isOffset":false,"isSlot":false,"src":"336750:2:19","valueSize":1},{"declaration":36777,"isOffset":false,"isSlot":false,"src":"336779:2:19","valueSize":1},{"declaration":36780,"isOffset":false,"isSlot":false,"src":"336808:2:19","valueSize":1},{"declaration":36783,"isOffset":false,"isSlot":false,"src":"336837:2:19","valueSize":1},{"declaration":36786,"isOffset":false,"isSlot":false,"src":"336866:2:19","valueSize":1}],"id":36794,"nodeType":"InlineAssembly","src":"336656:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"335474:3:19","parameters":{"id":36765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36758,"mutability":"mutable","name":"p0","nameLocation":"335486:2:19","nodeType":"VariableDeclaration","scope":36796,"src":"335478:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36757,"name":"bytes32","nodeType":"ElementaryTypeName","src":"335478:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36760,"mutability":"mutable","name":"p1","nameLocation":"335498:2:19","nodeType":"VariableDeclaration","scope":36796,"src":"335490:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36759,"name":"address","nodeType":"ElementaryTypeName","src":"335490:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36762,"mutability":"mutable","name":"p2","nameLocation":"335507:2:19","nodeType":"VariableDeclaration","scope":36796,"src":"335502:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36761,"name":"bool","nodeType":"ElementaryTypeName","src":"335502:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36764,"mutability":"mutable","name":"p3","nameLocation":"335519:2:19","nodeType":"VariableDeclaration","scope":36796,"src":"335511:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36763,"name":"uint256","nodeType":"ElementaryTypeName","src":"335511:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"335477:45:19"},"returnParameters":{"id":36766,"nodeType":"ParameterList","parameters":[],"src":"335537:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36842,"nodeType":"FunctionDefinition","src":"336891:1616:19","nodes":[],"body":{"id":36841,"nodeType":"Block","src":"336963:1544:19","nodes":[],"statements":[{"assignments":[36808],"declarations":[{"constant":false,"id":36808,"mutability":"mutable","name":"m0","nameLocation":"336981:2:19","nodeType":"VariableDeclaration","scope":36841,"src":"336973:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36807,"name":"bytes32","nodeType":"ElementaryTypeName","src":"336973:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36809,"nodeType":"VariableDeclarationStatement","src":"336973:10:19"},{"assignments":[36811],"declarations":[{"constant":false,"id":36811,"mutability":"mutable","name":"m1","nameLocation":"337001:2:19","nodeType":"VariableDeclaration","scope":36841,"src":"336993:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36810,"name":"bytes32","nodeType":"ElementaryTypeName","src":"336993:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36812,"nodeType":"VariableDeclarationStatement","src":"336993:10:19"},{"assignments":[36814],"declarations":[{"constant":false,"id":36814,"mutability":"mutable","name":"m2","nameLocation":"337021:2:19","nodeType":"VariableDeclaration","scope":36841,"src":"337013:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36813,"name":"bytes32","nodeType":"ElementaryTypeName","src":"337013:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36815,"nodeType":"VariableDeclarationStatement","src":"337013:10:19"},{"assignments":[36817],"declarations":[{"constant":false,"id":36817,"mutability":"mutable","name":"m3","nameLocation":"337041:2:19","nodeType":"VariableDeclaration","scope":36841,"src":"337033:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36816,"name":"bytes32","nodeType":"ElementaryTypeName","src":"337033:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36818,"nodeType":"VariableDeclarationStatement","src":"337033:10:19"},{"assignments":[36820],"declarations":[{"constant":false,"id":36820,"mutability":"mutable","name":"m4","nameLocation":"337061:2:19","nodeType":"VariableDeclaration","scope":36841,"src":"337053:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36819,"name":"bytes32","nodeType":"ElementaryTypeName","src":"337053:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36821,"nodeType":"VariableDeclarationStatement","src":"337053:10:19"},{"assignments":[36823],"declarations":[{"constant":false,"id":36823,"mutability":"mutable","name":"m5","nameLocation":"337081:2:19","nodeType":"VariableDeclaration","scope":36841,"src":"337073:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36822,"name":"bytes32","nodeType":"ElementaryTypeName","src":"337073:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36824,"nodeType":"VariableDeclarationStatement","src":"337073:10:19"},{"assignments":[36826],"declarations":[{"constant":false,"id":36826,"mutability":"mutable","name":"m6","nameLocation":"337101:2:19","nodeType":"VariableDeclaration","scope":36841,"src":"337093:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36825,"name":"bytes32","nodeType":"ElementaryTypeName","src":"337093:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36827,"nodeType":"VariableDeclarationStatement","src":"337093:10:19"},{"assignments":[36829],"declarations":[{"constant":false,"id":36829,"mutability":"mutable","name":"m7","nameLocation":"337121:2:19","nodeType":"VariableDeclaration","scope":36841,"src":"337113:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36828,"name":"bytes32","nodeType":"ElementaryTypeName","src":"337113:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36830,"nodeType":"VariableDeclarationStatement","src":"337113:10:19"},{"assignments":[36832],"declarations":[{"constant":false,"id":36832,"mutability":"mutable","name":"m8","nameLocation":"337141:2:19","nodeType":"VariableDeclaration","scope":36841,"src":"337133:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36831,"name":"bytes32","nodeType":"ElementaryTypeName","src":"337133:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36833,"nodeType":"VariableDeclarationStatement","src":"337133:10:19"},{"AST":{"nativeSrc":"337205:924:19","nodeType":"YulBlock","src":"337205:924:19","statements":[{"body":{"nativeSrc":"337248:313:19","nodeType":"YulBlock","src":"337248:313:19","statements":[{"nativeSrc":"337266:15:19","nodeType":"YulVariableDeclaration","src":"337266:15:19","value":{"kind":"number","nativeSrc":"337280:1:19","nodeType":"YulLiteral","src":"337280:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"337270:6:19","nodeType":"YulTypedName","src":"337270:6:19","type":""}]},{"body":{"nativeSrc":"337351:40:19","nodeType":"YulBlock","src":"337351:40:19","statements":[{"body":{"nativeSrc":"337380:9:19","nodeType":"YulBlock","src":"337380:9:19","statements":[{"nativeSrc":"337382:5:19","nodeType":"YulBreak","src":"337382:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"337368:6:19","nodeType":"YulIdentifier","src":"337368:6:19"},{"name":"w","nativeSrc":"337376:1:19","nodeType":"YulIdentifier","src":"337376:1:19"}],"functionName":{"name":"byte","nativeSrc":"337363:4:19","nodeType":"YulIdentifier","src":"337363:4:19"},"nativeSrc":"337363:15:19","nodeType":"YulFunctionCall","src":"337363:15:19"}],"functionName":{"name":"iszero","nativeSrc":"337356:6:19","nodeType":"YulIdentifier","src":"337356:6:19"},"nativeSrc":"337356:23:19","nodeType":"YulFunctionCall","src":"337356:23:19"},"nativeSrc":"337353:36:19","nodeType":"YulIf","src":"337353:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"337308:6:19","nodeType":"YulIdentifier","src":"337308:6:19"},{"kind":"number","nativeSrc":"337316:4:19","nodeType":"YulLiteral","src":"337316:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"337305:2:19","nodeType":"YulIdentifier","src":"337305:2:19"},"nativeSrc":"337305:16:19","nodeType":"YulFunctionCall","src":"337305:16:19"},"nativeSrc":"337298:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"337322:28:19","nodeType":"YulBlock","src":"337322:28:19","statements":[{"nativeSrc":"337324:24:19","nodeType":"YulAssignment","src":"337324:24:19","value":{"arguments":[{"name":"length","nativeSrc":"337338:6:19","nodeType":"YulIdentifier","src":"337338:6:19"},{"kind":"number","nativeSrc":"337346:1:19","nodeType":"YulLiteral","src":"337346:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"337334:3:19","nodeType":"YulIdentifier","src":"337334:3:19"},"nativeSrc":"337334:14:19","nodeType":"YulFunctionCall","src":"337334:14:19"},"variableNames":[{"name":"length","nativeSrc":"337324:6:19","nodeType":"YulIdentifier","src":"337324:6:19"}]}]},"pre":{"nativeSrc":"337302:2:19","nodeType":"YulBlock","src":"337302:2:19","statements":[]},"src":"337298:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"337415:3:19","nodeType":"YulIdentifier","src":"337415:3:19"},{"name":"length","nativeSrc":"337420:6:19","nodeType":"YulIdentifier","src":"337420:6:19"}],"functionName":{"name":"mstore","nativeSrc":"337408:6:19","nodeType":"YulIdentifier","src":"337408:6:19"},"nativeSrc":"337408:19:19","nodeType":"YulFunctionCall","src":"337408:19:19"},"nativeSrc":"337408:19:19","nodeType":"YulExpressionStatement","src":"337408:19:19"},{"nativeSrc":"337444:37:19","nodeType":"YulVariableDeclaration","src":"337444:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"337461:3:19","nodeType":"YulLiteral","src":"337461:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"337470:1:19","nodeType":"YulLiteral","src":"337470:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"337473:6:19","nodeType":"YulIdentifier","src":"337473:6:19"}],"functionName":{"name":"shl","nativeSrc":"337466:3:19","nodeType":"YulIdentifier","src":"337466:3:19"},"nativeSrc":"337466:14:19","nodeType":"YulFunctionCall","src":"337466:14:19"}],"functionName":{"name":"sub","nativeSrc":"337457:3:19","nodeType":"YulIdentifier","src":"337457:3:19"},"nativeSrc":"337457:24:19","nodeType":"YulFunctionCall","src":"337457:24:19"},"variables":[{"name":"shift","nativeSrc":"337448:5:19","nodeType":"YulTypedName","src":"337448:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"337509:3:19","nodeType":"YulIdentifier","src":"337509:3:19"},{"kind":"number","nativeSrc":"337514:4:19","nodeType":"YulLiteral","src":"337514:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"337505:3:19","nodeType":"YulIdentifier","src":"337505:3:19"},"nativeSrc":"337505:14:19","nodeType":"YulFunctionCall","src":"337505:14:19"},{"arguments":[{"name":"shift","nativeSrc":"337525:5:19","nodeType":"YulIdentifier","src":"337525:5:19"},{"arguments":[{"name":"shift","nativeSrc":"337536:5:19","nodeType":"YulIdentifier","src":"337536:5:19"},{"name":"w","nativeSrc":"337543:1:19","nodeType":"YulIdentifier","src":"337543:1:19"}],"functionName":{"name":"shr","nativeSrc":"337532:3:19","nodeType":"YulIdentifier","src":"337532:3:19"},"nativeSrc":"337532:13:19","nodeType":"YulFunctionCall","src":"337532:13:19"}],"functionName":{"name":"shl","nativeSrc":"337521:3:19","nodeType":"YulIdentifier","src":"337521:3:19"},"nativeSrc":"337521:25:19","nodeType":"YulFunctionCall","src":"337521:25:19"}],"functionName":{"name":"mstore","nativeSrc":"337498:6:19","nodeType":"YulIdentifier","src":"337498:6:19"},"nativeSrc":"337498:49:19","nodeType":"YulFunctionCall","src":"337498:49:19"},"nativeSrc":"337498:49:19","nodeType":"YulExpressionStatement","src":"337498:49:19"}]},"name":"writeString","nativeSrc":"337219:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"337240:3:19","nodeType":"YulTypedName","src":"337240:3:19","type":""},{"name":"w","nativeSrc":"337245:1:19","nodeType":"YulTypedName","src":"337245:1:19","type":""}],"src":"337219:342:19"},{"nativeSrc":"337574:17:19","nodeType":"YulAssignment","src":"337574:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"337586:4:19","nodeType":"YulLiteral","src":"337586:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"337580:5:19","nodeType":"YulIdentifier","src":"337580:5:19"},"nativeSrc":"337580:11:19","nodeType":"YulFunctionCall","src":"337580:11:19"},"variableNames":[{"name":"m0","nativeSrc":"337574:2:19","nodeType":"YulIdentifier","src":"337574:2:19"}]},{"nativeSrc":"337604:17:19","nodeType":"YulAssignment","src":"337604:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"337616:4:19","nodeType":"YulLiteral","src":"337616:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"337610:5:19","nodeType":"YulIdentifier","src":"337610:5:19"},"nativeSrc":"337610:11:19","nodeType":"YulFunctionCall","src":"337610:11:19"},"variableNames":[{"name":"m1","nativeSrc":"337604:2:19","nodeType":"YulIdentifier","src":"337604:2:19"}]},{"nativeSrc":"337634:17:19","nodeType":"YulAssignment","src":"337634:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"337646:4:19","nodeType":"YulLiteral","src":"337646:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"337640:5:19","nodeType":"YulIdentifier","src":"337640:5:19"},"nativeSrc":"337640:11:19","nodeType":"YulFunctionCall","src":"337640:11:19"},"variableNames":[{"name":"m2","nativeSrc":"337634:2:19","nodeType":"YulIdentifier","src":"337634:2:19"}]},{"nativeSrc":"337664:17:19","nodeType":"YulAssignment","src":"337664:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"337676:4:19","nodeType":"YulLiteral","src":"337676:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"337670:5:19","nodeType":"YulIdentifier","src":"337670:5:19"},"nativeSrc":"337670:11:19","nodeType":"YulFunctionCall","src":"337670:11:19"},"variableNames":[{"name":"m3","nativeSrc":"337664:2:19","nodeType":"YulIdentifier","src":"337664:2:19"}]},{"nativeSrc":"337694:17:19","nodeType":"YulAssignment","src":"337694:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"337706:4:19","nodeType":"YulLiteral","src":"337706:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"337700:5:19","nodeType":"YulIdentifier","src":"337700:5:19"},"nativeSrc":"337700:11:19","nodeType":"YulFunctionCall","src":"337700:11:19"},"variableNames":[{"name":"m4","nativeSrc":"337694:2:19","nodeType":"YulIdentifier","src":"337694:2:19"}]},{"nativeSrc":"337724:17:19","nodeType":"YulAssignment","src":"337724:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"337736:4:19","nodeType":"YulLiteral","src":"337736:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"337730:5:19","nodeType":"YulIdentifier","src":"337730:5:19"},"nativeSrc":"337730:11:19","nodeType":"YulFunctionCall","src":"337730:11:19"},"variableNames":[{"name":"m5","nativeSrc":"337724:2:19","nodeType":"YulIdentifier","src":"337724:2:19"}]},{"nativeSrc":"337754:17:19","nodeType":"YulAssignment","src":"337754:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"337766:4:19","nodeType":"YulLiteral","src":"337766:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"337760:5:19","nodeType":"YulIdentifier","src":"337760:5:19"},"nativeSrc":"337760:11:19","nodeType":"YulFunctionCall","src":"337760:11:19"},"variableNames":[{"name":"m6","nativeSrc":"337754:2:19","nodeType":"YulIdentifier","src":"337754:2:19"}]},{"nativeSrc":"337784:17:19","nodeType":"YulAssignment","src":"337784:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"337796:4:19","nodeType":"YulLiteral","src":"337796:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"337790:5:19","nodeType":"YulIdentifier","src":"337790:5:19"},"nativeSrc":"337790:11:19","nodeType":"YulFunctionCall","src":"337790:11:19"},"variableNames":[{"name":"m7","nativeSrc":"337784:2:19","nodeType":"YulIdentifier","src":"337784:2:19"}]},{"nativeSrc":"337814:18:19","nodeType":"YulAssignment","src":"337814:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"337826:5:19","nodeType":"YulLiteral","src":"337826:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"337820:5:19","nodeType":"YulIdentifier","src":"337820:5:19"},"nativeSrc":"337820:12:19","nodeType":"YulFunctionCall","src":"337820:12:19"},"variableNames":[{"name":"m8","nativeSrc":"337814:2:19","nodeType":"YulIdentifier","src":"337814:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"337914:4:19","nodeType":"YulLiteral","src":"337914:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"337920:10:19","nodeType":"YulLiteral","src":"337920:10:19","type":"","value":"0x0454c079"}],"functionName":{"name":"mstore","nativeSrc":"337907:6:19","nodeType":"YulIdentifier","src":"337907:6:19"},"nativeSrc":"337907:24:19","nodeType":"YulFunctionCall","src":"337907:24:19"},"nativeSrc":"337907:24:19","nodeType":"YulExpressionStatement","src":"337907:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"337951:4:19","nodeType":"YulLiteral","src":"337951:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"337957:4:19","nodeType":"YulLiteral","src":"337957:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"337944:6:19","nodeType":"YulIdentifier","src":"337944:6:19"},"nativeSrc":"337944:18:19","nodeType":"YulFunctionCall","src":"337944:18:19"},"nativeSrc":"337944:18:19","nodeType":"YulExpressionStatement","src":"337944:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"337982:4:19","nodeType":"YulLiteral","src":"337982:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"337988:2:19","nodeType":"YulIdentifier","src":"337988:2:19"}],"functionName":{"name":"mstore","nativeSrc":"337975:6:19","nodeType":"YulIdentifier","src":"337975:6:19"},"nativeSrc":"337975:16:19","nodeType":"YulFunctionCall","src":"337975:16:19"},"nativeSrc":"337975:16:19","nodeType":"YulExpressionStatement","src":"337975:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338011:4:19","nodeType":"YulLiteral","src":"338011:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"338017:2:19","nodeType":"YulIdentifier","src":"338017:2:19"}],"functionName":{"name":"mstore","nativeSrc":"338004:6:19","nodeType":"YulIdentifier","src":"338004:6:19"},"nativeSrc":"338004:16:19","nodeType":"YulFunctionCall","src":"338004:16:19"},"nativeSrc":"338004:16:19","nodeType":"YulExpressionStatement","src":"338004:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338040:4:19","nodeType":"YulLiteral","src":"338040:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"338046:4:19","nodeType":"YulLiteral","src":"338046:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"338033:6:19","nodeType":"YulIdentifier","src":"338033:6:19"},"nativeSrc":"338033:18:19","nodeType":"YulFunctionCall","src":"338033:18:19"},"nativeSrc":"338033:18:19","nodeType":"YulExpressionStatement","src":"338033:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338076:4:19","nodeType":"YulLiteral","src":"338076:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"338082:2:19","nodeType":"YulIdentifier","src":"338082:2:19"}],"functionName":{"name":"writeString","nativeSrc":"338064:11:19","nodeType":"YulIdentifier","src":"338064:11:19"},"nativeSrc":"338064:21:19","nodeType":"YulFunctionCall","src":"338064:21:19"},"nativeSrc":"338064:21:19","nodeType":"YulExpressionStatement","src":"338064:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338110:4:19","nodeType":"YulLiteral","src":"338110:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"338116:2:19","nodeType":"YulIdentifier","src":"338116:2:19"}],"functionName":{"name":"writeString","nativeSrc":"338098:11:19","nodeType":"YulIdentifier","src":"338098:11:19"},"nativeSrc":"338098:21:19","nodeType":"YulFunctionCall","src":"338098:21:19"},"nativeSrc":"338098:21:19","nodeType":"YulExpressionStatement","src":"338098:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36808,"isOffset":false,"isSlot":false,"src":"337574:2:19","valueSize":1},{"declaration":36811,"isOffset":false,"isSlot":false,"src":"337604:2:19","valueSize":1},{"declaration":36814,"isOffset":false,"isSlot":false,"src":"337634:2:19","valueSize":1},{"declaration":36817,"isOffset":false,"isSlot":false,"src":"337664:2:19","valueSize":1},{"declaration":36820,"isOffset":false,"isSlot":false,"src":"337694:2:19","valueSize":1},{"declaration":36823,"isOffset":false,"isSlot":false,"src":"337724:2:19","valueSize":1},{"declaration":36826,"isOffset":false,"isSlot":false,"src":"337754:2:19","valueSize":1},{"declaration":36829,"isOffset":false,"isSlot":false,"src":"337784:2:19","valueSize":1},{"declaration":36832,"isOffset":false,"isSlot":false,"src":"337814:2:19","valueSize":1},{"declaration":36798,"isOffset":false,"isSlot":false,"src":"338082:2:19","valueSize":1},{"declaration":36800,"isOffset":false,"isSlot":false,"src":"337988:2:19","valueSize":1},{"declaration":36802,"isOffset":false,"isSlot":false,"src":"338017:2:19","valueSize":1},{"declaration":36804,"isOffset":false,"isSlot":false,"src":"338116:2:19","valueSize":1}],"id":36834,"nodeType":"InlineAssembly","src":"337196:933:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":36836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"338154:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":36837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"338160:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":36835,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"338138:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"338138:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36839,"nodeType":"ExpressionStatement","src":"338138:28:19"},{"AST":{"nativeSrc":"338228:273:19","nodeType":"YulBlock","src":"338228:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"338249:4:19","nodeType":"YulLiteral","src":"338249:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"338255:2:19","nodeType":"YulIdentifier","src":"338255:2:19"}],"functionName":{"name":"mstore","nativeSrc":"338242:6:19","nodeType":"YulIdentifier","src":"338242:6:19"},"nativeSrc":"338242:16:19","nodeType":"YulFunctionCall","src":"338242:16:19"},"nativeSrc":"338242:16:19","nodeType":"YulExpressionStatement","src":"338242:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338278:4:19","nodeType":"YulLiteral","src":"338278:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"338284:2:19","nodeType":"YulIdentifier","src":"338284:2:19"}],"functionName":{"name":"mstore","nativeSrc":"338271:6:19","nodeType":"YulIdentifier","src":"338271:6:19"},"nativeSrc":"338271:16:19","nodeType":"YulFunctionCall","src":"338271:16:19"},"nativeSrc":"338271:16:19","nodeType":"YulExpressionStatement","src":"338271:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338307:4:19","nodeType":"YulLiteral","src":"338307:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"338313:2:19","nodeType":"YulIdentifier","src":"338313:2:19"}],"functionName":{"name":"mstore","nativeSrc":"338300:6:19","nodeType":"YulIdentifier","src":"338300:6:19"},"nativeSrc":"338300:16:19","nodeType":"YulFunctionCall","src":"338300:16:19"},"nativeSrc":"338300:16:19","nodeType":"YulExpressionStatement","src":"338300:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338336:4:19","nodeType":"YulLiteral","src":"338336:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"338342:2:19","nodeType":"YulIdentifier","src":"338342:2:19"}],"functionName":{"name":"mstore","nativeSrc":"338329:6:19","nodeType":"YulIdentifier","src":"338329:6:19"},"nativeSrc":"338329:16:19","nodeType":"YulFunctionCall","src":"338329:16:19"},"nativeSrc":"338329:16:19","nodeType":"YulExpressionStatement","src":"338329:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338365:4:19","nodeType":"YulLiteral","src":"338365:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"338371:2:19","nodeType":"YulIdentifier","src":"338371:2:19"}],"functionName":{"name":"mstore","nativeSrc":"338358:6:19","nodeType":"YulIdentifier","src":"338358:6:19"},"nativeSrc":"338358:16:19","nodeType":"YulFunctionCall","src":"338358:16:19"},"nativeSrc":"338358:16:19","nodeType":"YulExpressionStatement","src":"338358:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338394:4:19","nodeType":"YulLiteral","src":"338394:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"338400:2:19","nodeType":"YulIdentifier","src":"338400:2:19"}],"functionName":{"name":"mstore","nativeSrc":"338387:6:19","nodeType":"YulIdentifier","src":"338387:6:19"},"nativeSrc":"338387:16:19","nodeType":"YulFunctionCall","src":"338387:16:19"},"nativeSrc":"338387:16:19","nodeType":"YulExpressionStatement","src":"338387:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338423:4:19","nodeType":"YulLiteral","src":"338423:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"338429:2:19","nodeType":"YulIdentifier","src":"338429:2:19"}],"functionName":{"name":"mstore","nativeSrc":"338416:6:19","nodeType":"YulIdentifier","src":"338416:6:19"},"nativeSrc":"338416:16:19","nodeType":"YulFunctionCall","src":"338416:16:19"},"nativeSrc":"338416:16:19","nodeType":"YulExpressionStatement","src":"338416:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338452:4:19","nodeType":"YulLiteral","src":"338452:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"338458:2:19","nodeType":"YulIdentifier","src":"338458:2:19"}],"functionName":{"name":"mstore","nativeSrc":"338445:6:19","nodeType":"YulIdentifier","src":"338445:6:19"},"nativeSrc":"338445:16:19","nodeType":"YulFunctionCall","src":"338445:16:19"},"nativeSrc":"338445:16:19","nodeType":"YulExpressionStatement","src":"338445:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"338481:5:19","nodeType":"YulLiteral","src":"338481:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"338488:2:19","nodeType":"YulIdentifier","src":"338488:2:19"}],"functionName":{"name":"mstore","nativeSrc":"338474:6:19","nodeType":"YulIdentifier","src":"338474:6:19"},"nativeSrc":"338474:17:19","nodeType":"YulFunctionCall","src":"338474:17:19"},"nativeSrc":"338474:17:19","nodeType":"YulExpressionStatement","src":"338474:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36808,"isOffset":false,"isSlot":false,"src":"338255:2:19","valueSize":1},{"declaration":36811,"isOffset":false,"isSlot":false,"src":"338284:2:19","valueSize":1},{"declaration":36814,"isOffset":false,"isSlot":false,"src":"338313:2:19","valueSize":1},{"declaration":36817,"isOffset":false,"isSlot":false,"src":"338342:2:19","valueSize":1},{"declaration":36820,"isOffset":false,"isSlot":false,"src":"338371:2:19","valueSize":1},{"declaration":36823,"isOffset":false,"isSlot":false,"src":"338400:2:19","valueSize":1},{"declaration":36826,"isOffset":false,"isSlot":false,"src":"338429:2:19","valueSize":1},{"declaration":36829,"isOffset":false,"isSlot":false,"src":"338458:2:19","valueSize":1},{"declaration":36832,"isOffset":false,"isSlot":false,"src":"338488:2:19","valueSize":1}],"id":36840,"nodeType":"InlineAssembly","src":"338219:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"336900:3:19","parameters":{"id":36805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36798,"mutability":"mutable","name":"p0","nameLocation":"336912:2:19","nodeType":"VariableDeclaration","scope":36842,"src":"336904:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36797,"name":"bytes32","nodeType":"ElementaryTypeName","src":"336904:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36800,"mutability":"mutable","name":"p1","nameLocation":"336924:2:19","nodeType":"VariableDeclaration","scope":36842,"src":"336916:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36799,"name":"address","nodeType":"ElementaryTypeName","src":"336916:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36802,"mutability":"mutable","name":"p2","nameLocation":"336933:2:19","nodeType":"VariableDeclaration","scope":36842,"src":"336928:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36801,"name":"bool","nodeType":"ElementaryTypeName","src":"336928:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":36804,"mutability":"mutable","name":"p3","nameLocation":"336945:2:19","nodeType":"VariableDeclaration","scope":36842,"src":"336937:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36803,"name":"bytes32","nodeType":"ElementaryTypeName","src":"336937:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"336903:45:19"},"returnParameters":{"id":36806,"nodeType":"ParameterList","parameters":[],"src":"336963:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36882,"nodeType":"FunctionDefinition","src":"338513:1426:19","nodes":[],"body":{"id":36881,"nodeType":"Block","src":"338588:1351:19","nodes":[],"statements":[{"assignments":[36854],"declarations":[{"constant":false,"id":36854,"mutability":"mutable","name":"m0","nameLocation":"338606:2:19","nodeType":"VariableDeclaration","scope":36881,"src":"338598:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36853,"name":"bytes32","nodeType":"ElementaryTypeName","src":"338598:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36855,"nodeType":"VariableDeclarationStatement","src":"338598:10:19"},{"assignments":[36857],"declarations":[{"constant":false,"id":36857,"mutability":"mutable","name":"m1","nameLocation":"338626:2:19","nodeType":"VariableDeclaration","scope":36881,"src":"338618:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36856,"name":"bytes32","nodeType":"ElementaryTypeName","src":"338618:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36858,"nodeType":"VariableDeclarationStatement","src":"338618:10:19"},{"assignments":[36860],"declarations":[{"constant":false,"id":36860,"mutability":"mutable","name":"m2","nameLocation":"338646:2:19","nodeType":"VariableDeclaration","scope":36881,"src":"338638:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36859,"name":"bytes32","nodeType":"ElementaryTypeName","src":"338638:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36861,"nodeType":"VariableDeclarationStatement","src":"338638:10:19"},{"assignments":[36863],"declarations":[{"constant":false,"id":36863,"mutability":"mutable","name":"m3","nameLocation":"338666:2:19","nodeType":"VariableDeclaration","scope":36881,"src":"338658:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36862,"name":"bytes32","nodeType":"ElementaryTypeName","src":"338658:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36864,"nodeType":"VariableDeclarationStatement","src":"338658:10:19"},{"assignments":[36866],"declarations":[{"constant":false,"id":36866,"mutability":"mutable","name":"m4","nameLocation":"338686:2:19","nodeType":"VariableDeclaration","scope":36881,"src":"338678:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36865,"name":"bytes32","nodeType":"ElementaryTypeName","src":"338678:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36867,"nodeType":"VariableDeclarationStatement","src":"338678:10:19"},{"assignments":[36869],"declarations":[{"constant":false,"id":36869,"mutability":"mutable","name":"m5","nameLocation":"338706:2:19","nodeType":"VariableDeclaration","scope":36881,"src":"338698:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36868,"name":"bytes32","nodeType":"ElementaryTypeName","src":"338698:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36870,"nodeType":"VariableDeclarationStatement","src":"338698:10:19"},{"assignments":[36872],"declarations":[{"constant":false,"id":36872,"mutability":"mutable","name":"m6","nameLocation":"338726:2:19","nodeType":"VariableDeclaration","scope":36881,"src":"338718:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36871,"name":"bytes32","nodeType":"ElementaryTypeName","src":"338718:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36873,"nodeType":"VariableDeclarationStatement","src":"338718:10:19"},{"AST":{"nativeSrc":"338790:831:19","nodeType":"YulBlock","src":"338790:831:19","statements":[{"body":{"nativeSrc":"338833:313:19","nodeType":"YulBlock","src":"338833:313:19","statements":[{"nativeSrc":"338851:15:19","nodeType":"YulVariableDeclaration","src":"338851:15:19","value":{"kind":"number","nativeSrc":"338865:1:19","nodeType":"YulLiteral","src":"338865:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"338855:6:19","nodeType":"YulTypedName","src":"338855:6:19","type":""}]},{"body":{"nativeSrc":"338936:40:19","nodeType":"YulBlock","src":"338936:40:19","statements":[{"body":{"nativeSrc":"338965:9:19","nodeType":"YulBlock","src":"338965:9:19","statements":[{"nativeSrc":"338967:5:19","nodeType":"YulBreak","src":"338967:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"338953:6:19","nodeType":"YulIdentifier","src":"338953:6:19"},{"name":"w","nativeSrc":"338961:1:19","nodeType":"YulIdentifier","src":"338961:1:19"}],"functionName":{"name":"byte","nativeSrc":"338948:4:19","nodeType":"YulIdentifier","src":"338948:4:19"},"nativeSrc":"338948:15:19","nodeType":"YulFunctionCall","src":"338948:15:19"}],"functionName":{"name":"iszero","nativeSrc":"338941:6:19","nodeType":"YulIdentifier","src":"338941:6:19"},"nativeSrc":"338941:23:19","nodeType":"YulFunctionCall","src":"338941:23:19"},"nativeSrc":"338938:36:19","nodeType":"YulIf","src":"338938:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"338893:6:19","nodeType":"YulIdentifier","src":"338893:6:19"},{"kind":"number","nativeSrc":"338901:4:19","nodeType":"YulLiteral","src":"338901:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"338890:2:19","nodeType":"YulIdentifier","src":"338890:2:19"},"nativeSrc":"338890:16:19","nodeType":"YulFunctionCall","src":"338890:16:19"},"nativeSrc":"338883:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"338907:28:19","nodeType":"YulBlock","src":"338907:28:19","statements":[{"nativeSrc":"338909:24:19","nodeType":"YulAssignment","src":"338909:24:19","value":{"arguments":[{"name":"length","nativeSrc":"338923:6:19","nodeType":"YulIdentifier","src":"338923:6:19"},{"kind":"number","nativeSrc":"338931:1:19","nodeType":"YulLiteral","src":"338931:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"338919:3:19","nodeType":"YulIdentifier","src":"338919:3:19"},"nativeSrc":"338919:14:19","nodeType":"YulFunctionCall","src":"338919:14:19"},"variableNames":[{"name":"length","nativeSrc":"338909:6:19","nodeType":"YulIdentifier","src":"338909:6:19"}]}]},"pre":{"nativeSrc":"338887:2:19","nodeType":"YulBlock","src":"338887:2:19","statements":[]},"src":"338883:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"339000:3:19","nodeType":"YulIdentifier","src":"339000:3:19"},{"name":"length","nativeSrc":"339005:6:19","nodeType":"YulIdentifier","src":"339005:6:19"}],"functionName":{"name":"mstore","nativeSrc":"338993:6:19","nodeType":"YulIdentifier","src":"338993:6:19"},"nativeSrc":"338993:19:19","nodeType":"YulFunctionCall","src":"338993:19:19"},"nativeSrc":"338993:19:19","nodeType":"YulExpressionStatement","src":"338993:19:19"},{"nativeSrc":"339029:37:19","nodeType":"YulVariableDeclaration","src":"339029:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"339046:3:19","nodeType":"YulLiteral","src":"339046:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"339055:1:19","nodeType":"YulLiteral","src":"339055:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"339058:6:19","nodeType":"YulIdentifier","src":"339058:6:19"}],"functionName":{"name":"shl","nativeSrc":"339051:3:19","nodeType":"YulIdentifier","src":"339051:3:19"},"nativeSrc":"339051:14:19","nodeType":"YulFunctionCall","src":"339051:14:19"}],"functionName":{"name":"sub","nativeSrc":"339042:3:19","nodeType":"YulIdentifier","src":"339042:3:19"},"nativeSrc":"339042:24:19","nodeType":"YulFunctionCall","src":"339042:24:19"},"variables":[{"name":"shift","nativeSrc":"339033:5:19","nodeType":"YulTypedName","src":"339033:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"339094:3:19","nodeType":"YulIdentifier","src":"339094:3:19"},{"kind":"number","nativeSrc":"339099:4:19","nodeType":"YulLiteral","src":"339099:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"339090:3:19","nodeType":"YulIdentifier","src":"339090:3:19"},"nativeSrc":"339090:14:19","nodeType":"YulFunctionCall","src":"339090:14:19"},{"arguments":[{"name":"shift","nativeSrc":"339110:5:19","nodeType":"YulIdentifier","src":"339110:5:19"},{"arguments":[{"name":"shift","nativeSrc":"339121:5:19","nodeType":"YulIdentifier","src":"339121:5:19"},{"name":"w","nativeSrc":"339128:1:19","nodeType":"YulIdentifier","src":"339128:1:19"}],"functionName":{"name":"shr","nativeSrc":"339117:3:19","nodeType":"YulIdentifier","src":"339117:3:19"},"nativeSrc":"339117:13:19","nodeType":"YulFunctionCall","src":"339117:13:19"}],"functionName":{"name":"shl","nativeSrc":"339106:3:19","nodeType":"YulIdentifier","src":"339106:3:19"},"nativeSrc":"339106:25:19","nodeType":"YulFunctionCall","src":"339106:25:19"}],"functionName":{"name":"mstore","nativeSrc":"339083:6:19","nodeType":"YulIdentifier","src":"339083:6:19"},"nativeSrc":"339083:49:19","nodeType":"YulFunctionCall","src":"339083:49:19"},"nativeSrc":"339083:49:19","nodeType":"YulExpressionStatement","src":"339083:49:19"}]},"name":"writeString","nativeSrc":"338804:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"338825:3:19","nodeType":"YulTypedName","src":"338825:3:19","type":""},{"name":"w","nativeSrc":"338830:1:19","nodeType":"YulTypedName","src":"338830:1:19","type":""}],"src":"338804:342:19"},{"nativeSrc":"339159:17:19","nodeType":"YulAssignment","src":"339159:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"339171:4:19","nodeType":"YulLiteral","src":"339171:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"339165:5:19","nodeType":"YulIdentifier","src":"339165:5:19"},"nativeSrc":"339165:11:19","nodeType":"YulFunctionCall","src":"339165:11:19"},"variableNames":[{"name":"m0","nativeSrc":"339159:2:19","nodeType":"YulIdentifier","src":"339159:2:19"}]},{"nativeSrc":"339189:17:19","nodeType":"YulAssignment","src":"339189:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"339201:4:19","nodeType":"YulLiteral","src":"339201:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"339195:5:19","nodeType":"YulIdentifier","src":"339195:5:19"},"nativeSrc":"339195:11:19","nodeType":"YulFunctionCall","src":"339195:11:19"},"variableNames":[{"name":"m1","nativeSrc":"339189:2:19","nodeType":"YulIdentifier","src":"339189:2:19"}]},{"nativeSrc":"339219:17:19","nodeType":"YulAssignment","src":"339219:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"339231:4:19","nodeType":"YulLiteral","src":"339231:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"339225:5:19","nodeType":"YulIdentifier","src":"339225:5:19"},"nativeSrc":"339225:11:19","nodeType":"YulFunctionCall","src":"339225:11:19"},"variableNames":[{"name":"m2","nativeSrc":"339219:2:19","nodeType":"YulIdentifier","src":"339219:2:19"}]},{"nativeSrc":"339249:17:19","nodeType":"YulAssignment","src":"339249:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"339261:4:19","nodeType":"YulLiteral","src":"339261:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"339255:5:19","nodeType":"YulIdentifier","src":"339255:5:19"},"nativeSrc":"339255:11:19","nodeType":"YulFunctionCall","src":"339255:11:19"},"variableNames":[{"name":"m3","nativeSrc":"339249:2:19","nodeType":"YulIdentifier","src":"339249:2:19"}]},{"nativeSrc":"339279:17:19","nodeType":"YulAssignment","src":"339279:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"339291:4:19","nodeType":"YulLiteral","src":"339291:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"339285:5:19","nodeType":"YulIdentifier","src":"339285:5:19"},"nativeSrc":"339285:11:19","nodeType":"YulFunctionCall","src":"339285:11:19"},"variableNames":[{"name":"m4","nativeSrc":"339279:2:19","nodeType":"YulIdentifier","src":"339279:2:19"}]},{"nativeSrc":"339309:17:19","nodeType":"YulAssignment","src":"339309:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"339321:4:19","nodeType":"YulLiteral","src":"339321:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"339315:5:19","nodeType":"YulIdentifier","src":"339315:5:19"},"nativeSrc":"339315:11:19","nodeType":"YulFunctionCall","src":"339315:11:19"},"variableNames":[{"name":"m5","nativeSrc":"339309:2:19","nodeType":"YulIdentifier","src":"339309:2:19"}]},{"nativeSrc":"339339:17:19","nodeType":"YulAssignment","src":"339339:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"339351:4:19","nodeType":"YulLiteral","src":"339351:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"339345:5:19","nodeType":"YulIdentifier","src":"339345:5:19"},"nativeSrc":"339345:11:19","nodeType":"YulFunctionCall","src":"339345:11:19"},"variableNames":[{"name":"m6","nativeSrc":"339339:2:19","nodeType":"YulIdentifier","src":"339339:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339442:4:19","nodeType":"YulLiteral","src":"339442:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"339448:10:19","nodeType":"YulLiteral","src":"339448:10:19","type":"","value":"0x63fb8bc5"}],"functionName":{"name":"mstore","nativeSrc":"339435:6:19","nodeType":"YulIdentifier","src":"339435:6:19"},"nativeSrc":"339435:24:19","nodeType":"YulFunctionCall","src":"339435:24:19"},"nativeSrc":"339435:24:19","nodeType":"YulExpressionStatement","src":"339435:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339479:4:19","nodeType":"YulLiteral","src":"339479:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"339485:4:19","nodeType":"YulLiteral","src":"339485:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"339472:6:19","nodeType":"YulIdentifier","src":"339472:6:19"},"nativeSrc":"339472:18:19","nodeType":"YulFunctionCall","src":"339472:18:19"},"nativeSrc":"339472:18:19","nodeType":"YulExpressionStatement","src":"339472:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339510:4:19","nodeType":"YulLiteral","src":"339510:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"339516:2:19","nodeType":"YulIdentifier","src":"339516:2:19"}],"functionName":{"name":"mstore","nativeSrc":"339503:6:19","nodeType":"YulIdentifier","src":"339503:6:19"},"nativeSrc":"339503:16:19","nodeType":"YulFunctionCall","src":"339503:16:19"},"nativeSrc":"339503:16:19","nodeType":"YulExpressionStatement","src":"339503:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339539:4:19","nodeType":"YulLiteral","src":"339539:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"339545:2:19","nodeType":"YulIdentifier","src":"339545:2:19"}],"functionName":{"name":"mstore","nativeSrc":"339532:6:19","nodeType":"YulIdentifier","src":"339532:6:19"},"nativeSrc":"339532:16:19","nodeType":"YulFunctionCall","src":"339532:16:19"},"nativeSrc":"339532:16:19","nodeType":"YulExpressionStatement","src":"339532:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339568:4:19","nodeType":"YulLiteral","src":"339568:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"339574:2:19","nodeType":"YulIdentifier","src":"339574:2:19"}],"functionName":{"name":"mstore","nativeSrc":"339561:6:19","nodeType":"YulIdentifier","src":"339561:6:19"},"nativeSrc":"339561:16:19","nodeType":"YulFunctionCall","src":"339561:16:19"},"nativeSrc":"339561:16:19","nodeType":"YulExpressionStatement","src":"339561:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339602:4:19","nodeType":"YulLiteral","src":"339602:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"339608:2:19","nodeType":"YulIdentifier","src":"339608:2:19"}],"functionName":{"name":"writeString","nativeSrc":"339590:11:19","nodeType":"YulIdentifier","src":"339590:11:19"},"nativeSrc":"339590:21:19","nodeType":"YulFunctionCall","src":"339590:21:19"},"nativeSrc":"339590:21:19","nodeType":"YulExpressionStatement","src":"339590:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36854,"isOffset":false,"isSlot":false,"src":"339159:2:19","valueSize":1},{"declaration":36857,"isOffset":false,"isSlot":false,"src":"339189:2:19","valueSize":1},{"declaration":36860,"isOffset":false,"isSlot":false,"src":"339219:2:19","valueSize":1},{"declaration":36863,"isOffset":false,"isSlot":false,"src":"339249:2:19","valueSize":1},{"declaration":36866,"isOffset":false,"isSlot":false,"src":"339279:2:19","valueSize":1},{"declaration":36869,"isOffset":false,"isSlot":false,"src":"339309:2:19","valueSize":1},{"declaration":36872,"isOffset":false,"isSlot":false,"src":"339339:2:19","valueSize":1},{"declaration":36844,"isOffset":false,"isSlot":false,"src":"339608:2:19","valueSize":1},{"declaration":36846,"isOffset":false,"isSlot":false,"src":"339516:2:19","valueSize":1},{"declaration":36848,"isOffset":false,"isSlot":false,"src":"339545:2:19","valueSize":1},{"declaration":36850,"isOffset":false,"isSlot":false,"src":"339574:2:19","valueSize":1}],"id":36874,"nodeType":"InlineAssembly","src":"338781:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":36876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"339646:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"339652:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36875,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"339630:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"339630:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36879,"nodeType":"ExpressionStatement","src":"339630:27:19"},{"AST":{"nativeSrc":"339719:214:19","nodeType":"YulBlock","src":"339719:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"339740:4:19","nodeType":"YulLiteral","src":"339740:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"339746:2:19","nodeType":"YulIdentifier","src":"339746:2:19"}],"functionName":{"name":"mstore","nativeSrc":"339733:6:19","nodeType":"YulIdentifier","src":"339733:6:19"},"nativeSrc":"339733:16:19","nodeType":"YulFunctionCall","src":"339733:16:19"},"nativeSrc":"339733:16:19","nodeType":"YulExpressionStatement","src":"339733:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339769:4:19","nodeType":"YulLiteral","src":"339769:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"339775:2:19","nodeType":"YulIdentifier","src":"339775:2:19"}],"functionName":{"name":"mstore","nativeSrc":"339762:6:19","nodeType":"YulIdentifier","src":"339762:6:19"},"nativeSrc":"339762:16:19","nodeType":"YulFunctionCall","src":"339762:16:19"},"nativeSrc":"339762:16:19","nodeType":"YulExpressionStatement","src":"339762:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339798:4:19","nodeType":"YulLiteral","src":"339798:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"339804:2:19","nodeType":"YulIdentifier","src":"339804:2:19"}],"functionName":{"name":"mstore","nativeSrc":"339791:6:19","nodeType":"YulIdentifier","src":"339791:6:19"},"nativeSrc":"339791:16:19","nodeType":"YulFunctionCall","src":"339791:16:19"},"nativeSrc":"339791:16:19","nodeType":"YulExpressionStatement","src":"339791:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339827:4:19","nodeType":"YulLiteral","src":"339827:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"339833:2:19","nodeType":"YulIdentifier","src":"339833:2:19"}],"functionName":{"name":"mstore","nativeSrc":"339820:6:19","nodeType":"YulIdentifier","src":"339820:6:19"},"nativeSrc":"339820:16:19","nodeType":"YulFunctionCall","src":"339820:16:19"},"nativeSrc":"339820:16:19","nodeType":"YulExpressionStatement","src":"339820:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339856:4:19","nodeType":"YulLiteral","src":"339856:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"339862:2:19","nodeType":"YulIdentifier","src":"339862:2:19"}],"functionName":{"name":"mstore","nativeSrc":"339849:6:19","nodeType":"YulIdentifier","src":"339849:6:19"},"nativeSrc":"339849:16:19","nodeType":"YulFunctionCall","src":"339849:16:19"},"nativeSrc":"339849:16:19","nodeType":"YulExpressionStatement","src":"339849:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339885:4:19","nodeType":"YulLiteral","src":"339885:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"339891:2:19","nodeType":"YulIdentifier","src":"339891:2:19"}],"functionName":{"name":"mstore","nativeSrc":"339878:6:19","nodeType":"YulIdentifier","src":"339878:6:19"},"nativeSrc":"339878:16:19","nodeType":"YulFunctionCall","src":"339878:16:19"},"nativeSrc":"339878:16:19","nodeType":"YulExpressionStatement","src":"339878:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"339914:4:19","nodeType":"YulLiteral","src":"339914:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"339920:2:19","nodeType":"YulIdentifier","src":"339920:2:19"}],"functionName":{"name":"mstore","nativeSrc":"339907:6:19","nodeType":"YulIdentifier","src":"339907:6:19"},"nativeSrc":"339907:16:19","nodeType":"YulFunctionCall","src":"339907:16:19"},"nativeSrc":"339907:16:19","nodeType":"YulExpressionStatement","src":"339907:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36854,"isOffset":false,"isSlot":false,"src":"339746:2:19","valueSize":1},{"declaration":36857,"isOffset":false,"isSlot":false,"src":"339775:2:19","valueSize":1},{"declaration":36860,"isOffset":false,"isSlot":false,"src":"339804:2:19","valueSize":1},{"declaration":36863,"isOffset":false,"isSlot":false,"src":"339833:2:19","valueSize":1},{"declaration":36866,"isOffset":false,"isSlot":false,"src":"339862:2:19","valueSize":1},{"declaration":36869,"isOffset":false,"isSlot":false,"src":"339891:2:19","valueSize":1},{"declaration":36872,"isOffset":false,"isSlot":false,"src":"339920:2:19","valueSize":1}],"id":36880,"nodeType":"InlineAssembly","src":"339710:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"338522:3:19","parameters":{"id":36851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36844,"mutability":"mutable","name":"p0","nameLocation":"338534:2:19","nodeType":"VariableDeclaration","scope":36882,"src":"338526:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36843,"name":"bytes32","nodeType":"ElementaryTypeName","src":"338526:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36846,"mutability":"mutable","name":"p1","nameLocation":"338546:2:19","nodeType":"VariableDeclaration","scope":36882,"src":"338538:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36845,"name":"address","nodeType":"ElementaryTypeName","src":"338538:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36848,"mutability":"mutable","name":"p2","nameLocation":"338558:2:19","nodeType":"VariableDeclaration","scope":36882,"src":"338550:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36847,"name":"uint256","nodeType":"ElementaryTypeName","src":"338550:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36850,"mutability":"mutable","name":"p3","nameLocation":"338570:2:19","nodeType":"VariableDeclaration","scope":36882,"src":"338562:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36849,"name":"address","nodeType":"ElementaryTypeName","src":"338562:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"338525:48:19"},"returnParameters":{"id":36852,"nodeType":"ParameterList","parameters":[],"src":"338588:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36922,"nodeType":"FunctionDefinition","src":"339945:1420:19","nodes":[],"body":{"id":36921,"nodeType":"Block","src":"340017:1348:19","nodes":[],"statements":[{"assignments":[36894],"declarations":[{"constant":false,"id":36894,"mutability":"mutable","name":"m0","nameLocation":"340035:2:19","nodeType":"VariableDeclaration","scope":36921,"src":"340027:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36893,"name":"bytes32","nodeType":"ElementaryTypeName","src":"340027:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36895,"nodeType":"VariableDeclarationStatement","src":"340027:10:19"},{"assignments":[36897],"declarations":[{"constant":false,"id":36897,"mutability":"mutable","name":"m1","nameLocation":"340055:2:19","nodeType":"VariableDeclaration","scope":36921,"src":"340047:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36896,"name":"bytes32","nodeType":"ElementaryTypeName","src":"340047:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36898,"nodeType":"VariableDeclarationStatement","src":"340047:10:19"},{"assignments":[36900],"declarations":[{"constant":false,"id":36900,"mutability":"mutable","name":"m2","nameLocation":"340075:2:19","nodeType":"VariableDeclaration","scope":36921,"src":"340067:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36899,"name":"bytes32","nodeType":"ElementaryTypeName","src":"340067:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36901,"nodeType":"VariableDeclarationStatement","src":"340067:10:19"},{"assignments":[36903],"declarations":[{"constant":false,"id":36903,"mutability":"mutable","name":"m3","nameLocation":"340095:2:19","nodeType":"VariableDeclaration","scope":36921,"src":"340087:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36902,"name":"bytes32","nodeType":"ElementaryTypeName","src":"340087:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36904,"nodeType":"VariableDeclarationStatement","src":"340087:10:19"},{"assignments":[36906],"declarations":[{"constant":false,"id":36906,"mutability":"mutable","name":"m4","nameLocation":"340115:2:19","nodeType":"VariableDeclaration","scope":36921,"src":"340107:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36905,"name":"bytes32","nodeType":"ElementaryTypeName","src":"340107:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36907,"nodeType":"VariableDeclarationStatement","src":"340107:10:19"},{"assignments":[36909],"declarations":[{"constant":false,"id":36909,"mutability":"mutable","name":"m5","nameLocation":"340135:2:19","nodeType":"VariableDeclaration","scope":36921,"src":"340127:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36908,"name":"bytes32","nodeType":"ElementaryTypeName","src":"340127:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36910,"nodeType":"VariableDeclarationStatement","src":"340127:10:19"},{"assignments":[36912],"declarations":[{"constant":false,"id":36912,"mutability":"mutable","name":"m6","nameLocation":"340155:2:19","nodeType":"VariableDeclaration","scope":36921,"src":"340147:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36911,"name":"bytes32","nodeType":"ElementaryTypeName","src":"340147:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36913,"nodeType":"VariableDeclarationStatement","src":"340147:10:19"},{"AST":{"nativeSrc":"340219:828:19","nodeType":"YulBlock","src":"340219:828:19","statements":[{"body":{"nativeSrc":"340262:313:19","nodeType":"YulBlock","src":"340262:313:19","statements":[{"nativeSrc":"340280:15:19","nodeType":"YulVariableDeclaration","src":"340280:15:19","value":{"kind":"number","nativeSrc":"340294:1:19","nodeType":"YulLiteral","src":"340294:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"340284:6:19","nodeType":"YulTypedName","src":"340284:6:19","type":""}]},{"body":{"nativeSrc":"340365:40:19","nodeType":"YulBlock","src":"340365:40:19","statements":[{"body":{"nativeSrc":"340394:9:19","nodeType":"YulBlock","src":"340394:9:19","statements":[{"nativeSrc":"340396:5:19","nodeType":"YulBreak","src":"340396:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"340382:6:19","nodeType":"YulIdentifier","src":"340382:6:19"},{"name":"w","nativeSrc":"340390:1:19","nodeType":"YulIdentifier","src":"340390:1:19"}],"functionName":{"name":"byte","nativeSrc":"340377:4:19","nodeType":"YulIdentifier","src":"340377:4:19"},"nativeSrc":"340377:15:19","nodeType":"YulFunctionCall","src":"340377:15:19"}],"functionName":{"name":"iszero","nativeSrc":"340370:6:19","nodeType":"YulIdentifier","src":"340370:6:19"},"nativeSrc":"340370:23:19","nodeType":"YulFunctionCall","src":"340370:23:19"},"nativeSrc":"340367:36:19","nodeType":"YulIf","src":"340367:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"340322:6:19","nodeType":"YulIdentifier","src":"340322:6:19"},{"kind":"number","nativeSrc":"340330:4:19","nodeType":"YulLiteral","src":"340330:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"340319:2:19","nodeType":"YulIdentifier","src":"340319:2:19"},"nativeSrc":"340319:16:19","nodeType":"YulFunctionCall","src":"340319:16:19"},"nativeSrc":"340312:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"340336:28:19","nodeType":"YulBlock","src":"340336:28:19","statements":[{"nativeSrc":"340338:24:19","nodeType":"YulAssignment","src":"340338:24:19","value":{"arguments":[{"name":"length","nativeSrc":"340352:6:19","nodeType":"YulIdentifier","src":"340352:6:19"},{"kind":"number","nativeSrc":"340360:1:19","nodeType":"YulLiteral","src":"340360:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"340348:3:19","nodeType":"YulIdentifier","src":"340348:3:19"},"nativeSrc":"340348:14:19","nodeType":"YulFunctionCall","src":"340348:14:19"},"variableNames":[{"name":"length","nativeSrc":"340338:6:19","nodeType":"YulIdentifier","src":"340338:6:19"}]}]},"pre":{"nativeSrc":"340316:2:19","nodeType":"YulBlock","src":"340316:2:19","statements":[]},"src":"340312:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"340429:3:19","nodeType":"YulIdentifier","src":"340429:3:19"},{"name":"length","nativeSrc":"340434:6:19","nodeType":"YulIdentifier","src":"340434:6:19"}],"functionName":{"name":"mstore","nativeSrc":"340422:6:19","nodeType":"YulIdentifier","src":"340422:6:19"},"nativeSrc":"340422:19:19","nodeType":"YulFunctionCall","src":"340422:19:19"},"nativeSrc":"340422:19:19","nodeType":"YulExpressionStatement","src":"340422:19:19"},{"nativeSrc":"340458:37:19","nodeType":"YulVariableDeclaration","src":"340458:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"340475:3:19","nodeType":"YulLiteral","src":"340475:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"340484:1:19","nodeType":"YulLiteral","src":"340484:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"340487:6:19","nodeType":"YulIdentifier","src":"340487:6:19"}],"functionName":{"name":"shl","nativeSrc":"340480:3:19","nodeType":"YulIdentifier","src":"340480:3:19"},"nativeSrc":"340480:14:19","nodeType":"YulFunctionCall","src":"340480:14:19"}],"functionName":{"name":"sub","nativeSrc":"340471:3:19","nodeType":"YulIdentifier","src":"340471:3:19"},"nativeSrc":"340471:24:19","nodeType":"YulFunctionCall","src":"340471:24:19"},"variables":[{"name":"shift","nativeSrc":"340462:5:19","nodeType":"YulTypedName","src":"340462:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"340523:3:19","nodeType":"YulIdentifier","src":"340523:3:19"},{"kind":"number","nativeSrc":"340528:4:19","nodeType":"YulLiteral","src":"340528:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"340519:3:19","nodeType":"YulIdentifier","src":"340519:3:19"},"nativeSrc":"340519:14:19","nodeType":"YulFunctionCall","src":"340519:14:19"},{"arguments":[{"name":"shift","nativeSrc":"340539:5:19","nodeType":"YulIdentifier","src":"340539:5:19"},{"arguments":[{"name":"shift","nativeSrc":"340550:5:19","nodeType":"YulIdentifier","src":"340550:5:19"},{"name":"w","nativeSrc":"340557:1:19","nodeType":"YulIdentifier","src":"340557:1:19"}],"functionName":{"name":"shr","nativeSrc":"340546:3:19","nodeType":"YulIdentifier","src":"340546:3:19"},"nativeSrc":"340546:13:19","nodeType":"YulFunctionCall","src":"340546:13:19"}],"functionName":{"name":"shl","nativeSrc":"340535:3:19","nodeType":"YulIdentifier","src":"340535:3:19"},"nativeSrc":"340535:25:19","nodeType":"YulFunctionCall","src":"340535:25:19"}],"functionName":{"name":"mstore","nativeSrc":"340512:6:19","nodeType":"YulIdentifier","src":"340512:6:19"},"nativeSrc":"340512:49:19","nodeType":"YulFunctionCall","src":"340512:49:19"},"nativeSrc":"340512:49:19","nodeType":"YulExpressionStatement","src":"340512:49:19"}]},"name":"writeString","nativeSrc":"340233:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"340254:3:19","nodeType":"YulTypedName","src":"340254:3:19","type":""},{"name":"w","nativeSrc":"340259:1:19","nodeType":"YulTypedName","src":"340259:1:19","type":""}],"src":"340233:342:19"},{"nativeSrc":"340588:17:19","nodeType":"YulAssignment","src":"340588:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"340600:4:19","nodeType":"YulLiteral","src":"340600:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"340594:5:19","nodeType":"YulIdentifier","src":"340594:5:19"},"nativeSrc":"340594:11:19","nodeType":"YulFunctionCall","src":"340594:11:19"},"variableNames":[{"name":"m0","nativeSrc":"340588:2:19","nodeType":"YulIdentifier","src":"340588:2:19"}]},{"nativeSrc":"340618:17:19","nodeType":"YulAssignment","src":"340618:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"340630:4:19","nodeType":"YulLiteral","src":"340630:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"340624:5:19","nodeType":"YulIdentifier","src":"340624:5:19"},"nativeSrc":"340624:11:19","nodeType":"YulFunctionCall","src":"340624:11:19"},"variableNames":[{"name":"m1","nativeSrc":"340618:2:19","nodeType":"YulIdentifier","src":"340618:2:19"}]},{"nativeSrc":"340648:17:19","nodeType":"YulAssignment","src":"340648:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"340660:4:19","nodeType":"YulLiteral","src":"340660:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"340654:5:19","nodeType":"YulIdentifier","src":"340654:5:19"},"nativeSrc":"340654:11:19","nodeType":"YulFunctionCall","src":"340654:11:19"},"variableNames":[{"name":"m2","nativeSrc":"340648:2:19","nodeType":"YulIdentifier","src":"340648:2:19"}]},{"nativeSrc":"340678:17:19","nodeType":"YulAssignment","src":"340678:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"340690:4:19","nodeType":"YulLiteral","src":"340690:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"340684:5:19","nodeType":"YulIdentifier","src":"340684:5:19"},"nativeSrc":"340684:11:19","nodeType":"YulFunctionCall","src":"340684:11:19"},"variableNames":[{"name":"m3","nativeSrc":"340678:2:19","nodeType":"YulIdentifier","src":"340678:2:19"}]},{"nativeSrc":"340708:17:19","nodeType":"YulAssignment","src":"340708:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"340720:4:19","nodeType":"YulLiteral","src":"340720:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"340714:5:19","nodeType":"YulIdentifier","src":"340714:5:19"},"nativeSrc":"340714:11:19","nodeType":"YulFunctionCall","src":"340714:11:19"},"variableNames":[{"name":"m4","nativeSrc":"340708:2:19","nodeType":"YulIdentifier","src":"340708:2:19"}]},{"nativeSrc":"340738:17:19","nodeType":"YulAssignment","src":"340738:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"340750:4:19","nodeType":"YulLiteral","src":"340750:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"340744:5:19","nodeType":"YulIdentifier","src":"340744:5:19"},"nativeSrc":"340744:11:19","nodeType":"YulFunctionCall","src":"340744:11:19"},"variableNames":[{"name":"m5","nativeSrc":"340738:2:19","nodeType":"YulIdentifier","src":"340738:2:19"}]},{"nativeSrc":"340768:17:19","nodeType":"YulAssignment","src":"340768:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"340780:4:19","nodeType":"YulLiteral","src":"340780:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"340774:5:19","nodeType":"YulIdentifier","src":"340774:5:19"},"nativeSrc":"340774:11:19","nodeType":"YulFunctionCall","src":"340774:11:19"},"variableNames":[{"name":"m6","nativeSrc":"340768:2:19","nodeType":"YulIdentifier","src":"340768:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"340868:4:19","nodeType":"YulLiteral","src":"340868:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"340874:10:19","nodeType":"YulLiteral","src":"340874:10:19","type":"","value":"0xfc4845f0"}],"functionName":{"name":"mstore","nativeSrc":"340861:6:19","nodeType":"YulIdentifier","src":"340861:6:19"},"nativeSrc":"340861:24:19","nodeType":"YulFunctionCall","src":"340861:24:19"},"nativeSrc":"340861:24:19","nodeType":"YulExpressionStatement","src":"340861:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"340905:4:19","nodeType":"YulLiteral","src":"340905:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"340911:4:19","nodeType":"YulLiteral","src":"340911:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"340898:6:19","nodeType":"YulIdentifier","src":"340898:6:19"},"nativeSrc":"340898:18:19","nodeType":"YulFunctionCall","src":"340898:18:19"},"nativeSrc":"340898:18:19","nodeType":"YulExpressionStatement","src":"340898:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"340936:4:19","nodeType":"YulLiteral","src":"340936:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"340942:2:19","nodeType":"YulIdentifier","src":"340942:2:19"}],"functionName":{"name":"mstore","nativeSrc":"340929:6:19","nodeType":"YulIdentifier","src":"340929:6:19"},"nativeSrc":"340929:16:19","nodeType":"YulFunctionCall","src":"340929:16:19"},"nativeSrc":"340929:16:19","nodeType":"YulExpressionStatement","src":"340929:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"340965:4:19","nodeType":"YulLiteral","src":"340965:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"340971:2:19","nodeType":"YulIdentifier","src":"340971:2:19"}],"functionName":{"name":"mstore","nativeSrc":"340958:6:19","nodeType":"YulIdentifier","src":"340958:6:19"},"nativeSrc":"340958:16:19","nodeType":"YulFunctionCall","src":"340958:16:19"},"nativeSrc":"340958:16:19","nodeType":"YulExpressionStatement","src":"340958:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"340994:4:19","nodeType":"YulLiteral","src":"340994:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"341000:2:19","nodeType":"YulIdentifier","src":"341000:2:19"}],"functionName":{"name":"mstore","nativeSrc":"340987:6:19","nodeType":"YulIdentifier","src":"340987:6:19"},"nativeSrc":"340987:16:19","nodeType":"YulFunctionCall","src":"340987:16:19"},"nativeSrc":"340987:16:19","nodeType":"YulExpressionStatement","src":"340987:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"341028:4:19","nodeType":"YulLiteral","src":"341028:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"341034:2:19","nodeType":"YulIdentifier","src":"341034:2:19"}],"functionName":{"name":"writeString","nativeSrc":"341016:11:19","nodeType":"YulIdentifier","src":"341016:11:19"},"nativeSrc":"341016:21:19","nodeType":"YulFunctionCall","src":"341016:21:19"},"nativeSrc":"341016:21:19","nodeType":"YulExpressionStatement","src":"341016:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36894,"isOffset":false,"isSlot":false,"src":"340588:2:19","valueSize":1},{"declaration":36897,"isOffset":false,"isSlot":false,"src":"340618:2:19","valueSize":1},{"declaration":36900,"isOffset":false,"isSlot":false,"src":"340648:2:19","valueSize":1},{"declaration":36903,"isOffset":false,"isSlot":false,"src":"340678:2:19","valueSize":1},{"declaration":36906,"isOffset":false,"isSlot":false,"src":"340708:2:19","valueSize":1},{"declaration":36909,"isOffset":false,"isSlot":false,"src":"340738:2:19","valueSize":1},{"declaration":36912,"isOffset":false,"isSlot":false,"src":"340768:2:19","valueSize":1},{"declaration":36884,"isOffset":false,"isSlot":false,"src":"341034:2:19","valueSize":1},{"declaration":36886,"isOffset":false,"isSlot":false,"src":"340942:2:19","valueSize":1},{"declaration":36888,"isOffset":false,"isSlot":false,"src":"340971:2:19","valueSize":1},{"declaration":36890,"isOffset":false,"isSlot":false,"src":"341000:2:19","valueSize":1}],"id":36914,"nodeType":"InlineAssembly","src":"340210:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":36916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"341072:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"341078:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36915,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"341056:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"341056:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36919,"nodeType":"ExpressionStatement","src":"341056:27:19"},{"AST":{"nativeSrc":"341145:214:19","nodeType":"YulBlock","src":"341145:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"341166:4:19","nodeType":"YulLiteral","src":"341166:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"341172:2:19","nodeType":"YulIdentifier","src":"341172:2:19"}],"functionName":{"name":"mstore","nativeSrc":"341159:6:19","nodeType":"YulIdentifier","src":"341159:6:19"},"nativeSrc":"341159:16:19","nodeType":"YulFunctionCall","src":"341159:16:19"},"nativeSrc":"341159:16:19","nodeType":"YulExpressionStatement","src":"341159:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"341195:4:19","nodeType":"YulLiteral","src":"341195:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"341201:2:19","nodeType":"YulIdentifier","src":"341201:2:19"}],"functionName":{"name":"mstore","nativeSrc":"341188:6:19","nodeType":"YulIdentifier","src":"341188:6:19"},"nativeSrc":"341188:16:19","nodeType":"YulFunctionCall","src":"341188:16:19"},"nativeSrc":"341188:16:19","nodeType":"YulExpressionStatement","src":"341188:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"341224:4:19","nodeType":"YulLiteral","src":"341224:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"341230:2:19","nodeType":"YulIdentifier","src":"341230:2:19"}],"functionName":{"name":"mstore","nativeSrc":"341217:6:19","nodeType":"YulIdentifier","src":"341217:6:19"},"nativeSrc":"341217:16:19","nodeType":"YulFunctionCall","src":"341217:16:19"},"nativeSrc":"341217:16:19","nodeType":"YulExpressionStatement","src":"341217:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"341253:4:19","nodeType":"YulLiteral","src":"341253:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"341259:2:19","nodeType":"YulIdentifier","src":"341259:2:19"}],"functionName":{"name":"mstore","nativeSrc":"341246:6:19","nodeType":"YulIdentifier","src":"341246:6:19"},"nativeSrc":"341246:16:19","nodeType":"YulFunctionCall","src":"341246:16:19"},"nativeSrc":"341246:16:19","nodeType":"YulExpressionStatement","src":"341246:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"341282:4:19","nodeType":"YulLiteral","src":"341282:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"341288:2:19","nodeType":"YulIdentifier","src":"341288:2:19"}],"functionName":{"name":"mstore","nativeSrc":"341275:6:19","nodeType":"YulIdentifier","src":"341275:6:19"},"nativeSrc":"341275:16:19","nodeType":"YulFunctionCall","src":"341275:16:19"},"nativeSrc":"341275:16:19","nodeType":"YulExpressionStatement","src":"341275:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"341311:4:19","nodeType":"YulLiteral","src":"341311:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"341317:2:19","nodeType":"YulIdentifier","src":"341317:2:19"}],"functionName":{"name":"mstore","nativeSrc":"341304:6:19","nodeType":"YulIdentifier","src":"341304:6:19"},"nativeSrc":"341304:16:19","nodeType":"YulFunctionCall","src":"341304:16:19"},"nativeSrc":"341304:16:19","nodeType":"YulExpressionStatement","src":"341304:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"341340:4:19","nodeType":"YulLiteral","src":"341340:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"341346:2:19","nodeType":"YulIdentifier","src":"341346:2:19"}],"functionName":{"name":"mstore","nativeSrc":"341333:6:19","nodeType":"YulIdentifier","src":"341333:6:19"},"nativeSrc":"341333:16:19","nodeType":"YulFunctionCall","src":"341333:16:19"},"nativeSrc":"341333:16:19","nodeType":"YulExpressionStatement","src":"341333:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36894,"isOffset":false,"isSlot":false,"src":"341172:2:19","valueSize":1},{"declaration":36897,"isOffset":false,"isSlot":false,"src":"341201:2:19","valueSize":1},{"declaration":36900,"isOffset":false,"isSlot":false,"src":"341230:2:19","valueSize":1},{"declaration":36903,"isOffset":false,"isSlot":false,"src":"341259:2:19","valueSize":1},{"declaration":36906,"isOffset":false,"isSlot":false,"src":"341288:2:19","valueSize":1},{"declaration":36909,"isOffset":false,"isSlot":false,"src":"341317:2:19","valueSize":1},{"declaration":36912,"isOffset":false,"isSlot":false,"src":"341346:2:19","valueSize":1}],"id":36920,"nodeType":"InlineAssembly","src":"341136:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"339954:3:19","parameters":{"id":36891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36884,"mutability":"mutable","name":"p0","nameLocation":"339966:2:19","nodeType":"VariableDeclaration","scope":36922,"src":"339958:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36883,"name":"bytes32","nodeType":"ElementaryTypeName","src":"339958:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36886,"mutability":"mutable","name":"p1","nameLocation":"339978:2:19","nodeType":"VariableDeclaration","scope":36922,"src":"339970:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36885,"name":"address","nodeType":"ElementaryTypeName","src":"339970:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36888,"mutability":"mutable","name":"p2","nameLocation":"339990:2:19","nodeType":"VariableDeclaration","scope":36922,"src":"339982:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36887,"name":"uint256","nodeType":"ElementaryTypeName","src":"339982:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36890,"mutability":"mutable","name":"p3","nameLocation":"339999:2:19","nodeType":"VariableDeclaration","scope":36922,"src":"339994:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":36889,"name":"bool","nodeType":"ElementaryTypeName","src":"339994:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"339957:45:19"},"returnParameters":{"id":36892,"nodeType":"ParameterList","parameters":[],"src":"340017:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":36962,"nodeType":"FunctionDefinition","src":"341371:1426:19","nodes":[],"body":{"id":36961,"nodeType":"Block","src":"341446:1351:19","nodes":[],"statements":[{"assignments":[36934],"declarations":[{"constant":false,"id":36934,"mutability":"mutable","name":"m0","nameLocation":"341464:2:19","nodeType":"VariableDeclaration","scope":36961,"src":"341456:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36933,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341456:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36935,"nodeType":"VariableDeclarationStatement","src":"341456:10:19"},{"assignments":[36937],"declarations":[{"constant":false,"id":36937,"mutability":"mutable","name":"m1","nameLocation":"341484:2:19","nodeType":"VariableDeclaration","scope":36961,"src":"341476:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36936,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341476:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36938,"nodeType":"VariableDeclarationStatement","src":"341476:10:19"},{"assignments":[36940],"declarations":[{"constant":false,"id":36940,"mutability":"mutable","name":"m2","nameLocation":"341504:2:19","nodeType":"VariableDeclaration","scope":36961,"src":"341496:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36939,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341496:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36941,"nodeType":"VariableDeclarationStatement","src":"341496:10:19"},{"assignments":[36943],"declarations":[{"constant":false,"id":36943,"mutability":"mutable","name":"m3","nameLocation":"341524:2:19","nodeType":"VariableDeclaration","scope":36961,"src":"341516:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36942,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341516:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36944,"nodeType":"VariableDeclarationStatement","src":"341516:10:19"},{"assignments":[36946],"declarations":[{"constant":false,"id":36946,"mutability":"mutable","name":"m4","nameLocation":"341544:2:19","nodeType":"VariableDeclaration","scope":36961,"src":"341536:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36945,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341536:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36947,"nodeType":"VariableDeclarationStatement","src":"341536:10:19"},{"assignments":[36949],"declarations":[{"constant":false,"id":36949,"mutability":"mutable","name":"m5","nameLocation":"341564:2:19","nodeType":"VariableDeclaration","scope":36961,"src":"341556:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36948,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341556:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36950,"nodeType":"VariableDeclarationStatement","src":"341556:10:19"},{"assignments":[36952],"declarations":[{"constant":false,"id":36952,"mutability":"mutable","name":"m6","nameLocation":"341584:2:19","nodeType":"VariableDeclaration","scope":36961,"src":"341576:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36951,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341576:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36953,"nodeType":"VariableDeclarationStatement","src":"341576:10:19"},{"AST":{"nativeSrc":"341648:831:19","nodeType":"YulBlock","src":"341648:831:19","statements":[{"body":{"nativeSrc":"341691:313:19","nodeType":"YulBlock","src":"341691:313:19","statements":[{"nativeSrc":"341709:15:19","nodeType":"YulVariableDeclaration","src":"341709:15:19","value":{"kind":"number","nativeSrc":"341723:1:19","nodeType":"YulLiteral","src":"341723:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"341713:6:19","nodeType":"YulTypedName","src":"341713:6:19","type":""}]},{"body":{"nativeSrc":"341794:40:19","nodeType":"YulBlock","src":"341794:40:19","statements":[{"body":{"nativeSrc":"341823:9:19","nodeType":"YulBlock","src":"341823:9:19","statements":[{"nativeSrc":"341825:5:19","nodeType":"YulBreak","src":"341825:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"341811:6:19","nodeType":"YulIdentifier","src":"341811:6:19"},{"name":"w","nativeSrc":"341819:1:19","nodeType":"YulIdentifier","src":"341819:1:19"}],"functionName":{"name":"byte","nativeSrc":"341806:4:19","nodeType":"YulIdentifier","src":"341806:4:19"},"nativeSrc":"341806:15:19","nodeType":"YulFunctionCall","src":"341806:15:19"}],"functionName":{"name":"iszero","nativeSrc":"341799:6:19","nodeType":"YulIdentifier","src":"341799:6:19"},"nativeSrc":"341799:23:19","nodeType":"YulFunctionCall","src":"341799:23:19"},"nativeSrc":"341796:36:19","nodeType":"YulIf","src":"341796:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"341751:6:19","nodeType":"YulIdentifier","src":"341751:6:19"},{"kind":"number","nativeSrc":"341759:4:19","nodeType":"YulLiteral","src":"341759:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"341748:2:19","nodeType":"YulIdentifier","src":"341748:2:19"},"nativeSrc":"341748:16:19","nodeType":"YulFunctionCall","src":"341748:16:19"},"nativeSrc":"341741:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"341765:28:19","nodeType":"YulBlock","src":"341765:28:19","statements":[{"nativeSrc":"341767:24:19","nodeType":"YulAssignment","src":"341767:24:19","value":{"arguments":[{"name":"length","nativeSrc":"341781:6:19","nodeType":"YulIdentifier","src":"341781:6:19"},{"kind":"number","nativeSrc":"341789:1:19","nodeType":"YulLiteral","src":"341789:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"341777:3:19","nodeType":"YulIdentifier","src":"341777:3:19"},"nativeSrc":"341777:14:19","nodeType":"YulFunctionCall","src":"341777:14:19"},"variableNames":[{"name":"length","nativeSrc":"341767:6:19","nodeType":"YulIdentifier","src":"341767:6:19"}]}]},"pre":{"nativeSrc":"341745:2:19","nodeType":"YulBlock","src":"341745:2:19","statements":[]},"src":"341741:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"341858:3:19","nodeType":"YulIdentifier","src":"341858:3:19"},{"name":"length","nativeSrc":"341863:6:19","nodeType":"YulIdentifier","src":"341863:6:19"}],"functionName":{"name":"mstore","nativeSrc":"341851:6:19","nodeType":"YulIdentifier","src":"341851:6:19"},"nativeSrc":"341851:19:19","nodeType":"YulFunctionCall","src":"341851:19:19"},"nativeSrc":"341851:19:19","nodeType":"YulExpressionStatement","src":"341851:19:19"},{"nativeSrc":"341887:37:19","nodeType":"YulVariableDeclaration","src":"341887:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"341904:3:19","nodeType":"YulLiteral","src":"341904:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"341913:1:19","nodeType":"YulLiteral","src":"341913:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"341916:6:19","nodeType":"YulIdentifier","src":"341916:6:19"}],"functionName":{"name":"shl","nativeSrc":"341909:3:19","nodeType":"YulIdentifier","src":"341909:3:19"},"nativeSrc":"341909:14:19","nodeType":"YulFunctionCall","src":"341909:14:19"}],"functionName":{"name":"sub","nativeSrc":"341900:3:19","nodeType":"YulIdentifier","src":"341900:3:19"},"nativeSrc":"341900:24:19","nodeType":"YulFunctionCall","src":"341900:24:19"},"variables":[{"name":"shift","nativeSrc":"341891:5:19","nodeType":"YulTypedName","src":"341891:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"341952:3:19","nodeType":"YulIdentifier","src":"341952:3:19"},{"kind":"number","nativeSrc":"341957:4:19","nodeType":"YulLiteral","src":"341957:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"341948:3:19","nodeType":"YulIdentifier","src":"341948:3:19"},"nativeSrc":"341948:14:19","nodeType":"YulFunctionCall","src":"341948:14:19"},{"arguments":[{"name":"shift","nativeSrc":"341968:5:19","nodeType":"YulIdentifier","src":"341968:5:19"},{"arguments":[{"name":"shift","nativeSrc":"341979:5:19","nodeType":"YulIdentifier","src":"341979:5:19"},{"name":"w","nativeSrc":"341986:1:19","nodeType":"YulIdentifier","src":"341986:1:19"}],"functionName":{"name":"shr","nativeSrc":"341975:3:19","nodeType":"YulIdentifier","src":"341975:3:19"},"nativeSrc":"341975:13:19","nodeType":"YulFunctionCall","src":"341975:13:19"}],"functionName":{"name":"shl","nativeSrc":"341964:3:19","nodeType":"YulIdentifier","src":"341964:3:19"},"nativeSrc":"341964:25:19","nodeType":"YulFunctionCall","src":"341964:25:19"}],"functionName":{"name":"mstore","nativeSrc":"341941:6:19","nodeType":"YulIdentifier","src":"341941:6:19"},"nativeSrc":"341941:49:19","nodeType":"YulFunctionCall","src":"341941:49:19"},"nativeSrc":"341941:49:19","nodeType":"YulExpressionStatement","src":"341941:49:19"}]},"name":"writeString","nativeSrc":"341662:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"341683:3:19","nodeType":"YulTypedName","src":"341683:3:19","type":""},{"name":"w","nativeSrc":"341688:1:19","nodeType":"YulTypedName","src":"341688:1:19","type":""}],"src":"341662:342:19"},{"nativeSrc":"342017:17:19","nodeType":"YulAssignment","src":"342017:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"342029:4:19","nodeType":"YulLiteral","src":"342029:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"342023:5:19","nodeType":"YulIdentifier","src":"342023:5:19"},"nativeSrc":"342023:11:19","nodeType":"YulFunctionCall","src":"342023:11:19"},"variableNames":[{"name":"m0","nativeSrc":"342017:2:19","nodeType":"YulIdentifier","src":"342017:2:19"}]},{"nativeSrc":"342047:17:19","nodeType":"YulAssignment","src":"342047:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"342059:4:19","nodeType":"YulLiteral","src":"342059:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"342053:5:19","nodeType":"YulIdentifier","src":"342053:5:19"},"nativeSrc":"342053:11:19","nodeType":"YulFunctionCall","src":"342053:11:19"},"variableNames":[{"name":"m1","nativeSrc":"342047:2:19","nodeType":"YulIdentifier","src":"342047:2:19"}]},{"nativeSrc":"342077:17:19","nodeType":"YulAssignment","src":"342077:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"342089:4:19","nodeType":"YulLiteral","src":"342089:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"342083:5:19","nodeType":"YulIdentifier","src":"342083:5:19"},"nativeSrc":"342083:11:19","nodeType":"YulFunctionCall","src":"342083:11:19"},"variableNames":[{"name":"m2","nativeSrc":"342077:2:19","nodeType":"YulIdentifier","src":"342077:2:19"}]},{"nativeSrc":"342107:17:19","nodeType":"YulAssignment","src":"342107:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"342119:4:19","nodeType":"YulLiteral","src":"342119:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"342113:5:19","nodeType":"YulIdentifier","src":"342113:5:19"},"nativeSrc":"342113:11:19","nodeType":"YulFunctionCall","src":"342113:11:19"},"variableNames":[{"name":"m3","nativeSrc":"342107:2:19","nodeType":"YulIdentifier","src":"342107:2:19"}]},{"nativeSrc":"342137:17:19","nodeType":"YulAssignment","src":"342137:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"342149:4:19","nodeType":"YulLiteral","src":"342149:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"342143:5:19","nodeType":"YulIdentifier","src":"342143:5:19"},"nativeSrc":"342143:11:19","nodeType":"YulFunctionCall","src":"342143:11:19"},"variableNames":[{"name":"m4","nativeSrc":"342137:2:19","nodeType":"YulIdentifier","src":"342137:2:19"}]},{"nativeSrc":"342167:17:19","nodeType":"YulAssignment","src":"342167:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"342179:4:19","nodeType":"YulLiteral","src":"342179:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"342173:5:19","nodeType":"YulIdentifier","src":"342173:5:19"},"nativeSrc":"342173:11:19","nodeType":"YulFunctionCall","src":"342173:11:19"},"variableNames":[{"name":"m5","nativeSrc":"342167:2:19","nodeType":"YulIdentifier","src":"342167:2:19"}]},{"nativeSrc":"342197:17:19","nodeType":"YulAssignment","src":"342197:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"342209:4:19","nodeType":"YulLiteral","src":"342209:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"342203:5:19","nodeType":"YulIdentifier","src":"342203:5:19"},"nativeSrc":"342203:11:19","nodeType":"YulFunctionCall","src":"342203:11:19"},"variableNames":[{"name":"m6","nativeSrc":"342197:2:19","nodeType":"YulIdentifier","src":"342197:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342300:4:19","nodeType":"YulLiteral","src":"342300:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"342306:10:19","nodeType":"YulLiteral","src":"342306:10:19","type":"","value":"0xf8f51b1e"}],"functionName":{"name":"mstore","nativeSrc":"342293:6:19","nodeType":"YulIdentifier","src":"342293:6:19"},"nativeSrc":"342293:24:19","nodeType":"YulFunctionCall","src":"342293:24:19"},"nativeSrc":"342293:24:19","nodeType":"YulExpressionStatement","src":"342293:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342337:4:19","nodeType":"YulLiteral","src":"342337:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"342343:4:19","nodeType":"YulLiteral","src":"342343:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"342330:6:19","nodeType":"YulIdentifier","src":"342330:6:19"},"nativeSrc":"342330:18:19","nodeType":"YulFunctionCall","src":"342330:18:19"},"nativeSrc":"342330:18:19","nodeType":"YulExpressionStatement","src":"342330:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342368:4:19","nodeType":"YulLiteral","src":"342368:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"342374:2:19","nodeType":"YulIdentifier","src":"342374:2:19"}],"functionName":{"name":"mstore","nativeSrc":"342361:6:19","nodeType":"YulIdentifier","src":"342361:6:19"},"nativeSrc":"342361:16:19","nodeType":"YulFunctionCall","src":"342361:16:19"},"nativeSrc":"342361:16:19","nodeType":"YulExpressionStatement","src":"342361:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342397:4:19","nodeType":"YulLiteral","src":"342397:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"342403:2:19","nodeType":"YulIdentifier","src":"342403:2:19"}],"functionName":{"name":"mstore","nativeSrc":"342390:6:19","nodeType":"YulIdentifier","src":"342390:6:19"},"nativeSrc":"342390:16:19","nodeType":"YulFunctionCall","src":"342390:16:19"},"nativeSrc":"342390:16:19","nodeType":"YulExpressionStatement","src":"342390:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342426:4:19","nodeType":"YulLiteral","src":"342426:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"342432:2:19","nodeType":"YulIdentifier","src":"342432:2:19"}],"functionName":{"name":"mstore","nativeSrc":"342419:6:19","nodeType":"YulIdentifier","src":"342419:6:19"},"nativeSrc":"342419:16:19","nodeType":"YulFunctionCall","src":"342419:16:19"},"nativeSrc":"342419:16:19","nodeType":"YulExpressionStatement","src":"342419:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342460:4:19","nodeType":"YulLiteral","src":"342460:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"342466:2:19","nodeType":"YulIdentifier","src":"342466:2:19"}],"functionName":{"name":"writeString","nativeSrc":"342448:11:19","nodeType":"YulIdentifier","src":"342448:11:19"},"nativeSrc":"342448:21:19","nodeType":"YulFunctionCall","src":"342448:21:19"},"nativeSrc":"342448:21:19","nodeType":"YulExpressionStatement","src":"342448:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36934,"isOffset":false,"isSlot":false,"src":"342017:2:19","valueSize":1},{"declaration":36937,"isOffset":false,"isSlot":false,"src":"342047:2:19","valueSize":1},{"declaration":36940,"isOffset":false,"isSlot":false,"src":"342077:2:19","valueSize":1},{"declaration":36943,"isOffset":false,"isSlot":false,"src":"342107:2:19","valueSize":1},{"declaration":36946,"isOffset":false,"isSlot":false,"src":"342137:2:19","valueSize":1},{"declaration":36949,"isOffset":false,"isSlot":false,"src":"342167:2:19","valueSize":1},{"declaration":36952,"isOffset":false,"isSlot":false,"src":"342197:2:19","valueSize":1},{"declaration":36924,"isOffset":false,"isSlot":false,"src":"342466:2:19","valueSize":1},{"declaration":36926,"isOffset":false,"isSlot":false,"src":"342374:2:19","valueSize":1},{"declaration":36928,"isOffset":false,"isSlot":false,"src":"342403:2:19","valueSize":1},{"declaration":36930,"isOffset":false,"isSlot":false,"src":"342432:2:19","valueSize":1}],"id":36954,"nodeType":"InlineAssembly","src":"341639:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":36956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"342504:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":36957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"342510:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":36955,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"342488:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":36958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"342488:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":36959,"nodeType":"ExpressionStatement","src":"342488:27:19"},{"AST":{"nativeSrc":"342577:214:19","nodeType":"YulBlock","src":"342577:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"342598:4:19","nodeType":"YulLiteral","src":"342598:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"342604:2:19","nodeType":"YulIdentifier","src":"342604:2:19"}],"functionName":{"name":"mstore","nativeSrc":"342591:6:19","nodeType":"YulIdentifier","src":"342591:6:19"},"nativeSrc":"342591:16:19","nodeType":"YulFunctionCall","src":"342591:16:19"},"nativeSrc":"342591:16:19","nodeType":"YulExpressionStatement","src":"342591:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342627:4:19","nodeType":"YulLiteral","src":"342627:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"342633:2:19","nodeType":"YulIdentifier","src":"342633:2:19"}],"functionName":{"name":"mstore","nativeSrc":"342620:6:19","nodeType":"YulIdentifier","src":"342620:6:19"},"nativeSrc":"342620:16:19","nodeType":"YulFunctionCall","src":"342620:16:19"},"nativeSrc":"342620:16:19","nodeType":"YulExpressionStatement","src":"342620:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342656:4:19","nodeType":"YulLiteral","src":"342656:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"342662:2:19","nodeType":"YulIdentifier","src":"342662:2:19"}],"functionName":{"name":"mstore","nativeSrc":"342649:6:19","nodeType":"YulIdentifier","src":"342649:6:19"},"nativeSrc":"342649:16:19","nodeType":"YulFunctionCall","src":"342649:16:19"},"nativeSrc":"342649:16:19","nodeType":"YulExpressionStatement","src":"342649:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342685:4:19","nodeType":"YulLiteral","src":"342685:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"342691:2:19","nodeType":"YulIdentifier","src":"342691:2:19"}],"functionName":{"name":"mstore","nativeSrc":"342678:6:19","nodeType":"YulIdentifier","src":"342678:6:19"},"nativeSrc":"342678:16:19","nodeType":"YulFunctionCall","src":"342678:16:19"},"nativeSrc":"342678:16:19","nodeType":"YulExpressionStatement","src":"342678:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342714:4:19","nodeType":"YulLiteral","src":"342714:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"342720:2:19","nodeType":"YulIdentifier","src":"342720:2:19"}],"functionName":{"name":"mstore","nativeSrc":"342707:6:19","nodeType":"YulIdentifier","src":"342707:6:19"},"nativeSrc":"342707:16:19","nodeType":"YulFunctionCall","src":"342707:16:19"},"nativeSrc":"342707:16:19","nodeType":"YulExpressionStatement","src":"342707:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342743:4:19","nodeType":"YulLiteral","src":"342743:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"342749:2:19","nodeType":"YulIdentifier","src":"342749:2:19"}],"functionName":{"name":"mstore","nativeSrc":"342736:6:19","nodeType":"YulIdentifier","src":"342736:6:19"},"nativeSrc":"342736:16:19","nodeType":"YulFunctionCall","src":"342736:16:19"},"nativeSrc":"342736:16:19","nodeType":"YulExpressionStatement","src":"342736:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"342772:4:19","nodeType":"YulLiteral","src":"342772:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"342778:2:19","nodeType":"YulIdentifier","src":"342778:2:19"}],"functionName":{"name":"mstore","nativeSrc":"342765:6:19","nodeType":"YulIdentifier","src":"342765:6:19"},"nativeSrc":"342765:16:19","nodeType":"YulFunctionCall","src":"342765:16:19"},"nativeSrc":"342765:16:19","nodeType":"YulExpressionStatement","src":"342765:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36934,"isOffset":false,"isSlot":false,"src":"342604:2:19","valueSize":1},{"declaration":36937,"isOffset":false,"isSlot":false,"src":"342633:2:19","valueSize":1},{"declaration":36940,"isOffset":false,"isSlot":false,"src":"342662:2:19","valueSize":1},{"declaration":36943,"isOffset":false,"isSlot":false,"src":"342691:2:19","valueSize":1},{"declaration":36946,"isOffset":false,"isSlot":false,"src":"342720:2:19","valueSize":1},{"declaration":36949,"isOffset":false,"isSlot":false,"src":"342749:2:19","valueSize":1},{"declaration":36952,"isOffset":false,"isSlot":false,"src":"342778:2:19","valueSize":1}],"id":36960,"nodeType":"InlineAssembly","src":"342568:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"341380:3:19","parameters":{"id":36931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36924,"mutability":"mutable","name":"p0","nameLocation":"341392:2:19","nodeType":"VariableDeclaration","scope":36962,"src":"341384:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36923,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341384:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36926,"mutability":"mutable","name":"p1","nameLocation":"341404:2:19","nodeType":"VariableDeclaration","scope":36962,"src":"341396:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36925,"name":"address","nodeType":"ElementaryTypeName","src":"341396:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36928,"mutability":"mutable","name":"p2","nameLocation":"341416:2:19","nodeType":"VariableDeclaration","scope":36962,"src":"341408:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36927,"name":"uint256","nodeType":"ElementaryTypeName","src":"341408:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36930,"mutability":"mutable","name":"p3","nameLocation":"341428:2:19","nodeType":"VariableDeclaration","scope":36962,"src":"341420:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36929,"name":"uint256","nodeType":"ElementaryTypeName","src":"341420:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"341383:48:19"},"returnParameters":{"id":36932,"nodeType":"ParameterList","parameters":[],"src":"341446:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37008,"nodeType":"FunctionDefinition","src":"342803:1622:19","nodes":[],"body":{"id":37007,"nodeType":"Block","src":"342878:1547:19","nodes":[],"statements":[{"assignments":[36974],"declarations":[{"constant":false,"id":36974,"mutability":"mutable","name":"m0","nameLocation":"342896:2:19","nodeType":"VariableDeclaration","scope":37007,"src":"342888:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36973,"name":"bytes32","nodeType":"ElementaryTypeName","src":"342888:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36975,"nodeType":"VariableDeclarationStatement","src":"342888:10:19"},{"assignments":[36977],"declarations":[{"constant":false,"id":36977,"mutability":"mutable","name":"m1","nameLocation":"342916:2:19","nodeType":"VariableDeclaration","scope":37007,"src":"342908:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36976,"name":"bytes32","nodeType":"ElementaryTypeName","src":"342908:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36978,"nodeType":"VariableDeclarationStatement","src":"342908:10:19"},{"assignments":[36980],"declarations":[{"constant":false,"id":36980,"mutability":"mutable","name":"m2","nameLocation":"342936:2:19","nodeType":"VariableDeclaration","scope":37007,"src":"342928:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36979,"name":"bytes32","nodeType":"ElementaryTypeName","src":"342928:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36981,"nodeType":"VariableDeclarationStatement","src":"342928:10:19"},{"assignments":[36983],"declarations":[{"constant":false,"id":36983,"mutability":"mutable","name":"m3","nameLocation":"342956:2:19","nodeType":"VariableDeclaration","scope":37007,"src":"342948:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36982,"name":"bytes32","nodeType":"ElementaryTypeName","src":"342948:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36984,"nodeType":"VariableDeclarationStatement","src":"342948:10:19"},{"assignments":[36986],"declarations":[{"constant":false,"id":36986,"mutability":"mutable","name":"m4","nameLocation":"342976:2:19","nodeType":"VariableDeclaration","scope":37007,"src":"342968:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36985,"name":"bytes32","nodeType":"ElementaryTypeName","src":"342968:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36987,"nodeType":"VariableDeclarationStatement","src":"342968:10:19"},{"assignments":[36989],"declarations":[{"constant":false,"id":36989,"mutability":"mutable","name":"m5","nameLocation":"342996:2:19","nodeType":"VariableDeclaration","scope":37007,"src":"342988:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36988,"name":"bytes32","nodeType":"ElementaryTypeName","src":"342988:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36990,"nodeType":"VariableDeclarationStatement","src":"342988:10:19"},{"assignments":[36992],"declarations":[{"constant":false,"id":36992,"mutability":"mutable","name":"m6","nameLocation":"343016:2:19","nodeType":"VariableDeclaration","scope":37007,"src":"343008:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36991,"name":"bytes32","nodeType":"ElementaryTypeName","src":"343008:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36993,"nodeType":"VariableDeclarationStatement","src":"343008:10:19"},{"assignments":[36995],"declarations":[{"constant":false,"id":36995,"mutability":"mutable","name":"m7","nameLocation":"343036:2:19","nodeType":"VariableDeclaration","scope":37007,"src":"343028:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36994,"name":"bytes32","nodeType":"ElementaryTypeName","src":"343028:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36996,"nodeType":"VariableDeclarationStatement","src":"343028:10:19"},{"assignments":[36998],"declarations":[{"constant":false,"id":36998,"mutability":"mutable","name":"m8","nameLocation":"343056:2:19","nodeType":"VariableDeclaration","scope":37007,"src":"343048:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36997,"name":"bytes32","nodeType":"ElementaryTypeName","src":"343048:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":36999,"nodeType":"VariableDeclarationStatement","src":"343048:10:19"},{"AST":{"nativeSrc":"343120:927:19","nodeType":"YulBlock","src":"343120:927:19","statements":[{"body":{"nativeSrc":"343163:313:19","nodeType":"YulBlock","src":"343163:313:19","statements":[{"nativeSrc":"343181:15:19","nodeType":"YulVariableDeclaration","src":"343181:15:19","value":{"kind":"number","nativeSrc":"343195:1:19","nodeType":"YulLiteral","src":"343195:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"343185:6:19","nodeType":"YulTypedName","src":"343185:6:19","type":""}]},{"body":{"nativeSrc":"343266:40:19","nodeType":"YulBlock","src":"343266:40:19","statements":[{"body":{"nativeSrc":"343295:9:19","nodeType":"YulBlock","src":"343295:9:19","statements":[{"nativeSrc":"343297:5:19","nodeType":"YulBreak","src":"343297:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"343283:6:19","nodeType":"YulIdentifier","src":"343283:6:19"},{"name":"w","nativeSrc":"343291:1:19","nodeType":"YulIdentifier","src":"343291:1:19"}],"functionName":{"name":"byte","nativeSrc":"343278:4:19","nodeType":"YulIdentifier","src":"343278:4:19"},"nativeSrc":"343278:15:19","nodeType":"YulFunctionCall","src":"343278:15:19"}],"functionName":{"name":"iszero","nativeSrc":"343271:6:19","nodeType":"YulIdentifier","src":"343271:6:19"},"nativeSrc":"343271:23:19","nodeType":"YulFunctionCall","src":"343271:23:19"},"nativeSrc":"343268:36:19","nodeType":"YulIf","src":"343268:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"343223:6:19","nodeType":"YulIdentifier","src":"343223:6:19"},{"kind":"number","nativeSrc":"343231:4:19","nodeType":"YulLiteral","src":"343231:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"343220:2:19","nodeType":"YulIdentifier","src":"343220:2:19"},"nativeSrc":"343220:16:19","nodeType":"YulFunctionCall","src":"343220:16:19"},"nativeSrc":"343213:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"343237:28:19","nodeType":"YulBlock","src":"343237:28:19","statements":[{"nativeSrc":"343239:24:19","nodeType":"YulAssignment","src":"343239:24:19","value":{"arguments":[{"name":"length","nativeSrc":"343253:6:19","nodeType":"YulIdentifier","src":"343253:6:19"},{"kind":"number","nativeSrc":"343261:1:19","nodeType":"YulLiteral","src":"343261:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"343249:3:19","nodeType":"YulIdentifier","src":"343249:3:19"},"nativeSrc":"343249:14:19","nodeType":"YulFunctionCall","src":"343249:14:19"},"variableNames":[{"name":"length","nativeSrc":"343239:6:19","nodeType":"YulIdentifier","src":"343239:6:19"}]}]},"pre":{"nativeSrc":"343217:2:19","nodeType":"YulBlock","src":"343217:2:19","statements":[]},"src":"343213:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"343330:3:19","nodeType":"YulIdentifier","src":"343330:3:19"},{"name":"length","nativeSrc":"343335:6:19","nodeType":"YulIdentifier","src":"343335:6:19"}],"functionName":{"name":"mstore","nativeSrc":"343323:6:19","nodeType":"YulIdentifier","src":"343323:6:19"},"nativeSrc":"343323:19:19","nodeType":"YulFunctionCall","src":"343323:19:19"},"nativeSrc":"343323:19:19","nodeType":"YulExpressionStatement","src":"343323:19:19"},{"nativeSrc":"343359:37:19","nodeType":"YulVariableDeclaration","src":"343359:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"343376:3:19","nodeType":"YulLiteral","src":"343376:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"343385:1:19","nodeType":"YulLiteral","src":"343385:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"343388:6:19","nodeType":"YulIdentifier","src":"343388:6:19"}],"functionName":{"name":"shl","nativeSrc":"343381:3:19","nodeType":"YulIdentifier","src":"343381:3:19"},"nativeSrc":"343381:14:19","nodeType":"YulFunctionCall","src":"343381:14:19"}],"functionName":{"name":"sub","nativeSrc":"343372:3:19","nodeType":"YulIdentifier","src":"343372:3:19"},"nativeSrc":"343372:24:19","nodeType":"YulFunctionCall","src":"343372:24:19"},"variables":[{"name":"shift","nativeSrc":"343363:5:19","nodeType":"YulTypedName","src":"343363:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"343424:3:19","nodeType":"YulIdentifier","src":"343424:3:19"},{"kind":"number","nativeSrc":"343429:4:19","nodeType":"YulLiteral","src":"343429:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"343420:3:19","nodeType":"YulIdentifier","src":"343420:3:19"},"nativeSrc":"343420:14:19","nodeType":"YulFunctionCall","src":"343420:14:19"},{"arguments":[{"name":"shift","nativeSrc":"343440:5:19","nodeType":"YulIdentifier","src":"343440:5:19"},{"arguments":[{"name":"shift","nativeSrc":"343451:5:19","nodeType":"YulIdentifier","src":"343451:5:19"},{"name":"w","nativeSrc":"343458:1:19","nodeType":"YulIdentifier","src":"343458:1:19"}],"functionName":{"name":"shr","nativeSrc":"343447:3:19","nodeType":"YulIdentifier","src":"343447:3:19"},"nativeSrc":"343447:13:19","nodeType":"YulFunctionCall","src":"343447:13:19"}],"functionName":{"name":"shl","nativeSrc":"343436:3:19","nodeType":"YulIdentifier","src":"343436:3:19"},"nativeSrc":"343436:25:19","nodeType":"YulFunctionCall","src":"343436:25:19"}],"functionName":{"name":"mstore","nativeSrc":"343413:6:19","nodeType":"YulIdentifier","src":"343413:6:19"},"nativeSrc":"343413:49:19","nodeType":"YulFunctionCall","src":"343413:49:19"},"nativeSrc":"343413:49:19","nodeType":"YulExpressionStatement","src":"343413:49:19"}]},"name":"writeString","nativeSrc":"343134:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"343155:3:19","nodeType":"YulTypedName","src":"343155:3:19","type":""},{"name":"w","nativeSrc":"343160:1:19","nodeType":"YulTypedName","src":"343160:1:19","type":""}],"src":"343134:342:19"},{"nativeSrc":"343489:17:19","nodeType":"YulAssignment","src":"343489:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"343501:4:19","nodeType":"YulLiteral","src":"343501:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"343495:5:19","nodeType":"YulIdentifier","src":"343495:5:19"},"nativeSrc":"343495:11:19","nodeType":"YulFunctionCall","src":"343495:11:19"},"variableNames":[{"name":"m0","nativeSrc":"343489:2:19","nodeType":"YulIdentifier","src":"343489:2:19"}]},{"nativeSrc":"343519:17:19","nodeType":"YulAssignment","src":"343519:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"343531:4:19","nodeType":"YulLiteral","src":"343531:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"343525:5:19","nodeType":"YulIdentifier","src":"343525:5:19"},"nativeSrc":"343525:11:19","nodeType":"YulFunctionCall","src":"343525:11:19"},"variableNames":[{"name":"m1","nativeSrc":"343519:2:19","nodeType":"YulIdentifier","src":"343519:2:19"}]},{"nativeSrc":"343549:17:19","nodeType":"YulAssignment","src":"343549:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"343561:4:19","nodeType":"YulLiteral","src":"343561:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"343555:5:19","nodeType":"YulIdentifier","src":"343555:5:19"},"nativeSrc":"343555:11:19","nodeType":"YulFunctionCall","src":"343555:11:19"},"variableNames":[{"name":"m2","nativeSrc":"343549:2:19","nodeType":"YulIdentifier","src":"343549:2:19"}]},{"nativeSrc":"343579:17:19","nodeType":"YulAssignment","src":"343579:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"343591:4:19","nodeType":"YulLiteral","src":"343591:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"343585:5:19","nodeType":"YulIdentifier","src":"343585:5:19"},"nativeSrc":"343585:11:19","nodeType":"YulFunctionCall","src":"343585:11:19"},"variableNames":[{"name":"m3","nativeSrc":"343579:2:19","nodeType":"YulIdentifier","src":"343579:2:19"}]},{"nativeSrc":"343609:17:19","nodeType":"YulAssignment","src":"343609:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"343621:4:19","nodeType":"YulLiteral","src":"343621:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"343615:5:19","nodeType":"YulIdentifier","src":"343615:5:19"},"nativeSrc":"343615:11:19","nodeType":"YulFunctionCall","src":"343615:11:19"},"variableNames":[{"name":"m4","nativeSrc":"343609:2:19","nodeType":"YulIdentifier","src":"343609:2:19"}]},{"nativeSrc":"343639:17:19","nodeType":"YulAssignment","src":"343639:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"343651:4:19","nodeType":"YulLiteral","src":"343651:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"343645:5:19","nodeType":"YulIdentifier","src":"343645:5:19"},"nativeSrc":"343645:11:19","nodeType":"YulFunctionCall","src":"343645:11:19"},"variableNames":[{"name":"m5","nativeSrc":"343639:2:19","nodeType":"YulIdentifier","src":"343639:2:19"}]},{"nativeSrc":"343669:17:19","nodeType":"YulAssignment","src":"343669:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"343681:4:19","nodeType":"YulLiteral","src":"343681:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"343675:5:19","nodeType":"YulIdentifier","src":"343675:5:19"},"nativeSrc":"343675:11:19","nodeType":"YulFunctionCall","src":"343675:11:19"},"variableNames":[{"name":"m6","nativeSrc":"343669:2:19","nodeType":"YulIdentifier","src":"343669:2:19"}]},{"nativeSrc":"343699:17:19","nodeType":"YulAssignment","src":"343699:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"343711:4:19","nodeType":"YulLiteral","src":"343711:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"343705:5:19","nodeType":"YulIdentifier","src":"343705:5:19"},"nativeSrc":"343705:11:19","nodeType":"YulFunctionCall","src":"343705:11:19"},"variableNames":[{"name":"m7","nativeSrc":"343699:2:19","nodeType":"YulIdentifier","src":"343699:2:19"}]},{"nativeSrc":"343729:18:19","nodeType":"YulAssignment","src":"343729:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"343741:5:19","nodeType":"YulLiteral","src":"343741:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"343735:5:19","nodeType":"YulIdentifier","src":"343735:5:19"},"nativeSrc":"343735:12:19","nodeType":"YulFunctionCall","src":"343735:12:19"},"variableNames":[{"name":"m8","nativeSrc":"343729:2:19","nodeType":"YulIdentifier","src":"343729:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"343832:4:19","nodeType":"YulLiteral","src":"343832:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"343838:10:19","nodeType":"YulLiteral","src":"343838:10:19","type":"","value":"0x5a477632"}],"functionName":{"name":"mstore","nativeSrc":"343825:6:19","nodeType":"YulIdentifier","src":"343825:6:19"},"nativeSrc":"343825:24:19","nodeType":"YulFunctionCall","src":"343825:24:19"},"nativeSrc":"343825:24:19","nodeType":"YulExpressionStatement","src":"343825:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"343869:4:19","nodeType":"YulLiteral","src":"343869:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"343875:4:19","nodeType":"YulLiteral","src":"343875:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"343862:6:19","nodeType":"YulIdentifier","src":"343862:6:19"},"nativeSrc":"343862:18:19","nodeType":"YulFunctionCall","src":"343862:18:19"},"nativeSrc":"343862:18:19","nodeType":"YulExpressionStatement","src":"343862:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"343900:4:19","nodeType":"YulLiteral","src":"343900:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"343906:2:19","nodeType":"YulIdentifier","src":"343906:2:19"}],"functionName":{"name":"mstore","nativeSrc":"343893:6:19","nodeType":"YulIdentifier","src":"343893:6:19"},"nativeSrc":"343893:16:19","nodeType":"YulFunctionCall","src":"343893:16:19"},"nativeSrc":"343893:16:19","nodeType":"YulExpressionStatement","src":"343893:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"343929:4:19","nodeType":"YulLiteral","src":"343929:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"343935:2:19","nodeType":"YulIdentifier","src":"343935:2:19"}],"functionName":{"name":"mstore","nativeSrc":"343922:6:19","nodeType":"YulIdentifier","src":"343922:6:19"},"nativeSrc":"343922:16:19","nodeType":"YulFunctionCall","src":"343922:16:19"},"nativeSrc":"343922:16:19","nodeType":"YulExpressionStatement","src":"343922:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"343958:4:19","nodeType":"YulLiteral","src":"343958:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"343964:4:19","nodeType":"YulLiteral","src":"343964:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"343951:6:19","nodeType":"YulIdentifier","src":"343951:6:19"},"nativeSrc":"343951:18:19","nodeType":"YulFunctionCall","src":"343951:18:19"},"nativeSrc":"343951:18:19","nodeType":"YulExpressionStatement","src":"343951:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"343994:4:19","nodeType":"YulLiteral","src":"343994:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"344000:2:19","nodeType":"YulIdentifier","src":"344000:2:19"}],"functionName":{"name":"writeString","nativeSrc":"343982:11:19","nodeType":"YulIdentifier","src":"343982:11:19"},"nativeSrc":"343982:21:19","nodeType":"YulFunctionCall","src":"343982:21:19"},"nativeSrc":"343982:21:19","nodeType":"YulExpressionStatement","src":"343982:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344028:4:19","nodeType":"YulLiteral","src":"344028:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"344034:2:19","nodeType":"YulIdentifier","src":"344034:2:19"}],"functionName":{"name":"writeString","nativeSrc":"344016:11:19","nodeType":"YulIdentifier","src":"344016:11:19"},"nativeSrc":"344016:21:19","nodeType":"YulFunctionCall","src":"344016:21:19"},"nativeSrc":"344016:21:19","nodeType":"YulExpressionStatement","src":"344016:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36974,"isOffset":false,"isSlot":false,"src":"343489:2:19","valueSize":1},{"declaration":36977,"isOffset":false,"isSlot":false,"src":"343519:2:19","valueSize":1},{"declaration":36980,"isOffset":false,"isSlot":false,"src":"343549:2:19","valueSize":1},{"declaration":36983,"isOffset":false,"isSlot":false,"src":"343579:2:19","valueSize":1},{"declaration":36986,"isOffset":false,"isSlot":false,"src":"343609:2:19","valueSize":1},{"declaration":36989,"isOffset":false,"isSlot":false,"src":"343639:2:19","valueSize":1},{"declaration":36992,"isOffset":false,"isSlot":false,"src":"343669:2:19","valueSize":1},{"declaration":36995,"isOffset":false,"isSlot":false,"src":"343699:2:19","valueSize":1},{"declaration":36998,"isOffset":false,"isSlot":false,"src":"343729:2:19","valueSize":1},{"declaration":36964,"isOffset":false,"isSlot":false,"src":"344000:2:19","valueSize":1},{"declaration":36966,"isOffset":false,"isSlot":false,"src":"343906:2:19","valueSize":1},{"declaration":36968,"isOffset":false,"isSlot":false,"src":"343935:2:19","valueSize":1},{"declaration":36970,"isOffset":false,"isSlot":false,"src":"344034:2:19","valueSize":1}],"id":37000,"nodeType":"InlineAssembly","src":"343111:936:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":37002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"344072:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":37003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"344078:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":37001,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"344056:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"344056:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37005,"nodeType":"ExpressionStatement","src":"344056:28:19"},{"AST":{"nativeSrc":"344146:273:19","nodeType":"YulBlock","src":"344146:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"344167:4:19","nodeType":"YulLiteral","src":"344167:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"344173:2:19","nodeType":"YulIdentifier","src":"344173:2:19"}],"functionName":{"name":"mstore","nativeSrc":"344160:6:19","nodeType":"YulIdentifier","src":"344160:6:19"},"nativeSrc":"344160:16:19","nodeType":"YulFunctionCall","src":"344160:16:19"},"nativeSrc":"344160:16:19","nodeType":"YulExpressionStatement","src":"344160:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344196:4:19","nodeType":"YulLiteral","src":"344196:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"344202:2:19","nodeType":"YulIdentifier","src":"344202:2:19"}],"functionName":{"name":"mstore","nativeSrc":"344189:6:19","nodeType":"YulIdentifier","src":"344189:6:19"},"nativeSrc":"344189:16:19","nodeType":"YulFunctionCall","src":"344189:16:19"},"nativeSrc":"344189:16:19","nodeType":"YulExpressionStatement","src":"344189:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344225:4:19","nodeType":"YulLiteral","src":"344225:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"344231:2:19","nodeType":"YulIdentifier","src":"344231:2:19"}],"functionName":{"name":"mstore","nativeSrc":"344218:6:19","nodeType":"YulIdentifier","src":"344218:6:19"},"nativeSrc":"344218:16:19","nodeType":"YulFunctionCall","src":"344218:16:19"},"nativeSrc":"344218:16:19","nodeType":"YulExpressionStatement","src":"344218:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344254:4:19","nodeType":"YulLiteral","src":"344254:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"344260:2:19","nodeType":"YulIdentifier","src":"344260:2:19"}],"functionName":{"name":"mstore","nativeSrc":"344247:6:19","nodeType":"YulIdentifier","src":"344247:6:19"},"nativeSrc":"344247:16:19","nodeType":"YulFunctionCall","src":"344247:16:19"},"nativeSrc":"344247:16:19","nodeType":"YulExpressionStatement","src":"344247:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344283:4:19","nodeType":"YulLiteral","src":"344283:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"344289:2:19","nodeType":"YulIdentifier","src":"344289:2:19"}],"functionName":{"name":"mstore","nativeSrc":"344276:6:19","nodeType":"YulIdentifier","src":"344276:6:19"},"nativeSrc":"344276:16:19","nodeType":"YulFunctionCall","src":"344276:16:19"},"nativeSrc":"344276:16:19","nodeType":"YulExpressionStatement","src":"344276:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344312:4:19","nodeType":"YulLiteral","src":"344312:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"344318:2:19","nodeType":"YulIdentifier","src":"344318:2:19"}],"functionName":{"name":"mstore","nativeSrc":"344305:6:19","nodeType":"YulIdentifier","src":"344305:6:19"},"nativeSrc":"344305:16:19","nodeType":"YulFunctionCall","src":"344305:16:19"},"nativeSrc":"344305:16:19","nodeType":"YulExpressionStatement","src":"344305:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344341:4:19","nodeType":"YulLiteral","src":"344341:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"344347:2:19","nodeType":"YulIdentifier","src":"344347:2:19"}],"functionName":{"name":"mstore","nativeSrc":"344334:6:19","nodeType":"YulIdentifier","src":"344334:6:19"},"nativeSrc":"344334:16:19","nodeType":"YulFunctionCall","src":"344334:16:19"},"nativeSrc":"344334:16:19","nodeType":"YulExpressionStatement","src":"344334:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344370:4:19","nodeType":"YulLiteral","src":"344370:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"344376:2:19","nodeType":"YulIdentifier","src":"344376:2:19"}],"functionName":{"name":"mstore","nativeSrc":"344363:6:19","nodeType":"YulIdentifier","src":"344363:6:19"},"nativeSrc":"344363:16:19","nodeType":"YulFunctionCall","src":"344363:16:19"},"nativeSrc":"344363:16:19","nodeType":"YulExpressionStatement","src":"344363:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"344399:5:19","nodeType":"YulLiteral","src":"344399:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"344406:2:19","nodeType":"YulIdentifier","src":"344406:2:19"}],"functionName":{"name":"mstore","nativeSrc":"344392:6:19","nodeType":"YulIdentifier","src":"344392:6:19"},"nativeSrc":"344392:17:19","nodeType":"YulFunctionCall","src":"344392:17:19"},"nativeSrc":"344392:17:19","nodeType":"YulExpressionStatement","src":"344392:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":36974,"isOffset":false,"isSlot":false,"src":"344173:2:19","valueSize":1},{"declaration":36977,"isOffset":false,"isSlot":false,"src":"344202:2:19","valueSize":1},{"declaration":36980,"isOffset":false,"isSlot":false,"src":"344231:2:19","valueSize":1},{"declaration":36983,"isOffset":false,"isSlot":false,"src":"344260:2:19","valueSize":1},{"declaration":36986,"isOffset":false,"isSlot":false,"src":"344289:2:19","valueSize":1},{"declaration":36989,"isOffset":false,"isSlot":false,"src":"344318:2:19","valueSize":1},{"declaration":36992,"isOffset":false,"isSlot":false,"src":"344347:2:19","valueSize":1},{"declaration":36995,"isOffset":false,"isSlot":false,"src":"344376:2:19","valueSize":1},{"declaration":36998,"isOffset":false,"isSlot":false,"src":"344406:2:19","valueSize":1}],"id":37006,"nodeType":"InlineAssembly","src":"344137:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"342812:3:19","parameters":{"id":36971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":36964,"mutability":"mutable","name":"p0","nameLocation":"342824:2:19","nodeType":"VariableDeclaration","scope":37008,"src":"342816:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36963,"name":"bytes32","nodeType":"ElementaryTypeName","src":"342816:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":36966,"mutability":"mutable","name":"p1","nameLocation":"342836:2:19","nodeType":"VariableDeclaration","scope":37008,"src":"342828:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36965,"name":"address","nodeType":"ElementaryTypeName","src":"342828:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":36968,"mutability":"mutable","name":"p2","nameLocation":"342848:2:19","nodeType":"VariableDeclaration","scope":37008,"src":"342840:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36967,"name":"uint256","nodeType":"ElementaryTypeName","src":"342840:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":36970,"mutability":"mutable","name":"p3","nameLocation":"342860:2:19","nodeType":"VariableDeclaration","scope":37008,"src":"342852:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":36969,"name":"bytes32","nodeType":"ElementaryTypeName","src":"342852:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"342815:48:19"},"returnParameters":{"id":36972,"nodeType":"ParameterList","parameters":[],"src":"342878:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37054,"nodeType":"FunctionDefinition","src":"344431:1622:19","nodes":[],"body":{"id":37053,"nodeType":"Block","src":"344506:1547:19","nodes":[],"statements":[{"assignments":[37020],"declarations":[{"constant":false,"id":37020,"mutability":"mutable","name":"m0","nameLocation":"344524:2:19","nodeType":"VariableDeclaration","scope":37053,"src":"344516:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37019,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344516:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37021,"nodeType":"VariableDeclarationStatement","src":"344516:10:19"},{"assignments":[37023],"declarations":[{"constant":false,"id":37023,"mutability":"mutable","name":"m1","nameLocation":"344544:2:19","nodeType":"VariableDeclaration","scope":37053,"src":"344536:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37022,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344536:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37024,"nodeType":"VariableDeclarationStatement","src":"344536:10:19"},{"assignments":[37026],"declarations":[{"constant":false,"id":37026,"mutability":"mutable","name":"m2","nameLocation":"344564:2:19","nodeType":"VariableDeclaration","scope":37053,"src":"344556:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37025,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344556:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37027,"nodeType":"VariableDeclarationStatement","src":"344556:10:19"},{"assignments":[37029],"declarations":[{"constant":false,"id":37029,"mutability":"mutable","name":"m3","nameLocation":"344584:2:19","nodeType":"VariableDeclaration","scope":37053,"src":"344576:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37028,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344576:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37030,"nodeType":"VariableDeclarationStatement","src":"344576:10:19"},{"assignments":[37032],"declarations":[{"constant":false,"id":37032,"mutability":"mutable","name":"m4","nameLocation":"344604:2:19","nodeType":"VariableDeclaration","scope":37053,"src":"344596:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37031,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344596:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37033,"nodeType":"VariableDeclarationStatement","src":"344596:10:19"},{"assignments":[37035],"declarations":[{"constant":false,"id":37035,"mutability":"mutable","name":"m5","nameLocation":"344624:2:19","nodeType":"VariableDeclaration","scope":37053,"src":"344616:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37034,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344616:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37036,"nodeType":"VariableDeclarationStatement","src":"344616:10:19"},{"assignments":[37038],"declarations":[{"constant":false,"id":37038,"mutability":"mutable","name":"m6","nameLocation":"344644:2:19","nodeType":"VariableDeclaration","scope":37053,"src":"344636:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37037,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344636:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37039,"nodeType":"VariableDeclarationStatement","src":"344636:10:19"},{"assignments":[37041],"declarations":[{"constant":false,"id":37041,"mutability":"mutable","name":"m7","nameLocation":"344664:2:19","nodeType":"VariableDeclaration","scope":37053,"src":"344656:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37040,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344656:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37042,"nodeType":"VariableDeclarationStatement","src":"344656:10:19"},{"assignments":[37044],"declarations":[{"constant":false,"id":37044,"mutability":"mutable","name":"m8","nameLocation":"344684:2:19","nodeType":"VariableDeclaration","scope":37053,"src":"344676:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37043,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344676:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37045,"nodeType":"VariableDeclarationStatement","src":"344676:10:19"},{"AST":{"nativeSrc":"344748:927:19","nodeType":"YulBlock","src":"344748:927:19","statements":[{"body":{"nativeSrc":"344791:313:19","nodeType":"YulBlock","src":"344791:313:19","statements":[{"nativeSrc":"344809:15:19","nodeType":"YulVariableDeclaration","src":"344809:15:19","value":{"kind":"number","nativeSrc":"344823:1:19","nodeType":"YulLiteral","src":"344823:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"344813:6:19","nodeType":"YulTypedName","src":"344813:6:19","type":""}]},{"body":{"nativeSrc":"344894:40:19","nodeType":"YulBlock","src":"344894:40:19","statements":[{"body":{"nativeSrc":"344923:9:19","nodeType":"YulBlock","src":"344923:9:19","statements":[{"nativeSrc":"344925:5:19","nodeType":"YulBreak","src":"344925:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"344911:6:19","nodeType":"YulIdentifier","src":"344911:6:19"},{"name":"w","nativeSrc":"344919:1:19","nodeType":"YulIdentifier","src":"344919:1:19"}],"functionName":{"name":"byte","nativeSrc":"344906:4:19","nodeType":"YulIdentifier","src":"344906:4:19"},"nativeSrc":"344906:15:19","nodeType":"YulFunctionCall","src":"344906:15:19"}],"functionName":{"name":"iszero","nativeSrc":"344899:6:19","nodeType":"YulIdentifier","src":"344899:6:19"},"nativeSrc":"344899:23:19","nodeType":"YulFunctionCall","src":"344899:23:19"},"nativeSrc":"344896:36:19","nodeType":"YulIf","src":"344896:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"344851:6:19","nodeType":"YulIdentifier","src":"344851:6:19"},{"kind":"number","nativeSrc":"344859:4:19","nodeType":"YulLiteral","src":"344859:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"344848:2:19","nodeType":"YulIdentifier","src":"344848:2:19"},"nativeSrc":"344848:16:19","nodeType":"YulFunctionCall","src":"344848:16:19"},"nativeSrc":"344841:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"344865:28:19","nodeType":"YulBlock","src":"344865:28:19","statements":[{"nativeSrc":"344867:24:19","nodeType":"YulAssignment","src":"344867:24:19","value":{"arguments":[{"name":"length","nativeSrc":"344881:6:19","nodeType":"YulIdentifier","src":"344881:6:19"},{"kind":"number","nativeSrc":"344889:1:19","nodeType":"YulLiteral","src":"344889:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"344877:3:19","nodeType":"YulIdentifier","src":"344877:3:19"},"nativeSrc":"344877:14:19","nodeType":"YulFunctionCall","src":"344877:14:19"},"variableNames":[{"name":"length","nativeSrc":"344867:6:19","nodeType":"YulIdentifier","src":"344867:6:19"}]}]},"pre":{"nativeSrc":"344845:2:19","nodeType":"YulBlock","src":"344845:2:19","statements":[]},"src":"344841:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"344958:3:19","nodeType":"YulIdentifier","src":"344958:3:19"},{"name":"length","nativeSrc":"344963:6:19","nodeType":"YulIdentifier","src":"344963:6:19"}],"functionName":{"name":"mstore","nativeSrc":"344951:6:19","nodeType":"YulIdentifier","src":"344951:6:19"},"nativeSrc":"344951:19:19","nodeType":"YulFunctionCall","src":"344951:19:19"},"nativeSrc":"344951:19:19","nodeType":"YulExpressionStatement","src":"344951:19:19"},{"nativeSrc":"344987:37:19","nodeType":"YulVariableDeclaration","src":"344987:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"345004:3:19","nodeType":"YulLiteral","src":"345004:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"345013:1:19","nodeType":"YulLiteral","src":"345013:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"345016:6:19","nodeType":"YulIdentifier","src":"345016:6:19"}],"functionName":{"name":"shl","nativeSrc":"345009:3:19","nodeType":"YulIdentifier","src":"345009:3:19"},"nativeSrc":"345009:14:19","nodeType":"YulFunctionCall","src":"345009:14:19"}],"functionName":{"name":"sub","nativeSrc":"345000:3:19","nodeType":"YulIdentifier","src":"345000:3:19"},"nativeSrc":"345000:24:19","nodeType":"YulFunctionCall","src":"345000:24:19"},"variables":[{"name":"shift","nativeSrc":"344991:5:19","nodeType":"YulTypedName","src":"344991:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"345052:3:19","nodeType":"YulIdentifier","src":"345052:3:19"},{"kind":"number","nativeSrc":"345057:4:19","nodeType":"YulLiteral","src":"345057:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"345048:3:19","nodeType":"YulIdentifier","src":"345048:3:19"},"nativeSrc":"345048:14:19","nodeType":"YulFunctionCall","src":"345048:14:19"},{"arguments":[{"name":"shift","nativeSrc":"345068:5:19","nodeType":"YulIdentifier","src":"345068:5:19"},{"arguments":[{"name":"shift","nativeSrc":"345079:5:19","nodeType":"YulIdentifier","src":"345079:5:19"},{"name":"w","nativeSrc":"345086:1:19","nodeType":"YulIdentifier","src":"345086:1:19"}],"functionName":{"name":"shr","nativeSrc":"345075:3:19","nodeType":"YulIdentifier","src":"345075:3:19"},"nativeSrc":"345075:13:19","nodeType":"YulFunctionCall","src":"345075:13:19"}],"functionName":{"name":"shl","nativeSrc":"345064:3:19","nodeType":"YulIdentifier","src":"345064:3:19"},"nativeSrc":"345064:25:19","nodeType":"YulFunctionCall","src":"345064:25:19"}],"functionName":{"name":"mstore","nativeSrc":"345041:6:19","nodeType":"YulIdentifier","src":"345041:6:19"},"nativeSrc":"345041:49:19","nodeType":"YulFunctionCall","src":"345041:49:19"},"nativeSrc":"345041:49:19","nodeType":"YulExpressionStatement","src":"345041:49:19"}]},"name":"writeString","nativeSrc":"344762:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"344783:3:19","nodeType":"YulTypedName","src":"344783:3:19","type":""},{"name":"w","nativeSrc":"344788:1:19","nodeType":"YulTypedName","src":"344788:1:19","type":""}],"src":"344762:342:19"},{"nativeSrc":"345117:17:19","nodeType":"YulAssignment","src":"345117:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"345129:4:19","nodeType":"YulLiteral","src":"345129:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"345123:5:19","nodeType":"YulIdentifier","src":"345123:5:19"},"nativeSrc":"345123:11:19","nodeType":"YulFunctionCall","src":"345123:11:19"},"variableNames":[{"name":"m0","nativeSrc":"345117:2:19","nodeType":"YulIdentifier","src":"345117:2:19"}]},{"nativeSrc":"345147:17:19","nodeType":"YulAssignment","src":"345147:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"345159:4:19","nodeType":"YulLiteral","src":"345159:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"345153:5:19","nodeType":"YulIdentifier","src":"345153:5:19"},"nativeSrc":"345153:11:19","nodeType":"YulFunctionCall","src":"345153:11:19"},"variableNames":[{"name":"m1","nativeSrc":"345147:2:19","nodeType":"YulIdentifier","src":"345147:2:19"}]},{"nativeSrc":"345177:17:19","nodeType":"YulAssignment","src":"345177:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"345189:4:19","nodeType":"YulLiteral","src":"345189:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"345183:5:19","nodeType":"YulIdentifier","src":"345183:5:19"},"nativeSrc":"345183:11:19","nodeType":"YulFunctionCall","src":"345183:11:19"},"variableNames":[{"name":"m2","nativeSrc":"345177:2:19","nodeType":"YulIdentifier","src":"345177:2:19"}]},{"nativeSrc":"345207:17:19","nodeType":"YulAssignment","src":"345207:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"345219:4:19","nodeType":"YulLiteral","src":"345219:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"345213:5:19","nodeType":"YulIdentifier","src":"345213:5:19"},"nativeSrc":"345213:11:19","nodeType":"YulFunctionCall","src":"345213:11:19"},"variableNames":[{"name":"m3","nativeSrc":"345207:2:19","nodeType":"YulIdentifier","src":"345207:2:19"}]},{"nativeSrc":"345237:17:19","nodeType":"YulAssignment","src":"345237:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"345249:4:19","nodeType":"YulLiteral","src":"345249:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"345243:5:19","nodeType":"YulIdentifier","src":"345243:5:19"},"nativeSrc":"345243:11:19","nodeType":"YulFunctionCall","src":"345243:11:19"},"variableNames":[{"name":"m4","nativeSrc":"345237:2:19","nodeType":"YulIdentifier","src":"345237:2:19"}]},{"nativeSrc":"345267:17:19","nodeType":"YulAssignment","src":"345267:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"345279:4:19","nodeType":"YulLiteral","src":"345279:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"345273:5:19","nodeType":"YulIdentifier","src":"345273:5:19"},"nativeSrc":"345273:11:19","nodeType":"YulFunctionCall","src":"345273:11:19"},"variableNames":[{"name":"m5","nativeSrc":"345267:2:19","nodeType":"YulIdentifier","src":"345267:2:19"}]},{"nativeSrc":"345297:17:19","nodeType":"YulAssignment","src":"345297:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"345309:4:19","nodeType":"YulLiteral","src":"345309:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"345303:5:19","nodeType":"YulIdentifier","src":"345303:5:19"},"nativeSrc":"345303:11:19","nodeType":"YulFunctionCall","src":"345303:11:19"},"variableNames":[{"name":"m6","nativeSrc":"345297:2:19","nodeType":"YulIdentifier","src":"345297:2:19"}]},{"nativeSrc":"345327:17:19","nodeType":"YulAssignment","src":"345327:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"345339:4:19","nodeType":"YulLiteral","src":"345339:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"345333:5:19","nodeType":"YulIdentifier","src":"345333:5:19"},"nativeSrc":"345333:11:19","nodeType":"YulFunctionCall","src":"345333:11:19"},"variableNames":[{"name":"m7","nativeSrc":"345327:2:19","nodeType":"YulIdentifier","src":"345327:2:19"}]},{"nativeSrc":"345357:18:19","nodeType":"YulAssignment","src":"345357:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"345369:5:19","nodeType":"YulLiteral","src":"345369:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"345363:5:19","nodeType":"YulIdentifier","src":"345363:5:19"},"nativeSrc":"345363:12:19","nodeType":"YulFunctionCall","src":"345363:12:19"},"variableNames":[{"name":"m8","nativeSrc":"345357:2:19","nodeType":"YulIdentifier","src":"345357:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345460:4:19","nodeType":"YulLiteral","src":"345460:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"345466:10:19","nodeType":"YulLiteral","src":"345466:10:19","type":"","value":"0xaabc9a31"}],"functionName":{"name":"mstore","nativeSrc":"345453:6:19","nodeType":"YulIdentifier","src":"345453:6:19"},"nativeSrc":"345453:24:19","nodeType":"YulFunctionCall","src":"345453:24:19"},"nativeSrc":"345453:24:19","nodeType":"YulExpressionStatement","src":"345453:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345497:4:19","nodeType":"YulLiteral","src":"345497:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"345503:4:19","nodeType":"YulLiteral","src":"345503:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"345490:6:19","nodeType":"YulIdentifier","src":"345490:6:19"},"nativeSrc":"345490:18:19","nodeType":"YulFunctionCall","src":"345490:18:19"},"nativeSrc":"345490:18:19","nodeType":"YulExpressionStatement","src":"345490:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345528:4:19","nodeType":"YulLiteral","src":"345528:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"345534:2:19","nodeType":"YulIdentifier","src":"345534:2:19"}],"functionName":{"name":"mstore","nativeSrc":"345521:6:19","nodeType":"YulIdentifier","src":"345521:6:19"},"nativeSrc":"345521:16:19","nodeType":"YulFunctionCall","src":"345521:16:19"},"nativeSrc":"345521:16:19","nodeType":"YulExpressionStatement","src":"345521:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345557:4:19","nodeType":"YulLiteral","src":"345557:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"345563:4:19","nodeType":"YulLiteral","src":"345563:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"345550:6:19","nodeType":"YulIdentifier","src":"345550:6:19"},"nativeSrc":"345550:18:19","nodeType":"YulFunctionCall","src":"345550:18:19"},"nativeSrc":"345550:18:19","nodeType":"YulExpressionStatement","src":"345550:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345588:4:19","nodeType":"YulLiteral","src":"345588:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"345594:2:19","nodeType":"YulIdentifier","src":"345594:2:19"}],"functionName":{"name":"mstore","nativeSrc":"345581:6:19","nodeType":"YulIdentifier","src":"345581:6:19"},"nativeSrc":"345581:16:19","nodeType":"YulFunctionCall","src":"345581:16:19"},"nativeSrc":"345581:16:19","nodeType":"YulExpressionStatement","src":"345581:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345622:4:19","nodeType":"YulLiteral","src":"345622:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"345628:2:19","nodeType":"YulIdentifier","src":"345628:2:19"}],"functionName":{"name":"writeString","nativeSrc":"345610:11:19","nodeType":"YulIdentifier","src":"345610:11:19"},"nativeSrc":"345610:21:19","nodeType":"YulFunctionCall","src":"345610:21:19"},"nativeSrc":"345610:21:19","nodeType":"YulExpressionStatement","src":"345610:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345656:4:19","nodeType":"YulLiteral","src":"345656:4:19","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"345662:2:19","nodeType":"YulIdentifier","src":"345662:2:19"}],"functionName":{"name":"writeString","nativeSrc":"345644:11:19","nodeType":"YulIdentifier","src":"345644:11:19"},"nativeSrc":"345644:21:19","nodeType":"YulFunctionCall","src":"345644:21:19"},"nativeSrc":"345644:21:19","nodeType":"YulExpressionStatement","src":"345644:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37020,"isOffset":false,"isSlot":false,"src":"345117:2:19","valueSize":1},{"declaration":37023,"isOffset":false,"isSlot":false,"src":"345147:2:19","valueSize":1},{"declaration":37026,"isOffset":false,"isSlot":false,"src":"345177:2:19","valueSize":1},{"declaration":37029,"isOffset":false,"isSlot":false,"src":"345207:2:19","valueSize":1},{"declaration":37032,"isOffset":false,"isSlot":false,"src":"345237:2:19","valueSize":1},{"declaration":37035,"isOffset":false,"isSlot":false,"src":"345267:2:19","valueSize":1},{"declaration":37038,"isOffset":false,"isSlot":false,"src":"345297:2:19","valueSize":1},{"declaration":37041,"isOffset":false,"isSlot":false,"src":"345327:2:19","valueSize":1},{"declaration":37044,"isOffset":false,"isSlot":false,"src":"345357:2:19","valueSize":1},{"declaration":37010,"isOffset":false,"isSlot":false,"src":"345628:2:19","valueSize":1},{"declaration":37012,"isOffset":false,"isSlot":false,"src":"345534:2:19","valueSize":1},{"declaration":37014,"isOffset":false,"isSlot":false,"src":"345662:2:19","valueSize":1},{"declaration":37016,"isOffset":false,"isSlot":false,"src":"345594:2:19","valueSize":1}],"id":37046,"nodeType":"InlineAssembly","src":"344739:936:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":37048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"345700:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":37049,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"345706:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":37047,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"345684:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"345684:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37051,"nodeType":"ExpressionStatement","src":"345684:28:19"},{"AST":{"nativeSrc":"345774:273:19","nodeType":"YulBlock","src":"345774:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"345795:4:19","nodeType":"YulLiteral","src":"345795:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"345801:2:19","nodeType":"YulIdentifier","src":"345801:2:19"}],"functionName":{"name":"mstore","nativeSrc":"345788:6:19","nodeType":"YulIdentifier","src":"345788:6:19"},"nativeSrc":"345788:16:19","nodeType":"YulFunctionCall","src":"345788:16:19"},"nativeSrc":"345788:16:19","nodeType":"YulExpressionStatement","src":"345788:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345824:4:19","nodeType":"YulLiteral","src":"345824:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"345830:2:19","nodeType":"YulIdentifier","src":"345830:2:19"}],"functionName":{"name":"mstore","nativeSrc":"345817:6:19","nodeType":"YulIdentifier","src":"345817:6:19"},"nativeSrc":"345817:16:19","nodeType":"YulFunctionCall","src":"345817:16:19"},"nativeSrc":"345817:16:19","nodeType":"YulExpressionStatement","src":"345817:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345853:4:19","nodeType":"YulLiteral","src":"345853:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"345859:2:19","nodeType":"YulIdentifier","src":"345859:2:19"}],"functionName":{"name":"mstore","nativeSrc":"345846:6:19","nodeType":"YulIdentifier","src":"345846:6:19"},"nativeSrc":"345846:16:19","nodeType":"YulFunctionCall","src":"345846:16:19"},"nativeSrc":"345846:16:19","nodeType":"YulExpressionStatement","src":"345846:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345882:4:19","nodeType":"YulLiteral","src":"345882:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"345888:2:19","nodeType":"YulIdentifier","src":"345888:2:19"}],"functionName":{"name":"mstore","nativeSrc":"345875:6:19","nodeType":"YulIdentifier","src":"345875:6:19"},"nativeSrc":"345875:16:19","nodeType":"YulFunctionCall","src":"345875:16:19"},"nativeSrc":"345875:16:19","nodeType":"YulExpressionStatement","src":"345875:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345911:4:19","nodeType":"YulLiteral","src":"345911:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"345917:2:19","nodeType":"YulIdentifier","src":"345917:2:19"}],"functionName":{"name":"mstore","nativeSrc":"345904:6:19","nodeType":"YulIdentifier","src":"345904:6:19"},"nativeSrc":"345904:16:19","nodeType":"YulFunctionCall","src":"345904:16:19"},"nativeSrc":"345904:16:19","nodeType":"YulExpressionStatement","src":"345904:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345940:4:19","nodeType":"YulLiteral","src":"345940:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"345946:2:19","nodeType":"YulIdentifier","src":"345946:2:19"}],"functionName":{"name":"mstore","nativeSrc":"345933:6:19","nodeType":"YulIdentifier","src":"345933:6:19"},"nativeSrc":"345933:16:19","nodeType":"YulFunctionCall","src":"345933:16:19"},"nativeSrc":"345933:16:19","nodeType":"YulExpressionStatement","src":"345933:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345969:4:19","nodeType":"YulLiteral","src":"345969:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"345975:2:19","nodeType":"YulIdentifier","src":"345975:2:19"}],"functionName":{"name":"mstore","nativeSrc":"345962:6:19","nodeType":"YulIdentifier","src":"345962:6:19"},"nativeSrc":"345962:16:19","nodeType":"YulFunctionCall","src":"345962:16:19"},"nativeSrc":"345962:16:19","nodeType":"YulExpressionStatement","src":"345962:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"345998:4:19","nodeType":"YulLiteral","src":"345998:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"346004:2:19","nodeType":"YulIdentifier","src":"346004:2:19"}],"functionName":{"name":"mstore","nativeSrc":"345991:6:19","nodeType":"YulIdentifier","src":"345991:6:19"},"nativeSrc":"345991:16:19","nodeType":"YulFunctionCall","src":"345991:16:19"},"nativeSrc":"345991:16:19","nodeType":"YulExpressionStatement","src":"345991:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"346027:5:19","nodeType":"YulLiteral","src":"346027:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"346034:2:19","nodeType":"YulIdentifier","src":"346034:2:19"}],"functionName":{"name":"mstore","nativeSrc":"346020:6:19","nodeType":"YulIdentifier","src":"346020:6:19"},"nativeSrc":"346020:17:19","nodeType":"YulFunctionCall","src":"346020:17:19"},"nativeSrc":"346020:17:19","nodeType":"YulExpressionStatement","src":"346020:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37020,"isOffset":false,"isSlot":false,"src":"345801:2:19","valueSize":1},{"declaration":37023,"isOffset":false,"isSlot":false,"src":"345830:2:19","valueSize":1},{"declaration":37026,"isOffset":false,"isSlot":false,"src":"345859:2:19","valueSize":1},{"declaration":37029,"isOffset":false,"isSlot":false,"src":"345888:2:19","valueSize":1},{"declaration":37032,"isOffset":false,"isSlot":false,"src":"345917:2:19","valueSize":1},{"declaration":37035,"isOffset":false,"isSlot":false,"src":"345946:2:19","valueSize":1},{"declaration":37038,"isOffset":false,"isSlot":false,"src":"345975:2:19","valueSize":1},{"declaration":37041,"isOffset":false,"isSlot":false,"src":"346004:2:19","valueSize":1},{"declaration":37044,"isOffset":false,"isSlot":false,"src":"346034:2:19","valueSize":1}],"id":37052,"nodeType":"InlineAssembly","src":"345765:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"344440:3:19","parameters":{"id":37017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37010,"mutability":"mutable","name":"p0","nameLocation":"344452:2:19","nodeType":"VariableDeclaration","scope":37054,"src":"344444:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37009,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344444:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37012,"mutability":"mutable","name":"p1","nameLocation":"344464:2:19","nodeType":"VariableDeclaration","scope":37054,"src":"344456:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37011,"name":"address","nodeType":"ElementaryTypeName","src":"344456:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37014,"mutability":"mutable","name":"p2","nameLocation":"344476:2:19","nodeType":"VariableDeclaration","scope":37054,"src":"344468:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37013,"name":"bytes32","nodeType":"ElementaryTypeName","src":"344468:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37016,"mutability":"mutable","name":"p3","nameLocation":"344488:2:19","nodeType":"VariableDeclaration","scope":37054,"src":"344480:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37015,"name":"address","nodeType":"ElementaryTypeName","src":"344480:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"344443:48:19"},"returnParameters":{"id":37018,"nodeType":"ParameterList","parameters":[],"src":"344506:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37100,"nodeType":"FunctionDefinition","src":"346059:1616:19","nodes":[],"body":{"id":37099,"nodeType":"Block","src":"346131:1544:19","nodes":[],"statements":[{"assignments":[37066],"declarations":[{"constant":false,"id":37066,"mutability":"mutable","name":"m0","nameLocation":"346149:2:19","nodeType":"VariableDeclaration","scope":37099,"src":"346141:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37065,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346141:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37067,"nodeType":"VariableDeclarationStatement","src":"346141:10:19"},{"assignments":[37069],"declarations":[{"constant":false,"id":37069,"mutability":"mutable","name":"m1","nameLocation":"346169:2:19","nodeType":"VariableDeclaration","scope":37099,"src":"346161:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37068,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346161:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37070,"nodeType":"VariableDeclarationStatement","src":"346161:10:19"},{"assignments":[37072],"declarations":[{"constant":false,"id":37072,"mutability":"mutable","name":"m2","nameLocation":"346189:2:19","nodeType":"VariableDeclaration","scope":37099,"src":"346181:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37071,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346181:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37073,"nodeType":"VariableDeclarationStatement","src":"346181:10:19"},{"assignments":[37075],"declarations":[{"constant":false,"id":37075,"mutability":"mutable","name":"m3","nameLocation":"346209:2:19","nodeType":"VariableDeclaration","scope":37099,"src":"346201:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37074,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346201:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37076,"nodeType":"VariableDeclarationStatement","src":"346201:10:19"},{"assignments":[37078],"declarations":[{"constant":false,"id":37078,"mutability":"mutable","name":"m4","nameLocation":"346229:2:19","nodeType":"VariableDeclaration","scope":37099,"src":"346221:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37077,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346221:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37079,"nodeType":"VariableDeclarationStatement","src":"346221:10:19"},{"assignments":[37081],"declarations":[{"constant":false,"id":37081,"mutability":"mutable","name":"m5","nameLocation":"346249:2:19","nodeType":"VariableDeclaration","scope":37099,"src":"346241:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37080,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346241:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37082,"nodeType":"VariableDeclarationStatement","src":"346241:10:19"},{"assignments":[37084],"declarations":[{"constant":false,"id":37084,"mutability":"mutable","name":"m6","nameLocation":"346269:2:19","nodeType":"VariableDeclaration","scope":37099,"src":"346261:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37083,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346261:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37085,"nodeType":"VariableDeclarationStatement","src":"346261:10:19"},{"assignments":[37087],"declarations":[{"constant":false,"id":37087,"mutability":"mutable","name":"m7","nameLocation":"346289:2:19","nodeType":"VariableDeclaration","scope":37099,"src":"346281:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37086,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346281:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37088,"nodeType":"VariableDeclarationStatement","src":"346281:10:19"},{"assignments":[37090],"declarations":[{"constant":false,"id":37090,"mutability":"mutable","name":"m8","nameLocation":"346309:2:19","nodeType":"VariableDeclaration","scope":37099,"src":"346301:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37089,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346301:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37091,"nodeType":"VariableDeclarationStatement","src":"346301:10:19"},{"AST":{"nativeSrc":"346373:924:19","nodeType":"YulBlock","src":"346373:924:19","statements":[{"body":{"nativeSrc":"346416:313:19","nodeType":"YulBlock","src":"346416:313:19","statements":[{"nativeSrc":"346434:15:19","nodeType":"YulVariableDeclaration","src":"346434:15:19","value":{"kind":"number","nativeSrc":"346448:1:19","nodeType":"YulLiteral","src":"346448:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"346438:6:19","nodeType":"YulTypedName","src":"346438:6:19","type":""}]},{"body":{"nativeSrc":"346519:40:19","nodeType":"YulBlock","src":"346519:40:19","statements":[{"body":{"nativeSrc":"346548:9:19","nodeType":"YulBlock","src":"346548:9:19","statements":[{"nativeSrc":"346550:5:19","nodeType":"YulBreak","src":"346550:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"346536:6:19","nodeType":"YulIdentifier","src":"346536:6:19"},{"name":"w","nativeSrc":"346544:1:19","nodeType":"YulIdentifier","src":"346544:1:19"}],"functionName":{"name":"byte","nativeSrc":"346531:4:19","nodeType":"YulIdentifier","src":"346531:4:19"},"nativeSrc":"346531:15:19","nodeType":"YulFunctionCall","src":"346531:15:19"}],"functionName":{"name":"iszero","nativeSrc":"346524:6:19","nodeType":"YulIdentifier","src":"346524:6:19"},"nativeSrc":"346524:23:19","nodeType":"YulFunctionCall","src":"346524:23:19"},"nativeSrc":"346521:36:19","nodeType":"YulIf","src":"346521:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"346476:6:19","nodeType":"YulIdentifier","src":"346476:6:19"},{"kind":"number","nativeSrc":"346484:4:19","nodeType":"YulLiteral","src":"346484:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"346473:2:19","nodeType":"YulIdentifier","src":"346473:2:19"},"nativeSrc":"346473:16:19","nodeType":"YulFunctionCall","src":"346473:16:19"},"nativeSrc":"346466:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"346490:28:19","nodeType":"YulBlock","src":"346490:28:19","statements":[{"nativeSrc":"346492:24:19","nodeType":"YulAssignment","src":"346492:24:19","value":{"arguments":[{"name":"length","nativeSrc":"346506:6:19","nodeType":"YulIdentifier","src":"346506:6:19"},{"kind":"number","nativeSrc":"346514:1:19","nodeType":"YulLiteral","src":"346514:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"346502:3:19","nodeType":"YulIdentifier","src":"346502:3:19"},"nativeSrc":"346502:14:19","nodeType":"YulFunctionCall","src":"346502:14:19"},"variableNames":[{"name":"length","nativeSrc":"346492:6:19","nodeType":"YulIdentifier","src":"346492:6:19"}]}]},"pre":{"nativeSrc":"346470:2:19","nodeType":"YulBlock","src":"346470:2:19","statements":[]},"src":"346466:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"346583:3:19","nodeType":"YulIdentifier","src":"346583:3:19"},{"name":"length","nativeSrc":"346588:6:19","nodeType":"YulIdentifier","src":"346588:6:19"}],"functionName":{"name":"mstore","nativeSrc":"346576:6:19","nodeType":"YulIdentifier","src":"346576:6:19"},"nativeSrc":"346576:19:19","nodeType":"YulFunctionCall","src":"346576:19:19"},"nativeSrc":"346576:19:19","nodeType":"YulExpressionStatement","src":"346576:19:19"},{"nativeSrc":"346612:37:19","nodeType":"YulVariableDeclaration","src":"346612:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"346629:3:19","nodeType":"YulLiteral","src":"346629:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"346638:1:19","nodeType":"YulLiteral","src":"346638:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"346641:6:19","nodeType":"YulIdentifier","src":"346641:6:19"}],"functionName":{"name":"shl","nativeSrc":"346634:3:19","nodeType":"YulIdentifier","src":"346634:3:19"},"nativeSrc":"346634:14:19","nodeType":"YulFunctionCall","src":"346634:14:19"}],"functionName":{"name":"sub","nativeSrc":"346625:3:19","nodeType":"YulIdentifier","src":"346625:3:19"},"nativeSrc":"346625:24:19","nodeType":"YulFunctionCall","src":"346625:24:19"},"variables":[{"name":"shift","nativeSrc":"346616:5:19","nodeType":"YulTypedName","src":"346616:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"346677:3:19","nodeType":"YulIdentifier","src":"346677:3:19"},{"kind":"number","nativeSrc":"346682:4:19","nodeType":"YulLiteral","src":"346682:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"346673:3:19","nodeType":"YulIdentifier","src":"346673:3:19"},"nativeSrc":"346673:14:19","nodeType":"YulFunctionCall","src":"346673:14:19"},{"arguments":[{"name":"shift","nativeSrc":"346693:5:19","nodeType":"YulIdentifier","src":"346693:5:19"},{"arguments":[{"name":"shift","nativeSrc":"346704:5:19","nodeType":"YulIdentifier","src":"346704:5:19"},{"name":"w","nativeSrc":"346711:1:19","nodeType":"YulIdentifier","src":"346711:1:19"}],"functionName":{"name":"shr","nativeSrc":"346700:3:19","nodeType":"YulIdentifier","src":"346700:3:19"},"nativeSrc":"346700:13:19","nodeType":"YulFunctionCall","src":"346700:13:19"}],"functionName":{"name":"shl","nativeSrc":"346689:3:19","nodeType":"YulIdentifier","src":"346689:3:19"},"nativeSrc":"346689:25:19","nodeType":"YulFunctionCall","src":"346689:25:19"}],"functionName":{"name":"mstore","nativeSrc":"346666:6:19","nodeType":"YulIdentifier","src":"346666:6:19"},"nativeSrc":"346666:49:19","nodeType":"YulFunctionCall","src":"346666:49:19"},"nativeSrc":"346666:49:19","nodeType":"YulExpressionStatement","src":"346666:49:19"}]},"name":"writeString","nativeSrc":"346387:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"346408:3:19","nodeType":"YulTypedName","src":"346408:3:19","type":""},{"name":"w","nativeSrc":"346413:1:19","nodeType":"YulTypedName","src":"346413:1:19","type":""}],"src":"346387:342:19"},{"nativeSrc":"346742:17:19","nodeType":"YulAssignment","src":"346742:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"346754:4:19","nodeType":"YulLiteral","src":"346754:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"346748:5:19","nodeType":"YulIdentifier","src":"346748:5:19"},"nativeSrc":"346748:11:19","nodeType":"YulFunctionCall","src":"346748:11:19"},"variableNames":[{"name":"m0","nativeSrc":"346742:2:19","nodeType":"YulIdentifier","src":"346742:2:19"}]},{"nativeSrc":"346772:17:19","nodeType":"YulAssignment","src":"346772:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"346784:4:19","nodeType":"YulLiteral","src":"346784:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"346778:5:19","nodeType":"YulIdentifier","src":"346778:5:19"},"nativeSrc":"346778:11:19","nodeType":"YulFunctionCall","src":"346778:11:19"},"variableNames":[{"name":"m1","nativeSrc":"346772:2:19","nodeType":"YulIdentifier","src":"346772:2:19"}]},{"nativeSrc":"346802:17:19","nodeType":"YulAssignment","src":"346802:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"346814:4:19","nodeType":"YulLiteral","src":"346814:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"346808:5:19","nodeType":"YulIdentifier","src":"346808:5:19"},"nativeSrc":"346808:11:19","nodeType":"YulFunctionCall","src":"346808:11:19"},"variableNames":[{"name":"m2","nativeSrc":"346802:2:19","nodeType":"YulIdentifier","src":"346802:2:19"}]},{"nativeSrc":"346832:17:19","nodeType":"YulAssignment","src":"346832:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"346844:4:19","nodeType":"YulLiteral","src":"346844:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"346838:5:19","nodeType":"YulIdentifier","src":"346838:5:19"},"nativeSrc":"346838:11:19","nodeType":"YulFunctionCall","src":"346838:11:19"},"variableNames":[{"name":"m3","nativeSrc":"346832:2:19","nodeType":"YulIdentifier","src":"346832:2:19"}]},{"nativeSrc":"346862:17:19","nodeType":"YulAssignment","src":"346862:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"346874:4:19","nodeType":"YulLiteral","src":"346874:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"346868:5:19","nodeType":"YulIdentifier","src":"346868:5:19"},"nativeSrc":"346868:11:19","nodeType":"YulFunctionCall","src":"346868:11:19"},"variableNames":[{"name":"m4","nativeSrc":"346862:2:19","nodeType":"YulIdentifier","src":"346862:2:19"}]},{"nativeSrc":"346892:17:19","nodeType":"YulAssignment","src":"346892:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"346904:4:19","nodeType":"YulLiteral","src":"346904:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"346898:5:19","nodeType":"YulIdentifier","src":"346898:5:19"},"nativeSrc":"346898:11:19","nodeType":"YulFunctionCall","src":"346898:11:19"},"variableNames":[{"name":"m5","nativeSrc":"346892:2:19","nodeType":"YulIdentifier","src":"346892:2:19"}]},{"nativeSrc":"346922:17:19","nodeType":"YulAssignment","src":"346922:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"346934:4:19","nodeType":"YulLiteral","src":"346934:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"346928:5:19","nodeType":"YulIdentifier","src":"346928:5:19"},"nativeSrc":"346928:11:19","nodeType":"YulFunctionCall","src":"346928:11:19"},"variableNames":[{"name":"m6","nativeSrc":"346922:2:19","nodeType":"YulIdentifier","src":"346922:2:19"}]},{"nativeSrc":"346952:17:19","nodeType":"YulAssignment","src":"346952:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"346964:4:19","nodeType":"YulLiteral","src":"346964:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"346958:5:19","nodeType":"YulIdentifier","src":"346958:5:19"},"nativeSrc":"346958:11:19","nodeType":"YulFunctionCall","src":"346958:11:19"},"variableNames":[{"name":"m7","nativeSrc":"346952:2:19","nodeType":"YulIdentifier","src":"346952:2:19"}]},{"nativeSrc":"346982:18:19","nodeType":"YulAssignment","src":"346982:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"346994:5:19","nodeType":"YulLiteral","src":"346994:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"346988:5:19","nodeType":"YulIdentifier","src":"346988:5:19"},"nativeSrc":"346988:12:19","nodeType":"YulFunctionCall","src":"346988:12:19"},"variableNames":[{"name":"m8","nativeSrc":"346982:2:19","nodeType":"YulIdentifier","src":"346982:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347082:4:19","nodeType":"YulLiteral","src":"347082:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"347088:10:19","nodeType":"YulLiteral","src":"347088:10:19","type":"","value":"0x5f15d28c"}],"functionName":{"name":"mstore","nativeSrc":"347075:6:19","nodeType":"YulIdentifier","src":"347075:6:19"},"nativeSrc":"347075:24:19","nodeType":"YulFunctionCall","src":"347075:24:19"},"nativeSrc":"347075:24:19","nodeType":"YulExpressionStatement","src":"347075:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347119:4:19","nodeType":"YulLiteral","src":"347119:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"347125:4:19","nodeType":"YulLiteral","src":"347125:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"347112:6:19","nodeType":"YulIdentifier","src":"347112:6:19"},"nativeSrc":"347112:18:19","nodeType":"YulFunctionCall","src":"347112:18:19"},"nativeSrc":"347112:18:19","nodeType":"YulExpressionStatement","src":"347112:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347150:4:19","nodeType":"YulLiteral","src":"347150:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"347156:2:19","nodeType":"YulIdentifier","src":"347156:2:19"}],"functionName":{"name":"mstore","nativeSrc":"347143:6:19","nodeType":"YulIdentifier","src":"347143:6:19"},"nativeSrc":"347143:16:19","nodeType":"YulFunctionCall","src":"347143:16:19"},"nativeSrc":"347143:16:19","nodeType":"YulExpressionStatement","src":"347143:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347179:4:19","nodeType":"YulLiteral","src":"347179:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"347185:4:19","nodeType":"YulLiteral","src":"347185:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"347172:6:19","nodeType":"YulIdentifier","src":"347172:6:19"},"nativeSrc":"347172:18:19","nodeType":"YulFunctionCall","src":"347172:18:19"},"nativeSrc":"347172:18:19","nodeType":"YulExpressionStatement","src":"347172:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347210:4:19","nodeType":"YulLiteral","src":"347210:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"347216:2:19","nodeType":"YulIdentifier","src":"347216:2:19"}],"functionName":{"name":"mstore","nativeSrc":"347203:6:19","nodeType":"YulIdentifier","src":"347203:6:19"},"nativeSrc":"347203:16:19","nodeType":"YulFunctionCall","src":"347203:16:19"},"nativeSrc":"347203:16:19","nodeType":"YulExpressionStatement","src":"347203:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347244:4:19","nodeType":"YulLiteral","src":"347244:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"347250:2:19","nodeType":"YulIdentifier","src":"347250:2:19"}],"functionName":{"name":"writeString","nativeSrc":"347232:11:19","nodeType":"YulIdentifier","src":"347232:11:19"},"nativeSrc":"347232:21:19","nodeType":"YulFunctionCall","src":"347232:21:19"},"nativeSrc":"347232:21:19","nodeType":"YulExpressionStatement","src":"347232:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347278:4:19","nodeType":"YulLiteral","src":"347278:4:19","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"347284:2:19","nodeType":"YulIdentifier","src":"347284:2:19"}],"functionName":{"name":"writeString","nativeSrc":"347266:11:19","nodeType":"YulIdentifier","src":"347266:11:19"},"nativeSrc":"347266:21:19","nodeType":"YulFunctionCall","src":"347266:21:19"},"nativeSrc":"347266:21:19","nodeType":"YulExpressionStatement","src":"347266:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37066,"isOffset":false,"isSlot":false,"src":"346742:2:19","valueSize":1},{"declaration":37069,"isOffset":false,"isSlot":false,"src":"346772:2:19","valueSize":1},{"declaration":37072,"isOffset":false,"isSlot":false,"src":"346802:2:19","valueSize":1},{"declaration":37075,"isOffset":false,"isSlot":false,"src":"346832:2:19","valueSize":1},{"declaration":37078,"isOffset":false,"isSlot":false,"src":"346862:2:19","valueSize":1},{"declaration":37081,"isOffset":false,"isSlot":false,"src":"346892:2:19","valueSize":1},{"declaration":37084,"isOffset":false,"isSlot":false,"src":"346922:2:19","valueSize":1},{"declaration":37087,"isOffset":false,"isSlot":false,"src":"346952:2:19","valueSize":1},{"declaration":37090,"isOffset":false,"isSlot":false,"src":"346982:2:19","valueSize":1},{"declaration":37056,"isOffset":false,"isSlot":false,"src":"347250:2:19","valueSize":1},{"declaration":37058,"isOffset":false,"isSlot":false,"src":"347156:2:19","valueSize":1},{"declaration":37060,"isOffset":false,"isSlot":false,"src":"347284:2:19","valueSize":1},{"declaration":37062,"isOffset":false,"isSlot":false,"src":"347216:2:19","valueSize":1}],"id":37092,"nodeType":"InlineAssembly","src":"346364:933:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":37094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"347322:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":37095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"347328:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":37093,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"347306:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"347306:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37097,"nodeType":"ExpressionStatement","src":"347306:28:19"},{"AST":{"nativeSrc":"347396:273:19","nodeType":"YulBlock","src":"347396:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"347417:4:19","nodeType":"YulLiteral","src":"347417:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"347423:2:19","nodeType":"YulIdentifier","src":"347423:2:19"}],"functionName":{"name":"mstore","nativeSrc":"347410:6:19","nodeType":"YulIdentifier","src":"347410:6:19"},"nativeSrc":"347410:16:19","nodeType":"YulFunctionCall","src":"347410:16:19"},"nativeSrc":"347410:16:19","nodeType":"YulExpressionStatement","src":"347410:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347446:4:19","nodeType":"YulLiteral","src":"347446:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"347452:2:19","nodeType":"YulIdentifier","src":"347452:2:19"}],"functionName":{"name":"mstore","nativeSrc":"347439:6:19","nodeType":"YulIdentifier","src":"347439:6:19"},"nativeSrc":"347439:16:19","nodeType":"YulFunctionCall","src":"347439:16:19"},"nativeSrc":"347439:16:19","nodeType":"YulExpressionStatement","src":"347439:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347475:4:19","nodeType":"YulLiteral","src":"347475:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"347481:2:19","nodeType":"YulIdentifier","src":"347481:2:19"}],"functionName":{"name":"mstore","nativeSrc":"347468:6:19","nodeType":"YulIdentifier","src":"347468:6:19"},"nativeSrc":"347468:16:19","nodeType":"YulFunctionCall","src":"347468:16:19"},"nativeSrc":"347468:16:19","nodeType":"YulExpressionStatement","src":"347468:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347504:4:19","nodeType":"YulLiteral","src":"347504:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"347510:2:19","nodeType":"YulIdentifier","src":"347510:2:19"}],"functionName":{"name":"mstore","nativeSrc":"347497:6:19","nodeType":"YulIdentifier","src":"347497:6:19"},"nativeSrc":"347497:16:19","nodeType":"YulFunctionCall","src":"347497:16:19"},"nativeSrc":"347497:16:19","nodeType":"YulExpressionStatement","src":"347497:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347533:4:19","nodeType":"YulLiteral","src":"347533:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"347539:2:19","nodeType":"YulIdentifier","src":"347539:2:19"}],"functionName":{"name":"mstore","nativeSrc":"347526:6:19","nodeType":"YulIdentifier","src":"347526:6:19"},"nativeSrc":"347526:16:19","nodeType":"YulFunctionCall","src":"347526:16:19"},"nativeSrc":"347526:16:19","nodeType":"YulExpressionStatement","src":"347526:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347562:4:19","nodeType":"YulLiteral","src":"347562:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"347568:2:19","nodeType":"YulIdentifier","src":"347568:2:19"}],"functionName":{"name":"mstore","nativeSrc":"347555:6:19","nodeType":"YulIdentifier","src":"347555:6:19"},"nativeSrc":"347555:16:19","nodeType":"YulFunctionCall","src":"347555:16:19"},"nativeSrc":"347555:16:19","nodeType":"YulExpressionStatement","src":"347555:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347591:4:19","nodeType":"YulLiteral","src":"347591:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"347597:2:19","nodeType":"YulIdentifier","src":"347597:2:19"}],"functionName":{"name":"mstore","nativeSrc":"347584:6:19","nodeType":"YulIdentifier","src":"347584:6:19"},"nativeSrc":"347584:16:19","nodeType":"YulFunctionCall","src":"347584:16:19"},"nativeSrc":"347584:16:19","nodeType":"YulExpressionStatement","src":"347584:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347620:4:19","nodeType":"YulLiteral","src":"347620:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"347626:2:19","nodeType":"YulIdentifier","src":"347626:2:19"}],"functionName":{"name":"mstore","nativeSrc":"347613:6:19","nodeType":"YulIdentifier","src":"347613:6:19"},"nativeSrc":"347613:16:19","nodeType":"YulFunctionCall","src":"347613:16:19"},"nativeSrc":"347613:16:19","nodeType":"YulExpressionStatement","src":"347613:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"347649:5:19","nodeType":"YulLiteral","src":"347649:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"347656:2:19","nodeType":"YulIdentifier","src":"347656:2:19"}],"functionName":{"name":"mstore","nativeSrc":"347642:6:19","nodeType":"YulIdentifier","src":"347642:6:19"},"nativeSrc":"347642:17:19","nodeType":"YulFunctionCall","src":"347642:17:19"},"nativeSrc":"347642:17:19","nodeType":"YulExpressionStatement","src":"347642:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37066,"isOffset":false,"isSlot":false,"src":"347423:2:19","valueSize":1},{"declaration":37069,"isOffset":false,"isSlot":false,"src":"347452:2:19","valueSize":1},{"declaration":37072,"isOffset":false,"isSlot":false,"src":"347481:2:19","valueSize":1},{"declaration":37075,"isOffset":false,"isSlot":false,"src":"347510:2:19","valueSize":1},{"declaration":37078,"isOffset":false,"isSlot":false,"src":"347539:2:19","valueSize":1},{"declaration":37081,"isOffset":false,"isSlot":false,"src":"347568:2:19","valueSize":1},{"declaration":37084,"isOffset":false,"isSlot":false,"src":"347597:2:19","valueSize":1},{"declaration":37087,"isOffset":false,"isSlot":false,"src":"347626:2:19","valueSize":1},{"declaration":37090,"isOffset":false,"isSlot":false,"src":"347656:2:19","valueSize":1}],"id":37098,"nodeType":"InlineAssembly","src":"347387:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"346068:3:19","parameters":{"id":37063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37056,"mutability":"mutable","name":"p0","nameLocation":"346080:2:19","nodeType":"VariableDeclaration","scope":37100,"src":"346072:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37055,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346072:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37058,"mutability":"mutable","name":"p1","nameLocation":"346092:2:19","nodeType":"VariableDeclaration","scope":37100,"src":"346084:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37057,"name":"address","nodeType":"ElementaryTypeName","src":"346084:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37060,"mutability":"mutable","name":"p2","nameLocation":"346104:2:19","nodeType":"VariableDeclaration","scope":37100,"src":"346096:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37059,"name":"bytes32","nodeType":"ElementaryTypeName","src":"346096:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37062,"mutability":"mutable","name":"p3","nameLocation":"346113:2:19","nodeType":"VariableDeclaration","scope":37100,"src":"346108:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37061,"name":"bool","nodeType":"ElementaryTypeName","src":"346108:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"346071:45:19"},"returnParameters":{"id":37064,"nodeType":"ParameterList","parameters":[],"src":"346131:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37146,"nodeType":"FunctionDefinition","src":"347681:1622:19","nodes":[],"body":{"id":37145,"nodeType":"Block","src":"347756:1547:19","nodes":[],"statements":[{"assignments":[37112],"declarations":[{"constant":false,"id":37112,"mutability":"mutable","name":"m0","nameLocation":"347774:2:19","nodeType":"VariableDeclaration","scope":37145,"src":"347766:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347766:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37113,"nodeType":"VariableDeclarationStatement","src":"347766:10:19"},{"assignments":[37115],"declarations":[{"constant":false,"id":37115,"mutability":"mutable","name":"m1","nameLocation":"347794:2:19","nodeType":"VariableDeclaration","scope":37145,"src":"347786:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37114,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347786:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37116,"nodeType":"VariableDeclarationStatement","src":"347786:10:19"},{"assignments":[37118],"declarations":[{"constant":false,"id":37118,"mutability":"mutable","name":"m2","nameLocation":"347814:2:19","nodeType":"VariableDeclaration","scope":37145,"src":"347806:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37117,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347806:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37119,"nodeType":"VariableDeclarationStatement","src":"347806:10:19"},{"assignments":[37121],"declarations":[{"constant":false,"id":37121,"mutability":"mutable","name":"m3","nameLocation":"347834:2:19","nodeType":"VariableDeclaration","scope":37145,"src":"347826:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37120,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347826:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37122,"nodeType":"VariableDeclarationStatement","src":"347826:10:19"},{"assignments":[37124],"declarations":[{"constant":false,"id":37124,"mutability":"mutable","name":"m4","nameLocation":"347854:2:19","nodeType":"VariableDeclaration","scope":37145,"src":"347846:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37123,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347846:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37125,"nodeType":"VariableDeclarationStatement","src":"347846:10:19"},{"assignments":[37127],"declarations":[{"constant":false,"id":37127,"mutability":"mutable","name":"m5","nameLocation":"347874:2:19","nodeType":"VariableDeclaration","scope":37145,"src":"347866:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37126,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347866:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37128,"nodeType":"VariableDeclarationStatement","src":"347866:10:19"},{"assignments":[37130],"declarations":[{"constant":false,"id":37130,"mutability":"mutable","name":"m6","nameLocation":"347894:2:19","nodeType":"VariableDeclaration","scope":37145,"src":"347886:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37129,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347886:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37131,"nodeType":"VariableDeclarationStatement","src":"347886:10:19"},{"assignments":[37133],"declarations":[{"constant":false,"id":37133,"mutability":"mutable","name":"m7","nameLocation":"347914:2:19","nodeType":"VariableDeclaration","scope":37145,"src":"347906:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37132,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347906:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37134,"nodeType":"VariableDeclarationStatement","src":"347906:10:19"},{"assignments":[37136],"declarations":[{"constant":false,"id":37136,"mutability":"mutable","name":"m8","nameLocation":"347934:2:19","nodeType":"VariableDeclaration","scope":37145,"src":"347926:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37135,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347926:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37137,"nodeType":"VariableDeclarationStatement","src":"347926:10:19"},{"AST":{"nativeSrc":"347998:927:19","nodeType":"YulBlock","src":"347998:927:19","statements":[{"body":{"nativeSrc":"348041:313:19","nodeType":"YulBlock","src":"348041:313:19","statements":[{"nativeSrc":"348059:15:19","nodeType":"YulVariableDeclaration","src":"348059:15:19","value":{"kind":"number","nativeSrc":"348073:1:19","nodeType":"YulLiteral","src":"348073:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"348063:6:19","nodeType":"YulTypedName","src":"348063:6:19","type":""}]},{"body":{"nativeSrc":"348144:40:19","nodeType":"YulBlock","src":"348144:40:19","statements":[{"body":{"nativeSrc":"348173:9:19","nodeType":"YulBlock","src":"348173:9:19","statements":[{"nativeSrc":"348175:5:19","nodeType":"YulBreak","src":"348175:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"348161:6:19","nodeType":"YulIdentifier","src":"348161:6:19"},{"name":"w","nativeSrc":"348169:1:19","nodeType":"YulIdentifier","src":"348169:1:19"}],"functionName":{"name":"byte","nativeSrc":"348156:4:19","nodeType":"YulIdentifier","src":"348156:4:19"},"nativeSrc":"348156:15:19","nodeType":"YulFunctionCall","src":"348156:15:19"}],"functionName":{"name":"iszero","nativeSrc":"348149:6:19","nodeType":"YulIdentifier","src":"348149:6:19"},"nativeSrc":"348149:23:19","nodeType":"YulFunctionCall","src":"348149:23:19"},"nativeSrc":"348146:36:19","nodeType":"YulIf","src":"348146:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"348101:6:19","nodeType":"YulIdentifier","src":"348101:6:19"},{"kind":"number","nativeSrc":"348109:4:19","nodeType":"YulLiteral","src":"348109:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"348098:2:19","nodeType":"YulIdentifier","src":"348098:2:19"},"nativeSrc":"348098:16:19","nodeType":"YulFunctionCall","src":"348098:16:19"},"nativeSrc":"348091:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"348115:28:19","nodeType":"YulBlock","src":"348115:28:19","statements":[{"nativeSrc":"348117:24:19","nodeType":"YulAssignment","src":"348117:24:19","value":{"arguments":[{"name":"length","nativeSrc":"348131:6:19","nodeType":"YulIdentifier","src":"348131:6:19"},{"kind":"number","nativeSrc":"348139:1:19","nodeType":"YulLiteral","src":"348139:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"348127:3:19","nodeType":"YulIdentifier","src":"348127:3:19"},"nativeSrc":"348127:14:19","nodeType":"YulFunctionCall","src":"348127:14:19"},"variableNames":[{"name":"length","nativeSrc":"348117:6:19","nodeType":"YulIdentifier","src":"348117:6:19"}]}]},"pre":{"nativeSrc":"348095:2:19","nodeType":"YulBlock","src":"348095:2:19","statements":[]},"src":"348091:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"348208:3:19","nodeType":"YulIdentifier","src":"348208:3:19"},{"name":"length","nativeSrc":"348213:6:19","nodeType":"YulIdentifier","src":"348213:6:19"}],"functionName":{"name":"mstore","nativeSrc":"348201:6:19","nodeType":"YulIdentifier","src":"348201:6:19"},"nativeSrc":"348201:19:19","nodeType":"YulFunctionCall","src":"348201:19:19"},"nativeSrc":"348201:19:19","nodeType":"YulExpressionStatement","src":"348201:19:19"},{"nativeSrc":"348237:37:19","nodeType":"YulVariableDeclaration","src":"348237:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"348254:3:19","nodeType":"YulLiteral","src":"348254:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"348263:1:19","nodeType":"YulLiteral","src":"348263:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"348266:6:19","nodeType":"YulIdentifier","src":"348266:6:19"}],"functionName":{"name":"shl","nativeSrc":"348259:3:19","nodeType":"YulIdentifier","src":"348259:3:19"},"nativeSrc":"348259:14:19","nodeType":"YulFunctionCall","src":"348259:14:19"}],"functionName":{"name":"sub","nativeSrc":"348250:3:19","nodeType":"YulIdentifier","src":"348250:3:19"},"nativeSrc":"348250:24:19","nodeType":"YulFunctionCall","src":"348250:24:19"},"variables":[{"name":"shift","nativeSrc":"348241:5:19","nodeType":"YulTypedName","src":"348241:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"348302:3:19","nodeType":"YulIdentifier","src":"348302:3:19"},{"kind":"number","nativeSrc":"348307:4:19","nodeType":"YulLiteral","src":"348307:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"348298:3:19","nodeType":"YulIdentifier","src":"348298:3:19"},"nativeSrc":"348298:14:19","nodeType":"YulFunctionCall","src":"348298:14:19"},{"arguments":[{"name":"shift","nativeSrc":"348318:5:19","nodeType":"YulIdentifier","src":"348318:5:19"},{"arguments":[{"name":"shift","nativeSrc":"348329:5:19","nodeType":"YulIdentifier","src":"348329:5:19"},{"name":"w","nativeSrc":"348336:1:19","nodeType":"YulIdentifier","src":"348336:1:19"}],"functionName":{"name":"shr","nativeSrc":"348325:3:19","nodeType":"YulIdentifier","src":"348325:3:19"},"nativeSrc":"348325:13:19","nodeType":"YulFunctionCall","src":"348325:13:19"}],"functionName":{"name":"shl","nativeSrc":"348314:3:19","nodeType":"YulIdentifier","src":"348314:3:19"},"nativeSrc":"348314:25:19","nodeType":"YulFunctionCall","src":"348314:25:19"}],"functionName":{"name":"mstore","nativeSrc":"348291:6:19","nodeType":"YulIdentifier","src":"348291:6:19"},"nativeSrc":"348291:49:19","nodeType":"YulFunctionCall","src":"348291:49:19"},"nativeSrc":"348291:49:19","nodeType":"YulExpressionStatement","src":"348291:49:19"}]},"name":"writeString","nativeSrc":"348012:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"348033:3:19","nodeType":"YulTypedName","src":"348033:3:19","type":""},{"name":"w","nativeSrc":"348038:1:19","nodeType":"YulTypedName","src":"348038:1:19","type":""}],"src":"348012:342:19"},{"nativeSrc":"348367:17:19","nodeType":"YulAssignment","src":"348367:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"348379:4:19","nodeType":"YulLiteral","src":"348379:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"348373:5:19","nodeType":"YulIdentifier","src":"348373:5:19"},"nativeSrc":"348373:11:19","nodeType":"YulFunctionCall","src":"348373:11:19"},"variableNames":[{"name":"m0","nativeSrc":"348367:2:19","nodeType":"YulIdentifier","src":"348367:2:19"}]},{"nativeSrc":"348397:17:19","nodeType":"YulAssignment","src":"348397:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"348409:4:19","nodeType":"YulLiteral","src":"348409:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"348403:5:19","nodeType":"YulIdentifier","src":"348403:5:19"},"nativeSrc":"348403:11:19","nodeType":"YulFunctionCall","src":"348403:11:19"},"variableNames":[{"name":"m1","nativeSrc":"348397:2:19","nodeType":"YulIdentifier","src":"348397:2:19"}]},{"nativeSrc":"348427:17:19","nodeType":"YulAssignment","src":"348427:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"348439:4:19","nodeType":"YulLiteral","src":"348439:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"348433:5:19","nodeType":"YulIdentifier","src":"348433:5:19"},"nativeSrc":"348433:11:19","nodeType":"YulFunctionCall","src":"348433:11:19"},"variableNames":[{"name":"m2","nativeSrc":"348427:2:19","nodeType":"YulIdentifier","src":"348427:2:19"}]},{"nativeSrc":"348457:17:19","nodeType":"YulAssignment","src":"348457:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"348469:4:19","nodeType":"YulLiteral","src":"348469:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"348463:5:19","nodeType":"YulIdentifier","src":"348463:5:19"},"nativeSrc":"348463:11:19","nodeType":"YulFunctionCall","src":"348463:11:19"},"variableNames":[{"name":"m3","nativeSrc":"348457:2:19","nodeType":"YulIdentifier","src":"348457:2:19"}]},{"nativeSrc":"348487:17:19","nodeType":"YulAssignment","src":"348487:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"348499:4:19","nodeType":"YulLiteral","src":"348499:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"348493:5:19","nodeType":"YulIdentifier","src":"348493:5:19"},"nativeSrc":"348493:11:19","nodeType":"YulFunctionCall","src":"348493:11:19"},"variableNames":[{"name":"m4","nativeSrc":"348487:2:19","nodeType":"YulIdentifier","src":"348487:2:19"}]},{"nativeSrc":"348517:17:19","nodeType":"YulAssignment","src":"348517:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"348529:4:19","nodeType":"YulLiteral","src":"348529:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"348523:5:19","nodeType":"YulIdentifier","src":"348523:5:19"},"nativeSrc":"348523:11:19","nodeType":"YulFunctionCall","src":"348523:11:19"},"variableNames":[{"name":"m5","nativeSrc":"348517:2:19","nodeType":"YulIdentifier","src":"348517:2:19"}]},{"nativeSrc":"348547:17:19","nodeType":"YulAssignment","src":"348547:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"348559:4:19","nodeType":"YulLiteral","src":"348559:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"348553:5:19","nodeType":"YulIdentifier","src":"348553:5:19"},"nativeSrc":"348553:11:19","nodeType":"YulFunctionCall","src":"348553:11:19"},"variableNames":[{"name":"m6","nativeSrc":"348547:2:19","nodeType":"YulIdentifier","src":"348547:2:19"}]},{"nativeSrc":"348577:17:19","nodeType":"YulAssignment","src":"348577:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"348589:4:19","nodeType":"YulLiteral","src":"348589:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"348583:5:19","nodeType":"YulIdentifier","src":"348583:5:19"},"nativeSrc":"348583:11:19","nodeType":"YulFunctionCall","src":"348583:11:19"},"variableNames":[{"name":"m7","nativeSrc":"348577:2:19","nodeType":"YulIdentifier","src":"348577:2:19"}]},{"nativeSrc":"348607:18:19","nodeType":"YulAssignment","src":"348607:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"348619:5:19","nodeType":"YulLiteral","src":"348619:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"348613:5:19","nodeType":"YulIdentifier","src":"348613:5:19"},"nativeSrc":"348613:12:19","nodeType":"YulFunctionCall","src":"348613:12:19"},"variableNames":[{"name":"m8","nativeSrc":"348607:2:19","nodeType":"YulIdentifier","src":"348607:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"348710:4:19","nodeType":"YulLiteral","src":"348710:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"348716:10:19","nodeType":"YulLiteral","src":"348716:10:19","type":"","value":"0x91d1112e"}],"functionName":{"name":"mstore","nativeSrc":"348703:6:19","nodeType":"YulIdentifier","src":"348703:6:19"},"nativeSrc":"348703:24:19","nodeType":"YulFunctionCall","src":"348703:24:19"},"nativeSrc":"348703:24:19","nodeType":"YulExpressionStatement","src":"348703:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"348747:4:19","nodeType":"YulLiteral","src":"348747:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"348753:4:19","nodeType":"YulLiteral","src":"348753:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"348740:6:19","nodeType":"YulIdentifier","src":"348740:6:19"},"nativeSrc":"348740:18:19","nodeType":"YulFunctionCall","src":"348740:18:19"},"nativeSrc":"348740:18:19","nodeType":"YulExpressionStatement","src":"348740:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"348778:4:19","nodeType":"YulLiteral","src":"348778:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"348784:2:19","nodeType":"YulIdentifier","src":"348784:2:19"}],"functionName":{"name":"mstore","nativeSrc":"348771:6:19","nodeType":"YulIdentifier","src":"348771:6:19"},"nativeSrc":"348771:16:19","nodeType":"YulFunctionCall","src":"348771:16:19"},"nativeSrc":"348771:16:19","nodeType":"YulExpressionStatement","src":"348771:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"348807:4:19","nodeType":"YulLiteral","src":"348807:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"348813:4:19","nodeType":"YulLiteral","src":"348813:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"348800:6:19","nodeType":"YulIdentifier","src":"348800:6:19"},"nativeSrc":"348800:18:19","nodeType":"YulFunctionCall","src":"348800:18:19"},"nativeSrc":"348800:18:19","nodeType":"YulExpressionStatement","src":"348800:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"348838:4:19","nodeType":"YulLiteral","src":"348838:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"348844:2:19","nodeType":"YulIdentifier","src":"348844:2:19"}],"functionName":{"name":"mstore","nativeSrc":"348831:6:19","nodeType":"YulIdentifier","src":"348831:6:19"},"nativeSrc":"348831:16:19","nodeType":"YulFunctionCall","src":"348831:16:19"},"nativeSrc":"348831:16:19","nodeType":"YulExpressionStatement","src":"348831:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"348872:4:19","nodeType":"YulLiteral","src":"348872:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"348878:2:19","nodeType":"YulIdentifier","src":"348878:2:19"}],"functionName":{"name":"writeString","nativeSrc":"348860:11:19","nodeType":"YulIdentifier","src":"348860:11:19"},"nativeSrc":"348860:21:19","nodeType":"YulFunctionCall","src":"348860:21:19"},"nativeSrc":"348860:21:19","nodeType":"YulExpressionStatement","src":"348860:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"348906:4:19","nodeType":"YulLiteral","src":"348906:4:19","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"348912:2:19","nodeType":"YulIdentifier","src":"348912:2:19"}],"functionName":{"name":"writeString","nativeSrc":"348894:11:19","nodeType":"YulIdentifier","src":"348894:11:19"},"nativeSrc":"348894:21:19","nodeType":"YulFunctionCall","src":"348894:21:19"},"nativeSrc":"348894:21:19","nodeType":"YulExpressionStatement","src":"348894:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37112,"isOffset":false,"isSlot":false,"src":"348367:2:19","valueSize":1},{"declaration":37115,"isOffset":false,"isSlot":false,"src":"348397:2:19","valueSize":1},{"declaration":37118,"isOffset":false,"isSlot":false,"src":"348427:2:19","valueSize":1},{"declaration":37121,"isOffset":false,"isSlot":false,"src":"348457:2:19","valueSize":1},{"declaration":37124,"isOffset":false,"isSlot":false,"src":"348487:2:19","valueSize":1},{"declaration":37127,"isOffset":false,"isSlot":false,"src":"348517:2:19","valueSize":1},{"declaration":37130,"isOffset":false,"isSlot":false,"src":"348547:2:19","valueSize":1},{"declaration":37133,"isOffset":false,"isSlot":false,"src":"348577:2:19","valueSize":1},{"declaration":37136,"isOffset":false,"isSlot":false,"src":"348607:2:19","valueSize":1},{"declaration":37102,"isOffset":false,"isSlot":false,"src":"348878:2:19","valueSize":1},{"declaration":37104,"isOffset":false,"isSlot":false,"src":"348784:2:19","valueSize":1},{"declaration":37106,"isOffset":false,"isSlot":false,"src":"348912:2:19","valueSize":1},{"declaration":37108,"isOffset":false,"isSlot":false,"src":"348844:2:19","valueSize":1}],"id":37138,"nodeType":"InlineAssembly","src":"347989:936:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":37140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"348950:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":37141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"348956:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":37139,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"348934:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"348934:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37143,"nodeType":"ExpressionStatement","src":"348934:28:19"},{"AST":{"nativeSrc":"349024:273:19","nodeType":"YulBlock","src":"349024:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"349045:4:19","nodeType":"YulLiteral","src":"349045:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"349051:2:19","nodeType":"YulIdentifier","src":"349051:2:19"}],"functionName":{"name":"mstore","nativeSrc":"349038:6:19","nodeType":"YulIdentifier","src":"349038:6:19"},"nativeSrc":"349038:16:19","nodeType":"YulFunctionCall","src":"349038:16:19"},"nativeSrc":"349038:16:19","nodeType":"YulExpressionStatement","src":"349038:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"349074:4:19","nodeType":"YulLiteral","src":"349074:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"349080:2:19","nodeType":"YulIdentifier","src":"349080:2:19"}],"functionName":{"name":"mstore","nativeSrc":"349067:6:19","nodeType":"YulIdentifier","src":"349067:6:19"},"nativeSrc":"349067:16:19","nodeType":"YulFunctionCall","src":"349067:16:19"},"nativeSrc":"349067:16:19","nodeType":"YulExpressionStatement","src":"349067:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"349103:4:19","nodeType":"YulLiteral","src":"349103:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"349109:2:19","nodeType":"YulIdentifier","src":"349109:2:19"}],"functionName":{"name":"mstore","nativeSrc":"349096:6:19","nodeType":"YulIdentifier","src":"349096:6:19"},"nativeSrc":"349096:16:19","nodeType":"YulFunctionCall","src":"349096:16:19"},"nativeSrc":"349096:16:19","nodeType":"YulExpressionStatement","src":"349096:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"349132:4:19","nodeType":"YulLiteral","src":"349132:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"349138:2:19","nodeType":"YulIdentifier","src":"349138:2:19"}],"functionName":{"name":"mstore","nativeSrc":"349125:6:19","nodeType":"YulIdentifier","src":"349125:6:19"},"nativeSrc":"349125:16:19","nodeType":"YulFunctionCall","src":"349125:16:19"},"nativeSrc":"349125:16:19","nodeType":"YulExpressionStatement","src":"349125:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"349161:4:19","nodeType":"YulLiteral","src":"349161:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"349167:2:19","nodeType":"YulIdentifier","src":"349167:2:19"}],"functionName":{"name":"mstore","nativeSrc":"349154:6:19","nodeType":"YulIdentifier","src":"349154:6:19"},"nativeSrc":"349154:16:19","nodeType":"YulFunctionCall","src":"349154:16:19"},"nativeSrc":"349154:16:19","nodeType":"YulExpressionStatement","src":"349154:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"349190:4:19","nodeType":"YulLiteral","src":"349190:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"349196:2:19","nodeType":"YulIdentifier","src":"349196:2:19"}],"functionName":{"name":"mstore","nativeSrc":"349183:6:19","nodeType":"YulIdentifier","src":"349183:6:19"},"nativeSrc":"349183:16:19","nodeType":"YulFunctionCall","src":"349183:16:19"},"nativeSrc":"349183:16:19","nodeType":"YulExpressionStatement","src":"349183:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"349219:4:19","nodeType":"YulLiteral","src":"349219:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"349225:2:19","nodeType":"YulIdentifier","src":"349225:2:19"}],"functionName":{"name":"mstore","nativeSrc":"349212:6:19","nodeType":"YulIdentifier","src":"349212:6:19"},"nativeSrc":"349212:16:19","nodeType":"YulFunctionCall","src":"349212:16:19"},"nativeSrc":"349212:16:19","nodeType":"YulExpressionStatement","src":"349212:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"349248:4:19","nodeType":"YulLiteral","src":"349248:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"349254:2:19","nodeType":"YulIdentifier","src":"349254:2:19"}],"functionName":{"name":"mstore","nativeSrc":"349241:6:19","nodeType":"YulIdentifier","src":"349241:6:19"},"nativeSrc":"349241:16:19","nodeType":"YulFunctionCall","src":"349241:16:19"},"nativeSrc":"349241:16:19","nodeType":"YulExpressionStatement","src":"349241:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"349277:5:19","nodeType":"YulLiteral","src":"349277:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"349284:2:19","nodeType":"YulIdentifier","src":"349284:2:19"}],"functionName":{"name":"mstore","nativeSrc":"349270:6:19","nodeType":"YulIdentifier","src":"349270:6:19"},"nativeSrc":"349270:17:19","nodeType":"YulFunctionCall","src":"349270:17:19"},"nativeSrc":"349270:17:19","nodeType":"YulExpressionStatement","src":"349270:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37112,"isOffset":false,"isSlot":false,"src":"349051:2:19","valueSize":1},{"declaration":37115,"isOffset":false,"isSlot":false,"src":"349080:2:19","valueSize":1},{"declaration":37118,"isOffset":false,"isSlot":false,"src":"349109:2:19","valueSize":1},{"declaration":37121,"isOffset":false,"isSlot":false,"src":"349138:2:19","valueSize":1},{"declaration":37124,"isOffset":false,"isSlot":false,"src":"349167:2:19","valueSize":1},{"declaration":37127,"isOffset":false,"isSlot":false,"src":"349196:2:19","valueSize":1},{"declaration":37130,"isOffset":false,"isSlot":false,"src":"349225:2:19","valueSize":1},{"declaration":37133,"isOffset":false,"isSlot":false,"src":"349254:2:19","valueSize":1},{"declaration":37136,"isOffset":false,"isSlot":false,"src":"349284:2:19","valueSize":1}],"id":37144,"nodeType":"InlineAssembly","src":"349015:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"347690:3:19","parameters":{"id":37109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37102,"mutability":"mutable","name":"p0","nameLocation":"347702:2:19","nodeType":"VariableDeclaration","scope":37146,"src":"347694:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37101,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347694:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37104,"mutability":"mutable","name":"p1","nameLocation":"347714:2:19","nodeType":"VariableDeclaration","scope":37146,"src":"347706:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37103,"name":"address","nodeType":"ElementaryTypeName","src":"347706:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37106,"mutability":"mutable","name":"p2","nameLocation":"347726:2:19","nodeType":"VariableDeclaration","scope":37146,"src":"347718:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37105,"name":"bytes32","nodeType":"ElementaryTypeName","src":"347718:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37108,"mutability":"mutable","name":"p3","nameLocation":"347738:2:19","nodeType":"VariableDeclaration","scope":37146,"src":"347730:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37107,"name":"uint256","nodeType":"ElementaryTypeName","src":"347730:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"347693:48:19"},"returnParameters":{"id":37110,"nodeType":"ParameterList","parameters":[],"src":"347756:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37198,"nodeType":"FunctionDefinition","src":"349309:1824:19","nodes":[],"body":{"id":37197,"nodeType":"Block","src":"349384:1749:19","nodes":[],"statements":[{"assignments":[37158],"declarations":[{"constant":false,"id":37158,"mutability":"mutable","name":"m0","nameLocation":"349402:2:19","nodeType":"VariableDeclaration","scope":37197,"src":"349394:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37157,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349394:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37159,"nodeType":"VariableDeclarationStatement","src":"349394:10:19"},{"assignments":[37161],"declarations":[{"constant":false,"id":37161,"mutability":"mutable","name":"m1","nameLocation":"349422:2:19","nodeType":"VariableDeclaration","scope":37197,"src":"349414:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37160,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349414:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37162,"nodeType":"VariableDeclarationStatement","src":"349414:10:19"},{"assignments":[37164],"declarations":[{"constant":false,"id":37164,"mutability":"mutable","name":"m2","nameLocation":"349442:2:19","nodeType":"VariableDeclaration","scope":37197,"src":"349434:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37163,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349434:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37165,"nodeType":"VariableDeclarationStatement","src":"349434:10:19"},{"assignments":[37167],"declarations":[{"constant":false,"id":37167,"mutability":"mutable","name":"m3","nameLocation":"349462:2:19","nodeType":"VariableDeclaration","scope":37197,"src":"349454:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37166,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349454:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37168,"nodeType":"VariableDeclarationStatement","src":"349454:10:19"},{"assignments":[37170],"declarations":[{"constant":false,"id":37170,"mutability":"mutable","name":"m4","nameLocation":"349482:2:19","nodeType":"VariableDeclaration","scope":37197,"src":"349474:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37169,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349474:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37171,"nodeType":"VariableDeclarationStatement","src":"349474:10:19"},{"assignments":[37173],"declarations":[{"constant":false,"id":37173,"mutability":"mutable","name":"m5","nameLocation":"349502:2:19","nodeType":"VariableDeclaration","scope":37197,"src":"349494:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37172,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349494:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37174,"nodeType":"VariableDeclarationStatement","src":"349494:10:19"},{"assignments":[37176],"declarations":[{"constant":false,"id":37176,"mutability":"mutable","name":"m6","nameLocation":"349522:2:19","nodeType":"VariableDeclaration","scope":37197,"src":"349514:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37175,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349514:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37177,"nodeType":"VariableDeclarationStatement","src":"349514:10:19"},{"assignments":[37179],"declarations":[{"constant":false,"id":37179,"mutability":"mutable","name":"m7","nameLocation":"349542:2:19","nodeType":"VariableDeclaration","scope":37197,"src":"349534:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37178,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349534:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37180,"nodeType":"VariableDeclarationStatement","src":"349534:10:19"},{"assignments":[37182],"declarations":[{"constant":false,"id":37182,"mutability":"mutable","name":"m8","nameLocation":"349562:2:19","nodeType":"VariableDeclaration","scope":37197,"src":"349554:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37181,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349554:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37183,"nodeType":"VariableDeclarationStatement","src":"349554:10:19"},{"assignments":[37185],"declarations":[{"constant":false,"id":37185,"mutability":"mutable","name":"m9","nameLocation":"349582:2:19","nodeType":"VariableDeclaration","scope":37197,"src":"349574:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37184,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349574:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37186,"nodeType":"VariableDeclarationStatement","src":"349574:10:19"},{"assignments":[37188],"declarations":[{"constant":false,"id":37188,"mutability":"mutable","name":"m10","nameLocation":"349602:3:19","nodeType":"VariableDeclaration","scope":37197,"src":"349594:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37187,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349594:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37189,"nodeType":"VariableDeclarationStatement","src":"349594:11:19"},{"AST":{"nativeSrc":"349667:1027:19","nodeType":"YulBlock","src":"349667:1027:19","statements":[{"body":{"nativeSrc":"349710:313:19","nodeType":"YulBlock","src":"349710:313:19","statements":[{"nativeSrc":"349728:15:19","nodeType":"YulVariableDeclaration","src":"349728:15:19","value":{"kind":"number","nativeSrc":"349742:1:19","nodeType":"YulLiteral","src":"349742:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"349732:6:19","nodeType":"YulTypedName","src":"349732:6:19","type":""}]},{"body":{"nativeSrc":"349813:40:19","nodeType":"YulBlock","src":"349813:40:19","statements":[{"body":{"nativeSrc":"349842:9:19","nodeType":"YulBlock","src":"349842:9:19","statements":[{"nativeSrc":"349844:5:19","nodeType":"YulBreak","src":"349844:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"349830:6:19","nodeType":"YulIdentifier","src":"349830:6:19"},{"name":"w","nativeSrc":"349838:1:19","nodeType":"YulIdentifier","src":"349838:1:19"}],"functionName":{"name":"byte","nativeSrc":"349825:4:19","nodeType":"YulIdentifier","src":"349825:4:19"},"nativeSrc":"349825:15:19","nodeType":"YulFunctionCall","src":"349825:15:19"}],"functionName":{"name":"iszero","nativeSrc":"349818:6:19","nodeType":"YulIdentifier","src":"349818:6:19"},"nativeSrc":"349818:23:19","nodeType":"YulFunctionCall","src":"349818:23:19"},"nativeSrc":"349815:36:19","nodeType":"YulIf","src":"349815:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"349770:6:19","nodeType":"YulIdentifier","src":"349770:6:19"},{"kind":"number","nativeSrc":"349778:4:19","nodeType":"YulLiteral","src":"349778:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"349767:2:19","nodeType":"YulIdentifier","src":"349767:2:19"},"nativeSrc":"349767:16:19","nodeType":"YulFunctionCall","src":"349767:16:19"},"nativeSrc":"349760:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"349784:28:19","nodeType":"YulBlock","src":"349784:28:19","statements":[{"nativeSrc":"349786:24:19","nodeType":"YulAssignment","src":"349786:24:19","value":{"arguments":[{"name":"length","nativeSrc":"349800:6:19","nodeType":"YulIdentifier","src":"349800:6:19"},{"kind":"number","nativeSrc":"349808:1:19","nodeType":"YulLiteral","src":"349808:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"349796:3:19","nodeType":"YulIdentifier","src":"349796:3:19"},"nativeSrc":"349796:14:19","nodeType":"YulFunctionCall","src":"349796:14:19"},"variableNames":[{"name":"length","nativeSrc":"349786:6:19","nodeType":"YulIdentifier","src":"349786:6:19"}]}]},"pre":{"nativeSrc":"349764:2:19","nodeType":"YulBlock","src":"349764:2:19","statements":[]},"src":"349760:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"349877:3:19","nodeType":"YulIdentifier","src":"349877:3:19"},{"name":"length","nativeSrc":"349882:6:19","nodeType":"YulIdentifier","src":"349882:6:19"}],"functionName":{"name":"mstore","nativeSrc":"349870:6:19","nodeType":"YulIdentifier","src":"349870:6:19"},"nativeSrc":"349870:19:19","nodeType":"YulFunctionCall","src":"349870:19:19"},"nativeSrc":"349870:19:19","nodeType":"YulExpressionStatement","src":"349870:19:19"},{"nativeSrc":"349906:37:19","nodeType":"YulVariableDeclaration","src":"349906:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"349923:3:19","nodeType":"YulLiteral","src":"349923:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"349932:1:19","nodeType":"YulLiteral","src":"349932:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"349935:6:19","nodeType":"YulIdentifier","src":"349935:6:19"}],"functionName":{"name":"shl","nativeSrc":"349928:3:19","nodeType":"YulIdentifier","src":"349928:3:19"},"nativeSrc":"349928:14:19","nodeType":"YulFunctionCall","src":"349928:14:19"}],"functionName":{"name":"sub","nativeSrc":"349919:3:19","nodeType":"YulIdentifier","src":"349919:3:19"},"nativeSrc":"349919:24:19","nodeType":"YulFunctionCall","src":"349919:24:19"},"variables":[{"name":"shift","nativeSrc":"349910:5:19","nodeType":"YulTypedName","src":"349910:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"349971:3:19","nodeType":"YulIdentifier","src":"349971:3:19"},{"kind":"number","nativeSrc":"349976:4:19","nodeType":"YulLiteral","src":"349976:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"349967:3:19","nodeType":"YulIdentifier","src":"349967:3:19"},"nativeSrc":"349967:14:19","nodeType":"YulFunctionCall","src":"349967:14:19"},{"arguments":[{"name":"shift","nativeSrc":"349987:5:19","nodeType":"YulIdentifier","src":"349987:5:19"},{"arguments":[{"name":"shift","nativeSrc":"349998:5:19","nodeType":"YulIdentifier","src":"349998:5:19"},{"name":"w","nativeSrc":"350005:1:19","nodeType":"YulIdentifier","src":"350005:1:19"}],"functionName":{"name":"shr","nativeSrc":"349994:3:19","nodeType":"YulIdentifier","src":"349994:3:19"},"nativeSrc":"349994:13:19","nodeType":"YulFunctionCall","src":"349994:13:19"}],"functionName":{"name":"shl","nativeSrc":"349983:3:19","nodeType":"YulIdentifier","src":"349983:3:19"},"nativeSrc":"349983:25:19","nodeType":"YulFunctionCall","src":"349983:25:19"}],"functionName":{"name":"mstore","nativeSrc":"349960:6:19","nodeType":"YulIdentifier","src":"349960:6:19"},"nativeSrc":"349960:49:19","nodeType":"YulFunctionCall","src":"349960:49:19"},"nativeSrc":"349960:49:19","nodeType":"YulExpressionStatement","src":"349960:49:19"}]},"name":"writeString","nativeSrc":"349681:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"349702:3:19","nodeType":"YulTypedName","src":"349702:3:19","type":""},{"name":"w","nativeSrc":"349707:1:19","nodeType":"YulTypedName","src":"349707:1:19","type":""}],"src":"349681:342:19"},{"nativeSrc":"350036:17:19","nodeType":"YulAssignment","src":"350036:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"350048:4:19","nodeType":"YulLiteral","src":"350048:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"350042:5:19","nodeType":"YulIdentifier","src":"350042:5:19"},"nativeSrc":"350042:11:19","nodeType":"YulFunctionCall","src":"350042:11:19"},"variableNames":[{"name":"m0","nativeSrc":"350036:2:19","nodeType":"YulIdentifier","src":"350036:2:19"}]},{"nativeSrc":"350066:17:19","nodeType":"YulAssignment","src":"350066:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"350078:4:19","nodeType":"YulLiteral","src":"350078:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"350072:5:19","nodeType":"YulIdentifier","src":"350072:5:19"},"nativeSrc":"350072:11:19","nodeType":"YulFunctionCall","src":"350072:11:19"},"variableNames":[{"name":"m1","nativeSrc":"350066:2:19","nodeType":"YulIdentifier","src":"350066:2:19"}]},{"nativeSrc":"350096:17:19","nodeType":"YulAssignment","src":"350096:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"350108:4:19","nodeType":"YulLiteral","src":"350108:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"350102:5:19","nodeType":"YulIdentifier","src":"350102:5:19"},"nativeSrc":"350102:11:19","nodeType":"YulFunctionCall","src":"350102:11:19"},"variableNames":[{"name":"m2","nativeSrc":"350096:2:19","nodeType":"YulIdentifier","src":"350096:2:19"}]},{"nativeSrc":"350126:17:19","nodeType":"YulAssignment","src":"350126:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"350138:4:19","nodeType":"YulLiteral","src":"350138:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"350132:5:19","nodeType":"YulIdentifier","src":"350132:5:19"},"nativeSrc":"350132:11:19","nodeType":"YulFunctionCall","src":"350132:11:19"},"variableNames":[{"name":"m3","nativeSrc":"350126:2:19","nodeType":"YulIdentifier","src":"350126:2:19"}]},{"nativeSrc":"350156:17:19","nodeType":"YulAssignment","src":"350156:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"350168:4:19","nodeType":"YulLiteral","src":"350168:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"350162:5:19","nodeType":"YulIdentifier","src":"350162:5:19"},"nativeSrc":"350162:11:19","nodeType":"YulFunctionCall","src":"350162:11:19"},"variableNames":[{"name":"m4","nativeSrc":"350156:2:19","nodeType":"YulIdentifier","src":"350156:2:19"}]},{"nativeSrc":"350186:17:19","nodeType":"YulAssignment","src":"350186:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"350198:4:19","nodeType":"YulLiteral","src":"350198:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"350192:5:19","nodeType":"YulIdentifier","src":"350192:5:19"},"nativeSrc":"350192:11:19","nodeType":"YulFunctionCall","src":"350192:11:19"},"variableNames":[{"name":"m5","nativeSrc":"350186:2:19","nodeType":"YulIdentifier","src":"350186:2:19"}]},{"nativeSrc":"350216:17:19","nodeType":"YulAssignment","src":"350216:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"350228:4:19","nodeType":"YulLiteral","src":"350228:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"350222:5:19","nodeType":"YulIdentifier","src":"350222:5:19"},"nativeSrc":"350222:11:19","nodeType":"YulFunctionCall","src":"350222:11:19"},"variableNames":[{"name":"m6","nativeSrc":"350216:2:19","nodeType":"YulIdentifier","src":"350216:2:19"}]},{"nativeSrc":"350246:17:19","nodeType":"YulAssignment","src":"350246:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"350258:4:19","nodeType":"YulLiteral","src":"350258:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"350252:5:19","nodeType":"YulIdentifier","src":"350252:5:19"},"nativeSrc":"350252:11:19","nodeType":"YulFunctionCall","src":"350252:11:19"},"variableNames":[{"name":"m7","nativeSrc":"350246:2:19","nodeType":"YulIdentifier","src":"350246:2:19"}]},{"nativeSrc":"350276:18:19","nodeType":"YulAssignment","src":"350276:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"350288:5:19","nodeType":"YulLiteral","src":"350288:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"350282:5:19","nodeType":"YulIdentifier","src":"350282:5:19"},"nativeSrc":"350282:12:19","nodeType":"YulFunctionCall","src":"350282:12:19"},"variableNames":[{"name":"m8","nativeSrc":"350276:2:19","nodeType":"YulIdentifier","src":"350276:2:19"}]},{"nativeSrc":"350307:18:19","nodeType":"YulAssignment","src":"350307:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"350319:5:19","nodeType":"YulLiteral","src":"350319:5:19","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"350313:5:19","nodeType":"YulIdentifier","src":"350313:5:19"},"nativeSrc":"350313:12:19","nodeType":"YulFunctionCall","src":"350313:12:19"},"variableNames":[{"name":"m9","nativeSrc":"350307:2:19","nodeType":"YulIdentifier","src":"350307:2:19"}]},{"nativeSrc":"350338:19:19","nodeType":"YulAssignment","src":"350338:19:19","value":{"arguments":[{"kind":"number","nativeSrc":"350351:5:19","nodeType":"YulLiteral","src":"350351:5:19","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"350345:5:19","nodeType":"YulIdentifier","src":"350345:5:19"},"nativeSrc":"350345:12:19","nodeType":"YulFunctionCall","src":"350345:12:19"},"variableNames":[{"name":"m10","nativeSrc":"350338:3:19","nodeType":"YulIdentifier","src":"350338:3:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350441:4:19","nodeType":"YulLiteral","src":"350441:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"350447:10:19","nodeType":"YulLiteral","src":"350447:10:19","type":"","value":"0x245986f2"}],"functionName":{"name":"mstore","nativeSrc":"350434:6:19","nodeType":"YulIdentifier","src":"350434:6:19"},"nativeSrc":"350434:24:19","nodeType":"YulFunctionCall","src":"350434:24:19"},"nativeSrc":"350434:24:19","nodeType":"YulExpressionStatement","src":"350434:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350478:4:19","nodeType":"YulLiteral","src":"350478:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"350484:4:19","nodeType":"YulLiteral","src":"350484:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"350471:6:19","nodeType":"YulIdentifier","src":"350471:6:19"},"nativeSrc":"350471:18:19","nodeType":"YulFunctionCall","src":"350471:18:19"},"nativeSrc":"350471:18:19","nodeType":"YulExpressionStatement","src":"350471:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350509:4:19","nodeType":"YulLiteral","src":"350509:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"350515:2:19","nodeType":"YulIdentifier","src":"350515:2:19"}],"functionName":{"name":"mstore","nativeSrc":"350502:6:19","nodeType":"YulIdentifier","src":"350502:6:19"},"nativeSrc":"350502:16:19","nodeType":"YulFunctionCall","src":"350502:16:19"},"nativeSrc":"350502:16:19","nodeType":"YulExpressionStatement","src":"350502:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350538:4:19","nodeType":"YulLiteral","src":"350538:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"350544:4:19","nodeType":"YulLiteral","src":"350544:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"350531:6:19","nodeType":"YulIdentifier","src":"350531:6:19"},"nativeSrc":"350531:18:19","nodeType":"YulFunctionCall","src":"350531:18:19"},"nativeSrc":"350531:18:19","nodeType":"YulExpressionStatement","src":"350531:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350569:4:19","nodeType":"YulLiteral","src":"350569:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"350575:5:19","nodeType":"YulLiteral","src":"350575:5:19","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"350562:6:19","nodeType":"YulIdentifier","src":"350562:6:19"},"nativeSrc":"350562:19:19","nodeType":"YulFunctionCall","src":"350562:19:19"},"nativeSrc":"350562:19:19","nodeType":"YulExpressionStatement","src":"350562:19:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350606:4:19","nodeType":"YulLiteral","src":"350606:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"350612:2:19","nodeType":"YulIdentifier","src":"350612:2:19"}],"functionName":{"name":"writeString","nativeSrc":"350594:11:19","nodeType":"YulIdentifier","src":"350594:11:19"},"nativeSrc":"350594:21:19","nodeType":"YulFunctionCall","src":"350594:21:19"},"nativeSrc":"350594:21:19","nodeType":"YulExpressionStatement","src":"350594:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350640:4:19","nodeType":"YulLiteral","src":"350640:4:19","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"350646:2:19","nodeType":"YulIdentifier","src":"350646:2:19"}],"functionName":{"name":"writeString","nativeSrc":"350628:11:19","nodeType":"YulIdentifier","src":"350628:11:19"},"nativeSrc":"350628:21:19","nodeType":"YulFunctionCall","src":"350628:21:19"},"nativeSrc":"350628:21:19","nodeType":"YulExpressionStatement","src":"350628:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350674:5:19","nodeType":"YulLiteral","src":"350674:5:19","type":"","value":"0x120"},{"name":"p3","nativeSrc":"350681:2:19","nodeType":"YulIdentifier","src":"350681:2:19"}],"functionName":{"name":"writeString","nativeSrc":"350662:11:19","nodeType":"YulIdentifier","src":"350662:11:19"},"nativeSrc":"350662:22:19","nodeType":"YulFunctionCall","src":"350662:22:19"},"nativeSrc":"350662:22:19","nodeType":"YulExpressionStatement","src":"350662:22:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37158,"isOffset":false,"isSlot":false,"src":"350036:2:19","valueSize":1},{"declaration":37161,"isOffset":false,"isSlot":false,"src":"350066:2:19","valueSize":1},{"declaration":37188,"isOffset":false,"isSlot":false,"src":"350338:3:19","valueSize":1},{"declaration":37164,"isOffset":false,"isSlot":false,"src":"350096:2:19","valueSize":1},{"declaration":37167,"isOffset":false,"isSlot":false,"src":"350126:2:19","valueSize":1},{"declaration":37170,"isOffset":false,"isSlot":false,"src":"350156:2:19","valueSize":1},{"declaration":37173,"isOffset":false,"isSlot":false,"src":"350186:2:19","valueSize":1},{"declaration":37176,"isOffset":false,"isSlot":false,"src":"350216:2:19","valueSize":1},{"declaration":37179,"isOffset":false,"isSlot":false,"src":"350246:2:19","valueSize":1},{"declaration":37182,"isOffset":false,"isSlot":false,"src":"350276:2:19","valueSize":1},{"declaration":37185,"isOffset":false,"isSlot":false,"src":"350307:2:19","valueSize":1},{"declaration":37148,"isOffset":false,"isSlot":false,"src":"350612:2:19","valueSize":1},{"declaration":37150,"isOffset":false,"isSlot":false,"src":"350515:2:19","valueSize":1},{"declaration":37152,"isOffset":false,"isSlot":false,"src":"350646:2:19","valueSize":1},{"declaration":37154,"isOffset":false,"isSlot":false,"src":"350681:2:19","valueSize":1}],"id":37190,"nodeType":"InlineAssembly","src":"349658:1036:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":37192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"350719:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":37193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"350725:5:19","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"0x144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"}],"id":37191,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"350703:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"350703:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37195,"nodeType":"ExpressionStatement","src":"350703:28:19"},{"AST":{"nativeSrc":"350793:334:19","nodeType":"YulBlock","src":"350793:334:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"350814:4:19","nodeType":"YulLiteral","src":"350814:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"350820:2:19","nodeType":"YulIdentifier","src":"350820:2:19"}],"functionName":{"name":"mstore","nativeSrc":"350807:6:19","nodeType":"YulIdentifier","src":"350807:6:19"},"nativeSrc":"350807:16:19","nodeType":"YulFunctionCall","src":"350807:16:19"},"nativeSrc":"350807:16:19","nodeType":"YulExpressionStatement","src":"350807:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350843:4:19","nodeType":"YulLiteral","src":"350843:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"350849:2:19","nodeType":"YulIdentifier","src":"350849:2:19"}],"functionName":{"name":"mstore","nativeSrc":"350836:6:19","nodeType":"YulIdentifier","src":"350836:6:19"},"nativeSrc":"350836:16:19","nodeType":"YulFunctionCall","src":"350836:16:19"},"nativeSrc":"350836:16:19","nodeType":"YulExpressionStatement","src":"350836:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350872:4:19","nodeType":"YulLiteral","src":"350872:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"350878:2:19","nodeType":"YulIdentifier","src":"350878:2:19"}],"functionName":{"name":"mstore","nativeSrc":"350865:6:19","nodeType":"YulIdentifier","src":"350865:6:19"},"nativeSrc":"350865:16:19","nodeType":"YulFunctionCall","src":"350865:16:19"},"nativeSrc":"350865:16:19","nodeType":"YulExpressionStatement","src":"350865:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350901:4:19","nodeType":"YulLiteral","src":"350901:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"350907:2:19","nodeType":"YulIdentifier","src":"350907:2:19"}],"functionName":{"name":"mstore","nativeSrc":"350894:6:19","nodeType":"YulIdentifier","src":"350894:6:19"},"nativeSrc":"350894:16:19","nodeType":"YulFunctionCall","src":"350894:16:19"},"nativeSrc":"350894:16:19","nodeType":"YulExpressionStatement","src":"350894:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350930:4:19","nodeType":"YulLiteral","src":"350930:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"350936:2:19","nodeType":"YulIdentifier","src":"350936:2:19"}],"functionName":{"name":"mstore","nativeSrc":"350923:6:19","nodeType":"YulIdentifier","src":"350923:6:19"},"nativeSrc":"350923:16:19","nodeType":"YulFunctionCall","src":"350923:16:19"},"nativeSrc":"350923:16:19","nodeType":"YulExpressionStatement","src":"350923:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350959:4:19","nodeType":"YulLiteral","src":"350959:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"350965:2:19","nodeType":"YulIdentifier","src":"350965:2:19"}],"functionName":{"name":"mstore","nativeSrc":"350952:6:19","nodeType":"YulIdentifier","src":"350952:6:19"},"nativeSrc":"350952:16:19","nodeType":"YulFunctionCall","src":"350952:16:19"},"nativeSrc":"350952:16:19","nodeType":"YulExpressionStatement","src":"350952:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"350988:4:19","nodeType":"YulLiteral","src":"350988:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"350994:2:19","nodeType":"YulIdentifier","src":"350994:2:19"}],"functionName":{"name":"mstore","nativeSrc":"350981:6:19","nodeType":"YulIdentifier","src":"350981:6:19"},"nativeSrc":"350981:16:19","nodeType":"YulFunctionCall","src":"350981:16:19"},"nativeSrc":"350981:16:19","nodeType":"YulExpressionStatement","src":"350981:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"351017:4:19","nodeType":"YulLiteral","src":"351017:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"351023:2:19","nodeType":"YulIdentifier","src":"351023:2:19"}],"functionName":{"name":"mstore","nativeSrc":"351010:6:19","nodeType":"YulIdentifier","src":"351010:6:19"},"nativeSrc":"351010:16:19","nodeType":"YulFunctionCall","src":"351010:16:19"},"nativeSrc":"351010:16:19","nodeType":"YulExpressionStatement","src":"351010:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"351046:5:19","nodeType":"YulLiteral","src":"351046:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"351053:2:19","nodeType":"YulIdentifier","src":"351053:2:19"}],"functionName":{"name":"mstore","nativeSrc":"351039:6:19","nodeType":"YulIdentifier","src":"351039:6:19"},"nativeSrc":"351039:17:19","nodeType":"YulFunctionCall","src":"351039:17:19"},"nativeSrc":"351039:17:19","nodeType":"YulExpressionStatement","src":"351039:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"351076:5:19","nodeType":"YulLiteral","src":"351076:5:19","type":"","value":"0x120"},{"name":"m9","nativeSrc":"351083:2:19","nodeType":"YulIdentifier","src":"351083:2:19"}],"functionName":{"name":"mstore","nativeSrc":"351069:6:19","nodeType":"YulIdentifier","src":"351069:6:19"},"nativeSrc":"351069:17:19","nodeType":"YulFunctionCall","src":"351069:17:19"},"nativeSrc":"351069:17:19","nodeType":"YulExpressionStatement","src":"351069:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"351106:5:19","nodeType":"YulLiteral","src":"351106:5:19","type":"","value":"0x140"},{"name":"m10","nativeSrc":"351113:3:19","nodeType":"YulIdentifier","src":"351113:3:19"}],"functionName":{"name":"mstore","nativeSrc":"351099:6:19","nodeType":"YulIdentifier","src":"351099:6:19"},"nativeSrc":"351099:18:19","nodeType":"YulFunctionCall","src":"351099:18:19"},"nativeSrc":"351099:18:19","nodeType":"YulExpressionStatement","src":"351099:18:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37158,"isOffset":false,"isSlot":false,"src":"350820:2:19","valueSize":1},{"declaration":37161,"isOffset":false,"isSlot":false,"src":"350849:2:19","valueSize":1},{"declaration":37188,"isOffset":false,"isSlot":false,"src":"351113:3:19","valueSize":1},{"declaration":37164,"isOffset":false,"isSlot":false,"src":"350878:2:19","valueSize":1},{"declaration":37167,"isOffset":false,"isSlot":false,"src":"350907:2:19","valueSize":1},{"declaration":37170,"isOffset":false,"isSlot":false,"src":"350936:2:19","valueSize":1},{"declaration":37173,"isOffset":false,"isSlot":false,"src":"350965:2:19","valueSize":1},{"declaration":37176,"isOffset":false,"isSlot":false,"src":"350994:2:19","valueSize":1},{"declaration":37179,"isOffset":false,"isSlot":false,"src":"351023:2:19","valueSize":1},{"declaration":37182,"isOffset":false,"isSlot":false,"src":"351053:2:19","valueSize":1},{"declaration":37185,"isOffset":false,"isSlot":false,"src":"351083:2:19","valueSize":1}],"id":37196,"nodeType":"InlineAssembly","src":"350784:343:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"349318:3:19","parameters":{"id":37155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37148,"mutability":"mutable","name":"p0","nameLocation":"349330:2:19","nodeType":"VariableDeclaration","scope":37198,"src":"349322:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37147,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349322:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37150,"mutability":"mutable","name":"p1","nameLocation":"349342:2:19","nodeType":"VariableDeclaration","scope":37198,"src":"349334:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37149,"name":"address","nodeType":"ElementaryTypeName","src":"349334:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37152,"mutability":"mutable","name":"p2","nameLocation":"349354:2:19","nodeType":"VariableDeclaration","scope":37198,"src":"349346:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37151,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349346:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37154,"mutability":"mutable","name":"p3","nameLocation":"349366:2:19","nodeType":"VariableDeclaration","scope":37198,"src":"349358:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37153,"name":"bytes32","nodeType":"ElementaryTypeName","src":"349358:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"349321:48:19"},"returnParameters":{"id":37156,"nodeType":"ParameterList","parameters":[],"src":"349384:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37238,"nodeType":"FunctionDefinition","src":"351139:1420:19","nodes":[],"body":{"id":37237,"nodeType":"Block","src":"351211:1348:19","nodes":[],"statements":[{"assignments":[37210],"declarations":[{"constant":false,"id":37210,"mutability":"mutable","name":"m0","nameLocation":"351229:2:19","nodeType":"VariableDeclaration","scope":37237,"src":"351221:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37209,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351221:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37211,"nodeType":"VariableDeclarationStatement","src":"351221:10:19"},{"assignments":[37213],"declarations":[{"constant":false,"id":37213,"mutability":"mutable","name":"m1","nameLocation":"351249:2:19","nodeType":"VariableDeclaration","scope":37237,"src":"351241:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37212,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351241:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37214,"nodeType":"VariableDeclarationStatement","src":"351241:10:19"},{"assignments":[37216],"declarations":[{"constant":false,"id":37216,"mutability":"mutable","name":"m2","nameLocation":"351269:2:19","nodeType":"VariableDeclaration","scope":37237,"src":"351261:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37215,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351261:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37217,"nodeType":"VariableDeclarationStatement","src":"351261:10:19"},{"assignments":[37219],"declarations":[{"constant":false,"id":37219,"mutability":"mutable","name":"m3","nameLocation":"351289:2:19","nodeType":"VariableDeclaration","scope":37237,"src":"351281:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37218,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351281:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37220,"nodeType":"VariableDeclarationStatement","src":"351281:10:19"},{"assignments":[37222],"declarations":[{"constant":false,"id":37222,"mutability":"mutable","name":"m4","nameLocation":"351309:2:19","nodeType":"VariableDeclaration","scope":37237,"src":"351301:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37221,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351301:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37223,"nodeType":"VariableDeclarationStatement","src":"351301:10:19"},{"assignments":[37225],"declarations":[{"constant":false,"id":37225,"mutability":"mutable","name":"m5","nameLocation":"351329:2:19","nodeType":"VariableDeclaration","scope":37237,"src":"351321:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37224,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351321:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37226,"nodeType":"VariableDeclarationStatement","src":"351321:10:19"},{"assignments":[37228],"declarations":[{"constant":false,"id":37228,"mutability":"mutable","name":"m6","nameLocation":"351349:2:19","nodeType":"VariableDeclaration","scope":37237,"src":"351341:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37227,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351341:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37229,"nodeType":"VariableDeclarationStatement","src":"351341:10:19"},{"AST":{"nativeSrc":"351413:828:19","nodeType":"YulBlock","src":"351413:828:19","statements":[{"body":{"nativeSrc":"351456:313:19","nodeType":"YulBlock","src":"351456:313:19","statements":[{"nativeSrc":"351474:15:19","nodeType":"YulVariableDeclaration","src":"351474:15:19","value":{"kind":"number","nativeSrc":"351488:1:19","nodeType":"YulLiteral","src":"351488:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"351478:6:19","nodeType":"YulTypedName","src":"351478:6:19","type":""}]},{"body":{"nativeSrc":"351559:40:19","nodeType":"YulBlock","src":"351559:40:19","statements":[{"body":{"nativeSrc":"351588:9:19","nodeType":"YulBlock","src":"351588:9:19","statements":[{"nativeSrc":"351590:5:19","nodeType":"YulBreak","src":"351590:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"351576:6:19","nodeType":"YulIdentifier","src":"351576:6:19"},{"name":"w","nativeSrc":"351584:1:19","nodeType":"YulIdentifier","src":"351584:1:19"}],"functionName":{"name":"byte","nativeSrc":"351571:4:19","nodeType":"YulIdentifier","src":"351571:4:19"},"nativeSrc":"351571:15:19","nodeType":"YulFunctionCall","src":"351571:15:19"}],"functionName":{"name":"iszero","nativeSrc":"351564:6:19","nodeType":"YulIdentifier","src":"351564:6:19"},"nativeSrc":"351564:23:19","nodeType":"YulFunctionCall","src":"351564:23:19"},"nativeSrc":"351561:36:19","nodeType":"YulIf","src":"351561:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"351516:6:19","nodeType":"YulIdentifier","src":"351516:6:19"},{"kind":"number","nativeSrc":"351524:4:19","nodeType":"YulLiteral","src":"351524:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"351513:2:19","nodeType":"YulIdentifier","src":"351513:2:19"},"nativeSrc":"351513:16:19","nodeType":"YulFunctionCall","src":"351513:16:19"},"nativeSrc":"351506:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"351530:28:19","nodeType":"YulBlock","src":"351530:28:19","statements":[{"nativeSrc":"351532:24:19","nodeType":"YulAssignment","src":"351532:24:19","value":{"arguments":[{"name":"length","nativeSrc":"351546:6:19","nodeType":"YulIdentifier","src":"351546:6:19"},{"kind":"number","nativeSrc":"351554:1:19","nodeType":"YulLiteral","src":"351554:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"351542:3:19","nodeType":"YulIdentifier","src":"351542:3:19"},"nativeSrc":"351542:14:19","nodeType":"YulFunctionCall","src":"351542:14:19"},"variableNames":[{"name":"length","nativeSrc":"351532:6:19","nodeType":"YulIdentifier","src":"351532:6:19"}]}]},"pre":{"nativeSrc":"351510:2:19","nodeType":"YulBlock","src":"351510:2:19","statements":[]},"src":"351506:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"351623:3:19","nodeType":"YulIdentifier","src":"351623:3:19"},{"name":"length","nativeSrc":"351628:6:19","nodeType":"YulIdentifier","src":"351628:6:19"}],"functionName":{"name":"mstore","nativeSrc":"351616:6:19","nodeType":"YulIdentifier","src":"351616:6:19"},"nativeSrc":"351616:19:19","nodeType":"YulFunctionCall","src":"351616:19:19"},"nativeSrc":"351616:19:19","nodeType":"YulExpressionStatement","src":"351616:19:19"},{"nativeSrc":"351652:37:19","nodeType":"YulVariableDeclaration","src":"351652:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"351669:3:19","nodeType":"YulLiteral","src":"351669:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"351678:1:19","nodeType":"YulLiteral","src":"351678:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"351681:6:19","nodeType":"YulIdentifier","src":"351681:6:19"}],"functionName":{"name":"shl","nativeSrc":"351674:3:19","nodeType":"YulIdentifier","src":"351674:3:19"},"nativeSrc":"351674:14:19","nodeType":"YulFunctionCall","src":"351674:14:19"}],"functionName":{"name":"sub","nativeSrc":"351665:3:19","nodeType":"YulIdentifier","src":"351665:3:19"},"nativeSrc":"351665:24:19","nodeType":"YulFunctionCall","src":"351665:24:19"},"variables":[{"name":"shift","nativeSrc":"351656:5:19","nodeType":"YulTypedName","src":"351656:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"351717:3:19","nodeType":"YulIdentifier","src":"351717:3:19"},{"kind":"number","nativeSrc":"351722:4:19","nodeType":"YulLiteral","src":"351722:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"351713:3:19","nodeType":"YulIdentifier","src":"351713:3:19"},"nativeSrc":"351713:14:19","nodeType":"YulFunctionCall","src":"351713:14:19"},{"arguments":[{"name":"shift","nativeSrc":"351733:5:19","nodeType":"YulIdentifier","src":"351733:5:19"},{"arguments":[{"name":"shift","nativeSrc":"351744:5:19","nodeType":"YulIdentifier","src":"351744:5:19"},{"name":"w","nativeSrc":"351751:1:19","nodeType":"YulIdentifier","src":"351751:1:19"}],"functionName":{"name":"shr","nativeSrc":"351740:3:19","nodeType":"YulIdentifier","src":"351740:3:19"},"nativeSrc":"351740:13:19","nodeType":"YulFunctionCall","src":"351740:13:19"}],"functionName":{"name":"shl","nativeSrc":"351729:3:19","nodeType":"YulIdentifier","src":"351729:3:19"},"nativeSrc":"351729:25:19","nodeType":"YulFunctionCall","src":"351729:25:19"}],"functionName":{"name":"mstore","nativeSrc":"351706:6:19","nodeType":"YulIdentifier","src":"351706:6:19"},"nativeSrc":"351706:49:19","nodeType":"YulFunctionCall","src":"351706:49:19"},"nativeSrc":"351706:49:19","nodeType":"YulExpressionStatement","src":"351706:49:19"}]},"name":"writeString","nativeSrc":"351427:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"351448:3:19","nodeType":"YulTypedName","src":"351448:3:19","type":""},{"name":"w","nativeSrc":"351453:1:19","nodeType":"YulTypedName","src":"351453:1:19","type":""}],"src":"351427:342:19"},{"nativeSrc":"351782:17:19","nodeType":"YulAssignment","src":"351782:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"351794:4:19","nodeType":"YulLiteral","src":"351794:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"351788:5:19","nodeType":"YulIdentifier","src":"351788:5:19"},"nativeSrc":"351788:11:19","nodeType":"YulFunctionCall","src":"351788:11:19"},"variableNames":[{"name":"m0","nativeSrc":"351782:2:19","nodeType":"YulIdentifier","src":"351782:2:19"}]},{"nativeSrc":"351812:17:19","nodeType":"YulAssignment","src":"351812:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"351824:4:19","nodeType":"YulLiteral","src":"351824:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"351818:5:19","nodeType":"YulIdentifier","src":"351818:5:19"},"nativeSrc":"351818:11:19","nodeType":"YulFunctionCall","src":"351818:11:19"},"variableNames":[{"name":"m1","nativeSrc":"351812:2:19","nodeType":"YulIdentifier","src":"351812:2:19"}]},{"nativeSrc":"351842:17:19","nodeType":"YulAssignment","src":"351842:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"351854:4:19","nodeType":"YulLiteral","src":"351854:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"351848:5:19","nodeType":"YulIdentifier","src":"351848:5:19"},"nativeSrc":"351848:11:19","nodeType":"YulFunctionCall","src":"351848:11:19"},"variableNames":[{"name":"m2","nativeSrc":"351842:2:19","nodeType":"YulIdentifier","src":"351842:2:19"}]},{"nativeSrc":"351872:17:19","nodeType":"YulAssignment","src":"351872:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"351884:4:19","nodeType":"YulLiteral","src":"351884:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"351878:5:19","nodeType":"YulIdentifier","src":"351878:5:19"},"nativeSrc":"351878:11:19","nodeType":"YulFunctionCall","src":"351878:11:19"},"variableNames":[{"name":"m3","nativeSrc":"351872:2:19","nodeType":"YulIdentifier","src":"351872:2:19"}]},{"nativeSrc":"351902:17:19","nodeType":"YulAssignment","src":"351902:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"351914:4:19","nodeType":"YulLiteral","src":"351914:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"351908:5:19","nodeType":"YulIdentifier","src":"351908:5:19"},"nativeSrc":"351908:11:19","nodeType":"YulFunctionCall","src":"351908:11:19"},"variableNames":[{"name":"m4","nativeSrc":"351902:2:19","nodeType":"YulIdentifier","src":"351902:2:19"}]},{"nativeSrc":"351932:17:19","nodeType":"YulAssignment","src":"351932:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"351944:4:19","nodeType":"YulLiteral","src":"351944:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"351938:5:19","nodeType":"YulIdentifier","src":"351938:5:19"},"nativeSrc":"351938:11:19","nodeType":"YulFunctionCall","src":"351938:11:19"},"variableNames":[{"name":"m5","nativeSrc":"351932:2:19","nodeType":"YulIdentifier","src":"351932:2:19"}]},{"nativeSrc":"351962:17:19","nodeType":"YulAssignment","src":"351962:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"351974:4:19","nodeType":"YulLiteral","src":"351974:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"351968:5:19","nodeType":"YulIdentifier","src":"351968:5:19"},"nativeSrc":"351968:11:19","nodeType":"YulFunctionCall","src":"351968:11:19"},"variableNames":[{"name":"m6","nativeSrc":"351962:2:19","nodeType":"YulIdentifier","src":"351962:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352062:4:19","nodeType":"YulLiteral","src":"352062:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"352068:10:19","nodeType":"YulLiteral","src":"352068:10:19","type":"","value":"0x33e9dd1d"}],"functionName":{"name":"mstore","nativeSrc":"352055:6:19","nodeType":"YulIdentifier","src":"352055:6:19"},"nativeSrc":"352055:24:19","nodeType":"YulFunctionCall","src":"352055:24:19"},"nativeSrc":"352055:24:19","nodeType":"YulExpressionStatement","src":"352055:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352099:4:19","nodeType":"YulLiteral","src":"352099:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"352105:4:19","nodeType":"YulLiteral","src":"352105:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"352092:6:19","nodeType":"YulIdentifier","src":"352092:6:19"},"nativeSrc":"352092:18:19","nodeType":"YulFunctionCall","src":"352092:18:19"},"nativeSrc":"352092:18:19","nodeType":"YulExpressionStatement","src":"352092:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352130:4:19","nodeType":"YulLiteral","src":"352130:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"352136:2:19","nodeType":"YulIdentifier","src":"352136:2:19"}],"functionName":{"name":"mstore","nativeSrc":"352123:6:19","nodeType":"YulIdentifier","src":"352123:6:19"},"nativeSrc":"352123:16:19","nodeType":"YulFunctionCall","src":"352123:16:19"},"nativeSrc":"352123:16:19","nodeType":"YulExpressionStatement","src":"352123:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352159:4:19","nodeType":"YulLiteral","src":"352159:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"352165:2:19","nodeType":"YulIdentifier","src":"352165:2:19"}],"functionName":{"name":"mstore","nativeSrc":"352152:6:19","nodeType":"YulIdentifier","src":"352152:6:19"},"nativeSrc":"352152:16:19","nodeType":"YulFunctionCall","src":"352152:16:19"},"nativeSrc":"352152:16:19","nodeType":"YulExpressionStatement","src":"352152:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352188:4:19","nodeType":"YulLiteral","src":"352188:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"352194:2:19","nodeType":"YulIdentifier","src":"352194:2:19"}],"functionName":{"name":"mstore","nativeSrc":"352181:6:19","nodeType":"YulIdentifier","src":"352181:6:19"},"nativeSrc":"352181:16:19","nodeType":"YulFunctionCall","src":"352181:16:19"},"nativeSrc":"352181:16:19","nodeType":"YulExpressionStatement","src":"352181:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352222:4:19","nodeType":"YulLiteral","src":"352222:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"352228:2:19","nodeType":"YulIdentifier","src":"352228:2:19"}],"functionName":{"name":"writeString","nativeSrc":"352210:11:19","nodeType":"YulIdentifier","src":"352210:11:19"},"nativeSrc":"352210:21:19","nodeType":"YulFunctionCall","src":"352210:21:19"},"nativeSrc":"352210:21:19","nodeType":"YulExpressionStatement","src":"352210:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37210,"isOffset":false,"isSlot":false,"src":"351782:2:19","valueSize":1},{"declaration":37213,"isOffset":false,"isSlot":false,"src":"351812:2:19","valueSize":1},{"declaration":37216,"isOffset":false,"isSlot":false,"src":"351842:2:19","valueSize":1},{"declaration":37219,"isOffset":false,"isSlot":false,"src":"351872:2:19","valueSize":1},{"declaration":37222,"isOffset":false,"isSlot":false,"src":"351902:2:19","valueSize":1},{"declaration":37225,"isOffset":false,"isSlot":false,"src":"351932:2:19","valueSize":1},{"declaration":37228,"isOffset":false,"isSlot":false,"src":"351962:2:19","valueSize":1},{"declaration":37200,"isOffset":false,"isSlot":false,"src":"352228:2:19","valueSize":1},{"declaration":37202,"isOffset":false,"isSlot":false,"src":"352136:2:19","valueSize":1},{"declaration":37204,"isOffset":false,"isSlot":false,"src":"352165:2:19","valueSize":1},{"declaration":37206,"isOffset":false,"isSlot":false,"src":"352194:2:19","valueSize":1}],"id":37230,"nodeType":"InlineAssembly","src":"351404:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":37232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"352266:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"352272:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":37231,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"352250:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"352250:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37235,"nodeType":"ExpressionStatement","src":"352250:27:19"},{"AST":{"nativeSrc":"352339:214:19","nodeType":"YulBlock","src":"352339:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"352360:4:19","nodeType":"YulLiteral","src":"352360:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"352366:2:19","nodeType":"YulIdentifier","src":"352366:2:19"}],"functionName":{"name":"mstore","nativeSrc":"352353:6:19","nodeType":"YulIdentifier","src":"352353:6:19"},"nativeSrc":"352353:16:19","nodeType":"YulFunctionCall","src":"352353:16:19"},"nativeSrc":"352353:16:19","nodeType":"YulExpressionStatement","src":"352353:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352389:4:19","nodeType":"YulLiteral","src":"352389:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"352395:2:19","nodeType":"YulIdentifier","src":"352395:2:19"}],"functionName":{"name":"mstore","nativeSrc":"352382:6:19","nodeType":"YulIdentifier","src":"352382:6:19"},"nativeSrc":"352382:16:19","nodeType":"YulFunctionCall","src":"352382:16:19"},"nativeSrc":"352382:16:19","nodeType":"YulExpressionStatement","src":"352382:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352418:4:19","nodeType":"YulLiteral","src":"352418:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"352424:2:19","nodeType":"YulIdentifier","src":"352424:2:19"}],"functionName":{"name":"mstore","nativeSrc":"352411:6:19","nodeType":"YulIdentifier","src":"352411:6:19"},"nativeSrc":"352411:16:19","nodeType":"YulFunctionCall","src":"352411:16:19"},"nativeSrc":"352411:16:19","nodeType":"YulExpressionStatement","src":"352411:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352447:4:19","nodeType":"YulLiteral","src":"352447:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"352453:2:19","nodeType":"YulIdentifier","src":"352453:2:19"}],"functionName":{"name":"mstore","nativeSrc":"352440:6:19","nodeType":"YulIdentifier","src":"352440:6:19"},"nativeSrc":"352440:16:19","nodeType":"YulFunctionCall","src":"352440:16:19"},"nativeSrc":"352440:16:19","nodeType":"YulExpressionStatement","src":"352440:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352476:4:19","nodeType":"YulLiteral","src":"352476:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"352482:2:19","nodeType":"YulIdentifier","src":"352482:2:19"}],"functionName":{"name":"mstore","nativeSrc":"352469:6:19","nodeType":"YulIdentifier","src":"352469:6:19"},"nativeSrc":"352469:16:19","nodeType":"YulFunctionCall","src":"352469:16:19"},"nativeSrc":"352469:16:19","nodeType":"YulExpressionStatement","src":"352469:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352505:4:19","nodeType":"YulLiteral","src":"352505:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"352511:2:19","nodeType":"YulIdentifier","src":"352511:2:19"}],"functionName":{"name":"mstore","nativeSrc":"352498:6:19","nodeType":"YulIdentifier","src":"352498:6:19"},"nativeSrc":"352498:16:19","nodeType":"YulFunctionCall","src":"352498:16:19"},"nativeSrc":"352498:16:19","nodeType":"YulExpressionStatement","src":"352498:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"352534:4:19","nodeType":"YulLiteral","src":"352534:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"352540:2:19","nodeType":"YulIdentifier","src":"352540:2:19"}],"functionName":{"name":"mstore","nativeSrc":"352527:6:19","nodeType":"YulIdentifier","src":"352527:6:19"},"nativeSrc":"352527:16:19","nodeType":"YulFunctionCall","src":"352527:16:19"},"nativeSrc":"352527:16:19","nodeType":"YulExpressionStatement","src":"352527:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37210,"isOffset":false,"isSlot":false,"src":"352366:2:19","valueSize":1},{"declaration":37213,"isOffset":false,"isSlot":false,"src":"352395:2:19","valueSize":1},{"declaration":37216,"isOffset":false,"isSlot":false,"src":"352424:2:19","valueSize":1},{"declaration":37219,"isOffset":false,"isSlot":false,"src":"352453:2:19","valueSize":1},{"declaration":37222,"isOffset":false,"isSlot":false,"src":"352482:2:19","valueSize":1},{"declaration":37225,"isOffset":false,"isSlot":false,"src":"352511:2:19","valueSize":1},{"declaration":37228,"isOffset":false,"isSlot":false,"src":"352540:2:19","valueSize":1}],"id":37236,"nodeType":"InlineAssembly","src":"352330:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"351148:3:19","parameters":{"id":37207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37200,"mutability":"mutable","name":"p0","nameLocation":"351160:2:19","nodeType":"VariableDeclaration","scope":37238,"src":"351152:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351152:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37202,"mutability":"mutable","name":"p1","nameLocation":"351169:2:19","nodeType":"VariableDeclaration","scope":37238,"src":"351164:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37201,"name":"bool","nodeType":"ElementaryTypeName","src":"351164:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37204,"mutability":"mutable","name":"p2","nameLocation":"351181:2:19","nodeType":"VariableDeclaration","scope":37238,"src":"351173:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37203,"name":"address","nodeType":"ElementaryTypeName","src":"351173:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37206,"mutability":"mutable","name":"p3","nameLocation":"351193:2:19","nodeType":"VariableDeclaration","scope":37238,"src":"351185:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37205,"name":"address","nodeType":"ElementaryTypeName","src":"351185:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"351151:45:19"},"returnParameters":{"id":37208,"nodeType":"ParameterList","parameters":[],"src":"351211:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37278,"nodeType":"FunctionDefinition","src":"352565:1414:19","nodes":[],"body":{"id":37277,"nodeType":"Block","src":"352634:1345:19","nodes":[],"statements":[{"assignments":[37250],"declarations":[{"constant":false,"id":37250,"mutability":"mutable","name":"m0","nameLocation":"352652:2:19","nodeType":"VariableDeclaration","scope":37277,"src":"352644:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"352644:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37251,"nodeType":"VariableDeclarationStatement","src":"352644:10:19"},{"assignments":[37253],"declarations":[{"constant":false,"id":37253,"mutability":"mutable","name":"m1","nameLocation":"352672:2:19","nodeType":"VariableDeclaration","scope":37277,"src":"352664:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37252,"name":"bytes32","nodeType":"ElementaryTypeName","src":"352664:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37254,"nodeType":"VariableDeclarationStatement","src":"352664:10:19"},{"assignments":[37256],"declarations":[{"constant":false,"id":37256,"mutability":"mutable","name":"m2","nameLocation":"352692:2:19","nodeType":"VariableDeclaration","scope":37277,"src":"352684:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37255,"name":"bytes32","nodeType":"ElementaryTypeName","src":"352684:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37257,"nodeType":"VariableDeclarationStatement","src":"352684:10:19"},{"assignments":[37259],"declarations":[{"constant":false,"id":37259,"mutability":"mutable","name":"m3","nameLocation":"352712:2:19","nodeType":"VariableDeclaration","scope":37277,"src":"352704:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37258,"name":"bytes32","nodeType":"ElementaryTypeName","src":"352704:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37260,"nodeType":"VariableDeclarationStatement","src":"352704:10:19"},{"assignments":[37262],"declarations":[{"constant":false,"id":37262,"mutability":"mutable","name":"m4","nameLocation":"352732:2:19","nodeType":"VariableDeclaration","scope":37277,"src":"352724:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37261,"name":"bytes32","nodeType":"ElementaryTypeName","src":"352724:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37263,"nodeType":"VariableDeclarationStatement","src":"352724:10:19"},{"assignments":[37265],"declarations":[{"constant":false,"id":37265,"mutability":"mutable","name":"m5","nameLocation":"352752:2:19","nodeType":"VariableDeclaration","scope":37277,"src":"352744:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37264,"name":"bytes32","nodeType":"ElementaryTypeName","src":"352744:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37266,"nodeType":"VariableDeclarationStatement","src":"352744:10:19"},{"assignments":[37268],"declarations":[{"constant":false,"id":37268,"mutability":"mutable","name":"m6","nameLocation":"352772:2:19","nodeType":"VariableDeclaration","scope":37277,"src":"352764:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37267,"name":"bytes32","nodeType":"ElementaryTypeName","src":"352764:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37269,"nodeType":"VariableDeclarationStatement","src":"352764:10:19"},{"AST":{"nativeSrc":"352836:825:19","nodeType":"YulBlock","src":"352836:825:19","statements":[{"body":{"nativeSrc":"352879:313:19","nodeType":"YulBlock","src":"352879:313:19","statements":[{"nativeSrc":"352897:15:19","nodeType":"YulVariableDeclaration","src":"352897:15:19","value":{"kind":"number","nativeSrc":"352911:1:19","nodeType":"YulLiteral","src":"352911:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"352901:6:19","nodeType":"YulTypedName","src":"352901:6:19","type":""}]},{"body":{"nativeSrc":"352982:40:19","nodeType":"YulBlock","src":"352982:40:19","statements":[{"body":{"nativeSrc":"353011:9:19","nodeType":"YulBlock","src":"353011:9:19","statements":[{"nativeSrc":"353013:5:19","nodeType":"YulBreak","src":"353013:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"352999:6:19","nodeType":"YulIdentifier","src":"352999:6:19"},{"name":"w","nativeSrc":"353007:1:19","nodeType":"YulIdentifier","src":"353007:1:19"}],"functionName":{"name":"byte","nativeSrc":"352994:4:19","nodeType":"YulIdentifier","src":"352994:4:19"},"nativeSrc":"352994:15:19","nodeType":"YulFunctionCall","src":"352994:15:19"}],"functionName":{"name":"iszero","nativeSrc":"352987:6:19","nodeType":"YulIdentifier","src":"352987:6:19"},"nativeSrc":"352987:23:19","nodeType":"YulFunctionCall","src":"352987:23:19"},"nativeSrc":"352984:36:19","nodeType":"YulIf","src":"352984:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"352939:6:19","nodeType":"YulIdentifier","src":"352939:6:19"},{"kind":"number","nativeSrc":"352947:4:19","nodeType":"YulLiteral","src":"352947:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"352936:2:19","nodeType":"YulIdentifier","src":"352936:2:19"},"nativeSrc":"352936:16:19","nodeType":"YulFunctionCall","src":"352936:16:19"},"nativeSrc":"352929:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"352953:28:19","nodeType":"YulBlock","src":"352953:28:19","statements":[{"nativeSrc":"352955:24:19","nodeType":"YulAssignment","src":"352955:24:19","value":{"arguments":[{"name":"length","nativeSrc":"352969:6:19","nodeType":"YulIdentifier","src":"352969:6:19"},{"kind":"number","nativeSrc":"352977:1:19","nodeType":"YulLiteral","src":"352977:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"352965:3:19","nodeType":"YulIdentifier","src":"352965:3:19"},"nativeSrc":"352965:14:19","nodeType":"YulFunctionCall","src":"352965:14:19"},"variableNames":[{"name":"length","nativeSrc":"352955:6:19","nodeType":"YulIdentifier","src":"352955:6:19"}]}]},"pre":{"nativeSrc":"352933:2:19","nodeType":"YulBlock","src":"352933:2:19","statements":[]},"src":"352929:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"353046:3:19","nodeType":"YulIdentifier","src":"353046:3:19"},{"name":"length","nativeSrc":"353051:6:19","nodeType":"YulIdentifier","src":"353051:6:19"}],"functionName":{"name":"mstore","nativeSrc":"353039:6:19","nodeType":"YulIdentifier","src":"353039:6:19"},"nativeSrc":"353039:19:19","nodeType":"YulFunctionCall","src":"353039:19:19"},"nativeSrc":"353039:19:19","nodeType":"YulExpressionStatement","src":"353039:19:19"},{"nativeSrc":"353075:37:19","nodeType":"YulVariableDeclaration","src":"353075:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"353092:3:19","nodeType":"YulLiteral","src":"353092:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"353101:1:19","nodeType":"YulLiteral","src":"353101:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"353104:6:19","nodeType":"YulIdentifier","src":"353104:6:19"}],"functionName":{"name":"shl","nativeSrc":"353097:3:19","nodeType":"YulIdentifier","src":"353097:3:19"},"nativeSrc":"353097:14:19","nodeType":"YulFunctionCall","src":"353097:14:19"}],"functionName":{"name":"sub","nativeSrc":"353088:3:19","nodeType":"YulIdentifier","src":"353088:3:19"},"nativeSrc":"353088:24:19","nodeType":"YulFunctionCall","src":"353088:24:19"},"variables":[{"name":"shift","nativeSrc":"353079:5:19","nodeType":"YulTypedName","src":"353079:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"353140:3:19","nodeType":"YulIdentifier","src":"353140:3:19"},{"kind":"number","nativeSrc":"353145:4:19","nodeType":"YulLiteral","src":"353145:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"353136:3:19","nodeType":"YulIdentifier","src":"353136:3:19"},"nativeSrc":"353136:14:19","nodeType":"YulFunctionCall","src":"353136:14:19"},{"arguments":[{"name":"shift","nativeSrc":"353156:5:19","nodeType":"YulIdentifier","src":"353156:5:19"},{"arguments":[{"name":"shift","nativeSrc":"353167:5:19","nodeType":"YulIdentifier","src":"353167:5:19"},{"name":"w","nativeSrc":"353174:1:19","nodeType":"YulIdentifier","src":"353174:1:19"}],"functionName":{"name":"shr","nativeSrc":"353163:3:19","nodeType":"YulIdentifier","src":"353163:3:19"},"nativeSrc":"353163:13:19","nodeType":"YulFunctionCall","src":"353163:13:19"}],"functionName":{"name":"shl","nativeSrc":"353152:3:19","nodeType":"YulIdentifier","src":"353152:3:19"},"nativeSrc":"353152:25:19","nodeType":"YulFunctionCall","src":"353152:25:19"}],"functionName":{"name":"mstore","nativeSrc":"353129:6:19","nodeType":"YulIdentifier","src":"353129:6:19"},"nativeSrc":"353129:49:19","nodeType":"YulFunctionCall","src":"353129:49:19"},"nativeSrc":"353129:49:19","nodeType":"YulExpressionStatement","src":"353129:49:19"}]},"name":"writeString","nativeSrc":"352850:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"352871:3:19","nodeType":"YulTypedName","src":"352871:3:19","type":""},{"name":"w","nativeSrc":"352876:1:19","nodeType":"YulTypedName","src":"352876:1:19","type":""}],"src":"352850:342:19"},{"nativeSrc":"353205:17:19","nodeType":"YulAssignment","src":"353205:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"353217:4:19","nodeType":"YulLiteral","src":"353217:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"353211:5:19","nodeType":"YulIdentifier","src":"353211:5:19"},"nativeSrc":"353211:11:19","nodeType":"YulFunctionCall","src":"353211:11:19"},"variableNames":[{"name":"m0","nativeSrc":"353205:2:19","nodeType":"YulIdentifier","src":"353205:2:19"}]},{"nativeSrc":"353235:17:19","nodeType":"YulAssignment","src":"353235:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"353247:4:19","nodeType":"YulLiteral","src":"353247:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"353241:5:19","nodeType":"YulIdentifier","src":"353241:5:19"},"nativeSrc":"353241:11:19","nodeType":"YulFunctionCall","src":"353241:11:19"},"variableNames":[{"name":"m1","nativeSrc":"353235:2:19","nodeType":"YulIdentifier","src":"353235:2:19"}]},{"nativeSrc":"353265:17:19","nodeType":"YulAssignment","src":"353265:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"353277:4:19","nodeType":"YulLiteral","src":"353277:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"353271:5:19","nodeType":"YulIdentifier","src":"353271:5:19"},"nativeSrc":"353271:11:19","nodeType":"YulFunctionCall","src":"353271:11:19"},"variableNames":[{"name":"m2","nativeSrc":"353265:2:19","nodeType":"YulIdentifier","src":"353265:2:19"}]},{"nativeSrc":"353295:17:19","nodeType":"YulAssignment","src":"353295:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"353307:4:19","nodeType":"YulLiteral","src":"353307:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"353301:5:19","nodeType":"YulIdentifier","src":"353301:5:19"},"nativeSrc":"353301:11:19","nodeType":"YulFunctionCall","src":"353301:11:19"},"variableNames":[{"name":"m3","nativeSrc":"353295:2:19","nodeType":"YulIdentifier","src":"353295:2:19"}]},{"nativeSrc":"353325:17:19","nodeType":"YulAssignment","src":"353325:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"353337:4:19","nodeType":"YulLiteral","src":"353337:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"353331:5:19","nodeType":"YulIdentifier","src":"353331:5:19"},"nativeSrc":"353331:11:19","nodeType":"YulFunctionCall","src":"353331:11:19"},"variableNames":[{"name":"m4","nativeSrc":"353325:2:19","nodeType":"YulIdentifier","src":"353325:2:19"}]},{"nativeSrc":"353355:17:19","nodeType":"YulAssignment","src":"353355:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"353367:4:19","nodeType":"YulLiteral","src":"353367:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"353361:5:19","nodeType":"YulIdentifier","src":"353361:5:19"},"nativeSrc":"353361:11:19","nodeType":"YulFunctionCall","src":"353361:11:19"},"variableNames":[{"name":"m5","nativeSrc":"353355:2:19","nodeType":"YulIdentifier","src":"353355:2:19"}]},{"nativeSrc":"353385:17:19","nodeType":"YulAssignment","src":"353385:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"353397:4:19","nodeType":"YulLiteral","src":"353397:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"353391:5:19","nodeType":"YulIdentifier","src":"353391:5:19"},"nativeSrc":"353391:11:19","nodeType":"YulFunctionCall","src":"353391:11:19"},"variableNames":[{"name":"m6","nativeSrc":"353385:2:19","nodeType":"YulIdentifier","src":"353385:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353482:4:19","nodeType":"YulLiteral","src":"353482:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"353488:10:19","nodeType":"YulLiteral","src":"353488:10:19","type":"","value":"0x958c28c6"}],"functionName":{"name":"mstore","nativeSrc":"353475:6:19","nodeType":"YulIdentifier","src":"353475:6:19"},"nativeSrc":"353475:24:19","nodeType":"YulFunctionCall","src":"353475:24:19"},"nativeSrc":"353475:24:19","nodeType":"YulExpressionStatement","src":"353475:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353519:4:19","nodeType":"YulLiteral","src":"353519:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"353525:4:19","nodeType":"YulLiteral","src":"353525:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"353512:6:19","nodeType":"YulIdentifier","src":"353512:6:19"},"nativeSrc":"353512:18:19","nodeType":"YulFunctionCall","src":"353512:18:19"},"nativeSrc":"353512:18:19","nodeType":"YulExpressionStatement","src":"353512:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353550:4:19","nodeType":"YulLiteral","src":"353550:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"353556:2:19","nodeType":"YulIdentifier","src":"353556:2:19"}],"functionName":{"name":"mstore","nativeSrc":"353543:6:19","nodeType":"YulIdentifier","src":"353543:6:19"},"nativeSrc":"353543:16:19","nodeType":"YulFunctionCall","src":"353543:16:19"},"nativeSrc":"353543:16:19","nodeType":"YulExpressionStatement","src":"353543:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353579:4:19","nodeType":"YulLiteral","src":"353579:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"353585:2:19","nodeType":"YulIdentifier","src":"353585:2:19"}],"functionName":{"name":"mstore","nativeSrc":"353572:6:19","nodeType":"YulIdentifier","src":"353572:6:19"},"nativeSrc":"353572:16:19","nodeType":"YulFunctionCall","src":"353572:16:19"},"nativeSrc":"353572:16:19","nodeType":"YulExpressionStatement","src":"353572:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353608:4:19","nodeType":"YulLiteral","src":"353608:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"353614:2:19","nodeType":"YulIdentifier","src":"353614:2:19"}],"functionName":{"name":"mstore","nativeSrc":"353601:6:19","nodeType":"YulIdentifier","src":"353601:6:19"},"nativeSrc":"353601:16:19","nodeType":"YulFunctionCall","src":"353601:16:19"},"nativeSrc":"353601:16:19","nodeType":"YulExpressionStatement","src":"353601:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353642:4:19","nodeType":"YulLiteral","src":"353642:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"353648:2:19","nodeType":"YulIdentifier","src":"353648:2:19"}],"functionName":{"name":"writeString","nativeSrc":"353630:11:19","nodeType":"YulIdentifier","src":"353630:11:19"},"nativeSrc":"353630:21:19","nodeType":"YulFunctionCall","src":"353630:21:19"},"nativeSrc":"353630:21:19","nodeType":"YulExpressionStatement","src":"353630:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37250,"isOffset":false,"isSlot":false,"src":"353205:2:19","valueSize":1},{"declaration":37253,"isOffset":false,"isSlot":false,"src":"353235:2:19","valueSize":1},{"declaration":37256,"isOffset":false,"isSlot":false,"src":"353265:2:19","valueSize":1},{"declaration":37259,"isOffset":false,"isSlot":false,"src":"353295:2:19","valueSize":1},{"declaration":37262,"isOffset":false,"isSlot":false,"src":"353325:2:19","valueSize":1},{"declaration":37265,"isOffset":false,"isSlot":false,"src":"353355:2:19","valueSize":1},{"declaration":37268,"isOffset":false,"isSlot":false,"src":"353385:2:19","valueSize":1},{"declaration":37240,"isOffset":false,"isSlot":false,"src":"353648:2:19","valueSize":1},{"declaration":37242,"isOffset":false,"isSlot":false,"src":"353556:2:19","valueSize":1},{"declaration":37244,"isOffset":false,"isSlot":false,"src":"353585:2:19","valueSize":1},{"declaration":37246,"isOffset":false,"isSlot":false,"src":"353614:2:19","valueSize":1}],"id":37270,"nodeType":"InlineAssembly","src":"352827:834:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":37272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"353686:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"353692:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":37271,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"353670:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"353670:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37275,"nodeType":"ExpressionStatement","src":"353670:27:19"},{"AST":{"nativeSrc":"353759:214:19","nodeType":"YulBlock","src":"353759:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"353780:4:19","nodeType":"YulLiteral","src":"353780:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"353786:2:19","nodeType":"YulIdentifier","src":"353786:2:19"}],"functionName":{"name":"mstore","nativeSrc":"353773:6:19","nodeType":"YulIdentifier","src":"353773:6:19"},"nativeSrc":"353773:16:19","nodeType":"YulFunctionCall","src":"353773:16:19"},"nativeSrc":"353773:16:19","nodeType":"YulExpressionStatement","src":"353773:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353809:4:19","nodeType":"YulLiteral","src":"353809:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"353815:2:19","nodeType":"YulIdentifier","src":"353815:2:19"}],"functionName":{"name":"mstore","nativeSrc":"353802:6:19","nodeType":"YulIdentifier","src":"353802:6:19"},"nativeSrc":"353802:16:19","nodeType":"YulFunctionCall","src":"353802:16:19"},"nativeSrc":"353802:16:19","nodeType":"YulExpressionStatement","src":"353802:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353838:4:19","nodeType":"YulLiteral","src":"353838:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"353844:2:19","nodeType":"YulIdentifier","src":"353844:2:19"}],"functionName":{"name":"mstore","nativeSrc":"353831:6:19","nodeType":"YulIdentifier","src":"353831:6:19"},"nativeSrc":"353831:16:19","nodeType":"YulFunctionCall","src":"353831:16:19"},"nativeSrc":"353831:16:19","nodeType":"YulExpressionStatement","src":"353831:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353867:4:19","nodeType":"YulLiteral","src":"353867:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"353873:2:19","nodeType":"YulIdentifier","src":"353873:2:19"}],"functionName":{"name":"mstore","nativeSrc":"353860:6:19","nodeType":"YulIdentifier","src":"353860:6:19"},"nativeSrc":"353860:16:19","nodeType":"YulFunctionCall","src":"353860:16:19"},"nativeSrc":"353860:16:19","nodeType":"YulExpressionStatement","src":"353860:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353896:4:19","nodeType":"YulLiteral","src":"353896:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"353902:2:19","nodeType":"YulIdentifier","src":"353902:2:19"}],"functionName":{"name":"mstore","nativeSrc":"353889:6:19","nodeType":"YulIdentifier","src":"353889:6:19"},"nativeSrc":"353889:16:19","nodeType":"YulFunctionCall","src":"353889:16:19"},"nativeSrc":"353889:16:19","nodeType":"YulExpressionStatement","src":"353889:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353925:4:19","nodeType":"YulLiteral","src":"353925:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"353931:2:19","nodeType":"YulIdentifier","src":"353931:2:19"}],"functionName":{"name":"mstore","nativeSrc":"353918:6:19","nodeType":"YulIdentifier","src":"353918:6:19"},"nativeSrc":"353918:16:19","nodeType":"YulFunctionCall","src":"353918:16:19"},"nativeSrc":"353918:16:19","nodeType":"YulExpressionStatement","src":"353918:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"353954:4:19","nodeType":"YulLiteral","src":"353954:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"353960:2:19","nodeType":"YulIdentifier","src":"353960:2:19"}],"functionName":{"name":"mstore","nativeSrc":"353947:6:19","nodeType":"YulIdentifier","src":"353947:6:19"},"nativeSrc":"353947:16:19","nodeType":"YulFunctionCall","src":"353947:16:19"},"nativeSrc":"353947:16:19","nodeType":"YulExpressionStatement","src":"353947:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37250,"isOffset":false,"isSlot":false,"src":"353786:2:19","valueSize":1},{"declaration":37253,"isOffset":false,"isSlot":false,"src":"353815:2:19","valueSize":1},{"declaration":37256,"isOffset":false,"isSlot":false,"src":"353844:2:19","valueSize":1},{"declaration":37259,"isOffset":false,"isSlot":false,"src":"353873:2:19","valueSize":1},{"declaration":37262,"isOffset":false,"isSlot":false,"src":"353902:2:19","valueSize":1},{"declaration":37265,"isOffset":false,"isSlot":false,"src":"353931:2:19","valueSize":1},{"declaration":37268,"isOffset":false,"isSlot":false,"src":"353960:2:19","valueSize":1}],"id":37276,"nodeType":"InlineAssembly","src":"353750:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"352574:3:19","parameters":{"id":37247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37240,"mutability":"mutable","name":"p0","nameLocation":"352586:2:19","nodeType":"VariableDeclaration","scope":37278,"src":"352578:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37239,"name":"bytes32","nodeType":"ElementaryTypeName","src":"352578:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37242,"mutability":"mutable","name":"p1","nameLocation":"352595:2:19","nodeType":"VariableDeclaration","scope":37278,"src":"352590:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37241,"name":"bool","nodeType":"ElementaryTypeName","src":"352590:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37244,"mutability":"mutable","name":"p2","nameLocation":"352607:2:19","nodeType":"VariableDeclaration","scope":37278,"src":"352599:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37243,"name":"address","nodeType":"ElementaryTypeName","src":"352599:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37246,"mutability":"mutable","name":"p3","nameLocation":"352616:2:19","nodeType":"VariableDeclaration","scope":37278,"src":"352611:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37245,"name":"bool","nodeType":"ElementaryTypeName","src":"352611:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"352577:42:19"},"returnParameters":{"id":37248,"nodeType":"ParameterList","parameters":[],"src":"352634:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37318,"nodeType":"FunctionDefinition","src":"353985:1420:19","nodes":[],"body":{"id":37317,"nodeType":"Block","src":"354057:1348:19","nodes":[],"statements":[{"assignments":[37290],"declarations":[{"constant":false,"id":37290,"mutability":"mutable","name":"m0","nameLocation":"354075:2:19","nodeType":"VariableDeclaration","scope":37317,"src":"354067:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37289,"name":"bytes32","nodeType":"ElementaryTypeName","src":"354067:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37291,"nodeType":"VariableDeclarationStatement","src":"354067:10:19"},{"assignments":[37293],"declarations":[{"constant":false,"id":37293,"mutability":"mutable","name":"m1","nameLocation":"354095:2:19","nodeType":"VariableDeclaration","scope":37317,"src":"354087:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37292,"name":"bytes32","nodeType":"ElementaryTypeName","src":"354087:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37294,"nodeType":"VariableDeclarationStatement","src":"354087:10:19"},{"assignments":[37296],"declarations":[{"constant":false,"id":37296,"mutability":"mutable","name":"m2","nameLocation":"354115:2:19","nodeType":"VariableDeclaration","scope":37317,"src":"354107:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37295,"name":"bytes32","nodeType":"ElementaryTypeName","src":"354107:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37297,"nodeType":"VariableDeclarationStatement","src":"354107:10:19"},{"assignments":[37299],"declarations":[{"constant":false,"id":37299,"mutability":"mutable","name":"m3","nameLocation":"354135:2:19","nodeType":"VariableDeclaration","scope":37317,"src":"354127:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37298,"name":"bytes32","nodeType":"ElementaryTypeName","src":"354127:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37300,"nodeType":"VariableDeclarationStatement","src":"354127:10:19"},{"assignments":[37302],"declarations":[{"constant":false,"id":37302,"mutability":"mutable","name":"m4","nameLocation":"354155:2:19","nodeType":"VariableDeclaration","scope":37317,"src":"354147:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37301,"name":"bytes32","nodeType":"ElementaryTypeName","src":"354147:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37303,"nodeType":"VariableDeclarationStatement","src":"354147:10:19"},{"assignments":[37305],"declarations":[{"constant":false,"id":37305,"mutability":"mutable","name":"m5","nameLocation":"354175:2:19","nodeType":"VariableDeclaration","scope":37317,"src":"354167:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37304,"name":"bytes32","nodeType":"ElementaryTypeName","src":"354167:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37306,"nodeType":"VariableDeclarationStatement","src":"354167:10:19"},{"assignments":[37308],"declarations":[{"constant":false,"id":37308,"mutability":"mutable","name":"m6","nameLocation":"354195:2:19","nodeType":"VariableDeclaration","scope":37317,"src":"354187:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37307,"name":"bytes32","nodeType":"ElementaryTypeName","src":"354187:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37309,"nodeType":"VariableDeclarationStatement","src":"354187:10:19"},{"AST":{"nativeSrc":"354259:828:19","nodeType":"YulBlock","src":"354259:828:19","statements":[{"body":{"nativeSrc":"354302:313:19","nodeType":"YulBlock","src":"354302:313:19","statements":[{"nativeSrc":"354320:15:19","nodeType":"YulVariableDeclaration","src":"354320:15:19","value":{"kind":"number","nativeSrc":"354334:1:19","nodeType":"YulLiteral","src":"354334:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"354324:6:19","nodeType":"YulTypedName","src":"354324:6:19","type":""}]},{"body":{"nativeSrc":"354405:40:19","nodeType":"YulBlock","src":"354405:40:19","statements":[{"body":{"nativeSrc":"354434:9:19","nodeType":"YulBlock","src":"354434:9:19","statements":[{"nativeSrc":"354436:5:19","nodeType":"YulBreak","src":"354436:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"354422:6:19","nodeType":"YulIdentifier","src":"354422:6:19"},{"name":"w","nativeSrc":"354430:1:19","nodeType":"YulIdentifier","src":"354430:1:19"}],"functionName":{"name":"byte","nativeSrc":"354417:4:19","nodeType":"YulIdentifier","src":"354417:4:19"},"nativeSrc":"354417:15:19","nodeType":"YulFunctionCall","src":"354417:15:19"}],"functionName":{"name":"iszero","nativeSrc":"354410:6:19","nodeType":"YulIdentifier","src":"354410:6:19"},"nativeSrc":"354410:23:19","nodeType":"YulFunctionCall","src":"354410:23:19"},"nativeSrc":"354407:36:19","nodeType":"YulIf","src":"354407:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"354362:6:19","nodeType":"YulIdentifier","src":"354362:6:19"},{"kind":"number","nativeSrc":"354370:4:19","nodeType":"YulLiteral","src":"354370:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"354359:2:19","nodeType":"YulIdentifier","src":"354359:2:19"},"nativeSrc":"354359:16:19","nodeType":"YulFunctionCall","src":"354359:16:19"},"nativeSrc":"354352:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"354376:28:19","nodeType":"YulBlock","src":"354376:28:19","statements":[{"nativeSrc":"354378:24:19","nodeType":"YulAssignment","src":"354378:24:19","value":{"arguments":[{"name":"length","nativeSrc":"354392:6:19","nodeType":"YulIdentifier","src":"354392:6:19"},{"kind":"number","nativeSrc":"354400:1:19","nodeType":"YulLiteral","src":"354400:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"354388:3:19","nodeType":"YulIdentifier","src":"354388:3:19"},"nativeSrc":"354388:14:19","nodeType":"YulFunctionCall","src":"354388:14:19"},"variableNames":[{"name":"length","nativeSrc":"354378:6:19","nodeType":"YulIdentifier","src":"354378:6:19"}]}]},"pre":{"nativeSrc":"354356:2:19","nodeType":"YulBlock","src":"354356:2:19","statements":[]},"src":"354352:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"354469:3:19","nodeType":"YulIdentifier","src":"354469:3:19"},{"name":"length","nativeSrc":"354474:6:19","nodeType":"YulIdentifier","src":"354474:6:19"}],"functionName":{"name":"mstore","nativeSrc":"354462:6:19","nodeType":"YulIdentifier","src":"354462:6:19"},"nativeSrc":"354462:19:19","nodeType":"YulFunctionCall","src":"354462:19:19"},"nativeSrc":"354462:19:19","nodeType":"YulExpressionStatement","src":"354462:19:19"},{"nativeSrc":"354498:37:19","nodeType":"YulVariableDeclaration","src":"354498:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"354515:3:19","nodeType":"YulLiteral","src":"354515:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"354524:1:19","nodeType":"YulLiteral","src":"354524:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"354527:6:19","nodeType":"YulIdentifier","src":"354527:6:19"}],"functionName":{"name":"shl","nativeSrc":"354520:3:19","nodeType":"YulIdentifier","src":"354520:3:19"},"nativeSrc":"354520:14:19","nodeType":"YulFunctionCall","src":"354520:14:19"}],"functionName":{"name":"sub","nativeSrc":"354511:3:19","nodeType":"YulIdentifier","src":"354511:3:19"},"nativeSrc":"354511:24:19","nodeType":"YulFunctionCall","src":"354511:24:19"},"variables":[{"name":"shift","nativeSrc":"354502:5:19","nodeType":"YulTypedName","src":"354502:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"354563:3:19","nodeType":"YulIdentifier","src":"354563:3:19"},{"kind":"number","nativeSrc":"354568:4:19","nodeType":"YulLiteral","src":"354568:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"354559:3:19","nodeType":"YulIdentifier","src":"354559:3:19"},"nativeSrc":"354559:14:19","nodeType":"YulFunctionCall","src":"354559:14:19"},{"arguments":[{"name":"shift","nativeSrc":"354579:5:19","nodeType":"YulIdentifier","src":"354579:5:19"},{"arguments":[{"name":"shift","nativeSrc":"354590:5:19","nodeType":"YulIdentifier","src":"354590:5:19"},{"name":"w","nativeSrc":"354597:1:19","nodeType":"YulIdentifier","src":"354597:1:19"}],"functionName":{"name":"shr","nativeSrc":"354586:3:19","nodeType":"YulIdentifier","src":"354586:3:19"},"nativeSrc":"354586:13:19","nodeType":"YulFunctionCall","src":"354586:13:19"}],"functionName":{"name":"shl","nativeSrc":"354575:3:19","nodeType":"YulIdentifier","src":"354575:3:19"},"nativeSrc":"354575:25:19","nodeType":"YulFunctionCall","src":"354575:25:19"}],"functionName":{"name":"mstore","nativeSrc":"354552:6:19","nodeType":"YulIdentifier","src":"354552:6:19"},"nativeSrc":"354552:49:19","nodeType":"YulFunctionCall","src":"354552:49:19"},"nativeSrc":"354552:49:19","nodeType":"YulExpressionStatement","src":"354552:49:19"}]},"name":"writeString","nativeSrc":"354273:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"354294:3:19","nodeType":"YulTypedName","src":"354294:3:19","type":""},{"name":"w","nativeSrc":"354299:1:19","nodeType":"YulTypedName","src":"354299:1:19","type":""}],"src":"354273:342:19"},{"nativeSrc":"354628:17:19","nodeType":"YulAssignment","src":"354628:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"354640:4:19","nodeType":"YulLiteral","src":"354640:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"354634:5:19","nodeType":"YulIdentifier","src":"354634:5:19"},"nativeSrc":"354634:11:19","nodeType":"YulFunctionCall","src":"354634:11:19"},"variableNames":[{"name":"m0","nativeSrc":"354628:2:19","nodeType":"YulIdentifier","src":"354628:2:19"}]},{"nativeSrc":"354658:17:19","nodeType":"YulAssignment","src":"354658:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"354670:4:19","nodeType":"YulLiteral","src":"354670:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"354664:5:19","nodeType":"YulIdentifier","src":"354664:5:19"},"nativeSrc":"354664:11:19","nodeType":"YulFunctionCall","src":"354664:11:19"},"variableNames":[{"name":"m1","nativeSrc":"354658:2:19","nodeType":"YulIdentifier","src":"354658:2:19"}]},{"nativeSrc":"354688:17:19","nodeType":"YulAssignment","src":"354688:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"354700:4:19","nodeType":"YulLiteral","src":"354700:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"354694:5:19","nodeType":"YulIdentifier","src":"354694:5:19"},"nativeSrc":"354694:11:19","nodeType":"YulFunctionCall","src":"354694:11:19"},"variableNames":[{"name":"m2","nativeSrc":"354688:2:19","nodeType":"YulIdentifier","src":"354688:2:19"}]},{"nativeSrc":"354718:17:19","nodeType":"YulAssignment","src":"354718:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"354730:4:19","nodeType":"YulLiteral","src":"354730:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"354724:5:19","nodeType":"YulIdentifier","src":"354724:5:19"},"nativeSrc":"354724:11:19","nodeType":"YulFunctionCall","src":"354724:11:19"},"variableNames":[{"name":"m3","nativeSrc":"354718:2:19","nodeType":"YulIdentifier","src":"354718:2:19"}]},{"nativeSrc":"354748:17:19","nodeType":"YulAssignment","src":"354748:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"354760:4:19","nodeType":"YulLiteral","src":"354760:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"354754:5:19","nodeType":"YulIdentifier","src":"354754:5:19"},"nativeSrc":"354754:11:19","nodeType":"YulFunctionCall","src":"354754:11:19"},"variableNames":[{"name":"m4","nativeSrc":"354748:2:19","nodeType":"YulIdentifier","src":"354748:2:19"}]},{"nativeSrc":"354778:17:19","nodeType":"YulAssignment","src":"354778:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"354790:4:19","nodeType":"YulLiteral","src":"354790:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"354784:5:19","nodeType":"YulIdentifier","src":"354784:5:19"},"nativeSrc":"354784:11:19","nodeType":"YulFunctionCall","src":"354784:11:19"},"variableNames":[{"name":"m5","nativeSrc":"354778:2:19","nodeType":"YulIdentifier","src":"354778:2:19"}]},{"nativeSrc":"354808:17:19","nodeType":"YulAssignment","src":"354808:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"354820:4:19","nodeType":"YulLiteral","src":"354820:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"354814:5:19","nodeType":"YulIdentifier","src":"354814:5:19"},"nativeSrc":"354814:11:19","nodeType":"YulFunctionCall","src":"354814:11:19"},"variableNames":[{"name":"m6","nativeSrc":"354808:2:19","nodeType":"YulIdentifier","src":"354808:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"354908:4:19","nodeType":"YulLiteral","src":"354908:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"354914:10:19","nodeType":"YulLiteral","src":"354914:10:19","type":"","value":"0x5d08bb05"}],"functionName":{"name":"mstore","nativeSrc":"354901:6:19","nodeType":"YulIdentifier","src":"354901:6:19"},"nativeSrc":"354901:24:19","nodeType":"YulFunctionCall","src":"354901:24:19"},"nativeSrc":"354901:24:19","nodeType":"YulExpressionStatement","src":"354901:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"354945:4:19","nodeType":"YulLiteral","src":"354945:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"354951:4:19","nodeType":"YulLiteral","src":"354951:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"354938:6:19","nodeType":"YulIdentifier","src":"354938:6:19"},"nativeSrc":"354938:18:19","nodeType":"YulFunctionCall","src":"354938:18:19"},"nativeSrc":"354938:18:19","nodeType":"YulExpressionStatement","src":"354938:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"354976:4:19","nodeType":"YulLiteral","src":"354976:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"354982:2:19","nodeType":"YulIdentifier","src":"354982:2:19"}],"functionName":{"name":"mstore","nativeSrc":"354969:6:19","nodeType":"YulIdentifier","src":"354969:6:19"},"nativeSrc":"354969:16:19","nodeType":"YulFunctionCall","src":"354969:16:19"},"nativeSrc":"354969:16:19","nodeType":"YulExpressionStatement","src":"354969:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355005:4:19","nodeType":"YulLiteral","src":"355005:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"355011:2:19","nodeType":"YulIdentifier","src":"355011:2:19"}],"functionName":{"name":"mstore","nativeSrc":"354998:6:19","nodeType":"YulIdentifier","src":"354998:6:19"},"nativeSrc":"354998:16:19","nodeType":"YulFunctionCall","src":"354998:16:19"},"nativeSrc":"354998:16:19","nodeType":"YulExpressionStatement","src":"354998:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355034:4:19","nodeType":"YulLiteral","src":"355034:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"355040:2:19","nodeType":"YulIdentifier","src":"355040:2:19"}],"functionName":{"name":"mstore","nativeSrc":"355027:6:19","nodeType":"YulIdentifier","src":"355027:6:19"},"nativeSrc":"355027:16:19","nodeType":"YulFunctionCall","src":"355027:16:19"},"nativeSrc":"355027:16:19","nodeType":"YulExpressionStatement","src":"355027:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355068:4:19","nodeType":"YulLiteral","src":"355068:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"355074:2:19","nodeType":"YulIdentifier","src":"355074:2:19"}],"functionName":{"name":"writeString","nativeSrc":"355056:11:19","nodeType":"YulIdentifier","src":"355056:11:19"},"nativeSrc":"355056:21:19","nodeType":"YulFunctionCall","src":"355056:21:19"},"nativeSrc":"355056:21:19","nodeType":"YulExpressionStatement","src":"355056:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37290,"isOffset":false,"isSlot":false,"src":"354628:2:19","valueSize":1},{"declaration":37293,"isOffset":false,"isSlot":false,"src":"354658:2:19","valueSize":1},{"declaration":37296,"isOffset":false,"isSlot":false,"src":"354688:2:19","valueSize":1},{"declaration":37299,"isOffset":false,"isSlot":false,"src":"354718:2:19","valueSize":1},{"declaration":37302,"isOffset":false,"isSlot":false,"src":"354748:2:19","valueSize":1},{"declaration":37305,"isOffset":false,"isSlot":false,"src":"354778:2:19","valueSize":1},{"declaration":37308,"isOffset":false,"isSlot":false,"src":"354808:2:19","valueSize":1},{"declaration":37280,"isOffset":false,"isSlot":false,"src":"355074:2:19","valueSize":1},{"declaration":37282,"isOffset":false,"isSlot":false,"src":"354982:2:19","valueSize":1},{"declaration":37284,"isOffset":false,"isSlot":false,"src":"355011:2:19","valueSize":1},{"declaration":37286,"isOffset":false,"isSlot":false,"src":"355040:2:19","valueSize":1}],"id":37310,"nodeType":"InlineAssembly","src":"354250:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":37312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"355112:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"355118:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":37311,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"355096:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"355096:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37315,"nodeType":"ExpressionStatement","src":"355096:27:19"},{"AST":{"nativeSrc":"355185:214:19","nodeType":"YulBlock","src":"355185:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"355206:4:19","nodeType":"YulLiteral","src":"355206:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"355212:2:19","nodeType":"YulIdentifier","src":"355212:2:19"}],"functionName":{"name":"mstore","nativeSrc":"355199:6:19","nodeType":"YulIdentifier","src":"355199:6:19"},"nativeSrc":"355199:16:19","nodeType":"YulFunctionCall","src":"355199:16:19"},"nativeSrc":"355199:16:19","nodeType":"YulExpressionStatement","src":"355199:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355235:4:19","nodeType":"YulLiteral","src":"355235:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"355241:2:19","nodeType":"YulIdentifier","src":"355241:2:19"}],"functionName":{"name":"mstore","nativeSrc":"355228:6:19","nodeType":"YulIdentifier","src":"355228:6:19"},"nativeSrc":"355228:16:19","nodeType":"YulFunctionCall","src":"355228:16:19"},"nativeSrc":"355228:16:19","nodeType":"YulExpressionStatement","src":"355228:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355264:4:19","nodeType":"YulLiteral","src":"355264:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"355270:2:19","nodeType":"YulIdentifier","src":"355270:2:19"}],"functionName":{"name":"mstore","nativeSrc":"355257:6:19","nodeType":"YulIdentifier","src":"355257:6:19"},"nativeSrc":"355257:16:19","nodeType":"YulFunctionCall","src":"355257:16:19"},"nativeSrc":"355257:16:19","nodeType":"YulExpressionStatement","src":"355257:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355293:4:19","nodeType":"YulLiteral","src":"355293:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"355299:2:19","nodeType":"YulIdentifier","src":"355299:2:19"}],"functionName":{"name":"mstore","nativeSrc":"355286:6:19","nodeType":"YulIdentifier","src":"355286:6:19"},"nativeSrc":"355286:16:19","nodeType":"YulFunctionCall","src":"355286:16:19"},"nativeSrc":"355286:16:19","nodeType":"YulExpressionStatement","src":"355286:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355322:4:19","nodeType":"YulLiteral","src":"355322:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"355328:2:19","nodeType":"YulIdentifier","src":"355328:2:19"}],"functionName":{"name":"mstore","nativeSrc":"355315:6:19","nodeType":"YulIdentifier","src":"355315:6:19"},"nativeSrc":"355315:16:19","nodeType":"YulFunctionCall","src":"355315:16:19"},"nativeSrc":"355315:16:19","nodeType":"YulExpressionStatement","src":"355315:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355351:4:19","nodeType":"YulLiteral","src":"355351:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"355357:2:19","nodeType":"YulIdentifier","src":"355357:2:19"}],"functionName":{"name":"mstore","nativeSrc":"355344:6:19","nodeType":"YulIdentifier","src":"355344:6:19"},"nativeSrc":"355344:16:19","nodeType":"YulFunctionCall","src":"355344:16:19"},"nativeSrc":"355344:16:19","nodeType":"YulExpressionStatement","src":"355344:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"355380:4:19","nodeType":"YulLiteral","src":"355380:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"355386:2:19","nodeType":"YulIdentifier","src":"355386:2:19"}],"functionName":{"name":"mstore","nativeSrc":"355373:6:19","nodeType":"YulIdentifier","src":"355373:6:19"},"nativeSrc":"355373:16:19","nodeType":"YulFunctionCall","src":"355373:16:19"},"nativeSrc":"355373:16:19","nodeType":"YulExpressionStatement","src":"355373:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37290,"isOffset":false,"isSlot":false,"src":"355212:2:19","valueSize":1},{"declaration":37293,"isOffset":false,"isSlot":false,"src":"355241:2:19","valueSize":1},{"declaration":37296,"isOffset":false,"isSlot":false,"src":"355270:2:19","valueSize":1},{"declaration":37299,"isOffset":false,"isSlot":false,"src":"355299:2:19","valueSize":1},{"declaration":37302,"isOffset":false,"isSlot":false,"src":"355328:2:19","valueSize":1},{"declaration":37305,"isOffset":false,"isSlot":false,"src":"355357:2:19","valueSize":1},{"declaration":37308,"isOffset":false,"isSlot":false,"src":"355386:2:19","valueSize":1}],"id":37316,"nodeType":"InlineAssembly","src":"355176:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"353994:3:19","parameters":{"id":37287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37280,"mutability":"mutable","name":"p0","nameLocation":"354006:2:19","nodeType":"VariableDeclaration","scope":37318,"src":"353998:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37279,"name":"bytes32","nodeType":"ElementaryTypeName","src":"353998:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37282,"mutability":"mutable","name":"p1","nameLocation":"354015:2:19","nodeType":"VariableDeclaration","scope":37318,"src":"354010:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37281,"name":"bool","nodeType":"ElementaryTypeName","src":"354010:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37284,"mutability":"mutable","name":"p2","nameLocation":"354027:2:19","nodeType":"VariableDeclaration","scope":37318,"src":"354019:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37283,"name":"address","nodeType":"ElementaryTypeName","src":"354019:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37286,"mutability":"mutable","name":"p3","nameLocation":"354039:2:19","nodeType":"VariableDeclaration","scope":37318,"src":"354031:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37285,"name":"uint256","nodeType":"ElementaryTypeName","src":"354031:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"353997:45:19"},"returnParameters":{"id":37288,"nodeType":"ParameterList","parameters":[],"src":"354057:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37364,"nodeType":"FunctionDefinition","src":"355411:1616:19","nodes":[],"body":{"id":37363,"nodeType":"Block","src":"355483:1544:19","nodes":[],"statements":[{"assignments":[37330],"declarations":[{"constant":false,"id":37330,"mutability":"mutable","name":"m0","nameLocation":"355501:2:19","nodeType":"VariableDeclaration","scope":37363,"src":"355493:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37329,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355493:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37331,"nodeType":"VariableDeclarationStatement","src":"355493:10:19"},{"assignments":[37333],"declarations":[{"constant":false,"id":37333,"mutability":"mutable","name":"m1","nameLocation":"355521:2:19","nodeType":"VariableDeclaration","scope":37363,"src":"355513:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37332,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355513:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37334,"nodeType":"VariableDeclarationStatement","src":"355513:10:19"},{"assignments":[37336],"declarations":[{"constant":false,"id":37336,"mutability":"mutable","name":"m2","nameLocation":"355541:2:19","nodeType":"VariableDeclaration","scope":37363,"src":"355533:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37335,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355533:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37337,"nodeType":"VariableDeclarationStatement","src":"355533:10:19"},{"assignments":[37339],"declarations":[{"constant":false,"id":37339,"mutability":"mutable","name":"m3","nameLocation":"355561:2:19","nodeType":"VariableDeclaration","scope":37363,"src":"355553:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37338,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355553:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37340,"nodeType":"VariableDeclarationStatement","src":"355553:10:19"},{"assignments":[37342],"declarations":[{"constant":false,"id":37342,"mutability":"mutable","name":"m4","nameLocation":"355581:2:19","nodeType":"VariableDeclaration","scope":37363,"src":"355573:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37341,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355573:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37343,"nodeType":"VariableDeclarationStatement","src":"355573:10:19"},{"assignments":[37345],"declarations":[{"constant":false,"id":37345,"mutability":"mutable","name":"m5","nameLocation":"355601:2:19","nodeType":"VariableDeclaration","scope":37363,"src":"355593:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37344,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355593:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37346,"nodeType":"VariableDeclarationStatement","src":"355593:10:19"},{"assignments":[37348],"declarations":[{"constant":false,"id":37348,"mutability":"mutable","name":"m6","nameLocation":"355621:2:19","nodeType":"VariableDeclaration","scope":37363,"src":"355613:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37347,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355613:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37349,"nodeType":"VariableDeclarationStatement","src":"355613:10:19"},{"assignments":[37351],"declarations":[{"constant":false,"id":37351,"mutability":"mutable","name":"m7","nameLocation":"355641:2:19","nodeType":"VariableDeclaration","scope":37363,"src":"355633:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37350,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355633:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37352,"nodeType":"VariableDeclarationStatement","src":"355633:10:19"},{"assignments":[37354],"declarations":[{"constant":false,"id":37354,"mutability":"mutable","name":"m8","nameLocation":"355661:2:19","nodeType":"VariableDeclaration","scope":37363,"src":"355653:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37353,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355653:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37355,"nodeType":"VariableDeclarationStatement","src":"355653:10:19"},{"AST":{"nativeSrc":"355725:924:19","nodeType":"YulBlock","src":"355725:924:19","statements":[{"body":{"nativeSrc":"355768:313:19","nodeType":"YulBlock","src":"355768:313:19","statements":[{"nativeSrc":"355786:15:19","nodeType":"YulVariableDeclaration","src":"355786:15:19","value":{"kind":"number","nativeSrc":"355800:1:19","nodeType":"YulLiteral","src":"355800:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"355790:6:19","nodeType":"YulTypedName","src":"355790:6:19","type":""}]},{"body":{"nativeSrc":"355871:40:19","nodeType":"YulBlock","src":"355871:40:19","statements":[{"body":{"nativeSrc":"355900:9:19","nodeType":"YulBlock","src":"355900:9:19","statements":[{"nativeSrc":"355902:5:19","nodeType":"YulBreak","src":"355902:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"355888:6:19","nodeType":"YulIdentifier","src":"355888:6:19"},{"name":"w","nativeSrc":"355896:1:19","nodeType":"YulIdentifier","src":"355896:1:19"}],"functionName":{"name":"byte","nativeSrc":"355883:4:19","nodeType":"YulIdentifier","src":"355883:4:19"},"nativeSrc":"355883:15:19","nodeType":"YulFunctionCall","src":"355883:15:19"}],"functionName":{"name":"iszero","nativeSrc":"355876:6:19","nodeType":"YulIdentifier","src":"355876:6:19"},"nativeSrc":"355876:23:19","nodeType":"YulFunctionCall","src":"355876:23:19"},"nativeSrc":"355873:36:19","nodeType":"YulIf","src":"355873:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"355828:6:19","nodeType":"YulIdentifier","src":"355828:6:19"},{"kind":"number","nativeSrc":"355836:4:19","nodeType":"YulLiteral","src":"355836:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"355825:2:19","nodeType":"YulIdentifier","src":"355825:2:19"},"nativeSrc":"355825:16:19","nodeType":"YulFunctionCall","src":"355825:16:19"},"nativeSrc":"355818:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"355842:28:19","nodeType":"YulBlock","src":"355842:28:19","statements":[{"nativeSrc":"355844:24:19","nodeType":"YulAssignment","src":"355844:24:19","value":{"arguments":[{"name":"length","nativeSrc":"355858:6:19","nodeType":"YulIdentifier","src":"355858:6:19"},{"kind":"number","nativeSrc":"355866:1:19","nodeType":"YulLiteral","src":"355866:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"355854:3:19","nodeType":"YulIdentifier","src":"355854:3:19"},"nativeSrc":"355854:14:19","nodeType":"YulFunctionCall","src":"355854:14:19"},"variableNames":[{"name":"length","nativeSrc":"355844:6:19","nodeType":"YulIdentifier","src":"355844:6:19"}]}]},"pre":{"nativeSrc":"355822:2:19","nodeType":"YulBlock","src":"355822:2:19","statements":[]},"src":"355818:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"355935:3:19","nodeType":"YulIdentifier","src":"355935:3:19"},{"name":"length","nativeSrc":"355940:6:19","nodeType":"YulIdentifier","src":"355940:6:19"}],"functionName":{"name":"mstore","nativeSrc":"355928:6:19","nodeType":"YulIdentifier","src":"355928:6:19"},"nativeSrc":"355928:19:19","nodeType":"YulFunctionCall","src":"355928:19:19"},"nativeSrc":"355928:19:19","nodeType":"YulExpressionStatement","src":"355928:19:19"},{"nativeSrc":"355964:37:19","nodeType":"YulVariableDeclaration","src":"355964:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"355981:3:19","nodeType":"YulLiteral","src":"355981:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"355990:1:19","nodeType":"YulLiteral","src":"355990:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"355993:6:19","nodeType":"YulIdentifier","src":"355993:6:19"}],"functionName":{"name":"shl","nativeSrc":"355986:3:19","nodeType":"YulIdentifier","src":"355986:3:19"},"nativeSrc":"355986:14:19","nodeType":"YulFunctionCall","src":"355986:14:19"}],"functionName":{"name":"sub","nativeSrc":"355977:3:19","nodeType":"YulIdentifier","src":"355977:3:19"},"nativeSrc":"355977:24:19","nodeType":"YulFunctionCall","src":"355977:24:19"},"variables":[{"name":"shift","nativeSrc":"355968:5:19","nodeType":"YulTypedName","src":"355968:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"356029:3:19","nodeType":"YulIdentifier","src":"356029:3:19"},{"kind":"number","nativeSrc":"356034:4:19","nodeType":"YulLiteral","src":"356034:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"356025:3:19","nodeType":"YulIdentifier","src":"356025:3:19"},"nativeSrc":"356025:14:19","nodeType":"YulFunctionCall","src":"356025:14:19"},{"arguments":[{"name":"shift","nativeSrc":"356045:5:19","nodeType":"YulIdentifier","src":"356045:5:19"},{"arguments":[{"name":"shift","nativeSrc":"356056:5:19","nodeType":"YulIdentifier","src":"356056:5:19"},{"name":"w","nativeSrc":"356063:1:19","nodeType":"YulIdentifier","src":"356063:1:19"}],"functionName":{"name":"shr","nativeSrc":"356052:3:19","nodeType":"YulIdentifier","src":"356052:3:19"},"nativeSrc":"356052:13:19","nodeType":"YulFunctionCall","src":"356052:13:19"}],"functionName":{"name":"shl","nativeSrc":"356041:3:19","nodeType":"YulIdentifier","src":"356041:3:19"},"nativeSrc":"356041:25:19","nodeType":"YulFunctionCall","src":"356041:25:19"}],"functionName":{"name":"mstore","nativeSrc":"356018:6:19","nodeType":"YulIdentifier","src":"356018:6:19"},"nativeSrc":"356018:49:19","nodeType":"YulFunctionCall","src":"356018:49:19"},"nativeSrc":"356018:49:19","nodeType":"YulExpressionStatement","src":"356018:49:19"}]},"name":"writeString","nativeSrc":"355739:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"355760:3:19","nodeType":"YulTypedName","src":"355760:3:19","type":""},{"name":"w","nativeSrc":"355765:1:19","nodeType":"YulTypedName","src":"355765:1:19","type":""}],"src":"355739:342:19"},{"nativeSrc":"356094:17:19","nodeType":"YulAssignment","src":"356094:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"356106:4:19","nodeType":"YulLiteral","src":"356106:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"356100:5:19","nodeType":"YulIdentifier","src":"356100:5:19"},"nativeSrc":"356100:11:19","nodeType":"YulFunctionCall","src":"356100:11:19"},"variableNames":[{"name":"m0","nativeSrc":"356094:2:19","nodeType":"YulIdentifier","src":"356094:2:19"}]},{"nativeSrc":"356124:17:19","nodeType":"YulAssignment","src":"356124:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"356136:4:19","nodeType":"YulLiteral","src":"356136:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"356130:5:19","nodeType":"YulIdentifier","src":"356130:5:19"},"nativeSrc":"356130:11:19","nodeType":"YulFunctionCall","src":"356130:11:19"},"variableNames":[{"name":"m1","nativeSrc":"356124:2:19","nodeType":"YulIdentifier","src":"356124:2:19"}]},{"nativeSrc":"356154:17:19","nodeType":"YulAssignment","src":"356154:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"356166:4:19","nodeType":"YulLiteral","src":"356166:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"356160:5:19","nodeType":"YulIdentifier","src":"356160:5:19"},"nativeSrc":"356160:11:19","nodeType":"YulFunctionCall","src":"356160:11:19"},"variableNames":[{"name":"m2","nativeSrc":"356154:2:19","nodeType":"YulIdentifier","src":"356154:2:19"}]},{"nativeSrc":"356184:17:19","nodeType":"YulAssignment","src":"356184:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"356196:4:19","nodeType":"YulLiteral","src":"356196:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"356190:5:19","nodeType":"YulIdentifier","src":"356190:5:19"},"nativeSrc":"356190:11:19","nodeType":"YulFunctionCall","src":"356190:11:19"},"variableNames":[{"name":"m3","nativeSrc":"356184:2:19","nodeType":"YulIdentifier","src":"356184:2:19"}]},{"nativeSrc":"356214:17:19","nodeType":"YulAssignment","src":"356214:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"356226:4:19","nodeType":"YulLiteral","src":"356226:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"356220:5:19","nodeType":"YulIdentifier","src":"356220:5:19"},"nativeSrc":"356220:11:19","nodeType":"YulFunctionCall","src":"356220:11:19"},"variableNames":[{"name":"m4","nativeSrc":"356214:2:19","nodeType":"YulIdentifier","src":"356214:2:19"}]},{"nativeSrc":"356244:17:19","nodeType":"YulAssignment","src":"356244:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"356256:4:19","nodeType":"YulLiteral","src":"356256:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"356250:5:19","nodeType":"YulIdentifier","src":"356250:5:19"},"nativeSrc":"356250:11:19","nodeType":"YulFunctionCall","src":"356250:11:19"},"variableNames":[{"name":"m5","nativeSrc":"356244:2:19","nodeType":"YulIdentifier","src":"356244:2:19"}]},{"nativeSrc":"356274:17:19","nodeType":"YulAssignment","src":"356274:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"356286:4:19","nodeType":"YulLiteral","src":"356286:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"356280:5:19","nodeType":"YulIdentifier","src":"356280:5:19"},"nativeSrc":"356280:11:19","nodeType":"YulFunctionCall","src":"356280:11:19"},"variableNames":[{"name":"m6","nativeSrc":"356274:2:19","nodeType":"YulIdentifier","src":"356274:2:19"}]},{"nativeSrc":"356304:17:19","nodeType":"YulAssignment","src":"356304:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"356316:4:19","nodeType":"YulLiteral","src":"356316:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"356310:5:19","nodeType":"YulIdentifier","src":"356310:5:19"},"nativeSrc":"356310:11:19","nodeType":"YulFunctionCall","src":"356310:11:19"},"variableNames":[{"name":"m7","nativeSrc":"356304:2:19","nodeType":"YulIdentifier","src":"356304:2:19"}]},{"nativeSrc":"356334:18:19","nodeType":"YulAssignment","src":"356334:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"356346:5:19","nodeType":"YulLiteral","src":"356346:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"356340:5:19","nodeType":"YulIdentifier","src":"356340:5:19"},"nativeSrc":"356340:12:19","nodeType":"YulFunctionCall","src":"356340:12:19"},"variableNames":[{"name":"m8","nativeSrc":"356334:2:19","nodeType":"YulIdentifier","src":"356334:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356434:4:19","nodeType":"YulLiteral","src":"356434:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"356440:10:19","nodeType":"YulLiteral","src":"356440:10:19","type":"","value":"0x2d8e33a4"}],"functionName":{"name":"mstore","nativeSrc":"356427:6:19","nodeType":"YulIdentifier","src":"356427:6:19"},"nativeSrc":"356427:24:19","nodeType":"YulFunctionCall","src":"356427:24:19"},"nativeSrc":"356427:24:19","nodeType":"YulExpressionStatement","src":"356427:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356471:4:19","nodeType":"YulLiteral","src":"356471:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"356477:4:19","nodeType":"YulLiteral","src":"356477:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"356464:6:19","nodeType":"YulIdentifier","src":"356464:6:19"},"nativeSrc":"356464:18:19","nodeType":"YulFunctionCall","src":"356464:18:19"},"nativeSrc":"356464:18:19","nodeType":"YulExpressionStatement","src":"356464:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356502:4:19","nodeType":"YulLiteral","src":"356502:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"356508:2:19","nodeType":"YulIdentifier","src":"356508:2:19"}],"functionName":{"name":"mstore","nativeSrc":"356495:6:19","nodeType":"YulIdentifier","src":"356495:6:19"},"nativeSrc":"356495:16:19","nodeType":"YulFunctionCall","src":"356495:16:19"},"nativeSrc":"356495:16:19","nodeType":"YulExpressionStatement","src":"356495:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356531:4:19","nodeType":"YulLiteral","src":"356531:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"356537:2:19","nodeType":"YulIdentifier","src":"356537:2:19"}],"functionName":{"name":"mstore","nativeSrc":"356524:6:19","nodeType":"YulIdentifier","src":"356524:6:19"},"nativeSrc":"356524:16:19","nodeType":"YulFunctionCall","src":"356524:16:19"},"nativeSrc":"356524:16:19","nodeType":"YulExpressionStatement","src":"356524:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356560:4:19","nodeType":"YulLiteral","src":"356560:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"356566:4:19","nodeType":"YulLiteral","src":"356566:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"356553:6:19","nodeType":"YulIdentifier","src":"356553:6:19"},"nativeSrc":"356553:18:19","nodeType":"YulFunctionCall","src":"356553:18:19"},"nativeSrc":"356553:18:19","nodeType":"YulExpressionStatement","src":"356553:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356596:4:19","nodeType":"YulLiteral","src":"356596:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"356602:2:19","nodeType":"YulIdentifier","src":"356602:2:19"}],"functionName":{"name":"writeString","nativeSrc":"356584:11:19","nodeType":"YulIdentifier","src":"356584:11:19"},"nativeSrc":"356584:21:19","nodeType":"YulFunctionCall","src":"356584:21:19"},"nativeSrc":"356584:21:19","nodeType":"YulExpressionStatement","src":"356584:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356630:4:19","nodeType":"YulLiteral","src":"356630:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"356636:2:19","nodeType":"YulIdentifier","src":"356636:2:19"}],"functionName":{"name":"writeString","nativeSrc":"356618:11:19","nodeType":"YulIdentifier","src":"356618:11:19"},"nativeSrc":"356618:21:19","nodeType":"YulFunctionCall","src":"356618:21:19"},"nativeSrc":"356618:21:19","nodeType":"YulExpressionStatement","src":"356618:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37330,"isOffset":false,"isSlot":false,"src":"356094:2:19","valueSize":1},{"declaration":37333,"isOffset":false,"isSlot":false,"src":"356124:2:19","valueSize":1},{"declaration":37336,"isOffset":false,"isSlot":false,"src":"356154:2:19","valueSize":1},{"declaration":37339,"isOffset":false,"isSlot":false,"src":"356184:2:19","valueSize":1},{"declaration":37342,"isOffset":false,"isSlot":false,"src":"356214:2:19","valueSize":1},{"declaration":37345,"isOffset":false,"isSlot":false,"src":"356244:2:19","valueSize":1},{"declaration":37348,"isOffset":false,"isSlot":false,"src":"356274:2:19","valueSize":1},{"declaration":37351,"isOffset":false,"isSlot":false,"src":"356304:2:19","valueSize":1},{"declaration":37354,"isOffset":false,"isSlot":false,"src":"356334:2:19","valueSize":1},{"declaration":37320,"isOffset":false,"isSlot":false,"src":"356602:2:19","valueSize":1},{"declaration":37322,"isOffset":false,"isSlot":false,"src":"356508:2:19","valueSize":1},{"declaration":37324,"isOffset":false,"isSlot":false,"src":"356537:2:19","valueSize":1},{"declaration":37326,"isOffset":false,"isSlot":false,"src":"356636:2:19","valueSize":1}],"id":37356,"nodeType":"InlineAssembly","src":"355716:933:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":37358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"356674:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":37359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"356680:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":37357,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"356658:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"356658:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37361,"nodeType":"ExpressionStatement","src":"356658:28:19"},{"AST":{"nativeSrc":"356748:273:19","nodeType":"YulBlock","src":"356748:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"356769:4:19","nodeType":"YulLiteral","src":"356769:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"356775:2:19","nodeType":"YulIdentifier","src":"356775:2:19"}],"functionName":{"name":"mstore","nativeSrc":"356762:6:19","nodeType":"YulIdentifier","src":"356762:6:19"},"nativeSrc":"356762:16:19","nodeType":"YulFunctionCall","src":"356762:16:19"},"nativeSrc":"356762:16:19","nodeType":"YulExpressionStatement","src":"356762:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356798:4:19","nodeType":"YulLiteral","src":"356798:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"356804:2:19","nodeType":"YulIdentifier","src":"356804:2:19"}],"functionName":{"name":"mstore","nativeSrc":"356791:6:19","nodeType":"YulIdentifier","src":"356791:6:19"},"nativeSrc":"356791:16:19","nodeType":"YulFunctionCall","src":"356791:16:19"},"nativeSrc":"356791:16:19","nodeType":"YulExpressionStatement","src":"356791:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356827:4:19","nodeType":"YulLiteral","src":"356827:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"356833:2:19","nodeType":"YulIdentifier","src":"356833:2:19"}],"functionName":{"name":"mstore","nativeSrc":"356820:6:19","nodeType":"YulIdentifier","src":"356820:6:19"},"nativeSrc":"356820:16:19","nodeType":"YulFunctionCall","src":"356820:16:19"},"nativeSrc":"356820:16:19","nodeType":"YulExpressionStatement","src":"356820:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356856:4:19","nodeType":"YulLiteral","src":"356856:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"356862:2:19","nodeType":"YulIdentifier","src":"356862:2:19"}],"functionName":{"name":"mstore","nativeSrc":"356849:6:19","nodeType":"YulIdentifier","src":"356849:6:19"},"nativeSrc":"356849:16:19","nodeType":"YulFunctionCall","src":"356849:16:19"},"nativeSrc":"356849:16:19","nodeType":"YulExpressionStatement","src":"356849:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356885:4:19","nodeType":"YulLiteral","src":"356885:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"356891:2:19","nodeType":"YulIdentifier","src":"356891:2:19"}],"functionName":{"name":"mstore","nativeSrc":"356878:6:19","nodeType":"YulIdentifier","src":"356878:6:19"},"nativeSrc":"356878:16:19","nodeType":"YulFunctionCall","src":"356878:16:19"},"nativeSrc":"356878:16:19","nodeType":"YulExpressionStatement","src":"356878:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356914:4:19","nodeType":"YulLiteral","src":"356914:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"356920:2:19","nodeType":"YulIdentifier","src":"356920:2:19"}],"functionName":{"name":"mstore","nativeSrc":"356907:6:19","nodeType":"YulIdentifier","src":"356907:6:19"},"nativeSrc":"356907:16:19","nodeType":"YulFunctionCall","src":"356907:16:19"},"nativeSrc":"356907:16:19","nodeType":"YulExpressionStatement","src":"356907:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356943:4:19","nodeType":"YulLiteral","src":"356943:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"356949:2:19","nodeType":"YulIdentifier","src":"356949:2:19"}],"functionName":{"name":"mstore","nativeSrc":"356936:6:19","nodeType":"YulIdentifier","src":"356936:6:19"},"nativeSrc":"356936:16:19","nodeType":"YulFunctionCall","src":"356936:16:19"},"nativeSrc":"356936:16:19","nodeType":"YulExpressionStatement","src":"356936:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"356972:4:19","nodeType":"YulLiteral","src":"356972:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"356978:2:19","nodeType":"YulIdentifier","src":"356978:2:19"}],"functionName":{"name":"mstore","nativeSrc":"356965:6:19","nodeType":"YulIdentifier","src":"356965:6:19"},"nativeSrc":"356965:16:19","nodeType":"YulFunctionCall","src":"356965:16:19"},"nativeSrc":"356965:16:19","nodeType":"YulExpressionStatement","src":"356965:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"357001:5:19","nodeType":"YulLiteral","src":"357001:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"357008:2:19","nodeType":"YulIdentifier","src":"357008:2:19"}],"functionName":{"name":"mstore","nativeSrc":"356994:6:19","nodeType":"YulIdentifier","src":"356994:6:19"},"nativeSrc":"356994:17:19","nodeType":"YulFunctionCall","src":"356994:17:19"},"nativeSrc":"356994:17:19","nodeType":"YulExpressionStatement","src":"356994:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37330,"isOffset":false,"isSlot":false,"src":"356775:2:19","valueSize":1},{"declaration":37333,"isOffset":false,"isSlot":false,"src":"356804:2:19","valueSize":1},{"declaration":37336,"isOffset":false,"isSlot":false,"src":"356833:2:19","valueSize":1},{"declaration":37339,"isOffset":false,"isSlot":false,"src":"356862:2:19","valueSize":1},{"declaration":37342,"isOffset":false,"isSlot":false,"src":"356891:2:19","valueSize":1},{"declaration":37345,"isOffset":false,"isSlot":false,"src":"356920:2:19","valueSize":1},{"declaration":37348,"isOffset":false,"isSlot":false,"src":"356949:2:19","valueSize":1},{"declaration":37351,"isOffset":false,"isSlot":false,"src":"356978:2:19","valueSize":1},{"declaration":37354,"isOffset":false,"isSlot":false,"src":"357008:2:19","valueSize":1}],"id":37362,"nodeType":"InlineAssembly","src":"356739:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"355420:3:19","parameters":{"id":37327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37320,"mutability":"mutable","name":"p0","nameLocation":"355432:2:19","nodeType":"VariableDeclaration","scope":37364,"src":"355424:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37319,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355424:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37322,"mutability":"mutable","name":"p1","nameLocation":"355441:2:19","nodeType":"VariableDeclaration","scope":37364,"src":"355436:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37321,"name":"bool","nodeType":"ElementaryTypeName","src":"355436:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37324,"mutability":"mutable","name":"p2","nameLocation":"355453:2:19","nodeType":"VariableDeclaration","scope":37364,"src":"355445:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37323,"name":"address","nodeType":"ElementaryTypeName","src":"355445:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37326,"mutability":"mutable","name":"p3","nameLocation":"355465:2:19","nodeType":"VariableDeclaration","scope":37364,"src":"355457:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37325,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355457:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"355423:45:19"},"returnParameters":{"id":37328,"nodeType":"ParameterList","parameters":[],"src":"355483:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37404,"nodeType":"FunctionDefinition","src":"357033:1414:19","nodes":[],"body":{"id":37403,"nodeType":"Block","src":"357102:1345:19","nodes":[],"statements":[{"assignments":[37376],"declarations":[{"constant":false,"id":37376,"mutability":"mutable","name":"m0","nameLocation":"357120:2:19","nodeType":"VariableDeclaration","scope":37403,"src":"357112:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37375,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357112:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37377,"nodeType":"VariableDeclarationStatement","src":"357112:10:19"},{"assignments":[37379],"declarations":[{"constant":false,"id":37379,"mutability":"mutable","name":"m1","nameLocation":"357140:2:19","nodeType":"VariableDeclaration","scope":37403,"src":"357132:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37378,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357132:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37380,"nodeType":"VariableDeclarationStatement","src":"357132:10:19"},{"assignments":[37382],"declarations":[{"constant":false,"id":37382,"mutability":"mutable","name":"m2","nameLocation":"357160:2:19","nodeType":"VariableDeclaration","scope":37403,"src":"357152:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37381,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357152:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37383,"nodeType":"VariableDeclarationStatement","src":"357152:10:19"},{"assignments":[37385],"declarations":[{"constant":false,"id":37385,"mutability":"mutable","name":"m3","nameLocation":"357180:2:19","nodeType":"VariableDeclaration","scope":37403,"src":"357172:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37384,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357172:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37386,"nodeType":"VariableDeclarationStatement","src":"357172:10:19"},{"assignments":[37388],"declarations":[{"constant":false,"id":37388,"mutability":"mutable","name":"m4","nameLocation":"357200:2:19","nodeType":"VariableDeclaration","scope":37403,"src":"357192:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37387,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357192:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37389,"nodeType":"VariableDeclarationStatement","src":"357192:10:19"},{"assignments":[37391],"declarations":[{"constant":false,"id":37391,"mutability":"mutable","name":"m5","nameLocation":"357220:2:19","nodeType":"VariableDeclaration","scope":37403,"src":"357212:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37390,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357212:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37392,"nodeType":"VariableDeclarationStatement","src":"357212:10:19"},{"assignments":[37394],"declarations":[{"constant":false,"id":37394,"mutability":"mutable","name":"m6","nameLocation":"357240:2:19","nodeType":"VariableDeclaration","scope":37403,"src":"357232:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37393,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357232:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37395,"nodeType":"VariableDeclarationStatement","src":"357232:10:19"},{"AST":{"nativeSrc":"357304:825:19","nodeType":"YulBlock","src":"357304:825:19","statements":[{"body":{"nativeSrc":"357347:313:19","nodeType":"YulBlock","src":"357347:313:19","statements":[{"nativeSrc":"357365:15:19","nodeType":"YulVariableDeclaration","src":"357365:15:19","value":{"kind":"number","nativeSrc":"357379:1:19","nodeType":"YulLiteral","src":"357379:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"357369:6:19","nodeType":"YulTypedName","src":"357369:6:19","type":""}]},{"body":{"nativeSrc":"357450:40:19","nodeType":"YulBlock","src":"357450:40:19","statements":[{"body":{"nativeSrc":"357479:9:19","nodeType":"YulBlock","src":"357479:9:19","statements":[{"nativeSrc":"357481:5:19","nodeType":"YulBreak","src":"357481:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"357467:6:19","nodeType":"YulIdentifier","src":"357467:6:19"},{"name":"w","nativeSrc":"357475:1:19","nodeType":"YulIdentifier","src":"357475:1:19"}],"functionName":{"name":"byte","nativeSrc":"357462:4:19","nodeType":"YulIdentifier","src":"357462:4:19"},"nativeSrc":"357462:15:19","nodeType":"YulFunctionCall","src":"357462:15:19"}],"functionName":{"name":"iszero","nativeSrc":"357455:6:19","nodeType":"YulIdentifier","src":"357455:6:19"},"nativeSrc":"357455:23:19","nodeType":"YulFunctionCall","src":"357455:23:19"},"nativeSrc":"357452:36:19","nodeType":"YulIf","src":"357452:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"357407:6:19","nodeType":"YulIdentifier","src":"357407:6:19"},{"kind":"number","nativeSrc":"357415:4:19","nodeType":"YulLiteral","src":"357415:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"357404:2:19","nodeType":"YulIdentifier","src":"357404:2:19"},"nativeSrc":"357404:16:19","nodeType":"YulFunctionCall","src":"357404:16:19"},"nativeSrc":"357397:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"357421:28:19","nodeType":"YulBlock","src":"357421:28:19","statements":[{"nativeSrc":"357423:24:19","nodeType":"YulAssignment","src":"357423:24:19","value":{"arguments":[{"name":"length","nativeSrc":"357437:6:19","nodeType":"YulIdentifier","src":"357437:6:19"},{"kind":"number","nativeSrc":"357445:1:19","nodeType":"YulLiteral","src":"357445:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"357433:3:19","nodeType":"YulIdentifier","src":"357433:3:19"},"nativeSrc":"357433:14:19","nodeType":"YulFunctionCall","src":"357433:14:19"},"variableNames":[{"name":"length","nativeSrc":"357423:6:19","nodeType":"YulIdentifier","src":"357423:6:19"}]}]},"pre":{"nativeSrc":"357401:2:19","nodeType":"YulBlock","src":"357401:2:19","statements":[]},"src":"357397:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"357514:3:19","nodeType":"YulIdentifier","src":"357514:3:19"},{"name":"length","nativeSrc":"357519:6:19","nodeType":"YulIdentifier","src":"357519:6:19"}],"functionName":{"name":"mstore","nativeSrc":"357507:6:19","nodeType":"YulIdentifier","src":"357507:6:19"},"nativeSrc":"357507:19:19","nodeType":"YulFunctionCall","src":"357507:19:19"},"nativeSrc":"357507:19:19","nodeType":"YulExpressionStatement","src":"357507:19:19"},{"nativeSrc":"357543:37:19","nodeType":"YulVariableDeclaration","src":"357543:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"357560:3:19","nodeType":"YulLiteral","src":"357560:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"357569:1:19","nodeType":"YulLiteral","src":"357569:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"357572:6:19","nodeType":"YulIdentifier","src":"357572:6:19"}],"functionName":{"name":"shl","nativeSrc":"357565:3:19","nodeType":"YulIdentifier","src":"357565:3:19"},"nativeSrc":"357565:14:19","nodeType":"YulFunctionCall","src":"357565:14:19"}],"functionName":{"name":"sub","nativeSrc":"357556:3:19","nodeType":"YulIdentifier","src":"357556:3:19"},"nativeSrc":"357556:24:19","nodeType":"YulFunctionCall","src":"357556:24:19"},"variables":[{"name":"shift","nativeSrc":"357547:5:19","nodeType":"YulTypedName","src":"357547:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"357608:3:19","nodeType":"YulIdentifier","src":"357608:3:19"},{"kind":"number","nativeSrc":"357613:4:19","nodeType":"YulLiteral","src":"357613:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"357604:3:19","nodeType":"YulIdentifier","src":"357604:3:19"},"nativeSrc":"357604:14:19","nodeType":"YulFunctionCall","src":"357604:14:19"},{"arguments":[{"name":"shift","nativeSrc":"357624:5:19","nodeType":"YulIdentifier","src":"357624:5:19"},{"arguments":[{"name":"shift","nativeSrc":"357635:5:19","nodeType":"YulIdentifier","src":"357635:5:19"},{"name":"w","nativeSrc":"357642:1:19","nodeType":"YulIdentifier","src":"357642:1:19"}],"functionName":{"name":"shr","nativeSrc":"357631:3:19","nodeType":"YulIdentifier","src":"357631:3:19"},"nativeSrc":"357631:13:19","nodeType":"YulFunctionCall","src":"357631:13:19"}],"functionName":{"name":"shl","nativeSrc":"357620:3:19","nodeType":"YulIdentifier","src":"357620:3:19"},"nativeSrc":"357620:25:19","nodeType":"YulFunctionCall","src":"357620:25:19"}],"functionName":{"name":"mstore","nativeSrc":"357597:6:19","nodeType":"YulIdentifier","src":"357597:6:19"},"nativeSrc":"357597:49:19","nodeType":"YulFunctionCall","src":"357597:49:19"},"nativeSrc":"357597:49:19","nodeType":"YulExpressionStatement","src":"357597:49:19"}]},"name":"writeString","nativeSrc":"357318:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"357339:3:19","nodeType":"YulTypedName","src":"357339:3:19","type":""},{"name":"w","nativeSrc":"357344:1:19","nodeType":"YulTypedName","src":"357344:1:19","type":""}],"src":"357318:342:19"},{"nativeSrc":"357673:17:19","nodeType":"YulAssignment","src":"357673:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"357685:4:19","nodeType":"YulLiteral","src":"357685:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"357679:5:19","nodeType":"YulIdentifier","src":"357679:5:19"},"nativeSrc":"357679:11:19","nodeType":"YulFunctionCall","src":"357679:11:19"},"variableNames":[{"name":"m0","nativeSrc":"357673:2:19","nodeType":"YulIdentifier","src":"357673:2:19"}]},{"nativeSrc":"357703:17:19","nodeType":"YulAssignment","src":"357703:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"357715:4:19","nodeType":"YulLiteral","src":"357715:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"357709:5:19","nodeType":"YulIdentifier","src":"357709:5:19"},"nativeSrc":"357709:11:19","nodeType":"YulFunctionCall","src":"357709:11:19"},"variableNames":[{"name":"m1","nativeSrc":"357703:2:19","nodeType":"YulIdentifier","src":"357703:2:19"}]},{"nativeSrc":"357733:17:19","nodeType":"YulAssignment","src":"357733:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"357745:4:19","nodeType":"YulLiteral","src":"357745:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"357739:5:19","nodeType":"YulIdentifier","src":"357739:5:19"},"nativeSrc":"357739:11:19","nodeType":"YulFunctionCall","src":"357739:11:19"},"variableNames":[{"name":"m2","nativeSrc":"357733:2:19","nodeType":"YulIdentifier","src":"357733:2:19"}]},{"nativeSrc":"357763:17:19","nodeType":"YulAssignment","src":"357763:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"357775:4:19","nodeType":"YulLiteral","src":"357775:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"357769:5:19","nodeType":"YulIdentifier","src":"357769:5:19"},"nativeSrc":"357769:11:19","nodeType":"YulFunctionCall","src":"357769:11:19"},"variableNames":[{"name":"m3","nativeSrc":"357763:2:19","nodeType":"YulIdentifier","src":"357763:2:19"}]},{"nativeSrc":"357793:17:19","nodeType":"YulAssignment","src":"357793:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"357805:4:19","nodeType":"YulLiteral","src":"357805:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"357799:5:19","nodeType":"YulIdentifier","src":"357799:5:19"},"nativeSrc":"357799:11:19","nodeType":"YulFunctionCall","src":"357799:11:19"},"variableNames":[{"name":"m4","nativeSrc":"357793:2:19","nodeType":"YulIdentifier","src":"357793:2:19"}]},{"nativeSrc":"357823:17:19","nodeType":"YulAssignment","src":"357823:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"357835:4:19","nodeType":"YulLiteral","src":"357835:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"357829:5:19","nodeType":"YulIdentifier","src":"357829:5:19"},"nativeSrc":"357829:11:19","nodeType":"YulFunctionCall","src":"357829:11:19"},"variableNames":[{"name":"m5","nativeSrc":"357823:2:19","nodeType":"YulIdentifier","src":"357823:2:19"}]},{"nativeSrc":"357853:17:19","nodeType":"YulAssignment","src":"357853:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"357865:4:19","nodeType":"YulLiteral","src":"357865:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"357859:5:19","nodeType":"YulIdentifier","src":"357859:5:19"},"nativeSrc":"357859:11:19","nodeType":"YulFunctionCall","src":"357859:11:19"},"variableNames":[{"name":"m6","nativeSrc":"357853:2:19","nodeType":"YulIdentifier","src":"357853:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"357950:4:19","nodeType":"YulLiteral","src":"357950:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"357956:10:19","nodeType":"YulLiteral","src":"357956:10:19","type":"","value":"0x7190a529"}],"functionName":{"name":"mstore","nativeSrc":"357943:6:19","nodeType":"YulIdentifier","src":"357943:6:19"},"nativeSrc":"357943:24:19","nodeType":"YulFunctionCall","src":"357943:24:19"},"nativeSrc":"357943:24:19","nodeType":"YulExpressionStatement","src":"357943:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"357987:4:19","nodeType":"YulLiteral","src":"357987:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"357993:4:19","nodeType":"YulLiteral","src":"357993:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"357980:6:19","nodeType":"YulIdentifier","src":"357980:6:19"},"nativeSrc":"357980:18:19","nodeType":"YulFunctionCall","src":"357980:18:19"},"nativeSrc":"357980:18:19","nodeType":"YulExpressionStatement","src":"357980:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358018:4:19","nodeType":"YulLiteral","src":"358018:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"358024:2:19","nodeType":"YulIdentifier","src":"358024:2:19"}],"functionName":{"name":"mstore","nativeSrc":"358011:6:19","nodeType":"YulIdentifier","src":"358011:6:19"},"nativeSrc":"358011:16:19","nodeType":"YulFunctionCall","src":"358011:16:19"},"nativeSrc":"358011:16:19","nodeType":"YulExpressionStatement","src":"358011:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358047:4:19","nodeType":"YulLiteral","src":"358047:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"358053:2:19","nodeType":"YulIdentifier","src":"358053:2:19"}],"functionName":{"name":"mstore","nativeSrc":"358040:6:19","nodeType":"YulIdentifier","src":"358040:6:19"},"nativeSrc":"358040:16:19","nodeType":"YulFunctionCall","src":"358040:16:19"},"nativeSrc":"358040:16:19","nodeType":"YulExpressionStatement","src":"358040:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358076:4:19","nodeType":"YulLiteral","src":"358076:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"358082:2:19","nodeType":"YulIdentifier","src":"358082:2:19"}],"functionName":{"name":"mstore","nativeSrc":"358069:6:19","nodeType":"YulIdentifier","src":"358069:6:19"},"nativeSrc":"358069:16:19","nodeType":"YulFunctionCall","src":"358069:16:19"},"nativeSrc":"358069:16:19","nodeType":"YulExpressionStatement","src":"358069:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358110:4:19","nodeType":"YulLiteral","src":"358110:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"358116:2:19","nodeType":"YulIdentifier","src":"358116:2:19"}],"functionName":{"name":"writeString","nativeSrc":"358098:11:19","nodeType":"YulIdentifier","src":"358098:11:19"},"nativeSrc":"358098:21:19","nodeType":"YulFunctionCall","src":"358098:21:19"},"nativeSrc":"358098:21:19","nodeType":"YulExpressionStatement","src":"358098:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37376,"isOffset":false,"isSlot":false,"src":"357673:2:19","valueSize":1},{"declaration":37379,"isOffset":false,"isSlot":false,"src":"357703:2:19","valueSize":1},{"declaration":37382,"isOffset":false,"isSlot":false,"src":"357733:2:19","valueSize":1},{"declaration":37385,"isOffset":false,"isSlot":false,"src":"357763:2:19","valueSize":1},{"declaration":37388,"isOffset":false,"isSlot":false,"src":"357793:2:19","valueSize":1},{"declaration":37391,"isOffset":false,"isSlot":false,"src":"357823:2:19","valueSize":1},{"declaration":37394,"isOffset":false,"isSlot":false,"src":"357853:2:19","valueSize":1},{"declaration":37366,"isOffset":false,"isSlot":false,"src":"358116:2:19","valueSize":1},{"declaration":37368,"isOffset":false,"isSlot":false,"src":"358024:2:19","valueSize":1},{"declaration":37370,"isOffset":false,"isSlot":false,"src":"358053:2:19","valueSize":1},{"declaration":37372,"isOffset":false,"isSlot":false,"src":"358082:2:19","valueSize":1}],"id":37396,"nodeType":"InlineAssembly","src":"357295:834:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":37398,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"358154:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"358160:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":37397,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"358138:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"358138:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37401,"nodeType":"ExpressionStatement","src":"358138:27:19"},{"AST":{"nativeSrc":"358227:214:19","nodeType":"YulBlock","src":"358227:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"358248:4:19","nodeType":"YulLiteral","src":"358248:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"358254:2:19","nodeType":"YulIdentifier","src":"358254:2:19"}],"functionName":{"name":"mstore","nativeSrc":"358241:6:19","nodeType":"YulIdentifier","src":"358241:6:19"},"nativeSrc":"358241:16:19","nodeType":"YulFunctionCall","src":"358241:16:19"},"nativeSrc":"358241:16:19","nodeType":"YulExpressionStatement","src":"358241:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358277:4:19","nodeType":"YulLiteral","src":"358277:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"358283:2:19","nodeType":"YulIdentifier","src":"358283:2:19"}],"functionName":{"name":"mstore","nativeSrc":"358270:6:19","nodeType":"YulIdentifier","src":"358270:6:19"},"nativeSrc":"358270:16:19","nodeType":"YulFunctionCall","src":"358270:16:19"},"nativeSrc":"358270:16:19","nodeType":"YulExpressionStatement","src":"358270:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358306:4:19","nodeType":"YulLiteral","src":"358306:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"358312:2:19","nodeType":"YulIdentifier","src":"358312:2:19"}],"functionName":{"name":"mstore","nativeSrc":"358299:6:19","nodeType":"YulIdentifier","src":"358299:6:19"},"nativeSrc":"358299:16:19","nodeType":"YulFunctionCall","src":"358299:16:19"},"nativeSrc":"358299:16:19","nodeType":"YulExpressionStatement","src":"358299:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358335:4:19","nodeType":"YulLiteral","src":"358335:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"358341:2:19","nodeType":"YulIdentifier","src":"358341:2:19"}],"functionName":{"name":"mstore","nativeSrc":"358328:6:19","nodeType":"YulIdentifier","src":"358328:6:19"},"nativeSrc":"358328:16:19","nodeType":"YulFunctionCall","src":"358328:16:19"},"nativeSrc":"358328:16:19","nodeType":"YulExpressionStatement","src":"358328:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358364:4:19","nodeType":"YulLiteral","src":"358364:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"358370:2:19","nodeType":"YulIdentifier","src":"358370:2:19"}],"functionName":{"name":"mstore","nativeSrc":"358357:6:19","nodeType":"YulIdentifier","src":"358357:6:19"},"nativeSrc":"358357:16:19","nodeType":"YulFunctionCall","src":"358357:16:19"},"nativeSrc":"358357:16:19","nodeType":"YulExpressionStatement","src":"358357:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358393:4:19","nodeType":"YulLiteral","src":"358393:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"358399:2:19","nodeType":"YulIdentifier","src":"358399:2:19"}],"functionName":{"name":"mstore","nativeSrc":"358386:6:19","nodeType":"YulIdentifier","src":"358386:6:19"},"nativeSrc":"358386:16:19","nodeType":"YulFunctionCall","src":"358386:16:19"},"nativeSrc":"358386:16:19","nodeType":"YulExpressionStatement","src":"358386:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"358422:4:19","nodeType":"YulLiteral","src":"358422:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"358428:2:19","nodeType":"YulIdentifier","src":"358428:2:19"}],"functionName":{"name":"mstore","nativeSrc":"358415:6:19","nodeType":"YulIdentifier","src":"358415:6:19"},"nativeSrc":"358415:16:19","nodeType":"YulFunctionCall","src":"358415:16:19"},"nativeSrc":"358415:16:19","nodeType":"YulExpressionStatement","src":"358415:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37376,"isOffset":false,"isSlot":false,"src":"358254:2:19","valueSize":1},{"declaration":37379,"isOffset":false,"isSlot":false,"src":"358283:2:19","valueSize":1},{"declaration":37382,"isOffset":false,"isSlot":false,"src":"358312:2:19","valueSize":1},{"declaration":37385,"isOffset":false,"isSlot":false,"src":"358341:2:19","valueSize":1},{"declaration":37388,"isOffset":false,"isSlot":false,"src":"358370:2:19","valueSize":1},{"declaration":37391,"isOffset":false,"isSlot":false,"src":"358399:2:19","valueSize":1},{"declaration":37394,"isOffset":false,"isSlot":false,"src":"358428:2:19","valueSize":1}],"id":37402,"nodeType":"InlineAssembly","src":"358218:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"357042:3:19","parameters":{"id":37373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37366,"mutability":"mutable","name":"p0","nameLocation":"357054:2:19","nodeType":"VariableDeclaration","scope":37404,"src":"357046:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37365,"name":"bytes32","nodeType":"ElementaryTypeName","src":"357046:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37368,"mutability":"mutable","name":"p1","nameLocation":"357063:2:19","nodeType":"VariableDeclaration","scope":37404,"src":"357058:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37367,"name":"bool","nodeType":"ElementaryTypeName","src":"357058:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37370,"mutability":"mutable","name":"p2","nameLocation":"357072:2:19","nodeType":"VariableDeclaration","scope":37404,"src":"357067:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37369,"name":"bool","nodeType":"ElementaryTypeName","src":"357067:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37372,"mutability":"mutable","name":"p3","nameLocation":"357084:2:19","nodeType":"VariableDeclaration","scope":37404,"src":"357076:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37371,"name":"address","nodeType":"ElementaryTypeName","src":"357076:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"357045:42:19"},"returnParameters":{"id":37374,"nodeType":"ParameterList","parameters":[],"src":"357102:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37444,"nodeType":"FunctionDefinition","src":"358453:1408:19","nodes":[],"body":{"id":37443,"nodeType":"Block","src":"358519:1342:19","nodes":[],"statements":[{"assignments":[37416],"declarations":[{"constant":false,"id":37416,"mutability":"mutable","name":"m0","nameLocation":"358537:2:19","nodeType":"VariableDeclaration","scope":37443,"src":"358529:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37415,"name":"bytes32","nodeType":"ElementaryTypeName","src":"358529:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37417,"nodeType":"VariableDeclarationStatement","src":"358529:10:19"},{"assignments":[37419],"declarations":[{"constant":false,"id":37419,"mutability":"mutable","name":"m1","nameLocation":"358557:2:19","nodeType":"VariableDeclaration","scope":37443,"src":"358549:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37418,"name":"bytes32","nodeType":"ElementaryTypeName","src":"358549:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37420,"nodeType":"VariableDeclarationStatement","src":"358549:10:19"},{"assignments":[37422],"declarations":[{"constant":false,"id":37422,"mutability":"mutable","name":"m2","nameLocation":"358577:2:19","nodeType":"VariableDeclaration","scope":37443,"src":"358569:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37421,"name":"bytes32","nodeType":"ElementaryTypeName","src":"358569:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37423,"nodeType":"VariableDeclarationStatement","src":"358569:10:19"},{"assignments":[37425],"declarations":[{"constant":false,"id":37425,"mutability":"mutable","name":"m3","nameLocation":"358597:2:19","nodeType":"VariableDeclaration","scope":37443,"src":"358589:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37424,"name":"bytes32","nodeType":"ElementaryTypeName","src":"358589:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37426,"nodeType":"VariableDeclarationStatement","src":"358589:10:19"},{"assignments":[37428],"declarations":[{"constant":false,"id":37428,"mutability":"mutable","name":"m4","nameLocation":"358617:2:19","nodeType":"VariableDeclaration","scope":37443,"src":"358609:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37427,"name":"bytes32","nodeType":"ElementaryTypeName","src":"358609:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37429,"nodeType":"VariableDeclarationStatement","src":"358609:10:19"},{"assignments":[37431],"declarations":[{"constant":false,"id":37431,"mutability":"mutable","name":"m5","nameLocation":"358637:2:19","nodeType":"VariableDeclaration","scope":37443,"src":"358629:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37430,"name":"bytes32","nodeType":"ElementaryTypeName","src":"358629:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37432,"nodeType":"VariableDeclarationStatement","src":"358629:10:19"},{"assignments":[37434],"declarations":[{"constant":false,"id":37434,"mutability":"mutable","name":"m6","nameLocation":"358657:2:19","nodeType":"VariableDeclaration","scope":37443,"src":"358649:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37433,"name":"bytes32","nodeType":"ElementaryTypeName","src":"358649:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37435,"nodeType":"VariableDeclarationStatement","src":"358649:10:19"},{"AST":{"nativeSrc":"358721:822:19","nodeType":"YulBlock","src":"358721:822:19","statements":[{"body":{"nativeSrc":"358764:313:19","nodeType":"YulBlock","src":"358764:313:19","statements":[{"nativeSrc":"358782:15:19","nodeType":"YulVariableDeclaration","src":"358782:15:19","value":{"kind":"number","nativeSrc":"358796:1:19","nodeType":"YulLiteral","src":"358796:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"358786:6:19","nodeType":"YulTypedName","src":"358786:6:19","type":""}]},{"body":{"nativeSrc":"358867:40:19","nodeType":"YulBlock","src":"358867:40:19","statements":[{"body":{"nativeSrc":"358896:9:19","nodeType":"YulBlock","src":"358896:9:19","statements":[{"nativeSrc":"358898:5:19","nodeType":"YulBreak","src":"358898:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"358884:6:19","nodeType":"YulIdentifier","src":"358884:6:19"},{"name":"w","nativeSrc":"358892:1:19","nodeType":"YulIdentifier","src":"358892:1:19"}],"functionName":{"name":"byte","nativeSrc":"358879:4:19","nodeType":"YulIdentifier","src":"358879:4:19"},"nativeSrc":"358879:15:19","nodeType":"YulFunctionCall","src":"358879:15:19"}],"functionName":{"name":"iszero","nativeSrc":"358872:6:19","nodeType":"YulIdentifier","src":"358872:6:19"},"nativeSrc":"358872:23:19","nodeType":"YulFunctionCall","src":"358872:23:19"},"nativeSrc":"358869:36:19","nodeType":"YulIf","src":"358869:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"358824:6:19","nodeType":"YulIdentifier","src":"358824:6:19"},{"kind":"number","nativeSrc":"358832:4:19","nodeType":"YulLiteral","src":"358832:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"358821:2:19","nodeType":"YulIdentifier","src":"358821:2:19"},"nativeSrc":"358821:16:19","nodeType":"YulFunctionCall","src":"358821:16:19"},"nativeSrc":"358814:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"358838:28:19","nodeType":"YulBlock","src":"358838:28:19","statements":[{"nativeSrc":"358840:24:19","nodeType":"YulAssignment","src":"358840:24:19","value":{"arguments":[{"name":"length","nativeSrc":"358854:6:19","nodeType":"YulIdentifier","src":"358854:6:19"},{"kind":"number","nativeSrc":"358862:1:19","nodeType":"YulLiteral","src":"358862:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"358850:3:19","nodeType":"YulIdentifier","src":"358850:3:19"},"nativeSrc":"358850:14:19","nodeType":"YulFunctionCall","src":"358850:14:19"},"variableNames":[{"name":"length","nativeSrc":"358840:6:19","nodeType":"YulIdentifier","src":"358840:6:19"}]}]},"pre":{"nativeSrc":"358818:2:19","nodeType":"YulBlock","src":"358818:2:19","statements":[]},"src":"358814:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"358931:3:19","nodeType":"YulIdentifier","src":"358931:3:19"},{"name":"length","nativeSrc":"358936:6:19","nodeType":"YulIdentifier","src":"358936:6:19"}],"functionName":{"name":"mstore","nativeSrc":"358924:6:19","nodeType":"YulIdentifier","src":"358924:6:19"},"nativeSrc":"358924:19:19","nodeType":"YulFunctionCall","src":"358924:19:19"},"nativeSrc":"358924:19:19","nodeType":"YulExpressionStatement","src":"358924:19:19"},{"nativeSrc":"358960:37:19","nodeType":"YulVariableDeclaration","src":"358960:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"358977:3:19","nodeType":"YulLiteral","src":"358977:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"358986:1:19","nodeType":"YulLiteral","src":"358986:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"358989:6:19","nodeType":"YulIdentifier","src":"358989:6:19"}],"functionName":{"name":"shl","nativeSrc":"358982:3:19","nodeType":"YulIdentifier","src":"358982:3:19"},"nativeSrc":"358982:14:19","nodeType":"YulFunctionCall","src":"358982:14:19"}],"functionName":{"name":"sub","nativeSrc":"358973:3:19","nodeType":"YulIdentifier","src":"358973:3:19"},"nativeSrc":"358973:24:19","nodeType":"YulFunctionCall","src":"358973:24:19"},"variables":[{"name":"shift","nativeSrc":"358964:5:19","nodeType":"YulTypedName","src":"358964:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"359025:3:19","nodeType":"YulIdentifier","src":"359025:3:19"},{"kind":"number","nativeSrc":"359030:4:19","nodeType":"YulLiteral","src":"359030:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"359021:3:19","nodeType":"YulIdentifier","src":"359021:3:19"},"nativeSrc":"359021:14:19","nodeType":"YulFunctionCall","src":"359021:14:19"},{"arguments":[{"name":"shift","nativeSrc":"359041:5:19","nodeType":"YulIdentifier","src":"359041:5:19"},{"arguments":[{"name":"shift","nativeSrc":"359052:5:19","nodeType":"YulIdentifier","src":"359052:5:19"},{"name":"w","nativeSrc":"359059:1:19","nodeType":"YulIdentifier","src":"359059:1:19"}],"functionName":{"name":"shr","nativeSrc":"359048:3:19","nodeType":"YulIdentifier","src":"359048:3:19"},"nativeSrc":"359048:13:19","nodeType":"YulFunctionCall","src":"359048:13:19"}],"functionName":{"name":"shl","nativeSrc":"359037:3:19","nodeType":"YulIdentifier","src":"359037:3:19"},"nativeSrc":"359037:25:19","nodeType":"YulFunctionCall","src":"359037:25:19"}],"functionName":{"name":"mstore","nativeSrc":"359014:6:19","nodeType":"YulIdentifier","src":"359014:6:19"},"nativeSrc":"359014:49:19","nodeType":"YulFunctionCall","src":"359014:49:19"},"nativeSrc":"359014:49:19","nodeType":"YulExpressionStatement","src":"359014:49:19"}]},"name":"writeString","nativeSrc":"358735:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"358756:3:19","nodeType":"YulTypedName","src":"358756:3:19","type":""},{"name":"w","nativeSrc":"358761:1:19","nodeType":"YulTypedName","src":"358761:1:19","type":""}],"src":"358735:342:19"},{"nativeSrc":"359090:17:19","nodeType":"YulAssignment","src":"359090:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"359102:4:19","nodeType":"YulLiteral","src":"359102:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"359096:5:19","nodeType":"YulIdentifier","src":"359096:5:19"},"nativeSrc":"359096:11:19","nodeType":"YulFunctionCall","src":"359096:11:19"},"variableNames":[{"name":"m0","nativeSrc":"359090:2:19","nodeType":"YulIdentifier","src":"359090:2:19"}]},{"nativeSrc":"359120:17:19","nodeType":"YulAssignment","src":"359120:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"359132:4:19","nodeType":"YulLiteral","src":"359132:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"359126:5:19","nodeType":"YulIdentifier","src":"359126:5:19"},"nativeSrc":"359126:11:19","nodeType":"YulFunctionCall","src":"359126:11:19"},"variableNames":[{"name":"m1","nativeSrc":"359120:2:19","nodeType":"YulIdentifier","src":"359120:2:19"}]},{"nativeSrc":"359150:17:19","nodeType":"YulAssignment","src":"359150:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"359162:4:19","nodeType":"YulLiteral","src":"359162:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"359156:5:19","nodeType":"YulIdentifier","src":"359156:5:19"},"nativeSrc":"359156:11:19","nodeType":"YulFunctionCall","src":"359156:11:19"},"variableNames":[{"name":"m2","nativeSrc":"359150:2:19","nodeType":"YulIdentifier","src":"359150:2:19"}]},{"nativeSrc":"359180:17:19","nodeType":"YulAssignment","src":"359180:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"359192:4:19","nodeType":"YulLiteral","src":"359192:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"359186:5:19","nodeType":"YulIdentifier","src":"359186:5:19"},"nativeSrc":"359186:11:19","nodeType":"YulFunctionCall","src":"359186:11:19"},"variableNames":[{"name":"m3","nativeSrc":"359180:2:19","nodeType":"YulIdentifier","src":"359180:2:19"}]},{"nativeSrc":"359210:17:19","nodeType":"YulAssignment","src":"359210:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"359222:4:19","nodeType":"YulLiteral","src":"359222:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"359216:5:19","nodeType":"YulIdentifier","src":"359216:5:19"},"nativeSrc":"359216:11:19","nodeType":"YulFunctionCall","src":"359216:11:19"},"variableNames":[{"name":"m4","nativeSrc":"359210:2:19","nodeType":"YulIdentifier","src":"359210:2:19"}]},{"nativeSrc":"359240:17:19","nodeType":"YulAssignment","src":"359240:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"359252:4:19","nodeType":"YulLiteral","src":"359252:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"359246:5:19","nodeType":"YulIdentifier","src":"359246:5:19"},"nativeSrc":"359246:11:19","nodeType":"YulFunctionCall","src":"359246:11:19"},"variableNames":[{"name":"m5","nativeSrc":"359240:2:19","nodeType":"YulIdentifier","src":"359240:2:19"}]},{"nativeSrc":"359270:17:19","nodeType":"YulAssignment","src":"359270:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"359282:4:19","nodeType":"YulLiteral","src":"359282:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"359276:5:19","nodeType":"YulIdentifier","src":"359276:5:19"},"nativeSrc":"359276:11:19","nodeType":"YulFunctionCall","src":"359276:11:19"},"variableNames":[{"name":"m6","nativeSrc":"359270:2:19","nodeType":"YulIdentifier","src":"359270:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359364:4:19","nodeType":"YulLiteral","src":"359364:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"359370:10:19","nodeType":"YulLiteral","src":"359370:10:19","type":"","value":"0x895af8c5"}],"functionName":{"name":"mstore","nativeSrc":"359357:6:19","nodeType":"YulIdentifier","src":"359357:6:19"},"nativeSrc":"359357:24:19","nodeType":"YulFunctionCall","src":"359357:24:19"},"nativeSrc":"359357:24:19","nodeType":"YulExpressionStatement","src":"359357:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359401:4:19","nodeType":"YulLiteral","src":"359401:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"359407:4:19","nodeType":"YulLiteral","src":"359407:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"359394:6:19","nodeType":"YulIdentifier","src":"359394:6:19"},"nativeSrc":"359394:18:19","nodeType":"YulFunctionCall","src":"359394:18:19"},"nativeSrc":"359394:18:19","nodeType":"YulExpressionStatement","src":"359394:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359432:4:19","nodeType":"YulLiteral","src":"359432:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"359438:2:19","nodeType":"YulIdentifier","src":"359438:2:19"}],"functionName":{"name":"mstore","nativeSrc":"359425:6:19","nodeType":"YulIdentifier","src":"359425:6:19"},"nativeSrc":"359425:16:19","nodeType":"YulFunctionCall","src":"359425:16:19"},"nativeSrc":"359425:16:19","nodeType":"YulExpressionStatement","src":"359425:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359461:4:19","nodeType":"YulLiteral","src":"359461:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"359467:2:19","nodeType":"YulIdentifier","src":"359467:2:19"}],"functionName":{"name":"mstore","nativeSrc":"359454:6:19","nodeType":"YulIdentifier","src":"359454:6:19"},"nativeSrc":"359454:16:19","nodeType":"YulFunctionCall","src":"359454:16:19"},"nativeSrc":"359454:16:19","nodeType":"YulExpressionStatement","src":"359454:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359490:4:19","nodeType":"YulLiteral","src":"359490:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"359496:2:19","nodeType":"YulIdentifier","src":"359496:2:19"}],"functionName":{"name":"mstore","nativeSrc":"359483:6:19","nodeType":"YulIdentifier","src":"359483:6:19"},"nativeSrc":"359483:16:19","nodeType":"YulFunctionCall","src":"359483:16:19"},"nativeSrc":"359483:16:19","nodeType":"YulExpressionStatement","src":"359483:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359524:4:19","nodeType":"YulLiteral","src":"359524:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"359530:2:19","nodeType":"YulIdentifier","src":"359530:2:19"}],"functionName":{"name":"writeString","nativeSrc":"359512:11:19","nodeType":"YulIdentifier","src":"359512:11:19"},"nativeSrc":"359512:21:19","nodeType":"YulFunctionCall","src":"359512:21:19"},"nativeSrc":"359512:21:19","nodeType":"YulExpressionStatement","src":"359512:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37416,"isOffset":false,"isSlot":false,"src":"359090:2:19","valueSize":1},{"declaration":37419,"isOffset":false,"isSlot":false,"src":"359120:2:19","valueSize":1},{"declaration":37422,"isOffset":false,"isSlot":false,"src":"359150:2:19","valueSize":1},{"declaration":37425,"isOffset":false,"isSlot":false,"src":"359180:2:19","valueSize":1},{"declaration":37428,"isOffset":false,"isSlot":false,"src":"359210:2:19","valueSize":1},{"declaration":37431,"isOffset":false,"isSlot":false,"src":"359240:2:19","valueSize":1},{"declaration":37434,"isOffset":false,"isSlot":false,"src":"359270:2:19","valueSize":1},{"declaration":37406,"isOffset":false,"isSlot":false,"src":"359530:2:19","valueSize":1},{"declaration":37408,"isOffset":false,"isSlot":false,"src":"359438:2:19","valueSize":1},{"declaration":37410,"isOffset":false,"isSlot":false,"src":"359467:2:19","valueSize":1},{"declaration":37412,"isOffset":false,"isSlot":false,"src":"359496:2:19","valueSize":1}],"id":37436,"nodeType":"InlineAssembly","src":"358712:831:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":37438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"359568:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"359574:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":37437,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"359552:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"359552:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37441,"nodeType":"ExpressionStatement","src":"359552:27:19"},{"AST":{"nativeSrc":"359641:214:19","nodeType":"YulBlock","src":"359641:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"359662:4:19","nodeType":"YulLiteral","src":"359662:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"359668:2:19","nodeType":"YulIdentifier","src":"359668:2:19"}],"functionName":{"name":"mstore","nativeSrc":"359655:6:19","nodeType":"YulIdentifier","src":"359655:6:19"},"nativeSrc":"359655:16:19","nodeType":"YulFunctionCall","src":"359655:16:19"},"nativeSrc":"359655:16:19","nodeType":"YulExpressionStatement","src":"359655:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359691:4:19","nodeType":"YulLiteral","src":"359691:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"359697:2:19","nodeType":"YulIdentifier","src":"359697:2:19"}],"functionName":{"name":"mstore","nativeSrc":"359684:6:19","nodeType":"YulIdentifier","src":"359684:6:19"},"nativeSrc":"359684:16:19","nodeType":"YulFunctionCall","src":"359684:16:19"},"nativeSrc":"359684:16:19","nodeType":"YulExpressionStatement","src":"359684:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359720:4:19","nodeType":"YulLiteral","src":"359720:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"359726:2:19","nodeType":"YulIdentifier","src":"359726:2:19"}],"functionName":{"name":"mstore","nativeSrc":"359713:6:19","nodeType":"YulIdentifier","src":"359713:6:19"},"nativeSrc":"359713:16:19","nodeType":"YulFunctionCall","src":"359713:16:19"},"nativeSrc":"359713:16:19","nodeType":"YulExpressionStatement","src":"359713:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359749:4:19","nodeType":"YulLiteral","src":"359749:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"359755:2:19","nodeType":"YulIdentifier","src":"359755:2:19"}],"functionName":{"name":"mstore","nativeSrc":"359742:6:19","nodeType":"YulIdentifier","src":"359742:6:19"},"nativeSrc":"359742:16:19","nodeType":"YulFunctionCall","src":"359742:16:19"},"nativeSrc":"359742:16:19","nodeType":"YulExpressionStatement","src":"359742:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359778:4:19","nodeType":"YulLiteral","src":"359778:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"359784:2:19","nodeType":"YulIdentifier","src":"359784:2:19"}],"functionName":{"name":"mstore","nativeSrc":"359771:6:19","nodeType":"YulIdentifier","src":"359771:6:19"},"nativeSrc":"359771:16:19","nodeType":"YulFunctionCall","src":"359771:16:19"},"nativeSrc":"359771:16:19","nodeType":"YulExpressionStatement","src":"359771:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359807:4:19","nodeType":"YulLiteral","src":"359807:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"359813:2:19","nodeType":"YulIdentifier","src":"359813:2:19"}],"functionName":{"name":"mstore","nativeSrc":"359800:6:19","nodeType":"YulIdentifier","src":"359800:6:19"},"nativeSrc":"359800:16:19","nodeType":"YulFunctionCall","src":"359800:16:19"},"nativeSrc":"359800:16:19","nodeType":"YulExpressionStatement","src":"359800:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"359836:4:19","nodeType":"YulLiteral","src":"359836:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"359842:2:19","nodeType":"YulIdentifier","src":"359842:2:19"}],"functionName":{"name":"mstore","nativeSrc":"359829:6:19","nodeType":"YulIdentifier","src":"359829:6:19"},"nativeSrc":"359829:16:19","nodeType":"YulFunctionCall","src":"359829:16:19"},"nativeSrc":"359829:16:19","nodeType":"YulExpressionStatement","src":"359829:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37416,"isOffset":false,"isSlot":false,"src":"359668:2:19","valueSize":1},{"declaration":37419,"isOffset":false,"isSlot":false,"src":"359697:2:19","valueSize":1},{"declaration":37422,"isOffset":false,"isSlot":false,"src":"359726:2:19","valueSize":1},{"declaration":37425,"isOffset":false,"isSlot":false,"src":"359755:2:19","valueSize":1},{"declaration":37428,"isOffset":false,"isSlot":false,"src":"359784:2:19","valueSize":1},{"declaration":37431,"isOffset":false,"isSlot":false,"src":"359813:2:19","valueSize":1},{"declaration":37434,"isOffset":false,"isSlot":false,"src":"359842:2:19","valueSize":1}],"id":37442,"nodeType":"InlineAssembly","src":"359632:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"358462:3:19","parameters":{"id":37413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37406,"mutability":"mutable","name":"p0","nameLocation":"358474:2:19","nodeType":"VariableDeclaration","scope":37444,"src":"358466:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37405,"name":"bytes32","nodeType":"ElementaryTypeName","src":"358466:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37408,"mutability":"mutable","name":"p1","nameLocation":"358483:2:19","nodeType":"VariableDeclaration","scope":37444,"src":"358478:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37407,"name":"bool","nodeType":"ElementaryTypeName","src":"358478:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37410,"mutability":"mutable","name":"p2","nameLocation":"358492:2:19","nodeType":"VariableDeclaration","scope":37444,"src":"358487:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37409,"name":"bool","nodeType":"ElementaryTypeName","src":"358487:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37412,"mutability":"mutable","name":"p3","nameLocation":"358501:2:19","nodeType":"VariableDeclaration","scope":37444,"src":"358496:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37411,"name":"bool","nodeType":"ElementaryTypeName","src":"358496:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"358465:39:19"},"returnParameters":{"id":37414,"nodeType":"ParameterList","parameters":[],"src":"358519:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37484,"nodeType":"FunctionDefinition","src":"359867:1414:19","nodes":[],"body":{"id":37483,"nodeType":"Block","src":"359936:1345:19","nodes":[],"statements":[{"assignments":[37456],"declarations":[{"constant":false,"id":37456,"mutability":"mutable","name":"m0","nameLocation":"359954:2:19","nodeType":"VariableDeclaration","scope":37483,"src":"359946:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37455,"name":"bytes32","nodeType":"ElementaryTypeName","src":"359946:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37457,"nodeType":"VariableDeclarationStatement","src":"359946:10:19"},{"assignments":[37459],"declarations":[{"constant":false,"id":37459,"mutability":"mutable","name":"m1","nameLocation":"359974:2:19","nodeType":"VariableDeclaration","scope":37483,"src":"359966:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37458,"name":"bytes32","nodeType":"ElementaryTypeName","src":"359966:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37460,"nodeType":"VariableDeclarationStatement","src":"359966:10:19"},{"assignments":[37462],"declarations":[{"constant":false,"id":37462,"mutability":"mutable","name":"m2","nameLocation":"359994:2:19","nodeType":"VariableDeclaration","scope":37483,"src":"359986:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37461,"name":"bytes32","nodeType":"ElementaryTypeName","src":"359986:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37463,"nodeType":"VariableDeclarationStatement","src":"359986:10:19"},{"assignments":[37465],"declarations":[{"constant":false,"id":37465,"mutability":"mutable","name":"m3","nameLocation":"360014:2:19","nodeType":"VariableDeclaration","scope":37483,"src":"360006:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37464,"name":"bytes32","nodeType":"ElementaryTypeName","src":"360006:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37466,"nodeType":"VariableDeclarationStatement","src":"360006:10:19"},{"assignments":[37468],"declarations":[{"constant":false,"id":37468,"mutability":"mutable","name":"m4","nameLocation":"360034:2:19","nodeType":"VariableDeclaration","scope":37483,"src":"360026:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37467,"name":"bytes32","nodeType":"ElementaryTypeName","src":"360026:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37469,"nodeType":"VariableDeclarationStatement","src":"360026:10:19"},{"assignments":[37471],"declarations":[{"constant":false,"id":37471,"mutability":"mutable","name":"m5","nameLocation":"360054:2:19","nodeType":"VariableDeclaration","scope":37483,"src":"360046:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37470,"name":"bytes32","nodeType":"ElementaryTypeName","src":"360046:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37472,"nodeType":"VariableDeclarationStatement","src":"360046:10:19"},{"assignments":[37474],"declarations":[{"constant":false,"id":37474,"mutability":"mutable","name":"m6","nameLocation":"360074:2:19","nodeType":"VariableDeclaration","scope":37483,"src":"360066:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37473,"name":"bytes32","nodeType":"ElementaryTypeName","src":"360066:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37475,"nodeType":"VariableDeclarationStatement","src":"360066:10:19"},{"AST":{"nativeSrc":"360138:825:19","nodeType":"YulBlock","src":"360138:825:19","statements":[{"body":{"nativeSrc":"360181:313:19","nodeType":"YulBlock","src":"360181:313:19","statements":[{"nativeSrc":"360199:15:19","nodeType":"YulVariableDeclaration","src":"360199:15:19","value":{"kind":"number","nativeSrc":"360213:1:19","nodeType":"YulLiteral","src":"360213:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"360203:6:19","nodeType":"YulTypedName","src":"360203:6:19","type":""}]},{"body":{"nativeSrc":"360284:40:19","nodeType":"YulBlock","src":"360284:40:19","statements":[{"body":{"nativeSrc":"360313:9:19","nodeType":"YulBlock","src":"360313:9:19","statements":[{"nativeSrc":"360315:5:19","nodeType":"YulBreak","src":"360315:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"360301:6:19","nodeType":"YulIdentifier","src":"360301:6:19"},{"name":"w","nativeSrc":"360309:1:19","nodeType":"YulIdentifier","src":"360309:1:19"}],"functionName":{"name":"byte","nativeSrc":"360296:4:19","nodeType":"YulIdentifier","src":"360296:4:19"},"nativeSrc":"360296:15:19","nodeType":"YulFunctionCall","src":"360296:15:19"}],"functionName":{"name":"iszero","nativeSrc":"360289:6:19","nodeType":"YulIdentifier","src":"360289:6:19"},"nativeSrc":"360289:23:19","nodeType":"YulFunctionCall","src":"360289:23:19"},"nativeSrc":"360286:36:19","nodeType":"YulIf","src":"360286:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"360241:6:19","nodeType":"YulIdentifier","src":"360241:6:19"},{"kind":"number","nativeSrc":"360249:4:19","nodeType":"YulLiteral","src":"360249:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"360238:2:19","nodeType":"YulIdentifier","src":"360238:2:19"},"nativeSrc":"360238:16:19","nodeType":"YulFunctionCall","src":"360238:16:19"},"nativeSrc":"360231:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"360255:28:19","nodeType":"YulBlock","src":"360255:28:19","statements":[{"nativeSrc":"360257:24:19","nodeType":"YulAssignment","src":"360257:24:19","value":{"arguments":[{"name":"length","nativeSrc":"360271:6:19","nodeType":"YulIdentifier","src":"360271:6:19"},{"kind":"number","nativeSrc":"360279:1:19","nodeType":"YulLiteral","src":"360279:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"360267:3:19","nodeType":"YulIdentifier","src":"360267:3:19"},"nativeSrc":"360267:14:19","nodeType":"YulFunctionCall","src":"360267:14:19"},"variableNames":[{"name":"length","nativeSrc":"360257:6:19","nodeType":"YulIdentifier","src":"360257:6:19"}]}]},"pre":{"nativeSrc":"360235:2:19","nodeType":"YulBlock","src":"360235:2:19","statements":[]},"src":"360231:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"360348:3:19","nodeType":"YulIdentifier","src":"360348:3:19"},{"name":"length","nativeSrc":"360353:6:19","nodeType":"YulIdentifier","src":"360353:6:19"}],"functionName":{"name":"mstore","nativeSrc":"360341:6:19","nodeType":"YulIdentifier","src":"360341:6:19"},"nativeSrc":"360341:19:19","nodeType":"YulFunctionCall","src":"360341:19:19"},"nativeSrc":"360341:19:19","nodeType":"YulExpressionStatement","src":"360341:19:19"},{"nativeSrc":"360377:37:19","nodeType":"YulVariableDeclaration","src":"360377:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"360394:3:19","nodeType":"YulLiteral","src":"360394:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"360403:1:19","nodeType":"YulLiteral","src":"360403:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"360406:6:19","nodeType":"YulIdentifier","src":"360406:6:19"}],"functionName":{"name":"shl","nativeSrc":"360399:3:19","nodeType":"YulIdentifier","src":"360399:3:19"},"nativeSrc":"360399:14:19","nodeType":"YulFunctionCall","src":"360399:14:19"}],"functionName":{"name":"sub","nativeSrc":"360390:3:19","nodeType":"YulIdentifier","src":"360390:3:19"},"nativeSrc":"360390:24:19","nodeType":"YulFunctionCall","src":"360390:24:19"},"variables":[{"name":"shift","nativeSrc":"360381:5:19","nodeType":"YulTypedName","src":"360381:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"360442:3:19","nodeType":"YulIdentifier","src":"360442:3:19"},{"kind":"number","nativeSrc":"360447:4:19","nodeType":"YulLiteral","src":"360447:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"360438:3:19","nodeType":"YulIdentifier","src":"360438:3:19"},"nativeSrc":"360438:14:19","nodeType":"YulFunctionCall","src":"360438:14:19"},{"arguments":[{"name":"shift","nativeSrc":"360458:5:19","nodeType":"YulIdentifier","src":"360458:5:19"},{"arguments":[{"name":"shift","nativeSrc":"360469:5:19","nodeType":"YulIdentifier","src":"360469:5:19"},{"name":"w","nativeSrc":"360476:1:19","nodeType":"YulIdentifier","src":"360476:1:19"}],"functionName":{"name":"shr","nativeSrc":"360465:3:19","nodeType":"YulIdentifier","src":"360465:3:19"},"nativeSrc":"360465:13:19","nodeType":"YulFunctionCall","src":"360465:13:19"}],"functionName":{"name":"shl","nativeSrc":"360454:3:19","nodeType":"YulIdentifier","src":"360454:3:19"},"nativeSrc":"360454:25:19","nodeType":"YulFunctionCall","src":"360454:25:19"}],"functionName":{"name":"mstore","nativeSrc":"360431:6:19","nodeType":"YulIdentifier","src":"360431:6:19"},"nativeSrc":"360431:49:19","nodeType":"YulFunctionCall","src":"360431:49:19"},"nativeSrc":"360431:49:19","nodeType":"YulExpressionStatement","src":"360431:49:19"}]},"name":"writeString","nativeSrc":"360152:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"360173:3:19","nodeType":"YulTypedName","src":"360173:3:19","type":""},{"name":"w","nativeSrc":"360178:1:19","nodeType":"YulTypedName","src":"360178:1:19","type":""}],"src":"360152:342:19"},{"nativeSrc":"360507:17:19","nodeType":"YulAssignment","src":"360507:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"360519:4:19","nodeType":"YulLiteral","src":"360519:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"360513:5:19","nodeType":"YulIdentifier","src":"360513:5:19"},"nativeSrc":"360513:11:19","nodeType":"YulFunctionCall","src":"360513:11:19"},"variableNames":[{"name":"m0","nativeSrc":"360507:2:19","nodeType":"YulIdentifier","src":"360507:2:19"}]},{"nativeSrc":"360537:17:19","nodeType":"YulAssignment","src":"360537:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"360549:4:19","nodeType":"YulLiteral","src":"360549:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"360543:5:19","nodeType":"YulIdentifier","src":"360543:5:19"},"nativeSrc":"360543:11:19","nodeType":"YulFunctionCall","src":"360543:11:19"},"variableNames":[{"name":"m1","nativeSrc":"360537:2:19","nodeType":"YulIdentifier","src":"360537:2:19"}]},{"nativeSrc":"360567:17:19","nodeType":"YulAssignment","src":"360567:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"360579:4:19","nodeType":"YulLiteral","src":"360579:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"360573:5:19","nodeType":"YulIdentifier","src":"360573:5:19"},"nativeSrc":"360573:11:19","nodeType":"YulFunctionCall","src":"360573:11:19"},"variableNames":[{"name":"m2","nativeSrc":"360567:2:19","nodeType":"YulIdentifier","src":"360567:2:19"}]},{"nativeSrc":"360597:17:19","nodeType":"YulAssignment","src":"360597:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"360609:4:19","nodeType":"YulLiteral","src":"360609:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"360603:5:19","nodeType":"YulIdentifier","src":"360603:5:19"},"nativeSrc":"360603:11:19","nodeType":"YulFunctionCall","src":"360603:11:19"},"variableNames":[{"name":"m3","nativeSrc":"360597:2:19","nodeType":"YulIdentifier","src":"360597:2:19"}]},{"nativeSrc":"360627:17:19","nodeType":"YulAssignment","src":"360627:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"360639:4:19","nodeType":"YulLiteral","src":"360639:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"360633:5:19","nodeType":"YulIdentifier","src":"360633:5:19"},"nativeSrc":"360633:11:19","nodeType":"YulFunctionCall","src":"360633:11:19"},"variableNames":[{"name":"m4","nativeSrc":"360627:2:19","nodeType":"YulIdentifier","src":"360627:2:19"}]},{"nativeSrc":"360657:17:19","nodeType":"YulAssignment","src":"360657:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"360669:4:19","nodeType":"YulLiteral","src":"360669:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"360663:5:19","nodeType":"YulIdentifier","src":"360663:5:19"},"nativeSrc":"360663:11:19","nodeType":"YulFunctionCall","src":"360663:11:19"},"variableNames":[{"name":"m5","nativeSrc":"360657:2:19","nodeType":"YulIdentifier","src":"360657:2:19"}]},{"nativeSrc":"360687:17:19","nodeType":"YulAssignment","src":"360687:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"360699:4:19","nodeType":"YulLiteral","src":"360699:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"360693:5:19","nodeType":"YulIdentifier","src":"360693:5:19"},"nativeSrc":"360693:11:19","nodeType":"YulFunctionCall","src":"360693:11:19"},"variableNames":[{"name":"m6","nativeSrc":"360687:2:19","nodeType":"YulIdentifier","src":"360687:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"360784:4:19","nodeType":"YulLiteral","src":"360784:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"360790:10:19","nodeType":"YulLiteral","src":"360790:10:19","type":"","value":"0x8e3f78a9"}],"functionName":{"name":"mstore","nativeSrc":"360777:6:19","nodeType":"YulIdentifier","src":"360777:6:19"},"nativeSrc":"360777:24:19","nodeType":"YulFunctionCall","src":"360777:24:19"},"nativeSrc":"360777:24:19","nodeType":"YulExpressionStatement","src":"360777:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"360821:4:19","nodeType":"YulLiteral","src":"360821:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"360827:4:19","nodeType":"YulLiteral","src":"360827:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"360814:6:19","nodeType":"YulIdentifier","src":"360814:6:19"},"nativeSrc":"360814:18:19","nodeType":"YulFunctionCall","src":"360814:18:19"},"nativeSrc":"360814:18:19","nodeType":"YulExpressionStatement","src":"360814:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"360852:4:19","nodeType":"YulLiteral","src":"360852:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"360858:2:19","nodeType":"YulIdentifier","src":"360858:2:19"}],"functionName":{"name":"mstore","nativeSrc":"360845:6:19","nodeType":"YulIdentifier","src":"360845:6:19"},"nativeSrc":"360845:16:19","nodeType":"YulFunctionCall","src":"360845:16:19"},"nativeSrc":"360845:16:19","nodeType":"YulExpressionStatement","src":"360845:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"360881:4:19","nodeType":"YulLiteral","src":"360881:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"360887:2:19","nodeType":"YulIdentifier","src":"360887:2:19"}],"functionName":{"name":"mstore","nativeSrc":"360874:6:19","nodeType":"YulIdentifier","src":"360874:6:19"},"nativeSrc":"360874:16:19","nodeType":"YulFunctionCall","src":"360874:16:19"},"nativeSrc":"360874:16:19","nodeType":"YulExpressionStatement","src":"360874:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"360910:4:19","nodeType":"YulLiteral","src":"360910:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"360916:2:19","nodeType":"YulIdentifier","src":"360916:2:19"}],"functionName":{"name":"mstore","nativeSrc":"360903:6:19","nodeType":"YulIdentifier","src":"360903:6:19"},"nativeSrc":"360903:16:19","nodeType":"YulFunctionCall","src":"360903:16:19"},"nativeSrc":"360903:16:19","nodeType":"YulExpressionStatement","src":"360903:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"360944:4:19","nodeType":"YulLiteral","src":"360944:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"360950:2:19","nodeType":"YulIdentifier","src":"360950:2:19"}],"functionName":{"name":"writeString","nativeSrc":"360932:11:19","nodeType":"YulIdentifier","src":"360932:11:19"},"nativeSrc":"360932:21:19","nodeType":"YulFunctionCall","src":"360932:21:19"},"nativeSrc":"360932:21:19","nodeType":"YulExpressionStatement","src":"360932:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37456,"isOffset":false,"isSlot":false,"src":"360507:2:19","valueSize":1},{"declaration":37459,"isOffset":false,"isSlot":false,"src":"360537:2:19","valueSize":1},{"declaration":37462,"isOffset":false,"isSlot":false,"src":"360567:2:19","valueSize":1},{"declaration":37465,"isOffset":false,"isSlot":false,"src":"360597:2:19","valueSize":1},{"declaration":37468,"isOffset":false,"isSlot":false,"src":"360627:2:19","valueSize":1},{"declaration":37471,"isOffset":false,"isSlot":false,"src":"360657:2:19","valueSize":1},{"declaration":37474,"isOffset":false,"isSlot":false,"src":"360687:2:19","valueSize":1},{"declaration":37446,"isOffset":false,"isSlot":false,"src":"360950:2:19","valueSize":1},{"declaration":37448,"isOffset":false,"isSlot":false,"src":"360858:2:19","valueSize":1},{"declaration":37450,"isOffset":false,"isSlot":false,"src":"360887:2:19","valueSize":1},{"declaration":37452,"isOffset":false,"isSlot":false,"src":"360916:2:19","valueSize":1}],"id":37476,"nodeType":"InlineAssembly","src":"360129:834:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":37478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"360988:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"360994:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":37477,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"360972:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"360972:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37481,"nodeType":"ExpressionStatement","src":"360972:27:19"},{"AST":{"nativeSrc":"361061:214:19","nodeType":"YulBlock","src":"361061:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"361082:4:19","nodeType":"YulLiteral","src":"361082:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"361088:2:19","nodeType":"YulIdentifier","src":"361088:2:19"}],"functionName":{"name":"mstore","nativeSrc":"361075:6:19","nodeType":"YulIdentifier","src":"361075:6:19"},"nativeSrc":"361075:16:19","nodeType":"YulFunctionCall","src":"361075:16:19"},"nativeSrc":"361075:16:19","nodeType":"YulExpressionStatement","src":"361075:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"361111:4:19","nodeType":"YulLiteral","src":"361111:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"361117:2:19","nodeType":"YulIdentifier","src":"361117:2:19"}],"functionName":{"name":"mstore","nativeSrc":"361104:6:19","nodeType":"YulIdentifier","src":"361104:6:19"},"nativeSrc":"361104:16:19","nodeType":"YulFunctionCall","src":"361104:16:19"},"nativeSrc":"361104:16:19","nodeType":"YulExpressionStatement","src":"361104:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"361140:4:19","nodeType":"YulLiteral","src":"361140:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"361146:2:19","nodeType":"YulIdentifier","src":"361146:2:19"}],"functionName":{"name":"mstore","nativeSrc":"361133:6:19","nodeType":"YulIdentifier","src":"361133:6:19"},"nativeSrc":"361133:16:19","nodeType":"YulFunctionCall","src":"361133:16:19"},"nativeSrc":"361133:16:19","nodeType":"YulExpressionStatement","src":"361133:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"361169:4:19","nodeType":"YulLiteral","src":"361169:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"361175:2:19","nodeType":"YulIdentifier","src":"361175:2:19"}],"functionName":{"name":"mstore","nativeSrc":"361162:6:19","nodeType":"YulIdentifier","src":"361162:6:19"},"nativeSrc":"361162:16:19","nodeType":"YulFunctionCall","src":"361162:16:19"},"nativeSrc":"361162:16:19","nodeType":"YulExpressionStatement","src":"361162:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"361198:4:19","nodeType":"YulLiteral","src":"361198:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"361204:2:19","nodeType":"YulIdentifier","src":"361204:2:19"}],"functionName":{"name":"mstore","nativeSrc":"361191:6:19","nodeType":"YulIdentifier","src":"361191:6:19"},"nativeSrc":"361191:16:19","nodeType":"YulFunctionCall","src":"361191:16:19"},"nativeSrc":"361191:16:19","nodeType":"YulExpressionStatement","src":"361191:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"361227:4:19","nodeType":"YulLiteral","src":"361227:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"361233:2:19","nodeType":"YulIdentifier","src":"361233:2:19"}],"functionName":{"name":"mstore","nativeSrc":"361220:6:19","nodeType":"YulIdentifier","src":"361220:6:19"},"nativeSrc":"361220:16:19","nodeType":"YulFunctionCall","src":"361220:16:19"},"nativeSrc":"361220:16:19","nodeType":"YulExpressionStatement","src":"361220:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"361256:4:19","nodeType":"YulLiteral","src":"361256:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"361262:2:19","nodeType":"YulIdentifier","src":"361262:2:19"}],"functionName":{"name":"mstore","nativeSrc":"361249:6:19","nodeType":"YulIdentifier","src":"361249:6:19"},"nativeSrc":"361249:16:19","nodeType":"YulFunctionCall","src":"361249:16:19"},"nativeSrc":"361249:16:19","nodeType":"YulExpressionStatement","src":"361249:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37456,"isOffset":false,"isSlot":false,"src":"361088:2:19","valueSize":1},{"declaration":37459,"isOffset":false,"isSlot":false,"src":"361117:2:19","valueSize":1},{"declaration":37462,"isOffset":false,"isSlot":false,"src":"361146:2:19","valueSize":1},{"declaration":37465,"isOffset":false,"isSlot":false,"src":"361175:2:19","valueSize":1},{"declaration":37468,"isOffset":false,"isSlot":false,"src":"361204:2:19","valueSize":1},{"declaration":37471,"isOffset":false,"isSlot":false,"src":"361233:2:19","valueSize":1},{"declaration":37474,"isOffset":false,"isSlot":false,"src":"361262:2:19","valueSize":1}],"id":37482,"nodeType":"InlineAssembly","src":"361052:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"359876:3:19","parameters":{"id":37453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37446,"mutability":"mutable","name":"p0","nameLocation":"359888:2:19","nodeType":"VariableDeclaration","scope":37484,"src":"359880:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37445,"name":"bytes32","nodeType":"ElementaryTypeName","src":"359880:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37448,"mutability":"mutable","name":"p1","nameLocation":"359897:2:19","nodeType":"VariableDeclaration","scope":37484,"src":"359892:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37447,"name":"bool","nodeType":"ElementaryTypeName","src":"359892:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37450,"mutability":"mutable","name":"p2","nameLocation":"359906:2:19","nodeType":"VariableDeclaration","scope":37484,"src":"359901:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37449,"name":"bool","nodeType":"ElementaryTypeName","src":"359901:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37452,"mutability":"mutable","name":"p3","nameLocation":"359918:2:19","nodeType":"VariableDeclaration","scope":37484,"src":"359910:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37451,"name":"uint256","nodeType":"ElementaryTypeName","src":"359910:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"359879:42:19"},"returnParameters":{"id":37454,"nodeType":"ParameterList","parameters":[],"src":"359936:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37530,"nodeType":"FunctionDefinition","src":"361287:1610:19","nodes":[],"body":{"id":37529,"nodeType":"Block","src":"361356:1541:19","nodes":[],"statements":[{"assignments":[37496],"declarations":[{"constant":false,"id":37496,"mutability":"mutable","name":"m0","nameLocation":"361374:2:19","nodeType":"VariableDeclaration","scope":37529,"src":"361366:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37495,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361366:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37497,"nodeType":"VariableDeclarationStatement","src":"361366:10:19"},{"assignments":[37499],"declarations":[{"constant":false,"id":37499,"mutability":"mutable","name":"m1","nameLocation":"361394:2:19","nodeType":"VariableDeclaration","scope":37529,"src":"361386:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37498,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361386:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37500,"nodeType":"VariableDeclarationStatement","src":"361386:10:19"},{"assignments":[37502],"declarations":[{"constant":false,"id":37502,"mutability":"mutable","name":"m2","nameLocation":"361414:2:19","nodeType":"VariableDeclaration","scope":37529,"src":"361406:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37501,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361406:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37503,"nodeType":"VariableDeclarationStatement","src":"361406:10:19"},{"assignments":[37505],"declarations":[{"constant":false,"id":37505,"mutability":"mutable","name":"m3","nameLocation":"361434:2:19","nodeType":"VariableDeclaration","scope":37529,"src":"361426:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37504,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361426:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37506,"nodeType":"VariableDeclarationStatement","src":"361426:10:19"},{"assignments":[37508],"declarations":[{"constant":false,"id":37508,"mutability":"mutable","name":"m4","nameLocation":"361454:2:19","nodeType":"VariableDeclaration","scope":37529,"src":"361446:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37507,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361446:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37509,"nodeType":"VariableDeclarationStatement","src":"361446:10:19"},{"assignments":[37511],"declarations":[{"constant":false,"id":37511,"mutability":"mutable","name":"m5","nameLocation":"361474:2:19","nodeType":"VariableDeclaration","scope":37529,"src":"361466:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37510,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361466:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37512,"nodeType":"VariableDeclarationStatement","src":"361466:10:19"},{"assignments":[37514],"declarations":[{"constant":false,"id":37514,"mutability":"mutable","name":"m6","nameLocation":"361494:2:19","nodeType":"VariableDeclaration","scope":37529,"src":"361486:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37513,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361486:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37515,"nodeType":"VariableDeclarationStatement","src":"361486:10:19"},{"assignments":[37517],"declarations":[{"constant":false,"id":37517,"mutability":"mutable","name":"m7","nameLocation":"361514:2:19","nodeType":"VariableDeclaration","scope":37529,"src":"361506:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37516,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361506:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37518,"nodeType":"VariableDeclarationStatement","src":"361506:10:19"},{"assignments":[37520],"declarations":[{"constant":false,"id":37520,"mutability":"mutable","name":"m8","nameLocation":"361534:2:19","nodeType":"VariableDeclaration","scope":37529,"src":"361526:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37519,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361526:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37521,"nodeType":"VariableDeclarationStatement","src":"361526:10:19"},{"AST":{"nativeSrc":"361598:921:19","nodeType":"YulBlock","src":"361598:921:19","statements":[{"body":{"nativeSrc":"361641:313:19","nodeType":"YulBlock","src":"361641:313:19","statements":[{"nativeSrc":"361659:15:19","nodeType":"YulVariableDeclaration","src":"361659:15:19","value":{"kind":"number","nativeSrc":"361673:1:19","nodeType":"YulLiteral","src":"361673:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"361663:6:19","nodeType":"YulTypedName","src":"361663:6:19","type":""}]},{"body":{"nativeSrc":"361744:40:19","nodeType":"YulBlock","src":"361744:40:19","statements":[{"body":{"nativeSrc":"361773:9:19","nodeType":"YulBlock","src":"361773:9:19","statements":[{"nativeSrc":"361775:5:19","nodeType":"YulBreak","src":"361775:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"361761:6:19","nodeType":"YulIdentifier","src":"361761:6:19"},{"name":"w","nativeSrc":"361769:1:19","nodeType":"YulIdentifier","src":"361769:1:19"}],"functionName":{"name":"byte","nativeSrc":"361756:4:19","nodeType":"YulIdentifier","src":"361756:4:19"},"nativeSrc":"361756:15:19","nodeType":"YulFunctionCall","src":"361756:15:19"}],"functionName":{"name":"iszero","nativeSrc":"361749:6:19","nodeType":"YulIdentifier","src":"361749:6:19"},"nativeSrc":"361749:23:19","nodeType":"YulFunctionCall","src":"361749:23:19"},"nativeSrc":"361746:36:19","nodeType":"YulIf","src":"361746:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"361701:6:19","nodeType":"YulIdentifier","src":"361701:6:19"},{"kind":"number","nativeSrc":"361709:4:19","nodeType":"YulLiteral","src":"361709:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"361698:2:19","nodeType":"YulIdentifier","src":"361698:2:19"},"nativeSrc":"361698:16:19","nodeType":"YulFunctionCall","src":"361698:16:19"},"nativeSrc":"361691:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"361715:28:19","nodeType":"YulBlock","src":"361715:28:19","statements":[{"nativeSrc":"361717:24:19","nodeType":"YulAssignment","src":"361717:24:19","value":{"arguments":[{"name":"length","nativeSrc":"361731:6:19","nodeType":"YulIdentifier","src":"361731:6:19"},{"kind":"number","nativeSrc":"361739:1:19","nodeType":"YulLiteral","src":"361739:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"361727:3:19","nodeType":"YulIdentifier","src":"361727:3:19"},"nativeSrc":"361727:14:19","nodeType":"YulFunctionCall","src":"361727:14:19"},"variableNames":[{"name":"length","nativeSrc":"361717:6:19","nodeType":"YulIdentifier","src":"361717:6:19"}]}]},"pre":{"nativeSrc":"361695:2:19","nodeType":"YulBlock","src":"361695:2:19","statements":[]},"src":"361691:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"361808:3:19","nodeType":"YulIdentifier","src":"361808:3:19"},{"name":"length","nativeSrc":"361813:6:19","nodeType":"YulIdentifier","src":"361813:6:19"}],"functionName":{"name":"mstore","nativeSrc":"361801:6:19","nodeType":"YulIdentifier","src":"361801:6:19"},"nativeSrc":"361801:19:19","nodeType":"YulFunctionCall","src":"361801:19:19"},"nativeSrc":"361801:19:19","nodeType":"YulExpressionStatement","src":"361801:19:19"},{"nativeSrc":"361837:37:19","nodeType":"YulVariableDeclaration","src":"361837:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"361854:3:19","nodeType":"YulLiteral","src":"361854:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"361863:1:19","nodeType":"YulLiteral","src":"361863:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"361866:6:19","nodeType":"YulIdentifier","src":"361866:6:19"}],"functionName":{"name":"shl","nativeSrc":"361859:3:19","nodeType":"YulIdentifier","src":"361859:3:19"},"nativeSrc":"361859:14:19","nodeType":"YulFunctionCall","src":"361859:14:19"}],"functionName":{"name":"sub","nativeSrc":"361850:3:19","nodeType":"YulIdentifier","src":"361850:3:19"},"nativeSrc":"361850:24:19","nodeType":"YulFunctionCall","src":"361850:24:19"},"variables":[{"name":"shift","nativeSrc":"361841:5:19","nodeType":"YulTypedName","src":"361841:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"361902:3:19","nodeType":"YulIdentifier","src":"361902:3:19"},{"kind":"number","nativeSrc":"361907:4:19","nodeType":"YulLiteral","src":"361907:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"361898:3:19","nodeType":"YulIdentifier","src":"361898:3:19"},"nativeSrc":"361898:14:19","nodeType":"YulFunctionCall","src":"361898:14:19"},{"arguments":[{"name":"shift","nativeSrc":"361918:5:19","nodeType":"YulIdentifier","src":"361918:5:19"},{"arguments":[{"name":"shift","nativeSrc":"361929:5:19","nodeType":"YulIdentifier","src":"361929:5:19"},{"name":"w","nativeSrc":"361936:1:19","nodeType":"YulIdentifier","src":"361936:1:19"}],"functionName":{"name":"shr","nativeSrc":"361925:3:19","nodeType":"YulIdentifier","src":"361925:3:19"},"nativeSrc":"361925:13:19","nodeType":"YulFunctionCall","src":"361925:13:19"}],"functionName":{"name":"shl","nativeSrc":"361914:3:19","nodeType":"YulIdentifier","src":"361914:3:19"},"nativeSrc":"361914:25:19","nodeType":"YulFunctionCall","src":"361914:25:19"}],"functionName":{"name":"mstore","nativeSrc":"361891:6:19","nodeType":"YulIdentifier","src":"361891:6:19"},"nativeSrc":"361891:49:19","nodeType":"YulFunctionCall","src":"361891:49:19"},"nativeSrc":"361891:49:19","nodeType":"YulExpressionStatement","src":"361891:49:19"}]},"name":"writeString","nativeSrc":"361612:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"361633:3:19","nodeType":"YulTypedName","src":"361633:3:19","type":""},{"name":"w","nativeSrc":"361638:1:19","nodeType":"YulTypedName","src":"361638:1:19","type":""}],"src":"361612:342:19"},{"nativeSrc":"361967:17:19","nodeType":"YulAssignment","src":"361967:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"361979:4:19","nodeType":"YulLiteral","src":"361979:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"361973:5:19","nodeType":"YulIdentifier","src":"361973:5:19"},"nativeSrc":"361973:11:19","nodeType":"YulFunctionCall","src":"361973:11:19"},"variableNames":[{"name":"m0","nativeSrc":"361967:2:19","nodeType":"YulIdentifier","src":"361967:2:19"}]},{"nativeSrc":"361997:17:19","nodeType":"YulAssignment","src":"361997:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"362009:4:19","nodeType":"YulLiteral","src":"362009:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"362003:5:19","nodeType":"YulIdentifier","src":"362003:5:19"},"nativeSrc":"362003:11:19","nodeType":"YulFunctionCall","src":"362003:11:19"},"variableNames":[{"name":"m1","nativeSrc":"361997:2:19","nodeType":"YulIdentifier","src":"361997:2:19"}]},{"nativeSrc":"362027:17:19","nodeType":"YulAssignment","src":"362027:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"362039:4:19","nodeType":"YulLiteral","src":"362039:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"362033:5:19","nodeType":"YulIdentifier","src":"362033:5:19"},"nativeSrc":"362033:11:19","nodeType":"YulFunctionCall","src":"362033:11:19"},"variableNames":[{"name":"m2","nativeSrc":"362027:2:19","nodeType":"YulIdentifier","src":"362027:2:19"}]},{"nativeSrc":"362057:17:19","nodeType":"YulAssignment","src":"362057:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"362069:4:19","nodeType":"YulLiteral","src":"362069:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"362063:5:19","nodeType":"YulIdentifier","src":"362063:5:19"},"nativeSrc":"362063:11:19","nodeType":"YulFunctionCall","src":"362063:11:19"},"variableNames":[{"name":"m3","nativeSrc":"362057:2:19","nodeType":"YulIdentifier","src":"362057:2:19"}]},{"nativeSrc":"362087:17:19","nodeType":"YulAssignment","src":"362087:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"362099:4:19","nodeType":"YulLiteral","src":"362099:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"362093:5:19","nodeType":"YulIdentifier","src":"362093:5:19"},"nativeSrc":"362093:11:19","nodeType":"YulFunctionCall","src":"362093:11:19"},"variableNames":[{"name":"m4","nativeSrc":"362087:2:19","nodeType":"YulIdentifier","src":"362087:2:19"}]},{"nativeSrc":"362117:17:19","nodeType":"YulAssignment","src":"362117:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"362129:4:19","nodeType":"YulLiteral","src":"362129:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"362123:5:19","nodeType":"YulIdentifier","src":"362123:5:19"},"nativeSrc":"362123:11:19","nodeType":"YulFunctionCall","src":"362123:11:19"},"variableNames":[{"name":"m5","nativeSrc":"362117:2:19","nodeType":"YulIdentifier","src":"362117:2:19"}]},{"nativeSrc":"362147:17:19","nodeType":"YulAssignment","src":"362147:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"362159:4:19","nodeType":"YulLiteral","src":"362159:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"362153:5:19","nodeType":"YulIdentifier","src":"362153:5:19"},"nativeSrc":"362153:11:19","nodeType":"YulFunctionCall","src":"362153:11:19"},"variableNames":[{"name":"m6","nativeSrc":"362147:2:19","nodeType":"YulIdentifier","src":"362147:2:19"}]},{"nativeSrc":"362177:17:19","nodeType":"YulAssignment","src":"362177:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"362189:4:19","nodeType":"YulLiteral","src":"362189:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"362183:5:19","nodeType":"YulIdentifier","src":"362183:5:19"},"nativeSrc":"362183:11:19","nodeType":"YulFunctionCall","src":"362183:11:19"},"variableNames":[{"name":"m7","nativeSrc":"362177:2:19","nodeType":"YulIdentifier","src":"362177:2:19"}]},{"nativeSrc":"362207:18:19","nodeType":"YulAssignment","src":"362207:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"362219:5:19","nodeType":"YulLiteral","src":"362219:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"362213:5:19","nodeType":"YulIdentifier","src":"362213:5:19"},"nativeSrc":"362213:12:19","nodeType":"YulFunctionCall","src":"362213:12:19"},"variableNames":[{"name":"m8","nativeSrc":"362207:2:19","nodeType":"YulIdentifier","src":"362207:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362304:4:19","nodeType":"YulLiteral","src":"362304:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"362310:10:19","nodeType":"YulLiteral","src":"362310:10:19","type":"","value":"0x9d22d5dd"}],"functionName":{"name":"mstore","nativeSrc":"362297:6:19","nodeType":"YulIdentifier","src":"362297:6:19"},"nativeSrc":"362297:24:19","nodeType":"YulFunctionCall","src":"362297:24:19"},"nativeSrc":"362297:24:19","nodeType":"YulExpressionStatement","src":"362297:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362341:4:19","nodeType":"YulLiteral","src":"362341:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"362347:4:19","nodeType":"YulLiteral","src":"362347:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"362334:6:19","nodeType":"YulIdentifier","src":"362334:6:19"},"nativeSrc":"362334:18:19","nodeType":"YulFunctionCall","src":"362334:18:19"},"nativeSrc":"362334:18:19","nodeType":"YulExpressionStatement","src":"362334:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362372:4:19","nodeType":"YulLiteral","src":"362372:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"362378:2:19","nodeType":"YulIdentifier","src":"362378:2:19"}],"functionName":{"name":"mstore","nativeSrc":"362365:6:19","nodeType":"YulIdentifier","src":"362365:6:19"},"nativeSrc":"362365:16:19","nodeType":"YulFunctionCall","src":"362365:16:19"},"nativeSrc":"362365:16:19","nodeType":"YulExpressionStatement","src":"362365:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362401:4:19","nodeType":"YulLiteral","src":"362401:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"362407:2:19","nodeType":"YulIdentifier","src":"362407:2:19"}],"functionName":{"name":"mstore","nativeSrc":"362394:6:19","nodeType":"YulIdentifier","src":"362394:6:19"},"nativeSrc":"362394:16:19","nodeType":"YulFunctionCall","src":"362394:16:19"},"nativeSrc":"362394:16:19","nodeType":"YulExpressionStatement","src":"362394:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362430:4:19","nodeType":"YulLiteral","src":"362430:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"362436:4:19","nodeType":"YulLiteral","src":"362436:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"362423:6:19","nodeType":"YulIdentifier","src":"362423:6:19"},"nativeSrc":"362423:18:19","nodeType":"YulFunctionCall","src":"362423:18:19"},"nativeSrc":"362423:18:19","nodeType":"YulExpressionStatement","src":"362423:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362466:4:19","nodeType":"YulLiteral","src":"362466:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"362472:2:19","nodeType":"YulIdentifier","src":"362472:2:19"}],"functionName":{"name":"writeString","nativeSrc":"362454:11:19","nodeType":"YulIdentifier","src":"362454:11:19"},"nativeSrc":"362454:21:19","nodeType":"YulFunctionCall","src":"362454:21:19"},"nativeSrc":"362454:21:19","nodeType":"YulExpressionStatement","src":"362454:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362500:4:19","nodeType":"YulLiteral","src":"362500:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"362506:2:19","nodeType":"YulIdentifier","src":"362506:2:19"}],"functionName":{"name":"writeString","nativeSrc":"362488:11:19","nodeType":"YulIdentifier","src":"362488:11:19"},"nativeSrc":"362488:21:19","nodeType":"YulFunctionCall","src":"362488:21:19"},"nativeSrc":"362488:21:19","nodeType":"YulExpressionStatement","src":"362488:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37496,"isOffset":false,"isSlot":false,"src":"361967:2:19","valueSize":1},{"declaration":37499,"isOffset":false,"isSlot":false,"src":"361997:2:19","valueSize":1},{"declaration":37502,"isOffset":false,"isSlot":false,"src":"362027:2:19","valueSize":1},{"declaration":37505,"isOffset":false,"isSlot":false,"src":"362057:2:19","valueSize":1},{"declaration":37508,"isOffset":false,"isSlot":false,"src":"362087:2:19","valueSize":1},{"declaration":37511,"isOffset":false,"isSlot":false,"src":"362117:2:19","valueSize":1},{"declaration":37514,"isOffset":false,"isSlot":false,"src":"362147:2:19","valueSize":1},{"declaration":37517,"isOffset":false,"isSlot":false,"src":"362177:2:19","valueSize":1},{"declaration":37520,"isOffset":false,"isSlot":false,"src":"362207:2:19","valueSize":1},{"declaration":37486,"isOffset":false,"isSlot":false,"src":"362472:2:19","valueSize":1},{"declaration":37488,"isOffset":false,"isSlot":false,"src":"362378:2:19","valueSize":1},{"declaration":37490,"isOffset":false,"isSlot":false,"src":"362407:2:19","valueSize":1},{"declaration":37492,"isOffset":false,"isSlot":false,"src":"362506:2:19","valueSize":1}],"id":37522,"nodeType":"InlineAssembly","src":"361589:930:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":37524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"362544:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":37525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"362550:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":37523,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"362528:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"362528:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37527,"nodeType":"ExpressionStatement","src":"362528:28:19"},{"AST":{"nativeSrc":"362618:273:19","nodeType":"YulBlock","src":"362618:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"362639:4:19","nodeType":"YulLiteral","src":"362639:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"362645:2:19","nodeType":"YulIdentifier","src":"362645:2:19"}],"functionName":{"name":"mstore","nativeSrc":"362632:6:19","nodeType":"YulIdentifier","src":"362632:6:19"},"nativeSrc":"362632:16:19","nodeType":"YulFunctionCall","src":"362632:16:19"},"nativeSrc":"362632:16:19","nodeType":"YulExpressionStatement","src":"362632:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362668:4:19","nodeType":"YulLiteral","src":"362668:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"362674:2:19","nodeType":"YulIdentifier","src":"362674:2:19"}],"functionName":{"name":"mstore","nativeSrc":"362661:6:19","nodeType":"YulIdentifier","src":"362661:6:19"},"nativeSrc":"362661:16:19","nodeType":"YulFunctionCall","src":"362661:16:19"},"nativeSrc":"362661:16:19","nodeType":"YulExpressionStatement","src":"362661:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362697:4:19","nodeType":"YulLiteral","src":"362697:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"362703:2:19","nodeType":"YulIdentifier","src":"362703:2:19"}],"functionName":{"name":"mstore","nativeSrc":"362690:6:19","nodeType":"YulIdentifier","src":"362690:6:19"},"nativeSrc":"362690:16:19","nodeType":"YulFunctionCall","src":"362690:16:19"},"nativeSrc":"362690:16:19","nodeType":"YulExpressionStatement","src":"362690:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362726:4:19","nodeType":"YulLiteral","src":"362726:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"362732:2:19","nodeType":"YulIdentifier","src":"362732:2:19"}],"functionName":{"name":"mstore","nativeSrc":"362719:6:19","nodeType":"YulIdentifier","src":"362719:6:19"},"nativeSrc":"362719:16:19","nodeType":"YulFunctionCall","src":"362719:16:19"},"nativeSrc":"362719:16:19","nodeType":"YulExpressionStatement","src":"362719:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362755:4:19","nodeType":"YulLiteral","src":"362755:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"362761:2:19","nodeType":"YulIdentifier","src":"362761:2:19"}],"functionName":{"name":"mstore","nativeSrc":"362748:6:19","nodeType":"YulIdentifier","src":"362748:6:19"},"nativeSrc":"362748:16:19","nodeType":"YulFunctionCall","src":"362748:16:19"},"nativeSrc":"362748:16:19","nodeType":"YulExpressionStatement","src":"362748:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362784:4:19","nodeType":"YulLiteral","src":"362784:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"362790:2:19","nodeType":"YulIdentifier","src":"362790:2:19"}],"functionName":{"name":"mstore","nativeSrc":"362777:6:19","nodeType":"YulIdentifier","src":"362777:6:19"},"nativeSrc":"362777:16:19","nodeType":"YulFunctionCall","src":"362777:16:19"},"nativeSrc":"362777:16:19","nodeType":"YulExpressionStatement","src":"362777:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362813:4:19","nodeType":"YulLiteral","src":"362813:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"362819:2:19","nodeType":"YulIdentifier","src":"362819:2:19"}],"functionName":{"name":"mstore","nativeSrc":"362806:6:19","nodeType":"YulIdentifier","src":"362806:6:19"},"nativeSrc":"362806:16:19","nodeType":"YulFunctionCall","src":"362806:16:19"},"nativeSrc":"362806:16:19","nodeType":"YulExpressionStatement","src":"362806:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362842:4:19","nodeType":"YulLiteral","src":"362842:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"362848:2:19","nodeType":"YulIdentifier","src":"362848:2:19"}],"functionName":{"name":"mstore","nativeSrc":"362835:6:19","nodeType":"YulIdentifier","src":"362835:6:19"},"nativeSrc":"362835:16:19","nodeType":"YulFunctionCall","src":"362835:16:19"},"nativeSrc":"362835:16:19","nodeType":"YulExpressionStatement","src":"362835:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"362871:5:19","nodeType":"YulLiteral","src":"362871:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"362878:2:19","nodeType":"YulIdentifier","src":"362878:2:19"}],"functionName":{"name":"mstore","nativeSrc":"362864:6:19","nodeType":"YulIdentifier","src":"362864:6:19"},"nativeSrc":"362864:17:19","nodeType":"YulFunctionCall","src":"362864:17:19"},"nativeSrc":"362864:17:19","nodeType":"YulExpressionStatement","src":"362864:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37496,"isOffset":false,"isSlot":false,"src":"362645:2:19","valueSize":1},{"declaration":37499,"isOffset":false,"isSlot":false,"src":"362674:2:19","valueSize":1},{"declaration":37502,"isOffset":false,"isSlot":false,"src":"362703:2:19","valueSize":1},{"declaration":37505,"isOffset":false,"isSlot":false,"src":"362732:2:19","valueSize":1},{"declaration":37508,"isOffset":false,"isSlot":false,"src":"362761:2:19","valueSize":1},{"declaration":37511,"isOffset":false,"isSlot":false,"src":"362790:2:19","valueSize":1},{"declaration":37514,"isOffset":false,"isSlot":false,"src":"362819:2:19","valueSize":1},{"declaration":37517,"isOffset":false,"isSlot":false,"src":"362848:2:19","valueSize":1},{"declaration":37520,"isOffset":false,"isSlot":false,"src":"362878:2:19","valueSize":1}],"id":37528,"nodeType":"InlineAssembly","src":"362609:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"361296:3:19","parameters":{"id":37493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37486,"mutability":"mutable","name":"p0","nameLocation":"361308:2:19","nodeType":"VariableDeclaration","scope":37530,"src":"361300:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37485,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361300:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37488,"mutability":"mutable","name":"p1","nameLocation":"361317:2:19","nodeType":"VariableDeclaration","scope":37530,"src":"361312:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37487,"name":"bool","nodeType":"ElementaryTypeName","src":"361312:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37490,"mutability":"mutable","name":"p2","nameLocation":"361326:2:19","nodeType":"VariableDeclaration","scope":37530,"src":"361321:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37489,"name":"bool","nodeType":"ElementaryTypeName","src":"361321:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37492,"mutability":"mutable","name":"p3","nameLocation":"361338:2:19","nodeType":"VariableDeclaration","scope":37530,"src":"361330:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37491,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361330:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"361299:42:19"},"returnParameters":{"id":37494,"nodeType":"ParameterList","parameters":[],"src":"361356:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37570,"nodeType":"FunctionDefinition","src":"362903:1420:19","nodes":[],"body":{"id":37569,"nodeType":"Block","src":"362975:1348:19","nodes":[],"statements":[{"assignments":[37542],"declarations":[{"constant":false,"id":37542,"mutability":"mutable","name":"m0","nameLocation":"362993:2:19","nodeType":"VariableDeclaration","scope":37569,"src":"362985:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37541,"name":"bytes32","nodeType":"ElementaryTypeName","src":"362985:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37543,"nodeType":"VariableDeclarationStatement","src":"362985:10:19"},{"assignments":[37545],"declarations":[{"constant":false,"id":37545,"mutability":"mutable","name":"m1","nameLocation":"363013:2:19","nodeType":"VariableDeclaration","scope":37569,"src":"363005:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37544,"name":"bytes32","nodeType":"ElementaryTypeName","src":"363005:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37546,"nodeType":"VariableDeclarationStatement","src":"363005:10:19"},{"assignments":[37548],"declarations":[{"constant":false,"id":37548,"mutability":"mutable","name":"m2","nameLocation":"363033:2:19","nodeType":"VariableDeclaration","scope":37569,"src":"363025:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37547,"name":"bytes32","nodeType":"ElementaryTypeName","src":"363025:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37549,"nodeType":"VariableDeclarationStatement","src":"363025:10:19"},{"assignments":[37551],"declarations":[{"constant":false,"id":37551,"mutability":"mutable","name":"m3","nameLocation":"363053:2:19","nodeType":"VariableDeclaration","scope":37569,"src":"363045:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37550,"name":"bytes32","nodeType":"ElementaryTypeName","src":"363045:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37552,"nodeType":"VariableDeclarationStatement","src":"363045:10:19"},{"assignments":[37554],"declarations":[{"constant":false,"id":37554,"mutability":"mutable","name":"m4","nameLocation":"363073:2:19","nodeType":"VariableDeclaration","scope":37569,"src":"363065:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37553,"name":"bytes32","nodeType":"ElementaryTypeName","src":"363065:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37555,"nodeType":"VariableDeclarationStatement","src":"363065:10:19"},{"assignments":[37557],"declarations":[{"constant":false,"id":37557,"mutability":"mutable","name":"m5","nameLocation":"363093:2:19","nodeType":"VariableDeclaration","scope":37569,"src":"363085:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37556,"name":"bytes32","nodeType":"ElementaryTypeName","src":"363085:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37558,"nodeType":"VariableDeclarationStatement","src":"363085:10:19"},{"assignments":[37560],"declarations":[{"constant":false,"id":37560,"mutability":"mutable","name":"m6","nameLocation":"363113:2:19","nodeType":"VariableDeclaration","scope":37569,"src":"363105:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37559,"name":"bytes32","nodeType":"ElementaryTypeName","src":"363105:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37561,"nodeType":"VariableDeclarationStatement","src":"363105:10:19"},{"AST":{"nativeSrc":"363177:828:19","nodeType":"YulBlock","src":"363177:828:19","statements":[{"body":{"nativeSrc":"363220:313:19","nodeType":"YulBlock","src":"363220:313:19","statements":[{"nativeSrc":"363238:15:19","nodeType":"YulVariableDeclaration","src":"363238:15:19","value":{"kind":"number","nativeSrc":"363252:1:19","nodeType":"YulLiteral","src":"363252:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"363242:6:19","nodeType":"YulTypedName","src":"363242:6:19","type":""}]},{"body":{"nativeSrc":"363323:40:19","nodeType":"YulBlock","src":"363323:40:19","statements":[{"body":{"nativeSrc":"363352:9:19","nodeType":"YulBlock","src":"363352:9:19","statements":[{"nativeSrc":"363354:5:19","nodeType":"YulBreak","src":"363354:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"363340:6:19","nodeType":"YulIdentifier","src":"363340:6:19"},{"name":"w","nativeSrc":"363348:1:19","nodeType":"YulIdentifier","src":"363348:1:19"}],"functionName":{"name":"byte","nativeSrc":"363335:4:19","nodeType":"YulIdentifier","src":"363335:4:19"},"nativeSrc":"363335:15:19","nodeType":"YulFunctionCall","src":"363335:15:19"}],"functionName":{"name":"iszero","nativeSrc":"363328:6:19","nodeType":"YulIdentifier","src":"363328:6:19"},"nativeSrc":"363328:23:19","nodeType":"YulFunctionCall","src":"363328:23:19"},"nativeSrc":"363325:36:19","nodeType":"YulIf","src":"363325:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"363280:6:19","nodeType":"YulIdentifier","src":"363280:6:19"},{"kind":"number","nativeSrc":"363288:4:19","nodeType":"YulLiteral","src":"363288:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"363277:2:19","nodeType":"YulIdentifier","src":"363277:2:19"},"nativeSrc":"363277:16:19","nodeType":"YulFunctionCall","src":"363277:16:19"},"nativeSrc":"363270:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"363294:28:19","nodeType":"YulBlock","src":"363294:28:19","statements":[{"nativeSrc":"363296:24:19","nodeType":"YulAssignment","src":"363296:24:19","value":{"arguments":[{"name":"length","nativeSrc":"363310:6:19","nodeType":"YulIdentifier","src":"363310:6:19"},{"kind":"number","nativeSrc":"363318:1:19","nodeType":"YulLiteral","src":"363318:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"363306:3:19","nodeType":"YulIdentifier","src":"363306:3:19"},"nativeSrc":"363306:14:19","nodeType":"YulFunctionCall","src":"363306:14:19"},"variableNames":[{"name":"length","nativeSrc":"363296:6:19","nodeType":"YulIdentifier","src":"363296:6:19"}]}]},"pre":{"nativeSrc":"363274:2:19","nodeType":"YulBlock","src":"363274:2:19","statements":[]},"src":"363270:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"363387:3:19","nodeType":"YulIdentifier","src":"363387:3:19"},{"name":"length","nativeSrc":"363392:6:19","nodeType":"YulIdentifier","src":"363392:6:19"}],"functionName":{"name":"mstore","nativeSrc":"363380:6:19","nodeType":"YulIdentifier","src":"363380:6:19"},"nativeSrc":"363380:19:19","nodeType":"YulFunctionCall","src":"363380:19:19"},"nativeSrc":"363380:19:19","nodeType":"YulExpressionStatement","src":"363380:19:19"},{"nativeSrc":"363416:37:19","nodeType":"YulVariableDeclaration","src":"363416:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"363433:3:19","nodeType":"YulLiteral","src":"363433:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"363442:1:19","nodeType":"YulLiteral","src":"363442:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"363445:6:19","nodeType":"YulIdentifier","src":"363445:6:19"}],"functionName":{"name":"shl","nativeSrc":"363438:3:19","nodeType":"YulIdentifier","src":"363438:3:19"},"nativeSrc":"363438:14:19","nodeType":"YulFunctionCall","src":"363438:14:19"}],"functionName":{"name":"sub","nativeSrc":"363429:3:19","nodeType":"YulIdentifier","src":"363429:3:19"},"nativeSrc":"363429:24:19","nodeType":"YulFunctionCall","src":"363429:24:19"},"variables":[{"name":"shift","nativeSrc":"363420:5:19","nodeType":"YulTypedName","src":"363420:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"363481:3:19","nodeType":"YulIdentifier","src":"363481:3:19"},{"kind":"number","nativeSrc":"363486:4:19","nodeType":"YulLiteral","src":"363486:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"363477:3:19","nodeType":"YulIdentifier","src":"363477:3:19"},"nativeSrc":"363477:14:19","nodeType":"YulFunctionCall","src":"363477:14:19"},{"arguments":[{"name":"shift","nativeSrc":"363497:5:19","nodeType":"YulIdentifier","src":"363497:5:19"},{"arguments":[{"name":"shift","nativeSrc":"363508:5:19","nodeType":"YulIdentifier","src":"363508:5:19"},{"name":"w","nativeSrc":"363515:1:19","nodeType":"YulIdentifier","src":"363515:1:19"}],"functionName":{"name":"shr","nativeSrc":"363504:3:19","nodeType":"YulIdentifier","src":"363504:3:19"},"nativeSrc":"363504:13:19","nodeType":"YulFunctionCall","src":"363504:13:19"}],"functionName":{"name":"shl","nativeSrc":"363493:3:19","nodeType":"YulIdentifier","src":"363493:3:19"},"nativeSrc":"363493:25:19","nodeType":"YulFunctionCall","src":"363493:25:19"}],"functionName":{"name":"mstore","nativeSrc":"363470:6:19","nodeType":"YulIdentifier","src":"363470:6:19"},"nativeSrc":"363470:49:19","nodeType":"YulFunctionCall","src":"363470:49:19"},"nativeSrc":"363470:49:19","nodeType":"YulExpressionStatement","src":"363470:49:19"}]},"name":"writeString","nativeSrc":"363191:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"363212:3:19","nodeType":"YulTypedName","src":"363212:3:19","type":""},{"name":"w","nativeSrc":"363217:1:19","nodeType":"YulTypedName","src":"363217:1:19","type":""}],"src":"363191:342:19"},{"nativeSrc":"363546:17:19","nodeType":"YulAssignment","src":"363546:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"363558:4:19","nodeType":"YulLiteral","src":"363558:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"363552:5:19","nodeType":"YulIdentifier","src":"363552:5:19"},"nativeSrc":"363552:11:19","nodeType":"YulFunctionCall","src":"363552:11:19"},"variableNames":[{"name":"m0","nativeSrc":"363546:2:19","nodeType":"YulIdentifier","src":"363546:2:19"}]},{"nativeSrc":"363576:17:19","nodeType":"YulAssignment","src":"363576:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"363588:4:19","nodeType":"YulLiteral","src":"363588:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"363582:5:19","nodeType":"YulIdentifier","src":"363582:5:19"},"nativeSrc":"363582:11:19","nodeType":"YulFunctionCall","src":"363582:11:19"},"variableNames":[{"name":"m1","nativeSrc":"363576:2:19","nodeType":"YulIdentifier","src":"363576:2:19"}]},{"nativeSrc":"363606:17:19","nodeType":"YulAssignment","src":"363606:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"363618:4:19","nodeType":"YulLiteral","src":"363618:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"363612:5:19","nodeType":"YulIdentifier","src":"363612:5:19"},"nativeSrc":"363612:11:19","nodeType":"YulFunctionCall","src":"363612:11:19"},"variableNames":[{"name":"m2","nativeSrc":"363606:2:19","nodeType":"YulIdentifier","src":"363606:2:19"}]},{"nativeSrc":"363636:17:19","nodeType":"YulAssignment","src":"363636:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"363648:4:19","nodeType":"YulLiteral","src":"363648:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"363642:5:19","nodeType":"YulIdentifier","src":"363642:5:19"},"nativeSrc":"363642:11:19","nodeType":"YulFunctionCall","src":"363642:11:19"},"variableNames":[{"name":"m3","nativeSrc":"363636:2:19","nodeType":"YulIdentifier","src":"363636:2:19"}]},{"nativeSrc":"363666:17:19","nodeType":"YulAssignment","src":"363666:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"363678:4:19","nodeType":"YulLiteral","src":"363678:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"363672:5:19","nodeType":"YulIdentifier","src":"363672:5:19"},"nativeSrc":"363672:11:19","nodeType":"YulFunctionCall","src":"363672:11:19"},"variableNames":[{"name":"m4","nativeSrc":"363666:2:19","nodeType":"YulIdentifier","src":"363666:2:19"}]},{"nativeSrc":"363696:17:19","nodeType":"YulAssignment","src":"363696:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"363708:4:19","nodeType":"YulLiteral","src":"363708:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"363702:5:19","nodeType":"YulIdentifier","src":"363702:5:19"},"nativeSrc":"363702:11:19","nodeType":"YulFunctionCall","src":"363702:11:19"},"variableNames":[{"name":"m5","nativeSrc":"363696:2:19","nodeType":"YulIdentifier","src":"363696:2:19"}]},{"nativeSrc":"363726:17:19","nodeType":"YulAssignment","src":"363726:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"363738:4:19","nodeType":"YulLiteral","src":"363738:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"363732:5:19","nodeType":"YulIdentifier","src":"363732:5:19"},"nativeSrc":"363732:11:19","nodeType":"YulFunctionCall","src":"363732:11:19"},"variableNames":[{"name":"m6","nativeSrc":"363726:2:19","nodeType":"YulIdentifier","src":"363726:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"363826:4:19","nodeType":"YulLiteral","src":"363826:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"363832:10:19","nodeType":"YulLiteral","src":"363832:10:19","type":"","value":"0x935e09bf"}],"functionName":{"name":"mstore","nativeSrc":"363819:6:19","nodeType":"YulIdentifier","src":"363819:6:19"},"nativeSrc":"363819:24:19","nodeType":"YulFunctionCall","src":"363819:24:19"},"nativeSrc":"363819:24:19","nodeType":"YulExpressionStatement","src":"363819:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"363863:4:19","nodeType":"YulLiteral","src":"363863:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"363869:4:19","nodeType":"YulLiteral","src":"363869:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"363856:6:19","nodeType":"YulIdentifier","src":"363856:6:19"},"nativeSrc":"363856:18:19","nodeType":"YulFunctionCall","src":"363856:18:19"},"nativeSrc":"363856:18:19","nodeType":"YulExpressionStatement","src":"363856:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"363894:4:19","nodeType":"YulLiteral","src":"363894:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"363900:2:19","nodeType":"YulIdentifier","src":"363900:2:19"}],"functionName":{"name":"mstore","nativeSrc":"363887:6:19","nodeType":"YulIdentifier","src":"363887:6:19"},"nativeSrc":"363887:16:19","nodeType":"YulFunctionCall","src":"363887:16:19"},"nativeSrc":"363887:16:19","nodeType":"YulExpressionStatement","src":"363887:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"363923:4:19","nodeType":"YulLiteral","src":"363923:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"363929:2:19","nodeType":"YulIdentifier","src":"363929:2:19"}],"functionName":{"name":"mstore","nativeSrc":"363916:6:19","nodeType":"YulIdentifier","src":"363916:6:19"},"nativeSrc":"363916:16:19","nodeType":"YulFunctionCall","src":"363916:16:19"},"nativeSrc":"363916:16:19","nodeType":"YulExpressionStatement","src":"363916:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"363952:4:19","nodeType":"YulLiteral","src":"363952:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"363958:2:19","nodeType":"YulIdentifier","src":"363958:2:19"}],"functionName":{"name":"mstore","nativeSrc":"363945:6:19","nodeType":"YulIdentifier","src":"363945:6:19"},"nativeSrc":"363945:16:19","nodeType":"YulFunctionCall","src":"363945:16:19"},"nativeSrc":"363945:16:19","nodeType":"YulExpressionStatement","src":"363945:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"363986:4:19","nodeType":"YulLiteral","src":"363986:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"363992:2:19","nodeType":"YulIdentifier","src":"363992:2:19"}],"functionName":{"name":"writeString","nativeSrc":"363974:11:19","nodeType":"YulIdentifier","src":"363974:11:19"},"nativeSrc":"363974:21:19","nodeType":"YulFunctionCall","src":"363974:21:19"},"nativeSrc":"363974:21:19","nodeType":"YulExpressionStatement","src":"363974:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37542,"isOffset":false,"isSlot":false,"src":"363546:2:19","valueSize":1},{"declaration":37545,"isOffset":false,"isSlot":false,"src":"363576:2:19","valueSize":1},{"declaration":37548,"isOffset":false,"isSlot":false,"src":"363606:2:19","valueSize":1},{"declaration":37551,"isOffset":false,"isSlot":false,"src":"363636:2:19","valueSize":1},{"declaration":37554,"isOffset":false,"isSlot":false,"src":"363666:2:19","valueSize":1},{"declaration":37557,"isOffset":false,"isSlot":false,"src":"363696:2:19","valueSize":1},{"declaration":37560,"isOffset":false,"isSlot":false,"src":"363726:2:19","valueSize":1},{"declaration":37532,"isOffset":false,"isSlot":false,"src":"363992:2:19","valueSize":1},{"declaration":37534,"isOffset":false,"isSlot":false,"src":"363900:2:19","valueSize":1},{"declaration":37536,"isOffset":false,"isSlot":false,"src":"363929:2:19","valueSize":1},{"declaration":37538,"isOffset":false,"isSlot":false,"src":"363958:2:19","valueSize":1}],"id":37562,"nodeType":"InlineAssembly","src":"363168:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":37564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"364030:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"364036:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":37563,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"364014:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"364014:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37567,"nodeType":"ExpressionStatement","src":"364014:27:19"},{"AST":{"nativeSrc":"364103:214:19","nodeType":"YulBlock","src":"364103:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"364124:4:19","nodeType":"YulLiteral","src":"364124:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"364130:2:19","nodeType":"YulIdentifier","src":"364130:2:19"}],"functionName":{"name":"mstore","nativeSrc":"364117:6:19","nodeType":"YulIdentifier","src":"364117:6:19"},"nativeSrc":"364117:16:19","nodeType":"YulFunctionCall","src":"364117:16:19"},"nativeSrc":"364117:16:19","nodeType":"YulExpressionStatement","src":"364117:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"364153:4:19","nodeType":"YulLiteral","src":"364153:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"364159:2:19","nodeType":"YulIdentifier","src":"364159:2:19"}],"functionName":{"name":"mstore","nativeSrc":"364146:6:19","nodeType":"YulIdentifier","src":"364146:6:19"},"nativeSrc":"364146:16:19","nodeType":"YulFunctionCall","src":"364146:16:19"},"nativeSrc":"364146:16:19","nodeType":"YulExpressionStatement","src":"364146:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"364182:4:19","nodeType":"YulLiteral","src":"364182:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"364188:2:19","nodeType":"YulIdentifier","src":"364188:2:19"}],"functionName":{"name":"mstore","nativeSrc":"364175:6:19","nodeType":"YulIdentifier","src":"364175:6:19"},"nativeSrc":"364175:16:19","nodeType":"YulFunctionCall","src":"364175:16:19"},"nativeSrc":"364175:16:19","nodeType":"YulExpressionStatement","src":"364175:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"364211:4:19","nodeType":"YulLiteral","src":"364211:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"364217:2:19","nodeType":"YulIdentifier","src":"364217:2:19"}],"functionName":{"name":"mstore","nativeSrc":"364204:6:19","nodeType":"YulIdentifier","src":"364204:6:19"},"nativeSrc":"364204:16:19","nodeType":"YulFunctionCall","src":"364204:16:19"},"nativeSrc":"364204:16:19","nodeType":"YulExpressionStatement","src":"364204:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"364240:4:19","nodeType":"YulLiteral","src":"364240:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"364246:2:19","nodeType":"YulIdentifier","src":"364246:2:19"}],"functionName":{"name":"mstore","nativeSrc":"364233:6:19","nodeType":"YulIdentifier","src":"364233:6:19"},"nativeSrc":"364233:16:19","nodeType":"YulFunctionCall","src":"364233:16:19"},"nativeSrc":"364233:16:19","nodeType":"YulExpressionStatement","src":"364233:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"364269:4:19","nodeType":"YulLiteral","src":"364269:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"364275:2:19","nodeType":"YulIdentifier","src":"364275:2:19"}],"functionName":{"name":"mstore","nativeSrc":"364262:6:19","nodeType":"YulIdentifier","src":"364262:6:19"},"nativeSrc":"364262:16:19","nodeType":"YulFunctionCall","src":"364262:16:19"},"nativeSrc":"364262:16:19","nodeType":"YulExpressionStatement","src":"364262:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"364298:4:19","nodeType":"YulLiteral","src":"364298:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"364304:2:19","nodeType":"YulIdentifier","src":"364304:2:19"}],"functionName":{"name":"mstore","nativeSrc":"364291:6:19","nodeType":"YulIdentifier","src":"364291:6:19"},"nativeSrc":"364291:16:19","nodeType":"YulFunctionCall","src":"364291:16:19"},"nativeSrc":"364291:16:19","nodeType":"YulExpressionStatement","src":"364291:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37542,"isOffset":false,"isSlot":false,"src":"364130:2:19","valueSize":1},{"declaration":37545,"isOffset":false,"isSlot":false,"src":"364159:2:19","valueSize":1},{"declaration":37548,"isOffset":false,"isSlot":false,"src":"364188:2:19","valueSize":1},{"declaration":37551,"isOffset":false,"isSlot":false,"src":"364217:2:19","valueSize":1},{"declaration":37554,"isOffset":false,"isSlot":false,"src":"364246:2:19","valueSize":1},{"declaration":37557,"isOffset":false,"isSlot":false,"src":"364275:2:19","valueSize":1},{"declaration":37560,"isOffset":false,"isSlot":false,"src":"364304:2:19","valueSize":1}],"id":37568,"nodeType":"InlineAssembly","src":"364094:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"362912:3:19","parameters":{"id":37539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37532,"mutability":"mutable","name":"p0","nameLocation":"362924:2:19","nodeType":"VariableDeclaration","scope":37570,"src":"362916:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37531,"name":"bytes32","nodeType":"ElementaryTypeName","src":"362916:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37534,"mutability":"mutable","name":"p1","nameLocation":"362933:2:19","nodeType":"VariableDeclaration","scope":37570,"src":"362928:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37533,"name":"bool","nodeType":"ElementaryTypeName","src":"362928:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37536,"mutability":"mutable","name":"p2","nameLocation":"362945:2:19","nodeType":"VariableDeclaration","scope":37570,"src":"362937:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37535,"name":"uint256","nodeType":"ElementaryTypeName","src":"362937:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37538,"mutability":"mutable","name":"p3","nameLocation":"362957:2:19","nodeType":"VariableDeclaration","scope":37570,"src":"362949:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37537,"name":"address","nodeType":"ElementaryTypeName","src":"362949:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"362915:45:19"},"returnParameters":{"id":37540,"nodeType":"ParameterList","parameters":[],"src":"362975:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37610,"nodeType":"FunctionDefinition","src":"364329:1414:19","nodes":[],"body":{"id":37609,"nodeType":"Block","src":"364398:1345:19","nodes":[],"statements":[{"assignments":[37582],"declarations":[{"constant":false,"id":37582,"mutability":"mutable","name":"m0","nameLocation":"364416:2:19","nodeType":"VariableDeclaration","scope":37609,"src":"364408:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37581,"name":"bytes32","nodeType":"ElementaryTypeName","src":"364408:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37583,"nodeType":"VariableDeclarationStatement","src":"364408:10:19"},{"assignments":[37585],"declarations":[{"constant":false,"id":37585,"mutability":"mutable","name":"m1","nameLocation":"364436:2:19","nodeType":"VariableDeclaration","scope":37609,"src":"364428:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37584,"name":"bytes32","nodeType":"ElementaryTypeName","src":"364428:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37586,"nodeType":"VariableDeclarationStatement","src":"364428:10:19"},{"assignments":[37588],"declarations":[{"constant":false,"id":37588,"mutability":"mutable","name":"m2","nameLocation":"364456:2:19","nodeType":"VariableDeclaration","scope":37609,"src":"364448:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37587,"name":"bytes32","nodeType":"ElementaryTypeName","src":"364448:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37589,"nodeType":"VariableDeclarationStatement","src":"364448:10:19"},{"assignments":[37591],"declarations":[{"constant":false,"id":37591,"mutability":"mutable","name":"m3","nameLocation":"364476:2:19","nodeType":"VariableDeclaration","scope":37609,"src":"364468:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37590,"name":"bytes32","nodeType":"ElementaryTypeName","src":"364468:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37592,"nodeType":"VariableDeclarationStatement","src":"364468:10:19"},{"assignments":[37594],"declarations":[{"constant":false,"id":37594,"mutability":"mutable","name":"m4","nameLocation":"364496:2:19","nodeType":"VariableDeclaration","scope":37609,"src":"364488:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37593,"name":"bytes32","nodeType":"ElementaryTypeName","src":"364488:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37595,"nodeType":"VariableDeclarationStatement","src":"364488:10:19"},{"assignments":[37597],"declarations":[{"constant":false,"id":37597,"mutability":"mutable","name":"m5","nameLocation":"364516:2:19","nodeType":"VariableDeclaration","scope":37609,"src":"364508:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37596,"name":"bytes32","nodeType":"ElementaryTypeName","src":"364508:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37598,"nodeType":"VariableDeclarationStatement","src":"364508:10:19"},{"assignments":[37600],"declarations":[{"constant":false,"id":37600,"mutability":"mutable","name":"m6","nameLocation":"364536:2:19","nodeType":"VariableDeclaration","scope":37609,"src":"364528:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37599,"name":"bytes32","nodeType":"ElementaryTypeName","src":"364528:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37601,"nodeType":"VariableDeclarationStatement","src":"364528:10:19"},{"AST":{"nativeSrc":"364600:825:19","nodeType":"YulBlock","src":"364600:825:19","statements":[{"body":{"nativeSrc":"364643:313:19","nodeType":"YulBlock","src":"364643:313:19","statements":[{"nativeSrc":"364661:15:19","nodeType":"YulVariableDeclaration","src":"364661:15:19","value":{"kind":"number","nativeSrc":"364675:1:19","nodeType":"YulLiteral","src":"364675:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"364665:6:19","nodeType":"YulTypedName","src":"364665:6:19","type":""}]},{"body":{"nativeSrc":"364746:40:19","nodeType":"YulBlock","src":"364746:40:19","statements":[{"body":{"nativeSrc":"364775:9:19","nodeType":"YulBlock","src":"364775:9:19","statements":[{"nativeSrc":"364777:5:19","nodeType":"YulBreak","src":"364777:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"364763:6:19","nodeType":"YulIdentifier","src":"364763:6:19"},{"name":"w","nativeSrc":"364771:1:19","nodeType":"YulIdentifier","src":"364771:1:19"}],"functionName":{"name":"byte","nativeSrc":"364758:4:19","nodeType":"YulIdentifier","src":"364758:4:19"},"nativeSrc":"364758:15:19","nodeType":"YulFunctionCall","src":"364758:15:19"}],"functionName":{"name":"iszero","nativeSrc":"364751:6:19","nodeType":"YulIdentifier","src":"364751:6:19"},"nativeSrc":"364751:23:19","nodeType":"YulFunctionCall","src":"364751:23:19"},"nativeSrc":"364748:36:19","nodeType":"YulIf","src":"364748:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"364703:6:19","nodeType":"YulIdentifier","src":"364703:6:19"},{"kind":"number","nativeSrc":"364711:4:19","nodeType":"YulLiteral","src":"364711:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"364700:2:19","nodeType":"YulIdentifier","src":"364700:2:19"},"nativeSrc":"364700:16:19","nodeType":"YulFunctionCall","src":"364700:16:19"},"nativeSrc":"364693:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"364717:28:19","nodeType":"YulBlock","src":"364717:28:19","statements":[{"nativeSrc":"364719:24:19","nodeType":"YulAssignment","src":"364719:24:19","value":{"arguments":[{"name":"length","nativeSrc":"364733:6:19","nodeType":"YulIdentifier","src":"364733:6:19"},{"kind":"number","nativeSrc":"364741:1:19","nodeType":"YulLiteral","src":"364741:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"364729:3:19","nodeType":"YulIdentifier","src":"364729:3:19"},"nativeSrc":"364729:14:19","nodeType":"YulFunctionCall","src":"364729:14:19"},"variableNames":[{"name":"length","nativeSrc":"364719:6:19","nodeType":"YulIdentifier","src":"364719:6:19"}]}]},"pre":{"nativeSrc":"364697:2:19","nodeType":"YulBlock","src":"364697:2:19","statements":[]},"src":"364693:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"364810:3:19","nodeType":"YulIdentifier","src":"364810:3:19"},{"name":"length","nativeSrc":"364815:6:19","nodeType":"YulIdentifier","src":"364815:6:19"}],"functionName":{"name":"mstore","nativeSrc":"364803:6:19","nodeType":"YulIdentifier","src":"364803:6:19"},"nativeSrc":"364803:19:19","nodeType":"YulFunctionCall","src":"364803:19:19"},"nativeSrc":"364803:19:19","nodeType":"YulExpressionStatement","src":"364803:19:19"},{"nativeSrc":"364839:37:19","nodeType":"YulVariableDeclaration","src":"364839:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"364856:3:19","nodeType":"YulLiteral","src":"364856:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"364865:1:19","nodeType":"YulLiteral","src":"364865:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"364868:6:19","nodeType":"YulIdentifier","src":"364868:6:19"}],"functionName":{"name":"shl","nativeSrc":"364861:3:19","nodeType":"YulIdentifier","src":"364861:3:19"},"nativeSrc":"364861:14:19","nodeType":"YulFunctionCall","src":"364861:14:19"}],"functionName":{"name":"sub","nativeSrc":"364852:3:19","nodeType":"YulIdentifier","src":"364852:3:19"},"nativeSrc":"364852:24:19","nodeType":"YulFunctionCall","src":"364852:24:19"},"variables":[{"name":"shift","nativeSrc":"364843:5:19","nodeType":"YulTypedName","src":"364843:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"364904:3:19","nodeType":"YulIdentifier","src":"364904:3:19"},{"kind":"number","nativeSrc":"364909:4:19","nodeType":"YulLiteral","src":"364909:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"364900:3:19","nodeType":"YulIdentifier","src":"364900:3:19"},"nativeSrc":"364900:14:19","nodeType":"YulFunctionCall","src":"364900:14:19"},{"arguments":[{"name":"shift","nativeSrc":"364920:5:19","nodeType":"YulIdentifier","src":"364920:5:19"},{"arguments":[{"name":"shift","nativeSrc":"364931:5:19","nodeType":"YulIdentifier","src":"364931:5:19"},{"name":"w","nativeSrc":"364938:1:19","nodeType":"YulIdentifier","src":"364938:1:19"}],"functionName":{"name":"shr","nativeSrc":"364927:3:19","nodeType":"YulIdentifier","src":"364927:3:19"},"nativeSrc":"364927:13:19","nodeType":"YulFunctionCall","src":"364927:13:19"}],"functionName":{"name":"shl","nativeSrc":"364916:3:19","nodeType":"YulIdentifier","src":"364916:3:19"},"nativeSrc":"364916:25:19","nodeType":"YulFunctionCall","src":"364916:25:19"}],"functionName":{"name":"mstore","nativeSrc":"364893:6:19","nodeType":"YulIdentifier","src":"364893:6:19"},"nativeSrc":"364893:49:19","nodeType":"YulFunctionCall","src":"364893:49:19"},"nativeSrc":"364893:49:19","nodeType":"YulExpressionStatement","src":"364893:49:19"}]},"name":"writeString","nativeSrc":"364614:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"364635:3:19","nodeType":"YulTypedName","src":"364635:3:19","type":""},{"name":"w","nativeSrc":"364640:1:19","nodeType":"YulTypedName","src":"364640:1:19","type":""}],"src":"364614:342:19"},{"nativeSrc":"364969:17:19","nodeType":"YulAssignment","src":"364969:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"364981:4:19","nodeType":"YulLiteral","src":"364981:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"364975:5:19","nodeType":"YulIdentifier","src":"364975:5:19"},"nativeSrc":"364975:11:19","nodeType":"YulFunctionCall","src":"364975:11:19"},"variableNames":[{"name":"m0","nativeSrc":"364969:2:19","nodeType":"YulIdentifier","src":"364969:2:19"}]},{"nativeSrc":"364999:17:19","nodeType":"YulAssignment","src":"364999:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"365011:4:19","nodeType":"YulLiteral","src":"365011:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"365005:5:19","nodeType":"YulIdentifier","src":"365005:5:19"},"nativeSrc":"365005:11:19","nodeType":"YulFunctionCall","src":"365005:11:19"},"variableNames":[{"name":"m1","nativeSrc":"364999:2:19","nodeType":"YulIdentifier","src":"364999:2:19"}]},{"nativeSrc":"365029:17:19","nodeType":"YulAssignment","src":"365029:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"365041:4:19","nodeType":"YulLiteral","src":"365041:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"365035:5:19","nodeType":"YulIdentifier","src":"365035:5:19"},"nativeSrc":"365035:11:19","nodeType":"YulFunctionCall","src":"365035:11:19"},"variableNames":[{"name":"m2","nativeSrc":"365029:2:19","nodeType":"YulIdentifier","src":"365029:2:19"}]},{"nativeSrc":"365059:17:19","nodeType":"YulAssignment","src":"365059:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"365071:4:19","nodeType":"YulLiteral","src":"365071:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"365065:5:19","nodeType":"YulIdentifier","src":"365065:5:19"},"nativeSrc":"365065:11:19","nodeType":"YulFunctionCall","src":"365065:11:19"},"variableNames":[{"name":"m3","nativeSrc":"365059:2:19","nodeType":"YulIdentifier","src":"365059:2:19"}]},{"nativeSrc":"365089:17:19","nodeType":"YulAssignment","src":"365089:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"365101:4:19","nodeType":"YulLiteral","src":"365101:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"365095:5:19","nodeType":"YulIdentifier","src":"365095:5:19"},"nativeSrc":"365095:11:19","nodeType":"YulFunctionCall","src":"365095:11:19"},"variableNames":[{"name":"m4","nativeSrc":"365089:2:19","nodeType":"YulIdentifier","src":"365089:2:19"}]},{"nativeSrc":"365119:17:19","nodeType":"YulAssignment","src":"365119:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"365131:4:19","nodeType":"YulLiteral","src":"365131:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"365125:5:19","nodeType":"YulIdentifier","src":"365125:5:19"},"nativeSrc":"365125:11:19","nodeType":"YulFunctionCall","src":"365125:11:19"},"variableNames":[{"name":"m5","nativeSrc":"365119:2:19","nodeType":"YulIdentifier","src":"365119:2:19"}]},{"nativeSrc":"365149:17:19","nodeType":"YulAssignment","src":"365149:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"365161:4:19","nodeType":"YulLiteral","src":"365161:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"365155:5:19","nodeType":"YulIdentifier","src":"365155:5:19"},"nativeSrc":"365155:11:19","nodeType":"YulFunctionCall","src":"365155:11:19"},"variableNames":[{"name":"m6","nativeSrc":"365149:2:19","nodeType":"YulIdentifier","src":"365149:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365246:4:19","nodeType":"YulLiteral","src":"365246:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"365252:10:19","nodeType":"YulLiteral","src":"365252:10:19","type":"","value":"0x8af7cf8a"}],"functionName":{"name":"mstore","nativeSrc":"365239:6:19","nodeType":"YulIdentifier","src":"365239:6:19"},"nativeSrc":"365239:24:19","nodeType":"YulFunctionCall","src":"365239:24:19"},"nativeSrc":"365239:24:19","nodeType":"YulExpressionStatement","src":"365239:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365283:4:19","nodeType":"YulLiteral","src":"365283:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"365289:4:19","nodeType":"YulLiteral","src":"365289:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"365276:6:19","nodeType":"YulIdentifier","src":"365276:6:19"},"nativeSrc":"365276:18:19","nodeType":"YulFunctionCall","src":"365276:18:19"},"nativeSrc":"365276:18:19","nodeType":"YulExpressionStatement","src":"365276:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365314:4:19","nodeType":"YulLiteral","src":"365314:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"365320:2:19","nodeType":"YulIdentifier","src":"365320:2:19"}],"functionName":{"name":"mstore","nativeSrc":"365307:6:19","nodeType":"YulIdentifier","src":"365307:6:19"},"nativeSrc":"365307:16:19","nodeType":"YulFunctionCall","src":"365307:16:19"},"nativeSrc":"365307:16:19","nodeType":"YulExpressionStatement","src":"365307:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365343:4:19","nodeType":"YulLiteral","src":"365343:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"365349:2:19","nodeType":"YulIdentifier","src":"365349:2:19"}],"functionName":{"name":"mstore","nativeSrc":"365336:6:19","nodeType":"YulIdentifier","src":"365336:6:19"},"nativeSrc":"365336:16:19","nodeType":"YulFunctionCall","src":"365336:16:19"},"nativeSrc":"365336:16:19","nodeType":"YulExpressionStatement","src":"365336:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365372:4:19","nodeType":"YulLiteral","src":"365372:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"365378:2:19","nodeType":"YulIdentifier","src":"365378:2:19"}],"functionName":{"name":"mstore","nativeSrc":"365365:6:19","nodeType":"YulIdentifier","src":"365365:6:19"},"nativeSrc":"365365:16:19","nodeType":"YulFunctionCall","src":"365365:16:19"},"nativeSrc":"365365:16:19","nodeType":"YulExpressionStatement","src":"365365:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365406:4:19","nodeType":"YulLiteral","src":"365406:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"365412:2:19","nodeType":"YulIdentifier","src":"365412:2:19"}],"functionName":{"name":"writeString","nativeSrc":"365394:11:19","nodeType":"YulIdentifier","src":"365394:11:19"},"nativeSrc":"365394:21:19","nodeType":"YulFunctionCall","src":"365394:21:19"},"nativeSrc":"365394:21:19","nodeType":"YulExpressionStatement","src":"365394:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37582,"isOffset":false,"isSlot":false,"src":"364969:2:19","valueSize":1},{"declaration":37585,"isOffset":false,"isSlot":false,"src":"364999:2:19","valueSize":1},{"declaration":37588,"isOffset":false,"isSlot":false,"src":"365029:2:19","valueSize":1},{"declaration":37591,"isOffset":false,"isSlot":false,"src":"365059:2:19","valueSize":1},{"declaration":37594,"isOffset":false,"isSlot":false,"src":"365089:2:19","valueSize":1},{"declaration":37597,"isOffset":false,"isSlot":false,"src":"365119:2:19","valueSize":1},{"declaration":37600,"isOffset":false,"isSlot":false,"src":"365149:2:19","valueSize":1},{"declaration":37572,"isOffset":false,"isSlot":false,"src":"365412:2:19","valueSize":1},{"declaration":37574,"isOffset":false,"isSlot":false,"src":"365320:2:19","valueSize":1},{"declaration":37576,"isOffset":false,"isSlot":false,"src":"365349:2:19","valueSize":1},{"declaration":37578,"isOffset":false,"isSlot":false,"src":"365378:2:19","valueSize":1}],"id":37602,"nodeType":"InlineAssembly","src":"364591:834:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":37604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"365450:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"365456:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":37603,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"365434:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"365434:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37607,"nodeType":"ExpressionStatement","src":"365434:27:19"},{"AST":{"nativeSrc":"365523:214:19","nodeType":"YulBlock","src":"365523:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"365544:4:19","nodeType":"YulLiteral","src":"365544:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"365550:2:19","nodeType":"YulIdentifier","src":"365550:2:19"}],"functionName":{"name":"mstore","nativeSrc":"365537:6:19","nodeType":"YulIdentifier","src":"365537:6:19"},"nativeSrc":"365537:16:19","nodeType":"YulFunctionCall","src":"365537:16:19"},"nativeSrc":"365537:16:19","nodeType":"YulExpressionStatement","src":"365537:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365573:4:19","nodeType":"YulLiteral","src":"365573:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"365579:2:19","nodeType":"YulIdentifier","src":"365579:2:19"}],"functionName":{"name":"mstore","nativeSrc":"365566:6:19","nodeType":"YulIdentifier","src":"365566:6:19"},"nativeSrc":"365566:16:19","nodeType":"YulFunctionCall","src":"365566:16:19"},"nativeSrc":"365566:16:19","nodeType":"YulExpressionStatement","src":"365566:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365602:4:19","nodeType":"YulLiteral","src":"365602:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"365608:2:19","nodeType":"YulIdentifier","src":"365608:2:19"}],"functionName":{"name":"mstore","nativeSrc":"365595:6:19","nodeType":"YulIdentifier","src":"365595:6:19"},"nativeSrc":"365595:16:19","nodeType":"YulFunctionCall","src":"365595:16:19"},"nativeSrc":"365595:16:19","nodeType":"YulExpressionStatement","src":"365595:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365631:4:19","nodeType":"YulLiteral","src":"365631:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"365637:2:19","nodeType":"YulIdentifier","src":"365637:2:19"}],"functionName":{"name":"mstore","nativeSrc":"365624:6:19","nodeType":"YulIdentifier","src":"365624:6:19"},"nativeSrc":"365624:16:19","nodeType":"YulFunctionCall","src":"365624:16:19"},"nativeSrc":"365624:16:19","nodeType":"YulExpressionStatement","src":"365624:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365660:4:19","nodeType":"YulLiteral","src":"365660:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"365666:2:19","nodeType":"YulIdentifier","src":"365666:2:19"}],"functionName":{"name":"mstore","nativeSrc":"365653:6:19","nodeType":"YulIdentifier","src":"365653:6:19"},"nativeSrc":"365653:16:19","nodeType":"YulFunctionCall","src":"365653:16:19"},"nativeSrc":"365653:16:19","nodeType":"YulExpressionStatement","src":"365653:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365689:4:19","nodeType":"YulLiteral","src":"365689:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"365695:2:19","nodeType":"YulIdentifier","src":"365695:2:19"}],"functionName":{"name":"mstore","nativeSrc":"365682:6:19","nodeType":"YulIdentifier","src":"365682:6:19"},"nativeSrc":"365682:16:19","nodeType":"YulFunctionCall","src":"365682:16:19"},"nativeSrc":"365682:16:19","nodeType":"YulExpressionStatement","src":"365682:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"365718:4:19","nodeType":"YulLiteral","src":"365718:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"365724:2:19","nodeType":"YulIdentifier","src":"365724:2:19"}],"functionName":{"name":"mstore","nativeSrc":"365711:6:19","nodeType":"YulIdentifier","src":"365711:6:19"},"nativeSrc":"365711:16:19","nodeType":"YulFunctionCall","src":"365711:16:19"},"nativeSrc":"365711:16:19","nodeType":"YulExpressionStatement","src":"365711:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37582,"isOffset":false,"isSlot":false,"src":"365550:2:19","valueSize":1},{"declaration":37585,"isOffset":false,"isSlot":false,"src":"365579:2:19","valueSize":1},{"declaration":37588,"isOffset":false,"isSlot":false,"src":"365608:2:19","valueSize":1},{"declaration":37591,"isOffset":false,"isSlot":false,"src":"365637:2:19","valueSize":1},{"declaration":37594,"isOffset":false,"isSlot":false,"src":"365666:2:19","valueSize":1},{"declaration":37597,"isOffset":false,"isSlot":false,"src":"365695:2:19","valueSize":1},{"declaration":37600,"isOffset":false,"isSlot":false,"src":"365724:2:19","valueSize":1}],"id":37608,"nodeType":"InlineAssembly","src":"365514:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"364338:3:19","parameters":{"id":37579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37572,"mutability":"mutable","name":"p0","nameLocation":"364350:2:19","nodeType":"VariableDeclaration","scope":37610,"src":"364342:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37571,"name":"bytes32","nodeType":"ElementaryTypeName","src":"364342:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37574,"mutability":"mutable","name":"p1","nameLocation":"364359:2:19","nodeType":"VariableDeclaration","scope":37610,"src":"364354:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37573,"name":"bool","nodeType":"ElementaryTypeName","src":"364354:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37576,"mutability":"mutable","name":"p2","nameLocation":"364371:2:19","nodeType":"VariableDeclaration","scope":37610,"src":"364363:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37575,"name":"uint256","nodeType":"ElementaryTypeName","src":"364363:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37578,"mutability":"mutable","name":"p3","nameLocation":"364380:2:19","nodeType":"VariableDeclaration","scope":37610,"src":"364375:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37577,"name":"bool","nodeType":"ElementaryTypeName","src":"364375:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"364341:42:19"},"returnParameters":{"id":37580,"nodeType":"ParameterList","parameters":[],"src":"364398:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37650,"nodeType":"FunctionDefinition","src":"365749:1420:19","nodes":[],"body":{"id":37649,"nodeType":"Block","src":"365821:1348:19","nodes":[],"statements":[{"assignments":[37622],"declarations":[{"constant":false,"id":37622,"mutability":"mutable","name":"m0","nameLocation":"365839:2:19","nodeType":"VariableDeclaration","scope":37649,"src":"365831:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37621,"name":"bytes32","nodeType":"ElementaryTypeName","src":"365831:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37623,"nodeType":"VariableDeclarationStatement","src":"365831:10:19"},{"assignments":[37625],"declarations":[{"constant":false,"id":37625,"mutability":"mutable","name":"m1","nameLocation":"365859:2:19","nodeType":"VariableDeclaration","scope":37649,"src":"365851:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37624,"name":"bytes32","nodeType":"ElementaryTypeName","src":"365851:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37626,"nodeType":"VariableDeclarationStatement","src":"365851:10:19"},{"assignments":[37628],"declarations":[{"constant":false,"id":37628,"mutability":"mutable","name":"m2","nameLocation":"365879:2:19","nodeType":"VariableDeclaration","scope":37649,"src":"365871:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"365871:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37629,"nodeType":"VariableDeclarationStatement","src":"365871:10:19"},{"assignments":[37631],"declarations":[{"constant":false,"id":37631,"mutability":"mutable","name":"m3","nameLocation":"365899:2:19","nodeType":"VariableDeclaration","scope":37649,"src":"365891:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37630,"name":"bytes32","nodeType":"ElementaryTypeName","src":"365891:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37632,"nodeType":"VariableDeclarationStatement","src":"365891:10:19"},{"assignments":[37634],"declarations":[{"constant":false,"id":37634,"mutability":"mutable","name":"m4","nameLocation":"365919:2:19","nodeType":"VariableDeclaration","scope":37649,"src":"365911:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37633,"name":"bytes32","nodeType":"ElementaryTypeName","src":"365911:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37635,"nodeType":"VariableDeclarationStatement","src":"365911:10:19"},{"assignments":[37637],"declarations":[{"constant":false,"id":37637,"mutability":"mutable","name":"m5","nameLocation":"365939:2:19","nodeType":"VariableDeclaration","scope":37649,"src":"365931:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37636,"name":"bytes32","nodeType":"ElementaryTypeName","src":"365931:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37638,"nodeType":"VariableDeclarationStatement","src":"365931:10:19"},{"assignments":[37640],"declarations":[{"constant":false,"id":37640,"mutability":"mutable","name":"m6","nameLocation":"365959:2:19","nodeType":"VariableDeclaration","scope":37649,"src":"365951:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37639,"name":"bytes32","nodeType":"ElementaryTypeName","src":"365951:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37641,"nodeType":"VariableDeclarationStatement","src":"365951:10:19"},{"AST":{"nativeSrc":"366023:828:19","nodeType":"YulBlock","src":"366023:828:19","statements":[{"body":{"nativeSrc":"366066:313:19","nodeType":"YulBlock","src":"366066:313:19","statements":[{"nativeSrc":"366084:15:19","nodeType":"YulVariableDeclaration","src":"366084:15:19","value":{"kind":"number","nativeSrc":"366098:1:19","nodeType":"YulLiteral","src":"366098:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"366088:6:19","nodeType":"YulTypedName","src":"366088:6:19","type":""}]},{"body":{"nativeSrc":"366169:40:19","nodeType":"YulBlock","src":"366169:40:19","statements":[{"body":{"nativeSrc":"366198:9:19","nodeType":"YulBlock","src":"366198:9:19","statements":[{"nativeSrc":"366200:5:19","nodeType":"YulBreak","src":"366200:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"366186:6:19","nodeType":"YulIdentifier","src":"366186:6:19"},{"name":"w","nativeSrc":"366194:1:19","nodeType":"YulIdentifier","src":"366194:1:19"}],"functionName":{"name":"byte","nativeSrc":"366181:4:19","nodeType":"YulIdentifier","src":"366181:4:19"},"nativeSrc":"366181:15:19","nodeType":"YulFunctionCall","src":"366181:15:19"}],"functionName":{"name":"iszero","nativeSrc":"366174:6:19","nodeType":"YulIdentifier","src":"366174:6:19"},"nativeSrc":"366174:23:19","nodeType":"YulFunctionCall","src":"366174:23:19"},"nativeSrc":"366171:36:19","nodeType":"YulIf","src":"366171:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"366126:6:19","nodeType":"YulIdentifier","src":"366126:6:19"},{"kind":"number","nativeSrc":"366134:4:19","nodeType":"YulLiteral","src":"366134:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"366123:2:19","nodeType":"YulIdentifier","src":"366123:2:19"},"nativeSrc":"366123:16:19","nodeType":"YulFunctionCall","src":"366123:16:19"},"nativeSrc":"366116:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"366140:28:19","nodeType":"YulBlock","src":"366140:28:19","statements":[{"nativeSrc":"366142:24:19","nodeType":"YulAssignment","src":"366142:24:19","value":{"arguments":[{"name":"length","nativeSrc":"366156:6:19","nodeType":"YulIdentifier","src":"366156:6:19"},{"kind":"number","nativeSrc":"366164:1:19","nodeType":"YulLiteral","src":"366164:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"366152:3:19","nodeType":"YulIdentifier","src":"366152:3:19"},"nativeSrc":"366152:14:19","nodeType":"YulFunctionCall","src":"366152:14:19"},"variableNames":[{"name":"length","nativeSrc":"366142:6:19","nodeType":"YulIdentifier","src":"366142:6:19"}]}]},"pre":{"nativeSrc":"366120:2:19","nodeType":"YulBlock","src":"366120:2:19","statements":[]},"src":"366116:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"366233:3:19","nodeType":"YulIdentifier","src":"366233:3:19"},{"name":"length","nativeSrc":"366238:6:19","nodeType":"YulIdentifier","src":"366238:6:19"}],"functionName":{"name":"mstore","nativeSrc":"366226:6:19","nodeType":"YulIdentifier","src":"366226:6:19"},"nativeSrc":"366226:19:19","nodeType":"YulFunctionCall","src":"366226:19:19"},"nativeSrc":"366226:19:19","nodeType":"YulExpressionStatement","src":"366226:19:19"},{"nativeSrc":"366262:37:19","nodeType":"YulVariableDeclaration","src":"366262:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"366279:3:19","nodeType":"YulLiteral","src":"366279:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"366288:1:19","nodeType":"YulLiteral","src":"366288:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"366291:6:19","nodeType":"YulIdentifier","src":"366291:6:19"}],"functionName":{"name":"shl","nativeSrc":"366284:3:19","nodeType":"YulIdentifier","src":"366284:3:19"},"nativeSrc":"366284:14:19","nodeType":"YulFunctionCall","src":"366284:14:19"}],"functionName":{"name":"sub","nativeSrc":"366275:3:19","nodeType":"YulIdentifier","src":"366275:3:19"},"nativeSrc":"366275:24:19","nodeType":"YulFunctionCall","src":"366275:24:19"},"variables":[{"name":"shift","nativeSrc":"366266:5:19","nodeType":"YulTypedName","src":"366266:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"366327:3:19","nodeType":"YulIdentifier","src":"366327:3:19"},{"kind":"number","nativeSrc":"366332:4:19","nodeType":"YulLiteral","src":"366332:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"366323:3:19","nodeType":"YulIdentifier","src":"366323:3:19"},"nativeSrc":"366323:14:19","nodeType":"YulFunctionCall","src":"366323:14:19"},{"arguments":[{"name":"shift","nativeSrc":"366343:5:19","nodeType":"YulIdentifier","src":"366343:5:19"},{"arguments":[{"name":"shift","nativeSrc":"366354:5:19","nodeType":"YulIdentifier","src":"366354:5:19"},{"name":"w","nativeSrc":"366361:1:19","nodeType":"YulIdentifier","src":"366361:1:19"}],"functionName":{"name":"shr","nativeSrc":"366350:3:19","nodeType":"YulIdentifier","src":"366350:3:19"},"nativeSrc":"366350:13:19","nodeType":"YulFunctionCall","src":"366350:13:19"}],"functionName":{"name":"shl","nativeSrc":"366339:3:19","nodeType":"YulIdentifier","src":"366339:3:19"},"nativeSrc":"366339:25:19","nodeType":"YulFunctionCall","src":"366339:25:19"}],"functionName":{"name":"mstore","nativeSrc":"366316:6:19","nodeType":"YulIdentifier","src":"366316:6:19"},"nativeSrc":"366316:49:19","nodeType":"YulFunctionCall","src":"366316:49:19"},"nativeSrc":"366316:49:19","nodeType":"YulExpressionStatement","src":"366316:49:19"}]},"name":"writeString","nativeSrc":"366037:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"366058:3:19","nodeType":"YulTypedName","src":"366058:3:19","type":""},{"name":"w","nativeSrc":"366063:1:19","nodeType":"YulTypedName","src":"366063:1:19","type":""}],"src":"366037:342:19"},{"nativeSrc":"366392:17:19","nodeType":"YulAssignment","src":"366392:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"366404:4:19","nodeType":"YulLiteral","src":"366404:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"366398:5:19","nodeType":"YulIdentifier","src":"366398:5:19"},"nativeSrc":"366398:11:19","nodeType":"YulFunctionCall","src":"366398:11:19"},"variableNames":[{"name":"m0","nativeSrc":"366392:2:19","nodeType":"YulIdentifier","src":"366392:2:19"}]},{"nativeSrc":"366422:17:19","nodeType":"YulAssignment","src":"366422:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"366434:4:19","nodeType":"YulLiteral","src":"366434:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"366428:5:19","nodeType":"YulIdentifier","src":"366428:5:19"},"nativeSrc":"366428:11:19","nodeType":"YulFunctionCall","src":"366428:11:19"},"variableNames":[{"name":"m1","nativeSrc":"366422:2:19","nodeType":"YulIdentifier","src":"366422:2:19"}]},{"nativeSrc":"366452:17:19","nodeType":"YulAssignment","src":"366452:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"366464:4:19","nodeType":"YulLiteral","src":"366464:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"366458:5:19","nodeType":"YulIdentifier","src":"366458:5:19"},"nativeSrc":"366458:11:19","nodeType":"YulFunctionCall","src":"366458:11:19"},"variableNames":[{"name":"m2","nativeSrc":"366452:2:19","nodeType":"YulIdentifier","src":"366452:2:19"}]},{"nativeSrc":"366482:17:19","nodeType":"YulAssignment","src":"366482:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"366494:4:19","nodeType":"YulLiteral","src":"366494:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"366488:5:19","nodeType":"YulIdentifier","src":"366488:5:19"},"nativeSrc":"366488:11:19","nodeType":"YulFunctionCall","src":"366488:11:19"},"variableNames":[{"name":"m3","nativeSrc":"366482:2:19","nodeType":"YulIdentifier","src":"366482:2:19"}]},{"nativeSrc":"366512:17:19","nodeType":"YulAssignment","src":"366512:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"366524:4:19","nodeType":"YulLiteral","src":"366524:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"366518:5:19","nodeType":"YulIdentifier","src":"366518:5:19"},"nativeSrc":"366518:11:19","nodeType":"YulFunctionCall","src":"366518:11:19"},"variableNames":[{"name":"m4","nativeSrc":"366512:2:19","nodeType":"YulIdentifier","src":"366512:2:19"}]},{"nativeSrc":"366542:17:19","nodeType":"YulAssignment","src":"366542:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"366554:4:19","nodeType":"YulLiteral","src":"366554:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"366548:5:19","nodeType":"YulIdentifier","src":"366548:5:19"},"nativeSrc":"366548:11:19","nodeType":"YulFunctionCall","src":"366548:11:19"},"variableNames":[{"name":"m5","nativeSrc":"366542:2:19","nodeType":"YulIdentifier","src":"366542:2:19"}]},{"nativeSrc":"366572:17:19","nodeType":"YulAssignment","src":"366572:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"366584:4:19","nodeType":"YulLiteral","src":"366584:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"366578:5:19","nodeType":"YulIdentifier","src":"366578:5:19"},"nativeSrc":"366578:11:19","nodeType":"YulFunctionCall","src":"366578:11:19"},"variableNames":[{"name":"m6","nativeSrc":"366572:2:19","nodeType":"YulIdentifier","src":"366572:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"366672:4:19","nodeType":"YulLiteral","src":"366672:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"366678:10:19","nodeType":"YulLiteral","src":"366678:10:19","type":"","value":"0x64b5bb67"}],"functionName":{"name":"mstore","nativeSrc":"366665:6:19","nodeType":"YulIdentifier","src":"366665:6:19"},"nativeSrc":"366665:24:19","nodeType":"YulFunctionCall","src":"366665:24:19"},"nativeSrc":"366665:24:19","nodeType":"YulExpressionStatement","src":"366665:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"366709:4:19","nodeType":"YulLiteral","src":"366709:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"366715:4:19","nodeType":"YulLiteral","src":"366715:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"366702:6:19","nodeType":"YulIdentifier","src":"366702:6:19"},"nativeSrc":"366702:18:19","nodeType":"YulFunctionCall","src":"366702:18:19"},"nativeSrc":"366702:18:19","nodeType":"YulExpressionStatement","src":"366702:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"366740:4:19","nodeType":"YulLiteral","src":"366740:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"366746:2:19","nodeType":"YulIdentifier","src":"366746:2:19"}],"functionName":{"name":"mstore","nativeSrc":"366733:6:19","nodeType":"YulIdentifier","src":"366733:6:19"},"nativeSrc":"366733:16:19","nodeType":"YulFunctionCall","src":"366733:16:19"},"nativeSrc":"366733:16:19","nodeType":"YulExpressionStatement","src":"366733:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"366769:4:19","nodeType":"YulLiteral","src":"366769:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"366775:2:19","nodeType":"YulIdentifier","src":"366775:2:19"}],"functionName":{"name":"mstore","nativeSrc":"366762:6:19","nodeType":"YulIdentifier","src":"366762:6:19"},"nativeSrc":"366762:16:19","nodeType":"YulFunctionCall","src":"366762:16:19"},"nativeSrc":"366762:16:19","nodeType":"YulExpressionStatement","src":"366762:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"366798:4:19","nodeType":"YulLiteral","src":"366798:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"366804:2:19","nodeType":"YulIdentifier","src":"366804:2:19"}],"functionName":{"name":"mstore","nativeSrc":"366791:6:19","nodeType":"YulIdentifier","src":"366791:6:19"},"nativeSrc":"366791:16:19","nodeType":"YulFunctionCall","src":"366791:16:19"},"nativeSrc":"366791:16:19","nodeType":"YulExpressionStatement","src":"366791:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"366832:4:19","nodeType":"YulLiteral","src":"366832:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"366838:2:19","nodeType":"YulIdentifier","src":"366838:2:19"}],"functionName":{"name":"writeString","nativeSrc":"366820:11:19","nodeType":"YulIdentifier","src":"366820:11:19"},"nativeSrc":"366820:21:19","nodeType":"YulFunctionCall","src":"366820:21:19"},"nativeSrc":"366820:21:19","nodeType":"YulExpressionStatement","src":"366820:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37622,"isOffset":false,"isSlot":false,"src":"366392:2:19","valueSize":1},{"declaration":37625,"isOffset":false,"isSlot":false,"src":"366422:2:19","valueSize":1},{"declaration":37628,"isOffset":false,"isSlot":false,"src":"366452:2:19","valueSize":1},{"declaration":37631,"isOffset":false,"isSlot":false,"src":"366482:2:19","valueSize":1},{"declaration":37634,"isOffset":false,"isSlot":false,"src":"366512:2:19","valueSize":1},{"declaration":37637,"isOffset":false,"isSlot":false,"src":"366542:2:19","valueSize":1},{"declaration":37640,"isOffset":false,"isSlot":false,"src":"366572:2:19","valueSize":1},{"declaration":37612,"isOffset":false,"isSlot":false,"src":"366838:2:19","valueSize":1},{"declaration":37614,"isOffset":false,"isSlot":false,"src":"366746:2:19","valueSize":1},{"declaration":37616,"isOffset":false,"isSlot":false,"src":"366775:2:19","valueSize":1},{"declaration":37618,"isOffset":false,"isSlot":false,"src":"366804:2:19","valueSize":1}],"id":37642,"nodeType":"InlineAssembly","src":"366014:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":37644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"366876:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"366882:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":37643,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"366860:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"366860:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37647,"nodeType":"ExpressionStatement","src":"366860:27:19"},{"AST":{"nativeSrc":"366949:214:19","nodeType":"YulBlock","src":"366949:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"366970:4:19","nodeType":"YulLiteral","src":"366970:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"366976:2:19","nodeType":"YulIdentifier","src":"366976:2:19"}],"functionName":{"name":"mstore","nativeSrc":"366963:6:19","nodeType":"YulIdentifier","src":"366963:6:19"},"nativeSrc":"366963:16:19","nodeType":"YulFunctionCall","src":"366963:16:19"},"nativeSrc":"366963:16:19","nodeType":"YulExpressionStatement","src":"366963:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"366999:4:19","nodeType":"YulLiteral","src":"366999:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"367005:2:19","nodeType":"YulIdentifier","src":"367005:2:19"}],"functionName":{"name":"mstore","nativeSrc":"366992:6:19","nodeType":"YulIdentifier","src":"366992:6:19"},"nativeSrc":"366992:16:19","nodeType":"YulFunctionCall","src":"366992:16:19"},"nativeSrc":"366992:16:19","nodeType":"YulExpressionStatement","src":"366992:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"367028:4:19","nodeType":"YulLiteral","src":"367028:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"367034:2:19","nodeType":"YulIdentifier","src":"367034:2:19"}],"functionName":{"name":"mstore","nativeSrc":"367021:6:19","nodeType":"YulIdentifier","src":"367021:6:19"},"nativeSrc":"367021:16:19","nodeType":"YulFunctionCall","src":"367021:16:19"},"nativeSrc":"367021:16:19","nodeType":"YulExpressionStatement","src":"367021:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"367057:4:19","nodeType":"YulLiteral","src":"367057:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"367063:2:19","nodeType":"YulIdentifier","src":"367063:2:19"}],"functionName":{"name":"mstore","nativeSrc":"367050:6:19","nodeType":"YulIdentifier","src":"367050:6:19"},"nativeSrc":"367050:16:19","nodeType":"YulFunctionCall","src":"367050:16:19"},"nativeSrc":"367050:16:19","nodeType":"YulExpressionStatement","src":"367050:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"367086:4:19","nodeType":"YulLiteral","src":"367086:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"367092:2:19","nodeType":"YulIdentifier","src":"367092:2:19"}],"functionName":{"name":"mstore","nativeSrc":"367079:6:19","nodeType":"YulIdentifier","src":"367079:6:19"},"nativeSrc":"367079:16:19","nodeType":"YulFunctionCall","src":"367079:16:19"},"nativeSrc":"367079:16:19","nodeType":"YulExpressionStatement","src":"367079:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"367115:4:19","nodeType":"YulLiteral","src":"367115:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"367121:2:19","nodeType":"YulIdentifier","src":"367121:2:19"}],"functionName":{"name":"mstore","nativeSrc":"367108:6:19","nodeType":"YulIdentifier","src":"367108:6:19"},"nativeSrc":"367108:16:19","nodeType":"YulFunctionCall","src":"367108:16:19"},"nativeSrc":"367108:16:19","nodeType":"YulExpressionStatement","src":"367108:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"367144:4:19","nodeType":"YulLiteral","src":"367144:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"367150:2:19","nodeType":"YulIdentifier","src":"367150:2:19"}],"functionName":{"name":"mstore","nativeSrc":"367137:6:19","nodeType":"YulIdentifier","src":"367137:6:19"},"nativeSrc":"367137:16:19","nodeType":"YulFunctionCall","src":"367137:16:19"},"nativeSrc":"367137:16:19","nodeType":"YulExpressionStatement","src":"367137:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37622,"isOffset":false,"isSlot":false,"src":"366976:2:19","valueSize":1},{"declaration":37625,"isOffset":false,"isSlot":false,"src":"367005:2:19","valueSize":1},{"declaration":37628,"isOffset":false,"isSlot":false,"src":"367034:2:19","valueSize":1},{"declaration":37631,"isOffset":false,"isSlot":false,"src":"367063:2:19","valueSize":1},{"declaration":37634,"isOffset":false,"isSlot":false,"src":"367092:2:19","valueSize":1},{"declaration":37637,"isOffset":false,"isSlot":false,"src":"367121:2:19","valueSize":1},{"declaration":37640,"isOffset":false,"isSlot":false,"src":"367150:2:19","valueSize":1}],"id":37648,"nodeType":"InlineAssembly","src":"366940:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"365758:3:19","parameters":{"id":37619,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37612,"mutability":"mutable","name":"p0","nameLocation":"365770:2:19","nodeType":"VariableDeclaration","scope":37650,"src":"365762:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37611,"name":"bytes32","nodeType":"ElementaryTypeName","src":"365762:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37614,"mutability":"mutable","name":"p1","nameLocation":"365779:2:19","nodeType":"VariableDeclaration","scope":37650,"src":"365774:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37613,"name":"bool","nodeType":"ElementaryTypeName","src":"365774:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37616,"mutability":"mutable","name":"p2","nameLocation":"365791:2:19","nodeType":"VariableDeclaration","scope":37650,"src":"365783:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37615,"name":"uint256","nodeType":"ElementaryTypeName","src":"365783:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37618,"mutability":"mutable","name":"p3","nameLocation":"365803:2:19","nodeType":"VariableDeclaration","scope":37650,"src":"365795:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37617,"name":"uint256","nodeType":"ElementaryTypeName","src":"365795:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"365761:45:19"},"returnParameters":{"id":37620,"nodeType":"ParameterList","parameters":[],"src":"365821:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37696,"nodeType":"FunctionDefinition","src":"367175:1616:19","nodes":[],"body":{"id":37695,"nodeType":"Block","src":"367247:1544:19","nodes":[],"statements":[{"assignments":[37662],"declarations":[{"constant":false,"id":37662,"mutability":"mutable","name":"m0","nameLocation":"367265:2:19","nodeType":"VariableDeclaration","scope":37695,"src":"367257:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37661,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367257:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37663,"nodeType":"VariableDeclarationStatement","src":"367257:10:19"},{"assignments":[37665],"declarations":[{"constant":false,"id":37665,"mutability":"mutable","name":"m1","nameLocation":"367285:2:19","nodeType":"VariableDeclaration","scope":37695,"src":"367277:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37664,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367277:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37666,"nodeType":"VariableDeclarationStatement","src":"367277:10:19"},{"assignments":[37668],"declarations":[{"constant":false,"id":37668,"mutability":"mutable","name":"m2","nameLocation":"367305:2:19","nodeType":"VariableDeclaration","scope":37695,"src":"367297:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37667,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367297:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37669,"nodeType":"VariableDeclarationStatement","src":"367297:10:19"},{"assignments":[37671],"declarations":[{"constant":false,"id":37671,"mutability":"mutable","name":"m3","nameLocation":"367325:2:19","nodeType":"VariableDeclaration","scope":37695,"src":"367317:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37670,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367317:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37672,"nodeType":"VariableDeclarationStatement","src":"367317:10:19"},{"assignments":[37674],"declarations":[{"constant":false,"id":37674,"mutability":"mutable","name":"m4","nameLocation":"367345:2:19","nodeType":"VariableDeclaration","scope":37695,"src":"367337:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37673,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367337:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37675,"nodeType":"VariableDeclarationStatement","src":"367337:10:19"},{"assignments":[37677],"declarations":[{"constant":false,"id":37677,"mutability":"mutable","name":"m5","nameLocation":"367365:2:19","nodeType":"VariableDeclaration","scope":37695,"src":"367357:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37676,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367357:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37678,"nodeType":"VariableDeclarationStatement","src":"367357:10:19"},{"assignments":[37680],"declarations":[{"constant":false,"id":37680,"mutability":"mutable","name":"m6","nameLocation":"367385:2:19","nodeType":"VariableDeclaration","scope":37695,"src":"367377:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37679,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367377:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37681,"nodeType":"VariableDeclarationStatement","src":"367377:10:19"},{"assignments":[37683],"declarations":[{"constant":false,"id":37683,"mutability":"mutable","name":"m7","nameLocation":"367405:2:19","nodeType":"VariableDeclaration","scope":37695,"src":"367397:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37682,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367397:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37684,"nodeType":"VariableDeclarationStatement","src":"367397:10:19"},{"assignments":[37686],"declarations":[{"constant":false,"id":37686,"mutability":"mutable","name":"m8","nameLocation":"367425:2:19","nodeType":"VariableDeclaration","scope":37695,"src":"367417:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37685,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367417:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37687,"nodeType":"VariableDeclarationStatement","src":"367417:10:19"},{"AST":{"nativeSrc":"367489:924:19","nodeType":"YulBlock","src":"367489:924:19","statements":[{"body":{"nativeSrc":"367532:313:19","nodeType":"YulBlock","src":"367532:313:19","statements":[{"nativeSrc":"367550:15:19","nodeType":"YulVariableDeclaration","src":"367550:15:19","value":{"kind":"number","nativeSrc":"367564:1:19","nodeType":"YulLiteral","src":"367564:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"367554:6:19","nodeType":"YulTypedName","src":"367554:6:19","type":""}]},{"body":{"nativeSrc":"367635:40:19","nodeType":"YulBlock","src":"367635:40:19","statements":[{"body":{"nativeSrc":"367664:9:19","nodeType":"YulBlock","src":"367664:9:19","statements":[{"nativeSrc":"367666:5:19","nodeType":"YulBreak","src":"367666:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"367652:6:19","nodeType":"YulIdentifier","src":"367652:6:19"},{"name":"w","nativeSrc":"367660:1:19","nodeType":"YulIdentifier","src":"367660:1:19"}],"functionName":{"name":"byte","nativeSrc":"367647:4:19","nodeType":"YulIdentifier","src":"367647:4:19"},"nativeSrc":"367647:15:19","nodeType":"YulFunctionCall","src":"367647:15:19"}],"functionName":{"name":"iszero","nativeSrc":"367640:6:19","nodeType":"YulIdentifier","src":"367640:6:19"},"nativeSrc":"367640:23:19","nodeType":"YulFunctionCall","src":"367640:23:19"},"nativeSrc":"367637:36:19","nodeType":"YulIf","src":"367637:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"367592:6:19","nodeType":"YulIdentifier","src":"367592:6:19"},{"kind":"number","nativeSrc":"367600:4:19","nodeType":"YulLiteral","src":"367600:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"367589:2:19","nodeType":"YulIdentifier","src":"367589:2:19"},"nativeSrc":"367589:16:19","nodeType":"YulFunctionCall","src":"367589:16:19"},"nativeSrc":"367582:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"367606:28:19","nodeType":"YulBlock","src":"367606:28:19","statements":[{"nativeSrc":"367608:24:19","nodeType":"YulAssignment","src":"367608:24:19","value":{"arguments":[{"name":"length","nativeSrc":"367622:6:19","nodeType":"YulIdentifier","src":"367622:6:19"},{"kind":"number","nativeSrc":"367630:1:19","nodeType":"YulLiteral","src":"367630:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"367618:3:19","nodeType":"YulIdentifier","src":"367618:3:19"},"nativeSrc":"367618:14:19","nodeType":"YulFunctionCall","src":"367618:14:19"},"variableNames":[{"name":"length","nativeSrc":"367608:6:19","nodeType":"YulIdentifier","src":"367608:6:19"}]}]},"pre":{"nativeSrc":"367586:2:19","nodeType":"YulBlock","src":"367586:2:19","statements":[]},"src":"367582:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"367699:3:19","nodeType":"YulIdentifier","src":"367699:3:19"},{"name":"length","nativeSrc":"367704:6:19","nodeType":"YulIdentifier","src":"367704:6:19"}],"functionName":{"name":"mstore","nativeSrc":"367692:6:19","nodeType":"YulIdentifier","src":"367692:6:19"},"nativeSrc":"367692:19:19","nodeType":"YulFunctionCall","src":"367692:19:19"},"nativeSrc":"367692:19:19","nodeType":"YulExpressionStatement","src":"367692:19:19"},{"nativeSrc":"367728:37:19","nodeType":"YulVariableDeclaration","src":"367728:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"367745:3:19","nodeType":"YulLiteral","src":"367745:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"367754:1:19","nodeType":"YulLiteral","src":"367754:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"367757:6:19","nodeType":"YulIdentifier","src":"367757:6:19"}],"functionName":{"name":"shl","nativeSrc":"367750:3:19","nodeType":"YulIdentifier","src":"367750:3:19"},"nativeSrc":"367750:14:19","nodeType":"YulFunctionCall","src":"367750:14:19"}],"functionName":{"name":"sub","nativeSrc":"367741:3:19","nodeType":"YulIdentifier","src":"367741:3:19"},"nativeSrc":"367741:24:19","nodeType":"YulFunctionCall","src":"367741:24:19"},"variables":[{"name":"shift","nativeSrc":"367732:5:19","nodeType":"YulTypedName","src":"367732:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"367793:3:19","nodeType":"YulIdentifier","src":"367793:3:19"},{"kind":"number","nativeSrc":"367798:4:19","nodeType":"YulLiteral","src":"367798:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"367789:3:19","nodeType":"YulIdentifier","src":"367789:3:19"},"nativeSrc":"367789:14:19","nodeType":"YulFunctionCall","src":"367789:14:19"},{"arguments":[{"name":"shift","nativeSrc":"367809:5:19","nodeType":"YulIdentifier","src":"367809:5:19"},{"arguments":[{"name":"shift","nativeSrc":"367820:5:19","nodeType":"YulIdentifier","src":"367820:5:19"},{"name":"w","nativeSrc":"367827:1:19","nodeType":"YulIdentifier","src":"367827:1:19"}],"functionName":{"name":"shr","nativeSrc":"367816:3:19","nodeType":"YulIdentifier","src":"367816:3:19"},"nativeSrc":"367816:13:19","nodeType":"YulFunctionCall","src":"367816:13:19"}],"functionName":{"name":"shl","nativeSrc":"367805:3:19","nodeType":"YulIdentifier","src":"367805:3:19"},"nativeSrc":"367805:25:19","nodeType":"YulFunctionCall","src":"367805:25:19"}],"functionName":{"name":"mstore","nativeSrc":"367782:6:19","nodeType":"YulIdentifier","src":"367782:6:19"},"nativeSrc":"367782:49:19","nodeType":"YulFunctionCall","src":"367782:49:19"},"nativeSrc":"367782:49:19","nodeType":"YulExpressionStatement","src":"367782:49:19"}]},"name":"writeString","nativeSrc":"367503:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"367524:3:19","nodeType":"YulTypedName","src":"367524:3:19","type":""},{"name":"w","nativeSrc":"367529:1:19","nodeType":"YulTypedName","src":"367529:1:19","type":""}],"src":"367503:342:19"},{"nativeSrc":"367858:17:19","nodeType":"YulAssignment","src":"367858:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"367870:4:19","nodeType":"YulLiteral","src":"367870:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"367864:5:19","nodeType":"YulIdentifier","src":"367864:5:19"},"nativeSrc":"367864:11:19","nodeType":"YulFunctionCall","src":"367864:11:19"},"variableNames":[{"name":"m0","nativeSrc":"367858:2:19","nodeType":"YulIdentifier","src":"367858:2:19"}]},{"nativeSrc":"367888:17:19","nodeType":"YulAssignment","src":"367888:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"367900:4:19","nodeType":"YulLiteral","src":"367900:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"367894:5:19","nodeType":"YulIdentifier","src":"367894:5:19"},"nativeSrc":"367894:11:19","nodeType":"YulFunctionCall","src":"367894:11:19"},"variableNames":[{"name":"m1","nativeSrc":"367888:2:19","nodeType":"YulIdentifier","src":"367888:2:19"}]},{"nativeSrc":"367918:17:19","nodeType":"YulAssignment","src":"367918:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"367930:4:19","nodeType":"YulLiteral","src":"367930:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"367924:5:19","nodeType":"YulIdentifier","src":"367924:5:19"},"nativeSrc":"367924:11:19","nodeType":"YulFunctionCall","src":"367924:11:19"},"variableNames":[{"name":"m2","nativeSrc":"367918:2:19","nodeType":"YulIdentifier","src":"367918:2:19"}]},{"nativeSrc":"367948:17:19","nodeType":"YulAssignment","src":"367948:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"367960:4:19","nodeType":"YulLiteral","src":"367960:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"367954:5:19","nodeType":"YulIdentifier","src":"367954:5:19"},"nativeSrc":"367954:11:19","nodeType":"YulFunctionCall","src":"367954:11:19"},"variableNames":[{"name":"m3","nativeSrc":"367948:2:19","nodeType":"YulIdentifier","src":"367948:2:19"}]},{"nativeSrc":"367978:17:19","nodeType":"YulAssignment","src":"367978:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"367990:4:19","nodeType":"YulLiteral","src":"367990:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"367984:5:19","nodeType":"YulIdentifier","src":"367984:5:19"},"nativeSrc":"367984:11:19","nodeType":"YulFunctionCall","src":"367984:11:19"},"variableNames":[{"name":"m4","nativeSrc":"367978:2:19","nodeType":"YulIdentifier","src":"367978:2:19"}]},{"nativeSrc":"368008:17:19","nodeType":"YulAssignment","src":"368008:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"368020:4:19","nodeType":"YulLiteral","src":"368020:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"368014:5:19","nodeType":"YulIdentifier","src":"368014:5:19"},"nativeSrc":"368014:11:19","nodeType":"YulFunctionCall","src":"368014:11:19"},"variableNames":[{"name":"m5","nativeSrc":"368008:2:19","nodeType":"YulIdentifier","src":"368008:2:19"}]},{"nativeSrc":"368038:17:19","nodeType":"YulAssignment","src":"368038:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"368050:4:19","nodeType":"YulLiteral","src":"368050:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"368044:5:19","nodeType":"YulIdentifier","src":"368044:5:19"},"nativeSrc":"368044:11:19","nodeType":"YulFunctionCall","src":"368044:11:19"},"variableNames":[{"name":"m6","nativeSrc":"368038:2:19","nodeType":"YulIdentifier","src":"368038:2:19"}]},{"nativeSrc":"368068:17:19","nodeType":"YulAssignment","src":"368068:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"368080:4:19","nodeType":"YulLiteral","src":"368080:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"368074:5:19","nodeType":"YulIdentifier","src":"368074:5:19"},"nativeSrc":"368074:11:19","nodeType":"YulFunctionCall","src":"368074:11:19"},"variableNames":[{"name":"m7","nativeSrc":"368068:2:19","nodeType":"YulIdentifier","src":"368068:2:19"}]},{"nativeSrc":"368098:18:19","nodeType":"YulAssignment","src":"368098:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"368110:5:19","nodeType":"YulLiteral","src":"368110:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"368104:5:19","nodeType":"YulIdentifier","src":"368104:5:19"},"nativeSrc":"368104:12:19","nodeType":"YulFunctionCall","src":"368104:12:19"},"variableNames":[{"name":"m8","nativeSrc":"368098:2:19","nodeType":"YulIdentifier","src":"368098:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368198:4:19","nodeType":"YulLiteral","src":"368198:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"368204:10:19","nodeType":"YulLiteral","src":"368204:10:19","type":"","value":"0x742d6ee7"}],"functionName":{"name":"mstore","nativeSrc":"368191:6:19","nodeType":"YulIdentifier","src":"368191:6:19"},"nativeSrc":"368191:24:19","nodeType":"YulFunctionCall","src":"368191:24:19"},"nativeSrc":"368191:24:19","nodeType":"YulExpressionStatement","src":"368191:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368235:4:19","nodeType":"YulLiteral","src":"368235:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"368241:4:19","nodeType":"YulLiteral","src":"368241:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"368228:6:19","nodeType":"YulIdentifier","src":"368228:6:19"},"nativeSrc":"368228:18:19","nodeType":"YulFunctionCall","src":"368228:18:19"},"nativeSrc":"368228:18:19","nodeType":"YulExpressionStatement","src":"368228:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368266:4:19","nodeType":"YulLiteral","src":"368266:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"368272:2:19","nodeType":"YulIdentifier","src":"368272:2:19"}],"functionName":{"name":"mstore","nativeSrc":"368259:6:19","nodeType":"YulIdentifier","src":"368259:6:19"},"nativeSrc":"368259:16:19","nodeType":"YulFunctionCall","src":"368259:16:19"},"nativeSrc":"368259:16:19","nodeType":"YulExpressionStatement","src":"368259:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368295:4:19","nodeType":"YulLiteral","src":"368295:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"368301:2:19","nodeType":"YulIdentifier","src":"368301:2:19"}],"functionName":{"name":"mstore","nativeSrc":"368288:6:19","nodeType":"YulIdentifier","src":"368288:6:19"},"nativeSrc":"368288:16:19","nodeType":"YulFunctionCall","src":"368288:16:19"},"nativeSrc":"368288:16:19","nodeType":"YulExpressionStatement","src":"368288:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368324:4:19","nodeType":"YulLiteral","src":"368324:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"368330:4:19","nodeType":"YulLiteral","src":"368330:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"368317:6:19","nodeType":"YulIdentifier","src":"368317:6:19"},"nativeSrc":"368317:18:19","nodeType":"YulFunctionCall","src":"368317:18:19"},"nativeSrc":"368317:18:19","nodeType":"YulExpressionStatement","src":"368317:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368360:4:19","nodeType":"YulLiteral","src":"368360:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"368366:2:19","nodeType":"YulIdentifier","src":"368366:2:19"}],"functionName":{"name":"writeString","nativeSrc":"368348:11:19","nodeType":"YulIdentifier","src":"368348:11:19"},"nativeSrc":"368348:21:19","nodeType":"YulFunctionCall","src":"368348:21:19"},"nativeSrc":"368348:21:19","nodeType":"YulExpressionStatement","src":"368348:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368394:4:19","nodeType":"YulLiteral","src":"368394:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"368400:2:19","nodeType":"YulIdentifier","src":"368400:2:19"}],"functionName":{"name":"writeString","nativeSrc":"368382:11:19","nodeType":"YulIdentifier","src":"368382:11:19"},"nativeSrc":"368382:21:19","nodeType":"YulFunctionCall","src":"368382:21:19"},"nativeSrc":"368382:21:19","nodeType":"YulExpressionStatement","src":"368382:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37662,"isOffset":false,"isSlot":false,"src":"367858:2:19","valueSize":1},{"declaration":37665,"isOffset":false,"isSlot":false,"src":"367888:2:19","valueSize":1},{"declaration":37668,"isOffset":false,"isSlot":false,"src":"367918:2:19","valueSize":1},{"declaration":37671,"isOffset":false,"isSlot":false,"src":"367948:2:19","valueSize":1},{"declaration":37674,"isOffset":false,"isSlot":false,"src":"367978:2:19","valueSize":1},{"declaration":37677,"isOffset":false,"isSlot":false,"src":"368008:2:19","valueSize":1},{"declaration":37680,"isOffset":false,"isSlot":false,"src":"368038:2:19","valueSize":1},{"declaration":37683,"isOffset":false,"isSlot":false,"src":"368068:2:19","valueSize":1},{"declaration":37686,"isOffset":false,"isSlot":false,"src":"368098:2:19","valueSize":1},{"declaration":37652,"isOffset":false,"isSlot":false,"src":"368366:2:19","valueSize":1},{"declaration":37654,"isOffset":false,"isSlot":false,"src":"368272:2:19","valueSize":1},{"declaration":37656,"isOffset":false,"isSlot":false,"src":"368301:2:19","valueSize":1},{"declaration":37658,"isOffset":false,"isSlot":false,"src":"368400:2:19","valueSize":1}],"id":37688,"nodeType":"InlineAssembly","src":"367480:933:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":37690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"368438:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":37691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"368444:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":37689,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"368422:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"368422:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37693,"nodeType":"ExpressionStatement","src":"368422:28:19"},{"AST":{"nativeSrc":"368512:273:19","nodeType":"YulBlock","src":"368512:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"368533:4:19","nodeType":"YulLiteral","src":"368533:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"368539:2:19","nodeType":"YulIdentifier","src":"368539:2:19"}],"functionName":{"name":"mstore","nativeSrc":"368526:6:19","nodeType":"YulIdentifier","src":"368526:6:19"},"nativeSrc":"368526:16:19","nodeType":"YulFunctionCall","src":"368526:16:19"},"nativeSrc":"368526:16:19","nodeType":"YulExpressionStatement","src":"368526:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368562:4:19","nodeType":"YulLiteral","src":"368562:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"368568:2:19","nodeType":"YulIdentifier","src":"368568:2:19"}],"functionName":{"name":"mstore","nativeSrc":"368555:6:19","nodeType":"YulIdentifier","src":"368555:6:19"},"nativeSrc":"368555:16:19","nodeType":"YulFunctionCall","src":"368555:16:19"},"nativeSrc":"368555:16:19","nodeType":"YulExpressionStatement","src":"368555:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368591:4:19","nodeType":"YulLiteral","src":"368591:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"368597:2:19","nodeType":"YulIdentifier","src":"368597:2:19"}],"functionName":{"name":"mstore","nativeSrc":"368584:6:19","nodeType":"YulIdentifier","src":"368584:6:19"},"nativeSrc":"368584:16:19","nodeType":"YulFunctionCall","src":"368584:16:19"},"nativeSrc":"368584:16:19","nodeType":"YulExpressionStatement","src":"368584:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368620:4:19","nodeType":"YulLiteral","src":"368620:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"368626:2:19","nodeType":"YulIdentifier","src":"368626:2:19"}],"functionName":{"name":"mstore","nativeSrc":"368613:6:19","nodeType":"YulIdentifier","src":"368613:6:19"},"nativeSrc":"368613:16:19","nodeType":"YulFunctionCall","src":"368613:16:19"},"nativeSrc":"368613:16:19","nodeType":"YulExpressionStatement","src":"368613:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368649:4:19","nodeType":"YulLiteral","src":"368649:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"368655:2:19","nodeType":"YulIdentifier","src":"368655:2:19"}],"functionName":{"name":"mstore","nativeSrc":"368642:6:19","nodeType":"YulIdentifier","src":"368642:6:19"},"nativeSrc":"368642:16:19","nodeType":"YulFunctionCall","src":"368642:16:19"},"nativeSrc":"368642:16:19","nodeType":"YulExpressionStatement","src":"368642:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368678:4:19","nodeType":"YulLiteral","src":"368678:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"368684:2:19","nodeType":"YulIdentifier","src":"368684:2:19"}],"functionName":{"name":"mstore","nativeSrc":"368671:6:19","nodeType":"YulIdentifier","src":"368671:6:19"},"nativeSrc":"368671:16:19","nodeType":"YulFunctionCall","src":"368671:16:19"},"nativeSrc":"368671:16:19","nodeType":"YulExpressionStatement","src":"368671:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368707:4:19","nodeType":"YulLiteral","src":"368707:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"368713:2:19","nodeType":"YulIdentifier","src":"368713:2:19"}],"functionName":{"name":"mstore","nativeSrc":"368700:6:19","nodeType":"YulIdentifier","src":"368700:6:19"},"nativeSrc":"368700:16:19","nodeType":"YulFunctionCall","src":"368700:16:19"},"nativeSrc":"368700:16:19","nodeType":"YulExpressionStatement","src":"368700:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368736:4:19","nodeType":"YulLiteral","src":"368736:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"368742:2:19","nodeType":"YulIdentifier","src":"368742:2:19"}],"functionName":{"name":"mstore","nativeSrc":"368729:6:19","nodeType":"YulIdentifier","src":"368729:6:19"},"nativeSrc":"368729:16:19","nodeType":"YulFunctionCall","src":"368729:16:19"},"nativeSrc":"368729:16:19","nodeType":"YulExpressionStatement","src":"368729:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"368765:5:19","nodeType":"YulLiteral","src":"368765:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"368772:2:19","nodeType":"YulIdentifier","src":"368772:2:19"}],"functionName":{"name":"mstore","nativeSrc":"368758:6:19","nodeType":"YulIdentifier","src":"368758:6:19"},"nativeSrc":"368758:17:19","nodeType":"YulFunctionCall","src":"368758:17:19"},"nativeSrc":"368758:17:19","nodeType":"YulExpressionStatement","src":"368758:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37662,"isOffset":false,"isSlot":false,"src":"368539:2:19","valueSize":1},{"declaration":37665,"isOffset":false,"isSlot":false,"src":"368568:2:19","valueSize":1},{"declaration":37668,"isOffset":false,"isSlot":false,"src":"368597:2:19","valueSize":1},{"declaration":37671,"isOffset":false,"isSlot":false,"src":"368626:2:19","valueSize":1},{"declaration":37674,"isOffset":false,"isSlot":false,"src":"368655:2:19","valueSize":1},{"declaration":37677,"isOffset":false,"isSlot":false,"src":"368684:2:19","valueSize":1},{"declaration":37680,"isOffset":false,"isSlot":false,"src":"368713:2:19","valueSize":1},{"declaration":37683,"isOffset":false,"isSlot":false,"src":"368742:2:19","valueSize":1},{"declaration":37686,"isOffset":false,"isSlot":false,"src":"368772:2:19","valueSize":1}],"id":37694,"nodeType":"InlineAssembly","src":"368503:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"367184:3:19","parameters":{"id":37659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37652,"mutability":"mutable","name":"p0","nameLocation":"367196:2:19","nodeType":"VariableDeclaration","scope":37696,"src":"367188:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37651,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367188:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37654,"mutability":"mutable","name":"p1","nameLocation":"367205:2:19","nodeType":"VariableDeclaration","scope":37696,"src":"367200:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37653,"name":"bool","nodeType":"ElementaryTypeName","src":"367200:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37656,"mutability":"mutable","name":"p2","nameLocation":"367217:2:19","nodeType":"VariableDeclaration","scope":37696,"src":"367209:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37655,"name":"uint256","nodeType":"ElementaryTypeName","src":"367209:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37658,"mutability":"mutable","name":"p3","nameLocation":"367229:2:19","nodeType":"VariableDeclaration","scope":37696,"src":"367221:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37657,"name":"bytes32","nodeType":"ElementaryTypeName","src":"367221:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"367187:45:19"},"returnParameters":{"id":37660,"nodeType":"ParameterList","parameters":[],"src":"367247:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37742,"nodeType":"FunctionDefinition","src":"368797:1616:19","nodes":[],"body":{"id":37741,"nodeType":"Block","src":"368869:1544:19","nodes":[],"statements":[{"assignments":[37708],"declarations":[{"constant":false,"id":37708,"mutability":"mutable","name":"m0","nameLocation":"368887:2:19","nodeType":"VariableDeclaration","scope":37741,"src":"368879:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37707,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368879:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37709,"nodeType":"VariableDeclarationStatement","src":"368879:10:19"},{"assignments":[37711],"declarations":[{"constant":false,"id":37711,"mutability":"mutable","name":"m1","nameLocation":"368907:2:19","nodeType":"VariableDeclaration","scope":37741,"src":"368899:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37710,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368899:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37712,"nodeType":"VariableDeclarationStatement","src":"368899:10:19"},{"assignments":[37714],"declarations":[{"constant":false,"id":37714,"mutability":"mutable","name":"m2","nameLocation":"368927:2:19","nodeType":"VariableDeclaration","scope":37741,"src":"368919:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37713,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368919:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37715,"nodeType":"VariableDeclarationStatement","src":"368919:10:19"},{"assignments":[37717],"declarations":[{"constant":false,"id":37717,"mutability":"mutable","name":"m3","nameLocation":"368947:2:19","nodeType":"VariableDeclaration","scope":37741,"src":"368939:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37716,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368939:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37718,"nodeType":"VariableDeclarationStatement","src":"368939:10:19"},{"assignments":[37720],"declarations":[{"constant":false,"id":37720,"mutability":"mutable","name":"m4","nameLocation":"368967:2:19","nodeType":"VariableDeclaration","scope":37741,"src":"368959:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37719,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368959:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37721,"nodeType":"VariableDeclarationStatement","src":"368959:10:19"},{"assignments":[37723],"declarations":[{"constant":false,"id":37723,"mutability":"mutable","name":"m5","nameLocation":"368987:2:19","nodeType":"VariableDeclaration","scope":37741,"src":"368979:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37722,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368979:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37724,"nodeType":"VariableDeclarationStatement","src":"368979:10:19"},{"assignments":[37726],"declarations":[{"constant":false,"id":37726,"mutability":"mutable","name":"m6","nameLocation":"369007:2:19","nodeType":"VariableDeclaration","scope":37741,"src":"368999:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37725,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368999:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37727,"nodeType":"VariableDeclarationStatement","src":"368999:10:19"},{"assignments":[37729],"declarations":[{"constant":false,"id":37729,"mutability":"mutable","name":"m7","nameLocation":"369027:2:19","nodeType":"VariableDeclaration","scope":37741,"src":"369019:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37728,"name":"bytes32","nodeType":"ElementaryTypeName","src":"369019:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37730,"nodeType":"VariableDeclarationStatement","src":"369019:10:19"},{"assignments":[37732],"declarations":[{"constant":false,"id":37732,"mutability":"mutable","name":"m8","nameLocation":"369047:2:19","nodeType":"VariableDeclaration","scope":37741,"src":"369039:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37731,"name":"bytes32","nodeType":"ElementaryTypeName","src":"369039:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37733,"nodeType":"VariableDeclarationStatement","src":"369039:10:19"},{"AST":{"nativeSrc":"369111:924:19","nodeType":"YulBlock","src":"369111:924:19","statements":[{"body":{"nativeSrc":"369154:313:19","nodeType":"YulBlock","src":"369154:313:19","statements":[{"nativeSrc":"369172:15:19","nodeType":"YulVariableDeclaration","src":"369172:15:19","value":{"kind":"number","nativeSrc":"369186:1:19","nodeType":"YulLiteral","src":"369186:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"369176:6:19","nodeType":"YulTypedName","src":"369176:6:19","type":""}]},{"body":{"nativeSrc":"369257:40:19","nodeType":"YulBlock","src":"369257:40:19","statements":[{"body":{"nativeSrc":"369286:9:19","nodeType":"YulBlock","src":"369286:9:19","statements":[{"nativeSrc":"369288:5:19","nodeType":"YulBreak","src":"369288:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"369274:6:19","nodeType":"YulIdentifier","src":"369274:6:19"},{"name":"w","nativeSrc":"369282:1:19","nodeType":"YulIdentifier","src":"369282:1:19"}],"functionName":{"name":"byte","nativeSrc":"369269:4:19","nodeType":"YulIdentifier","src":"369269:4:19"},"nativeSrc":"369269:15:19","nodeType":"YulFunctionCall","src":"369269:15:19"}],"functionName":{"name":"iszero","nativeSrc":"369262:6:19","nodeType":"YulIdentifier","src":"369262:6:19"},"nativeSrc":"369262:23:19","nodeType":"YulFunctionCall","src":"369262:23:19"},"nativeSrc":"369259:36:19","nodeType":"YulIf","src":"369259:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"369214:6:19","nodeType":"YulIdentifier","src":"369214:6:19"},{"kind":"number","nativeSrc":"369222:4:19","nodeType":"YulLiteral","src":"369222:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"369211:2:19","nodeType":"YulIdentifier","src":"369211:2:19"},"nativeSrc":"369211:16:19","nodeType":"YulFunctionCall","src":"369211:16:19"},"nativeSrc":"369204:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"369228:28:19","nodeType":"YulBlock","src":"369228:28:19","statements":[{"nativeSrc":"369230:24:19","nodeType":"YulAssignment","src":"369230:24:19","value":{"arguments":[{"name":"length","nativeSrc":"369244:6:19","nodeType":"YulIdentifier","src":"369244:6:19"},{"kind":"number","nativeSrc":"369252:1:19","nodeType":"YulLiteral","src":"369252:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"369240:3:19","nodeType":"YulIdentifier","src":"369240:3:19"},"nativeSrc":"369240:14:19","nodeType":"YulFunctionCall","src":"369240:14:19"},"variableNames":[{"name":"length","nativeSrc":"369230:6:19","nodeType":"YulIdentifier","src":"369230:6:19"}]}]},"pre":{"nativeSrc":"369208:2:19","nodeType":"YulBlock","src":"369208:2:19","statements":[]},"src":"369204:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"369321:3:19","nodeType":"YulIdentifier","src":"369321:3:19"},{"name":"length","nativeSrc":"369326:6:19","nodeType":"YulIdentifier","src":"369326:6:19"}],"functionName":{"name":"mstore","nativeSrc":"369314:6:19","nodeType":"YulIdentifier","src":"369314:6:19"},"nativeSrc":"369314:19:19","nodeType":"YulFunctionCall","src":"369314:19:19"},"nativeSrc":"369314:19:19","nodeType":"YulExpressionStatement","src":"369314:19:19"},{"nativeSrc":"369350:37:19","nodeType":"YulVariableDeclaration","src":"369350:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"369367:3:19","nodeType":"YulLiteral","src":"369367:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"369376:1:19","nodeType":"YulLiteral","src":"369376:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"369379:6:19","nodeType":"YulIdentifier","src":"369379:6:19"}],"functionName":{"name":"shl","nativeSrc":"369372:3:19","nodeType":"YulIdentifier","src":"369372:3:19"},"nativeSrc":"369372:14:19","nodeType":"YulFunctionCall","src":"369372:14:19"}],"functionName":{"name":"sub","nativeSrc":"369363:3:19","nodeType":"YulIdentifier","src":"369363:3:19"},"nativeSrc":"369363:24:19","nodeType":"YulFunctionCall","src":"369363:24:19"},"variables":[{"name":"shift","nativeSrc":"369354:5:19","nodeType":"YulTypedName","src":"369354:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"369415:3:19","nodeType":"YulIdentifier","src":"369415:3:19"},{"kind":"number","nativeSrc":"369420:4:19","nodeType":"YulLiteral","src":"369420:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"369411:3:19","nodeType":"YulIdentifier","src":"369411:3:19"},"nativeSrc":"369411:14:19","nodeType":"YulFunctionCall","src":"369411:14:19"},{"arguments":[{"name":"shift","nativeSrc":"369431:5:19","nodeType":"YulIdentifier","src":"369431:5:19"},{"arguments":[{"name":"shift","nativeSrc":"369442:5:19","nodeType":"YulIdentifier","src":"369442:5:19"},{"name":"w","nativeSrc":"369449:1:19","nodeType":"YulIdentifier","src":"369449:1:19"}],"functionName":{"name":"shr","nativeSrc":"369438:3:19","nodeType":"YulIdentifier","src":"369438:3:19"},"nativeSrc":"369438:13:19","nodeType":"YulFunctionCall","src":"369438:13:19"}],"functionName":{"name":"shl","nativeSrc":"369427:3:19","nodeType":"YulIdentifier","src":"369427:3:19"},"nativeSrc":"369427:25:19","nodeType":"YulFunctionCall","src":"369427:25:19"}],"functionName":{"name":"mstore","nativeSrc":"369404:6:19","nodeType":"YulIdentifier","src":"369404:6:19"},"nativeSrc":"369404:49:19","nodeType":"YulFunctionCall","src":"369404:49:19"},"nativeSrc":"369404:49:19","nodeType":"YulExpressionStatement","src":"369404:49:19"}]},"name":"writeString","nativeSrc":"369125:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"369146:3:19","nodeType":"YulTypedName","src":"369146:3:19","type":""},{"name":"w","nativeSrc":"369151:1:19","nodeType":"YulTypedName","src":"369151:1:19","type":""}],"src":"369125:342:19"},{"nativeSrc":"369480:17:19","nodeType":"YulAssignment","src":"369480:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"369492:4:19","nodeType":"YulLiteral","src":"369492:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"369486:5:19","nodeType":"YulIdentifier","src":"369486:5:19"},"nativeSrc":"369486:11:19","nodeType":"YulFunctionCall","src":"369486:11:19"},"variableNames":[{"name":"m0","nativeSrc":"369480:2:19","nodeType":"YulIdentifier","src":"369480:2:19"}]},{"nativeSrc":"369510:17:19","nodeType":"YulAssignment","src":"369510:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"369522:4:19","nodeType":"YulLiteral","src":"369522:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"369516:5:19","nodeType":"YulIdentifier","src":"369516:5:19"},"nativeSrc":"369516:11:19","nodeType":"YulFunctionCall","src":"369516:11:19"},"variableNames":[{"name":"m1","nativeSrc":"369510:2:19","nodeType":"YulIdentifier","src":"369510:2:19"}]},{"nativeSrc":"369540:17:19","nodeType":"YulAssignment","src":"369540:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"369552:4:19","nodeType":"YulLiteral","src":"369552:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"369546:5:19","nodeType":"YulIdentifier","src":"369546:5:19"},"nativeSrc":"369546:11:19","nodeType":"YulFunctionCall","src":"369546:11:19"},"variableNames":[{"name":"m2","nativeSrc":"369540:2:19","nodeType":"YulIdentifier","src":"369540:2:19"}]},{"nativeSrc":"369570:17:19","nodeType":"YulAssignment","src":"369570:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"369582:4:19","nodeType":"YulLiteral","src":"369582:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"369576:5:19","nodeType":"YulIdentifier","src":"369576:5:19"},"nativeSrc":"369576:11:19","nodeType":"YulFunctionCall","src":"369576:11:19"},"variableNames":[{"name":"m3","nativeSrc":"369570:2:19","nodeType":"YulIdentifier","src":"369570:2:19"}]},{"nativeSrc":"369600:17:19","nodeType":"YulAssignment","src":"369600:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"369612:4:19","nodeType":"YulLiteral","src":"369612:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"369606:5:19","nodeType":"YulIdentifier","src":"369606:5:19"},"nativeSrc":"369606:11:19","nodeType":"YulFunctionCall","src":"369606:11:19"},"variableNames":[{"name":"m4","nativeSrc":"369600:2:19","nodeType":"YulIdentifier","src":"369600:2:19"}]},{"nativeSrc":"369630:17:19","nodeType":"YulAssignment","src":"369630:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"369642:4:19","nodeType":"YulLiteral","src":"369642:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"369636:5:19","nodeType":"YulIdentifier","src":"369636:5:19"},"nativeSrc":"369636:11:19","nodeType":"YulFunctionCall","src":"369636:11:19"},"variableNames":[{"name":"m5","nativeSrc":"369630:2:19","nodeType":"YulIdentifier","src":"369630:2:19"}]},{"nativeSrc":"369660:17:19","nodeType":"YulAssignment","src":"369660:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"369672:4:19","nodeType":"YulLiteral","src":"369672:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"369666:5:19","nodeType":"YulIdentifier","src":"369666:5:19"},"nativeSrc":"369666:11:19","nodeType":"YulFunctionCall","src":"369666:11:19"},"variableNames":[{"name":"m6","nativeSrc":"369660:2:19","nodeType":"YulIdentifier","src":"369660:2:19"}]},{"nativeSrc":"369690:17:19","nodeType":"YulAssignment","src":"369690:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"369702:4:19","nodeType":"YulLiteral","src":"369702:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"369696:5:19","nodeType":"YulIdentifier","src":"369696:5:19"},"nativeSrc":"369696:11:19","nodeType":"YulFunctionCall","src":"369696:11:19"},"variableNames":[{"name":"m7","nativeSrc":"369690:2:19","nodeType":"YulIdentifier","src":"369690:2:19"}]},{"nativeSrc":"369720:18:19","nodeType":"YulAssignment","src":"369720:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"369732:5:19","nodeType":"YulLiteral","src":"369732:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"369726:5:19","nodeType":"YulIdentifier","src":"369726:5:19"},"nativeSrc":"369726:12:19","nodeType":"YulFunctionCall","src":"369726:12:19"},"variableNames":[{"name":"m8","nativeSrc":"369720:2:19","nodeType":"YulIdentifier","src":"369720:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"369820:4:19","nodeType":"YulLiteral","src":"369820:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"369826:10:19","nodeType":"YulLiteral","src":"369826:10:19","type":"","value":"0xe0625b29"}],"functionName":{"name":"mstore","nativeSrc":"369813:6:19","nodeType":"YulIdentifier","src":"369813:6:19"},"nativeSrc":"369813:24:19","nodeType":"YulFunctionCall","src":"369813:24:19"},"nativeSrc":"369813:24:19","nodeType":"YulExpressionStatement","src":"369813:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"369857:4:19","nodeType":"YulLiteral","src":"369857:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"369863:4:19","nodeType":"YulLiteral","src":"369863:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"369850:6:19","nodeType":"YulIdentifier","src":"369850:6:19"},"nativeSrc":"369850:18:19","nodeType":"YulFunctionCall","src":"369850:18:19"},"nativeSrc":"369850:18:19","nodeType":"YulExpressionStatement","src":"369850:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"369888:4:19","nodeType":"YulLiteral","src":"369888:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"369894:2:19","nodeType":"YulIdentifier","src":"369894:2:19"}],"functionName":{"name":"mstore","nativeSrc":"369881:6:19","nodeType":"YulIdentifier","src":"369881:6:19"},"nativeSrc":"369881:16:19","nodeType":"YulFunctionCall","src":"369881:16:19"},"nativeSrc":"369881:16:19","nodeType":"YulExpressionStatement","src":"369881:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"369917:4:19","nodeType":"YulLiteral","src":"369917:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"369923:4:19","nodeType":"YulLiteral","src":"369923:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"369910:6:19","nodeType":"YulIdentifier","src":"369910:6:19"},"nativeSrc":"369910:18:19","nodeType":"YulFunctionCall","src":"369910:18:19"},"nativeSrc":"369910:18:19","nodeType":"YulExpressionStatement","src":"369910:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"369948:4:19","nodeType":"YulLiteral","src":"369948:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"369954:2:19","nodeType":"YulIdentifier","src":"369954:2:19"}],"functionName":{"name":"mstore","nativeSrc":"369941:6:19","nodeType":"YulIdentifier","src":"369941:6:19"},"nativeSrc":"369941:16:19","nodeType":"YulFunctionCall","src":"369941:16:19"},"nativeSrc":"369941:16:19","nodeType":"YulExpressionStatement","src":"369941:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"369982:4:19","nodeType":"YulLiteral","src":"369982:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"369988:2:19","nodeType":"YulIdentifier","src":"369988:2:19"}],"functionName":{"name":"writeString","nativeSrc":"369970:11:19","nodeType":"YulIdentifier","src":"369970:11:19"},"nativeSrc":"369970:21:19","nodeType":"YulFunctionCall","src":"369970:21:19"},"nativeSrc":"369970:21:19","nodeType":"YulExpressionStatement","src":"369970:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370016:4:19","nodeType":"YulLiteral","src":"370016:4:19","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"370022:2:19","nodeType":"YulIdentifier","src":"370022:2:19"}],"functionName":{"name":"writeString","nativeSrc":"370004:11:19","nodeType":"YulIdentifier","src":"370004:11:19"},"nativeSrc":"370004:21:19","nodeType":"YulFunctionCall","src":"370004:21:19"},"nativeSrc":"370004:21:19","nodeType":"YulExpressionStatement","src":"370004:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37708,"isOffset":false,"isSlot":false,"src":"369480:2:19","valueSize":1},{"declaration":37711,"isOffset":false,"isSlot":false,"src":"369510:2:19","valueSize":1},{"declaration":37714,"isOffset":false,"isSlot":false,"src":"369540:2:19","valueSize":1},{"declaration":37717,"isOffset":false,"isSlot":false,"src":"369570:2:19","valueSize":1},{"declaration":37720,"isOffset":false,"isSlot":false,"src":"369600:2:19","valueSize":1},{"declaration":37723,"isOffset":false,"isSlot":false,"src":"369630:2:19","valueSize":1},{"declaration":37726,"isOffset":false,"isSlot":false,"src":"369660:2:19","valueSize":1},{"declaration":37729,"isOffset":false,"isSlot":false,"src":"369690:2:19","valueSize":1},{"declaration":37732,"isOffset":false,"isSlot":false,"src":"369720:2:19","valueSize":1},{"declaration":37698,"isOffset":false,"isSlot":false,"src":"369988:2:19","valueSize":1},{"declaration":37700,"isOffset":false,"isSlot":false,"src":"369894:2:19","valueSize":1},{"declaration":37702,"isOffset":false,"isSlot":false,"src":"370022:2:19","valueSize":1},{"declaration":37704,"isOffset":false,"isSlot":false,"src":"369954:2:19","valueSize":1}],"id":37734,"nodeType":"InlineAssembly","src":"369102:933:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":37736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"370060:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":37737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"370066:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":37735,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"370044:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"370044:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37739,"nodeType":"ExpressionStatement","src":"370044:28:19"},{"AST":{"nativeSrc":"370134:273:19","nodeType":"YulBlock","src":"370134:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"370155:4:19","nodeType":"YulLiteral","src":"370155:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"370161:2:19","nodeType":"YulIdentifier","src":"370161:2:19"}],"functionName":{"name":"mstore","nativeSrc":"370148:6:19","nodeType":"YulIdentifier","src":"370148:6:19"},"nativeSrc":"370148:16:19","nodeType":"YulFunctionCall","src":"370148:16:19"},"nativeSrc":"370148:16:19","nodeType":"YulExpressionStatement","src":"370148:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370184:4:19","nodeType":"YulLiteral","src":"370184:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"370190:2:19","nodeType":"YulIdentifier","src":"370190:2:19"}],"functionName":{"name":"mstore","nativeSrc":"370177:6:19","nodeType":"YulIdentifier","src":"370177:6:19"},"nativeSrc":"370177:16:19","nodeType":"YulFunctionCall","src":"370177:16:19"},"nativeSrc":"370177:16:19","nodeType":"YulExpressionStatement","src":"370177:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370213:4:19","nodeType":"YulLiteral","src":"370213:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"370219:2:19","nodeType":"YulIdentifier","src":"370219:2:19"}],"functionName":{"name":"mstore","nativeSrc":"370206:6:19","nodeType":"YulIdentifier","src":"370206:6:19"},"nativeSrc":"370206:16:19","nodeType":"YulFunctionCall","src":"370206:16:19"},"nativeSrc":"370206:16:19","nodeType":"YulExpressionStatement","src":"370206:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370242:4:19","nodeType":"YulLiteral","src":"370242:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"370248:2:19","nodeType":"YulIdentifier","src":"370248:2:19"}],"functionName":{"name":"mstore","nativeSrc":"370235:6:19","nodeType":"YulIdentifier","src":"370235:6:19"},"nativeSrc":"370235:16:19","nodeType":"YulFunctionCall","src":"370235:16:19"},"nativeSrc":"370235:16:19","nodeType":"YulExpressionStatement","src":"370235:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370271:4:19","nodeType":"YulLiteral","src":"370271:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"370277:2:19","nodeType":"YulIdentifier","src":"370277:2:19"}],"functionName":{"name":"mstore","nativeSrc":"370264:6:19","nodeType":"YulIdentifier","src":"370264:6:19"},"nativeSrc":"370264:16:19","nodeType":"YulFunctionCall","src":"370264:16:19"},"nativeSrc":"370264:16:19","nodeType":"YulExpressionStatement","src":"370264:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370300:4:19","nodeType":"YulLiteral","src":"370300:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"370306:2:19","nodeType":"YulIdentifier","src":"370306:2:19"}],"functionName":{"name":"mstore","nativeSrc":"370293:6:19","nodeType":"YulIdentifier","src":"370293:6:19"},"nativeSrc":"370293:16:19","nodeType":"YulFunctionCall","src":"370293:16:19"},"nativeSrc":"370293:16:19","nodeType":"YulExpressionStatement","src":"370293:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370329:4:19","nodeType":"YulLiteral","src":"370329:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"370335:2:19","nodeType":"YulIdentifier","src":"370335:2:19"}],"functionName":{"name":"mstore","nativeSrc":"370322:6:19","nodeType":"YulIdentifier","src":"370322:6:19"},"nativeSrc":"370322:16:19","nodeType":"YulFunctionCall","src":"370322:16:19"},"nativeSrc":"370322:16:19","nodeType":"YulExpressionStatement","src":"370322:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370358:4:19","nodeType":"YulLiteral","src":"370358:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"370364:2:19","nodeType":"YulIdentifier","src":"370364:2:19"}],"functionName":{"name":"mstore","nativeSrc":"370351:6:19","nodeType":"YulIdentifier","src":"370351:6:19"},"nativeSrc":"370351:16:19","nodeType":"YulFunctionCall","src":"370351:16:19"},"nativeSrc":"370351:16:19","nodeType":"YulExpressionStatement","src":"370351:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"370387:5:19","nodeType":"YulLiteral","src":"370387:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"370394:2:19","nodeType":"YulIdentifier","src":"370394:2:19"}],"functionName":{"name":"mstore","nativeSrc":"370380:6:19","nodeType":"YulIdentifier","src":"370380:6:19"},"nativeSrc":"370380:17:19","nodeType":"YulFunctionCall","src":"370380:17:19"},"nativeSrc":"370380:17:19","nodeType":"YulExpressionStatement","src":"370380:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37708,"isOffset":false,"isSlot":false,"src":"370161:2:19","valueSize":1},{"declaration":37711,"isOffset":false,"isSlot":false,"src":"370190:2:19","valueSize":1},{"declaration":37714,"isOffset":false,"isSlot":false,"src":"370219:2:19","valueSize":1},{"declaration":37717,"isOffset":false,"isSlot":false,"src":"370248:2:19","valueSize":1},{"declaration":37720,"isOffset":false,"isSlot":false,"src":"370277:2:19","valueSize":1},{"declaration":37723,"isOffset":false,"isSlot":false,"src":"370306:2:19","valueSize":1},{"declaration":37726,"isOffset":false,"isSlot":false,"src":"370335:2:19","valueSize":1},{"declaration":37729,"isOffset":false,"isSlot":false,"src":"370364:2:19","valueSize":1},{"declaration":37732,"isOffset":false,"isSlot":false,"src":"370394:2:19","valueSize":1}],"id":37740,"nodeType":"InlineAssembly","src":"370125:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"368806:3:19","parameters":{"id":37705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37698,"mutability":"mutable","name":"p0","nameLocation":"368818:2:19","nodeType":"VariableDeclaration","scope":37742,"src":"368810:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37697,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368810:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37700,"mutability":"mutable","name":"p1","nameLocation":"368827:2:19","nodeType":"VariableDeclaration","scope":37742,"src":"368822:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37699,"name":"bool","nodeType":"ElementaryTypeName","src":"368822:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37702,"mutability":"mutable","name":"p2","nameLocation":"368839:2:19","nodeType":"VariableDeclaration","scope":37742,"src":"368831:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37701,"name":"bytes32","nodeType":"ElementaryTypeName","src":"368831:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37704,"mutability":"mutable","name":"p3","nameLocation":"368851:2:19","nodeType":"VariableDeclaration","scope":37742,"src":"368843:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37703,"name":"address","nodeType":"ElementaryTypeName","src":"368843:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"368809:45:19"},"returnParameters":{"id":37706,"nodeType":"ParameterList","parameters":[],"src":"368869:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37788,"nodeType":"FunctionDefinition","src":"370419:1610:19","nodes":[],"body":{"id":37787,"nodeType":"Block","src":"370488:1541:19","nodes":[],"statements":[{"assignments":[37754],"declarations":[{"constant":false,"id":37754,"mutability":"mutable","name":"m0","nameLocation":"370506:2:19","nodeType":"VariableDeclaration","scope":37787,"src":"370498:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37753,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370498:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37755,"nodeType":"VariableDeclarationStatement","src":"370498:10:19"},{"assignments":[37757],"declarations":[{"constant":false,"id":37757,"mutability":"mutable","name":"m1","nameLocation":"370526:2:19","nodeType":"VariableDeclaration","scope":37787,"src":"370518:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37756,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370518:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37758,"nodeType":"VariableDeclarationStatement","src":"370518:10:19"},{"assignments":[37760],"declarations":[{"constant":false,"id":37760,"mutability":"mutable","name":"m2","nameLocation":"370546:2:19","nodeType":"VariableDeclaration","scope":37787,"src":"370538:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37759,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370538:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37761,"nodeType":"VariableDeclarationStatement","src":"370538:10:19"},{"assignments":[37763],"declarations":[{"constant":false,"id":37763,"mutability":"mutable","name":"m3","nameLocation":"370566:2:19","nodeType":"VariableDeclaration","scope":37787,"src":"370558:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37762,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370558:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37764,"nodeType":"VariableDeclarationStatement","src":"370558:10:19"},{"assignments":[37766],"declarations":[{"constant":false,"id":37766,"mutability":"mutable","name":"m4","nameLocation":"370586:2:19","nodeType":"VariableDeclaration","scope":37787,"src":"370578:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37765,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370578:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37767,"nodeType":"VariableDeclarationStatement","src":"370578:10:19"},{"assignments":[37769],"declarations":[{"constant":false,"id":37769,"mutability":"mutable","name":"m5","nameLocation":"370606:2:19","nodeType":"VariableDeclaration","scope":37787,"src":"370598:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37768,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370598:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37770,"nodeType":"VariableDeclarationStatement","src":"370598:10:19"},{"assignments":[37772],"declarations":[{"constant":false,"id":37772,"mutability":"mutable","name":"m6","nameLocation":"370626:2:19","nodeType":"VariableDeclaration","scope":37787,"src":"370618:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37771,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370618:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37773,"nodeType":"VariableDeclarationStatement","src":"370618:10:19"},{"assignments":[37775],"declarations":[{"constant":false,"id":37775,"mutability":"mutable","name":"m7","nameLocation":"370646:2:19","nodeType":"VariableDeclaration","scope":37787,"src":"370638:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37774,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370638:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37776,"nodeType":"VariableDeclarationStatement","src":"370638:10:19"},{"assignments":[37778],"declarations":[{"constant":false,"id":37778,"mutability":"mutable","name":"m8","nameLocation":"370666:2:19","nodeType":"VariableDeclaration","scope":37787,"src":"370658:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37777,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370658:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37779,"nodeType":"VariableDeclarationStatement","src":"370658:10:19"},{"AST":{"nativeSrc":"370730:921:19","nodeType":"YulBlock","src":"370730:921:19","statements":[{"body":{"nativeSrc":"370773:313:19","nodeType":"YulBlock","src":"370773:313:19","statements":[{"nativeSrc":"370791:15:19","nodeType":"YulVariableDeclaration","src":"370791:15:19","value":{"kind":"number","nativeSrc":"370805:1:19","nodeType":"YulLiteral","src":"370805:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"370795:6:19","nodeType":"YulTypedName","src":"370795:6:19","type":""}]},{"body":{"nativeSrc":"370876:40:19","nodeType":"YulBlock","src":"370876:40:19","statements":[{"body":{"nativeSrc":"370905:9:19","nodeType":"YulBlock","src":"370905:9:19","statements":[{"nativeSrc":"370907:5:19","nodeType":"YulBreak","src":"370907:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"370893:6:19","nodeType":"YulIdentifier","src":"370893:6:19"},{"name":"w","nativeSrc":"370901:1:19","nodeType":"YulIdentifier","src":"370901:1:19"}],"functionName":{"name":"byte","nativeSrc":"370888:4:19","nodeType":"YulIdentifier","src":"370888:4:19"},"nativeSrc":"370888:15:19","nodeType":"YulFunctionCall","src":"370888:15:19"}],"functionName":{"name":"iszero","nativeSrc":"370881:6:19","nodeType":"YulIdentifier","src":"370881:6:19"},"nativeSrc":"370881:23:19","nodeType":"YulFunctionCall","src":"370881:23:19"},"nativeSrc":"370878:36:19","nodeType":"YulIf","src":"370878:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"370833:6:19","nodeType":"YulIdentifier","src":"370833:6:19"},{"kind":"number","nativeSrc":"370841:4:19","nodeType":"YulLiteral","src":"370841:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"370830:2:19","nodeType":"YulIdentifier","src":"370830:2:19"},"nativeSrc":"370830:16:19","nodeType":"YulFunctionCall","src":"370830:16:19"},"nativeSrc":"370823:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"370847:28:19","nodeType":"YulBlock","src":"370847:28:19","statements":[{"nativeSrc":"370849:24:19","nodeType":"YulAssignment","src":"370849:24:19","value":{"arguments":[{"name":"length","nativeSrc":"370863:6:19","nodeType":"YulIdentifier","src":"370863:6:19"},{"kind":"number","nativeSrc":"370871:1:19","nodeType":"YulLiteral","src":"370871:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"370859:3:19","nodeType":"YulIdentifier","src":"370859:3:19"},"nativeSrc":"370859:14:19","nodeType":"YulFunctionCall","src":"370859:14:19"},"variableNames":[{"name":"length","nativeSrc":"370849:6:19","nodeType":"YulIdentifier","src":"370849:6:19"}]}]},"pre":{"nativeSrc":"370827:2:19","nodeType":"YulBlock","src":"370827:2:19","statements":[]},"src":"370823:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"370940:3:19","nodeType":"YulIdentifier","src":"370940:3:19"},{"name":"length","nativeSrc":"370945:6:19","nodeType":"YulIdentifier","src":"370945:6:19"}],"functionName":{"name":"mstore","nativeSrc":"370933:6:19","nodeType":"YulIdentifier","src":"370933:6:19"},"nativeSrc":"370933:19:19","nodeType":"YulFunctionCall","src":"370933:19:19"},"nativeSrc":"370933:19:19","nodeType":"YulExpressionStatement","src":"370933:19:19"},{"nativeSrc":"370969:37:19","nodeType":"YulVariableDeclaration","src":"370969:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"370986:3:19","nodeType":"YulLiteral","src":"370986:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"370995:1:19","nodeType":"YulLiteral","src":"370995:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"370998:6:19","nodeType":"YulIdentifier","src":"370998:6:19"}],"functionName":{"name":"shl","nativeSrc":"370991:3:19","nodeType":"YulIdentifier","src":"370991:3:19"},"nativeSrc":"370991:14:19","nodeType":"YulFunctionCall","src":"370991:14:19"}],"functionName":{"name":"sub","nativeSrc":"370982:3:19","nodeType":"YulIdentifier","src":"370982:3:19"},"nativeSrc":"370982:24:19","nodeType":"YulFunctionCall","src":"370982:24:19"},"variables":[{"name":"shift","nativeSrc":"370973:5:19","nodeType":"YulTypedName","src":"370973:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"371034:3:19","nodeType":"YulIdentifier","src":"371034:3:19"},{"kind":"number","nativeSrc":"371039:4:19","nodeType":"YulLiteral","src":"371039:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"371030:3:19","nodeType":"YulIdentifier","src":"371030:3:19"},"nativeSrc":"371030:14:19","nodeType":"YulFunctionCall","src":"371030:14:19"},{"arguments":[{"name":"shift","nativeSrc":"371050:5:19","nodeType":"YulIdentifier","src":"371050:5:19"},{"arguments":[{"name":"shift","nativeSrc":"371061:5:19","nodeType":"YulIdentifier","src":"371061:5:19"},{"name":"w","nativeSrc":"371068:1:19","nodeType":"YulIdentifier","src":"371068:1:19"}],"functionName":{"name":"shr","nativeSrc":"371057:3:19","nodeType":"YulIdentifier","src":"371057:3:19"},"nativeSrc":"371057:13:19","nodeType":"YulFunctionCall","src":"371057:13:19"}],"functionName":{"name":"shl","nativeSrc":"371046:3:19","nodeType":"YulIdentifier","src":"371046:3:19"},"nativeSrc":"371046:25:19","nodeType":"YulFunctionCall","src":"371046:25:19"}],"functionName":{"name":"mstore","nativeSrc":"371023:6:19","nodeType":"YulIdentifier","src":"371023:6:19"},"nativeSrc":"371023:49:19","nodeType":"YulFunctionCall","src":"371023:49:19"},"nativeSrc":"371023:49:19","nodeType":"YulExpressionStatement","src":"371023:49:19"}]},"name":"writeString","nativeSrc":"370744:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"370765:3:19","nodeType":"YulTypedName","src":"370765:3:19","type":""},{"name":"w","nativeSrc":"370770:1:19","nodeType":"YulTypedName","src":"370770:1:19","type":""}],"src":"370744:342:19"},{"nativeSrc":"371099:17:19","nodeType":"YulAssignment","src":"371099:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"371111:4:19","nodeType":"YulLiteral","src":"371111:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"371105:5:19","nodeType":"YulIdentifier","src":"371105:5:19"},"nativeSrc":"371105:11:19","nodeType":"YulFunctionCall","src":"371105:11:19"},"variableNames":[{"name":"m0","nativeSrc":"371099:2:19","nodeType":"YulIdentifier","src":"371099:2:19"}]},{"nativeSrc":"371129:17:19","nodeType":"YulAssignment","src":"371129:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"371141:4:19","nodeType":"YulLiteral","src":"371141:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"371135:5:19","nodeType":"YulIdentifier","src":"371135:5:19"},"nativeSrc":"371135:11:19","nodeType":"YulFunctionCall","src":"371135:11:19"},"variableNames":[{"name":"m1","nativeSrc":"371129:2:19","nodeType":"YulIdentifier","src":"371129:2:19"}]},{"nativeSrc":"371159:17:19","nodeType":"YulAssignment","src":"371159:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"371171:4:19","nodeType":"YulLiteral","src":"371171:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"371165:5:19","nodeType":"YulIdentifier","src":"371165:5:19"},"nativeSrc":"371165:11:19","nodeType":"YulFunctionCall","src":"371165:11:19"},"variableNames":[{"name":"m2","nativeSrc":"371159:2:19","nodeType":"YulIdentifier","src":"371159:2:19"}]},{"nativeSrc":"371189:17:19","nodeType":"YulAssignment","src":"371189:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"371201:4:19","nodeType":"YulLiteral","src":"371201:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"371195:5:19","nodeType":"YulIdentifier","src":"371195:5:19"},"nativeSrc":"371195:11:19","nodeType":"YulFunctionCall","src":"371195:11:19"},"variableNames":[{"name":"m3","nativeSrc":"371189:2:19","nodeType":"YulIdentifier","src":"371189:2:19"}]},{"nativeSrc":"371219:17:19","nodeType":"YulAssignment","src":"371219:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"371231:4:19","nodeType":"YulLiteral","src":"371231:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"371225:5:19","nodeType":"YulIdentifier","src":"371225:5:19"},"nativeSrc":"371225:11:19","nodeType":"YulFunctionCall","src":"371225:11:19"},"variableNames":[{"name":"m4","nativeSrc":"371219:2:19","nodeType":"YulIdentifier","src":"371219:2:19"}]},{"nativeSrc":"371249:17:19","nodeType":"YulAssignment","src":"371249:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"371261:4:19","nodeType":"YulLiteral","src":"371261:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"371255:5:19","nodeType":"YulIdentifier","src":"371255:5:19"},"nativeSrc":"371255:11:19","nodeType":"YulFunctionCall","src":"371255:11:19"},"variableNames":[{"name":"m5","nativeSrc":"371249:2:19","nodeType":"YulIdentifier","src":"371249:2:19"}]},{"nativeSrc":"371279:17:19","nodeType":"YulAssignment","src":"371279:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"371291:4:19","nodeType":"YulLiteral","src":"371291:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"371285:5:19","nodeType":"YulIdentifier","src":"371285:5:19"},"nativeSrc":"371285:11:19","nodeType":"YulFunctionCall","src":"371285:11:19"},"variableNames":[{"name":"m6","nativeSrc":"371279:2:19","nodeType":"YulIdentifier","src":"371279:2:19"}]},{"nativeSrc":"371309:17:19","nodeType":"YulAssignment","src":"371309:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"371321:4:19","nodeType":"YulLiteral","src":"371321:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"371315:5:19","nodeType":"YulIdentifier","src":"371315:5:19"},"nativeSrc":"371315:11:19","nodeType":"YulFunctionCall","src":"371315:11:19"},"variableNames":[{"name":"m7","nativeSrc":"371309:2:19","nodeType":"YulIdentifier","src":"371309:2:19"}]},{"nativeSrc":"371339:18:19","nodeType":"YulAssignment","src":"371339:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"371351:5:19","nodeType":"YulLiteral","src":"371351:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"371345:5:19","nodeType":"YulIdentifier","src":"371345:5:19"},"nativeSrc":"371345:12:19","nodeType":"YulFunctionCall","src":"371345:12:19"},"variableNames":[{"name":"m8","nativeSrc":"371339:2:19","nodeType":"YulIdentifier","src":"371339:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371436:4:19","nodeType":"YulLiteral","src":"371436:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"371442:10:19","nodeType":"YulLiteral","src":"371442:10:19","type":"","value":"0x3f8a701d"}],"functionName":{"name":"mstore","nativeSrc":"371429:6:19","nodeType":"YulIdentifier","src":"371429:6:19"},"nativeSrc":"371429:24:19","nodeType":"YulFunctionCall","src":"371429:24:19"},"nativeSrc":"371429:24:19","nodeType":"YulExpressionStatement","src":"371429:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371473:4:19","nodeType":"YulLiteral","src":"371473:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"371479:4:19","nodeType":"YulLiteral","src":"371479:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"371466:6:19","nodeType":"YulIdentifier","src":"371466:6:19"},"nativeSrc":"371466:18:19","nodeType":"YulFunctionCall","src":"371466:18:19"},"nativeSrc":"371466:18:19","nodeType":"YulExpressionStatement","src":"371466:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371504:4:19","nodeType":"YulLiteral","src":"371504:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"371510:2:19","nodeType":"YulIdentifier","src":"371510:2:19"}],"functionName":{"name":"mstore","nativeSrc":"371497:6:19","nodeType":"YulIdentifier","src":"371497:6:19"},"nativeSrc":"371497:16:19","nodeType":"YulFunctionCall","src":"371497:16:19"},"nativeSrc":"371497:16:19","nodeType":"YulExpressionStatement","src":"371497:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371533:4:19","nodeType":"YulLiteral","src":"371533:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"371539:4:19","nodeType":"YulLiteral","src":"371539:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"371526:6:19","nodeType":"YulIdentifier","src":"371526:6:19"},"nativeSrc":"371526:18:19","nodeType":"YulFunctionCall","src":"371526:18:19"},"nativeSrc":"371526:18:19","nodeType":"YulExpressionStatement","src":"371526:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371564:4:19","nodeType":"YulLiteral","src":"371564:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"371570:2:19","nodeType":"YulIdentifier","src":"371570:2:19"}],"functionName":{"name":"mstore","nativeSrc":"371557:6:19","nodeType":"YulIdentifier","src":"371557:6:19"},"nativeSrc":"371557:16:19","nodeType":"YulFunctionCall","src":"371557:16:19"},"nativeSrc":"371557:16:19","nodeType":"YulExpressionStatement","src":"371557:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371598:4:19","nodeType":"YulLiteral","src":"371598:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"371604:2:19","nodeType":"YulIdentifier","src":"371604:2:19"}],"functionName":{"name":"writeString","nativeSrc":"371586:11:19","nodeType":"YulIdentifier","src":"371586:11:19"},"nativeSrc":"371586:21:19","nodeType":"YulFunctionCall","src":"371586:21:19"},"nativeSrc":"371586:21:19","nodeType":"YulExpressionStatement","src":"371586:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371632:4:19","nodeType":"YulLiteral","src":"371632:4:19","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"371638:2:19","nodeType":"YulIdentifier","src":"371638:2:19"}],"functionName":{"name":"writeString","nativeSrc":"371620:11:19","nodeType":"YulIdentifier","src":"371620:11:19"},"nativeSrc":"371620:21:19","nodeType":"YulFunctionCall","src":"371620:21:19"},"nativeSrc":"371620:21:19","nodeType":"YulExpressionStatement","src":"371620:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37754,"isOffset":false,"isSlot":false,"src":"371099:2:19","valueSize":1},{"declaration":37757,"isOffset":false,"isSlot":false,"src":"371129:2:19","valueSize":1},{"declaration":37760,"isOffset":false,"isSlot":false,"src":"371159:2:19","valueSize":1},{"declaration":37763,"isOffset":false,"isSlot":false,"src":"371189:2:19","valueSize":1},{"declaration":37766,"isOffset":false,"isSlot":false,"src":"371219:2:19","valueSize":1},{"declaration":37769,"isOffset":false,"isSlot":false,"src":"371249:2:19","valueSize":1},{"declaration":37772,"isOffset":false,"isSlot":false,"src":"371279:2:19","valueSize":1},{"declaration":37775,"isOffset":false,"isSlot":false,"src":"371309:2:19","valueSize":1},{"declaration":37778,"isOffset":false,"isSlot":false,"src":"371339:2:19","valueSize":1},{"declaration":37744,"isOffset":false,"isSlot":false,"src":"371604:2:19","valueSize":1},{"declaration":37746,"isOffset":false,"isSlot":false,"src":"371510:2:19","valueSize":1},{"declaration":37748,"isOffset":false,"isSlot":false,"src":"371638:2:19","valueSize":1},{"declaration":37750,"isOffset":false,"isSlot":false,"src":"371570:2:19","valueSize":1}],"id":37780,"nodeType":"InlineAssembly","src":"370721:930:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":37782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"371676:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":37783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"371682:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":37781,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"371660:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"371660:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37785,"nodeType":"ExpressionStatement","src":"371660:28:19"},{"AST":{"nativeSrc":"371750:273:19","nodeType":"YulBlock","src":"371750:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"371771:4:19","nodeType":"YulLiteral","src":"371771:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"371777:2:19","nodeType":"YulIdentifier","src":"371777:2:19"}],"functionName":{"name":"mstore","nativeSrc":"371764:6:19","nodeType":"YulIdentifier","src":"371764:6:19"},"nativeSrc":"371764:16:19","nodeType":"YulFunctionCall","src":"371764:16:19"},"nativeSrc":"371764:16:19","nodeType":"YulExpressionStatement","src":"371764:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371800:4:19","nodeType":"YulLiteral","src":"371800:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"371806:2:19","nodeType":"YulIdentifier","src":"371806:2:19"}],"functionName":{"name":"mstore","nativeSrc":"371793:6:19","nodeType":"YulIdentifier","src":"371793:6:19"},"nativeSrc":"371793:16:19","nodeType":"YulFunctionCall","src":"371793:16:19"},"nativeSrc":"371793:16:19","nodeType":"YulExpressionStatement","src":"371793:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371829:4:19","nodeType":"YulLiteral","src":"371829:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"371835:2:19","nodeType":"YulIdentifier","src":"371835:2:19"}],"functionName":{"name":"mstore","nativeSrc":"371822:6:19","nodeType":"YulIdentifier","src":"371822:6:19"},"nativeSrc":"371822:16:19","nodeType":"YulFunctionCall","src":"371822:16:19"},"nativeSrc":"371822:16:19","nodeType":"YulExpressionStatement","src":"371822:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371858:4:19","nodeType":"YulLiteral","src":"371858:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"371864:2:19","nodeType":"YulIdentifier","src":"371864:2:19"}],"functionName":{"name":"mstore","nativeSrc":"371851:6:19","nodeType":"YulIdentifier","src":"371851:6:19"},"nativeSrc":"371851:16:19","nodeType":"YulFunctionCall","src":"371851:16:19"},"nativeSrc":"371851:16:19","nodeType":"YulExpressionStatement","src":"371851:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371887:4:19","nodeType":"YulLiteral","src":"371887:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"371893:2:19","nodeType":"YulIdentifier","src":"371893:2:19"}],"functionName":{"name":"mstore","nativeSrc":"371880:6:19","nodeType":"YulIdentifier","src":"371880:6:19"},"nativeSrc":"371880:16:19","nodeType":"YulFunctionCall","src":"371880:16:19"},"nativeSrc":"371880:16:19","nodeType":"YulExpressionStatement","src":"371880:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371916:4:19","nodeType":"YulLiteral","src":"371916:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"371922:2:19","nodeType":"YulIdentifier","src":"371922:2:19"}],"functionName":{"name":"mstore","nativeSrc":"371909:6:19","nodeType":"YulIdentifier","src":"371909:6:19"},"nativeSrc":"371909:16:19","nodeType":"YulFunctionCall","src":"371909:16:19"},"nativeSrc":"371909:16:19","nodeType":"YulExpressionStatement","src":"371909:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371945:4:19","nodeType":"YulLiteral","src":"371945:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"371951:2:19","nodeType":"YulIdentifier","src":"371951:2:19"}],"functionName":{"name":"mstore","nativeSrc":"371938:6:19","nodeType":"YulIdentifier","src":"371938:6:19"},"nativeSrc":"371938:16:19","nodeType":"YulFunctionCall","src":"371938:16:19"},"nativeSrc":"371938:16:19","nodeType":"YulExpressionStatement","src":"371938:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"371974:4:19","nodeType":"YulLiteral","src":"371974:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"371980:2:19","nodeType":"YulIdentifier","src":"371980:2:19"}],"functionName":{"name":"mstore","nativeSrc":"371967:6:19","nodeType":"YulIdentifier","src":"371967:6:19"},"nativeSrc":"371967:16:19","nodeType":"YulFunctionCall","src":"371967:16:19"},"nativeSrc":"371967:16:19","nodeType":"YulExpressionStatement","src":"371967:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"372003:5:19","nodeType":"YulLiteral","src":"372003:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"372010:2:19","nodeType":"YulIdentifier","src":"372010:2:19"}],"functionName":{"name":"mstore","nativeSrc":"371996:6:19","nodeType":"YulIdentifier","src":"371996:6:19"},"nativeSrc":"371996:17:19","nodeType":"YulFunctionCall","src":"371996:17:19"},"nativeSrc":"371996:17:19","nodeType":"YulExpressionStatement","src":"371996:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37754,"isOffset":false,"isSlot":false,"src":"371777:2:19","valueSize":1},{"declaration":37757,"isOffset":false,"isSlot":false,"src":"371806:2:19","valueSize":1},{"declaration":37760,"isOffset":false,"isSlot":false,"src":"371835:2:19","valueSize":1},{"declaration":37763,"isOffset":false,"isSlot":false,"src":"371864:2:19","valueSize":1},{"declaration":37766,"isOffset":false,"isSlot":false,"src":"371893:2:19","valueSize":1},{"declaration":37769,"isOffset":false,"isSlot":false,"src":"371922:2:19","valueSize":1},{"declaration":37772,"isOffset":false,"isSlot":false,"src":"371951:2:19","valueSize":1},{"declaration":37775,"isOffset":false,"isSlot":false,"src":"371980:2:19","valueSize":1},{"declaration":37778,"isOffset":false,"isSlot":false,"src":"372010:2:19","valueSize":1}],"id":37786,"nodeType":"InlineAssembly","src":"371741:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"370428:3:19","parameters":{"id":37751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37744,"mutability":"mutable","name":"p0","nameLocation":"370440:2:19","nodeType":"VariableDeclaration","scope":37788,"src":"370432:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37743,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370432:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37746,"mutability":"mutable","name":"p1","nameLocation":"370449:2:19","nodeType":"VariableDeclaration","scope":37788,"src":"370444:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37745,"name":"bool","nodeType":"ElementaryTypeName","src":"370444:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37748,"mutability":"mutable","name":"p2","nameLocation":"370461:2:19","nodeType":"VariableDeclaration","scope":37788,"src":"370453:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37747,"name":"bytes32","nodeType":"ElementaryTypeName","src":"370453:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37750,"mutability":"mutable","name":"p3","nameLocation":"370470:2:19","nodeType":"VariableDeclaration","scope":37788,"src":"370465:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37749,"name":"bool","nodeType":"ElementaryTypeName","src":"370465:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"370431:42:19"},"returnParameters":{"id":37752,"nodeType":"ParameterList","parameters":[],"src":"370488:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37834,"nodeType":"FunctionDefinition","src":"372035:1616:19","nodes":[],"body":{"id":37833,"nodeType":"Block","src":"372107:1544:19","nodes":[],"statements":[{"assignments":[37800],"declarations":[{"constant":false,"id":37800,"mutability":"mutable","name":"m0","nameLocation":"372125:2:19","nodeType":"VariableDeclaration","scope":37833,"src":"372117:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37799,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372117:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37801,"nodeType":"VariableDeclarationStatement","src":"372117:10:19"},{"assignments":[37803],"declarations":[{"constant":false,"id":37803,"mutability":"mutable","name":"m1","nameLocation":"372145:2:19","nodeType":"VariableDeclaration","scope":37833,"src":"372137:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37802,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372137:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37804,"nodeType":"VariableDeclarationStatement","src":"372137:10:19"},{"assignments":[37806],"declarations":[{"constant":false,"id":37806,"mutability":"mutable","name":"m2","nameLocation":"372165:2:19","nodeType":"VariableDeclaration","scope":37833,"src":"372157:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37805,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372157:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37807,"nodeType":"VariableDeclarationStatement","src":"372157:10:19"},{"assignments":[37809],"declarations":[{"constant":false,"id":37809,"mutability":"mutable","name":"m3","nameLocation":"372185:2:19","nodeType":"VariableDeclaration","scope":37833,"src":"372177:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37808,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372177:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37810,"nodeType":"VariableDeclarationStatement","src":"372177:10:19"},{"assignments":[37812],"declarations":[{"constant":false,"id":37812,"mutability":"mutable","name":"m4","nameLocation":"372205:2:19","nodeType":"VariableDeclaration","scope":37833,"src":"372197:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37811,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372197:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37813,"nodeType":"VariableDeclarationStatement","src":"372197:10:19"},{"assignments":[37815],"declarations":[{"constant":false,"id":37815,"mutability":"mutable","name":"m5","nameLocation":"372225:2:19","nodeType":"VariableDeclaration","scope":37833,"src":"372217:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37814,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372217:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37816,"nodeType":"VariableDeclarationStatement","src":"372217:10:19"},{"assignments":[37818],"declarations":[{"constant":false,"id":37818,"mutability":"mutable","name":"m6","nameLocation":"372245:2:19","nodeType":"VariableDeclaration","scope":37833,"src":"372237:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37817,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372237:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37819,"nodeType":"VariableDeclarationStatement","src":"372237:10:19"},{"assignments":[37821],"declarations":[{"constant":false,"id":37821,"mutability":"mutable","name":"m7","nameLocation":"372265:2:19","nodeType":"VariableDeclaration","scope":37833,"src":"372257:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37820,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372257:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37822,"nodeType":"VariableDeclarationStatement","src":"372257:10:19"},{"assignments":[37824],"declarations":[{"constant":false,"id":37824,"mutability":"mutable","name":"m8","nameLocation":"372285:2:19","nodeType":"VariableDeclaration","scope":37833,"src":"372277:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37823,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372277:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37825,"nodeType":"VariableDeclarationStatement","src":"372277:10:19"},{"AST":{"nativeSrc":"372349:924:19","nodeType":"YulBlock","src":"372349:924:19","statements":[{"body":{"nativeSrc":"372392:313:19","nodeType":"YulBlock","src":"372392:313:19","statements":[{"nativeSrc":"372410:15:19","nodeType":"YulVariableDeclaration","src":"372410:15:19","value":{"kind":"number","nativeSrc":"372424:1:19","nodeType":"YulLiteral","src":"372424:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"372414:6:19","nodeType":"YulTypedName","src":"372414:6:19","type":""}]},{"body":{"nativeSrc":"372495:40:19","nodeType":"YulBlock","src":"372495:40:19","statements":[{"body":{"nativeSrc":"372524:9:19","nodeType":"YulBlock","src":"372524:9:19","statements":[{"nativeSrc":"372526:5:19","nodeType":"YulBreak","src":"372526:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"372512:6:19","nodeType":"YulIdentifier","src":"372512:6:19"},{"name":"w","nativeSrc":"372520:1:19","nodeType":"YulIdentifier","src":"372520:1:19"}],"functionName":{"name":"byte","nativeSrc":"372507:4:19","nodeType":"YulIdentifier","src":"372507:4:19"},"nativeSrc":"372507:15:19","nodeType":"YulFunctionCall","src":"372507:15:19"}],"functionName":{"name":"iszero","nativeSrc":"372500:6:19","nodeType":"YulIdentifier","src":"372500:6:19"},"nativeSrc":"372500:23:19","nodeType":"YulFunctionCall","src":"372500:23:19"},"nativeSrc":"372497:36:19","nodeType":"YulIf","src":"372497:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"372452:6:19","nodeType":"YulIdentifier","src":"372452:6:19"},{"kind":"number","nativeSrc":"372460:4:19","nodeType":"YulLiteral","src":"372460:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"372449:2:19","nodeType":"YulIdentifier","src":"372449:2:19"},"nativeSrc":"372449:16:19","nodeType":"YulFunctionCall","src":"372449:16:19"},"nativeSrc":"372442:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"372466:28:19","nodeType":"YulBlock","src":"372466:28:19","statements":[{"nativeSrc":"372468:24:19","nodeType":"YulAssignment","src":"372468:24:19","value":{"arguments":[{"name":"length","nativeSrc":"372482:6:19","nodeType":"YulIdentifier","src":"372482:6:19"},{"kind":"number","nativeSrc":"372490:1:19","nodeType":"YulLiteral","src":"372490:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"372478:3:19","nodeType":"YulIdentifier","src":"372478:3:19"},"nativeSrc":"372478:14:19","nodeType":"YulFunctionCall","src":"372478:14:19"},"variableNames":[{"name":"length","nativeSrc":"372468:6:19","nodeType":"YulIdentifier","src":"372468:6:19"}]}]},"pre":{"nativeSrc":"372446:2:19","nodeType":"YulBlock","src":"372446:2:19","statements":[]},"src":"372442:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"372559:3:19","nodeType":"YulIdentifier","src":"372559:3:19"},{"name":"length","nativeSrc":"372564:6:19","nodeType":"YulIdentifier","src":"372564:6:19"}],"functionName":{"name":"mstore","nativeSrc":"372552:6:19","nodeType":"YulIdentifier","src":"372552:6:19"},"nativeSrc":"372552:19:19","nodeType":"YulFunctionCall","src":"372552:19:19"},"nativeSrc":"372552:19:19","nodeType":"YulExpressionStatement","src":"372552:19:19"},{"nativeSrc":"372588:37:19","nodeType":"YulVariableDeclaration","src":"372588:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"372605:3:19","nodeType":"YulLiteral","src":"372605:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"372614:1:19","nodeType":"YulLiteral","src":"372614:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"372617:6:19","nodeType":"YulIdentifier","src":"372617:6:19"}],"functionName":{"name":"shl","nativeSrc":"372610:3:19","nodeType":"YulIdentifier","src":"372610:3:19"},"nativeSrc":"372610:14:19","nodeType":"YulFunctionCall","src":"372610:14:19"}],"functionName":{"name":"sub","nativeSrc":"372601:3:19","nodeType":"YulIdentifier","src":"372601:3:19"},"nativeSrc":"372601:24:19","nodeType":"YulFunctionCall","src":"372601:24:19"},"variables":[{"name":"shift","nativeSrc":"372592:5:19","nodeType":"YulTypedName","src":"372592:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"372653:3:19","nodeType":"YulIdentifier","src":"372653:3:19"},{"kind":"number","nativeSrc":"372658:4:19","nodeType":"YulLiteral","src":"372658:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"372649:3:19","nodeType":"YulIdentifier","src":"372649:3:19"},"nativeSrc":"372649:14:19","nodeType":"YulFunctionCall","src":"372649:14:19"},{"arguments":[{"name":"shift","nativeSrc":"372669:5:19","nodeType":"YulIdentifier","src":"372669:5:19"},{"arguments":[{"name":"shift","nativeSrc":"372680:5:19","nodeType":"YulIdentifier","src":"372680:5:19"},{"name":"w","nativeSrc":"372687:1:19","nodeType":"YulIdentifier","src":"372687:1:19"}],"functionName":{"name":"shr","nativeSrc":"372676:3:19","nodeType":"YulIdentifier","src":"372676:3:19"},"nativeSrc":"372676:13:19","nodeType":"YulFunctionCall","src":"372676:13:19"}],"functionName":{"name":"shl","nativeSrc":"372665:3:19","nodeType":"YulIdentifier","src":"372665:3:19"},"nativeSrc":"372665:25:19","nodeType":"YulFunctionCall","src":"372665:25:19"}],"functionName":{"name":"mstore","nativeSrc":"372642:6:19","nodeType":"YulIdentifier","src":"372642:6:19"},"nativeSrc":"372642:49:19","nodeType":"YulFunctionCall","src":"372642:49:19"},"nativeSrc":"372642:49:19","nodeType":"YulExpressionStatement","src":"372642:49:19"}]},"name":"writeString","nativeSrc":"372363:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"372384:3:19","nodeType":"YulTypedName","src":"372384:3:19","type":""},{"name":"w","nativeSrc":"372389:1:19","nodeType":"YulTypedName","src":"372389:1:19","type":""}],"src":"372363:342:19"},{"nativeSrc":"372718:17:19","nodeType":"YulAssignment","src":"372718:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"372730:4:19","nodeType":"YulLiteral","src":"372730:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"372724:5:19","nodeType":"YulIdentifier","src":"372724:5:19"},"nativeSrc":"372724:11:19","nodeType":"YulFunctionCall","src":"372724:11:19"},"variableNames":[{"name":"m0","nativeSrc":"372718:2:19","nodeType":"YulIdentifier","src":"372718:2:19"}]},{"nativeSrc":"372748:17:19","nodeType":"YulAssignment","src":"372748:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"372760:4:19","nodeType":"YulLiteral","src":"372760:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"372754:5:19","nodeType":"YulIdentifier","src":"372754:5:19"},"nativeSrc":"372754:11:19","nodeType":"YulFunctionCall","src":"372754:11:19"},"variableNames":[{"name":"m1","nativeSrc":"372748:2:19","nodeType":"YulIdentifier","src":"372748:2:19"}]},{"nativeSrc":"372778:17:19","nodeType":"YulAssignment","src":"372778:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"372790:4:19","nodeType":"YulLiteral","src":"372790:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"372784:5:19","nodeType":"YulIdentifier","src":"372784:5:19"},"nativeSrc":"372784:11:19","nodeType":"YulFunctionCall","src":"372784:11:19"},"variableNames":[{"name":"m2","nativeSrc":"372778:2:19","nodeType":"YulIdentifier","src":"372778:2:19"}]},{"nativeSrc":"372808:17:19","nodeType":"YulAssignment","src":"372808:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"372820:4:19","nodeType":"YulLiteral","src":"372820:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"372814:5:19","nodeType":"YulIdentifier","src":"372814:5:19"},"nativeSrc":"372814:11:19","nodeType":"YulFunctionCall","src":"372814:11:19"},"variableNames":[{"name":"m3","nativeSrc":"372808:2:19","nodeType":"YulIdentifier","src":"372808:2:19"}]},{"nativeSrc":"372838:17:19","nodeType":"YulAssignment","src":"372838:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"372850:4:19","nodeType":"YulLiteral","src":"372850:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"372844:5:19","nodeType":"YulIdentifier","src":"372844:5:19"},"nativeSrc":"372844:11:19","nodeType":"YulFunctionCall","src":"372844:11:19"},"variableNames":[{"name":"m4","nativeSrc":"372838:2:19","nodeType":"YulIdentifier","src":"372838:2:19"}]},{"nativeSrc":"372868:17:19","nodeType":"YulAssignment","src":"372868:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"372880:4:19","nodeType":"YulLiteral","src":"372880:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"372874:5:19","nodeType":"YulIdentifier","src":"372874:5:19"},"nativeSrc":"372874:11:19","nodeType":"YulFunctionCall","src":"372874:11:19"},"variableNames":[{"name":"m5","nativeSrc":"372868:2:19","nodeType":"YulIdentifier","src":"372868:2:19"}]},{"nativeSrc":"372898:17:19","nodeType":"YulAssignment","src":"372898:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"372910:4:19","nodeType":"YulLiteral","src":"372910:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"372904:5:19","nodeType":"YulIdentifier","src":"372904:5:19"},"nativeSrc":"372904:11:19","nodeType":"YulFunctionCall","src":"372904:11:19"},"variableNames":[{"name":"m6","nativeSrc":"372898:2:19","nodeType":"YulIdentifier","src":"372898:2:19"}]},{"nativeSrc":"372928:17:19","nodeType":"YulAssignment","src":"372928:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"372940:4:19","nodeType":"YulLiteral","src":"372940:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"372934:5:19","nodeType":"YulIdentifier","src":"372934:5:19"},"nativeSrc":"372934:11:19","nodeType":"YulFunctionCall","src":"372934:11:19"},"variableNames":[{"name":"m7","nativeSrc":"372928:2:19","nodeType":"YulIdentifier","src":"372928:2:19"}]},{"nativeSrc":"372958:18:19","nodeType":"YulAssignment","src":"372958:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"372970:5:19","nodeType":"YulLiteral","src":"372970:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"372964:5:19","nodeType":"YulIdentifier","src":"372964:5:19"},"nativeSrc":"372964:12:19","nodeType":"YulFunctionCall","src":"372964:12:19"},"variableNames":[{"name":"m8","nativeSrc":"372958:2:19","nodeType":"YulIdentifier","src":"372958:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373058:4:19","nodeType":"YulLiteral","src":"373058:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"373064:10:19","nodeType":"YulLiteral","src":"373064:10:19","type":"","value":"0x24f91465"}],"functionName":{"name":"mstore","nativeSrc":"373051:6:19","nodeType":"YulIdentifier","src":"373051:6:19"},"nativeSrc":"373051:24:19","nodeType":"YulFunctionCall","src":"373051:24:19"},"nativeSrc":"373051:24:19","nodeType":"YulExpressionStatement","src":"373051:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373095:4:19","nodeType":"YulLiteral","src":"373095:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"373101:4:19","nodeType":"YulLiteral","src":"373101:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"373088:6:19","nodeType":"YulIdentifier","src":"373088:6:19"},"nativeSrc":"373088:18:19","nodeType":"YulFunctionCall","src":"373088:18:19"},"nativeSrc":"373088:18:19","nodeType":"YulExpressionStatement","src":"373088:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373126:4:19","nodeType":"YulLiteral","src":"373126:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"373132:2:19","nodeType":"YulIdentifier","src":"373132:2:19"}],"functionName":{"name":"mstore","nativeSrc":"373119:6:19","nodeType":"YulIdentifier","src":"373119:6:19"},"nativeSrc":"373119:16:19","nodeType":"YulFunctionCall","src":"373119:16:19"},"nativeSrc":"373119:16:19","nodeType":"YulExpressionStatement","src":"373119:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373155:4:19","nodeType":"YulLiteral","src":"373155:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"373161:4:19","nodeType":"YulLiteral","src":"373161:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"373148:6:19","nodeType":"YulIdentifier","src":"373148:6:19"},"nativeSrc":"373148:18:19","nodeType":"YulFunctionCall","src":"373148:18:19"},"nativeSrc":"373148:18:19","nodeType":"YulExpressionStatement","src":"373148:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373186:4:19","nodeType":"YulLiteral","src":"373186:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"373192:2:19","nodeType":"YulIdentifier","src":"373192:2:19"}],"functionName":{"name":"mstore","nativeSrc":"373179:6:19","nodeType":"YulIdentifier","src":"373179:6:19"},"nativeSrc":"373179:16:19","nodeType":"YulFunctionCall","src":"373179:16:19"},"nativeSrc":"373179:16:19","nodeType":"YulExpressionStatement","src":"373179:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373220:4:19","nodeType":"YulLiteral","src":"373220:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"373226:2:19","nodeType":"YulIdentifier","src":"373226:2:19"}],"functionName":{"name":"writeString","nativeSrc":"373208:11:19","nodeType":"YulIdentifier","src":"373208:11:19"},"nativeSrc":"373208:21:19","nodeType":"YulFunctionCall","src":"373208:21:19"},"nativeSrc":"373208:21:19","nodeType":"YulExpressionStatement","src":"373208:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373254:4:19","nodeType":"YulLiteral","src":"373254:4:19","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"373260:2:19","nodeType":"YulIdentifier","src":"373260:2:19"}],"functionName":{"name":"writeString","nativeSrc":"373242:11:19","nodeType":"YulIdentifier","src":"373242:11:19"},"nativeSrc":"373242:21:19","nodeType":"YulFunctionCall","src":"373242:21:19"},"nativeSrc":"373242:21:19","nodeType":"YulExpressionStatement","src":"373242:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37800,"isOffset":false,"isSlot":false,"src":"372718:2:19","valueSize":1},{"declaration":37803,"isOffset":false,"isSlot":false,"src":"372748:2:19","valueSize":1},{"declaration":37806,"isOffset":false,"isSlot":false,"src":"372778:2:19","valueSize":1},{"declaration":37809,"isOffset":false,"isSlot":false,"src":"372808:2:19","valueSize":1},{"declaration":37812,"isOffset":false,"isSlot":false,"src":"372838:2:19","valueSize":1},{"declaration":37815,"isOffset":false,"isSlot":false,"src":"372868:2:19","valueSize":1},{"declaration":37818,"isOffset":false,"isSlot":false,"src":"372898:2:19","valueSize":1},{"declaration":37821,"isOffset":false,"isSlot":false,"src":"372928:2:19","valueSize":1},{"declaration":37824,"isOffset":false,"isSlot":false,"src":"372958:2:19","valueSize":1},{"declaration":37790,"isOffset":false,"isSlot":false,"src":"373226:2:19","valueSize":1},{"declaration":37792,"isOffset":false,"isSlot":false,"src":"373132:2:19","valueSize":1},{"declaration":37794,"isOffset":false,"isSlot":false,"src":"373260:2:19","valueSize":1},{"declaration":37796,"isOffset":false,"isSlot":false,"src":"373192:2:19","valueSize":1}],"id":37826,"nodeType":"InlineAssembly","src":"372340:933:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":37828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"373298:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":37829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"373304:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":37827,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"373282:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"373282:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37831,"nodeType":"ExpressionStatement","src":"373282:28:19"},{"AST":{"nativeSrc":"373372:273:19","nodeType":"YulBlock","src":"373372:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"373393:4:19","nodeType":"YulLiteral","src":"373393:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"373399:2:19","nodeType":"YulIdentifier","src":"373399:2:19"}],"functionName":{"name":"mstore","nativeSrc":"373386:6:19","nodeType":"YulIdentifier","src":"373386:6:19"},"nativeSrc":"373386:16:19","nodeType":"YulFunctionCall","src":"373386:16:19"},"nativeSrc":"373386:16:19","nodeType":"YulExpressionStatement","src":"373386:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373422:4:19","nodeType":"YulLiteral","src":"373422:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"373428:2:19","nodeType":"YulIdentifier","src":"373428:2:19"}],"functionName":{"name":"mstore","nativeSrc":"373415:6:19","nodeType":"YulIdentifier","src":"373415:6:19"},"nativeSrc":"373415:16:19","nodeType":"YulFunctionCall","src":"373415:16:19"},"nativeSrc":"373415:16:19","nodeType":"YulExpressionStatement","src":"373415:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373451:4:19","nodeType":"YulLiteral","src":"373451:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"373457:2:19","nodeType":"YulIdentifier","src":"373457:2:19"}],"functionName":{"name":"mstore","nativeSrc":"373444:6:19","nodeType":"YulIdentifier","src":"373444:6:19"},"nativeSrc":"373444:16:19","nodeType":"YulFunctionCall","src":"373444:16:19"},"nativeSrc":"373444:16:19","nodeType":"YulExpressionStatement","src":"373444:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373480:4:19","nodeType":"YulLiteral","src":"373480:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"373486:2:19","nodeType":"YulIdentifier","src":"373486:2:19"}],"functionName":{"name":"mstore","nativeSrc":"373473:6:19","nodeType":"YulIdentifier","src":"373473:6:19"},"nativeSrc":"373473:16:19","nodeType":"YulFunctionCall","src":"373473:16:19"},"nativeSrc":"373473:16:19","nodeType":"YulExpressionStatement","src":"373473:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373509:4:19","nodeType":"YulLiteral","src":"373509:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"373515:2:19","nodeType":"YulIdentifier","src":"373515:2:19"}],"functionName":{"name":"mstore","nativeSrc":"373502:6:19","nodeType":"YulIdentifier","src":"373502:6:19"},"nativeSrc":"373502:16:19","nodeType":"YulFunctionCall","src":"373502:16:19"},"nativeSrc":"373502:16:19","nodeType":"YulExpressionStatement","src":"373502:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373538:4:19","nodeType":"YulLiteral","src":"373538:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"373544:2:19","nodeType":"YulIdentifier","src":"373544:2:19"}],"functionName":{"name":"mstore","nativeSrc":"373531:6:19","nodeType":"YulIdentifier","src":"373531:6:19"},"nativeSrc":"373531:16:19","nodeType":"YulFunctionCall","src":"373531:16:19"},"nativeSrc":"373531:16:19","nodeType":"YulExpressionStatement","src":"373531:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373567:4:19","nodeType":"YulLiteral","src":"373567:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"373573:2:19","nodeType":"YulIdentifier","src":"373573:2:19"}],"functionName":{"name":"mstore","nativeSrc":"373560:6:19","nodeType":"YulIdentifier","src":"373560:6:19"},"nativeSrc":"373560:16:19","nodeType":"YulFunctionCall","src":"373560:16:19"},"nativeSrc":"373560:16:19","nodeType":"YulExpressionStatement","src":"373560:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373596:4:19","nodeType":"YulLiteral","src":"373596:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"373602:2:19","nodeType":"YulIdentifier","src":"373602:2:19"}],"functionName":{"name":"mstore","nativeSrc":"373589:6:19","nodeType":"YulIdentifier","src":"373589:6:19"},"nativeSrc":"373589:16:19","nodeType":"YulFunctionCall","src":"373589:16:19"},"nativeSrc":"373589:16:19","nodeType":"YulExpressionStatement","src":"373589:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"373625:5:19","nodeType":"YulLiteral","src":"373625:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"373632:2:19","nodeType":"YulIdentifier","src":"373632:2:19"}],"functionName":{"name":"mstore","nativeSrc":"373618:6:19","nodeType":"YulIdentifier","src":"373618:6:19"},"nativeSrc":"373618:17:19","nodeType":"YulFunctionCall","src":"373618:17:19"},"nativeSrc":"373618:17:19","nodeType":"YulExpressionStatement","src":"373618:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37800,"isOffset":false,"isSlot":false,"src":"373399:2:19","valueSize":1},{"declaration":37803,"isOffset":false,"isSlot":false,"src":"373428:2:19","valueSize":1},{"declaration":37806,"isOffset":false,"isSlot":false,"src":"373457:2:19","valueSize":1},{"declaration":37809,"isOffset":false,"isSlot":false,"src":"373486:2:19","valueSize":1},{"declaration":37812,"isOffset":false,"isSlot":false,"src":"373515:2:19","valueSize":1},{"declaration":37815,"isOffset":false,"isSlot":false,"src":"373544:2:19","valueSize":1},{"declaration":37818,"isOffset":false,"isSlot":false,"src":"373573:2:19","valueSize":1},{"declaration":37821,"isOffset":false,"isSlot":false,"src":"373602:2:19","valueSize":1},{"declaration":37824,"isOffset":false,"isSlot":false,"src":"373632:2:19","valueSize":1}],"id":37832,"nodeType":"InlineAssembly","src":"373363:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"372044:3:19","parameters":{"id":37797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37790,"mutability":"mutable","name":"p0","nameLocation":"372056:2:19","nodeType":"VariableDeclaration","scope":37834,"src":"372048:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37789,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372048:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37792,"mutability":"mutable","name":"p1","nameLocation":"372065:2:19","nodeType":"VariableDeclaration","scope":37834,"src":"372060:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37791,"name":"bool","nodeType":"ElementaryTypeName","src":"372060:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37794,"mutability":"mutable","name":"p2","nameLocation":"372077:2:19","nodeType":"VariableDeclaration","scope":37834,"src":"372069:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"372069:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37796,"mutability":"mutable","name":"p3","nameLocation":"372089:2:19","nodeType":"VariableDeclaration","scope":37834,"src":"372081:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37795,"name":"uint256","nodeType":"ElementaryTypeName","src":"372081:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"372047:45:19"},"returnParameters":{"id":37798,"nodeType":"ParameterList","parameters":[],"src":"372107:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37886,"nodeType":"FunctionDefinition","src":"373657:1818:19","nodes":[],"body":{"id":37885,"nodeType":"Block","src":"373729:1746:19","nodes":[],"statements":[{"assignments":[37846],"declarations":[{"constant":false,"id":37846,"mutability":"mutable","name":"m0","nameLocation":"373747:2:19","nodeType":"VariableDeclaration","scope":37885,"src":"373739:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37845,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373739:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37847,"nodeType":"VariableDeclarationStatement","src":"373739:10:19"},{"assignments":[37849],"declarations":[{"constant":false,"id":37849,"mutability":"mutable","name":"m1","nameLocation":"373767:2:19","nodeType":"VariableDeclaration","scope":37885,"src":"373759:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37848,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373759:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37850,"nodeType":"VariableDeclarationStatement","src":"373759:10:19"},{"assignments":[37852],"declarations":[{"constant":false,"id":37852,"mutability":"mutable","name":"m2","nameLocation":"373787:2:19","nodeType":"VariableDeclaration","scope":37885,"src":"373779:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37851,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373779:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37853,"nodeType":"VariableDeclarationStatement","src":"373779:10:19"},{"assignments":[37855],"declarations":[{"constant":false,"id":37855,"mutability":"mutable","name":"m3","nameLocation":"373807:2:19","nodeType":"VariableDeclaration","scope":37885,"src":"373799:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37854,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373799:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37856,"nodeType":"VariableDeclarationStatement","src":"373799:10:19"},{"assignments":[37858],"declarations":[{"constant":false,"id":37858,"mutability":"mutable","name":"m4","nameLocation":"373827:2:19","nodeType":"VariableDeclaration","scope":37885,"src":"373819:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37857,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373819:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37859,"nodeType":"VariableDeclarationStatement","src":"373819:10:19"},{"assignments":[37861],"declarations":[{"constant":false,"id":37861,"mutability":"mutable","name":"m5","nameLocation":"373847:2:19","nodeType":"VariableDeclaration","scope":37885,"src":"373839:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37860,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373839:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37862,"nodeType":"VariableDeclarationStatement","src":"373839:10:19"},{"assignments":[37864],"declarations":[{"constant":false,"id":37864,"mutability":"mutable","name":"m6","nameLocation":"373867:2:19","nodeType":"VariableDeclaration","scope":37885,"src":"373859:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37863,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373859:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37865,"nodeType":"VariableDeclarationStatement","src":"373859:10:19"},{"assignments":[37867],"declarations":[{"constant":false,"id":37867,"mutability":"mutable","name":"m7","nameLocation":"373887:2:19","nodeType":"VariableDeclaration","scope":37885,"src":"373879:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37866,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373879:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37868,"nodeType":"VariableDeclarationStatement","src":"373879:10:19"},{"assignments":[37870],"declarations":[{"constant":false,"id":37870,"mutability":"mutable","name":"m8","nameLocation":"373907:2:19","nodeType":"VariableDeclaration","scope":37885,"src":"373899:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37869,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373899:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37871,"nodeType":"VariableDeclarationStatement","src":"373899:10:19"},{"assignments":[37873],"declarations":[{"constant":false,"id":37873,"mutability":"mutable","name":"m9","nameLocation":"373927:2:19","nodeType":"VariableDeclaration","scope":37885,"src":"373919:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37872,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373919:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37874,"nodeType":"VariableDeclarationStatement","src":"373919:10:19"},{"assignments":[37876],"declarations":[{"constant":false,"id":37876,"mutability":"mutable","name":"m10","nameLocation":"373947:3:19","nodeType":"VariableDeclaration","scope":37885,"src":"373939:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37875,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373939:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37877,"nodeType":"VariableDeclarationStatement","src":"373939:11:19"},{"AST":{"nativeSrc":"374012:1024:19","nodeType":"YulBlock","src":"374012:1024:19","statements":[{"body":{"nativeSrc":"374055:313:19","nodeType":"YulBlock","src":"374055:313:19","statements":[{"nativeSrc":"374073:15:19","nodeType":"YulVariableDeclaration","src":"374073:15:19","value":{"kind":"number","nativeSrc":"374087:1:19","nodeType":"YulLiteral","src":"374087:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"374077:6:19","nodeType":"YulTypedName","src":"374077:6:19","type":""}]},{"body":{"nativeSrc":"374158:40:19","nodeType":"YulBlock","src":"374158:40:19","statements":[{"body":{"nativeSrc":"374187:9:19","nodeType":"YulBlock","src":"374187:9:19","statements":[{"nativeSrc":"374189:5:19","nodeType":"YulBreak","src":"374189:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"374175:6:19","nodeType":"YulIdentifier","src":"374175:6:19"},{"name":"w","nativeSrc":"374183:1:19","nodeType":"YulIdentifier","src":"374183:1:19"}],"functionName":{"name":"byte","nativeSrc":"374170:4:19","nodeType":"YulIdentifier","src":"374170:4:19"},"nativeSrc":"374170:15:19","nodeType":"YulFunctionCall","src":"374170:15:19"}],"functionName":{"name":"iszero","nativeSrc":"374163:6:19","nodeType":"YulIdentifier","src":"374163:6:19"},"nativeSrc":"374163:23:19","nodeType":"YulFunctionCall","src":"374163:23:19"},"nativeSrc":"374160:36:19","nodeType":"YulIf","src":"374160:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"374115:6:19","nodeType":"YulIdentifier","src":"374115:6:19"},{"kind":"number","nativeSrc":"374123:4:19","nodeType":"YulLiteral","src":"374123:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"374112:2:19","nodeType":"YulIdentifier","src":"374112:2:19"},"nativeSrc":"374112:16:19","nodeType":"YulFunctionCall","src":"374112:16:19"},"nativeSrc":"374105:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"374129:28:19","nodeType":"YulBlock","src":"374129:28:19","statements":[{"nativeSrc":"374131:24:19","nodeType":"YulAssignment","src":"374131:24:19","value":{"arguments":[{"name":"length","nativeSrc":"374145:6:19","nodeType":"YulIdentifier","src":"374145:6:19"},{"kind":"number","nativeSrc":"374153:1:19","nodeType":"YulLiteral","src":"374153:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"374141:3:19","nodeType":"YulIdentifier","src":"374141:3:19"},"nativeSrc":"374141:14:19","nodeType":"YulFunctionCall","src":"374141:14:19"},"variableNames":[{"name":"length","nativeSrc":"374131:6:19","nodeType":"YulIdentifier","src":"374131:6:19"}]}]},"pre":{"nativeSrc":"374109:2:19","nodeType":"YulBlock","src":"374109:2:19","statements":[]},"src":"374105:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"374222:3:19","nodeType":"YulIdentifier","src":"374222:3:19"},{"name":"length","nativeSrc":"374227:6:19","nodeType":"YulIdentifier","src":"374227:6:19"}],"functionName":{"name":"mstore","nativeSrc":"374215:6:19","nodeType":"YulIdentifier","src":"374215:6:19"},"nativeSrc":"374215:19:19","nodeType":"YulFunctionCall","src":"374215:19:19"},"nativeSrc":"374215:19:19","nodeType":"YulExpressionStatement","src":"374215:19:19"},{"nativeSrc":"374251:37:19","nodeType":"YulVariableDeclaration","src":"374251:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"374268:3:19","nodeType":"YulLiteral","src":"374268:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"374277:1:19","nodeType":"YulLiteral","src":"374277:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"374280:6:19","nodeType":"YulIdentifier","src":"374280:6:19"}],"functionName":{"name":"shl","nativeSrc":"374273:3:19","nodeType":"YulIdentifier","src":"374273:3:19"},"nativeSrc":"374273:14:19","nodeType":"YulFunctionCall","src":"374273:14:19"}],"functionName":{"name":"sub","nativeSrc":"374264:3:19","nodeType":"YulIdentifier","src":"374264:3:19"},"nativeSrc":"374264:24:19","nodeType":"YulFunctionCall","src":"374264:24:19"},"variables":[{"name":"shift","nativeSrc":"374255:5:19","nodeType":"YulTypedName","src":"374255:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"374316:3:19","nodeType":"YulIdentifier","src":"374316:3:19"},{"kind":"number","nativeSrc":"374321:4:19","nodeType":"YulLiteral","src":"374321:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"374312:3:19","nodeType":"YulIdentifier","src":"374312:3:19"},"nativeSrc":"374312:14:19","nodeType":"YulFunctionCall","src":"374312:14:19"},{"arguments":[{"name":"shift","nativeSrc":"374332:5:19","nodeType":"YulIdentifier","src":"374332:5:19"},{"arguments":[{"name":"shift","nativeSrc":"374343:5:19","nodeType":"YulIdentifier","src":"374343:5:19"},{"name":"w","nativeSrc":"374350:1:19","nodeType":"YulIdentifier","src":"374350:1:19"}],"functionName":{"name":"shr","nativeSrc":"374339:3:19","nodeType":"YulIdentifier","src":"374339:3:19"},"nativeSrc":"374339:13:19","nodeType":"YulFunctionCall","src":"374339:13:19"}],"functionName":{"name":"shl","nativeSrc":"374328:3:19","nodeType":"YulIdentifier","src":"374328:3:19"},"nativeSrc":"374328:25:19","nodeType":"YulFunctionCall","src":"374328:25:19"}],"functionName":{"name":"mstore","nativeSrc":"374305:6:19","nodeType":"YulIdentifier","src":"374305:6:19"},"nativeSrc":"374305:49:19","nodeType":"YulFunctionCall","src":"374305:49:19"},"nativeSrc":"374305:49:19","nodeType":"YulExpressionStatement","src":"374305:49:19"}]},"name":"writeString","nativeSrc":"374026:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"374047:3:19","nodeType":"YulTypedName","src":"374047:3:19","type":""},{"name":"w","nativeSrc":"374052:1:19","nodeType":"YulTypedName","src":"374052:1:19","type":""}],"src":"374026:342:19"},{"nativeSrc":"374381:17:19","nodeType":"YulAssignment","src":"374381:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"374393:4:19","nodeType":"YulLiteral","src":"374393:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"374387:5:19","nodeType":"YulIdentifier","src":"374387:5:19"},"nativeSrc":"374387:11:19","nodeType":"YulFunctionCall","src":"374387:11:19"},"variableNames":[{"name":"m0","nativeSrc":"374381:2:19","nodeType":"YulIdentifier","src":"374381:2:19"}]},{"nativeSrc":"374411:17:19","nodeType":"YulAssignment","src":"374411:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"374423:4:19","nodeType":"YulLiteral","src":"374423:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"374417:5:19","nodeType":"YulIdentifier","src":"374417:5:19"},"nativeSrc":"374417:11:19","nodeType":"YulFunctionCall","src":"374417:11:19"},"variableNames":[{"name":"m1","nativeSrc":"374411:2:19","nodeType":"YulIdentifier","src":"374411:2:19"}]},{"nativeSrc":"374441:17:19","nodeType":"YulAssignment","src":"374441:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"374453:4:19","nodeType":"YulLiteral","src":"374453:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"374447:5:19","nodeType":"YulIdentifier","src":"374447:5:19"},"nativeSrc":"374447:11:19","nodeType":"YulFunctionCall","src":"374447:11:19"},"variableNames":[{"name":"m2","nativeSrc":"374441:2:19","nodeType":"YulIdentifier","src":"374441:2:19"}]},{"nativeSrc":"374471:17:19","nodeType":"YulAssignment","src":"374471:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"374483:4:19","nodeType":"YulLiteral","src":"374483:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"374477:5:19","nodeType":"YulIdentifier","src":"374477:5:19"},"nativeSrc":"374477:11:19","nodeType":"YulFunctionCall","src":"374477:11:19"},"variableNames":[{"name":"m3","nativeSrc":"374471:2:19","nodeType":"YulIdentifier","src":"374471:2:19"}]},{"nativeSrc":"374501:17:19","nodeType":"YulAssignment","src":"374501:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"374513:4:19","nodeType":"YulLiteral","src":"374513:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"374507:5:19","nodeType":"YulIdentifier","src":"374507:5:19"},"nativeSrc":"374507:11:19","nodeType":"YulFunctionCall","src":"374507:11:19"},"variableNames":[{"name":"m4","nativeSrc":"374501:2:19","nodeType":"YulIdentifier","src":"374501:2:19"}]},{"nativeSrc":"374531:17:19","nodeType":"YulAssignment","src":"374531:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"374543:4:19","nodeType":"YulLiteral","src":"374543:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"374537:5:19","nodeType":"YulIdentifier","src":"374537:5:19"},"nativeSrc":"374537:11:19","nodeType":"YulFunctionCall","src":"374537:11:19"},"variableNames":[{"name":"m5","nativeSrc":"374531:2:19","nodeType":"YulIdentifier","src":"374531:2:19"}]},{"nativeSrc":"374561:17:19","nodeType":"YulAssignment","src":"374561:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"374573:4:19","nodeType":"YulLiteral","src":"374573:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"374567:5:19","nodeType":"YulIdentifier","src":"374567:5:19"},"nativeSrc":"374567:11:19","nodeType":"YulFunctionCall","src":"374567:11:19"},"variableNames":[{"name":"m6","nativeSrc":"374561:2:19","nodeType":"YulIdentifier","src":"374561:2:19"}]},{"nativeSrc":"374591:17:19","nodeType":"YulAssignment","src":"374591:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"374603:4:19","nodeType":"YulLiteral","src":"374603:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"374597:5:19","nodeType":"YulIdentifier","src":"374597:5:19"},"nativeSrc":"374597:11:19","nodeType":"YulFunctionCall","src":"374597:11:19"},"variableNames":[{"name":"m7","nativeSrc":"374591:2:19","nodeType":"YulIdentifier","src":"374591:2:19"}]},{"nativeSrc":"374621:18:19","nodeType":"YulAssignment","src":"374621:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"374633:5:19","nodeType":"YulLiteral","src":"374633:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"374627:5:19","nodeType":"YulIdentifier","src":"374627:5:19"},"nativeSrc":"374627:12:19","nodeType":"YulFunctionCall","src":"374627:12:19"},"variableNames":[{"name":"m8","nativeSrc":"374621:2:19","nodeType":"YulIdentifier","src":"374621:2:19"}]},{"nativeSrc":"374652:18:19","nodeType":"YulAssignment","src":"374652:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"374664:5:19","nodeType":"YulLiteral","src":"374664:5:19","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"374658:5:19","nodeType":"YulIdentifier","src":"374658:5:19"},"nativeSrc":"374658:12:19","nodeType":"YulFunctionCall","src":"374658:12:19"},"variableNames":[{"name":"m9","nativeSrc":"374652:2:19","nodeType":"YulIdentifier","src":"374652:2:19"}]},{"nativeSrc":"374683:19:19","nodeType":"YulAssignment","src":"374683:19:19","value":{"arguments":[{"kind":"number","nativeSrc":"374696:5:19","nodeType":"YulLiteral","src":"374696:5:19","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"374690:5:19","nodeType":"YulIdentifier","src":"374690:5:19"},"nativeSrc":"374690:12:19","nodeType":"YulFunctionCall","src":"374690:12:19"},"variableNames":[{"name":"m10","nativeSrc":"374683:3:19","nodeType":"YulIdentifier","src":"374683:3:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"374783:4:19","nodeType":"YulLiteral","src":"374783:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"374789:10:19","nodeType":"YulLiteral","src":"374789:10:19","type":"","value":"0xa826caeb"}],"functionName":{"name":"mstore","nativeSrc":"374776:6:19","nodeType":"YulIdentifier","src":"374776:6:19"},"nativeSrc":"374776:24:19","nodeType":"YulFunctionCall","src":"374776:24:19"},"nativeSrc":"374776:24:19","nodeType":"YulExpressionStatement","src":"374776:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"374820:4:19","nodeType":"YulLiteral","src":"374820:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"374826:4:19","nodeType":"YulLiteral","src":"374826:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"374813:6:19","nodeType":"YulIdentifier","src":"374813:6:19"},"nativeSrc":"374813:18:19","nodeType":"YulFunctionCall","src":"374813:18:19"},"nativeSrc":"374813:18:19","nodeType":"YulExpressionStatement","src":"374813:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"374851:4:19","nodeType":"YulLiteral","src":"374851:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"374857:2:19","nodeType":"YulIdentifier","src":"374857:2:19"}],"functionName":{"name":"mstore","nativeSrc":"374844:6:19","nodeType":"YulIdentifier","src":"374844:6:19"},"nativeSrc":"374844:16:19","nodeType":"YulFunctionCall","src":"374844:16:19"},"nativeSrc":"374844:16:19","nodeType":"YulExpressionStatement","src":"374844:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"374880:4:19","nodeType":"YulLiteral","src":"374880:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"374886:4:19","nodeType":"YulLiteral","src":"374886:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"374873:6:19","nodeType":"YulIdentifier","src":"374873:6:19"},"nativeSrc":"374873:18:19","nodeType":"YulFunctionCall","src":"374873:18:19"},"nativeSrc":"374873:18:19","nodeType":"YulExpressionStatement","src":"374873:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"374911:4:19","nodeType":"YulLiteral","src":"374911:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"374917:5:19","nodeType":"YulLiteral","src":"374917:5:19","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"374904:6:19","nodeType":"YulIdentifier","src":"374904:6:19"},"nativeSrc":"374904:19:19","nodeType":"YulFunctionCall","src":"374904:19:19"},"nativeSrc":"374904:19:19","nodeType":"YulExpressionStatement","src":"374904:19:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"374948:4:19","nodeType":"YulLiteral","src":"374948:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"374954:2:19","nodeType":"YulIdentifier","src":"374954:2:19"}],"functionName":{"name":"writeString","nativeSrc":"374936:11:19","nodeType":"YulIdentifier","src":"374936:11:19"},"nativeSrc":"374936:21:19","nodeType":"YulFunctionCall","src":"374936:21:19"},"nativeSrc":"374936:21:19","nodeType":"YulExpressionStatement","src":"374936:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"374982:4:19","nodeType":"YulLiteral","src":"374982:4:19","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"374988:2:19","nodeType":"YulIdentifier","src":"374988:2:19"}],"functionName":{"name":"writeString","nativeSrc":"374970:11:19","nodeType":"YulIdentifier","src":"374970:11:19"},"nativeSrc":"374970:21:19","nodeType":"YulFunctionCall","src":"374970:21:19"},"nativeSrc":"374970:21:19","nodeType":"YulExpressionStatement","src":"374970:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375016:5:19","nodeType":"YulLiteral","src":"375016:5:19","type":"","value":"0x120"},{"name":"p3","nativeSrc":"375023:2:19","nodeType":"YulIdentifier","src":"375023:2:19"}],"functionName":{"name":"writeString","nativeSrc":"375004:11:19","nodeType":"YulIdentifier","src":"375004:11:19"},"nativeSrc":"375004:22:19","nodeType":"YulFunctionCall","src":"375004:22:19"},"nativeSrc":"375004:22:19","nodeType":"YulExpressionStatement","src":"375004:22:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37846,"isOffset":false,"isSlot":false,"src":"374381:2:19","valueSize":1},{"declaration":37849,"isOffset":false,"isSlot":false,"src":"374411:2:19","valueSize":1},{"declaration":37876,"isOffset":false,"isSlot":false,"src":"374683:3:19","valueSize":1},{"declaration":37852,"isOffset":false,"isSlot":false,"src":"374441:2:19","valueSize":1},{"declaration":37855,"isOffset":false,"isSlot":false,"src":"374471:2:19","valueSize":1},{"declaration":37858,"isOffset":false,"isSlot":false,"src":"374501:2:19","valueSize":1},{"declaration":37861,"isOffset":false,"isSlot":false,"src":"374531:2:19","valueSize":1},{"declaration":37864,"isOffset":false,"isSlot":false,"src":"374561:2:19","valueSize":1},{"declaration":37867,"isOffset":false,"isSlot":false,"src":"374591:2:19","valueSize":1},{"declaration":37870,"isOffset":false,"isSlot":false,"src":"374621:2:19","valueSize":1},{"declaration":37873,"isOffset":false,"isSlot":false,"src":"374652:2:19","valueSize":1},{"declaration":37836,"isOffset":false,"isSlot":false,"src":"374954:2:19","valueSize":1},{"declaration":37838,"isOffset":false,"isSlot":false,"src":"374857:2:19","valueSize":1},{"declaration":37840,"isOffset":false,"isSlot":false,"src":"374988:2:19","valueSize":1},{"declaration":37842,"isOffset":false,"isSlot":false,"src":"375023:2:19","valueSize":1}],"id":37878,"nodeType":"InlineAssembly","src":"374003:1033:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":37880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"375061:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":37881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"375067:5:19","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"0x144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"}],"id":37879,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"375045:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"375045:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37883,"nodeType":"ExpressionStatement","src":"375045:28:19"},{"AST":{"nativeSrc":"375135:334:19","nodeType":"YulBlock","src":"375135:334:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"375156:4:19","nodeType":"YulLiteral","src":"375156:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"375162:2:19","nodeType":"YulIdentifier","src":"375162:2:19"}],"functionName":{"name":"mstore","nativeSrc":"375149:6:19","nodeType":"YulIdentifier","src":"375149:6:19"},"nativeSrc":"375149:16:19","nodeType":"YulFunctionCall","src":"375149:16:19"},"nativeSrc":"375149:16:19","nodeType":"YulExpressionStatement","src":"375149:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375185:4:19","nodeType":"YulLiteral","src":"375185:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"375191:2:19","nodeType":"YulIdentifier","src":"375191:2:19"}],"functionName":{"name":"mstore","nativeSrc":"375178:6:19","nodeType":"YulIdentifier","src":"375178:6:19"},"nativeSrc":"375178:16:19","nodeType":"YulFunctionCall","src":"375178:16:19"},"nativeSrc":"375178:16:19","nodeType":"YulExpressionStatement","src":"375178:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375214:4:19","nodeType":"YulLiteral","src":"375214:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"375220:2:19","nodeType":"YulIdentifier","src":"375220:2:19"}],"functionName":{"name":"mstore","nativeSrc":"375207:6:19","nodeType":"YulIdentifier","src":"375207:6:19"},"nativeSrc":"375207:16:19","nodeType":"YulFunctionCall","src":"375207:16:19"},"nativeSrc":"375207:16:19","nodeType":"YulExpressionStatement","src":"375207:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375243:4:19","nodeType":"YulLiteral","src":"375243:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"375249:2:19","nodeType":"YulIdentifier","src":"375249:2:19"}],"functionName":{"name":"mstore","nativeSrc":"375236:6:19","nodeType":"YulIdentifier","src":"375236:6:19"},"nativeSrc":"375236:16:19","nodeType":"YulFunctionCall","src":"375236:16:19"},"nativeSrc":"375236:16:19","nodeType":"YulExpressionStatement","src":"375236:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375272:4:19","nodeType":"YulLiteral","src":"375272:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"375278:2:19","nodeType":"YulIdentifier","src":"375278:2:19"}],"functionName":{"name":"mstore","nativeSrc":"375265:6:19","nodeType":"YulIdentifier","src":"375265:6:19"},"nativeSrc":"375265:16:19","nodeType":"YulFunctionCall","src":"375265:16:19"},"nativeSrc":"375265:16:19","nodeType":"YulExpressionStatement","src":"375265:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375301:4:19","nodeType":"YulLiteral","src":"375301:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"375307:2:19","nodeType":"YulIdentifier","src":"375307:2:19"}],"functionName":{"name":"mstore","nativeSrc":"375294:6:19","nodeType":"YulIdentifier","src":"375294:6:19"},"nativeSrc":"375294:16:19","nodeType":"YulFunctionCall","src":"375294:16:19"},"nativeSrc":"375294:16:19","nodeType":"YulExpressionStatement","src":"375294:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375330:4:19","nodeType":"YulLiteral","src":"375330:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"375336:2:19","nodeType":"YulIdentifier","src":"375336:2:19"}],"functionName":{"name":"mstore","nativeSrc":"375323:6:19","nodeType":"YulIdentifier","src":"375323:6:19"},"nativeSrc":"375323:16:19","nodeType":"YulFunctionCall","src":"375323:16:19"},"nativeSrc":"375323:16:19","nodeType":"YulExpressionStatement","src":"375323:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375359:4:19","nodeType":"YulLiteral","src":"375359:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"375365:2:19","nodeType":"YulIdentifier","src":"375365:2:19"}],"functionName":{"name":"mstore","nativeSrc":"375352:6:19","nodeType":"YulIdentifier","src":"375352:6:19"},"nativeSrc":"375352:16:19","nodeType":"YulFunctionCall","src":"375352:16:19"},"nativeSrc":"375352:16:19","nodeType":"YulExpressionStatement","src":"375352:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375388:5:19","nodeType":"YulLiteral","src":"375388:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"375395:2:19","nodeType":"YulIdentifier","src":"375395:2:19"}],"functionName":{"name":"mstore","nativeSrc":"375381:6:19","nodeType":"YulIdentifier","src":"375381:6:19"},"nativeSrc":"375381:17:19","nodeType":"YulFunctionCall","src":"375381:17:19"},"nativeSrc":"375381:17:19","nodeType":"YulExpressionStatement","src":"375381:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375418:5:19","nodeType":"YulLiteral","src":"375418:5:19","type":"","value":"0x120"},{"name":"m9","nativeSrc":"375425:2:19","nodeType":"YulIdentifier","src":"375425:2:19"}],"functionName":{"name":"mstore","nativeSrc":"375411:6:19","nodeType":"YulIdentifier","src":"375411:6:19"},"nativeSrc":"375411:17:19","nodeType":"YulFunctionCall","src":"375411:17:19"},"nativeSrc":"375411:17:19","nodeType":"YulExpressionStatement","src":"375411:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"375448:5:19","nodeType":"YulLiteral","src":"375448:5:19","type":"","value":"0x140"},{"name":"m10","nativeSrc":"375455:3:19","nodeType":"YulIdentifier","src":"375455:3:19"}],"functionName":{"name":"mstore","nativeSrc":"375441:6:19","nodeType":"YulIdentifier","src":"375441:6:19"},"nativeSrc":"375441:18:19","nodeType":"YulFunctionCall","src":"375441:18:19"},"nativeSrc":"375441:18:19","nodeType":"YulExpressionStatement","src":"375441:18:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37846,"isOffset":false,"isSlot":false,"src":"375162:2:19","valueSize":1},{"declaration":37849,"isOffset":false,"isSlot":false,"src":"375191:2:19","valueSize":1},{"declaration":37876,"isOffset":false,"isSlot":false,"src":"375455:3:19","valueSize":1},{"declaration":37852,"isOffset":false,"isSlot":false,"src":"375220:2:19","valueSize":1},{"declaration":37855,"isOffset":false,"isSlot":false,"src":"375249:2:19","valueSize":1},{"declaration":37858,"isOffset":false,"isSlot":false,"src":"375278:2:19","valueSize":1},{"declaration":37861,"isOffset":false,"isSlot":false,"src":"375307:2:19","valueSize":1},{"declaration":37864,"isOffset":false,"isSlot":false,"src":"375336:2:19","valueSize":1},{"declaration":37867,"isOffset":false,"isSlot":false,"src":"375365:2:19","valueSize":1},{"declaration":37870,"isOffset":false,"isSlot":false,"src":"375395:2:19","valueSize":1},{"declaration":37873,"isOffset":false,"isSlot":false,"src":"375425:2:19","valueSize":1}],"id":37884,"nodeType":"InlineAssembly","src":"375126:343:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"373666:3:19","parameters":{"id":37843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37836,"mutability":"mutable","name":"p0","nameLocation":"373678:2:19","nodeType":"VariableDeclaration","scope":37886,"src":"373670:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37835,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373670:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37838,"mutability":"mutable","name":"p1","nameLocation":"373687:2:19","nodeType":"VariableDeclaration","scope":37886,"src":"373682:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37837,"name":"bool","nodeType":"ElementaryTypeName","src":"373682:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":37840,"mutability":"mutable","name":"p2","nameLocation":"373699:2:19","nodeType":"VariableDeclaration","scope":37886,"src":"373691:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37839,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373691:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37842,"mutability":"mutable","name":"p3","nameLocation":"373711:2:19","nodeType":"VariableDeclaration","scope":37886,"src":"373703:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37841,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373703:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"373669:45:19"},"returnParameters":{"id":37844,"nodeType":"ParameterList","parameters":[],"src":"373729:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37926,"nodeType":"FunctionDefinition","src":"375481:1426:19","nodes":[],"body":{"id":37925,"nodeType":"Block","src":"375556:1351:19","nodes":[],"statements":[{"assignments":[37898],"declarations":[{"constant":false,"id":37898,"mutability":"mutable","name":"m0","nameLocation":"375574:2:19","nodeType":"VariableDeclaration","scope":37925,"src":"375566:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37897,"name":"bytes32","nodeType":"ElementaryTypeName","src":"375566:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37899,"nodeType":"VariableDeclarationStatement","src":"375566:10:19"},{"assignments":[37901],"declarations":[{"constant":false,"id":37901,"mutability":"mutable","name":"m1","nameLocation":"375594:2:19","nodeType":"VariableDeclaration","scope":37925,"src":"375586:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37900,"name":"bytes32","nodeType":"ElementaryTypeName","src":"375586:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37902,"nodeType":"VariableDeclarationStatement","src":"375586:10:19"},{"assignments":[37904],"declarations":[{"constant":false,"id":37904,"mutability":"mutable","name":"m2","nameLocation":"375614:2:19","nodeType":"VariableDeclaration","scope":37925,"src":"375606:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37903,"name":"bytes32","nodeType":"ElementaryTypeName","src":"375606:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37905,"nodeType":"VariableDeclarationStatement","src":"375606:10:19"},{"assignments":[37907],"declarations":[{"constant":false,"id":37907,"mutability":"mutable","name":"m3","nameLocation":"375634:2:19","nodeType":"VariableDeclaration","scope":37925,"src":"375626:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37906,"name":"bytes32","nodeType":"ElementaryTypeName","src":"375626:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37908,"nodeType":"VariableDeclarationStatement","src":"375626:10:19"},{"assignments":[37910],"declarations":[{"constant":false,"id":37910,"mutability":"mutable","name":"m4","nameLocation":"375654:2:19","nodeType":"VariableDeclaration","scope":37925,"src":"375646:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37909,"name":"bytes32","nodeType":"ElementaryTypeName","src":"375646:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37911,"nodeType":"VariableDeclarationStatement","src":"375646:10:19"},{"assignments":[37913],"declarations":[{"constant":false,"id":37913,"mutability":"mutable","name":"m5","nameLocation":"375674:2:19","nodeType":"VariableDeclaration","scope":37925,"src":"375666:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37912,"name":"bytes32","nodeType":"ElementaryTypeName","src":"375666:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37914,"nodeType":"VariableDeclarationStatement","src":"375666:10:19"},{"assignments":[37916],"declarations":[{"constant":false,"id":37916,"mutability":"mutable","name":"m6","nameLocation":"375694:2:19","nodeType":"VariableDeclaration","scope":37925,"src":"375686:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37915,"name":"bytes32","nodeType":"ElementaryTypeName","src":"375686:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37917,"nodeType":"VariableDeclarationStatement","src":"375686:10:19"},{"AST":{"nativeSrc":"375758:831:19","nodeType":"YulBlock","src":"375758:831:19","statements":[{"body":{"nativeSrc":"375801:313:19","nodeType":"YulBlock","src":"375801:313:19","statements":[{"nativeSrc":"375819:15:19","nodeType":"YulVariableDeclaration","src":"375819:15:19","value":{"kind":"number","nativeSrc":"375833:1:19","nodeType":"YulLiteral","src":"375833:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"375823:6:19","nodeType":"YulTypedName","src":"375823:6:19","type":""}]},{"body":{"nativeSrc":"375904:40:19","nodeType":"YulBlock","src":"375904:40:19","statements":[{"body":{"nativeSrc":"375933:9:19","nodeType":"YulBlock","src":"375933:9:19","statements":[{"nativeSrc":"375935:5:19","nodeType":"YulBreak","src":"375935:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"375921:6:19","nodeType":"YulIdentifier","src":"375921:6:19"},{"name":"w","nativeSrc":"375929:1:19","nodeType":"YulIdentifier","src":"375929:1:19"}],"functionName":{"name":"byte","nativeSrc":"375916:4:19","nodeType":"YulIdentifier","src":"375916:4:19"},"nativeSrc":"375916:15:19","nodeType":"YulFunctionCall","src":"375916:15:19"}],"functionName":{"name":"iszero","nativeSrc":"375909:6:19","nodeType":"YulIdentifier","src":"375909:6:19"},"nativeSrc":"375909:23:19","nodeType":"YulFunctionCall","src":"375909:23:19"},"nativeSrc":"375906:36:19","nodeType":"YulIf","src":"375906:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"375861:6:19","nodeType":"YulIdentifier","src":"375861:6:19"},{"kind":"number","nativeSrc":"375869:4:19","nodeType":"YulLiteral","src":"375869:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"375858:2:19","nodeType":"YulIdentifier","src":"375858:2:19"},"nativeSrc":"375858:16:19","nodeType":"YulFunctionCall","src":"375858:16:19"},"nativeSrc":"375851:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"375875:28:19","nodeType":"YulBlock","src":"375875:28:19","statements":[{"nativeSrc":"375877:24:19","nodeType":"YulAssignment","src":"375877:24:19","value":{"arguments":[{"name":"length","nativeSrc":"375891:6:19","nodeType":"YulIdentifier","src":"375891:6:19"},{"kind":"number","nativeSrc":"375899:1:19","nodeType":"YulLiteral","src":"375899:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"375887:3:19","nodeType":"YulIdentifier","src":"375887:3:19"},"nativeSrc":"375887:14:19","nodeType":"YulFunctionCall","src":"375887:14:19"},"variableNames":[{"name":"length","nativeSrc":"375877:6:19","nodeType":"YulIdentifier","src":"375877:6:19"}]}]},"pre":{"nativeSrc":"375855:2:19","nodeType":"YulBlock","src":"375855:2:19","statements":[]},"src":"375851:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"375968:3:19","nodeType":"YulIdentifier","src":"375968:3:19"},{"name":"length","nativeSrc":"375973:6:19","nodeType":"YulIdentifier","src":"375973:6:19"}],"functionName":{"name":"mstore","nativeSrc":"375961:6:19","nodeType":"YulIdentifier","src":"375961:6:19"},"nativeSrc":"375961:19:19","nodeType":"YulFunctionCall","src":"375961:19:19"},"nativeSrc":"375961:19:19","nodeType":"YulExpressionStatement","src":"375961:19:19"},{"nativeSrc":"375997:37:19","nodeType":"YulVariableDeclaration","src":"375997:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"376014:3:19","nodeType":"YulLiteral","src":"376014:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"376023:1:19","nodeType":"YulLiteral","src":"376023:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"376026:6:19","nodeType":"YulIdentifier","src":"376026:6:19"}],"functionName":{"name":"shl","nativeSrc":"376019:3:19","nodeType":"YulIdentifier","src":"376019:3:19"},"nativeSrc":"376019:14:19","nodeType":"YulFunctionCall","src":"376019:14:19"}],"functionName":{"name":"sub","nativeSrc":"376010:3:19","nodeType":"YulIdentifier","src":"376010:3:19"},"nativeSrc":"376010:24:19","nodeType":"YulFunctionCall","src":"376010:24:19"},"variables":[{"name":"shift","nativeSrc":"376001:5:19","nodeType":"YulTypedName","src":"376001:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"376062:3:19","nodeType":"YulIdentifier","src":"376062:3:19"},{"kind":"number","nativeSrc":"376067:4:19","nodeType":"YulLiteral","src":"376067:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"376058:3:19","nodeType":"YulIdentifier","src":"376058:3:19"},"nativeSrc":"376058:14:19","nodeType":"YulFunctionCall","src":"376058:14:19"},{"arguments":[{"name":"shift","nativeSrc":"376078:5:19","nodeType":"YulIdentifier","src":"376078:5:19"},{"arguments":[{"name":"shift","nativeSrc":"376089:5:19","nodeType":"YulIdentifier","src":"376089:5:19"},{"name":"w","nativeSrc":"376096:1:19","nodeType":"YulIdentifier","src":"376096:1:19"}],"functionName":{"name":"shr","nativeSrc":"376085:3:19","nodeType":"YulIdentifier","src":"376085:3:19"},"nativeSrc":"376085:13:19","nodeType":"YulFunctionCall","src":"376085:13:19"}],"functionName":{"name":"shl","nativeSrc":"376074:3:19","nodeType":"YulIdentifier","src":"376074:3:19"},"nativeSrc":"376074:25:19","nodeType":"YulFunctionCall","src":"376074:25:19"}],"functionName":{"name":"mstore","nativeSrc":"376051:6:19","nodeType":"YulIdentifier","src":"376051:6:19"},"nativeSrc":"376051:49:19","nodeType":"YulFunctionCall","src":"376051:49:19"},"nativeSrc":"376051:49:19","nodeType":"YulExpressionStatement","src":"376051:49:19"}]},"name":"writeString","nativeSrc":"375772:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"375793:3:19","nodeType":"YulTypedName","src":"375793:3:19","type":""},{"name":"w","nativeSrc":"375798:1:19","nodeType":"YulTypedName","src":"375798:1:19","type":""}],"src":"375772:342:19"},{"nativeSrc":"376127:17:19","nodeType":"YulAssignment","src":"376127:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"376139:4:19","nodeType":"YulLiteral","src":"376139:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"376133:5:19","nodeType":"YulIdentifier","src":"376133:5:19"},"nativeSrc":"376133:11:19","nodeType":"YulFunctionCall","src":"376133:11:19"},"variableNames":[{"name":"m0","nativeSrc":"376127:2:19","nodeType":"YulIdentifier","src":"376127:2:19"}]},{"nativeSrc":"376157:17:19","nodeType":"YulAssignment","src":"376157:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"376169:4:19","nodeType":"YulLiteral","src":"376169:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"376163:5:19","nodeType":"YulIdentifier","src":"376163:5:19"},"nativeSrc":"376163:11:19","nodeType":"YulFunctionCall","src":"376163:11:19"},"variableNames":[{"name":"m1","nativeSrc":"376157:2:19","nodeType":"YulIdentifier","src":"376157:2:19"}]},{"nativeSrc":"376187:17:19","nodeType":"YulAssignment","src":"376187:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"376199:4:19","nodeType":"YulLiteral","src":"376199:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"376193:5:19","nodeType":"YulIdentifier","src":"376193:5:19"},"nativeSrc":"376193:11:19","nodeType":"YulFunctionCall","src":"376193:11:19"},"variableNames":[{"name":"m2","nativeSrc":"376187:2:19","nodeType":"YulIdentifier","src":"376187:2:19"}]},{"nativeSrc":"376217:17:19","nodeType":"YulAssignment","src":"376217:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"376229:4:19","nodeType":"YulLiteral","src":"376229:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"376223:5:19","nodeType":"YulIdentifier","src":"376223:5:19"},"nativeSrc":"376223:11:19","nodeType":"YulFunctionCall","src":"376223:11:19"},"variableNames":[{"name":"m3","nativeSrc":"376217:2:19","nodeType":"YulIdentifier","src":"376217:2:19"}]},{"nativeSrc":"376247:17:19","nodeType":"YulAssignment","src":"376247:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"376259:4:19","nodeType":"YulLiteral","src":"376259:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"376253:5:19","nodeType":"YulIdentifier","src":"376253:5:19"},"nativeSrc":"376253:11:19","nodeType":"YulFunctionCall","src":"376253:11:19"},"variableNames":[{"name":"m4","nativeSrc":"376247:2:19","nodeType":"YulIdentifier","src":"376247:2:19"}]},{"nativeSrc":"376277:17:19","nodeType":"YulAssignment","src":"376277:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"376289:4:19","nodeType":"YulLiteral","src":"376289:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"376283:5:19","nodeType":"YulIdentifier","src":"376283:5:19"},"nativeSrc":"376283:11:19","nodeType":"YulFunctionCall","src":"376283:11:19"},"variableNames":[{"name":"m5","nativeSrc":"376277:2:19","nodeType":"YulIdentifier","src":"376277:2:19"}]},{"nativeSrc":"376307:17:19","nodeType":"YulAssignment","src":"376307:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"376319:4:19","nodeType":"YulLiteral","src":"376319:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"376313:5:19","nodeType":"YulIdentifier","src":"376313:5:19"},"nativeSrc":"376313:11:19","nodeType":"YulFunctionCall","src":"376313:11:19"},"variableNames":[{"name":"m6","nativeSrc":"376307:2:19","nodeType":"YulIdentifier","src":"376307:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376410:4:19","nodeType":"YulLiteral","src":"376410:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"376416:10:19","nodeType":"YulLiteral","src":"376416:10:19","type":"","value":"0x5ea2b7ae"}],"functionName":{"name":"mstore","nativeSrc":"376403:6:19","nodeType":"YulIdentifier","src":"376403:6:19"},"nativeSrc":"376403:24:19","nodeType":"YulFunctionCall","src":"376403:24:19"},"nativeSrc":"376403:24:19","nodeType":"YulExpressionStatement","src":"376403:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376447:4:19","nodeType":"YulLiteral","src":"376447:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"376453:4:19","nodeType":"YulLiteral","src":"376453:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"376440:6:19","nodeType":"YulIdentifier","src":"376440:6:19"},"nativeSrc":"376440:18:19","nodeType":"YulFunctionCall","src":"376440:18:19"},"nativeSrc":"376440:18:19","nodeType":"YulExpressionStatement","src":"376440:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376478:4:19","nodeType":"YulLiteral","src":"376478:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"376484:2:19","nodeType":"YulIdentifier","src":"376484:2:19"}],"functionName":{"name":"mstore","nativeSrc":"376471:6:19","nodeType":"YulIdentifier","src":"376471:6:19"},"nativeSrc":"376471:16:19","nodeType":"YulFunctionCall","src":"376471:16:19"},"nativeSrc":"376471:16:19","nodeType":"YulExpressionStatement","src":"376471:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376507:4:19","nodeType":"YulLiteral","src":"376507:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"376513:2:19","nodeType":"YulIdentifier","src":"376513:2:19"}],"functionName":{"name":"mstore","nativeSrc":"376500:6:19","nodeType":"YulIdentifier","src":"376500:6:19"},"nativeSrc":"376500:16:19","nodeType":"YulFunctionCall","src":"376500:16:19"},"nativeSrc":"376500:16:19","nodeType":"YulExpressionStatement","src":"376500:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376536:4:19","nodeType":"YulLiteral","src":"376536:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"376542:2:19","nodeType":"YulIdentifier","src":"376542:2:19"}],"functionName":{"name":"mstore","nativeSrc":"376529:6:19","nodeType":"YulIdentifier","src":"376529:6:19"},"nativeSrc":"376529:16:19","nodeType":"YulFunctionCall","src":"376529:16:19"},"nativeSrc":"376529:16:19","nodeType":"YulExpressionStatement","src":"376529:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376570:4:19","nodeType":"YulLiteral","src":"376570:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"376576:2:19","nodeType":"YulIdentifier","src":"376576:2:19"}],"functionName":{"name":"writeString","nativeSrc":"376558:11:19","nodeType":"YulIdentifier","src":"376558:11:19"},"nativeSrc":"376558:21:19","nodeType":"YulFunctionCall","src":"376558:21:19"},"nativeSrc":"376558:21:19","nodeType":"YulExpressionStatement","src":"376558:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37898,"isOffset":false,"isSlot":false,"src":"376127:2:19","valueSize":1},{"declaration":37901,"isOffset":false,"isSlot":false,"src":"376157:2:19","valueSize":1},{"declaration":37904,"isOffset":false,"isSlot":false,"src":"376187:2:19","valueSize":1},{"declaration":37907,"isOffset":false,"isSlot":false,"src":"376217:2:19","valueSize":1},{"declaration":37910,"isOffset":false,"isSlot":false,"src":"376247:2:19","valueSize":1},{"declaration":37913,"isOffset":false,"isSlot":false,"src":"376277:2:19","valueSize":1},{"declaration":37916,"isOffset":false,"isSlot":false,"src":"376307:2:19","valueSize":1},{"declaration":37888,"isOffset":false,"isSlot":false,"src":"376576:2:19","valueSize":1},{"declaration":37890,"isOffset":false,"isSlot":false,"src":"376484:2:19","valueSize":1},{"declaration":37892,"isOffset":false,"isSlot":false,"src":"376513:2:19","valueSize":1},{"declaration":37894,"isOffset":false,"isSlot":false,"src":"376542:2:19","valueSize":1}],"id":37918,"nodeType":"InlineAssembly","src":"375749:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":37920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"376614:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"376620:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":37919,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"376598:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"376598:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37923,"nodeType":"ExpressionStatement","src":"376598:27:19"},{"AST":{"nativeSrc":"376687:214:19","nodeType":"YulBlock","src":"376687:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"376708:4:19","nodeType":"YulLiteral","src":"376708:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"376714:2:19","nodeType":"YulIdentifier","src":"376714:2:19"}],"functionName":{"name":"mstore","nativeSrc":"376701:6:19","nodeType":"YulIdentifier","src":"376701:6:19"},"nativeSrc":"376701:16:19","nodeType":"YulFunctionCall","src":"376701:16:19"},"nativeSrc":"376701:16:19","nodeType":"YulExpressionStatement","src":"376701:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376737:4:19","nodeType":"YulLiteral","src":"376737:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"376743:2:19","nodeType":"YulIdentifier","src":"376743:2:19"}],"functionName":{"name":"mstore","nativeSrc":"376730:6:19","nodeType":"YulIdentifier","src":"376730:6:19"},"nativeSrc":"376730:16:19","nodeType":"YulFunctionCall","src":"376730:16:19"},"nativeSrc":"376730:16:19","nodeType":"YulExpressionStatement","src":"376730:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376766:4:19","nodeType":"YulLiteral","src":"376766:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"376772:2:19","nodeType":"YulIdentifier","src":"376772:2:19"}],"functionName":{"name":"mstore","nativeSrc":"376759:6:19","nodeType":"YulIdentifier","src":"376759:6:19"},"nativeSrc":"376759:16:19","nodeType":"YulFunctionCall","src":"376759:16:19"},"nativeSrc":"376759:16:19","nodeType":"YulExpressionStatement","src":"376759:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376795:4:19","nodeType":"YulLiteral","src":"376795:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"376801:2:19","nodeType":"YulIdentifier","src":"376801:2:19"}],"functionName":{"name":"mstore","nativeSrc":"376788:6:19","nodeType":"YulIdentifier","src":"376788:6:19"},"nativeSrc":"376788:16:19","nodeType":"YulFunctionCall","src":"376788:16:19"},"nativeSrc":"376788:16:19","nodeType":"YulExpressionStatement","src":"376788:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376824:4:19","nodeType":"YulLiteral","src":"376824:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"376830:2:19","nodeType":"YulIdentifier","src":"376830:2:19"}],"functionName":{"name":"mstore","nativeSrc":"376817:6:19","nodeType":"YulIdentifier","src":"376817:6:19"},"nativeSrc":"376817:16:19","nodeType":"YulFunctionCall","src":"376817:16:19"},"nativeSrc":"376817:16:19","nodeType":"YulExpressionStatement","src":"376817:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376853:4:19","nodeType":"YulLiteral","src":"376853:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"376859:2:19","nodeType":"YulIdentifier","src":"376859:2:19"}],"functionName":{"name":"mstore","nativeSrc":"376846:6:19","nodeType":"YulIdentifier","src":"376846:6:19"},"nativeSrc":"376846:16:19","nodeType":"YulFunctionCall","src":"376846:16:19"},"nativeSrc":"376846:16:19","nodeType":"YulExpressionStatement","src":"376846:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"376882:4:19","nodeType":"YulLiteral","src":"376882:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"376888:2:19","nodeType":"YulIdentifier","src":"376888:2:19"}],"functionName":{"name":"mstore","nativeSrc":"376875:6:19","nodeType":"YulIdentifier","src":"376875:6:19"},"nativeSrc":"376875:16:19","nodeType":"YulFunctionCall","src":"376875:16:19"},"nativeSrc":"376875:16:19","nodeType":"YulExpressionStatement","src":"376875:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37898,"isOffset":false,"isSlot":false,"src":"376714:2:19","valueSize":1},{"declaration":37901,"isOffset":false,"isSlot":false,"src":"376743:2:19","valueSize":1},{"declaration":37904,"isOffset":false,"isSlot":false,"src":"376772:2:19","valueSize":1},{"declaration":37907,"isOffset":false,"isSlot":false,"src":"376801:2:19","valueSize":1},{"declaration":37910,"isOffset":false,"isSlot":false,"src":"376830:2:19","valueSize":1},{"declaration":37913,"isOffset":false,"isSlot":false,"src":"376859:2:19","valueSize":1},{"declaration":37916,"isOffset":false,"isSlot":false,"src":"376888:2:19","valueSize":1}],"id":37924,"nodeType":"InlineAssembly","src":"376678:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"375490:3:19","parameters":{"id":37895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37888,"mutability":"mutable","name":"p0","nameLocation":"375502:2:19","nodeType":"VariableDeclaration","scope":37926,"src":"375494:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37887,"name":"bytes32","nodeType":"ElementaryTypeName","src":"375494:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37890,"mutability":"mutable","name":"p1","nameLocation":"375514:2:19","nodeType":"VariableDeclaration","scope":37926,"src":"375506:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37889,"name":"uint256","nodeType":"ElementaryTypeName","src":"375506:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37892,"mutability":"mutable","name":"p2","nameLocation":"375526:2:19","nodeType":"VariableDeclaration","scope":37926,"src":"375518:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37891,"name":"address","nodeType":"ElementaryTypeName","src":"375518:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37894,"mutability":"mutable","name":"p3","nameLocation":"375538:2:19","nodeType":"VariableDeclaration","scope":37926,"src":"375530:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37893,"name":"address","nodeType":"ElementaryTypeName","src":"375530:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"375493:48:19"},"returnParameters":{"id":37896,"nodeType":"ParameterList","parameters":[],"src":"375556:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":37966,"nodeType":"FunctionDefinition","src":"376913:1420:19","nodes":[],"body":{"id":37965,"nodeType":"Block","src":"376985:1348:19","nodes":[],"statements":[{"assignments":[37938],"declarations":[{"constant":false,"id":37938,"mutability":"mutable","name":"m0","nameLocation":"377003:2:19","nodeType":"VariableDeclaration","scope":37965,"src":"376995:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37937,"name":"bytes32","nodeType":"ElementaryTypeName","src":"376995:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37939,"nodeType":"VariableDeclarationStatement","src":"376995:10:19"},{"assignments":[37941],"declarations":[{"constant":false,"id":37941,"mutability":"mutable","name":"m1","nameLocation":"377023:2:19","nodeType":"VariableDeclaration","scope":37965,"src":"377015:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37940,"name":"bytes32","nodeType":"ElementaryTypeName","src":"377015:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37942,"nodeType":"VariableDeclarationStatement","src":"377015:10:19"},{"assignments":[37944],"declarations":[{"constant":false,"id":37944,"mutability":"mutable","name":"m2","nameLocation":"377043:2:19","nodeType":"VariableDeclaration","scope":37965,"src":"377035:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37943,"name":"bytes32","nodeType":"ElementaryTypeName","src":"377035:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37945,"nodeType":"VariableDeclarationStatement","src":"377035:10:19"},{"assignments":[37947],"declarations":[{"constant":false,"id":37947,"mutability":"mutable","name":"m3","nameLocation":"377063:2:19","nodeType":"VariableDeclaration","scope":37965,"src":"377055:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37946,"name":"bytes32","nodeType":"ElementaryTypeName","src":"377055:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37948,"nodeType":"VariableDeclarationStatement","src":"377055:10:19"},{"assignments":[37950],"declarations":[{"constant":false,"id":37950,"mutability":"mutable","name":"m4","nameLocation":"377083:2:19","nodeType":"VariableDeclaration","scope":37965,"src":"377075:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37949,"name":"bytes32","nodeType":"ElementaryTypeName","src":"377075:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37951,"nodeType":"VariableDeclarationStatement","src":"377075:10:19"},{"assignments":[37953],"declarations":[{"constant":false,"id":37953,"mutability":"mutable","name":"m5","nameLocation":"377103:2:19","nodeType":"VariableDeclaration","scope":37965,"src":"377095:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37952,"name":"bytes32","nodeType":"ElementaryTypeName","src":"377095:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37954,"nodeType":"VariableDeclarationStatement","src":"377095:10:19"},{"assignments":[37956],"declarations":[{"constant":false,"id":37956,"mutability":"mutable","name":"m6","nameLocation":"377123:2:19","nodeType":"VariableDeclaration","scope":37965,"src":"377115:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37955,"name":"bytes32","nodeType":"ElementaryTypeName","src":"377115:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37957,"nodeType":"VariableDeclarationStatement","src":"377115:10:19"},{"AST":{"nativeSrc":"377187:828:19","nodeType":"YulBlock","src":"377187:828:19","statements":[{"body":{"nativeSrc":"377230:313:19","nodeType":"YulBlock","src":"377230:313:19","statements":[{"nativeSrc":"377248:15:19","nodeType":"YulVariableDeclaration","src":"377248:15:19","value":{"kind":"number","nativeSrc":"377262:1:19","nodeType":"YulLiteral","src":"377262:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"377252:6:19","nodeType":"YulTypedName","src":"377252:6:19","type":""}]},{"body":{"nativeSrc":"377333:40:19","nodeType":"YulBlock","src":"377333:40:19","statements":[{"body":{"nativeSrc":"377362:9:19","nodeType":"YulBlock","src":"377362:9:19","statements":[{"nativeSrc":"377364:5:19","nodeType":"YulBreak","src":"377364:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"377350:6:19","nodeType":"YulIdentifier","src":"377350:6:19"},{"name":"w","nativeSrc":"377358:1:19","nodeType":"YulIdentifier","src":"377358:1:19"}],"functionName":{"name":"byte","nativeSrc":"377345:4:19","nodeType":"YulIdentifier","src":"377345:4:19"},"nativeSrc":"377345:15:19","nodeType":"YulFunctionCall","src":"377345:15:19"}],"functionName":{"name":"iszero","nativeSrc":"377338:6:19","nodeType":"YulIdentifier","src":"377338:6:19"},"nativeSrc":"377338:23:19","nodeType":"YulFunctionCall","src":"377338:23:19"},"nativeSrc":"377335:36:19","nodeType":"YulIf","src":"377335:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"377290:6:19","nodeType":"YulIdentifier","src":"377290:6:19"},{"kind":"number","nativeSrc":"377298:4:19","nodeType":"YulLiteral","src":"377298:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"377287:2:19","nodeType":"YulIdentifier","src":"377287:2:19"},"nativeSrc":"377287:16:19","nodeType":"YulFunctionCall","src":"377287:16:19"},"nativeSrc":"377280:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"377304:28:19","nodeType":"YulBlock","src":"377304:28:19","statements":[{"nativeSrc":"377306:24:19","nodeType":"YulAssignment","src":"377306:24:19","value":{"arguments":[{"name":"length","nativeSrc":"377320:6:19","nodeType":"YulIdentifier","src":"377320:6:19"},{"kind":"number","nativeSrc":"377328:1:19","nodeType":"YulLiteral","src":"377328:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"377316:3:19","nodeType":"YulIdentifier","src":"377316:3:19"},"nativeSrc":"377316:14:19","nodeType":"YulFunctionCall","src":"377316:14:19"},"variableNames":[{"name":"length","nativeSrc":"377306:6:19","nodeType":"YulIdentifier","src":"377306:6:19"}]}]},"pre":{"nativeSrc":"377284:2:19","nodeType":"YulBlock","src":"377284:2:19","statements":[]},"src":"377280:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"377397:3:19","nodeType":"YulIdentifier","src":"377397:3:19"},{"name":"length","nativeSrc":"377402:6:19","nodeType":"YulIdentifier","src":"377402:6:19"}],"functionName":{"name":"mstore","nativeSrc":"377390:6:19","nodeType":"YulIdentifier","src":"377390:6:19"},"nativeSrc":"377390:19:19","nodeType":"YulFunctionCall","src":"377390:19:19"},"nativeSrc":"377390:19:19","nodeType":"YulExpressionStatement","src":"377390:19:19"},{"nativeSrc":"377426:37:19","nodeType":"YulVariableDeclaration","src":"377426:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"377443:3:19","nodeType":"YulLiteral","src":"377443:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"377452:1:19","nodeType":"YulLiteral","src":"377452:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"377455:6:19","nodeType":"YulIdentifier","src":"377455:6:19"}],"functionName":{"name":"shl","nativeSrc":"377448:3:19","nodeType":"YulIdentifier","src":"377448:3:19"},"nativeSrc":"377448:14:19","nodeType":"YulFunctionCall","src":"377448:14:19"}],"functionName":{"name":"sub","nativeSrc":"377439:3:19","nodeType":"YulIdentifier","src":"377439:3:19"},"nativeSrc":"377439:24:19","nodeType":"YulFunctionCall","src":"377439:24:19"},"variables":[{"name":"shift","nativeSrc":"377430:5:19","nodeType":"YulTypedName","src":"377430:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"377491:3:19","nodeType":"YulIdentifier","src":"377491:3:19"},{"kind":"number","nativeSrc":"377496:4:19","nodeType":"YulLiteral","src":"377496:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"377487:3:19","nodeType":"YulIdentifier","src":"377487:3:19"},"nativeSrc":"377487:14:19","nodeType":"YulFunctionCall","src":"377487:14:19"},{"arguments":[{"name":"shift","nativeSrc":"377507:5:19","nodeType":"YulIdentifier","src":"377507:5:19"},{"arguments":[{"name":"shift","nativeSrc":"377518:5:19","nodeType":"YulIdentifier","src":"377518:5:19"},{"name":"w","nativeSrc":"377525:1:19","nodeType":"YulIdentifier","src":"377525:1:19"}],"functionName":{"name":"shr","nativeSrc":"377514:3:19","nodeType":"YulIdentifier","src":"377514:3:19"},"nativeSrc":"377514:13:19","nodeType":"YulFunctionCall","src":"377514:13:19"}],"functionName":{"name":"shl","nativeSrc":"377503:3:19","nodeType":"YulIdentifier","src":"377503:3:19"},"nativeSrc":"377503:25:19","nodeType":"YulFunctionCall","src":"377503:25:19"}],"functionName":{"name":"mstore","nativeSrc":"377480:6:19","nodeType":"YulIdentifier","src":"377480:6:19"},"nativeSrc":"377480:49:19","nodeType":"YulFunctionCall","src":"377480:49:19"},"nativeSrc":"377480:49:19","nodeType":"YulExpressionStatement","src":"377480:49:19"}]},"name":"writeString","nativeSrc":"377201:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"377222:3:19","nodeType":"YulTypedName","src":"377222:3:19","type":""},{"name":"w","nativeSrc":"377227:1:19","nodeType":"YulTypedName","src":"377227:1:19","type":""}],"src":"377201:342:19"},{"nativeSrc":"377556:17:19","nodeType":"YulAssignment","src":"377556:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"377568:4:19","nodeType":"YulLiteral","src":"377568:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"377562:5:19","nodeType":"YulIdentifier","src":"377562:5:19"},"nativeSrc":"377562:11:19","nodeType":"YulFunctionCall","src":"377562:11:19"},"variableNames":[{"name":"m0","nativeSrc":"377556:2:19","nodeType":"YulIdentifier","src":"377556:2:19"}]},{"nativeSrc":"377586:17:19","nodeType":"YulAssignment","src":"377586:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"377598:4:19","nodeType":"YulLiteral","src":"377598:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"377592:5:19","nodeType":"YulIdentifier","src":"377592:5:19"},"nativeSrc":"377592:11:19","nodeType":"YulFunctionCall","src":"377592:11:19"},"variableNames":[{"name":"m1","nativeSrc":"377586:2:19","nodeType":"YulIdentifier","src":"377586:2:19"}]},{"nativeSrc":"377616:17:19","nodeType":"YulAssignment","src":"377616:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"377628:4:19","nodeType":"YulLiteral","src":"377628:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"377622:5:19","nodeType":"YulIdentifier","src":"377622:5:19"},"nativeSrc":"377622:11:19","nodeType":"YulFunctionCall","src":"377622:11:19"},"variableNames":[{"name":"m2","nativeSrc":"377616:2:19","nodeType":"YulIdentifier","src":"377616:2:19"}]},{"nativeSrc":"377646:17:19","nodeType":"YulAssignment","src":"377646:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"377658:4:19","nodeType":"YulLiteral","src":"377658:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"377652:5:19","nodeType":"YulIdentifier","src":"377652:5:19"},"nativeSrc":"377652:11:19","nodeType":"YulFunctionCall","src":"377652:11:19"},"variableNames":[{"name":"m3","nativeSrc":"377646:2:19","nodeType":"YulIdentifier","src":"377646:2:19"}]},{"nativeSrc":"377676:17:19","nodeType":"YulAssignment","src":"377676:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"377688:4:19","nodeType":"YulLiteral","src":"377688:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"377682:5:19","nodeType":"YulIdentifier","src":"377682:5:19"},"nativeSrc":"377682:11:19","nodeType":"YulFunctionCall","src":"377682:11:19"},"variableNames":[{"name":"m4","nativeSrc":"377676:2:19","nodeType":"YulIdentifier","src":"377676:2:19"}]},{"nativeSrc":"377706:17:19","nodeType":"YulAssignment","src":"377706:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"377718:4:19","nodeType":"YulLiteral","src":"377718:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"377712:5:19","nodeType":"YulIdentifier","src":"377712:5:19"},"nativeSrc":"377712:11:19","nodeType":"YulFunctionCall","src":"377712:11:19"},"variableNames":[{"name":"m5","nativeSrc":"377706:2:19","nodeType":"YulIdentifier","src":"377706:2:19"}]},{"nativeSrc":"377736:17:19","nodeType":"YulAssignment","src":"377736:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"377748:4:19","nodeType":"YulLiteral","src":"377748:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"377742:5:19","nodeType":"YulIdentifier","src":"377742:5:19"},"nativeSrc":"377742:11:19","nodeType":"YulFunctionCall","src":"377742:11:19"},"variableNames":[{"name":"m6","nativeSrc":"377736:2:19","nodeType":"YulIdentifier","src":"377736:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"377836:4:19","nodeType":"YulLiteral","src":"377836:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"377842:10:19","nodeType":"YulLiteral","src":"377842:10:19","type":"","value":"0x82112a42"}],"functionName":{"name":"mstore","nativeSrc":"377829:6:19","nodeType":"YulIdentifier","src":"377829:6:19"},"nativeSrc":"377829:24:19","nodeType":"YulFunctionCall","src":"377829:24:19"},"nativeSrc":"377829:24:19","nodeType":"YulExpressionStatement","src":"377829:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"377873:4:19","nodeType":"YulLiteral","src":"377873:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"377879:4:19","nodeType":"YulLiteral","src":"377879:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"377866:6:19","nodeType":"YulIdentifier","src":"377866:6:19"},"nativeSrc":"377866:18:19","nodeType":"YulFunctionCall","src":"377866:18:19"},"nativeSrc":"377866:18:19","nodeType":"YulExpressionStatement","src":"377866:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"377904:4:19","nodeType":"YulLiteral","src":"377904:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"377910:2:19","nodeType":"YulIdentifier","src":"377910:2:19"}],"functionName":{"name":"mstore","nativeSrc":"377897:6:19","nodeType":"YulIdentifier","src":"377897:6:19"},"nativeSrc":"377897:16:19","nodeType":"YulFunctionCall","src":"377897:16:19"},"nativeSrc":"377897:16:19","nodeType":"YulExpressionStatement","src":"377897:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"377933:4:19","nodeType":"YulLiteral","src":"377933:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"377939:2:19","nodeType":"YulIdentifier","src":"377939:2:19"}],"functionName":{"name":"mstore","nativeSrc":"377926:6:19","nodeType":"YulIdentifier","src":"377926:6:19"},"nativeSrc":"377926:16:19","nodeType":"YulFunctionCall","src":"377926:16:19"},"nativeSrc":"377926:16:19","nodeType":"YulExpressionStatement","src":"377926:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"377962:4:19","nodeType":"YulLiteral","src":"377962:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"377968:2:19","nodeType":"YulIdentifier","src":"377968:2:19"}],"functionName":{"name":"mstore","nativeSrc":"377955:6:19","nodeType":"YulIdentifier","src":"377955:6:19"},"nativeSrc":"377955:16:19","nodeType":"YulFunctionCall","src":"377955:16:19"},"nativeSrc":"377955:16:19","nodeType":"YulExpressionStatement","src":"377955:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"377996:4:19","nodeType":"YulLiteral","src":"377996:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"378002:2:19","nodeType":"YulIdentifier","src":"378002:2:19"}],"functionName":{"name":"writeString","nativeSrc":"377984:11:19","nodeType":"YulIdentifier","src":"377984:11:19"},"nativeSrc":"377984:21:19","nodeType":"YulFunctionCall","src":"377984:21:19"},"nativeSrc":"377984:21:19","nodeType":"YulExpressionStatement","src":"377984:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37938,"isOffset":false,"isSlot":false,"src":"377556:2:19","valueSize":1},{"declaration":37941,"isOffset":false,"isSlot":false,"src":"377586:2:19","valueSize":1},{"declaration":37944,"isOffset":false,"isSlot":false,"src":"377616:2:19","valueSize":1},{"declaration":37947,"isOffset":false,"isSlot":false,"src":"377646:2:19","valueSize":1},{"declaration":37950,"isOffset":false,"isSlot":false,"src":"377676:2:19","valueSize":1},{"declaration":37953,"isOffset":false,"isSlot":false,"src":"377706:2:19","valueSize":1},{"declaration":37956,"isOffset":false,"isSlot":false,"src":"377736:2:19","valueSize":1},{"declaration":37928,"isOffset":false,"isSlot":false,"src":"378002:2:19","valueSize":1},{"declaration":37930,"isOffset":false,"isSlot":false,"src":"377910:2:19","valueSize":1},{"declaration":37932,"isOffset":false,"isSlot":false,"src":"377939:2:19","valueSize":1},{"declaration":37934,"isOffset":false,"isSlot":false,"src":"377968:2:19","valueSize":1}],"id":37958,"nodeType":"InlineAssembly","src":"377178:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":37960,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"378040:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":37961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"378046:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":37959,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"378024:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":37962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"378024:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":37963,"nodeType":"ExpressionStatement","src":"378024:27:19"},{"AST":{"nativeSrc":"378113:214:19","nodeType":"YulBlock","src":"378113:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"378134:4:19","nodeType":"YulLiteral","src":"378134:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"378140:2:19","nodeType":"YulIdentifier","src":"378140:2:19"}],"functionName":{"name":"mstore","nativeSrc":"378127:6:19","nodeType":"YulIdentifier","src":"378127:6:19"},"nativeSrc":"378127:16:19","nodeType":"YulFunctionCall","src":"378127:16:19"},"nativeSrc":"378127:16:19","nodeType":"YulExpressionStatement","src":"378127:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"378163:4:19","nodeType":"YulLiteral","src":"378163:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"378169:2:19","nodeType":"YulIdentifier","src":"378169:2:19"}],"functionName":{"name":"mstore","nativeSrc":"378156:6:19","nodeType":"YulIdentifier","src":"378156:6:19"},"nativeSrc":"378156:16:19","nodeType":"YulFunctionCall","src":"378156:16:19"},"nativeSrc":"378156:16:19","nodeType":"YulExpressionStatement","src":"378156:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"378192:4:19","nodeType":"YulLiteral","src":"378192:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"378198:2:19","nodeType":"YulIdentifier","src":"378198:2:19"}],"functionName":{"name":"mstore","nativeSrc":"378185:6:19","nodeType":"YulIdentifier","src":"378185:6:19"},"nativeSrc":"378185:16:19","nodeType":"YulFunctionCall","src":"378185:16:19"},"nativeSrc":"378185:16:19","nodeType":"YulExpressionStatement","src":"378185:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"378221:4:19","nodeType":"YulLiteral","src":"378221:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"378227:2:19","nodeType":"YulIdentifier","src":"378227:2:19"}],"functionName":{"name":"mstore","nativeSrc":"378214:6:19","nodeType":"YulIdentifier","src":"378214:6:19"},"nativeSrc":"378214:16:19","nodeType":"YulFunctionCall","src":"378214:16:19"},"nativeSrc":"378214:16:19","nodeType":"YulExpressionStatement","src":"378214:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"378250:4:19","nodeType":"YulLiteral","src":"378250:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"378256:2:19","nodeType":"YulIdentifier","src":"378256:2:19"}],"functionName":{"name":"mstore","nativeSrc":"378243:6:19","nodeType":"YulIdentifier","src":"378243:6:19"},"nativeSrc":"378243:16:19","nodeType":"YulFunctionCall","src":"378243:16:19"},"nativeSrc":"378243:16:19","nodeType":"YulExpressionStatement","src":"378243:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"378279:4:19","nodeType":"YulLiteral","src":"378279:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"378285:2:19","nodeType":"YulIdentifier","src":"378285:2:19"}],"functionName":{"name":"mstore","nativeSrc":"378272:6:19","nodeType":"YulIdentifier","src":"378272:6:19"},"nativeSrc":"378272:16:19","nodeType":"YulFunctionCall","src":"378272:16:19"},"nativeSrc":"378272:16:19","nodeType":"YulExpressionStatement","src":"378272:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"378308:4:19","nodeType":"YulLiteral","src":"378308:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"378314:2:19","nodeType":"YulIdentifier","src":"378314:2:19"}],"functionName":{"name":"mstore","nativeSrc":"378301:6:19","nodeType":"YulIdentifier","src":"378301:6:19"},"nativeSrc":"378301:16:19","nodeType":"YulFunctionCall","src":"378301:16:19"},"nativeSrc":"378301:16:19","nodeType":"YulExpressionStatement","src":"378301:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37938,"isOffset":false,"isSlot":false,"src":"378140:2:19","valueSize":1},{"declaration":37941,"isOffset":false,"isSlot":false,"src":"378169:2:19","valueSize":1},{"declaration":37944,"isOffset":false,"isSlot":false,"src":"378198:2:19","valueSize":1},{"declaration":37947,"isOffset":false,"isSlot":false,"src":"378227:2:19","valueSize":1},{"declaration":37950,"isOffset":false,"isSlot":false,"src":"378256:2:19","valueSize":1},{"declaration":37953,"isOffset":false,"isSlot":false,"src":"378285:2:19","valueSize":1},{"declaration":37956,"isOffset":false,"isSlot":false,"src":"378314:2:19","valueSize":1}],"id":37964,"nodeType":"InlineAssembly","src":"378104:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"376922:3:19","parameters":{"id":37935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37928,"mutability":"mutable","name":"p0","nameLocation":"376934:2:19","nodeType":"VariableDeclaration","scope":37966,"src":"376926:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37927,"name":"bytes32","nodeType":"ElementaryTypeName","src":"376926:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37930,"mutability":"mutable","name":"p1","nameLocation":"376946:2:19","nodeType":"VariableDeclaration","scope":37966,"src":"376938:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37929,"name":"uint256","nodeType":"ElementaryTypeName","src":"376938:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37932,"mutability":"mutable","name":"p2","nameLocation":"376958:2:19","nodeType":"VariableDeclaration","scope":37966,"src":"376950:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37931,"name":"address","nodeType":"ElementaryTypeName","src":"376950:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37934,"mutability":"mutable","name":"p3","nameLocation":"376967:2:19","nodeType":"VariableDeclaration","scope":37966,"src":"376962:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37933,"name":"bool","nodeType":"ElementaryTypeName","src":"376962:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"376925:45:19"},"returnParameters":{"id":37936,"nodeType":"ParameterList","parameters":[],"src":"376985:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38006,"nodeType":"FunctionDefinition","src":"378339:1426:19","nodes":[],"body":{"id":38005,"nodeType":"Block","src":"378414:1351:19","nodes":[],"statements":[{"assignments":[37978],"declarations":[{"constant":false,"id":37978,"mutability":"mutable","name":"m0","nameLocation":"378432:2:19","nodeType":"VariableDeclaration","scope":38005,"src":"378424:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37977,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378424:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37979,"nodeType":"VariableDeclarationStatement","src":"378424:10:19"},{"assignments":[37981],"declarations":[{"constant":false,"id":37981,"mutability":"mutable","name":"m1","nameLocation":"378452:2:19","nodeType":"VariableDeclaration","scope":38005,"src":"378444:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37980,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378444:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37982,"nodeType":"VariableDeclarationStatement","src":"378444:10:19"},{"assignments":[37984],"declarations":[{"constant":false,"id":37984,"mutability":"mutable","name":"m2","nameLocation":"378472:2:19","nodeType":"VariableDeclaration","scope":38005,"src":"378464:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37983,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378464:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37985,"nodeType":"VariableDeclarationStatement","src":"378464:10:19"},{"assignments":[37987],"declarations":[{"constant":false,"id":37987,"mutability":"mutable","name":"m3","nameLocation":"378492:2:19","nodeType":"VariableDeclaration","scope":38005,"src":"378484:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37986,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378484:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37988,"nodeType":"VariableDeclarationStatement","src":"378484:10:19"},{"assignments":[37990],"declarations":[{"constant":false,"id":37990,"mutability":"mutable","name":"m4","nameLocation":"378512:2:19","nodeType":"VariableDeclaration","scope":38005,"src":"378504:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37989,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378504:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37991,"nodeType":"VariableDeclarationStatement","src":"378504:10:19"},{"assignments":[37993],"declarations":[{"constant":false,"id":37993,"mutability":"mutable","name":"m5","nameLocation":"378532:2:19","nodeType":"VariableDeclaration","scope":38005,"src":"378524:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37992,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378524:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37994,"nodeType":"VariableDeclarationStatement","src":"378524:10:19"},{"assignments":[37996],"declarations":[{"constant":false,"id":37996,"mutability":"mutable","name":"m6","nameLocation":"378552:2:19","nodeType":"VariableDeclaration","scope":38005,"src":"378544:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37995,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378544:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":37997,"nodeType":"VariableDeclarationStatement","src":"378544:10:19"},{"AST":{"nativeSrc":"378616:831:19","nodeType":"YulBlock","src":"378616:831:19","statements":[{"body":{"nativeSrc":"378659:313:19","nodeType":"YulBlock","src":"378659:313:19","statements":[{"nativeSrc":"378677:15:19","nodeType":"YulVariableDeclaration","src":"378677:15:19","value":{"kind":"number","nativeSrc":"378691:1:19","nodeType":"YulLiteral","src":"378691:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"378681:6:19","nodeType":"YulTypedName","src":"378681:6:19","type":""}]},{"body":{"nativeSrc":"378762:40:19","nodeType":"YulBlock","src":"378762:40:19","statements":[{"body":{"nativeSrc":"378791:9:19","nodeType":"YulBlock","src":"378791:9:19","statements":[{"nativeSrc":"378793:5:19","nodeType":"YulBreak","src":"378793:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"378779:6:19","nodeType":"YulIdentifier","src":"378779:6:19"},{"name":"w","nativeSrc":"378787:1:19","nodeType":"YulIdentifier","src":"378787:1:19"}],"functionName":{"name":"byte","nativeSrc":"378774:4:19","nodeType":"YulIdentifier","src":"378774:4:19"},"nativeSrc":"378774:15:19","nodeType":"YulFunctionCall","src":"378774:15:19"}],"functionName":{"name":"iszero","nativeSrc":"378767:6:19","nodeType":"YulIdentifier","src":"378767:6:19"},"nativeSrc":"378767:23:19","nodeType":"YulFunctionCall","src":"378767:23:19"},"nativeSrc":"378764:36:19","nodeType":"YulIf","src":"378764:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"378719:6:19","nodeType":"YulIdentifier","src":"378719:6:19"},{"kind":"number","nativeSrc":"378727:4:19","nodeType":"YulLiteral","src":"378727:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"378716:2:19","nodeType":"YulIdentifier","src":"378716:2:19"},"nativeSrc":"378716:16:19","nodeType":"YulFunctionCall","src":"378716:16:19"},"nativeSrc":"378709:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"378733:28:19","nodeType":"YulBlock","src":"378733:28:19","statements":[{"nativeSrc":"378735:24:19","nodeType":"YulAssignment","src":"378735:24:19","value":{"arguments":[{"name":"length","nativeSrc":"378749:6:19","nodeType":"YulIdentifier","src":"378749:6:19"},{"kind":"number","nativeSrc":"378757:1:19","nodeType":"YulLiteral","src":"378757:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"378745:3:19","nodeType":"YulIdentifier","src":"378745:3:19"},"nativeSrc":"378745:14:19","nodeType":"YulFunctionCall","src":"378745:14:19"},"variableNames":[{"name":"length","nativeSrc":"378735:6:19","nodeType":"YulIdentifier","src":"378735:6:19"}]}]},"pre":{"nativeSrc":"378713:2:19","nodeType":"YulBlock","src":"378713:2:19","statements":[]},"src":"378709:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"378826:3:19","nodeType":"YulIdentifier","src":"378826:3:19"},{"name":"length","nativeSrc":"378831:6:19","nodeType":"YulIdentifier","src":"378831:6:19"}],"functionName":{"name":"mstore","nativeSrc":"378819:6:19","nodeType":"YulIdentifier","src":"378819:6:19"},"nativeSrc":"378819:19:19","nodeType":"YulFunctionCall","src":"378819:19:19"},"nativeSrc":"378819:19:19","nodeType":"YulExpressionStatement","src":"378819:19:19"},{"nativeSrc":"378855:37:19","nodeType":"YulVariableDeclaration","src":"378855:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"378872:3:19","nodeType":"YulLiteral","src":"378872:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"378881:1:19","nodeType":"YulLiteral","src":"378881:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"378884:6:19","nodeType":"YulIdentifier","src":"378884:6:19"}],"functionName":{"name":"shl","nativeSrc":"378877:3:19","nodeType":"YulIdentifier","src":"378877:3:19"},"nativeSrc":"378877:14:19","nodeType":"YulFunctionCall","src":"378877:14:19"}],"functionName":{"name":"sub","nativeSrc":"378868:3:19","nodeType":"YulIdentifier","src":"378868:3:19"},"nativeSrc":"378868:24:19","nodeType":"YulFunctionCall","src":"378868:24:19"},"variables":[{"name":"shift","nativeSrc":"378859:5:19","nodeType":"YulTypedName","src":"378859:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"378920:3:19","nodeType":"YulIdentifier","src":"378920:3:19"},{"kind":"number","nativeSrc":"378925:4:19","nodeType":"YulLiteral","src":"378925:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"378916:3:19","nodeType":"YulIdentifier","src":"378916:3:19"},"nativeSrc":"378916:14:19","nodeType":"YulFunctionCall","src":"378916:14:19"},{"arguments":[{"name":"shift","nativeSrc":"378936:5:19","nodeType":"YulIdentifier","src":"378936:5:19"},{"arguments":[{"name":"shift","nativeSrc":"378947:5:19","nodeType":"YulIdentifier","src":"378947:5:19"},{"name":"w","nativeSrc":"378954:1:19","nodeType":"YulIdentifier","src":"378954:1:19"}],"functionName":{"name":"shr","nativeSrc":"378943:3:19","nodeType":"YulIdentifier","src":"378943:3:19"},"nativeSrc":"378943:13:19","nodeType":"YulFunctionCall","src":"378943:13:19"}],"functionName":{"name":"shl","nativeSrc":"378932:3:19","nodeType":"YulIdentifier","src":"378932:3:19"},"nativeSrc":"378932:25:19","nodeType":"YulFunctionCall","src":"378932:25:19"}],"functionName":{"name":"mstore","nativeSrc":"378909:6:19","nodeType":"YulIdentifier","src":"378909:6:19"},"nativeSrc":"378909:49:19","nodeType":"YulFunctionCall","src":"378909:49:19"},"nativeSrc":"378909:49:19","nodeType":"YulExpressionStatement","src":"378909:49:19"}]},"name":"writeString","nativeSrc":"378630:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"378651:3:19","nodeType":"YulTypedName","src":"378651:3:19","type":""},{"name":"w","nativeSrc":"378656:1:19","nodeType":"YulTypedName","src":"378656:1:19","type":""}],"src":"378630:342:19"},{"nativeSrc":"378985:17:19","nodeType":"YulAssignment","src":"378985:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"378997:4:19","nodeType":"YulLiteral","src":"378997:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"378991:5:19","nodeType":"YulIdentifier","src":"378991:5:19"},"nativeSrc":"378991:11:19","nodeType":"YulFunctionCall","src":"378991:11:19"},"variableNames":[{"name":"m0","nativeSrc":"378985:2:19","nodeType":"YulIdentifier","src":"378985:2:19"}]},{"nativeSrc":"379015:17:19","nodeType":"YulAssignment","src":"379015:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"379027:4:19","nodeType":"YulLiteral","src":"379027:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"379021:5:19","nodeType":"YulIdentifier","src":"379021:5:19"},"nativeSrc":"379021:11:19","nodeType":"YulFunctionCall","src":"379021:11:19"},"variableNames":[{"name":"m1","nativeSrc":"379015:2:19","nodeType":"YulIdentifier","src":"379015:2:19"}]},{"nativeSrc":"379045:17:19","nodeType":"YulAssignment","src":"379045:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"379057:4:19","nodeType":"YulLiteral","src":"379057:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"379051:5:19","nodeType":"YulIdentifier","src":"379051:5:19"},"nativeSrc":"379051:11:19","nodeType":"YulFunctionCall","src":"379051:11:19"},"variableNames":[{"name":"m2","nativeSrc":"379045:2:19","nodeType":"YulIdentifier","src":"379045:2:19"}]},{"nativeSrc":"379075:17:19","nodeType":"YulAssignment","src":"379075:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"379087:4:19","nodeType":"YulLiteral","src":"379087:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"379081:5:19","nodeType":"YulIdentifier","src":"379081:5:19"},"nativeSrc":"379081:11:19","nodeType":"YulFunctionCall","src":"379081:11:19"},"variableNames":[{"name":"m3","nativeSrc":"379075:2:19","nodeType":"YulIdentifier","src":"379075:2:19"}]},{"nativeSrc":"379105:17:19","nodeType":"YulAssignment","src":"379105:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"379117:4:19","nodeType":"YulLiteral","src":"379117:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"379111:5:19","nodeType":"YulIdentifier","src":"379111:5:19"},"nativeSrc":"379111:11:19","nodeType":"YulFunctionCall","src":"379111:11:19"},"variableNames":[{"name":"m4","nativeSrc":"379105:2:19","nodeType":"YulIdentifier","src":"379105:2:19"}]},{"nativeSrc":"379135:17:19","nodeType":"YulAssignment","src":"379135:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"379147:4:19","nodeType":"YulLiteral","src":"379147:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"379141:5:19","nodeType":"YulIdentifier","src":"379141:5:19"},"nativeSrc":"379141:11:19","nodeType":"YulFunctionCall","src":"379141:11:19"},"variableNames":[{"name":"m5","nativeSrc":"379135:2:19","nodeType":"YulIdentifier","src":"379135:2:19"}]},{"nativeSrc":"379165:17:19","nodeType":"YulAssignment","src":"379165:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"379177:4:19","nodeType":"YulLiteral","src":"379177:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"379171:5:19","nodeType":"YulIdentifier","src":"379171:5:19"},"nativeSrc":"379171:11:19","nodeType":"YulFunctionCall","src":"379171:11:19"},"variableNames":[{"name":"m6","nativeSrc":"379165:2:19","nodeType":"YulIdentifier","src":"379165:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379268:4:19","nodeType":"YulLiteral","src":"379268:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"379274:10:19","nodeType":"YulLiteral","src":"379274:10:19","type":"","value":"0x4f04fdc6"}],"functionName":{"name":"mstore","nativeSrc":"379261:6:19","nodeType":"YulIdentifier","src":"379261:6:19"},"nativeSrc":"379261:24:19","nodeType":"YulFunctionCall","src":"379261:24:19"},"nativeSrc":"379261:24:19","nodeType":"YulExpressionStatement","src":"379261:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379305:4:19","nodeType":"YulLiteral","src":"379305:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"379311:4:19","nodeType":"YulLiteral","src":"379311:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"379298:6:19","nodeType":"YulIdentifier","src":"379298:6:19"},"nativeSrc":"379298:18:19","nodeType":"YulFunctionCall","src":"379298:18:19"},"nativeSrc":"379298:18:19","nodeType":"YulExpressionStatement","src":"379298:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379336:4:19","nodeType":"YulLiteral","src":"379336:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"379342:2:19","nodeType":"YulIdentifier","src":"379342:2:19"}],"functionName":{"name":"mstore","nativeSrc":"379329:6:19","nodeType":"YulIdentifier","src":"379329:6:19"},"nativeSrc":"379329:16:19","nodeType":"YulFunctionCall","src":"379329:16:19"},"nativeSrc":"379329:16:19","nodeType":"YulExpressionStatement","src":"379329:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379365:4:19","nodeType":"YulLiteral","src":"379365:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"379371:2:19","nodeType":"YulIdentifier","src":"379371:2:19"}],"functionName":{"name":"mstore","nativeSrc":"379358:6:19","nodeType":"YulIdentifier","src":"379358:6:19"},"nativeSrc":"379358:16:19","nodeType":"YulFunctionCall","src":"379358:16:19"},"nativeSrc":"379358:16:19","nodeType":"YulExpressionStatement","src":"379358:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379394:4:19","nodeType":"YulLiteral","src":"379394:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"379400:2:19","nodeType":"YulIdentifier","src":"379400:2:19"}],"functionName":{"name":"mstore","nativeSrc":"379387:6:19","nodeType":"YulIdentifier","src":"379387:6:19"},"nativeSrc":"379387:16:19","nodeType":"YulFunctionCall","src":"379387:16:19"},"nativeSrc":"379387:16:19","nodeType":"YulExpressionStatement","src":"379387:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379428:4:19","nodeType":"YulLiteral","src":"379428:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"379434:2:19","nodeType":"YulIdentifier","src":"379434:2:19"}],"functionName":{"name":"writeString","nativeSrc":"379416:11:19","nodeType":"YulIdentifier","src":"379416:11:19"},"nativeSrc":"379416:21:19","nodeType":"YulFunctionCall","src":"379416:21:19"},"nativeSrc":"379416:21:19","nodeType":"YulExpressionStatement","src":"379416:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37978,"isOffset":false,"isSlot":false,"src":"378985:2:19","valueSize":1},{"declaration":37981,"isOffset":false,"isSlot":false,"src":"379015:2:19","valueSize":1},{"declaration":37984,"isOffset":false,"isSlot":false,"src":"379045:2:19","valueSize":1},{"declaration":37987,"isOffset":false,"isSlot":false,"src":"379075:2:19","valueSize":1},{"declaration":37990,"isOffset":false,"isSlot":false,"src":"379105:2:19","valueSize":1},{"declaration":37993,"isOffset":false,"isSlot":false,"src":"379135:2:19","valueSize":1},{"declaration":37996,"isOffset":false,"isSlot":false,"src":"379165:2:19","valueSize":1},{"declaration":37968,"isOffset":false,"isSlot":false,"src":"379434:2:19","valueSize":1},{"declaration":37970,"isOffset":false,"isSlot":false,"src":"379342:2:19","valueSize":1},{"declaration":37972,"isOffset":false,"isSlot":false,"src":"379371:2:19","valueSize":1},{"declaration":37974,"isOffset":false,"isSlot":false,"src":"379400:2:19","valueSize":1}],"id":37998,"nodeType":"InlineAssembly","src":"378607:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":38000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"379472:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"379478:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":37999,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"379456:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"379456:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38003,"nodeType":"ExpressionStatement","src":"379456:27:19"},{"AST":{"nativeSrc":"379545:214:19","nodeType":"YulBlock","src":"379545:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"379566:4:19","nodeType":"YulLiteral","src":"379566:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"379572:2:19","nodeType":"YulIdentifier","src":"379572:2:19"}],"functionName":{"name":"mstore","nativeSrc":"379559:6:19","nodeType":"YulIdentifier","src":"379559:6:19"},"nativeSrc":"379559:16:19","nodeType":"YulFunctionCall","src":"379559:16:19"},"nativeSrc":"379559:16:19","nodeType":"YulExpressionStatement","src":"379559:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379595:4:19","nodeType":"YulLiteral","src":"379595:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"379601:2:19","nodeType":"YulIdentifier","src":"379601:2:19"}],"functionName":{"name":"mstore","nativeSrc":"379588:6:19","nodeType":"YulIdentifier","src":"379588:6:19"},"nativeSrc":"379588:16:19","nodeType":"YulFunctionCall","src":"379588:16:19"},"nativeSrc":"379588:16:19","nodeType":"YulExpressionStatement","src":"379588:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379624:4:19","nodeType":"YulLiteral","src":"379624:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"379630:2:19","nodeType":"YulIdentifier","src":"379630:2:19"}],"functionName":{"name":"mstore","nativeSrc":"379617:6:19","nodeType":"YulIdentifier","src":"379617:6:19"},"nativeSrc":"379617:16:19","nodeType":"YulFunctionCall","src":"379617:16:19"},"nativeSrc":"379617:16:19","nodeType":"YulExpressionStatement","src":"379617:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379653:4:19","nodeType":"YulLiteral","src":"379653:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"379659:2:19","nodeType":"YulIdentifier","src":"379659:2:19"}],"functionName":{"name":"mstore","nativeSrc":"379646:6:19","nodeType":"YulIdentifier","src":"379646:6:19"},"nativeSrc":"379646:16:19","nodeType":"YulFunctionCall","src":"379646:16:19"},"nativeSrc":"379646:16:19","nodeType":"YulExpressionStatement","src":"379646:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379682:4:19","nodeType":"YulLiteral","src":"379682:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"379688:2:19","nodeType":"YulIdentifier","src":"379688:2:19"}],"functionName":{"name":"mstore","nativeSrc":"379675:6:19","nodeType":"YulIdentifier","src":"379675:6:19"},"nativeSrc":"379675:16:19","nodeType":"YulFunctionCall","src":"379675:16:19"},"nativeSrc":"379675:16:19","nodeType":"YulExpressionStatement","src":"379675:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379711:4:19","nodeType":"YulLiteral","src":"379711:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"379717:2:19","nodeType":"YulIdentifier","src":"379717:2:19"}],"functionName":{"name":"mstore","nativeSrc":"379704:6:19","nodeType":"YulIdentifier","src":"379704:6:19"},"nativeSrc":"379704:16:19","nodeType":"YulFunctionCall","src":"379704:16:19"},"nativeSrc":"379704:16:19","nodeType":"YulExpressionStatement","src":"379704:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"379740:4:19","nodeType":"YulLiteral","src":"379740:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"379746:2:19","nodeType":"YulIdentifier","src":"379746:2:19"}],"functionName":{"name":"mstore","nativeSrc":"379733:6:19","nodeType":"YulIdentifier","src":"379733:6:19"},"nativeSrc":"379733:16:19","nodeType":"YulFunctionCall","src":"379733:16:19"},"nativeSrc":"379733:16:19","nodeType":"YulExpressionStatement","src":"379733:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":37978,"isOffset":false,"isSlot":false,"src":"379572:2:19","valueSize":1},{"declaration":37981,"isOffset":false,"isSlot":false,"src":"379601:2:19","valueSize":1},{"declaration":37984,"isOffset":false,"isSlot":false,"src":"379630:2:19","valueSize":1},{"declaration":37987,"isOffset":false,"isSlot":false,"src":"379659:2:19","valueSize":1},{"declaration":37990,"isOffset":false,"isSlot":false,"src":"379688:2:19","valueSize":1},{"declaration":37993,"isOffset":false,"isSlot":false,"src":"379717:2:19","valueSize":1},{"declaration":37996,"isOffset":false,"isSlot":false,"src":"379746:2:19","valueSize":1}],"id":38004,"nodeType":"InlineAssembly","src":"379536:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"378348:3:19","parameters":{"id":37975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37968,"mutability":"mutable","name":"p0","nameLocation":"378360:2:19","nodeType":"VariableDeclaration","scope":38006,"src":"378352:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":37967,"name":"bytes32","nodeType":"ElementaryTypeName","src":"378352:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":37970,"mutability":"mutable","name":"p1","nameLocation":"378372:2:19","nodeType":"VariableDeclaration","scope":38006,"src":"378364:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37969,"name":"uint256","nodeType":"ElementaryTypeName","src":"378364:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":37972,"mutability":"mutable","name":"p2","nameLocation":"378384:2:19","nodeType":"VariableDeclaration","scope":38006,"src":"378376:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37971,"name":"address","nodeType":"ElementaryTypeName","src":"378376:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37974,"mutability":"mutable","name":"p3","nameLocation":"378396:2:19","nodeType":"VariableDeclaration","scope":38006,"src":"378388:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37973,"name":"uint256","nodeType":"ElementaryTypeName","src":"378388:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"378351:48:19"},"returnParameters":{"id":37976,"nodeType":"ParameterList","parameters":[],"src":"378414:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38052,"nodeType":"FunctionDefinition","src":"379771:1622:19","nodes":[],"body":{"id":38051,"nodeType":"Block","src":"379846:1547:19","nodes":[],"statements":[{"assignments":[38018],"declarations":[{"constant":false,"id":38018,"mutability":"mutable","name":"m0","nameLocation":"379864:2:19","nodeType":"VariableDeclaration","scope":38051,"src":"379856:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38017,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379856:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38019,"nodeType":"VariableDeclarationStatement","src":"379856:10:19"},{"assignments":[38021],"declarations":[{"constant":false,"id":38021,"mutability":"mutable","name":"m1","nameLocation":"379884:2:19","nodeType":"VariableDeclaration","scope":38051,"src":"379876:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38020,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379876:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38022,"nodeType":"VariableDeclarationStatement","src":"379876:10:19"},{"assignments":[38024],"declarations":[{"constant":false,"id":38024,"mutability":"mutable","name":"m2","nameLocation":"379904:2:19","nodeType":"VariableDeclaration","scope":38051,"src":"379896:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38023,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379896:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38025,"nodeType":"VariableDeclarationStatement","src":"379896:10:19"},{"assignments":[38027],"declarations":[{"constant":false,"id":38027,"mutability":"mutable","name":"m3","nameLocation":"379924:2:19","nodeType":"VariableDeclaration","scope":38051,"src":"379916:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38026,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379916:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38028,"nodeType":"VariableDeclarationStatement","src":"379916:10:19"},{"assignments":[38030],"declarations":[{"constant":false,"id":38030,"mutability":"mutable","name":"m4","nameLocation":"379944:2:19","nodeType":"VariableDeclaration","scope":38051,"src":"379936:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38029,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379936:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38031,"nodeType":"VariableDeclarationStatement","src":"379936:10:19"},{"assignments":[38033],"declarations":[{"constant":false,"id":38033,"mutability":"mutable","name":"m5","nameLocation":"379964:2:19","nodeType":"VariableDeclaration","scope":38051,"src":"379956:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38032,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379956:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38034,"nodeType":"VariableDeclarationStatement","src":"379956:10:19"},{"assignments":[38036],"declarations":[{"constant":false,"id":38036,"mutability":"mutable","name":"m6","nameLocation":"379984:2:19","nodeType":"VariableDeclaration","scope":38051,"src":"379976:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38035,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379976:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38037,"nodeType":"VariableDeclarationStatement","src":"379976:10:19"},{"assignments":[38039],"declarations":[{"constant":false,"id":38039,"mutability":"mutable","name":"m7","nameLocation":"380004:2:19","nodeType":"VariableDeclaration","scope":38051,"src":"379996:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38038,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379996:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38040,"nodeType":"VariableDeclarationStatement","src":"379996:10:19"},{"assignments":[38042],"declarations":[{"constant":false,"id":38042,"mutability":"mutable","name":"m8","nameLocation":"380024:2:19","nodeType":"VariableDeclaration","scope":38051,"src":"380016:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38041,"name":"bytes32","nodeType":"ElementaryTypeName","src":"380016:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38043,"nodeType":"VariableDeclarationStatement","src":"380016:10:19"},{"AST":{"nativeSrc":"380088:927:19","nodeType":"YulBlock","src":"380088:927:19","statements":[{"body":{"nativeSrc":"380131:313:19","nodeType":"YulBlock","src":"380131:313:19","statements":[{"nativeSrc":"380149:15:19","nodeType":"YulVariableDeclaration","src":"380149:15:19","value":{"kind":"number","nativeSrc":"380163:1:19","nodeType":"YulLiteral","src":"380163:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"380153:6:19","nodeType":"YulTypedName","src":"380153:6:19","type":""}]},{"body":{"nativeSrc":"380234:40:19","nodeType":"YulBlock","src":"380234:40:19","statements":[{"body":{"nativeSrc":"380263:9:19","nodeType":"YulBlock","src":"380263:9:19","statements":[{"nativeSrc":"380265:5:19","nodeType":"YulBreak","src":"380265:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"380251:6:19","nodeType":"YulIdentifier","src":"380251:6:19"},{"name":"w","nativeSrc":"380259:1:19","nodeType":"YulIdentifier","src":"380259:1:19"}],"functionName":{"name":"byte","nativeSrc":"380246:4:19","nodeType":"YulIdentifier","src":"380246:4:19"},"nativeSrc":"380246:15:19","nodeType":"YulFunctionCall","src":"380246:15:19"}],"functionName":{"name":"iszero","nativeSrc":"380239:6:19","nodeType":"YulIdentifier","src":"380239:6:19"},"nativeSrc":"380239:23:19","nodeType":"YulFunctionCall","src":"380239:23:19"},"nativeSrc":"380236:36:19","nodeType":"YulIf","src":"380236:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"380191:6:19","nodeType":"YulIdentifier","src":"380191:6:19"},{"kind":"number","nativeSrc":"380199:4:19","nodeType":"YulLiteral","src":"380199:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"380188:2:19","nodeType":"YulIdentifier","src":"380188:2:19"},"nativeSrc":"380188:16:19","nodeType":"YulFunctionCall","src":"380188:16:19"},"nativeSrc":"380181:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"380205:28:19","nodeType":"YulBlock","src":"380205:28:19","statements":[{"nativeSrc":"380207:24:19","nodeType":"YulAssignment","src":"380207:24:19","value":{"arguments":[{"name":"length","nativeSrc":"380221:6:19","nodeType":"YulIdentifier","src":"380221:6:19"},{"kind":"number","nativeSrc":"380229:1:19","nodeType":"YulLiteral","src":"380229:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"380217:3:19","nodeType":"YulIdentifier","src":"380217:3:19"},"nativeSrc":"380217:14:19","nodeType":"YulFunctionCall","src":"380217:14:19"},"variableNames":[{"name":"length","nativeSrc":"380207:6:19","nodeType":"YulIdentifier","src":"380207:6:19"}]}]},"pre":{"nativeSrc":"380185:2:19","nodeType":"YulBlock","src":"380185:2:19","statements":[]},"src":"380181:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"380298:3:19","nodeType":"YulIdentifier","src":"380298:3:19"},{"name":"length","nativeSrc":"380303:6:19","nodeType":"YulIdentifier","src":"380303:6:19"}],"functionName":{"name":"mstore","nativeSrc":"380291:6:19","nodeType":"YulIdentifier","src":"380291:6:19"},"nativeSrc":"380291:19:19","nodeType":"YulFunctionCall","src":"380291:19:19"},"nativeSrc":"380291:19:19","nodeType":"YulExpressionStatement","src":"380291:19:19"},{"nativeSrc":"380327:37:19","nodeType":"YulVariableDeclaration","src":"380327:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"380344:3:19","nodeType":"YulLiteral","src":"380344:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"380353:1:19","nodeType":"YulLiteral","src":"380353:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"380356:6:19","nodeType":"YulIdentifier","src":"380356:6:19"}],"functionName":{"name":"shl","nativeSrc":"380349:3:19","nodeType":"YulIdentifier","src":"380349:3:19"},"nativeSrc":"380349:14:19","nodeType":"YulFunctionCall","src":"380349:14:19"}],"functionName":{"name":"sub","nativeSrc":"380340:3:19","nodeType":"YulIdentifier","src":"380340:3:19"},"nativeSrc":"380340:24:19","nodeType":"YulFunctionCall","src":"380340:24:19"},"variables":[{"name":"shift","nativeSrc":"380331:5:19","nodeType":"YulTypedName","src":"380331:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"380392:3:19","nodeType":"YulIdentifier","src":"380392:3:19"},{"kind":"number","nativeSrc":"380397:4:19","nodeType":"YulLiteral","src":"380397:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"380388:3:19","nodeType":"YulIdentifier","src":"380388:3:19"},"nativeSrc":"380388:14:19","nodeType":"YulFunctionCall","src":"380388:14:19"},{"arguments":[{"name":"shift","nativeSrc":"380408:5:19","nodeType":"YulIdentifier","src":"380408:5:19"},{"arguments":[{"name":"shift","nativeSrc":"380419:5:19","nodeType":"YulIdentifier","src":"380419:5:19"},{"name":"w","nativeSrc":"380426:1:19","nodeType":"YulIdentifier","src":"380426:1:19"}],"functionName":{"name":"shr","nativeSrc":"380415:3:19","nodeType":"YulIdentifier","src":"380415:3:19"},"nativeSrc":"380415:13:19","nodeType":"YulFunctionCall","src":"380415:13:19"}],"functionName":{"name":"shl","nativeSrc":"380404:3:19","nodeType":"YulIdentifier","src":"380404:3:19"},"nativeSrc":"380404:25:19","nodeType":"YulFunctionCall","src":"380404:25:19"}],"functionName":{"name":"mstore","nativeSrc":"380381:6:19","nodeType":"YulIdentifier","src":"380381:6:19"},"nativeSrc":"380381:49:19","nodeType":"YulFunctionCall","src":"380381:49:19"},"nativeSrc":"380381:49:19","nodeType":"YulExpressionStatement","src":"380381:49:19"}]},"name":"writeString","nativeSrc":"380102:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"380123:3:19","nodeType":"YulTypedName","src":"380123:3:19","type":""},{"name":"w","nativeSrc":"380128:1:19","nodeType":"YulTypedName","src":"380128:1:19","type":""}],"src":"380102:342:19"},{"nativeSrc":"380457:17:19","nodeType":"YulAssignment","src":"380457:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"380469:4:19","nodeType":"YulLiteral","src":"380469:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"380463:5:19","nodeType":"YulIdentifier","src":"380463:5:19"},"nativeSrc":"380463:11:19","nodeType":"YulFunctionCall","src":"380463:11:19"},"variableNames":[{"name":"m0","nativeSrc":"380457:2:19","nodeType":"YulIdentifier","src":"380457:2:19"}]},{"nativeSrc":"380487:17:19","nodeType":"YulAssignment","src":"380487:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"380499:4:19","nodeType":"YulLiteral","src":"380499:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"380493:5:19","nodeType":"YulIdentifier","src":"380493:5:19"},"nativeSrc":"380493:11:19","nodeType":"YulFunctionCall","src":"380493:11:19"},"variableNames":[{"name":"m1","nativeSrc":"380487:2:19","nodeType":"YulIdentifier","src":"380487:2:19"}]},{"nativeSrc":"380517:17:19","nodeType":"YulAssignment","src":"380517:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"380529:4:19","nodeType":"YulLiteral","src":"380529:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"380523:5:19","nodeType":"YulIdentifier","src":"380523:5:19"},"nativeSrc":"380523:11:19","nodeType":"YulFunctionCall","src":"380523:11:19"},"variableNames":[{"name":"m2","nativeSrc":"380517:2:19","nodeType":"YulIdentifier","src":"380517:2:19"}]},{"nativeSrc":"380547:17:19","nodeType":"YulAssignment","src":"380547:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"380559:4:19","nodeType":"YulLiteral","src":"380559:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"380553:5:19","nodeType":"YulIdentifier","src":"380553:5:19"},"nativeSrc":"380553:11:19","nodeType":"YulFunctionCall","src":"380553:11:19"},"variableNames":[{"name":"m3","nativeSrc":"380547:2:19","nodeType":"YulIdentifier","src":"380547:2:19"}]},{"nativeSrc":"380577:17:19","nodeType":"YulAssignment","src":"380577:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"380589:4:19","nodeType":"YulLiteral","src":"380589:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"380583:5:19","nodeType":"YulIdentifier","src":"380583:5:19"},"nativeSrc":"380583:11:19","nodeType":"YulFunctionCall","src":"380583:11:19"},"variableNames":[{"name":"m4","nativeSrc":"380577:2:19","nodeType":"YulIdentifier","src":"380577:2:19"}]},{"nativeSrc":"380607:17:19","nodeType":"YulAssignment","src":"380607:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"380619:4:19","nodeType":"YulLiteral","src":"380619:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"380613:5:19","nodeType":"YulIdentifier","src":"380613:5:19"},"nativeSrc":"380613:11:19","nodeType":"YulFunctionCall","src":"380613:11:19"},"variableNames":[{"name":"m5","nativeSrc":"380607:2:19","nodeType":"YulIdentifier","src":"380607:2:19"}]},{"nativeSrc":"380637:17:19","nodeType":"YulAssignment","src":"380637:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"380649:4:19","nodeType":"YulLiteral","src":"380649:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"380643:5:19","nodeType":"YulIdentifier","src":"380643:5:19"},"nativeSrc":"380643:11:19","nodeType":"YulFunctionCall","src":"380643:11:19"},"variableNames":[{"name":"m6","nativeSrc":"380637:2:19","nodeType":"YulIdentifier","src":"380637:2:19"}]},{"nativeSrc":"380667:17:19","nodeType":"YulAssignment","src":"380667:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"380679:4:19","nodeType":"YulLiteral","src":"380679:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"380673:5:19","nodeType":"YulIdentifier","src":"380673:5:19"},"nativeSrc":"380673:11:19","nodeType":"YulFunctionCall","src":"380673:11:19"},"variableNames":[{"name":"m7","nativeSrc":"380667:2:19","nodeType":"YulIdentifier","src":"380667:2:19"}]},{"nativeSrc":"380697:18:19","nodeType":"YulAssignment","src":"380697:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"380709:5:19","nodeType":"YulLiteral","src":"380709:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"380703:5:19","nodeType":"YulIdentifier","src":"380703:5:19"},"nativeSrc":"380703:12:19","nodeType":"YulFunctionCall","src":"380703:12:19"},"variableNames":[{"name":"m8","nativeSrc":"380697:2:19","nodeType":"YulIdentifier","src":"380697:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"380800:4:19","nodeType":"YulLiteral","src":"380800:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"380806:10:19","nodeType":"YulLiteral","src":"380806:10:19","type":"","value":"0x9ffb2f93"}],"functionName":{"name":"mstore","nativeSrc":"380793:6:19","nodeType":"YulIdentifier","src":"380793:6:19"},"nativeSrc":"380793:24:19","nodeType":"YulFunctionCall","src":"380793:24:19"},"nativeSrc":"380793:24:19","nodeType":"YulExpressionStatement","src":"380793:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"380837:4:19","nodeType":"YulLiteral","src":"380837:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"380843:4:19","nodeType":"YulLiteral","src":"380843:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"380830:6:19","nodeType":"YulIdentifier","src":"380830:6:19"},"nativeSrc":"380830:18:19","nodeType":"YulFunctionCall","src":"380830:18:19"},"nativeSrc":"380830:18:19","nodeType":"YulExpressionStatement","src":"380830:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"380868:4:19","nodeType":"YulLiteral","src":"380868:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"380874:2:19","nodeType":"YulIdentifier","src":"380874:2:19"}],"functionName":{"name":"mstore","nativeSrc":"380861:6:19","nodeType":"YulIdentifier","src":"380861:6:19"},"nativeSrc":"380861:16:19","nodeType":"YulFunctionCall","src":"380861:16:19"},"nativeSrc":"380861:16:19","nodeType":"YulExpressionStatement","src":"380861:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"380897:4:19","nodeType":"YulLiteral","src":"380897:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"380903:2:19","nodeType":"YulIdentifier","src":"380903:2:19"}],"functionName":{"name":"mstore","nativeSrc":"380890:6:19","nodeType":"YulIdentifier","src":"380890:6:19"},"nativeSrc":"380890:16:19","nodeType":"YulFunctionCall","src":"380890:16:19"},"nativeSrc":"380890:16:19","nodeType":"YulExpressionStatement","src":"380890:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"380926:4:19","nodeType":"YulLiteral","src":"380926:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"380932:4:19","nodeType":"YulLiteral","src":"380932:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"380919:6:19","nodeType":"YulIdentifier","src":"380919:6:19"},"nativeSrc":"380919:18:19","nodeType":"YulFunctionCall","src":"380919:18:19"},"nativeSrc":"380919:18:19","nodeType":"YulExpressionStatement","src":"380919:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"380962:4:19","nodeType":"YulLiteral","src":"380962:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"380968:2:19","nodeType":"YulIdentifier","src":"380968:2:19"}],"functionName":{"name":"writeString","nativeSrc":"380950:11:19","nodeType":"YulIdentifier","src":"380950:11:19"},"nativeSrc":"380950:21:19","nodeType":"YulFunctionCall","src":"380950:21:19"},"nativeSrc":"380950:21:19","nodeType":"YulExpressionStatement","src":"380950:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"380996:4:19","nodeType":"YulLiteral","src":"380996:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"381002:2:19","nodeType":"YulIdentifier","src":"381002:2:19"}],"functionName":{"name":"writeString","nativeSrc":"380984:11:19","nodeType":"YulIdentifier","src":"380984:11:19"},"nativeSrc":"380984:21:19","nodeType":"YulFunctionCall","src":"380984:21:19"},"nativeSrc":"380984:21:19","nodeType":"YulExpressionStatement","src":"380984:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38018,"isOffset":false,"isSlot":false,"src":"380457:2:19","valueSize":1},{"declaration":38021,"isOffset":false,"isSlot":false,"src":"380487:2:19","valueSize":1},{"declaration":38024,"isOffset":false,"isSlot":false,"src":"380517:2:19","valueSize":1},{"declaration":38027,"isOffset":false,"isSlot":false,"src":"380547:2:19","valueSize":1},{"declaration":38030,"isOffset":false,"isSlot":false,"src":"380577:2:19","valueSize":1},{"declaration":38033,"isOffset":false,"isSlot":false,"src":"380607:2:19","valueSize":1},{"declaration":38036,"isOffset":false,"isSlot":false,"src":"380637:2:19","valueSize":1},{"declaration":38039,"isOffset":false,"isSlot":false,"src":"380667:2:19","valueSize":1},{"declaration":38042,"isOffset":false,"isSlot":false,"src":"380697:2:19","valueSize":1},{"declaration":38008,"isOffset":false,"isSlot":false,"src":"380968:2:19","valueSize":1},{"declaration":38010,"isOffset":false,"isSlot":false,"src":"380874:2:19","valueSize":1},{"declaration":38012,"isOffset":false,"isSlot":false,"src":"380903:2:19","valueSize":1},{"declaration":38014,"isOffset":false,"isSlot":false,"src":"381002:2:19","valueSize":1}],"id":38044,"nodeType":"InlineAssembly","src":"380079:936:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":38046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"381040:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"381046:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":38045,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"381024:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"381024:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38049,"nodeType":"ExpressionStatement","src":"381024:28:19"},{"AST":{"nativeSrc":"381114:273:19","nodeType":"YulBlock","src":"381114:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"381135:4:19","nodeType":"YulLiteral","src":"381135:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"381141:2:19","nodeType":"YulIdentifier","src":"381141:2:19"}],"functionName":{"name":"mstore","nativeSrc":"381128:6:19","nodeType":"YulIdentifier","src":"381128:6:19"},"nativeSrc":"381128:16:19","nodeType":"YulFunctionCall","src":"381128:16:19"},"nativeSrc":"381128:16:19","nodeType":"YulExpressionStatement","src":"381128:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"381164:4:19","nodeType":"YulLiteral","src":"381164:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"381170:2:19","nodeType":"YulIdentifier","src":"381170:2:19"}],"functionName":{"name":"mstore","nativeSrc":"381157:6:19","nodeType":"YulIdentifier","src":"381157:6:19"},"nativeSrc":"381157:16:19","nodeType":"YulFunctionCall","src":"381157:16:19"},"nativeSrc":"381157:16:19","nodeType":"YulExpressionStatement","src":"381157:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"381193:4:19","nodeType":"YulLiteral","src":"381193:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"381199:2:19","nodeType":"YulIdentifier","src":"381199:2:19"}],"functionName":{"name":"mstore","nativeSrc":"381186:6:19","nodeType":"YulIdentifier","src":"381186:6:19"},"nativeSrc":"381186:16:19","nodeType":"YulFunctionCall","src":"381186:16:19"},"nativeSrc":"381186:16:19","nodeType":"YulExpressionStatement","src":"381186:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"381222:4:19","nodeType":"YulLiteral","src":"381222:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"381228:2:19","nodeType":"YulIdentifier","src":"381228:2:19"}],"functionName":{"name":"mstore","nativeSrc":"381215:6:19","nodeType":"YulIdentifier","src":"381215:6:19"},"nativeSrc":"381215:16:19","nodeType":"YulFunctionCall","src":"381215:16:19"},"nativeSrc":"381215:16:19","nodeType":"YulExpressionStatement","src":"381215:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"381251:4:19","nodeType":"YulLiteral","src":"381251:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"381257:2:19","nodeType":"YulIdentifier","src":"381257:2:19"}],"functionName":{"name":"mstore","nativeSrc":"381244:6:19","nodeType":"YulIdentifier","src":"381244:6:19"},"nativeSrc":"381244:16:19","nodeType":"YulFunctionCall","src":"381244:16:19"},"nativeSrc":"381244:16:19","nodeType":"YulExpressionStatement","src":"381244:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"381280:4:19","nodeType":"YulLiteral","src":"381280:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"381286:2:19","nodeType":"YulIdentifier","src":"381286:2:19"}],"functionName":{"name":"mstore","nativeSrc":"381273:6:19","nodeType":"YulIdentifier","src":"381273:6:19"},"nativeSrc":"381273:16:19","nodeType":"YulFunctionCall","src":"381273:16:19"},"nativeSrc":"381273:16:19","nodeType":"YulExpressionStatement","src":"381273:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"381309:4:19","nodeType":"YulLiteral","src":"381309:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"381315:2:19","nodeType":"YulIdentifier","src":"381315:2:19"}],"functionName":{"name":"mstore","nativeSrc":"381302:6:19","nodeType":"YulIdentifier","src":"381302:6:19"},"nativeSrc":"381302:16:19","nodeType":"YulFunctionCall","src":"381302:16:19"},"nativeSrc":"381302:16:19","nodeType":"YulExpressionStatement","src":"381302:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"381338:4:19","nodeType":"YulLiteral","src":"381338:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"381344:2:19","nodeType":"YulIdentifier","src":"381344:2:19"}],"functionName":{"name":"mstore","nativeSrc":"381331:6:19","nodeType":"YulIdentifier","src":"381331:6:19"},"nativeSrc":"381331:16:19","nodeType":"YulFunctionCall","src":"381331:16:19"},"nativeSrc":"381331:16:19","nodeType":"YulExpressionStatement","src":"381331:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"381367:5:19","nodeType":"YulLiteral","src":"381367:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"381374:2:19","nodeType":"YulIdentifier","src":"381374:2:19"}],"functionName":{"name":"mstore","nativeSrc":"381360:6:19","nodeType":"YulIdentifier","src":"381360:6:19"},"nativeSrc":"381360:17:19","nodeType":"YulFunctionCall","src":"381360:17:19"},"nativeSrc":"381360:17:19","nodeType":"YulExpressionStatement","src":"381360:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38018,"isOffset":false,"isSlot":false,"src":"381141:2:19","valueSize":1},{"declaration":38021,"isOffset":false,"isSlot":false,"src":"381170:2:19","valueSize":1},{"declaration":38024,"isOffset":false,"isSlot":false,"src":"381199:2:19","valueSize":1},{"declaration":38027,"isOffset":false,"isSlot":false,"src":"381228:2:19","valueSize":1},{"declaration":38030,"isOffset":false,"isSlot":false,"src":"381257:2:19","valueSize":1},{"declaration":38033,"isOffset":false,"isSlot":false,"src":"381286:2:19","valueSize":1},{"declaration":38036,"isOffset":false,"isSlot":false,"src":"381315:2:19","valueSize":1},{"declaration":38039,"isOffset":false,"isSlot":false,"src":"381344:2:19","valueSize":1},{"declaration":38042,"isOffset":false,"isSlot":false,"src":"381374:2:19","valueSize":1}],"id":38050,"nodeType":"InlineAssembly","src":"381105:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"379780:3:19","parameters":{"id":38015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38008,"mutability":"mutable","name":"p0","nameLocation":"379792:2:19","nodeType":"VariableDeclaration","scope":38052,"src":"379784:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38007,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379784:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38010,"mutability":"mutable","name":"p1","nameLocation":"379804:2:19","nodeType":"VariableDeclaration","scope":38052,"src":"379796:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38009,"name":"uint256","nodeType":"ElementaryTypeName","src":"379796:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38012,"mutability":"mutable","name":"p2","nameLocation":"379816:2:19","nodeType":"VariableDeclaration","scope":38052,"src":"379808:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38011,"name":"address","nodeType":"ElementaryTypeName","src":"379808:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38014,"mutability":"mutable","name":"p3","nameLocation":"379828:2:19","nodeType":"VariableDeclaration","scope":38052,"src":"379820:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38013,"name":"bytes32","nodeType":"ElementaryTypeName","src":"379820:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"379783:48:19"},"returnParameters":{"id":38016,"nodeType":"ParameterList","parameters":[],"src":"379846:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38092,"nodeType":"FunctionDefinition","src":"381399:1420:19","nodes":[],"body":{"id":38091,"nodeType":"Block","src":"381471:1348:19","nodes":[],"statements":[{"assignments":[38064],"declarations":[{"constant":false,"id":38064,"mutability":"mutable","name":"m0","nameLocation":"381489:2:19","nodeType":"VariableDeclaration","scope":38091,"src":"381481:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38063,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381481:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38065,"nodeType":"VariableDeclarationStatement","src":"381481:10:19"},{"assignments":[38067],"declarations":[{"constant":false,"id":38067,"mutability":"mutable","name":"m1","nameLocation":"381509:2:19","nodeType":"VariableDeclaration","scope":38091,"src":"381501:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38066,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381501:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38068,"nodeType":"VariableDeclarationStatement","src":"381501:10:19"},{"assignments":[38070],"declarations":[{"constant":false,"id":38070,"mutability":"mutable","name":"m2","nameLocation":"381529:2:19","nodeType":"VariableDeclaration","scope":38091,"src":"381521:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38069,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381521:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38071,"nodeType":"VariableDeclarationStatement","src":"381521:10:19"},{"assignments":[38073],"declarations":[{"constant":false,"id":38073,"mutability":"mutable","name":"m3","nameLocation":"381549:2:19","nodeType":"VariableDeclaration","scope":38091,"src":"381541:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38072,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381541:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38074,"nodeType":"VariableDeclarationStatement","src":"381541:10:19"},{"assignments":[38076],"declarations":[{"constant":false,"id":38076,"mutability":"mutable","name":"m4","nameLocation":"381569:2:19","nodeType":"VariableDeclaration","scope":38091,"src":"381561:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38075,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381561:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38077,"nodeType":"VariableDeclarationStatement","src":"381561:10:19"},{"assignments":[38079],"declarations":[{"constant":false,"id":38079,"mutability":"mutable","name":"m5","nameLocation":"381589:2:19","nodeType":"VariableDeclaration","scope":38091,"src":"381581:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38078,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381581:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38080,"nodeType":"VariableDeclarationStatement","src":"381581:10:19"},{"assignments":[38082],"declarations":[{"constant":false,"id":38082,"mutability":"mutable","name":"m6","nameLocation":"381609:2:19","nodeType":"VariableDeclaration","scope":38091,"src":"381601:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38081,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381601:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38083,"nodeType":"VariableDeclarationStatement","src":"381601:10:19"},{"AST":{"nativeSrc":"381673:828:19","nodeType":"YulBlock","src":"381673:828:19","statements":[{"body":{"nativeSrc":"381716:313:19","nodeType":"YulBlock","src":"381716:313:19","statements":[{"nativeSrc":"381734:15:19","nodeType":"YulVariableDeclaration","src":"381734:15:19","value":{"kind":"number","nativeSrc":"381748:1:19","nodeType":"YulLiteral","src":"381748:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"381738:6:19","nodeType":"YulTypedName","src":"381738:6:19","type":""}]},{"body":{"nativeSrc":"381819:40:19","nodeType":"YulBlock","src":"381819:40:19","statements":[{"body":{"nativeSrc":"381848:9:19","nodeType":"YulBlock","src":"381848:9:19","statements":[{"nativeSrc":"381850:5:19","nodeType":"YulBreak","src":"381850:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"381836:6:19","nodeType":"YulIdentifier","src":"381836:6:19"},{"name":"w","nativeSrc":"381844:1:19","nodeType":"YulIdentifier","src":"381844:1:19"}],"functionName":{"name":"byte","nativeSrc":"381831:4:19","nodeType":"YulIdentifier","src":"381831:4:19"},"nativeSrc":"381831:15:19","nodeType":"YulFunctionCall","src":"381831:15:19"}],"functionName":{"name":"iszero","nativeSrc":"381824:6:19","nodeType":"YulIdentifier","src":"381824:6:19"},"nativeSrc":"381824:23:19","nodeType":"YulFunctionCall","src":"381824:23:19"},"nativeSrc":"381821:36:19","nodeType":"YulIf","src":"381821:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"381776:6:19","nodeType":"YulIdentifier","src":"381776:6:19"},{"kind":"number","nativeSrc":"381784:4:19","nodeType":"YulLiteral","src":"381784:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"381773:2:19","nodeType":"YulIdentifier","src":"381773:2:19"},"nativeSrc":"381773:16:19","nodeType":"YulFunctionCall","src":"381773:16:19"},"nativeSrc":"381766:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"381790:28:19","nodeType":"YulBlock","src":"381790:28:19","statements":[{"nativeSrc":"381792:24:19","nodeType":"YulAssignment","src":"381792:24:19","value":{"arguments":[{"name":"length","nativeSrc":"381806:6:19","nodeType":"YulIdentifier","src":"381806:6:19"},{"kind":"number","nativeSrc":"381814:1:19","nodeType":"YulLiteral","src":"381814:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"381802:3:19","nodeType":"YulIdentifier","src":"381802:3:19"},"nativeSrc":"381802:14:19","nodeType":"YulFunctionCall","src":"381802:14:19"},"variableNames":[{"name":"length","nativeSrc":"381792:6:19","nodeType":"YulIdentifier","src":"381792:6:19"}]}]},"pre":{"nativeSrc":"381770:2:19","nodeType":"YulBlock","src":"381770:2:19","statements":[]},"src":"381766:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"381883:3:19","nodeType":"YulIdentifier","src":"381883:3:19"},{"name":"length","nativeSrc":"381888:6:19","nodeType":"YulIdentifier","src":"381888:6:19"}],"functionName":{"name":"mstore","nativeSrc":"381876:6:19","nodeType":"YulIdentifier","src":"381876:6:19"},"nativeSrc":"381876:19:19","nodeType":"YulFunctionCall","src":"381876:19:19"},"nativeSrc":"381876:19:19","nodeType":"YulExpressionStatement","src":"381876:19:19"},{"nativeSrc":"381912:37:19","nodeType":"YulVariableDeclaration","src":"381912:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"381929:3:19","nodeType":"YulLiteral","src":"381929:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"381938:1:19","nodeType":"YulLiteral","src":"381938:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"381941:6:19","nodeType":"YulIdentifier","src":"381941:6:19"}],"functionName":{"name":"shl","nativeSrc":"381934:3:19","nodeType":"YulIdentifier","src":"381934:3:19"},"nativeSrc":"381934:14:19","nodeType":"YulFunctionCall","src":"381934:14:19"}],"functionName":{"name":"sub","nativeSrc":"381925:3:19","nodeType":"YulIdentifier","src":"381925:3:19"},"nativeSrc":"381925:24:19","nodeType":"YulFunctionCall","src":"381925:24:19"},"variables":[{"name":"shift","nativeSrc":"381916:5:19","nodeType":"YulTypedName","src":"381916:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"381977:3:19","nodeType":"YulIdentifier","src":"381977:3:19"},{"kind":"number","nativeSrc":"381982:4:19","nodeType":"YulLiteral","src":"381982:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"381973:3:19","nodeType":"YulIdentifier","src":"381973:3:19"},"nativeSrc":"381973:14:19","nodeType":"YulFunctionCall","src":"381973:14:19"},{"arguments":[{"name":"shift","nativeSrc":"381993:5:19","nodeType":"YulIdentifier","src":"381993:5:19"},{"arguments":[{"name":"shift","nativeSrc":"382004:5:19","nodeType":"YulIdentifier","src":"382004:5:19"},{"name":"w","nativeSrc":"382011:1:19","nodeType":"YulIdentifier","src":"382011:1:19"}],"functionName":{"name":"shr","nativeSrc":"382000:3:19","nodeType":"YulIdentifier","src":"382000:3:19"},"nativeSrc":"382000:13:19","nodeType":"YulFunctionCall","src":"382000:13:19"}],"functionName":{"name":"shl","nativeSrc":"381989:3:19","nodeType":"YulIdentifier","src":"381989:3:19"},"nativeSrc":"381989:25:19","nodeType":"YulFunctionCall","src":"381989:25:19"}],"functionName":{"name":"mstore","nativeSrc":"381966:6:19","nodeType":"YulIdentifier","src":"381966:6:19"},"nativeSrc":"381966:49:19","nodeType":"YulFunctionCall","src":"381966:49:19"},"nativeSrc":"381966:49:19","nodeType":"YulExpressionStatement","src":"381966:49:19"}]},"name":"writeString","nativeSrc":"381687:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"381708:3:19","nodeType":"YulTypedName","src":"381708:3:19","type":""},{"name":"w","nativeSrc":"381713:1:19","nodeType":"YulTypedName","src":"381713:1:19","type":""}],"src":"381687:342:19"},{"nativeSrc":"382042:17:19","nodeType":"YulAssignment","src":"382042:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"382054:4:19","nodeType":"YulLiteral","src":"382054:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"382048:5:19","nodeType":"YulIdentifier","src":"382048:5:19"},"nativeSrc":"382048:11:19","nodeType":"YulFunctionCall","src":"382048:11:19"},"variableNames":[{"name":"m0","nativeSrc":"382042:2:19","nodeType":"YulIdentifier","src":"382042:2:19"}]},{"nativeSrc":"382072:17:19","nodeType":"YulAssignment","src":"382072:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"382084:4:19","nodeType":"YulLiteral","src":"382084:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"382078:5:19","nodeType":"YulIdentifier","src":"382078:5:19"},"nativeSrc":"382078:11:19","nodeType":"YulFunctionCall","src":"382078:11:19"},"variableNames":[{"name":"m1","nativeSrc":"382072:2:19","nodeType":"YulIdentifier","src":"382072:2:19"}]},{"nativeSrc":"382102:17:19","nodeType":"YulAssignment","src":"382102:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"382114:4:19","nodeType":"YulLiteral","src":"382114:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"382108:5:19","nodeType":"YulIdentifier","src":"382108:5:19"},"nativeSrc":"382108:11:19","nodeType":"YulFunctionCall","src":"382108:11:19"},"variableNames":[{"name":"m2","nativeSrc":"382102:2:19","nodeType":"YulIdentifier","src":"382102:2:19"}]},{"nativeSrc":"382132:17:19","nodeType":"YulAssignment","src":"382132:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"382144:4:19","nodeType":"YulLiteral","src":"382144:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"382138:5:19","nodeType":"YulIdentifier","src":"382138:5:19"},"nativeSrc":"382138:11:19","nodeType":"YulFunctionCall","src":"382138:11:19"},"variableNames":[{"name":"m3","nativeSrc":"382132:2:19","nodeType":"YulIdentifier","src":"382132:2:19"}]},{"nativeSrc":"382162:17:19","nodeType":"YulAssignment","src":"382162:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"382174:4:19","nodeType":"YulLiteral","src":"382174:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"382168:5:19","nodeType":"YulIdentifier","src":"382168:5:19"},"nativeSrc":"382168:11:19","nodeType":"YulFunctionCall","src":"382168:11:19"},"variableNames":[{"name":"m4","nativeSrc":"382162:2:19","nodeType":"YulIdentifier","src":"382162:2:19"}]},{"nativeSrc":"382192:17:19","nodeType":"YulAssignment","src":"382192:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"382204:4:19","nodeType":"YulLiteral","src":"382204:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"382198:5:19","nodeType":"YulIdentifier","src":"382198:5:19"},"nativeSrc":"382198:11:19","nodeType":"YulFunctionCall","src":"382198:11:19"},"variableNames":[{"name":"m5","nativeSrc":"382192:2:19","nodeType":"YulIdentifier","src":"382192:2:19"}]},{"nativeSrc":"382222:17:19","nodeType":"YulAssignment","src":"382222:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"382234:4:19","nodeType":"YulLiteral","src":"382234:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"382228:5:19","nodeType":"YulIdentifier","src":"382228:5:19"},"nativeSrc":"382228:11:19","nodeType":"YulFunctionCall","src":"382228:11:19"},"variableNames":[{"name":"m6","nativeSrc":"382222:2:19","nodeType":"YulIdentifier","src":"382222:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382322:4:19","nodeType":"YulLiteral","src":"382322:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"382328:10:19","nodeType":"YulLiteral","src":"382328:10:19","type":"","value":"0xe0e95b98"}],"functionName":{"name":"mstore","nativeSrc":"382315:6:19","nodeType":"YulIdentifier","src":"382315:6:19"},"nativeSrc":"382315:24:19","nodeType":"YulFunctionCall","src":"382315:24:19"},"nativeSrc":"382315:24:19","nodeType":"YulExpressionStatement","src":"382315:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382359:4:19","nodeType":"YulLiteral","src":"382359:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"382365:4:19","nodeType":"YulLiteral","src":"382365:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"382352:6:19","nodeType":"YulIdentifier","src":"382352:6:19"},"nativeSrc":"382352:18:19","nodeType":"YulFunctionCall","src":"382352:18:19"},"nativeSrc":"382352:18:19","nodeType":"YulExpressionStatement","src":"382352:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382390:4:19","nodeType":"YulLiteral","src":"382390:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"382396:2:19","nodeType":"YulIdentifier","src":"382396:2:19"}],"functionName":{"name":"mstore","nativeSrc":"382383:6:19","nodeType":"YulIdentifier","src":"382383:6:19"},"nativeSrc":"382383:16:19","nodeType":"YulFunctionCall","src":"382383:16:19"},"nativeSrc":"382383:16:19","nodeType":"YulExpressionStatement","src":"382383:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382419:4:19","nodeType":"YulLiteral","src":"382419:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"382425:2:19","nodeType":"YulIdentifier","src":"382425:2:19"}],"functionName":{"name":"mstore","nativeSrc":"382412:6:19","nodeType":"YulIdentifier","src":"382412:6:19"},"nativeSrc":"382412:16:19","nodeType":"YulFunctionCall","src":"382412:16:19"},"nativeSrc":"382412:16:19","nodeType":"YulExpressionStatement","src":"382412:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382448:4:19","nodeType":"YulLiteral","src":"382448:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"382454:2:19","nodeType":"YulIdentifier","src":"382454:2:19"}],"functionName":{"name":"mstore","nativeSrc":"382441:6:19","nodeType":"YulIdentifier","src":"382441:6:19"},"nativeSrc":"382441:16:19","nodeType":"YulFunctionCall","src":"382441:16:19"},"nativeSrc":"382441:16:19","nodeType":"YulExpressionStatement","src":"382441:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382482:4:19","nodeType":"YulLiteral","src":"382482:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"382488:2:19","nodeType":"YulIdentifier","src":"382488:2:19"}],"functionName":{"name":"writeString","nativeSrc":"382470:11:19","nodeType":"YulIdentifier","src":"382470:11:19"},"nativeSrc":"382470:21:19","nodeType":"YulFunctionCall","src":"382470:21:19"},"nativeSrc":"382470:21:19","nodeType":"YulExpressionStatement","src":"382470:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38064,"isOffset":false,"isSlot":false,"src":"382042:2:19","valueSize":1},{"declaration":38067,"isOffset":false,"isSlot":false,"src":"382072:2:19","valueSize":1},{"declaration":38070,"isOffset":false,"isSlot":false,"src":"382102:2:19","valueSize":1},{"declaration":38073,"isOffset":false,"isSlot":false,"src":"382132:2:19","valueSize":1},{"declaration":38076,"isOffset":false,"isSlot":false,"src":"382162:2:19","valueSize":1},{"declaration":38079,"isOffset":false,"isSlot":false,"src":"382192:2:19","valueSize":1},{"declaration":38082,"isOffset":false,"isSlot":false,"src":"382222:2:19","valueSize":1},{"declaration":38054,"isOffset":false,"isSlot":false,"src":"382488:2:19","valueSize":1},{"declaration":38056,"isOffset":false,"isSlot":false,"src":"382396:2:19","valueSize":1},{"declaration":38058,"isOffset":false,"isSlot":false,"src":"382425:2:19","valueSize":1},{"declaration":38060,"isOffset":false,"isSlot":false,"src":"382454:2:19","valueSize":1}],"id":38084,"nodeType":"InlineAssembly","src":"381664:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":38086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"382526:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"382532:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":38085,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"382510:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"382510:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38089,"nodeType":"ExpressionStatement","src":"382510:27:19"},{"AST":{"nativeSrc":"382599:214:19","nodeType":"YulBlock","src":"382599:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"382620:4:19","nodeType":"YulLiteral","src":"382620:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"382626:2:19","nodeType":"YulIdentifier","src":"382626:2:19"}],"functionName":{"name":"mstore","nativeSrc":"382613:6:19","nodeType":"YulIdentifier","src":"382613:6:19"},"nativeSrc":"382613:16:19","nodeType":"YulFunctionCall","src":"382613:16:19"},"nativeSrc":"382613:16:19","nodeType":"YulExpressionStatement","src":"382613:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382649:4:19","nodeType":"YulLiteral","src":"382649:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"382655:2:19","nodeType":"YulIdentifier","src":"382655:2:19"}],"functionName":{"name":"mstore","nativeSrc":"382642:6:19","nodeType":"YulIdentifier","src":"382642:6:19"},"nativeSrc":"382642:16:19","nodeType":"YulFunctionCall","src":"382642:16:19"},"nativeSrc":"382642:16:19","nodeType":"YulExpressionStatement","src":"382642:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382678:4:19","nodeType":"YulLiteral","src":"382678:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"382684:2:19","nodeType":"YulIdentifier","src":"382684:2:19"}],"functionName":{"name":"mstore","nativeSrc":"382671:6:19","nodeType":"YulIdentifier","src":"382671:6:19"},"nativeSrc":"382671:16:19","nodeType":"YulFunctionCall","src":"382671:16:19"},"nativeSrc":"382671:16:19","nodeType":"YulExpressionStatement","src":"382671:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382707:4:19","nodeType":"YulLiteral","src":"382707:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"382713:2:19","nodeType":"YulIdentifier","src":"382713:2:19"}],"functionName":{"name":"mstore","nativeSrc":"382700:6:19","nodeType":"YulIdentifier","src":"382700:6:19"},"nativeSrc":"382700:16:19","nodeType":"YulFunctionCall","src":"382700:16:19"},"nativeSrc":"382700:16:19","nodeType":"YulExpressionStatement","src":"382700:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382736:4:19","nodeType":"YulLiteral","src":"382736:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"382742:2:19","nodeType":"YulIdentifier","src":"382742:2:19"}],"functionName":{"name":"mstore","nativeSrc":"382729:6:19","nodeType":"YulIdentifier","src":"382729:6:19"},"nativeSrc":"382729:16:19","nodeType":"YulFunctionCall","src":"382729:16:19"},"nativeSrc":"382729:16:19","nodeType":"YulExpressionStatement","src":"382729:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382765:4:19","nodeType":"YulLiteral","src":"382765:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"382771:2:19","nodeType":"YulIdentifier","src":"382771:2:19"}],"functionName":{"name":"mstore","nativeSrc":"382758:6:19","nodeType":"YulIdentifier","src":"382758:6:19"},"nativeSrc":"382758:16:19","nodeType":"YulFunctionCall","src":"382758:16:19"},"nativeSrc":"382758:16:19","nodeType":"YulExpressionStatement","src":"382758:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"382794:4:19","nodeType":"YulLiteral","src":"382794:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"382800:2:19","nodeType":"YulIdentifier","src":"382800:2:19"}],"functionName":{"name":"mstore","nativeSrc":"382787:6:19","nodeType":"YulIdentifier","src":"382787:6:19"},"nativeSrc":"382787:16:19","nodeType":"YulFunctionCall","src":"382787:16:19"},"nativeSrc":"382787:16:19","nodeType":"YulExpressionStatement","src":"382787:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38064,"isOffset":false,"isSlot":false,"src":"382626:2:19","valueSize":1},{"declaration":38067,"isOffset":false,"isSlot":false,"src":"382655:2:19","valueSize":1},{"declaration":38070,"isOffset":false,"isSlot":false,"src":"382684:2:19","valueSize":1},{"declaration":38073,"isOffset":false,"isSlot":false,"src":"382713:2:19","valueSize":1},{"declaration":38076,"isOffset":false,"isSlot":false,"src":"382742:2:19","valueSize":1},{"declaration":38079,"isOffset":false,"isSlot":false,"src":"382771:2:19","valueSize":1},{"declaration":38082,"isOffset":false,"isSlot":false,"src":"382800:2:19","valueSize":1}],"id":38090,"nodeType":"InlineAssembly","src":"382590:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"381408:3:19","parameters":{"id":38061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38054,"mutability":"mutable","name":"p0","nameLocation":"381420:2:19","nodeType":"VariableDeclaration","scope":38092,"src":"381412:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38053,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381412:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38056,"mutability":"mutable","name":"p1","nameLocation":"381432:2:19","nodeType":"VariableDeclaration","scope":38092,"src":"381424:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38055,"name":"uint256","nodeType":"ElementaryTypeName","src":"381424:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38058,"mutability":"mutable","name":"p2","nameLocation":"381441:2:19","nodeType":"VariableDeclaration","scope":38092,"src":"381436:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38057,"name":"bool","nodeType":"ElementaryTypeName","src":"381436:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38060,"mutability":"mutable","name":"p3","nameLocation":"381453:2:19","nodeType":"VariableDeclaration","scope":38092,"src":"381445:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38059,"name":"address","nodeType":"ElementaryTypeName","src":"381445:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"381411:45:19"},"returnParameters":{"id":38062,"nodeType":"ParameterList","parameters":[],"src":"381471:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38132,"nodeType":"FunctionDefinition","src":"382825:1414:19","nodes":[],"body":{"id":38131,"nodeType":"Block","src":"382894:1345:19","nodes":[],"statements":[{"assignments":[38104],"declarations":[{"constant":false,"id":38104,"mutability":"mutable","name":"m0","nameLocation":"382912:2:19","nodeType":"VariableDeclaration","scope":38131,"src":"382904:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38103,"name":"bytes32","nodeType":"ElementaryTypeName","src":"382904:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38105,"nodeType":"VariableDeclarationStatement","src":"382904:10:19"},{"assignments":[38107],"declarations":[{"constant":false,"id":38107,"mutability":"mutable","name":"m1","nameLocation":"382932:2:19","nodeType":"VariableDeclaration","scope":38131,"src":"382924:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38106,"name":"bytes32","nodeType":"ElementaryTypeName","src":"382924:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38108,"nodeType":"VariableDeclarationStatement","src":"382924:10:19"},{"assignments":[38110],"declarations":[{"constant":false,"id":38110,"mutability":"mutable","name":"m2","nameLocation":"382952:2:19","nodeType":"VariableDeclaration","scope":38131,"src":"382944:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38109,"name":"bytes32","nodeType":"ElementaryTypeName","src":"382944:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38111,"nodeType":"VariableDeclarationStatement","src":"382944:10:19"},{"assignments":[38113],"declarations":[{"constant":false,"id":38113,"mutability":"mutable","name":"m3","nameLocation":"382972:2:19","nodeType":"VariableDeclaration","scope":38131,"src":"382964:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38112,"name":"bytes32","nodeType":"ElementaryTypeName","src":"382964:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38114,"nodeType":"VariableDeclarationStatement","src":"382964:10:19"},{"assignments":[38116],"declarations":[{"constant":false,"id":38116,"mutability":"mutable","name":"m4","nameLocation":"382992:2:19","nodeType":"VariableDeclaration","scope":38131,"src":"382984:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38115,"name":"bytes32","nodeType":"ElementaryTypeName","src":"382984:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38117,"nodeType":"VariableDeclarationStatement","src":"382984:10:19"},{"assignments":[38119],"declarations":[{"constant":false,"id":38119,"mutability":"mutable","name":"m5","nameLocation":"383012:2:19","nodeType":"VariableDeclaration","scope":38131,"src":"383004:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38118,"name":"bytes32","nodeType":"ElementaryTypeName","src":"383004:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38120,"nodeType":"VariableDeclarationStatement","src":"383004:10:19"},{"assignments":[38122],"declarations":[{"constant":false,"id":38122,"mutability":"mutable","name":"m6","nameLocation":"383032:2:19","nodeType":"VariableDeclaration","scope":38131,"src":"383024:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38121,"name":"bytes32","nodeType":"ElementaryTypeName","src":"383024:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38123,"nodeType":"VariableDeclarationStatement","src":"383024:10:19"},{"AST":{"nativeSrc":"383096:825:19","nodeType":"YulBlock","src":"383096:825:19","statements":[{"body":{"nativeSrc":"383139:313:19","nodeType":"YulBlock","src":"383139:313:19","statements":[{"nativeSrc":"383157:15:19","nodeType":"YulVariableDeclaration","src":"383157:15:19","value":{"kind":"number","nativeSrc":"383171:1:19","nodeType":"YulLiteral","src":"383171:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"383161:6:19","nodeType":"YulTypedName","src":"383161:6:19","type":""}]},{"body":{"nativeSrc":"383242:40:19","nodeType":"YulBlock","src":"383242:40:19","statements":[{"body":{"nativeSrc":"383271:9:19","nodeType":"YulBlock","src":"383271:9:19","statements":[{"nativeSrc":"383273:5:19","nodeType":"YulBreak","src":"383273:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"383259:6:19","nodeType":"YulIdentifier","src":"383259:6:19"},{"name":"w","nativeSrc":"383267:1:19","nodeType":"YulIdentifier","src":"383267:1:19"}],"functionName":{"name":"byte","nativeSrc":"383254:4:19","nodeType":"YulIdentifier","src":"383254:4:19"},"nativeSrc":"383254:15:19","nodeType":"YulFunctionCall","src":"383254:15:19"}],"functionName":{"name":"iszero","nativeSrc":"383247:6:19","nodeType":"YulIdentifier","src":"383247:6:19"},"nativeSrc":"383247:23:19","nodeType":"YulFunctionCall","src":"383247:23:19"},"nativeSrc":"383244:36:19","nodeType":"YulIf","src":"383244:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"383199:6:19","nodeType":"YulIdentifier","src":"383199:6:19"},{"kind":"number","nativeSrc":"383207:4:19","nodeType":"YulLiteral","src":"383207:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"383196:2:19","nodeType":"YulIdentifier","src":"383196:2:19"},"nativeSrc":"383196:16:19","nodeType":"YulFunctionCall","src":"383196:16:19"},"nativeSrc":"383189:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"383213:28:19","nodeType":"YulBlock","src":"383213:28:19","statements":[{"nativeSrc":"383215:24:19","nodeType":"YulAssignment","src":"383215:24:19","value":{"arguments":[{"name":"length","nativeSrc":"383229:6:19","nodeType":"YulIdentifier","src":"383229:6:19"},{"kind":"number","nativeSrc":"383237:1:19","nodeType":"YulLiteral","src":"383237:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"383225:3:19","nodeType":"YulIdentifier","src":"383225:3:19"},"nativeSrc":"383225:14:19","nodeType":"YulFunctionCall","src":"383225:14:19"},"variableNames":[{"name":"length","nativeSrc":"383215:6:19","nodeType":"YulIdentifier","src":"383215:6:19"}]}]},"pre":{"nativeSrc":"383193:2:19","nodeType":"YulBlock","src":"383193:2:19","statements":[]},"src":"383189:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"383306:3:19","nodeType":"YulIdentifier","src":"383306:3:19"},{"name":"length","nativeSrc":"383311:6:19","nodeType":"YulIdentifier","src":"383311:6:19"}],"functionName":{"name":"mstore","nativeSrc":"383299:6:19","nodeType":"YulIdentifier","src":"383299:6:19"},"nativeSrc":"383299:19:19","nodeType":"YulFunctionCall","src":"383299:19:19"},"nativeSrc":"383299:19:19","nodeType":"YulExpressionStatement","src":"383299:19:19"},{"nativeSrc":"383335:37:19","nodeType":"YulVariableDeclaration","src":"383335:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"383352:3:19","nodeType":"YulLiteral","src":"383352:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"383361:1:19","nodeType":"YulLiteral","src":"383361:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"383364:6:19","nodeType":"YulIdentifier","src":"383364:6:19"}],"functionName":{"name":"shl","nativeSrc":"383357:3:19","nodeType":"YulIdentifier","src":"383357:3:19"},"nativeSrc":"383357:14:19","nodeType":"YulFunctionCall","src":"383357:14:19"}],"functionName":{"name":"sub","nativeSrc":"383348:3:19","nodeType":"YulIdentifier","src":"383348:3:19"},"nativeSrc":"383348:24:19","nodeType":"YulFunctionCall","src":"383348:24:19"},"variables":[{"name":"shift","nativeSrc":"383339:5:19","nodeType":"YulTypedName","src":"383339:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"383400:3:19","nodeType":"YulIdentifier","src":"383400:3:19"},{"kind":"number","nativeSrc":"383405:4:19","nodeType":"YulLiteral","src":"383405:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"383396:3:19","nodeType":"YulIdentifier","src":"383396:3:19"},"nativeSrc":"383396:14:19","nodeType":"YulFunctionCall","src":"383396:14:19"},{"arguments":[{"name":"shift","nativeSrc":"383416:5:19","nodeType":"YulIdentifier","src":"383416:5:19"},{"arguments":[{"name":"shift","nativeSrc":"383427:5:19","nodeType":"YulIdentifier","src":"383427:5:19"},{"name":"w","nativeSrc":"383434:1:19","nodeType":"YulIdentifier","src":"383434:1:19"}],"functionName":{"name":"shr","nativeSrc":"383423:3:19","nodeType":"YulIdentifier","src":"383423:3:19"},"nativeSrc":"383423:13:19","nodeType":"YulFunctionCall","src":"383423:13:19"}],"functionName":{"name":"shl","nativeSrc":"383412:3:19","nodeType":"YulIdentifier","src":"383412:3:19"},"nativeSrc":"383412:25:19","nodeType":"YulFunctionCall","src":"383412:25:19"}],"functionName":{"name":"mstore","nativeSrc":"383389:6:19","nodeType":"YulIdentifier","src":"383389:6:19"},"nativeSrc":"383389:49:19","nodeType":"YulFunctionCall","src":"383389:49:19"},"nativeSrc":"383389:49:19","nodeType":"YulExpressionStatement","src":"383389:49:19"}]},"name":"writeString","nativeSrc":"383110:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"383131:3:19","nodeType":"YulTypedName","src":"383131:3:19","type":""},{"name":"w","nativeSrc":"383136:1:19","nodeType":"YulTypedName","src":"383136:1:19","type":""}],"src":"383110:342:19"},{"nativeSrc":"383465:17:19","nodeType":"YulAssignment","src":"383465:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"383477:4:19","nodeType":"YulLiteral","src":"383477:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"383471:5:19","nodeType":"YulIdentifier","src":"383471:5:19"},"nativeSrc":"383471:11:19","nodeType":"YulFunctionCall","src":"383471:11:19"},"variableNames":[{"name":"m0","nativeSrc":"383465:2:19","nodeType":"YulIdentifier","src":"383465:2:19"}]},{"nativeSrc":"383495:17:19","nodeType":"YulAssignment","src":"383495:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"383507:4:19","nodeType":"YulLiteral","src":"383507:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"383501:5:19","nodeType":"YulIdentifier","src":"383501:5:19"},"nativeSrc":"383501:11:19","nodeType":"YulFunctionCall","src":"383501:11:19"},"variableNames":[{"name":"m1","nativeSrc":"383495:2:19","nodeType":"YulIdentifier","src":"383495:2:19"}]},{"nativeSrc":"383525:17:19","nodeType":"YulAssignment","src":"383525:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"383537:4:19","nodeType":"YulLiteral","src":"383537:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"383531:5:19","nodeType":"YulIdentifier","src":"383531:5:19"},"nativeSrc":"383531:11:19","nodeType":"YulFunctionCall","src":"383531:11:19"},"variableNames":[{"name":"m2","nativeSrc":"383525:2:19","nodeType":"YulIdentifier","src":"383525:2:19"}]},{"nativeSrc":"383555:17:19","nodeType":"YulAssignment","src":"383555:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"383567:4:19","nodeType":"YulLiteral","src":"383567:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"383561:5:19","nodeType":"YulIdentifier","src":"383561:5:19"},"nativeSrc":"383561:11:19","nodeType":"YulFunctionCall","src":"383561:11:19"},"variableNames":[{"name":"m3","nativeSrc":"383555:2:19","nodeType":"YulIdentifier","src":"383555:2:19"}]},{"nativeSrc":"383585:17:19","nodeType":"YulAssignment","src":"383585:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"383597:4:19","nodeType":"YulLiteral","src":"383597:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"383591:5:19","nodeType":"YulIdentifier","src":"383591:5:19"},"nativeSrc":"383591:11:19","nodeType":"YulFunctionCall","src":"383591:11:19"},"variableNames":[{"name":"m4","nativeSrc":"383585:2:19","nodeType":"YulIdentifier","src":"383585:2:19"}]},{"nativeSrc":"383615:17:19","nodeType":"YulAssignment","src":"383615:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"383627:4:19","nodeType":"YulLiteral","src":"383627:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"383621:5:19","nodeType":"YulIdentifier","src":"383621:5:19"},"nativeSrc":"383621:11:19","nodeType":"YulFunctionCall","src":"383621:11:19"},"variableNames":[{"name":"m5","nativeSrc":"383615:2:19","nodeType":"YulIdentifier","src":"383615:2:19"}]},{"nativeSrc":"383645:17:19","nodeType":"YulAssignment","src":"383645:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"383657:4:19","nodeType":"YulLiteral","src":"383657:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"383651:5:19","nodeType":"YulIdentifier","src":"383651:5:19"},"nativeSrc":"383651:11:19","nodeType":"YulFunctionCall","src":"383651:11:19"},"variableNames":[{"name":"m6","nativeSrc":"383645:2:19","nodeType":"YulIdentifier","src":"383645:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"383742:4:19","nodeType":"YulLiteral","src":"383742:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"383748:10:19","nodeType":"YulLiteral","src":"383748:10:19","type":"","value":"0x354c36d6"}],"functionName":{"name":"mstore","nativeSrc":"383735:6:19","nodeType":"YulIdentifier","src":"383735:6:19"},"nativeSrc":"383735:24:19","nodeType":"YulFunctionCall","src":"383735:24:19"},"nativeSrc":"383735:24:19","nodeType":"YulExpressionStatement","src":"383735:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"383779:4:19","nodeType":"YulLiteral","src":"383779:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"383785:4:19","nodeType":"YulLiteral","src":"383785:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"383772:6:19","nodeType":"YulIdentifier","src":"383772:6:19"},"nativeSrc":"383772:18:19","nodeType":"YulFunctionCall","src":"383772:18:19"},"nativeSrc":"383772:18:19","nodeType":"YulExpressionStatement","src":"383772:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"383810:4:19","nodeType":"YulLiteral","src":"383810:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"383816:2:19","nodeType":"YulIdentifier","src":"383816:2:19"}],"functionName":{"name":"mstore","nativeSrc":"383803:6:19","nodeType":"YulIdentifier","src":"383803:6:19"},"nativeSrc":"383803:16:19","nodeType":"YulFunctionCall","src":"383803:16:19"},"nativeSrc":"383803:16:19","nodeType":"YulExpressionStatement","src":"383803:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"383839:4:19","nodeType":"YulLiteral","src":"383839:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"383845:2:19","nodeType":"YulIdentifier","src":"383845:2:19"}],"functionName":{"name":"mstore","nativeSrc":"383832:6:19","nodeType":"YulIdentifier","src":"383832:6:19"},"nativeSrc":"383832:16:19","nodeType":"YulFunctionCall","src":"383832:16:19"},"nativeSrc":"383832:16:19","nodeType":"YulExpressionStatement","src":"383832:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"383868:4:19","nodeType":"YulLiteral","src":"383868:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"383874:2:19","nodeType":"YulIdentifier","src":"383874:2:19"}],"functionName":{"name":"mstore","nativeSrc":"383861:6:19","nodeType":"YulIdentifier","src":"383861:6:19"},"nativeSrc":"383861:16:19","nodeType":"YulFunctionCall","src":"383861:16:19"},"nativeSrc":"383861:16:19","nodeType":"YulExpressionStatement","src":"383861:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"383902:4:19","nodeType":"YulLiteral","src":"383902:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"383908:2:19","nodeType":"YulIdentifier","src":"383908:2:19"}],"functionName":{"name":"writeString","nativeSrc":"383890:11:19","nodeType":"YulIdentifier","src":"383890:11:19"},"nativeSrc":"383890:21:19","nodeType":"YulFunctionCall","src":"383890:21:19"},"nativeSrc":"383890:21:19","nodeType":"YulExpressionStatement","src":"383890:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38104,"isOffset":false,"isSlot":false,"src":"383465:2:19","valueSize":1},{"declaration":38107,"isOffset":false,"isSlot":false,"src":"383495:2:19","valueSize":1},{"declaration":38110,"isOffset":false,"isSlot":false,"src":"383525:2:19","valueSize":1},{"declaration":38113,"isOffset":false,"isSlot":false,"src":"383555:2:19","valueSize":1},{"declaration":38116,"isOffset":false,"isSlot":false,"src":"383585:2:19","valueSize":1},{"declaration":38119,"isOffset":false,"isSlot":false,"src":"383615:2:19","valueSize":1},{"declaration":38122,"isOffset":false,"isSlot":false,"src":"383645:2:19","valueSize":1},{"declaration":38094,"isOffset":false,"isSlot":false,"src":"383908:2:19","valueSize":1},{"declaration":38096,"isOffset":false,"isSlot":false,"src":"383816:2:19","valueSize":1},{"declaration":38098,"isOffset":false,"isSlot":false,"src":"383845:2:19","valueSize":1},{"declaration":38100,"isOffset":false,"isSlot":false,"src":"383874:2:19","valueSize":1}],"id":38124,"nodeType":"InlineAssembly","src":"383087:834:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":38126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"383946:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"383952:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":38125,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"383930:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"383930:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38129,"nodeType":"ExpressionStatement","src":"383930:27:19"},{"AST":{"nativeSrc":"384019:214:19","nodeType":"YulBlock","src":"384019:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"384040:4:19","nodeType":"YulLiteral","src":"384040:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"384046:2:19","nodeType":"YulIdentifier","src":"384046:2:19"}],"functionName":{"name":"mstore","nativeSrc":"384033:6:19","nodeType":"YulIdentifier","src":"384033:6:19"},"nativeSrc":"384033:16:19","nodeType":"YulFunctionCall","src":"384033:16:19"},"nativeSrc":"384033:16:19","nodeType":"YulExpressionStatement","src":"384033:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"384069:4:19","nodeType":"YulLiteral","src":"384069:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"384075:2:19","nodeType":"YulIdentifier","src":"384075:2:19"}],"functionName":{"name":"mstore","nativeSrc":"384062:6:19","nodeType":"YulIdentifier","src":"384062:6:19"},"nativeSrc":"384062:16:19","nodeType":"YulFunctionCall","src":"384062:16:19"},"nativeSrc":"384062:16:19","nodeType":"YulExpressionStatement","src":"384062:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"384098:4:19","nodeType":"YulLiteral","src":"384098:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"384104:2:19","nodeType":"YulIdentifier","src":"384104:2:19"}],"functionName":{"name":"mstore","nativeSrc":"384091:6:19","nodeType":"YulIdentifier","src":"384091:6:19"},"nativeSrc":"384091:16:19","nodeType":"YulFunctionCall","src":"384091:16:19"},"nativeSrc":"384091:16:19","nodeType":"YulExpressionStatement","src":"384091:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"384127:4:19","nodeType":"YulLiteral","src":"384127:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"384133:2:19","nodeType":"YulIdentifier","src":"384133:2:19"}],"functionName":{"name":"mstore","nativeSrc":"384120:6:19","nodeType":"YulIdentifier","src":"384120:6:19"},"nativeSrc":"384120:16:19","nodeType":"YulFunctionCall","src":"384120:16:19"},"nativeSrc":"384120:16:19","nodeType":"YulExpressionStatement","src":"384120:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"384156:4:19","nodeType":"YulLiteral","src":"384156:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"384162:2:19","nodeType":"YulIdentifier","src":"384162:2:19"}],"functionName":{"name":"mstore","nativeSrc":"384149:6:19","nodeType":"YulIdentifier","src":"384149:6:19"},"nativeSrc":"384149:16:19","nodeType":"YulFunctionCall","src":"384149:16:19"},"nativeSrc":"384149:16:19","nodeType":"YulExpressionStatement","src":"384149:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"384185:4:19","nodeType":"YulLiteral","src":"384185:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"384191:2:19","nodeType":"YulIdentifier","src":"384191:2:19"}],"functionName":{"name":"mstore","nativeSrc":"384178:6:19","nodeType":"YulIdentifier","src":"384178:6:19"},"nativeSrc":"384178:16:19","nodeType":"YulFunctionCall","src":"384178:16:19"},"nativeSrc":"384178:16:19","nodeType":"YulExpressionStatement","src":"384178:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"384214:4:19","nodeType":"YulLiteral","src":"384214:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"384220:2:19","nodeType":"YulIdentifier","src":"384220:2:19"}],"functionName":{"name":"mstore","nativeSrc":"384207:6:19","nodeType":"YulIdentifier","src":"384207:6:19"},"nativeSrc":"384207:16:19","nodeType":"YulFunctionCall","src":"384207:16:19"},"nativeSrc":"384207:16:19","nodeType":"YulExpressionStatement","src":"384207:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38104,"isOffset":false,"isSlot":false,"src":"384046:2:19","valueSize":1},{"declaration":38107,"isOffset":false,"isSlot":false,"src":"384075:2:19","valueSize":1},{"declaration":38110,"isOffset":false,"isSlot":false,"src":"384104:2:19","valueSize":1},{"declaration":38113,"isOffset":false,"isSlot":false,"src":"384133:2:19","valueSize":1},{"declaration":38116,"isOffset":false,"isSlot":false,"src":"384162:2:19","valueSize":1},{"declaration":38119,"isOffset":false,"isSlot":false,"src":"384191:2:19","valueSize":1},{"declaration":38122,"isOffset":false,"isSlot":false,"src":"384220:2:19","valueSize":1}],"id":38130,"nodeType":"InlineAssembly","src":"384010:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"382834:3:19","parameters":{"id":38101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38094,"mutability":"mutable","name":"p0","nameLocation":"382846:2:19","nodeType":"VariableDeclaration","scope":38132,"src":"382838:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38093,"name":"bytes32","nodeType":"ElementaryTypeName","src":"382838:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38096,"mutability":"mutable","name":"p1","nameLocation":"382858:2:19","nodeType":"VariableDeclaration","scope":38132,"src":"382850:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38095,"name":"uint256","nodeType":"ElementaryTypeName","src":"382850:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38098,"mutability":"mutable","name":"p2","nameLocation":"382867:2:19","nodeType":"VariableDeclaration","scope":38132,"src":"382862:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38097,"name":"bool","nodeType":"ElementaryTypeName","src":"382862:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38100,"mutability":"mutable","name":"p3","nameLocation":"382876:2:19","nodeType":"VariableDeclaration","scope":38132,"src":"382871:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38099,"name":"bool","nodeType":"ElementaryTypeName","src":"382871:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"382837:42:19"},"returnParameters":{"id":38102,"nodeType":"ParameterList","parameters":[],"src":"382894:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38172,"nodeType":"FunctionDefinition","src":"384245:1420:19","nodes":[],"body":{"id":38171,"nodeType":"Block","src":"384317:1348:19","nodes":[],"statements":[{"assignments":[38144],"declarations":[{"constant":false,"id":38144,"mutability":"mutable","name":"m0","nameLocation":"384335:2:19","nodeType":"VariableDeclaration","scope":38171,"src":"384327:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38143,"name":"bytes32","nodeType":"ElementaryTypeName","src":"384327:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38145,"nodeType":"VariableDeclarationStatement","src":"384327:10:19"},{"assignments":[38147],"declarations":[{"constant":false,"id":38147,"mutability":"mutable","name":"m1","nameLocation":"384355:2:19","nodeType":"VariableDeclaration","scope":38171,"src":"384347:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38146,"name":"bytes32","nodeType":"ElementaryTypeName","src":"384347:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38148,"nodeType":"VariableDeclarationStatement","src":"384347:10:19"},{"assignments":[38150],"declarations":[{"constant":false,"id":38150,"mutability":"mutable","name":"m2","nameLocation":"384375:2:19","nodeType":"VariableDeclaration","scope":38171,"src":"384367:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38149,"name":"bytes32","nodeType":"ElementaryTypeName","src":"384367:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38151,"nodeType":"VariableDeclarationStatement","src":"384367:10:19"},{"assignments":[38153],"declarations":[{"constant":false,"id":38153,"mutability":"mutable","name":"m3","nameLocation":"384395:2:19","nodeType":"VariableDeclaration","scope":38171,"src":"384387:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38152,"name":"bytes32","nodeType":"ElementaryTypeName","src":"384387:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38154,"nodeType":"VariableDeclarationStatement","src":"384387:10:19"},{"assignments":[38156],"declarations":[{"constant":false,"id":38156,"mutability":"mutable","name":"m4","nameLocation":"384415:2:19","nodeType":"VariableDeclaration","scope":38171,"src":"384407:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38155,"name":"bytes32","nodeType":"ElementaryTypeName","src":"384407:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38157,"nodeType":"VariableDeclarationStatement","src":"384407:10:19"},{"assignments":[38159],"declarations":[{"constant":false,"id":38159,"mutability":"mutable","name":"m5","nameLocation":"384435:2:19","nodeType":"VariableDeclaration","scope":38171,"src":"384427:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38158,"name":"bytes32","nodeType":"ElementaryTypeName","src":"384427:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38160,"nodeType":"VariableDeclarationStatement","src":"384427:10:19"},{"assignments":[38162],"declarations":[{"constant":false,"id":38162,"mutability":"mutable","name":"m6","nameLocation":"384455:2:19","nodeType":"VariableDeclaration","scope":38171,"src":"384447:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38161,"name":"bytes32","nodeType":"ElementaryTypeName","src":"384447:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38163,"nodeType":"VariableDeclarationStatement","src":"384447:10:19"},{"AST":{"nativeSrc":"384519:828:19","nodeType":"YulBlock","src":"384519:828:19","statements":[{"body":{"nativeSrc":"384562:313:19","nodeType":"YulBlock","src":"384562:313:19","statements":[{"nativeSrc":"384580:15:19","nodeType":"YulVariableDeclaration","src":"384580:15:19","value":{"kind":"number","nativeSrc":"384594:1:19","nodeType":"YulLiteral","src":"384594:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"384584:6:19","nodeType":"YulTypedName","src":"384584:6:19","type":""}]},{"body":{"nativeSrc":"384665:40:19","nodeType":"YulBlock","src":"384665:40:19","statements":[{"body":{"nativeSrc":"384694:9:19","nodeType":"YulBlock","src":"384694:9:19","statements":[{"nativeSrc":"384696:5:19","nodeType":"YulBreak","src":"384696:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"384682:6:19","nodeType":"YulIdentifier","src":"384682:6:19"},{"name":"w","nativeSrc":"384690:1:19","nodeType":"YulIdentifier","src":"384690:1:19"}],"functionName":{"name":"byte","nativeSrc":"384677:4:19","nodeType":"YulIdentifier","src":"384677:4:19"},"nativeSrc":"384677:15:19","nodeType":"YulFunctionCall","src":"384677:15:19"}],"functionName":{"name":"iszero","nativeSrc":"384670:6:19","nodeType":"YulIdentifier","src":"384670:6:19"},"nativeSrc":"384670:23:19","nodeType":"YulFunctionCall","src":"384670:23:19"},"nativeSrc":"384667:36:19","nodeType":"YulIf","src":"384667:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"384622:6:19","nodeType":"YulIdentifier","src":"384622:6:19"},{"kind":"number","nativeSrc":"384630:4:19","nodeType":"YulLiteral","src":"384630:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"384619:2:19","nodeType":"YulIdentifier","src":"384619:2:19"},"nativeSrc":"384619:16:19","nodeType":"YulFunctionCall","src":"384619:16:19"},"nativeSrc":"384612:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"384636:28:19","nodeType":"YulBlock","src":"384636:28:19","statements":[{"nativeSrc":"384638:24:19","nodeType":"YulAssignment","src":"384638:24:19","value":{"arguments":[{"name":"length","nativeSrc":"384652:6:19","nodeType":"YulIdentifier","src":"384652:6:19"},{"kind":"number","nativeSrc":"384660:1:19","nodeType":"YulLiteral","src":"384660:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"384648:3:19","nodeType":"YulIdentifier","src":"384648:3:19"},"nativeSrc":"384648:14:19","nodeType":"YulFunctionCall","src":"384648:14:19"},"variableNames":[{"name":"length","nativeSrc":"384638:6:19","nodeType":"YulIdentifier","src":"384638:6:19"}]}]},"pre":{"nativeSrc":"384616:2:19","nodeType":"YulBlock","src":"384616:2:19","statements":[]},"src":"384612:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"384729:3:19","nodeType":"YulIdentifier","src":"384729:3:19"},{"name":"length","nativeSrc":"384734:6:19","nodeType":"YulIdentifier","src":"384734:6:19"}],"functionName":{"name":"mstore","nativeSrc":"384722:6:19","nodeType":"YulIdentifier","src":"384722:6:19"},"nativeSrc":"384722:19:19","nodeType":"YulFunctionCall","src":"384722:19:19"},"nativeSrc":"384722:19:19","nodeType":"YulExpressionStatement","src":"384722:19:19"},{"nativeSrc":"384758:37:19","nodeType":"YulVariableDeclaration","src":"384758:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"384775:3:19","nodeType":"YulLiteral","src":"384775:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"384784:1:19","nodeType":"YulLiteral","src":"384784:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"384787:6:19","nodeType":"YulIdentifier","src":"384787:6:19"}],"functionName":{"name":"shl","nativeSrc":"384780:3:19","nodeType":"YulIdentifier","src":"384780:3:19"},"nativeSrc":"384780:14:19","nodeType":"YulFunctionCall","src":"384780:14:19"}],"functionName":{"name":"sub","nativeSrc":"384771:3:19","nodeType":"YulIdentifier","src":"384771:3:19"},"nativeSrc":"384771:24:19","nodeType":"YulFunctionCall","src":"384771:24:19"},"variables":[{"name":"shift","nativeSrc":"384762:5:19","nodeType":"YulTypedName","src":"384762:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"384823:3:19","nodeType":"YulIdentifier","src":"384823:3:19"},{"kind":"number","nativeSrc":"384828:4:19","nodeType":"YulLiteral","src":"384828:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"384819:3:19","nodeType":"YulIdentifier","src":"384819:3:19"},"nativeSrc":"384819:14:19","nodeType":"YulFunctionCall","src":"384819:14:19"},{"arguments":[{"name":"shift","nativeSrc":"384839:5:19","nodeType":"YulIdentifier","src":"384839:5:19"},{"arguments":[{"name":"shift","nativeSrc":"384850:5:19","nodeType":"YulIdentifier","src":"384850:5:19"},{"name":"w","nativeSrc":"384857:1:19","nodeType":"YulIdentifier","src":"384857:1:19"}],"functionName":{"name":"shr","nativeSrc":"384846:3:19","nodeType":"YulIdentifier","src":"384846:3:19"},"nativeSrc":"384846:13:19","nodeType":"YulFunctionCall","src":"384846:13:19"}],"functionName":{"name":"shl","nativeSrc":"384835:3:19","nodeType":"YulIdentifier","src":"384835:3:19"},"nativeSrc":"384835:25:19","nodeType":"YulFunctionCall","src":"384835:25:19"}],"functionName":{"name":"mstore","nativeSrc":"384812:6:19","nodeType":"YulIdentifier","src":"384812:6:19"},"nativeSrc":"384812:49:19","nodeType":"YulFunctionCall","src":"384812:49:19"},"nativeSrc":"384812:49:19","nodeType":"YulExpressionStatement","src":"384812:49:19"}]},"name":"writeString","nativeSrc":"384533:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"384554:3:19","nodeType":"YulTypedName","src":"384554:3:19","type":""},{"name":"w","nativeSrc":"384559:1:19","nodeType":"YulTypedName","src":"384559:1:19","type":""}],"src":"384533:342:19"},{"nativeSrc":"384888:17:19","nodeType":"YulAssignment","src":"384888:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"384900:4:19","nodeType":"YulLiteral","src":"384900:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"384894:5:19","nodeType":"YulIdentifier","src":"384894:5:19"},"nativeSrc":"384894:11:19","nodeType":"YulFunctionCall","src":"384894:11:19"},"variableNames":[{"name":"m0","nativeSrc":"384888:2:19","nodeType":"YulIdentifier","src":"384888:2:19"}]},{"nativeSrc":"384918:17:19","nodeType":"YulAssignment","src":"384918:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"384930:4:19","nodeType":"YulLiteral","src":"384930:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"384924:5:19","nodeType":"YulIdentifier","src":"384924:5:19"},"nativeSrc":"384924:11:19","nodeType":"YulFunctionCall","src":"384924:11:19"},"variableNames":[{"name":"m1","nativeSrc":"384918:2:19","nodeType":"YulIdentifier","src":"384918:2:19"}]},{"nativeSrc":"384948:17:19","nodeType":"YulAssignment","src":"384948:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"384960:4:19","nodeType":"YulLiteral","src":"384960:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"384954:5:19","nodeType":"YulIdentifier","src":"384954:5:19"},"nativeSrc":"384954:11:19","nodeType":"YulFunctionCall","src":"384954:11:19"},"variableNames":[{"name":"m2","nativeSrc":"384948:2:19","nodeType":"YulIdentifier","src":"384948:2:19"}]},{"nativeSrc":"384978:17:19","nodeType":"YulAssignment","src":"384978:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"384990:4:19","nodeType":"YulLiteral","src":"384990:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"384984:5:19","nodeType":"YulIdentifier","src":"384984:5:19"},"nativeSrc":"384984:11:19","nodeType":"YulFunctionCall","src":"384984:11:19"},"variableNames":[{"name":"m3","nativeSrc":"384978:2:19","nodeType":"YulIdentifier","src":"384978:2:19"}]},{"nativeSrc":"385008:17:19","nodeType":"YulAssignment","src":"385008:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"385020:4:19","nodeType":"YulLiteral","src":"385020:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"385014:5:19","nodeType":"YulIdentifier","src":"385014:5:19"},"nativeSrc":"385014:11:19","nodeType":"YulFunctionCall","src":"385014:11:19"},"variableNames":[{"name":"m4","nativeSrc":"385008:2:19","nodeType":"YulIdentifier","src":"385008:2:19"}]},{"nativeSrc":"385038:17:19","nodeType":"YulAssignment","src":"385038:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"385050:4:19","nodeType":"YulLiteral","src":"385050:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"385044:5:19","nodeType":"YulIdentifier","src":"385044:5:19"},"nativeSrc":"385044:11:19","nodeType":"YulFunctionCall","src":"385044:11:19"},"variableNames":[{"name":"m5","nativeSrc":"385038:2:19","nodeType":"YulIdentifier","src":"385038:2:19"}]},{"nativeSrc":"385068:17:19","nodeType":"YulAssignment","src":"385068:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"385080:4:19","nodeType":"YulLiteral","src":"385080:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"385074:5:19","nodeType":"YulIdentifier","src":"385074:5:19"},"nativeSrc":"385074:11:19","nodeType":"YulFunctionCall","src":"385074:11:19"},"variableNames":[{"name":"m6","nativeSrc":"385068:2:19","nodeType":"YulIdentifier","src":"385068:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385168:4:19","nodeType":"YulLiteral","src":"385168:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"385174:10:19","nodeType":"YulLiteral","src":"385174:10:19","type":"","value":"0xe41b6f6f"}],"functionName":{"name":"mstore","nativeSrc":"385161:6:19","nodeType":"YulIdentifier","src":"385161:6:19"},"nativeSrc":"385161:24:19","nodeType":"YulFunctionCall","src":"385161:24:19"},"nativeSrc":"385161:24:19","nodeType":"YulExpressionStatement","src":"385161:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385205:4:19","nodeType":"YulLiteral","src":"385205:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"385211:4:19","nodeType":"YulLiteral","src":"385211:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"385198:6:19","nodeType":"YulIdentifier","src":"385198:6:19"},"nativeSrc":"385198:18:19","nodeType":"YulFunctionCall","src":"385198:18:19"},"nativeSrc":"385198:18:19","nodeType":"YulExpressionStatement","src":"385198:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385236:4:19","nodeType":"YulLiteral","src":"385236:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"385242:2:19","nodeType":"YulIdentifier","src":"385242:2:19"}],"functionName":{"name":"mstore","nativeSrc":"385229:6:19","nodeType":"YulIdentifier","src":"385229:6:19"},"nativeSrc":"385229:16:19","nodeType":"YulFunctionCall","src":"385229:16:19"},"nativeSrc":"385229:16:19","nodeType":"YulExpressionStatement","src":"385229:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385265:4:19","nodeType":"YulLiteral","src":"385265:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"385271:2:19","nodeType":"YulIdentifier","src":"385271:2:19"}],"functionName":{"name":"mstore","nativeSrc":"385258:6:19","nodeType":"YulIdentifier","src":"385258:6:19"},"nativeSrc":"385258:16:19","nodeType":"YulFunctionCall","src":"385258:16:19"},"nativeSrc":"385258:16:19","nodeType":"YulExpressionStatement","src":"385258:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385294:4:19","nodeType":"YulLiteral","src":"385294:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"385300:2:19","nodeType":"YulIdentifier","src":"385300:2:19"}],"functionName":{"name":"mstore","nativeSrc":"385287:6:19","nodeType":"YulIdentifier","src":"385287:6:19"},"nativeSrc":"385287:16:19","nodeType":"YulFunctionCall","src":"385287:16:19"},"nativeSrc":"385287:16:19","nodeType":"YulExpressionStatement","src":"385287:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385328:4:19","nodeType":"YulLiteral","src":"385328:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"385334:2:19","nodeType":"YulIdentifier","src":"385334:2:19"}],"functionName":{"name":"writeString","nativeSrc":"385316:11:19","nodeType":"YulIdentifier","src":"385316:11:19"},"nativeSrc":"385316:21:19","nodeType":"YulFunctionCall","src":"385316:21:19"},"nativeSrc":"385316:21:19","nodeType":"YulExpressionStatement","src":"385316:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38144,"isOffset":false,"isSlot":false,"src":"384888:2:19","valueSize":1},{"declaration":38147,"isOffset":false,"isSlot":false,"src":"384918:2:19","valueSize":1},{"declaration":38150,"isOffset":false,"isSlot":false,"src":"384948:2:19","valueSize":1},{"declaration":38153,"isOffset":false,"isSlot":false,"src":"384978:2:19","valueSize":1},{"declaration":38156,"isOffset":false,"isSlot":false,"src":"385008:2:19","valueSize":1},{"declaration":38159,"isOffset":false,"isSlot":false,"src":"385038:2:19","valueSize":1},{"declaration":38162,"isOffset":false,"isSlot":false,"src":"385068:2:19","valueSize":1},{"declaration":38134,"isOffset":false,"isSlot":false,"src":"385334:2:19","valueSize":1},{"declaration":38136,"isOffset":false,"isSlot":false,"src":"385242:2:19","valueSize":1},{"declaration":38138,"isOffset":false,"isSlot":false,"src":"385271:2:19","valueSize":1},{"declaration":38140,"isOffset":false,"isSlot":false,"src":"385300:2:19","valueSize":1}],"id":38164,"nodeType":"InlineAssembly","src":"384510:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":38166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"385372:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"385378:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":38165,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"385356:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"385356:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38169,"nodeType":"ExpressionStatement","src":"385356:27:19"},{"AST":{"nativeSrc":"385445:214:19","nodeType":"YulBlock","src":"385445:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"385466:4:19","nodeType":"YulLiteral","src":"385466:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"385472:2:19","nodeType":"YulIdentifier","src":"385472:2:19"}],"functionName":{"name":"mstore","nativeSrc":"385459:6:19","nodeType":"YulIdentifier","src":"385459:6:19"},"nativeSrc":"385459:16:19","nodeType":"YulFunctionCall","src":"385459:16:19"},"nativeSrc":"385459:16:19","nodeType":"YulExpressionStatement","src":"385459:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385495:4:19","nodeType":"YulLiteral","src":"385495:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"385501:2:19","nodeType":"YulIdentifier","src":"385501:2:19"}],"functionName":{"name":"mstore","nativeSrc":"385488:6:19","nodeType":"YulIdentifier","src":"385488:6:19"},"nativeSrc":"385488:16:19","nodeType":"YulFunctionCall","src":"385488:16:19"},"nativeSrc":"385488:16:19","nodeType":"YulExpressionStatement","src":"385488:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385524:4:19","nodeType":"YulLiteral","src":"385524:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"385530:2:19","nodeType":"YulIdentifier","src":"385530:2:19"}],"functionName":{"name":"mstore","nativeSrc":"385517:6:19","nodeType":"YulIdentifier","src":"385517:6:19"},"nativeSrc":"385517:16:19","nodeType":"YulFunctionCall","src":"385517:16:19"},"nativeSrc":"385517:16:19","nodeType":"YulExpressionStatement","src":"385517:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385553:4:19","nodeType":"YulLiteral","src":"385553:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"385559:2:19","nodeType":"YulIdentifier","src":"385559:2:19"}],"functionName":{"name":"mstore","nativeSrc":"385546:6:19","nodeType":"YulIdentifier","src":"385546:6:19"},"nativeSrc":"385546:16:19","nodeType":"YulFunctionCall","src":"385546:16:19"},"nativeSrc":"385546:16:19","nodeType":"YulExpressionStatement","src":"385546:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385582:4:19","nodeType":"YulLiteral","src":"385582:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"385588:2:19","nodeType":"YulIdentifier","src":"385588:2:19"}],"functionName":{"name":"mstore","nativeSrc":"385575:6:19","nodeType":"YulIdentifier","src":"385575:6:19"},"nativeSrc":"385575:16:19","nodeType":"YulFunctionCall","src":"385575:16:19"},"nativeSrc":"385575:16:19","nodeType":"YulExpressionStatement","src":"385575:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385611:4:19","nodeType":"YulLiteral","src":"385611:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"385617:2:19","nodeType":"YulIdentifier","src":"385617:2:19"}],"functionName":{"name":"mstore","nativeSrc":"385604:6:19","nodeType":"YulIdentifier","src":"385604:6:19"},"nativeSrc":"385604:16:19","nodeType":"YulFunctionCall","src":"385604:16:19"},"nativeSrc":"385604:16:19","nodeType":"YulExpressionStatement","src":"385604:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"385640:4:19","nodeType":"YulLiteral","src":"385640:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"385646:2:19","nodeType":"YulIdentifier","src":"385646:2:19"}],"functionName":{"name":"mstore","nativeSrc":"385633:6:19","nodeType":"YulIdentifier","src":"385633:6:19"},"nativeSrc":"385633:16:19","nodeType":"YulFunctionCall","src":"385633:16:19"},"nativeSrc":"385633:16:19","nodeType":"YulExpressionStatement","src":"385633:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38144,"isOffset":false,"isSlot":false,"src":"385472:2:19","valueSize":1},{"declaration":38147,"isOffset":false,"isSlot":false,"src":"385501:2:19","valueSize":1},{"declaration":38150,"isOffset":false,"isSlot":false,"src":"385530:2:19","valueSize":1},{"declaration":38153,"isOffset":false,"isSlot":false,"src":"385559:2:19","valueSize":1},{"declaration":38156,"isOffset":false,"isSlot":false,"src":"385588:2:19","valueSize":1},{"declaration":38159,"isOffset":false,"isSlot":false,"src":"385617:2:19","valueSize":1},{"declaration":38162,"isOffset":false,"isSlot":false,"src":"385646:2:19","valueSize":1}],"id":38170,"nodeType":"InlineAssembly","src":"385436:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"384254:3:19","parameters":{"id":38141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38134,"mutability":"mutable","name":"p0","nameLocation":"384266:2:19","nodeType":"VariableDeclaration","scope":38172,"src":"384258:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38133,"name":"bytes32","nodeType":"ElementaryTypeName","src":"384258:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38136,"mutability":"mutable","name":"p1","nameLocation":"384278:2:19","nodeType":"VariableDeclaration","scope":38172,"src":"384270:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38135,"name":"uint256","nodeType":"ElementaryTypeName","src":"384270:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38138,"mutability":"mutable","name":"p2","nameLocation":"384287:2:19","nodeType":"VariableDeclaration","scope":38172,"src":"384282:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38137,"name":"bool","nodeType":"ElementaryTypeName","src":"384282:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38140,"mutability":"mutable","name":"p3","nameLocation":"384299:2:19","nodeType":"VariableDeclaration","scope":38172,"src":"384291:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38139,"name":"uint256","nodeType":"ElementaryTypeName","src":"384291:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"384257:45:19"},"returnParameters":{"id":38142,"nodeType":"ParameterList","parameters":[],"src":"384317:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38218,"nodeType":"FunctionDefinition","src":"385671:1616:19","nodes":[],"body":{"id":38217,"nodeType":"Block","src":"385743:1544:19","nodes":[],"statements":[{"assignments":[38184],"declarations":[{"constant":false,"id":38184,"mutability":"mutable","name":"m0","nameLocation":"385761:2:19","nodeType":"VariableDeclaration","scope":38217,"src":"385753:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38183,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385753:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38185,"nodeType":"VariableDeclarationStatement","src":"385753:10:19"},{"assignments":[38187],"declarations":[{"constant":false,"id":38187,"mutability":"mutable","name":"m1","nameLocation":"385781:2:19","nodeType":"VariableDeclaration","scope":38217,"src":"385773:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38186,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385773:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38188,"nodeType":"VariableDeclarationStatement","src":"385773:10:19"},{"assignments":[38190],"declarations":[{"constant":false,"id":38190,"mutability":"mutable","name":"m2","nameLocation":"385801:2:19","nodeType":"VariableDeclaration","scope":38217,"src":"385793:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38189,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385793:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38191,"nodeType":"VariableDeclarationStatement","src":"385793:10:19"},{"assignments":[38193],"declarations":[{"constant":false,"id":38193,"mutability":"mutable","name":"m3","nameLocation":"385821:2:19","nodeType":"VariableDeclaration","scope":38217,"src":"385813:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38192,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385813:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38194,"nodeType":"VariableDeclarationStatement","src":"385813:10:19"},{"assignments":[38196],"declarations":[{"constant":false,"id":38196,"mutability":"mutable","name":"m4","nameLocation":"385841:2:19","nodeType":"VariableDeclaration","scope":38217,"src":"385833:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38195,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385833:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38197,"nodeType":"VariableDeclarationStatement","src":"385833:10:19"},{"assignments":[38199],"declarations":[{"constant":false,"id":38199,"mutability":"mutable","name":"m5","nameLocation":"385861:2:19","nodeType":"VariableDeclaration","scope":38217,"src":"385853:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38198,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385853:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38200,"nodeType":"VariableDeclarationStatement","src":"385853:10:19"},{"assignments":[38202],"declarations":[{"constant":false,"id":38202,"mutability":"mutable","name":"m6","nameLocation":"385881:2:19","nodeType":"VariableDeclaration","scope":38217,"src":"385873:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38201,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385873:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38203,"nodeType":"VariableDeclarationStatement","src":"385873:10:19"},{"assignments":[38205],"declarations":[{"constant":false,"id":38205,"mutability":"mutable","name":"m7","nameLocation":"385901:2:19","nodeType":"VariableDeclaration","scope":38217,"src":"385893:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38204,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385893:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38206,"nodeType":"VariableDeclarationStatement","src":"385893:10:19"},{"assignments":[38208],"declarations":[{"constant":false,"id":38208,"mutability":"mutable","name":"m8","nameLocation":"385921:2:19","nodeType":"VariableDeclaration","scope":38217,"src":"385913:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38207,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385913:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38209,"nodeType":"VariableDeclarationStatement","src":"385913:10:19"},{"AST":{"nativeSrc":"385985:924:19","nodeType":"YulBlock","src":"385985:924:19","statements":[{"body":{"nativeSrc":"386028:313:19","nodeType":"YulBlock","src":"386028:313:19","statements":[{"nativeSrc":"386046:15:19","nodeType":"YulVariableDeclaration","src":"386046:15:19","value":{"kind":"number","nativeSrc":"386060:1:19","nodeType":"YulLiteral","src":"386060:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"386050:6:19","nodeType":"YulTypedName","src":"386050:6:19","type":""}]},{"body":{"nativeSrc":"386131:40:19","nodeType":"YulBlock","src":"386131:40:19","statements":[{"body":{"nativeSrc":"386160:9:19","nodeType":"YulBlock","src":"386160:9:19","statements":[{"nativeSrc":"386162:5:19","nodeType":"YulBreak","src":"386162:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"386148:6:19","nodeType":"YulIdentifier","src":"386148:6:19"},{"name":"w","nativeSrc":"386156:1:19","nodeType":"YulIdentifier","src":"386156:1:19"}],"functionName":{"name":"byte","nativeSrc":"386143:4:19","nodeType":"YulIdentifier","src":"386143:4:19"},"nativeSrc":"386143:15:19","nodeType":"YulFunctionCall","src":"386143:15:19"}],"functionName":{"name":"iszero","nativeSrc":"386136:6:19","nodeType":"YulIdentifier","src":"386136:6:19"},"nativeSrc":"386136:23:19","nodeType":"YulFunctionCall","src":"386136:23:19"},"nativeSrc":"386133:36:19","nodeType":"YulIf","src":"386133:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"386088:6:19","nodeType":"YulIdentifier","src":"386088:6:19"},{"kind":"number","nativeSrc":"386096:4:19","nodeType":"YulLiteral","src":"386096:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"386085:2:19","nodeType":"YulIdentifier","src":"386085:2:19"},"nativeSrc":"386085:16:19","nodeType":"YulFunctionCall","src":"386085:16:19"},"nativeSrc":"386078:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"386102:28:19","nodeType":"YulBlock","src":"386102:28:19","statements":[{"nativeSrc":"386104:24:19","nodeType":"YulAssignment","src":"386104:24:19","value":{"arguments":[{"name":"length","nativeSrc":"386118:6:19","nodeType":"YulIdentifier","src":"386118:6:19"},{"kind":"number","nativeSrc":"386126:1:19","nodeType":"YulLiteral","src":"386126:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"386114:3:19","nodeType":"YulIdentifier","src":"386114:3:19"},"nativeSrc":"386114:14:19","nodeType":"YulFunctionCall","src":"386114:14:19"},"variableNames":[{"name":"length","nativeSrc":"386104:6:19","nodeType":"YulIdentifier","src":"386104:6:19"}]}]},"pre":{"nativeSrc":"386082:2:19","nodeType":"YulBlock","src":"386082:2:19","statements":[]},"src":"386078:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"386195:3:19","nodeType":"YulIdentifier","src":"386195:3:19"},{"name":"length","nativeSrc":"386200:6:19","nodeType":"YulIdentifier","src":"386200:6:19"}],"functionName":{"name":"mstore","nativeSrc":"386188:6:19","nodeType":"YulIdentifier","src":"386188:6:19"},"nativeSrc":"386188:19:19","nodeType":"YulFunctionCall","src":"386188:19:19"},"nativeSrc":"386188:19:19","nodeType":"YulExpressionStatement","src":"386188:19:19"},{"nativeSrc":"386224:37:19","nodeType":"YulVariableDeclaration","src":"386224:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"386241:3:19","nodeType":"YulLiteral","src":"386241:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"386250:1:19","nodeType":"YulLiteral","src":"386250:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"386253:6:19","nodeType":"YulIdentifier","src":"386253:6:19"}],"functionName":{"name":"shl","nativeSrc":"386246:3:19","nodeType":"YulIdentifier","src":"386246:3:19"},"nativeSrc":"386246:14:19","nodeType":"YulFunctionCall","src":"386246:14:19"}],"functionName":{"name":"sub","nativeSrc":"386237:3:19","nodeType":"YulIdentifier","src":"386237:3:19"},"nativeSrc":"386237:24:19","nodeType":"YulFunctionCall","src":"386237:24:19"},"variables":[{"name":"shift","nativeSrc":"386228:5:19","nodeType":"YulTypedName","src":"386228:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"386289:3:19","nodeType":"YulIdentifier","src":"386289:3:19"},{"kind":"number","nativeSrc":"386294:4:19","nodeType":"YulLiteral","src":"386294:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"386285:3:19","nodeType":"YulIdentifier","src":"386285:3:19"},"nativeSrc":"386285:14:19","nodeType":"YulFunctionCall","src":"386285:14:19"},{"arguments":[{"name":"shift","nativeSrc":"386305:5:19","nodeType":"YulIdentifier","src":"386305:5:19"},{"arguments":[{"name":"shift","nativeSrc":"386316:5:19","nodeType":"YulIdentifier","src":"386316:5:19"},{"name":"w","nativeSrc":"386323:1:19","nodeType":"YulIdentifier","src":"386323:1:19"}],"functionName":{"name":"shr","nativeSrc":"386312:3:19","nodeType":"YulIdentifier","src":"386312:3:19"},"nativeSrc":"386312:13:19","nodeType":"YulFunctionCall","src":"386312:13:19"}],"functionName":{"name":"shl","nativeSrc":"386301:3:19","nodeType":"YulIdentifier","src":"386301:3:19"},"nativeSrc":"386301:25:19","nodeType":"YulFunctionCall","src":"386301:25:19"}],"functionName":{"name":"mstore","nativeSrc":"386278:6:19","nodeType":"YulIdentifier","src":"386278:6:19"},"nativeSrc":"386278:49:19","nodeType":"YulFunctionCall","src":"386278:49:19"},"nativeSrc":"386278:49:19","nodeType":"YulExpressionStatement","src":"386278:49:19"}]},"name":"writeString","nativeSrc":"385999:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"386020:3:19","nodeType":"YulTypedName","src":"386020:3:19","type":""},{"name":"w","nativeSrc":"386025:1:19","nodeType":"YulTypedName","src":"386025:1:19","type":""}],"src":"385999:342:19"},{"nativeSrc":"386354:17:19","nodeType":"YulAssignment","src":"386354:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"386366:4:19","nodeType":"YulLiteral","src":"386366:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"386360:5:19","nodeType":"YulIdentifier","src":"386360:5:19"},"nativeSrc":"386360:11:19","nodeType":"YulFunctionCall","src":"386360:11:19"},"variableNames":[{"name":"m0","nativeSrc":"386354:2:19","nodeType":"YulIdentifier","src":"386354:2:19"}]},{"nativeSrc":"386384:17:19","nodeType":"YulAssignment","src":"386384:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"386396:4:19","nodeType":"YulLiteral","src":"386396:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"386390:5:19","nodeType":"YulIdentifier","src":"386390:5:19"},"nativeSrc":"386390:11:19","nodeType":"YulFunctionCall","src":"386390:11:19"},"variableNames":[{"name":"m1","nativeSrc":"386384:2:19","nodeType":"YulIdentifier","src":"386384:2:19"}]},{"nativeSrc":"386414:17:19","nodeType":"YulAssignment","src":"386414:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"386426:4:19","nodeType":"YulLiteral","src":"386426:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"386420:5:19","nodeType":"YulIdentifier","src":"386420:5:19"},"nativeSrc":"386420:11:19","nodeType":"YulFunctionCall","src":"386420:11:19"},"variableNames":[{"name":"m2","nativeSrc":"386414:2:19","nodeType":"YulIdentifier","src":"386414:2:19"}]},{"nativeSrc":"386444:17:19","nodeType":"YulAssignment","src":"386444:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"386456:4:19","nodeType":"YulLiteral","src":"386456:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"386450:5:19","nodeType":"YulIdentifier","src":"386450:5:19"},"nativeSrc":"386450:11:19","nodeType":"YulFunctionCall","src":"386450:11:19"},"variableNames":[{"name":"m3","nativeSrc":"386444:2:19","nodeType":"YulIdentifier","src":"386444:2:19"}]},{"nativeSrc":"386474:17:19","nodeType":"YulAssignment","src":"386474:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"386486:4:19","nodeType":"YulLiteral","src":"386486:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"386480:5:19","nodeType":"YulIdentifier","src":"386480:5:19"},"nativeSrc":"386480:11:19","nodeType":"YulFunctionCall","src":"386480:11:19"},"variableNames":[{"name":"m4","nativeSrc":"386474:2:19","nodeType":"YulIdentifier","src":"386474:2:19"}]},{"nativeSrc":"386504:17:19","nodeType":"YulAssignment","src":"386504:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"386516:4:19","nodeType":"YulLiteral","src":"386516:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"386510:5:19","nodeType":"YulIdentifier","src":"386510:5:19"},"nativeSrc":"386510:11:19","nodeType":"YulFunctionCall","src":"386510:11:19"},"variableNames":[{"name":"m5","nativeSrc":"386504:2:19","nodeType":"YulIdentifier","src":"386504:2:19"}]},{"nativeSrc":"386534:17:19","nodeType":"YulAssignment","src":"386534:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"386546:4:19","nodeType":"YulLiteral","src":"386546:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"386540:5:19","nodeType":"YulIdentifier","src":"386540:5:19"},"nativeSrc":"386540:11:19","nodeType":"YulFunctionCall","src":"386540:11:19"},"variableNames":[{"name":"m6","nativeSrc":"386534:2:19","nodeType":"YulIdentifier","src":"386534:2:19"}]},{"nativeSrc":"386564:17:19","nodeType":"YulAssignment","src":"386564:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"386576:4:19","nodeType":"YulLiteral","src":"386576:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"386570:5:19","nodeType":"YulIdentifier","src":"386570:5:19"},"nativeSrc":"386570:11:19","nodeType":"YulFunctionCall","src":"386570:11:19"},"variableNames":[{"name":"m7","nativeSrc":"386564:2:19","nodeType":"YulIdentifier","src":"386564:2:19"}]},{"nativeSrc":"386594:18:19","nodeType":"YulAssignment","src":"386594:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"386606:5:19","nodeType":"YulLiteral","src":"386606:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"386600:5:19","nodeType":"YulIdentifier","src":"386600:5:19"},"nativeSrc":"386600:12:19","nodeType":"YulFunctionCall","src":"386600:12:19"},"variableNames":[{"name":"m8","nativeSrc":"386594:2:19","nodeType":"YulIdentifier","src":"386594:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"386694:4:19","nodeType":"YulLiteral","src":"386694:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"386700:10:19","nodeType":"YulLiteral","src":"386700:10:19","type":"","value":"0xabf73a98"}],"functionName":{"name":"mstore","nativeSrc":"386687:6:19","nodeType":"YulIdentifier","src":"386687:6:19"},"nativeSrc":"386687:24:19","nodeType":"YulFunctionCall","src":"386687:24:19"},"nativeSrc":"386687:24:19","nodeType":"YulExpressionStatement","src":"386687:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"386731:4:19","nodeType":"YulLiteral","src":"386731:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"386737:4:19","nodeType":"YulLiteral","src":"386737:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"386724:6:19","nodeType":"YulIdentifier","src":"386724:6:19"},"nativeSrc":"386724:18:19","nodeType":"YulFunctionCall","src":"386724:18:19"},"nativeSrc":"386724:18:19","nodeType":"YulExpressionStatement","src":"386724:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"386762:4:19","nodeType":"YulLiteral","src":"386762:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"386768:2:19","nodeType":"YulIdentifier","src":"386768:2:19"}],"functionName":{"name":"mstore","nativeSrc":"386755:6:19","nodeType":"YulIdentifier","src":"386755:6:19"},"nativeSrc":"386755:16:19","nodeType":"YulFunctionCall","src":"386755:16:19"},"nativeSrc":"386755:16:19","nodeType":"YulExpressionStatement","src":"386755:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"386791:4:19","nodeType":"YulLiteral","src":"386791:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"386797:2:19","nodeType":"YulIdentifier","src":"386797:2:19"}],"functionName":{"name":"mstore","nativeSrc":"386784:6:19","nodeType":"YulIdentifier","src":"386784:6:19"},"nativeSrc":"386784:16:19","nodeType":"YulFunctionCall","src":"386784:16:19"},"nativeSrc":"386784:16:19","nodeType":"YulExpressionStatement","src":"386784:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"386820:4:19","nodeType":"YulLiteral","src":"386820:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"386826:4:19","nodeType":"YulLiteral","src":"386826:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"386813:6:19","nodeType":"YulIdentifier","src":"386813:6:19"},"nativeSrc":"386813:18:19","nodeType":"YulFunctionCall","src":"386813:18:19"},"nativeSrc":"386813:18:19","nodeType":"YulExpressionStatement","src":"386813:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"386856:4:19","nodeType":"YulLiteral","src":"386856:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"386862:2:19","nodeType":"YulIdentifier","src":"386862:2:19"}],"functionName":{"name":"writeString","nativeSrc":"386844:11:19","nodeType":"YulIdentifier","src":"386844:11:19"},"nativeSrc":"386844:21:19","nodeType":"YulFunctionCall","src":"386844:21:19"},"nativeSrc":"386844:21:19","nodeType":"YulExpressionStatement","src":"386844:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"386890:4:19","nodeType":"YulLiteral","src":"386890:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"386896:2:19","nodeType":"YulIdentifier","src":"386896:2:19"}],"functionName":{"name":"writeString","nativeSrc":"386878:11:19","nodeType":"YulIdentifier","src":"386878:11:19"},"nativeSrc":"386878:21:19","nodeType":"YulFunctionCall","src":"386878:21:19"},"nativeSrc":"386878:21:19","nodeType":"YulExpressionStatement","src":"386878:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38184,"isOffset":false,"isSlot":false,"src":"386354:2:19","valueSize":1},{"declaration":38187,"isOffset":false,"isSlot":false,"src":"386384:2:19","valueSize":1},{"declaration":38190,"isOffset":false,"isSlot":false,"src":"386414:2:19","valueSize":1},{"declaration":38193,"isOffset":false,"isSlot":false,"src":"386444:2:19","valueSize":1},{"declaration":38196,"isOffset":false,"isSlot":false,"src":"386474:2:19","valueSize":1},{"declaration":38199,"isOffset":false,"isSlot":false,"src":"386504:2:19","valueSize":1},{"declaration":38202,"isOffset":false,"isSlot":false,"src":"386534:2:19","valueSize":1},{"declaration":38205,"isOffset":false,"isSlot":false,"src":"386564:2:19","valueSize":1},{"declaration":38208,"isOffset":false,"isSlot":false,"src":"386594:2:19","valueSize":1},{"declaration":38174,"isOffset":false,"isSlot":false,"src":"386862:2:19","valueSize":1},{"declaration":38176,"isOffset":false,"isSlot":false,"src":"386768:2:19","valueSize":1},{"declaration":38178,"isOffset":false,"isSlot":false,"src":"386797:2:19","valueSize":1},{"declaration":38180,"isOffset":false,"isSlot":false,"src":"386896:2:19","valueSize":1}],"id":38210,"nodeType":"InlineAssembly","src":"385976:933:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":38212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"386934:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"386940:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":38211,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"386918:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"386918:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38215,"nodeType":"ExpressionStatement","src":"386918:28:19"},{"AST":{"nativeSrc":"387008:273:19","nodeType":"YulBlock","src":"387008:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"387029:4:19","nodeType":"YulLiteral","src":"387029:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"387035:2:19","nodeType":"YulIdentifier","src":"387035:2:19"}],"functionName":{"name":"mstore","nativeSrc":"387022:6:19","nodeType":"YulIdentifier","src":"387022:6:19"},"nativeSrc":"387022:16:19","nodeType":"YulFunctionCall","src":"387022:16:19"},"nativeSrc":"387022:16:19","nodeType":"YulExpressionStatement","src":"387022:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"387058:4:19","nodeType":"YulLiteral","src":"387058:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"387064:2:19","nodeType":"YulIdentifier","src":"387064:2:19"}],"functionName":{"name":"mstore","nativeSrc":"387051:6:19","nodeType":"YulIdentifier","src":"387051:6:19"},"nativeSrc":"387051:16:19","nodeType":"YulFunctionCall","src":"387051:16:19"},"nativeSrc":"387051:16:19","nodeType":"YulExpressionStatement","src":"387051:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"387087:4:19","nodeType":"YulLiteral","src":"387087:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"387093:2:19","nodeType":"YulIdentifier","src":"387093:2:19"}],"functionName":{"name":"mstore","nativeSrc":"387080:6:19","nodeType":"YulIdentifier","src":"387080:6:19"},"nativeSrc":"387080:16:19","nodeType":"YulFunctionCall","src":"387080:16:19"},"nativeSrc":"387080:16:19","nodeType":"YulExpressionStatement","src":"387080:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"387116:4:19","nodeType":"YulLiteral","src":"387116:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"387122:2:19","nodeType":"YulIdentifier","src":"387122:2:19"}],"functionName":{"name":"mstore","nativeSrc":"387109:6:19","nodeType":"YulIdentifier","src":"387109:6:19"},"nativeSrc":"387109:16:19","nodeType":"YulFunctionCall","src":"387109:16:19"},"nativeSrc":"387109:16:19","nodeType":"YulExpressionStatement","src":"387109:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"387145:4:19","nodeType":"YulLiteral","src":"387145:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"387151:2:19","nodeType":"YulIdentifier","src":"387151:2:19"}],"functionName":{"name":"mstore","nativeSrc":"387138:6:19","nodeType":"YulIdentifier","src":"387138:6:19"},"nativeSrc":"387138:16:19","nodeType":"YulFunctionCall","src":"387138:16:19"},"nativeSrc":"387138:16:19","nodeType":"YulExpressionStatement","src":"387138:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"387174:4:19","nodeType":"YulLiteral","src":"387174:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"387180:2:19","nodeType":"YulIdentifier","src":"387180:2:19"}],"functionName":{"name":"mstore","nativeSrc":"387167:6:19","nodeType":"YulIdentifier","src":"387167:6:19"},"nativeSrc":"387167:16:19","nodeType":"YulFunctionCall","src":"387167:16:19"},"nativeSrc":"387167:16:19","nodeType":"YulExpressionStatement","src":"387167:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"387203:4:19","nodeType":"YulLiteral","src":"387203:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"387209:2:19","nodeType":"YulIdentifier","src":"387209:2:19"}],"functionName":{"name":"mstore","nativeSrc":"387196:6:19","nodeType":"YulIdentifier","src":"387196:6:19"},"nativeSrc":"387196:16:19","nodeType":"YulFunctionCall","src":"387196:16:19"},"nativeSrc":"387196:16:19","nodeType":"YulExpressionStatement","src":"387196:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"387232:4:19","nodeType":"YulLiteral","src":"387232:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"387238:2:19","nodeType":"YulIdentifier","src":"387238:2:19"}],"functionName":{"name":"mstore","nativeSrc":"387225:6:19","nodeType":"YulIdentifier","src":"387225:6:19"},"nativeSrc":"387225:16:19","nodeType":"YulFunctionCall","src":"387225:16:19"},"nativeSrc":"387225:16:19","nodeType":"YulExpressionStatement","src":"387225:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"387261:5:19","nodeType":"YulLiteral","src":"387261:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"387268:2:19","nodeType":"YulIdentifier","src":"387268:2:19"}],"functionName":{"name":"mstore","nativeSrc":"387254:6:19","nodeType":"YulIdentifier","src":"387254:6:19"},"nativeSrc":"387254:17:19","nodeType":"YulFunctionCall","src":"387254:17:19"},"nativeSrc":"387254:17:19","nodeType":"YulExpressionStatement","src":"387254:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38184,"isOffset":false,"isSlot":false,"src":"387035:2:19","valueSize":1},{"declaration":38187,"isOffset":false,"isSlot":false,"src":"387064:2:19","valueSize":1},{"declaration":38190,"isOffset":false,"isSlot":false,"src":"387093:2:19","valueSize":1},{"declaration":38193,"isOffset":false,"isSlot":false,"src":"387122:2:19","valueSize":1},{"declaration":38196,"isOffset":false,"isSlot":false,"src":"387151:2:19","valueSize":1},{"declaration":38199,"isOffset":false,"isSlot":false,"src":"387180:2:19","valueSize":1},{"declaration":38202,"isOffset":false,"isSlot":false,"src":"387209:2:19","valueSize":1},{"declaration":38205,"isOffset":false,"isSlot":false,"src":"387238:2:19","valueSize":1},{"declaration":38208,"isOffset":false,"isSlot":false,"src":"387268:2:19","valueSize":1}],"id":38216,"nodeType":"InlineAssembly","src":"386999:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"385680:3:19","parameters":{"id":38181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38174,"mutability":"mutable","name":"p0","nameLocation":"385692:2:19","nodeType":"VariableDeclaration","scope":38218,"src":"385684:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38173,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385684:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38176,"mutability":"mutable","name":"p1","nameLocation":"385704:2:19","nodeType":"VariableDeclaration","scope":38218,"src":"385696:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38175,"name":"uint256","nodeType":"ElementaryTypeName","src":"385696:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38178,"mutability":"mutable","name":"p2","nameLocation":"385713:2:19","nodeType":"VariableDeclaration","scope":38218,"src":"385708:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38177,"name":"bool","nodeType":"ElementaryTypeName","src":"385708:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38180,"mutability":"mutable","name":"p3","nameLocation":"385725:2:19","nodeType":"VariableDeclaration","scope":38218,"src":"385717:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38179,"name":"bytes32","nodeType":"ElementaryTypeName","src":"385717:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"385683:45:19"},"returnParameters":{"id":38182,"nodeType":"ParameterList","parameters":[],"src":"385743:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38258,"nodeType":"FunctionDefinition","src":"387293:1426:19","nodes":[],"body":{"id":38257,"nodeType":"Block","src":"387368:1351:19","nodes":[],"statements":[{"assignments":[38230],"declarations":[{"constant":false,"id":38230,"mutability":"mutable","name":"m0","nameLocation":"387386:2:19","nodeType":"VariableDeclaration","scope":38257,"src":"387378:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38229,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387378:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38231,"nodeType":"VariableDeclarationStatement","src":"387378:10:19"},{"assignments":[38233],"declarations":[{"constant":false,"id":38233,"mutability":"mutable","name":"m1","nameLocation":"387406:2:19","nodeType":"VariableDeclaration","scope":38257,"src":"387398:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38232,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387398:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38234,"nodeType":"VariableDeclarationStatement","src":"387398:10:19"},{"assignments":[38236],"declarations":[{"constant":false,"id":38236,"mutability":"mutable","name":"m2","nameLocation":"387426:2:19","nodeType":"VariableDeclaration","scope":38257,"src":"387418:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38235,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387418:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38237,"nodeType":"VariableDeclarationStatement","src":"387418:10:19"},{"assignments":[38239],"declarations":[{"constant":false,"id":38239,"mutability":"mutable","name":"m3","nameLocation":"387446:2:19","nodeType":"VariableDeclaration","scope":38257,"src":"387438:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38238,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387438:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38240,"nodeType":"VariableDeclarationStatement","src":"387438:10:19"},{"assignments":[38242],"declarations":[{"constant":false,"id":38242,"mutability":"mutable","name":"m4","nameLocation":"387466:2:19","nodeType":"VariableDeclaration","scope":38257,"src":"387458:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38241,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387458:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38243,"nodeType":"VariableDeclarationStatement","src":"387458:10:19"},{"assignments":[38245],"declarations":[{"constant":false,"id":38245,"mutability":"mutable","name":"m5","nameLocation":"387486:2:19","nodeType":"VariableDeclaration","scope":38257,"src":"387478:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38244,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387478:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38246,"nodeType":"VariableDeclarationStatement","src":"387478:10:19"},{"assignments":[38248],"declarations":[{"constant":false,"id":38248,"mutability":"mutable","name":"m6","nameLocation":"387506:2:19","nodeType":"VariableDeclaration","scope":38257,"src":"387498:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38247,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387498:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38249,"nodeType":"VariableDeclarationStatement","src":"387498:10:19"},{"AST":{"nativeSrc":"387570:831:19","nodeType":"YulBlock","src":"387570:831:19","statements":[{"body":{"nativeSrc":"387613:313:19","nodeType":"YulBlock","src":"387613:313:19","statements":[{"nativeSrc":"387631:15:19","nodeType":"YulVariableDeclaration","src":"387631:15:19","value":{"kind":"number","nativeSrc":"387645:1:19","nodeType":"YulLiteral","src":"387645:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"387635:6:19","nodeType":"YulTypedName","src":"387635:6:19","type":""}]},{"body":{"nativeSrc":"387716:40:19","nodeType":"YulBlock","src":"387716:40:19","statements":[{"body":{"nativeSrc":"387745:9:19","nodeType":"YulBlock","src":"387745:9:19","statements":[{"nativeSrc":"387747:5:19","nodeType":"YulBreak","src":"387747:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"387733:6:19","nodeType":"YulIdentifier","src":"387733:6:19"},{"name":"w","nativeSrc":"387741:1:19","nodeType":"YulIdentifier","src":"387741:1:19"}],"functionName":{"name":"byte","nativeSrc":"387728:4:19","nodeType":"YulIdentifier","src":"387728:4:19"},"nativeSrc":"387728:15:19","nodeType":"YulFunctionCall","src":"387728:15:19"}],"functionName":{"name":"iszero","nativeSrc":"387721:6:19","nodeType":"YulIdentifier","src":"387721:6:19"},"nativeSrc":"387721:23:19","nodeType":"YulFunctionCall","src":"387721:23:19"},"nativeSrc":"387718:36:19","nodeType":"YulIf","src":"387718:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"387673:6:19","nodeType":"YulIdentifier","src":"387673:6:19"},{"kind":"number","nativeSrc":"387681:4:19","nodeType":"YulLiteral","src":"387681:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"387670:2:19","nodeType":"YulIdentifier","src":"387670:2:19"},"nativeSrc":"387670:16:19","nodeType":"YulFunctionCall","src":"387670:16:19"},"nativeSrc":"387663:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"387687:28:19","nodeType":"YulBlock","src":"387687:28:19","statements":[{"nativeSrc":"387689:24:19","nodeType":"YulAssignment","src":"387689:24:19","value":{"arguments":[{"name":"length","nativeSrc":"387703:6:19","nodeType":"YulIdentifier","src":"387703:6:19"},{"kind":"number","nativeSrc":"387711:1:19","nodeType":"YulLiteral","src":"387711:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"387699:3:19","nodeType":"YulIdentifier","src":"387699:3:19"},"nativeSrc":"387699:14:19","nodeType":"YulFunctionCall","src":"387699:14:19"},"variableNames":[{"name":"length","nativeSrc":"387689:6:19","nodeType":"YulIdentifier","src":"387689:6:19"}]}]},"pre":{"nativeSrc":"387667:2:19","nodeType":"YulBlock","src":"387667:2:19","statements":[]},"src":"387663:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"387780:3:19","nodeType":"YulIdentifier","src":"387780:3:19"},{"name":"length","nativeSrc":"387785:6:19","nodeType":"YulIdentifier","src":"387785:6:19"}],"functionName":{"name":"mstore","nativeSrc":"387773:6:19","nodeType":"YulIdentifier","src":"387773:6:19"},"nativeSrc":"387773:19:19","nodeType":"YulFunctionCall","src":"387773:19:19"},"nativeSrc":"387773:19:19","nodeType":"YulExpressionStatement","src":"387773:19:19"},{"nativeSrc":"387809:37:19","nodeType":"YulVariableDeclaration","src":"387809:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"387826:3:19","nodeType":"YulLiteral","src":"387826:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"387835:1:19","nodeType":"YulLiteral","src":"387835:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"387838:6:19","nodeType":"YulIdentifier","src":"387838:6:19"}],"functionName":{"name":"shl","nativeSrc":"387831:3:19","nodeType":"YulIdentifier","src":"387831:3:19"},"nativeSrc":"387831:14:19","nodeType":"YulFunctionCall","src":"387831:14:19"}],"functionName":{"name":"sub","nativeSrc":"387822:3:19","nodeType":"YulIdentifier","src":"387822:3:19"},"nativeSrc":"387822:24:19","nodeType":"YulFunctionCall","src":"387822:24:19"},"variables":[{"name":"shift","nativeSrc":"387813:5:19","nodeType":"YulTypedName","src":"387813:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"387874:3:19","nodeType":"YulIdentifier","src":"387874:3:19"},{"kind":"number","nativeSrc":"387879:4:19","nodeType":"YulLiteral","src":"387879:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"387870:3:19","nodeType":"YulIdentifier","src":"387870:3:19"},"nativeSrc":"387870:14:19","nodeType":"YulFunctionCall","src":"387870:14:19"},{"arguments":[{"name":"shift","nativeSrc":"387890:5:19","nodeType":"YulIdentifier","src":"387890:5:19"},{"arguments":[{"name":"shift","nativeSrc":"387901:5:19","nodeType":"YulIdentifier","src":"387901:5:19"},{"name":"w","nativeSrc":"387908:1:19","nodeType":"YulIdentifier","src":"387908:1:19"}],"functionName":{"name":"shr","nativeSrc":"387897:3:19","nodeType":"YulIdentifier","src":"387897:3:19"},"nativeSrc":"387897:13:19","nodeType":"YulFunctionCall","src":"387897:13:19"}],"functionName":{"name":"shl","nativeSrc":"387886:3:19","nodeType":"YulIdentifier","src":"387886:3:19"},"nativeSrc":"387886:25:19","nodeType":"YulFunctionCall","src":"387886:25:19"}],"functionName":{"name":"mstore","nativeSrc":"387863:6:19","nodeType":"YulIdentifier","src":"387863:6:19"},"nativeSrc":"387863:49:19","nodeType":"YulFunctionCall","src":"387863:49:19"},"nativeSrc":"387863:49:19","nodeType":"YulExpressionStatement","src":"387863:49:19"}]},"name":"writeString","nativeSrc":"387584:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"387605:3:19","nodeType":"YulTypedName","src":"387605:3:19","type":""},{"name":"w","nativeSrc":"387610:1:19","nodeType":"YulTypedName","src":"387610:1:19","type":""}],"src":"387584:342:19"},{"nativeSrc":"387939:17:19","nodeType":"YulAssignment","src":"387939:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"387951:4:19","nodeType":"YulLiteral","src":"387951:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"387945:5:19","nodeType":"YulIdentifier","src":"387945:5:19"},"nativeSrc":"387945:11:19","nodeType":"YulFunctionCall","src":"387945:11:19"},"variableNames":[{"name":"m0","nativeSrc":"387939:2:19","nodeType":"YulIdentifier","src":"387939:2:19"}]},{"nativeSrc":"387969:17:19","nodeType":"YulAssignment","src":"387969:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"387981:4:19","nodeType":"YulLiteral","src":"387981:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"387975:5:19","nodeType":"YulIdentifier","src":"387975:5:19"},"nativeSrc":"387975:11:19","nodeType":"YulFunctionCall","src":"387975:11:19"},"variableNames":[{"name":"m1","nativeSrc":"387969:2:19","nodeType":"YulIdentifier","src":"387969:2:19"}]},{"nativeSrc":"387999:17:19","nodeType":"YulAssignment","src":"387999:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"388011:4:19","nodeType":"YulLiteral","src":"388011:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"388005:5:19","nodeType":"YulIdentifier","src":"388005:5:19"},"nativeSrc":"388005:11:19","nodeType":"YulFunctionCall","src":"388005:11:19"},"variableNames":[{"name":"m2","nativeSrc":"387999:2:19","nodeType":"YulIdentifier","src":"387999:2:19"}]},{"nativeSrc":"388029:17:19","nodeType":"YulAssignment","src":"388029:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"388041:4:19","nodeType":"YulLiteral","src":"388041:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"388035:5:19","nodeType":"YulIdentifier","src":"388035:5:19"},"nativeSrc":"388035:11:19","nodeType":"YulFunctionCall","src":"388035:11:19"},"variableNames":[{"name":"m3","nativeSrc":"388029:2:19","nodeType":"YulIdentifier","src":"388029:2:19"}]},{"nativeSrc":"388059:17:19","nodeType":"YulAssignment","src":"388059:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"388071:4:19","nodeType":"YulLiteral","src":"388071:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"388065:5:19","nodeType":"YulIdentifier","src":"388065:5:19"},"nativeSrc":"388065:11:19","nodeType":"YulFunctionCall","src":"388065:11:19"},"variableNames":[{"name":"m4","nativeSrc":"388059:2:19","nodeType":"YulIdentifier","src":"388059:2:19"}]},{"nativeSrc":"388089:17:19","nodeType":"YulAssignment","src":"388089:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"388101:4:19","nodeType":"YulLiteral","src":"388101:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"388095:5:19","nodeType":"YulIdentifier","src":"388095:5:19"},"nativeSrc":"388095:11:19","nodeType":"YulFunctionCall","src":"388095:11:19"},"variableNames":[{"name":"m5","nativeSrc":"388089:2:19","nodeType":"YulIdentifier","src":"388089:2:19"}]},{"nativeSrc":"388119:17:19","nodeType":"YulAssignment","src":"388119:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"388131:4:19","nodeType":"YulLiteral","src":"388131:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"388125:5:19","nodeType":"YulIdentifier","src":"388125:5:19"},"nativeSrc":"388125:11:19","nodeType":"YulFunctionCall","src":"388125:11:19"},"variableNames":[{"name":"m6","nativeSrc":"388119:2:19","nodeType":"YulIdentifier","src":"388119:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388222:4:19","nodeType":"YulLiteral","src":"388222:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"388228:10:19","nodeType":"YulLiteral","src":"388228:10:19","type":"","value":"0xe21de278"}],"functionName":{"name":"mstore","nativeSrc":"388215:6:19","nodeType":"YulIdentifier","src":"388215:6:19"},"nativeSrc":"388215:24:19","nodeType":"YulFunctionCall","src":"388215:24:19"},"nativeSrc":"388215:24:19","nodeType":"YulExpressionStatement","src":"388215:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388259:4:19","nodeType":"YulLiteral","src":"388259:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"388265:4:19","nodeType":"YulLiteral","src":"388265:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"388252:6:19","nodeType":"YulIdentifier","src":"388252:6:19"},"nativeSrc":"388252:18:19","nodeType":"YulFunctionCall","src":"388252:18:19"},"nativeSrc":"388252:18:19","nodeType":"YulExpressionStatement","src":"388252:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388290:4:19","nodeType":"YulLiteral","src":"388290:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"388296:2:19","nodeType":"YulIdentifier","src":"388296:2:19"}],"functionName":{"name":"mstore","nativeSrc":"388283:6:19","nodeType":"YulIdentifier","src":"388283:6:19"},"nativeSrc":"388283:16:19","nodeType":"YulFunctionCall","src":"388283:16:19"},"nativeSrc":"388283:16:19","nodeType":"YulExpressionStatement","src":"388283:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388319:4:19","nodeType":"YulLiteral","src":"388319:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"388325:2:19","nodeType":"YulIdentifier","src":"388325:2:19"}],"functionName":{"name":"mstore","nativeSrc":"388312:6:19","nodeType":"YulIdentifier","src":"388312:6:19"},"nativeSrc":"388312:16:19","nodeType":"YulFunctionCall","src":"388312:16:19"},"nativeSrc":"388312:16:19","nodeType":"YulExpressionStatement","src":"388312:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388348:4:19","nodeType":"YulLiteral","src":"388348:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"388354:2:19","nodeType":"YulIdentifier","src":"388354:2:19"}],"functionName":{"name":"mstore","nativeSrc":"388341:6:19","nodeType":"YulIdentifier","src":"388341:6:19"},"nativeSrc":"388341:16:19","nodeType":"YulFunctionCall","src":"388341:16:19"},"nativeSrc":"388341:16:19","nodeType":"YulExpressionStatement","src":"388341:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388382:4:19","nodeType":"YulLiteral","src":"388382:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"388388:2:19","nodeType":"YulIdentifier","src":"388388:2:19"}],"functionName":{"name":"writeString","nativeSrc":"388370:11:19","nodeType":"YulIdentifier","src":"388370:11:19"},"nativeSrc":"388370:21:19","nodeType":"YulFunctionCall","src":"388370:21:19"},"nativeSrc":"388370:21:19","nodeType":"YulExpressionStatement","src":"388370:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38230,"isOffset":false,"isSlot":false,"src":"387939:2:19","valueSize":1},{"declaration":38233,"isOffset":false,"isSlot":false,"src":"387969:2:19","valueSize":1},{"declaration":38236,"isOffset":false,"isSlot":false,"src":"387999:2:19","valueSize":1},{"declaration":38239,"isOffset":false,"isSlot":false,"src":"388029:2:19","valueSize":1},{"declaration":38242,"isOffset":false,"isSlot":false,"src":"388059:2:19","valueSize":1},{"declaration":38245,"isOffset":false,"isSlot":false,"src":"388089:2:19","valueSize":1},{"declaration":38248,"isOffset":false,"isSlot":false,"src":"388119:2:19","valueSize":1},{"declaration":38220,"isOffset":false,"isSlot":false,"src":"388388:2:19","valueSize":1},{"declaration":38222,"isOffset":false,"isSlot":false,"src":"388296:2:19","valueSize":1},{"declaration":38224,"isOffset":false,"isSlot":false,"src":"388325:2:19","valueSize":1},{"declaration":38226,"isOffset":false,"isSlot":false,"src":"388354:2:19","valueSize":1}],"id":38250,"nodeType":"InlineAssembly","src":"387561:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":38252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"388426:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"388432:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":38251,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"388410:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"388410:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38255,"nodeType":"ExpressionStatement","src":"388410:27:19"},{"AST":{"nativeSrc":"388499:214:19","nodeType":"YulBlock","src":"388499:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"388520:4:19","nodeType":"YulLiteral","src":"388520:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"388526:2:19","nodeType":"YulIdentifier","src":"388526:2:19"}],"functionName":{"name":"mstore","nativeSrc":"388513:6:19","nodeType":"YulIdentifier","src":"388513:6:19"},"nativeSrc":"388513:16:19","nodeType":"YulFunctionCall","src":"388513:16:19"},"nativeSrc":"388513:16:19","nodeType":"YulExpressionStatement","src":"388513:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388549:4:19","nodeType":"YulLiteral","src":"388549:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"388555:2:19","nodeType":"YulIdentifier","src":"388555:2:19"}],"functionName":{"name":"mstore","nativeSrc":"388542:6:19","nodeType":"YulIdentifier","src":"388542:6:19"},"nativeSrc":"388542:16:19","nodeType":"YulFunctionCall","src":"388542:16:19"},"nativeSrc":"388542:16:19","nodeType":"YulExpressionStatement","src":"388542:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388578:4:19","nodeType":"YulLiteral","src":"388578:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"388584:2:19","nodeType":"YulIdentifier","src":"388584:2:19"}],"functionName":{"name":"mstore","nativeSrc":"388571:6:19","nodeType":"YulIdentifier","src":"388571:6:19"},"nativeSrc":"388571:16:19","nodeType":"YulFunctionCall","src":"388571:16:19"},"nativeSrc":"388571:16:19","nodeType":"YulExpressionStatement","src":"388571:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388607:4:19","nodeType":"YulLiteral","src":"388607:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"388613:2:19","nodeType":"YulIdentifier","src":"388613:2:19"}],"functionName":{"name":"mstore","nativeSrc":"388600:6:19","nodeType":"YulIdentifier","src":"388600:6:19"},"nativeSrc":"388600:16:19","nodeType":"YulFunctionCall","src":"388600:16:19"},"nativeSrc":"388600:16:19","nodeType":"YulExpressionStatement","src":"388600:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388636:4:19","nodeType":"YulLiteral","src":"388636:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"388642:2:19","nodeType":"YulIdentifier","src":"388642:2:19"}],"functionName":{"name":"mstore","nativeSrc":"388629:6:19","nodeType":"YulIdentifier","src":"388629:6:19"},"nativeSrc":"388629:16:19","nodeType":"YulFunctionCall","src":"388629:16:19"},"nativeSrc":"388629:16:19","nodeType":"YulExpressionStatement","src":"388629:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388665:4:19","nodeType":"YulLiteral","src":"388665:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"388671:2:19","nodeType":"YulIdentifier","src":"388671:2:19"}],"functionName":{"name":"mstore","nativeSrc":"388658:6:19","nodeType":"YulIdentifier","src":"388658:6:19"},"nativeSrc":"388658:16:19","nodeType":"YulFunctionCall","src":"388658:16:19"},"nativeSrc":"388658:16:19","nodeType":"YulExpressionStatement","src":"388658:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"388694:4:19","nodeType":"YulLiteral","src":"388694:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"388700:2:19","nodeType":"YulIdentifier","src":"388700:2:19"}],"functionName":{"name":"mstore","nativeSrc":"388687:6:19","nodeType":"YulIdentifier","src":"388687:6:19"},"nativeSrc":"388687:16:19","nodeType":"YulFunctionCall","src":"388687:16:19"},"nativeSrc":"388687:16:19","nodeType":"YulExpressionStatement","src":"388687:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38230,"isOffset":false,"isSlot":false,"src":"388526:2:19","valueSize":1},{"declaration":38233,"isOffset":false,"isSlot":false,"src":"388555:2:19","valueSize":1},{"declaration":38236,"isOffset":false,"isSlot":false,"src":"388584:2:19","valueSize":1},{"declaration":38239,"isOffset":false,"isSlot":false,"src":"388613:2:19","valueSize":1},{"declaration":38242,"isOffset":false,"isSlot":false,"src":"388642:2:19","valueSize":1},{"declaration":38245,"isOffset":false,"isSlot":false,"src":"388671:2:19","valueSize":1},{"declaration":38248,"isOffset":false,"isSlot":false,"src":"388700:2:19","valueSize":1}],"id":38256,"nodeType":"InlineAssembly","src":"388490:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"387302:3:19","parameters":{"id":38227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38220,"mutability":"mutable","name":"p0","nameLocation":"387314:2:19","nodeType":"VariableDeclaration","scope":38258,"src":"387306:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38219,"name":"bytes32","nodeType":"ElementaryTypeName","src":"387306:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38222,"mutability":"mutable","name":"p1","nameLocation":"387326:2:19","nodeType":"VariableDeclaration","scope":38258,"src":"387318:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38221,"name":"uint256","nodeType":"ElementaryTypeName","src":"387318:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38224,"mutability":"mutable","name":"p2","nameLocation":"387338:2:19","nodeType":"VariableDeclaration","scope":38258,"src":"387330:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38223,"name":"uint256","nodeType":"ElementaryTypeName","src":"387330:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38226,"mutability":"mutable","name":"p3","nameLocation":"387350:2:19","nodeType":"VariableDeclaration","scope":38258,"src":"387342:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38225,"name":"address","nodeType":"ElementaryTypeName","src":"387342:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"387305:48:19"},"returnParameters":{"id":38228,"nodeType":"ParameterList","parameters":[],"src":"387368:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38298,"nodeType":"FunctionDefinition","src":"388725:1420:19","nodes":[],"body":{"id":38297,"nodeType":"Block","src":"388797:1348:19","nodes":[],"statements":[{"assignments":[38270],"declarations":[{"constant":false,"id":38270,"mutability":"mutable","name":"m0","nameLocation":"388815:2:19","nodeType":"VariableDeclaration","scope":38297,"src":"388807:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38269,"name":"bytes32","nodeType":"ElementaryTypeName","src":"388807:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38271,"nodeType":"VariableDeclarationStatement","src":"388807:10:19"},{"assignments":[38273],"declarations":[{"constant":false,"id":38273,"mutability":"mutable","name":"m1","nameLocation":"388835:2:19","nodeType":"VariableDeclaration","scope":38297,"src":"388827:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38272,"name":"bytes32","nodeType":"ElementaryTypeName","src":"388827:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38274,"nodeType":"VariableDeclarationStatement","src":"388827:10:19"},{"assignments":[38276],"declarations":[{"constant":false,"id":38276,"mutability":"mutable","name":"m2","nameLocation":"388855:2:19","nodeType":"VariableDeclaration","scope":38297,"src":"388847:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38275,"name":"bytes32","nodeType":"ElementaryTypeName","src":"388847:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38277,"nodeType":"VariableDeclarationStatement","src":"388847:10:19"},{"assignments":[38279],"declarations":[{"constant":false,"id":38279,"mutability":"mutable","name":"m3","nameLocation":"388875:2:19","nodeType":"VariableDeclaration","scope":38297,"src":"388867:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38278,"name":"bytes32","nodeType":"ElementaryTypeName","src":"388867:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38280,"nodeType":"VariableDeclarationStatement","src":"388867:10:19"},{"assignments":[38282],"declarations":[{"constant":false,"id":38282,"mutability":"mutable","name":"m4","nameLocation":"388895:2:19","nodeType":"VariableDeclaration","scope":38297,"src":"388887:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38281,"name":"bytes32","nodeType":"ElementaryTypeName","src":"388887:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38283,"nodeType":"VariableDeclarationStatement","src":"388887:10:19"},{"assignments":[38285],"declarations":[{"constant":false,"id":38285,"mutability":"mutable","name":"m5","nameLocation":"388915:2:19","nodeType":"VariableDeclaration","scope":38297,"src":"388907:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38284,"name":"bytes32","nodeType":"ElementaryTypeName","src":"388907:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38286,"nodeType":"VariableDeclarationStatement","src":"388907:10:19"},{"assignments":[38288],"declarations":[{"constant":false,"id":38288,"mutability":"mutable","name":"m6","nameLocation":"388935:2:19","nodeType":"VariableDeclaration","scope":38297,"src":"388927:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38287,"name":"bytes32","nodeType":"ElementaryTypeName","src":"388927:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38289,"nodeType":"VariableDeclarationStatement","src":"388927:10:19"},{"AST":{"nativeSrc":"388999:828:19","nodeType":"YulBlock","src":"388999:828:19","statements":[{"body":{"nativeSrc":"389042:313:19","nodeType":"YulBlock","src":"389042:313:19","statements":[{"nativeSrc":"389060:15:19","nodeType":"YulVariableDeclaration","src":"389060:15:19","value":{"kind":"number","nativeSrc":"389074:1:19","nodeType":"YulLiteral","src":"389074:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"389064:6:19","nodeType":"YulTypedName","src":"389064:6:19","type":""}]},{"body":{"nativeSrc":"389145:40:19","nodeType":"YulBlock","src":"389145:40:19","statements":[{"body":{"nativeSrc":"389174:9:19","nodeType":"YulBlock","src":"389174:9:19","statements":[{"nativeSrc":"389176:5:19","nodeType":"YulBreak","src":"389176:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"389162:6:19","nodeType":"YulIdentifier","src":"389162:6:19"},{"name":"w","nativeSrc":"389170:1:19","nodeType":"YulIdentifier","src":"389170:1:19"}],"functionName":{"name":"byte","nativeSrc":"389157:4:19","nodeType":"YulIdentifier","src":"389157:4:19"},"nativeSrc":"389157:15:19","nodeType":"YulFunctionCall","src":"389157:15:19"}],"functionName":{"name":"iszero","nativeSrc":"389150:6:19","nodeType":"YulIdentifier","src":"389150:6:19"},"nativeSrc":"389150:23:19","nodeType":"YulFunctionCall","src":"389150:23:19"},"nativeSrc":"389147:36:19","nodeType":"YulIf","src":"389147:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"389102:6:19","nodeType":"YulIdentifier","src":"389102:6:19"},{"kind":"number","nativeSrc":"389110:4:19","nodeType":"YulLiteral","src":"389110:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"389099:2:19","nodeType":"YulIdentifier","src":"389099:2:19"},"nativeSrc":"389099:16:19","nodeType":"YulFunctionCall","src":"389099:16:19"},"nativeSrc":"389092:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"389116:28:19","nodeType":"YulBlock","src":"389116:28:19","statements":[{"nativeSrc":"389118:24:19","nodeType":"YulAssignment","src":"389118:24:19","value":{"arguments":[{"name":"length","nativeSrc":"389132:6:19","nodeType":"YulIdentifier","src":"389132:6:19"},{"kind":"number","nativeSrc":"389140:1:19","nodeType":"YulLiteral","src":"389140:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"389128:3:19","nodeType":"YulIdentifier","src":"389128:3:19"},"nativeSrc":"389128:14:19","nodeType":"YulFunctionCall","src":"389128:14:19"},"variableNames":[{"name":"length","nativeSrc":"389118:6:19","nodeType":"YulIdentifier","src":"389118:6:19"}]}]},"pre":{"nativeSrc":"389096:2:19","nodeType":"YulBlock","src":"389096:2:19","statements":[]},"src":"389092:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"389209:3:19","nodeType":"YulIdentifier","src":"389209:3:19"},{"name":"length","nativeSrc":"389214:6:19","nodeType":"YulIdentifier","src":"389214:6:19"}],"functionName":{"name":"mstore","nativeSrc":"389202:6:19","nodeType":"YulIdentifier","src":"389202:6:19"},"nativeSrc":"389202:19:19","nodeType":"YulFunctionCall","src":"389202:19:19"},"nativeSrc":"389202:19:19","nodeType":"YulExpressionStatement","src":"389202:19:19"},{"nativeSrc":"389238:37:19","nodeType":"YulVariableDeclaration","src":"389238:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"389255:3:19","nodeType":"YulLiteral","src":"389255:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"389264:1:19","nodeType":"YulLiteral","src":"389264:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"389267:6:19","nodeType":"YulIdentifier","src":"389267:6:19"}],"functionName":{"name":"shl","nativeSrc":"389260:3:19","nodeType":"YulIdentifier","src":"389260:3:19"},"nativeSrc":"389260:14:19","nodeType":"YulFunctionCall","src":"389260:14:19"}],"functionName":{"name":"sub","nativeSrc":"389251:3:19","nodeType":"YulIdentifier","src":"389251:3:19"},"nativeSrc":"389251:24:19","nodeType":"YulFunctionCall","src":"389251:24:19"},"variables":[{"name":"shift","nativeSrc":"389242:5:19","nodeType":"YulTypedName","src":"389242:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"389303:3:19","nodeType":"YulIdentifier","src":"389303:3:19"},{"kind":"number","nativeSrc":"389308:4:19","nodeType":"YulLiteral","src":"389308:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"389299:3:19","nodeType":"YulIdentifier","src":"389299:3:19"},"nativeSrc":"389299:14:19","nodeType":"YulFunctionCall","src":"389299:14:19"},{"arguments":[{"name":"shift","nativeSrc":"389319:5:19","nodeType":"YulIdentifier","src":"389319:5:19"},{"arguments":[{"name":"shift","nativeSrc":"389330:5:19","nodeType":"YulIdentifier","src":"389330:5:19"},{"name":"w","nativeSrc":"389337:1:19","nodeType":"YulIdentifier","src":"389337:1:19"}],"functionName":{"name":"shr","nativeSrc":"389326:3:19","nodeType":"YulIdentifier","src":"389326:3:19"},"nativeSrc":"389326:13:19","nodeType":"YulFunctionCall","src":"389326:13:19"}],"functionName":{"name":"shl","nativeSrc":"389315:3:19","nodeType":"YulIdentifier","src":"389315:3:19"},"nativeSrc":"389315:25:19","nodeType":"YulFunctionCall","src":"389315:25:19"}],"functionName":{"name":"mstore","nativeSrc":"389292:6:19","nodeType":"YulIdentifier","src":"389292:6:19"},"nativeSrc":"389292:49:19","nodeType":"YulFunctionCall","src":"389292:49:19"},"nativeSrc":"389292:49:19","nodeType":"YulExpressionStatement","src":"389292:49:19"}]},"name":"writeString","nativeSrc":"389013:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"389034:3:19","nodeType":"YulTypedName","src":"389034:3:19","type":""},{"name":"w","nativeSrc":"389039:1:19","nodeType":"YulTypedName","src":"389039:1:19","type":""}],"src":"389013:342:19"},{"nativeSrc":"389368:17:19","nodeType":"YulAssignment","src":"389368:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"389380:4:19","nodeType":"YulLiteral","src":"389380:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"389374:5:19","nodeType":"YulIdentifier","src":"389374:5:19"},"nativeSrc":"389374:11:19","nodeType":"YulFunctionCall","src":"389374:11:19"},"variableNames":[{"name":"m0","nativeSrc":"389368:2:19","nodeType":"YulIdentifier","src":"389368:2:19"}]},{"nativeSrc":"389398:17:19","nodeType":"YulAssignment","src":"389398:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"389410:4:19","nodeType":"YulLiteral","src":"389410:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"389404:5:19","nodeType":"YulIdentifier","src":"389404:5:19"},"nativeSrc":"389404:11:19","nodeType":"YulFunctionCall","src":"389404:11:19"},"variableNames":[{"name":"m1","nativeSrc":"389398:2:19","nodeType":"YulIdentifier","src":"389398:2:19"}]},{"nativeSrc":"389428:17:19","nodeType":"YulAssignment","src":"389428:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"389440:4:19","nodeType":"YulLiteral","src":"389440:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"389434:5:19","nodeType":"YulIdentifier","src":"389434:5:19"},"nativeSrc":"389434:11:19","nodeType":"YulFunctionCall","src":"389434:11:19"},"variableNames":[{"name":"m2","nativeSrc":"389428:2:19","nodeType":"YulIdentifier","src":"389428:2:19"}]},{"nativeSrc":"389458:17:19","nodeType":"YulAssignment","src":"389458:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"389470:4:19","nodeType":"YulLiteral","src":"389470:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"389464:5:19","nodeType":"YulIdentifier","src":"389464:5:19"},"nativeSrc":"389464:11:19","nodeType":"YulFunctionCall","src":"389464:11:19"},"variableNames":[{"name":"m3","nativeSrc":"389458:2:19","nodeType":"YulIdentifier","src":"389458:2:19"}]},{"nativeSrc":"389488:17:19","nodeType":"YulAssignment","src":"389488:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"389500:4:19","nodeType":"YulLiteral","src":"389500:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"389494:5:19","nodeType":"YulIdentifier","src":"389494:5:19"},"nativeSrc":"389494:11:19","nodeType":"YulFunctionCall","src":"389494:11:19"},"variableNames":[{"name":"m4","nativeSrc":"389488:2:19","nodeType":"YulIdentifier","src":"389488:2:19"}]},{"nativeSrc":"389518:17:19","nodeType":"YulAssignment","src":"389518:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"389530:4:19","nodeType":"YulLiteral","src":"389530:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"389524:5:19","nodeType":"YulIdentifier","src":"389524:5:19"},"nativeSrc":"389524:11:19","nodeType":"YulFunctionCall","src":"389524:11:19"},"variableNames":[{"name":"m5","nativeSrc":"389518:2:19","nodeType":"YulIdentifier","src":"389518:2:19"}]},{"nativeSrc":"389548:17:19","nodeType":"YulAssignment","src":"389548:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"389560:4:19","nodeType":"YulLiteral","src":"389560:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"389554:5:19","nodeType":"YulIdentifier","src":"389554:5:19"},"nativeSrc":"389554:11:19","nodeType":"YulFunctionCall","src":"389554:11:19"},"variableNames":[{"name":"m6","nativeSrc":"389548:2:19","nodeType":"YulIdentifier","src":"389548:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"389648:4:19","nodeType":"YulLiteral","src":"389648:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"389654:10:19","nodeType":"YulLiteral","src":"389654:10:19","type":"","value":"0x7626db92"}],"functionName":{"name":"mstore","nativeSrc":"389641:6:19","nodeType":"YulIdentifier","src":"389641:6:19"},"nativeSrc":"389641:24:19","nodeType":"YulFunctionCall","src":"389641:24:19"},"nativeSrc":"389641:24:19","nodeType":"YulExpressionStatement","src":"389641:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"389685:4:19","nodeType":"YulLiteral","src":"389685:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"389691:4:19","nodeType":"YulLiteral","src":"389691:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"389678:6:19","nodeType":"YulIdentifier","src":"389678:6:19"},"nativeSrc":"389678:18:19","nodeType":"YulFunctionCall","src":"389678:18:19"},"nativeSrc":"389678:18:19","nodeType":"YulExpressionStatement","src":"389678:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"389716:4:19","nodeType":"YulLiteral","src":"389716:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"389722:2:19","nodeType":"YulIdentifier","src":"389722:2:19"}],"functionName":{"name":"mstore","nativeSrc":"389709:6:19","nodeType":"YulIdentifier","src":"389709:6:19"},"nativeSrc":"389709:16:19","nodeType":"YulFunctionCall","src":"389709:16:19"},"nativeSrc":"389709:16:19","nodeType":"YulExpressionStatement","src":"389709:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"389745:4:19","nodeType":"YulLiteral","src":"389745:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"389751:2:19","nodeType":"YulIdentifier","src":"389751:2:19"}],"functionName":{"name":"mstore","nativeSrc":"389738:6:19","nodeType":"YulIdentifier","src":"389738:6:19"},"nativeSrc":"389738:16:19","nodeType":"YulFunctionCall","src":"389738:16:19"},"nativeSrc":"389738:16:19","nodeType":"YulExpressionStatement","src":"389738:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"389774:4:19","nodeType":"YulLiteral","src":"389774:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"389780:2:19","nodeType":"YulIdentifier","src":"389780:2:19"}],"functionName":{"name":"mstore","nativeSrc":"389767:6:19","nodeType":"YulIdentifier","src":"389767:6:19"},"nativeSrc":"389767:16:19","nodeType":"YulFunctionCall","src":"389767:16:19"},"nativeSrc":"389767:16:19","nodeType":"YulExpressionStatement","src":"389767:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"389808:4:19","nodeType":"YulLiteral","src":"389808:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"389814:2:19","nodeType":"YulIdentifier","src":"389814:2:19"}],"functionName":{"name":"writeString","nativeSrc":"389796:11:19","nodeType":"YulIdentifier","src":"389796:11:19"},"nativeSrc":"389796:21:19","nodeType":"YulFunctionCall","src":"389796:21:19"},"nativeSrc":"389796:21:19","nodeType":"YulExpressionStatement","src":"389796:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38270,"isOffset":false,"isSlot":false,"src":"389368:2:19","valueSize":1},{"declaration":38273,"isOffset":false,"isSlot":false,"src":"389398:2:19","valueSize":1},{"declaration":38276,"isOffset":false,"isSlot":false,"src":"389428:2:19","valueSize":1},{"declaration":38279,"isOffset":false,"isSlot":false,"src":"389458:2:19","valueSize":1},{"declaration":38282,"isOffset":false,"isSlot":false,"src":"389488:2:19","valueSize":1},{"declaration":38285,"isOffset":false,"isSlot":false,"src":"389518:2:19","valueSize":1},{"declaration":38288,"isOffset":false,"isSlot":false,"src":"389548:2:19","valueSize":1},{"declaration":38260,"isOffset":false,"isSlot":false,"src":"389814:2:19","valueSize":1},{"declaration":38262,"isOffset":false,"isSlot":false,"src":"389722:2:19","valueSize":1},{"declaration":38264,"isOffset":false,"isSlot":false,"src":"389751:2:19","valueSize":1},{"declaration":38266,"isOffset":false,"isSlot":false,"src":"389780:2:19","valueSize":1}],"id":38290,"nodeType":"InlineAssembly","src":"388990:837:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":38292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"389852:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"389858:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":38291,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"389836:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"389836:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38295,"nodeType":"ExpressionStatement","src":"389836:27:19"},{"AST":{"nativeSrc":"389925:214:19","nodeType":"YulBlock","src":"389925:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"389946:4:19","nodeType":"YulLiteral","src":"389946:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"389952:2:19","nodeType":"YulIdentifier","src":"389952:2:19"}],"functionName":{"name":"mstore","nativeSrc":"389939:6:19","nodeType":"YulIdentifier","src":"389939:6:19"},"nativeSrc":"389939:16:19","nodeType":"YulFunctionCall","src":"389939:16:19"},"nativeSrc":"389939:16:19","nodeType":"YulExpressionStatement","src":"389939:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"389975:4:19","nodeType":"YulLiteral","src":"389975:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"389981:2:19","nodeType":"YulIdentifier","src":"389981:2:19"}],"functionName":{"name":"mstore","nativeSrc":"389968:6:19","nodeType":"YulIdentifier","src":"389968:6:19"},"nativeSrc":"389968:16:19","nodeType":"YulFunctionCall","src":"389968:16:19"},"nativeSrc":"389968:16:19","nodeType":"YulExpressionStatement","src":"389968:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"390004:4:19","nodeType":"YulLiteral","src":"390004:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"390010:2:19","nodeType":"YulIdentifier","src":"390010:2:19"}],"functionName":{"name":"mstore","nativeSrc":"389997:6:19","nodeType":"YulIdentifier","src":"389997:6:19"},"nativeSrc":"389997:16:19","nodeType":"YulFunctionCall","src":"389997:16:19"},"nativeSrc":"389997:16:19","nodeType":"YulExpressionStatement","src":"389997:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"390033:4:19","nodeType":"YulLiteral","src":"390033:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"390039:2:19","nodeType":"YulIdentifier","src":"390039:2:19"}],"functionName":{"name":"mstore","nativeSrc":"390026:6:19","nodeType":"YulIdentifier","src":"390026:6:19"},"nativeSrc":"390026:16:19","nodeType":"YulFunctionCall","src":"390026:16:19"},"nativeSrc":"390026:16:19","nodeType":"YulExpressionStatement","src":"390026:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"390062:4:19","nodeType":"YulLiteral","src":"390062:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"390068:2:19","nodeType":"YulIdentifier","src":"390068:2:19"}],"functionName":{"name":"mstore","nativeSrc":"390055:6:19","nodeType":"YulIdentifier","src":"390055:6:19"},"nativeSrc":"390055:16:19","nodeType":"YulFunctionCall","src":"390055:16:19"},"nativeSrc":"390055:16:19","nodeType":"YulExpressionStatement","src":"390055:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"390091:4:19","nodeType":"YulLiteral","src":"390091:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"390097:2:19","nodeType":"YulIdentifier","src":"390097:2:19"}],"functionName":{"name":"mstore","nativeSrc":"390084:6:19","nodeType":"YulIdentifier","src":"390084:6:19"},"nativeSrc":"390084:16:19","nodeType":"YulFunctionCall","src":"390084:16:19"},"nativeSrc":"390084:16:19","nodeType":"YulExpressionStatement","src":"390084:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"390120:4:19","nodeType":"YulLiteral","src":"390120:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"390126:2:19","nodeType":"YulIdentifier","src":"390126:2:19"}],"functionName":{"name":"mstore","nativeSrc":"390113:6:19","nodeType":"YulIdentifier","src":"390113:6:19"},"nativeSrc":"390113:16:19","nodeType":"YulFunctionCall","src":"390113:16:19"},"nativeSrc":"390113:16:19","nodeType":"YulExpressionStatement","src":"390113:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38270,"isOffset":false,"isSlot":false,"src":"389952:2:19","valueSize":1},{"declaration":38273,"isOffset":false,"isSlot":false,"src":"389981:2:19","valueSize":1},{"declaration":38276,"isOffset":false,"isSlot":false,"src":"390010:2:19","valueSize":1},{"declaration":38279,"isOffset":false,"isSlot":false,"src":"390039:2:19","valueSize":1},{"declaration":38282,"isOffset":false,"isSlot":false,"src":"390068:2:19","valueSize":1},{"declaration":38285,"isOffset":false,"isSlot":false,"src":"390097:2:19","valueSize":1},{"declaration":38288,"isOffset":false,"isSlot":false,"src":"390126:2:19","valueSize":1}],"id":38296,"nodeType":"InlineAssembly","src":"389916:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"388734:3:19","parameters":{"id":38267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38260,"mutability":"mutable","name":"p0","nameLocation":"388746:2:19","nodeType":"VariableDeclaration","scope":38298,"src":"388738:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38259,"name":"bytes32","nodeType":"ElementaryTypeName","src":"388738:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38262,"mutability":"mutable","name":"p1","nameLocation":"388758:2:19","nodeType":"VariableDeclaration","scope":38298,"src":"388750:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38261,"name":"uint256","nodeType":"ElementaryTypeName","src":"388750:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38264,"mutability":"mutable","name":"p2","nameLocation":"388770:2:19","nodeType":"VariableDeclaration","scope":38298,"src":"388762:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38263,"name":"uint256","nodeType":"ElementaryTypeName","src":"388762:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38266,"mutability":"mutable","name":"p3","nameLocation":"388779:2:19","nodeType":"VariableDeclaration","scope":38298,"src":"388774:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38265,"name":"bool","nodeType":"ElementaryTypeName","src":"388774:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"388737:45:19"},"returnParameters":{"id":38268,"nodeType":"ParameterList","parameters":[],"src":"388797:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38338,"nodeType":"FunctionDefinition","src":"390151:1426:19","nodes":[],"body":{"id":38337,"nodeType":"Block","src":"390226:1351:19","nodes":[],"statements":[{"assignments":[38310],"declarations":[{"constant":false,"id":38310,"mutability":"mutable","name":"m0","nameLocation":"390244:2:19","nodeType":"VariableDeclaration","scope":38337,"src":"390236:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38309,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390236:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38311,"nodeType":"VariableDeclarationStatement","src":"390236:10:19"},{"assignments":[38313],"declarations":[{"constant":false,"id":38313,"mutability":"mutable","name":"m1","nameLocation":"390264:2:19","nodeType":"VariableDeclaration","scope":38337,"src":"390256:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38312,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390256:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38314,"nodeType":"VariableDeclarationStatement","src":"390256:10:19"},{"assignments":[38316],"declarations":[{"constant":false,"id":38316,"mutability":"mutable","name":"m2","nameLocation":"390284:2:19","nodeType":"VariableDeclaration","scope":38337,"src":"390276:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38315,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390276:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38317,"nodeType":"VariableDeclarationStatement","src":"390276:10:19"},{"assignments":[38319],"declarations":[{"constant":false,"id":38319,"mutability":"mutable","name":"m3","nameLocation":"390304:2:19","nodeType":"VariableDeclaration","scope":38337,"src":"390296:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38318,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390296:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38320,"nodeType":"VariableDeclarationStatement","src":"390296:10:19"},{"assignments":[38322],"declarations":[{"constant":false,"id":38322,"mutability":"mutable","name":"m4","nameLocation":"390324:2:19","nodeType":"VariableDeclaration","scope":38337,"src":"390316:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38321,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390316:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38323,"nodeType":"VariableDeclarationStatement","src":"390316:10:19"},{"assignments":[38325],"declarations":[{"constant":false,"id":38325,"mutability":"mutable","name":"m5","nameLocation":"390344:2:19","nodeType":"VariableDeclaration","scope":38337,"src":"390336:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38324,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390336:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38326,"nodeType":"VariableDeclarationStatement","src":"390336:10:19"},{"assignments":[38328],"declarations":[{"constant":false,"id":38328,"mutability":"mutable","name":"m6","nameLocation":"390364:2:19","nodeType":"VariableDeclaration","scope":38337,"src":"390356:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38327,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390356:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38329,"nodeType":"VariableDeclarationStatement","src":"390356:10:19"},{"AST":{"nativeSrc":"390428:831:19","nodeType":"YulBlock","src":"390428:831:19","statements":[{"body":{"nativeSrc":"390471:313:19","nodeType":"YulBlock","src":"390471:313:19","statements":[{"nativeSrc":"390489:15:19","nodeType":"YulVariableDeclaration","src":"390489:15:19","value":{"kind":"number","nativeSrc":"390503:1:19","nodeType":"YulLiteral","src":"390503:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"390493:6:19","nodeType":"YulTypedName","src":"390493:6:19","type":""}]},{"body":{"nativeSrc":"390574:40:19","nodeType":"YulBlock","src":"390574:40:19","statements":[{"body":{"nativeSrc":"390603:9:19","nodeType":"YulBlock","src":"390603:9:19","statements":[{"nativeSrc":"390605:5:19","nodeType":"YulBreak","src":"390605:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"390591:6:19","nodeType":"YulIdentifier","src":"390591:6:19"},{"name":"w","nativeSrc":"390599:1:19","nodeType":"YulIdentifier","src":"390599:1:19"}],"functionName":{"name":"byte","nativeSrc":"390586:4:19","nodeType":"YulIdentifier","src":"390586:4:19"},"nativeSrc":"390586:15:19","nodeType":"YulFunctionCall","src":"390586:15:19"}],"functionName":{"name":"iszero","nativeSrc":"390579:6:19","nodeType":"YulIdentifier","src":"390579:6:19"},"nativeSrc":"390579:23:19","nodeType":"YulFunctionCall","src":"390579:23:19"},"nativeSrc":"390576:36:19","nodeType":"YulIf","src":"390576:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"390531:6:19","nodeType":"YulIdentifier","src":"390531:6:19"},{"kind":"number","nativeSrc":"390539:4:19","nodeType":"YulLiteral","src":"390539:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"390528:2:19","nodeType":"YulIdentifier","src":"390528:2:19"},"nativeSrc":"390528:16:19","nodeType":"YulFunctionCall","src":"390528:16:19"},"nativeSrc":"390521:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"390545:28:19","nodeType":"YulBlock","src":"390545:28:19","statements":[{"nativeSrc":"390547:24:19","nodeType":"YulAssignment","src":"390547:24:19","value":{"arguments":[{"name":"length","nativeSrc":"390561:6:19","nodeType":"YulIdentifier","src":"390561:6:19"},{"kind":"number","nativeSrc":"390569:1:19","nodeType":"YulLiteral","src":"390569:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"390557:3:19","nodeType":"YulIdentifier","src":"390557:3:19"},"nativeSrc":"390557:14:19","nodeType":"YulFunctionCall","src":"390557:14:19"},"variableNames":[{"name":"length","nativeSrc":"390547:6:19","nodeType":"YulIdentifier","src":"390547:6:19"}]}]},"pre":{"nativeSrc":"390525:2:19","nodeType":"YulBlock","src":"390525:2:19","statements":[]},"src":"390521:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"390638:3:19","nodeType":"YulIdentifier","src":"390638:3:19"},{"name":"length","nativeSrc":"390643:6:19","nodeType":"YulIdentifier","src":"390643:6:19"}],"functionName":{"name":"mstore","nativeSrc":"390631:6:19","nodeType":"YulIdentifier","src":"390631:6:19"},"nativeSrc":"390631:19:19","nodeType":"YulFunctionCall","src":"390631:19:19"},"nativeSrc":"390631:19:19","nodeType":"YulExpressionStatement","src":"390631:19:19"},{"nativeSrc":"390667:37:19","nodeType":"YulVariableDeclaration","src":"390667:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"390684:3:19","nodeType":"YulLiteral","src":"390684:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"390693:1:19","nodeType":"YulLiteral","src":"390693:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"390696:6:19","nodeType":"YulIdentifier","src":"390696:6:19"}],"functionName":{"name":"shl","nativeSrc":"390689:3:19","nodeType":"YulIdentifier","src":"390689:3:19"},"nativeSrc":"390689:14:19","nodeType":"YulFunctionCall","src":"390689:14:19"}],"functionName":{"name":"sub","nativeSrc":"390680:3:19","nodeType":"YulIdentifier","src":"390680:3:19"},"nativeSrc":"390680:24:19","nodeType":"YulFunctionCall","src":"390680:24:19"},"variables":[{"name":"shift","nativeSrc":"390671:5:19","nodeType":"YulTypedName","src":"390671:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"390732:3:19","nodeType":"YulIdentifier","src":"390732:3:19"},{"kind":"number","nativeSrc":"390737:4:19","nodeType":"YulLiteral","src":"390737:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"390728:3:19","nodeType":"YulIdentifier","src":"390728:3:19"},"nativeSrc":"390728:14:19","nodeType":"YulFunctionCall","src":"390728:14:19"},{"arguments":[{"name":"shift","nativeSrc":"390748:5:19","nodeType":"YulIdentifier","src":"390748:5:19"},{"arguments":[{"name":"shift","nativeSrc":"390759:5:19","nodeType":"YulIdentifier","src":"390759:5:19"},{"name":"w","nativeSrc":"390766:1:19","nodeType":"YulIdentifier","src":"390766:1:19"}],"functionName":{"name":"shr","nativeSrc":"390755:3:19","nodeType":"YulIdentifier","src":"390755:3:19"},"nativeSrc":"390755:13:19","nodeType":"YulFunctionCall","src":"390755:13:19"}],"functionName":{"name":"shl","nativeSrc":"390744:3:19","nodeType":"YulIdentifier","src":"390744:3:19"},"nativeSrc":"390744:25:19","nodeType":"YulFunctionCall","src":"390744:25:19"}],"functionName":{"name":"mstore","nativeSrc":"390721:6:19","nodeType":"YulIdentifier","src":"390721:6:19"},"nativeSrc":"390721:49:19","nodeType":"YulFunctionCall","src":"390721:49:19"},"nativeSrc":"390721:49:19","nodeType":"YulExpressionStatement","src":"390721:49:19"}]},"name":"writeString","nativeSrc":"390442:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"390463:3:19","nodeType":"YulTypedName","src":"390463:3:19","type":""},{"name":"w","nativeSrc":"390468:1:19","nodeType":"YulTypedName","src":"390468:1:19","type":""}],"src":"390442:342:19"},{"nativeSrc":"390797:17:19","nodeType":"YulAssignment","src":"390797:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"390809:4:19","nodeType":"YulLiteral","src":"390809:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"390803:5:19","nodeType":"YulIdentifier","src":"390803:5:19"},"nativeSrc":"390803:11:19","nodeType":"YulFunctionCall","src":"390803:11:19"},"variableNames":[{"name":"m0","nativeSrc":"390797:2:19","nodeType":"YulIdentifier","src":"390797:2:19"}]},{"nativeSrc":"390827:17:19","nodeType":"YulAssignment","src":"390827:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"390839:4:19","nodeType":"YulLiteral","src":"390839:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"390833:5:19","nodeType":"YulIdentifier","src":"390833:5:19"},"nativeSrc":"390833:11:19","nodeType":"YulFunctionCall","src":"390833:11:19"},"variableNames":[{"name":"m1","nativeSrc":"390827:2:19","nodeType":"YulIdentifier","src":"390827:2:19"}]},{"nativeSrc":"390857:17:19","nodeType":"YulAssignment","src":"390857:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"390869:4:19","nodeType":"YulLiteral","src":"390869:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"390863:5:19","nodeType":"YulIdentifier","src":"390863:5:19"},"nativeSrc":"390863:11:19","nodeType":"YulFunctionCall","src":"390863:11:19"},"variableNames":[{"name":"m2","nativeSrc":"390857:2:19","nodeType":"YulIdentifier","src":"390857:2:19"}]},{"nativeSrc":"390887:17:19","nodeType":"YulAssignment","src":"390887:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"390899:4:19","nodeType":"YulLiteral","src":"390899:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"390893:5:19","nodeType":"YulIdentifier","src":"390893:5:19"},"nativeSrc":"390893:11:19","nodeType":"YulFunctionCall","src":"390893:11:19"},"variableNames":[{"name":"m3","nativeSrc":"390887:2:19","nodeType":"YulIdentifier","src":"390887:2:19"}]},{"nativeSrc":"390917:17:19","nodeType":"YulAssignment","src":"390917:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"390929:4:19","nodeType":"YulLiteral","src":"390929:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"390923:5:19","nodeType":"YulIdentifier","src":"390923:5:19"},"nativeSrc":"390923:11:19","nodeType":"YulFunctionCall","src":"390923:11:19"},"variableNames":[{"name":"m4","nativeSrc":"390917:2:19","nodeType":"YulIdentifier","src":"390917:2:19"}]},{"nativeSrc":"390947:17:19","nodeType":"YulAssignment","src":"390947:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"390959:4:19","nodeType":"YulLiteral","src":"390959:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"390953:5:19","nodeType":"YulIdentifier","src":"390953:5:19"},"nativeSrc":"390953:11:19","nodeType":"YulFunctionCall","src":"390953:11:19"},"variableNames":[{"name":"m5","nativeSrc":"390947:2:19","nodeType":"YulIdentifier","src":"390947:2:19"}]},{"nativeSrc":"390977:17:19","nodeType":"YulAssignment","src":"390977:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"390989:4:19","nodeType":"YulLiteral","src":"390989:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"390983:5:19","nodeType":"YulIdentifier","src":"390983:5:19"},"nativeSrc":"390983:11:19","nodeType":"YulFunctionCall","src":"390983:11:19"},"variableNames":[{"name":"m6","nativeSrc":"390977:2:19","nodeType":"YulIdentifier","src":"390977:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391080:4:19","nodeType":"YulLiteral","src":"391080:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"391086:10:19","nodeType":"YulLiteral","src":"391086:10:19","type":"","value":"0xa7a87853"}],"functionName":{"name":"mstore","nativeSrc":"391073:6:19","nodeType":"YulIdentifier","src":"391073:6:19"},"nativeSrc":"391073:24:19","nodeType":"YulFunctionCall","src":"391073:24:19"},"nativeSrc":"391073:24:19","nodeType":"YulExpressionStatement","src":"391073:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391117:4:19","nodeType":"YulLiteral","src":"391117:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"391123:4:19","nodeType":"YulLiteral","src":"391123:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"391110:6:19","nodeType":"YulIdentifier","src":"391110:6:19"},"nativeSrc":"391110:18:19","nodeType":"YulFunctionCall","src":"391110:18:19"},"nativeSrc":"391110:18:19","nodeType":"YulExpressionStatement","src":"391110:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391148:4:19","nodeType":"YulLiteral","src":"391148:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"391154:2:19","nodeType":"YulIdentifier","src":"391154:2:19"}],"functionName":{"name":"mstore","nativeSrc":"391141:6:19","nodeType":"YulIdentifier","src":"391141:6:19"},"nativeSrc":"391141:16:19","nodeType":"YulFunctionCall","src":"391141:16:19"},"nativeSrc":"391141:16:19","nodeType":"YulExpressionStatement","src":"391141:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391177:4:19","nodeType":"YulLiteral","src":"391177:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"391183:2:19","nodeType":"YulIdentifier","src":"391183:2:19"}],"functionName":{"name":"mstore","nativeSrc":"391170:6:19","nodeType":"YulIdentifier","src":"391170:6:19"},"nativeSrc":"391170:16:19","nodeType":"YulFunctionCall","src":"391170:16:19"},"nativeSrc":"391170:16:19","nodeType":"YulExpressionStatement","src":"391170:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391206:4:19","nodeType":"YulLiteral","src":"391206:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"391212:2:19","nodeType":"YulIdentifier","src":"391212:2:19"}],"functionName":{"name":"mstore","nativeSrc":"391199:6:19","nodeType":"YulIdentifier","src":"391199:6:19"},"nativeSrc":"391199:16:19","nodeType":"YulFunctionCall","src":"391199:16:19"},"nativeSrc":"391199:16:19","nodeType":"YulExpressionStatement","src":"391199:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391240:4:19","nodeType":"YulLiteral","src":"391240:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"391246:2:19","nodeType":"YulIdentifier","src":"391246:2:19"}],"functionName":{"name":"writeString","nativeSrc":"391228:11:19","nodeType":"YulIdentifier","src":"391228:11:19"},"nativeSrc":"391228:21:19","nodeType":"YulFunctionCall","src":"391228:21:19"},"nativeSrc":"391228:21:19","nodeType":"YulExpressionStatement","src":"391228:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38310,"isOffset":false,"isSlot":false,"src":"390797:2:19","valueSize":1},{"declaration":38313,"isOffset":false,"isSlot":false,"src":"390827:2:19","valueSize":1},{"declaration":38316,"isOffset":false,"isSlot":false,"src":"390857:2:19","valueSize":1},{"declaration":38319,"isOffset":false,"isSlot":false,"src":"390887:2:19","valueSize":1},{"declaration":38322,"isOffset":false,"isSlot":false,"src":"390917:2:19","valueSize":1},{"declaration":38325,"isOffset":false,"isSlot":false,"src":"390947:2:19","valueSize":1},{"declaration":38328,"isOffset":false,"isSlot":false,"src":"390977:2:19","valueSize":1},{"declaration":38300,"isOffset":false,"isSlot":false,"src":"391246:2:19","valueSize":1},{"declaration":38302,"isOffset":false,"isSlot":false,"src":"391154:2:19","valueSize":1},{"declaration":38304,"isOffset":false,"isSlot":false,"src":"391183:2:19","valueSize":1},{"declaration":38306,"isOffset":false,"isSlot":false,"src":"391212:2:19","valueSize":1}],"id":38330,"nodeType":"InlineAssembly","src":"390419:840:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":38332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"391284:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"30786334","id":38333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"391290:4:19","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"0xc4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"}],"id":38331,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"391268:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"391268:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38335,"nodeType":"ExpressionStatement","src":"391268:27:19"},{"AST":{"nativeSrc":"391357:214:19","nodeType":"YulBlock","src":"391357:214:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"391378:4:19","nodeType":"YulLiteral","src":"391378:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"391384:2:19","nodeType":"YulIdentifier","src":"391384:2:19"}],"functionName":{"name":"mstore","nativeSrc":"391371:6:19","nodeType":"YulIdentifier","src":"391371:6:19"},"nativeSrc":"391371:16:19","nodeType":"YulFunctionCall","src":"391371:16:19"},"nativeSrc":"391371:16:19","nodeType":"YulExpressionStatement","src":"391371:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391407:4:19","nodeType":"YulLiteral","src":"391407:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"391413:2:19","nodeType":"YulIdentifier","src":"391413:2:19"}],"functionName":{"name":"mstore","nativeSrc":"391400:6:19","nodeType":"YulIdentifier","src":"391400:6:19"},"nativeSrc":"391400:16:19","nodeType":"YulFunctionCall","src":"391400:16:19"},"nativeSrc":"391400:16:19","nodeType":"YulExpressionStatement","src":"391400:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391436:4:19","nodeType":"YulLiteral","src":"391436:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"391442:2:19","nodeType":"YulIdentifier","src":"391442:2:19"}],"functionName":{"name":"mstore","nativeSrc":"391429:6:19","nodeType":"YulIdentifier","src":"391429:6:19"},"nativeSrc":"391429:16:19","nodeType":"YulFunctionCall","src":"391429:16:19"},"nativeSrc":"391429:16:19","nodeType":"YulExpressionStatement","src":"391429:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391465:4:19","nodeType":"YulLiteral","src":"391465:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"391471:2:19","nodeType":"YulIdentifier","src":"391471:2:19"}],"functionName":{"name":"mstore","nativeSrc":"391458:6:19","nodeType":"YulIdentifier","src":"391458:6:19"},"nativeSrc":"391458:16:19","nodeType":"YulFunctionCall","src":"391458:16:19"},"nativeSrc":"391458:16:19","nodeType":"YulExpressionStatement","src":"391458:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391494:4:19","nodeType":"YulLiteral","src":"391494:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"391500:2:19","nodeType":"YulIdentifier","src":"391500:2:19"}],"functionName":{"name":"mstore","nativeSrc":"391487:6:19","nodeType":"YulIdentifier","src":"391487:6:19"},"nativeSrc":"391487:16:19","nodeType":"YulFunctionCall","src":"391487:16:19"},"nativeSrc":"391487:16:19","nodeType":"YulExpressionStatement","src":"391487:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391523:4:19","nodeType":"YulLiteral","src":"391523:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"391529:2:19","nodeType":"YulIdentifier","src":"391529:2:19"}],"functionName":{"name":"mstore","nativeSrc":"391516:6:19","nodeType":"YulIdentifier","src":"391516:6:19"},"nativeSrc":"391516:16:19","nodeType":"YulFunctionCall","src":"391516:16:19"},"nativeSrc":"391516:16:19","nodeType":"YulExpressionStatement","src":"391516:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"391552:4:19","nodeType":"YulLiteral","src":"391552:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"391558:2:19","nodeType":"YulIdentifier","src":"391558:2:19"}],"functionName":{"name":"mstore","nativeSrc":"391545:6:19","nodeType":"YulIdentifier","src":"391545:6:19"},"nativeSrc":"391545:16:19","nodeType":"YulFunctionCall","src":"391545:16:19"},"nativeSrc":"391545:16:19","nodeType":"YulExpressionStatement","src":"391545:16:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38310,"isOffset":false,"isSlot":false,"src":"391384:2:19","valueSize":1},{"declaration":38313,"isOffset":false,"isSlot":false,"src":"391413:2:19","valueSize":1},{"declaration":38316,"isOffset":false,"isSlot":false,"src":"391442:2:19","valueSize":1},{"declaration":38319,"isOffset":false,"isSlot":false,"src":"391471:2:19","valueSize":1},{"declaration":38322,"isOffset":false,"isSlot":false,"src":"391500:2:19","valueSize":1},{"declaration":38325,"isOffset":false,"isSlot":false,"src":"391529:2:19","valueSize":1},{"declaration":38328,"isOffset":false,"isSlot":false,"src":"391558:2:19","valueSize":1}],"id":38336,"nodeType":"InlineAssembly","src":"391348:223:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"390160:3:19","parameters":{"id":38307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38300,"mutability":"mutable","name":"p0","nameLocation":"390172:2:19","nodeType":"VariableDeclaration","scope":38338,"src":"390164:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38299,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390164:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38302,"mutability":"mutable","name":"p1","nameLocation":"390184:2:19","nodeType":"VariableDeclaration","scope":38338,"src":"390176:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38301,"name":"uint256","nodeType":"ElementaryTypeName","src":"390176:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38304,"mutability":"mutable","name":"p2","nameLocation":"390196:2:19","nodeType":"VariableDeclaration","scope":38338,"src":"390188:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38303,"name":"uint256","nodeType":"ElementaryTypeName","src":"390188:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38306,"mutability":"mutable","name":"p3","nameLocation":"390208:2:19","nodeType":"VariableDeclaration","scope":38338,"src":"390200:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38305,"name":"uint256","nodeType":"ElementaryTypeName","src":"390200:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"390163:48:19"},"returnParameters":{"id":38308,"nodeType":"ParameterList","parameters":[],"src":"390226:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38384,"nodeType":"FunctionDefinition","src":"391583:1622:19","nodes":[],"body":{"id":38383,"nodeType":"Block","src":"391658:1547:19","nodes":[],"statements":[{"assignments":[38350],"declarations":[{"constant":false,"id":38350,"mutability":"mutable","name":"m0","nameLocation":"391676:2:19","nodeType":"VariableDeclaration","scope":38383,"src":"391668:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38349,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391668:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38351,"nodeType":"VariableDeclarationStatement","src":"391668:10:19"},{"assignments":[38353],"declarations":[{"constant":false,"id":38353,"mutability":"mutable","name":"m1","nameLocation":"391696:2:19","nodeType":"VariableDeclaration","scope":38383,"src":"391688:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38352,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391688:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38354,"nodeType":"VariableDeclarationStatement","src":"391688:10:19"},{"assignments":[38356],"declarations":[{"constant":false,"id":38356,"mutability":"mutable","name":"m2","nameLocation":"391716:2:19","nodeType":"VariableDeclaration","scope":38383,"src":"391708:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38355,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391708:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38357,"nodeType":"VariableDeclarationStatement","src":"391708:10:19"},{"assignments":[38359],"declarations":[{"constant":false,"id":38359,"mutability":"mutable","name":"m3","nameLocation":"391736:2:19","nodeType":"VariableDeclaration","scope":38383,"src":"391728:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38358,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391728:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38360,"nodeType":"VariableDeclarationStatement","src":"391728:10:19"},{"assignments":[38362],"declarations":[{"constant":false,"id":38362,"mutability":"mutable","name":"m4","nameLocation":"391756:2:19","nodeType":"VariableDeclaration","scope":38383,"src":"391748:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38361,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391748:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38363,"nodeType":"VariableDeclarationStatement","src":"391748:10:19"},{"assignments":[38365],"declarations":[{"constant":false,"id":38365,"mutability":"mutable","name":"m5","nameLocation":"391776:2:19","nodeType":"VariableDeclaration","scope":38383,"src":"391768:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38364,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391768:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38366,"nodeType":"VariableDeclarationStatement","src":"391768:10:19"},{"assignments":[38368],"declarations":[{"constant":false,"id":38368,"mutability":"mutable","name":"m6","nameLocation":"391796:2:19","nodeType":"VariableDeclaration","scope":38383,"src":"391788:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38367,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391788:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38369,"nodeType":"VariableDeclarationStatement","src":"391788:10:19"},{"assignments":[38371],"declarations":[{"constant":false,"id":38371,"mutability":"mutable","name":"m7","nameLocation":"391816:2:19","nodeType":"VariableDeclaration","scope":38383,"src":"391808:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38370,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391808:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38372,"nodeType":"VariableDeclarationStatement","src":"391808:10:19"},{"assignments":[38374],"declarations":[{"constant":false,"id":38374,"mutability":"mutable","name":"m8","nameLocation":"391836:2:19","nodeType":"VariableDeclaration","scope":38383,"src":"391828:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38373,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391828:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38375,"nodeType":"VariableDeclarationStatement","src":"391828:10:19"},{"AST":{"nativeSrc":"391900:927:19","nodeType":"YulBlock","src":"391900:927:19","statements":[{"body":{"nativeSrc":"391943:313:19","nodeType":"YulBlock","src":"391943:313:19","statements":[{"nativeSrc":"391961:15:19","nodeType":"YulVariableDeclaration","src":"391961:15:19","value":{"kind":"number","nativeSrc":"391975:1:19","nodeType":"YulLiteral","src":"391975:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"391965:6:19","nodeType":"YulTypedName","src":"391965:6:19","type":""}]},{"body":{"nativeSrc":"392046:40:19","nodeType":"YulBlock","src":"392046:40:19","statements":[{"body":{"nativeSrc":"392075:9:19","nodeType":"YulBlock","src":"392075:9:19","statements":[{"nativeSrc":"392077:5:19","nodeType":"YulBreak","src":"392077:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"392063:6:19","nodeType":"YulIdentifier","src":"392063:6:19"},{"name":"w","nativeSrc":"392071:1:19","nodeType":"YulIdentifier","src":"392071:1:19"}],"functionName":{"name":"byte","nativeSrc":"392058:4:19","nodeType":"YulIdentifier","src":"392058:4:19"},"nativeSrc":"392058:15:19","nodeType":"YulFunctionCall","src":"392058:15:19"}],"functionName":{"name":"iszero","nativeSrc":"392051:6:19","nodeType":"YulIdentifier","src":"392051:6:19"},"nativeSrc":"392051:23:19","nodeType":"YulFunctionCall","src":"392051:23:19"},"nativeSrc":"392048:36:19","nodeType":"YulIf","src":"392048:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"392003:6:19","nodeType":"YulIdentifier","src":"392003:6:19"},{"kind":"number","nativeSrc":"392011:4:19","nodeType":"YulLiteral","src":"392011:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"392000:2:19","nodeType":"YulIdentifier","src":"392000:2:19"},"nativeSrc":"392000:16:19","nodeType":"YulFunctionCall","src":"392000:16:19"},"nativeSrc":"391993:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"392017:28:19","nodeType":"YulBlock","src":"392017:28:19","statements":[{"nativeSrc":"392019:24:19","nodeType":"YulAssignment","src":"392019:24:19","value":{"arguments":[{"name":"length","nativeSrc":"392033:6:19","nodeType":"YulIdentifier","src":"392033:6:19"},{"kind":"number","nativeSrc":"392041:1:19","nodeType":"YulLiteral","src":"392041:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"392029:3:19","nodeType":"YulIdentifier","src":"392029:3:19"},"nativeSrc":"392029:14:19","nodeType":"YulFunctionCall","src":"392029:14:19"},"variableNames":[{"name":"length","nativeSrc":"392019:6:19","nodeType":"YulIdentifier","src":"392019:6:19"}]}]},"pre":{"nativeSrc":"391997:2:19","nodeType":"YulBlock","src":"391997:2:19","statements":[]},"src":"391993:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"392110:3:19","nodeType":"YulIdentifier","src":"392110:3:19"},{"name":"length","nativeSrc":"392115:6:19","nodeType":"YulIdentifier","src":"392115:6:19"}],"functionName":{"name":"mstore","nativeSrc":"392103:6:19","nodeType":"YulIdentifier","src":"392103:6:19"},"nativeSrc":"392103:19:19","nodeType":"YulFunctionCall","src":"392103:19:19"},"nativeSrc":"392103:19:19","nodeType":"YulExpressionStatement","src":"392103:19:19"},{"nativeSrc":"392139:37:19","nodeType":"YulVariableDeclaration","src":"392139:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"392156:3:19","nodeType":"YulLiteral","src":"392156:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"392165:1:19","nodeType":"YulLiteral","src":"392165:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"392168:6:19","nodeType":"YulIdentifier","src":"392168:6:19"}],"functionName":{"name":"shl","nativeSrc":"392161:3:19","nodeType":"YulIdentifier","src":"392161:3:19"},"nativeSrc":"392161:14:19","nodeType":"YulFunctionCall","src":"392161:14:19"}],"functionName":{"name":"sub","nativeSrc":"392152:3:19","nodeType":"YulIdentifier","src":"392152:3:19"},"nativeSrc":"392152:24:19","nodeType":"YulFunctionCall","src":"392152:24:19"},"variables":[{"name":"shift","nativeSrc":"392143:5:19","nodeType":"YulTypedName","src":"392143:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"392204:3:19","nodeType":"YulIdentifier","src":"392204:3:19"},{"kind":"number","nativeSrc":"392209:4:19","nodeType":"YulLiteral","src":"392209:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"392200:3:19","nodeType":"YulIdentifier","src":"392200:3:19"},"nativeSrc":"392200:14:19","nodeType":"YulFunctionCall","src":"392200:14:19"},{"arguments":[{"name":"shift","nativeSrc":"392220:5:19","nodeType":"YulIdentifier","src":"392220:5:19"},{"arguments":[{"name":"shift","nativeSrc":"392231:5:19","nodeType":"YulIdentifier","src":"392231:5:19"},{"name":"w","nativeSrc":"392238:1:19","nodeType":"YulIdentifier","src":"392238:1:19"}],"functionName":{"name":"shr","nativeSrc":"392227:3:19","nodeType":"YulIdentifier","src":"392227:3:19"},"nativeSrc":"392227:13:19","nodeType":"YulFunctionCall","src":"392227:13:19"}],"functionName":{"name":"shl","nativeSrc":"392216:3:19","nodeType":"YulIdentifier","src":"392216:3:19"},"nativeSrc":"392216:25:19","nodeType":"YulFunctionCall","src":"392216:25:19"}],"functionName":{"name":"mstore","nativeSrc":"392193:6:19","nodeType":"YulIdentifier","src":"392193:6:19"},"nativeSrc":"392193:49:19","nodeType":"YulFunctionCall","src":"392193:49:19"},"nativeSrc":"392193:49:19","nodeType":"YulExpressionStatement","src":"392193:49:19"}]},"name":"writeString","nativeSrc":"391914:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"391935:3:19","nodeType":"YulTypedName","src":"391935:3:19","type":""},{"name":"w","nativeSrc":"391940:1:19","nodeType":"YulTypedName","src":"391940:1:19","type":""}],"src":"391914:342:19"},{"nativeSrc":"392269:17:19","nodeType":"YulAssignment","src":"392269:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"392281:4:19","nodeType":"YulLiteral","src":"392281:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"392275:5:19","nodeType":"YulIdentifier","src":"392275:5:19"},"nativeSrc":"392275:11:19","nodeType":"YulFunctionCall","src":"392275:11:19"},"variableNames":[{"name":"m0","nativeSrc":"392269:2:19","nodeType":"YulIdentifier","src":"392269:2:19"}]},{"nativeSrc":"392299:17:19","nodeType":"YulAssignment","src":"392299:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"392311:4:19","nodeType":"YulLiteral","src":"392311:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"392305:5:19","nodeType":"YulIdentifier","src":"392305:5:19"},"nativeSrc":"392305:11:19","nodeType":"YulFunctionCall","src":"392305:11:19"},"variableNames":[{"name":"m1","nativeSrc":"392299:2:19","nodeType":"YulIdentifier","src":"392299:2:19"}]},{"nativeSrc":"392329:17:19","nodeType":"YulAssignment","src":"392329:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"392341:4:19","nodeType":"YulLiteral","src":"392341:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"392335:5:19","nodeType":"YulIdentifier","src":"392335:5:19"},"nativeSrc":"392335:11:19","nodeType":"YulFunctionCall","src":"392335:11:19"},"variableNames":[{"name":"m2","nativeSrc":"392329:2:19","nodeType":"YulIdentifier","src":"392329:2:19"}]},{"nativeSrc":"392359:17:19","nodeType":"YulAssignment","src":"392359:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"392371:4:19","nodeType":"YulLiteral","src":"392371:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"392365:5:19","nodeType":"YulIdentifier","src":"392365:5:19"},"nativeSrc":"392365:11:19","nodeType":"YulFunctionCall","src":"392365:11:19"},"variableNames":[{"name":"m3","nativeSrc":"392359:2:19","nodeType":"YulIdentifier","src":"392359:2:19"}]},{"nativeSrc":"392389:17:19","nodeType":"YulAssignment","src":"392389:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"392401:4:19","nodeType":"YulLiteral","src":"392401:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"392395:5:19","nodeType":"YulIdentifier","src":"392395:5:19"},"nativeSrc":"392395:11:19","nodeType":"YulFunctionCall","src":"392395:11:19"},"variableNames":[{"name":"m4","nativeSrc":"392389:2:19","nodeType":"YulIdentifier","src":"392389:2:19"}]},{"nativeSrc":"392419:17:19","nodeType":"YulAssignment","src":"392419:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"392431:4:19","nodeType":"YulLiteral","src":"392431:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"392425:5:19","nodeType":"YulIdentifier","src":"392425:5:19"},"nativeSrc":"392425:11:19","nodeType":"YulFunctionCall","src":"392425:11:19"},"variableNames":[{"name":"m5","nativeSrc":"392419:2:19","nodeType":"YulIdentifier","src":"392419:2:19"}]},{"nativeSrc":"392449:17:19","nodeType":"YulAssignment","src":"392449:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"392461:4:19","nodeType":"YulLiteral","src":"392461:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"392455:5:19","nodeType":"YulIdentifier","src":"392455:5:19"},"nativeSrc":"392455:11:19","nodeType":"YulFunctionCall","src":"392455:11:19"},"variableNames":[{"name":"m6","nativeSrc":"392449:2:19","nodeType":"YulIdentifier","src":"392449:2:19"}]},{"nativeSrc":"392479:17:19","nodeType":"YulAssignment","src":"392479:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"392491:4:19","nodeType":"YulLiteral","src":"392491:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"392485:5:19","nodeType":"YulIdentifier","src":"392485:5:19"},"nativeSrc":"392485:11:19","nodeType":"YulFunctionCall","src":"392485:11:19"},"variableNames":[{"name":"m7","nativeSrc":"392479:2:19","nodeType":"YulIdentifier","src":"392479:2:19"}]},{"nativeSrc":"392509:18:19","nodeType":"YulAssignment","src":"392509:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"392521:5:19","nodeType":"YulLiteral","src":"392521:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"392515:5:19","nodeType":"YulIdentifier","src":"392515:5:19"},"nativeSrc":"392515:12:19","nodeType":"YulFunctionCall","src":"392515:12:19"},"variableNames":[{"name":"m8","nativeSrc":"392509:2:19","nodeType":"YulIdentifier","src":"392509:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"392612:4:19","nodeType":"YulLiteral","src":"392612:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"392618:10:19","nodeType":"YulLiteral","src":"392618:10:19","type":"","value":"0x854b3496"}],"functionName":{"name":"mstore","nativeSrc":"392605:6:19","nodeType":"YulIdentifier","src":"392605:6:19"},"nativeSrc":"392605:24:19","nodeType":"YulFunctionCall","src":"392605:24:19"},"nativeSrc":"392605:24:19","nodeType":"YulExpressionStatement","src":"392605:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"392649:4:19","nodeType":"YulLiteral","src":"392649:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"392655:4:19","nodeType":"YulLiteral","src":"392655:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"392642:6:19","nodeType":"YulIdentifier","src":"392642:6:19"},"nativeSrc":"392642:18:19","nodeType":"YulFunctionCall","src":"392642:18:19"},"nativeSrc":"392642:18:19","nodeType":"YulExpressionStatement","src":"392642:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"392680:4:19","nodeType":"YulLiteral","src":"392680:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"392686:2:19","nodeType":"YulIdentifier","src":"392686:2:19"}],"functionName":{"name":"mstore","nativeSrc":"392673:6:19","nodeType":"YulIdentifier","src":"392673:6:19"},"nativeSrc":"392673:16:19","nodeType":"YulFunctionCall","src":"392673:16:19"},"nativeSrc":"392673:16:19","nodeType":"YulExpressionStatement","src":"392673:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"392709:4:19","nodeType":"YulLiteral","src":"392709:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"392715:2:19","nodeType":"YulIdentifier","src":"392715:2:19"}],"functionName":{"name":"mstore","nativeSrc":"392702:6:19","nodeType":"YulIdentifier","src":"392702:6:19"},"nativeSrc":"392702:16:19","nodeType":"YulFunctionCall","src":"392702:16:19"},"nativeSrc":"392702:16:19","nodeType":"YulExpressionStatement","src":"392702:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"392738:4:19","nodeType":"YulLiteral","src":"392738:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"392744:4:19","nodeType":"YulLiteral","src":"392744:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"392731:6:19","nodeType":"YulIdentifier","src":"392731:6:19"},"nativeSrc":"392731:18:19","nodeType":"YulFunctionCall","src":"392731:18:19"},"nativeSrc":"392731:18:19","nodeType":"YulExpressionStatement","src":"392731:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"392774:4:19","nodeType":"YulLiteral","src":"392774:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"392780:2:19","nodeType":"YulIdentifier","src":"392780:2:19"}],"functionName":{"name":"writeString","nativeSrc":"392762:11:19","nodeType":"YulIdentifier","src":"392762:11:19"},"nativeSrc":"392762:21:19","nodeType":"YulFunctionCall","src":"392762:21:19"},"nativeSrc":"392762:21:19","nodeType":"YulExpressionStatement","src":"392762:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"392808:4:19","nodeType":"YulLiteral","src":"392808:4:19","type":"","value":"0xe0"},{"name":"p3","nativeSrc":"392814:2:19","nodeType":"YulIdentifier","src":"392814:2:19"}],"functionName":{"name":"writeString","nativeSrc":"392796:11:19","nodeType":"YulIdentifier","src":"392796:11:19"},"nativeSrc":"392796:21:19","nodeType":"YulFunctionCall","src":"392796:21:19"},"nativeSrc":"392796:21:19","nodeType":"YulExpressionStatement","src":"392796:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38350,"isOffset":false,"isSlot":false,"src":"392269:2:19","valueSize":1},{"declaration":38353,"isOffset":false,"isSlot":false,"src":"392299:2:19","valueSize":1},{"declaration":38356,"isOffset":false,"isSlot":false,"src":"392329:2:19","valueSize":1},{"declaration":38359,"isOffset":false,"isSlot":false,"src":"392359:2:19","valueSize":1},{"declaration":38362,"isOffset":false,"isSlot":false,"src":"392389:2:19","valueSize":1},{"declaration":38365,"isOffset":false,"isSlot":false,"src":"392419:2:19","valueSize":1},{"declaration":38368,"isOffset":false,"isSlot":false,"src":"392449:2:19","valueSize":1},{"declaration":38371,"isOffset":false,"isSlot":false,"src":"392479:2:19","valueSize":1},{"declaration":38374,"isOffset":false,"isSlot":false,"src":"392509:2:19","valueSize":1},{"declaration":38340,"isOffset":false,"isSlot":false,"src":"392780:2:19","valueSize":1},{"declaration":38342,"isOffset":false,"isSlot":false,"src":"392686:2:19","valueSize":1},{"declaration":38344,"isOffset":false,"isSlot":false,"src":"392715:2:19","valueSize":1},{"declaration":38346,"isOffset":false,"isSlot":false,"src":"392814:2:19","valueSize":1}],"id":38376,"nodeType":"InlineAssembly","src":"391891:936:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":38378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"392852:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"392858:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":38377,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"392836:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"392836:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38381,"nodeType":"ExpressionStatement","src":"392836:28:19"},{"AST":{"nativeSrc":"392926:273:19","nodeType":"YulBlock","src":"392926:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"392947:4:19","nodeType":"YulLiteral","src":"392947:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"392953:2:19","nodeType":"YulIdentifier","src":"392953:2:19"}],"functionName":{"name":"mstore","nativeSrc":"392940:6:19","nodeType":"YulIdentifier","src":"392940:6:19"},"nativeSrc":"392940:16:19","nodeType":"YulFunctionCall","src":"392940:16:19"},"nativeSrc":"392940:16:19","nodeType":"YulExpressionStatement","src":"392940:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"392976:4:19","nodeType":"YulLiteral","src":"392976:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"392982:2:19","nodeType":"YulIdentifier","src":"392982:2:19"}],"functionName":{"name":"mstore","nativeSrc":"392969:6:19","nodeType":"YulIdentifier","src":"392969:6:19"},"nativeSrc":"392969:16:19","nodeType":"YulFunctionCall","src":"392969:16:19"},"nativeSrc":"392969:16:19","nodeType":"YulExpressionStatement","src":"392969:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"393005:4:19","nodeType":"YulLiteral","src":"393005:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"393011:2:19","nodeType":"YulIdentifier","src":"393011:2:19"}],"functionName":{"name":"mstore","nativeSrc":"392998:6:19","nodeType":"YulIdentifier","src":"392998:6:19"},"nativeSrc":"392998:16:19","nodeType":"YulFunctionCall","src":"392998:16:19"},"nativeSrc":"392998:16:19","nodeType":"YulExpressionStatement","src":"392998:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"393034:4:19","nodeType":"YulLiteral","src":"393034:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"393040:2:19","nodeType":"YulIdentifier","src":"393040:2:19"}],"functionName":{"name":"mstore","nativeSrc":"393027:6:19","nodeType":"YulIdentifier","src":"393027:6:19"},"nativeSrc":"393027:16:19","nodeType":"YulFunctionCall","src":"393027:16:19"},"nativeSrc":"393027:16:19","nodeType":"YulExpressionStatement","src":"393027:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"393063:4:19","nodeType":"YulLiteral","src":"393063:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"393069:2:19","nodeType":"YulIdentifier","src":"393069:2:19"}],"functionName":{"name":"mstore","nativeSrc":"393056:6:19","nodeType":"YulIdentifier","src":"393056:6:19"},"nativeSrc":"393056:16:19","nodeType":"YulFunctionCall","src":"393056:16:19"},"nativeSrc":"393056:16:19","nodeType":"YulExpressionStatement","src":"393056:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"393092:4:19","nodeType":"YulLiteral","src":"393092:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"393098:2:19","nodeType":"YulIdentifier","src":"393098:2:19"}],"functionName":{"name":"mstore","nativeSrc":"393085:6:19","nodeType":"YulIdentifier","src":"393085:6:19"},"nativeSrc":"393085:16:19","nodeType":"YulFunctionCall","src":"393085:16:19"},"nativeSrc":"393085:16:19","nodeType":"YulExpressionStatement","src":"393085:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"393121:4:19","nodeType":"YulLiteral","src":"393121:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"393127:2:19","nodeType":"YulIdentifier","src":"393127:2:19"}],"functionName":{"name":"mstore","nativeSrc":"393114:6:19","nodeType":"YulIdentifier","src":"393114:6:19"},"nativeSrc":"393114:16:19","nodeType":"YulFunctionCall","src":"393114:16:19"},"nativeSrc":"393114:16:19","nodeType":"YulExpressionStatement","src":"393114:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"393150:4:19","nodeType":"YulLiteral","src":"393150:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"393156:2:19","nodeType":"YulIdentifier","src":"393156:2:19"}],"functionName":{"name":"mstore","nativeSrc":"393143:6:19","nodeType":"YulIdentifier","src":"393143:6:19"},"nativeSrc":"393143:16:19","nodeType":"YulFunctionCall","src":"393143:16:19"},"nativeSrc":"393143:16:19","nodeType":"YulExpressionStatement","src":"393143:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"393179:5:19","nodeType":"YulLiteral","src":"393179:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"393186:2:19","nodeType":"YulIdentifier","src":"393186:2:19"}],"functionName":{"name":"mstore","nativeSrc":"393172:6:19","nodeType":"YulIdentifier","src":"393172:6:19"},"nativeSrc":"393172:17:19","nodeType":"YulFunctionCall","src":"393172:17:19"},"nativeSrc":"393172:17:19","nodeType":"YulExpressionStatement","src":"393172:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38350,"isOffset":false,"isSlot":false,"src":"392953:2:19","valueSize":1},{"declaration":38353,"isOffset":false,"isSlot":false,"src":"392982:2:19","valueSize":1},{"declaration":38356,"isOffset":false,"isSlot":false,"src":"393011:2:19","valueSize":1},{"declaration":38359,"isOffset":false,"isSlot":false,"src":"393040:2:19","valueSize":1},{"declaration":38362,"isOffset":false,"isSlot":false,"src":"393069:2:19","valueSize":1},{"declaration":38365,"isOffset":false,"isSlot":false,"src":"393098:2:19","valueSize":1},{"declaration":38368,"isOffset":false,"isSlot":false,"src":"393127:2:19","valueSize":1},{"declaration":38371,"isOffset":false,"isSlot":false,"src":"393156:2:19","valueSize":1},{"declaration":38374,"isOffset":false,"isSlot":false,"src":"393186:2:19","valueSize":1}],"id":38382,"nodeType":"InlineAssembly","src":"392917:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"391592:3:19","parameters":{"id":38347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38340,"mutability":"mutable","name":"p0","nameLocation":"391604:2:19","nodeType":"VariableDeclaration","scope":38384,"src":"391596:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38339,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391596:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38342,"mutability":"mutable","name":"p1","nameLocation":"391616:2:19","nodeType":"VariableDeclaration","scope":38384,"src":"391608:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38341,"name":"uint256","nodeType":"ElementaryTypeName","src":"391608:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38344,"mutability":"mutable","name":"p2","nameLocation":"391628:2:19","nodeType":"VariableDeclaration","scope":38384,"src":"391620:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38343,"name":"uint256","nodeType":"ElementaryTypeName","src":"391620:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38346,"mutability":"mutable","name":"p3","nameLocation":"391640:2:19","nodeType":"VariableDeclaration","scope":38384,"src":"391632:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38345,"name":"bytes32","nodeType":"ElementaryTypeName","src":"391632:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"391595:48:19"},"returnParameters":{"id":38348,"nodeType":"ParameterList","parameters":[],"src":"391658:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38430,"nodeType":"FunctionDefinition","src":"393211:1622:19","nodes":[],"body":{"id":38429,"nodeType":"Block","src":"393286:1547:19","nodes":[],"statements":[{"assignments":[38396],"declarations":[{"constant":false,"id":38396,"mutability":"mutable","name":"m0","nameLocation":"393304:2:19","nodeType":"VariableDeclaration","scope":38429,"src":"393296:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38395,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393296:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38397,"nodeType":"VariableDeclarationStatement","src":"393296:10:19"},{"assignments":[38399],"declarations":[{"constant":false,"id":38399,"mutability":"mutable","name":"m1","nameLocation":"393324:2:19","nodeType":"VariableDeclaration","scope":38429,"src":"393316:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38398,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393316:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38400,"nodeType":"VariableDeclarationStatement","src":"393316:10:19"},{"assignments":[38402],"declarations":[{"constant":false,"id":38402,"mutability":"mutable","name":"m2","nameLocation":"393344:2:19","nodeType":"VariableDeclaration","scope":38429,"src":"393336:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38401,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393336:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38403,"nodeType":"VariableDeclarationStatement","src":"393336:10:19"},{"assignments":[38405],"declarations":[{"constant":false,"id":38405,"mutability":"mutable","name":"m3","nameLocation":"393364:2:19","nodeType":"VariableDeclaration","scope":38429,"src":"393356:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38404,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393356:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38406,"nodeType":"VariableDeclarationStatement","src":"393356:10:19"},{"assignments":[38408],"declarations":[{"constant":false,"id":38408,"mutability":"mutable","name":"m4","nameLocation":"393384:2:19","nodeType":"VariableDeclaration","scope":38429,"src":"393376:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38407,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393376:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38409,"nodeType":"VariableDeclarationStatement","src":"393376:10:19"},{"assignments":[38411],"declarations":[{"constant":false,"id":38411,"mutability":"mutable","name":"m5","nameLocation":"393404:2:19","nodeType":"VariableDeclaration","scope":38429,"src":"393396:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38410,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393396:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38412,"nodeType":"VariableDeclarationStatement","src":"393396:10:19"},{"assignments":[38414],"declarations":[{"constant":false,"id":38414,"mutability":"mutable","name":"m6","nameLocation":"393424:2:19","nodeType":"VariableDeclaration","scope":38429,"src":"393416:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38413,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393416:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38415,"nodeType":"VariableDeclarationStatement","src":"393416:10:19"},{"assignments":[38417],"declarations":[{"constant":false,"id":38417,"mutability":"mutable","name":"m7","nameLocation":"393444:2:19","nodeType":"VariableDeclaration","scope":38429,"src":"393436:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38416,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393436:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38418,"nodeType":"VariableDeclarationStatement","src":"393436:10:19"},{"assignments":[38420],"declarations":[{"constant":false,"id":38420,"mutability":"mutable","name":"m8","nameLocation":"393464:2:19","nodeType":"VariableDeclaration","scope":38429,"src":"393456:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38419,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393456:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38421,"nodeType":"VariableDeclarationStatement","src":"393456:10:19"},{"AST":{"nativeSrc":"393528:927:19","nodeType":"YulBlock","src":"393528:927:19","statements":[{"body":{"nativeSrc":"393571:313:19","nodeType":"YulBlock","src":"393571:313:19","statements":[{"nativeSrc":"393589:15:19","nodeType":"YulVariableDeclaration","src":"393589:15:19","value":{"kind":"number","nativeSrc":"393603:1:19","nodeType":"YulLiteral","src":"393603:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"393593:6:19","nodeType":"YulTypedName","src":"393593:6:19","type":""}]},{"body":{"nativeSrc":"393674:40:19","nodeType":"YulBlock","src":"393674:40:19","statements":[{"body":{"nativeSrc":"393703:9:19","nodeType":"YulBlock","src":"393703:9:19","statements":[{"nativeSrc":"393705:5:19","nodeType":"YulBreak","src":"393705:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"393691:6:19","nodeType":"YulIdentifier","src":"393691:6:19"},{"name":"w","nativeSrc":"393699:1:19","nodeType":"YulIdentifier","src":"393699:1:19"}],"functionName":{"name":"byte","nativeSrc":"393686:4:19","nodeType":"YulIdentifier","src":"393686:4:19"},"nativeSrc":"393686:15:19","nodeType":"YulFunctionCall","src":"393686:15:19"}],"functionName":{"name":"iszero","nativeSrc":"393679:6:19","nodeType":"YulIdentifier","src":"393679:6:19"},"nativeSrc":"393679:23:19","nodeType":"YulFunctionCall","src":"393679:23:19"},"nativeSrc":"393676:36:19","nodeType":"YulIf","src":"393676:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"393631:6:19","nodeType":"YulIdentifier","src":"393631:6:19"},{"kind":"number","nativeSrc":"393639:4:19","nodeType":"YulLiteral","src":"393639:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"393628:2:19","nodeType":"YulIdentifier","src":"393628:2:19"},"nativeSrc":"393628:16:19","nodeType":"YulFunctionCall","src":"393628:16:19"},"nativeSrc":"393621:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"393645:28:19","nodeType":"YulBlock","src":"393645:28:19","statements":[{"nativeSrc":"393647:24:19","nodeType":"YulAssignment","src":"393647:24:19","value":{"arguments":[{"name":"length","nativeSrc":"393661:6:19","nodeType":"YulIdentifier","src":"393661:6:19"},{"kind":"number","nativeSrc":"393669:1:19","nodeType":"YulLiteral","src":"393669:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"393657:3:19","nodeType":"YulIdentifier","src":"393657:3:19"},"nativeSrc":"393657:14:19","nodeType":"YulFunctionCall","src":"393657:14:19"},"variableNames":[{"name":"length","nativeSrc":"393647:6:19","nodeType":"YulIdentifier","src":"393647:6:19"}]}]},"pre":{"nativeSrc":"393625:2:19","nodeType":"YulBlock","src":"393625:2:19","statements":[]},"src":"393621:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"393738:3:19","nodeType":"YulIdentifier","src":"393738:3:19"},{"name":"length","nativeSrc":"393743:6:19","nodeType":"YulIdentifier","src":"393743:6:19"}],"functionName":{"name":"mstore","nativeSrc":"393731:6:19","nodeType":"YulIdentifier","src":"393731:6:19"},"nativeSrc":"393731:19:19","nodeType":"YulFunctionCall","src":"393731:19:19"},"nativeSrc":"393731:19:19","nodeType":"YulExpressionStatement","src":"393731:19:19"},{"nativeSrc":"393767:37:19","nodeType":"YulVariableDeclaration","src":"393767:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"393784:3:19","nodeType":"YulLiteral","src":"393784:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"393793:1:19","nodeType":"YulLiteral","src":"393793:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"393796:6:19","nodeType":"YulIdentifier","src":"393796:6:19"}],"functionName":{"name":"shl","nativeSrc":"393789:3:19","nodeType":"YulIdentifier","src":"393789:3:19"},"nativeSrc":"393789:14:19","nodeType":"YulFunctionCall","src":"393789:14:19"}],"functionName":{"name":"sub","nativeSrc":"393780:3:19","nodeType":"YulIdentifier","src":"393780:3:19"},"nativeSrc":"393780:24:19","nodeType":"YulFunctionCall","src":"393780:24:19"},"variables":[{"name":"shift","nativeSrc":"393771:5:19","nodeType":"YulTypedName","src":"393771:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"393832:3:19","nodeType":"YulIdentifier","src":"393832:3:19"},{"kind":"number","nativeSrc":"393837:4:19","nodeType":"YulLiteral","src":"393837:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"393828:3:19","nodeType":"YulIdentifier","src":"393828:3:19"},"nativeSrc":"393828:14:19","nodeType":"YulFunctionCall","src":"393828:14:19"},{"arguments":[{"name":"shift","nativeSrc":"393848:5:19","nodeType":"YulIdentifier","src":"393848:5:19"},{"arguments":[{"name":"shift","nativeSrc":"393859:5:19","nodeType":"YulIdentifier","src":"393859:5:19"},{"name":"w","nativeSrc":"393866:1:19","nodeType":"YulIdentifier","src":"393866:1:19"}],"functionName":{"name":"shr","nativeSrc":"393855:3:19","nodeType":"YulIdentifier","src":"393855:3:19"},"nativeSrc":"393855:13:19","nodeType":"YulFunctionCall","src":"393855:13:19"}],"functionName":{"name":"shl","nativeSrc":"393844:3:19","nodeType":"YulIdentifier","src":"393844:3:19"},"nativeSrc":"393844:25:19","nodeType":"YulFunctionCall","src":"393844:25:19"}],"functionName":{"name":"mstore","nativeSrc":"393821:6:19","nodeType":"YulIdentifier","src":"393821:6:19"},"nativeSrc":"393821:49:19","nodeType":"YulFunctionCall","src":"393821:49:19"},"nativeSrc":"393821:49:19","nodeType":"YulExpressionStatement","src":"393821:49:19"}]},"name":"writeString","nativeSrc":"393542:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"393563:3:19","nodeType":"YulTypedName","src":"393563:3:19","type":""},{"name":"w","nativeSrc":"393568:1:19","nodeType":"YulTypedName","src":"393568:1:19","type":""}],"src":"393542:342:19"},{"nativeSrc":"393897:17:19","nodeType":"YulAssignment","src":"393897:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"393909:4:19","nodeType":"YulLiteral","src":"393909:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"393903:5:19","nodeType":"YulIdentifier","src":"393903:5:19"},"nativeSrc":"393903:11:19","nodeType":"YulFunctionCall","src":"393903:11:19"},"variableNames":[{"name":"m0","nativeSrc":"393897:2:19","nodeType":"YulIdentifier","src":"393897:2:19"}]},{"nativeSrc":"393927:17:19","nodeType":"YulAssignment","src":"393927:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"393939:4:19","nodeType":"YulLiteral","src":"393939:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"393933:5:19","nodeType":"YulIdentifier","src":"393933:5:19"},"nativeSrc":"393933:11:19","nodeType":"YulFunctionCall","src":"393933:11:19"},"variableNames":[{"name":"m1","nativeSrc":"393927:2:19","nodeType":"YulIdentifier","src":"393927:2:19"}]},{"nativeSrc":"393957:17:19","nodeType":"YulAssignment","src":"393957:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"393969:4:19","nodeType":"YulLiteral","src":"393969:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"393963:5:19","nodeType":"YulIdentifier","src":"393963:5:19"},"nativeSrc":"393963:11:19","nodeType":"YulFunctionCall","src":"393963:11:19"},"variableNames":[{"name":"m2","nativeSrc":"393957:2:19","nodeType":"YulIdentifier","src":"393957:2:19"}]},{"nativeSrc":"393987:17:19","nodeType":"YulAssignment","src":"393987:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"393999:4:19","nodeType":"YulLiteral","src":"393999:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"393993:5:19","nodeType":"YulIdentifier","src":"393993:5:19"},"nativeSrc":"393993:11:19","nodeType":"YulFunctionCall","src":"393993:11:19"},"variableNames":[{"name":"m3","nativeSrc":"393987:2:19","nodeType":"YulIdentifier","src":"393987:2:19"}]},{"nativeSrc":"394017:17:19","nodeType":"YulAssignment","src":"394017:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"394029:4:19","nodeType":"YulLiteral","src":"394029:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"394023:5:19","nodeType":"YulIdentifier","src":"394023:5:19"},"nativeSrc":"394023:11:19","nodeType":"YulFunctionCall","src":"394023:11:19"},"variableNames":[{"name":"m4","nativeSrc":"394017:2:19","nodeType":"YulIdentifier","src":"394017:2:19"}]},{"nativeSrc":"394047:17:19","nodeType":"YulAssignment","src":"394047:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"394059:4:19","nodeType":"YulLiteral","src":"394059:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"394053:5:19","nodeType":"YulIdentifier","src":"394053:5:19"},"nativeSrc":"394053:11:19","nodeType":"YulFunctionCall","src":"394053:11:19"},"variableNames":[{"name":"m5","nativeSrc":"394047:2:19","nodeType":"YulIdentifier","src":"394047:2:19"}]},{"nativeSrc":"394077:17:19","nodeType":"YulAssignment","src":"394077:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"394089:4:19","nodeType":"YulLiteral","src":"394089:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"394083:5:19","nodeType":"YulIdentifier","src":"394083:5:19"},"nativeSrc":"394083:11:19","nodeType":"YulFunctionCall","src":"394083:11:19"},"variableNames":[{"name":"m6","nativeSrc":"394077:2:19","nodeType":"YulIdentifier","src":"394077:2:19"}]},{"nativeSrc":"394107:17:19","nodeType":"YulAssignment","src":"394107:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"394119:4:19","nodeType":"YulLiteral","src":"394119:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"394113:5:19","nodeType":"YulIdentifier","src":"394113:5:19"},"nativeSrc":"394113:11:19","nodeType":"YulFunctionCall","src":"394113:11:19"},"variableNames":[{"name":"m7","nativeSrc":"394107:2:19","nodeType":"YulIdentifier","src":"394107:2:19"}]},{"nativeSrc":"394137:18:19","nodeType":"YulAssignment","src":"394137:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"394149:5:19","nodeType":"YulLiteral","src":"394149:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"394143:5:19","nodeType":"YulIdentifier","src":"394143:5:19"},"nativeSrc":"394143:12:19","nodeType":"YulFunctionCall","src":"394143:12:19"},"variableNames":[{"name":"m8","nativeSrc":"394137:2:19","nodeType":"YulIdentifier","src":"394137:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394240:4:19","nodeType":"YulLiteral","src":"394240:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"394246:10:19","nodeType":"YulLiteral","src":"394246:10:19","type":"","value":"0x7c4632a4"}],"functionName":{"name":"mstore","nativeSrc":"394233:6:19","nodeType":"YulIdentifier","src":"394233:6:19"},"nativeSrc":"394233:24:19","nodeType":"YulFunctionCall","src":"394233:24:19"},"nativeSrc":"394233:24:19","nodeType":"YulExpressionStatement","src":"394233:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394277:4:19","nodeType":"YulLiteral","src":"394277:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"394283:4:19","nodeType":"YulLiteral","src":"394283:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"394270:6:19","nodeType":"YulIdentifier","src":"394270:6:19"},"nativeSrc":"394270:18:19","nodeType":"YulFunctionCall","src":"394270:18:19"},"nativeSrc":"394270:18:19","nodeType":"YulExpressionStatement","src":"394270:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394308:4:19","nodeType":"YulLiteral","src":"394308:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"394314:2:19","nodeType":"YulIdentifier","src":"394314:2:19"}],"functionName":{"name":"mstore","nativeSrc":"394301:6:19","nodeType":"YulIdentifier","src":"394301:6:19"},"nativeSrc":"394301:16:19","nodeType":"YulFunctionCall","src":"394301:16:19"},"nativeSrc":"394301:16:19","nodeType":"YulExpressionStatement","src":"394301:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394337:4:19","nodeType":"YulLiteral","src":"394337:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"394343:4:19","nodeType":"YulLiteral","src":"394343:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"394330:6:19","nodeType":"YulIdentifier","src":"394330:6:19"},"nativeSrc":"394330:18:19","nodeType":"YulFunctionCall","src":"394330:18:19"},"nativeSrc":"394330:18:19","nodeType":"YulExpressionStatement","src":"394330:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394368:4:19","nodeType":"YulLiteral","src":"394368:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"394374:2:19","nodeType":"YulIdentifier","src":"394374:2:19"}],"functionName":{"name":"mstore","nativeSrc":"394361:6:19","nodeType":"YulIdentifier","src":"394361:6:19"},"nativeSrc":"394361:16:19","nodeType":"YulFunctionCall","src":"394361:16:19"},"nativeSrc":"394361:16:19","nodeType":"YulExpressionStatement","src":"394361:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394402:4:19","nodeType":"YulLiteral","src":"394402:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"394408:2:19","nodeType":"YulIdentifier","src":"394408:2:19"}],"functionName":{"name":"writeString","nativeSrc":"394390:11:19","nodeType":"YulIdentifier","src":"394390:11:19"},"nativeSrc":"394390:21:19","nodeType":"YulFunctionCall","src":"394390:21:19"},"nativeSrc":"394390:21:19","nodeType":"YulExpressionStatement","src":"394390:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394436:4:19","nodeType":"YulLiteral","src":"394436:4:19","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"394442:2:19","nodeType":"YulIdentifier","src":"394442:2:19"}],"functionName":{"name":"writeString","nativeSrc":"394424:11:19","nodeType":"YulIdentifier","src":"394424:11:19"},"nativeSrc":"394424:21:19","nodeType":"YulFunctionCall","src":"394424:21:19"},"nativeSrc":"394424:21:19","nodeType":"YulExpressionStatement","src":"394424:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38396,"isOffset":false,"isSlot":false,"src":"393897:2:19","valueSize":1},{"declaration":38399,"isOffset":false,"isSlot":false,"src":"393927:2:19","valueSize":1},{"declaration":38402,"isOffset":false,"isSlot":false,"src":"393957:2:19","valueSize":1},{"declaration":38405,"isOffset":false,"isSlot":false,"src":"393987:2:19","valueSize":1},{"declaration":38408,"isOffset":false,"isSlot":false,"src":"394017:2:19","valueSize":1},{"declaration":38411,"isOffset":false,"isSlot":false,"src":"394047:2:19","valueSize":1},{"declaration":38414,"isOffset":false,"isSlot":false,"src":"394077:2:19","valueSize":1},{"declaration":38417,"isOffset":false,"isSlot":false,"src":"394107:2:19","valueSize":1},{"declaration":38420,"isOffset":false,"isSlot":false,"src":"394137:2:19","valueSize":1},{"declaration":38386,"isOffset":false,"isSlot":false,"src":"394408:2:19","valueSize":1},{"declaration":38388,"isOffset":false,"isSlot":false,"src":"394314:2:19","valueSize":1},{"declaration":38390,"isOffset":false,"isSlot":false,"src":"394442:2:19","valueSize":1},{"declaration":38392,"isOffset":false,"isSlot":false,"src":"394374:2:19","valueSize":1}],"id":38422,"nodeType":"InlineAssembly","src":"393519:936:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":38424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"394480:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"394486:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":38423,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"394464:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"394464:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38427,"nodeType":"ExpressionStatement","src":"394464:28:19"},{"AST":{"nativeSrc":"394554:273:19","nodeType":"YulBlock","src":"394554:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"394575:4:19","nodeType":"YulLiteral","src":"394575:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"394581:2:19","nodeType":"YulIdentifier","src":"394581:2:19"}],"functionName":{"name":"mstore","nativeSrc":"394568:6:19","nodeType":"YulIdentifier","src":"394568:6:19"},"nativeSrc":"394568:16:19","nodeType":"YulFunctionCall","src":"394568:16:19"},"nativeSrc":"394568:16:19","nodeType":"YulExpressionStatement","src":"394568:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394604:4:19","nodeType":"YulLiteral","src":"394604:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"394610:2:19","nodeType":"YulIdentifier","src":"394610:2:19"}],"functionName":{"name":"mstore","nativeSrc":"394597:6:19","nodeType":"YulIdentifier","src":"394597:6:19"},"nativeSrc":"394597:16:19","nodeType":"YulFunctionCall","src":"394597:16:19"},"nativeSrc":"394597:16:19","nodeType":"YulExpressionStatement","src":"394597:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394633:4:19","nodeType":"YulLiteral","src":"394633:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"394639:2:19","nodeType":"YulIdentifier","src":"394639:2:19"}],"functionName":{"name":"mstore","nativeSrc":"394626:6:19","nodeType":"YulIdentifier","src":"394626:6:19"},"nativeSrc":"394626:16:19","nodeType":"YulFunctionCall","src":"394626:16:19"},"nativeSrc":"394626:16:19","nodeType":"YulExpressionStatement","src":"394626:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394662:4:19","nodeType":"YulLiteral","src":"394662:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"394668:2:19","nodeType":"YulIdentifier","src":"394668:2:19"}],"functionName":{"name":"mstore","nativeSrc":"394655:6:19","nodeType":"YulIdentifier","src":"394655:6:19"},"nativeSrc":"394655:16:19","nodeType":"YulFunctionCall","src":"394655:16:19"},"nativeSrc":"394655:16:19","nodeType":"YulExpressionStatement","src":"394655:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394691:4:19","nodeType":"YulLiteral","src":"394691:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"394697:2:19","nodeType":"YulIdentifier","src":"394697:2:19"}],"functionName":{"name":"mstore","nativeSrc":"394684:6:19","nodeType":"YulIdentifier","src":"394684:6:19"},"nativeSrc":"394684:16:19","nodeType":"YulFunctionCall","src":"394684:16:19"},"nativeSrc":"394684:16:19","nodeType":"YulExpressionStatement","src":"394684:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394720:4:19","nodeType":"YulLiteral","src":"394720:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"394726:2:19","nodeType":"YulIdentifier","src":"394726:2:19"}],"functionName":{"name":"mstore","nativeSrc":"394713:6:19","nodeType":"YulIdentifier","src":"394713:6:19"},"nativeSrc":"394713:16:19","nodeType":"YulFunctionCall","src":"394713:16:19"},"nativeSrc":"394713:16:19","nodeType":"YulExpressionStatement","src":"394713:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394749:4:19","nodeType":"YulLiteral","src":"394749:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"394755:2:19","nodeType":"YulIdentifier","src":"394755:2:19"}],"functionName":{"name":"mstore","nativeSrc":"394742:6:19","nodeType":"YulIdentifier","src":"394742:6:19"},"nativeSrc":"394742:16:19","nodeType":"YulFunctionCall","src":"394742:16:19"},"nativeSrc":"394742:16:19","nodeType":"YulExpressionStatement","src":"394742:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394778:4:19","nodeType":"YulLiteral","src":"394778:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"394784:2:19","nodeType":"YulIdentifier","src":"394784:2:19"}],"functionName":{"name":"mstore","nativeSrc":"394771:6:19","nodeType":"YulIdentifier","src":"394771:6:19"},"nativeSrc":"394771:16:19","nodeType":"YulFunctionCall","src":"394771:16:19"},"nativeSrc":"394771:16:19","nodeType":"YulExpressionStatement","src":"394771:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"394807:5:19","nodeType":"YulLiteral","src":"394807:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"394814:2:19","nodeType":"YulIdentifier","src":"394814:2:19"}],"functionName":{"name":"mstore","nativeSrc":"394800:6:19","nodeType":"YulIdentifier","src":"394800:6:19"},"nativeSrc":"394800:17:19","nodeType":"YulFunctionCall","src":"394800:17:19"},"nativeSrc":"394800:17:19","nodeType":"YulExpressionStatement","src":"394800:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38396,"isOffset":false,"isSlot":false,"src":"394581:2:19","valueSize":1},{"declaration":38399,"isOffset":false,"isSlot":false,"src":"394610:2:19","valueSize":1},{"declaration":38402,"isOffset":false,"isSlot":false,"src":"394639:2:19","valueSize":1},{"declaration":38405,"isOffset":false,"isSlot":false,"src":"394668:2:19","valueSize":1},{"declaration":38408,"isOffset":false,"isSlot":false,"src":"394697:2:19","valueSize":1},{"declaration":38411,"isOffset":false,"isSlot":false,"src":"394726:2:19","valueSize":1},{"declaration":38414,"isOffset":false,"isSlot":false,"src":"394755:2:19","valueSize":1},{"declaration":38417,"isOffset":false,"isSlot":false,"src":"394784:2:19","valueSize":1},{"declaration":38420,"isOffset":false,"isSlot":false,"src":"394814:2:19","valueSize":1}],"id":38428,"nodeType":"InlineAssembly","src":"394545:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"393220:3:19","parameters":{"id":38393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38386,"mutability":"mutable","name":"p0","nameLocation":"393232:2:19","nodeType":"VariableDeclaration","scope":38430,"src":"393224:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38385,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393224:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38388,"mutability":"mutable","name":"p1","nameLocation":"393244:2:19","nodeType":"VariableDeclaration","scope":38430,"src":"393236:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38387,"name":"uint256","nodeType":"ElementaryTypeName","src":"393236:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38390,"mutability":"mutable","name":"p2","nameLocation":"393256:2:19","nodeType":"VariableDeclaration","scope":38430,"src":"393248:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38389,"name":"bytes32","nodeType":"ElementaryTypeName","src":"393248:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38392,"mutability":"mutable","name":"p3","nameLocation":"393268:2:19","nodeType":"VariableDeclaration","scope":38430,"src":"393260:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38391,"name":"address","nodeType":"ElementaryTypeName","src":"393260:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"393223:48:19"},"returnParameters":{"id":38394,"nodeType":"ParameterList","parameters":[],"src":"393286:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38476,"nodeType":"FunctionDefinition","src":"394839:1616:19","nodes":[],"body":{"id":38475,"nodeType":"Block","src":"394911:1544:19","nodes":[],"statements":[{"assignments":[38442],"declarations":[{"constant":false,"id":38442,"mutability":"mutable","name":"m0","nameLocation":"394929:2:19","nodeType":"VariableDeclaration","scope":38475,"src":"394921:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38441,"name":"bytes32","nodeType":"ElementaryTypeName","src":"394921:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38443,"nodeType":"VariableDeclarationStatement","src":"394921:10:19"},{"assignments":[38445],"declarations":[{"constant":false,"id":38445,"mutability":"mutable","name":"m1","nameLocation":"394949:2:19","nodeType":"VariableDeclaration","scope":38475,"src":"394941:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38444,"name":"bytes32","nodeType":"ElementaryTypeName","src":"394941:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38446,"nodeType":"VariableDeclarationStatement","src":"394941:10:19"},{"assignments":[38448],"declarations":[{"constant":false,"id":38448,"mutability":"mutable","name":"m2","nameLocation":"394969:2:19","nodeType":"VariableDeclaration","scope":38475,"src":"394961:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38447,"name":"bytes32","nodeType":"ElementaryTypeName","src":"394961:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38449,"nodeType":"VariableDeclarationStatement","src":"394961:10:19"},{"assignments":[38451],"declarations":[{"constant":false,"id":38451,"mutability":"mutable","name":"m3","nameLocation":"394989:2:19","nodeType":"VariableDeclaration","scope":38475,"src":"394981:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38450,"name":"bytes32","nodeType":"ElementaryTypeName","src":"394981:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38452,"nodeType":"VariableDeclarationStatement","src":"394981:10:19"},{"assignments":[38454],"declarations":[{"constant":false,"id":38454,"mutability":"mutable","name":"m4","nameLocation":"395009:2:19","nodeType":"VariableDeclaration","scope":38475,"src":"395001:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38453,"name":"bytes32","nodeType":"ElementaryTypeName","src":"395001:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38455,"nodeType":"VariableDeclarationStatement","src":"395001:10:19"},{"assignments":[38457],"declarations":[{"constant":false,"id":38457,"mutability":"mutable","name":"m5","nameLocation":"395029:2:19","nodeType":"VariableDeclaration","scope":38475,"src":"395021:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38456,"name":"bytes32","nodeType":"ElementaryTypeName","src":"395021:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38458,"nodeType":"VariableDeclarationStatement","src":"395021:10:19"},{"assignments":[38460],"declarations":[{"constant":false,"id":38460,"mutability":"mutable","name":"m6","nameLocation":"395049:2:19","nodeType":"VariableDeclaration","scope":38475,"src":"395041:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38459,"name":"bytes32","nodeType":"ElementaryTypeName","src":"395041:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38461,"nodeType":"VariableDeclarationStatement","src":"395041:10:19"},{"assignments":[38463],"declarations":[{"constant":false,"id":38463,"mutability":"mutable","name":"m7","nameLocation":"395069:2:19","nodeType":"VariableDeclaration","scope":38475,"src":"395061:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38462,"name":"bytes32","nodeType":"ElementaryTypeName","src":"395061:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38464,"nodeType":"VariableDeclarationStatement","src":"395061:10:19"},{"assignments":[38466],"declarations":[{"constant":false,"id":38466,"mutability":"mutable","name":"m8","nameLocation":"395089:2:19","nodeType":"VariableDeclaration","scope":38475,"src":"395081:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38465,"name":"bytes32","nodeType":"ElementaryTypeName","src":"395081:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38467,"nodeType":"VariableDeclarationStatement","src":"395081:10:19"},{"AST":{"nativeSrc":"395153:924:19","nodeType":"YulBlock","src":"395153:924:19","statements":[{"body":{"nativeSrc":"395196:313:19","nodeType":"YulBlock","src":"395196:313:19","statements":[{"nativeSrc":"395214:15:19","nodeType":"YulVariableDeclaration","src":"395214:15:19","value":{"kind":"number","nativeSrc":"395228:1:19","nodeType":"YulLiteral","src":"395228:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"395218:6:19","nodeType":"YulTypedName","src":"395218:6:19","type":""}]},{"body":{"nativeSrc":"395299:40:19","nodeType":"YulBlock","src":"395299:40:19","statements":[{"body":{"nativeSrc":"395328:9:19","nodeType":"YulBlock","src":"395328:9:19","statements":[{"nativeSrc":"395330:5:19","nodeType":"YulBreak","src":"395330:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"395316:6:19","nodeType":"YulIdentifier","src":"395316:6:19"},{"name":"w","nativeSrc":"395324:1:19","nodeType":"YulIdentifier","src":"395324:1:19"}],"functionName":{"name":"byte","nativeSrc":"395311:4:19","nodeType":"YulIdentifier","src":"395311:4:19"},"nativeSrc":"395311:15:19","nodeType":"YulFunctionCall","src":"395311:15:19"}],"functionName":{"name":"iszero","nativeSrc":"395304:6:19","nodeType":"YulIdentifier","src":"395304:6:19"},"nativeSrc":"395304:23:19","nodeType":"YulFunctionCall","src":"395304:23:19"},"nativeSrc":"395301:36:19","nodeType":"YulIf","src":"395301:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"395256:6:19","nodeType":"YulIdentifier","src":"395256:6:19"},{"kind":"number","nativeSrc":"395264:4:19","nodeType":"YulLiteral","src":"395264:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"395253:2:19","nodeType":"YulIdentifier","src":"395253:2:19"},"nativeSrc":"395253:16:19","nodeType":"YulFunctionCall","src":"395253:16:19"},"nativeSrc":"395246:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"395270:28:19","nodeType":"YulBlock","src":"395270:28:19","statements":[{"nativeSrc":"395272:24:19","nodeType":"YulAssignment","src":"395272:24:19","value":{"arguments":[{"name":"length","nativeSrc":"395286:6:19","nodeType":"YulIdentifier","src":"395286:6:19"},{"kind":"number","nativeSrc":"395294:1:19","nodeType":"YulLiteral","src":"395294:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"395282:3:19","nodeType":"YulIdentifier","src":"395282:3:19"},"nativeSrc":"395282:14:19","nodeType":"YulFunctionCall","src":"395282:14:19"},"variableNames":[{"name":"length","nativeSrc":"395272:6:19","nodeType":"YulIdentifier","src":"395272:6:19"}]}]},"pre":{"nativeSrc":"395250:2:19","nodeType":"YulBlock","src":"395250:2:19","statements":[]},"src":"395246:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"395363:3:19","nodeType":"YulIdentifier","src":"395363:3:19"},{"name":"length","nativeSrc":"395368:6:19","nodeType":"YulIdentifier","src":"395368:6:19"}],"functionName":{"name":"mstore","nativeSrc":"395356:6:19","nodeType":"YulIdentifier","src":"395356:6:19"},"nativeSrc":"395356:19:19","nodeType":"YulFunctionCall","src":"395356:19:19"},"nativeSrc":"395356:19:19","nodeType":"YulExpressionStatement","src":"395356:19:19"},{"nativeSrc":"395392:37:19","nodeType":"YulVariableDeclaration","src":"395392:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"395409:3:19","nodeType":"YulLiteral","src":"395409:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"395418:1:19","nodeType":"YulLiteral","src":"395418:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"395421:6:19","nodeType":"YulIdentifier","src":"395421:6:19"}],"functionName":{"name":"shl","nativeSrc":"395414:3:19","nodeType":"YulIdentifier","src":"395414:3:19"},"nativeSrc":"395414:14:19","nodeType":"YulFunctionCall","src":"395414:14:19"}],"functionName":{"name":"sub","nativeSrc":"395405:3:19","nodeType":"YulIdentifier","src":"395405:3:19"},"nativeSrc":"395405:24:19","nodeType":"YulFunctionCall","src":"395405:24:19"},"variables":[{"name":"shift","nativeSrc":"395396:5:19","nodeType":"YulTypedName","src":"395396:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"395457:3:19","nodeType":"YulIdentifier","src":"395457:3:19"},{"kind":"number","nativeSrc":"395462:4:19","nodeType":"YulLiteral","src":"395462:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"395453:3:19","nodeType":"YulIdentifier","src":"395453:3:19"},"nativeSrc":"395453:14:19","nodeType":"YulFunctionCall","src":"395453:14:19"},{"arguments":[{"name":"shift","nativeSrc":"395473:5:19","nodeType":"YulIdentifier","src":"395473:5:19"},{"arguments":[{"name":"shift","nativeSrc":"395484:5:19","nodeType":"YulIdentifier","src":"395484:5:19"},{"name":"w","nativeSrc":"395491:1:19","nodeType":"YulIdentifier","src":"395491:1:19"}],"functionName":{"name":"shr","nativeSrc":"395480:3:19","nodeType":"YulIdentifier","src":"395480:3:19"},"nativeSrc":"395480:13:19","nodeType":"YulFunctionCall","src":"395480:13:19"}],"functionName":{"name":"shl","nativeSrc":"395469:3:19","nodeType":"YulIdentifier","src":"395469:3:19"},"nativeSrc":"395469:25:19","nodeType":"YulFunctionCall","src":"395469:25:19"}],"functionName":{"name":"mstore","nativeSrc":"395446:6:19","nodeType":"YulIdentifier","src":"395446:6:19"},"nativeSrc":"395446:49:19","nodeType":"YulFunctionCall","src":"395446:49:19"},"nativeSrc":"395446:49:19","nodeType":"YulExpressionStatement","src":"395446:49:19"}]},"name":"writeString","nativeSrc":"395167:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"395188:3:19","nodeType":"YulTypedName","src":"395188:3:19","type":""},{"name":"w","nativeSrc":"395193:1:19","nodeType":"YulTypedName","src":"395193:1:19","type":""}],"src":"395167:342:19"},{"nativeSrc":"395522:17:19","nodeType":"YulAssignment","src":"395522:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"395534:4:19","nodeType":"YulLiteral","src":"395534:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"395528:5:19","nodeType":"YulIdentifier","src":"395528:5:19"},"nativeSrc":"395528:11:19","nodeType":"YulFunctionCall","src":"395528:11:19"},"variableNames":[{"name":"m0","nativeSrc":"395522:2:19","nodeType":"YulIdentifier","src":"395522:2:19"}]},{"nativeSrc":"395552:17:19","nodeType":"YulAssignment","src":"395552:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"395564:4:19","nodeType":"YulLiteral","src":"395564:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"395558:5:19","nodeType":"YulIdentifier","src":"395558:5:19"},"nativeSrc":"395558:11:19","nodeType":"YulFunctionCall","src":"395558:11:19"},"variableNames":[{"name":"m1","nativeSrc":"395552:2:19","nodeType":"YulIdentifier","src":"395552:2:19"}]},{"nativeSrc":"395582:17:19","nodeType":"YulAssignment","src":"395582:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"395594:4:19","nodeType":"YulLiteral","src":"395594:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"395588:5:19","nodeType":"YulIdentifier","src":"395588:5:19"},"nativeSrc":"395588:11:19","nodeType":"YulFunctionCall","src":"395588:11:19"},"variableNames":[{"name":"m2","nativeSrc":"395582:2:19","nodeType":"YulIdentifier","src":"395582:2:19"}]},{"nativeSrc":"395612:17:19","nodeType":"YulAssignment","src":"395612:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"395624:4:19","nodeType":"YulLiteral","src":"395624:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"395618:5:19","nodeType":"YulIdentifier","src":"395618:5:19"},"nativeSrc":"395618:11:19","nodeType":"YulFunctionCall","src":"395618:11:19"},"variableNames":[{"name":"m3","nativeSrc":"395612:2:19","nodeType":"YulIdentifier","src":"395612:2:19"}]},{"nativeSrc":"395642:17:19","nodeType":"YulAssignment","src":"395642:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"395654:4:19","nodeType":"YulLiteral","src":"395654:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"395648:5:19","nodeType":"YulIdentifier","src":"395648:5:19"},"nativeSrc":"395648:11:19","nodeType":"YulFunctionCall","src":"395648:11:19"},"variableNames":[{"name":"m4","nativeSrc":"395642:2:19","nodeType":"YulIdentifier","src":"395642:2:19"}]},{"nativeSrc":"395672:17:19","nodeType":"YulAssignment","src":"395672:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"395684:4:19","nodeType":"YulLiteral","src":"395684:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"395678:5:19","nodeType":"YulIdentifier","src":"395678:5:19"},"nativeSrc":"395678:11:19","nodeType":"YulFunctionCall","src":"395678:11:19"},"variableNames":[{"name":"m5","nativeSrc":"395672:2:19","nodeType":"YulIdentifier","src":"395672:2:19"}]},{"nativeSrc":"395702:17:19","nodeType":"YulAssignment","src":"395702:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"395714:4:19","nodeType":"YulLiteral","src":"395714:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"395708:5:19","nodeType":"YulIdentifier","src":"395708:5:19"},"nativeSrc":"395708:11:19","nodeType":"YulFunctionCall","src":"395708:11:19"},"variableNames":[{"name":"m6","nativeSrc":"395702:2:19","nodeType":"YulIdentifier","src":"395702:2:19"}]},{"nativeSrc":"395732:17:19","nodeType":"YulAssignment","src":"395732:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"395744:4:19","nodeType":"YulLiteral","src":"395744:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"395738:5:19","nodeType":"YulIdentifier","src":"395738:5:19"},"nativeSrc":"395738:11:19","nodeType":"YulFunctionCall","src":"395738:11:19"},"variableNames":[{"name":"m7","nativeSrc":"395732:2:19","nodeType":"YulIdentifier","src":"395732:2:19"}]},{"nativeSrc":"395762:18:19","nodeType":"YulAssignment","src":"395762:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"395774:5:19","nodeType":"YulLiteral","src":"395774:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"395768:5:19","nodeType":"YulIdentifier","src":"395768:5:19"},"nativeSrc":"395768:12:19","nodeType":"YulFunctionCall","src":"395768:12:19"},"variableNames":[{"name":"m8","nativeSrc":"395762:2:19","nodeType":"YulIdentifier","src":"395762:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"395862:4:19","nodeType":"YulLiteral","src":"395862:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"395868:10:19","nodeType":"YulLiteral","src":"395868:10:19","type":"","value":"0x7d24491d"}],"functionName":{"name":"mstore","nativeSrc":"395855:6:19","nodeType":"YulIdentifier","src":"395855:6:19"},"nativeSrc":"395855:24:19","nodeType":"YulFunctionCall","src":"395855:24:19"},"nativeSrc":"395855:24:19","nodeType":"YulExpressionStatement","src":"395855:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"395899:4:19","nodeType":"YulLiteral","src":"395899:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"395905:4:19","nodeType":"YulLiteral","src":"395905:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"395892:6:19","nodeType":"YulIdentifier","src":"395892:6:19"},"nativeSrc":"395892:18:19","nodeType":"YulFunctionCall","src":"395892:18:19"},"nativeSrc":"395892:18:19","nodeType":"YulExpressionStatement","src":"395892:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"395930:4:19","nodeType":"YulLiteral","src":"395930:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"395936:2:19","nodeType":"YulIdentifier","src":"395936:2:19"}],"functionName":{"name":"mstore","nativeSrc":"395923:6:19","nodeType":"YulIdentifier","src":"395923:6:19"},"nativeSrc":"395923:16:19","nodeType":"YulFunctionCall","src":"395923:16:19"},"nativeSrc":"395923:16:19","nodeType":"YulExpressionStatement","src":"395923:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"395959:4:19","nodeType":"YulLiteral","src":"395959:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"395965:4:19","nodeType":"YulLiteral","src":"395965:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"395952:6:19","nodeType":"YulIdentifier","src":"395952:6:19"},"nativeSrc":"395952:18:19","nodeType":"YulFunctionCall","src":"395952:18:19"},"nativeSrc":"395952:18:19","nodeType":"YulExpressionStatement","src":"395952:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"395990:4:19","nodeType":"YulLiteral","src":"395990:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"395996:2:19","nodeType":"YulIdentifier","src":"395996:2:19"}],"functionName":{"name":"mstore","nativeSrc":"395983:6:19","nodeType":"YulIdentifier","src":"395983:6:19"},"nativeSrc":"395983:16:19","nodeType":"YulFunctionCall","src":"395983:16:19"},"nativeSrc":"395983:16:19","nodeType":"YulExpressionStatement","src":"395983:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396024:4:19","nodeType":"YulLiteral","src":"396024:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"396030:2:19","nodeType":"YulIdentifier","src":"396030:2:19"}],"functionName":{"name":"writeString","nativeSrc":"396012:11:19","nodeType":"YulIdentifier","src":"396012:11:19"},"nativeSrc":"396012:21:19","nodeType":"YulFunctionCall","src":"396012:21:19"},"nativeSrc":"396012:21:19","nodeType":"YulExpressionStatement","src":"396012:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396058:4:19","nodeType":"YulLiteral","src":"396058:4:19","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"396064:2:19","nodeType":"YulIdentifier","src":"396064:2:19"}],"functionName":{"name":"writeString","nativeSrc":"396046:11:19","nodeType":"YulIdentifier","src":"396046:11:19"},"nativeSrc":"396046:21:19","nodeType":"YulFunctionCall","src":"396046:21:19"},"nativeSrc":"396046:21:19","nodeType":"YulExpressionStatement","src":"396046:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38442,"isOffset":false,"isSlot":false,"src":"395522:2:19","valueSize":1},{"declaration":38445,"isOffset":false,"isSlot":false,"src":"395552:2:19","valueSize":1},{"declaration":38448,"isOffset":false,"isSlot":false,"src":"395582:2:19","valueSize":1},{"declaration":38451,"isOffset":false,"isSlot":false,"src":"395612:2:19","valueSize":1},{"declaration":38454,"isOffset":false,"isSlot":false,"src":"395642:2:19","valueSize":1},{"declaration":38457,"isOffset":false,"isSlot":false,"src":"395672:2:19","valueSize":1},{"declaration":38460,"isOffset":false,"isSlot":false,"src":"395702:2:19","valueSize":1},{"declaration":38463,"isOffset":false,"isSlot":false,"src":"395732:2:19","valueSize":1},{"declaration":38466,"isOffset":false,"isSlot":false,"src":"395762:2:19","valueSize":1},{"declaration":38432,"isOffset":false,"isSlot":false,"src":"396030:2:19","valueSize":1},{"declaration":38434,"isOffset":false,"isSlot":false,"src":"395936:2:19","valueSize":1},{"declaration":38436,"isOffset":false,"isSlot":false,"src":"396064:2:19","valueSize":1},{"declaration":38438,"isOffset":false,"isSlot":false,"src":"395996:2:19","valueSize":1}],"id":38468,"nodeType":"InlineAssembly","src":"395144:933:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":38470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"396102:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"396108:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":38469,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"396086:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"396086:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38473,"nodeType":"ExpressionStatement","src":"396086:28:19"},{"AST":{"nativeSrc":"396176:273:19","nodeType":"YulBlock","src":"396176:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"396197:4:19","nodeType":"YulLiteral","src":"396197:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"396203:2:19","nodeType":"YulIdentifier","src":"396203:2:19"}],"functionName":{"name":"mstore","nativeSrc":"396190:6:19","nodeType":"YulIdentifier","src":"396190:6:19"},"nativeSrc":"396190:16:19","nodeType":"YulFunctionCall","src":"396190:16:19"},"nativeSrc":"396190:16:19","nodeType":"YulExpressionStatement","src":"396190:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396226:4:19","nodeType":"YulLiteral","src":"396226:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"396232:2:19","nodeType":"YulIdentifier","src":"396232:2:19"}],"functionName":{"name":"mstore","nativeSrc":"396219:6:19","nodeType":"YulIdentifier","src":"396219:6:19"},"nativeSrc":"396219:16:19","nodeType":"YulFunctionCall","src":"396219:16:19"},"nativeSrc":"396219:16:19","nodeType":"YulExpressionStatement","src":"396219:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396255:4:19","nodeType":"YulLiteral","src":"396255:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"396261:2:19","nodeType":"YulIdentifier","src":"396261:2:19"}],"functionName":{"name":"mstore","nativeSrc":"396248:6:19","nodeType":"YulIdentifier","src":"396248:6:19"},"nativeSrc":"396248:16:19","nodeType":"YulFunctionCall","src":"396248:16:19"},"nativeSrc":"396248:16:19","nodeType":"YulExpressionStatement","src":"396248:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396284:4:19","nodeType":"YulLiteral","src":"396284:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"396290:2:19","nodeType":"YulIdentifier","src":"396290:2:19"}],"functionName":{"name":"mstore","nativeSrc":"396277:6:19","nodeType":"YulIdentifier","src":"396277:6:19"},"nativeSrc":"396277:16:19","nodeType":"YulFunctionCall","src":"396277:16:19"},"nativeSrc":"396277:16:19","nodeType":"YulExpressionStatement","src":"396277:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396313:4:19","nodeType":"YulLiteral","src":"396313:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"396319:2:19","nodeType":"YulIdentifier","src":"396319:2:19"}],"functionName":{"name":"mstore","nativeSrc":"396306:6:19","nodeType":"YulIdentifier","src":"396306:6:19"},"nativeSrc":"396306:16:19","nodeType":"YulFunctionCall","src":"396306:16:19"},"nativeSrc":"396306:16:19","nodeType":"YulExpressionStatement","src":"396306:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396342:4:19","nodeType":"YulLiteral","src":"396342:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"396348:2:19","nodeType":"YulIdentifier","src":"396348:2:19"}],"functionName":{"name":"mstore","nativeSrc":"396335:6:19","nodeType":"YulIdentifier","src":"396335:6:19"},"nativeSrc":"396335:16:19","nodeType":"YulFunctionCall","src":"396335:16:19"},"nativeSrc":"396335:16:19","nodeType":"YulExpressionStatement","src":"396335:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396371:4:19","nodeType":"YulLiteral","src":"396371:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"396377:2:19","nodeType":"YulIdentifier","src":"396377:2:19"}],"functionName":{"name":"mstore","nativeSrc":"396364:6:19","nodeType":"YulIdentifier","src":"396364:6:19"},"nativeSrc":"396364:16:19","nodeType":"YulFunctionCall","src":"396364:16:19"},"nativeSrc":"396364:16:19","nodeType":"YulExpressionStatement","src":"396364:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396400:4:19","nodeType":"YulLiteral","src":"396400:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"396406:2:19","nodeType":"YulIdentifier","src":"396406:2:19"}],"functionName":{"name":"mstore","nativeSrc":"396393:6:19","nodeType":"YulIdentifier","src":"396393:6:19"},"nativeSrc":"396393:16:19","nodeType":"YulFunctionCall","src":"396393:16:19"},"nativeSrc":"396393:16:19","nodeType":"YulExpressionStatement","src":"396393:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"396429:5:19","nodeType":"YulLiteral","src":"396429:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"396436:2:19","nodeType":"YulIdentifier","src":"396436:2:19"}],"functionName":{"name":"mstore","nativeSrc":"396422:6:19","nodeType":"YulIdentifier","src":"396422:6:19"},"nativeSrc":"396422:17:19","nodeType":"YulFunctionCall","src":"396422:17:19"},"nativeSrc":"396422:17:19","nodeType":"YulExpressionStatement","src":"396422:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38442,"isOffset":false,"isSlot":false,"src":"396203:2:19","valueSize":1},{"declaration":38445,"isOffset":false,"isSlot":false,"src":"396232:2:19","valueSize":1},{"declaration":38448,"isOffset":false,"isSlot":false,"src":"396261:2:19","valueSize":1},{"declaration":38451,"isOffset":false,"isSlot":false,"src":"396290:2:19","valueSize":1},{"declaration":38454,"isOffset":false,"isSlot":false,"src":"396319:2:19","valueSize":1},{"declaration":38457,"isOffset":false,"isSlot":false,"src":"396348:2:19","valueSize":1},{"declaration":38460,"isOffset":false,"isSlot":false,"src":"396377:2:19","valueSize":1},{"declaration":38463,"isOffset":false,"isSlot":false,"src":"396406:2:19","valueSize":1},{"declaration":38466,"isOffset":false,"isSlot":false,"src":"396436:2:19","valueSize":1}],"id":38474,"nodeType":"InlineAssembly","src":"396167:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"394848:3:19","parameters":{"id":38439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38432,"mutability":"mutable","name":"p0","nameLocation":"394860:2:19","nodeType":"VariableDeclaration","scope":38476,"src":"394852:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"394852:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38434,"mutability":"mutable","name":"p1","nameLocation":"394872:2:19","nodeType":"VariableDeclaration","scope":38476,"src":"394864:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38433,"name":"uint256","nodeType":"ElementaryTypeName","src":"394864:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38436,"mutability":"mutable","name":"p2","nameLocation":"394884:2:19","nodeType":"VariableDeclaration","scope":38476,"src":"394876:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38435,"name":"bytes32","nodeType":"ElementaryTypeName","src":"394876:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38438,"mutability":"mutable","name":"p3","nameLocation":"394893:2:19","nodeType":"VariableDeclaration","scope":38476,"src":"394888:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38437,"name":"bool","nodeType":"ElementaryTypeName","src":"394888:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"394851:45:19"},"returnParameters":{"id":38440,"nodeType":"ParameterList","parameters":[],"src":"394911:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38522,"nodeType":"FunctionDefinition","src":"396461:1622:19","nodes":[],"body":{"id":38521,"nodeType":"Block","src":"396536:1547:19","nodes":[],"statements":[{"assignments":[38488],"declarations":[{"constant":false,"id":38488,"mutability":"mutable","name":"m0","nameLocation":"396554:2:19","nodeType":"VariableDeclaration","scope":38521,"src":"396546:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38487,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396546:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38489,"nodeType":"VariableDeclarationStatement","src":"396546:10:19"},{"assignments":[38491],"declarations":[{"constant":false,"id":38491,"mutability":"mutable","name":"m1","nameLocation":"396574:2:19","nodeType":"VariableDeclaration","scope":38521,"src":"396566:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38490,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396566:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38492,"nodeType":"VariableDeclarationStatement","src":"396566:10:19"},{"assignments":[38494],"declarations":[{"constant":false,"id":38494,"mutability":"mutable","name":"m2","nameLocation":"396594:2:19","nodeType":"VariableDeclaration","scope":38521,"src":"396586:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38493,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396586:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38495,"nodeType":"VariableDeclarationStatement","src":"396586:10:19"},{"assignments":[38497],"declarations":[{"constant":false,"id":38497,"mutability":"mutable","name":"m3","nameLocation":"396614:2:19","nodeType":"VariableDeclaration","scope":38521,"src":"396606:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38496,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396606:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38498,"nodeType":"VariableDeclarationStatement","src":"396606:10:19"},{"assignments":[38500],"declarations":[{"constant":false,"id":38500,"mutability":"mutable","name":"m4","nameLocation":"396634:2:19","nodeType":"VariableDeclaration","scope":38521,"src":"396626:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38499,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396626:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38501,"nodeType":"VariableDeclarationStatement","src":"396626:10:19"},{"assignments":[38503],"declarations":[{"constant":false,"id":38503,"mutability":"mutable","name":"m5","nameLocation":"396654:2:19","nodeType":"VariableDeclaration","scope":38521,"src":"396646:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38502,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396646:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38504,"nodeType":"VariableDeclarationStatement","src":"396646:10:19"},{"assignments":[38506],"declarations":[{"constant":false,"id":38506,"mutability":"mutable","name":"m6","nameLocation":"396674:2:19","nodeType":"VariableDeclaration","scope":38521,"src":"396666:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38505,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396666:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38507,"nodeType":"VariableDeclarationStatement","src":"396666:10:19"},{"assignments":[38509],"declarations":[{"constant":false,"id":38509,"mutability":"mutable","name":"m7","nameLocation":"396694:2:19","nodeType":"VariableDeclaration","scope":38521,"src":"396686:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38508,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396686:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38510,"nodeType":"VariableDeclarationStatement","src":"396686:10:19"},{"assignments":[38512],"declarations":[{"constant":false,"id":38512,"mutability":"mutable","name":"m8","nameLocation":"396714:2:19","nodeType":"VariableDeclaration","scope":38521,"src":"396706:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38511,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396706:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38513,"nodeType":"VariableDeclarationStatement","src":"396706:10:19"},{"AST":{"nativeSrc":"396778:927:19","nodeType":"YulBlock","src":"396778:927:19","statements":[{"body":{"nativeSrc":"396821:313:19","nodeType":"YulBlock","src":"396821:313:19","statements":[{"nativeSrc":"396839:15:19","nodeType":"YulVariableDeclaration","src":"396839:15:19","value":{"kind":"number","nativeSrc":"396853:1:19","nodeType":"YulLiteral","src":"396853:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"396843:6:19","nodeType":"YulTypedName","src":"396843:6:19","type":""}]},{"body":{"nativeSrc":"396924:40:19","nodeType":"YulBlock","src":"396924:40:19","statements":[{"body":{"nativeSrc":"396953:9:19","nodeType":"YulBlock","src":"396953:9:19","statements":[{"nativeSrc":"396955:5:19","nodeType":"YulBreak","src":"396955:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"396941:6:19","nodeType":"YulIdentifier","src":"396941:6:19"},{"name":"w","nativeSrc":"396949:1:19","nodeType":"YulIdentifier","src":"396949:1:19"}],"functionName":{"name":"byte","nativeSrc":"396936:4:19","nodeType":"YulIdentifier","src":"396936:4:19"},"nativeSrc":"396936:15:19","nodeType":"YulFunctionCall","src":"396936:15:19"}],"functionName":{"name":"iszero","nativeSrc":"396929:6:19","nodeType":"YulIdentifier","src":"396929:6:19"},"nativeSrc":"396929:23:19","nodeType":"YulFunctionCall","src":"396929:23:19"},"nativeSrc":"396926:36:19","nodeType":"YulIf","src":"396926:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"396881:6:19","nodeType":"YulIdentifier","src":"396881:6:19"},{"kind":"number","nativeSrc":"396889:4:19","nodeType":"YulLiteral","src":"396889:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"396878:2:19","nodeType":"YulIdentifier","src":"396878:2:19"},"nativeSrc":"396878:16:19","nodeType":"YulFunctionCall","src":"396878:16:19"},"nativeSrc":"396871:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"396895:28:19","nodeType":"YulBlock","src":"396895:28:19","statements":[{"nativeSrc":"396897:24:19","nodeType":"YulAssignment","src":"396897:24:19","value":{"arguments":[{"name":"length","nativeSrc":"396911:6:19","nodeType":"YulIdentifier","src":"396911:6:19"},{"kind":"number","nativeSrc":"396919:1:19","nodeType":"YulLiteral","src":"396919:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"396907:3:19","nodeType":"YulIdentifier","src":"396907:3:19"},"nativeSrc":"396907:14:19","nodeType":"YulFunctionCall","src":"396907:14:19"},"variableNames":[{"name":"length","nativeSrc":"396897:6:19","nodeType":"YulIdentifier","src":"396897:6:19"}]}]},"pre":{"nativeSrc":"396875:2:19","nodeType":"YulBlock","src":"396875:2:19","statements":[]},"src":"396871:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"396988:3:19","nodeType":"YulIdentifier","src":"396988:3:19"},{"name":"length","nativeSrc":"396993:6:19","nodeType":"YulIdentifier","src":"396993:6:19"}],"functionName":{"name":"mstore","nativeSrc":"396981:6:19","nodeType":"YulIdentifier","src":"396981:6:19"},"nativeSrc":"396981:19:19","nodeType":"YulFunctionCall","src":"396981:19:19"},"nativeSrc":"396981:19:19","nodeType":"YulExpressionStatement","src":"396981:19:19"},{"nativeSrc":"397017:37:19","nodeType":"YulVariableDeclaration","src":"397017:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"397034:3:19","nodeType":"YulLiteral","src":"397034:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"397043:1:19","nodeType":"YulLiteral","src":"397043:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"397046:6:19","nodeType":"YulIdentifier","src":"397046:6:19"}],"functionName":{"name":"shl","nativeSrc":"397039:3:19","nodeType":"YulIdentifier","src":"397039:3:19"},"nativeSrc":"397039:14:19","nodeType":"YulFunctionCall","src":"397039:14:19"}],"functionName":{"name":"sub","nativeSrc":"397030:3:19","nodeType":"YulIdentifier","src":"397030:3:19"},"nativeSrc":"397030:24:19","nodeType":"YulFunctionCall","src":"397030:24:19"},"variables":[{"name":"shift","nativeSrc":"397021:5:19","nodeType":"YulTypedName","src":"397021:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"397082:3:19","nodeType":"YulIdentifier","src":"397082:3:19"},{"kind":"number","nativeSrc":"397087:4:19","nodeType":"YulLiteral","src":"397087:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"397078:3:19","nodeType":"YulIdentifier","src":"397078:3:19"},"nativeSrc":"397078:14:19","nodeType":"YulFunctionCall","src":"397078:14:19"},{"arguments":[{"name":"shift","nativeSrc":"397098:5:19","nodeType":"YulIdentifier","src":"397098:5:19"},{"arguments":[{"name":"shift","nativeSrc":"397109:5:19","nodeType":"YulIdentifier","src":"397109:5:19"},{"name":"w","nativeSrc":"397116:1:19","nodeType":"YulIdentifier","src":"397116:1:19"}],"functionName":{"name":"shr","nativeSrc":"397105:3:19","nodeType":"YulIdentifier","src":"397105:3:19"},"nativeSrc":"397105:13:19","nodeType":"YulFunctionCall","src":"397105:13:19"}],"functionName":{"name":"shl","nativeSrc":"397094:3:19","nodeType":"YulIdentifier","src":"397094:3:19"},"nativeSrc":"397094:25:19","nodeType":"YulFunctionCall","src":"397094:25:19"}],"functionName":{"name":"mstore","nativeSrc":"397071:6:19","nodeType":"YulIdentifier","src":"397071:6:19"},"nativeSrc":"397071:49:19","nodeType":"YulFunctionCall","src":"397071:49:19"},"nativeSrc":"397071:49:19","nodeType":"YulExpressionStatement","src":"397071:49:19"}]},"name":"writeString","nativeSrc":"396792:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"396813:3:19","nodeType":"YulTypedName","src":"396813:3:19","type":""},{"name":"w","nativeSrc":"396818:1:19","nodeType":"YulTypedName","src":"396818:1:19","type":""}],"src":"396792:342:19"},{"nativeSrc":"397147:17:19","nodeType":"YulAssignment","src":"397147:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"397159:4:19","nodeType":"YulLiteral","src":"397159:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"397153:5:19","nodeType":"YulIdentifier","src":"397153:5:19"},"nativeSrc":"397153:11:19","nodeType":"YulFunctionCall","src":"397153:11:19"},"variableNames":[{"name":"m0","nativeSrc":"397147:2:19","nodeType":"YulIdentifier","src":"397147:2:19"}]},{"nativeSrc":"397177:17:19","nodeType":"YulAssignment","src":"397177:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"397189:4:19","nodeType":"YulLiteral","src":"397189:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"397183:5:19","nodeType":"YulIdentifier","src":"397183:5:19"},"nativeSrc":"397183:11:19","nodeType":"YulFunctionCall","src":"397183:11:19"},"variableNames":[{"name":"m1","nativeSrc":"397177:2:19","nodeType":"YulIdentifier","src":"397177:2:19"}]},{"nativeSrc":"397207:17:19","nodeType":"YulAssignment","src":"397207:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"397219:4:19","nodeType":"YulLiteral","src":"397219:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"397213:5:19","nodeType":"YulIdentifier","src":"397213:5:19"},"nativeSrc":"397213:11:19","nodeType":"YulFunctionCall","src":"397213:11:19"},"variableNames":[{"name":"m2","nativeSrc":"397207:2:19","nodeType":"YulIdentifier","src":"397207:2:19"}]},{"nativeSrc":"397237:17:19","nodeType":"YulAssignment","src":"397237:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"397249:4:19","nodeType":"YulLiteral","src":"397249:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"397243:5:19","nodeType":"YulIdentifier","src":"397243:5:19"},"nativeSrc":"397243:11:19","nodeType":"YulFunctionCall","src":"397243:11:19"},"variableNames":[{"name":"m3","nativeSrc":"397237:2:19","nodeType":"YulIdentifier","src":"397237:2:19"}]},{"nativeSrc":"397267:17:19","nodeType":"YulAssignment","src":"397267:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"397279:4:19","nodeType":"YulLiteral","src":"397279:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"397273:5:19","nodeType":"YulIdentifier","src":"397273:5:19"},"nativeSrc":"397273:11:19","nodeType":"YulFunctionCall","src":"397273:11:19"},"variableNames":[{"name":"m4","nativeSrc":"397267:2:19","nodeType":"YulIdentifier","src":"397267:2:19"}]},{"nativeSrc":"397297:17:19","nodeType":"YulAssignment","src":"397297:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"397309:4:19","nodeType":"YulLiteral","src":"397309:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"397303:5:19","nodeType":"YulIdentifier","src":"397303:5:19"},"nativeSrc":"397303:11:19","nodeType":"YulFunctionCall","src":"397303:11:19"},"variableNames":[{"name":"m5","nativeSrc":"397297:2:19","nodeType":"YulIdentifier","src":"397297:2:19"}]},{"nativeSrc":"397327:17:19","nodeType":"YulAssignment","src":"397327:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"397339:4:19","nodeType":"YulLiteral","src":"397339:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"397333:5:19","nodeType":"YulIdentifier","src":"397333:5:19"},"nativeSrc":"397333:11:19","nodeType":"YulFunctionCall","src":"397333:11:19"},"variableNames":[{"name":"m6","nativeSrc":"397327:2:19","nodeType":"YulIdentifier","src":"397327:2:19"}]},{"nativeSrc":"397357:17:19","nodeType":"YulAssignment","src":"397357:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"397369:4:19","nodeType":"YulLiteral","src":"397369:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"397363:5:19","nodeType":"YulIdentifier","src":"397363:5:19"},"nativeSrc":"397363:11:19","nodeType":"YulFunctionCall","src":"397363:11:19"},"variableNames":[{"name":"m7","nativeSrc":"397357:2:19","nodeType":"YulIdentifier","src":"397357:2:19"}]},{"nativeSrc":"397387:18:19","nodeType":"YulAssignment","src":"397387:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"397399:5:19","nodeType":"YulLiteral","src":"397399:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"397393:5:19","nodeType":"YulIdentifier","src":"397393:5:19"},"nativeSrc":"397393:12:19","nodeType":"YulFunctionCall","src":"397393:12:19"},"variableNames":[{"name":"m8","nativeSrc":"397387:2:19","nodeType":"YulIdentifier","src":"397387:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397490:4:19","nodeType":"YulLiteral","src":"397490:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"397496:10:19","nodeType":"YulLiteral","src":"397496:10:19","type":"","value":"0xc67ea9d1"}],"functionName":{"name":"mstore","nativeSrc":"397483:6:19","nodeType":"YulIdentifier","src":"397483:6:19"},"nativeSrc":"397483:24:19","nodeType":"YulFunctionCall","src":"397483:24:19"},"nativeSrc":"397483:24:19","nodeType":"YulExpressionStatement","src":"397483:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397527:4:19","nodeType":"YulLiteral","src":"397527:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"397533:4:19","nodeType":"YulLiteral","src":"397533:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"397520:6:19","nodeType":"YulIdentifier","src":"397520:6:19"},"nativeSrc":"397520:18:19","nodeType":"YulFunctionCall","src":"397520:18:19"},"nativeSrc":"397520:18:19","nodeType":"YulExpressionStatement","src":"397520:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397558:4:19","nodeType":"YulLiteral","src":"397558:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"397564:2:19","nodeType":"YulIdentifier","src":"397564:2:19"}],"functionName":{"name":"mstore","nativeSrc":"397551:6:19","nodeType":"YulIdentifier","src":"397551:6:19"},"nativeSrc":"397551:16:19","nodeType":"YulFunctionCall","src":"397551:16:19"},"nativeSrc":"397551:16:19","nodeType":"YulExpressionStatement","src":"397551:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397587:4:19","nodeType":"YulLiteral","src":"397587:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"397593:4:19","nodeType":"YulLiteral","src":"397593:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"397580:6:19","nodeType":"YulIdentifier","src":"397580:6:19"},"nativeSrc":"397580:18:19","nodeType":"YulFunctionCall","src":"397580:18:19"},"nativeSrc":"397580:18:19","nodeType":"YulExpressionStatement","src":"397580:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397618:4:19","nodeType":"YulLiteral","src":"397618:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"397624:2:19","nodeType":"YulIdentifier","src":"397624:2:19"}],"functionName":{"name":"mstore","nativeSrc":"397611:6:19","nodeType":"YulIdentifier","src":"397611:6:19"},"nativeSrc":"397611:16:19","nodeType":"YulFunctionCall","src":"397611:16:19"},"nativeSrc":"397611:16:19","nodeType":"YulExpressionStatement","src":"397611:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397652:4:19","nodeType":"YulLiteral","src":"397652:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"397658:2:19","nodeType":"YulIdentifier","src":"397658:2:19"}],"functionName":{"name":"writeString","nativeSrc":"397640:11:19","nodeType":"YulIdentifier","src":"397640:11:19"},"nativeSrc":"397640:21:19","nodeType":"YulFunctionCall","src":"397640:21:19"},"nativeSrc":"397640:21:19","nodeType":"YulExpressionStatement","src":"397640:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397686:4:19","nodeType":"YulLiteral","src":"397686:4:19","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"397692:2:19","nodeType":"YulIdentifier","src":"397692:2:19"}],"functionName":{"name":"writeString","nativeSrc":"397674:11:19","nodeType":"YulIdentifier","src":"397674:11:19"},"nativeSrc":"397674:21:19","nodeType":"YulFunctionCall","src":"397674:21:19"},"nativeSrc":"397674:21:19","nodeType":"YulExpressionStatement","src":"397674:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38488,"isOffset":false,"isSlot":false,"src":"397147:2:19","valueSize":1},{"declaration":38491,"isOffset":false,"isSlot":false,"src":"397177:2:19","valueSize":1},{"declaration":38494,"isOffset":false,"isSlot":false,"src":"397207:2:19","valueSize":1},{"declaration":38497,"isOffset":false,"isSlot":false,"src":"397237:2:19","valueSize":1},{"declaration":38500,"isOffset":false,"isSlot":false,"src":"397267:2:19","valueSize":1},{"declaration":38503,"isOffset":false,"isSlot":false,"src":"397297:2:19","valueSize":1},{"declaration":38506,"isOffset":false,"isSlot":false,"src":"397327:2:19","valueSize":1},{"declaration":38509,"isOffset":false,"isSlot":false,"src":"397357:2:19","valueSize":1},{"declaration":38512,"isOffset":false,"isSlot":false,"src":"397387:2:19","valueSize":1},{"declaration":38478,"isOffset":false,"isSlot":false,"src":"397658:2:19","valueSize":1},{"declaration":38480,"isOffset":false,"isSlot":false,"src":"397564:2:19","valueSize":1},{"declaration":38482,"isOffset":false,"isSlot":false,"src":"397692:2:19","valueSize":1},{"declaration":38484,"isOffset":false,"isSlot":false,"src":"397624:2:19","valueSize":1}],"id":38514,"nodeType":"InlineAssembly","src":"396769:936:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":38516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"397730:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"397736:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":38515,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"397714:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"397714:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38519,"nodeType":"ExpressionStatement","src":"397714:28:19"},{"AST":{"nativeSrc":"397804:273:19","nodeType":"YulBlock","src":"397804:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"397825:4:19","nodeType":"YulLiteral","src":"397825:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"397831:2:19","nodeType":"YulIdentifier","src":"397831:2:19"}],"functionName":{"name":"mstore","nativeSrc":"397818:6:19","nodeType":"YulIdentifier","src":"397818:6:19"},"nativeSrc":"397818:16:19","nodeType":"YulFunctionCall","src":"397818:16:19"},"nativeSrc":"397818:16:19","nodeType":"YulExpressionStatement","src":"397818:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397854:4:19","nodeType":"YulLiteral","src":"397854:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"397860:2:19","nodeType":"YulIdentifier","src":"397860:2:19"}],"functionName":{"name":"mstore","nativeSrc":"397847:6:19","nodeType":"YulIdentifier","src":"397847:6:19"},"nativeSrc":"397847:16:19","nodeType":"YulFunctionCall","src":"397847:16:19"},"nativeSrc":"397847:16:19","nodeType":"YulExpressionStatement","src":"397847:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397883:4:19","nodeType":"YulLiteral","src":"397883:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"397889:2:19","nodeType":"YulIdentifier","src":"397889:2:19"}],"functionName":{"name":"mstore","nativeSrc":"397876:6:19","nodeType":"YulIdentifier","src":"397876:6:19"},"nativeSrc":"397876:16:19","nodeType":"YulFunctionCall","src":"397876:16:19"},"nativeSrc":"397876:16:19","nodeType":"YulExpressionStatement","src":"397876:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397912:4:19","nodeType":"YulLiteral","src":"397912:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"397918:2:19","nodeType":"YulIdentifier","src":"397918:2:19"}],"functionName":{"name":"mstore","nativeSrc":"397905:6:19","nodeType":"YulIdentifier","src":"397905:6:19"},"nativeSrc":"397905:16:19","nodeType":"YulFunctionCall","src":"397905:16:19"},"nativeSrc":"397905:16:19","nodeType":"YulExpressionStatement","src":"397905:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397941:4:19","nodeType":"YulLiteral","src":"397941:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"397947:2:19","nodeType":"YulIdentifier","src":"397947:2:19"}],"functionName":{"name":"mstore","nativeSrc":"397934:6:19","nodeType":"YulIdentifier","src":"397934:6:19"},"nativeSrc":"397934:16:19","nodeType":"YulFunctionCall","src":"397934:16:19"},"nativeSrc":"397934:16:19","nodeType":"YulExpressionStatement","src":"397934:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397970:4:19","nodeType":"YulLiteral","src":"397970:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"397976:2:19","nodeType":"YulIdentifier","src":"397976:2:19"}],"functionName":{"name":"mstore","nativeSrc":"397963:6:19","nodeType":"YulIdentifier","src":"397963:6:19"},"nativeSrc":"397963:16:19","nodeType":"YulFunctionCall","src":"397963:16:19"},"nativeSrc":"397963:16:19","nodeType":"YulExpressionStatement","src":"397963:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"397999:4:19","nodeType":"YulLiteral","src":"397999:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"398005:2:19","nodeType":"YulIdentifier","src":"398005:2:19"}],"functionName":{"name":"mstore","nativeSrc":"397992:6:19","nodeType":"YulIdentifier","src":"397992:6:19"},"nativeSrc":"397992:16:19","nodeType":"YulFunctionCall","src":"397992:16:19"},"nativeSrc":"397992:16:19","nodeType":"YulExpressionStatement","src":"397992:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"398028:4:19","nodeType":"YulLiteral","src":"398028:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"398034:2:19","nodeType":"YulIdentifier","src":"398034:2:19"}],"functionName":{"name":"mstore","nativeSrc":"398021:6:19","nodeType":"YulIdentifier","src":"398021:6:19"},"nativeSrc":"398021:16:19","nodeType":"YulFunctionCall","src":"398021:16:19"},"nativeSrc":"398021:16:19","nodeType":"YulExpressionStatement","src":"398021:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"398057:5:19","nodeType":"YulLiteral","src":"398057:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"398064:2:19","nodeType":"YulIdentifier","src":"398064:2:19"}],"functionName":{"name":"mstore","nativeSrc":"398050:6:19","nodeType":"YulIdentifier","src":"398050:6:19"},"nativeSrc":"398050:17:19","nodeType":"YulFunctionCall","src":"398050:17:19"},"nativeSrc":"398050:17:19","nodeType":"YulExpressionStatement","src":"398050:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38488,"isOffset":false,"isSlot":false,"src":"397831:2:19","valueSize":1},{"declaration":38491,"isOffset":false,"isSlot":false,"src":"397860:2:19","valueSize":1},{"declaration":38494,"isOffset":false,"isSlot":false,"src":"397889:2:19","valueSize":1},{"declaration":38497,"isOffset":false,"isSlot":false,"src":"397918:2:19","valueSize":1},{"declaration":38500,"isOffset":false,"isSlot":false,"src":"397947:2:19","valueSize":1},{"declaration":38503,"isOffset":false,"isSlot":false,"src":"397976:2:19","valueSize":1},{"declaration":38506,"isOffset":false,"isSlot":false,"src":"398005:2:19","valueSize":1},{"declaration":38509,"isOffset":false,"isSlot":false,"src":"398034:2:19","valueSize":1},{"declaration":38512,"isOffset":false,"isSlot":false,"src":"398064:2:19","valueSize":1}],"id":38520,"nodeType":"InlineAssembly","src":"397795:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"396470:3:19","parameters":{"id":38485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38478,"mutability":"mutable","name":"p0","nameLocation":"396482:2:19","nodeType":"VariableDeclaration","scope":38522,"src":"396474:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38477,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396474:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38480,"mutability":"mutable","name":"p1","nameLocation":"396494:2:19","nodeType":"VariableDeclaration","scope":38522,"src":"396486:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38479,"name":"uint256","nodeType":"ElementaryTypeName","src":"396486:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38482,"mutability":"mutable","name":"p2","nameLocation":"396506:2:19","nodeType":"VariableDeclaration","scope":38522,"src":"396498:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38481,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396498:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38484,"mutability":"mutable","name":"p3","nameLocation":"396518:2:19","nodeType":"VariableDeclaration","scope":38522,"src":"396510:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38483,"name":"uint256","nodeType":"ElementaryTypeName","src":"396510:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"396473:48:19"},"returnParameters":{"id":38486,"nodeType":"ParameterList","parameters":[],"src":"396536:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38574,"nodeType":"FunctionDefinition","src":"398089:1824:19","nodes":[],"body":{"id":38573,"nodeType":"Block","src":"398164:1749:19","nodes":[],"statements":[{"assignments":[38534],"declarations":[{"constant":false,"id":38534,"mutability":"mutable","name":"m0","nameLocation":"398182:2:19","nodeType":"VariableDeclaration","scope":38573,"src":"398174:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38533,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398174:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38535,"nodeType":"VariableDeclarationStatement","src":"398174:10:19"},{"assignments":[38537],"declarations":[{"constant":false,"id":38537,"mutability":"mutable","name":"m1","nameLocation":"398202:2:19","nodeType":"VariableDeclaration","scope":38573,"src":"398194:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38536,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398194:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38538,"nodeType":"VariableDeclarationStatement","src":"398194:10:19"},{"assignments":[38540],"declarations":[{"constant":false,"id":38540,"mutability":"mutable","name":"m2","nameLocation":"398222:2:19","nodeType":"VariableDeclaration","scope":38573,"src":"398214:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38539,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398214:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38541,"nodeType":"VariableDeclarationStatement","src":"398214:10:19"},{"assignments":[38543],"declarations":[{"constant":false,"id":38543,"mutability":"mutable","name":"m3","nameLocation":"398242:2:19","nodeType":"VariableDeclaration","scope":38573,"src":"398234:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38542,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398234:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38544,"nodeType":"VariableDeclarationStatement","src":"398234:10:19"},{"assignments":[38546],"declarations":[{"constant":false,"id":38546,"mutability":"mutable","name":"m4","nameLocation":"398262:2:19","nodeType":"VariableDeclaration","scope":38573,"src":"398254:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38545,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398254:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38547,"nodeType":"VariableDeclarationStatement","src":"398254:10:19"},{"assignments":[38549],"declarations":[{"constant":false,"id":38549,"mutability":"mutable","name":"m5","nameLocation":"398282:2:19","nodeType":"VariableDeclaration","scope":38573,"src":"398274:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38548,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398274:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38550,"nodeType":"VariableDeclarationStatement","src":"398274:10:19"},{"assignments":[38552],"declarations":[{"constant":false,"id":38552,"mutability":"mutable","name":"m6","nameLocation":"398302:2:19","nodeType":"VariableDeclaration","scope":38573,"src":"398294:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38551,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398294:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38553,"nodeType":"VariableDeclarationStatement","src":"398294:10:19"},{"assignments":[38555],"declarations":[{"constant":false,"id":38555,"mutability":"mutable","name":"m7","nameLocation":"398322:2:19","nodeType":"VariableDeclaration","scope":38573,"src":"398314:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38554,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398314:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38556,"nodeType":"VariableDeclarationStatement","src":"398314:10:19"},{"assignments":[38558],"declarations":[{"constant":false,"id":38558,"mutability":"mutable","name":"m8","nameLocation":"398342:2:19","nodeType":"VariableDeclaration","scope":38573,"src":"398334:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38557,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398334:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38559,"nodeType":"VariableDeclarationStatement","src":"398334:10:19"},{"assignments":[38561],"declarations":[{"constant":false,"id":38561,"mutability":"mutable","name":"m9","nameLocation":"398362:2:19","nodeType":"VariableDeclaration","scope":38573,"src":"398354:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38560,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398354:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38562,"nodeType":"VariableDeclarationStatement","src":"398354:10:19"},{"assignments":[38564],"declarations":[{"constant":false,"id":38564,"mutability":"mutable","name":"m10","nameLocation":"398382:3:19","nodeType":"VariableDeclaration","scope":38573,"src":"398374:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38563,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398374:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38565,"nodeType":"VariableDeclarationStatement","src":"398374:11:19"},{"AST":{"nativeSrc":"398447:1027:19","nodeType":"YulBlock","src":"398447:1027:19","statements":[{"body":{"nativeSrc":"398490:313:19","nodeType":"YulBlock","src":"398490:313:19","statements":[{"nativeSrc":"398508:15:19","nodeType":"YulVariableDeclaration","src":"398508:15:19","value":{"kind":"number","nativeSrc":"398522:1:19","nodeType":"YulLiteral","src":"398522:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"398512:6:19","nodeType":"YulTypedName","src":"398512:6:19","type":""}]},{"body":{"nativeSrc":"398593:40:19","nodeType":"YulBlock","src":"398593:40:19","statements":[{"body":{"nativeSrc":"398622:9:19","nodeType":"YulBlock","src":"398622:9:19","statements":[{"nativeSrc":"398624:5:19","nodeType":"YulBreak","src":"398624:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"398610:6:19","nodeType":"YulIdentifier","src":"398610:6:19"},{"name":"w","nativeSrc":"398618:1:19","nodeType":"YulIdentifier","src":"398618:1:19"}],"functionName":{"name":"byte","nativeSrc":"398605:4:19","nodeType":"YulIdentifier","src":"398605:4:19"},"nativeSrc":"398605:15:19","nodeType":"YulFunctionCall","src":"398605:15:19"}],"functionName":{"name":"iszero","nativeSrc":"398598:6:19","nodeType":"YulIdentifier","src":"398598:6:19"},"nativeSrc":"398598:23:19","nodeType":"YulFunctionCall","src":"398598:23:19"},"nativeSrc":"398595:36:19","nodeType":"YulIf","src":"398595:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"398550:6:19","nodeType":"YulIdentifier","src":"398550:6:19"},{"kind":"number","nativeSrc":"398558:4:19","nodeType":"YulLiteral","src":"398558:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"398547:2:19","nodeType":"YulIdentifier","src":"398547:2:19"},"nativeSrc":"398547:16:19","nodeType":"YulFunctionCall","src":"398547:16:19"},"nativeSrc":"398540:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"398564:28:19","nodeType":"YulBlock","src":"398564:28:19","statements":[{"nativeSrc":"398566:24:19","nodeType":"YulAssignment","src":"398566:24:19","value":{"arguments":[{"name":"length","nativeSrc":"398580:6:19","nodeType":"YulIdentifier","src":"398580:6:19"},{"kind":"number","nativeSrc":"398588:1:19","nodeType":"YulLiteral","src":"398588:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"398576:3:19","nodeType":"YulIdentifier","src":"398576:3:19"},"nativeSrc":"398576:14:19","nodeType":"YulFunctionCall","src":"398576:14:19"},"variableNames":[{"name":"length","nativeSrc":"398566:6:19","nodeType":"YulIdentifier","src":"398566:6:19"}]}]},"pre":{"nativeSrc":"398544:2:19","nodeType":"YulBlock","src":"398544:2:19","statements":[]},"src":"398540:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"398657:3:19","nodeType":"YulIdentifier","src":"398657:3:19"},{"name":"length","nativeSrc":"398662:6:19","nodeType":"YulIdentifier","src":"398662:6:19"}],"functionName":{"name":"mstore","nativeSrc":"398650:6:19","nodeType":"YulIdentifier","src":"398650:6:19"},"nativeSrc":"398650:19:19","nodeType":"YulFunctionCall","src":"398650:19:19"},"nativeSrc":"398650:19:19","nodeType":"YulExpressionStatement","src":"398650:19:19"},{"nativeSrc":"398686:37:19","nodeType":"YulVariableDeclaration","src":"398686:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"398703:3:19","nodeType":"YulLiteral","src":"398703:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"398712:1:19","nodeType":"YulLiteral","src":"398712:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"398715:6:19","nodeType":"YulIdentifier","src":"398715:6:19"}],"functionName":{"name":"shl","nativeSrc":"398708:3:19","nodeType":"YulIdentifier","src":"398708:3:19"},"nativeSrc":"398708:14:19","nodeType":"YulFunctionCall","src":"398708:14:19"}],"functionName":{"name":"sub","nativeSrc":"398699:3:19","nodeType":"YulIdentifier","src":"398699:3:19"},"nativeSrc":"398699:24:19","nodeType":"YulFunctionCall","src":"398699:24:19"},"variables":[{"name":"shift","nativeSrc":"398690:5:19","nodeType":"YulTypedName","src":"398690:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"398751:3:19","nodeType":"YulIdentifier","src":"398751:3:19"},{"kind":"number","nativeSrc":"398756:4:19","nodeType":"YulLiteral","src":"398756:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"398747:3:19","nodeType":"YulIdentifier","src":"398747:3:19"},"nativeSrc":"398747:14:19","nodeType":"YulFunctionCall","src":"398747:14:19"},{"arguments":[{"name":"shift","nativeSrc":"398767:5:19","nodeType":"YulIdentifier","src":"398767:5:19"},{"arguments":[{"name":"shift","nativeSrc":"398778:5:19","nodeType":"YulIdentifier","src":"398778:5:19"},{"name":"w","nativeSrc":"398785:1:19","nodeType":"YulIdentifier","src":"398785:1:19"}],"functionName":{"name":"shr","nativeSrc":"398774:3:19","nodeType":"YulIdentifier","src":"398774:3:19"},"nativeSrc":"398774:13:19","nodeType":"YulFunctionCall","src":"398774:13:19"}],"functionName":{"name":"shl","nativeSrc":"398763:3:19","nodeType":"YulIdentifier","src":"398763:3:19"},"nativeSrc":"398763:25:19","nodeType":"YulFunctionCall","src":"398763:25:19"}],"functionName":{"name":"mstore","nativeSrc":"398740:6:19","nodeType":"YulIdentifier","src":"398740:6:19"},"nativeSrc":"398740:49:19","nodeType":"YulFunctionCall","src":"398740:49:19"},"nativeSrc":"398740:49:19","nodeType":"YulExpressionStatement","src":"398740:49:19"}]},"name":"writeString","nativeSrc":"398461:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"398482:3:19","nodeType":"YulTypedName","src":"398482:3:19","type":""},{"name":"w","nativeSrc":"398487:1:19","nodeType":"YulTypedName","src":"398487:1:19","type":""}],"src":"398461:342:19"},{"nativeSrc":"398816:17:19","nodeType":"YulAssignment","src":"398816:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"398828:4:19","nodeType":"YulLiteral","src":"398828:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"398822:5:19","nodeType":"YulIdentifier","src":"398822:5:19"},"nativeSrc":"398822:11:19","nodeType":"YulFunctionCall","src":"398822:11:19"},"variableNames":[{"name":"m0","nativeSrc":"398816:2:19","nodeType":"YulIdentifier","src":"398816:2:19"}]},{"nativeSrc":"398846:17:19","nodeType":"YulAssignment","src":"398846:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"398858:4:19","nodeType":"YulLiteral","src":"398858:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"398852:5:19","nodeType":"YulIdentifier","src":"398852:5:19"},"nativeSrc":"398852:11:19","nodeType":"YulFunctionCall","src":"398852:11:19"},"variableNames":[{"name":"m1","nativeSrc":"398846:2:19","nodeType":"YulIdentifier","src":"398846:2:19"}]},{"nativeSrc":"398876:17:19","nodeType":"YulAssignment","src":"398876:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"398888:4:19","nodeType":"YulLiteral","src":"398888:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"398882:5:19","nodeType":"YulIdentifier","src":"398882:5:19"},"nativeSrc":"398882:11:19","nodeType":"YulFunctionCall","src":"398882:11:19"},"variableNames":[{"name":"m2","nativeSrc":"398876:2:19","nodeType":"YulIdentifier","src":"398876:2:19"}]},{"nativeSrc":"398906:17:19","nodeType":"YulAssignment","src":"398906:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"398918:4:19","nodeType":"YulLiteral","src":"398918:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"398912:5:19","nodeType":"YulIdentifier","src":"398912:5:19"},"nativeSrc":"398912:11:19","nodeType":"YulFunctionCall","src":"398912:11:19"},"variableNames":[{"name":"m3","nativeSrc":"398906:2:19","nodeType":"YulIdentifier","src":"398906:2:19"}]},{"nativeSrc":"398936:17:19","nodeType":"YulAssignment","src":"398936:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"398948:4:19","nodeType":"YulLiteral","src":"398948:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"398942:5:19","nodeType":"YulIdentifier","src":"398942:5:19"},"nativeSrc":"398942:11:19","nodeType":"YulFunctionCall","src":"398942:11:19"},"variableNames":[{"name":"m4","nativeSrc":"398936:2:19","nodeType":"YulIdentifier","src":"398936:2:19"}]},{"nativeSrc":"398966:17:19","nodeType":"YulAssignment","src":"398966:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"398978:4:19","nodeType":"YulLiteral","src":"398978:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"398972:5:19","nodeType":"YulIdentifier","src":"398972:5:19"},"nativeSrc":"398972:11:19","nodeType":"YulFunctionCall","src":"398972:11:19"},"variableNames":[{"name":"m5","nativeSrc":"398966:2:19","nodeType":"YulIdentifier","src":"398966:2:19"}]},{"nativeSrc":"398996:17:19","nodeType":"YulAssignment","src":"398996:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"399008:4:19","nodeType":"YulLiteral","src":"399008:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"399002:5:19","nodeType":"YulIdentifier","src":"399002:5:19"},"nativeSrc":"399002:11:19","nodeType":"YulFunctionCall","src":"399002:11:19"},"variableNames":[{"name":"m6","nativeSrc":"398996:2:19","nodeType":"YulIdentifier","src":"398996:2:19"}]},{"nativeSrc":"399026:17:19","nodeType":"YulAssignment","src":"399026:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"399038:4:19","nodeType":"YulLiteral","src":"399038:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"399032:5:19","nodeType":"YulIdentifier","src":"399032:5:19"},"nativeSrc":"399032:11:19","nodeType":"YulFunctionCall","src":"399032:11:19"},"variableNames":[{"name":"m7","nativeSrc":"399026:2:19","nodeType":"YulIdentifier","src":"399026:2:19"}]},{"nativeSrc":"399056:18:19","nodeType":"YulAssignment","src":"399056:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"399068:5:19","nodeType":"YulLiteral","src":"399068:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"399062:5:19","nodeType":"YulIdentifier","src":"399062:5:19"},"nativeSrc":"399062:12:19","nodeType":"YulFunctionCall","src":"399062:12:19"},"variableNames":[{"name":"m8","nativeSrc":"399056:2:19","nodeType":"YulIdentifier","src":"399056:2:19"}]},{"nativeSrc":"399087:18:19","nodeType":"YulAssignment","src":"399087:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"399099:5:19","nodeType":"YulLiteral","src":"399099:5:19","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"399093:5:19","nodeType":"YulIdentifier","src":"399093:5:19"},"nativeSrc":"399093:12:19","nodeType":"YulFunctionCall","src":"399093:12:19"},"variableNames":[{"name":"m9","nativeSrc":"399087:2:19","nodeType":"YulIdentifier","src":"399087:2:19"}]},{"nativeSrc":"399118:19:19","nodeType":"YulAssignment","src":"399118:19:19","value":{"arguments":[{"kind":"number","nativeSrc":"399131:5:19","nodeType":"YulLiteral","src":"399131:5:19","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"399125:5:19","nodeType":"YulIdentifier","src":"399125:5:19"},"nativeSrc":"399125:12:19","nodeType":"YulFunctionCall","src":"399125:12:19"},"variableNames":[{"name":"m10","nativeSrc":"399118:3:19","nodeType":"YulIdentifier","src":"399118:3:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399221:4:19","nodeType":"YulLiteral","src":"399221:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"399227:10:19","nodeType":"YulLiteral","src":"399227:10:19","type":"","value":"0x5ab84e1f"}],"functionName":{"name":"mstore","nativeSrc":"399214:6:19","nodeType":"YulIdentifier","src":"399214:6:19"},"nativeSrc":"399214:24:19","nodeType":"YulFunctionCall","src":"399214:24:19"},"nativeSrc":"399214:24:19","nodeType":"YulExpressionStatement","src":"399214:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399258:4:19","nodeType":"YulLiteral","src":"399258:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"399264:4:19","nodeType":"YulLiteral","src":"399264:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"399251:6:19","nodeType":"YulIdentifier","src":"399251:6:19"},"nativeSrc":"399251:18:19","nodeType":"YulFunctionCall","src":"399251:18:19"},"nativeSrc":"399251:18:19","nodeType":"YulExpressionStatement","src":"399251:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399289:4:19","nodeType":"YulLiteral","src":"399289:4:19","type":"","value":"0x40"},{"name":"p1","nativeSrc":"399295:2:19","nodeType":"YulIdentifier","src":"399295:2:19"}],"functionName":{"name":"mstore","nativeSrc":"399282:6:19","nodeType":"YulIdentifier","src":"399282:6:19"},"nativeSrc":"399282:16:19","nodeType":"YulFunctionCall","src":"399282:16:19"},"nativeSrc":"399282:16:19","nodeType":"YulExpressionStatement","src":"399282:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399318:4:19","nodeType":"YulLiteral","src":"399318:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"399324:4:19","nodeType":"YulLiteral","src":"399324:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"399311:6:19","nodeType":"YulIdentifier","src":"399311:6:19"},"nativeSrc":"399311:18:19","nodeType":"YulFunctionCall","src":"399311:18:19"},"nativeSrc":"399311:18:19","nodeType":"YulExpressionStatement","src":"399311:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399349:4:19","nodeType":"YulLiteral","src":"399349:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"399355:5:19","nodeType":"YulLiteral","src":"399355:5:19","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"399342:6:19","nodeType":"YulIdentifier","src":"399342:6:19"},"nativeSrc":"399342:19:19","nodeType":"YulFunctionCall","src":"399342:19:19"},"nativeSrc":"399342:19:19","nodeType":"YulExpressionStatement","src":"399342:19:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399386:4:19","nodeType":"YulLiteral","src":"399386:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"399392:2:19","nodeType":"YulIdentifier","src":"399392:2:19"}],"functionName":{"name":"writeString","nativeSrc":"399374:11:19","nodeType":"YulIdentifier","src":"399374:11:19"},"nativeSrc":"399374:21:19","nodeType":"YulFunctionCall","src":"399374:21:19"},"nativeSrc":"399374:21:19","nodeType":"YulExpressionStatement","src":"399374:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399420:4:19","nodeType":"YulLiteral","src":"399420:4:19","type":"","value":"0xe0"},{"name":"p2","nativeSrc":"399426:2:19","nodeType":"YulIdentifier","src":"399426:2:19"}],"functionName":{"name":"writeString","nativeSrc":"399408:11:19","nodeType":"YulIdentifier","src":"399408:11:19"},"nativeSrc":"399408:21:19","nodeType":"YulFunctionCall","src":"399408:21:19"},"nativeSrc":"399408:21:19","nodeType":"YulExpressionStatement","src":"399408:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399454:5:19","nodeType":"YulLiteral","src":"399454:5:19","type":"","value":"0x120"},{"name":"p3","nativeSrc":"399461:2:19","nodeType":"YulIdentifier","src":"399461:2:19"}],"functionName":{"name":"writeString","nativeSrc":"399442:11:19","nodeType":"YulIdentifier","src":"399442:11:19"},"nativeSrc":"399442:22:19","nodeType":"YulFunctionCall","src":"399442:22:19"},"nativeSrc":"399442:22:19","nodeType":"YulExpressionStatement","src":"399442:22:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38534,"isOffset":false,"isSlot":false,"src":"398816:2:19","valueSize":1},{"declaration":38537,"isOffset":false,"isSlot":false,"src":"398846:2:19","valueSize":1},{"declaration":38564,"isOffset":false,"isSlot":false,"src":"399118:3:19","valueSize":1},{"declaration":38540,"isOffset":false,"isSlot":false,"src":"398876:2:19","valueSize":1},{"declaration":38543,"isOffset":false,"isSlot":false,"src":"398906:2:19","valueSize":1},{"declaration":38546,"isOffset":false,"isSlot":false,"src":"398936:2:19","valueSize":1},{"declaration":38549,"isOffset":false,"isSlot":false,"src":"398966:2:19","valueSize":1},{"declaration":38552,"isOffset":false,"isSlot":false,"src":"398996:2:19","valueSize":1},{"declaration":38555,"isOffset":false,"isSlot":false,"src":"399026:2:19","valueSize":1},{"declaration":38558,"isOffset":false,"isSlot":false,"src":"399056:2:19","valueSize":1},{"declaration":38561,"isOffset":false,"isSlot":false,"src":"399087:2:19","valueSize":1},{"declaration":38524,"isOffset":false,"isSlot":false,"src":"399392:2:19","valueSize":1},{"declaration":38526,"isOffset":false,"isSlot":false,"src":"399295:2:19","valueSize":1},{"declaration":38528,"isOffset":false,"isSlot":false,"src":"399426:2:19","valueSize":1},{"declaration":38530,"isOffset":false,"isSlot":false,"src":"399461:2:19","valueSize":1}],"id":38566,"nodeType":"InlineAssembly","src":"398438:1036:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":38568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"399499:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":38569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"399505:5:19","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"0x144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"}],"id":38567,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"399483:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"399483:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38571,"nodeType":"ExpressionStatement","src":"399483:28:19"},{"AST":{"nativeSrc":"399573:334:19","nodeType":"YulBlock","src":"399573:334:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"399594:4:19","nodeType":"YulLiteral","src":"399594:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"399600:2:19","nodeType":"YulIdentifier","src":"399600:2:19"}],"functionName":{"name":"mstore","nativeSrc":"399587:6:19","nodeType":"YulIdentifier","src":"399587:6:19"},"nativeSrc":"399587:16:19","nodeType":"YulFunctionCall","src":"399587:16:19"},"nativeSrc":"399587:16:19","nodeType":"YulExpressionStatement","src":"399587:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399623:4:19","nodeType":"YulLiteral","src":"399623:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"399629:2:19","nodeType":"YulIdentifier","src":"399629:2:19"}],"functionName":{"name":"mstore","nativeSrc":"399616:6:19","nodeType":"YulIdentifier","src":"399616:6:19"},"nativeSrc":"399616:16:19","nodeType":"YulFunctionCall","src":"399616:16:19"},"nativeSrc":"399616:16:19","nodeType":"YulExpressionStatement","src":"399616:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399652:4:19","nodeType":"YulLiteral","src":"399652:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"399658:2:19","nodeType":"YulIdentifier","src":"399658:2:19"}],"functionName":{"name":"mstore","nativeSrc":"399645:6:19","nodeType":"YulIdentifier","src":"399645:6:19"},"nativeSrc":"399645:16:19","nodeType":"YulFunctionCall","src":"399645:16:19"},"nativeSrc":"399645:16:19","nodeType":"YulExpressionStatement","src":"399645:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399681:4:19","nodeType":"YulLiteral","src":"399681:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"399687:2:19","nodeType":"YulIdentifier","src":"399687:2:19"}],"functionName":{"name":"mstore","nativeSrc":"399674:6:19","nodeType":"YulIdentifier","src":"399674:6:19"},"nativeSrc":"399674:16:19","nodeType":"YulFunctionCall","src":"399674:16:19"},"nativeSrc":"399674:16:19","nodeType":"YulExpressionStatement","src":"399674:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399710:4:19","nodeType":"YulLiteral","src":"399710:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"399716:2:19","nodeType":"YulIdentifier","src":"399716:2:19"}],"functionName":{"name":"mstore","nativeSrc":"399703:6:19","nodeType":"YulIdentifier","src":"399703:6:19"},"nativeSrc":"399703:16:19","nodeType":"YulFunctionCall","src":"399703:16:19"},"nativeSrc":"399703:16:19","nodeType":"YulExpressionStatement","src":"399703:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399739:4:19","nodeType":"YulLiteral","src":"399739:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"399745:2:19","nodeType":"YulIdentifier","src":"399745:2:19"}],"functionName":{"name":"mstore","nativeSrc":"399732:6:19","nodeType":"YulIdentifier","src":"399732:6:19"},"nativeSrc":"399732:16:19","nodeType":"YulFunctionCall","src":"399732:16:19"},"nativeSrc":"399732:16:19","nodeType":"YulExpressionStatement","src":"399732:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399768:4:19","nodeType":"YulLiteral","src":"399768:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"399774:2:19","nodeType":"YulIdentifier","src":"399774:2:19"}],"functionName":{"name":"mstore","nativeSrc":"399761:6:19","nodeType":"YulIdentifier","src":"399761:6:19"},"nativeSrc":"399761:16:19","nodeType":"YulFunctionCall","src":"399761:16:19"},"nativeSrc":"399761:16:19","nodeType":"YulExpressionStatement","src":"399761:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399797:4:19","nodeType":"YulLiteral","src":"399797:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"399803:2:19","nodeType":"YulIdentifier","src":"399803:2:19"}],"functionName":{"name":"mstore","nativeSrc":"399790:6:19","nodeType":"YulIdentifier","src":"399790:6:19"},"nativeSrc":"399790:16:19","nodeType":"YulFunctionCall","src":"399790:16:19"},"nativeSrc":"399790:16:19","nodeType":"YulExpressionStatement","src":"399790:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399826:5:19","nodeType":"YulLiteral","src":"399826:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"399833:2:19","nodeType":"YulIdentifier","src":"399833:2:19"}],"functionName":{"name":"mstore","nativeSrc":"399819:6:19","nodeType":"YulIdentifier","src":"399819:6:19"},"nativeSrc":"399819:17:19","nodeType":"YulFunctionCall","src":"399819:17:19"},"nativeSrc":"399819:17:19","nodeType":"YulExpressionStatement","src":"399819:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399856:5:19","nodeType":"YulLiteral","src":"399856:5:19","type":"","value":"0x120"},{"name":"m9","nativeSrc":"399863:2:19","nodeType":"YulIdentifier","src":"399863:2:19"}],"functionName":{"name":"mstore","nativeSrc":"399849:6:19","nodeType":"YulIdentifier","src":"399849:6:19"},"nativeSrc":"399849:17:19","nodeType":"YulFunctionCall","src":"399849:17:19"},"nativeSrc":"399849:17:19","nodeType":"YulExpressionStatement","src":"399849:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"399886:5:19","nodeType":"YulLiteral","src":"399886:5:19","type":"","value":"0x140"},{"name":"m10","nativeSrc":"399893:3:19","nodeType":"YulIdentifier","src":"399893:3:19"}],"functionName":{"name":"mstore","nativeSrc":"399879:6:19","nodeType":"YulIdentifier","src":"399879:6:19"},"nativeSrc":"399879:18:19","nodeType":"YulFunctionCall","src":"399879:18:19"},"nativeSrc":"399879:18:19","nodeType":"YulExpressionStatement","src":"399879:18:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38534,"isOffset":false,"isSlot":false,"src":"399600:2:19","valueSize":1},{"declaration":38537,"isOffset":false,"isSlot":false,"src":"399629:2:19","valueSize":1},{"declaration":38564,"isOffset":false,"isSlot":false,"src":"399893:3:19","valueSize":1},{"declaration":38540,"isOffset":false,"isSlot":false,"src":"399658:2:19","valueSize":1},{"declaration":38543,"isOffset":false,"isSlot":false,"src":"399687:2:19","valueSize":1},{"declaration":38546,"isOffset":false,"isSlot":false,"src":"399716:2:19","valueSize":1},{"declaration":38549,"isOffset":false,"isSlot":false,"src":"399745:2:19","valueSize":1},{"declaration":38552,"isOffset":false,"isSlot":false,"src":"399774:2:19","valueSize":1},{"declaration":38555,"isOffset":false,"isSlot":false,"src":"399803:2:19","valueSize":1},{"declaration":38558,"isOffset":false,"isSlot":false,"src":"399833:2:19","valueSize":1},{"declaration":38561,"isOffset":false,"isSlot":false,"src":"399863:2:19","valueSize":1}],"id":38572,"nodeType":"InlineAssembly","src":"399564:343:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"398098:3:19","parameters":{"id":38531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38524,"mutability":"mutable","name":"p0","nameLocation":"398110:2:19","nodeType":"VariableDeclaration","scope":38574,"src":"398102:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38523,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398102:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38526,"mutability":"mutable","name":"p1","nameLocation":"398122:2:19","nodeType":"VariableDeclaration","scope":38574,"src":"398114:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38525,"name":"uint256","nodeType":"ElementaryTypeName","src":"398114:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38528,"mutability":"mutable","name":"p2","nameLocation":"398134:2:19","nodeType":"VariableDeclaration","scope":38574,"src":"398126:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38527,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398126:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38530,"mutability":"mutable","name":"p3","nameLocation":"398146:2:19","nodeType":"VariableDeclaration","scope":38574,"src":"398138:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38529,"name":"bytes32","nodeType":"ElementaryTypeName","src":"398138:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"398101:48:19"},"returnParameters":{"id":38532,"nodeType":"ParameterList","parameters":[],"src":"398164:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38620,"nodeType":"FunctionDefinition","src":"399919:1622:19","nodes":[],"body":{"id":38619,"nodeType":"Block","src":"399994:1547:19","nodes":[],"statements":[{"assignments":[38586],"declarations":[{"constant":false,"id":38586,"mutability":"mutable","name":"m0","nameLocation":"400012:2:19","nodeType":"VariableDeclaration","scope":38619,"src":"400004:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38585,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400004:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38587,"nodeType":"VariableDeclarationStatement","src":"400004:10:19"},{"assignments":[38589],"declarations":[{"constant":false,"id":38589,"mutability":"mutable","name":"m1","nameLocation":"400032:2:19","nodeType":"VariableDeclaration","scope":38619,"src":"400024:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38588,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400024:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38590,"nodeType":"VariableDeclarationStatement","src":"400024:10:19"},{"assignments":[38592],"declarations":[{"constant":false,"id":38592,"mutability":"mutable","name":"m2","nameLocation":"400052:2:19","nodeType":"VariableDeclaration","scope":38619,"src":"400044:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38591,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400044:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38593,"nodeType":"VariableDeclarationStatement","src":"400044:10:19"},{"assignments":[38595],"declarations":[{"constant":false,"id":38595,"mutability":"mutable","name":"m3","nameLocation":"400072:2:19","nodeType":"VariableDeclaration","scope":38619,"src":"400064:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38594,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400064:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38596,"nodeType":"VariableDeclarationStatement","src":"400064:10:19"},{"assignments":[38598],"declarations":[{"constant":false,"id":38598,"mutability":"mutable","name":"m4","nameLocation":"400092:2:19","nodeType":"VariableDeclaration","scope":38619,"src":"400084:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38597,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400084:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38599,"nodeType":"VariableDeclarationStatement","src":"400084:10:19"},{"assignments":[38601],"declarations":[{"constant":false,"id":38601,"mutability":"mutable","name":"m5","nameLocation":"400112:2:19","nodeType":"VariableDeclaration","scope":38619,"src":"400104:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38600,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400104:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38602,"nodeType":"VariableDeclarationStatement","src":"400104:10:19"},{"assignments":[38604],"declarations":[{"constant":false,"id":38604,"mutability":"mutable","name":"m6","nameLocation":"400132:2:19","nodeType":"VariableDeclaration","scope":38619,"src":"400124:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38603,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400124:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38605,"nodeType":"VariableDeclarationStatement","src":"400124:10:19"},{"assignments":[38607],"declarations":[{"constant":false,"id":38607,"mutability":"mutable","name":"m7","nameLocation":"400152:2:19","nodeType":"VariableDeclaration","scope":38619,"src":"400144:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38606,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400144:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38608,"nodeType":"VariableDeclarationStatement","src":"400144:10:19"},{"assignments":[38610],"declarations":[{"constant":false,"id":38610,"mutability":"mutable","name":"m8","nameLocation":"400172:2:19","nodeType":"VariableDeclaration","scope":38619,"src":"400164:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38609,"name":"bytes32","nodeType":"ElementaryTypeName","src":"400164:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38611,"nodeType":"VariableDeclarationStatement","src":"400164:10:19"},{"AST":{"nativeSrc":"400236:927:19","nodeType":"YulBlock","src":"400236:927:19","statements":[{"body":{"nativeSrc":"400279:313:19","nodeType":"YulBlock","src":"400279:313:19","statements":[{"nativeSrc":"400297:15:19","nodeType":"YulVariableDeclaration","src":"400297:15:19","value":{"kind":"number","nativeSrc":"400311:1:19","nodeType":"YulLiteral","src":"400311:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"400301:6:19","nodeType":"YulTypedName","src":"400301:6:19","type":""}]},{"body":{"nativeSrc":"400382:40:19","nodeType":"YulBlock","src":"400382:40:19","statements":[{"body":{"nativeSrc":"400411:9:19","nodeType":"YulBlock","src":"400411:9:19","statements":[{"nativeSrc":"400413:5:19","nodeType":"YulBreak","src":"400413:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"400399:6:19","nodeType":"YulIdentifier","src":"400399:6:19"},{"name":"w","nativeSrc":"400407:1:19","nodeType":"YulIdentifier","src":"400407:1:19"}],"functionName":{"name":"byte","nativeSrc":"400394:4:19","nodeType":"YulIdentifier","src":"400394:4:19"},"nativeSrc":"400394:15:19","nodeType":"YulFunctionCall","src":"400394:15:19"}],"functionName":{"name":"iszero","nativeSrc":"400387:6:19","nodeType":"YulIdentifier","src":"400387:6:19"},"nativeSrc":"400387:23:19","nodeType":"YulFunctionCall","src":"400387:23:19"},"nativeSrc":"400384:36:19","nodeType":"YulIf","src":"400384:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"400339:6:19","nodeType":"YulIdentifier","src":"400339:6:19"},{"kind":"number","nativeSrc":"400347:4:19","nodeType":"YulLiteral","src":"400347:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"400336:2:19","nodeType":"YulIdentifier","src":"400336:2:19"},"nativeSrc":"400336:16:19","nodeType":"YulFunctionCall","src":"400336:16:19"},"nativeSrc":"400329:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"400353:28:19","nodeType":"YulBlock","src":"400353:28:19","statements":[{"nativeSrc":"400355:24:19","nodeType":"YulAssignment","src":"400355:24:19","value":{"arguments":[{"name":"length","nativeSrc":"400369:6:19","nodeType":"YulIdentifier","src":"400369:6:19"},{"kind":"number","nativeSrc":"400377:1:19","nodeType":"YulLiteral","src":"400377:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"400365:3:19","nodeType":"YulIdentifier","src":"400365:3:19"},"nativeSrc":"400365:14:19","nodeType":"YulFunctionCall","src":"400365:14:19"},"variableNames":[{"name":"length","nativeSrc":"400355:6:19","nodeType":"YulIdentifier","src":"400355:6:19"}]}]},"pre":{"nativeSrc":"400333:2:19","nodeType":"YulBlock","src":"400333:2:19","statements":[]},"src":"400329:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"400446:3:19","nodeType":"YulIdentifier","src":"400446:3:19"},{"name":"length","nativeSrc":"400451:6:19","nodeType":"YulIdentifier","src":"400451:6:19"}],"functionName":{"name":"mstore","nativeSrc":"400439:6:19","nodeType":"YulIdentifier","src":"400439:6:19"},"nativeSrc":"400439:19:19","nodeType":"YulFunctionCall","src":"400439:19:19"},"nativeSrc":"400439:19:19","nodeType":"YulExpressionStatement","src":"400439:19:19"},{"nativeSrc":"400475:37:19","nodeType":"YulVariableDeclaration","src":"400475:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"400492:3:19","nodeType":"YulLiteral","src":"400492:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"400501:1:19","nodeType":"YulLiteral","src":"400501:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"400504:6:19","nodeType":"YulIdentifier","src":"400504:6:19"}],"functionName":{"name":"shl","nativeSrc":"400497:3:19","nodeType":"YulIdentifier","src":"400497:3:19"},"nativeSrc":"400497:14:19","nodeType":"YulFunctionCall","src":"400497:14:19"}],"functionName":{"name":"sub","nativeSrc":"400488:3:19","nodeType":"YulIdentifier","src":"400488:3:19"},"nativeSrc":"400488:24:19","nodeType":"YulFunctionCall","src":"400488:24:19"},"variables":[{"name":"shift","nativeSrc":"400479:5:19","nodeType":"YulTypedName","src":"400479:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"400540:3:19","nodeType":"YulIdentifier","src":"400540:3:19"},{"kind":"number","nativeSrc":"400545:4:19","nodeType":"YulLiteral","src":"400545:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"400536:3:19","nodeType":"YulIdentifier","src":"400536:3:19"},"nativeSrc":"400536:14:19","nodeType":"YulFunctionCall","src":"400536:14:19"},{"arguments":[{"name":"shift","nativeSrc":"400556:5:19","nodeType":"YulIdentifier","src":"400556:5:19"},{"arguments":[{"name":"shift","nativeSrc":"400567:5:19","nodeType":"YulIdentifier","src":"400567:5:19"},{"name":"w","nativeSrc":"400574:1:19","nodeType":"YulIdentifier","src":"400574:1:19"}],"functionName":{"name":"shr","nativeSrc":"400563:3:19","nodeType":"YulIdentifier","src":"400563:3:19"},"nativeSrc":"400563:13:19","nodeType":"YulFunctionCall","src":"400563:13:19"}],"functionName":{"name":"shl","nativeSrc":"400552:3:19","nodeType":"YulIdentifier","src":"400552:3:19"},"nativeSrc":"400552:25:19","nodeType":"YulFunctionCall","src":"400552:25:19"}],"functionName":{"name":"mstore","nativeSrc":"400529:6:19","nodeType":"YulIdentifier","src":"400529:6:19"},"nativeSrc":"400529:49:19","nodeType":"YulFunctionCall","src":"400529:49:19"},"nativeSrc":"400529:49:19","nodeType":"YulExpressionStatement","src":"400529:49:19"}]},"name":"writeString","nativeSrc":"400250:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"400271:3:19","nodeType":"YulTypedName","src":"400271:3:19","type":""},{"name":"w","nativeSrc":"400276:1:19","nodeType":"YulTypedName","src":"400276:1:19","type":""}],"src":"400250:342:19"},{"nativeSrc":"400605:17:19","nodeType":"YulAssignment","src":"400605:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"400617:4:19","nodeType":"YulLiteral","src":"400617:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"400611:5:19","nodeType":"YulIdentifier","src":"400611:5:19"},"nativeSrc":"400611:11:19","nodeType":"YulFunctionCall","src":"400611:11:19"},"variableNames":[{"name":"m0","nativeSrc":"400605:2:19","nodeType":"YulIdentifier","src":"400605:2:19"}]},{"nativeSrc":"400635:17:19","nodeType":"YulAssignment","src":"400635:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"400647:4:19","nodeType":"YulLiteral","src":"400647:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"400641:5:19","nodeType":"YulIdentifier","src":"400641:5:19"},"nativeSrc":"400641:11:19","nodeType":"YulFunctionCall","src":"400641:11:19"},"variableNames":[{"name":"m1","nativeSrc":"400635:2:19","nodeType":"YulIdentifier","src":"400635:2:19"}]},{"nativeSrc":"400665:17:19","nodeType":"YulAssignment","src":"400665:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"400677:4:19","nodeType":"YulLiteral","src":"400677:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"400671:5:19","nodeType":"YulIdentifier","src":"400671:5:19"},"nativeSrc":"400671:11:19","nodeType":"YulFunctionCall","src":"400671:11:19"},"variableNames":[{"name":"m2","nativeSrc":"400665:2:19","nodeType":"YulIdentifier","src":"400665:2:19"}]},{"nativeSrc":"400695:17:19","nodeType":"YulAssignment","src":"400695:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"400707:4:19","nodeType":"YulLiteral","src":"400707:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"400701:5:19","nodeType":"YulIdentifier","src":"400701:5:19"},"nativeSrc":"400701:11:19","nodeType":"YulFunctionCall","src":"400701:11:19"},"variableNames":[{"name":"m3","nativeSrc":"400695:2:19","nodeType":"YulIdentifier","src":"400695:2:19"}]},{"nativeSrc":"400725:17:19","nodeType":"YulAssignment","src":"400725:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"400737:4:19","nodeType":"YulLiteral","src":"400737:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"400731:5:19","nodeType":"YulIdentifier","src":"400731:5:19"},"nativeSrc":"400731:11:19","nodeType":"YulFunctionCall","src":"400731:11:19"},"variableNames":[{"name":"m4","nativeSrc":"400725:2:19","nodeType":"YulIdentifier","src":"400725:2:19"}]},{"nativeSrc":"400755:17:19","nodeType":"YulAssignment","src":"400755:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"400767:4:19","nodeType":"YulLiteral","src":"400767:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"400761:5:19","nodeType":"YulIdentifier","src":"400761:5:19"},"nativeSrc":"400761:11:19","nodeType":"YulFunctionCall","src":"400761:11:19"},"variableNames":[{"name":"m5","nativeSrc":"400755:2:19","nodeType":"YulIdentifier","src":"400755:2:19"}]},{"nativeSrc":"400785:17:19","nodeType":"YulAssignment","src":"400785:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"400797:4:19","nodeType":"YulLiteral","src":"400797:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"400791:5:19","nodeType":"YulIdentifier","src":"400791:5:19"},"nativeSrc":"400791:11:19","nodeType":"YulFunctionCall","src":"400791:11:19"},"variableNames":[{"name":"m6","nativeSrc":"400785:2:19","nodeType":"YulIdentifier","src":"400785:2:19"}]},{"nativeSrc":"400815:17:19","nodeType":"YulAssignment","src":"400815:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"400827:4:19","nodeType":"YulLiteral","src":"400827:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"400821:5:19","nodeType":"YulIdentifier","src":"400821:5:19"},"nativeSrc":"400821:11:19","nodeType":"YulFunctionCall","src":"400821:11:19"},"variableNames":[{"name":"m7","nativeSrc":"400815:2:19","nodeType":"YulIdentifier","src":"400815:2:19"}]},{"nativeSrc":"400845:18:19","nodeType":"YulAssignment","src":"400845:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"400857:5:19","nodeType":"YulLiteral","src":"400857:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"400851:5:19","nodeType":"YulIdentifier","src":"400851:5:19"},"nativeSrc":"400851:12:19","nodeType":"YulFunctionCall","src":"400851:12:19"},"variableNames":[{"name":"m8","nativeSrc":"400845:2:19","nodeType":"YulIdentifier","src":"400845:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"400948:4:19","nodeType":"YulLiteral","src":"400948:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"400954:10:19","nodeType":"YulLiteral","src":"400954:10:19","type":"","value":"0x439c7bef"}],"functionName":{"name":"mstore","nativeSrc":"400941:6:19","nodeType":"YulIdentifier","src":"400941:6:19"},"nativeSrc":"400941:24:19","nodeType":"YulFunctionCall","src":"400941:24:19"},"nativeSrc":"400941:24:19","nodeType":"YulExpressionStatement","src":"400941:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"400985:4:19","nodeType":"YulLiteral","src":"400985:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"400991:4:19","nodeType":"YulLiteral","src":"400991:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"400978:6:19","nodeType":"YulIdentifier","src":"400978:6:19"},"nativeSrc":"400978:18:19","nodeType":"YulFunctionCall","src":"400978:18:19"},"nativeSrc":"400978:18:19","nodeType":"YulExpressionStatement","src":"400978:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401016:4:19","nodeType":"YulLiteral","src":"401016:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"401022:4:19","nodeType":"YulLiteral","src":"401022:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"401009:6:19","nodeType":"YulIdentifier","src":"401009:6:19"},"nativeSrc":"401009:18:19","nodeType":"YulFunctionCall","src":"401009:18:19"},"nativeSrc":"401009:18:19","nodeType":"YulExpressionStatement","src":"401009:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401047:4:19","nodeType":"YulLiteral","src":"401047:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"401053:2:19","nodeType":"YulIdentifier","src":"401053:2:19"}],"functionName":{"name":"mstore","nativeSrc":"401040:6:19","nodeType":"YulIdentifier","src":"401040:6:19"},"nativeSrc":"401040:16:19","nodeType":"YulFunctionCall","src":"401040:16:19"},"nativeSrc":"401040:16:19","nodeType":"YulExpressionStatement","src":"401040:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401076:4:19","nodeType":"YulLiteral","src":"401076:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"401082:2:19","nodeType":"YulIdentifier","src":"401082:2:19"}],"functionName":{"name":"mstore","nativeSrc":"401069:6:19","nodeType":"YulIdentifier","src":"401069:6:19"},"nativeSrc":"401069:16:19","nodeType":"YulFunctionCall","src":"401069:16:19"},"nativeSrc":"401069:16:19","nodeType":"YulExpressionStatement","src":"401069:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401110:4:19","nodeType":"YulLiteral","src":"401110:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"401116:2:19","nodeType":"YulIdentifier","src":"401116:2:19"}],"functionName":{"name":"writeString","nativeSrc":"401098:11:19","nodeType":"YulIdentifier","src":"401098:11:19"},"nativeSrc":"401098:21:19","nodeType":"YulFunctionCall","src":"401098:21:19"},"nativeSrc":"401098:21:19","nodeType":"YulExpressionStatement","src":"401098:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401144:4:19","nodeType":"YulLiteral","src":"401144:4:19","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"401150:2:19","nodeType":"YulIdentifier","src":"401150:2:19"}],"functionName":{"name":"writeString","nativeSrc":"401132:11:19","nodeType":"YulIdentifier","src":"401132:11:19"},"nativeSrc":"401132:21:19","nodeType":"YulFunctionCall","src":"401132:21:19"},"nativeSrc":"401132:21:19","nodeType":"YulExpressionStatement","src":"401132:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38586,"isOffset":false,"isSlot":false,"src":"400605:2:19","valueSize":1},{"declaration":38589,"isOffset":false,"isSlot":false,"src":"400635:2:19","valueSize":1},{"declaration":38592,"isOffset":false,"isSlot":false,"src":"400665:2:19","valueSize":1},{"declaration":38595,"isOffset":false,"isSlot":false,"src":"400695:2:19","valueSize":1},{"declaration":38598,"isOffset":false,"isSlot":false,"src":"400725:2:19","valueSize":1},{"declaration":38601,"isOffset":false,"isSlot":false,"src":"400755:2:19","valueSize":1},{"declaration":38604,"isOffset":false,"isSlot":false,"src":"400785:2:19","valueSize":1},{"declaration":38607,"isOffset":false,"isSlot":false,"src":"400815:2:19","valueSize":1},{"declaration":38610,"isOffset":false,"isSlot":false,"src":"400845:2:19","valueSize":1},{"declaration":38576,"isOffset":false,"isSlot":false,"src":"401116:2:19","valueSize":1},{"declaration":38578,"isOffset":false,"isSlot":false,"src":"401150:2:19","valueSize":1},{"declaration":38580,"isOffset":false,"isSlot":false,"src":"401053:2:19","valueSize":1},{"declaration":38582,"isOffset":false,"isSlot":false,"src":"401082:2:19","valueSize":1}],"id":38612,"nodeType":"InlineAssembly","src":"400227:936:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":38614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"401188:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"401194:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":38613,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"401172:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"401172:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38617,"nodeType":"ExpressionStatement","src":"401172:28:19"},{"AST":{"nativeSrc":"401262:273:19","nodeType":"YulBlock","src":"401262:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"401283:4:19","nodeType":"YulLiteral","src":"401283:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"401289:2:19","nodeType":"YulIdentifier","src":"401289:2:19"}],"functionName":{"name":"mstore","nativeSrc":"401276:6:19","nodeType":"YulIdentifier","src":"401276:6:19"},"nativeSrc":"401276:16:19","nodeType":"YulFunctionCall","src":"401276:16:19"},"nativeSrc":"401276:16:19","nodeType":"YulExpressionStatement","src":"401276:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401312:4:19","nodeType":"YulLiteral","src":"401312:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"401318:2:19","nodeType":"YulIdentifier","src":"401318:2:19"}],"functionName":{"name":"mstore","nativeSrc":"401305:6:19","nodeType":"YulIdentifier","src":"401305:6:19"},"nativeSrc":"401305:16:19","nodeType":"YulFunctionCall","src":"401305:16:19"},"nativeSrc":"401305:16:19","nodeType":"YulExpressionStatement","src":"401305:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401341:4:19","nodeType":"YulLiteral","src":"401341:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"401347:2:19","nodeType":"YulIdentifier","src":"401347:2:19"}],"functionName":{"name":"mstore","nativeSrc":"401334:6:19","nodeType":"YulIdentifier","src":"401334:6:19"},"nativeSrc":"401334:16:19","nodeType":"YulFunctionCall","src":"401334:16:19"},"nativeSrc":"401334:16:19","nodeType":"YulExpressionStatement","src":"401334:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401370:4:19","nodeType":"YulLiteral","src":"401370:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"401376:2:19","nodeType":"YulIdentifier","src":"401376:2:19"}],"functionName":{"name":"mstore","nativeSrc":"401363:6:19","nodeType":"YulIdentifier","src":"401363:6:19"},"nativeSrc":"401363:16:19","nodeType":"YulFunctionCall","src":"401363:16:19"},"nativeSrc":"401363:16:19","nodeType":"YulExpressionStatement","src":"401363:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401399:4:19","nodeType":"YulLiteral","src":"401399:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"401405:2:19","nodeType":"YulIdentifier","src":"401405:2:19"}],"functionName":{"name":"mstore","nativeSrc":"401392:6:19","nodeType":"YulIdentifier","src":"401392:6:19"},"nativeSrc":"401392:16:19","nodeType":"YulFunctionCall","src":"401392:16:19"},"nativeSrc":"401392:16:19","nodeType":"YulExpressionStatement","src":"401392:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401428:4:19","nodeType":"YulLiteral","src":"401428:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"401434:2:19","nodeType":"YulIdentifier","src":"401434:2:19"}],"functionName":{"name":"mstore","nativeSrc":"401421:6:19","nodeType":"YulIdentifier","src":"401421:6:19"},"nativeSrc":"401421:16:19","nodeType":"YulFunctionCall","src":"401421:16:19"},"nativeSrc":"401421:16:19","nodeType":"YulExpressionStatement","src":"401421:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401457:4:19","nodeType":"YulLiteral","src":"401457:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"401463:2:19","nodeType":"YulIdentifier","src":"401463:2:19"}],"functionName":{"name":"mstore","nativeSrc":"401450:6:19","nodeType":"YulIdentifier","src":"401450:6:19"},"nativeSrc":"401450:16:19","nodeType":"YulFunctionCall","src":"401450:16:19"},"nativeSrc":"401450:16:19","nodeType":"YulExpressionStatement","src":"401450:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401486:4:19","nodeType":"YulLiteral","src":"401486:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"401492:2:19","nodeType":"YulIdentifier","src":"401492:2:19"}],"functionName":{"name":"mstore","nativeSrc":"401479:6:19","nodeType":"YulIdentifier","src":"401479:6:19"},"nativeSrc":"401479:16:19","nodeType":"YulFunctionCall","src":"401479:16:19"},"nativeSrc":"401479:16:19","nodeType":"YulExpressionStatement","src":"401479:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"401515:5:19","nodeType":"YulLiteral","src":"401515:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"401522:2:19","nodeType":"YulIdentifier","src":"401522:2:19"}],"functionName":{"name":"mstore","nativeSrc":"401508:6:19","nodeType":"YulIdentifier","src":"401508:6:19"},"nativeSrc":"401508:17:19","nodeType":"YulFunctionCall","src":"401508:17:19"},"nativeSrc":"401508:17:19","nodeType":"YulExpressionStatement","src":"401508:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38586,"isOffset":false,"isSlot":false,"src":"401289:2:19","valueSize":1},{"declaration":38589,"isOffset":false,"isSlot":false,"src":"401318:2:19","valueSize":1},{"declaration":38592,"isOffset":false,"isSlot":false,"src":"401347:2:19","valueSize":1},{"declaration":38595,"isOffset":false,"isSlot":false,"src":"401376:2:19","valueSize":1},{"declaration":38598,"isOffset":false,"isSlot":false,"src":"401405:2:19","valueSize":1},{"declaration":38601,"isOffset":false,"isSlot":false,"src":"401434:2:19","valueSize":1},{"declaration":38604,"isOffset":false,"isSlot":false,"src":"401463:2:19","valueSize":1},{"declaration":38607,"isOffset":false,"isSlot":false,"src":"401492:2:19","valueSize":1},{"declaration":38610,"isOffset":false,"isSlot":false,"src":"401522:2:19","valueSize":1}],"id":38618,"nodeType":"InlineAssembly","src":"401253:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"399928:3:19","parameters":{"id":38583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38576,"mutability":"mutable","name":"p0","nameLocation":"399940:2:19","nodeType":"VariableDeclaration","scope":38620,"src":"399932:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38575,"name":"bytes32","nodeType":"ElementaryTypeName","src":"399932:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38578,"mutability":"mutable","name":"p1","nameLocation":"399952:2:19","nodeType":"VariableDeclaration","scope":38620,"src":"399944:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38577,"name":"bytes32","nodeType":"ElementaryTypeName","src":"399944:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38580,"mutability":"mutable","name":"p2","nameLocation":"399964:2:19","nodeType":"VariableDeclaration","scope":38620,"src":"399956:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38579,"name":"address","nodeType":"ElementaryTypeName","src":"399956:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38582,"mutability":"mutable","name":"p3","nameLocation":"399976:2:19","nodeType":"VariableDeclaration","scope":38620,"src":"399968:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38581,"name":"address","nodeType":"ElementaryTypeName","src":"399968:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"399931:48:19"},"returnParameters":{"id":38584,"nodeType":"ParameterList","parameters":[],"src":"399994:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38666,"nodeType":"FunctionDefinition","src":"401547:1616:19","nodes":[],"body":{"id":38665,"nodeType":"Block","src":"401619:1544:19","nodes":[],"statements":[{"assignments":[38632],"declarations":[{"constant":false,"id":38632,"mutability":"mutable","name":"m0","nameLocation":"401637:2:19","nodeType":"VariableDeclaration","scope":38665,"src":"401629:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38631,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401629:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38633,"nodeType":"VariableDeclarationStatement","src":"401629:10:19"},{"assignments":[38635],"declarations":[{"constant":false,"id":38635,"mutability":"mutable","name":"m1","nameLocation":"401657:2:19","nodeType":"VariableDeclaration","scope":38665,"src":"401649:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38634,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401649:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38636,"nodeType":"VariableDeclarationStatement","src":"401649:10:19"},{"assignments":[38638],"declarations":[{"constant":false,"id":38638,"mutability":"mutable","name":"m2","nameLocation":"401677:2:19","nodeType":"VariableDeclaration","scope":38665,"src":"401669:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38637,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401669:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38639,"nodeType":"VariableDeclarationStatement","src":"401669:10:19"},{"assignments":[38641],"declarations":[{"constant":false,"id":38641,"mutability":"mutable","name":"m3","nameLocation":"401697:2:19","nodeType":"VariableDeclaration","scope":38665,"src":"401689:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38640,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401689:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38642,"nodeType":"VariableDeclarationStatement","src":"401689:10:19"},{"assignments":[38644],"declarations":[{"constant":false,"id":38644,"mutability":"mutable","name":"m4","nameLocation":"401717:2:19","nodeType":"VariableDeclaration","scope":38665,"src":"401709:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38643,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401709:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38645,"nodeType":"VariableDeclarationStatement","src":"401709:10:19"},{"assignments":[38647],"declarations":[{"constant":false,"id":38647,"mutability":"mutable","name":"m5","nameLocation":"401737:2:19","nodeType":"VariableDeclaration","scope":38665,"src":"401729:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38646,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401729:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38648,"nodeType":"VariableDeclarationStatement","src":"401729:10:19"},{"assignments":[38650],"declarations":[{"constant":false,"id":38650,"mutability":"mutable","name":"m6","nameLocation":"401757:2:19","nodeType":"VariableDeclaration","scope":38665,"src":"401749:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38649,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401749:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38651,"nodeType":"VariableDeclarationStatement","src":"401749:10:19"},{"assignments":[38653],"declarations":[{"constant":false,"id":38653,"mutability":"mutable","name":"m7","nameLocation":"401777:2:19","nodeType":"VariableDeclaration","scope":38665,"src":"401769:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38652,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401769:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38654,"nodeType":"VariableDeclarationStatement","src":"401769:10:19"},{"assignments":[38656],"declarations":[{"constant":false,"id":38656,"mutability":"mutable","name":"m8","nameLocation":"401797:2:19","nodeType":"VariableDeclaration","scope":38665,"src":"401789:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38655,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401789:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38657,"nodeType":"VariableDeclarationStatement","src":"401789:10:19"},{"AST":{"nativeSrc":"401861:924:19","nodeType":"YulBlock","src":"401861:924:19","statements":[{"body":{"nativeSrc":"401904:313:19","nodeType":"YulBlock","src":"401904:313:19","statements":[{"nativeSrc":"401922:15:19","nodeType":"YulVariableDeclaration","src":"401922:15:19","value":{"kind":"number","nativeSrc":"401936:1:19","nodeType":"YulLiteral","src":"401936:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"401926:6:19","nodeType":"YulTypedName","src":"401926:6:19","type":""}]},{"body":{"nativeSrc":"402007:40:19","nodeType":"YulBlock","src":"402007:40:19","statements":[{"body":{"nativeSrc":"402036:9:19","nodeType":"YulBlock","src":"402036:9:19","statements":[{"nativeSrc":"402038:5:19","nodeType":"YulBreak","src":"402038:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"402024:6:19","nodeType":"YulIdentifier","src":"402024:6:19"},{"name":"w","nativeSrc":"402032:1:19","nodeType":"YulIdentifier","src":"402032:1:19"}],"functionName":{"name":"byte","nativeSrc":"402019:4:19","nodeType":"YulIdentifier","src":"402019:4:19"},"nativeSrc":"402019:15:19","nodeType":"YulFunctionCall","src":"402019:15:19"}],"functionName":{"name":"iszero","nativeSrc":"402012:6:19","nodeType":"YulIdentifier","src":"402012:6:19"},"nativeSrc":"402012:23:19","nodeType":"YulFunctionCall","src":"402012:23:19"},"nativeSrc":"402009:36:19","nodeType":"YulIf","src":"402009:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"401964:6:19","nodeType":"YulIdentifier","src":"401964:6:19"},{"kind":"number","nativeSrc":"401972:4:19","nodeType":"YulLiteral","src":"401972:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"401961:2:19","nodeType":"YulIdentifier","src":"401961:2:19"},"nativeSrc":"401961:16:19","nodeType":"YulFunctionCall","src":"401961:16:19"},"nativeSrc":"401954:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"401978:28:19","nodeType":"YulBlock","src":"401978:28:19","statements":[{"nativeSrc":"401980:24:19","nodeType":"YulAssignment","src":"401980:24:19","value":{"arguments":[{"name":"length","nativeSrc":"401994:6:19","nodeType":"YulIdentifier","src":"401994:6:19"},{"kind":"number","nativeSrc":"402002:1:19","nodeType":"YulLiteral","src":"402002:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"401990:3:19","nodeType":"YulIdentifier","src":"401990:3:19"},"nativeSrc":"401990:14:19","nodeType":"YulFunctionCall","src":"401990:14:19"},"variableNames":[{"name":"length","nativeSrc":"401980:6:19","nodeType":"YulIdentifier","src":"401980:6:19"}]}]},"pre":{"nativeSrc":"401958:2:19","nodeType":"YulBlock","src":"401958:2:19","statements":[]},"src":"401954:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"402071:3:19","nodeType":"YulIdentifier","src":"402071:3:19"},{"name":"length","nativeSrc":"402076:6:19","nodeType":"YulIdentifier","src":"402076:6:19"}],"functionName":{"name":"mstore","nativeSrc":"402064:6:19","nodeType":"YulIdentifier","src":"402064:6:19"},"nativeSrc":"402064:19:19","nodeType":"YulFunctionCall","src":"402064:19:19"},"nativeSrc":"402064:19:19","nodeType":"YulExpressionStatement","src":"402064:19:19"},{"nativeSrc":"402100:37:19","nodeType":"YulVariableDeclaration","src":"402100:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"402117:3:19","nodeType":"YulLiteral","src":"402117:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"402126:1:19","nodeType":"YulLiteral","src":"402126:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"402129:6:19","nodeType":"YulIdentifier","src":"402129:6:19"}],"functionName":{"name":"shl","nativeSrc":"402122:3:19","nodeType":"YulIdentifier","src":"402122:3:19"},"nativeSrc":"402122:14:19","nodeType":"YulFunctionCall","src":"402122:14:19"}],"functionName":{"name":"sub","nativeSrc":"402113:3:19","nodeType":"YulIdentifier","src":"402113:3:19"},"nativeSrc":"402113:24:19","nodeType":"YulFunctionCall","src":"402113:24:19"},"variables":[{"name":"shift","nativeSrc":"402104:5:19","nodeType":"YulTypedName","src":"402104:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"402165:3:19","nodeType":"YulIdentifier","src":"402165:3:19"},{"kind":"number","nativeSrc":"402170:4:19","nodeType":"YulLiteral","src":"402170:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"402161:3:19","nodeType":"YulIdentifier","src":"402161:3:19"},"nativeSrc":"402161:14:19","nodeType":"YulFunctionCall","src":"402161:14:19"},{"arguments":[{"name":"shift","nativeSrc":"402181:5:19","nodeType":"YulIdentifier","src":"402181:5:19"},{"arguments":[{"name":"shift","nativeSrc":"402192:5:19","nodeType":"YulIdentifier","src":"402192:5:19"},{"name":"w","nativeSrc":"402199:1:19","nodeType":"YulIdentifier","src":"402199:1:19"}],"functionName":{"name":"shr","nativeSrc":"402188:3:19","nodeType":"YulIdentifier","src":"402188:3:19"},"nativeSrc":"402188:13:19","nodeType":"YulFunctionCall","src":"402188:13:19"}],"functionName":{"name":"shl","nativeSrc":"402177:3:19","nodeType":"YulIdentifier","src":"402177:3:19"},"nativeSrc":"402177:25:19","nodeType":"YulFunctionCall","src":"402177:25:19"}],"functionName":{"name":"mstore","nativeSrc":"402154:6:19","nodeType":"YulIdentifier","src":"402154:6:19"},"nativeSrc":"402154:49:19","nodeType":"YulFunctionCall","src":"402154:49:19"},"nativeSrc":"402154:49:19","nodeType":"YulExpressionStatement","src":"402154:49:19"}]},"name":"writeString","nativeSrc":"401875:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"401896:3:19","nodeType":"YulTypedName","src":"401896:3:19","type":""},{"name":"w","nativeSrc":"401901:1:19","nodeType":"YulTypedName","src":"401901:1:19","type":""}],"src":"401875:342:19"},{"nativeSrc":"402230:17:19","nodeType":"YulAssignment","src":"402230:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"402242:4:19","nodeType":"YulLiteral","src":"402242:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"402236:5:19","nodeType":"YulIdentifier","src":"402236:5:19"},"nativeSrc":"402236:11:19","nodeType":"YulFunctionCall","src":"402236:11:19"},"variableNames":[{"name":"m0","nativeSrc":"402230:2:19","nodeType":"YulIdentifier","src":"402230:2:19"}]},{"nativeSrc":"402260:17:19","nodeType":"YulAssignment","src":"402260:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"402272:4:19","nodeType":"YulLiteral","src":"402272:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"402266:5:19","nodeType":"YulIdentifier","src":"402266:5:19"},"nativeSrc":"402266:11:19","nodeType":"YulFunctionCall","src":"402266:11:19"},"variableNames":[{"name":"m1","nativeSrc":"402260:2:19","nodeType":"YulIdentifier","src":"402260:2:19"}]},{"nativeSrc":"402290:17:19","nodeType":"YulAssignment","src":"402290:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"402302:4:19","nodeType":"YulLiteral","src":"402302:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"402296:5:19","nodeType":"YulIdentifier","src":"402296:5:19"},"nativeSrc":"402296:11:19","nodeType":"YulFunctionCall","src":"402296:11:19"},"variableNames":[{"name":"m2","nativeSrc":"402290:2:19","nodeType":"YulIdentifier","src":"402290:2:19"}]},{"nativeSrc":"402320:17:19","nodeType":"YulAssignment","src":"402320:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"402332:4:19","nodeType":"YulLiteral","src":"402332:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"402326:5:19","nodeType":"YulIdentifier","src":"402326:5:19"},"nativeSrc":"402326:11:19","nodeType":"YulFunctionCall","src":"402326:11:19"},"variableNames":[{"name":"m3","nativeSrc":"402320:2:19","nodeType":"YulIdentifier","src":"402320:2:19"}]},{"nativeSrc":"402350:17:19","nodeType":"YulAssignment","src":"402350:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"402362:4:19","nodeType":"YulLiteral","src":"402362:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"402356:5:19","nodeType":"YulIdentifier","src":"402356:5:19"},"nativeSrc":"402356:11:19","nodeType":"YulFunctionCall","src":"402356:11:19"},"variableNames":[{"name":"m4","nativeSrc":"402350:2:19","nodeType":"YulIdentifier","src":"402350:2:19"}]},{"nativeSrc":"402380:17:19","nodeType":"YulAssignment","src":"402380:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"402392:4:19","nodeType":"YulLiteral","src":"402392:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"402386:5:19","nodeType":"YulIdentifier","src":"402386:5:19"},"nativeSrc":"402386:11:19","nodeType":"YulFunctionCall","src":"402386:11:19"},"variableNames":[{"name":"m5","nativeSrc":"402380:2:19","nodeType":"YulIdentifier","src":"402380:2:19"}]},{"nativeSrc":"402410:17:19","nodeType":"YulAssignment","src":"402410:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"402422:4:19","nodeType":"YulLiteral","src":"402422:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"402416:5:19","nodeType":"YulIdentifier","src":"402416:5:19"},"nativeSrc":"402416:11:19","nodeType":"YulFunctionCall","src":"402416:11:19"},"variableNames":[{"name":"m6","nativeSrc":"402410:2:19","nodeType":"YulIdentifier","src":"402410:2:19"}]},{"nativeSrc":"402440:17:19","nodeType":"YulAssignment","src":"402440:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"402452:4:19","nodeType":"YulLiteral","src":"402452:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"402446:5:19","nodeType":"YulIdentifier","src":"402446:5:19"},"nativeSrc":"402446:11:19","nodeType":"YulFunctionCall","src":"402446:11:19"},"variableNames":[{"name":"m7","nativeSrc":"402440:2:19","nodeType":"YulIdentifier","src":"402440:2:19"}]},{"nativeSrc":"402470:18:19","nodeType":"YulAssignment","src":"402470:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"402482:5:19","nodeType":"YulLiteral","src":"402482:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"402476:5:19","nodeType":"YulIdentifier","src":"402476:5:19"},"nativeSrc":"402476:12:19","nodeType":"YulFunctionCall","src":"402476:12:19"},"variableNames":[{"name":"m8","nativeSrc":"402470:2:19","nodeType":"YulIdentifier","src":"402470:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402570:4:19","nodeType":"YulLiteral","src":"402570:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"402576:10:19","nodeType":"YulLiteral","src":"402576:10:19","type":"","value":"0x5ccd4e37"}],"functionName":{"name":"mstore","nativeSrc":"402563:6:19","nodeType":"YulIdentifier","src":"402563:6:19"},"nativeSrc":"402563:24:19","nodeType":"YulFunctionCall","src":"402563:24:19"},"nativeSrc":"402563:24:19","nodeType":"YulExpressionStatement","src":"402563:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402607:4:19","nodeType":"YulLiteral","src":"402607:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"402613:4:19","nodeType":"YulLiteral","src":"402613:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"402600:6:19","nodeType":"YulIdentifier","src":"402600:6:19"},"nativeSrc":"402600:18:19","nodeType":"YulFunctionCall","src":"402600:18:19"},"nativeSrc":"402600:18:19","nodeType":"YulExpressionStatement","src":"402600:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402638:4:19","nodeType":"YulLiteral","src":"402638:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"402644:4:19","nodeType":"YulLiteral","src":"402644:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"402631:6:19","nodeType":"YulIdentifier","src":"402631:6:19"},"nativeSrc":"402631:18:19","nodeType":"YulFunctionCall","src":"402631:18:19"},"nativeSrc":"402631:18:19","nodeType":"YulExpressionStatement","src":"402631:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402669:4:19","nodeType":"YulLiteral","src":"402669:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"402675:2:19","nodeType":"YulIdentifier","src":"402675:2:19"}],"functionName":{"name":"mstore","nativeSrc":"402662:6:19","nodeType":"YulIdentifier","src":"402662:6:19"},"nativeSrc":"402662:16:19","nodeType":"YulFunctionCall","src":"402662:16:19"},"nativeSrc":"402662:16:19","nodeType":"YulExpressionStatement","src":"402662:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402698:4:19","nodeType":"YulLiteral","src":"402698:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"402704:2:19","nodeType":"YulIdentifier","src":"402704:2:19"}],"functionName":{"name":"mstore","nativeSrc":"402691:6:19","nodeType":"YulIdentifier","src":"402691:6:19"},"nativeSrc":"402691:16:19","nodeType":"YulFunctionCall","src":"402691:16:19"},"nativeSrc":"402691:16:19","nodeType":"YulExpressionStatement","src":"402691:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402732:4:19","nodeType":"YulLiteral","src":"402732:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"402738:2:19","nodeType":"YulIdentifier","src":"402738:2:19"}],"functionName":{"name":"writeString","nativeSrc":"402720:11:19","nodeType":"YulIdentifier","src":"402720:11:19"},"nativeSrc":"402720:21:19","nodeType":"YulFunctionCall","src":"402720:21:19"},"nativeSrc":"402720:21:19","nodeType":"YulExpressionStatement","src":"402720:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402766:4:19","nodeType":"YulLiteral","src":"402766:4:19","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"402772:2:19","nodeType":"YulIdentifier","src":"402772:2:19"}],"functionName":{"name":"writeString","nativeSrc":"402754:11:19","nodeType":"YulIdentifier","src":"402754:11:19"},"nativeSrc":"402754:21:19","nodeType":"YulFunctionCall","src":"402754:21:19"},"nativeSrc":"402754:21:19","nodeType":"YulExpressionStatement","src":"402754:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38632,"isOffset":false,"isSlot":false,"src":"402230:2:19","valueSize":1},{"declaration":38635,"isOffset":false,"isSlot":false,"src":"402260:2:19","valueSize":1},{"declaration":38638,"isOffset":false,"isSlot":false,"src":"402290:2:19","valueSize":1},{"declaration":38641,"isOffset":false,"isSlot":false,"src":"402320:2:19","valueSize":1},{"declaration":38644,"isOffset":false,"isSlot":false,"src":"402350:2:19","valueSize":1},{"declaration":38647,"isOffset":false,"isSlot":false,"src":"402380:2:19","valueSize":1},{"declaration":38650,"isOffset":false,"isSlot":false,"src":"402410:2:19","valueSize":1},{"declaration":38653,"isOffset":false,"isSlot":false,"src":"402440:2:19","valueSize":1},{"declaration":38656,"isOffset":false,"isSlot":false,"src":"402470:2:19","valueSize":1},{"declaration":38622,"isOffset":false,"isSlot":false,"src":"402738:2:19","valueSize":1},{"declaration":38624,"isOffset":false,"isSlot":false,"src":"402772:2:19","valueSize":1},{"declaration":38626,"isOffset":false,"isSlot":false,"src":"402675:2:19","valueSize":1},{"declaration":38628,"isOffset":false,"isSlot":false,"src":"402704:2:19","valueSize":1}],"id":38658,"nodeType":"InlineAssembly","src":"401852:933:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":38660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"402810:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"402816:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":38659,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"402794:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"402794:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38663,"nodeType":"ExpressionStatement","src":"402794:28:19"},{"AST":{"nativeSrc":"402884:273:19","nodeType":"YulBlock","src":"402884:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"402905:4:19","nodeType":"YulLiteral","src":"402905:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"402911:2:19","nodeType":"YulIdentifier","src":"402911:2:19"}],"functionName":{"name":"mstore","nativeSrc":"402898:6:19","nodeType":"YulIdentifier","src":"402898:6:19"},"nativeSrc":"402898:16:19","nodeType":"YulFunctionCall","src":"402898:16:19"},"nativeSrc":"402898:16:19","nodeType":"YulExpressionStatement","src":"402898:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402934:4:19","nodeType":"YulLiteral","src":"402934:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"402940:2:19","nodeType":"YulIdentifier","src":"402940:2:19"}],"functionName":{"name":"mstore","nativeSrc":"402927:6:19","nodeType":"YulIdentifier","src":"402927:6:19"},"nativeSrc":"402927:16:19","nodeType":"YulFunctionCall","src":"402927:16:19"},"nativeSrc":"402927:16:19","nodeType":"YulExpressionStatement","src":"402927:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402963:4:19","nodeType":"YulLiteral","src":"402963:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"402969:2:19","nodeType":"YulIdentifier","src":"402969:2:19"}],"functionName":{"name":"mstore","nativeSrc":"402956:6:19","nodeType":"YulIdentifier","src":"402956:6:19"},"nativeSrc":"402956:16:19","nodeType":"YulFunctionCall","src":"402956:16:19"},"nativeSrc":"402956:16:19","nodeType":"YulExpressionStatement","src":"402956:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"402992:4:19","nodeType":"YulLiteral","src":"402992:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"402998:2:19","nodeType":"YulIdentifier","src":"402998:2:19"}],"functionName":{"name":"mstore","nativeSrc":"402985:6:19","nodeType":"YulIdentifier","src":"402985:6:19"},"nativeSrc":"402985:16:19","nodeType":"YulFunctionCall","src":"402985:16:19"},"nativeSrc":"402985:16:19","nodeType":"YulExpressionStatement","src":"402985:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"403021:4:19","nodeType":"YulLiteral","src":"403021:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"403027:2:19","nodeType":"YulIdentifier","src":"403027:2:19"}],"functionName":{"name":"mstore","nativeSrc":"403014:6:19","nodeType":"YulIdentifier","src":"403014:6:19"},"nativeSrc":"403014:16:19","nodeType":"YulFunctionCall","src":"403014:16:19"},"nativeSrc":"403014:16:19","nodeType":"YulExpressionStatement","src":"403014:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"403050:4:19","nodeType":"YulLiteral","src":"403050:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"403056:2:19","nodeType":"YulIdentifier","src":"403056:2:19"}],"functionName":{"name":"mstore","nativeSrc":"403043:6:19","nodeType":"YulIdentifier","src":"403043:6:19"},"nativeSrc":"403043:16:19","nodeType":"YulFunctionCall","src":"403043:16:19"},"nativeSrc":"403043:16:19","nodeType":"YulExpressionStatement","src":"403043:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"403079:4:19","nodeType":"YulLiteral","src":"403079:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"403085:2:19","nodeType":"YulIdentifier","src":"403085:2:19"}],"functionName":{"name":"mstore","nativeSrc":"403072:6:19","nodeType":"YulIdentifier","src":"403072:6:19"},"nativeSrc":"403072:16:19","nodeType":"YulFunctionCall","src":"403072:16:19"},"nativeSrc":"403072:16:19","nodeType":"YulExpressionStatement","src":"403072:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"403108:4:19","nodeType":"YulLiteral","src":"403108:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"403114:2:19","nodeType":"YulIdentifier","src":"403114:2:19"}],"functionName":{"name":"mstore","nativeSrc":"403101:6:19","nodeType":"YulIdentifier","src":"403101:6:19"},"nativeSrc":"403101:16:19","nodeType":"YulFunctionCall","src":"403101:16:19"},"nativeSrc":"403101:16:19","nodeType":"YulExpressionStatement","src":"403101:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"403137:5:19","nodeType":"YulLiteral","src":"403137:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"403144:2:19","nodeType":"YulIdentifier","src":"403144:2:19"}],"functionName":{"name":"mstore","nativeSrc":"403130:6:19","nodeType":"YulIdentifier","src":"403130:6:19"},"nativeSrc":"403130:17:19","nodeType":"YulFunctionCall","src":"403130:17:19"},"nativeSrc":"403130:17:19","nodeType":"YulExpressionStatement","src":"403130:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38632,"isOffset":false,"isSlot":false,"src":"402911:2:19","valueSize":1},{"declaration":38635,"isOffset":false,"isSlot":false,"src":"402940:2:19","valueSize":1},{"declaration":38638,"isOffset":false,"isSlot":false,"src":"402969:2:19","valueSize":1},{"declaration":38641,"isOffset":false,"isSlot":false,"src":"402998:2:19","valueSize":1},{"declaration":38644,"isOffset":false,"isSlot":false,"src":"403027:2:19","valueSize":1},{"declaration":38647,"isOffset":false,"isSlot":false,"src":"403056:2:19","valueSize":1},{"declaration":38650,"isOffset":false,"isSlot":false,"src":"403085:2:19","valueSize":1},{"declaration":38653,"isOffset":false,"isSlot":false,"src":"403114:2:19","valueSize":1},{"declaration":38656,"isOffset":false,"isSlot":false,"src":"403144:2:19","valueSize":1}],"id":38664,"nodeType":"InlineAssembly","src":"402875:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"401556:3:19","parameters":{"id":38629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38622,"mutability":"mutable","name":"p0","nameLocation":"401568:2:19","nodeType":"VariableDeclaration","scope":38666,"src":"401560:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38621,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401560:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38624,"mutability":"mutable","name":"p1","nameLocation":"401580:2:19","nodeType":"VariableDeclaration","scope":38666,"src":"401572:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38623,"name":"bytes32","nodeType":"ElementaryTypeName","src":"401572:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38626,"mutability":"mutable","name":"p2","nameLocation":"401592:2:19","nodeType":"VariableDeclaration","scope":38666,"src":"401584:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38625,"name":"address","nodeType":"ElementaryTypeName","src":"401584:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38628,"mutability":"mutable","name":"p3","nameLocation":"401601:2:19","nodeType":"VariableDeclaration","scope":38666,"src":"401596:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38627,"name":"bool","nodeType":"ElementaryTypeName","src":"401596:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"401559:45:19"},"returnParameters":{"id":38630,"nodeType":"ParameterList","parameters":[],"src":"401619:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38712,"nodeType":"FunctionDefinition","src":"403169:1622:19","nodes":[],"body":{"id":38711,"nodeType":"Block","src":"403244:1547:19","nodes":[],"statements":[{"assignments":[38678],"declarations":[{"constant":false,"id":38678,"mutability":"mutable","name":"m0","nameLocation":"403262:2:19","nodeType":"VariableDeclaration","scope":38711,"src":"403254:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38677,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403254:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38679,"nodeType":"VariableDeclarationStatement","src":"403254:10:19"},{"assignments":[38681],"declarations":[{"constant":false,"id":38681,"mutability":"mutable","name":"m1","nameLocation":"403282:2:19","nodeType":"VariableDeclaration","scope":38711,"src":"403274:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38680,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403274:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38682,"nodeType":"VariableDeclarationStatement","src":"403274:10:19"},{"assignments":[38684],"declarations":[{"constant":false,"id":38684,"mutability":"mutable","name":"m2","nameLocation":"403302:2:19","nodeType":"VariableDeclaration","scope":38711,"src":"403294:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38683,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403294:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38685,"nodeType":"VariableDeclarationStatement","src":"403294:10:19"},{"assignments":[38687],"declarations":[{"constant":false,"id":38687,"mutability":"mutable","name":"m3","nameLocation":"403322:2:19","nodeType":"VariableDeclaration","scope":38711,"src":"403314:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38686,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403314:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38688,"nodeType":"VariableDeclarationStatement","src":"403314:10:19"},{"assignments":[38690],"declarations":[{"constant":false,"id":38690,"mutability":"mutable","name":"m4","nameLocation":"403342:2:19","nodeType":"VariableDeclaration","scope":38711,"src":"403334:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38689,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403334:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38691,"nodeType":"VariableDeclarationStatement","src":"403334:10:19"},{"assignments":[38693],"declarations":[{"constant":false,"id":38693,"mutability":"mutable","name":"m5","nameLocation":"403362:2:19","nodeType":"VariableDeclaration","scope":38711,"src":"403354:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38692,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403354:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38694,"nodeType":"VariableDeclarationStatement","src":"403354:10:19"},{"assignments":[38696],"declarations":[{"constant":false,"id":38696,"mutability":"mutable","name":"m6","nameLocation":"403382:2:19","nodeType":"VariableDeclaration","scope":38711,"src":"403374:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38695,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403374:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38697,"nodeType":"VariableDeclarationStatement","src":"403374:10:19"},{"assignments":[38699],"declarations":[{"constant":false,"id":38699,"mutability":"mutable","name":"m7","nameLocation":"403402:2:19","nodeType":"VariableDeclaration","scope":38711,"src":"403394:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38698,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403394:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38700,"nodeType":"VariableDeclarationStatement","src":"403394:10:19"},{"assignments":[38702],"declarations":[{"constant":false,"id":38702,"mutability":"mutable","name":"m8","nameLocation":"403422:2:19","nodeType":"VariableDeclaration","scope":38711,"src":"403414:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38701,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403414:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38703,"nodeType":"VariableDeclarationStatement","src":"403414:10:19"},{"AST":{"nativeSrc":"403486:927:19","nodeType":"YulBlock","src":"403486:927:19","statements":[{"body":{"nativeSrc":"403529:313:19","nodeType":"YulBlock","src":"403529:313:19","statements":[{"nativeSrc":"403547:15:19","nodeType":"YulVariableDeclaration","src":"403547:15:19","value":{"kind":"number","nativeSrc":"403561:1:19","nodeType":"YulLiteral","src":"403561:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"403551:6:19","nodeType":"YulTypedName","src":"403551:6:19","type":""}]},{"body":{"nativeSrc":"403632:40:19","nodeType":"YulBlock","src":"403632:40:19","statements":[{"body":{"nativeSrc":"403661:9:19","nodeType":"YulBlock","src":"403661:9:19","statements":[{"nativeSrc":"403663:5:19","nodeType":"YulBreak","src":"403663:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"403649:6:19","nodeType":"YulIdentifier","src":"403649:6:19"},{"name":"w","nativeSrc":"403657:1:19","nodeType":"YulIdentifier","src":"403657:1:19"}],"functionName":{"name":"byte","nativeSrc":"403644:4:19","nodeType":"YulIdentifier","src":"403644:4:19"},"nativeSrc":"403644:15:19","nodeType":"YulFunctionCall","src":"403644:15:19"}],"functionName":{"name":"iszero","nativeSrc":"403637:6:19","nodeType":"YulIdentifier","src":"403637:6:19"},"nativeSrc":"403637:23:19","nodeType":"YulFunctionCall","src":"403637:23:19"},"nativeSrc":"403634:36:19","nodeType":"YulIf","src":"403634:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"403589:6:19","nodeType":"YulIdentifier","src":"403589:6:19"},{"kind":"number","nativeSrc":"403597:4:19","nodeType":"YulLiteral","src":"403597:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"403586:2:19","nodeType":"YulIdentifier","src":"403586:2:19"},"nativeSrc":"403586:16:19","nodeType":"YulFunctionCall","src":"403586:16:19"},"nativeSrc":"403579:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"403603:28:19","nodeType":"YulBlock","src":"403603:28:19","statements":[{"nativeSrc":"403605:24:19","nodeType":"YulAssignment","src":"403605:24:19","value":{"arguments":[{"name":"length","nativeSrc":"403619:6:19","nodeType":"YulIdentifier","src":"403619:6:19"},{"kind":"number","nativeSrc":"403627:1:19","nodeType":"YulLiteral","src":"403627:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"403615:3:19","nodeType":"YulIdentifier","src":"403615:3:19"},"nativeSrc":"403615:14:19","nodeType":"YulFunctionCall","src":"403615:14:19"},"variableNames":[{"name":"length","nativeSrc":"403605:6:19","nodeType":"YulIdentifier","src":"403605:6:19"}]}]},"pre":{"nativeSrc":"403583:2:19","nodeType":"YulBlock","src":"403583:2:19","statements":[]},"src":"403579:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"403696:3:19","nodeType":"YulIdentifier","src":"403696:3:19"},{"name":"length","nativeSrc":"403701:6:19","nodeType":"YulIdentifier","src":"403701:6:19"}],"functionName":{"name":"mstore","nativeSrc":"403689:6:19","nodeType":"YulIdentifier","src":"403689:6:19"},"nativeSrc":"403689:19:19","nodeType":"YulFunctionCall","src":"403689:19:19"},"nativeSrc":"403689:19:19","nodeType":"YulExpressionStatement","src":"403689:19:19"},{"nativeSrc":"403725:37:19","nodeType":"YulVariableDeclaration","src":"403725:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"403742:3:19","nodeType":"YulLiteral","src":"403742:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"403751:1:19","nodeType":"YulLiteral","src":"403751:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"403754:6:19","nodeType":"YulIdentifier","src":"403754:6:19"}],"functionName":{"name":"shl","nativeSrc":"403747:3:19","nodeType":"YulIdentifier","src":"403747:3:19"},"nativeSrc":"403747:14:19","nodeType":"YulFunctionCall","src":"403747:14:19"}],"functionName":{"name":"sub","nativeSrc":"403738:3:19","nodeType":"YulIdentifier","src":"403738:3:19"},"nativeSrc":"403738:24:19","nodeType":"YulFunctionCall","src":"403738:24:19"},"variables":[{"name":"shift","nativeSrc":"403729:5:19","nodeType":"YulTypedName","src":"403729:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"403790:3:19","nodeType":"YulIdentifier","src":"403790:3:19"},{"kind":"number","nativeSrc":"403795:4:19","nodeType":"YulLiteral","src":"403795:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"403786:3:19","nodeType":"YulIdentifier","src":"403786:3:19"},"nativeSrc":"403786:14:19","nodeType":"YulFunctionCall","src":"403786:14:19"},{"arguments":[{"name":"shift","nativeSrc":"403806:5:19","nodeType":"YulIdentifier","src":"403806:5:19"},{"arguments":[{"name":"shift","nativeSrc":"403817:5:19","nodeType":"YulIdentifier","src":"403817:5:19"},{"name":"w","nativeSrc":"403824:1:19","nodeType":"YulIdentifier","src":"403824:1:19"}],"functionName":{"name":"shr","nativeSrc":"403813:3:19","nodeType":"YulIdentifier","src":"403813:3:19"},"nativeSrc":"403813:13:19","nodeType":"YulFunctionCall","src":"403813:13:19"}],"functionName":{"name":"shl","nativeSrc":"403802:3:19","nodeType":"YulIdentifier","src":"403802:3:19"},"nativeSrc":"403802:25:19","nodeType":"YulFunctionCall","src":"403802:25:19"}],"functionName":{"name":"mstore","nativeSrc":"403779:6:19","nodeType":"YulIdentifier","src":"403779:6:19"},"nativeSrc":"403779:49:19","nodeType":"YulFunctionCall","src":"403779:49:19"},"nativeSrc":"403779:49:19","nodeType":"YulExpressionStatement","src":"403779:49:19"}]},"name":"writeString","nativeSrc":"403500:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"403521:3:19","nodeType":"YulTypedName","src":"403521:3:19","type":""},{"name":"w","nativeSrc":"403526:1:19","nodeType":"YulTypedName","src":"403526:1:19","type":""}],"src":"403500:342:19"},{"nativeSrc":"403855:17:19","nodeType":"YulAssignment","src":"403855:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"403867:4:19","nodeType":"YulLiteral","src":"403867:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"403861:5:19","nodeType":"YulIdentifier","src":"403861:5:19"},"nativeSrc":"403861:11:19","nodeType":"YulFunctionCall","src":"403861:11:19"},"variableNames":[{"name":"m0","nativeSrc":"403855:2:19","nodeType":"YulIdentifier","src":"403855:2:19"}]},{"nativeSrc":"403885:17:19","nodeType":"YulAssignment","src":"403885:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"403897:4:19","nodeType":"YulLiteral","src":"403897:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"403891:5:19","nodeType":"YulIdentifier","src":"403891:5:19"},"nativeSrc":"403891:11:19","nodeType":"YulFunctionCall","src":"403891:11:19"},"variableNames":[{"name":"m1","nativeSrc":"403885:2:19","nodeType":"YulIdentifier","src":"403885:2:19"}]},{"nativeSrc":"403915:17:19","nodeType":"YulAssignment","src":"403915:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"403927:4:19","nodeType":"YulLiteral","src":"403927:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"403921:5:19","nodeType":"YulIdentifier","src":"403921:5:19"},"nativeSrc":"403921:11:19","nodeType":"YulFunctionCall","src":"403921:11:19"},"variableNames":[{"name":"m2","nativeSrc":"403915:2:19","nodeType":"YulIdentifier","src":"403915:2:19"}]},{"nativeSrc":"403945:17:19","nodeType":"YulAssignment","src":"403945:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"403957:4:19","nodeType":"YulLiteral","src":"403957:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"403951:5:19","nodeType":"YulIdentifier","src":"403951:5:19"},"nativeSrc":"403951:11:19","nodeType":"YulFunctionCall","src":"403951:11:19"},"variableNames":[{"name":"m3","nativeSrc":"403945:2:19","nodeType":"YulIdentifier","src":"403945:2:19"}]},{"nativeSrc":"403975:17:19","nodeType":"YulAssignment","src":"403975:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"403987:4:19","nodeType":"YulLiteral","src":"403987:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"403981:5:19","nodeType":"YulIdentifier","src":"403981:5:19"},"nativeSrc":"403981:11:19","nodeType":"YulFunctionCall","src":"403981:11:19"},"variableNames":[{"name":"m4","nativeSrc":"403975:2:19","nodeType":"YulIdentifier","src":"403975:2:19"}]},{"nativeSrc":"404005:17:19","nodeType":"YulAssignment","src":"404005:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"404017:4:19","nodeType":"YulLiteral","src":"404017:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"404011:5:19","nodeType":"YulIdentifier","src":"404011:5:19"},"nativeSrc":"404011:11:19","nodeType":"YulFunctionCall","src":"404011:11:19"},"variableNames":[{"name":"m5","nativeSrc":"404005:2:19","nodeType":"YulIdentifier","src":"404005:2:19"}]},{"nativeSrc":"404035:17:19","nodeType":"YulAssignment","src":"404035:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"404047:4:19","nodeType":"YulLiteral","src":"404047:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"404041:5:19","nodeType":"YulIdentifier","src":"404041:5:19"},"nativeSrc":"404041:11:19","nodeType":"YulFunctionCall","src":"404041:11:19"},"variableNames":[{"name":"m6","nativeSrc":"404035:2:19","nodeType":"YulIdentifier","src":"404035:2:19"}]},{"nativeSrc":"404065:17:19","nodeType":"YulAssignment","src":"404065:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"404077:4:19","nodeType":"YulLiteral","src":"404077:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"404071:5:19","nodeType":"YulIdentifier","src":"404071:5:19"},"nativeSrc":"404071:11:19","nodeType":"YulFunctionCall","src":"404071:11:19"},"variableNames":[{"name":"m7","nativeSrc":"404065:2:19","nodeType":"YulIdentifier","src":"404065:2:19"}]},{"nativeSrc":"404095:18:19","nodeType":"YulAssignment","src":"404095:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"404107:5:19","nodeType":"YulLiteral","src":"404107:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"404101:5:19","nodeType":"YulIdentifier","src":"404101:5:19"},"nativeSrc":"404101:12:19","nodeType":"YulFunctionCall","src":"404101:12:19"},"variableNames":[{"name":"m8","nativeSrc":"404095:2:19","nodeType":"YulIdentifier","src":"404095:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404198:4:19","nodeType":"YulLiteral","src":"404198:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"404204:10:19","nodeType":"YulLiteral","src":"404204:10:19","type":"","value":"0x7cc3c607"}],"functionName":{"name":"mstore","nativeSrc":"404191:6:19","nodeType":"YulIdentifier","src":"404191:6:19"},"nativeSrc":"404191:24:19","nodeType":"YulFunctionCall","src":"404191:24:19"},"nativeSrc":"404191:24:19","nodeType":"YulExpressionStatement","src":"404191:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404235:4:19","nodeType":"YulLiteral","src":"404235:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"404241:4:19","nodeType":"YulLiteral","src":"404241:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"404228:6:19","nodeType":"YulIdentifier","src":"404228:6:19"},"nativeSrc":"404228:18:19","nodeType":"YulFunctionCall","src":"404228:18:19"},"nativeSrc":"404228:18:19","nodeType":"YulExpressionStatement","src":"404228:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404266:4:19","nodeType":"YulLiteral","src":"404266:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"404272:4:19","nodeType":"YulLiteral","src":"404272:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"404259:6:19","nodeType":"YulIdentifier","src":"404259:6:19"},"nativeSrc":"404259:18:19","nodeType":"YulFunctionCall","src":"404259:18:19"},"nativeSrc":"404259:18:19","nodeType":"YulExpressionStatement","src":"404259:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404297:4:19","nodeType":"YulLiteral","src":"404297:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"404303:2:19","nodeType":"YulIdentifier","src":"404303:2:19"}],"functionName":{"name":"mstore","nativeSrc":"404290:6:19","nodeType":"YulIdentifier","src":"404290:6:19"},"nativeSrc":"404290:16:19","nodeType":"YulFunctionCall","src":"404290:16:19"},"nativeSrc":"404290:16:19","nodeType":"YulExpressionStatement","src":"404290:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404326:4:19","nodeType":"YulLiteral","src":"404326:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"404332:2:19","nodeType":"YulIdentifier","src":"404332:2:19"}],"functionName":{"name":"mstore","nativeSrc":"404319:6:19","nodeType":"YulIdentifier","src":"404319:6:19"},"nativeSrc":"404319:16:19","nodeType":"YulFunctionCall","src":"404319:16:19"},"nativeSrc":"404319:16:19","nodeType":"YulExpressionStatement","src":"404319:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404360:4:19","nodeType":"YulLiteral","src":"404360:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"404366:2:19","nodeType":"YulIdentifier","src":"404366:2:19"}],"functionName":{"name":"writeString","nativeSrc":"404348:11:19","nodeType":"YulIdentifier","src":"404348:11:19"},"nativeSrc":"404348:21:19","nodeType":"YulFunctionCall","src":"404348:21:19"},"nativeSrc":"404348:21:19","nodeType":"YulExpressionStatement","src":"404348:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404394:4:19","nodeType":"YulLiteral","src":"404394:4:19","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"404400:2:19","nodeType":"YulIdentifier","src":"404400:2:19"}],"functionName":{"name":"writeString","nativeSrc":"404382:11:19","nodeType":"YulIdentifier","src":"404382:11:19"},"nativeSrc":"404382:21:19","nodeType":"YulFunctionCall","src":"404382:21:19"},"nativeSrc":"404382:21:19","nodeType":"YulExpressionStatement","src":"404382:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38678,"isOffset":false,"isSlot":false,"src":"403855:2:19","valueSize":1},{"declaration":38681,"isOffset":false,"isSlot":false,"src":"403885:2:19","valueSize":1},{"declaration":38684,"isOffset":false,"isSlot":false,"src":"403915:2:19","valueSize":1},{"declaration":38687,"isOffset":false,"isSlot":false,"src":"403945:2:19","valueSize":1},{"declaration":38690,"isOffset":false,"isSlot":false,"src":"403975:2:19","valueSize":1},{"declaration":38693,"isOffset":false,"isSlot":false,"src":"404005:2:19","valueSize":1},{"declaration":38696,"isOffset":false,"isSlot":false,"src":"404035:2:19","valueSize":1},{"declaration":38699,"isOffset":false,"isSlot":false,"src":"404065:2:19","valueSize":1},{"declaration":38702,"isOffset":false,"isSlot":false,"src":"404095:2:19","valueSize":1},{"declaration":38668,"isOffset":false,"isSlot":false,"src":"404366:2:19","valueSize":1},{"declaration":38670,"isOffset":false,"isSlot":false,"src":"404400:2:19","valueSize":1},{"declaration":38672,"isOffset":false,"isSlot":false,"src":"404303:2:19","valueSize":1},{"declaration":38674,"isOffset":false,"isSlot":false,"src":"404332:2:19","valueSize":1}],"id":38704,"nodeType":"InlineAssembly","src":"403477:936:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":38706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"404438:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"404444:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":38705,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"404422:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"404422:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38709,"nodeType":"ExpressionStatement","src":"404422:28:19"},{"AST":{"nativeSrc":"404512:273:19","nodeType":"YulBlock","src":"404512:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"404533:4:19","nodeType":"YulLiteral","src":"404533:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"404539:2:19","nodeType":"YulIdentifier","src":"404539:2:19"}],"functionName":{"name":"mstore","nativeSrc":"404526:6:19","nodeType":"YulIdentifier","src":"404526:6:19"},"nativeSrc":"404526:16:19","nodeType":"YulFunctionCall","src":"404526:16:19"},"nativeSrc":"404526:16:19","nodeType":"YulExpressionStatement","src":"404526:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404562:4:19","nodeType":"YulLiteral","src":"404562:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"404568:2:19","nodeType":"YulIdentifier","src":"404568:2:19"}],"functionName":{"name":"mstore","nativeSrc":"404555:6:19","nodeType":"YulIdentifier","src":"404555:6:19"},"nativeSrc":"404555:16:19","nodeType":"YulFunctionCall","src":"404555:16:19"},"nativeSrc":"404555:16:19","nodeType":"YulExpressionStatement","src":"404555:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404591:4:19","nodeType":"YulLiteral","src":"404591:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"404597:2:19","nodeType":"YulIdentifier","src":"404597:2:19"}],"functionName":{"name":"mstore","nativeSrc":"404584:6:19","nodeType":"YulIdentifier","src":"404584:6:19"},"nativeSrc":"404584:16:19","nodeType":"YulFunctionCall","src":"404584:16:19"},"nativeSrc":"404584:16:19","nodeType":"YulExpressionStatement","src":"404584:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404620:4:19","nodeType":"YulLiteral","src":"404620:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"404626:2:19","nodeType":"YulIdentifier","src":"404626:2:19"}],"functionName":{"name":"mstore","nativeSrc":"404613:6:19","nodeType":"YulIdentifier","src":"404613:6:19"},"nativeSrc":"404613:16:19","nodeType":"YulFunctionCall","src":"404613:16:19"},"nativeSrc":"404613:16:19","nodeType":"YulExpressionStatement","src":"404613:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404649:4:19","nodeType":"YulLiteral","src":"404649:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"404655:2:19","nodeType":"YulIdentifier","src":"404655:2:19"}],"functionName":{"name":"mstore","nativeSrc":"404642:6:19","nodeType":"YulIdentifier","src":"404642:6:19"},"nativeSrc":"404642:16:19","nodeType":"YulFunctionCall","src":"404642:16:19"},"nativeSrc":"404642:16:19","nodeType":"YulExpressionStatement","src":"404642:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404678:4:19","nodeType":"YulLiteral","src":"404678:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"404684:2:19","nodeType":"YulIdentifier","src":"404684:2:19"}],"functionName":{"name":"mstore","nativeSrc":"404671:6:19","nodeType":"YulIdentifier","src":"404671:6:19"},"nativeSrc":"404671:16:19","nodeType":"YulFunctionCall","src":"404671:16:19"},"nativeSrc":"404671:16:19","nodeType":"YulExpressionStatement","src":"404671:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404707:4:19","nodeType":"YulLiteral","src":"404707:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"404713:2:19","nodeType":"YulIdentifier","src":"404713:2:19"}],"functionName":{"name":"mstore","nativeSrc":"404700:6:19","nodeType":"YulIdentifier","src":"404700:6:19"},"nativeSrc":"404700:16:19","nodeType":"YulFunctionCall","src":"404700:16:19"},"nativeSrc":"404700:16:19","nodeType":"YulExpressionStatement","src":"404700:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404736:4:19","nodeType":"YulLiteral","src":"404736:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"404742:2:19","nodeType":"YulIdentifier","src":"404742:2:19"}],"functionName":{"name":"mstore","nativeSrc":"404729:6:19","nodeType":"YulIdentifier","src":"404729:6:19"},"nativeSrc":"404729:16:19","nodeType":"YulFunctionCall","src":"404729:16:19"},"nativeSrc":"404729:16:19","nodeType":"YulExpressionStatement","src":"404729:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"404765:5:19","nodeType":"YulLiteral","src":"404765:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"404772:2:19","nodeType":"YulIdentifier","src":"404772:2:19"}],"functionName":{"name":"mstore","nativeSrc":"404758:6:19","nodeType":"YulIdentifier","src":"404758:6:19"},"nativeSrc":"404758:17:19","nodeType":"YulFunctionCall","src":"404758:17:19"},"nativeSrc":"404758:17:19","nodeType":"YulExpressionStatement","src":"404758:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38678,"isOffset":false,"isSlot":false,"src":"404539:2:19","valueSize":1},{"declaration":38681,"isOffset":false,"isSlot":false,"src":"404568:2:19","valueSize":1},{"declaration":38684,"isOffset":false,"isSlot":false,"src":"404597:2:19","valueSize":1},{"declaration":38687,"isOffset":false,"isSlot":false,"src":"404626:2:19","valueSize":1},{"declaration":38690,"isOffset":false,"isSlot":false,"src":"404655:2:19","valueSize":1},{"declaration":38693,"isOffset":false,"isSlot":false,"src":"404684:2:19","valueSize":1},{"declaration":38696,"isOffset":false,"isSlot":false,"src":"404713:2:19","valueSize":1},{"declaration":38699,"isOffset":false,"isSlot":false,"src":"404742:2:19","valueSize":1},{"declaration":38702,"isOffset":false,"isSlot":false,"src":"404772:2:19","valueSize":1}],"id":38710,"nodeType":"InlineAssembly","src":"404503:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"403178:3:19","parameters":{"id":38675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38668,"mutability":"mutable","name":"p0","nameLocation":"403190:2:19","nodeType":"VariableDeclaration","scope":38712,"src":"403182:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38667,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403182:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38670,"mutability":"mutable","name":"p1","nameLocation":"403202:2:19","nodeType":"VariableDeclaration","scope":38712,"src":"403194:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38669,"name":"bytes32","nodeType":"ElementaryTypeName","src":"403194:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38672,"mutability":"mutable","name":"p2","nameLocation":"403214:2:19","nodeType":"VariableDeclaration","scope":38712,"src":"403206:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38671,"name":"address","nodeType":"ElementaryTypeName","src":"403206:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38674,"mutability":"mutable","name":"p3","nameLocation":"403226:2:19","nodeType":"VariableDeclaration","scope":38712,"src":"403218:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38673,"name":"uint256","nodeType":"ElementaryTypeName","src":"403218:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"403181:48:19"},"returnParameters":{"id":38676,"nodeType":"ParameterList","parameters":[],"src":"403244:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38764,"nodeType":"FunctionDefinition","src":"404797:1824:19","nodes":[],"body":{"id":38763,"nodeType":"Block","src":"404872:1749:19","nodes":[],"statements":[{"assignments":[38724],"declarations":[{"constant":false,"id":38724,"mutability":"mutable","name":"m0","nameLocation":"404890:2:19","nodeType":"VariableDeclaration","scope":38763,"src":"404882:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38723,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404882:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38725,"nodeType":"VariableDeclarationStatement","src":"404882:10:19"},{"assignments":[38727],"declarations":[{"constant":false,"id":38727,"mutability":"mutable","name":"m1","nameLocation":"404910:2:19","nodeType":"VariableDeclaration","scope":38763,"src":"404902:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38726,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404902:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38728,"nodeType":"VariableDeclarationStatement","src":"404902:10:19"},{"assignments":[38730],"declarations":[{"constant":false,"id":38730,"mutability":"mutable","name":"m2","nameLocation":"404930:2:19","nodeType":"VariableDeclaration","scope":38763,"src":"404922:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38729,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404922:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38731,"nodeType":"VariableDeclarationStatement","src":"404922:10:19"},{"assignments":[38733],"declarations":[{"constant":false,"id":38733,"mutability":"mutable","name":"m3","nameLocation":"404950:2:19","nodeType":"VariableDeclaration","scope":38763,"src":"404942:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38732,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404942:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38734,"nodeType":"VariableDeclarationStatement","src":"404942:10:19"},{"assignments":[38736],"declarations":[{"constant":false,"id":38736,"mutability":"mutable","name":"m4","nameLocation":"404970:2:19","nodeType":"VariableDeclaration","scope":38763,"src":"404962:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38735,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404962:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38737,"nodeType":"VariableDeclarationStatement","src":"404962:10:19"},{"assignments":[38739],"declarations":[{"constant":false,"id":38739,"mutability":"mutable","name":"m5","nameLocation":"404990:2:19","nodeType":"VariableDeclaration","scope":38763,"src":"404982:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38738,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404982:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38740,"nodeType":"VariableDeclarationStatement","src":"404982:10:19"},{"assignments":[38742],"declarations":[{"constant":false,"id":38742,"mutability":"mutable","name":"m6","nameLocation":"405010:2:19","nodeType":"VariableDeclaration","scope":38763,"src":"405002:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38741,"name":"bytes32","nodeType":"ElementaryTypeName","src":"405002:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38743,"nodeType":"VariableDeclarationStatement","src":"405002:10:19"},{"assignments":[38745],"declarations":[{"constant":false,"id":38745,"mutability":"mutable","name":"m7","nameLocation":"405030:2:19","nodeType":"VariableDeclaration","scope":38763,"src":"405022:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"405022:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38746,"nodeType":"VariableDeclarationStatement","src":"405022:10:19"},{"assignments":[38748],"declarations":[{"constant":false,"id":38748,"mutability":"mutable","name":"m8","nameLocation":"405050:2:19","nodeType":"VariableDeclaration","scope":38763,"src":"405042:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38747,"name":"bytes32","nodeType":"ElementaryTypeName","src":"405042:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38749,"nodeType":"VariableDeclarationStatement","src":"405042:10:19"},{"assignments":[38751],"declarations":[{"constant":false,"id":38751,"mutability":"mutable","name":"m9","nameLocation":"405070:2:19","nodeType":"VariableDeclaration","scope":38763,"src":"405062:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38750,"name":"bytes32","nodeType":"ElementaryTypeName","src":"405062:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38752,"nodeType":"VariableDeclarationStatement","src":"405062:10:19"},{"assignments":[38754],"declarations":[{"constant":false,"id":38754,"mutability":"mutable","name":"m10","nameLocation":"405090:3:19","nodeType":"VariableDeclaration","scope":38763,"src":"405082:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38753,"name":"bytes32","nodeType":"ElementaryTypeName","src":"405082:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38755,"nodeType":"VariableDeclarationStatement","src":"405082:11:19"},{"AST":{"nativeSrc":"405155:1027:19","nodeType":"YulBlock","src":"405155:1027:19","statements":[{"body":{"nativeSrc":"405198:313:19","nodeType":"YulBlock","src":"405198:313:19","statements":[{"nativeSrc":"405216:15:19","nodeType":"YulVariableDeclaration","src":"405216:15:19","value":{"kind":"number","nativeSrc":"405230:1:19","nodeType":"YulLiteral","src":"405230:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"405220:6:19","nodeType":"YulTypedName","src":"405220:6:19","type":""}]},{"body":{"nativeSrc":"405301:40:19","nodeType":"YulBlock","src":"405301:40:19","statements":[{"body":{"nativeSrc":"405330:9:19","nodeType":"YulBlock","src":"405330:9:19","statements":[{"nativeSrc":"405332:5:19","nodeType":"YulBreak","src":"405332:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"405318:6:19","nodeType":"YulIdentifier","src":"405318:6:19"},{"name":"w","nativeSrc":"405326:1:19","nodeType":"YulIdentifier","src":"405326:1:19"}],"functionName":{"name":"byte","nativeSrc":"405313:4:19","nodeType":"YulIdentifier","src":"405313:4:19"},"nativeSrc":"405313:15:19","nodeType":"YulFunctionCall","src":"405313:15:19"}],"functionName":{"name":"iszero","nativeSrc":"405306:6:19","nodeType":"YulIdentifier","src":"405306:6:19"},"nativeSrc":"405306:23:19","nodeType":"YulFunctionCall","src":"405306:23:19"},"nativeSrc":"405303:36:19","nodeType":"YulIf","src":"405303:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"405258:6:19","nodeType":"YulIdentifier","src":"405258:6:19"},{"kind":"number","nativeSrc":"405266:4:19","nodeType":"YulLiteral","src":"405266:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"405255:2:19","nodeType":"YulIdentifier","src":"405255:2:19"},"nativeSrc":"405255:16:19","nodeType":"YulFunctionCall","src":"405255:16:19"},"nativeSrc":"405248:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"405272:28:19","nodeType":"YulBlock","src":"405272:28:19","statements":[{"nativeSrc":"405274:24:19","nodeType":"YulAssignment","src":"405274:24:19","value":{"arguments":[{"name":"length","nativeSrc":"405288:6:19","nodeType":"YulIdentifier","src":"405288:6:19"},{"kind":"number","nativeSrc":"405296:1:19","nodeType":"YulLiteral","src":"405296:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"405284:3:19","nodeType":"YulIdentifier","src":"405284:3:19"},"nativeSrc":"405284:14:19","nodeType":"YulFunctionCall","src":"405284:14:19"},"variableNames":[{"name":"length","nativeSrc":"405274:6:19","nodeType":"YulIdentifier","src":"405274:6:19"}]}]},"pre":{"nativeSrc":"405252:2:19","nodeType":"YulBlock","src":"405252:2:19","statements":[]},"src":"405248:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"405365:3:19","nodeType":"YulIdentifier","src":"405365:3:19"},{"name":"length","nativeSrc":"405370:6:19","nodeType":"YulIdentifier","src":"405370:6:19"}],"functionName":{"name":"mstore","nativeSrc":"405358:6:19","nodeType":"YulIdentifier","src":"405358:6:19"},"nativeSrc":"405358:19:19","nodeType":"YulFunctionCall","src":"405358:19:19"},"nativeSrc":"405358:19:19","nodeType":"YulExpressionStatement","src":"405358:19:19"},{"nativeSrc":"405394:37:19","nodeType":"YulVariableDeclaration","src":"405394:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"405411:3:19","nodeType":"YulLiteral","src":"405411:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"405420:1:19","nodeType":"YulLiteral","src":"405420:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"405423:6:19","nodeType":"YulIdentifier","src":"405423:6:19"}],"functionName":{"name":"shl","nativeSrc":"405416:3:19","nodeType":"YulIdentifier","src":"405416:3:19"},"nativeSrc":"405416:14:19","nodeType":"YulFunctionCall","src":"405416:14:19"}],"functionName":{"name":"sub","nativeSrc":"405407:3:19","nodeType":"YulIdentifier","src":"405407:3:19"},"nativeSrc":"405407:24:19","nodeType":"YulFunctionCall","src":"405407:24:19"},"variables":[{"name":"shift","nativeSrc":"405398:5:19","nodeType":"YulTypedName","src":"405398:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"405459:3:19","nodeType":"YulIdentifier","src":"405459:3:19"},{"kind":"number","nativeSrc":"405464:4:19","nodeType":"YulLiteral","src":"405464:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"405455:3:19","nodeType":"YulIdentifier","src":"405455:3:19"},"nativeSrc":"405455:14:19","nodeType":"YulFunctionCall","src":"405455:14:19"},{"arguments":[{"name":"shift","nativeSrc":"405475:5:19","nodeType":"YulIdentifier","src":"405475:5:19"},{"arguments":[{"name":"shift","nativeSrc":"405486:5:19","nodeType":"YulIdentifier","src":"405486:5:19"},{"name":"w","nativeSrc":"405493:1:19","nodeType":"YulIdentifier","src":"405493:1:19"}],"functionName":{"name":"shr","nativeSrc":"405482:3:19","nodeType":"YulIdentifier","src":"405482:3:19"},"nativeSrc":"405482:13:19","nodeType":"YulFunctionCall","src":"405482:13:19"}],"functionName":{"name":"shl","nativeSrc":"405471:3:19","nodeType":"YulIdentifier","src":"405471:3:19"},"nativeSrc":"405471:25:19","nodeType":"YulFunctionCall","src":"405471:25:19"}],"functionName":{"name":"mstore","nativeSrc":"405448:6:19","nodeType":"YulIdentifier","src":"405448:6:19"},"nativeSrc":"405448:49:19","nodeType":"YulFunctionCall","src":"405448:49:19"},"nativeSrc":"405448:49:19","nodeType":"YulExpressionStatement","src":"405448:49:19"}]},"name":"writeString","nativeSrc":"405169:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"405190:3:19","nodeType":"YulTypedName","src":"405190:3:19","type":""},{"name":"w","nativeSrc":"405195:1:19","nodeType":"YulTypedName","src":"405195:1:19","type":""}],"src":"405169:342:19"},{"nativeSrc":"405524:17:19","nodeType":"YulAssignment","src":"405524:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"405536:4:19","nodeType":"YulLiteral","src":"405536:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"405530:5:19","nodeType":"YulIdentifier","src":"405530:5:19"},"nativeSrc":"405530:11:19","nodeType":"YulFunctionCall","src":"405530:11:19"},"variableNames":[{"name":"m0","nativeSrc":"405524:2:19","nodeType":"YulIdentifier","src":"405524:2:19"}]},{"nativeSrc":"405554:17:19","nodeType":"YulAssignment","src":"405554:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"405566:4:19","nodeType":"YulLiteral","src":"405566:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"405560:5:19","nodeType":"YulIdentifier","src":"405560:5:19"},"nativeSrc":"405560:11:19","nodeType":"YulFunctionCall","src":"405560:11:19"},"variableNames":[{"name":"m1","nativeSrc":"405554:2:19","nodeType":"YulIdentifier","src":"405554:2:19"}]},{"nativeSrc":"405584:17:19","nodeType":"YulAssignment","src":"405584:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"405596:4:19","nodeType":"YulLiteral","src":"405596:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"405590:5:19","nodeType":"YulIdentifier","src":"405590:5:19"},"nativeSrc":"405590:11:19","nodeType":"YulFunctionCall","src":"405590:11:19"},"variableNames":[{"name":"m2","nativeSrc":"405584:2:19","nodeType":"YulIdentifier","src":"405584:2:19"}]},{"nativeSrc":"405614:17:19","nodeType":"YulAssignment","src":"405614:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"405626:4:19","nodeType":"YulLiteral","src":"405626:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"405620:5:19","nodeType":"YulIdentifier","src":"405620:5:19"},"nativeSrc":"405620:11:19","nodeType":"YulFunctionCall","src":"405620:11:19"},"variableNames":[{"name":"m3","nativeSrc":"405614:2:19","nodeType":"YulIdentifier","src":"405614:2:19"}]},{"nativeSrc":"405644:17:19","nodeType":"YulAssignment","src":"405644:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"405656:4:19","nodeType":"YulLiteral","src":"405656:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"405650:5:19","nodeType":"YulIdentifier","src":"405650:5:19"},"nativeSrc":"405650:11:19","nodeType":"YulFunctionCall","src":"405650:11:19"},"variableNames":[{"name":"m4","nativeSrc":"405644:2:19","nodeType":"YulIdentifier","src":"405644:2:19"}]},{"nativeSrc":"405674:17:19","nodeType":"YulAssignment","src":"405674:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"405686:4:19","nodeType":"YulLiteral","src":"405686:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"405680:5:19","nodeType":"YulIdentifier","src":"405680:5:19"},"nativeSrc":"405680:11:19","nodeType":"YulFunctionCall","src":"405680:11:19"},"variableNames":[{"name":"m5","nativeSrc":"405674:2:19","nodeType":"YulIdentifier","src":"405674:2:19"}]},{"nativeSrc":"405704:17:19","nodeType":"YulAssignment","src":"405704:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"405716:4:19","nodeType":"YulLiteral","src":"405716:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"405710:5:19","nodeType":"YulIdentifier","src":"405710:5:19"},"nativeSrc":"405710:11:19","nodeType":"YulFunctionCall","src":"405710:11:19"},"variableNames":[{"name":"m6","nativeSrc":"405704:2:19","nodeType":"YulIdentifier","src":"405704:2:19"}]},{"nativeSrc":"405734:17:19","nodeType":"YulAssignment","src":"405734:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"405746:4:19","nodeType":"YulLiteral","src":"405746:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"405740:5:19","nodeType":"YulIdentifier","src":"405740:5:19"},"nativeSrc":"405740:11:19","nodeType":"YulFunctionCall","src":"405740:11:19"},"variableNames":[{"name":"m7","nativeSrc":"405734:2:19","nodeType":"YulIdentifier","src":"405734:2:19"}]},{"nativeSrc":"405764:18:19","nodeType":"YulAssignment","src":"405764:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"405776:5:19","nodeType":"YulLiteral","src":"405776:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"405770:5:19","nodeType":"YulIdentifier","src":"405770:5:19"},"nativeSrc":"405770:12:19","nodeType":"YulFunctionCall","src":"405770:12:19"},"variableNames":[{"name":"m8","nativeSrc":"405764:2:19","nodeType":"YulIdentifier","src":"405764:2:19"}]},{"nativeSrc":"405795:18:19","nodeType":"YulAssignment","src":"405795:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"405807:5:19","nodeType":"YulLiteral","src":"405807:5:19","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"405801:5:19","nodeType":"YulIdentifier","src":"405801:5:19"},"nativeSrc":"405801:12:19","nodeType":"YulFunctionCall","src":"405801:12:19"},"variableNames":[{"name":"m9","nativeSrc":"405795:2:19","nodeType":"YulIdentifier","src":"405795:2:19"}]},{"nativeSrc":"405826:19:19","nodeType":"YulAssignment","src":"405826:19:19","value":{"arguments":[{"kind":"number","nativeSrc":"405839:5:19","nodeType":"YulLiteral","src":"405839:5:19","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"405833:5:19","nodeType":"YulIdentifier","src":"405833:5:19"},"nativeSrc":"405833:12:19","nodeType":"YulFunctionCall","src":"405833:12:19"},"variableNames":[{"name":"m10","nativeSrc":"405826:3:19","nodeType":"YulIdentifier","src":"405826:3:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"405929:4:19","nodeType":"YulLiteral","src":"405929:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"405935:10:19","nodeType":"YulLiteral","src":"405935:10:19","type":"","value":"0xeb1bff80"}],"functionName":{"name":"mstore","nativeSrc":"405922:6:19","nodeType":"YulIdentifier","src":"405922:6:19"},"nativeSrc":"405922:24:19","nodeType":"YulFunctionCall","src":"405922:24:19"},"nativeSrc":"405922:24:19","nodeType":"YulExpressionStatement","src":"405922:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"405966:4:19","nodeType":"YulLiteral","src":"405966:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"405972:4:19","nodeType":"YulLiteral","src":"405972:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"405959:6:19","nodeType":"YulIdentifier","src":"405959:6:19"},"nativeSrc":"405959:18:19","nodeType":"YulFunctionCall","src":"405959:18:19"},"nativeSrc":"405959:18:19","nodeType":"YulExpressionStatement","src":"405959:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"405997:4:19","nodeType":"YulLiteral","src":"405997:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"406003:4:19","nodeType":"YulLiteral","src":"406003:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"405990:6:19","nodeType":"YulIdentifier","src":"405990:6:19"},"nativeSrc":"405990:18:19","nodeType":"YulFunctionCall","src":"405990:18:19"},"nativeSrc":"405990:18:19","nodeType":"YulExpressionStatement","src":"405990:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406028:4:19","nodeType":"YulLiteral","src":"406028:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"406034:2:19","nodeType":"YulIdentifier","src":"406034:2:19"}],"functionName":{"name":"mstore","nativeSrc":"406021:6:19","nodeType":"YulIdentifier","src":"406021:6:19"},"nativeSrc":"406021:16:19","nodeType":"YulFunctionCall","src":"406021:16:19"},"nativeSrc":"406021:16:19","nodeType":"YulExpressionStatement","src":"406021:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406057:4:19","nodeType":"YulLiteral","src":"406057:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"406063:5:19","nodeType":"YulLiteral","src":"406063:5:19","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"406050:6:19","nodeType":"YulIdentifier","src":"406050:6:19"},"nativeSrc":"406050:19:19","nodeType":"YulFunctionCall","src":"406050:19:19"},"nativeSrc":"406050:19:19","nodeType":"YulExpressionStatement","src":"406050:19:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406094:4:19","nodeType":"YulLiteral","src":"406094:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"406100:2:19","nodeType":"YulIdentifier","src":"406100:2:19"}],"functionName":{"name":"writeString","nativeSrc":"406082:11:19","nodeType":"YulIdentifier","src":"406082:11:19"},"nativeSrc":"406082:21:19","nodeType":"YulFunctionCall","src":"406082:21:19"},"nativeSrc":"406082:21:19","nodeType":"YulExpressionStatement","src":"406082:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406128:4:19","nodeType":"YulLiteral","src":"406128:4:19","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"406134:2:19","nodeType":"YulIdentifier","src":"406134:2:19"}],"functionName":{"name":"writeString","nativeSrc":"406116:11:19","nodeType":"YulIdentifier","src":"406116:11:19"},"nativeSrc":"406116:21:19","nodeType":"YulFunctionCall","src":"406116:21:19"},"nativeSrc":"406116:21:19","nodeType":"YulExpressionStatement","src":"406116:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406162:5:19","nodeType":"YulLiteral","src":"406162:5:19","type":"","value":"0x120"},{"name":"p3","nativeSrc":"406169:2:19","nodeType":"YulIdentifier","src":"406169:2:19"}],"functionName":{"name":"writeString","nativeSrc":"406150:11:19","nodeType":"YulIdentifier","src":"406150:11:19"},"nativeSrc":"406150:22:19","nodeType":"YulFunctionCall","src":"406150:22:19"},"nativeSrc":"406150:22:19","nodeType":"YulExpressionStatement","src":"406150:22:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38724,"isOffset":false,"isSlot":false,"src":"405524:2:19","valueSize":1},{"declaration":38727,"isOffset":false,"isSlot":false,"src":"405554:2:19","valueSize":1},{"declaration":38754,"isOffset":false,"isSlot":false,"src":"405826:3:19","valueSize":1},{"declaration":38730,"isOffset":false,"isSlot":false,"src":"405584:2:19","valueSize":1},{"declaration":38733,"isOffset":false,"isSlot":false,"src":"405614:2:19","valueSize":1},{"declaration":38736,"isOffset":false,"isSlot":false,"src":"405644:2:19","valueSize":1},{"declaration":38739,"isOffset":false,"isSlot":false,"src":"405674:2:19","valueSize":1},{"declaration":38742,"isOffset":false,"isSlot":false,"src":"405704:2:19","valueSize":1},{"declaration":38745,"isOffset":false,"isSlot":false,"src":"405734:2:19","valueSize":1},{"declaration":38748,"isOffset":false,"isSlot":false,"src":"405764:2:19","valueSize":1},{"declaration":38751,"isOffset":false,"isSlot":false,"src":"405795:2:19","valueSize":1},{"declaration":38714,"isOffset":false,"isSlot":false,"src":"406100:2:19","valueSize":1},{"declaration":38716,"isOffset":false,"isSlot":false,"src":"406134:2:19","valueSize":1},{"declaration":38718,"isOffset":false,"isSlot":false,"src":"406034:2:19","valueSize":1},{"declaration":38720,"isOffset":false,"isSlot":false,"src":"406169:2:19","valueSize":1}],"id":38756,"nodeType":"InlineAssembly","src":"405146:1036:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":38758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"406207:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":38759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"406213:5:19","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"0x144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"}],"id":38757,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"406191:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"406191:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38761,"nodeType":"ExpressionStatement","src":"406191:28:19"},{"AST":{"nativeSrc":"406281:334:19","nodeType":"YulBlock","src":"406281:334:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"406302:4:19","nodeType":"YulLiteral","src":"406302:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"406308:2:19","nodeType":"YulIdentifier","src":"406308:2:19"}],"functionName":{"name":"mstore","nativeSrc":"406295:6:19","nodeType":"YulIdentifier","src":"406295:6:19"},"nativeSrc":"406295:16:19","nodeType":"YulFunctionCall","src":"406295:16:19"},"nativeSrc":"406295:16:19","nodeType":"YulExpressionStatement","src":"406295:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406331:4:19","nodeType":"YulLiteral","src":"406331:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"406337:2:19","nodeType":"YulIdentifier","src":"406337:2:19"}],"functionName":{"name":"mstore","nativeSrc":"406324:6:19","nodeType":"YulIdentifier","src":"406324:6:19"},"nativeSrc":"406324:16:19","nodeType":"YulFunctionCall","src":"406324:16:19"},"nativeSrc":"406324:16:19","nodeType":"YulExpressionStatement","src":"406324:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406360:4:19","nodeType":"YulLiteral","src":"406360:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"406366:2:19","nodeType":"YulIdentifier","src":"406366:2:19"}],"functionName":{"name":"mstore","nativeSrc":"406353:6:19","nodeType":"YulIdentifier","src":"406353:6:19"},"nativeSrc":"406353:16:19","nodeType":"YulFunctionCall","src":"406353:16:19"},"nativeSrc":"406353:16:19","nodeType":"YulExpressionStatement","src":"406353:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406389:4:19","nodeType":"YulLiteral","src":"406389:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"406395:2:19","nodeType":"YulIdentifier","src":"406395:2:19"}],"functionName":{"name":"mstore","nativeSrc":"406382:6:19","nodeType":"YulIdentifier","src":"406382:6:19"},"nativeSrc":"406382:16:19","nodeType":"YulFunctionCall","src":"406382:16:19"},"nativeSrc":"406382:16:19","nodeType":"YulExpressionStatement","src":"406382:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406418:4:19","nodeType":"YulLiteral","src":"406418:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"406424:2:19","nodeType":"YulIdentifier","src":"406424:2:19"}],"functionName":{"name":"mstore","nativeSrc":"406411:6:19","nodeType":"YulIdentifier","src":"406411:6:19"},"nativeSrc":"406411:16:19","nodeType":"YulFunctionCall","src":"406411:16:19"},"nativeSrc":"406411:16:19","nodeType":"YulExpressionStatement","src":"406411:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406447:4:19","nodeType":"YulLiteral","src":"406447:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"406453:2:19","nodeType":"YulIdentifier","src":"406453:2:19"}],"functionName":{"name":"mstore","nativeSrc":"406440:6:19","nodeType":"YulIdentifier","src":"406440:6:19"},"nativeSrc":"406440:16:19","nodeType":"YulFunctionCall","src":"406440:16:19"},"nativeSrc":"406440:16:19","nodeType":"YulExpressionStatement","src":"406440:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406476:4:19","nodeType":"YulLiteral","src":"406476:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"406482:2:19","nodeType":"YulIdentifier","src":"406482:2:19"}],"functionName":{"name":"mstore","nativeSrc":"406469:6:19","nodeType":"YulIdentifier","src":"406469:6:19"},"nativeSrc":"406469:16:19","nodeType":"YulFunctionCall","src":"406469:16:19"},"nativeSrc":"406469:16:19","nodeType":"YulExpressionStatement","src":"406469:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406505:4:19","nodeType":"YulLiteral","src":"406505:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"406511:2:19","nodeType":"YulIdentifier","src":"406511:2:19"}],"functionName":{"name":"mstore","nativeSrc":"406498:6:19","nodeType":"YulIdentifier","src":"406498:6:19"},"nativeSrc":"406498:16:19","nodeType":"YulFunctionCall","src":"406498:16:19"},"nativeSrc":"406498:16:19","nodeType":"YulExpressionStatement","src":"406498:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406534:5:19","nodeType":"YulLiteral","src":"406534:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"406541:2:19","nodeType":"YulIdentifier","src":"406541:2:19"}],"functionName":{"name":"mstore","nativeSrc":"406527:6:19","nodeType":"YulIdentifier","src":"406527:6:19"},"nativeSrc":"406527:17:19","nodeType":"YulFunctionCall","src":"406527:17:19"},"nativeSrc":"406527:17:19","nodeType":"YulExpressionStatement","src":"406527:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406564:5:19","nodeType":"YulLiteral","src":"406564:5:19","type":"","value":"0x120"},{"name":"m9","nativeSrc":"406571:2:19","nodeType":"YulIdentifier","src":"406571:2:19"}],"functionName":{"name":"mstore","nativeSrc":"406557:6:19","nodeType":"YulIdentifier","src":"406557:6:19"},"nativeSrc":"406557:17:19","nodeType":"YulFunctionCall","src":"406557:17:19"},"nativeSrc":"406557:17:19","nodeType":"YulExpressionStatement","src":"406557:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"406594:5:19","nodeType":"YulLiteral","src":"406594:5:19","type":"","value":"0x140"},{"name":"m10","nativeSrc":"406601:3:19","nodeType":"YulIdentifier","src":"406601:3:19"}],"functionName":{"name":"mstore","nativeSrc":"406587:6:19","nodeType":"YulIdentifier","src":"406587:6:19"},"nativeSrc":"406587:18:19","nodeType":"YulFunctionCall","src":"406587:18:19"},"nativeSrc":"406587:18:19","nodeType":"YulExpressionStatement","src":"406587:18:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38724,"isOffset":false,"isSlot":false,"src":"406308:2:19","valueSize":1},{"declaration":38727,"isOffset":false,"isSlot":false,"src":"406337:2:19","valueSize":1},{"declaration":38754,"isOffset":false,"isSlot":false,"src":"406601:3:19","valueSize":1},{"declaration":38730,"isOffset":false,"isSlot":false,"src":"406366:2:19","valueSize":1},{"declaration":38733,"isOffset":false,"isSlot":false,"src":"406395:2:19","valueSize":1},{"declaration":38736,"isOffset":false,"isSlot":false,"src":"406424:2:19","valueSize":1},{"declaration":38739,"isOffset":false,"isSlot":false,"src":"406453:2:19","valueSize":1},{"declaration":38742,"isOffset":false,"isSlot":false,"src":"406482:2:19","valueSize":1},{"declaration":38745,"isOffset":false,"isSlot":false,"src":"406511:2:19","valueSize":1},{"declaration":38748,"isOffset":false,"isSlot":false,"src":"406541:2:19","valueSize":1},{"declaration":38751,"isOffset":false,"isSlot":false,"src":"406571:2:19","valueSize":1}],"id":38762,"nodeType":"InlineAssembly","src":"406272:343:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"404806:3:19","parameters":{"id":38721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38714,"mutability":"mutable","name":"p0","nameLocation":"404818:2:19","nodeType":"VariableDeclaration","scope":38764,"src":"404810:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38713,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404810:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38716,"mutability":"mutable","name":"p1","nameLocation":"404830:2:19","nodeType":"VariableDeclaration","scope":38764,"src":"404822:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38715,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404822:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38718,"mutability":"mutable","name":"p2","nameLocation":"404842:2:19","nodeType":"VariableDeclaration","scope":38764,"src":"404834:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38717,"name":"address","nodeType":"ElementaryTypeName","src":"404834:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38720,"mutability":"mutable","name":"p3","nameLocation":"404854:2:19","nodeType":"VariableDeclaration","scope":38764,"src":"404846:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38719,"name":"bytes32","nodeType":"ElementaryTypeName","src":"404846:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"404809:48:19"},"returnParameters":{"id":38722,"nodeType":"ParameterList","parameters":[],"src":"404872:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38810,"nodeType":"FunctionDefinition","src":"406627:1616:19","nodes":[],"body":{"id":38809,"nodeType":"Block","src":"406699:1544:19","nodes":[],"statements":[{"assignments":[38776],"declarations":[{"constant":false,"id":38776,"mutability":"mutable","name":"m0","nameLocation":"406717:2:19","nodeType":"VariableDeclaration","scope":38809,"src":"406709:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38775,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406709:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38777,"nodeType":"VariableDeclarationStatement","src":"406709:10:19"},{"assignments":[38779],"declarations":[{"constant":false,"id":38779,"mutability":"mutable","name":"m1","nameLocation":"406737:2:19","nodeType":"VariableDeclaration","scope":38809,"src":"406729:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38778,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406729:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38780,"nodeType":"VariableDeclarationStatement","src":"406729:10:19"},{"assignments":[38782],"declarations":[{"constant":false,"id":38782,"mutability":"mutable","name":"m2","nameLocation":"406757:2:19","nodeType":"VariableDeclaration","scope":38809,"src":"406749:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38781,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406749:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38783,"nodeType":"VariableDeclarationStatement","src":"406749:10:19"},{"assignments":[38785],"declarations":[{"constant":false,"id":38785,"mutability":"mutable","name":"m3","nameLocation":"406777:2:19","nodeType":"VariableDeclaration","scope":38809,"src":"406769:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38784,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406769:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38786,"nodeType":"VariableDeclarationStatement","src":"406769:10:19"},{"assignments":[38788],"declarations":[{"constant":false,"id":38788,"mutability":"mutable","name":"m4","nameLocation":"406797:2:19","nodeType":"VariableDeclaration","scope":38809,"src":"406789:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38787,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406789:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38789,"nodeType":"VariableDeclarationStatement","src":"406789:10:19"},{"assignments":[38791],"declarations":[{"constant":false,"id":38791,"mutability":"mutable","name":"m5","nameLocation":"406817:2:19","nodeType":"VariableDeclaration","scope":38809,"src":"406809:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38790,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406809:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38792,"nodeType":"VariableDeclarationStatement","src":"406809:10:19"},{"assignments":[38794],"declarations":[{"constant":false,"id":38794,"mutability":"mutable","name":"m6","nameLocation":"406837:2:19","nodeType":"VariableDeclaration","scope":38809,"src":"406829:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406829:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38795,"nodeType":"VariableDeclarationStatement","src":"406829:10:19"},{"assignments":[38797],"declarations":[{"constant":false,"id":38797,"mutability":"mutable","name":"m7","nameLocation":"406857:2:19","nodeType":"VariableDeclaration","scope":38809,"src":"406849:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38796,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406849:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38798,"nodeType":"VariableDeclarationStatement","src":"406849:10:19"},{"assignments":[38800],"declarations":[{"constant":false,"id":38800,"mutability":"mutable","name":"m8","nameLocation":"406877:2:19","nodeType":"VariableDeclaration","scope":38809,"src":"406869:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38799,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406869:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38801,"nodeType":"VariableDeclarationStatement","src":"406869:10:19"},{"AST":{"nativeSrc":"406941:924:19","nodeType":"YulBlock","src":"406941:924:19","statements":[{"body":{"nativeSrc":"406984:313:19","nodeType":"YulBlock","src":"406984:313:19","statements":[{"nativeSrc":"407002:15:19","nodeType":"YulVariableDeclaration","src":"407002:15:19","value":{"kind":"number","nativeSrc":"407016:1:19","nodeType":"YulLiteral","src":"407016:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"407006:6:19","nodeType":"YulTypedName","src":"407006:6:19","type":""}]},{"body":{"nativeSrc":"407087:40:19","nodeType":"YulBlock","src":"407087:40:19","statements":[{"body":{"nativeSrc":"407116:9:19","nodeType":"YulBlock","src":"407116:9:19","statements":[{"nativeSrc":"407118:5:19","nodeType":"YulBreak","src":"407118:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"407104:6:19","nodeType":"YulIdentifier","src":"407104:6:19"},{"name":"w","nativeSrc":"407112:1:19","nodeType":"YulIdentifier","src":"407112:1:19"}],"functionName":{"name":"byte","nativeSrc":"407099:4:19","nodeType":"YulIdentifier","src":"407099:4:19"},"nativeSrc":"407099:15:19","nodeType":"YulFunctionCall","src":"407099:15:19"}],"functionName":{"name":"iszero","nativeSrc":"407092:6:19","nodeType":"YulIdentifier","src":"407092:6:19"},"nativeSrc":"407092:23:19","nodeType":"YulFunctionCall","src":"407092:23:19"},"nativeSrc":"407089:36:19","nodeType":"YulIf","src":"407089:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"407044:6:19","nodeType":"YulIdentifier","src":"407044:6:19"},{"kind":"number","nativeSrc":"407052:4:19","nodeType":"YulLiteral","src":"407052:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"407041:2:19","nodeType":"YulIdentifier","src":"407041:2:19"},"nativeSrc":"407041:16:19","nodeType":"YulFunctionCall","src":"407041:16:19"},"nativeSrc":"407034:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"407058:28:19","nodeType":"YulBlock","src":"407058:28:19","statements":[{"nativeSrc":"407060:24:19","nodeType":"YulAssignment","src":"407060:24:19","value":{"arguments":[{"name":"length","nativeSrc":"407074:6:19","nodeType":"YulIdentifier","src":"407074:6:19"},{"kind":"number","nativeSrc":"407082:1:19","nodeType":"YulLiteral","src":"407082:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"407070:3:19","nodeType":"YulIdentifier","src":"407070:3:19"},"nativeSrc":"407070:14:19","nodeType":"YulFunctionCall","src":"407070:14:19"},"variableNames":[{"name":"length","nativeSrc":"407060:6:19","nodeType":"YulIdentifier","src":"407060:6:19"}]}]},"pre":{"nativeSrc":"407038:2:19","nodeType":"YulBlock","src":"407038:2:19","statements":[]},"src":"407034:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"407151:3:19","nodeType":"YulIdentifier","src":"407151:3:19"},{"name":"length","nativeSrc":"407156:6:19","nodeType":"YulIdentifier","src":"407156:6:19"}],"functionName":{"name":"mstore","nativeSrc":"407144:6:19","nodeType":"YulIdentifier","src":"407144:6:19"},"nativeSrc":"407144:19:19","nodeType":"YulFunctionCall","src":"407144:19:19"},"nativeSrc":"407144:19:19","nodeType":"YulExpressionStatement","src":"407144:19:19"},{"nativeSrc":"407180:37:19","nodeType":"YulVariableDeclaration","src":"407180:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"407197:3:19","nodeType":"YulLiteral","src":"407197:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"407206:1:19","nodeType":"YulLiteral","src":"407206:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"407209:6:19","nodeType":"YulIdentifier","src":"407209:6:19"}],"functionName":{"name":"shl","nativeSrc":"407202:3:19","nodeType":"YulIdentifier","src":"407202:3:19"},"nativeSrc":"407202:14:19","nodeType":"YulFunctionCall","src":"407202:14:19"}],"functionName":{"name":"sub","nativeSrc":"407193:3:19","nodeType":"YulIdentifier","src":"407193:3:19"},"nativeSrc":"407193:24:19","nodeType":"YulFunctionCall","src":"407193:24:19"},"variables":[{"name":"shift","nativeSrc":"407184:5:19","nodeType":"YulTypedName","src":"407184:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"407245:3:19","nodeType":"YulIdentifier","src":"407245:3:19"},{"kind":"number","nativeSrc":"407250:4:19","nodeType":"YulLiteral","src":"407250:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"407241:3:19","nodeType":"YulIdentifier","src":"407241:3:19"},"nativeSrc":"407241:14:19","nodeType":"YulFunctionCall","src":"407241:14:19"},{"arguments":[{"name":"shift","nativeSrc":"407261:5:19","nodeType":"YulIdentifier","src":"407261:5:19"},{"arguments":[{"name":"shift","nativeSrc":"407272:5:19","nodeType":"YulIdentifier","src":"407272:5:19"},{"name":"w","nativeSrc":"407279:1:19","nodeType":"YulIdentifier","src":"407279:1:19"}],"functionName":{"name":"shr","nativeSrc":"407268:3:19","nodeType":"YulIdentifier","src":"407268:3:19"},"nativeSrc":"407268:13:19","nodeType":"YulFunctionCall","src":"407268:13:19"}],"functionName":{"name":"shl","nativeSrc":"407257:3:19","nodeType":"YulIdentifier","src":"407257:3:19"},"nativeSrc":"407257:25:19","nodeType":"YulFunctionCall","src":"407257:25:19"}],"functionName":{"name":"mstore","nativeSrc":"407234:6:19","nodeType":"YulIdentifier","src":"407234:6:19"},"nativeSrc":"407234:49:19","nodeType":"YulFunctionCall","src":"407234:49:19"},"nativeSrc":"407234:49:19","nodeType":"YulExpressionStatement","src":"407234:49:19"}]},"name":"writeString","nativeSrc":"406955:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"406976:3:19","nodeType":"YulTypedName","src":"406976:3:19","type":""},{"name":"w","nativeSrc":"406981:1:19","nodeType":"YulTypedName","src":"406981:1:19","type":""}],"src":"406955:342:19"},{"nativeSrc":"407310:17:19","nodeType":"YulAssignment","src":"407310:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"407322:4:19","nodeType":"YulLiteral","src":"407322:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"407316:5:19","nodeType":"YulIdentifier","src":"407316:5:19"},"nativeSrc":"407316:11:19","nodeType":"YulFunctionCall","src":"407316:11:19"},"variableNames":[{"name":"m0","nativeSrc":"407310:2:19","nodeType":"YulIdentifier","src":"407310:2:19"}]},{"nativeSrc":"407340:17:19","nodeType":"YulAssignment","src":"407340:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"407352:4:19","nodeType":"YulLiteral","src":"407352:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"407346:5:19","nodeType":"YulIdentifier","src":"407346:5:19"},"nativeSrc":"407346:11:19","nodeType":"YulFunctionCall","src":"407346:11:19"},"variableNames":[{"name":"m1","nativeSrc":"407340:2:19","nodeType":"YulIdentifier","src":"407340:2:19"}]},{"nativeSrc":"407370:17:19","nodeType":"YulAssignment","src":"407370:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"407382:4:19","nodeType":"YulLiteral","src":"407382:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"407376:5:19","nodeType":"YulIdentifier","src":"407376:5:19"},"nativeSrc":"407376:11:19","nodeType":"YulFunctionCall","src":"407376:11:19"},"variableNames":[{"name":"m2","nativeSrc":"407370:2:19","nodeType":"YulIdentifier","src":"407370:2:19"}]},{"nativeSrc":"407400:17:19","nodeType":"YulAssignment","src":"407400:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"407412:4:19","nodeType":"YulLiteral","src":"407412:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"407406:5:19","nodeType":"YulIdentifier","src":"407406:5:19"},"nativeSrc":"407406:11:19","nodeType":"YulFunctionCall","src":"407406:11:19"},"variableNames":[{"name":"m3","nativeSrc":"407400:2:19","nodeType":"YulIdentifier","src":"407400:2:19"}]},{"nativeSrc":"407430:17:19","nodeType":"YulAssignment","src":"407430:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"407442:4:19","nodeType":"YulLiteral","src":"407442:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"407436:5:19","nodeType":"YulIdentifier","src":"407436:5:19"},"nativeSrc":"407436:11:19","nodeType":"YulFunctionCall","src":"407436:11:19"},"variableNames":[{"name":"m4","nativeSrc":"407430:2:19","nodeType":"YulIdentifier","src":"407430:2:19"}]},{"nativeSrc":"407460:17:19","nodeType":"YulAssignment","src":"407460:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"407472:4:19","nodeType":"YulLiteral","src":"407472:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"407466:5:19","nodeType":"YulIdentifier","src":"407466:5:19"},"nativeSrc":"407466:11:19","nodeType":"YulFunctionCall","src":"407466:11:19"},"variableNames":[{"name":"m5","nativeSrc":"407460:2:19","nodeType":"YulIdentifier","src":"407460:2:19"}]},{"nativeSrc":"407490:17:19","nodeType":"YulAssignment","src":"407490:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"407502:4:19","nodeType":"YulLiteral","src":"407502:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"407496:5:19","nodeType":"YulIdentifier","src":"407496:5:19"},"nativeSrc":"407496:11:19","nodeType":"YulFunctionCall","src":"407496:11:19"},"variableNames":[{"name":"m6","nativeSrc":"407490:2:19","nodeType":"YulIdentifier","src":"407490:2:19"}]},{"nativeSrc":"407520:17:19","nodeType":"YulAssignment","src":"407520:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"407532:4:19","nodeType":"YulLiteral","src":"407532:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"407526:5:19","nodeType":"YulIdentifier","src":"407526:5:19"},"nativeSrc":"407526:11:19","nodeType":"YulFunctionCall","src":"407526:11:19"},"variableNames":[{"name":"m7","nativeSrc":"407520:2:19","nodeType":"YulIdentifier","src":"407520:2:19"}]},{"nativeSrc":"407550:18:19","nodeType":"YulAssignment","src":"407550:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"407562:5:19","nodeType":"YulLiteral","src":"407562:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"407556:5:19","nodeType":"YulIdentifier","src":"407556:5:19"},"nativeSrc":"407556:12:19","nodeType":"YulFunctionCall","src":"407556:12:19"},"variableNames":[{"name":"m8","nativeSrc":"407550:2:19","nodeType":"YulIdentifier","src":"407550:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"407650:4:19","nodeType":"YulLiteral","src":"407650:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"407656:10:19","nodeType":"YulLiteral","src":"407656:10:19","type":"","value":"0xc371c7db"}],"functionName":{"name":"mstore","nativeSrc":"407643:6:19","nodeType":"YulIdentifier","src":"407643:6:19"},"nativeSrc":"407643:24:19","nodeType":"YulFunctionCall","src":"407643:24:19"},"nativeSrc":"407643:24:19","nodeType":"YulExpressionStatement","src":"407643:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"407687:4:19","nodeType":"YulLiteral","src":"407687:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"407693:4:19","nodeType":"YulLiteral","src":"407693:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"407680:6:19","nodeType":"YulIdentifier","src":"407680:6:19"},"nativeSrc":"407680:18:19","nodeType":"YulFunctionCall","src":"407680:18:19"},"nativeSrc":"407680:18:19","nodeType":"YulExpressionStatement","src":"407680:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"407718:4:19","nodeType":"YulLiteral","src":"407718:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"407724:4:19","nodeType":"YulLiteral","src":"407724:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"407711:6:19","nodeType":"YulIdentifier","src":"407711:6:19"},"nativeSrc":"407711:18:19","nodeType":"YulFunctionCall","src":"407711:18:19"},"nativeSrc":"407711:18:19","nodeType":"YulExpressionStatement","src":"407711:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"407749:4:19","nodeType":"YulLiteral","src":"407749:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"407755:2:19","nodeType":"YulIdentifier","src":"407755:2:19"}],"functionName":{"name":"mstore","nativeSrc":"407742:6:19","nodeType":"YulIdentifier","src":"407742:6:19"},"nativeSrc":"407742:16:19","nodeType":"YulFunctionCall","src":"407742:16:19"},"nativeSrc":"407742:16:19","nodeType":"YulExpressionStatement","src":"407742:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"407778:4:19","nodeType":"YulLiteral","src":"407778:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"407784:2:19","nodeType":"YulIdentifier","src":"407784:2:19"}],"functionName":{"name":"mstore","nativeSrc":"407771:6:19","nodeType":"YulIdentifier","src":"407771:6:19"},"nativeSrc":"407771:16:19","nodeType":"YulFunctionCall","src":"407771:16:19"},"nativeSrc":"407771:16:19","nodeType":"YulExpressionStatement","src":"407771:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"407812:4:19","nodeType":"YulLiteral","src":"407812:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"407818:2:19","nodeType":"YulIdentifier","src":"407818:2:19"}],"functionName":{"name":"writeString","nativeSrc":"407800:11:19","nodeType":"YulIdentifier","src":"407800:11:19"},"nativeSrc":"407800:21:19","nodeType":"YulFunctionCall","src":"407800:21:19"},"nativeSrc":"407800:21:19","nodeType":"YulExpressionStatement","src":"407800:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"407846:4:19","nodeType":"YulLiteral","src":"407846:4:19","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"407852:2:19","nodeType":"YulIdentifier","src":"407852:2:19"}],"functionName":{"name":"writeString","nativeSrc":"407834:11:19","nodeType":"YulIdentifier","src":"407834:11:19"},"nativeSrc":"407834:21:19","nodeType":"YulFunctionCall","src":"407834:21:19"},"nativeSrc":"407834:21:19","nodeType":"YulExpressionStatement","src":"407834:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38776,"isOffset":false,"isSlot":false,"src":"407310:2:19","valueSize":1},{"declaration":38779,"isOffset":false,"isSlot":false,"src":"407340:2:19","valueSize":1},{"declaration":38782,"isOffset":false,"isSlot":false,"src":"407370:2:19","valueSize":1},{"declaration":38785,"isOffset":false,"isSlot":false,"src":"407400:2:19","valueSize":1},{"declaration":38788,"isOffset":false,"isSlot":false,"src":"407430:2:19","valueSize":1},{"declaration":38791,"isOffset":false,"isSlot":false,"src":"407460:2:19","valueSize":1},{"declaration":38794,"isOffset":false,"isSlot":false,"src":"407490:2:19","valueSize":1},{"declaration":38797,"isOffset":false,"isSlot":false,"src":"407520:2:19","valueSize":1},{"declaration":38800,"isOffset":false,"isSlot":false,"src":"407550:2:19","valueSize":1},{"declaration":38766,"isOffset":false,"isSlot":false,"src":"407818:2:19","valueSize":1},{"declaration":38768,"isOffset":false,"isSlot":false,"src":"407852:2:19","valueSize":1},{"declaration":38770,"isOffset":false,"isSlot":false,"src":"407755:2:19","valueSize":1},{"declaration":38772,"isOffset":false,"isSlot":false,"src":"407784:2:19","valueSize":1}],"id":38802,"nodeType":"InlineAssembly","src":"406932:933:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":38804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"407890:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"407896:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":38803,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"407874:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"407874:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38807,"nodeType":"ExpressionStatement","src":"407874:28:19"},{"AST":{"nativeSrc":"407964:273:19","nodeType":"YulBlock","src":"407964:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"407985:4:19","nodeType":"YulLiteral","src":"407985:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"407991:2:19","nodeType":"YulIdentifier","src":"407991:2:19"}],"functionName":{"name":"mstore","nativeSrc":"407978:6:19","nodeType":"YulIdentifier","src":"407978:6:19"},"nativeSrc":"407978:16:19","nodeType":"YulFunctionCall","src":"407978:16:19"},"nativeSrc":"407978:16:19","nodeType":"YulExpressionStatement","src":"407978:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"408014:4:19","nodeType":"YulLiteral","src":"408014:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"408020:2:19","nodeType":"YulIdentifier","src":"408020:2:19"}],"functionName":{"name":"mstore","nativeSrc":"408007:6:19","nodeType":"YulIdentifier","src":"408007:6:19"},"nativeSrc":"408007:16:19","nodeType":"YulFunctionCall","src":"408007:16:19"},"nativeSrc":"408007:16:19","nodeType":"YulExpressionStatement","src":"408007:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"408043:4:19","nodeType":"YulLiteral","src":"408043:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"408049:2:19","nodeType":"YulIdentifier","src":"408049:2:19"}],"functionName":{"name":"mstore","nativeSrc":"408036:6:19","nodeType":"YulIdentifier","src":"408036:6:19"},"nativeSrc":"408036:16:19","nodeType":"YulFunctionCall","src":"408036:16:19"},"nativeSrc":"408036:16:19","nodeType":"YulExpressionStatement","src":"408036:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"408072:4:19","nodeType":"YulLiteral","src":"408072:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"408078:2:19","nodeType":"YulIdentifier","src":"408078:2:19"}],"functionName":{"name":"mstore","nativeSrc":"408065:6:19","nodeType":"YulIdentifier","src":"408065:6:19"},"nativeSrc":"408065:16:19","nodeType":"YulFunctionCall","src":"408065:16:19"},"nativeSrc":"408065:16:19","nodeType":"YulExpressionStatement","src":"408065:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"408101:4:19","nodeType":"YulLiteral","src":"408101:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"408107:2:19","nodeType":"YulIdentifier","src":"408107:2:19"}],"functionName":{"name":"mstore","nativeSrc":"408094:6:19","nodeType":"YulIdentifier","src":"408094:6:19"},"nativeSrc":"408094:16:19","nodeType":"YulFunctionCall","src":"408094:16:19"},"nativeSrc":"408094:16:19","nodeType":"YulExpressionStatement","src":"408094:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"408130:4:19","nodeType":"YulLiteral","src":"408130:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"408136:2:19","nodeType":"YulIdentifier","src":"408136:2:19"}],"functionName":{"name":"mstore","nativeSrc":"408123:6:19","nodeType":"YulIdentifier","src":"408123:6:19"},"nativeSrc":"408123:16:19","nodeType":"YulFunctionCall","src":"408123:16:19"},"nativeSrc":"408123:16:19","nodeType":"YulExpressionStatement","src":"408123:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"408159:4:19","nodeType":"YulLiteral","src":"408159:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"408165:2:19","nodeType":"YulIdentifier","src":"408165:2:19"}],"functionName":{"name":"mstore","nativeSrc":"408152:6:19","nodeType":"YulIdentifier","src":"408152:6:19"},"nativeSrc":"408152:16:19","nodeType":"YulFunctionCall","src":"408152:16:19"},"nativeSrc":"408152:16:19","nodeType":"YulExpressionStatement","src":"408152:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"408188:4:19","nodeType":"YulLiteral","src":"408188:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"408194:2:19","nodeType":"YulIdentifier","src":"408194:2:19"}],"functionName":{"name":"mstore","nativeSrc":"408181:6:19","nodeType":"YulIdentifier","src":"408181:6:19"},"nativeSrc":"408181:16:19","nodeType":"YulFunctionCall","src":"408181:16:19"},"nativeSrc":"408181:16:19","nodeType":"YulExpressionStatement","src":"408181:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"408217:5:19","nodeType":"YulLiteral","src":"408217:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"408224:2:19","nodeType":"YulIdentifier","src":"408224:2:19"}],"functionName":{"name":"mstore","nativeSrc":"408210:6:19","nodeType":"YulIdentifier","src":"408210:6:19"},"nativeSrc":"408210:17:19","nodeType":"YulFunctionCall","src":"408210:17:19"},"nativeSrc":"408210:17:19","nodeType":"YulExpressionStatement","src":"408210:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38776,"isOffset":false,"isSlot":false,"src":"407991:2:19","valueSize":1},{"declaration":38779,"isOffset":false,"isSlot":false,"src":"408020:2:19","valueSize":1},{"declaration":38782,"isOffset":false,"isSlot":false,"src":"408049:2:19","valueSize":1},{"declaration":38785,"isOffset":false,"isSlot":false,"src":"408078:2:19","valueSize":1},{"declaration":38788,"isOffset":false,"isSlot":false,"src":"408107:2:19","valueSize":1},{"declaration":38791,"isOffset":false,"isSlot":false,"src":"408136:2:19","valueSize":1},{"declaration":38794,"isOffset":false,"isSlot":false,"src":"408165:2:19","valueSize":1},{"declaration":38797,"isOffset":false,"isSlot":false,"src":"408194:2:19","valueSize":1},{"declaration":38800,"isOffset":false,"isSlot":false,"src":"408224:2:19","valueSize":1}],"id":38808,"nodeType":"InlineAssembly","src":"407955:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"406636:3:19","parameters":{"id":38773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38766,"mutability":"mutable","name":"p0","nameLocation":"406648:2:19","nodeType":"VariableDeclaration","scope":38810,"src":"406640:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38765,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406640:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38768,"mutability":"mutable","name":"p1","nameLocation":"406660:2:19","nodeType":"VariableDeclaration","scope":38810,"src":"406652:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38767,"name":"bytes32","nodeType":"ElementaryTypeName","src":"406652:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38770,"mutability":"mutable","name":"p2","nameLocation":"406669:2:19","nodeType":"VariableDeclaration","scope":38810,"src":"406664:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38769,"name":"bool","nodeType":"ElementaryTypeName","src":"406664:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38772,"mutability":"mutable","name":"p3","nameLocation":"406681:2:19","nodeType":"VariableDeclaration","scope":38810,"src":"406673:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38771,"name":"address","nodeType":"ElementaryTypeName","src":"406673:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"406639:45:19"},"returnParameters":{"id":38774,"nodeType":"ParameterList","parameters":[],"src":"406699:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38856,"nodeType":"FunctionDefinition","src":"408249:1610:19","nodes":[],"body":{"id":38855,"nodeType":"Block","src":"408318:1541:19","nodes":[],"statements":[{"assignments":[38822],"declarations":[{"constant":false,"id":38822,"mutability":"mutable","name":"m0","nameLocation":"408336:2:19","nodeType":"VariableDeclaration","scope":38855,"src":"408328:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38821,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408328:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38823,"nodeType":"VariableDeclarationStatement","src":"408328:10:19"},{"assignments":[38825],"declarations":[{"constant":false,"id":38825,"mutability":"mutable","name":"m1","nameLocation":"408356:2:19","nodeType":"VariableDeclaration","scope":38855,"src":"408348:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38824,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408348:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38826,"nodeType":"VariableDeclarationStatement","src":"408348:10:19"},{"assignments":[38828],"declarations":[{"constant":false,"id":38828,"mutability":"mutable","name":"m2","nameLocation":"408376:2:19","nodeType":"VariableDeclaration","scope":38855,"src":"408368:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38827,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408368:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38829,"nodeType":"VariableDeclarationStatement","src":"408368:10:19"},{"assignments":[38831],"declarations":[{"constant":false,"id":38831,"mutability":"mutable","name":"m3","nameLocation":"408396:2:19","nodeType":"VariableDeclaration","scope":38855,"src":"408388:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38830,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408388:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38832,"nodeType":"VariableDeclarationStatement","src":"408388:10:19"},{"assignments":[38834],"declarations":[{"constant":false,"id":38834,"mutability":"mutable","name":"m4","nameLocation":"408416:2:19","nodeType":"VariableDeclaration","scope":38855,"src":"408408:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38833,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408408:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38835,"nodeType":"VariableDeclarationStatement","src":"408408:10:19"},{"assignments":[38837],"declarations":[{"constant":false,"id":38837,"mutability":"mutable","name":"m5","nameLocation":"408436:2:19","nodeType":"VariableDeclaration","scope":38855,"src":"408428:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38836,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408428:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38838,"nodeType":"VariableDeclarationStatement","src":"408428:10:19"},{"assignments":[38840],"declarations":[{"constant":false,"id":38840,"mutability":"mutable","name":"m6","nameLocation":"408456:2:19","nodeType":"VariableDeclaration","scope":38855,"src":"408448:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38839,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408448:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38841,"nodeType":"VariableDeclarationStatement","src":"408448:10:19"},{"assignments":[38843],"declarations":[{"constant":false,"id":38843,"mutability":"mutable","name":"m7","nameLocation":"408476:2:19","nodeType":"VariableDeclaration","scope":38855,"src":"408468:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38842,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408468:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38844,"nodeType":"VariableDeclarationStatement","src":"408468:10:19"},{"assignments":[38846],"declarations":[{"constant":false,"id":38846,"mutability":"mutable","name":"m8","nameLocation":"408496:2:19","nodeType":"VariableDeclaration","scope":38855,"src":"408488:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38845,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408488:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38847,"nodeType":"VariableDeclarationStatement","src":"408488:10:19"},{"AST":{"nativeSrc":"408560:921:19","nodeType":"YulBlock","src":"408560:921:19","statements":[{"body":{"nativeSrc":"408603:313:19","nodeType":"YulBlock","src":"408603:313:19","statements":[{"nativeSrc":"408621:15:19","nodeType":"YulVariableDeclaration","src":"408621:15:19","value":{"kind":"number","nativeSrc":"408635:1:19","nodeType":"YulLiteral","src":"408635:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"408625:6:19","nodeType":"YulTypedName","src":"408625:6:19","type":""}]},{"body":{"nativeSrc":"408706:40:19","nodeType":"YulBlock","src":"408706:40:19","statements":[{"body":{"nativeSrc":"408735:9:19","nodeType":"YulBlock","src":"408735:9:19","statements":[{"nativeSrc":"408737:5:19","nodeType":"YulBreak","src":"408737:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"408723:6:19","nodeType":"YulIdentifier","src":"408723:6:19"},{"name":"w","nativeSrc":"408731:1:19","nodeType":"YulIdentifier","src":"408731:1:19"}],"functionName":{"name":"byte","nativeSrc":"408718:4:19","nodeType":"YulIdentifier","src":"408718:4:19"},"nativeSrc":"408718:15:19","nodeType":"YulFunctionCall","src":"408718:15:19"}],"functionName":{"name":"iszero","nativeSrc":"408711:6:19","nodeType":"YulIdentifier","src":"408711:6:19"},"nativeSrc":"408711:23:19","nodeType":"YulFunctionCall","src":"408711:23:19"},"nativeSrc":"408708:36:19","nodeType":"YulIf","src":"408708:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"408663:6:19","nodeType":"YulIdentifier","src":"408663:6:19"},{"kind":"number","nativeSrc":"408671:4:19","nodeType":"YulLiteral","src":"408671:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"408660:2:19","nodeType":"YulIdentifier","src":"408660:2:19"},"nativeSrc":"408660:16:19","nodeType":"YulFunctionCall","src":"408660:16:19"},"nativeSrc":"408653:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"408677:28:19","nodeType":"YulBlock","src":"408677:28:19","statements":[{"nativeSrc":"408679:24:19","nodeType":"YulAssignment","src":"408679:24:19","value":{"arguments":[{"name":"length","nativeSrc":"408693:6:19","nodeType":"YulIdentifier","src":"408693:6:19"},{"kind":"number","nativeSrc":"408701:1:19","nodeType":"YulLiteral","src":"408701:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"408689:3:19","nodeType":"YulIdentifier","src":"408689:3:19"},"nativeSrc":"408689:14:19","nodeType":"YulFunctionCall","src":"408689:14:19"},"variableNames":[{"name":"length","nativeSrc":"408679:6:19","nodeType":"YulIdentifier","src":"408679:6:19"}]}]},"pre":{"nativeSrc":"408657:2:19","nodeType":"YulBlock","src":"408657:2:19","statements":[]},"src":"408653:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"408770:3:19","nodeType":"YulIdentifier","src":"408770:3:19"},{"name":"length","nativeSrc":"408775:6:19","nodeType":"YulIdentifier","src":"408775:6:19"}],"functionName":{"name":"mstore","nativeSrc":"408763:6:19","nodeType":"YulIdentifier","src":"408763:6:19"},"nativeSrc":"408763:19:19","nodeType":"YulFunctionCall","src":"408763:19:19"},"nativeSrc":"408763:19:19","nodeType":"YulExpressionStatement","src":"408763:19:19"},{"nativeSrc":"408799:37:19","nodeType":"YulVariableDeclaration","src":"408799:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"408816:3:19","nodeType":"YulLiteral","src":"408816:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"408825:1:19","nodeType":"YulLiteral","src":"408825:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"408828:6:19","nodeType":"YulIdentifier","src":"408828:6:19"}],"functionName":{"name":"shl","nativeSrc":"408821:3:19","nodeType":"YulIdentifier","src":"408821:3:19"},"nativeSrc":"408821:14:19","nodeType":"YulFunctionCall","src":"408821:14:19"}],"functionName":{"name":"sub","nativeSrc":"408812:3:19","nodeType":"YulIdentifier","src":"408812:3:19"},"nativeSrc":"408812:24:19","nodeType":"YulFunctionCall","src":"408812:24:19"},"variables":[{"name":"shift","nativeSrc":"408803:5:19","nodeType":"YulTypedName","src":"408803:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"408864:3:19","nodeType":"YulIdentifier","src":"408864:3:19"},{"kind":"number","nativeSrc":"408869:4:19","nodeType":"YulLiteral","src":"408869:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"408860:3:19","nodeType":"YulIdentifier","src":"408860:3:19"},"nativeSrc":"408860:14:19","nodeType":"YulFunctionCall","src":"408860:14:19"},{"arguments":[{"name":"shift","nativeSrc":"408880:5:19","nodeType":"YulIdentifier","src":"408880:5:19"},{"arguments":[{"name":"shift","nativeSrc":"408891:5:19","nodeType":"YulIdentifier","src":"408891:5:19"},{"name":"w","nativeSrc":"408898:1:19","nodeType":"YulIdentifier","src":"408898:1:19"}],"functionName":{"name":"shr","nativeSrc":"408887:3:19","nodeType":"YulIdentifier","src":"408887:3:19"},"nativeSrc":"408887:13:19","nodeType":"YulFunctionCall","src":"408887:13:19"}],"functionName":{"name":"shl","nativeSrc":"408876:3:19","nodeType":"YulIdentifier","src":"408876:3:19"},"nativeSrc":"408876:25:19","nodeType":"YulFunctionCall","src":"408876:25:19"}],"functionName":{"name":"mstore","nativeSrc":"408853:6:19","nodeType":"YulIdentifier","src":"408853:6:19"},"nativeSrc":"408853:49:19","nodeType":"YulFunctionCall","src":"408853:49:19"},"nativeSrc":"408853:49:19","nodeType":"YulExpressionStatement","src":"408853:49:19"}]},"name":"writeString","nativeSrc":"408574:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"408595:3:19","nodeType":"YulTypedName","src":"408595:3:19","type":""},{"name":"w","nativeSrc":"408600:1:19","nodeType":"YulTypedName","src":"408600:1:19","type":""}],"src":"408574:342:19"},{"nativeSrc":"408929:17:19","nodeType":"YulAssignment","src":"408929:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"408941:4:19","nodeType":"YulLiteral","src":"408941:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"408935:5:19","nodeType":"YulIdentifier","src":"408935:5:19"},"nativeSrc":"408935:11:19","nodeType":"YulFunctionCall","src":"408935:11:19"},"variableNames":[{"name":"m0","nativeSrc":"408929:2:19","nodeType":"YulIdentifier","src":"408929:2:19"}]},{"nativeSrc":"408959:17:19","nodeType":"YulAssignment","src":"408959:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"408971:4:19","nodeType":"YulLiteral","src":"408971:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"408965:5:19","nodeType":"YulIdentifier","src":"408965:5:19"},"nativeSrc":"408965:11:19","nodeType":"YulFunctionCall","src":"408965:11:19"},"variableNames":[{"name":"m1","nativeSrc":"408959:2:19","nodeType":"YulIdentifier","src":"408959:2:19"}]},{"nativeSrc":"408989:17:19","nodeType":"YulAssignment","src":"408989:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"409001:4:19","nodeType":"YulLiteral","src":"409001:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"408995:5:19","nodeType":"YulIdentifier","src":"408995:5:19"},"nativeSrc":"408995:11:19","nodeType":"YulFunctionCall","src":"408995:11:19"},"variableNames":[{"name":"m2","nativeSrc":"408989:2:19","nodeType":"YulIdentifier","src":"408989:2:19"}]},{"nativeSrc":"409019:17:19","nodeType":"YulAssignment","src":"409019:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"409031:4:19","nodeType":"YulLiteral","src":"409031:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"409025:5:19","nodeType":"YulIdentifier","src":"409025:5:19"},"nativeSrc":"409025:11:19","nodeType":"YulFunctionCall","src":"409025:11:19"},"variableNames":[{"name":"m3","nativeSrc":"409019:2:19","nodeType":"YulIdentifier","src":"409019:2:19"}]},{"nativeSrc":"409049:17:19","nodeType":"YulAssignment","src":"409049:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"409061:4:19","nodeType":"YulLiteral","src":"409061:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"409055:5:19","nodeType":"YulIdentifier","src":"409055:5:19"},"nativeSrc":"409055:11:19","nodeType":"YulFunctionCall","src":"409055:11:19"},"variableNames":[{"name":"m4","nativeSrc":"409049:2:19","nodeType":"YulIdentifier","src":"409049:2:19"}]},{"nativeSrc":"409079:17:19","nodeType":"YulAssignment","src":"409079:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"409091:4:19","nodeType":"YulLiteral","src":"409091:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"409085:5:19","nodeType":"YulIdentifier","src":"409085:5:19"},"nativeSrc":"409085:11:19","nodeType":"YulFunctionCall","src":"409085:11:19"},"variableNames":[{"name":"m5","nativeSrc":"409079:2:19","nodeType":"YulIdentifier","src":"409079:2:19"}]},{"nativeSrc":"409109:17:19","nodeType":"YulAssignment","src":"409109:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"409121:4:19","nodeType":"YulLiteral","src":"409121:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"409115:5:19","nodeType":"YulIdentifier","src":"409115:5:19"},"nativeSrc":"409115:11:19","nodeType":"YulFunctionCall","src":"409115:11:19"},"variableNames":[{"name":"m6","nativeSrc":"409109:2:19","nodeType":"YulIdentifier","src":"409109:2:19"}]},{"nativeSrc":"409139:17:19","nodeType":"YulAssignment","src":"409139:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"409151:4:19","nodeType":"YulLiteral","src":"409151:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"409145:5:19","nodeType":"YulIdentifier","src":"409145:5:19"},"nativeSrc":"409145:11:19","nodeType":"YulFunctionCall","src":"409145:11:19"},"variableNames":[{"name":"m7","nativeSrc":"409139:2:19","nodeType":"YulIdentifier","src":"409139:2:19"}]},{"nativeSrc":"409169:18:19","nodeType":"YulAssignment","src":"409169:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"409181:5:19","nodeType":"YulLiteral","src":"409181:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"409175:5:19","nodeType":"YulIdentifier","src":"409175:5:19"},"nativeSrc":"409175:12:19","nodeType":"YulFunctionCall","src":"409175:12:19"},"variableNames":[{"name":"m8","nativeSrc":"409169:2:19","nodeType":"YulIdentifier","src":"409169:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409266:4:19","nodeType":"YulLiteral","src":"409266:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"409272:10:19","nodeType":"YulLiteral","src":"409272:10:19","type":"","value":"0x40785869"}],"functionName":{"name":"mstore","nativeSrc":"409259:6:19","nodeType":"YulIdentifier","src":"409259:6:19"},"nativeSrc":"409259:24:19","nodeType":"YulFunctionCall","src":"409259:24:19"},"nativeSrc":"409259:24:19","nodeType":"YulExpressionStatement","src":"409259:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409303:4:19","nodeType":"YulLiteral","src":"409303:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"409309:4:19","nodeType":"YulLiteral","src":"409309:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"409296:6:19","nodeType":"YulIdentifier","src":"409296:6:19"},"nativeSrc":"409296:18:19","nodeType":"YulFunctionCall","src":"409296:18:19"},"nativeSrc":"409296:18:19","nodeType":"YulExpressionStatement","src":"409296:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409334:4:19","nodeType":"YulLiteral","src":"409334:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"409340:4:19","nodeType":"YulLiteral","src":"409340:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"409327:6:19","nodeType":"YulIdentifier","src":"409327:6:19"},"nativeSrc":"409327:18:19","nodeType":"YulFunctionCall","src":"409327:18:19"},"nativeSrc":"409327:18:19","nodeType":"YulExpressionStatement","src":"409327:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409365:4:19","nodeType":"YulLiteral","src":"409365:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"409371:2:19","nodeType":"YulIdentifier","src":"409371:2:19"}],"functionName":{"name":"mstore","nativeSrc":"409358:6:19","nodeType":"YulIdentifier","src":"409358:6:19"},"nativeSrc":"409358:16:19","nodeType":"YulFunctionCall","src":"409358:16:19"},"nativeSrc":"409358:16:19","nodeType":"YulExpressionStatement","src":"409358:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409394:4:19","nodeType":"YulLiteral","src":"409394:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"409400:2:19","nodeType":"YulIdentifier","src":"409400:2:19"}],"functionName":{"name":"mstore","nativeSrc":"409387:6:19","nodeType":"YulIdentifier","src":"409387:6:19"},"nativeSrc":"409387:16:19","nodeType":"YulFunctionCall","src":"409387:16:19"},"nativeSrc":"409387:16:19","nodeType":"YulExpressionStatement","src":"409387:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409428:4:19","nodeType":"YulLiteral","src":"409428:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"409434:2:19","nodeType":"YulIdentifier","src":"409434:2:19"}],"functionName":{"name":"writeString","nativeSrc":"409416:11:19","nodeType":"YulIdentifier","src":"409416:11:19"},"nativeSrc":"409416:21:19","nodeType":"YulFunctionCall","src":"409416:21:19"},"nativeSrc":"409416:21:19","nodeType":"YulExpressionStatement","src":"409416:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409462:4:19","nodeType":"YulLiteral","src":"409462:4:19","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"409468:2:19","nodeType":"YulIdentifier","src":"409468:2:19"}],"functionName":{"name":"writeString","nativeSrc":"409450:11:19","nodeType":"YulIdentifier","src":"409450:11:19"},"nativeSrc":"409450:21:19","nodeType":"YulFunctionCall","src":"409450:21:19"},"nativeSrc":"409450:21:19","nodeType":"YulExpressionStatement","src":"409450:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38822,"isOffset":false,"isSlot":false,"src":"408929:2:19","valueSize":1},{"declaration":38825,"isOffset":false,"isSlot":false,"src":"408959:2:19","valueSize":1},{"declaration":38828,"isOffset":false,"isSlot":false,"src":"408989:2:19","valueSize":1},{"declaration":38831,"isOffset":false,"isSlot":false,"src":"409019:2:19","valueSize":1},{"declaration":38834,"isOffset":false,"isSlot":false,"src":"409049:2:19","valueSize":1},{"declaration":38837,"isOffset":false,"isSlot":false,"src":"409079:2:19","valueSize":1},{"declaration":38840,"isOffset":false,"isSlot":false,"src":"409109:2:19","valueSize":1},{"declaration":38843,"isOffset":false,"isSlot":false,"src":"409139:2:19","valueSize":1},{"declaration":38846,"isOffset":false,"isSlot":false,"src":"409169:2:19","valueSize":1},{"declaration":38812,"isOffset":false,"isSlot":false,"src":"409434:2:19","valueSize":1},{"declaration":38814,"isOffset":false,"isSlot":false,"src":"409468:2:19","valueSize":1},{"declaration":38816,"isOffset":false,"isSlot":false,"src":"409371:2:19","valueSize":1},{"declaration":38818,"isOffset":false,"isSlot":false,"src":"409400:2:19","valueSize":1}],"id":38848,"nodeType":"InlineAssembly","src":"408551:930:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":38850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"409506:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"409512:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":38849,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"409490:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"409490:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38853,"nodeType":"ExpressionStatement","src":"409490:28:19"},{"AST":{"nativeSrc":"409580:273:19","nodeType":"YulBlock","src":"409580:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"409601:4:19","nodeType":"YulLiteral","src":"409601:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"409607:2:19","nodeType":"YulIdentifier","src":"409607:2:19"}],"functionName":{"name":"mstore","nativeSrc":"409594:6:19","nodeType":"YulIdentifier","src":"409594:6:19"},"nativeSrc":"409594:16:19","nodeType":"YulFunctionCall","src":"409594:16:19"},"nativeSrc":"409594:16:19","nodeType":"YulExpressionStatement","src":"409594:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409630:4:19","nodeType":"YulLiteral","src":"409630:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"409636:2:19","nodeType":"YulIdentifier","src":"409636:2:19"}],"functionName":{"name":"mstore","nativeSrc":"409623:6:19","nodeType":"YulIdentifier","src":"409623:6:19"},"nativeSrc":"409623:16:19","nodeType":"YulFunctionCall","src":"409623:16:19"},"nativeSrc":"409623:16:19","nodeType":"YulExpressionStatement","src":"409623:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409659:4:19","nodeType":"YulLiteral","src":"409659:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"409665:2:19","nodeType":"YulIdentifier","src":"409665:2:19"}],"functionName":{"name":"mstore","nativeSrc":"409652:6:19","nodeType":"YulIdentifier","src":"409652:6:19"},"nativeSrc":"409652:16:19","nodeType":"YulFunctionCall","src":"409652:16:19"},"nativeSrc":"409652:16:19","nodeType":"YulExpressionStatement","src":"409652:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409688:4:19","nodeType":"YulLiteral","src":"409688:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"409694:2:19","nodeType":"YulIdentifier","src":"409694:2:19"}],"functionName":{"name":"mstore","nativeSrc":"409681:6:19","nodeType":"YulIdentifier","src":"409681:6:19"},"nativeSrc":"409681:16:19","nodeType":"YulFunctionCall","src":"409681:16:19"},"nativeSrc":"409681:16:19","nodeType":"YulExpressionStatement","src":"409681:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409717:4:19","nodeType":"YulLiteral","src":"409717:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"409723:2:19","nodeType":"YulIdentifier","src":"409723:2:19"}],"functionName":{"name":"mstore","nativeSrc":"409710:6:19","nodeType":"YulIdentifier","src":"409710:6:19"},"nativeSrc":"409710:16:19","nodeType":"YulFunctionCall","src":"409710:16:19"},"nativeSrc":"409710:16:19","nodeType":"YulExpressionStatement","src":"409710:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409746:4:19","nodeType":"YulLiteral","src":"409746:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"409752:2:19","nodeType":"YulIdentifier","src":"409752:2:19"}],"functionName":{"name":"mstore","nativeSrc":"409739:6:19","nodeType":"YulIdentifier","src":"409739:6:19"},"nativeSrc":"409739:16:19","nodeType":"YulFunctionCall","src":"409739:16:19"},"nativeSrc":"409739:16:19","nodeType":"YulExpressionStatement","src":"409739:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409775:4:19","nodeType":"YulLiteral","src":"409775:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"409781:2:19","nodeType":"YulIdentifier","src":"409781:2:19"}],"functionName":{"name":"mstore","nativeSrc":"409768:6:19","nodeType":"YulIdentifier","src":"409768:6:19"},"nativeSrc":"409768:16:19","nodeType":"YulFunctionCall","src":"409768:16:19"},"nativeSrc":"409768:16:19","nodeType":"YulExpressionStatement","src":"409768:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409804:4:19","nodeType":"YulLiteral","src":"409804:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"409810:2:19","nodeType":"YulIdentifier","src":"409810:2:19"}],"functionName":{"name":"mstore","nativeSrc":"409797:6:19","nodeType":"YulIdentifier","src":"409797:6:19"},"nativeSrc":"409797:16:19","nodeType":"YulFunctionCall","src":"409797:16:19"},"nativeSrc":"409797:16:19","nodeType":"YulExpressionStatement","src":"409797:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"409833:5:19","nodeType":"YulLiteral","src":"409833:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"409840:2:19","nodeType":"YulIdentifier","src":"409840:2:19"}],"functionName":{"name":"mstore","nativeSrc":"409826:6:19","nodeType":"YulIdentifier","src":"409826:6:19"},"nativeSrc":"409826:17:19","nodeType":"YulFunctionCall","src":"409826:17:19"},"nativeSrc":"409826:17:19","nodeType":"YulExpressionStatement","src":"409826:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38822,"isOffset":false,"isSlot":false,"src":"409607:2:19","valueSize":1},{"declaration":38825,"isOffset":false,"isSlot":false,"src":"409636:2:19","valueSize":1},{"declaration":38828,"isOffset":false,"isSlot":false,"src":"409665:2:19","valueSize":1},{"declaration":38831,"isOffset":false,"isSlot":false,"src":"409694:2:19","valueSize":1},{"declaration":38834,"isOffset":false,"isSlot":false,"src":"409723:2:19","valueSize":1},{"declaration":38837,"isOffset":false,"isSlot":false,"src":"409752:2:19","valueSize":1},{"declaration":38840,"isOffset":false,"isSlot":false,"src":"409781:2:19","valueSize":1},{"declaration":38843,"isOffset":false,"isSlot":false,"src":"409810:2:19","valueSize":1},{"declaration":38846,"isOffset":false,"isSlot":false,"src":"409840:2:19","valueSize":1}],"id":38854,"nodeType":"InlineAssembly","src":"409571:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"408258:3:19","parameters":{"id":38819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38812,"mutability":"mutable","name":"p0","nameLocation":"408270:2:19","nodeType":"VariableDeclaration","scope":38856,"src":"408262:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38811,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408262:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38814,"mutability":"mutable","name":"p1","nameLocation":"408282:2:19","nodeType":"VariableDeclaration","scope":38856,"src":"408274:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38813,"name":"bytes32","nodeType":"ElementaryTypeName","src":"408274:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38816,"mutability":"mutable","name":"p2","nameLocation":"408291:2:19","nodeType":"VariableDeclaration","scope":38856,"src":"408286:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38815,"name":"bool","nodeType":"ElementaryTypeName","src":"408286:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38818,"mutability":"mutable","name":"p3","nameLocation":"408300:2:19","nodeType":"VariableDeclaration","scope":38856,"src":"408295:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38817,"name":"bool","nodeType":"ElementaryTypeName","src":"408295:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"408261:42:19"},"returnParameters":{"id":38820,"nodeType":"ParameterList","parameters":[],"src":"408318:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38902,"nodeType":"FunctionDefinition","src":"409865:1616:19","nodes":[],"body":{"id":38901,"nodeType":"Block","src":"409937:1544:19","nodes":[],"statements":[{"assignments":[38868],"declarations":[{"constant":false,"id":38868,"mutability":"mutable","name":"m0","nameLocation":"409955:2:19","nodeType":"VariableDeclaration","scope":38901,"src":"409947:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38867,"name":"bytes32","nodeType":"ElementaryTypeName","src":"409947:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38869,"nodeType":"VariableDeclarationStatement","src":"409947:10:19"},{"assignments":[38871],"declarations":[{"constant":false,"id":38871,"mutability":"mutable","name":"m1","nameLocation":"409975:2:19","nodeType":"VariableDeclaration","scope":38901,"src":"409967:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38870,"name":"bytes32","nodeType":"ElementaryTypeName","src":"409967:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38872,"nodeType":"VariableDeclarationStatement","src":"409967:10:19"},{"assignments":[38874],"declarations":[{"constant":false,"id":38874,"mutability":"mutable","name":"m2","nameLocation":"409995:2:19","nodeType":"VariableDeclaration","scope":38901,"src":"409987:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38873,"name":"bytes32","nodeType":"ElementaryTypeName","src":"409987:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38875,"nodeType":"VariableDeclarationStatement","src":"409987:10:19"},{"assignments":[38877],"declarations":[{"constant":false,"id":38877,"mutability":"mutable","name":"m3","nameLocation":"410015:2:19","nodeType":"VariableDeclaration","scope":38901,"src":"410007:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38876,"name":"bytes32","nodeType":"ElementaryTypeName","src":"410007:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38878,"nodeType":"VariableDeclarationStatement","src":"410007:10:19"},{"assignments":[38880],"declarations":[{"constant":false,"id":38880,"mutability":"mutable","name":"m4","nameLocation":"410035:2:19","nodeType":"VariableDeclaration","scope":38901,"src":"410027:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38879,"name":"bytes32","nodeType":"ElementaryTypeName","src":"410027:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38881,"nodeType":"VariableDeclarationStatement","src":"410027:10:19"},{"assignments":[38883],"declarations":[{"constant":false,"id":38883,"mutability":"mutable","name":"m5","nameLocation":"410055:2:19","nodeType":"VariableDeclaration","scope":38901,"src":"410047:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38882,"name":"bytes32","nodeType":"ElementaryTypeName","src":"410047:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38884,"nodeType":"VariableDeclarationStatement","src":"410047:10:19"},{"assignments":[38886],"declarations":[{"constant":false,"id":38886,"mutability":"mutable","name":"m6","nameLocation":"410075:2:19","nodeType":"VariableDeclaration","scope":38901,"src":"410067:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38885,"name":"bytes32","nodeType":"ElementaryTypeName","src":"410067:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38887,"nodeType":"VariableDeclarationStatement","src":"410067:10:19"},{"assignments":[38889],"declarations":[{"constant":false,"id":38889,"mutability":"mutable","name":"m7","nameLocation":"410095:2:19","nodeType":"VariableDeclaration","scope":38901,"src":"410087:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38888,"name":"bytes32","nodeType":"ElementaryTypeName","src":"410087:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38890,"nodeType":"VariableDeclarationStatement","src":"410087:10:19"},{"assignments":[38892],"declarations":[{"constant":false,"id":38892,"mutability":"mutable","name":"m8","nameLocation":"410115:2:19","nodeType":"VariableDeclaration","scope":38901,"src":"410107:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38891,"name":"bytes32","nodeType":"ElementaryTypeName","src":"410107:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38893,"nodeType":"VariableDeclarationStatement","src":"410107:10:19"},{"AST":{"nativeSrc":"410179:924:19","nodeType":"YulBlock","src":"410179:924:19","statements":[{"body":{"nativeSrc":"410222:313:19","nodeType":"YulBlock","src":"410222:313:19","statements":[{"nativeSrc":"410240:15:19","nodeType":"YulVariableDeclaration","src":"410240:15:19","value":{"kind":"number","nativeSrc":"410254:1:19","nodeType":"YulLiteral","src":"410254:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"410244:6:19","nodeType":"YulTypedName","src":"410244:6:19","type":""}]},{"body":{"nativeSrc":"410325:40:19","nodeType":"YulBlock","src":"410325:40:19","statements":[{"body":{"nativeSrc":"410354:9:19","nodeType":"YulBlock","src":"410354:9:19","statements":[{"nativeSrc":"410356:5:19","nodeType":"YulBreak","src":"410356:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"410342:6:19","nodeType":"YulIdentifier","src":"410342:6:19"},{"name":"w","nativeSrc":"410350:1:19","nodeType":"YulIdentifier","src":"410350:1:19"}],"functionName":{"name":"byte","nativeSrc":"410337:4:19","nodeType":"YulIdentifier","src":"410337:4:19"},"nativeSrc":"410337:15:19","nodeType":"YulFunctionCall","src":"410337:15:19"}],"functionName":{"name":"iszero","nativeSrc":"410330:6:19","nodeType":"YulIdentifier","src":"410330:6:19"},"nativeSrc":"410330:23:19","nodeType":"YulFunctionCall","src":"410330:23:19"},"nativeSrc":"410327:36:19","nodeType":"YulIf","src":"410327:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"410282:6:19","nodeType":"YulIdentifier","src":"410282:6:19"},{"kind":"number","nativeSrc":"410290:4:19","nodeType":"YulLiteral","src":"410290:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"410279:2:19","nodeType":"YulIdentifier","src":"410279:2:19"},"nativeSrc":"410279:16:19","nodeType":"YulFunctionCall","src":"410279:16:19"},"nativeSrc":"410272:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"410296:28:19","nodeType":"YulBlock","src":"410296:28:19","statements":[{"nativeSrc":"410298:24:19","nodeType":"YulAssignment","src":"410298:24:19","value":{"arguments":[{"name":"length","nativeSrc":"410312:6:19","nodeType":"YulIdentifier","src":"410312:6:19"},{"kind":"number","nativeSrc":"410320:1:19","nodeType":"YulLiteral","src":"410320:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"410308:3:19","nodeType":"YulIdentifier","src":"410308:3:19"},"nativeSrc":"410308:14:19","nodeType":"YulFunctionCall","src":"410308:14:19"},"variableNames":[{"name":"length","nativeSrc":"410298:6:19","nodeType":"YulIdentifier","src":"410298:6:19"}]}]},"pre":{"nativeSrc":"410276:2:19","nodeType":"YulBlock","src":"410276:2:19","statements":[]},"src":"410272:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"410389:3:19","nodeType":"YulIdentifier","src":"410389:3:19"},{"name":"length","nativeSrc":"410394:6:19","nodeType":"YulIdentifier","src":"410394:6:19"}],"functionName":{"name":"mstore","nativeSrc":"410382:6:19","nodeType":"YulIdentifier","src":"410382:6:19"},"nativeSrc":"410382:19:19","nodeType":"YulFunctionCall","src":"410382:19:19"},"nativeSrc":"410382:19:19","nodeType":"YulExpressionStatement","src":"410382:19:19"},{"nativeSrc":"410418:37:19","nodeType":"YulVariableDeclaration","src":"410418:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"410435:3:19","nodeType":"YulLiteral","src":"410435:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"410444:1:19","nodeType":"YulLiteral","src":"410444:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"410447:6:19","nodeType":"YulIdentifier","src":"410447:6:19"}],"functionName":{"name":"shl","nativeSrc":"410440:3:19","nodeType":"YulIdentifier","src":"410440:3:19"},"nativeSrc":"410440:14:19","nodeType":"YulFunctionCall","src":"410440:14:19"}],"functionName":{"name":"sub","nativeSrc":"410431:3:19","nodeType":"YulIdentifier","src":"410431:3:19"},"nativeSrc":"410431:24:19","nodeType":"YulFunctionCall","src":"410431:24:19"},"variables":[{"name":"shift","nativeSrc":"410422:5:19","nodeType":"YulTypedName","src":"410422:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"410483:3:19","nodeType":"YulIdentifier","src":"410483:3:19"},{"kind":"number","nativeSrc":"410488:4:19","nodeType":"YulLiteral","src":"410488:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"410479:3:19","nodeType":"YulIdentifier","src":"410479:3:19"},"nativeSrc":"410479:14:19","nodeType":"YulFunctionCall","src":"410479:14:19"},{"arguments":[{"name":"shift","nativeSrc":"410499:5:19","nodeType":"YulIdentifier","src":"410499:5:19"},{"arguments":[{"name":"shift","nativeSrc":"410510:5:19","nodeType":"YulIdentifier","src":"410510:5:19"},{"name":"w","nativeSrc":"410517:1:19","nodeType":"YulIdentifier","src":"410517:1:19"}],"functionName":{"name":"shr","nativeSrc":"410506:3:19","nodeType":"YulIdentifier","src":"410506:3:19"},"nativeSrc":"410506:13:19","nodeType":"YulFunctionCall","src":"410506:13:19"}],"functionName":{"name":"shl","nativeSrc":"410495:3:19","nodeType":"YulIdentifier","src":"410495:3:19"},"nativeSrc":"410495:25:19","nodeType":"YulFunctionCall","src":"410495:25:19"}],"functionName":{"name":"mstore","nativeSrc":"410472:6:19","nodeType":"YulIdentifier","src":"410472:6:19"},"nativeSrc":"410472:49:19","nodeType":"YulFunctionCall","src":"410472:49:19"},"nativeSrc":"410472:49:19","nodeType":"YulExpressionStatement","src":"410472:49:19"}]},"name":"writeString","nativeSrc":"410193:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"410214:3:19","nodeType":"YulTypedName","src":"410214:3:19","type":""},{"name":"w","nativeSrc":"410219:1:19","nodeType":"YulTypedName","src":"410219:1:19","type":""}],"src":"410193:342:19"},{"nativeSrc":"410548:17:19","nodeType":"YulAssignment","src":"410548:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"410560:4:19","nodeType":"YulLiteral","src":"410560:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"410554:5:19","nodeType":"YulIdentifier","src":"410554:5:19"},"nativeSrc":"410554:11:19","nodeType":"YulFunctionCall","src":"410554:11:19"},"variableNames":[{"name":"m0","nativeSrc":"410548:2:19","nodeType":"YulIdentifier","src":"410548:2:19"}]},{"nativeSrc":"410578:17:19","nodeType":"YulAssignment","src":"410578:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"410590:4:19","nodeType":"YulLiteral","src":"410590:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"410584:5:19","nodeType":"YulIdentifier","src":"410584:5:19"},"nativeSrc":"410584:11:19","nodeType":"YulFunctionCall","src":"410584:11:19"},"variableNames":[{"name":"m1","nativeSrc":"410578:2:19","nodeType":"YulIdentifier","src":"410578:2:19"}]},{"nativeSrc":"410608:17:19","nodeType":"YulAssignment","src":"410608:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"410620:4:19","nodeType":"YulLiteral","src":"410620:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"410614:5:19","nodeType":"YulIdentifier","src":"410614:5:19"},"nativeSrc":"410614:11:19","nodeType":"YulFunctionCall","src":"410614:11:19"},"variableNames":[{"name":"m2","nativeSrc":"410608:2:19","nodeType":"YulIdentifier","src":"410608:2:19"}]},{"nativeSrc":"410638:17:19","nodeType":"YulAssignment","src":"410638:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"410650:4:19","nodeType":"YulLiteral","src":"410650:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"410644:5:19","nodeType":"YulIdentifier","src":"410644:5:19"},"nativeSrc":"410644:11:19","nodeType":"YulFunctionCall","src":"410644:11:19"},"variableNames":[{"name":"m3","nativeSrc":"410638:2:19","nodeType":"YulIdentifier","src":"410638:2:19"}]},{"nativeSrc":"410668:17:19","nodeType":"YulAssignment","src":"410668:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"410680:4:19","nodeType":"YulLiteral","src":"410680:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"410674:5:19","nodeType":"YulIdentifier","src":"410674:5:19"},"nativeSrc":"410674:11:19","nodeType":"YulFunctionCall","src":"410674:11:19"},"variableNames":[{"name":"m4","nativeSrc":"410668:2:19","nodeType":"YulIdentifier","src":"410668:2:19"}]},{"nativeSrc":"410698:17:19","nodeType":"YulAssignment","src":"410698:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"410710:4:19","nodeType":"YulLiteral","src":"410710:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"410704:5:19","nodeType":"YulIdentifier","src":"410704:5:19"},"nativeSrc":"410704:11:19","nodeType":"YulFunctionCall","src":"410704:11:19"},"variableNames":[{"name":"m5","nativeSrc":"410698:2:19","nodeType":"YulIdentifier","src":"410698:2:19"}]},{"nativeSrc":"410728:17:19","nodeType":"YulAssignment","src":"410728:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"410740:4:19","nodeType":"YulLiteral","src":"410740:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"410734:5:19","nodeType":"YulIdentifier","src":"410734:5:19"},"nativeSrc":"410734:11:19","nodeType":"YulFunctionCall","src":"410734:11:19"},"variableNames":[{"name":"m6","nativeSrc":"410728:2:19","nodeType":"YulIdentifier","src":"410728:2:19"}]},{"nativeSrc":"410758:17:19","nodeType":"YulAssignment","src":"410758:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"410770:4:19","nodeType":"YulLiteral","src":"410770:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"410764:5:19","nodeType":"YulIdentifier","src":"410764:5:19"},"nativeSrc":"410764:11:19","nodeType":"YulFunctionCall","src":"410764:11:19"},"variableNames":[{"name":"m7","nativeSrc":"410758:2:19","nodeType":"YulIdentifier","src":"410758:2:19"}]},{"nativeSrc":"410788:18:19","nodeType":"YulAssignment","src":"410788:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"410800:5:19","nodeType":"YulLiteral","src":"410800:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"410794:5:19","nodeType":"YulIdentifier","src":"410794:5:19"},"nativeSrc":"410794:12:19","nodeType":"YulFunctionCall","src":"410794:12:19"},"variableNames":[{"name":"m8","nativeSrc":"410788:2:19","nodeType":"YulIdentifier","src":"410788:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"410888:4:19","nodeType":"YulLiteral","src":"410888:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"410894:10:19","nodeType":"YulLiteral","src":"410894:10:19","type":"","value":"0xd6aefad2"}],"functionName":{"name":"mstore","nativeSrc":"410881:6:19","nodeType":"YulIdentifier","src":"410881:6:19"},"nativeSrc":"410881:24:19","nodeType":"YulFunctionCall","src":"410881:24:19"},"nativeSrc":"410881:24:19","nodeType":"YulExpressionStatement","src":"410881:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"410925:4:19","nodeType":"YulLiteral","src":"410925:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"410931:4:19","nodeType":"YulLiteral","src":"410931:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"410918:6:19","nodeType":"YulIdentifier","src":"410918:6:19"},"nativeSrc":"410918:18:19","nodeType":"YulFunctionCall","src":"410918:18:19"},"nativeSrc":"410918:18:19","nodeType":"YulExpressionStatement","src":"410918:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"410956:4:19","nodeType":"YulLiteral","src":"410956:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"410962:4:19","nodeType":"YulLiteral","src":"410962:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"410949:6:19","nodeType":"YulIdentifier","src":"410949:6:19"},"nativeSrc":"410949:18:19","nodeType":"YulFunctionCall","src":"410949:18:19"},"nativeSrc":"410949:18:19","nodeType":"YulExpressionStatement","src":"410949:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"410987:4:19","nodeType":"YulLiteral","src":"410987:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"410993:2:19","nodeType":"YulIdentifier","src":"410993:2:19"}],"functionName":{"name":"mstore","nativeSrc":"410980:6:19","nodeType":"YulIdentifier","src":"410980:6:19"},"nativeSrc":"410980:16:19","nodeType":"YulFunctionCall","src":"410980:16:19"},"nativeSrc":"410980:16:19","nodeType":"YulExpressionStatement","src":"410980:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411016:4:19","nodeType":"YulLiteral","src":"411016:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"411022:2:19","nodeType":"YulIdentifier","src":"411022:2:19"}],"functionName":{"name":"mstore","nativeSrc":"411009:6:19","nodeType":"YulIdentifier","src":"411009:6:19"},"nativeSrc":"411009:16:19","nodeType":"YulFunctionCall","src":"411009:16:19"},"nativeSrc":"411009:16:19","nodeType":"YulExpressionStatement","src":"411009:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411050:4:19","nodeType":"YulLiteral","src":"411050:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"411056:2:19","nodeType":"YulIdentifier","src":"411056:2:19"}],"functionName":{"name":"writeString","nativeSrc":"411038:11:19","nodeType":"YulIdentifier","src":"411038:11:19"},"nativeSrc":"411038:21:19","nodeType":"YulFunctionCall","src":"411038:21:19"},"nativeSrc":"411038:21:19","nodeType":"YulExpressionStatement","src":"411038:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411084:4:19","nodeType":"YulLiteral","src":"411084:4:19","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"411090:2:19","nodeType":"YulIdentifier","src":"411090:2:19"}],"functionName":{"name":"writeString","nativeSrc":"411072:11:19","nodeType":"YulIdentifier","src":"411072:11:19"},"nativeSrc":"411072:21:19","nodeType":"YulFunctionCall","src":"411072:21:19"},"nativeSrc":"411072:21:19","nodeType":"YulExpressionStatement","src":"411072:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38868,"isOffset":false,"isSlot":false,"src":"410548:2:19","valueSize":1},{"declaration":38871,"isOffset":false,"isSlot":false,"src":"410578:2:19","valueSize":1},{"declaration":38874,"isOffset":false,"isSlot":false,"src":"410608:2:19","valueSize":1},{"declaration":38877,"isOffset":false,"isSlot":false,"src":"410638:2:19","valueSize":1},{"declaration":38880,"isOffset":false,"isSlot":false,"src":"410668:2:19","valueSize":1},{"declaration":38883,"isOffset":false,"isSlot":false,"src":"410698:2:19","valueSize":1},{"declaration":38886,"isOffset":false,"isSlot":false,"src":"410728:2:19","valueSize":1},{"declaration":38889,"isOffset":false,"isSlot":false,"src":"410758:2:19","valueSize":1},{"declaration":38892,"isOffset":false,"isSlot":false,"src":"410788:2:19","valueSize":1},{"declaration":38858,"isOffset":false,"isSlot":false,"src":"411056:2:19","valueSize":1},{"declaration":38860,"isOffset":false,"isSlot":false,"src":"411090:2:19","valueSize":1},{"declaration":38862,"isOffset":false,"isSlot":false,"src":"410993:2:19","valueSize":1},{"declaration":38864,"isOffset":false,"isSlot":false,"src":"411022:2:19","valueSize":1}],"id":38894,"nodeType":"InlineAssembly","src":"410170:933:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":38896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"411128:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"411134:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":38895,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"411112:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"411112:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38899,"nodeType":"ExpressionStatement","src":"411112:28:19"},{"AST":{"nativeSrc":"411202:273:19","nodeType":"YulBlock","src":"411202:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"411223:4:19","nodeType":"YulLiteral","src":"411223:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"411229:2:19","nodeType":"YulIdentifier","src":"411229:2:19"}],"functionName":{"name":"mstore","nativeSrc":"411216:6:19","nodeType":"YulIdentifier","src":"411216:6:19"},"nativeSrc":"411216:16:19","nodeType":"YulFunctionCall","src":"411216:16:19"},"nativeSrc":"411216:16:19","nodeType":"YulExpressionStatement","src":"411216:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411252:4:19","nodeType":"YulLiteral","src":"411252:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"411258:2:19","nodeType":"YulIdentifier","src":"411258:2:19"}],"functionName":{"name":"mstore","nativeSrc":"411245:6:19","nodeType":"YulIdentifier","src":"411245:6:19"},"nativeSrc":"411245:16:19","nodeType":"YulFunctionCall","src":"411245:16:19"},"nativeSrc":"411245:16:19","nodeType":"YulExpressionStatement","src":"411245:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411281:4:19","nodeType":"YulLiteral","src":"411281:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"411287:2:19","nodeType":"YulIdentifier","src":"411287:2:19"}],"functionName":{"name":"mstore","nativeSrc":"411274:6:19","nodeType":"YulIdentifier","src":"411274:6:19"},"nativeSrc":"411274:16:19","nodeType":"YulFunctionCall","src":"411274:16:19"},"nativeSrc":"411274:16:19","nodeType":"YulExpressionStatement","src":"411274:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411310:4:19","nodeType":"YulLiteral","src":"411310:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"411316:2:19","nodeType":"YulIdentifier","src":"411316:2:19"}],"functionName":{"name":"mstore","nativeSrc":"411303:6:19","nodeType":"YulIdentifier","src":"411303:6:19"},"nativeSrc":"411303:16:19","nodeType":"YulFunctionCall","src":"411303:16:19"},"nativeSrc":"411303:16:19","nodeType":"YulExpressionStatement","src":"411303:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411339:4:19","nodeType":"YulLiteral","src":"411339:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"411345:2:19","nodeType":"YulIdentifier","src":"411345:2:19"}],"functionName":{"name":"mstore","nativeSrc":"411332:6:19","nodeType":"YulIdentifier","src":"411332:6:19"},"nativeSrc":"411332:16:19","nodeType":"YulFunctionCall","src":"411332:16:19"},"nativeSrc":"411332:16:19","nodeType":"YulExpressionStatement","src":"411332:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411368:4:19","nodeType":"YulLiteral","src":"411368:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"411374:2:19","nodeType":"YulIdentifier","src":"411374:2:19"}],"functionName":{"name":"mstore","nativeSrc":"411361:6:19","nodeType":"YulIdentifier","src":"411361:6:19"},"nativeSrc":"411361:16:19","nodeType":"YulFunctionCall","src":"411361:16:19"},"nativeSrc":"411361:16:19","nodeType":"YulExpressionStatement","src":"411361:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411397:4:19","nodeType":"YulLiteral","src":"411397:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"411403:2:19","nodeType":"YulIdentifier","src":"411403:2:19"}],"functionName":{"name":"mstore","nativeSrc":"411390:6:19","nodeType":"YulIdentifier","src":"411390:6:19"},"nativeSrc":"411390:16:19","nodeType":"YulFunctionCall","src":"411390:16:19"},"nativeSrc":"411390:16:19","nodeType":"YulExpressionStatement","src":"411390:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411426:4:19","nodeType":"YulLiteral","src":"411426:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"411432:2:19","nodeType":"YulIdentifier","src":"411432:2:19"}],"functionName":{"name":"mstore","nativeSrc":"411419:6:19","nodeType":"YulIdentifier","src":"411419:6:19"},"nativeSrc":"411419:16:19","nodeType":"YulFunctionCall","src":"411419:16:19"},"nativeSrc":"411419:16:19","nodeType":"YulExpressionStatement","src":"411419:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"411455:5:19","nodeType":"YulLiteral","src":"411455:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"411462:2:19","nodeType":"YulIdentifier","src":"411462:2:19"}],"functionName":{"name":"mstore","nativeSrc":"411448:6:19","nodeType":"YulIdentifier","src":"411448:6:19"},"nativeSrc":"411448:17:19","nodeType":"YulFunctionCall","src":"411448:17:19"},"nativeSrc":"411448:17:19","nodeType":"YulExpressionStatement","src":"411448:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38868,"isOffset":false,"isSlot":false,"src":"411229:2:19","valueSize":1},{"declaration":38871,"isOffset":false,"isSlot":false,"src":"411258:2:19","valueSize":1},{"declaration":38874,"isOffset":false,"isSlot":false,"src":"411287:2:19","valueSize":1},{"declaration":38877,"isOffset":false,"isSlot":false,"src":"411316:2:19","valueSize":1},{"declaration":38880,"isOffset":false,"isSlot":false,"src":"411345:2:19","valueSize":1},{"declaration":38883,"isOffset":false,"isSlot":false,"src":"411374:2:19","valueSize":1},{"declaration":38886,"isOffset":false,"isSlot":false,"src":"411403:2:19","valueSize":1},{"declaration":38889,"isOffset":false,"isSlot":false,"src":"411432:2:19","valueSize":1},{"declaration":38892,"isOffset":false,"isSlot":false,"src":"411462:2:19","valueSize":1}],"id":38900,"nodeType":"InlineAssembly","src":"411193:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"409874:3:19","parameters":{"id":38865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38858,"mutability":"mutable","name":"p0","nameLocation":"409886:2:19","nodeType":"VariableDeclaration","scope":38902,"src":"409878:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38857,"name":"bytes32","nodeType":"ElementaryTypeName","src":"409878:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38860,"mutability":"mutable","name":"p1","nameLocation":"409898:2:19","nodeType":"VariableDeclaration","scope":38902,"src":"409890:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38859,"name":"bytes32","nodeType":"ElementaryTypeName","src":"409890:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38862,"mutability":"mutable","name":"p2","nameLocation":"409907:2:19","nodeType":"VariableDeclaration","scope":38902,"src":"409902:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38861,"name":"bool","nodeType":"ElementaryTypeName","src":"409902:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38864,"mutability":"mutable","name":"p3","nameLocation":"409919:2:19","nodeType":"VariableDeclaration","scope":38902,"src":"409911:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38863,"name":"uint256","nodeType":"ElementaryTypeName","src":"409911:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"409877:45:19"},"returnParameters":{"id":38866,"nodeType":"ParameterList","parameters":[],"src":"409937:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38954,"nodeType":"FunctionDefinition","src":"411487:1818:19","nodes":[],"body":{"id":38953,"nodeType":"Block","src":"411559:1746:19","nodes":[],"statements":[{"assignments":[38914],"declarations":[{"constant":false,"id":38914,"mutability":"mutable","name":"m0","nameLocation":"411577:2:19","nodeType":"VariableDeclaration","scope":38953,"src":"411569:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38913,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411569:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38915,"nodeType":"VariableDeclarationStatement","src":"411569:10:19"},{"assignments":[38917],"declarations":[{"constant":false,"id":38917,"mutability":"mutable","name":"m1","nameLocation":"411597:2:19","nodeType":"VariableDeclaration","scope":38953,"src":"411589:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38916,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411589:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38918,"nodeType":"VariableDeclarationStatement","src":"411589:10:19"},{"assignments":[38920],"declarations":[{"constant":false,"id":38920,"mutability":"mutable","name":"m2","nameLocation":"411617:2:19","nodeType":"VariableDeclaration","scope":38953,"src":"411609:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38919,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411609:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38921,"nodeType":"VariableDeclarationStatement","src":"411609:10:19"},{"assignments":[38923],"declarations":[{"constant":false,"id":38923,"mutability":"mutable","name":"m3","nameLocation":"411637:2:19","nodeType":"VariableDeclaration","scope":38953,"src":"411629:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38922,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411629:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38924,"nodeType":"VariableDeclarationStatement","src":"411629:10:19"},{"assignments":[38926],"declarations":[{"constant":false,"id":38926,"mutability":"mutable","name":"m4","nameLocation":"411657:2:19","nodeType":"VariableDeclaration","scope":38953,"src":"411649:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38925,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411649:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38927,"nodeType":"VariableDeclarationStatement","src":"411649:10:19"},{"assignments":[38929],"declarations":[{"constant":false,"id":38929,"mutability":"mutable","name":"m5","nameLocation":"411677:2:19","nodeType":"VariableDeclaration","scope":38953,"src":"411669:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38928,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411669:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38930,"nodeType":"VariableDeclarationStatement","src":"411669:10:19"},{"assignments":[38932],"declarations":[{"constant":false,"id":38932,"mutability":"mutable","name":"m6","nameLocation":"411697:2:19","nodeType":"VariableDeclaration","scope":38953,"src":"411689:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38931,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411689:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38933,"nodeType":"VariableDeclarationStatement","src":"411689:10:19"},{"assignments":[38935],"declarations":[{"constant":false,"id":38935,"mutability":"mutable","name":"m7","nameLocation":"411717:2:19","nodeType":"VariableDeclaration","scope":38953,"src":"411709:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38934,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411709:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38936,"nodeType":"VariableDeclarationStatement","src":"411709:10:19"},{"assignments":[38938],"declarations":[{"constant":false,"id":38938,"mutability":"mutable","name":"m8","nameLocation":"411737:2:19","nodeType":"VariableDeclaration","scope":38953,"src":"411729:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38937,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411729:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38939,"nodeType":"VariableDeclarationStatement","src":"411729:10:19"},{"assignments":[38941],"declarations":[{"constant":false,"id":38941,"mutability":"mutable","name":"m9","nameLocation":"411757:2:19","nodeType":"VariableDeclaration","scope":38953,"src":"411749:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38940,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411749:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38942,"nodeType":"VariableDeclarationStatement","src":"411749:10:19"},{"assignments":[38944],"declarations":[{"constant":false,"id":38944,"mutability":"mutable","name":"m10","nameLocation":"411777:3:19","nodeType":"VariableDeclaration","scope":38953,"src":"411769:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38943,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411769:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38945,"nodeType":"VariableDeclarationStatement","src":"411769:11:19"},{"AST":{"nativeSrc":"411842:1024:19","nodeType":"YulBlock","src":"411842:1024:19","statements":[{"body":{"nativeSrc":"411885:313:19","nodeType":"YulBlock","src":"411885:313:19","statements":[{"nativeSrc":"411903:15:19","nodeType":"YulVariableDeclaration","src":"411903:15:19","value":{"kind":"number","nativeSrc":"411917:1:19","nodeType":"YulLiteral","src":"411917:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"411907:6:19","nodeType":"YulTypedName","src":"411907:6:19","type":""}]},{"body":{"nativeSrc":"411988:40:19","nodeType":"YulBlock","src":"411988:40:19","statements":[{"body":{"nativeSrc":"412017:9:19","nodeType":"YulBlock","src":"412017:9:19","statements":[{"nativeSrc":"412019:5:19","nodeType":"YulBreak","src":"412019:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"412005:6:19","nodeType":"YulIdentifier","src":"412005:6:19"},{"name":"w","nativeSrc":"412013:1:19","nodeType":"YulIdentifier","src":"412013:1:19"}],"functionName":{"name":"byte","nativeSrc":"412000:4:19","nodeType":"YulIdentifier","src":"412000:4:19"},"nativeSrc":"412000:15:19","nodeType":"YulFunctionCall","src":"412000:15:19"}],"functionName":{"name":"iszero","nativeSrc":"411993:6:19","nodeType":"YulIdentifier","src":"411993:6:19"},"nativeSrc":"411993:23:19","nodeType":"YulFunctionCall","src":"411993:23:19"},"nativeSrc":"411990:36:19","nodeType":"YulIf","src":"411990:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"411945:6:19","nodeType":"YulIdentifier","src":"411945:6:19"},{"kind":"number","nativeSrc":"411953:4:19","nodeType":"YulLiteral","src":"411953:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"411942:2:19","nodeType":"YulIdentifier","src":"411942:2:19"},"nativeSrc":"411942:16:19","nodeType":"YulFunctionCall","src":"411942:16:19"},"nativeSrc":"411935:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"411959:28:19","nodeType":"YulBlock","src":"411959:28:19","statements":[{"nativeSrc":"411961:24:19","nodeType":"YulAssignment","src":"411961:24:19","value":{"arguments":[{"name":"length","nativeSrc":"411975:6:19","nodeType":"YulIdentifier","src":"411975:6:19"},{"kind":"number","nativeSrc":"411983:1:19","nodeType":"YulLiteral","src":"411983:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"411971:3:19","nodeType":"YulIdentifier","src":"411971:3:19"},"nativeSrc":"411971:14:19","nodeType":"YulFunctionCall","src":"411971:14:19"},"variableNames":[{"name":"length","nativeSrc":"411961:6:19","nodeType":"YulIdentifier","src":"411961:6:19"}]}]},"pre":{"nativeSrc":"411939:2:19","nodeType":"YulBlock","src":"411939:2:19","statements":[]},"src":"411935:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"412052:3:19","nodeType":"YulIdentifier","src":"412052:3:19"},{"name":"length","nativeSrc":"412057:6:19","nodeType":"YulIdentifier","src":"412057:6:19"}],"functionName":{"name":"mstore","nativeSrc":"412045:6:19","nodeType":"YulIdentifier","src":"412045:6:19"},"nativeSrc":"412045:19:19","nodeType":"YulFunctionCall","src":"412045:19:19"},"nativeSrc":"412045:19:19","nodeType":"YulExpressionStatement","src":"412045:19:19"},{"nativeSrc":"412081:37:19","nodeType":"YulVariableDeclaration","src":"412081:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"412098:3:19","nodeType":"YulLiteral","src":"412098:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"412107:1:19","nodeType":"YulLiteral","src":"412107:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"412110:6:19","nodeType":"YulIdentifier","src":"412110:6:19"}],"functionName":{"name":"shl","nativeSrc":"412103:3:19","nodeType":"YulIdentifier","src":"412103:3:19"},"nativeSrc":"412103:14:19","nodeType":"YulFunctionCall","src":"412103:14:19"}],"functionName":{"name":"sub","nativeSrc":"412094:3:19","nodeType":"YulIdentifier","src":"412094:3:19"},"nativeSrc":"412094:24:19","nodeType":"YulFunctionCall","src":"412094:24:19"},"variables":[{"name":"shift","nativeSrc":"412085:5:19","nodeType":"YulTypedName","src":"412085:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"412146:3:19","nodeType":"YulIdentifier","src":"412146:3:19"},{"kind":"number","nativeSrc":"412151:4:19","nodeType":"YulLiteral","src":"412151:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"412142:3:19","nodeType":"YulIdentifier","src":"412142:3:19"},"nativeSrc":"412142:14:19","nodeType":"YulFunctionCall","src":"412142:14:19"},{"arguments":[{"name":"shift","nativeSrc":"412162:5:19","nodeType":"YulIdentifier","src":"412162:5:19"},{"arguments":[{"name":"shift","nativeSrc":"412173:5:19","nodeType":"YulIdentifier","src":"412173:5:19"},{"name":"w","nativeSrc":"412180:1:19","nodeType":"YulIdentifier","src":"412180:1:19"}],"functionName":{"name":"shr","nativeSrc":"412169:3:19","nodeType":"YulIdentifier","src":"412169:3:19"},"nativeSrc":"412169:13:19","nodeType":"YulFunctionCall","src":"412169:13:19"}],"functionName":{"name":"shl","nativeSrc":"412158:3:19","nodeType":"YulIdentifier","src":"412158:3:19"},"nativeSrc":"412158:25:19","nodeType":"YulFunctionCall","src":"412158:25:19"}],"functionName":{"name":"mstore","nativeSrc":"412135:6:19","nodeType":"YulIdentifier","src":"412135:6:19"},"nativeSrc":"412135:49:19","nodeType":"YulFunctionCall","src":"412135:49:19"},"nativeSrc":"412135:49:19","nodeType":"YulExpressionStatement","src":"412135:49:19"}]},"name":"writeString","nativeSrc":"411856:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"411877:3:19","nodeType":"YulTypedName","src":"411877:3:19","type":""},{"name":"w","nativeSrc":"411882:1:19","nodeType":"YulTypedName","src":"411882:1:19","type":""}],"src":"411856:342:19"},{"nativeSrc":"412211:17:19","nodeType":"YulAssignment","src":"412211:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"412223:4:19","nodeType":"YulLiteral","src":"412223:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"412217:5:19","nodeType":"YulIdentifier","src":"412217:5:19"},"nativeSrc":"412217:11:19","nodeType":"YulFunctionCall","src":"412217:11:19"},"variableNames":[{"name":"m0","nativeSrc":"412211:2:19","nodeType":"YulIdentifier","src":"412211:2:19"}]},{"nativeSrc":"412241:17:19","nodeType":"YulAssignment","src":"412241:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"412253:4:19","nodeType":"YulLiteral","src":"412253:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"412247:5:19","nodeType":"YulIdentifier","src":"412247:5:19"},"nativeSrc":"412247:11:19","nodeType":"YulFunctionCall","src":"412247:11:19"},"variableNames":[{"name":"m1","nativeSrc":"412241:2:19","nodeType":"YulIdentifier","src":"412241:2:19"}]},{"nativeSrc":"412271:17:19","nodeType":"YulAssignment","src":"412271:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"412283:4:19","nodeType":"YulLiteral","src":"412283:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"412277:5:19","nodeType":"YulIdentifier","src":"412277:5:19"},"nativeSrc":"412277:11:19","nodeType":"YulFunctionCall","src":"412277:11:19"},"variableNames":[{"name":"m2","nativeSrc":"412271:2:19","nodeType":"YulIdentifier","src":"412271:2:19"}]},{"nativeSrc":"412301:17:19","nodeType":"YulAssignment","src":"412301:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"412313:4:19","nodeType":"YulLiteral","src":"412313:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"412307:5:19","nodeType":"YulIdentifier","src":"412307:5:19"},"nativeSrc":"412307:11:19","nodeType":"YulFunctionCall","src":"412307:11:19"},"variableNames":[{"name":"m3","nativeSrc":"412301:2:19","nodeType":"YulIdentifier","src":"412301:2:19"}]},{"nativeSrc":"412331:17:19","nodeType":"YulAssignment","src":"412331:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"412343:4:19","nodeType":"YulLiteral","src":"412343:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"412337:5:19","nodeType":"YulIdentifier","src":"412337:5:19"},"nativeSrc":"412337:11:19","nodeType":"YulFunctionCall","src":"412337:11:19"},"variableNames":[{"name":"m4","nativeSrc":"412331:2:19","nodeType":"YulIdentifier","src":"412331:2:19"}]},{"nativeSrc":"412361:17:19","nodeType":"YulAssignment","src":"412361:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"412373:4:19","nodeType":"YulLiteral","src":"412373:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"412367:5:19","nodeType":"YulIdentifier","src":"412367:5:19"},"nativeSrc":"412367:11:19","nodeType":"YulFunctionCall","src":"412367:11:19"},"variableNames":[{"name":"m5","nativeSrc":"412361:2:19","nodeType":"YulIdentifier","src":"412361:2:19"}]},{"nativeSrc":"412391:17:19","nodeType":"YulAssignment","src":"412391:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"412403:4:19","nodeType":"YulLiteral","src":"412403:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"412397:5:19","nodeType":"YulIdentifier","src":"412397:5:19"},"nativeSrc":"412397:11:19","nodeType":"YulFunctionCall","src":"412397:11:19"},"variableNames":[{"name":"m6","nativeSrc":"412391:2:19","nodeType":"YulIdentifier","src":"412391:2:19"}]},{"nativeSrc":"412421:17:19","nodeType":"YulAssignment","src":"412421:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"412433:4:19","nodeType":"YulLiteral","src":"412433:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"412427:5:19","nodeType":"YulIdentifier","src":"412427:5:19"},"nativeSrc":"412427:11:19","nodeType":"YulFunctionCall","src":"412427:11:19"},"variableNames":[{"name":"m7","nativeSrc":"412421:2:19","nodeType":"YulIdentifier","src":"412421:2:19"}]},{"nativeSrc":"412451:18:19","nodeType":"YulAssignment","src":"412451:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"412463:5:19","nodeType":"YulLiteral","src":"412463:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"412457:5:19","nodeType":"YulIdentifier","src":"412457:5:19"},"nativeSrc":"412457:12:19","nodeType":"YulFunctionCall","src":"412457:12:19"},"variableNames":[{"name":"m8","nativeSrc":"412451:2:19","nodeType":"YulIdentifier","src":"412451:2:19"}]},{"nativeSrc":"412482:18:19","nodeType":"YulAssignment","src":"412482:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"412494:5:19","nodeType":"YulLiteral","src":"412494:5:19","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"412488:5:19","nodeType":"YulIdentifier","src":"412488:5:19"},"nativeSrc":"412488:12:19","nodeType":"YulFunctionCall","src":"412488:12:19"},"variableNames":[{"name":"m9","nativeSrc":"412482:2:19","nodeType":"YulIdentifier","src":"412482:2:19"}]},{"nativeSrc":"412513:19:19","nodeType":"YulAssignment","src":"412513:19:19","value":{"arguments":[{"kind":"number","nativeSrc":"412526:5:19","nodeType":"YulLiteral","src":"412526:5:19","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"412520:5:19","nodeType":"YulIdentifier","src":"412520:5:19"},"nativeSrc":"412520:12:19","nodeType":"YulFunctionCall","src":"412520:12:19"},"variableNames":[{"name":"m10","nativeSrc":"412513:3:19","nodeType":"YulIdentifier","src":"412513:3:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"412613:4:19","nodeType":"YulLiteral","src":"412613:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"412619:10:19","nodeType":"YulLiteral","src":"412619:10:19","type":"","value":"0x5e84b0ea"}],"functionName":{"name":"mstore","nativeSrc":"412606:6:19","nodeType":"YulIdentifier","src":"412606:6:19"},"nativeSrc":"412606:24:19","nodeType":"YulFunctionCall","src":"412606:24:19"},"nativeSrc":"412606:24:19","nodeType":"YulExpressionStatement","src":"412606:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"412650:4:19","nodeType":"YulLiteral","src":"412650:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"412656:4:19","nodeType":"YulLiteral","src":"412656:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"412643:6:19","nodeType":"YulIdentifier","src":"412643:6:19"},"nativeSrc":"412643:18:19","nodeType":"YulFunctionCall","src":"412643:18:19"},"nativeSrc":"412643:18:19","nodeType":"YulExpressionStatement","src":"412643:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"412681:4:19","nodeType":"YulLiteral","src":"412681:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"412687:4:19","nodeType":"YulLiteral","src":"412687:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"412674:6:19","nodeType":"YulIdentifier","src":"412674:6:19"},"nativeSrc":"412674:18:19","nodeType":"YulFunctionCall","src":"412674:18:19"},"nativeSrc":"412674:18:19","nodeType":"YulExpressionStatement","src":"412674:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"412712:4:19","nodeType":"YulLiteral","src":"412712:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"412718:2:19","nodeType":"YulIdentifier","src":"412718:2:19"}],"functionName":{"name":"mstore","nativeSrc":"412705:6:19","nodeType":"YulIdentifier","src":"412705:6:19"},"nativeSrc":"412705:16:19","nodeType":"YulFunctionCall","src":"412705:16:19"},"nativeSrc":"412705:16:19","nodeType":"YulExpressionStatement","src":"412705:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"412741:4:19","nodeType":"YulLiteral","src":"412741:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"412747:5:19","nodeType":"YulLiteral","src":"412747:5:19","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"412734:6:19","nodeType":"YulIdentifier","src":"412734:6:19"},"nativeSrc":"412734:19:19","nodeType":"YulFunctionCall","src":"412734:19:19"},"nativeSrc":"412734:19:19","nodeType":"YulExpressionStatement","src":"412734:19:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"412778:4:19","nodeType":"YulLiteral","src":"412778:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"412784:2:19","nodeType":"YulIdentifier","src":"412784:2:19"}],"functionName":{"name":"writeString","nativeSrc":"412766:11:19","nodeType":"YulIdentifier","src":"412766:11:19"},"nativeSrc":"412766:21:19","nodeType":"YulFunctionCall","src":"412766:21:19"},"nativeSrc":"412766:21:19","nodeType":"YulExpressionStatement","src":"412766:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"412812:4:19","nodeType":"YulLiteral","src":"412812:4:19","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"412818:2:19","nodeType":"YulIdentifier","src":"412818:2:19"}],"functionName":{"name":"writeString","nativeSrc":"412800:11:19","nodeType":"YulIdentifier","src":"412800:11:19"},"nativeSrc":"412800:21:19","nodeType":"YulFunctionCall","src":"412800:21:19"},"nativeSrc":"412800:21:19","nodeType":"YulExpressionStatement","src":"412800:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"412846:5:19","nodeType":"YulLiteral","src":"412846:5:19","type":"","value":"0x120"},{"name":"p3","nativeSrc":"412853:2:19","nodeType":"YulIdentifier","src":"412853:2:19"}],"functionName":{"name":"writeString","nativeSrc":"412834:11:19","nodeType":"YulIdentifier","src":"412834:11:19"},"nativeSrc":"412834:22:19","nodeType":"YulFunctionCall","src":"412834:22:19"},"nativeSrc":"412834:22:19","nodeType":"YulExpressionStatement","src":"412834:22:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38914,"isOffset":false,"isSlot":false,"src":"412211:2:19","valueSize":1},{"declaration":38917,"isOffset":false,"isSlot":false,"src":"412241:2:19","valueSize":1},{"declaration":38944,"isOffset":false,"isSlot":false,"src":"412513:3:19","valueSize":1},{"declaration":38920,"isOffset":false,"isSlot":false,"src":"412271:2:19","valueSize":1},{"declaration":38923,"isOffset":false,"isSlot":false,"src":"412301:2:19","valueSize":1},{"declaration":38926,"isOffset":false,"isSlot":false,"src":"412331:2:19","valueSize":1},{"declaration":38929,"isOffset":false,"isSlot":false,"src":"412361:2:19","valueSize":1},{"declaration":38932,"isOffset":false,"isSlot":false,"src":"412391:2:19","valueSize":1},{"declaration":38935,"isOffset":false,"isSlot":false,"src":"412421:2:19","valueSize":1},{"declaration":38938,"isOffset":false,"isSlot":false,"src":"412451:2:19","valueSize":1},{"declaration":38941,"isOffset":false,"isSlot":false,"src":"412482:2:19","valueSize":1},{"declaration":38904,"isOffset":false,"isSlot":false,"src":"412784:2:19","valueSize":1},{"declaration":38906,"isOffset":false,"isSlot":false,"src":"412818:2:19","valueSize":1},{"declaration":38908,"isOffset":false,"isSlot":false,"src":"412718:2:19","valueSize":1},{"declaration":38910,"isOffset":false,"isSlot":false,"src":"412853:2:19","valueSize":1}],"id":38946,"nodeType":"InlineAssembly","src":"411833:1033:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":38948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"412891:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":38949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"412897:5:19","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"0x144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"}],"id":38947,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"412875:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"412875:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38951,"nodeType":"ExpressionStatement","src":"412875:28:19"},{"AST":{"nativeSrc":"412965:334:19","nodeType":"YulBlock","src":"412965:334:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"412986:4:19","nodeType":"YulLiteral","src":"412986:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"412992:2:19","nodeType":"YulIdentifier","src":"412992:2:19"}],"functionName":{"name":"mstore","nativeSrc":"412979:6:19","nodeType":"YulIdentifier","src":"412979:6:19"},"nativeSrc":"412979:16:19","nodeType":"YulFunctionCall","src":"412979:16:19"},"nativeSrc":"412979:16:19","nodeType":"YulExpressionStatement","src":"412979:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413015:4:19","nodeType":"YulLiteral","src":"413015:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"413021:2:19","nodeType":"YulIdentifier","src":"413021:2:19"}],"functionName":{"name":"mstore","nativeSrc":"413008:6:19","nodeType":"YulIdentifier","src":"413008:6:19"},"nativeSrc":"413008:16:19","nodeType":"YulFunctionCall","src":"413008:16:19"},"nativeSrc":"413008:16:19","nodeType":"YulExpressionStatement","src":"413008:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413044:4:19","nodeType":"YulLiteral","src":"413044:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"413050:2:19","nodeType":"YulIdentifier","src":"413050:2:19"}],"functionName":{"name":"mstore","nativeSrc":"413037:6:19","nodeType":"YulIdentifier","src":"413037:6:19"},"nativeSrc":"413037:16:19","nodeType":"YulFunctionCall","src":"413037:16:19"},"nativeSrc":"413037:16:19","nodeType":"YulExpressionStatement","src":"413037:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413073:4:19","nodeType":"YulLiteral","src":"413073:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"413079:2:19","nodeType":"YulIdentifier","src":"413079:2:19"}],"functionName":{"name":"mstore","nativeSrc":"413066:6:19","nodeType":"YulIdentifier","src":"413066:6:19"},"nativeSrc":"413066:16:19","nodeType":"YulFunctionCall","src":"413066:16:19"},"nativeSrc":"413066:16:19","nodeType":"YulExpressionStatement","src":"413066:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413102:4:19","nodeType":"YulLiteral","src":"413102:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"413108:2:19","nodeType":"YulIdentifier","src":"413108:2:19"}],"functionName":{"name":"mstore","nativeSrc":"413095:6:19","nodeType":"YulIdentifier","src":"413095:6:19"},"nativeSrc":"413095:16:19","nodeType":"YulFunctionCall","src":"413095:16:19"},"nativeSrc":"413095:16:19","nodeType":"YulExpressionStatement","src":"413095:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413131:4:19","nodeType":"YulLiteral","src":"413131:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"413137:2:19","nodeType":"YulIdentifier","src":"413137:2:19"}],"functionName":{"name":"mstore","nativeSrc":"413124:6:19","nodeType":"YulIdentifier","src":"413124:6:19"},"nativeSrc":"413124:16:19","nodeType":"YulFunctionCall","src":"413124:16:19"},"nativeSrc":"413124:16:19","nodeType":"YulExpressionStatement","src":"413124:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413160:4:19","nodeType":"YulLiteral","src":"413160:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"413166:2:19","nodeType":"YulIdentifier","src":"413166:2:19"}],"functionName":{"name":"mstore","nativeSrc":"413153:6:19","nodeType":"YulIdentifier","src":"413153:6:19"},"nativeSrc":"413153:16:19","nodeType":"YulFunctionCall","src":"413153:16:19"},"nativeSrc":"413153:16:19","nodeType":"YulExpressionStatement","src":"413153:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413189:4:19","nodeType":"YulLiteral","src":"413189:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"413195:2:19","nodeType":"YulIdentifier","src":"413195:2:19"}],"functionName":{"name":"mstore","nativeSrc":"413182:6:19","nodeType":"YulIdentifier","src":"413182:6:19"},"nativeSrc":"413182:16:19","nodeType":"YulFunctionCall","src":"413182:16:19"},"nativeSrc":"413182:16:19","nodeType":"YulExpressionStatement","src":"413182:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413218:5:19","nodeType":"YulLiteral","src":"413218:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"413225:2:19","nodeType":"YulIdentifier","src":"413225:2:19"}],"functionName":{"name":"mstore","nativeSrc":"413211:6:19","nodeType":"YulIdentifier","src":"413211:6:19"},"nativeSrc":"413211:17:19","nodeType":"YulFunctionCall","src":"413211:17:19"},"nativeSrc":"413211:17:19","nodeType":"YulExpressionStatement","src":"413211:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413248:5:19","nodeType":"YulLiteral","src":"413248:5:19","type":"","value":"0x120"},{"name":"m9","nativeSrc":"413255:2:19","nodeType":"YulIdentifier","src":"413255:2:19"}],"functionName":{"name":"mstore","nativeSrc":"413241:6:19","nodeType":"YulIdentifier","src":"413241:6:19"},"nativeSrc":"413241:17:19","nodeType":"YulFunctionCall","src":"413241:17:19"},"nativeSrc":"413241:17:19","nodeType":"YulExpressionStatement","src":"413241:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"413278:5:19","nodeType":"YulLiteral","src":"413278:5:19","type":"","value":"0x140"},{"name":"m10","nativeSrc":"413285:3:19","nodeType":"YulIdentifier","src":"413285:3:19"}],"functionName":{"name":"mstore","nativeSrc":"413271:6:19","nodeType":"YulIdentifier","src":"413271:6:19"},"nativeSrc":"413271:18:19","nodeType":"YulFunctionCall","src":"413271:18:19"},"nativeSrc":"413271:18:19","nodeType":"YulExpressionStatement","src":"413271:18:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38914,"isOffset":false,"isSlot":false,"src":"412992:2:19","valueSize":1},{"declaration":38917,"isOffset":false,"isSlot":false,"src":"413021:2:19","valueSize":1},{"declaration":38944,"isOffset":false,"isSlot":false,"src":"413285:3:19","valueSize":1},{"declaration":38920,"isOffset":false,"isSlot":false,"src":"413050:2:19","valueSize":1},{"declaration":38923,"isOffset":false,"isSlot":false,"src":"413079:2:19","valueSize":1},{"declaration":38926,"isOffset":false,"isSlot":false,"src":"413108:2:19","valueSize":1},{"declaration":38929,"isOffset":false,"isSlot":false,"src":"413137:2:19","valueSize":1},{"declaration":38932,"isOffset":false,"isSlot":false,"src":"413166:2:19","valueSize":1},{"declaration":38935,"isOffset":false,"isSlot":false,"src":"413195:2:19","valueSize":1},{"declaration":38938,"isOffset":false,"isSlot":false,"src":"413225:2:19","valueSize":1},{"declaration":38941,"isOffset":false,"isSlot":false,"src":"413255:2:19","valueSize":1}],"id":38952,"nodeType":"InlineAssembly","src":"412956:343:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"411496:3:19","parameters":{"id":38911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38904,"mutability":"mutable","name":"p0","nameLocation":"411508:2:19","nodeType":"VariableDeclaration","scope":38954,"src":"411500:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38903,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411500:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38906,"mutability":"mutable","name":"p1","nameLocation":"411520:2:19","nodeType":"VariableDeclaration","scope":38954,"src":"411512:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38905,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411512:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38908,"mutability":"mutable","name":"p2","nameLocation":"411529:2:19","nodeType":"VariableDeclaration","scope":38954,"src":"411524:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38907,"name":"bool","nodeType":"ElementaryTypeName","src":"411524:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":38910,"mutability":"mutable","name":"p3","nameLocation":"411541:2:19","nodeType":"VariableDeclaration","scope":38954,"src":"411533:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38909,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411533:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"411499:45:19"},"returnParameters":{"id":38912,"nodeType":"ParameterList","parameters":[],"src":"411559:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39000,"nodeType":"FunctionDefinition","src":"413311:1622:19","nodes":[],"body":{"id":38999,"nodeType":"Block","src":"413386:1547:19","nodes":[],"statements":[{"assignments":[38966],"declarations":[{"constant":false,"id":38966,"mutability":"mutable","name":"m0","nameLocation":"413404:2:19","nodeType":"VariableDeclaration","scope":38999,"src":"413396:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38965,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413396:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38967,"nodeType":"VariableDeclarationStatement","src":"413396:10:19"},{"assignments":[38969],"declarations":[{"constant":false,"id":38969,"mutability":"mutable","name":"m1","nameLocation":"413424:2:19","nodeType":"VariableDeclaration","scope":38999,"src":"413416:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38968,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413416:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38970,"nodeType":"VariableDeclarationStatement","src":"413416:10:19"},{"assignments":[38972],"declarations":[{"constant":false,"id":38972,"mutability":"mutable","name":"m2","nameLocation":"413444:2:19","nodeType":"VariableDeclaration","scope":38999,"src":"413436:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38971,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413436:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38973,"nodeType":"VariableDeclarationStatement","src":"413436:10:19"},{"assignments":[38975],"declarations":[{"constant":false,"id":38975,"mutability":"mutable","name":"m3","nameLocation":"413464:2:19","nodeType":"VariableDeclaration","scope":38999,"src":"413456:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38974,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413456:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38976,"nodeType":"VariableDeclarationStatement","src":"413456:10:19"},{"assignments":[38978],"declarations":[{"constant":false,"id":38978,"mutability":"mutable","name":"m4","nameLocation":"413484:2:19","nodeType":"VariableDeclaration","scope":38999,"src":"413476:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38977,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413476:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38979,"nodeType":"VariableDeclarationStatement","src":"413476:10:19"},{"assignments":[38981],"declarations":[{"constant":false,"id":38981,"mutability":"mutable","name":"m5","nameLocation":"413504:2:19","nodeType":"VariableDeclaration","scope":38999,"src":"413496:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38980,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413496:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38982,"nodeType":"VariableDeclarationStatement","src":"413496:10:19"},{"assignments":[38984],"declarations":[{"constant":false,"id":38984,"mutability":"mutable","name":"m6","nameLocation":"413524:2:19","nodeType":"VariableDeclaration","scope":38999,"src":"413516:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38983,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413516:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38985,"nodeType":"VariableDeclarationStatement","src":"413516:10:19"},{"assignments":[38987],"declarations":[{"constant":false,"id":38987,"mutability":"mutable","name":"m7","nameLocation":"413544:2:19","nodeType":"VariableDeclaration","scope":38999,"src":"413536:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38986,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413536:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38988,"nodeType":"VariableDeclarationStatement","src":"413536:10:19"},{"assignments":[38990],"declarations":[{"constant":false,"id":38990,"mutability":"mutable","name":"m8","nameLocation":"413564:2:19","nodeType":"VariableDeclaration","scope":38999,"src":"413556:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38989,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413556:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":38991,"nodeType":"VariableDeclarationStatement","src":"413556:10:19"},{"AST":{"nativeSrc":"413628:927:19","nodeType":"YulBlock","src":"413628:927:19","statements":[{"body":{"nativeSrc":"413671:313:19","nodeType":"YulBlock","src":"413671:313:19","statements":[{"nativeSrc":"413689:15:19","nodeType":"YulVariableDeclaration","src":"413689:15:19","value":{"kind":"number","nativeSrc":"413703:1:19","nodeType":"YulLiteral","src":"413703:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"413693:6:19","nodeType":"YulTypedName","src":"413693:6:19","type":""}]},{"body":{"nativeSrc":"413774:40:19","nodeType":"YulBlock","src":"413774:40:19","statements":[{"body":{"nativeSrc":"413803:9:19","nodeType":"YulBlock","src":"413803:9:19","statements":[{"nativeSrc":"413805:5:19","nodeType":"YulBreak","src":"413805:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"413791:6:19","nodeType":"YulIdentifier","src":"413791:6:19"},{"name":"w","nativeSrc":"413799:1:19","nodeType":"YulIdentifier","src":"413799:1:19"}],"functionName":{"name":"byte","nativeSrc":"413786:4:19","nodeType":"YulIdentifier","src":"413786:4:19"},"nativeSrc":"413786:15:19","nodeType":"YulFunctionCall","src":"413786:15:19"}],"functionName":{"name":"iszero","nativeSrc":"413779:6:19","nodeType":"YulIdentifier","src":"413779:6:19"},"nativeSrc":"413779:23:19","nodeType":"YulFunctionCall","src":"413779:23:19"},"nativeSrc":"413776:36:19","nodeType":"YulIf","src":"413776:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"413731:6:19","nodeType":"YulIdentifier","src":"413731:6:19"},{"kind":"number","nativeSrc":"413739:4:19","nodeType":"YulLiteral","src":"413739:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"413728:2:19","nodeType":"YulIdentifier","src":"413728:2:19"},"nativeSrc":"413728:16:19","nodeType":"YulFunctionCall","src":"413728:16:19"},"nativeSrc":"413721:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"413745:28:19","nodeType":"YulBlock","src":"413745:28:19","statements":[{"nativeSrc":"413747:24:19","nodeType":"YulAssignment","src":"413747:24:19","value":{"arguments":[{"name":"length","nativeSrc":"413761:6:19","nodeType":"YulIdentifier","src":"413761:6:19"},{"kind":"number","nativeSrc":"413769:1:19","nodeType":"YulLiteral","src":"413769:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"413757:3:19","nodeType":"YulIdentifier","src":"413757:3:19"},"nativeSrc":"413757:14:19","nodeType":"YulFunctionCall","src":"413757:14:19"},"variableNames":[{"name":"length","nativeSrc":"413747:6:19","nodeType":"YulIdentifier","src":"413747:6:19"}]}]},"pre":{"nativeSrc":"413725:2:19","nodeType":"YulBlock","src":"413725:2:19","statements":[]},"src":"413721:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"413838:3:19","nodeType":"YulIdentifier","src":"413838:3:19"},{"name":"length","nativeSrc":"413843:6:19","nodeType":"YulIdentifier","src":"413843:6:19"}],"functionName":{"name":"mstore","nativeSrc":"413831:6:19","nodeType":"YulIdentifier","src":"413831:6:19"},"nativeSrc":"413831:19:19","nodeType":"YulFunctionCall","src":"413831:19:19"},"nativeSrc":"413831:19:19","nodeType":"YulExpressionStatement","src":"413831:19:19"},{"nativeSrc":"413867:37:19","nodeType":"YulVariableDeclaration","src":"413867:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"413884:3:19","nodeType":"YulLiteral","src":"413884:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"413893:1:19","nodeType":"YulLiteral","src":"413893:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"413896:6:19","nodeType":"YulIdentifier","src":"413896:6:19"}],"functionName":{"name":"shl","nativeSrc":"413889:3:19","nodeType":"YulIdentifier","src":"413889:3:19"},"nativeSrc":"413889:14:19","nodeType":"YulFunctionCall","src":"413889:14:19"}],"functionName":{"name":"sub","nativeSrc":"413880:3:19","nodeType":"YulIdentifier","src":"413880:3:19"},"nativeSrc":"413880:24:19","nodeType":"YulFunctionCall","src":"413880:24:19"},"variables":[{"name":"shift","nativeSrc":"413871:5:19","nodeType":"YulTypedName","src":"413871:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"413932:3:19","nodeType":"YulIdentifier","src":"413932:3:19"},{"kind":"number","nativeSrc":"413937:4:19","nodeType":"YulLiteral","src":"413937:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"413928:3:19","nodeType":"YulIdentifier","src":"413928:3:19"},"nativeSrc":"413928:14:19","nodeType":"YulFunctionCall","src":"413928:14:19"},{"arguments":[{"name":"shift","nativeSrc":"413948:5:19","nodeType":"YulIdentifier","src":"413948:5:19"},{"arguments":[{"name":"shift","nativeSrc":"413959:5:19","nodeType":"YulIdentifier","src":"413959:5:19"},{"name":"w","nativeSrc":"413966:1:19","nodeType":"YulIdentifier","src":"413966:1:19"}],"functionName":{"name":"shr","nativeSrc":"413955:3:19","nodeType":"YulIdentifier","src":"413955:3:19"},"nativeSrc":"413955:13:19","nodeType":"YulFunctionCall","src":"413955:13:19"}],"functionName":{"name":"shl","nativeSrc":"413944:3:19","nodeType":"YulIdentifier","src":"413944:3:19"},"nativeSrc":"413944:25:19","nodeType":"YulFunctionCall","src":"413944:25:19"}],"functionName":{"name":"mstore","nativeSrc":"413921:6:19","nodeType":"YulIdentifier","src":"413921:6:19"},"nativeSrc":"413921:49:19","nodeType":"YulFunctionCall","src":"413921:49:19"},"nativeSrc":"413921:49:19","nodeType":"YulExpressionStatement","src":"413921:49:19"}]},"name":"writeString","nativeSrc":"413642:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"413663:3:19","nodeType":"YulTypedName","src":"413663:3:19","type":""},{"name":"w","nativeSrc":"413668:1:19","nodeType":"YulTypedName","src":"413668:1:19","type":""}],"src":"413642:342:19"},{"nativeSrc":"413997:17:19","nodeType":"YulAssignment","src":"413997:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"414009:4:19","nodeType":"YulLiteral","src":"414009:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"414003:5:19","nodeType":"YulIdentifier","src":"414003:5:19"},"nativeSrc":"414003:11:19","nodeType":"YulFunctionCall","src":"414003:11:19"},"variableNames":[{"name":"m0","nativeSrc":"413997:2:19","nodeType":"YulIdentifier","src":"413997:2:19"}]},{"nativeSrc":"414027:17:19","nodeType":"YulAssignment","src":"414027:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"414039:4:19","nodeType":"YulLiteral","src":"414039:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"414033:5:19","nodeType":"YulIdentifier","src":"414033:5:19"},"nativeSrc":"414033:11:19","nodeType":"YulFunctionCall","src":"414033:11:19"},"variableNames":[{"name":"m1","nativeSrc":"414027:2:19","nodeType":"YulIdentifier","src":"414027:2:19"}]},{"nativeSrc":"414057:17:19","nodeType":"YulAssignment","src":"414057:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"414069:4:19","nodeType":"YulLiteral","src":"414069:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"414063:5:19","nodeType":"YulIdentifier","src":"414063:5:19"},"nativeSrc":"414063:11:19","nodeType":"YulFunctionCall","src":"414063:11:19"},"variableNames":[{"name":"m2","nativeSrc":"414057:2:19","nodeType":"YulIdentifier","src":"414057:2:19"}]},{"nativeSrc":"414087:17:19","nodeType":"YulAssignment","src":"414087:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"414099:4:19","nodeType":"YulLiteral","src":"414099:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"414093:5:19","nodeType":"YulIdentifier","src":"414093:5:19"},"nativeSrc":"414093:11:19","nodeType":"YulFunctionCall","src":"414093:11:19"},"variableNames":[{"name":"m3","nativeSrc":"414087:2:19","nodeType":"YulIdentifier","src":"414087:2:19"}]},{"nativeSrc":"414117:17:19","nodeType":"YulAssignment","src":"414117:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"414129:4:19","nodeType":"YulLiteral","src":"414129:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"414123:5:19","nodeType":"YulIdentifier","src":"414123:5:19"},"nativeSrc":"414123:11:19","nodeType":"YulFunctionCall","src":"414123:11:19"},"variableNames":[{"name":"m4","nativeSrc":"414117:2:19","nodeType":"YulIdentifier","src":"414117:2:19"}]},{"nativeSrc":"414147:17:19","nodeType":"YulAssignment","src":"414147:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"414159:4:19","nodeType":"YulLiteral","src":"414159:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"414153:5:19","nodeType":"YulIdentifier","src":"414153:5:19"},"nativeSrc":"414153:11:19","nodeType":"YulFunctionCall","src":"414153:11:19"},"variableNames":[{"name":"m5","nativeSrc":"414147:2:19","nodeType":"YulIdentifier","src":"414147:2:19"}]},{"nativeSrc":"414177:17:19","nodeType":"YulAssignment","src":"414177:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"414189:4:19","nodeType":"YulLiteral","src":"414189:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"414183:5:19","nodeType":"YulIdentifier","src":"414183:5:19"},"nativeSrc":"414183:11:19","nodeType":"YulFunctionCall","src":"414183:11:19"},"variableNames":[{"name":"m6","nativeSrc":"414177:2:19","nodeType":"YulIdentifier","src":"414177:2:19"}]},{"nativeSrc":"414207:17:19","nodeType":"YulAssignment","src":"414207:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"414219:4:19","nodeType":"YulLiteral","src":"414219:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"414213:5:19","nodeType":"YulIdentifier","src":"414213:5:19"},"nativeSrc":"414213:11:19","nodeType":"YulFunctionCall","src":"414213:11:19"},"variableNames":[{"name":"m7","nativeSrc":"414207:2:19","nodeType":"YulIdentifier","src":"414207:2:19"}]},{"nativeSrc":"414237:18:19","nodeType":"YulAssignment","src":"414237:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"414249:5:19","nodeType":"YulLiteral","src":"414249:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"414243:5:19","nodeType":"YulIdentifier","src":"414243:5:19"},"nativeSrc":"414243:12:19","nodeType":"YulFunctionCall","src":"414243:12:19"},"variableNames":[{"name":"m8","nativeSrc":"414237:2:19","nodeType":"YulIdentifier","src":"414237:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414340:4:19","nodeType":"YulLiteral","src":"414340:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"414346:10:19","nodeType":"YulLiteral","src":"414346:10:19","type":"","value":"0x1023f7b2"}],"functionName":{"name":"mstore","nativeSrc":"414333:6:19","nodeType":"YulIdentifier","src":"414333:6:19"},"nativeSrc":"414333:24:19","nodeType":"YulFunctionCall","src":"414333:24:19"},"nativeSrc":"414333:24:19","nodeType":"YulExpressionStatement","src":"414333:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414377:4:19","nodeType":"YulLiteral","src":"414377:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"414383:4:19","nodeType":"YulLiteral","src":"414383:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"414370:6:19","nodeType":"YulIdentifier","src":"414370:6:19"},"nativeSrc":"414370:18:19","nodeType":"YulFunctionCall","src":"414370:18:19"},"nativeSrc":"414370:18:19","nodeType":"YulExpressionStatement","src":"414370:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414408:4:19","nodeType":"YulLiteral","src":"414408:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"414414:4:19","nodeType":"YulLiteral","src":"414414:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"414401:6:19","nodeType":"YulIdentifier","src":"414401:6:19"},"nativeSrc":"414401:18:19","nodeType":"YulFunctionCall","src":"414401:18:19"},"nativeSrc":"414401:18:19","nodeType":"YulExpressionStatement","src":"414401:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414439:4:19","nodeType":"YulLiteral","src":"414439:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"414445:2:19","nodeType":"YulIdentifier","src":"414445:2:19"}],"functionName":{"name":"mstore","nativeSrc":"414432:6:19","nodeType":"YulIdentifier","src":"414432:6:19"},"nativeSrc":"414432:16:19","nodeType":"YulFunctionCall","src":"414432:16:19"},"nativeSrc":"414432:16:19","nodeType":"YulExpressionStatement","src":"414432:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414468:4:19","nodeType":"YulLiteral","src":"414468:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"414474:2:19","nodeType":"YulIdentifier","src":"414474:2:19"}],"functionName":{"name":"mstore","nativeSrc":"414461:6:19","nodeType":"YulIdentifier","src":"414461:6:19"},"nativeSrc":"414461:16:19","nodeType":"YulFunctionCall","src":"414461:16:19"},"nativeSrc":"414461:16:19","nodeType":"YulExpressionStatement","src":"414461:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414502:4:19","nodeType":"YulLiteral","src":"414502:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"414508:2:19","nodeType":"YulIdentifier","src":"414508:2:19"}],"functionName":{"name":"writeString","nativeSrc":"414490:11:19","nodeType":"YulIdentifier","src":"414490:11:19"},"nativeSrc":"414490:21:19","nodeType":"YulFunctionCall","src":"414490:21:19"},"nativeSrc":"414490:21:19","nodeType":"YulExpressionStatement","src":"414490:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414536:4:19","nodeType":"YulLiteral","src":"414536:4:19","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"414542:2:19","nodeType":"YulIdentifier","src":"414542:2:19"}],"functionName":{"name":"writeString","nativeSrc":"414524:11:19","nodeType":"YulIdentifier","src":"414524:11:19"},"nativeSrc":"414524:21:19","nodeType":"YulFunctionCall","src":"414524:21:19"},"nativeSrc":"414524:21:19","nodeType":"YulExpressionStatement","src":"414524:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38966,"isOffset":false,"isSlot":false,"src":"413997:2:19","valueSize":1},{"declaration":38969,"isOffset":false,"isSlot":false,"src":"414027:2:19","valueSize":1},{"declaration":38972,"isOffset":false,"isSlot":false,"src":"414057:2:19","valueSize":1},{"declaration":38975,"isOffset":false,"isSlot":false,"src":"414087:2:19","valueSize":1},{"declaration":38978,"isOffset":false,"isSlot":false,"src":"414117:2:19","valueSize":1},{"declaration":38981,"isOffset":false,"isSlot":false,"src":"414147:2:19","valueSize":1},{"declaration":38984,"isOffset":false,"isSlot":false,"src":"414177:2:19","valueSize":1},{"declaration":38987,"isOffset":false,"isSlot":false,"src":"414207:2:19","valueSize":1},{"declaration":38990,"isOffset":false,"isSlot":false,"src":"414237:2:19","valueSize":1},{"declaration":38956,"isOffset":false,"isSlot":false,"src":"414508:2:19","valueSize":1},{"declaration":38958,"isOffset":false,"isSlot":false,"src":"414542:2:19","valueSize":1},{"declaration":38960,"isOffset":false,"isSlot":false,"src":"414445:2:19","valueSize":1},{"declaration":38962,"isOffset":false,"isSlot":false,"src":"414474:2:19","valueSize":1}],"id":38992,"nodeType":"InlineAssembly","src":"413619:936:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":38994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"414580:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":38995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"414586:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":38993,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"414564:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":38996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"414564:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38997,"nodeType":"ExpressionStatement","src":"414564:28:19"},{"AST":{"nativeSrc":"414654:273:19","nodeType":"YulBlock","src":"414654:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"414675:4:19","nodeType":"YulLiteral","src":"414675:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"414681:2:19","nodeType":"YulIdentifier","src":"414681:2:19"}],"functionName":{"name":"mstore","nativeSrc":"414668:6:19","nodeType":"YulIdentifier","src":"414668:6:19"},"nativeSrc":"414668:16:19","nodeType":"YulFunctionCall","src":"414668:16:19"},"nativeSrc":"414668:16:19","nodeType":"YulExpressionStatement","src":"414668:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414704:4:19","nodeType":"YulLiteral","src":"414704:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"414710:2:19","nodeType":"YulIdentifier","src":"414710:2:19"}],"functionName":{"name":"mstore","nativeSrc":"414697:6:19","nodeType":"YulIdentifier","src":"414697:6:19"},"nativeSrc":"414697:16:19","nodeType":"YulFunctionCall","src":"414697:16:19"},"nativeSrc":"414697:16:19","nodeType":"YulExpressionStatement","src":"414697:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414733:4:19","nodeType":"YulLiteral","src":"414733:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"414739:2:19","nodeType":"YulIdentifier","src":"414739:2:19"}],"functionName":{"name":"mstore","nativeSrc":"414726:6:19","nodeType":"YulIdentifier","src":"414726:6:19"},"nativeSrc":"414726:16:19","nodeType":"YulFunctionCall","src":"414726:16:19"},"nativeSrc":"414726:16:19","nodeType":"YulExpressionStatement","src":"414726:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414762:4:19","nodeType":"YulLiteral","src":"414762:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"414768:2:19","nodeType":"YulIdentifier","src":"414768:2:19"}],"functionName":{"name":"mstore","nativeSrc":"414755:6:19","nodeType":"YulIdentifier","src":"414755:6:19"},"nativeSrc":"414755:16:19","nodeType":"YulFunctionCall","src":"414755:16:19"},"nativeSrc":"414755:16:19","nodeType":"YulExpressionStatement","src":"414755:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414791:4:19","nodeType":"YulLiteral","src":"414791:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"414797:2:19","nodeType":"YulIdentifier","src":"414797:2:19"}],"functionName":{"name":"mstore","nativeSrc":"414784:6:19","nodeType":"YulIdentifier","src":"414784:6:19"},"nativeSrc":"414784:16:19","nodeType":"YulFunctionCall","src":"414784:16:19"},"nativeSrc":"414784:16:19","nodeType":"YulExpressionStatement","src":"414784:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414820:4:19","nodeType":"YulLiteral","src":"414820:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"414826:2:19","nodeType":"YulIdentifier","src":"414826:2:19"}],"functionName":{"name":"mstore","nativeSrc":"414813:6:19","nodeType":"YulIdentifier","src":"414813:6:19"},"nativeSrc":"414813:16:19","nodeType":"YulFunctionCall","src":"414813:16:19"},"nativeSrc":"414813:16:19","nodeType":"YulExpressionStatement","src":"414813:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414849:4:19","nodeType":"YulLiteral","src":"414849:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"414855:2:19","nodeType":"YulIdentifier","src":"414855:2:19"}],"functionName":{"name":"mstore","nativeSrc":"414842:6:19","nodeType":"YulIdentifier","src":"414842:6:19"},"nativeSrc":"414842:16:19","nodeType":"YulFunctionCall","src":"414842:16:19"},"nativeSrc":"414842:16:19","nodeType":"YulExpressionStatement","src":"414842:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414878:4:19","nodeType":"YulLiteral","src":"414878:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"414884:2:19","nodeType":"YulIdentifier","src":"414884:2:19"}],"functionName":{"name":"mstore","nativeSrc":"414871:6:19","nodeType":"YulIdentifier","src":"414871:6:19"},"nativeSrc":"414871:16:19","nodeType":"YulFunctionCall","src":"414871:16:19"},"nativeSrc":"414871:16:19","nodeType":"YulExpressionStatement","src":"414871:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"414907:5:19","nodeType":"YulLiteral","src":"414907:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"414914:2:19","nodeType":"YulIdentifier","src":"414914:2:19"}],"functionName":{"name":"mstore","nativeSrc":"414900:6:19","nodeType":"YulIdentifier","src":"414900:6:19"},"nativeSrc":"414900:17:19","nodeType":"YulFunctionCall","src":"414900:17:19"},"nativeSrc":"414900:17:19","nodeType":"YulExpressionStatement","src":"414900:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":38966,"isOffset":false,"isSlot":false,"src":"414681:2:19","valueSize":1},{"declaration":38969,"isOffset":false,"isSlot":false,"src":"414710:2:19","valueSize":1},{"declaration":38972,"isOffset":false,"isSlot":false,"src":"414739:2:19","valueSize":1},{"declaration":38975,"isOffset":false,"isSlot":false,"src":"414768:2:19","valueSize":1},{"declaration":38978,"isOffset":false,"isSlot":false,"src":"414797:2:19","valueSize":1},{"declaration":38981,"isOffset":false,"isSlot":false,"src":"414826:2:19","valueSize":1},{"declaration":38984,"isOffset":false,"isSlot":false,"src":"414855:2:19","valueSize":1},{"declaration":38987,"isOffset":false,"isSlot":false,"src":"414884:2:19","valueSize":1},{"declaration":38990,"isOffset":false,"isSlot":false,"src":"414914:2:19","valueSize":1}],"id":38998,"nodeType":"InlineAssembly","src":"414645:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"413320:3:19","parameters":{"id":38963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38956,"mutability":"mutable","name":"p0","nameLocation":"413332:2:19","nodeType":"VariableDeclaration","scope":39000,"src":"413324:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38955,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413324:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38958,"mutability":"mutable","name":"p1","nameLocation":"413344:2:19","nodeType":"VariableDeclaration","scope":39000,"src":"413336:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38957,"name":"bytes32","nodeType":"ElementaryTypeName","src":"413336:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38960,"mutability":"mutable","name":"p2","nameLocation":"413356:2:19","nodeType":"VariableDeclaration","scope":39000,"src":"413348:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38959,"name":"uint256","nodeType":"ElementaryTypeName","src":"413348:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38962,"mutability":"mutable","name":"p3","nameLocation":"413368:2:19","nodeType":"VariableDeclaration","scope":39000,"src":"413360:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38961,"name":"address","nodeType":"ElementaryTypeName","src":"413360:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"413323:48:19"},"returnParameters":{"id":38964,"nodeType":"ParameterList","parameters":[],"src":"413386:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39046,"nodeType":"FunctionDefinition","src":"414939:1616:19","nodes":[],"body":{"id":39045,"nodeType":"Block","src":"415011:1544:19","nodes":[],"statements":[{"assignments":[39012],"declarations":[{"constant":false,"id":39012,"mutability":"mutable","name":"m0","nameLocation":"415029:2:19","nodeType":"VariableDeclaration","scope":39045,"src":"415021:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39011,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415021:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39013,"nodeType":"VariableDeclarationStatement","src":"415021:10:19"},{"assignments":[39015],"declarations":[{"constant":false,"id":39015,"mutability":"mutable","name":"m1","nameLocation":"415049:2:19","nodeType":"VariableDeclaration","scope":39045,"src":"415041:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39014,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415041:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39016,"nodeType":"VariableDeclarationStatement","src":"415041:10:19"},{"assignments":[39018],"declarations":[{"constant":false,"id":39018,"mutability":"mutable","name":"m2","nameLocation":"415069:2:19","nodeType":"VariableDeclaration","scope":39045,"src":"415061:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39017,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415061:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39019,"nodeType":"VariableDeclarationStatement","src":"415061:10:19"},{"assignments":[39021],"declarations":[{"constant":false,"id":39021,"mutability":"mutable","name":"m3","nameLocation":"415089:2:19","nodeType":"VariableDeclaration","scope":39045,"src":"415081:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39020,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415081:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39022,"nodeType":"VariableDeclarationStatement","src":"415081:10:19"},{"assignments":[39024],"declarations":[{"constant":false,"id":39024,"mutability":"mutable","name":"m4","nameLocation":"415109:2:19","nodeType":"VariableDeclaration","scope":39045,"src":"415101:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39023,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415101:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39025,"nodeType":"VariableDeclarationStatement","src":"415101:10:19"},{"assignments":[39027],"declarations":[{"constant":false,"id":39027,"mutability":"mutable","name":"m5","nameLocation":"415129:2:19","nodeType":"VariableDeclaration","scope":39045,"src":"415121:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39026,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415121:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39028,"nodeType":"VariableDeclarationStatement","src":"415121:10:19"},{"assignments":[39030],"declarations":[{"constant":false,"id":39030,"mutability":"mutable","name":"m6","nameLocation":"415149:2:19","nodeType":"VariableDeclaration","scope":39045,"src":"415141:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39029,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415141:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39031,"nodeType":"VariableDeclarationStatement","src":"415141:10:19"},{"assignments":[39033],"declarations":[{"constant":false,"id":39033,"mutability":"mutable","name":"m7","nameLocation":"415169:2:19","nodeType":"VariableDeclaration","scope":39045,"src":"415161:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39032,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415161:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39034,"nodeType":"VariableDeclarationStatement","src":"415161:10:19"},{"assignments":[39036],"declarations":[{"constant":false,"id":39036,"mutability":"mutable","name":"m8","nameLocation":"415189:2:19","nodeType":"VariableDeclaration","scope":39045,"src":"415181:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39035,"name":"bytes32","nodeType":"ElementaryTypeName","src":"415181:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39037,"nodeType":"VariableDeclarationStatement","src":"415181:10:19"},{"AST":{"nativeSrc":"415253:924:19","nodeType":"YulBlock","src":"415253:924:19","statements":[{"body":{"nativeSrc":"415296:313:19","nodeType":"YulBlock","src":"415296:313:19","statements":[{"nativeSrc":"415314:15:19","nodeType":"YulVariableDeclaration","src":"415314:15:19","value":{"kind":"number","nativeSrc":"415328:1:19","nodeType":"YulLiteral","src":"415328:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"415318:6:19","nodeType":"YulTypedName","src":"415318:6:19","type":""}]},{"body":{"nativeSrc":"415399:40:19","nodeType":"YulBlock","src":"415399:40:19","statements":[{"body":{"nativeSrc":"415428:9:19","nodeType":"YulBlock","src":"415428:9:19","statements":[{"nativeSrc":"415430:5:19","nodeType":"YulBreak","src":"415430:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"415416:6:19","nodeType":"YulIdentifier","src":"415416:6:19"},{"name":"w","nativeSrc":"415424:1:19","nodeType":"YulIdentifier","src":"415424:1:19"}],"functionName":{"name":"byte","nativeSrc":"415411:4:19","nodeType":"YulIdentifier","src":"415411:4:19"},"nativeSrc":"415411:15:19","nodeType":"YulFunctionCall","src":"415411:15:19"}],"functionName":{"name":"iszero","nativeSrc":"415404:6:19","nodeType":"YulIdentifier","src":"415404:6:19"},"nativeSrc":"415404:23:19","nodeType":"YulFunctionCall","src":"415404:23:19"},"nativeSrc":"415401:36:19","nodeType":"YulIf","src":"415401:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"415356:6:19","nodeType":"YulIdentifier","src":"415356:6:19"},{"kind":"number","nativeSrc":"415364:4:19","nodeType":"YulLiteral","src":"415364:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"415353:2:19","nodeType":"YulIdentifier","src":"415353:2:19"},"nativeSrc":"415353:16:19","nodeType":"YulFunctionCall","src":"415353:16:19"},"nativeSrc":"415346:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"415370:28:19","nodeType":"YulBlock","src":"415370:28:19","statements":[{"nativeSrc":"415372:24:19","nodeType":"YulAssignment","src":"415372:24:19","value":{"arguments":[{"name":"length","nativeSrc":"415386:6:19","nodeType":"YulIdentifier","src":"415386:6:19"},{"kind":"number","nativeSrc":"415394:1:19","nodeType":"YulLiteral","src":"415394:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"415382:3:19","nodeType":"YulIdentifier","src":"415382:3:19"},"nativeSrc":"415382:14:19","nodeType":"YulFunctionCall","src":"415382:14:19"},"variableNames":[{"name":"length","nativeSrc":"415372:6:19","nodeType":"YulIdentifier","src":"415372:6:19"}]}]},"pre":{"nativeSrc":"415350:2:19","nodeType":"YulBlock","src":"415350:2:19","statements":[]},"src":"415346:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"415463:3:19","nodeType":"YulIdentifier","src":"415463:3:19"},{"name":"length","nativeSrc":"415468:6:19","nodeType":"YulIdentifier","src":"415468:6:19"}],"functionName":{"name":"mstore","nativeSrc":"415456:6:19","nodeType":"YulIdentifier","src":"415456:6:19"},"nativeSrc":"415456:19:19","nodeType":"YulFunctionCall","src":"415456:19:19"},"nativeSrc":"415456:19:19","nodeType":"YulExpressionStatement","src":"415456:19:19"},{"nativeSrc":"415492:37:19","nodeType":"YulVariableDeclaration","src":"415492:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"415509:3:19","nodeType":"YulLiteral","src":"415509:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"415518:1:19","nodeType":"YulLiteral","src":"415518:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"415521:6:19","nodeType":"YulIdentifier","src":"415521:6:19"}],"functionName":{"name":"shl","nativeSrc":"415514:3:19","nodeType":"YulIdentifier","src":"415514:3:19"},"nativeSrc":"415514:14:19","nodeType":"YulFunctionCall","src":"415514:14:19"}],"functionName":{"name":"sub","nativeSrc":"415505:3:19","nodeType":"YulIdentifier","src":"415505:3:19"},"nativeSrc":"415505:24:19","nodeType":"YulFunctionCall","src":"415505:24:19"},"variables":[{"name":"shift","nativeSrc":"415496:5:19","nodeType":"YulTypedName","src":"415496:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"415557:3:19","nodeType":"YulIdentifier","src":"415557:3:19"},{"kind":"number","nativeSrc":"415562:4:19","nodeType":"YulLiteral","src":"415562:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"415553:3:19","nodeType":"YulIdentifier","src":"415553:3:19"},"nativeSrc":"415553:14:19","nodeType":"YulFunctionCall","src":"415553:14:19"},{"arguments":[{"name":"shift","nativeSrc":"415573:5:19","nodeType":"YulIdentifier","src":"415573:5:19"},{"arguments":[{"name":"shift","nativeSrc":"415584:5:19","nodeType":"YulIdentifier","src":"415584:5:19"},{"name":"w","nativeSrc":"415591:1:19","nodeType":"YulIdentifier","src":"415591:1:19"}],"functionName":{"name":"shr","nativeSrc":"415580:3:19","nodeType":"YulIdentifier","src":"415580:3:19"},"nativeSrc":"415580:13:19","nodeType":"YulFunctionCall","src":"415580:13:19"}],"functionName":{"name":"shl","nativeSrc":"415569:3:19","nodeType":"YulIdentifier","src":"415569:3:19"},"nativeSrc":"415569:25:19","nodeType":"YulFunctionCall","src":"415569:25:19"}],"functionName":{"name":"mstore","nativeSrc":"415546:6:19","nodeType":"YulIdentifier","src":"415546:6:19"},"nativeSrc":"415546:49:19","nodeType":"YulFunctionCall","src":"415546:49:19"},"nativeSrc":"415546:49:19","nodeType":"YulExpressionStatement","src":"415546:49:19"}]},"name":"writeString","nativeSrc":"415267:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"415288:3:19","nodeType":"YulTypedName","src":"415288:3:19","type":""},{"name":"w","nativeSrc":"415293:1:19","nodeType":"YulTypedName","src":"415293:1:19","type":""}],"src":"415267:342:19"},{"nativeSrc":"415622:17:19","nodeType":"YulAssignment","src":"415622:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"415634:4:19","nodeType":"YulLiteral","src":"415634:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"415628:5:19","nodeType":"YulIdentifier","src":"415628:5:19"},"nativeSrc":"415628:11:19","nodeType":"YulFunctionCall","src":"415628:11:19"},"variableNames":[{"name":"m0","nativeSrc":"415622:2:19","nodeType":"YulIdentifier","src":"415622:2:19"}]},{"nativeSrc":"415652:17:19","nodeType":"YulAssignment","src":"415652:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"415664:4:19","nodeType":"YulLiteral","src":"415664:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"415658:5:19","nodeType":"YulIdentifier","src":"415658:5:19"},"nativeSrc":"415658:11:19","nodeType":"YulFunctionCall","src":"415658:11:19"},"variableNames":[{"name":"m1","nativeSrc":"415652:2:19","nodeType":"YulIdentifier","src":"415652:2:19"}]},{"nativeSrc":"415682:17:19","nodeType":"YulAssignment","src":"415682:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"415694:4:19","nodeType":"YulLiteral","src":"415694:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"415688:5:19","nodeType":"YulIdentifier","src":"415688:5:19"},"nativeSrc":"415688:11:19","nodeType":"YulFunctionCall","src":"415688:11:19"},"variableNames":[{"name":"m2","nativeSrc":"415682:2:19","nodeType":"YulIdentifier","src":"415682:2:19"}]},{"nativeSrc":"415712:17:19","nodeType":"YulAssignment","src":"415712:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"415724:4:19","nodeType":"YulLiteral","src":"415724:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"415718:5:19","nodeType":"YulIdentifier","src":"415718:5:19"},"nativeSrc":"415718:11:19","nodeType":"YulFunctionCall","src":"415718:11:19"},"variableNames":[{"name":"m3","nativeSrc":"415712:2:19","nodeType":"YulIdentifier","src":"415712:2:19"}]},{"nativeSrc":"415742:17:19","nodeType":"YulAssignment","src":"415742:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"415754:4:19","nodeType":"YulLiteral","src":"415754:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"415748:5:19","nodeType":"YulIdentifier","src":"415748:5:19"},"nativeSrc":"415748:11:19","nodeType":"YulFunctionCall","src":"415748:11:19"},"variableNames":[{"name":"m4","nativeSrc":"415742:2:19","nodeType":"YulIdentifier","src":"415742:2:19"}]},{"nativeSrc":"415772:17:19","nodeType":"YulAssignment","src":"415772:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"415784:4:19","nodeType":"YulLiteral","src":"415784:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"415778:5:19","nodeType":"YulIdentifier","src":"415778:5:19"},"nativeSrc":"415778:11:19","nodeType":"YulFunctionCall","src":"415778:11:19"},"variableNames":[{"name":"m5","nativeSrc":"415772:2:19","nodeType":"YulIdentifier","src":"415772:2:19"}]},{"nativeSrc":"415802:17:19","nodeType":"YulAssignment","src":"415802:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"415814:4:19","nodeType":"YulLiteral","src":"415814:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"415808:5:19","nodeType":"YulIdentifier","src":"415808:5:19"},"nativeSrc":"415808:11:19","nodeType":"YulFunctionCall","src":"415808:11:19"},"variableNames":[{"name":"m6","nativeSrc":"415802:2:19","nodeType":"YulIdentifier","src":"415802:2:19"}]},{"nativeSrc":"415832:17:19","nodeType":"YulAssignment","src":"415832:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"415844:4:19","nodeType":"YulLiteral","src":"415844:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"415838:5:19","nodeType":"YulIdentifier","src":"415838:5:19"},"nativeSrc":"415838:11:19","nodeType":"YulFunctionCall","src":"415838:11:19"},"variableNames":[{"name":"m7","nativeSrc":"415832:2:19","nodeType":"YulIdentifier","src":"415832:2:19"}]},{"nativeSrc":"415862:18:19","nodeType":"YulAssignment","src":"415862:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"415874:5:19","nodeType":"YulLiteral","src":"415874:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"415868:5:19","nodeType":"YulIdentifier","src":"415868:5:19"},"nativeSrc":"415868:12:19","nodeType":"YulFunctionCall","src":"415868:12:19"},"variableNames":[{"name":"m8","nativeSrc":"415862:2:19","nodeType":"YulIdentifier","src":"415862:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"415962:4:19","nodeType":"YulLiteral","src":"415962:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"415968:10:19","nodeType":"YulLiteral","src":"415968:10:19","type":"","value":"0xc3a8a654"}],"functionName":{"name":"mstore","nativeSrc":"415955:6:19","nodeType":"YulIdentifier","src":"415955:6:19"},"nativeSrc":"415955:24:19","nodeType":"YulFunctionCall","src":"415955:24:19"},"nativeSrc":"415955:24:19","nodeType":"YulExpressionStatement","src":"415955:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"415999:4:19","nodeType":"YulLiteral","src":"415999:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"416005:4:19","nodeType":"YulLiteral","src":"416005:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"415992:6:19","nodeType":"YulIdentifier","src":"415992:6:19"},"nativeSrc":"415992:18:19","nodeType":"YulFunctionCall","src":"415992:18:19"},"nativeSrc":"415992:18:19","nodeType":"YulExpressionStatement","src":"415992:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416030:4:19","nodeType":"YulLiteral","src":"416030:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"416036:4:19","nodeType":"YulLiteral","src":"416036:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"416023:6:19","nodeType":"YulIdentifier","src":"416023:6:19"},"nativeSrc":"416023:18:19","nodeType":"YulFunctionCall","src":"416023:18:19"},"nativeSrc":"416023:18:19","nodeType":"YulExpressionStatement","src":"416023:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416061:4:19","nodeType":"YulLiteral","src":"416061:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"416067:2:19","nodeType":"YulIdentifier","src":"416067:2:19"}],"functionName":{"name":"mstore","nativeSrc":"416054:6:19","nodeType":"YulIdentifier","src":"416054:6:19"},"nativeSrc":"416054:16:19","nodeType":"YulFunctionCall","src":"416054:16:19"},"nativeSrc":"416054:16:19","nodeType":"YulExpressionStatement","src":"416054:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416090:4:19","nodeType":"YulLiteral","src":"416090:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"416096:2:19","nodeType":"YulIdentifier","src":"416096:2:19"}],"functionName":{"name":"mstore","nativeSrc":"416083:6:19","nodeType":"YulIdentifier","src":"416083:6:19"},"nativeSrc":"416083:16:19","nodeType":"YulFunctionCall","src":"416083:16:19"},"nativeSrc":"416083:16:19","nodeType":"YulExpressionStatement","src":"416083:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416124:4:19","nodeType":"YulLiteral","src":"416124:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"416130:2:19","nodeType":"YulIdentifier","src":"416130:2:19"}],"functionName":{"name":"writeString","nativeSrc":"416112:11:19","nodeType":"YulIdentifier","src":"416112:11:19"},"nativeSrc":"416112:21:19","nodeType":"YulFunctionCall","src":"416112:21:19"},"nativeSrc":"416112:21:19","nodeType":"YulExpressionStatement","src":"416112:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416158:4:19","nodeType":"YulLiteral","src":"416158:4:19","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"416164:2:19","nodeType":"YulIdentifier","src":"416164:2:19"}],"functionName":{"name":"writeString","nativeSrc":"416146:11:19","nodeType":"YulIdentifier","src":"416146:11:19"},"nativeSrc":"416146:21:19","nodeType":"YulFunctionCall","src":"416146:21:19"},"nativeSrc":"416146:21:19","nodeType":"YulExpressionStatement","src":"416146:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39012,"isOffset":false,"isSlot":false,"src":"415622:2:19","valueSize":1},{"declaration":39015,"isOffset":false,"isSlot":false,"src":"415652:2:19","valueSize":1},{"declaration":39018,"isOffset":false,"isSlot":false,"src":"415682:2:19","valueSize":1},{"declaration":39021,"isOffset":false,"isSlot":false,"src":"415712:2:19","valueSize":1},{"declaration":39024,"isOffset":false,"isSlot":false,"src":"415742:2:19","valueSize":1},{"declaration":39027,"isOffset":false,"isSlot":false,"src":"415772:2:19","valueSize":1},{"declaration":39030,"isOffset":false,"isSlot":false,"src":"415802:2:19","valueSize":1},{"declaration":39033,"isOffset":false,"isSlot":false,"src":"415832:2:19","valueSize":1},{"declaration":39036,"isOffset":false,"isSlot":false,"src":"415862:2:19","valueSize":1},{"declaration":39002,"isOffset":false,"isSlot":false,"src":"416130:2:19","valueSize":1},{"declaration":39004,"isOffset":false,"isSlot":false,"src":"416164:2:19","valueSize":1},{"declaration":39006,"isOffset":false,"isSlot":false,"src":"416067:2:19","valueSize":1},{"declaration":39008,"isOffset":false,"isSlot":false,"src":"416096:2:19","valueSize":1}],"id":39038,"nodeType":"InlineAssembly","src":"415244:933:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":39040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"416202:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":39041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"416208:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":39039,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"416186:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"416186:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39043,"nodeType":"ExpressionStatement","src":"416186:28:19"},{"AST":{"nativeSrc":"416276:273:19","nodeType":"YulBlock","src":"416276:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"416297:4:19","nodeType":"YulLiteral","src":"416297:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"416303:2:19","nodeType":"YulIdentifier","src":"416303:2:19"}],"functionName":{"name":"mstore","nativeSrc":"416290:6:19","nodeType":"YulIdentifier","src":"416290:6:19"},"nativeSrc":"416290:16:19","nodeType":"YulFunctionCall","src":"416290:16:19"},"nativeSrc":"416290:16:19","nodeType":"YulExpressionStatement","src":"416290:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416326:4:19","nodeType":"YulLiteral","src":"416326:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"416332:2:19","nodeType":"YulIdentifier","src":"416332:2:19"}],"functionName":{"name":"mstore","nativeSrc":"416319:6:19","nodeType":"YulIdentifier","src":"416319:6:19"},"nativeSrc":"416319:16:19","nodeType":"YulFunctionCall","src":"416319:16:19"},"nativeSrc":"416319:16:19","nodeType":"YulExpressionStatement","src":"416319:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416355:4:19","nodeType":"YulLiteral","src":"416355:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"416361:2:19","nodeType":"YulIdentifier","src":"416361:2:19"}],"functionName":{"name":"mstore","nativeSrc":"416348:6:19","nodeType":"YulIdentifier","src":"416348:6:19"},"nativeSrc":"416348:16:19","nodeType":"YulFunctionCall","src":"416348:16:19"},"nativeSrc":"416348:16:19","nodeType":"YulExpressionStatement","src":"416348:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416384:4:19","nodeType":"YulLiteral","src":"416384:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"416390:2:19","nodeType":"YulIdentifier","src":"416390:2:19"}],"functionName":{"name":"mstore","nativeSrc":"416377:6:19","nodeType":"YulIdentifier","src":"416377:6:19"},"nativeSrc":"416377:16:19","nodeType":"YulFunctionCall","src":"416377:16:19"},"nativeSrc":"416377:16:19","nodeType":"YulExpressionStatement","src":"416377:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416413:4:19","nodeType":"YulLiteral","src":"416413:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"416419:2:19","nodeType":"YulIdentifier","src":"416419:2:19"}],"functionName":{"name":"mstore","nativeSrc":"416406:6:19","nodeType":"YulIdentifier","src":"416406:6:19"},"nativeSrc":"416406:16:19","nodeType":"YulFunctionCall","src":"416406:16:19"},"nativeSrc":"416406:16:19","nodeType":"YulExpressionStatement","src":"416406:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416442:4:19","nodeType":"YulLiteral","src":"416442:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"416448:2:19","nodeType":"YulIdentifier","src":"416448:2:19"}],"functionName":{"name":"mstore","nativeSrc":"416435:6:19","nodeType":"YulIdentifier","src":"416435:6:19"},"nativeSrc":"416435:16:19","nodeType":"YulFunctionCall","src":"416435:16:19"},"nativeSrc":"416435:16:19","nodeType":"YulExpressionStatement","src":"416435:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416471:4:19","nodeType":"YulLiteral","src":"416471:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"416477:2:19","nodeType":"YulIdentifier","src":"416477:2:19"}],"functionName":{"name":"mstore","nativeSrc":"416464:6:19","nodeType":"YulIdentifier","src":"416464:6:19"},"nativeSrc":"416464:16:19","nodeType":"YulFunctionCall","src":"416464:16:19"},"nativeSrc":"416464:16:19","nodeType":"YulExpressionStatement","src":"416464:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416500:4:19","nodeType":"YulLiteral","src":"416500:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"416506:2:19","nodeType":"YulIdentifier","src":"416506:2:19"}],"functionName":{"name":"mstore","nativeSrc":"416493:6:19","nodeType":"YulIdentifier","src":"416493:6:19"},"nativeSrc":"416493:16:19","nodeType":"YulFunctionCall","src":"416493:16:19"},"nativeSrc":"416493:16:19","nodeType":"YulExpressionStatement","src":"416493:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"416529:5:19","nodeType":"YulLiteral","src":"416529:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"416536:2:19","nodeType":"YulIdentifier","src":"416536:2:19"}],"functionName":{"name":"mstore","nativeSrc":"416522:6:19","nodeType":"YulIdentifier","src":"416522:6:19"},"nativeSrc":"416522:17:19","nodeType":"YulFunctionCall","src":"416522:17:19"},"nativeSrc":"416522:17:19","nodeType":"YulExpressionStatement","src":"416522:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39012,"isOffset":false,"isSlot":false,"src":"416303:2:19","valueSize":1},{"declaration":39015,"isOffset":false,"isSlot":false,"src":"416332:2:19","valueSize":1},{"declaration":39018,"isOffset":false,"isSlot":false,"src":"416361:2:19","valueSize":1},{"declaration":39021,"isOffset":false,"isSlot":false,"src":"416390:2:19","valueSize":1},{"declaration":39024,"isOffset":false,"isSlot":false,"src":"416419:2:19","valueSize":1},{"declaration":39027,"isOffset":false,"isSlot":false,"src":"416448:2:19","valueSize":1},{"declaration":39030,"isOffset":false,"isSlot":false,"src":"416477:2:19","valueSize":1},{"declaration":39033,"isOffset":false,"isSlot":false,"src":"416506:2:19","valueSize":1},{"declaration":39036,"isOffset":false,"isSlot":false,"src":"416536:2:19","valueSize":1}],"id":39044,"nodeType":"InlineAssembly","src":"416267:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"414948:3:19","parameters":{"id":39009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39002,"mutability":"mutable","name":"p0","nameLocation":"414960:2:19","nodeType":"VariableDeclaration","scope":39046,"src":"414952:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39001,"name":"bytes32","nodeType":"ElementaryTypeName","src":"414952:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39004,"mutability":"mutable","name":"p1","nameLocation":"414972:2:19","nodeType":"VariableDeclaration","scope":39046,"src":"414964:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39003,"name":"bytes32","nodeType":"ElementaryTypeName","src":"414964:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39006,"mutability":"mutable","name":"p2","nameLocation":"414984:2:19","nodeType":"VariableDeclaration","scope":39046,"src":"414976:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39005,"name":"uint256","nodeType":"ElementaryTypeName","src":"414976:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39008,"mutability":"mutable","name":"p3","nameLocation":"414993:2:19","nodeType":"VariableDeclaration","scope":39046,"src":"414988:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39007,"name":"bool","nodeType":"ElementaryTypeName","src":"414988:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"414951:45:19"},"returnParameters":{"id":39010,"nodeType":"ParameterList","parameters":[],"src":"415011:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39092,"nodeType":"FunctionDefinition","src":"416561:1622:19","nodes":[],"body":{"id":39091,"nodeType":"Block","src":"416636:1547:19","nodes":[],"statements":[{"assignments":[39058],"declarations":[{"constant":false,"id":39058,"mutability":"mutable","name":"m0","nameLocation":"416654:2:19","nodeType":"VariableDeclaration","scope":39091,"src":"416646:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39057,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416646:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39059,"nodeType":"VariableDeclarationStatement","src":"416646:10:19"},{"assignments":[39061],"declarations":[{"constant":false,"id":39061,"mutability":"mutable","name":"m1","nameLocation":"416674:2:19","nodeType":"VariableDeclaration","scope":39091,"src":"416666:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39060,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416666:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39062,"nodeType":"VariableDeclarationStatement","src":"416666:10:19"},{"assignments":[39064],"declarations":[{"constant":false,"id":39064,"mutability":"mutable","name":"m2","nameLocation":"416694:2:19","nodeType":"VariableDeclaration","scope":39091,"src":"416686:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39063,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416686:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39065,"nodeType":"VariableDeclarationStatement","src":"416686:10:19"},{"assignments":[39067],"declarations":[{"constant":false,"id":39067,"mutability":"mutable","name":"m3","nameLocation":"416714:2:19","nodeType":"VariableDeclaration","scope":39091,"src":"416706:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39066,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416706:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39068,"nodeType":"VariableDeclarationStatement","src":"416706:10:19"},{"assignments":[39070],"declarations":[{"constant":false,"id":39070,"mutability":"mutable","name":"m4","nameLocation":"416734:2:19","nodeType":"VariableDeclaration","scope":39091,"src":"416726:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39069,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416726:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39071,"nodeType":"VariableDeclarationStatement","src":"416726:10:19"},{"assignments":[39073],"declarations":[{"constant":false,"id":39073,"mutability":"mutable","name":"m5","nameLocation":"416754:2:19","nodeType":"VariableDeclaration","scope":39091,"src":"416746:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39072,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416746:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39074,"nodeType":"VariableDeclarationStatement","src":"416746:10:19"},{"assignments":[39076],"declarations":[{"constant":false,"id":39076,"mutability":"mutable","name":"m6","nameLocation":"416774:2:19","nodeType":"VariableDeclaration","scope":39091,"src":"416766:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39075,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416766:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39077,"nodeType":"VariableDeclarationStatement","src":"416766:10:19"},{"assignments":[39079],"declarations":[{"constant":false,"id":39079,"mutability":"mutable","name":"m7","nameLocation":"416794:2:19","nodeType":"VariableDeclaration","scope":39091,"src":"416786:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39078,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416786:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39080,"nodeType":"VariableDeclarationStatement","src":"416786:10:19"},{"assignments":[39082],"declarations":[{"constant":false,"id":39082,"mutability":"mutable","name":"m8","nameLocation":"416814:2:19","nodeType":"VariableDeclaration","scope":39091,"src":"416806:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39081,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416806:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39083,"nodeType":"VariableDeclarationStatement","src":"416806:10:19"},{"AST":{"nativeSrc":"416878:927:19","nodeType":"YulBlock","src":"416878:927:19","statements":[{"body":{"nativeSrc":"416921:313:19","nodeType":"YulBlock","src":"416921:313:19","statements":[{"nativeSrc":"416939:15:19","nodeType":"YulVariableDeclaration","src":"416939:15:19","value":{"kind":"number","nativeSrc":"416953:1:19","nodeType":"YulLiteral","src":"416953:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"416943:6:19","nodeType":"YulTypedName","src":"416943:6:19","type":""}]},{"body":{"nativeSrc":"417024:40:19","nodeType":"YulBlock","src":"417024:40:19","statements":[{"body":{"nativeSrc":"417053:9:19","nodeType":"YulBlock","src":"417053:9:19","statements":[{"nativeSrc":"417055:5:19","nodeType":"YulBreak","src":"417055:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"417041:6:19","nodeType":"YulIdentifier","src":"417041:6:19"},{"name":"w","nativeSrc":"417049:1:19","nodeType":"YulIdentifier","src":"417049:1:19"}],"functionName":{"name":"byte","nativeSrc":"417036:4:19","nodeType":"YulIdentifier","src":"417036:4:19"},"nativeSrc":"417036:15:19","nodeType":"YulFunctionCall","src":"417036:15:19"}],"functionName":{"name":"iszero","nativeSrc":"417029:6:19","nodeType":"YulIdentifier","src":"417029:6:19"},"nativeSrc":"417029:23:19","nodeType":"YulFunctionCall","src":"417029:23:19"},"nativeSrc":"417026:36:19","nodeType":"YulIf","src":"417026:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"416981:6:19","nodeType":"YulIdentifier","src":"416981:6:19"},{"kind":"number","nativeSrc":"416989:4:19","nodeType":"YulLiteral","src":"416989:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"416978:2:19","nodeType":"YulIdentifier","src":"416978:2:19"},"nativeSrc":"416978:16:19","nodeType":"YulFunctionCall","src":"416978:16:19"},"nativeSrc":"416971:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"416995:28:19","nodeType":"YulBlock","src":"416995:28:19","statements":[{"nativeSrc":"416997:24:19","nodeType":"YulAssignment","src":"416997:24:19","value":{"arguments":[{"name":"length","nativeSrc":"417011:6:19","nodeType":"YulIdentifier","src":"417011:6:19"},{"kind":"number","nativeSrc":"417019:1:19","nodeType":"YulLiteral","src":"417019:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"417007:3:19","nodeType":"YulIdentifier","src":"417007:3:19"},"nativeSrc":"417007:14:19","nodeType":"YulFunctionCall","src":"417007:14:19"},"variableNames":[{"name":"length","nativeSrc":"416997:6:19","nodeType":"YulIdentifier","src":"416997:6:19"}]}]},"pre":{"nativeSrc":"416975:2:19","nodeType":"YulBlock","src":"416975:2:19","statements":[]},"src":"416971:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"417088:3:19","nodeType":"YulIdentifier","src":"417088:3:19"},{"name":"length","nativeSrc":"417093:6:19","nodeType":"YulIdentifier","src":"417093:6:19"}],"functionName":{"name":"mstore","nativeSrc":"417081:6:19","nodeType":"YulIdentifier","src":"417081:6:19"},"nativeSrc":"417081:19:19","nodeType":"YulFunctionCall","src":"417081:19:19"},"nativeSrc":"417081:19:19","nodeType":"YulExpressionStatement","src":"417081:19:19"},{"nativeSrc":"417117:37:19","nodeType":"YulVariableDeclaration","src":"417117:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"417134:3:19","nodeType":"YulLiteral","src":"417134:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"417143:1:19","nodeType":"YulLiteral","src":"417143:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"417146:6:19","nodeType":"YulIdentifier","src":"417146:6:19"}],"functionName":{"name":"shl","nativeSrc":"417139:3:19","nodeType":"YulIdentifier","src":"417139:3:19"},"nativeSrc":"417139:14:19","nodeType":"YulFunctionCall","src":"417139:14:19"}],"functionName":{"name":"sub","nativeSrc":"417130:3:19","nodeType":"YulIdentifier","src":"417130:3:19"},"nativeSrc":"417130:24:19","nodeType":"YulFunctionCall","src":"417130:24:19"},"variables":[{"name":"shift","nativeSrc":"417121:5:19","nodeType":"YulTypedName","src":"417121:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"417182:3:19","nodeType":"YulIdentifier","src":"417182:3:19"},{"kind":"number","nativeSrc":"417187:4:19","nodeType":"YulLiteral","src":"417187:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"417178:3:19","nodeType":"YulIdentifier","src":"417178:3:19"},"nativeSrc":"417178:14:19","nodeType":"YulFunctionCall","src":"417178:14:19"},{"arguments":[{"name":"shift","nativeSrc":"417198:5:19","nodeType":"YulIdentifier","src":"417198:5:19"},{"arguments":[{"name":"shift","nativeSrc":"417209:5:19","nodeType":"YulIdentifier","src":"417209:5:19"},{"name":"w","nativeSrc":"417216:1:19","nodeType":"YulIdentifier","src":"417216:1:19"}],"functionName":{"name":"shr","nativeSrc":"417205:3:19","nodeType":"YulIdentifier","src":"417205:3:19"},"nativeSrc":"417205:13:19","nodeType":"YulFunctionCall","src":"417205:13:19"}],"functionName":{"name":"shl","nativeSrc":"417194:3:19","nodeType":"YulIdentifier","src":"417194:3:19"},"nativeSrc":"417194:25:19","nodeType":"YulFunctionCall","src":"417194:25:19"}],"functionName":{"name":"mstore","nativeSrc":"417171:6:19","nodeType":"YulIdentifier","src":"417171:6:19"},"nativeSrc":"417171:49:19","nodeType":"YulFunctionCall","src":"417171:49:19"},"nativeSrc":"417171:49:19","nodeType":"YulExpressionStatement","src":"417171:49:19"}]},"name":"writeString","nativeSrc":"416892:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"416913:3:19","nodeType":"YulTypedName","src":"416913:3:19","type":""},{"name":"w","nativeSrc":"416918:1:19","nodeType":"YulTypedName","src":"416918:1:19","type":""}],"src":"416892:342:19"},{"nativeSrc":"417247:17:19","nodeType":"YulAssignment","src":"417247:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"417259:4:19","nodeType":"YulLiteral","src":"417259:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"417253:5:19","nodeType":"YulIdentifier","src":"417253:5:19"},"nativeSrc":"417253:11:19","nodeType":"YulFunctionCall","src":"417253:11:19"},"variableNames":[{"name":"m0","nativeSrc":"417247:2:19","nodeType":"YulIdentifier","src":"417247:2:19"}]},{"nativeSrc":"417277:17:19","nodeType":"YulAssignment","src":"417277:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"417289:4:19","nodeType":"YulLiteral","src":"417289:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"417283:5:19","nodeType":"YulIdentifier","src":"417283:5:19"},"nativeSrc":"417283:11:19","nodeType":"YulFunctionCall","src":"417283:11:19"},"variableNames":[{"name":"m1","nativeSrc":"417277:2:19","nodeType":"YulIdentifier","src":"417277:2:19"}]},{"nativeSrc":"417307:17:19","nodeType":"YulAssignment","src":"417307:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"417319:4:19","nodeType":"YulLiteral","src":"417319:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"417313:5:19","nodeType":"YulIdentifier","src":"417313:5:19"},"nativeSrc":"417313:11:19","nodeType":"YulFunctionCall","src":"417313:11:19"},"variableNames":[{"name":"m2","nativeSrc":"417307:2:19","nodeType":"YulIdentifier","src":"417307:2:19"}]},{"nativeSrc":"417337:17:19","nodeType":"YulAssignment","src":"417337:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"417349:4:19","nodeType":"YulLiteral","src":"417349:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"417343:5:19","nodeType":"YulIdentifier","src":"417343:5:19"},"nativeSrc":"417343:11:19","nodeType":"YulFunctionCall","src":"417343:11:19"},"variableNames":[{"name":"m3","nativeSrc":"417337:2:19","nodeType":"YulIdentifier","src":"417337:2:19"}]},{"nativeSrc":"417367:17:19","nodeType":"YulAssignment","src":"417367:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"417379:4:19","nodeType":"YulLiteral","src":"417379:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"417373:5:19","nodeType":"YulIdentifier","src":"417373:5:19"},"nativeSrc":"417373:11:19","nodeType":"YulFunctionCall","src":"417373:11:19"},"variableNames":[{"name":"m4","nativeSrc":"417367:2:19","nodeType":"YulIdentifier","src":"417367:2:19"}]},{"nativeSrc":"417397:17:19","nodeType":"YulAssignment","src":"417397:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"417409:4:19","nodeType":"YulLiteral","src":"417409:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"417403:5:19","nodeType":"YulIdentifier","src":"417403:5:19"},"nativeSrc":"417403:11:19","nodeType":"YulFunctionCall","src":"417403:11:19"},"variableNames":[{"name":"m5","nativeSrc":"417397:2:19","nodeType":"YulIdentifier","src":"417397:2:19"}]},{"nativeSrc":"417427:17:19","nodeType":"YulAssignment","src":"417427:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"417439:4:19","nodeType":"YulLiteral","src":"417439:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"417433:5:19","nodeType":"YulIdentifier","src":"417433:5:19"},"nativeSrc":"417433:11:19","nodeType":"YulFunctionCall","src":"417433:11:19"},"variableNames":[{"name":"m6","nativeSrc":"417427:2:19","nodeType":"YulIdentifier","src":"417427:2:19"}]},{"nativeSrc":"417457:17:19","nodeType":"YulAssignment","src":"417457:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"417469:4:19","nodeType":"YulLiteral","src":"417469:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"417463:5:19","nodeType":"YulIdentifier","src":"417463:5:19"},"nativeSrc":"417463:11:19","nodeType":"YulFunctionCall","src":"417463:11:19"},"variableNames":[{"name":"m7","nativeSrc":"417457:2:19","nodeType":"YulIdentifier","src":"417457:2:19"}]},{"nativeSrc":"417487:18:19","nodeType":"YulAssignment","src":"417487:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"417499:5:19","nodeType":"YulLiteral","src":"417499:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"417493:5:19","nodeType":"YulIdentifier","src":"417493:5:19"},"nativeSrc":"417493:12:19","nodeType":"YulFunctionCall","src":"417493:12:19"},"variableNames":[{"name":"m8","nativeSrc":"417487:2:19","nodeType":"YulIdentifier","src":"417487:2:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417590:4:19","nodeType":"YulLiteral","src":"417590:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"417596:10:19","nodeType":"YulLiteral","src":"417596:10:19","type":"","value":"0xf45d7d2c"}],"functionName":{"name":"mstore","nativeSrc":"417583:6:19","nodeType":"YulIdentifier","src":"417583:6:19"},"nativeSrc":"417583:24:19","nodeType":"YulFunctionCall","src":"417583:24:19"},"nativeSrc":"417583:24:19","nodeType":"YulExpressionStatement","src":"417583:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417627:4:19","nodeType":"YulLiteral","src":"417627:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"417633:4:19","nodeType":"YulLiteral","src":"417633:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"417620:6:19","nodeType":"YulIdentifier","src":"417620:6:19"},"nativeSrc":"417620:18:19","nodeType":"YulFunctionCall","src":"417620:18:19"},"nativeSrc":"417620:18:19","nodeType":"YulExpressionStatement","src":"417620:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417658:4:19","nodeType":"YulLiteral","src":"417658:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"417664:4:19","nodeType":"YulLiteral","src":"417664:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"417651:6:19","nodeType":"YulIdentifier","src":"417651:6:19"},"nativeSrc":"417651:18:19","nodeType":"YulFunctionCall","src":"417651:18:19"},"nativeSrc":"417651:18:19","nodeType":"YulExpressionStatement","src":"417651:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417689:4:19","nodeType":"YulLiteral","src":"417689:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"417695:2:19","nodeType":"YulIdentifier","src":"417695:2:19"}],"functionName":{"name":"mstore","nativeSrc":"417682:6:19","nodeType":"YulIdentifier","src":"417682:6:19"},"nativeSrc":"417682:16:19","nodeType":"YulFunctionCall","src":"417682:16:19"},"nativeSrc":"417682:16:19","nodeType":"YulExpressionStatement","src":"417682:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417718:4:19","nodeType":"YulLiteral","src":"417718:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"417724:2:19","nodeType":"YulIdentifier","src":"417724:2:19"}],"functionName":{"name":"mstore","nativeSrc":"417711:6:19","nodeType":"YulIdentifier","src":"417711:6:19"},"nativeSrc":"417711:16:19","nodeType":"YulFunctionCall","src":"417711:16:19"},"nativeSrc":"417711:16:19","nodeType":"YulExpressionStatement","src":"417711:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417752:4:19","nodeType":"YulLiteral","src":"417752:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"417758:2:19","nodeType":"YulIdentifier","src":"417758:2:19"}],"functionName":{"name":"writeString","nativeSrc":"417740:11:19","nodeType":"YulIdentifier","src":"417740:11:19"},"nativeSrc":"417740:21:19","nodeType":"YulFunctionCall","src":"417740:21:19"},"nativeSrc":"417740:21:19","nodeType":"YulExpressionStatement","src":"417740:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417786:4:19","nodeType":"YulLiteral","src":"417786:4:19","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"417792:2:19","nodeType":"YulIdentifier","src":"417792:2:19"}],"functionName":{"name":"writeString","nativeSrc":"417774:11:19","nodeType":"YulIdentifier","src":"417774:11:19"},"nativeSrc":"417774:21:19","nodeType":"YulFunctionCall","src":"417774:21:19"},"nativeSrc":"417774:21:19","nodeType":"YulExpressionStatement","src":"417774:21:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39058,"isOffset":false,"isSlot":false,"src":"417247:2:19","valueSize":1},{"declaration":39061,"isOffset":false,"isSlot":false,"src":"417277:2:19","valueSize":1},{"declaration":39064,"isOffset":false,"isSlot":false,"src":"417307:2:19","valueSize":1},{"declaration":39067,"isOffset":false,"isSlot":false,"src":"417337:2:19","valueSize":1},{"declaration":39070,"isOffset":false,"isSlot":false,"src":"417367:2:19","valueSize":1},{"declaration":39073,"isOffset":false,"isSlot":false,"src":"417397:2:19","valueSize":1},{"declaration":39076,"isOffset":false,"isSlot":false,"src":"417427:2:19","valueSize":1},{"declaration":39079,"isOffset":false,"isSlot":false,"src":"417457:2:19","valueSize":1},{"declaration":39082,"isOffset":false,"isSlot":false,"src":"417487:2:19","valueSize":1},{"declaration":39048,"isOffset":false,"isSlot":false,"src":"417758:2:19","valueSize":1},{"declaration":39050,"isOffset":false,"isSlot":false,"src":"417792:2:19","valueSize":1},{"declaration":39052,"isOffset":false,"isSlot":false,"src":"417695:2:19","valueSize":1},{"declaration":39054,"isOffset":false,"isSlot":false,"src":"417724:2:19","valueSize":1}],"id":39084,"nodeType":"InlineAssembly","src":"416869:936:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":39086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"417830:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313034","id":39087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"417836:5:19","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"0x104"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"}],"id":39085,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"417814:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"417814:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39089,"nodeType":"ExpressionStatement","src":"417814:28:19"},{"AST":{"nativeSrc":"417904:273:19","nodeType":"YulBlock","src":"417904:273:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"417925:4:19","nodeType":"YulLiteral","src":"417925:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"417931:2:19","nodeType":"YulIdentifier","src":"417931:2:19"}],"functionName":{"name":"mstore","nativeSrc":"417918:6:19","nodeType":"YulIdentifier","src":"417918:6:19"},"nativeSrc":"417918:16:19","nodeType":"YulFunctionCall","src":"417918:16:19"},"nativeSrc":"417918:16:19","nodeType":"YulExpressionStatement","src":"417918:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417954:4:19","nodeType":"YulLiteral","src":"417954:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"417960:2:19","nodeType":"YulIdentifier","src":"417960:2:19"}],"functionName":{"name":"mstore","nativeSrc":"417947:6:19","nodeType":"YulIdentifier","src":"417947:6:19"},"nativeSrc":"417947:16:19","nodeType":"YulFunctionCall","src":"417947:16:19"},"nativeSrc":"417947:16:19","nodeType":"YulExpressionStatement","src":"417947:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"417983:4:19","nodeType":"YulLiteral","src":"417983:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"417989:2:19","nodeType":"YulIdentifier","src":"417989:2:19"}],"functionName":{"name":"mstore","nativeSrc":"417976:6:19","nodeType":"YulIdentifier","src":"417976:6:19"},"nativeSrc":"417976:16:19","nodeType":"YulFunctionCall","src":"417976:16:19"},"nativeSrc":"417976:16:19","nodeType":"YulExpressionStatement","src":"417976:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"418012:4:19","nodeType":"YulLiteral","src":"418012:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"418018:2:19","nodeType":"YulIdentifier","src":"418018:2:19"}],"functionName":{"name":"mstore","nativeSrc":"418005:6:19","nodeType":"YulIdentifier","src":"418005:6:19"},"nativeSrc":"418005:16:19","nodeType":"YulFunctionCall","src":"418005:16:19"},"nativeSrc":"418005:16:19","nodeType":"YulExpressionStatement","src":"418005:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"418041:4:19","nodeType":"YulLiteral","src":"418041:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"418047:2:19","nodeType":"YulIdentifier","src":"418047:2:19"}],"functionName":{"name":"mstore","nativeSrc":"418034:6:19","nodeType":"YulIdentifier","src":"418034:6:19"},"nativeSrc":"418034:16:19","nodeType":"YulFunctionCall","src":"418034:16:19"},"nativeSrc":"418034:16:19","nodeType":"YulExpressionStatement","src":"418034:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"418070:4:19","nodeType":"YulLiteral","src":"418070:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"418076:2:19","nodeType":"YulIdentifier","src":"418076:2:19"}],"functionName":{"name":"mstore","nativeSrc":"418063:6:19","nodeType":"YulIdentifier","src":"418063:6:19"},"nativeSrc":"418063:16:19","nodeType":"YulFunctionCall","src":"418063:16:19"},"nativeSrc":"418063:16:19","nodeType":"YulExpressionStatement","src":"418063:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"418099:4:19","nodeType":"YulLiteral","src":"418099:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"418105:2:19","nodeType":"YulIdentifier","src":"418105:2:19"}],"functionName":{"name":"mstore","nativeSrc":"418092:6:19","nodeType":"YulIdentifier","src":"418092:6:19"},"nativeSrc":"418092:16:19","nodeType":"YulFunctionCall","src":"418092:16:19"},"nativeSrc":"418092:16:19","nodeType":"YulExpressionStatement","src":"418092:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"418128:4:19","nodeType":"YulLiteral","src":"418128:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"418134:2:19","nodeType":"YulIdentifier","src":"418134:2:19"}],"functionName":{"name":"mstore","nativeSrc":"418121:6:19","nodeType":"YulIdentifier","src":"418121:6:19"},"nativeSrc":"418121:16:19","nodeType":"YulFunctionCall","src":"418121:16:19"},"nativeSrc":"418121:16:19","nodeType":"YulExpressionStatement","src":"418121:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"418157:5:19","nodeType":"YulLiteral","src":"418157:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"418164:2:19","nodeType":"YulIdentifier","src":"418164:2:19"}],"functionName":{"name":"mstore","nativeSrc":"418150:6:19","nodeType":"YulIdentifier","src":"418150:6:19"},"nativeSrc":"418150:17:19","nodeType":"YulFunctionCall","src":"418150:17:19"},"nativeSrc":"418150:17:19","nodeType":"YulExpressionStatement","src":"418150:17:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39058,"isOffset":false,"isSlot":false,"src":"417931:2:19","valueSize":1},{"declaration":39061,"isOffset":false,"isSlot":false,"src":"417960:2:19","valueSize":1},{"declaration":39064,"isOffset":false,"isSlot":false,"src":"417989:2:19","valueSize":1},{"declaration":39067,"isOffset":false,"isSlot":false,"src":"418018:2:19","valueSize":1},{"declaration":39070,"isOffset":false,"isSlot":false,"src":"418047:2:19","valueSize":1},{"declaration":39073,"isOffset":false,"isSlot":false,"src":"418076:2:19","valueSize":1},{"declaration":39076,"isOffset":false,"isSlot":false,"src":"418105:2:19","valueSize":1},{"declaration":39079,"isOffset":false,"isSlot":false,"src":"418134:2:19","valueSize":1},{"declaration":39082,"isOffset":false,"isSlot":false,"src":"418164:2:19","valueSize":1}],"id":39090,"nodeType":"InlineAssembly","src":"417895:282:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"416570:3:19","parameters":{"id":39055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39048,"mutability":"mutable","name":"p0","nameLocation":"416582:2:19","nodeType":"VariableDeclaration","scope":39092,"src":"416574:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39047,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416574:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39050,"mutability":"mutable","name":"p1","nameLocation":"416594:2:19","nodeType":"VariableDeclaration","scope":39092,"src":"416586:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39049,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416586:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39052,"mutability":"mutable","name":"p2","nameLocation":"416606:2:19","nodeType":"VariableDeclaration","scope":39092,"src":"416598:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39051,"name":"uint256","nodeType":"ElementaryTypeName","src":"416598:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39054,"mutability":"mutable","name":"p3","nameLocation":"416618:2:19","nodeType":"VariableDeclaration","scope":39092,"src":"416610:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39053,"name":"uint256","nodeType":"ElementaryTypeName","src":"416610:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"416573:48:19"},"returnParameters":{"id":39056,"nodeType":"ParameterList","parameters":[],"src":"416636:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39144,"nodeType":"FunctionDefinition","src":"418189:1824:19","nodes":[],"body":{"id":39143,"nodeType":"Block","src":"418264:1749:19","nodes":[],"statements":[{"assignments":[39104],"declarations":[{"constant":false,"id":39104,"mutability":"mutable","name":"m0","nameLocation":"418282:2:19","nodeType":"VariableDeclaration","scope":39143,"src":"418274:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39103,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418274:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39105,"nodeType":"VariableDeclarationStatement","src":"418274:10:19"},{"assignments":[39107],"declarations":[{"constant":false,"id":39107,"mutability":"mutable","name":"m1","nameLocation":"418302:2:19","nodeType":"VariableDeclaration","scope":39143,"src":"418294:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39106,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418294:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39108,"nodeType":"VariableDeclarationStatement","src":"418294:10:19"},{"assignments":[39110],"declarations":[{"constant":false,"id":39110,"mutability":"mutable","name":"m2","nameLocation":"418322:2:19","nodeType":"VariableDeclaration","scope":39143,"src":"418314:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39109,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418314:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39111,"nodeType":"VariableDeclarationStatement","src":"418314:10:19"},{"assignments":[39113],"declarations":[{"constant":false,"id":39113,"mutability":"mutable","name":"m3","nameLocation":"418342:2:19","nodeType":"VariableDeclaration","scope":39143,"src":"418334:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39112,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418334:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39114,"nodeType":"VariableDeclarationStatement","src":"418334:10:19"},{"assignments":[39116],"declarations":[{"constant":false,"id":39116,"mutability":"mutable","name":"m4","nameLocation":"418362:2:19","nodeType":"VariableDeclaration","scope":39143,"src":"418354:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39115,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418354:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39117,"nodeType":"VariableDeclarationStatement","src":"418354:10:19"},{"assignments":[39119],"declarations":[{"constant":false,"id":39119,"mutability":"mutable","name":"m5","nameLocation":"418382:2:19","nodeType":"VariableDeclaration","scope":39143,"src":"418374:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39118,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418374:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39120,"nodeType":"VariableDeclarationStatement","src":"418374:10:19"},{"assignments":[39122],"declarations":[{"constant":false,"id":39122,"mutability":"mutable","name":"m6","nameLocation":"418402:2:19","nodeType":"VariableDeclaration","scope":39143,"src":"418394:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39121,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418394:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39123,"nodeType":"VariableDeclarationStatement","src":"418394:10:19"},{"assignments":[39125],"declarations":[{"constant":false,"id":39125,"mutability":"mutable","name":"m7","nameLocation":"418422:2:19","nodeType":"VariableDeclaration","scope":39143,"src":"418414:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39124,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418414:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39126,"nodeType":"VariableDeclarationStatement","src":"418414:10:19"},{"assignments":[39128],"declarations":[{"constant":false,"id":39128,"mutability":"mutable","name":"m8","nameLocation":"418442:2:19","nodeType":"VariableDeclaration","scope":39143,"src":"418434:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39127,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418434:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39129,"nodeType":"VariableDeclarationStatement","src":"418434:10:19"},{"assignments":[39131],"declarations":[{"constant":false,"id":39131,"mutability":"mutable","name":"m9","nameLocation":"418462:2:19","nodeType":"VariableDeclaration","scope":39143,"src":"418454:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39130,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418454:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39132,"nodeType":"VariableDeclarationStatement","src":"418454:10:19"},{"assignments":[39134],"declarations":[{"constant":false,"id":39134,"mutability":"mutable","name":"m10","nameLocation":"418482:3:19","nodeType":"VariableDeclaration","scope":39143,"src":"418474:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39133,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418474:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39135,"nodeType":"VariableDeclarationStatement","src":"418474:11:19"},{"AST":{"nativeSrc":"418547:1027:19","nodeType":"YulBlock","src":"418547:1027:19","statements":[{"body":{"nativeSrc":"418590:313:19","nodeType":"YulBlock","src":"418590:313:19","statements":[{"nativeSrc":"418608:15:19","nodeType":"YulVariableDeclaration","src":"418608:15:19","value":{"kind":"number","nativeSrc":"418622:1:19","nodeType":"YulLiteral","src":"418622:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"418612:6:19","nodeType":"YulTypedName","src":"418612:6:19","type":""}]},{"body":{"nativeSrc":"418693:40:19","nodeType":"YulBlock","src":"418693:40:19","statements":[{"body":{"nativeSrc":"418722:9:19","nodeType":"YulBlock","src":"418722:9:19","statements":[{"nativeSrc":"418724:5:19","nodeType":"YulBreak","src":"418724:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"418710:6:19","nodeType":"YulIdentifier","src":"418710:6:19"},{"name":"w","nativeSrc":"418718:1:19","nodeType":"YulIdentifier","src":"418718:1:19"}],"functionName":{"name":"byte","nativeSrc":"418705:4:19","nodeType":"YulIdentifier","src":"418705:4:19"},"nativeSrc":"418705:15:19","nodeType":"YulFunctionCall","src":"418705:15:19"}],"functionName":{"name":"iszero","nativeSrc":"418698:6:19","nodeType":"YulIdentifier","src":"418698:6:19"},"nativeSrc":"418698:23:19","nodeType":"YulFunctionCall","src":"418698:23:19"},"nativeSrc":"418695:36:19","nodeType":"YulIf","src":"418695:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"418650:6:19","nodeType":"YulIdentifier","src":"418650:6:19"},{"kind":"number","nativeSrc":"418658:4:19","nodeType":"YulLiteral","src":"418658:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"418647:2:19","nodeType":"YulIdentifier","src":"418647:2:19"},"nativeSrc":"418647:16:19","nodeType":"YulFunctionCall","src":"418647:16:19"},"nativeSrc":"418640:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"418664:28:19","nodeType":"YulBlock","src":"418664:28:19","statements":[{"nativeSrc":"418666:24:19","nodeType":"YulAssignment","src":"418666:24:19","value":{"arguments":[{"name":"length","nativeSrc":"418680:6:19","nodeType":"YulIdentifier","src":"418680:6:19"},{"kind":"number","nativeSrc":"418688:1:19","nodeType":"YulLiteral","src":"418688:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"418676:3:19","nodeType":"YulIdentifier","src":"418676:3:19"},"nativeSrc":"418676:14:19","nodeType":"YulFunctionCall","src":"418676:14:19"},"variableNames":[{"name":"length","nativeSrc":"418666:6:19","nodeType":"YulIdentifier","src":"418666:6:19"}]}]},"pre":{"nativeSrc":"418644:2:19","nodeType":"YulBlock","src":"418644:2:19","statements":[]},"src":"418640:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"418757:3:19","nodeType":"YulIdentifier","src":"418757:3:19"},{"name":"length","nativeSrc":"418762:6:19","nodeType":"YulIdentifier","src":"418762:6:19"}],"functionName":{"name":"mstore","nativeSrc":"418750:6:19","nodeType":"YulIdentifier","src":"418750:6:19"},"nativeSrc":"418750:19:19","nodeType":"YulFunctionCall","src":"418750:19:19"},"nativeSrc":"418750:19:19","nodeType":"YulExpressionStatement","src":"418750:19:19"},{"nativeSrc":"418786:37:19","nodeType":"YulVariableDeclaration","src":"418786:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"418803:3:19","nodeType":"YulLiteral","src":"418803:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"418812:1:19","nodeType":"YulLiteral","src":"418812:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"418815:6:19","nodeType":"YulIdentifier","src":"418815:6:19"}],"functionName":{"name":"shl","nativeSrc":"418808:3:19","nodeType":"YulIdentifier","src":"418808:3:19"},"nativeSrc":"418808:14:19","nodeType":"YulFunctionCall","src":"418808:14:19"}],"functionName":{"name":"sub","nativeSrc":"418799:3:19","nodeType":"YulIdentifier","src":"418799:3:19"},"nativeSrc":"418799:24:19","nodeType":"YulFunctionCall","src":"418799:24:19"},"variables":[{"name":"shift","nativeSrc":"418790:5:19","nodeType":"YulTypedName","src":"418790:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"418851:3:19","nodeType":"YulIdentifier","src":"418851:3:19"},{"kind":"number","nativeSrc":"418856:4:19","nodeType":"YulLiteral","src":"418856:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"418847:3:19","nodeType":"YulIdentifier","src":"418847:3:19"},"nativeSrc":"418847:14:19","nodeType":"YulFunctionCall","src":"418847:14:19"},{"arguments":[{"name":"shift","nativeSrc":"418867:5:19","nodeType":"YulIdentifier","src":"418867:5:19"},{"arguments":[{"name":"shift","nativeSrc":"418878:5:19","nodeType":"YulIdentifier","src":"418878:5:19"},{"name":"w","nativeSrc":"418885:1:19","nodeType":"YulIdentifier","src":"418885:1:19"}],"functionName":{"name":"shr","nativeSrc":"418874:3:19","nodeType":"YulIdentifier","src":"418874:3:19"},"nativeSrc":"418874:13:19","nodeType":"YulFunctionCall","src":"418874:13:19"}],"functionName":{"name":"shl","nativeSrc":"418863:3:19","nodeType":"YulIdentifier","src":"418863:3:19"},"nativeSrc":"418863:25:19","nodeType":"YulFunctionCall","src":"418863:25:19"}],"functionName":{"name":"mstore","nativeSrc":"418840:6:19","nodeType":"YulIdentifier","src":"418840:6:19"},"nativeSrc":"418840:49:19","nodeType":"YulFunctionCall","src":"418840:49:19"},"nativeSrc":"418840:49:19","nodeType":"YulExpressionStatement","src":"418840:49:19"}]},"name":"writeString","nativeSrc":"418561:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"418582:3:19","nodeType":"YulTypedName","src":"418582:3:19","type":""},{"name":"w","nativeSrc":"418587:1:19","nodeType":"YulTypedName","src":"418587:1:19","type":""}],"src":"418561:342:19"},{"nativeSrc":"418916:17:19","nodeType":"YulAssignment","src":"418916:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"418928:4:19","nodeType":"YulLiteral","src":"418928:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"418922:5:19","nodeType":"YulIdentifier","src":"418922:5:19"},"nativeSrc":"418922:11:19","nodeType":"YulFunctionCall","src":"418922:11:19"},"variableNames":[{"name":"m0","nativeSrc":"418916:2:19","nodeType":"YulIdentifier","src":"418916:2:19"}]},{"nativeSrc":"418946:17:19","nodeType":"YulAssignment","src":"418946:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"418958:4:19","nodeType":"YulLiteral","src":"418958:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"418952:5:19","nodeType":"YulIdentifier","src":"418952:5:19"},"nativeSrc":"418952:11:19","nodeType":"YulFunctionCall","src":"418952:11:19"},"variableNames":[{"name":"m1","nativeSrc":"418946:2:19","nodeType":"YulIdentifier","src":"418946:2:19"}]},{"nativeSrc":"418976:17:19","nodeType":"YulAssignment","src":"418976:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"418988:4:19","nodeType":"YulLiteral","src":"418988:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"418982:5:19","nodeType":"YulIdentifier","src":"418982:5:19"},"nativeSrc":"418982:11:19","nodeType":"YulFunctionCall","src":"418982:11:19"},"variableNames":[{"name":"m2","nativeSrc":"418976:2:19","nodeType":"YulIdentifier","src":"418976:2:19"}]},{"nativeSrc":"419006:17:19","nodeType":"YulAssignment","src":"419006:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"419018:4:19","nodeType":"YulLiteral","src":"419018:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"419012:5:19","nodeType":"YulIdentifier","src":"419012:5:19"},"nativeSrc":"419012:11:19","nodeType":"YulFunctionCall","src":"419012:11:19"},"variableNames":[{"name":"m3","nativeSrc":"419006:2:19","nodeType":"YulIdentifier","src":"419006:2:19"}]},{"nativeSrc":"419036:17:19","nodeType":"YulAssignment","src":"419036:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"419048:4:19","nodeType":"YulLiteral","src":"419048:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"419042:5:19","nodeType":"YulIdentifier","src":"419042:5:19"},"nativeSrc":"419042:11:19","nodeType":"YulFunctionCall","src":"419042:11:19"},"variableNames":[{"name":"m4","nativeSrc":"419036:2:19","nodeType":"YulIdentifier","src":"419036:2:19"}]},{"nativeSrc":"419066:17:19","nodeType":"YulAssignment","src":"419066:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"419078:4:19","nodeType":"YulLiteral","src":"419078:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"419072:5:19","nodeType":"YulIdentifier","src":"419072:5:19"},"nativeSrc":"419072:11:19","nodeType":"YulFunctionCall","src":"419072:11:19"},"variableNames":[{"name":"m5","nativeSrc":"419066:2:19","nodeType":"YulIdentifier","src":"419066:2:19"}]},{"nativeSrc":"419096:17:19","nodeType":"YulAssignment","src":"419096:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"419108:4:19","nodeType":"YulLiteral","src":"419108:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"419102:5:19","nodeType":"YulIdentifier","src":"419102:5:19"},"nativeSrc":"419102:11:19","nodeType":"YulFunctionCall","src":"419102:11:19"},"variableNames":[{"name":"m6","nativeSrc":"419096:2:19","nodeType":"YulIdentifier","src":"419096:2:19"}]},{"nativeSrc":"419126:17:19","nodeType":"YulAssignment","src":"419126:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"419138:4:19","nodeType":"YulLiteral","src":"419138:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"419132:5:19","nodeType":"YulIdentifier","src":"419132:5:19"},"nativeSrc":"419132:11:19","nodeType":"YulFunctionCall","src":"419132:11:19"},"variableNames":[{"name":"m7","nativeSrc":"419126:2:19","nodeType":"YulIdentifier","src":"419126:2:19"}]},{"nativeSrc":"419156:18:19","nodeType":"YulAssignment","src":"419156:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"419168:5:19","nodeType":"YulLiteral","src":"419168:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"419162:5:19","nodeType":"YulIdentifier","src":"419162:5:19"},"nativeSrc":"419162:12:19","nodeType":"YulFunctionCall","src":"419162:12:19"},"variableNames":[{"name":"m8","nativeSrc":"419156:2:19","nodeType":"YulIdentifier","src":"419156:2:19"}]},{"nativeSrc":"419187:18:19","nodeType":"YulAssignment","src":"419187:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"419199:5:19","nodeType":"YulLiteral","src":"419199:5:19","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"419193:5:19","nodeType":"YulIdentifier","src":"419193:5:19"},"nativeSrc":"419193:12:19","nodeType":"YulFunctionCall","src":"419193:12:19"},"variableNames":[{"name":"m9","nativeSrc":"419187:2:19","nodeType":"YulIdentifier","src":"419187:2:19"}]},{"nativeSrc":"419218:19:19","nodeType":"YulAssignment","src":"419218:19:19","value":{"arguments":[{"kind":"number","nativeSrc":"419231:5:19","nodeType":"YulLiteral","src":"419231:5:19","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"419225:5:19","nodeType":"YulIdentifier","src":"419225:5:19"},"nativeSrc":"419225:12:19","nodeType":"YulFunctionCall","src":"419225:12:19"},"variableNames":[{"name":"m10","nativeSrc":"419218:3:19","nodeType":"YulIdentifier","src":"419218:3:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419321:4:19","nodeType":"YulLiteral","src":"419321:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"419327:10:19","nodeType":"YulLiteral","src":"419327:10:19","type":"","value":"0x5d1a971a"}],"functionName":{"name":"mstore","nativeSrc":"419314:6:19","nodeType":"YulIdentifier","src":"419314:6:19"},"nativeSrc":"419314:24:19","nodeType":"YulFunctionCall","src":"419314:24:19"},"nativeSrc":"419314:24:19","nodeType":"YulExpressionStatement","src":"419314:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419358:4:19","nodeType":"YulLiteral","src":"419358:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"419364:4:19","nodeType":"YulLiteral","src":"419364:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"419351:6:19","nodeType":"YulIdentifier","src":"419351:6:19"},"nativeSrc":"419351:18:19","nodeType":"YulFunctionCall","src":"419351:18:19"},"nativeSrc":"419351:18:19","nodeType":"YulExpressionStatement","src":"419351:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419389:4:19","nodeType":"YulLiteral","src":"419389:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"419395:4:19","nodeType":"YulLiteral","src":"419395:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"419382:6:19","nodeType":"YulIdentifier","src":"419382:6:19"},"nativeSrc":"419382:18:19","nodeType":"YulFunctionCall","src":"419382:18:19"},"nativeSrc":"419382:18:19","nodeType":"YulExpressionStatement","src":"419382:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419420:4:19","nodeType":"YulLiteral","src":"419420:4:19","type":"","value":"0x60"},{"name":"p2","nativeSrc":"419426:2:19","nodeType":"YulIdentifier","src":"419426:2:19"}],"functionName":{"name":"mstore","nativeSrc":"419413:6:19","nodeType":"YulIdentifier","src":"419413:6:19"},"nativeSrc":"419413:16:19","nodeType":"YulFunctionCall","src":"419413:16:19"},"nativeSrc":"419413:16:19","nodeType":"YulExpressionStatement","src":"419413:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419449:4:19","nodeType":"YulLiteral","src":"419449:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"419455:5:19","nodeType":"YulLiteral","src":"419455:5:19","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"419442:6:19","nodeType":"YulIdentifier","src":"419442:6:19"},"nativeSrc":"419442:19:19","nodeType":"YulFunctionCall","src":"419442:19:19"},"nativeSrc":"419442:19:19","nodeType":"YulExpressionStatement","src":"419442:19:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419486:4:19","nodeType":"YulLiteral","src":"419486:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"419492:2:19","nodeType":"YulIdentifier","src":"419492:2:19"}],"functionName":{"name":"writeString","nativeSrc":"419474:11:19","nodeType":"YulIdentifier","src":"419474:11:19"},"nativeSrc":"419474:21:19","nodeType":"YulFunctionCall","src":"419474:21:19"},"nativeSrc":"419474:21:19","nodeType":"YulExpressionStatement","src":"419474:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419520:4:19","nodeType":"YulLiteral","src":"419520:4:19","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"419526:2:19","nodeType":"YulIdentifier","src":"419526:2:19"}],"functionName":{"name":"writeString","nativeSrc":"419508:11:19","nodeType":"YulIdentifier","src":"419508:11:19"},"nativeSrc":"419508:21:19","nodeType":"YulFunctionCall","src":"419508:21:19"},"nativeSrc":"419508:21:19","nodeType":"YulExpressionStatement","src":"419508:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419554:5:19","nodeType":"YulLiteral","src":"419554:5:19","type":"","value":"0x120"},{"name":"p3","nativeSrc":"419561:2:19","nodeType":"YulIdentifier","src":"419561:2:19"}],"functionName":{"name":"writeString","nativeSrc":"419542:11:19","nodeType":"YulIdentifier","src":"419542:11:19"},"nativeSrc":"419542:22:19","nodeType":"YulFunctionCall","src":"419542:22:19"},"nativeSrc":"419542:22:19","nodeType":"YulExpressionStatement","src":"419542:22:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39104,"isOffset":false,"isSlot":false,"src":"418916:2:19","valueSize":1},{"declaration":39107,"isOffset":false,"isSlot":false,"src":"418946:2:19","valueSize":1},{"declaration":39134,"isOffset":false,"isSlot":false,"src":"419218:3:19","valueSize":1},{"declaration":39110,"isOffset":false,"isSlot":false,"src":"418976:2:19","valueSize":1},{"declaration":39113,"isOffset":false,"isSlot":false,"src":"419006:2:19","valueSize":1},{"declaration":39116,"isOffset":false,"isSlot":false,"src":"419036:2:19","valueSize":1},{"declaration":39119,"isOffset":false,"isSlot":false,"src":"419066:2:19","valueSize":1},{"declaration":39122,"isOffset":false,"isSlot":false,"src":"419096:2:19","valueSize":1},{"declaration":39125,"isOffset":false,"isSlot":false,"src":"419126:2:19","valueSize":1},{"declaration":39128,"isOffset":false,"isSlot":false,"src":"419156:2:19","valueSize":1},{"declaration":39131,"isOffset":false,"isSlot":false,"src":"419187:2:19","valueSize":1},{"declaration":39094,"isOffset":false,"isSlot":false,"src":"419492:2:19","valueSize":1},{"declaration":39096,"isOffset":false,"isSlot":false,"src":"419526:2:19","valueSize":1},{"declaration":39098,"isOffset":false,"isSlot":false,"src":"419426:2:19","valueSize":1},{"declaration":39100,"isOffset":false,"isSlot":false,"src":"419561:2:19","valueSize":1}],"id":39136,"nodeType":"InlineAssembly","src":"418538:1036:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":39138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"419599:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":39139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"419605:5:19","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"0x144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"}],"id":39137,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"419583:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"419583:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39141,"nodeType":"ExpressionStatement","src":"419583:28:19"},{"AST":{"nativeSrc":"419673:334:19","nodeType":"YulBlock","src":"419673:334:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"419694:4:19","nodeType":"YulLiteral","src":"419694:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"419700:2:19","nodeType":"YulIdentifier","src":"419700:2:19"}],"functionName":{"name":"mstore","nativeSrc":"419687:6:19","nodeType":"YulIdentifier","src":"419687:6:19"},"nativeSrc":"419687:16:19","nodeType":"YulFunctionCall","src":"419687:16:19"},"nativeSrc":"419687:16:19","nodeType":"YulExpressionStatement","src":"419687:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419723:4:19","nodeType":"YulLiteral","src":"419723:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"419729:2:19","nodeType":"YulIdentifier","src":"419729:2:19"}],"functionName":{"name":"mstore","nativeSrc":"419716:6:19","nodeType":"YulIdentifier","src":"419716:6:19"},"nativeSrc":"419716:16:19","nodeType":"YulFunctionCall","src":"419716:16:19"},"nativeSrc":"419716:16:19","nodeType":"YulExpressionStatement","src":"419716:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419752:4:19","nodeType":"YulLiteral","src":"419752:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"419758:2:19","nodeType":"YulIdentifier","src":"419758:2:19"}],"functionName":{"name":"mstore","nativeSrc":"419745:6:19","nodeType":"YulIdentifier","src":"419745:6:19"},"nativeSrc":"419745:16:19","nodeType":"YulFunctionCall","src":"419745:16:19"},"nativeSrc":"419745:16:19","nodeType":"YulExpressionStatement","src":"419745:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419781:4:19","nodeType":"YulLiteral","src":"419781:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"419787:2:19","nodeType":"YulIdentifier","src":"419787:2:19"}],"functionName":{"name":"mstore","nativeSrc":"419774:6:19","nodeType":"YulIdentifier","src":"419774:6:19"},"nativeSrc":"419774:16:19","nodeType":"YulFunctionCall","src":"419774:16:19"},"nativeSrc":"419774:16:19","nodeType":"YulExpressionStatement","src":"419774:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419810:4:19","nodeType":"YulLiteral","src":"419810:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"419816:2:19","nodeType":"YulIdentifier","src":"419816:2:19"}],"functionName":{"name":"mstore","nativeSrc":"419803:6:19","nodeType":"YulIdentifier","src":"419803:6:19"},"nativeSrc":"419803:16:19","nodeType":"YulFunctionCall","src":"419803:16:19"},"nativeSrc":"419803:16:19","nodeType":"YulExpressionStatement","src":"419803:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419839:4:19","nodeType":"YulLiteral","src":"419839:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"419845:2:19","nodeType":"YulIdentifier","src":"419845:2:19"}],"functionName":{"name":"mstore","nativeSrc":"419832:6:19","nodeType":"YulIdentifier","src":"419832:6:19"},"nativeSrc":"419832:16:19","nodeType":"YulFunctionCall","src":"419832:16:19"},"nativeSrc":"419832:16:19","nodeType":"YulExpressionStatement","src":"419832:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419868:4:19","nodeType":"YulLiteral","src":"419868:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"419874:2:19","nodeType":"YulIdentifier","src":"419874:2:19"}],"functionName":{"name":"mstore","nativeSrc":"419861:6:19","nodeType":"YulIdentifier","src":"419861:6:19"},"nativeSrc":"419861:16:19","nodeType":"YulFunctionCall","src":"419861:16:19"},"nativeSrc":"419861:16:19","nodeType":"YulExpressionStatement","src":"419861:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419897:4:19","nodeType":"YulLiteral","src":"419897:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"419903:2:19","nodeType":"YulIdentifier","src":"419903:2:19"}],"functionName":{"name":"mstore","nativeSrc":"419890:6:19","nodeType":"YulIdentifier","src":"419890:6:19"},"nativeSrc":"419890:16:19","nodeType":"YulFunctionCall","src":"419890:16:19"},"nativeSrc":"419890:16:19","nodeType":"YulExpressionStatement","src":"419890:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419926:5:19","nodeType":"YulLiteral","src":"419926:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"419933:2:19","nodeType":"YulIdentifier","src":"419933:2:19"}],"functionName":{"name":"mstore","nativeSrc":"419919:6:19","nodeType":"YulIdentifier","src":"419919:6:19"},"nativeSrc":"419919:17:19","nodeType":"YulFunctionCall","src":"419919:17:19"},"nativeSrc":"419919:17:19","nodeType":"YulExpressionStatement","src":"419919:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419956:5:19","nodeType":"YulLiteral","src":"419956:5:19","type":"","value":"0x120"},{"name":"m9","nativeSrc":"419963:2:19","nodeType":"YulIdentifier","src":"419963:2:19"}],"functionName":{"name":"mstore","nativeSrc":"419949:6:19","nodeType":"YulIdentifier","src":"419949:6:19"},"nativeSrc":"419949:17:19","nodeType":"YulFunctionCall","src":"419949:17:19"},"nativeSrc":"419949:17:19","nodeType":"YulExpressionStatement","src":"419949:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"419986:5:19","nodeType":"YulLiteral","src":"419986:5:19","type":"","value":"0x140"},{"name":"m10","nativeSrc":"419993:3:19","nodeType":"YulIdentifier","src":"419993:3:19"}],"functionName":{"name":"mstore","nativeSrc":"419979:6:19","nodeType":"YulIdentifier","src":"419979:6:19"},"nativeSrc":"419979:18:19","nodeType":"YulFunctionCall","src":"419979:18:19"},"nativeSrc":"419979:18:19","nodeType":"YulExpressionStatement","src":"419979:18:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39104,"isOffset":false,"isSlot":false,"src":"419700:2:19","valueSize":1},{"declaration":39107,"isOffset":false,"isSlot":false,"src":"419729:2:19","valueSize":1},{"declaration":39134,"isOffset":false,"isSlot":false,"src":"419993:3:19","valueSize":1},{"declaration":39110,"isOffset":false,"isSlot":false,"src":"419758:2:19","valueSize":1},{"declaration":39113,"isOffset":false,"isSlot":false,"src":"419787:2:19","valueSize":1},{"declaration":39116,"isOffset":false,"isSlot":false,"src":"419816:2:19","valueSize":1},{"declaration":39119,"isOffset":false,"isSlot":false,"src":"419845:2:19","valueSize":1},{"declaration":39122,"isOffset":false,"isSlot":false,"src":"419874:2:19","valueSize":1},{"declaration":39125,"isOffset":false,"isSlot":false,"src":"419903:2:19","valueSize":1},{"declaration":39128,"isOffset":false,"isSlot":false,"src":"419933:2:19","valueSize":1},{"declaration":39131,"isOffset":false,"isSlot":false,"src":"419963:2:19","valueSize":1}],"id":39142,"nodeType":"InlineAssembly","src":"419664:343:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"418198:3:19","parameters":{"id":39101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39094,"mutability":"mutable","name":"p0","nameLocation":"418210:2:19","nodeType":"VariableDeclaration","scope":39144,"src":"418202:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39093,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418202:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39096,"mutability":"mutable","name":"p1","nameLocation":"418222:2:19","nodeType":"VariableDeclaration","scope":39144,"src":"418214:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39095,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418214:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39098,"mutability":"mutable","name":"p2","nameLocation":"418234:2:19","nodeType":"VariableDeclaration","scope":39144,"src":"418226:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39097,"name":"uint256","nodeType":"ElementaryTypeName","src":"418226:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":39100,"mutability":"mutable","name":"p3","nameLocation":"418246:2:19","nodeType":"VariableDeclaration","scope":39144,"src":"418238:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39099,"name":"bytes32","nodeType":"ElementaryTypeName","src":"418238:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"418201:48:19"},"returnParameters":{"id":39102,"nodeType":"ParameterList","parameters":[],"src":"418264:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39196,"nodeType":"FunctionDefinition","src":"420019:1824:19","nodes":[],"body":{"id":39195,"nodeType":"Block","src":"420094:1749:19","nodes":[],"statements":[{"assignments":[39156],"declarations":[{"constant":false,"id":39156,"mutability":"mutable","name":"m0","nameLocation":"420112:2:19","nodeType":"VariableDeclaration","scope":39195,"src":"420104:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39155,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420104:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39157,"nodeType":"VariableDeclarationStatement","src":"420104:10:19"},{"assignments":[39159],"declarations":[{"constant":false,"id":39159,"mutability":"mutable","name":"m1","nameLocation":"420132:2:19","nodeType":"VariableDeclaration","scope":39195,"src":"420124:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39158,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420124:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39160,"nodeType":"VariableDeclarationStatement","src":"420124:10:19"},{"assignments":[39162],"declarations":[{"constant":false,"id":39162,"mutability":"mutable","name":"m2","nameLocation":"420152:2:19","nodeType":"VariableDeclaration","scope":39195,"src":"420144:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39161,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420144:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39163,"nodeType":"VariableDeclarationStatement","src":"420144:10:19"},{"assignments":[39165],"declarations":[{"constant":false,"id":39165,"mutability":"mutable","name":"m3","nameLocation":"420172:2:19","nodeType":"VariableDeclaration","scope":39195,"src":"420164:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39164,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420164:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39166,"nodeType":"VariableDeclarationStatement","src":"420164:10:19"},{"assignments":[39168],"declarations":[{"constant":false,"id":39168,"mutability":"mutable","name":"m4","nameLocation":"420192:2:19","nodeType":"VariableDeclaration","scope":39195,"src":"420184:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39167,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420184:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39169,"nodeType":"VariableDeclarationStatement","src":"420184:10:19"},{"assignments":[39171],"declarations":[{"constant":false,"id":39171,"mutability":"mutable","name":"m5","nameLocation":"420212:2:19","nodeType":"VariableDeclaration","scope":39195,"src":"420204:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39170,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420204:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39172,"nodeType":"VariableDeclarationStatement","src":"420204:10:19"},{"assignments":[39174],"declarations":[{"constant":false,"id":39174,"mutability":"mutable","name":"m6","nameLocation":"420232:2:19","nodeType":"VariableDeclaration","scope":39195,"src":"420224:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39173,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420224:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39175,"nodeType":"VariableDeclarationStatement","src":"420224:10:19"},{"assignments":[39177],"declarations":[{"constant":false,"id":39177,"mutability":"mutable","name":"m7","nameLocation":"420252:2:19","nodeType":"VariableDeclaration","scope":39195,"src":"420244:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39176,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420244:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39178,"nodeType":"VariableDeclarationStatement","src":"420244:10:19"},{"assignments":[39180],"declarations":[{"constant":false,"id":39180,"mutability":"mutable","name":"m8","nameLocation":"420272:2:19","nodeType":"VariableDeclaration","scope":39195,"src":"420264:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39179,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420264:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39181,"nodeType":"VariableDeclarationStatement","src":"420264:10:19"},{"assignments":[39183],"declarations":[{"constant":false,"id":39183,"mutability":"mutable","name":"m9","nameLocation":"420292:2:19","nodeType":"VariableDeclaration","scope":39195,"src":"420284:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39182,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420284:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39184,"nodeType":"VariableDeclarationStatement","src":"420284:10:19"},{"assignments":[39186],"declarations":[{"constant":false,"id":39186,"mutability":"mutable","name":"m10","nameLocation":"420312:3:19","nodeType":"VariableDeclaration","scope":39195,"src":"420304:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39185,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420304:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39187,"nodeType":"VariableDeclarationStatement","src":"420304:11:19"},{"AST":{"nativeSrc":"420377:1027:19","nodeType":"YulBlock","src":"420377:1027:19","statements":[{"body":{"nativeSrc":"420420:313:19","nodeType":"YulBlock","src":"420420:313:19","statements":[{"nativeSrc":"420438:15:19","nodeType":"YulVariableDeclaration","src":"420438:15:19","value":{"kind":"number","nativeSrc":"420452:1:19","nodeType":"YulLiteral","src":"420452:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"420442:6:19","nodeType":"YulTypedName","src":"420442:6:19","type":""}]},{"body":{"nativeSrc":"420523:40:19","nodeType":"YulBlock","src":"420523:40:19","statements":[{"body":{"nativeSrc":"420552:9:19","nodeType":"YulBlock","src":"420552:9:19","statements":[{"nativeSrc":"420554:5:19","nodeType":"YulBreak","src":"420554:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"420540:6:19","nodeType":"YulIdentifier","src":"420540:6:19"},{"name":"w","nativeSrc":"420548:1:19","nodeType":"YulIdentifier","src":"420548:1:19"}],"functionName":{"name":"byte","nativeSrc":"420535:4:19","nodeType":"YulIdentifier","src":"420535:4:19"},"nativeSrc":"420535:15:19","nodeType":"YulFunctionCall","src":"420535:15:19"}],"functionName":{"name":"iszero","nativeSrc":"420528:6:19","nodeType":"YulIdentifier","src":"420528:6:19"},"nativeSrc":"420528:23:19","nodeType":"YulFunctionCall","src":"420528:23:19"},"nativeSrc":"420525:36:19","nodeType":"YulIf","src":"420525:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"420480:6:19","nodeType":"YulIdentifier","src":"420480:6:19"},{"kind":"number","nativeSrc":"420488:4:19","nodeType":"YulLiteral","src":"420488:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"420477:2:19","nodeType":"YulIdentifier","src":"420477:2:19"},"nativeSrc":"420477:16:19","nodeType":"YulFunctionCall","src":"420477:16:19"},"nativeSrc":"420470:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"420494:28:19","nodeType":"YulBlock","src":"420494:28:19","statements":[{"nativeSrc":"420496:24:19","nodeType":"YulAssignment","src":"420496:24:19","value":{"arguments":[{"name":"length","nativeSrc":"420510:6:19","nodeType":"YulIdentifier","src":"420510:6:19"},{"kind":"number","nativeSrc":"420518:1:19","nodeType":"YulLiteral","src":"420518:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"420506:3:19","nodeType":"YulIdentifier","src":"420506:3:19"},"nativeSrc":"420506:14:19","nodeType":"YulFunctionCall","src":"420506:14:19"},"variableNames":[{"name":"length","nativeSrc":"420496:6:19","nodeType":"YulIdentifier","src":"420496:6:19"}]}]},"pre":{"nativeSrc":"420474:2:19","nodeType":"YulBlock","src":"420474:2:19","statements":[]},"src":"420470:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"420587:3:19","nodeType":"YulIdentifier","src":"420587:3:19"},{"name":"length","nativeSrc":"420592:6:19","nodeType":"YulIdentifier","src":"420592:6:19"}],"functionName":{"name":"mstore","nativeSrc":"420580:6:19","nodeType":"YulIdentifier","src":"420580:6:19"},"nativeSrc":"420580:19:19","nodeType":"YulFunctionCall","src":"420580:19:19"},"nativeSrc":"420580:19:19","nodeType":"YulExpressionStatement","src":"420580:19:19"},{"nativeSrc":"420616:37:19","nodeType":"YulVariableDeclaration","src":"420616:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"420633:3:19","nodeType":"YulLiteral","src":"420633:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"420642:1:19","nodeType":"YulLiteral","src":"420642:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"420645:6:19","nodeType":"YulIdentifier","src":"420645:6:19"}],"functionName":{"name":"shl","nativeSrc":"420638:3:19","nodeType":"YulIdentifier","src":"420638:3:19"},"nativeSrc":"420638:14:19","nodeType":"YulFunctionCall","src":"420638:14:19"}],"functionName":{"name":"sub","nativeSrc":"420629:3:19","nodeType":"YulIdentifier","src":"420629:3:19"},"nativeSrc":"420629:24:19","nodeType":"YulFunctionCall","src":"420629:24:19"},"variables":[{"name":"shift","nativeSrc":"420620:5:19","nodeType":"YulTypedName","src":"420620:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"420681:3:19","nodeType":"YulIdentifier","src":"420681:3:19"},{"kind":"number","nativeSrc":"420686:4:19","nodeType":"YulLiteral","src":"420686:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"420677:3:19","nodeType":"YulIdentifier","src":"420677:3:19"},"nativeSrc":"420677:14:19","nodeType":"YulFunctionCall","src":"420677:14:19"},{"arguments":[{"name":"shift","nativeSrc":"420697:5:19","nodeType":"YulIdentifier","src":"420697:5:19"},{"arguments":[{"name":"shift","nativeSrc":"420708:5:19","nodeType":"YulIdentifier","src":"420708:5:19"},{"name":"w","nativeSrc":"420715:1:19","nodeType":"YulIdentifier","src":"420715:1:19"}],"functionName":{"name":"shr","nativeSrc":"420704:3:19","nodeType":"YulIdentifier","src":"420704:3:19"},"nativeSrc":"420704:13:19","nodeType":"YulFunctionCall","src":"420704:13:19"}],"functionName":{"name":"shl","nativeSrc":"420693:3:19","nodeType":"YulIdentifier","src":"420693:3:19"},"nativeSrc":"420693:25:19","nodeType":"YulFunctionCall","src":"420693:25:19"}],"functionName":{"name":"mstore","nativeSrc":"420670:6:19","nodeType":"YulIdentifier","src":"420670:6:19"},"nativeSrc":"420670:49:19","nodeType":"YulFunctionCall","src":"420670:49:19"},"nativeSrc":"420670:49:19","nodeType":"YulExpressionStatement","src":"420670:49:19"}]},"name":"writeString","nativeSrc":"420391:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"420412:3:19","nodeType":"YulTypedName","src":"420412:3:19","type":""},{"name":"w","nativeSrc":"420417:1:19","nodeType":"YulTypedName","src":"420417:1:19","type":""}],"src":"420391:342:19"},{"nativeSrc":"420746:17:19","nodeType":"YulAssignment","src":"420746:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"420758:4:19","nodeType":"YulLiteral","src":"420758:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"420752:5:19","nodeType":"YulIdentifier","src":"420752:5:19"},"nativeSrc":"420752:11:19","nodeType":"YulFunctionCall","src":"420752:11:19"},"variableNames":[{"name":"m0","nativeSrc":"420746:2:19","nodeType":"YulIdentifier","src":"420746:2:19"}]},{"nativeSrc":"420776:17:19","nodeType":"YulAssignment","src":"420776:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"420788:4:19","nodeType":"YulLiteral","src":"420788:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"420782:5:19","nodeType":"YulIdentifier","src":"420782:5:19"},"nativeSrc":"420782:11:19","nodeType":"YulFunctionCall","src":"420782:11:19"},"variableNames":[{"name":"m1","nativeSrc":"420776:2:19","nodeType":"YulIdentifier","src":"420776:2:19"}]},{"nativeSrc":"420806:17:19","nodeType":"YulAssignment","src":"420806:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"420818:4:19","nodeType":"YulLiteral","src":"420818:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"420812:5:19","nodeType":"YulIdentifier","src":"420812:5:19"},"nativeSrc":"420812:11:19","nodeType":"YulFunctionCall","src":"420812:11:19"},"variableNames":[{"name":"m2","nativeSrc":"420806:2:19","nodeType":"YulIdentifier","src":"420806:2:19"}]},{"nativeSrc":"420836:17:19","nodeType":"YulAssignment","src":"420836:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"420848:4:19","nodeType":"YulLiteral","src":"420848:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"420842:5:19","nodeType":"YulIdentifier","src":"420842:5:19"},"nativeSrc":"420842:11:19","nodeType":"YulFunctionCall","src":"420842:11:19"},"variableNames":[{"name":"m3","nativeSrc":"420836:2:19","nodeType":"YulIdentifier","src":"420836:2:19"}]},{"nativeSrc":"420866:17:19","nodeType":"YulAssignment","src":"420866:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"420878:4:19","nodeType":"YulLiteral","src":"420878:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"420872:5:19","nodeType":"YulIdentifier","src":"420872:5:19"},"nativeSrc":"420872:11:19","nodeType":"YulFunctionCall","src":"420872:11:19"},"variableNames":[{"name":"m4","nativeSrc":"420866:2:19","nodeType":"YulIdentifier","src":"420866:2:19"}]},{"nativeSrc":"420896:17:19","nodeType":"YulAssignment","src":"420896:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"420908:4:19","nodeType":"YulLiteral","src":"420908:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"420902:5:19","nodeType":"YulIdentifier","src":"420902:5:19"},"nativeSrc":"420902:11:19","nodeType":"YulFunctionCall","src":"420902:11:19"},"variableNames":[{"name":"m5","nativeSrc":"420896:2:19","nodeType":"YulIdentifier","src":"420896:2:19"}]},{"nativeSrc":"420926:17:19","nodeType":"YulAssignment","src":"420926:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"420938:4:19","nodeType":"YulLiteral","src":"420938:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"420932:5:19","nodeType":"YulIdentifier","src":"420932:5:19"},"nativeSrc":"420932:11:19","nodeType":"YulFunctionCall","src":"420932:11:19"},"variableNames":[{"name":"m6","nativeSrc":"420926:2:19","nodeType":"YulIdentifier","src":"420926:2:19"}]},{"nativeSrc":"420956:17:19","nodeType":"YulAssignment","src":"420956:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"420968:4:19","nodeType":"YulLiteral","src":"420968:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"420962:5:19","nodeType":"YulIdentifier","src":"420962:5:19"},"nativeSrc":"420962:11:19","nodeType":"YulFunctionCall","src":"420962:11:19"},"variableNames":[{"name":"m7","nativeSrc":"420956:2:19","nodeType":"YulIdentifier","src":"420956:2:19"}]},{"nativeSrc":"420986:18:19","nodeType":"YulAssignment","src":"420986:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"420998:5:19","nodeType":"YulLiteral","src":"420998:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"420992:5:19","nodeType":"YulIdentifier","src":"420992:5:19"},"nativeSrc":"420992:12:19","nodeType":"YulFunctionCall","src":"420992:12:19"},"variableNames":[{"name":"m8","nativeSrc":"420986:2:19","nodeType":"YulIdentifier","src":"420986:2:19"}]},{"nativeSrc":"421017:18:19","nodeType":"YulAssignment","src":"421017:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"421029:5:19","nodeType":"YulLiteral","src":"421029:5:19","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"421023:5:19","nodeType":"YulIdentifier","src":"421023:5:19"},"nativeSrc":"421023:12:19","nodeType":"YulFunctionCall","src":"421023:12:19"},"variableNames":[{"name":"m9","nativeSrc":"421017:2:19","nodeType":"YulIdentifier","src":"421017:2:19"}]},{"nativeSrc":"421048:19:19","nodeType":"YulAssignment","src":"421048:19:19","value":{"arguments":[{"kind":"number","nativeSrc":"421061:5:19","nodeType":"YulLiteral","src":"421061:5:19","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"421055:5:19","nodeType":"YulIdentifier","src":"421055:5:19"},"nativeSrc":"421055:12:19","nodeType":"YulFunctionCall","src":"421055:12:19"},"variableNames":[{"name":"m10","nativeSrc":"421048:3:19","nodeType":"YulIdentifier","src":"421048:3:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421151:4:19","nodeType":"YulLiteral","src":"421151:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"421157:10:19","nodeType":"YulLiteral","src":"421157:10:19","type":"","value":"0x6d572f44"}],"functionName":{"name":"mstore","nativeSrc":"421144:6:19","nodeType":"YulIdentifier","src":"421144:6:19"},"nativeSrc":"421144:24:19","nodeType":"YulFunctionCall","src":"421144:24:19"},"nativeSrc":"421144:24:19","nodeType":"YulExpressionStatement","src":"421144:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421188:4:19","nodeType":"YulLiteral","src":"421188:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"421194:4:19","nodeType":"YulLiteral","src":"421194:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"421181:6:19","nodeType":"YulIdentifier","src":"421181:6:19"},"nativeSrc":"421181:18:19","nodeType":"YulFunctionCall","src":"421181:18:19"},"nativeSrc":"421181:18:19","nodeType":"YulExpressionStatement","src":"421181:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421219:4:19","nodeType":"YulLiteral","src":"421219:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"421225:4:19","nodeType":"YulLiteral","src":"421225:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"421212:6:19","nodeType":"YulIdentifier","src":"421212:6:19"},"nativeSrc":"421212:18:19","nodeType":"YulFunctionCall","src":"421212:18:19"},"nativeSrc":"421212:18:19","nodeType":"YulExpressionStatement","src":"421212:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421250:4:19","nodeType":"YulLiteral","src":"421250:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"421256:5:19","nodeType":"YulLiteral","src":"421256:5:19","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"421243:6:19","nodeType":"YulIdentifier","src":"421243:6:19"},"nativeSrc":"421243:19:19","nodeType":"YulFunctionCall","src":"421243:19:19"},"nativeSrc":"421243:19:19","nodeType":"YulExpressionStatement","src":"421243:19:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421282:4:19","nodeType":"YulLiteral","src":"421282:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"421288:2:19","nodeType":"YulIdentifier","src":"421288:2:19"}],"functionName":{"name":"mstore","nativeSrc":"421275:6:19","nodeType":"YulIdentifier","src":"421275:6:19"},"nativeSrc":"421275:16:19","nodeType":"YulFunctionCall","src":"421275:16:19"},"nativeSrc":"421275:16:19","nodeType":"YulExpressionStatement","src":"421275:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421316:4:19","nodeType":"YulLiteral","src":"421316:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"421322:2:19","nodeType":"YulIdentifier","src":"421322:2:19"}],"functionName":{"name":"writeString","nativeSrc":"421304:11:19","nodeType":"YulIdentifier","src":"421304:11:19"},"nativeSrc":"421304:21:19","nodeType":"YulFunctionCall","src":"421304:21:19"},"nativeSrc":"421304:21:19","nodeType":"YulExpressionStatement","src":"421304:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421350:4:19","nodeType":"YulLiteral","src":"421350:4:19","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"421356:2:19","nodeType":"YulIdentifier","src":"421356:2:19"}],"functionName":{"name":"writeString","nativeSrc":"421338:11:19","nodeType":"YulIdentifier","src":"421338:11:19"},"nativeSrc":"421338:21:19","nodeType":"YulFunctionCall","src":"421338:21:19"},"nativeSrc":"421338:21:19","nodeType":"YulExpressionStatement","src":"421338:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421384:5:19","nodeType":"YulLiteral","src":"421384:5:19","type":"","value":"0x120"},{"name":"p2","nativeSrc":"421391:2:19","nodeType":"YulIdentifier","src":"421391:2:19"}],"functionName":{"name":"writeString","nativeSrc":"421372:11:19","nodeType":"YulIdentifier","src":"421372:11:19"},"nativeSrc":"421372:22:19","nodeType":"YulFunctionCall","src":"421372:22:19"},"nativeSrc":"421372:22:19","nodeType":"YulExpressionStatement","src":"421372:22:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39156,"isOffset":false,"isSlot":false,"src":"420746:2:19","valueSize":1},{"declaration":39159,"isOffset":false,"isSlot":false,"src":"420776:2:19","valueSize":1},{"declaration":39186,"isOffset":false,"isSlot":false,"src":"421048:3:19","valueSize":1},{"declaration":39162,"isOffset":false,"isSlot":false,"src":"420806:2:19","valueSize":1},{"declaration":39165,"isOffset":false,"isSlot":false,"src":"420836:2:19","valueSize":1},{"declaration":39168,"isOffset":false,"isSlot":false,"src":"420866:2:19","valueSize":1},{"declaration":39171,"isOffset":false,"isSlot":false,"src":"420896:2:19","valueSize":1},{"declaration":39174,"isOffset":false,"isSlot":false,"src":"420926:2:19","valueSize":1},{"declaration":39177,"isOffset":false,"isSlot":false,"src":"420956:2:19","valueSize":1},{"declaration":39180,"isOffset":false,"isSlot":false,"src":"420986:2:19","valueSize":1},{"declaration":39183,"isOffset":false,"isSlot":false,"src":"421017:2:19","valueSize":1},{"declaration":39146,"isOffset":false,"isSlot":false,"src":"421322:2:19","valueSize":1},{"declaration":39148,"isOffset":false,"isSlot":false,"src":"421356:2:19","valueSize":1},{"declaration":39150,"isOffset":false,"isSlot":false,"src":"421391:2:19","valueSize":1},{"declaration":39152,"isOffset":false,"isSlot":false,"src":"421288:2:19","valueSize":1}],"id":39188,"nodeType":"InlineAssembly","src":"420368:1036:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":39190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"421429:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":39191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"421435:5:19","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"0x144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"}],"id":39189,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"421413:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"421413:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39193,"nodeType":"ExpressionStatement","src":"421413:28:19"},{"AST":{"nativeSrc":"421503:334:19","nodeType":"YulBlock","src":"421503:334:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"421524:4:19","nodeType":"YulLiteral","src":"421524:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"421530:2:19","nodeType":"YulIdentifier","src":"421530:2:19"}],"functionName":{"name":"mstore","nativeSrc":"421517:6:19","nodeType":"YulIdentifier","src":"421517:6:19"},"nativeSrc":"421517:16:19","nodeType":"YulFunctionCall","src":"421517:16:19"},"nativeSrc":"421517:16:19","nodeType":"YulExpressionStatement","src":"421517:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421553:4:19","nodeType":"YulLiteral","src":"421553:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"421559:2:19","nodeType":"YulIdentifier","src":"421559:2:19"}],"functionName":{"name":"mstore","nativeSrc":"421546:6:19","nodeType":"YulIdentifier","src":"421546:6:19"},"nativeSrc":"421546:16:19","nodeType":"YulFunctionCall","src":"421546:16:19"},"nativeSrc":"421546:16:19","nodeType":"YulExpressionStatement","src":"421546:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421582:4:19","nodeType":"YulLiteral","src":"421582:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"421588:2:19","nodeType":"YulIdentifier","src":"421588:2:19"}],"functionName":{"name":"mstore","nativeSrc":"421575:6:19","nodeType":"YulIdentifier","src":"421575:6:19"},"nativeSrc":"421575:16:19","nodeType":"YulFunctionCall","src":"421575:16:19"},"nativeSrc":"421575:16:19","nodeType":"YulExpressionStatement","src":"421575:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421611:4:19","nodeType":"YulLiteral","src":"421611:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"421617:2:19","nodeType":"YulIdentifier","src":"421617:2:19"}],"functionName":{"name":"mstore","nativeSrc":"421604:6:19","nodeType":"YulIdentifier","src":"421604:6:19"},"nativeSrc":"421604:16:19","nodeType":"YulFunctionCall","src":"421604:16:19"},"nativeSrc":"421604:16:19","nodeType":"YulExpressionStatement","src":"421604:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421640:4:19","nodeType":"YulLiteral","src":"421640:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"421646:2:19","nodeType":"YulIdentifier","src":"421646:2:19"}],"functionName":{"name":"mstore","nativeSrc":"421633:6:19","nodeType":"YulIdentifier","src":"421633:6:19"},"nativeSrc":"421633:16:19","nodeType":"YulFunctionCall","src":"421633:16:19"},"nativeSrc":"421633:16:19","nodeType":"YulExpressionStatement","src":"421633:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421669:4:19","nodeType":"YulLiteral","src":"421669:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"421675:2:19","nodeType":"YulIdentifier","src":"421675:2:19"}],"functionName":{"name":"mstore","nativeSrc":"421662:6:19","nodeType":"YulIdentifier","src":"421662:6:19"},"nativeSrc":"421662:16:19","nodeType":"YulFunctionCall","src":"421662:16:19"},"nativeSrc":"421662:16:19","nodeType":"YulExpressionStatement","src":"421662:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421698:4:19","nodeType":"YulLiteral","src":"421698:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"421704:2:19","nodeType":"YulIdentifier","src":"421704:2:19"}],"functionName":{"name":"mstore","nativeSrc":"421691:6:19","nodeType":"YulIdentifier","src":"421691:6:19"},"nativeSrc":"421691:16:19","nodeType":"YulFunctionCall","src":"421691:16:19"},"nativeSrc":"421691:16:19","nodeType":"YulExpressionStatement","src":"421691:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421727:4:19","nodeType":"YulLiteral","src":"421727:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"421733:2:19","nodeType":"YulIdentifier","src":"421733:2:19"}],"functionName":{"name":"mstore","nativeSrc":"421720:6:19","nodeType":"YulIdentifier","src":"421720:6:19"},"nativeSrc":"421720:16:19","nodeType":"YulFunctionCall","src":"421720:16:19"},"nativeSrc":"421720:16:19","nodeType":"YulExpressionStatement","src":"421720:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421756:5:19","nodeType":"YulLiteral","src":"421756:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"421763:2:19","nodeType":"YulIdentifier","src":"421763:2:19"}],"functionName":{"name":"mstore","nativeSrc":"421749:6:19","nodeType":"YulIdentifier","src":"421749:6:19"},"nativeSrc":"421749:17:19","nodeType":"YulFunctionCall","src":"421749:17:19"},"nativeSrc":"421749:17:19","nodeType":"YulExpressionStatement","src":"421749:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421786:5:19","nodeType":"YulLiteral","src":"421786:5:19","type":"","value":"0x120"},{"name":"m9","nativeSrc":"421793:2:19","nodeType":"YulIdentifier","src":"421793:2:19"}],"functionName":{"name":"mstore","nativeSrc":"421779:6:19","nodeType":"YulIdentifier","src":"421779:6:19"},"nativeSrc":"421779:17:19","nodeType":"YulFunctionCall","src":"421779:17:19"},"nativeSrc":"421779:17:19","nodeType":"YulExpressionStatement","src":"421779:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"421816:5:19","nodeType":"YulLiteral","src":"421816:5:19","type":"","value":"0x140"},{"name":"m10","nativeSrc":"421823:3:19","nodeType":"YulIdentifier","src":"421823:3:19"}],"functionName":{"name":"mstore","nativeSrc":"421809:6:19","nodeType":"YulIdentifier","src":"421809:6:19"},"nativeSrc":"421809:18:19","nodeType":"YulFunctionCall","src":"421809:18:19"},"nativeSrc":"421809:18:19","nodeType":"YulExpressionStatement","src":"421809:18:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39156,"isOffset":false,"isSlot":false,"src":"421530:2:19","valueSize":1},{"declaration":39159,"isOffset":false,"isSlot":false,"src":"421559:2:19","valueSize":1},{"declaration":39186,"isOffset":false,"isSlot":false,"src":"421823:3:19","valueSize":1},{"declaration":39162,"isOffset":false,"isSlot":false,"src":"421588:2:19","valueSize":1},{"declaration":39165,"isOffset":false,"isSlot":false,"src":"421617:2:19","valueSize":1},{"declaration":39168,"isOffset":false,"isSlot":false,"src":"421646:2:19","valueSize":1},{"declaration":39171,"isOffset":false,"isSlot":false,"src":"421675:2:19","valueSize":1},{"declaration":39174,"isOffset":false,"isSlot":false,"src":"421704:2:19","valueSize":1},{"declaration":39177,"isOffset":false,"isSlot":false,"src":"421733:2:19","valueSize":1},{"declaration":39180,"isOffset":false,"isSlot":false,"src":"421763:2:19","valueSize":1},{"declaration":39183,"isOffset":false,"isSlot":false,"src":"421793:2:19","valueSize":1}],"id":39194,"nodeType":"InlineAssembly","src":"421494:343:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"420028:3:19","parameters":{"id":39153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39146,"mutability":"mutable","name":"p0","nameLocation":"420040:2:19","nodeType":"VariableDeclaration","scope":39196,"src":"420032:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39145,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420032:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39148,"mutability":"mutable","name":"p1","nameLocation":"420052:2:19","nodeType":"VariableDeclaration","scope":39196,"src":"420044:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39147,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420044:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39150,"mutability":"mutable","name":"p2","nameLocation":"420064:2:19","nodeType":"VariableDeclaration","scope":39196,"src":"420056:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39149,"name":"bytes32","nodeType":"ElementaryTypeName","src":"420056:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39152,"mutability":"mutable","name":"p3","nameLocation":"420076:2:19","nodeType":"VariableDeclaration","scope":39196,"src":"420068:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39151,"name":"address","nodeType":"ElementaryTypeName","src":"420068:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"420031:48:19"},"returnParameters":{"id":39154,"nodeType":"ParameterList","parameters":[],"src":"420094:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39248,"nodeType":"FunctionDefinition","src":"421849:1818:19","nodes":[],"body":{"id":39247,"nodeType":"Block","src":"421921:1746:19","nodes":[],"statements":[{"assignments":[39208],"declarations":[{"constant":false,"id":39208,"mutability":"mutable","name":"m0","nameLocation":"421939:2:19","nodeType":"VariableDeclaration","scope":39247,"src":"421931:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39207,"name":"bytes32","nodeType":"ElementaryTypeName","src":"421931:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39209,"nodeType":"VariableDeclarationStatement","src":"421931:10:19"},{"assignments":[39211],"declarations":[{"constant":false,"id":39211,"mutability":"mutable","name":"m1","nameLocation":"421959:2:19","nodeType":"VariableDeclaration","scope":39247,"src":"421951:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39210,"name":"bytes32","nodeType":"ElementaryTypeName","src":"421951:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39212,"nodeType":"VariableDeclarationStatement","src":"421951:10:19"},{"assignments":[39214],"declarations":[{"constant":false,"id":39214,"mutability":"mutable","name":"m2","nameLocation":"421979:2:19","nodeType":"VariableDeclaration","scope":39247,"src":"421971:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39213,"name":"bytes32","nodeType":"ElementaryTypeName","src":"421971:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39215,"nodeType":"VariableDeclarationStatement","src":"421971:10:19"},{"assignments":[39217],"declarations":[{"constant":false,"id":39217,"mutability":"mutable","name":"m3","nameLocation":"421999:2:19","nodeType":"VariableDeclaration","scope":39247,"src":"421991:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39216,"name":"bytes32","nodeType":"ElementaryTypeName","src":"421991:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39218,"nodeType":"VariableDeclarationStatement","src":"421991:10:19"},{"assignments":[39220],"declarations":[{"constant":false,"id":39220,"mutability":"mutable","name":"m4","nameLocation":"422019:2:19","nodeType":"VariableDeclaration","scope":39247,"src":"422011:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39219,"name":"bytes32","nodeType":"ElementaryTypeName","src":"422011:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39221,"nodeType":"VariableDeclarationStatement","src":"422011:10:19"},{"assignments":[39223],"declarations":[{"constant":false,"id":39223,"mutability":"mutable","name":"m5","nameLocation":"422039:2:19","nodeType":"VariableDeclaration","scope":39247,"src":"422031:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39222,"name":"bytes32","nodeType":"ElementaryTypeName","src":"422031:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39224,"nodeType":"VariableDeclarationStatement","src":"422031:10:19"},{"assignments":[39226],"declarations":[{"constant":false,"id":39226,"mutability":"mutable","name":"m6","nameLocation":"422059:2:19","nodeType":"VariableDeclaration","scope":39247,"src":"422051:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39225,"name":"bytes32","nodeType":"ElementaryTypeName","src":"422051:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39227,"nodeType":"VariableDeclarationStatement","src":"422051:10:19"},{"assignments":[39229],"declarations":[{"constant":false,"id":39229,"mutability":"mutable","name":"m7","nameLocation":"422079:2:19","nodeType":"VariableDeclaration","scope":39247,"src":"422071:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39228,"name":"bytes32","nodeType":"ElementaryTypeName","src":"422071:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39230,"nodeType":"VariableDeclarationStatement","src":"422071:10:19"},{"assignments":[39232],"declarations":[{"constant":false,"id":39232,"mutability":"mutable","name":"m8","nameLocation":"422099:2:19","nodeType":"VariableDeclaration","scope":39247,"src":"422091:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39231,"name":"bytes32","nodeType":"ElementaryTypeName","src":"422091:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39233,"nodeType":"VariableDeclarationStatement","src":"422091:10:19"},{"assignments":[39235],"declarations":[{"constant":false,"id":39235,"mutability":"mutable","name":"m9","nameLocation":"422119:2:19","nodeType":"VariableDeclaration","scope":39247,"src":"422111:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39234,"name":"bytes32","nodeType":"ElementaryTypeName","src":"422111:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39236,"nodeType":"VariableDeclarationStatement","src":"422111:10:19"},{"assignments":[39238],"declarations":[{"constant":false,"id":39238,"mutability":"mutable","name":"m10","nameLocation":"422139:3:19","nodeType":"VariableDeclaration","scope":39247,"src":"422131:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39237,"name":"bytes32","nodeType":"ElementaryTypeName","src":"422131:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39239,"nodeType":"VariableDeclarationStatement","src":"422131:11:19"},{"AST":{"nativeSrc":"422204:1024:19","nodeType":"YulBlock","src":"422204:1024:19","statements":[{"body":{"nativeSrc":"422247:313:19","nodeType":"YulBlock","src":"422247:313:19","statements":[{"nativeSrc":"422265:15:19","nodeType":"YulVariableDeclaration","src":"422265:15:19","value":{"kind":"number","nativeSrc":"422279:1:19","nodeType":"YulLiteral","src":"422279:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"422269:6:19","nodeType":"YulTypedName","src":"422269:6:19","type":""}]},{"body":{"nativeSrc":"422350:40:19","nodeType":"YulBlock","src":"422350:40:19","statements":[{"body":{"nativeSrc":"422379:9:19","nodeType":"YulBlock","src":"422379:9:19","statements":[{"nativeSrc":"422381:5:19","nodeType":"YulBreak","src":"422381:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"422367:6:19","nodeType":"YulIdentifier","src":"422367:6:19"},{"name":"w","nativeSrc":"422375:1:19","nodeType":"YulIdentifier","src":"422375:1:19"}],"functionName":{"name":"byte","nativeSrc":"422362:4:19","nodeType":"YulIdentifier","src":"422362:4:19"},"nativeSrc":"422362:15:19","nodeType":"YulFunctionCall","src":"422362:15:19"}],"functionName":{"name":"iszero","nativeSrc":"422355:6:19","nodeType":"YulIdentifier","src":"422355:6:19"},"nativeSrc":"422355:23:19","nodeType":"YulFunctionCall","src":"422355:23:19"},"nativeSrc":"422352:36:19","nodeType":"YulIf","src":"422352:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"422307:6:19","nodeType":"YulIdentifier","src":"422307:6:19"},{"kind":"number","nativeSrc":"422315:4:19","nodeType":"YulLiteral","src":"422315:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"422304:2:19","nodeType":"YulIdentifier","src":"422304:2:19"},"nativeSrc":"422304:16:19","nodeType":"YulFunctionCall","src":"422304:16:19"},"nativeSrc":"422297:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"422321:28:19","nodeType":"YulBlock","src":"422321:28:19","statements":[{"nativeSrc":"422323:24:19","nodeType":"YulAssignment","src":"422323:24:19","value":{"arguments":[{"name":"length","nativeSrc":"422337:6:19","nodeType":"YulIdentifier","src":"422337:6:19"},{"kind":"number","nativeSrc":"422345:1:19","nodeType":"YulLiteral","src":"422345:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"422333:3:19","nodeType":"YulIdentifier","src":"422333:3:19"},"nativeSrc":"422333:14:19","nodeType":"YulFunctionCall","src":"422333:14:19"},"variableNames":[{"name":"length","nativeSrc":"422323:6:19","nodeType":"YulIdentifier","src":"422323:6:19"}]}]},"pre":{"nativeSrc":"422301:2:19","nodeType":"YulBlock","src":"422301:2:19","statements":[]},"src":"422297:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"422414:3:19","nodeType":"YulIdentifier","src":"422414:3:19"},{"name":"length","nativeSrc":"422419:6:19","nodeType":"YulIdentifier","src":"422419:6:19"}],"functionName":{"name":"mstore","nativeSrc":"422407:6:19","nodeType":"YulIdentifier","src":"422407:6:19"},"nativeSrc":"422407:19:19","nodeType":"YulFunctionCall","src":"422407:19:19"},"nativeSrc":"422407:19:19","nodeType":"YulExpressionStatement","src":"422407:19:19"},{"nativeSrc":"422443:37:19","nodeType":"YulVariableDeclaration","src":"422443:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"422460:3:19","nodeType":"YulLiteral","src":"422460:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"422469:1:19","nodeType":"YulLiteral","src":"422469:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"422472:6:19","nodeType":"YulIdentifier","src":"422472:6:19"}],"functionName":{"name":"shl","nativeSrc":"422465:3:19","nodeType":"YulIdentifier","src":"422465:3:19"},"nativeSrc":"422465:14:19","nodeType":"YulFunctionCall","src":"422465:14:19"}],"functionName":{"name":"sub","nativeSrc":"422456:3:19","nodeType":"YulIdentifier","src":"422456:3:19"},"nativeSrc":"422456:24:19","nodeType":"YulFunctionCall","src":"422456:24:19"},"variables":[{"name":"shift","nativeSrc":"422447:5:19","nodeType":"YulTypedName","src":"422447:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"422508:3:19","nodeType":"YulIdentifier","src":"422508:3:19"},{"kind":"number","nativeSrc":"422513:4:19","nodeType":"YulLiteral","src":"422513:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"422504:3:19","nodeType":"YulIdentifier","src":"422504:3:19"},"nativeSrc":"422504:14:19","nodeType":"YulFunctionCall","src":"422504:14:19"},{"arguments":[{"name":"shift","nativeSrc":"422524:5:19","nodeType":"YulIdentifier","src":"422524:5:19"},{"arguments":[{"name":"shift","nativeSrc":"422535:5:19","nodeType":"YulIdentifier","src":"422535:5:19"},{"name":"w","nativeSrc":"422542:1:19","nodeType":"YulIdentifier","src":"422542:1:19"}],"functionName":{"name":"shr","nativeSrc":"422531:3:19","nodeType":"YulIdentifier","src":"422531:3:19"},"nativeSrc":"422531:13:19","nodeType":"YulFunctionCall","src":"422531:13:19"}],"functionName":{"name":"shl","nativeSrc":"422520:3:19","nodeType":"YulIdentifier","src":"422520:3:19"},"nativeSrc":"422520:25:19","nodeType":"YulFunctionCall","src":"422520:25:19"}],"functionName":{"name":"mstore","nativeSrc":"422497:6:19","nodeType":"YulIdentifier","src":"422497:6:19"},"nativeSrc":"422497:49:19","nodeType":"YulFunctionCall","src":"422497:49:19"},"nativeSrc":"422497:49:19","nodeType":"YulExpressionStatement","src":"422497:49:19"}]},"name":"writeString","nativeSrc":"422218:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"422239:3:19","nodeType":"YulTypedName","src":"422239:3:19","type":""},{"name":"w","nativeSrc":"422244:1:19","nodeType":"YulTypedName","src":"422244:1:19","type":""}],"src":"422218:342:19"},{"nativeSrc":"422573:17:19","nodeType":"YulAssignment","src":"422573:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"422585:4:19","nodeType":"YulLiteral","src":"422585:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"422579:5:19","nodeType":"YulIdentifier","src":"422579:5:19"},"nativeSrc":"422579:11:19","nodeType":"YulFunctionCall","src":"422579:11:19"},"variableNames":[{"name":"m0","nativeSrc":"422573:2:19","nodeType":"YulIdentifier","src":"422573:2:19"}]},{"nativeSrc":"422603:17:19","nodeType":"YulAssignment","src":"422603:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"422615:4:19","nodeType":"YulLiteral","src":"422615:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"422609:5:19","nodeType":"YulIdentifier","src":"422609:5:19"},"nativeSrc":"422609:11:19","nodeType":"YulFunctionCall","src":"422609:11:19"},"variableNames":[{"name":"m1","nativeSrc":"422603:2:19","nodeType":"YulIdentifier","src":"422603:2:19"}]},{"nativeSrc":"422633:17:19","nodeType":"YulAssignment","src":"422633:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"422645:4:19","nodeType":"YulLiteral","src":"422645:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"422639:5:19","nodeType":"YulIdentifier","src":"422639:5:19"},"nativeSrc":"422639:11:19","nodeType":"YulFunctionCall","src":"422639:11:19"},"variableNames":[{"name":"m2","nativeSrc":"422633:2:19","nodeType":"YulIdentifier","src":"422633:2:19"}]},{"nativeSrc":"422663:17:19","nodeType":"YulAssignment","src":"422663:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"422675:4:19","nodeType":"YulLiteral","src":"422675:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"422669:5:19","nodeType":"YulIdentifier","src":"422669:5:19"},"nativeSrc":"422669:11:19","nodeType":"YulFunctionCall","src":"422669:11:19"},"variableNames":[{"name":"m3","nativeSrc":"422663:2:19","nodeType":"YulIdentifier","src":"422663:2:19"}]},{"nativeSrc":"422693:17:19","nodeType":"YulAssignment","src":"422693:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"422705:4:19","nodeType":"YulLiteral","src":"422705:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"422699:5:19","nodeType":"YulIdentifier","src":"422699:5:19"},"nativeSrc":"422699:11:19","nodeType":"YulFunctionCall","src":"422699:11:19"},"variableNames":[{"name":"m4","nativeSrc":"422693:2:19","nodeType":"YulIdentifier","src":"422693:2:19"}]},{"nativeSrc":"422723:17:19","nodeType":"YulAssignment","src":"422723:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"422735:4:19","nodeType":"YulLiteral","src":"422735:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"422729:5:19","nodeType":"YulIdentifier","src":"422729:5:19"},"nativeSrc":"422729:11:19","nodeType":"YulFunctionCall","src":"422729:11:19"},"variableNames":[{"name":"m5","nativeSrc":"422723:2:19","nodeType":"YulIdentifier","src":"422723:2:19"}]},{"nativeSrc":"422753:17:19","nodeType":"YulAssignment","src":"422753:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"422765:4:19","nodeType":"YulLiteral","src":"422765:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"422759:5:19","nodeType":"YulIdentifier","src":"422759:5:19"},"nativeSrc":"422759:11:19","nodeType":"YulFunctionCall","src":"422759:11:19"},"variableNames":[{"name":"m6","nativeSrc":"422753:2:19","nodeType":"YulIdentifier","src":"422753:2:19"}]},{"nativeSrc":"422783:17:19","nodeType":"YulAssignment","src":"422783:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"422795:4:19","nodeType":"YulLiteral","src":"422795:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"422789:5:19","nodeType":"YulIdentifier","src":"422789:5:19"},"nativeSrc":"422789:11:19","nodeType":"YulFunctionCall","src":"422789:11:19"},"variableNames":[{"name":"m7","nativeSrc":"422783:2:19","nodeType":"YulIdentifier","src":"422783:2:19"}]},{"nativeSrc":"422813:18:19","nodeType":"YulAssignment","src":"422813:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"422825:5:19","nodeType":"YulLiteral","src":"422825:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"422819:5:19","nodeType":"YulIdentifier","src":"422819:5:19"},"nativeSrc":"422819:12:19","nodeType":"YulFunctionCall","src":"422819:12:19"},"variableNames":[{"name":"m8","nativeSrc":"422813:2:19","nodeType":"YulIdentifier","src":"422813:2:19"}]},{"nativeSrc":"422844:18:19","nodeType":"YulAssignment","src":"422844:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"422856:5:19","nodeType":"YulLiteral","src":"422856:5:19","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"422850:5:19","nodeType":"YulIdentifier","src":"422850:5:19"},"nativeSrc":"422850:12:19","nodeType":"YulFunctionCall","src":"422850:12:19"},"variableNames":[{"name":"m9","nativeSrc":"422844:2:19","nodeType":"YulIdentifier","src":"422844:2:19"}]},{"nativeSrc":"422875:19:19","nodeType":"YulAssignment","src":"422875:19:19","value":{"arguments":[{"kind":"number","nativeSrc":"422888:5:19","nodeType":"YulLiteral","src":"422888:5:19","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"422882:5:19","nodeType":"YulIdentifier","src":"422882:5:19"},"nativeSrc":"422882:12:19","nodeType":"YulFunctionCall","src":"422882:12:19"},"variableNames":[{"name":"m10","nativeSrc":"422875:3:19","nodeType":"YulIdentifier","src":"422875:3:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"422975:4:19","nodeType":"YulLiteral","src":"422975:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"422981:10:19","nodeType":"YulLiteral","src":"422981:10:19","type":"","value":"0x2c1754ed"}],"functionName":{"name":"mstore","nativeSrc":"422968:6:19","nodeType":"YulIdentifier","src":"422968:6:19"},"nativeSrc":"422968:24:19","nodeType":"YulFunctionCall","src":"422968:24:19"},"nativeSrc":"422968:24:19","nodeType":"YulExpressionStatement","src":"422968:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423012:4:19","nodeType":"YulLiteral","src":"423012:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"423018:4:19","nodeType":"YulLiteral","src":"423018:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"423005:6:19","nodeType":"YulIdentifier","src":"423005:6:19"},"nativeSrc":"423005:18:19","nodeType":"YulFunctionCall","src":"423005:18:19"},"nativeSrc":"423005:18:19","nodeType":"YulExpressionStatement","src":"423005:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423043:4:19","nodeType":"YulLiteral","src":"423043:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"423049:4:19","nodeType":"YulLiteral","src":"423049:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"423036:6:19","nodeType":"YulIdentifier","src":"423036:6:19"},"nativeSrc":"423036:18:19","nodeType":"YulFunctionCall","src":"423036:18:19"},"nativeSrc":"423036:18:19","nodeType":"YulExpressionStatement","src":"423036:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423074:4:19","nodeType":"YulLiteral","src":"423074:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"423080:5:19","nodeType":"YulLiteral","src":"423080:5:19","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"423067:6:19","nodeType":"YulIdentifier","src":"423067:6:19"},"nativeSrc":"423067:19:19","nodeType":"YulFunctionCall","src":"423067:19:19"},"nativeSrc":"423067:19:19","nodeType":"YulExpressionStatement","src":"423067:19:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423106:4:19","nodeType":"YulLiteral","src":"423106:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"423112:2:19","nodeType":"YulIdentifier","src":"423112:2:19"}],"functionName":{"name":"mstore","nativeSrc":"423099:6:19","nodeType":"YulIdentifier","src":"423099:6:19"},"nativeSrc":"423099:16:19","nodeType":"YulFunctionCall","src":"423099:16:19"},"nativeSrc":"423099:16:19","nodeType":"YulExpressionStatement","src":"423099:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423140:4:19","nodeType":"YulLiteral","src":"423140:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"423146:2:19","nodeType":"YulIdentifier","src":"423146:2:19"}],"functionName":{"name":"writeString","nativeSrc":"423128:11:19","nodeType":"YulIdentifier","src":"423128:11:19"},"nativeSrc":"423128:21:19","nodeType":"YulFunctionCall","src":"423128:21:19"},"nativeSrc":"423128:21:19","nodeType":"YulExpressionStatement","src":"423128:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423174:4:19","nodeType":"YulLiteral","src":"423174:4:19","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"423180:2:19","nodeType":"YulIdentifier","src":"423180:2:19"}],"functionName":{"name":"writeString","nativeSrc":"423162:11:19","nodeType":"YulIdentifier","src":"423162:11:19"},"nativeSrc":"423162:21:19","nodeType":"YulFunctionCall","src":"423162:21:19"},"nativeSrc":"423162:21:19","nodeType":"YulExpressionStatement","src":"423162:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423208:5:19","nodeType":"YulLiteral","src":"423208:5:19","type":"","value":"0x120"},{"name":"p2","nativeSrc":"423215:2:19","nodeType":"YulIdentifier","src":"423215:2:19"}],"functionName":{"name":"writeString","nativeSrc":"423196:11:19","nodeType":"YulIdentifier","src":"423196:11:19"},"nativeSrc":"423196:22:19","nodeType":"YulFunctionCall","src":"423196:22:19"},"nativeSrc":"423196:22:19","nodeType":"YulExpressionStatement","src":"423196:22:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39208,"isOffset":false,"isSlot":false,"src":"422573:2:19","valueSize":1},{"declaration":39211,"isOffset":false,"isSlot":false,"src":"422603:2:19","valueSize":1},{"declaration":39238,"isOffset":false,"isSlot":false,"src":"422875:3:19","valueSize":1},{"declaration":39214,"isOffset":false,"isSlot":false,"src":"422633:2:19","valueSize":1},{"declaration":39217,"isOffset":false,"isSlot":false,"src":"422663:2:19","valueSize":1},{"declaration":39220,"isOffset":false,"isSlot":false,"src":"422693:2:19","valueSize":1},{"declaration":39223,"isOffset":false,"isSlot":false,"src":"422723:2:19","valueSize":1},{"declaration":39226,"isOffset":false,"isSlot":false,"src":"422753:2:19","valueSize":1},{"declaration":39229,"isOffset":false,"isSlot":false,"src":"422783:2:19","valueSize":1},{"declaration":39232,"isOffset":false,"isSlot":false,"src":"422813:2:19","valueSize":1},{"declaration":39235,"isOffset":false,"isSlot":false,"src":"422844:2:19","valueSize":1},{"declaration":39198,"isOffset":false,"isSlot":false,"src":"423146:2:19","valueSize":1},{"declaration":39200,"isOffset":false,"isSlot":false,"src":"423180:2:19","valueSize":1},{"declaration":39202,"isOffset":false,"isSlot":false,"src":"423215:2:19","valueSize":1},{"declaration":39204,"isOffset":false,"isSlot":false,"src":"423112:2:19","valueSize":1}],"id":39240,"nodeType":"InlineAssembly","src":"422195:1033:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":39242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"423253:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":39243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"423259:5:19","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"0x144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"}],"id":39241,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"423237:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"423237:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39245,"nodeType":"ExpressionStatement","src":"423237:28:19"},{"AST":{"nativeSrc":"423327:334:19","nodeType":"YulBlock","src":"423327:334:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"423348:4:19","nodeType":"YulLiteral","src":"423348:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"423354:2:19","nodeType":"YulIdentifier","src":"423354:2:19"}],"functionName":{"name":"mstore","nativeSrc":"423341:6:19","nodeType":"YulIdentifier","src":"423341:6:19"},"nativeSrc":"423341:16:19","nodeType":"YulFunctionCall","src":"423341:16:19"},"nativeSrc":"423341:16:19","nodeType":"YulExpressionStatement","src":"423341:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423377:4:19","nodeType":"YulLiteral","src":"423377:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"423383:2:19","nodeType":"YulIdentifier","src":"423383:2:19"}],"functionName":{"name":"mstore","nativeSrc":"423370:6:19","nodeType":"YulIdentifier","src":"423370:6:19"},"nativeSrc":"423370:16:19","nodeType":"YulFunctionCall","src":"423370:16:19"},"nativeSrc":"423370:16:19","nodeType":"YulExpressionStatement","src":"423370:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423406:4:19","nodeType":"YulLiteral","src":"423406:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"423412:2:19","nodeType":"YulIdentifier","src":"423412:2:19"}],"functionName":{"name":"mstore","nativeSrc":"423399:6:19","nodeType":"YulIdentifier","src":"423399:6:19"},"nativeSrc":"423399:16:19","nodeType":"YulFunctionCall","src":"423399:16:19"},"nativeSrc":"423399:16:19","nodeType":"YulExpressionStatement","src":"423399:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423435:4:19","nodeType":"YulLiteral","src":"423435:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"423441:2:19","nodeType":"YulIdentifier","src":"423441:2:19"}],"functionName":{"name":"mstore","nativeSrc":"423428:6:19","nodeType":"YulIdentifier","src":"423428:6:19"},"nativeSrc":"423428:16:19","nodeType":"YulFunctionCall","src":"423428:16:19"},"nativeSrc":"423428:16:19","nodeType":"YulExpressionStatement","src":"423428:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423464:4:19","nodeType":"YulLiteral","src":"423464:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"423470:2:19","nodeType":"YulIdentifier","src":"423470:2:19"}],"functionName":{"name":"mstore","nativeSrc":"423457:6:19","nodeType":"YulIdentifier","src":"423457:6:19"},"nativeSrc":"423457:16:19","nodeType":"YulFunctionCall","src":"423457:16:19"},"nativeSrc":"423457:16:19","nodeType":"YulExpressionStatement","src":"423457:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423493:4:19","nodeType":"YulLiteral","src":"423493:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"423499:2:19","nodeType":"YulIdentifier","src":"423499:2:19"}],"functionName":{"name":"mstore","nativeSrc":"423486:6:19","nodeType":"YulIdentifier","src":"423486:6:19"},"nativeSrc":"423486:16:19","nodeType":"YulFunctionCall","src":"423486:16:19"},"nativeSrc":"423486:16:19","nodeType":"YulExpressionStatement","src":"423486:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423522:4:19","nodeType":"YulLiteral","src":"423522:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"423528:2:19","nodeType":"YulIdentifier","src":"423528:2:19"}],"functionName":{"name":"mstore","nativeSrc":"423515:6:19","nodeType":"YulIdentifier","src":"423515:6:19"},"nativeSrc":"423515:16:19","nodeType":"YulFunctionCall","src":"423515:16:19"},"nativeSrc":"423515:16:19","nodeType":"YulExpressionStatement","src":"423515:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423551:4:19","nodeType":"YulLiteral","src":"423551:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"423557:2:19","nodeType":"YulIdentifier","src":"423557:2:19"}],"functionName":{"name":"mstore","nativeSrc":"423544:6:19","nodeType":"YulIdentifier","src":"423544:6:19"},"nativeSrc":"423544:16:19","nodeType":"YulFunctionCall","src":"423544:16:19"},"nativeSrc":"423544:16:19","nodeType":"YulExpressionStatement","src":"423544:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423580:5:19","nodeType":"YulLiteral","src":"423580:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"423587:2:19","nodeType":"YulIdentifier","src":"423587:2:19"}],"functionName":{"name":"mstore","nativeSrc":"423573:6:19","nodeType":"YulIdentifier","src":"423573:6:19"},"nativeSrc":"423573:17:19","nodeType":"YulFunctionCall","src":"423573:17:19"},"nativeSrc":"423573:17:19","nodeType":"YulExpressionStatement","src":"423573:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423610:5:19","nodeType":"YulLiteral","src":"423610:5:19","type":"","value":"0x120"},{"name":"m9","nativeSrc":"423617:2:19","nodeType":"YulIdentifier","src":"423617:2:19"}],"functionName":{"name":"mstore","nativeSrc":"423603:6:19","nodeType":"YulIdentifier","src":"423603:6:19"},"nativeSrc":"423603:17:19","nodeType":"YulFunctionCall","src":"423603:17:19"},"nativeSrc":"423603:17:19","nodeType":"YulExpressionStatement","src":"423603:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"423640:5:19","nodeType":"YulLiteral","src":"423640:5:19","type":"","value":"0x140"},{"name":"m10","nativeSrc":"423647:3:19","nodeType":"YulIdentifier","src":"423647:3:19"}],"functionName":{"name":"mstore","nativeSrc":"423633:6:19","nodeType":"YulIdentifier","src":"423633:6:19"},"nativeSrc":"423633:18:19","nodeType":"YulFunctionCall","src":"423633:18:19"},"nativeSrc":"423633:18:19","nodeType":"YulExpressionStatement","src":"423633:18:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39208,"isOffset":false,"isSlot":false,"src":"423354:2:19","valueSize":1},{"declaration":39211,"isOffset":false,"isSlot":false,"src":"423383:2:19","valueSize":1},{"declaration":39238,"isOffset":false,"isSlot":false,"src":"423647:3:19","valueSize":1},{"declaration":39214,"isOffset":false,"isSlot":false,"src":"423412:2:19","valueSize":1},{"declaration":39217,"isOffset":false,"isSlot":false,"src":"423441:2:19","valueSize":1},{"declaration":39220,"isOffset":false,"isSlot":false,"src":"423470:2:19","valueSize":1},{"declaration":39223,"isOffset":false,"isSlot":false,"src":"423499:2:19","valueSize":1},{"declaration":39226,"isOffset":false,"isSlot":false,"src":"423528:2:19","valueSize":1},{"declaration":39229,"isOffset":false,"isSlot":false,"src":"423557:2:19","valueSize":1},{"declaration":39232,"isOffset":false,"isSlot":false,"src":"423587:2:19","valueSize":1},{"declaration":39235,"isOffset":false,"isSlot":false,"src":"423617:2:19","valueSize":1}],"id":39246,"nodeType":"InlineAssembly","src":"423318:343:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"421858:3:19","parameters":{"id":39205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39198,"mutability":"mutable","name":"p0","nameLocation":"421870:2:19","nodeType":"VariableDeclaration","scope":39248,"src":"421862:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39197,"name":"bytes32","nodeType":"ElementaryTypeName","src":"421862:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39200,"mutability":"mutable","name":"p1","nameLocation":"421882:2:19","nodeType":"VariableDeclaration","scope":39248,"src":"421874:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"421874:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39202,"mutability":"mutable","name":"p2","nameLocation":"421894:2:19","nodeType":"VariableDeclaration","scope":39248,"src":"421886:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39201,"name":"bytes32","nodeType":"ElementaryTypeName","src":"421886:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39204,"mutability":"mutable","name":"p3","nameLocation":"421903:2:19","nodeType":"VariableDeclaration","scope":39248,"src":"421898:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39203,"name":"bool","nodeType":"ElementaryTypeName","src":"421898:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"421861:45:19"},"returnParameters":{"id":39206,"nodeType":"ParameterList","parameters":[],"src":"421921:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39300,"nodeType":"FunctionDefinition","src":"423673:1824:19","nodes":[],"body":{"id":39299,"nodeType":"Block","src":"423748:1749:19","nodes":[],"statements":[{"assignments":[39260],"declarations":[{"constant":false,"id":39260,"mutability":"mutable","name":"m0","nameLocation":"423766:2:19","nodeType":"VariableDeclaration","scope":39299,"src":"423758:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39259,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423758:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39261,"nodeType":"VariableDeclarationStatement","src":"423758:10:19"},{"assignments":[39263],"declarations":[{"constant":false,"id":39263,"mutability":"mutable","name":"m1","nameLocation":"423786:2:19","nodeType":"VariableDeclaration","scope":39299,"src":"423778:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39262,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423778:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39264,"nodeType":"VariableDeclarationStatement","src":"423778:10:19"},{"assignments":[39266],"declarations":[{"constant":false,"id":39266,"mutability":"mutable","name":"m2","nameLocation":"423806:2:19","nodeType":"VariableDeclaration","scope":39299,"src":"423798:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39265,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423798:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39267,"nodeType":"VariableDeclarationStatement","src":"423798:10:19"},{"assignments":[39269],"declarations":[{"constant":false,"id":39269,"mutability":"mutable","name":"m3","nameLocation":"423826:2:19","nodeType":"VariableDeclaration","scope":39299,"src":"423818:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39268,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423818:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39270,"nodeType":"VariableDeclarationStatement","src":"423818:10:19"},{"assignments":[39272],"declarations":[{"constant":false,"id":39272,"mutability":"mutable","name":"m4","nameLocation":"423846:2:19","nodeType":"VariableDeclaration","scope":39299,"src":"423838:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39271,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423838:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39273,"nodeType":"VariableDeclarationStatement","src":"423838:10:19"},{"assignments":[39275],"declarations":[{"constant":false,"id":39275,"mutability":"mutable","name":"m5","nameLocation":"423866:2:19","nodeType":"VariableDeclaration","scope":39299,"src":"423858:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39274,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423858:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39276,"nodeType":"VariableDeclarationStatement","src":"423858:10:19"},{"assignments":[39278],"declarations":[{"constant":false,"id":39278,"mutability":"mutable","name":"m6","nameLocation":"423886:2:19","nodeType":"VariableDeclaration","scope":39299,"src":"423878:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39277,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423878:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39279,"nodeType":"VariableDeclarationStatement","src":"423878:10:19"},{"assignments":[39281],"declarations":[{"constant":false,"id":39281,"mutability":"mutable","name":"m7","nameLocation":"423906:2:19","nodeType":"VariableDeclaration","scope":39299,"src":"423898:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39280,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423898:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39282,"nodeType":"VariableDeclarationStatement","src":"423898:10:19"},{"assignments":[39284],"declarations":[{"constant":false,"id":39284,"mutability":"mutable","name":"m8","nameLocation":"423926:2:19","nodeType":"VariableDeclaration","scope":39299,"src":"423918:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39283,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423918:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39285,"nodeType":"VariableDeclarationStatement","src":"423918:10:19"},{"assignments":[39287],"declarations":[{"constant":false,"id":39287,"mutability":"mutable","name":"m9","nameLocation":"423946:2:19","nodeType":"VariableDeclaration","scope":39299,"src":"423938:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39286,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423938:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39288,"nodeType":"VariableDeclarationStatement","src":"423938:10:19"},{"assignments":[39290],"declarations":[{"constant":false,"id":39290,"mutability":"mutable","name":"m10","nameLocation":"423966:3:19","nodeType":"VariableDeclaration","scope":39299,"src":"423958:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39289,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423958:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39291,"nodeType":"VariableDeclarationStatement","src":"423958:11:19"},{"AST":{"nativeSrc":"424031:1027:19","nodeType":"YulBlock","src":"424031:1027:19","statements":[{"body":{"nativeSrc":"424074:313:19","nodeType":"YulBlock","src":"424074:313:19","statements":[{"nativeSrc":"424092:15:19","nodeType":"YulVariableDeclaration","src":"424092:15:19","value":{"kind":"number","nativeSrc":"424106:1:19","nodeType":"YulLiteral","src":"424106:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"424096:6:19","nodeType":"YulTypedName","src":"424096:6:19","type":""}]},{"body":{"nativeSrc":"424177:40:19","nodeType":"YulBlock","src":"424177:40:19","statements":[{"body":{"nativeSrc":"424206:9:19","nodeType":"YulBlock","src":"424206:9:19","statements":[{"nativeSrc":"424208:5:19","nodeType":"YulBreak","src":"424208:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"424194:6:19","nodeType":"YulIdentifier","src":"424194:6:19"},{"name":"w","nativeSrc":"424202:1:19","nodeType":"YulIdentifier","src":"424202:1:19"}],"functionName":{"name":"byte","nativeSrc":"424189:4:19","nodeType":"YulIdentifier","src":"424189:4:19"},"nativeSrc":"424189:15:19","nodeType":"YulFunctionCall","src":"424189:15:19"}],"functionName":{"name":"iszero","nativeSrc":"424182:6:19","nodeType":"YulIdentifier","src":"424182:6:19"},"nativeSrc":"424182:23:19","nodeType":"YulFunctionCall","src":"424182:23:19"},"nativeSrc":"424179:36:19","nodeType":"YulIf","src":"424179:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"424134:6:19","nodeType":"YulIdentifier","src":"424134:6:19"},{"kind":"number","nativeSrc":"424142:4:19","nodeType":"YulLiteral","src":"424142:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"424131:2:19","nodeType":"YulIdentifier","src":"424131:2:19"},"nativeSrc":"424131:16:19","nodeType":"YulFunctionCall","src":"424131:16:19"},"nativeSrc":"424124:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"424148:28:19","nodeType":"YulBlock","src":"424148:28:19","statements":[{"nativeSrc":"424150:24:19","nodeType":"YulAssignment","src":"424150:24:19","value":{"arguments":[{"name":"length","nativeSrc":"424164:6:19","nodeType":"YulIdentifier","src":"424164:6:19"},{"kind":"number","nativeSrc":"424172:1:19","nodeType":"YulLiteral","src":"424172:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"424160:3:19","nodeType":"YulIdentifier","src":"424160:3:19"},"nativeSrc":"424160:14:19","nodeType":"YulFunctionCall","src":"424160:14:19"},"variableNames":[{"name":"length","nativeSrc":"424150:6:19","nodeType":"YulIdentifier","src":"424150:6:19"}]}]},"pre":{"nativeSrc":"424128:2:19","nodeType":"YulBlock","src":"424128:2:19","statements":[]},"src":"424124:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"424241:3:19","nodeType":"YulIdentifier","src":"424241:3:19"},{"name":"length","nativeSrc":"424246:6:19","nodeType":"YulIdentifier","src":"424246:6:19"}],"functionName":{"name":"mstore","nativeSrc":"424234:6:19","nodeType":"YulIdentifier","src":"424234:6:19"},"nativeSrc":"424234:19:19","nodeType":"YulFunctionCall","src":"424234:19:19"},"nativeSrc":"424234:19:19","nodeType":"YulExpressionStatement","src":"424234:19:19"},{"nativeSrc":"424270:37:19","nodeType":"YulVariableDeclaration","src":"424270:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"424287:3:19","nodeType":"YulLiteral","src":"424287:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"424296:1:19","nodeType":"YulLiteral","src":"424296:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"424299:6:19","nodeType":"YulIdentifier","src":"424299:6:19"}],"functionName":{"name":"shl","nativeSrc":"424292:3:19","nodeType":"YulIdentifier","src":"424292:3:19"},"nativeSrc":"424292:14:19","nodeType":"YulFunctionCall","src":"424292:14:19"}],"functionName":{"name":"sub","nativeSrc":"424283:3:19","nodeType":"YulIdentifier","src":"424283:3:19"},"nativeSrc":"424283:24:19","nodeType":"YulFunctionCall","src":"424283:24:19"},"variables":[{"name":"shift","nativeSrc":"424274:5:19","nodeType":"YulTypedName","src":"424274:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"424335:3:19","nodeType":"YulIdentifier","src":"424335:3:19"},{"kind":"number","nativeSrc":"424340:4:19","nodeType":"YulLiteral","src":"424340:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"424331:3:19","nodeType":"YulIdentifier","src":"424331:3:19"},"nativeSrc":"424331:14:19","nodeType":"YulFunctionCall","src":"424331:14:19"},{"arguments":[{"name":"shift","nativeSrc":"424351:5:19","nodeType":"YulIdentifier","src":"424351:5:19"},{"arguments":[{"name":"shift","nativeSrc":"424362:5:19","nodeType":"YulIdentifier","src":"424362:5:19"},{"name":"w","nativeSrc":"424369:1:19","nodeType":"YulIdentifier","src":"424369:1:19"}],"functionName":{"name":"shr","nativeSrc":"424358:3:19","nodeType":"YulIdentifier","src":"424358:3:19"},"nativeSrc":"424358:13:19","nodeType":"YulFunctionCall","src":"424358:13:19"}],"functionName":{"name":"shl","nativeSrc":"424347:3:19","nodeType":"YulIdentifier","src":"424347:3:19"},"nativeSrc":"424347:25:19","nodeType":"YulFunctionCall","src":"424347:25:19"}],"functionName":{"name":"mstore","nativeSrc":"424324:6:19","nodeType":"YulIdentifier","src":"424324:6:19"},"nativeSrc":"424324:49:19","nodeType":"YulFunctionCall","src":"424324:49:19"},"nativeSrc":"424324:49:19","nodeType":"YulExpressionStatement","src":"424324:49:19"}]},"name":"writeString","nativeSrc":"424045:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"424066:3:19","nodeType":"YulTypedName","src":"424066:3:19","type":""},{"name":"w","nativeSrc":"424071:1:19","nodeType":"YulTypedName","src":"424071:1:19","type":""}],"src":"424045:342:19"},{"nativeSrc":"424400:17:19","nodeType":"YulAssignment","src":"424400:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"424412:4:19","nodeType":"YulLiteral","src":"424412:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"424406:5:19","nodeType":"YulIdentifier","src":"424406:5:19"},"nativeSrc":"424406:11:19","nodeType":"YulFunctionCall","src":"424406:11:19"},"variableNames":[{"name":"m0","nativeSrc":"424400:2:19","nodeType":"YulIdentifier","src":"424400:2:19"}]},{"nativeSrc":"424430:17:19","nodeType":"YulAssignment","src":"424430:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"424442:4:19","nodeType":"YulLiteral","src":"424442:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"424436:5:19","nodeType":"YulIdentifier","src":"424436:5:19"},"nativeSrc":"424436:11:19","nodeType":"YulFunctionCall","src":"424436:11:19"},"variableNames":[{"name":"m1","nativeSrc":"424430:2:19","nodeType":"YulIdentifier","src":"424430:2:19"}]},{"nativeSrc":"424460:17:19","nodeType":"YulAssignment","src":"424460:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"424472:4:19","nodeType":"YulLiteral","src":"424472:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"424466:5:19","nodeType":"YulIdentifier","src":"424466:5:19"},"nativeSrc":"424466:11:19","nodeType":"YulFunctionCall","src":"424466:11:19"},"variableNames":[{"name":"m2","nativeSrc":"424460:2:19","nodeType":"YulIdentifier","src":"424460:2:19"}]},{"nativeSrc":"424490:17:19","nodeType":"YulAssignment","src":"424490:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"424502:4:19","nodeType":"YulLiteral","src":"424502:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"424496:5:19","nodeType":"YulIdentifier","src":"424496:5:19"},"nativeSrc":"424496:11:19","nodeType":"YulFunctionCall","src":"424496:11:19"},"variableNames":[{"name":"m3","nativeSrc":"424490:2:19","nodeType":"YulIdentifier","src":"424490:2:19"}]},{"nativeSrc":"424520:17:19","nodeType":"YulAssignment","src":"424520:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"424532:4:19","nodeType":"YulLiteral","src":"424532:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"424526:5:19","nodeType":"YulIdentifier","src":"424526:5:19"},"nativeSrc":"424526:11:19","nodeType":"YulFunctionCall","src":"424526:11:19"},"variableNames":[{"name":"m4","nativeSrc":"424520:2:19","nodeType":"YulIdentifier","src":"424520:2:19"}]},{"nativeSrc":"424550:17:19","nodeType":"YulAssignment","src":"424550:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"424562:4:19","nodeType":"YulLiteral","src":"424562:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"424556:5:19","nodeType":"YulIdentifier","src":"424556:5:19"},"nativeSrc":"424556:11:19","nodeType":"YulFunctionCall","src":"424556:11:19"},"variableNames":[{"name":"m5","nativeSrc":"424550:2:19","nodeType":"YulIdentifier","src":"424550:2:19"}]},{"nativeSrc":"424580:17:19","nodeType":"YulAssignment","src":"424580:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"424592:4:19","nodeType":"YulLiteral","src":"424592:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"424586:5:19","nodeType":"YulIdentifier","src":"424586:5:19"},"nativeSrc":"424586:11:19","nodeType":"YulFunctionCall","src":"424586:11:19"},"variableNames":[{"name":"m6","nativeSrc":"424580:2:19","nodeType":"YulIdentifier","src":"424580:2:19"}]},{"nativeSrc":"424610:17:19","nodeType":"YulAssignment","src":"424610:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"424622:4:19","nodeType":"YulLiteral","src":"424622:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"424616:5:19","nodeType":"YulIdentifier","src":"424616:5:19"},"nativeSrc":"424616:11:19","nodeType":"YulFunctionCall","src":"424616:11:19"},"variableNames":[{"name":"m7","nativeSrc":"424610:2:19","nodeType":"YulIdentifier","src":"424610:2:19"}]},{"nativeSrc":"424640:18:19","nodeType":"YulAssignment","src":"424640:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"424652:5:19","nodeType":"YulLiteral","src":"424652:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"424646:5:19","nodeType":"YulIdentifier","src":"424646:5:19"},"nativeSrc":"424646:12:19","nodeType":"YulFunctionCall","src":"424646:12:19"},"variableNames":[{"name":"m8","nativeSrc":"424640:2:19","nodeType":"YulIdentifier","src":"424640:2:19"}]},{"nativeSrc":"424671:18:19","nodeType":"YulAssignment","src":"424671:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"424683:5:19","nodeType":"YulLiteral","src":"424683:5:19","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"424677:5:19","nodeType":"YulIdentifier","src":"424677:5:19"},"nativeSrc":"424677:12:19","nodeType":"YulFunctionCall","src":"424677:12:19"},"variableNames":[{"name":"m9","nativeSrc":"424671:2:19","nodeType":"YulIdentifier","src":"424671:2:19"}]},{"nativeSrc":"424702:19:19","nodeType":"YulAssignment","src":"424702:19:19","value":{"arguments":[{"kind":"number","nativeSrc":"424715:5:19","nodeType":"YulLiteral","src":"424715:5:19","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"424709:5:19","nodeType":"YulIdentifier","src":"424709:5:19"},"nativeSrc":"424709:12:19","nodeType":"YulFunctionCall","src":"424709:12:19"},"variableNames":[{"name":"m10","nativeSrc":"424702:3:19","nodeType":"YulIdentifier","src":"424702:3:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"424805:4:19","nodeType":"YulLiteral","src":"424805:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"424811:10:19","nodeType":"YulLiteral","src":"424811:10:19","type":"","value":"0x8eafb02b"}],"functionName":{"name":"mstore","nativeSrc":"424798:6:19","nodeType":"YulIdentifier","src":"424798:6:19"},"nativeSrc":"424798:24:19","nodeType":"YulFunctionCall","src":"424798:24:19"},"nativeSrc":"424798:24:19","nodeType":"YulExpressionStatement","src":"424798:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"424842:4:19","nodeType":"YulLiteral","src":"424842:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"424848:4:19","nodeType":"YulLiteral","src":"424848:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"424835:6:19","nodeType":"YulIdentifier","src":"424835:6:19"},"nativeSrc":"424835:18:19","nodeType":"YulFunctionCall","src":"424835:18:19"},"nativeSrc":"424835:18:19","nodeType":"YulExpressionStatement","src":"424835:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"424873:4:19","nodeType":"YulLiteral","src":"424873:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"424879:4:19","nodeType":"YulLiteral","src":"424879:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"424866:6:19","nodeType":"YulIdentifier","src":"424866:6:19"},"nativeSrc":"424866:18:19","nodeType":"YulFunctionCall","src":"424866:18:19"},"nativeSrc":"424866:18:19","nodeType":"YulExpressionStatement","src":"424866:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"424904:4:19","nodeType":"YulLiteral","src":"424904:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"424910:5:19","nodeType":"YulLiteral","src":"424910:5:19","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"424897:6:19","nodeType":"YulIdentifier","src":"424897:6:19"},"nativeSrc":"424897:19:19","nodeType":"YulFunctionCall","src":"424897:19:19"},"nativeSrc":"424897:19:19","nodeType":"YulExpressionStatement","src":"424897:19:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"424936:4:19","nodeType":"YulLiteral","src":"424936:4:19","type":"","value":"0x80"},{"name":"p3","nativeSrc":"424942:2:19","nodeType":"YulIdentifier","src":"424942:2:19"}],"functionName":{"name":"mstore","nativeSrc":"424929:6:19","nodeType":"YulIdentifier","src":"424929:6:19"},"nativeSrc":"424929:16:19","nodeType":"YulFunctionCall","src":"424929:16:19"},"nativeSrc":"424929:16:19","nodeType":"YulExpressionStatement","src":"424929:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"424970:4:19","nodeType":"YulLiteral","src":"424970:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"424976:2:19","nodeType":"YulIdentifier","src":"424976:2:19"}],"functionName":{"name":"writeString","nativeSrc":"424958:11:19","nodeType":"YulIdentifier","src":"424958:11:19"},"nativeSrc":"424958:21:19","nodeType":"YulFunctionCall","src":"424958:21:19"},"nativeSrc":"424958:21:19","nodeType":"YulExpressionStatement","src":"424958:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425004:4:19","nodeType":"YulLiteral","src":"425004:4:19","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"425010:2:19","nodeType":"YulIdentifier","src":"425010:2:19"}],"functionName":{"name":"writeString","nativeSrc":"424992:11:19","nodeType":"YulIdentifier","src":"424992:11:19"},"nativeSrc":"424992:21:19","nodeType":"YulFunctionCall","src":"424992:21:19"},"nativeSrc":"424992:21:19","nodeType":"YulExpressionStatement","src":"424992:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425038:5:19","nodeType":"YulLiteral","src":"425038:5:19","type":"","value":"0x120"},{"name":"p2","nativeSrc":"425045:2:19","nodeType":"YulIdentifier","src":"425045:2:19"}],"functionName":{"name":"writeString","nativeSrc":"425026:11:19","nodeType":"YulIdentifier","src":"425026:11:19"},"nativeSrc":"425026:22:19","nodeType":"YulFunctionCall","src":"425026:22:19"},"nativeSrc":"425026:22:19","nodeType":"YulExpressionStatement","src":"425026:22:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39260,"isOffset":false,"isSlot":false,"src":"424400:2:19","valueSize":1},{"declaration":39263,"isOffset":false,"isSlot":false,"src":"424430:2:19","valueSize":1},{"declaration":39290,"isOffset":false,"isSlot":false,"src":"424702:3:19","valueSize":1},{"declaration":39266,"isOffset":false,"isSlot":false,"src":"424460:2:19","valueSize":1},{"declaration":39269,"isOffset":false,"isSlot":false,"src":"424490:2:19","valueSize":1},{"declaration":39272,"isOffset":false,"isSlot":false,"src":"424520:2:19","valueSize":1},{"declaration":39275,"isOffset":false,"isSlot":false,"src":"424550:2:19","valueSize":1},{"declaration":39278,"isOffset":false,"isSlot":false,"src":"424580:2:19","valueSize":1},{"declaration":39281,"isOffset":false,"isSlot":false,"src":"424610:2:19","valueSize":1},{"declaration":39284,"isOffset":false,"isSlot":false,"src":"424640:2:19","valueSize":1},{"declaration":39287,"isOffset":false,"isSlot":false,"src":"424671:2:19","valueSize":1},{"declaration":39250,"isOffset":false,"isSlot":false,"src":"424976:2:19","valueSize":1},{"declaration":39252,"isOffset":false,"isSlot":false,"src":"425010:2:19","valueSize":1},{"declaration":39254,"isOffset":false,"isSlot":false,"src":"425045:2:19","valueSize":1},{"declaration":39256,"isOffset":false,"isSlot":false,"src":"424942:2:19","valueSize":1}],"id":39292,"nodeType":"InlineAssembly","src":"424022:1036:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":39294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"425083:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313434","id":39295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"425089:5:19","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"0x144"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"}],"id":39293,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"425067:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"425067:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39297,"nodeType":"ExpressionStatement","src":"425067:28:19"},{"AST":{"nativeSrc":"425157:334:19","nodeType":"YulBlock","src":"425157:334:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"425178:4:19","nodeType":"YulLiteral","src":"425178:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"425184:2:19","nodeType":"YulIdentifier","src":"425184:2:19"}],"functionName":{"name":"mstore","nativeSrc":"425171:6:19","nodeType":"YulIdentifier","src":"425171:6:19"},"nativeSrc":"425171:16:19","nodeType":"YulFunctionCall","src":"425171:16:19"},"nativeSrc":"425171:16:19","nodeType":"YulExpressionStatement","src":"425171:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425207:4:19","nodeType":"YulLiteral","src":"425207:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"425213:2:19","nodeType":"YulIdentifier","src":"425213:2:19"}],"functionName":{"name":"mstore","nativeSrc":"425200:6:19","nodeType":"YulIdentifier","src":"425200:6:19"},"nativeSrc":"425200:16:19","nodeType":"YulFunctionCall","src":"425200:16:19"},"nativeSrc":"425200:16:19","nodeType":"YulExpressionStatement","src":"425200:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425236:4:19","nodeType":"YulLiteral","src":"425236:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"425242:2:19","nodeType":"YulIdentifier","src":"425242:2:19"}],"functionName":{"name":"mstore","nativeSrc":"425229:6:19","nodeType":"YulIdentifier","src":"425229:6:19"},"nativeSrc":"425229:16:19","nodeType":"YulFunctionCall","src":"425229:16:19"},"nativeSrc":"425229:16:19","nodeType":"YulExpressionStatement","src":"425229:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425265:4:19","nodeType":"YulLiteral","src":"425265:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"425271:2:19","nodeType":"YulIdentifier","src":"425271:2:19"}],"functionName":{"name":"mstore","nativeSrc":"425258:6:19","nodeType":"YulIdentifier","src":"425258:6:19"},"nativeSrc":"425258:16:19","nodeType":"YulFunctionCall","src":"425258:16:19"},"nativeSrc":"425258:16:19","nodeType":"YulExpressionStatement","src":"425258:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425294:4:19","nodeType":"YulLiteral","src":"425294:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"425300:2:19","nodeType":"YulIdentifier","src":"425300:2:19"}],"functionName":{"name":"mstore","nativeSrc":"425287:6:19","nodeType":"YulIdentifier","src":"425287:6:19"},"nativeSrc":"425287:16:19","nodeType":"YulFunctionCall","src":"425287:16:19"},"nativeSrc":"425287:16:19","nodeType":"YulExpressionStatement","src":"425287:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425323:4:19","nodeType":"YulLiteral","src":"425323:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"425329:2:19","nodeType":"YulIdentifier","src":"425329:2:19"}],"functionName":{"name":"mstore","nativeSrc":"425316:6:19","nodeType":"YulIdentifier","src":"425316:6:19"},"nativeSrc":"425316:16:19","nodeType":"YulFunctionCall","src":"425316:16:19"},"nativeSrc":"425316:16:19","nodeType":"YulExpressionStatement","src":"425316:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425352:4:19","nodeType":"YulLiteral","src":"425352:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"425358:2:19","nodeType":"YulIdentifier","src":"425358:2:19"}],"functionName":{"name":"mstore","nativeSrc":"425345:6:19","nodeType":"YulIdentifier","src":"425345:6:19"},"nativeSrc":"425345:16:19","nodeType":"YulFunctionCall","src":"425345:16:19"},"nativeSrc":"425345:16:19","nodeType":"YulExpressionStatement","src":"425345:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425381:4:19","nodeType":"YulLiteral","src":"425381:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"425387:2:19","nodeType":"YulIdentifier","src":"425387:2:19"}],"functionName":{"name":"mstore","nativeSrc":"425374:6:19","nodeType":"YulIdentifier","src":"425374:6:19"},"nativeSrc":"425374:16:19","nodeType":"YulFunctionCall","src":"425374:16:19"},"nativeSrc":"425374:16:19","nodeType":"YulExpressionStatement","src":"425374:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425410:5:19","nodeType":"YulLiteral","src":"425410:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"425417:2:19","nodeType":"YulIdentifier","src":"425417:2:19"}],"functionName":{"name":"mstore","nativeSrc":"425403:6:19","nodeType":"YulIdentifier","src":"425403:6:19"},"nativeSrc":"425403:17:19","nodeType":"YulFunctionCall","src":"425403:17:19"},"nativeSrc":"425403:17:19","nodeType":"YulExpressionStatement","src":"425403:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425440:5:19","nodeType":"YulLiteral","src":"425440:5:19","type":"","value":"0x120"},{"name":"m9","nativeSrc":"425447:2:19","nodeType":"YulIdentifier","src":"425447:2:19"}],"functionName":{"name":"mstore","nativeSrc":"425433:6:19","nodeType":"YulIdentifier","src":"425433:6:19"},"nativeSrc":"425433:17:19","nodeType":"YulFunctionCall","src":"425433:17:19"},"nativeSrc":"425433:17:19","nodeType":"YulExpressionStatement","src":"425433:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"425470:5:19","nodeType":"YulLiteral","src":"425470:5:19","type":"","value":"0x140"},{"name":"m10","nativeSrc":"425477:3:19","nodeType":"YulIdentifier","src":"425477:3:19"}],"functionName":{"name":"mstore","nativeSrc":"425463:6:19","nodeType":"YulIdentifier","src":"425463:6:19"},"nativeSrc":"425463:18:19","nodeType":"YulFunctionCall","src":"425463:18:19"},"nativeSrc":"425463:18:19","nodeType":"YulExpressionStatement","src":"425463:18:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39260,"isOffset":false,"isSlot":false,"src":"425184:2:19","valueSize":1},{"declaration":39263,"isOffset":false,"isSlot":false,"src":"425213:2:19","valueSize":1},{"declaration":39290,"isOffset":false,"isSlot":false,"src":"425477:3:19","valueSize":1},{"declaration":39266,"isOffset":false,"isSlot":false,"src":"425242:2:19","valueSize":1},{"declaration":39269,"isOffset":false,"isSlot":false,"src":"425271:2:19","valueSize":1},{"declaration":39272,"isOffset":false,"isSlot":false,"src":"425300:2:19","valueSize":1},{"declaration":39275,"isOffset":false,"isSlot":false,"src":"425329:2:19","valueSize":1},{"declaration":39278,"isOffset":false,"isSlot":false,"src":"425358:2:19","valueSize":1},{"declaration":39281,"isOffset":false,"isSlot":false,"src":"425387:2:19","valueSize":1},{"declaration":39284,"isOffset":false,"isSlot":false,"src":"425417:2:19","valueSize":1},{"declaration":39287,"isOffset":false,"isSlot":false,"src":"425447:2:19","valueSize":1}],"id":39298,"nodeType":"InlineAssembly","src":"425148:343:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"423682:3:19","parameters":{"id":39257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39250,"mutability":"mutable","name":"p0","nameLocation":"423694:2:19","nodeType":"VariableDeclaration","scope":39300,"src":"423686:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423686:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39252,"mutability":"mutable","name":"p1","nameLocation":"423706:2:19","nodeType":"VariableDeclaration","scope":39300,"src":"423698:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39251,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423698:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39254,"mutability":"mutable","name":"p2","nameLocation":"423718:2:19","nodeType":"VariableDeclaration","scope":39300,"src":"423710:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39253,"name":"bytes32","nodeType":"ElementaryTypeName","src":"423710:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39256,"mutability":"mutable","name":"p3","nameLocation":"423730:2:19","nodeType":"VariableDeclaration","scope":39300,"src":"423722:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39255,"name":"uint256","nodeType":"ElementaryTypeName","src":"423722:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"423685:48:19"},"returnParameters":{"id":39258,"nodeType":"ParameterList","parameters":[],"src":"423748:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":39358,"nodeType":"FunctionDefinition","src":"425503:2029:19","nodes":[],"body":{"id":39357,"nodeType":"Block","src":"425578:1954:19","nodes":[],"statements":[{"assignments":[39312],"declarations":[{"constant":false,"id":39312,"mutability":"mutable","name":"m0","nameLocation":"425596:2:19","nodeType":"VariableDeclaration","scope":39357,"src":"425588:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39311,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425588:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39313,"nodeType":"VariableDeclarationStatement","src":"425588:10:19"},{"assignments":[39315],"declarations":[{"constant":false,"id":39315,"mutability":"mutable","name":"m1","nameLocation":"425616:2:19","nodeType":"VariableDeclaration","scope":39357,"src":"425608:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39314,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425608:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39316,"nodeType":"VariableDeclarationStatement","src":"425608:10:19"},{"assignments":[39318],"declarations":[{"constant":false,"id":39318,"mutability":"mutable","name":"m2","nameLocation":"425636:2:19","nodeType":"VariableDeclaration","scope":39357,"src":"425628:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39317,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425628:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39319,"nodeType":"VariableDeclarationStatement","src":"425628:10:19"},{"assignments":[39321],"declarations":[{"constant":false,"id":39321,"mutability":"mutable","name":"m3","nameLocation":"425656:2:19","nodeType":"VariableDeclaration","scope":39357,"src":"425648:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39320,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425648:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39322,"nodeType":"VariableDeclarationStatement","src":"425648:10:19"},{"assignments":[39324],"declarations":[{"constant":false,"id":39324,"mutability":"mutable","name":"m4","nameLocation":"425676:2:19","nodeType":"VariableDeclaration","scope":39357,"src":"425668:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425668:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39325,"nodeType":"VariableDeclarationStatement","src":"425668:10:19"},{"assignments":[39327],"declarations":[{"constant":false,"id":39327,"mutability":"mutable","name":"m5","nameLocation":"425696:2:19","nodeType":"VariableDeclaration","scope":39357,"src":"425688:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39326,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425688:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39328,"nodeType":"VariableDeclarationStatement","src":"425688:10:19"},{"assignments":[39330],"declarations":[{"constant":false,"id":39330,"mutability":"mutable","name":"m6","nameLocation":"425716:2:19","nodeType":"VariableDeclaration","scope":39357,"src":"425708:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39329,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425708:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39331,"nodeType":"VariableDeclarationStatement","src":"425708:10:19"},{"assignments":[39333],"declarations":[{"constant":false,"id":39333,"mutability":"mutable","name":"m7","nameLocation":"425736:2:19","nodeType":"VariableDeclaration","scope":39357,"src":"425728:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39332,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425728:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39334,"nodeType":"VariableDeclarationStatement","src":"425728:10:19"},{"assignments":[39336],"declarations":[{"constant":false,"id":39336,"mutability":"mutable","name":"m8","nameLocation":"425756:2:19","nodeType":"VariableDeclaration","scope":39357,"src":"425748:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39335,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425748:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39337,"nodeType":"VariableDeclarationStatement","src":"425748:10:19"},{"assignments":[39339],"declarations":[{"constant":false,"id":39339,"mutability":"mutable","name":"m9","nameLocation":"425776:2:19","nodeType":"VariableDeclaration","scope":39357,"src":"425768:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39338,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425768:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39340,"nodeType":"VariableDeclarationStatement","src":"425768:10:19"},{"assignments":[39342],"declarations":[{"constant":false,"id":39342,"mutability":"mutable","name":"m10","nameLocation":"425796:3:19","nodeType":"VariableDeclaration","scope":39357,"src":"425788:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39341,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425788:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39343,"nodeType":"VariableDeclarationStatement","src":"425788:11:19"},{"assignments":[39345],"declarations":[{"constant":false,"id":39345,"mutability":"mutable","name":"m11","nameLocation":"425817:3:19","nodeType":"VariableDeclaration","scope":39357,"src":"425809:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39344,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425809:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39346,"nodeType":"VariableDeclarationStatement","src":"425809:11:19"},{"assignments":[39348],"declarations":[{"constant":false,"id":39348,"mutability":"mutable","name":"m12","nameLocation":"425838:3:19","nodeType":"VariableDeclaration","scope":39357,"src":"425830:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39347,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425830:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39349,"nodeType":"VariableDeclarationStatement","src":"425830:11:19"},{"AST":{"nativeSrc":"425903:1128:19","nodeType":"YulBlock","src":"425903:1128:19","statements":[{"body":{"nativeSrc":"425946:313:19","nodeType":"YulBlock","src":"425946:313:19","statements":[{"nativeSrc":"425964:15:19","nodeType":"YulVariableDeclaration","src":"425964:15:19","value":{"kind":"number","nativeSrc":"425978:1:19","nodeType":"YulLiteral","src":"425978:1:19","type":"","value":"0"},"variables":[{"name":"length","nativeSrc":"425968:6:19","nodeType":"YulTypedName","src":"425968:6:19","type":""}]},{"body":{"nativeSrc":"426049:40:19","nodeType":"YulBlock","src":"426049:40:19","statements":[{"body":{"nativeSrc":"426078:9:19","nodeType":"YulBlock","src":"426078:9:19","statements":[{"nativeSrc":"426080:5:19","nodeType":"YulBreak","src":"426080:5:19"}]},"condition":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"426066:6:19","nodeType":"YulIdentifier","src":"426066:6:19"},{"name":"w","nativeSrc":"426074:1:19","nodeType":"YulIdentifier","src":"426074:1:19"}],"functionName":{"name":"byte","nativeSrc":"426061:4:19","nodeType":"YulIdentifier","src":"426061:4:19"},"nativeSrc":"426061:15:19","nodeType":"YulFunctionCall","src":"426061:15:19"}],"functionName":{"name":"iszero","nativeSrc":"426054:6:19","nodeType":"YulIdentifier","src":"426054:6:19"},"nativeSrc":"426054:23:19","nodeType":"YulFunctionCall","src":"426054:23:19"},"nativeSrc":"426051:36:19","nodeType":"YulIf","src":"426051:36:19"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"426006:6:19","nodeType":"YulIdentifier","src":"426006:6:19"},{"kind":"number","nativeSrc":"426014:4:19","nodeType":"YulLiteral","src":"426014:4:19","type":"","value":"0x20"}],"functionName":{"name":"lt","nativeSrc":"426003:2:19","nodeType":"YulIdentifier","src":"426003:2:19"},"nativeSrc":"426003:16:19","nodeType":"YulFunctionCall","src":"426003:16:19"},"nativeSrc":"425996:93:19","nodeType":"YulForLoop","post":{"nativeSrc":"426020:28:19","nodeType":"YulBlock","src":"426020:28:19","statements":[{"nativeSrc":"426022:24:19","nodeType":"YulAssignment","src":"426022:24:19","value":{"arguments":[{"name":"length","nativeSrc":"426036:6:19","nodeType":"YulIdentifier","src":"426036:6:19"},{"kind":"number","nativeSrc":"426044:1:19","nodeType":"YulLiteral","src":"426044:1:19","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"426032:3:19","nodeType":"YulIdentifier","src":"426032:3:19"},"nativeSrc":"426032:14:19","nodeType":"YulFunctionCall","src":"426032:14:19"},"variableNames":[{"name":"length","nativeSrc":"426022:6:19","nodeType":"YulIdentifier","src":"426022:6:19"}]}]},"pre":{"nativeSrc":"426000:2:19","nodeType":"YulBlock","src":"426000:2:19","statements":[]},"src":"425996:93:19"},{"expression":{"arguments":[{"name":"pos","nativeSrc":"426113:3:19","nodeType":"YulIdentifier","src":"426113:3:19"},{"name":"length","nativeSrc":"426118:6:19","nodeType":"YulIdentifier","src":"426118:6:19"}],"functionName":{"name":"mstore","nativeSrc":"426106:6:19","nodeType":"YulIdentifier","src":"426106:6:19"},"nativeSrc":"426106:19:19","nodeType":"YulFunctionCall","src":"426106:19:19"},"nativeSrc":"426106:19:19","nodeType":"YulExpressionStatement","src":"426106:19:19"},{"nativeSrc":"426142:37:19","nodeType":"YulVariableDeclaration","src":"426142:37:19","value":{"arguments":[{"kind":"number","nativeSrc":"426159:3:19","nodeType":"YulLiteral","src":"426159:3:19","type":"","value":"256"},{"arguments":[{"kind":"number","nativeSrc":"426168:1:19","nodeType":"YulLiteral","src":"426168:1:19","type":"","value":"3"},{"name":"length","nativeSrc":"426171:6:19","nodeType":"YulIdentifier","src":"426171:6:19"}],"functionName":{"name":"shl","nativeSrc":"426164:3:19","nodeType":"YulIdentifier","src":"426164:3:19"},"nativeSrc":"426164:14:19","nodeType":"YulFunctionCall","src":"426164:14:19"}],"functionName":{"name":"sub","nativeSrc":"426155:3:19","nodeType":"YulIdentifier","src":"426155:3:19"},"nativeSrc":"426155:24:19","nodeType":"YulFunctionCall","src":"426155:24:19"},"variables":[{"name":"shift","nativeSrc":"426146:5:19","nodeType":"YulTypedName","src":"426146:5:19","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nativeSrc":"426207:3:19","nodeType":"YulIdentifier","src":"426207:3:19"},{"kind":"number","nativeSrc":"426212:4:19","nodeType":"YulLiteral","src":"426212:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"426203:3:19","nodeType":"YulIdentifier","src":"426203:3:19"},"nativeSrc":"426203:14:19","nodeType":"YulFunctionCall","src":"426203:14:19"},{"arguments":[{"name":"shift","nativeSrc":"426223:5:19","nodeType":"YulIdentifier","src":"426223:5:19"},{"arguments":[{"name":"shift","nativeSrc":"426234:5:19","nodeType":"YulIdentifier","src":"426234:5:19"},{"name":"w","nativeSrc":"426241:1:19","nodeType":"YulIdentifier","src":"426241:1:19"}],"functionName":{"name":"shr","nativeSrc":"426230:3:19","nodeType":"YulIdentifier","src":"426230:3:19"},"nativeSrc":"426230:13:19","nodeType":"YulFunctionCall","src":"426230:13:19"}],"functionName":{"name":"shl","nativeSrc":"426219:3:19","nodeType":"YulIdentifier","src":"426219:3:19"},"nativeSrc":"426219:25:19","nodeType":"YulFunctionCall","src":"426219:25:19"}],"functionName":{"name":"mstore","nativeSrc":"426196:6:19","nodeType":"YulIdentifier","src":"426196:6:19"},"nativeSrc":"426196:49:19","nodeType":"YulFunctionCall","src":"426196:49:19"},"nativeSrc":"426196:49:19","nodeType":"YulExpressionStatement","src":"426196:49:19"}]},"name":"writeString","nativeSrc":"425917:342:19","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"425938:3:19","nodeType":"YulTypedName","src":"425938:3:19","type":""},{"name":"w","nativeSrc":"425943:1:19","nodeType":"YulTypedName","src":"425943:1:19","type":""}],"src":"425917:342:19"},{"nativeSrc":"426272:17:19","nodeType":"YulAssignment","src":"426272:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"426284:4:19","nodeType":"YulLiteral","src":"426284:4:19","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"426278:5:19","nodeType":"YulIdentifier","src":"426278:5:19"},"nativeSrc":"426278:11:19","nodeType":"YulFunctionCall","src":"426278:11:19"},"variableNames":[{"name":"m0","nativeSrc":"426272:2:19","nodeType":"YulIdentifier","src":"426272:2:19"}]},{"nativeSrc":"426302:17:19","nodeType":"YulAssignment","src":"426302:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"426314:4:19","nodeType":"YulLiteral","src":"426314:4:19","type":"","value":"0x20"}],"functionName":{"name":"mload","nativeSrc":"426308:5:19","nodeType":"YulIdentifier","src":"426308:5:19"},"nativeSrc":"426308:11:19","nodeType":"YulFunctionCall","src":"426308:11:19"},"variableNames":[{"name":"m1","nativeSrc":"426302:2:19","nodeType":"YulIdentifier","src":"426302:2:19"}]},{"nativeSrc":"426332:17:19","nodeType":"YulAssignment","src":"426332:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"426344:4:19","nodeType":"YulLiteral","src":"426344:4:19","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"426338:5:19","nodeType":"YulIdentifier","src":"426338:5:19"},"nativeSrc":"426338:11:19","nodeType":"YulFunctionCall","src":"426338:11:19"},"variableNames":[{"name":"m2","nativeSrc":"426332:2:19","nodeType":"YulIdentifier","src":"426332:2:19"}]},{"nativeSrc":"426362:17:19","nodeType":"YulAssignment","src":"426362:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"426374:4:19","nodeType":"YulLiteral","src":"426374:4:19","type":"","value":"0x60"}],"functionName":{"name":"mload","nativeSrc":"426368:5:19","nodeType":"YulIdentifier","src":"426368:5:19"},"nativeSrc":"426368:11:19","nodeType":"YulFunctionCall","src":"426368:11:19"},"variableNames":[{"name":"m3","nativeSrc":"426362:2:19","nodeType":"YulIdentifier","src":"426362:2:19"}]},{"nativeSrc":"426392:17:19","nodeType":"YulAssignment","src":"426392:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"426404:4:19","nodeType":"YulLiteral","src":"426404:4:19","type":"","value":"0x80"}],"functionName":{"name":"mload","nativeSrc":"426398:5:19","nodeType":"YulIdentifier","src":"426398:5:19"},"nativeSrc":"426398:11:19","nodeType":"YulFunctionCall","src":"426398:11:19"},"variableNames":[{"name":"m4","nativeSrc":"426392:2:19","nodeType":"YulIdentifier","src":"426392:2:19"}]},{"nativeSrc":"426422:17:19","nodeType":"YulAssignment","src":"426422:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"426434:4:19","nodeType":"YulLiteral","src":"426434:4:19","type":"","value":"0xa0"}],"functionName":{"name":"mload","nativeSrc":"426428:5:19","nodeType":"YulIdentifier","src":"426428:5:19"},"nativeSrc":"426428:11:19","nodeType":"YulFunctionCall","src":"426428:11:19"},"variableNames":[{"name":"m5","nativeSrc":"426422:2:19","nodeType":"YulIdentifier","src":"426422:2:19"}]},{"nativeSrc":"426452:17:19","nodeType":"YulAssignment","src":"426452:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"426464:4:19","nodeType":"YulLiteral","src":"426464:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mload","nativeSrc":"426458:5:19","nodeType":"YulIdentifier","src":"426458:5:19"},"nativeSrc":"426458:11:19","nodeType":"YulFunctionCall","src":"426458:11:19"},"variableNames":[{"name":"m6","nativeSrc":"426452:2:19","nodeType":"YulIdentifier","src":"426452:2:19"}]},{"nativeSrc":"426482:17:19","nodeType":"YulAssignment","src":"426482:17:19","value":{"arguments":[{"kind":"number","nativeSrc":"426494:4:19","nodeType":"YulLiteral","src":"426494:4:19","type":"","value":"0xe0"}],"functionName":{"name":"mload","nativeSrc":"426488:5:19","nodeType":"YulIdentifier","src":"426488:5:19"},"nativeSrc":"426488:11:19","nodeType":"YulFunctionCall","src":"426488:11:19"},"variableNames":[{"name":"m7","nativeSrc":"426482:2:19","nodeType":"YulIdentifier","src":"426482:2:19"}]},{"nativeSrc":"426512:18:19","nodeType":"YulAssignment","src":"426512:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"426524:5:19","nodeType":"YulLiteral","src":"426524:5:19","type":"","value":"0x100"}],"functionName":{"name":"mload","nativeSrc":"426518:5:19","nodeType":"YulIdentifier","src":"426518:5:19"},"nativeSrc":"426518:12:19","nodeType":"YulFunctionCall","src":"426518:12:19"},"variableNames":[{"name":"m8","nativeSrc":"426512:2:19","nodeType":"YulIdentifier","src":"426512:2:19"}]},{"nativeSrc":"426543:18:19","nodeType":"YulAssignment","src":"426543:18:19","value":{"arguments":[{"kind":"number","nativeSrc":"426555:5:19","nodeType":"YulLiteral","src":"426555:5:19","type":"","value":"0x120"}],"functionName":{"name":"mload","nativeSrc":"426549:5:19","nodeType":"YulIdentifier","src":"426549:5:19"},"nativeSrc":"426549:12:19","nodeType":"YulFunctionCall","src":"426549:12:19"},"variableNames":[{"name":"m9","nativeSrc":"426543:2:19","nodeType":"YulIdentifier","src":"426543:2:19"}]},{"nativeSrc":"426574:19:19","nodeType":"YulAssignment","src":"426574:19:19","value":{"arguments":[{"kind":"number","nativeSrc":"426587:5:19","nodeType":"YulLiteral","src":"426587:5:19","type":"","value":"0x140"}],"functionName":{"name":"mload","nativeSrc":"426581:5:19","nodeType":"YulIdentifier","src":"426581:5:19"},"nativeSrc":"426581:12:19","nodeType":"YulFunctionCall","src":"426581:12:19"},"variableNames":[{"name":"m10","nativeSrc":"426574:3:19","nodeType":"YulIdentifier","src":"426574:3:19"}]},{"nativeSrc":"426606:19:19","nodeType":"YulAssignment","src":"426606:19:19","value":{"arguments":[{"kind":"number","nativeSrc":"426619:5:19","nodeType":"YulLiteral","src":"426619:5:19","type":"","value":"0x160"}],"functionName":{"name":"mload","nativeSrc":"426613:5:19","nodeType":"YulIdentifier","src":"426613:5:19"},"nativeSrc":"426613:12:19","nodeType":"YulFunctionCall","src":"426613:12:19"},"variableNames":[{"name":"m11","nativeSrc":"426606:3:19","nodeType":"YulIdentifier","src":"426606:3:19"}]},{"nativeSrc":"426638:19:19","nodeType":"YulAssignment","src":"426638:19:19","value":{"arguments":[{"kind":"number","nativeSrc":"426651:5:19","nodeType":"YulLiteral","src":"426651:5:19","type":"","value":"0x180"}],"functionName":{"name":"mload","nativeSrc":"426645:5:19","nodeType":"YulIdentifier","src":"426645:5:19"},"nativeSrc":"426645:12:19","nodeType":"YulFunctionCall","src":"426645:12:19"},"variableNames":[{"name":"m12","nativeSrc":"426638:3:19","nodeType":"YulIdentifier","src":"426638:3:19"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"426740:4:19","nodeType":"YulLiteral","src":"426740:4:19","type":"","value":"0x00"},{"kind":"number","nativeSrc":"426746:10:19","nodeType":"YulLiteral","src":"426746:10:19","type":"","value":"0xde68f20a"}],"functionName":{"name":"mstore","nativeSrc":"426733:6:19","nodeType":"YulIdentifier","src":"426733:6:19"},"nativeSrc":"426733:24:19","nodeType":"YulFunctionCall","src":"426733:24:19"},"nativeSrc":"426733:24:19","nodeType":"YulExpressionStatement","src":"426733:24:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"426777:4:19","nodeType":"YulLiteral","src":"426777:4:19","type":"","value":"0x20"},{"kind":"number","nativeSrc":"426783:4:19","nodeType":"YulLiteral","src":"426783:4:19","type":"","value":"0x80"}],"functionName":{"name":"mstore","nativeSrc":"426770:6:19","nodeType":"YulIdentifier","src":"426770:6:19"},"nativeSrc":"426770:18:19","nodeType":"YulFunctionCall","src":"426770:18:19"},"nativeSrc":"426770:18:19","nodeType":"YulExpressionStatement","src":"426770:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"426808:4:19","nodeType":"YulLiteral","src":"426808:4:19","type":"","value":"0x40"},{"kind":"number","nativeSrc":"426814:4:19","nodeType":"YulLiteral","src":"426814:4:19","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nativeSrc":"426801:6:19","nodeType":"YulIdentifier","src":"426801:6:19"},"nativeSrc":"426801:18:19","nodeType":"YulFunctionCall","src":"426801:18:19"},"nativeSrc":"426801:18:19","nodeType":"YulExpressionStatement","src":"426801:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"426839:4:19","nodeType":"YulLiteral","src":"426839:4:19","type":"","value":"0x60"},{"kind":"number","nativeSrc":"426845:5:19","nodeType":"YulLiteral","src":"426845:5:19","type":"","value":"0x100"}],"functionName":{"name":"mstore","nativeSrc":"426832:6:19","nodeType":"YulIdentifier","src":"426832:6:19"},"nativeSrc":"426832:19:19","nodeType":"YulFunctionCall","src":"426832:19:19"},"nativeSrc":"426832:19:19","nodeType":"YulExpressionStatement","src":"426832:19:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"426871:4:19","nodeType":"YulLiteral","src":"426871:4:19","type":"","value":"0x80"},{"kind":"number","nativeSrc":"426877:5:19","nodeType":"YulLiteral","src":"426877:5:19","type":"","value":"0x140"}],"functionName":{"name":"mstore","nativeSrc":"426864:6:19","nodeType":"YulIdentifier","src":"426864:6:19"},"nativeSrc":"426864:19:19","nodeType":"YulFunctionCall","src":"426864:19:19"},"nativeSrc":"426864:19:19","nodeType":"YulExpressionStatement","src":"426864:19:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"426908:4:19","nodeType":"YulLiteral","src":"426908:4:19","type":"","value":"0xa0"},{"name":"p0","nativeSrc":"426914:2:19","nodeType":"YulIdentifier","src":"426914:2:19"}],"functionName":{"name":"writeString","nativeSrc":"426896:11:19","nodeType":"YulIdentifier","src":"426896:11:19"},"nativeSrc":"426896:21:19","nodeType":"YulFunctionCall","src":"426896:21:19"},"nativeSrc":"426896:21:19","nodeType":"YulExpressionStatement","src":"426896:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"426942:4:19","nodeType":"YulLiteral","src":"426942:4:19","type":"","value":"0xe0"},{"name":"p1","nativeSrc":"426948:2:19","nodeType":"YulIdentifier","src":"426948:2:19"}],"functionName":{"name":"writeString","nativeSrc":"426930:11:19","nodeType":"YulIdentifier","src":"426930:11:19"},"nativeSrc":"426930:21:19","nodeType":"YulFunctionCall","src":"426930:21:19"},"nativeSrc":"426930:21:19","nodeType":"YulExpressionStatement","src":"426930:21:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"426976:5:19","nodeType":"YulLiteral","src":"426976:5:19","type":"","value":"0x120"},{"name":"p2","nativeSrc":"426983:2:19","nodeType":"YulIdentifier","src":"426983:2:19"}],"functionName":{"name":"writeString","nativeSrc":"426964:11:19","nodeType":"YulIdentifier","src":"426964:11:19"},"nativeSrc":"426964:22:19","nodeType":"YulFunctionCall","src":"426964:22:19"},"nativeSrc":"426964:22:19","nodeType":"YulExpressionStatement","src":"426964:22:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427011:5:19","nodeType":"YulLiteral","src":"427011:5:19","type":"","value":"0x160"},{"name":"p3","nativeSrc":"427018:2:19","nodeType":"YulIdentifier","src":"427018:2:19"}],"functionName":{"name":"writeString","nativeSrc":"426999:11:19","nodeType":"YulIdentifier","src":"426999:11:19"},"nativeSrc":"426999:22:19","nodeType":"YulFunctionCall","src":"426999:22:19"},"nativeSrc":"426999:22:19","nodeType":"YulExpressionStatement","src":"426999:22:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39312,"isOffset":false,"isSlot":false,"src":"426272:2:19","valueSize":1},{"declaration":39315,"isOffset":false,"isSlot":false,"src":"426302:2:19","valueSize":1},{"declaration":39342,"isOffset":false,"isSlot":false,"src":"426574:3:19","valueSize":1},{"declaration":39345,"isOffset":false,"isSlot":false,"src":"426606:3:19","valueSize":1},{"declaration":39348,"isOffset":false,"isSlot":false,"src":"426638:3:19","valueSize":1},{"declaration":39318,"isOffset":false,"isSlot":false,"src":"426332:2:19","valueSize":1},{"declaration":39321,"isOffset":false,"isSlot":false,"src":"426362:2:19","valueSize":1},{"declaration":39324,"isOffset":false,"isSlot":false,"src":"426392:2:19","valueSize":1},{"declaration":39327,"isOffset":false,"isSlot":false,"src":"426422:2:19","valueSize":1},{"declaration":39330,"isOffset":false,"isSlot":false,"src":"426452:2:19","valueSize":1},{"declaration":39333,"isOffset":false,"isSlot":false,"src":"426482:2:19","valueSize":1},{"declaration":39336,"isOffset":false,"isSlot":false,"src":"426512:2:19","valueSize":1},{"declaration":39339,"isOffset":false,"isSlot":false,"src":"426543:2:19","valueSize":1},{"declaration":39302,"isOffset":false,"isSlot":false,"src":"426914:2:19","valueSize":1},{"declaration":39304,"isOffset":false,"isSlot":false,"src":"426948:2:19","valueSize":1},{"declaration":39306,"isOffset":false,"isSlot":false,"src":"426983:2:19","valueSize":1},{"declaration":39308,"isOffset":false,"isSlot":false,"src":"427018:2:19","valueSize":1}],"id":39350,"nodeType":"InlineAssembly","src":"425894:1137:19"},{"expression":{"arguments":[{"hexValue":"30783163","id":39352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"427056:4:19","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"0x1c"},{"hexValue":"3078313834","id":39353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"427062:5:19","typeDescriptions":{"typeIdentifier":"t_rational_388_by_1","typeString":"int_const 388"},"value":"0x184"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},{"typeIdentifier":"t_rational_388_by_1","typeString":"int_const 388"}],"id":39351,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26323,"src":"427040:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":39354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"427040:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39355,"nodeType":"ExpressionStatement","src":"427040:28:19"},{"AST":{"nativeSrc":"427130:396:19","nodeType":"YulBlock","src":"427130:396:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"427151:4:19","nodeType":"YulLiteral","src":"427151:4:19","type":"","value":"0x00"},{"name":"m0","nativeSrc":"427157:2:19","nodeType":"YulIdentifier","src":"427157:2:19"}],"functionName":{"name":"mstore","nativeSrc":"427144:6:19","nodeType":"YulIdentifier","src":"427144:6:19"},"nativeSrc":"427144:16:19","nodeType":"YulFunctionCall","src":"427144:16:19"},"nativeSrc":"427144:16:19","nodeType":"YulExpressionStatement","src":"427144:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427180:4:19","nodeType":"YulLiteral","src":"427180:4:19","type":"","value":"0x20"},{"name":"m1","nativeSrc":"427186:2:19","nodeType":"YulIdentifier","src":"427186:2:19"}],"functionName":{"name":"mstore","nativeSrc":"427173:6:19","nodeType":"YulIdentifier","src":"427173:6:19"},"nativeSrc":"427173:16:19","nodeType":"YulFunctionCall","src":"427173:16:19"},"nativeSrc":"427173:16:19","nodeType":"YulExpressionStatement","src":"427173:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427209:4:19","nodeType":"YulLiteral","src":"427209:4:19","type":"","value":"0x40"},{"name":"m2","nativeSrc":"427215:2:19","nodeType":"YulIdentifier","src":"427215:2:19"}],"functionName":{"name":"mstore","nativeSrc":"427202:6:19","nodeType":"YulIdentifier","src":"427202:6:19"},"nativeSrc":"427202:16:19","nodeType":"YulFunctionCall","src":"427202:16:19"},"nativeSrc":"427202:16:19","nodeType":"YulExpressionStatement","src":"427202:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427238:4:19","nodeType":"YulLiteral","src":"427238:4:19","type":"","value":"0x60"},{"name":"m3","nativeSrc":"427244:2:19","nodeType":"YulIdentifier","src":"427244:2:19"}],"functionName":{"name":"mstore","nativeSrc":"427231:6:19","nodeType":"YulIdentifier","src":"427231:6:19"},"nativeSrc":"427231:16:19","nodeType":"YulFunctionCall","src":"427231:16:19"},"nativeSrc":"427231:16:19","nodeType":"YulExpressionStatement","src":"427231:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427267:4:19","nodeType":"YulLiteral","src":"427267:4:19","type":"","value":"0x80"},{"name":"m4","nativeSrc":"427273:2:19","nodeType":"YulIdentifier","src":"427273:2:19"}],"functionName":{"name":"mstore","nativeSrc":"427260:6:19","nodeType":"YulIdentifier","src":"427260:6:19"},"nativeSrc":"427260:16:19","nodeType":"YulFunctionCall","src":"427260:16:19"},"nativeSrc":"427260:16:19","nodeType":"YulExpressionStatement","src":"427260:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427296:4:19","nodeType":"YulLiteral","src":"427296:4:19","type":"","value":"0xa0"},{"name":"m5","nativeSrc":"427302:2:19","nodeType":"YulIdentifier","src":"427302:2:19"}],"functionName":{"name":"mstore","nativeSrc":"427289:6:19","nodeType":"YulIdentifier","src":"427289:6:19"},"nativeSrc":"427289:16:19","nodeType":"YulFunctionCall","src":"427289:16:19"},"nativeSrc":"427289:16:19","nodeType":"YulExpressionStatement","src":"427289:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427325:4:19","nodeType":"YulLiteral","src":"427325:4:19","type":"","value":"0xc0"},{"name":"m6","nativeSrc":"427331:2:19","nodeType":"YulIdentifier","src":"427331:2:19"}],"functionName":{"name":"mstore","nativeSrc":"427318:6:19","nodeType":"YulIdentifier","src":"427318:6:19"},"nativeSrc":"427318:16:19","nodeType":"YulFunctionCall","src":"427318:16:19"},"nativeSrc":"427318:16:19","nodeType":"YulExpressionStatement","src":"427318:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427354:4:19","nodeType":"YulLiteral","src":"427354:4:19","type":"","value":"0xe0"},{"name":"m7","nativeSrc":"427360:2:19","nodeType":"YulIdentifier","src":"427360:2:19"}],"functionName":{"name":"mstore","nativeSrc":"427347:6:19","nodeType":"YulIdentifier","src":"427347:6:19"},"nativeSrc":"427347:16:19","nodeType":"YulFunctionCall","src":"427347:16:19"},"nativeSrc":"427347:16:19","nodeType":"YulExpressionStatement","src":"427347:16:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427383:5:19","nodeType":"YulLiteral","src":"427383:5:19","type":"","value":"0x100"},{"name":"m8","nativeSrc":"427390:2:19","nodeType":"YulIdentifier","src":"427390:2:19"}],"functionName":{"name":"mstore","nativeSrc":"427376:6:19","nodeType":"YulIdentifier","src":"427376:6:19"},"nativeSrc":"427376:17:19","nodeType":"YulFunctionCall","src":"427376:17:19"},"nativeSrc":"427376:17:19","nodeType":"YulExpressionStatement","src":"427376:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427413:5:19","nodeType":"YulLiteral","src":"427413:5:19","type":"","value":"0x120"},{"name":"m9","nativeSrc":"427420:2:19","nodeType":"YulIdentifier","src":"427420:2:19"}],"functionName":{"name":"mstore","nativeSrc":"427406:6:19","nodeType":"YulIdentifier","src":"427406:6:19"},"nativeSrc":"427406:17:19","nodeType":"YulFunctionCall","src":"427406:17:19"},"nativeSrc":"427406:17:19","nodeType":"YulExpressionStatement","src":"427406:17:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427443:5:19","nodeType":"YulLiteral","src":"427443:5:19","type":"","value":"0x140"},{"name":"m10","nativeSrc":"427450:3:19","nodeType":"YulIdentifier","src":"427450:3:19"}],"functionName":{"name":"mstore","nativeSrc":"427436:6:19","nodeType":"YulIdentifier","src":"427436:6:19"},"nativeSrc":"427436:18:19","nodeType":"YulFunctionCall","src":"427436:18:19"},"nativeSrc":"427436:18:19","nodeType":"YulExpressionStatement","src":"427436:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427474:5:19","nodeType":"YulLiteral","src":"427474:5:19","type":"","value":"0x160"},{"name":"m11","nativeSrc":"427481:3:19","nodeType":"YulIdentifier","src":"427481:3:19"}],"functionName":{"name":"mstore","nativeSrc":"427467:6:19","nodeType":"YulIdentifier","src":"427467:6:19"},"nativeSrc":"427467:18:19","nodeType":"YulFunctionCall","src":"427467:18:19"},"nativeSrc":"427467:18:19","nodeType":"YulExpressionStatement","src":"427467:18:19"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"427505:5:19","nodeType":"YulLiteral","src":"427505:5:19","type":"","value":"0x180"},{"name":"m12","nativeSrc":"427512:3:19","nodeType":"YulIdentifier","src":"427512:3:19"}],"functionName":{"name":"mstore","nativeSrc":"427498:6:19","nodeType":"YulIdentifier","src":"427498:6:19"},"nativeSrc":"427498:18:19","nodeType":"YulFunctionCall","src":"427498:18:19"},"nativeSrc":"427498:18:19","nodeType":"YulExpressionStatement","src":"427498:18:19"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":39312,"isOffset":false,"isSlot":false,"src":"427157:2:19","valueSize":1},{"declaration":39315,"isOffset":false,"isSlot":false,"src":"427186:2:19","valueSize":1},{"declaration":39342,"isOffset":false,"isSlot":false,"src":"427450:3:19","valueSize":1},{"declaration":39345,"isOffset":false,"isSlot":false,"src":"427481:3:19","valueSize":1},{"declaration":39348,"isOffset":false,"isSlot":false,"src":"427512:3:19","valueSize":1},{"declaration":39318,"isOffset":false,"isSlot":false,"src":"427215:2:19","valueSize":1},{"declaration":39321,"isOffset":false,"isSlot":false,"src":"427244:2:19","valueSize":1},{"declaration":39324,"isOffset":false,"isSlot":false,"src":"427273:2:19","valueSize":1},{"declaration":39327,"isOffset":false,"isSlot":false,"src":"427302:2:19","valueSize":1},{"declaration":39330,"isOffset":false,"isSlot":false,"src":"427331:2:19","valueSize":1},{"declaration":39333,"isOffset":false,"isSlot":false,"src":"427360:2:19","valueSize":1},{"declaration":39336,"isOffset":false,"isSlot":false,"src":"427390:2:19","valueSize":1},{"declaration":39339,"isOffset":false,"isSlot":false,"src":"427420:2:19","valueSize":1}],"id":39356,"nodeType":"InlineAssembly","src":"427121:405:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"425512:3:19","parameters":{"id":39309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39302,"mutability":"mutable","name":"p0","nameLocation":"425524:2:19","nodeType":"VariableDeclaration","scope":39358,"src":"425516:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39301,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425516:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39304,"mutability":"mutable","name":"p1","nameLocation":"425536:2:19","nodeType":"VariableDeclaration","scope":39358,"src":"425528:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39303,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425528:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39306,"mutability":"mutable","name":"p2","nameLocation":"425548:2:19","nodeType":"VariableDeclaration","scope":39358,"src":"425540:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39305,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425540:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39308,"mutability":"mutable","name":"p3","nameLocation":"425560:2:19","nodeType":"VariableDeclaration","scope":39358,"src":"425552:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39307,"name":"bytes32","nodeType":"ElementaryTypeName","src":"425552:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"425515:48:19"},"returnParameters":{"id":39310,"nodeType":"ParameterList","parameters":[],"src":"425578:0:19"},"scope":39359,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"safeconsole","contractDependencies":[],"contractKind":"library","documentation":{"id":26287,"nodeType":"StructuredDocumentation","src":"65:98:19","text":"@author philogy \n @dev Code generated automatically by script."},"fullyImplemented":true,"linearizedBaseContracts":[39359],"name":"safeconsole","nameLocation":"171:11:19","scope":39360,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"id":26,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol","id":41192,"exportedSymbols":{"IAccessControl":[41191]},"nodeType":"SourceUnit","src":"109:3234:26","nodes":[{"id":41110,"nodeType":"PragmaDirective","src":"109:24:26","nodes":[],"literals":["solidity",">=","0.8",".4"]},{"id":41191,"nodeType":"ContractDefinition","src":"226:3116:26","nodes":[{"id":41118,"nodeType":"ErrorDefinition","src":"318:76:26","nodes":[],"documentation":{"id":41112,"nodeType":"StructuredDocumentation","src":"257:56:26","text":" @dev The `account` is missing a role."},"errorSelector":"e2517d3f","name":"AccessControlUnauthorizedAccount","nameLocation":"324:32:26","parameters":{"id":41117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41114,"mutability":"mutable","name":"account","nameLocation":"365:7:26","nodeType":"VariableDeclaration","scope":41118,"src":"357:15:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41113,"name":"address","nodeType":"ElementaryTypeName","src":"357:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41116,"mutability":"mutable","name":"neededRole","nameLocation":"382:10:26","nodeType":"VariableDeclaration","scope":41118,"src":"374:18:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41115,"name":"bytes32","nodeType":"ElementaryTypeName","src":"374:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"356:37:26"}},{"id":41121,"nodeType":"ErrorDefinition","src":"553:37:26","nodes":[],"documentation":{"id":41119,"nodeType":"StructuredDocumentation","src":"400:148:26","text":" @dev The caller of a function is not the expected one.\n NOTE: Don't confuse with {AccessControlUnauthorizedAccount}."},"errorSelector":"6697b232","name":"AccessControlBadConfirmation","nameLocation":"559:28:26","parameters":{"id":41120,"nodeType":"ParameterList","parameters":[],"src":"587:2:26"}},{"id":41130,"nodeType":"EventDefinition","src":"855:110:26","nodes":[],"anonymous":false,"documentation":{"id":41122,"nodeType":"StructuredDocumentation","src":"596:254:26","text":" @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n {RoleAdminChanged} not being emitted to signal this."},"eventSelector":"bd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff","name":"RoleAdminChanged","nameLocation":"861:16:26","parameters":{"id":41129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41124,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"894:4:26","nodeType":"VariableDeclaration","scope":41130,"src":"878:20:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41123,"name":"bytes32","nodeType":"ElementaryTypeName","src":"878:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41126,"indexed":true,"mutability":"mutable","name":"previousAdminRole","nameLocation":"916:17:26","nodeType":"VariableDeclaration","scope":41130,"src":"900:33:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"900:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41128,"indexed":true,"mutability":"mutable","name":"newAdminRole","nameLocation":"951:12:26","nodeType":"VariableDeclaration","scope":41130,"src":"935:28:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41127,"name":"bytes32","nodeType":"ElementaryTypeName","src":"935:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"877:87:26"}},{"id":41139,"nodeType":"EventDefinition","src":"1271:89:26","nodes":[],"anonymous":false,"documentation":{"id":41131,"nodeType":"StructuredDocumentation","src":"971:295:26","text":" @dev Emitted when `account` is granted `role`.\n `sender` is the account that originated the contract call. This account bears the admin role (for the granted role).\n Expected in cases where the role was granted using the internal {AccessControl-_grantRole}."},"eventSelector":"2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","name":"RoleGranted","nameLocation":"1277:11:26","parameters":{"id":41138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41133,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"1305:4:26","nodeType":"VariableDeclaration","scope":41139,"src":"1289:20:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41132,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1289:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41135,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"1327:7:26","nodeType":"VariableDeclaration","scope":41139,"src":"1311:23:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41134,"name":"address","nodeType":"ElementaryTypeName","src":"1311:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41137,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"1352:6:26","nodeType":"VariableDeclaration","scope":41139,"src":"1336:22:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41136,"name":"address","nodeType":"ElementaryTypeName","src":"1336:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1288:71:26"}},{"id":41148,"nodeType":"EventDefinition","src":"1646:89:26","nodes":[],"anonymous":false,"documentation":{"id":41140,"nodeType":"StructuredDocumentation","src":"1366:275:26","text":" @dev Emitted when `account` is revoked `role`.\n `sender` is the account that originated the contract call:\n - if using `revokeRole`, it is the admin role bearer\n - if using `renounceRole`, it is the role bearer (i.e. `account`)"},"eventSelector":"f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b","name":"RoleRevoked","nameLocation":"1652:11:26","parameters":{"id":41147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41142,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"1680:4:26","nodeType":"VariableDeclaration","scope":41148,"src":"1664:20:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41141,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1664:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41144,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"1702:7:26","nodeType":"VariableDeclaration","scope":41148,"src":"1686:23:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41143,"name":"address","nodeType":"ElementaryTypeName","src":"1686:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41146,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"1727:6:26","nodeType":"VariableDeclaration","scope":41148,"src":"1711:22:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41145,"name":"address","nodeType":"ElementaryTypeName","src":"1711:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1663:71:26"}},{"id":41158,"nodeType":"FunctionDefinition","src":"1822:77:26","nodes":[],"documentation":{"id":41149,"nodeType":"StructuredDocumentation","src":"1741:76:26","text":" @dev Returns `true` if `account` has been granted `role`."},"functionSelector":"91d14854","implemented":false,"kind":"function","modifiers":[],"name":"hasRole","nameLocation":"1831:7:26","parameters":{"id":41154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41151,"mutability":"mutable","name":"role","nameLocation":"1847:4:26","nodeType":"VariableDeclaration","scope":41158,"src":"1839:12:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41150,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1839:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41153,"mutability":"mutable","name":"account","nameLocation":"1861:7:26","nodeType":"VariableDeclaration","scope":41158,"src":"1853:15:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41152,"name":"address","nodeType":"ElementaryTypeName","src":"1853:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1838:31:26"},"returnParameters":{"id":41157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41156,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41158,"src":"1893:4:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41155,"name":"bool","nodeType":"ElementaryTypeName","src":"1893:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1892:6:26"},"scope":41191,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41166,"nodeType":"FunctionDefinition","src":"2094:68:26","nodes":[],"documentation":{"id":41159,"nodeType":"StructuredDocumentation","src":"1905:184:26","text":" @dev Returns the admin role that controls `role`. See {grantRole} and\n {revokeRole}.\n To change a role's admin, use {AccessControl-_setRoleAdmin}."},"functionSelector":"248a9ca3","implemented":false,"kind":"function","modifiers":[],"name":"getRoleAdmin","nameLocation":"2103:12:26","parameters":{"id":41162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41161,"mutability":"mutable","name":"role","nameLocation":"2124:4:26","nodeType":"VariableDeclaration","scope":41166,"src":"2116:12:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41160,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2116:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2115:14:26"},"returnParameters":{"id":41165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41164,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41166,"src":"2153:7:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41163,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2153:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2152:9:26"},"scope":41191,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41174,"nodeType":"FunctionDefinition","src":"2412:59:26","nodes":[],"documentation":{"id":41167,"nodeType":"StructuredDocumentation","src":"2168:239:26","text":" @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event.\n Requirements:\n - the caller must have ``role``'s admin role."},"functionSelector":"2f2ff15d","implemented":false,"kind":"function","modifiers":[],"name":"grantRole","nameLocation":"2421:9:26","parameters":{"id":41172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41169,"mutability":"mutable","name":"role","nameLocation":"2439:4:26","nodeType":"VariableDeclaration","scope":41174,"src":"2431:12:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41168,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2431:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41171,"mutability":"mutable","name":"account","nameLocation":"2453:7:26","nodeType":"VariableDeclaration","scope":41174,"src":"2445:15:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41170,"name":"address","nodeType":"ElementaryTypeName","src":"2445:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2430:31:26"},"returnParameters":{"id":41173,"nodeType":"ParameterList","parameters":[],"src":"2470:0:26"},"scope":41191,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41182,"nodeType":"FunctionDefinition","src":"2705:60:26","nodes":[],"documentation":{"id":41175,"nodeType":"StructuredDocumentation","src":"2477:223:26","text":" @dev Revokes `role` from `account`.\n If `account` had been granted `role`, emits a {RoleRevoked} event.\n Requirements:\n - the caller must have ``role``'s admin role."},"functionSelector":"d547741f","implemented":false,"kind":"function","modifiers":[],"name":"revokeRole","nameLocation":"2714:10:26","parameters":{"id":41180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41177,"mutability":"mutable","name":"role","nameLocation":"2733:4:26","nodeType":"VariableDeclaration","scope":41182,"src":"2725:12:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41176,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2725:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41179,"mutability":"mutable","name":"account","nameLocation":"2747:7:26","nodeType":"VariableDeclaration","scope":41182,"src":"2739:15:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41178,"name":"address","nodeType":"ElementaryTypeName","src":"2739:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2724:31:26"},"returnParameters":{"id":41181,"nodeType":"ParameterList","parameters":[],"src":"2764:0:26"},"scope":41191,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41190,"nodeType":"FunctionDefinition","src":"3267:73:26","nodes":[],"documentation":{"id":41183,"nodeType":"StructuredDocumentation","src":"2771:491:26","text":" @dev Revokes `role` from the calling account.\n Roles are often managed via {grantRole} and {revokeRole}: this function's\n purpose is to provide a mechanism for accounts to lose their privileges\n if they are compromised (such as when a trusted device is misplaced).\n If the calling account had been granted `role`, emits a {RoleRevoked}\n event.\n Requirements:\n - the caller must be `callerConfirmation`."},"functionSelector":"36568abe","implemented":false,"kind":"function","modifiers":[],"name":"renounceRole","nameLocation":"3276:12:26","parameters":{"id":41188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41185,"mutability":"mutable","name":"role","nameLocation":"3297:4:26","nodeType":"VariableDeclaration","scope":41190,"src":"3289:12:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41184,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3289:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41187,"mutability":"mutable","name":"callerConfirmation","nameLocation":"3311:18:26","nodeType":"VariableDeclaration","scope":41190,"src":"3303:26:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41186,"name":"address","nodeType":"ElementaryTypeName","src":"3303:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3288:42:26"},"returnParameters":{"id":41189,"nodeType":"ParameterList","parameters":[],"src":"3339:0:26"},"scope":41191,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IAccessControl","contractDependencies":[],"contractKind":"interface","documentation":{"id":41111,"nodeType":"StructuredDocumentation","src":"135:90:26","text":" @dev External interface of AccessControl declared to support ERC-165 detection."},"fullyImplemented":false,"linearizedBaseContracts":[41191],"name":"IAccessControl","nameLocation":"236:14:26","scope":41192,"usedErrors":[41118,41121],"usedEvents":[41130,41139,41148]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"id":27,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/access/Ownable.sol","id":41340,"exportedSymbols":{"Context":[44838],"Ownable":[41339]},"nodeType":"SourceUnit","src":"102:3000:27","nodes":[{"id":41193,"nodeType":"PragmaDirective","src":"102:24:27","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":41195,"nodeType":"ImportDirective","src":"128:45:27","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Context.sol","file":"../utils/Context.sol","nameLocation":"-1:-1:-1","scope":41340,"sourceUnit":44839,"symbolAliases":[{"foreign":{"id":41194,"name":"Context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44838,"src":"136:7:27","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41339,"nodeType":"ContractDefinition","src":"663:2438:27","nodes":[{"id":41200,"nodeType":"VariableDeclaration","src":"706:22:27","nodes":[],"constant":false,"mutability":"mutable","name":"_owner","nameLocation":"722:6:27","scope":41339,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41199,"name":"address","nodeType":"ElementaryTypeName","src":"706:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"id":41205,"nodeType":"ErrorDefinition","src":"825:50:27","nodes":[],"documentation":{"id":41201,"nodeType":"StructuredDocumentation","src":"735:85:27","text":" @dev The caller account is not authorized to perform an operation."},"errorSelector":"118cdaa7","name":"OwnableUnauthorizedAccount","nameLocation":"831:26:27","parameters":{"id":41204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41203,"mutability":"mutable","name":"account","nameLocation":"866:7:27","nodeType":"VariableDeclaration","scope":41205,"src":"858:15:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41202,"name":"address","nodeType":"ElementaryTypeName","src":"858:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"857:17:27"}},{"id":41210,"nodeType":"ErrorDefinition","src":"968:41:27","nodes":[],"documentation":{"id":41206,"nodeType":"StructuredDocumentation","src":"881:82:27","text":" @dev The owner is not a valid owner account. (eg. `address(0)`)"},"errorSelector":"1e4fbdf7","name":"OwnableInvalidOwner","nameLocation":"974:19:27","parameters":{"id":41209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41208,"mutability":"mutable","name":"owner","nameLocation":"1002:5:27","nodeType":"VariableDeclaration","scope":41210,"src":"994:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41207,"name":"address","nodeType":"ElementaryTypeName","src":"994:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"993:15:27"}},{"id":41216,"nodeType":"EventDefinition","src":"1015:84:27","nodes":[],"anonymous":false,"eventSelector":"8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0","name":"OwnershipTransferred","nameLocation":"1021:20:27","parameters":{"id":41215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41212,"indexed":true,"mutability":"mutable","name":"previousOwner","nameLocation":"1058:13:27","nodeType":"VariableDeclaration","scope":41216,"src":"1042:29:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41211,"name":"address","nodeType":"ElementaryTypeName","src":"1042:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41214,"indexed":true,"mutability":"mutable","name":"newOwner","nameLocation":"1089:8:27","nodeType":"VariableDeclaration","scope":41216,"src":"1073:24:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41213,"name":"address","nodeType":"ElementaryTypeName","src":"1073:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1041:57:27"}},{"id":41242,"nodeType":"FunctionDefinition","src":"1225:187:27","nodes":[],"body":{"id":41241,"nodeType":"Block","src":"1259:153:27","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":41227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":41222,"name":"initialOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41219,"src":"1273:12:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":41225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1297:1:27","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":41224,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1289:7:27","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":41223,"name":"address","nodeType":"ElementaryTypeName","src":"1289:7:27","typeDescriptions":{}}},"id":41226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1289:10:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1273:26:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41236,"nodeType":"IfStatement","src":"1269:95:27","trueBody":{"id":41235,"nodeType":"Block","src":"1301:63:27","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":41231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1350:1:27","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":41230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1342:7:27","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":41229,"name":"address","nodeType":"ElementaryTypeName","src":"1342:7:27","typeDescriptions":{}}},"id":41232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1342:10:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":41228,"name":"OwnableInvalidOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41210,"src":"1322:19:27","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":41233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1322:31:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":41234,"nodeType":"RevertStatement","src":"1315:38:27"}]}},{"expression":{"arguments":[{"id":41238,"name":"initialOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41219,"src":"1392:12:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":41237,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41338,"src":"1373:18:27","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":41239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1373:32:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41240,"nodeType":"ExpressionStatement","src":"1373:32:27"}]},"documentation":{"id":41217,"nodeType":"StructuredDocumentation","src":"1105:115:27","text":" @dev Initializes the contract setting the address provided by the deployer as the initial owner."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":41220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41219,"mutability":"mutable","name":"initialOwner","nameLocation":"1245:12:27","nodeType":"VariableDeclaration","scope":41242,"src":"1237:20:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41218,"name":"address","nodeType":"ElementaryTypeName","src":"1237:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1236:22:27"},"returnParameters":{"id":41221,"nodeType":"ParameterList","parameters":[],"src":"1259:0:27"},"scope":41339,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":41250,"nodeType":"ModifierDefinition","src":"1500:62:27","nodes":[],"body":{"id":41249,"nodeType":"Block","src":"1521:41:27","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":41245,"name":"_checkOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41276,"src":"1531:11:27","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":41246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1531:13:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41247,"nodeType":"ExpressionStatement","src":"1531:13:27"},{"id":41248,"nodeType":"PlaceholderStatement","src":"1554:1:27"}]},"documentation":{"id":41243,"nodeType":"StructuredDocumentation","src":"1418:77:27","text":" @dev Throws if called by any account other than the owner."},"name":"onlyOwner","nameLocation":"1509:9:27","parameters":{"id":41244,"nodeType":"ParameterList","parameters":[],"src":"1518:2:27"},"virtual":false,"visibility":"internal"},{"id":41259,"nodeType":"FunctionDefinition","src":"1638:85:27","nodes":[],"body":{"id":41258,"nodeType":"Block","src":"1693:30:27","nodes":[],"statements":[{"expression":{"id":41256,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41200,"src":"1710:6:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":41255,"id":41257,"nodeType":"Return","src":"1703:13:27"}]},"documentation":{"id":41251,"nodeType":"StructuredDocumentation","src":"1568:65:27","text":" @dev Returns the address of the current owner."},"functionSelector":"8da5cb5b","implemented":true,"kind":"function","modifiers":[],"name":"owner","nameLocation":"1647:5:27","parameters":{"id":41252,"nodeType":"ParameterList","parameters":[],"src":"1652:2:27"},"returnParameters":{"id":41255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41254,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41259,"src":"1684:7:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41253,"name":"address","nodeType":"ElementaryTypeName","src":"1684:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1683:9:27"},"scope":41339,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":41276,"nodeType":"FunctionDefinition","src":"1796:162:27","nodes":[],"body":{"id":41275,"nodeType":"Block","src":"1841:117:27","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":41267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":41263,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41259,"src":"1855:5:27","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":41264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1855:7:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":41265,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44820,"src":"1866:10:27","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":41266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1866:12:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1855:23:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41274,"nodeType":"IfStatement","src":"1851:101:27","trueBody":{"id":41273,"nodeType":"Block","src":"1880:72:27","statements":[{"errorCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":41269,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44820,"src":"1928:10:27","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":41270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1928:12:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":41268,"name":"OwnableUnauthorizedAccount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41205,"src":"1901:26:27","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":41271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1901:40:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":41272,"nodeType":"RevertStatement","src":"1894:47:27"}]}}]},"documentation":{"id":41260,"nodeType":"StructuredDocumentation","src":"1729:62:27","text":" @dev Throws if the sender is not the owner."},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOwner","nameLocation":"1805:11:27","parameters":{"id":41261,"nodeType":"ParameterList","parameters":[],"src":"1816:2:27"},"returnParameters":{"id":41262,"nodeType":"ParameterList","parameters":[],"src":"1841:0:27"},"scope":41339,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":41290,"nodeType":"FunctionDefinition","src":"2293:101:27","nodes":[],"body":{"id":41289,"nodeType":"Block","src":"2347:47:27","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":41285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2384:1:27","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":41284,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2376:7:27","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":41283,"name":"address","nodeType":"ElementaryTypeName","src":"2376:7:27","typeDescriptions":{}}},"id":41286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2376:10:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":41282,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41338,"src":"2357:18:27","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":41287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2357:30:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41288,"nodeType":"ExpressionStatement","src":"2357:30:27"}]},"documentation":{"id":41277,"nodeType":"StructuredDocumentation","src":"1964:324:27","text":" @dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby disabling any functionality that is only available to the owner."},"functionSelector":"715018a6","implemented":true,"kind":"function","modifiers":[{"id":41280,"kind":"modifierInvocation","modifierName":{"id":41279,"name":"onlyOwner","nameLocations":["2337:9:27"],"nodeType":"IdentifierPath","referencedDeclaration":41250,"src":"2337:9:27"},"nodeType":"ModifierInvocation","src":"2337:9:27"}],"name":"renounceOwnership","nameLocation":"2302:17:27","parameters":{"id":41278,"nodeType":"ParameterList","parameters":[],"src":"2319:2:27"},"returnParameters":{"id":41281,"nodeType":"ParameterList","parameters":[],"src":"2347:0:27"},"scope":41339,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":41318,"nodeType":"FunctionDefinition","src":"2543:215:27","nodes":[],"body":{"id":41317,"nodeType":"Block","src":"2613:145:27","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":41303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":41298,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41293,"src":"2627:8:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":41301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2647:1:27","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":41300,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2639:7:27","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":41299,"name":"address","nodeType":"ElementaryTypeName","src":"2639:7:27","typeDescriptions":{}}},"id":41302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2639:10:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2627:22:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41312,"nodeType":"IfStatement","src":"2623:91:27","trueBody":{"id":41311,"nodeType":"Block","src":"2651:63:27","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":41307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2700:1:27","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":41306,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2692:7:27","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":41305,"name":"address","nodeType":"ElementaryTypeName","src":"2692:7:27","typeDescriptions":{}}},"id":41308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2692:10:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":41304,"name":"OwnableInvalidOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41210,"src":"2672:19:27","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":41309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2672:31:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":41310,"nodeType":"RevertStatement","src":"2665:38:27"}]}},{"expression":{"arguments":[{"id":41314,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41293,"src":"2742:8:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":41313,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41338,"src":"2723:18:27","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":41315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2723:28:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41316,"nodeType":"ExpressionStatement","src":"2723:28:27"}]},"documentation":{"id":41291,"nodeType":"StructuredDocumentation","src":"2400:138:27","text":" @dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner."},"functionSelector":"f2fde38b","implemented":true,"kind":"function","modifiers":[{"id":41296,"kind":"modifierInvocation","modifierName":{"id":41295,"name":"onlyOwner","nameLocations":["2603:9:27"],"nodeType":"IdentifierPath","referencedDeclaration":41250,"src":"2603:9:27"},"nodeType":"ModifierInvocation","src":"2603:9:27"}],"name":"transferOwnership","nameLocation":"2552:17:27","parameters":{"id":41294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41293,"mutability":"mutable","name":"newOwner","nameLocation":"2578:8:27","nodeType":"VariableDeclaration","scope":41318,"src":"2570:16:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41292,"name":"address","nodeType":"ElementaryTypeName","src":"2570:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2569:18:27"},"returnParameters":{"id":41297,"nodeType":"ParameterList","parameters":[],"src":"2613:0:27"},"scope":41339,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":41338,"nodeType":"FunctionDefinition","src":"2912:187:27","nodes":[],"body":{"id":41337,"nodeType":"Block","src":"2975:124:27","nodes":[],"statements":[{"assignments":[41325],"declarations":[{"constant":false,"id":41325,"mutability":"mutable","name":"oldOwner","nameLocation":"2993:8:27","nodeType":"VariableDeclaration","scope":41337,"src":"2985:16:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41324,"name":"address","nodeType":"ElementaryTypeName","src":"2985:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":41327,"initialValue":{"id":41326,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41200,"src":"3004:6:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2985:25:27"},{"expression":{"id":41330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":41328,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41200,"src":"3020:6:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":41329,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41321,"src":"3029:8:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3020:17:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":41331,"nodeType":"ExpressionStatement","src":"3020:17:27"},{"eventCall":{"arguments":[{"id":41333,"name":"oldOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41325,"src":"3073:8:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41334,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41321,"src":"3083:8:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":41332,"name":"OwnershipTransferred","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41216,"src":"3052:20:27","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":41335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3052:40:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41336,"nodeType":"EmitStatement","src":"3047:45:27"}]},"documentation":{"id":41319,"nodeType":"StructuredDocumentation","src":"2764:143:27","text":" @dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction."},"implemented":true,"kind":"function","modifiers":[],"name":"_transferOwnership","nameLocation":"2921:18:27","parameters":{"id":41322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41321,"mutability":"mutable","name":"newOwner","nameLocation":"2948:8:27","nodeType":"VariableDeclaration","scope":41338,"src":"2940:16:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41320,"name":"address","nodeType":"ElementaryTypeName","src":"2940:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2939:18:27"},"returnParameters":{"id":41323,"nodeType":"ParameterList","parameters":[],"src":"2975:0:27"},"scope":41339,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":41197,"name":"Context","nameLocations":["692:7:27"],"nodeType":"IdentifierPath","referencedDeclaration":44838,"src":"692:7:27"},"id":41198,"nodeType":"InheritanceSpecifier","src":"692:7:27"}],"canonicalName":"Ownable","contractDependencies":[],"contractKind":"contract","documentation":{"id":41196,"nodeType":"StructuredDocumentation","src":"175:487:27","text":" @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n The initial owner is set to the address provided by the deployer. This can\n later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner."},"fullyImplemented":true,"linearizedBaseContracts":[41339,44838],"name":"Ownable","nameLocation":"681:7:27","scope":41340,"usedErrors":[41205,41210],"usedEvents":[41216]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol":{"id":28,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol","id":41439,"exportedSymbols":{"IAccessControl":[41191],"IAccessControlDefaultAdminRules":[41438]},"nodeType":"SourceUnit","src":"137:8034:28","nodes":[{"id":41341,"nodeType":"PragmaDirective","src":"137:24:28","nodes":[],"literals":["solidity",">=","0.8",".4"]},{"id":41343,"nodeType":"ImportDirective","src":"163:53:28","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol","file":"../IAccessControl.sol","nameLocation":"-1:-1:-1","scope":41439,"sourceUnit":41192,"symbolAliases":[{"foreign":{"id":41342,"name":"IAccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41191,"src":"171:14:28","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41438,"nodeType":"ContractDefinition","src":"326:7844:28","nodes":[{"id":41351,"nodeType":"ErrorDefinition","src":"472:61:28","nodes":[],"documentation":{"id":41347,"nodeType":"StructuredDocumentation","src":"392:75:28","text":" @dev The new default admin is not a valid default admin."},"errorSelector":"c22c8022","name":"AccessControlInvalidDefaultAdmin","nameLocation":"478:32:28","parameters":{"id":41350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41349,"mutability":"mutable","name":"defaultAdmin","nameLocation":"519:12:28","nodeType":"VariableDeclaration","scope":41351,"src":"511:20:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41348,"name":"address","nodeType":"ElementaryTypeName","src":"511:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"510:22:28"}},{"id":41354,"nodeType":"ErrorDefinition","src":"843:47:28","nodes":[],"documentation":{"id":41352,"nodeType":"StructuredDocumentation","src":"539:299:28","text":" @dev At least one of the following rules was violated:\n - The `DEFAULT_ADMIN_ROLE` must only be managed by itself.\n - The `DEFAULT_ADMIN_ROLE` must only be held by one account at the time.\n - Any `DEFAULT_ADMIN_ROLE` transfer must be in two delayed steps."},"errorSelector":"3fc3c27a","name":"AccessControlEnforcedDefaultAdminRules","nameLocation":"849:38:28","parameters":{"id":41353,"nodeType":"ParameterList","parameters":[],"src":"887:2:28"}},{"id":41359,"nodeType":"ErrorDefinition","src":"1122:62:28","nodes":[],"documentation":{"id":41355,"nodeType":"StructuredDocumentation","src":"896:221:28","text":" @dev The delay for transferring the default admin delay is enforced and\n the operation must wait until `schedule`.\n NOTE: `schedule` can be 0 indicating there's no transfer scheduled."},"errorSelector":"19ca5ebb","name":"AccessControlEnforcedDefaultAdminDelay","nameLocation":"1128:38:28","parameters":{"id":41358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41357,"mutability":"mutable","name":"schedule","nameLocation":"1174:8:28","nodeType":"VariableDeclaration","scope":41359,"src":"1167:15:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":41356,"name":"uint48","nodeType":"ElementaryTypeName","src":"1167:6:28","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"1166:17:28"}},{"id":41366,"nodeType":"EventDefinition","src":"1427:85:28","nodes":[],"anonymous":false,"documentation":{"id":41360,"nodeType":"StructuredDocumentation","src":"1190:232:28","text":" @dev Emitted when a {defaultAdmin} transfer is started, setting `newAdmin` as the next\n address to become the {defaultAdmin} by calling {acceptDefaultAdminTransfer} only after `acceptSchedule`\n passes."},"eventSelector":"3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed6","name":"DefaultAdminTransferScheduled","nameLocation":"1433:29:28","parameters":{"id":41365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41362,"indexed":true,"mutability":"mutable","name":"newAdmin","nameLocation":"1479:8:28","nodeType":"VariableDeclaration","scope":41366,"src":"1463:24:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41361,"name":"address","nodeType":"ElementaryTypeName","src":"1463:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41364,"indexed":false,"mutability":"mutable","name":"acceptSchedule","nameLocation":"1496:14:28","nodeType":"VariableDeclaration","scope":41366,"src":"1489:21:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":41363,"name":"uint48","nodeType":"ElementaryTypeName","src":"1489:6:28","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"1462:49:28"}},{"id":41369,"nodeType":"EventDefinition","src":"1646:37:28","nodes":[],"anonymous":false,"documentation":{"id":41367,"nodeType":"StructuredDocumentation","src":"1518:123:28","text":" @dev Emitted when a {pendingDefaultAdmin} is reset if it was never accepted, regardless of its schedule."},"eventSelector":"8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109","name":"DefaultAdminTransferCanceled","nameLocation":"1652:28:28","parameters":{"id":41368,"nodeType":"ParameterList","parameters":[],"src":"1680:2:28"}},{"id":41376,"nodeType":"EventDefinition","src":"1895:79:28","nodes":[],"anonymous":false,"documentation":{"id":41370,"nodeType":"StructuredDocumentation","src":"1689:201:28","text":" @dev Emitted when a {defaultAdminDelay} change is started, setting `newDelay` as the next\n delay to be applied between default admin transfer after `effectSchedule` has passed."},"eventSelector":"f1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b","name":"DefaultAdminDelayChangeScheduled","nameLocation":"1901:32:28","parameters":{"id":41375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41372,"indexed":false,"mutability":"mutable","name":"newDelay","nameLocation":"1941:8:28","nodeType":"VariableDeclaration","scope":41376,"src":"1934:15:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":41371,"name":"uint48","nodeType":"ElementaryTypeName","src":"1934:6:28","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":41374,"indexed":false,"mutability":"mutable","name":"effectSchedule","nameLocation":"1958:14:28","nodeType":"VariableDeclaration","scope":41376,"src":"1951:21:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":41373,"name":"uint48","nodeType":"ElementaryTypeName","src":"1951:6:28","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"1933:40:28"}},{"id":41379,"nodeType":"EventDefinition","src":"2088:40:28","nodes":[],"anonymous":false,"documentation":{"id":41377,"nodeType":"StructuredDocumentation","src":"1980:103:28","text":" @dev Emitted when a {pendingDefaultAdminDelay} is reset if its schedule didn't pass."},"eventSelector":"2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5","name":"DefaultAdminDelayChangeCanceled","nameLocation":"2094:31:28","parameters":{"id":41378,"nodeType":"ParameterList","parameters":[],"src":"2125:2:28"}},{"id":41385,"nodeType":"FunctionDefinition","src":"2226:56:28","nodes":[],"documentation":{"id":41380,"nodeType":"StructuredDocumentation","src":"2134:87:28","text":" @dev Returns the address of the current `DEFAULT_ADMIN_ROLE` holder."},"functionSelector":"84ef8ffc","implemented":false,"kind":"function","modifiers":[],"name":"defaultAdmin","nameLocation":"2235:12:28","parameters":{"id":41381,"nodeType":"ParameterList","parameters":[],"src":"2247:2:28"},"returnParameters":{"id":41384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41383,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41385,"src":"2273:7:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41382,"name":"address","nodeType":"ElementaryTypeName","src":"2273:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2272:9:28"},"scope":41438,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41393,"nodeType":"FunctionDefinition","src":"2736:95:28","nodes":[],"documentation":{"id":41386,"nodeType":"StructuredDocumentation","src":"2288:443:28","text":" @dev Returns a tuple of a `newAdmin` and an accept schedule.\n After the `schedule` passes, the `newAdmin` will be able to accept the {defaultAdmin} role\n by calling {acceptDefaultAdminTransfer}, completing the role transfer.\n A zero value only in `acceptSchedule` indicates no pending admin transfer.\n NOTE: A zero address `newAdmin` means that {defaultAdmin} is being renounced."},"functionSelector":"cf6eefb7","implemented":false,"kind":"function","modifiers":[],"name":"pendingDefaultAdmin","nameLocation":"2745:19:28","parameters":{"id":41387,"nodeType":"ParameterList","parameters":[],"src":"2764:2:28"},"returnParameters":{"id":41392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41389,"mutability":"mutable","name":"newAdmin","nameLocation":"2798:8:28","nodeType":"VariableDeclaration","scope":41393,"src":"2790:16:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41388,"name":"address","nodeType":"ElementaryTypeName","src":"2790:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41391,"mutability":"mutable","name":"acceptSchedule","nameLocation":"2815:14:28","nodeType":"VariableDeclaration","scope":41393,"src":"2808:21:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":41390,"name":"uint48","nodeType":"ElementaryTypeName","src":"2808:6:28","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"2789:41:28"},"scope":41438,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41399,"nodeType":"FunctionDefinition","src":"3293:60:28","nodes":[],"documentation":{"id":41394,"nodeType":"StructuredDocumentation","src":"2837:451:28","text":" @dev Returns the delay required to schedule the acceptance of a {defaultAdmin} transfer started.\n This delay will be added to the current timestamp when calling {beginDefaultAdminTransfer} to set\n the acceptance schedule.\n NOTE: If a delay change has been scheduled, it will take effect as soon as the schedule passes, making this\n function returns the new delay. See {changeDefaultAdminDelay}."},"functionSelector":"cc8463c8","implemented":false,"kind":"function","modifiers":[],"name":"defaultAdminDelay","nameLocation":"3302:17:28","parameters":{"id":41395,"nodeType":"ParameterList","parameters":[],"src":"3319:2:28"},"returnParameters":{"id":41398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41397,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41399,"src":"3345:6:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":41396,"name":"uint48","nodeType":"ElementaryTypeName","src":"3345:6:28","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"3344:8:28"},"scope":41438,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41407,"nodeType":"FunctionDefinition","src":"3846:99:28","nodes":[],"documentation":{"id":41400,"nodeType":"StructuredDocumentation","src":"3359:482:28","text":" @dev Returns a tuple of `newDelay` and an effect schedule.\n After the `schedule` passes, the `newDelay` will get into effect immediately for every\n new {defaultAdmin} transfer started with {beginDefaultAdminTransfer}.\n A zero value only in `effectSchedule` indicates no pending delay change.\n NOTE: A zero value only for `newDelay` means that the next {defaultAdminDelay}\n will be zero after the effect schedule."},"functionSelector":"a1eda53c","implemented":false,"kind":"function","modifiers":[],"name":"pendingDefaultAdminDelay","nameLocation":"3855:24:28","parameters":{"id":41401,"nodeType":"ParameterList","parameters":[],"src":"3879:2:28"},"returnParameters":{"id":41406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41403,"mutability":"mutable","name":"newDelay","nameLocation":"3912:8:28","nodeType":"VariableDeclaration","scope":41407,"src":"3905:15:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":41402,"name":"uint48","nodeType":"ElementaryTypeName","src":"3905:6:28","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":41405,"mutability":"mutable","name":"effectSchedule","nameLocation":"3929:14:28","nodeType":"VariableDeclaration","scope":41407,"src":"3922:21:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":41404,"name":"uint48","nodeType":"ElementaryTypeName","src":"3922:6:28","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"3904:40:28"},"scope":41438,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41413,"nodeType":"FunctionDefinition","src":"4288:62:28","nodes":[],"documentation":{"id":41408,"nodeType":"StructuredDocumentation","src":"3951:332:28","text":" @dev Starts a {defaultAdmin} transfer by setting a {pendingDefaultAdmin} scheduled for acceptance\n after the current timestamp plus a {defaultAdminDelay}.\n Requirements:\n - Only can be called by the current {defaultAdmin}.\n Emits a DefaultAdminRoleChangeStarted event."},"functionSelector":"634e93da","implemented":false,"kind":"function","modifiers":[],"name":"beginDefaultAdminTransfer","nameLocation":"4297:25:28","parameters":{"id":41411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41410,"mutability":"mutable","name":"newAdmin","nameLocation":"4331:8:28","nodeType":"VariableDeclaration","scope":41413,"src":"4323:16:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41409,"name":"address","nodeType":"ElementaryTypeName","src":"4323:7:28","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4322:18:28"},"returnParameters":{"id":41412,"nodeType":"ParameterList","parameters":[],"src":"4349:0:28"},"scope":41438,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41417,"nodeType":"FunctionDefinition","src":"4723:47:28","nodes":[],"documentation":{"id":41414,"nodeType":"StructuredDocumentation","src":"4356:362:28","text":" @dev Cancels a {defaultAdmin} transfer previously started with {beginDefaultAdminTransfer}.\n A {pendingDefaultAdmin} not yet accepted can also be cancelled with this function.\n Requirements:\n - Only can be called by the current {defaultAdmin}.\n May emit a DefaultAdminTransferCanceled event."},"functionSelector":"d602b9fd","implemented":false,"kind":"function","modifiers":[],"name":"cancelDefaultAdminTransfer","nameLocation":"4732:26:28","parameters":{"id":41415,"nodeType":"ParameterList","parameters":[],"src":"4758:2:28"},"returnParameters":{"id":41416,"nodeType":"ParameterList","parameters":[],"src":"4769:0:28"},"scope":41438,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41421,"nodeType":"FunctionDefinition","src":"5320:47:28","nodes":[],"documentation":{"id":41418,"nodeType":"StructuredDocumentation","src":"4776:539:28","text":" @dev Completes a {defaultAdmin} transfer previously started with {beginDefaultAdminTransfer}.\n After calling the function:\n - `DEFAULT_ADMIN_ROLE` should be granted to the caller.\n - `DEFAULT_ADMIN_ROLE` should be revoked from the previous holder.\n - {pendingDefaultAdmin} should be reset to zero values.\n Requirements:\n - Only can be called by the {pendingDefaultAdmin}'s `newAdmin`.\n - The {pendingDefaultAdmin}'s `acceptSchedule` should've passed."},"functionSelector":"cefc1429","implemented":false,"kind":"function","modifiers":[],"name":"acceptDefaultAdminTransfer","nameLocation":"5329:26:28","parameters":{"id":41419,"nodeType":"ParameterList","parameters":[],"src":"5355:2:28"},"returnParameters":{"id":41420,"nodeType":"ParameterList","parameters":[],"src":"5366:0:28"},"scope":41438,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41427,"nodeType":"FunctionDefinition","src":"6788:59:28","nodes":[],"documentation":{"id":41422,"nodeType":"StructuredDocumentation","src":"5373:1410:28","text":" @dev Initiates a {defaultAdminDelay} update by setting a {pendingDefaultAdminDelay} scheduled for getting\n into effect after the current timestamp plus a {defaultAdminDelay}.\n This function guarantees that any call to {beginDefaultAdminTransfer} done between the timestamp this\n method is called and the {pendingDefaultAdminDelay} effect schedule will use the current {defaultAdminDelay}\n set before calling.\n The {pendingDefaultAdminDelay}'s effect schedule is defined in a way that waiting until the schedule and then\n calling {beginDefaultAdminTransfer} with the new delay will take at least the same as another {defaultAdmin}\n complete transfer (including acceptance).\n The schedule is designed for two scenarios:\n - When the delay is changed for a larger one the schedule is `block.timestamp + newDelay` capped by\n {defaultAdminDelayIncreaseWait}.\n - When the delay is changed for a shorter one, the schedule is `block.timestamp + (current delay - new delay)`.\n A {pendingDefaultAdminDelay} that never got into effect will be canceled in favor of a new scheduled change.\n Requirements:\n - Only can be called by the current {defaultAdmin}.\n Emits a DefaultAdminDelayChangeScheduled event and may emit a DefaultAdminDelayChangeCanceled event."},"functionSelector":"649a5ec7","implemented":false,"kind":"function","modifiers":[],"name":"changeDefaultAdminDelay","nameLocation":"6797:23:28","parameters":{"id":41425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41424,"mutability":"mutable","name":"newDelay","nameLocation":"6828:8:28","nodeType":"VariableDeclaration","scope":41427,"src":"6821:15:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":41423,"name":"uint48","nodeType":"ElementaryTypeName","src":"6821:6:28","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"6820:17:28"},"returnParameters":{"id":41426,"nodeType":"ParameterList","parameters":[],"src":"6846:0:28"},"scope":41438,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41431,"nodeType":"FunctionDefinition","src":"7087:46:28","nodes":[],"documentation":{"id":41428,"nodeType":"StructuredDocumentation","src":"6853:229:28","text":" @dev Cancels a scheduled {defaultAdminDelay} change.\n Requirements:\n - Only can be called by the current {defaultAdmin}.\n May emit a DefaultAdminDelayChangeCanceled event."},"functionSelector":"0aa6220b","implemented":false,"kind":"function","modifiers":[],"name":"rollbackDefaultAdminDelay","nameLocation":"7096:25:28","parameters":{"id":41429,"nodeType":"ParameterList","parameters":[],"src":"7121:2:28"},"returnParameters":{"id":41430,"nodeType":"ParameterList","parameters":[],"src":"7132:0:28"},"scope":41438,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41437,"nodeType":"FunctionDefinition","src":"8096:72:28","nodes":[],"documentation":{"id":41432,"nodeType":"StructuredDocumentation","src":"7139:952:28","text":" @dev Maximum time in seconds for an increase to {defaultAdminDelay} (that is scheduled using {changeDefaultAdminDelay})\n to take effect. Default to 5 days.\n When the {defaultAdminDelay} is scheduled to be increased, it goes into effect after the new delay has passed with\n the purpose of giving enough time for reverting any accidental change (i.e. using milliseconds instead of seconds)\n that may lock the contract. However, to avoid excessive schedules, the wait is capped by this function and it can\n be overrode for a custom {defaultAdminDelay} increase scheduling.\n IMPORTANT: Make sure to add a reasonable amount of time while overriding this value, otherwise,\n there's a risk of setting a high new delay that goes into effect almost immediately without the\n possibility of human intervention in the case of an input error (eg. set milliseconds instead of seconds)."},"functionSelector":"022d63fb","implemented":false,"kind":"function","modifiers":[],"name":"defaultAdminDelayIncreaseWait","nameLocation":"8105:29:28","parameters":{"id":41433,"nodeType":"ParameterList","parameters":[],"src":"8134:2:28"},"returnParameters":{"id":41436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41435,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41437,"src":"8160:6:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":41434,"name":"uint48","nodeType":"ElementaryTypeName","src":"8160:6:28","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"8159:8:28"},"scope":41438,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":41345,"name":"IAccessControl","nameLocations":["371:14:28"],"nodeType":"IdentifierPath","referencedDeclaration":41191,"src":"371:14:28"},"id":41346,"nodeType":"InheritanceSpecifier","src":"371:14:28"}],"canonicalName":"IAccessControlDefaultAdminRules","contractDependencies":[],"contractKind":"interface","documentation":{"id":41344,"nodeType":"StructuredDocumentation","src":"218:107:28","text":" @dev External interface of AccessControlDefaultAdminRules declared to support ERC-165 detection."},"fullyImplemented":false,"linearizedBaseContracts":[41438,41191],"name":"IAccessControlDefaultAdminRules","nameLocation":"336:31:28","scope":41439,"usedErrors":[41118,41121,41351,41354,41359],"usedEvents":[41130,41139,41148,41366,41369,41376,41379]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"id":29,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol","id":41521,"exportedSymbols":{"IERC1363":[41520],"IERC165":[46799],"IERC20":[43048]},"nodeType":"SourceUnit","src":"107:4347:29","nodes":[{"id":41440,"nodeType":"PragmaDirective","src":"107:24:29","nodes":[],"literals":["solidity",">=","0.6",".2"]},{"id":41442,"nodeType":"ImportDirective","src":"133:36:29","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol","file":"./IERC20.sol","nameLocation":"-1:-1:-1","scope":41521,"sourceUnit":41550,"symbolAliases":[{"foreign":{"id":41441,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"141:6:29","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41444,"nodeType":"ImportDirective","src":"170:38:29","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol","file":"./IERC165.sol","nameLocation":"-1:-1:-1","scope":41521,"sourceUnit":41525,"symbolAliases":[{"foreign":{"id":41443,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46799,"src":"178:7:29","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41520,"nodeType":"ContractDefinition","src":"568:3885:29","nodes":[{"id":41459,"nodeType":"FunctionDefinition","src":"1523:76:29","nodes":[],"documentation":{"id":41450,"nodeType":"StructuredDocumentation","src":"1148:370:29","text":" @dev Moves a `value` amount of tokens from the caller's account to `to`\n and then calls {IERC1363Receiver-onTransferReceived} on `to`.\n @param to The address which you want to transfer to.\n @param value The amount of tokens to be transferred.\n @return A boolean value indicating whether the operation succeeded unless throwing."},"functionSelector":"1296ee62","implemented":false,"kind":"function","modifiers":[],"name":"transferAndCall","nameLocation":"1532:15:29","parameters":{"id":41455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41452,"mutability":"mutable","name":"to","nameLocation":"1556:2:29","nodeType":"VariableDeclaration","scope":41459,"src":"1548:10:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41451,"name":"address","nodeType":"ElementaryTypeName","src":"1548:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41454,"mutability":"mutable","name":"value","nameLocation":"1568:5:29","nodeType":"VariableDeclaration","scope":41459,"src":"1560:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41453,"name":"uint256","nodeType":"ElementaryTypeName","src":"1560:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1547:27:29"},"returnParameters":{"id":41458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41457,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41459,"src":"1593:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41456,"name":"bool","nodeType":"ElementaryTypeName","src":"1593:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1592:6:29"},"scope":41520,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41471,"nodeType":"FunctionDefinition","src":"2063:97:29","nodes":[],"documentation":{"id":41460,"nodeType":"StructuredDocumentation","src":"1605:453:29","text":" @dev Moves a `value` amount of tokens from the caller's account to `to`\n and then calls {IERC1363Receiver-onTransferReceived} on `to`.\n @param to The address which you want to transfer to.\n @param value The amount of tokens to be transferred.\n @param data Additional data with no specified format, sent in call to `to`.\n @return A boolean value indicating whether the operation succeeded unless throwing."},"functionSelector":"4000aea0","implemented":false,"kind":"function","modifiers":[],"name":"transferAndCall","nameLocation":"2072:15:29","parameters":{"id":41467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41462,"mutability":"mutable","name":"to","nameLocation":"2096:2:29","nodeType":"VariableDeclaration","scope":41471,"src":"2088:10:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41461,"name":"address","nodeType":"ElementaryTypeName","src":"2088:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41464,"mutability":"mutable","name":"value","nameLocation":"2108:5:29","nodeType":"VariableDeclaration","scope":41471,"src":"2100:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41463,"name":"uint256","nodeType":"ElementaryTypeName","src":"2100:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41466,"mutability":"mutable","name":"data","nameLocation":"2130:4:29","nodeType":"VariableDeclaration","scope":41471,"src":"2115:19:29","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":41465,"name":"bytes","nodeType":"ElementaryTypeName","src":"2115:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2087:48:29"},"returnParameters":{"id":41470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41469,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41471,"src":"2154:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41468,"name":"bool","nodeType":"ElementaryTypeName","src":"2154:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2153:6:29"},"scope":41520,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41483,"nodeType":"FunctionDefinition","src":"2624:94:29","nodes":[],"documentation":{"id":41472,"nodeType":"StructuredDocumentation","src":"2166:453:29","text":" @dev Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism\n and then calls {IERC1363Receiver-onTransferReceived} on `to`.\n @param from The address which you want to send tokens from.\n @param to The address which you want to transfer to.\n @param value The amount of tokens to be transferred.\n @return A boolean value indicating whether the operation succeeded unless throwing."},"functionSelector":"d8fbe994","implemented":false,"kind":"function","modifiers":[],"name":"transferFromAndCall","nameLocation":"2633:19:29","parameters":{"id":41479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41474,"mutability":"mutable","name":"from","nameLocation":"2661:4:29","nodeType":"VariableDeclaration","scope":41483,"src":"2653:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41473,"name":"address","nodeType":"ElementaryTypeName","src":"2653:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41476,"mutability":"mutable","name":"to","nameLocation":"2675:2:29","nodeType":"VariableDeclaration","scope":41483,"src":"2667:10:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41475,"name":"address","nodeType":"ElementaryTypeName","src":"2667:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41478,"mutability":"mutable","name":"value","nameLocation":"2687:5:29","nodeType":"VariableDeclaration","scope":41483,"src":"2679:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41477,"name":"uint256","nodeType":"ElementaryTypeName","src":"2679:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2652:41:29"},"returnParameters":{"id":41482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41483,"src":"2712:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41480,"name":"bool","nodeType":"ElementaryTypeName","src":"2712:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2711:6:29"},"scope":41520,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41497,"nodeType":"FunctionDefinition","src":"3265:115:29","nodes":[],"documentation":{"id":41484,"nodeType":"StructuredDocumentation","src":"2724:536:29","text":" @dev Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism\n and then calls {IERC1363Receiver-onTransferReceived} on `to`.\n @param from The address which you want to send tokens from.\n @param to The address which you want to transfer to.\n @param value The amount of tokens to be transferred.\n @param data Additional data with no specified format, sent in call to `to`.\n @return A boolean value indicating whether the operation succeeded unless throwing."},"functionSelector":"c1d34b89","implemented":false,"kind":"function","modifiers":[],"name":"transferFromAndCall","nameLocation":"3274:19:29","parameters":{"id":41493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41486,"mutability":"mutable","name":"from","nameLocation":"3302:4:29","nodeType":"VariableDeclaration","scope":41497,"src":"3294:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41485,"name":"address","nodeType":"ElementaryTypeName","src":"3294:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41488,"mutability":"mutable","name":"to","nameLocation":"3316:2:29","nodeType":"VariableDeclaration","scope":41497,"src":"3308:10:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41487,"name":"address","nodeType":"ElementaryTypeName","src":"3308:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41490,"mutability":"mutable","name":"value","nameLocation":"3328:5:29","nodeType":"VariableDeclaration","scope":41497,"src":"3320:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41489,"name":"uint256","nodeType":"ElementaryTypeName","src":"3320:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41492,"mutability":"mutable","name":"data","nameLocation":"3350:4:29","nodeType":"VariableDeclaration","scope":41497,"src":"3335:19:29","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":41491,"name":"bytes","nodeType":"ElementaryTypeName","src":"3335:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3293:62:29"},"returnParameters":{"id":41496,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41495,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41497,"src":"3374:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41494,"name":"bool","nodeType":"ElementaryTypeName","src":"3374:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3373:6:29"},"scope":41520,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41507,"nodeType":"FunctionDefinition","src":"3781:80:29","nodes":[],"documentation":{"id":41498,"nodeType":"StructuredDocumentation","src":"3386:390:29","text":" @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n caller's tokens and then calls {IERC1363Spender-onApprovalReceived} on `spender`.\n @param spender The address which will spend the funds.\n @param value The amount of tokens to be spent.\n @return A boolean value indicating whether the operation succeeded unless throwing."},"functionSelector":"3177029f","implemented":false,"kind":"function","modifiers":[],"name":"approveAndCall","nameLocation":"3790:14:29","parameters":{"id":41503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41500,"mutability":"mutable","name":"spender","nameLocation":"3813:7:29","nodeType":"VariableDeclaration","scope":41507,"src":"3805:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41499,"name":"address","nodeType":"ElementaryTypeName","src":"3805:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41502,"mutability":"mutable","name":"value","nameLocation":"3830:5:29","nodeType":"VariableDeclaration","scope":41507,"src":"3822:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41501,"name":"uint256","nodeType":"ElementaryTypeName","src":"3822:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3804:32:29"},"returnParameters":{"id":41506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41505,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41507,"src":"3855:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41504,"name":"bool","nodeType":"ElementaryTypeName","src":"3855:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3854:6:29"},"scope":41520,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41519,"nodeType":"FunctionDefinition","src":"4350:101:29","nodes":[],"documentation":{"id":41508,"nodeType":"StructuredDocumentation","src":"3867:478:29","text":" @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n caller's tokens and then calls {IERC1363Spender-onApprovalReceived} on `spender`.\n @param spender The address which will spend the funds.\n @param value The amount of tokens to be spent.\n @param data Additional data with no specified format, sent in call to `spender`.\n @return A boolean value indicating whether the operation succeeded unless throwing."},"functionSelector":"cae9ca51","implemented":false,"kind":"function","modifiers":[],"name":"approveAndCall","nameLocation":"4359:14:29","parameters":{"id":41515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41510,"mutability":"mutable","name":"spender","nameLocation":"4382:7:29","nodeType":"VariableDeclaration","scope":41519,"src":"4374:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41509,"name":"address","nodeType":"ElementaryTypeName","src":"4374:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41512,"mutability":"mutable","name":"value","nameLocation":"4399:5:29","nodeType":"VariableDeclaration","scope":41519,"src":"4391:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41511,"name":"uint256","nodeType":"ElementaryTypeName","src":"4391:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41514,"mutability":"mutable","name":"data","nameLocation":"4421:4:29","nodeType":"VariableDeclaration","scope":41519,"src":"4406:19:29","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":41513,"name":"bytes","nodeType":"ElementaryTypeName","src":"4406:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4373:53:29"},"returnParameters":{"id":41518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41517,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41519,"src":"4445:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41516,"name":"bool","nodeType":"ElementaryTypeName","src":"4445:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4444:6:29"},"scope":41520,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":41446,"name":"IERC20","nameLocations":["590:6:29"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"590:6:29"},"id":41447,"nodeType":"InheritanceSpecifier","src":"590:6:29"},{"baseName":{"id":41448,"name":"IERC165","nameLocations":["598:7:29"],"nodeType":"IdentifierPath","referencedDeclaration":46799,"src":"598:7:29"},"id":41449,"nodeType":"InheritanceSpecifier","src":"598:7:29"}],"canonicalName":"IERC1363","contractDependencies":[],"contractKind":"interface","documentation":{"id":41445,"nodeType":"StructuredDocumentation","src":"210:357:29","text":" @title IERC1363\n @dev Interface of the ERC-1363 standard as defined in the https://eips.ethereum.org/EIPS/eip-1363[ERC-1363].\n Defines an extension interface for ERC-20 tokens that supports executing code on a recipient contract\n after `transfer` or `transferFrom`, or code on a spender contract after `approve`, in a single transaction."},"fullyImplemented":false,"linearizedBaseContracts":[41520,46799,43048],"name":"IERC1363","nameLocation":"578:8:29","scope":41521,"usedErrors":[],"usedEvents":[42982,42991]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"id":30,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol","id":41525,"exportedSymbols":{"IERC165":[46799]},"nodeType":"SourceUnit","src":"106:87:30","nodes":[{"id":41522,"nodeType":"PragmaDirective","src":"106:25:30","nodes":[],"literals":["solidity",">=","0.4",".16"]},{"id":41524,"nodeType":"ImportDirective","src":"133:59:30","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol","file":"../utils/introspection/IERC165.sol","nameLocation":"-1:-1:-1","scope":41525,"sourceUnit":46800,"symbolAliases":[{"foreign":{"id":41523,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46799,"src":"141:7:30","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"id":31,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol","id":41546,"exportedSymbols":{"IERC1967":[41545]},"nodeType":"SourceUnit","src":"107:530:31","nodes":[{"id":41526,"nodeType":"PragmaDirective","src":"107:25:31","nodes":[],"literals":["solidity",">=","0.4",".11"]},{"id":41545,"nodeType":"ContractDefinition","src":"236:400:31","nodes":[{"id":41532,"nodeType":"EventDefinition","src":"334:47:31","nodes":[],"anonymous":false,"documentation":{"id":41528,"nodeType":"StructuredDocumentation","src":"261:68:31","text":" @dev Emitted when the implementation is upgraded."},"eventSelector":"bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b","name":"Upgraded","nameLocation":"340:8:31","parameters":{"id":41531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41530,"indexed":true,"mutability":"mutable","name":"implementation","nameLocation":"365:14:31","nodeType":"VariableDeclaration","scope":41532,"src":"349:30:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41529,"name":"address","nodeType":"ElementaryTypeName","src":"349:7:31","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"348:32:31"}},{"id":41539,"nodeType":"EventDefinition","src":"459:60:31","nodes":[],"anonymous":false,"documentation":{"id":41533,"nodeType":"StructuredDocumentation","src":"387:67:31","text":" @dev Emitted when the admin account has changed."},"eventSelector":"7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f","name":"AdminChanged","nameLocation":"465:12:31","parameters":{"id":41538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41535,"indexed":false,"mutability":"mutable","name":"previousAdmin","nameLocation":"486:13:31","nodeType":"VariableDeclaration","scope":41539,"src":"478:21:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41534,"name":"address","nodeType":"ElementaryTypeName","src":"478:7:31","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41537,"indexed":false,"mutability":"mutable","name":"newAdmin","nameLocation":"509:8:31","nodeType":"VariableDeclaration","scope":41539,"src":"501:16:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41536,"name":"address","nodeType":"ElementaryTypeName","src":"501:7:31","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"477:41:31"}},{"id":41544,"nodeType":"EventDefinition","src":"589:45:31","nodes":[],"anonymous":false,"documentation":{"id":41540,"nodeType":"StructuredDocumentation","src":"525:59:31","text":" @dev Emitted when the beacon is changed."},"eventSelector":"1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e","name":"BeaconUpgraded","nameLocation":"595:14:31","parameters":{"id":41543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41542,"indexed":true,"mutability":"mutable","name":"beacon","nameLocation":"626:6:31","nodeType":"VariableDeclaration","scope":41544,"src":"610:22:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41541,"name":"address","nodeType":"ElementaryTypeName","src":"610:7:31","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"609:24:31"}}],"abstract":false,"baseContracts":[],"canonicalName":"IERC1967","contractDependencies":[],"contractKind":"interface","documentation":{"id":41527,"nodeType":"StructuredDocumentation","src":"134:101:31","text":" @dev ERC-1967: Proxy Storage Slots. This interface contains the events defined in the ERC."},"fullyImplemented":true,"linearizedBaseContracts":[41545],"name":"IERC1967","nameLocation":"246:8:31","scope":41546,"usedErrors":[],"usedEvents":[41532,41539,41544]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"id":32,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol","id":41550,"exportedSymbols":{"IERC20":[43048]},"nodeType":"SourceUnit","src":"105:77:32","nodes":[{"id":41547,"nodeType":"PragmaDirective","src":"105:25:32","nodes":[],"literals":["solidity",">=","0.4",".16"]},{"id":41549,"nodeType":"ImportDirective","src":"132:49:32","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"../token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":41550,"sourceUnit":43049,"symbolAliases":[{"foreign":{"id":41548,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"140:6:32","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol":{"id":33,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol","id":41560,"exportedSymbols":{"IERC5313":[41559]},"nodeType":"SourceUnit","src":"107:328:33","nodes":[{"id":41551,"nodeType":"PragmaDirective","src":"107:25:33","nodes":[],"literals":["solidity",">=","0.4",".16"]},{"id":41559,"nodeType":"ContractDefinition","src":"299:135:33","nodes":[{"id":41558,"nodeType":"FunctionDefinition","src":"383:49:33","nodes":[],"documentation":{"id":41553,"nodeType":"StructuredDocumentation","src":"324:54:33","text":" @dev Gets the address of the owner."},"functionSelector":"8da5cb5b","implemented":false,"kind":"function","modifiers":[],"name":"owner","nameLocation":"392:5:33","parameters":{"id":41554,"nodeType":"ParameterList","parameters":[],"src":"397:2:33"},"returnParameters":{"id":41557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41556,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41558,"src":"423:7:33","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41555,"name":"address","nodeType":"ElementaryTypeName","src":"423:7:33","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"422:9:33"},"scope":41559,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC5313","contractDependencies":[],"contractKind":"interface","documentation":{"id":41552,"nodeType":"StructuredDocumentation","src":"134:164:33","text":" @dev Interface for the Light Contract Ownership Standard.\n A standardized minimal interface required to identify an account that controls a contract"},"fullyImplemented":false,"linearizedBaseContracts":[41559],"name":"IERC5313","nameLocation":"309:8:33","scope":41560,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"id":34,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol","id":41570,"exportedSymbols":{"IERC1822Proxiable":[41569]},"nodeType":"SourceUnit","src":"113:769:34","nodes":[{"id":41561,"nodeType":"PragmaDirective","src":"113:25:34","nodes":[],"literals":["solidity",">=","0.4",".16"]},{"id":41569,"nodeType":"ContractDefinition","src":"345:536:34","nodes":[{"id":41568,"nodeType":"FunctionDefinition","src":"822:57:34","nodes":[],"documentation":{"id":41563,"nodeType":"StructuredDocumentation","src":"379:438:34","text":" @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation\n address.\n IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n function revert if invoked through a proxy."},"functionSelector":"52d1902d","implemented":false,"kind":"function","modifiers":[],"name":"proxiableUUID","nameLocation":"831:13:34","parameters":{"id":41564,"nodeType":"ParameterList","parameters":[],"src":"844:2:34"},"returnParameters":{"id":41567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41566,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41568,"src":"870:7:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41565,"name":"bytes32","nodeType":"ElementaryTypeName","src":"870:7:34","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"869:9:34"},"scope":41569,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC1822Proxiable","contractDependencies":[],"contractKind":"interface","documentation":{"id":41562,"nodeType":"StructuredDocumentation","src":"140:204:34","text":" @dev ERC-1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified\n proxy whose upgrades are fully controlled by the current implementation."},"fullyImplemented":false,"linearizedBaseContracts":[41569],"name":"IERC1822Proxiable","nameLocation":"355:17:34","scope":41570,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"id":35,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol","id":41707,"exportedSymbols":{"IERC1155Errors":[41706],"IERC20Errors":[41611],"IERC721Errors":[41659]},"nodeType":"SourceUnit","src":"112:6426:35","nodes":[{"id":41571,"nodeType":"PragmaDirective","src":"112:24:35","nodes":[],"literals":["solidity",">=","0.8",".4"]},{"id":41611,"nodeType":"ContractDefinition","src":"280:1764:35","nodes":[{"id":41581,"nodeType":"ErrorDefinition","src":"623:80:35","nodes":[],"documentation":{"id":41573,"nodeType":"StructuredDocumentation","src":"309:309:35","text":" @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred.\n @param balance Current balance for the interacting account.\n @param needed Minimum amount required to perform a transfer."},"errorSelector":"e450d38c","name":"ERC20InsufficientBalance","nameLocation":"629:24:35","parameters":{"id":41580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41575,"mutability":"mutable","name":"sender","nameLocation":"662:6:35","nodeType":"VariableDeclaration","scope":41581,"src":"654:14:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41574,"name":"address","nodeType":"ElementaryTypeName","src":"654:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41577,"mutability":"mutable","name":"balance","nameLocation":"678:7:35","nodeType":"VariableDeclaration","scope":41581,"src":"670:15:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41576,"name":"uint256","nodeType":"ElementaryTypeName","src":"670:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41579,"mutability":"mutable","name":"needed","nameLocation":"695:6:35","nodeType":"VariableDeclaration","scope":41581,"src":"687:14:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41578,"name":"uint256","nodeType":"ElementaryTypeName","src":"687:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"653:49:35"}},{"id":41586,"nodeType":"ErrorDefinition","src":"866:41:35","nodes":[],"documentation":{"id":41582,"nodeType":"StructuredDocumentation","src":"709:152:35","text":" @dev Indicates a failure with the token `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred."},"errorSelector":"96c6fd1e","name":"ERC20InvalidSender","nameLocation":"872:18:35","parameters":{"id":41585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41584,"mutability":"mutable","name":"sender","nameLocation":"899:6:35","nodeType":"VariableDeclaration","scope":41586,"src":"891:14:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41583,"name":"address","nodeType":"ElementaryTypeName","src":"891:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"890:16:35"}},{"id":41591,"nodeType":"ErrorDefinition","src":"1077:45:35","nodes":[],"documentation":{"id":41587,"nodeType":"StructuredDocumentation","src":"913:159:35","text":" @dev Indicates a failure with the token `receiver`. Used in transfers.\n @param receiver Address to which tokens are being transferred."},"errorSelector":"ec442f05","name":"ERC20InvalidReceiver","nameLocation":"1083:20:35","parameters":{"id":41590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41589,"mutability":"mutable","name":"receiver","nameLocation":"1112:8:35","nodeType":"VariableDeclaration","scope":41591,"src":"1104:16:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41588,"name":"address","nodeType":"ElementaryTypeName","src":"1104:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1103:18:35"}},{"id":41600,"nodeType":"ErrorDefinition","src":"1478:85:35","nodes":[],"documentation":{"id":41592,"nodeType":"StructuredDocumentation","src":"1128:345:35","text":" @dev Indicates a failure with the `spender`’s `allowance`. Used in transfers.\n @param spender Address that may be allowed to operate on tokens without being their owner.\n @param allowance Amount of tokens a `spender` is allowed to operate with.\n @param needed Minimum amount required to perform a transfer."},"errorSelector":"fb8f41b2","name":"ERC20InsufficientAllowance","nameLocation":"1484:26:35","parameters":{"id":41599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41594,"mutability":"mutable","name":"spender","nameLocation":"1519:7:35","nodeType":"VariableDeclaration","scope":41600,"src":"1511:15:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41593,"name":"address","nodeType":"ElementaryTypeName","src":"1511:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41596,"mutability":"mutable","name":"allowance","nameLocation":"1536:9:35","nodeType":"VariableDeclaration","scope":41600,"src":"1528:17:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41595,"name":"uint256","nodeType":"ElementaryTypeName","src":"1528:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41598,"mutability":"mutable","name":"needed","nameLocation":"1555:6:35","nodeType":"VariableDeclaration","scope":41600,"src":"1547:14:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41597,"name":"uint256","nodeType":"ElementaryTypeName","src":"1547:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1510:52:35"}},{"id":41605,"nodeType":"ErrorDefinition","src":"1748:45:35","nodes":[],"documentation":{"id":41601,"nodeType":"StructuredDocumentation","src":"1569:174:35","text":" @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n @param approver Address initiating an approval operation."},"errorSelector":"e602df05","name":"ERC20InvalidApprover","nameLocation":"1754:20:35","parameters":{"id":41604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41603,"mutability":"mutable","name":"approver","nameLocation":"1783:8:35","nodeType":"VariableDeclaration","scope":41605,"src":"1775:16:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41602,"name":"address","nodeType":"ElementaryTypeName","src":"1775:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1774:18:35"}},{"id":41610,"nodeType":"ErrorDefinition","src":"1999:43:35","nodes":[],"documentation":{"id":41606,"nodeType":"StructuredDocumentation","src":"1799:195:35","text":" @dev Indicates a failure with the `spender` to be approved. Used in approvals.\n @param spender Address that may be allowed to operate on tokens without being their owner."},"errorSelector":"94280d62","name":"ERC20InvalidSpender","nameLocation":"2005:19:35","parameters":{"id":41609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41608,"mutability":"mutable","name":"spender","nameLocation":"2033:7:35","nodeType":"VariableDeclaration","scope":41610,"src":"2025:15:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41607,"name":"address","nodeType":"ElementaryTypeName","src":"2025:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2024:17:35"}}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20Errors","contractDependencies":[],"contractKind":"interface","documentation":{"id":41572,"nodeType":"StructuredDocumentation","src":"138:141:35","text":" @dev Standard ERC-20 Errors\n Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens."},"fullyImplemented":true,"linearizedBaseContracts":[41611],"name":"IERC20Errors","nameLocation":"290:12:35","scope":41707,"usedErrors":[41581,41586,41591,41600,41605,41610],"usedEvents":[]},{"id":41659,"nodeType":"ContractDefinition","src":"2190:2092:35","nodes":[{"id":41617,"nodeType":"ErrorDefinition","src":"2444:40:35","nodes":[],"documentation":{"id":41613,"nodeType":"StructuredDocumentation","src":"2220:219:35","text":" @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-20.\n Used in balance queries.\n @param owner Address of the current owner of a token."},"errorSelector":"89c62b64","name":"ERC721InvalidOwner","nameLocation":"2450:18:35","parameters":{"id":41616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41615,"mutability":"mutable","name":"owner","nameLocation":"2477:5:35","nodeType":"VariableDeclaration","scope":41617,"src":"2469:13:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41614,"name":"address","nodeType":"ElementaryTypeName","src":"2469:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2468:15:35"}},{"id":41622,"nodeType":"ErrorDefinition","src":"2627:46:35","nodes":[],"documentation":{"id":41618,"nodeType":"StructuredDocumentation","src":"2490:132:35","text":" @dev Indicates a `tokenId` whose `owner` is the zero address.\n @param tokenId Identifier number of a token."},"errorSelector":"7e273289","name":"ERC721NonexistentToken","nameLocation":"2633:22:35","parameters":{"id":41621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41620,"mutability":"mutable","name":"tokenId","nameLocation":"2664:7:35","nodeType":"VariableDeclaration","scope":41622,"src":"2656:15:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41619,"name":"uint256","nodeType":"ElementaryTypeName","src":"2656:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2655:17:35"}},{"id":41631,"nodeType":"ErrorDefinition","src":"2973:75:35","nodes":[],"documentation":{"id":41623,"nodeType":"StructuredDocumentation","src":"2679:289:35","text":" @dev Indicates an error related to the ownership over a particular token. Used in transfers.\n @param sender Address whose tokens are being transferred.\n @param tokenId Identifier number of a token.\n @param owner Address of the current owner of a token."},"errorSelector":"64283d7b","name":"ERC721IncorrectOwner","nameLocation":"2979:20:35","parameters":{"id":41630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41625,"mutability":"mutable","name":"sender","nameLocation":"3008:6:35","nodeType":"VariableDeclaration","scope":41631,"src":"3000:14:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41624,"name":"address","nodeType":"ElementaryTypeName","src":"3000:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41627,"mutability":"mutable","name":"tokenId","nameLocation":"3024:7:35","nodeType":"VariableDeclaration","scope":41631,"src":"3016:15:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41626,"name":"uint256","nodeType":"ElementaryTypeName","src":"3016:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41629,"mutability":"mutable","name":"owner","nameLocation":"3041:5:35","nodeType":"VariableDeclaration","scope":41631,"src":"3033:13:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41628,"name":"address","nodeType":"ElementaryTypeName","src":"3033:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2999:48:35"}},{"id":41636,"nodeType":"ErrorDefinition","src":"3211:42:35","nodes":[],"documentation":{"id":41632,"nodeType":"StructuredDocumentation","src":"3054:152:35","text":" @dev Indicates a failure with the token `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred."},"errorSelector":"73c6ac6e","name":"ERC721InvalidSender","nameLocation":"3217:19:35","parameters":{"id":41635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41634,"mutability":"mutable","name":"sender","nameLocation":"3245:6:35","nodeType":"VariableDeclaration","scope":41636,"src":"3237:14:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41633,"name":"address","nodeType":"ElementaryTypeName","src":"3237:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3236:16:35"}},{"id":41641,"nodeType":"ErrorDefinition","src":"3423:46:35","nodes":[],"documentation":{"id":41637,"nodeType":"StructuredDocumentation","src":"3259:159:35","text":" @dev Indicates a failure with the token `receiver`. Used in transfers.\n @param receiver Address to which tokens are being transferred."},"errorSelector":"64a0ae92","name":"ERC721InvalidReceiver","nameLocation":"3429:21:35","parameters":{"id":41640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41639,"mutability":"mutable","name":"receiver","nameLocation":"3459:8:35","nodeType":"VariableDeclaration","scope":41641,"src":"3451:16:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41638,"name":"address","nodeType":"ElementaryTypeName","src":"3451:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3450:18:35"}},{"id":41648,"nodeType":"ErrorDefinition","src":"3727:68:35","nodes":[],"documentation":{"id":41642,"nodeType":"StructuredDocumentation","src":"3475:247:35","text":" @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n @param operator Address that may be allowed to operate on tokens without being their owner.\n @param tokenId Identifier number of a token."},"errorSelector":"177e802f","name":"ERC721InsufficientApproval","nameLocation":"3733:26:35","parameters":{"id":41647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41644,"mutability":"mutable","name":"operator","nameLocation":"3768:8:35","nodeType":"VariableDeclaration","scope":41648,"src":"3760:16:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41643,"name":"address","nodeType":"ElementaryTypeName","src":"3760:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41646,"mutability":"mutable","name":"tokenId","nameLocation":"3786:7:35","nodeType":"VariableDeclaration","scope":41648,"src":"3778:15:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41645,"name":"uint256","nodeType":"ElementaryTypeName","src":"3778:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3759:35:35"}},{"id":41653,"nodeType":"ErrorDefinition","src":"3980:46:35","nodes":[],"documentation":{"id":41649,"nodeType":"StructuredDocumentation","src":"3801:174:35","text":" @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n @param approver Address initiating an approval operation."},"errorSelector":"a9fbf51f","name":"ERC721InvalidApprover","nameLocation":"3986:21:35","parameters":{"id":41652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41651,"mutability":"mutable","name":"approver","nameLocation":"4016:8:35","nodeType":"VariableDeclaration","scope":41653,"src":"4008:16:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41650,"name":"address","nodeType":"ElementaryTypeName","src":"4008:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4007:18:35"}},{"id":41658,"nodeType":"ErrorDefinition","src":"4234:46:35","nodes":[],"documentation":{"id":41654,"nodeType":"StructuredDocumentation","src":"4032:197:35","text":" @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n @param operator Address that may be allowed to operate on tokens without being their owner."},"errorSelector":"5b08ba18","name":"ERC721InvalidOperator","nameLocation":"4240:21:35","parameters":{"id":41657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41656,"mutability":"mutable","name":"operator","nameLocation":"4270:8:35","nodeType":"VariableDeclaration","scope":41658,"src":"4262:16:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41655,"name":"address","nodeType":"ElementaryTypeName","src":"4262:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4261:18:35"}}],"abstract":false,"baseContracts":[],"canonicalName":"IERC721Errors","contractDependencies":[],"contractKind":"interface","documentation":{"id":41612,"nodeType":"StructuredDocumentation","src":"2046:143:35","text":" @dev Standard ERC-721 Errors\n Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens."},"fullyImplemented":true,"linearizedBaseContracts":[41659],"name":"IERC721Errors","nameLocation":"2200:13:35","scope":41707,"usedErrors":[41617,41622,41631,41636,41641,41648,41653,41658],"usedEvents":[]},{"id":41706,"nodeType":"ContractDefinition","src":"4430:2107:35","nodes":[{"id":41671,"nodeType":"ErrorDefinition","src":"4827:99:35","nodes":[],"documentation":{"id":41661,"nodeType":"StructuredDocumentation","src":"4461:361:35","text":" @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred.\n @param balance Current balance for the interacting account.\n @param needed Minimum amount required to perform a transfer.\n @param tokenId Identifier number of a token."},"errorSelector":"03dee4c5","name":"ERC1155InsufficientBalance","nameLocation":"4833:26:35","parameters":{"id":41670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41663,"mutability":"mutable","name":"sender","nameLocation":"4868:6:35","nodeType":"VariableDeclaration","scope":41671,"src":"4860:14:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41662,"name":"address","nodeType":"ElementaryTypeName","src":"4860:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41665,"mutability":"mutable","name":"balance","nameLocation":"4884:7:35","nodeType":"VariableDeclaration","scope":41671,"src":"4876:15:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41664,"name":"uint256","nodeType":"ElementaryTypeName","src":"4876:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41667,"mutability":"mutable","name":"needed","nameLocation":"4901:6:35","nodeType":"VariableDeclaration","scope":41671,"src":"4893:14:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41666,"name":"uint256","nodeType":"ElementaryTypeName","src":"4893:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41669,"mutability":"mutable","name":"tokenId","nameLocation":"4917:7:35","nodeType":"VariableDeclaration","scope":41671,"src":"4909:15:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41668,"name":"uint256","nodeType":"ElementaryTypeName","src":"4909:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4859:66:35"}},{"id":41676,"nodeType":"ErrorDefinition","src":"5089:43:35","nodes":[],"documentation":{"id":41672,"nodeType":"StructuredDocumentation","src":"4932:152:35","text":" @dev Indicates a failure with the token `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred."},"errorSelector":"01a83514","name":"ERC1155InvalidSender","nameLocation":"5095:20:35","parameters":{"id":41675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41674,"mutability":"mutable","name":"sender","nameLocation":"5124:6:35","nodeType":"VariableDeclaration","scope":41676,"src":"5116:14:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41673,"name":"address","nodeType":"ElementaryTypeName","src":"5116:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5115:16:35"}},{"id":41681,"nodeType":"ErrorDefinition","src":"5302:47:35","nodes":[],"documentation":{"id":41677,"nodeType":"StructuredDocumentation","src":"5138:159:35","text":" @dev Indicates a failure with the token `receiver`. Used in transfers.\n @param receiver Address to which tokens are being transferred."},"errorSelector":"57f447ce","name":"ERC1155InvalidReceiver","nameLocation":"5308:22:35","parameters":{"id":41680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41679,"mutability":"mutable","name":"receiver","nameLocation":"5339:8:35","nodeType":"VariableDeclaration","scope":41681,"src":"5331:16:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41678,"name":"address","nodeType":"ElementaryTypeName","src":"5331:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5330:18:35"}},{"id":41688,"nodeType":"ErrorDefinition","src":"5616:68:35","nodes":[],"documentation":{"id":41682,"nodeType":"StructuredDocumentation","src":"5355:256:35","text":" @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n @param operator Address that may be allowed to operate on tokens without being their owner.\n @param owner Address of the current owner of a token."},"errorSelector":"e237d922","name":"ERC1155MissingApprovalForAll","nameLocation":"5622:28:35","parameters":{"id":41687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41684,"mutability":"mutable","name":"operator","nameLocation":"5659:8:35","nodeType":"VariableDeclaration","scope":41688,"src":"5651:16:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41683,"name":"address","nodeType":"ElementaryTypeName","src":"5651:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41686,"mutability":"mutable","name":"owner","nameLocation":"5677:5:35","nodeType":"VariableDeclaration","scope":41688,"src":"5669:13:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41685,"name":"address","nodeType":"ElementaryTypeName","src":"5669:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5650:33:35"}},{"id":41693,"nodeType":"ErrorDefinition","src":"5869:47:35","nodes":[],"documentation":{"id":41689,"nodeType":"StructuredDocumentation","src":"5690:174:35","text":" @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n @param approver Address initiating an approval operation."},"errorSelector":"3e31884e","name":"ERC1155InvalidApprover","nameLocation":"5875:22:35","parameters":{"id":41692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41691,"mutability":"mutable","name":"approver","nameLocation":"5906:8:35","nodeType":"VariableDeclaration","scope":41693,"src":"5898:16:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41690,"name":"address","nodeType":"ElementaryTypeName","src":"5898:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5897:18:35"}},{"id":41698,"nodeType":"ErrorDefinition","src":"6124:47:35","nodes":[],"documentation":{"id":41694,"nodeType":"StructuredDocumentation","src":"5922:197:35","text":" @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n @param operator Address that may be allowed to operate on tokens without being their owner."},"errorSelector":"ced3e100","name":"ERC1155InvalidOperator","nameLocation":"6130:22:35","parameters":{"id":41697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41696,"mutability":"mutable","name":"operator","nameLocation":"6161:8:35","nodeType":"VariableDeclaration","scope":41698,"src":"6153:16:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41695,"name":"address","nodeType":"ElementaryTypeName","src":"6153:7:35","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6152:18:35"}},{"id":41705,"nodeType":"ErrorDefinition","src":"6462:73:35","nodes":[],"documentation":{"id":41699,"nodeType":"StructuredDocumentation","src":"6177:280:35","text":" @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation.\n Used in batch transfers.\n @param idsLength Length of the array of token identifiers\n @param valuesLength Length of the array of token amounts"},"errorSelector":"5b059991","name":"ERC1155InvalidArrayLength","nameLocation":"6468:25:35","parameters":{"id":41704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41701,"mutability":"mutable","name":"idsLength","nameLocation":"6502:9:35","nodeType":"VariableDeclaration","scope":41705,"src":"6494:17:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41700,"name":"uint256","nodeType":"ElementaryTypeName","src":"6494:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41703,"mutability":"mutable","name":"valuesLength","nameLocation":"6521:12:35","nodeType":"VariableDeclaration","scope":41705,"src":"6513:20:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41702,"name":"uint256","nodeType":"ElementaryTypeName","src":"6513:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6493:41:35"}}],"abstract":false,"baseContracts":[],"canonicalName":"IERC1155Errors","contractDependencies":[],"contractKind":"interface","documentation":{"id":41660,"nodeType":"StructuredDocumentation","src":"4284:145:35","text":" @dev Standard ERC-1155 Errors\n Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens."},"fullyImplemented":true,"linearizedBaseContracts":[41706],"name":"IERC1155Errors","nameLocation":"4440:14:35","scope":41707,"usedErrors":[41671,41676,41681,41688,41693,41698,41705],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol":{"id":36,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol","id":41748,"exportedSymbols":{"ERC20":[42970],"ERC20Mock":[41747]},"nodeType":"SourceUnit","src":"32:360:36","nodes":[{"id":41708,"nodeType":"PragmaDirective","src":"32:24:36","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":41710,"nodeType":"ImportDirective","src":"58:50:36","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"../../token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":41748,"sourceUnit":42971,"symbolAliases":[{"foreign":{"id":41709,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42970,"src":"66:5:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41747,"nodeType":"ContractDefinition","src":"110:281:36","nodes":[{"id":41720,"nodeType":"FunctionDefinition","src":"144:43:36","nodes":[],"body":{"id":41719,"nodeType":"Block","src":"185:2:36","nodes":[],"statements":[]},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"hexValue":"45524332304d6f636b","id":41715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"164:11:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_33e204670039f8eeeb54743b50a42c4eacdfe9c2a99e7c90a68653a84d2870ae","typeString":"literal_string \"ERC20Mock\""},"value":"ERC20Mock"},{"hexValue":"4532304d","id":41716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"177:6:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_e146b19f4863aaa90bb9ad2c640c77b569e376541b06949c872e8cb5e47c42ef","typeString":"literal_string \"E20M\""},"value":"E20M"}],"id":41717,"kind":"baseConstructorSpecifier","modifierName":{"id":41714,"name":"ERC20","nameLocations":["158:5:36"],"nodeType":"IdentifierPath","referencedDeclaration":42970,"src":"158:5:36"},"nodeType":"ModifierInvocation","src":"158:26:36"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":41713,"nodeType":"ParameterList","parameters":[],"src":"155:2:36"},"returnParameters":{"id":41718,"nodeType":"ParameterList","parameters":[],"src":"185:0:36"},"scope":41747,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":41733,"nodeType":"FunctionDefinition","src":"193:95:36","nodes":[],"body":{"id":41732,"nodeType":"Block","src":"249:39:36","nodes":[],"statements":[{"expression":{"arguments":[{"id":41728,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41722,"src":"265:7:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41729,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41724,"src":"274:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":41727,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42810,"src":"259:5:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":41730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"259:22:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41731,"nodeType":"ExpressionStatement","src":"259:22:36"}]},"functionSelector":"40c10f19","implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"202:4:36","parameters":{"id":41725,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41722,"mutability":"mutable","name":"account","nameLocation":"215:7:36","nodeType":"VariableDeclaration","scope":41733,"src":"207:15:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41721,"name":"address","nodeType":"ElementaryTypeName","src":"207:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41724,"mutability":"mutable","name":"amount","nameLocation":"232:6:36","nodeType":"VariableDeclaration","scope":41733,"src":"224:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41723,"name":"uint256","nodeType":"ElementaryTypeName","src":"224:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"206:33:36"},"returnParameters":{"id":41726,"nodeType":"ParameterList","parameters":[],"src":"249:0:36"},"scope":41747,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41746,"nodeType":"FunctionDefinition","src":"294:95:36","nodes":[],"body":{"id":41745,"nodeType":"Block","src":"350:39:36","nodes":[],"statements":[{"expression":{"arguments":[{"id":41741,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41735,"src":"366:7:36","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41742,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41737,"src":"375:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":41740,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42843,"src":"360:5:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":41743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"360:22:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41744,"nodeType":"ExpressionStatement","src":"360:22:36"}]},"functionSelector":"9dc29fac","implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"303:4:36","parameters":{"id":41738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41735,"mutability":"mutable","name":"account","nameLocation":"316:7:36","nodeType":"VariableDeclaration","scope":41746,"src":"308:15:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41734,"name":"address","nodeType":"ElementaryTypeName","src":"308:7:36","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41737,"mutability":"mutable","name":"amount","nameLocation":"333:6:36","nodeType":"VariableDeclaration","scope":41746,"src":"325:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41736,"name":"uint256","nodeType":"ElementaryTypeName","src":"325:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"307:33:36"},"returnParameters":{"id":41739,"nodeType":"ParameterList","parameters":[],"src":"350:0:36"},"scope":41747,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":41711,"name":"ERC20","nameLocations":["132:5:36"],"nodeType":"IdentifierPath","referencedDeclaration":42970,"src":"132:5:36"},"id":41712,"nodeType":"InheritanceSpecifier","src":"132:5:36"}],"canonicalName":"ERC20Mock","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[41747,42970,41611,43074,43048,44838],"name":"ERC20Mock","nameLocation":"119:9:36","scope":41748,"usedErrors":[41581,41586,41591,41600,41605,41610],"usedEvents":[42982,42991]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"id":37,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","id":41786,"exportedSymbols":{"ERC1967Proxy":[41785],"ERC1967Utils":[42079],"Proxy":[42115]},"nodeType":"SourceUnit","src":"114:1604:37","nodes":[{"id":41749,"nodeType":"PragmaDirective","src":"114:24:37","nodes":[],"literals":["solidity","^","0.8",".22"]},{"id":41751,"nodeType":"ImportDirective","src":"140:35:37","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol","file":"../Proxy.sol","nameLocation":"-1:-1:-1","scope":41786,"sourceUnit":42116,"symbolAliases":[{"foreign":{"id":41750,"name":"Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42115,"src":"148:5:37","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41753,"nodeType":"ImportDirective","src":"176:48:37","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol","file":"./ERC1967Utils.sol","nameLocation":"-1:-1:-1","scope":41786,"sourceUnit":42080,"symbolAliases":[{"foreign":{"id":41752,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42079,"src":"184:12:37","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41785,"nodeType":"ContractDefinition","src":"600:1117:37","nodes":[{"id":41772,"nodeType":"FunctionDefinition","src":"1081:133:37","nodes":[],"body":{"id":41771,"nodeType":"Block","src":"1145:69:37","nodes":[],"statements":[{"expression":{"arguments":[{"id":41767,"name":"implementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41759,"src":"1185:14:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41768,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41761,"src":"1201:5:37","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":41764,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42079,"src":"1155:12:37","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC1967Utils_$42079_$","typeString":"type(library ERC1967Utils)"}},"id":41766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1168:16:37","memberName":"upgradeToAndCall","nodeType":"MemberAccess","referencedDeclaration":41894,"src":"1155:29:37","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory)"}},"id":41769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1155:52:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41770,"nodeType":"ExpressionStatement","src":"1155:52:37"}]},"documentation":{"id":41757,"nodeType":"StructuredDocumentation","src":"637:439:37","text":" @dev Initializes the upgradeable proxy with an initial implementation specified by `implementation`.\n If `_data` is nonempty, it's used as data in a delegate call to `implementation`. This will typically be an\n encoded function call, and allows initializing the storage of the proxy like a Solidity constructor.\n Requirements:\n - If `data` is empty, `msg.value` must be zero."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":41762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41759,"mutability":"mutable","name":"implementation","nameLocation":"1101:14:37","nodeType":"VariableDeclaration","scope":41772,"src":"1093:22:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41758,"name":"address","nodeType":"ElementaryTypeName","src":"1093:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41761,"mutability":"mutable","name":"_data","nameLocation":"1130:5:37","nodeType":"VariableDeclaration","scope":41772,"src":"1117:18:37","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41760,"name":"bytes","nodeType":"ElementaryTypeName","src":"1117:5:37","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1092:44:37"},"returnParameters":{"id":41763,"nodeType":"ParameterList","parameters":[],"src":"1145:0:37"},"scope":41785,"stateMutability":"payable","virtual":false,"visibility":"public"},{"id":41784,"nodeType":"FunctionDefinition","src":"1583:132:37","nodes":[],"body":{"id":41783,"nodeType":"Block","src":"1659:56:37","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":41779,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42079,"src":"1676:12:37","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC1967Utils_$42079_$","typeString":"type(library ERC1967Utils)"}},"id":41780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1689:17:37","memberName":"getImplementation","nodeType":"MemberAccess","referencedDeclaration":41831,"src":"1676:30:37","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":41781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1676:32:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":41778,"id":41782,"nodeType":"Return","src":"1669:39:37"}]},"baseFunctions":[42096],"documentation":{"id":41773,"nodeType":"StructuredDocumentation","src":"1220:358:37","text":" @dev Returns the current implementation address.\n TIP: To get this value clients can read directly from the storage slot shown below (specified by ERC-1967) using\n the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\n `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`"},"implemented":true,"kind":"function","modifiers":[],"name":"_implementation","nameLocation":"1592:15:37","overrides":{"id":41775,"nodeType":"OverrideSpecifier","overrides":[],"src":"1632:8:37"},"parameters":{"id":41774,"nodeType":"ParameterList","parameters":[],"src":"1607:2:37"},"returnParameters":{"id":41778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41777,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41784,"src":"1650:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41776,"name":"address","nodeType":"ElementaryTypeName","src":"1650:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1649:9:37"},"scope":41785,"stateMutability":"view","virtual":true,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":41755,"name":"Proxy","nameLocations":["625:5:37"],"nodeType":"IdentifierPath","referencedDeclaration":42115,"src":"625:5:37"},"id":41756,"nodeType":"InheritanceSpecifier","src":"625:5:37"}],"canonicalName":"ERC1967Proxy","contractDependencies":[],"contractKind":"contract","documentation":{"id":41754,"nodeType":"StructuredDocumentation","src":"226:373:37","text":" @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an\n implementation address that can be changed. This address is stored in storage in the location specified by\n https://eips.ethereum.org/EIPS/eip-1967[ERC-1967], so that it doesn't conflict with the storage layout of the\n implementation behind the proxy."},"fullyImplemented":true,"linearizedBaseContracts":[41785,42115],"name":"ERC1967Proxy","nameLocation":"609:12:37","scope":41786,"usedErrors":[41805,41818,43548,44851],"usedEvents":[41532]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol":{"id":38,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol","id":42080,"exportedSymbols":{"Address":[43798],"ERC1967Utils":[42079],"IBeacon":[42183],"IERC1967":[41545],"StorageSlot":[45166]},"nodeType":"SourceUnit","src":"114:6124:38","nodes":[{"id":41787,"nodeType":"PragmaDirective","src":"114:24:38","nodes":[],"literals":["solidity","^","0.8",".21"]},{"id":41789,"nodeType":"ImportDirective","src":"140:46:38","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol","file":"../beacon/IBeacon.sol","nameLocation":"-1:-1:-1","scope":42080,"sourceUnit":42184,"symbolAliases":[{"foreign":{"id":41788,"name":"IBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42183,"src":"148:7:38","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41791,"nodeType":"ImportDirective","src":"187:55:38","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol","file":"../../interfaces/IERC1967.sol","nameLocation":"-1:-1:-1","scope":42080,"sourceUnit":41546,"symbolAliases":[{"foreign":{"id":41790,"name":"IERC1967","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41545,"src":"195:8:38","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41793,"nodeType":"ImportDirective","src":"243:48:38","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Address.sol","file":"../../utils/Address.sol","nameLocation":"-1:-1:-1","scope":42080,"sourceUnit":43799,"symbolAliases":[{"foreign":{"id":41792,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43798,"src":"251:7:38","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41795,"nodeType":"ImportDirective","src":"292:56:38","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol","file":"../../utils/StorageSlot.sol","nameLocation":"-1:-1:-1","scope":42080,"sourceUnit":45167,"symbolAliases":[{"foreign":{"id":41794,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45166,"src":"300:11:38","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":42079,"nodeType":"ContractDefinition","src":"496:5741:38","nodes":[{"id":41800,"nodeType":"VariableDeclaration","src":"763:114:38","nodes":[],"constant":true,"documentation":{"id":41797,"nodeType":"StructuredDocumentation","src":"523:170:38","text":" @dev Storage slot with the address of the current implementation.\n This is the keccak-256 hash of \"eip1967.proxy.implementation\" subtracted by 1."},"mutability":"constant","name":"IMPLEMENTATION_SLOT","nameLocation":"789:19:38","scope":42079,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41798,"name":"bytes32","nodeType":"ElementaryTypeName","src":"763:7:38","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307833363038393461313362613161333231303636376338323834393264623938646361336532303736636333373335613932306133636135303564333832626263","id":41799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"811:66:38","typeDescriptions":{"typeIdentifier":"t_rational_24440054405305269366569402256811496959409073762505157381672968839269610695612_by_1","typeString":"int_const 2444...(69 digits omitted)...5612"},"value":"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"},"visibility":"internal"},{"id":41805,"nodeType":"ErrorDefinition","src":"958:59:38","nodes":[],"documentation":{"id":41801,"nodeType":"StructuredDocumentation","src":"884:69:38","text":" @dev The `implementation` of the proxy is invalid."},"errorSelector":"4c9c8ce3","name":"ERC1967InvalidImplementation","nameLocation":"964:28:38","parameters":{"id":41804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41803,"mutability":"mutable","name":"implementation","nameLocation":"1001:14:38","nodeType":"VariableDeclaration","scope":41805,"src":"993:22:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41802,"name":"address","nodeType":"ElementaryTypeName","src":"993:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"992:24:38"}},{"id":41810,"nodeType":"ErrorDefinition","src":"1088:41:38","nodes":[],"documentation":{"id":41806,"nodeType":"StructuredDocumentation","src":"1023:60:38","text":" @dev The `admin` of the proxy is invalid."},"errorSelector":"62e77ba2","name":"ERC1967InvalidAdmin","nameLocation":"1094:19:38","parameters":{"id":41809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41808,"mutability":"mutable","name":"admin","nameLocation":"1122:5:38","nodeType":"VariableDeclaration","scope":41810,"src":"1114:13:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41807,"name":"address","nodeType":"ElementaryTypeName","src":"1114:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1113:15:38"}},{"id":41815,"nodeType":"ErrorDefinition","src":"1201:43:38","nodes":[],"documentation":{"id":41811,"nodeType":"StructuredDocumentation","src":"1135:61:38","text":" @dev The `beacon` of the proxy is invalid."},"errorSelector":"64ced0ec","name":"ERC1967InvalidBeacon","nameLocation":"1207:20:38","parameters":{"id":41814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41813,"mutability":"mutable","name":"beacon","nameLocation":"1236:6:38","nodeType":"VariableDeclaration","scope":41815,"src":"1228:14:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41812,"name":"address","nodeType":"ElementaryTypeName","src":"1228:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1227:16:38"}},{"id":41818,"nodeType":"ErrorDefinition","src":"1337:26:38","nodes":[],"documentation":{"id":41816,"nodeType":"StructuredDocumentation","src":"1250:82:38","text":" @dev An upgrade function sees `msg.value > 0` that may be lost."},"errorSelector":"b398979f","name":"ERC1967NonPayable","nameLocation":"1343:17:38","parameters":{"id":41817,"nodeType":"ParameterList","parameters":[],"src":"1360:2:38"}},{"id":41831,"nodeType":"FunctionDefinition","src":"1441:138:38","nodes":[],"body":{"id":41830,"nodeType":"Block","src":"1502:77:38","nodes":[],"statements":[{"expression":{"expression":{"arguments":[{"id":41826,"name":"IMPLEMENTATION_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41800,"src":"1546:19:38","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":41824,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45166,"src":"1519:11:38","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StorageSlot_$45166_$","typeString":"type(library StorageSlot)"}},"id":41825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1531:14:38","memberName":"getAddressSlot","nodeType":"MemberAccess","referencedDeclaration":45077,"src":"1519:26:38","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$45048_storage_ptr_$","typeString":"function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)"}},"id":41827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1519:47:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$45048_storage_ptr","typeString":"struct StorageSlot.AddressSlot storage pointer"}},"id":41828,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1567:5:38","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":45047,"src":"1519:53:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":41823,"id":41829,"nodeType":"Return","src":"1512:60:38"}]},"documentation":{"id":41819,"nodeType":"StructuredDocumentation","src":"1369:67:38","text":" @dev Returns the current implementation address."},"implemented":true,"kind":"function","modifiers":[],"name":"getImplementation","nameLocation":"1450:17:38","parameters":{"id":41820,"nodeType":"ParameterList","parameters":[],"src":"1467:2:38"},"returnParameters":{"id":41823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41822,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41831,"src":"1493:7:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41821,"name":"address","nodeType":"ElementaryTypeName","src":"1493:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1492:9:38"},"scope":42079,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":41858,"nodeType":"FunctionDefinition","src":"1671:281:38","nodes":[],"body":{"id":41857,"nodeType":"Block","src":"1734:218:38","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":41841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":41837,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41834,"src":"1748:17:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":41838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1766:4:38","memberName":"code","nodeType":"MemberAccess","src":"1748:22:38","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":41839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1771:6:38","memberName":"length","nodeType":"MemberAccess","src":"1748:29:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":41840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1781:1:38","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1748:34:38","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41847,"nodeType":"IfStatement","src":"1744:119:38","trueBody":{"id":41846,"nodeType":"Block","src":"1784:79:38","statements":[{"errorCall":{"arguments":[{"id":41843,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41834,"src":"1834:17:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":41842,"name":"ERC1967InvalidImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41805,"src":"1805:28:38","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":41844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1805:47:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":41845,"nodeType":"RevertStatement","src":"1798:54:38"}]}},{"expression":{"id":41855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[{"id":41851,"name":"IMPLEMENTATION_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41800,"src":"1899:19:38","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":41848,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45166,"src":"1872:11:38","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StorageSlot_$45166_$","typeString":"type(library StorageSlot)"}},"id":41850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1884:14:38","memberName":"getAddressSlot","nodeType":"MemberAccess","referencedDeclaration":45077,"src":"1872:26:38","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$45048_storage_ptr_$","typeString":"function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)"}},"id":41852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1872:47:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$45048_storage_ptr","typeString":"struct StorageSlot.AddressSlot storage pointer"}},"id":41853,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1920:5:38","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":45047,"src":"1872:53:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":41854,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41834,"src":"1928:17:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1872:73:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":41856,"nodeType":"ExpressionStatement","src":"1872:73:38"}]},"documentation":{"id":41832,"nodeType":"StructuredDocumentation","src":"1585:81:38","text":" @dev Stores a new address in the ERC-1967 implementation slot."},"implemented":true,"kind":"function","modifiers":[],"name":"_setImplementation","nameLocation":"1680:18:38","parameters":{"id":41835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41834,"mutability":"mutable","name":"newImplementation","nameLocation":"1707:17:38","nodeType":"VariableDeclaration","scope":41858,"src":"1699:25:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41833,"name":"address","nodeType":"ElementaryTypeName","src":"1699:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1698:27:38"},"returnParameters":{"id":41836,"nodeType":"ParameterList","parameters":[],"src":"1734:0:38"},"scope":42079,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":41894,"nodeType":"FunctionDefinition","src":"2264:344:38","nodes":[],"body":{"id":41893,"nodeType":"Block","src":"2345:263:38","nodes":[],"statements":[{"expression":{"arguments":[{"id":41867,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41861,"src":"2374:17:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":41866,"name":"_setImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41858,"src":"2355:18:38","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":41868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2355:37:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41869,"nodeType":"ExpressionStatement","src":"2355:37:38"},{"eventCall":{"arguments":[{"id":41873,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41861,"src":"2425:17:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":41870,"name":"IERC1967","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41545,"src":"2407:8:38","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1967_$41545_$","typeString":"type(contract IERC1967)"}},"id":41872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2416:8:38","memberName":"Upgraded","nodeType":"MemberAccess","referencedDeclaration":41532,"src":"2407:17:38","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":41874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2407:36:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41875,"nodeType":"EmitStatement","src":"2402:41:38"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":41879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":41876,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41863,"src":"2458:4:38","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":41877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2463:6:38","memberName":"length","nodeType":"MemberAccess","src":"2458:11:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":41878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2472:1:38","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2458:15:38","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":41891,"nodeType":"Block","src":"2559:43:38","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":41888,"name":"_checkNonPayable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42078,"src":"2573:16:38","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":41889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2573:18:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41890,"nodeType":"ExpressionStatement","src":"2573:18:38"}]},"id":41892,"nodeType":"IfStatement","src":"2454:148:38","trueBody":{"id":41887,"nodeType":"Block","src":"2475:78:38","statements":[{"expression":{"arguments":[{"id":41883,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41861,"src":"2518:17:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41884,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41863,"src":"2537:4:38","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":41880,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43798,"src":"2489:7:38","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$43798_$","typeString":"type(library Address)"}},"id":41882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2497:20:38","memberName":"functionDelegateCall","nodeType":"MemberAccess","referencedDeclaration":43715,"src":"2489:28:38","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory) returns (bytes memory)"}},"id":41885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2489:53:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":41886,"nodeType":"ExpressionStatement","src":"2489:53:38"}]}}]},"documentation":{"id":41859,"nodeType":"StructuredDocumentation","src":"1958:301:38","text":" @dev Performs implementation upgrade with additional setup call if data is nonempty.\n This function is payable only if the setup call is performed, otherwise `msg.value` is rejected\n to avoid stuck value in the contract.\n Emits an {IERC1967-Upgraded} event."},"implemented":true,"kind":"function","modifiers":[],"name":"upgradeToAndCall","nameLocation":"2273:16:38","parameters":{"id":41864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41861,"mutability":"mutable","name":"newImplementation","nameLocation":"2298:17:38","nodeType":"VariableDeclaration","scope":41894,"src":"2290:25:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41860,"name":"address","nodeType":"ElementaryTypeName","src":"2290:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41863,"mutability":"mutable","name":"data","nameLocation":"2330:4:38","nodeType":"VariableDeclaration","scope":41894,"src":"2317:17:38","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41862,"name":"bytes","nodeType":"ElementaryTypeName","src":"2317:5:38","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2289:46:38"},"returnParameters":{"id":41865,"nodeType":"ParameterList","parameters":[],"src":"2345:0:38"},"scope":42079,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":41898,"nodeType":"VariableDeclaration","src":"2829:105:38","nodes":[],"constant":true,"documentation":{"id":41895,"nodeType":"StructuredDocumentation","src":"2614:145:38","text":" @dev Storage slot with the admin of the contract.\n This is the keccak-256 hash of \"eip1967.proxy.admin\" subtracted by 1."},"mutability":"constant","name":"ADMIN_SLOT","nameLocation":"2855:10:38","scope":42079,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41896,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2829:7:38","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307862353331323736383461353638623331373361653133623966386136303136653234336536336236653865653131373864366137313738353062356436313033","id":41897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2868:66:38","typeDescriptions":{"typeIdentifier":"t_rational_81955473079516046949633743016697847541294818689821282749996681496272635257091_by_1","typeString":"int_const 8195...(69 digits omitted)...7091"},"value":"0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103"},"visibility":"internal"},{"id":41911,"nodeType":"FunctionDefinition","src":"3287:120:38","nodes":[],"body":{"id":41910,"nodeType":"Block","src":"3339:68:38","nodes":[],"statements":[{"expression":{"expression":{"arguments":[{"id":41906,"name":"ADMIN_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41898,"src":"3383:10:38","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":41904,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45166,"src":"3356:11:38","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StorageSlot_$45166_$","typeString":"type(library StorageSlot)"}},"id":41905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3368:14:38","memberName":"getAddressSlot","nodeType":"MemberAccess","referencedDeclaration":45077,"src":"3356:26:38","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$45048_storage_ptr_$","typeString":"function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)"}},"id":41907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3356:38:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$45048_storage_ptr","typeString":"struct StorageSlot.AddressSlot storage pointer"}},"id":41908,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3395:5:38","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":45047,"src":"3356:44:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":41903,"id":41909,"nodeType":"Return","src":"3349:51:38"}]},"documentation":{"id":41899,"nodeType":"StructuredDocumentation","src":"2941:341:38","text":" @dev Returns the current admin.\n TIP: To get this value clients can read directly from the storage slot shown below (specified by ERC-1967) using\n the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\n `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`"},"implemented":true,"kind":"function","modifiers":[],"name":"getAdmin","nameLocation":"3296:8:38","parameters":{"id":41900,"nodeType":"ParameterList","parameters":[],"src":"3304:2:38"},"returnParameters":{"id":41903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41902,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41911,"src":"3330:7:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41901,"name":"address","nodeType":"ElementaryTypeName","src":"3330:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3329:9:38"},"scope":42079,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":41942,"nodeType":"FunctionDefinition","src":"3490:217:38","nodes":[],"body":{"id":41941,"nodeType":"Block","src":"3535:172:38","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":41922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":41917,"name":"newAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41914,"src":"3549:8:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":41920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3569:1:38","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":41919,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3561:7:38","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":41918,"name":"address","nodeType":"ElementaryTypeName","src":"3561:7:38","typeDescriptions":{}}},"id":41921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3561:10:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3549:22:38","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41931,"nodeType":"IfStatement","src":"3545:91:38","trueBody":{"id":41930,"nodeType":"Block","src":"3573:63:38","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":41926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3622:1:38","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":41925,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3614:7:38","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":41924,"name":"address","nodeType":"ElementaryTypeName","src":"3614:7:38","typeDescriptions":{}}},"id":41927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3614:10:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":41923,"name":"ERC1967InvalidAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41810,"src":"3594:19:38","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":41928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3594:31:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":41929,"nodeType":"RevertStatement","src":"3587:38:38"}]}},{"expression":{"id":41939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[{"id":41935,"name":"ADMIN_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41898,"src":"3672:10:38","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":41932,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45166,"src":"3645:11:38","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StorageSlot_$45166_$","typeString":"type(library StorageSlot)"}},"id":41934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3657:14:38","memberName":"getAddressSlot","nodeType":"MemberAccess","referencedDeclaration":45077,"src":"3645:26:38","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$45048_storage_ptr_$","typeString":"function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)"}},"id":41936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3645:38:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$45048_storage_ptr","typeString":"struct StorageSlot.AddressSlot storage pointer"}},"id":41937,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3684:5:38","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":45047,"src":"3645:44:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":41938,"name":"newAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41914,"src":"3692:8:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3645:55:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":41940,"nodeType":"ExpressionStatement","src":"3645:55:38"}]},"documentation":{"id":41912,"nodeType":"StructuredDocumentation","src":"3413:72:38","text":" @dev Stores a new address in the ERC-1967 admin slot."},"implemented":true,"kind":"function","modifiers":[],"name":"_setAdmin","nameLocation":"3499:9:38","parameters":{"id":41915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41914,"mutability":"mutable","name":"newAdmin","nameLocation":"3517:8:38","nodeType":"VariableDeclaration","scope":41942,"src":"3509:16:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41913,"name":"address","nodeType":"ElementaryTypeName","src":"3509:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3508:18:38"},"returnParameters":{"id":41916,"nodeType":"ParameterList","parameters":[],"src":"3535:0:38"},"scope":42079,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":41961,"nodeType":"FunctionDefinition","src":"3827:142:38","nodes":[],"body":{"id":41960,"nodeType":"Block","src":"3875:94:38","nodes":[],"statements":[{"eventCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":41951,"name":"getAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41911,"src":"3912:8:38","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":41952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3912:10:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41953,"name":"newAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41945,"src":"3924:8:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":41948,"name":"IERC1967","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41545,"src":"3890:8:38","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1967_$41545_$","typeString":"type(contract IERC1967)"}},"id":41950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3899:12:38","memberName":"AdminChanged","nodeType":"MemberAccess","referencedDeclaration":41539,"src":"3890:21:38","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":41954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3890:43:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41955,"nodeType":"EmitStatement","src":"3885:48:38"},{"expression":{"arguments":[{"id":41957,"name":"newAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41945,"src":"3953:8:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":41956,"name":"_setAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41942,"src":"3943:9:38","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":41958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3943:19:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41959,"nodeType":"ExpressionStatement","src":"3943:19:38"}]},"documentation":{"id":41943,"nodeType":"StructuredDocumentation","src":"3713:109:38","text":" @dev Changes the admin of the proxy.\n Emits an {IERC1967-AdminChanged} event."},"implemented":true,"kind":"function","modifiers":[],"name":"changeAdmin","nameLocation":"3836:11:38","parameters":{"id":41946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41945,"mutability":"mutable","name":"newAdmin","nameLocation":"3856:8:38","nodeType":"VariableDeclaration","scope":41961,"src":"3848:16:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41944,"name":"address","nodeType":"ElementaryTypeName","src":"3848:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3847:18:38"},"returnParameters":{"id":41947,"nodeType":"ParameterList","parameters":[],"src":"3875:0:38"},"scope":42079,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":41965,"nodeType":"VariableDeclaration","src":"4246:106:38","nodes":[],"constant":true,"documentation":{"id":41962,"nodeType":"StructuredDocumentation","src":"3975:201:38","text":" @dev The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy.\n This is the keccak-256 hash of \"eip1967.proxy.beacon\" subtracted by 1."},"mutability":"constant","name":"BEACON_SLOT","nameLocation":"4272:11:38","scope":42079,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41963,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4246:7:38","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307861336630616437346535343233616562666438306433656634333436353738333335613961373261656165653539666636636233353832623335313333643530","id":41964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4286:66:38","typeDescriptions":{"typeIdentifier":"t_rational_74152234768234802001998023604048924213078445070507226371336425913862612794704_by_1","typeString":"int_const 7415...(69 digits omitted)...4704"},"value":"0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50"},"visibility":"internal"},{"id":41978,"nodeType":"FunctionDefinition","src":"4415:122:38","nodes":[],"body":{"id":41977,"nodeType":"Block","src":"4468:69:38","nodes":[],"statements":[{"expression":{"expression":{"arguments":[{"id":41973,"name":"BEACON_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41965,"src":"4512:11:38","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":41971,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45166,"src":"4485:11:38","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StorageSlot_$45166_$","typeString":"type(library StorageSlot)"}},"id":41972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4497:14:38","memberName":"getAddressSlot","nodeType":"MemberAccess","referencedDeclaration":45077,"src":"4485:26:38","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$45048_storage_ptr_$","typeString":"function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)"}},"id":41974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4485:39:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$45048_storage_ptr","typeString":"struct StorageSlot.AddressSlot storage pointer"}},"id":41975,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4525:5:38","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":45047,"src":"4485:45:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":41970,"id":41976,"nodeType":"Return","src":"4478:52:38"}]},"documentation":{"id":41966,"nodeType":"StructuredDocumentation","src":"4359:51:38","text":" @dev Returns the current beacon."},"implemented":true,"kind":"function","modifiers":[],"name":"getBeacon","nameLocation":"4424:9:38","parameters":{"id":41967,"nodeType":"ParameterList","parameters":[],"src":"4433:2:38"},"returnParameters":{"id":41970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41969,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41978,"src":"4459:7:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41968,"name":"address","nodeType":"ElementaryTypeName","src":"4459:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4458:9:38"},"scope":42079,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":42024,"nodeType":"FunctionDefinition","src":"4620:437:38","nodes":[],"body":{"id":42023,"nodeType":"Block","src":"4667:390:38","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":41988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":41984,"name":"newBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41981,"src":"4681:9:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":41985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4691:4:38","memberName":"code","nodeType":"MemberAccess","src":"4681:14:38","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":41986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4696:6:38","memberName":"length","nodeType":"MemberAccess","src":"4681:21:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":41987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4706:1:38","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4681:26:38","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41994,"nodeType":"IfStatement","src":"4677:95:38","trueBody":{"id":41993,"nodeType":"Block","src":"4709:63:38","statements":[{"errorCall":{"arguments":[{"id":41990,"name":"newBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41981,"src":"4751:9:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":41989,"name":"ERC1967InvalidBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41815,"src":"4730:20:38","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":41991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4730:31:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":41992,"nodeType":"RevertStatement","src":"4723:38:38"}]}},{"expression":{"id":42002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[{"id":41998,"name":"BEACON_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41965,"src":"4809:11:38","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":41995,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45166,"src":"4782:11:38","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StorageSlot_$45166_$","typeString":"type(library StorageSlot)"}},"id":41997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4794:14:38","memberName":"getAddressSlot","nodeType":"MemberAccess","referencedDeclaration":45077,"src":"4782:26:38","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$45048_storage_ptr_$","typeString":"function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)"}},"id":41999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4782:39:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$45048_storage_ptr","typeString":"struct StorageSlot.AddressSlot storage pointer"}},"id":42000,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4822:5:38","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":45047,"src":"4782:45:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":42001,"name":"newBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41981,"src":"4830:9:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4782:57:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":42003,"nodeType":"ExpressionStatement","src":"4782:57:38"},{"assignments":[42005],"declarations":[{"constant":false,"id":42005,"mutability":"mutable","name":"beaconImplementation","nameLocation":"4858:20:38","nodeType":"VariableDeclaration","scope":42023,"src":"4850:28:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42004,"name":"address","nodeType":"ElementaryTypeName","src":"4850:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":42011,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":42007,"name":"newBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41981,"src":"4889:9:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":42006,"name":"IBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42183,"src":"4881:7:38","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IBeacon_$42183_$","typeString":"type(contract IBeacon)"}},"id":42008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4881:18:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IBeacon_$42183","typeString":"contract IBeacon"}},"id":42009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4900:14:38","memberName":"implementation","nodeType":"MemberAccess","referencedDeclaration":42182,"src":"4881:33:38","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":42010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4881:35:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4850:66:38"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":42012,"name":"beaconImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42005,"src":"4930:20:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":42013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4951:4:38","memberName":"code","nodeType":"MemberAccess","src":"4930:25:38","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":42014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4956:6:38","memberName":"length","nodeType":"MemberAccess","src":"4930:32:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":42015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4966:1:38","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4930:37:38","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42022,"nodeType":"IfStatement","src":"4926:125:38","trueBody":{"id":42021,"nodeType":"Block","src":"4969:82:38","statements":[{"errorCall":{"arguments":[{"id":42018,"name":"beaconImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42005,"src":"5019:20:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":42017,"name":"ERC1967InvalidImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41805,"src":"4990:28:38","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":42019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4990:50:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":42020,"nodeType":"RevertStatement","src":"4983:57:38"}]}}]},"documentation":{"id":41979,"nodeType":"StructuredDocumentation","src":"4543:72:38","text":" @dev Stores a new beacon in the ERC-1967 beacon slot."},"implemented":true,"kind":"function","modifiers":[],"name":"_setBeacon","nameLocation":"4629:10:38","parameters":{"id":41982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41981,"mutability":"mutable","name":"newBeacon","nameLocation":"4648:9:38","nodeType":"VariableDeclaration","scope":42024,"src":"4640:17:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41980,"name":"address","nodeType":"ElementaryTypeName","src":"4640:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4639:19:38"},"returnParameters":{"id":41983,"nodeType":"ParameterList","parameters":[],"src":"4667:0:38"},"scope":42079,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":42064,"nodeType":"FunctionDefinition","src":"5582:342:38","nodes":[],"body":{"id":42063,"nodeType":"Block","src":"5661:263:38","nodes":[],"statements":[{"expression":{"arguments":[{"id":42033,"name":"newBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42027,"src":"5682:9:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":42032,"name":"_setBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42024,"src":"5671:10:38","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":42034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5671:21:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42035,"nodeType":"ExpressionStatement","src":"5671:21:38"},{"eventCall":{"arguments":[{"id":42039,"name":"newBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42027,"src":"5731:9:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":42036,"name":"IERC1967","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41545,"src":"5707:8:38","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1967_$41545_$","typeString":"type(contract IERC1967)"}},"id":42038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5716:14:38","memberName":"BeaconUpgraded","nodeType":"MemberAccess","referencedDeclaration":41544,"src":"5707:23:38","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":42040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5707:34:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42041,"nodeType":"EmitStatement","src":"5702:39:38"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":42042,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42029,"src":"5756:4:38","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":42043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5761:6:38","memberName":"length","nodeType":"MemberAccess","src":"5756:11:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":42044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5770:1:38","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5756:15:38","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":42061,"nodeType":"Block","src":"5875:43:38","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":42058,"name":"_checkNonPayable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42078,"src":"5889:16:38","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":42059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5889:18:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42060,"nodeType":"ExpressionStatement","src":"5889:18:38"}]},"id":42062,"nodeType":"IfStatement","src":"5752:166:38","trueBody":{"id":42057,"nodeType":"Block","src":"5773:96:38","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":42050,"name":"newBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42027,"src":"5824:9:38","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":42049,"name":"IBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42183,"src":"5816:7:38","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IBeacon_$42183_$","typeString":"type(contract IBeacon)"}},"id":42051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5816:18:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IBeacon_$42183","typeString":"contract IBeacon"}},"id":42052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5835:14:38","memberName":"implementation","nodeType":"MemberAccess","referencedDeclaration":42182,"src":"5816:33:38","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":42053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5816:35:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42054,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42029,"src":"5853:4:38","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":42046,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43798,"src":"5787:7:38","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$43798_$","typeString":"type(library Address)"}},"id":42048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5795:20:38","memberName":"functionDelegateCall","nodeType":"MemberAccess","referencedDeclaration":43715,"src":"5787:28:38","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory) returns (bytes memory)"}},"id":42055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5787:71:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":42056,"nodeType":"ExpressionStatement","src":"5787:71:38"}]}}]},"documentation":{"id":42025,"nodeType":"StructuredDocumentation","src":"5063:514:38","text":" @dev Change the beacon and trigger a setup call if data is nonempty.\n This function is payable only if the setup call is performed, otherwise `msg.value` is rejected\n to avoid stuck value in the contract.\n Emits an {IERC1967-BeaconUpgraded} event.\n CAUTION: Invoking this function has no effect on an instance of {BeaconProxy} since v5, since\n it uses an immutable beacon without looking at the value of the ERC-1967 beacon slot for\n efficiency."},"implemented":true,"kind":"function","modifiers":[],"name":"upgradeBeaconToAndCall","nameLocation":"5591:22:38","parameters":{"id":42030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42027,"mutability":"mutable","name":"newBeacon","nameLocation":"5622:9:38","nodeType":"VariableDeclaration","scope":42064,"src":"5614:17:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42026,"name":"address","nodeType":"ElementaryTypeName","src":"5614:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42029,"mutability":"mutable","name":"data","nameLocation":"5646:4:38","nodeType":"VariableDeclaration","scope":42064,"src":"5633:17:38","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":42028,"name":"bytes","nodeType":"ElementaryTypeName","src":"5633:5:38","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5613:38:38"},"returnParameters":{"id":42031,"nodeType":"ParameterList","parameters":[],"src":"5661:0:38"},"scope":42079,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":42078,"nodeType":"FunctionDefinition","src":"6113:122:38","nodes":[],"body":{"id":42077,"nodeType":"Block","src":"6149:86:38","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":42068,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6163:3:38","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":42069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6167:5:38","memberName":"value","nodeType":"MemberAccess","src":"6163:9:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":42070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6175:1:38","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6163:13:38","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42076,"nodeType":"IfStatement","src":"6159:70:38","trueBody":{"id":42075,"nodeType":"Block","src":"6178:51:38","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":42072,"name":"ERC1967NonPayable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41818,"src":"6199:17:38","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":42073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6199:19:38","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":42074,"nodeType":"RevertStatement","src":"6192:26:38"}]}}]},"documentation":{"id":42065,"nodeType":"StructuredDocumentation","src":"5930:178:38","text":" @dev Reverts if `msg.value` is not zero. It can be used to avoid `msg.value` stuck in the contract\n if an upgrade doesn't perform an initialization call."},"implemented":true,"kind":"function","modifiers":[],"name":"_checkNonPayable","nameLocation":"6122:16:38","parameters":{"id":42066,"nodeType":"ParameterList","parameters":[],"src":"6138:2:38"},"returnParameters":{"id":42067,"nodeType":"ParameterList","parameters":[],"src":"6149:0:38"},"scope":42079,"stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"ERC1967Utils","contractDependencies":[],"contractKind":"library","documentation":{"id":41796,"nodeType":"StructuredDocumentation","src":"350:145:38","text":" @dev This library provides getters and event emitting update functions for\n https://eips.ethereum.org/EIPS/eip-1967[ERC-1967] slots."},"fullyImplemented":true,"linearizedBaseContracts":[42079],"name":"ERC1967Utils","nameLocation":"504:12:38","scope":42080,"usedErrors":[41805,41810,41815,41818],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"id":39,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol","id":42116,"exportedSymbols":{"Proxy":[42115]},"nodeType":"SourceUnit","src":"99:2571:39","nodes":[{"id":42081,"nodeType":"PragmaDirective","src":"99:24:39","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":42115,"nodeType":"ContractDefinition","src":"724:1945:39","nodes":[{"id":42090,"nodeType":"FunctionDefinition","src":"949:895:39","nodes":[],"body":{"id":42089,"nodeType":"Block","src":"1009:835:39","nodes":[],"statements":[{"AST":{"nativeSrc":"1028:810:39","nodeType":"YulBlock","src":"1028:810:39","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1281:1:39","nodeType":"YulLiteral","src":"1281:1:39","type":"","value":"0"},{"kind":"number","nativeSrc":"1284:1:39","nodeType":"YulLiteral","src":"1284:1:39","type":"","value":"0"},{"arguments":[],"functionName":{"name":"calldatasize","nativeSrc":"1287:12:39","nodeType":"YulIdentifier","src":"1287:12:39"},"nativeSrc":"1287:14:39","nodeType":"YulFunctionCall","src":"1287:14:39"}],"functionName":{"name":"calldatacopy","nativeSrc":"1268:12:39","nodeType":"YulIdentifier","src":"1268:12:39"},"nativeSrc":"1268:34:39","nodeType":"YulFunctionCall","src":"1268:34:39"},"nativeSrc":"1268:34:39","nodeType":"YulExpressionStatement","src":"1268:34:39"},{"nativeSrc":"1429:74:39","nodeType":"YulVariableDeclaration","src":"1429:74:39","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"1456:3:39","nodeType":"YulIdentifier","src":"1456:3:39"},"nativeSrc":"1456:5:39","nodeType":"YulFunctionCall","src":"1456:5:39"},{"name":"implementation","nativeSrc":"1463:14:39","nodeType":"YulIdentifier","src":"1463:14:39"},{"kind":"number","nativeSrc":"1479:1:39","nodeType":"YulLiteral","src":"1479:1:39","type":"","value":"0"},{"arguments":[],"functionName":{"name":"calldatasize","nativeSrc":"1482:12:39","nodeType":"YulIdentifier","src":"1482:12:39"},"nativeSrc":"1482:14:39","nodeType":"YulFunctionCall","src":"1482:14:39"},{"kind":"number","nativeSrc":"1498:1:39","nodeType":"YulLiteral","src":"1498:1:39","type":"","value":"0"},{"kind":"number","nativeSrc":"1501:1:39","nodeType":"YulLiteral","src":"1501:1:39","type":"","value":"0"}],"functionName":{"name":"delegatecall","nativeSrc":"1443:12:39","nodeType":"YulIdentifier","src":"1443:12:39"},"nativeSrc":"1443:60:39","nodeType":"YulFunctionCall","src":"1443:60:39"},"variables":[{"name":"result","nativeSrc":"1433:6:39","nodeType":"YulTypedName","src":"1433:6:39","type":""}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1571:1:39","nodeType":"YulLiteral","src":"1571:1:39","type":"","value":"0"},{"kind":"number","nativeSrc":"1574:1:39","nodeType":"YulLiteral","src":"1574:1:39","type":"","value":"0"},{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"1577:14:39","nodeType":"YulIdentifier","src":"1577:14:39"},"nativeSrc":"1577:16:39","nodeType":"YulFunctionCall","src":"1577:16:39"}],"functionName":{"name":"returndatacopy","nativeSrc":"1556:14:39","nodeType":"YulIdentifier","src":"1556:14:39"},"nativeSrc":"1556:38:39","nodeType":"YulFunctionCall","src":"1556:38:39"},"nativeSrc":"1556:38:39","nodeType":"YulExpressionStatement","src":"1556:38:39"},{"cases":[{"body":{"nativeSrc":"1689:59:39","nodeType":"YulBlock","src":"1689:59:39","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1714:1:39","nodeType":"YulLiteral","src":"1714:1:39","type":"","value":"0"},{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"1717:14:39","nodeType":"YulIdentifier","src":"1717:14:39"},"nativeSrc":"1717:16:39","nodeType":"YulFunctionCall","src":"1717:16:39"}],"functionName":{"name":"revert","nativeSrc":"1707:6:39","nodeType":"YulIdentifier","src":"1707:6:39"},"nativeSrc":"1707:27:39","nodeType":"YulFunctionCall","src":"1707:27:39"},"nativeSrc":"1707:27:39","nodeType":"YulExpressionStatement","src":"1707:27:39"}]},"nativeSrc":"1682:66:39","nodeType":"YulCase","src":"1682:66:39","value":{"kind":"number","nativeSrc":"1687:1:39","nodeType":"YulLiteral","src":"1687:1:39","type":"","value":"0"}},{"body":{"nativeSrc":"1769:59:39","nodeType":"YulBlock","src":"1769:59:39","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1794:1:39","nodeType":"YulLiteral","src":"1794:1:39","type":"","value":"0"},{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"1797:14:39","nodeType":"YulIdentifier","src":"1797:14:39"},"nativeSrc":"1797:16:39","nodeType":"YulFunctionCall","src":"1797:16:39"}],"functionName":{"name":"return","nativeSrc":"1787:6:39","nodeType":"YulIdentifier","src":"1787:6:39"},"nativeSrc":"1787:27:39","nodeType":"YulFunctionCall","src":"1787:27:39"},"nativeSrc":"1787:27:39","nodeType":"YulExpressionStatement","src":"1787:27:39"}]},"nativeSrc":"1761:67:39","nodeType":"YulCase","src":"1761:67:39","value":"default"}],"expression":{"name":"result","nativeSrc":"1615:6:39","nodeType":"YulIdentifier","src":"1615:6:39"},"nativeSrc":"1608:220:39","nodeType":"YulSwitch","src":"1608:220:39"}]},"evmVersion":"cancun","externalReferences":[{"declaration":42085,"isOffset":false,"isSlot":false,"src":"1463:14:39","valueSize":1}],"id":42088,"nodeType":"InlineAssembly","src":"1019:819:39"}]},"documentation":{"id":42083,"nodeType":"StructuredDocumentation","src":"754:190:39","text":" @dev Delegates the current call to `implementation`.\n This function does not return to its internal call site, it will return directly to the external caller."},"implemented":true,"kind":"function","modifiers":[],"name":"_delegate","nameLocation":"958:9:39","parameters":{"id":42086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42085,"mutability":"mutable","name":"implementation","nameLocation":"976:14:39","nodeType":"VariableDeclaration","scope":42090,"src":"968:22:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42084,"name":"address","nodeType":"ElementaryTypeName","src":"968:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"967:24:39"},"returnParameters":{"id":42087,"nodeType":"ParameterList","parameters":[],"src":"1009:0:39"},"scope":42115,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":42096,"nodeType":"FunctionDefinition","src":"2028:67:39","nodes":[],"documentation":{"id":42091,"nodeType":"StructuredDocumentation","src":"1850:173:39","text":" @dev This is a virtual function that should be overridden so it returns the address to which the fallback\n function and {_fallback} should delegate."},"implemented":false,"kind":"function","modifiers":[],"name":"_implementation","nameLocation":"2037:15:39","parameters":{"id":42092,"nodeType":"ParameterList","parameters":[],"src":"2052:2:39"},"returnParameters":{"id":42095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42094,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42096,"src":"2086:7:39","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42093,"name":"address","nodeType":"ElementaryTypeName","src":"2086:7:39","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2085:9:39"},"scope":42115,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":42106,"nodeType":"FunctionDefinition","src":"2323:83:39","nodes":[],"body":{"id":42105,"nodeType":"Block","src":"2361:45:39","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":42101,"name":"_implementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42096,"src":"2381:15:39","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":42102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2381:17:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":42100,"name":"_delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42090,"src":"2371:9:39","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":42103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2371:28:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42104,"nodeType":"ExpressionStatement","src":"2371:28:39"}]},"documentation":{"id":42097,"nodeType":"StructuredDocumentation","src":"2101:217:39","text":" @dev Delegates the current call to the address returned by `_implementation()`.\n This function does not return to its internal call site, it will return directly to the external caller."},"implemented":true,"kind":"function","modifiers":[],"name":"_fallback","nameLocation":"2332:9:39","parameters":{"id":42098,"nodeType":"ParameterList","parameters":[],"src":"2341:2:39"},"returnParameters":{"id":42099,"nodeType":"ParameterList","parameters":[],"src":"2361:0:39"},"scope":42115,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":42114,"nodeType":"FunctionDefinition","src":"2603:64:39","nodes":[],"body":{"id":42113,"nodeType":"Block","src":"2639:28:39","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":42110,"name":"_fallback","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42106,"src":"2649:9:39","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":42111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2649:11:39","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42112,"nodeType":"ExpressionStatement","src":"2649:11:39"}]},"documentation":{"id":42107,"nodeType":"StructuredDocumentation","src":"2412:186:39","text":" @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other\n function in the contract matches the call data."},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":42108,"nodeType":"ParameterList","parameters":[],"src":"2611:2:39"},"returnParameters":{"id":42109,"nodeType":"ParameterList","parameters":[],"src":"2639:0:39"},"scope":42115,"stateMutability":"payable","virtual":true,"visibility":"external"}],"abstract":true,"baseContracts":[],"canonicalName":"Proxy","contractDependencies":[],"contractKind":"contract","documentation":{"id":42082,"nodeType":"StructuredDocumentation","src":"125:598:39","text":" @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM\n instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to\n be specified by overriding the virtual {_implementation} function.\n Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a\n different contract through the {_delegate} function.\n The success and return data of the delegated call will be returned back to the caller of the proxy."},"fullyImplemented":false,"linearizedBaseContracts":[42115],"name":"Proxy","nameLocation":"742:5:39","scope":42116,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol":{"id":40,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol","id":42174,"exportedSymbols":{"BeaconProxy":[42173],"ERC1967Utils":[42079],"IBeacon":[42183],"Proxy":[42115]},"nodeType":"SourceUnit","src":"112:2199:40","nodes":[{"id":42117,"nodeType":"PragmaDirective","src":"112:24:40","nodes":[],"literals":["solidity","^","0.8",".22"]},{"id":42119,"nodeType":"ImportDirective","src":"138:38:40","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol","file":"./IBeacon.sol","nameLocation":"-1:-1:-1","scope":42174,"sourceUnit":42184,"symbolAliases":[{"foreign":{"id":42118,"name":"IBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42183,"src":"146:7:40","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":42121,"nodeType":"ImportDirective","src":"177:35:40","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol","file":"../Proxy.sol","nameLocation":"-1:-1:-1","scope":42174,"sourceUnit":42116,"symbolAliases":[{"foreign":{"id":42120,"name":"Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42115,"src":"185:5:40","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":42123,"nodeType":"ImportDirective","src":"213:57:40","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol","file":"../ERC1967/ERC1967Utils.sol","nameLocation":"-1:-1:-1","scope":42174,"sourceUnit":42080,"symbolAliases":[{"foreign":{"id":42122,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42079,"src":"221:12:40","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":42173,"nodeType":"ContractDefinition","src":"1116:1194:40","nodes":[{"id":42128,"nodeType":"VariableDeclaration","src":"1250:33:40","nodes":[],"constant":false,"mutability":"immutable","name":"_beacon","nameLocation":"1276:7:40","scope":42173,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42127,"name":"address","nodeType":"ElementaryTypeName","src":"1250:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"id":42148,"nodeType":"FunctionDefinition","src":"1773:147:40","nodes":[],"body":{"id":42147,"nodeType":"Block","src":"1828:92:40","nodes":[],"statements":[{"expression":{"arguments":[{"id":42139,"name":"beacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42131,"src":"1874:6:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42140,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42133,"src":"1882:4:40","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":42136,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42079,"src":"1838:12:40","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC1967Utils_$42079_$","typeString":"type(library ERC1967Utils)"}},"id":42138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1851:22:40","memberName":"upgradeBeaconToAndCall","nodeType":"MemberAccess","referencedDeclaration":42064,"src":"1838:35:40","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory)"}},"id":42141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1838:49:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42142,"nodeType":"ExpressionStatement","src":"1838:49:40"},{"expression":{"id":42145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":42143,"name":"_beacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42128,"src":"1897:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":42144,"name":"beacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42131,"src":"1907:6:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1897:16:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":42146,"nodeType":"ExpressionStatement","src":"1897:16:40"}]},"documentation":{"id":42129,"nodeType":"StructuredDocumentation","src":"1290:478:40","text":" @dev Initializes the proxy with `beacon`.\n If `data` is nonempty, it's used as data in a delegate call to the implementation returned by the beacon. This\n will typically be an encoded function call, and allows initializing the storage of the proxy like a Solidity\n constructor.\n Requirements:\n - `beacon` must be a contract with the interface {IBeacon}.\n - If `data` is empty, `msg.value` must be zero."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":42134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42131,"mutability":"mutable","name":"beacon","nameLocation":"1793:6:40","nodeType":"VariableDeclaration","scope":42148,"src":"1785:14:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42130,"name":"address","nodeType":"ElementaryTypeName","src":"1785:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42133,"mutability":"mutable","name":"data","nameLocation":"1814:4:40","nodeType":"VariableDeclaration","scope":42148,"src":"1801:17:40","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":42132,"name":"bytes","nodeType":"ElementaryTypeName","src":"1801:5:40","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1784:35:40"},"returnParameters":{"id":42135,"nodeType":"ParameterList","parameters":[],"src":"1828:0:40"},"scope":42173,"stateMutability":"payable","virtual":false,"visibility":"public"},{"id":42163,"nodeType":"FunctionDefinition","src":"2023:138:40","nodes":[],"body":{"id":42162,"nodeType":"Block","src":"2099:62:40","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":42156,"name":"_getBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42172,"src":"2124:10:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":42157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2124:12:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":42155,"name":"IBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42183,"src":"2116:7:40","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IBeacon_$42183_$","typeString":"type(contract IBeacon)"}},"id":42158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2116:21:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IBeacon_$42183","typeString":"contract IBeacon"}},"id":42159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2138:14:40","memberName":"implementation","nodeType":"MemberAccess","referencedDeclaration":42182,"src":"2116:36:40","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":42160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2116:38:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":42154,"id":42161,"nodeType":"Return","src":"2109:45:40"}]},"baseFunctions":[42096],"documentation":{"id":42149,"nodeType":"StructuredDocumentation","src":"1926:92:40","text":" @dev Returns the current implementation address of the associated beacon."},"implemented":true,"kind":"function","modifiers":[],"name":"_implementation","nameLocation":"2032:15:40","overrides":{"id":42151,"nodeType":"OverrideSpecifier","overrides":[],"src":"2072:8:40"},"parameters":{"id":42150,"nodeType":"ParameterList","parameters":[],"src":"2047:2:40"},"returnParameters":{"id":42154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42153,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42163,"src":"2090:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42152,"name":"address","nodeType":"ElementaryTypeName","src":"2090:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2089:9:40"},"scope":42173,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":42172,"nodeType":"FunctionDefinition","src":"2215:93:40","nodes":[],"body":{"id":42171,"nodeType":"Block","src":"2277:31:40","nodes":[],"statements":[{"expression":{"id":42169,"name":"_beacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42128,"src":"2294:7:40","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":42168,"id":42170,"nodeType":"Return","src":"2287:14:40"}]},"documentation":{"id":42164,"nodeType":"StructuredDocumentation","src":"2167:43:40","text":" @dev Returns the beacon."},"implemented":true,"kind":"function","modifiers":[],"name":"_getBeacon","nameLocation":"2224:10:40","parameters":{"id":42165,"nodeType":"ParameterList","parameters":[],"src":"2234:2:40"},"returnParameters":{"id":42168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42167,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42172,"src":"2268:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42166,"name":"address","nodeType":"ElementaryTypeName","src":"2268:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2267:9:40"},"scope":42173,"stateMutability":"view","virtual":true,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":42125,"name":"Proxy","nameLocations":["1140:5:40"],"nodeType":"IdentifierPath","referencedDeclaration":42115,"src":"1140:5:40"},"id":42126,"nodeType":"InheritanceSpecifier","src":"1140:5:40"}],"canonicalName":"BeaconProxy","contractDependencies":[],"contractKind":"contract","documentation":{"id":42124,"nodeType":"StructuredDocumentation","src":"272:843:40","text":" @dev This contract implements a proxy that gets the implementation address for each call from an {UpgradeableBeacon}.\n The beacon address can only be set once during construction, and cannot be changed afterwards. It is stored in an\n immutable variable to avoid unnecessary storage reads, and also in the beacon storage slot specified by\n https://eips.ethereum.org/EIPS/eip-1967[ERC-1967] so that it can be accessed externally.\n CAUTION: Since the beacon address can never be changed, you must ensure that you either control the beacon, or trust\n the beacon to not upgrade the implementation maliciously.\n IMPORTANT: Do not use the implementation logic to modify the beacon storage slot. Doing so would leave the proxy in\n an inconsistent state where the beacon storage slot does not match the beacon address."},"fullyImplemented":true,"linearizedBaseContracts":[42173,42115],"name":"BeaconProxy","nameLocation":"1125:11:40","scope":42174,"usedErrors":[41805,41815,41818,43548,44851],"usedEvents":[41544]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"id":41,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol","id":42184,"exportedSymbols":{"IBeacon":[42183]},"nodeType":"SourceUnit","src":"108:365:41","nodes":[{"id":42175,"nodeType":"PragmaDirective","src":"108:25:41","nodes":[],"literals":["solidity",">=","0.4",".16"]},{"id":42183,"nodeType":"ContractDefinition","src":"215:257:41","nodes":[{"id":42182,"nodeType":"FunctionDefinition","src":"412:58:41","nodes":[],"documentation":{"id":42177,"nodeType":"StructuredDocumentation","src":"239:168:41","text":" @dev Must return an address that can be used as a delegate call target.\n {UpgradeableBeacon} will check that this address is a contract."},"functionSelector":"5c60da1b","implemented":false,"kind":"function","modifiers":[],"name":"implementation","nameLocation":"421:14:41","parameters":{"id":42178,"nodeType":"ParameterList","parameters":[],"src":"435:2:41"},"returnParameters":{"id":42181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42180,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42182,"src":"461:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42179,"name":"address","nodeType":"ElementaryTypeName","src":"461:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"460:9:41"},"scope":42183,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IBeacon","contractDependencies":[],"contractKind":"interface","documentation":{"id":42176,"nodeType":"StructuredDocumentation","src":"135:79:41","text":" @dev This is the interface that {BeaconProxy} expects of its beacon."},"fullyImplemented":false,"linearizedBaseContracts":[42183],"name":"IBeacon","nameLocation":"225:7:41","scope":42184,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol":{"id":42,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol","id":42272,"exportedSymbols":{"IBeacon":[42183],"Ownable":[41339],"UpgradeableBeacon":[42271]},"nodeType":"SourceUnit","src":"118:2101:42","nodes":[{"id":42185,"nodeType":"PragmaDirective","src":"118:24:42","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":42187,"nodeType":"ImportDirective","src":"144:38:42","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol","file":"./IBeacon.sol","nameLocation":"-1:-1:-1","scope":42272,"sourceUnit":42184,"symbolAliases":[{"foreign":{"id":42186,"name":"IBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42183,"src":"152:7:42","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":42189,"nodeType":"ImportDirective","src":"183:49:42","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/access/Ownable.sol","file":"../../access/Ownable.sol","nameLocation":"-1:-1:-1","scope":42272,"sourceUnit":41340,"symbolAliases":[{"foreign":{"id":42188,"name":"Ownable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41339,"src":"191:7:42","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":42271,"nodeType":"ContractDefinition","src":"555:1663:42","nodes":[{"id":42196,"nodeType":"VariableDeclaration","src":"608:31:42","nodes":[],"constant":false,"mutability":"mutable","name":"_implementation","nameLocation":"624:15:42","scope":42271,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42195,"name":"address","nodeType":"ElementaryTypeName","src":"608:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"id":42201,"nodeType":"ErrorDefinition","src":"721:58:42","nodes":[],"documentation":{"id":42197,"nodeType":"StructuredDocumentation","src":"646:70:42","text":" @dev The `implementation` of the beacon is invalid."},"errorSelector":"847ac564","name":"BeaconInvalidImplementation","nameLocation":"727:27:42","parameters":{"id":42200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42199,"mutability":"mutable","name":"implementation","nameLocation":"763:14:42","nodeType":"VariableDeclaration","scope":42201,"src":"755:22:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42198,"name":"address","nodeType":"ElementaryTypeName","src":"755:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"754:24:42"}},{"id":42206,"nodeType":"EventDefinition","src":"880:47:42","nodes":[],"anonymous":false,"documentation":{"id":42202,"nodeType":"StructuredDocumentation","src":"785:90:42","text":" @dev Emitted when the implementation returned by the beacon is changed."},"eventSelector":"bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b","name":"Upgraded","nameLocation":"886:8:42","parameters":{"id":42205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42204,"indexed":true,"mutability":"mutable","name":"implementation","nameLocation":"911:14:42","nodeType":"VariableDeclaration","scope":42206,"src":"895:30:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42203,"name":"address","nodeType":"ElementaryTypeName","src":"895:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"894:32:42"}},{"id":42222,"nodeType":"FunctionDefinition","src":"1059:133:42","nodes":[],"body":{"id":42221,"nodeType":"Block","src":"1140:52:42","nodes":[],"statements":[{"expression":{"arguments":[{"id":42218,"name":"implementation_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42209,"src":"1169:15:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":42217,"name":"_setImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42270,"src":"1150:18:42","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":42219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1150:35:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42220,"nodeType":"ExpressionStatement","src":"1150:35:42"}]},"documentation":{"id":42207,"nodeType":"StructuredDocumentation","src":"933:121:42","text":" @dev Sets the address of the initial implementation, and the initial owner who can upgrade the beacon."},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":42214,"name":"initialOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42211,"src":"1126:12:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":42215,"kind":"baseConstructorSpecifier","modifierName":{"id":42213,"name":"Ownable","nameLocations":["1118:7:42"],"nodeType":"IdentifierPath","referencedDeclaration":41339,"src":"1118:7:42"},"nodeType":"ModifierInvocation","src":"1118:21:42"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":42212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42209,"mutability":"mutable","name":"implementation_","nameLocation":"1079:15:42","nodeType":"VariableDeclaration","scope":42222,"src":"1071:23:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42208,"name":"address","nodeType":"ElementaryTypeName","src":"1071:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42211,"mutability":"mutable","name":"initialOwner","nameLocation":"1104:12:42","nodeType":"VariableDeclaration","scope":42222,"src":"1096:20:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42210,"name":"address","nodeType":"ElementaryTypeName","src":"1096:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1070:47:42"},"returnParameters":{"id":42216,"nodeType":"ParameterList","parameters":[],"src":"1140:0:42"},"scope":42271,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":42231,"nodeType":"FunctionDefinition","src":"1270:103:42","nodes":[],"body":{"id":42230,"nodeType":"Block","src":"1334:39:42","nodes":[],"statements":[{"expression":{"id":42228,"name":"_implementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42196,"src":"1351:15:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":42227,"id":42229,"nodeType":"Return","src":"1344:22:42"}]},"baseFunctions":[42182],"documentation":{"id":42223,"nodeType":"StructuredDocumentation","src":"1198:67:42","text":" @dev Returns the current implementation address."},"functionSelector":"5c60da1b","implemented":true,"kind":"function","modifiers":[],"name":"implementation","nameLocation":"1279:14:42","parameters":{"id":42224,"nodeType":"ParameterList","parameters":[],"src":"1293:2:42"},"returnParameters":{"id":42227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42226,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42231,"src":"1325:7:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42225,"name":"address","nodeType":"ElementaryTypeName","src":"1325:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1324:9:42"},"scope":42271,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":42244,"nodeType":"FunctionDefinition","src":"1632:125:42","nodes":[],"body":{"id":42243,"nodeType":"Block","src":"1703:54:42","nodes":[],"statements":[{"expression":{"arguments":[{"id":42240,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42234,"src":"1732:17:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":42239,"name":"_setImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42270,"src":"1713:18:42","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":42241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1713:37:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42242,"nodeType":"ExpressionStatement","src":"1713:37:42"}]},"documentation":{"id":42232,"nodeType":"StructuredDocumentation","src":"1379:248:42","text":" @dev Upgrades the beacon to a new implementation.\n Emits an {Upgraded} event.\n Requirements:\n - msg.sender must be the owner of the contract.\n - `newImplementation` must be a contract."},"functionSelector":"3659cfe6","implemented":true,"kind":"function","modifiers":[{"id":42237,"kind":"modifierInvocation","modifierName":{"id":42236,"name":"onlyOwner","nameLocations":["1693:9:42"],"nodeType":"IdentifierPath","referencedDeclaration":41250,"src":"1693:9:42"},"nodeType":"ModifierInvocation","src":"1693:9:42"}],"name":"upgradeTo","nameLocation":"1641:9:42","parameters":{"id":42235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42234,"mutability":"mutable","name":"newImplementation","nameLocation":"1659:17:42","nodeType":"VariableDeclaration","scope":42244,"src":"1651:25:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42233,"name":"address","nodeType":"ElementaryTypeName","src":"1651:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1650:27:42"},"returnParameters":{"id":42238,"nodeType":"ParameterList","parameters":[],"src":"1703:0:42"},"scope":42271,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":42270,"nodeType":"FunctionDefinition","src":"1932:284:42","nodes":[],"body":{"id":42269,"nodeType":"Block","src":"1995:221:42","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":42250,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42247,"src":"2009:17:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":42251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2027:4:42","memberName":"code","nodeType":"MemberAccess","src":"2009:22:42","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":42252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2032:6:42","memberName":"length","nodeType":"MemberAccess","src":"2009:29:42","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":42253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2042:1:42","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2009:34:42","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42260,"nodeType":"IfStatement","src":"2005:118:42","trueBody":{"id":42259,"nodeType":"Block","src":"2045:78:42","statements":[{"errorCall":{"arguments":[{"id":42256,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42247,"src":"2094:17:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":42255,"name":"BeaconInvalidImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42201,"src":"2066:27:42","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":42257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2066:46:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":42258,"nodeType":"RevertStatement","src":"2059:53:42"}]}},{"expression":{"id":42263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":42261,"name":"_implementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42196,"src":"2132:15:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":42262,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42247,"src":"2150:17:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2132:35:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":42264,"nodeType":"ExpressionStatement","src":"2132:35:42"},{"eventCall":{"arguments":[{"id":42266,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42247,"src":"2191:17:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":42265,"name":"Upgraded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42206,"src":"2182:8:42","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":42267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2182:27:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42268,"nodeType":"EmitStatement","src":"2177:32:42"}]},"documentation":{"id":42245,"nodeType":"StructuredDocumentation","src":"1763:164:42","text":" @dev Sets the implementation contract address for this beacon\n Requirements:\n - `newImplementation` must be a contract."},"implemented":true,"kind":"function","modifiers":[],"name":"_setImplementation","nameLocation":"1941:18:42","parameters":{"id":42248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42247,"mutability":"mutable","name":"newImplementation","nameLocation":"1968:17:42","nodeType":"VariableDeclaration","scope":42270,"src":"1960:25:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42246,"name":"address","nodeType":"ElementaryTypeName","src":"1960:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1959:27:42"},"returnParameters":{"id":42249,"nodeType":"ParameterList","parameters":[],"src":"1995:0:42"},"scope":42271,"stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":42191,"name":"IBeacon","nameLocations":["585:7:42"],"nodeType":"IdentifierPath","referencedDeclaration":42183,"src":"585:7:42"},"id":42192,"nodeType":"InheritanceSpecifier","src":"585:7:42"},{"baseName":{"id":42193,"name":"Ownable","nameLocations":["594:7:42"],"nodeType":"IdentifierPath","referencedDeclaration":41339,"src":"594:7:42"},"id":42194,"nodeType":"InheritanceSpecifier","src":"594:7:42"}],"canonicalName":"UpgradeableBeacon","contractDependencies":[],"contractKind":"contract","documentation":{"id":42190,"nodeType":"StructuredDocumentation","src":"234:320:42","text":" @dev This contract is used in conjunction with one or more instances of {BeaconProxy} to determine their\n implementation contract, which is where they will delegate all function calls.\n An owner is able to change the implementation the beacon points to, thus upgrading the proxies that use this beacon."},"fullyImplemented":true,"linearizedBaseContracts":[42271,41339,44838,42183],"name":"UpgradeableBeacon","nameLocation":"564:17:42","scope":42272,"usedErrors":[41205,41210,42201],"usedEvents":[41216,42206]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol":{"id":43,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol","id":42320,"exportedSymbols":{"ITransparentUpgradeableProxy":[42341],"Ownable":[41339],"ProxyAdmin":[42319]},"nodeType":"SourceUnit","src":"116:1849:43","nodes":[{"id":42273,"nodeType":"PragmaDirective","src":"116:24:43","nodes":[],"literals":["solidity","^","0.8",".22"]},{"id":42275,"nodeType":"ImportDirective","src":"142:79:43","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol","file":"./TransparentUpgradeableProxy.sol","nameLocation":"-1:-1:-1","scope":42320,"sourceUnit":42456,"symbolAliases":[{"foreign":{"id":42274,"name":"ITransparentUpgradeableProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42341,"src":"150:28:43","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":42277,"nodeType":"ImportDirective","src":"222:49:43","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/access/Ownable.sol","file":"../../access/Ownable.sol","nameLocation":"-1:-1:-1","scope":42320,"sourceUnit":41340,"symbolAliases":[{"foreign":{"id":42276,"name":"Ownable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41339,"src":"230:7:43","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":42319,"nodeType":"ContractDefinition","src":"502:1462:43","nodes":[{"id":42284,"nodeType":"VariableDeclaration","src":"1187:58:43","nodes":[],"constant":true,"documentation":{"id":42281,"nodeType":"StructuredDocumentation","src":"539:643:43","text":" @dev The version of the upgrade interface of the contract. If this getter is missing, both `upgrade(address,address)`\n and `upgradeAndCall(address,address,bytes)` are present, and `upgrade` must be used if no function should be called,\n while `upgradeAndCall` will invoke the `receive` function if the third argument is the empty byte string.\n If the getter returns `\"5.0.0\"`, only `upgradeAndCall(address,address,bytes)` is present, and the third argument must\n be the empty byte string if no function should be called, making it impossible to invoke the `receive` function\n during an upgrade."},"functionSelector":"ad3cb1cc","mutability":"constant","name":"UPGRADE_INTERFACE_VERSION","nameLocation":"1210:25:43","scope":42319,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42282,"name":"string","nodeType":"ElementaryTypeName","src":"1187:6:43","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"352e302e30","id":42283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1238:7:43","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ade050ecfcf8ae20ae1d10a23573f9d7e0bad85e74a2cf8338a65401e64558c","typeString":"literal_string \"5.0.0\""},"value":"5.0.0"},"visibility":"public"},{"id":42294,"nodeType":"FunctionDefinition","src":"1329:58:43","nodes":[],"body":{"id":42293,"nodeType":"Block","src":"1385:2:43","nodes":[],"statements":[]},"documentation":{"id":42285,"nodeType":"StructuredDocumentation","src":"1252:72:43","text":" @dev Sets the initial owner who can perform upgrades."},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":42290,"name":"initialOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42287,"src":"1371:12:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":42291,"kind":"baseConstructorSpecifier","modifierName":{"id":42289,"name":"Ownable","nameLocations":["1363:7:43"],"nodeType":"IdentifierPath","referencedDeclaration":41339,"src":"1363:7:43"},"nodeType":"ModifierInvocation","src":"1363:21:43"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":42288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42287,"mutability":"mutable","name":"initialOwner","nameLocation":"1349:12:43","nodeType":"VariableDeclaration","scope":42294,"src":"1341:20:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42286,"name":"address","nodeType":"ElementaryTypeName","src":"1341:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1340:22:43"},"returnParameters":{"id":42292,"nodeType":"ParameterList","parameters":[],"src":"1385:0:43"},"scope":42319,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":42318,"nodeType":"FunctionDefinition","src":"1717:245:43","nodes":[],"body":{"id":42317,"nodeType":"Block","src":"1883:79:43","nodes":[],"statements":[{"expression":{"arguments":[{"id":42313,"name":"implementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42300,"src":"1934:14:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42314,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42302,"src":"1950:4:43","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":42307,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42298,"src":"1893:5:43","typeDescriptions":{"typeIdentifier":"t_contract$_ITransparentUpgradeableProxy_$42341","typeString":"contract ITransparentUpgradeableProxy"}},"id":42309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1899:16:43","memberName":"upgradeToAndCall","nodeType":"MemberAccess","referencedDeclaration":42340,"src":"1893:22:43","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) payable external"}},"id":42312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":42310,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1923:3:43","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":42311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1927:5:43","memberName":"value","nodeType":"MemberAccess","src":"1923:9:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"1893:40:43","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_bytes_memory_ptr_$returns$__$value","typeString":"function (address,bytes memory) payable external"}},"id":42315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1893:62:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42316,"nodeType":"ExpressionStatement","src":"1893:62:43"}]},"documentation":{"id":42295,"nodeType":"StructuredDocumentation","src":"1393:319:43","text":" @dev Upgrades `proxy` to `implementation` and calls a function on the new implementation.\n See {TransparentUpgradeableProxy-_dispatchUpgradeToAndCall}.\n Requirements:\n - This contract must be the admin of `proxy`.\n - If `data` is empty, `msg.value` must be zero."},"functionSelector":"9623609d","implemented":true,"kind":"function","modifiers":[{"id":42305,"kind":"modifierInvocation","modifierName":{"id":42304,"name":"onlyOwner","nameLocations":["1873:9:43"],"nodeType":"IdentifierPath","referencedDeclaration":41250,"src":"1873:9:43"},"nodeType":"ModifierInvocation","src":"1873:9:43"}],"name":"upgradeAndCall","nameLocation":"1726:14:43","parameters":{"id":42303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42298,"mutability":"mutable","name":"proxy","nameLocation":"1779:5:43","nodeType":"VariableDeclaration","scope":42318,"src":"1750:34:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ITransparentUpgradeableProxy_$42341","typeString":"contract ITransparentUpgradeableProxy"},"typeName":{"id":42297,"nodeType":"UserDefinedTypeName","pathNode":{"id":42296,"name":"ITransparentUpgradeableProxy","nameLocations":["1750:28:43"],"nodeType":"IdentifierPath","referencedDeclaration":42341,"src":"1750:28:43"},"referencedDeclaration":42341,"src":"1750:28:43","typeDescriptions":{"typeIdentifier":"t_contract$_ITransparentUpgradeableProxy_$42341","typeString":"contract ITransparentUpgradeableProxy"}},"visibility":"internal"},{"constant":false,"id":42300,"mutability":"mutable","name":"implementation","nameLocation":"1802:14:43","nodeType":"VariableDeclaration","scope":42318,"src":"1794:22:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42299,"name":"address","nodeType":"ElementaryTypeName","src":"1794:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42302,"mutability":"mutable","name":"data","nameLocation":"1839:4:43","nodeType":"VariableDeclaration","scope":42318,"src":"1826:17:43","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":42301,"name":"bytes","nodeType":"ElementaryTypeName","src":"1826:5:43","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1740:109:43"},"returnParameters":{"id":42306,"nodeType":"ParameterList","parameters":[],"src":"1883:0:43"},"scope":42319,"stateMutability":"payable","virtual":true,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":42279,"name":"Ownable","nameLocations":["525:7:43"],"nodeType":"IdentifierPath","referencedDeclaration":41339,"src":"525:7:43"},"id":42280,"nodeType":"InheritanceSpecifier","src":"525:7:43"}],"canonicalName":"ProxyAdmin","contractDependencies":[],"contractKind":"contract","documentation":{"id":42278,"nodeType":"StructuredDocumentation","src":"273:228:43","text":" @dev This is an auxiliary contract meant to be assigned as the admin of a {TransparentUpgradeableProxy}. For an\n explanation of why you would want to use this see the documentation for {TransparentUpgradeableProxy}."},"fullyImplemented":true,"linearizedBaseContracts":[42319,41339,44838],"name":"ProxyAdmin","nameLocation":"511:10:43","scope":42320,"usedErrors":[41205,41210],"usedEvents":[41216]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol":{"id":44,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol","id":42456,"exportedSymbols":{"ERC1967Proxy":[41785],"ERC1967Utils":[42079],"IERC1967":[41545],"ITransparentUpgradeableProxy":[42341],"ProxyAdmin":[42319],"TransparentUpgradeableProxy":[42455]},"nodeType":"SourceUnit","src":"133:6413:44","nodes":[{"id":42321,"nodeType":"PragmaDirective","src":"133:24:44","nodes":[],"literals":["solidity","^","0.8",".22"]},{"id":42323,"nodeType":"ImportDirective","src":"159:57:44","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol","file":"../ERC1967/ERC1967Utils.sol","nameLocation":"-1:-1:-1","scope":42456,"sourceUnit":42080,"symbolAliases":[{"foreign":{"id":42322,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42079,"src":"167:12:44","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":42325,"nodeType":"ImportDirective","src":"217:57:44","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"../ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":42456,"sourceUnit":41786,"symbolAliases":[{"foreign":{"id":42324,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41785,"src":"225:12:44","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":42327,"nodeType":"ImportDirective","src":"275:55:44","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol","file":"../../interfaces/IERC1967.sol","nameLocation":"-1:-1:-1","scope":42456,"sourceUnit":41546,"symbolAliases":[{"foreign":{"id":42326,"name":"IERC1967","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41545,"src":"283:8:44","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":42329,"nodeType":"ImportDirective","src":"331:44:44","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol","file":"./ProxyAdmin.sol","nameLocation":"-1:-1:-1","scope":42456,"sourceUnit":42320,"symbolAliases":[{"foreign":{"id":42328,"name":"ProxyAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42319,"src":"339:10:44","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":42341,"nodeType":"ContractDefinition","src":"823:202:44","nodes":[{"id":42340,"nodeType":"FunctionDefinition","src":"932:91:44","nodes":[],"documentation":{"id":42333,"nodeType":"StructuredDocumentation","src":"880:47:44","text":"@dev See {UUPSUpgradeable-upgradeToAndCall}"},"functionSelector":"4f1ef286","implemented":false,"kind":"function","modifiers":[],"name":"upgradeToAndCall","nameLocation":"941:16:44","parameters":{"id":42338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42335,"mutability":"mutable","name":"newImplementation","nameLocation":"966:17:44","nodeType":"VariableDeclaration","scope":42340,"src":"958:25:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42334,"name":"address","nodeType":"ElementaryTypeName","src":"958:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42337,"mutability":"mutable","name":"data","nameLocation":"1000:4:44","nodeType":"VariableDeclaration","scope":42340,"src":"985:19:44","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":42336,"name":"bytes","nodeType":"ElementaryTypeName","src":"985:5:44","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"957:48:44"},"returnParameters":{"id":42339,"nodeType":"ParameterList","parameters":[],"src":"1022:0:44"},"scope":42341,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":42331,"name":"IERC1967","nameLocations":["865:8:44"],"nodeType":"IdentifierPath","referencedDeclaration":41545,"src":"865:8:44"},"id":42332,"nodeType":"InheritanceSpecifier","src":"865:8:44"}],"canonicalName":"ITransparentUpgradeableProxy","contractDependencies":[],"contractKind":"interface","documentation":{"id":42330,"nodeType":"StructuredDocumentation","src":"377:445:44","text":" @dev Interface for {TransparentUpgradeableProxy}. In order to implement transparency, {TransparentUpgradeableProxy}\n does not implement this interface directly, and its upgradeability mechanism is implemented by an internal dispatch\n mechanism. The compiler is unaware that these functions are implemented by {TransparentUpgradeableProxy} and will not\n include them in the ABI so this interface must be used to interact with it."},"fullyImplemented":false,"linearizedBaseContracts":[42341,41545],"name":"ITransparentUpgradeableProxy","nameLocation":"833:28:44","scope":42456,"usedErrors":[],"usedEvents":[41532,41539,41544]},{"id":42455,"nodeType":"ContractDefinition","src":"4314:2231:44","nodes":[{"id":42346,"nodeType":"VariableDeclaration","src":"4708:32:44","nodes":[],"constant":false,"mutability":"immutable","name":"_admin","nameLocation":"4734:6:44","scope":42455,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42345,"name":"address","nodeType":"ElementaryTypeName","src":"4708:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"id":42349,"nodeType":"ErrorDefinition","src":"4854:31:44","nodes":[],"documentation":{"id":42347,"nodeType":"StructuredDocumentation","src":"4747:102:44","text":" @dev The proxy caller is the current admin, and can't fallback to the proxy target."},"errorSelector":"d2b576ec","name":"ProxyDeniedAdminAccess","nameLocation":"4860:22:44","parameters":{"id":42348,"nodeType":"ParameterList","parameters":[],"src":"4882:2:44"}},{"id":42382,"nodeType":"FunctionDefinition","src":"5157:296:44","nodes":[],"body":{"id":42381,"nodeType":"Block","src":"5263:190:44","nodes":[],"statements":[{"expression":{"id":42372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":42363,"name":"_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42346,"src":"5273:6:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":42369,"name":"initialOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42354,"src":"5305:12:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":42368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"5290:14:44","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_ProxyAdmin_$42319_$","typeString":"function (address) returns (contract ProxyAdmin)"},"typeName":{"id":42367,"nodeType":"UserDefinedTypeName","pathNode":{"id":42366,"name":"ProxyAdmin","nameLocations":["5294:10:44"],"nodeType":"IdentifierPath","referencedDeclaration":42319,"src":"5294:10:44"},"referencedDeclaration":42319,"src":"5294:10:44","typeDescriptions":{"typeIdentifier":"t_contract$_ProxyAdmin_$42319","typeString":"contract ProxyAdmin"}}},"id":42370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5290:28:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ProxyAdmin_$42319","typeString":"contract ProxyAdmin"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ProxyAdmin_$42319","typeString":"contract ProxyAdmin"}],"id":42365,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5282:7:44","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42364,"name":"address","nodeType":"ElementaryTypeName","src":"5282:7:44","typeDescriptions":{}}},"id":42371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5282:37:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5273:46:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":42373,"nodeType":"ExpressionStatement","src":"5273:46:44"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":42377,"name":"_proxyAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42391,"src":"5432:11:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":42378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5432:13:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":42374,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42079,"src":"5407:12:44","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC1967Utils_$42079_$","typeString":"type(library ERC1967Utils)"}},"id":42376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5420:11:44","memberName":"changeAdmin","nodeType":"MemberAccess","referencedDeclaration":41961,"src":"5407:24:44","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":42379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5407:39:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42380,"nodeType":"ExpressionStatement","src":"5407:39:44"}]},"documentation":{"id":42350,"nodeType":"StructuredDocumentation","src":"4891:261:44","text":" @dev Initializes an upgradeable proxy managed by an instance of a {ProxyAdmin} with an `initialOwner`,\n backed by the implementation at `_logic`, and optionally initialized with `_data` as explained in\n {ERC1967Proxy-constructor}."},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":42359,"name":"_logic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42352,"src":"5248:6:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42360,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42356,"src":"5256:5:44","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":42361,"kind":"baseConstructorSpecifier","modifierName":{"id":42358,"name":"ERC1967Proxy","nameLocations":["5235:12:44"],"nodeType":"IdentifierPath","referencedDeclaration":41785,"src":"5235:12:44"},"nodeType":"ModifierInvocation","src":"5235:27:44"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":42357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42352,"mutability":"mutable","name":"_logic","nameLocation":"5177:6:44","nodeType":"VariableDeclaration","scope":42382,"src":"5169:14:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42351,"name":"address","nodeType":"ElementaryTypeName","src":"5169:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42354,"mutability":"mutable","name":"initialOwner","nameLocation":"5193:12:44","nodeType":"VariableDeclaration","scope":42382,"src":"5185:20:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42353,"name":"address","nodeType":"ElementaryTypeName","src":"5185:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42356,"mutability":"mutable","name":"_data","nameLocation":"5220:5:44","nodeType":"VariableDeclaration","scope":42382,"src":"5207:18:44","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":42355,"name":"bytes","nodeType":"ElementaryTypeName","src":"5207:5:44","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5168:58:44"},"returnParameters":{"id":42362,"nodeType":"ParameterList","parameters":[],"src":"5263:0:44"},"scope":42455,"stateMutability":"payable","virtual":false,"visibility":"public"},{"id":42391,"nodeType":"FunctionDefinition","src":"5520:93:44","nodes":[],"body":{"id":42390,"nodeType":"Block","src":"5583:30:44","nodes":[],"statements":[{"expression":{"id":42388,"name":"_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42346,"src":"5600:6:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":42387,"id":42389,"nodeType":"Return","src":"5593:13:44"}]},"documentation":{"id":42383,"nodeType":"StructuredDocumentation","src":"5459:56:44","text":" @dev Returns the admin of this proxy."},"implemented":true,"kind":"function","modifiers":[],"name":"_proxyAdmin","nameLocation":"5529:11:44","parameters":{"id":42384,"nodeType":"ParameterList","parameters":[],"src":"5540:2:44"},"returnParameters":{"id":42387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42386,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42391,"src":"5574:7:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42385,"name":"address","nodeType":"ElementaryTypeName","src":"5574:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5573:9:44"},"scope":42455,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":42425,"nodeType":"FunctionDefinition","src":"5755:369:44","nodes":[],"body":{"id":42424,"nodeType":"Block","src":"5802:322:44","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":42400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":42396,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5816:3:44","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":42397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5820:6:44","memberName":"sender","nodeType":"MemberAccess","src":"5816:10:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":42398,"name":"_proxyAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42391,"src":"5830:11:44","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":42399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5830:13:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5816:27:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":42422,"nodeType":"Block","src":"6076:42:44","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":42417,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"6090:5:44","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TransparentUpgradeableProxy_$42455_$","typeString":"type(contract super TransparentUpgradeableProxy)"}},"id":42419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6096:9:44","memberName":"_fallback","nodeType":"MemberAccess","referencedDeclaration":42106,"src":"6090:15:44","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":42420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6090:17:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42421,"nodeType":"ExpressionStatement","src":"6090:17:44"}]},"id":42423,"nodeType":"IfStatement","src":"5812:306:44","trueBody":{"id":42416,"nodeType":"Block","src":"5845:225:44","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":42406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":42401,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5863:3:44","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":42402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5867:3:44","memberName":"sig","nodeType":"MemberAccess","src":"5863:7:44","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":42403,"name":"ITransparentUpgradeableProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42341,"src":"5874:28:44","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ITransparentUpgradeableProxy_$42341_$","typeString":"type(contract ITransparentUpgradeableProxy)"}},"id":42404,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5903:16:44","memberName":"upgradeToAndCall","nodeType":"MemberAccess","referencedDeclaration":42340,"src":"5874:45:44","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_address_$_t_bytes_calldata_ptr_$returns$__$","typeString":"function ITransparentUpgradeableProxy.upgradeToAndCall(address,bytes calldata) payable"}},"id":42405,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5920:8:44","memberName":"selector","nodeType":"MemberAccess","src":"5874:54:44","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"5863:65:44","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":42414,"nodeType":"Block","src":"6000:60:44","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":42411,"name":"_dispatchUpgradeToAndCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42454,"src":"6018:25:44","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":42412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6018:27:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42413,"nodeType":"ExpressionStatement","src":"6018:27:44"}]},"id":42415,"nodeType":"IfStatement","src":"5859:201:44","trueBody":{"id":42410,"nodeType":"Block","src":"5930:64:44","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":42407,"name":"ProxyDeniedAdminAccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42349,"src":"5955:22:44","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":42408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5955:24:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":42409,"nodeType":"RevertStatement","src":"5948:31:44"}]}}]}}]},"baseFunctions":[42106],"documentation":{"id":42392,"nodeType":"StructuredDocumentation","src":"5619:131:44","text":" @dev If caller is the admin process the call internally, otherwise transparently fallback to the proxy behavior."},"implemented":true,"kind":"function","modifiers":[],"name":"_fallback","nameLocation":"5764:9:44","overrides":{"id":42394,"nodeType":"OverrideSpecifier","overrides":[],"src":"5793:8:44"},"parameters":{"id":42393,"nodeType":"ParameterList","parameters":[],"src":"5773:2:44"},"returnParameters":{"id":42395,"nodeType":"ParameterList","parameters":[],"src":"5802:0:44"},"scope":42455,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":42454,"nodeType":"FunctionDefinition","src":"6326:217:44","nodes":[],"body":{"id":42453,"nodeType":"Block","src":"6371:172:44","nodes":[],"statements":[{"assignments":[42430,42432],"declarations":[{"constant":false,"id":42430,"mutability":"mutable","name":"newImplementation","nameLocation":"6390:17:44","nodeType":"VariableDeclaration","scope":42453,"src":"6382:25:44","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42429,"name":"address","nodeType":"ElementaryTypeName","src":"6382:7:44","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42432,"mutability":"mutable","name":"data","nameLocation":"6422:4:44","nodeType":"VariableDeclaration","scope":42453,"src":"6409:17:44","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":42431,"name":"bytes","nodeType":"ElementaryTypeName","src":"6409:5:44","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":42445,"initialValue":{"arguments":[{"baseExpression":{"expression":{"id":42435,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6441:3:44","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":42436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6445:4:44","memberName":"data","nodeType":"MemberAccess","src":"6441:8:44","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":42438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexRangeAccess","src":"6441:12:44","startExpression":{"hexValue":"34","id":42437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6450:1:44","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"}},{"components":[{"id":42440,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6456:7:44","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42439,"name":"address","nodeType":"ElementaryTypeName","src":"6456:7:44","typeDescriptions":{}}},{"id":42442,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6465:5:44","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":42441,"name":"bytes","nodeType":"ElementaryTypeName","src":"6465:5:44","typeDescriptions":{}}}],"id":42443,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6455:16:44","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_bytes_storage_ptr_$_$","typeString":"tuple(type(address),type(bytes storage pointer))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"},{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_bytes_storage_ptr_$_$","typeString":"tuple(type(address),type(bytes storage pointer))"}],"expression":{"id":42433,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6430:3:44","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":42434,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6434:6:44","memberName":"decode","nodeType":"MemberAccess","src":"6430:10:44","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":42444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6430:42:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_payable_$_t_bytes_memory_ptr_$","typeString":"tuple(address payable,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"6381:91:44"},{"expression":{"arguments":[{"id":42449,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42430,"src":"6512:17:44","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42450,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42432,"src":"6531:4:44","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":42446,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42079,"src":"6482:12:44","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC1967Utils_$42079_$","typeString":"type(library ERC1967Utils)"}},"id":42448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6495:16:44","memberName":"upgradeToAndCall","nodeType":"MemberAccess","referencedDeclaration":41894,"src":"6482:29:44","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory)"}},"id":42451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6482:54:44","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42452,"nodeType":"ExpressionStatement","src":"6482:54:44"}]},"documentation":{"id":42426,"nodeType":"StructuredDocumentation","src":"6130:191:44","text":" @dev Upgrade the implementation of the proxy. See {ERC1967Utils-upgradeToAndCall}.\n Requirements:\n - If `data` is empty, `msg.value` must be zero."},"implemented":true,"kind":"function","modifiers":[],"name":"_dispatchUpgradeToAndCall","nameLocation":"6335:25:44","parameters":{"id":42427,"nodeType":"ParameterList","parameters":[],"src":"6360:2:44"},"returnParameters":{"id":42428,"nodeType":"ParameterList","parameters":[],"src":"6371:0:44"},"scope":42455,"stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":42343,"name":"ERC1967Proxy","nameLocations":["4354:12:44"],"nodeType":"IdentifierPath","referencedDeclaration":41785,"src":"4354:12:44"},"id":42344,"nodeType":"InheritanceSpecifier","src":"4354:12:44"}],"canonicalName":"TransparentUpgradeableProxy","contractDependencies":[42319],"contractKind":"contract","documentation":{"id":42342,"nodeType":"StructuredDocumentation","src":"1027:3286:44","text":" @dev This contract implements a proxy that is upgradeable through an associated {ProxyAdmin} instance.\n To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector\n clashing], which can potentially be used in an attack, this contract uses the\n https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two\n things that go hand in hand:\n 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if\n that call matches the {ITransparentUpgradeableProxy-upgradeToAndCall} function exposed by the proxy itself.\n 2. If the admin calls the proxy, it can call the `upgradeToAndCall` function but any other call won't be forwarded to\n the implementation. If the admin tries to call a function on the implementation it will fail with an error indicating\n the proxy admin cannot fallback to the target implementation.\n These properties mean that the admin account can only be used for upgrading the proxy, so it's best if it's a\n dedicated account that is not used for anything else. This will avoid headaches due to sudden errors when trying to\n call a function from the proxy implementation. For this reason, the proxy deploys an instance of {ProxyAdmin} and\n allows upgrades only if they come through it. You should think of the `ProxyAdmin` instance as the administrative\n interface of the proxy, including the ability to change who can trigger upgrades by transferring ownership.\n NOTE: The real interface of this proxy is that defined in `ITransparentUpgradeableProxy`. This contract does not\n inherit from that interface, and instead `upgradeToAndCall` is implicitly implemented using a custom dispatch\n mechanism in `_fallback`. Consequently, the compiler will not produce an ABI for this contract. This is necessary to\n fully implement transparency without decoding reverts caused by selector clashes between the proxy and the\n implementation.\n NOTE: This proxy does not inherit from {Context} deliberately. The {ProxyAdmin} of this contract won't send a\n meta-transaction in any way, and any other meta-transaction setup should be made in the implementation contract.\n IMPORTANT: This contract avoids unnecessary storage reads by setting the admin only during construction as an\n immutable variable, preventing any changes thereafter. However, the admin slot defined in ERC-1967 can still be\n overwritten by the implementation logic pointed to by this proxy. In such cases, the contract may end up in an\n undesirable state where the admin slot is different from the actual admin. Relying on the value of the admin slot\n is generally fine if the implementation is trusted.\n WARNING: It is not recommended to extend this contract to add additional external functions. If you do so, the\n compiler will not check that there are no selector conflicts, due to the note above. A selector clash between any new\n function and the functions declared in {ITransparentUpgradeableProxy} will be resolved in favor of the new one. This\n could render the `upgradeToAndCall` function inaccessible, preventing upgradeability and compromising transparency."},"fullyImplemented":true,"linearizedBaseContracts":[42455,41785,42115],"name":"TransparentUpgradeableProxy","nameLocation":"4323:27:44","scope":42456,"usedErrors":[41805,41810,41818,42349,43548,44851],"usedEvents":[41532,41539]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"id":45,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","id":42971,"exportedSymbols":{"Context":[44838],"ERC20":[42970],"IERC20":[43048],"IERC20Errors":[41611],"IERC20Metadata":[43074]},"nodeType":"SourceUnit","src":"105:10693:45","nodes":[{"id":42457,"nodeType":"PragmaDirective","src":"105:24:45","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":42459,"nodeType":"ImportDirective","src":"131:36:45","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"./IERC20.sol","nameLocation":"-1:-1:-1","scope":42971,"sourceUnit":43049,"symbolAliases":[{"foreign":{"id":42458,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"139:6:45","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":42461,"nodeType":"ImportDirective","src":"168:63:45","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","file":"./extensions/IERC20Metadata.sol","nameLocation":"-1:-1:-1","scope":42971,"sourceUnit":43075,"symbolAliases":[{"foreign":{"id":42460,"name":"IERC20Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43074,"src":"176:14:45","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":42463,"nodeType":"ImportDirective","src":"232:48:45","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Context.sol","file":"../../utils/Context.sol","nameLocation":"-1:-1:-1","scope":42971,"sourceUnit":44839,"symbolAliases":[{"foreign":{"id":42462,"name":"Context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44838,"src":"240:7:45","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":42465,"nodeType":"ImportDirective","src":"281:65:45","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol","file":"../../interfaces/draft-IERC6093.sol","nameLocation":"-1:-1:-1","scope":42971,"sourceUnit":41707,"symbolAliases":[{"foreign":{"id":42464,"name":"IERC20Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41611,"src":"289:12:45","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":42970,"nodeType":"ContractDefinition","src":"1106:9691:45","nodes":[{"id":42478,"nodeType":"VariableDeclaration","src":"1185:53:45","nodes":[],"constant":false,"mutability":"mutable","name":"_balances","nameLocation":"1229:9:45","scope":42970,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":42477,"keyName":"account","keyNameLocation":"1201:7:45","keyType":{"id":42475,"name":"address","nodeType":"ElementaryTypeName","src":"1193:7:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1185:35:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":42476,"name":"uint256","nodeType":"ElementaryTypeName","src":"1212:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"id":42484,"nodeType":"VariableDeclaration","src":"1245:83:45","nodes":[],"constant":false,"mutability":"mutable","name":"_allowances","nameLocation":"1317:11:45","scope":42970,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":42483,"keyName":"account","keyNameLocation":"1261:7:45","keyType":{"id":42479,"name":"address","nodeType":"ElementaryTypeName","src":"1253:7:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1245:63:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":42482,"keyName":"spender","keyNameLocation":"1288:7:45","keyType":{"id":42480,"name":"address","nodeType":"ElementaryTypeName","src":"1280:7:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1272:35:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":42481,"name":"uint256","nodeType":"ElementaryTypeName","src":"1299:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"private"},{"id":42486,"nodeType":"VariableDeclaration","src":"1335:28:45","nodes":[],"constant":false,"mutability":"mutable","name":"_totalSupply","nameLocation":"1351:12:45","scope":42970,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42485,"name":"uint256","nodeType":"ElementaryTypeName","src":"1335:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":42488,"nodeType":"VariableDeclaration","src":"1370:20:45","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"1385:5:45","scope":42970,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":42487,"name":"string","nodeType":"ElementaryTypeName","src":"1370:6:45","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":42490,"nodeType":"VariableDeclaration","src":"1396:22:45","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"1411:7:45","scope":42970,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":42489,"name":"string","nodeType":"ElementaryTypeName","src":"1396:6:45","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":42507,"nodeType":"FunctionDefinition","src":"1582:113:45","nodes":[],"body":{"id":42506,"nodeType":"Block","src":"1638:57:45","nodes":[],"statements":[{"expression":{"id":42500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":42498,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42488,"src":"1648:5:45","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":42499,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42493,"src":"1656:5:45","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1648:13:45","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":42501,"nodeType":"ExpressionStatement","src":"1648:13:45"},{"expression":{"id":42504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":42502,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42490,"src":"1671:7:45","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":42503,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42495,"src":"1681:7:45","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1671:17:45","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":42505,"nodeType":"ExpressionStatement","src":"1671:17:45"}]},"documentation":{"id":42491,"nodeType":"StructuredDocumentation","src":"1425:152:45","text":" @dev Sets the values for {name} and {symbol}.\n Both values are immutable: they can only be set once during construction."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":42496,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42493,"mutability":"mutable","name":"name_","nameLocation":"1608:5:45","nodeType":"VariableDeclaration","scope":42507,"src":"1594:19:45","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42492,"name":"string","nodeType":"ElementaryTypeName","src":"1594:6:45","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42495,"mutability":"mutable","name":"symbol_","nameLocation":"1629:7:45","nodeType":"VariableDeclaration","scope":42507,"src":"1615:21:45","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42494,"name":"string","nodeType":"ElementaryTypeName","src":"1615:6:45","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1593:44:45"},"returnParameters":{"id":42497,"nodeType":"ParameterList","parameters":[],"src":"1638:0:45"},"scope":42970,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":42516,"nodeType":"FunctionDefinition","src":"1760:89:45","nodes":[],"body":{"id":42515,"nodeType":"Block","src":"1820:29:45","nodes":[],"statements":[{"expression":{"id":42513,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42488,"src":"1837:5:45","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":42512,"id":42514,"nodeType":"Return","src":"1830:12:45"}]},"baseFunctions":[43061],"documentation":{"id":42508,"nodeType":"StructuredDocumentation","src":"1701:54:45","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"1769:4:45","parameters":{"id":42509,"nodeType":"ParameterList","parameters":[],"src":"1773:2:45"},"returnParameters":{"id":42512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42511,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42516,"src":"1805:13:45","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42510,"name":"string","nodeType":"ElementaryTypeName","src":"1805:6:45","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1804:15:45"},"scope":42970,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":42525,"nodeType":"FunctionDefinition","src":"1962:93:45","nodes":[],"body":{"id":42524,"nodeType":"Block","src":"2024:31:45","nodes":[],"statements":[{"expression":{"id":42522,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42490,"src":"2041:7:45","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":42521,"id":42523,"nodeType":"Return","src":"2034:14:45"}]},"baseFunctions":[43067],"documentation":{"id":42517,"nodeType":"StructuredDocumentation","src":"1855:102:45","text":" @dev Returns the symbol of the token, usually a shorter version of the\n name."},"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"1971:6:45","parameters":{"id":42518,"nodeType":"ParameterList","parameters":[],"src":"1977:2:45"},"returnParameters":{"id":42521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42520,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42525,"src":"2009:13:45","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42519,"name":"string","nodeType":"ElementaryTypeName","src":"2009:6:45","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2008:15:45"},"scope":42970,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":42534,"nodeType":"FunctionDefinition","src":"2688:82:45","nodes":[],"body":{"id":42533,"nodeType":"Block","src":"2744:26:45","nodes":[],"statements":[{"expression":{"hexValue":"3138","id":42531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2761:2:45","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"functionReturnParameters":42530,"id":42532,"nodeType":"Return","src":"2754:9:45"}]},"baseFunctions":[43073],"documentation":{"id":42526,"nodeType":"StructuredDocumentation","src":"2061:622:45","text":" @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the default value returned by this function, unless\n it's overridden.\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}."},"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"2697:8:45","parameters":{"id":42527,"nodeType":"ParameterList","parameters":[],"src":"2705:2:45"},"returnParameters":{"id":42530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42529,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42534,"src":"2737:5:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":42528,"name":"uint8","nodeType":"ElementaryTypeName","src":"2737:5:45","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2736:7:45"},"scope":42970,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":42543,"nodeType":"FunctionDefinition","src":"2803:97:45","nodes":[],"body":{"id":42542,"nodeType":"Block","src":"2864:36:45","nodes":[],"statements":[{"expression":{"id":42540,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42486,"src":"2881:12:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":42539,"id":42541,"nodeType":"Return","src":"2874:19:45"}]},"baseFunctions":[42997],"documentation":{"id":42535,"nodeType":"StructuredDocumentation","src":"2776:22:45","text":"@inheritdoc IERC20"},"functionSelector":"18160ddd","implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"2812:11:45","parameters":{"id":42536,"nodeType":"ParameterList","parameters":[],"src":"2823:2:45"},"returnParameters":{"id":42539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42538,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42543,"src":"2855:7:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42537,"name":"uint256","nodeType":"ElementaryTypeName","src":"2855:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2854:9:45"},"scope":42970,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":42556,"nodeType":"FunctionDefinition","src":"2933:116:45","nodes":[],"body":{"id":42555,"nodeType":"Block","src":"3007:42:45","nodes":[],"statements":[{"expression":{"baseExpression":{"id":42551,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42478,"src":"3024:9:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":42553,"indexExpression":{"id":42552,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42546,"src":"3034:7:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3024:18:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":42550,"id":42554,"nodeType":"Return","src":"3017:25:45"}]},"baseFunctions":[43005],"documentation":{"id":42544,"nodeType":"StructuredDocumentation","src":"2906:22:45","text":"@inheritdoc IERC20"},"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"2942:9:45","parameters":{"id":42547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42546,"mutability":"mutable","name":"account","nameLocation":"2960:7:45","nodeType":"VariableDeclaration","scope":42556,"src":"2952:15:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42545,"name":"address","nodeType":"ElementaryTypeName","src":"2952:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2951:17:45"},"returnParameters":{"id":42550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42549,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42556,"src":"2998:7:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42548,"name":"uint256","nodeType":"ElementaryTypeName","src":"2998:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2997:9:45"},"scope":42970,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":42580,"nodeType":"FunctionDefinition","src":"3244:178:45","nodes":[],"body":{"id":42579,"nodeType":"Block","src":"3319:103:45","nodes":[],"statements":[{"assignments":[42567],"declarations":[{"constant":false,"id":42567,"mutability":"mutable","name":"owner","nameLocation":"3337:5:45","nodeType":"VariableDeclaration","scope":42579,"src":"3329:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42566,"name":"address","nodeType":"ElementaryTypeName","src":"3329:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":42570,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":42568,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44820,"src":"3345:10:45","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":42569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3345:12:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3329:28:45"},{"expression":{"arguments":[{"id":42572,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42567,"src":"3377:5:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42573,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42559,"src":"3384:2:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42574,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42561,"src":"3388:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42571,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42700,"src":"3367:9:45","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":42575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3367:27:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42576,"nodeType":"ExpressionStatement","src":"3367:27:45"},{"expression":{"hexValue":"74727565","id":42577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3411:4:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":42565,"id":42578,"nodeType":"Return","src":"3404:11:45"}]},"baseFunctions":[43015],"documentation":{"id":42557,"nodeType":"StructuredDocumentation","src":"3055:184:45","text":" @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `value`."},"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"3253:8:45","parameters":{"id":42562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42559,"mutability":"mutable","name":"to","nameLocation":"3270:2:45","nodeType":"VariableDeclaration","scope":42580,"src":"3262:10:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42558,"name":"address","nodeType":"ElementaryTypeName","src":"3262:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42561,"mutability":"mutable","name":"value","nameLocation":"3282:5:45","nodeType":"VariableDeclaration","scope":42580,"src":"3274:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42560,"name":"uint256","nodeType":"ElementaryTypeName","src":"3274:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3261:27:45"},"returnParameters":{"id":42565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42564,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42580,"src":"3313:4:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42563,"name":"bool","nodeType":"ElementaryTypeName","src":"3313:4:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3312:6:45"},"scope":42970,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":42597,"nodeType":"FunctionDefinition","src":"3455:140:45","nodes":[],"body":{"id":42596,"nodeType":"Block","src":"3544:51:45","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":42590,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42484,"src":"3561:11:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":42592,"indexExpression":{"id":42591,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42583,"src":"3573:5:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3561:18:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":42594,"indexExpression":{"id":42593,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42585,"src":"3580:7:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3561:27:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":42589,"id":42595,"nodeType":"Return","src":"3554:34:45"}]},"baseFunctions":[43025],"documentation":{"id":42581,"nodeType":"StructuredDocumentation","src":"3428:22:45","text":"@inheritdoc IERC20"},"functionSelector":"dd62ed3e","implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"3464:9:45","parameters":{"id":42586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42583,"mutability":"mutable","name":"owner","nameLocation":"3482:5:45","nodeType":"VariableDeclaration","scope":42597,"src":"3474:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42582,"name":"address","nodeType":"ElementaryTypeName","src":"3474:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42585,"mutability":"mutable","name":"spender","nameLocation":"3497:7:45","nodeType":"VariableDeclaration","scope":42597,"src":"3489:15:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42584,"name":"address","nodeType":"ElementaryTypeName","src":"3489:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3473:32:45"},"returnParameters":{"id":42589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42588,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42597,"src":"3535:7:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42587,"name":"uint256","nodeType":"ElementaryTypeName","src":"3535:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3534:9:45"},"scope":42970,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":42621,"nodeType":"FunctionDefinition","src":"3902:186:45","nodes":[],"body":{"id":42620,"nodeType":"Block","src":"3981:107:45","nodes":[],"statements":[{"assignments":[42608],"declarations":[{"constant":false,"id":42608,"mutability":"mutable","name":"owner","nameLocation":"3999:5:45","nodeType":"VariableDeclaration","scope":42620,"src":"3991:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42607,"name":"address","nodeType":"ElementaryTypeName","src":"3991:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":42611,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":42609,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44820,"src":"4007:10:45","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":42610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4007:12:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3991:28:45"},{"expression":{"arguments":[{"id":42613,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42608,"src":"4038:5:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42614,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42600,"src":"4045:7:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42615,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42602,"src":"4054:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42612,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[42861,42921],"referencedDeclaration":42861,"src":"4029:8:45","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":42616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4029:31:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42617,"nodeType":"ExpressionStatement","src":"4029:31:45"},{"expression":{"hexValue":"74727565","id":42618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4077:4:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":42606,"id":42619,"nodeType":"Return","src":"4070:11:45"}]},"baseFunctions":[43035],"documentation":{"id":42598,"nodeType":"StructuredDocumentation","src":"3601:296:45","text":" @dev See {IERC20-approve}.\n NOTE: If `value` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"3911:7:45","parameters":{"id":42603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42600,"mutability":"mutable","name":"spender","nameLocation":"3927:7:45","nodeType":"VariableDeclaration","scope":42621,"src":"3919:15:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42599,"name":"address","nodeType":"ElementaryTypeName","src":"3919:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42602,"mutability":"mutable","name":"value","nameLocation":"3944:5:45","nodeType":"VariableDeclaration","scope":42621,"src":"3936:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42601,"name":"uint256","nodeType":"ElementaryTypeName","src":"3936:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3918:32:45"},"returnParameters":{"id":42606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42605,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42621,"src":"3975:4:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42604,"name":"bool","nodeType":"ElementaryTypeName","src":"3975:4:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3974:6:45"},"scope":42970,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":42653,"nodeType":"FunctionDefinition","src":"4680:244:45","nodes":[],"body":{"id":42652,"nodeType":"Block","src":"4773:151:45","nodes":[],"statements":[{"assignments":[42634],"declarations":[{"constant":false,"id":42634,"mutability":"mutable","name":"spender","nameLocation":"4791:7:45","nodeType":"VariableDeclaration","scope":42652,"src":"4783:15:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42633,"name":"address","nodeType":"ElementaryTypeName","src":"4783:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":42637,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":42635,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44820,"src":"4801:10:45","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":42636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4801:12:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4783:30:45"},{"expression":{"arguments":[{"id":42639,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42624,"src":"4839:4:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42640,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42634,"src":"4845:7:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42641,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42628,"src":"4854:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42638,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42969,"src":"4823:15:45","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":42642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4823:37:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42643,"nodeType":"ExpressionStatement","src":"4823:37:45"},{"expression":{"arguments":[{"id":42645,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42624,"src":"4880:4:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42646,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42626,"src":"4886:2:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42647,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42628,"src":"4890:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42644,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42700,"src":"4870:9:45","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":42648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4870:26:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42649,"nodeType":"ExpressionStatement","src":"4870:26:45"},{"expression":{"hexValue":"74727565","id":42650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4913:4:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":42632,"id":42651,"nodeType":"Return","src":"4906:11:45"}]},"baseFunctions":[43047],"documentation":{"id":42622,"nodeType":"StructuredDocumentation","src":"4094:581:45","text":" @dev See {IERC20-transferFrom}.\n Skips emitting an {Approval} event indicating an allowance update. This is not\n required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve].\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `value`.\n - the caller must have allowance for ``from``'s tokens of at least\n `value`."},"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"4689:12:45","parameters":{"id":42629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42624,"mutability":"mutable","name":"from","nameLocation":"4710:4:45","nodeType":"VariableDeclaration","scope":42653,"src":"4702:12:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42623,"name":"address","nodeType":"ElementaryTypeName","src":"4702:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42626,"mutability":"mutable","name":"to","nameLocation":"4724:2:45","nodeType":"VariableDeclaration","scope":42653,"src":"4716:10:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42625,"name":"address","nodeType":"ElementaryTypeName","src":"4716:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42628,"mutability":"mutable","name":"value","nameLocation":"4736:5:45","nodeType":"VariableDeclaration","scope":42653,"src":"4728:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42627,"name":"uint256","nodeType":"ElementaryTypeName","src":"4728:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4701:41:45"},"returnParameters":{"id":42632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42631,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42653,"src":"4767:4:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42630,"name":"bool","nodeType":"ElementaryTypeName","src":"4767:4:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4766:6:45"},"scope":42970,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":42700,"nodeType":"FunctionDefinition","src":"5297:300:45","nodes":[],"body":{"id":42699,"nodeType":"Block","src":"5366:231:45","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":42668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42663,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42656,"src":"5380:4:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":42666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5396:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":42665,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5388:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42664,"name":"address","nodeType":"ElementaryTypeName","src":"5388:7:45","typeDescriptions":{}}},"id":42667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5388:10:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5380:18:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42677,"nodeType":"IfStatement","src":"5376:86:45","trueBody":{"id":42676,"nodeType":"Block","src":"5400:62:45","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":42672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5448:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":42671,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5440:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42670,"name":"address","nodeType":"ElementaryTypeName","src":"5440:7:45","typeDescriptions":{}}},"id":42673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5440:10:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":42669,"name":"ERC20InvalidSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41586,"src":"5421:18:45","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":42674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5421:30:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":42675,"nodeType":"RevertStatement","src":"5414:37:45"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":42683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42678,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42658,"src":"5475:2:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":42681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5489:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":42680,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5481:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42679,"name":"address","nodeType":"ElementaryTypeName","src":"5481:7:45","typeDescriptions":{}}},"id":42682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5481:10:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5475:16:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42692,"nodeType":"IfStatement","src":"5471:86:45","trueBody":{"id":42691,"nodeType":"Block","src":"5493:64:45","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":42687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5543:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":42686,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5535:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42685,"name":"address","nodeType":"ElementaryTypeName","src":"5535:7:45","typeDescriptions":{}}},"id":42688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5535:10:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":42684,"name":"ERC20InvalidReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41591,"src":"5514:20:45","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":42689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5514:32:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":42690,"nodeType":"RevertStatement","src":"5507:39:45"}]}},{"expression":{"arguments":[{"id":42694,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42656,"src":"5574:4:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42695,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42658,"src":"5580:2:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42696,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42660,"src":"5584:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42693,"name":"_update","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42777,"src":"5566:7:45","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":42697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5566:24:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42698,"nodeType":"ExpressionStatement","src":"5566:24:45"}]},"documentation":{"id":42654,"nodeType":"StructuredDocumentation","src":"4930:362:45","text":" @dev Moves a `value` amount of tokens from `from` to `to`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n NOTE: This function is not virtual, {_update} should be overridden instead."},"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nameLocation":"5306:9:45","parameters":{"id":42661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42656,"mutability":"mutable","name":"from","nameLocation":"5324:4:45","nodeType":"VariableDeclaration","scope":42700,"src":"5316:12:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42655,"name":"address","nodeType":"ElementaryTypeName","src":"5316:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42658,"mutability":"mutable","name":"to","nameLocation":"5338:2:45","nodeType":"VariableDeclaration","scope":42700,"src":"5330:10:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42657,"name":"address","nodeType":"ElementaryTypeName","src":"5330:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42660,"mutability":"mutable","name":"value","nameLocation":"5350:5:45","nodeType":"VariableDeclaration","scope":42700,"src":"5342:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42659,"name":"uint256","nodeType":"ElementaryTypeName","src":"5342:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5315:41:45"},"returnParameters":{"id":42662,"nodeType":"ParameterList","parameters":[],"src":"5366:0:45"},"scope":42970,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":42777,"nodeType":"FunctionDefinition","src":"5912:1107:45","nodes":[],"body":{"id":42776,"nodeType":"Block","src":"5987:1032:45","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":42715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42710,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42703,"src":"6001:4:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":42713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6017:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":42712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6009:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42711,"name":"address","nodeType":"ElementaryTypeName","src":"6009:7:45","typeDescriptions":{}}},"id":42714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6009:10:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6001:18:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":42747,"nodeType":"Block","src":"6175:362:45","statements":[{"assignments":[42722],"declarations":[{"constant":false,"id":42722,"mutability":"mutable","name":"fromBalance","nameLocation":"6197:11:45","nodeType":"VariableDeclaration","scope":42747,"src":"6189:19:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42721,"name":"uint256","nodeType":"ElementaryTypeName","src":"6189:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":42726,"initialValue":{"baseExpression":{"id":42723,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42478,"src":"6211:9:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":42725,"indexExpression":{"id":42724,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42703,"src":"6221:4:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6211:15:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6189:37:45"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42727,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42722,"src":"6244:11:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":42728,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42707,"src":"6258:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6244:19:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42737,"nodeType":"IfStatement","src":"6240:115:45","trueBody":{"id":42736,"nodeType":"Block","src":"6265:90:45","statements":[{"errorCall":{"arguments":[{"id":42731,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42703,"src":"6315:4:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42732,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42722,"src":"6321:11:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":42733,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42707,"src":"6334:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42730,"name":"ERC20InsufficientBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41581,"src":"6290:24:45","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$_t_uint256_$returns$_t_error_$","typeString":"function (address,uint256,uint256) pure returns (error)"}},"id":42734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6290:50:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":42735,"nodeType":"RevertStatement","src":"6283:57:45"}]}},{"id":42746,"nodeType":"UncheckedBlock","src":"6368:159:45","statements":[{"expression":{"id":42744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":42738,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42478,"src":"6475:9:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":42740,"indexExpression":{"id":42739,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42703,"src":"6485:4:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6475:15:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42741,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42722,"src":"6493:11:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":42742,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42707,"src":"6507:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6493:19:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6475:37:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":42745,"nodeType":"ExpressionStatement","src":"6475:37:45"}]}]},"id":42748,"nodeType":"IfStatement","src":"5997:540:45","trueBody":{"id":42720,"nodeType":"Block","src":"6021:148:45","statements":[{"expression":{"id":42718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":42716,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42486,"src":"6137:12:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":42717,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42707,"src":"6153:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6137:21:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":42719,"nodeType":"ExpressionStatement","src":"6137:21:45"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":42754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42749,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42705,"src":"6551:2:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":42752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6565:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":42751,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6557:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42750,"name":"address","nodeType":"ElementaryTypeName","src":"6557:7:45","typeDescriptions":{}}},"id":42753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6557:10:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6551:16:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":42768,"nodeType":"Block","src":"6766:206:45","statements":[{"id":42767,"nodeType":"UncheckedBlock","src":"6780:182:45","statements":[{"expression":{"id":42765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":42761,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42478,"src":"6925:9:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":42763,"indexExpression":{"id":42762,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42705,"src":"6935:2:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6925:13:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":42764,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42707,"src":"6942:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6925:22:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":42766,"nodeType":"ExpressionStatement","src":"6925:22:45"}]}]},"id":42769,"nodeType":"IfStatement","src":"6547:425:45","trueBody":{"id":42760,"nodeType":"Block","src":"6569:191:45","statements":[{"id":42759,"nodeType":"UncheckedBlock","src":"6583:167:45","statements":[{"expression":{"id":42757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":42755,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42486,"src":"6714:12:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":42756,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42707,"src":"6730:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6714:21:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":42758,"nodeType":"ExpressionStatement","src":"6714:21:45"}]}]}},{"eventCall":{"arguments":[{"id":42771,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42703,"src":"6996:4:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42772,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42705,"src":"7002:2:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42773,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42707,"src":"7006:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42770,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42982,"src":"6987:8:45","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":42774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6987:25:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42775,"nodeType":"EmitStatement","src":"6982:30:45"}]},"documentation":{"id":42701,"nodeType":"StructuredDocumentation","src":"5603:304:45","text":" @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from`\n (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding\n this function.\n Emits a {Transfer} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_update","nameLocation":"5921:7:45","parameters":{"id":42708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42703,"mutability":"mutable","name":"from","nameLocation":"5937:4:45","nodeType":"VariableDeclaration","scope":42777,"src":"5929:12:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42702,"name":"address","nodeType":"ElementaryTypeName","src":"5929:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42705,"mutability":"mutable","name":"to","nameLocation":"5951:2:45","nodeType":"VariableDeclaration","scope":42777,"src":"5943:10:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42704,"name":"address","nodeType":"ElementaryTypeName","src":"5943:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42707,"mutability":"mutable","name":"value","nameLocation":"5963:5:45","nodeType":"VariableDeclaration","scope":42777,"src":"5955:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42706,"name":"uint256","nodeType":"ElementaryTypeName","src":"5955:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5928:41:45"},"returnParameters":{"id":42709,"nodeType":"ParameterList","parameters":[],"src":"5987:0:45"},"scope":42970,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":42810,"nodeType":"FunctionDefinition","src":"7362:208:45","nodes":[],"body":{"id":42809,"nodeType":"Block","src":"7418:152:45","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":42790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42785,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42780,"src":"7432:7:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":42788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7451:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":42787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7443:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42786,"name":"address","nodeType":"ElementaryTypeName","src":"7443:7:45","typeDescriptions":{}}},"id":42789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7443:10:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7432:21:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42799,"nodeType":"IfStatement","src":"7428:91:45","trueBody":{"id":42798,"nodeType":"Block","src":"7455:64:45","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":42794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7505:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":42793,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7497:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42792,"name":"address","nodeType":"ElementaryTypeName","src":"7497:7:45","typeDescriptions":{}}},"id":42795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7497:10:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":42791,"name":"ERC20InvalidReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41591,"src":"7476:20:45","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":42796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7476:32:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":42797,"nodeType":"RevertStatement","src":"7469:39:45"}]}},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":42803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7544:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":42802,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7536:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42801,"name":"address","nodeType":"ElementaryTypeName","src":"7536:7:45","typeDescriptions":{}}},"id":42804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7536:10:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42805,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42780,"src":"7548:7:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42806,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42782,"src":"7557:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42800,"name":"_update","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42777,"src":"7528:7:45","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":42807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7528:35:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42808,"nodeType":"ExpressionStatement","src":"7528:35:45"}]},"documentation":{"id":42778,"nodeType":"StructuredDocumentation","src":"7025:332:45","text":" @dev Creates a `value` amount of tokens and assigns them to `account`, by transferring it from address(0).\n Relies on the `_update` mechanism\n Emits a {Transfer} event with `from` set to the zero address.\n NOTE: This function is not virtual, {_update} should be overridden instead."},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"7371:5:45","parameters":{"id":42783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42780,"mutability":"mutable","name":"account","nameLocation":"7385:7:45","nodeType":"VariableDeclaration","scope":42810,"src":"7377:15:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42779,"name":"address","nodeType":"ElementaryTypeName","src":"7377:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42782,"mutability":"mutable","name":"value","nameLocation":"7402:5:45","nodeType":"VariableDeclaration","scope":42810,"src":"7394:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42781,"name":"uint256","nodeType":"ElementaryTypeName","src":"7394:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7376:32:45"},"returnParameters":{"id":42784,"nodeType":"ParameterList","parameters":[],"src":"7418:0:45"},"scope":42970,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":42843,"nodeType":"FunctionDefinition","src":"7888:206:45","nodes":[],"body":{"id":42842,"nodeType":"Block","src":"7944:150:45","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":42823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42818,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42813,"src":"7958:7:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":42821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7977:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":42820,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7969:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42819,"name":"address","nodeType":"ElementaryTypeName","src":"7969:7:45","typeDescriptions":{}}},"id":42822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7969:10:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7958:21:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42832,"nodeType":"IfStatement","src":"7954:89:45","trueBody":{"id":42831,"nodeType":"Block","src":"7981:62:45","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":42827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8029:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":42826,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8021:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42825,"name":"address","nodeType":"ElementaryTypeName","src":"8021:7:45","typeDescriptions":{}}},"id":42828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8021:10:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":42824,"name":"ERC20InvalidSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41586,"src":"8002:18:45","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":42829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8002:30:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":42830,"nodeType":"RevertStatement","src":"7995:37:45"}]}},{"expression":{"arguments":[{"id":42834,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42813,"src":"8060:7:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":42837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8077:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":42836,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8069:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42835,"name":"address","nodeType":"ElementaryTypeName","src":"8069:7:45","typeDescriptions":{}}},"id":42838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8069:10:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42839,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42815,"src":"8081:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42833,"name":"_update","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42777,"src":"8052:7:45","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":42840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8052:35:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42841,"nodeType":"ExpressionStatement","src":"8052:35:45"}]},"documentation":{"id":42811,"nodeType":"StructuredDocumentation","src":"7576:307:45","text":" @dev Destroys a `value` amount of tokens from `account`, lowering the total supply.\n Relies on the `_update` mechanism.\n Emits a {Transfer} event with `to` set to the zero address.\n NOTE: This function is not virtual, {_update} should be overridden instead"},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"7897:5:45","parameters":{"id":42816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42813,"mutability":"mutable","name":"account","nameLocation":"7911:7:45","nodeType":"VariableDeclaration","scope":42843,"src":"7903:15:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42812,"name":"address","nodeType":"ElementaryTypeName","src":"7903:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42815,"mutability":"mutable","name":"value","nameLocation":"7928:5:45","nodeType":"VariableDeclaration","scope":42843,"src":"7920:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42814,"name":"uint256","nodeType":"ElementaryTypeName","src":"7920:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7902:32:45"},"returnParameters":{"id":42817,"nodeType":"ParameterList","parameters":[],"src":"7944:0:45"},"scope":42970,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":42861,"nodeType":"FunctionDefinition","src":"8630:128:45","nodes":[],"body":{"id":42860,"nodeType":"Block","src":"8704:54:45","nodes":[],"statements":[{"expression":{"arguments":[{"id":42854,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42846,"src":"8723:5:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42855,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42848,"src":"8730:7:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42856,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42850,"src":"8739:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"74727565","id":42857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8746:4:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":42853,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[42861,42921],"referencedDeclaration":42921,"src":"8714:8:45","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (address,address,uint256,bool)"}},"id":42858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8714:37:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42859,"nodeType":"ExpressionStatement","src":"8714:37:45"}]},"documentation":{"id":42844,"nodeType":"StructuredDocumentation","src":"8100:525:45","text":" @dev Sets `value` as the allowance of `spender` over the `owner`'s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address.\n Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument."},"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"8639:8:45","parameters":{"id":42851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42846,"mutability":"mutable","name":"owner","nameLocation":"8656:5:45","nodeType":"VariableDeclaration","scope":42861,"src":"8648:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42845,"name":"address","nodeType":"ElementaryTypeName","src":"8648:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42848,"mutability":"mutable","name":"spender","nameLocation":"8671:7:45","nodeType":"VariableDeclaration","scope":42861,"src":"8663:15:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42847,"name":"address","nodeType":"ElementaryTypeName","src":"8663:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42850,"mutability":"mutable","name":"value","nameLocation":"8688:5:45","nodeType":"VariableDeclaration","scope":42861,"src":"8680:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42849,"name":"uint256","nodeType":"ElementaryTypeName","src":"8680:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8647:47:45"},"returnParameters":{"id":42852,"nodeType":"ParameterList","parameters":[],"src":"8704:0:45"},"scope":42970,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":42921,"nodeType":"FunctionDefinition","src":"9605:432:45","nodes":[],"body":{"id":42920,"nodeType":"Block","src":"9703:334:45","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":42878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42873,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42864,"src":"9717:5:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":42876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9734:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":42875,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9726:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42874,"name":"address","nodeType":"ElementaryTypeName","src":"9726:7:45","typeDescriptions":{}}},"id":42877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9726:10:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9717:19:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42887,"nodeType":"IfStatement","src":"9713:89:45","trueBody":{"id":42886,"nodeType":"Block","src":"9738:64:45","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":42882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9788:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":42881,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9780:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42880,"name":"address","nodeType":"ElementaryTypeName","src":"9780:7:45","typeDescriptions":{}}},"id":42883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9780:10:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":42879,"name":"ERC20InvalidApprover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41605,"src":"9759:20:45","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":42884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9759:32:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":42885,"nodeType":"RevertStatement","src":"9752:39:45"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":42893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42888,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42866,"src":"9815:7:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":42891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9834:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":42890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9826:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42889,"name":"address","nodeType":"ElementaryTypeName","src":"9826:7:45","typeDescriptions":{}}},"id":42892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9826:10:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9815:21:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42902,"nodeType":"IfStatement","src":"9811:90:45","trueBody":{"id":42901,"nodeType":"Block","src":"9838:63:45","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":42897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9887:1:45","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":42896,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9879:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":42895,"name":"address","nodeType":"ElementaryTypeName","src":"9879:7:45","typeDescriptions":{}}},"id":42898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9879:10:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":42894,"name":"ERC20InvalidSpender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41610,"src":"9859:19:45","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":42899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9859:31:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":42900,"nodeType":"RevertStatement","src":"9852:38:45"}]}},{"expression":{"id":42909,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":42903,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42484,"src":"9910:11:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":42906,"indexExpression":{"id":42904,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42864,"src":"9922:5:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9910:18:45","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":42907,"indexExpression":{"id":42905,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42866,"src":"9929:7:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9910:27:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":42908,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42868,"src":"9940:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9910:35:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":42910,"nodeType":"ExpressionStatement","src":"9910:35:45"},{"condition":{"id":42911,"name":"emitEvent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42870,"src":"9959:9:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42919,"nodeType":"IfStatement","src":"9955:76:45","trueBody":{"id":42918,"nodeType":"Block","src":"9970:61:45","statements":[{"eventCall":{"arguments":[{"id":42913,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42864,"src":"9998:5:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42914,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42866,"src":"10005:7:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42915,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42868,"src":"10014:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42912,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42991,"src":"9989:8:45","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":42916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9989:31:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42917,"nodeType":"EmitStatement","src":"9984:36:45"}]}}]},"documentation":{"id":42862,"nodeType":"StructuredDocumentation","src":"8764:836:45","text":" @dev Variant of {_approve} with an optional flag to enable or disable the {Approval} event.\n By default (when calling {_approve}) the flag is set to true. On the other hand, approval changes made by\n `_spendAllowance` during the `transferFrom` operation set the flag to false. This saves gas by not emitting any\n `Approval` event during `transferFrom` operations.\n Anyone who wishes to continue emitting `Approval` events on the`transferFrom` operation can force the flag to\n true using the following override:\n ```solidity\n function _approve(address owner, address spender, uint256 value, bool) internal virtual override {\n super._approve(owner, spender, value, true);\n }\n ```\n Requirements are the same as {_approve}."},"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"9614:8:45","parameters":{"id":42871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42864,"mutability":"mutable","name":"owner","nameLocation":"9631:5:45","nodeType":"VariableDeclaration","scope":42921,"src":"9623:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42863,"name":"address","nodeType":"ElementaryTypeName","src":"9623:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42866,"mutability":"mutable","name":"spender","nameLocation":"9646:7:45","nodeType":"VariableDeclaration","scope":42921,"src":"9638:15:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42865,"name":"address","nodeType":"ElementaryTypeName","src":"9638:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42868,"mutability":"mutable","name":"value","nameLocation":"9663:5:45","nodeType":"VariableDeclaration","scope":42921,"src":"9655:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42867,"name":"uint256","nodeType":"ElementaryTypeName","src":"9655:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":42870,"mutability":"mutable","name":"emitEvent","nameLocation":"9675:9:45","nodeType":"VariableDeclaration","scope":42921,"src":"9670:14:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42869,"name":"bool","nodeType":"ElementaryTypeName","src":"9670:4:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9622:63:45"},"returnParameters":{"id":42872,"nodeType":"ParameterList","parameters":[],"src":"9703:0:45"},"scope":42970,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":42969,"nodeType":"FunctionDefinition","src":"10319:476:45","nodes":[],"body":{"id":42968,"nodeType":"Block","src":"10408:387:45","nodes":[],"statements":[{"assignments":[42932],"declarations":[{"constant":false,"id":42932,"mutability":"mutable","name":"currentAllowance","nameLocation":"10426:16:45","nodeType":"VariableDeclaration","scope":42968,"src":"10418:24:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42931,"name":"uint256","nodeType":"ElementaryTypeName","src":"10418:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":42937,"initialValue":{"arguments":[{"id":42934,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42924,"src":"10455:5:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42935,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42926,"src":"10462:7:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":42933,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42597,"src":"10445:9:45","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":42936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10445:25:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10418:52:45"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42938,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42932,"src":"10484:16:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"arguments":[{"id":42941,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10508:7:45","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":42940,"name":"uint256","nodeType":"ElementaryTypeName","src":"10508:7:45","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":42939,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"10503:4:45","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":42942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10503:13:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":42943,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10517:3:45","memberName":"max","nodeType":"MemberAccess","src":"10503:17:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10484:36:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42967,"nodeType":"IfStatement","src":"10480:309:45","trueBody":{"id":42966,"nodeType":"Block","src":"10522:267:45","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42945,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42932,"src":"10540:16:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":42946,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42928,"src":"10559:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10540:24:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42955,"nodeType":"IfStatement","src":"10536:130:45","trueBody":{"id":42954,"nodeType":"Block","src":"10566:100:45","statements":[{"errorCall":{"arguments":[{"id":42949,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42926,"src":"10618:7:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42950,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42932,"src":"10627:16:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":42951,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42928,"src":"10645:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":42948,"name":"ERC20InsufficientAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41600,"src":"10591:26:45","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$_t_uint256_$returns$_t_error_$","typeString":"function (address,uint256,uint256) pure returns (error)"}},"id":42952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10591:60:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":42953,"nodeType":"RevertStatement","src":"10584:67:45"}]}},{"id":42965,"nodeType":"UncheckedBlock","src":"10679:100:45","statements":[{"expression":{"arguments":[{"id":42957,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42924,"src":"10716:5:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":42958,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42926,"src":"10723:7:45","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42959,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42932,"src":"10732:16:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":42960,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42928,"src":"10751:5:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10732:24:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":42962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10758:5:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":42956,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[42861,42921],"referencedDeclaration":42921,"src":"10707:8:45","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (address,address,uint256,bool)"}},"id":42963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10707:57:45","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":42964,"nodeType":"ExpressionStatement","src":"10707:57:45"}]}]}}]},"documentation":{"id":42922,"nodeType":"StructuredDocumentation","src":"10043:271:45","text":" @dev Updates `owner`'s allowance for `spender` based on spent `value`.\n Does not update the allowance value in case of infinite allowance.\n Revert if not enough allowance is available.\n Does not emit an {Approval} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_spendAllowance","nameLocation":"10328:15:45","parameters":{"id":42929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42924,"mutability":"mutable","name":"owner","nameLocation":"10352:5:45","nodeType":"VariableDeclaration","scope":42969,"src":"10344:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42923,"name":"address","nodeType":"ElementaryTypeName","src":"10344:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42926,"mutability":"mutable","name":"spender","nameLocation":"10367:7:45","nodeType":"VariableDeclaration","scope":42969,"src":"10359:15:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42925,"name":"address","nodeType":"ElementaryTypeName","src":"10359:7:45","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42928,"mutability":"mutable","name":"value","nameLocation":"10384:5:45","nodeType":"VariableDeclaration","scope":42969,"src":"10376:13:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42927,"name":"uint256","nodeType":"ElementaryTypeName","src":"10376:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10343:47:45"},"returnParameters":{"id":42930,"nodeType":"ParameterList","parameters":[],"src":"10408:0:45"},"scope":42970,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":42467,"name":"Context","nameLocations":["1133:7:45"],"nodeType":"IdentifierPath","referencedDeclaration":44838,"src":"1133:7:45"},"id":42468,"nodeType":"InheritanceSpecifier","src":"1133:7:45"},{"baseName":{"id":42469,"name":"IERC20","nameLocations":["1142:6:45"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"1142:6:45"},"id":42470,"nodeType":"InheritanceSpecifier","src":"1142:6:45"},{"baseName":{"id":42471,"name":"IERC20Metadata","nameLocations":["1150:14:45"],"nodeType":"IdentifierPath","referencedDeclaration":43074,"src":"1150:14:45"},"id":42472,"nodeType":"InheritanceSpecifier","src":"1150:14:45"},{"baseName":{"id":42473,"name":"IERC20Errors","nameLocations":["1166:12:45"],"nodeType":"IdentifierPath","referencedDeclaration":41611,"src":"1166:12:45"},"id":42474,"nodeType":"InheritanceSpecifier","src":"1166:12:45"}],"canonicalName":"ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":42466,"nodeType":"StructuredDocumentation","src":"348:757:45","text":" @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n TIP: For a detailed writeup see our guide\n https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n The default value of {decimals} is 18. To change this, you should override\n this function so it returns a different value.\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC-20\n applications."},"fullyImplemented":true,"linearizedBaseContracts":[42970,41611,43074,43048,44838],"name":"ERC20","nameLocation":"1124:5:45","scope":42971,"usedErrors":[41581,41586,41591,41600,41605,41610],"usedEvents":[42982,42991]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"id":46,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","id":43049,"exportedSymbols":{"IERC20":[43048]},"nodeType":"SourceUnit","src":"106:2675:46","nodes":[{"id":42972,"nodeType":"PragmaDirective","src":"106:25:46","nodes":[],"literals":["solidity",">=","0.4",".16"]},{"id":43048,"nodeType":"ContractDefinition","src":"205:2575:46","nodes":[{"id":42982,"nodeType":"EventDefinition","src":"391:72:46","nodes":[],"anonymous":false,"documentation":{"id":42974,"nodeType":"StructuredDocumentation","src":"228:158:46","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"397:8:46","parameters":{"id":42981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42976,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"422:4:46","nodeType":"VariableDeclaration","scope":42982,"src":"406:20:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42975,"name":"address","nodeType":"ElementaryTypeName","src":"406:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42978,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"444:2:46","nodeType":"VariableDeclaration","scope":42982,"src":"428:18:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42977,"name":"address","nodeType":"ElementaryTypeName","src":"428:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42980,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"456:5:46","nodeType":"VariableDeclaration","scope":42982,"src":"448:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42979,"name":"uint256","nodeType":"ElementaryTypeName","src":"448:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"405:57:46"}},{"id":42991,"nodeType":"EventDefinition","src":"622:78:46","nodes":[],"anonymous":false,"documentation":{"id":42983,"nodeType":"StructuredDocumentation","src":"469:148:46","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"628:8:46","parameters":{"id":42990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42985,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"653:5:46","nodeType":"VariableDeclaration","scope":42991,"src":"637:21:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42984,"name":"address","nodeType":"ElementaryTypeName","src":"637:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42987,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"676:7:46","nodeType":"VariableDeclaration","scope":42991,"src":"660:23:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42986,"name":"address","nodeType":"ElementaryTypeName","src":"660:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42989,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"693:5:46","nodeType":"VariableDeclaration","scope":42991,"src":"685:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42988,"name":"uint256","nodeType":"ElementaryTypeName","src":"685:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"636:63:46"}},{"id":42997,"nodeType":"FunctionDefinition","src":"776:55:46","nodes":[],"documentation":{"id":42992,"nodeType":"StructuredDocumentation","src":"706:65:46","text":" @dev Returns the value of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"785:11:46","parameters":{"id":42993,"nodeType":"ParameterList","parameters":[],"src":"796:2:46"},"returnParameters":{"id":42996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42995,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42997,"src":"822:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42994,"name":"uint256","nodeType":"ElementaryTypeName","src":"822:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"821:9:46"},"scope":43048,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":43005,"nodeType":"FunctionDefinition","src":"913:68:46","nodes":[],"documentation":{"id":42998,"nodeType":"StructuredDocumentation","src":"837:71:46","text":" @dev Returns the value of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"922:9:46","parameters":{"id":43001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43000,"mutability":"mutable","name":"account","nameLocation":"940:7:46","nodeType":"VariableDeclaration","scope":43005,"src":"932:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42999,"name":"address","nodeType":"ElementaryTypeName","src":"932:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"931:17:46"},"returnParameters":{"id":43004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43003,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43005,"src":"972:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43002,"name":"uint256","nodeType":"ElementaryTypeName","src":"972:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"971:9:46"},"scope":43048,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":43015,"nodeType":"FunctionDefinition","src":"1205:69:46","nodes":[],"documentation":{"id":43006,"nodeType":"StructuredDocumentation","src":"987:213:46","text":" @dev Moves a `value` amount of tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1214:8:46","parameters":{"id":43011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43008,"mutability":"mutable","name":"to","nameLocation":"1231:2:46","nodeType":"VariableDeclaration","scope":43015,"src":"1223:10:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43007,"name":"address","nodeType":"ElementaryTypeName","src":"1223:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43010,"mutability":"mutable","name":"value","nameLocation":"1243:5:46","nodeType":"VariableDeclaration","scope":43015,"src":"1235:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43009,"name":"uint256","nodeType":"ElementaryTypeName","src":"1235:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1222:27:46"},"returnParameters":{"id":43014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43013,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43015,"src":"1268:4:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43012,"name":"bool","nodeType":"ElementaryTypeName","src":"1268:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1267:6:46"},"scope":43048,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43025,"nodeType":"FunctionDefinition","src":"1549:83:46","nodes":[],"documentation":{"id":43016,"nodeType":"StructuredDocumentation","src":"1280:264:46","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1558:9:46","parameters":{"id":43021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43018,"mutability":"mutable","name":"owner","nameLocation":"1576:5:46","nodeType":"VariableDeclaration","scope":43025,"src":"1568:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43017,"name":"address","nodeType":"ElementaryTypeName","src":"1568:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43020,"mutability":"mutable","name":"spender","nameLocation":"1591:7:46","nodeType":"VariableDeclaration","scope":43025,"src":"1583:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43019,"name":"address","nodeType":"ElementaryTypeName","src":"1583:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1567:32:46"},"returnParameters":{"id":43024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43023,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43025,"src":"1623:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43022,"name":"uint256","nodeType":"ElementaryTypeName","src":"1623:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1622:9:46"},"scope":43048,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":43035,"nodeType":"FunctionDefinition","src":"2310:73:46","nodes":[],"documentation":{"id":43026,"nodeType":"StructuredDocumentation","src":"1638:667:46","text":" @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2319:7:46","parameters":{"id":43031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43028,"mutability":"mutable","name":"spender","nameLocation":"2335:7:46","nodeType":"VariableDeclaration","scope":43035,"src":"2327:15:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43027,"name":"address","nodeType":"ElementaryTypeName","src":"2327:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43030,"mutability":"mutable","name":"value","nameLocation":"2352:5:46","nodeType":"VariableDeclaration","scope":43035,"src":"2344:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43029,"name":"uint256","nodeType":"ElementaryTypeName","src":"2344:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2326:32:46"},"returnParameters":{"id":43034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43033,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43035,"src":"2377:4:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43032,"name":"bool","nodeType":"ElementaryTypeName","src":"2377:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2376:6:46"},"scope":43048,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43047,"nodeType":"FunctionDefinition","src":"2691:87:46","nodes":[],"documentation":{"id":43036,"nodeType":"StructuredDocumentation","src":"2389:297:46","text":" @dev Moves a `value` amount of tokens from `from` to `to` using the\n allowance mechanism. `value` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2700:12:46","parameters":{"id":43043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43038,"mutability":"mutable","name":"from","nameLocation":"2721:4:46","nodeType":"VariableDeclaration","scope":43047,"src":"2713:12:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43037,"name":"address","nodeType":"ElementaryTypeName","src":"2713:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43040,"mutability":"mutable","name":"to","nameLocation":"2735:2:46","nodeType":"VariableDeclaration","scope":43047,"src":"2727:10:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43039,"name":"address","nodeType":"ElementaryTypeName","src":"2727:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43042,"mutability":"mutable","name":"value","nameLocation":"2747:5:46","nodeType":"VariableDeclaration","scope":43047,"src":"2739:13:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43041,"name":"uint256","nodeType":"ElementaryTypeName","src":"2739:7:46","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2712:41:46"},"returnParameters":{"id":43046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43045,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43047,"src":"2772:4:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43044,"name":"bool","nodeType":"ElementaryTypeName","src":"2772:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2771:6:46"},"scope":43048,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":42973,"nodeType":"StructuredDocumentation","src":"133:71:46","text":" @dev Interface of the ERC-20 standard as defined in the ERC."},"fullyImplemented":false,"linearizedBaseContracts":[43048],"name":"IERC20","nameLocation":"215:6:46","scope":43049,"usedErrors":[],"usedEvents":[42982,42991]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"id":47,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","id":43075,"exportedSymbols":{"IERC20":[43048],"IERC20Metadata":[43074]},"nodeType":"SourceUnit","src":"125:559:47","nodes":[{"id":43050,"nodeType":"PragmaDirective","src":"125:24:47","nodes":[],"literals":["solidity",">=","0.6",".2"]},{"id":43052,"nodeType":"ImportDirective","src":"151:37:47","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","nameLocation":"-1:-1:-1","scope":43075,"sourceUnit":43049,"symbolAliases":[{"foreign":{"id":43051,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"159:6:47","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":43074,"nodeType":"ContractDefinition","src":"278:405:47","nodes":[{"id":43061,"nodeType":"FunctionDefinition","src":"378:54:47","nodes":[],"documentation":{"id":43056,"nodeType":"StructuredDocumentation","src":"319:54:47","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"387:4:47","parameters":{"id":43057,"nodeType":"ParameterList","parameters":[],"src":"391:2:47"},"returnParameters":{"id":43060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43059,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43061,"src":"417:13:47","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43058,"name":"string","nodeType":"ElementaryTypeName","src":"417:6:47","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"416:15:47"},"scope":43074,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":43067,"nodeType":"FunctionDefinition","src":"499:56:47","nodes":[],"documentation":{"id":43062,"nodeType":"StructuredDocumentation","src":"438:56:47","text":" @dev Returns the symbol of the token."},"functionSelector":"95d89b41","implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"508:6:47","parameters":{"id":43063,"nodeType":"ParameterList","parameters":[],"src":"514:2:47"},"returnParameters":{"id":43066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43065,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43067,"src":"540:13:47","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43064,"name":"string","nodeType":"ElementaryTypeName","src":"540:6:47","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"539:15:47"},"scope":43074,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":43073,"nodeType":"FunctionDefinition","src":"631:50:47","nodes":[],"documentation":{"id":43068,"nodeType":"StructuredDocumentation","src":"561:65:47","text":" @dev Returns the decimals places of the token."},"functionSelector":"313ce567","implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"640:8:47","parameters":{"id":43069,"nodeType":"ParameterList","parameters":[],"src":"648:2:47"},"returnParameters":{"id":43072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43071,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43073,"src":"674:5:47","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":43070,"name":"uint8","nodeType":"ElementaryTypeName","src":"674:5:47","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"673:7:47"},"scope":43074,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":43054,"name":"IERC20","nameLocations":["306:6:47"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"306:6:47"},"id":43055,"nodeType":"InheritanceSpecifier","src":"306:6:47"}],"canonicalName":"IERC20Metadata","contractDependencies":[],"contractKind":"interface","documentation":{"id":43053,"nodeType":"StructuredDocumentation","src":"190:87:47","text":" @dev Interface for the optional metadata functions from the ERC-20 standard."},"fullyImplemented":false,"linearizedBaseContracts":[43074,43048],"name":"IERC20Metadata","nameLocation":"288:14:47","scope":43075,"usedErrors":[],"usedEvents":[42982,42991]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"id":48,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","id":43539,"exportedSymbols":{"IERC1363":[41520],"IERC20":[43048],"SafeERC20":[43538]},"nodeType":"SourceUnit","src":"115:9960:48","nodes":[{"id":43076,"nodeType":"PragmaDirective","src":"115:24:48","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":43078,"nodeType":"ImportDirective","src":"141:37:48","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","nameLocation":"-1:-1:-1","scope":43539,"sourceUnit":43049,"symbolAliases":[{"foreign":{"id":43077,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"149:6:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":43080,"nodeType":"ImportDirective","src":"179:58:48","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol","file":"../../../interfaces/IERC1363.sol","nameLocation":"-1:-1:-1","scope":43539,"sourceUnit":41521,"symbolAliases":[{"foreign":{"id":43079,"name":"IERC1363","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41520,"src":"187:8:48","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":43538,"nodeType":"ContractDefinition","src":"698:9376:48","nodes":[{"id":43086,"nodeType":"ErrorDefinition","src":"792:46:48","nodes":[],"documentation":{"id":43082,"nodeType":"StructuredDocumentation","src":"722:65:48","text":" @dev An operation with an ERC-20 token failed."},"errorSelector":"5274afe7","name":"SafeERC20FailedOperation","nameLocation":"798:24:48","parameters":{"id":43085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43084,"mutability":"mutable","name":"token","nameLocation":"831:5:48","nodeType":"VariableDeclaration","scope":43086,"src":"823:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43083,"name":"address","nodeType":"ElementaryTypeName","src":"823:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"822:15:48"}},{"id":43095,"nodeType":"ErrorDefinition","src":"920:109:48","nodes":[],"documentation":{"id":43087,"nodeType":"StructuredDocumentation","src":"844:71:48","text":" @dev Indicates a failed `decreaseAllowance` request."},"errorSelector":"e570110f","name":"SafeERC20FailedDecreaseAllowance","nameLocation":"926:32:48","parameters":{"id":43094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43089,"mutability":"mutable","name":"spender","nameLocation":"967:7:48","nodeType":"VariableDeclaration","scope":43095,"src":"959:15:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43088,"name":"address","nodeType":"ElementaryTypeName","src":"959:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43091,"mutability":"mutable","name":"currentAllowance","nameLocation":"984:16:48","nodeType":"VariableDeclaration","scope":43095,"src":"976:24:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43090,"name":"uint256","nodeType":"ElementaryTypeName","src":"976:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43093,"mutability":"mutable","name":"requestedDecrease","nameLocation":"1010:17:48","nodeType":"VariableDeclaration","scope":43095,"src":"1002:25:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43092,"name":"uint256","nodeType":"ElementaryTypeName","src":"1002:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"958:70:48"}},{"id":43119,"nodeType":"FunctionDefinition","src":"1219:160:48","nodes":[],"body":{"id":43118,"nodeType":"Block","src":"1291:88:48","nodes":[],"statements":[{"expression":{"arguments":[{"id":43107,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43099,"src":"1321:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"arguments":[{"expression":{"id":43110,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43099,"src":"1343:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"id":43111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1349:8:48","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":43015,"src":"1343:14:48","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},{"components":[{"id":43112,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43101,"src":"1360:2:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43113,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43103,"src":"1364:5:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":43114,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1359:11:48","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint256_$","typeString":"tuple(address,uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"},{"typeIdentifier":"t_tuple$_t_address_$_t_uint256_$","typeString":"tuple(address,uint256)"}],"expression":{"id":43108,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1328:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43109,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1332:10:48","memberName":"encodeCall","nodeType":"MemberAccess","src":"1328:14:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":43115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1328:43:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43106,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43496,"src":"1301:19:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$43048_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":43116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1301:71:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43117,"nodeType":"ExpressionStatement","src":"1301:71:48"}]},"documentation":{"id":43096,"nodeType":"StructuredDocumentation","src":"1035:179:48","text":" @dev Transfer `value` amount of `token` from the calling contract to `to`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeTransfer","nameLocation":"1228:12:48","parameters":{"id":43104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43099,"mutability":"mutable","name":"token","nameLocation":"1248:5:48","nodeType":"VariableDeclaration","scope":43119,"src":"1241:12:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},"typeName":{"id":43098,"nodeType":"UserDefinedTypeName","pathNode":{"id":43097,"name":"IERC20","nameLocations":["1241:6:48"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"1241:6:48"},"referencedDeclaration":43048,"src":"1241:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":43101,"mutability":"mutable","name":"to","nameLocation":"1263:2:48","nodeType":"VariableDeclaration","scope":43119,"src":"1255:10:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43100,"name":"address","nodeType":"ElementaryTypeName","src":"1255:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43103,"mutability":"mutable","name":"value","nameLocation":"1275:5:48","nodeType":"VariableDeclaration","scope":43119,"src":"1267:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43102,"name":"uint256","nodeType":"ElementaryTypeName","src":"1267:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1240:41:48"},"returnParameters":{"id":43105,"nodeType":"ParameterList","parameters":[],"src":"1291:0:48"},"scope":43538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":43146,"nodeType":"FunctionDefinition","src":"1618:188:48","nodes":[],"body":{"id":43145,"nodeType":"Block","src":"1708:98:48","nodes":[],"statements":[{"expression":{"arguments":[{"id":43133,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43123,"src":"1738:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"arguments":[{"expression":{"id":43136,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43123,"src":"1760:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"id":43137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1766:12:48","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":43047,"src":"1760:18:48","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},{"components":[{"id":43138,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43125,"src":"1781:4:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43139,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43127,"src":"1787:2:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43140,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43129,"src":"1791:5:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":43141,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1780:17:48","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_uint256_$","typeString":"tuple(address,address,uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"},{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_uint256_$","typeString":"tuple(address,address,uint256)"}],"expression":{"id":43134,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1745:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43135,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1749:10:48","memberName":"encodeCall","nodeType":"MemberAccess","src":"1745:14:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":43142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1745:53:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43132,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43496,"src":"1718:19:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$43048_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":43143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1718:81:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43144,"nodeType":"ExpressionStatement","src":"1718:81:48"}]},"documentation":{"id":43120,"nodeType":"StructuredDocumentation","src":"1385:228:48","text":" @dev Transfer `value` amount of `token` from `from` to `to`, spending the approval given by `from` to the\n calling contract. If `token` returns no value, non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"1627:16:48","parameters":{"id":43130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43123,"mutability":"mutable","name":"token","nameLocation":"1651:5:48","nodeType":"VariableDeclaration","scope":43146,"src":"1644:12:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},"typeName":{"id":43122,"nodeType":"UserDefinedTypeName","pathNode":{"id":43121,"name":"IERC20","nameLocations":["1644:6:48"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"1644:6:48"},"referencedDeclaration":43048,"src":"1644:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":43125,"mutability":"mutable","name":"from","nameLocation":"1666:4:48","nodeType":"VariableDeclaration","scope":43146,"src":"1658:12:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43124,"name":"address","nodeType":"ElementaryTypeName","src":"1658:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43127,"mutability":"mutable","name":"to","nameLocation":"1680:2:48","nodeType":"VariableDeclaration","scope":43146,"src":"1672:10:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43126,"name":"address","nodeType":"ElementaryTypeName","src":"1672:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43129,"mutability":"mutable","name":"value","nameLocation":"1692:5:48","nodeType":"VariableDeclaration","scope":43146,"src":"1684:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43128,"name":"uint256","nodeType":"ElementaryTypeName","src":"1684:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1643:55:48"},"returnParameters":{"id":43131,"nodeType":"ParameterList","parameters":[],"src":"1708:0:48"},"scope":43538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":43172,"nodeType":"FunctionDefinition","src":"1943:189:48","nodes":[],"body":{"id":43171,"nodeType":"Block","src":"2033:99:48","nodes":[],"statements":[{"expression":{"arguments":[{"id":43160,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43150,"src":"2074:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"arguments":[{"expression":{"id":43163,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43150,"src":"2096:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"id":43164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2102:8:48","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":43015,"src":"2096:14:48","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},{"components":[{"id":43165,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43152,"src":"2113:2:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43166,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43154,"src":"2117:5:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":43167,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2112:11:48","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint256_$","typeString":"tuple(address,uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"},{"typeIdentifier":"t_tuple$_t_address_$_t_uint256_$","typeString":"tuple(address,uint256)"}],"expression":{"id":43161,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2081:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43162,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2085:10:48","memberName":"encodeCall","nodeType":"MemberAccess","src":"2081:14:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":43168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2081:43:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43159,"name":"_callOptionalReturnBool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43537,"src":"2050:23:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$43048_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (contract IERC20,bytes memory) returns (bool)"}},"id":43169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2050:75:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":43158,"id":43170,"nodeType":"Return","src":"2043:82:48"}]},"documentation":{"id":43147,"nodeType":"StructuredDocumentation","src":"1812:126:48","text":" @dev Variant of {safeTransfer} that returns a bool instead of reverting if the operation is not successful."},"implemented":true,"kind":"function","modifiers":[],"name":"trySafeTransfer","nameLocation":"1952:15:48","parameters":{"id":43155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43150,"mutability":"mutable","name":"token","nameLocation":"1975:5:48","nodeType":"VariableDeclaration","scope":43172,"src":"1968:12:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},"typeName":{"id":43149,"nodeType":"UserDefinedTypeName","pathNode":{"id":43148,"name":"IERC20","nameLocations":["1968:6:48"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"1968:6:48"},"referencedDeclaration":43048,"src":"1968:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":43152,"mutability":"mutable","name":"to","nameLocation":"1990:2:48","nodeType":"VariableDeclaration","scope":43172,"src":"1982:10:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43151,"name":"address","nodeType":"ElementaryTypeName","src":"1982:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43154,"mutability":"mutable","name":"value","nameLocation":"2002:5:48","nodeType":"VariableDeclaration","scope":43172,"src":"1994:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43153,"name":"uint256","nodeType":"ElementaryTypeName","src":"1994:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1967:41:48"},"returnParameters":{"id":43158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43157,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43172,"src":"2027:4:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43156,"name":"bool","nodeType":"ElementaryTypeName","src":"2027:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2026:6:48"},"scope":43538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":43201,"nodeType":"FunctionDefinition","src":"2273:217:48","nodes":[],"body":{"id":43200,"nodeType":"Block","src":"2381:109:48","nodes":[],"statements":[{"expression":{"arguments":[{"id":43188,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43176,"src":"2422:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"arguments":[{"expression":{"id":43191,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43176,"src":"2444:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"id":43192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2450:12:48","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":43047,"src":"2444:18:48","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},{"components":[{"id":43193,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43178,"src":"2465:4:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43194,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43180,"src":"2471:2:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43195,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43182,"src":"2475:5:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":43196,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2464:17:48","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_uint256_$","typeString":"tuple(address,address,uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"},{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_uint256_$","typeString":"tuple(address,address,uint256)"}],"expression":{"id":43189,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2429:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2433:10:48","memberName":"encodeCall","nodeType":"MemberAccess","src":"2429:14:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":43197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2429:53:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43187,"name":"_callOptionalReturnBool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43537,"src":"2398:23:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$43048_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (contract IERC20,bytes memory) returns (bool)"}},"id":43198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2398:85:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":43186,"id":43199,"nodeType":"Return","src":"2391:92:48"}]},"documentation":{"id":43173,"nodeType":"StructuredDocumentation","src":"2138:130:48","text":" @dev Variant of {safeTransferFrom} that returns a bool instead of reverting if the operation is not successful."},"implemented":true,"kind":"function","modifiers":[],"name":"trySafeTransferFrom","nameLocation":"2282:19:48","parameters":{"id":43183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43176,"mutability":"mutable","name":"token","nameLocation":"2309:5:48","nodeType":"VariableDeclaration","scope":43201,"src":"2302:12:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},"typeName":{"id":43175,"nodeType":"UserDefinedTypeName","pathNode":{"id":43174,"name":"IERC20","nameLocations":["2302:6:48"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"2302:6:48"},"referencedDeclaration":43048,"src":"2302:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":43178,"mutability":"mutable","name":"from","nameLocation":"2324:4:48","nodeType":"VariableDeclaration","scope":43201,"src":"2316:12:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43177,"name":"address","nodeType":"ElementaryTypeName","src":"2316:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43180,"mutability":"mutable","name":"to","nameLocation":"2338:2:48","nodeType":"VariableDeclaration","scope":43201,"src":"2330:10:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43179,"name":"address","nodeType":"ElementaryTypeName","src":"2330:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43182,"mutability":"mutable","name":"value","nameLocation":"2350:5:48","nodeType":"VariableDeclaration","scope":43201,"src":"2342:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43181,"name":"uint256","nodeType":"ElementaryTypeName","src":"2342:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2301:55:48"},"returnParameters":{"id":43186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43185,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43201,"src":"2375:4:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43184,"name":"bool","nodeType":"ElementaryTypeName","src":"2375:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2374:6:48"},"scope":43538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":43232,"nodeType":"FunctionDefinition","src":"3146:225:48","nodes":[],"body":{"id":43231,"nodeType":"Block","src":"3232:139:48","nodes":[],"statements":[{"assignments":[43213],"declarations":[{"constant":false,"id":43213,"mutability":"mutable","name":"oldAllowance","nameLocation":"3250:12:48","nodeType":"VariableDeclaration","scope":43231,"src":"3242:20:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43212,"name":"uint256","nodeType":"ElementaryTypeName","src":"3242:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43222,"initialValue":{"arguments":[{"arguments":[{"id":43218,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3289:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$43538","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$43538","typeString":"library SafeERC20"}],"id":43217,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3281:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":43216,"name":"address","nodeType":"ElementaryTypeName","src":"3281:7:48","typeDescriptions":{}}},"id":43219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3281:13:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43220,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43207,"src":"3296:7:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":43214,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43205,"src":"3265:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"id":43215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3271:9:48","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":43025,"src":"3265:15:48","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":43221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3265:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3242:62:48"},{"expression":{"arguments":[{"id":43224,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43205,"src":"3327:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"id":43225,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43207,"src":"3334:7:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43226,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43213,"src":"3343:12:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":43227,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43209,"src":"3358:5:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3343:20:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43223,"name":"forceApprove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43322,"src":"3314:12:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$43048_$_t_address_$_t_uint256_$returns$__$","typeString":"function (contract IERC20,address,uint256)"}},"id":43229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3314:50:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43230,"nodeType":"ExpressionStatement","src":"3314:50:48"}]},"documentation":{"id":43202,"nodeType":"StructuredDocumentation","src":"2496:645:48","text":" @dev Increase the calling contract's allowance toward `spender` by `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful.\n IMPORTANT: If the token implements ERC-7674 (ERC-20 with temporary allowance), and if the \"client\"\n smart contract uses ERC-7674 to set temporary allowances, then the \"client\" smart contract should avoid using\n this function. Performing a {safeIncreaseAllowance} or {safeDecreaseAllowance} operation on a token contract\n that has a non-zero temporary allowance (for that particular owner-spender) will result in unexpected behavior."},"implemented":true,"kind":"function","modifiers":[],"name":"safeIncreaseAllowance","nameLocation":"3155:21:48","parameters":{"id":43210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43205,"mutability":"mutable","name":"token","nameLocation":"3184:5:48","nodeType":"VariableDeclaration","scope":43232,"src":"3177:12:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},"typeName":{"id":43204,"nodeType":"UserDefinedTypeName","pathNode":{"id":43203,"name":"IERC20","nameLocations":["3177:6:48"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"3177:6:48"},"referencedDeclaration":43048,"src":"3177:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":43207,"mutability":"mutable","name":"spender","nameLocation":"3199:7:48","nodeType":"VariableDeclaration","scope":43232,"src":"3191:15:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43206,"name":"address","nodeType":"ElementaryTypeName","src":"3191:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43209,"mutability":"mutable","name":"value","nameLocation":"3216:5:48","nodeType":"VariableDeclaration","scope":43232,"src":"3208:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43208,"name":"uint256","nodeType":"ElementaryTypeName","src":"3208:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3176:46:48"},"returnParameters":{"id":43211,"nodeType":"ParameterList","parameters":[],"src":"3232:0:48"},"scope":43538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":43275,"nodeType":"FunctionDefinition","src":"4039:468:48","nodes":[],"body":{"id":43274,"nodeType":"Block","src":"4137:370:48","nodes":[],"statements":[{"id":43273,"nodeType":"UncheckedBlock","src":"4147:354:48","statements":[{"assignments":[43244],"declarations":[{"constant":false,"id":43244,"mutability":"mutable","name":"currentAllowance","nameLocation":"4179:16:48","nodeType":"VariableDeclaration","scope":43273,"src":"4171:24:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43243,"name":"uint256","nodeType":"ElementaryTypeName","src":"4171:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43253,"initialValue":{"arguments":[{"arguments":[{"id":43249,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4222:4:48","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$43538","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$43538","typeString":"library SafeERC20"}],"id":43248,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4214:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":43247,"name":"address","nodeType":"ElementaryTypeName","src":"4214:7:48","typeDescriptions":{}}},"id":43250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4214:13:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43251,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43238,"src":"4229:7:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":43245,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43236,"src":"4198:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"id":43246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4204:9:48","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":43025,"src":"4198:15:48","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":43252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4198:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4171:66:48"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43254,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43244,"src":"4255:16:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":43255,"name":"requestedDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43240,"src":"4274:17:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4255:36:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43264,"nodeType":"IfStatement","src":"4251:160:48","trueBody":{"id":43263,"nodeType":"Block","src":"4293:118:48","statements":[{"errorCall":{"arguments":[{"id":43258,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43238,"src":"4351:7:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43259,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43244,"src":"4360:16:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43260,"name":"requestedDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43240,"src":"4378:17:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43257,"name":"SafeERC20FailedDecreaseAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43095,"src":"4318:32:48","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$_t_uint256_$returns$_t_error_$","typeString":"function (address,uint256,uint256) pure returns (error)"}},"id":43261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4318:78:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":43262,"nodeType":"RevertStatement","src":"4311:85:48"}]}},{"expression":{"arguments":[{"id":43266,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43236,"src":"4437:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"id":43267,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43238,"src":"4444:7:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43268,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43244,"src":"4453:16:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":43269,"name":"requestedDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43240,"src":"4472:17:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4453:36:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43265,"name":"forceApprove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43322,"src":"4424:12:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$43048_$_t_address_$_t_uint256_$returns$__$","typeString":"function (contract IERC20,address,uint256)"}},"id":43271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4424:66:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43272,"nodeType":"ExpressionStatement","src":"4424:66:48"}]}]},"documentation":{"id":43233,"nodeType":"StructuredDocumentation","src":"3377:657:48","text":" @dev Decrease the calling contract's allowance toward `spender` by `requestedDecrease`. If `token` returns no\n value, non-reverting calls are assumed to be successful.\n IMPORTANT: If the token implements ERC-7674 (ERC-20 with temporary allowance), and if the \"client\"\n smart contract uses ERC-7674 to set temporary allowances, then the \"client\" smart contract should avoid using\n this function. Performing a {safeIncreaseAllowance} or {safeDecreaseAllowance} operation on a token contract\n that has a non-zero temporary allowance (for that particular owner-spender) will result in unexpected behavior."},"implemented":true,"kind":"function","modifiers":[],"name":"safeDecreaseAllowance","nameLocation":"4048:21:48","parameters":{"id":43241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43236,"mutability":"mutable","name":"token","nameLocation":"4077:5:48","nodeType":"VariableDeclaration","scope":43275,"src":"4070:12:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},"typeName":{"id":43235,"nodeType":"UserDefinedTypeName","pathNode":{"id":43234,"name":"IERC20","nameLocations":["4070:6:48"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"4070:6:48"},"referencedDeclaration":43048,"src":"4070:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":43238,"mutability":"mutable","name":"spender","nameLocation":"4092:7:48","nodeType":"VariableDeclaration","scope":43275,"src":"4084:15:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43237,"name":"address","nodeType":"ElementaryTypeName","src":"4084:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43240,"mutability":"mutable","name":"requestedDecrease","nameLocation":"4109:17:48","nodeType":"VariableDeclaration","scope":43275,"src":"4101:25:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43239,"name":"uint256","nodeType":"ElementaryTypeName","src":"4101:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4069:58:48"},"returnParameters":{"id":43242,"nodeType":"ParameterList","parameters":[],"src":"4137:0:48"},"scope":43538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":43322,"nodeType":"FunctionDefinition","src":"5084:380:48","nodes":[],"body":{"id":43321,"nodeType":"Block","src":"5161:303:48","nodes":[],"statements":[{"assignments":[43287],"declarations":[{"constant":false,"id":43287,"mutability":"mutable","name":"approvalCall","nameLocation":"5184:12:48","nodeType":"VariableDeclaration","scope":43321,"src":"5171:25:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43286,"name":"bytes","nodeType":"ElementaryTypeName","src":"5171:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":43296,"initialValue":{"arguments":[{"expression":{"id":43290,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43279,"src":"5214:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"id":43291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5220:7:48","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":43035,"src":"5214:13:48","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},{"components":[{"id":43292,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43281,"src":"5230:7:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43293,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43283,"src":"5239:5:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":43294,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5229:16:48","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint256_$","typeString":"tuple(address,uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"},{"typeIdentifier":"t_tuple$_t_address_$_t_uint256_$","typeString":"tuple(address,uint256)"}],"expression":{"id":43288,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5199:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43289,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5203:10:48","memberName":"encodeCall","nodeType":"MemberAccess","src":"5199:14:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":43295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5199:47:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5171:75:48"},{"condition":{"id":43301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5261:45:48","subExpression":{"arguments":[{"id":43298,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43279,"src":"5286:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"id":43299,"name":"approvalCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43287,"src":"5293:12:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43297,"name":"_callOptionalReturnBool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43537,"src":"5262:23:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$43048_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (contract IERC20,bytes memory) returns (bool)"}},"id":43300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5262:44:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43320,"nodeType":"IfStatement","src":"5257:201:48","trueBody":{"id":43319,"nodeType":"Block","src":"5308:150:48","statements":[{"expression":{"arguments":[{"id":43303,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43279,"src":"5342:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"arguments":[{"expression":{"id":43306,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43279,"src":"5364:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"id":43307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5370:7:48","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":43035,"src":"5364:13:48","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},{"components":[{"id":43308,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43281,"src":"5380:7:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":43309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5389:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":43310,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5379:12:48","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_rational_0_by_1_$","typeString":"tuple(address,int_const 0)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"},{"typeIdentifier":"t_tuple$_t_address_$_t_rational_0_by_1_$","typeString":"tuple(address,int_const 0)"}],"expression":{"id":43304,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5349:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43305,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5353:10:48","memberName":"encodeCall","nodeType":"MemberAccess","src":"5349:14:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":43311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5349:43:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43302,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43496,"src":"5322:19:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$43048_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":43312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5322:71:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43313,"nodeType":"ExpressionStatement","src":"5322:71:48"},{"expression":{"arguments":[{"id":43315,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43279,"src":"5427:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"id":43316,"name":"approvalCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43287,"src":"5434:12:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43314,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43496,"src":"5407:19:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$43048_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":43317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5407:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43318,"nodeType":"ExpressionStatement","src":"5407:40:48"}]}}]},"documentation":{"id":43276,"nodeType":"StructuredDocumentation","src":"4513:566:48","text":" @dev Set the calling contract's allowance toward `spender` to `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful. Meant to be used with tokens that require the approval\n to be set to zero before setting it to a non-zero value, such as USDT.\n NOTE: If the token implements ERC-7674, this function will not modify any temporary allowance. This function\n only sets the \"standard\" allowance. Any temporary allowance will remain active, in addition to the value being\n set here."},"implemented":true,"kind":"function","modifiers":[],"name":"forceApprove","nameLocation":"5093:12:48","parameters":{"id":43284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43279,"mutability":"mutable","name":"token","nameLocation":"5113:5:48","nodeType":"VariableDeclaration","scope":43322,"src":"5106:12:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},"typeName":{"id":43278,"nodeType":"UserDefinedTypeName","pathNode":{"id":43277,"name":"IERC20","nameLocations":["5106:6:48"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"5106:6:48"},"referencedDeclaration":43048,"src":"5106:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":43281,"mutability":"mutable","name":"spender","nameLocation":"5128:7:48","nodeType":"VariableDeclaration","scope":43322,"src":"5120:15:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43280,"name":"address","nodeType":"ElementaryTypeName","src":"5120:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43283,"mutability":"mutable","name":"value","nameLocation":"5145:5:48","nodeType":"VariableDeclaration","scope":43322,"src":"5137:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43282,"name":"uint256","nodeType":"ElementaryTypeName","src":"5137:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5105:46:48"},"returnParameters":{"id":43285,"nodeType":"ParameterList","parameters":[],"src":"5161:0:48"},"scope":43538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":43365,"nodeType":"FunctionDefinition","src":"5808:322:48","nodes":[],"body":{"id":43364,"nodeType":"Block","src":"5911:219:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":43335,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43328,"src":"5925:2:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":43336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5928:4:48","memberName":"code","nodeType":"MemberAccess","src":"5925:7:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5933:6:48","memberName":"length","nodeType":"MemberAccess","src":"5925:14:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":43338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5943:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5925:19:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"id":43353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6011:39:48","subExpression":{"arguments":[{"id":43349,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43328,"src":"6034:2:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43350,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43330,"src":"6038:5:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43351,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43332,"src":"6045:4:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":43347,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43326,"src":"6012:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$41520","typeString":"contract IERC1363"}},"id":43348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6018:15:48","memberName":"transferAndCall","nodeType":"MemberAccess","referencedDeclaration":41471,"src":"6012:21:48","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (address,uint256,bytes memory) external returns (bool)"}},"id":43352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6012:38:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43362,"nodeType":"IfStatement","src":"6007:117:48","trueBody":{"id":43361,"nodeType":"Block","src":"6052:72:48","statements":[{"errorCall":{"arguments":[{"arguments":[{"id":43357,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43326,"src":"6106:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$41520","typeString":"contract IERC1363"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC1363_$41520","typeString":"contract IERC1363"}],"id":43356,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6098:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":43355,"name":"address","nodeType":"ElementaryTypeName","src":"6098:7:48","typeDescriptions":{}}},"id":43358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6098:14:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":43354,"name":"SafeERC20FailedOperation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43086,"src":"6073:24:48","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":43359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6073:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":43360,"nodeType":"RevertStatement","src":"6066:47:48"}]}},"id":43363,"nodeType":"IfStatement","src":"5921:203:48","trueBody":{"id":43346,"nodeType":"Block","src":"5946:55:48","statements":[{"expression":{"arguments":[{"id":43341,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43326,"src":"5973:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$41520","typeString":"contract IERC1363"}},{"id":43342,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43328,"src":"5980:2:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43343,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43330,"src":"5984:5:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC1363_$41520","typeString":"contract IERC1363"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43340,"name":"safeTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43119,"src":"5960:12:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$43048_$_t_address_$_t_uint256_$returns$__$","typeString":"function (contract IERC20,address,uint256)"}},"id":43344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5960:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43345,"nodeType":"ExpressionStatement","src":"5960:30:48"}]}}]},"documentation":{"id":43323,"nodeType":"StructuredDocumentation","src":"5470:333:48","text":" @dev Performs an {ERC1363} transferAndCall, with a fallback to the simple {ERC20} transfer if the target has no\n code. This can be used to implement an {ERC721}-like safe transfer that rely on {ERC1363} checks when\n targeting contracts.\n Reverts if the returned value is other than `true`."},"implemented":true,"kind":"function","modifiers":[],"name":"transferAndCallRelaxed","nameLocation":"5817:22:48","parameters":{"id":43333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43326,"mutability":"mutable","name":"token","nameLocation":"5849:5:48","nodeType":"VariableDeclaration","scope":43365,"src":"5840:14:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$41520","typeString":"contract IERC1363"},"typeName":{"id":43325,"nodeType":"UserDefinedTypeName","pathNode":{"id":43324,"name":"IERC1363","nameLocations":["5840:8:48"],"nodeType":"IdentifierPath","referencedDeclaration":41520,"src":"5840:8:48"},"referencedDeclaration":41520,"src":"5840:8:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$41520","typeString":"contract IERC1363"}},"visibility":"internal"},{"constant":false,"id":43328,"mutability":"mutable","name":"to","nameLocation":"5864:2:48","nodeType":"VariableDeclaration","scope":43365,"src":"5856:10:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43327,"name":"address","nodeType":"ElementaryTypeName","src":"5856:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43330,"mutability":"mutable","name":"value","nameLocation":"5876:5:48","nodeType":"VariableDeclaration","scope":43365,"src":"5868:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43329,"name":"uint256","nodeType":"ElementaryTypeName","src":"5868:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43332,"mutability":"mutable","name":"data","nameLocation":"5896:4:48","nodeType":"VariableDeclaration","scope":43365,"src":"5883:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43331,"name":"bytes","nodeType":"ElementaryTypeName","src":"5883:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5839:62:48"},"returnParameters":{"id":43334,"nodeType":"ParameterList","parameters":[],"src":"5911:0:48"},"scope":43538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":43412,"nodeType":"FunctionDefinition","src":"6482:406:48","nodes":[],"body":{"id":43411,"nodeType":"Block","src":"6649:239:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":43380,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43373,"src":"6663:2:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":43381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6666:4:48","memberName":"code","nodeType":"MemberAccess","src":"6663:7:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6671:6:48","memberName":"length","nodeType":"MemberAccess","src":"6663:14:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":43383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6681:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6663:19:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"id":43400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6759:49:48","subExpression":{"arguments":[{"id":43395,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43371,"src":"6786:4:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43396,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43373,"src":"6792:2:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43397,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43375,"src":"6796:5:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43398,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43377,"src":"6803:4:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":43393,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43369,"src":"6760:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$41520","typeString":"contract IERC1363"}},"id":43394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6766:19:48","memberName":"transferFromAndCall","nodeType":"MemberAccess","referencedDeclaration":41497,"src":"6760:25:48","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (address,address,uint256,bytes memory) external returns (bool)"}},"id":43399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6760:48:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43409,"nodeType":"IfStatement","src":"6755:127:48","trueBody":{"id":43408,"nodeType":"Block","src":"6810:72:48","statements":[{"errorCall":{"arguments":[{"arguments":[{"id":43404,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43369,"src":"6864:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$41520","typeString":"contract IERC1363"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC1363_$41520","typeString":"contract IERC1363"}],"id":43403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6856:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":43402,"name":"address","nodeType":"ElementaryTypeName","src":"6856:7:48","typeDescriptions":{}}},"id":43405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6856:14:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":43401,"name":"SafeERC20FailedOperation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43086,"src":"6831:24:48","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":43406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6831:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":43407,"nodeType":"RevertStatement","src":"6824:47:48"}]}},"id":43410,"nodeType":"IfStatement","src":"6659:223:48","trueBody":{"id":43392,"nodeType":"Block","src":"6684:65:48","statements":[{"expression":{"arguments":[{"id":43386,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43369,"src":"6715:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$41520","typeString":"contract IERC1363"}},{"id":43387,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43371,"src":"6722:4:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43388,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43373,"src":"6728:2:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43389,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43375,"src":"6732:5:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC1363_$41520","typeString":"contract IERC1363"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43385,"name":"safeTransferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43146,"src":"6698:16:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$43048_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":43390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6698:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43391,"nodeType":"ExpressionStatement","src":"6698:40:48"}]}}]},"documentation":{"id":43366,"nodeType":"StructuredDocumentation","src":"6136:341:48","text":" @dev Performs an {ERC1363} transferFromAndCall, with a fallback to the simple {ERC20} transferFrom if the target\n has no code. This can be used to implement an {ERC721}-like safe transfer that rely on {ERC1363} checks when\n targeting contracts.\n Reverts if the returned value is other than `true`."},"implemented":true,"kind":"function","modifiers":[],"name":"transferFromAndCallRelaxed","nameLocation":"6491:26:48","parameters":{"id":43378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43369,"mutability":"mutable","name":"token","nameLocation":"6536:5:48","nodeType":"VariableDeclaration","scope":43412,"src":"6527:14:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$41520","typeString":"contract IERC1363"},"typeName":{"id":43368,"nodeType":"UserDefinedTypeName","pathNode":{"id":43367,"name":"IERC1363","nameLocations":["6527:8:48"],"nodeType":"IdentifierPath","referencedDeclaration":41520,"src":"6527:8:48"},"referencedDeclaration":41520,"src":"6527:8:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$41520","typeString":"contract IERC1363"}},"visibility":"internal"},{"constant":false,"id":43371,"mutability":"mutable","name":"from","nameLocation":"6559:4:48","nodeType":"VariableDeclaration","scope":43412,"src":"6551:12:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43370,"name":"address","nodeType":"ElementaryTypeName","src":"6551:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43373,"mutability":"mutable","name":"to","nameLocation":"6581:2:48","nodeType":"VariableDeclaration","scope":43412,"src":"6573:10:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43372,"name":"address","nodeType":"ElementaryTypeName","src":"6573:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43375,"mutability":"mutable","name":"value","nameLocation":"6601:5:48","nodeType":"VariableDeclaration","scope":43412,"src":"6593:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43374,"name":"uint256","nodeType":"ElementaryTypeName","src":"6593:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43377,"mutability":"mutable","name":"data","nameLocation":"6629:4:48","nodeType":"VariableDeclaration","scope":43412,"src":"6616:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43376,"name":"bytes","nodeType":"ElementaryTypeName","src":"6616:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6517:122:48"},"returnParameters":{"id":43379,"nodeType":"ParameterList","parameters":[],"src":"6649:0:48"},"scope":43538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":43455,"nodeType":"FunctionDefinition","src":"7553:320:48","nodes":[],"body":{"id":43454,"nodeType":"Block","src":"7655:218:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":43425,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43418,"src":"7669:2:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":43426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7672:4:48","memberName":"code","nodeType":"MemberAccess","src":"7669:7:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7677:6:48","memberName":"length","nodeType":"MemberAccess","src":"7669:14:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":43428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7687:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7669:19:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"id":43443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7755:38:48","subExpression":{"arguments":[{"id":43439,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43418,"src":"7777:2:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43440,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43420,"src":"7781:5:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43441,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43422,"src":"7788:4:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":43437,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43416,"src":"7756:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$41520","typeString":"contract IERC1363"}},"id":43438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7762:14:48","memberName":"approveAndCall","nodeType":"MemberAccess","referencedDeclaration":41519,"src":"7756:20:48","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (address,uint256,bytes memory) external returns (bool)"}},"id":43442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7756:37:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43452,"nodeType":"IfStatement","src":"7751:116:48","trueBody":{"id":43451,"nodeType":"Block","src":"7795:72:48","statements":[{"errorCall":{"arguments":[{"arguments":[{"id":43447,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43416,"src":"7849:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$41520","typeString":"contract IERC1363"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC1363_$41520","typeString":"contract IERC1363"}],"id":43446,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7841:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":43445,"name":"address","nodeType":"ElementaryTypeName","src":"7841:7:48","typeDescriptions":{}}},"id":43448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7841:14:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":43444,"name":"SafeERC20FailedOperation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43086,"src":"7816:24:48","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":43449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7816:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":43450,"nodeType":"RevertStatement","src":"7809:47:48"}]}},"id":43453,"nodeType":"IfStatement","src":"7665:202:48","trueBody":{"id":43436,"nodeType":"Block","src":"7690:55:48","statements":[{"expression":{"arguments":[{"id":43431,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43416,"src":"7717:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$41520","typeString":"contract IERC1363"}},{"id":43432,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43418,"src":"7724:2:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43433,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43420,"src":"7728:5:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC1363_$41520","typeString":"contract IERC1363"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":43430,"name":"forceApprove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43322,"src":"7704:12:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$43048_$_t_address_$_t_uint256_$returns$__$","typeString":"function (contract IERC20,address,uint256)"}},"id":43434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7704:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43435,"nodeType":"ExpressionStatement","src":"7704:30:48"}]}}]},"documentation":{"id":43413,"nodeType":"StructuredDocumentation","src":"6894:654:48","text":" @dev Performs an {ERC1363} approveAndCall, with a fallback to the simple {ERC20} approve if the target has no\n code. This can be used to implement an {ERC721}-like safe transfer that rely on {ERC1363} checks when\n targeting contracts.\n NOTE: When the recipient address (`to`) has no code (i.e. is an EOA), this function behaves as {forceApprove}.\n Opposedly, when the recipient address (`to`) has code, this function only attempts to call {ERC1363-approveAndCall}\n once without retrying, and relies on the returned value to be true.\n Reverts if the returned value is other than `true`."},"implemented":true,"kind":"function","modifiers":[],"name":"approveAndCallRelaxed","nameLocation":"7562:21:48","parameters":{"id":43423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43416,"mutability":"mutable","name":"token","nameLocation":"7593:5:48","nodeType":"VariableDeclaration","scope":43455,"src":"7584:14:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$41520","typeString":"contract IERC1363"},"typeName":{"id":43415,"nodeType":"UserDefinedTypeName","pathNode":{"id":43414,"name":"IERC1363","nameLocations":["7584:8:48"],"nodeType":"IdentifierPath","referencedDeclaration":41520,"src":"7584:8:48"},"referencedDeclaration":41520,"src":"7584:8:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC1363_$41520","typeString":"contract IERC1363"}},"visibility":"internal"},{"constant":false,"id":43418,"mutability":"mutable","name":"to","nameLocation":"7608:2:48","nodeType":"VariableDeclaration","scope":43455,"src":"7600:10:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43417,"name":"address","nodeType":"ElementaryTypeName","src":"7600:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43420,"mutability":"mutable","name":"value","nameLocation":"7620:5:48","nodeType":"VariableDeclaration","scope":43455,"src":"7612:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43419,"name":"uint256","nodeType":"ElementaryTypeName","src":"7612:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43422,"mutability":"mutable","name":"data","nameLocation":"7640:4:48","nodeType":"VariableDeclaration","scope":43455,"src":"7627:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43421,"name":"bytes","nodeType":"ElementaryTypeName","src":"7627:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7583:62:48"},"returnParameters":{"id":43424,"nodeType":"ParameterList","parameters":[],"src":"7655:0:48"},"scope":43538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":43496,"nodeType":"FunctionDefinition","src":"8370:720:48","nodes":[],"body":{"id":43495,"nodeType":"Block","src":"8440:650:48","nodes":[],"statements":[{"assignments":[43465],"declarations":[{"constant":false,"id":43465,"mutability":"mutable","name":"returnSize","nameLocation":"8458:10:48","nodeType":"VariableDeclaration","scope":43495,"src":"8450:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43464,"name":"uint256","nodeType":"ElementaryTypeName","src":"8450:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43466,"nodeType":"VariableDeclarationStatement","src":"8450:18:48"},{"assignments":[43468],"declarations":[{"constant":false,"id":43468,"mutability":"mutable","name":"returnValue","nameLocation":"8486:11:48","nodeType":"VariableDeclaration","scope":43495,"src":"8478:19:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43467,"name":"uint256","nodeType":"ElementaryTypeName","src":"8478:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43469,"nodeType":"VariableDeclarationStatement","src":"8478:19:48"},{"AST":{"nativeSrc":"8532:396:48","nodeType":"YulBlock","src":"8532:396:48","statements":[{"nativeSrc":"8546:75:48","nodeType":"YulVariableDeclaration","src":"8546:75:48","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"8566:3:48","nodeType":"YulIdentifier","src":"8566:3:48"},"nativeSrc":"8566:5:48","nodeType":"YulFunctionCall","src":"8566:5:48"},{"name":"token","nativeSrc":"8573:5:48","nodeType":"YulIdentifier","src":"8573:5:48"},{"kind":"number","nativeSrc":"8580:1:48","nodeType":"YulLiteral","src":"8580:1:48","type":"","value":"0"},{"arguments":[{"name":"data","nativeSrc":"8587:4:48","nodeType":"YulIdentifier","src":"8587:4:48"},{"kind":"number","nativeSrc":"8593:4:48","nodeType":"YulLiteral","src":"8593:4:48","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"8583:3:48","nodeType":"YulIdentifier","src":"8583:3:48"},"nativeSrc":"8583:15:48","nodeType":"YulFunctionCall","src":"8583:15:48"},{"arguments":[{"name":"data","nativeSrc":"8606:4:48","nodeType":"YulIdentifier","src":"8606:4:48"}],"functionName":{"name":"mload","nativeSrc":"8600:5:48","nodeType":"YulIdentifier","src":"8600:5:48"},"nativeSrc":"8600:11:48","nodeType":"YulFunctionCall","src":"8600:11:48"},{"kind":"number","nativeSrc":"8613:1:48","nodeType":"YulLiteral","src":"8613:1:48","type":"","value":"0"},{"kind":"number","nativeSrc":"8616:4:48","nodeType":"YulLiteral","src":"8616:4:48","type":"","value":"0x20"}],"functionName":{"name":"call","nativeSrc":"8561:4:48","nodeType":"YulIdentifier","src":"8561:4:48"},"nativeSrc":"8561:60:48","nodeType":"YulFunctionCall","src":"8561:60:48"},"variables":[{"name":"success","nativeSrc":"8550:7:48","nodeType":"YulTypedName","src":"8550:7:48","type":""}]},{"body":{"nativeSrc":"8682:157:48","nodeType":"YulBlock","src":"8682:157:48","statements":[{"nativeSrc":"8700:22:48","nodeType":"YulVariableDeclaration","src":"8700:22:48","value":{"arguments":[{"kind":"number","nativeSrc":"8717:4:48","nodeType":"YulLiteral","src":"8717:4:48","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"8711:5:48","nodeType":"YulIdentifier","src":"8711:5:48"},"nativeSrc":"8711:11:48","nodeType":"YulFunctionCall","src":"8711:11:48"},"variables":[{"name":"ptr","nativeSrc":"8704:3:48","nodeType":"YulTypedName","src":"8704:3:48","type":""}]},{"expression":{"arguments":[{"name":"ptr","nativeSrc":"8754:3:48","nodeType":"YulIdentifier","src":"8754:3:48"},{"kind":"number","nativeSrc":"8759:1:48","nodeType":"YulLiteral","src":"8759:1:48","type":"","value":"0"},{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"8762:14:48","nodeType":"YulIdentifier","src":"8762:14:48"},"nativeSrc":"8762:16:48","nodeType":"YulFunctionCall","src":"8762:16:48"}],"functionName":{"name":"returndatacopy","nativeSrc":"8739:14:48","nodeType":"YulIdentifier","src":"8739:14:48"},"nativeSrc":"8739:40:48","nodeType":"YulFunctionCall","src":"8739:40:48"},"nativeSrc":"8739:40:48","nodeType":"YulExpressionStatement","src":"8739:40:48"},{"expression":{"arguments":[{"name":"ptr","nativeSrc":"8803:3:48","nodeType":"YulIdentifier","src":"8803:3:48"},{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"8808:14:48","nodeType":"YulIdentifier","src":"8808:14:48"},"nativeSrc":"8808:16:48","nodeType":"YulFunctionCall","src":"8808:16:48"}],"functionName":{"name":"revert","nativeSrc":"8796:6:48","nodeType":"YulIdentifier","src":"8796:6:48"},"nativeSrc":"8796:29:48","nodeType":"YulFunctionCall","src":"8796:29:48"},"nativeSrc":"8796:29:48","nodeType":"YulExpressionStatement","src":"8796:29:48"}]},"condition":{"arguments":[{"name":"success","nativeSrc":"8673:7:48","nodeType":"YulIdentifier","src":"8673:7:48"}],"functionName":{"name":"iszero","nativeSrc":"8666:6:48","nodeType":"YulIdentifier","src":"8666:6:48"},"nativeSrc":"8666:15:48","nodeType":"YulFunctionCall","src":"8666:15:48"},"nativeSrc":"8663:176:48","nodeType":"YulIf","src":"8663:176:48"},{"nativeSrc":"8852:30:48","nodeType":"YulAssignment","src":"8852:30:48","value":{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"8866:14:48","nodeType":"YulIdentifier","src":"8866:14:48"},"nativeSrc":"8866:16:48","nodeType":"YulFunctionCall","src":"8866:16:48"},"variableNames":[{"name":"returnSize","nativeSrc":"8852:10:48","nodeType":"YulIdentifier","src":"8852:10:48"}]},{"nativeSrc":"8895:23:48","nodeType":"YulAssignment","src":"8895:23:48","value":{"arguments":[{"kind":"number","nativeSrc":"8916:1:48","nodeType":"YulLiteral","src":"8916:1:48","type":"","value":"0"}],"functionName":{"name":"mload","nativeSrc":"8910:5:48","nodeType":"YulIdentifier","src":"8910:5:48"},"nativeSrc":"8910:8:48","nodeType":"YulFunctionCall","src":"8910:8:48"},"variableNames":[{"name":"returnValue","nativeSrc":"8895:11:48","nodeType":"YulIdentifier","src":"8895:11:48"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":43461,"isOffset":false,"isSlot":false,"src":"8587:4:48","valueSize":1},{"declaration":43461,"isOffset":false,"isSlot":false,"src":"8606:4:48","valueSize":1},{"declaration":43465,"isOffset":false,"isSlot":false,"src":"8852:10:48","valueSize":1},{"declaration":43468,"isOffset":false,"isSlot":false,"src":"8895:11:48","valueSize":1},{"declaration":43459,"isOffset":false,"isSlot":false,"src":"8573:5:48","valueSize":1}],"flags":["memory-safe"],"id":43470,"nodeType":"InlineAssembly","src":"8507:421:48"},{"condition":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43471,"name":"returnSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43465,"src":"8942:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":43472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8956:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8942:15:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43482,"name":"returnValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43468,"src":"8994:11:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"31","id":43483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9009:1:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8994:16:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"8942:68:48","trueExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"arguments":[{"id":43476,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43459,"src":"8968:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}],"id":43475,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8960:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":43474,"name":"address","nodeType":"ElementaryTypeName","src":"8960:7:48","typeDescriptions":{}}},"id":43477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8960:14:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":43478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8975:4:48","memberName":"code","nodeType":"MemberAccess","src":"8960:19:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8980:6:48","memberName":"length","nodeType":"MemberAccess","src":"8960:26:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":43480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8990:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8960:31:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43494,"nodeType":"IfStatement","src":"8938:146:48","trueBody":{"id":43493,"nodeType":"Block","src":"9012:72:48","statements":[{"errorCall":{"arguments":[{"arguments":[{"id":43489,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43459,"src":"9066:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}],"id":43488,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9058:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":43487,"name":"address","nodeType":"ElementaryTypeName","src":"9058:7:48","typeDescriptions":{}}},"id":43490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9058:14:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":43486,"name":"SafeERC20FailedOperation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43086,"src":"9033:24:48","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":43491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9033:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":43492,"nodeType":"RevertStatement","src":"9026:47:48"}]}}]},"documentation":{"id":43456,"nodeType":"StructuredDocumentation","src":"7879:486:48","text":" @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n on the return value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param data The call data (encoded using abi.encode or one of its variants).\n This is a variant of {_callOptionalReturnBool} that reverts if call fails to meet the requirements."},"implemented":true,"kind":"function","modifiers":[],"name":"_callOptionalReturn","nameLocation":"8379:19:48","parameters":{"id":43462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43459,"mutability":"mutable","name":"token","nameLocation":"8406:5:48","nodeType":"VariableDeclaration","scope":43496,"src":"8399:12:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},"typeName":{"id":43458,"nodeType":"UserDefinedTypeName","pathNode":{"id":43457,"name":"IERC20","nameLocations":["8399:6:48"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"8399:6:48"},"referencedDeclaration":43048,"src":"8399:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":43461,"mutability":"mutable","name":"data","nameLocation":"8426:4:48","nodeType":"VariableDeclaration","scope":43496,"src":"8413:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43460,"name":"bytes","nodeType":"ElementaryTypeName","src":"8413:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8398:33:48"},"returnParameters":{"id":43463,"nodeType":"ParameterList","parameters":[],"src":"8440:0:48"},"scope":43538,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":43537,"nodeType":"FunctionDefinition","src":"9592:480:48","nodes":[],"body":{"id":43536,"nodeType":"Block","src":"9681:391:48","nodes":[],"statements":[{"assignments":[43508],"declarations":[{"constant":false,"id":43508,"mutability":"mutable","name":"success","nameLocation":"9696:7:48","nodeType":"VariableDeclaration","scope":43536,"src":"9691:12:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43507,"name":"bool","nodeType":"ElementaryTypeName","src":"9691:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":43509,"nodeType":"VariableDeclarationStatement","src":"9691:12:48"},{"assignments":[43511],"declarations":[{"constant":false,"id":43511,"mutability":"mutable","name":"returnSize","nameLocation":"9721:10:48","nodeType":"VariableDeclaration","scope":43536,"src":"9713:18:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43510,"name":"uint256","nodeType":"ElementaryTypeName","src":"9713:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43512,"nodeType":"VariableDeclarationStatement","src":"9713:18:48"},{"assignments":[43514],"declarations":[{"constant":false,"id":43514,"mutability":"mutable","name":"returnValue","nameLocation":"9749:11:48","nodeType":"VariableDeclaration","scope":43536,"src":"9741:19:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43513,"name":"uint256","nodeType":"ElementaryTypeName","src":"9741:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43515,"nodeType":"VariableDeclarationStatement","src":"9741:19:48"},{"AST":{"nativeSrc":"9795:174:48","nodeType":"YulBlock","src":"9795:174:48","statements":[{"nativeSrc":"9809:71:48","nodeType":"YulAssignment","src":"9809:71:48","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"9825:3:48","nodeType":"YulIdentifier","src":"9825:3:48"},"nativeSrc":"9825:5:48","nodeType":"YulFunctionCall","src":"9825:5:48"},{"name":"token","nativeSrc":"9832:5:48","nodeType":"YulIdentifier","src":"9832:5:48"},{"kind":"number","nativeSrc":"9839:1:48","nodeType":"YulLiteral","src":"9839:1:48","type":"","value":"0"},{"arguments":[{"name":"data","nativeSrc":"9846:4:48","nodeType":"YulIdentifier","src":"9846:4:48"},{"kind":"number","nativeSrc":"9852:4:48","nodeType":"YulLiteral","src":"9852:4:48","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"9842:3:48","nodeType":"YulIdentifier","src":"9842:3:48"},"nativeSrc":"9842:15:48","nodeType":"YulFunctionCall","src":"9842:15:48"},{"arguments":[{"name":"data","nativeSrc":"9865:4:48","nodeType":"YulIdentifier","src":"9865:4:48"}],"functionName":{"name":"mload","nativeSrc":"9859:5:48","nodeType":"YulIdentifier","src":"9859:5:48"},"nativeSrc":"9859:11:48","nodeType":"YulFunctionCall","src":"9859:11:48"},{"kind":"number","nativeSrc":"9872:1:48","nodeType":"YulLiteral","src":"9872:1:48","type":"","value":"0"},{"kind":"number","nativeSrc":"9875:4:48","nodeType":"YulLiteral","src":"9875:4:48","type":"","value":"0x20"}],"functionName":{"name":"call","nativeSrc":"9820:4:48","nodeType":"YulIdentifier","src":"9820:4:48"},"nativeSrc":"9820:60:48","nodeType":"YulFunctionCall","src":"9820:60:48"},"variableNames":[{"name":"success","nativeSrc":"9809:7:48","nodeType":"YulIdentifier","src":"9809:7:48"}]},{"nativeSrc":"9893:30:48","nodeType":"YulAssignment","src":"9893:30:48","value":{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"9907:14:48","nodeType":"YulIdentifier","src":"9907:14:48"},"nativeSrc":"9907:16:48","nodeType":"YulFunctionCall","src":"9907:16:48"},"variableNames":[{"name":"returnSize","nativeSrc":"9893:10:48","nodeType":"YulIdentifier","src":"9893:10:48"}]},{"nativeSrc":"9936:23:48","nodeType":"YulAssignment","src":"9936:23:48","value":{"arguments":[{"kind":"number","nativeSrc":"9957:1:48","nodeType":"YulLiteral","src":"9957:1:48","type":"","value":"0"}],"functionName":{"name":"mload","nativeSrc":"9951:5:48","nodeType":"YulIdentifier","src":"9951:5:48"},"nativeSrc":"9951:8:48","nodeType":"YulFunctionCall","src":"9951:8:48"},"variableNames":[{"name":"returnValue","nativeSrc":"9936:11:48","nodeType":"YulIdentifier","src":"9936:11:48"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":43502,"isOffset":false,"isSlot":false,"src":"9846:4:48","valueSize":1},{"declaration":43502,"isOffset":false,"isSlot":false,"src":"9865:4:48","valueSize":1},{"declaration":43511,"isOffset":false,"isSlot":false,"src":"9893:10:48","valueSize":1},{"declaration":43514,"isOffset":false,"isSlot":false,"src":"9936:11:48","valueSize":1},{"declaration":43508,"isOffset":false,"isSlot":false,"src":"9809:7:48","valueSize":1},{"declaration":43500,"isOffset":false,"isSlot":false,"src":"9832:5:48","valueSize":1}],"flags":["memory-safe"],"id":43516,"nodeType":"InlineAssembly","src":"9770:199:48"},{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":43534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43517,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43508,"src":"9985:7:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43518,"name":"returnSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43511,"src":"9997:10:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":43519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10011:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9997:15:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43529,"name":"returnValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43514,"src":"10048:11:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":43530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10063:1:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10048:16:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"9997:67:48","trueExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"arguments":[{"id":43523,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43500,"src":"10023:5:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}],"id":43522,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10015:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":43521,"name":"address","nodeType":"ElementaryTypeName","src":"10015:7:48","typeDescriptions":{}}},"id":43524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10015:14:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":43525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10030:4:48","memberName":"code","nodeType":"MemberAccess","src":"10015:19:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10035:6:48","memberName":"length","nodeType":"MemberAccess","src":"10015:26:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":43527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10044:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10015:30:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":43533,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9996:69:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9985:80:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":43506,"id":43535,"nodeType":"Return","src":"9978:87:48"}]},"documentation":{"id":43497,"nodeType":"StructuredDocumentation","src":"9096:491:48","text":" @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n on the return value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param data The call data (encoded using abi.encode or one of its variants).\n This is a variant of {_callOptionalReturn} that silently catches all reverts and returns a bool instead."},"implemented":true,"kind":"function","modifiers":[],"name":"_callOptionalReturnBool","nameLocation":"9601:23:48","parameters":{"id":43503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43500,"mutability":"mutable","name":"token","nameLocation":"9632:5:48","nodeType":"VariableDeclaration","scope":43537,"src":"9625:12:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},"typeName":{"id":43499,"nodeType":"UserDefinedTypeName","pathNode":{"id":43498,"name":"IERC20","nameLocations":["9625:6:48"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"9625:6:48"},"referencedDeclaration":43048,"src":"9625:6:48","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":43502,"mutability":"mutable","name":"data","nameLocation":"9652:4:48","nodeType":"VariableDeclaration","scope":43537,"src":"9639:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43501,"name":"bytes","nodeType":"ElementaryTypeName","src":"9639:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9624:33:48"},"returnParameters":{"id":43506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43505,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43537,"src":"9675:4:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43504,"name":"bool","nodeType":"ElementaryTypeName","src":"9675:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9674:6:48"},"scope":43538,"stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeERC20","contractDependencies":[],"contractKind":"library","documentation":{"id":43081,"nodeType":"StructuredDocumentation","src":"239:458:48","text":" @title SafeERC20\n @dev Wrappers around ERC-20 operations that throw on failure (when the token\n contract returns false). Tokens that return no value (and instead revert or\n throw on failure) are also supported, non-reverting calls are assumed to be\n successful.\n To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,\n which allows you to call the safe operations as `token.safeTransfer(...)`, etc."},"fullyImplemented":true,"linearizedBaseContracts":[43538],"name":"SafeERC20","nameLocation":"706:9:48","scope":43539,"usedErrors":[43086,43095],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"id":49,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Address.sol","id":43799,"exportedSymbols":{"Address":[43798],"Errors":[44860]},"nodeType":"SourceUnit","src":"101:5895:49","nodes":[{"id":43540,"nodeType":"PragmaDirective","src":"101:24:49","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":43542,"nodeType":"ImportDirective","src":"127:36:49","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Errors.sol","file":"./Errors.sol","nameLocation":"-1:-1:-1","scope":43799,"sourceUnit":44861,"symbolAliases":[{"foreign":{"id":43541,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44860,"src":"135:6:49","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":43798,"nodeType":"ContractDefinition","src":"233:5762:49","nodes":[{"id":43548,"nodeType":"ErrorDefinition","src":"335:39:49","nodes":[],"documentation":{"id":43544,"nodeType":"StructuredDocumentation","src":"255:75:49","text":" @dev There's no code at `target` (it is not a contract)."},"errorSelector":"9996b315","name":"AddressEmptyCode","nameLocation":"341:16:49","parameters":{"id":43547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43546,"mutability":"mutable","name":"target","nameLocation":"366:6:49","nodeType":"VariableDeclaration","scope":43548,"src":"358:14:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43545,"name":"address","nodeType":"ElementaryTypeName","src":"358:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"357:16:49"}},{"id":43596,"nodeType":"FunctionDefinition","src":"1290:365:49","nodes":[],"body":{"id":43595,"nodeType":"Block","src":"1361:294:49","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":43558,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1383:4:49","typeDescriptions":{"typeIdentifier":"t_contract$_Address_$43798","typeString":"library Address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Address_$43798","typeString":"library Address"}],"id":43557,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1375:7:49","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":43556,"name":"address","nodeType":"ElementaryTypeName","src":"1375:7:49","typeDescriptions":{}}},"id":43559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1375:13:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":43560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1389:7:49","memberName":"balance","nodeType":"MemberAccess","src":"1375:21:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":43561,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43553,"src":"1399:6:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1375:30:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43575,"nodeType":"IfStatement","src":"1371:125:49","trueBody":{"id":43574,"nodeType":"Block","src":"1407:89:49","statements":[{"errorCall":{"arguments":[{"expression":{"arguments":[{"id":43568,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1463:4:49","typeDescriptions":{"typeIdentifier":"t_contract$_Address_$43798","typeString":"library Address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Address_$43798","typeString":"library Address"}],"id":43567,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1455:7:49","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":43566,"name":"address","nodeType":"ElementaryTypeName","src":"1455:7:49","typeDescriptions":{}}},"id":43569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1455:13:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":43570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1469:7:49","memberName":"balance","nodeType":"MemberAccess","src":"1455:21:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43571,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43553,"src":"1478:6:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":43563,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44860,"src":"1428:6:49","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Errors_$44860_$","typeString":"type(library Errors)"}},"id":43565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1435:19:49","memberName":"InsufficientBalance","nodeType":"MemberAccess","referencedDeclaration":44848,"src":"1428:26:49","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$","typeString":"function (uint256,uint256) pure returns (error)"}},"id":43572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1428:57:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":43573,"nodeType":"RevertStatement","src":"1421:64:49"}]}},{"assignments":[43577,43579],"declarations":[{"constant":false,"id":43577,"mutability":"mutable","name":"success","nameLocation":"1512:7:49","nodeType":"VariableDeclaration","scope":43595,"src":"1507:12:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43576,"name":"bool","nodeType":"ElementaryTypeName","src":"1507:4:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43579,"mutability":"mutable","name":"returndata","nameLocation":"1534:10:49","nodeType":"VariableDeclaration","scope":43595,"src":"1521:23:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43578,"name":"bytes","nodeType":"ElementaryTypeName","src":"1521:5:49","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":43586,"initialValue":{"arguments":[{"hexValue":"","id":43584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1578:2:49","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":43580,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43551,"src":"1548:9:49","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":43581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1558:4:49","memberName":"call","nodeType":"MemberAccess","src":"1548:14:49","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":43583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":43582,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43553,"src":"1570:6:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"1548:29:49","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":43585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1548:33:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"1506:75:49"},{"condition":{"id":43588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1595:8:49","subExpression":{"id":43587,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43577,"src":"1596:7:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43594,"nodeType":"IfStatement","src":"1591:58:49","trueBody":{"id":43593,"nodeType":"Block","src":"1605:44:49","statements":[{"expression":{"arguments":[{"id":43590,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43579,"src":"1627:10:49","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43589,"name":"_revert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43797,"src":"1619:7:49","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":43591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1619:19:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43592,"nodeType":"ExpressionStatement","src":"1619:19:49"}]}}]},"documentation":{"id":43549,"nodeType":"StructuredDocumentation","src":"380:905:49","text":" @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n `recipient`, forwarding all available gas and reverting on errors.\n https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n of certain opcodes, possibly making contracts go over the 2300 gas limit\n imposed by `transfer`, making them unable to receive funds via\n `transfer`. {sendValue} removes this limitation.\n https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n IMPORTANT: because control is transferred to `recipient`, care must be\n taken to not create reentrancy vulnerabilities. Consider using\n {ReentrancyGuard} or the\n https://solidity.readthedocs.io/en/v0.8.20/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]."},"implemented":true,"kind":"function","modifiers":[],"name":"sendValue","nameLocation":"1299:9:49","parameters":{"id":43554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43551,"mutability":"mutable","name":"recipient","nameLocation":"1325:9:49","nodeType":"VariableDeclaration","scope":43596,"src":"1309:25:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":43550,"name":"address","nodeType":"ElementaryTypeName","src":"1309:15:49","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":43553,"mutability":"mutable","name":"amount","nameLocation":"1344:6:49","nodeType":"VariableDeclaration","scope":43596,"src":"1336:14:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43552,"name":"uint256","nodeType":"ElementaryTypeName","src":"1336:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1308:43:49"},"returnParameters":{"id":43555,"nodeType":"ParameterList","parameters":[],"src":"1361:0:49"},"scope":43798,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":43613,"nodeType":"FunctionDefinition","src":"2500:151:49","nodes":[],"body":{"id":43612,"nodeType":"Block","src":"2589:62:49","nodes":[],"statements":[{"expression":{"arguments":[{"id":43607,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43599,"src":"2628:6:49","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43608,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43601,"src":"2636:4:49","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":43609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2642:1:49","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":43606,"name":"functionCallWithValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43663,"src":"2606:21:49","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,uint256) returns (bytes memory)"}},"id":43610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2606:38:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":43605,"id":43611,"nodeType":"Return","src":"2599:45:49"}]},"documentation":{"id":43597,"nodeType":"StructuredDocumentation","src":"1661:834:49","text":" @dev Performs a Solidity function call using a low level `call`. A\n plain `call` is an unsafe replacement for a function call: use this\n function instead.\n If `target` reverts with a revert reason or custom error, it is bubbled\n up by this function (like regular Solidity function calls). However, if\n the call reverted with no returned reason, this function reverts with a\n {Errors.FailedCall} error.\n Returns the raw returned data. To convert to the expected return value,\n use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n Requirements:\n - `target` must be a contract.\n - calling `target` with `data` must not revert."},"implemented":true,"kind":"function","modifiers":[],"name":"functionCall","nameLocation":"2509:12:49","parameters":{"id":43602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43599,"mutability":"mutable","name":"target","nameLocation":"2530:6:49","nodeType":"VariableDeclaration","scope":43613,"src":"2522:14:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43598,"name":"address","nodeType":"ElementaryTypeName","src":"2522:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43601,"mutability":"mutable","name":"data","nameLocation":"2551:4:49","nodeType":"VariableDeclaration","scope":43613,"src":"2538:17:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43600,"name":"bytes","nodeType":"ElementaryTypeName","src":"2538:5:49","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2521:35:49"},"returnParameters":{"id":43605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43604,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43613,"src":"2575:12:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43603,"name":"bytes","nodeType":"ElementaryTypeName","src":"2575:5:49","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2574:14:49"},"scope":43798,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":43663,"nodeType":"FunctionDefinition","src":"2975:407:49","nodes":[],"body":{"id":43662,"nodeType":"Block","src":"3088:294:49","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":43627,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3110:4:49","typeDescriptions":{"typeIdentifier":"t_contract$_Address_$43798","typeString":"library Address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Address_$43798","typeString":"library Address"}],"id":43626,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3102:7:49","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":43625,"name":"address","nodeType":"ElementaryTypeName","src":"3102:7:49","typeDescriptions":{}}},"id":43628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3102:13:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":43629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3116:7:49","memberName":"balance","nodeType":"MemberAccess","src":"3102:21:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":43630,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43620,"src":"3126:5:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3102:29:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43644,"nodeType":"IfStatement","src":"3098:123:49","trueBody":{"id":43643,"nodeType":"Block","src":"3133:88:49","statements":[{"errorCall":{"arguments":[{"expression":{"arguments":[{"id":43637,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3189:4:49","typeDescriptions":{"typeIdentifier":"t_contract$_Address_$43798","typeString":"library Address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Address_$43798","typeString":"library Address"}],"id":43636,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3181:7:49","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":43635,"name":"address","nodeType":"ElementaryTypeName","src":"3181:7:49","typeDescriptions":{}}},"id":43638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3181:13:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":43639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3195:7:49","memberName":"balance","nodeType":"MemberAccess","src":"3181:21:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43640,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43620,"src":"3204:5:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":43632,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44860,"src":"3154:6:49","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Errors_$44860_$","typeString":"type(library Errors)"}},"id":43634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3161:19:49","memberName":"InsufficientBalance","nodeType":"MemberAccess","referencedDeclaration":44848,"src":"3154:26:49","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$","typeString":"function (uint256,uint256) pure returns (error)"}},"id":43641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3154:56:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":43642,"nodeType":"RevertStatement","src":"3147:63:49"}]}},{"assignments":[43646,43648],"declarations":[{"constant":false,"id":43646,"mutability":"mutable","name":"success","nameLocation":"3236:7:49","nodeType":"VariableDeclaration","scope":43662,"src":"3231:12:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43645,"name":"bool","nodeType":"ElementaryTypeName","src":"3231:4:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43648,"mutability":"mutable","name":"returndata","nameLocation":"3258:10:49","nodeType":"VariableDeclaration","scope":43662,"src":"3245:23:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43647,"name":"bytes","nodeType":"ElementaryTypeName","src":"3245:5:49","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":43655,"initialValue":{"arguments":[{"id":43653,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43618,"src":"3298:4:49","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":43649,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43616,"src":"3272:6:49","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":43650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3279:4:49","memberName":"call","nodeType":"MemberAccess","src":"3272:11:49","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":43652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":43651,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43620,"src":"3291:5:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"3272:25:49","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":43654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3272:31:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"3230:73:49"},{"expression":{"arguments":[{"id":43657,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43616,"src":"3347:6:49","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43658,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43646,"src":"3355:7:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":43659,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43648,"src":"3364:10:49","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43656,"name":"verifyCallResultFromTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43755,"src":"3320:26:49","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bool,bytes memory) view returns (bytes memory)"}},"id":43660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3320:55:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":43624,"id":43661,"nodeType":"Return","src":"3313:62:49"}]},"documentation":{"id":43614,"nodeType":"StructuredDocumentation","src":"2657:313:49","text":" @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but also transferring `value` wei to `target`.\n Requirements:\n - the calling contract must have an ETH balance of at least `value`.\n - the called Solidity function must be `payable`."},"implemented":true,"kind":"function","modifiers":[],"name":"functionCallWithValue","nameLocation":"2984:21:49","parameters":{"id":43621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43616,"mutability":"mutable","name":"target","nameLocation":"3014:6:49","nodeType":"VariableDeclaration","scope":43663,"src":"3006:14:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43615,"name":"address","nodeType":"ElementaryTypeName","src":"3006:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43618,"mutability":"mutable","name":"data","nameLocation":"3035:4:49","nodeType":"VariableDeclaration","scope":43663,"src":"3022:17:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43617,"name":"bytes","nodeType":"ElementaryTypeName","src":"3022:5:49","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":43620,"mutability":"mutable","name":"value","nameLocation":"3049:5:49","nodeType":"VariableDeclaration","scope":43663,"src":"3041:13:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43619,"name":"uint256","nodeType":"ElementaryTypeName","src":"3041:7:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3005:50:49"},"returnParameters":{"id":43624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43623,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43663,"src":"3074:12:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43622,"name":"bytes","nodeType":"ElementaryTypeName","src":"3074:5:49","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3073:14:49"},"scope":43798,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":43689,"nodeType":"FunctionDefinition","src":"3521:254:49","nodes":[],"body":{"id":43688,"nodeType":"Block","src":"3621:154:49","nodes":[],"statements":[{"assignments":[43674,43676],"declarations":[{"constant":false,"id":43674,"mutability":"mutable","name":"success","nameLocation":"3637:7:49","nodeType":"VariableDeclaration","scope":43688,"src":"3632:12:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43673,"name":"bool","nodeType":"ElementaryTypeName","src":"3632:4:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43676,"mutability":"mutable","name":"returndata","nameLocation":"3659:10:49","nodeType":"VariableDeclaration","scope":43688,"src":"3646:23:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43675,"name":"bytes","nodeType":"ElementaryTypeName","src":"3646:5:49","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":43681,"initialValue":{"arguments":[{"id":43679,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43668,"src":"3691:4:49","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":43677,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43666,"src":"3673:6:49","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":43678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3680:10:49","memberName":"staticcall","nodeType":"MemberAccess","src":"3673:17:49","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":43680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3673:23:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"3631:65:49"},{"expression":{"arguments":[{"id":43683,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43666,"src":"3740:6:49","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43684,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43674,"src":"3748:7:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":43685,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43676,"src":"3757:10:49","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43682,"name":"verifyCallResultFromTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43755,"src":"3713:26:49","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bool,bytes memory) view returns (bytes memory)"}},"id":43686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3713:55:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":43672,"id":43687,"nodeType":"Return","src":"3706:62:49"}]},"documentation":{"id":43664,"nodeType":"StructuredDocumentation","src":"3388:128:49","text":" @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a static call."},"implemented":true,"kind":"function","modifiers":[],"name":"functionStaticCall","nameLocation":"3530:18:49","parameters":{"id":43669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43666,"mutability":"mutable","name":"target","nameLocation":"3557:6:49","nodeType":"VariableDeclaration","scope":43689,"src":"3549:14:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43665,"name":"address","nodeType":"ElementaryTypeName","src":"3549:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43668,"mutability":"mutable","name":"data","nameLocation":"3578:4:49","nodeType":"VariableDeclaration","scope":43689,"src":"3565:17:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43667,"name":"bytes","nodeType":"ElementaryTypeName","src":"3565:5:49","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3548:35:49"},"returnParameters":{"id":43672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43671,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43689,"src":"3607:12:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43670,"name":"bytes","nodeType":"ElementaryTypeName","src":"3607:5:49","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3606:14:49"},"scope":43798,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43715,"nodeType":"FunctionDefinition","src":"3916:253:49","nodes":[],"body":{"id":43714,"nodeType":"Block","src":"4013:156:49","nodes":[],"statements":[{"assignments":[43700,43702],"declarations":[{"constant":false,"id":43700,"mutability":"mutable","name":"success","nameLocation":"4029:7:49","nodeType":"VariableDeclaration","scope":43714,"src":"4024:12:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43699,"name":"bool","nodeType":"ElementaryTypeName","src":"4024:4:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43702,"mutability":"mutable","name":"returndata","nameLocation":"4051:10:49","nodeType":"VariableDeclaration","scope":43714,"src":"4038:23:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43701,"name":"bytes","nodeType":"ElementaryTypeName","src":"4038:5:49","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":43707,"initialValue":{"arguments":[{"id":43705,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43694,"src":"4085:4:49","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":43703,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43692,"src":"4065:6:49","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":43704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4072:12:49","memberName":"delegatecall","nodeType":"MemberAccess","src":"4065:19:49","typeDescriptions":{"typeIdentifier":"t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bool,bytes memory)"}},"id":43706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4065:25:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"4023:67:49"},{"expression":{"arguments":[{"id":43709,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43692,"src":"4134:6:49","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":43710,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43700,"src":"4142:7:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":43711,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43702,"src":"4151:10:49","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43708,"name":"verifyCallResultFromTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43755,"src":"4107:26:49","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bool,bytes memory) view returns (bytes memory)"}},"id":43712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4107:55:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":43698,"id":43713,"nodeType":"Return","src":"4100:62:49"}]},"documentation":{"id":43690,"nodeType":"StructuredDocumentation","src":"3781:130:49","text":" @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a delegate call."},"implemented":true,"kind":"function","modifiers":[],"name":"functionDelegateCall","nameLocation":"3925:20:49","parameters":{"id":43695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43692,"mutability":"mutable","name":"target","nameLocation":"3954:6:49","nodeType":"VariableDeclaration","scope":43715,"src":"3946:14:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43691,"name":"address","nodeType":"ElementaryTypeName","src":"3946:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43694,"mutability":"mutable","name":"data","nameLocation":"3975:4:49","nodeType":"VariableDeclaration","scope":43715,"src":"3962:17:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43693,"name":"bytes","nodeType":"ElementaryTypeName","src":"3962:5:49","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3945:35:49"},"returnParameters":{"id":43698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43697,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43715,"src":"3999:12:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43696,"name":"bytes","nodeType":"ElementaryTypeName","src":"3999:5:49","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3998:14:49"},"scope":43798,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":43755,"nodeType":"FunctionDefinition","src":"4437:582:49","nodes":[],"body":{"id":43754,"nodeType":"Block","src":"4595:424:49","nodes":[],"statements":[{"condition":{"id":43728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4609:8:49","subExpression":{"id":43727,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43720,"src":"4610:7:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":43752,"nodeType":"Block","src":"4669:344:49","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":43743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":43734,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43722,"src":"4857:10:49","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4868:6:49","memberName":"length","nodeType":"MemberAccess","src":"4857:17:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":43736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4878:1:49","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4857:22:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":43738,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43718,"src":"4883:6:49","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":43739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4890:4:49","memberName":"code","nodeType":"MemberAccess","src":"4883:11:49","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4895:6:49","memberName":"length","nodeType":"MemberAccess","src":"4883:18:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":43741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4905:1:49","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4883:23:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4857:49:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43749,"nodeType":"IfStatement","src":"4853:119:49","trueBody":{"id":43748,"nodeType":"Block","src":"4908:64:49","statements":[{"errorCall":{"arguments":[{"id":43745,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43718,"src":"4950:6:49","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":43744,"name":"AddressEmptyCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43548,"src":"4933:16:49","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":43746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4933:24:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":43747,"nodeType":"RevertStatement","src":"4926:31:49"}]}},{"expression":{"id":43750,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43722,"src":"4992:10:49","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":43726,"id":43751,"nodeType":"Return","src":"4985:17:49"}]},"id":43753,"nodeType":"IfStatement","src":"4605:408:49","trueBody":{"id":43733,"nodeType":"Block","src":"4619:44:49","statements":[{"expression":{"arguments":[{"id":43730,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43722,"src":"4641:10:49","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43729,"name":"_revert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43797,"src":"4633:7:49","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":43731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4633:19:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43732,"nodeType":"ExpressionStatement","src":"4633:19:49"}]}}]},"documentation":{"id":43716,"nodeType":"StructuredDocumentation","src":"4175:257:49","text":" @dev Tool to verify that a low level call to smart-contract was successful, and reverts if the target\n was not a contract or bubbling up the revert reason (falling back to {Errors.FailedCall}) in case\n of an unsuccessful call."},"implemented":true,"kind":"function","modifiers":[],"name":"verifyCallResultFromTarget","nameLocation":"4446:26:49","parameters":{"id":43723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43718,"mutability":"mutable","name":"target","nameLocation":"4490:6:49","nodeType":"VariableDeclaration","scope":43755,"src":"4482:14:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43717,"name":"address","nodeType":"ElementaryTypeName","src":"4482:7:49","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43720,"mutability":"mutable","name":"success","nameLocation":"4511:7:49","nodeType":"VariableDeclaration","scope":43755,"src":"4506:12:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43719,"name":"bool","nodeType":"ElementaryTypeName","src":"4506:4:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43722,"mutability":"mutable","name":"returndata","nameLocation":"4541:10:49","nodeType":"VariableDeclaration","scope":43755,"src":"4528:23:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43721,"name":"bytes","nodeType":"ElementaryTypeName","src":"4528:5:49","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4472:85:49"},"returnParameters":{"id":43726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43725,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43755,"src":"4581:12:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43724,"name":"bytes","nodeType":"ElementaryTypeName","src":"4581:5:49","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4580:14:49"},"scope":43798,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43777,"nodeType":"FunctionDefinition","src":"5221:224:49","nodes":[],"body":{"id":43776,"nodeType":"Block","src":"5323:122:49","nodes":[],"statements":[{"condition":{"id":43766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5337:8:49","subExpression":{"id":43765,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43758,"src":"5338:7:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":43774,"nodeType":"Block","src":"5397:42:49","statements":[{"expression":{"id":43772,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43760,"src":"5418:10:49","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":43764,"id":43773,"nodeType":"Return","src":"5411:17:49"}]},"id":43775,"nodeType":"IfStatement","src":"5333:106:49","trueBody":{"id":43771,"nodeType":"Block","src":"5347:44:49","statements":[{"expression":{"arguments":[{"id":43768,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43760,"src":"5369:10:49","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43767,"name":"_revert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43797,"src":"5361:7:49","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":43769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5361:19:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43770,"nodeType":"ExpressionStatement","src":"5361:19:49"}]}}]},"documentation":{"id":43756,"nodeType":"StructuredDocumentation","src":"5025:191:49","text":" @dev Tool to verify that a low level call was successful, and reverts if it wasn't, either by bubbling the\n revert reason or with a default {Errors.FailedCall} error."},"implemented":true,"kind":"function","modifiers":[],"name":"verifyCallResult","nameLocation":"5230:16:49","parameters":{"id":43761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43758,"mutability":"mutable","name":"success","nameLocation":"5252:7:49","nodeType":"VariableDeclaration","scope":43777,"src":"5247:12:49","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43757,"name":"bool","nodeType":"ElementaryTypeName","src":"5247:4:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43760,"mutability":"mutable","name":"returndata","nameLocation":"5274:10:49","nodeType":"VariableDeclaration","scope":43777,"src":"5261:23:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43759,"name":"bytes","nodeType":"ElementaryTypeName","src":"5261:5:49","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5246:39:49"},"returnParameters":{"id":43764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43763,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43777,"src":"5309:12:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43762,"name":"bytes","nodeType":"ElementaryTypeName","src":"5309:5:49","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5308:14:49"},"scope":43798,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43797,"nodeType":"FunctionDefinition","src":"5559:434:49","nodes":[],"body":{"id":43796,"nodeType":"Block","src":"5614:379:49","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":43783,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43780,"src":"5690:10:49","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5701:6:49","memberName":"length","nodeType":"MemberAccess","src":"5690:17:49","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":43785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5710:1:49","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5690:21:49","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":43794,"nodeType":"Block","src":"5936:51:49","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":43789,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44860,"src":"5957:6:49","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Errors_$44860_$","typeString":"type(library Errors)"}},"id":43791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5964:10:49","memberName":"FailedCall","nodeType":"MemberAccess","referencedDeclaration":44851,"src":"5957:17:49","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":43792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5957:19:49","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":43793,"nodeType":"RevertStatement","src":"5950:26:49"}]},"id":43795,"nodeType":"IfStatement","src":"5686:301:49","trueBody":{"id":43788,"nodeType":"Block","src":"5713:217:49","statements":[{"AST":{"nativeSrc":"5840:80:49","nodeType":"YulBlock","src":"5840:80:49","statements":[{"expression":{"arguments":[{"arguments":[{"name":"returndata","nativeSrc":"5869:10:49","nodeType":"YulIdentifier","src":"5869:10:49"},{"kind":"number","nativeSrc":"5881:4:49","nodeType":"YulLiteral","src":"5881:4:49","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"5865:3:49","nodeType":"YulIdentifier","src":"5865:3:49"},"nativeSrc":"5865:21:49","nodeType":"YulFunctionCall","src":"5865:21:49"},{"arguments":[{"name":"returndata","nativeSrc":"5894:10:49","nodeType":"YulIdentifier","src":"5894:10:49"}],"functionName":{"name":"mload","nativeSrc":"5888:5:49","nodeType":"YulIdentifier","src":"5888:5:49"},"nativeSrc":"5888:17:49","nodeType":"YulFunctionCall","src":"5888:17:49"}],"functionName":{"name":"revert","nativeSrc":"5858:6:49","nodeType":"YulIdentifier","src":"5858:6:49"},"nativeSrc":"5858:48:49","nodeType":"YulFunctionCall","src":"5858:48:49"},"nativeSrc":"5858:48:49","nodeType":"YulExpressionStatement","src":"5858:48:49"}]},"evmVersion":"cancun","externalReferences":[{"declaration":43780,"isOffset":false,"isSlot":false,"src":"5869:10:49","valueSize":1},{"declaration":43780,"isOffset":false,"isSlot":false,"src":"5894:10:49","valueSize":1}],"flags":["memory-safe"],"id":43787,"nodeType":"InlineAssembly","src":"5815:105:49"}]}}]},"documentation":{"id":43778,"nodeType":"StructuredDocumentation","src":"5451:103:49","text":" @dev Reverts with returndata if present. Otherwise reverts with {Errors.FailedCall}."},"implemented":true,"kind":"function","modifiers":[],"name":"_revert","nameLocation":"5568:7:49","parameters":{"id":43781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43780,"mutability":"mutable","name":"returndata","nameLocation":"5589:10:49","nodeType":"VariableDeclaration","scope":43797,"src":"5576:23:49","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43779,"name":"bytes","nodeType":"ElementaryTypeName","src":"5576:5:49","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5575:25:49"},"returnParameters":{"id":43782,"nodeType":"ParameterList","parameters":[],"src":"5614:0:49"},"scope":43798,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"Address","contractDependencies":[],"contractKind":"library","documentation":{"id":43543,"nodeType":"StructuredDocumentation","src":"165:67:49","text":" @dev Collection of functions related to the address type"},"fullyImplemented":true,"linearizedBaseContracts":[43798],"name":"Address","nameLocation":"241:7:49","scope":43799,"usedErrors":[43548],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/Arrays.sol":{"id":50,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Arrays.sol","id":44777,"exportedSymbols":{"Arrays":[44776],"Comparators":[44808],"Math":[48420],"SlotDerivation":[45042],"StorageSlot":[45166]},"nodeType":"SourceUnit","src":"183:20723:50","nodes":[{"id":43800,"nodeType":"PragmaDirective","src":"183:24:50","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":43802,"nodeType":"ImportDirective","src":"209:46:50","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Comparators.sol","file":"./Comparators.sol","nameLocation":"-1:-1:-1","scope":44777,"sourceUnit":44809,"symbolAliases":[{"foreign":{"id":43801,"name":"Comparators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44808,"src":"217:11:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":43804,"nodeType":"ImportDirective","src":"256:52:50","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol","file":"./SlotDerivation.sol","nameLocation":"-1:-1:-1","scope":44777,"sourceUnit":45043,"symbolAliases":[{"foreign":{"id":43803,"name":"SlotDerivation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45042,"src":"264:14:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":43806,"nodeType":"ImportDirective","src":"309:46:50","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol","file":"./StorageSlot.sol","nameLocation":"-1:-1:-1","scope":44777,"sourceUnit":45167,"symbolAliases":[{"foreign":{"id":43805,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45166,"src":"317:11:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":43808,"nodeType":"ImportDirective","src":"356:37:50","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"./math/Math.sol","nameLocation":"-1:-1:-1","scope":44777,"sourceUnit":48421,"symbolAliases":[{"foreign":{"id":43807,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48420,"src":"364:4:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":44776,"nodeType":"ContractDefinition","src":"459:20446:50","nodes":[{"id":43812,"nodeType":"UsingForDirective","src":"480:33:50","nodes":[],"global":false,"libraryName":{"id":43810,"name":"SlotDerivation","nameLocations":["486:14:50"],"nodeType":"IdentifierPath","referencedDeclaration":45042,"src":"486:14:50"},"typeName":{"id":43811,"name":"bytes32","nodeType":"ElementaryTypeName","src":"505:7:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},{"id":43815,"nodeType":"UsingForDirective","src":"518:30:50","nodes":[],"global":false,"libraryName":{"id":43813,"name":"StorageSlot","nameLocations":["524:11:50"],"nodeType":"IdentifierPath","referencedDeclaration":45166,"src":"524:11:50"},"typeName":{"id":43814,"name":"bytes32","nodeType":"ElementaryTypeName","src":"540:7:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},{"id":43848,"nodeType":"FunctionDefinition","src":"1474:237:50","nodes":[],"body":{"id":43847,"nodeType":"Block","src":"1628:83:50","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":43837,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43819,"src":"1656:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":43836,"name":"_begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44072,"src":"1649:6:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256[] memory) pure returns (uint256)"}},"id":43838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1649:13:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":43840,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43819,"src":"1669:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":43839,"name":"_end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44092,"src":"1664:4:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256[] memory) pure returns (uint256)"}},"id":43841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1664:11:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43842,"name":"comp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43829,"src":"1677:4:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"}],"id":43835,"name":"_quickSort","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44061,"src":"1638:10:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_$returns$__$","typeString":"function (uint256,uint256,function (uint256,uint256) pure returns (bool)) pure"}},"id":43843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1638:44:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43844,"nodeType":"ExpressionStatement","src":"1638:44:50"},{"expression":{"id":43845,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43819,"src":"1699:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":43834,"id":43846,"nodeType":"Return","src":"1692:12:50"}]},"documentation":{"id":43816,"nodeType":"StructuredDocumentation","src":"554:915:50","text":" @dev Sort an array of uint256 (in memory) following the provided comparator function.\n This function does the sorting \"in place\", meaning that it overrides the input. The object is returned for\n convenience, but that returned value can be discarded safely if the caller has a memory pointer to the array.\n NOTE: this function's cost is `O(n · log(n))` in average and `O(n²)` in the worst case, with n the length of the\n array. Using it in view functions that are executed through `eth_call` is safe, but one should be very careful\n when executing this as part of a transaction. If the array being sorted is too large, the sort operation may\n consume more gas than is available in a block, leading to potential DoS.\n IMPORTANT: Consider memory side-effects when using custom comparator functions that access memory in an unsafe way."},"implemented":true,"kind":"function","modifiers":[],"name":"sort","nameLocation":"1483:4:50","parameters":{"id":43830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43819,"mutability":"mutable","name":"array","nameLocation":"1514:5:50","nodeType":"VariableDeclaration","scope":43848,"src":"1497:22:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":43817,"name":"uint256","nodeType":"ElementaryTypeName","src":"1497:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43818,"nodeType":"ArrayTypeName","src":"1497:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":43829,"mutability":"mutable","name":"comp","nameLocation":"1576:4:50","nodeType":"VariableDeclaration","scope":43848,"src":"1529:51:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"},"typeName":{"id":43828,"nodeType":"FunctionTypeName","parameterTypes":{"id":43824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43821,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43828,"src":"1538:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43820,"name":"uint256","nodeType":"ElementaryTypeName","src":"1538:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43823,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43828,"src":"1547:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43822,"name":"uint256","nodeType":"ElementaryTypeName","src":"1547:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1537:18:50"},"returnParameterTypes":{"id":43827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43826,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43828,"src":"1570:4:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43825,"name":"bool","nodeType":"ElementaryTypeName","src":"1570:4:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1569:6:50"},"src":"1529:51:50","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"},"visibility":"internal"},"visibility":"internal"}],"src":"1487:99:50"},"returnParameters":{"id":43834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43833,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43848,"src":"1610:16:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":43831,"name":"uint256","nodeType":"ElementaryTypeName","src":"1610:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43832,"nodeType":"ArrayTypeName","src":"1610:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1609:18:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43867,"nodeType":"FunctionDefinition","src":"1815:145:50","nodes":[],"body":{"id":43866,"nodeType":"Block","src":"1894:66:50","nodes":[],"statements":[{"expression":{"arguments":[{"id":43859,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43852,"src":"1909:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"expression":{"id":43860,"name":"Comparators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44808,"src":"1916:11:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Comparators_$44808_$","typeString":"type(library Comparators)"}},"id":43861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1928:2:50","memberName":"lt","nodeType":"MemberAccess","referencedDeclaration":44793,"src":"1916:14:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"}],"id":43858,"name":"sort","nodeType":"Identifier","overloadedDeclarations":[43848,43867,43899,43920,43952,43973],"referencedDeclaration":43848,"src":"1904:4:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256[] memory,function (uint256,uint256) pure returns (bool)) pure returns (uint256[] memory)"}},"id":43862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1904:27:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":43863,"nodeType":"ExpressionStatement","src":"1904:27:50"},{"expression":{"id":43864,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43852,"src":"1948:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":43857,"id":43865,"nodeType":"Return","src":"1941:12:50"}]},"documentation":{"id":43849,"nodeType":"StructuredDocumentation","src":"1717:93:50","text":" @dev Variant of {sort} that sorts an array of uint256 in increasing order."},"implemented":true,"kind":"function","modifiers":[],"name":"sort","nameLocation":"1824:4:50","parameters":{"id":43853,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43852,"mutability":"mutable","name":"array","nameLocation":"1846:5:50","nodeType":"VariableDeclaration","scope":43867,"src":"1829:22:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":43850,"name":"uint256","nodeType":"ElementaryTypeName","src":"1829:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43851,"nodeType":"ArrayTypeName","src":"1829:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1828:24:50"},"returnParameters":{"id":43857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43856,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43867,"src":"1876:16:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":43854,"name":"uint256","nodeType":"ElementaryTypeName","src":"1876:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":43855,"nodeType":"ArrayTypeName","src":"1876:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1875:18:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43899,"nodeType":"FunctionDefinition","src":"2886:251:50","nodes":[],"body":{"id":43898,"nodeType":"Block","src":"3040:97:50","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":43889,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43871,"src":"3075:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":43888,"name":"_castToUint256Array","nodeType":"Identifier","overloadedDeclarations":[44124,44136],"referencedDeclaration":44124,"src":"3055:19:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (address[] memory) pure returns (uint256[] memory)"}},"id":43890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3055:26:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"arguments":[{"id":43892,"name":"comp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43881,"src":"3102:4:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) pure returns (bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) pure returns (bool)"}],"id":43891,"name":"_castToUint256Comp","nodeType":"Identifier","overloadedDeclarations":[44162,44188],"referencedDeclaration":44162,"src":"3083:18:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_function_internal_pure$_t_address_$_t_address_$returns$_t_bool_$_$returns$_t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_$","typeString":"function (function (address,address) pure returns (bool)) pure returns (function (uint256,uint256) pure returns (bool))"}},"id":43893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3083:24:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"}],"id":43887,"name":"sort","nodeType":"Identifier","overloadedDeclarations":[43848,43867,43899,43920,43952,43973],"referencedDeclaration":43848,"src":"3050:4:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256[] memory,function (uint256,uint256) pure returns (bool)) pure returns (uint256[] memory)"}},"id":43894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3050:58:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":43895,"nodeType":"ExpressionStatement","src":"3050:58:50"},{"expression":{"id":43896,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43871,"src":"3125:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":43886,"id":43897,"nodeType":"Return","src":"3118:12:50"}]},"documentation":{"id":43868,"nodeType":"StructuredDocumentation","src":"1966:915:50","text":" @dev Sort an array of address (in memory) following the provided comparator function.\n This function does the sorting \"in place\", meaning that it overrides the input. The object is returned for\n convenience, but that returned value can be discarded safely if the caller has a memory pointer to the array.\n NOTE: this function's cost is `O(n · log(n))` in average and `O(n²)` in the worst case, with n the length of the\n array. Using it in view functions that are executed through `eth_call` is safe, but one should be very careful\n when executing this as part of a transaction. If the array being sorted is too large, the sort operation may\n consume more gas than is available in a block, leading to potential DoS.\n IMPORTANT: Consider memory side-effects when using custom comparator functions that access memory in an unsafe way."},"implemented":true,"kind":"function","modifiers":[],"name":"sort","nameLocation":"2895:4:50","parameters":{"id":43882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43871,"mutability":"mutable","name":"array","nameLocation":"2926:5:50","nodeType":"VariableDeclaration","scope":43899,"src":"2909:22:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":43869,"name":"address","nodeType":"ElementaryTypeName","src":"2909:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":43870,"nodeType":"ArrayTypeName","src":"2909:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":43881,"mutability":"mutable","name":"comp","nameLocation":"2988:4:50","nodeType":"VariableDeclaration","scope":43899,"src":"2941:51:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) pure returns (bool)"},"typeName":{"id":43880,"nodeType":"FunctionTypeName","parameterTypes":{"id":43876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43873,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43880,"src":"2950:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43872,"name":"address","nodeType":"ElementaryTypeName","src":"2950:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43875,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43880,"src":"2959:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43874,"name":"address","nodeType":"ElementaryTypeName","src":"2959:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2949:18:50"},"returnParameterTypes":{"id":43879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43878,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43880,"src":"2982:4:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43877,"name":"bool","nodeType":"ElementaryTypeName","src":"2982:4:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2981:6:50"},"src":"2941:51:50","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) pure returns (bool)"},"visibility":"internal"},"visibility":"internal"}],"src":"2899:99:50"},"returnParameters":{"id":43886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43885,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43899,"src":"3022:16:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":43883,"name":"address","nodeType":"ElementaryTypeName","src":"3022:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":43884,"nodeType":"ArrayTypeName","src":"3022:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"3021:18:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43920,"nodeType":"FunctionDefinition","src":"3241:166:50","nodes":[],"body":{"id":43919,"nodeType":"Block","src":"3320:87:50","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":43911,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43903,"src":"3355:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":43910,"name":"_castToUint256Array","nodeType":"Identifier","overloadedDeclarations":[44124,44136],"referencedDeclaration":44124,"src":"3335:19:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (address[] memory) pure returns (uint256[] memory)"}},"id":43912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3335:26:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"expression":{"id":43913,"name":"Comparators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44808,"src":"3363:11:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Comparators_$44808_$","typeString":"type(library Comparators)"}},"id":43914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3375:2:50","memberName":"lt","nodeType":"MemberAccess","referencedDeclaration":44793,"src":"3363:14:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"}],"id":43909,"name":"sort","nodeType":"Identifier","overloadedDeclarations":[43848,43867,43899,43920,43952,43973],"referencedDeclaration":43848,"src":"3330:4:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256[] memory,function (uint256,uint256) pure returns (bool)) pure returns (uint256[] memory)"}},"id":43915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3330:48:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":43916,"nodeType":"ExpressionStatement","src":"3330:48:50"},{"expression":{"id":43917,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43903,"src":"3395:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":43908,"id":43918,"nodeType":"Return","src":"3388:12:50"}]},"documentation":{"id":43900,"nodeType":"StructuredDocumentation","src":"3143:93:50","text":" @dev Variant of {sort} that sorts an array of address in increasing order."},"implemented":true,"kind":"function","modifiers":[],"name":"sort","nameLocation":"3250:4:50","parameters":{"id":43904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43903,"mutability":"mutable","name":"array","nameLocation":"3272:5:50","nodeType":"VariableDeclaration","scope":43920,"src":"3255:22:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":43901,"name":"address","nodeType":"ElementaryTypeName","src":"3255:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":43902,"nodeType":"ArrayTypeName","src":"3255:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"3254:24:50"},"returnParameters":{"id":43908,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43907,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43920,"src":"3302:16:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":43905,"name":"address","nodeType":"ElementaryTypeName","src":"3302:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":43906,"nodeType":"ArrayTypeName","src":"3302:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"3301:18:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43952,"nodeType":"FunctionDefinition","src":"4333:251:50","nodes":[],"body":{"id":43951,"nodeType":"Block","src":"4487:97:50","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":43942,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43924,"src":"4522:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"id":43941,"name":"_castToUint256Array","nodeType":"Identifier","overloadedDeclarations":[44124,44136],"referencedDeclaration":44136,"src":"4502:19:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (bytes32[] memory) pure returns (uint256[] memory)"}},"id":43943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4502:26:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"arguments":[{"id":43945,"name":"comp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43934,"src":"4549:4:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32,bytes32) pure returns (bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32,bytes32) pure returns (bool)"}],"id":43944,"name":"_castToUint256Comp","nodeType":"Identifier","overloadedDeclarations":[44162,44188],"referencedDeclaration":44188,"src":"4530:18:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bool_$_$returns$_t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_$","typeString":"function (function (bytes32,bytes32) pure returns (bool)) pure returns (function (uint256,uint256) pure returns (bool))"}},"id":43946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4530:24:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"}],"id":43940,"name":"sort","nodeType":"Identifier","overloadedDeclarations":[43848,43867,43899,43920,43952,43973],"referencedDeclaration":43848,"src":"4497:4:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256[] memory,function (uint256,uint256) pure returns (bool)) pure returns (uint256[] memory)"}},"id":43947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4497:58:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":43948,"nodeType":"ExpressionStatement","src":"4497:58:50"},{"expression":{"id":43949,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43924,"src":"4572:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":43939,"id":43950,"nodeType":"Return","src":"4565:12:50"}]},"documentation":{"id":43921,"nodeType":"StructuredDocumentation","src":"3413:915:50","text":" @dev Sort an array of bytes32 (in memory) following the provided comparator function.\n This function does the sorting \"in place\", meaning that it overrides the input. The object is returned for\n convenience, but that returned value can be discarded safely if the caller has a memory pointer to the array.\n NOTE: this function's cost is `O(n · log(n))` in average and `O(n²)` in the worst case, with n the length of the\n array. Using it in view functions that are executed through `eth_call` is safe, but one should be very careful\n when executing this as part of a transaction. If the array being sorted is too large, the sort operation may\n consume more gas than is available in a block, leading to potential DoS.\n IMPORTANT: Consider memory side-effects when using custom comparator functions that access memory in an unsafe way."},"implemented":true,"kind":"function","modifiers":[],"name":"sort","nameLocation":"4342:4:50","parameters":{"id":43935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43924,"mutability":"mutable","name":"array","nameLocation":"4373:5:50","nodeType":"VariableDeclaration","scope":43952,"src":"4356:22:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":43922,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4356:7:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":43923,"nodeType":"ArrayTypeName","src":"4356:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":43934,"mutability":"mutable","name":"comp","nameLocation":"4435:4:50","nodeType":"VariableDeclaration","scope":43952,"src":"4388:51:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32,bytes32) pure returns (bool)"},"typeName":{"id":43933,"nodeType":"FunctionTypeName","parameterTypes":{"id":43929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43926,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43933,"src":"4397:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43925,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4397:7:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":43928,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43933,"src":"4406:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43927,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4406:7:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4396:18:50"},"returnParameterTypes":{"id":43932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43931,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43933,"src":"4429:4:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43930,"name":"bool","nodeType":"ElementaryTypeName","src":"4429:4:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4428:6:50"},"src":"4388:51:50","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32,bytes32) pure returns (bool)"},"visibility":"internal"},"visibility":"internal"}],"src":"4346:99:50"},"returnParameters":{"id":43939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43938,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43952,"src":"4469:16:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":43936,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4469:7:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":43937,"nodeType":"ArrayTypeName","src":"4469:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4468:18:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":43973,"nodeType":"FunctionDefinition","src":"4688:166:50","nodes":[],"body":{"id":43972,"nodeType":"Block","src":"4767:87:50","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":43964,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43956,"src":"4802:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"id":43963,"name":"_castToUint256Array","nodeType":"Identifier","overloadedDeclarations":[44124,44136],"referencedDeclaration":44136,"src":"4782:19:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (bytes32[] memory) pure returns (uint256[] memory)"}},"id":43965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4782:26:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"expression":{"id":43966,"name":"Comparators","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44808,"src":"4810:11:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Comparators_$44808_$","typeString":"type(library Comparators)"}},"id":43967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4822:2:50","memberName":"lt","nodeType":"MemberAccess","referencedDeclaration":44793,"src":"4810:14:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"}],"id":43962,"name":"sort","nodeType":"Identifier","overloadedDeclarations":[43848,43867,43899,43920,43952,43973],"referencedDeclaration":43848,"src":"4777:4:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256[] memory,function (uint256,uint256) pure returns (bool)) pure returns (uint256[] memory)"}},"id":43968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4777:48:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":43969,"nodeType":"ExpressionStatement","src":"4777:48:50"},{"expression":{"id":43970,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43956,"src":"4842:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":43961,"id":43971,"nodeType":"Return","src":"4835:12:50"}]},"documentation":{"id":43953,"nodeType":"StructuredDocumentation","src":"4590:93:50","text":" @dev Variant of {sort} that sorts an array of bytes32 in increasing order."},"implemented":true,"kind":"function","modifiers":[],"name":"sort","nameLocation":"4697:4:50","parameters":{"id":43957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43956,"mutability":"mutable","name":"array","nameLocation":"4719:5:50","nodeType":"VariableDeclaration","scope":43973,"src":"4702:22:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":43954,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4702:7:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":43955,"nodeType":"ArrayTypeName","src":"4702:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4701:24:50"},"returnParameters":{"id":43961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43960,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43973,"src":"4749:16:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":43958,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4749:7:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":43959,"nodeType":"ArrayTypeName","src":"4749:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4748:18:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44061,"nodeType":"FunctionDefinition","src":"5356:1003:50","nodes":[],"body":{"id":44060,"nodeType":"Block","src":"5470:889:50","nodes":[],"statements":[{"id":44059,"nodeType":"UncheckedBlock","src":"5480:873:50","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":43993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":43991,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43978,"src":"5508:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":43992,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43976,"src":"5514:5:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5508:11:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30783430","id":43994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5522:4:50","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"0x40"},"src":"5508:18:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":43997,"nodeType":"IfStatement","src":"5504:31:50","trueBody":{"functionReturnParameters":43990,"id":43996,"nodeType":"Return","src":"5528:7:50"}},{"assignments":[43999],"declarations":[{"constant":false,"id":43999,"mutability":"mutable","name":"pivot","nameLocation":"5599:5:50","nodeType":"VariableDeclaration","scope":44059,"src":"5591:13:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43998,"name":"uint256","nodeType":"ElementaryTypeName","src":"5591:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44003,"initialValue":{"arguments":[{"id":44001,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43976,"src":"5614:5:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44000,"name":"_mload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44102,"src":"5607:6:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":44002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5607:13:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5591:29:50"},{"assignments":[44005],"declarations":[{"constant":false,"id":44005,"mutability":"mutable","name":"pos","nameLocation":"5715:3:50","nodeType":"VariableDeclaration","scope":44059,"src":"5707:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44004,"name":"uint256","nodeType":"ElementaryTypeName","src":"5707:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44007,"initialValue":{"id":44006,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43976,"src":"5721:5:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5707:19:50"},{"body":{"id":44038,"nodeType":"Block","src":"5795:331:50","statements":[{"condition":{"arguments":[{"arguments":[{"id":44023,"name":"it","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44009,"src":"5829:2:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44022,"name":"_mload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44102,"src":"5822:6:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":44024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5822:10:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44025,"name":"pivot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43999,"src":"5834:5:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44021,"name":"comp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43988,"src":"5817:4:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"}},"id":44026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5817:23:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44037,"nodeType":"IfStatement","src":"5813:299:50","trueBody":{"id":44036,"nodeType":"Block","src":"5842:270:50","statements":[{"expression":{"id":44029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44027,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44005,"src":"6046:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"30783230","id":44028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6053:4:50","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"0x20"},"src":"6046:11:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44030,"nodeType":"ExpressionStatement","src":"6046:11:50"},{"expression":{"arguments":[{"id":44032,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44005,"src":"6085:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44033,"name":"it","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44009,"src":"6090:2:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44031,"name":"_swap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44112,"src":"6079:5:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":44034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6079:14:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44035,"nodeType":"ExpressionStatement","src":"6079:14:50"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44014,"name":"it","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44009,"src":"5773:2:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":44015,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43978,"src":"5778:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5773:8:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44039,"initializationExpression":{"assignments":[44009],"declarations":[{"constant":false,"id":44009,"mutability":"mutable","name":"it","nameLocation":"5754:2:50","nodeType":"VariableDeclaration","scope":44039,"src":"5746:10:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44008,"name":"uint256","nodeType":"ElementaryTypeName","src":"5746:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44013,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44010,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43976,"src":"5759:5:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"30783230","id":44011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5767:4:50","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"0x20"},"src":"5759:12:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5746:25:50"},"isSimpleCounterLoop":false,"loopExpression":{"expression":{"id":44019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44017,"name":"it","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44009,"src":"5783:2:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"30783230","id":44018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5789:4:50","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"0x20"},"src":"5783:10:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44020,"nodeType":"ExpressionStatement","src":"5783:10:50"},"nodeType":"ForStatement","src":"5741:385:50"},{"expression":{"arguments":[{"id":44041,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43976,"src":"6146:5:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44042,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44005,"src":"6153:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44040,"name":"_swap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44112,"src":"6140:5:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":44043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6140:17:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44044,"nodeType":"ExpressionStatement","src":"6140:17:50"},{"expression":{"arguments":[{"id":44046,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43976,"src":"6207:5:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44047,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44005,"src":"6214:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44048,"name":"comp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43988,"src":"6219:4:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"}],"id":44045,"name":"_quickSort","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44061,"src":"6196:10:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_$returns$__$","typeString":"function (uint256,uint256,function (uint256,uint256) pure returns (bool)) pure"}},"id":44049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6196:28:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44050,"nodeType":"ExpressionStatement","src":"6196:28:50"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44052,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44005,"src":"6284:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"30783230","id":44053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6290:4:50","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"0x20"},"src":"6284:10:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44055,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43978,"src":"6296:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44056,"name":"comp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43988,"src":"6301:4:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"}],"id":44051,"name":"_quickSort","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44061,"src":"6273:10:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_$returns$__$","typeString":"function (uint256,uint256,function (uint256,uint256) pure returns (bool)) pure"}},"id":44057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6273:33:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44058,"nodeType":"ExpressionStatement","src":"6273:33:50"}]}]},"documentation":{"id":43974,"nodeType":"StructuredDocumentation","src":"4860:491:50","text":" @dev Performs a quick sort of a segment of memory. The segment sorted starts at `begin` (inclusive), and stops\n at end (exclusive). Sorting follows the `comp` comparator.\n Invariant: `begin <= end`. This is the case when initially called by {sort} and is preserved in subcalls.\n IMPORTANT: Memory locations between `begin` and `end` are not validated/zeroed. This function should\n be used only if the limits are within a memory array."},"implemented":true,"kind":"function","modifiers":[],"name":"_quickSort","nameLocation":"5365:10:50","parameters":{"id":43989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43976,"mutability":"mutable","name":"begin","nameLocation":"5384:5:50","nodeType":"VariableDeclaration","scope":44061,"src":"5376:13:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43975,"name":"uint256","nodeType":"ElementaryTypeName","src":"5376:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43978,"mutability":"mutable","name":"end","nameLocation":"5399:3:50","nodeType":"VariableDeclaration","scope":44061,"src":"5391:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43977,"name":"uint256","nodeType":"ElementaryTypeName","src":"5391:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43988,"mutability":"mutable","name":"comp","nameLocation":"5451:4:50","nodeType":"VariableDeclaration","scope":44061,"src":"5404:51:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"},"typeName":{"id":43987,"nodeType":"FunctionTypeName","parameterTypes":{"id":43983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43980,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43987,"src":"5413:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43979,"name":"uint256","nodeType":"ElementaryTypeName","src":"5413:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43982,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43987,"src":"5422:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43981,"name":"uint256","nodeType":"ElementaryTypeName","src":"5422:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5412:18:50"},"returnParameterTypes":{"id":43986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43985,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":43987,"src":"5445:4:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43984,"name":"bool","nodeType":"ElementaryTypeName","src":"5445:4:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5444:6:50"},"src":"5404:51:50","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"},"visibility":"internal"},"visibility":"internal"}],"src":"5375:81:50"},"returnParameters":{"id":43990,"nodeType":"ParameterList","parameters":[],"src":"5470:0:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":44072,"nodeType":"FunctionDefinition","src":"6457:163:50","nodes":[],"body":{"id":44071,"nodeType":"Block","src":"6532:88:50","nodes":[],"statements":[{"AST":{"nativeSrc":"6567:47:50","nodeType":"YulBlock","src":"6567:47:50","statements":[{"nativeSrc":"6581:23:50","nodeType":"YulAssignment","src":"6581:23:50","value":{"arguments":[{"name":"array","nativeSrc":"6592:5:50","nodeType":"YulIdentifier","src":"6592:5:50"},{"kind":"number","nativeSrc":"6599:4:50","nodeType":"YulLiteral","src":"6599:4:50","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"6588:3:50","nodeType":"YulIdentifier","src":"6588:3:50"},"nativeSrc":"6588:16:50","nodeType":"YulFunctionCall","src":"6588:16:50"},"variableNames":[{"name":"ptr","nativeSrc":"6581:3:50","nodeType":"YulIdentifier","src":"6581:3:50"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44065,"isOffset":false,"isSlot":false,"src":"6592:5:50","valueSize":1},{"declaration":44068,"isOffset":false,"isSlot":false,"src":"6581:3:50","valueSize":1}],"flags":["memory-safe"],"id":44070,"nodeType":"InlineAssembly","src":"6542:72:50"}]},"documentation":{"id":44062,"nodeType":"StructuredDocumentation","src":"6365:87:50","text":" @dev Pointer to the memory location of the first element of `array`."},"implemented":true,"kind":"function","modifiers":[],"name":"_begin","nameLocation":"6466:6:50","parameters":{"id":44066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44065,"mutability":"mutable","name":"array","nameLocation":"6490:5:50","nodeType":"VariableDeclaration","scope":44072,"src":"6473:22:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":44063,"name":"uint256","nodeType":"ElementaryTypeName","src":"6473:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44064,"nodeType":"ArrayTypeName","src":"6473:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"6472:24:50"},"returnParameters":{"id":44069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44068,"mutability":"mutable","name":"ptr","nameLocation":"6527:3:50","nodeType":"VariableDeclaration","scope":44072,"src":"6519:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44067,"name":"uint256","nodeType":"ElementaryTypeName","src":"6519:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6518:13:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":44092,"nodeType":"FunctionDefinition","src":"6819:166:50","nodes":[],"body":{"id":44091,"nodeType":"Block","src":"6892:93:50","nodes":[],"statements":[{"id":44090,"nodeType":"UncheckedBlock","src":"6902:77:50","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":44082,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44076,"src":"6940:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":44081,"name":"_begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44072,"src":"6933:6:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256[] memory) pure returns (uint256)"}},"id":44083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6933:13:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":44084,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44076,"src":"6949:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":44085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6955:6:50","memberName":"length","nodeType":"MemberAccess","src":"6949:12:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783230","id":44086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6964:4:50","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"0x20"},"src":"6949:19:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6933:35:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":44080,"id":44089,"nodeType":"Return","src":"6926:42:50"}]}]},"documentation":{"id":44073,"nodeType":"StructuredDocumentation","src":"6626:188:50","text":" @dev Pointer to the memory location of the first memory word (32bytes) after `array`. This is the memory word\n that comes just after the last element of the array."},"implemented":true,"kind":"function","modifiers":[],"name":"_end","nameLocation":"6828:4:50","parameters":{"id":44077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44076,"mutability":"mutable","name":"array","nameLocation":"6850:5:50","nodeType":"VariableDeclaration","scope":44092,"src":"6833:22:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":44074,"name":"uint256","nodeType":"ElementaryTypeName","src":"6833:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44075,"nodeType":"ArrayTypeName","src":"6833:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"6832:24:50"},"returnParameters":{"id":44080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44079,"mutability":"mutable","name":"ptr","nameLocation":"6887:3:50","nodeType":"VariableDeclaration","scope":44092,"src":"6879:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44078,"name":"uint256","nodeType":"ElementaryTypeName","src":"6879:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6878:13:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":44102,"nodeType":"FunctionDefinition","src":"7070:134:50","nodes":[],"body":{"id":44101,"nodeType":"Block","src":"7136:68:50","nodes":[],"statements":[{"AST":{"nativeSrc":"7155:43:50","nodeType":"YulBlock","src":"7155:43:50","statements":[{"nativeSrc":"7169:19:50","nodeType":"YulAssignment","src":"7169:19:50","value":{"arguments":[{"name":"ptr","nativeSrc":"7184:3:50","nodeType":"YulIdentifier","src":"7184:3:50"}],"functionName":{"name":"mload","nativeSrc":"7178:5:50","nodeType":"YulIdentifier","src":"7178:5:50"},"nativeSrc":"7178:10:50","nodeType":"YulFunctionCall","src":"7178:10:50"},"variableNames":[{"name":"value","nativeSrc":"7169:5:50","nodeType":"YulIdentifier","src":"7169:5:50"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44095,"isOffset":false,"isSlot":false,"src":"7184:3:50","valueSize":1},{"declaration":44098,"isOffset":false,"isSlot":false,"src":"7169:5:50","valueSize":1}],"id":44100,"nodeType":"InlineAssembly","src":"7146:52:50"}]},"documentation":{"id":44093,"nodeType":"StructuredDocumentation","src":"6991:74:50","text":" @dev Load memory word (as a uint256) at location `ptr`."},"implemented":true,"kind":"function","modifiers":[],"name":"_mload","nameLocation":"7079:6:50","parameters":{"id":44096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44095,"mutability":"mutable","name":"ptr","nameLocation":"7094:3:50","nodeType":"VariableDeclaration","scope":44102,"src":"7086:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44094,"name":"uint256","nodeType":"ElementaryTypeName","src":"7086:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7085:13:50"},"returnParameters":{"id":44099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44098,"mutability":"mutable","name":"value","nameLocation":"7129:5:50","nodeType":"VariableDeclaration","scope":44102,"src":"7121:13:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44097,"name":"uint256","nodeType":"ElementaryTypeName","src":"7121:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7120:15:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":44112,"nodeType":"FunctionDefinition","src":"7292:234:50","nodes":[],"body":{"id":44111,"nodeType":"Block","src":"7348:178:50","nodes":[],"statements":[{"AST":{"nativeSrc":"7367:153:50","nodeType":"YulBlock","src":"7367:153:50","statements":[{"nativeSrc":"7381:25:50","nodeType":"YulVariableDeclaration","src":"7381:25:50","value":{"arguments":[{"name":"ptr1","nativeSrc":"7401:4:50","nodeType":"YulIdentifier","src":"7401:4:50"}],"functionName":{"name":"mload","nativeSrc":"7395:5:50","nodeType":"YulIdentifier","src":"7395:5:50"},"nativeSrc":"7395:11:50","nodeType":"YulFunctionCall","src":"7395:11:50"},"variables":[{"name":"value1","nativeSrc":"7385:6:50","nodeType":"YulTypedName","src":"7385:6:50","type":""}]},{"nativeSrc":"7419:25:50","nodeType":"YulVariableDeclaration","src":"7419:25:50","value":{"arguments":[{"name":"ptr2","nativeSrc":"7439:4:50","nodeType":"YulIdentifier","src":"7439:4:50"}],"functionName":{"name":"mload","nativeSrc":"7433:5:50","nodeType":"YulIdentifier","src":"7433:5:50"},"nativeSrc":"7433:11:50","nodeType":"YulFunctionCall","src":"7433:11:50"},"variables":[{"name":"value2","nativeSrc":"7423:6:50","nodeType":"YulTypedName","src":"7423:6:50","type":""}]},{"expression":{"arguments":[{"name":"ptr1","nativeSrc":"7464:4:50","nodeType":"YulIdentifier","src":"7464:4:50"},{"name":"value2","nativeSrc":"7470:6:50","nodeType":"YulIdentifier","src":"7470:6:50"}],"functionName":{"name":"mstore","nativeSrc":"7457:6:50","nodeType":"YulIdentifier","src":"7457:6:50"},"nativeSrc":"7457:20:50","nodeType":"YulFunctionCall","src":"7457:20:50"},"nativeSrc":"7457:20:50","nodeType":"YulExpressionStatement","src":"7457:20:50"},{"expression":{"arguments":[{"name":"ptr2","nativeSrc":"7497:4:50","nodeType":"YulIdentifier","src":"7497:4:50"},{"name":"value1","nativeSrc":"7503:6:50","nodeType":"YulIdentifier","src":"7503:6:50"}],"functionName":{"name":"mstore","nativeSrc":"7490:6:50","nodeType":"YulIdentifier","src":"7490:6:50"},"nativeSrc":"7490:20:50","nodeType":"YulFunctionCall","src":"7490:20:50"},"nativeSrc":"7490:20:50","nodeType":"YulExpressionStatement","src":"7490:20:50"}]},"evmVersion":"cancun","externalReferences":[{"declaration":44105,"isOffset":false,"isSlot":false,"src":"7401:4:50","valueSize":1},{"declaration":44105,"isOffset":false,"isSlot":false,"src":"7464:4:50","valueSize":1},{"declaration":44107,"isOffset":false,"isSlot":false,"src":"7439:4:50","valueSize":1},{"declaration":44107,"isOffset":false,"isSlot":false,"src":"7497:4:50","valueSize":1}],"id":44110,"nodeType":"InlineAssembly","src":"7358:162:50"}]},"documentation":{"id":44103,"nodeType":"StructuredDocumentation","src":"7210:77:50","text":" @dev Swaps the elements memory location `ptr1` and `ptr2`."},"implemented":true,"kind":"function","modifiers":[],"name":"_swap","nameLocation":"7301:5:50","parameters":{"id":44108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44105,"mutability":"mutable","name":"ptr1","nameLocation":"7315:4:50","nodeType":"VariableDeclaration","scope":44112,"src":"7307:12:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44104,"name":"uint256","nodeType":"ElementaryTypeName","src":"7307:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44107,"mutability":"mutable","name":"ptr2","nameLocation":"7329:4:50","nodeType":"VariableDeclaration","scope":44112,"src":"7321:12:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44106,"name":"uint256","nodeType":"ElementaryTypeName","src":"7321:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7306:28:50"},"returnParameters":{"id":44109,"nodeType":"ParameterList","parameters":[],"src":"7348:0:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":44124,"nodeType":"FunctionDefinition","src":"7613:164:50","nodes":[],"body":{"id":44123,"nodeType":"Block","src":"7713:64:50","nodes":[],"statements":[{"AST":{"nativeSrc":"7732:39:50","nodeType":"YulBlock","src":"7732:39:50","statements":[{"nativeSrc":"7746:15:50","nodeType":"YulAssignment","src":"7746:15:50","value":{"name":"input","nativeSrc":"7756:5:50","nodeType":"YulIdentifier","src":"7756:5:50"},"variableNames":[{"name":"output","nativeSrc":"7746:6:50","nodeType":"YulIdentifier","src":"7746:6:50"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44116,"isOffset":false,"isSlot":false,"src":"7756:5:50","valueSize":1},{"declaration":44120,"isOffset":false,"isSlot":false,"src":"7746:6:50","valueSize":1}],"id":44122,"nodeType":"InlineAssembly","src":"7723:48:50"}]},"documentation":{"id":44113,"nodeType":"StructuredDocumentation","src":"7532:76:50","text":"@dev Helper: low level cast address memory array to uint256 memory array"},"implemented":true,"kind":"function","modifiers":[],"name":"_castToUint256Array","nameLocation":"7622:19:50","parameters":{"id":44117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44116,"mutability":"mutable","name":"input","nameLocation":"7659:5:50","nodeType":"VariableDeclaration","scope":44124,"src":"7642:22:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":44114,"name":"address","nodeType":"ElementaryTypeName","src":"7642:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":44115,"nodeType":"ArrayTypeName","src":"7642:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"7641:24:50"},"returnParameters":{"id":44121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44120,"mutability":"mutable","name":"output","nameLocation":"7705:6:50","nodeType":"VariableDeclaration","scope":44124,"src":"7688:23:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":44118,"name":"uint256","nodeType":"ElementaryTypeName","src":"7688:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44119,"nodeType":"ArrayTypeName","src":"7688:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"7687:25:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":44136,"nodeType":"FunctionDefinition","src":"7864:164:50","nodes":[],"body":{"id":44135,"nodeType":"Block","src":"7964:64:50","nodes":[],"statements":[{"AST":{"nativeSrc":"7983:39:50","nodeType":"YulBlock","src":"7983:39:50","statements":[{"nativeSrc":"7997:15:50","nodeType":"YulAssignment","src":"7997:15:50","value":{"name":"input","nativeSrc":"8007:5:50","nodeType":"YulIdentifier","src":"8007:5:50"},"variableNames":[{"name":"output","nativeSrc":"7997:6:50","nodeType":"YulIdentifier","src":"7997:6:50"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44128,"isOffset":false,"isSlot":false,"src":"8007:5:50","valueSize":1},{"declaration":44132,"isOffset":false,"isSlot":false,"src":"7997:6:50","valueSize":1}],"id":44134,"nodeType":"InlineAssembly","src":"7974:48:50"}]},"documentation":{"id":44125,"nodeType":"StructuredDocumentation","src":"7783:76:50","text":"@dev Helper: low level cast bytes32 memory array to uint256 memory array"},"implemented":true,"kind":"function","modifiers":[],"name":"_castToUint256Array","nameLocation":"7873:19:50","parameters":{"id":44129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44128,"mutability":"mutable","name":"input","nameLocation":"7910:5:50","nodeType":"VariableDeclaration","scope":44136,"src":"7893:22:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":44126,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7893:7:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44127,"nodeType":"ArrayTypeName","src":"7893:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"7892:24:50"},"returnParameters":{"id":44133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44132,"mutability":"mutable","name":"output","nameLocation":"7956:6:50","nodeType":"VariableDeclaration","scope":44136,"src":"7939:23:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":44130,"name":"uint256","nodeType":"ElementaryTypeName","src":"7939:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44131,"nodeType":"ArrayTypeName","src":"7939:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"7938:25:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":44162,"nodeType":"FunctionDefinition","src":"8117:237:50","nodes":[],"body":{"id":44161,"nodeType":"Block","src":"8290:64:50","nodes":[],"statements":[{"AST":{"nativeSrc":"8309:39:50","nodeType":"YulBlock","src":"8309:39:50","statements":[{"nativeSrc":"8323:15:50","nodeType":"YulAssignment","src":"8323:15:50","value":{"name":"input","nativeSrc":"8333:5:50","nodeType":"YulIdentifier","src":"8333:5:50"},"variableNames":[{"name":"output","nativeSrc":"8323:6:50","nodeType":"YulIdentifier","src":"8323:6:50"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44147,"isOffset":false,"isSlot":false,"src":"8333:5:50","valueSize":1},{"declaration":44158,"isOffset":false,"isSlot":false,"src":"8323:6:50","valueSize":1}],"id":44160,"nodeType":"InlineAssembly","src":"8300:48:50"}]},"documentation":{"id":44137,"nodeType":"StructuredDocumentation","src":"8034:78:50","text":"@dev Helper: low level cast address comp function to uint256 comp function"},"implemented":true,"kind":"function","modifiers":[],"name":"_castToUint256Comp","nameLocation":"8126:18:50","parameters":{"id":44148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44147,"mutability":"mutable","name":"input","nameLocation":"8201:5:50","nodeType":"VariableDeclaration","scope":44162,"src":"8154:52:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) pure returns (bool)"},"typeName":{"id":44146,"nodeType":"FunctionTypeName","parameterTypes":{"id":44142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44139,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44146,"src":"8163:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44138,"name":"address","nodeType":"ElementaryTypeName","src":"8163:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44141,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44146,"src":"8172:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44140,"name":"address","nodeType":"ElementaryTypeName","src":"8172:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8162:18:50"},"returnParameterTypes":{"id":44145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44144,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44146,"src":"8195:4:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44143,"name":"bool","nodeType":"ElementaryTypeName","src":"8195:4:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8194:6:50"},"src":"8154:52:50","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) pure returns (bool)"},"visibility":"internal"},"visibility":"internal"}],"src":"8144:68:50"},"returnParameters":{"id":44159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44158,"mutability":"mutable","name":"output","nameLocation":"8282:6:50","nodeType":"VariableDeclaration","scope":44162,"src":"8235:53:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"},"typeName":{"id":44157,"nodeType":"FunctionTypeName","parameterTypes":{"id":44153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44150,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44157,"src":"8244:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44149,"name":"uint256","nodeType":"ElementaryTypeName","src":"8244:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44152,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44157,"src":"8253:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44151,"name":"uint256","nodeType":"ElementaryTypeName","src":"8253:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8243:18:50"},"returnParameterTypes":{"id":44156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44155,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44157,"src":"8276:4:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44154,"name":"bool","nodeType":"ElementaryTypeName","src":"8276:4:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8275:6:50"},"src":"8235:53:50","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"},"visibility":"internal"},"visibility":"internal"}],"src":"8234:55:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":44188,"nodeType":"FunctionDefinition","src":"8443:237:50","nodes":[],"body":{"id":44187,"nodeType":"Block","src":"8616:64:50","nodes":[],"statements":[{"AST":{"nativeSrc":"8635:39:50","nodeType":"YulBlock","src":"8635:39:50","statements":[{"nativeSrc":"8649:15:50","nodeType":"YulAssignment","src":"8649:15:50","value":{"name":"input","nativeSrc":"8659:5:50","nodeType":"YulIdentifier","src":"8659:5:50"},"variableNames":[{"name":"output","nativeSrc":"8649:6:50","nodeType":"YulIdentifier","src":"8649:6:50"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44173,"isOffset":false,"isSlot":false,"src":"8659:5:50","valueSize":1},{"declaration":44184,"isOffset":false,"isSlot":false,"src":"8649:6:50","valueSize":1}],"id":44186,"nodeType":"InlineAssembly","src":"8626:48:50"}]},"documentation":{"id":44163,"nodeType":"StructuredDocumentation","src":"8360:78:50","text":"@dev Helper: low level cast bytes32 comp function to uint256 comp function"},"implemented":true,"kind":"function","modifiers":[],"name":"_castToUint256Comp","nameLocation":"8452:18:50","parameters":{"id":44174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44173,"mutability":"mutable","name":"input","nameLocation":"8527:5:50","nodeType":"VariableDeclaration","scope":44188,"src":"8480:52:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32,bytes32) pure returns (bool)"},"typeName":{"id":44172,"nodeType":"FunctionTypeName","parameterTypes":{"id":44168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44165,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44172,"src":"8489:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44164,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8489:7:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44167,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44172,"src":"8498:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44166,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8498:7:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8488:18:50"},"returnParameterTypes":{"id":44171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44170,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44172,"src":"8521:4:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44169,"name":"bool","nodeType":"ElementaryTypeName","src":"8521:4:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8520:6:50"},"src":"8480:52:50","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32,bytes32) pure returns (bool)"},"visibility":"internal"},"visibility":"internal"}],"src":"8470:68:50"},"returnParameters":{"id":44185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44184,"mutability":"mutable","name":"output","nameLocation":"8608:6:50","nodeType":"VariableDeclaration","scope":44188,"src":"8561:53:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"},"typeName":{"id":44183,"nodeType":"FunctionTypeName","parameterTypes":{"id":44179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44176,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44183,"src":"8570:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44175,"name":"uint256","nodeType":"ElementaryTypeName","src":"8570:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44178,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44183,"src":"8579:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44177,"name":"uint256","nodeType":"ElementaryTypeName","src":"8579:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8569:18:50"},"returnParameterTypes":{"id":44182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44181,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44183,"src":"8602:4:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44180,"name":"bool","nodeType":"ElementaryTypeName","src":"8602:4:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8601:6:50"},"src":"8561:53:50","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256) pure returns (bool)"},"visibility":"internal"},"visibility":"internal"}],"src":"8560:55:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":44271,"nodeType":"FunctionDefinition","src":"9307:932:50","nodes":[],"body":{"id":44270,"nodeType":"Block","src":"9405:834:50","nodes":[],"statements":[{"assignments":[44200],"declarations":[{"constant":false,"id":44200,"mutability":"mutable","name":"low","nameLocation":"9423:3:50","nodeType":"VariableDeclaration","scope":44270,"src":"9415:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44199,"name":"uint256","nodeType":"ElementaryTypeName","src":"9415:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44202,"initialValue":{"hexValue":"30","id":44201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9429:1:50","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"9415:15:50"},{"assignments":[44204],"declarations":[{"constant":false,"id":44204,"mutability":"mutable","name":"high","nameLocation":"9448:4:50","nodeType":"VariableDeclaration","scope":44270,"src":"9440:12:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44203,"name":"uint256","nodeType":"ElementaryTypeName","src":"9440:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44207,"initialValue":{"expression":{"id":44205,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44192,"src":"9455:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":44206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9461:6:50","memberName":"length","nodeType":"MemberAccess","src":"9455:12:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9440:27:50"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44208,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44204,"src":"9482:4:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":44209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9490:1:50","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9482:9:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44214,"nodeType":"IfStatement","src":"9478:48:50","trueBody":{"id":44213,"nodeType":"Block","src":"9493:33:50","statements":[{"expression":{"hexValue":"30","id":44211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9514:1:50","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":44198,"id":44212,"nodeType":"Return","src":"9507:8:50"}]}},{"body":{"id":44246,"nodeType":"Block","src":"9555:423:50","statements":[{"assignments":[44219],"declarations":[{"constant":false,"id":44219,"mutability":"mutable","name":"mid","nameLocation":"9577:3:50","nodeType":"VariableDeclaration","scope":44246,"src":"9569:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44218,"name":"uint256","nodeType":"ElementaryTypeName","src":"9569:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44225,"initialValue":{"arguments":[{"id":44222,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44200,"src":"9596:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44223,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44204,"src":"9601:4:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":44220,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48420,"src":"9583:4:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$48420_$","typeString":"type(library Math)"}},"id":44221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9588:7:50","memberName":"average","nodeType":"MemberAccess","referencedDeclaration":47149,"src":"9583:12:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":44224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9583:23:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9569:37:50"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":44227,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44192,"src":"9844:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},{"id":44228,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44219,"src":"9851:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44226,"name":"unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[44551,44577,44603,44629,44655],"referencedDeclaration":44603,"src":"9831:12:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Uint256Slot_$45057_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256) pure returns (struct StorageSlot.Uint256Slot storage pointer)"}},"id":44229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9831:24:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Uint256Slot_$45057_storage_ptr","typeString":"struct StorageSlot.Uint256Slot storage pointer"}},"id":44230,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9856:5:50","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":45056,"src":"9831:30:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":44231,"name":"element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44194,"src":"9864:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9831:40:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":44244,"nodeType":"Block","src":"9922:46:50","statements":[{"expression":{"id":44242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44238,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44200,"src":"9940:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44239,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44219,"src":"9946:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":44240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9952:1:50","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9946:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9940:13:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44243,"nodeType":"ExpressionStatement","src":"9940:13:50"}]},"id":44245,"nodeType":"IfStatement","src":"9827:141:50","trueBody":{"id":44237,"nodeType":"Block","src":"9873:43:50","statements":[{"expression":{"id":44235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44233,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44204,"src":"9891:4:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":44234,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44219,"src":"9898:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9891:10:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44236,"nodeType":"ExpressionStatement","src":"9891:10:50"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44215,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44200,"src":"9543:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":44216,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44204,"src":"9549:4:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9543:10:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44247,"nodeType":"WhileStatement","src":"9536:442:50"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":44260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44248,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44200,"src":"10095:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":44249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10101:1:50","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10095:7:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":44252,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44192,"src":"10119:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44253,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44200,"src":"10126:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":44254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10132:1:50","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10126:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44251,"name":"unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[44551,44577,44603,44629,44655],"referencedDeclaration":44603,"src":"10106:12:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Uint256Slot_$45057_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256) pure returns (struct StorageSlot.Uint256Slot storage pointer)"}},"id":44256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10106:28:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Uint256Slot_$45057_storage_ptr","typeString":"struct StorageSlot.Uint256Slot storage pointer"}},"id":44257,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10135:5:50","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":45056,"src":"10106:34:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":44258,"name":"element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44194,"src":"10144:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10106:45:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10095:56:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":44268,"nodeType":"Block","src":"10198:35:50","statements":[{"expression":{"id":44266,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44200,"src":"10219:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":44198,"id":44267,"nodeType":"Return","src":"10212:10:50"}]},"id":44269,"nodeType":"IfStatement","src":"10091:142:50","trueBody":{"id":44265,"nodeType":"Block","src":"10153:39:50","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44261,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44200,"src":"10174:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":44262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10180:1:50","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10174:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":44198,"id":44264,"nodeType":"Return","src":"10167:14:50"}]}}]},"documentation":{"id":44189,"nodeType":"StructuredDocumentation","src":"8686:616:50","text":" @dev Searches a sorted `array` and returns the first index that contains\n a value greater or equal to `element`. If no such index exists (i.e. all\n values in the array are strictly less than `element`), the array length is\n returned. Time complexity O(log n).\n NOTE: The `array` is expected to be sorted in ascending order, and to\n contain no repeated elements.\n IMPORTANT: Deprecated. This implementation behaves as {lowerBound} but lacks\n support for repeated elements in the array. The {lowerBound} function should\n be used instead."},"implemented":true,"kind":"function","modifiers":[],"name":"findUpperBound","nameLocation":"9316:14:50","parameters":{"id":44195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44192,"mutability":"mutable","name":"array","nameLocation":"9349:5:50","nodeType":"VariableDeclaration","scope":44271,"src":"9331:23:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":44190,"name":"uint256","nodeType":"ElementaryTypeName","src":"9331:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44191,"nodeType":"ArrayTypeName","src":"9331:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":44194,"mutability":"mutable","name":"element","nameLocation":"9364:7:50","nodeType":"VariableDeclaration","scope":44271,"src":"9356:15:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44193,"name":"uint256","nodeType":"ElementaryTypeName","src":"9356:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9330:42:50"},"returnParameters":{"id":44198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44197,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44271,"src":"9396:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44196,"name":"uint256","nodeType":"ElementaryTypeName","src":"9396:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9395:9:50"},"scope":44776,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44335,"nodeType":"FunctionDefinition","src":"10662:803:50","nodes":[],"body":{"id":44334,"nodeType":"Block","src":"10756:709:50","nodes":[],"statements":[{"assignments":[44283],"declarations":[{"constant":false,"id":44283,"mutability":"mutable","name":"low","nameLocation":"10774:3:50","nodeType":"VariableDeclaration","scope":44334,"src":"10766:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44282,"name":"uint256","nodeType":"ElementaryTypeName","src":"10766:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44285,"initialValue":{"hexValue":"30","id":44284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10780:1:50","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"10766:15:50"},{"assignments":[44287],"declarations":[{"constant":false,"id":44287,"mutability":"mutable","name":"high","nameLocation":"10799:4:50","nodeType":"VariableDeclaration","scope":44334,"src":"10791:12:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44286,"name":"uint256","nodeType":"ElementaryTypeName","src":"10791:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44290,"initialValue":{"expression":{"id":44288,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44275,"src":"10806:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":44289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10812:6:50","memberName":"length","nodeType":"MemberAccess","src":"10806:12:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10791:27:50"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44291,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44287,"src":"10833:4:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":44292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10841:1:50","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10833:9:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44297,"nodeType":"IfStatement","src":"10829:48:50","trueBody":{"id":44296,"nodeType":"Block","src":"10844:33:50","statements":[{"expression":{"hexValue":"30","id":44294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10865:1:50","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":44281,"id":44295,"nodeType":"Return","src":"10858:8:50"}]}},{"body":{"id":44330,"nodeType":"Block","src":"10906:532:50","statements":[{"assignments":[44302],"declarations":[{"constant":false,"id":44302,"mutability":"mutable","name":"mid","nameLocation":"10928:3:50","nodeType":"VariableDeclaration","scope":44330,"src":"10920:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44301,"name":"uint256","nodeType":"ElementaryTypeName","src":"10920:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44308,"initialValue":{"arguments":[{"id":44305,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44283,"src":"10947:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44306,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44287,"src":"10952:4:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":44303,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48420,"src":"10934:4:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$48420_$","typeString":"type(library Math)"}},"id":44304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10939:7:50","memberName":"average","nodeType":"MemberAccess","referencedDeclaration":47149,"src":"10934:12:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":44307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10934:23:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10920:37:50"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":44310,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44275,"src":"11195:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},{"id":44311,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44302,"src":"11202:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44309,"name":"unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[44551,44577,44603,44629,44655],"referencedDeclaration":44603,"src":"11182:12:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Uint256Slot_$45057_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256) pure returns (struct StorageSlot.Uint256Slot storage pointer)"}},"id":44312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11182:24:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Uint256Slot_$45057_storage_ptr","typeString":"struct StorageSlot.Uint256Slot storage pointer"}},"id":44313,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11207:5:50","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":45056,"src":"11182:30:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":44314,"name":"element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44277,"src":"11215:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11182:40:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":44328,"nodeType":"Block","src":"11385:43:50","statements":[{"expression":{"id":44326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44324,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44287,"src":"11403:4:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":44325,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44302,"src":"11410:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11403:10:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44327,"nodeType":"ExpressionStatement","src":"11403:10:50"}]},"id":44329,"nodeType":"IfStatement","src":"11178:250:50","trueBody":{"id":44323,"nodeType":"Block","src":"11224:155:50","statements":[{"id":44322,"nodeType":"UncheckedBlock","src":"11301:64:50","statements":[{"expression":{"id":44320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44316,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44283,"src":"11333:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44317,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44302,"src":"11339:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":44318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11345:1:50","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11339:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11333:13:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44321,"nodeType":"ExpressionStatement","src":"11333:13:50"}]}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44298,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44283,"src":"10894:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":44299,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44287,"src":"10900:4:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10894:10:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44331,"nodeType":"WhileStatement","src":"10887:551:50"},{"expression":{"id":44332,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44283,"src":"11455:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":44281,"id":44333,"nodeType":"Return","src":"11448:10:50"}]},"documentation":{"id":44272,"nodeType":"StructuredDocumentation","src":"10245:412:50","text":" @dev Searches an `array` sorted in ascending order and returns the first\n index that contains a value greater or equal than `element`. If no such index\n exists (i.e. all values in the array are strictly less than `element`), the array\n length is returned. Time complexity O(log n).\n See C++'s https://en.cppreference.com/w/cpp/algorithm/lower_bound[lower_bound]."},"implemented":true,"kind":"function","modifiers":[],"name":"lowerBound","nameLocation":"10671:10:50","parameters":{"id":44278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44275,"mutability":"mutable","name":"array","nameLocation":"10700:5:50","nodeType":"VariableDeclaration","scope":44335,"src":"10682:23:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":44273,"name":"uint256","nodeType":"ElementaryTypeName","src":"10682:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44274,"nodeType":"ArrayTypeName","src":"10682:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":44277,"mutability":"mutable","name":"element","nameLocation":"10715:7:50","nodeType":"VariableDeclaration","scope":44335,"src":"10707:15:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44276,"name":"uint256","nodeType":"ElementaryTypeName","src":"10707:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10681:42:50"},"returnParameters":{"id":44281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44280,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44335,"src":"10747:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44279,"name":"uint256","nodeType":"ElementaryTypeName","src":"10747:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10746:9:50"},"scope":44776,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44399,"nodeType":"FunctionDefinition","src":"11888:803:50","nodes":[],"body":{"id":44398,"nodeType":"Block","src":"11982:709:50","nodes":[],"statements":[{"assignments":[44347],"declarations":[{"constant":false,"id":44347,"mutability":"mutable","name":"low","nameLocation":"12000:3:50","nodeType":"VariableDeclaration","scope":44398,"src":"11992:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44346,"name":"uint256","nodeType":"ElementaryTypeName","src":"11992:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44349,"initialValue":{"hexValue":"30","id":44348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12006:1:50","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11992:15:50"},{"assignments":[44351],"declarations":[{"constant":false,"id":44351,"mutability":"mutable","name":"high","nameLocation":"12025:4:50","nodeType":"VariableDeclaration","scope":44398,"src":"12017:12:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44350,"name":"uint256","nodeType":"ElementaryTypeName","src":"12017:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44354,"initialValue":{"expression":{"id":44352,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44339,"src":"12032:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},"id":44353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12038:6:50","memberName":"length","nodeType":"MemberAccess","src":"12032:12:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12017:27:50"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44355,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44351,"src":"12059:4:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":44356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12067:1:50","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12059:9:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44361,"nodeType":"IfStatement","src":"12055:48:50","trueBody":{"id":44360,"nodeType":"Block","src":"12070:33:50","statements":[{"expression":{"hexValue":"30","id":44358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12091:1:50","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":44345,"id":44359,"nodeType":"Return","src":"12084:8:50"}]}},{"body":{"id":44394,"nodeType":"Block","src":"12132:532:50","statements":[{"assignments":[44366],"declarations":[{"constant":false,"id":44366,"mutability":"mutable","name":"mid","nameLocation":"12154:3:50","nodeType":"VariableDeclaration","scope":44394,"src":"12146:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44365,"name":"uint256","nodeType":"ElementaryTypeName","src":"12146:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44372,"initialValue":{"arguments":[{"id":44369,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44347,"src":"12173:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44370,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44351,"src":"12178:4:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":44367,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48420,"src":"12160:4:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$48420_$","typeString":"type(library Math)"}},"id":44368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12165:7:50","memberName":"average","nodeType":"MemberAccess","referencedDeclaration":47149,"src":"12160:12:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":44371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12160:23:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12146:37:50"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":44374,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44339,"src":"12421:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"}},{"id":44375,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44366,"src":"12428:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44373,"name":"unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[44551,44577,44603,44629,44655],"referencedDeclaration":44603,"src":"12408:12:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Uint256Slot_$45057_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256) pure returns (struct StorageSlot.Uint256Slot storage pointer)"}},"id":44376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12408:24:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Uint256Slot_$45057_storage_ptr","typeString":"struct StorageSlot.Uint256Slot storage pointer"}},"id":44377,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12433:5:50","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":45056,"src":"12408:30:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":44378,"name":"element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44341,"src":"12441:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12408:40:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":44392,"nodeType":"Block","src":"12499:155:50","statements":[{"id":44391,"nodeType":"UncheckedBlock","src":"12576:64:50","statements":[{"expression":{"id":44389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44385,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44347,"src":"12608:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44386,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44366,"src":"12614:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":44387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12620:1:50","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12614:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12608:13:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44390,"nodeType":"ExpressionStatement","src":"12608:13:50"}]}]},"id":44393,"nodeType":"IfStatement","src":"12404:250:50","trueBody":{"id":44384,"nodeType":"Block","src":"12450:43:50","statements":[{"expression":{"id":44382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44380,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44351,"src":"12468:4:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":44381,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44366,"src":"12475:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12468:10:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44383,"nodeType":"ExpressionStatement","src":"12468:10:50"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44362,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44347,"src":"12120:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":44363,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44351,"src":"12126:4:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12120:10:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44395,"nodeType":"WhileStatement","src":"12113:551:50"},{"expression":{"id":44396,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44347,"src":"12681:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":44345,"id":44397,"nodeType":"Return","src":"12674:10:50"}]},"documentation":{"id":44336,"nodeType":"StructuredDocumentation","src":"11471:412:50","text":" @dev Searches an `array` sorted in ascending order and returns the first\n index that contains a value strictly greater than `element`. If no such index\n exists (i.e. all values in the array are strictly less than `element`), the array\n length is returned. Time complexity O(log n).\n See C++'s https://en.cppreference.com/w/cpp/algorithm/upper_bound[upper_bound]."},"implemented":true,"kind":"function","modifiers":[],"name":"upperBound","nameLocation":"11897:10:50","parameters":{"id":44342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44339,"mutability":"mutable","name":"array","nameLocation":"11926:5:50","nodeType":"VariableDeclaration","scope":44399,"src":"11908:23:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":44337,"name":"uint256","nodeType":"ElementaryTypeName","src":"11908:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44338,"nodeType":"ArrayTypeName","src":"11908:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":44341,"mutability":"mutable","name":"element","nameLocation":"11941:7:50","nodeType":"VariableDeclaration","scope":44399,"src":"11933:15:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44340,"name":"uint256","nodeType":"ElementaryTypeName","src":"11933:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11907:42:50"},"returnParameters":{"id":44345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44344,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44399,"src":"11973:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44343,"name":"uint256","nodeType":"ElementaryTypeName","src":"11973:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11972:9:50"},"scope":44776,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44462,"nodeType":"FunctionDefinition","src":"12776:808:50","nodes":[],"body":{"id":44461,"nodeType":"Block","src":"12875:709:50","nodes":[],"statements":[{"assignments":[44411],"declarations":[{"constant":false,"id":44411,"mutability":"mutable","name":"low","nameLocation":"12893:3:50","nodeType":"VariableDeclaration","scope":44461,"src":"12885:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44410,"name":"uint256","nodeType":"ElementaryTypeName","src":"12885:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44413,"initialValue":{"hexValue":"30","id":44412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12899:1:50","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"12885:15:50"},{"assignments":[44415],"declarations":[{"constant":false,"id":44415,"mutability":"mutable","name":"high","nameLocation":"12918:4:50","nodeType":"VariableDeclaration","scope":44461,"src":"12910:12:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44414,"name":"uint256","nodeType":"ElementaryTypeName","src":"12910:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44418,"initialValue":{"expression":{"id":44416,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44403,"src":"12925:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":44417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12931:6:50","memberName":"length","nodeType":"MemberAccess","src":"12925:12:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12910:27:50"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44419,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44415,"src":"12952:4:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":44420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12960:1:50","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12952:9:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44425,"nodeType":"IfStatement","src":"12948:48:50","trueBody":{"id":44424,"nodeType":"Block","src":"12963:33:50","statements":[{"expression":{"hexValue":"30","id":44422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12984:1:50","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":44409,"id":44423,"nodeType":"Return","src":"12977:8:50"}]}},{"body":{"id":44457,"nodeType":"Block","src":"13025:532:50","statements":[{"assignments":[44430],"declarations":[{"constant":false,"id":44430,"mutability":"mutable","name":"mid","nameLocation":"13047:3:50","nodeType":"VariableDeclaration","scope":44457,"src":"13039:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44429,"name":"uint256","nodeType":"ElementaryTypeName","src":"13039:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44436,"initialValue":{"arguments":[{"id":44433,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44411,"src":"13066:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44434,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44415,"src":"13071:4:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":44431,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48420,"src":"13053:4:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$48420_$","typeString":"type(library Math)"}},"id":44432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13058:7:50","memberName":"average","nodeType":"MemberAccess","referencedDeclaration":47149,"src":"13053:12:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":44435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13053:23:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13039:37:50"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":44438,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44403,"src":"13320:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":44439,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44430,"src":"13327:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44437,"name":"unsafeMemoryAccess","nodeType":"Identifier","overloadedDeclarations":[44668,44681,44694,44707,44720],"referencedDeclaration":44694,"src":"13301:18:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256[] memory,uint256) pure returns (uint256)"}},"id":44440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13301:30:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":44441,"name":"element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44405,"src":"13334:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13301:40:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":44455,"nodeType":"Block","src":"13504:43:50","statements":[{"expression":{"id":44453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44451,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44415,"src":"13522:4:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":44452,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44430,"src":"13529:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13522:10:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44454,"nodeType":"ExpressionStatement","src":"13522:10:50"}]},"id":44456,"nodeType":"IfStatement","src":"13297:250:50","trueBody":{"id":44450,"nodeType":"Block","src":"13343:155:50","statements":[{"id":44449,"nodeType":"UncheckedBlock","src":"13420:64:50","statements":[{"expression":{"id":44447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44443,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44411,"src":"13452:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44444,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44430,"src":"13458:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":44445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13464:1:50","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13458:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13452:13:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44448,"nodeType":"ExpressionStatement","src":"13452:13:50"}]}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44426,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44411,"src":"13013:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":44427,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44415,"src":"13019:4:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13013:10:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44458,"nodeType":"WhileStatement","src":"13006:551:50"},{"expression":{"id":44459,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44411,"src":"13574:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":44409,"id":44460,"nodeType":"Return","src":"13567:10:50"}]},"documentation":{"id":44400,"nodeType":"StructuredDocumentation","src":"12697:74:50","text":" @dev Same as {lowerBound}, but with an array in memory."},"implemented":true,"kind":"function","modifiers":[],"name":"lowerBoundMemory","nameLocation":"12785:16:50","parameters":{"id":44406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44403,"mutability":"mutable","name":"array","nameLocation":"12819:5:50","nodeType":"VariableDeclaration","scope":44462,"src":"12802:22:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":44401,"name":"uint256","nodeType":"ElementaryTypeName","src":"12802:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44402,"nodeType":"ArrayTypeName","src":"12802:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":44405,"mutability":"mutable","name":"element","nameLocation":"12834:7:50","nodeType":"VariableDeclaration","scope":44462,"src":"12826:15:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44404,"name":"uint256","nodeType":"ElementaryTypeName","src":"12826:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12801:41:50"},"returnParameters":{"id":44409,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44408,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44462,"src":"12866:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44407,"name":"uint256","nodeType":"ElementaryTypeName","src":"12866:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12865:9:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44525,"nodeType":"FunctionDefinition","src":"13669:808:50","nodes":[],"body":{"id":44524,"nodeType":"Block","src":"13768:709:50","nodes":[],"statements":[{"assignments":[44474],"declarations":[{"constant":false,"id":44474,"mutability":"mutable","name":"low","nameLocation":"13786:3:50","nodeType":"VariableDeclaration","scope":44524,"src":"13778:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44473,"name":"uint256","nodeType":"ElementaryTypeName","src":"13778:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44476,"initialValue":{"hexValue":"30","id":44475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13792:1:50","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"13778:15:50"},{"assignments":[44478],"declarations":[{"constant":false,"id":44478,"mutability":"mutable","name":"high","nameLocation":"13811:4:50","nodeType":"VariableDeclaration","scope":44524,"src":"13803:12:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44477,"name":"uint256","nodeType":"ElementaryTypeName","src":"13803:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44481,"initialValue":{"expression":{"id":44479,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44466,"src":"13818:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":44480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13824:6:50","memberName":"length","nodeType":"MemberAccess","src":"13818:12:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13803:27:50"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44482,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44478,"src":"13845:4:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":44483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13853:1:50","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13845:9:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44488,"nodeType":"IfStatement","src":"13841:48:50","trueBody":{"id":44487,"nodeType":"Block","src":"13856:33:50","statements":[{"expression":{"hexValue":"30","id":44485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13877:1:50","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":44472,"id":44486,"nodeType":"Return","src":"13870:8:50"}]}},{"body":{"id":44520,"nodeType":"Block","src":"13918:532:50","statements":[{"assignments":[44493],"declarations":[{"constant":false,"id":44493,"mutability":"mutable","name":"mid","nameLocation":"13940:3:50","nodeType":"VariableDeclaration","scope":44520,"src":"13932:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44492,"name":"uint256","nodeType":"ElementaryTypeName","src":"13932:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":44499,"initialValue":{"arguments":[{"id":44496,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44474,"src":"13959:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44497,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44478,"src":"13964:4:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":44494,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48420,"src":"13946:4:50","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$48420_$","typeString":"type(library Math)"}},"id":44495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13951:7:50","memberName":"average","nodeType":"MemberAccess","referencedDeclaration":47149,"src":"13946:12:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":44498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13946:23:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13932:37:50"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":44501,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44466,"src":"14213:5:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":44502,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44493,"src":"14220:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44500,"name":"unsafeMemoryAccess","nodeType":"Identifier","overloadedDeclarations":[44668,44681,44694,44707,44720],"referencedDeclaration":44694,"src":"14194:18:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256[] memory,uint256) pure returns (uint256)"}},"id":44503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14194:30:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":44504,"name":"element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44468,"src":"14227:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14194:40:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":44518,"nodeType":"Block","src":"14285:155:50","statements":[{"id":44517,"nodeType":"UncheckedBlock","src":"14362:64:50","statements":[{"expression":{"id":44515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44511,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44474,"src":"14394:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44512,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44493,"src":"14400:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":44513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14406:1:50","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"14400:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14394:13:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44516,"nodeType":"ExpressionStatement","src":"14394:13:50"}]}]},"id":44519,"nodeType":"IfStatement","src":"14190:250:50","trueBody":{"id":44510,"nodeType":"Block","src":"14236:43:50","statements":[{"expression":{"id":44508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44506,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44478,"src":"14254:4:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":44507,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44493,"src":"14261:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14254:10:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44509,"nodeType":"ExpressionStatement","src":"14254:10:50"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44489,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44474,"src":"13906:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":44490,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44478,"src":"13912:4:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13906:10:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":44521,"nodeType":"WhileStatement","src":"13899:551:50"},{"expression":{"id":44522,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44474,"src":"14467:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":44472,"id":44523,"nodeType":"Return","src":"14460:10:50"}]},"documentation":{"id":44463,"nodeType":"StructuredDocumentation","src":"13590:74:50","text":" @dev Same as {upperBound}, but with an array in memory."},"implemented":true,"kind":"function","modifiers":[],"name":"upperBoundMemory","nameLocation":"13678:16:50","parameters":{"id":44469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44466,"mutability":"mutable","name":"array","nameLocation":"13712:5:50","nodeType":"VariableDeclaration","scope":44525,"src":"13695:22:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":44464,"name":"uint256","nodeType":"ElementaryTypeName","src":"13695:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44465,"nodeType":"ArrayTypeName","src":"13695:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":44468,"mutability":"mutable","name":"element","nameLocation":"13727:7:50","nodeType":"VariableDeclaration","scope":44525,"src":"13719:15:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44467,"name":"uint256","nodeType":"ElementaryTypeName","src":"13719:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13694:41:50"},"returnParameters":{"id":44472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44471,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44525,"src":"13759:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44470,"name":"uint256","nodeType":"ElementaryTypeName","src":"13759:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13758:9:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44551,"nodeType":"FunctionDefinition","src":"14679:281:50","nodes":[],"body":{"id":44550,"nodeType":"Block","src":"14793:167:50","nodes":[],"statements":[{"assignments":[44538],"declarations":[{"constant":false,"id":44538,"mutability":"mutable","name":"slot","nameLocation":"14811:4:50","nodeType":"VariableDeclaration","scope":44550,"src":"14803:12:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44537,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14803:7:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44539,"nodeType":"VariableDeclarationStatement","src":"14803:12:50"},{"AST":{"nativeSrc":"14850:40:50","nodeType":"YulBlock","src":"14850:40:50","statements":[{"nativeSrc":"14864:16:50","nodeType":"YulAssignment","src":"14864:16:50","value":{"name":"arr.slot","nativeSrc":"14872:8:50","nodeType":"YulIdentifier","src":"14872:8:50"},"variableNames":[{"name":"slot","nativeSrc":"14864:4:50","nodeType":"YulIdentifier","src":"14864:4:50"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44529,"isOffset":false,"isSlot":true,"src":"14872:8:50","suffix":"slot","valueSize":1},{"declaration":44538,"isOffset":false,"isSlot":false,"src":"14864:4:50","valueSize":1}],"flags":["memory-safe"],"id":44540,"nodeType":"InlineAssembly","src":"14825:65:50"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":44545,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44531,"src":"14932:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":44541,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44538,"src":"14906:4:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14911:11:50","memberName":"deriveArray","nodeType":"MemberAccess","referencedDeclaration":44957,"src":"14906:16:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$attached_to$_t_bytes32_$","typeString":"function (bytes32) pure returns (bytes32)"}},"id":44543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14906:18:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14925:6:50","memberName":"offset","nodeType":"MemberAccess","referencedDeclaration":44947,"src":"14906:25:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint256_$returns$_t_bytes32_$attached_to$_t_bytes32_$","typeString":"function (bytes32,uint256) pure returns (bytes32)"}},"id":44546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14906:30:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14937:14:50","memberName":"getAddressSlot","nodeType":"MemberAccess","referencedDeclaration":45077,"src":"14906:45:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$45048_storage_ptr_$attached_to$_t_bytes32_$","typeString":"function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)"}},"id":44548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14906:47:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$45048_storage_ptr","typeString":"struct StorageSlot.AddressSlot storage pointer"}},"functionReturnParameters":44536,"id":44549,"nodeType":"Return","src":"14899:54:50"}]},"documentation":{"id":44526,"nodeType":"StructuredDocumentation","src":"14483:191:50","text":" @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n WARNING: Only use if you are certain `pos` is lower than the array length."},"implemented":true,"kind":"function","modifiers":[],"name":"unsafeAccess","nameLocation":"14688:12:50","parameters":{"id":44532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44529,"mutability":"mutable","name":"arr","nameLocation":"14719:3:50","nodeType":"VariableDeclaration","scope":44551,"src":"14701:21:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":44527,"name":"address","nodeType":"ElementaryTypeName","src":"14701:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":44528,"nodeType":"ArrayTypeName","src":"14701:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":44531,"mutability":"mutable","name":"pos","nameLocation":"14732:3:50","nodeType":"VariableDeclaration","scope":44551,"src":"14724:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44530,"name":"uint256","nodeType":"ElementaryTypeName","src":"14724:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14700:36:50"},"returnParameters":{"id":44536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44535,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44551,"src":"14760:31:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$45048_storage_ptr","typeString":"struct StorageSlot.AddressSlot"},"typeName":{"id":44534,"nodeType":"UserDefinedTypeName","pathNode":{"id":44533,"name":"StorageSlot.AddressSlot","nameLocations":["14760:11:50","14772:11:50"],"nodeType":"IdentifierPath","referencedDeclaration":45048,"src":"14760:23:50"},"referencedDeclaration":45048,"src":"14760:23:50","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$45048_storage_ptr","typeString":"struct StorageSlot.AddressSlot"}},"visibility":"internal"}],"src":"14759:33:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44577,"nodeType":"FunctionDefinition","src":"15162:281:50","nodes":[],"body":{"id":44576,"nodeType":"Block","src":"15276:167:50","nodes":[],"statements":[{"assignments":[44564],"declarations":[{"constant":false,"id":44564,"mutability":"mutable","name":"slot","nameLocation":"15294:4:50","nodeType":"VariableDeclaration","scope":44576,"src":"15286:12:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44563,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15286:7:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44565,"nodeType":"VariableDeclarationStatement","src":"15286:12:50"},{"AST":{"nativeSrc":"15333:40:50","nodeType":"YulBlock","src":"15333:40:50","statements":[{"nativeSrc":"15347:16:50","nodeType":"YulAssignment","src":"15347:16:50","value":{"name":"arr.slot","nativeSrc":"15355:8:50","nodeType":"YulIdentifier","src":"15355:8:50"},"variableNames":[{"name":"slot","nativeSrc":"15347:4:50","nodeType":"YulIdentifier","src":"15347:4:50"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44555,"isOffset":false,"isSlot":true,"src":"15355:8:50","suffix":"slot","valueSize":1},{"declaration":44564,"isOffset":false,"isSlot":false,"src":"15347:4:50","valueSize":1}],"flags":["memory-safe"],"id":44566,"nodeType":"InlineAssembly","src":"15308:65:50"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":44571,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44557,"src":"15415:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":44567,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44564,"src":"15389:4:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15394:11:50","memberName":"deriveArray","nodeType":"MemberAccess","referencedDeclaration":44957,"src":"15389:16:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$attached_to$_t_bytes32_$","typeString":"function (bytes32) pure returns (bytes32)"}},"id":44569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15389:18:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15408:6:50","memberName":"offset","nodeType":"MemberAccess","referencedDeclaration":44947,"src":"15389:25:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint256_$returns$_t_bytes32_$attached_to$_t_bytes32_$","typeString":"function (bytes32,uint256) pure returns (bytes32)"}},"id":44572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15389:30:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15420:14:50","memberName":"getBytes32Slot","nodeType":"MemberAccess","referencedDeclaration":45099,"src":"15389:45:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_Bytes32Slot_$45054_storage_ptr_$attached_to$_t_bytes32_$","typeString":"function (bytes32) pure returns (struct StorageSlot.Bytes32Slot storage pointer)"}},"id":44574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15389:47:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Slot_$45054_storage_ptr","typeString":"struct StorageSlot.Bytes32Slot storage pointer"}},"functionReturnParameters":44562,"id":44575,"nodeType":"Return","src":"15382:54:50"}]},"documentation":{"id":44552,"nodeType":"StructuredDocumentation","src":"14966:191:50","text":" @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n WARNING: Only use if you are certain `pos` is lower than the array length."},"implemented":true,"kind":"function","modifiers":[],"name":"unsafeAccess","nameLocation":"15171:12:50","parameters":{"id":44558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44555,"mutability":"mutable","name":"arr","nameLocation":"15202:3:50","nodeType":"VariableDeclaration","scope":44577,"src":"15184:21:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":44553,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15184:7:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44554,"nodeType":"ArrayTypeName","src":"15184:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":44557,"mutability":"mutable","name":"pos","nameLocation":"15215:3:50","nodeType":"VariableDeclaration","scope":44577,"src":"15207:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44556,"name":"uint256","nodeType":"ElementaryTypeName","src":"15207:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15183:36:50"},"returnParameters":{"id":44562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44561,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44577,"src":"15243:31:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Slot_$45054_storage_ptr","typeString":"struct StorageSlot.Bytes32Slot"},"typeName":{"id":44560,"nodeType":"UserDefinedTypeName","pathNode":{"id":44559,"name":"StorageSlot.Bytes32Slot","nameLocations":["15243:11:50","15255:11:50"],"nodeType":"IdentifierPath","referencedDeclaration":45054,"src":"15243:23:50"},"referencedDeclaration":45054,"src":"15243:23:50","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Slot_$45054_storage_ptr","typeString":"struct StorageSlot.Bytes32Slot"}},"visibility":"internal"}],"src":"15242:33:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44603,"nodeType":"FunctionDefinition","src":"15645:281:50","nodes":[],"body":{"id":44602,"nodeType":"Block","src":"15759:167:50","nodes":[],"statements":[{"assignments":[44590],"declarations":[{"constant":false,"id":44590,"mutability":"mutable","name":"slot","nameLocation":"15777:4:50","nodeType":"VariableDeclaration","scope":44602,"src":"15769:12:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44589,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15769:7:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44591,"nodeType":"VariableDeclarationStatement","src":"15769:12:50"},{"AST":{"nativeSrc":"15816:40:50","nodeType":"YulBlock","src":"15816:40:50","statements":[{"nativeSrc":"15830:16:50","nodeType":"YulAssignment","src":"15830:16:50","value":{"name":"arr.slot","nativeSrc":"15838:8:50","nodeType":"YulIdentifier","src":"15838:8:50"},"variableNames":[{"name":"slot","nativeSrc":"15830:4:50","nodeType":"YulIdentifier","src":"15830:4:50"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44581,"isOffset":false,"isSlot":true,"src":"15838:8:50","suffix":"slot","valueSize":1},{"declaration":44590,"isOffset":false,"isSlot":false,"src":"15830:4:50","valueSize":1}],"flags":["memory-safe"],"id":44592,"nodeType":"InlineAssembly","src":"15791:65:50"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":44597,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44583,"src":"15898:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":44593,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44590,"src":"15872:4:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15877:11:50","memberName":"deriveArray","nodeType":"MemberAccess","referencedDeclaration":44957,"src":"15872:16:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$attached_to$_t_bytes32_$","typeString":"function (bytes32) pure returns (bytes32)"}},"id":44595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15872:18:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15891:6:50","memberName":"offset","nodeType":"MemberAccess","referencedDeclaration":44947,"src":"15872:25:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint256_$returns$_t_bytes32_$attached_to$_t_bytes32_$","typeString":"function (bytes32,uint256) pure returns (bytes32)"}},"id":44598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15872:30:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15903:14:50","memberName":"getUint256Slot","nodeType":"MemberAccess","referencedDeclaration":45110,"src":"15872:45:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_Uint256Slot_$45057_storage_ptr_$attached_to$_t_bytes32_$","typeString":"function (bytes32) pure returns (struct StorageSlot.Uint256Slot storage pointer)"}},"id":44600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15872:47:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Uint256Slot_$45057_storage_ptr","typeString":"struct StorageSlot.Uint256Slot storage pointer"}},"functionReturnParameters":44588,"id":44601,"nodeType":"Return","src":"15865:54:50"}]},"documentation":{"id":44578,"nodeType":"StructuredDocumentation","src":"15449:191:50","text":" @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n WARNING: Only use if you are certain `pos` is lower than the array length."},"implemented":true,"kind":"function","modifiers":[],"name":"unsafeAccess","nameLocation":"15654:12:50","parameters":{"id":44584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44581,"mutability":"mutable","name":"arr","nameLocation":"15685:3:50","nodeType":"VariableDeclaration","scope":44603,"src":"15667:21:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":44579,"name":"uint256","nodeType":"ElementaryTypeName","src":"15667:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44580,"nodeType":"ArrayTypeName","src":"15667:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":44583,"mutability":"mutable","name":"pos","nameLocation":"15698:3:50","nodeType":"VariableDeclaration","scope":44603,"src":"15690:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44582,"name":"uint256","nodeType":"ElementaryTypeName","src":"15690:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15666:36:50"},"returnParameters":{"id":44588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44587,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44603,"src":"15726:31:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Uint256Slot_$45057_storage_ptr","typeString":"struct StorageSlot.Uint256Slot"},"typeName":{"id":44586,"nodeType":"UserDefinedTypeName","pathNode":{"id":44585,"name":"StorageSlot.Uint256Slot","nameLocations":["15726:11:50","15738:11:50"],"nodeType":"IdentifierPath","referencedDeclaration":45057,"src":"15726:23:50"},"referencedDeclaration":45057,"src":"15726:23:50","typeDescriptions":{"typeIdentifier":"t_struct$_Uint256Slot_$45057_storage_ptr","typeString":"struct StorageSlot.Uint256Slot"}},"visibility":"internal"}],"src":"15725:33:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44629,"nodeType":"FunctionDefinition","src":"16128:275:50","nodes":[],"body":{"id":44628,"nodeType":"Block","src":"16238:165:50","nodes":[],"statements":[{"assignments":[44616],"declarations":[{"constant":false,"id":44616,"mutability":"mutable","name":"slot","nameLocation":"16256:4:50","nodeType":"VariableDeclaration","scope":44628,"src":"16248:12:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44615,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16248:7:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44617,"nodeType":"VariableDeclarationStatement","src":"16248:12:50"},{"AST":{"nativeSrc":"16295:40:50","nodeType":"YulBlock","src":"16295:40:50","statements":[{"nativeSrc":"16309:16:50","nodeType":"YulAssignment","src":"16309:16:50","value":{"name":"arr.slot","nativeSrc":"16317:8:50","nodeType":"YulIdentifier","src":"16317:8:50"},"variableNames":[{"name":"slot","nativeSrc":"16309:4:50","nodeType":"YulIdentifier","src":"16309:4:50"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44607,"isOffset":false,"isSlot":true,"src":"16317:8:50","suffix":"slot","valueSize":1},{"declaration":44616,"isOffset":false,"isSlot":false,"src":"16309:4:50","valueSize":1}],"flags":["memory-safe"],"id":44618,"nodeType":"InlineAssembly","src":"16270:65:50"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":44623,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44609,"src":"16377:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":44619,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44616,"src":"16351:4:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16356:11:50","memberName":"deriveArray","nodeType":"MemberAccess","referencedDeclaration":44957,"src":"16351:16:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$attached_to$_t_bytes32_$","typeString":"function (bytes32) pure returns (bytes32)"}},"id":44621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16351:18:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16370:6:50","memberName":"offset","nodeType":"MemberAccess","referencedDeclaration":44947,"src":"16351:25:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint256_$returns$_t_bytes32_$attached_to$_t_bytes32_$","typeString":"function (bytes32,uint256) pure returns (bytes32)"}},"id":44624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16351:30:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16382:12:50","memberName":"getBytesSlot","nodeType":"MemberAccess","referencedDeclaration":45154,"src":"16351:43:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_BytesSlot_$45066_storage_ptr_$attached_to$_t_bytes32_$","typeString":"function (bytes32) pure returns (struct StorageSlot.BytesSlot storage pointer)"}},"id":44626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16351:45:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_BytesSlot_$45066_storage_ptr","typeString":"struct StorageSlot.BytesSlot storage pointer"}},"functionReturnParameters":44614,"id":44627,"nodeType":"Return","src":"16344:52:50"}]},"documentation":{"id":44604,"nodeType":"StructuredDocumentation","src":"15932:191:50","text":" @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n WARNING: Only use if you are certain `pos` is lower than the array length."},"implemented":true,"kind":"function","modifiers":[],"name":"unsafeAccess","nameLocation":"16137:12:50","parameters":{"id":44610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44607,"mutability":"mutable","name":"arr","nameLocation":"16166:3:50","nodeType":"VariableDeclaration","scope":44629,"src":"16150:19:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":44605,"name":"bytes","nodeType":"ElementaryTypeName","src":"16150:5:50","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":44606,"nodeType":"ArrayTypeName","src":"16150:7:50","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":44609,"mutability":"mutable","name":"pos","nameLocation":"16179:3:50","nodeType":"VariableDeclaration","scope":44629,"src":"16171:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44608,"name":"uint256","nodeType":"ElementaryTypeName","src":"16171:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16149:34:50"},"returnParameters":{"id":44614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44613,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44629,"src":"16207:29:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSlot_$45066_storage_ptr","typeString":"struct StorageSlot.BytesSlot"},"typeName":{"id":44612,"nodeType":"UserDefinedTypeName","pathNode":{"id":44611,"name":"StorageSlot.BytesSlot","nameLocations":["16207:11:50","16219:9:50"],"nodeType":"IdentifierPath","referencedDeclaration":45066,"src":"16207:21:50"},"referencedDeclaration":45066,"src":"16207:21:50","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSlot_$45066_storage_ptr","typeString":"struct StorageSlot.BytesSlot"}},"visibility":"internal"}],"src":"16206:31:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44655,"nodeType":"FunctionDefinition","src":"16605:278:50","nodes":[],"body":{"id":44654,"nodeType":"Block","src":"16717:166:50","nodes":[],"statements":[{"assignments":[44642],"declarations":[{"constant":false,"id":44642,"mutability":"mutable","name":"slot","nameLocation":"16735:4:50","nodeType":"VariableDeclaration","scope":44654,"src":"16727:12:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44641,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16727:7:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":44643,"nodeType":"VariableDeclarationStatement","src":"16727:12:50"},{"AST":{"nativeSrc":"16774:40:50","nodeType":"YulBlock","src":"16774:40:50","statements":[{"nativeSrc":"16788:16:50","nodeType":"YulAssignment","src":"16788:16:50","value":{"name":"arr.slot","nativeSrc":"16796:8:50","nodeType":"YulIdentifier","src":"16796:8:50"},"variableNames":[{"name":"slot","nativeSrc":"16788:4:50","nodeType":"YulIdentifier","src":"16788:4:50"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44633,"isOffset":false,"isSlot":true,"src":"16796:8:50","suffix":"slot","valueSize":1},{"declaration":44642,"isOffset":false,"isSlot":false,"src":"16788:4:50","valueSize":1}],"flags":["memory-safe"],"id":44644,"nodeType":"InlineAssembly","src":"16749:65:50"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":44649,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44635,"src":"16856:3:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":44645,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44642,"src":"16830:4:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16835:11:50","memberName":"deriveArray","nodeType":"MemberAccess","referencedDeclaration":44957,"src":"16830:16:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$attached_to$_t_bytes32_$","typeString":"function (bytes32) pure returns (bytes32)"}},"id":44647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16830:18:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16849:6:50","memberName":"offset","nodeType":"MemberAccess","referencedDeclaration":44947,"src":"16830:25:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint256_$returns$_t_bytes32_$attached_to$_t_bytes32_$","typeString":"function (bytes32,uint256) pure returns (bytes32)"}},"id":44650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16830:30:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16861:13:50","memberName":"getStringSlot","nodeType":"MemberAccess","referencedDeclaration":45132,"src":"16830:44:50","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_struct$_StringSlot_$45063_storage_ptr_$attached_to$_t_bytes32_$","typeString":"function (bytes32) pure returns (struct StorageSlot.StringSlot storage pointer)"}},"id":44652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16830:46:50","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StringSlot_$45063_storage_ptr","typeString":"struct StorageSlot.StringSlot storage pointer"}},"functionReturnParameters":44640,"id":44653,"nodeType":"Return","src":"16823:53:50"}]},"documentation":{"id":44630,"nodeType":"StructuredDocumentation","src":"16409:191:50","text":" @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n WARNING: Only use if you are certain `pos` is lower than the array length."},"implemented":true,"kind":"function","modifiers":[],"name":"unsafeAccess","nameLocation":"16614:12:50","parameters":{"id":44636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44633,"mutability":"mutable","name":"arr","nameLocation":"16644:3:50","nodeType":"VariableDeclaration","scope":44655,"src":"16627:20:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":44631,"name":"string","nodeType":"ElementaryTypeName","src":"16627:6:50","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":44632,"nodeType":"ArrayTypeName","src":"16627:8:50","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":44635,"mutability":"mutable","name":"pos","nameLocation":"16657:3:50","nodeType":"VariableDeclaration","scope":44655,"src":"16649:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44634,"name":"uint256","nodeType":"ElementaryTypeName","src":"16649:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16626:35:50"},"returnParameters":{"id":44640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44639,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44655,"src":"16685:30:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StringSlot_$45063_storage_ptr","typeString":"struct StorageSlot.StringSlot"},"typeName":{"id":44638,"nodeType":"UserDefinedTypeName","pathNode":{"id":44637,"name":"StorageSlot.StringSlot","nameLocations":["16685:11:50","16697:10:50"],"nodeType":"IdentifierPath","referencedDeclaration":45063,"src":"16685:22:50"},"referencedDeclaration":45063,"src":"16685:22:50","typeDescriptions":{"typeIdentifier":"t_struct$_StringSlot_$45063_storage_ptr","typeString":"struct StorageSlot.StringSlot"}},"visibility":"internal"}],"src":"16684:32:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44668,"nodeType":"FunctionDefinition","src":"17085:197:50","nodes":[],"body":{"id":44667,"nodeType":"Block","src":"17184:98:50","nodes":[],"statements":[{"AST":{"nativeSrc":"17203:73:50","nodeType":"YulBlock","src":"17203:73:50","statements":[{"nativeSrc":"17217:49:50","nodeType":"YulAssignment","src":"17217:49:50","value":{"arguments":[{"arguments":[{"arguments":[{"name":"arr","nativeSrc":"17238:3:50","nodeType":"YulIdentifier","src":"17238:3:50"},{"kind":"number","nativeSrc":"17243:4:50","nodeType":"YulLiteral","src":"17243:4:50","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"17234:3:50","nodeType":"YulIdentifier","src":"17234:3:50"},"nativeSrc":"17234:14:50","nodeType":"YulFunctionCall","src":"17234:14:50"},{"arguments":[{"name":"pos","nativeSrc":"17254:3:50","nodeType":"YulIdentifier","src":"17254:3:50"},{"kind":"number","nativeSrc":"17259:4:50","nodeType":"YulLiteral","src":"17259:4:50","type":"","value":"0x20"}],"functionName":{"name":"mul","nativeSrc":"17250:3:50","nodeType":"YulIdentifier","src":"17250:3:50"},"nativeSrc":"17250:14:50","nodeType":"YulFunctionCall","src":"17250:14:50"}],"functionName":{"name":"add","nativeSrc":"17230:3:50","nodeType":"YulIdentifier","src":"17230:3:50"},"nativeSrc":"17230:35:50","nodeType":"YulFunctionCall","src":"17230:35:50"}],"functionName":{"name":"mload","nativeSrc":"17224:5:50","nodeType":"YulIdentifier","src":"17224:5:50"},"nativeSrc":"17224:42:50","nodeType":"YulFunctionCall","src":"17224:42:50"},"variableNames":[{"name":"res","nativeSrc":"17217:3:50","nodeType":"YulIdentifier","src":"17217:3:50"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44659,"isOffset":false,"isSlot":false,"src":"17238:3:50","valueSize":1},{"declaration":44661,"isOffset":false,"isSlot":false,"src":"17254:3:50","valueSize":1},{"declaration":44664,"isOffset":false,"isSlot":false,"src":"17217:3:50","valueSize":1}],"id":44666,"nodeType":"InlineAssembly","src":"17194:82:50"}]},"documentation":{"id":44656,"nodeType":"StructuredDocumentation","src":"16889:191:50","text":" @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n WARNING: Only use if you are certain `pos` is lower than the array length."},"implemented":true,"kind":"function","modifiers":[],"name":"unsafeMemoryAccess","nameLocation":"17094:18:50","parameters":{"id":44662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44659,"mutability":"mutable","name":"arr","nameLocation":"17130:3:50","nodeType":"VariableDeclaration","scope":44668,"src":"17113:20:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":44657,"name":"address","nodeType":"ElementaryTypeName","src":"17113:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":44658,"nodeType":"ArrayTypeName","src":"17113:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":44661,"mutability":"mutable","name":"pos","nameLocation":"17143:3:50","nodeType":"VariableDeclaration","scope":44668,"src":"17135:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44660,"name":"uint256","nodeType":"ElementaryTypeName","src":"17135:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17112:35:50"},"returnParameters":{"id":44665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44664,"mutability":"mutable","name":"res","nameLocation":"17179:3:50","nodeType":"VariableDeclaration","scope":44668,"src":"17171:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44663,"name":"address","nodeType":"ElementaryTypeName","src":"17171:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17170:13:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44681,"nodeType":"FunctionDefinition","src":"17484:197:50","nodes":[],"body":{"id":44680,"nodeType":"Block","src":"17583:98:50","nodes":[],"statements":[{"AST":{"nativeSrc":"17602:73:50","nodeType":"YulBlock","src":"17602:73:50","statements":[{"nativeSrc":"17616:49:50","nodeType":"YulAssignment","src":"17616:49:50","value":{"arguments":[{"arguments":[{"arguments":[{"name":"arr","nativeSrc":"17637:3:50","nodeType":"YulIdentifier","src":"17637:3:50"},{"kind":"number","nativeSrc":"17642:4:50","nodeType":"YulLiteral","src":"17642:4:50","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"17633:3:50","nodeType":"YulIdentifier","src":"17633:3:50"},"nativeSrc":"17633:14:50","nodeType":"YulFunctionCall","src":"17633:14:50"},{"arguments":[{"name":"pos","nativeSrc":"17653:3:50","nodeType":"YulIdentifier","src":"17653:3:50"},{"kind":"number","nativeSrc":"17658:4:50","nodeType":"YulLiteral","src":"17658:4:50","type":"","value":"0x20"}],"functionName":{"name":"mul","nativeSrc":"17649:3:50","nodeType":"YulIdentifier","src":"17649:3:50"},"nativeSrc":"17649:14:50","nodeType":"YulFunctionCall","src":"17649:14:50"}],"functionName":{"name":"add","nativeSrc":"17629:3:50","nodeType":"YulIdentifier","src":"17629:3:50"},"nativeSrc":"17629:35:50","nodeType":"YulFunctionCall","src":"17629:35:50"}],"functionName":{"name":"mload","nativeSrc":"17623:5:50","nodeType":"YulIdentifier","src":"17623:5:50"},"nativeSrc":"17623:42:50","nodeType":"YulFunctionCall","src":"17623:42:50"},"variableNames":[{"name":"res","nativeSrc":"17616:3:50","nodeType":"YulIdentifier","src":"17616:3:50"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44672,"isOffset":false,"isSlot":false,"src":"17637:3:50","valueSize":1},{"declaration":44674,"isOffset":false,"isSlot":false,"src":"17653:3:50","valueSize":1},{"declaration":44677,"isOffset":false,"isSlot":false,"src":"17616:3:50","valueSize":1}],"id":44679,"nodeType":"InlineAssembly","src":"17593:82:50"}]},"documentation":{"id":44669,"nodeType":"StructuredDocumentation","src":"17288:191:50","text":" @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n WARNING: Only use if you are certain `pos` is lower than the array length."},"implemented":true,"kind":"function","modifiers":[],"name":"unsafeMemoryAccess","nameLocation":"17493:18:50","parameters":{"id":44675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44672,"mutability":"mutable","name":"arr","nameLocation":"17529:3:50","nodeType":"VariableDeclaration","scope":44681,"src":"17512:20:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":44670,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17512:7:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44671,"nodeType":"ArrayTypeName","src":"17512:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":44674,"mutability":"mutable","name":"pos","nameLocation":"17542:3:50","nodeType":"VariableDeclaration","scope":44681,"src":"17534:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44673,"name":"uint256","nodeType":"ElementaryTypeName","src":"17534:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17511:35:50"},"returnParameters":{"id":44678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44677,"mutability":"mutable","name":"res","nameLocation":"17578:3:50","nodeType":"VariableDeclaration","scope":44681,"src":"17570:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44676,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17570:7:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17569:13:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44694,"nodeType":"FunctionDefinition","src":"17883:197:50","nodes":[],"body":{"id":44693,"nodeType":"Block","src":"17982:98:50","nodes":[],"statements":[{"AST":{"nativeSrc":"18001:73:50","nodeType":"YulBlock","src":"18001:73:50","statements":[{"nativeSrc":"18015:49:50","nodeType":"YulAssignment","src":"18015:49:50","value":{"arguments":[{"arguments":[{"arguments":[{"name":"arr","nativeSrc":"18036:3:50","nodeType":"YulIdentifier","src":"18036:3:50"},{"kind":"number","nativeSrc":"18041:4:50","nodeType":"YulLiteral","src":"18041:4:50","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"18032:3:50","nodeType":"YulIdentifier","src":"18032:3:50"},"nativeSrc":"18032:14:50","nodeType":"YulFunctionCall","src":"18032:14:50"},{"arguments":[{"name":"pos","nativeSrc":"18052:3:50","nodeType":"YulIdentifier","src":"18052:3:50"},{"kind":"number","nativeSrc":"18057:4:50","nodeType":"YulLiteral","src":"18057:4:50","type":"","value":"0x20"}],"functionName":{"name":"mul","nativeSrc":"18048:3:50","nodeType":"YulIdentifier","src":"18048:3:50"},"nativeSrc":"18048:14:50","nodeType":"YulFunctionCall","src":"18048:14:50"}],"functionName":{"name":"add","nativeSrc":"18028:3:50","nodeType":"YulIdentifier","src":"18028:3:50"},"nativeSrc":"18028:35:50","nodeType":"YulFunctionCall","src":"18028:35:50"}],"functionName":{"name":"mload","nativeSrc":"18022:5:50","nodeType":"YulIdentifier","src":"18022:5:50"},"nativeSrc":"18022:42:50","nodeType":"YulFunctionCall","src":"18022:42:50"},"variableNames":[{"name":"res","nativeSrc":"18015:3:50","nodeType":"YulIdentifier","src":"18015:3:50"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44685,"isOffset":false,"isSlot":false,"src":"18036:3:50","valueSize":1},{"declaration":44687,"isOffset":false,"isSlot":false,"src":"18052:3:50","valueSize":1},{"declaration":44690,"isOffset":false,"isSlot":false,"src":"18015:3:50","valueSize":1}],"id":44692,"nodeType":"InlineAssembly","src":"17992:82:50"}]},"documentation":{"id":44682,"nodeType":"StructuredDocumentation","src":"17687:191:50","text":" @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n WARNING: Only use if you are certain `pos` is lower than the array length."},"implemented":true,"kind":"function","modifiers":[],"name":"unsafeMemoryAccess","nameLocation":"17892:18:50","parameters":{"id":44688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44685,"mutability":"mutable","name":"arr","nameLocation":"17928:3:50","nodeType":"VariableDeclaration","scope":44694,"src":"17911:20:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":44683,"name":"uint256","nodeType":"ElementaryTypeName","src":"17911:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44684,"nodeType":"ArrayTypeName","src":"17911:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":44687,"mutability":"mutable","name":"pos","nameLocation":"17941:3:50","nodeType":"VariableDeclaration","scope":44694,"src":"17933:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44686,"name":"uint256","nodeType":"ElementaryTypeName","src":"17933:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17910:35:50"},"returnParameters":{"id":44691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44690,"mutability":"mutable","name":"res","nameLocation":"17977:3:50","nodeType":"VariableDeclaration","scope":44694,"src":"17969:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44689,"name":"uint256","nodeType":"ElementaryTypeName","src":"17969:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17968:13:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44707,"nodeType":"FunctionDefinition","src":"18282:200:50","nodes":[],"body":{"id":44706,"nodeType":"Block","src":"18384:98:50","nodes":[],"statements":[{"AST":{"nativeSrc":"18403:73:50","nodeType":"YulBlock","src":"18403:73:50","statements":[{"nativeSrc":"18417:49:50","nodeType":"YulAssignment","src":"18417:49:50","value":{"arguments":[{"arguments":[{"arguments":[{"name":"arr","nativeSrc":"18438:3:50","nodeType":"YulIdentifier","src":"18438:3:50"},{"kind":"number","nativeSrc":"18443:4:50","nodeType":"YulLiteral","src":"18443:4:50","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"18434:3:50","nodeType":"YulIdentifier","src":"18434:3:50"},"nativeSrc":"18434:14:50","nodeType":"YulFunctionCall","src":"18434:14:50"},{"arguments":[{"name":"pos","nativeSrc":"18454:3:50","nodeType":"YulIdentifier","src":"18454:3:50"},{"kind":"number","nativeSrc":"18459:4:50","nodeType":"YulLiteral","src":"18459:4:50","type":"","value":"0x20"}],"functionName":{"name":"mul","nativeSrc":"18450:3:50","nodeType":"YulIdentifier","src":"18450:3:50"},"nativeSrc":"18450:14:50","nodeType":"YulFunctionCall","src":"18450:14:50"}],"functionName":{"name":"add","nativeSrc":"18430:3:50","nodeType":"YulIdentifier","src":"18430:3:50"},"nativeSrc":"18430:35:50","nodeType":"YulFunctionCall","src":"18430:35:50"}],"functionName":{"name":"mload","nativeSrc":"18424:5:50","nodeType":"YulIdentifier","src":"18424:5:50"},"nativeSrc":"18424:42:50","nodeType":"YulFunctionCall","src":"18424:42:50"},"variableNames":[{"name":"res","nativeSrc":"18417:3:50","nodeType":"YulIdentifier","src":"18417:3:50"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44698,"isOffset":false,"isSlot":false,"src":"18438:3:50","valueSize":1},{"declaration":44700,"isOffset":false,"isSlot":false,"src":"18454:3:50","valueSize":1},{"declaration":44703,"isOffset":false,"isSlot":false,"src":"18417:3:50","valueSize":1}],"id":44705,"nodeType":"InlineAssembly","src":"18394:82:50"}]},"documentation":{"id":44695,"nodeType":"StructuredDocumentation","src":"18086:191:50","text":" @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n WARNING: Only use if you are certain `pos` is lower than the array length."},"implemented":true,"kind":"function","modifiers":[],"name":"unsafeMemoryAccess","nameLocation":"18291:18:50","parameters":{"id":44701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44698,"mutability":"mutable","name":"arr","nameLocation":"18325:3:50","nodeType":"VariableDeclaration","scope":44707,"src":"18310:18:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":44696,"name":"bytes","nodeType":"ElementaryTypeName","src":"18310:5:50","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":44697,"nodeType":"ArrayTypeName","src":"18310:7:50","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":44700,"mutability":"mutable","name":"pos","nameLocation":"18338:3:50","nodeType":"VariableDeclaration","scope":44707,"src":"18330:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44699,"name":"uint256","nodeType":"ElementaryTypeName","src":"18330:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18309:33:50"},"returnParameters":{"id":44704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44703,"mutability":"mutable","name":"res","nameLocation":"18379:3:50","nodeType":"VariableDeclaration","scope":44707,"src":"18366:16:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":44702,"name":"bytes","nodeType":"ElementaryTypeName","src":"18366:5:50","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"18365:18:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44720,"nodeType":"FunctionDefinition","src":"18684:202:50","nodes":[],"body":{"id":44719,"nodeType":"Block","src":"18788:98:50","nodes":[],"statements":[{"AST":{"nativeSrc":"18807:73:50","nodeType":"YulBlock","src":"18807:73:50","statements":[{"nativeSrc":"18821:49:50","nodeType":"YulAssignment","src":"18821:49:50","value":{"arguments":[{"arguments":[{"arguments":[{"name":"arr","nativeSrc":"18842:3:50","nodeType":"YulIdentifier","src":"18842:3:50"},{"kind":"number","nativeSrc":"18847:4:50","nodeType":"YulLiteral","src":"18847:4:50","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"18838:3:50","nodeType":"YulIdentifier","src":"18838:3:50"},"nativeSrc":"18838:14:50","nodeType":"YulFunctionCall","src":"18838:14:50"},{"arguments":[{"name":"pos","nativeSrc":"18858:3:50","nodeType":"YulIdentifier","src":"18858:3:50"},{"kind":"number","nativeSrc":"18863:4:50","nodeType":"YulLiteral","src":"18863:4:50","type":"","value":"0x20"}],"functionName":{"name":"mul","nativeSrc":"18854:3:50","nodeType":"YulIdentifier","src":"18854:3:50"},"nativeSrc":"18854:14:50","nodeType":"YulFunctionCall","src":"18854:14:50"}],"functionName":{"name":"add","nativeSrc":"18834:3:50","nodeType":"YulIdentifier","src":"18834:3:50"},"nativeSrc":"18834:35:50","nodeType":"YulFunctionCall","src":"18834:35:50"}],"functionName":{"name":"mload","nativeSrc":"18828:5:50","nodeType":"YulIdentifier","src":"18828:5:50"},"nativeSrc":"18828:42:50","nodeType":"YulFunctionCall","src":"18828:42:50"},"variableNames":[{"name":"res","nativeSrc":"18821:3:50","nodeType":"YulIdentifier","src":"18821:3:50"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44711,"isOffset":false,"isSlot":false,"src":"18842:3:50","valueSize":1},{"declaration":44713,"isOffset":false,"isSlot":false,"src":"18858:3:50","valueSize":1},{"declaration":44716,"isOffset":false,"isSlot":false,"src":"18821:3:50","valueSize":1}],"id":44718,"nodeType":"InlineAssembly","src":"18798:82:50"}]},"documentation":{"id":44708,"nodeType":"StructuredDocumentation","src":"18488:191:50","text":" @dev Access an array in an \"unsafe\" way. Skips solidity \"index-out-of-range\" check.\n WARNING: Only use if you are certain `pos` is lower than the array length."},"implemented":true,"kind":"function","modifiers":[],"name":"unsafeMemoryAccess","nameLocation":"18693:18:50","parameters":{"id":44714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44711,"mutability":"mutable","name":"arr","nameLocation":"18728:3:50","nodeType":"VariableDeclaration","scope":44720,"src":"18712:19:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":44709,"name":"string","nodeType":"ElementaryTypeName","src":"18712:6:50","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":44710,"nodeType":"ArrayTypeName","src":"18712:8:50","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":44713,"mutability":"mutable","name":"pos","nameLocation":"18741:3:50","nodeType":"VariableDeclaration","scope":44720,"src":"18733:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44712,"name":"uint256","nodeType":"ElementaryTypeName","src":"18733:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18711:34:50"},"returnParameters":{"id":44717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44716,"mutability":"mutable","name":"res","nameLocation":"18783:3:50","nodeType":"VariableDeclaration","scope":44720,"src":"18769:17:50","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44715,"name":"string","nodeType":"ElementaryTypeName","src":"18769:6:50","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18768:19:50"},"scope":44776,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44731,"nodeType":"FunctionDefinition","src":"19130:160:50","nodes":[],"body":{"id":44730,"nodeType":"Block","src":"19202:88:50","nodes":[],"statements":[{"AST":{"nativeSrc":"19237:47:50","nodeType":"YulBlock","src":"19237:47:50","statements":[{"expression":{"arguments":[{"name":"array.slot","nativeSrc":"19258:10:50","nodeType":"YulIdentifier","src":"19258:10:50"},{"name":"len","nativeSrc":"19270:3:50","nodeType":"YulIdentifier","src":"19270:3:50"}],"functionName":{"name":"sstore","nativeSrc":"19251:6:50","nodeType":"YulIdentifier","src":"19251:6:50"},"nativeSrc":"19251:23:50","nodeType":"YulFunctionCall","src":"19251:23:50"},"nativeSrc":"19251:23:50","nodeType":"YulExpressionStatement","src":"19251:23:50"}]},"evmVersion":"cancun","externalReferences":[{"declaration":44724,"isOffset":false,"isSlot":true,"src":"19258:10:50","suffix":"slot","valueSize":1},{"declaration":44726,"isOffset":false,"isSlot":false,"src":"19270:3:50","valueSize":1}],"flags":["memory-safe"],"id":44729,"nodeType":"InlineAssembly","src":"19212:72:50"}]},"documentation":{"id":44721,"nodeType":"StructuredDocumentation","src":"18892:233:50","text":" @dev Helper to set the length of a dynamic array. Directly writing to `.length` is forbidden.\n WARNING: this does not clear elements if length is reduced, of initialize elements if length is increased."},"implemented":true,"kind":"function","modifiers":[],"name":"unsafeSetLength","nameLocation":"19139:15:50","parameters":{"id":44727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44724,"mutability":"mutable","name":"array","nameLocation":"19173:5:50","nodeType":"VariableDeclaration","scope":44731,"src":"19155:23:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":44722,"name":"address","nodeType":"ElementaryTypeName","src":"19155:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":44723,"nodeType":"ArrayTypeName","src":"19155:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":44726,"mutability":"mutable","name":"len","nameLocation":"19188:3:50","nodeType":"VariableDeclaration","scope":44731,"src":"19180:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44725,"name":"uint256","nodeType":"ElementaryTypeName","src":"19180:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19154:38:50"},"returnParameters":{"id":44728,"nodeType":"ParameterList","parameters":[],"src":"19202:0:50"},"scope":44776,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":44742,"nodeType":"FunctionDefinition","src":"19534:160:50","nodes":[],"body":{"id":44741,"nodeType":"Block","src":"19606:88:50","nodes":[],"statements":[{"AST":{"nativeSrc":"19641:47:50","nodeType":"YulBlock","src":"19641:47:50","statements":[{"expression":{"arguments":[{"name":"array.slot","nativeSrc":"19662:10:50","nodeType":"YulIdentifier","src":"19662:10:50"},{"name":"len","nativeSrc":"19674:3:50","nodeType":"YulIdentifier","src":"19674:3:50"}],"functionName":{"name":"sstore","nativeSrc":"19655:6:50","nodeType":"YulIdentifier","src":"19655:6:50"},"nativeSrc":"19655:23:50","nodeType":"YulFunctionCall","src":"19655:23:50"},"nativeSrc":"19655:23:50","nodeType":"YulExpressionStatement","src":"19655:23:50"}]},"evmVersion":"cancun","externalReferences":[{"declaration":44735,"isOffset":false,"isSlot":true,"src":"19662:10:50","suffix":"slot","valueSize":1},{"declaration":44737,"isOffset":false,"isSlot":false,"src":"19674:3:50","valueSize":1}],"flags":["memory-safe"],"id":44740,"nodeType":"InlineAssembly","src":"19616:72:50"}]},"documentation":{"id":44732,"nodeType":"StructuredDocumentation","src":"19296:233:50","text":" @dev Helper to set the length of a dynamic array. Directly writing to `.length` is forbidden.\n WARNING: this does not clear elements if length is reduced, of initialize elements if length is increased."},"implemented":true,"kind":"function","modifiers":[],"name":"unsafeSetLength","nameLocation":"19543:15:50","parameters":{"id":44738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44735,"mutability":"mutable","name":"array","nameLocation":"19577:5:50","nodeType":"VariableDeclaration","scope":44742,"src":"19559:23:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":44733,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19559:7:50","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":44734,"nodeType":"ArrayTypeName","src":"19559:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":44737,"mutability":"mutable","name":"len","nameLocation":"19592:3:50","nodeType":"VariableDeclaration","scope":44742,"src":"19584:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44736,"name":"uint256","nodeType":"ElementaryTypeName","src":"19584:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19558:38:50"},"returnParameters":{"id":44739,"nodeType":"ParameterList","parameters":[],"src":"19606:0:50"},"scope":44776,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":44753,"nodeType":"FunctionDefinition","src":"19938:160:50","nodes":[],"body":{"id":44752,"nodeType":"Block","src":"20010:88:50","nodes":[],"statements":[{"AST":{"nativeSrc":"20045:47:50","nodeType":"YulBlock","src":"20045:47:50","statements":[{"expression":{"arguments":[{"name":"array.slot","nativeSrc":"20066:10:50","nodeType":"YulIdentifier","src":"20066:10:50"},{"name":"len","nativeSrc":"20078:3:50","nodeType":"YulIdentifier","src":"20078:3:50"}],"functionName":{"name":"sstore","nativeSrc":"20059:6:50","nodeType":"YulIdentifier","src":"20059:6:50"},"nativeSrc":"20059:23:50","nodeType":"YulFunctionCall","src":"20059:23:50"},"nativeSrc":"20059:23:50","nodeType":"YulExpressionStatement","src":"20059:23:50"}]},"evmVersion":"cancun","externalReferences":[{"declaration":44746,"isOffset":false,"isSlot":true,"src":"20066:10:50","suffix":"slot","valueSize":1},{"declaration":44748,"isOffset":false,"isSlot":false,"src":"20078:3:50","valueSize":1}],"flags":["memory-safe"],"id":44751,"nodeType":"InlineAssembly","src":"20020:72:50"}]},"documentation":{"id":44743,"nodeType":"StructuredDocumentation","src":"19700:233:50","text":" @dev Helper to set the length of a dynamic array. Directly writing to `.length` is forbidden.\n WARNING: this does not clear elements if length is reduced, of initialize elements if length is increased."},"implemented":true,"kind":"function","modifiers":[],"name":"unsafeSetLength","nameLocation":"19947:15:50","parameters":{"id":44749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44746,"mutability":"mutable","name":"array","nameLocation":"19981:5:50","nodeType":"VariableDeclaration","scope":44753,"src":"19963:23:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":44744,"name":"uint256","nodeType":"ElementaryTypeName","src":"19963:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":44745,"nodeType":"ArrayTypeName","src":"19963:9:50","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":44748,"mutability":"mutable","name":"len","nameLocation":"19996:3:50","nodeType":"VariableDeclaration","scope":44753,"src":"19988:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44747,"name":"uint256","nodeType":"ElementaryTypeName","src":"19988:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19962:38:50"},"returnParameters":{"id":44750,"nodeType":"ParameterList","parameters":[],"src":"20010:0:50"},"scope":44776,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":44764,"nodeType":"FunctionDefinition","src":"20342:158:50","nodes":[],"body":{"id":44763,"nodeType":"Block","src":"20412:88:50","nodes":[],"statements":[{"AST":{"nativeSrc":"20447:47:50","nodeType":"YulBlock","src":"20447:47:50","statements":[{"expression":{"arguments":[{"name":"array.slot","nativeSrc":"20468:10:50","nodeType":"YulIdentifier","src":"20468:10:50"},{"name":"len","nativeSrc":"20480:3:50","nodeType":"YulIdentifier","src":"20480:3:50"}],"functionName":{"name":"sstore","nativeSrc":"20461:6:50","nodeType":"YulIdentifier","src":"20461:6:50"},"nativeSrc":"20461:23:50","nodeType":"YulFunctionCall","src":"20461:23:50"},"nativeSrc":"20461:23:50","nodeType":"YulExpressionStatement","src":"20461:23:50"}]},"evmVersion":"cancun","externalReferences":[{"declaration":44757,"isOffset":false,"isSlot":true,"src":"20468:10:50","suffix":"slot","valueSize":1},{"declaration":44759,"isOffset":false,"isSlot":false,"src":"20480:3:50","valueSize":1}],"flags":["memory-safe"],"id":44762,"nodeType":"InlineAssembly","src":"20422:72:50"}]},"documentation":{"id":44754,"nodeType":"StructuredDocumentation","src":"20104:233:50","text":" @dev Helper to set the length of a dynamic array. Directly writing to `.length` is forbidden.\n WARNING: this does not clear elements if length is reduced, of initialize elements if length is increased."},"implemented":true,"kind":"function","modifiers":[],"name":"unsafeSetLength","nameLocation":"20351:15:50","parameters":{"id":44760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44757,"mutability":"mutable","name":"array","nameLocation":"20383:5:50","nodeType":"VariableDeclaration","scope":44764,"src":"20367:21:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":44755,"name":"bytes","nodeType":"ElementaryTypeName","src":"20367:5:50","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":44756,"nodeType":"ArrayTypeName","src":"20367:7:50","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":44759,"mutability":"mutable","name":"len","nameLocation":"20398:3:50","nodeType":"VariableDeclaration","scope":44764,"src":"20390:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44758,"name":"uint256","nodeType":"ElementaryTypeName","src":"20390:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20366:36:50"},"returnParameters":{"id":44761,"nodeType":"ParameterList","parameters":[],"src":"20412:0:50"},"scope":44776,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":44775,"nodeType":"FunctionDefinition","src":"20744:159:50","nodes":[],"body":{"id":44774,"nodeType":"Block","src":"20815:88:50","nodes":[],"statements":[{"AST":{"nativeSrc":"20850:47:50","nodeType":"YulBlock","src":"20850:47:50","statements":[{"expression":{"arguments":[{"name":"array.slot","nativeSrc":"20871:10:50","nodeType":"YulIdentifier","src":"20871:10:50"},{"name":"len","nativeSrc":"20883:3:50","nodeType":"YulIdentifier","src":"20883:3:50"}],"functionName":{"name":"sstore","nativeSrc":"20864:6:50","nodeType":"YulIdentifier","src":"20864:6:50"},"nativeSrc":"20864:23:50","nodeType":"YulFunctionCall","src":"20864:23:50"},"nativeSrc":"20864:23:50","nodeType":"YulExpressionStatement","src":"20864:23:50"}]},"evmVersion":"cancun","externalReferences":[{"declaration":44768,"isOffset":false,"isSlot":true,"src":"20871:10:50","suffix":"slot","valueSize":1},{"declaration":44770,"isOffset":false,"isSlot":false,"src":"20883:3:50","valueSize":1}],"flags":["memory-safe"],"id":44773,"nodeType":"InlineAssembly","src":"20825:72:50"}]},"documentation":{"id":44765,"nodeType":"StructuredDocumentation","src":"20506:233:50","text":" @dev Helper to set the length of a dynamic array. Directly writing to `.length` is forbidden.\n WARNING: this does not clear elements if length is reduced, of initialize elements if length is increased."},"implemented":true,"kind":"function","modifiers":[],"name":"unsafeSetLength","nameLocation":"20753:15:50","parameters":{"id":44771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44768,"mutability":"mutable","name":"array","nameLocation":"20786:5:50","nodeType":"VariableDeclaration","scope":44775,"src":"20769:22:50","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":44766,"name":"string","nodeType":"ElementaryTypeName","src":"20769:6:50","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":44767,"nodeType":"ArrayTypeName","src":"20769:8:50","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":44770,"mutability":"mutable","name":"len","nameLocation":"20801:3:50","nodeType":"VariableDeclaration","scope":44775,"src":"20793:11:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44769,"name":"uint256","nodeType":"ElementaryTypeName","src":"20793:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20768:37:50"},"returnParameters":{"id":44772,"nodeType":"ParameterList","parameters":[],"src":"20815:0:50"},"scope":44776,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"Arrays","contractDependencies":[],"contractKind":"library","documentation":{"id":43809,"nodeType":"StructuredDocumentation","src":"395:63:50","text":" @dev Collection of functions related to array types."},"fullyImplemented":true,"linearizedBaseContracts":[44776],"name":"Arrays","nameLocation":"467:6:50","scope":44777,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/Comparators.sol":{"id":51,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Comparators.sol","id":44809,"exportedSymbols":{"Comparators":[44808]},"nodeType":"SourceUnit","src":"105:338:51","nodes":[{"id":44778,"nodeType":"PragmaDirective","src":"105:24:51","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":44808,"nodeType":"ContractDefinition","src":"224:218:51","nodes":[{"id":44793,"nodeType":"FunctionDefinition","src":"250:92:51","nodes":[],"body":{"id":44792,"nodeType":"Block","src":"313:29:51","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44788,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44781,"src":"330:1:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":44789,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44783,"src":"334:1:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"330:5:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":44787,"id":44791,"nodeType":"Return","src":"323:12:51"}]},"implemented":true,"kind":"function","modifiers":[],"name":"lt","nameLocation":"259:2:51","parameters":{"id":44784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44781,"mutability":"mutable","name":"a","nameLocation":"270:1:51","nodeType":"VariableDeclaration","scope":44793,"src":"262:9:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44780,"name":"uint256","nodeType":"ElementaryTypeName","src":"262:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44783,"mutability":"mutable","name":"b","nameLocation":"281:1:51","nodeType":"VariableDeclaration","scope":44793,"src":"273:9:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44782,"name":"uint256","nodeType":"ElementaryTypeName","src":"273:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"261:22:51"},"returnParameters":{"id":44787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44786,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44793,"src":"307:4:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44785,"name":"bool","nodeType":"ElementaryTypeName","src":"307:4:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"306:6:51"},"scope":44808,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44807,"nodeType":"FunctionDefinition","src":"348:92:51","nodes":[],"body":{"id":44806,"nodeType":"Block","src":"411:29:51","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":44802,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44795,"src":"428:1:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":44803,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44797,"src":"432:1:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"428:5:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":44801,"id":44805,"nodeType":"Return","src":"421:12:51"}]},"implemented":true,"kind":"function","modifiers":[],"name":"gt","nameLocation":"357:2:51","parameters":{"id":44798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44795,"mutability":"mutable","name":"a","nameLocation":"368:1:51","nodeType":"VariableDeclaration","scope":44807,"src":"360:9:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44794,"name":"uint256","nodeType":"ElementaryTypeName","src":"360:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44797,"mutability":"mutable","name":"b","nameLocation":"379:1:51","nodeType":"VariableDeclaration","scope":44807,"src":"371:9:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44796,"name":"uint256","nodeType":"ElementaryTypeName","src":"371:7:51","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"359:22:51"},"returnParameters":{"id":44801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44800,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44807,"src":"405:4:51","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44799,"name":"bool","nodeType":"ElementaryTypeName","src":"405:4:51","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"404:6:51"},"scope":44808,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"Comparators","contractDependencies":[],"contractKind":"library","documentation":{"id":44779,"nodeType":"StructuredDocumentation","src":"131:92:51","text":" @dev Provides a set of functions to compare values.\n _Available since v5.1._"},"fullyImplemented":true,"linearizedBaseContracts":[44808],"name":"Comparators","nameLocation":"232:11:51","scope":44809,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"id":52,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Context.sol","id":44839,"exportedSymbols":{"Context":[44838]},"nodeType":"SourceUnit","src":"101:862:52","nodes":[{"id":44810,"nodeType":"PragmaDirective","src":"101:24:52","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":44838,"nodeType":"ContractDefinition","src":"624:338:52","nodes":[{"id":44820,"nodeType":"FunctionDefinition","src":"656:96:52","nodes":[],"body":{"id":44819,"nodeType":"Block","src":"718:34:52","nodes":[],"statements":[{"expression":{"expression":{"id":44816,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"735:3:52","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":44817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"739:6:52","memberName":"sender","nodeType":"MemberAccess","src":"735:10:52","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":44815,"id":44818,"nodeType":"Return","src":"728:17:52"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_msgSender","nameLocation":"665:10:52","parameters":{"id":44812,"nodeType":"ParameterList","parameters":[],"src":"675:2:52"},"returnParameters":{"id":44815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44814,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44820,"src":"709:7:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44813,"name":"address","nodeType":"ElementaryTypeName","src":"709:7:52","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"708:9:52"},"scope":44838,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":44829,"nodeType":"FunctionDefinition","src":"758:99:52","nodes":[],"body":{"id":44828,"nodeType":"Block","src":"825:32:52","nodes":[],"statements":[{"expression":{"expression":{"id":44825,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"842:3:52","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":44826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"846:4:52","memberName":"data","nodeType":"MemberAccess","src":"842:8:52","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"functionReturnParameters":44824,"id":44827,"nodeType":"Return","src":"835:15:52"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_msgData","nameLocation":"767:8:52","parameters":{"id":44821,"nodeType":"ParameterList","parameters":[],"src":"775:2:52"},"returnParameters":{"id":44824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44823,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44829,"src":"809:14:52","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":44822,"name":"bytes","nodeType":"ElementaryTypeName","src":"809:5:52","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"808:16:52"},"scope":44838,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":44837,"nodeType":"FunctionDefinition","src":"863:97:52","nodes":[],"body":{"id":44836,"nodeType":"Block","src":"935:25:52","nodes":[],"statements":[{"expression":{"hexValue":"30","id":44834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"952:1:52","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":44833,"id":44835,"nodeType":"Return","src":"945:8:52"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_contextSuffixLength","nameLocation":"872:20:52","parameters":{"id":44830,"nodeType":"ParameterList","parameters":[],"src":"892:2:52"},"returnParameters":{"id":44833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44832,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44837,"src":"926:7:52","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44831,"name":"uint256","nodeType":"ElementaryTypeName","src":"926:7:52","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"925:9:52"},"scope":44838,"stateMutability":"view","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"Context","contractDependencies":[],"contractKind":"contract","documentation":{"id":44811,"nodeType":"StructuredDocumentation","src":"127:496:52","text":" @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts."},"fullyImplemented":true,"linearizedBaseContracts":[44838],"name":"Context","nameLocation":"642:7:52","scope":44839,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"id":53,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Errors.sol","id":44861,"exportedSymbols":{"Errors":[44860]},"nodeType":"SourceUnit","src":"100:796:53","nodes":[{"id":44840,"nodeType":"PragmaDirective","src":"100:24:53","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":44860,"nodeType":"ContractDefinition","src":"411:484:53","nodes":[{"id":44848,"nodeType":"ErrorDefinition","src":"531:59:53","nodes":[],"documentation":{"id":44842,"nodeType":"StructuredDocumentation","src":"432:94:53","text":" @dev The ETH balance of the account is not enough to perform the operation."},"errorSelector":"cf479181","name":"InsufficientBalance","nameLocation":"537:19:53","parameters":{"id":44847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44844,"mutability":"mutable","name":"balance","nameLocation":"565:7:53","nodeType":"VariableDeclaration","scope":44848,"src":"557:15:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44843,"name":"uint256","nodeType":"ElementaryTypeName","src":"557:7:53","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44846,"mutability":"mutable","name":"needed","nameLocation":"582:6:53","nodeType":"VariableDeclaration","scope":44848,"src":"574:14:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44845,"name":"uint256","nodeType":"ElementaryTypeName","src":"574:7:53","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"556:33:53"}},{"id":44851,"nodeType":"ErrorDefinition","src":"690:19:53","nodes":[],"documentation":{"id":44849,"nodeType":"StructuredDocumentation","src":"596:89:53","text":" @dev A call to an address target failed. The target may have reverted."},"errorSelector":"d6bda275","name":"FailedCall","nameLocation":"696:10:53","parameters":{"id":44850,"nodeType":"ParameterList","parameters":[],"src":"706:2:53"}},{"id":44854,"nodeType":"ErrorDefinition","src":"766:25:53","nodes":[],"documentation":{"id":44852,"nodeType":"StructuredDocumentation","src":"715:46:53","text":" @dev The deployment failed."},"errorSelector":"b06ebf3d","name":"FailedDeployment","nameLocation":"772:16:53","parameters":{"id":44853,"nodeType":"ParameterList","parameters":[],"src":"788:2:53"}},{"id":44859,"nodeType":"ErrorDefinition","src":"860:33:53","nodes":[],"documentation":{"id":44855,"nodeType":"StructuredDocumentation","src":"797:58:53","text":" @dev A necessary precompile is missing."},"errorSelector":"42b01bce","name":"MissingPrecompile","nameLocation":"866:17:53","parameters":{"id":44858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44857,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":44859,"src":"884:7:53","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44856,"name":"address","nodeType":"ElementaryTypeName","src":"884:7:53","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"883:9:53"}}],"abstract":false,"baseContracts":[],"canonicalName":"Errors","contractDependencies":[],"contractKind":"library","documentation":{"id":44841,"nodeType":"StructuredDocumentation","src":"126:284:53","text":" @dev Collection of common custom errors used in multiple contracts\n IMPORTANT: Backwards compatibility is not guaranteed in future versions of the library.\n It is recommended to avoid relying on the error API for critical functionality.\n _Available since v5.1._"},"fullyImplemented":true,"linearizedBaseContracts":[44860],"name":"Errors","nameLocation":"419:6:53","scope":44861,"usedErrors":[44848,44851,44854,44859],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"id":54,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Panic.sol","id":44913,"exportedSymbols":{"Panic":[44912]},"nodeType":"SourceUnit","src":"99:1874:54","nodes":[{"id":44862,"nodeType":"PragmaDirective","src":"99:24:54","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":44912,"nodeType":"ContractDefinition","src":"657:1315:54","nodes":[{"id":44867,"nodeType":"VariableDeclaration","src":"718:40:54","nodes":[],"constant":true,"documentation":{"id":44864,"nodeType":"StructuredDocumentation","src":"677:36:54","text":"@dev generic / unspecified error"},"mutability":"constant","name":"GENERIC","nameLocation":"744:7:54","scope":44912,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44865,"name":"uint256","nodeType":"ElementaryTypeName","src":"718:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783030","id":44866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"754:4:54","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0x00"},"visibility":"internal"},{"id":44871,"nodeType":"VariableDeclaration","src":"806:39:54","nodes":[],"constant":true,"documentation":{"id":44868,"nodeType":"StructuredDocumentation","src":"764:37:54","text":"@dev used by the assert() builtin"},"mutability":"constant","name":"ASSERT","nameLocation":"832:6:54","scope":44912,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44869,"name":"uint256","nodeType":"ElementaryTypeName","src":"806:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783031","id":44870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"841:4:54","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"},"visibility":"internal"},{"id":44875,"nodeType":"VariableDeclaration","src":"897:47:54","nodes":[],"constant":true,"documentation":{"id":44872,"nodeType":"StructuredDocumentation","src":"851:41:54","text":"@dev arithmetic underflow or overflow"},"mutability":"constant","name":"UNDER_OVERFLOW","nameLocation":"923:14:54","scope":44912,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44873,"name":"uint256","nodeType":"ElementaryTypeName","src":"897:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783131","id":44874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"940:4:54","typeDescriptions":{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"},"value":"0x11"},"visibility":"internal"},{"id":44879,"nodeType":"VariableDeclaration","src":"990:49:54","nodes":[],"constant":true,"documentation":{"id":44876,"nodeType":"StructuredDocumentation","src":"950:35:54","text":"@dev division or modulo by zero"},"mutability":"constant","name":"DIVISION_BY_ZERO","nameLocation":"1016:16:54","scope":44912,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44877,"name":"uint256","nodeType":"ElementaryTypeName","src":"990:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783132","id":44878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1035:4:54","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"0x12"},"visibility":"internal"},{"id":44883,"nodeType":"VariableDeclaration","src":"1080:54:54","nodes":[],"constant":true,"documentation":{"id":44880,"nodeType":"StructuredDocumentation","src":"1045:30:54","text":"@dev enum conversion error"},"mutability":"constant","name":"ENUM_CONVERSION_ERROR","nameLocation":"1106:21:54","scope":44912,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44881,"name":"uint256","nodeType":"ElementaryTypeName","src":"1080:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783231","id":44882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1130:4:54","typeDescriptions":{"typeIdentifier":"t_rational_33_by_1","typeString":"int_const 33"},"value":"0x21"},"visibility":"internal"},{"id":44887,"nodeType":"VariableDeclaration","src":"1181:55:54","nodes":[],"constant":true,"documentation":{"id":44884,"nodeType":"StructuredDocumentation","src":"1140:36:54","text":"@dev invalid encoding in storage"},"mutability":"constant","name":"STORAGE_ENCODING_ERROR","nameLocation":"1207:22:54","scope":44912,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44885,"name":"uint256","nodeType":"ElementaryTypeName","src":"1181:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783232","id":44886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1232:4:54","typeDescriptions":{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"},"value":"0x22"},"visibility":"internal"},{"id":44891,"nodeType":"VariableDeclaration","src":"1271:48:54","nodes":[],"constant":true,"documentation":{"id":44888,"nodeType":"StructuredDocumentation","src":"1242:24:54","text":"@dev empty array pop"},"mutability":"constant","name":"EMPTY_ARRAY_POP","nameLocation":"1297:15:54","scope":44912,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44889,"name":"uint256","nodeType":"ElementaryTypeName","src":"1271:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783331","id":44890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1315:4:54","typeDescriptions":{"typeIdentifier":"t_rational_49_by_1","typeString":"int_const 49"},"value":"0x31"},"visibility":"internal"},{"id":44895,"nodeType":"VariableDeclaration","src":"1365:52:54","nodes":[],"constant":true,"documentation":{"id":44892,"nodeType":"StructuredDocumentation","src":"1325:35:54","text":"@dev array out of bounds access"},"mutability":"constant","name":"ARRAY_OUT_OF_BOUNDS","nameLocation":"1391:19:54","scope":44912,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44893,"name":"uint256","nodeType":"ElementaryTypeName","src":"1365:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783332","id":44894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1413:4:54","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"0x32"},"visibility":"internal"},{"id":44899,"nodeType":"VariableDeclaration","src":"1493:47:54","nodes":[],"constant":true,"documentation":{"id":44896,"nodeType":"StructuredDocumentation","src":"1423:65:54","text":"@dev resource error (too large allocation or too large array)"},"mutability":"constant","name":"RESOURCE_ERROR","nameLocation":"1519:14:54","scope":44912,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44897,"name":"uint256","nodeType":"ElementaryTypeName","src":"1493:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783431","id":44898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1536:4:54","typeDescriptions":{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"},"value":"0x41"},"visibility":"internal"},{"id":44903,"nodeType":"VariableDeclaration","src":"1593:58:54","nodes":[],"constant":true,"documentation":{"id":44900,"nodeType":"StructuredDocumentation","src":"1546:42:54","text":"@dev calling invalid internal function"},"mutability":"constant","name":"INVALID_INTERNAL_FUNCTION","nameLocation":"1619:25:54","scope":44912,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44901,"name":"uint256","nodeType":"ElementaryTypeName","src":"1593:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783531","id":44902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1647:4:54","typeDescriptions":{"typeIdentifier":"t_rational_81_by_1","typeString":"int_const 81"},"value":"0x51"},"visibility":"internal"},{"id":44911,"nodeType":"FunctionDefinition","src":"1776:194:54","nodes":[],"body":{"id":44910,"nodeType":"Block","src":"1819:151:54","nodes":[],"statements":[{"AST":{"nativeSrc":"1854:110:54","nodeType":"YulBlock","src":"1854:110:54","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1875:4:54","nodeType":"YulLiteral","src":"1875:4:54","type":"","value":"0x00"},{"kind":"number","nativeSrc":"1881:10:54","nodeType":"YulLiteral","src":"1881:10:54","type":"","value":"0x4e487b71"}],"functionName":{"name":"mstore","nativeSrc":"1868:6:54","nodeType":"YulIdentifier","src":"1868:6:54"},"nativeSrc":"1868:24:54","nodeType":"YulFunctionCall","src":"1868:24:54"},"nativeSrc":"1868:24:54","nodeType":"YulExpressionStatement","src":"1868:24:54"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1912:4:54","nodeType":"YulLiteral","src":"1912:4:54","type":"","value":"0x20"},{"name":"code","nativeSrc":"1918:4:54","nodeType":"YulIdentifier","src":"1918:4:54"}],"functionName":{"name":"mstore","nativeSrc":"1905:6:54","nodeType":"YulIdentifier","src":"1905:6:54"},"nativeSrc":"1905:18:54","nodeType":"YulFunctionCall","src":"1905:18:54"},"nativeSrc":"1905:18:54","nodeType":"YulExpressionStatement","src":"1905:18:54"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1943:4:54","nodeType":"YulLiteral","src":"1943:4:54","type":"","value":"0x1c"},{"kind":"number","nativeSrc":"1949:4:54","nodeType":"YulLiteral","src":"1949:4:54","type":"","value":"0x24"}],"functionName":{"name":"revert","nativeSrc":"1936:6:54","nodeType":"YulIdentifier","src":"1936:6:54"},"nativeSrc":"1936:18:54","nodeType":"YulFunctionCall","src":"1936:18:54"},"nativeSrc":"1936:18:54","nodeType":"YulExpressionStatement","src":"1936:18:54"}]},"evmVersion":"cancun","externalReferences":[{"declaration":44906,"isOffset":false,"isSlot":false,"src":"1918:4:54","valueSize":1}],"flags":["memory-safe"],"id":44909,"nodeType":"InlineAssembly","src":"1829:135:54"}]},"documentation":{"id":44904,"nodeType":"StructuredDocumentation","src":"1658:113:54","text":"@dev Reverts with a panic code. Recommended to use with\n the internal constants with predefined codes."},"implemented":true,"kind":"function","modifiers":[],"name":"panic","nameLocation":"1785:5:54","parameters":{"id":44907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44906,"mutability":"mutable","name":"code","nameLocation":"1799:4:54","nodeType":"VariableDeclaration","scope":44911,"src":"1791:12:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44905,"name":"uint256","nodeType":"ElementaryTypeName","src":"1791:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1790:14:54"},"returnParameters":{"id":44908,"nodeType":"ParameterList","parameters":[],"src":"1819:0:54"},"scope":44912,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"Panic","contractDependencies":[],"contractKind":"library","documentation":{"id":44863,"nodeType":"StructuredDocumentation","src":"125:489:54","text":" @dev Helper library for emitting standardized panic codes.\n ```solidity\n contract Example {\n using Panic for uint256;\n // Use any of the declared internal constants\n function foo() { Panic.GENERIC.panic(); }\n // Alternatively\n function foo() { Panic.panic(Panic.GENERIC); }\n }\n ```\n Follows the list from https://github.com/ethereum/solidity/blob/v0.8.24/libsolutil/ErrorCodes.h[libsolutil].\n _Available since v5.1._"},"fullyImplemented":true,"linearizedBaseContracts":[44912],"name":"Panic","nameLocation":"665:5:54","scope":44913,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol":{"id":55,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol","id":45043,"exportedSymbols":{"SlotDerivation":[45042]},"nodeType":"SourceUnit","src":"199:5124:55","nodes":[{"id":44914,"nodeType":"PragmaDirective","src":"199:24:55","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":45042,"nodeType":"ContractDefinition","src":"1599:3723:55","nodes":[{"id":44925,"nodeType":"FunctionDefinition","src":"1707:277:55","nodes":[],"body":{"id":44924,"nodeType":"Block","src":"1790:194:55","nodes":[],"statements":[{"AST":{"nativeSrc":"1825:153:55","nodeType":"YulBlock","src":"1825:153:55","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1846:4:55","nodeType":"YulLiteral","src":"1846:4:55","type":"","value":"0x00"},{"arguments":[{"arguments":[{"arguments":[{"name":"namespace","nativeSrc":"1870:9:55","nodeType":"YulIdentifier","src":"1870:9:55"},{"kind":"number","nativeSrc":"1881:4:55","nodeType":"YulLiteral","src":"1881:4:55","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"1866:3:55","nodeType":"YulIdentifier","src":"1866:3:55"},"nativeSrc":"1866:20:55","nodeType":"YulFunctionCall","src":"1866:20:55"},{"arguments":[{"name":"namespace","nativeSrc":"1894:9:55","nodeType":"YulIdentifier","src":"1894:9:55"}],"functionName":{"name":"mload","nativeSrc":"1888:5:55","nodeType":"YulIdentifier","src":"1888:5:55"},"nativeSrc":"1888:16:55","nodeType":"YulFunctionCall","src":"1888:16:55"}],"functionName":{"name":"keccak256","nativeSrc":"1856:9:55","nodeType":"YulIdentifier","src":"1856:9:55"},"nativeSrc":"1856:49:55","nodeType":"YulFunctionCall","src":"1856:49:55"},{"kind":"number","nativeSrc":"1907:1:55","nodeType":"YulLiteral","src":"1907:1:55","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"1852:3:55","nodeType":"YulIdentifier","src":"1852:3:55"},"nativeSrc":"1852:57:55","nodeType":"YulFunctionCall","src":"1852:57:55"}],"functionName":{"name":"mstore","nativeSrc":"1839:6:55","nodeType":"YulIdentifier","src":"1839:6:55"},"nativeSrc":"1839:71:55","nodeType":"YulFunctionCall","src":"1839:71:55"},"nativeSrc":"1839:71:55","nodeType":"YulExpressionStatement","src":"1839:71:55"},{"nativeSrc":"1923:45:55","nodeType":"YulAssignment","src":"1923:45:55","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"1945:4:55","nodeType":"YulLiteral","src":"1945:4:55","type":"","value":"0x00"},{"kind":"number","nativeSrc":"1951:4:55","nodeType":"YulLiteral","src":"1951:4:55","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nativeSrc":"1935:9:55","nodeType":"YulIdentifier","src":"1935:9:55"},"nativeSrc":"1935:21:55","nodeType":"YulFunctionCall","src":"1935:21:55"},{"arguments":[{"kind":"number","nativeSrc":"1962:4:55","nodeType":"YulLiteral","src":"1962:4:55","type":"","value":"0xff"}],"functionName":{"name":"not","nativeSrc":"1958:3:55","nodeType":"YulIdentifier","src":"1958:3:55"},"nativeSrc":"1958:9:55","nodeType":"YulFunctionCall","src":"1958:9:55"}],"functionName":{"name":"and","nativeSrc":"1931:3:55","nodeType":"YulIdentifier","src":"1931:3:55"},"nativeSrc":"1931:37:55","nodeType":"YulFunctionCall","src":"1931:37:55"},"variableNames":[{"name":"slot","nativeSrc":"1923:4:55","nodeType":"YulIdentifier","src":"1923:4:55"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44918,"isOffset":false,"isSlot":false,"src":"1870:9:55","valueSize":1},{"declaration":44918,"isOffset":false,"isSlot":false,"src":"1894:9:55","valueSize":1},{"declaration":44921,"isOffset":false,"isSlot":false,"src":"1923:4:55","valueSize":1}],"flags":["memory-safe"],"id":44923,"nodeType":"InlineAssembly","src":"1800:178:55"}]},"documentation":{"id":44916,"nodeType":"StructuredDocumentation","src":"1628:74:55","text":" @dev Derive an ERC-7201 slot from a string (namespace)."},"implemented":true,"kind":"function","modifiers":[],"name":"erc7201Slot","nameLocation":"1716:11:55","parameters":{"id":44919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44918,"mutability":"mutable","name":"namespace","nameLocation":"1742:9:55","nodeType":"VariableDeclaration","scope":44925,"src":"1728:23:55","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44917,"name":"string","nodeType":"ElementaryTypeName","src":"1728:6:55","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1727:25:55"},"returnParameters":{"id":44922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44921,"mutability":"mutable","name":"slot","nameLocation":"1784:4:55","nodeType":"VariableDeclaration","scope":44925,"src":"1776:12:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44920,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1776:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1775:14:55"},"scope":45042,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44947,"nodeType":"FunctionDefinition","src":"2094:168:55","nodes":[],"body":{"id":44946,"nodeType":"Block","src":"2176:86:55","nodes":[],"statements":[{"id":44945,"nodeType":"UncheckedBlock","src":"2186:70:55","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":44942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":44939,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44928,"src":"2233:4:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":44938,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2225:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":44937,"name":"uint256","nodeType":"ElementaryTypeName","src":"2225:7:55","typeDescriptions":{}}},"id":44940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2225:13:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":44941,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44930,"src":"2241:3:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2225:19:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44936,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2217:7:55","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":44935,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2217:7:55","typeDescriptions":{}}},"id":44943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2217:28:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":44934,"id":44944,"nodeType":"Return","src":"2210:35:55"}]}]},"documentation":{"id":44926,"nodeType":"StructuredDocumentation","src":"1990:99:55","text":" @dev Add an offset to a slot to get the n-th element of a structure or an array."},"implemented":true,"kind":"function","modifiers":[],"name":"offset","nameLocation":"2103:6:55","parameters":{"id":44931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44928,"mutability":"mutable","name":"slot","nameLocation":"2118:4:55","nodeType":"VariableDeclaration","scope":44947,"src":"2110:12:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44927,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2110:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44930,"mutability":"mutable","name":"pos","nameLocation":"2132:3:55","nodeType":"VariableDeclaration","scope":44947,"src":"2124:11:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44929,"name":"uint256","nodeType":"ElementaryTypeName","src":"2124:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2109:27:55"},"returnParameters":{"id":44934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44933,"mutability":"mutable","name":"result","nameLocation":"2168:6:55","nodeType":"VariableDeclaration","scope":44947,"src":"2160:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44932,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2160:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2159:16:55"},"scope":45042,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44957,"nodeType":"FunctionDefinition","src":"2391:201:55","nodes":[],"body":{"id":44956,"nodeType":"Block","src":"2465:127:55","nodes":[],"statements":[{"AST":{"nativeSrc":"2500:86:55","nodeType":"YulBlock","src":"2500:86:55","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"2521:4:55","nodeType":"YulLiteral","src":"2521:4:55","type":"","value":"0x00"},{"name":"slot","nativeSrc":"2527:4:55","nodeType":"YulIdentifier","src":"2527:4:55"}],"functionName":{"name":"mstore","nativeSrc":"2514:6:55","nodeType":"YulIdentifier","src":"2514:6:55"},"nativeSrc":"2514:18:55","nodeType":"YulFunctionCall","src":"2514:18:55"},"nativeSrc":"2514:18:55","nodeType":"YulExpressionStatement","src":"2514:18:55"},{"nativeSrc":"2545:31:55","nodeType":"YulAssignment","src":"2545:31:55","value":{"arguments":[{"kind":"number","nativeSrc":"2565:4:55","nodeType":"YulLiteral","src":"2565:4:55","type":"","value":"0x00"},{"kind":"number","nativeSrc":"2571:4:55","nodeType":"YulLiteral","src":"2571:4:55","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nativeSrc":"2555:9:55","nodeType":"YulIdentifier","src":"2555:9:55"},"nativeSrc":"2555:21:55","nodeType":"YulFunctionCall","src":"2555:21:55"},"variableNames":[{"name":"result","nativeSrc":"2545:6:55","nodeType":"YulIdentifier","src":"2545:6:55"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44953,"isOffset":false,"isSlot":false,"src":"2545:6:55","valueSize":1},{"declaration":44950,"isOffset":false,"isSlot":false,"src":"2527:4:55","valueSize":1}],"flags":["memory-safe"],"id":44955,"nodeType":"InlineAssembly","src":"2475:111:55"}]},"documentation":{"id":44948,"nodeType":"StructuredDocumentation","src":"2268:118:55","text":" @dev Derive the location of the first element in an array from the slot where the length is stored."},"implemented":true,"kind":"function","modifiers":[],"name":"deriveArray","nameLocation":"2400:11:55","parameters":{"id":44951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44950,"mutability":"mutable","name":"slot","nameLocation":"2420:4:55","nodeType":"VariableDeclaration","scope":44957,"src":"2412:12:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44949,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2412:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2411:14:55"},"returnParameters":{"id":44954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44953,"mutability":"mutable","name":"result","nameLocation":"2457:6:55","nodeType":"VariableDeclaration","scope":44957,"src":"2449:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44952,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2449:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2448:16:55"},"scope":45042,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44969,"nodeType":"FunctionDefinition","src":"2681:268:55","nodes":[],"body":{"id":44968,"nodeType":"Block","src":"2770:179:55","nodes":[],"statements":[{"AST":{"nativeSrc":"2805:138:55","nodeType":"YulBlock","src":"2805:138:55","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"2826:4:55","nodeType":"YulLiteral","src":"2826:4:55","type":"","value":"0x00"},{"arguments":[{"name":"key","nativeSrc":"2836:3:55","nodeType":"YulIdentifier","src":"2836:3:55"},{"arguments":[{"kind":"number","nativeSrc":"2845:2:55","nodeType":"YulLiteral","src":"2845:2:55","type":"","value":"96"},{"arguments":[{"kind":"number","nativeSrc":"2853:1:55","nodeType":"YulLiteral","src":"2853:1:55","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"2849:3:55","nodeType":"YulIdentifier","src":"2849:3:55"},"nativeSrc":"2849:6:55","nodeType":"YulFunctionCall","src":"2849:6:55"}],"functionName":{"name":"shr","nativeSrc":"2841:3:55","nodeType":"YulIdentifier","src":"2841:3:55"},"nativeSrc":"2841:15:55","nodeType":"YulFunctionCall","src":"2841:15:55"}],"functionName":{"name":"and","nativeSrc":"2832:3:55","nodeType":"YulIdentifier","src":"2832:3:55"},"nativeSrc":"2832:25:55","nodeType":"YulFunctionCall","src":"2832:25:55"}],"functionName":{"name":"mstore","nativeSrc":"2819:6:55","nodeType":"YulIdentifier","src":"2819:6:55"},"nativeSrc":"2819:39:55","nodeType":"YulFunctionCall","src":"2819:39:55"},"nativeSrc":"2819:39:55","nodeType":"YulExpressionStatement","src":"2819:39:55"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"2878:4:55","nodeType":"YulLiteral","src":"2878:4:55","type":"","value":"0x20"},{"name":"slot","nativeSrc":"2884:4:55","nodeType":"YulIdentifier","src":"2884:4:55"}],"functionName":{"name":"mstore","nativeSrc":"2871:6:55","nodeType":"YulIdentifier","src":"2871:6:55"},"nativeSrc":"2871:18:55","nodeType":"YulFunctionCall","src":"2871:18:55"},"nativeSrc":"2871:18:55","nodeType":"YulExpressionStatement","src":"2871:18:55"},{"nativeSrc":"2902:31:55","nodeType":"YulAssignment","src":"2902:31:55","value":{"arguments":[{"kind":"number","nativeSrc":"2922:4:55","nodeType":"YulLiteral","src":"2922:4:55","type":"","value":"0x00"},{"kind":"number","nativeSrc":"2928:4:55","nodeType":"YulLiteral","src":"2928:4:55","type":"","value":"0x40"}],"functionName":{"name":"keccak256","nativeSrc":"2912:9:55","nodeType":"YulIdentifier","src":"2912:9:55"},"nativeSrc":"2912:21:55","nodeType":"YulFunctionCall","src":"2912:21:55"},"variableNames":[{"name":"result","nativeSrc":"2902:6:55","nodeType":"YulIdentifier","src":"2902:6:55"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44962,"isOffset":false,"isSlot":false,"src":"2836:3:55","valueSize":1},{"declaration":44965,"isOffset":false,"isSlot":false,"src":"2902:6:55","valueSize":1},{"declaration":44960,"isOffset":false,"isSlot":false,"src":"2884:4:55","valueSize":1}],"flags":["memory-safe"],"id":44967,"nodeType":"InlineAssembly","src":"2780:163:55"}]},"documentation":{"id":44958,"nodeType":"StructuredDocumentation","src":"2598:78:55","text":" @dev Derive the location of a mapping element from the key."},"implemented":true,"kind":"function","modifiers":[],"name":"deriveMapping","nameLocation":"2690:13:55","parameters":{"id":44963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44960,"mutability":"mutable","name":"slot","nameLocation":"2712:4:55","nodeType":"VariableDeclaration","scope":44969,"src":"2704:12:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44959,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2704:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44962,"mutability":"mutable","name":"key","nameLocation":"2726:3:55","nodeType":"VariableDeclaration","scope":44969,"src":"2718:11:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44961,"name":"address","nodeType":"ElementaryTypeName","src":"2718:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2703:27:55"},"returnParameters":{"id":44966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44965,"mutability":"mutable","name":"result","nameLocation":"2762:6:55","nodeType":"VariableDeclaration","scope":44969,"src":"2754:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44964,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2754:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2753:16:55"},"scope":45042,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44981,"nodeType":"FunctionDefinition","src":"3038:259:55","nodes":[],"body":{"id":44980,"nodeType":"Block","src":"3124:173:55","nodes":[],"statements":[{"AST":{"nativeSrc":"3159:132:55","nodeType":"YulBlock","src":"3159:132:55","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"3180:4:55","nodeType":"YulLiteral","src":"3180:4:55","type":"","value":"0x00"},{"arguments":[{"arguments":[{"name":"key","nativeSrc":"3200:3:55","nodeType":"YulIdentifier","src":"3200:3:55"}],"functionName":{"name":"iszero","nativeSrc":"3193:6:55","nodeType":"YulIdentifier","src":"3193:6:55"},"nativeSrc":"3193:11:55","nodeType":"YulFunctionCall","src":"3193:11:55"}],"functionName":{"name":"iszero","nativeSrc":"3186:6:55","nodeType":"YulIdentifier","src":"3186:6:55"},"nativeSrc":"3186:19:55","nodeType":"YulFunctionCall","src":"3186:19:55"}],"functionName":{"name":"mstore","nativeSrc":"3173:6:55","nodeType":"YulIdentifier","src":"3173:6:55"},"nativeSrc":"3173:33:55","nodeType":"YulFunctionCall","src":"3173:33:55"},"nativeSrc":"3173:33:55","nodeType":"YulExpressionStatement","src":"3173:33:55"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"3226:4:55","nodeType":"YulLiteral","src":"3226:4:55","type":"","value":"0x20"},{"name":"slot","nativeSrc":"3232:4:55","nodeType":"YulIdentifier","src":"3232:4:55"}],"functionName":{"name":"mstore","nativeSrc":"3219:6:55","nodeType":"YulIdentifier","src":"3219:6:55"},"nativeSrc":"3219:18:55","nodeType":"YulFunctionCall","src":"3219:18:55"},"nativeSrc":"3219:18:55","nodeType":"YulExpressionStatement","src":"3219:18:55"},{"nativeSrc":"3250:31:55","nodeType":"YulAssignment","src":"3250:31:55","value":{"arguments":[{"kind":"number","nativeSrc":"3270:4:55","nodeType":"YulLiteral","src":"3270:4:55","type":"","value":"0x00"},{"kind":"number","nativeSrc":"3276:4:55","nodeType":"YulLiteral","src":"3276:4:55","type":"","value":"0x40"}],"functionName":{"name":"keccak256","nativeSrc":"3260:9:55","nodeType":"YulIdentifier","src":"3260:9:55"},"nativeSrc":"3260:21:55","nodeType":"YulFunctionCall","src":"3260:21:55"},"variableNames":[{"name":"result","nativeSrc":"3250:6:55","nodeType":"YulIdentifier","src":"3250:6:55"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44974,"isOffset":false,"isSlot":false,"src":"3200:3:55","valueSize":1},{"declaration":44977,"isOffset":false,"isSlot":false,"src":"3250:6:55","valueSize":1},{"declaration":44972,"isOffset":false,"isSlot":false,"src":"3232:4:55","valueSize":1}],"flags":["memory-safe"],"id":44979,"nodeType":"InlineAssembly","src":"3134:157:55"}]},"documentation":{"id":44970,"nodeType":"StructuredDocumentation","src":"2955:78:55","text":" @dev Derive the location of a mapping element from the key."},"implemented":true,"kind":"function","modifiers":[],"name":"deriveMapping","nameLocation":"3047:13:55","parameters":{"id":44975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44972,"mutability":"mutable","name":"slot","nameLocation":"3069:4:55","nodeType":"VariableDeclaration","scope":44981,"src":"3061:12:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44971,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3061:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44974,"mutability":"mutable","name":"key","nameLocation":"3080:3:55","nodeType":"VariableDeclaration","scope":44981,"src":"3075:8:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44973,"name":"bool","nodeType":"ElementaryTypeName","src":"3075:4:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3060:24:55"},"returnParameters":{"id":44978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44977,"mutability":"mutable","name":"result","nameLocation":"3116:6:55","nodeType":"VariableDeclaration","scope":44981,"src":"3108:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44976,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3108:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3107:16:55"},"scope":45042,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":44993,"nodeType":"FunctionDefinition","src":"3386:246:55","nodes":[],"body":{"id":44992,"nodeType":"Block","src":"3475:157:55","nodes":[],"statements":[{"AST":{"nativeSrc":"3510:116:55","nodeType":"YulBlock","src":"3510:116:55","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"3531:4:55","nodeType":"YulLiteral","src":"3531:4:55","type":"","value":"0x00"},{"name":"key","nativeSrc":"3537:3:55","nodeType":"YulIdentifier","src":"3537:3:55"}],"functionName":{"name":"mstore","nativeSrc":"3524:6:55","nodeType":"YulIdentifier","src":"3524:6:55"},"nativeSrc":"3524:17:55","nodeType":"YulFunctionCall","src":"3524:17:55"},"nativeSrc":"3524:17:55","nodeType":"YulExpressionStatement","src":"3524:17:55"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"3561:4:55","nodeType":"YulLiteral","src":"3561:4:55","type":"","value":"0x20"},{"name":"slot","nativeSrc":"3567:4:55","nodeType":"YulIdentifier","src":"3567:4:55"}],"functionName":{"name":"mstore","nativeSrc":"3554:6:55","nodeType":"YulIdentifier","src":"3554:6:55"},"nativeSrc":"3554:18:55","nodeType":"YulFunctionCall","src":"3554:18:55"},"nativeSrc":"3554:18:55","nodeType":"YulExpressionStatement","src":"3554:18:55"},{"nativeSrc":"3585:31:55","nodeType":"YulAssignment","src":"3585:31:55","value":{"arguments":[{"kind":"number","nativeSrc":"3605:4:55","nodeType":"YulLiteral","src":"3605:4:55","type":"","value":"0x00"},{"kind":"number","nativeSrc":"3611:4:55","nodeType":"YulLiteral","src":"3611:4:55","type":"","value":"0x40"}],"functionName":{"name":"keccak256","nativeSrc":"3595:9:55","nodeType":"YulIdentifier","src":"3595:9:55"},"nativeSrc":"3595:21:55","nodeType":"YulFunctionCall","src":"3595:21:55"},"variableNames":[{"name":"result","nativeSrc":"3585:6:55","nodeType":"YulIdentifier","src":"3585:6:55"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44986,"isOffset":false,"isSlot":false,"src":"3537:3:55","valueSize":1},{"declaration":44989,"isOffset":false,"isSlot":false,"src":"3585:6:55","valueSize":1},{"declaration":44984,"isOffset":false,"isSlot":false,"src":"3567:4:55","valueSize":1}],"flags":["memory-safe"],"id":44991,"nodeType":"InlineAssembly","src":"3485:141:55"}]},"documentation":{"id":44982,"nodeType":"StructuredDocumentation","src":"3303:78:55","text":" @dev Derive the location of a mapping element from the key."},"implemented":true,"kind":"function","modifiers":[],"name":"deriveMapping","nameLocation":"3395:13:55","parameters":{"id":44987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44984,"mutability":"mutable","name":"slot","nameLocation":"3417:4:55","nodeType":"VariableDeclaration","scope":44993,"src":"3409:12:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44983,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3409:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44986,"mutability":"mutable","name":"key","nameLocation":"3431:3:55","nodeType":"VariableDeclaration","scope":44993,"src":"3423:11:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44985,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3423:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3408:27:55"},"returnParameters":{"id":44990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44989,"mutability":"mutable","name":"result","nameLocation":"3467:6:55","nodeType":"VariableDeclaration","scope":44993,"src":"3459:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44988,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3459:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3458:16:55"},"scope":45042,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45005,"nodeType":"FunctionDefinition","src":"3721:246:55","nodes":[],"body":{"id":45004,"nodeType":"Block","src":"3810:157:55","nodes":[],"statements":[{"AST":{"nativeSrc":"3845:116:55","nodeType":"YulBlock","src":"3845:116:55","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"3866:4:55","nodeType":"YulLiteral","src":"3866:4:55","type":"","value":"0x00"},{"name":"key","nativeSrc":"3872:3:55","nodeType":"YulIdentifier","src":"3872:3:55"}],"functionName":{"name":"mstore","nativeSrc":"3859:6:55","nodeType":"YulIdentifier","src":"3859:6:55"},"nativeSrc":"3859:17:55","nodeType":"YulFunctionCall","src":"3859:17:55"},"nativeSrc":"3859:17:55","nodeType":"YulExpressionStatement","src":"3859:17:55"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"3896:4:55","nodeType":"YulLiteral","src":"3896:4:55","type":"","value":"0x20"},{"name":"slot","nativeSrc":"3902:4:55","nodeType":"YulIdentifier","src":"3902:4:55"}],"functionName":{"name":"mstore","nativeSrc":"3889:6:55","nodeType":"YulIdentifier","src":"3889:6:55"},"nativeSrc":"3889:18:55","nodeType":"YulFunctionCall","src":"3889:18:55"},"nativeSrc":"3889:18:55","nodeType":"YulExpressionStatement","src":"3889:18:55"},{"nativeSrc":"3920:31:55","nodeType":"YulAssignment","src":"3920:31:55","value":{"arguments":[{"kind":"number","nativeSrc":"3940:4:55","nodeType":"YulLiteral","src":"3940:4:55","type":"","value":"0x00"},{"kind":"number","nativeSrc":"3946:4:55","nodeType":"YulLiteral","src":"3946:4:55","type":"","value":"0x40"}],"functionName":{"name":"keccak256","nativeSrc":"3930:9:55","nodeType":"YulIdentifier","src":"3930:9:55"},"nativeSrc":"3930:21:55","nodeType":"YulFunctionCall","src":"3930:21:55"},"variableNames":[{"name":"result","nativeSrc":"3920:6:55","nodeType":"YulIdentifier","src":"3920:6:55"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":44998,"isOffset":false,"isSlot":false,"src":"3872:3:55","valueSize":1},{"declaration":45001,"isOffset":false,"isSlot":false,"src":"3920:6:55","valueSize":1},{"declaration":44996,"isOffset":false,"isSlot":false,"src":"3902:4:55","valueSize":1}],"flags":["memory-safe"],"id":45003,"nodeType":"InlineAssembly","src":"3820:141:55"}]},"documentation":{"id":44994,"nodeType":"StructuredDocumentation","src":"3638:78:55","text":" @dev Derive the location of a mapping element from the key."},"implemented":true,"kind":"function","modifiers":[],"name":"deriveMapping","nameLocation":"3730:13:55","parameters":{"id":44999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44996,"mutability":"mutable","name":"slot","nameLocation":"3752:4:55","nodeType":"VariableDeclaration","scope":45005,"src":"3744:12:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":44995,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3744:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":44998,"mutability":"mutable","name":"key","nameLocation":"3766:3:55","nodeType":"VariableDeclaration","scope":45005,"src":"3758:11:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44997,"name":"uint256","nodeType":"ElementaryTypeName","src":"3758:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3743:27:55"},"returnParameters":{"id":45002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45001,"mutability":"mutable","name":"result","nameLocation":"3802:6:55","nodeType":"VariableDeclaration","scope":45005,"src":"3794:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45000,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3794:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3793:16:55"},"scope":45042,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45017,"nodeType":"FunctionDefinition","src":"4056:245:55","nodes":[],"body":{"id":45016,"nodeType":"Block","src":"4144:157:55","nodes":[],"statements":[{"AST":{"nativeSrc":"4179:116:55","nodeType":"YulBlock","src":"4179:116:55","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"4200:4:55","nodeType":"YulLiteral","src":"4200:4:55","type":"","value":"0x00"},{"name":"key","nativeSrc":"4206:3:55","nodeType":"YulIdentifier","src":"4206:3:55"}],"functionName":{"name":"mstore","nativeSrc":"4193:6:55","nodeType":"YulIdentifier","src":"4193:6:55"},"nativeSrc":"4193:17:55","nodeType":"YulFunctionCall","src":"4193:17:55"},"nativeSrc":"4193:17:55","nodeType":"YulExpressionStatement","src":"4193:17:55"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"4230:4:55","nodeType":"YulLiteral","src":"4230:4:55","type":"","value":"0x20"},{"name":"slot","nativeSrc":"4236:4:55","nodeType":"YulIdentifier","src":"4236:4:55"}],"functionName":{"name":"mstore","nativeSrc":"4223:6:55","nodeType":"YulIdentifier","src":"4223:6:55"},"nativeSrc":"4223:18:55","nodeType":"YulFunctionCall","src":"4223:18:55"},"nativeSrc":"4223:18:55","nodeType":"YulExpressionStatement","src":"4223:18:55"},{"nativeSrc":"4254:31:55","nodeType":"YulAssignment","src":"4254:31:55","value":{"arguments":[{"kind":"number","nativeSrc":"4274:4:55","nodeType":"YulLiteral","src":"4274:4:55","type":"","value":"0x00"},{"kind":"number","nativeSrc":"4280:4:55","nodeType":"YulLiteral","src":"4280:4:55","type":"","value":"0x40"}],"functionName":{"name":"keccak256","nativeSrc":"4264:9:55","nodeType":"YulIdentifier","src":"4264:9:55"},"nativeSrc":"4264:21:55","nodeType":"YulFunctionCall","src":"4264:21:55"},"variableNames":[{"name":"result","nativeSrc":"4254:6:55","nodeType":"YulIdentifier","src":"4254:6:55"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":45010,"isOffset":false,"isSlot":false,"src":"4206:3:55","valueSize":1},{"declaration":45013,"isOffset":false,"isSlot":false,"src":"4254:6:55","valueSize":1},{"declaration":45008,"isOffset":false,"isSlot":false,"src":"4236:4:55","valueSize":1}],"flags":["memory-safe"],"id":45015,"nodeType":"InlineAssembly","src":"4154:141:55"}]},"documentation":{"id":45006,"nodeType":"StructuredDocumentation","src":"3973:78:55","text":" @dev Derive the location of a mapping element from the key."},"implemented":true,"kind":"function","modifiers":[],"name":"deriveMapping","nameLocation":"4065:13:55","parameters":{"id":45011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45008,"mutability":"mutable","name":"slot","nameLocation":"4087:4:55","nodeType":"VariableDeclaration","scope":45017,"src":"4079:12:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45007,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4079:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":45010,"mutability":"mutable","name":"key","nameLocation":"4100:3:55","nodeType":"VariableDeclaration","scope":45017,"src":"4093:10:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":45009,"name":"int256","nodeType":"ElementaryTypeName","src":"4093:6:55","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4078:26:55"},"returnParameters":{"id":45014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45013,"mutability":"mutable","name":"result","nameLocation":"4136:6:55","nodeType":"VariableDeclaration","scope":45017,"src":"4128:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45012,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4128:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4127:16:55"},"scope":45042,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45029,"nodeType":"FunctionDefinition","src":"4390:421:55","nodes":[],"body":{"id":45028,"nodeType":"Block","src":"4485:326:55","nodes":[],"statements":[{"AST":{"nativeSrc":"4520:285:55","nodeType":"YulBlock","src":"4520:285:55","statements":[{"nativeSrc":"4534:24:55","nodeType":"YulVariableDeclaration","src":"4534:24:55","value":{"arguments":[{"name":"key","nativeSrc":"4554:3:55","nodeType":"YulIdentifier","src":"4554:3:55"}],"functionName":{"name":"mload","nativeSrc":"4548:5:55","nodeType":"YulIdentifier","src":"4548:5:55"},"nativeSrc":"4548:10:55","nodeType":"YulFunctionCall","src":"4548:10:55"},"variables":[{"name":"length","nativeSrc":"4538:6:55","nodeType":"YulTypedName","src":"4538:6:55","type":""}]},{"nativeSrc":"4571:27:55","nodeType":"YulVariableDeclaration","src":"4571:27:55","value":{"arguments":[{"name":"key","nativeSrc":"4588:3:55","nodeType":"YulIdentifier","src":"4588:3:55"},{"kind":"number","nativeSrc":"4593:4:55","nodeType":"YulLiteral","src":"4593:4:55","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"4584:3:55","nodeType":"YulIdentifier","src":"4584:3:55"},"nativeSrc":"4584:14:55","nodeType":"YulFunctionCall","src":"4584:14:55"},"variables":[{"name":"begin","nativeSrc":"4575:5:55","nodeType":"YulTypedName","src":"4575:5:55","type":""}]},{"nativeSrc":"4611:29:55","nodeType":"YulVariableDeclaration","src":"4611:29:55","value":{"arguments":[{"name":"begin","nativeSrc":"4626:5:55","nodeType":"YulIdentifier","src":"4626:5:55"},{"name":"length","nativeSrc":"4633:6:55","nodeType":"YulIdentifier","src":"4633:6:55"}],"functionName":{"name":"add","nativeSrc":"4622:3:55","nodeType":"YulIdentifier","src":"4622:3:55"},"nativeSrc":"4622:18:55","nodeType":"YulFunctionCall","src":"4622:18:55"},"variables":[{"name":"end","nativeSrc":"4615:3:55","nodeType":"YulTypedName","src":"4615:3:55","type":""}]},{"nativeSrc":"4653:23:55","nodeType":"YulVariableDeclaration","src":"4653:23:55","value":{"arguments":[{"name":"end","nativeSrc":"4672:3:55","nodeType":"YulIdentifier","src":"4672:3:55"}],"functionName":{"name":"mload","nativeSrc":"4666:5:55","nodeType":"YulIdentifier","src":"4666:5:55"},"nativeSrc":"4666:10:55","nodeType":"YulFunctionCall","src":"4666:10:55"},"variables":[{"name":"cache","nativeSrc":"4657:5:55","nodeType":"YulTypedName","src":"4657:5:55","type":""}]},{"expression":{"arguments":[{"name":"end","nativeSrc":"4696:3:55","nodeType":"YulIdentifier","src":"4696:3:55"},{"name":"slot","nativeSrc":"4701:4:55","nodeType":"YulIdentifier","src":"4701:4:55"}],"functionName":{"name":"mstore","nativeSrc":"4689:6:55","nodeType":"YulIdentifier","src":"4689:6:55"},"nativeSrc":"4689:17:55","nodeType":"YulFunctionCall","src":"4689:17:55"},"nativeSrc":"4689:17:55","nodeType":"YulExpressionStatement","src":"4689:17:55"},{"nativeSrc":"4719:45:55","nodeType":"YulAssignment","src":"4719:45:55","value":{"arguments":[{"name":"begin","nativeSrc":"4739:5:55","nodeType":"YulIdentifier","src":"4739:5:55"},{"arguments":[{"name":"length","nativeSrc":"4750:6:55","nodeType":"YulIdentifier","src":"4750:6:55"},{"kind":"number","nativeSrc":"4758:4:55","nodeType":"YulLiteral","src":"4758:4:55","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"4746:3:55","nodeType":"YulIdentifier","src":"4746:3:55"},"nativeSrc":"4746:17:55","nodeType":"YulFunctionCall","src":"4746:17:55"}],"functionName":{"name":"keccak256","nativeSrc":"4729:9:55","nodeType":"YulIdentifier","src":"4729:9:55"},"nativeSrc":"4729:35:55","nodeType":"YulFunctionCall","src":"4729:35:55"},"variableNames":[{"name":"result","nativeSrc":"4719:6:55","nodeType":"YulIdentifier","src":"4719:6:55"}]},{"expression":{"arguments":[{"name":"end","nativeSrc":"4784:3:55","nodeType":"YulIdentifier","src":"4784:3:55"},{"name":"cache","nativeSrc":"4789:5:55","nodeType":"YulIdentifier","src":"4789:5:55"}],"functionName":{"name":"mstore","nativeSrc":"4777:6:55","nodeType":"YulIdentifier","src":"4777:6:55"},"nativeSrc":"4777:18:55","nodeType":"YulFunctionCall","src":"4777:18:55"},"nativeSrc":"4777:18:55","nodeType":"YulExpressionStatement","src":"4777:18:55"}]},"evmVersion":"cancun","externalReferences":[{"declaration":45022,"isOffset":false,"isSlot":false,"src":"4554:3:55","valueSize":1},{"declaration":45022,"isOffset":false,"isSlot":false,"src":"4588:3:55","valueSize":1},{"declaration":45025,"isOffset":false,"isSlot":false,"src":"4719:6:55","valueSize":1},{"declaration":45020,"isOffset":false,"isSlot":false,"src":"4701:4:55","valueSize":1}],"flags":["memory-safe"],"id":45027,"nodeType":"InlineAssembly","src":"4495:310:55"}]},"documentation":{"id":45018,"nodeType":"StructuredDocumentation","src":"4307:78:55","text":" @dev Derive the location of a mapping element from the key."},"implemented":true,"kind":"function","modifiers":[],"name":"deriveMapping","nameLocation":"4399:13:55","parameters":{"id":45023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45020,"mutability":"mutable","name":"slot","nameLocation":"4421:4:55","nodeType":"VariableDeclaration","scope":45029,"src":"4413:12:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45019,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4413:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":45022,"mutability":"mutable","name":"key","nameLocation":"4441:3:55","nodeType":"VariableDeclaration","scope":45029,"src":"4427:17:55","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45021,"name":"string","nodeType":"ElementaryTypeName","src":"4427:6:55","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4412:33:55"},"returnParameters":{"id":45026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45025,"mutability":"mutable","name":"result","nameLocation":"4477:6:55","nodeType":"VariableDeclaration","scope":45029,"src":"4469:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45024,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4469:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4468:16:55"},"scope":45042,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45041,"nodeType":"FunctionDefinition","src":"4900:420:55","nodes":[],"body":{"id":45040,"nodeType":"Block","src":"4994:326:55","nodes":[],"statements":[{"AST":{"nativeSrc":"5029:285:55","nodeType":"YulBlock","src":"5029:285:55","statements":[{"nativeSrc":"5043:24:55","nodeType":"YulVariableDeclaration","src":"5043:24:55","value":{"arguments":[{"name":"key","nativeSrc":"5063:3:55","nodeType":"YulIdentifier","src":"5063:3:55"}],"functionName":{"name":"mload","nativeSrc":"5057:5:55","nodeType":"YulIdentifier","src":"5057:5:55"},"nativeSrc":"5057:10:55","nodeType":"YulFunctionCall","src":"5057:10:55"},"variables":[{"name":"length","nativeSrc":"5047:6:55","nodeType":"YulTypedName","src":"5047:6:55","type":""}]},{"nativeSrc":"5080:27:55","nodeType":"YulVariableDeclaration","src":"5080:27:55","value":{"arguments":[{"name":"key","nativeSrc":"5097:3:55","nodeType":"YulIdentifier","src":"5097:3:55"},{"kind":"number","nativeSrc":"5102:4:55","nodeType":"YulLiteral","src":"5102:4:55","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"5093:3:55","nodeType":"YulIdentifier","src":"5093:3:55"},"nativeSrc":"5093:14:55","nodeType":"YulFunctionCall","src":"5093:14:55"},"variables":[{"name":"begin","nativeSrc":"5084:5:55","nodeType":"YulTypedName","src":"5084:5:55","type":""}]},{"nativeSrc":"5120:29:55","nodeType":"YulVariableDeclaration","src":"5120:29:55","value":{"arguments":[{"name":"begin","nativeSrc":"5135:5:55","nodeType":"YulIdentifier","src":"5135:5:55"},{"name":"length","nativeSrc":"5142:6:55","nodeType":"YulIdentifier","src":"5142:6:55"}],"functionName":{"name":"add","nativeSrc":"5131:3:55","nodeType":"YulIdentifier","src":"5131:3:55"},"nativeSrc":"5131:18:55","nodeType":"YulFunctionCall","src":"5131:18:55"},"variables":[{"name":"end","nativeSrc":"5124:3:55","nodeType":"YulTypedName","src":"5124:3:55","type":""}]},{"nativeSrc":"5162:23:55","nodeType":"YulVariableDeclaration","src":"5162:23:55","value":{"arguments":[{"name":"end","nativeSrc":"5181:3:55","nodeType":"YulIdentifier","src":"5181:3:55"}],"functionName":{"name":"mload","nativeSrc":"5175:5:55","nodeType":"YulIdentifier","src":"5175:5:55"},"nativeSrc":"5175:10:55","nodeType":"YulFunctionCall","src":"5175:10:55"},"variables":[{"name":"cache","nativeSrc":"5166:5:55","nodeType":"YulTypedName","src":"5166:5:55","type":""}]},{"expression":{"arguments":[{"name":"end","nativeSrc":"5205:3:55","nodeType":"YulIdentifier","src":"5205:3:55"},{"name":"slot","nativeSrc":"5210:4:55","nodeType":"YulIdentifier","src":"5210:4:55"}],"functionName":{"name":"mstore","nativeSrc":"5198:6:55","nodeType":"YulIdentifier","src":"5198:6:55"},"nativeSrc":"5198:17:55","nodeType":"YulFunctionCall","src":"5198:17:55"},"nativeSrc":"5198:17:55","nodeType":"YulExpressionStatement","src":"5198:17:55"},{"nativeSrc":"5228:45:55","nodeType":"YulAssignment","src":"5228:45:55","value":{"arguments":[{"name":"begin","nativeSrc":"5248:5:55","nodeType":"YulIdentifier","src":"5248:5:55"},{"arguments":[{"name":"length","nativeSrc":"5259:6:55","nodeType":"YulIdentifier","src":"5259:6:55"},{"kind":"number","nativeSrc":"5267:4:55","nodeType":"YulLiteral","src":"5267:4:55","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"5255:3:55","nodeType":"YulIdentifier","src":"5255:3:55"},"nativeSrc":"5255:17:55","nodeType":"YulFunctionCall","src":"5255:17:55"}],"functionName":{"name":"keccak256","nativeSrc":"5238:9:55","nodeType":"YulIdentifier","src":"5238:9:55"},"nativeSrc":"5238:35:55","nodeType":"YulFunctionCall","src":"5238:35:55"},"variableNames":[{"name":"result","nativeSrc":"5228:6:55","nodeType":"YulIdentifier","src":"5228:6:55"}]},{"expression":{"arguments":[{"name":"end","nativeSrc":"5293:3:55","nodeType":"YulIdentifier","src":"5293:3:55"},{"name":"cache","nativeSrc":"5298:5:55","nodeType":"YulIdentifier","src":"5298:5:55"}],"functionName":{"name":"mstore","nativeSrc":"5286:6:55","nodeType":"YulIdentifier","src":"5286:6:55"},"nativeSrc":"5286:18:55","nodeType":"YulFunctionCall","src":"5286:18:55"},"nativeSrc":"5286:18:55","nodeType":"YulExpressionStatement","src":"5286:18:55"}]},"evmVersion":"cancun","externalReferences":[{"declaration":45034,"isOffset":false,"isSlot":false,"src":"5063:3:55","valueSize":1},{"declaration":45034,"isOffset":false,"isSlot":false,"src":"5097:3:55","valueSize":1},{"declaration":45037,"isOffset":false,"isSlot":false,"src":"5228:6:55","valueSize":1},{"declaration":45032,"isOffset":false,"isSlot":false,"src":"5210:4:55","valueSize":1}],"flags":["memory-safe"],"id":45039,"nodeType":"InlineAssembly","src":"5004:310:55"}]},"documentation":{"id":45030,"nodeType":"StructuredDocumentation","src":"4817:78:55","text":" @dev Derive the location of a mapping element from the key."},"implemented":true,"kind":"function","modifiers":[],"name":"deriveMapping","nameLocation":"4909:13:55","parameters":{"id":45035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45032,"mutability":"mutable","name":"slot","nameLocation":"4931:4:55","nodeType":"VariableDeclaration","scope":45041,"src":"4923:12:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45031,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4923:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":45034,"mutability":"mutable","name":"key","nameLocation":"4950:3:55","nodeType":"VariableDeclaration","scope":45041,"src":"4937:16:55","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":45033,"name":"bytes","nodeType":"ElementaryTypeName","src":"4937:5:55","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4922:32:55"},"returnParameters":{"id":45038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45037,"mutability":"mutable","name":"result","nameLocation":"4986:6:55","nodeType":"VariableDeclaration","scope":45041,"src":"4978:14:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45036,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4978:7:55","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4977:16:55"},"scope":45042,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"SlotDerivation","contractDependencies":[],"contractKind":"library","documentation":{"id":44915,"nodeType":"StructuredDocumentation","src":"225:1373:55","text":" @dev Library for computing storage (and transient storage) locations from namespaces and deriving slots\n corresponding to standard patterns. The derivation method for array and mapping matches the storage layout used by\n the solidity language / compiler.\n See https://docs.soliditylang.org/en/v0.8.20/internals/layout_in_storage.html#mappings-and-dynamic-arrays[Solidity docs for mappings and dynamic arrays.].\n Example usage:\n ```solidity\n contract Example {\n // Add the library methods\n using StorageSlot for bytes32;\n using SlotDerivation for bytes32;\n // Declare a namespace\n string private constant _NAMESPACE = \"\"; // eg. OpenZeppelin.Slot\n function setValueInNamespace(uint256 key, address newValue) internal {\n _NAMESPACE.erc7201Slot().deriveMapping(key).getAddressSlot().value = newValue;\n }\n function getValueInNamespace(uint256 key) internal view returns (address) {\n return _NAMESPACE.erc7201Slot().deriveMapping(key).getAddressSlot().value;\n }\n }\n ```\n TIP: Consider using this library along with {StorageSlot}.\n NOTE: This library provides a way to manipulate storage locations in a non-standard way. Tooling for checking\n upgrade safety will ignore the slots accessed through this library.\n _Available since v5.1._"},"fullyImplemented":true,"linearizedBaseContracts":[45042],"name":"SlotDerivation","nameLocation":"1607:14:55","scope":45043,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"id":56,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol","id":45167,"exportedSymbols":{"StorageSlot":[45166]},"nodeType":"SourceUnit","src":"193:3989:56","nodes":[{"id":45044,"nodeType":"PragmaDirective","src":"193:24:56","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":45166,"nodeType":"ContractDefinition","src":"1407:2774:56","nodes":[{"id":45048,"nodeType":"StructDefinition","src":"1433:49:56","nodes":[],"canonicalName":"StorageSlot.AddressSlot","members":[{"constant":false,"id":45047,"mutability":"mutable","name":"value","nameLocation":"1470:5:56","nodeType":"VariableDeclaration","scope":45048,"src":"1462:13:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45046,"name":"address","nodeType":"ElementaryTypeName","src":"1462:7:56","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"AddressSlot","nameLocation":"1440:11:56","scope":45166,"visibility":"public"},{"id":45051,"nodeType":"StructDefinition","src":"1488:46:56","nodes":[],"canonicalName":"StorageSlot.BooleanSlot","members":[{"constant":false,"id":45050,"mutability":"mutable","name":"value","nameLocation":"1522:5:56","nodeType":"VariableDeclaration","scope":45051,"src":"1517:10:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45049,"name":"bool","nodeType":"ElementaryTypeName","src":"1517:4:56","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"BooleanSlot","nameLocation":"1495:11:56","scope":45166,"visibility":"public"},{"id":45054,"nodeType":"StructDefinition","src":"1540:49:56","nodes":[],"canonicalName":"StorageSlot.Bytes32Slot","members":[{"constant":false,"id":45053,"mutability":"mutable","name":"value","nameLocation":"1577:5:56","nodeType":"VariableDeclaration","scope":45054,"src":"1569:13:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45052,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1569:7:56","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"Bytes32Slot","nameLocation":"1547:11:56","scope":45166,"visibility":"public"},{"id":45057,"nodeType":"StructDefinition","src":"1595:49:56","nodes":[],"canonicalName":"StorageSlot.Uint256Slot","members":[{"constant":false,"id":45056,"mutability":"mutable","name":"value","nameLocation":"1632:5:56","nodeType":"VariableDeclaration","scope":45057,"src":"1624:13:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45055,"name":"uint256","nodeType":"ElementaryTypeName","src":"1624:7:56","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Uint256Slot","nameLocation":"1602:11:56","scope":45166,"visibility":"public"},{"id":45060,"nodeType":"StructDefinition","src":"1650:47:56","nodes":[],"canonicalName":"StorageSlot.Int256Slot","members":[{"constant":false,"id":45059,"mutability":"mutable","name":"value","nameLocation":"1685:5:56","nodeType":"VariableDeclaration","scope":45060,"src":"1678:12:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":45058,"name":"int256","nodeType":"ElementaryTypeName","src":"1678:6:56","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"Int256Slot","nameLocation":"1657:10:56","scope":45166,"visibility":"public"},{"id":45063,"nodeType":"StructDefinition","src":"1703:47:56","nodes":[],"canonicalName":"StorageSlot.StringSlot","members":[{"constant":false,"id":45062,"mutability":"mutable","name":"value","nameLocation":"1738:5:56","nodeType":"VariableDeclaration","scope":45063,"src":"1731:12:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":45061,"name":"string","nodeType":"ElementaryTypeName","src":"1731:6:56","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"StringSlot","nameLocation":"1710:10:56","scope":45166,"visibility":"public"},{"id":45066,"nodeType":"StructDefinition","src":"1756:45:56","nodes":[],"canonicalName":"StorageSlot.BytesSlot","members":[{"constant":false,"id":45065,"mutability":"mutable","name":"value","nameLocation":"1789:5:56","nodeType":"VariableDeclaration","scope":45066,"src":"1783:11:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":45064,"name":"bytes","nodeType":"ElementaryTypeName","src":"1783:5:56","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"BytesSlot","nameLocation":"1763:9:56","scope":45166,"visibility":"public"},{"id":45077,"nodeType":"FunctionDefinition","src":"1899:163:56","nodes":[],"body":{"id":45076,"nodeType":"Block","src":"1983:79:56","nodes":[],"statements":[{"AST":{"nativeSrc":"2018:38:56","nodeType":"YulBlock","src":"2018:38:56","statements":[{"nativeSrc":"2032:14:56","nodeType":"YulAssignment","src":"2032:14:56","value":{"name":"slot","nativeSrc":"2042:4:56","nodeType":"YulIdentifier","src":"2042:4:56"},"variableNames":[{"name":"r.slot","nativeSrc":"2032:6:56","nodeType":"YulIdentifier","src":"2032:6:56"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":45073,"isOffset":false,"isSlot":true,"src":"2032:6:56","suffix":"slot","valueSize":1},{"declaration":45069,"isOffset":false,"isSlot":false,"src":"2042:4:56","valueSize":1}],"flags":["memory-safe"],"id":45075,"nodeType":"InlineAssembly","src":"1993:63:56"}]},"documentation":{"id":45067,"nodeType":"StructuredDocumentation","src":"1807:87:56","text":" @dev Returns an `AddressSlot` with member `value` located at `slot`."},"implemented":true,"kind":"function","modifiers":[],"name":"getAddressSlot","nameLocation":"1908:14:56","parameters":{"id":45070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45069,"mutability":"mutable","name":"slot","nameLocation":"1931:4:56","nodeType":"VariableDeclaration","scope":45077,"src":"1923:12:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45068,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1923:7:56","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1922:14:56"},"returnParameters":{"id":45074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45073,"mutability":"mutable","name":"r","nameLocation":"1980:1:56","nodeType":"VariableDeclaration","scope":45077,"src":"1960:21:56","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$45048_storage_ptr","typeString":"struct StorageSlot.AddressSlot"},"typeName":{"id":45072,"nodeType":"UserDefinedTypeName","pathNode":{"id":45071,"name":"AddressSlot","nameLocations":["1960:11:56"],"nodeType":"IdentifierPath","referencedDeclaration":45048,"src":"1960:11:56"},"referencedDeclaration":45048,"src":"1960:11:56","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSlot_$45048_storage_ptr","typeString":"struct StorageSlot.AddressSlot"}},"visibility":"internal"}],"src":"1959:23:56"},"scope":45166,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45088,"nodeType":"FunctionDefinition","src":"2159:163:56","nodes":[],"body":{"id":45087,"nodeType":"Block","src":"2243:79:56","nodes":[],"statements":[{"AST":{"nativeSrc":"2278:38:56","nodeType":"YulBlock","src":"2278:38:56","statements":[{"nativeSrc":"2292:14:56","nodeType":"YulAssignment","src":"2292:14:56","value":{"name":"slot","nativeSrc":"2302:4:56","nodeType":"YulIdentifier","src":"2302:4:56"},"variableNames":[{"name":"r.slot","nativeSrc":"2292:6:56","nodeType":"YulIdentifier","src":"2292:6:56"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":45084,"isOffset":false,"isSlot":true,"src":"2292:6:56","suffix":"slot","valueSize":1},{"declaration":45080,"isOffset":false,"isSlot":false,"src":"2302:4:56","valueSize":1}],"flags":["memory-safe"],"id":45086,"nodeType":"InlineAssembly","src":"2253:63:56"}]},"documentation":{"id":45078,"nodeType":"StructuredDocumentation","src":"2068:86:56","text":" @dev Returns a `BooleanSlot` with member `value` located at `slot`."},"implemented":true,"kind":"function","modifiers":[],"name":"getBooleanSlot","nameLocation":"2168:14:56","parameters":{"id":45081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45080,"mutability":"mutable","name":"slot","nameLocation":"2191:4:56","nodeType":"VariableDeclaration","scope":45088,"src":"2183:12:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45079,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2183:7:56","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2182:14:56"},"returnParameters":{"id":45085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45084,"mutability":"mutable","name":"r","nameLocation":"2240:1:56","nodeType":"VariableDeclaration","scope":45088,"src":"2220:21:56","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BooleanSlot_$45051_storage_ptr","typeString":"struct StorageSlot.BooleanSlot"},"typeName":{"id":45083,"nodeType":"UserDefinedTypeName","pathNode":{"id":45082,"name":"BooleanSlot","nameLocations":["2220:11:56"],"nodeType":"IdentifierPath","referencedDeclaration":45051,"src":"2220:11:56"},"referencedDeclaration":45051,"src":"2220:11:56","typeDescriptions":{"typeIdentifier":"t_struct$_BooleanSlot_$45051_storage_ptr","typeString":"struct StorageSlot.BooleanSlot"}},"visibility":"internal"}],"src":"2219:23:56"},"scope":45166,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45099,"nodeType":"FunctionDefinition","src":"2419:163:56","nodes":[],"body":{"id":45098,"nodeType":"Block","src":"2503:79:56","nodes":[],"statements":[{"AST":{"nativeSrc":"2538:38:56","nodeType":"YulBlock","src":"2538:38:56","statements":[{"nativeSrc":"2552:14:56","nodeType":"YulAssignment","src":"2552:14:56","value":{"name":"slot","nativeSrc":"2562:4:56","nodeType":"YulIdentifier","src":"2562:4:56"},"variableNames":[{"name":"r.slot","nativeSrc":"2552:6:56","nodeType":"YulIdentifier","src":"2552:6:56"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":45095,"isOffset":false,"isSlot":true,"src":"2552:6:56","suffix":"slot","valueSize":1},{"declaration":45091,"isOffset":false,"isSlot":false,"src":"2562:4:56","valueSize":1}],"flags":["memory-safe"],"id":45097,"nodeType":"InlineAssembly","src":"2513:63:56"}]},"documentation":{"id":45089,"nodeType":"StructuredDocumentation","src":"2328:86:56","text":" @dev Returns a `Bytes32Slot` with member `value` located at `slot`."},"implemented":true,"kind":"function","modifiers":[],"name":"getBytes32Slot","nameLocation":"2428:14:56","parameters":{"id":45092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45091,"mutability":"mutable","name":"slot","nameLocation":"2451:4:56","nodeType":"VariableDeclaration","scope":45099,"src":"2443:12:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45090,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2443:7:56","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2442:14:56"},"returnParameters":{"id":45096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45095,"mutability":"mutable","name":"r","nameLocation":"2500:1:56","nodeType":"VariableDeclaration","scope":45099,"src":"2480:21:56","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Slot_$45054_storage_ptr","typeString":"struct StorageSlot.Bytes32Slot"},"typeName":{"id":45094,"nodeType":"UserDefinedTypeName","pathNode":{"id":45093,"name":"Bytes32Slot","nameLocations":["2480:11:56"],"nodeType":"IdentifierPath","referencedDeclaration":45054,"src":"2480:11:56"},"referencedDeclaration":45054,"src":"2480:11:56","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Slot_$45054_storage_ptr","typeString":"struct StorageSlot.Bytes32Slot"}},"visibility":"internal"}],"src":"2479:23:56"},"scope":45166,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45110,"nodeType":"FunctionDefinition","src":"2679:163:56","nodes":[],"body":{"id":45109,"nodeType":"Block","src":"2763:79:56","nodes":[],"statements":[{"AST":{"nativeSrc":"2798:38:56","nodeType":"YulBlock","src":"2798:38:56","statements":[{"nativeSrc":"2812:14:56","nodeType":"YulAssignment","src":"2812:14:56","value":{"name":"slot","nativeSrc":"2822:4:56","nodeType":"YulIdentifier","src":"2822:4:56"},"variableNames":[{"name":"r.slot","nativeSrc":"2812:6:56","nodeType":"YulIdentifier","src":"2812:6:56"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":45106,"isOffset":false,"isSlot":true,"src":"2812:6:56","suffix":"slot","valueSize":1},{"declaration":45102,"isOffset":false,"isSlot":false,"src":"2822:4:56","valueSize":1}],"flags":["memory-safe"],"id":45108,"nodeType":"InlineAssembly","src":"2773:63:56"}]},"documentation":{"id":45100,"nodeType":"StructuredDocumentation","src":"2588:86:56","text":" @dev Returns a `Uint256Slot` with member `value` located at `slot`."},"implemented":true,"kind":"function","modifiers":[],"name":"getUint256Slot","nameLocation":"2688:14:56","parameters":{"id":45103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45102,"mutability":"mutable","name":"slot","nameLocation":"2711:4:56","nodeType":"VariableDeclaration","scope":45110,"src":"2703:12:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45101,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2703:7:56","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2702:14:56"},"returnParameters":{"id":45107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45106,"mutability":"mutable","name":"r","nameLocation":"2760:1:56","nodeType":"VariableDeclaration","scope":45110,"src":"2740:21:56","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Uint256Slot_$45057_storage_ptr","typeString":"struct StorageSlot.Uint256Slot"},"typeName":{"id":45105,"nodeType":"UserDefinedTypeName","pathNode":{"id":45104,"name":"Uint256Slot","nameLocations":["2740:11:56"],"nodeType":"IdentifierPath","referencedDeclaration":45057,"src":"2740:11:56"},"referencedDeclaration":45057,"src":"2740:11:56","typeDescriptions":{"typeIdentifier":"t_struct$_Uint256Slot_$45057_storage_ptr","typeString":"struct StorageSlot.Uint256Slot"}},"visibility":"internal"}],"src":"2739:23:56"},"scope":45166,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45121,"nodeType":"FunctionDefinition","src":"2938:161:56","nodes":[],"body":{"id":45120,"nodeType":"Block","src":"3020:79:56","nodes":[],"statements":[{"AST":{"nativeSrc":"3055:38:56","nodeType":"YulBlock","src":"3055:38:56","statements":[{"nativeSrc":"3069:14:56","nodeType":"YulAssignment","src":"3069:14:56","value":{"name":"slot","nativeSrc":"3079:4:56","nodeType":"YulIdentifier","src":"3079:4:56"},"variableNames":[{"name":"r.slot","nativeSrc":"3069:6:56","nodeType":"YulIdentifier","src":"3069:6:56"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":45117,"isOffset":false,"isSlot":true,"src":"3069:6:56","suffix":"slot","valueSize":1},{"declaration":45113,"isOffset":false,"isSlot":false,"src":"3079:4:56","valueSize":1}],"flags":["memory-safe"],"id":45119,"nodeType":"InlineAssembly","src":"3030:63:56"}]},"documentation":{"id":45111,"nodeType":"StructuredDocumentation","src":"2848:85:56","text":" @dev Returns a `Int256Slot` with member `value` located at `slot`."},"implemented":true,"kind":"function","modifiers":[],"name":"getInt256Slot","nameLocation":"2947:13:56","parameters":{"id":45114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45113,"mutability":"mutable","name":"slot","nameLocation":"2969:4:56","nodeType":"VariableDeclaration","scope":45121,"src":"2961:12:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45112,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2961:7:56","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2960:14:56"},"returnParameters":{"id":45118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45117,"mutability":"mutable","name":"r","nameLocation":"3017:1:56","nodeType":"VariableDeclaration","scope":45121,"src":"2998:20:56","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Int256Slot_$45060_storage_ptr","typeString":"struct StorageSlot.Int256Slot"},"typeName":{"id":45116,"nodeType":"UserDefinedTypeName","pathNode":{"id":45115,"name":"Int256Slot","nameLocations":["2998:10:56"],"nodeType":"IdentifierPath","referencedDeclaration":45060,"src":"2998:10:56"},"referencedDeclaration":45060,"src":"2998:10:56","typeDescriptions":{"typeIdentifier":"t_struct$_Int256Slot_$45060_storage_ptr","typeString":"struct StorageSlot.Int256Slot"}},"visibility":"internal"}],"src":"2997:22:56"},"scope":45166,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45132,"nodeType":"FunctionDefinition","src":"3195:161:56","nodes":[],"body":{"id":45131,"nodeType":"Block","src":"3277:79:56","nodes":[],"statements":[{"AST":{"nativeSrc":"3312:38:56","nodeType":"YulBlock","src":"3312:38:56","statements":[{"nativeSrc":"3326:14:56","nodeType":"YulAssignment","src":"3326:14:56","value":{"name":"slot","nativeSrc":"3336:4:56","nodeType":"YulIdentifier","src":"3336:4:56"},"variableNames":[{"name":"r.slot","nativeSrc":"3326:6:56","nodeType":"YulIdentifier","src":"3326:6:56"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":45128,"isOffset":false,"isSlot":true,"src":"3326:6:56","suffix":"slot","valueSize":1},{"declaration":45124,"isOffset":false,"isSlot":false,"src":"3336:4:56","valueSize":1}],"flags":["memory-safe"],"id":45130,"nodeType":"InlineAssembly","src":"3287:63:56"}]},"documentation":{"id":45122,"nodeType":"StructuredDocumentation","src":"3105:85:56","text":" @dev Returns a `StringSlot` with member `value` located at `slot`."},"implemented":true,"kind":"function","modifiers":[],"name":"getStringSlot","nameLocation":"3204:13:56","parameters":{"id":45125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45124,"mutability":"mutable","name":"slot","nameLocation":"3226:4:56","nodeType":"VariableDeclaration","scope":45132,"src":"3218:12:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45123,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3218:7:56","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3217:14:56"},"returnParameters":{"id":45129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45128,"mutability":"mutable","name":"r","nameLocation":"3274:1:56","nodeType":"VariableDeclaration","scope":45132,"src":"3255:20:56","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StringSlot_$45063_storage_ptr","typeString":"struct StorageSlot.StringSlot"},"typeName":{"id":45127,"nodeType":"UserDefinedTypeName","pathNode":{"id":45126,"name":"StringSlot","nameLocations":["3255:10:56"],"nodeType":"IdentifierPath","referencedDeclaration":45063,"src":"3255:10:56"},"referencedDeclaration":45063,"src":"3255:10:56","typeDescriptions":{"typeIdentifier":"t_struct$_StringSlot_$45063_storage_ptr","typeString":"struct StorageSlot.StringSlot"}},"visibility":"internal"}],"src":"3254:22:56"},"scope":45166,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45143,"nodeType":"FunctionDefinition","src":"3468:175:56","nodes":[],"body":{"id":45142,"nodeType":"Block","src":"3558:85:56","nodes":[],"statements":[{"AST":{"nativeSrc":"3593:44:56","nodeType":"YulBlock","src":"3593:44:56","statements":[{"nativeSrc":"3607:20:56","nodeType":"YulAssignment","src":"3607:20:56","value":{"name":"store.slot","nativeSrc":"3617:10:56","nodeType":"YulIdentifier","src":"3617:10:56"},"variableNames":[{"name":"r.slot","nativeSrc":"3607:6:56","nodeType":"YulIdentifier","src":"3607:6:56"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":45139,"isOffset":false,"isSlot":true,"src":"3607:6:56","suffix":"slot","valueSize":1},{"declaration":45135,"isOffset":false,"isSlot":true,"src":"3617:10:56","suffix":"slot","valueSize":1}],"flags":["memory-safe"],"id":45141,"nodeType":"InlineAssembly","src":"3568:69:56"}]},"documentation":{"id":45133,"nodeType":"StructuredDocumentation","src":"3362:101:56","text":" @dev Returns an `StringSlot` representation of the string storage pointer `store`."},"implemented":true,"kind":"function","modifiers":[],"name":"getStringSlot","nameLocation":"3477:13:56","parameters":{"id":45136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45135,"mutability":"mutable","name":"store","nameLocation":"3506:5:56","nodeType":"VariableDeclaration","scope":45143,"src":"3491:20:56","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":45134,"name":"string","nodeType":"ElementaryTypeName","src":"3491:6:56","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3490:22:56"},"returnParameters":{"id":45140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45139,"mutability":"mutable","name":"r","nameLocation":"3555:1:56","nodeType":"VariableDeclaration","scope":45143,"src":"3536:20:56","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StringSlot_$45063_storage_ptr","typeString":"struct StorageSlot.StringSlot"},"typeName":{"id":45138,"nodeType":"UserDefinedTypeName","pathNode":{"id":45137,"name":"StringSlot","nameLocations":["3536:10:56"],"nodeType":"IdentifierPath","referencedDeclaration":45063,"src":"3536:10:56"},"referencedDeclaration":45063,"src":"3536:10:56","typeDescriptions":{"typeIdentifier":"t_struct$_StringSlot_$45063_storage_ptr","typeString":"struct StorageSlot.StringSlot"}},"visibility":"internal"}],"src":"3535:22:56"},"scope":45166,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45154,"nodeType":"FunctionDefinition","src":"3738:159:56","nodes":[],"body":{"id":45153,"nodeType":"Block","src":"3818:79:56","nodes":[],"statements":[{"AST":{"nativeSrc":"3853:38:56","nodeType":"YulBlock","src":"3853:38:56","statements":[{"nativeSrc":"3867:14:56","nodeType":"YulAssignment","src":"3867:14:56","value":{"name":"slot","nativeSrc":"3877:4:56","nodeType":"YulIdentifier","src":"3877:4:56"},"variableNames":[{"name":"r.slot","nativeSrc":"3867:6:56","nodeType":"YulIdentifier","src":"3867:6:56"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":45150,"isOffset":false,"isSlot":true,"src":"3867:6:56","suffix":"slot","valueSize":1},{"declaration":45146,"isOffset":false,"isSlot":false,"src":"3877:4:56","valueSize":1}],"flags":["memory-safe"],"id":45152,"nodeType":"InlineAssembly","src":"3828:63:56"}]},"documentation":{"id":45144,"nodeType":"StructuredDocumentation","src":"3649:84:56","text":" @dev Returns a `BytesSlot` with member `value` located at `slot`."},"implemented":true,"kind":"function","modifiers":[],"name":"getBytesSlot","nameLocation":"3747:12:56","parameters":{"id":45147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45146,"mutability":"mutable","name":"slot","nameLocation":"3768:4:56","nodeType":"VariableDeclaration","scope":45154,"src":"3760:12:56","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":45145,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3760:7:56","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3759:14:56"},"returnParameters":{"id":45151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45150,"mutability":"mutable","name":"r","nameLocation":"3815:1:56","nodeType":"VariableDeclaration","scope":45154,"src":"3797:19:56","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSlot_$45066_storage_ptr","typeString":"struct StorageSlot.BytesSlot"},"typeName":{"id":45149,"nodeType":"UserDefinedTypeName","pathNode":{"id":45148,"name":"BytesSlot","nameLocations":["3797:9:56"],"nodeType":"IdentifierPath","referencedDeclaration":45066,"src":"3797:9:56"},"referencedDeclaration":45066,"src":"3797:9:56","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSlot_$45066_storage_ptr","typeString":"struct StorageSlot.BytesSlot"}},"visibility":"internal"}],"src":"3796:21:56"},"scope":45166,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45165,"nodeType":"FunctionDefinition","src":"4007:172:56","nodes":[],"body":{"id":45164,"nodeType":"Block","src":"4094:85:56","nodes":[],"statements":[{"AST":{"nativeSrc":"4129:44:56","nodeType":"YulBlock","src":"4129:44:56","statements":[{"nativeSrc":"4143:20:56","nodeType":"YulAssignment","src":"4143:20:56","value":{"name":"store.slot","nativeSrc":"4153:10:56","nodeType":"YulIdentifier","src":"4153:10:56"},"variableNames":[{"name":"r.slot","nativeSrc":"4143:6:56","nodeType":"YulIdentifier","src":"4143:6:56"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":45161,"isOffset":false,"isSlot":true,"src":"4143:6:56","suffix":"slot","valueSize":1},{"declaration":45157,"isOffset":false,"isSlot":true,"src":"4153:10:56","suffix":"slot","valueSize":1}],"flags":["memory-safe"],"id":45163,"nodeType":"InlineAssembly","src":"4104:69:56"}]},"documentation":{"id":45155,"nodeType":"StructuredDocumentation","src":"3903:99:56","text":" @dev Returns an `BytesSlot` representation of the bytes storage pointer `store`."},"implemented":true,"kind":"function","modifiers":[],"name":"getBytesSlot","nameLocation":"4016:12:56","parameters":{"id":45158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45157,"mutability":"mutable","name":"store","nameLocation":"4043:5:56","nodeType":"VariableDeclaration","scope":45165,"src":"4029:19:56","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":45156,"name":"bytes","nodeType":"ElementaryTypeName","src":"4029:5:56","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4028:21:56"},"returnParameters":{"id":45162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45161,"mutability":"mutable","name":"r","nameLocation":"4091:1:56","nodeType":"VariableDeclaration","scope":45165,"src":"4073:19:56","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSlot_$45066_storage_ptr","typeString":"struct StorageSlot.BytesSlot"},"typeName":{"id":45160,"nodeType":"UserDefinedTypeName","pathNode":{"id":45159,"name":"BytesSlot","nameLocations":["4073:9:56"],"nodeType":"IdentifierPath","referencedDeclaration":45066,"src":"4073:9:56"},"referencedDeclaration":45066,"src":"4073:9:56","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSlot_$45066_storage_ptr","typeString":"struct StorageSlot.BytesSlot"}},"visibility":"internal"}],"src":"4072:21:56"},"scope":45166,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"StorageSlot","contractDependencies":[],"contractKind":"library","documentation":{"id":45045,"nodeType":"StructuredDocumentation","src":"219:1187:56","text":" @dev Library for reading and writing primitive types to specific storage slots.\n Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.\n This library helps with reading and writing to such slots without the need for inline assembly.\n The functions in this library return Slot structs that contain a `value` member that can be used to read or write.\n Example usage to set ERC-1967 implementation slot:\n ```solidity\n contract ERC1967 {\n // Define the slot. Alternatively, use the SlotDerivation library to derive the slot.\n bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n function _getImplementation() internal view returns (address) {\n return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;\n }\n function _setImplementation(address newImplementation) internal {\n require(newImplementation.code.length > 0);\n StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;\n }\n }\n ```\n TIP: Consider using this library along with {SlotDerivation}."},"fullyImplemented":true,"linearizedBaseContracts":[45166],"name":"StorageSlot","nameLocation":"1415:11:56","scope":45167,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"id":57,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Strings.sol","id":46569,"exportedSymbols":{"Math":[48420],"SafeCast":[50185],"SignedMath":[50329],"Strings":[46568]},"nodeType":"SourceUnit","src":"101:19179:57","nodes":[{"id":45168,"nodeType":"PragmaDirective","src":"101:24:57","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":45170,"nodeType":"ImportDirective","src":"127:37:57","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"./math/Math.sol","nameLocation":"-1:-1:-1","scope":46569,"sourceUnit":48421,"symbolAliases":[{"foreign":{"id":45169,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48420,"src":"135:4:57","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":45172,"nodeType":"ImportDirective","src":"165:45:57","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol","file":"./math/SafeCast.sol","nameLocation":"-1:-1:-1","scope":46569,"sourceUnit":50186,"symbolAliases":[{"foreign":{"id":45171,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"173:8:57","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":45174,"nodeType":"ImportDirective","src":"211:49:57","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol","file":"./math/SignedMath.sol","nameLocation":"-1:-1:-1","scope":46569,"sourceUnit":50330,"symbolAliases":[{"foreign":{"id":45173,"name":"SignedMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50329,"src":"219:10:57","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":46568,"nodeType":"ContractDefinition","src":"297:18982:57","nodes":[{"id":45177,"nodeType":"UsingForDirective","src":"319:21:57","nodes":[],"global":false,"libraryName":{"id":45176,"name":"SafeCast","nameLocations":["325:8:57"],"nodeType":"IdentifierPath","referencedDeclaration":50185,"src":"325:8:57"}},{"id":45180,"nodeType":"VariableDeclaration","src":"346:56:57","nodes":[],"constant":true,"mutability":"constant","name":"HEX_DIGITS","nameLocation":"371:10:57","scope":46568,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":45178,"name":"bytes16","nodeType":"ElementaryTypeName","src":"346:7:57","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"value":{"hexValue":"30313233343536373839616263646566","id":45179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"384:18:57","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f","typeString":"literal_string \"0123456789abcdef\""},"value":"0123456789abcdef"},"visibility":"private"},{"id":45183,"nodeType":"VariableDeclaration","src":"408:42:57","nodes":[],"constant":true,"mutability":"constant","name":"ADDRESS_LENGTH","nameLocation":"431:14:57","scope":46568,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":45181,"name":"uint8","nodeType":"ElementaryTypeName","src":"408:5:57","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3230","id":45182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"448:2:57","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"},"visibility":"private"},{"id":45219,"nodeType":"VariableDeclaration","src":"456:302:57","nodes":[],"constant":true,"mutability":"constant","name":"SPECIAL_CHARS_LOOKUP","nameLocation":"481:20:57","scope":46568,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45184,"name":"uint256","nodeType":"ElementaryTypeName","src":"456:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_4951760157141521116776380160_by_1","typeString":"int_const 4951760157141521116776380160"},"id":45218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_rational_17179883264_by_1","typeString":"int_const 17179883264"},"id":45213,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_rational_14080_by_1","typeString":"int_const 14080"},"id":45208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_rational_5888_by_1","typeString":"int_const 5888"},"id":45203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_rational_1792_by_1","typeString":"int_const 1792"},"id":45198,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_rational_768_by_1","typeString":"int_const 768"},"id":45193,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"id":45187,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":45185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"513:1:57","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"30783038","id":45186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"518:4:57","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"0x08"},"src":"513:9:57","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"}}],"id":45188,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"512:11:57","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_512_by_1","typeString":"int_const 512"},"id":45191,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":45189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"552:1:57","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"30783039","id":45190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"557:4:57","typeDescriptions":{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"},"value":"0x09"},"src":"552:9:57","typeDescriptions":{"typeIdentifier":"t_rational_512_by_1","typeString":"int_const 512"}}],"id":45192,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"551:11:57","typeDescriptions":{"typeIdentifier":"t_rational_512_by_1","typeString":"int_const 512"}},"src":"512:50:57","typeDescriptions":{"typeIdentifier":"t_rational_768_by_1","typeString":"int_const 768"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_1024_by_1","typeString":"int_const 1024"},"id":45196,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":45194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"585:1:57","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"30783061","id":45195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"590:4:57","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"0x0a"},"src":"585:9:57","typeDescriptions":{"typeIdentifier":"t_rational_1024_by_1","typeString":"int_const 1024"}}],"id":45197,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"584:11:57","typeDescriptions":{"typeIdentifier":"t_rational_1024_by_1","typeString":"int_const 1024"}},"src":"512:83:57","typeDescriptions":{"typeIdentifier":"t_rational_1792_by_1","typeString":"int_const 1792"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_4096_by_1","typeString":"int_const 4096"},"id":45201,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":45199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"622:1:57","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"30783063","id":45200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"627:4:57","typeDescriptions":{"typeIdentifier":"t_rational_12_by_1","typeString":"int_const 12"},"value":"0x0c"},"src":"622:9:57","typeDescriptions":{"typeIdentifier":"t_rational_4096_by_1","typeString":"int_const 4096"}}],"id":45202,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"621:11:57","typeDescriptions":{"typeIdentifier":"t_rational_4096_by_1","typeString":"int_const 4096"}},"src":"512:120:57","typeDescriptions":{"typeIdentifier":"t_rational_5888_by_1","typeString":"int_const 5888"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_8192_by_1","typeString":"int_const 8192"},"id":45206,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":45204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"661:1:57","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"30783064","id":45205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"666:4:57","typeDescriptions":{"typeIdentifier":"t_rational_13_by_1","typeString":"int_const 13"},"value":"0x0d"},"src":"661:9:57","typeDescriptions":{"typeIdentifier":"t_rational_8192_by_1","typeString":"int_const 8192"}}],"id":45207,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"660:11:57","typeDescriptions":{"typeIdentifier":"t_rational_8192_by_1","typeString":"int_const 8192"}},"src":"512:159:57","typeDescriptions":{"typeIdentifier":"t_rational_14080_by_1","typeString":"int_const 14080"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_17179869184_by_1","typeString":"int_const 17179869184"},"id":45211,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":45209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"706:1:57","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"30783232","id":45210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"711:4:57","typeDescriptions":{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"},"value":"0x22"},"src":"706:9:57","typeDescriptions":{"typeIdentifier":"t_rational_17179869184_by_1","typeString":"int_const 17179869184"}}],"id":45212,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"705:11:57","typeDescriptions":{"typeIdentifier":"t_rational_17179869184_by_1","typeString":"int_const 17179869184"}},"src":"512:204:57","typeDescriptions":{"typeIdentifier":"t_rational_17179883264_by_1","typeString":"int_const 17179883264"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_4951760157141521099596496896_by_1","typeString":"int_const 4951760157141521099596496896"},"id":45216,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":45214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"748:1:57","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"30783563","id":45215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"753:4:57","typeDescriptions":{"typeIdentifier":"t_rational_92_by_1","typeString":"int_const 92"},"value":"0x5c"},"src":"748:9:57","typeDescriptions":{"typeIdentifier":"t_rational_4951760157141521099596496896_by_1","typeString":"int_const 4951760157141521099596496896"}}],"id":45217,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"747:11:57","typeDescriptions":{"typeIdentifier":"t_rational_4951760157141521099596496896_by_1","typeString":"int_const 4951760157141521099596496896"}},"src":"512:246:57","typeDescriptions":{"typeIdentifier":"t_rational_4951760157141521116776380160_by_1","typeString":"int_const 4951760157141521116776380160"}},"visibility":"private"},{"id":45226,"nodeType":"ErrorDefinition","src":"864:66:57","nodes":[],"documentation":{"id":45220,"nodeType":"StructuredDocumentation","src":"778:81:57","text":" @dev The `value` string doesn't fit in the specified `length`."},"errorSelector":"e22e27eb","name":"StringsInsufficientHexLength","nameLocation":"870:28:57","parameters":{"id":45225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45222,"mutability":"mutable","name":"value","nameLocation":"907:5:57","nodeType":"VariableDeclaration","scope":45226,"src":"899:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45221,"name":"uint256","nodeType":"ElementaryTypeName","src":"899:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45224,"mutability":"mutable","name":"length","nameLocation":"922:6:57","nodeType":"VariableDeclaration","scope":45226,"src":"914:14:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45223,"name":"uint256","nodeType":"ElementaryTypeName","src":"914:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"898:31:57"}},{"id":45229,"nodeType":"ErrorDefinition","src":"1049:27:57","nodes":[],"documentation":{"id":45227,"nodeType":"StructuredDocumentation","src":"936:108:57","text":" @dev The string being parsed contains characters that are not in scope of the given base."},"errorSelector":"94e2737e","name":"StringsInvalidChar","nameLocation":"1055:18:57","parameters":{"id":45228,"nodeType":"ParameterList","parameters":[],"src":"1073:2:57"}},{"id":45232,"nodeType":"ErrorDefinition","src":"1171:36:57","nodes":[],"documentation":{"id":45230,"nodeType":"StructuredDocumentation","src":"1082:84:57","text":" @dev The string being parsed is not a properly formatted address."},"errorSelector":"1d15ae44","name":"StringsInvalidAddressFormat","nameLocation":"1177:27:57","parameters":{"id":45231,"nodeType":"ParameterList","parameters":[],"src":"1204:2:57"}},{"id":45280,"nodeType":"FunctionDefinition","src":"1308:634:57","nodes":[],"body":{"id":45279,"nodeType":"Block","src":"1379:563:57","nodes":[],"statements":[{"id":45278,"nodeType":"UncheckedBlock","src":"1389:547:57","statements":[{"assignments":[45241],"declarations":[{"constant":false,"id":45241,"mutability":"mutable","name":"length","nameLocation":"1421:6:57","nodeType":"VariableDeclaration","scope":45278,"src":"1413:14:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45240,"name":"uint256","nodeType":"ElementaryTypeName","src":"1413:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45248,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":45244,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45235,"src":"1441:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":45242,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48420,"src":"1430:4:57","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$48420_$","typeString":"type(library Math)"}},"id":45243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1435:5:57","memberName":"log10","nodeType":"MemberAccess","referencedDeclaration":48252,"src":"1430:10:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":45245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1430:17:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":45246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1450:1:57","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1430:21:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1413:38:57"},{"assignments":[45250],"declarations":[{"constant":false,"id":45250,"mutability":"mutable","name":"buffer","nameLocation":"1479:6:57","nodeType":"VariableDeclaration","scope":45278,"src":"1465:20:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45249,"name":"string","nodeType":"ElementaryTypeName","src":"1465:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":45255,"initialValue":{"arguments":[{"id":45253,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45241,"src":"1499:6:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1488:10:57","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"},"typeName":{"id":45251,"name":"string","nodeType":"ElementaryTypeName","src":"1492:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"id":45254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1488:18:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"1465:41:57"},{"assignments":[45257],"declarations":[{"constant":false,"id":45257,"mutability":"mutable","name":"ptr","nameLocation":"1528:3:57","nodeType":"VariableDeclaration","scope":45278,"src":"1520:11:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45256,"name":"uint256","nodeType":"ElementaryTypeName","src":"1520:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45258,"nodeType":"VariableDeclarationStatement","src":"1520:11:57"},{"AST":{"nativeSrc":"1570:69:57","nodeType":"YulBlock","src":"1570:69:57","statements":[{"nativeSrc":"1588:37:57","nodeType":"YulAssignment","src":"1588:37:57","value":{"arguments":[{"arguments":[{"name":"buffer","nativeSrc":"1603:6:57","nodeType":"YulIdentifier","src":"1603:6:57"},{"kind":"number","nativeSrc":"1611:4:57","nodeType":"YulLiteral","src":"1611:4:57","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"1599:3:57","nodeType":"YulIdentifier","src":"1599:3:57"},"nativeSrc":"1599:17:57","nodeType":"YulFunctionCall","src":"1599:17:57"},{"name":"length","nativeSrc":"1618:6:57","nodeType":"YulIdentifier","src":"1618:6:57"}],"functionName":{"name":"add","nativeSrc":"1595:3:57","nodeType":"YulIdentifier","src":"1595:3:57"},"nativeSrc":"1595:30:57","nodeType":"YulFunctionCall","src":"1595:30:57"},"variableNames":[{"name":"ptr","nativeSrc":"1588:3:57","nodeType":"YulIdentifier","src":"1588:3:57"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":45250,"isOffset":false,"isSlot":false,"src":"1603:6:57","valueSize":1},{"declaration":45241,"isOffset":false,"isSlot":false,"src":"1618:6:57","valueSize":1},{"declaration":45257,"isOffset":false,"isSlot":false,"src":"1588:3:57","valueSize":1}],"flags":["memory-safe"],"id":45259,"nodeType":"InlineAssembly","src":"1545:94:57"},{"body":{"id":45274,"nodeType":"Block","src":"1665:234:57","statements":[{"expression":{"id":45262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"1683:5:57","subExpression":{"id":45261,"name":"ptr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45257,"src":"1683:3:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45263,"nodeType":"ExpressionStatement","src":"1683:5:57"},{"AST":{"nativeSrc":"1731:86:57","nodeType":"YulBlock","src":"1731:86:57","statements":[{"expression":{"arguments":[{"name":"ptr","nativeSrc":"1761:3:57","nodeType":"YulIdentifier","src":"1761:3:57"},{"arguments":[{"arguments":[{"name":"value","nativeSrc":"1775:5:57","nodeType":"YulIdentifier","src":"1775:5:57"},{"kind":"number","nativeSrc":"1782:2:57","nodeType":"YulLiteral","src":"1782:2:57","type":"","value":"10"}],"functionName":{"name":"mod","nativeSrc":"1771:3:57","nodeType":"YulIdentifier","src":"1771:3:57"},"nativeSrc":"1771:14:57","nodeType":"YulFunctionCall","src":"1771:14:57"},{"name":"HEX_DIGITS","nativeSrc":"1787:10:57","nodeType":"YulIdentifier","src":"1787:10:57"}],"functionName":{"name":"byte","nativeSrc":"1766:4:57","nodeType":"YulIdentifier","src":"1766:4:57"},"nativeSrc":"1766:32:57","nodeType":"YulFunctionCall","src":"1766:32:57"}],"functionName":{"name":"mstore8","nativeSrc":"1753:7:57","nodeType":"YulIdentifier","src":"1753:7:57"},"nativeSrc":"1753:46:57","nodeType":"YulFunctionCall","src":"1753:46:57"},"nativeSrc":"1753:46:57","nodeType":"YulExpressionStatement","src":"1753:46:57"}]},"evmVersion":"cancun","externalReferences":[{"declaration":45180,"isOffset":false,"isSlot":false,"src":"1787:10:57","valueSize":1},{"declaration":45257,"isOffset":false,"isSlot":false,"src":"1761:3:57","valueSize":1},{"declaration":45235,"isOffset":false,"isSlot":false,"src":"1775:5:57","valueSize":1}],"flags":["memory-safe"],"id":45264,"nodeType":"InlineAssembly","src":"1706:111:57"},{"expression":{"id":45267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45265,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45235,"src":"1834:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"hexValue":"3130","id":45266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1843:2:57","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"1834:11:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45268,"nodeType":"ExpressionStatement","src":"1834:11:57"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45269,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45235,"src":"1867:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":45270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1876:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1867:10:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45273,"nodeType":"IfStatement","src":"1863:21:57","trueBody":{"id":45272,"nodeType":"Break","src":"1879:5:57"}}]},"condition":{"hexValue":"74727565","id":45260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1659:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"id":45275,"nodeType":"WhileStatement","src":"1652:247:57"},{"expression":{"id":45276,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45250,"src":"1919:6:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":45239,"id":45277,"nodeType":"Return","src":"1912:13:57"}]}]},"documentation":{"id":45233,"nodeType":"StructuredDocumentation","src":"1213:90:57","text":" @dev Converts a `uint256` to its ASCII `string` decimal representation."},"implemented":true,"kind":"function","modifiers":[],"name":"toString","nameLocation":"1317:8:57","parameters":{"id":45236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45235,"mutability":"mutable","name":"value","nameLocation":"1334:5:57","nodeType":"VariableDeclaration","scope":45280,"src":"1326:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45234,"name":"uint256","nodeType":"ElementaryTypeName","src":"1326:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1325:15:57"},"returnParameters":{"id":45239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45238,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45280,"src":"1364:13:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45237,"name":"string","nodeType":"ElementaryTypeName","src":"1364:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1363:15:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45306,"nodeType":"FunctionDefinition","src":"2042:168:57","nodes":[],"body":{"id":45305,"nodeType":"Block","src":"2118:92:57","nodes":[],"statements":[{"expression":{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":45293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45291,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45283,"src":"2149:5:57","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":45292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2157:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2149:9:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"","id":45295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2167:2:57","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"id":45296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2149:20:57","trueExpression":{"hexValue":"2d","id":45294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2161:3:57","typeDescriptions":{"typeIdentifier":"t_stringliteral_d3b8281179950f98149eefdb158d0e1acb56f56e8e343aa9fefafa7e36959561","typeString":"literal_string \"-\""},"value":"-"},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"arguments":[{"id":45300,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45283,"src":"2195:5:57","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":45298,"name":"SignedMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50329,"src":"2180:10:57","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SignedMath_$50329_$","typeString":"type(library SignedMath)"}},"id":45299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2191:3:57","memberName":"abs","nodeType":"MemberAccess","referencedDeclaration":50328,"src":"2180:14:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":45301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2180:21:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45297,"name":"toString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45280,"src":"2171:8:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":45302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2171:31:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":45289,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2135:6:57","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":45288,"name":"string","nodeType":"ElementaryTypeName","src":"2135:6:57","typeDescriptions":{}}},"id":45290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2142:6:57","memberName":"concat","nodeType":"MemberAccess","src":"2135:13:57","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":45303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2135:68:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":45287,"id":45304,"nodeType":"Return","src":"2128:75:57"}]},"documentation":{"id":45281,"nodeType":"StructuredDocumentation","src":"1948:89:57","text":" @dev Converts a `int256` to its ASCII `string` decimal representation."},"implemented":true,"kind":"function","modifiers":[],"name":"toStringSigned","nameLocation":"2051:14:57","parameters":{"id":45284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45283,"mutability":"mutable","name":"value","nameLocation":"2073:5:57","nodeType":"VariableDeclaration","scope":45306,"src":"2066:12:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":45282,"name":"int256","nodeType":"ElementaryTypeName","src":"2066:6:57","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2065:14:57"},"returnParameters":{"id":45287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45286,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45306,"src":"2103:13:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45285,"name":"string","nodeType":"ElementaryTypeName","src":"2103:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2102:15:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45326,"nodeType":"FunctionDefinition","src":"2315:174:57","nodes":[],"body":{"id":45325,"nodeType":"Block","src":"2389:100:57","nodes":[],"statements":[{"id":45324,"nodeType":"UncheckedBlock","src":"2399:84:57","statements":[{"expression":{"arguments":[{"id":45315,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45309,"src":"2442:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":45318,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45309,"src":"2461:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":45316,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48420,"src":"2449:4:57","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$48420_$","typeString":"type(library Math)"}},"id":45317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2454:6:57","memberName":"log256","nodeType":"MemberAccess","referencedDeclaration":48363,"src":"2449:11:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":45319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2449:18:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":45320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2470:1:57","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2449:22:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45314,"name":"toHexString","nodeType":"Identifier","overloadedDeclarations":[45326,45409,45429],"referencedDeclaration":45409,"src":"2430:11:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (string memory)"}},"id":45322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2430:42:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":45313,"id":45323,"nodeType":"Return","src":"2423:49:57"}]}]},"documentation":{"id":45307,"nodeType":"StructuredDocumentation","src":"2216:94:57","text":" @dev Converts a `uint256` to its ASCII `string` hexadecimal representation."},"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"2324:11:57","parameters":{"id":45310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45309,"mutability":"mutable","name":"value","nameLocation":"2344:5:57","nodeType":"VariableDeclaration","scope":45326,"src":"2336:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45308,"name":"uint256","nodeType":"ElementaryTypeName","src":"2336:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2335:15:57"},"returnParameters":{"id":45313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45312,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45326,"src":"2374:13:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45311,"name":"string","nodeType":"ElementaryTypeName","src":"2374:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2373:15:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45409,"nodeType":"FunctionDefinition","src":"2612:525:57","nodes":[],"body":{"id":45408,"nodeType":"Block","src":"2702:435:57","nodes":[],"statements":[{"assignments":[45337],"declarations":[{"constant":false,"id":45337,"mutability":"mutable","name":"localValue","nameLocation":"2720:10:57","nodeType":"VariableDeclaration","scope":45408,"src":"2712:18:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45336,"name":"uint256","nodeType":"ElementaryTypeName","src":"2712:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45339,"initialValue":{"id":45338,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45329,"src":"2733:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2712:26:57"},{"assignments":[45341],"declarations":[{"constant":false,"id":45341,"mutability":"mutable","name":"buffer","nameLocation":"2761:6:57","nodeType":"VariableDeclaration","scope":45408,"src":"2748:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":45340,"name":"bytes","nodeType":"ElementaryTypeName","src":"2748:5:57","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":45350,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":45344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2780:1:57","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":45345,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45331,"src":"2784:6:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2780:10:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":45347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2793:1:57","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2780:14:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45343,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2770:9:57","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":45342,"name":"bytes","nodeType":"ElementaryTypeName","src":"2774:5:57","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":45349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2770:25:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"2748:47:57"},{"expression":{"id":45355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":45351,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45341,"src":"2805:6:57","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":45353,"indexExpression":{"hexValue":"30","id":45352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2812:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2805:9:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":45354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2817:3:57","typeDescriptions":{"typeIdentifier":"t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d","typeString":"literal_string \"0\""},"value":"0"},"src":"2805:15:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":45356,"nodeType":"ExpressionStatement","src":"2805:15:57"},{"expression":{"id":45361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":45357,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45341,"src":"2830:6:57","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":45359,"indexExpression":{"hexValue":"31","id":45358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2837:1:57","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2830:9:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"78","id":45360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2842:3:57","typeDescriptions":{"typeIdentifier":"t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83","typeString":"literal_string \"x\""},"value":"x"},"src":"2830:15:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":45362,"nodeType":"ExpressionStatement","src":"2830:15:57"},{"body":{"id":45391,"nodeType":"Block","src":"2900:95:57","statements":[{"expression":{"id":45385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":45377,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45341,"src":"2914:6:57","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":45379,"indexExpression":{"id":45378,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45364,"src":"2921:1:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2914:9:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":45380,"name":"HEX_DIGITS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45180,"src":"2926:10:57","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"id":45384,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45381,"name":"localValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45337,"src":"2937:10:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307866","id":45382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2950:3:57","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"0xf"},"src":"2937:16:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2926:28:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"2914:40:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":45386,"nodeType":"ExpressionStatement","src":"2914:40:57"},{"expression":{"id":45389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45387,"name":"localValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45337,"src":"2968:10:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"34","id":45388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2983:1:57","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"2968:16:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45390,"nodeType":"ExpressionStatement","src":"2968:16:57"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45371,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45364,"src":"2888:1:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":45372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2892:1:57","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2888:5:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45392,"initializationExpression":{"assignments":[45364],"declarations":[{"constant":false,"id":45364,"mutability":"mutable","name":"i","nameLocation":"2868:1:57","nodeType":"VariableDeclaration","scope":45392,"src":"2860:9:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45363,"name":"uint256","nodeType":"ElementaryTypeName","src":"2860:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45370,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":45365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2872:1:57","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":45366,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45331,"src":"2876:6:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2872:10:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":45368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2885:1:57","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2872:14:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2860:26:57"},"isSimpleCounterLoop":false,"loopExpression":{"expression":{"id":45375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"2895:3:57","subExpression":{"id":45374,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45364,"src":"2897:1:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45376,"nodeType":"ExpressionStatement","src":"2895:3:57"},"nodeType":"ForStatement","src":"2855:140:57"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45393,"name":"localValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45337,"src":"3008:10:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":45394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3022:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3008:15:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45402,"nodeType":"IfStatement","src":"3004:96:57","trueBody":{"id":45401,"nodeType":"Block","src":"3025:75:57","statements":[{"errorCall":{"arguments":[{"id":45397,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45329,"src":"3075:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45398,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45331,"src":"3082:6:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45396,"name":"StringsInsufficientHexLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45226,"src":"3046:28:57","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$","typeString":"function (uint256,uint256) pure returns (error)"}},"id":45399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3046:43:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":45400,"nodeType":"RevertStatement","src":"3039:50:57"}]}},{"expression":{"arguments":[{"id":45405,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45341,"src":"3123:6:57","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45404,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3116:6:57","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":45403,"name":"string","nodeType":"ElementaryTypeName","src":"3116:6:57","typeDescriptions":{}}},"id":45406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3116:14:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":45335,"id":45407,"nodeType":"Return","src":"3109:21:57"}]},"documentation":{"id":45327,"nodeType":"StructuredDocumentation","src":"2495:112:57","text":" @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length."},"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"2621:11:57","parameters":{"id":45332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45329,"mutability":"mutable","name":"value","nameLocation":"2641:5:57","nodeType":"VariableDeclaration","scope":45409,"src":"2633:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45328,"name":"uint256","nodeType":"ElementaryTypeName","src":"2633:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45331,"mutability":"mutable","name":"length","nameLocation":"2656:6:57","nodeType":"VariableDeclaration","scope":45409,"src":"2648:14:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45330,"name":"uint256","nodeType":"ElementaryTypeName","src":"2648:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2632:31:57"},"returnParameters":{"id":45335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45334,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45409,"src":"2687:13:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45333,"name":"string","nodeType":"ElementaryTypeName","src":"2687:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2686:15:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45429,"nodeType":"FunctionDefinition","src":"3296:148:57","nodes":[],"body":{"id":45428,"nodeType":"Block","src":"3369:75:57","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":45422,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45412,"src":"3414:4:57","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":45421,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3406:7:57","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":45420,"name":"uint160","nodeType":"ElementaryTypeName","src":"3406:7:57","typeDescriptions":{}}},"id":45423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3406:13:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":45419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3398:7:57","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":45418,"name":"uint256","nodeType":"ElementaryTypeName","src":"3398:7:57","typeDescriptions":{}}},"id":45424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3398:22:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45425,"name":"ADDRESS_LENGTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45183,"src":"3422:14:57","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":45417,"name":"toHexString","nodeType":"Identifier","overloadedDeclarations":[45326,45409,45429],"referencedDeclaration":45409,"src":"3386:11:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (string memory)"}},"id":45426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3386:51:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":45416,"id":45427,"nodeType":"Return","src":"3379:58:57"}]},"documentation":{"id":45410,"nodeType":"StructuredDocumentation","src":"3143:148:57","text":" @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal\n representation."},"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"3305:11:57","parameters":{"id":45413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45412,"mutability":"mutable","name":"addr","nameLocation":"3325:4:57","nodeType":"VariableDeclaration","scope":45429,"src":"3317:12:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45411,"name":"address","nodeType":"ElementaryTypeName","src":"3317:7:57","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3316:14:57"},"returnParameters":{"id":45416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45415,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45429,"src":"3354:13:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45414,"name":"string","nodeType":"ElementaryTypeName","src":"3354:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3353:15:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45494,"nodeType":"FunctionDefinition","src":"3620:723:57","nodes":[],"body":{"id":45493,"nodeType":"Block","src":"3701:642:57","nodes":[],"statements":[{"assignments":[45438],"declarations":[{"constant":false,"id":45438,"mutability":"mutable","name":"buffer","nameLocation":"3724:6:57","nodeType":"VariableDeclaration","scope":45493,"src":"3711:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":45437,"name":"bytes","nodeType":"ElementaryTypeName","src":"3711:5:57","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":45445,"initialValue":{"arguments":[{"arguments":[{"id":45442,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45432,"src":"3751:4:57","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":45441,"name":"toHexString","nodeType":"Identifier","overloadedDeclarations":[45326,45409,45429],"referencedDeclaration":45429,"src":"3739:11:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure returns (string memory)"}},"id":45443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3739:17:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":45440,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3733:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":45439,"name":"bytes","nodeType":"ElementaryTypeName","src":"3733:5:57","typeDescriptions":{}}},"id":45444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3733:24:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3711:46:57"},{"assignments":[45447],"declarations":[{"constant":false,"id":45447,"mutability":"mutable","name":"hashValue","nameLocation":"3850:9:57","nodeType":"VariableDeclaration","scope":45493,"src":"3842:17:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45446,"name":"uint256","nodeType":"ElementaryTypeName","src":"3842:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45448,"nodeType":"VariableDeclarationStatement","src":"3842:17:57"},{"AST":{"nativeSrc":"3894:78:57","nodeType":"YulBlock","src":"3894:78:57","statements":[{"nativeSrc":"3908:54:57","nodeType":"YulAssignment","src":"3908:54:57","value":{"arguments":[{"kind":"number","nativeSrc":"3925:2:57","nodeType":"YulLiteral","src":"3925:2:57","type":"","value":"96"},{"arguments":[{"arguments":[{"name":"buffer","nativeSrc":"3943:6:57","nodeType":"YulIdentifier","src":"3943:6:57"},{"kind":"number","nativeSrc":"3951:4:57","nodeType":"YulLiteral","src":"3951:4:57","type":"","value":"0x22"}],"functionName":{"name":"add","nativeSrc":"3939:3:57","nodeType":"YulIdentifier","src":"3939:3:57"},"nativeSrc":"3939:17:57","nodeType":"YulFunctionCall","src":"3939:17:57"},{"kind":"number","nativeSrc":"3958:2:57","nodeType":"YulLiteral","src":"3958:2:57","type":"","value":"40"}],"functionName":{"name":"keccak256","nativeSrc":"3929:9:57","nodeType":"YulIdentifier","src":"3929:9:57"},"nativeSrc":"3929:32:57","nodeType":"YulFunctionCall","src":"3929:32:57"}],"functionName":{"name":"shr","nativeSrc":"3921:3:57","nodeType":"YulIdentifier","src":"3921:3:57"},"nativeSrc":"3921:41:57","nodeType":"YulFunctionCall","src":"3921:41:57"},"variableNames":[{"name":"hashValue","nativeSrc":"3908:9:57","nodeType":"YulIdentifier","src":"3908:9:57"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":45438,"isOffset":false,"isSlot":false,"src":"3943:6:57","valueSize":1},{"declaration":45447,"isOffset":false,"isSlot":false,"src":"3908:9:57","valueSize":1}],"flags":["memory-safe"],"id":45449,"nodeType":"InlineAssembly","src":"3869:103:57"},{"body":{"id":45486,"nodeType":"Block","src":"4015:291:57","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":45473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45460,"name":"hashValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45447,"src":"4121:9:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307866","id":45461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4133:3:57","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"0xf"},"src":"4121:15:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"37","id":45463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4139:1:57","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"4121:19:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":45472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"baseExpression":{"id":45467,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45438,"src":"4150:6:57","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":45469,"indexExpression":{"id":45468,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45451,"src":"4157:1:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4150:9:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":45466,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4144:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":45465,"name":"uint8","nodeType":"ElementaryTypeName","src":"4144:5:57","typeDescriptions":{}}},"id":45470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4144:16:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3936","id":45471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4163:2:57","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"src":"4144:21:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4121:44:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45481,"nodeType":"IfStatement","src":"4117:150:57","trueBody":{"id":45480,"nodeType":"Block","src":"4167:100:57","statements":[{"expression":{"id":45478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":45474,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45438,"src":"4235:6:57","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":45476,"indexExpression":{"id":45475,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45451,"src":"4242:1:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4235:9:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"^=","rightHandSide":{"hexValue":"30783230","id":45477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4248:4:57","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"0x20"},"src":"4235:17:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":45479,"nodeType":"ExpressionStatement","src":"4235:17:57"}]}},{"expression":{"id":45484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45482,"name":"hashValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45447,"src":"4280:9:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"34","id":45483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4294:1:57","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"4280:15:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45485,"nodeType":"ExpressionStatement","src":"4280:15:57"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45454,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45451,"src":"4003:1:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":45455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4007:1:57","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4003:5:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45487,"initializationExpression":{"assignments":[45451],"declarations":[{"constant":false,"id":45451,"mutability":"mutable","name":"i","nameLocation":"3995:1:57","nodeType":"VariableDeclaration","scope":45487,"src":"3987:9:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45450,"name":"uint256","nodeType":"ElementaryTypeName","src":"3987:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45453,"initialValue":{"hexValue":"3431","id":45452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3999:2:57","typeDescriptions":{"typeIdentifier":"t_rational_41_by_1","typeString":"int_const 41"},"value":"41"},"nodeType":"VariableDeclarationStatement","src":"3987:14:57"},"isSimpleCounterLoop":false,"loopExpression":{"expression":{"id":45458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"4010:3:57","subExpression":{"id":45457,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45451,"src":"4012:1:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45459,"nodeType":"ExpressionStatement","src":"4010:3:57"},"nodeType":"ForStatement","src":"3982:324:57"},{"expression":{"arguments":[{"id":45490,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45438,"src":"4329:6:57","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4322:6:57","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":45488,"name":"string","nodeType":"ElementaryTypeName","src":"4322:6:57","typeDescriptions":{}}},"id":45491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4322:14:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":45436,"id":45492,"nodeType":"Return","src":"4315:21:57"}]},"documentation":{"id":45430,"nodeType":"StructuredDocumentation","src":"3450:165:57","text":" @dev Converts an `address` with fixed length of 20 bytes to its checksummed ASCII `string` hexadecimal\n representation, according to EIP-55."},"implemented":true,"kind":"function","modifiers":[],"name":"toChecksumHexString","nameLocation":"3629:19:57","parameters":{"id":45433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45432,"mutability":"mutable","name":"addr","nameLocation":"3657:4:57","nodeType":"VariableDeclaration","scope":45494,"src":"3649:12:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45431,"name":"address","nodeType":"ElementaryTypeName","src":"3649:7:57","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3648:14:57"},"returnParameters":{"id":45436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45435,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45494,"src":"3686:13:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45434,"name":"string","nodeType":"ElementaryTypeName","src":"3686:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3685:15:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45531,"nodeType":"FunctionDefinition","src":"4420:182:57","nodes":[],"body":{"id":45530,"nodeType":"Block","src":"4498:104:57","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":45528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":45506,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45497,"src":"4521:1:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":45505,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4515:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":45504,"name":"bytes","nodeType":"ElementaryTypeName","src":"4515:5:57","typeDescriptions":{}}},"id":45507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4515:8:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":45508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4524:6:57","memberName":"length","nodeType":"MemberAccess","src":"4515:15:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":45511,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45499,"src":"4540:1:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":45510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4534:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":45509,"name":"bytes","nodeType":"ElementaryTypeName","src":"4534:5:57","typeDescriptions":{}}},"id":45512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4534:8:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":45513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4543:6:57","memberName":"length","nodeType":"MemberAccess","src":"4534:15:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4515:34:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":45527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":45518,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45497,"src":"4569:1:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":45517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4563:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":45516,"name":"bytes","nodeType":"ElementaryTypeName","src":"4563:5:57","typeDescriptions":{}}},"id":45519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4563:8:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45515,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4553:9:57","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":45520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4553:19:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"id":45524,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45499,"src":"4592:1:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":45523,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4586:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":45522,"name":"bytes","nodeType":"ElementaryTypeName","src":"4586:5:57","typeDescriptions":{}}},"id":45525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4586:8:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45521,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4576:9:57","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":45526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4576:19:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4553:42:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4515:80:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":45503,"id":45529,"nodeType":"Return","src":"4508:87:57"}]},"documentation":{"id":45495,"nodeType":"StructuredDocumentation","src":"4349:66:57","text":" @dev Returns true if the two strings are equal."},"implemented":true,"kind":"function","modifiers":[],"name":"equal","nameLocation":"4429:5:57","parameters":{"id":45500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45497,"mutability":"mutable","name":"a","nameLocation":"4449:1:57","nodeType":"VariableDeclaration","scope":45531,"src":"4435:15:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45496,"name":"string","nodeType":"ElementaryTypeName","src":"4435:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45499,"mutability":"mutable","name":"b","nameLocation":"4466:1:57","nodeType":"VariableDeclaration","scope":45531,"src":"4452:15:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45498,"name":"string","nodeType":"ElementaryTypeName","src":"4452:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4434:34:57"},"returnParameters":{"id":45503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45502,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45531,"src":"4492:4:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45501,"name":"bool","nodeType":"ElementaryTypeName","src":"4492:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4491:6:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45550,"nodeType":"FunctionDefinition","src":"4827:136:57","nodes":[],"body":{"id":45549,"nodeType":"Block","src":"4899:64:57","nodes":[],"statements":[{"expression":{"arguments":[{"id":45540,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45534,"src":"4926:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":45541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4933:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"arguments":[{"id":45544,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45534,"src":"4942:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":45543,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4936:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":45542,"name":"bytes","nodeType":"ElementaryTypeName","src":"4936:5:57","typeDescriptions":{}}},"id":45545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4936:12:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":45546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4949:6:57","memberName":"length","nodeType":"MemberAccess","src":"4936:19:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45539,"name":"parseUint","nodeType":"Identifier","overloadedDeclarations":[45550,45581],"referencedDeclaration":45581,"src":"4916:9:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (string memory,uint256,uint256) pure returns (uint256)"}},"id":45547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4916:40:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45538,"id":45548,"nodeType":"Return","src":"4909:47:57"}]},"documentation":{"id":45532,"nodeType":"StructuredDocumentation","src":"4608:214:57","text":" @dev Parse a decimal string and returns the value as a `uint256`.\n Requirements:\n - The string must be formatted as `[0-9]*`\n - The result must fit into an `uint256` type"},"implemented":true,"kind":"function","modifiers":[],"name":"parseUint","nameLocation":"4836:9:57","parameters":{"id":45535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45534,"mutability":"mutable","name":"input","nameLocation":"4860:5:57","nodeType":"VariableDeclaration","scope":45550,"src":"4846:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45533,"name":"string","nodeType":"ElementaryTypeName","src":"4846:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4845:21:57"},"returnParameters":{"id":45538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45537,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45550,"src":"4890:7:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45536,"name":"uint256","nodeType":"ElementaryTypeName","src":"4890:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4889:9:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45581,"nodeType":"FunctionDefinition","src":"5268:253:57","nodes":[],"body":{"id":45580,"nodeType":"Block","src":"5368:153:57","nodes":[],"statements":[{"assignments":[45563,45565],"declarations":[{"constant":false,"id":45563,"mutability":"mutable","name":"success","nameLocation":"5384:7:57","nodeType":"VariableDeclaration","scope":45580,"src":"5379:12:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45562,"name":"bool","nodeType":"ElementaryTypeName","src":"5379:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45565,"mutability":"mutable","name":"value","nameLocation":"5401:5:57","nodeType":"VariableDeclaration","scope":45580,"src":"5393:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45564,"name":"uint256","nodeType":"ElementaryTypeName","src":"5393:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45571,"initialValue":{"arguments":[{"id":45567,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45553,"src":"5423:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45568,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45555,"src":"5430:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45569,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45557,"src":"5437:3:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45566,"name":"tryParseUint","nodeType":"Identifier","overloadedDeclarations":[45602,45639],"referencedDeclaration":45639,"src":"5410:12:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,uint256)"}},"id":45570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5410:31:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"5378:63:57"},{"condition":{"id":45573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5455:8:57","subExpression":{"id":45572,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45563,"src":"5456:7:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45577,"nodeType":"IfStatement","src":"5451:41:57","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":45574,"name":"StringsInvalidChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45229,"src":"5472:18:57","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":45575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5472:20:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":45576,"nodeType":"RevertStatement","src":"5465:27:57"}},{"expression":{"id":45578,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45565,"src":"5509:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45561,"id":45579,"nodeType":"Return","src":"5502:12:57"}]},"documentation":{"id":45551,"nodeType":"StructuredDocumentation","src":"4969:294:57","text":" @dev Variant of {parseUint-string} that parses a substring of `input` located between position `begin` (included) and\n `end` (excluded).\n Requirements:\n - The substring must be formatted as `[0-9]*`\n - The result must fit into an `uint256` type"},"implemented":true,"kind":"function","modifiers":[],"name":"parseUint","nameLocation":"5277:9:57","parameters":{"id":45558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45553,"mutability":"mutable","name":"input","nameLocation":"5301:5:57","nodeType":"VariableDeclaration","scope":45581,"src":"5287:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45552,"name":"string","nodeType":"ElementaryTypeName","src":"5287:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45555,"mutability":"mutable","name":"begin","nameLocation":"5316:5:57","nodeType":"VariableDeclaration","scope":45581,"src":"5308:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45554,"name":"uint256","nodeType":"ElementaryTypeName","src":"5308:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45557,"mutability":"mutable","name":"end","nameLocation":"5331:3:57","nodeType":"VariableDeclaration","scope":45581,"src":"5323:11:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45556,"name":"uint256","nodeType":"ElementaryTypeName","src":"5323:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5286:49:57"},"returnParameters":{"id":45561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45560,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45581,"src":"5359:7:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45559,"name":"uint256","nodeType":"ElementaryTypeName","src":"5359:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5358:9:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45602,"nodeType":"FunctionDefinition","src":"5747:178:57","nodes":[],"body":{"id":45601,"nodeType":"Block","src":"5842:83:57","nodes":[],"statements":[{"expression":{"arguments":[{"id":45592,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45584,"src":"5888:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":45593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5895:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"arguments":[{"id":45596,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45584,"src":"5904:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":45595,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5898:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":45594,"name":"bytes","nodeType":"ElementaryTypeName","src":"5898:5:57","typeDescriptions":{}}},"id":45597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5898:12:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":45598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5911:6:57","memberName":"length","nodeType":"MemberAccess","src":"5898:19:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45591,"name":"_tryParseUintUncheckedBounds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45709,"src":"5859:28:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,uint256)"}},"id":45599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5859:59:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":45590,"id":45600,"nodeType":"Return","src":"5852:66:57"}]},"documentation":{"id":45582,"nodeType":"StructuredDocumentation","src":"5527:215:57","text":" @dev Variant of {parseUint-string} that returns false if the parsing fails because of an invalid character.\n NOTE: This function will revert if the result does not fit in a `uint256`."},"implemented":true,"kind":"function","modifiers":[],"name":"tryParseUint","nameLocation":"5756:12:57","parameters":{"id":45585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45584,"mutability":"mutable","name":"input","nameLocation":"5783:5:57","nodeType":"VariableDeclaration","scope":45602,"src":"5769:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45583,"name":"string","nodeType":"ElementaryTypeName","src":"5769:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5768:21:57"},"returnParameters":{"id":45590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45587,"mutability":"mutable","name":"success","nameLocation":"5818:7:57","nodeType":"VariableDeclaration","scope":45602,"src":"5813:12:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45586,"name":"bool","nodeType":"ElementaryTypeName","src":"5813:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45589,"mutability":"mutable","name":"value","nameLocation":"5835:5:57","nodeType":"VariableDeclaration","scope":45602,"src":"5827:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45588,"name":"uint256","nodeType":"ElementaryTypeName","src":"5827:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5812:29:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45639,"nodeType":"FunctionDefinition","src":"6174:297:57","nodes":[],"body":{"id":45638,"nodeType":"Block","src":"6327:144:57","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":45626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45616,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45609,"src":"6341:3:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":45619,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45605,"src":"6353:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":45618,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6347:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":45617,"name":"bytes","nodeType":"ElementaryTypeName","src":"6347:5:57","typeDescriptions":{}}},"id":45620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6347:12:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":45621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6360:6:57","memberName":"length","nodeType":"MemberAccess","src":"6347:19:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6341:25:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45623,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45607,"src":"6370:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":45624,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45609,"src":"6378:3:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6370:11:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6341:40:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45631,"nodeType":"IfStatement","src":"6337:63:57","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":45627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6391:5:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":45628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6398:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":45629,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6390:10:57","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":45615,"id":45630,"nodeType":"Return","src":"6383:17:57"}},{"expression":{"arguments":[{"id":45633,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45605,"src":"6446:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45634,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45607,"src":"6453:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45635,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45609,"src":"6460:3:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45632,"name":"_tryParseUintUncheckedBounds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45709,"src":"6417:28:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,uint256)"}},"id":45636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6417:47:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":45615,"id":45637,"nodeType":"Return","src":"6410:54:57"}]},"documentation":{"id":45603,"nodeType":"StructuredDocumentation","src":"5931:238:57","text":" @dev Variant of {parseUint-string-uint256-uint256} that returns false if the parsing fails because of an invalid\n character.\n NOTE: This function will revert if the result does not fit in a `uint256`."},"implemented":true,"kind":"function","modifiers":[],"name":"tryParseUint","nameLocation":"6183:12:57","parameters":{"id":45610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45605,"mutability":"mutable","name":"input","nameLocation":"6219:5:57","nodeType":"VariableDeclaration","scope":45639,"src":"6205:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45604,"name":"string","nodeType":"ElementaryTypeName","src":"6205:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45607,"mutability":"mutable","name":"begin","nameLocation":"6242:5:57","nodeType":"VariableDeclaration","scope":45639,"src":"6234:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45606,"name":"uint256","nodeType":"ElementaryTypeName","src":"6234:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45609,"mutability":"mutable","name":"end","nameLocation":"6265:3:57","nodeType":"VariableDeclaration","scope":45639,"src":"6257:11:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45608,"name":"uint256","nodeType":"ElementaryTypeName","src":"6257:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6195:79:57"},"returnParameters":{"id":45615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45612,"mutability":"mutable","name":"success","nameLocation":"6303:7:57","nodeType":"VariableDeclaration","scope":45639,"src":"6298:12:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45611,"name":"bool","nodeType":"ElementaryTypeName","src":"6298:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45614,"mutability":"mutable","name":"value","nameLocation":"6320:5:57","nodeType":"VariableDeclaration","scope":45639,"src":"6312:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45613,"name":"uint256","nodeType":"ElementaryTypeName","src":"6312:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6297:29:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45709,"nodeType":"FunctionDefinition","src":"6706:515:57","nodes":[],"body":{"id":45708,"nodeType":"Block","src":"6874:347:57","nodes":[],"statements":[{"assignments":[45654],"declarations":[{"constant":false,"id":45654,"mutability":"mutable","name":"buffer","nameLocation":"6897:6:57","nodeType":"VariableDeclaration","scope":45708,"src":"6884:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":45653,"name":"bytes","nodeType":"ElementaryTypeName","src":"6884:5:57","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":45659,"initialValue":{"arguments":[{"id":45657,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45642,"src":"6912:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":45656,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6906:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":45655,"name":"bytes","nodeType":"ElementaryTypeName","src":"6906:5:57","typeDescriptions":{}}},"id":45658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6906:12:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6884:34:57"},{"assignments":[45661],"declarations":[{"constant":false,"id":45661,"mutability":"mutable","name":"result","nameLocation":"6937:6:57","nodeType":"VariableDeclaration","scope":45708,"src":"6929:14:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45660,"name":"uint256","nodeType":"ElementaryTypeName","src":"6929:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45663,"initialValue":{"hexValue":"30","id":45662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6946:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6929:18:57"},{"body":{"id":45702,"nodeType":"Block","src":"6995:189:57","statements":[{"assignments":[45675],"declarations":[{"constant":false,"id":45675,"mutability":"mutable","name":"chr","nameLocation":"7015:3:57","nodeType":"VariableDeclaration","scope":45702,"src":"7009:9:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":45674,"name":"uint8","nodeType":"ElementaryTypeName","src":"7009:5:57","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":45685,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":45680,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45654,"src":"7064:6:57","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":45681,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45665,"src":"7072:1:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45679,"name":"_unsafeReadBytesOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46567,"src":"7041:22:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":45682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7041:33:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":45678,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7034:6:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":45677,"name":"bytes1","nodeType":"ElementaryTypeName","src":"7034:6:57","typeDescriptions":{}}},"id":45683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7034:41:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":45676,"name":"_tryParseChr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46389,"src":"7021:12:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes1_$returns$_t_uint8_$","typeString":"function (bytes1) pure returns (uint8)"}},"id":45684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7021:55:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"7009:67:57"},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":45688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45686,"name":"chr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45675,"src":"7094:3:57","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"39","id":45687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7100:1:57","typeDescriptions":{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"},"value":"9"},"src":"7094:7:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45693,"nodeType":"IfStatement","src":"7090:30:57","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":45689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7111:5:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":45690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7118:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":45691,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7110:10:57","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":45652,"id":45692,"nodeType":"Return","src":"7103:17:57"}},{"expression":{"id":45696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45694,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45661,"src":"7134:6:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"hexValue":"3130","id":45695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7144:2:57","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"7134:12:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45697,"nodeType":"ExpressionStatement","src":"7134:12:57"},{"expression":{"id":45700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":45698,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45661,"src":"7160:6:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":45699,"name":"chr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45675,"src":"7170:3:57","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"7160:13:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45701,"nodeType":"ExpressionStatement","src":"7160:13:57"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45668,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45665,"src":"6981:1:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":45669,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45646,"src":"6985:3:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6981:7:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45703,"initializationExpression":{"assignments":[45665],"declarations":[{"constant":false,"id":45665,"mutability":"mutable","name":"i","nameLocation":"6970:1:57","nodeType":"VariableDeclaration","scope":45703,"src":"6962:9:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45664,"name":"uint256","nodeType":"ElementaryTypeName","src":"6962:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45667,"initialValue":{"id":45666,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45644,"src":"6974:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6962:17:57"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":45672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"6990:3:57","subExpression":{"id":45671,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45665,"src":"6992:1:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":45673,"nodeType":"ExpressionStatement","src":"6990:3:57"},"nodeType":"ForStatement","src":"6957:227:57"},{"expression":{"components":[{"hexValue":"74727565","id":45704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7201:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":45705,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45661,"src":"7207:6:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":45706,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7200:14:57","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":45652,"id":45707,"nodeType":"Return","src":"7193:21:57"}]},"documentation":{"id":45640,"nodeType":"StructuredDocumentation","src":"6477:224:57","text":" @dev Implementation of {tryParseUint-string-uint256-uint256} that does not check bounds. Caller should make sure that\n `begin <= end <= input.length`. Other inputs would result in undefined behavior."},"implemented":true,"kind":"function","modifiers":[],"name":"_tryParseUintUncheckedBounds","nameLocation":"6715:28:57","parameters":{"id":45647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45642,"mutability":"mutable","name":"input","nameLocation":"6767:5:57","nodeType":"VariableDeclaration","scope":45709,"src":"6753:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45641,"name":"string","nodeType":"ElementaryTypeName","src":"6753:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45644,"mutability":"mutable","name":"begin","nameLocation":"6790:5:57","nodeType":"VariableDeclaration","scope":45709,"src":"6782:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45643,"name":"uint256","nodeType":"ElementaryTypeName","src":"6782:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45646,"mutability":"mutable","name":"end","nameLocation":"6813:3:57","nodeType":"VariableDeclaration","scope":45709,"src":"6805:11:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45645,"name":"uint256","nodeType":"ElementaryTypeName","src":"6805:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6743:79:57"},"returnParameters":{"id":45652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45649,"mutability":"mutable","name":"success","nameLocation":"6850:7:57","nodeType":"VariableDeclaration","scope":45709,"src":"6845:12:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45648,"name":"bool","nodeType":"ElementaryTypeName","src":"6845:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45651,"mutability":"mutable","name":"value","nameLocation":"6867:5:57","nodeType":"VariableDeclaration","scope":45709,"src":"6859:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45650,"name":"uint256","nodeType":"ElementaryTypeName","src":"6859:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6844:29:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":45728,"nodeType":"FunctionDefinition","src":"7448:133:57","nodes":[],"body":{"id":45727,"nodeType":"Block","src":"7518:63:57","nodes":[],"statements":[{"expression":{"arguments":[{"id":45718,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45712,"src":"7544:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":45719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7551:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"arguments":[{"id":45722,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45712,"src":"7560:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":45721,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7554:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":45720,"name":"bytes","nodeType":"ElementaryTypeName","src":"7554:5:57","typeDescriptions":{}}},"id":45723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7554:12:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":45724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7567:6:57","memberName":"length","nodeType":"MemberAccess","src":"7554:19:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45717,"name":"parseInt","nodeType":"Identifier","overloadedDeclarations":[45728,45759],"referencedDeclaration":45759,"src":"7535:8:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_int256_$","typeString":"function (string memory,uint256,uint256) pure returns (int256)"}},"id":45725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7535:39:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":45716,"id":45726,"nodeType":"Return","src":"7528:46:57"}]},"documentation":{"id":45710,"nodeType":"StructuredDocumentation","src":"7227:216:57","text":" @dev Parse a decimal string and returns the value as a `int256`.\n Requirements:\n - The string must be formatted as `[-+]?[0-9]*`\n - The result must fit in an `int256` type."},"implemented":true,"kind":"function","modifiers":[],"name":"parseInt","nameLocation":"7457:8:57","parameters":{"id":45713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45712,"mutability":"mutable","name":"input","nameLocation":"7480:5:57","nodeType":"VariableDeclaration","scope":45728,"src":"7466:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45711,"name":"string","nodeType":"ElementaryTypeName","src":"7466:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7465:21:57"},"returnParameters":{"id":45716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45715,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45728,"src":"7510:6:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":45714,"name":"int256","nodeType":"ElementaryTypeName","src":"7510:6:57","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7509:8:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45759,"nodeType":"FunctionDefinition","src":"7888:249:57","nodes":[],"body":{"id":45758,"nodeType":"Block","src":"7986:151:57","nodes":[],"statements":[{"assignments":[45741,45743],"declarations":[{"constant":false,"id":45741,"mutability":"mutable","name":"success","nameLocation":"8002:7:57","nodeType":"VariableDeclaration","scope":45758,"src":"7997:12:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45740,"name":"bool","nodeType":"ElementaryTypeName","src":"7997:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45743,"mutability":"mutable","name":"value","nameLocation":"8018:5:57","nodeType":"VariableDeclaration","scope":45758,"src":"8011:12:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":45742,"name":"int256","nodeType":"ElementaryTypeName","src":"8011:6:57","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":45749,"initialValue":{"arguments":[{"id":45745,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45731,"src":"8039:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45746,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45733,"src":"8046:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45747,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45735,"src":"8053:3:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45744,"name":"tryParseInt","nodeType":"Identifier","overloadedDeclarations":[45780,45822],"referencedDeclaration":45822,"src":"8027:11:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_int256_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,int256)"}},"id":45748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8027:30:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_int256_$","typeString":"tuple(bool,int256)"}},"nodeType":"VariableDeclarationStatement","src":"7996:61:57"},{"condition":{"id":45751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8071:8:57","subExpression":{"id":45750,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45741,"src":"8072:7:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45755,"nodeType":"IfStatement","src":"8067:41:57","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":45752,"name":"StringsInvalidChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45229,"src":"8088:18:57","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":45753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8088:20:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":45754,"nodeType":"RevertStatement","src":"8081:27:57"}},{"expression":{"id":45756,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45743,"src":"8125:5:57","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":45739,"id":45757,"nodeType":"Return","src":"8118:12:57"}]},"documentation":{"id":45729,"nodeType":"StructuredDocumentation","src":"7587:296:57","text":" @dev Variant of {parseInt-string} that parses a substring of `input` located between position `begin` (included) and\n `end` (excluded).\n Requirements:\n - The substring must be formatted as `[-+]?[0-9]*`\n - The result must fit in an `int256` type."},"implemented":true,"kind":"function","modifiers":[],"name":"parseInt","nameLocation":"7897:8:57","parameters":{"id":45736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45731,"mutability":"mutable","name":"input","nameLocation":"7920:5:57","nodeType":"VariableDeclaration","scope":45759,"src":"7906:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45730,"name":"string","nodeType":"ElementaryTypeName","src":"7906:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45733,"mutability":"mutable","name":"begin","nameLocation":"7935:5:57","nodeType":"VariableDeclaration","scope":45759,"src":"7927:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45732,"name":"uint256","nodeType":"ElementaryTypeName","src":"7927:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45735,"mutability":"mutable","name":"end","nameLocation":"7950:3:57","nodeType":"VariableDeclaration","scope":45759,"src":"7942:11:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45734,"name":"uint256","nodeType":"ElementaryTypeName","src":"7942:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7905:49:57"},"returnParameters":{"id":45739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45738,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45759,"src":"7978:6:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":45737,"name":"int256","nodeType":"ElementaryTypeName","src":"7978:6:57","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7977:8:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45780,"nodeType":"FunctionDefinition","src":"8435:175:57","nodes":[],"body":{"id":45779,"nodeType":"Block","src":"8528:82:57","nodes":[],"statements":[{"expression":{"arguments":[{"id":45770,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45762,"src":"8573:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":45771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8580:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"arguments":[{"id":45774,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45762,"src":"8589:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":45773,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8583:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":45772,"name":"bytes","nodeType":"ElementaryTypeName","src":"8583:5:57","typeDescriptions":{}}},"id":45775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8583:12:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":45776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8596:6:57","memberName":"length","nodeType":"MemberAccess","src":"8583:19:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45769,"name":"_tryParseIntUncheckedBounds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45943,"src":"8545:27:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_int256_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,int256)"}},"id":45777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8545:58:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_int256_$","typeString":"tuple(bool,int256)"}},"functionReturnParameters":45768,"id":45778,"nodeType":"Return","src":"8538:65:57"}]},"documentation":{"id":45760,"nodeType":"StructuredDocumentation","src":"8143:287:57","text":" @dev Variant of {parseInt-string} that returns false if the parsing fails because of an invalid character or if\n the result does not fit in a `int256`.\n NOTE: This function will revert if the absolute value of the result does not fit in a `uint256`."},"implemented":true,"kind":"function","modifiers":[],"name":"tryParseInt","nameLocation":"8444:11:57","parameters":{"id":45763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45762,"mutability":"mutable","name":"input","nameLocation":"8470:5:57","nodeType":"VariableDeclaration","scope":45780,"src":"8456:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45761,"name":"string","nodeType":"ElementaryTypeName","src":"8456:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8455:21:57"},"returnParameters":{"id":45768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45765,"mutability":"mutable","name":"success","nameLocation":"8505:7:57","nodeType":"VariableDeclaration","scope":45780,"src":"8500:12:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45764,"name":"bool","nodeType":"ElementaryTypeName","src":"8500:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45767,"mutability":"mutable","name":"value","nameLocation":"8521:5:57","nodeType":"VariableDeclaration","scope":45780,"src":"8514:12:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":45766,"name":"int256","nodeType":"ElementaryTypeName","src":"8514:6:57","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"8499:28:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45785,"nodeType":"VariableDeclaration","src":"8616:50:57","nodes":[],"constant":true,"mutability":"constant","name":"ABS_MIN_INT256","nameLocation":"8641:14:57","scope":46568,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45781,"name":"uint256","nodeType":"ElementaryTypeName","src":"8616:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"id":45784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":45782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8658:1:57","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"323535","id":45783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8663:3:57","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"8658:8:57","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"}},"visibility":"private"},{"id":45822,"nodeType":"FunctionDefinition","src":"8981:294:57","nodes":[],"body":{"id":45821,"nodeType":"Block","src":"9132:143:57","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":45809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45799,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45792,"src":"9146:3:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":45802,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45788,"src":"9158:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":45801,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9152:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":45800,"name":"bytes","nodeType":"ElementaryTypeName","src":"9152:5:57","typeDescriptions":{}}},"id":45803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9152:12:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":45804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9165:6:57","memberName":"length","nodeType":"MemberAccess","src":"9152:19:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9146:25:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45806,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45790,"src":"9175:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":45807,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45792,"src":"9183:3:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9175:11:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9146:40:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45814,"nodeType":"IfStatement","src":"9142:63:57","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":45810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9196:5:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":45811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9203:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":45812,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9195:10:57","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":45798,"id":45813,"nodeType":"Return","src":"9188:17:57"}},{"expression":{"arguments":[{"id":45816,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45788,"src":"9250:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45817,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45790,"src":"9257:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45818,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45792,"src":"9264:3:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45815,"name":"_tryParseIntUncheckedBounds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45943,"src":"9222:27:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_int256_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,int256)"}},"id":45819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9222:46:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_int256_$","typeString":"tuple(bool,int256)"}},"functionReturnParameters":45798,"id":45820,"nodeType":"Return","src":"9215:53:57"}]},"documentation":{"id":45786,"nodeType":"StructuredDocumentation","src":"8673:303:57","text":" @dev Variant of {parseInt-string-uint256-uint256} that returns false if the parsing fails because of an invalid\n character or if the result does not fit in a `int256`.\n NOTE: This function will revert if the absolute value of the result does not fit in a `uint256`."},"implemented":true,"kind":"function","modifiers":[],"name":"tryParseInt","nameLocation":"8990:11:57","parameters":{"id":45793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45788,"mutability":"mutable","name":"input","nameLocation":"9025:5:57","nodeType":"VariableDeclaration","scope":45822,"src":"9011:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45787,"name":"string","nodeType":"ElementaryTypeName","src":"9011:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45790,"mutability":"mutable","name":"begin","nameLocation":"9048:5:57","nodeType":"VariableDeclaration","scope":45822,"src":"9040:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45789,"name":"uint256","nodeType":"ElementaryTypeName","src":"9040:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45792,"mutability":"mutable","name":"end","nameLocation":"9071:3:57","nodeType":"VariableDeclaration","scope":45822,"src":"9063:11:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45791,"name":"uint256","nodeType":"ElementaryTypeName","src":"9063:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9001:79:57"},"returnParameters":{"id":45798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45795,"mutability":"mutable","name":"success","nameLocation":"9109:7:57","nodeType":"VariableDeclaration","scope":45822,"src":"9104:12:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45794,"name":"bool","nodeType":"ElementaryTypeName","src":"9104:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45797,"mutability":"mutable","name":"value","nameLocation":"9125:5:57","nodeType":"VariableDeclaration","scope":45822,"src":"9118:12:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":45796,"name":"int256","nodeType":"ElementaryTypeName","src":"9118:6:57","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"9103:28:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45943,"nodeType":"FunctionDefinition","src":"9509:978:57","nodes":[],"body":{"id":45942,"nodeType":"Block","src":"9675:812:57","nodes":[],"statements":[{"assignments":[45837],"declarations":[{"constant":false,"id":45837,"mutability":"mutable","name":"buffer","nameLocation":"9698:6:57","nodeType":"VariableDeclaration","scope":45942,"src":"9685:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":45836,"name":"bytes","nodeType":"ElementaryTypeName","src":"9685:5:57","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":45842,"initialValue":{"arguments":[{"id":45840,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45825,"src":"9713:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":45839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9707:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":45838,"name":"bytes","nodeType":"ElementaryTypeName","src":"9707:5:57","typeDescriptions":{}}},"id":45841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9707:12:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9685:34:57"},{"assignments":[45844],"declarations":[{"constant":false,"id":45844,"mutability":"mutable","name":"sign","nameLocation":"9783:4:57","nodeType":"VariableDeclaration","scope":45942,"src":"9776:11:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":45843,"name":"bytes1","nodeType":"ElementaryTypeName","src":"9776:6:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"id":45860,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45845,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45827,"src":"9790:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":45846,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45829,"src":"9799:3:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9790:12:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"arguments":[{"id":45855,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45837,"src":"9847:6:57","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":45856,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45827,"src":"9855:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45854,"name":"_unsafeReadBytesOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46567,"src":"9824:22:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":45857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9824:37:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":45853,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9817:6:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":45852,"name":"bytes1","nodeType":"ElementaryTypeName","src":"9817:6:57","typeDescriptions":{}}},"id":45858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9817:45:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":45859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"9790:72:57","trueExpression":{"arguments":[{"hexValue":"30","id":45850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9812:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":45849,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9805:6:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":45848,"name":"bytes1","nodeType":"ElementaryTypeName","src":"9805:6:57","typeDescriptions":{}}},"id":45851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9805:9:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"VariableDeclarationStatement","src":"9776:86:57"},{"assignments":[45862],"declarations":[{"constant":false,"id":45862,"mutability":"mutable","name":"positiveSign","nameLocation":"9948:12:57","nodeType":"VariableDeclaration","scope":45942,"src":"9943:17:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45861,"name":"bool","nodeType":"ElementaryTypeName","src":"9943:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":45869,"initialValue":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":45868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45863,"name":"sign","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45844,"src":"9963:4:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"2b","id":45866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9978:3:57","typeDescriptions":{"typeIdentifier":"t_stringliteral_728b8dbbe730d9acd55e30e768e6a28a04bea0c61b88108287c2c87d79c98bb8","typeString":"literal_string \"+\""},"value":"+"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_728b8dbbe730d9acd55e30e768e6a28a04bea0c61b88108287c2c87d79c98bb8","typeString":"literal_string \"+\""}],"id":45865,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9971:6:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":45864,"name":"bytes1","nodeType":"ElementaryTypeName","src":"9971:6:57","typeDescriptions":{}}},"id":45867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9971:11:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"9963:19:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"9943:39:57"},{"assignments":[45871],"declarations":[{"constant":false,"id":45871,"mutability":"mutable","name":"negativeSign","nameLocation":"9997:12:57","nodeType":"VariableDeclaration","scope":45942,"src":"9992:17:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45870,"name":"bool","nodeType":"ElementaryTypeName","src":"9992:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":45878,"initialValue":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":45877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45872,"name":"sign","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45844,"src":"10012:4:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"2d","id":45875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10027:3:57","typeDescriptions":{"typeIdentifier":"t_stringliteral_d3b8281179950f98149eefdb158d0e1acb56f56e8e343aa9fefafa7e36959561","typeString":"literal_string \"-\""},"value":"-"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d3b8281179950f98149eefdb158d0e1acb56f56e8e343aa9fefafa7e36959561","typeString":"literal_string \"-\""}],"id":45874,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10020:6:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":45873,"name":"bytes1","nodeType":"ElementaryTypeName","src":"10020:6:57","typeDescriptions":{}}},"id":45876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10020:11:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"10012:19:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"9992:39:57"},{"assignments":[45880],"declarations":[{"constant":false,"id":45880,"mutability":"mutable","name":"offset","nameLocation":"10049:6:57","nodeType":"VariableDeclaration","scope":45942,"src":"10041:14:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45879,"name":"uint256","nodeType":"ElementaryTypeName","src":"10041:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45887,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":45883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45881,"name":"positiveSign","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45862,"src":"10059:12:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":45882,"name":"negativeSign","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45871,"src":"10075:12:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10059:28:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":45884,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10058:30:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10089:6:57","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"10058:37:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$attached_to$_t_bool_$","typeString":"function (bool) pure returns (uint256)"}},"id":45886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10058:39:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10041:56:57"},{"assignments":[45889,45891],"declarations":[{"constant":false,"id":45889,"mutability":"mutable","name":"absSuccess","nameLocation":"10114:10:57","nodeType":"VariableDeclaration","scope":45942,"src":"10109:15:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45888,"name":"bool","nodeType":"ElementaryTypeName","src":"10109:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45891,"mutability":"mutable","name":"absValue","nameLocation":"10134:8:57","nodeType":"VariableDeclaration","scope":45942,"src":"10126:16:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45890,"name":"uint256","nodeType":"ElementaryTypeName","src":"10126:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45899,"initialValue":{"arguments":[{"id":45893,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45825,"src":"10159:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45894,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45827,"src":"10166:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":45895,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45880,"src":"10174:6:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10166:14:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45897,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45829,"src":"10182:3:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45892,"name":"tryParseUint","nodeType":"Identifier","overloadedDeclarations":[45602,45639],"referencedDeclaration":45639,"src":"10146:12:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,uint256)"}},"id":45898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10146:40:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"10108:78:57"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":45904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45900,"name":"absSuccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45889,"src":"10201:10:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45901,"name":"absValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45891,"src":"10215:8:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":45902,"name":"ABS_MIN_INT256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45785,"src":"10226:14:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10215:25:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10201:39:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":45926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":45922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45920,"name":"absSuccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45889,"src":"10343:10:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":45921,"name":"negativeSign","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45871,"src":"10357:12:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10343:26:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":45923,"name":"absValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45891,"src":"10373:8:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":45924,"name":"ABS_MIN_INT256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45785,"src":"10385:14:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10373:26:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10343:56:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"expression":{"components":[{"hexValue":"66616c7365","id":45936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10471:5:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":45937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10478:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":45938,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"10470:10:57","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":45835,"id":45939,"nodeType":"Return","src":"10463:17:57"},"id":45940,"nodeType":"IfStatement","src":"10339:141:57","trueBody":{"id":45935,"nodeType":"Block","src":"10401:56:57","statements":[{"expression":{"components":[{"hexValue":"74727565","id":45927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10423:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"expression":{"arguments":[{"id":45930,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10434:6:57","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":45929,"name":"int256","nodeType":"ElementaryTypeName","src":"10434:6:57","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}],"id":45928,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"10429:4:57","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":45931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10429:12:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_int256","typeString":"type(int256)"}},"id":45932,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10442:3:57","memberName":"min","nodeType":"MemberAccess","src":"10429:16:57","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":45933,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"10422:24:57","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_int256_$","typeString":"tuple(bool,int256)"}},"functionReturnParameters":45835,"id":45934,"nodeType":"Return","src":"10415:31:57"}]}},"id":45941,"nodeType":"IfStatement","src":"10197:283:57","trueBody":{"id":45919,"nodeType":"Block","src":"10242:91:57","statements":[{"expression":{"components":[{"hexValue":"74727565","id":45905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10264:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"condition":{"id":45906,"name":"negativeSign","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45871,"src":"10270:12:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":45914,"name":"absValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45891,"src":"10312:8:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45913,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10305:6:57","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":45912,"name":"int256","nodeType":"ElementaryTypeName","src":"10305:6:57","typeDescriptions":{}}},"id":45915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10305:16:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":45916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"10270:51:57","trueExpression":{"id":45911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"10285:17:57","subExpression":{"arguments":[{"id":45909,"name":"absValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45891,"src":"10293:8:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45908,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10286:6:57","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":45907,"name":"int256","nodeType":"ElementaryTypeName","src":"10286:6:57","typeDescriptions":{}}},"id":45910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10286:16:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":45917,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10263:59:57","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_int256_$","typeString":"tuple(bool,int256)"}},"functionReturnParameters":45835,"id":45918,"nodeType":"Return","src":"10256:66:57"}]}}]},"documentation":{"id":45823,"nodeType":"StructuredDocumentation","src":"9281:223:57","text":" @dev Implementation of {tryParseInt-string-uint256-uint256} that does not check bounds. Caller should make sure that\n `begin <= end <= input.length`. Other inputs would result in undefined behavior."},"implemented":true,"kind":"function","modifiers":[],"name":"_tryParseIntUncheckedBounds","nameLocation":"9518:27:57","parameters":{"id":45830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45825,"mutability":"mutable","name":"input","nameLocation":"9569:5:57","nodeType":"VariableDeclaration","scope":45943,"src":"9555:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45824,"name":"string","nodeType":"ElementaryTypeName","src":"9555:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45827,"mutability":"mutable","name":"begin","nameLocation":"9592:5:57","nodeType":"VariableDeclaration","scope":45943,"src":"9584:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45826,"name":"uint256","nodeType":"ElementaryTypeName","src":"9584:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45829,"mutability":"mutable","name":"end","nameLocation":"9615:3:57","nodeType":"VariableDeclaration","scope":45943,"src":"9607:11:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45828,"name":"uint256","nodeType":"ElementaryTypeName","src":"9607:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9545:79:57"},"returnParameters":{"id":45835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45832,"mutability":"mutable","name":"success","nameLocation":"9652:7:57","nodeType":"VariableDeclaration","scope":45943,"src":"9647:12:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45831,"name":"bool","nodeType":"ElementaryTypeName","src":"9647:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45834,"mutability":"mutable","name":"value","nameLocation":"9668:5:57","nodeType":"VariableDeclaration","scope":45943,"src":"9661:12:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":45833,"name":"int256","nodeType":"ElementaryTypeName","src":"9661:6:57","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"9646:28:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":45962,"nodeType":"FunctionDefinition","src":"10757:142:57","nodes":[],"body":{"id":45961,"nodeType":"Block","src":"10832:67:57","nodes":[],"statements":[{"expression":{"arguments":[{"id":45952,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45946,"src":"10862:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":45953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10869:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"arguments":[{"id":45956,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45946,"src":"10878:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":45955,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10872:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":45954,"name":"bytes","nodeType":"ElementaryTypeName","src":"10872:5:57","typeDescriptions":{}}},"id":45957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10872:12:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":45958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10885:6:57","memberName":"length","nodeType":"MemberAccess","src":"10872:19:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45951,"name":"parseHexUint","nodeType":"Identifier","overloadedDeclarations":[45962,45993],"referencedDeclaration":45993,"src":"10849:12:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (string memory,uint256,uint256) pure returns (uint256)"}},"id":45959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10849:43:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45950,"id":45960,"nodeType":"Return","src":"10842:50:57"}]},"documentation":{"id":45944,"nodeType":"StructuredDocumentation","src":"10493:259:57","text":" @dev Parse a hexadecimal string (with or without \"0x\" prefix), and returns the value as a `uint256`.\n Requirements:\n - The string must be formatted as `(0x)?[0-9a-fA-F]*`\n - The result must fit in an `uint256` type."},"implemented":true,"kind":"function","modifiers":[],"name":"parseHexUint","nameLocation":"10766:12:57","parameters":{"id":45947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45946,"mutability":"mutable","name":"input","nameLocation":"10793:5:57","nodeType":"VariableDeclaration","scope":45962,"src":"10779:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45945,"name":"string","nodeType":"ElementaryTypeName","src":"10779:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10778:21:57"},"returnParameters":{"id":45950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45949,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45962,"src":"10823:7:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45948,"name":"uint256","nodeType":"ElementaryTypeName","src":"10823:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10822:9:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":45993,"nodeType":"FunctionDefinition","src":"11217:259:57","nodes":[],"body":{"id":45992,"nodeType":"Block","src":"11320:156:57","nodes":[],"statements":[{"assignments":[45975,45977],"declarations":[{"constant":false,"id":45975,"mutability":"mutable","name":"success","nameLocation":"11336:7:57","nodeType":"VariableDeclaration","scope":45992,"src":"11331:12:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45974,"name":"bool","nodeType":"ElementaryTypeName","src":"11331:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45977,"mutability":"mutable","name":"value","nameLocation":"11353:5:57","nodeType":"VariableDeclaration","scope":45992,"src":"11345:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45976,"name":"uint256","nodeType":"ElementaryTypeName","src":"11345:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":45983,"initialValue":{"arguments":[{"id":45979,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45965,"src":"11378:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45980,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45967,"src":"11385:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45981,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45969,"src":"11392:3:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":45978,"name":"tryParseHexUint","nodeType":"Identifier","overloadedDeclarations":[46014,46051],"referencedDeclaration":46051,"src":"11362:15:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,uint256)"}},"id":45982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11362:34:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"11330:66:57"},{"condition":{"id":45985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"11410:8:57","subExpression":{"id":45984,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45975,"src":"11411:7:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":45989,"nodeType":"IfStatement","src":"11406:41:57","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":45986,"name":"StringsInvalidChar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45229,"src":"11427:18:57","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":45987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11427:20:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":45988,"nodeType":"RevertStatement","src":"11420:27:57"}},{"expression":{"id":45990,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45977,"src":"11464:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":45973,"id":45991,"nodeType":"Return","src":"11457:12:57"}]},"documentation":{"id":45963,"nodeType":"StructuredDocumentation","src":"10905:307:57","text":" @dev Variant of {parseHexUint-string} that parses a substring of `input` located between position `begin` (included) and\n `end` (excluded).\n Requirements:\n - The substring must be formatted as `(0x)?[0-9a-fA-F]*`\n - The result must fit in an `uint256` type."},"implemented":true,"kind":"function","modifiers":[],"name":"parseHexUint","nameLocation":"11226:12:57","parameters":{"id":45970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45965,"mutability":"mutable","name":"input","nameLocation":"11253:5:57","nodeType":"VariableDeclaration","scope":45993,"src":"11239:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45964,"name":"string","nodeType":"ElementaryTypeName","src":"11239:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45967,"mutability":"mutable","name":"begin","nameLocation":"11268:5:57","nodeType":"VariableDeclaration","scope":45993,"src":"11260:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45966,"name":"uint256","nodeType":"ElementaryTypeName","src":"11260:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45969,"mutability":"mutable","name":"end","nameLocation":"11283:3:57","nodeType":"VariableDeclaration","scope":45993,"src":"11275:11:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45968,"name":"uint256","nodeType":"ElementaryTypeName","src":"11275:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11238:49:57"},"returnParameters":{"id":45973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45972,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45993,"src":"11311:7:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45971,"name":"uint256","nodeType":"ElementaryTypeName","src":"11311:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11310:9:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46014,"nodeType":"FunctionDefinition","src":"11705:184:57","nodes":[],"body":{"id":46013,"nodeType":"Block","src":"11803:86:57","nodes":[],"statements":[{"expression":{"arguments":[{"id":46004,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45996,"src":"11852:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":46005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11859:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"arguments":[{"id":46008,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45996,"src":"11868:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":46007,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11862:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":46006,"name":"bytes","nodeType":"ElementaryTypeName","src":"11862:5:57","typeDescriptions":{}}},"id":46009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11862:12:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":46010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11875:6:57","memberName":"length","nodeType":"MemberAccess","src":"11862:19:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46003,"name":"_tryParseHexUintUncheckedBounds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46154,"src":"11820:31:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,uint256)"}},"id":46011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11820:62:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":46002,"id":46012,"nodeType":"Return","src":"11813:69:57"}]},"documentation":{"id":45994,"nodeType":"StructuredDocumentation","src":"11482:218:57","text":" @dev Variant of {parseHexUint-string} that returns false if the parsing fails because of an invalid character.\n NOTE: This function will revert if the result does not fit in a `uint256`."},"implemented":true,"kind":"function","modifiers":[],"name":"tryParseHexUint","nameLocation":"11714:15:57","parameters":{"id":45997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45996,"mutability":"mutable","name":"input","nameLocation":"11744:5:57","nodeType":"VariableDeclaration","scope":46014,"src":"11730:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45995,"name":"string","nodeType":"ElementaryTypeName","src":"11730:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11729:21:57"},"returnParameters":{"id":46002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45999,"mutability":"mutable","name":"success","nameLocation":"11779:7:57","nodeType":"VariableDeclaration","scope":46014,"src":"11774:12:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45998,"name":"bool","nodeType":"ElementaryTypeName","src":"11774:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46001,"mutability":"mutable","name":"value","nameLocation":"11796:5:57","nodeType":"VariableDeclaration","scope":46014,"src":"11788:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46000,"name":"uint256","nodeType":"ElementaryTypeName","src":"11788:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11773:29:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46051,"nodeType":"FunctionDefinition","src":"12141:303:57","nodes":[],"body":{"id":46050,"nodeType":"Block","src":"12297:147:57","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":46038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46028,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46021,"src":"12311:3:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":46031,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46017,"src":"12323:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":46030,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12317:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":46029,"name":"bytes","nodeType":"ElementaryTypeName","src":"12317:5:57","typeDescriptions":{}}},"id":46032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12317:12:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":46033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12330:6:57","memberName":"length","nodeType":"MemberAccess","src":"12317:19:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12311:25:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46035,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46019,"src":"12340:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":46036,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46021,"src":"12348:3:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12340:11:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12311:40:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46043,"nodeType":"IfStatement","src":"12307:63:57","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":46039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12361:5:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":46040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12368:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":46041,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"12360:10:57","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":46027,"id":46042,"nodeType":"Return","src":"12353:17:57"}},{"expression":{"arguments":[{"id":46045,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46017,"src":"12419:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46046,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46019,"src":"12426:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46047,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46021,"src":"12433:3:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46044,"name":"_tryParseHexUintUncheckedBounds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46154,"src":"12387:31:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,uint256)"}},"id":46048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12387:50:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":46027,"id":46049,"nodeType":"Return","src":"12380:57:57"}]},"documentation":{"id":46015,"nodeType":"StructuredDocumentation","src":"11895:241:57","text":" @dev Variant of {parseHexUint-string-uint256-uint256} that returns false if the parsing fails because of an\n invalid character.\n NOTE: This function will revert if the result does not fit in a `uint256`."},"implemented":true,"kind":"function","modifiers":[],"name":"tryParseHexUint","nameLocation":"12150:15:57","parameters":{"id":46022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46017,"mutability":"mutable","name":"input","nameLocation":"12189:5:57","nodeType":"VariableDeclaration","scope":46051,"src":"12175:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46016,"name":"string","nodeType":"ElementaryTypeName","src":"12175:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46019,"mutability":"mutable","name":"begin","nameLocation":"12212:5:57","nodeType":"VariableDeclaration","scope":46051,"src":"12204:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46018,"name":"uint256","nodeType":"ElementaryTypeName","src":"12204:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46021,"mutability":"mutable","name":"end","nameLocation":"12235:3:57","nodeType":"VariableDeclaration","scope":46051,"src":"12227:11:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46020,"name":"uint256","nodeType":"ElementaryTypeName","src":"12227:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12165:79:57"},"returnParameters":{"id":46027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46024,"mutability":"mutable","name":"success","nameLocation":"12273:7:57","nodeType":"VariableDeclaration","scope":46051,"src":"12268:12:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46023,"name":"bool","nodeType":"ElementaryTypeName","src":"12268:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46026,"mutability":"mutable","name":"value","nameLocation":"12290:5:57","nodeType":"VariableDeclaration","scope":46051,"src":"12282:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46025,"name":"uint256","nodeType":"ElementaryTypeName","src":"12282:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12267:29:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46154,"nodeType":"FunctionDefinition","src":"12682:1052:57","nodes":[],"body":{"id":46153,"nodeType":"Block","src":"12853:881:57","nodes":[],"statements":[{"assignments":[46066],"declarations":[{"constant":false,"id":46066,"mutability":"mutable","name":"buffer","nameLocation":"12876:6:57","nodeType":"VariableDeclaration","scope":46153,"src":"12863:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":46065,"name":"bytes","nodeType":"ElementaryTypeName","src":"12863:5:57","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":46071,"initialValue":{"arguments":[{"id":46069,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46054,"src":"12891:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":46068,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12885:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":46067,"name":"bytes","nodeType":"ElementaryTypeName","src":"12885:5:57","typeDescriptions":{}}},"id":46070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12885:12:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"12863:34:57"},{"assignments":[46073],"declarations":[{"constant":false,"id":46073,"mutability":"mutable","name":"hasPrefix","nameLocation":"12950:9:57","nodeType":"VariableDeclaration","scope":46153,"src":"12945:14:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46072,"name":"bool","nodeType":"ElementaryTypeName","src":"12945:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":46093,"initialValue":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":46092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46074,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46058,"src":"12963:3:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46075,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46056,"src":"12969:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":46076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12977:1:57","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12969:9:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12963:15:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":46079,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12962:17:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"id":46091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":46083,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46066,"src":"13013:6:57","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":46084,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46056,"src":"13021:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46082,"name":"_unsafeReadBytesOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46567,"src":"12990:22:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":46085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12990:37:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":46081,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12983:6:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes2_$","typeString":"type(bytes2)"},"typeName":{"id":46080,"name":"bytes2","nodeType":"ElementaryTypeName","src":"12983:6:57","typeDescriptions":{}}},"id":46086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12983:45:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"3078","id":46089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13039:4:57","typeDescriptions":{"typeIdentifier":"t_stringliteral_39bef1777deb3dfb14f64b9f81ced092c501fee72f90e93d03bb95ee89df9837","typeString":"literal_string \"0x\""},"value":"0x"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_39bef1777deb3dfb14f64b9f81ced092c501fee72f90e93d03bb95ee89df9837","typeString":"literal_string \"0x\""}],"id":46088,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13032:6:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes2_$","typeString":"type(bytes2)"},"typeName":{"id":46087,"name":"bytes2","nodeType":"ElementaryTypeName","src":"13032:6:57","typeDescriptions":{}}},"id":46090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13032:12:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"src":"12983:61:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12962:82:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"12945:99:57"},{"assignments":[46095],"declarations":[{"constant":false,"id":46095,"mutability":"mutable","name":"offset","nameLocation":"13133:6:57","nodeType":"VariableDeclaration","scope":46153,"src":"13125:14:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46094,"name":"uint256","nodeType":"ElementaryTypeName","src":"13125:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46101,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":46096,"name":"hasPrefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46073,"src":"13142:9:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13152:6:57","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"13142:16:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$attached_to$_t_bool_$","typeString":"function (bool) pure returns (uint256)"}},"id":46098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13142:18:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"32","id":46099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13163:1:57","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"13142:22:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13125:39:57"},{"assignments":[46103],"declarations":[{"constant":false,"id":46103,"mutability":"mutable","name":"result","nameLocation":"13183:6:57","nodeType":"VariableDeclaration","scope":46153,"src":"13175:14:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46102,"name":"uint256","nodeType":"ElementaryTypeName","src":"13175:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46105,"initialValue":{"hexValue":"30","id":46104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13192:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"13175:18:57"},{"body":{"id":46147,"nodeType":"Block","src":"13250:447:57","statements":[{"assignments":[46119],"declarations":[{"constant":false,"id":46119,"mutability":"mutable","name":"chr","nameLocation":"13270:3:57","nodeType":"VariableDeclaration","scope":46147,"src":"13264:9:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":46118,"name":"uint8","nodeType":"ElementaryTypeName","src":"13264:5:57","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":46129,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":46124,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46066,"src":"13319:6:57","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":46125,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46107,"src":"13327:1:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46123,"name":"_unsafeReadBytesOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46567,"src":"13296:22:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":46126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13296:33:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":46122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13289:6:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":46121,"name":"bytes1","nodeType":"ElementaryTypeName","src":"13289:6:57","typeDescriptions":{}}},"id":46127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13289:41:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":46120,"name":"_tryParseChr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46389,"src":"13276:12:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes1_$returns$_t_uint8_$","typeString":"function (bytes1) pure returns (uint8)"}},"id":46128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13276:55:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"13264:67:57"},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":46132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46130,"name":"chr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46119,"src":"13349:3:57","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3135","id":46131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13355:2:57","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"15"},"src":"13349:8:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46137,"nodeType":"IfStatement","src":"13345:31:57","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":46133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13367:5:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":46134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13374:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":46135,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"13366:10:57","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":46064,"id":46136,"nodeType":"Return","src":"13359:17:57"}},{"expression":{"id":46140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46138,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46103,"src":"13390:6:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"hexValue":"3136","id":46139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13400:2:57","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"13390:12:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46141,"nodeType":"ExpressionStatement","src":"13390:12:57"},{"id":46146,"nodeType":"UncheckedBlock","src":"13416:271:57","statements":[{"expression":{"id":46144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46142,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46103,"src":"13659:6:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":46143,"name":"chr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46119,"src":"13669:3:57","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"13659:13:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46145,"nodeType":"ExpressionStatement","src":"13659:13:57"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46112,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46107,"src":"13236:1:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":46113,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46058,"src":"13240:3:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13236:7:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46148,"initializationExpression":{"assignments":[46107],"declarations":[{"constant":false,"id":46107,"mutability":"mutable","name":"i","nameLocation":"13216:1:57","nodeType":"VariableDeclaration","scope":46148,"src":"13208:9:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46106,"name":"uint256","nodeType":"ElementaryTypeName","src":"13208:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46111,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46108,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46056,"src":"13220:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":46109,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46095,"src":"13228:6:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13220:14:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13208:26:57"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":46116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"13245:3:57","subExpression":{"id":46115,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46107,"src":"13247:1:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46117,"nodeType":"ExpressionStatement","src":"13245:3:57"},"nodeType":"ForStatement","src":"13203:494:57"},{"expression":{"components":[{"hexValue":"74727565","id":46149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13714:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":46150,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46103,"src":"13720:6:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46151,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13713:14:57","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":46064,"id":46152,"nodeType":"Return","src":"13706:21:57"}]},"documentation":{"id":46052,"nodeType":"StructuredDocumentation","src":"12450:227:57","text":" @dev Implementation of {tryParseHexUint-string-uint256-uint256} that does not check bounds. Caller should make sure that\n `begin <= end <= input.length`. Other inputs would result in undefined behavior."},"implemented":true,"kind":"function","modifiers":[],"name":"_tryParseHexUintUncheckedBounds","nameLocation":"12691:31:57","parameters":{"id":46059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46054,"mutability":"mutable","name":"input","nameLocation":"12746:5:57","nodeType":"VariableDeclaration","scope":46154,"src":"12732:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46053,"name":"string","nodeType":"ElementaryTypeName","src":"12732:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46056,"mutability":"mutable","name":"begin","nameLocation":"12769:5:57","nodeType":"VariableDeclaration","scope":46154,"src":"12761:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46055,"name":"uint256","nodeType":"ElementaryTypeName","src":"12761:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46058,"mutability":"mutable","name":"end","nameLocation":"12792:3:57","nodeType":"VariableDeclaration","scope":46154,"src":"12784:11:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46057,"name":"uint256","nodeType":"ElementaryTypeName","src":"12784:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12722:79:57"},"returnParameters":{"id":46064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46061,"mutability":"mutable","name":"success","nameLocation":"12829:7:57","nodeType":"VariableDeclaration","scope":46154,"src":"12824:12:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46060,"name":"bool","nodeType":"ElementaryTypeName","src":"12824:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46063,"mutability":"mutable","name":"value","nameLocation":"12846:5:57","nodeType":"VariableDeclaration","scope":46154,"src":"12838:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46062,"name":"uint256","nodeType":"ElementaryTypeName","src":"12838:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12823:29:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":46173,"nodeType":"FunctionDefinition","src":"13957:142:57","nodes":[],"body":{"id":46172,"nodeType":"Block","src":"14032:67:57","nodes":[],"statements":[{"expression":{"arguments":[{"id":46163,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46157,"src":"14062:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":46164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14069:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"arguments":[{"id":46167,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46157,"src":"14078:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":46166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14072:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":46165,"name":"bytes","nodeType":"ElementaryTypeName","src":"14072:5:57","typeDescriptions":{}}},"id":46168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14072:12:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":46169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14085:6:57","memberName":"length","nodeType":"MemberAccess","src":"14072:19:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46162,"name":"parseAddress","nodeType":"Identifier","overloadedDeclarations":[46173,46204],"referencedDeclaration":46204,"src":"14049:12:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_address_$","typeString":"function (string memory,uint256,uint256) pure returns (address)"}},"id":46170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14049:43:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":46161,"id":46171,"nodeType":"Return","src":"14042:50:57"}]},"documentation":{"id":46155,"nodeType":"StructuredDocumentation","src":"13740:212:57","text":" @dev Parse a hexadecimal string (with or without \"0x\" prefix), and returns the value as an `address`.\n Requirements:\n - The string must be formatted as `(0x)?[0-9a-fA-F]{40}`"},"implemented":true,"kind":"function","modifiers":[],"name":"parseAddress","nameLocation":"13966:12:57","parameters":{"id":46158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46157,"mutability":"mutable","name":"input","nameLocation":"13993:5:57","nodeType":"VariableDeclaration","scope":46173,"src":"13979:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46156,"name":"string","nodeType":"ElementaryTypeName","src":"13979:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13978:21:57"},"returnParameters":{"id":46161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46160,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46173,"src":"14023:7:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46159,"name":"address","nodeType":"ElementaryTypeName","src":"14023:7:57","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14022:9:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46204,"nodeType":"FunctionDefinition","src":"14369:268:57","nodes":[],"body":{"id":46203,"nodeType":"Block","src":"14472:165:57","nodes":[],"statements":[{"assignments":[46186,46188],"declarations":[{"constant":false,"id":46186,"mutability":"mutable","name":"success","nameLocation":"14488:7:57","nodeType":"VariableDeclaration","scope":46203,"src":"14483:12:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46185,"name":"bool","nodeType":"ElementaryTypeName","src":"14483:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46188,"mutability":"mutable","name":"value","nameLocation":"14505:5:57","nodeType":"VariableDeclaration","scope":46203,"src":"14497:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46187,"name":"address","nodeType":"ElementaryTypeName","src":"14497:7:57","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":46194,"initialValue":{"arguments":[{"id":46190,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46176,"src":"14530:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46191,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46178,"src":"14537:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46192,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46180,"src":"14544:3:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46189,"name":"tryParseAddress","nodeType":"Identifier","overloadedDeclarations":[46225,46329],"referencedDeclaration":46329,"src":"14514:15:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_address_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,address)"}},"id":46193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14514:34:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_address_$","typeString":"tuple(bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"14482:66:57"},{"condition":{"id":46196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14562:8:57","subExpression":{"id":46195,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46186,"src":"14563:7:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46200,"nodeType":"IfStatement","src":"14558:50:57","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":46197,"name":"StringsInvalidAddressFormat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45232,"src":"14579:27:57","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":46198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14579:29:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":46199,"nodeType":"RevertStatement","src":"14572:36:57"}},{"expression":{"id":46201,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46188,"src":"14625:5:57","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":46184,"id":46202,"nodeType":"Return","src":"14618:12:57"}]},"documentation":{"id":46174,"nodeType":"StructuredDocumentation","src":"14105:259:57","text":" @dev Variant of {parseAddress-string} that parses a substring of `input` located between position `begin` (included) and\n `end` (excluded).\n Requirements:\n - The substring must be formatted as `(0x)?[0-9a-fA-F]{40}`"},"implemented":true,"kind":"function","modifiers":[],"name":"parseAddress","nameLocation":"14378:12:57","parameters":{"id":46181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46176,"mutability":"mutable","name":"input","nameLocation":"14405:5:57","nodeType":"VariableDeclaration","scope":46204,"src":"14391:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46175,"name":"string","nodeType":"ElementaryTypeName","src":"14391:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46178,"mutability":"mutable","name":"begin","nameLocation":"14420:5:57","nodeType":"VariableDeclaration","scope":46204,"src":"14412:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46177,"name":"uint256","nodeType":"ElementaryTypeName","src":"14412:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46180,"mutability":"mutable","name":"end","nameLocation":"14435:3:57","nodeType":"VariableDeclaration","scope":46204,"src":"14427:11:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46179,"name":"uint256","nodeType":"ElementaryTypeName","src":"14427:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14390:49:57"},"returnParameters":{"id":46184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46183,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46204,"src":"14463:7:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46182,"name":"address","nodeType":"ElementaryTypeName","src":"14463:7:57","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14462:9:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46225,"nodeType":"FunctionDefinition","src":"14846:168:57","nodes":[],"body":{"id":46224,"nodeType":"Block","src":"14944:70:57","nodes":[],"statements":[{"expression":{"arguments":[{"id":46215,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46207,"src":"14977:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":46216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14984:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"arguments":[{"id":46219,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46207,"src":"14993:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":46218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14987:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":46217,"name":"bytes","nodeType":"ElementaryTypeName","src":"14987:5:57","typeDescriptions":{}}},"id":46220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14987:12:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":46221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15000:6:57","memberName":"length","nodeType":"MemberAccess","src":"14987:19:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46214,"name":"tryParseAddress","nodeType":"Identifier","overloadedDeclarations":[46225,46329],"referencedDeclaration":46329,"src":"14961:15:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_address_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,address)"}},"id":46222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14961:46:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_address_$","typeString":"tuple(bool,address)"}},"functionReturnParameters":46213,"id":46223,"nodeType":"Return","src":"14954:53:57"}]},"documentation":{"id":46205,"nodeType":"StructuredDocumentation","src":"14643:198:57","text":" @dev Variant of {parseAddress-string} that returns false if the parsing fails because the input is not a properly\n formatted address. See {parseAddress-string} requirements."},"implemented":true,"kind":"function","modifiers":[],"name":"tryParseAddress","nameLocation":"14855:15:57","parameters":{"id":46208,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46207,"mutability":"mutable","name":"input","nameLocation":"14885:5:57","nodeType":"VariableDeclaration","scope":46225,"src":"14871:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46206,"name":"string","nodeType":"ElementaryTypeName","src":"14871:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14870:21:57"},"returnParameters":{"id":46213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46210,"mutability":"mutable","name":"success","nameLocation":"14920:7:57","nodeType":"VariableDeclaration","scope":46225,"src":"14915:12:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46209,"name":"bool","nodeType":"ElementaryTypeName","src":"14915:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46212,"mutability":"mutable","name":"value","nameLocation":"14937:5:57","nodeType":"VariableDeclaration","scope":46225,"src":"14929:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46211,"name":"address","nodeType":"ElementaryTypeName","src":"14929:7:57","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14914:29:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46329,"nodeType":"FunctionDefinition","src":"15251:889:57","nodes":[],"body":{"id":46328,"nodeType":"Block","src":"15407:733:57","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":46249,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46239,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46232,"src":"15421:3:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":46242,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46228,"src":"15433:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":46241,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15427:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":46240,"name":"bytes","nodeType":"ElementaryTypeName","src":"15427:5:57","typeDescriptions":{}}},"id":46243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15427:12:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":46244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15440:6:57","memberName":"length","nodeType":"MemberAccess","src":"15427:19:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15421:25:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46246,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46230,"src":"15450:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":46247,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46232,"src":"15458:3:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15450:11:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15421:40:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46257,"nodeType":"IfStatement","src":"15417:72:57","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":46250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15471:5:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"30","id":46253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15486:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":46252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15478:7:57","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":46251,"name":"address","nodeType":"ElementaryTypeName","src":"15478:7:57","typeDescriptions":{}}},"id":46254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15478:10:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":46255,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"15470:19:57","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_address_$","typeString":"tuple(bool,address)"}},"functionReturnParameters":46238,"id":46256,"nodeType":"Return","src":"15463:26:57"}},{"assignments":[46259],"declarations":[{"constant":false,"id":46259,"mutability":"mutable","name":"hasPrefix","nameLocation":"15505:9:57","nodeType":"VariableDeclaration","scope":46328,"src":"15500:14:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46258,"name":"bool","nodeType":"ElementaryTypeName","src":"15500:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":46282,"initialValue":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":46281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46260,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46232,"src":"15518:3:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46261,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46230,"src":"15524:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":46262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15532:1:57","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"15524:9:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15518:15:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":46265,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"15517:17:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"id":46280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"arguments":[{"id":46271,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46228,"src":"15574:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":46270,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15568:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":46269,"name":"bytes","nodeType":"ElementaryTypeName","src":"15568:5:57","typeDescriptions":{}}},"id":46272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15568:12:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":46273,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46230,"src":"15582:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46268,"name":"_unsafeReadBytesOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46567,"src":"15545:22:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":46274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15545:43:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":46267,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15538:6:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes2_$","typeString":"type(bytes2)"},"typeName":{"id":46266,"name":"bytes2","nodeType":"ElementaryTypeName","src":"15538:6:57","typeDescriptions":{}}},"id":46275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15538:51:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"3078","id":46278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15600:4:57","typeDescriptions":{"typeIdentifier":"t_stringliteral_39bef1777deb3dfb14f64b9f81ced092c501fee72f90e93d03bb95ee89df9837","typeString":"literal_string \"0x\""},"value":"0x"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_39bef1777deb3dfb14f64b9f81ced092c501fee72f90e93d03bb95ee89df9837","typeString":"literal_string \"0x\""}],"id":46277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15593:6:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes2_$","typeString":"type(bytes2)"},"typeName":{"id":46276,"name":"bytes2","nodeType":"ElementaryTypeName","src":"15593:6:57","typeDescriptions":{}}},"id":46279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15593:12:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"src":"15538:67:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15517:88:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"15500:105:57"},{"assignments":[46284],"declarations":[{"constant":false,"id":46284,"mutability":"mutable","name":"expectedLength","nameLocation":"15694:14:57","nodeType":"VariableDeclaration","scope":46328,"src":"15686:22:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46283,"name":"uint256","nodeType":"ElementaryTypeName","src":"15686:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46292,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3430","id":46285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15711:2:57","typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"value":"40"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":46286,"name":"hasPrefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46259,"src":"15716:9:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15726:6:57","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"15716:16:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$attached_to$_t_bool_$","typeString":"function (bool) pure returns (uint256)"}},"id":46288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15716:18:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"32","id":46289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15737:1:57","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"15716:22:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15711:27:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15686:52:57"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46293,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46232,"src":"15803:3:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":46294,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46230,"src":"15809:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15803:11:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":46296,"name":"expectedLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46284,"src":"15818:14:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15803:29:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":46326,"nodeType":"Block","src":"16083:51:57","statements":[{"expression":{"components":[{"hexValue":"66616c7365","id":46319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"16105:5:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"30","id":46322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16120:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":46321,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16112:7:57","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":46320,"name":"address","nodeType":"ElementaryTypeName","src":"16112:7:57","typeDescriptions":{}}},"id":46323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16112:10:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":46324,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"16104:19:57","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_address_$","typeString":"tuple(bool,address)"}},"functionReturnParameters":46238,"id":46325,"nodeType":"Return","src":"16097:26:57"}]},"id":46327,"nodeType":"IfStatement","src":"15799:335:57","trueBody":{"id":46318,"nodeType":"Block","src":"15834:243:57","statements":[{"assignments":[46299,46301],"declarations":[{"constant":false,"id":46299,"mutability":"mutable","name":"s","nameLocation":"15955:1:57","nodeType":"VariableDeclaration","scope":46318,"src":"15950:6:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46298,"name":"bool","nodeType":"ElementaryTypeName","src":"15950:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46301,"mutability":"mutable","name":"v","nameLocation":"15966:1:57","nodeType":"VariableDeclaration","scope":46318,"src":"15958:9:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46300,"name":"uint256","nodeType":"ElementaryTypeName","src":"15958:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46307,"initialValue":{"arguments":[{"id":46303,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46228,"src":"16003:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46304,"name":"begin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46230,"src":"16010:5:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46305,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46232,"src":"16017:3:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46302,"name":"_tryParseHexUintUncheckedBounds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46154,"src":"15971:31:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$","typeString":"function (string memory,uint256,uint256) pure returns (bool,uint256)"}},"id":46306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15971:50:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"15949:72:57"},{"expression":{"components":[{"id":46308,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46299,"src":"16043:1:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"id":46313,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46301,"src":"16062:1:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46312,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16054:7:57","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":46311,"name":"uint160","nodeType":"ElementaryTypeName","src":"16054:7:57","typeDescriptions":{}}},"id":46314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16054:10:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":46310,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16046:7:57","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":46309,"name":"address","nodeType":"ElementaryTypeName","src":"16046:7:57","typeDescriptions":{}}},"id":46315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16046:19:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":46316,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16042:24:57","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_address_$","typeString":"tuple(bool,address)"}},"functionReturnParameters":46238,"id":46317,"nodeType":"Return","src":"16035:31:57"}]}}]},"documentation":{"id":46226,"nodeType":"StructuredDocumentation","src":"15020:226:57","text":" @dev Variant of {parseAddress-string-uint256-uint256} that returns false if the parsing fails because input is not a properly\n formatted address. See {parseAddress-string-uint256-uint256} requirements."},"implemented":true,"kind":"function","modifiers":[],"name":"tryParseAddress","nameLocation":"15260:15:57","parameters":{"id":46233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46228,"mutability":"mutable","name":"input","nameLocation":"15299:5:57","nodeType":"VariableDeclaration","scope":46329,"src":"15285:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46227,"name":"string","nodeType":"ElementaryTypeName","src":"15285:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46230,"mutability":"mutable","name":"begin","nameLocation":"15322:5:57","nodeType":"VariableDeclaration","scope":46329,"src":"15314:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46229,"name":"uint256","nodeType":"ElementaryTypeName","src":"15314:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46232,"mutability":"mutable","name":"end","nameLocation":"15345:3:57","nodeType":"VariableDeclaration","scope":46329,"src":"15337:11:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46231,"name":"uint256","nodeType":"ElementaryTypeName","src":"15337:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15275:79:57"},"returnParameters":{"id":46238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46235,"mutability":"mutable","name":"success","nameLocation":"15383:7:57","nodeType":"VariableDeclaration","scope":46329,"src":"15378:12:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46234,"name":"bool","nodeType":"ElementaryTypeName","src":"15378:4:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46237,"mutability":"mutable","name":"value","nameLocation":"15400:5:57","nodeType":"VariableDeclaration","scope":46329,"src":"15392:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46236,"name":"address","nodeType":"ElementaryTypeName","src":"15392:7:57","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15377:29:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46389,"nodeType":"FunctionDefinition","src":"16146:524:57","nodes":[],"body":{"id":46388,"nodeType":"Block","src":"16209:461:57","nodes":[],"statements":[{"assignments":[46337],"declarations":[{"constant":false,"id":46337,"mutability":"mutable","name":"value","nameLocation":"16225:5:57","nodeType":"VariableDeclaration","scope":46388,"src":"16219:11:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":46336,"name":"uint8","nodeType":"ElementaryTypeName","src":"16219:5:57","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":46342,"initialValue":{"arguments":[{"id":46340,"name":"chr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46331,"src":"16239:3:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":46339,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16233:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":46338,"name":"uint8","nodeType":"ElementaryTypeName","src":"16233:5:57","typeDescriptions":{}}},"id":46341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16233:10:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"16219:24:57"},{"id":46385,"nodeType":"UncheckedBlock","src":"16403:238:57","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":46349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":46345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46343,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"16431:5:57","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3437","id":46344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16439:2:57","typeDescriptions":{"typeIdentifier":"t_rational_47_by_1","typeString":"int_const 47"},"value":"47"},"src":"16431:10:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":46348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46346,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"16445:5:57","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"3538","id":46347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16453:2:57","typeDescriptions":{"typeIdentifier":"t_rational_58_by_1","typeString":"int_const 58"},"value":"58"},"src":"16445:10:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"16431:24:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":46360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":46356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46354,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"16491:5:57","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3936","id":46355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16499:2:57","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"src":"16491:10:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":46359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46357,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"16505:5:57","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"313033","id":46358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16513:3:57","typeDescriptions":{"typeIdentifier":"t_rational_103_by_1","typeString":"int_const 103"},"value":"103"},"src":"16505:11:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"16491:25:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":46371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":46367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46365,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"16552:5:57","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3634","id":46366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16560:2:57","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"16552:10:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":46370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46368,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"16566:5:57","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"3731","id":46369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16574:2:57","typeDescriptions":{"typeIdentifier":"t_rational_71_by_1","typeString":"int_const 71"},"value":"71"},"src":"16566:10:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"16552:24:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"expression":{"expression":{"arguments":[{"id":46378,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16620:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":46377,"name":"uint8","nodeType":"ElementaryTypeName","src":"16620:5:57","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"}],"id":46376,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"16615:4:57","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":46379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16615:11:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint8","typeString":"type(uint8)"}},"id":46380,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16627:3:57","memberName":"max","nodeType":"MemberAccess","src":"16615:15:57","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":46335,"id":46381,"nodeType":"Return","src":"16608:22:57"},"id":46382,"nodeType":"IfStatement","src":"16548:82:57","trueBody":{"expression":{"id":46374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46372,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"16578:5:57","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"3535","id":46373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16587:2:57","typeDescriptions":{"typeIdentifier":"t_rational_55_by_1","typeString":"int_const 55"},"value":"55"},"src":"16578:11:57","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":46375,"nodeType":"ExpressionStatement","src":"16578:11:57"}},"id":46383,"nodeType":"IfStatement","src":"16487:143:57","trueBody":{"expression":{"id":46363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46361,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"16518:5:57","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"3837","id":46362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16527:2:57","typeDescriptions":{"typeIdentifier":"t_rational_87_by_1","typeString":"int_const 87"},"value":"87"},"src":"16518:11:57","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":46364,"nodeType":"ExpressionStatement","src":"16518:11:57"}},"id":46384,"nodeType":"IfStatement","src":"16427:203:57","trueBody":{"expression":{"id":46352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46350,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"16457:5:57","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"3438","id":46351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16466:2:57","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},"src":"16457:11:57","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":46353,"nodeType":"ExpressionStatement","src":"16457:11:57"}}]},{"expression":{"id":46386,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"16658:5:57","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":46335,"id":46387,"nodeType":"Return","src":"16651:12:57"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_tryParseChr","nameLocation":"16155:12:57","parameters":{"id":46332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46331,"mutability":"mutable","name":"chr","nameLocation":"16175:3:57","nodeType":"VariableDeclaration","scope":46389,"src":"16168:10:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":46330,"name":"bytes1","nodeType":"ElementaryTypeName","src":"16168:6:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"src":"16167:12:57"},"returnParameters":{"id":46335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46334,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46389,"src":"16202:5:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":46333,"name":"uint8","nodeType":"ElementaryTypeName","src":"16202:5:57","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"16201:7:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":46555,"nodeType":"FunctionDefinition","src":"17257:1410:57","nodes":[],"body":{"id":46554,"nodeType":"Block","src":"17336:1331:57","nodes":[],"statements":[{"assignments":[46398],"declarations":[{"constant":false,"id":46398,"mutability":"mutable","name":"buffer","nameLocation":"17359:6:57","nodeType":"VariableDeclaration","scope":46554,"src":"17346:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":46397,"name":"bytes","nodeType":"ElementaryTypeName","src":"17346:5:57","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":46403,"initialValue":{"arguments":[{"id":46401,"name":"input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46392,"src":"17374:5:57","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":46400,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17368:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":46399,"name":"bytes","nodeType":"ElementaryTypeName","src":"17368:5:57","typeDescriptions":{}}},"id":46402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17368:12:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"17346:34:57"},{"assignments":[46405],"declarations":[{"constant":false,"id":46405,"mutability":"mutable","name":"output","nameLocation":"17403:6:57","nodeType":"VariableDeclaration","scope":46554,"src":"17390:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":46404,"name":"bytes","nodeType":"ElementaryTypeName","src":"17390:5:57","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":46413,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":46408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17422:1:57","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"expression":{"id":46409,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46398,"src":"17426:6:57","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":46410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17433:6:57","memberName":"length","nodeType":"MemberAccess","src":"17426:13:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17422:17:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46407,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"17412:9:57","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":46406,"name":"bytes","nodeType":"ElementaryTypeName","src":"17416:5:57","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":46412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17412:28:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"17390:50:57"},{"assignments":[46415],"declarations":[{"constant":false,"id":46415,"mutability":"mutable","name":"outputLength","nameLocation":"17481:12:57","nodeType":"VariableDeclaration","scope":46554,"src":"17473:20:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46414,"name":"uint256","nodeType":"ElementaryTypeName","src":"17473:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46417,"initialValue":{"hexValue":"30","id":46416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17496:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"17473:24:57"},{"body":{"id":46546,"nodeType":"Block","src":"17548:854:57","statements":[{"assignments":[46429],"declarations":[{"constant":false,"id":46429,"mutability":"mutable","name":"char","nameLocation":"17569:4:57","nodeType":"VariableDeclaration","scope":46546,"src":"17562:11:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":46428,"name":"bytes1","nodeType":"ElementaryTypeName","src":"17562:6:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"id":46437,"initialValue":{"arguments":[{"arguments":[{"id":46433,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46398,"src":"17606:6:57","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":46434,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46419,"src":"17614:1:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46432,"name":"_unsafeReadBytesOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46567,"src":"17583:22:57","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":46435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17583:33:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":46431,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17576:6:57","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":46430,"name":"bytes1","nodeType":"ElementaryTypeName","src":"17576:6:57","typeDescriptions":{}}},"id":46436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17576:41:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"VariableDeclarationStatement","src":"17562:55:57"},{"condition":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46438,"name":"SPECIAL_CHARS_LOOKUP","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45219,"src":"17637:20:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":46439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17661:1:57","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"arguments":[{"id":46442,"name":"char","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46429,"src":"17672:4:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":46441,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17666:5:57","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":46440,"name":"uint8","nodeType":"ElementaryTypeName","src":"17666:5:57","typeDescriptions":{}}},"id":46443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17666:11:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"17661:16:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46445,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"17660:18:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17637:41:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":46447,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"17636:43:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":46448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17683:1:57","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"17636:48:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":46450,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"17635:50:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":46544,"nodeType":"Block","src":"18330:62:57","statements":[{"expression":{"id":46542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":46537,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46405,"src":"18348:6:57","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":46540,"indexExpression":{"id":46539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18355:14:57","subExpression":{"id":46538,"name":"outputLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46415,"src":"18355:12:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18348:22:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":46541,"name":"char","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46429,"src":"18373:4:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"18348:29:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":46543,"nodeType":"ExpressionStatement","src":"18348:29:57"}]},"id":46545,"nodeType":"IfStatement","src":"17631:761:57","trueBody":{"id":46536,"nodeType":"Block","src":"17687:637:57","statements":[{"expression":{"id":46456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":46451,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46405,"src":"17705:6:57","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":46454,"indexExpression":{"id":46453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"17712:14:57","subExpression":{"id":46452,"name":"outputLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46415,"src":"17712:12:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17705:22:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"5c","id":46455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17730:4:57","typeDescriptions":{"typeIdentifier":"t_stringliteral_731553fa98541ade8b78284229adfe09a819380dee9244baac20dd1e0aa24095","typeString":"literal_string \"\\\""},"value":"\\"},"src":"17705:29:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":46457,"nodeType":"ExpressionStatement","src":"17705:29:57"},{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":46460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46458,"name":"char","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46429,"src":"17756:4:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783038","id":46459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17764:4:57","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"0x08"},"src":"17756:12:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":46470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46468,"name":"char","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46429,"src":"17825:4:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783039","id":46469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17833:4:57","typeDescriptions":{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"},"value":"0x09"},"src":"17825:12:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":46480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46478,"name":"char","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46429,"src":"17894:4:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783061","id":46479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17902:4:57","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"0x0a"},"src":"17894:12:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":46490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46488,"name":"char","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46429,"src":"17963:4:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783063","id":46489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17971:4:57","typeDescriptions":{"typeIdentifier":"t_rational_12_by_1","typeString":"int_const 12"},"value":"0x0c"},"src":"17963:12:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":46500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46498,"name":"char","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46429,"src":"18032:4:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783064","id":46499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18040:4:57","typeDescriptions":{"typeIdentifier":"t_rational_13_by_1","typeString":"int_const 13"},"value":"0x0d"},"src":"18032:12:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":46510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46508,"name":"char","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46429,"src":"18101:4:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783563","id":46509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18109:4:57","typeDescriptions":{"typeIdentifier":"t_rational_92_by_1","typeString":"int_const 92"},"value":"0x5c"},"src":"18101:12:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":46520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46518,"name":"char","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46429,"src":"18171:4:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783232","id":46519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18179:4:57","typeDescriptions":{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"},"value":"0x22"},"src":"18171:12:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46529,"nodeType":"IfStatement","src":"18167:143:57","trueBody":{"id":46528,"nodeType":"Block","src":"18185:125:57","statements":[{"expression":{"id":46526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":46521,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46405,"src":"18263:6:57","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":46524,"indexExpression":{"id":46523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18270:14:57","subExpression":{"id":46522,"name":"outputLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46415,"src":"18270:12:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18263:22:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"22","id":46525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18288:3:57","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},"value":"\""},"src":"18263:28:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":46527,"nodeType":"ExpressionStatement","src":"18263:28:57"}]}},"id":46530,"nodeType":"IfStatement","src":"18097:213:57","trueBody":{"expression":{"id":46516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":46511,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46405,"src":"18115:6:57","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":46514,"indexExpression":{"id":46513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18122:14:57","subExpression":{"id":46512,"name":"outputLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46415,"src":"18122:12:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18115:22:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"5c","id":46515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18140:4:57","typeDescriptions":{"typeIdentifier":"t_stringliteral_731553fa98541ade8b78284229adfe09a819380dee9244baac20dd1e0aa24095","typeString":"literal_string \"\\\""},"value":"\\"},"src":"18115:29:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":46517,"nodeType":"ExpressionStatement","src":"18115:29:57"}},"id":46531,"nodeType":"IfStatement","src":"18028:282:57","trueBody":{"expression":{"id":46506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":46501,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46405,"src":"18046:6:57","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":46504,"indexExpression":{"id":46503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18053:14:57","subExpression":{"id":46502,"name":"outputLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46415,"src":"18053:12:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18046:22:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"72","id":46505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18071:3:57","typeDescriptions":{"typeIdentifier":"t_stringliteral_414f72a4d550cad29f17d9d99a4af64b3776ec5538cd440cef0f03fef2e9e010","typeString":"literal_string \"r\""},"value":"r"},"src":"18046:28:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":46507,"nodeType":"ExpressionStatement","src":"18046:28:57"}},"id":46532,"nodeType":"IfStatement","src":"17959:351:57","trueBody":{"expression":{"id":46496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":46491,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46405,"src":"17977:6:57","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":46494,"indexExpression":{"id":46493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"17984:14:57","subExpression":{"id":46492,"name":"outputLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46415,"src":"17984:12:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17977:22:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66","id":46495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18002:3:57","typeDescriptions":{"typeIdentifier":"t_stringliteral_d1e8aeb79500496ef3dc2e57ba746a8315d048b7a664a2bf948db4fa91960483","typeString":"literal_string \"f\""},"value":"f"},"src":"17977:28:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":46497,"nodeType":"ExpressionStatement","src":"17977:28:57"}},"id":46533,"nodeType":"IfStatement","src":"17890:420:57","trueBody":{"expression":{"id":46486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":46481,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46405,"src":"17908:6:57","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":46484,"indexExpression":{"id":46483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"17915:14:57","subExpression":{"id":46482,"name":"outputLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46415,"src":"17915:12:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17908:22:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"6e","id":46485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17933:3:57","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b4ecedb4964a40fe416b16c7bd8b46092040ec42ef0aa69e59f09872f105cf3","typeString":"literal_string \"n\""},"value":"n"},"src":"17908:28:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":46487,"nodeType":"ExpressionStatement","src":"17908:28:57"}},"id":46534,"nodeType":"IfStatement","src":"17821:489:57","trueBody":{"expression":{"id":46476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":46471,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46405,"src":"17839:6:57","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":46474,"indexExpression":{"id":46473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"17846:14:57","subExpression":{"id":46472,"name":"outputLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46415,"src":"17846:12:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17839:22:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74","id":46475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17864:3:57","typeDescriptions":{"typeIdentifier":"t_stringliteral_cac1bb71f0a97c8ac94ca9546b43178a9ad254c7b757ac07433aa6df35cd8089","typeString":"literal_string \"t\""},"value":"t"},"src":"17839:28:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":46477,"nodeType":"ExpressionStatement","src":"17839:28:57"}},"id":46535,"nodeType":"IfStatement","src":"17752:558:57","trueBody":{"expression":{"id":46466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":46461,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46405,"src":"17770:6:57","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":46464,"indexExpression":{"id":46463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"17777:14:57","subExpression":{"id":46462,"name":"outputLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46415,"src":"17777:12:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17770:22:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"62","id":46465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17795:3:57","typeDescriptions":{"typeIdentifier":"t_stringliteral_b5553de315e0edf504d9150af82dafa5c4667fa618ed0a6f19c69b41166c5510","typeString":"literal_string \"b\""},"value":"b"},"src":"17770:28:57","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":46467,"nodeType":"ExpressionStatement","src":"17770:28:57"}}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46421,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46419,"src":"17524:1:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":46422,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46398,"src":"17528:6:57","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":46423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17535:6:57","memberName":"length","nodeType":"MemberAccess","src":"17528:13:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17524:17:57","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46547,"initializationExpression":{"assignments":[46419],"declarations":[{"constant":false,"id":46419,"mutability":"mutable","name":"i","nameLocation":"17521:1:57","nodeType":"VariableDeclaration","scope":46547,"src":"17513:9:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46418,"name":"uint256","nodeType":"ElementaryTypeName","src":"17513:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46420,"nodeType":"VariableDeclarationStatement","src":"17513:9:57"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":46426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"17543:3:57","subExpression":{"id":46425,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46419,"src":"17545:1:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46427,"nodeType":"ExpressionStatement","src":"17543:3:57"},"nodeType":"ForStatement","src":"17508:894:57"},{"AST":{"nativeSrc":"18500:129:57","nodeType":"YulBlock","src":"18500:129:57","statements":[{"expression":{"arguments":[{"name":"output","nativeSrc":"18521:6:57","nodeType":"YulIdentifier","src":"18521:6:57"},{"name":"outputLength","nativeSrc":"18529:12:57","nodeType":"YulIdentifier","src":"18529:12:57"}],"functionName":{"name":"mstore","nativeSrc":"18514:6:57","nodeType":"YulIdentifier","src":"18514:6:57"},"nativeSrc":"18514:28:57","nodeType":"YulFunctionCall","src":"18514:28:57"},"nativeSrc":"18514:28:57","nodeType":"YulExpressionStatement","src":"18514:28:57"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"18562:4:57","nodeType":"YulLiteral","src":"18562:4:57","type":"","value":"0x40"},{"arguments":[{"name":"output","nativeSrc":"18572:6:57","nodeType":"YulIdentifier","src":"18572:6:57"},{"arguments":[{"kind":"number","nativeSrc":"18584:1:57","nodeType":"YulLiteral","src":"18584:1:57","type":"","value":"5"},{"arguments":[{"kind":"number","nativeSrc":"18591:1:57","nodeType":"YulLiteral","src":"18591:1:57","type":"","value":"5"},{"arguments":[{"name":"outputLength","nativeSrc":"18598:12:57","nodeType":"YulIdentifier","src":"18598:12:57"},{"kind":"number","nativeSrc":"18612:2:57","nodeType":"YulLiteral","src":"18612:2:57","type":"","value":"63"}],"functionName":{"name":"add","nativeSrc":"18594:3:57","nodeType":"YulIdentifier","src":"18594:3:57"},"nativeSrc":"18594:21:57","nodeType":"YulFunctionCall","src":"18594:21:57"}],"functionName":{"name":"shr","nativeSrc":"18587:3:57","nodeType":"YulIdentifier","src":"18587:3:57"},"nativeSrc":"18587:29:57","nodeType":"YulFunctionCall","src":"18587:29:57"}],"functionName":{"name":"shl","nativeSrc":"18580:3:57","nodeType":"YulIdentifier","src":"18580:3:57"},"nativeSrc":"18580:37:57","nodeType":"YulFunctionCall","src":"18580:37:57"}],"functionName":{"name":"add","nativeSrc":"18568:3:57","nodeType":"YulIdentifier","src":"18568:3:57"},"nativeSrc":"18568:50:57","nodeType":"YulFunctionCall","src":"18568:50:57"}],"functionName":{"name":"mstore","nativeSrc":"18555:6:57","nodeType":"YulIdentifier","src":"18555:6:57"},"nativeSrc":"18555:64:57","nodeType":"YulFunctionCall","src":"18555:64:57"},"nativeSrc":"18555:64:57","nodeType":"YulExpressionStatement","src":"18555:64:57"}]},"evmVersion":"cancun","externalReferences":[{"declaration":46405,"isOffset":false,"isSlot":false,"src":"18521:6:57","valueSize":1},{"declaration":46405,"isOffset":false,"isSlot":false,"src":"18572:6:57","valueSize":1},{"declaration":46415,"isOffset":false,"isSlot":false,"src":"18529:12:57","valueSize":1},{"declaration":46415,"isOffset":false,"isSlot":false,"src":"18598:12:57","valueSize":1}],"flags":["memory-safe"],"id":46548,"nodeType":"InlineAssembly","src":"18475:154:57"},{"expression":{"arguments":[{"id":46551,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46405,"src":"18653:6:57","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46550,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18646:6:57","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":46549,"name":"string","nodeType":"ElementaryTypeName","src":"18646:6:57","typeDescriptions":{}}},"id":46552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18646:14:57","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":46396,"id":46553,"nodeType":"Return","src":"18639:21:57"}]},"documentation":{"id":46390,"nodeType":"StructuredDocumentation","src":"16676:576:57","text":" @dev Escape special characters in JSON strings. This can be useful to prevent JSON injection in NFT metadata.\n WARNING: This function should only be used in double quoted JSON strings. Single quotes are not escaped.\n NOTE: This function escapes all unicode characters, and not just the ones in ranges defined in section 2.5 of\n RFC-4627 (U+0000 to U+001F, U+0022 and U+005C). ECMAScript's `JSON.parse` does recover escaped unicode\n characters that are not in this range, but other tooling may provide different results."},"implemented":true,"kind":"function","modifiers":[],"name":"escapeJSON","nameLocation":"17266:10:57","parameters":{"id":46393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46392,"mutability":"mutable","name":"input","nameLocation":"17291:5:57","nodeType":"VariableDeclaration","scope":46555,"src":"17277:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46391,"name":"string","nodeType":"ElementaryTypeName","src":"17277:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17276:21:57"},"returnParameters":{"id":46396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46395,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46555,"src":"17321:13:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46394,"name":"string","nodeType":"ElementaryTypeName","src":"17321:6:57","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17320:15:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46567,"nodeType":"FunctionDefinition","src":"18946:331:57","nodes":[],"body":{"id":46566,"nodeType":"Block","src":"19052:225:57","nodes":[],"statements":[{"AST":{"nativeSrc":"19201:70:57","nodeType":"YulBlock","src":"19201:70:57","statements":[{"nativeSrc":"19215:46:57","nodeType":"YulAssignment","src":"19215:46:57","value":{"arguments":[{"arguments":[{"arguments":[{"name":"buffer","nativeSrc":"19238:6:57","nodeType":"YulIdentifier","src":"19238:6:57"},{"kind":"number","nativeSrc":"19246:4:57","nodeType":"YulLiteral","src":"19246:4:57","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"19234:3:57","nodeType":"YulIdentifier","src":"19234:3:57"},"nativeSrc":"19234:17:57","nodeType":"YulFunctionCall","src":"19234:17:57"},{"name":"offset","nativeSrc":"19253:6:57","nodeType":"YulIdentifier","src":"19253:6:57"}],"functionName":{"name":"add","nativeSrc":"19230:3:57","nodeType":"YulIdentifier","src":"19230:3:57"},"nativeSrc":"19230:30:57","nodeType":"YulFunctionCall","src":"19230:30:57"}],"functionName":{"name":"mload","nativeSrc":"19224:5:57","nodeType":"YulIdentifier","src":"19224:5:57"},"nativeSrc":"19224:37:57","nodeType":"YulFunctionCall","src":"19224:37:57"},"variableNames":[{"name":"value","nativeSrc":"19215:5:57","nodeType":"YulIdentifier","src":"19215:5:57"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":46558,"isOffset":false,"isSlot":false,"src":"19238:6:57","valueSize":1},{"declaration":46560,"isOffset":false,"isSlot":false,"src":"19253:6:57","valueSize":1},{"declaration":46563,"isOffset":false,"isSlot":false,"src":"19215:5:57","valueSize":1}],"flags":["memory-safe"],"id":46565,"nodeType":"InlineAssembly","src":"19176:95:57"}]},"documentation":{"id":46556,"nodeType":"StructuredDocumentation","src":"18673:268:57","text":" @dev Reads a bytes32 from a bytes array without bounds checking.\n NOTE: making this function internal would mean it could be used with memory unsafe offset, and marking the\n assembly block as such would prevent some optimizations."},"implemented":true,"kind":"function","modifiers":[],"name":"_unsafeReadBytesOffset","nameLocation":"18955:22:57","parameters":{"id":46561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46558,"mutability":"mutable","name":"buffer","nameLocation":"18991:6:57","nodeType":"VariableDeclaration","scope":46567,"src":"18978:19:57","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":46557,"name":"bytes","nodeType":"ElementaryTypeName","src":"18978:5:57","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":46560,"mutability":"mutable","name":"offset","nameLocation":"19007:6:57","nodeType":"VariableDeclaration","scope":46567,"src":"18999:14:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46559,"name":"uint256","nodeType":"ElementaryTypeName","src":"18999:7:57","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18977:37:57"},"returnParameters":{"id":46564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46563,"mutability":"mutable","name":"value","nameLocation":"19045:5:57","nodeType":"VariableDeclaration","scope":46567,"src":"19037:13:57","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":46562,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19037:7:57","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19036:15:57"},"scope":46568,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"Strings","contractDependencies":[],"contractKind":"library","documentation":{"id":45175,"nodeType":"StructuredDocumentation","src":"262:34:57","text":" @dev String operations."},"fullyImplemented":true,"linearizedBaseContracts":[46568],"name":"Strings","nameLocation":"305:7:57","scope":46569,"usedErrors":[45226,45229,45232],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"id":58,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","id":46593,"exportedSymbols":{"ERC165":[46592],"IERC165":[46799]},"nodeType":"SourceUnit","src":"114:765:58","nodes":[{"id":46570,"nodeType":"PragmaDirective","src":"114:24:58","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":46572,"nodeType":"ImportDirective","src":"140:38:58","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol","file":"./IERC165.sol","nameLocation":"-1:-1:-1","scope":46593,"sourceUnit":46800,"symbolAliases":[{"foreign":{"id":46571,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46799,"src":"148:7:58","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":46592,"nodeType":"ContractDefinition","src":"660:218:58","nodes":[{"id":46591,"nodeType":"FunctionDefinition","src":"730:146:58","nodes":[],"body":{"id":46590,"nodeType":"Block","src":"812:64:58","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":46588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46583,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46578,"src":"829:11:58","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":46585,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46799,"src":"849:7:58","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC165_$46799_$","typeString":"type(contract IERC165)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC165_$46799_$","typeString":"type(contract IERC165)"}],"id":46584,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"844:4:58","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":46586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"844:13:58","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC165_$46799","typeString":"type(contract IERC165)"}},"id":46587,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"858:11:58","memberName":"interfaceId","nodeType":"MemberAccess","src":"844:25:58","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"829:40:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":46582,"id":46589,"nodeType":"Return","src":"822:47:58"}]},"baseFunctions":[46798],"documentation":{"id":46576,"nodeType":"StructuredDocumentation","src":"702:23:58","text":"@inheritdoc IERC165"},"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"739:17:58","parameters":{"id":46579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46578,"mutability":"mutable","name":"interfaceId","nameLocation":"764:11:58","nodeType":"VariableDeclaration","scope":46591,"src":"757:18:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":46577,"name":"bytes4","nodeType":"ElementaryTypeName","src":"757:6:58","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"756:20:58"},"returnParameters":{"id":46582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46581,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46591,"src":"806:4:58","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46580,"name":"bool","nodeType":"ElementaryTypeName","src":"806:4:58","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"805:6:58"},"scope":46592,"stateMutability":"view","virtual":true,"visibility":"public"}],"abstract":true,"baseContracts":[{"baseName":{"id":46574,"name":"IERC165","nameLocations":["688:7:58"],"nodeType":"IdentifierPath","referencedDeclaration":46799,"src":"688:7:58"},"id":46575,"nodeType":"InheritanceSpecifier","src":"688:7:58"}],"canonicalName":"ERC165","contractDependencies":[],"contractKind":"contract","documentation":{"id":46573,"nodeType":"StructuredDocumentation","src":"180:479:58","text":" @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC-165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```"},"fullyImplemented":true,"linearizedBaseContracts":[46592,46799],"name":"ERC165","nameLocation":"678:6:58","scope":46593,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"id":59,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol","id":46788,"exportedSymbols":{"ERC165Checker":[46787],"IERC165":[46799]},"nodeType":"SourceUnit","src":"121:4933:59","nodes":[{"id":46594,"nodeType":"PragmaDirective","src":"121:24:59","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":46596,"nodeType":"ImportDirective","src":"147:38:59","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol","file":"./IERC165.sol","nameLocation":"-1:-1:-1","scope":46788,"sourceUnit":46800,"symbolAliases":[{"foreign":{"id":46595,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46799,"src":"155:7:59","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":46787,"nodeType":"ContractDefinition","src":"465:4588:59","nodes":[{"id":46600,"nodeType":"VariableDeclaration","src":"567:57:59","nodes":[],"constant":true,"mutability":"constant","name":"INTERFACE_ID_INVALID","nameLocation":"591:20:59","scope":46787,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":46598,"name":"bytes4","nodeType":"ElementaryTypeName","src":"567:6:59","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"value":{"hexValue":"30786666666666666666","id":46599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"614:10:59","typeDescriptions":{"typeIdentifier":"t_rational_4294967295_by_1","typeString":"int_const 4294967295"},"value":"0xffffffff"},"visibility":"private"},{"id":46623,"nodeType":"FunctionDefinition","src":"719:427:59","nodes":[],"body":{"id":46622,"nodeType":"Block","src":"789:357:59","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":46620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":46609,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46603,"src":"1024:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"arguments":[{"id":46611,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46799,"src":"1038:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC165_$46799_$","typeString":"type(contract IERC165)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC165_$46799_$","typeString":"type(contract IERC165)"}],"id":46610,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1033:4:59","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":46612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1033:13:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC165_$46799","typeString":"type(contract IERC165)"}},"id":46613,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1047:11:59","memberName":"interfaceId","nodeType":"MemberAccess","src":"1033:25:59","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":46608,"name":"supportsERC165InterfaceUnchecked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46786,"src":"991:32:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":46614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"991:68:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":46619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1075:64:59","subExpression":{"arguments":[{"id":46616,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46603,"src":"1109:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46617,"name":"INTERFACE_ID_INVALID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46600,"src":"1118:20:59","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":46615,"name":"supportsERC165InterfaceUnchecked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46786,"src":"1076:32:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":46618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1076:63:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"991:148:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":46607,"id":46621,"nodeType":"Return","src":"972:167:59"}]},"documentation":{"id":46601,"nodeType":"StructuredDocumentation","src":"631:83:59","text":" @dev Returns true if `account` supports the {IERC165} interface."},"implemented":true,"kind":"function","modifiers":[],"name":"supportsERC165","nameLocation":"728:14:59","parameters":{"id":46604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46603,"mutability":"mutable","name":"account","nameLocation":"751:7:59","nodeType":"VariableDeclaration","scope":46623,"src":"743:15:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46602,"name":"address","nodeType":"ElementaryTypeName","src":"743:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"742:17:59"},"returnParameters":{"id":46607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46606,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46623,"src":"783:4:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46605,"name":"bool","nodeType":"ElementaryTypeName","src":"783:4:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"782:6:59"},"scope":46787,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46643,"nodeType":"FunctionDefinition","src":"1364:283:59","nodes":[],"body":{"id":46642,"nodeType":"Block","src":"1457:190:59","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":46640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":46634,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46626,"src":"1574:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":46633,"name":"supportsERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46623,"src":"1559:14:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":46635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1559:23:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"id":46637,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46626,"src":"1619:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46638,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46628,"src":"1628:11:59","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":46636,"name":"supportsERC165InterfaceUnchecked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46786,"src":"1586:32:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":46639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1586:54:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1559:81:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":46632,"id":46641,"nodeType":"Return","src":"1552:88:59"}]},"documentation":{"id":46624,"nodeType":"StructuredDocumentation","src":"1152:207:59","text":" @dev Returns true if `account` supports the interface defined by\n `interfaceId`. Support for {IERC165} itself is queried automatically.\n See {IERC165-supportsInterface}."},"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"1373:17:59","parameters":{"id":46629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46626,"mutability":"mutable","name":"account","nameLocation":"1399:7:59","nodeType":"VariableDeclaration","scope":46643,"src":"1391:15:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46625,"name":"address","nodeType":"ElementaryTypeName","src":"1391:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46628,"mutability":"mutable","name":"interfaceId","nameLocation":"1415:11:59","nodeType":"VariableDeclaration","scope":46643,"src":"1408:18:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":46627,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1408:6:59","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1390:37:59"},"returnParameters":{"id":46632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46631,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46643,"src":"1451:4:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46630,"name":"bool","nodeType":"ElementaryTypeName","src":"1451:4:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1450:6:59"},"scope":46787,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46699,"nodeType":"FunctionDefinition","src":"1994:700:59","nodes":[],"body":{"id":46698,"nodeType":"Block","src":"2133:561:59","nodes":[],"statements":[{"assignments":[46659],"declarations":[{"constant":false,"id":46659,"mutability":"mutable","name":"interfaceIdsSupported","nameLocation":"2256:21:59","nodeType":"VariableDeclaration","scope":46698,"src":"2242:35:59","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":46657,"name":"bool","nodeType":"ElementaryTypeName","src":"2242:4:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46658,"nodeType":"ArrayTypeName","src":"2242:6:59","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"id":46666,"initialValue":{"arguments":[{"expression":{"id":46663,"name":"interfaceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46649,"src":"2291:12:59","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[] memory"}},"id":46664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2304:6:59","memberName":"length","nodeType":"MemberAccess","src":"2291:19:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46662,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2280:10:59","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bool_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bool[] memory)"},"typeName":{"baseType":{"id":46660,"name":"bool","nodeType":"ElementaryTypeName","src":"2284:4:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46661,"nodeType":"ArrayTypeName","src":"2284:6:59","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}}},"id":46665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2280:31:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2242:69:59"},{"condition":{"arguments":[{"id":46668,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46646,"src":"2384:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":46667,"name":"supportsERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46623,"src":"2369:14:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":46669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2369:23:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46695,"nodeType":"IfStatement","src":"2365:284:59","trueBody":{"id":46694,"nodeType":"Block","src":"2394:255:59","statements":[{"body":{"id":46692,"nodeType":"Block","src":"2521:118:59","statements":[{"expression":{"id":46690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":46681,"name":"interfaceIdsSupported","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46659,"src":"2539:21:59","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"id":46683,"indexExpression":{"id":46682,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46671,"src":"2561:1:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2539:24:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":46685,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46646,"src":"2599:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":46686,"name":"interfaceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46649,"src":"2608:12:59","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[] memory"}},"id":46688,"indexExpression":{"id":46687,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46671,"src":"2621:1:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2608:15:59","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":46684,"name":"supportsERC165InterfaceUnchecked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46786,"src":"2566:32:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":46689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2566:58:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2539:85:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46691,"nodeType":"ExpressionStatement","src":"2539:85:59"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46674,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46671,"src":"2491:1:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":46675,"name":"interfaceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46649,"src":"2495:12:59","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[] memory"}},"id":46676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2508:6:59","memberName":"length","nodeType":"MemberAccess","src":"2495:19:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2491:23:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46693,"initializationExpression":{"assignments":[46671],"declarations":[{"constant":false,"id":46671,"mutability":"mutable","name":"i","nameLocation":"2484:1:59","nodeType":"VariableDeclaration","scope":46693,"src":"2476:9:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46670,"name":"uint256","nodeType":"ElementaryTypeName","src":"2476:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46673,"initialValue":{"hexValue":"30","id":46672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2488:1:59","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2476:13:59"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":46679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2516:3:59","subExpression":{"id":46678,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46671,"src":"2516:1:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46680,"nodeType":"ExpressionStatement","src":"2516:3:59"},"nodeType":"ForStatement","src":"2471:168:59"}]}},{"expression":{"id":46696,"name":"interfaceIdsSupported","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46659,"src":"2666:21:59","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"functionReturnParameters":46654,"id":46697,"nodeType":"Return","src":"2659:28:59"}]},"documentation":{"id":46644,"nodeType":"StructuredDocumentation","src":"1653:336:59","text":" @dev Returns a boolean array where each value corresponds to the\n interfaces passed in and whether they're supported or not. This allows\n you to batch check interfaces for a contract where your expectation\n is that some interfaces may not be supported.\n See {IERC165-supportsInterface}."},"implemented":true,"kind":"function","modifiers":[],"name":"getSupportedInterfaces","nameLocation":"2003:22:59","parameters":{"id":46650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46646,"mutability":"mutable","name":"account","nameLocation":"2043:7:59","nodeType":"VariableDeclaration","scope":46699,"src":"2035:15:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46645,"name":"address","nodeType":"ElementaryTypeName","src":"2035:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46649,"mutability":"mutable","name":"interfaceIds","nameLocation":"2076:12:59","nodeType":"VariableDeclaration","scope":46699,"src":"2060:28:59","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[]"},"typeName":{"baseType":{"id":46647,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2060:6:59","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":46648,"nodeType":"ArrayTypeName","src":"2060:8:59","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"}},"visibility":"internal"}],"src":"2025:69:59"},"returnParameters":{"id":46654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46653,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46699,"src":"2118:13:59","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":46651,"name":"bool","nodeType":"ElementaryTypeName","src":"2118:4:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46652,"nodeType":"ArrayTypeName","src":"2118:6:59","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"2117:15:59"},"scope":46787,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46745,"nodeType":"FunctionDefinition","src":"3029:544:59","nodes":[],"body":{"id":46744,"nodeType":"Block","src":"3136:437:59","nodes":[],"statements":[{"condition":{"id":46713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3193:24:59","subExpression":{"arguments":[{"id":46711,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46702,"src":"3209:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":46710,"name":"supportsERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46623,"src":"3194:14:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":46712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3194:23:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46717,"nodeType":"IfStatement","src":"3189:67:59","trueBody":{"id":46716,"nodeType":"Block","src":"3219:37:59","statements":[{"expression":{"hexValue":"66616c7365","id":46714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3240:5:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":46709,"id":46715,"nodeType":"Return","src":"3233:12:59"}]}},{"body":{"id":46740,"nodeType":"Block","src":"3375:134:59","statements":[{"condition":{"id":46735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3393:59:59","subExpression":{"arguments":[{"id":46730,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46702,"src":"3427:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":46731,"name":"interfaceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46705,"src":"3436:12:59","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[] memory"}},"id":46733,"indexExpression":{"id":46732,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46719,"src":"3449:1:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3436:15:59","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":46729,"name":"supportsERC165InterfaceUnchecked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46786,"src":"3394:32:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":46734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3394:58:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46739,"nodeType":"IfStatement","src":"3389:110:59","trueBody":{"id":46738,"nodeType":"Block","src":"3454:45:59","statements":[{"expression":{"hexValue":"66616c7365","id":46736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3479:5:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":46709,"id":46737,"nodeType":"Return","src":"3472:12:59"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46722,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46719,"src":"3345:1:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":46723,"name":"interfaceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46705,"src":"3349:12:59","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[] memory"}},"id":46724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3362:6:59","memberName":"length","nodeType":"MemberAccess","src":"3349:19:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3345:23:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46741,"initializationExpression":{"assignments":[46719],"declarations":[{"constant":false,"id":46719,"mutability":"mutable","name":"i","nameLocation":"3338:1:59","nodeType":"VariableDeclaration","scope":46741,"src":"3330:9:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46718,"name":"uint256","nodeType":"ElementaryTypeName","src":"3330:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46721,"initialValue":{"hexValue":"30","id":46720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3342:1:59","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"3330:13:59"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":46727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3370:3:59","subExpression":{"id":46726,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46719,"src":"3370:1:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46728,"nodeType":"ExpressionStatement","src":"3370:3:59"},"nodeType":"ForStatement","src":"3325:184:59"},{"expression":{"hexValue":"74727565","id":46742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3562:4:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":46709,"id":46743,"nodeType":"Return","src":"3555:11:59"}]},"documentation":{"id":46700,"nodeType":"StructuredDocumentation","src":"2700:324:59","text":" @dev Returns true if `account` supports all the interfaces defined in\n `interfaceIds`. Support for {IERC165} itself is queried automatically.\n Batch-querying can lead to gas savings by skipping repeated checks for\n {IERC165} support.\n See {IERC165-supportsInterface}."},"implemented":true,"kind":"function","modifiers":[],"name":"supportsAllInterfaces","nameLocation":"3038:21:59","parameters":{"id":46706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46702,"mutability":"mutable","name":"account","nameLocation":"3068:7:59","nodeType":"VariableDeclaration","scope":46745,"src":"3060:15:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46701,"name":"address","nodeType":"ElementaryTypeName","src":"3060:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46705,"mutability":"mutable","name":"interfaceIds","nameLocation":"3093:12:59","nodeType":"VariableDeclaration","scope":46745,"src":"3077:28:59","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_memory_ptr","typeString":"bytes4[]"},"typeName":{"baseType":{"id":46703,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3077:6:59","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":46704,"nodeType":"ArrayTypeName","src":"3077:8:59","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"}},"visibility":"internal"}],"src":"3059:47:59"},"returnParameters":{"id":46709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46708,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46745,"src":"3130:4:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46707,"name":"bool","nodeType":"ElementaryTypeName","src":"3130:4:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3129:6:59"},"scope":46787,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46786,"nodeType":"FunctionDefinition","src":"4403:648:59","nodes":[],"body":{"id":46785,"nodeType":"Block","src":"4511:540:59","nodes":[],"statements":[{"assignments":[46756],"declarations":[{"constant":false,"id":46756,"mutability":"mutable","name":"encodedParams","nameLocation":"4558:13:59","nodeType":"VariableDeclaration","scope":46785,"src":"4545:26:59","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":46755,"name":"bytes","nodeType":"ElementaryTypeName","src":"4545:5:59","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":46764,"initialValue":{"arguments":[{"expression":{"id":46759,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46799,"src":"4589:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC165_$46799_$","typeString":"type(contract IERC165)"}},"id":46760,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4597:17:59","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":46798,"src":"4589:25:59","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_bytes4_$returns$_t_bool_$","typeString":"function IERC165.supportsInterface(bytes4) view returns (bool)"}},{"components":[{"id":46761,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46750,"src":"4617:11:59","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"id":46762,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4616:13:59","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$_t_bytes4_$returns$_t_bool_$","typeString":"function IERC165.supportsInterface(bytes4) view returns (bool)"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":46757,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4574:3:59","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46758,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4578:10:59","memberName":"encodeCall","nodeType":"MemberAccess","src":"4574:14:59","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":46763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4574:56:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4545:85:59"},{"assignments":[46766],"declarations":[{"constant":false,"id":46766,"mutability":"mutable","name":"success","nameLocation":"4677:7:59","nodeType":"VariableDeclaration","scope":46785,"src":"4672:12:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46765,"name":"bool","nodeType":"ElementaryTypeName","src":"4672:4:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":46767,"nodeType":"VariableDeclarationStatement","src":"4672:12:59"},{"assignments":[46769],"declarations":[{"constant":false,"id":46769,"mutability":"mutable","name":"returnSize","nameLocation":"4702:10:59","nodeType":"VariableDeclaration","scope":46785,"src":"4694:18:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46768,"name":"uint256","nodeType":"ElementaryTypeName","src":"4694:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46770,"nodeType":"VariableDeclarationStatement","src":"4694:18:59"},{"assignments":[46772],"declarations":[{"constant":false,"id":46772,"mutability":"mutable","name":"returnValue","nameLocation":"4730:11:59","nodeType":"VariableDeclaration","scope":46785,"src":"4722:19:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46771,"name":"uint256","nodeType":"ElementaryTypeName","src":"4722:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46773,"nodeType":"VariableDeclarationStatement","src":"4722:19:59"},{"AST":{"nativeSrc":"4776:203:59","nodeType":"YulBlock","src":"4776:203:59","statements":[{"nativeSrc":"4790:97:59","nodeType":"YulAssignment","src":"4790:97:59","value":{"arguments":[{"kind":"number","nativeSrc":"4812:5:59","nodeType":"YulLiteral","src":"4812:5:59","type":"","value":"30000"},{"name":"account","nativeSrc":"4819:7:59","nodeType":"YulIdentifier","src":"4819:7:59"},{"arguments":[{"name":"encodedParams","nativeSrc":"4832:13:59","nodeType":"YulIdentifier","src":"4832:13:59"},{"kind":"number","nativeSrc":"4847:4:59","nodeType":"YulLiteral","src":"4847:4:59","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"4828:3:59","nodeType":"YulIdentifier","src":"4828:3:59"},"nativeSrc":"4828:24:59","nodeType":"YulFunctionCall","src":"4828:24:59"},{"arguments":[{"name":"encodedParams","nativeSrc":"4860:13:59","nodeType":"YulIdentifier","src":"4860:13:59"}],"functionName":{"name":"mload","nativeSrc":"4854:5:59","nodeType":"YulIdentifier","src":"4854:5:59"},"nativeSrc":"4854:20:59","nodeType":"YulFunctionCall","src":"4854:20:59"},{"kind":"number","nativeSrc":"4876:4:59","nodeType":"YulLiteral","src":"4876:4:59","type":"","value":"0x00"},{"kind":"number","nativeSrc":"4882:4:59","nodeType":"YulLiteral","src":"4882:4:59","type":"","value":"0x20"}],"functionName":{"name":"staticcall","nativeSrc":"4801:10:59","nodeType":"YulIdentifier","src":"4801:10:59"},"nativeSrc":"4801:86:59","nodeType":"YulFunctionCall","src":"4801:86:59"},"variableNames":[{"name":"success","nativeSrc":"4790:7:59","nodeType":"YulIdentifier","src":"4790:7:59"}]},{"nativeSrc":"4900:30:59","nodeType":"YulAssignment","src":"4900:30:59","value":{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"4914:14:59","nodeType":"YulIdentifier","src":"4914:14:59"},"nativeSrc":"4914:16:59","nodeType":"YulFunctionCall","src":"4914:16:59"},"variableNames":[{"name":"returnSize","nativeSrc":"4900:10:59","nodeType":"YulIdentifier","src":"4900:10:59"}]},{"nativeSrc":"4943:26:59","nodeType":"YulAssignment","src":"4943:26:59","value":{"arguments":[{"kind":"number","nativeSrc":"4964:4:59","nodeType":"YulLiteral","src":"4964:4:59","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"4958:5:59","nodeType":"YulIdentifier","src":"4958:5:59"},"nativeSrc":"4958:11:59","nodeType":"YulFunctionCall","src":"4958:11:59"},"variableNames":[{"name":"returnValue","nativeSrc":"4943:11:59","nodeType":"YulIdentifier","src":"4943:11:59"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":46748,"isOffset":false,"isSlot":false,"src":"4819:7:59","valueSize":1},{"declaration":46756,"isOffset":false,"isSlot":false,"src":"4832:13:59","valueSize":1},{"declaration":46756,"isOffset":false,"isSlot":false,"src":"4860:13:59","valueSize":1},{"declaration":46769,"isOffset":false,"isSlot":false,"src":"4900:10:59","valueSize":1},{"declaration":46772,"isOffset":false,"isSlot":false,"src":"4943:11:59","valueSize":1},{"declaration":46766,"isOffset":false,"isSlot":false,"src":"4790:7:59","valueSize":1}],"flags":["memory-safe"],"id":46774,"nodeType":"InlineAssembly","src":"4751:228:59"},{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":46783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":46779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46775,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46766,"src":"4996:7:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46776,"name":"returnSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46769,"src":"5007:10:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30783230","id":46777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5021:4:59","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"0x20"},"src":"5007:18:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4996:29:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46780,"name":"returnValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46772,"src":"5029:11:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":46781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5043:1:59","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5029:15:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4996:48:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":46754,"id":46784,"nodeType":"Return","src":"4989:55:59"}]},"documentation":{"id":46746,"nodeType":"StructuredDocumentation","src":"3579:819:59","text":" @notice Query if a contract implements an interface, does not check ERC-165 support\n @param account The address of the contract to query for support of an interface\n @param interfaceId The interface identifier, as specified in ERC-165\n @return true if the contract at account indicates support of the interface with\n identifier interfaceId, false otherwise\n @dev Assumes that account contains a contract that supports ERC-165, otherwise\n the behavior of this method is undefined. This precondition can be checked\n with {supportsERC165}.\n Some precompiled contracts will falsely indicate support for a given interface, so caution\n should be exercised when using this function.\n Interface identification is specified in ERC-165."},"implemented":true,"kind":"function","modifiers":[],"name":"supportsERC165InterfaceUnchecked","nameLocation":"4412:32:59","parameters":{"id":46751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46748,"mutability":"mutable","name":"account","nameLocation":"4453:7:59","nodeType":"VariableDeclaration","scope":46786,"src":"4445:15:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46747,"name":"address","nodeType":"ElementaryTypeName","src":"4445:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46750,"mutability":"mutable","name":"interfaceId","nameLocation":"4469:11:59","nodeType":"VariableDeclaration","scope":46786,"src":"4462:18:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":46749,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4462:6:59","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"4444:37:59"},"returnParameters":{"id":46754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46753,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46786,"src":"4505:4:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46752,"name":"bool","nodeType":"ElementaryTypeName","src":"4505:4:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4504:6:59"},"scope":46787,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"ERC165Checker","contractDependencies":[],"contractKind":"library","documentation":{"id":46597,"nodeType":"StructuredDocumentation","src":"187:277:59","text":" @dev Library used to query support of an interface declared via {IERC165}.\n Note that these functions return the actual result of the query: they do not\n `revert` if an interface is not supported. It is up to the caller to decide\n what to do in these cases."},"fullyImplemented":true,"linearizedBaseContracts":[46787],"name":"ERC165Checker","nameLocation":"473:13:59","scope":46788,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"id":60,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol","id":46800,"exportedSymbols":{"IERC165":[46799]},"nodeType":"SourceUnit","src":"115:756:60","nodes":[{"id":46789,"nodeType":"PragmaDirective","src":"115:25:60","nodes":[],"literals":["solidity",">=","0.4",".16"]},{"id":46799,"nodeType":"ContractDefinition","src":"423:447:60","nodes":[{"id":46798,"nodeType":"FunctionDefinition","src":"792:76:60","nodes":[],"documentation":{"id":46791,"nodeType":"StructuredDocumentation","src":"447:340:60","text":" @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas."},"functionSelector":"01ffc9a7","implemented":false,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"801:17:60","parameters":{"id":46794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46793,"mutability":"mutable","name":"interfaceId","nameLocation":"826:11:60","nodeType":"VariableDeclaration","scope":46798,"src":"819:18:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":46792,"name":"bytes4","nodeType":"ElementaryTypeName","src":"819:6:60","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"818:20:60"},"returnParameters":{"id":46797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46796,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46798,"src":"862:4:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46795,"name":"bool","nodeType":"ElementaryTypeName","src":"862:4:60","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"861:6:60"},"scope":46799,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC165","contractDependencies":[],"contractKind":"interface","documentation":{"id":46790,"nodeType":"StructuredDocumentation","src":"142:280:60","text":" @dev Interface of the ERC-165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[ERC].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}."},"fullyImplemented":false,"linearizedBaseContracts":[46799],"name":"IERC165","nameLocation":"433:7:60","scope":46800,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"id":61,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","id":48421,"exportedSymbols":{"Math":[48420],"Panic":[44912],"SafeCast":[50185]},"nodeType":"SourceUnit","src":"103:32042:61","nodes":[{"id":46801,"nodeType":"PragmaDirective","src":"103:24:61","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":46803,"nodeType":"ImportDirective","src":"129:35:61","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Panic.sol","file":"../Panic.sol","nameLocation":"-1:-1:-1","scope":48421,"sourceUnit":44913,"symbolAliases":[{"foreign":{"id":46802,"name":"Panic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44912,"src":"137:5:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":46805,"nodeType":"ImportDirective","src":"165:40:61","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol","file":"./SafeCast.sol","nameLocation":"-1:-1:-1","scope":48421,"sourceUnit":50186,"symbolAliases":[{"foreign":{"id":46804,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"173:8:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":48420,"nodeType":"ContractDefinition","src":"281:31863:61","nodes":[{"id":46811,"nodeType":"EnumDefinition","src":"300:169:61","nodes":[],"canonicalName":"Math.Rounding","members":[{"id":46807,"name":"Floor","nameLocation":"324:5:61","nodeType":"EnumValue","src":"324:5:61"},{"id":46808,"name":"Ceil","nameLocation":"367:4:61","nodeType":"EnumValue","src":"367:4:61"},{"id":46809,"name":"Trunc","nameLocation":"409:5:61","nodeType":"EnumValue","src":"409:5:61"},{"id":46810,"name":"Expand","nameLocation":"439:6:61","nodeType":"EnumValue","src":"439:6:61"}],"name":"Rounding","nameLocation":"305:8:61"},{"id":46825,"nodeType":"FunctionDefinition","src":"643:200:61","nodes":[],"body":{"id":46824,"nodeType":"Block","src":"731:112:61","nodes":[],"statements":[{"AST":{"nativeSrc":"766:71:61","nodeType":"YulBlock","src":"766:71:61","statements":[{"nativeSrc":"780:16:61","nodeType":"YulAssignment","src":"780:16:61","value":{"arguments":[{"name":"a","nativeSrc":"791:1:61","nodeType":"YulIdentifier","src":"791:1:61"},{"name":"b","nativeSrc":"794:1:61","nodeType":"YulIdentifier","src":"794:1:61"}],"functionName":{"name":"add","nativeSrc":"787:3:61","nodeType":"YulIdentifier","src":"787:3:61"},"nativeSrc":"787:9:61","nodeType":"YulFunctionCall","src":"787:9:61"},"variableNames":[{"name":"low","nativeSrc":"780:3:61","nodeType":"YulIdentifier","src":"780:3:61"}]},{"nativeSrc":"809:18:61","nodeType":"YulAssignment","src":"809:18:61","value":{"arguments":[{"name":"low","nativeSrc":"820:3:61","nodeType":"YulIdentifier","src":"820:3:61"},{"name":"a","nativeSrc":"825:1:61","nodeType":"YulIdentifier","src":"825:1:61"}],"functionName":{"name":"lt","nativeSrc":"817:2:61","nodeType":"YulIdentifier","src":"817:2:61"},"nativeSrc":"817:10:61","nodeType":"YulFunctionCall","src":"817:10:61"},"variableNames":[{"name":"high","nativeSrc":"809:4:61","nodeType":"YulIdentifier","src":"809:4:61"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":46814,"isOffset":false,"isSlot":false,"src":"791:1:61","valueSize":1},{"declaration":46814,"isOffset":false,"isSlot":false,"src":"825:1:61","valueSize":1},{"declaration":46816,"isOffset":false,"isSlot":false,"src":"794:1:61","valueSize":1},{"declaration":46819,"isOffset":false,"isSlot":false,"src":"809:4:61","valueSize":1},{"declaration":46821,"isOffset":false,"isSlot":false,"src":"780:3:61","valueSize":1},{"declaration":46821,"isOffset":false,"isSlot":false,"src":"820:3:61","valueSize":1}],"flags":["memory-safe"],"id":46823,"nodeType":"InlineAssembly","src":"741:96:61"}]},"documentation":{"id":46812,"nodeType":"StructuredDocumentation","src":"475:163:61","text":" @dev Return the 512-bit addition of two uint256.\n The result is stored in two 256 variables such that sum = high * 2²⁵⁶ + low."},"implemented":true,"kind":"function","modifiers":[],"name":"add512","nameLocation":"652:6:61","parameters":{"id":46817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46814,"mutability":"mutable","name":"a","nameLocation":"667:1:61","nodeType":"VariableDeclaration","scope":46825,"src":"659:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46813,"name":"uint256","nodeType":"ElementaryTypeName","src":"659:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46816,"mutability":"mutable","name":"b","nameLocation":"678:1:61","nodeType":"VariableDeclaration","scope":46825,"src":"670:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46815,"name":"uint256","nodeType":"ElementaryTypeName","src":"670:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"658:22:61"},"returnParameters":{"id":46822,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46819,"mutability":"mutable","name":"high","nameLocation":"712:4:61","nodeType":"VariableDeclaration","scope":46825,"src":"704:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46818,"name":"uint256","nodeType":"ElementaryTypeName","src":"704:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46821,"mutability":"mutable","name":"low","nameLocation":"726:3:61","nodeType":"VariableDeclaration","scope":46825,"src":"718:11:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46820,"name":"uint256","nodeType":"ElementaryTypeName","src":"718:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"703:27:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46839,"nodeType":"FunctionDefinition","src":"1027:550:61","nodes":[],"body":{"id":46838,"nodeType":"Block","src":"1115:462:61","nodes":[],"statements":[{"AST":{"nativeSrc":"1437:134:61","nodeType":"YulBlock","src":"1437:134:61","statements":[{"nativeSrc":"1451:30:61","nodeType":"YulVariableDeclaration","src":"1451:30:61","value":{"arguments":[{"name":"a","nativeSrc":"1468:1:61","nodeType":"YulIdentifier","src":"1468:1:61"},{"name":"b","nativeSrc":"1471:1:61","nodeType":"YulIdentifier","src":"1471:1:61"},{"arguments":[{"kind":"number","nativeSrc":"1478:1:61","nodeType":"YulLiteral","src":"1478:1:61","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"1474:3:61","nodeType":"YulIdentifier","src":"1474:3:61"},"nativeSrc":"1474:6:61","nodeType":"YulFunctionCall","src":"1474:6:61"}],"functionName":{"name":"mulmod","nativeSrc":"1461:6:61","nodeType":"YulIdentifier","src":"1461:6:61"},"nativeSrc":"1461:20:61","nodeType":"YulFunctionCall","src":"1461:20:61"},"variables":[{"name":"mm","nativeSrc":"1455:2:61","nodeType":"YulTypedName","src":"1455:2:61","type":""}]},{"nativeSrc":"1494:16:61","nodeType":"YulAssignment","src":"1494:16:61","value":{"arguments":[{"name":"a","nativeSrc":"1505:1:61","nodeType":"YulIdentifier","src":"1505:1:61"},{"name":"b","nativeSrc":"1508:1:61","nodeType":"YulIdentifier","src":"1508:1:61"}],"functionName":{"name":"mul","nativeSrc":"1501:3:61","nodeType":"YulIdentifier","src":"1501:3:61"},"nativeSrc":"1501:9:61","nodeType":"YulFunctionCall","src":"1501:9:61"},"variableNames":[{"name":"low","nativeSrc":"1494:3:61","nodeType":"YulIdentifier","src":"1494:3:61"}]},{"nativeSrc":"1523:38:61","nodeType":"YulAssignment","src":"1523:38:61","value":{"arguments":[{"arguments":[{"name":"mm","nativeSrc":"1539:2:61","nodeType":"YulIdentifier","src":"1539:2:61"},{"name":"low","nativeSrc":"1543:3:61","nodeType":"YulIdentifier","src":"1543:3:61"}],"functionName":{"name":"sub","nativeSrc":"1535:3:61","nodeType":"YulIdentifier","src":"1535:3:61"},"nativeSrc":"1535:12:61","nodeType":"YulFunctionCall","src":"1535:12:61"},{"arguments":[{"name":"mm","nativeSrc":"1552:2:61","nodeType":"YulIdentifier","src":"1552:2:61"},{"name":"low","nativeSrc":"1556:3:61","nodeType":"YulIdentifier","src":"1556:3:61"}],"functionName":{"name":"lt","nativeSrc":"1549:2:61","nodeType":"YulIdentifier","src":"1549:2:61"},"nativeSrc":"1549:11:61","nodeType":"YulFunctionCall","src":"1549:11:61"}],"functionName":{"name":"sub","nativeSrc":"1531:3:61","nodeType":"YulIdentifier","src":"1531:3:61"},"nativeSrc":"1531:30:61","nodeType":"YulFunctionCall","src":"1531:30:61"},"variableNames":[{"name":"high","nativeSrc":"1523:4:61","nodeType":"YulIdentifier","src":"1523:4:61"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":46828,"isOffset":false,"isSlot":false,"src":"1468:1:61","valueSize":1},{"declaration":46828,"isOffset":false,"isSlot":false,"src":"1505:1:61","valueSize":1},{"declaration":46830,"isOffset":false,"isSlot":false,"src":"1471:1:61","valueSize":1},{"declaration":46830,"isOffset":false,"isSlot":false,"src":"1508:1:61","valueSize":1},{"declaration":46833,"isOffset":false,"isSlot":false,"src":"1523:4:61","valueSize":1},{"declaration":46835,"isOffset":false,"isSlot":false,"src":"1494:3:61","valueSize":1},{"declaration":46835,"isOffset":false,"isSlot":false,"src":"1543:3:61","valueSize":1},{"declaration":46835,"isOffset":false,"isSlot":false,"src":"1556:3:61","valueSize":1}],"flags":["memory-safe"],"id":46837,"nodeType":"InlineAssembly","src":"1412:159:61"}]},"documentation":{"id":46826,"nodeType":"StructuredDocumentation","src":"849:173:61","text":" @dev Return the 512-bit multiplication of two uint256.\n The result is stored in two 256 variables such that product = high * 2²⁵⁶ + low."},"implemented":true,"kind":"function","modifiers":[],"name":"mul512","nameLocation":"1036:6:61","parameters":{"id":46831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46828,"mutability":"mutable","name":"a","nameLocation":"1051:1:61","nodeType":"VariableDeclaration","scope":46839,"src":"1043:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46827,"name":"uint256","nodeType":"ElementaryTypeName","src":"1043:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46830,"mutability":"mutable","name":"b","nameLocation":"1062:1:61","nodeType":"VariableDeclaration","scope":46839,"src":"1054:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46829,"name":"uint256","nodeType":"ElementaryTypeName","src":"1054:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1042:22:61"},"returnParameters":{"id":46836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46833,"mutability":"mutable","name":"high","nameLocation":"1096:4:61","nodeType":"VariableDeclaration","scope":46839,"src":"1088:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46832,"name":"uint256","nodeType":"ElementaryTypeName","src":"1088:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46835,"mutability":"mutable","name":"low","nameLocation":"1110:3:61","nodeType":"VariableDeclaration","scope":46839,"src":"1102:11:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46834,"name":"uint256","nodeType":"ElementaryTypeName","src":"1102:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1087:27:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46874,"nodeType":"FunctionDefinition","src":"1693:240:61","nodes":[],"body":{"id":46873,"nodeType":"Block","src":"1784:149:61","nodes":[],"statements":[{"id":46872,"nodeType":"UncheckedBlock","src":"1794:133:61","statements":[{"assignments":[46852],"declarations":[{"constant":false,"id":46852,"mutability":"mutable","name":"c","nameLocation":"1826:1:61","nodeType":"VariableDeclaration","scope":46872,"src":"1818:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46851,"name":"uint256","nodeType":"ElementaryTypeName","src":"1818:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46856,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46853,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46842,"src":"1830:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":46854,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46844,"src":"1834:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1830:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1818:17:61"},{"expression":{"id":46861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46857,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46847,"src":"1849:7:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46858,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46852,"src":"1859:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":46859,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46842,"src":"1864:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1859:6:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1849:16:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46862,"nodeType":"ExpressionStatement","src":"1849:16:61"},{"expression":{"id":46870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46863,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46849,"src":"1879:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46864,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46852,"src":"1888:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"id":46867,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46847,"src":"1908:7:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46865,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"1892:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":46866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1901:6:61","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"1892:15:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":46868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1892:24:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1888:28:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1879:37:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46871,"nodeType":"ExpressionStatement","src":"1879:37:61"}]}]},"documentation":{"id":46840,"nodeType":"StructuredDocumentation","src":"1583:105:61","text":" @dev Returns the addition of two unsigned integers, with a success flag (no overflow)."},"implemented":true,"kind":"function","modifiers":[],"name":"tryAdd","nameLocation":"1702:6:61","parameters":{"id":46845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46842,"mutability":"mutable","name":"a","nameLocation":"1717:1:61","nodeType":"VariableDeclaration","scope":46874,"src":"1709:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46841,"name":"uint256","nodeType":"ElementaryTypeName","src":"1709:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46844,"mutability":"mutable","name":"b","nameLocation":"1728:1:61","nodeType":"VariableDeclaration","scope":46874,"src":"1720:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46843,"name":"uint256","nodeType":"ElementaryTypeName","src":"1720:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1708:22:61"},"returnParameters":{"id":46850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46847,"mutability":"mutable","name":"success","nameLocation":"1759:7:61","nodeType":"VariableDeclaration","scope":46874,"src":"1754:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46846,"name":"bool","nodeType":"ElementaryTypeName","src":"1754:4:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46849,"mutability":"mutable","name":"result","nameLocation":"1776:6:61","nodeType":"VariableDeclaration","scope":46874,"src":"1768:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46848,"name":"uint256","nodeType":"ElementaryTypeName","src":"1768:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1753:30:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46909,"nodeType":"FunctionDefinition","src":"2052:240:61","nodes":[],"body":{"id":46908,"nodeType":"Block","src":"2143:149:61","nodes":[],"statements":[{"id":46907,"nodeType":"UncheckedBlock","src":"2153:133:61","statements":[{"assignments":[46887],"declarations":[{"constant":false,"id":46887,"mutability":"mutable","name":"c","nameLocation":"2185:1:61","nodeType":"VariableDeclaration","scope":46907,"src":"2177:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46886,"name":"uint256","nodeType":"ElementaryTypeName","src":"2177:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46891,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46888,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46877,"src":"2189:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":46889,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46879,"src":"2193:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2189:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2177:17:61"},{"expression":{"id":46896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46892,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46882,"src":"2208:7:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46893,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46887,"src":"2218:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":46894,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46877,"src":"2223:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2218:6:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2208:16:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46897,"nodeType":"ExpressionStatement","src":"2208:16:61"},{"expression":{"id":46905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46898,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46884,"src":"2238:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46899,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46887,"src":"2247:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"id":46902,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46882,"src":"2267:7:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46900,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"2251:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":46901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2260:6:61","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"2251:15:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":46903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2251:24:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2247:28:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2238:37:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46906,"nodeType":"ExpressionStatement","src":"2238:37:61"}]}]},"documentation":{"id":46875,"nodeType":"StructuredDocumentation","src":"1939:108:61","text":" @dev Returns the subtraction of two unsigned integers, with a success flag (no overflow)."},"implemented":true,"kind":"function","modifiers":[],"name":"trySub","nameLocation":"2061:6:61","parameters":{"id":46880,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46877,"mutability":"mutable","name":"a","nameLocation":"2076:1:61","nodeType":"VariableDeclaration","scope":46909,"src":"2068:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46876,"name":"uint256","nodeType":"ElementaryTypeName","src":"2068:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46879,"mutability":"mutable","name":"b","nameLocation":"2087:1:61","nodeType":"VariableDeclaration","scope":46909,"src":"2079:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46878,"name":"uint256","nodeType":"ElementaryTypeName","src":"2079:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2067:22:61"},"returnParameters":{"id":46885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46882,"mutability":"mutable","name":"success","nameLocation":"2118:7:61","nodeType":"VariableDeclaration","scope":46909,"src":"2113:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46881,"name":"bool","nodeType":"ElementaryTypeName","src":"2113:4:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46884,"mutability":"mutable","name":"result","nameLocation":"2135:6:61","nodeType":"VariableDeclaration","scope":46909,"src":"2127:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46883,"name":"uint256","nodeType":"ElementaryTypeName","src":"2127:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2112:30:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46939,"nodeType":"FunctionDefinition","src":"2414:482:61","nodes":[],"body":{"id":46938,"nodeType":"Block","src":"2505:391:61","nodes":[],"statements":[{"id":46937,"nodeType":"UncheckedBlock","src":"2515:375:61","statements":[{"assignments":[46922],"declarations":[{"constant":false,"id":46922,"mutability":"mutable","name":"c","nameLocation":"2547:1:61","nodeType":"VariableDeclaration","scope":46937,"src":"2539:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46921,"name":"uint256","nodeType":"ElementaryTypeName","src":"2539:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46926,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46923,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46912,"src":"2551:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":46924,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46914,"src":"2555:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2551:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2539:17:61"},{"AST":{"nativeSrc":"2595:188:61","nodeType":"YulBlock","src":"2595:188:61","statements":[{"nativeSrc":"2727:42:61","nodeType":"YulAssignment","src":"2727:42:61","value":{"arguments":[{"arguments":[{"arguments":[{"name":"c","nativeSrc":"2748:1:61","nodeType":"YulIdentifier","src":"2748:1:61"},{"name":"a","nativeSrc":"2751:1:61","nodeType":"YulIdentifier","src":"2751:1:61"}],"functionName":{"name":"div","nativeSrc":"2744:3:61","nodeType":"YulIdentifier","src":"2744:3:61"},"nativeSrc":"2744:9:61","nodeType":"YulFunctionCall","src":"2744:9:61"},{"name":"b","nativeSrc":"2755:1:61","nodeType":"YulIdentifier","src":"2755:1:61"}],"functionName":{"name":"eq","nativeSrc":"2741:2:61","nodeType":"YulIdentifier","src":"2741:2:61"},"nativeSrc":"2741:16:61","nodeType":"YulFunctionCall","src":"2741:16:61"},{"arguments":[{"name":"a","nativeSrc":"2766:1:61","nodeType":"YulIdentifier","src":"2766:1:61"}],"functionName":{"name":"iszero","nativeSrc":"2759:6:61","nodeType":"YulIdentifier","src":"2759:6:61"},"nativeSrc":"2759:9:61","nodeType":"YulFunctionCall","src":"2759:9:61"}],"functionName":{"name":"or","nativeSrc":"2738:2:61","nodeType":"YulIdentifier","src":"2738:2:61"},"nativeSrc":"2738:31:61","nodeType":"YulFunctionCall","src":"2738:31:61"},"variableNames":[{"name":"success","nativeSrc":"2727:7:61","nodeType":"YulIdentifier","src":"2727:7:61"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":46912,"isOffset":false,"isSlot":false,"src":"2751:1:61","valueSize":1},{"declaration":46912,"isOffset":false,"isSlot":false,"src":"2766:1:61","valueSize":1},{"declaration":46914,"isOffset":false,"isSlot":false,"src":"2755:1:61","valueSize":1},{"declaration":46922,"isOffset":false,"isSlot":false,"src":"2748:1:61","valueSize":1},{"declaration":46917,"isOffset":false,"isSlot":false,"src":"2727:7:61","valueSize":1}],"flags":["memory-safe"],"id":46927,"nodeType":"InlineAssembly","src":"2570:213:61"},{"expression":{"id":46935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46928,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46919,"src":"2842:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46929,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46922,"src":"2851:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"id":46932,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46917,"src":"2871:7:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46930,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"2855:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":46931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2864:6:61","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"2855:15:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":46933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2855:24:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2851:28:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2842:37:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":46936,"nodeType":"ExpressionStatement","src":"2842:37:61"}]}]},"documentation":{"id":46910,"nodeType":"StructuredDocumentation","src":"2298:111:61","text":" @dev Returns the multiplication of two unsigned integers, with a success flag (no overflow)."},"implemented":true,"kind":"function","modifiers":[],"name":"tryMul","nameLocation":"2423:6:61","parameters":{"id":46915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46912,"mutability":"mutable","name":"a","nameLocation":"2438:1:61","nodeType":"VariableDeclaration","scope":46939,"src":"2430:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46911,"name":"uint256","nodeType":"ElementaryTypeName","src":"2430:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46914,"mutability":"mutable","name":"b","nameLocation":"2449:1:61","nodeType":"VariableDeclaration","scope":46939,"src":"2441:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46913,"name":"uint256","nodeType":"ElementaryTypeName","src":"2441:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2429:22:61"},"returnParameters":{"id":46920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46917,"mutability":"mutable","name":"success","nameLocation":"2480:7:61","nodeType":"VariableDeclaration","scope":46939,"src":"2475:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46916,"name":"bool","nodeType":"ElementaryTypeName","src":"2475:4:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46919,"mutability":"mutable","name":"result","nameLocation":"2497:6:61","nodeType":"VariableDeclaration","scope":46939,"src":"2489:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46918,"name":"uint256","nodeType":"ElementaryTypeName","src":"2489:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2474:30:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46960,"nodeType":"FunctionDefinition","src":"3020:322:61","nodes":[],"body":{"id":46959,"nodeType":"Block","src":"3111:231:61","nodes":[],"statements":[{"id":46958,"nodeType":"UncheckedBlock","src":"3121:215:61","statements":[{"expression":{"id":46955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46951,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46947,"src":"3145:7:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46952,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46944,"src":"3155:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":46953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3159:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3155:5:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3145:15:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46956,"nodeType":"ExpressionStatement","src":"3145:15:61"},{"AST":{"nativeSrc":"3199:127:61","nodeType":"YulBlock","src":"3199:127:61","statements":[{"nativeSrc":"3293:19:61","nodeType":"YulAssignment","src":"3293:19:61","value":{"arguments":[{"name":"a","nativeSrc":"3307:1:61","nodeType":"YulIdentifier","src":"3307:1:61"},{"name":"b","nativeSrc":"3310:1:61","nodeType":"YulIdentifier","src":"3310:1:61"}],"functionName":{"name":"div","nativeSrc":"3303:3:61","nodeType":"YulIdentifier","src":"3303:3:61"},"nativeSrc":"3303:9:61","nodeType":"YulFunctionCall","src":"3303:9:61"},"variableNames":[{"name":"result","nativeSrc":"3293:6:61","nodeType":"YulIdentifier","src":"3293:6:61"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":46942,"isOffset":false,"isSlot":false,"src":"3307:1:61","valueSize":1},{"declaration":46944,"isOffset":false,"isSlot":false,"src":"3310:1:61","valueSize":1},{"declaration":46949,"isOffset":false,"isSlot":false,"src":"3293:6:61","valueSize":1}],"flags":["memory-safe"],"id":46957,"nodeType":"InlineAssembly","src":"3174:152:61"}]}]},"documentation":{"id":46940,"nodeType":"StructuredDocumentation","src":"2902:113:61","text":" @dev Returns the division of two unsigned integers, with a success flag (no division by zero)."},"implemented":true,"kind":"function","modifiers":[],"name":"tryDiv","nameLocation":"3029:6:61","parameters":{"id":46945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46942,"mutability":"mutable","name":"a","nameLocation":"3044:1:61","nodeType":"VariableDeclaration","scope":46960,"src":"3036:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46941,"name":"uint256","nodeType":"ElementaryTypeName","src":"3036:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46944,"mutability":"mutable","name":"b","nameLocation":"3055:1:61","nodeType":"VariableDeclaration","scope":46960,"src":"3047:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46943,"name":"uint256","nodeType":"ElementaryTypeName","src":"3047:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3035:22:61"},"returnParameters":{"id":46950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46947,"mutability":"mutable","name":"success","nameLocation":"3086:7:61","nodeType":"VariableDeclaration","scope":46960,"src":"3081:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46946,"name":"bool","nodeType":"ElementaryTypeName","src":"3081:4:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46949,"mutability":"mutable","name":"result","nameLocation":"3103:6:61","nodeType":"VariableDeclaration","scope":46960,"src":"3095:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46948,"name":"uint256","nodeType":"ElementaryTypeName","src":"3095:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3080:30:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46981,"nodeType":"FunctionDefinition","src":"3476:322:61","nodes":[],"body":{"id":46980,"nodeType":"Block","src":"3567:231:61","nodes":[],"statements":[{"id":46979,"nodeType":"UncheckedBlock","src":"3577:215:61","statements":[{"expression":{"id":46976,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46972,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46968,"src":"3601:7:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46973,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46965,"src":"3611:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":46974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3615:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3611:5:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3601:15:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46977,"nodeType":"ExpressionStatement","src":"3601:15:61"},{"AST":{"nativeSrc":"3655:127:61","nodeType":"YulBlock","src":"3655:127:61","statements":[{"nativeSrc":"3749:19:61","nodeType":"YulAssignment","src":"3749:19:61","value":{"arguments":[{"name":"a","nativeSrc":"3763:1:61","nodeType":"YulIdentifier","src":"3763:1:61"},{"name":"b","nativeSrc":"3766:1:61","nodeType":"YulIdentifier","src":"3766:1:61"}],"functionName":{"name":"mod","nativeSrc":"3759:3:61","nodeType":"YulIdentifier","src":"3759:3:61"},"nativeSrc":"3759:9:61","nodeType":"YulFunctionCall","src":"3759:9:61"},"variableNames":[{"name":"result","nativeSrc":"3749:6:61","nodeType":"YulIdentifier","src":"3749:6:61"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":46963,"isOffset":false,"isSlot":false,"src":"3763:1:61","valueSize":1},{"declaration":46965,"isOffset":false,"isSlot":false,"src":"3766:1:61","valueSize":1},{"declaration":46970,"isOffset":false,"isSlot":false,"src":"3749:6:61","valueSize":1}],"flags":["memory-safe"],"id":46978,"nodeType":"InlineAssembly","src":"3630:152:61"}]}]},"documentation":{"id":46961,"nodeType":"StructuredDocumentation","src":"3348:123:61","text":" @dev Returns the remainder of dividing two unsigned integers, with a success flag (no division by zero)."},"implemented":true,"kind":"function","modifiers":[],"name":"tryMod","nameLocation":"3485:6:61","parameters":{"id":46966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46963,"mutability":"mutable","name":"a","nameLocation":"3500:1:61","nodeType":"VariableDeclaration","scope":46981,"src":"3492:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46962,"name":"uint256","nodeType":"ElementaryTypeName","src":"3492:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46965,"mutability":"mutable","name":"b","nameLocation":"3511:1:61","nodeType":"VariableDeclaration","scope":46981,"src":"3503:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46964,"name":"uint256","nodeType":"ElementaryTypeName","src":"3503:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3491:22:61"},"returnParameters":{"id":46971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46968,"mutability":"mutable","name":"success","nameLocation":"3542:7:61","nodeType":"VariableDeclaration","scope":46981,"src":"3537:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46967,"name":"bool","nodeType":"ElementaryTypeName","src":"3537:4:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46970,"mutability":"mutable","name":"result","nameLocation":"3559:6:61","nodeType":"VariableDeclaration","scope":46981,"src":"3551:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46969,"name":"uint256","nodeType":"ElementaryTypeName","src":"3551:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3536:30:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47011,"nodeType":"FunctionDefinition","src":"3912:199:61","nodes":[],"body":{"id":47010,"nodeType":"Block","src":"3989:122:61","nodes":[],"statements":[{"assignments":[46992,46994],"declarations":[{"constant":false,"id":46992,"mutability":"mutable","name":"success","nameLocation":"4005:7:61","nodeType":"VariableDeclaration","scope":47010,"src":"4000:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46991,"name":"bool","nodeType":"ElementaryTypeName","src":"4000:4:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46994,"mutability":"mutable","name":"result","nameLocation":"4022:6:61","nodeType":"VariableDeclaration","scope":47010,"src":"4014:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46993,"name":"uint256","nodeType":"ElementaryTypeName","src":"4014:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":46999,"initialValue":{"arguments":[{"id":46996,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46984,"src":"4039:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46997,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46986,"src":"4042:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46995,"name":"tryAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46874,"src":"4032:6:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (bool,uint256)"}},"id":46998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4032:12:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"3999:45:61"},{"expression":{"arguments":[{"id":47001,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46992,"src":"4069:7:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47002,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46994,"src":"4078:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"arguments":[{"id":47005,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4091:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":47004,"name":"uint256","nodeType":"ElementaryTypeName","src":"4091:7:61","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":47003,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4086:4:61","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4086:13:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":47007,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4100:3:61","memberName":"max","nodeType":"MemberAccess","src":"4086:17:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47000,"name":"ternary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47088,"src":"4061:7:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (bool,uint256,uint256) pure returns (uint256)"}},"id":47008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4061:43:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":46990,"id":47009,"nodeType":"Return","src":"4054:50:61"}]},"documentation":{"id":46982,"nodeType":"StructuredDocumentation","src":"3804:103:61","text":" @dev Unsigned saturating addition, bounds to `2²⁵⁶ - 1` instead of overflowing."},"implemented":true,"kind":"function","modifiers":[],"name":"saturatingAdd","nameLocation":"3921:13:61","parameters":{"id":46987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46984,"mutability":"mutable","name":"a","nameLocation":"3943:1:61","nodeType":"VariableDeclaration","scope":47011,"src":"3935:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46983,"name":"uint256","nodeType":"ElementaryTypeName","src":"3935:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46986,"mutability":"mutable","name":"b","nameLocation":"3954:1:61","nodeType":"VariableDeclaration","scope":47011,"src":"3946:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46985,"name":"uint256","nodeType":"ElementaryTypeName","src":"3946:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3934:22:61"},"returnParameters":{"id":46990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46989,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47011,"src":"3980:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46988,"name":"uint256","nodeType":"ElementaryTypeName","src":"3980:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3979:9:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47031,"nodeType":"FunctionDefinition","src":"4217:150:61","nodes":[],"body":{"id":47030,"nodeType":"Block","src":"4294:73:61","nodes":[],"statements":[{"assignments":[null,47022],"declarations":[null,{"constant":false,"id":47022,"mutability":"mutable","name":"result","nameLocation":"4315:6:61","nodeType":"VariableDeclaration","scope":47030,"src":"4307:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47021,"name":"uint256","nodeType":"ElementaryTypeName","src":"4307:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47027,"initialValue":{"arguments":[{"id":47024,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47014,"src":"4332:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47025,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47016,"src":"4335:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47023,"name":"trySub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46909,"src":"4325:6:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (bool,uint256)"}},"id":47026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4325:12:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"4304:33:61"},{"expression":{"id":47028,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47022,"src":"4354:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":47020,"id":47029,"nodeType":"Return","src":"4347:13:61"}]},"documentation":{"id":47012,"nodeType":"StructuredDocumentation","src":"4117:95:61","text":" @dev Unsigned saturating subtraction, bounds to zero instead of overflowing."},"implemented":true,"kind":"function","modifiers":[],"name":"saturatingSub","nameLocation":"4226:13:61","parameters":{"id":47017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47014,"mutability":"mutable","name":"a","nameLocation":"4248:1:61","nodeType":"VariableDeclaration","scope":47031,"src":"4240:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47013,"name":"uint256","nodeType":"ElementaryTypeName","src":"4240:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47016,"mutability":"mutable","name":"b","nameLocation":"4259:1:61","nodeType":"VariableDeclaration","scope":47031,"src":"4251:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47015,"name":"uint256","nodeType":"ElementaryTypeName","src":"4251:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4239:22:61"},"returnParameters":{"id":47020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47019,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47031,"src":"4285:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47018,"name":"uint256","nodeType":"ElementaryTypeName","src":"4285:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4284:9:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47061,"nodeType":"FunctionDefinition","src":"4487:199:61","nodes":[],"body":{"id":47060,"nodeType":"Block","src":"4564:122:61","nodes":[],"statements":[{"assignments":[47042,47044],"declarations":[{"constant":false,"id":47042,"mutability":"mutable","name":"success","nameLocation":"4580:7:61","nodeType":"VariableDeclaration","scope":47060,"src":"4575:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47041,"name":"bool","nodeType":"ElementaryTypeName","src":"4575:4:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47044,"mutability":"mutable","name":"result","nameLocation":"4597:6:61","nodeType":"VariableDeclaration","scope":47060,"src":"4589:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47043,"name":"uint256","nodeType":"ElementaryTypeName","src":"4589:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47049,"initialValue":{"arguments":[{"id":47046,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47034,"src":"4614:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47047,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47036,"src":"4617:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47045,"name":"tryMul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46939,"src":"4607:6:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (bool,uint256)"}},"id":47048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4607:12:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"4574:45:61"},{"expression":{"arguments":[{"id":47051,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47042,"src":"4644:7:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47052,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47044,"src":"4653:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"arguments":[{"id":47055,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4666:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":47054,"name":"uint256","nodeType":"ElementaryTypeName","src":"4666:7:61","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":47053,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4661:4:61","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":47056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4661:13:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":47057,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4675:3:61","memberName":"max","nodeType":"MemberAccess","src":"4661:17:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47050,"name":"ternary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47088,"src":"4636:7:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (bool,uint256,uint256) pure returns (uint256)"}},"id":47058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4636:43:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":47040,"id":47059,"nodeType":"Return","src":"4629:50:61"}]},"documentation":{"id":47032,"nodeType":"StructuredDocumentation","src":"4373:109:61","text":" @dev Unsigned saturating multiplication, bounds to `2²⁵⁶ - 1` instead of overflowing."},"implemented":true,"kind":"function","modifiers":[],"name":"saturatingMul","nameLocation":"4496:13:61","parameters":{"id":47037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47034,"mutability":"mutable","name":"a","nameLocation":"4518:1:61","nodeType":"VariableDeclaration","scope":47061,"src":"4510:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47033,"name":"uint256","nodeType":"ElementaryTypeName","src":"4510:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47036,"mutability":"mutable","name":"b","nameLocation":"4529:1:61","nodeType":"VariableDeclaration","scope":47061,"src":"4521:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47035,"name":"uint256","nodeType":"ElementaryTypeName","src":"4521:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4509:22:61"},"returnParameters":{"id":47040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47039,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47061,"src":"4555:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47038,"name":"uint256","nodeType":"ElementaryTypeName","src":"4555:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4554:9:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47088,"nodeType":"FunctionDefinition","src":"5071:294:61","nodes":[],"body":{"id":47087,"nodeType":"Block","src":"5158:207:61","nodes":[],"statements":[{"id":47086,"nodeType":"UncheckedBlock","src":"5168:191:61","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47073,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47068,"src":"5306:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47074,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47066,"src":"5312:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":47075,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47068,"src":"5316:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5312:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":47077,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5311:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"id":47080,"name":"condition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47064,"src":"5337:9:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":47078,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"5321:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":47079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5330:6:61","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"5321:15:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":47081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5321:26:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5311:36:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":47083,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5310:38:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5306:42:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":47072,"id":47085,"nodeType":"Return","src":"5299:49:61"}]}]},"documentation":{"id":47062,"nodeType":"StructuredDocumentation","src":"4692:374:61","text":" @dev Branchless ternary evaluation for `a ? b : c`. Gas costs are constant.\n IMPORTANT: This function may reduce bytecode size and consume less gas when used standalone.\n However, the compiler may optimize Solidity ternary operations (i.e. `a ? b : c`) to only compute\n one branch when needed, making this function more expensive."},"implemented":true,"kind":"function","modifiers":[],"name":"ternary","nameLocation":"5080:7:61","parameters":{"id":47069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47064,"mutability":"mutable","name":"condition","nameLocation":"5093:9:61","nodeType":"VariableDeclaration","scope":47088,"src":"5088:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47063,"name":"bool","nodeType":"ElementaryTypeName","src":"5088:4:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47066,"mutability":"mutable","name":"a","nameLocation":"5112:1:61","nodeType":"VariableDeclaration","scope":47088,"src":"5104:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47065,"name":"uint256","nodeType":"ElementaryTypeName","src":"5104:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47068,"mutability":"mutable","name":"b","nameLocation":"5123:1:61","nodeType":"VariableDeclaration","scope":47088,"src":"5115:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47067,"name":"uint256","nodeType":"ElementaryTypeName","src":"5115:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5087:38:61"},"returnParameters":{"id":47072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47071,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47088,"src":"5149:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47070,"name":"uint256","nodeType":"ElementaryTypeName","src":"5149:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5148:9:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47107,"nodeType":"FunctionDefinition","src":"5435:111:61","nodes":[],"body":{"id":47106,"nodeType":"Block","src":"5502:44:61","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47099,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47091,"src":"5527:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":47100,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47093,"src":"5531:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5527:5:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47102,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47091,"src":"5534:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47103,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47093,"src":"5537:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47098,"name":"ternary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47088,"src":"5519:7:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (bool,uint256,uint256) pure returns (uint256)"}},"id":47104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5519:20:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":47097,"id":47105,"nodeType":"Return","src":"5512:27:61"}]},"documentation":{"id":47089,"nodeType":"StructuredDocumentation","src":"5371:59:61","text":" @dev Returns the largest of two numbers."},"implemented":true,"kind":"function","modifiers":[],"name":"max","nameLocation":"5444:3:61","parameters":{"id":47094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47091,"mutability":"mutable","name":"a","nameLocation":"5456:1:61","nodeType":"VariableDeclaration","scope":47107,"src":"5448:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47090,"name":"uint256","nodeType":"ElementaryTypeName","src":"5448:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47093,"mutability":"mutable","name":"b","nameLocation":"5467:1:61","nodeType":"VariableDeclaration","scope":47107,"src":"5459:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47092,"name":"uint256","nodeType":"ElementaryTypeName","src":"5459:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5447:22:61"},"returnParameters":{"id":47097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47096,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47107,"src":"5493:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47095,"name":"uint256","nodeType":"ElementaryTypeName","src":"5493:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5492:9:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47126,"nodeType":"FunctionDefinition","src":"5617:111:61","nodes":[],"body":{"id":47125,"nodeType":"Block","src":"5684:44:61","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47118,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47110,"src":"5709:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":47119,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47112,"src":"5713:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5709:5:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47121,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47110,"src":"5716:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47122,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47112,"src":"5719:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47117,"name":"ternary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47088,"src":"5701:7:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (bool,uint256,uint256) pure returns (uint256)"}},"id":47123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5701:20:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":47116,"id":47124,"nodeType":"Return","src":"5694:27:61"}]},"documentation":{"id":47108,"nodeType":"StructuredDocumentation","src":"5552:60:61","text":" @dev Returns the smallest of two numbers."},"implemented":true,"kind":"function","modifiers":[],"name":"min","nameLocation":"5626:3:61","parameters":{"id":47113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47110,"mutability":"mutable","name":"a","nameLocation":"5638:1:61","nodeType":"VariableDeclaration","scope":47126,"src":"5630:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47109,"name":"uint256","nodeType":"ElementaryTypeName","src":"5630:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47112,"mutability":"mutable","name":"b","nameLocation":"5649:1:61","nodeType":"VariableDeclaration","scope":47126,"src":"5641:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47111,"name":"uint256","nodeType":"ElementaryTypeName","src":"5641:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5629:22:61"},"returnParameters":{"id":47116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47115,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47126,"src":"5675:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47114,"name":"uint256","nodeType":"ElementaryTypeName","src":"5675:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5674:9:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47149,"nodeType":"FunctionDefinition","src":"5841:153:61","nodes":[],"body":{"id":47148,"nodeType":"Block","src":"5912:82:61","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47136,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47129,"src":"5967:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":47137,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47131,"src":"5971:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5967:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":47139,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5966:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47140,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47129,"src":"5977:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":47141,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47131,"src":"5981:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5977:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":47143,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5976:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":47144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5986:1:61","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"5976:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5966:21:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":47135,"id":47147,"nodeType":"Return","src":"5959:28:61"}]},"documentation":{"id":47127,"nodeType":"StructuredDocumentation","src":"5734:102:61","text":" @dev Returns the average of two numbers. The result is rounded towards\n zero."},"implemented":true,"kind":"function","modifiers":[],"name":"average","nameLocation":"5850:7:61","parameters":{"id":47132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47129,"mutability":"mutable","name":"a","nameLocation":"5866:1:61","nodeType":"VariableDeclaration","scope":47149,"src":"5858:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47128,"name":"uint256","nodeType":"ElementaryTypeName","src":"5858:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47131,"mutability":"mutable","name":"b","nameLocation":"5877:1:61","nodeType":"VariableDeclaration","scope":47149,"src":"5869:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47130,"name":"uint256","nodeType":"ElementaryTypeName","src":"5869:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5857:22:61"},"returnParameters":{"id":47135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47134,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47149,"src":"5903:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47133,"name":"uint256","nodeType":"ElementaryTypeName","src":"5903:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5902:9:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47190,"nodeType":"FunctionDefinition","src":"6215:704:61","nodes":[],"body":{"id":47189,"nodeType":"Block","src":"6286:633:61","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47159,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47154,"src":"6300:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":47160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6305:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6300:6:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47170,"nodeType":"IfStatement","src":"6296:150:61","trueBody":{"id":47169,"nodeType":"Block","src":"6308:138:61","statements":[{"expression":{"arguments":[{"expression":{"id":47165,"name":"Panic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44912,"src":"6412:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Panic_$44912_$","typeString":"type(library Panic)"}},"id":47166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6418:16:61","memberName":"DIVISION_BY_ZERO","nodeType":"MemberAccess","referencedDeclaration":44879,"src":"6412:22:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":47162,"name":"Panic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44912,"src":"6400:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Panic_$44912_$","typeString":"type(library Panic)"}},"id":47164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6406:5:61","memberName":"panic","nodeType":"MemberAccess","referencedDeclaration":44911,"src":"6400:11:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":47167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6400:35:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47168,"nodeType":"ExpressionStatement","src":"6400:35:61"}]}},{"id":47188,"nodeType":"UncheckedBlock","src":"6829:84:61","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47173,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47152,"src":"6876:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":47174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6880:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6876:5:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":47171,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"6860:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":47172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6869:6:61","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"6860:15:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":47176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6860:22:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47177,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47152,"src":"6887:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":47178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6891:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6887:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":47180,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6886:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":47181,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47154,"src":"6896:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6886:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":47183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6900:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6886:15:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":47185,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6885:17:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6860:42:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":47158,"id":47187,"nodeType":"Return","src":"6853:49:61"}]}]},"documentation":{"id":47150,"nodeType":"StructuredDocumentation","src":"6000:210:61","text":" @dev Returns the ceiling of the division of two numbers.\n This differs from standard division with `/` in that it rounds towards infinity instead\n of rounding towards zero."},"implemented":true,"kind":"function","modifiers":[],"name":"ceilDiv","nameLocation":"6224:7:61","parameters":{"id":47155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47152,"mutability":"mutable","name":"a","nameLocation":"6240:1:61","nodeType":"VariableDeclaration","scope":47190,"src":"6232:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47151,"name":"uint256","nodeType":"ElementaryTypeName","src":"6232:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47154,"mutability":"mutable","name":"b","nameLocation":"6251:1:61","nodeType":"VariableDeclaration","scope":47190,"src":"6243:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47153,"name":"uint256","nodeType":"ElementaryTypeName","src":"6243:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6231:22:61"},"returnParameters":{"id":47158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47157,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47190,"src":"6277:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47156,"name":"uint256","nodeType":"ElementaryTypeName","src":"6277:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6276:9:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47326,"nodeType":"FunctionDefinition","src":"7242:3683:61","nodes":[],"body":{"id":47325,"nodeType":"Block","src":"7340:3585:61","nodes":[],"statements":[{"id":47324,"nodeType":"UncheckedBlock","src":"7350:3569:61","statements":[{"assignments":[47203,47205],"declarations":[{"constant":false,"id":47203,"mutability":"mutable","name":"high","nameLocation":"7383:4:61","nodeType":"VariableDeclaration","scope":47324,"src":"7375:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47202,"name":"uint256","nodeType":"ElementaryTypeName","src":"7375:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47205,"mutability":"mutable","name":"low","nameLocation":"7397:3:61","nodeType":"VariableDeclaration","scope":47324,"src":"7389:11:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47204,"name":"uint256","nodeType":"ElementaryTypeName","src":"7389:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47210,"initialValue":{"arguments":[{"id":47207,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47193,"src":"7411:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47208,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47195,"src":"7414:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47206,"name":"mul512","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"7404:6:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256,uint256)"}},"id":47209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7404:12:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"7374:42:61"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47211,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47203,"src":"7498:4:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":47212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7506:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7498:9:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47219,"nodeType":"IfStatement","src":"7494:365:61","trueBody":{"id":47218,"nodeType":"Block","src":"7509:350:61","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47214,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47205,"src":"7827:3:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":47215,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47197,"src":"7833:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7827:17:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":47201,"id":47217,"nodeType":"Return","src":"7820:24:61"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47220,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47197,"src":"7969:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":47221,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47203,"src":"7984:4:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7969:19:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47238,"nodeType":"IfStatement","src":"7965:142:61","trueBody":{"id":47237,"nodeType":"Block","src":"7990:117:61","statements":[{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47227,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47197,"src":"8028:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":47228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8043:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8028:16:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"id":47230,"name":"Panic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44912,"src":"8046:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Panic_$44912_$","typeString":"type(library Panic)"}},"id":47231,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8052:16:61","memberName":"DIVISION_BY_ZERO","nodeType":"MemberAccess","referencedDeclaration":44879,"src":"8046:22:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":47232,"name":"Panic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44912,"src":"8070:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Panic_$44912_$","typeString":"type(library Panic)"}},"id":47233,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8076:14:61","memberName":"UNDER_OVERFLOW","nodeType":"MemberAccess","referencedDeclaration":44875,"src":"8070:20:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47226,"name":"ternary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47088,"src":"8020:7:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (bool,uint256,uint256) pure returns (uint256)"}},"id":47234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8020:71:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":47223,"name":"Panic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44912,"src":"8008:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Panic_$44912_$","typeString":"type(library Panic)"}},"id":47225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8014:5:61","memberName":"panic","nodeType":"MemberAccess","referencedDeclaration":44911,"src":"8008:11:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":47235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8008:84:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47236,"nodeType":"ExpressionStatement","src":"8008:84:61"}]}},{"assignments":[47240],"declarations":[{"constant":false,"id":47240,"mutability":"mutable","name":"remainder","nameLocation":"8367:9:61","nodeType":"VariableDeclaration","scope":47324,"src":"8359:17:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47239,"name":"uint256","nodeType":"ElementaryTypeName","src":"8359:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47241,"nodeType":"VariableDeclarationStatement","src":"8359:17:61"},{"AST":{"nativeSrc":"8415:283:61","nodeType":"YulBlock","src":"8415:283:61","statements":[{"nativeSrc":"8484:38:61","nodeType":"YulAssignment","src":"8484:38:61","value":{"arguments":[{"name":"x","nativeSrc":"8504:1:61","nodeType":"YulIdentifier","src":"8504:1:61"},{"name":"y","nativeSrc":"8507:1:61","nodeType":"YulIdentifier","src":"8507:1:61"},{"name":"denominator","nativeSrc":"8510:11:61","nodeType":"YulIdentifier","src":"8510:11:61"}],"functionName":{"name":"mulmod","nativeSrc":"8497:6:61","nodeType":"YulIdentifier","src":"8497:6:61"},"nativeSrc":"8497:25:61","nodeType":"YulFunctionCall","src":"8497:25:61"},"variableNames":[{"name":"remainder","nativeSrc":"8484:9:61","nodeType":"YulIdentifier","src":"8484:9:61"}]},{"nativeSrc":"8604:37:61","nodeType":"YulAssignment","src":"8604:37:61","value":{"arguments":[{"name":"high","nativeSrc":"8616:4:61","nodeType":"YulIdentifier","src":"8616:4:61"},{"arguments":[{"name":"remainder","nativeSrc":"8625:9:61","nodeType":"YulIdentifier","src":"8625:9:61"},{"name":"low","nativeSrc":"8636:3:61","nodeType":"YulIdentifier","src":"8636:3:61"}],"functionName":{"name":"gt","nativeSrc":"8622:2:61","nodeType":"YulIdentifier","src":"8622:2:61"},"nativeSrc":"8622:18:61","nodeType":"YulFunctionCall","src":"8622:18:61"}],"functionName":{"name":"sub","nativeSrc":"8612:3:61","nodeType":"YulIdentifier","src":"8612:3:61"},"nativeSrc":"8612:29:61","nodeType":"YulFunctionCall","src":"8612:29:61"},"variableNames":[{"name":"high","nativeSrc":"8604:4:61","nodeType":"YulIdentifier","src":"8604:4:61"}]},{"nativeSrc":"8658:26:61","nodeType":"YulAssignment","src":"8658:26:61","value":{"arguments":[{"name":"low","nativeSrc":"8669:3:61","nodeType":"YulIdentifier","src":"8669:3:61"},{"name":"remainder","nativeSrc":"8674:9:61","nodeType":"YulIdentifier","src":"8674:9:61"}],"functionName":{"name":"sub","nativeSrc":"8665:3:61","nodeType":"YulIdentifier","src":"8665:3:61"},"nativeSrc":"8665:19:61","nodeType":"YulFunctionCall","src":"8665:19:61"},"variableNames":[{"name":"low","nativeSrc":"8658:3:61","nodeType":"YulIdentifier","src":"8658:3:61"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":47197,"isOffset":false,"isSlot":false,"src":"8510:11:61","valueSize":1},{"declaration":47203,"isOffset":false,"isSlot":false,"src":"8604:4:61","valueSize":1},{"declaration":47203,"isOffset":false,"isSlot":false,"src":"8616:4:61","valueSize":1},{"declaration":47205,"isOffset":false,"isSlot":false,"src":"8636:3:61","valueSize":1},{"declaration":47205,"isOffset":false,"isSlot":false,"src":"8658:3:61","valueSize":1},{"declaration":47205,"isOffset":false,"isSlot":false,"src":"8669:3:61","valueSize":1},{"declaration":47240,"isOffset":false,"isSlot":false,"src":"8484:9:61","valueSize":1},{"declaration":47240,"isOffset":false,"isSlot":false,"src":"8625:9:61","valueSize":1},{"declaration":47240,"isOffset":false,"isSlot":false,"src":"8674:9:61","valueSize":1},{"declaration":47193,"isOffset":false,"isSlot":false,"src":"8504:1:61","valueSize":1},{"declaration":47195,"isOffset":false,"isSlot":false,"src":"8507:1:61","valueSize":1}],"flags":["memory-safe"],"id":47242,"nodeType":"InlineAssembly","src":"8390:308:61"},{"assignments":[47244],"declarations":[{"constant":false,"id":47244,"mutability":"mutable","name":"twos","nameLocation":"8910:4:61","nodeType":"VariableDeclaration","scope":47324,"src":"8902:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47243,"name":"uint256","nodeType":"ElementaryTypeName","src":"8902:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47251,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47245,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47197,"src":"8917:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"30","id":47246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8932:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":47247,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47197,"src":"8936:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8932:15:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":47249,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8931:17:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8917:31:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8902:46:61"},{"AST":{"nativeSrc":"8987:359:61","nodeType":"YulBlock","src":"8987:359:61","statements":[{"nativeSrc":"9052:37:61","nodeType":"YulAssignment","src":"9052:37:61","value":{"arguments":[{"name":"denominator","nativeSrc":"9071:11:61","nodeType":"YulIdentifier","src":"9071:11:61"},{"name":"twos","nativeSrc":"9084:4:61","nodeType":"YulIdentifier","src":"9084:4:61"}],"functionName":{"name":"div","nativeSrc":"9067:3:61","nodeType":"YulIdentifier","src":"9067:3:61"},"nativeSrc":"9067:22:61","nodeType":"YulFunctionCall","src":"9067:22:61"},"variableNames":[{"name":"denominator","nativeSrc":"9052:11:61","nodeType":"YulIdentifier","src":"9052:11:61"}]},{"nativeSrc":"9153:21:61","nodeType":"YulAssignment","src":"9153:21:61","value":{"arguments":[{"name":"low","nativeSrc":"9164:3:61","nodeType":"YulIdentifier","src":"9164:3:61"},{"name":"twos","nativeSrc":"9169:4:61","nodeType":"YulIdentifier","src":"9169:4:61"}],"functionName":{"name":"div","nativeSrc":"9160:3:61","nodeType":"YulIdentifier","src":"9160:3:61"},"nativeSrc":"9160:14:61","nodeType":"YulFunctionCall","src":"9160:14:61"},"variableNames":[{"name":"low","nativeSrc":"9153:3:61","nodeType":"YulIdentifier","src":"9153:3:61"}]},{"nativeSrc":"9293:39:61","nodeType":"YulAssignment","src":"9293:39:61","value":{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"9313:1:61","nodeType":"YulLiteral","src":"9313:1:61","type":"","value":"0"},{"name":"twos","nativeSrc":"9316:4:61","nodeType":"YulIdentifier","src":"9316:4:61"}],"functionName":{"name":"sub","nativeSrc":"9309:3:61","nodeType":"YulIdentifier","src":"9309:3:61"},"nativeSrc":"9309:12:61","nodeType":"YulFunctionCall","src":"9309:12:61"},{"name":"twos","nativeSrc":"9323:4:61","nodeType":"YulIdentifier","src":"9323:4:61"}],"functionName":{"name":"div","nativeSrc":"9305:3:61","nodeType":"YulIdentifier","src":"9305:3:61"},"nativeSrc":"9305:23:61","nodeType":"YulFunctionCall","src":"9305:23:61"},{"kind":"number","nativeSrc":"9330:1:61","nodeType":"YulLiteral","src":"9330:1:61","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"9301:3:61","nodeType":"YulIdentifier","src":"9301:3:61"},"nativeSrc":"9301:31:61","nodeType":"YulFunctionCall","src":"9301:31:61"},"variableNames":[{"name":"twos","nativeSrc":"9293:4:61","nodeType":"YulIdentifier","src":"9293:4:61"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":47197,"isOffset":false,"isSlot":false,"src":"9052:11:61","valueSize":1},{"declaration":47197,"isOffset":false,"isSlot":false,"src":"9071:11:61","valueSize":1},{"declaration":47205,"isOffset":false,"isSlot":false,"src":"9153:3:61","valueSize":1},{"declaration":47205,"isOffset":false,"isSlot":false,"src":"9164:3:61","valueSize":1},{"declaration":47244,"isOffset":false,"isSlot":false,"src":"9084:4:61","valueSize":1},{"declaration":47244,"isOffset":false,"isSlot":false,"src":"9169:4:61","valueSize":1},{"declaration":47244,"isOffset":false,"isSlot":false,"src":"9293:4:61","valueSize":1},{"declaration":47244,"isOffset":false,"isSlot":false,"src":"9316:4:61","valueSize":1},{"declaration":47244,"isOffset":false,"isSlot":false,"src":"9323:4:61","valueSize":1}],"flags":["memory-safe"],"id":47252,"nodeType":"InlineAssembly","src":"8962:384:61"},{"expression":{"id":47257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47253,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47205,"src":"9409:3:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47254,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47203,"src":"9416:4:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":47255,"name":"twos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47244,"src":"9423:4:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9416:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9409:18:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47258,"nodeType":"ExpressionStatement","src":"9409:18:61"},{"assignments":[47260],"declarations":[{"constant":false,"id":47260,"mutability":"mutable","name":"inverse","nameLocation":"9770:7:61","nodeType":"VariableDeclaration","scope":47324,"src":"9762:15:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47259,"name":"uint256","nodeType":"ElementaryTypeName","src":"9762:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47267,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"33","id":47261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9781:1:61","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":47262,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47197,"src":"9785:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9781:15:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":47264,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9780:17:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"hexValue":"32","id":47265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9800:1:61","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"9780:21:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9762:39:61"},{"expression":{"id":47274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47268,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47260,"src":"10018:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":47269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10029:1:61","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47270,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47197,"src":"10033:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":47271,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47260,"src":"10047:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10033:21:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10029:25:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10018:36:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47275,"nodeType":"ExpressionStatement","src":"10018:36:61"},{"expression":{"id":47282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47276,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47260,"src":"10088:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":47277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10099:1:61","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47278,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47197,"src":"10103:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":47279,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47260,"src":"10117:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10103:21:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10099:25:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10088:36:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47283,"nodeType":"ExpressionStatement","src":"10088:36:61"},{"expression":{"id":47290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47284,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47260,"src":"10160:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":47285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10171:1:61","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47286,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47197,"src":"10175:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":47287,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47260,"src":"10189:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10175:21:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10171:25:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10160:36:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47291,"nodeType":"ExpressionStatement","src":"10160:36:61"},{"expression":{"id":47298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47292,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47260,"src":"10231:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":47293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10242:1:61","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47294,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47197,"src":"10246:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":47295,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47260,"src":"10260:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10246:21:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10242:25:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10231:36:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47299,"nodeType":"ExpressionStatement","src":"10231:36:61"},{"expression":{"id":47306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47300,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47260,"src":"10304:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":47301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10315:1:61","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47302,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47197,"src":"10319:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":47303,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47260,"src":"10333:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10319:21:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10315:25:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10304:36:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47307,"nodeType":"ExpressionStatement","src":"10304:36:61"},{"expression":{"id":47314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47308,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47260,"src":"10378:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":47309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10389:1:61","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47310,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47197,"src":"10393:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":47311,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47260,"src":"10407:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10393:21:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10389:25:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10378:36:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47315,"nodeType":"ExpressionStatement","src":"10378:36:61"},{"expression":{"id":47320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47316,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47200,"src":"10859:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47317,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47205,"src":"10868:3:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":47318,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47260,"src":"10874:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10868:13:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10859:22:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47321,"nodeType":"ExpressionStatement","src":"10859:22:61"},{"expression":{"id":47322,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47200,"src":"10902:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":47201,"id":47323,"nodeType":"Return","src":"10895:13:61"}]}]},"documentation":{"id":47191,"nodeType":"StructuredDocumentation","src":"6925:312:61","text":" @dev Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or\n denominator == 0.\n Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv) with further edits by\n Uniswap Labs also under MIT license."},"implemented":true,"kind":"function","modifiers":[],"name":"mulDiv","nameLocation":"7251:6:61","parameters":{"id":47198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47193,"mutability":"mutable","name":"x","nameLocation":"7266:1:61","nodeType":"VariableDeclaration","scope":47326,"src":"7258:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47192,"name":"uint256","nodeType":"ElementaryTypeName","src":"7258:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47195,"mutability":"mutable","name":"y","nameLocation":"7277:1:61","nodeType":"VariableDeclaration","scope":47326,"src":"7269:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47194,"name":"uint256","nodeType":"ElementaryTypeName","src":"7269:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47197,"mutability":"mutable","name":"denominator","nameLocation":"7288:11:61","nodeType":"VariableDeclaration","scope":47326,"src":"7280:19:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47196,"name":"uint256","nodeType":"ElementaryTypeName","src":"7280:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7257:43:61"},"returnParameters":{"id":47201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47200,"mutability":"mutable","name":"result","nameLocation":"7332:6:61","nodeType":"VariableDeclaration","scope":47326,"src":"7324:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47199,"name":"uint256","nodeType":"ElementaryTypeName","src":"7324:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7323:16:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47363,"nodeType":"FunctionDefinition","src":"11054:238:61","nodes":[],"body":{"id":47362,"nodeType":"Block","src":"11164:128:61","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":47342,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47329,"src":"11188:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47343,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47331,"src":"11191:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47344,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47333,"src":"11194:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47341,"name":"mulDiv","nodeType":"Identifier","overloadedDeclarations":[47326,47363],"referencedDeclaration":47326,"src":"11181:6:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":47345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11181:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":47349,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47336,"src":"11242:8:61","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"}],"id":47348,"name":"unsignedRoundsUp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48419,"src":"11225:16:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_Rounding_$46811_$returns$_t_bool_$","typeString":"function (enum Math.Rounding) pure returns (bool)"}},"id":47350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11225:26:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":47352,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47329,"src":"11262:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47353,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47331,"src":"11265:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47354,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47333,"src":"11268:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47351,"name":"mulmod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-16,"src":"11255:6:61","typeDescriptions":{"typeIdentifier":"t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":47355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11255:25:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":47356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11283:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11255:29:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11225:59:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":47346,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"11209:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":47347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11218:6:61","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"11209:15:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":47359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11209:76:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11181:104:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":47340,"id":47361,"nodeType":"Return","src":"11174:111:61"}]},"documentation":{"id":47327,"nodeType":"StructuredDocumentation","src":"10931:118:61","text":" @dev Calculates x * y / denominator with full precision, following the selected rounding direction."},"implemented":true,"kind":"function","modifiers":[],"name":"mulDiv","nameLocation":"11063:6:61","parameters":{"id":47337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47329,"mutability":"mutable","name":"x","nameLocation":"11078:1:61","nodeType":"VariableDeclaration","scope":47363,"src":"11070:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47328,"name":"uint256","nodeType":"ElementaryTypeName","src":"11070:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47331,"mutability":"mutable","name":"y","nameLocation":"11089:1:61","nodeType":"VariableDeclaration","scope":47363,"src":"11081:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47330,"name":"uint256","nodeType":"ElementaryTypeName","src":"11081:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47333,"mutability":"mutable","name":"denominator","nameLocation":"11100:11:61","nodeType":"VariableDeclaration","scope":47363,"src":"11092:19:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47332,"name":"uint256","nodeType":"ElementaryTypeName","src":"11092:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47336,"mutability":"mutable","name":"rounding","nameLocation":"11122:8:61","nodeType":"VariableDeclaration","scope":47363,"src":"11113:17:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"},"typeName":{"id":47335,"nodeType":"UserDefinedTypeName","pathNode":{"id":47334,"name":"Rounding","nameLocations":["11113:8:61"],"nodeType":"IdentifierPath","referencedDeclaration":46811,"src":"11113:8:61"},"referencedDeclaration":46811,"src":"11113:8:61","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"11069:62:61"},"returnParameters":{"id":47340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47339,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47363,"src":"11155:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47338,"name":"uint256","nodeType":"ElementaryTypeName","src":"11155:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11154:9:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47413,"nodeType":"FunctionDefinition","src":"11414:331:61","nodes":[],"body":{"id":47412,"nodeType":"Block","src":"11500:245:61","nodes":[],"statements":[{"id":47411,"nodeType":"UncheckedBlock","src":"11510:229:61","statements":[{"assignments":[47376,47378],"declarations":[{"constant":false,"id":47376,"mutability":"mutable","name":"high","nameLocation":"11543:4:61","nodeType":"VariableDeclaration","scope":47411,"src":"11535:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47375,"name":"uint256","nodeType":"ElementaryTypeName","src":"11535:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47378,"mutability":"mutable","name":"low","nameLocation":"11557:3:61","nodeType":"VariableDeclaration","scope":47411,"src":"11549:11:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47377,"name":"uint256","nodeType":"ElementaryTypeName","src":"11549:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47383,"initialValue":{"arguments":[{"id":47380,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47366,"src":"11571:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47381,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47368,"src":"11574:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47379,"name":"mul512","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46839,"src":"11564:6:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256,uint256)"}},"id":47382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11564:12:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"11534:42:61"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47384,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47376,"src":"11594:4:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11602:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":47386,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47370,"src":"11607:1:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11602:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11594:14:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47397,"nodeType":"IfStatement","src":"11590:86:61","trueBody":{"id":47396,"nodeType":"Block","src":"11610:66:61","statements":[{"expression":{"arguments":[{"expression":{"id":47392,"name":"Panic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44912,"src":"11640:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Panic_$44912_$","typeString":"type(library Panic)"}},"id":47393,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11646:14:61","memberName":"UNDER_OVERFLOW","nodeType":"MemberAccess","referencedDeclaration":44875,"src":"11640:20:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":47389,"name":"Panic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44912,"src":"11628:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Panic_$44912_$","typeString":"type(library Panic)"}},"id":47391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11634:5:61","memberName":"panic","nodeType":"MemberAccess","referencedDeclaration":44911,"src":"11628:11:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":47394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11628:33:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47395,"nodeType":"ExpressionStatement","src":"11628:33:61"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47398,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47376,"src":"11697:4:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint16","typeString":"uint16"},"id":47401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"323536","id":47399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11706:3:61","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":47400,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47370,"src":"11712:1:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11706:7:61","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}}],"id":47402,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11705:9:61","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"src":"11697:17:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":47404,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11696:19:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47405,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47378,"src":"11719:3:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":47406,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47370,"src":"11726:1:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11719:8:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":47408,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11718:10:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11696:32:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":47374,"id":47410,"nodeType":"Return","src":"11689:39:61"}]}]},"documentation":{"id":47364,"nodeType":"StructuredDocumentation","src":"11298:111:61","text":" @dev Calculates floor(x * y >> n) with full precision. Throws if result overflows a uint256."},"implemented":true,"kind":"function","modifiers":[],"name":"mulShr","nameLocation":"11423:6:61","parameters":{"id":47371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47366,"mutability":"mutable","name":"x","nameLocation":"11438:1:61","nodeType":"VariableDeclaration","scope":47413,"src":"11430:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47365,"name":"uint256","nodeType":"ElementaryTypeName","src":"11430:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47368,"mutability":"mutable","name":"y","nameLocation":"11449:1:61","nodeType":"VariableDeclaration","scope":47413,"src":"11441:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47367,"name":"uint256","nodeType":"ElementaryTypeName","src":"11441:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47370,"mutability":"mutable","name":"n","nameLocation":"11458:1:61","nodeType":"VariableDeclaration","scope":47413,"src":"11452:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":47369,"name":"uint8","nodeType":"ElementaryTypeName","src":"11452:5:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"11429:31:61"},"returnParameters":{"id":47374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47373,"mutability":"mutable","name":"result","nameLocation":"11492:6:61","nodeType":"VariableDeclaration","scope":47413,"src":"11484:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47372,"name":"uint256","nodeType":"ElementaryTypeName","src":"11484:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11483:16:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47452,"nodeType":"FunctionDefinition","src":"11865:211:61","nodes":[],"body":{"id":47451,"nodeType":"Block","src":"11963:113:61","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":47429,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47416,"src":"11987:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47430,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47418,"src":"11990:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47431,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47420,"src":"11993:1:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":47428,"name":"mulShr","nodeType":"Identifier","overloadedDeclarations":[47413,47452],"referencedDeclaration":47413,"src":"11980:6:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint8_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint8) pure returns (uint256)"}},"id":47432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11980:15:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":47436,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47423,"src":"12031:8:61","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"}],"id":47435,"name":"unsignedRoundsUp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48419,"src":"12014:16:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_Rounding_$46811_$returns$_t_bool_$","typeString":"function (enum Math.Rounding) pure returns (bool)"}},"id":47437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12014:26:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":47439,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47416,"src":"12051:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47440,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47418,"src":"12054:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12057:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":47442,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47420,"src":"12062:1:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"12057:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47438,"name":"mulmod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-16,"src":"12044:6:61","typeDescriptions":{"typeIdentifier":"t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":47444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12044:20:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":47445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12067:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12044:24:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12014:54:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":47433,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"11998:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":47434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12007:6:61","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"11998:15:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":47448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11998:71:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11980:89:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":47427,"id":47450,"nodeType":"Return","src":"11973:96:61"}]},"documentation":{"id":47414,"nodeType":"StructuredDocumentation","src":"11751:109:61","text":" @dev Calculates x * y >> n with full precision, following the selected rounding direction."},"implemented":true,"kind":"function","modifiers":[],"name":"mulShr","nameLocation":"11874:6:61","parameters":{"id":47424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47416,"mutability":"mutable","name":"x","nameLocation":"11889:1:61","nodeType":"VariableDeclaration","scope":47452,"src":"11881:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47415,"name":"uint256","nodeType":"ElementaryTypeName","src":"11881:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47418,"mutability":"mutable","name":"y","nameLocation":"11900:1:61","nodeType":"VariableDeclaration","scope":47452,"src":"11892:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47417,"name":"uint256","nodeType":"ElementaryTypeName","src":"11892:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47420,"mutability":"mutable","name":"n","nameLocation":"11909:1:61","nodeType":"VariableDeclaration","scope":47452,"src":"11903:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":47419,"name":"uint8","nodeType":"ElementaryTypeName","src":"11903:5:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":47423,"mutability":"mutable","name":"rounding","nameLocation":"11921:8:61","nodeType":"VariableDeclaration","scope":47452,"src":"11912:17:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"},"typeName":{"id":47422,"nodeType":"UserDefinedTypeName","pathNode":{"id":47421,"name":"Rounding","nameLocations":["11912:8:61"],"nodeType":"IdentifierPath","referencedDeclaration":46811,"src":"11912:8:61"},"referencedDeclaration":46811,"src":"11912:8:61","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"11880:50:61"},"returnParameters":{"id":47427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47426,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47452,"src":"11954:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47425,"name":"uint256","nodeType":"ElementaryTypeName","src":"11954:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11953:9:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47549,"nodeType":"FunctionDefinition","src":"12640:1919:61","nodes":[],"body":{"id":47548,"nodeType":"Block","src":"12710:1849:61","nodes":[],"statements":[{"id":47547,"nodeType":"UncheckedBlock","src":"12720:1833:61","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47462,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47457,"src":"12748:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":47463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12753:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12748:6:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47467,"nodeType":"IfStatement","src":"12744:20:61","trueBody":{"expression":{"hexValue":"30","id":47465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12763:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":47461,"id":47466,"nodeType":"Return","src":"12756:8:61"}},{"assignments":[47469],"declarations":[{"constant":false,"id":47469,"mutability":"mutable","name":"remainder","nameLocation":"13243:9:61","nodeType":"VariableDeclaration","scope":47547,"src":"13235:17:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47468,"name":"uint256","nodeType":"ElementaryTypeName","src":"13235:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47473,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47470,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47455,"src":"13255:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":47471,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47457,"src":"13259:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13255:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13235:25:61"},{"assignments":[47475],"declarations":[{"constant":false,"id":47475,"mutability":"mutable","name":"gcd","nameLocation":"13282:3:61","nodeType":"VariableDeclaration","scope":47547,"src":"13274:11:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47474,"name":"uint256","nodeType":"ElementaryTypeName","src":"13274:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47477,"initialValue":{"id":47476,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47457,"src":"13288:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13274:15:61"},{"assignments":[47479],"declarations":[{"constant":false,"id":47479,"mutability":"mutable","name":"x","nameLocation":"13432:1:61","nodeType":"VariableDeclaration","scope":47547,"src":"13425:8:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":47478,"name":"int256","nodeType":"ElementaryTypeName","src":"13425:6:61","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":47481,"initialValue":{"hexValue":"30","id":47480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13436:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"13425:12:61"},{"assignments":[47483],"declarations":[{"constant":false,"id":47483,"mutability":"mutable","name":"y","nameLocation":"13458:1:61","nodeType":"VariableDeclaration","scope":47547,"src":"13451:8:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":47482,"name":"int256","nodeType":"ElementaryTypeName","src":"13451:6:61","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":47485,"initialValue":{"hexValue":"31","id":47484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13462:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"13451:12:61"},{"body":{"id":47522,"nodeType":"Block","src":"13501:882:61","statements":[{"assignments":[47490],"declarations":[{"constant":false,"id":47490,"mutability":"mutable","name":"quotient","nameLocation":"13527:8:61","nodeType":"VariableDeclaration","scope":47522,"src":"13519:16:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47489,"name":"uint256","nodeType":"ElementaryTypeName","src":"13519:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47494,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47491,"name":"gcd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47475,"src":"13538:3:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":47492,"name":"remainder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47469,"src":"13544:9:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13538:15:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13519:34:61"},{"expression":{"id":47505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":47495,"name":"gcd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47475,"src":"13573:3:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47496,"name":"remainder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47469,"src":"13578:9:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":47497,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"13572:16:61","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"components":[{"id":47498,"name":"remainder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47469,"src":"13678:9:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47499,"name":"gcd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47475,"src":"13923:3:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47500,"name":"remainder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47469,"src":"13929:9:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":47501,"name":"quotient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47490,"src":"13941:8:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13929:20:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13923:26:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":47504,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13591:376:61","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"src":"13572:395:61","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47506,"nodeType":"ExpressionStatement","src":"13572:395:61"},{"expression":{"id":47520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":47507,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47479,"src":"13987:1:61","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":47508,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47483,"src":"13990:1:61","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":47509,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"13986:6:61","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_int256_$","typeString":"tuple(int256,int256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"components":[{"id":47510,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47483,"src":"14072:1:61","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":47518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47511,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47479,"src":"14326:1:61","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":47517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47512,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47483,"src":"14330:1:61","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"id":47515,"name":"quotient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47490,"src":"14341:8:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47514,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14334:6:61","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":47513,"name":"int256","nodeType":"ElementaryTypeName","src":"14334:6:61","typeDescriptions":{}}},"id":47516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14334:16:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"14330:20:61","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"14326:24:61","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":47519,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13995:373:61","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_int256_$","typeString":"tuple(int256,int256)"}},"src":"13986:382:61","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47521,"nodeType":"ExpressionStatement","src":"13986:382:61"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47486,"name":"remainder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47469,"src":"13485:9:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":47487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13498:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13485:14:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47523,"nodeType":"WhileStatement","src":"13478:905:61"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47524,"name":"gcd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47475,"src":"14401:3:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"31","id":47525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14408:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"14401:8:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47529,"nodeType":"IfStatement","src":"14397:22:61","trueBody":{"expression":{"hexValue":"30","id":47527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14418:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":47461,"id":47528,"nodeType":"Return","src":"14411:8:61"}},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":47533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47531,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47479,"src":"14470:1:61","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":47532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14474:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14470:5:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47534,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47457,"src":"14477:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"id":47538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"14489:2:61","subExpression":{"id":47537,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47479,"src":"14490:1:61","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47536,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14481:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":47535,"name":"uint256","nodeType":"ElementaryTypeName","src":"14481:7:61","typeDescriptions":{}}},"id":47539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14481:11:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14477:15:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":47543,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47479,"src":"14502:1:61","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":47542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14494:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":47541,"name":"uint256","nodeType":"ElementaryTypeName","src":"14494:7:61","typeDescriptions":{}}},"id":47544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14494:10:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47530,"name":"ternary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47088,"src":"14462:7:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (bool,uint256,uint256) pure returns (uint256)"}},"id":47545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14462:43:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":47461,"id":47546,"nodeType":"Return","src":"14455:50:61"}]}]},"documentation":{"id":47453,"nodeType":"StructuredDocumentation","src":"12082:553:61","text":" @dev Calculate the modular multiplicative inverse of a number in Z/nZ.\n If n is a prime, then Z/nZ is a field. In that case all elements are inversible, except 0.\n If n is not a prime, then Z/nZ is not a field, and some elements might not be inversible.\n If the input value is not inversible, 0 is returned.\n NOTE: If you know for sure that n is (big) a prime, it may be cheaper to use Fermat's little theorem and get the\n inverse using `Math.modExp(a, n - 2, n)`. See {invModPrime}."},"implemented":true,"kind":"function","modifiers":[],"name":"invMod","nameLocation":"12649:6:61","parameters":{"id":47458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47455,"mutability":"mutable","name":"a","nameLocation":"12664:1:61","nodeType":"VariableDeclaration","scope":47549,"src":"12656:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47454,"name":"uint256","nodeType":"ElementaryTypeName","src":"12656:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47457,"mutability":"mutable","name":"n","nameLocation":"12675:1:61","nodeType":"VariableDeclaration","scope":47549,"src":"12667:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47456,"name":"uint256","nodeType":"ElementaryTypeName","src":"12667:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12655:22:61"},"returnParameters":{"id":47461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47460,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47549,"src":"12701:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47459,"name":"uint256","nodeType":"ElementaryTypeName","src":"12701:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12700:9:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47570,"nodeType":"FunctionDefinition","src":"15084:157:61","nodes":[],"body":{"id":47569,"nodeType":"Block","src":"15159:82:61","nodes":[],"statements":[{"id":47568,"nodeType":"UncheckedBlock","src":"15169:66:61","statements":[{"expression":{"arguments":[{"id":47561,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47552,"src":"15212:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47562,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47554,"src":"15215:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"32","id":47563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15219:1:61","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"15215:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47565,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47554,"src":"15222:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":47559,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48420,"src":"15200:4:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$48420_$","typeString":"type(library Math)"}},"id":47560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15205:6:61","memberName":"modExp","nodeType":"MemberAccess","referencedDeclaration":47606,"src":"15200:11:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":47566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15200:24:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":47558,"id":47567,"nodeType":"Return","src":"15193:31:61"}]}]},"documentation":{"id":47550,"nodeType":"StructuredDocumentation","src":"14565:514:61","text":" @dev Variant of {invMod}. More efficient, but only works if `p` is known to be a prime greater than `2`.\n From https://en.wikipedia.org/wiki/Fermat%27s_little_theorem[Fermat's little theorem], we know that if p is\n prime, then `a**(p-1) ≡ 1 mod p`. As a consequence, we have `a * a**(p-2) ≡ 1 mod p`, which means that\n `a**(p-2)` is the modular multiplicative inverse of a in Fp.\n NOTE: this function does NOT check that `p` is a prime greater than `2`."},"implemented":true,"kind":"function","modifiers":[],"name":"invModPrime","nameLocation":"15093:11:61","parameters":{"id":47555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47552,"mutability":"mutable","name":"a","nameLocation":"15113:1:61","nodeType":"VariableDeclaration","scope":47570,"src":"15105:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47551,"name":"uint256","nodeType":"ElementaryTypeName","src":"15105:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47554,"mutability":"mutable","name":"p","nameLocation":"15124:1:61","nodeType":"VariableDeclaration","scope":47570,"src":"15116:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47553,"name":"uint256","nodeType":"ElementaryTypeName","src":"15116:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15104:22:61"},"returnParameters":{"id":47558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47557,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47570,"src":"15150:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47556,"name":"uint256","nodeType":"ElementaryTypeName","src":"15150:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15149:9:61"},"scope":48420,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47606,"nodeType":"FunctionDefinition","src":"15930:255:61","nodes":[],"body":{"id":47605,"nodeType":"Block","src":"16011:174:61","nodes":[],"statements":[{"assignments":[47583,47585],"declarations":[{"constant":false,"id":47583,"mutability":"mutable","name":"success","nameLocation":"16027:7:61","nodeType":"VariableDeclaration","scope":47605,"src":"16022:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47582,"name":"bool","nodeType":"ElementaryTypeName","src":"16022:4:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47585,"mutability":"mutable","name":"result","nameLocation":"16044:6:61","nodeType":"VariableDeclaration","scope":47605,"src":"16036:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47584,"name":"uint256","nodeType":"ElementaryTypeName","src":"16036:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47591,"initialValue":{"arguments":[{"id":47587,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47573,"src":"16064:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47588,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47575,"src":"16067:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47589,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47577,"src":"16070:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47586,"name":"tryModExp","nodeType":"Identifier","overloadedDeclarations":[47630,47712],"referencedDeclaration":47630,"src":"16054:9:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bool_$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (bool,uint256)"}},"id":47590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16054:18:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"16021:51:61"},{"condition":{"id":47593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16086:8:61","subExpression":{"id":47592,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47583,"src":"16087:7:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47602,"nodeType":"IfStatement","src":"16082:74:61","trueBody":{"id":47601,"nodeType":"Block","src":"16096:60:61","statements":[{"expression":{"arguments":[{"expression":{"id":47597,"name":"Panic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44912,"src":"16122:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Panic_$44912_$","typeString":"type(library Panic)"}},"id":47598,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16128:16:61","memberName":"DIVISION_BY_ZERO","nodeType":"MemberAccess","referencedDeclaration":44879,"src":"16122:22:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":47594,"name":"Panic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44912,"src":"16110:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Panic_$44912_$","typeString":"type(library Panic)"}},"id":47596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16116:5:61","memberName":"panic","nodeType":"MemberAccess","referencedDeclaration":44911,"src":"16110:11:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":47599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16110:35:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47600,"nodeType":"ExpressionStatement","src":"16110:35:61"}]}},{"expression":{"id":47603,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47585,"src":"16172:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":47581,"id":47604,"nodeType":"Return","src":"16165:13:61"}]},"documentation":{"id":47571,"nodeType":"StructuredDocumentation","src":"15247:678:61","text":" @dev Returns the modular exponentiation of the specified base, exponent and modulus (b ** e % m)\n Requirements:\n - modulus can't be zero\n - underlying staticcall to precompile must succeed\n IMPORTANT: The result is only valid if the underlying call succeeds. When using this function, make\n sure the chain you're using it on supports the precompiled contract for modular exponentiation\n at address 0x05 as specified in https://eips.ethereum.org/EIPS/eip-198[EIP-198]. Otherwise,\n the underlying function will succeed given the lack of a revert, but the result may be incorrectly\n interpreted as 0."},"implemented":true,"kind":"function","modifiers":[],"name":"modExp","nameLocation":"15939:6:61","parameters":{"id":47578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47573,"mutability":"mutable","name":"b","nameLocation":"15954:1:61","nodeType":"VariableDeclaration","scope":47606,"src":"15946:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47572,"name":"uint256","nodeType":"ElementaryTypeName","src":"15946:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47575,"mutability":"mutable","name":"e","nameLocation":"15965:1:61","nodeType":"VariableDeclaration","scope":47606,"src":"15957:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47574,"name":"uint256","nodeType":"ElementaryTypeName","src":"15957:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47577,"mutability":"mutable","name":"m","nameLocation":"15976:1:61","nodeType":"VariableDeclaration","scope":47606,"src":"15968:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47576,"name":"uint256","nodeType":"ElementaryTypeName","src":"15968:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15945:33:61"},"returnParameters":{"id":47581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47580,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47606,"src":"16002:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47579,"name":"uint256","nodeType":"ElementaryTypeName","src":"16002:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16001:9:61"},"scope":48420,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47630,"nodeType":"FunctionDefinition","src":"16934:1598:61","nodes":[],"body":{"id":47629,"nodeType":"Block","src":"17039:1493:61","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47620,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47613,"src":"17053:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":47621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17058:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"17053:6:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47627,"nodeType":"IfStatement","src":"17049:29:61","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":47623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"17069:5:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":47624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17076:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":47625,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"17068:10:61","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":47619,"id":47626,"nodeType":"Return","src":"17061:17:61"}},{"AST":{"nativeSrc":"17113:1413:61","nodeType":"YulBlock","src":"17113:1413:61","statements":[{"nativeSrc":"17127:22:61","nodeType":"YulVariableDeclaration","src":"17127:22:61","value":{"arguments":[{"kind":"number","nativeSrc":"17144:4:61","nodeType":"YulLiteral","src":"17144:4:61","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"17138:5:61","nodeType":"YulIdentifier","src":"17138:5:61"},"nativeSrc":"17138:11:61","nodeType":"YulFunctionCall","src":"17138:11:61"},"variables":[{"name":"ptr","nativeSrc":"17131:3:61","nodeType":"YulTypedName","src":"17131:3:61","type":""}]},{"expression":{"arguments":[{"name":"ptr","nativeSrc":"18057:3:61","nodeType":"YulIdentifier","src":"18057:3:61"},{"kind":"number","nativeSrc":"18062:4:61","nodeType":"YulLiteral","src":"18062:4:61","type":"","value":"0x20"}],"functionName":{"name":"mstore","nativeSrc":"18050:6:61","nodeType":"YulIdentifier","src":"18050:6:61"},"nativeSrc":"18050:17:61","nodeType":"YulFunctionCall","src":"18050:17:61"},"nativeSrc":"18050:17:61","nodeType":"YulExpressionStatement","src":"18050:17:61"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"18091:3:61","nodeType":"YulIdentifier","src":"18091:3:61"},{"kind":"number","nativeSrc":"18096:4:61","nodeType":"YulLiteral","src":"18096:4:61","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"18087:3:61","nodeType":"YulIdentifier","src":"18087:3:61"},"nativeSrc":"18087:14:61","nodeType":"YulFunctionCall","src":"18087:14:61"},{"kind":"number","nativeSrc":"18103:4:61","nodeType":"YulLiteral","src":"18103:4:61","type":"","value":"0x20"}],"functionName":{"name":"mstore","nativeSrc":"18080:6:61","nodeType":"YulIdentifier","src":"18080:6:61"},"nativeSrc":"18080:28:61","nodeType":"YulFunctionCall","src":"18080:28:61"},"nativeSrc":"18080:28:61","nodeType":"YulExpressionStatement","src":"18080:28:61"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"18132:3:61","nodeType":"YulIdentifier","src":"18132:3:61"},{"kind":"number","nativeSrc":"18137:4:61","nodeType":"YulLiteral","src":"18137:4:61","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"18128:3:61","nodeType":"YulIdentifier","src":"18128:3:61"},"nativeSrc":"18128:14:61","nodeType":"YulFunctionCall","src":"18128:14:61"},{"kind":"number","nativeSrc":"18144:4:61","nodeType":"YulLiteral","src":"18144:4:61","type":"","value":"0x20"}],"functionName":{"name":"mstore","nativeSrc":"18121:6:61","nodeType":"YulIdentifier","src":"18121:6:61"},"nativeSrc":"18121:28:61","nodeType":"YulFunctionCall","src":"18121:28:61"},"nativeSrc":"18121:28:61","nodeType":"YulExpressionStatement","src":"18121:28:61"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"18173:3:61","nodeType":"YulIdentifier","src":"18173:3:61"},{"kind":"number","nativeSrc":"18178:4:61","nodeType":"YulLiteral","src":"18178:4:61","type":"","value":"0x60"}],"functionName":{"name":"add","nativeSrc":"18169:3:61","nodeType":"YulIdentifier","src":"18169:3:61"},"nativeSrc":"18169:14:61","nodeType":"YulFunctionCall","src":"18169:14:61"},{"name":"b","nativeSrc":"18185:1:61","nodeType":"YulIdentifier","src":"18185:1:61"}],"functionName":{"name":"mstore","nativeSrc":"18162:6:61","nodeType":"YulIdentifier","src":"18162:6:61"},"nativeSrc":"18162:25:61","nodeType":"YulFunctionCall","src":"18162:25:61"},"nativeSrc":"18162:25:61","nodeType":"YulExpressionStatement","src":"18162:25:61"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"18211:3:61","nodeType":"YulIdentifier","src":"18211:3:61"},{"kind":"number","nativeSrc":"18216:4:61","nodeType":"YulLiteral","src":"18216:4:61","type":"","value":"0x80"}],"functionName":{"name":"add","nativeSrc":"18207:3:61","nodeType":"YulIdentifier","src":"18207:3:61"},"nativeSrc":"18207:14:61","nodeType":"YulFunctionCall","src":"18207:14:61"},{"name":"e","nativeSrc":"18223:1:61","nodeType":"YulIdentifier","src":"18223:1:61"}],"functionName":{"name":"mstore","nativeSrc":"18200:6:61","nodeType":"YulIdentifier","src":"18200:6:61"},"nativeSrc":"18200:25:61","nodeType":"YulFunctionCall","src":"18200:25:61"},"nativeSrc":"18200:25:61","nodeType":"YulExpressionStatement","src":"18200:25:61"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"18249:3:61","nodeType":"YulIdentifier","src":"18249:3:61"},{"kind":"number","nativeSrc":"18254:4:61","nodeType":"YulLiteral","src":"18254:4:61","type":"","value":"0xa0"}],"functionName":{"name":"add","nativeSrc":"18245:3:61","nodeType":"YulIdentifier","src":"18245:3:61"},"nativeSrc":"18245:14:61","nodeType":"YulFunctionCall","src":"18245:14:61"},{"name":"m","nativeSrc":"18261:1:61","nodeType":"YulIdentifier","src":"18261:1:61"}],"functionName":{"name":"mstore","nativeSrc":"18238:6:61","nodeType":"YulIdentifier","src":"18238:6:61"},"nativeSrc":"18238:25:61","nodeType":"YulFunctionCall","src":"18238:25:61"},"nativeSrc":"18238:25:61","nodeType":"YulExpressionStatement","src":"18238:25:61"},{"nativeSrc":"18425:57:61","nodeType":"YulAssignment","src":"18425:57:61","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"18447:3:61","nodeType":"YulIdentifier","src":"18447:3:61"},"nativeSrc":"18447:5:61","nodeType":"YulFunctionCall","src":"18447:5:61"},{"kind":"number","nativeSrc":"18454:4:61","nodeType":"YulLiteral","src":"18454:4:61","type":"","value":"0x05"},{"name":"ptr","nativeSrc":"18460:3:61","nodeType":"YulIdentifier","src":"18460:3:61"},{"kind":"number","nativeSrc":"18465:4:61","nodeType":"YulLiteral","src":"18465:4:61","type":"","value":"0xc0"},{"kind":"number","nativeSrc":"18471:4:61","nodeType":"YulLiteral","src":"18471:4:61","type":"","value":"0x00"},{"kind":"number","nativeSrc":"18477:4:61","nodeType":"YulLiteral","src":"18477:4:61","type":"","value":"0x20"}],"functionName":{"name":"staticcall","nativeSrc":"18436:10:61","nodeType":"YulIdentifier","src":"18436:10:61"},"nativeSrc":"18436:46:61","nodeType":"YulFunctionCall","src":"18436:46:61"},"variableNames":[{"name":"success","nativeSrc":"18425:7:61","nodeType":"YulIdentifier","src":"18425:7:61"}]},{"nativeSrc":"18495:21:61","nodeType":"YulAssignment","src":"18495:21:61","value":{"arguments":[{"kind":"number","nativeSrc":"18511:4:61","nodeType":"YulLiteral","src":"18511:4:61","type":"","value":"0x00"}],"functionName":{"name":"mload","nativeSrc":"18505:5:61","nodeType":"YulIdentifier","src":"18505:5:61"},"nativeSrc":"18505:11:61","nodeType":"YulFunctionCall","src":"18505:11:61"},"variableNames":[{"name":"result","nativeSrc":"18495:6:61","nodeType":"YulIdentifier","src":"18495:6:61"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":47609,"isOffset":false,"isSlot":false,"src":"18185:1:61","valueSize":1},{"declaration":47611,"isOffset":false,"isSlot":false,"src":"18223:1:61","valueSize":1},{"declaration":47613,"isOffset":false,"isSlot":false,"src":"18261:1:61","valueSize":1},{"declaration":47618,"isOffset":false,"isSlot":false,"src":"18495:6:61","valueSize":1},{"declaration":47616,"isOffset":false,"isSlot":false,"src":"18425:7:61","valueSize":1}],"flags":["memory-safe"],"id":47628,"nodeType":"InlineAssembly","src":"17088:1438:61"}]},"documentation":{"id":47607,"nodeType":"StructuredDocumentation","src":"16191:738:61","text":" @dev Returns the modular exponentiation of the specified base, exponent and modulus (b ** e % m).\n It includes a success flag indicating if the operation succeeded. Operation will be marked as failed if trying\n to operate modulo 0 or if the underlying precompile reverted.\n IMPORTANT: The result is only valid if the success flag is true. When using this function, make sure the chain\n you're using it on supports the precompiled contract for modular exponentiation at address 0x05 as specified in\n https://eips.ethereum.org/EIPS/eip-198[EIP-198]. Otherwise, the underlying function will succeed given the lack\n of a revert, but the result may be incorrectly interpreted as 0."},"implemented":true,"kind":"function","modifiers":[],"name":"tryModExp","nameLocation":"16943:9:61","parameters":{"id":47614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47609,"mutability":"mutable","name":"b","nameLocation":"16961:1:61","nodeType":"VariableDeclaration","scope":47630,"src":"16953:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47608,"name":"uint256","nodeType":"ElementaryTypeName","src":"16953:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47611,"mutability":"mutable","name":"e","nameLocation":"16972:1:61","nodeType":"VariableDeclaration","scope":47630,"src":"16964:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47610,"name":"uint256","nodeType":"ElementaryTypeName","src":"16964:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47613,"mutability":"mutable","name":"m","nameLocation":"16983:1:61","nodeType":"VariableDeclaration","scope":47630,"src":"16975:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47612,"name":"uint256","nodeType":"ElementaryTypeName","src":"16975:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16952:33:61"},"returnParameters":{"id":47619,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47616,"mutability":"mutable","name":"success","nameLocation":"17014:7:61","nodeType":"VariableDeclaration","scope":47630,"src":"17009:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47615,"name":"bool","nodeType":"ElementaryTypeName","src":"17009:4:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47618,"mutability":"mutable","name":"result","nameLocation":"17031:6:61","nodeType":"VariableDeclaration","scope":47630,"src":"17023:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47617,"name":"uint256","nodeType":"ElementaryTypeName","src":"17023:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17008:30:61"},"scope":48420,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47666,"nodeType":"FunctionDefinition","src":"18628:280:61","nodes":[],"body":{"id":47665,"nodeType":"Block","src":"18729:179:61","nodes":[],"statements":[{"assignments":[47643,47645],"declarations":[{"constant":false,"id":47643,"mutability":"mutable","name":"success","nameLocation":"18745:7:61","nodeType":"VariableDeclaration","scope":47665,"src":"18740:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47642,"name":"bool","nodeType":"ElementaryTypeName","src":"18740:4:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47645,"mutability":"mutable","name":"result","nameLocation":"18767:6:61","nodeType":"VariableDeclaration","scope":47665,"src":"18754:19:61","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47644,"name":"bytes","nodeType":"ElementaryTypeName","src":"18754:5:61","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":47651,"initialValue":{"arguments":[{"id":47647,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47633,"src":"18787:1:61","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":47648,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47635,"src":"18790:1:61","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":47649,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47637,"src":"18793:1:61","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47646,"name":"tryModExp","nodeType":"Identifier","overloadedDeclarations":[47630,47712],"referencedDeclaration":47712,"src":"18777:9:61","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory,bytes memory,bytes memory) view returns (bool,bytes memory)"}},"id":47650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18777:18:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"18739:56:61"},{"condition":{"id":47653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"18809:8:61","subExpression":{"id":47652,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47643,"src":"18810:7:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47662,"nodeType":"IfStatement","src":"18805:74:61","trueBody":{"id":47661,"nodeType":"Block","src":"18819:60:61","statements":[{"expression":{"arguments":[{"expression":{"id":47657,"name":"Panic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44912,"src":"18845:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Panic_$44912_$","typeString":"type(library Panic)"}},"id":47658,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18851:16:61","memberName":"DIVISION_BY_ZERO","nodeType":"MemberAccess","referencedDeclaration":44879,"src":"18845:22:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":47654,"name":"Panic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44912,"src":"18833:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Panic_$44912_$","typeString":"type(library Panic)"}},"id":47656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18839:5:61","memberName":"panic","nodeType":"MemberAccess","referencedDeclaration":44911,"src":"18833:11:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":47659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18833:35:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47660,"nodeType":"ExpressionStatement","src":"18833:35:61"}]}},{"expression":{"id":47663,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47645,"src":"18895:6:61","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":47641,"id":47664,"nodeType":"Return","src":"18888:13:61"}]},"documentation":{"id":47631,"nodeType":"StructuredDocumentation","src":"18538:85:61","text":" @dev Variant of {modExp} that supports inputs of arbitrary length."},"implemented":true,"kind":"function","modifiers":[],"name":"modExp","nameLocation":"18637:6:61","parameters":{"id":47638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47633,"mutability":"mutable","name":"b","nameLocation":"18657:1:61","nodeType":"VariableDeclaration","scope":47666,"src":"18644:14:61","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47632,"name":"bytes","nodeType":"ElementaryTypeName","src":"18644:5:61","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":47635,"mutability":"mutable","name":"e","nameLocation":"18673:1:61","nodeType":"VariableDeclaration","scope":47666,"src":"18660:14:61","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47634,"name":"bytes","nodeType":"ElementaryTypeName","src":"18660:5:61","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":47637,"mutability":"mutable","name":"m","nameLocation":"18689:1:61","nodeType":"VariableDeclaration","scope":47666,"src":"18676:14:61","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47636,"name":"bytes","nodeType":"ElementaryTypeName","src":"18676:5:61","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"18643:48:61"},"returnParameters":{"id":47641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47640,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47666,"src":"18715:12:61","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47639,"name":"bytes","nodeType":"ElementaryTypeName","src":"18715:5:61","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"18714:14:61"},"scope":48420,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47712,"nodeType":"FunctionDefinition","src":"19007:926:61","nodes":[],"body":{"id":47711,"nodeType":"Block","src":"19162:771:61","nodes":[],"statements":[{"condition":{"arguments":[{"id":47681,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47673,"src":"19187:1:61","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47680,"name":"_zeroBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47745,"src":"19176:10:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (bytes memory) pure returns (bool)"}},"id":47682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19176:13:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47690,"nodeType":"IfStatement","src":"19172:47:61","trueBody":{"expression":{"components":[{"hexValue":"66616c7365","id":47683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19199:5:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"30","id":47686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19216:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":47685,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"19206:9:61","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":47684,"name":"bytes","nodeType":"ElementaryTypeName","src":"19210:5:61","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":47687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19206:12:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":47688,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"19198:21:61","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"functionReturnParameters":47679,"id":47689,"nodeType":"Return","src":"19191:28:61"}},{"assignments":[47692],"declarations":[{"constant":false,"id":47692,"mutability":"mutable","name":"mLen","nameLocation":"19238:4:61","nodeType":"VariableDeclaration","scope":47711,"src":"19230:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47691,"name":"uint256","nodeType":"ElementaryTypeName","src":"19230:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47695,"initialValue":{"expression":{"id":47693,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47673,"src":"19245:1:61","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":47694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19247:6:61","memberName":"length","nodeType":"MemberAccess","src":"19245:8:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19230:23:61"},{"expression":{"id":47708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47696,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47678,"src":"19335:6:61","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":47699,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47669,"src":"19361:1:61","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":47700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19363:6:61","memberName":"length","nodeType":"MemberAccess","src":"19361:8:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":47701,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47671,"src":"19371:1:61","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":47702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19373:6:61","memberName":"length","nodeType":"MemberAccess","src":"19371:8:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47703,"name":"mLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47692,"src":"19381:4:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47704,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47669,"src":"19387:1:61","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":47705,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47671,"src":"19390:1:61","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":47706,"name":"m","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47673,"src":"19393:1:61","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":47697,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19344:3:61","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47698,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19348:12:61","memberName":"encodePacked","nodeType":"MemberAccess","src":"19344:16:61","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":47707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19344:51:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"19335:60:61","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":47709,"nodeType":"ExpressionStatement","src":"19335:60:61"},{"AST":{"nativeSrc":"19431:496:61","nodeType":"YulBlock","src":"19431:496:61","statements":[{"nativeSrc":"19445:32:61","nodeType":"YulVariableDeclaration","src":"19445:32:61","value":{"arguments":[{"name":"result","nativeSrc":"19464:6:61","nodeType":"YulIdentifier","src":"19464:6:61"},{"kind":"number","nativeSrc":"19472:4:61","nodeType":"YulLiteral","src":"19472:4:61","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"19460:3:61","nodeType":"YulIdentifier","src":"19460:3:61"},"nativeSrc":"19460:17:61","nodeType":"YulFunctionCall","src":"19460:17:61"},"variables":[{"name":"dataPtr","nativeSrc":"19449:7:61","nodeType":"YulTypedName","src":"19449:7:61","type":""}]},{"nativeSrc":"19567:73:61","nodeType":"YulAssignment","src":"19567:73:61","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"19589:3:61","nodeType":"YulIdentifier","src":"19589:3:61"},"nativeSrc":"19589:5:61","nodeType":"YulFunctionCall","src":"19589:5:61"},{"kind":"number","nativeSrc":"19596:4:61","nodeType":"YulLiteral","src":"19596:4:61","type":"","value":"0x05"},{"name":"dataPtr","nativeSrc":"19602:7:61","nodeType":"YulIdentifier","src":"19602:7:61"},{"arguments":[{"name":"result","nativeSrc":"19617:6:61","nodeType":"YulIdentifier","src":"19617:6:61"}],"functionName":{"name":"mload","nativeSrc":"19611:5:61","nodeType":"YulIdentifier","src":"19611:5:61"},"nativeSrc":"19611:13:61","nodeType":"YulFunctionCall","src":"19611:13:61"},{"name":"dataPtr","nativeSrc":"19626:7:61","nodeType":"YulIdentifier","src":"19626:7:61"},{"name":"mLen","nativeSrc":"19635:4:61","nodeType":"YulIdentifier","src":"19635:4:61"}],"functionName":{"name":"staticcall","nativeSrc":"19578:10:61","nodeType":"YulIdentifier","src":"19578:10:61"},"nativeSrc":"19578:62:61","nodeType":"YulFunctionCall","src":"19578:62:61"},"variableNames":[{"name":"success","nativeSrc":"19567:7:61","nodeType":"YulIdentifier","src":"19567:7:61"}]},{"expression":{"arguments":[{"name":"result","nativeSrc":"19796:6:61","nodeType":"YulIdentifier","src":"19796:6:61"},{"name":"mLen","nativeSrc":"19804:4:61","nodeType":"YulIdentifier","src":"19804:4:61"}],"functionName":{"name":"mstore","nativeSrc":"19789:6:61","nodeType":"YulIdentifier","src":"19789:6:61"},"nativeSrc":"19789:20:61","nodeType":"YulFunctionCall","src":"19789:20:61"},"nativeSrc":"19789:20:61","nodeType":"YulExpressionStatement","src":"19789:20:61"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"19892:4:61","nodeType":"YulLiteral","src":"19892:4:61","type":"","value":"0x40"},{"arguments":[{"name":"dataPtr","nativeSrc":"19902:7:61","nodeType":"YulIdentifier","src":"19902:7:61"},{"name":"mLen","nativeSrc":"19911:4:61","nodeType":"YulIdentifier","src":"19911:4:61"}],"functionName":{"name":"add","nativeSrc":"19898:3:61","nodeType":"YulIdentifier","src":"19898:3:61"},"nativeSrc":"19898:18:61","nodeType":"YulFunctionCall","src":"19898:18:61"}],"functionName":{"name":"mstore","nativeSrc":"19885:6:61","nodeType":"YulIdentifier","src":"19885:6:61"},"nativeSrc":"19885:32:61","nodeType":"YulFunctionCall","src":"19885:32:61"},"nativeSrc":"19885:32:61","nodeType":"YulExpressionStatement","src":"19885:32:61"}]},"evmVersion":"cancun","externalReferences":[{"declaration":47692,"isOffset":false,"isSlot":false,"src":"19635:4:61","valueSize":1},{"declaration":47692,"isOffset":false,"isSlot":false,"src":"19804:4:61","valueSize":1},{"declaration":47692,"isOffset":false,"isSlot":false,"src":"19911:4:61","valueSize":1},{"declaration":47678,"isOffset":false,"isSlot":false,"src":"19464:6:61","valueSize":1},{"declaration":47678,"isOffset":false,"isSlot":false,"src":"19617:6:61","valueSize":1},{"declaration":47678,"isOffset":false,"isSlot":false,"src":"19796:6:61","valueSize":1},{"declaration":47676,"isOffset":false,"isSlot":false,"src":"19567:7:61","valueSize":1}],"flags":["memory-safe"],"id":47710,"nodeType":"InlineAssembly","src":"19406:521:61"}]},"documentation":{"id":47667,"nodeType":"StructuredDocumentation","src":"18914:88:61","text":" @dev Variant of {tryModExp} that supports inputs of arbitrary length."},"implemented":true,"kind":"function","modifiers":[],"name":"tryModExp","nameLocation":"19016:9:61","parameters":{"id":47674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47669,"mutability":"mutable","name":"b","nameLocation":"19048:1:61","nodeType":"VariableDeclaration","scope":47712,"src":"19035:14:61","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47668,"name":"bytes","nodeType":"ElementaryTypeName","src":"19035:5:61","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":47671,"mutability":"mutable","name":"e","nameLocation":"19072:1:61","nodeType":"VariableDeclaration","scope":47712,"src":"19059:14:61","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47670,"name":"bytes","nodeType":"ElementaryTypeName","src":"19059:5:61","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":47673,"mutability":"mutable","name":"m","nameLocation":"19096:1:61","nodeType":"VariableDeclaration","scope":47712,"src":"19083:14:61","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47672,"name":"bytes","nodeType":"ElementaryTypeName","src":"19083:5:61","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"19025:78:61"},"returnParameters":{"id":47679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47676,"mutability":"mutable","name":"success","nameLocation":"19132:7:61","nodeType":"VariableDeclaration","scope":47712,"src":"19127:12:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47675,"name":"bool","nodeType":"ElementaryTypeName","src":"19127:4:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47678,"mutability":"mutable","name":"result","nameLocation":"19154:6:61","nodeType":"VariableDeclaration","scope":47712,"src":"19141:19:61","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47677,"name":"bytes","nodeType":"ElementaryTypeName","src":"19141:5:61","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"19126:35:61"},"scope":48420,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47745,"nodeType":"FunctionDefinition","src":"20016:248:61","nodes":[],"body":{"id":47744,"nodeType":"Block","src":"20088:176:61","nodes":[],"statements":[{"body":{"id":47740,"nodeType":"Block","src":"20145:92:61","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":47735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":47731,"name":"byteArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47715,"src":"20163:9:61","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":47733,"indexExpression":{"id":47732,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47721,"src":"20173:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20163:12:61","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":47734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20179:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20163:17:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47739,"nodeType":"IfStatement","src":"20159:68:61","trueBody":{"id":47738,"nodeType":"Block","src":"20182:45:61","statements":[{"expression":{"hexValue":"66616c7365","id":47736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20207:5:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":47719,"id":47737,"nodeType":"Return","src":"20200:12:61"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47724,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47721,"src":"20118:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":47725,"name":"byteArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47715,"src":"20122:9:61","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":47726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20132:6:61","memberName":"length","nodeType":"MemberAccess","src":"20122:16:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20118:20:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47741,"initializationExpression":{"assignments":[47721],"declarations":[{"constant":false,"id":47721,"mutability":"mutable","name":"i","nameLocation":"20111:1:61","nodeType":"VariableDeclaration","scope":47741,"src":"20103:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47720,"name":"uint256","nodeType":"ElementaryTypeName","src":"20103:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47723,"initialValue":{"hexValue":"30","id":47722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20115:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"20103:13:61"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":47729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"20140:3:61","subExpression":{"id":47728,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47721,"src":"20142:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47730,"nodeType":"ExpressionStatement","src":"20140:3:61"},"nodeType":"ForStatement","src":"20098:139:61"},{"expression":{"hexValue":"74727565","id":47742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20253:4:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":47719,"id":47743,"nodeType":"Return","src":"20246:11:61"}]},"documentation":{"id":47713,"nodeType":"StructuredDocumentation","src":"19939:72:61","text":" @dev Returns whether the provided byte array is zero."},"implemented":true,"kind":"function","modifiers":[],"name":"_zeroBytes","nameLocation":"20025:10:61","parameters":{"id":47716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47715,"mutability":"mutable","name":"byteArray","nameLocation":"20049:9:61","nodeType":"VariableDeclaration","scope":47745,"src":"20036:22:61","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47714,"name":"bytes","nodeType":"ElementaryTypeName","src":"20036:5:61","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20035:24:61"},"returnParameters":{"id":47719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47718,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47745,"src":"20082:4:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47717,"name":"bool","nodeType":"ElementaryTypeName","src":"20082:4:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20081:6:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":47964,"nodeType":"FunctionDefinition","src":"20567:5181:61","nodes":[],"body":{"id":47963,"nodeType":"Block","src":"20624:5124:61","nodes":[],"statements":[{"id":47962,"nodeType":"UncheckedBlock","src":"20634:5108:61","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47753,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47748,"src":"20728:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"31","id":47754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20733:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"20728:6:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47759,"nodeType":"IfStatement","src":"20724:53:61","trueBody":{"id":47758,"nodeType":"Block","src":"20736:41:61","statements":[{"expression":{"id":47756,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47748,"src":"20761:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":47752,"id":47757,"nodeType":"Return","src":"20754:8:61"}]}},{"assignments":[47761],"declarations":[{"constant":false,"id":47761,"mutability":"mutable","name":"aa","nameLocation":"21712:2:61","nodeType":"VariableDeclaration","scope":47962,"src":"21704:10:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47760,"name":"uint256","nodeType":"ElementaryTypeName","src":"21704:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47763,"initialValue":{"id":47762,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47748,"src":"21717:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21704:14:61"},{"assignments":[47765],"declarations":[{"constant":false,"id":47765,"mutability":"mutable","name":"xn","nameLocation":"21740:2:61","nodeType":"VariableDeclaration","scope":47962,"src":"21732:10:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47764,"name":"uint256","nodeType":"ElementaryTypeName","src":"21732:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47767,"initialValue":{"hexValue":"31","id":47766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21745:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"21732:14:61"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47768,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47761,"src":"21765:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":47771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21772:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":47770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21777:3:61","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"21772:8:61","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}}],"id":47772,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"21771:10:61","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}},"src":"21765:16:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47783,"nodeType":"IfStatement","src":"21761:92:61","trueBody":{"id":47782,"nodeType":"Block","src":"21783:70:61","statements":[{"expression":{"id":47776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47774,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47761,"src":"21801:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"313238","id":47775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21808:3:61","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"21801:10:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47777,"nodeType":"ExpressionStatement","src":"21801:10:61"},{"expression":{"id":47780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47778,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"21829:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"<<=","rightHandSide":{"hexValue":"3634","id":47779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21836:2:61","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"21829:9:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47781,"nodeType":"ExpressionStatement","src":"21829:9:61"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47784,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47761,"src":"21870:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":47787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21877:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3634","id":47786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21882:2:61","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"21877:7:61","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}}],"id":47788,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"21876:9:61","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"21870:15:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47799,"nodeType":"IfStatement","src":"21866:90:61","trueBody":{"id":47798,"nodeType":"Block","src":"21887:69:61","statements":[{"expression":{"id":47792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47790,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47761,"src":"21905:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3634","id":47791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21912:2:61","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"21905:9:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47793,"nodeType":"ExpressionStatement","src":"21905:9:61"},{"expression":{"id":47796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47794,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"21932:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"<<=","rightHandSide":{"hexValue":"3332","id":47795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21939:2:61","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"21932:9:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47797,"nodeType":"ExpressionStatement","src":"21932:9:61"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47800,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47761,"src":"21973:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_4294967296_by_1","typeString":"int_const 4294967296"},"id":47803,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47801,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21980:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3332","id":47802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21985:2:61","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"21980:7:61","typeDescriptions":{"typeIdentifier":"t_rational_4294967296_by_1","typeString":"int_const 4294967296"}}],"id":47804,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"21979:9:61","typeDescriptions":{"typeIdentifier":"t_rational_4294967296_by_1","typeString":"int_const 4294967296"}},"src":"21973:15:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47815,"nodeType":"IfStatement","src":"21969:90:61","trueBody":{"id":47814,"nodeType":"Block","src":"21990:69:61","statements":[{"expression":{"id":47808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47806,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47761,"src":"22008:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3332","id":47807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22015:2:61","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"22008:9:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47809,"nodeType":"ExpressionStatement","src":"22008:9:61"},{"expression":{"id":47812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47810,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"22035:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"<<=","rightHandSide":{"hexValue":"3136","id":47811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22042:2:61","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"22035:9:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47813,"nodeType":"ExpressionStatement","src":"22035:9:61"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47816,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47761,"src":"22076:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_65536_by_1","typeString":"int_const 65536"},"id":47819,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22083:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3136","id":47818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22088:2:61","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"22083:7:61","typeDescriptions":{"typeIdentifier":"t_rational_65536_by_1","typeString":"int_const 65536"}}],"id":47820,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22082:9:61","typeDescriptions":{"typeIdentifier":"t_rational_65536_by_1","typeString":"int_const 65536"}},"src":"22076:15:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47831,"nodeType":"IfStatement","src":"22072:89:61","trueBody":{"id":47830,"nodeType":"Block","src":"22093:68:61","statements":[{"expression":{"id":47824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47822,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47761,"src":"22111:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3136","id":47823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22118:2:61","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"22111:9:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47825,"nodeType":"ExpressionStatement","src":"22111:9:61"},{"expression":{"id":47828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47826,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"22138:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"<<=","rightHandSide":{"hexValue":"38","id":47827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22145:1:61","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"22138:8:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47829,"nodeType":"ExpressionStatement","src":"22138:8:61"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47832,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47761,"src":"22178:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"id":47835,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22185:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"38","id":47834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22190:1:61","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"22185:6:61","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"}}],"id":47836,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22184:8:61","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"}},"src":"22178:14:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47847,"nodeType":"IfStatement","src":"22174:87:61","trueBody":{"id":47846,"nodeType":"Block","src":"22194:67:61","statements":[{"expression":{"id":47840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47838,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47761,"src":"22212:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"38","id":47839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22219:1:61","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"22212:8:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47841,"nodeType":"ExpressionStatement","src":"22212:8:61"},{"expression":{"id":47844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47842,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"22238:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"<<=","rightHandSide":{"hexValue":"34","id":47843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22245:1:61","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"22238:8:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47845,"nodeType":"ExpressionStatement","src":"22238:8:61"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47848,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47761,"src":"22278:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"id":47851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22285:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"34","id":47850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22290:1:61","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"22285:6:61","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"}}],"id":47852,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22284:8:61","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"}},"src":"22278:14:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47863,"nodeType":"IfStatement","src":"22274:87:61","trueBody":{"id":47862,"nodeType":"Block","src":"22294:67:61","statements":[{"expression":{"id":47856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47854,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47761,"src":"22312:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"34","id":47855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22319:1:61","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"22312:8:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47857,"nodeType":"ExpressionStatement","src":"22312:8:61"},{"expression":{"id":47860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47858,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"22338:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"<<=","rightHandSide":{"hexValue":"32","id":47859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22345:1:61","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"22338:8:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47861,"nodeType":"ExpressionStatement","src":"22338:8:61"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47864,"name":"aa","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47761,"src":"22378:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"id":47867,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":47865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22385:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"32","id":47866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22390:1:61","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"22385:6:61","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"}}],"id":47868,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22384:8:61","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"}},"src":"22378:14:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47875,"nodeType":"IfStatement","src":"22374:61:61","trueBody":{"id":47874,"nodeType":"Block","src":"22394:41:61","statements":[{"expression":{"id":47872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47870,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"22412:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"<<=","rightHandSide":{"hexValue":"31","id":47871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22419:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"22412:8:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47873,"nodeType":"ExpressionStatement","src":"22412:8:61"}]}},{"expression":{"id":47883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47876,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"22855:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"33","id":47877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22861:1:61","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":47878,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"22865:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22861:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":47880,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22860:8:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":47881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22872:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"22860:13:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22855:18:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47884,"nodeType":"ExpressionStatement","src":"22855:18:61"},{"expression":{"id":47894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47885,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"24760:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47886,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"24766:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47887,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47748,"src":"24771:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":47888,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"24775:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24771:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24766:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":47891,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"24765:13:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":47892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24782:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"24765:18:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24760:23:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47895,"nodeType":"ExpressionStatement","src":"24760:23:61"},{"expression":{"id":47905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47896,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"24869:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47897,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"24875:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47898,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47748,"src":"24880:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":47899,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"24884:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24880:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24875:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":47902,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"24874:13:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":47903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24891:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"24874:18:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24869:23:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47906,"nodeType":"ExpressionStatement","src":"24869:23:61"},{"expression":{"id":47916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47907,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"24980:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47908,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"24986:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47909,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47748,"src":"24991:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":47910,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"24995:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24991:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24986:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":47913,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"24985:13:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":47914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25002:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"24985:18:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24980:23:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47917,"nodeType":"ExpressionStatement","src":"24980:23:61"},{"expression":{"id":47927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47918,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"25089:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47919,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"25095:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47920,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47748,"src":"25100:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":47921,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"25104:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25100:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25095:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":47924,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25094:13:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":47925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25111:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"25094:18:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25089:23:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47928,"nodeType":"ExpressionStatement","src":"25089:23:61"},{"expression":{"id":47938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47929,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"25199:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47930,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"25205:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47931,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47748,"src":"25210:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":47932,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"25214:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25210:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25205:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":47935,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25204:13:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":47936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25221:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"25204:18:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25199:23:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47939,"nodeType":"ExpressionStatement","src":"25199:23:61"},{"expression":{"id":47949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47940,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"25309:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47941,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"25315:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47942,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47748,"src":"25320:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":47943,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"25324:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25320:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25315:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":47946,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25314:13:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":47947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25331:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"25314:18:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25309:23:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":47950,"nodeType":"ExpressionStatement","src":"25309:23:61"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47951,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"25698:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47954,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"25719:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47955,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47748,"src":"25724:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":47956,"name":"xn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"25728:2:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25724:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25719:11:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":47952,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"25703:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":47953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25712:6:61","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"25703:15:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":47959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25703:28:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25698:33:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":47752,"id":47961,"nodeType":"Return","src":"25691:40:61"}]}]},"documentation":{"id":47746,"nodeType":"StructuredDocumentation","src":"20270:292:61","text":" @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded\n towards zero.\n This method is based on Newton's method for computing square roots; the algorithm is restricted to only\n using integer operations."},"implemented":true,"kind":"function","modifiers":[],"name":"sqrt","nameLocation":"20576:4:61","parameters":{"id":47749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47748,"mutability":"mutable","name":"a","nameLocation":"20589:1:61","nodeType":"VariableDeclaration","scope":47964,"src":"20581:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47747,"name":"uint256","nodeType":"ElementaryTypeName","src":"20581:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20580:11:61"},"returnParameters":{"id":47752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47751,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47964,"src":"20615:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47750,"name":"uint256","nodeType":"ElementaryTypeName","src":"20615:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20614:9:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47998,"nodeType":"FunctionDefinition","src":"25845:247:61","nodes":[],"body":{"id":47997,"nodeType":"Block","src":"25921:171:61","nodes":[],"statements":[{"id":47996,"nodeType":"UncheckedBlock","src":"25931:155:61","statements":[{"assignments":[47976],"declarations":[{"constant":false,"id":47976,"mutability":"mutable","name":"result","nameLocation":"25963:6:61","nodeType":"VariableDeclaration","scope":47996,"src":"25955:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47975,"name":"uint256","nodeType":"ElementaryTypeName","src":"25955:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":47980,"initialValue":{"arguments":[{"id":47978,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47967,"src":"25977:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":47977,"name":"sqrt","nodeType":"Identifier","overloadedDeclarations":[47964,47998],"referencedDeclaration":47964,"src":"25972:4:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":47979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25972:7:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25955:24:61"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47981,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47976,"src":"26000:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":47992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":47985,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47970,"src":"26042:8:61","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"}],"id":47984,"name":"unsignedRoundsUp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48419,"src":"26025:16:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_Rounding_$46811_$returns$_t_bool_$","typeString":"function (enum Math.Rounding) pure returns (bool)"}},"id":47986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26025:26:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47987,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47976,"src":"26055:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":47988,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47976,"src":"26064:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26055:15:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":47990,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47967,"src":"26073:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26055:19:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"26025:49:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":47982,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"26009:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":47983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26018:6:61","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"26009:15:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":47993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26009:66:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26000:75:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":47974,"id":47995,"nodeType":"Return","src":"25993:82:61"}]}]},"documentation":{"id":47965,"nodeType":"StructuredDocumentation","src":"25754:86:61","text":" @dev Calculates sqrt(a), following the selected rounding direction."},"implemented":true,"kind":"function","modifiers":[],"name":"sqrt","nameLocation":"25854:4:61","parameters":{"id":47971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47967,"mutability":"mutable","name":"a","nameLocation":"25867:1:61","nodeType":"VariableDeclaration","scope":47998,"src":"25859:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47966,"name":"uint256","nodeType":"ElementaryTypeName","src":"25859:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47970,"mutability":"mutable","name":"rounding","nameLocation":"25879:8:61","nodeType":"VariableDeclaration","scope":47998,"src":"25870:17:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"},"typeName":{"id":47969,"nodeType":"UserDefinedTypeName","pathNode":{"id":47968,"name":"Rounding","nameLocations":["25870:8:61"],"nodeType":"IdentifierPath","referencedDeclaration":46811,"src":"25870:8:61"},"referencedDeclaration":46811,"src":"25870:8:61","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"25858:30:61"},"returnParameters":{"id":47974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47973,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47998,"src":"25912:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47972,"name":"uint256","nodeType":"ElementaryTypeName","src":"25912:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25911:9:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48089,"nodeType":"FunctionDefinition","src":"26222:2393:61","nodes":[],"body":{"id":48088,"nodeType":"Block","src":"26281:2334:61","nodes":[],"statements":[{"expression":{"id":48015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48006,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48004,"src":"26363:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48009,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48001,"src":"26383:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30786666666666666666666666666666666666666666666666666666666666666666","id":48010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26387:34:61","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211455_by_1","typeString":"int_const 3402...(31 digits omitted)...1455"},"value":"0xffffffffffffffffffffffffffffffff"},"src":"26383:38:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48007,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"26367:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":48008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26376:6:61","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"26367:15:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":48012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26367:55:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"37","id":48013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26426:1:61","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"26367:60:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26363:64:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48016,"nodeType":"ExpressionStatement","src":"26363:64:61"},{"expression":{"id":48029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48017,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48004,"src":"26503:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48020,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48001,"src":"26525:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":48021,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48004,"src":"26530:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26525:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":48023,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"26524:8:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"307866666666666666666666666666666666","id":48024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26535:18:61","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551615_by_1","typeString":"int_const 18446744073709551615"},"value":"0xffffffffffffffff"},"src":"26524:29:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48018,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"26508:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":48019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26517:6:61","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"26508:15:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":48026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26508:46:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"36","id":48027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26558:1:61","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"26508:51:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26503:56:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48030,"nodeType":"ExpressionStatement","src":"26503:56:61"},{"expression":{"id":48043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48031,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48004,"src":"26634:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48034,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48001,"src":"26656:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":48035,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48004,"src":"26661:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26656:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":48037,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"26655:8:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30786666666666666666","id":48038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26666:10:61","typeDescriptions":{"typeIdentifier":"t_rational_4294967295_by_1","typeString":"int_const 4294967295"},"value":"0xffffffff"},"src":"26655:21:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48032,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"26639:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":48033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26648:6:61","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"26639:15:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":48040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26639:38:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"35","id":48041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26681:1:61","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"26639:43:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26634:48:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48044,"nodeType":"ExpressionStatement","src":"26634:48:61"},{"expression":{"id":48057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48045,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48004,"src":"26757:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48048,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48001,"src":"26779:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":48049,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48004,"src":"26784:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26779:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":48051,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"26778:8:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"307866666666","id":48052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26789:6:61","typeDescriptions":{"typeIdentifier":"t_rational_65535_by_1","typeString":"int_const 65535"},"value":"0xffff"},"src":"26778:17:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48046,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"26762:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":48047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26771:6:61","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"26762:15:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":48054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26762:34:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"34","id":48055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26800:1:61","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"26762:39:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26757:44:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48058,"nodeType":"ExpressionStatement","src":"26757:44:61"},{"expression":{"id":48071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48059,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48004,"src":"26874:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48062,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48001,"src":"26896:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":48063,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48004,"src":"26901:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26896:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":48065,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"26895:8:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30786666","id":48066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26906:4:61","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"},"src":"26895:15:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48060,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"26879:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":48061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26888:6:61","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"26879:15:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":48068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26879:32:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"33","id":48069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26915:1:61","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"26879:37:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26874:42:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48072,"nodeType":"ExpressionStatement","src":"26874:42:61"},{"expression":{"id":48085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48073,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48004,"src":"26988:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48076,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48001,"src":"27010:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":48077,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48004,"src":"27015:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27010:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":48079,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"27009:8:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"307866","id":48080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27020:3:61","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"0xf"},"src":"27009:14:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48074,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"26993:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":48075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27002:6:61","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"26993:15:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":48082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26993:31:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"32","id":48083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27028:1:61","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"26993:36:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26988:41:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48086,"nodeType":"ExpressionStatement","src":"26988:41:61"},{"AST":{"nativeSrc":"28490:119:61","nodeType":"YulBlock","src":"28490:119:61","statements":[{"nativeSrc":"28504:95:61","nodeType":"YulAssignment","src":"28504:95:61","value":{"arguments":[{"name":"r","nativeSrc":"28512:1:61","nodeType":"YulIdentifier","src":"28512:1:61"},{"arguments":[{"arguments":[{"name":"r","nativeSrc":"28524:1:61","nodeType":"YulIdentifier","src":"28524:1:61"},{"name":"x","nativeSrc":"28527:1:61","nodeType":"YulIdentifier","src":"28527:1:61"}],"functionName":{"name":"shr","nativeSrc":"28520:3:61","nodeType":"YulIdentifier","src":"28520:3:61"},"nativeSrc":"28520:9:61","nodeType":"YulFunctionCall","src":"28520:9:61"},{"kind":"number","nativeSrc":"28531:66:61","nodeType":"YulLiteral","src":"28531:66:61","type":"","value":"0x0000010102020202030303030303030300000000000000000000000000000000"}],"functionName":{"name":"byte","nativeSrc":"28515:4:61","nodeType":"YulIdentifier","src":"28515:4:61"},"nativeSrc":"28515:83:61","nodeType":"YulFunctionCall","src":"28515:83:61"}],"functionName":{"name":"or","nativeSrc":"28509:2:61","nodeType":"YulIdentifier","src":"28509:2:61"},"nativeSrc":"28509:90:61","nodeType":"YulFunctionCall","src":"28509:90:61"},"variableNames":[{"name":"r","nativeSrc":"28504:1:61","nodeType":"YulIdentifier","src":"28504:1:61"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":48004,"isOffset":false,"isSlot":false,"src":"28504:1:61","valueSize":1},{"declaration":48004,"isOffset":false,"isSlot":false,"src":"28512:1:61","valueSize":1},{"declaration":48004,"isOffset":false,"isSlot":false,"src":"28524:1:61","valueSize":1},{"declaration":48001,"isOffset":false,"isSlot":false,"src":"28527:1:61","valueSize":1}],"flags":["memory-safe"],"id":48087,"nodeType":"InlineAssembly","src":"28465:144:61"}]},"documentation":{"id":47999,"nodeType":"StructuredDocumentation","src":"26098:119:61","text":" @dev Return the log in base 2 of a positive value rounded towards zero.\n Returns 0 if given 0."},"implemented":true,"kind":"function","modifiers":[],"name":"log2","nameLocation":"26231:4:61","parameters":{"id":48002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48001,"mutability":"mutable","name":"x","nameLocation":"26244:1:61","nodeType":"VariableDeclaration","scope":48089,"src":"26236:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48000,"name":"uint256","nodeType":"ElementaryTypeName","src":"26236:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26235:11:61"},"returnParameters":{"id":48005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48004,"mutability":"mutable","name":"r","nameLocation":"26278:1:61","nodeType":"VariableDeclaration","scope":48089,"src":"26270:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48003,"name":"uint256","nodeType":"ElementaryTypeName","src":"26270:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26269:11:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48123,"nodeType":"FunctionDefinition","src":"28768:255:61","nodes":[],"body":{"id":48122,"nodeType":"Block","src":"28848:175:61","nodes":[],"statements":[{"id":48121,"nodeType":"UncheckedBlock","src":"28858:159:61","statements":[{"assignments":[48101],"declarations":[{"constant":false,"id":48101,"mutability":"mutable","name":"result","nameLocation":"28890:6:61","nodeType":"VariableDeclaration","scope":48121,"src":"28882:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48100,"name":"uint256","nodeType":"ElementaryTypeName","src":"28882:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":48105,"initialValue":{"arguments":[{"id":48103,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48092,"src":"28904:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48102,"name":"log2","nodeType":"Identifier","overloadedDeclarations":[48089,48123],"referencedDeclaration":48089,"src":"28899:4:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":48104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28899:11:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28882:28:61"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48106,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48101,"src":"28931:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":48117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48110,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48095,"src":"28973:8:61","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"}],"id":48109,"name":"unsignedRoundsUp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48419,"src":"28956:16:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_Rounding_$46811_$returns$_t_bool_$","typeString":"function (enum Math.Rounding) pure returns (bool)"}},"id":48111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28956:26:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":48112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28986:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":48113,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48101,"src":"28991:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28986:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":48115,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48092,"src":"29000:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28986:19:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"28956:49:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48107,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"28940:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":48108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28949:6:61","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"28940:15:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":48118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28940:66:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28931:75:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":48099,"id":48120,"nodeType":"Return","src":"28924:82:61"}]}]},"documentation":{"id":48090,"nodeType":"StructuredDocumentation","src":"28621:142:61","text":" @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n Returns 0 if given 0."},"implemented":true,"kind":"function","modifiers":[],"name":"log2","nameLocation":"28777:4:61","parameters":{"id":48096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48092,"mutability":"mutable","name":"value","nameLocation":"28790:5:61","nodeType":"VariableDeclaration","scope":48123,"src":"28782:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48091,"name":"uint256","nodeType":"ElementaryTypeName","src":"28782:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48095,"mutability":"mutable","name":"rounding","nameLocation":"28806:8:61","nodeType":"VariableDeclaration","scope":48123,"src":"28797:17:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"},"typeName":{"id":48094,"nodeType":"UserDefinedTypeName","pathNode":{"id":48093,"name":"Rounding","nameLocations":["28797:8:61"],"nodeType":"IdentifierPath","referencedDeclaration":46811,"src":"28797:8:61"},"referencedDeclaration":46811,"src":"28797:8:61","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"28781:34:61"},"returnParameters":{"id":48099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48098,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48123,"src":"28839:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48097,"name":"uint256","nodeType":"ElementaryTypeName","src":"28839:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28838:9:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48252,"nodeType":"FunctionDefinition","src":"29154:916:61","nodes":[],"body":{"id":48251,"nodeType":"Block","src":"29216:854:61","nodes":[],"statements":[{"assignments":[48132],"declarations":[{"constant":false,"id":48132,"mutability":"mutable","name":"result","nameLocation":"29234:6:61","nodeType":"VariableDeclaration","scope":48251,"src":"29226:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48131,"name":"uint256","nodeType":"ElementaryTypeName","src":"29226:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":48134,"initialValue":{"hexValue":"30","id":48133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29243:1:61","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"29226:18:61"},{"id":48248,"nodeType":"UncheckedBlock","src":"29254:787:61","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48135,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48126,"src":"29282:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"},"id":48138,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":48136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29291:2:61","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":48137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29297:2:61","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"29291:8:61","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"}},"src":"29282:17:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48151,"nodeType":"IfStatement","src":"29278:103:61","trueBody":{"id":48150,"nodeType":"Block","src":"29301:80:61","statements":[{"expression":{"id":48144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48140,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48126,"src":"29319:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"},"id":48143,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":48141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29328:2:61","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":48142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29334:2:61","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"29328:8:61","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"}},"src":"29319:17:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48145,"nodeType":"ExpressionStatement","src":"29319:17:61"},{"expression":{"id":48148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48146,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48132,"src":"29354:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3634","id":48147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29364:2:61","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"29354:12:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48149,"nodeType":"ExpressionStatement","src":"29354:12:61"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48152,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48126,"src":"29398:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"},"id":48155,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":48153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29407:2:61","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3332","id":48154,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29413:2:61","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"29407:8:61","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"}},"src":"29398:17:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48168,"nodeType":"IfStatement","src":"29394:103:61","trueBody":{"id":48167,"nodeType":"Block","src":"29417:80:61","statements":[{"expression":{"id":48161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48157,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48126,"src":"29435:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"},"id":48160,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":48158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29444:2:61","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3332","id":48159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29450:2:61","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"29444:8:61","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"}},"src":"29435:17:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48162,"nodeType":"ExpressionStatement","src":"29435:17:61"},{"expression":{"id":48165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48163,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48132,"src":"29470:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3332","id":48164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29480:2:61","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"29470:12:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48166,"nodeType":"ExpressionStatement","src":"29470:12:61"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48169,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48126,"src":"29514:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"id":48172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":48170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29523:2:61","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3136","id":48171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29529:2:61","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"29523:8:61","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"}},"src":"29514:17:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48185,"nodeType":"IfStatement","src":"29510:103:61","trueBody":{"id":48184,"nodeType":"Block","src":"29533:80:61","statements":[{"expression":{"id":48178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48174,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48126,"src":"29551:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"id":48177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":48175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29560:2:61","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3136","id":48176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29566:2:61","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"29560:8:61","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"}},"src":"29551:17:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48179,"nodeType":"ExpressionStatement","src":"29551:17:61"},{"expression":{"id":48182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48180,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48132,"src":"29586:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3136","id":48181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29596:2:61","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"29586:12:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48183,"nodeType":"ExpressionStatement","src":"29586:12:61"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48186,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48126,"src":"29630:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"},"id":48189,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":48187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29639:2:61","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"38","id":48188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29645:1:61","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"29639:7:61","typeDescriptions":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"}},"src":"29630:16:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48202,"nodeType":"IfStatement","src":"29626:100:61","trueBody":{"id":48201,"nodeType":"Block","src":"29648:78:61","statements":[{"expression":{"id":48195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48191,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48126,"src":"29666:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"},"id":48194,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":48192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29675:2:61","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"38","id":48193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29681:1:61","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"29675:7:61","typeDescriptions":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"}},"src":"29666:16:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48196,"nodeType":"ExpressionStatement","src":"29666:16:61"},{"expression":{"id":48199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48197,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48132,"src":"29700:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"38","id":48198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29710:1:61","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"29700:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48200,"nodeType":"ExpressionStatement","src":"29700:11:61"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48203,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48126,"src":"29743:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":48206,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":48204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29752:2:61","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":48205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29758:1:61","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"29752:7:61","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"src":"29743:16:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48219,"nodeType":"IfStatement","src":"29739:100:61","trueBody":{"id":48218,"nodeType":"Block","src":"29761:78:61","statements":[{"expression":{"id":48212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48208,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48126,"src":"29779:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":48211,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":48209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29788:2:61","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":48210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29794:1:61","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"29788:7:61","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"src":"29779:16:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48213,"nodeType":"ExpressionStatement","src":"29779:16:61"},{"expression":{"id":48216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48214,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48132,"src":"29813:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"34","id":48215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29823:1:61","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"29813:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48217,"nodeType":"ExpressionStatement","src":"29813:11:61"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48220,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48126,"src":"29856:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"id":48223,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":48221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29865:2:61","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"32","id":48222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29871:1:61","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"29865:7:61","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}},"src":"29856:16:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48236,"nodeType":"IfStatement","src":"29852:100:61","trueBody":{"id":48235,"nodeType":"Block","src":"29874:78:61","statements":[{"expression":{"id":48229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48225,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48126,"src":"29892:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"id":48228,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":48226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29901:2:61","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"32","id":48227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29907:1:61","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"29901:7:61","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}},"src":"29892:16:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48230,"nodeType":"ExpressionStatement","src":"29892:16:61"},{"expression":{"id":48233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48231,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48132,"src":"29926:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"32","id":48232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29936:1:61","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"29926:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48234,"nodeType":"ExpressionStatement","src":"29926:11:61"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48237,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48126,"src":"29969:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"id":48240,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":48238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29978:2:61","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"31","id":48239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29984:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"29978:7:61","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"}},"src":"29969:16:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48247,"nodeType":"IfStatement","src":"29965:66:61","trueBody":{"id":48246,"nodeType":"Block","src":"29987:44:61","statements":[{"expression":{"id":48244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48242,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48132,"src":"30005:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":48243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30015:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"30005:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48245,"nodeType":"ExpressionStatement","src":"30005:11:61"}]}}]},{"expression":{"id":48249,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48132,"src":"30057:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":48130,"id":48250,"nodeType":"Return","src":"30050:13:61"}]},"documentation":{"id":48124,"nodeType":"StructuredDocumentation","src":"29029:120:61","text":" @dev Return the log in base 10 of a positive value rounded towards zero.\n Returns 0 if given 0."},"implemented":true,"kind":"function","modifiers":[],"name":"log10","nameLocation":"29163:5:61","parameters":{"id":48127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48126,"mutability":"mutable","name":"value","nameLocation":"29177:5:61","nodeType":"VariableDeclaration","scope":48252,"src":"29169:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48125,"name":"uint256","nodeType":"ElementaryTypeName","src":"29169:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29168:15:61"},"returnParameters":{"id":48130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48129,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48252,"src":"29207:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48128,"name":"uint256","nodeType":"ElementaryTypeName","src":"29207:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29206:9:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48286,"nodeType":"FunctionDefinition","src":"30224:258:61","nodes":[],"body":{"id":48285,"nodeType":"Block","src":"30305:177:61","nodes":[],"statements":[{"id":48284,"nodeType":"UncheckedBlock","src":"30315:161:61","statements":[{"assignments":[48264],"declarations":[{"constant":false,"id":48264,"mutability":"mutable","name":"result","nameLocation":"30347:6:61","nodeType":"VariableDeclaration","scope":48284,"src":"30339:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48263,"name":"uint256","nodeType":"ElementaryTypeName","src":"30339:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":48268,"initialValue":{"arguments":[{"id":48266,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48255,"src":"30362:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48265,"name":"log10","nodeType":"Identifier","overloadedDeclarations":[48252,48286],"referencedDeclaration":48252,"src":"30356:5:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":48267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30356:12:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30339:29:61"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48269,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48264,"src":"30389:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":48280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48273,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48258,"src":"30431:8:61","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"}],"id":48272,"name":"unsignedRoundsUp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48419,"src":"30414:16:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_Rounding_$46811_$returns$_t_bool_$","typeString":"function (enum Math.Rounding) pure returns (bool)"}},"id":48274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30414:26:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":48275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30444:2:61","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":48276,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48264,"src":"30450:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30444:12:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":48278,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48255,"src":"30459:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30444:20:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"30414:50:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48270,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"30398:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":48271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30407:6:61","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"30398:15:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":48281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30398:67:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30389:76:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":48262,"id":48283,"nodeType":"Return","src":"30382:83:61"}]}]},"documentation":{"id":48253,"nodeType":"StructuredDocumentation","src":"30076:143:61","text":" @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n Returns 0 if given 0."},"implemented":true,"kind":"function","modifiers":[],"name":"log10","nameLocation":"30233:5:61","parameters":{"id":48259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48255,"mutability":"mutable","name":"value","nameLocation":"30247:5:61","nodeType":"VariableDeclaration","scope":48286,"src":"30239:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48254,"name":"uint256","nodeType":"ElementaryTypeName","src":"30239:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48258,"mutability":"mutable","name":"rounding","nameLocation":"30263:8:61","nodeType":"VariableDeclaration","scope":48286,"src":"30254:17:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"},"typeName":{"id":48257,"nodeType":"UserDefinedTypeName","pathNode":{"id":48256,"name":"Rounding","nameLocations":["30254:8:61"],"nodeType":"IdentifierPath","referencedDeclaration":46811,"src":"30254:8:61"},"referencedDeclaration":46811,"src":"30254:8:61","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"30238:34:61"},"returnParameters":{"id":48262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48261,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48286,"src":"30296:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48260,"name":"uint256","nodeType":"ElementaryTypeName","src":"30296:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30295:9:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48363,"nodeType":"FunctionDefinition","src":"30739:736:61","nodes":[],"body":{"id":48362,"nodeType":"Block","src":"30800:675:61","nodes":[],"statements":[{"expression":{"id":48303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48294,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48292,"src":"30882:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48297,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48289,"src":"30902:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30786666666666666666666666666666666666666666666666666666666666666666","id":48298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30906:34:61","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211455_by_1","typeString":"int_const 3402...(31 digits omitted)...1455"},"value":"0xffffffffffffffffffffffffffffffff"},"src":"30902:38:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48295,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"30886:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":48296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30895:6:61","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"30886:15:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":48300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30886:55:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"37","id":48301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30945:1:61","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"30886:60:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30882:64:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48304,"nodeType":"ExpressionStatement","src":"30882:64:61"},{"expression":{"id":48317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48305,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48292,"src":"31022:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48308,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48289,"src":"31044:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":48309,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48292,"src":"31049:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31044:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":48311,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"31043:8:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"307866666666666666666666666666666666","id":48312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31054:18:61","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551615_by_1","typeString":"int_const 18446744073709551615"},"value":"0xffffffffffffffff"},"src":"31043:29:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48306,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"31027:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":48307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31036:6:61","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"31027:15:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":48314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31027:46:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"36","id":48315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31077:1:61","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"31027:51:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31022:56:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48318,"nodeType":"ExpressionStatement","src":"31022:56:61"},{"expression":{"id":48331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48319,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48292,"src":"31153:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48322,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48289,"src":"31175:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":48323,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48292,"src":"31180:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31175:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":48325,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"31174:8:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30786666666666666666","id":48326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31185:10:61","typeDescriptions":{"typeIdentifier":"t_rational_4294967295_by_1","typeString":"int_const 4294967295"},"value":"0xffffffff"},"src":"31174:21:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48320,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"31158:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":48321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31167:6:61","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"31158:15:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":48328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31158:38:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"35","id":48329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31200:1:61","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"31158:43:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31153:48:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48332,"nodeType":"ExpressionStatement","src":"31153:48:61"},{"expression":{"id":48345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":48333,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48292,"src":"31276:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48336,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48289,"src":"31298:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":48337,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48292,"src":"31303:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31298:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":48339,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"31297:8:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"307866666666","id":48340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31308:6:61","typeDescriptions":{"typeIdentifier":"t_rational_65535_by_1","typeString":"int_const 65535"},"value":"0xffff"},"src":"31297:17:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48334,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"31281:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":48335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31290:6:61","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"31281:15:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":48342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31281:34:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"34","id":48343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31319:1:61","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"31281:39:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31276:44:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48346,"nodeType":"ExpressionStatement","src":"31276:44:61"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48347,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48292,"src":"31426:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"33","id":48348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31431:1:61","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"31426:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":48350,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"31425:8:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48353,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48289,"src":"31453:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":48354,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48292,"src":"31458:1:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31453:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":48356,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"31452:8:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30786666","id":48357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31463:4:61","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"},"src":"31452:15:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48351,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"31436:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":48352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31445:6:61","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"31436:15:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":48359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31436:32:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31425:43:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":48293,"id":48361,"nodeType":"Return","src":"31418:50:61"}]},"documentation":{"id":48287,"nodeType":"StructuredDocumentation","src":"30488:246:61","text":" @dev Return the log in base 256 of a positive value rounded towards zero.\n Returns 0 if given 0.\n Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string."},"implemented":true,"kind":"function","modifiers":[],"name":"log256","nameLocation":"30748:6:61","parameters":{"id":48290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48289,"mutability":"mutable","name":"x","nameLocation":"30763:1:61","nodeType":"VariableDeclaration","scope":48363,"src":"30755:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48288,"name":"uint256","nodeType":"ElementaryTypeName","src":"30755:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30754:11:61"},"returnParameters":{"id":48293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48292,"mutability":"mutable","name":"r","nameLocation":"30797:1:61","nodeType":"VariableDeclaration","scope":48363,"src":"30789:9:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48291,"name":"uint256","nodeType":"ElementaryTypeName","src":"30789:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30788:11:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48400,"nodeType":"FunctionDefinition","src":"31630:266:61","nodes":[],"body":{"id":48399,"nodeType":"Block","src":"31712:184:61","nodes":[],"statements":[{"id":48398,"nodeType":"UncheckedBlock","src":"31722:168:61","statements":[{"assignments":[48375],"declarations":[{"constant":false,"id":48375,"mutability":"mutable","name":"result","nameLocation":"31754:6:61","nodeType":"VariableDeclaration","scope":48398,"src":"31746:14:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48374,"name":"uint256","nodeType":"ElementaryTypeName","src":"31746:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":48379,"initialValue":{"arguments":[{"id":48377,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48366,"src":"31770:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48376,"name":"log256","nodeType":"Identifier","overloadedDeclarations":[48363,48400],"referencedDeclaration":48363,"src":"31763:6:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":48378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31763:13:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31746:30:61"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48380,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48375,"src":"31797:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":48394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48384,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48369,"src":"31839:8:61","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"}],"id":48383,"name":"unsignedRoundsUp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48419,"src":"31822:16:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_Rounding_$46811_$returns$_t_bool_$","typeString":"function (enum Math.Rounding) pure returns (bool)"}},"id":48385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31822:26:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":48386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31852:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48387,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48375,"src":"31858:6:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"33","id":48388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31868:1:61","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"31858:11:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":48390,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"31857:13:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31852:18:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":48392,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48366,"src":"31873:5:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31852:26:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"31822:56:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48381,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"31806:8:61","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":48382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31815:6:61","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"31806:15:61","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":48395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31806:73:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31797:82:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":48373,"id":48397,"nodeType":"Return","src":"31790:89:61"}]}]},"documentation":{"id":48364,"nodeType":"StructuredDocumentation","src":"31481:144:61","text":" @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n Returns 0 if given 0."},"implemented":true,"kind":"function","modifiers":[],"name":"log256","nameLocation":"31639:6:61","parameters":{"id":48370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48366,"mutability":"mutable","name":"value","nameLocation":"31654:5:61","nodeType":"VariableDeclaration","scope":48400,"src":"31646:13:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48365,"name":"uint256","nodeType":"ElementaryTypeName","src":"31646:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48369,"mutability":"mutable","name":"rounding","nameLocation":"31670:8:61","nodeType":"VariableDeclaration","scope":48400,"src":"31661:17:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"},"typeName":{"id":48368,"nodeType":"UserDefinedTypeName","pathNode":{"id":48367,"name":"Rounding","nameLocations":["31661:8:61"],"nodeType":"IdentifierPath","referencedDeclaration":46811,"src":"31661:8:61"},"referencedDeclaration":46811,"src":"31661:8:61","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"31645:34:61"},"returnParameters":{"id":48373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48372,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48400,"src":"31703:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48371,"name":"uint256","nodeType":"ElementaryTypeName","src":"31703:7:61","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31702:9:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48419,"nodeType":"FunctionDefinition","src":"32020:122:61","nodes":[],"body":{"id":48418,"nodeType":"Block","src":"32094:48:61","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":48416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":48414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":48411,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48404,"src":"32117:8:61","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"}],"id":48410,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32111:5:61","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":48409,"name":"uint8","nodeType":"ElementaryTypeName","src":"32111:5:61","typeDescriptions":{}}},"id":48412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32111:15:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"32","id":48413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32129:1:61","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"32111:19:61","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":48415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32134:1:61","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"32111:24:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":48408,"id":48417,"nodeType":"Return","src":"32104:31:61"}]},"documentation":{"id":48401,"nodeType":"StructuredDocumentation","src":"31902:113:61","text":" @dev Returns whether a provided rounding mode is considered rounding up for unsigned integers."},"implemented":true,"kind":"function","modifiers":[],"name":"unsignedRoundsUp","nameLocation":"32029:16:61","parameters":{"id":48405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48404,"mutability":"mutable","name":"rounding","nameLocation":"32055:8:61","nodeType":"VariableDeclaration","scope":48419,"src":"32046:17:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"},"typeName":{"id":48403,"nodeType":"UserDefinedTypeName","pathNode":{"id":48402,"name":"Rounding","nameLocations":["32046:8:61"],"nodeType":"IdentifierPath","referencedDeclaration":46811,"src":"32046:8:61"},"referencedDeclaration":46811,"src":"32046:8:61","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$46811","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"32045:19:61"},"returnParameters":{"id":48408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48407,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48419,"src":"32088:4:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48406,"name":"bool","nodeType":"ElementaryTypeName","src":"32088:4:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32087:6:61"},"scope":48420,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"Math","contractDependencies":[],"contractKind":"library","documentation":{"id":46806,"nodeType":"StructuredDocumentation","src":"207:73:61","text":" @dev Standard math utilities missing in the Solidity language."},"fullyImplemented":true,"linearizedBaseContracts":[48420],"name":"Math","nameLocation":"289:4:61","scope":48421,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"id":62,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol","id":50186,"exportedSymbols":{"SafeCast":[50185]},"nodeType":"SourceUnit","src":"192:34751:62","nodes":[{"id":48422,"nodeType":"PragmaDirective","src":"192:24:62","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":50185,"nodeType":"ContractDefinition","src":"769:34173:62","nodes":[{"id":48430,"nodeType":"ErrorDefinition","src":"865:64:62","nodes":[],"documentation":{"id":48424,"nodeType":"StructuredDocumentation","src":"792:68:62","text":" @dev Value doesn't fit in an uint of `bits` size."},"errorSelector":"6dfcc650","name":"SafeCastOverflowedUintDowncast","nameLocation":"871:30:62","parameters":{"id":48429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48426,"mutability":"mutable","name":"bits","nameLocation":"908:4:62","nodeType":"VariableDeclaration","scope":48430,"src":"902:10:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":48425,"name":"uint8","nodeType":"ElementaryTypeName","src":"902:5:62","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":48428,"mutability":"mutable","name":"value","nameLocation":"922:5:62","nodeType":"VariableDeclaration","scope":48430,"src":"914:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48427,"name":"uint256","nodeType":"ElementaryTypeName","src":"914:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"901:27:62"}},{"id":48435,"nodeType":"ErrorDefinition","src":"1015:48:62","nodes":[],"documentation":{"id":48431,"nodeType":"StructuredDocumentation","src":"935:75:62","text":" @dev An int value doesn't fit in an uint of `bits` size."},"errorSelector":"a8ce4432","name":"SafeCastOverflowedIntToUint","nameLocation":"1021:27:62","parameters":{"id":48434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48433,"mutability":"mutable","name":"value","nameLocation":"1056:5:62","nodeType":"VariableDeclaration","scope":48435,"src":"1049:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48432,"name":"int256","nodeType":"ElementaryTypeName","src":"1049:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1048:14:62"}},{"id":48442,"nodeType":"ErrorDefinition","src":"1141:62:62","nodes":[],"documentation":{"id":48436,"nodeType":"StructuredDocumentation","src":"1069:67:62","text":" @dev Value doesn't fit in an int of `bits` size."},"errorSelector":"327269a7","name":"SafeCastOverflowedIntDowncast","nameLocation":"1147:29:62","parameters":{"id":48441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48438,"mutability":"mutable","name":"bits","nameLocation":"1183:4:62","nodeType":"VariableDeclaration","scope":48442,"src":"1177:10:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":48437,"name":"uint8","nodeType":"ElementaryTypeName","src":"1177:5:62","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":48440,"mutability":"mutable","name":"value","nameLocation":"1196:5:62","nodeType":"VariableDeclaration","scope":48442,"src":"1189:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48439,"name":"int256","nodeType":"ElementaryTypeName","src":"1189:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1176:26:62"}},{"id":48447,"nodeType":"ErrorDefinition","src":"1289:49:62","nodes":[],"documentation":{"id":48443,"nodeType":"StructuredDocumentation","src":"1209:75:62","text":" @dev An uint value doesn't fit in an int of `bits` size."},"errorSelector":"24775e06","name":"SafeCastOverflowedUintToInt","nameLocation":"1295:27:62","parameters":{"id":48446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48445,"mutability":"mutable","name":"value","nameLocation":"1331:5:62","nodeType":"VariableDeclaration","scope":48447,"src":"1323:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48444,"name":"uint256","nodeType":"ElementaryTypeName","src":"1323:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1322:15:62"}},{"id":48475,"nodeType":"FunctionDefinition","src":"1629:218:62","nodes":[],"body":{"id":48474,"nodeType":"Block","src":"1695:152:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48455,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48450,"src":"1709:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":48458,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1722:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint248_$","typeString":"type(uint248)"},"typeName":{"id":48457,"name":"uint248","nodeType":"ElementaryTypeName","src":"1722:7:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint248_$","typeString":"type(uint248)"}],"id":48456,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1717:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":48459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1717:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint248","typeString":"type(uint248)"}},"id":48460,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1731:3:62","memberName":"max","nodeType":"MemberAccess","src":"1717:17:62","typeDescriptions":{"typeIdentifier":"t_uint248","typeString":"uint248"}},"src":"1709:25:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48468,"nodeType":"IfStatement","src":"1705:105:62","trueBody":{"id":48467,"nodeType":"Block","src":"1736:74:62","statements":[{"errorCall":{"arguments":[{"hexValue":"323438","id":48463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1788:3:62","typeDescriptions":{"typeIdentifier":"t_rational_248_by_1","typeString":"int_const 248"},"value":"248"},{"id":48464,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48450,"src":"1793:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_248_by_1","typeString":"int_const 248"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48462,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"1757:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":48465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1757:42:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48466,"nodeType":"RevertStatement","src":"1750:49:62"}]}},{"expression":{"arguments":[{"id":48471,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48450,"src":"1834:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48470,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1826:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint248_$","typeString":"type(uint248)"},"typeName":{"id":48469,"name":"uint248","nodeType":"ElementaryTypeName","src":"1826:7:62","typeDescriptions":{}}},"id":48472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1826:14:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint248","typeString":"uint248"}},"functionReturnParameters":48454,"id":48473,"nodeType":"Return","src":"1819:21:62"}]},"documentation":{"id":48448,"nodeType":"StructuredDocumentation","src":"1344:280:62","text":" @dev Returns the downcasted uint248 from uint256, reverting on\n overflow (when the input is greater than largest uint248).\n Counterpart to Solidity's `uint248` operator.\n Requirements:\n - input must fit into 248 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint248","nameLocation":"1638:9:62","parameters":{"id":48451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48450,"mutability":"mutable","name":"value","nameLocation":"1656:5:62","nodeType":"VariableDeclaration","scope":48475,"src":"1648:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48449,"name":"uint256","nodeType":"ElementaryTypeName","src":"1648:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1647:15:62"},"returnParameters":{"id":48454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48453,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48475,"src":"1686:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint248","typeString":"uint248"},"typeName":{"id":48452,"name":"uint248","nodeType":"ElementaryTypeName","src":"1686:7:62","typeDescriptions":{"typeIdentifier":"t_uint248","typeString":"uint248"}},"visibility":"internal"}],"src":"1685:9:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48503,"nodeType":"FunctionDefinition","src":"2138:218:62","nodes":[],"body":{"id":48502,"nodeType":"Block","src":"2204:152:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48483,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48478,"src":"2218:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":48486,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2231:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint240_$","typeString":"type(uint240)"},"typeName":{"id":48485,"name":"uint240","nodeType":"ElementaryTypeName","src":"2231:7:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint240_$","typeString":"type(uint240)"}],"id":48484,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2226:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":48487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2226:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint240","typeString":"type(uint240)"}},"id":48488,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2240:3:62","memberName":"max","nodeType":"MemberAccess","src":"2226:17:62","typeDescriptions":{"typeIdentifier":"t_uint240","typeString":"uint240"}},"src":"2218:25:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48496,"nodeType":"IfStatement","src":"2214:105:62","trueBody":{"id":48495,"nodeType":"Block","src":"2245:74:62","statements":[{"errorCall":{"arguments":[{"hexValue":"323430","id":48491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2297:3:62","typeDescriptions":{"typeIdentifier":"t_rational_240_by_1","typeString":"int_const 240"},"value":"240"},{"id":48492,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48478,"src":"2302:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_240_by_1","typeString":"int_const 240"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48490,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"2266:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":48493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2266:42:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48494,"nodeType":"RevertStatement","src":"2259:49:62"}]}},{"expression":{"arguments":[{"id":48499,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48478,"src":"2343:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48498,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2335:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint240_$","typeString":"type(uint240)"},"typeName":{"id":48497,"name":"uint240","nodeType":"ElementaryTypeName","src":"2335:7:62","typeDescriptions":{}}},"id":48500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2335:14:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint240","typeString":"uint240"}},"functionReturnParameters":48482,"id":48501,"nodeType":"Return","src":"2328:21:62"}]},"documentation":{"id":48476,"nodeType":"StructuredDocumentation","src":"1853:280:62","text":" @dev Returns the downcasted uint240 from uint256, reverting on\n overflow (when the input is greater than largest uint240).\n Counterpart to Solidity's `uint240` operator.\n Requirements:\n - input must fit into 240 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint240","nameLocation":"2147:9:62","parameters":{"id":48479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48478,"mutability":"mutable","name":"value","nameLocation":"2165:5:62","nodeType":"VariableDeclaration","scope":48503,"src":"2157:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48477,"name":"uint256","nodeType":"ElementaryTypeName","src":"2157:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2156:15:62"},"returnParameters":{"id":48482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48503,"src":"2195:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint240","typeString":"uint240"},"typeName":{"id":48480,"name":"uint240","nodeType":"ElementaryTypeName","src":"2195:7:62","typeDescriptions":{"typeIdentifier":"t_uint240","typeString":"uint240"}},"visibility":"internal"}],"src":"2194:9:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48531,"nodeType":"FunctionDefinition","src":"2647:218:62","nodes":[],"body":{"id":48530,"nodeType":"Block","src":"2713:152:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48511,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48506,"src":"2727:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":48514,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2740:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint232_$","typeString":"type(uint232)"},"typeName":{"id":48513,"name":"uint232","nodeType":"ElementaryTypeName","src":"2740:7:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint232_$","typeString":"type(uint232)"}],"id":48512,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2735:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":48515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2735:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint232","typeString":"type(uint232)"}},"id":48516,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2749:3:62","memberName":"max","nodeType":"MemberAccess","src":"2735:17:62","typeDescriptions":{"typeIdentifier":"t_uint232","typeString":"uint232"}},"src":"2727:25:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48524,"nodeType":"IfStatement","src":"2723:105:62","trueBody":{"id":48523,"nodeType":"Block","src":"2754:74:62","statements":[{"errorCall":{"arguments":[{"hexValue":"323332","id":48519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2806:3:62","typeDescriptions":{"typeIdentifier":"t_rational_232_by_1","typeString":"int_const 232"},"value":"232"},{"id":48520,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48506,"src":"2811:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_232_by_1","typeString":"int_const 232"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48518,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"2775:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":48521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2775:42:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48522,"nodeType":"RevertStatement","src":"2768:49:62"}]}},{"expression":{"arguments":[{"id":48527,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48506,"src":"2852:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48526,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2844:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint232_$","typeString":"type(uint232)"},"typeName":{"id":48525,"name":"uint232","nodeType":"ElementaryTypeName","src":"2844:7:62","typeDescriptions":{}}},"id":48528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2844:14:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint232","typeString":"uint232"}},"functionReturnParameters":48510,"id":48529,"nodeType":"Return","src":"2837:21:62"}]},"documentation":{"id":48504,"nodeType":"StructuredDocumentation","src":"2362:280:62","text":" @dev Returns the downcasted uint232 from uint256, reverting on\n overflow (when the input is greater than largest uint232).\n Counterpart to Solidity's `uint232` operator.\n Requirements:\n - input must fit into 232 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint232","nameLocation":"2656:9:62","parameters":{"id":48507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48506,"mutability":"mutable","name":"value","nameLocation":"2674:5:62","nodeType":"VariableDeclaration","scope":48531,"src":"2666:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48505,"name":"uint256","nodeType":"ElementaryTypeName","src":"2666:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2665:15:62"},"returnParameters":{"id":48510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48509,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48531,"src":"2704:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint232","typeString":"uint232"},"typeName":{"id":48508,"name":"uint232","nodeType":"ElementaryTypeName","src":"2704:7:62","typeDescriptions":{"typeIdentifier":"t_uint232","typeString":"uint232"}},"visibility":"internal"}],"src":"2703:9:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48559,"nodeType":"FunctionDefinition","src":"3156:218:62","nodes":[],"body":{"id":48558,"nodeType":"Block","src":"3222:152:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48539,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48534,"src":"3236:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":48542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3249:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint224_$","typeString":"type(uint224)"},"typeName":{"id":48541,"name":"uint224","nodeType":"ElementaryTypeName","src":"3249:7:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint224_$","typeString":"type(uint224)"}],"id":48540,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3244:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":48543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3244:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint224","typeString":"type(uint224)"}},"id":48544,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3258:3:62","memberName":"max","nodeType":"MemberAccess","src":"3244:17:62","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"src":"3236:25:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48552,"nodeType":"IfStatement","src":"3232:105:62","trueBody":{"id":48551,"nodeType":"Block","src":"3263:74:62","statements":[{"errorCall":{"arguments":[{"hexValue":"323234","id":48547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3315:3:62","typeDescriptions":{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},"value":"224"},{"id":48548,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48534,"src":"3320:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48546,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"3284:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":48549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3284:42:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48550,"nodeType":"RevertStatement","src":"3277:49:62"}]}},{"expression":{"arguments":[{"id":48555,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48534,"src":"3361:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48554,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3353:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint224_$","typeString":"type(uint224)"},"typeName":{"id":48553,"name":"uint224","nodeType":"ElementaryTypeName","src":"3353:7:62","typeDescriptions":{}}},"id":48556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3353:14:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":48538,"id":48557,"nodeType":"Return","src":"3346:21:62"}]},"documentation":{"id":48532,"nodeType":"StructuredDocumentation","src":"2871:280:62","text":" @dev Returns the downcasted uint224 from uint256, reverting on\n overflow (when the input is greater than largest uint224).\n Counterpart to Solidity's `uint224` operator.\n Requirements:\n - input must fit into 224 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint224","nameLocation":"3165:9:62","parameters":{"id":48535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48534,"mutability":"mutable","name":"value","nameLocation":"3183:5:62","nodeType":"VariableDeclaration","scope":48559,"src":"3175:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48533,"name":"uint256","nodeType":"ElementaryTypeName","src":"3175:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3174:15:62"},"returnParameters":{"id":48538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48537,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48559,"src":"3213:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":48536,"name":"uint224","nodeType":"ElementaryTypeName","src":"3213:7:62","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"3212:9:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48587,"nodeType":"FunctionDefinition","src":"3665:218:62","nodes":[],"body":{"id":48586,"nodeType":"Block","src":"3731:152:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48567,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48562,"src":"3745:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":48570,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3758:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint216_$","typeString":"type(uint216)"},"typeName":{"id":48569,"name":"uint216","nodeType":"ElementaryTypeName","src":"3758:7:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint216_$","typeString":"type(uint216)"}],"id":48568,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3753:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":48571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3753:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint216","typeString":"type(uint216)"}},"id":48572,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3767:3:62","memberName":"max","nodeType":"MemberAccess","src":"3753:17:62","typeDescriptions":{"typeIdentifier":"t_uint216","typeString":"uint216"}},"src":"3745:25:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48580,"nodeType":"IfStatement","src":"3741:105:62","trueBody":{"id":48579,"nodeType":"Block","src":"3772:74:62","statements":[{"errorCall":{"arguments":[{"hexValue":"323136","id":48575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3824:3:62","typeDescriptions":{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"},"value":"216"},{"id":48576,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48562,"src":"3829:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48574,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"3793:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":48577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3793:42:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48578,"nodeType":"RevertStatement","src":"3786:49:62"}]}},{"expression":{"arguments":[{"id":48583,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48562,"src":"3870:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48582,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3862:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint216_$","typeString":"type(uint216)"},"typeName":{"id":48581,"name":"uint216","nodeType":"ElementaryTypeName","src":"3862:7:62","typeDescriptions":{}}},"id":48584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3862:14:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint216","typeString":"uint216"}},"functionReturnParameters":48566,"id":48585,"nodeType":"Return","src":"3855:21:62"}]},"documentation":{"id":48560,"nodeType":"StructuredDocumentation","src":"3380:280:62","text":" @dev Returns the downcasted uint216 from uint256, reverting on\n overflow (when the input is greater than largest uint216).\n Counterpart to Solidity's `uint216` operator.\n Requirements:\n - input must fit into 216 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint216","nameLocation":"3674:9:62","parameters":{"id":48563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48562,"mutability":"mutable","name":"value","nameLocation":"3692:5:62","nodeType":"VariableDeclaration","scope":48587,"src":"3684:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48561,"name":"uint256","nodeType":"ElementaryTypeName","src":"3684:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3683:15:62"},"returnParameters":{"id":48566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48565,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48587,"src":"3722:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint216","typeString":"uint216"},"typeName":{"id":48564,"name":"uint216","nodeType":"ElementaryTypeName","src":"3722:7:62","typeDescriptions":{"typeIdentifier":"t_uint216","typeString":"uint216"}},"visibility":"internal"}],"src":"3721:9:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48615,"nodeType":"FunctionDefinition","src":"4174:218:62","nodes":[],"body":{"id":48614,"nodeType":"Block","src":"4240:152:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48595,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48590,"src":"4254:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":48598,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4267:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint208_$","typeString":"type(uint208)"},"typeName":{"id":48597,"name":"uint208","nodeType":"ElementaryTypeName","src":"4267:7:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint208_$","typeString":"type(uint208)"}],"id":48596,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4262:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":48599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4262:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint208","typeString":"type(uint208)"}},"id":48600,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4276:3:62","memberName":"max","nodeType":"MemberAccess","src":"4262:17:62","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"src":"4254:25:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48608,"nodeType":"IfStatement","src":"4250:105:62","trueBody":{"id":48607,"nodeType":"Block","src":"4281:74:62","statements":[{"errorCall":{"arguments":[{"hexValue":"323038","id":48603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4333:3:62","typeDescriptions":{"typeIdentifier":"t_rational_208_by_1","typeString":"int_const 208"},"value":"208"},{"id":48604,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48590,"src":"4338:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_208_by_1","typeString":"int_const 208"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48602,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"4302:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":48605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4302:42:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48606,"nodeType":"RevertStatement","src":"4295:49:62"}]}},{"expression":{"arguments":[{"id":48611,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48590,"src":"4379:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48610,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4371:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint208_$","typeString":"type(uint208)"},"typeName":{"id":48609,"name":"uint208","nodeType":"ElementaryTypeName","src":"4371:7:62","typeDescriptions":{}}},"id":48612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4371:14:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":48594,"id":48613,"nodeType":"Return","src":"4364:21:62"}]},"documentation":{"id":48588,"nodeType":"StructuredDocumentation","src":"3889:280:62","text":" @dev Returns the downcasted uint208 from uint256, reverting on\n overflow (when the input is greater than largest uint208).\n Counterpart to Solidity's `uint208` operator.\n Requirements:\n - input must fit into 208 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint208","nameLocation":"4183:9:62","parameters":{"id":48591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48590,"mutability":"mutable","name":"value","nameLocation":"4201:5:62","nodeType":"VariableDeclaration","scope":48615,"src":"4193:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48589,"name":"uint256","nodeType":"ElementaryTypeName","src":"4193:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4192:15:62"},"returnParameters":{"id":48594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48593,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48615,"src":"4231:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":48592,"name":"uint208","nodeType":"ElementaryTypeName","src":"4231:7:62","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"4230:9:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48643,"nodeType":"FunctionDefinition","src":"4683:218:62","nodes":[],"body":{"id":48642,"nodeType":"Block","src":"4749:152:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48623,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48618,"src":"4763:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":48626,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4776:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint200_$","typeString":"type(uint200)"},"typeName":{"id":48625,"name":"uint200","nodeType":"ElementaryTypeName","src":"4776:7:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint200_$","typeString":"type(uint200)"}],"id":48624,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4771:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":48627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4771:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint200","typeString":"type(uint200)"}},"id":48628,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4785:3:62","memberName":"max","nodeType":"MemberAccess","src":"4771:17:62","typeDescriptions":{"typeIdentifier":"t_uint200","typeString":"uint200"}},"src":"4763:25:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48636,"nodeType":"IfStatement","src":"4759:105:62","trueBody":{"id":48635,"nodeType":"Block","src":"4790:74:62","statements":[{"errorCall":{"arguments":[{"hexValue":"323030","id":48631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4842:3:62","typeDescriptions":{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},"value":"200"},{"id":48632,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48618,"src":"4847:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48630,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"4811:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":48633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4811:42:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48634,"nodeType":"RevertStatement","src":"4804:49:62"}]}},{"expression":{"arguments":[{"id":48639,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48618,"src":"4888:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48638,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4880:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint200_$","typeString":"type(uint200)"},"typeName":{"id":48637,"name":"uint200","nodeType":"ElementaryTypeName","src":"4880:7:62","typeDescriptions":{}}},"id":48640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4880:14:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint200","typeString":"uint200"}},"functionReturnParameters":48622,"id":48641,"nodeType":"Return","src":"4873:21:62"}]},"documentation":{"id":48616,"nodeType":"StructuredDocumentation","src":"4398:280:62","text":" @dev Returns the downcasted uint200 from uint256, reverting on\n overflow (when the input is greater than largest uint200).\n Counterpart to Solidity's `uint200` operator.\n Requirements:\n - input must fit into 200 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint200","nameLocation":"4692:9:62","parameters":{"id":48619,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48618,"mutability":"mutable","name":"value","nameLocation":"4710:5:62","nodeType":"VariableDeclaration","scope":48643,"src":"4702:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48617,"name":"uint256","nodeType":"ElementaryTypeName","src":"4702:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4701:15:62"},"returnParameters":{"id":48622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48621,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48643,"src":"4740:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint200","typeString":"uint200"},"typeName":{"id":48620,"name":"uint200","nodeType":"ElementaryTypeName","src":"4740:7:62","typeDescriptions":{"typeIdentifier":"t_uint200","typeString":"uint200"}},"visibility":"internal"}],"src":"4739:9:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48671,"nodeType":"FunctionDefinition","src":"5192:218:62","nodes":[],"body":{"id":48670,"nodeType":"Block","src":"5258:152:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48651,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48646,"src":"5272:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":48654,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5285:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint192_$","typeString":"type(uint192)"},"typeName":{"id":48653,"name":"uint192","nodeType":"ElementaryTypeName","src":"5285:7:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint192_$","typeString":"type(uint192)"}],"id":48652,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"5280:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":48655,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5280:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint192","typeString":"type(uint192)"}},"id":48656,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5294:3:62","memberName":"max","nodeType":"MemberAccess","src":"5280:17:62","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"src":"5272:25:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48664,"nodeType":"IfStatement","src":"5268:105:62","trueBody":{"id":48663,"nodeType":"Block","src":"5299:74:62","statements":[{"errorCall":{"arguments":[{"hexValue":"313932","id":48659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5351:3:62","typeDescriptions":{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},"value":"192"},{"id":48660,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48646,"src":"5356:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48658,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"5320:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":48661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5320:42:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48662,"nodeType":"RevertStatement","src":"5313:49:62"}]}},{"expression":{"arguments":[{"id":48667,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48646,"src":"5397:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48666,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5389:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint192_$","typeString":"type(uint192)"},"typeName":{"id":48665,"name":"uint192","nodeType":"ElementaryTypeName","src":"5389:7:62","typeDescriptions":{}}},"id":48668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5389:14:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"functionReturnParameters":48650,"id":48669,"nodeType":"Return","src":"5382:21:62"}]},"documentation":{"id":48644,"nodeType":"StructuredDocumentation","src":"4907:280:62","text":" @dev Returns the downcasted uint192 from uint256, reverting on\n overflow (when the input is greater than largest uint192).\n Counterpart to Solidity's `uint192` operator.\n Requirements:\n - input must fit into 192 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint192","nameLocation":"5201:9:62","parameters":{"id":48647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48646,"mutability":"mutable","name":"value","nameLocation":"5219:5:62","nodeType":"VariableDeclaration","scope":48671,"src":"5211:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48645,"name":"uint256","nodeType":"ElementaryTypeName","src":"5211:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5210:15:62"},"returnParameters":{"id":48650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48649,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48671,"src":"5249:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"},"typeName":{"id":48648,"name":"uint192","nodeType":"ElementaryTypeName","src":"5249:7:62","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"visibility":"internal"}],"src":"5248:9:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48699,"nodeType":"FunctionDefinition","src":"5701:218:62","nodes":[],"body":{"id":48698,"nodeType":"Block","src":"5767:152:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48679,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48674,"src":"5781:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":48682,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5794:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint184_$","typeString":"type(uint184)"},"typeName":{"id":48681,"name":"uint184","nodeType":"ElementaryTypeName","src":"5794:7:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint184_$","typeString":"type(uint184)"}],"id":48680,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"5789:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":48683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5789:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint184","typeString":"type(uint184)"}},"id":48684,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5803:3:62","memberName":"max","nodeType":"MemberAccess","src":"5789:17:62","typeDescriptions":{"typeIdentifier":"t_uint184","typeString":"uint184"}},"src":"5781:25:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48692,"nodeType":"IfStatement","src":"5777:105:62","trueBody":{"id":48691,"nodeType":"Block","src":"5808:74:62","statements":[{"errorCall":{"arguments":[{"hexValue":"313834","id":48687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5860:3:62","typeDescriptions":{"typeIdentifier":"t_rational_184_by_1","typeString":"int_const 184"},"value":"184"},{"id":48688,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48674,"src":"5865:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_184_by_1","typeString":"int_const 184"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48686,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"5829:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":48689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5829:42:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48690,"nodeType":"RevertStatement","src":"5822:49:62"}]}},{"expression":{"arguments":[{"id":48695,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48674,"src":"5906:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48694,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5898:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint184_$","typeString":"type(uint184)"},"typeName":{"id":48693,"name":"uint184","nodeType":"ElementaryTypeName","src":"5898:7:62","typeDescriptions":{}}},"id":48696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5898:14:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint184","typeString":"uint184"}},"functionReturnParameters":48678,"id":48697,"nodeType":"Return","src":"5891:21:62"}]},"documentation":{"id":48672,"nodeType":"StructuredDocumentation","src":"5416:280:62","text":" @dev Returns the downcasted uint184 from uint256, reverting on\n overflow (when the input is greater than largest uint184).\n Counterpart to Solidity's `uint184` operator.\n Requirements:\n - input must fit into 184 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint184","nameLocation":"5710:9:62","parameters":{"id":48675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48674,"mutability":"mutable","name":"value","nameLocation":"5728:5:62","nodeType":"VariableDeclaration","scope":48699,"src":"5720:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48673,"name":"uint256","nodeType":"ElementaryTypeName","src":"5720:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5719:15:62"},"returnParameters":{"id":48678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48677,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48699,"src":"5758:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint184","typeString":"uint184"},"typeName":{"id":48676,"name":"uint184","nodeType":"ElementaryTypeName","src":"5758:7:62","typeDescriptions":{"typeIdentifier":"t_uint184","typeString":"uint184"}},"visibility":"internal"}],"src":"5757:9:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48727,"nodeType":"FunctionDefinition","src":"6210:218:62","nodes":[],"body":{"id":48726,"nodeType":"Block","src":"6276:152:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48707,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48702,"src":"6290:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":48710,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6303:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint176_$","typeString":"type(uint176)"},"typeName":{"id":48709,"name":"uint176","nodeType":"ElementaryTypeName","src":"6303:7:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint176_$","typeString":"type(uint176)"}],"id":48708,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"6298:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":48711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6298:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint176","typeString":"type(uint176)"}},"id":48712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6312:3:62","memberName":"max","nodeType":"MemberAccess","src":"6298:17:62","typeDescriptions":{"typeIdentifier":"t_uint176","typeString":"uint176"}},"src":"6290:25:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48720,"nodeType":"IfStatement","src":"6286:105:62","trueBody":{"id":48719,"nodeType":"Block","src":"6317:74:62","statements":[{"errorCall":{"arguments":[{"hexValue":"313736","id":48715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6369:3:62","typeDescriptions":{"typeIdentifier":"t_rational_176_by_1","typeString":"int_const 176"},"value":"176"},{"id":48716,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48702,"src":"6374:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_176_by_1","typeString":"int_const 176"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48714,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"6338:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":48717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6338:42:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48718,"nodeType":"RevertStatement","src":"6331:49:62"}]}},{"expression":{"arguments":[{"id":48723,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48702,"src":"6415:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6407:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint176_$","typeString":"type(uint176)"},"typeName":{"id":48721,"name":"uint176","nodeType":"ElementaryTypeName","src":"6407:7:62","typeDescriptions":{}}},"id":48724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6407:14:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint176","typeString":"uint176"}},"functionReturnParameters":48706,"id":48725,"nodeType":"Return","src":"6400:21:62"}]},"documentation":{"id":48700,"nodeType":"StructuredDocumentation","src":"5925:280:62","text":" @dev Returns the downcasted uint176 from uint256, reverting on\n overflow (when the input is greater than largest uint176).\n Counterpart to Solidity's `uint176` operator.\n Requirements:\n - input must fit into 176 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint176","nameLocation":"6219:9:62","parameters":{"id":48703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48702,"mutability":"mutable","name":"value","nameLocation":"6237:5:62","nodeType":"VariableDeclaration","scope":48727,"src":"6229:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48701,"name":"uint256","nodeType":"ElementaryTypeName","src":"6229:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6228:15:62"},"returnParameters":{"id":48706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48705,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48727,"src":"6267:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint176","typeString":"uint176"},"typeName":{"id":48704,"name":"uint176","nodeType":"ElementaryTypeName","src":"6267:7:62","typeDescriptions":{"typeIdentifier":"t_uint176","typeString":"uint176"}},"visibility":"internal"}],"src":"6266:9:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48755,"nodeType":"FunctionDefinition","src":"6719:218:62","nodes":[],"body":{"id":48754,"nodeType":"Block","src":"6785:152:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48735,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48730,"src":"6799:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":48738,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6812:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint168_$","typeString":"type(uint168)"},"typeName":{"id":48737,"name":"uint168","nodeType":"ElementaryTypeName","src":"6812:7:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint168_$","typeString":"type(uint168)"}],"id":48736,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"6807:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":48739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6807:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint168","typeString":"type(uint168)"}},"id":48740,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6821:3:62","memberName":"max","nodeType":"MemberAccess","src":"6807:17:62","typeDescriptions":{"typeIdentifier":"t_uint168","typeString":"uint168"}},"src":"6799:25:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48748,"nodeType":"IfStatement","src":"6795:105:62","trueBody":{"id":48747,"nodeType":"Block","src":"6826:74:62","statements":[{"errorCall":{"arguments":[{"hexValue":"313638","id":48743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6878:3:62","typeDescriptions":{"typeIdentifier":"t_rational_168_by_1","typeString":"int_const 168"},"value":"168"},{"id":48744,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48730,"src":"6883:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_168_by_1","typeString":"int_const 168"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48742,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"6847:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":48745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6847:42:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48746,"nodeType":"RevertStatement","src":"6840:49:62"}]}},{"expression":{"arguments":[{"id":48751,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48730,"src":"6924:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6916:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint168_$","typeString":"type(uint168)"},"typeName":{"id":48749,"name":"uint168","nodeType":"ElementaryTypeName","src":"6916:7:62","typeDescriptions":{}}},"id":48752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6916:14:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint168","typeString":"uint168"}},"functionReturnParameters":48734,"id":48753,"nodeType":"Return","src":"6909:21:62"}]},"documentation":{"id":48728,"nodeType":"StructuredDocumentation","src":"6434:280:62","text":" @dev Returns the downcasted uint168 from uint256, reverting on\n overflow (when the input is greater than largest uint168).\n Counterpart to Solidity's `uint168` operator.\n Requirements:\n - input must fit into 168 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint168","nameLocation":"6728:9:62","parameters":{"id":48731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48730,"mutability":"mutable","name":"value","nameLocation":"6746:5:62","nodeType":"VariableDeclaration","scope":48755,"src":"6738:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48729,"name":"uint256","nodeType":"ElementaryTypeName","src":"6738:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6737:15:62"},"returnParameters":{"id":48734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48733,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48755,"src":"6776:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint168","typeString":"uint168"},"typeName":{"id":48732,"name":"uint168","nodeType":"ElementaryTypeName","src":"6776:7:62","typeDescriptions":{"typeIdentifier":"t_uint168","typeString":"uint168"}},"visibility":"internal"}],"src":"6775:9:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48783,"nodeType":"FunctionDefinition","src":"7228:218:62","nodes":[],"body":{"id":48782,"nodeType":"Block","src":"7294:152:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48763,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48758,"src":"7308:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":48766,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7321:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":48765,"name":"uint160","nodeType":"ElementaryTypeName","src":"7321:7:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"}],"id":48764,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"7316:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":48767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7316:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint160","typeString":"type(uint160)"}},"id":48768,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7330:3:62","memberName":"max","nodeType":"MemberAccess","src":"7316:17:62","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"7308:25:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48776,"nodeType":"IfStatement","src":"7304:105:62","trueBody":{"id":48775,"nodeType":"Block","src":"7335:74:62","statements":[{"errorCall":{"arguments":[{"hexValue":"313630","id":48771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7387:3:62","typeDescriptions":{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},"value":"160"},{"id":48772,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48758,"src":"7392:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48770,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"7356:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":48773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7356:42:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48774,"nodeType":"RevertStatement","src":"7349:49:62"}]}},{"expression":{"arguments":[{"id":48779,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48758,"src":"7433:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48778,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7425:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":48777,"name":"uint160","nodeType":"ElementaryTypeName","src":"7425:7:62","typeDescriptions":{}}},"id":48780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7425:14:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":48762,"id":48781,"nodeType":"Return","src":"7418:21:62"}]},"documentation":{"id":48756,"nodeType":"StructuredDocumentation","src":"6943:280:62","text":" @dev Returns the downcasted uint160 from uint256, reverting on\n overflow (when the input is greater than largest uint160).\n Counterpart to Solidity's `uint160` operator.\n Requirements:\n - input must fit into 160 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint160","nameLocation":"7237:9:62","parameters":{"id":48759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48758,"mutability":"mutable","name":"value","nameLocation":"7255:5:62","nodeType":"VariableDeclaration","scope":48783,"src":"7247:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48757,"name":"uint256","nodeType":"ElementaryTypeName","src":"7247:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7246:15:62"},"returnParameters":{"id":48762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48761,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48783,"src":"7285:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":48760,"name":"uint160","nodeType":"ElementaryTypeName","src":"7285:7:62","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"7284:9:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48811,"nodeType":"FunctionDefinition","src":"7737:218:62","nodes":[],"body":{"id":48810,"nodeType":"Block","src":"7803:152:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48791,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48786,"src":"7817:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":48794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7830:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint152_$","typeString":"type(uint152)"},"typeName":{"id":48793,"name":"uint152","nodeType":"ElementaryTypeName","src":"7830:7:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint152_$","typeString":"type(uint152)"}],"id":48792,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"7825:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":48795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7825:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint152","typeString":"type(uint152)"}},"id":48796,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7839:3:62","memberName":"max","nodeType":"MemberAccess","src":"7825:17:62","typeDescriptions":{"typeIdentifier":"t_uint152","typeString":"uint152"}},"src":"7817:25:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48804,"nodeType":"IfStatement","src":"7813:105:62","trueBody":{"id":48803,"nodeType":"Block","src":"7844:74:62","statements":[{"errorCall":{"arguments":[{"hexValue":"313532","id":48799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7896:3:62","typeDescriptions":{"typeIdentifier":"t_rational_152_by_1","typeString":"int_const 152"},"value":"152"},{"id":48800,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48786,"src":"7901:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_152_by_1","typeString":"int_const 152"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48798,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"7865:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":48801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7865:42:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48802,"nodeType":"RevertStatement","src":"7858:49:62"}]}},{"expression":{"arguments":[{"id":48807,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48786,"src":"7942:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7934:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint152_$","typeString":"type(uint152)"},"typeName":{"id":48805,"name":"uint152","nodeType":"ElementaryTypeName","src":"7934:7:62","typeDescriptions":{}}},"id":48808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7934:14:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint152","typeString":"uint152"}},"functionReturnParameters":48790,"id":48809,"nodeType":"Return","src":"7927:21:62"}]},"documentation":{"id":48784,"nodeType":"StructuredDocumentation","src":"7452:280:62","text":" @dev Returns the downcasted uint152 from uint256, reverting on\n overflow (when the input is greater than largest uint152).\n Counterpart to Solidity's `uint152` operator.\n Requirements:\n - input must fit into 152 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint152","nameLocation":"7746:9:62","parameters":{"id":48787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48786,"mutability":"mutable","name":"value","nameLocation":"7764:5:62","nodeType":"VariableDeclaration","scope":48811,"src":"7756:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48785,"name":"uint256","nodeType":"ElementaryTypeName","src":"7756:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7755:15:62"},"returnParameters":{"id":48790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48789,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48811,"src":"7794:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint152","typeString":"uint152"},"typeName":{"id":48788,"name":"uint152","nodeType":"ElementaryTypeName","src":"7794:7:62","typeDescriptions":{"typeIdentifier":"t_uint152","typeString":"uint152"}},"visibility":"internal"}],"src":"7793:9:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48839,"nodeType":"FunctionDefinition","src":"8246:218:62","nodes":[],"body":{"id":48838,"nodeType":"Block","src":"8312:152:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48819,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48814,"src":"8326:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":48822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8339:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint144_$","typeString":"type(uint144)"},"typeName":{"id":48821,"name":"uint144","nodeType":"ElementaryTypeName","src":"8339:7:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint144_$","typeString":"type(uint144)"}],"id":48820,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8334:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":48823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8334:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint144","typeString":"type(uint144)"}},"id":48824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8348:3:62","memberName":"max","nodeType":"MemberAccess","src":"8334:17:62","typeDescriptions":{"typeIdentifier":"t_uint144","typeString":"uint144"}},"src":"8326:25:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48832,"nodeType":"IfStatement","src":"8322:105:62","trueBody":{"id":48831,"nodeType":"Block","src":"8353:74:62","statements":[{"errorCall":{"arguments":[{"hexValue":"313434","id":48827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8405:3:62","typeDescriptions":{"typeIdentifier":"t_rational_144_by_1","typeString":"int_const 144"},"value":"144"},{"id":48828,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48814,"src":"8410:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_144_by_1","typeString":"int_const 144"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48826,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"8374:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":48829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8374:42:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48830,"nodeType":"RevertStatement","src":"8367:49:62"}]}},{"expression":{"arguments":[{"id":48835,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48814,"src":"8451:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48834,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8443:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint144_$","typeString":"type(uint144)"},"typeName":{"id":48833,"name":"uint144","nodeType":"ElementaryTypeName","src":"8443:7:62","typeDescriptions":{}}},"id":48836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8443:14:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint144","typeString":"uint144"}},"functionReturnParameters":48818,"id":48837,"nodeType":"Return","src":"8436:21:62"}]},"documentation":{"id":48812,"nodeType":"StructuredDocumentation","src":"7961:280:62","text":" @dev Returns the downcasted uint144 from uint256, reverting on\n overflow (when the input is greater than largest uint144).\n Counterpart to Solidity's `uint144` operator.\n Requirements:\n - input must fit into 144 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint144","nameLocation":"8255:9:62","parameters":{"id":48815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48814,"mutability":"mutable","name":"value","nameLocation":"8273:5:62","nodeType":"VariableDeclaration","scope":48839,"src":"8265:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48813,"name":"uint256","nodeType":"ElementaryTypeName","src":"8265:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8264:15:62"},"returnParameters":{"id":48818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48817,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48839,"src":"8303:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint144","typeString":"uint144"},"typeName":{"id":48816,"name":"uint144","nodeType":"ElementaryTypeName","src":"8303:7:62","typeDescriptions":{"typeIdentifier":"t_uint144","typeString":"uint144"}},"visibility":"internal"}],"src":"8302:9:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48867,"nodeType":"FunctionDefinition","src":"8755:218:62","nodes":[],"body":{"id":48866,"nodeType":"Block","src":"8821:152:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48847,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48842,"src":"8835:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":48850,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8848:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint136_$","typeString":"type(uint136)"},"typeName":{"id":48849,"name":"uint136","nodeType":"ElementaryTypeName","src":"8848:7:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint136_$","typeString":"type(uint136)"}],"id":48848,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8843:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":48851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8843:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint136","typeString":"type(uint136)"}},"id":48852,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8857:3:62","memberName":"max","nodeType":"MemberAccess","src":"8843:17:62","typeDescriptions":{"typeIdentifier":"t_uint136","typeString":"uint136"}},"src":"8835:25:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48860,"nodeType":"IfStatement","src":"8831:105:62","trueBody":{"id":48859,"nodeType":"Block","src":"8862:74:62","statements":[{"errorCall":{"arguments":[{"hexValue":"313336","id":48855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8914:3:62","typeDescriptions":{"typeIdentifier":"t_rational_136_by_1","typeString":"int_const 136"},"value":"136"},{"id":48856,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48842,"src":"8919:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_136_by_1","typeString":"int_const 136"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48854,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"8883:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":48857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8883:42:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48858,"nodeType":"RevertStatement","src":"8876:49:62"}]}},{"expression":{"arguments":[{"id":48863,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48842,"src":"8960:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48862,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8952:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint136_$","typeString":"type(uint136)"},"typeName":{"id":48861,"name":"uint136","nodeType":"ElementaryTypeName","src":"8952:7:62","typeDescriptions":{}}},"id":48864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8952:14:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint136","typeString":"uint136"}},"functionReturnParameters":48846,"id":48865,"nodeType":"Return","src":"8945:21:62"}]},"documentation":{"id":48840,"nodeType":"StructuredDocumentation","src":"8470:280:62","text":" @dev Returns the downcasted uint136 from uint256, reverting on\n overflow (when the input is greater than largest uint136).\n Counterpart to Solidity's `uint136` operator.\n Requirements:\n - input must fit into 136 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint136","nameLocation":"8764:9:62","parameters":{"id":48843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48842,"mutability":"mutable","name":"value","nameLocation":"8782:5:62","nodeType":"VariableDeclaration","scope":48867,"src":"8774:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48841,"name":"uint256","nodeType":"ElementaryTypeName","src":"8774:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8773:15:62"},"returnParameters":{"id":48846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48845,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48867,"src":"8812:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint136","typeString":"uint136"},"typeName":{"id":48844,"name":"uint136","nodeType":"ElementaryTypeName","src":"8812:7:62","typeDescriptions":{"typeIdentifier":"t_uint136","typeString":"uint136"}},"visibility":"internal"}],"src":"8811:9:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48895,"nodeType":"FunctionDefinition","src":"9264:218:62","nodes":[],"body":{"id":48894,"nodeType":"Block","src":"9330:152:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48875,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48870,"src":"9344:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":48878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9357:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":48877,"name":"uint128","nodeType":"ElementaryTypeName","src":"9357:7:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"}],"id":48876,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9352:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":48879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9352:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint128","typeString":"type(uint128)"}},"id":48880,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9366:3:62","memberName":"max","nodeType":"MemberAccess","src":"9352:17:62","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"9344:25:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48888,"nodeType":"IfStatement","src":"9340:105:62","trueBody":{"id":48887,"nodeType":"Block","src":"9371:74:62","statements":[{"errorCall":{"arguments":[{"hexValue":"313238","id":48883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9423:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},{"id":48884,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48870,"src":"9428:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48882,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"9392:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":48885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9392:42:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48886,"nodeType":"RevertStatement","src":"9385:49:62"}]}},{"expression":{"arguments":[{"id":48891,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48870,"src":"9469:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9461:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":48889,"name":"uint128","nodeType":"ElementaryTypeName","src":"9461:7:62","typeDescriptions":{}}},"id":48892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9461:14:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"functionReturnParameters":48874,"id":48893,"nodeType":"Return","src":"9454:21:62"}]},"documentation":{"id":48868,"nodeType":"StructuredDocumentation","src":"8979:280:62","text":" @dev Returns the downcasted uint128 from uint256, reverting on\n overflow (when the input is greater than largest uint128).\n Counterpart to Solidity's `uint128` operator.\n Requirements:\n - input must fit into 128 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint128","nameLocation":"9273:9:62","parameters":{"id":48871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48870,"mutability":"mutable","name":"value","nameLocation":"9291:5:62","nodeType":"VariableDeclaration","scope":48895,"src":"9283:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48869,"name":"uint256","nodeType":"ElementaryTypeName","src":"9283:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9282:15:62"},"returnParameters":{"id":48874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48873,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48895,"src":"9321:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":48872,"name":"uint128","nodeType":"ElementaryTypeName","src":"9321:7:62","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"9320:9:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48923,"nodeType":"FunctionDefinition","src":"9773:218:62","nodes":[],"body":{"id":48922,"nodeType":"Block","src":"9839:152:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48909,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48903,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48898,"src":"9853:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":48906,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9866:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint120_$","typeString":"type(uint120)"},"typeName":{"id":48905,"name":"uint120","nodeType":"ElementaryTypeName","src":"9866:7:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint120_$","typeString":"type(uint120)"}],"id":48904,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9861:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":48907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9861:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint120","typeString":"type(uint120)"}},"id":48908,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9875:3:62","memberName":"max","nodeType":"MemberAccess","src":"9861:17:62","typeDescriptions":{"typeIdentifier":"t_uint120","typeString":"uint120"}},"src":"9853:25:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48916,"nodeType":"IfStatement","src":"9849:105:62","trueBody":{"id":48915,"nodeType":"Block","src":"9880:74:62","statements":[{"errorCall":{"arguments":[{"hexValue":"313230","id":48911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9932:3:62","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},{"id":48912,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48898,"src":"9937:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48910,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"9901:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":48913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9901:42:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48914,"nodeType":"RevertStatement","src":"9894:49:62"}]}},{"expression":{"arguments":[{"id":48919,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48898,"src":"9978:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48918,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9970:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint120_$","typeString":"type(uint120)"},"typeName":{"id":48917,"name":"uint120","nodeType":"ElementaryTypeName","src":"9970:7:62","typeDescriptions":{}}},"id":48920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9970:14:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint120","typeString":"uint120"}},"functionReturnParameters":48902,"id":48921,"nodeType":"Return","src":"9963:21:62"}]},"documentation":{"id":48896,"nodeType":"StructuredDocumentation","src":"9488:280:62","text":" @dev Returns the downcasted uint120 from uint256, reverting on\n overflow (when the input is greater than largest uint120).\n Counterpart to Solidity's `uint120` operator.\n Requirements:\n - input must fit into 120 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint120","nameLocation":"9782:9:62","parameters":{"id":48899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48898,"mutability":"mutable","name":"value","nameLocation":"9800:5:62","nodeType":"VariableDeclaration","scope":48923,"src":"9792:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48897,"name":"uint256","nodeType":"ElementaryTypeName","src":"9792:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9791:15:62"},"returnParameters":{"id":48902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48901,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48923,"src":"9830:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint120","typeString":"uint120"},"typeName":{"id":48900,"name":"uint120","nodeType":"ElementaryTypeName","src":"9830:7:62","typeDescriptions":{"typeIdentifier":"t_uint120","typeString":"uint120"}},"visibility":"internal"}],"src":"9829:9:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48951,"nodeType":"FunctionDefinition","src":"10282:218:62","nodes":[],"body":{"id":48950,"nodeType":"Block","src":"10348:152:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48931,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48926,"src":"10362:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":48934,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10375:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint112_$","typeString":"type(uint112)"},"typeName":{"id":48933,"name":"uint112","nodeType":"ElementaryTypeName","src":"10375:7:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint112_$","typeString":"type(uint112)"}],"id":48932,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"10370:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":48935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10370:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint112","typeString":"type(uint112)"}},"id":48936,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10384:3:62","memberName":"max","nodeType":"MemberAccess","src":"10370:17:62","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"src":"10362:25:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48944,"nodeType":"IfStatement","src":"10358:105:62","trueBody":{"id":48943,"nodeType":"Block","src":"10389:74:62","statements":[{"errorCall":{"arguments":[{"hexValue":"313132","id":48939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10441:3:62","typeDescriptions":{"typeIdentifier":"t_rational_112_by_1","typeString":"int_const 112"},"value":"112"},{"id":48940,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48926,"src":"10446:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_112_by_1","typeString":"int_const 112"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48938,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"10410:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":48941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10410:42:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48942,"nodeType":"RevertStatement","src":"10403:49:62"}]}},{"expression":{"arguments":[{"id":48947,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48926,"src":"10487:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48946,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10479:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint112_$","typeString":"type(uint112)"},"typeName":{"id":48945,"name":"uint112","nodeType":"ElementaryTypeName","src":"10479:7:62","typeDescriptions":{}}},"id":48948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10479:14:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"functionReturnParameters":48930,"id":48949,"nodeType":"Return","src":"10472:21:62"}]},"documentation":{"id":48924,"nodeType":"StructuredDocumentation","src":"9997:280:62","text":" @dev Returns the downcasted uint112 from uint256, reverting on\n overflow (when the input is greater than largest uint112).\n Counterpart to Solidity's `uint112` operator.\n Requirements:\n - input must fit into 112 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint112","nameLocation":"10291:9:62","parameters":{"id":48927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48926,"mutability":"mutable","name":"value","nameLocation":"10309:5:62","nodeType":"VariableDeclaration","scope":48951,"src":"10301:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48925,"name":"uint256","nodeType":"ElementaryTypeName","src":"10301:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10300:15:62"},"returnParameters":{"id":48930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48929,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48951,"src":"10339:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"},"typeName":{"id":48928,"name":"uint112","nodeType":"ElementaryTypeName","src":"10339:7:62","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"visibility":"internal"}],"src":"10338:9:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":48979,"nodeType":"FunctionDefinition","src":"10791:218:62","nodes":[],"body":{"id":48978,"nodeType":"Block","src":"10857:152:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48959,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48954,"src":"10871:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":48962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10884:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint104_$","typeString":"type(uint104)"},"typeName":{"id":48961,"name":"uint104","nodeType":"ElementaryTypeName","src":"10884:7:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint104_$","typeString":"type(uint104)"}],"id":48960,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"10879:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":48963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10879:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint104","typeString":"type(uint104)"}},"id":48964,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10893:3:62","memberName":"max","nodeType":"MemberAccess","src":"10879:17:62","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},"src":"10871:25:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48972,"nodeType":"IfStatement","src":"10867:105:62","trueBody":{"id":48971,"nodeType":"Block","src":"10898:74:62","statements":[{"errorCall":{"arguments":[{"hexValue":"313034","id":48967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10950:3:62","typeDescriptions":{"typeIdentifier":"t_rational_104_by_1","typeString":"int_const 104"},"value":"104"},{"id":48968,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48954,"src":"10955:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_104_by_1","typeString":"int_const 104"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48966,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"10919:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":48969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10919:42:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48970,"nodeType":"RevertStatement","src":"10912:49:62"}]}},{"expression":{"arguments":[{"id":48975,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48954,"src":"10996:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48974,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10988:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint104_$","typeString":"type(uint104)"},"typeName":{"id":48973,"name":"uint104","nodeType":"ElementaryTypeName","src":"10988:7:62","typeDescriptions":{}}},"id":48976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10988:14:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},"functionReturnParameters":48958,"id":48977,"nodeType":"Return","src":"10981:21:62"}]},"documentation":{"id":48952,"nodeType":"StructuredDocumentation","src":"10506:280:62","text":" @dev Returns the downcasted uint104 from uint256, reverting on\n overflow (when the input is greater than largest uint104).\n Counterpart to Solidity's `uint104` operator.\n Requirements:\n - input must fit into 104 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint104","nameLocation":"10800:9:62","parameters":{"id":48955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48954,"mutability":"mutable","name":"value","nameLocation":"10818:5:62","nodeType":"VariableDeclaration","scope":48979,"src":"10810:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48953,"name":"uint256","nodeType":"ElementaryTypeName","src":"10810:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10809:15:62"},"returnParameters":{"id":48958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48957,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":48979,"src":"10848:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"},"typeName":{"id":48956,"name":"uint104","nodeType":"ElementaryTypeName","src":"10848:7:62","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},"visibility":"internal"}],"src":"10847:9:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49007,"nodeType":"FunctionDefinition","src":"11296:213:62","nodes":[],"body":{"id":49006,"nodeType":"Block","src":"11360:149:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48987,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48982,"src":"11374:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":48990,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11387:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint96_$","typeString":"type(uint96)"},"typeName":{"id":48989,"name":"uint96","nodeType":"ElementaryTypeName","src":"11387:6:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint96_$","typeString":"type(uint96)"}],"id":48988,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11382:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":48991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11382:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint96","typeString":"type(uint96)"}},"id":48992,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11395:3:62","memberName":"max","nodeType":"MemberAccess","src":"11382:16:62","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"11374:24:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49000,"nodeType":"IfStatement","src":"11370:103:62","trueBody":{"id":48999,"nodeType":"Block","src":"11400:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"3936","id":48995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11452:2:62","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},{"id":48996,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48982,"src":"11456:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":48994,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"11421:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":48997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11421:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":48998,"nodeType":"RevertStatement","src":"11414:48:62"}]}},{"expression":{"arguments":[{"id":49003,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48982,"src":"11496:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11489:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint96_$","typeString":"type(uint96)"},"typeName":{"id":49001,"name":"uint96","nodeType":"ElementaryTypeName","src":"11489:6:62","typeDescriptions":{}}},"id":49004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11489:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"functionReturnParameters":48986,"id":49005,"nodeType":"Return","src":"11482:20:62"}]},"documentation":{"id":48980,"nodeType":"StructuredDocumentation","src":"11015:276:62","text":" @dev Returns the downcasted uint96 from uint256, reverting on\n overflow (when the input is greater than largest uint96).\n Counterpart to Solidity's `uint96` operator.\n Requirements:\n - input must fit into 96 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint96","nameLocation":"11305:8:62","parameters":{"id":48983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48982,"mutability":"mutable","name":"value","nameLocation":"11322:5:62","nodeType":"VariableDeclaration","scope":49007,"src":"11314:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48981,"name":"uint256","nodeType":"ElementaryTypeName","src":"11314:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11313:15:62"},"returnParameters":{"id":48986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48985,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49007,"src":"11352:6:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":48984,"name":"uint96","nodeType":"ElementaryTypeName","src":"11352:6:62","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"src":"11351:8:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49035,"nodeType":"FunctionDefinition","src":"11796:213:62","nodes":[],"body":{"id":49034,"nodeType":"Block","src":"11860:149:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49015,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49010,"src":"11874:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":49018,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11887:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint88_$","typeString":"type(uint88)"},"typeName":{"id":49017,"name":"uint88","nodeType":"ElementaryTypeName","src":"11887:6:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint88_$","typeString":"type(uint88)"}],"id":49016,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11882:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":49019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11882:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint88","typeString":"type(uint88)"}},"id":49020,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11895:3:62","memberName":"max","nodeType":"MemberAccess","src":"11882:16:62","typeDescriptions":{"typeIdentifier":"t_uint88","typeString":"uint88"}},"src":"11874:24:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49028,"nodeType":"IfStatement","src":"11870:103:62","trueBody":{"id":49027,"nodeType":"Block","src":"11900:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"3838","id":49023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11952:2:62","typeDescriptions":{"typeIdentifier":"t_rational_88_by_1","typeString":"int_const 88"},"value":"88"},{"id":49024,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49010,"src":"11956:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_88_by_1","typeString":"int_const 88"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49022,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"11921:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":49025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11921:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49026,"nodeType":"RevertStatement","src":"11914:48:62"}]}},{"expression":{"arguments":[{"id":49031,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49010,"src":"11996:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49030,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11989:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint88_$","typeString":"type(uint88)"},"typeName":{"id":49029,"name":"uint88","nodeType":"ElementaryTypeName","src":"11989:6:62","typeDescriptions":{}}},"id":49032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11989:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint88","typeString":"uint88"}},"functionReturnParameters":49014,"id":49033,"nodeType":"Return","src":"11982:20:62"}]},"documentation":{"id":49008,"nodeType":"StructuredDocumentation","src":"11515:276:62","text":" @dev Returns the downcasted uint88 from uint256, reverting on\n overflow (when the input is greater than largest uint88).\n Counterpart to Solidity's `uint88` operator.\n Requirements:\n - input must fit into 88 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint88","nameLocation":"11805:8:62","parameters":{"id":49011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49010,"mutability":"mutable","name":"value","nameLocation":"11822:5:62","nodeType":"VariableDeclaration","scope":49035,"src":"11814:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49009,"name":"uint256","nodeType":"ElementaryTypeName","src":"11814:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11813:15:62"},"returnParameters":{"id":49014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49013,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49035,"src":"11852:6:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint88","typeString":"uint88"},"typeName":{"id":49012,"name":"uint88","nodeType":"ElementaryTypeName","src":"11852:6:62","typeDescriptions":{"typeIdentifier":"t_uint88","typeString":"uint88"}},"visibility":"internal"}],"src":"11851:8:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49063,"nodeType":"FunctionDefinition","src":"12296:213:62","nodes":[],"body":{"id":49062,"nodeType":"Block","src":"12360:149:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49043,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"12374:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":49046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12387:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint80_$","typeString":"type(uint80)"},"typeName":{"id":49045,"name":"uint80","nodeType":"ElementaryTypeName","src":"12387:6:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint80_$","typeString":"type(uint80)"}],"id":49044,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"12382:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":49047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12382:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint80","typeString":"type(uint80)"}},"id":49048,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12395:3:62","memberName":"max","nodeType":"MemberAccess","src":"12382:16:62","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"src":"12374:24:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49056,"nodeType":"IfStatement","src":"12370:103:62","trueBody":{"id":49055,"nodeType":"Block","src":"12400:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"3830","id":49051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12452:2:62","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},{"id":49052,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"12456:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49050,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"12421:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":49053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12421:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49054,"nodeType":"RevertStatement","src":"12414:48:62"}]}},{"expression":{"arguments":[{"id":49059,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49038,"src":"12496:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49058,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12489:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint80_$","typeString":"type(uint80)"},"typeName":{"id":49057,"name":"uint80","nodeType":"ElementaryTypeName","src":"12489:6:62","typeDescriptions":{}}},"id":49060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12489:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"functionReturnParameters":49042,"id":49061,"nodeType":"Return","src":"12482:20:62"}]},"documentation":{"id":49036,"nodeType":"StructuredDocumentation","src":"12015:276:62","text":" @dev Returns the downcasted uint80 from uint256, reverting on\n overflow (when the input is greater than largest uint80).\n Counterpart to Solidity's `uint80` operator.\n Requirements:\n - input must fit into 80 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint80","nameLocation":"12305:8:62","parameters":{"id":49039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49038,"mutability":"mutable","name":"value","nameLocation":"12322:5:62","nodeType":"VariableDeclaration","scope":49063,"src":"12314:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49037,"name":"uint256","nodeType":"ElementaryTypeName","src":"12314:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12313:15:62"},"returnParameters":{"id":49042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49041,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49063,"src":"12352:6:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"},"typeName":{"id":49040,"name":"uint80","nodeType":"ElementaryTypeName","src":"12352:6:62","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"visibility":"internal"}],"src":"12351:8:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49091,"nodeType":"FunctionDefinition","src":"12796:213:62","nodes":[],"body":{"id":49090,"nodeType":"Block","src":"12860:149:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49071,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49066,"src":"12874:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":49074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12887:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint72_$","typeString":"type(uint72)"},"typeName":{"id":49073,"name":"uint72","nodeType":"ElementaryTypeName","src":"12887:6:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint72_$","typeString":"type(uint72)"}],"id":49072,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"12882:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":49075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12882:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint72","typeString":"type(uint72)"}},"id":49076,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12895:3:62","memberName":"max","nodeType":"MemberAccess","src":"12882:16:62","typeDescriptions":{"typeIdentifier":"t_uint72","typeString":"uint72"}},"src":"12874:24:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49084,"nodeType":"IfStatement","src":"12870:103:62","trueBody":{"id":49083,"nodeType":"Block","src":"12900:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"3732","id":49079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12952:2:62","typeDescriptions":{"typeIdentifier":"t_rational_72_by_1","typeString":"int_const 72"},"value":"72"},{"id":49080,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49066,"src":"12956:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_72_by_1","typeString":"int_const 72"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49078,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"12921:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":49081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12921:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49082,"nodeType":"RevertStatement","src":"12914:48:62"}]}},{"expression":{"arguments":[{"id":49087,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49066,"src":"12996:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49086,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12989:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint72_$","typeString":"type(uint72)"},"typeName":{"id":49085,"name":"uint72","nodeType":"ElementaryTypeName","src":"12989:6:62","typeDescriptions":{}}},"id":49088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12989:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint72","typeString":"uint72"}},"functionReturnParameters":49070,"id":49089,"nodeType":"Return","src":"12982:20:62"}]},"documentation":{"id":49064,"nodeType":"StructuredDocumentation","src":"12515:276:62","text":" @dev Returns the downcasted uint72 from uint256, reverting on\n overflow (when the input is greater than largest uint72).\n Counterpart to Solidity's `uint72` operator.\n Requirements:\n - input must fit into 72 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint72","nameLocation":"12805:8:62","parameters":{"id":49067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49066,"mutability":"mutable","name":"value","nameLocation":"12822:5:62","nodeType":"VariableDeclaration","scope":49091,"src":"12814:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49065,"name":"uint256","nodeType":"ElementaryTypeName","src":"12814:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12813:15:62"},"returnParameters":{"id":49070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49069,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49091,"src":"12852:6:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint72","typeString":"uint72"},"typeName":{"id":49068,"name":"uint72","nodeType":"ElementaryTypeName","src":"12852:6:62","typeDescriptions":{"typeIdentifier":"t_uint72","typeString":"uint72"}},"visibility":"internal"}],"src":"12851:8:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49119,"nodeType":"FunctionDefinition","src":"13296:213:62","nodes":[],"body":{"id":49118,"nodeType":"Block","src":"13360:149:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49099,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49094,"src":"13374:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":49102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13387:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":49101,"name":"uint64","nodeType":"ElementaryTypeName","src":"13387:6:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"}],"id":49100,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"13382:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":49103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13382:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint64","typeString":"type(uint64)"}},"id":49104,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13395:3:62","memberName":"max","nodeType":"MemberAccess","src":"13382:16:62","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"13374:24:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49112,"nodeType":"IfStatement","src":"13370:103:62","trueBody":{"id":49111,"nodeType":"Block","src":"13400:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"3634","id":49107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13452:2:62","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},{"id":49108,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49094,"src":"13456:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49106,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"13421:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":49109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13421:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49110,"nodeType":"RevertStatement","src":"13414:48:62"}]}},{"expression":{"arguments":[{"id":49115,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49094,"src":"13496:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49114,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13489:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":49113,"name":"uint64","nodeType":"ElementaryTypeName","src":"13489:6:62","typeDescriptions":{}}},"id":49116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13489:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":49098,"id":49117,"nodeType":"Return","src":"13482:20:62"}]},"documentation":{"id":49092,"nodeType":"StructuredDocumentation","src":"13015:276:62","text":" @dev Returns the downcasted uint64 from uint256, reverting on\n overflow (when the input is greater than largest uint64).\n Counterpart to Solidity's `uint64` operator.\n Requirements:\n - input must fit into 64 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint64","nameLocation":"13305:8:62","parameters":{"id":49095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49094,"mutability":"mutable","name":"value","nameLocation":"13322:5:62","nodeType":"VariableDeclaration","scope":49119,"src":"13314:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49093,"name":"uint256","nodeType":"ElementaryTypeName","src":"13314:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13313:15:62"},"returnParameters":{"id":49098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49097,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49119,"src":"13352:6:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":49096,"name":"uint64","nodeType":"ElementaryTypeName","src":"13352:6:62","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"13351:8:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49147,"nodeType":"FunctionDefinition","src":"13796:213:62","nodes":[],"body":{"id":49146,"nodeType":"Block","src":"13860:149:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49127,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49122,"src":"13874:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":49130,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13887:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"},"typeName":{"id":49129,"name":"uint56","nodeType":"ElementaryTypeName","src":"13887:6:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"}],"id":49128,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"13882:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":49131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13882:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint56","typeString":"type(uint56)"}},"id":49132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13895:3:62","memberName":"max","nodeType":"MemberAccess","src":"13882:16:62","typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"}},"src":"13874:24:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49140,"nodeType":"IfStatement","src":"13870:103:62","trueBody":{"id":49139,"nodeType":"Block","src":"13900:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"3536","id":49135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13952:2:62","typeDescriptions":{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},"value":"56"},{"id":49136,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49122,"src":"13956:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49134,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"13921:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":49137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13921:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49138,"nodeType":"RevertStatement","src":"13914:48:62"}]}},{"expression":{"arguments":[{"id":49143,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49122,"src":"13996:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13989:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"},"typeName":{"id":49141,"name":"uint56","nodeType":"ElementaryTypeName","src":"13989:6:62","typeDescriptions":{}}},"id":49144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13989:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"}},"functionReturnParameters":49126,"id":49145,"nodeType":"Return","src":"13982:20:62"}]},"documentation":{"id":49120,"nodeType":"StructuredDocumentation","src":"13515:276:62","text":" @dev Returns the downcasted uint56 from uint256, reverting on\n overflow (when the input is greater than largest uint56).\n Counterpart to Solidity's `uint56` operator.\n Requirements:\n - input must fit into 56 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint56","nameLocation":"13805:8:62","parameters":{"id":49123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49122,"mutability":"mutable","name":"value","nameLocation":"13822:5:62","nodeType":"VariableDeclaration","scope":49147,"src":"13814:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49121,"name":"uint256","nodeType":"ElementaryTypeName","src":"13814:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13813:15:62"},"returnParameters":{"id":49126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49125,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49147,"src":"13852:6:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"},"typeName":{"id":49124,"name":"uint56","nodeType":"ElementaryTypeName","src":"13852:6:62","typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"}},"visibility":"internal"}],"src":"13851:8:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49175,"nodeType":"FunctionDefinition","src":"14296:213:62","nodes":[],"body":{"id":49174,"nodeType":"Block","src":"14360:149:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49155,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49150,"src":"14374:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":49158,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14387:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":49157,"name":"uint48","nodeType":"ElementaryTypeName","src":"14387:6:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"}],"id":49156,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"14382:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":49159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14382:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint48","typeString":"type(uint48)"}},"id":49160,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14395:3:62","memberName":"max","nodeType":"MemberAccess","src":"14382:16:62","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"14374:24:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49168,"nodeType":"IfStatement","src":"14370:103:62","trueBody":{"id":49167,"nodeType":"Block","src":"14400:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"3438","id":49163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14452:2:62","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},{"id":49164,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49150,"src":"14456:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49162,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"14421:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":49165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14421:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49166,"nodeType":"RevertStatement","src":"14414:48:62"}]}},{"expression":{"arguments":[{"id":49171,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49150,"src":"14496:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49170,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14489:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":49169,"name":"uint48","nodeType":"ElementaryTypeName","src":"14489:6:62","typeDescriptions":{}}},"id":49172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14489:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":49154,"id":49173,"nodeType":"Return","src":"14482:20:62"}]},"documentation":{"id":49148,"nodeType":"StructuredDocumentation","src":"14015:276:62","text":" @dev Returns the downcasted uint48 from uint256, reverting on\n overflow (when the input is greater than largest uint48).\n Counterpart to Solidity's `uint48` operator.\n Requirements:\n - input must fit into 48 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint48","nameLocation":"14305:8:62","parameters":{"id":49151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49150,"mutability":"mutable","name":"value","nameLocation":"14322:5:62","nodeType":"VariableDeclaration","scope":49175,"src":"14314:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49149,"name":"uint256","nodeType":"ElementaryTypeName","src":"14314:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14313:15:62"},"returnParameters":{"id":49154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49153,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49175,"src":"14352:6:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":49152,"name":"uint48","nodeType":"ElementaryTypeName","src":"14352:6:62","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"14351:8:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49203,"nodeType":"FunctionDefinition","src":"14796:213:62","nodes":[],"body":{"id":49202,"nodeType":"Block","src":"14860:149:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49183,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49178,"src":"14874:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":49186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14887:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":49185,"name":"uint40","nodeType":"ElementaryTypeName","src":"14887:6:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"}],"id":49184,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"14882:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":49187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14882:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint40","typeString":"type(uint40)"}},"id":49188,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14895:3:62","memberName":"max","nodeType":"MemberAccess","src":"14882:16:62","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"src":"14874:24:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49196,"nodeType":"IfStatement","src":"14870:103:62","trueBody":{"id":49195,"nodeType":"Block","src":"14900:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"3430","id":49191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14952:2:62","typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"value":"40"},{"id":49192,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49178,"src":"14956:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49190,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"14921:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":49193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14921:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49194,"nodeType":"RevertStatement","src":"14914:48:62"}]}},{"expression":{"arguments":[{"id":49199,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49178,"src":"14996:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49198,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14989:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":49197,"name":"uint40","nodeType":"ElementaryTypeName","src":"14989:6:62","typeDescriptions":{}}},"id":49200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14989:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"functionReturnParameters":49182,"id":49201,"nodeType":"Return","src":"14982:20:62"}]},"documentation":{"id":49176,"nodeType":"StructuredDocumentation","src":"14515:276:62","text":" @dev Returns the downcasted uint40 from uint256, reverting on\n overflow (when the input is greater than largest uint40).\n Counterpart to Solidity's `uint40` operator.\n Requirements:\n - input must fit into 40 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint40","nameLocation":"14805:8:62","parameters":{"id":49179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49178,"mutability":"mutable","name":"value","nameLocation":"14822:5:62","nodeType":"VariableDeclaration","scope":49203,"src":"14814:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49177,"name":"uint256","nodeType":"ElementaryTypeName","src":"14814:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14813:15:62"},"returnParameters":{"id":49182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49181,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49203,"src":"14852:6:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"},"typeName":{"id":49180,"name":"uint40","nodeType":"ElementaryTypeName","src":"14852:6:62","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"visibility":"internal"}],"src":"14851:8:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49231,"nodeType":"FunctionDefinition","src":"15296:213:62","nodes":[],"body":{"id":49230,"nodeType":"Block","src":"15360:149:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49211,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49206,"src":"15374:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":49214,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15387:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":49213,"name":"uint32","nodeType":"ElementaryTypeName","src":"15387:6:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"}],"id":49212,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"15382:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":49215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15382:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint32","typeString":"type(uint32)"}},"id":49216,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15395:3:62","memberName":"max","nodeType":"MemberAccess","src":"15382:16:62","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"15374:24:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49224,"nodeType":"IfStatement","src":"15370:103:62","trueBody":{"id":49223,"nodeType":"Block","src":"15400:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"3332","id":49219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15452:2:62","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},{"id":49220,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49206,"src":"15456:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49218,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"15421:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":49221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15421:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49222,"nodeType":"RevertStatement","src":"15414:48:62"}]}},{"expression":{"arguments":[{"id":49227,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49206,"src":"15496:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49226,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15489:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":49225,"name":"uint32","nodeType":"ElementaryTypeName","src":"15489:6:62","typeDescriptions":{}}},"id":49228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15489:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"functionReturnParameters":49210,"id":49229,"nodeType":"Return","src":"15482:20:62"}]},"documentation":{"id":49204,"nodeType":"StructuredDocumentation","src":"15015:276:62","text":" @dev Returns the downcasted uint32 from uint256, reverting on\n overflow (when the input is greater than largest uint32).\n Counterpart to Solidity's `uint32` operator.\n Requirements:\n - input must fit into 32 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint32","nameLocation":"15305:8:62","parameters":{"id":49207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49206,"mutability":"mutable","name":"value","nameLocation":"15322:5:62","nodeType":"VariableDeclaration","scope":49231,"src":"15314:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49205,"name":"uint256","nodeType":"ElementaryTypeName","src":"15314:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15313:15:62"},"returnParameters":{"id":49210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49209,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49231,"src":"15352:6:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":49208,"name":"uint32","nodeType":"ElementaryTypeName","src":"15352:6:62","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"15351:8:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49259,"nodeType":"FunctionDefinition","src":"15796:213:62","nodes":[],"body":{"id":49258,"nodeType":"Block","src":"15860:149:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49239,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49234,"src":"15874:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":49242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15887:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint24_$","typeString":"type(uint24)"},"typeName":{"id":49241,"name":"uint24","nodeType":"ElementaryTypeName","src":"15887:6:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint24_$","typeString":"type(uint24)"}],"id":49240,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"15882:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":49243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15882:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint24","typeString":"type(uint24)"}},"id":49244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15895:3:62","memberName":"max","nodeType":"MemberAccess","src":"15882:16:62","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"src":"15874:24:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49252,"nodeType":"IfStatement","src":"15870:103:62","trueBody":{"id":49251,"nodeType":"Block","src":"15900:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"3234","id":49247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15952:2:62","typeDescriptions":{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},"value":"24"},{"id":49248,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49234,"src":"15956:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49246,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"15921:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":49249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15921:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49250,"nodeType":"RevertStatement","src":"15914:48:62"}]}},{"expression":{"arguments":[{"id":49255,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49234,"src":"15996:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49254,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15989:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint24_$","typeString":"type(uint24)"},"typeName":{"id":49253,"name":"uint24","nodeType":"ElementaryTypeName","src":"15989:6:62","typeDescriptions":{}}},"id":49256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15989:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"functionReturnParameters":49238,"id":49257,"nodeType":"Return","src":"15982:20:62"}]},"documentation":{"id":49232,"nodeType":"StructuredDocumentation","src":"15515:276:62","text":" @dev Returns the downcasted uint24 from uint256, reverting on\n overflow (when the input is greater than largest uint24).\n Counterpart to Solidity's `uint24` operator.\n Requirements:\n - input must fit into 24 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint24","nameLocation":"15805:8:62","parameters":{"id":49235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49234,"mutability":"mutable","name":"value","nameLocation":"15822:5:62","nodeType":"VariableDeclaration","scope":49259,"src":"15814:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49233,"name":"uint256","nodeType":"ElementaryTypeName","src":"15814:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15813:15:62"},"returnParameters":{"id":49238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49237,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49259,"src":"15852:6:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":49236,"name":"uint24","nodeType":"ElementaryTypeName","src":"15852:6:62","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"15851:8:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49287,"nodeType":"FunctionDefinition","src":"16296:213:62","nodes":[],"body":{"id":49286,"nodeType":"Block","src":"16360:149:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49267,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49262,"src":"16374:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":49270,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16387:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"},"typeName":{"id":49269,"name":"uint16","nodeType":"ElementaryTypeName","src":"16387:6:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"}],"id":49268,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"16382:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":49271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16382:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint16","typeString":"type(uint16)"}},"id":49272,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16395:3:62","memberName":"max","nodeType":"MemberAccess","src":"16382:16:62","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"src":"16374:24:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49280,"nodeType":"IfStatement","src":"16370:103:62","trueBody":{"id":49279,"nodeType":"Block","src":"16400:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"3136","id":49275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16452:2:62","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},{"id":49276,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49262,"src":"16456:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49274,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"16421:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":49277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16421:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49278,"nodeType":"RevertStatement","src":"16414:48:62"}]}},{"expression":{"arguments":[{"id":49283,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49262,"src":"16496:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49282,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16489:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"},"typeName":{"id":49281,"name":"uint16","nodeType":"ElementaryTypeName","src":"16489:6:62","typeDescriptions":{}}},"id":49284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16489:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"functionReturnParameters":49266,"id":49285,"nodeType":"Return","src":"16482:20:62"}]},"documentation":{"id":49260,"nodeType":"StructuredDocumentation","src":"16015:276:62","text":" @dev Returns the downcasted uint16 from uint256, reverting on\n overflow (when the input is greater than largest uint16).\n Counterpart to Solidity's `uint16` operator.\n Requirements:\n - input must fit into 16 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint16","nameLocation":"16305:8:62","parameters":{"id":49263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49262,"mutability":"mutable","name":"value","nameLocation":"16322:5:62","nodeType":"VariableDeclaration","scope":49287,"src":"16314:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49261,"name":"uint256","nodeType":"ElementaryTypeName","src":"16314:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16313:15:62"},"returnParameters":{"id":49266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49265,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49287,"src":"16352:6:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":49264,"name":"uint16","nodeType":"ElementaryTypeName","src":"16352:6:62","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"}],"src":"16351:8:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49315,"nodeType":"FunctionDefinition","src":"16792:208:62","nodes":[],"body":{"id":49314,"nodeType":"Block","src":"16854:146:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49295,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49290,"src":"16868:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":49298,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16881:5:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":49297,"name":"uint8","nodeType":"ElementaryTypeName","src":"16881:5:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"}],"id":49296,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"16876:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":49299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16876:11:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint8","typeString":"type(uint8)"}},"id":49300,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16888:3:62","memberName":"max","nodeType":"MemberAccess","src":"16876:15:62","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16868:23:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49308,"nodeType":"IfStatement","src":"16864:101:62","trueBody":{"id":49307,"nodeType":"Block","src":"16893:72:62","statements":[{"errorCall":{"arguments":[{"hexValue":"38","id":49303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16945:1:62","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},{"id":49304,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49290,"src":"16948:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49302,"name":"SafeCastOverflowedUintDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"16914:30:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_uint256_$returns$_t_error_$","typeString":"function (uint8,uint256) pure returns (error)"}},"id":49305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16914:40:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49306,"nodeType":"RevertStatement","src":"16907:47:62"}]}},{"expression":{"arguments":[{"id":49311,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49290,"src":"16987:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49310,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16981:5:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":49309,"name":"uint8","nodeType":"ElementaryTypeName","src":"16981:5:62","typeDescriptions":{}}},"id":49312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16981:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":49294,"id":49313,"nodeType":"Return","src":"16974:19:62"}]},"documentation":{"id":49288,"nodeType":"StructuredDocumentation","src":"16515:272:62","text":" @dev Returns the downcasted uint8 from uint256, reverting on\n overflow (when the input is greater than largest uint8).\n Counterpart to Solidity's `uint8` operator.\n Requirements:\n - input must fit into 8 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint8","nameLocation":"16801:7:62","parameters":{"id":49291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49290,"mutability":"mutable","name":"value","nameLocation":"16817:5:62","nodeType":"VariableDeclaration","scope":49315,"src":"16809:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49289,"name":"uint256","nodeType":"ElementaryTypeName","src":"16809:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16808:15:62"},"returnParameters":{"id":49294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49293,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49315,"src":"16847:5:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":49292,"name":"uint8","nodeType":"ElementaryTypeName","src":"16847:5:62","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"16846:7:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49338,"nodeType":"FunctionDefinition","src":"17171:193:62","nodes":[],"body":{"id":49337,"nodeType":"Block","src":"17236:128:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49323,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49318,"src":"17250:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":49324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17258:1:62","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"17250:9:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49331,"nodeType":"IfStatement","src":"17246:81:62","trueBody":{"id":49330,"nodeType":"Block","src":"17261:66:62","statements":[{"errorCall":{"arguments":[{"id":49327,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49318,"src":"17310:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49326,"name":"SafeCastOverflowedIntToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48435,"src":"17282:27:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_int256_$returns$_t_error_$","typeString":"function (int256) pure returns (error)"}},"id":49328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17282:34:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49329,"nodeType":"RevertStatement","src":"17275:41:62"}]}},{"expression":{"arguments":[{"id":49334,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49318,"src":"17351:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17343:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":49332,"name":"uint256","nodeType":"ElementaryTypeName","src":"17343:7:62","typeDescriptions":{}}},"id":49335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17343:14:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":49322,"id":49336,"nodeType":"Return","src":"17336:21:62"}]},"documentation":{"id":49316,"nodeType":"StructuredDocumentation","src":"17006:160:62","text":" @dev Converts a signed int256 into an unsigned uint256.\n Requirements:\n - input must be greater than or equal to 0."},"implemented":true,"kind":"function","modifiers":[],"name":"toUint256","nameLocation":"17180:9:62","parameters":{"id":49319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49318,"mutability":"mutable","name":"value","nameLocation":"17197:5:62","nodeType":"VariableDeclaration","scope":49338,"src":"17190:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49317,"name":"int256","nodeType":"ElementaryTypeName","src":"17190:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"17189:14:62"},"returnParameters":{"id":49322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49321,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49338,"src":"17227:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49320,"name":"uint256","nodeType":"ElementaryTypeName","src":"17227:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17226:9:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49364,"nodeType":"FunctionDefinition","src":"17687:224:62","nodes":[],"body":{"id":49363,"nodeType":"Block","src":"17761:150:62","nodes":[],"statements":[{"expression":{"id":49351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49346,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49344,"src":"17771:10:62","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49349,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49341,"src":"17791:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49348,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17784:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int248_$","typeString":"type(int248)"},"typeName":{"id":49347,"name":"int248","nodeType":"ElementaryTypeName","src":"17784:6:62","typeDescriptions":{}}},"id":49350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17784:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"src":"17771:26:62","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"id":49352,"nodeType":"ExpressionStatement","src":"17771:26:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49353,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49344,"src":"17811:10:62","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49354,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49341,"src":"17825:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"17811:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49362,"nodeType":"IfStatement","src":"17807:98:62","trueBody":{"id":49361,"nodeType":"Block","src":"17832:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"323438","id":49357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17883:3:62","typeDescriptions":{"typeIdentifier":"t_rational_248_by_1","typeString":"int_const 248"},"value":"248"},{"id":49358,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49341,"src":"17888:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_248_by_1","typeString":"int_const 248"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49356,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"17853:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17853:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49360,"nodeType":"RevertStatement","src":"17846:48:62"}]}}]},"documentation":{"id":49339,"nodeType":"StructuredDocumentation","src":"17370:312:62","text":" @dev Returns the downcasted int248 from int256, reverting on\n overflow (when the input is less than smallest int248 or\n greater than largest int248).\n Counterpart to Solidity's `int248` operator.\n Requirements:\n - input must fit into 248 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt248","nameLocation":"17696:8:62","parameters":{"id":49342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49341,"mutability":"mutable","name":"value","nameLocation":"17712:5:62","nodeType":"VariableDeclaration","scope":49364,"src":"17705:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49340,"name":"int256","nodeType":"ElementaryTypeName","src":"17705:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"17704:14:62"},"returnParameters":{"id":49345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49344,"mutability":"mutable","name":"downcasted","nameLocation":"17749:10:62","nodeType":"VariableDeclaration","scope":49364,"src":"17742:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"},"typeName":{"id":49343,"name":"int248","nodeType":"ElementaryTypeName","src":"17742:6:62","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"visibility":"internal"}],"src":"17741:19:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49390,"nodeType":"FunctionDefinition","src":"18234:224:62","nodes":[],"body":{"id":49389,"nodeType":"Block","src":"18308:150:62","nodes":[],"statements":[{"expression":{"id":49377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49372,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49370,"src":"18318:10:62","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49375,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49367,"src":"18338:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49374,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18331:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int240_$","typeString":"type(int240)"},"typeName":{"id":49373,"name":"int240","nodeType":"ElementaryTypeName","src":"18331:6:62","typeDescriptions":{}}},"id":49376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18331:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"src":"18318:26:62","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"id":49378,"nodeType":"ExpressionStatement","src":"18318:26:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49379,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49370,"src":"18358:10:62","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49380,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49367,"src":"18372:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"18358:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49388,"nodeType":"IfStatement","src":"18354:98:62","trueBody":{"id":49387,"nodeType":"Block","src":"18379:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"323430","id":49383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18430:3:62","typeDescriptions":{"typeIdentifier":"t_rational_240_by_1","typeString":"int_const 240"},"value":"240"},{"id":49384,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49367,"src":"18435:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_240_by_1","typeString":"int_const 240"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49382,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"18400:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18400:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49386,"nodeType":"RevertStatement","src":"18393:48:62"}]}}]},"documentation":{"id":49365,"nodeType":"StructuredDocumentation","src":"17917:312:62","text":" @dev Returns the downcasted int240 from int256, reverting on\n overflow (when the input is less than smallest int240 or\n greater than largest int240).\n Counterpart to Solidity's `int240` operator.\n Requirements:\n - input must fit into 240 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt240","nameLocation":"18243:8:62","parameters":{"id":49368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49367,"mutability":"mutable","name":"value","nameLocation":"18259:5:62","nodeType":"VariableDeclaration","scope":49390,"src":"18252:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49366,"name":"int256","nodeType":"ElementaryTypeName","src":"18252:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"18251:14:62"},"returnParameters":{"id":49371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49370,"mutability":"mutable","name":"downcasted","nameLocation":"18296:10:62","nodeType":"VariableDeclaration","scope":49390,"src":"18289:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"},"typeName":{"id":49369,"name":"int240","nodeType":"ElementaryTypeName","src":"18289:6:62","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"visibility":"internal"}],"src":"18288:19:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49416,"nodeType":"FunctionDefinition","src":"18781:224:62","nodes":[],"body":{"id":49415,"nodeType":"Block","src":"18855:150:62","nodes":[],"statements":[{"expression":{"id":49403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49398,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49396,"src":"18865:10:62","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49401,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49393,"src":"18885:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49400,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18878:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int232_$","typeString":"type(int232)"},"typeName":{"id":49399,"name":"int232","nodeType":"ElementaryTypeName","src":"18878:6:62","typeDescriptions":{}}},"id":49402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18878:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"src":"18865:26:62","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"id":49404,"nodeType":"ExpressionStatement","src":"18865:26:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49405,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49396,"src":"18905:10:62","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49406,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49393,"src":"18919:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"18905:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49414,"nodeType":"IfStatement","src":"18901:98:62","trueBody":{"id":49413,"nodeType":"Block","src":"18926:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"323332","id":49409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18977:3:62","typeDescriptions":{"typeIdentifier":"t_rational_232_by_1","typeString":"int_const 232"},"value":"232"},{"id":49410,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49393,"src":"18982:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_232_by_1","typeString":"int_const 232"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49408,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"18947:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18947:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49412,"nodeType":"RevertStatement","src":"18940:48:62"}]}}]},"documentation":{"id":49391,"nodeType":"StructuredDocumentation","src":"18464:312:62","text":" @dev Returns the downcasted int232 from int256, reverting on\n overflow (when the input is less than smallest int232 or\n greater than largest int232).\n Counterpart to Solidity's `int232` operator.\n Requirements:\n - input must fit into 232 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt232","nameLocation":"18790:8:62","parameters":{"id":49394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49393,"mutability":"mutable","name":"value","nameLocation":"18806:5:62","nodeType":"VariableDeclaration","scope":49416,"src":"18799:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49392,"name":"int256","nodeType":"ElementaryTypeName","src":"18799:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"18798:14:62"},"returnParameters":{"id":49397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49396,"mutability":"mutable","name":"downcasted","nameLocation":"18843:10:62","nodeType":"VariableDeclaration","scope":49416,"src":"18836:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"},"typeName":{"id":49395,"name":"int232","nodeType":"ElementaryTypeName","src":"18836:6:62","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"visibility":"internal"}],"src":"18835:19:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49442,"nodeType":"FunctionDefinition","src":"19328:224:62","nodes":[],"body":{"id":49441,"nodeType":"Block","src":"19402:150:62","nodes":[],"statements":[{"expression":{"id":49429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49424,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49422,"src":"19412:10:62","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49427,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49419,"src":"19432:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19425:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int224_$","typeString":"type(int224)"},"typeName":{"id":49425,"name":"int224","nodeType":"ElementaryTypeName","src":"19425:6:62","typeDescriptions":{}}},"id":49428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19425:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"src":"19412:26:62","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"id":49430,"nodeType":"ExpressionStatement","src":"19412:26:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49431,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49422,"src":"19452:10:62","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49432,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49419,"src":"19466:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"19452:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49440,"nodeType":"IfStatement","src":"19448:98:62","trueBody":{"id":49439,"nodeType":"Block","src":"19473:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"323234","id":49435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19524:3:62","typeDescriptions":{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},"value":"224"},{"id":49436,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49419,"src":"19529:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49434,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"19494:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19494:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49438,"nodeType":"RevertStatement","src":"19487:48:62"}]}}]},"documentation":{"id":49417,"nodeType":"StructuredDocumentation","src":"19011:312:62","text":" @dev Returns the downcasted int224 from int256, reverting on\n overflow (when the input is less than smallest int224 or\n greater than largest int224).\n Counterpart to Solidity's `int224` operator.\n Requirements:\n - input must fit into 224 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt224","nameLocation":"19337:8:62","parameters":{"id":49420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49419,"mutability":"mutable","name":"value","nameLocation":"19353:5:62","nodeType":"VariableDeclaration","scope":49442,"src":"19346:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49418,"name":"int256","nodeType":"ElementaryTypeName","src":"19346:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"19345:14:62"},"returnParameters":{"id":49423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49422,"mutability":"mutable","name":"downcasted","nameLocation":"19390:10:62","nodeType":"VariableDeclaration","scope":49442,"src":"19383:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"},"typeName":{"id":49421,"name":"int224","nodeType":"ElementaryTypeName","src":"19383:6:62","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"visibility":"internal"}],"src":"19382:19:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49468,"nodeType":"FunctionDefinition","src":"19875:224:62","nodes":[],"body":{"id":49467,"nodeType":"Block","src":"19949:150:62","nodes":[],"statements":[{"expression":{"id":49455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49450,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49448,"src":"19959:10:62","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49453,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49445,"src":"19979:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49452,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19972:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int216_$","typeString":"type(int216)"},"typeName":{"id":49451,"name":"int216","nodeType":"ElementaryTypeName","src":"19972:6:62","typeDescriptions":{}}},"id":49454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19972:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"src":"19959:26:62","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"id":49456,"nodeType":"ExpressionStatement","src":"19959:26:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49457,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49448,"src":"19999:10:62","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49458,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49445,"src":"20013:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"19999:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49466,"nodeType":"IfStatement","src":"19995:98:62","trueBody":{"id":49465,"nodeType":"Block","src":"20020:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"323136","id":49461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20071:3:62","typeDescriptions":{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"},"value":"216"},{"id":49462,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49445,"src":"20076:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49460,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"20041:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20041:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49464,"nodeType":"RevertStatement","src":"20034:48:62"}]}}]},"documentation":{"id":49443,"nodeType":"StructuredDocumentation","src":"19558:312:62","text":" @dev Returns the downcasted int216 from int256, reverting on\n overflow (when the input is less than smallest int216 or\n greater than largest int216).\n Counterpart to Solidity's `int216` operator.\n Requirements:\n - input must fit into 216 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt216","nameLocation":"19884:8:62","parameters":{"id":49446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49445,"mutability":"mutable","name":"value","nameLocation":"19900:5:62","nodeType":"VariableDeclaration","scope":49468,"src":"19893:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49444,"name":"int256","nodeType":"ElementaryTypeName","src":"19893:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"19892:14:62"},"returnParameters":{"id":49449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49448,"mutability":"mutable","name":"downcasted","nameLocation":"19937:10:62","nodeType":"VariableDeclaration","scope":49468,"src":"19930:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"},"typeName":{"id":49447,"name":"int216","nodeType":"ElementaryTypeName","src":"19930:6:62","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"visibility":"internal"}],"src":"19929:19:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49494,"nodeType":"FunctionDefinition","src":"20422:224:62","nodes":[],"body":{"id":49493,"nodeType":"Block","src":"20496:150:62","nodes":[],"statements":[{"expression":{"id":49481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49476,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49474,"src":"20506:10:62","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49479,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49471,"src":"20526:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49478,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20519:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int208_$","typeString":"type(int208)"},"typeName":{"id":49477,"name":"int208","nodeType":"ElementaryTypeName","src":"20519:6:62","typeDescriptions":{}}},"id":49480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20519:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"src":"20506:26:62","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"id":49482,"nodeType":"ExpressionStatement","src":"20506:26:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49483,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49474,"src":"20546:10:62","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49484,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49471,"src":"20560:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"20546:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49492,"nodeType":"IfStatement","src":"20542:98:62","trueBody":{"id":49491,"nodeType":"Block","src":"20567:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"323038","id":49487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20618:3:62","typeDescriptions":{"typeIdentifier":"t_rational_208_by_1","typeString":"int_const 208"},"value":"208"},{"id":49488,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49471,"src":"20623:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_208_by_1","typeString":"int_const 208"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49486,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"20588:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20588:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49490,"nodeType":"RevertStatement","src":"20581:48:62"}]}}]},"documentation":{"id":49469,"nodeType":"StructuredDocumentation","src":"20105:312:62","text":" @dev Returns the downcasted int208 from int256, reverting on\n overflow (when the input is less than smallest int208 or\n greater than largest int208).\n Counterpart to Solidity's `int208` operator.\n Requirements:\n - input must fit into 208 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt208","nameLocation":"20431:8:62","parameters":{"id":49472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49471,"mutability":"mutable","name":"value","nameLocation":"20447:5:62","nodeType":"VariableDeclaration","scope":49494,"src":"20440:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49470,"name":"int256","nodeType":"ElementaryTypeName","src":"20440:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"20439:14:62"},"returnParameters":{"id":49475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49474,"mutability":"mutable","name":"downcasted","nameLocation":"20484:10:62","nodeType":"VariableDeclaration","scope":49494,"src":"20477:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"},"typeName":{"id":49473,"name":"int208","nodeType":"ElementaryTypeName","src":"20477:6:62","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"visibility":"internal"}],"src":"20476:19:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49520,"nodeType":"FunctionDefinition","src":"20969:224:62","nodes":[],"body":{"id":49519,"nodeType":"Block","src":"21043:150:62","nodes":[],"statements":[{"expression":{"id":49507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49502,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49500,"src":"21053:10:62","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49505,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49497,"src":"21073:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21066:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int200_$","typeString":"type(int200)"},"typeName":{"id":49503,"name":"int200","nodeType":"ElementaryTypeName","src":"21066:6:62","typeDescriptions":{}}},"id":49506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21066:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"src":"21053:26:62","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"id":49508,"nodeType":"ExpressionStatement","src":"21053:26:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49509,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49500,"src":"21093:10:62","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49510,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49497,"src":"21107:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"21093:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49518,"nodeType":"IfStatement","src":"21089:98:62","trueBody":{"id":49517,"nodeType":"Block","src":"21114:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"323030","id":49513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21165:3:62","typeDescriptions":{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},"value":"200"},{"id":49514,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49497,"src":"21170:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49512,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"21135:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21135:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49516,"nodeType":"RevertStatement","src":"21128:48:62"}]}}]},"documentation":{"id":49495,"nodeType":"StructuredDocumentation","src":"20652:312:62","text":" @dev Returns the downcasted int200 from int256, reverting on\n overflow (when the input is less than smallest int200 or\n greater than largest int200).\n Counterpart to Solidity's `int200` operator.\n Requirements:\n - input must fit into 200 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt200","nameLocation":"20978:8:62","parameters":{"id":49498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49497,"mutability":"mutable","name":"value","nameLocation":"20994:5:62","nodeType":"VariableDeclaration","scope":49520,"src":"20987:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49496,"name":"int256","nodeType":"ElementaryTypeName","src":"20987:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"20986:14:62"},"returnParameters":{"id":49501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49500,"mutability":"mutable","name":"downcasted","nameLocation":"21031:10:62","nodeType":"VariableDeclaration","scope":49520,"src":"21024:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"},"typeName":{"id":49499,"name":"int200","nodeType":"ElementaryTypeName","src":"21024:6:62","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"visibility":"internal"}],"src":"21023:19:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49546,"nodeType":"FunctionDefinition","src":"21516:224:62","nodes":[],"body":{"id":49545,"nodeType":"Block","src":"21590:150:62","nodes":[],"statements":[{"expression":{"id":49533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49528,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49526,"src":"21600:10:62","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49531,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49523,"src":"21620:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49530,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21613:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int192_$","typeString":"type(int192)"},"typeName":{"id":49529,"name":"int192","nodeType":"ElementaryTypeName","src":"21613:6:62","typeDescriptions":{}}},"id":49532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21613:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"src":"21600:26:62","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"id":49534,"nodeType":"ExpressionStatement","src":"21600:26:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49535,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49526,"src":"21640:10:62","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49536,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49523,"src":"21654:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"21640:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49544,"nodeType":"IfStatement","src":"21636:98:62","trueBody":{"id":49543,"nodeType":"Block","src":"21661:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"313932","id":49539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21712:3:62","typeDescriptions":{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},"value":"192"},{"id":49540,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49523,"src":"21717:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49538,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"21682:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21682:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49542,"nodeType":"RevertStatement","src":"21675:48:62"}]}}]},"documentation":{"id":49521,"nodeType":"StructuredDocumentation","src":"21199:312:62","text":" @dev Returns the downcasted int192 from int256, reverting on\n overflow (when the input is less than smallest int192 or\n greater than largest int192).\n Counterpart to Solidity's `int192` operator.\n Requirements:\n - input must fit into 192 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt192","nameLocation":"21525:8:62","parameters":{"id":49524,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49523,"mutability":"mutable","name":"value","nameLocation":"21541:5:62","nodeType":"VariableDeclaration","scope":49546,"src":"21534:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49522,"name":"int256","nodeType":"ElementaryTypeName","src":"21534:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"21533:14:62"},"returnParameters":{"id":49527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49526,"mutability":"mutable","name":"downcasted","nameLocation":"21578:10:62","nodeType":"VariableDeclaration","scope":49546,"src":"21571:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"},"typeName":{"id":49525,"name":"int192","nodeType":"ElementaryTypeName","src":"21571:6:62","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"visibility":"internal"}],"src":"21570:19:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49572,"nodeType":"FunctionDefinition","src":"22063:224:62","nodes":[],"body":{"id":49571,"nodeType":"Block","src":"22137:150:62","nodes":[],"statements":[{"expression":{"id":49559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49554,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49552,"src":"22147:10:62","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49557,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49549,"src":"22167:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49556,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22160:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int184_$","typeString":"type(int184)"},"typeName":{"id":49555,"name":"int184","nodeType":"ElementaryTypeName","src":"22160:6:62","typeDescriptions":{}}},"id":49558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22160:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"src":"22147:26:62","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"id":49560,"nodeType":"ExpressionStatement","src":"22147:26:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49561,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49552,"src":"22187:10:62","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49562,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49549,"src":"22201:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"22187:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49570,"nodeType":"IfStatement","src":"22183:98:62","trueBody":{"id":49569,"nodeType":"Block","src":"22208:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"313834","id":49565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22259:3:62","typeDescriptions":{"typeIdentifier":"t_rational_184_by_1","typeString":"int_const 184"},"value":"184"},{"id":49566,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49549,"src":"22264:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_184_by_1","typeString":"int_const 184"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49564,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"22229:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22229:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49568,"nodeType":"RevertStatement","src":"22222:48:62"}]}}]},"documentation":{"id":49547,"nodeType":"StructuredDocumentation","src":"21746:312:62","text":" @dev Returns the downcasted int184 from int256, reverting on\n overflow (when the input is less than smallest int184 or\n greater than largest int184).\n Counterpart to Solidity's `int184` operator.\n Requirements:\n - input must fit into 184 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt184","nameLocation":"22072:8:62","parameters":{"id":49550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49549,"mutability":"mutable","name":"value","nameLocation":"22088:5:62","nodeType":"VariableDeclaration","scope":49572,"src":"22081:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49548,"name":"int256","nodeType":"ElementaryTypeName","src":"22081:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"22080:14:62"},"returnParameters":{"id":49553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49552,"mutability":"mutable","name":"downcasted","nameLocation":"22125:10:62","nodeType":"VariableDeclaration","scope":49572,"src":"22118:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"},"typeName":{"id":49551,"name":"int184","nodeType":"ElementaryTypeName","src":"22118:6:62","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"visibility":"internal"}],"src":"22117:19:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49598,"nodeType":"FunctionDefinition","src":"22610:224:62","nodes":[],"body":{"id":49597,"nodeType":"Block","src":"22684:150:62","nodes":[],"statements":[{"expression":{"id":49585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49580,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49578,"src":"22694:10:62","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49583,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49575,"src":"22714:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49582,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22707:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int176_$","typeString":"type(int176)"},"typeName":{"id":49581,"name":"int176","nodeType":"ElementaryTypeName","src":"22707:6:62","typeDescriptions":{}}},"id":49584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22707:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"src":"22694:26:62","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"id":49586,"nodeType":"ExpressionStatement","src":"22694:26:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49587,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49578,"src":"22734:10:62","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49588,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49575,"src":"22748:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"22734:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49596,"nodeType":"IfStatement","src":"22730:98:62","trueBody":{"id":49595,"nodeType":"Block","src":"22755:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"313736","id":49591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22806:3:62","typeDescriptions":{"typeIdentifier":"t_rational_176_by_1","typeString":"int_const 176"},"value":"176"},{"id":49592,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49575,"src":"22811:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_176_by_1","typeString":"int_const 176"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49590,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"22776:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22776:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49594,"nodeType":"RevertStatement","src":"22769:48:62"}]}}]},"documentation":{"id":49573,"nodeType":"StructuredDocumentation","src":"22293:312:62","text":" @dev Returns the downcasted int176 from int256, reverting on\n overflow (when the input is less than smallest int176 or\n greater than largest int176).\n Counterpart to Solidity's `int176` operator.\n Requirements:\n - input must fit into 176 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt176","nameLocation":"22619:8:62","parameters":{"id":49576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49575,"mutability":"mutable","name":"value","nameLocation":"22635:5:62","nodeType":"VariableDeclaration","scope":49598,"src":"22628:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49574,"name":"int256","nodeType":"ElementaryTypeName","src":"22628:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"22627:14:62"},"returnParameters":{"id":49579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49578,"mutability":"mutable","name":"downcasted","nameLocation":"22672:10:62","nodeType":"VariableDeclaration","scope":49598,"src":"22665:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"},"typeName":{"id":49577,"name":"int176","nodeType":"ElementaryTypeName","src":"22665:6:62","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"visibility":"internal"}],"src":"22664:19:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49624,"nodeType":"FunctionDefinition","src":"23157:224:62","nodes":[],"body":{"id":49623,"nodeType":"Block","src":"23231:150:62","nodes":[],"statements":[{"expression":{"id":49611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49606,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49604,"src":"23241:10:62","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49609,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49601,"src":"23261:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49608,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23254:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int168_$","typeString":"type(int168)"},"typeName":{"id":49607,"name":"int168","nodeType":"ElementaryTypeName","src":"23254:6:62","typeDescriptions":{}}},"id":49610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23254:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"src":"23241:26:62","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"id":49612,"nodeType":"ExpressionStatement","src":"23241:26:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49613,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49604,"src":"23281:10:62","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49614,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49601,"src":"23295:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"23281:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49622,"nodeType":"IfStatement","src":"23277:98:62","trueBody":{"id":49621,"nodeType":"Block","src":"23302:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"313638","id":49617,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23353:3:62","typeDescriptions":{"typeIdentifier":"t_rational_168_by_1","typeString":"int_const 168"},"value":"168"},{"id":49618,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49601,"src":"23358:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_168_by_1","typeString":"int_const 168"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49616,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"23323:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23323:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49620,"nodeType":"RevertStatement","src":"23316:48:62"}]}}]},"documentation":{"id":49599,"nodeType":"StructuredDocumentation","src":"22840:312:62","text":" @dev Returns the downcasted int168 from int256, reverting on\n overflow (when the input is less than smallest int168 or\n greater than largest int168).\n Counterpart to Solidity's `int168` operator.\n Requirements:\n - input must fit into 168 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt168","nameLocation":"23166:8:62","parameters":{"id":49602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49601,"mutability":"mutable","name":"value","nameLocation":"23182:5:62","nodeType":"VariableDeclaration","scope":49624,"src":"23175:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49600,"name":"int256","nodeType":"ElementaryTypeName","src":"23175:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"23174:14:62"},"returnParameters":{"id":49605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49604,"mutability":"mutable","name":"downcasted","nameLocation":"23219:10:62","nodeType":"VariableDeclaration","scope":49624,"src":"23212:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"},"typeName":{"id":49603,"name":"int168","nodeType":"ElementaryTypeName","src":"23212:6:62","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"visibility":"internal"}],"src":"23211:19:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49650,"nodeType":"FunctionDefinition","src":"23704:224:62","nodes":[],"body":{"id":49649,"nodeType":"Block","src":"23778:150:62","nodes":[],"statements":[{"expression":{"id":49637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49632,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49630,"src":"23788:10:62","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49635,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49627,"src":"23808:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49634,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23801:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int160_$","typeString":"type(int160)"},"typeName":{"id":49633,"name":"int160","nodeType":"ElementaryTypeName","src":"23801:6:62","typeDescriptions":{}}},"id":49636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23801:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"src":"23788:26:62","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"id":49638,"nodeType":"ExpressionStatement","src":"23788:26:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49639,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49630,"src":"23828:10:62","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49640,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49627,"src":"23842:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"23828:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49648,"nodeType":"IfStatement","src":"23824:98:62","trueBody":{"id":49647,"nodeType":"Block","src":"23849:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"313630","id":49643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23900:3:62","typeDescriptions":{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},"value":"160"},{"id":49644,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49627,"src":"23905:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49642,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"23870:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23870:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49646,"nodeType":"RevertStatement","src":"23863:48:62"}]}}]},"documentation":{"id":49625,"nodeType":"StructuredDocumentation","src":"23387:312:62","text":" @dev Returns the downcasted int160 from int256, reverting on\n overflow (when the input is less than smallest int160 or\n greater than largest int160).\n Counterpart to Solidity's `int160` operator.\n Requirements:\n - input must fit into 160 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt160","nameLocation":"23713:8:62","parameters":{"id":49628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49627,"mutability":"mutable","name":"value","nameLocation":"23729:5:62","nodeType":"VariableDeclaration","scope":49650,"src":"23722:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49626,"name":"int256","nodeType":"ElementaryTypeName","src":"23722:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"23721:14:62"},"returnParameters":{"id":49631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49630,"mutability":"mutable","name":"downcasted","nameLocation":"23766:10:62","nodeType":"VariableDeclaration","scope":49650,"src":"23759:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"},"typeName":{"id":49629,"name":"int160","nodeType":"ElementaryTypeName","src":"23759:6:62","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"visibility":"internal"}],"src":"23758:19:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49676,"nodeType":"FunctionDefinition","src":"24251:224:62","nodes":[],"body":{"id":49675,"nodeType":"Block","src":"24325:150:62","nodes":[],"statements":[{"expression":{"id":49663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49658,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49656,"src":"24335:10:62","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49661,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49653,"src":"24355:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49660,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24348:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int152_$","typeString":"type(int152)"},"typeName":{"id":49659,"name":"int152","nodeType":"ElementaryTypeName","src":"24348:6:62","typeDescriptions":{}}},"id":49662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24348:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"src":"24335:26:62","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"id":49664,"nodeType":"ExpressionStatement","src":"24335:26:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49665,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49656,"src":"24375:10:62","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49666,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49653,"src":"24389:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"24375:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49674,"nodeType":"IfStatement","src":"24371:98:62","trueBody":{"id":49673,"nodeType":"Block","src":"24396:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"313532","id":49669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24447:3:62","typeDescriptions":{"typeIdentifier":"t_rational_152_by_1","typeString":"int_const 152"},"value":"152"},{"id":49670,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49653,"src":"24452:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_152_by_1","typeString":"int_const 152"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49668,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"24417:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24417:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49672,"nodeType":"RevertStatement","src":"24410:48:62"}]}}]},"documentation":{"id":49651,"nodeType":"StructuredDocumentation","src":"23934:312:62","text":" @dev Returns the downcasted int152 from int256, reverting on\n overflow (when the input is less than smallest int152 or\n greater than largest int152).\n Counterpart to Solidity's `int152` operator.\n Requirements:\n - input must fit into 152 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt152","nameLocation":"24260:8:62","parameters":{"id":49654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49653,"mutability":"mutable","name":"value","nameLocation":"24276:5:62","nodeType":"VariableDeclaration","scope":49676,"src":"24269:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49652,"name":"int256","nodeType":"ElementaryTypeName","src":"24269:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"24268:14:62"},"returnParameters":{"id":49657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49656,"mutability":"mutable","name":"downcasted","nameLocation":"24313:10:62","nodeType":"VariableDeclaration","scope":49676,"src":"24306:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"},"typeName":{"id":49655,"name":"int152","nodeType":"ElementaryTypeName","src":"24306:6:62","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"visibility":"internal"}],"src":"24305:19:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49702,"nodeType":"FunctionDefinition","src":"24798:224:62","nodes":[],"body":{"id":49701,"nodeType":"Block","src":"24872:150:62","nodes":[],"statements":[{"expression":{"id":49689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49684,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49682,"src":"24882:10:62","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49687,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49679,"src":"24902:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49686,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24895:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int144_$","typeString":"type(int144)"},"typeName":{"id":49685,"name":"int144","nodeType":"ElementaryTypeName","src":"24895:6:62","typeDescriptions":{}}},"id":49688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24895:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"src":"24882:26:62","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"id":49690,"nodeType":"ExpressionStatement","src":"24882:26:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49691,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49682,"src":"24922:10:62","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49692,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49679,"src":"24936:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"24922:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49700,"nodeType":"IfStatement","src":"24918:98:62","trueBody":{"id":49699,"nodeType":"Block","src":"24943:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"313434","id":49695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24994:3:62","typeDescriptions":{"typeIdentifier":"t_rational_144_by_1","typeString":"int_const 144"},"value":"144"},{"id":49696,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49679,"src":"24999:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_144_by_1","typeString":"int_const 144"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49694,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"24964:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24964:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49698,"nodeType":"RevertStatement","src":"24957:48:62"}]}}]},"documentation":{"id":49677,"nodeType":"StructuredDocumentation","src":"24481:312:62","text":" @dev Returns the downcasted int144 from int256, reverting on\n overflow (when the input is less than smallest int144 or\n greater than largest int144).\n Counterpart to Solidity's `int144` operator.\n Requirements:\n - input must fit into 144 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt144","nameLocation":"24807:8:62","parameters":{"id":49680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49679,"mutability":"mutable","name":"value","nameLocation":"24823:5:62","nodeType":"VariableDeclaration","scope":49702,"src":"24816:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49678,"name":"int256","nodeType":"ElementaryTypeName","src":"24816:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"24815:14:62"},"returnParameters":{"id":49683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49682,"mutability":"mutable","name":"downcasted","nameLocation":"24860:10:62","nodeType":"VariableDeclaration","scope":49702,"src":"24853:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"},"typeName":{"id":49681,"name":"int144","nodeType":"ElementaryTypeName","src":"24853:6:62","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"visibility":"internal"}],"src":"24852:19:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49728,"nodeType":"FunctionDefinition","src":"25345:224:62","nodes":[],"body":{"id":49727,"nodeType":"Block","src":"25419:150:62","nodes":[],"statements":[{"expression":{"id":49715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49710,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49708,"src":"25429:10:62","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49713,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49705,"src":"25449:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25442:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int136_$","typeString":"type(int136)"},"typeName":{"id":49711,"name":"int136","nodeType":"ElementaryTypeName","src":"25442:6:62","typeDescriptions":{}}},"id":49714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25442:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"src":"25429:26:62","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"id":49716,"nodeType":"ExpressionStatement","src":"25429:26:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49717,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49708,"src":"25469:10:62","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49718,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49705,"src":"25483:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"25469:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49726,"nodeType":"IfStatement","src":"25465:98:62","trueBody":{"id":49725,"nodeType":"Block","src":"25490:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"313336","id":49721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25541:3:62","typeDescriptions":{"typeIdentifier":"t_rational_136_by_1","typeString":"int_const 136"},"value":"136"},{"id":49722,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49705,"src":"25546:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_136_by_1","typeString":"int_const 136"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49720,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"25511:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25511:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49724,"nodeType":"RevertStatement","src":"25504:48:62"}]}}]},"documentation":{"id":49703,"nodeType":"StructuredDocumentation","src":"25028:312:62","text":" @dev Returns the downcasted int136 from int256, reverting on\n overflow (when the input is less than smallest int136 or\n greater than largest int136).\n Counterpart to Solidity's `int136` operator.\n Requirements:\n - input must fit into 136 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt136","nameLocation":"25354:8:62","parameters":{"id":49706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49705,"mutability":"mutable","name":"value","nameLocation":"25370:5:62","nodeType":"VariableDeclaration","scope":49728,"src":"25363:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49704,"name":"int256","nodeType":"ElementaryTypeName","src":"25363:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"25362:14:62"},"returnParameters":{"id":49709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49708,"mutability":"mutable","name":"downcasted","nameLocation":"25407:10:62","nodeType":"VariableDeclaration","scope":49728,"src":"25400:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"},"typeName":{"id":49707,"name":"int136","nodeType":"ElementaryTypeName","src":"25400:6:62","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"visibility":"internal"}],"src":"25399:19:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49754,"nodeType":"FunctionDefinition","src":"25892:224:62","nodes":[],"body":{"id":49753,"nodeType":"Block","src":"25966:150:62","nodes":[],"statements":[{"expression":{"id":49741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49736,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49734,"src":"25976:10:62","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49739,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49731,"src":"25996:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49738,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25989:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int128_$","typeString":"type(int128)"},"typeName":{"id":49737,"name":"int128","nodeType":"ElementaryTypeName","src":"25989:6:62","typeDescriptions":{}}},"id":49740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25989:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"25976:26:62","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":49742,"nodeType":"ExpressionStatement","src":"25976:26:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49743,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49734,"src":"26016:10:62","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49744,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49731,"src":"26030:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"26016:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49752,"nodeType":"IfStatement","src":"26012:98:62","trueBody":{"id":49751,"nodeType":"Block","src":"26037:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"313238","id":49747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26088:3:62","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},{"id":49748,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49731,"src":"26093:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49746,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"26058:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26058:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49750,"nodeType":"RevertStatement","src":"26051:48:62"}]}}]},"documentation":{"id":49729,"nodeType":"StructuredDocumentation","src":"25575:312:62","text":" @dev Returns the downcasted int128 from int256, reverting on\n overflow (when the input is less than smallest int128 or\n greater than largest int128).\n Counterpart to Solidity's `int128` operator.\n Requirements:\n - input must fit into 128 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt128","nameLocation":"25901:8:62","parameters":{"id":49732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49731,"mutability":"mutable","name":"value","nameLocation":"25917:5:62","nodeType":"VariableDeclaration","scope":49754,"src":"25910:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49730,"name":"int256","nodeType":"ElementaryTypeName","src":"25910:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"25909:14:62"},"returnParameters":{"id":49735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49734,"mutability":"mutable","name":"downcasted","nameLocation":"25954:10:62","nodeType":"VariableDeclaration","scope":49754,"src":"25947:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":49733,"name":"int128","nodeType":"ElementaryTypeName","src":"25947:6:62","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"25946:19:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49780,"nodeType":"FunctionDefinition","src":"26439:224:62","nodes":[],"body":{"id":49779,"nodeType":"Block","src":"26513:150:62","nodes":[],"statements":[{"expression":{"id":49767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49762,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49760,"src":"26523:10:62","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49765,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49757,"src":"26543:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49764,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"26536:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int120_$","typeString":"type(int120)"},"typeName":{"id":49763,"name":"int120","nodeType":"ElementaryTypeName","src":"26536:6:62","typeDescriptions":{}}},"id":49766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26536:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"src":"26523:26:62","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"id":49768,"nodeType":"ExpressionStatement","src":"26523:26:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49769,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49760,"src":"26563:10:62","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49770,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49757,"src":"26577:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"26563:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49778,"nodeType":"IfStatement","src":"26559:98:62","trueBody":{"id":49777,"nodeType":"Block","src":"26584:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"313230","id":49773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26635:3:62","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},{"id":49774,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49757,"src":"26640:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49772,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"26605:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26605:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49776,"nodeType":"RevertStatement","src":"26598:48:62"}]}}]},"documentation":{"id":49755,"nodeType":"StructuredDocumentation","src":"26122:312:62","text":" @dev Returns the downcasted int120 from int256, reverting on\n overflow (when the input is less than smallest int120 or\n greater than largest int120).\n Counterpart to Solidity's `int120` operator.\n Requirements:\n - input must fit into 120 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt120","nameLocation":"26448:8:62","parameters":{"id":49758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49757,"mutability":"mutable","name":"value","nameLocation":"26464:5:62","nodeType":"VariableDeclaration","scope":49780,"src":"26457:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49756,"name":"int256","nodeType":"ElementaryTypeName","src":"26457:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"26456:14:62"},"returnParameters":{"id":49761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49760,"mutability":"mutable","name":"downcasted","nameLocation":"26501:10:62","nodeType":"VariableDeclaration","scope":49780,"src":"26494:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"},"typeName":{"id":49759,"name":"int120","nodeType":"ElementaryTypeName","src":"26494:6:62","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"visibility":"internal"}],"src":"26493:19:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49806,"nodeType":"FunctionDefinition","src":"26986:224:62","nodes":[],"body":{"id":49805,"nodeType":"Block","src":"27060:150:62","nodes":[],"statements":[{"expression":{"id":49793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49788,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49786,"src":"27070:10:62","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49791,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49783,"src":"27090:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49790,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27083:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int112_$","typeString":"type(int112)"},"typeName":{"id":49789,"name":"int112","nodeType":"ElementaryTypeName","src":"27083:6:62","typeDescriptions":{}}},"id":49792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27083:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"src":"27070:26:62","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"id":49794,"nodeType":"ExpressionStatement","src":"27070:26:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49795,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49786,"src":"27110:10:62","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49796,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49783,"src":"27124:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"27110:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49804,"nodeType":"IfStatement","src":"27106:98:62","trueBody":{"id":49803,"nodeType":"Block","src":"27131:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"313132","id":49799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27182:3:62","typeDescriptions":{"typeIdentifier":"t_rational_112_by_1","typeString":"int_const 112"},"value":"112"},{"id":49800,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49783,"src":"27187:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_112_by_1","typeString":"int_const 112"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49798,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"27152:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27152:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49802,"nodeType":"RevertStatement","src":"27145:48:62"}]}}]},"documentation":{"id":49781,"nodeType":"StructuredDocumentation","src":"26669:312:62","text":" @dev Returns the downcasted int112 from int256, reverting on\n overflow (when the input is less than smallest int112 or\n greater than largest int112).\n Counterpart to Solidity's `int112` operator.\n Requirements:\n - input must fit into 112 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt112","nameLocation":"26995:8:62","parameters":{"id":49784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49783,"mutability":"mutable","name":"value","nameLocation":"27011:5:62","nodeType":"VariableDeclaration","scope":49806,"src":"27004:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49782,"name":"int256","nodeType":"ElementaryTypeName","src":"27004:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"27003:14:62"},"returnParameters":{"id":49787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49786,"mutability":"mutable","name":"downcasted","nameLocation":"27048:10:62","nodeType":"VariableDeclaration","scope":49806,"src":"27041:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"},"typeName":{"id":49785,"name":"int112","nodeType":"ElementaryTypeName","src":"27041:6:62","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"visibility":"internal"}],"src":"27040:19:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49832,"nodeType":"FunctionDefinition","src":"27533:224:62","nodes":[],"body":{"id":49831,"nodeType":"Block","src":"27607:150:62","nodes":[],"statements":[{"expression":{"id":49819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49814,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49812,"src":"27617:10:62","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49817,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49809,"src":"27637:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49816,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27630:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int104_$","typeString":"type(int104)"},"typeName":{"id":49815,"name":"int104","nodeType":"ElementaryTypeName","src":"27630:6:62","typeDescriptions":{}}},"id":49818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27630:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"src":"27617:26:62","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"id":49820,"nodeType":"ExpressionStatement","src":"27617:26:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49821,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49812,"src":"27657:10:62","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49822,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49809,"src":"27671:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"27657:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49830,"nodeType":"IfStatement","src":"27653:98:62","trueBody":{"id":49829,"nodeType":"Block","src":"27678:73:62","statements":[{"errorCall":{"arguments":[{"hexValue":"313034","id":49825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27729:3:62","typeDescriptions":{"typeIdentifier":"t_rational_104_by_1","typeString":"int_const 104"},"value":"104"},{"id":49826,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49809,"src":"27734:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_104_by_1","typeString":"int_const 104"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49824,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"27699:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27699:41:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49828,"nodeType":"RevertStatement","src":"27692:48:62"}]}}]},"documentation":{"id":49807,"nodeType":"StructuredDocumentation","src":"27216:312:62","text":" @dev Returns the downcasted int104 from int256, reverting on\n overflow (when the input is less than smallest int104 or\n greater than largest int104).\n Counterpart to Solidity's `int104` operator.\n Requirements:\n - input must fit into 104 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt104","nameLocation":"27542:8:62","parameters":{"id":49810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49809,"mutability":"mutable","name":"value","nameLocation":"27558:5:62","nodeType":"VariableDeclaration","scope":49832,"src":"27551:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49808,"name":"int256","nodeType":"ElementaryTypeName","src":"27551:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"27550:14:62"},"returnParameters":{"id":49813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49812,"mutability":"mutable","name":"downcasted","nameLocation":"27595:10:62","nodeType":"VariableDeclaration","scope":49832,"src":"27588:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"},"typeName":{"id":49811,"name":"int104","nodeType":"ElementaryTypeName","src":"27588:6:62","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"visibility":"internal"}],"src":"27587:19:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49858,"nodeType":"FunctionDefinition","src":"28075:220:62","nodes":[],"body":{"id":49857,"nodeType":"Block","src":"28147:148:62","nodes":[],"statements":[{"expression":{"id":49845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49840,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49838,"src":"28157:10:62","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49843,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49835,"src":"28176:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28170:5:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int96_$","typeString":"type(int96)"},"typeName":{"id":49841,"name":"int96","nodeType":"ElementaryTypeName","src":"28170:5:62","typeDescriptions":{}}},"id":49844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28170:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"src":"28157:25:62","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"id":49846,"nodeType":"ExpressionStatement","src":"28157:25:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49847,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49838,"src":"28196:10:62","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49848,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49835,"src":"28210:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"28196:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49856,"nodeType":"IfStatement","src":"28192:97:62","trueBody":{"id":49855,"nodeType":"Block","src":"28217:72:62","statements":[{"errorCall":{"arguments":[{"hexValue":"3936","id":49851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28268:2:62","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},{"id":49852,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49835,"src":"28272:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49850,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"28238:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28238:40:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49854,"nodeType":"RevertStatement","src":"28231:47:62"}]}}]},"documentation":{"id":49833,"nodeType":"StructuredDocumentation","src":"27763:307:62","text":" @dev Returns the downcasted int96 from int256, reverting on\n overflow (when the input is less than smallest int96 or\n greater than largest int96).\n Counterpart to Solidity's `int96` operator.\n Requirements:\n - input must fit into 96 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt96","nameLocation":"28084:7:62","parameters":{"id":49836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49835,"mutability":"mutable","name":"value","nameLocation":"28099:5:62","nodeType":"VariableDeclaration","scope":49858,"src":"28092:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49834,"name":"int256","nodeType":"ElementaryTypeName","src":"28092:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"28091:14:62"},"returnParameters":{"id":49839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49838,"mutability":"mutable","name":"downcasted","nameLocation":"28135:10:62","nodeType":"VariableDeclaration","scope":49858,"src":"28129:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"},"typeName":{"id":49837,"name":"int96","nodeType":"ElementaryTypeName","src":"28129:5:62","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"visibility":"internal"}],"src":"28128:18:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49884,"nodeType":"FunctionDefinition","src":"28613:220:62","nodes":[],"body":{"id":49883,"nodeType":"Block","src":"28685:148:62","nodes":[],"statements":[{"expression":{"id":49871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49866,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49864,"src":"28695:10:62","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49869,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49861,"src":"28714:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49868,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28708:5:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int88_$","typeString":"type(int88)"},"typeName":{"id":49867,"name":"int88","nodeType":"ElementaryTypeName","src":"28708:5:62","typeDescriptions":{}}},"id":49870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28708:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"src":"28695:25:62","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"id":49872,"nodeType":"ExpressionStatement","src":"28695:25:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49873,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49864,"src":"28734:10:62","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49874,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49861,"src":"28748:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"28734:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49882,"nodeType":"IfStatement","src":"28730:97:62","trueBody":{"id":49881,"nodeType":"Block","src":"28755:72:62","statements":[{"errorCall":{"arguments":[{"hexValue":"3838","id":49877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28806:2:62","typeDescriptions":{"typeIdentifier":"t_rational_88_by_1","typeString":"int_const 88"},"value":"88"},{"id":49878,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49861,"src":"28810:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_88_by_1","typeString":"int_const 88"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49876,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"28776:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28776:40:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49880,"nodeType":"RevertStatement","src":"28769:47:62"}]}}]},"documentation":{"id":49859,"nodeType":"StructuredDocumentation","src":"28301:307:62","text":" @dev Returns the downcasted int88 from int256, reverting on\n overflow (when the input is less than smallest int88 or\n greater than largest int88).\n Counterpart to Solidity's `int88` operator.\n Requirements:\n - input must fit into 88 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt88","nameLocation":"28622:7:62","parameters":{"id":49862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49861,"mutability":"mutable","name":"value","nameLocation":"28637:5:62","nodeType":"VariableDeclaration","scope":49884,"src":"28630:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49860,"name":"int256","nodeType":"ElementaryTypeName","src":"28630:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"28629:14:62"},"returnParameters":{"id":49865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49864,"mutability":"mutable","name":"downcasted","nameLocation":"28673:10:62","nodeType":"VariableDeclaration","scope":49884,"src":"28667:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"},"typeName":{"id":49863,"name":"int88","nodeType":"ElementaryTypeName","src":"28667:5:62","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"visibility":"internal"}],"src":"28666:18:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49910,"nodeType":"FunctionDefinition","src":"29151:220:62","nodes":[],"body":{"id":49909,"nodeType":"Block","src":"29223:148:62","nodes":[],"statements":[{"expression":{"id":49897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49892,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49890,"src":"29233:10:62","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49895,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49887,"src":"29252:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49894,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29246:5:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int80_$","typeString":"type(int80)"},"typeName":{"id":49893,"name":"int80","nodeType":"ElementaryTypeName","src":"29246:5:62","typeDescriptions":{}}},"id":49896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29246:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"src":"29233:25:62","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"id":49898,"nodeType":"ExpressionStatement","src":"29233:25:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49899,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49890,"src":"29272:10:62","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49900,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49887,"src":"29286:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"29272:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49908,"nodeType":"IfStatement","src":"29268:97:62","trueBody":{"id":49907,"nodeType":"Block","src":"29293:72:62","statements":[{"errorCall":{"arguments":[{"hexValue":"3830","id":49903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29344:2:62","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},{"id":49904,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49887,"src":"29348:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49902,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"29314:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29314:40:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49906,"nodeType":"RevertStatement","src":"29307:47:62"}]}}]},"documentation":{"id":49885,"nodeType":"StructuredDocumentation","src":"28839:307:62","text":" @dev Returns the downcasted int80 from int256, reverting on\n overflow (when the input is less than smallest int80 or\n greater than largest int80).\n Counterpart to Solidity's `int80` operator.\n Requirements:\n - input must fit into 80 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt80","nameLocation":"29160:7:62","parameters":{"id":49888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49887,"mutability":"mutable","name":"value","nameLocation":"29175:5:62","nodeType":"VariableDeclaration","scope":49910,"src":"29168:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49886,"name":"int256","nodeType":"ElementaryTypeName","src":"29168:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"29167:14:62"},"returnParameters":{"id":49891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49890,"mutability":"mutable","name":"downcasted","nameLocation":"29211:10:62","nodeType":"VariableDeclaration","scope":49910,"src":"29205:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"},"typeName":{"id":49889,"name":"int80","nodeType":"ElementaryTypeName","src":"29205:5:62","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"visibility":"internal"}],"src":"29204:18:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49936,"nodeType":"FunctionDefinition","src":"29689:220:62","nodes":[],"body":{"id":49935,"nodeType":"Block","src":"29761:148:62","nodes":[],"statements":[{"expression":{"id":49923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49918,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49916,"src":"29771:10:62","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49921,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49913,"src":"29790:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29784:5:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int72_$","typeString":"type(int72)"},"typeName":{"id":49919,"name":"int72","nodeType":"ElementaryTypeName","src":"29784:5:62","typeDescriptions":{}}},"id":49922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29784:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"src":"29771:25:62","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"id":49924,"nodeType":"ExpressionStatement","src":"29771:25:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49925,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49916,"src":"29810:10:62","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49926,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49913,"src":"29824:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"29810:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49934,"nodeType":"IfStatement","src":"29806:97:62","trueBody":{"id":49933,"nodeType":"Block","src":"29831:72:62","statements":[{"errorCall":{"arguments":[{"hexValue":"3732","id":49929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29882:2:62","typeDescriptions":{"typeIdentifier":"t_rational_72_by_1","typeString":"int_const 72"},"value":"72"},{"id":49930,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49913,"src":"29886:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_72_by_1","typeString":"int_const 72"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49928,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"29852:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29852:40:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49932,"nodeType":"RevertStatement","src":"29845:47:62"}]}}]},"documentation":{"id":49911,"nodeType":"StructuredDocumentation","src":"29377:307:62","text":" @dev Returns the downcasted int72 from int256, reverting on\n overflow (when the input is less than smallest int72 or\n greater than largest int72).\n Counterpart to Solidity's `int72` operator.\n Requirements:\n - input must fit into 72 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt72","nameLocation":"29698:7:62","parameters":{"id":49914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49913,"mutability":"mutable","name":"value","nameLocation":"29713:5:62","nodeType":"VariableDeclaration","scope":49936,"src":"29706:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49912,"name":"int256","nodeType":"ElementaryTypeName","src":"29706:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"29705:14:62"},"returnParameters":{"id":49917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49916,"mutability":"mutable","name":"downcasted","nameLocation":"29749:10:62","nodeType":"VariableDeclaration","scope":49936,"src":"29743:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"},"typeName":{"id":49915,"name":"int72","nodeType":"ElementaryTypeName","src":"29743:5:62","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"visibility":"internal"}],"src":"29742:18:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49962,"nodeType":"FunctionDefinition","src":"30227:220:62","nodes":[],"body":{"id":49961,"nodeType":"Block","src":"30299:148:62","nodes":[],"statements":[{"expression":{"id":49949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49944,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49942,"src":"30309:10:62","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49947,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49939,"src":"30328:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49946,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30322:5:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int64_$","typeString":"type(int64)"},"typeName":{"id":49945,"name":"int64","nodeType":"ElementaryTypeName","src":"30322:5:62","typeDescriptions":{}}},"id":49948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30322:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"src":"30309:25:62","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":49950,"nodeType":"ExpressionStatement","src":"30309:25:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49951,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49942,"src":"30348:10:62","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49952,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49939,"src":"30362:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"30348:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49960,"nodeType":"IfStatement","src":"30344:97:62","trueBody":{"id":49959,"nodeType":"Block","src":"30369:72:62","statements":[{"errorCall":{"arguments":[{"hexValue":"3634","id":49955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30420:2:62","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},{"id":49956,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49939,"src":"30424:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49954,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"30390:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30390:40:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49958,"nodeType":"RevertStatement","src":"30383:47:62"}]}}]},"documentation":{"id":49937,"nodeType":"StructuredDocumentation","src":"29915:307:62","text":" @dev Returns the downcasted int64 from int256, reverting on\n overflow (when the input is less than smallest int64 or\n greater than largest int64).\n Counterpart to Solidity's `int64` operator.\n Requirements:\n - input must fit into 64 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt64","nameLocation":"30236:7:62","parameters":{"id":49940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49939,"mutability":"mutable","name":"value","nameLocation":"30251:5:62","nodeType":"VariableDeclaration","scope":49962,"src":"30244:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49938,"name":"int256","nodeType":"ElementaryTypeName","src":"30244:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"30243:14:62"},"returnParameters":{"id":49943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49942,"mutability":"mutable","name":"downcasted","nameLocation":"30287:10:62","nodeType":"VariableDeclaration","scope":49962,"src":"30281:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":49941,"name":"int64","nodeType":"ElementaryTypeName","src":"30281:5:62","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"30280:18:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":49988,"nodeType":"FunctionDefinition","src":"30765:220:62","nodes":[],"body":{"id":49987,"nodeType":"Block","src":"30837:148:62","nodes":[],"statements":[{"expression":{"id":49975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49970,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49968,"src":"30847:10:62","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49973,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49965,"src":"30866:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49972,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30860:5:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int56_$","typeString":"type(int56)"},"typeName":{"id":49971,"name":"int56","nodeType":"ElementaryTypeName","src":"30860:5:62","typeDescriptions":{}}},"id":49974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30860:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"src":"30847:25:62","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"id":49976,"nodeType":"ExpressionStatement","src":"30847:25:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":49979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49977,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49968,"src":"30886:10:62","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":49978,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49965,"src":"30900:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"30886:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49986,"nodeType":"IfStatement","src":"30882:97:62","trueBody":{"id":49985,"nodeType":"Block","src":"30907:72:62","statements":[{"errorCall":{"arguments":[{"hexValue":"3536","id":49981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30958:2:62","typeDescriptions":{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},"value":"56"},{"id":49982,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49965,"src":"30962:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49980,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"30928:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":49983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30928:40:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49984,"nodeType":"RevertStatement","src":"30921:47:62"}]}}]},"documentation":{"id":49963,"nodeType":"StructuredDocumentation","src":"30453:307:62","text":" @dev Returns the downcasted int56 from int256, reverting on\n overflow (when the input is less than smallest int56 or\n greater than largest int56).\n Counterpart to Solidity's `int56` operator.\n Requirements:\n - input must fit into 56 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt56","nameLocation":"30774:7:62","parameters":{"id":49966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49965,"mutability":"mutable","name":"value","nameLocation":"30789:5:62","nodeType":"VariableDeclaration","scope":49988,"src":"30782:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49964,"name":"int256","nodeType":"ElementaryTypeName","src":"30782:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"30781:14:62"},"returnParameters":{"id":49969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49968,"mutability":"mutable","name":"downcasted","nameLocation":"30825:10:62","nodeType":"VariableDeclaration","scope":49988,"src":"30819:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"},"typeName":{"id":49967,"name":"int56","nodeType":"ElementaryTypeName","src":"30819:5:62","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"visibility":"internal"}],"src":"30818:18:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":50014,"nodeType":"FunctionDefinition","src":"31303:220:62","nodes":[],"body":{"id":50013,"nodeType":"Block","src":"31375:148:62","nodes":[],"statements":[{"expression":{"id":50001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49996,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49994,"src":"31385:10:62","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":49999,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49991,"src":"31404:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":49998,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31398:5:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int48_$","typeString":"type(int48)"},"typeName":{"id":49997,"name":"int48","nodeType":"ElementaryTypeName","src":"31398:5:62","typeDescriptions":{}}},"id":50000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31398:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"src":"31385:25:62","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"id":50002,"nodeType":"ExpressionStatement","src":"31385:25:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":50005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50003,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49994,"src":"31424:10:62","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":50004,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49991,"src":"31438:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"31424:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50012,"nodeType":"IfStatement","src":"31420:97:62","trueBody":{"id":50011,"nodeType":"Block","src":"31445:72:62","statements":[{"errorCall":{"arguments":[{"hexValue":"3438","id":50007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31496:2:62","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},{"id":50008,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49991,"src":"31500:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":50006,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"31466:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":50009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31466:40:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50010,"nodeType":"RevertStatement","src":"31459:47:62"}]}}]},"documentation":{"id":49989,"nodeType":"StructuredDocumentation","src":"30991:307:62","text":" @dev Returns the downcasted int48 from int256, reverting on\n overflow (when the input is less than smallest int48 or\n greater than largest int48).\n Counterpart to Solidity's `int48` operator.\n Requirements:\n - input must fit into 48 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt48","nameLocation":"31312:7:62","parameters":{"id":49992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49991,"mutability":"mutable","name":"value","nameLocation":"31327:5:62","nodeType":"VariableDeclaration","scope":50014,"src":"31320:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":49990,"name":"int256","nodeType":"ElementaryTypeName","src":"31320:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"31319:14:62"},"returnParameters":{"id":49995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49994,"mutability":"mutable","name":"downcasted","nameLocation":"31363:10:62","nodeType":"VariableDeclaration","scope":50014,"src":"31357:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"},"typeName":{"id":49993,"name":"int48","nodeType":"ElementaryTypeName","src":"31357:5:62","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"visibility":"internal"}],"src":"31356:18:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":50040,"nodeType":"FunctionDefinition","src":"31841:220:62","nodes":[],"body":{"id":50039,"nodeType":"Block","src":"31913:148:62","nodes":[],"statements":[{"expression":{"id":50027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":50022,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50020,"src":"31923:10:62","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":50025,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50017,"src":"31942:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":50024,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31936:5:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int40_$","typeString":"type(int40)"},"typeName":{"id":50023,"name":"int40","nodeType":"ElementaryTypeName","src":"31936:5:62","typeDescriptions":{}}},"id":50026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31936:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"src":"31923:25:62","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"id":50028,"nodeType":"ExpressionStatement","src":"31923:25:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":50031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50029,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50020,"src":"31962:10:62","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":50030,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50017,"src":"31976:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"31962:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50038,"nodeType":"IfStatement","src":"31958:97:62","trueBody":{"id":50037,"nodeType":"Block","src":"31983:72:62","statements":[{"errorCall":{"arguments":[{"hexValue":"3430","id":50033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32034:2:62","typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"value":"40"},{"id":50034,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50017,"src":"32038:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":50032,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"32004:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":50035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32004:40:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50036,"nodeType":"RevertStatement","src":"31997:47:62"}]}}]},"documentation":{"id":50015,"nodeType":"StructuredDocumentation","src":"31529:307:62","text":" @dev Returns the downcasted int40 from int256, reverting on\n overflow (when the input is less than smallest int40 or\n greater than largest int40).\n Counterpart to Solidity's `int40` operator.\n Requirements:\n - input must fit into 40 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt40","nameLocation":"31850:7:62","parameters":{"id":50018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50017,"mutability":"mutable","name":"value","nameLocation":"31865:5:62","nodeType":"VariableDeclaration","scope":50040,"src":"31858:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":50016,"name":"int256","nodeType":"ElementaryTypeName","src":"31858:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"31857:14:62"},"returnParameters":{"id":50021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50020,"mutability":"mutable","name":"downcasted","nameLocation":"31901:10:62","nodeType":"VariableDeclaration","scope":50040,"src":"31895:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"},"typeName":{"id":50019,"name":"int40","nodeType":"ElementaryTypeName","src":"31895:5:62","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"visibility":"internal"}],"src":"31894:18:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":50066,"nodeType":"FunctionDefinition","src":"32379:220:62","nodes":[],"body":{"id":50065,"nodeType":"Block","src":"32451:148:62","nodes":[],"statements":[{"expression":{"id":50053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":50048,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50046,"src":"32461:10:62","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":50051,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50043,"src":"32480:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":50050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32474:5:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":50049,"name":"int32","nodeType":"ElementaryTypeName","src":"32474:5:62","typeDescriptions":{}}},"id":50052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32474:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"32461:25:62","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":50054,"nodeType":"ExpressionStatement","src":"32461:25:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":50057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50055,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50046,"src":"32500:10:62","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":50056,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50043,"src":"32514:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"32500:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50064,"nodeType":"IfStatement","src":"32496:97:62","trueBody":{"id":50063,"nodeType":"Block","src":"32521:72:62","statements":[{"errorCall":{"arguments":[{"hexValue":"3332","id":50059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32572:2:62","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},{"id":50060,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50043,"src":"32576:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":50058,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"32542:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":50061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32542:40:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50062,"nodeType":"RevertStatement","src":"32535:47:62"}]}}]},"documentation":{"id":50041,"nodeType":"StructuredDocumentation","src":"32067:307:62","text":" @dev Returns the downcasted int32 from int256, reverting on\n overflow (when the input is less than smallest int32 or\n greater than largest int32).\n Counterpart to Solidity's `int32` operator.\n Requirements:\n - input must fit into 32 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt32","nameLocation":"32388:7:62","parameters":{"id":50044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50043,"mutability":"mutable","name":"value","nameLocation":"32403:5:62","nodeType":"VariableDeclaration","scope":50066,"src":"32396:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":50042,"name":"int256","nodeType":"ElementaryTypeName","src":"32396:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"32395:14:62"},"returnParameters":{"id":50047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50046,"mutability":"mutable","name":"downcasted","nameLocation":"32439:10:62","nodeType":"VariableDeclaration","scope":50066,"src":"32433:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":50045,"name":"int32","nodeType":"ElementaryTypeName","src":"32433:5:62","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"src":"32432:18:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":50092,"nodeType":"FunctionDefinition","src":"32917:220:62","nodes":[],"body":{"id":50091,"nodeType":"Block","src":"32989:148:62","nodes":[],"statements":[{"expression":{"id":50079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":50074,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50072,"src":"32999:10:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":50077,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50069,"src":"33018:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":50076,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33012:5:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int24_$","typeString":"type(int24)"},"typeName":{"id":50075,"name":"int24","nodeType":"ElementaryTypeName","src":"33012:5:62","typeDescriptions":{}}},"id":50078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33012:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"32999:25:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":50080,"nodeType":"ExpressionStatement","src":"32999:25:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":50083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50081,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50072,"src":"33038:10:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":50082,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50069,"src":"33052:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"33038:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50090,"nodeType":"IfStatement","src":"33034:97:62","trueBody":{"id":50089,"nodeType":"Block","src":"33059:72:62","statements":[{"errorCall":{"arguments":[{"hexValue":"3234","id":50085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33110:2:62","typeDescriptions":{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},"value":"24"},{"id":50086,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50069,"src":"33114:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":50084,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"33080:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":50087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33080:40:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50088,"nodeType":"RevertStatement","src":"33073:47:62"}]}}]},"documentation":{"id":50067,"nodeType":"StructuredDocumentation","src":"32605:307:62","text":" @dev Returns the downcasted int24 from int256, reverting on\n overflow (when the input is less than smallest int24 or\n greater than largest int24).\n Counterpart to Solidity's `int24` operator.\n Requirements:\n - input must fit into 24 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt24","nameLocation":"32926:7:62","parameters":{"id":50070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50069,"mutability":"mutable","name":"value","nameLocation":"32941:5:62","nodeType":"VariableDeclaration","scope":50092,"src":"32934:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":50068,"name":"int256","nodeType":"ElementaryTypeName","src":"32934:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"32933:14:62"},"returnParameters":{"id":50073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50072,"mutability":"mutable","name":"downcasted","nameLocation":"32977:10:62","nodeType":"VariableDeclaration","scope":50092,"src":"32971:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":50071,"name":"int24","nodeType":"ElementaryTypeName","src":"32971:5:62","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"32970:18:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":50118,"nodeType":"FunctionDefinition","src":"33455:220:62","nodes":[],"body":{"id":50117,"nodeType":"Block","src":"33527:148:62","nodes":[],"statements":[{"expression":{"id":50105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":50100,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50098,"src":"33537:10:62","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":50103,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50095,"src":"33556:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":50102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33550:5:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int16_$","typeString":"type(int16)"},"typeName":{"id":50101,"name":"int16","nodeType":"ElementaryTypeName","src":"33550:5:62","typeDescriptions":{}}},"id":50104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33550:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"src":"33537:25:62","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"id":50106,"nodeType":"ExpressionStatement","src":"33537:25:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":50109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50107,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50098,"src":"33576:10:62","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":50108,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50095,"src":"33590:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"33576:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50116,"nodeType":"IfStatement","src":"33572:97:62","trueBody":{"id":50115,"nodeType":"Block","src":"33597:72:62","statements":[{"errorCall":{"arguments":[{"hexValue":"3136","id":50111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33648:2:62","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},{"id":50112,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50095,"src":"33652:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":50110,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"33618:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":50113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33618:40:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50114,"nodeType":"RevertStatement","src":"33611:47:62"}]}}]},"documentation":{"id":50093,"nodeType":"StructuredDocumentation","src":"33143:307:62","text":" @dev Returns the downcasted int16 from int256, reverting on\n overflow (when the input is less than smallest int16 or\n greater than largest int16).\n Counterpart to Solidity's `int16` operator.\n Requirements:\n - input must fit into 16 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt16","nameLocation":"33464:7:62","parameters":{"id":50096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50095,"mutability":"mutable","name":"value","nameLocation":"33479:5:62","nodeType":"VariableDeclaration","scope":50118,"src":"33472:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":50094,"name":"int256","nodeType":"ElementaryTypeName","src":"33472:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"33471:14:62"},"returnParameters":{"id":50099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50098,"mutability":"mutable","name":"downcasted","nameLocation":"33515:10:62","nodeType":"VariableDeclaration","scope":50118,"src":"33509:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"},"typeName":{"id":50097,"name":"int16","nodeType":"ElementaryTypeName","src":"33509:5:62","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"visibility":"internal"}],"src":"33508:18:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":50144,"nodeType":"FunctionDefinition","src":"33988:216:62","nodes":[],"body":{"id":50143,"nodeType":"Block","src":"34058:146:62","nodes":[],"statements":[{"expression":{"id":50131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":50126,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50124,"src":"34068:10:62","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":50129,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50121,"src":"34086:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":50128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34081:4:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int8_$","typeString":"type(int8)"},"typeName":{"id":50127,"name":"int8","nodeType":"ElementaryTypeName","src":"34081:4:62","typeDescriptions":{}}},"id":50130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34081:11:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"src":"34068:24:62","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"id":50132,"nodeType":"ExpressionStatement","src":"34068:24:62"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":50135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50133,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50124,"src":"34106:10:62","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":50134,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50121,"src":"34120:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"34106:19:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50142,"nodeType":"IfStatement","src":"34102:96:62","trueBody":{"id":50141,"nodeType":"Block","src":"34127:71:62","statements":[{"errorCall":{"arguments":[{"hexValue":"38","id":50137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34178:1:62","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},{"id":50138,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50121,"src":"34181:5:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":50136,"name":"SafeCastOverflowedIntDowncast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48442,"src":"34148:29:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint8_$_t_int256_$returns$_t_error_$","typeString":"function (uint8,int256) pure returns (error)"}},"id":50139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34148:39:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50140,"nodeType":"RevertStatement","src":"34141:46:62"}]}}]},"documentation":{"id":50119,"nodeType":"StructuredDocumentation","src":"33681:302:62","text":" @dev Returns the downcasted int8 from int256, reverting on\n overflow (when the input is less than smallest int8 or\n greater than largest int8).\n Counterpart to Solidity's `int8` operator.\n Requirements:\n - input must fit into 8 bits"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt8","nameLocation":"33997:6:62","parameters":{"id":50122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50121,"mutability":"mutable","name":"value","nameLocation":"34011:5:62","nodeType":"VariableDeclaration","scope":50144,"src":"34004:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":50120,"name":"int256","nodeType":"ElementaryTypeName","src":"34004:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"34003:14:62"},"returnParameters":{"id":50125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50124,"mutability":"mutable","name":"downcasted","nameLocation":"34046:10:62","nodeType":"VariableDeclaration","scope":50144,"src":"34041:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"},"typeName":{"id":50123,"name":"int8","nodeType":"ElementaryTypeName","src":"34041:4:62","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"visibility":"internal"}],"src":"34040:17:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":50174,"nodeType":"FunctionDefinition","src":"34380:314:62","nodes":[],"body":{"id":50173,"nodeType":"Block","src":"34444:250:62","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50152,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50147,"src":"34557:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"expression":{"arguments":[{"id":50157,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34578:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":50156,"name":"int256","nodeType":"ElementaryTypeName","src":"34578:6:62","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}],"id":50155,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"34573:4:62","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":50158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34573:12:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_int256","typeString":"type(int256)"}},"id":50159,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34586:3:62","memberName":"max","nodeType":"MemberAccess","src":"34573:16:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":50154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34565:7:62","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":50153,"name":"uint256","nodeType":"ElementaryTypeName","src":"34565:7:62","typeDescriptions":{}}},"id":50160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34565:25:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34557:33:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50167,"nodeType":"IfStatement","src":"34553:105:62","trueBody":{"id":50166,"nodeType":"Block","src":"34592:66:62","statements":[{"errorCall":{"arguments":[{"id":50163,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50147,"src":"34641:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50162,"name":"SafeCastOverflowedUintToInt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48447,"src":"34613:27:62","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$_t_error_$","typeString":"function (uint256) pure returns (error)"}},"id":50164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34613:34:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50165,"nodeType":"RevertStatement","src":"34606:41:62"}]}},{"expression":{"arguments":[{"id":50170,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50147,"src":"34681:5:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50169,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34674:6:62","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":50168,"name":"int256","nodeType":"ElementaryTypeName","src":"34674:6:62","typeDescriptions":{}}},"id":50171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34674:13:62","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":50151,"id":50172,"nodeType":"Return","src":"34667:20:62"}]},"documentation":{"id":50145,"nodeType":"StructuredDocumentation","src":"34210:165:62","text":" @dev Converts an unsigned uint256 into a signed int256.\n Requirements:\n - input must be less than or equal to maxInt256."},"implemented":true,"kind":"function","modifiers":[],"name":"toInt256","nameLocation":"34389:8:62","parameters":{"id":50148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50147,"mutability":"mutable","name":"value","nameLocation":"34406:5:62","nodeType":"VariableDeclaration","scope":50174,"src":"34398:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50146,"name":"uint256","nodeType":"ElementaryTypeName","src":"34398:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34397:15:62"},"returnParameters":{"id":50151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50150,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50174,"src":"34436:6:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":50149,"name":"int256","nodeType":"ElementaryTypeName","src":"34436:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"34435:8:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":50184,"nodeType":"FunctionDefinition","src":"34795:145:62","nodes":[],"body":{"id":50183,"nodeType":"Block","src":"34853:87:62","nodes":[],"statements":[{"AST":{"nativeSrc":"34888:46:62","nodeType":"YulBlock","src":"34888:46:62","statements":[{"nativeSrc":"34902:22:62","nodeType":"YulAssignment","src":"34902:22:62","value":{"arguments":[{"arguments":[{"name":"b","nativeSrc":"34921:1:62","nodeType":"YulIdentifier","src":"34921:1:62"}],"functionName":{"name":"iszero","nativeSrc":"34914:6:62","nodeType":"YulIdentifier","src":"34914:6:62"},"nativeSrc":"34914:9:62","nodeType":"YulFunctionCall","src":"34914:9:62"}],"functionName":{"name":"iszero","nativeSrc":"34907:6:62","nodeType":"YulIdentifier","src":"34907:6:62"},"nativeSrc":"34907:17:62","nodeType":"YulFunctionCall","src":"34907:17:62"},"variableNames":[{"name":"u","nativeSrc":"34902:1:62","nodeType":"YulIdentifier","src":"34902:1:62"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":50177,"isOffset":false,"isSlot":false,"src":"34921:1:62","valueSize":1},{"declaration":50180,"isOffset":false,"isSlot":false,"src":"34902:1:62","valueSize":1}],"flags":["memory-safe"],"id":50182,"nodeType":"InlineAssembly","src":"34863:71:62"}]},"documentation":{"id":50175,"nodeType":"StructuredDocumentation","src":"34700:90:62","text":" @dev Cast a boolean (false or true) to a uint256 (0 or 1) with no jump."},"implemented":true,"kind":"function","modifiers":[],"name":"toUint","nameLocation":"34804:6:62","parameters":{"id":50178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50177,"mutability":"mutable","name":"b","nameLocation":"34816:1:62","nodeType":"VariableDeclaration","scope":50184,"src":"34811:6:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50176,"name":"bool","nodeType":"ElementaryTypeName","src":"34811:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"34810:8:62"},"returnParameters":{"id":50181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50180,"mutability":"mutable","name":"u","nameLocation":"34850:1:62","nodeType":"VariableDeclaration","scope":50184,"src":"34842:9:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50179,"name":"uint256","nodeType":"ElementaryTypeName","src":"34842:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34841:11:62"},"scope":50185,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeCast","contractDependencies":[],"contractKind":"library","documentation":{"id":48423,"nodeType":"StructuredDocumentation","src":"218:550:62","text":" @dev Wrappers over Solidity's uintXX/intXX/bool casting operators with added overflow\n checks.\n Downcasting from uint256/int256 in Solidity does not revert on overflow. This can\n easily result in undesired exploitation or bugs, since developers usually\n assume that overflows raise errors. `SafeCast` restores this intuition by\n reverting the transaction when such an operation overflows.\n Using this library instead of the unchecked operations eliminates an entire\n class of bugs, so it's recommended to use it always."},"fullyImplemented":true,"linearizedBaseContracts":[50185],"name":"SafeCast","nameLocation":"777:8:62","scope":50186,"usedErrors":[48430,48435,48442,48447],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"id":63,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol","id":50330,"exportedSymbols":{"SafeCast":[50185],"SignedMath":[50329]},"nodeType":"SourceUnit","src":"109:2504:63","nodes":[{"id":50187,"nodeType":"PragmaDirective","src":"109:24:63","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":50189,"nodeType":"ImportDirective","src":"135:40:63","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol","file":"./SafeCast.sol","nameLocation":"-1:-1:-1","scope":50330,"sourceUnit":50186,"symbolAliases":[{"foreign":{"id":50188,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"143:8:63","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":50329,"nodeType":"ContractDefinition","src":"258:2354:63","nodes":[{"id":50220,"nodeType":"FunctionDefinition","src":"662:299:63","nodes":[],"body":{"id":50219,"nodeType":"Block","src":"746:215:63","nodes":[],"statements":[{"id":50218,"nodeType":"UncheckedBlock","src":"756:199:63","statements":[{"expression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":50216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50202,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50197,"src":"894:1:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":50214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":50205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50203,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50195,"src":"900:1:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":50204,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50197,"src":"904:1:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"900:5:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":50206,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"899:7:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"arguments":[{"id":50211,"name":"condition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50193,"src":"932:9:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":50209,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"916:8:63","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":50210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"925:6:63","memberName":"toUint","nodeType":"MemberAccess","referencedDeclaration":50184,"src":"916:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$_t_uint256_$","typeString":"function (bool) pure returns (uint256)"}},"id":50212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"916:26:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"909:6:63","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":50207,"name":"int256","nodeType":"ElementaryTypeName","src":"909:6:63","typeDescriptions":{}}},"id":50213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"909:34:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"899:44:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":50215,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"898:46:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"894:50:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":50201,"id":50217,"nodeType":"Return","src":"887:57:63"}]}]},"documentation":{"id":50191,"nodeType":"StructuredDocumentation","src":"283:374:63","text":" @dev Branchless ternary evaluation for `a ? b : c`. Gas costs are constant.\n IMPORTANT: This function may reduce bytecode size and consume less gas when used standalone.\n However, the compiler may optimize Solidity ternary operations (i.e. `a ? b : c`) to only compute\n one branch when needed, making this function more expensive."},"implemented":true,"kind":"function","modifiers":[],"name":"ternary","nameLocation":"671:7:63","parameters":{"id":50198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50193,"mutability":"mutable","name":"condition","nameLocation":"684:9:63","nodeType":"VariableDeclaration","scope":50220,"src":"679:14:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50192,"name":"bool","nodeType":"ElementaryTypeName","src":"679:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50195,"mutability":"mutable","name":"a","nameLocation":"702:1:63","nodeType":"VariableDeclaration","scope":50220,"src":"695:8:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":50194,"name":"int256","nodeType":"ElementaryTypeName","src":"695:6:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":50197,"mutability":"mutable","name":"b","nameLocation":"712:1:63","nodeType":"VariableDeclaration","scope":50220,"src":"705:8:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":50196,"name":"int256","nodeType":"ElementaryTypeName","src":"705:6:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"678:36:63"},"returnParameters":{"id":50201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50200,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50220,"src":"738:6:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":50199,"name":"int256","nodeType":"ElementaryTypeName","src":"738:6:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"737:8:63"},"scope":50329,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":50239,"nodeType":"FunctionDefinition","src":"1038:108:63","nodes":[],"body":{"id":50238,"nodeType":"Block","src":"1102:44:63","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":50233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50231,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50223,"src":"1127:1:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":50232,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50225,"src":"1131:1:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1127:5:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50234,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50223,"src":"1134:1:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":50235,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50225,"src":"1137:1:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":50230,"name":"ternary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50220,"src":"1119:7:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_int256_$_t_int256_$returns$_t_int256_$","typeString":"function (bool,int256,int256) pure returns (int256)"}},"id":50236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1119:20:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":50229,"id":50237,"nodeType":"Return","src":"1112:27:63"}]},"documentation":{"id":50221,"nodeType":"StructuredDocumentation","src":"967:66:63","text":" @dev Returns the largest of two signed numbers."},"implemented":true,"kind":"function","modifiers":[],"name":"max","nameLocation":"1047:3:63","parameters":{"id":50226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50223,"mutability":"mutable","name":"a","nameLocation":"1058:1:63","nodeType":"VariableDeclaration","scope":50239,"src":"1051:8:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":50222,"name":"int256","nodeType":"ElementaryTypeName","src":"1051:6:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":50225,"mutability":"mutable","name":"b","nameLocation":"1068:1:63","nodeType":"VariableDeclaration","scope":50239,"src":"1061:8:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":50224,"name":"int256","nodeType":"ElementaryTypeName","src":"1061:6:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1050:20:63"},"returnParameters":{"id":50229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50228,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50239,"src":"1094:6:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":50227,"name":"int256","nodeType":"ElementaryTypeName","src":"1094:6:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1093:8:63"},"scope":50329,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":50258,"nodeType":"FunctionDefinition","src":"1224:108:63","nodes":[],"body":{"id":50257,"nodeType":"Block","src":"1288:44:63","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":50252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50250,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50242,"src":"1313:1:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":50251,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50244,"src":"1317:1:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1313:5:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50253,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50242,"src":"1320:1:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":50254,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50244,"src":"1323:1:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":50249,"name":"ternary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50220,"src":"1305:7:63","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_int256_$_t_int256_$returns$_t_int256_$","typeString":"function (bool,int256,int256) pure returns (int256)"}},"id":50255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1305:20:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":50248,"id":50256,"nodeType":"Return","src":"1298:27:63"}]},"documentation":{"id":50240,"nodeType":"StructuredDocumentation","src":"1152:67:63","text":" @dev Returns the smallest of two signed numbers."},"implemented":true,"kind":"function","modifiers":[],"name":"min","nameLocation":"1233:3:63","parameters":{"id":50245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50242,"mutability":"mutable","name":"a","nameLocation":"1244:1:63","nodeType":"VariableDeclaration","scope":50258,"src":"1237:8:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":50241,"name":"int256","nodeType":"ElementaryTypeName","src":"1237:6:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":50244,"mutability":"mutable","name":"b","nameLocation":"1254:1:63","nodeType":"VariableDeclaration","scope":50258,"src":"1247:8:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":50243,"name":"int256","nodeType":"ElementaryTypeName","src":"1247:6:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1236:20:63"},"returnParameters":{"id":50248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50247,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50258,"src":"1280:6:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":50246,"name":"int256","nodeType":"ElementaryTypeName","src":"1280:6:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1279:8:63"},"scope":50329,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":50302,"nodeType":"FunctionDefinition","src":"1469:230:63","nodes":[],"body":{"id":50301,"nodeType":"Block","src":"1537:162:63","nodes":[],"statements":[{"assignments":[50269],"declarations":[{"constant":false,"id":50269,"mutability":"mutable","name":"x","nameLocation":"1606:1:63","nodeType":"VariableDeclaration","scope":50301,"src":"1599:8:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":50268,"name":"int256","nodeType":"ElementaryTypeName","src":"1599:6:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":50282,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":50281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":50272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50270,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50261,"src":"1611:1:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":50271,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50263,"src":"1615:1:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1611:5:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":50273,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1610:7:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":50279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":50276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50274,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50261,"src":"1622:1:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":50275,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50263,"src":"1626:1:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1622:5:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":50277,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1621:7:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":50278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1632:1:63","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1621:12:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":50280,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1620:14:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1610:24:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"1599:35:63"},{"expression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":50299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50283,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50269,"src":"1651:1:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":50297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":50288,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50269,"src":"1671:1:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":50287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1663:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":50286,"name":"uint256","nodeType":"ElementaryTypeName","src":"1663:7:63","typeDescriptions":{}}},"id":50289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1663:10:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"323535","id":50290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1677:3:63","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"1663:17:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50285,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1656:6:63","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":50284,"name":"int256","nodeType":"ElementaryTypeName","src":"1656:6:63","typeDescriptions":{}}},"id":50292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1656:25:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":50295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50293,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50261,"src":"1685:1:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":50294,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50263,"src":"1689:1:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1685:5:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":50296,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1684:7:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1656:35:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":50298,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1655:37:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"1651:41:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":50267,"id":50300,"nodeType":"Return","src":"1644:48:63"}]},"documentation":{"id":50259,"nodeType":"StructuredDocumentation","src":"1338:126:63","text":" @dev Returns the average of two signed numbers without overflow.\n The result is rounded towards zero."},"implemented":true,"kind":"function","modifiers":[],"name":"average","nameLocation":"1478:7:63","parameters":{"id":50264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50261,"mutability":"mutable","name":"a","nameLocation":"1493:1:63","nodeType":"VariableDeclaration","scope":50302,"src":"1486:8:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":50260,"name":"int256","nodeType":"ElementaryTypeName","src":"1486:6:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":50263,"mutability":"mutable","name":"b","nameLocation":"1503:1:63","nodeType":"VariableDeclaration","scope":50302,"src":"1496:8:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":50262,"name":"int256","nodeType":"ElementaryTypeName","src":"1496:6:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1485:20:63"},"returnParameters":{"id":50267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50266,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50302,"src":"1529:6:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":50265,"name":"int256","nodeType":"ElementaryTypeName","src":"1529:6:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1528:8:63"},"scope":50329,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":50328,"nodeType":"FunctionDefinition","src":"1788:822:63","nodes":[],"body":{"id":50327,"nodeType":"Block","src":"1843:767:63","nodes":[],"statements":[{"id":50326,"nodeType":"UncheckedBlock","src":"1853:751:63","statements":[{"assignments":[50311],"declarations":[{"constant":false,"id":50311,"mutability":"mutable","name":"mask","nameLocation":"2424:4:63","nodeType":"VariableDeclaration","scope":50326,"src":"2417:11:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":50310,"name":"int256","nodeType":"ElementaryTypeName","src":"2417:6:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":50315,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":50314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50312,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50305,"src":"2431:1:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"323535","id":50313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2436:3:63","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"2431:8:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"2417:22:63"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":50323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":50320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50318,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50305,"src":"2576:1:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":50319,"name":"mask","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50311,"src":"2580:4:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"2576:8:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":50321,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2575:10:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":50322,"name":"mask","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50311,"src":"2588:4:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"2575:17:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":50317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2567:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":50316,"name":"uint256","nodeType":"ElementaryTypeName","src":"2567:7:63","typeDescriptions":{}}},"id":50324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2567:26:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":50309,"id":50325,"nodeType":"Return","src":"2560:33:63"}]}]},"documentation":{"id":50303,"nodeType":"StructuredDocumentation","src":"1705:78:63","text":" @dev Returns the absolute unsigned value of a signed value."},"implemented":true,"kind":"function","modifiers":[],"name":"abs","nameLocation":"1797:3:63","parameters":{"id":50306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50305,"mutability":"mutable","name":"n","nameLocation":"1808:1:63","nodeType":"VariableDeclaration","scope":50328,"src":"1801:8:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":50304,"name":"int256","nodeType":"ElementaryTypeName","src":"1801:6:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1800:10:63"},"returnParameters":{"id":50309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50308,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50328,"src":"1834:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50307,"name":"uint256","nodeType":"ElementaryTypeName","src":"1834:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1833:9:63"},"scope":50329,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"SignedMath","contractDependencies":[],"contractKind":"library","documentation":{"id":50190,"nodeType":"StructuredDocumentation","src":"177:80:63","text":" @dev Standard signed math utilities missing in the Solidity language."},"fullyImplemented":true,"linearizedBaseContracts":[50329],"name":"SignedMath","nameLocation":"266:10:63","scope":50330,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"id":64,"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol","id":51856,"exportedSymbols":{"Arrays":[44776],"EnumerableSet":[51855],"Math":[48420]},"nodeType":"SourceUnit","src":"205:29420:64","nodes":[{"id":50331,"nodeType":"PragmaDirective","src":"205:24:64","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":50333,"nodeType":"ImportDirective","src":"231:37:64","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Arrays.sol","file":"../Arrays.sol","nameLocation":"-1:-1:-1","scope":51856,"sourceUnit":44777,"symbolAliases":[{"foreign":{"id":50332,"name":"Arrays","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44776,"src":"239:6:64","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":50335,"nodeType":"ImportDirective","src":"269:38:64","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"../math/Math.sol","nameLocation":"-1:-1:-1","scope":51856,"sourceUnit":48421,"symbolAliases":[{"foreign":{"id":50334,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48420,"src":"277:4:64","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":51855,"nodeType":"ContractDefinition","src":"1586:28038:64","nodes":[{"id":50344,"nodeType":"StructDefinition","src":"2054:273:64","nodes":[],"canonicalName":"EnumerableSet.Set","members":[{"constant":false,"id":50339,"mutability":"mutable","name":"_values","nameLocation":"2118:7:64","nodeType":"VariableDeclaration","scope":50344,"src":"2108:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":50337,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2108:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":50338,"nodeType":"ArrayTypeName","src":"2108:9:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":50343,"mutability":"mutable","name":"_positions","nameLocation":"2310:10:64","nodeType":"VariableDeclaration","scope":50344,"src":"2276:44:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"typeName":{"id":50342,"keyName":"value","keyNameLocation":"2292:5:64","keyType":{"id":50340,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2284:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"2276:33:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":50341,"name":"uint256","nodeType":"ElementaryTypeName","src":"2301:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"}],"name":"Set","nameLocation":"2061:3:64","scope":51855,"visibility":"public"},{"id":50386,"nodeType":"FunctionDefinition","src":"2497:406:64","nodes":[],"body":{"id":50385,"nodeType":"Block","src":"2566:337:64","nodes":[],"statements":[{"condition":{"id":50359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2580:22:64","subExpression":{"arguments":[{"id":50356,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50348,"src":"2591:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},{"id":50357,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50350,"src":"2596:5:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":50355,"name":"_contains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50532,"src":"2581:9:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$50344_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)"}},"id":50358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2581:21:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":50383,"nodeType":"Block","src":"2860:37:64","statements":[{"expression":{"hexValue":"66616c7365","id":50381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2881:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":50354,"id":50382,"nodeType":"Return","src":"2874:12:64"}]},"id":50384,"nodeType":"IfStatement","src":"2576:321:64","trueBody":{"id":50380,"nodeType":"Block","src":"2604:250:64","statements":[{"expression":{"arguments":[{"id":50365,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50350,"src":"2635:5:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":50360,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50348,"src":"2618:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":50363,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2622:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":50339,"src":"2618:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":50364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2630:4:64","memberName":"push","nodeType":"MemberAccess","src":"2618:16:64","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":50366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2618:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50367,"nodeType":"ExpressionStatement","src":"2618:23:64"},{"expression":{"id":50376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":50368,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50348,"src":"2776:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":50371,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2780:10:64","memberName":"_positions","nodeType":"MemberAccess","referencedDeclaration":50343,"src":"2776:14:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":50372,"indexExpression":{"id":50370,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50350,"src":"2791:5:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2776:21:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":50373,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50348,"src":"2800:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":50374,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2804:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":50339,"src":"2800:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":50375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2812:6:64","memberName":"length","nodeType":"MemberAccess","src":"2800:18:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2776:42:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50377,"nodeType":"ExpressionStatement","src":"2776:42:64"},{"expression":{"hexValue":"74727565","id":50378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2839:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":50354,"id":50379,"nodeType":"Return","src":"2832:11:64"}]}}]},"documentation":{"id":50345,"nodeType":"StructuredDocumentation","src":"2333:159:64","text":" @dev Add a value to a set. O(1).\n Returns true if the value was added to the set, that is if it was not\n already present."},"implemented":true,"kind":"function","modifiers":[],"name":"_add","nameLocation":"2506:4:64","parameters":{"id":50351,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50348,"mutability":"mutable","name":"set","nameLocation":"2523:3:64","nodeType":"VariableDeclaration","scope":50386,"src":"2511:15:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":50347,"nodeType":"UserDefinedTypeName","pathNode":{"id":50346,"name":"Set","nameLocations":["2511:3:64"],"nodeType":"IdentifierPath","referencedDeclaration":50344,"src":"2511:3:64"},"referencedDeclaration":50344,"src":"2511:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"},{"constant":false,"id":50350,"mutability":"mutable","name":"value","nameLocation":"2536:5:64","nodeType":"VariableDeclaration","scope":50386,"src":"2528:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50349,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2528:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2510:32:64"},"returnParameters":{"id":50354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50353,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50386,"src":"2560:4:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50352,"name":"bool","nodeType":"ElementaryTypeName","src":"2560:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2559:6:64"},"scope":51855,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":50470,"nodeType":"FunctionDefinition","src":"3071:1368:64","nodes":[],"body":{"id":50469,"nodeType":"Block","src":"3143:1296:64","nodes":[],"statements":[{"assignments":[50398],"declarations":[{"constant":false,"id":50398,"mutability":"mutable","name":"position","nameLocation":"3255:8:64","nodeType":"VariableDeclaration","scope":50469,"src":"3247:16:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50397,"name":"uint256","nodeType":"ElementaryTypeName","src":"3247:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50403,"initialValue":{"baseExpression":{"expression":{"id":50399,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50390,"src":"3266:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":50400,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3270:10:64","memberName":"_positions","nodeType":"MemberAccess","referencedDeclaration":50343,"src":"3266:14:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":50402,"indexExpression":{"id":50401,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50392,"src":"3281:5:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3266:21:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3247:40:64"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50404,"name":"position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50398,"src":"3302:8:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":50405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3314:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3302:13:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":50467,"nodeType":"Block","src":"4396:37:64","statements":[{"expression":{"hexValue":"66616c7365","id":50465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4417:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":50396,"id":50466,"nodeType":"Return","src":"4410:12:64"}]},"id":50468,"nodeType":"IfStatement","src":"3298:1135:64","trueBody":{"id":50464,"nodeType":"Block","src":"3317:1073:64","statements":[{"assignments":[50408],"declarations":[{"constant":false,"id":50408,"mutability":"mutable","name":"valueIndex","nameLocation":"3677:10:64","nodeType":"VariableDeclaration","scope":50464,"src":"3669:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50407,"name":"uint256","nodeType":"ElementaryTypeName","src":"3669:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50412,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50409,"name":"position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50398,"src":"3690:8:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":50410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3701:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3690:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3669:33:64"},{"assignments":[50414],"declarations":[{"constant":false,"id":50414,"mutability":"mutable","name":"lastIndex","nameLocation":"3724:9:64","nodeType":"VariableDeclaration","scope":50464,"src":"3716:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50413,"name":"uint256","nodeType":"ElementaryTypeName","src":"3716:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50420,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":50415,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50390,"src":"3736:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":50416,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3740:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":50339,"src":"3736:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":50417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3748:6:64","memberName":"length","nodeType":"MemberAccess","src":"3736:18:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":50418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3757:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3736:22:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3716:42:64"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50421,"name":"valueIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50408,"src":"3777:10:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":50422,"name":"lastIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50414,"src":"3791:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3777:23:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50448,"nodeType":"IfStatement","src":"3773:378:64","trueBody":{"id":50447,"nodeType":"Block","src":"3802:349:64","statements":[{"assignments":[50425],"declarations":[{"constant":false,"id":50425,"mutability":"mutable","name":"lastValue","nameLocation":"3828:9:64","nodeType":"VariableDeclaration","scope":50447,"src":"3820:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50424,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3820:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":50430,"initialValue":{"baseExpression":{"expression":{"id":50426,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50390,"src":"3840:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":50427,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3844:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":50339,"src":"3840:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":50429,"indexExpression":{"id":50428,"name":"lastIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50414,"src":"3852:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3840:22:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"3820:42:64"},{"expression":{"id":50437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":50431,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50390,"src":"3961:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":50434,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3965:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":50339,"src":"3961:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":50435,"indexExpression":{"id":50433,"name":"valueIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50408,"src":"3973:10:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3961:23:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":50436,"name":"lastValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50425,"src":"3987:9:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3961:35:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":50438,"nodeType":"ExpressionStatement","src":"3961:35:64"},{"expression":{"id":50445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":50439,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50390,"src":"4100:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":50442,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4104:10:64","memberName":"_positions","nodeType":"MemberAccess","referencedDeclaration":50343,"src":"4100:14:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":50443,"indexExpression":{"id":50441,"name":"lastValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50425,"src":"4115:9:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4100:25:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":50444,"name":"position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50398,"src":"4128:8:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4100:36:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50446,"nodeType":"ExpressionStatement","src":"4100:36:64"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":50449,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50390,"src":"4229:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":50452,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4233:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":50339,"src":"4229:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":50453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4241:3:64","memberName":"pop","nodeType":"MemberAccess","src":"4229:15:64","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer)"}},"id":50454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4229:17:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50455,"nodeType":"ExpressionStatement","src":"4229:17:64"},{"expression":{"id":50460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4325:28:64","subExpression":{"baseExpression":{"expression":{"id":50456,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50390,"src":"4332:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":50457,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4336:10:64","memberName":"_positions","nodeType":"MemberAccess","referencedDeclaration":50343,"src":"4332:14:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":50459,"indexExpression":{"id":50458,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50392,"src":"4347:5:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4332:21:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50461,"nodeType":"ExpressionStatement","src":"4325:28:64"},{"expression":{"hexValue":"74727565","id":50462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4375:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":50396,"id":50463,"nodeType":"Return","src":"4368:11:64"}]}}]},"documentation":{"id":50387,"nodeType":"StructuredDocumentation","src":"2909:157:64","text":" @dev Removes a value from a set. O(1).\n Returns true if the value was removed from the set, that is if it was\n present."},"implemented":true,"kind":"function","modifiers":[],"name":"_remove","nameLocation":"3080:7:64","parameters":{"id":50393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50390,"mutability":"mutable","name":"set","nameLocation":"3100:3:64","nodeType":"VariableDeclaration","scope":50470,"src":"3088:15:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":50389,"nodeType":"UserDefinedTypeName","pathNode":{"id":50388,"name":"Set","nameLocations":["3088:3:64"],"nodeType":"IdentifierPath","referencedDeclaration":50344,"src":"3088:3:64"},"referencedDeclaration":50344,"src":"3088:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"},{"constant":false,"id":50392,"mutability":"mutable","name":"value","nameLocation":"3113:5:64","nodeType":"VariableDeclaration","scope":50470,"src":"3105:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50391,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3105:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3087:32:64"},"returnParameters":{"id":50396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50395,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50470,"src":"3137:4:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50394,"name":"bool","nodeType":"ElementaryTypeName","src":"3137:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3136:6:64"},"scope":51855,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":50513,"nodeType":"FunctionDefinition","src":"4783:237:64","nodes":[],"body":{"id":50512,"nodeType":"Block","src":"4824:196:64","nodes":[],"statements":[{"assignments":[50478],"declarations":[{"constant":false,"id":50478,"mutability":"mutable","name":"len","nameLocation":"4842:3:64","nodeType":"VariableDeclaration","scope":50512,"src":"4834:11:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50477,"name":"uint256","nodeType":"ElementaryTypeName","src":"4834:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50482,"initialValue":{"arguments":[{"id":50480,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50474,"src":"4856:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}],"id":50479,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50546,"src":"4848:7:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$50344_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct EnumerableSet.Set storage pointer) view returns (uint256)"}},"id":50481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4848:12:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4834:26:64"},{"body":{"id":50502,"nodeType":"Block","src":"4904:62:64","statements":[{"expression":{"id":50500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4918:37:64","subExpression":{"baseExpression":{"expression":{"id":50493,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50474,"src":"4925:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":50494,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4929:10:64","memberName":"_positions","nodeType":"MemberAccess","referencedDeclaration":50343,"src":"4925:14:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":50499,"indexExpression":{"baseExpression":{"expression":{"id":50495,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50474,"src":"4940:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":50496,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4944:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":50339,"src":"4940:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":50498,"indexExpression":{"id":50497,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50484,"src":"4952:1:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4940:14:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4925:30:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50501,"nodeType":"ExpressionStatement","src":"4918:37:64"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50487,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50484,"src":"4890:1:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":50488,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50478,"src":"4894:3:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4890:7:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50503,"initializationExpression":{"assignments":[50484],"declarations":[{"constant":false,"id":50484,"mutability":"mutable","name":"i","nameLocation":"4883:1:64","nodeType":"VariableDeclaration","scope":50503,"src":"4875:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50483,"name":"uint256","nodeType":"ElementaryTypeName","src":"4875:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50486,"initialValue":{"hexValue":"30","id":50485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4887:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"4875:13:64"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":50491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"4899:3:64","subExpression":{"id":50490,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50484,"src":"4901:1:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50492,"nodeType":"ExpressionStatement","src":"4899:3:64"},"nodeType":"ForStatement","src":"4870:96:64"},{"expression":{"arguments":[{"expression":{"id":50507,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50474,"src":"4998:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":50508,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5002:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":50339,"src":"4998:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},{"hexValue":"30","id":50509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5011:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":50504,"name":"Arrays","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44776,"src":"4975:6:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Arrays_$44776_$","typeString":"type(library Arrays)"}},"id":50506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4982:15:64","memberName":"unsafeSetLength","nodeType":"MemberAccess","referencedDeclaration":44742,"src":"4975:22:64","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (bytes32[] storage pointer,uint256)"}},"id":50510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4975:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50511,"nodeType":"ExpressionStatement","src":"4975:38:64"}]},"documentation":{"id":50471,"nodeType":"StructuredDocumentation","src":"4445:333:64","text":" @dev Removes all the values from a set. O(n).\n WARNING: This function has an unbounded cost that scales with set size. Developers should keep in mind that\n using it may render the function uncallable if the set grows to the point where clearing it consumes too much\n gas to fit in a block."},"implemented":true,"kind":"function","modifiers":[],"name":"_clear","nameLocation":"4792:6:64","parameters":{"id":50475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50474,"mutability":"mutable","name":"set","nameLocation":"4811:3:64","nodeType":"VariableDeclaration","scope":50513,"src":"4799:15:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":50473,"nodeType":"UserDefinedTypeName","pathNode":{"id":50472,"name":"Set","nameLocations":["4799:3:64"],"nodeType":"IdentifierPath","referencedDeclaration":50344,"src":"4799:3:64"},"referencedDeclaration":50344,"src":"4799:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"}],"src":"4798:17:64"},"returnParameters":{"id":50476,"nodeType":"ParameterList","parameters":[],"src":"4824:0:64"},"scope":51855,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":50532,"nodeType":"FunctionDefinition","src":"5101:129:64","nodes":[],"body":{"id":50531,"nodeType":"Block","src":"5180:50:64","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":50524,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50517,"src":"5197:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":50525,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5201:10:64","memberName":"_positions","nodeType":"MemberAccess","referencedDeclaration":50343,"src":"5197:14:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":50527,"indexExpression":{"id":50526,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50519,"src":"5212:5:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5197:21:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":50528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5222:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5197:26:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":50523,"id":50530,"nodeType":"Return","src":"5190:33:64"}]},"documentation":{"id":50514,"nodeType":"StructuredDocumentation","src":"5026:70:64","text":" @dev Returns true if the value is in the set. O(1)."},"implemented":true,"kind":"function","modifiers":[],"name":"_contains","nameLocation":"5110:9:64","parameters":{"id":50520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50517,"mutability":"mutable","name":"set","nameLocation":"5132:3:64","nodeType":"VariableDeclaration","scope":50532,"src":"5120:15:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":50516,"nodeType":"UserDefinedTypeName","pathNode":{"id":50515,"name":"Set","nameLocations":["5120:3:64"],"nodeType":"IdentifierPath","referencedDeclaration":50344,"src":"5120:3:64"},"referencedDeclaration":50344,"src":"5120:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"},{"constant":false,"id":50519,"mutability":"mutable","name":"value","nameLocation":"5145:5:64","nodeType":"VariableDeclaration","scope":50532,"src":"5137:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50518,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5137:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5119:32:64"},"returnParameters":{"id":50523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50522,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50532,"src":"5174:4:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50521,"name":"bool","nodeType":"ElementaryTypeName","src":"5174:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5173:6:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":50546,"nodeType":"FunctionDefinition","src":"5311:107:64","nodes":[],"body":{"id":50545,"nodeType":"Block","src":"5376:42:64","nodes":[],"statements":[{"expression":{"expression":{"expression":{"id":50541,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50536,"src":"5393:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":50542,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5397:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":50339,"src":"5393:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":50543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5405:6:64","memberName":"length","nodeType":"MemberAccess","src":"5393:18:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":50540,"id":50544,"nodeType":"Return","src":"5386:25:64"}]},"documentation":{"id":50533,"nodeType":"StructuredDocumentation","src":"5236:70:64","text":" @dev Returns the number of values on the set. O(1)."},"implemented":true,"kind":"function","modifiers":[],"name":"_length","nameLocation":"5320:7:64","parameters":{"id":50537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50536,"mutability":"mutable","name":"set","nameLocation":"5340:3:64","nodeType":"VariableDeclaration","scope":50546,"src":"5328:15:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":50535,"nodeType":"UserDefinedTypeName","pathNode":{"id":50534,"name":"Set","nameLocations":["5328:3:64"],"nodeType":"IdentifierPath","referencedDeclaration":50344,"src":"5328:3:64"},"referencedDeclaration":50344,"src":"5328:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"}],"src":"5327:17:64"},"returnParameters":{"id":50540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50539,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50546,"src":"5367:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50538,"name":"uint256","nodeType":"ElementaryTypeName","src":"5367:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5366:9:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":50563,"nodeType":"FunctionDefinition","src":"5760:118:64","nodes":[],"body":{"id":50562,"nodeType":"Block","src":"5836:42:64","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"id":50557,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50550,"src":"5853:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":50558,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5857:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":50339,"src":"5853:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":50560,"indexExpression":{"id":50559,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50552,"src":"5865:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5853:18:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":50556,"id":50561,"nodeType":"Return","src":"5846:25:64"}]},"documentation":{"id":50547,"nodeType":"StructuredDocumentation","src":"5424:331:64","text":" @dev Returns the value stored at position `index` in the set. O(1).\n Note that there are no guarantees on the ordering of values inside the\n array, and it may change when more values are added or removed.\n Requirements:\n - `index` must be strictly less than {length}."},"implemented":true,"kind":"function","modifiers":[],"name":"_at","nameLocation":"5769:3:64","parameters":{"id":50553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50550,"mutability":"mutable","name":"set","nameLocation":"5785:3:64","nodeType":"VariableDeclaration","scope":50563,"src":"5773:15:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":50549,"nodeType":"UserDefinedTypeName","pathNode":{"id":50548,"name":"Set","nameLocations":["5773:3:64"],"nodeType":"IdentifierPath","referencedDeclaration":50344,"src":"5773:3:64"},"referencedDeclaration":50344,"src":"5773:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"},{"constant":false,"id":50552,"mutability":"mutable","name":"index","nameLocation":"5798:5:64","nodeType":"VariableDeclaration","scope":50563,"src":"5790:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50551,"name":"uint256","nodeType":"ElementaryTypeName","src":"5790:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5772:32:64"},"returnParameters":{"id":50556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50555,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50563,"src":"5827:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50554,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5827:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5826:9:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":50577,"nodeType":"FunctionDefinition","src":"6418:109:64","nodes":[],"body":{"id":50576,"nodeType":"Block","src":"6492:35:64","nodes":[],"statements":[{"expression":{"expression":{"id":50573,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50567,"src":"6509:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":50574,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6513:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":50339,"src":"6509:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"functionReturnParameters":50572,"id":50575,"nodeType":"Return","src":"6502:18:64"}]},"documentation":{"id":50564,"nodeType":"StructuredDocumentation","src":"5884:529:64","text":" @dev Return the entire set in an array\n WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n this function has an unbounded cost, and using it as part of a state-changing function may render the function\n uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block."},"implemented":true,"kind":"function","modifiers":[],"name":"_values","nameLocation":"6427:7:64","parameters":{"id":50568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50567,"mutability":"mutable","name":"set","nameLocation":"6447:3:64","nodeType":"VariableDeclaration","scope":50577,"src":"6435:15:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":50566,"nodeType":"UserDefinedTypeName","pathNode":{"id":50565,"name":"Set","nameLocations":["6435:3:64"],"nodeType":"IdentifierPath","referencedDeclaration":50344,"src":"6435:3:64"},"referencedDeclaration":50344,"src":"6435:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"}],"src":"6434:17:64"},"returnParameters":{"id":50572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50571,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50577,"src":"6474:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":50569,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6474:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":50570,"nodeType":"ArrayTypeName","src":"6474:9:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"6473:18:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":50656,"nodeType":"FunctionDefinition","src":"7071:494:64","nodes":[],"body":{"id":50655,"nodeType":"Block","src":"7173:392:64","nodes":[],"statements":[{"id":50654,"nodeType":"UncheckedBlock","src":"7183:376:64","statements":[{"expression":{"id":50599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":50591,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50585,"src":"7207:3:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":50594,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50585,"src":"7222:3:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":50596,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50581,"src":"7235:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}],"id":50595,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50546,"src":"7227:7:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$50344_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct EnumerableSet.Set storage pointer) view returns (uint256)"}},"id":50597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7227:12:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50592,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48420,"src":"7213:4:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$48420_$","typeString":"type(library Math)"}},"id":50593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7218:3:64","memberName":"min","nodeType":"MemberAccess","referencedDeclaration":47126,"src":"7213:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":50598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7213:27:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7207:33:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50600,"nodeType":"ExpressionStatement","src":"7207:33:64"},{"expression":{"id":50607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":50601,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50583,"src":"7254:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":50604,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50583,"src":"7271:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50605,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50585,"src":"7278:3:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50602,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48420,"src":"7262:4:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$48420_$","typeString":"type(library Math)"}},"id":50603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7267:3:64","memberName":"min","nodeType":"MemberAccess","referencedDeclaration":47126,"src":"7262:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":50606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7262:20:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7254:28:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50608,"nodeType":"ExpressionStatement","src":"7254:28:64"},{"assignments":[50610],"declarations":[{"constant":false,"id":50610,"mutability":"mutable","name":"len","nameLocation":"7305:3:64","nodeType":"VariableDeclaration","scope":50654,"src":"7297:11:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50609,"name":"uint256","nodeType":"ElementaryTypeName","src":"7297:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50614,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50611,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50585,"src":"7311:3:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":50612,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50583,"src":"7317:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7311:11:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7297:25:64"},{"assignments":[50619],"declarations":[{"constant":false,"id":50619,"mutability":"mutable","name":"result","nameLocation":"7353:6:64","nodeType":"VariableDeclaration","scope":50654,"src":"7336:23:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":50617,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7336:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":50618,"nodeType":"ArrayTypeName","src":"7336:9:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":50625,"initialValue":{"arguments":[{"id":50623,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50610,"src":"7376:3:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50622,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7362:13:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":50620,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7366:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":50621,"nodeType":"ArrayTypeName","src":"7366:9:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":50624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7362:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7336:44:64"},{"body":{"id":50650,"nodeType":"Block","src":"7428:94:64","statements":[{"expression":{"id":50648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":50636,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50619,"src":"7446:6:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":50638,"indexExpression":{"id":50637,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50627,"src":"7453:1:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7446:9:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"expression":{"id":50641,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50581,"src":"7478:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":50642,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7482:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":50339,"src":"7478:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50643,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50583,"src":"7491:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":50644,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50627,"src":"7499:1:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7491:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50639,"name":"Arrays","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44776,"src":"7458:6:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Arrays_$44776_$","typeString":"type(library Arrays)"}},"id":50640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7465:12:64","memberName":"unsafeAccess","nodeType":"MemberAccess","referencedDeclaration":44577,"src":"7458:19:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Bytes32Slot_$45054_storage_ptr_$","typeString":"function (bytes32[] storage pointer,uint256) pure returns (struct StorageSlot.Bytes32Slot storage pointer)"}},"id":50646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7458:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Slot_$45054_storage_ptr","typeString":"struct StorageSlot.Bytes32Slot storage pointer"}},"id":50647,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7502:5:64","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":45053,"src":"7458:49:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7446:61:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":50649,"nodeType":"ExpressionStatement","src":"7446:61:64"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50630,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50627,"src":"7414:1:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":50631,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50610,"src":"7418:3:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7414:7:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50651,"initializationExpression":{"assignments":[50627],"declarations":[{"constant":false,"id":50627,"mutability":"mutable","name":"i","nameLocation":"7407:1:64","nodeType":"VariableDeclaration","scope":50651,"src":"7399:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50626,"name":"uint256","nodeType":"ElementaryTypeName","src":"7399:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50629,"initialValue":{"hexValue":"30","id":50628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7411:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"7399:13:64"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":50634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"7423:3:64","subExpression":{"id":50633,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50627,"src":"7425:1:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50635,"nodeType":"ExpressionStatement","src":"7423:3:64"},"nodeType":"ForStatement","src":"7394:128:64"},{"expression":{"id":50652,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50619,"src":"7542:6:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":50590,"id":50653,"nodeType":"Return","src":"7535:13:64"}]}]},"documentation":{"id":50578,"nodeType":"StructuredDocumentation","src":"6533:533:64","text":" @dev Return a slice of the set in an array\n WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n this function has an unbounded cost, and using it as part of a state-changing function may render the function\n uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block."},"implemented":true,"kind":"function","modifiers":[],"name":"_values","nameLocation":"7080:7:64","parameters":{"id":50586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50581,"mutability":"mutable","name":"set","nameLocation":"7100:3:64","nodeType":"VariableDeclaration","scope":50656,"src":"7088:15:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":50580,"nodeType":"UserDefinedTypeName","pathNode":{"id":50579,"name":"Set","nameLocations":["7088:3:64"],"nodeType":"IdentifierPath","referencedDeclaration":50344,"src":"7088:3:64"},"referencedDeclaration":50344,"src":"7088:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"},{"constant":false,"id":50583,"mutability":"mutable","name":"start","nameLocation":"7113:5:64","nodeType":"VariableDeclaration","scope":50656,"src":"7105:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50582,"name":"uint256","nodeType":"ElementaryTypeName","src":"7105:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50585,"mutability":"mutable","name":"end","nameLocation":"7128:3:64","nodeType":"VariableDeclaration","scope":50656,"src":"7120:11:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50584,"name":"uint256","nodeType":"ElementaryTypeName","src":"7120:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7087:45:64"},"returnParameters":{"id":50590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50589,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50656,"src":"7155:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":50587,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7155:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":50588,"nodeType":"ArrayTypeName","src":"7155:9:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"7154:18:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":50660,"nodeType":"StructDefinition","src":"7590:45:64","nodes":[],"canonicalName":"EnumerableSet.Bytes32Set","members":[{"constant":false,"id":50659,"mutability":"mutable","name":"_inner","nameLocation":"7622:6:64","nodeType":"VariableDeclaration","scope":50660,"src":"7618:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":50658,"nodeType":"UserDefinedTypeName","pathNode":{"id":50657,"name":"Set","nameLocations":["7618:3:64"],"nodeType":"IdentifierPath","referencedDeclaration":50344,"src":"7618:3:64"},"referencedDeclaration":50344,"src":"7618:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"}],"name":"Bytes32Set","nameLocation":"7597:10:64","scope":51855,"visibility":"public"},{"id":50678,"nodeType":"FunctionDefinition","src":"7805:123:64","nodes":[],"body":{"id":50677,"nodeType":"Block","src":"7881:47:64","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":50672,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50664,"src":"7903:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$50660_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set storage pointer"}},"id":50673,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7907:6:64","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":50659,"src":"7903:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"id":50674,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50666,"src":"7915:5:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":50671,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50386,"src":"7898:4:64","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$50344_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"}},"id":50675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7898:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":50670,"id":50676,"nodeType":"Return","src":"7891:30:64"}]},"documentation":{"id":50661,"nodeType":"StructuredDocumentation","src":"7641:159:64","text":" @dev Add a value to a set. O(1).\n Returns true if the value was added to the set, that is if it was not\n already present."},"implemented":true,"kind":"function","modifiers":[],"name":"add","nameLocation":"7814:3:64","parameters":{"id":50667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50664,"mutability":"mutable","name":"set","nameLocation":"7837:3:64","nodeType":"VariableDeclaration","scope":50678,"src":"7818:22:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$50660_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"},"typeName":{"id":50663,"nodeType":"UserDefinedTypeName","pathNode":{"id":50662,"name":"Bytes32Set","nameLocations":["7818:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":50660,"src":"7818:10:64"},"referencedDeclaration":50660,"src":"7818:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$50660_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"}},"visibility":"internal"},{"constant":false,"id":50666,"mutability":"mutable","name":"value","nameLocation":"7850:5:64","nodeType":"VariableDeclaration","scope":50678,"src":"7842:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50665,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7842:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7817:39:64"},"returnParameters":{"id":50670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50669,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50678,"src":"7875:4:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50668,"name":"bool","nodeType":"ElementaryTypeName","src":"7875:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7874:6:64"},"scope":51855,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":50696,"nodeType":"FunctionDefinition","src":"8096:129:64","nodes":[],"body":{"id":50695,"nodeType":"Block","src":"8175:50:64","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":50690,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50682,"src":"8200:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$50660_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set storage pointer"}},"id":50691,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8204:6:64","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":50659,"src":"8200:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"id":50692,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50684,"src":"8212:5:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":50689,"name":"_remove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50470,"src":"8192:7:64","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$50344_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"}},"id":50693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8192:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":50688,"id":50694,"nodeType":"Return","src":"8185:33:64"}]},"documentation":{"id":50679,"nodeType":"StructuredDocumentation","src":"7934:157:64","text":" @dev Removes a value from a set. O(1).\n Returns true if the value was removed from the set, that is if it was\n present."},"implemented":true,"kind":"function","modifiers":[],"name":"remove","nameLocation":"8105:6:64","parameters":{"id":50685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50682,"mutability":"mutable","name":"set","nameLocation":"8131:3:64","nodeType":"VariableDeclaration","scope":50696,"src":"8112:22:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$50660_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"},"typeName":{"id":50681,"nodeType":"UserDefinedTypeName","pathNode":{"id":50680,"name":"Bytes32Set","nameLocations":["8112:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":50660,"src":"8112:10:64"},"referencedDeclaration":50660,"src":"8112:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$50660_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"}},"visibility":"internal"},{"constant":false,"id":50684,"mutability":"mutable","name":"value","nameLocation":"8144:5:64","nodeType":"VariableDeclaration","scope":50696,"src":"8136:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50683,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8136:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8111:39:64"},"returnParameters":{"id":50688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50687,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50696,"src":"8169:4:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50686,"name":"bool","nodeType":"ElementaryTypeName","src":"8169:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8168:6:64"},"scope":51855,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":50709,"nodeType":"FunctionDefinition","src":"8539:83:64","nodes":[],"body":{"id":50708,"nodeType":"Block","src":"8587:35:64","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":50704,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50700,"src":"8604:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$50660_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set storage pointer"}},"id":50705,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8608:6:64","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":50659,"src":"8604:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}],"id":50703,"name":"_clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50513,"src":"8597:6:64","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$50344_storage_ptr_$returns$__$","typeString":"function (struct EnumerableSet.Set storage pointer)"}},"id":50706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8597:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50707,"nodeType":"ExpressionStatement","src":"8597:18:64"}]},"documentation":{"id":50697,"nodeType":"StructuredDocumentation","src":"8231:303:64","text":" @dev Removes all the values from a set. O(n).\n WARNING: Developers should keep in mind that this function has an unbounded cost and using it may render the\n function uncallable if the set grows to the point where clearing it consumes too much gas to fit in a block."},"implemented":true,"kind":"function","modifiers":[],"name":"clear","nameLocation":"8548:5:64","parameters":{"id":50701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50700,"mutability":"mutable","name":"set","nameLocation":"8573:3:64","nodeType":"VariableDeclaration","scope":50709,"src":"8554:22:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$50660_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"},"typeName":{"id":50699,"nodeType":"UserDefinedTypeName","pathNode":{"id":50698,"name":"Bytes32Set","nameLocations":["8554:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":50660,"src":"8554:10:64"},"referencedDeclaration":50660,"src":"8554:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$50660_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"}},"visibility":"internal"}],"src":"8553:24:64"},"returnParameters":{"id":50702,"nodeType":"ParameterList","parameters":[],"src":"8587:0:64"},"scope":51855,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":50727,"nodeType":"FunctionDefinition","src":"8703:138:64","nodes":[],"body":{"id":50726,"nodeType":"Block","src":"8789:52:64","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":50721,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50713,"src":"8816:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$50660_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set storage pointer"}},"id":50722,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8820:6:64","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":50659,"src":"8816:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"id":50723,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50715,"src":"8828:5:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":50720,"name":"_contains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50532,"src":"8806:9:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$50344_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)"}},"id":50724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8806:28:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":50719,"id":50725,"nodeType":"Return","src":"8799:35:64"}]},"documentation":{"id":50710,"nodeType":"StructuredDocumentation","src":"8628:70:64","text":" @dev Returns true if the value is in the set. O(1)."},"implemented":true,"kind":"function","modifiers":[],"name":"contains","nameLocation":"8712:8:64","parameters":{"id":50716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50713,"mutability":"mutable","name":"set","nameLocation":"8740:3:64","nodeType":"VariableDeclaration","scope":50727,"src":"8721:22:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$50660_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"},"typeName":{"id":50712,"nodeType":"UserDefinedTypeName","pathNode":{"id":50711,"name":"Bytes32Set","nameLocations":["8721:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":50660,"src":"8721:10:64"},"referencedDeclaration":50660,"src":"8721:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$50660_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"}},"visibility":"internal"},{"constant":false,"id":50715,"mutability":"mutable","name":"value","nameLocation":"8753:5:64","nodeType":"VariableDeclaration","scope":50727,"src":"8745:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50714,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8745:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8720:39:64"},"returnParameters":{"id":50719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50718,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50727,"src":"8783:4:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50717,"name":"bool","nodeType":"ElementaryTypeName","src":"8783:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8782:6:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50742,"nodeType":"FunctionDefinition","src":"8922:115:64","nodes":[],"body":{"id":50741,"nodeType":"Block","src":"8994:43:64","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":50737,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50731,"src":"9019:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$50660_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set storage pointer"}},"id":50738,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9023:6:64","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":50659,"src":"9019:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}],"id":50736,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50546,"src":"9011:7:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$50344_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct EnumerableSet.Set storage pointer) view returns (uint256)"}},"id":50739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9011:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":50735,"id":50740,"nodeType":"Return","src":"9004:26:64"}]},"documentation":{"id":50728,"nodeType":"StructuredDocumentation","src":"8847:70:64","text":" @dev Returns the number of values in the set. O(1)."},"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"8931:6:64","parameters":{"id":50732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50731,"mutability":"mutable","name":"set","nameLocation":"8957:3:64","nodeType":"VariableDeclaration","scope":50742,"src":"8938:22:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$50660_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"},"typeName":{"id":50730,"nodeType":"UserDefinedTypeName","pathNode":{"id":50729,"name":"Bytes32Set","nameLocations":["8938:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":50660,"src":"8938:10:64"},"referencedDeclaration":50660,"src":"8938:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$50660_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"}},"visibility":"internal"}],"src":"8937:24:64"},"returnParameters":{"id":50735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50734,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50742,"src":"8985:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50733,"name":"uint256","nodeType":"ElementaryTypeName","src":"8985:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8984:9:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50760,"nodeType":"FunctionDefinition","src":"9379:129:64","nodes":[],"body":{"id":50759,"nodeType":"Block","src":"9462:46:64","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":50754,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50746,"src":"9483:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$50660_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set storage pointer"}},"id":50755,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9487:6:64","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":50659,"src":"9483:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"id":50756,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50748,"src":"9495:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50753,"name":"_at","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50563,"src":"9479:3:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$50344_storage_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)"}},"id":50757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9479:22:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":50752,"id":50758,"nodeType":"Return","src":"9472:29:64"}]},"documentation":{"id":50743,"nodeType":"StructuredDocumentation","src":"9043:331:64","text":" @dev Returns the value stored at position `index` in the set. O(1).\n Note that there are no guarantees on the ordering of values inside the\n array, and it may change when more values are added or removed.\n Requirements:\n - `index` must be strictly less than {length}."},"implemented":true,"kind":"function","modifiers":[],"name":"at","nameLocation":"9388:2:64","parameters":{"id":50749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50746,"mutability":"mutable","name":"set","nameLocation":"9410:3:64","nodeType":"VariableDeclaration","scope":50760,"src":"9391:22:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$50660_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"},"typeName":{"id":50745,"nodeType":"UserDefinedTypeName","pathNode":{"id":50744,"name":"Bytes32Set","nameLocations":["9391:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":50660,"src":"9391:10:64"},"referencedDeclaration":50660,"src":"9391:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$50660_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"}},"visibility":"internal"},{"constant":false,"id":50748,"mutability":"mutable","name":"index","nameLocation":"9423:5:64","nodeType":"VariableDeclaration","scope":50760,"src":"9415:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50747,"name":"uint256","nodeType":"ElementaryTypeName","src":"9415:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9390:39:64"},"returnParameters":{"id":50752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50751,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50760,"src":"9453:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50750,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9453:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9452:9:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50790,"nodeType":"FunctionDefinition","src":"10048:273:64","nodes":[],"body":{"id":50789,"nodeType":"Block","src":"10129:192:64","nodes":[],"statements":[{"assignments":[50774],"declarations":[{"constant":false,"id":50774,"mutability":"mutable","name":"store","nameLocation":"10156:5:64","nodeType":"VariableDeclaration","scope":50789,"src":"10139:22:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":50772,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10139:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":50773,"nodeType":"ArrayTypeName","src":"10139:9:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":50779,"initialValue":{"arguments":[{"expression":{"id":50776,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50764,"src":"10172:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$50660_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set storage pointer"}},"id":50777,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10176:6:64","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":50659,"src":"10172:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}],"id":50775,"name":"_values","nodeType":"Identifier","overloadedDeclarations":[50577,50656],"referencedDeclaration":50577,"src":"10164:7:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$50344_storage_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (struct EnumerableSet.Set storage pointer) view returns (bytes32[] memory)"}},"id":50778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10164:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10139:44:64"},{"assignments":[50784],"declarations":[{"constant":false,"id":50784,"mutability":"mutable","name":"result","nameLocation":"10210:6:64","nodeType":"VariableDeclaration","scope":50789,"src":"10193:23:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":50782,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10193:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":50783,"nodeType":"ArrayTypeName","src":"10193:9:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":50785,"nodeType":"VariableDeclarationStatement","src":"10193:23:64"},{"AST":{"nativeSrc":"10252:39:64","nodeType":"YulBlock","src":"10252:39:64","statements":[{"nativeSrc":"10266:15:64","nodeType":"YulAssignment","src":"10266:15:64","value":{"name":"store","nativeSrc":"10276:5:64","nodeType":"YulIdentifier","src":"10276:5:64"},"variableNames":[{"name":"result","nativeSrc":"10266:6:64","nodeType":"YulIdentifier","src":"10266:6:64"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":50784,"isOffset":false,"isSlot":false,"src":"10266:6:64","valueSize":1},{"declaration":50774,"isOffset":false,"isSlot":false,"src":"10276:5:64","valueSize":1}],"flags":["memory-safe"],"id":50786,"nodeType":"InlineAssembly","src":"10227:64:64"},{"expression":{"id":50787,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50784,"src":"10308:6:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":50769,"id":50788,"nodeType":"Return","src":"10301:13:64"}]},"documentation":{"id":50761,"nodeType":"StructuredDocumentation","src":"9514:529:64","text":" @dev Return the entire set in an array\n WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n this function has an unbounded cost, and using it as part of a state-changing function may render the function\n uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block."},"implemented":true,"kind":"function","modifiers":[],"name":"values","nameLocation":"10057:6:64","parameters":{"id":50765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50764,"mutability":"mutable","name":"set","nameLocation":"10083:3:64","nodeType":"VariableDeclaration","scope":50790,"src":"10064:22:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$50660_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"},"typeName":{"id":50763,"nodeType":"UserDefinedTypeName","pathNode":{"id":50762,"name":"Bytes32Set","nameLocations":["10064:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":50660,"src":"10064:10:64"},"referencedDeclaration":50660,"src":"10064:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$50660_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"}},"visibility":"internal"}],"src":"10063:24:64"},"returnParameters":{"id":50769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50768,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50790,"src":"10111:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":50766,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10111:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":50767,"nodeType":"ArrayTypeName","src":"10111:9:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"10110:18:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50826,"nodeType":"FunctionDefinition","src":"10865:313:64","nodes":[],"body":{"id":50825,"nodeType":"Block","src":"10974:204:64","nodes":[],"statements":[{"assignments":[50808],"declarations":[{"constant":false,"id":50808,"mutability":"mutable","name":"store","nameLocation":"11001:5:64","nodeType":"VariableDeclaration","scope":50825,"src":"10984:22:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":50806,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10984:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":50807,"nodeType":"ArrayTypeName","src":"10984:9:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":50815,"initialValue":{"arguments":[{"expression":{"id":50810,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50794,"src":"11017:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$50660_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set storage pointer"}},"id":50811,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11021:6:64","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":50659,"src":"11017:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"id":50812,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50796,"src":"11029:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50813,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50798,"src":"11036:3:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50809,"name":"_values","nodeType":"Identifier","overloadedDeclarations":[50577,50656],"referencedDeclaration":50656,"src":"11009:7:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$50344_storage_ptr_$_t_uint256_$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (struct EnumerableSet.Set storage pointer,uint256,uint256) view returns (bytes32[] memory)"}},"id":50814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11009:31:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10984:56:64"},{"assignments":[50820],"declarations":[{"constant":false,"id":50820,"mutability":"mutable","name":"result","nameLocation":"11067:6:64","nodeType":"VariableDeclaration","scope":50825,"src":"11050:23:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":50818,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11050:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":50819,"nodeType":"ArrayTypeName","src":"11050:9:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":50821,"nodeType":"VariableDeclarationStatement","src":"11050:23:64"},{"AST":{"nativeSrc":"11109:39:64","nodeType":"YulBlock","src":"11109:39:64","statements":[{"nativeSrc":"11123:15:64","nodeType":"YulAssignment","src":"11123:15:64","value":{"name":"store","nativeSrc":"11133:5:64","nodeType":"YulIdentifier","src":"11133:5:64"},"variableNames":[{"name":"result","nativeSrc":"11123:6:64","nodeType":"YulIdentifier","src":"11123:6:64"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":50820,"isOffset":false,"isSlot":false,"src":"11123:6:64","valueSize":1},{"declaration":50808,"isOffset":false,"isSlot":false,"src":"11133:5:64","valueSize":1}],"flags":["memory-safe"],"id":50822,"nodeType":"InlineAssembly","src":"11084:64:64"},{"expression":{"id":50823,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50820,"src":"11165:6:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":50803,"id":50824,"nodeType":"Return","src":"11158:13:64"}]},"documentation":{"id":50791,"nodeType":"StructuredDocumentation","src":"10327:533:64","text":" @dev Return a slice of the set in an array\n WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n this function has an unbounded cost, and using it as part of a state-changing function may render the function\n uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block."},"implemented":true,"kind":"function","modifiers":[],"name":"values","nameLocation":"10874:6:64","parameters":{"id":50799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50794,"mutability":"mutable","name":"set","nameLocation":"10900:3:64","nodeType":"VariableDeclaration","scope":50826,"src":"10881:22:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$50660_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"},"typeName":{"id":50793,"nodeType":"UserDefinedTypeName","pathNode":{"id":50792,"name":"Bytes32Set","nameLocations":["10881:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":50660,"src":"10881:10:64"},"referencedDeclaration":50660,"src":"10881:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Bytes32Set_$50660_storage_ptr","typeString":"struct EnumerableSet.Bytes32Set"}},"visibility":"internal"},{"constant":false,"id":50796,"mutability":"mutable","name":"start","nameLocation":"10913:5:64","nodeType":"VariableDeclaration","scope":50826,"src":"10905:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50795,"name":"uint256","nodeType":"ElementaryTypeName","src":"10905:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50798,"mutability":"mutable","name":"end","nameLocation":"10928:3:64","nodeType":"VariableDeclaration","scope":50826,"src":"10920:11:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50797,"name":"uint256","nodeType":"ElementaryTypeName","src":"10920:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10880:52:64"},"returnParameters":{"id":50803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50802,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50826,"src":"10956:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":50800,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10956:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":50801,"nodeType":"ArrayTypeName","src":"10956:9:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"10955:18:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50830,"nodeType":"StructDefinition","src":"11203:45:64","nodes":[],"canonicalName":"EnumerableSet.AddressSet","members":[{"constant":false,"id":50829,"mutability":"mutable","name":"_inner","nameLocation":"11235:6:64","nodeType":"VariableDeclaration","scope":50830,"src":"11231:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":50828,"nodeType":"UserDefinedTypeName","pathNode":{"id":50827,"name":"Set","nameLocations":["11231:3:64"],"nodeType":"IdentifierPath","referencedDeclaration":50344,"src":"11231:3:64"},"referencedDeclaration":50344,"src":"11231:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"}],"name":"AddressSet","nameLocation":"11210:10:64","scope":51855,"visibility":"public"},{"id":50857,"nodeType":"FunctionDefinition","src":"11418:150:64","nodes":[],"body":{"id":50856,"nodeType":"Block","src":"11494:74:64","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":50842,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50834,"src":"11516:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":50843,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11520:6:64","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":50829,"src":"11516:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"arguments":[{"arguments":[{"arguments":[{"id":50850,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50836,"src":"11552:5:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":50849,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11544:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":50848,"name":"uint160","nodeType":"ElementaryTypeName","src":"11544:7:64","typeDescriptions":{}}},"id":50851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11544:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":50847,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11536:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":50846,"name":"uint256","nodeType":"ElementaryTypeName","src":"11536:7:64","typeDescriptions":{}}},"id":50852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11536:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50845,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11528:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":50844,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11528:7:64","typeDescriptions":{}}},"id":50853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11528:32:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":50841,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50386,"src":"11511:4:64","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$50344_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"}},"id":50854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11511:50:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":50840,"id":50855,"nodeType":"Return","src":"11504:57:64"}]},"documentation":{"id":50831,"nodeType":"StructuredDocumentation","src":"11254:159:64","text":" @dev Add a value to a set. O(1).\n Returns true if the value was added to the set, that is if it was not\n already present."},"implemented":true,"kind":"function","modifiers":[],"name":"add","nameLocation":"11427:3:64","parameters":{"id":50837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50834,"mutability":"mutable","name":"set","nameLocation":"11450:3:64","nodeType":"VariableDeclaration","scope":50857,"src":"11431:22:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":50833,"nodeType":"UserDefinedTypeName","pathNode":{"id":50832,"name":"AddressSet","nameLocations":["11431:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":50830,"src":"11431:10:64"},"referencedDeclaration":50830,"src":"11431:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"},{"constant":false,"id":50836,"mutability":"mutable","name":"value","nameLocation":"11463:5:64","nodeType":"VariableDeclaration","scope":50857,"src":"11455:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50835,"name":"address","nodeType":"ElementaryTypeName","src":"11455:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11430:39:64"},"returnParameters":{"id":50840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50839,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50857,"src":"11488:4:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50838,"name":"bool","nodeType":"ElementaryTypeName","src":"11488:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11487:6:64"},"scope":51855,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":50884,"nodeType":"FunctionDefinition","src":"11736:156:64","nodes":[],"body":{"id":50883,"nodeType":"Block","src":"11815:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":50869,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50861,"src":"11840:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":50870,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11844:6:64","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":50829,"src":"11840:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"arguments":[{"arguments":[{"arguments":[{"id":50877,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50863,"src":"11876:5:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":50876,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11868:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":50875,"name":"uint160","nodeType":"ElementaryTypeName","src":"11868:7:64","typeDescriptions":{}}},"id":50878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11868:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":50874,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11860:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":50873,"name":"uint256","nodeType":"ElementaryTypeName","src":"11860:7:64","typeDescriptions":{}}},"id":50879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11860:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50872,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11852:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":50871,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11852:7:64","typeDescriptions":{}}},"id":50880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11852:32:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":50868,"name":"_remove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50470,"src":"11832:7:64","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$50344_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"}},"id":50881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11832:53:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":50867,"id":50882,"nodeType":"Return","src":"11825:60:64"}]},"documentation":{"id":50858,"nodeType":"StructuredDocumentation","src":"11574:157:64","text":" @dev Removes a value from a set. O(1).\n Returns true if the value was removed from the set, that is if it was\n present."},"implemented":true,"kind":"function","modifiers":[],"name":"remove","nameLocation":"11745:6:64","parameters":{"id":50864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50861,"mutability":"mutable","name":"set","nameLocation":"11771:3:64","nodeType":"VariableDeclaration","scope":50884,"src":"11752:22:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":50860,"nodeType":"UserDefinedTypeName","pathNode":{"id":50859,"name":"AddressSet","nameLocations":["11752:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":50830,"src":"11752:10:64"},"referencedDeclaration":50830,"src":"11752:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"},{"constant":false,"id":50863,"mutability":"mutable","name":"value","nameLocation":"11784:5:64","nodeType":"VariableDeclaration","scope":50884,"src":"11776:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50862,"name":"address","nodeType":"ElementaryTypeName","src":"11776:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11751:39:64"},"returnParameters":{"id":50867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50866,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50884,"src":"11809:4:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50865,"name":"bool","nodeType":"ElementaryTypeName","src":"11809:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11808:6:64"},"scope":51855,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":50897,"nodeType":"FunctionDefinition","src":"12206:83:64","nodes":[],"body":{"id":50896,"nodeType":"Block","src":"12254:35:64","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":50892,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50888,"src":"12271:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":50893,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12275:6:64","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":50829,"src":"12271:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}],"id":50891,"name":"_clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50513,"src":"12264:6:64","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$50344_storage_ptr_$returns$__$","typeString":"function (struct EnumerableSet.Set storage pointer)"}},"id":50894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12264:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50895,"nodeType":"ExpressionStatement","src":"12264:18:64"}]},"documentation":{"id":50885,"nodeType":"StructuredDocumentation","src":"11898:303:64","text":" @dev Removes all the values from a set. O(n).\n WARNING: Developers should keep in mind that this function has an unbounded cost and using it may render the\n function uncallable if the set grows to the point where clearing it consumes too much gas to fit in a block."},"implemented":true,"kind":"function","modifiers":[],"name":"clear","nameLocation":"12215:5:64","parameters":{"id":50889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50888,"mutability":"mutable","name":"set","nameLocation":"12240:3:64","nodeType":"VariableDeclaration","scope":50897,"src":"12221:22:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":50887,"nodeType":"UserDefinedTypeName","pathNode":{"id":50886,"name":"AddressSet","nameLocations":["12221:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":50830,"src":"12221:10:64"},"referencedDeclaration":50830,"src":"12221:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"}],"src":"12220:24:64"},"returnParameters":{"id":50890,"nodeType":"ParameterList","parameters":[],"src":"12254:0:64"},"scope":51855,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":50924,"nodeType":"FunctionDefinition","src":"12370:165:64","nodes":[],"body":{"id":50923,"nodeType":"Block","src":"12456:79:64","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":50909,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50901,"src":"12483:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":50910,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12487:6:64","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":50829,"src":"12483:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"arguments":[{"arguments":[{"arguments":[{"id":50917,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50903,"src":"12519:5:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":50916,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12511:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":50915,"name":"uint160","nodeType":"ElementaryTypeName","src":"12511:7:64","typeDescriptions":{}}},"id":50918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12511:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":50914,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12503:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":50913,"name":"uint256","nodeType":"ElementaryTypeName","src":"12503:7:64","typeDescriptions":{}}},"id":50919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12503:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50912,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12495:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":50911,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12495:7:64","typeDescriptions":{}}},"id":50920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12495:32:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":50908,"name":"_contains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50532,"src":"12473:9:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$50344_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)"}},"id":50921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12473:55:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":50907,"id":50922,"nodeType":"Return","src":"12466:62:64"}]},"documentation":{"id":50898,"nodeType":"StructuredDocumentation","src":"12295:70:64","text":" @dev Returns true if the value is in the set. O(1)."},"implemented":true,"kind":"function","modifiers":[],"name":"contains","nameLocation":"12379:8:64","parameters":{"id":50904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50901,"mutability":"mutable","name":"set","nameLocation":"12407:3:64","nodeType":"VariableDeclaration","scope":50924,"src":"12388:22:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":50900,"nodeType":"UserDefinedTypeName","pathNode":{"id":50899,"name":"AddressSet","nameLocations":["12388:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":50830,"src":"12388:10:64"},"referencedDeclaration":50830,"src":"12388:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"},{"constant":false,"id":50903,"mutability":"mutable","name":"value","nameLocation":"12420:5:64","nodeType":"VariableDeclaration","scope":50924,"src":"12412:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50902,"name":"address","nodeType":"ElementaryTypeName","src":"12412:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12387:39:64"},"returnParameters":{"id":50907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50906,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50924,"src":"12450:4:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50905,"name":"bool","nodeType":"ElementaryTypeName","src":"12450:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12449:6:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50939,"nodeType":"FunctionDefinition","src":"12616:115:64","nodes":[],"body":{"id":50938,"nodeType":"Block","src":"12688:43:64","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":50934,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50928,"src":"12713:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":50935,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12717:6:64","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":50829,"src":"12713:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}],"id":50933,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50546,"src":"12705:7:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$50344_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct EnumerableSet.Set storage pointer) view returns (uint256)"}},"id":50936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12705:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":50932,"id":50937,"nodeType":"Return","src":"12698:26:64"}]},"documentation":{"id":50925,"nodeType":"StructuredDocumentation","src":"12541:70:64","text":" @dev Returns the number of values in the set. O(1)."},"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"12625:6:64","parameters":{"id":50929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50928,"mutability":"mutable","name":"set","nameLocation":"12651:3:64","nodeType":"VariableDeclaration","scope":50939,"src":"12632:22:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":50927,"nodeType":"UserDefinedTypeName","pathNode":{"id":50926,"name":"AddressSet","nameLocations":["12632:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":50830,"src":"12632:10:64"},"referencedDeclaration":50830,"src":"12632:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"}],"src":"12631:24:64"},"returnParameters":{"id":50932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50931,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50939,"src":"12679:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50930,"name":"uint256","nodeType":"ElementaryTypeName","src":"12679:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12678:9:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50966,"nodeType":"FunctionDefinition","src":"13073:156:64","nodes":[],"body":{"id":50965,"nodeType":"Block","src":"13156:73:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":50957,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50943,"src":"13201:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":50958,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13205:6:64","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":50829,"src":"13201:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"id":50959,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50945,"src":"13213:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50956,"name":"_at","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50563,"src":"13197:3:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$50344_storage_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)"}},"id":50960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13197:22:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":50955,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13189:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":50954,"name":"uint256","nodeType":"ElementaryTypeName","src":"13189:7:64","typeDescriptions":{}}},"id":50961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13189:31:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50953,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13181:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":50952,"name":"uint160","nodeType":"ElementaryTypeName","src":"13181:7:64","typeDescriptions":{}}},"id":50962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13181:40:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":50951,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13173:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50950,"name":"address","nodeType":"ElementaryTypeName","src":"13173:7:64","typeDescriptions":{}}},"id":50963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13173:49:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":50949,"id":50964,"nodeType":"Return","src":"13166:56:64"}]},"documentation":{"id":50940,"nodeType":"StructuredDocumentation","src":"12737:331:64","text":" @dev Returns the value stored at position `index` in the set. O(1).\n Note that there are no guarantees on the ordering of values inside the\n array, and it may change when more values are added or removed.\n Requirements:\n - `index` must be strictly less than {length}."},"implemented":true,"kind":"function","modifiers":[],"name":"at","nameLocation":"13082:2:64","parameters":{"id":50946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50943,"mutability":"mutable","name":"set","nameLocation":"13104:3:64","nodeType":"VariableDeclaration","scope":50966,"src":"13085:22:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":50942,"nodeType":"UserDefinedTypeName","pathNode":{"id":50941,"name":"AddressSet","nameLocations":["13085:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":50830,"src":"13085:10:64"},"referencedDeclaration":50830,"src":"13085:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"},{"constant":false,"id":50945,"mutability":"mutable","name":"index","nameLocation":"13117:5:64","nodeType":"VariableDeclaration","scope":50966,"src":"13109:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50944,"name":"uint256","nodeType":"ElementaryTypeName","src":"13109:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13084:39:64"},"returnParameters":{"id":50949,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50948,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50966,"src":"13147:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50947,"name":"address","nodeType":"ElementaryTypeName","src":"13147:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13146:9:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50996,"nodeType":"FunctionDefinition","src":"13769:273:64","nodes":[],"body":{"id":50995,"nodeType":"Block","src":"13850:192:64","nodes":[],"statements":[{"assignments":[50980],"declarations":[{"constant":false,"id":50980,"mutability":"mutable","name":"store","nameLocation":"13877:5:64","nodeType":"VariableDeclaration","scope":50995,"src":"13860:22:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":50978,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13860:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":50979,"nodeType":"ArrayTypeName","src":"13860:9:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":50985,"initialValue":{"arguments":[{"expression":{"id":50982,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50970,"src":"13893:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":50983,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13897:6:64","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":50829,"src":"13893:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}],"id":50981,"name":"_values","nodeType":"Identifier","overloadedDeclarations":[50577,50656],"referencedDeclaration":50577,"src":"13885:7:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$50344_storage_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (struct EnumerableSet.Set storage pointer) view returns (bytes32[] memory)"}},"id":50984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13885:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"13860:44:64"},{"assignments":[50990],"declarations":[{"constant":false,"id":50990,"mutability":"mutable","name":"result","nameLocation":"13931:6:64","nodeType":"VariableDeclaration","scope":50995,"src":"13914:23:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":50988,"name":"address","nodeType":"ElementaryTypeName","src":"13914:7:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":50989,"nodeType":"ArrayTypeName","src":"13914:9:64","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":50991,"nodeType":"VariableDeclarationStatement","src":"13914:23:64"},{"AST":{"nativeSrc":"13973:39:64","nodeType":"YulBlock","src":"13973:39:64","statements":[{"nativeSrc":"13987:15:64","nodeType":"YulAssignment","src":"13987:15:64","value":{"name":"store","nativeSrc":"13997:5:64","nodeType":"YulIdentifier","src":"13997:5:64"},"variableNames":[{"name":"result","nativeSrc":"13987:6:64","nodeType":"YulIdentifier","src":"13987:6:64"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":50990,"isOffset":false,"isSlot":false,"src":"13987:6:64","valueSize":1},{"declaration":50980,"isOffset":false,"isSlot":false,"src":"13997:5:64","valueSize":1}],"flags":["memory-safe"],"id":50992,"nodeType":"InlineAssembly","src":"13948:64:64"},{"expression":{"id":50993,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50990,"src":"14029:6:64","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":50975,"id":50994,"nodeType":"Return","src":"14022:13:64"}]},"documentation":{"id":50967,"nodeType":"StructuredDocumentation","src":"13235:529:64","text":" @dev Return the entire set in an array\n WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n this function has an unbounded cost, and using it as part of a state-changing function may render the function\n uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block."},"implemented":true,"kind":"function","modifiers":[],"name":"values","nameLocation":"13778:6:64","parameters":{"id":50971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50970,"mutability":"mutable","name":"set","nameLocation":"13804:3:64","nodeType":"VariableDeclaration","scope":50996,"src":"13785:22:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":50969,"nodeType":"UserDefinedTypeName","pathNode":{"id":50968,"name":"AddressSet","nameLocations":["13785:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":50830,"src":"13785:10:64"},"referencedDeclaration":50830,"src":"13785:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"}],"src":"13784:24:64"},"returnParameters":{"id":50975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50974,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50996,"src":"13832:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":50972,"name":"address","nodeType":"ElementaryTypeName","src":"13832:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":50973,"nodeType":"ArrayTypeName","src":"13832:9:64","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"13831:18:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51032,"nodeType":"FunctionDefinition","src":"14586:313:64","nodes":[],"body":{"id":51031,"nodeType":"Block","src":"14695:204:64","nodes":[],"statements":[{"assignments":[51014],"declarations":[{"constant":false,"id":51014,"mutability":"mutable","name":"store","nameLocation":"14722:5:64","nodeType":"VariableDeclaration","scope":51031,"src":"14705:22:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":51012,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14705:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":51013,"nodeType":"ArrayTypeName","src":"14705:9:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":51021,"initialValue":{"arguments":[{"expression":{"id":51016,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51000,"src":"14738:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":51017,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14742:6:64","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":50829,"src":"14738:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"id":51018,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51002,"src":"14750:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51019,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51004,"src":"14757:3:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51015,"name":"_values","nodeType":"Identifier","overloadedDeclarations":[50577,50656],"referencedDeclaration":50656,"src":"14730:7:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$50344_storage_ptr_$_t_uint256_$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (struct EnumerableSet.Set storage pointer,uint256,uint256) view returns (bytes32[] memory)"}},"id":51020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14730:31:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"14705:56:64"},{"assignments":[51026],"declarations":[{"constant":false,"id":51026,"mutability":"mutable","name":"result","nameLocation":"14788:6:64","nodeType":"VariableDeclaration","scope":51031,"src":"14771:23:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":51024,"name":"address","nodeType":"ElementaryTypeName","src":"14771:7:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":51025,"nodeType":"ArrayTypeName","src":"14771:9:64","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":51027,"nodeType":"VariableDeclarationStatement","src":"14771:23:64"},{"AST":{"nativeSrc":"14830:39:64","nodeType":"YulBlock","src":"14830:39:64","statements":[{"nativeSrc":"14844:15:64","nodeType":"YulAssignment","src":"14844:15:64","value":{"name":"store","nativeSrc":"14854:5:64","nodeType":"YulIdentifier","src":"14854:5:64"},"variableNames":[{"name":"result","nativeSrc":"14844:6:64","nodeType":"YulIdentifier","src":"14844:6:64"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":51026,"isOffset":false,"isSlot":false,"src":"14844:6:64","valueSize":1},{"declaration":51014,"isOffset":false,"isSlot":false,"src":"14854:5:64","valueSize":1}],"flags":["memory-safe"],"id":51028,"nodeType":"InlineAssembly","src":"14805:64:64"},{"expression":{"id":51029,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51026,"src":"14886:6:64","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":51009,"id":51030,"nodeType":"Return","src":"14879:13:64"}]},"documentation":{"id":50997,"nodeType":"StructuredDocumentation","src":"14048:533:64","text":" @dev Return a slice of the set in an array\n WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n this function has an unbounded cost, and using it as part of a state-changing function may render the function\n uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block."},"implemented":true,"kind":"function","modifiers":[],"name":"values","nameLocation":"14595:6:64","parameters":{"id":51005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51000,"mutability":"mutable","name":"set","nameLocation":"14621:3:64","nodeType":"VariableDeclaration","scope":51032,"src":"14602:22:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":50999,"nodeType":"UserDefinedTypeName","pathNode":{"id":50998,"name":"AddressSet","nameLocations":["14602:10:64"],"nodeType":"IdentifierPath","referencedDeclaration":50830,"src":"14602:10:64"},"referencedDeclaration":50830,"src":"14602:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"},{"constant":false,"id":51002,"mutability":"mutable","name":"start","nameLocation":"14634:5:64","nodeType":"VariableDeclaration","scope":51032,"src":"14626:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51001,"name":"uint256","nodeType":"ElementaryTypeName","src":"14626:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51004,"mutability":"mutable","name":"end","nameLocation":"14649:3:64","nodeType":"VariableDeclaration","scope":51032,"src":"14641:11:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51003,"name":"uint256","nodeType":"ElementaryTypeName","src":"14641:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14601:52:64"},"returnParameters":{"id":51009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51008,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51032,"src":"14677:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":51006,"name":"address","nodeType":"ElementaryTypeName","src":"14677:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":51007,"nodeType":"ArrayTypeName","src":"14677:9:64","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"14676:18:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51036,"nodeType":"StructDefinition","src":"14921:42:64","nodes":[],"canonicalName":"EnumerableSet.UintSet","members":[{"constant":false,"id":51035,"mutability":"mutable","name":"_inner","nameLocation":"14950:6:64","nodeType":"VariableDeclaration","scope":51036,"src":"14946:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":51034,"nodeType":"UserDefinedTypeName","pathNode":{"id":51033,"name":"Set","nameLocations":["14946:3:64"],"nodeType":"IdentifierPath","referencedDeclaration":50344,"src":"14946:3:64"},"referencedDeclaration":50344,"src":"14946:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"}],"name":"UintSet","nameLocation":"14928:7:64","scope":51855,"visibility":"public"},{"id":51057,"nodeType":"FunctionDefinition","src":"15133:129:64","nodes":[],"body":{"id":51056,"nodeType":"Block","src":"15206:56:64","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":51048,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51040,"src":"15228:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$51036_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":51049,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15232:6:64","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":51035,"src":"15228:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"arguments":[{"id":51052,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51042,"src":"15248:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15240:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":51050,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15240:7:64","typeDescriptions":{}}},"id":51053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15240:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":51047,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50386,"src":"15223:4:64","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$50344_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"}},"id":51054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15223:32:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":51046,"id":51055,"nodeType":"Return","src":"15216:39:64"}]},"documentation":{"id":51037,"nodeType":"StructuredDocumentation","src":"14969:159:64","text":" @dev Add a value to a set. O(1).\n Returns true if the value was added to the set, that is if it was not\n already present."},"implemented":true,"kind":"function","modifiers":[],"name":"add","nameLocation":"15142:3:64","parameters":{"id":51043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51040,"mutability":"mutable","name":"set","nameLocation":"15162:3:64","nodeType":"VariableDeclaration","scope":51057,"src":"15146:19:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$51036_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":51039,"nodeType":"UserDefinedTypeName","pathNode":{"id":51038,"name":"UintSet","nameLocations":["15146:7:64"],"nodeType":"IdentifierPath","referencedDeclaration":51036,"src":"15146:7:64"},"referencedDeclaration":51036,"src":"15146:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$51036_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"},{"constant":false,"id":51042,"mutability":"mutable","name":"value","nameLocation":"15175:5:64","nodeType":"VariableDeclaration","scope":51057,"src":"15167:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51041,"name":"uint256","nodeType":"ElementaryTypeName","src":"15167:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15145:36:64"},"returnParameters":{"id":51046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51045,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51057,"src":"15200:4:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51044,"name":"bool","nodeType":"ElementaryTypeName","src":"15200:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15199:6:64"},"scope":51855,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":51078,"nodeType":"FunctionDefinition","src":"15430:135:64","nodes":[],"body":{"id":51077,"nodeType":"Block","src":"15506:59:64","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":51069,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51061,"src":"15531:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$51036_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":51070,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15535:6:64","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":51035,"src":"15531:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"arguments":[{"id":51073,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51063,"src":"15551:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51072,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15543:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":51071,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15543:7:64","typeDescriptions":{}}},"id":51074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15543:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":51068,"name":"_remove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50470,"src":"15523:7:64","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$50344_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"}},"id":51075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15523:35:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":51067,"id":51076,"nodeType":"Return","src":"15516:42:64"}]},"documentation":{"id":51058,"nodeType":"StructuredDocumentation","src":"15268:157:64","text":" @dev Removes a value from a set. O(1).\n Returns true if the value was removed from the set, that is if it was\n present."},"implemented":true,"kind":"function","modifiers":[],"name":"remove","nameLocation":"15439:6:64","parameters":{"id":51064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51061,"mutability":"mutable","name":"set","nameLocation":"15462:3:64","nodeType":"VariableDeclaration","scope":51078,"src":"15446:19:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$51036_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":51060,"nodeType":"UserDefinedTypeName","pathNode":{"id":51059,"name":"UintSet","nameLocations":["15446:7:64"],"nodeType":"IdentifierPath","referencedDeclaration":51036,"src":"15446:7:64"},"referencedDeclaration":51036,"src":"15446:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$51036_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"},{"constant":false,"id":51063,"mutability":"mutable","name":"value","nameLocation":"15475:5:64","nodeType":"VariableDeclaration","scope":51078,"src":"15467:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51062,"name":"uint256","nodeType":"ElementaryTypeName","src":"15467:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15445:36:64"},"returnParameters":{"id":51067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51066,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51078,"src":"15500:4:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51065,"name":"bool","nodeType":"ElementaryTypeName","src":"15500:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15499:6:64"},"scope":51855,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":51091,"nodeType":"FunctionDefinition","src":"15879:80:64","nodes":[],"body":{"id":51090,"nodeType":"Block","src":"15924:35:64","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":51086,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51082,"src":"15941:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$51036_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":51087,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15945:6:64","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":51035,"src":"15941:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}],"id":51085,"name":"_clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50513,"src":"15934:6:64","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$50344_storage_ptr_$returns$__$","typeString":"function (struct EnumerableSet.Set storage pointer)"}},"id":51088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15934:18:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51089,"nodeType":"ExpressionStatement","src":"15934:18:64"}]},"documentation":{"id":51079,"nodeType":"StructuredDocumentation","src":"15571:303:64","text":" @dev Removes all the values from a set. O(n).\n WARNING: Developers should keep in mind that this function has an unbounded cost and using it may render the\n function uncallable if the set grows to the point where clearing it consumes too much gas to fit in a block."},"implemented":true,"kind":"function","modifiers":[],"name":"clear","nameLocation":"15888:5:64","parameters":{"id":51083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51082,"mutability":"mutable","name":"set","nameLocation":"15910:3:64","nodeType":"VariableDeclaration","scope":51091,"src":"15894:19:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$51036_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":51081,"nodeType":"UserDefinedTypeName","pathNode":{"id":51080,"name":"UintSet","nameLocations":["15894:7:64"],"nodeType":"IdentifierPath","referencedDeclaration":51036,"src":"15894:7:64"},"referencedDeclaration":51036,"src":"15894:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$51036_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"}],"src":"15893:21:64"},"returnParameters":{"id":51084,"nodeType":"ParameterList","parameters":[],"src":"15924:0:64"},"scope":51855,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":51112,"nodeType":"FunctionDefinition","src":"16040:144:64","nodes":[],"body":{"id":51111,"nodeType":"Block","src":"16123:61:64","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":51103,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51095,"src":"16150:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$51036_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":51104,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16154:6:64","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":51035,"src":"16150:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"arguments":[{"id":51107,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51097,"src":"16170:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51106,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16162:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":51105,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16162:7:64","typeDescriptions":{}}},"id":51108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16162:14:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":51102,"name":"_contains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50532,"src":"16140:9:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$50344_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)"}},"id":51109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16140:37:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":51101,"id":51110,"nodeType":"Return","src":"16133:44:64"}]},"documentation":{"id":51092,"nodeType":"StructuredDocumentation","src":"15965:70:64","text":" @dev Returns true if the value is in the set. O(1)."},"implemented":true,"kind":"function","modifiers":[],"name":"contains","nameLocation":"16049:8:64","parameters":{"id":51098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51095,"mutability":"mutable","name":"set","nameLocation":"16074:3:64","nodeType":"VariableDeclaration","scope":51112,"src":"16058:19:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$51036_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":51094,"nodeType":"UserDefinedTypeName","pathNode":{"id":51093,"name":"UintSet","nameLocations":["16058:7:64"],"nodeType":"IdentifierPath","referencedDeclaration":51036,"src":"16058:7:64"},"referencedDeclaration":51036,"src":"16058:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$51036_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"},{"constant":false,"id":51097,"mutability":"mutable","name":"value","nameLocation":"16087:5:64","nodeType":"VariableDeclaration","scope":51112,"src":"16079:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51096,"name":"uint256","nodeType":"ElementaryTypeName","src":"16079:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16057:36:64"},"returnParameters":{"id":51101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51100,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51112,"src":"16117:4:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51099,"name":"bool","nodeType":"ElementaryTypeName","src":"16117:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16116:6:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51127,"nodeType":"FunctionDefinition","src":"16265:112:64","nodes":[],"body":{"id":51126,"nodeType":"Block","src":"16334:43:64","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":51122,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51116,"src":"16359:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$51036_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":51123,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16363:6:64","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":51035,"src":"16359:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}],"id":51121,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50546,"src":"16351:7:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$50344_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct EnumerableSet.Set storage pointer) view returns (uint256)"}},"id":51124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16351:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":51120,"id":51125,"nodeType":"Return","src":"16344:26:64"}]},"documentation":{"id":51113,"nodeType":"StructuredDocumentation","src":"16190:70:64","text":" @dev Returns the number of values in the set. O(1)."},"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"16274:6:64","parameters":{"id":51117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51116,"mutability":"mutable","name":"set","nameLocation":"16297:3:64","nodeType":"VariableDeclaration","scope":51127,"src":"16281:19:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$51036_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":51115,"nodeType":"UserDefinedTypeName","pathNode":{"id":51114,"name":"UintSet","nameLocations":["16281:7:64"],"nodeType":"IdentifierPath","referencedDeclaration":51036,"src":"16281:7:64"},"referencedDeclaration":51036,"src":"16281:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$51036_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"}],"src":"16280:21:64"},"returnParameters":{"id":51120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51119,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51127,"src":"16325:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51118,"name":"uint256","nodeType":"ElementaryTypeName","src":"16325:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16324:9:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51148,"nodeType":"FunctionDefinition","src":"16719:135:64","nodes":[],"body":{"id":51147,"nodeType":"Block","src":"16799:55:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":51141,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51131,"src":"16828:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$51036_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":51142,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16832:6:64","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":51035,"src":"16828:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"id":51143,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51133,"src":"16840:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51140,"name":"_at","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50563,"src":"16824:3:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$50344_storage_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)"}},"id":51144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16824:22:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":51139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16816:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":51138,"name":"uint256","nodeType":"ElementaryTypeName","src":"16816:7:64","typeDescriptions":{}}},"id":51145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16816:31:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":51137,"id":51146,"nodeType":"Return","src":"16809:38:64"}]},"documentation":{"id":51128,"nodeType":"StructuredDocumentation","src":"16383:331:64","text":" @dev Returns the value stored at position `index` in the set. O(1).\n Note that there are no guarantees on the ordering of values inside the\n array, and it may change when more values are added or removed.\n Requirements:\n - `index` must be strictly less than {length}."},"implemented":true,"kind":"function","modifiers":[],"name":"at","nameLocation":"16728:2:64","parameters":{"id":51134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51131,"mutability":"mutable","name":"set","nameLocation":"16747:3:64","nodeType":"VariableDeclaration","scope":51148,"src":"16731:19:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$51036_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":51130,"nodeType":"UserDefinedTypeName","pathNode":{"id":51129,"name":"UintSet","nameLocations":["16731:7:64"],"nodeType":"IdentifierPath","referencedDeclaration":51036,"src":"16731:7:64"},"referencedDeclaration":51036,"src":"16731:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$51036_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"},{"constant":false,"id":51133,"mutability":"mutable","name":"index","nameLocation":"16760:5:64","nodeType":"VariableDeclaration","scope":51148,"src":"16752:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51132,"name":"uint256","nodeType":"ElementaryTypeName","src":"16752:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16730:36:64"},"returnParameters":{"id":51137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51136,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51148,"src":"16790:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51135,"name":"uint256","nodeType":"ElementaryTypeName","src":"16790:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16789:9:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51178,"nodeType":"FunctionDefinition","src":"17394:270:64","nodes":[],"body":{"id":51177,"nodeType":"Block","src":"17472:192:64","nodes":[],"statements":[{"assignments":[51162],"declarations":[{"constant":false,"id":51162,"mutability":"mutable","name":"store","nameLocation":"17499:5:64","nodeType":"VariableDeclaration","scope":51177,"src":"17482:22:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":51160,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17482:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":51161,"nodeType":"ArrayTypeName","src":"17482:9:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":51167,"initialValue":{"arguments":[{"expression":{"id":51164,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51152,"src":"17515:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$51036_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":51165,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17519:6:64","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":51035,"src":"17515:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}],"id":51163,"name":"_values","nodeType":"Identifier","overloadedDeclarations":[50577,50656],"referencedDeclaration":50577,"src":"17507:7:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$50344_storage_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (struct EnumerableSet.Set storage pointer) view returns (bytes32[] memory)"}},"id":51166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17507:19:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"17482:44:64"},{"assignments":[51172],"declarations":[{"constant":false,"id":51172,"mutability":"mutable","name":"result","nameLocation":"17553:6:64","nodeType":"VariableDeclaration","scope":51177,"src":"17536:23:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":51170,"name":"uint256","nodeType":"ElementaryTypeName","src":"17536:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51171,"nodeType":"ArrayTypeName","src":"17536:9:64","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":51173,"nodeType":"VariableDeclarationStatement","src":"17536:23:64"},{"AST":{"nativeSrc":"17595:39:64","nodeType":"YulBlock","src":"17595:39:64","statements":[{"nativeSrc":"17609:15:64","nodeType":"YulAssignment","src":"17609:15:64","value":{"name":"store","nativeSrc":"17619:5:64","nodeType":"YulIdentifier","src":"17619:5:64"},"variableNames":[{"name":"result","nativeSrc":"17609:6:64","nodeType":"YulIdentifier","src":"17609:6:64"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":51172,"isOffset":false,"isSlot":false,"src":"17609:6:64","valueSize":1},{"declaration":51162,"isOffset":false,"isSlot":false,"src":"17619:5:64","valueSize":1}],"flags":["memory-safe"],"id":51174,"nodeType":"InlineAssembly","src":"17570:64:64"},{"expression":{"id":51175,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51172,"src":"17651:6:64","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":51157,"id":51176,"nodeType":"Return","src":"17644:13:64"}]},"documentation":{"id":51149,"nodeType":"StructuredDocumentation","src":"16860:529:64","text":" @dev Return the entire set in an array\n WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n this function has an unbounded cost, and using it as part of a state-changing function may render the function\n uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block."},"implemented":true,"kind":"function","modifiers":[],"name":"values","nameLocation":"17403:6:64","parameters":{"id":51153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51152,"mutability":"mutable","name":"set","nameLocation":"17426:3:64","nodeType":"VariableDeclaration","scope":51178,"src":"17410:19:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$51036_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":51151,"nodeType":"UserDefinedTypeName","pathNode":{"id":51150,"name":"UintSet","nameLocations":["17410:7:64"],"nodeType":"IdentifierPath","referencedDeclaration":51036,"src":"17410:7:64"},"referencedDeclaration":51036,"src":"17410:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$51036_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"}],"src":"17409:21:64"},"returnParameters":{"id":51157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51156,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51178,"src":"17454:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":51154,"name":"uint256","nodeType":"ElementaryTypeName","src":"17454:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51155,"nodeType":"ArrayTypeName","src":"17454:9:64","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"17453:18:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51214,"nodeType":"FunctionDefinition","src":"18208:310:64","nodes":[],"body":{"id":51213,"nodeType":"Block","src":"18314:204:64","nodes":[],"statements":[{"assignments":[51196],"declarations":[{"constant":false,"id":51196,"mutability":"mutable","name":"store","nameLocation":"18341:5:64","nodeType":"VariableDeclaration","scope":51213,"src":"18324:22:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":51194,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18324:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":51195,"nodeType":"ArrayTypeName","src":"18324:9:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":51203,"initialValue":{"arguments":[{"expression":{"id":51198,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51182,"src":"18357:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$51036_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":51199,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18361:6:64","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":51035,"src":"18357:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"id":51200,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51184,"src":"18369:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51201,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51186,"src":"18376:3:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$50344_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51197,"name":"_values","nodeType":"Identifier","overloadedDeclarations":[50577,50656],"referencedDeclaration":50656,"src":"18349:7:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$50344_storage_ptr_$_t_uint256_$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (struct EnumerableSet.Set storage pointer,uint256,uint256) view returns (bytes32[] memory)"}},"id":51202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18349:31:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"VariableDeclarationStatement","src":"18324:56:64"},{"assignments":[51208],"declarations":[{"constant":false,"id":51208,"mutability":"mutable","name":"result","nameLocation":"18407:6:64","nodeType":"VariableDeclaration","scope":51213,"src":"18390:23:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":51206,"name":"uint256","nodeType":"ElementaryTypeName","src":"18390:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51207,"nodeType":"ArrayTypeName","src":"18390:9:64","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":51209,"nodeType":"VariableDeclarationStatement","src":"18390:23:64"},{"AST":{"nativeSrc":"18449:39:64","nodeType":"YulBlock","src":"18449:39:64","statements":[{"nativeSrc":"18463:15:64","nodeType":"YulAssignment","src":"18463:15:64","value":{"name":"store","nativeSrc":"18473:5:64","nodeType":"YulIdentifier","src":"18473:5:64"},"variableNames":[{"name":"result","nativeSrc":"18463:6:64","nodeType":"YulIdentifier","src":"18463:6:64"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":51208,"isOffset":false,"isSlot":false,"src":"18463:6:64","valueSize":1},{"declaration":51196,"isOffset":false,"isSlot":false,"src":"18473:5:64","valueSize":1}],"flags":["memory-safe"],"id":51210,"nodeType":"InlineAssembly","src":"18424:64:64"},{"expression":{"id":51211,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51208,"src":"18505:6:64","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":51191,"id":51212,"nodeType":"Return","src":"18498:13:64"}]},"documentation":{"id":51179,"nodeType":"StructuredDocumentation","src":"17670:533:64","text":" @dev Return a slice of the set in an array\n WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n this function has an unbounded cost, and using it as part of a state-changing function may render the function\n uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block."},"implemented":true,"kind":"function","modifiers":[],"name":"values","nameLocation":"18217:6:64","parameters":{"id":51187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51182,"mutability":"mutable","name":"set","nameLocation":"18240:3:64","nodeType":"VariableDeclaration","scope":51214,"src":"18224:19:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$51036_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":51181,"nodeType":"UserDefinedTypeName","pathNode":{"id":51180,"name":"UintSet","nameLocations":["18224:7:64"],"nodeType":"IdentifierPath","referencedDeclaration":51036,"src":"18224:7:64"},"referencedDeclaration":51036,"src":"18224:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$51036_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"},{"constant":false,"id":51184,"mutability":"mutable","name":"start","nameLocation":"18253:5:64","nodeType":"VariableDeclaration","scope":51214,"src":"18245:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51183,"name":"uint256","nodeType":"ElementaryTypeName","src":"18245:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51186,"mutability":"mutable","name":"end","nameLocation":"18268:3:64","nodeType":"VariableDeclaration","scope":51214,"src":"18260:11:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51185,"name":"uint256","nodeType":"ElementaryTypeName","src":"18260:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18223:49:64"},"returnParameters":{"id":51191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51190,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51214,"src":"18296:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":51188,"name":"uint256","nodeType":"ElementaryTypeName","src":"18296:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51189,"nodeType":"ArrayTypeName","src":"18296:9:64","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"18295:18:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51222,"nodeType":"StructDefinition","src":"18524:277:64","nodes":[],"canonicalName":"EnumerableSet.StringSet","members":[{"constant":false,"id":51217,"mutability":"mutable","name":"_values","nameLocation":"18593:7:64","nodeType":"VariableDeclaration","scope":51222,"src":"18584:16:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":51215,"name":"string","nodeType":"ElementaryTypeName","src":"18584:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":51216,"nodeType":"ArrayTypeName","src":"18584:8:64","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":51221,"mutability":"mutable","name":"_positions","nameLocation":"18784:10:64","nodeType":"VariableDeclaration","scope":51222,"src":"18751:43:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_uint256_$","typeString":"mapping(string => uint256)"},"typeName":{"id":51220,"keyName":"value","keyNameLocation":"18766:5:64","keyType":{"id":51218,"name":"string","nodeType":"ElementaryTypeName","src":"18759:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"nodeType":"Mapping","src":"18751:32:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_uint256_$","typeString":"mapping(string => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":51219,"name":"uint256","nodeType":"ElementaryTypeName","src":"18775:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"}],"name":"StringSet","nameLocation":"18531:9:64","scope":51855,"visibility":"public"},{"id":51264,"nodeType":"FunctionDefinition","src":"18971:417:64","nodes":[],"body":{"id":51263,"nodeType":"Block","src":"19052:336:64","nodes":[],"statements":[{"condition":{"id":51237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"19066:21:64","subExpression":{"arguments":[{"id":51234,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51226,"src":"19076:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet storage pointer"}},{"id":51235,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51228,"src":"19081:5:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet storage pointer"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":51233,"name":"contains","nodeType":"Identifier","overloadedDeclarations":[50727,50924,51112,51410,51730],"referencedDeclaration":51410,"src":"19067:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StringSet_$51222_storage_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.StringSet storage pointer,string memory) view returns (bool)"}},"id":51236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19067:20:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":51261,"nodeType":"Block","src":"19345:37:64","statements":[{"expression":{"hexValue":"66616c7365","id":51259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19366:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":51232,"id":51260,"nodeType":"Return","src":"19359:12:64"}]},"id":51262,"nodeType":"IfStatement","src":"19062:320:64","trueBody":{"id":51258,"nodeType":"Block","src":"19089:250:64","statements":[{"expression":{"arguments":[{"id":51243,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51228,"src":"19120:5:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"expression":{"id":51238,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51226,"src":"19103:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet storage pointer"}},"id":51241,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19107:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":51217,"src":"19103:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"id":51242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19115:4:64","memberName":"push","nodeType":"MemberAccess","src":"19103:16:64","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_string_storage_$dyn_storage_ptr_$_t_string_storage_$returns$__$attached_to$_t_array$_t_string_storage_$dyn_storage_ptr_$","typeString":"function (string storage ref[] storage pointer,string storage ref)"}},"id":51244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19103:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51245,"nodeType":"ExpressionStatement","src":"19103:23:64"},{"expression":{"id":51254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":51246,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51226,"src":"19261:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet storage pointer"}},"id":51249,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19265:10:64","memberName":"_positions","nodeType":"MemberAccess","referencedDeclaration":51221,"src":"19261:14:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_uint256_$","typeString":"mapping(string memory => uint256)"}},"id":51250,"indexExpression":{"id":51248,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51228,"src":"19276:5:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19261:21:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":51251,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51226,"src":"19285:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet storage pointer"}},"id":51252,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19289:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":51217,"src":"19285:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"id":51253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19297:6:64","memberName":"length","nodeType":"MemberAccess","src":"19285:18:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19261:42:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51255,"nodeType":"ExpressionStatement","src":"19261:42:64"},{"expression":{"hexValue":"74727565","id":51256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19324:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":51232,"id":51257,"nodeType":"Return","src":"19317:11:64"}]}}]},"documentation":{"id":51223,"nodeType":"StructuredDocumentation","src":"18807:159:64","text":" @dev Add a value to a set. O(1).\n Returns true if the value was added to the set, that is if it was not\n already present."},"implemented":true,"kind":"function","modifiers":[],"name":"add","nameLocation":"18980:3:64","parameters":{"id":51229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51226,"mutability":"mutable","name":"set","nameLocation":"19002:3:64","nodeType":"VariableDeclaration","scope":51264,"src":"18984:21:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet"},"typeName":{"id":51225,"nodeType":"UserDefinedTypeName","pathNode":{"id":51224,"name":"StringSet","nameLocations":["18984:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":51222,"src":"18984:9:64"},"referencedDeclaration":51222,"src":"18984:9:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet"}},"visibility":"internal"},{"constant":false,"id":51228,"mutability":"mutable","name":"value","nameLocation":"19021:5:64","nodeType":"VariableDeclaration","scope":51264,"src":"19007:19:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":51227,"name":"string","nodeType":"ElementaryTypeName","src":"19007:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18983:44:64"},"returnParameters":{"id":51232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51231,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51264,"src":"19046:4:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51230,"name":"bool","nodeType":"ElementaryTypeName","src":"19046:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19045:6:64"},"scope":51855,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":51348,"nodeType":"FunctionDefinition","src":"19556:1386:64","nodes":[],"body":{"id":51347,"nodeType":"Block","src":"19640:1302:64","nodes":[],"statements":[{"assignments":[51276],"declarations":[{"constant":false,"id":51276,"mutability":"mutable","name":"position","nameLocation":"19752:8:64","nodeType":"VariableDeclaration","scope":51347,"src":"19744:16:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51275,"name":"uint256","nodeType":"ElementaryTypeName","src":"19744:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51281,"initialValue":{"baseExpression":{"expression":{"id":51277,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51268,"src":"19763:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet storage pointer"}},"id":51278,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19767:10:64","memberName":"_positions","nodeType":"MemberAccess","referencedDeclaration":51221,"src":"19763:14:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_uint256_$","typeString":"mapping(string memory => uint256)"}},"id":51280,"indexExpression":{"id":51279,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51270,"src":"19778:5:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19763:21:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19744:40:64"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51282,"name":"position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51276,"src":"19799:8:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":51283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19811:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"19799:13:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":51345,"nodeType":"Block","src":"20899:37:64","statements":[{"expression":{"hexValue":"66616c7365","id":51343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20920:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":51274,"id":51344,"nodeType":"Return","src":"20913:12:64"}]},"id":51346,"nodeType":"IfStatement","src":"19795:1141:64","trueBody":{"id":51342,"nodeType":"Block","src":"19814:1079:64","statements":[{"assignments":[51286],"declarations":[{"constant":false,"id":51286,"mutability":"mutable","name":"valueIndex","nameLocation":"20174:10:64","nodeType":"VariableDeclaration","scope":51342,"src":"20166:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51285,"name":"uint256","nodeType":"ElementaryTypeName","src":"20166:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51290,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51287,"name":"position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51276,"src":"20187:8:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":51288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20198:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"20187:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20166:33:64"},{"assignments":[51292],"declarations":[{"constant":false,"id":51292,"mutability":"mutable","name":"lastIndex","nameLocation":"20221:9:64","nodeType":"VariableDeclaration","scope":51342,"src":"20213:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51291,"name":"uint256","nodeType":"ElementaryTypeName","src":"20213:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51298,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":51293,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51268,"src":"20233:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet storage pointer"}},"id":51294,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20237:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":51217,"src":"20233:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"id":51295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20245:6:64","memberName":"length","nodeType":"MemberAccess","src":"20233:18:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":51296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20254:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"20233:22:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20213:42:64"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51299,"name":"valueIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51286,"src":"20274:10:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":51300,"name":"lastIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51292,"src":"20288:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20274:23:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51326,"nodeType":"IfStatement","src":"20270:384:64","trueBody":{"id":51325,"nodeType":"Block","src":"20299:355:64","statements":[{"assignments":[51303],"declarations":[{"constant":false,"id":51303,"mutability":"mutable","name":"lastValue","nameLocation":"20331:9:64","nodeType":"VariableDeclaration","scope":51325,"src":"20317:23:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":51302,"name":"string","nodeType":"ElementaryTypeName","src":"20317:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":51308,"initialValue":{"baseExpression":{"expression":{"id":51304,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51268,"src":"20343:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet storage pointer"}},"id":51305,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20347:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":51217,"src":"20343:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"id":51307,"indexExpression":{"id":51306,"name":"lastIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51292,"src":"20355:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20343:22:64","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"20317:48:64"},{"expression":{"id":51315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":51309,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51268,"src":"20464:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet storage pointer"}},"id":51312,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20468:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":51217,"src":"20464:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"id":51313,"indexExpression":{"id":51311,"name":"valueIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51286,"src":"20476:10:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"20464:23:64","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":51314,"name":"lastValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51303,"src":"20490:9:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"20464:35:64","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":51316,"nodeType":"ExpressionStatement","src":"20464:35:64"},{"expression":{"id":51323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":51317,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51268,"src":"20603:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet storage pointer"}},"id":51320,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20607:10:64","memberName":"_positions","nodeType":"MemberAccess","referencedDeclaration":51221,"src":"20603:14:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_uint256_$","typeString":"mapping(string memory => uint256)"}},"id":51321,"indexExpression":{"id":51319,"name":"lastValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51303,"src":"20618:9:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"20603:25:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":51322,"name":"position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51276,"src":"20631:8:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20603:36:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51324,"nodeType":"ExpressionStatement","src":"20603:36:64"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":51327,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51268,"src":"20732:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet storage pointer"}},"id":51330,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20736:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":51217,"src":"20732:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"id":51331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20744:3:64","memberName":"pop","nodeType":"MemberAccess","src":"20732:15:64","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_string_storage_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_string_storage_$dyn_storage_ptr_$","typeString":"function (string storage ref[] storage pointer)"}},"id":51332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20732:17:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51333,"nodeType":"ExpressionStatement","src":"20732:17:64"},{"expression":{"id":51338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"20828:28:64","subExpression":{"baseExpression":{"expression":{"id":51334,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51268,"src":"20835:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet storage pointer"}},"id":51335,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20839:10:64","memberName":"_positions","nodeType":"MemberAccess","referencedDeclaration":51221,"src":"20835:14:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_uint256_$","typeString":"mapping(string memory => uint256)"}},"id":51337,"indexExpression":{"id":51336,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51270,"src":"20850:5:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"20835:21:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51339,"nodeType":"ExpressionStatement","src":"20828:28:64"},{"expression":{"hexValue":"74727565","id":51340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20878:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":51274,"id":51341,"nodeType":"Return","src":"20871:11:64"}]}}]},"documentation":{"id":51265,"nodeType":"StructuredDocumentation","src":"19394:157:64","text":" @dev Removes a value from a set. O(1).\n Returns true if the value was removed from the set, that is if it was\n present."},"implemented":true,"kind":"function","modifiers":[],"name":"remove","nameLocation":"19565:6:64","parameters":{"id":51271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51268,"mutability":"mutable","name":"set","nameLocation":"19590:3:64","nodeType":"VariableDeclaration","scope":51348,"src":"19572:21:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet"},"typeName":{"id":51267,"nodeType":"UserDefinedTypeName","pathNode":{"id":51266,"name":"StringSet","nameLocations":["19572:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":51222,"src":"19572:9:64"},"referencedDeclaration":51222,"src":"19572:9:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet"}},"visibility":"internal"},{"constant":false,"id":51270,"mutability":"mutable","name":"value","nameLocation":"19609:5:64","nodeType":"VariableDeclaration","scope":51348,"src":"19595:19:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":51269,"name":"string","nodeType":"ElementaryTypeName","src":"19595:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19571:44:64"},"returnParameters":{"id":51274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51273,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51348,"src":"19634:4:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51272,"name":"bool","nodeType":"ElementaryTypeName","src":"19634:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19633:6:64"},"scope":51855,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":51391,"nodeType":"FunctionDefinition","src":"21256:242:64","nodes":[],"body":{"id":51390,"nodeType":"Block","src":"21303:195:64","nodes":[],"statements":[{"assignments":[51356],"declarations":[{"constant":false,"id":51356,"mutability":"mutable","name":"len","nameLocation":"21321:3:64","nodeType":"VariableDeclaration","scope":51390,"src":"21313:11:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51355,"name":"uint256","nodeType":"ElementaryTypeName","src":"21313:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51360,"initialValue":{"arguments":[{"id":51358,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51352,"src":"21334:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet storage pointer"}],"id":51357,"name":"length","nodeType":"Identifier","overloadedDeclarations":[50742,50939,51127,51424,51744],"referencedDeclaration":51424,"src":"21327:6:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StringSet_$51222_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct EnumerableSet.StringSet storage pointer) view returns (uint256)"}},"id":51359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21327:11:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21313:25:64"},{"body":{"id":51380,"nodeType":"Block","src":"21382:62:64","statements":[{"expression":{"id":51378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"21396:37:64","subExpression":{"baseExpression":{"expression":{"id":51371,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51352,"src":"21403:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet storage pointer"}},"id":51372,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21407:10:64","memberName":"_positions","nodeType":"MemberAccess","referencedDeclaration":51221,"src":"21403:14:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_uint256_$","typeString":"mapping(string memory => uint256)"}},"id":51377,"indexExpression":{"baseExpression":{"expression":{"id":51373,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51352,"src":"21418:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet storage pointer"}},"id":51374,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21422:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":51217,"src":"21418:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"id":51376,"indexExpression":{"id":51375,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51362,"src":"21430:1:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21418:14:64","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"21403:30:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51379,"nodeType":"ExpressionStatement","src":"21396:37:64"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51365,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51362,"src":"21368:1:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":51366,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51356,"src":"21372:3:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21368:7:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51381,"initializationExpression":{"assignments":[51362],"declarations":[{"constant":false,"id":51362,"mutability":"mutable","name":"i","nameLocation":"21361:1:64","nodeType":"VariableDeclaration","scope":51381,"src":"21353:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51361,"name":"uint256","nodeType":"ElementaryTypeName","src":"21353:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51364,"initialValue":{"hexValue":"30","id":51363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21365:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"21353:13:64"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":51369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"21377:3:64","subExpression":{"id":51368,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51362,"src":"21379:1:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51370,"nodeType":"ExpressionStatement","src":"21377:3:64"},"nodeType":"ForStatement","src":"21348:96:64"},{"expression":{"arguments":[{"expression":{"id":51385,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51352,"src":"21476:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet storage pointer"}},"id":51386,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21480:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":51217,"src":"21476:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},{"hexValue":"30","id":51387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21489:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":51382,"name":"Arrays","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44776,"src":"21453:6:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Arrays_$44776_$","typeString":"type(library Arrays)"}},"id":51384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21460:15:64","memberName":"unsafeSetLength","nodeType":"MemberAccess","referencedDeclaration":44775,"src":"21453:22:64","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_string_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (string storage ref[] storage pointer,uint256)"}},"id":51388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21453:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51389,"nodeType":"ExpressionStatement","src":"21453:38:64"}]},"documentation":{"id":51349,"nodeType":"StructuredDocumentation","src":"20948:303:64","text":" @dev Removes all the values from a set. O(n).\n WARNING: Developers should keep in mind that this function has an unbounded cost and using it may render the\n function uncallable if the set grows to the point where clearing it consumes too much gas to fit in a block."},"implemented":true,"kind":"function","modifiers":[],"name":"clear","nameLocation":"21265:5:64","parameters":{"id":51353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51352,"mutability":"mutable","name":"set","nameLocation":"21289:3:64","nodeType":"VariableDeclaration","scope":51391,"src":"21271:21:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet"},"typeName":{"id":51351,"nodeType":"UserDefinedTypeName","pathNode":{"id":51350,"name":"StringSet","nameLocations":["21271:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":51222,"src":"21271:9:64"},"referencedDeclaration":51222,"src":"21271:9:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet"}},"visibility":"internal"}],"src":"21270:23:64"},"returnParameters":{"id":51354,"nodeType":"ParameterList","parameters":[],"src":"21303:0:64"},"scope":51855,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":51410,"nodeType":"FunctionDefinition","src":"21579:141:64","nodes":[],"body":{"id":51409,"nodeType":"Block","src":"21670:50:64","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":51402,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51395,"src":"21687:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet storage pointer"}},"id":51403,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21691:10:64","memberName":"_positions","nodeType":"MemberAccess","referencedDeclaration":51221,"src":"21687:14:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_uint256_$","typeString":"mapping(string memory => uint256)"}},"id":51405,"indexExpression":{"id":51404,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51397,"src":"21702:5:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21687:21:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":51406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21712:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21687:26:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":51401,"id":51408,"nodeType":"Return","src":"21680:33:64"}]},"documentation":{"id":51392,"nodeType":"StructuredDocumentation","src":"21504:70:64","text":" @dev Returns true if the value is in the set. O(1)."},"implemented":true,"kind":"function","modifiers":[],"name":"contains","nameLocation":"21588:8:64","parameters":{"id":51398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51395,"mutability":"mutable","name":"set","nameLocation":"21615:3:64","nodeType":"VariableDeclaration","scope":51410,"src":"21597:21:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet"},"typeName":{"id":51394,"nodeType":"UserDefinedTypeName","pathNode":{"id":51393,"name":"StringSet","nameLocations":["21597:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":51222,"src":"21597:9:64"},"referencedDeclaration":51222,"src":"21597:9:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet"}},"visibility":"internal"},{"constant":false,"id":51397,"mutability":"mutable","name":"value","nameLocation":"21634:5:64","nodeType":"VariableDeclaration","scope":51410,"src":"21620:19:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":51396,"name":"string","nodeType":"ElementaryTypeName","src":"21620:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21596:44:64"},"returnParameters":{"id":51401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51400,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51410,"src":"21664:4:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51399,"name":"bool","nodeType":"ElementaryTypeName","src":"21664:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21663:6:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51424,"nodeType":"FunctionDefinition","src":"21801:113:64","nodes":[],"body":{"id":51423,"nodeType":"Block","src":"21872:42:64","nodes":[],"statements":[{"expression":{"expression":{"expression":{"id":51419,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51414,"src":"21889:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet storage pointer"}},"id":51420,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21893:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":51217,"src":"21889:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"id":51421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21901:6:64","memberName":"length","nodeType":"MemberAccess","src":"21889:18:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":51418,"id":51422,"nodeType":"Return","src":"21882:25:64"}]},"documentation":{"id":51411,"nodeType":"StructuredDocumentation","src":"21726:70:64","text":" @dev Returns the number of values on the set. O(1)."},"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"21810:6:64","parameters":{"id":51415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51414,"mutability":"mutable","name":"set","nameLocation":"21835:3:64","nodeType":"VariableDeclaration","scope":51424,"src":"21817:21:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet"},"typeName":{"id":51413,"nodeType":"UserDefinedTypeName","pathNode":{"id":51412,"name":"StringSet","nameLocations":["21817:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":51222,"src":"21817:9:64"},"referencedDeclaration":51222,"src":"21817:9:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet"}},"visibility":"internal"}],"src":"21816:23:64"},"returnParameters":{"id":51418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51417,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51424,"src":"21863:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51416,"name":"uint256","nodeType":"ElementaryTypeName","src":"21863:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21862:9:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51441,"nodeType":"FunctionDefinition","src":"22256:130:64","nodes":[],"body":{"id":51440,"nodeType":"Block","src":"22344:42:64","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"id":51435,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51428,"src":"22361:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet storage pointer"}},"id":51436,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22365:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":51217,"src":"22361:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"id":51438,"indexExpression":{"id":51437,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51430,"src":"22373:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22361:18:64","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":51434,"id":51439,"nodeType":"Return","src":"22354:25:64"}]},"documentation":{"id":51425,"nodeType":"StructuredDocumentation","src":"21920:331:64","text":" @dev Returns the value stored at position `index` in the set. O(1).\n Note that there are no guarantees on the ordering of values inside the\n array, and it may change when more values are added or removed.\n Requirements:\n - `index` must be strictly less than {length}."},"implemented":true,"kind":"function","modifiers":[],"name":"at","nameLocation":"22265:2:64","parameters":{"id":51431,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51428,"mutability":"mutable","name":"set","nameLocation":"22286:3:64","nodeType":"VariableDeclaration","scope":51441,"src":"22268:21:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet"},"typeName":{"id":51427,"nodeType":"UserDefinedTypeName","pathNode":{"id":51426,"name":"StringSet","nameLocations":["22268:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":51222,"src":"22268:9:64"},"referencedDeclaration":51222,"src":"22268:9:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet"}},"visibility":"internal"},{"constant":false,"id":51430,"mutability":"mutable","name":"index","nameLocation":"22299:5:64","nodeType":"VariableDeclaration","scope":51441,"src":"22291:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51429,"name":"uint256","nodeType":"ElementaryTypeName","src":"22291:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22267:38:64"},"returnParameters":{"id":51434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51433,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51441,"src":"22329:13:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":51432,"name":"string","nodeType":"ElementaryTypeName","src":"22329:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"22328:15:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51455,"nodeType":"FunctionDefinition","src":"22926:114:64","nodes":[],"body":{"id":51454,"nodeType":"Block","src":"23005:35:64","nodes":[],"statements":[{"expression":{"expression":{"id":51451,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51445,"src":"23022:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet storage pointer"}},"id":51452,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23026:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":51217,"src":"23022:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"functionReturnParameters":51450,"id":51453,"nodeType":"Return","src":"23015:18:64"}]},"documentation":{"id":51442,"nodeType":"StructuredDocumentation","src":"22392:529:64","text":" @dev Return the entire set in an array\n WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n this function has an unbounded cost, and using it as part of a state-changing function may render the function\n uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block."},"implemented":true,"kind":"function","modifiers":[],"name":"values","nameLocation":"22935:6:64","parameters":{"id":51446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51445,"mutability":"mutable","name":"set","nameLocation":"22960:3:64","nodeType":"VariableDeclaration","scope":51455,"src":"22942:21:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet"},"typeName":{"id":51444,"nodeType":"UserDefinedTypeName","pathNode":{"id":51443,"name":"StringSet","nameLocations":["22942:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":51222,"src":"22942:9:64"},"referencedDeclaration":51222,"src":"22942:9:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet"}},"visibility":"internal"}],"src":"22941:23:64"},"returnParameters":{"id":51450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51449,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51455,"src":"22988:15:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":51447,"name":"string","nodeType":"ElementaryTypeName","src":"22988:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":51448,"nodeType":"ArrayTypeName","src":"22988:8:64","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"22987:17:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51534,"nodeType":"FunctionDefinition","src":"23584:496:64","nodes":[],"body":{"id":51533,"nodeType":"Block","src":"23691:389:64","nodes":[],"statements":[{"id":51532,"nodeType":"UncheckedBlock","src":"23701:373:64","statements":[{"expression":{"id":51477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":51469,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51463,"src":"23725:3:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":51472,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51463,"src":"23740:3:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":51474,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51459,"src":"23752:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet storage pointer"}],"id":51473,"name":"length","nodeType":"Identifier","overloadedDeclarations":[50742,50939,51127,51424,51744],"referencedDeclaration":51424,"src":"23745:6:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StringSet_$51222_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct EnumerableSet.StringSet storage pointer) view returns (uint256)"}},"id":51475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23745:11:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51470,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48420,"src":"23731:4:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$48420_$","typeString":"type(library Math)"}},"id":51471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23736:3:64","memberName":"min","nodeType":"MemberAccess","referencedDeclaration":47126,"src":"23731:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":51476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23731:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23725:32:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51478,"nodeType":"ExpressionStatement","src":"23725:32:64"},{"expression":{"id":51485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":51479,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51461,"src":"23771:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":51482,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51461,"src":"23788:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51483,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51463,"src":"23795:3:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51480,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48420,"src":"23779:4:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$48420_$","typeString":"type(library Math)"}},"id":51481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23784:3:64","memberName":"min","nodeType":"MemberAccess","referencedDeclaration":47126,"src":"23779:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":51484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23779:20:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23771:28:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51486,"nodeType":"ExpressionStatement","src":"23771:28:64"},{"assignments":[51488],"declarations":[{"constant":false,"id":51488,"mutability":"mutable","name":"len","nameLocation":"23822:3:64","nodeType":"VariableDeclaration","scope":51532,"src":"23814:11:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51487,"name":"uint256","nodeType":"ElementaryTypeName","src":"23814:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51492,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51489,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51463,"src":"23828:3:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":51490,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51461,"src":"23834:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23828:11:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23814:25:64"},{"assignments":[51497],"declarations":[{"constant":false,"id":51497,"mutability":"mutable","name":"result","nameLocation":"23869:6:64","nodeType":"VariableDeclaration","scope":51532,"src":"23853:22:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":51495,"name":"string","nodeType":"ElementaryTypeName","src":"23853:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":51496,"nodeType":"ArrayTypeName","src":"23853:8:64","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":51503,"initialValue":{"arguments":[{"id":51501,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51488,"src":"23891:3:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51500,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"23878:12:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (string memory[] memory)"},"typeName":{"baseType":{"id":51498,"name":"string","nodeType":"ElementaryTypeName","src":"23882:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":51499,"nodeType":"ArrayTypeName","src":"23882:8:64","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":51502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23878:17:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"23853:42:64"},{"body":{"id":51528,"nodeType":"Block","src":"23943:94:64","statements":[{"expression":{"id":51526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":51514,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51497,"src":"23961:6:64","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":51516,"indexExpression":{"id":51515,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51505,"src":"23968:1:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23961:9:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"expression":{"id":51519,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51459,"src":"23993:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet storage pointer"}},"id":51520,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23997:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":51217,"src":"23993:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51521,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51461,"src":"24006:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":51522,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51505,"src":"24014:1:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24006:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51517,"name":"Arrays","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44776,"src":"23973:6:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Arrays_$44776_$","typeString":"type(library Arrays)"}},"id":51518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23980:12:64","memberName":"unsafeAccess","nodeType":"MemberAccess","referencedDeclaration":44655,"src":"23973:19:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_string_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_StringSlot_$45063_storage_ptr_$","typeString":"function (string storage ref[] storage pointer,uint256) pure returns (struct StorageSlot.StringSlot storage pointer)"}},"id":51524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23973:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StringSlot_$45063_storage_ptr","typeString":"struct StorageSlot.StringSlot storage pointer"}},"id":51525,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24017:5:64","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":45062,"src":"23973:49:64","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"src":"23961:61:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":51527,"nodeType":"ExpressionStatement","src":"23961:61:64"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51508,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51505,"src":"23929:1:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":51509,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51488,"src":"23933:3:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23929:7:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51529,"initializationExpression":{"assignments":[51505],"declarations":[{"constant":false,"id":51505,"mutability":"mutable","name":"i","nameLocation":"23922:1:64","nodeType":"VariableDeclaration","scope":51529,"src":"23914:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51504,"name":"uint256","nodeType":"ElementaryTypeName","src":"23914:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51507,"initialValue":{"hexValue":"30","id":51506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23926:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"23914:13:64"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":51512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"23938:3:64","subExpression":{"id":51511,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51505,"src":"23940:1:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51513,"nodeType":"ExpressionStatement","src":"23938:3:64"},"nodeType":"ForStatement","src":"23909:128:64"},{"expression":{"id":51530,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51497,"src":"24057:6:64","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":51468,"id":51531,"nodeType":"Return","src":"24050:13:64"}]}]},"documentation":{"id":51456,"nodeType":"StructuredDocumentation","src":"23046:533:64","text":" @dev Return a slice of the set in an array\n WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n this function has an unbounded cost, and using it as part of a state-changing function may render the function\n uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block."},"implemented":true,"kind":"function","modifiers":[],"name":"values","nameLocation":"23593:6:64","parameters":{"id":51464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51459,"mutability":"mutable","name":"set","nameLocation":"23618:3:64","nodeType":"VariableDeclaration","scope":51534,"src":"23600:21:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet"},"typeName":{"id":51458,"nodeType":"UserDefinedTypeName","pathNode":{"id":51457,"name":"StringSet","nameLocations":["23600:9:64"],"nodeType":"IdentifierPath","referencedDeclaration":51222,"src":"23600:9:64"},"referencedDeclaration":51222,"src":"23600:9:64","typeDescriptions":{"typeIdentifier":"t_struct$_StringSet_$51222_storage_ptr","typeString":"struct EnumerableSet.StringSet"}},"visibility":"internal"},{"constant":false,"id":51461,"mutability":"mutable","name":"start","nameLocation":"23631:5:64","nodeType":"VariableDeclaration","scope":51534,"src":"23623:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51460,"name":"uint256","nodeType":"ElementaryTypeName","src":"23623:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51463,"mutability":"mutable","name":"end","nameLocation":"23646:3:64","nodeType":"VariableDeclaration","scope":51534,"src":"23638:11:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51462,"name":"uint256","nodeType":"ElementaryTypeName","src":"23638:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23599:51:64"},"returnParameters":{"id":51468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51467,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51534,"src":"23674:15:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":51465,"name":"string","nodeType":"ElementaryTypeName","src":"23674:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":51466,"nodeType":"ArrayTypeName","src":"23674:8:64","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"23673:17:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51542,"nodeType":"StructDefinition","src":"24086:274:64","nodes":[],"canonicalName":"EnumerableSet.BytesSet","members":[{"constant":false,"id":51537,"mutability":"mutable","name":"_values","nameLocation":"24153:7:64","nodeType":"VariableDeclaration","scope":51542,"src":"24145:15:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":51535,"name":"bytes","nodeType":"ElementaryTypeName","src":"24145:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":51536,"nodeType":"ArrayTypeName","src":"24145:7:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":51541,"mutability":"mutable","name":"_positions","nameLocation":"24343:10:64","nodeType":"VariableDeclaration","scope":51542,"src":"24311:42:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes_memory_ptr_$_t_uint256_$","typeString":"mapping(bytes => uint256)"},"typeName":{"id":51540,"keyName":"value","keyNameLocation":"24325:5:64","keyType":{"id":51538,"name":"bytes","nodeType":"ElementaryTypeName","src":"24319:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"nodeType":"Mapping","src":"24311:31:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes_memory_ptr_$_t_uint256_$","typeString":"mapping(bytes => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":51539,"name":"uint256","nodeType":"ElementaryTypeName","src":"24334:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"}],"name":"BytesSet","nameLocation":"24093:8:64","scope":51855,"visibility":"public"},{"id":51584,"nodeType":"FunctionDefinition","src":"24530:415:64","nodes":[],"body":{"id":51583,"nodeType":"Block","src":"24609:336:64","nodes":[],"statements":[{"condition":{"id":51557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24623:21:64","subExpression":{"arguments":[{"id":51554,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51546,"src":"24633:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet storage pointer"}},{"id":51555,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51548,"src":"24638:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet storage pointer"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51553,"name":"contains","nodeType":"Identifier","overloadedDeclarations":[50727,50924,51112,51410,51730],"referencedDeclaration":51730,"src":"24624:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_BytesSet_$51542_storage_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.BytesSet storage pointer,bytes memory) view returns (bool)"}},"id":51556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24624:20:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":51581,"nodeType":"Block","src":"24902:37:64","statements":[{"expression":{"hexValue":"66616c7365","id":51579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"24923:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":51552,"id":51580,"nodeType":"Return","src":"24916:12:64"}]},"id":51582,"nodeType":"IfStatement","src":"24619:320:64","trueBody":{"id":51578,"nodeType":"Block","src":"24646:250:64","statements":[{"expression":{"arguments":[{"id":51563,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51548,"src":"24677:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"expression":{"id":51558,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51546,"src":"24660:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet storage pointer"}},"id":51561,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24664:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":51537,"src":"24660:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage","typeString":"bytes storage ref[] storage ref"}},"id":51562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24672:4:64","memberName":"push","nodeType":"MemberAccess","src":"24660:16:64","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes_storage_$dyn_storage_ptr_$_t_bytes_storage_$returns$__$attached_to$_t_array$_t_bytes_storage_$dyn_storage_ptr_$","typeString":"function (bytes storage ref[] storage pointer,bytes storage ref)"}},"id":51564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24660:23:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51565,"nodeType":"ExpressionStatement","src":"24660:23:64"},{"expression":{"id":51574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":51566,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51546,"src":"24818:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet storage pointer"}},"id":51569,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24822:10:64","memberName":"_positions","nodeType":"MemberAccess","referencedDeclaration":51541,"src":"24818:14:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes_memory_ptr_$_t_uint256_$","typeString":"mapping(bytes memory => uint256)"}},"id":51570,"indexExpression":{"id":51568,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51548,"src":"24833:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24818:21:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":51571,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51546,"src":"24842:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet storage pointer"}},"id":51572,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24846:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":51537,"src":"24842:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage","typeString":"bytes storage ref[] storage ref"}},"id":51573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24854:6:64","memberName":"length","nodeType":"MemberAccess","src":"24842:18:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24818:42:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51575,"nodeType":"ExpressionStatement","src":"24818:42:64"},{"expression":{"hexValue":"74727565","id":51576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"24881:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":51552,"id":51577,"nodeType":"Return","src":"24874:11:64"}]}}]},"documentation":{"id":51543,"nodeType":"StructuredDocumentation","src":"24366:159:64","text":" @dev Add a value to a set. O(1).\n Returns true if the value was added to the set, that is if it was not\n already present."},"implemented":true,"kind":"function","modifiers":[],"name":"add","nameLocation":"24539:3:64","parameters":{"id":51549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51546,"mutability":"mutable","name":"set","nameLocation":"24560:3:64","nodeType":"VariableDeclaration","scope":51584,"src":"24543:20:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet"},"typeName":{"id":51545,"nodeType":"UserDefinedTypeName","pathNode":{"id":51544,"name":"BytesSet","nameLocations":["24543:8:64"],"nodeType":"IdentifierPath","referencedDeclaration":51542,"src":"24543:8:64"},"referencedDeclaration":51542,"src":"24543:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet"}},"visibility":"internal"},{"constant":false,"id":51548,"mutability":"mutable","name":"value","nameLocation":"24578:5:64","nodeType":"VariableDeclaration","scope":51584,"src":"24565:18:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51547,"name":"bytes","nodeType":"ElementaryTypeName","src":"24565:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"24542:42:64"},"returnParameters":{"id":51552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51584,"src":"24603:4:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51550,"name":"bool","nodeType":"ElementaryTypeName","src":"24603:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24602:6:64"},"scope":51855,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":51668,"nodeType":"FunctionDefinition","src":"25113:1383:64","nodes":[],"body":{"id":51667,"nodeType":"Block","src":"25195:1301:64","nodes":[],"statements":[{"assignments":[51596],"declarations":[{"constant":false,"id":51596,"mutability":"mutable","name":"position","nameLocation":"25307:8:64","nodeType":"VariableDeclaration","scope":51667,"src":"25299:16:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51595,"name":"uint256","nodeType":"ElementaryTypeName","src":"25299:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51601,"initialValue":{"baseExpression":{"expression":{"id":51597,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51588,"src":"25318:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet storage pointer"}},"id":51598,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25322:10:64","memberName":"_positions","nodeType":"MemberAccess","referencedDeclaration":51541,"src":"25318:14:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes_memory_ptr_$_t_uint256_$","typeString":"mapping(bytes memory => uint256)"}},"id":51600,"indexExpression":{"id":51599,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"25333:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25318:21:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25299:40:64"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51602,"name":"position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51596,"src":"25354:8:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":51603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25366:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25354:13:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":51665,"nodeType":"Block","src":"26453:37:64","statements":[{"expression":{"hexValue":"66616c7365","id":51663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"26474:5:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":51594,"id":51664,"nodeType":"Return","src":"26467:12:64"}]},"id":51666,"nodeType":"IfStatement","src":"25350:1140:64","trueBody":{"id":51662,"nodeType":"Block","src":"25369:1078:64","statements":[{"assignments":[51606],"declarations":[{"constant":false,"id":51606,"mutability":"mutable","name":"valueIndex","nameLocation":"25729:10:64","nodeType":"VariableDeclaration","scope":51662,"src":"25721:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51605,"name":"uint256","nodeType":"ElementaryTypeName","src":"25721:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51610,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51607,"name":"position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51596,"src":"25742:8:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":51608,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25753:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"25742:12:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25721:33:64"},{"assignments":[51612],"declarations":[{"constant":false,"id":51612,"mutability":"mutable","name":"lastIndex","nameLocation":"25776:9:64","nodeType":"VariableDeclaration","scope":51662,"src":"25768:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51611,"name":"uint256","nodeType":"ElementaryTypeName","src":"25768:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51618,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":51613,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51588,"src":"25788:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet storage pointer"}},"id":51614,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25792:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":51537,"src":"25788:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage","typeString":"bytes storage ref[] storage ref"}},"id":51615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25800:6:64","memberName":"length","nodeType":"MemberAccess","src":"25788:18:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":51616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25809:1:64","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"25788:22:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25768:42:64"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51619,"name":"valueIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51606,"src":"25829:10:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":51620,"name":"lastIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51612,"src":"25843:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25829:23:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51646,"nodeType":"IfStatement","src":"25825:383:64","trueBody":{"id":51645,"nodeType":"Block","src":"25854:354:64","statements":[{"assignments":[51623],"declarations":[{"constant":false,"id":51623,"mutability":"mutable","name":"lastValue","nameLocation":"25885:9:64","nodeType":"VariableDeclaration","scope":51645,"src":"25872:22:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51622,"name":"bytes","nodeType":"ElementaryTypeName","src":"25872:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":51628,"initialValue":{"baseExpression":{"expression":{"id":51624,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51588,"src":"25897:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet storage pointer"}},"id":51625,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25901:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":51537,"src":"25897:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage","typeString":"bytes storage ref[] storage ref"}},"id":51627,"indexExpression":{"id":51626,"name":"lastIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51612,"src":"25909:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25897:22:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25872:47:64"},{"expression":{"id":51635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":51629,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51588,"src":"26018:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet storage pointer"}},"id":51632,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26022:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":51537,"src":"26018:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage","typeString":"bytes storage ref[] storage ref"}},"id":51633,"indexExpression":{"id":51631,"name":"valueIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51606,"src":"26030:10:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"26018:23:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":51634,"name":"lastValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51623,"src":"26044:9:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"26018:35:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"id":51636,"nodeType":"ExpressionStatement","src":"26018:35:64"},{"expression":{"id":51643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":51637,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51588,"src":"26157:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet storage pointer"}},"id":51640,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26161:10:64","memberName":"_positions","nodeType":"MemberAccess","referencedDeclaration":51541,"src":"26157:14:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes_memory_ptr_$_t_uint256_$","typeString":"mapping(bytes memory => uint256)"}},"id":51641,"indexExpression":{"id":51639,"name":"lastValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51623,"src":"26172:9:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"26157:25:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":51642,"name":"position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51596,"src":"26185:8:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26157:36:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51644,"nodeType":"ExpressionStatement","src":"26157:36:64"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":51647,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51588,"src":"26286:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet storage pointer"}},"id":51650,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26290:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":51537,"src":"26286:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage","typeString":"bytes storage ref[] storage ref"}},"id":51651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26298:3:64","memberName":"pop","nodeType":"MemberAccess","src":"26286:15:64","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_bytes_storage_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_bytes_storage_$dyn_storage_ptr_$","typeString":"function (bytes storage ref[] storage pointer)"}},"id":51652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26286:17:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51653,"nodeType":"ExpressionStatement","src":"26286:17:64"},{"expression":{"id":51658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"26382:28:64","subExpression":{"baseExpression":{"expression":{"id":51654,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51588,"src":"26389:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet storage pointer"}},"id":51655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26393:10:64","memberName":"_positions","nodeType":"MemberAccess","referencedDeclaration":51541,"src":"26389:14:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes_memory_ptr_$_t_uint256_$","typeString":"mapping(bytes memory => uint256)"}},"id":51657,"indexExpression":{"id":51656,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51590,"src":"26404:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"26389:21:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51659,"nodeType":"ExpressionStatement","src":"26382:28:64"},{"expression":{"hexValue":"74727565","id":51660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"26432:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":51594,"id":51661,"nodeType":"Return","src":"26425:11:64"}]}}]},"documentation":{"id":51585,"nodeType":"StructuredDocumentation","src":"24951:157:64","text":" @dev Removes a value from a set. O(1).\n Returns true if the value was removed from the set, that is if it was\n present."},"implemented":true,"kind":"function","modifiers":[],"name":"remove","nameLocation":"25122:6:64","parameters":{"id":51591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51588,"mutability":"mutable","name":"set","nameLocation":"25146:3:64","nodeType":"VariableDeclaration","scope":51668,"src":"25129:20:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet"},"typeName":{"id":51587,"nodeType":"UserDefinedTypeName","pathNode":{"id":51586,"name":"BytesSet","nameLocations":["25129:8:64"],"nodeType":"IdentifierPath","referencedDeclaration":51542,"src":"25129:8:64"},"referencedDeclaration":51542,"src":"25129:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet"}},"visibility":"internal"},{"constant":false,"id":51590,"mutability":"mutable","name":"value","nameLocation":"25164:5:64","nodeType":"VariableDeclaration","scope":51668,"src":"25151:18:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51589,"name":"bytes","nodeType":"ElementaryTypeName","src":"25151:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"25128:42:64"},"returnParameters":{"id":51594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51593,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51668,"src":"25189:4:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51592,"name":"bool","nodeType":"ElementaryTypeName","src":"25189:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25188:6:64"},"scope":51855,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":51711,"nodeType":"FunctionDefinition","src":"26810:241:64","nodes":[],"body":{"id":51710,"nodeType":"Block","src":"26856:195:64","nodes":[],"statements":[{"assignments":[51676],"declarations":[{"constant":false,"id":51676,"mutability":"mutable","name":"len","nameLocation":"26874:3:64","nodeType":"VariableDeclaration","scope":51710,"src":"26866:11:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51675,"name":"uint256","nodeType":"ElementaryTypeName","src":"26866:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51680,"initialValue":{"arguments":[{"id":51678,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51672,"src":"26887:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet storage pointer"}],"id":51677,"name":"length","nodeType":"Identifier","overloadedDeclarations":[50742,50939,51127,51424,51744],"referencedDeclaration":51744,"src":"26880:6:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_BytesSet_$51542_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct EnumerableSet.BytesSet storage pointer) view returns (uint256)"}},"id":51679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26880:11:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26866:25:64"},{"body":{"id":51700,"nodeType":"Block","src":"26935:62:64","statements":[{"expression":{"id":51698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"26949:37:64","subExpression":{"baseExpression":{"expression":{"id":51691,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51672,"src":"26956:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet storage pointer"}},"id":51692,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26960:10:64","memberName":"_positions","nodeType":"MemberAccess","referencedDeclaration":51541,"src":"26956:14:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes_memory_ptr_$_t_uint256_$","typeString":"mapping(bytes memory => uint256)"}},"id":51697,"indexExpression":{"baseExpression":{"expression":{"id":51693,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51672,"src":"26971:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet storage pointer"}},"id":51694,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26975:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":51537,"src":"26971:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage","typeString":"bytes storage ref[] storage ref"}},"id":51696,"indexExpression":{"id":51695,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51682,"src":"26983:1:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26971:14:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"26956:30:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51699,"nodeType":"ExpressionStatement","src":"26949:37:64"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51685,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51682,"src":"26921:1:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":51686,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51676,"src":"26925:3:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26921:7:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51701,"initializationExpression":{"assignments":[51682],"declarations":[{"constant":false,"id":51682,"mutability":"mutable","name":"i","nameLocation":"26914:1:64","nodeType":"VariableDeclaration","scope":51701,"src":"26906:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51681,"name":"uint256","nodeType":"ElementaryTypeName","src":"26906:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51684,"initialValue":{"hexValue":"30","id":51683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26918:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"26906:13:64"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":51689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"26930:3:64","subExpression":{"id":51688,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51682,"src":"26932:1:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51690,"nodeType":"ExpressionStatement","src":"26930:3:64"},"nodeType":"ForStatement","src":"26901:96:64"},{"expression":{"arguments":[{"expression":{"id":51705,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51672,"src":"27029:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet storage pointer"}},"id":51706,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27033:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":51537,"src":"27029:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage","typeString":"bytes storage ref[] storage ref"}},{"hexValue":"30","id":51707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27042:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage","typeString":"bytes storage ref[] storage ref"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":51702,"name":"Arrays","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44776,"src":"27006:6:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Arrays_$44776_$","typeString":"type(library Arrays)"}},"id":51704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27013:15:64","memberName":"unsafeSetLength","nodeType":"MemberAccess","referencedDeclaration":44764,"src":"27006:22:64","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_bytes_storage_$dyn_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (bytes storage ref[] storage pointer,uint256)"}},"id":51708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27006:38:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51709,"nodeType":"ExpressionStatement","src":"27006:38:64"}]},"documentation":{"id":51669,"nodeType":"StructuredDocumentation","src":"26502:303:64","text":" @dev Removes all the values from a set. O(n).\n WARNING: Developers should keep in mind that this function has an unbounded cost and using it may render the\n function uncallable if the set grows to the point where clearing it consumes too much gas to fit in a block."},"implemented":true,"kind":"function","modifiers":[],"name":"clear","nameLocation":"26819:5:64","parameters":{"id":51673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51672,"mutability":"mutable","name":"set","nameLocation":"26842:3:64","nodeType":"VariableDeclaration","scope":51711,"src":"26825:20:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet"},"typeName":{"id":51671,"nodeType":"UserDefinedTypeName","pathNode":{"id":51670,"name":"BytesSet","nameLocations":["26825:8:64"],"nodeType":"IdentifierPath","referencedDeclaration":51542,"src":"26825:8:64"},"referencedDeclaration":51542,"src":"26825:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet"}},"visibility":"internal"}],"src":"26824:22:64"},"returnParameters":{"id":51674,"nodeType":"ParameterList","parameters":[],"src":"26856:0:64"},"scope":51855,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":51730,"nodeType":"FunctionDefinition","src":"27132:139:64","nodes":[],"body":{"id":51729,"nodeType":"Block","src":"27221:50:64","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":51722,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51715,"src":"27238:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet storage pointer"}},"id":51723,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27242:10:64","memberName":"_positions","nodeType":"MemberAccess","referencedDeclaration":51541,"src":"27238:14:64","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes_memory_ptr_$_t_uint256_$","typeString":"mapping(bytes memory => uint256)"}},"id":51725,"indexExpression":{"id":51724,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51717,"src":"27253:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27238:21:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":51726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27263:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27238:26:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":51721,"id":51728,"nodeType":"Return","src":"27231:33:64"}]},"documentation":{"id":51712,"nodeType":"StructuredDocumentation","src":"27057:70:64","text":" @dev Returns true if the value is in the set. O(1)."},"implemented":true,"kind":"function","modifiers":[],"name":"contains","nameLocation":"27141:8:64","parameters":{"id":51718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51715,"mutability":"mutable","name":"set","nameLocation":"27167:3:64","nodeType":"VariableDeclaration","scope":51730,"src":"27150:20:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet"},"typeName":{"id":51714,"nodeType":"UserDefinedTypeName","pathNode":{"id":51713,"name":"BytesSet","nameLocations":["27150:8:64"],"nodeType":"IdentifierPath","referencedDeclaration":51542,"src":"27150:8:64"},"referencedDeclaration":51542,"src":"27150:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet"}},"visibility":"internal"},{"constant":false,"id":51717,"mutability":"mutable","name":"value","nameLocation":"27185:5:64","nodeType":"VariableDeclaration","scope":51730,"src":"27172:18:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51716,"name":"bytes","nodeType":"ElementaryTypeName","src":"27172:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"27149:42:64"},"returnParameters":{"id":51721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51720,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51730,"src":"27215:4:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51719,"name":"bool","nodeType":"ElementaryTypeName","src":"27215:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27214:6:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51744,"nodeType":"FunctionDefinition","src":"27352:112:64","nodes":[],"body":{"id":51743,"nodeType":"Block","src":"27422:42:64","nodes":[],"statements":[{"expression":{"expression":{"expression":{"id":51739,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51734,"src":"27439:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet storage pointer"}},"id":51740,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27443:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":51537,"src":"27439:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage","typeString":"bytes storage ref[] storage ref"}},"id":51741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27451:6:64","memberName":"length","nodeType":"MemberAccess","src":"27439:18:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":51738,"id":51742,"nodeType":"Return","src":"27432:25:64"}]},"documentation":{"id":51731,"nodeType":"StructuredDocumentation","src":"27277:70:64","text":" @dev Returns the number of values on the set. O(1)."},"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"27361:6:64","parameters":{"id":51735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51734,"mutability":"mutable","name":"set","nameLocation":"27385:3:64","nodeType":"VariableDeclaration","scope":51744,"src":"27368:20:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet"},"typeName":{"id":51733,"nodeType":"UserDefinedTypeName","pathNode":{"id":51732,"name":"BytesSet","nameLocations":["27368:8:64"],"nodeType":"IdentifierPath","referencedDeclaration":51542,"src":"27368:8:64"},"referencedDeclaration":51542,"src":"27368:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet"}},"visibility":"internal"}],"src":"27367:22:64"},"returnParameters":{"id":51738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51737,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51744,"src":"27413:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51736,"name":"uint256","nodeType":"ElementaryTypeName","src":"27413:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27412:9:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51761,"nodeType":"FunctionDefinition","src":"27806:128:64","nodes":[],"body":{"id":51760,"nodeType":"Block","src":"27892:42:64","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"id":51755,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51748,"src":"27909:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet storage pointer"}},"id":51756,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27913:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":51537,"src":"27909:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage","typeString":"bytes storage ref[] storage ref"}},"id":51758,"indexExpression":{"id":51757,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51750,"src":"27921:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27909:18:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"functionReturnParameters":51754,"id":51759,"nodeType":"Return","src":"27902:25:64"}]},"documentation":{"id":51745,"nodeType":"StructuredDocumentation","src":"27470:331:64","text":" @dev Returns the value stored at position `index` in the set. O(1).\n Note that there are no guarantees on the ordering of values inside the\n array, and it may change when more values are added or removed.\n Requirements:\n - `index` must be strictly less than {length}."},"implemented":true,"kind":"function","modifiers":[],"name":"at","nameLocation":"27815:2:64","parameters":{"id":51751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51748,"mutability":"mutable","name":"set","nameLocation":"27835:3:64","nodeType":"VariableDeclaration","scope":51761,"src":"27818:20:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet"},"typeName":{"id":51747,"nodeType":"UserDefinedTypeName","pathNode":{"id":51746,"name":"BytesSet","nameLocations":["27818:8:64"],"nodeType":"IdentifierPath","referencedDeclaration":51542,"src":"27818:8:64"},"referencedDeclaration":51542,"src":"27818:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet"}},"visibility":"internal"},{"constant":false,"id":51750,"mutability":"mutable","name":"index","nameLocation":"27848:5:64","nodeType":"VariableDeclaration","scope":51761,"src":"27840:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51749,"name":"uint256","nodeType":"ElementaryTypeName","src":"27840:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27817:37:64"},"returnParameters":{"id":51754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51753,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51761,"src":"27878:12:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51752,"name":"bytes","nodeType":"ElementaryTypeName","src":"27878:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"27877:14:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51775,"nodeType":"FunctionDefinition","src":"28474:112:64","nodes":[],"body":{"id":51774,"nodeType":"Block","src":"28551:35:64","nodes":[],"statements":[{"expression":{"expression":{"id":51771,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51765,"src":"28568:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet storage pointer"}},"id":51772,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28572:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":51537,"src":"28568:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage","typeString":"bytes storage ref[] storage ref"}},"functionReturnParameters":51770,"id":51773,"nodeType":"Return","src":"28561:18:64"}]},"documentation":{"id":51762,"nodeType":"StructuredDocumentation","src":"27940:529:64","text":" @dev Return the entire set in an array\n WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n this function has an unbounded cost, and using it as part of a state-changing function may render the function\n uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block."},"implemented":true,"kind":"function","modifiers":[],"name":"values","nameLocation":"28483:6:64","parameters":{"id":51766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51765,"mutability":"mutable","name":"set","nameLocation":"28507:3:64","nodeType":"VariableDeclaration","scope":51775,"src":"28490:20:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet"},"typeName":{"id":51764,"nodeType":"UserDefinedTypeName","pathNode":{"id":51763,"name":"BytesSet","nameLocations":["28490:8:64"],"nodeType":"IdentifierPath","referencedDeclaration":51542,"src":"28490:8:64"},"referencedDeclaration":51542,"src":"28490:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet"}},"visibility":"internal"}],"src":"28489:22:64"},"returnParameters":{"id":51770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51769,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51775,"src":"28535:14:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":51767,"name":"bytes","nodeType":"ElementaryTypeName","src":"28535:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":51768,"nodeType":"ArrayTypeName","src":"28535:7:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"28534:16:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51854,"nodeType":"FunctionDefinition","src":"29130:492:64","nodes":[],"body":{"id":51853,"nodeType":"Block","src":"29235:387:64","nodes":[],"statements":[{"id":51852,"nodeType":"UncheckedBlock","src":"29245:371:64","statements":[{"expression":{"id":51797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":51789,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51783,"src":"29269:3:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":51792,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51783,"src":"29284:3:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":51794,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51779,"src":"29296:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet storage pointer"}],"id":51793,"name":"length","nodeType":"Identifier","overloadedDeclarations":[50742,50939,51127,51424,51744],"referencedDeclaration":51744,"src":"29289:6:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_BytesSet_$51542_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct EnumerableSet.BytesSet storage pointer) view returns (uint256)"}},"id":51795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29289:11:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51790,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48420,"src":"29275:4:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$48420_$","typeString":"type(library Math)"}},"id":51791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29280:3:64","memberName":"min","nodeType":"MemberAccess","referencedDeclaration":47126,"src":"29275:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":51796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29275:26:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29269:32:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51798,"nodeType":"ExpressionStatement","src":"29269:32:64"},{"expression":{"id":51805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":51799,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51781,"src":"29315:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":51802,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51781,"src":"29332:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51803,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51783,"src":"29339:3:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51800,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48420,"src":"29323:4:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$48420_$","typeString":"type(library Math)"}},"id":51801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29328:3:64","memberName":"min","nodeType":"MemberAccess","referencedDeclaration":47126,"src":"29323:8:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":51804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29323:20:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29315:28:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51806,"nodeType":"ExpressionStatement","src":"29315:28:64"},{"assignments":[51808],"declarations":[{"constant":false,"id":51808,"mutability":"mutable","name":"len","nameLocation":"29366:3:64","nodeType":"VariableDeclaration","scope":51852,"src":"29358:11:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51807,"name":"uint256","nodeType":"ElementaryTypeName","src":"29358:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51812,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51809,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51783,"src":"29372:3:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":51810,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51781,"src":"29378:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29372:11:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29358:25:64"},{"assignments":[51817],"declarations":[{"constant":false,"id":51817,"mutability":"mutable","name":"result","nameLocation":"29412:6:64","nodeType":"VariableDeclaration","scope":51852,"src":"29397:21:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":51815,"name":"bytes","nodeType":"ElementaryTypeName","src":"29397:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":51816,"nodeType":"ArrayTypeName","src":"29397:7:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"id":51823,"initialValue":{"arguments":[{"id":51821,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51808,"src":"29433:3:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":51820,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"29421:11:64","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory[] memory)"},"typeName":{"baseType":{"id":51818,"name":"bytes","nodeType":"ElementaryTypeName","src":"29425:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":51819,"nodeType":"ArrayTypeName","src":"29425:7:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}}},"id":51822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29421:16:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"29397:40:64"},{"body":{"id":51848,"nodeType":"Block","src":"29485:94:64","statements":[{"expression":{"id":51846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":51834,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51817,"src":"29503:6:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":51836,"indexExpression":{"id":51835,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51825,"src":"29510:1:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"29503:9:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"expression":{"id":51839,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51779,"src":"29535:3:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet storage pointer"}},"id":51840,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29539:7:64","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":51537,"src":"29535:11:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage","typeString":"bytes storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51841,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51781,"src":"29548:5:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":51842,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51825,"src":"29556:1:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29548:9:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage","typeString":"bytes storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51837,"name":"Arrays","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44776,"src":"29515:6:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Arrays_$44776_$","typeString":"type(library Arrays)"}},"id":51838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29522:12:64","memberName":"unsafeAccess","nodeType":"MemberAccess","referencedDeclaration":44629,"src":"29515:19:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_BytesSlot_$45066_storage_ptr_$","typeString":"function (bytes storage ref[] storage pointer,uint256) pure returns (struct StorageSlot.BytesSlot storage pointer)"}},"id":51844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29515:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_BytesSlot_$45066_storage_ptr","typeString":"struct StorageSlot.BytesSlot storage pointer"}},"id":51845,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29559:5:64","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":45065,"src":"29515:49:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"src":"29503:61:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":51847,"nodeType":"ExpressionStatement","src":"29503:61:64"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51828,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51825,"src":"29471:1:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":51829,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51808,"src":"29475:3:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29471:7:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51849,"initializationExpression":{"assignments":[51825],"declarations":[{"constant":false,"id":51825,"mutability":"mutable","name":"i","nameLocation":"29464:1:64","nodeType":"VariableDeclaration","scope":51849,"src":"29456:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51824,"name":"uint256","nodeType":"ElementaryTypeName","src":"29456:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51827,"initialValue":{"hexValue":"30","id":51826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29468:1:64","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"29456:13:64"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":51832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"29480:3:64","subExpression":{"id":51831,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51825,"src":"29482:1:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51833,"nodeType":"ExpressionStatement","src":"29480:3:64"},"nodeType":"ForStatement","src":"29451:128:64"},{"expression":{"id":51850,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51817,"src":"29599:6:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"functionReturnParameters":51788,"id":51851,"nodeType":"Return","src":"29592:13:64"}]}]},"documentation":{"id":51776,"nodeType":"StructuredDocumentation","src":"28592:533:64","text":" @dev Return a slice of the set in an array\n WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\n to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\n this function has an unbounded cost, and using it as part of a state-changing function may render the function\n uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block."},"implemented":true,"kind":"function","modifiers":[],"name":"values","nameLocation":"29139:6:64","parameters":{"id":51784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51779,"mutability":"mutable","name":"set","nameLocation":"29163:3:64","nodeType":"VariableDeclaration","scope":51854,"src":"29146:20:64","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet"},"typeName":{"id":51778,"nodeType":"UserDefinedTypeName","pathNode":{"id":51777,"name":"BytesSet","nameLocations":["29146:8:64"],"nodeType":"IdentifierPath","referencedDeclaration":51542,"src":"29146:8:64"},"referencedDeclaration":51542,"src":"29146:8:64","typeDescriptions":{"typeIdentifier":"t_struct$_BytesSet_$51542_storage_ptr","typeString":"struct EnumerableSet.BytesSet"}},"visibility":"internal"},{"constant":false,"id":51781,"mutability":"mutable","name":"start","nameLocation":"29176:5:64","nodeType":"VariableDeclaration","scope":51854,"src":"29168:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51780,"name":"uint256","nodeType":"ElementaryTypeName","src":"29168:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51783,"mutability":"mutable","name":"end","nameLocation":"29191:3:64","nodeType":"VariableDeclaration","scope":51854,"src":"29183:11:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51782,"name":"uint256","nodeType":"ElementaryTypeName","src":"29183:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29145:50:64"},"returnParameters":{"id":51788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51787,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51854,"src":"29219:14:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":51785,"name":"bytes","nodeType":"ElementaryTypeName","src":"29219:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":51786,"nodeType":"ArrayTypeName","src":"29219:7:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"29218:16:64"},"scope":51855,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"EnumerableSet","contractDependencies":[],"contractKind":"library","documentation":{"id":50336,"nodeType":"StructuredDocumentation","src":"309:1276:64","text":" @dev Library for managing\n https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive\n types.\n Sets have the following properties:\n - Elements are added, removed, and checked for existence in constant time\n (O(1)).\n - Elements are enumerated in O(n). No guarantees are made on the ordering.\n - Set can be cleared (all elements removed) in O(n).\n ```solidity\n contract Example {\n // Add the library methods\n using EnumerableSet for EnumerableSet.AddressSet;\n // Declare a set state variable\n EnumerableSet.AddressSet private mySet;\n }\n ```\n The following types are supported:\n - `bytes32` (`Bytes32Set`) since v3.3.0\n - `address` (`AddressSet`) since v3.3.0\n - `uint256` (`UintSet`) since v3.3.0\n - `string` (`StringSet`) since v5.4.0\n - `bytes` (`BytesSet`) since v5.4.0\n [WARNING]\n ====\n Trying to delete such a structure from storage will likely result in data corruption, rendering the structure\n unusable.\n See https://github.com/ethereum/solidity/pull/11843[ethereum/solidity#11843] for more info.\n In order to clean an EnumerableSet, you can either remove all elements one by one or create a fresh instance using an\n array of EnumerableSet.\n ===="},"fullyImplemented":true,"linearizedBaseContracts":[51855],"name":"EnumerableSet","nameLocation":"1594:13:64","scope":51856,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"id":20,"ast":{"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","id":39725,"exportedSymbols":{"AccessControlUpgradeable":[39724],"ContextUpgradeable":[41068],"ERC165Upgradeable":[41108],"IAccessControl":[41191],"IERC165":[46799],"Initializable":[40840]},"nodeType":"SourceUnit","src":"108:8225:20","nodes":[{"id":39361,"nodeType":"PragmaDirective","src":"108:24:20","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":39363,"nodeType":"ImportDirective","src":"134:81:20","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol","file":"@openzeppelin/contracts/access/IAccessControl.sol","nameLocation":"-1:-1:-1","scope":39725,"sourceUnit":41192,"symbolAliases":[{"foreign":{"id":39362,"name":"IAccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41191,"src":"142:14:20","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":39365,"nodeType":"ImportDirective","src":"216:67:20","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol","file":"../utils/ContextUpgradeable.sol","nameLocation":"-1:-1:-1","scope":39725,"sourceUnit":41069,"symbolAliases":[{"foreign":{"id":39364,"name":"ContextUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41068,"src":"224:18:20","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":39367,"nodeType":"ImportDirective","src":"284:80:20","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","nameLocation":"-1:-1:-1","scope":39725,"sourceUnit":46800,"symbolAliases":[{"foreign":{"id":39366,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46799,"src":"292:7:20","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":39369,"nodeType":"ImportDirective","src":"365:79:20","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol","file":"../utils/introspection/ERC165Upgradeable.sol","nameLocation":"-1:-1:-1","scope":39725,"sourceUnit":41109,"symbolAliases":[{"foreign":{"id":39368,"name":"ERC165Upgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41108,"src":"373:17:20","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":39371,"nodeType":"ImportDirective","src":"445:63:20","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"../proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":39725,"sourceUnit":40841,"symbolAliases":[{"foreign":{"id":39370,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40840,"src":"453:13:20","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":39724,"nodeType":"ContractDefinition","src":"2171:6161:20","nodes":[{"id":39387,"nodeType":"StructDefinition","src":"2292:100:20","nodes":[],"canonicalName":"AccessControlUpgradeable.RoleData","members":[{"constant":false,"id":39384,"mutability":"mutable","name":"hasRole","nameLocation":"2351:7:20","nodeType":"VariableDeclaration","scope":39387,"src":"2318:40:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":39383,"keyName":"account","keyNameLocation":"2334:7:20","keyType":{"id":39381,"name":"address","nodeType":"ElementaryTypeName","src":"2326:7:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2318:32:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":39382,"name":"bool","nodeType":"ElementaryTypeName","src":"2345:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"},{"constant":false,"id":39386,"mutability":"mutable","name":"adminRole","nameLocation":"2376:9:20","nodeType":"VariableDeclaration","scope":39387,"src":"2368:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39385,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2368:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"RoleData","nameLocation":"2299:8:20","scope":39724,"visibility":"public"},{"id":39390,"nodeType":"VariableDeclaration","src":"2398:49:20","nodes":[],"constant":true,"functionSelector":"a217fddf","mutability":"constant","name":"DEFAULT_ADMIN_ROLE","nameLocation":"2422:18:20","scope":39724,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39388,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2398:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"30783030","id":39389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2443:4:20","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0x00"},"visibility":"public"},{"id":39397,"nodeType":"StructDefinition","src":"2531:85:20","nodes":[],"canonicalName":"AccessControlUpgradeable.AccessControlStorage","documentation":{"id":39391,"nodeType":"StructuredDocumentation","src":"2455:71:20","text":"@custom:storage-location erc7201:openzeppelin.storage.AccessControl"},"members":[{"constant":false,"id":39396,"mutability":"mutable","name":"_roles","nameLocation":"2603:6:20","nodeType":"VariableDeclaration","scope":39397,"src":"2569:40:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$39387_storage_$","typeString":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)"},"typeName":{"id":39395,"keyName":"role","keyNameLocation":"2585:4:20","keyType":{"id":39392,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2577:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"2569:33:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$39387_storage_$","typeString":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":39394,"nodeType":"UserDefinedTypeName","pathNode":{"id":39393,"name":"RoleData","nameLocations":["2593:8:20"],"nodeType":"IdentifierPath","referencedDeclaration":39387,"src":"2593:8:20"},"referencedDeclaration":39387,"src":"2593:8:20","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$39387_storage_ptr","typeString":"struct AccessControlUpgradeable.RoleData"}}},"visibility":"internal"}],"name":"AccessControlStorage","nameLocation":"2538:20:20","scope":39724,"visibility":"public"},{"id":39400,"nodeType":"VariableDeclaration","src":"2739:122:20","nodes":[],"constant":true,"mutability":"constant","name":"AccessControlStorageLocation","nameLocation":"2764:28:20","scope":39724,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39398,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2739:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307830326464376263376465633464636565646461373735653538646435343165303861313136633663353338313563306264303238313932663762363236383030","id":39399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2795:66:20","typeDescriptions":{"typeIdentifier":"t_rational_1295953201772911215391058989745868821651057887752387839782086074958115661824_by_1","typeString":"int_const 1295...(68 digits omitted)...1824"},"value":"0x02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800"},"visibility":"private"},{"id":39408,"nodeType":"FunctionDefinition","src":"2868:177:20","nodes":[],"body":{"id":39407,"nodeType":"Block","src":"2958:87:20","nodes":[],"statements":[{"AST":{"nativeSrc":"2977:62:20","nodeType":"YulBlock","src":"2977:62:20","statements":[{"nativeSrc":"2991:38:20","nodeType":"YulAssignment","src":"2991:38:20","value":{"name":"AccessControlStorageLocation","nativeSrc":"3001:28:20","nodeType":"YulIdentifier","src":"3001:28:20"},"variableNames":[{"name":"$.slot","nativeSrc":"2991:6:20","nodeType":"YulIdentifier","src":"2991:6:20"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":39404,"isOffset":false,"isSlot":true,"src":"2991:6:20","suffix":"slot","valueSize":1},{"declaration":39400,"isOffset":false,"isSlot":false,"src":"3001:28:20","valueSize":1}],"id":39406,"nodeType":"InlineAssembly","src":"2968:71:20"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_getAccessControlStorage","nameLocation":"2877:24:20","parameters":{"id":39401,"nodeType":"ParameterList","parameters":[],"src":"2901:2:20"},"returnParameters":{"id":39405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39404,"mutability":"mutable","name":"$","nameLocation":"2955:1:20","nodeType":"VariableDeclaration","scope":39408,"src":"2926:30:20","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$39397_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage"},"typeName":{"id":39403,"nodeType":"UserDefinedTypeName","pathNode":{"id":39402,"name":"AccessControlStorage","nameLocations":["2926:20:20"],"nodeType":"IdentifierPath","referencedDeclaration":39397,"src":"2926:20:20"},"referencedDeclaration":39397,"src":"2926:20:20","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$39397_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage"}},"visibility":"internal"}],"src":"2925:32:20"},"scope":39724,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":39419,"nodeType":"ModifierDefinition","src":"3230:76:20","nodes":[],"body":{"id":39418,"nodeType":"Block","src":"3262:44:20","nodes":[],"statements":[{"expression":{"arguments":[{"id":39414,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39411,"src":"3283:4:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":39413,"name":"_checkRole","nodeType":"Identifier","overloadedDeclarations":[39491,39512],"referencedDeclaration":39491,"src":"3272:10:20","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$__$","typeString":"function (bytes32) view"}},"id":39415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3272:16:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39416,"nodeType":"ExpressionStatement","src":"3272:16:20"},{"id":39417,"nodeType":"PlaceholderStatement","src":"3298:1:20"}]},"documentation":{"id":39409,"nodeType":"StructuredDocumentation","src":"3051:174:20","text":" @dev Modifier that checks that an account has a specific role. Reverts\n with an {AccessControlUnauthorizedAccount} error including the required role."},"name":"onlyRole","nameLocation":"3239:8:20","parameters":{"id":39412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39411,"mutability":"mutable","name":"role","nameLocation":"3256:4:20","nodeType":"VariableDeclaration","scope":39419,"src":"3248:12:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39410,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3248:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3247:14:20"},"virtual":false,"visibility":"internal"},{"id":39425,"nodeType":"FunctionDefinition","src":"3312:65:20","nodes":[],"body":{"id":39424,"nodeType":"Block","src":"3370:7:20","nodes":[],"statements":[]},"implemented":true,"kind":"function","modifiers":[{"id":39422,"kind":"modifierInvocation","modifierName":{"id":39421,"name":"onlyInitializing","nameLocations":["3353:16:20"],"nodeType":"IdentifierPath","referencedDeclaration":40735,"src":"3353:16:20"},"nodeType":"ModifierInvocation","src":"3353:16:20"}],"name":"__AccessControl_init","nameLocation":"3321:20:20","parameters":{"id":39420,"nodeType":"ParameterList","parameters":[],"src":"3341:2:20"},"returnParameters":{"id":39423,"nodeType":"ParameterList","parameters":[],"src":"3370:0:20"},"scope":39724,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":39431,"nodeType":"FunctionDefinition","src":"3383:75:20","nodes":[],"body":{"id":39430,"nodeType":"Block","src":"3451:7:20","nodes":[],"statements":[]},"implemented":true,"kind":"function","modifiers":[{"id":39428,"kind":"modifierInvocation","modifierName":{"id":39427,"name":"onlyInitializing","nameLocations":["3434:16:20"],"nodeType":"IdentifierPath","referencedDeclaration":40735,"src":"3434:16:20"},"nodeType":"ModifierInvocation","src":"3434:16:20"}],"name":"__AccessControl_init_unchained","nameLocation":"3392:30:20","parameters":{"id":39426,"nodeType":"ParameterList","parameters":[],"src":"3422:2:20"},"returnParameters":{"id":39429,"nodeType":"ParameterList","parameters":[],"src":"3451:0:20"},"scope":39724,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":39453,"nodeType":"FunctionDefinition","src":"3491:202:20","nodes":[],"body":{"id":39452,"nodeType":"Block","src":"3582:111:20","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":39450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":39445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39440,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39434,"src":"3599:11:20","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":39442,"name":"IAccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41191,"src":"3619:14:20","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IAccessControl_$41191_$","typeString":"type(contract IAccessControl)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IAccessControl_$41191_$","typeString":"type(contract IAccessControl)"}],"id":39441,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3614:4:20","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":39443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3614:20:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IAccessControl_$41191","typeString":"type(contract IAccessControl)"}},"id":39444,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3635:11:20","memberName":"interfaceId","nodeType":"MemberAccess","src":"3614:32:20","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"3599:47:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":39448,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39434,"src":"3674:11:20","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":39446,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"3650:5:20","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_AccessControlUpgradeable_$39724_$","typeString":"type(contract super AccessControlUpgradeable)"}},"id":39447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3656:17:20","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":41107,"src":"3650:23:20","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":39449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3650:36:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3599:87:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":39439,"id":39451,"nodeType":"Return","src":"3592:94:20"}]},"baseFunctions":[41107],"documentation":{"id":39432,"nodeType":"StructuredDocumentation","src":"3463:23:20","text":"@inheritdoc IERC165"},"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"3500:17:20","overrides":{"id":39436,"nodeType":"OverrideSpecifier","overrides":[],"src":"3558:8:20"},"parameters":{"id":39435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39434,"mutability":"mutable","name":"interfaceId","nameLocation":"3525:11:20","nodeType":"VariableDeclaration","scope":39453,"src":"3518:18:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":39433,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3518:6:20","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"3517:20:20"},"returnParameters":{"id":39439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39438,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":39453,"src":"3576:4:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39437,"name":"bool","nodeType":"ElementaryTypeName","src":"3576:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3575:6:20"},"scope":39724,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":39478,"nodeType":"FunctionDefinition","src":"3780:207:20","nodes":[],"body":{"id":39477,"nodeType":"Block","src":"3863:124:20","nodes":[],"statements":[{"assignments":[39465],"declarations":[{"constant":false,"id":39465,"mutability":"mutable","name":"$","nameLocation":"3902:1:20","nodeType":"VariableDeclaration","scope":39477,"src":"3873:30:20","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$39397_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage"},"typeName":{"id":39464,"nodeType":"UserDefinedTypeName","pathNode":{"id":39463,"name":"AccessControlStorage","nameLocations":["3873:20:20"],"nodeType":"IdentifierPath","referencedDeclaration":39397,"src":"3873:20:20"},"referencedDeclaration":39397,"src":"3873:20:20","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$39397_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage"}},"visibility":"internal"}],"id":39468,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":39466,"name":"_getAccessControlStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39408,"src":"3906:24:20","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AccessControlStorage_$39397_storage_ptr_$","typeString":"function () pure returns (struct AccessControlUpgradeable.AccessControlStorage storage pointer)"}},"id":39467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3906:26:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$39397_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3873:59:20"},{"expression":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":39469,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39465,"src":"3949:1:20","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$39397_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage storage pointer"}},"id":39470,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3951:6:20","memberName":"_roles","nodeType":"MemberAccess","referencedDeclaration":39396,"src":"3949:8:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$39387_storage_$","typeString":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData storage ref)"}},"id":39472,"indexExpression":{"id":39471,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39456,"src":"3958:4:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3949:14:20","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$39387_storage","typeString":"struct AccessControlUpgradeable.RoleData storage ref"}},"id":39473,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3964:7:20","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":39384,"src":"3949:22:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":39475,"indexExpression":{"id":39474,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39458,"src":"3972:7:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3949:31:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":39462,"id":39476,"nodeType":"Return","src":"3942:38:20"}]},"baseFunctions":[41158],"documentation":{"id":39454,"nodeType":"StructuredDocumentation","src":"3699:76:20","text":" @dev Returns `true` if `account` has been granted `role`."},"functionSelector":"91d14854","implemented":true,"kind":"function","modifiers":[],"name":"hasRole","nameLocation":"3789:7:20","parameters":{"id":39459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39456,"mutability":"mutable","name":"role","nameLocation":"3805:4:20","nodeType":"VariableDeclaration","scope":39478,"src":"3797:12:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39455,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3797:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39458,"mutability":"mutable","name":"account","nameLocation":"3819:7:20","nodeType":"VariableDeclaration","scope":39478,"src":"3811:15:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39457,"name":"address","nodeType":"ElementaryTypeName","src":"3811:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3796:31:20"},"returnParameters":{"id":39462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39461,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":39478,"src":"3857:4:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39460,"name":"bool","nodeType":"ElementaryTypeName","src":"3857:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3856:6:20"},"scope":39724,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":39491,"nodeType":"FunctionDefinition","src":"4196:103:20","nodes":[],"body":{"id":39490,"nodeType":"Block","src":"4252:47:20","nodes":[],"statements":[{"expression":{"arguments":[{"id":39485,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39481,"src":"4273:4:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":39486,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41050,"src":"4279:10:20","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":39487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4279:12:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":39484,"name":"_checkRole","nodeType":"Identifier","overloadedDeclarations":[39491,39512],"referencedDeclaration":39512,"src":"4262:10:20","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address) view"}},"id":39488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4262:30:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39489,"nodeType":"ExpressionStatement","src":"4262:30:20"}]},"documentation":{"id":39479,"nodeType":"StructuredDocumentation","src":"3993:198:20","text":" @dev Reverts with an {AccessControlUnauthorizedAccount} error if `_msgSender()`\n is missing `role`. Overriding this function changes the behavior of the {onlyRole} modifier."},"implemented":true,"kind":"function","modifiers":[],"name":"_checkRole","nameLocation":"4205:10:20","parameters":{"id":39482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39481,"mutability":"mutable","name":"role","nameLocation":"4224:4:20","nodeType":"VariableDeclaration","scope":39491,"src":"4216:12:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39480,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4216:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4215:14:20"},"returnParameters":{"id":39483,"nodeType":"ParameterList","parameters":[],"src":"4252:0:20"},"scope":39724,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":39512,"nodeType":"FunctionDefinition","src":"4429:197:20","nodes":[],"body":{"id":39511,"nodeType":"Block","src":"4502:124:20","nodes":[],"statements":[{"condition":{"id":39503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4516:23:20","subExpression":{"arguments":[{"id":39500,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39494,"src":"4525:4:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":39501,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39496,"src":"4531:7:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":39499,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39478,"src":"4517:7:20","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":39502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4517:22:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":39510,"nodeType":"IfStatement","src":"4512:108:20","trueBody":{"id":39509,"nodeType":"Block","src":"4541:79:20","statements":[{"errorCall":{"arguments":[{"id":39505,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39496,"src":"4595:7:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":39506,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39494,"src":"4604:4:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":39504,"name":"AccessControlUnauthorizedAccount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41118,"src":"4562:32:20","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_bytes32_$returns$_t_error_$","typeString":"function (address,bytes32) pure returns (error)"}},"id":39507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4562:47:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":39508,"nodeType":"RevertStatement","src":"4555:54:20"}]}}]},"documentation":{"id":39492,"nodeType":"StructuredDocumentation","src":"4305:119:20","text":" @dev Reverts with an {AccessControlUnauthorizedAccount} error if `account`\n is missing `role`."},"implemented":true,"kind":"function","modifiers":[],"name":"_checkRole","nameLocation":"4438:10:20","parameters":{"id":39497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39494,"mutability":"mutable","name":"role","nameLocation":"4457:4:20","nodeType":"VariableDeclaration","scope":39512,"src":"4449:12:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39493,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4449:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39496,"mutability":"mutable","name":"account","nameLocation":"4471:7:20","nodeType":"VariableDeclaration","scope":39512,"src":"4463:15:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39495,"name":"address","nodeType":"ElementaryTypeName","src":"4463:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4448:31:20"},"returnParameters":{"id":39498,"nodeType":"ParameterList","parameters":[],"src":"4502:0:20"},"scope":39724,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":39533,"nodeType":"FunctionDefinition","src":"4807:191:20","nodes":[],"body":{"id":39532,"nodeType":"Block","src":"4881:117:20","nodes":[],"statements":[{"assignments":[39522],"declarations":[{"constant":false,"id":39522,"mutability":"mutable","name":"$","nameLocation":"4920:1:20","nodeType":"VariableDeclaration","scope":39532,"src":"4891:30:20","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$39397_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage"},"typeName":{"id":39521,"nodeType":"UserDefinedTypeName","pathNode":{"id":39520,"name":"AccessControlStorage","nameLocations":["4891:20:20"],"nodeType":"IdentifierPath","referencedDeclaration":39397,"src":"4891:20:20"},"referencedDeclaration":39397,"src":"4891:20:20","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$39397_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage"}},"visibility":"internal"}],"id":39525,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":39523,"name":"_getAccessControlStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39408,"src":"4924:24:20","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AccessControlStorage_$39397_storage_ptr_$","typeString":"function () pure returns (struct AccessControlUpgradeable.AccessControlStorage storage pointer)"}},"id":39524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4924:26:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$39397_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4891:59:20"},{"expression":{"expression":{"baseExpression":{"expression":{"id":39526,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39522,"src":"4967:1:20","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$39397_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage storage pointer"}},"id":39527,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4969:6:20","memberName":"_roles","nodeType":"MemberAccess","referencedDeclaration":39396,"src":"4967:8:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$39387_storage_$","typeString":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData storage ref)"}},"id":39529,"indexExpression":{"id":39528,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39515,"src":"4976:4:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4967:14:20","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$39387_storage","typeString":"struct AccessControlUpgradeable.RoleData storage ref"}},"id":39530,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4982:9:20","memberName":"adminRole","nodeType":"MemberAccess","referencedDeclaration":39386,"src":"4967:24:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":39519,"id":39531,"nodeType":"Return","src":"4960:31:20"}]},"baseFunctions":[41166],"documentation":{"id":39513,"nodeType":"StructuredDocumentation","src":"4632:170:20","text":" @dev Returns the admin role that controls `role`. See {grantRole} and\n {revokeRole}.\n To change a role's admin, use {_setRoleAdmin}."},"functionSelector":"248a9ca3","implemented":true,"kind":"function","modifiers":[],"name":"getRoleAdmin","nameLocation":"4816:12:20","parameters":{"id":39516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39515,"mutability":"mutable","name":"role","nameLocation":"4837:4:20","nodeType":"VariableDeclaration","scope":39533,"src":"4829:12:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39514,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4829:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4828:14:20"},"returnParameters":{"id":39519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39518,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":39533,"src":"4872:7:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39517,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4872:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4871:9:20"},"scope":39724,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":39552,"nodeType":"FunctionDefinition","src":"5294:136:20","nodes":[],"body":{"id":39551,"nodeType":"Block","src":"5388:42:20","nodes":[],"statements":[{"expression":{"arguments":[{"id":39547,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39536,"src":"5409:4:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":39548,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39538,"src":"5415:7:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":39546,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39677,"src":"5398:10:20","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":39549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5398:25:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":39550,"nodeType":"ExpressionStatement","src":"5398:25:20"}]},"baseFunctions":[41174],"documentation":{"id":39534,"nodeType":"StructuredDocumentation","src":"5004:285:20","text":" @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event.\n Requirements:\n - the caller must have ``role``'s admin role.\n May emit a {RoleGranted} event."},"functionSelector":"2f2ff15d","implemented":true,"kind":"function","modifiers":[{"arguments":[{"arguments":[{"id":39542,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39536,"src":"5381:4:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":39541,"name":"getRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39533,"src":"5368:12:20","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view returns (bytes32)"}},"id":39543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5368:18:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":39544,"kind":"modifierInvocation","modifierName":{"id":39540,"name":"onlyRole","nameLocations":["5359:8:20"],"nodeType":"IdentifierPath","referencedDeclaration":39419,"src":"5359:8:20"},"nodeType":"ModifierInvocation","src":"5359:28:20"}],"name":"grantRole","nameLocation":"5303:9:20","parameters":{"id":39539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39536,"mutability":"mutable","name":"role","nameLocation":"5321:4:20","nodeType":"VariableDeclaration","scope":39552,"src":"5313:12:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39535,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5313:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39538,"mutability":"mutable","name":"account","nameLocation":"5335:7:20","nodeType":"VariableDeclaration","scope":39552,"src":"5327:15:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39537,"name":"address","nodeType":"ElementaryTypeName","src":"5327:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5312:31:20"},"returnParameters":{"id":39545,"nodeType":"ParameterList","parameters":[],"src":"5388:0:20"},"scope":39724,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":39571,"nodeType":"FunctionDefinition","src":"5710:138:20","nodes":[],"body":{"id":39570,"nodeType":"Block","src":"5805:43:20","nodes":[],"statements":[{"expression":{"arguments":[{"id":39566,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39555,"src":"5827:4:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":39567,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39557,"src":"5833:7:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":39565,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39723,"src":"5815:11:20","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":39568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5815:26:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":39569,"nodeType":"ExpressionStatement","src":"5815:26:20"}]},"baseFunctions":[41182],"documentation":{"id":39553,"nodeType":"StructuredDocumentation","src":"5436:269:20","text":" @dev Revokes `role` from `account`.\n If `account` had been granted `role`, emits a {RoleRevoked} event.\n Requirements:\n - the caller must have ``role``'s admin role.\n May emit a {RoleRevoked} event."},"functionSelector":"d547741f","implemented":true,"kind":"function","modifiers":[{"arguments":[{"arguments":[{"id":39561,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39555,"src":"5798:4:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":39560,"name":"getRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39533,"src":"5785:12:20","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view returns (bytes32)"}},"id":39562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5785:18:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":39563,"kind":"modifierInvocation","modifierName":{"id":39559,"name":"onlyRole","nameLocations":["5776:8:20"],"nodeType":"IdentifierPath","referencedDeclaration":39419,"src":"5776:8:20"},"nodeType":"ModifierInvocation","src":"5776:28:20"}],"name":"revokeRole","nameLocation":"5719:10:20","parameters":{"id":39558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39555,"mutability":"mutable","name":"role","nameLocation":"5738:4:20","nodeType":"VariableDeclaration","scope":39571,"src":"5730:12:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39554,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5730:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39557,"mutability":"mutable","name":"account","nameLocation":"5752:7:20","nodeType":"VariableDeclaration","scope":39571,"src":"5744:15:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39556,"name":"address","nodeType":"ElementaryTypeName","src":"5744:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5729:31:20"},"returnParameters":{"id":39564,"nodeType":"ParameterList","parameters":[],"src":"5805:0:20"},"scope":39724,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":39594,"nodeType":"FunctionDefinition","src":"6396:245:20","nodes":[],"body":{"id":39593,"nodeType":"Block","src":"6475:166:20","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":39582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39579,"name":"callerConfirmation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39576,"src":"6489:18:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":39580,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41050,"src":"6511:10:20","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":39581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6511:12:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6489:34:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":39587,"nodeType":"IfStatement","src":"6485:102:20","trueBody":{"id":39586,"nodeType":"Block","src":"6525:62:20","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":39583,"name":"AccessControlBadConfirmation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41121,"src":"6546:28:20","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":39584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6546:30:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":39585,"nodeType":"RevertStatement","src":"6539:37:20"}]}},{"expression":{"arguments":[{"id":39589,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39574,"src":"6609:4:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":39590,"name":"callerConfirmation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39576,"src":"6615:18:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":39588,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39723,"src":"6597:11:20","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":39591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6597:37:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":39592,"nodeType":"ExpressionStatement","src":"6597:37:20"}]},"baseFunctions":[41190],"documentation":{"id":39572,"nodeType":"StructuredDocumentation","src":"5854:537:20","text":" @dev Revokes `role` from the calling account.\n Roles are often managed via {grantRole} and {revokeRole}: this function's\n purpose is to provide a mechanism for accounts to lose their privileges\n if they are compromised (such as when a trusted device is misplaced).\n If the calling account had been revoked `role`, emits a {RoleRevoked}\n event.\n Requirements:\n - the caller must be `callerConfirmation`.\n May emit a {RoleRevoked} event."},"functionSelector":"36568abe","implemented":true,"kind":"function","modifiers":[],"name":"renounceRole","nameLocation":"6405:12:20","parameters":{"id":39577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39574,"mutability":"mutable","name":"role","nameLocation":"6426:4:20","nodeType":"VariableDeclaration","scope":39594,"src":"6418:12:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39573,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6418:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39576,"mutability":"mutable","name":"callerConfirmation","nameLocation":"6440:18:20","nodeType":"VariableDeclaration","scope":39594,"src":"6432:26:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39575,"name":"address","nodeType":"ElementaryTypeName","src":"6432:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6417:42:20"},"returnParameters":{"id":39578,"nodeType":"ParameterList","parameters":[],"src":"6475:0:20"},"scope":39724,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":39630,"nodeType":"FunctionDefinition","src":"6766:318:20","nodes":[],"body":{"id":39629,"nodeType":"Block","src":"6839:245:20","nodes":[],"statements":[{"assignments":[39604],"declarations":[{"constant":false,"id":39604,"mutability":"mutable","name":"$","nameLocation":"6878:1:20","nodeType":"VariableDeclaration","scope":39629,"src":"6849:30:20","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$39397_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage"},"typeName":{"id":39603,"nodeType":"UserDefinedTypeName","pathNode":{"id":39602,"name":"AccessControlStorage","nameLocations":["6849:20:20"],"nodeType":"IdentifierPath","referencedDeclaration":39397,"src":"6849:20:20"},"referencedDeclaration":39397,"src":"6849:20:20","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$39397_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage"}},"visibility":"internal"}],"id":39607,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":39605,"name":"_getAccessControlStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39408,"src":"6882:24:20","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AccessControlStorage_$39397_storage_ptr_$","typeString":"function () pure returns (struct AccessControlUpgradeable.AccessControlStorage storage pointer)"}},"id":39606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6882:26:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$39397_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6849:59:20"},{"assignments":[39609],"declarations":[{"constant":false,"id":39609,"mutability":"mutable","name":"previousAdminRole","nameLocation":"6926:17:20","nodeType":"VariableDeclaration","scope":39629,"src":"6918:25:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39608,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6918:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":39613,"initialValue":{"arguments":[{"id":39611,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39597,"src":"6959:4:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":39610,"name":"getRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39533,"src":"6946:12:20","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view returns (bytes32)"}},"id":39612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6946:18:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"6918:46:20"},{"expression":{"id":39621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"expression":{"id":39614,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39604,"src":"6974:1:20","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$39397_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage storage pointer"}},"id":39617,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6976:6:20","memberName":"_roles","nodeType":"MemberAccess","referencedDeclaration":39396,"src":"6974:8:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$39387_storage_$","typeString":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData storage ref)"}},"id":39618,"indexExpression":{"id":39616,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39597,"src":"6983:4:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6974:14:20","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$39387_storage","typeString":"struct AccessControlUpgradeable.RoleData storage ref"}},"id":39619,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6989:9:20","memberName":"adminRole","nodeType":"MemberAccess","referencedDeclaration":39386,"src":"6974:24:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":39620,"name":"adminRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39599,"src":"7001:9:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6974:36:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":39622,"nodeType":"ExpressionStatement","src":"6974:36:20"},{"eventCall":{"arguments":[{"id":39624,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39597,"src":"7042:4:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":39625,"name":"previousAdminRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39609,"src":"7048:17:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":39626,"name":"adminRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39599,"src":"7067:9:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":39623,"name":"RoleAdminChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41130,"src":"7025:16:20","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32,bytes32)"}},"id":39627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7025:52:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39628,"nodeType":"EmitStatement","src":"7020:57:20"}]},"documentation":{"id":39595,"nodeType":"StructuredDocumentation","src":"6647:114:20","text":" @dev Sets `adminRole` as ``role``'s admin role.\n Emits a {RoleAdminChanged} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_setRoleAdmin","nameLocation":"6775:13:20","parameters":{"id":39600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39597,"mutability":"mutable","name":"role","nameLocation":"6797:4:20","nodeType":"VariableDeclaration","scope":39630,"src":"6789:12:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39596,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6789:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39599,"mutability":"mutable","name":"adminRole","nameLocation":"6811:9:20","nodeType":"VariableDeclaration","scope":39630,"src":"6803:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39598,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6803:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6788:33:20"},"returnParameters":{"id":39601,"nodeType":"ParameterList","parameters":[],"src":"6839:0:20"},"scope":39724,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":39677,"nodeType":"FunctionDefinition","src":"7318:387:20","nodes":[],"body":{"id":39676,"nodeType":"Block","src":"7401:304:20","nodes":[],"statements":[{"assignments":[39642],"declarations":[{"constant":false,"id":39642,"mutability":"mutable","name":"$","nameLocation":"7440:1:20","nodeType":"VariableDeclaration","scope":39676,"src":"7411:30:20","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$39397_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage"},"typeName":{"id":39641,"nodeType":"UserDefinedTypeName","pathNode":{"id":39640,"name":"AccessControlStorage","nameLocations":["7411:20:20"],"nodeType":"IdentifierPath","referencedDeclaration":39397,"src":"7411:20:20"},"referencedDeclaration":39397,"src":"7411:20:20","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$39397_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage"}},"visibility":"internal"}],"id":39645,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":39643,"name":"_getAccessControlStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39408,"src":"7444:24:20","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AccessControlStorage_$39397_storage_ptr_$","typeString":"function () pure returns (struct AccessControlUpgradeable.AccessControlStorage storage pointer)"}},"id":39644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7444:26:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$39397_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7411:59:20"},{"condition":{"id":39650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7484:23:20","subExpression":{"arguments":[{"id":39647,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39633,"src":"7493:4:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":39648,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39635,"src":"7499:7:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":39646,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39478,"src":"7485:7:20","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":39649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7485:22:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":39674,"nodeType":"Block","src":"7662:37:20","statements":[{"expression":{"hexValue":"66616c7365","id":39672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7683:5:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":39639,"id":39673,"nodeType":"Return","src":"7676:12:20"}]},"id":39675,"nodeType":"IfStatement","src":"7480:219:20","trueBody":{"id":39671,"nodeType":"Block","src":"7509:147:20","statements":[{"expression":{"id":39660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":39651,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39642,"src":"7523:1:20","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$39397_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage storage pointer"}},"id":39654,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7525:6:20","memberName":"_roles","nodeType":"MemberAccess","referencedDeclaration":39396,"src":"7523:8:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$39387_storage_$","typeString":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData storage ref)"}},"id":39655,"indexExpression":{"id":39653,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39633,"src":"7532:4:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7523:14:20","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$39387_storage","typeString":"struct AccessControlUpgradeable.RoleData storage ref"}},"id":39656,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7538:7:20","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":39384,"src":"7523:22:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":39658,"indexExpression":{"id":39657,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39635,"src":"7546:7:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7523:31:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":39659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7557:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"7523:38:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":39661,"nodeType":"ExpressionStatement","src":"7523:38:20"},{"eventCall":{"arguments":[{"id":39663,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39633,"src":"7592:4:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":39664,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39635,"src":"7598:7:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":39665,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41050,"src":"7607:10:20","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":39666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7607:12:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":39662,"name":"RoleGranted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41139,"src":"7580:11:20","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,address,address)"}},"id":39667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7580:40:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39668,"nodeType":"EmitStatement","src":"7575:45:20"},{"expression":{"hexValue":"74727565","id":39669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7641:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":39639,"id":39670,"nodeType":"Return","src":"7634:11:20"}]}}]},"documentation":{"id":39631,"nodeType":"StructuredDocumentation","src":"7090:223:20","text":" @dev Attempts to grant `role` to `account` and returns a boolean indicating if `role` was granted.\n Internal function without access restriction.\n May emit a {RoleGranted} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_grantRole","nameLocation":"7327:10:20","parameters":{"id":39636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39633,"mutability":"mutable","name":"role","nameLocation":"7346:4:20","nodeType":"VariableDeclaration","scope":39677,"src":"7338:12:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39632,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7338:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39635,"mutability":"mutable","name":"account","nameLocation":"7360:7:20","nodeType":"VariableDeclaration","scope":39677,"src":"7352:15:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39634,"name":"address","nodeType":"ElementaryTypeName","src":"7352:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7337:31:20"},"returnParameters":{"id":39639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39638,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":39677,"src":"7395:4:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39637,"name":"bool","nodeType":"ElementaryTypeName","src":"7395:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7394:6:20"},"scope":39724,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":39723,"nodeType":"FunctionDefinition","src":"7942:388:20","nodes":[],"body":{"id":39722,"nodeType":"Block","src":"8026:304:20","nodes":[],"statements":[{"assignments":[39689],"declarations":[{"constant":false,"id":39689,"mutability":"mutable","name":"$","nameLocation":"8065:1:20","nodeType":"VariableDeclaration","scope":39722,"src":"8036:30:20","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$39397_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage"},"typeName":{"id":39688,"nodeType":"UserDefinedTypeName","pathNode":{"id":39687,"name":"AccessControlStorage","nameLocations":["8036:20:20"],"nodeType":"IdentifierPath","referencedDeclaration":39397,"src":"8036:20:20"},"referencedDeclaration":39397,"src":"8036:20:20","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$39397_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage"}},"visibility":"internal"}],"id":39692,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":39690,"name":"_getAccessControlStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39408,"src":"8069:24:20","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AccessControlStorage_$39397_storage_ptr_$","typeString":"function () pure returns (struct AccessControlUpgradeable.AccessControlStorage storage pointer)"}},"id":39691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8069:26:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$39397_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8036:59:20"},{"condition":{"arguments":[{"id":39694,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39680,"src":"8117:4:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":39695,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39682,"src":"8123:7:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":39693,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39478,"src":"8109:7:20","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":39696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8109:22:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":39720,"nodeType":"Block","src":"8287:37:20","statements":[{"expression":{"hexValue":"66616c7365","id":39718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8308:5:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":39686,"id":39719,"nodeType":"Return","src":"8301:12:20"}]},"id":39721,"nodeType":"IfStatement","src":"8105:219:20","trueBody":{"id":39717,"nodeType":"Block","src":"8133:148:20","statements":[{"expression":{"id":39706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"baseExpression":{"expression":{"id":39697,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39689,"src":"8147:1:20","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlStorage_$39397_storage_ptr","typeString":"struct AccessControlUpgradeable.AccessControlStorage storage pointer"}},"id":39700,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8149:6:20","memberName":"_roles","nodeType":"MemberAccess","referencedDeclaration":39396,"src":"8147:8:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$39387_storage_$","typeString":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData storage ref)"}},"id":39701,"indexExpression":{"id":39699,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39680,"src":"8156:4:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8147:14:20","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$39387_storage","typeString":"struct AccessControlUpgradeable.RoleData storage ref"}},"id":39702,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8162:7:20","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":39384,"src":"8147:22:20","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":39704,"indexExpression":{"id":39703,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39682,"src":"8170:7:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8147:31:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":39705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8181:5:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"8147:39:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":39707,"nodeType":"ExpressionStatement","src":"8147:39:20"},{"eventCall":{"arguments":[{"id":39709,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39680,"src":"8217:4:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":39710,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39682,"src":"8223:7:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":39711,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41050,"src":"8232:10:20","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":39712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8232:12:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":39708,"name":"RoleRevoked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41148,"src":"8205:11:20","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,address,address)"}},"id":39713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8205:40:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39714,"nodeType":"EmitStatement","src":"8200:45:20"},{"expression":{"hexValue":"74727565","id":39715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8266:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":39686,"id":39716,"nodeType":"Return","src":"8259:11:20"}]}}]},"documentation":{"id":39678,"nodeType":"StructuredDocumentation","src":"7711:226:20","text":" @dev Attempts to revoke `role` from `account` and returns a boolean indicating if `role` was revoked.\n Internal function without access restriction.\n May emit a {RoleRevoked} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_revokeRole","nameLocation":"7951:11:20","parameters":{"id":39683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39680,"mutability":"mutable","name":"role","nameLocation":"7971:4:20","nodeType":"VariableDeclaration","scope":39723,"src":"7963:12:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39679,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7963:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39682,"mutability":"mutable","name":"account","nameLocation":"7985:7:20","nodeType":"VariableDeclaration","scope":39723,"src":"7977:15:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39681,"name":"address","nodeType":"ElementaryTypeName","src":"7977:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7962:31:20"},"returnParameters":{"id":39686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39685,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":39723,"src":"8020:4:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39684,"name":"bool","nodeType":"ElementaryTypeName","src":"8020:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8019:6:20"},"scope":39724,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":39373,"name":"Initializable","nameLocations":["2217:13:20"],"nodeType":"IdentifierPath","referencedDeclaration":40840,"src":"2217:13:20"},"id":39374,"nodeType":"InheritanceSpecifier","src":"2217:13:20"},{"baseName":{"id":39375,"name":"ContextUpgradeable","nameLocations":["2232:18:20"],"nodeType":"IdentifierPath","referencedDeclaration":41068,"src":"2232:18:20"},"id":39376,"nodeType":"InheritanceSpecifier","src":"2232:18:20"},{"baseName":{"id":39377,"name":"IAccessControl","nameLocations":["2252:14:20"],"nodeType":"IdentifierPath","referencedDeclaration":41191,"src":"2252:14:20"},"id":39378,"nodeType":"InheritanceSpecifier","src":"2252:14:20"},{"baseName":{"id":39379,"name":"ERC165Upgradeable","nameLocations":["2268:17:20"],"nodeType":"IdentifierPath","referencedDeclaration":41108,"src":"2268:17:20"},"id":39380,"nodeType":"InheritanceSpecifier","src":"2268:17:20"}],"canonicalName":"AccessControlUpgradeable","contractDependencies":[],"contractKind":"contract","documentation":{"id":39372,"nodeType":"StructuredDocumentation","src":"510:1660:20","text":" @dev Contract module that allows children to implement role-based access\n control mechanisms. This is a lightweight version that doesn't allow enumerating role\n members except through off-chain means by accessing the contract event logs. Some\n applications may benefit from on-chain enumerability, for those cases see\n {AccessControlEnumerable}.\n Roles are referred to by their `bytes32` identifier. These should be exposed\n in the external API and be unique. The best way to achieve this is by\n using `public constant` hash digests:\n ```solidity\n bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n ```\n Roles can be used to represent a set of permissions. To restrict access to a\n function call, use {hasRole}:\n ```solidity\n function foo() public {\n require(hasRole(MY_ROLE, msg.sender));\n ...\n }\n ```\n Roles can be granted and revoked dynamically via the {grantRole} and\n {revokeRole} functions. Each role has an associated admin role, and only\n accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n that only accounts with this role will be able to grant or revoke other\n roles. More complex role relationships can be created by using\n {_setRoleAdmin}.\n WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n grant and revoke this role. Extra precautions should be taken to secure\n accounts that have been granted it. We recommend using {AccessControlDefaultAdminRules}\n to enforce additional security measures for this role."},"fullyImplemented":true,"linearizedBaseContracts":[39724,41108,46799,41191,41068,40840],"name":"AccessControlUpgradeable","nameLocation":"2189:24:20","scope":39725,"usedErrors":[40589,40592,41118,41121],"usedEvents":[40597,41130,41139,41148]}],"license":"MIT"}},"lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol":{"id":21,"ast":{"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol","id":40573,"exportedSymbols":{"AccessControlDefaultAdminRulesUpgradeable":[40572],"AccessControlUpgradeable":[39724],"IAccessControl":[41191],"IAccessControlDefaultAdminRules":[41438],"IERC165":[46799],"IERC5313":[41559],"Initializable":[40840],"Math":[48420],"SafeCast":[50185]},"nodeType":"SourceUnit","src":"136:17069:21","nodes":[{"id":39726,"nodeType":"PragmaDirective","src":"136:24:21","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":39728,"nodeType":"ImportDirective","src":"162:126:21","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol","file":"@openzeppelin/contracts/access/extensions/IAccessControlDefaultAdminRules.sol","nameLocation":"-1:-1:-1","scope":40573,"sourceUnit":41439,"symbolAliases":[{"foreign":{"id":39727,"name":"IAccessControlDefaultAdminRules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41438,"src":"170:31:21","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":39730,"nodeType":"ImportDirective","src":"289:73:21","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"../AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":40573,"sourceUnit":39725,"symbolAliases":[{"foreign":{"id":39729,"name":"AccessControlUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39724,"src":"297:24:21","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":39732,"nodeType":"ImportDirective","src":"363:81:21","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol","file":"@openzeppelin/contracts/access/IAccessControl.sol","nameLocation":"-1:-1:-1","scope":40573,"sourceUnit":41192,"symbolAliases":[{"foreign":{"id":39731,"name":"IAccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41191,"src":"371:14:21","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":39734,"nodeType":"ImportDirective","src":"445:73:21","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol","file":"@openzeppelin/contracts/utils/math/SafeCast.sol","nameLocation":"-1:-1:-1","scope":40573,"sourceUnit":50186,"symbolAliases":[{"foreign":{"id":39733,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"453:8:21","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":39736,"nodeType":"ImportDirective","src":"519:65:21","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":40573,"sourceUnit":48421,"symbolAliases":[{"foreign":{"id":39735,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48420,"src":"527:4:21","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":39738,"nodeType":"ImportDirective","src":"585:73:21","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol","file":"@openzeppelin/contracts/interfaces/IERC5313.sol","nameLocation":"-1:-1:-1","scope":40573,"sourceUnit":41560,"symbolAliases":[{"foreign":{"id":39737,"name":"IERC5313","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41559,"src":"593:8:21","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":39740,"nodeType":"ImportDirective","src":"659:80:21","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","nameLocation":"-1:-1:-1","scope":40573,"sourceUnit":46800,"symbolAliases":[{"foreign":{"id":39739,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46799,"src":"667:7:21","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":39742,"nodeType":"ImportDirective","src":"740:66:21","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"../../proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":40573,"sourceUnit":40841,"symbolAliases":[{"foreign":{"id":39741,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40840,"src":"748:13:21","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":40572,"nodeType":"ContractDefinition","src":"2120:15084:21","nodes":[{"id":39765,"nodeType":"StructDefinition","src":"2365:427:21","nodes":[],"canonicalName":"AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage","documentation":{"id":39752,"nodeType":"StructuredDocumentation","src":"2272:88:21","text":"@custom:storage-location erc7201:openzeppelin.storage.AccessControlDefaultAdminRules"},"members":[{"constant":false,"id":39754,"mutability":"mutable","name":"_pendingDefaultAdmin","nameLocation":"2491:20:21","nodeType":"VariableDeclaration","scope":39765,"src":"2483:28:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39753,"name":"address","nodeType":"ElementaryTypeName","src":"2483:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39756,"mutability":"mutable","name":"_pendingDefaultAdminSchedule","nameLocation":"2528:28:21","nodeType":"VariableDeclaration","scope":39765,"src":"2521:35:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":39755,"name":"uint48","nodeType":"ElementaryTypeName","src":"2521:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":39758,"mutability":"mutable","name":"_currentDelay","nameLocation":"2588:13:21","nodeType":"VariableDeclaration","scope":39765,"src":"2581:20:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":39757,"name":"uint48","nodeType":"ElementaryTypeName","src":"2581:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":39760,"mutability":"mutable","name":"_currentDefaultAdmin","nameLocation":"2619:20:21","nodeType":"VariableDeclaration","scope":39765,"src":"2611:28:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39759,"name":"address","nodeType":"ElementaryTypeName","src":"2611:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39762,"mutability":"mutable","name":"_pendingDelay","nameLocation":"2720:13:21","nodeType":"VariableDeclaration","scope":39765,"src":"2713:20:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":39761,"name":"uint48","nodeType":"ElementaryTypeName","src":"2713:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":39764,"mutability":"mutable","name":"_pendingDelaySchedule","nameLocation":"2750:21:21","nodeType":"VariableDeclaration","scope":39765,"src":"2743:28:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":39763,"name":"uint48","nodeType":"ElementaryTypeName","src":"2743:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"name":"AccessControlDefaultAdminRulesStorage","nameLocation":"2372:37:21","scope":40572,"visibility":"public"},{"id":39768,"nodeType":"VariableDeclaration","src":"2932:139:21","nodes":[],"constant":true,"mutability":"constant","name":"AccessControlDefaultAdminRulesStorageLocation","nameLocation":"2957:45:21","scope":40572,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39766,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2932:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307865656633646163343533386338326338616365343036336162306163643264313563646235383833616131646666376332363733616262336438363938343030","id":39767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3005:66:21","typeDescriptions":{"typeIdentifier":"t_rational_108081311673210417958972809523495106848997966317238319795006477448815430960128_by_1","typeString":"int_const 1080...(70 digits omitted)...0128"},"value":"0xeef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d8698400"},"visibility":"private"},{"id":39776,"nodeType":"FunctionDefinition","src":"3078:228:21","nodes":[],"body":{"id":39775,"nodeType":"Block","src":"3202:104:21","nodes":[],"statements":[{"AST":{"nativeSrc":"3221:79:21","nodeType":"YulBlock","src":"3221:79:21","statements":[{"nativeSrc":"3235:55:21","nodeType":"YulAssignment","src":"3235:55:21","value":{"name":"AccessControlDefaultAdminRulesStorageLocation","nativeSrc":"3245:45:21","nodeType":"YulIdentifier","src":"3245:45:21"},"variableNames":[{"name":"$.slot","nativeSrc":"3235:6:21","nodeType":"YulIdentifier","src":"3235:6:21"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":39772,"isOffset":false,"isSlot":true,"src":"3235:6:21","suffix":"slot","valueSize":1},{"declaration":39768,"isOffset":false,"isSlot":false,"src":"3245:45:21","valueSize":1}],"id":39774,"nodeType":"InlineAssembly","src":"3212:88:21"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_getAccessControlDefaultAdminRulesStorage","nameLocation":"3087:41:21","parameters":{"id":39769,"nodeType":"ParameterList","parameters":[],"src":"3128:2:21"},"returnParameters":{"id":39773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39772,"mutability":"mutable","name":"$","nameLocation":"3199:1:21","nodeType":"VariableDeclaration","scope":39776,"src":"3153:47:21","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage"},"typeName":{"id":39771,"nodeType":"UserDefinedTypeName","pathNode":{"id":39770,"name":"AccessControlDefaultAdminRulesStorage","nameLocations":["3153:37:21"],"nodeType":"IdentifierPath","referencedDeclaration":39765,"src":"3153:37:21"},"referencedDeclaration":39765,"src":"3153:37:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage"}},"visibility":"internal"}],"src":"3152:49:21"},"scope":40572,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":39792,"nodeType":"FunctionDefinition","src":"3416:222:21","nodes":[],"body":{"id":39791,"nodeType":"Block","src":"3539:99:21","nodes":[],"statements":[{"expression":{"arguments":[{"id":39787,"name":"initialDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39779,"src":"3597:12:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":39788,"name":"initialDefaultAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39781,"src":"3611:19:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_address","typeString":"address"}],"id":39786,"name":"__AccessControlDefaultAdminRules_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39834,"src":"3549:47:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint48_$_t_address_$returns$__$","typeString":"function (uint48,address)"}},"id":39789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3549:82:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39790,"nodeType":"ExpressionStatement","src":"3549:82:21"}]},"documentation":{"id":39777,"nodeType":"StructuredDocumentation","src":"3312:99:21","text":" @dev Sets the initial values for {defaultAdminDelay} and {defaultAdmin} address."},"implemented":true,"kind":"function","modifiers":[{"id":39784,"kind":"modifierInvocation","modifierName":{"id":39783,"name":"onlyInitializing","nameLocations":["3522:16:21"],"nodeType":"IdentifierPath","referencedDeclaration":40735,"src":"3522:16:21"},"nodeType":"ModifierInvocation","src":"3522:16:21"}],"name":"__AccessControlDefaultAdminRules_init","nameLocation":"3425:37:21","parameters":{"id":39782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39779,"mutability":"mutable","name":"initialDelay","nameLocation":"3470:12:21","nodeType":"VariableDeclaration","scope":39792,"src":"3463:19:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":39778,"name":"uint48","nodeType":"ElementaryTypeName","src":"3463:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":39781,"mutability":"mutable","name":"initialDefaultAdmin","nameLocation":"3492:19:21","nodeType":"VariableDeclaration","scope":39792,"src":"3484:27:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39780,"name":"address","nodeType":"ElementaryTypeName","src":"3484:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3462:50:21"},"returnParameters":{"id":39785,"nodeType":"ParameterList","parameters":[],"src":"3539:0:21"},"scope":40572,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":39834,"nodeType":"FunctionDefinition","src":"3644:468:21","nodes":[],"body":{"id":39833,"nodeType":"Block","src":"3777:335:21","nodes":[],"statements":[{"assignments":[39803],"declarations":[{"constant":false,"id":39803,"mutability":"mutable","name":"$","nameLocation":"3833:1:21","nodeType":"VariableDeclaration","scope":39833,"src":"3787:47:21","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage"},"typeName":{"id":39802,"nodeType":"UserDefinedTypeName","pathNode":{"id":39801,"name":"AccessControlDefaultAdminRulesStorage","nameLocations":["3787:37:21"],"nodeType":"IdentifierPath","referencedDeclaration":39765,"src":"3787:37:21"},"referencedDeclaration":39765,"src":"3787:37:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage"}},"visibility":"internal"}],"id":39806,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":39804,"name":"_getAccessControlDefaultAdminRulesStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39776,"src":"3837:41:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr_$","typeString":"function () pure returns (struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer)"}},"id":39805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3837:43:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"3787:93:21"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":39812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39807,"name":"initialDefaultAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39796,"src":"3894:19:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":39810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3925:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":39809,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3917:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":39808,"name":"address","nodeType":"ElementaryTypeName","src":"3917:7:21","typeDescriptions":{}}},"id":39811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3917:10:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3894:33:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":39821,"nodeType":"IfStatement","src":"3890:115:21","trueBody":{"id":39820,"nodeType":"Block","src":"3929:76:21","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":39816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3991:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":39815,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3983:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":39814,"name":"address","nodeType":"ElementaryTypeName","src":"3983:7:21","typeDescriptions":{}}},"id":39817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3983:10:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":39813,"name":"AccessControlInvalidDefaultAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41351,"src":"3950:32:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":39818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3950:44:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":39819,"nodeType":"RevertStatement","src":"3943:51:21"}]}},{"expression":{"id":39826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":39822,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39803,"src":"4014:1:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"id":39824,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4016:13:21","memberName":"_currentDelay","nodeType":"MemberAccess","referencedDeclaration":39758,"src":"4014:15:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":39825,"name":"initialDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39794,"src":"4032:12:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"4014:30:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"id":39827,"nodeType":"ExpressionStatement","src":"4014:30:21"},{"expression":{"arguments":[{"id":39829,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39390,"src":"4065:18:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":39830,"name":"initialDefaultAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39796,"src":"4085:19:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":39828,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[40035],"referencedDeclaration":40035,"src":"4054:10:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":39831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4054:51:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":39832,"nodeType":"ExpressionStatement","src":"4054:51:21"}]},"implemented":true,"kind":"function","modifiers":[{"id":39799,"kind":"modifierInvocation","modifierName":{"id":39798,"name":"onlyInitializing","nameLocations":["3760:16:21"],"nodeType":"IdentifierPath","referencedDeclaration":40735,"src":"3760:16:21"},"nodeType":"ModifierInvocation","src":"3760:16:21"}],"name":"__AccessControlDefaultAdminRules_init_unchained","nameLocation":"3653:47:21","parameters":{"id":39797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39794,"mutability":"mutable","name":"initialDelay","nameLocation":"3708:12:21","nodeType":"VariableDeclaration","scope":39834,"src":"3701:19:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":39793,"name":"uint48","nodeType":"ElementaryTypeName","src":"3701:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":39796,"mutability":"mutable","name":"initialDefaultAdmin","nameLocation":"3730:19:21","nodeType":"VariableDeclaration","scope":39834,"src":"3722:27:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39795,"name":"address","nodeType":"ElementaryTypeName","src":"3722:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3700:50:21"},"returnParameters":{"id":39800,"nodeType":"ParameterList","parameters":[],"src":"3777:0:21"},"scope":40572,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":39856,"nodeType":"FunctionDefinition","src":"4146:219:21","nodes":[],"body":{"id":39855,"nodeType":"Block","src":"4237:128:21","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":39853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":39848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39843,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39837,"src":"4254:11:21","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":39845,"name":"IAccessControlDefaultAdminRules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41438,"src":"4274:31:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IAccessControlDefaultAdminRules_$41438_$","typeString":"type(contract IAccessControlDefaultAdminRules)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IAccessControlDefaultAdminRules_$41438_$","typeString":"type(contract IAccessControlDefaultAdminRules)"}],"id":39844,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4269:4:21","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":39846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4269:37:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IAccessControlDefaultAdminRules_$41438","typeString":"type(contract IAccessControlDefaultAdminRules)"}},"id":39847,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4307:11:21","memberName":"interfaceId","nodeType":"MemberAccess","src":"4269:49:21","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"4254:64:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":39851,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39837,"src":"4346:11:21","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":39849,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"4322:5:21","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_AccessControlDefaultAdminRulesUpgradeable_$40572_$","typeString":"type(contract super AccessControlDefaultAdminRulesUpgradeable)"}},"id":39850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4328:17:21","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":39453,"src":"4322:23:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":39852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4322:36:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4254:104:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":39842,"id":39854,"nodeType":"Return","src":"4247:111:21"}]},"baseFunctions":[39453],"documentation":{"id":39835,"nodeType":"StructuredDocumentation","src":"4118:23:21","text":"@inheritdoc IERC165"},"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"4155:17:21","overrides":{"id":39839,"nodeType":"OverrideSpecifier","overrides":[],"src":"4213:8:21"},"parameters":{"id":39838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39837,"mutability":"mutable","name":"interfaceId","nameLocation":"4180:11:21","nodeType":"VariableDeclaration","scope":39856,"src":"4173:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":39836,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4173:6:21","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"4172:20:21"},"returnParameters":{"id":39842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39841,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":39856,"src":"4231:4:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39840,"name":"bool","nodeType":"ElementaryTypeName","src":"4231:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4230:6:21"},"scope":40572,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":39866,"nodeType":"FunctionDefinition","src":"4400:93:21","nodes":[],"body":{"id":39865,"nodeType":"Block","src":"4455:38:21","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":39862,"name":"defaultAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40114,"src":"4472:12:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":39863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4472:14:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":39861,"id":39864,"nodeType":"Return","src":"4465:21:21"}]},"baseFunctions":[41558],"documentation":{"id":39857,"nodeType":"StructuredDocumentation","src":"4371:24:21","text":"@inheritdoc IERC5313"},"functionSelector":"8da5cb5b","implemented":true,"kind":"function","modifiers":[],"name":"owner","nameLocation":"4409:5:21","parameters":{"id":39858,"nodeType":"ParameterList","parameters":[],"src":"4414:2:21"},"returnParameters":{"id":39861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39860,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":39866,"src":"4446:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39859,"name":"address","nodeType":"ElementaryTypeName","src":"4446:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4445:9:21"},"scope":40572,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":39893,"nodeType":"FunctionDefinition","src":"4656:276:21","nodes":[],"body":{"id":39892,"nodeType":"Block","src":"4772:160:21","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":39879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39877,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39869,"src":"4786:4:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":39878,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39390,"src":"4794:18:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4786:26:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":39884,"nodeType":"IfStatement","src":"4782:104:21","trueBody":{"id":39883,"nodeType":"Block","src":"4814:72:21","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":39880,"name":"AccessControlEnforcedDefaultAdminRules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41354,"src":"4835:38:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":39881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4835:40:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":39882,"nodeType":"RevertStatement","src":"4828:47:21"}]}},{"expression":{"arguments":[{"id":39888,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39869,"src":"4911:4:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":39889,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39871,"src":"4917:7:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":39885,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"4895:5:21","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_AccessControlDefaultAdminRulesUpgradeable_$40572_$","typeString":"type(contract super AccessControlDefaultAdminRulesUpgradeable)"}},"id":39887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4901:9:21","memberName":"grantRole","nodeType":"MemberAccess","referencedDeclaration":39552,"src":"4895:15:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":39890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4895:30:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39891,"nodeType":"ExpressionStatement","src":"4895:30:21"}]},"baseFunctions":[39552,41174],"documentation":{"id":39867,"nodeType":"StructuredDocumentation","src":"4563:88:21","text":" @dev See {AccessControl-grantRole}. Reverts for `DEFAULT_ADMIN_ROLE`."},"functionSelector":"2f2ff15d","implemented":true,"kind":"function","modifiers":[],"name":"grantRole","nameLocation":"4665:9:21","overrides":{"id":39875,"nodeType":"OverrideSpecifier","overrides":[{"id":39873,"name":"AccessControlUpgradeable","nameLocations":["4730:24:21"],"nodeType":"IdentifierPath","referencedDeclaration":39724,"src":"4730:24:21"},{"id":39874,"name":"IAccessControl","nameLocations":["4756:14:21"],"nodeType":"IdentifierPath","referencedDeclaration":41191,"src":"4756:14:21"}],"src":"4721:50:21"},"parameters":{"id":39872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39869,"mutability":"mutable","name":"role","nameLocation":"4683:4:21","nodeType":"VariableDeclaration","scope":39893,"src":"4675:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39868,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4675:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39871,"mutability":"mutable","name":"account","nameLocation":"4697:7:21","nodeType":"VariableDeclaration","scope":39893,"src":"4689:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39870,"name":"address","nodeType":"ElementaryTypeName","src":"4689:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4674:31:21"},"returnParameters":{"id":39876,"nodeType":"ParameterList","parameters":[],"src":"4772:0:21"},"scope":40572,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":39920,"nodeType":"FunctionDefinition","src":"5032:278:21","nodes":[],"body":{"id":39919,"nodeType":"Block","src":"5149:161:21","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":39906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39904,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39896,"src":"5163:4:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":39905,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39390,"src":"5171:18:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5163:26:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":39911,"nodeType":"IfStatement","src":"5159:104:21","trueBody":{"id":39910,"nodeType":"Block","src":"5191:72:21","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":39907,"name":"AccessControlEnforcedDefaultAdminRules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41354,"src":"5212:38:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":39908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5212:40:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":39909,"nodeType":"RevertStatement","src":"5205:47:21"}]}},{"expression":{"arguments":[{"id":39915,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39896,"src":"5289:4:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":39916,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39898,"src":"5295:7:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":39912,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"5272:5:21","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_AccessControlDefaultAdminRulesUpgradeable_$40572_$","typeString":"type(contract super AccessControlDefaultAdminRulesUpgradeable)"}},"id":39914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5278:10:21","memberName":"revokeRole","nodeType":"MemberAccess","referencedDeclaration":39571,"src":"5272:16:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":39917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5272:31:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39918,"nodeType":"ExpressionStatement","src":"5272:31:21"}]},"baseFunctions":[39571,41182],"documentation":{"id":39894,"nodeType":"StructuredDocumentation","src":"4938:89:21","text":" @dev See {AccessControl-revokeRole}. Reverts for `DEFAULT_ADMIN_ROLE`."},"functionSelector":"d547741f","implemented":true,"kind":"function","modifiers":[],"name":"revokeRole","nameLocation":"5041:10:21","overrides":{"id":39902,"nodeType":"OverrideSpecifier","overrides":[{"id":39900,"name":"AccessControlUpgradeable","nameLocations":["5107:24:21"],"nodeType":"IdentifierPath","referencedDeclaration":39724,"src":"5107:24:21"},{"id":39901,"name":"IAccessControl","nameLocations":["5133:14:21"],"nodeType":"IdentifierPath","referencedDeclaration":41191,"src":"5133:14:21"}],"src":"5098:50:21"},"parameters":{"id":39899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39896,"mutability":"mutable","name":"role","nameLocation":"5060:4:21","nodeType":"VariableDeclaration","scope":39920,"src":"5052:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39895,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5052:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39898,"mutability":"mutable","name":"account","nameLocation":"5074:7:21","nodeType":"VariableDeclaration","scope":39920,"src":"5066:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39897,"name":"address","nodeType":"ElementaryTypeName","src":"5066:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5051:31:21"},"returnParameters":{"id":39903,"nodeType":"ParameterList","parameters":[],"src":"5149:0:21"},"scope":40572,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":39988,"nodeType":"FunctionDefinition","src":"5995:682:21","nodes":[],"body":{"id":39987,"nodeType":"Block","src":"6114:563:21","nodes":[],"statements":[{"assignments":[39933],"declarations":[{"constant":false,"id":39933,"mutability":"mutable","name":"$","nameLocation":"6170:1:21","nodeType":"VariableDeclaration","scope":39987,"src":"6124:47:21","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage"},"typeName":{"id":39932,"nodeType":"UserDefinedTypeName","pathNode":{"id":39931,"name":"AccessControlDefaultAdminRulesStorage","nameLocations":["6124:37:21"],"nodeType":"IdentifierPath","referencedDeclaration":39765,"src":"6124:37:21"},"referencedDeclaration":39765,"src":"6124:37:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage"}},"visibility":"internal"}],"id":39936,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":39934,"name":"_getAccessControlDefaultAdminRulesStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39776,"src":"6174:41:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr_$","typeString":"function () pure returns (struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer)"}},"id":39935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6174:43:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6124:93:21"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":39944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":39939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39937,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39923,"src":"6231:4:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":39938,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39390,"src":"6239:18:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6231:26:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":39943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39940,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39925,"src":"6261:7:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":39941,"name":"defaultAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40114,"src":"6272:12:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":39942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6272:14:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6261:25:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6231:55:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":39979,"nodeType":"IfStatement","src":"6227:401:21","trueBody":{"id":39978,"nodeType":"Block","src":"6288:340:21","statements":[{"assignments":[39946,39948],"declarations":[{"constant":false,"id":39946,"mutability":"mutable","name":"newDefaultAdmin","nameLocation":"6311:15:21","nodeType":"VariableDeclaration","scope":39978,"src":"6303:23:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39945,"name":"address","nodeType":"ElementaryTypeName","src":"6303:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":39948,"mutability":"mutable","name":"schedule","nameLocation":"6335:8:21","nodeType":"VariableDeclaration","scope":39978,"src":"6328:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":39947,"name":"uint48","nodeType":"ElementaryTypeName","src":"6328:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":39951,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":39949,"name":"pendingDefaultAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40135,"src":"6347:19:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$_t_uint48_$","typeString":"function () view returns (address,uint48)"}},"id":39950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6347:21:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint48_$","typeString":"tuple(address,uint48)"}},"nodeType":"VariableDeclarationStatement","src":"6302:66:21"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":39967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":39962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":39957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":39952,"name":"newDefaultAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39946,"src":"6386:15:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":39955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6413:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":39954,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6405:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":39953,"name":"address","nodeType":"ElementaryTypeName","src":"6405:7:21","typeDescriptions":{}}},"id":39956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6405:10:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6386:29:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":39961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6419:25:21","subExpression":{"arguments":[{"id":39959,"name":"schedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39948,"src":"6435:8:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":39958,"name":"_isScheduleSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40557,"src":"6420:14:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint48_$returns$_t_bool_$","typeString":"function (uint48) pure returns (bool)"}},"id":39960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6420:24:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6386:58:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":39966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6448:29:21","subExpression":{"arguments":[{"id":39964,"name":"schedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39948,"src":"6468:8:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":39963,"name":"_hasSchedulePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40571,"src":"6449:18:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint48_$returns$_t_bool_$","typeString":"function (uint48) view returns (bool)"}},"id":39965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6449:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6386:91:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":39973,"nodeType":"IfStatement","src":"6382:185:21","trueBody":{"id":39972,"nodeType":"Block","src":"6479:88:21","statements":[{"errorCall":{"arguments":[{"id":39969,"name":"schedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39948,"src":"6543:8:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":39968,"name":"AccessControlEnforcedDefaultAdminDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41359,"src":"6504:38:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint48_$returns$_t_error_$","typeString":"function (uint48) pure returns (error)"}},"id":39970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6504:48:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":39971,"nodeType":"RevertStatement","src":"6497:55:21"}]}},{"expression":{"id":39976,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"6580:37:21","subExpression":{"expression":{"id":39974,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39933,"src":"6587:1:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"id":39975,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6589:28:21","memberName":"_pendingDefaultAdminSchedule","nodeType":"MemberAccess","referencedDeclaration":39756,"src":"6587:30:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39977,"nodeType":"ExpressionStatement","src":"6580:37:21"}]}},{"expression":{"arguments":[{"id":39983,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39923,"src":"6656:4:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":39984,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39925,"src":"6662:7:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":39980,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"6637:5:21","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_AccessControlDefaultAdminRulesUpgradeable_$40572_$","typeString":"type(contract super AccessControlDefaultAdminRulesUpgradeable)"}},"id":39982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6643:12:21","memberName":"renounceRole","nodeType":"MemberAccess","referencedDeclaration":39594,"src":"6637:18:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":39985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6637:33:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":39986,"nodeType":"ExpressionStatement","src":"6637:33:21"}]},"baseFunctions":[39594,41190],"documentation":{"id":39921,"nodeType":"StructuredDocumentation","src":"5316:674:21","text":" @dev See {AccessControl-renounceRole}.\n For the `DEFAULT_ADMIN_ROLE`, it only allows renouncing in two steps by first calling\n {beginDefaultAdminTransfer} to the `address(0)`, so it's required that the {pendingDefaultAdmin} schedule\n has also passed when calling this function.\n After its execution, it will not be possible to call `onlyRole(DEFAULT_ADMIN_ROLE)` functions.\n NOTE: Renouncing `DEFAULT_ADMIN_ROLE` will leave the contract without a {defaultAdmin},\n thereby disabling any functionality that is only available for it, and the possibility of reassigning a\n non-administrated role."},"functionSelector":"36568abe","implemented":true,"kind":"function","modifiers":[],"name":"renounceRole","nameLocation":"6004:12:21","overrides":{"id":39929,"nodeType":"OverrideSpecifier","overrides":[{"id":39927,"name":"AccessControlUpgradeable","nameLocations":["6072:24:21"],"nodeType":"IdentifierPath","referencedDeclaration":39724,"src":"6072:24:21"},{"id":39928,"name":"IAccessControl","nameLocations":["6098:14:21"],"nodeType":"IdentifierPath","referencedDeclaration":41191,"src":"6098:14:21"}],"src":"6063:50:21"},"parameters":{"id":39926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39923,"mutability":"mutable","name":"role","nameLocation":"6025:4:21","nodeType":"VariableDeclaration","scope":39988,"src":"6017:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39922,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6017:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39925,"mutability":"mutable","name":"account","nameLocation":"6039:7:21","nodeType":"VariableDeclaration","scope":39988,"src":"6031:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39924,"name":"address","nodeType":"ElementaryTypeName","src":"6031:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6016:31:21"},"returnParameters":{"id":39930,"nodeType":"ParameterList","parameters":[],"src":"6114:0:21"},"scope":40572,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":40035,"nodeType":"FunctionDefinition","src":"7105:475:21","nodes":[],"body":{"id":40034,"nodeType":"Block","src":"7197:383:21","nodes":[],"statements":[{"assignments":[40001],"declarations":[{"constant":false,"id":40001,"mutability":"mutable","name":"$","nameLocation":"7253:1:21","nodeType":"VariableDeclaration","scope":40034,"src":"7207:47:21","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage"},"typeName":{"id":40000,"nodeType":"UserDefinedTypeName","pathNode":{"id":39999,"name":"AccessControlDefaultAdminRulesStorage","nameLocations":["7207:37:21"],"nodeType":"IdentifierPath","referencedDeclaration":39765,"src":"7207:37:21"},"referencedDeclaration":39765,"src":"7207:37:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage"}},"visibility":"internal"}],"id":40004,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40002,"name":"_getAccessControlDefaultAdminRulesStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39776,"src":"7257:41:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr_$","typeString":"function () pure returns (struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer)"}},"id":40003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7257:43:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7207:93:21"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":40007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40005,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39991,"src":"7314:4:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":40006,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39390,"src":"7322:18:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7314:26:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40027,"nodeType":"IfStatement","src":"7310:216:21","trueBody":{"id":40026,"nodeType":"Block","src":"7342:184:21","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":40014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":40008,"name":"defaultAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40114,"src":"7360:12:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":40009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7360:14:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":40012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7386:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":40011,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7378:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40010,"name":"address","nodeType":"ElementaryTypeName","src":"7378:7:21","typeDescriptions":{}}},"id":40013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7378:10:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7360:28:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40019,"nodeType":"IfStatement","src":"7356:114:21","trueBody":{"id":40018,"nodeType":"Block","src":"7390:80:21","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":40015,"name":"AccessControlEnforcedDefaultAdminRules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41354,"src":"7415:38:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":40016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7415:40:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":40017,"nodeType":"RevertStatement","src":"7408:47:21"}]}},{"expression":{"id":40024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":40020,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40001,"src":"7483:1:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"id":40022,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7485:20:21","memberName":"_currentDefaultAdmin","nodeType":"MemberAccess","referencedDeclaration":39760,"src":"7483:22:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":40023,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39993,"src":"7508:7:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7483:32:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":40025,"nodeType":"ExpressionStatement","src":"7483:32:21"}]}},{"expression":{"arguments":[{"id":40030,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39991,"src":"7559:4:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":40031,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39993,"src":"7565:7:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":40028,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"7542:5:21","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_AccessControlDefaultAdminRulesUpgradeable_$40572_$","typeString":"type(contract super AccessControlDefaultAdminRulesUpgradeable)"}},"id":40029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7548:10:21","memberName":"_grantRole","nodeType":"MemberAccess","referencedDeclaration":39677,"src":"7542:16:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":40032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7542:31:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":39998,"id":40033,"nodeType":"Return","src":"7535:38:21"}]},"baseFunctions":[39677],"documentation":{"id":39989,"nodeType":"StructuredDocumentation","src":"6683:417:21","text":" @dev See {AccessControl-_grantRole}.\n For `DEFAULT_ADMIN_ROLE`, it only allows granting if there isn't already a {defaultAdmin} or if the\n role has been previously renounced.\n NOTE: Exposing this function through another mechanism may make the `DEFAULT_ADMIN_ROLE`\n assignable again. Make sure to guarantee this is the expected behavior in your implementation."},"implemented":true,"kind":"function","modifiers":[],"name":"_grantRole","nameLocation":"7114:10:21","overrides":{"id":39995,"nodeType":"OverrideSpecifier","overrides":[],"src":"7173:8:21"},"parameters":{"id":39994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39991,"mutability":"mutable","name":"role","nameLocation":"7133:4:21","nodeType":"VariableDeclaration","scope":40035,"src":"7125:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39990,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7125:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":39993,"mutability":"mutable","name":"account","nameLocation":"7147:7:21","nodeType":"VariableDeclaration","scope":40035,"src":"7139:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":39992,"name":"address","nodeType":"ElementaryTypeName","src":"7139:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7124:31:21"},"returnParameters":{"id":39998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":39997,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40035,"src":"7191:4:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":39996,"name":"bool","nodeType":"ElementaryTypeName","src":"7191:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7190:6:21"},"scope":40572,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":40073,"nodeType":"FunctionDefinition","src":"7631:376:21","nodes":[],"body":{"id":40072,"nodeType":"Block","src":"7724:283:21","nodes":[],"statements":[{"assignments":[40048],"declarations":[{"constant":false,"id":40048,"mutability":"mutable","name":"$","nameLocation":"7780:1:21","nodeType":"VariableDeclaration","scope":40072,"src":"7734:47:21","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage"},"typeName":{"id":40047,"nodeType":"UserDefinedTypeName","pathNode":{"id":40046,"name":"AccessControlDefaultAdminRulesStorage","nameLocations":["7734:37:21"],"nodeType":"IdentifierPath","referencedDeclaration":39765,"src":"7734:37:21"},"referencedDeclaration":39765,"src":"7734:37:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage"}},"visibility":"internal"}],"id":40051,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40049,"name":"_getAccessControlDefaultAdminRulesStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39776,"src":"7784:41:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr_$","typeString":"function () pure returns (struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer)"}},"id":40050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7784:43:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7734:93:21"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":40059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":40054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40052,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40038,"src":"7841:4:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":40053,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39390,"src":"7849:18:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7841:26:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":40058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40055,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40040,"src":"7871:7:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":40056,"name":"defaultAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40114,"src":"7882:12:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":40057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7882:14:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7871:25:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7841:55:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40065,"nodeType":"IfStatement","src":"7837:115:21","trueBody":{"id":40064,"nodeType":"Block","src":"7898:54:21","statements":[{"expression":{"id":40062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"7912:29:21","subExpression":{"expression":{"id":40060,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40048,"src":"7919:1:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"id":40061,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7921:20:21","memberName":"_currentDefaultAdmin","nodeType":"MemberAccess","referencedDeclaration":39760,"src":"7919:22:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40063,"nodeType":"ExpressionStatement","src":"7912:29:21"}]}},{"expression":{"arguments":[{"id":40068,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40038,"src":"7986:4:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":40069,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40040,"src":"7992:7:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":40066,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"7968:5:21","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_AccessControlDefaultAdminRulesUpgradeable_$40572_$","typeString":"type(contract super AccessControlDefaultAdminRulesUpgradeable)"}},"id":40067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7974:11:21","memberName":"_revokeRole","nodeType":"MemberAccess","referencedDeclaration":39723,"src":"7968:17:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":40070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7968:32:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":40045,"id":40071,"nodeType":"Return","src":"7961:39:21"}]},"baseFunctions":[39723],"documentation":{"id":40036,"nodeType":"StructuredDocumentation","src":"7586:40:21","text":"@inheritdoc AccessControlUpgradeable"},"implemented":true,"kind":"function","modifiers":[],"name":"_revokeRole","nameLocation":"7640:11:21","overrides":{"id":40042,"nodeType":"OverrideSpecifier","overrides":[],"src":"7700:8:21"},"parameters":{"id":40041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40038,"mutability":"mutable","name":"role","nameLocation":"7660:4:21","nodeType":"VariableDeclaration","scope":40073,"src":"7652:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40037,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7652:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":40040,"mutability":"mutable","name":"account","nameLocation":"7674:7:21","nodeType":"VariableDeclaration","scope":40073,"src":"7666:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40039,"name":"address","nodeType":"ElementaryTypeName","src":"7666:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7651:31:21"},"returnParameters":{"id":40045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40044,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40073,"src":"7718:4:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40043,"name":"bool","nodeType":"ElementaryTypeName","src":"7718:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7717:6:21"},"scope":40572,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":40098,"nodeType":"FunctionDefinition","src":"8110:248:21","nodes":[],"body":{"id":40097,"nodeType":"Block","src":"8192:166:21","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":40084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40082,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40076,"src":"8206:4:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":40083,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39390,"src":"8214:18:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"8206:26:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40089,"nodeType":"IfStatement","src":"8202:104:21","trueBody":{"id":40088,"nodeType":"Block","src":"8234:72:21","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":40085,"name":"AccessControlEnforcedDefaultAdminRules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41354,"src":"8255:38:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":40086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8255:40:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":40087,"nodeType":"RevertStatement","src":"8248:47:21"}]}},{"expression":{"arguments":[{"id":40093,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40076,"src":"8335:4:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":40094,"name":"adminRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40078,"src":"8341:9:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":40090,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"8315:5:21","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_AccessControlDefaultAdminRulesUpgradeable_$40572_$","typeString":"type(contract super AccessControlDefaultAdminRulesUpgradeable)"}},"id":40092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8321:13:21","memberName":"_setRoleAdmin","nodeType":"MemberAccess","referencedDeclaration":39630,"src":"8315:19:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":40095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8315:36:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40096,"nodeType":"ExpressionStatement","src":"8315:36:21"}]},"baseFunctions":[39630],"documentation":{"id":40074,"nodeType":"StructuredDocumentation","src":"8013:92:21","text":" @dev See {AccessControl-_setRoleAdmin}. Reverts for `DEFAULT_ADMIN_ROLE`."},"implemented":true,"kind":"function","modifiers":[],"name":"_setRoleAdmin","nameLocation":"8119:13:21","overrides":{"id":40080,"nodeType":"OverrideSpecifier","overrides":[],"src":"8183:8:21"},"parameters":{"id":40079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40076,"mutability":"mutable","name":"role","nameLocation":"8141:4:21","nodeType":"VariableDeclaration","scope":40098,"src":"8133:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40075,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8133:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":40078,"mutability":"mutable","name":"adminRole","nameLocation":"8155:9:21","nodeType":"VariableDeclaration","scope":40098,"src":"8147:17:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40077,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8147:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8132:33:21"},"returnParameters":{"id":40081,"nodeType":"ParameterList","parameters":[],"src":"8192:0:21"},"scope":40572,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":40114,"nodeType":"FunctionDefinition","src":"8482:211:21","nodes":[],"body":{"id":40113,"nodeType":"Block","src":"8544:149:21","nodes":[],"statements":[{"assignments":[40106],"declarations":[{"constant":false,"id":40106,"mutability":"mutable","name":"$","nameLocation":"8600:1:21","nodeType":"VariableDeclaration","scope":40113,"src":"8554:47:21","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage"},"typeName":{"id":40105,"nodeType":"UserDefinedTypeName","pathNode":{"id":40104,"name":"AccessControlDefaultAdminRulesStorage","nameLocations":["8554:37:21"],"nodeType":"IdentifierPath","referencedDeclaration":39765,"src":"8554:37:21"},"referencedDeclaration":39765,"src":"8554:37:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage"}},"visibility":"internal"}],"id":40109,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40107,"name":"_getAccessControlDefaultAdminRulesStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39776,"src":"8604:41:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr_$","typeString":"function () pure returns (struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer)"}},"id":40108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8604:43:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8554:93:21"},{"expression":{"expression":{"id":40110,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40106,"src":"8664:1:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"id":40111,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8666:20:21","memberName":"_currentDefaultAdmin","nodeType":"MemberAccess","referencedDeclaration":39760,"src":"8664:22:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":40103,"id":40112,"nodeType":"Return","src":"8657:29:21"}]},"baseFunctions":[41385],"documentation":{"id":40099,"nodeType":"StructuredDocumentation","src":"8430:47:21","text":"@inheritdoc IAccessControlDefaultAdminRules"},"functionSelector":"84ef8ffc","implemented":true,"kind":"function","modifiers":[],"name":"defaultAdmin","nameLocation":"8491:12:21","parameters":{"id":40100,"nodeType":"ParameterList","parameters":[],"src":"8503:2:21"},"returnParameters":{"id":40103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40102,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40114,"src":"8535:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40101,"name":"address","nodeType":"ElementaryTypeName","src":"8535:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8534:9:21"},"scope":40572,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":40135,"nodeType":"FunctionDefinition","src":"8751:278:21","nodes":[],"body":{"id":40134,"nodeType":"Block","src":"8846:183:21","nodes":[],"statements":[{"assignments":[40124],"declarations":[{"constant":false,"id":40124,"mutability":"mutable","name":"$","nameLocation":"8902:1:21","nodeType":"VariableDeclaration","scope":40134,"src":"8856:47:21","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage"},"typeName":{"id":40123,"nodeType":"UserDefinedTypeName","pathNode":{"id":40122,"name":"AccessControlDefaultAdminRulesStorage","nameLocations":["8856:37:21"],"nodeType":"IdentifierPath","referencedDeclaration":39765,"src":"8856:37:21"},"referencedDeclaration":39765,"src":"8856:37:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage"}},"visibility":"internal"}],"id":40127,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40125,"name":"_getAccessControlDefaultAdminRulesStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39776,"src":"8906:41:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr_$","typeString":"function () pure returns (struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer)"}},"id":40126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8906:43:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8856:93:21"},{"expression":{"components":[{"expression":{"id":40128,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40124,"src":"8967:1:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"id":40129,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8969:20:21","memberName":"_pendingDefaultAdmin","nodeType":"MemberAccess","referencedDeclaration":39754,"src":"8967:22:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":40130,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40124,"src":"8991:1:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"id":40131,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8993:28:21","memberName":"_pendingDefaultAdminSchedule","nodeType":"MemberAccess","referencedDeclaration":39756,"src":"8991:30:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"id":40132,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8966:56:21","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint48_$","typeString":"tuple(address,uint48)"}},"functionReturnParameters":40121,"id":40133,"nodeType":"Return","src":"8959:63:21"}]},"baseFunctions":[41393],"documentation":{"id":40115,"nodeType":"StructuredDocumentation","src":"8699:47:21","text":"@inheritdoc IAccessControlDefaultAdminRules"},"functionSelector":"cf6eefb7","implemented":true,"kind":"function","modifiers":[],"name":"pendingDefaultAdmin","nameLocation":"8760:19:21","parameters":{"id":40116,"nodeType":"ParameterList","parameters":[],"src":"8779:2:21"},"returnParameters":{"id":40121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40118,"mutability":"mutable","name":"newAdmin","nameLocation":"8819:8:21","nodeType":"VariableDeclaration","scope":40135,"src":"8811:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40117,"name":"address","nodeType":"ElementaryTypeName","src":"8811:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40120,"mutability":"mutable","name":"schedule","nameLocation":"8836:8:21","nodeType":"VariableDeclaration","scope":40135,"src":"8829:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":40119,"name":"uint48","nodeType":"ElementaryTypeName","src":"8829:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"8810:35:21"},"scope":40572,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":40167,"nodeType":"FunctionDefinition","src":"9087:338:21","nodes":[],"body":{"id":40166,"nodeType":"Block","src":"9153:272:21","nodes":[],"statements":[{"assignments":[40143],"declarations":[{"constant":false,"id":40143,"mutability":"mutable","name":"$","nameLocation":"9209:1:21","nodeType":"VariableDeclaration","scope":40166,"src":"9163:47:21","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage"},"typeName":{"id":40142,"nodeType":"UserDefinedTypeName","pathNode":{"id":40141,"name":"AccessControlDefaultAdminRulesStorage","nameLocations":["9163:37:21"],"nodeType":"IdentifierPath","referencedDeclaration":39765,"src":"9163:37:21"},"referencedDeclaration":39765,"src":"9163:37:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage"}},"visibility":"internal"}],"id":40146,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40144,"name":"_getAccessControlDefaultAdminRulesStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39776,"src":"9213:41:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr_$","typeString":"function () pure returns (struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer)"}},"id":40145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9213:43:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9163:93:21"},{"assignments":[40148],"declarations":[{"constant":false,"id":40148,"mutability":"mutable","name":"schedule","nameLocation":"9273:8:21","nodeType":"VariableDeclaration","scope":40166,"src":"9266:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":40147,"name":"uint48","nodeType":"ElementaryTypeName","src":"9266:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":40151,"initialValue":{"expression":{"id":40149,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40143,"src":"9284:1:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"id":40150,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9286:21:21","memberName":"_pendingDelaySchedule","nodeType":"MemberAccess","referencedDeclaration":39764,"src":"9284:23:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"9266:41:21"},{"expression":{"condition":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":40158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":40153,"name":"schedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40148,"src":"9340:8:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":40152,"name":"_isScheduleSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40557,"src":"9325:14:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint48_$returns$_t_bool_$","typeString":"function (uint48) pure returns (bool)"}},"id":40154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9325:24:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"id":40156,"name":"schedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40148,"src":"9372:8:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":40155,"name":"_hasSchedulePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40571,"src":"9353:18:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint48_$returns$_t_bool_$","typeString":"function (uint48) view returns (bool)"}},"id":40157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9353:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9325:56:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":40159,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9324:58:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":40162,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40143,"src":"9403:1:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"id":40163,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9405:13:21","memberName":"_currentDelay","nodeType":"MemberAccess","referencedDeclaration":39758,"src":"9403:15:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"id":40164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"9324:94:21","trueExpression":{"expression":{"id":40160,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40143,"src":"9385:1:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"id":40161,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9387:13:21","memberName":"_pendingDelay","nodeType":"MemberAccess","referencedDeclaration":39762,"src":"9385:15:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":40140,"id":40165,"nodeType":"Return","src":"9317:101:21"}]},"baseFunctions":[41399],"documentation":{"id":40136,"nodeType":"StructuredDocumentation","src":"9035:47:21","text":"@inheritdoc IAccessControlDefaultAdminRules"},"functionSelector":"cc8463c8","implemented":true,"kind":"function","modifiers":[],"name":"defaultAdminDelay","nameLocation":"9096:17:21","parameters":{"id":40137,"nodeType":"ParameterList","parameters":[],"src":"9113:2:21"},"returnParameters":{"id":40140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40139,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40167,"src":"9145:6:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":40138,"name":"uint48","nodeType":"ElementaryTypeName","src":"9145:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"9144:8:21"},"scope":40572,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":40205,"nodeType":"FunctionDefinition","src":"9483:368:21","nodes":[],"body":{"id":40204,"nodeType":"Block","src":"9582:269:21","nodes":[],"statements":[{"assignments":[40177],"declarations":[{"constant":false,"id":40177,"mutability":"mutable","name":"$","nameLocation":"9638:1:21","nodeType":"VariableDeclaration","scope":40204,"src":"9592:47:21","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage"},"typeName":{"id":40176,"nodeType":"UserDefinedTypeName","pathNode":{"id":40175,"name":"AccessControlDefaultAdminRulesStorage","nameLocations":["9592:37:21"],"nodeType":"IdentifierPath","referencedDeclaration":39765,"src":"9592:37:21"},"referencedDeclaration":39765,"src":"9592:37:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage"}},"visibility":"internal"}],"id":40180,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40178,"name":"_getAccessControlDefaultAdminRulesStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39776,"src":"9642:41:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr_$","typeString":"function () pure returns (struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer)"}},"id":40179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9642:43:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"9592:93:21"},{"expression":{"id":40184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":40181,"name":"schedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40173,"src":"9695:8:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":40182,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40177,"src":"9706:1:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"id":40183,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9708:21:21","memberName":"_pendingDelaySchedule","nodeType":"MemberAccess","referencedDeclaration":39764,"src":"9706:23:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"9695:34:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"id":40185,"nodeType":"ExpressionStatement","src":"9695:34:21"},{"expression":{"condition":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":40193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":40187,"name":"schedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40173,"src":"9762:8:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":40186,"name":"_isScheduleSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40557,"src":"9747:14:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint48_$returns$_t_bool_$","typeString":"function (uint48) pure returns (bool)"}},"id":40188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9747:24:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":40192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9775:29:21","subExpression":{"arguments":[{"id":40190,"name":"schedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40173,"src":"9795:8:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":40189,"name":"_hasSchedulePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40571,"src":"9776:18:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint48_$returns$_t_bool_$","typeString":"function (uint48) view returns (bool)"}},"id":40191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9776:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9747:57:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":40194,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9746:59:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"hexValue":"30","id":40199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9839:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":40200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9842:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":40201,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9838:6:21","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"id":40202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"9746:98:21","trueExpression":{"components":[{"expression":{"id":40195,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40177,"src":"9809:1:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"id":40196,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9811:13:21","memberName":"_pendingDelay","nodeType":"MemberAccess","referencedDeclaration":39762,"src":"9809:15:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":40197,"name":"schedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40173,"src":"9826:8:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"id":40198,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9808:27:21","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint48_$_t_uint48_$","typeString":"tuple(uint48,uint48)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint48_$_t_uint48_$","typeString":"tuple(uint48,uint48)"}},"functionReturnParameters":40174,"id":40203,"nodeType":"Return","src":"9739:105:21"}]},"baseFunctions":[41407],"documentation":{"id":40168,"nodeType":"StructuredDocumentation","src":"9431:47:21","text":"@inheritdoc IAccessControlDefaultAdminRules"},"functionSelector":"a1eda53c","implemented":true,"kind":"function","modifiers":[],"name":"pendingDefaultAdminDelay","nameLocation":"9492:24:21","parameters":{"id":40169,"nodeType":"ParameterList","parameters":[],"src":"9516:2:21"},"returnParameters":{"id":40174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40171,"mutability":"mutable","name":"newDelay","nameLocation":"9555:8:21","nodeType":"VariableDeclaration","scope":40205,"src":"9548:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":40170,"name":"uint48","nodeType":"ElementaryTypeName","src":"9548:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":40173,"mutability":"mutable","name":"schedule","nameLocation":"9572:8:21","nodeType":"VariableDeclaration","scope":40205,"src":"9565:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":40172,"name":"uint48","nodeType":"ElementaryTypeName","src":"9565:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"9547:34:21"},"scope":40572,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":40214,"nodeType":"FunctionDefinition","src":"9909:108:21","nodes":[],"body":{"id":40213,"nodeType":"Block","src":"9987:30:21","nodes":[],"statements":[{"expression":{"hexValue":"35","id":40211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10004:6:21","subdenomination":"days","typeDescriptions":{"typeIdentifier":"t_rational_432000_by_1","typeString":"int_const 432000"},"value":"5"},"functionReturnParameters":40210,"id":40212,"nodeType":"Return","src":"9997:13:21"}]},"baseFunctions":[41437],"documentation":{"id":40206,"nodeType":"StructuredDocumentation","src":"9857:47:21","text":"@inheritdoc IAccessControlDefaultAdminRules"},"functionSelector":"022d63fb","implemented":true,"kind":"function","modifiers":[],"name":"defaultAdminDelayIncreaseWait","nameLocation":"9918:29:21","parameters":{"id":40207,"nodeType":"ParameterList","parameters":[],"src":"9947:2:21"},"returnParameters":{"id":40210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40209,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40214,"src":"9979:6:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":40208,"name":"uint48","nodeType":"ElementaryTypeName","src":"9979:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"9978:8:21"},"scope":40572,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":40228,"nodeType":"FunctionDefinition","src":"10196:150:21","nodes":[],"body":{"id":40227,"nodeType":"Block","src":"10293:53:21","nodes":[],"statements":[{"expression":{"arguments":[{"id":40224,"name":"newAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40217,"src":"10330:8:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":40223,"name":"_beginDefaultAdminTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40256,"src":"10303:26:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":40225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10303:36:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40226,"nodeType":"ExpressionStatement","src":"10303:36:21"}]},"baseFunctions":[41413],"documentation":{"id":40215,"nodeType":"StructuredDocumentation","src":"10144:47:21","text":"@inheritdoc IAccessControlDefaultAdminRules"},"functionSelector":"634e93da","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":40220,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39390,"src":"10273:18:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":40221,"kind":"modifierInvocation","modifierName":{"id":40219,"name":"onlyRole","nameLocations":["10264:8:21"],"nodeType":"IdentifierPath","referencedDeclaration":39419,"src":"10264:8:21"},"nodeType":"ModifierInvocation","src":"10264:28:21"}],"name":"beginDefaultAdminTransfer","nameLocation":"10205:25:21","parameters":{"id":40218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40217,"mutability":"mutable","name":"newAdmin","nameLocation":"10239:8:21","nodeType":"VariableDeclaration","scope":40228,"src":"10231:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40216,"name":"address","nodeType":"ElementaryTypeName","src":"10231:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10230:18:21"},"returnParameters":{"id":40222,"nodeType":"ParameterList","parameters":[],"src":"10293:0:21"},"scope":40572,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":40256,"nodeType":"FunctionDefinition","src":"10473:288:21","nodes":[],"body":{"id":40255,"nodeType":"Block","src":"10544:217:21","nodes":[],"statements":[{"assignments":[40235],"declarations":[{"constant":false,"id":40235,"mutability":"mutable","name":"newSchedule","nameLocation":"10561:11:21","nodeType":"VariableDeclaration","scope":40255,"src":"10554:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":40234,"name":"uint48","nodeType":"ElementaryTypeName","src":"10554:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":40244,"initialValue":{"commonType":{"typeIdentifier":"t_uint48","typeString":"uint48"},"id":40243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":40238,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"10593:5:21","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":40239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10599:9:21","memberName":"timestamp","nodeType":"MemberAccess","src":"10593:15:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":40236,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"10575:8:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":40237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10584:8:21","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":49175,"src":"10575:17:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":40240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10575:34:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":40241,"name":"defaultAdminDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40167,"src":"10612:17:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":40242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10612:19:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"10575:56:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"10554:77:21"},{"expression":{"arguments":[{"id":40246,"name":"newAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40231,"src":"10665:8:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40247,"name":"newSchedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40235,"src":"10675:11:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":40245,"name":"_setPendingDefaultAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40491,"src":"10641:23:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint48_$returns$__$","typeString":"function (address,uint48)"}},"id":40248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10641:46:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40249,"nodeType":"ExpressionStatement","src":"10641:46:21"},{"eventCall":{"arguments":[{"id":40251,"name":"newAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40231,"src":"10732:8:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40252,"name":"newSchedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40235,"src":"10742:11:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":40250,"name":"DefaultAdminTransferScheduled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41366,"src":"10702:29:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint48_$returns$__$","typeString":"function (address,uint48)"}},"id":40253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10702:52:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40254,"nodeType":"EmitStatement","src":"10697:57:21"}]},"documentation":{"id":40229,"nodeType":"StructuredDocumentation","src":"10352:116:21","text":" @dev See {beginDefaultAdminTransfer}.\n Internal function without access restriction."},"implemented":true,"kind":"function","modifiers":[],"name":"_beginDefaultAdminTransfer","nameLocation":"10482:26:21","parameters":{"id":40232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40231,"mutability":"mutable","name":"newAdmin","nameLocation":"10517:8:21","nodeType":"VariableDeclaration","scope":40256,"src":"10509:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40230,"name":"address","nodeType":"ElementaryTypeName","src":"10509:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10508:18:21"},"returnParameters":{"id":40233,"nodeType":"ParameterList","parameters":[],"src":"10544:0:21"},"scope":40572,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":40267,"nodeType":"FunctionDefinition","src":"10819:128:21","nodes":[],"body":{"id":40266,"nodeType":"Block","src":"10901:46:21","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":40263,"name":"_cancelDefaultAdminTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40280,"src":"10911:27:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":40264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10911:29:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40265,"nodeType":"ExpressionStatement","src":"10911:29:21"}]},"baseFunctions":[41417],"documentation":{"id":40257,"nodeType":"StructuredDocumentation","src":"10767:47:21","text":"@inheritdoc IAccessControlDefaultAdminRules"},"functionSelector":"d602b9fd","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":40260,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39390,"src":"10881:18:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":40261,"kind":"modifierInvocation","modifierName":{"id":40259,"name":"onlyRole","nameLocations":["10872:8:21"],"nodeType":"IdentifierPath","referencedDeclaration":39419,"src":"10872:8:21"},"nodeType":"ModifierInvocation","src":"10872:28:21"}],"name":"cancelDefaultAdminTransfer","nameLocation":"10828:26:21","parameters":{"id":40258,"nodeType":"ParameterList","parameters":[],"src":"10854:2:21"},"returnParameters":{"id":40262,"nodeType":"ParameterList","parameters":[],"src":"10901:0:21"},"scope":40572,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":40280,"nodeType":"FunctionDefinition","src":"11075:111:21","nodes":[],"body":{"id":40279,"nodeType":"Block","src":"11131:55:21","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":40274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11173:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":40273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11165:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40272,"name":"address","nodeType":"ElementaryTypeName","src":"11165:7:21","typeDescriptions":{}}},"id":40275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11165:10:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":40276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11177:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":40271,"name":"_setPendingDefaultAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40491,"src":"11141:23:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint48_$returns$__$","typeString":"function (address,uint48)"}},"id":40277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11141:38:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40278,"nodeType":"ExpressionStatement","src":"11141:38:21"}]},"documentation":{"id":40268,"nodeType":"StructuredDocumentation","src":"10953:117:21","text":" @dev See {cancelDefaultAdminTransfer}.\n Internal function without access restriction."},"implemented":true,"kind":"function","modifiers":[],"name":"_cancelDefaultAdminTransfer","nameLocation":"11084:27:21","parameters":{"id":40269,"nodeType":"ParameterList","parameters":[],"src":"11111:2:21"},"returnParameters":{"id":40270,"nodeType":"ParameterList","parameters":[],"src":"11131:0:21"},"scope":40572,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":40304,"nodeType":"FunctionDefinition","src":"11244:344:21","nodes":[],"body":{"id":40303,"nodeType":"Block","src":"11297:291:21","nodes":[],"statements":[{"assignments":[40285,null],"declarations":[{"constant":false,"id":40285,"mutability":"mutable","name":"newDefaultAdmin","nameLocation":"11316:15:21","nodeType":"VariableDeclaration","scope":40303,"src":"11308:23:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40284,"name":"address","nodeType":"ElementaryTypeName","src":"11308:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},null],"id":40288,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40286,"name":"pendingDefaultAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40135,"src":"11337:19:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$_t_uint48_$","typeString":"function () view returns (address,uint48)"}},"id":40287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11337:21:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint48_$","typeString":"tuple(address,uint48)"}},"nodeType":"VariableDeclarationStatement","src":"11307:51:21"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":40292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":40289,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41050,"src":"11372:10:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":40290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11372:12:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":40291,"name":"newDefaultAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40285,"src":"11388:15:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11372:31:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40299,"nodeType":"IfStatement","src":"11368:175:21","trueBody":{"id":40298,"nodeType":"Block","src":"11405:138:21","statements":[{"errorCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":40294,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41050,"src":"11519:10:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":40295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11519:12:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":40293,"name":"AccessControlInvalidDefaultAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41351,"src":"11486:32:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":40296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11486:46:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":40297,"nodeType":"RevertStatement","src":"11479:53:21"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":40300,"name":"_acceptDefaultAdminTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40356,"src":"11552:27:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":40301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11552:29:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40302,"nodeType":"ExpressionStatement","src":"11552:29:21"}]},"baseFunctions":[41421],"documentation":{"id":40281,"nodeType":"StructuredDocumentation","src":"11192:47:21","text":"@inheritdoc IAccessControlDefaultAdminRules"},"functionSelector":"cefc1429","implemented":true,"kind":"function","modifiers":[],"name":"acceptDefaultAdminTransfer","nameLocation":"11253:26:21","parameters":{"id":40282,"nodeType":"ParameterList","parameters":[],"src":"11279:2:21"},"returnParameters":{"id":40283,"nodeType":"ParameterList","parameters":[],"src":"11297:0:21"},"scope":40572,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":40356,"nodeType":"FunctionDefinition","src":"11716:581:21","nodes":[],"body":{"id":40355,"nodeType":"Block","src":"11772:525:21","nodes":[],"statements":[{"assignments":[40310],"declarations":[{"constant":false,"id":40310,"mutability":"mutable","name":"$","nameLocation":"11828:1:21","nodeType":"VariableDeclaration","scope":40355,"src":"11782:47:21","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage"},"typeName":{"id":40309,"nodeType":"UserDefinedTypeName","pathNode":{"id":40308,"name":"AccessControlDefaultAdminRulesStorage","nameLocations":["11782:37:21"],"nodeType":"IdentifierPath","referencedDeclaration":39765,"src":"11782:37:21"},"referencedDeclaration":39765,"src":"11782:37:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage"}},"visibility":"internal"}],"id":40313,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40311,"name":"_getAccessControlDefaultAdminRulesStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39776,"src":"11832:41:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr_$","typeString":"function () pure returns (struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer)"}},"id":40312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11832:43:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"11782:93:21"},{"assignments":[40315,40317],"declarations":[{"constant":false,"id":40315,"mutability":"mutable","name":"newAdmin","nameLocation":"11894:8:21","nodeType":"VariableDeclaration","scope":40355,"src":"11886:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40314,"name":"address","nodeType":"ElementaryTypeName","src":"11886:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40317,"mutability":"mutable","name":"schedule","nameLocation":"11911:8:21","nodeType":"VariableDeclaration","scope":40355,"src":"11904:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":40316,"name":"uint48","nodeType":"ElementaryTypeName","src":"11904:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":40320,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40318,"name":"pendingDefaultAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40135,"src":"11923:19:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$_t_uint48_$","typeString":"function () view returns (address,uint48)"}},"id":40319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11923:21:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint48_$","typeString":"tuple(address,uint48)"}},"nodeType":"VariableDeclarationStatement","src":"11885:59:21"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":40329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"11958:25:21","subExpression":{"arguments":[{"id":40322,"name":"schedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40317,"src":"11974:8:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":40321,"name":"_isScheduleSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40557,"src":"11959:14:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint48_$returns$_t_bool_$","typeString":"function (uint48) pure returns (bool)"}},"id":40323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11959:24:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":40328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"11987:29:21","subExpression":{"arguments":[{"id":40326,"name":"schedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40317,"src":"12007:8:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":40325,"name":"_hasSchedulePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40571,"src":"11988:18:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint48_$returns$_t_bool_$","typeString":"function (uint48) view returns (bool)"}},"id":40327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11988:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11958:58:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40335,"nodeType":"IfStatement","src":"11954:144:21","trueBody":{"id":40334,"nodeType":"Block","src":"12018:80:21","statements":[{"errorCall":{"arguments":[{"id":40331,"name":"schedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40317,"src":"12078:8:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":40330,"name":"AccessControlEnforcedDefaultAdminDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41359,"src":"12039:38:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint48_$returns$_t_error_$","typeString":"function (uint48) pure returns (error)"}},"id":40332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12039:48:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":40333,"nodeType":"RevertStatement","src":"12032:55:21"}]}},{"expression":{"arguments":[{"id":40337,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39390,"src":"12119:18:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":40338,"name":"defaultAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40114,"src":"12139:12:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":40339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12139:14:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":40336,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[40073],"referencedDeclaration":40073,"src":"12107:11:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":40340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12107:47:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40341,"nodeType":"ExpressionStatement","src":"12107:47:21"},{"expression":{"arguments":[{"id":40343,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39390,"src":"12175:18:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":40344,"name":"newAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40315,"src":"12195:8:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":40342,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[40035],"referencedDeclaration":40035,"src":"12164:10:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":40345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12164:40:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40346,"nodeType":"ExpressionStatement","src":"12164:40:21"},{"expression":{"id":40349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"12214:29:21","subExpression":{"expression":{"id":40347,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40310,"src":"12221:1:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"id":40348,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12223:20:21","memberName":"_pendingDefaultAdmin","nodeType":"MemberAccess","referencedDeclaration":39754,"src":"12221:22:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40350,"nodeType":"ExpressionStatement","src":"12214:29:21"},{"expression":{"id":40353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"12253:37:21","subExpression":{"expression":{"id":40351,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40310,"src":"12260:1:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"id":40352,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12262:28:21","memberName":"_pendingDefaultAdminSchedule","nodeType":"MemberAccess","referencedDeclaration":39756,"src":"12260:30:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40354,"nodeType":"ExpressionStatement","src":"12253:37:21"}]},"documentation":{"id":40305,"nodeType":"StructuredDocumentation","src":"11594:117:21","text":" @dev See {acceptDefaultAdminTransfer}.\n Internal function without access restriction."},"implemented":true,"kind":"function","modifiers":[],"name":"_acceptDefaultAdminTransfer","nameLocation":"11725:27:21","parameters":{"id":40306,"nodeType":"ParameterList","parameters":[],"src":"11752:2:21"},"returnParameters":{"id":40307,"nodeType":"ParameterList","parameters":[],"src":"11772:0:21"},"scope":40572,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":40370,"nodeType":"FunctionDefinition","src":"12486:145:21","nodes":[],"body":{"id":40369,"nodeType":"Block","src":"12580:51:21","nodes":[],"statements":[{"expression":{"arguments":[{"id":40366,"name":"newDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40359,"src":"12615:8:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":40365,"name":"_changeDefaultAdminDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40399,"src":"12590:24:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint48_$returns$__$","typeString":"function (uint48)"}},"id":40367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12590:34:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40368,"nodeType":"ExpressionStatement","src":"12590:34:21"}]},"baseFunctions":[41427],"documentation":{"id":40357,"nodeType":"StructuredDocumentation","src":"12434:47:21","text":"@inheritdoc IAccessControlDefaultAdminRules"},"functionSelector":"649a5ec7","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":40362,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39390,"src":"12560:18:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":40363,"kind":"modifierInvocation","modifierName":{"id":40361,"name":"onlyRole","nameLocations":["12551:8:21"],"nodeType":"IdentifierPath","referencedDeclaration":39419,"src":"12551:8:21"},"nodeType":"ModifierInvocation","src":"12551:28:21"}],"name":"changeDefaultAdminDelay","nameLocation":"12495:23:21","parameters":{"id":40360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40359,"mutability":"mutable","name":"newDelay","nameLocation":"12526:8:21","nodeType":"VariableDeclaration","scope":40370,"src":"12519:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":40358,"name":"uint48","nodeType":"ElementaryTypeName","src":"12519:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"12518:17:21"},"returnParameters":{"id":40364,"nodeType":"ParameterList","parameters":[],"src":"12580:0:21"},"scope":40572,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":40399,"nodeType":"FunctionDefinition","src":"12756:288:21","nodes":[],"body":{"id":40398,"nodeType":"Block","src":"12824:220:21","nodes":[],"statements":[{"assignments":[40377],"declarations":[{"constant":false,"id":40377,"mutability":"mutable","name":"newSchedule","nameLocation":"12841:11:21","nodeType":"VariableDeclaration","scope":40398,"src":"12834:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":40376,"name":"uint48","nodeType":"ElementaryTypeName","src":"12834:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":40387,"initialValue":{"commonType":{"typeIdentifier":"t_uint48","typeString":"uint48"},"id":40386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":40380,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"12873:5:21","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":40381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12879:9:21","memberName":"timestamp","nodeType":"MemberAccess","src":"12873:15:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":40378,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50185,"src":"12855:8:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$50185_$","typeString":"type(library SafeCast)"}},"id":40379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12864:8:21","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":49175,"src":"12855:17:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":40382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12855:34:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":40384,"name":"newDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40373,"src":"12909:8:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":40383,"name":"_delayChangeWait","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40451,"src":"12892:16:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint48_$returns$_t_uint48_$","typeString":"function (uint48) view returns (uint48)"}},"id":40385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12892:26:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"12855:63:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"12834:84:21"},{"expression":{"arguments":[{"id":40389,"name":"newDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40373,"src":"12945:8:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":40390,"name":"newSchedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40377,"src":"12955:11:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":40388,"name":"_setPendingDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40544,"src":"12928:16:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint48_$_t_uint48_$returns$__$","typeString":"function (uint48,uint48)"}},"id":40391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12928:39:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40392,"nodeType":"ExpressionStatement","src":"12928:39:21"},{"eventCall":{"arguments":[{"id":40394,"name":"newDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40373,"src":"13015:8:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":40395,"name":"newSchedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40377,"src":"13025:11:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":40393,"name":"DefaultAdminDelayChangeScheduled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41376,"src":"12982:32:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint48_$_t_uint48_$returns$__$","typeString":"function (uint48,uint48)"}},"id":40396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12982:55:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40397,"nodeType":"EmitStatement","src":"12977:60:21"}]},"documentation":{"id":40371,"nodeType":"StructuredDocumentation","src":"12637:114:21","text":" @dev See {changeDefaultAdminDelay}.\n Internal function without access restriction."},"implemented":true,"kind":"function","modifiers":[],"name":"_changeDefaultAdminDelay","nameLocation":"12765:24:21","parameters":{"id":40374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40373,"mutability":"mutable","name":"newDelay","nameLocation":"12797:8:21","nodeType":"VariableDeclaration","scope":40399,"src":"12790:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":40372,"name":"uint48","nodeType":"ElementaryTypeName","src":"12790:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"12789:17:21"},"returnParameters":{"id":40375,"nodeType":"ParameterList","parameters":[],"src":"12824:0:21"},"scope":40572,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":40410,"nodeType":"FunctionDefinition","src":"13102:126:21","nodes":[],"body":{"id":40409,"nodeType":"Block","src":"13183:45:21","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":40406,"name":"_rollbackDefaultAdminDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40420,"src":"13193:26:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":40407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13193:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40408,"nodeType":"ExpressionStatement","src":"13193:28:21"}]},"baseFunctions":[41431],"documentation":{"id":40400,"nodeType":"StructuredDocumentation","src":"13050:47:21","text":"@inheritdoc IAccessControlDefaultAdminRules"},"functionSelector":"0aa6220b","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":40403,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39390,"src":"13163:18:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":40404,"kind":"modifierInvocation","modifierName":{"id":40402,"name":"onlyRole","nameLocations":["13154:8:21"],"nodeType":"IdentifierPath","referencedDeclaration":39419,"src":"13154:8:21"},"nodeType":"ModifierInvocation","src":"13154:28:21"}],"name":"rollbackDefaultAdminDelay","nameLocation":"13111:25:21","parameters":{"id":40401,"nodeType":"ParameterList","parameters":[],"src":"13136:2:21"},"returnParameters":{"id":40405,"nodeType":"ParameterList","parameters":[],"src":"13183:0:21"},"scope":40572,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":40420,"nodeType":"FunctionDefinition","src":"13355:94:21","nodes":[],"body":{"id":40419,"nodeType":"Block","src":"13410:39:21","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"30","id":40415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13437:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":40416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13440:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":40414,"name":"_setPendingDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40544,"src":"13420:16:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint48_$_t_uint48_$returns$__$","typeString":"function (uint48,uint48)"}},"id":40417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13420:22:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40418,"nodeType":"ExpressionStatement","src":"13420:22:21"}]},"documentation":{"id":40411,"nodeType":"StructuredDocumentation","src":"13234:116:21","text":" @dev See {rollbackDefaultAdminDelay}.\n Internal function without access restriction."},"implemented":true,"kind":"function","modifiers":[],"name":"_rollbackDefaultAdminDelay","nameLocation":"13364:26:21","parameters":{"id":40412,"nodeType":"ParameterList","parameters":[],"src":"13390:2:21"},"returnParameters":{"id":40413,"nodeType":"ParameterList","parameters":[],"src":"13410:0:21"},"scope":40572,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":40451,"nodeType":"FunctionDefinition","src":"13796:1249:21","nodes":[],"body":{"id":40450,"nodeType":"Block","src":"13878:1167:21","nodes":[],"statements":[{"assignments":[40429],"declarations":[{"constant":false,"id":40429,"mutability":"mutable","name":"currentDelay","nameLocation":"13895:12:21","nodeType":"VariableDeclaration","scope":40450,"src":"13888:19:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":40428,"name":"uint48","nodeType":"ElementaryTypeName","src":"13888:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":40432,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40430,"name":"defaultAdminDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40167,"src":"13910:17:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":40431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13910:19:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"13888:41:21"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint48","typeString":"uint48"},"id":40435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40433,"name":"newDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40423,"src":"14848:8:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":40434,"name":"currentDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40429,"src":"14859:12:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"14848:23:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint48","typeString":"uint48"},"id":40447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40445,"name":"currentDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40429,"src":"15015:12:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":40446,"name":"newDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40423,"src":"15030:8:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"15015:23:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"id":40448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"14848:190:21","trueExpression":{"arguments":[{"arguments":[{"id":40440,"name":"newDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40423,"src":"14906:8:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"arguments":[],"expression":{"argumentTypes":[],"id":40441,"name":"defaultAdminDelayIncreaseWait","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40214,"src":"14916:29:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":40442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14916:31:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":40438,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48420,"src":"14897:4:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$48420_$","typeString":"type(library Math)"}},"id":40439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14902:3:21","memberName":"min","nodeType":"MemberAccess","referencedDeclaration":47126,"src":"14897:8:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":40443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14897:51:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":40437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14890:6:21","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":40436,"name":"uint48","nodeType":"ElementaryTypeName","src":"14890:6:21","typeDescriptions":{}}},"id":40444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14890:59:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":40427,"id":40449,"nodeType":"Return","src":"14829:209:21"}]},"documentation":{"id":40421,"nodeType":"StructuredDocumentation","src":"13455:336:21","text":" @dev Returns the amount of seconds to wait after the `newDelay` will\n become the new {defaultAdminDelay}.\n The value returned guarantees that if the delay is reduced, it will go into effect\n after a wait that honors the previously set delay.\n See {defaultAdminDelayIncreaseWait}."},"implemented":true,"kind":"function","modifiers":[],"name":"_delayChangeWait","nameLocation":"13805:16:21","parameters":{"id":40424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40423,"mutability":"mutable","name":"newDelay","nameLocation":"13829:8:21","nodeType":"VariableDeclaration","scope":40451,"src":"13822:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":40422,"name":"uint48","nodeType":"ElementaryTypeName","src":"13822:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"13821:17:21"},"returnParameters":{"id":40427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40426,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40451,"src":"13870:6:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":40425,"name":"uint48","nodeType":"ElementaryTypeName","src":"13870:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"13869:8:21"},"scope":40572,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":40491,"nodeType":"FunctionDefinition","src":"15237:632:21","nodes":[],"body":{"id":40490,"nodeType":"Block","src":"15316:553:21","nodes":[],"statements":[{"assignments":[40461],"declarations":[{"constant":false,"id":40461,"mutability":"mutable","name":"$","nameLocation":"15372:1:21","nodeType":"VariableDeclaration","scope":40490,"src":"15326:47:21","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage"},"typeName":{"id":40460,"nodeType":"UserDefinedTypeName","pathNode":{"id":40459,"name":"AccessControlDefaultAdminRulesStorage","nameLocations":["15326:37:21"],"nodeType":"IdentifierPath","referencedDeclaration":39765,"src":"15326:37:21"},"referencedDeclaration":39765,"src":"15326:37:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage"}},"visibility":"internal"}],"id":40464,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40462,"name":"_getAccessControlDefaultAdminRulesStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39776,"src":"15376:41:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr_$","typeString":"function () pure returns (struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer)"}},"id":40463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15376:43:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15326:93:21"},{"assignments":[null,40466],"declarations":[null,{"constant":false,"id":40466,"mutability":"mutable","name":"oldSchedule","nameLocation":"15439:11:21","nodeType":"VariableDeclaration","scope":40490,"src":"15432:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":40465,"name":"uint48","nodeType":"ElementaryTypeName","src":"15432:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":40469,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40467,"name":"pendingDefaultAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40135,"src":"15454:19:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$_t_uint48_$","typeString":"function () view returns (address,uint48)"}},"id":40468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15454:21:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint48_$","typeString":"tuple(address,uint48)"}},"nodeType":"VariableDeclarationStatement","src":"15429:46:21"},{"expression":{"id":40474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":40470,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40461,"src":"15486:1:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"id":40472,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15488:20:21","memberName":"_pendingDefaultAdmin","nodeType":"MemberAccess","referencedDeclaration":39754,"src":"15486:22:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":40473,"name":"newAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40454,"src":"15511:8:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15486:33:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":40475,"nodeType":"ExpressionStatement","src":"15486:33:21"},{"expression":{"id":40480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":40476,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40461,"src":"15529:1:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"id":40478,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15531:28:21","memberName":"_pendingDefaultAdminSchedule","nodeType":"MemberAccess","referencedDeclaration":39756,"src":"15529:30:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":40479,"name":"newSchedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40456,"src":"15562:11:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"15529:44:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"id":40481,"nodeType":"ExpressionStatement","src":"15529:44:21"},{"condition":{"arguments":[{"id":40483,"name":"oldSchedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40466,"src":"15700:11:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":40482,"name":"_isScheduleSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40557,"src":"15685:14:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint48_$returns$_t_bool_$","typeString":"function (uint48) pure returns (bool)"}},"id":40484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15685:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40489,"nodeType":"IfStatement","src":"15681:182:21","trueBody":{"id":40488,"nodeType":"Block","src":"15714:149:21","statements":[{"eventCall":{"arguments":[],"expression":{"argumentTypes":[],"id":40485,"name":"DefaultAdminTransferCanceled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41369,"src":"15822:28:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$__$returns$__$","typeString":"function ()"}},"id":40486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15822:30:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40487,"nodeType":"EmitStatement","src":"15817:35:21"}]}}]},"documentation":{"id":40452,"nodeType":"StructuredDocumentation","src":"15092:140:21","text":" @dev Setter of the tuple for pending admin and its schedule.\n May emit a DefaultAdminTransferCanceled event."},"implemented":true,"kind":"function","modifiers":[],"name":"_setPendingDefaultAdmin","nameLocation":"15246:23:21","parameters":{"id":40457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40454,"mutability":"mutable","name":"newAdmin","nameLocation":"15278:8:21","nodeType":"VariableDeclaration","scope":40491,"src":"15270:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40453,"name":"address","nodeType":"ElementaryTypeName","src":"15270:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40456,"mutability":"mutable","name":"newSchedule","nameLocation":"15295:11:21","nodeType":"VariableDeclaration","scope":40491,"src":"15288:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":40455,"name":"uint48","nodeType":"ElementaryTypeName","src":"15288:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"15269:38:21"},"returnParameters":{"id":40458,"nodeType":"ParameterList","parameters":[],"src":"15316:0:21"},"scope":40572,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":40544,"nodeType":"FunctionDefinition","src":"16023:698:21","nodes":[],"body":{"id":40543,"nodeType":"Block","src":"16094:627:21","nodes":[],"statements":[{"assignments":[40501],"declarations":[{"constant":false,"id":40501,"mutability":"mutable","name":"$","nameLocation":"16150:1:21","nodeType":"VariableDeclaration","scope":40543,"src":"16104:47:21","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage"},"typeName":{"id":40500,"nodeType":"UserDefinedTypeName","pathNode":{"id":40499,"name":"AccessControlDefaultAdminRulesStorage","nameLocations":["16104:37:21"],"nodeType":"IdentifierPath","referencedDeclaration":39765,"src":"16104:37:21"},"referencedDeclaration":39765,"src":"16104:37:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage"}},"visibility":"internal"}],"id":40504,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40502,"name":"_getAccessControlDefaultAdminRulesStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39776,"src":"16154:41:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr_$","typeString":"function () pure returns (struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer)"}},"id":40503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16154:43:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"16104:93:21"},{"assignments":[40506],"declarations":[{"constant":false,"id":40506,"mutability":"mutable","name":"oldSchedule","nameLocation":"16214:11:21","nodeType":"VariableDeclaration","scope":40543,"src":"16207:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":40505,"name":"uint48","nodeType":"ElementaryTypeName","src":"16207:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"id":40509,"initialValue":{"expression":{"id":40507,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40501,"src":"16228:1:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"id":40508,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16230:21:21","memberName":"_pendingDelaySchedule","nodeType":"MemberAccess","referencedDeclaration":39764,"src":"16228:23:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"16207:44:21"},{"condition":{"arguments":[{"id":40511,"name":"oldSchedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40506,"src":"16281:11:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":40510,"name":"_isScheduleSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40557,"src":"16266:14:21","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint48_$returns$_t_bool_$","typeString":"function (uint48) pure returns (bool)"}},"id":40512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16266:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40530,"nodeType":"IfStatement","src":"16262:369:21","trueBody":{"id":40529,"nodeType":"Block","src":"16295:336:21","statements":[{"condition":{"arguments":[{"id":40514,"name":"oldSchedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40506,"src":"16332:11:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":40513,"name":"_hasSchedulePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40571,"src":"16313:18:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint48_$returns$_t_bool_$","typeString":"function (uint48) view returns (bool)"}},"id":40515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16313:31:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":40527,"nodeType":"Block","src":"16465:156:21","statements":[{"eventCall":{"arguments":[],"expression":{"argumentTypes":[],"id":40524,"name":"DefaultAdminDelayChangeCanceled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41379,"src":"16573:31:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$__$returns$__$","typeString":"function ()"}},"id":40525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16573:33:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40526,"nodeType":"EmitStatement","src":"16568:38:21"}]},"id":40528,"nodeType":"IfStatement","src":"16309:312:21","trueBody":{"id":40523,"nodeType":"Block","src":"16346:113:21","statements":[{"expression":{"id":40521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":40516,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40501,"src":"16411:1:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"id":40518,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16413:13:21","memberName":"_currentDelay","nodeType":"MemberAccess","referencedDeclaration":39758,"src":"16411:15:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":40519,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40501,"src":"16429:1:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"id":40520,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16431:13:21","memberName":"_pendingDelay","nodeType":"MemberAccess","referencedDeclaration":39762,"src":"16429:15:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"16411:33:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"id":40522,"nodeType":"ExpressionStatement","src":"16411:33:21"}]}}]}},{"expression":{"id":40535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":40531,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40501,"src":"16641:1:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"id":40533,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16643:13:21","memberName":"_pendingDelay","nodeType":"MemberAccess","referencedDeclaration":39762,"src":"16641:15:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":40534,"name":"newDelay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40494,"src":"16659:8:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"16641:26:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"id":40536,"nodeType":"ExpressionStatement","src":"16641:26:21"},{"expression":{"id":40541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":40537,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40501,"src":"16677:1:21","typeDescriptions":{"typeIdentifier":"t_struct$_AccessControlDefaultAdminRulesStorage_$39765_storage_ptr","typeString":"struct AccessControlDefaultAdminRulesUpgradeable.AccessControlDefaultAdminRulesStorage storage pointer"}},"id":40539,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16679:21:21","memberName":"_pendingDelaySchedule","nodeType":"MemberAccess","referencedDeclaration":39764,"src":"16677:23:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":40540,"name":"newSchedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40496,"src":"16703:11:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"16677:37:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"id":40542,"nodeType":"ExpressionStatement","src":"16677:37:21"}]},"documentation":{"id":40492,"nodeType":"StructuredDocumentation","src":"15875:143:21","text":" @dev Setter of the tuple for pending delay and its schedule.\n May emit a DefaultAdminDelayChangeCanceled event."},"implemented":true,"kind":"function","modifiers":[],"name":"_setPendingDelay","nameLocation":"16032:16:21","parameters":{"id":40497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40494,"mutability":"mutable","name":"newDelay","nameLocation":"16056:8:21","nodeType":"VariableDeclaration","scope":40544,"src":"16049:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":40493,"name":"uint48","nodeType":"ElementaryTypeName","src":"16049:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":40496,"mutability":"mutable","name":"newSchedule","nameLocation":"16073:11:21","nodeType":"VariableDeclaration","scope":40544,"src":"16066:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":40495,"name":"uint48","nodeType":"ElementaryTypeName","src":"16066:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"16048:37:21"},"returnParameters":{"id":40498,"nodeType":"ParameterList","parameters":[],"src":"16094:0:21"},"scope":40572,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":40557,"nodeType":"FunctionDefinition","src":"16866:106:21","nodes":[],"body":{"id":40556,"nodeType":"Block","src":"16935:37:21","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint48","typeString":"uint48"},"id":40554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40552,"name":"schedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40547,"src":"16952:8:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":40553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16964:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16952:13:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":40551,"id":40555,"nodeType":"Return","src":"16945:20:21"}]},"documentation":{"id":40545,"nodeType":"StructuredDocumentation","src":"16768:93:21","text":" @dev Defines if an `schedule` is considered set. For consistency purposes."},"implemented":true,"kind":"function","modifiers":[],"name":"_isScheduleSet","nameLocation":"16875:14:21","parameters":{"id":40548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40547,"mutability":"mutable","name":"schedule","nameLocation":"16897:8:21","nodeType":"VariableDeclaration","scope":40557,"src":"16890:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":40546,"name":"uint48","nodeType":"ElementaryTypeName","src":"16890:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"16889:17:21"},"returnParameters":{"id":40551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40550,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40557,"src":"16929:4:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40549,"name":"bool","nodeType":"ElementaryTypeName","src":"16929:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16928:6:21"},"scope":40572,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":40571,"nodeType":"FunctionDefinition","src":"17079:123:21","nodes":[],"body":{"id":40570,"nodeType":"Block","src":"17152:50:21","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40565,"name":"schedule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40560,"src":"17169:8:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":40566,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"17180:5:21","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":40567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17186:9:21","memberName":"timestamp","nodeType":"MemberAccess","src":"17180:15:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17169:26:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":40564,"id":40569,"nodeType":"Return","src":"17162:33:21"}]},"documentation":{"id":40558,"nodeType":"StructuredDocumentation","src":"16978:96:21","text":" @dev Defines if an `schedule` is considered passed. For consistency purposes."},"implemented":true,"kind":"function","modifiers":[],"name":"_hasSchedulePassed","nameLocation":"17088:18:21","parameters":{"id":40561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40560,"mutability":"mutable","name":"schedule","nameLocation":"17114:8:21","nodeType":"VariableDeclaration","scope":40571,"src":"17107:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":40559,"name":"uint48","nodeType":"ElementaryTypeName","src":"17107:6:21","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"17106:17:21"},"returnParameters":{"id":40564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40563,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40571,"src":"17146:4:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40562,"name":"bool","nodeType":"ElementaryTypeName","src":"17146:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17145:6:21"},"scope":40572,"stateMutability":"view","virtual":false,"visibility":"private"}],"abstract":true,"baseContracts":[{"baseName":{"id":39744,"name":"Initializable","nameLocations":["2183:13:21"],"nodeType":"IdentifierPath","referencedDeclaration":40840,"src":"2183:13:21"},"id":39745,"nodeType":"InheritanceSpecifier","src":"2183:13:21"},{"baseName":{"id":39746,"name":"IAccessControlDefaultAdminRules","nameLocations":["2198:31:21"],"nodeType":"IdentifierPath","referencedDeclaration":41438,"src":"2198:31:21"},"id":39747,"nodeType":"InheritanceSpecifier","src":"2198:31:21"},{"baseName":{"id":39748,"name":"IERC5313","nameLocations":["2231:8:21"],"nodeType":"IdentifierPath","referencedDeclaration":41559,"src":"2231:8:21"},"id":39749,"nodeType":"InheritanceSpecifier","src":"2231:8:21"},{"baseName":{"id":39750,"name":"AccessControlUpgradeable","nameLocations":["2241:24:21"],"nodeType":"IdentifierPath","referencedDeclaration":39724,"src":"2241:24:21"},"id":39751,"nodeType":"InheritanceSpecifier","src":"2241:24:21"}],"canonicalName":"AccessControlDefaultAdminRulesUpgradeable","contractDependencies":[],"contractKind":"contract","documentation":{"id":39743,"nodeType":"StructuredDocumentation","src":"808:1311:21","text":" @dev Extension of {AccessControl} that allows specifying special rules to manage\n the `DEFAULT_ADMIN_ROLE` holder, which is a sensitive role with special permissions\n over other roles that may potentially have privileged rights in the system.\n If a specific role doesn't have an admin role assigned, the holder of the\n `DEFAULT_ADMIN_ROLE` will have the ability to grant it and revoke it.\n This contract implements the following risk mitigations on top of {AccessControl}:\n * Only one account holds the `DEFAULT_ADMIN_ROLE` since deployment until it's potentially renounced.\n * Enforces a 2-step process to transfer the `DEFAULT_ADMIN_ROLE` to another account.\n * Enforces a configurable delay between the two steps, with the ability to cancel before the transfer is accepted.\n * The delay can be changed by scheduling, see {changeDefaultAdminDelay}.\n * Role transfers must wait at least one block after scheduling before it can be accepted.\n * It is not possible to use another role to manage the `DEFAULT_ADMIN_ROLE`.\n Example usage:\n ```solidity\n contract MyToken is AccessControlDefaultAdminRules {\n constructor() AccessControlDefaultAdminRules(\n 3 days,\n msg.sender // Explicit initial `DEFAULT_ADMIN_ROLE` holder\n ) {}\n }\n ```"},"fullyImplemented":true,"linearizedBaseContracts":[40572,39724,41108,46799,41559,41438,41191,41068,40840],"name":"AccessControlDefaultAdminRulesUpgradeable","nameLocation":"2138:41:21","scope":40573,"usedErrors":[40589,40592,41118,41121,41351,41354,41359,48430],"usedEvents":[40597,41130,41139,41148,41366,41369,41376,41379]}],"license":"MIT"}},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"id":22,"ast":{"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","id":40841,"exportedSymbols":{"Initializable":[40840]},"nodeType":"SourceUnit","src":"113:9166:22","nodes":[{"id":40574,"nodeType":"PragmaDirective","src":"113:24:22","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":40840,"nodeType":"ContractDefinition","src":"2349:6929:22","nodes":[{"id":40583,"nodeType":"StructDefinition","src":"2685:290:22","nodes":[],"canonicalName":"Initializable.InitializableStorage","documentation":{"id":40576,"nodeType":"StructuredDocumentation","src":"2387:293:22","text":" @dev Storage of the initializable contract.\n It's implemented on a custom ERC-7201 namespace to reduce the risk of storage collisions\n when using with upgradeable contracts.\n @custom:storage-location erc7201:openzeppelin.storage.Initializable"},"members":[{"constant":false,"id":40579,"mutability":"mutable","name":"_initialized","nameLocation":"2820:12:22","nodeType":"VariableDeclaration","scope":40583,"src":"2813:19:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":40578,"name":"uint64","nodeType":"ElementaryTypeName","src":"2813:6:22","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":40582,"mutability":"mutable","name":"_initializing","nameLocation":"2955:13:22","nodeType":"VariableDeclaration","scope":40583,"src":"2950:18:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40581,"name":"bool","nodeType":"ElementaryTypeName","src":"2950:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"InitializableStorage","nameLocation":"2692:20:22","scope":40840,"visibility":"public"},{"id":40586,"nodeType":"VariableDeclaration","src":"3098:115:22","nodes":[],"constant":true,"mutability":"constant","name":"INITIALIZABLE_STORAGE","nameLocation":"3123:21:22","scope":40840,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40584,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3098:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307866306335376531363834306466303430663135303838646332663831666533393163333932336265633733653233613936363265666339633232396336613030","id":40585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3147:66:22","typeDescriptions":{"typeIdentifier":"t_rational_108904022758810753673719992590105913556127789646572562039383141376366747609600_by_1","typeString":"int_const 1089...(70 digits omitted)...9600"},"value":"0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00"},"visibility":"private"},{"id":40589,"nodeType":"ErrorDefinition","src":"3285:30:22","nodes":[],"documentation":{"id":40587,"nodeType":"StructuredDocumentation","src":"3220:60:22","text":" @dev The contract is already initialized."},"errorSelector":"f92ee8a9","name":"InvalidInitialization","nameLocation":"3291:21:22","parameters":{"id":40588,"nodeType":"ParameterList","parameters":[],"src":"3312:2:22"}},{"id":40592,"nodeType":"ErrorDefinition","src":"3383:24:22","nodes":[],"documentation":{"id":40590,"nodeType":"StructuredDocumentation","src":"3321:57:22","text":" @dev The contract is not initializing."},"errorSelector":"d7e6bcf8","name":"NotInitializing","nameLocation":"3389:15:22","parameters":{"id":40591,"nodeType":"ParameterList","parameters":[],"src":"3404:2:22"}},{"id":40597,"nodeType":"EventDefinition","src":"3508:34:22","nodes":[],"anonymous":false,"documentation":{"id":40593,"nodeType":"StructuredDocumentation","src":"3413:90:22","text":" @dev Triggered when the contract has been initialized or reinitialized."},"eventSelector":"c7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2","name":"Initialized","nameLocation":"3514:11:22","parameters":{"id":40596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40595,"indexed":false,"mutability":"mutable","name":"version","nameLocation":"3533:7:22","nodeType":"VariableDeclaration","scope":40597,"src":"3526:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":40594,"name":"uint64","nodeType":"ElementaryTypeName","src":"3526:6:22","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"3525:16:22"}},{"id":40680,"nodeType":"ModifierDefinition","src":"4069:1102:22","nodes":[],"body":{"id":40679,"nodeType":"Block","src":"4092:1079:22","nodes":[],"statements":[{"assignments":[40602],"declarations":[{"constant":false,"id":40602,"mutability":"mutable","name":"$","nameLocation":"4187:1:22","nodeType":"VariableDeclaration","scope":40679,"src":"4158:30:22","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage"},"typeName":{"id":40601,"nodeType":"UserDefinedTypeName","pathNode":{"id":40600,"name":"InitializableStorage","nameLocations":["4158:20:22"],"nodeType":"IdentifierPath","referencedDeclaration":40583,"src":"4158:20:22"},"referencedDeclaration":40583,"src":"4158:20:22","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage"}},"visibility":"internal"}],"id":40605,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40603,"name":"_getInitializableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40839,"src":"4191:24:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_InitializableStorage_$40583_storage_ptr_$","typeString":"function () pure returns (struct Initializable.InitializableStorage storage pointer)"}},"id":40604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4191:26:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4158:59:22"},{"assignments":[40607],"declarations":[{"constant":false,"id":40607,"mutability":"mutable","name":"isTopLevelCall","nameLocation":"4284:14:22","nodeType":"VariableDeclaration","scope":40679,"src":"4279:19:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40606,"name":"bool","nodeType":"ElementaryTypeName","src":"4279:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":40611,"initialValue":{"id":40610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4301:16:22","subExpression":{"expression":{"id":40608,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40602,"src":"4302:1:22","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":40609,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4304:13:22","memberName":"_initializing","nodeType":"MemberAccess","referencedDeclaration":40582,"src":"4302:15:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"4279:38:22"},{"assignments":[40613],"declarations":[{"constant":false,"id":40613,"mutability":"mutable","name":"initialized","nameLocation":"4334:11:22","nodeType":"VariableDeclaration","scope":40679,"src":"4327:18:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":40612,"name":"uint64","nodeType":"ElementaryTypeName","src":"4327:6:22","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"id":40616,"initialValue":{"expression":{"id":40614,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40602,"src":"4348:1:22","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":40615,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4350:12:22","memberName":"_initialized","nodeType":"MemberAccess","referencedDeclaration":40579,"src":"4348:14:22","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"VariableDeclarationStatement","src":"4327:35:22"},{"assignments":[40618],"declarations":[{"constant":false,"id":40618,"mutability":"mutable","name":"initialSetup","nameLocation":"4709:12:22","nodeType":"VariableDeclaration","scope":40679,"src":"4704:17:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40617,"name":"bool","nodeType":"ElementaryTypeName","src":"4704:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":40624,"initialValue":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":40623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":40621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40619,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40613,"src":"4724:11:22","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":40620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4739:1:22","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4724:16:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":40622,"name":"isTopLevelCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40607,"src":"4744:14:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4724:34:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"4704:54:22"},{"assignments":[40626],"declarations":[{"constant":false,"id":40626,"mutability":"mutable","name":"construction","nameLocation":"4773:12:22","nodeType":"VariableDeclaration","scope":40679,"src":"4768:17:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40625,"name":"bool","nodeType":"ElementaryTypeName","src":"4768:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":40639,"initialValue":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":40638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":40629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40627,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40613,"src":"4788:11:22","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":40628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4803:1:22","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4788:16:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":40637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"arguments":[{"id":40632,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4816:4:22","typeDescriptions":{"typeIdentifier":"t_contract$_Initializable_$40840","typeString":"contract Initializable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Initializable_$40840","typeString":"contract Initializable"}],"id":40631,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4808:7:22","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40630,"name":"address","nodeType":"ElementaryTypeName","src":"4808:7:22","typeDescriptions":{}}},"id":40633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4808:13:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":40634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4822:4:22","memberName":"code","nodeType":"MemberAccess","src":"4808:18:22","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":40635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4827:6:22","memberName":"length","nodeType":"MemberAccess","src":"4808:25:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":40636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4837:1:22","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4808:30:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4788:50:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"4768:70:22"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":40644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4853:13:22","subExpression":{"id":40640,"name":"initialSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40618,"src":"4854:12:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":40643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4870:13:22","subExpression":{"id":40642,"name":"construction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40626,"src":"4871:12:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4853:30:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40649,"nodeType":"IfStatement","src":"4849:91:22","trueBody":{"id":40648,"nodeType":"Block","src":"4885:55:22","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":40645,"name":"InvalidInitialization","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40589,"src":"4906:21:22","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":40646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4906:23:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":40647,"nodeType":"RevertStatement","src":"4899:30:22"}]}},{"expression":{"id":40654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":40650,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40602,"src":"4949:1:22","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":40652,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4951:12:22","memberName":"_initialized","nodeType":"MemberAccess","referencedDeclaration":40579,"src":"4949:14:22","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"31","id":40653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4966:1:22","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4949:18:22","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":40655,"nodeType":"ExpressionStatement","src":"4949:18:22"},{"condition":{"id":40656,"name":"isTopLevelCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40607,"src":"4981:14:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40664,"nodeType":"IfStatement","src":"4977:67:22","trueBody":{"id":40663,"nodeType":"Block","src":"4997:47:22","statements":[{"expression":{"id":40661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":40657,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40602,"src":"5011:1:22","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":40659,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5013:13:22","memberName":"_initializing","nodeType":"MemberAccess","referencedDeclaration":40582,"src":"5011:15:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":40660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5029:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"5011:22:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40662,"nodeType":"ExpressionStatement","src":"5011:22:22"}]}},{"id":40665,"nodeType":"PlaceholderStatement","src":"5053:1:22"},{"condition":{"id":40666,"name":"isTopLevelCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40607,"src":"5068:14:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40678,"nodeType":"IfStatement","src":"5064:101:22","trueBody":{"id":40677,"nodeType":"Block","src":"5084:81:22","statements":[{"expression":{"id":40671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":40667,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40602,"src":"5098:1:22","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":40669,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5100:13:22","memberName":"_initializing","nodeType":"MemberAccess","referencedDeclaration":40582,"src":"5098:15:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":40670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5116:5:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"5098:23:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40672,"nodeType":"ExpressionStatement","src":"5098:23:22"},{"eventCall":{"arguments":[{"hexValue":"31","id":40674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5152:1:22","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":40673,"name":"Initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40597,"src":"5140:11:22","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint64_$returns$__$","typeString":"function (uint64)"}},"id":40675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5140:14:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40676,"nodeType":"EmitStatement","src":"5135:19:22"}]}}]},"documentation":{"id":40598,"nodeType":"StructuredDocumentation","src":"3548:516:22","text":" @dev A modifier that defines a protected initializer function that can be invoked at most once. In its scope,\n `onlyInitializing` functions can be used to initialize parent contracts.\n Similar to `reinitializer(1)`, except that in the context of a constructor an `initializer` may be invoked any\n number of times. This behavior in the constructor can be useful during testing and is not expected to be used in\n production.\n Emits an {Initialized} event."},"name":"initializer","nameLocation":"4078:11:22","parameters":{"id":40599,"nodeType":"ParameterList","parameters":[],"src":"4089:2:22"},"virtual":false,"visibility":"internal"},{"id":40727,"nodeType":"ModifierDefinition","src":"6250:431:22","nodes":[],"body":{"id":40726,"nodeType":"Block","src":"6289:392:22","nodes":[],"statements":[{"assignments":[40687],"declarations":[{"constant":false,"id":40687,"mutability":"mutable","name":"$","nameLocation":"6384:1:22","nodeType":"VariableDeclaration","scope":40726,"src":"6355:30:22","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage"},"typeName":{"id":40686,"nodeType":"UserDefinedTypeName","pathNode":{"id":40685,"name":"InitializableStorage","nameLocations":["6355:20:22"],"nodeType":"IdentifierPath","referencedDeclaration":40583,"src":"6355:20:22"},"referencedDeclaration":40583,"src":"6355:20:22","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage"}},"visibility":"internal"}],"id":40690,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40688,"name":"_getInitializableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40839,"src":"6388:24:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_InitializableStorage_$40583_storage_ptr_$","typeString":"function () pure returns (struct Initializable.InitializableStorage storage pointer)"}},"id":40689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6388:26:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"6355:59:22"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":40697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":40691,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40687,"src":"6429:1:22","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":40692,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6431:13:22","memberName":"_initializing","nodeType":"MemberAccess","referencedDeclaration":40582,"src":"6429:15:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":40696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":40693,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40687,"src":"6448:1:22","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":40694,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6450:12:22","memberName":"_initialized","nodeType":"MemberAccess","referencedDeclaration":40579,"src":"6448:14:22","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":40695,"name":"version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40683,"src":"6466:7:22","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"6448:25:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6429:44:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40702,"nodeType":"IfStatement","src":"6425:105:22","trueBody":{"id":40701,"nodeType":"Block","src":"6475:55:22","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":40698,"name":"InvalidInitialization","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40589,"src":"6496:21:22","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":40699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6496:23:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":40700,"nodeType":"RevertStatement","src":"6489:30:22"}]}},{"expression":{"id":40707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":40703,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40687,"src":"6539:1:22","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":40705,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6541:12:22","memberName":"_initialized","nodeType":"MemberAccess","referencedDeclaration":40579,"src":"6539:14:22","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":40706,"name":"version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40683,"src":"6556:7:22","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"6539:24:22","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":40708,"nodeType":"ExpressionStatement","src":"6539:24:22"},{"expression":{"id":40713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":40709,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40687,"src":"6573:1:22","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":40711,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6575:13:22","memberName":"_initializing","nodeType":"MemberAccess","referencedDeclaration":40582,"src":"6573:15:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":40712,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6591:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"6573:22:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40714,"nodeType":"ExpressionStatement","src":"6573:22:22"},{"id":40715,"nodeType":"PlaceholderStatement","src":"6605:1:22"},{"expression":{"id":40720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":40716,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40687,"src":"6616:1:22","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":40718,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6618:13:22","memberName":"_initializing","nodeType":"MemberAccess","referencedDeclaration":40582,"src":"6616:15:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":40719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6634:5:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"6616:23:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40721,"nodeType":"ExpressionStatement","src":"6616:23:22"},{"eventCall":{"arguments":[{"id":40723,"name":"version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40683,"src":"6666:7:22","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":40722,"name":"Initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40597,"src":"6654:11:22","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint64_$returns$__$","typeString":"function (uint64)"}},"id":40724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6654:20:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40725,"nodeType":"EmitStatement","src":"6649:25:22"}]},"documentation":{"id":40681,"nodeType":"StructuredDocumentation","src":"5177:1068:22","text":" @dev A modifier that defines a protected reinitializer function that can be invoked at most once, and only if the\n contract hasn't been initialized to a greater version before. In its scope, `onlyInitializing` functions can be\n used to initialize parent contracts.\n A reinitializer may be used after the original initialization step. This is essential to configure modules that\n are added through upgrades and that require initialization.\n When `version` is 1, this modifier is similar to `initializer`, except that functions marked with `reinitializer`\n cannot be nested. If one is invoked in the context of another, execution will revert.\n Note that versions can jump in increments greater than 1; this implies that if multiple reinitializers coexist in\n a contract, executing them in the right order is up to the developer or operator.\n WARNING: Setting the version to 2**64 - 1 will prevent any future reinitialization.\n Emits an {Initialized} event."},"name":"reinitializer","nameLocation":"6259:13:22","parameters":{"id":40684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40683,"mutability":"mutable","name":"version","nameLocation":"6280:7:22","nodeType":"VariableDeclaration","scope":40727,"src":"6273:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":40682,"name":"uint64","nodeType":"ElementaryTypeName","src":"6273:6:22","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"6272:16:22"},"virtual":false,"visibility":"internal"},{"id":40735,"nodeType":"ModifierDefinition","src":"6891:76:22","nodes":[],"body":{"id":40734,"nodeType":"Block","src":"6919:48:22","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":40730,"name":"_checkInitializing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40748,"src":"6929:18:22","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":40731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6929:20:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40732,"nodeType":"ExpressionStatement","src":"6929:20:22"},{"id":40733,"nodeType":"PlaceholderStatement","src":"6959:1:22"}]},"documentation":{"id":40728,"nodeType":"StructuredDocumentation","src":"6687:199:22","text":" @dev Modifier to protect an initialization function so that it can only be invoked by functions with the\n {initializer} and {reinitializer} modifiers, directly or indirectly."},"name":"onlyInitializing","nameLocation":"6900:16:22","parameters":{"id":40729,"nodeType":"ParameterList","parameters":[],"src":"6916:2:22"},"virtual":false,"visibility":"internal"},{"id":40748,"nodeType":"FunctionDefinition","src":"7082:141:22","nodes":[],"body":{"id":40747,"nodeType":"Block","src":"7134:89:22","nodes":[],"statements":[{"condition":{"id":40741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7148:18:22","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":40739,"name":"_isInitializing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40816,"src":"7149:15:22","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":40740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7149:17:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40746,"nodeType":"IfStatement","src":"7144:73:22","trueBody":{"id":40745,"nodeType":"Block","src":"7168:49:22","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":40742,"name":"NotInitializing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40592,"src":"7189:15:22","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":40743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7189:17:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":40744,"nodeType":"RevertStatement","src":"7182:24:22"}]}}]},"documentation":{"id":40736,"nodeType":"StructuredDocumentation","src":"6973:104:22","text":" @dev Reverts if the contract is not in an initializing state. See {onlyInitializing}."},"implemented":true,"kind":"function","modifiers":[],"name":"_checkInitializing","nameLocation":"7091:18:22","parameters":{"id":40737,"nodeType":"ParameterList","parameters":[],"src":"7109:2:22"},"returnParameters":{"id":40738,"nodeType":"ParameterList","parameters":[],"src":"7134:0:22"},"scope":40840,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":40794,"nodeType":"FunctionDefinition","src":"7709:422:22","nodes":[],"body":{"id":40793,"nodeType":"Block","src":"7758:373:22","nodes":[],"statements":[{"assignments":[40754],"declarations":[{"constant":false,"id":40754,"mutability":"mutable","name":"$","nameLocation":"7853:1:22","nodeType":"VariableDeclaration","scope":40793,"src":"7824:30:22","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage"},"typeName":{"id":40753,"nodeType":"UserDefinedTypeName","pathNode":{"id":40752,"name":"InitializableStorage","nameLocations":["7824:20:22"],"nodeType":"IdentifierPath","referencedDeclaration":40583,"src":"7824:20:22"},"referencedDeclaration":40583,"src":"7824:20:22","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage"}},"visibility":"internal"}],"id":40757,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40755,"name":"_getInitializableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40839,"src":"7857:24:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_InitializableStorage_$40583_storage_ptr_$","typeString":"function () pure returns (struct Initializable.InitializableStorage storage pointer)"}},"id":40756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7857:26:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"7824:59:22"},{"condition":{"expression":{"id":40758,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40754,"src":"7898:1:22","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":40759,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7900:13:22","memberName":"_initializing","nodeType":"MemberAccess","referencedDeclaration":40582,"src":"7898:15:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40764,"nodeType":"IfStatement","src":"7894:76:22","trueBody":{"id":40763,"nodeType":"Block","src":"7915:55:22","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":40760,"name":"InvalidInitialization","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40589,"src":"7936:21:22","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":40761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7936:23:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":40762,"nodeType":"RevertStatement","src":"7929:30:22"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":40772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":40765,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40754,"src":"7983:1:22","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":40766,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7985:12:22","memberName":"_initialized","nodeType":"MemberAccess","referencedDeclaration":40579,"src":"7983:14:22","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"arguments":[{"id":40769,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8006:6:22","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":40768,"name":"uint64","nodeType":"ElementaryTypeName","src":"8006:6:22","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"}],"id":40767,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8001:4:22","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":40770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8001:12:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint64","typeString":"type(uint64)"}},"id":40771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8014:3:22","memberName":"max","nodeType":"MemberAccess","src":"8001:16:22","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"7983:34:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40792,"nodeType":"IfStatement","src":"7979:146:22","trueBody":{"id":40791,"nodeType":"Block","src":"8019:106:22","statements":[{"expression":{"id":40781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":40773,"name":"$","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40754,"src":"8033:1:22","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":40775,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8035:12:22","memberName":"_initialized","nodeType":"MemberAccess","referencedDeclaration":40579,"src":"8033:14:22","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":40778,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8055:6:22","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":40777,"name":"uint64","nodeType":"ElementaryTypeName","src":"8055:6:22","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"}],"id":40776,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8050:4:22","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":40779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8050:12:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint64","typeString":"type(uint64)"}},"id":40780,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8063:3:22","memberName":"max","nodeType":"MemberAccess","src":"8050:16:22","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"8033:33:22","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":40782,"nodeType":"ExpressionStatement","src":"8033:33:22"},{"eventCall":{"arguments":[{"expression":{"arguments":[{"id":40786,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8102:6:22","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":40785,"name":"uint64","nodeType":"ElementaryTypeName","src":"8102:6:22","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"}],"id":40784,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8097:4:22","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":40787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8097:12:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint64","typeString":"type(uint64)"}},"id":40788,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8110:3:22","memberName":"max","nodeType":"MemberAccess","src":"8097:16:22","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":40783,"name":"Initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40597,"src":"8085:11:22","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint64_$returns$__$","typeString":"function (uint64)"}},"id":40789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8085:29:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40790,"nodeType":"EmitStatement","src":"8080:34:22"}]}}]},"documentation":{"id":40749,"nodeType":"StructuredDocumentation","src":"7229:475:22","text":" @dev Locks the contract, preventing any future reinitialization. This cannot be part of an initializer call.\n Calling this in the constructor of a contract will prevent that contract from being initialized or reinitialized\n to any version. It is recommended to use this to lock implementation contracts that are designed to be called\n through proxies.\n Emits an {Initialized} event the first time it is successfully executed."},"implemented":true,"kind":"function","modifiers":[],"name":"_disableInitializers","nameLocation":"7718:20:22","parameters":{"id":40750,"nodeType":"ParameterList","parameters":[],"src":"7738:2:22"},"returnParameters":{"id":40751,"nodeType":"ParameterList","parameters":[],"src":"7758:0:22"},"scope":40840,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":40805,"nodeType":"FunctionDefinition","src":"8241:128:22","nodes":[],"body":{"id":40804,"nodeType":"Block","src":"8306:63:22","nodes":[],"statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":40800,"name":"_getInitializableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40839,"src":"8323:24:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_InitializableStorage_$40583_storage_ptr_$","typeString":"function () pure returns (struct Initializable.InitializableStorage storage pointer)"}},"id":40801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8323:26:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":40802,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8350:12:22","memberName":"_initialized","nodeType":"MemberAccess","referencedDeclaration":40579,"src":"8323:39:22","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":40799,"id":40803,"nodeType":"Return","src":"8316:46:22"}]},"documentation":{"id":40795,"nodeType":"StructuredDocumentation","src":"8137:99:22","text":" @dev Returns the highest version that has been initialized. See {reinitializer}."},"implemented":true,"kind":"function","modifiers":[],"name":"_getInitializedVersion","nameLocation":"8250:22:22","parameters":{"id":40796,"nodeType":"ParameterList","parameters":[],"src":"8272:2:22"},"returnParameters":{"id":40799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40798,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40805,"src":"8298:6:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":40797,"name":"uint64","nodeType":"ElementaryTypeName","src":"8298:6:22","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"8297:8:22"},"scope":40840,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":40816,"nodeType":"FunctionDefinition","src":"8485:120:22","nodes":[],"body":{"id":40815,"nodeType":"Block","src":"8541:64:22","nodes":[],"statements":[{"expression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":40811,"name":"_getInitializableStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40839,"src":"8558:24:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_InitializableStorage_$40583_storage_ptr_$","typeString":"function () pure returns (struct Initializable.InitializableStorage storage pointer)"}},"id":40812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8558:26:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage storage pointer"}},"id":40813,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8585:13:22","memberName":"_initializing","nodeType":"MemberAccess","referencedDeclaration":40582,"src":"8558:40:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":40810,"id":40814,"nodeType":"Return","src":"8551:47:22"}]},"documentation":{"id":40806,"nodeType":"StructuredDocumentation","src":"8375:105:22","text":" @dev Returns `true` if the contract is currently initializing. See {onlyInitializing}."},"implemented":true,"kind":"function","modifiers":[],"name":"_isInitializing","nameLocation":"8494:15:22","parameters":{"id":40807,"nodeType":"ParameterList","parameters":[],"src":"8509:2:22"},"returnParameters":{"id":40810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40809,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40816,"src":"8535:4:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":40808,"name":"bool","nodeType":"ElementaryTypeName","src":"8535:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8534:6:22"},"scope":40840,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":40825,"nodeType":"FunctionDefinition","src":"8819:122:22","nodes":[],"body":{"id":40824,"nodeType":"Block","src":"8896:45:22","nodes":[],"statements":[{"expression":{"id":40822,"name":"INITIALIZABLE_STORAGE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40586,"src":"8913:21:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":40821,"id":40823,"nodeType":"Return","src":"8906:28:22"}]},"documentation":{"id":40817,"nodeType":"StructuredDocumentation","src":"8611:203:22","text":" @dev Pointer to storage slot. Allows integrators to override it with a custom storage location.\n NOTE: Consider following the ERC-7201 formula to derive storage locations."},"implemented":true,"kind":"function","modifiers":[],"name":"_initializableStorageSlot","nameLocation":"8828:25:22","parameters":{"id":40818,"nodeType":"ParameterList","parameters":[],"src":"8853:2:22"},"returnParameters":{"id":40821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40820,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40825,"src":"8887:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40819,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8887:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8886:9:22"},"scope":40840,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":40839,"nodeType":"FunctionDefinition","src":"9071:205:22","nodes":[],"body":{"id":40838,"nodeType":"Block","src":"9161:115:22","nodes":[],"statements":[{"assignments":[40833],"declarations":[{"constant":false,"id":40833,"mutability":"mutable","name":"slot","nameLocation":"9179:4:22","nodeType":"VariableDeclaration","scope":40838,"src":"9171:12:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40832,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9171:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":40836,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":40834,"name":"_initializableStorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40825,"src":"9186:25:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":40835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9186:27:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9171:42:22"},{"AST":{"nativeSrc":"9232:38:22","nodeType":"YulBlock","src":"9232:38:22","statements":[{"nativeSrc":"9246:14:22","nodeType":"YulAssignment","src":"9246:14:22","value":{"name":"slot","nativeSrc":"9256:4:22","nodeType":"YulIdentifier","src":"9256:4:22"},"variableNames":[{"name":"$.slot","nativeSrc":"9246:6:22","nodeType":"YulIdentifier","src":"9246:6:22"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":40830,"isOffset":false,"isSlot":true,"src":"9246:6:22","suffix":"slot","valueSize":1},{"declaration":40833,"isOffset":false,"isSlot":false,"src":"9256:4:22","valueSize":1}],"id":40837,"nodeType":"InlineAssembly","src":"9223:47:22"}]},"documentation":{"id":40826,"nodeType":"StructuredDocumentation","src":"8947:67:22","text":" @dev Returns a pointer to the storage namespace."},"implemented":true,"kind":"function","modifiers":[],"name":"_getInitializableStorage","nameLocation":"9080:24:22","parameters":{"id":40827,"nodeType":"ParameterList","parameters":[],"src":"9104:2:22"},"returnParameters":{"id":40831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40830,"mutability":"mutable","name":"$","nameLocation":"9158:1:22","nodeType":"VariableDeclaration","scope":40839,"src":"9129:30:22","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage"},"typeName":{"id":40829,"nodeType":"UserDefinedTypeName","pathNode":{"id":40828,"name":"InitializableStorage","nameLocations":["9129:20:22"],"nodeType":"IdentifierPath","referencedDeclaration":40583,"src":"9129:20:22"},"referencedDeclaration":40583,"src":"9129:20:22","typeDescriptions":{"typeIdentifier":"t_struct$_InitializableStorage_$40583_storage_ptr","typeString":"struct Initializable.InitializableStorage"}},"visibility":"internal"}],"src":"9128:32:22"},"scope":40840,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":true,"baseContracts":[],"canonicalName":"Initializable","contractDependencies":[],"contractKind":"contract","documentation":{"id":40575,"nodeType":"StructuredDocumentation","src":"139:2209:22","text":" @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed\n behind a proxy. Since proxied contracts do not make use of a constructor, it's common to move constructor logic to an\n external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer\n function so it can only be called once. The {initializer} modifier provided by this contract will have this effect.\n The initialization functions use a version number. Once a version number is used, it is consumed and cannot be\n reused. This mechanism prevents re-execution of each \"step\" but allows the creation of new initialization steps in\n case an upgrade adds a module that needs to be initialized.\n For example:\n [.hljs-theme-light.nopadding]\n ```solidity\n contract MyToken is ERC20Upgradeable {\n function initialize() initializer public {\n __ERC20_init(\"MyToken\", \"MTK\");\n }\n }\n contract MyTokenV2 is MyToken, ERC20PermitUpgradeable {\n function initializeV2() reinitializer(2) public {\n __ERC20Permit_init(\"MyToken\");\n }\n }\n ```\n TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as\n possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}.\n CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure\n that all initializers are idempotent. This is not verified automatically as constructors are by Solidity.\n [CAUTION]\n ====\n Avoid leaving a contract uninitialized.\n An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation\n contract, which may impact the proxy. To prevent the implementation contract from being used, you should invoke\n the {_disableInitializers} function in the constructor to automatically lock it when it is deployed:\n [.hljs-theme-light.nopadding]\n ```\n /// @custom:oz-upgrades-unsafe-allow constructor\n constructor() {\n _disableInitializers();\n }\n ```\n ===="},"fullyImplemented":true,"linearizedBaseContracts":[40840],"name":"Initializable","nameLocation":"2367:13:22","scope":40841,"usedErrors":[40589,40592],"usedEvents":[40597]}],"license":"MIT"}},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":{"id":23,"ast":{"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol","id":41023,"exportedSymbols":{"ERC1967Utils":[42079],"IERC1822Proxiable":[41569],"Initializable":[40840],"UUPSUpgradeable":[41022]},"nodeType":"SourceUnit","src":"115:6458:23","nodes":[{"id":40842,"nodeType":"PragmaDirective","src":"115:24:23","nodes":[],"literals":["solidity","^","0.8",".22"]},{"id":40844,"nodeType":"ImportDirective","src":"141:88:23","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol","file":"@openzeppelin/contracts/interfaces/draft-IERC1822.sol","nameLocation":"-1:-1:-1","scope":41023,"sourceUnit":41570,"symbolAliases":[{"foreign":{"id":40843,"name":"IERC1822Proxiable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41569,"src":"149:17:23","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":40846,"nodeType":"ImportDirective","src":"230:84:23","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","nameLocation":"-1:-1:-1","scope":41023,"sourceUnit":42080,"symbolAliases":[{"foreign":{"id":40845,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42079,"src":"238:12:23","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":40848,"nodeType":"ImportDirective","src":"315:50:23","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"./Initializable.sol","nameLocation":"-1:-1:-1","scope":41023,"sourceUnit":40841,"symbolAliases":[{"foreign":{"id":40847,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40840,"src":"323:13:23","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41022,"nodeType":"ContractDefinition","src":"986:5586:23","nodes":[{"id":40860,"nodeType":"VariableDeclaration","src":"1128:48:23","nodes":[],"constant":false,"documentation":{"id":40854,"nodeType":"StructuredDocumentation","src":"1062:61:23","text":"@custom:oz-upgrades-unsafe-allow state-variable-immutable"},"mutability":"immutable","name":"__self","nameLocation":"1154:6:23","scope":41022,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40855,"name":"address","nodeType":"ElementaryTypeName","src":"1128:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"id":40858,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1171:4:23","typeDescriptions":{"typeIdentifier":"t_contract$_UUPSUpgradeable_$41022","typeString":"contract UUPSUpgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_UUPSUpgradeable_$41022","typeString":"contract UUPSUpgradeable"}],"id":40857,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1163:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40856,"name":"address","nodeType":"ElementaryTypeName","src":"1163:7:23","typeDescriptions":{}}},"id":40859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1163:13:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"id":40864,"nodeType":"VariableDeclaration","src":"1819:58:23","nodes":[],"constant":true,"documentation":{"id":40861,"nodeType":"StructuredDocumentation","src":"1183:631:23","text":" @dev The version of the upgrade interface of the contract. If this getter is missing, both `upgradeTo(address)`\n and `upgradeToAndCall(address,bytes)` are present, and `upgradeTo` must be used if no function should be called,\n while `upgradeToAndCall` will invoke the `receive` function if the second argument is the empty byte string.\n If the getter returns `\"5.0.0\"`, only `upgradeToAndCall(address,bytes)` is present, and the second argument must\n be the empty byte string if no function should be called, making it impossible to invoke the `receive` function\n during an upgrade."},"functionSelector":"ad3cb1cc","mutability":"constant","name":"UPGRADE_INTERFACE_VERSION","nameLocation":"1842:25:23","scope":41022,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":40862,"name":"string","nodeType":"ElementaryTypeName","src":"1819:6:23","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"352e302e30","id":40863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1870:7:23","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ade050ecfcf8ae20ae1d10a23573f9d7e0bad85e74a2cf8338a65401e64558c","typeString":"literal_string \"5.0.0\""},"value":"5.0.0"},"visibility":"public"},{"id":40867,"nodeType":"ErrorDefinition","src":"1954:36:23","nodes":[],"documentation":{"id":40865,"nodeType":"StructuredDocumentation","src":"1884:65:23","text":" @dev The call is from an unauthorized context."},"errorSelector":"e07c8dba","name":"UUPSUnauthorizedCallContext","nameLocation":"1960:27:23","parameters":{"id":40866,"nodeType":"ParameterList","parameters":[],"src":"1987:2:23"}},{"id":40872,"nodeType":"ErrorDefinition","src":"2069:49:23","nodes":[],"documentation":{"id":40868,"nodeType":"StructuredDocumentation","src":"1996:68:23","text":" @dev The storage `slot` is unsupported as a UUID."},"errorSelector":"aa1d49a4","name":"UUPSUnsupportedProxiableUUID","nameLocation":"2075:28:23","parameters":{"id":40871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40870,"mutability":"mutable","name":"slot","nameLocation":"2112:4:23","nodeType":"VariableDeclaration","scope":40872,"src":"2104:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40869,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2104:7:23","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2103:14:23"}},{"id":40880,"nodeType":"ModifierDefinition","src":"2624:62:23","nodes":[],"body":{"id":40879,"nodeType":"Block","src":"2645:41:23","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":40875,"name":"_checkProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40954,"src":"2655:11:23","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":40876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2655:13:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40877,"nodeType":"ExpressionStatement","src":"2655:13:23"},{"id":40878,"nodeType":"PlaceholderStatement","src":"2678:1:23"}]},"documentation":{"id":40873,"nodeType":"StructuredDocumentation","src":"2124:495:23","text":" @dev Check that the execution is being performed through a delegatecall call and that the execution context is\n a proxy contract with an implementation (as defined in ERC-1967) pointing to self. This should only be the case\n for UUPS and transparent proxies that are using the current contract as their implementation. Execution of a\n function through ERC-1167 minimal proxies (clones) would not normally pass this test, but is not guaranteed to\n fail."},"name":"onlyProxy","nameLocation":"2633:9:23","parameters":{"id":40874,"nodeType":"ParameterList","parameters":[],"src":"2642:2:23"},"virtual":false,"visibility":"internal"},{"id":40888,"nodeType":"ModifierDefinition","src":"2892:72:23","nodes":[],"body":{"id":40887,"nodeType":"Block","src":"2916:48:23","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":40883,"name":"_checkNotDelegated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40970,"src":"2926:18:23","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":40884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2926:20:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40885,"nodeType":"ExpressionStatement","src":"2926:20:23"},{"id":40886,"nodeType":"PlaceholderStatement","src":"2956:1:23"}]},"documentation":{"id":40881,"nodeType":"StructuredDocumentation","src":"2692:195:23","text":" @dev Check that the execution is not being performed through a delegate call. This allows a function to be\n callable on the implementing contract but not through proxies."},"name":"notDelegated","nameLocation":"2901:12:23","parameters":{"id":40882,"nodeType":"ParameterList","parameters":[],"src":"2913:2:23"},"virtual":false,"visibility":"internal"},{"id":40894,"nodeType":"FunctionDefinition","src":"2970:67:23","nodes":[],"body":{"id":40893,"nodeType":"Block","src":"3030:7:23","nodes":[],"statements":[]},"implemented":true,"kind":"function","modifiers":[{"id":40891,"kind":"modifierInvocation","modifierName":{"id":40890,"name":"onlyInitializing","nameLocations":["3013:16:23"],"nodeType":"IdentifierPath","referencedDeclaration":40735,"src":"3013:16:23"},"nodeType":"ModifierInvocation","src":"3013:16:23"}],"name":"__UUPSUpgradeable_init","nameLocation":"2979:22:23","parameters":{"id":40889,"nodeType":"ParameterList","parameters":[],"src":"3001:2:23"},"returnParameters":{"id":40892,"nodeType":"ParameterList","parameters":[],"src":"3030:0:23"},"scope":41022,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":40900,"nodeType":"FunctionDefinition","src":"3043:77:23","nodes":[],"body":{"id":40899,"nodeType":"Block","src":"3113:7:23","nodes":[],"statements":[]},"implemented":true,"kind":"function","modifiers":[{"id":40897,"kind":"modifierInvocation","modifierName":{"id":40896,"name":"onlyInitializing","nameLocations":["3096:16:23"],"nodeType":"IdentifierPath","referencedDeclaration":40735,"src":"3096:16:23"},"nodeType":"ModifierInvocation","src":"3096:16:23"}],"name":"__UUPSUpgradeable_init_unchained","nameLocation":"3052:32:23","parameters":{"id":40895,"nodeType":"ParameterList","parameters":[],"src":"3084:2:23"},"returnParameters":{"id":40898,"nodeType":"ParameterList","parameters":[],"src":"3113:0:23"},"scope":41022,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":40912,"nodeType":"FunctionDefinition","src":"3708:134:23","nodes":[],"body":{"id":40911,"nodeType":"Block","src":"3786:56:23","nodes":[],"statements":[{"expression":{"expression":{"id":40908,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42079,"src":"3803:12:23","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC1967Utils_$42079_$","typeString":"type(library ERC1967Utils)"}},"id":40909,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3816:19:23","memberName":"IMPLEMENTATION_SLOT","nodeType":"MemberAccess","referencedDeclaration":41800,"src":"3803:32:23","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":40907,"id":40910,"nodeType":"Return","src":"3796:39:23"}]},"baseFunctions":[41568],"documentation":{"id":40901,"nodeType":"StructuredDocumentation","src":"3125:578:23","text":" @dev Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the\n implementation. It is used to validate the implementation's compatibility when performing an upgrade.\n IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"functionSelector":"52d1902d","implemented":true,"kind":"function","modifiers":[{"id":40904,"kind":"modifierInvocation","modifierName":{"id":40903,"name":"notDelegated","nameLocations":["3755:12:23"],"nodeType":"IdentifierPath","referencedDeclaration":40888,"src":"3755:12:23"},"nodeType":"ModifierInvocation","src":"3755:12:23"}],"name":"proxiableUUID","nameLocation":"3717:13:23","parameters":{"id":40902,"nodeType":"ParameterList","parameters":[],"src":"3730:2:23"},"returnParameters":{"id":40907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40906,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40912,"src":"3777:7:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40905,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3777:7:23","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3776:9:23"},"scope":41022,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":40932,"nodeType":"FunctionDefinition","src":"4161:214:23","nodes":[],"body":{"id":40931,"nodeType":"Block","src":"4266:109:23","nodes":[],"statements":[{"expression":{"arguments":[{"id":40923,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40915,"src":"4294:17:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":40922,"name":"_authorizeUpgrade","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40976,"src":"4276:17:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":40924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4276:36:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40925,"nodeType":"ExpressionStatement","src":"4276:36:23"},{"expression":{"arguments":[{"id":40927,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40915,"src":"4344:17:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":40928,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40917,"src":"4363:4:23","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":40926,"name":"_upgradeToAndCallUUPS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41021,"src":"4322:21:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory)"}},"id":40929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4322:46:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40930,"nodeType":"ExpressionStatement","src":"4322:46:23"}]},"documentation":{"id":40913,"nodeType":"StructuredDocumentation","src":"3848:308:23","text":" @dev Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call\n encoded in `data`.\n Calls {_authorizeUpgrade}.\n Emits an {Upgraded} event.\n @custom:oz-upgrades-unsafe-allow-reachable delegatecall"},"functionSelector":"4f1ef286","implemented":true,"kind":"function","modifiers":[{"id":40920,"kind":"modifierInvocation","modifierName":{"id":40919,"name":"onlyProxy","nameLocations":["4256:9:23"],"nodeType":"IdentifierPath","referencedDeclaration":40880,"src":"4256:9:23"},"nodeType":"ModifierInvocation","src":"4256:9:23"}],"name":"upgradeToAndCall","nameLocation":"4170:16:23","parameters":{"id":40918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40915,"mutability":"mutable","name":"newImplementation","nameLocation":"4195:17:23","nodeType":"VariableDeclaration","scope":40932,"src":"4187:25:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40914,"name":"address","nodeType":"ElementaryTypeName","src":"4187:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40917,"mutability":"mutable","name":"data","nameLocation":"4227:4:23","nodeType":"VariableDeclaration","scope":40932,"src":"4214:17:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":40916,"name":"bytes","nodeType":"ElementaryTypeName","src":"4214:5:23","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4186:46:23"},"returnParameters":{"id":40921,"nodeType":"ParameterList","parameters":[],"src":"4266:0:23"},"scope":41022,"stateMutability":"payable","virtual":true,"visibility":"public"},{"id":40954,"nodeType":"FunctionDefinition","src":"4578:312:23","nodes":[],"body":{"id":40953,"nodeType":"Block","src":"4623:267:23","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":40947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":40941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":40938,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4658:4:23","typeDescriptions":{"typeIdentifier":"t_contract$_UUPSUpgradeable_$41022","typeString":"contract UUPSUpgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_UUPSUpgradeable_$41022","typeString":"contract UUPSUpgradeable"}],"id":40937,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4650:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40936,"name":"address","nodeType":"ElementaryTypeName","src":"4650:7:23","typeDescriptions":{}}},"id":40939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4650:13:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":40940,"name":"__self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40860,"src":"4667:6:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4650:23:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":40946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":40942,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42079,"src":"4728:12:23","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC1967Utils_$42079_$","typeString":"type(library ERC1967Utils)"}},"id":40943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4741:17:23","memberName":"getImplementation","nodeType":"MemberAccess","referencedDeclaration":41831,"src":"4728:30:23","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":40944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4728:32:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":40945,"name":"__self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40860,"src":"4764:6:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4728:42:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4650:120:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40952,"nodeType":"IfStatement","src":"4633:251:23","trueBody":{"id":40951,"nodeType":"Block","src":"4823:61:23","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":40948,"name":"UUPSUnauthorizedCallContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40867,"src":"4844:27:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":40949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4844:29:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":40950,"nodeType":"RevertStatement","src":"4837:36:23"}]}}]},"documentation":{"id":40933,"nodeType":"StructuredDocumentation","src":"4381:192:23","text":" @dev Reverts if the execution is not performed via delegatecall or the execution\n context is not of a proxy with an ERC-1967 compliant implementation pointing to self."},"implemented":true,"kind":"function","modifiers":[],"name":"_checkProxy","nameLocation":"4587:11:23","parameters":{"id":40934,"nodeType":"ParameterList","parameters":[],"src":"4598:2:23"},"returnParameters":{"id":40935,"nodeType":"ParameterList","parameters":[],"src":"4623:0:23"},"scope":41022,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":40970,"nodeType":"FunctionDefinition","src":"5007:213:23","nodes":[],"body":{"id":40969,"nodeType":"Block","src":"5059:161:23","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":40963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":40960,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5081:4:23","typeDescriptions":{"typeIdentifier":"t_contract$_UUPSUpgradeable_$41022","typeString":"contract UUPSUpgradeable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_UUPSUpgradeable_$41022","typeString":"contract UUPSUpgradeable"}],"id":40959,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5073:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":40958,"name":"address","nodeType":"ElementaryTypeName","src":"5073:7:23","typeDescriptions":{}}},"id":40961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5073:13:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":40962,"name":"__self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40860,"src":"5090:6:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5073:23:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":40968,"nodeType":"IfStatement","src":"5069:145:23","trueBody":{"id":40967,"nodeType":"Block","src":"5098:116:23","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":40964,"name":"UUPSUnauthorizedCallContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40867,"src":"5174:27:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":40965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5174:29:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":40966,"nodeType":"RevertStatement","src":"5167:36:23"}]}}]},"documentation":{"id":40955,"nodeType":"StructuredDocumentation","src":"4896:106:23","text":" @dev Reverts if the execution is performed via delegatecall.\n See {notDelegated}."},"implemented":true,"kind":"function","modifiers":[],"name":"_checkNotDelegated","nameLocation":"5016:18:23","parameters":{"id":40956,"nodeType":"ParameterList","parameters":[],"src":"5034:2:23"},"returnParameters":{"id":40957,"nodeType":"ParameterList","parameters":[],"src":"5059:0:23"},"scope":41022,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":40976,"nodeType":"FunctionDefinition","src":"5603:71:23","nodes":[],"documentation":{"id":40971,"nodeType":"StructuredDocumentation","src":"5226:372:23","text":" @dev Function that should revert when `msg.sender` is not authorized to upgrade the contract. Called by\n {upgradeToAndCall}.\n Normally, this function will use an xref:access.adoc[access control] modifier such as {Ownable-onlyOwner}.\n ```solidity\n function _authorizeUpgrade(address) internal onlyOwner {}\n ```"},"implemented":false,"kind":"function","modifiers":[],"name":"_authorizeUpgrade","nameLocation":"5612:17:23","parameters":{"id":40974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40973,"mutability":"mutable","name":"newImplementation","nameLocation":"5638:17:23","nodeType":"VariableDeclaration","scope":40976,"src":"5630:25:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40972,"name":"address","nodeType":"ElementaryTypeName","src":"5630:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5629:27:23"},"returnParameters":{"id":40975,"nodeType":"ParameterList","parameters":[],"src":"5673:0:23"},"scope":41022,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":41021,"nodeType":"FunctionDefinition","src":"6032:538:23","nodes":[],"body":{"id":41020,"nodeType":"Block","src":"6117:453:23","nodes":[],"statements":[{"clauses":[{"block":{"id":41009,"nodeType":"Block","src":"6207:212:23","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":40995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":40992,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40990,"src":"6225:4:23","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":40993,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42079,"src":"6233:12:23","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC1967Utils_$42079_$","typeString":"type(library ERC1967Utils)"}},"id":40994,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6246:19:23","memberName":"IMPLEMENTATION_SLOT","nodeType":"MemberAccess","referencedDeclaration":41800,"src":"6233:32:23","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6225:40:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41001,"nodeType":"IfStatement","src":"6221:120:23","trueBody":{"id":41000,"nodeType":"Block","src":"6267:74:23","statements":[{"errorCall":{"arguments":[{"id":40997,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40990,"src":"6321:4:23","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":40996,"name":"UUPSUnsupportedProxiableUUID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40872,"src":"6292:28:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes32_$returns$_t_error_$","typeString":"function (bytes32) pure returns (error)"}},"id":40998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6292:34:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":40999,"nodeType":"RevertStatement","src":"6285:41:23"}]}},{"expression":{"arguments":[{"id":41005,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40979,"src":"6384:17:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41006,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40981,"src":"6403:4:23","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":41002,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42079,"src":"6354:12:23","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC1967Utils_$42079_$","typeString":"type(library ERC1967Utils)"}},"id":41004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6367:16:23","memberName":"upgradeToAndCall","nodeType":"MemberAccess","referencedDeclaration":41894,"src":"6354:29:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory)"}},"id":41007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6354:54:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41008,"nodeType":"ExpressionStatement","src":"6354:54:23"}]},"errorName":"","id":41010,"nodeType":"TryCatchClause","parameters":{"id":40991,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40990,"mutability":"mutable","name":"slot","nameLocation":"6201:4:23","nodeType":"VariableDeclaration","scope":41010,"src":"6193:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":40989,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6193:7:23","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6192:14:23"},"src":"6184:235:23"},{"block":{"id":41017,"nodeType":"Block","src":"6426:138:23","statements":[{"errorCall":{"arguments":[{"id":41014,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40979,"src":"6535:17:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":41011,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42079,"src":"6493:12:23","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC1967Utils_$42079_$","typeString":"type(library ERC1967Utils)"}},"id":41013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6506:28:23","memberName":"ERC1967InvalidImplementation","nodeType":"MemberAccess","referencedDeclaration":41805,"src":"6493:41:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":41015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6493:60:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":41016,"nodeType":"RevertStatement","src":"6486:67:23"}]},"errorName":"","id":41018,"nodeType":"TryCatchClause","src":"6420:144:23"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":40985,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40979,"src":"6149:17:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":40984,"name":"IERC1822Proxiable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41569,"src":"6131:17:23","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1822Proxiable_$41569_$","typeString":"type(contract IERC1822Proxiable)"}},"id":40986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6131:36:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC1822Proxiable_$41569","typeString":"contract IERC1822Proxiable"}},"id":40987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6168:13:23","memberName":"proxiableUUID","nodeType":"MemberAccess","referencedDeclaration":41568,"src":"6131:50:23","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":40988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6131:52:23","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":41019,"nodeType":"TryStatement","src":"6127:437:23"}]},"documentation":{"id":40977,"nodeType":"StructuredDocumentation","src":"5680:347:23","text":" @dev Performs an implementation upgrade with a security check for UUPS proxies, and additional setup call.\n As a security check, {proxiableUUID} is invoked in the new implementation, and the return value\n is expected to be the implementation slot in ERC-1967.\n Emits an {IERC1967-Upgraded} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_upgradeToAndCallUUPS","nameLocation":"6041:21:23","parameters":{"id":40982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40979,"mutability":"mutable","name":"newImplementation","nameLocation":"6071:17:23","nodeType":"VariableDeclaration","scope":41021,"src":"6063:25:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40978,"name":"address","nodeType":"ElementaryTypeName","src":"6063:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":40981,"mutability":"mutable","name":"data","nameLocation":"6103:4:23","nodeType":"VariableDeclaration","scope":41021,"src":"6090:17:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":40980,"name":"bytes","nodeType":"ElementaryTypeName","src":"6090:5:23","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6062:46:23"},"returnParameters":{"id":40983,"nodeType":"ParameterList","parameters":[],"src":"6117:0:23"},"scope":41022,"stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"abstract":true,"baseContracts":[{"baseName":{"id":40850,"name":"Initializable","nameLocations":["1023:13:23"],"nodeType":"IdentifierPath","referencedDeclaration":40840,"src":"1023:13:23"},"id":40851,"nodeType":"InheritanceSpecifier","src":"1023:13:23"},{"baseName":{"id":40852,"name":"IERC1822Proxiable","nameLocations":["1038:17:23"],"nodeType":"IdentifierPath","referencedDeclaration":41569,"src":"1038:17:23"},"id":40853,"nodeType":"InheritanceSpecifier","src":"1038:17:23"}],"canonicalName":"UUPSUpgradeable","contractDependencies":[],"contractKind":"contract","documentation":{"id":40849,"nodeType":"StructuredDocumentation","src":"367:618:23","text":" @dev An upgradeability mechanism designed for UUPS proxies. The functions included here can perform an upgrade of an\n {ERC1967Proxy}, when this contract is set as the implementation behind such a proxy.\n A security mechanism ensures that an upgrade does not turn off upgradeability accidentally, although this risk is\n reinstated if the upgrade retains upgradeability but removes the security mechanism, e.g. by replacing\n `UUPSUpgradeable` with a custom implementation of upgrades.\n The {_authorizeUpgrade} function must be overridden to include access restriction to the upgrade mechanism."},"fullyImplemented":false,"linearizedBaseContracts":[41022,41569,40840],"name":"UUPSUpgradeable","nameLocation":"1004:15:23","scope":41023,"usedErrors":[40589,40592,40867,40872,41805,41818,43548,44851],"usedEvents":[40597,41532]}],"license":"MIT"}},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"id":24,"ast":{"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol","id":41069,"exportedSymbols":{"ContextUpgradeable":[41068],"Initializable":[40840]},"nodeType":"SourceUnit","src":"101:1093:24","nodes":[{"id":41024,"nodeType":"PragmaDirective","src":"101:24:24","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":41026,"nodeType":"ImportDirective","src":"126:63:24","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"../proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":41069,"sourceUnit":40841,"symbolAliases":[{"foreign":{"id":41025,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40840,"src":"134:13:24","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41068,"nodeType":"ContractDefinition","src":"688:505:24","nodes":[{"id":41035,"nodeType":"FunctionDefinition","src":"748:59:24","nodes":[],"body":{"id":41034,"nodeType":"Block","src":"800:7:24","nodes":[],"statements":[]},"implemented":true,"kind":"function","modifiers":[{"id":41032,"kind":"modifierInvocation","modifierName":{"id":41031,"name":"onlyInitializing","nameLocations":["783:16:24"],"nodeType":"IdentifierPath","referencedDeclaration":40735,"src":"783:16:24"},"nodeType":"ModifierInvocation","src":"783:16:24"}],"name":"__Context_init","nameLocation":"757:14:24","parameters":{"id":41030,"nodeType":"ParameterList","parameters":[],"src":"771:2:24"},"returnParameters":{"id":41033,"nodeType":"ParameterList","parameters":[],"src":"800:0:24"},"scope":41068,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":41041,"nodeType":"FunctionDefinition","src":"813:69:24","nodes":[],"body":{"id":41040,"nodeType":"Block","src":"875:7:24","nodes":[],"statements":[]},"implemented":true,"kind":"function","modifiers":[{"id":41038,"kind":"modifierInvocation","modifierName":{"id":41037,"name":"onlyInitializing","nameLocations":["858:16:24"],"nodeType":"IdentifierPath","referencedDeclaration":40735,"src":"858:16:24"},"nodeType":"ModifierInvocation","src":"858:16:24"}],"name":"__Context_init_unchained","nameLocation":"822:24:24","parameters":{"id":41036,"nodeType":"ParameterList","parameters":[],"src":"846:2:24"},"returnParameters":{"id":41039,"nodeType":"ParameterList","parameters":[],"src":"875:0:24"},"scope":41068,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":41050,"nodeType":"FunctionDefinition","src":"887:96:24","nodes":[],"body":{"id":41049,"nodeType":"Block","src":"949:34:24","nodes":[],"statements":[{"expression":{"expression":{"id":41046,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"966:3:24","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":41047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"970:6:24","memberName":"sender","nodeType":"MemberAccess","src":"966:10:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":41045,"id":41048,"nodeType":"Return","src":"959:17:24"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_msgSender","nameLocation":"896:10:24","parameters":{"id":41042,"nodeType":"ParameterList","parameters":[],"src":"906:2:24"},"returnParameters":{"id":41045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41044,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41050,"src":"940:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41043,"name":"address","nodeType":"ElementaryTypeName","src":"940:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"939:9:24"},"scope":41068,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":41059,"nodeType":"FunctionDefinition","src":"989:99:24","nodes":[],"body":{"id":41058,"nodeType":"Block","src":"1056:32:24","nodes":[],"statements":[{"expression":{"expression":{"id":41055,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1073:3:24","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":41056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1077:4:24","memberName":"data","nodeType":"MemberAccess","src":"1073:8:24","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"functionReturnParameters":41054,"id":41057,"nodeType":"Return","src":"1066:15:24"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_msgData","nameLocation":"998:8:24","parameters":{"id":41051,"nodeType":"ParameterList","parameters":[],"src":"1006:2:24"},"returnParameters":{"id":41054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41053,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41059,"src":"1040:14:24","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":41052,"name":"bytes","nodeType":"ElementaryTypeName","src":"1040:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1039:16:24"},"scope":41068,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":41067,"nodeType":"FunctionDefinition","src":"1094:97:24","nodes":[],"body":{"id":41066,"nodeType":"Block","src":"1166:25:24","nodes":[],"statements":[{"expression":{"hexValue":"30","id":41064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1183:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":41063,"id":41065,"nodeType":"Return","src":"1176:8:24"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_contextSuffixLength","nameLocation":"1103:20:24","parameters":{"id":41060,"nodeType":"ParameterList","parameters":[],"src":"1123:2:24"},"returnParameters":{"id":41063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41062,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41067,"src":"1157:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41061,"name":"uint256","nodeType":"ElementaryTypeName","src":"1157:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1156:9:24"},"scope":41068,"stateMutability":"view","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":41028,"name":"Initializable","nameLocations":["728:13:24"],"nodeType":"IdentifierPath","referencedDeclaration":40840,"src":"728:13:24"},"id":41029,"nodeType":"InheritanceSpecifier","src":"728:13:24"}],"canonicalName":"ContextUpgradeable","contractDependencies":[],"contractKind":"contract","documentation":{"id":41027,"nodeType":"StructuredDocumentation","src":"191:496:24","text":" @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts."},"fullyImplemented":true,"linearizedBaseContracts":[41068,40840],"name":"ContextUpgradeable","nameLocation":"706:18:24","scope":41069,"usedErrors":[40589,40592],"usedEvents":[40597]}],"license":"MIT"}},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"id":25,"ast":{"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol","id":41109,"exportedSymbols":{"ERC165Upgradeable":[41108],"IERC165":[46799],"Initializable":[40840]},"nodeType":"SourceUnit","src":"114:1037:25","nodes":[{"id":41070,"nodeType":"PragmaDirective","src":"114:24:25","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":41072,"nodeType":"ImportDirective","src":"140:80:25","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","nameLocation":"-1:-1:-1","scope":41109,"sourceUnit":46800,"symbolAliases":[{"foreign":{"id":41071,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46799,"src":"148:7:25","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41074,"nodeType":"ImportDirective","src":"221:66:25","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"../../proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":41109,"sourceUnit":40841,"symbolAliases":[{"foreign":{"id":41073,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40840,"src":"229:13:25","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41108,"nodeType":"ContractDefinition","src":"769:381:25","nodes":[{"id":41085,"nodeType":"FunctionDefinition","src":"837:58:25","nodes":[],"body":{"id":41084,"nodeType":"Block","src":"888:7:25","nodes":[],"statements":[]},"implemented":true,"kind":"function","modifiers":[{"id":41082,"kind":"modifierInvocation","modifierName":{"id":41081,"name":"onlyInitializing","nameLocations":["871:16:25"],"nodeType":"IdentifierPath","referencedDeclaration":40735,"src":"871:16:25"},"nodeType":"ModifierInvocation","src":"871:16:25"}],"name":"__ERC165_init","nameLocation":"846:13:25","parameters":{"id":41080,"nodeType":"ParameterList","parameters":[],"src":"859:2:25"},"returnParameters":{"id":41083,"nodeType":"ParameterList","parameters":[],"src":"888:0:25"},"scope":41108,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":41091,"nodeType":"FunctionDefinition","src":"901:68:25","nodes":[],"body":{"id":41090,"nodeType":"Block","src":"962:7:25","nodes":[],"statements":[]},"implemented":true,"kind":"function","modifiers":[{"id":41088,"kind":"modifierInvocation","modifierName":{"id":41087,"name":"onlyInitializing","nameLocations":["945:16:25"],"nodeType":"IdentifierPath","referencedDeclaration":40735,"src":"945:16:25"},"nodeType":"ModifierInvocation","src":"945:16:25"}],"name":"__ERC165_init_unchained","nameLocation":"910:23:25","parameters":{"id":41086,"nodeType":"ParameterList","parameters":[],"src":"933:2:25"},"returnParameters":{"id":41089,"nodeType":"ParameterList","parameters":[],"src":"962:0:25"},"scope":41108,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":41107,"nodeType":"FunctionDefinition","src":"1002:146:25","nodes":[],"body":{"id":41106,"nodeType":"Block","src":"1084:64:25","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":41104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":41099,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41094,"src":"1101:11:25","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":41101,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46799,"src":"1121:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC165_$46799_$","typeString":"type(contract IERC165)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC165_$46799_$","typeString":"type(contract IERC165)"}],"id":41100,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1116:4:25","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":41102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1116:13:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC165_$46799","typeString":"type(contract IERC165)"}},"id":41103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1130:11:25","memberName":"interfaceId","nodeType":"MemberAccess","src":"1116:25:25","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"1101:40:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":41098,"id":41105,"nodeType":"Return","src":"1094:47:25"}]},"baseFunctions":[46798],"documentation":{"id":41092,"nodeType":"StructuredDocumentation","src":"974:23:25","text":"@inheritdoc IERC165"},"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"1011:17:25","parameters":{"id":41095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41094,"mutability":"mutable","name":"interfaceId","nameLocation":"1036:11:25","nodeType":"VariableDeclaration","scope":41107,"src":"1029:18:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":41093,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1029:6:25","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1028:20:25"},"returnParameters":{"id":41098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41097,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41107,"src":"1078:4:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41096,"name":"bool","nodeType":"ElementaryTypeName","src":"1078:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1077:6:25"},"scope":41108,"stateMutability":"view","virtual":true,"visibility":"public"}],"abstract":true,"baseContracts":[{"baseName":{"id":41076,"name":"Initializable","nameLocations":["808:13:25"],"nodeType":"IdentifierPath","referencedDeclaration":40840,"src":"808:13:25"},"id":41077,"nodeType":"InheritanceSpecifier","src":"808:13:25"},{"baseName":{"id":41078,"name":"IERC165","nameLocations":["823:7:25"],"nodeType":"IdentifierPath","referencedDeclaration":46799,"src":"823:7:25"},"id":41079,"nodeType":"InheritanceSpecifier","src":"823:7:25"}],"canonicalName":"ERC165Upgradeable","contractDependencies":[],"contractKind":"contract","documentation":{"id":41075,"nodeType":"StructuredDocumentation","src":"289:479:25","text":" @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC-165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```"},"fullyImplemented":true,"linearizedBaseContracts":[41108,46799,40840],"name":"ERC165Upgradeable","nameLocation":"787:17:25","scope":41109,"usedErrors":[40589,40592],"usedEvents":[40597]}],"license":"MIT"}},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"id":65,"ast":{"absolutePath":"lib/openzeppelin-foundry-upgrades/src/Defender.sol","id":52026,"exportedSymbols":{"ApprovalProcessResponse":[52025],"Core":[54039],"Defender":[52013],"DefenderDeploy":[55538],"DefenderOptions":[52072],"Options":[52051],"ProposeUpgradeResponse":[52018]},"nodeType":"SourceUnit","src":"32:8435:65","nodes":[{"id":51857,"nodeType":"PragmaDirective","src":"32:23:65","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":51860,"nodeType":"ImportDirective","src":"57:55:65","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/Options.sol","file":"./Options.sol","nameLocation":"-1:-1:-1","scope":52026,"sourceUnit":52083,"symbolAliases":[{"foreign":{"id":51858,"name":"Options","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52051,"src":"65:7:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":51859,"name":"DefenderOptions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52072,"src":"74:15:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":51862,"nodeType":"ImportDirective","src":"113:41:65","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol","file":"./internal/Core.sol","nameLocation":"-1:-1:-1","scope":52026,"sourceUnit":54040,"symbolAliases":[{"foreign":{"id":51861,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"121:4:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":51864,"nodeType":"ImportDirective","src":"155:61:65","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol","file":"./internal/DefenderDeploy.sol","nameLocation":"-1:-1:-1","scope":52026,"sourceUnit":55539,"symbolAliases":[{"foreign":{"id":51863,"name":"DefenderDeploy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55538,"src":"163:14:65","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":52013,"nodeType":"ContractDefinition","src":"314:7975:65","nodes":[{"id":51879,"nodeType":"FunctionDefinition","src":"1094:135:65","nodes":[],"body":{"id":51878,"nodeType":"Block","src":"1173:56:65","nodes":[],"statements":[{"expression":{"arguments":[{"id":51874,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51868,"src":"1205:12:65","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"","id":51875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1219:2:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":51873,"name":"deployContract","nodeType":"Identifier","overloadedDeclarations":[51879,51897,51918,51939],"referencedDeclaration":51918,"src":"1190:14:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,bytes memory) returns (address)"}},"id":51876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1190:32:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":51872,"id":51877,"nodeType":"Return","src":"1183:39:65"}]},"documentation":{"id":51866,"nodeType":"StructuredDocumentation","src":"337:752:65","text":" @dev Deploys a contract to the current network using OpenZeppelin Defender.\n WARNING: Do not use this function directly if you are deploying an upgradeable contract. This function does not validate whether the contract is upgrade safe.\n NOTE: If using an EOA or Safe to deploy, go to https://defender.openzeppelin.com/v2/#/deploy[Defender deploy] to submit the pending deployment while the script is running.\n The script waits for the deployment to complete before it continues.\n @param contractName Name of the contract to deploy, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @return Address of the deployed contract"},"implemented":true,"kind":"function","modifiers":[],"name":"deployContract","nameLocation":"1103:14:65","parameters":{"id":51869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51868,"mutability":"mutable","name":"contractName","nameLocation":"1132:12:65","nodeType":"VariableDeclaration","scope":51879,"src":"1118:26:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":51867,"name":"string","nodeType":"ElementaryTypeName","src":"1118:6:65","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1117:28:65"},"returnParameters":{"id":51872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51871,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51879,"src":"1164:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51870,"name":"address","nodeType":"ElementaryTypeName","src":"1164:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1163:9:65"},"scope":52013,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":51897,"nodeType":"FunctionDefinition","src":"2149:208:65","nodes":[],"body":{"id":51896,"nodeType":"Block","src":"2287:70:65","nodes":[],"statements":[{"expression":{"arguments":[{"id":51891,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51882,"src":"2319:12:65","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"","id":51892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2333:2:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"id":51893,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51885,"src":"2337:12:65","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}],"id":51890,"name":"deployContract","nodeType":"Identifier","overloadedDeclarations":[51879,51897,51918,51939],"referencedDeclaration":51939,"src":"2304:14:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_struct$_DefenderOptions_$52072_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,bytes memory,struct DefenderOptions memory) returns (address)"}},"id":51894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2304:46:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":51889,"id":51895,"nodeType":"Return","src":"2297:53:65"}]},"documentation":{"id":51880,"nodeType":"StructuredDocumentation","src":"1235:909:65","text":" @dev Deploys a contract to the current network using OpenZeppelin Defender.\n WARNING: Do not use this function directly if you are deploying an upgradeable contract. This function does not validate whether the contract is upgrade safe.\n NOTE: If using an EOA or Safe to deploy, go to https://defender.openzeppelin.com/v2/#/deploy[Defender deploy] to submit the pending deployment while the script is running.\n The script waits for the deployment to complete before it continues.\n @param contractName Name of the contract to deploy, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param defenderOpts Defender deployment options. Note that the `useDefenderDeploy` option is always treated as `true` when called from this function.\n @return Address of the deployed contract"},"implemented":true,"kind":"function","modifiers":[],"name":"deployContract","nameLocation":"2158:14:65","parameters":{"id":51886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51882,"mutability":"mutable","name":"contractName","nameLocation":"2196:12:65","nodeType":"VariableDeclaration","scope":51897,"src":"2182:26:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":51881,"name":"string","nodeType":"ElementaryTypeName","src":"2182:6:65","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":51885,"mutability":"mutable","name":"defenderOpts","nameLocation":"2241:12:65","nodeType":"VariableDeclaration","scope":51897,"src":"2218:35:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions"},"typeName":{"id":51884,"nodeType":"UserDefinedTypeName","pathNode":{"id":51883,"name":"DefenderOptions","nameLocations":["2218:15:65"],"nodeType":"IdentifierPath","referencedDeclaration":52072,"src":"2218:15:65"},"referencedDeclaration":52072,"src":"2218:15:65","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_storage_ptr","typeString":"struct DefenderOptions"}},"visibility":"internal"}],"src":"2172:87:65"},"returnParameters":{"id":51889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51888,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51897,"src":"2278:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51887,"name":"address","nodeType":"ElementaryTypeName","src":"2278:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2277:9:65"},"scope":52013,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":51918,"nodeType":"FunctionDefinition","src":"3207:237:65","nodes":[],"body":{"id":51917,"nodeType":"Block","src":"3316:128:65","nodes":[],"statements":[{"assignments":[51909],"declarations":[{"constant":false,"id":51909,"mutability":"mutable","name":"defenderOpts","nameLocation":"3349:12:65","nodeType":"VariableDeclaration","scope":51917,"src":"3326:35:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions"},"typeName":{"id":51908,"nodeType":"UserDefinedTypeName","pathNode":{"id":51907,"name":"DefenderOptions","nameLocations":["3326:15:65"],"nodeType":"IdentifierPath","referencedDeclaration":52072,"src":"3326:15:65"},"referencedDeclaration":52072,"src":"3326:15:65","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_storage_ptr","typeString":"struct DefenderOptions"}},"visibility":"internal"}],"id":51910,"nodeType":"VariableDeclarationStatement","src":"3326:35:65"},{"expression":{"arguments":[{"id":51912,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51900,"src":"3393:12:65","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":51913,"name":"constructorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51902,"src":"3407:15:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":51914,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51909,"src":"3424:12:65","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}],"id":51911,"name":"deployContract","nodeType":"Identifier","overloadedDeclarations":[51879,51897,51918,51939],"referencedDeclaration":51939,"src":"3378:14:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_struct$_DefenderOptions_$52072_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,bytes memory,struct DefenderOptions memory) returns (address)"}},"id":51915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3378:59:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":51906,"id":51916,"nodeType":"Return","src":"3371:66:65"}]},"documentation":{"id":51898,"nodeType":"StructuredDocumentation","src":"2363:839:65","text":" @dev Deploys a contract with constructor arguments to the current network using OpenZeppelin Defender.\n WARNING: Do not use this function directly if you are deploying an upgradeable contract. This function does not validate whether the contract is upgrade safe.\n NOTE: If using an EOA or Safe to deploy, go to https://defender.openzeppelin.com/v2/#/deploy[Defender deploy] to submit the pending deployment while the script is running.\n The script waits for the deployment to complete before it continues.\n @param contractName Name of the contract to deploy, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param constructorData Encoded constructor arguments\n @return Address of the deployed contract"},"implemented":true,"kind":"function","modifiers":[],"name":"deployContract","nameLocation":"3216:14:65","parameters":{"id":51903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51900,"mutability":"mutable","name":"contractName","nameLocation":"3245:12:65","nodeType":"VariableDeclaration","scope":51918,"src":"3231:26:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":51899,"name":"string","nodeType":"ElementaryTypeName","src":"3231:6:65","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":51902,"mutability":"mutable","name":"constructorData","nameLocation":"3272:15:65","nodeType":"VariableDeclaration","scope":51918,"src":"3259:28:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51901,"name":"bytes","nodeType":"ElementaryTypeName","src":"3259:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3230:58:65"},"returnParameters":{"id":51906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51905,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51918,"src":"3307:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51904,"name":"address","nodeType":"ElementaryTypeName","src":"3307:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3306:9:65"},"scope":52013,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":51939,"nodeType":"FunctionDefinition","src":"4451:266:65","nodes":[],"body":{"id":51938,"nodeType":"Block","src":"4627:90:65","nodes":[],"statements":[{"expression":{"arguments":[{"id":51933,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51921,"src":"4666:12:65","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":51934,"name":"constructorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51923,"src":"4680:15:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":51935,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51926,"src":"4697:12:65","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}],"expression":{"id":51931,"name":"DefenderDeploy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55538,"src":"4644:14:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_DefenderDeploy_$55538_$","typeString":"type(library DefenderDeploy)"}},"id":51932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4659:6:65","memberName":"deploy","nodeType":"MemberAccess","referencedDeclaration":54167,"src":"4644:21:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_struct$_DefenderOptions_$52072_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,bytes memory,struct DefenderOptions memory) returns (address)"}},"id":51936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4644:66:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":51930,"id":51937,"nodeType":"Return","src":"4637:73:65"}]},"documentation":{"id":51919,"nodeType":"StructuredDocumentation","src":"3450:996:65","text":" @dev Deploys a contract with constructor arguments to the current network using OpenZeppelin Defender.\n WARNING: Do not use this function directly if you are deploying an upgradeable contract. This function does not validate whether the contract is upgrade safe.\n NOTE: If using an EOA or Safe to deploy, go to https://defender.openzeppelin.com/v2/#/deploy[Defender deploy] to submit the pending deployment while the script is running.\n The script waits for the deployment to complete before it continues.\n @param contractName Name of the contract to deploy, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param constructorData Encoded constructor arguments\n @param defenderOpts Defender deployment options. Note that the `useDefenderDeploy` option is always treated as `true` when called from this function.\n @return Address of the deployed contract"},"implemented":true,"kind":"function","modifiers":[],"name":"deployContract","nameLocation":"4460:14:65","parameters":{"id":51927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51921,"mutability":"mutable","name":"contractName","nameLocation":"4498:12:65","nodeType":"VariableDeclaration","scope":51939,"src":"4484:26:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":51920,"name":"string","nodeType":"ElementaryTypeName","src":"4484:6:65","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":51923,"mutability":"mutable","name":"constructorData","nameLocation":"4533:15:65","nodeType":"VariableDeclaration","scope":51939,"src":"4520:28:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51922,"name":"bytes","nodeType":"ElementaryTypeName","src":"4520:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":51926,"mutability":"mutable","name":"defenderOpts","nameLocation":"4581:12:65","nodeType":"VariableDeclaration","scope":51939,"src":"4558:35:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions"},"typeName":{"id":51925,"nodeType":"UserDefinedTypeName","pathNode":{"id":51924,"name":"DefenderOptions","nameLocations":["4558:15:65"],"nodeType":"IdentifierPath","referencedDeclaration":52072,"src":"4558:15:65"},"referencedDeclaration":52072,"src":"4558:15:65","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_storage_ptr","typeString":"struct DefenderOptions"}},"visibility":"internal"}],"src":"4474:125:65"},"returnParameters":{"id":51930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51929,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51939,"src":"4618:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51928,"name":"address","nodeType":"ElementaryTypeName","src":"4618:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4617:9:65"},"scope":52013,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":51986,"nodeType":"FunctionDefinition","src":"6533:667:65","nodes":[],"body":{"id":51985,"nodeType":"Block","src":"6724:476:65","nodes":[],"statements":[{"expression":{"id":51959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":51953,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51947,"src":"6734:4:65","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":51956,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6739:8:65","memberName":"defender","nodeType":"MemberAccess","referencedDeclaration":52050,"src":"6734:13:65","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":51957,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6748:17:65","memberName":"useDefenderDeploy","nodeType":"MemberAccess","referencedDeclaration":52054,"src":"6734:31:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":51958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6768:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"6734:38:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51960,"nodeType":"ExpressionStatement","src":"6734:38:65"},{"assignments":[51962],"declarations":[{"constant":false,"id":51962,"mutability":"mutable","name":"proxyAdminAddress","nameLocation":"6790:17:65","nodeType":"VariableDeclaration","scope":51985,"src":"6782:25:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51961,"name":"address","nodeType":"ElementaryTypeName","src":"6782:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":51967,"initialValue":{"arguments":[{"id":51965,"name":"proxyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51942,"src":"6831:12:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51963,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"6810:4:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":51964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6815:15:65","memberName":"getAdminAddress","nodeType":"MemberAccess","referencedDeclaration":53265,"src":"6810:20:65","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":51966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6810:34:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6782:62:65"},{"assignments":[51969],"declarations":[{"constant":false,"id":51969,"mutability":"mutable","name":"newImplementationAddress","nameLocation":"6862:24:65","nodeType":"VariableDeclaration","scope":51985,"src":"6854:32:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51968,"name":"address","nodeType":"ElementaryTypeName","src":"6854:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":51975,"initialValue":{"arguments":[{"id":51972,"name":"newImplementationContractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51944,"src":"6909:29:65","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":51973,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51947,"src":"6940:4:65","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"expression":{"id":51970,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"6889:4:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":51971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6894:14:65","memberName":"prepareUpgrade","nodeType":"MemberAccess","referencedDeclaration":53229,"src":"6889:19:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,struct Options memory) returns (address)"}},"id":51974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6889:56:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6854:91:65"},{"expression":{"arguments":[{"id":51978,"name":"proxyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51942,"src":"7021:12:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51979,"name":"proxyAdminAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51962,"src":"7051:17:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51980,"name":"newImplementationAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51969,"src":"7086:24:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51981,"name":"newImplementationContractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51944,"src":"7128:29:65","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":51982,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51947,"src":"7175:4:65","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"expression":{"id":51976,"name":"DefenderDeploy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55538,"src":"6974:14:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_DefenderDeploy_$55538_$","typeString":"type(library DefenderDeploy)"}},"id":51977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6989:14:65","memberName":"proposeUpgrade","nodeType":"MemberAccess","referencedDeclaration":54947,"src":"6974:29:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$_t_struct$_ProposeUpgradeResponse_$52018_memory_ptr_$","typeString":"function (address,address,address,string memory,struct Options memory) returns (struct ProposeUpgradeResponse memory)"}},"id":51983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6974:219:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposeUpgradeResponse_$52018_memory_ptr","typeString":"struct ProposeUpgradeResponse memory"}},"functionReturnParameters":51952,"id":51984,"nodeType":"Return","src":"6955:238:65"}]},"documentation":{"id":51940,"nodeType":"StructuredDocumentation","src":"4723:1805:65","text":" @dev Proposes an upgrade to an upgradeable proxy using OpenZeppelin Defender.\n This function validates a new implementation contract in comparison with a reference contract, deploys the new implementation contract using Defender,\n and proposes an upgrade to the new implementation contract using an upgrade approval process on Defender.\n Supported for UUPS or Transparent proxies. Not currently supported for beacon proxies or beacons.\n For beacons, use `Upgrades.prepareUpgrade` along with a transaction proposal on Defender to upgrade the beacon to the deployed implementation.\n Requires that either the `referenceContract` option is set, or the contract has a `@custom:oz-upgrades-from ` annotation.\n WARNING: Ensure that the reference contract is the same as the current implementation contract that the proxy is pointing to.\n This function does not validate that the reference contract is the current implementation.\n NOTE: If using an EOA or Safe to deploy, go to https://defender.openzeppelin.com/v2/#/deploy[Defender deploy] to submit the pending deployment of the new implementation contract while the script is running.\n The script waits for the deployment to complete before it continues.\n @param proxyAddress The proxy address\n @param newImplementationContractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param opts Common options. Note that the `defender.useDefenderDeploy` option is always treated as `true` when called from this function.\n @return Struct containing the proposal ID and URL for the upgrade proposal"},"implemented":true,"kind":"function","modifiers":[],"name":"proposeUpgrade","nameLocation":"6542:14:65","parameters":{"id":51948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51942,"mutability":"mutable","name":"proxyAddress","nameLocation":"6574:12:65","nodeType":"VariableDeclaration","scope":51986,"src":"6566:20:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51941,"name":"address","nodeType":"ElementaryTypeName","src":"6566:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51944,"mutability":"mutable","name":"newImplementationContractName","nameLocation":"6610:29:65","nodeType":"VariableDeclaration","scope":51986,"src":"6596:43:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":51943,"name":"string","nodeType":"ElementaryTypeName","src":"6596:6:65","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":51947,"mutability":"mutable","name":"opts","nameLocation":"6664:4:65","nodeType":"VariableDeclaration","scope":51986,"src":"6649:19:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":51946,"nodeType":"UserDefinedTypeName","pathNode":{"id":51945,"name":"Options","nameLocations":["6649:7:65"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"6649:7:65"},"referencedDeclaration":52051,"src":"6649:7:65","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"src":"6556:118:65"},"returnParameters":{"id":51952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51951,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51986,"src":"6693:29:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ProposeUpgradeResponse_$52018_memory_ptr","typeString":"struct ProposeUpgradeResponse"},"typeName":{"id":51950,"nodeType":"UserDefinedTypeName","pathNode":{"id":51949,"name":"ProposeUpgradeResponse","nameLocations":["6693:22:65"],"nodeType":"IdentifierPath","referencedDeclaration":52018,"src":"6693:22:65"},"referencedDeclaration":52018,"src":"6693:22:65","typeDescriptions":{"typeIdentifier":"t_struct$_ProposeUpgradeResponse_$52018_storage_ptr","typeString":"struct ProposeUpgradeResponse"}},"visibility":"internal"}],"src":"6692:31:65"},"scope":52013,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":51999,"nodeType":"FunctionDefinition","src":"7497:171:65","nodes":[],"body":{"id":51998,"nodeType":"Block","src":"7583:85:65","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"6765744465706c6f79417070726f76616c50726f63657373","id":51995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7634:26:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_91822dcfbccd70857ea12c11e81f053ad02f3260a0e761f9bc86f992a041634f","typeString":"literal_string \"getDeployApprovalProcess\""},"value":"getDeployApprovalProcess"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91822dcfbccd70857ea12c11e81f053ad02f3260a0e761f9bc86f992a041634f","typeString":"literal_string \"getDeployApprovalProcess\""}],"expression":{"id":51993,"name":"DefenderDeploy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55538,"src":"7600:14:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_DefenderDeploy_$55538_$","typeString":"type(library DefenderDeploy)"}},"id":51994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7615:18:65","memberName":"getApprovalProcess","nodeType":"MemberAccess","referencedDeclaration":55364,"src":"7600:33:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_struct$_ApprovalProcessResponse_$52025_memory_ptr_$","typeString":"function (string memory) returns (struct ApprovalProcessResponse memory)"}},"id":51996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7600:61:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ApprovalProcessResponse_$52025_memory_ptr","typeString":"struct ApprovalProcessResponse memory"}},"functionReturnParameters":51992,"id":51997,"nodeType":"Return","src":"7593:68:65"}]},"documentation":{"id":51987,"nodeType":"StructuredDocumentation","src":"7206:286:65","text":" @dev Gets the default deploy approval process configured for your deployment environment on OpenZeppelin Defender.\n @return Struct with the default deploy approval process ID and the associated address, such as a Relayer, EOA, or multisig wallet address."},"implemented":true,"kind":"function","modifiers":[],"name":"getDeployApprovalProcess","nameLocation":"7506:24:65","parameters":{"id":51988,"nodeType":"ParameterList","parameters":[],"src":"7530:2:65"},"returnParameters":{"id":51992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51991,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51999,"src":"7551:30:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ApprovalProcessResponse_$52025_memory_ptr","typeString":"struct ApprovalProcessResponse"},"typeName":{"id":51990,"nodeType":"UserDefinedTypeName","pathNode":{"id":51989,"name":"ApprovalProcessResponse","nameLocations":["7551:23:65"],"nodeType":"IdentifierPath","referencedDeclaration":52025,"src":"7551:23:65"},"referencedDeclaration":52025,"src":"7551:23:65","typeDescriptions":{"typeIdentifier":"t_struct$_ApprovalProcessResponse_$52025_storage_ptr","typeString":"struct ApprovalProcessResponse"}},"visibility":"internal"}],"src":"7550:32:65"},"scope":52013,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52012,"nodeType":"FunctionDefinition","src":"8114:173:65","nodes":[],"body":{"id":52011,"nodeType":"Block","src":"8201:86:65","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"67657455706772616465417070726f76616c50726f63657373","id":52008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8252:27:65","typeDescriptions":{"typeIdentifier":"t_stringliteral_a06dd4918a5b2473fd3aaf97341ad849da5bb038c60b7582eb371267a2265635","typeString":"literal_string \"getUpgradeApprovalProcess\""},"value":"getUpgradeApprovalProcess"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a06dd4918a5b2473fd3aaf97341ad849da5bb038c60b7582eb371267a2265635","typeString":"literal_string \"getUpgradeApprovalProcess\""}],"expression":{"id":52006,"name":"DefenderDeploy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55538,"src":"8218:14:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_DefenderDeploy_$55538_$","typeString":"type(library DefenderDeploy)"}},"id":52007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8233:18:65","memberName":"getApprovalProcess","nodeType":"MemberAccess","referencedDeclaration":55364,"src":"8218:33:65","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_struct$_ApprovalProcessResponse_$52025_memory_ptr_$","typeString":"function (string memory) returns (struct ApprovalProcessResponse memory)"}},"id":52009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8218:62:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ApprovalProcessResponse_$52025_memory_ptr","typeString":"struct ApprovalProcessResponse memory"}},"functionReturnParameters":52005,"id":52010,"nodeType":"Return","src":"8211:69:65"}]},"documentation":{"id":52000,"nodeType":"StructuredDocumentation","src":"7674:435:65","text":" @dev Gets the default upgrade approval process configured for your deployment environment on OpenZeppelin Defender.\n For example, this is useful for determining the default multisig wallet that you can use in your scripts to assign as the owner of your proxy.\n @return Struct with the default upgrade approval process ID and the associated address, such as a multisig or governor contract address."},"implemented":true,"kind":"function","modifiers":[],"name":"getUpgradeApprovalProcess","nameLocation":"8123:25:65","parameters":{"id":52001,"nodeType":"ParameterList","parameters":[],"src":"8148:2:65"},"returnParameters":{"id":52005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52004,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52012,"src":"8169:30:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ApprovalProcessResponse_$52025_memory_ptr","typeString":"struct ApprovalProcessResponse"},"typeName":{"id":52003,"nodeType":"UserDefinedTypeName","pathNode":{"id":52002,"name":"ApprovalProcessResponse","nameLocations":["8169:23:65"],"nodeType":"IdentifierPath","referencedDeclaration":52025,"src":"8169:23:65"},"referencedDeclaration":52025,"src":"8169:23:65","typeDescriptions":{"typeIdentifier":"t_struct$_ApprovalProcessResponse_$52025_storage_ptr","typeString":"struct ApprovalProcessResponse"}},"visibility":"internal"}],"src":"8168:32:65"},"scope":52013,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"Defender","contractDependencies":[],"contractKind":"library","documentation":{"id":51865,"nodeType":"StructuredDocumentation","src":"218:95:65","text":" @dev Library for interacting with OpenZeppelin Defender from Forge scripts or tests."},"fullyImplemented":true,"linearizedBaseContracts":[52013],"name":"Defender","nameLocation":"322:8:65","scope":52026,"usedErrors":[],"usedEvents":[]},{"id":52018,"nodeType":"StructDefinition","src":"8291:72:65","nodes":[],"canonicalName":"ProposeUpgradeResponse","members":[{"constant":false,"id":52015,"mutability":"mutable","name":"proposalId","nameLocation":"8334:10:65","nodeType":"VariableDeclaration","scope":52018,"src":"8327:17:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":52014,"name":"string","nodeType":"ElementaryTypeName","src":"8327:6:65","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52017,"mutability":"mutable","name":"url","nameLocation":"8357:3:65","nodeType":"VariableDeclaration","scope":52018,"src":"8350:10:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":52016,"name":"string","nodeType":"ElementaryTypeName","src":"8350:6:65","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"ProposeUpgradeResponse","nameLocation":"8298:22:65","scope":52026,"visibility":"public"},{"id":52025,"nodeType":"StructDefinition","src":"8365:101:65","nodes":[],"canonicalName":"ApprovalProcessResponse","members":[{"constant":false,"id":52020,"mutability":"mutable","name":"approvalProcessId","nameLocation":"8409:17:65","nodeType":"VariableDeclaration","scope":52025,"src":"8402:24:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":52019,"name":"string","nodeType":"ElementaryTypeName","src":"8402:6:65","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52022,"mutability":"mutable","name":"via","nameLocation":"8440:3:65","nodeType":"VariableDeclaration","scope":52025,"src":"8432:11:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52021,"name":"address","nodeType":"ElementaryTypeName","src":"8432:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52024,"mutability":"mutable","name":"viaType","nameLocation":"8456:7:65","nodeType":"VariableDeclaration","scope":52025,"src":"8449:14:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":52023,"name":"string","nodeType":"ElementaryTypeName","src":"8449:6:65","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"ApprovalProcessResponse","nameLocation":"8372:23:65","scope":52026,"visibility":"public"}],"license":"MIT"}},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"id":66,"ast":{"absolutePath":"lib/openzeppelin-foundry-upgrades/src/Options.sol","id":52083,"exportedSymbols":{"DefenderOptions":[52072],"Options":[52051],"TxOverrides":[52082]},"nodeType":"SourceUnit","src":"32:6569:66","nodes":[{"id":52027,"nodeType":"PragmaDirective","src":"32:23:66","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":52051,"nodeType":"StructDefinition","src":"84:3215:66","nodes":[],"canonicalName":"Options","documentation":{"id":52028,"nodeType":"StructuredDocumentation","src":"57:26:66","text":" Common options."},"members":[{"constant":false,"id":52030,"mutability":"mutable","name":"referenceContract","nameLocation":"872:17:66","nodeType":"VariableDeclaration","scope":52051,"src":"865:24:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":52029,"name":"string","nodeType":"ElementaryTypeName","src":"865:6:66","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52032,"mutability":"mutable","name":"referenceBuildInfoDir","nameLocation":"1484:21:66","nodeType":"VariableDeclaration","scope":52051,"src":"1477:28:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":52031,"name":"string","nodeType":"ElementaryTypeName","src":"1477:6:66","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52034,"mutability":"mutable","name":"constructorData","nameLocation":"1795:15:66","nodeType":"VariableDeclaration","scope":52051,"src":"1789:21:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":52033,"name":"bytes","nodeType":"ElementaryTypeName","src":"1789:5:66","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":52037,"mutability":"mutable","name":"exclude","nameLocation":"2048:7:66","nodeType":"VariableDeclaration","scope":52051,"src":"2039:16:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":52035,"name":"string","nodeType":"ElementaryTypeName","src":"2039:6:66","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":52036,"nodeType":"ArrayTypeName","src":"2039:8:66","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":52039,"mutability":"mutable","name":"unsafeAllow","nameLocation":"2298:11:66","nodeType":"VariableDeclaration","scope":52051,"src":"2291:18:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":52038,"name":"string","nodeType":"ElementaryTypeName","src":"2291:6:66","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52041,"mutability":"mutable","name":"unsafeAllowRenames","nameLocation":"2400:18:66","nodeType":"VariableDeclaration","scope":52051,"src":"2395:23:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52040,"name":"bool","nodeType":"ElementaryTypeName","src":"2395:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52043,"mutability":"mutable","name":"unsafeSkipProxyAdminCheck","nameLocation":"2852:25:66","nodeType":"VariableDeclaration","scope":52051,"src":"2847:30:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52042,"name":"bool","nodeType":"ElementaryTypeName","src":"2847:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52045,"mutability":"mutable","name":"unsafeSkipStorageCheck","nameLocation":"3028:22:66","nodeType":"VariableDeclaration","scope":52051,"src":"3023:27:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52044,"name":"bool","nodeType":"ElementaryTypeName","src":"3023:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52047,"mutability":"mutable","name":"unsafeSkipAllChecks","nameLocation":"3178:19:66","nodeType":"VariableDeclaration","scope":52051,"src":"3173:24:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52046,"name":"bool","nodeType":"ElementaryTypeName","src":"3173:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52050,"mutability":"mutable","name":"defender","nameLocation":"3288:8:66","nodeType":"VariableDeclaration","scope":52051,"src":"3272:24:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_storage_ptr","typeString":"struct DefenderOptions"},"typeName":{"id":52049,"nodeType":"UserDefinedTypeName","pathNode":{"id":52048,"name":"DefenderOptions","nameLocations":["3272:15:66"],"nodeType":"IdentifierPath","referencedDeclaration":52072,"src":"3272:15:66"},"referencedDeclaration":52072,"src":"3272:15:66","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_storage_ptr","typeString":"struct DefenderOptions"}},"visibility":"internal"}],"name":"Options","nameLocation":"91:7:66","scope":52083,"visibility":"public"},{"id":52072,"nodeType":"StructDefinition","src":"3359:2771:66","nodes":[],"canonicalName":"DefenderOptions","documentation":{"id":52052,"nodeType":"StructuredDocumentation","src":"3301:57:66","text":" Options for OpenZeppelin Defender deployments."},"members":[{"constant":false,"id":52054,"mutability":"mutable","name":"useDefenderDeploy","nameLocation":"3816:17:66","nodeType":"VariableDeclaration","scope":52072,"src":"3811:22:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52053,"name":"bool","nodeType":"ElementaryTypeName","src":"3811:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52056,"mutability":"mutable","name":"skipVerifySourceCode","nameLocation":"3991:20:66","nodeType":"VariableDeclaration","scope":52072,"src":"3986:25:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52055,"name":"bool","nodeType":"ElementaryTypeName","src":"3986:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52058,"mutability":"mutable","name":"relayerId","nameLocation":"4221:9:66","nodeType":"VariableDeclaration","scope":52072,"src":"4214:16:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":52057,"name":"string","nodeType":"ElementaryTypeName","src":"4214:6:66","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52060,"mutability":"mutable","name":"salt","nameLocation":"4746:4:66","nodeType":"VariableDeclaration","scope":52072,"src":"4738:12:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52059,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4738:7:66","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":52062,"mutability":"mutable","name":"upgradeApprovalProcessId","nameLocation":"4962:24:66","nodeType":"VariableDeclaration","scope":52072,"src":"4955:31:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":52061,"name":"string","nodeType":"ElementaryTypeName","src":"4955:6:66","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52064,"mutability":"mutable","name":"licenseType","nameLocation":"5408:11:66","nodeType":"VariableDeclaration","scope":52072,"src":"5401:18:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":52063,"name":"string","nodeType":"ElementaryTypeName","src":"5401:6:66","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52066,"mutability":"mutable","name":"skipLicenseType","nameLocation":"5658:15:66","nodeType":"VariableDeclaration","scope":52072,"src":"5653:20:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52065,"name":"bool","nodeType":"ElementaryTypeName","src":"5653:4:66","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52069,"mutability":"mutable","name":"txOverrides","nameLocation":"5774:11:66","nodeType":"VariableDeclaration","scope":52072,"src":"5762:23:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_TxOverrides_$52082_storage_ptr","typeString":"struct TxOverrides"},"typeName":{"id":52068,"nodeType":"UserDefinedTypeName","pathNode":{"id":52067,"name":"TxOverrides","nameLocations":["5762:11:66"],"nodeType":"IdentifierPath","referencedDeclaration":52082,"src":"5762:11:66"},"referencedDeclaration":52082,"src":"5762:11:66","typeDescriptions":{"typeIdentifier":"t_struct$_TxOverrides_$52082_storage_ptr","typeString":"struct TxOverrides"}},"visibility":"internal"},{"constant":false,"id":52071,"mutability":"mutable","name":"metadata","nameLocation":"6119:8:66","nodeType":"VariableDeclaration","scope":52072,"src":"6112:15:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":52070,"name":"string","nodeType":"ElementaryTypeName","src":"6112:6:66","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"DefenderOptions","nameLocation":"3366:15:66","scope":52083,"visibility":"public"},{"id":52082,"nodeType":"StructDefinition","src":"6204:396:66","nodes":[],"canonicalName":"TxOverrides","documentation":{"id":52073,"nodeType":"StructuredDocumentation","src":"6132:71:66","text":" Transaction overrides for OpenZeppelin Defender deployments."},"members":[{"constant":false,"id":52075,"mutability":"mutable","name":"gasLimit","nameLocation":"6325:8:66","nodeType":"VariableDeclaration","scope":52082,"src":"6317:16:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52074,"name":"uint256","nodeType":"ElementaryTypeName","src":"6317:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52077,"mutability":"mutable","name":"gasPrice","nameLocation":"6412:8:66","nodeType":"VariableDeclaration","scope":52082,"src":"6404:16:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52076,"name":"uint256","nodeType":"ElementaryTypeName","src":"6404:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52079,"mutability":"mutable","name":"maxFeePerGas","nameLocation":"6491:12:66","nodeType":"VariableDeclaration","scope":52082,"src":"6483:20:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52078,"name":"uint256","nodeType":"ElementaryTypeName","src":"6483:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52081,"mutability":"mutable","name":"maxPriorityFeePerGas","nameLocation":"6577:20:66","nodeType":"VariableDeclaration","scope":52082,"src":"6569:28:66","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52080,"name":"uint256","nodeType":"ElementaryTypeName","src":"6569:7:66","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"TxOverrides","nameLocation":"6211:11:66","scope":52083,"visibility":"public"}],"license":"MIT"}},"lib/openzeppelin-foundry-upgrades/src/Upgrades.sol":{"id":67,"ast":{"absolutePath":"lib/openzeppelin-foundry-upgrades/src/Upgrades.sol","id":52851,"exportedSymbols":{"BeaconProxy":[42173],"Core":[54039],"ERC1967Proxy":[41785],"Options":[52051],"TransparentUpgradeableProxy":[42455],"UnsafeUpgrades":[52850],"UpgradeableBeacon":[42271],"Upgrades":[52643],"Utils":[56368],"Vm":[18001]},"nodeType":"SourceUnit","src":"32:26412:67","nodes":[{"id":52084,"nodeType":"PragmaDirective","src":"32:24:67","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":52086,"nodeType":"ImportDirective","src":"58:84:67","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":52851,"sourceUnit":41786,"symbolAliases":[{"foreign":{"id":52085,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41785,"src":"66:12:67","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":52088,"nodeType":"ImportDirective","src":"143:118:67","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol","file":"@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol","nameLocation":"-1:-1:-1","scope":52851,"sourceUnit":42456,"symbolAliases":[{"foreign":{"id":52087,"name":"TransparentUpgradeableProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42455,"src":"151:27:67","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":52090,"nodeType":"ImportDirective","src":"262:93:67","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol","file":"@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol","nameLocation":"-1:-1:-1","scope":52851,"sourceUnit":42272,"symbolAliases":[{"foreign":{"id":52089,"name":"UpgradeableBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42271,"src":"270:17:67","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":52092,"nodeType":"ImportDirective","src":"356:81:67","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol","file":"@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol","nameLocation":"-1:-1:-1","scope":52851,"sourceUnit":42174,"symbolAliases":[{"foreign":{"id":52091,"name":"BeaconProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42173,"src":"364:11:67","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":52094,"nodeType":"ImportDirective","src":"439:36:67","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"forge-std/Vm.sol","nameLocation":"-1:-1:-1","scope":52851,"sourceUnit":18002,"symbolAliases":[{"foreign":{"id":52093,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"447:2:67","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":52096,"nodeType":"ImportDirective","src":"476:38:67","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/Options.sol","file":"./Options.sol","nameLocation":"-1:-1:-1","scope":52851,"sourceUnit":52083,"symbolAliases":[{"foreign":{"id":52095,"name":"Options","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52051,"src":"484:7:67","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":52098,"nodeType":"ImportDirective","src":"515:41:67","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol","file":"./internal/Core.sol","nameLocation":"-1:-1:-1","scope":52851,"sourceUnit":54040,"symbolAliases":[{"foreign":{"id":52097,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"523:4:67","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":52100,"nodeType":"ImportDirective","src":"557:43:67","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol","file":"./internal/Utils.sol","nameLocation":"-1:-1:-1","scope":52851,"sourceUnit":56369,"symbolAliases":[{"foreign":{"id":52099,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"565:5:67","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":52643,"nodeType":"ContractDefinition","src":"762:18802:67","nodes":[{"id":52133,"nodeType":"FunctionDefinition","src":"1295:336:67","nodes":[],"body":{"id":52132,"nodeType":"Block","src":"1456:175:67","nodes":[],"statements":[{"assignments":[52115],"declarations":[{"constant":false,"id":52115,"mutability":"mutable","name":"impl","nameLocation":"1474:4:67","nodeType":"VariableDeclaration","scope":52132,"src":"1466:12:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52114,"name":"address","nodeType":"ElementaryTypeName","src":"1466:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":52120,"initialValue":{"arguments":[{"id":52117,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52104,"src":"1502:12:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52118,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52109,"src":"1516:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"id":52116,"name":"deployImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52565,"src":"1481:20:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,struct Options memory) returns (address)"}},"id":52119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1481:40:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1466:55:67"},{"expression":{"arguments":[{"hexValue":"4552433139363750726f78792e736f6c3a4552433139363750726f7879","id":52123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1551:31:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_740cf149c9b5cf2973fa460829dc6f3d37c62cee6767c8b2a4aacda435a59250","typeString":"literal_string \"ERC1967Proxy.sol:ERC1967Proxy\""},"value":"ERC1967Proxy.sol:ERC1967Proxy"},{"arguments":[{"id":52126,"name":"impl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52115,"src":"1595:4:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52127,"name":"initializerData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52106,"src":"1601:15:67","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":52124,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1584:3:67","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52125,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1588:6:67","memberName":"encode","nodeType":"MemberAccess","src":"1584:10:67","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":52128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1584:33:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":52129,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52109,"src":"1619:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_740cf149c9b5cf2973fa460829dc6f3d37c62cee6767c8b2a4aacda435a59250","typeString":"literal_string \"ERC1967Proxy.sol:ERC1967Proxy\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"expression":{"id":52121,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"1539:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1544:6:67","memberName":"deploy","nodeType":"MemberAccess","referencedDeclaration":53967,"src":"1539:11:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,bytes memory,struct Options memory) returns (address)"}},"id":52130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1539:85:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":52113,"id":52131,"nodeType":"Return","src":"1532:92:67"}]},"documentation":{"id":52102,"nodeType":"StructuredDocumentation","src":"785:505:67","text":" @dev Deploys a UUPS proxy using the given contract as the implementation.\n @param contractName Name of the contract to use as the implementation, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param initializerData Encoded call data of the initializer function to call during creation of the proxy, or empty if no initialization is required\n @param opts Common options\n @return Proxy address"},"implemented":true,"kind":"function","modifiers":[],"name":"deployUUPSProxy","nameLocation":"1304:15:67","parameters":{"id":52110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52104,"mutability":"mutable","name":"contractName","nameLocation":"1343:12:67","nodeType":"VariableDeclaration","scope":52133,"src":"1329:26:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52103,"name":"string","nodeType":"ElementaryTypeName","src":"1329:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52106,"mutability":"mutable","name":"initializerData","nameLocation":"1378:15:67","nodeType":"VariableDeclaration","scope":52133,"src":"1365:28:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":52105,"name":"bytes","nodeType":"ElementaryTypeName","src":"1365:5:67","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":52109,"mutability":"mutable","name":"opts","nameLocation":"1418:4:67","nodeType":"VariableDeclaration","scope":52133,"src":"1403:19:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":52108,"nodeType":"UserDefinedTypeName","pathNode":{"id":52107,"name":"Options","nameLocations":["1403:7:67"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"1403:7:67"},"referencedDeclaration":52051,"src":"1403:7:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"src":"1319:109:67"},"returnParameters":{"id":52113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52112,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52133,"src":"1447:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52111,"name":"address","nodeType":"ElementaryTypeName","src":"1447:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1446:9:67"},"scope":52643,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52154,"nodeType":"FunctionDefinition","src":"2113:215:67","nodes":[],"body":{"id":52153,"nodeType":"Block","src":"2223:105:67","nodes":[],"statements":[{"assignments":[52145],"declarations":[{"constant":false,"id":52145,"mutability":"mutable","name":"opts","nameLocation":"2248:4:67","nodeType":"VariableDeclaration","scope":52153,"src":"2233:19:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":52144,"nodeType":"UserDefinedTypeName","pathNode":{"id":52143,"name":"Options","nameLocations":["2233:7:67"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"2233:7:67"},"referencedDeclaration":52051,"src":"2233:7:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"id":52146,"nodeType":"VariableDeclarationStatement","src":"2233:19:67"},{"expression":{"arguments":[{"id":52148,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52136,"src":"2285:12:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52149,"name":"initializerData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52138,"src":"2299:15:67","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":52150,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52145,"src":"2316:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"id":52147,"name":"deployUUPSProxy","nodeType":"Identifier","overloadedDeclarations":[52133,52154],"referencedDeclaration":52133,"src":"2269:15:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,bytes memory,struct Options memory) returns (address)"}},"id":52151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2269:52:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":52142,"id":52152,"nodeType":"Return","src":"2262:59:67"}]},"documentation":{"id":52134,"nodeType":"StructuredDocumentation","src":"1637:471:67","text":" @dev Deploys a UUPS proxy using the given contract as the implementation.\n @param contractName Name of the contract to use as the implementation, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param initializerData Encoded call data of the initializer function to call during creation of the proxy, or empty if no initialization is required\n @return Proxy address"},"implemented":true,"kind":"function","modifiers":[],"name":"deployUUPSProxy","nameLocation":"2122:15:67","parameters":{"id":52139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52136,"mutability":"mutable","name":"contractName","nameLocation":"2152:12:67","nodeType":"VariableDeclaration","scope":52154,"src":"2138:26:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52135,"name":"string","nodeType":"ElementaryTypeName","src":"2138:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52138,"mutability":"mutable","name":"initializerData","nameLocation":"2179:15:67","nodeType":"VariableDeclaration","scope":52154,"src":"2166:28:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":52137,"name":"bytes","nodeType":"ElementaryTypeName","src":"2166:5:67","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2137:58:67"},"returnParameters":{"id":52142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52141,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52154,"src":"2214:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52140,"name":"address","nodeType":"ElementaryTypeName","src":"2214:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2213:9:67"},"scope":52643,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52219,"nodeType":"FunctionDefinition","src":"2966:1073:67","nodes":[],"body":{"id":52218,"nodeType":"Block","src":"3164:875:67","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":52180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":52175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3178:25:67","subExpression":{"expression":{"id":52169,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52164,"src":"3179:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":52170,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3184:19:67","memberName":"unsafeSkipAllChecks","nodeType":"MemberAccess","referencedDeclaration":52047,"src":"3179:24:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":52174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3207:31:67","subExpression":{"expression":{"id":52172,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52164,"src":"3208:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":52173,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3213:25:67","memberName":"unsafeSkipProxyAdminCheck","nodeType":"MemberAccess","referencedDeclaration":52043,"src":"3208:30:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3178:60:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"id":52178,"name":"initialOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52159,"src":"3263:12:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52176,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"3242:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3247:15:67","memberName":"inferProxyAdmin","nodeType":"MemberAccess","referencedDeclaration":53432,"src":"3242:20:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":52179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3242:34:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3178:98:67","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":52198,"nodeType":"IfStatement","src":"3174:572:67","trueBody":{"id":52197,"nodeType":"Block","src":"3278:468:67","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"60696e697469616c4f776e657260206d757374206e6f7420626520612050726f787941646d696e20636f6e74726163742e2049662074686520636f6e7472616374206174206164647265737320","id":52185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3351:79:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_fa54e1d16aee80b7e77310287664393eb1ea2d2999f8ad846cf38667d6bf269f","typeString":"literal_string \"`initialOwner` must not be a ProxyAdmin contract. If the contract at address \""},"value":"`initialOwner` must not be a ProxyAdmin contract. If the contract at address "},{"arguments":[{"id":52191,"name":"initialOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52159,"src":"3489:12:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"expression":{"id":52187,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"3455:5:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":52188,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3461:17:67","memberName":"CHEATCODE_ADDRESS","nodeType":"MemberAccess","referencedDeclaration":55708,"src":"3455:23:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":52186,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"3452:2:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":52189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3452:27:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":52190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3480:8:67","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15129,"src":"3452:36:67","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":52192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3452:50:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"206973206e6f7420612050726f787941646d696e20636f6e747261637420616e6420796f752061726520737572652074686174207468697320636f6e74726163742069732061626c6520746f2063616c6c2066756e6374696f6e73206f6e20616e2061637475616c2050726f787941646d696e2c20736b6970207468697320636865636b2077697468207468652060756e73616665536b697050726f787941646d696e436865636b60206f7074696f6e2e","id":52193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3524:179:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_a68b338ebe384957e140ea6271163a5ae4d46b3217823f4e6511f921211ff193","typeString":"literal_string \" is not a ProxyAdmin contract and you are sure that this contract is able to call functions on an actual ProxyAdmin, skip this check with the `unsafeSkipProxyAdminCheck` option.\""},"value":" is not a ProxyAdmin contract and you are sure that this contract is able to call functions on an actual ProxyAdmin, skip this check with the `unsafeSkipProxyAdminCheck` option."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fa54e1d16aee80b7e77310287664393eb1ea2d2999f8ad846cf38667d6bf269f","typeString":"literal_string \"`initialOwner` must not be a ProxyAdmin contract. If the contract at address \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_a68b338ebe384957e140ea6271163a5ae4d46b3217823f4e6511f921211ff193","typeString":"literal_string \" is not a ProxyAdmin contract and you are sure that this contract is able to call functions on an actual ProxyAdmin, skip this check with the `unsafeSkipProxyAdminCheck` option.\""}],"expression":{"id":52183,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3316:6:67","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":52182,"name":"string","nodeType":"ElementaryTypeName","src":"3316:6:67","typeDescriptions":{}}},"id":52184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3323:6:67","memberName":"concat","nodeType":"MemberAccess","src":"3316:13:67","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":52194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3316:405:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":52181,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"3292:6:67","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":52195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3292:443:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52196,"nodeType":"ExpressionStatement","src":"3292:443:67"}]}},{"assignments":[52200],"declarations":[{"constant":false,"id":52200,"mutability":"mutable","name":"impl","nameLocation":"3764:4:67","nodeType":"VariableDeclaration","scope":52218,"src":"3756:12:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52199,"name":"address","nodeType":"ElementaryTypeName","src":"3756:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":52205,"initialValue":{"arguments":[{"id":52202,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52157,"src":"3792:12:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52203,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52164,"src":"3806:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"id":52201,"name":"deployImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52565,"src":"3771:20:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,struct Options memory) returns (address)"}},"id":52204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3771:40:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3756:55:67"},{"expression":{"arguments":[{"hexValue":"5472616e73706172656e745570677261646561626c6550726f78792e736f6c3a5472616e73706172656e745570677261646561626c6550726f7879","id":52208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3870:61:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_53b1f648833703f557b01187d2ba788e54a41f7ca0524fd42966d81ff1271eee","typeString":"literal_string \"TransparentUpgradeableProxy.sol:TransparentUpgradeableProxy\""},"value":"TransparentUpgradeableProxy.sol:TransparentUpgradeableProxy"},{"arguments":[{"id":52211,"name":"impl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52200,"src":"3960:4:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52212,"name":"initialOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52159,"src":"3966:12:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52213,"name":"initializerData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52161,"src":"3980:15:67","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":52209,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3949:3:67","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52210,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3953:6:67","memberName":"encode","nodeType":"MemberAccess","src":"3949:10:67","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":52214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3949:47:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":52215,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52164,"src":"4014:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_53b1f648833703f557b01187d2ba788e54a41f7ca0524fd42966d81ff1271eee","typeString":"literal_string \"TransparentUpgradeableProxy.sol:TransparentUpgradeableProxy\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"expression":{"id":52206,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"3841:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3846:6:67","memberName":"deploy","nodeType":"MemberAccess","referencedDeclaration":53967,"src":"3841:11:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,bytes memory,struct Options memory) returns (address)"}},"id":52216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3841:191:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":52168,"id":52217,"nodeType":"Return","src":"3822:210:67"}]},"documentation":{"id":52155,"nodeType":"StructuredDocumentation","src":"2334:627:67","text":" @dev Deploys a transparent proxy using the given contract as the implementation.\n @param contractName Name of the contract to use as the implementation, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param initialOwner Address to set as the owner of the ProxyAdmin contract which gets deployed by the proxy\n @param initializerData Encoded call data of the initializer function to call during creation of the proxy, or empty if no initialization is required\n @param opts Common options\n @return Proxy address"},"implemented":true,"kind":"function","modifiers":[],"name":"deployTransparentProxy","nameLocation":"2975:22:67","parameters":{"id":52165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52157,"mutability":"mutable","name":"contractName","nameLocation":"3021:12:67","nodeType":"VariableDeclaration","scope":52219,"src":"3007:26:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52156,"name":"string","nodeType":"ElementaryTypeName","src":"3007:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52159,"mutability":"mutable","name":"initialOwner","nameLocation":"3051:12:67","nodeType":"VariableDeclaration","scope":52219,"src":"3043:20:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52158,"name":"address","nodeType":"ElementaryTypeName","src":"3043:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52161,"mutability":"mutable","name":"initializerData","nameLocation":"3086:15:67","nodeType":"VariableDeclaration","scope":52219,"src":"3073:28:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":52160,"name":"bytes","nodeType":"ElementaryTypeName","src":"3073:5:67","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":52164,"mutability":"mutable","name":"opts","nameLocation":"3126:4:67","nodeType":"VariableDeclaration","scope":52219,"src":"3111:19:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":52163,"nodeType":"UserDefinedTypeName","pathNode":{"id":52162,"name":"Options","nameLocations":["3111:7:67"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"3111:7:67"},"referencedDeclaration":52051,"src":"3111:7:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"src":"2997:139:67"},"returnParameters":{"id":52168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52167,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52219,"src":"3155:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52166,"name":"address","nodeType":"ElementaryTypeName","src":"3155:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3154:9:67"},"scope":52643,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52243,"nodeType":"FunctionDefinition","src":"4643:295:67","nodes":[],"body":{"id":52242,"nodeType":"Block","src":"4812:126:67","nodes":[],"statements":[{"assignments":[52233],"declarations":[{"constant":false,"id":52233,"mutability":"mutable","name":"opts","nameLocation":"4837:4:67","nodeType":"VariableDeclaration","scope":52242,"src":"4822:19:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":52232,"nodeType":"UserDefinedTypeName","pathNode":{"id":52231,"name":"Options","nameLocations":["4822:7:67"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"4822:7:67"},"referencedDeclaration":52051,"src":"4822:7:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"id":52234,"nodeType":"VariableDeclarationStatement","src":"4822:19:67"},{"expression":{"arguments":[{"id":52236,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52222,"src":"4881:12:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52237,"name":"initialOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52224,"src":"4895:12:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52238,"name":"initializerData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52226,"src":"4909:15:67","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":52239,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52233,"src":"4926:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"id":52235,"name":"deployTransparentProxy","nodeType":"Identifier","overloadedDeclarations":[52219,52243],"referencedDeclaration":52219,"src":"4858:22:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,address,bytes memory,struct Options memory) returns (address)"}},"id":52240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4858:73:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":52230,"id":52241,"nodeType":"Return","src":"4851:80:67"}]},"documentation":{"id":52220,"nodeType":"StructuredDocumentation","src":"4045:593:67","text":" @dev Deploys a transparent proxy using the given contract as the implementation.\n @param contractName Name of the contract to use as the implementation, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param initialOwner Address to set as the owner of the ProxyAdmin contract which gets deployed by the proxy\n @param initializerData Encoded call data of the initializer function to call during creation of the proxy, or empty if no initialization is required\n @return Proxy address"},"implemented":true,"kind":"function","modifiers":[],"name":"deployTransparentProxy","nameLocation":"4652:22:67","parameters":{"id":52227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52222,"mutability":"mutable","name":"contractName","nameLocation":"4698:12:67","nodeType":"VariableDeclaration","scope":52243,"src":"4684:26:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52221,"name":"string","nodeType":"ElementaryTypeName","src":"4684:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52224,"mutability":"mutable","name":"initialOwner","nameLocation":"4728:12:67","nodeType":"VariableDeclaration","scope":52243,"src":"4720:20:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52223,"name":"address","nodeType":"ElementaryTypeName","src":"4720:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52226,"mutability":"mutable","name":"initializerData","nameLocation":"4763:15:67","nodeType":"VariableDeclaration","scope":52243,"src":"4750:28:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":52225,"name":"bytes","nodeType":"ElementaryTypeName","src":"4750:5:67","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4674:110:67"},"returnParameters":{"id":52230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52229,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52243,"src":"4803:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52228,"name":"address","nodeType":"ElementaryTypeName","src":"4803:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4802:9:67"},"scope":52643,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52266,"nodeType":"FunctionDefinition","src":"5681:181:67","nodes":[],"body":{"id":52265,"nodeType":"Block","src":"5795:67:67","nodes":[],"statements":[{"expression":{"arguments":[{"id":52259,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52246,"src":"5823:5:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52260,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52248,"src":"5830:12:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52261,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52250,"src":"5844:4:67","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":52262,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52253,"src":"5850:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"expression":{"id":52256,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"5805:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5810:12:67","memberName":"upgradeProxy","nodeType":"MemberAccess","referencedDeclaration":52900,"src":"5805:17:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$__$","typeString":"function (address,string memory,bytes memory,struct Options memory)"}},"id":52263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5805:50:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52264,"nodeType":"ExpressionStatement","src":"5805:50:67"}]},"documentation":{"id":52244,"nodeType":"StructuredDocumentation","src":"4944:732:67","text":" @dev Upgrades a proxy to a new implementation contract. Only supported for UUPS or transparent proxies.\n Requires that either the `referenceContract` option is set, or the new implementation contract has a `@custom:oz-upgrades-from ` annotation.\n @param proxy Address of the proxy to upgrade\n @param contractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param data Encoded call data of an arbitrary function to call during the upgrade process, or empty if no function needs to be called during the upgrade\n @param opts Common options"},"implemented":true,"kind":"function","modifiers":[],"name":"upgradeProxy","nameLocation":"5690:12:67","parameters":{"id":52254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52246,"mutability":"mutable","name":"proxy","nameLocation":"5711:5:67","nodeType":"VariableDeclaration","scope":52266,"src":"5703:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52245,"name":"address","nodeType":"ElementaryTypeName","src":"5703:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52248,"mutability":"mutable","name":"contractName","nameLocation":"5732:12:67","nodeType":"VariableDeclaration","scope":52266,"src":"5718:26:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52247,"name":"string","nodeType":"ElementaryTypeName","src":"5718:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52250,"mutability":"mutable","name":"data","nameLocation":"5759:4:67","nodeType":"VariableDeclaration","scope":52266,"src":"5746:17:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":52249,"name":"bytes","nodeType":"ElementaryTypeName","src":"5746:5:67","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":52253,"mutability":"mutable","name":"opts","nameLocation":"5780:4:67","nodeType":"VariableDeclaration","scope":52266,"src":"5765:19:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":52252,"nodeType":"UserDefinedTypeName","pathNode":{"id":52251,"name":"Options","nameLocations":["5765:7:67"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"5765:7:67"},"referencedDeclaration":52051,"src":"5765:7:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"src":"5702:83:67"},"returnParameters":{"id":52255,"nodeType":"ParameterList","parameters":[],"src":"5795:0:67"},"scope":52643,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52290,"nodeType":"FunctionDefinition","src":"6571:189:67","nodes":[],"body":{"id":52289,"nodeType":"Block","src":"6664:96:67","nodes":[],"statements":[{"assignments":[52278],"declarations":[{"constant":false,"id":52278,"mutability":"mutable","name":"opts","nameLocation":"6689:4:67","nodeType":"VariableDeclaration","scope":52289,"src":"6674:19:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":52277,"nodeType":"UserDefinedTypeName","pathNode":{"id":52276,"name":"Options","nameLocations":["6674:7:67"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"6674:7:67"},"referencedDeclaration":52051,"src":"6674:7:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"id":52279,"nodeType":"VariableDeclarationStatement","src":"6674:19:67"},{"expression":{"arguments":[{"id":52283,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52269,"src":"6721:5:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52284,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52271,"src":"6728:12:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52285,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52273,"src":"6742:4:67","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":52286,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52278,"src":"6748:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"expression":{"id":52280,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"6703:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6708:12:67","memberName":"upgradeProxy","nodeType":"MemberAccess","referencedDeclaration":52900,"src":"6703:17:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$__$","typeString":"function (address,string memory,bytes memory,struct Options memory)"}},"id":52287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6703:50:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52288,"nodeType":"ExpressionStatement","src":"6703:50:67"}]},"documentation":{"id":52267,"nodeType":"StructuredDocumentation","src":"5868:698:67","text":" @dev Upgrades a proxy to a new implementation contract. Only supported for UUPS or transparent proxies.\n Requires that either the `referenceContract` option is set, or the new implementation contract has a `@custom:oz-upgrades-from ` annotation.\n @param proxy Address of the proxy to upgrade\n @param contractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param data Encoded call data of an arbitrary function to call during the upgrade process, or empty if no function needs to be called during the upgrade"},"implemented":true,"kind":"function","modifiers":[],"name":"upgradeProxy","nameLocation":"6580:12:67","parameters":{"id":52274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52269,"mutability":"mutable","name":"proxy","nameLocation":"6601:5:67","nodeType":"VariableDeclaration","scope":52290,"src":"6593:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52268,"name":"address","nodeType":"ElementaryTypeName","src":"6593:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52271,"mutability":"mutable","name":"contractName","nameLocation":"6622:12:67","nodeType":"VariableDeclaration","scope":52290,"src":"6608:26:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52270,"name":"string","nodeType":"ElementaryTypeName","src":"6608:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52273,"mutability":"mutable","name":"data","nameLocation":"6649:4:67","nodeType":"VariableDeclaration","scope":52290,"src":"6636:17:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":52272,"name":"bytes","nodeType":"ElementaryTypeName","src":"6636:5:67","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6592:62:67"},"returnParameters":{"id":52275,"nodeType":"ParameterList","parameters":[],"src":"6664:0:67"},"scope":52643,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52316,"nodeType":"FunctionDefinition","src":"7987:257:67","nodes":[],"body":{"id":52315,"nodeType":"Block","src":"8166:78:67","nodes":[],"statements":[{"expression":{"arguments":[{"id":52308,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52293,"src":"8194:5:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52309,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52295,"src":"8201:12:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52310,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52297,"src":"8215:4:67","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":52311,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52300,"src":"8221:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},{"id":52312,"name":"tryCaller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52302,"src":"8227:9:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52305,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"8176:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8181:12:67","memberName":"upgradeProxy","nodeType":"MemberAccess","referencedDeclaration":52926,"src":"8176:17:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$_t_address_$returns$__$","typeString":"function (address,string memory,bytes memory,struct Options memory,address)"}},"id":52313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8176:61:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52314,"nodeType":"ExpressionStatement","src":"8176:61:67"}]},"documentation":{"id":52291,"nodeType":"StructuredDocumentation","src":"6766:1216:67","text":" @notice For tests only. If broadcasting in scripts, use the `--sender
` option with `forge script` instead.\n @dev Upgrades a proxy to a new implementation contract. Only supported for UUPS or transparent proxies.\n Requires that either the `referenceContract` option is set, or the new implementation contract has a `@custom:oz-upgrades-from ` annotation.\n This function provides an additional `tryCaller` parameter to test an upgrade using a specific caller address.\n Use this if you encounter `OwnableUnauthorizedAccount` errors in your tests.\n @param proxy Address of the proxy to upgrade\n @param contractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param data Encoded call data of an arbitrary function to call during the upgrade process, or empty if no function needs to be called during the upgrade\n @param opts Common options\n @param tryCaller Address to use as the caller of the upgrade function. This should be the address that owns the proxy or its ProxyAdmin."},"implemented":true,"kind":"function","modifiers":[],"name":"upgradeProxy","nameLocation":"7996:12:67","parameters":{"id":52303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52293,"mutability":"mutable","name":"proxy","nameLocation":"8026:5:67","nodeType":"VariableDeclaration","scope":52316,"src":"8018:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52292,"name":"address","nodeType":"ElementaryTypeName","src":"8018:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52295,"mutability":"mutable","name":"contractName","nameLocation":"8055:12:67","nodeType":"VariableDeclaration","scope":52316,"src":"8041:26:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52294,"name":"string","nodeType":"ElementaryTypeName","src":"8041:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52297,"mutability":"mutable","name":"data","nameLocation":"8090:4:67","nodeType":"VariableDeclaration","scope":52316,"src":"8077:17:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":52296,"name":"bytes","nodeType":"ElementaryTypeName","src":"8077:5:67","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":52300,"mutability":"mutable","name":"opts","nameLocation":"8119:4:67","nodeType":"VariableDeclaration","scope":52316,"src":"8104:19:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":52299,"nodeType":"UserDefinedTypeName","pathNode":{"id":52298,"name":"Options","nameLocations":["8104:7:67"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"8104:7:67"},"referencedDeclaration":52051,"src":"8104:7:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"},{"constant":false,"id":52302,"mutability":"mutable","name":"tryCaller","nameLocation":"8141:9:67","nodeType":"VariableDeclaration","scope":52316,"src":"8133:17:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52301,"name":"address","nodeType":"ElementaryTypeName","src":"8133:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8008:148:67"},"returnParameters":{"id":52304,"nodeType":"ParameterList","parameters":[],"src":"8166:0:67"},"scope":52643,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52343,"nodeType":"FunctionDefinition","src":"9437:219:67","nodes":[],"body":{"id":52342,"nodeType":"Block","src":"9549:107:67","nodes":[],"statements":[{"assignments":[52330],"declarations":[{"constant":false,"id":52330,"mutability":"mutable","name":"opts","nameLocation":"9574:4:67","nodeType":"VariableDeclaration","scope":52342,"src":"9559:19:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":52329,"nodeType":"UserDefinedTypeName","pathNode":{"id":52328,"name":"Options","nameLocations":["9559:7:67"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"9559:7:67"},"referencedDeclaration":52051,"src":"9559:7:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"id":52331,"nodeType":"VariableDeclarationStatement","src":"9559:19:67"},{"expression":{"arguments":[{"id":52335,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52319,"src":"9606:5:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52336,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52321,"src":"9613:12:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52337,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52323,"src":"9627:4:67","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":52338,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52330,"src":"9633:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},{"id":52339,"name":"tryCaller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52325,"src":"9639:9:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52332,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"9588:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9593:12:67","memberName":"upgradeProxy","nodeType":"MemberAccess","referencedDeclaration":52926,"src":"9588:17:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$_t_address_$returns$__$","typeString":"function (address,string memory,bytes memory,struct Options memory,address)"}},"id":52340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9588:61:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52341,"nodeType":"ExpressionStatement","src":"9588:61:67"}]},"documentation":{"id":52317,"nodeType":"StructuredDocumentation","src":"8250:1182:67","text":" @notice For tests only. If broadcasting in scripts, use the `--sender
` option with `forge script` instead.\n @dev Upgrades a proxy to a new implementation contract. Only supported for UUPS or transparent proxies.\n Requires that either the `referenceContract` option is set, or the new implementation contract has a `@custom:oz-upgrades-from ` annotation.\n This function provides an additional `tryCaller` parameter to test an upgrade using a specific caller address.\n Use this if you encounter `OwnableUnauthorizedAccount` errors in your tests.\n @param proxy Address of the proxy to upgrade\n @param contractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param data Encoded call data of an arbitrary function to call during the upgrade process, or empty if no function needs to be called during the upgrade\n @param tryCaller Address to use as the caller of the upgrade function. This should be the address that owns the proxy or its ProxyAdmin."},"implemented":true,"kind":"function","modifiers":[],"name":"upgradeProxy","nameLocation":"9446:12:67","parameters":{"id":52326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52319,"mutability":"mutable","name":"proxy","nameLocation":"9467:5:67","nodeType":"VariableDeclaration","scope":52343,"src":"9459:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52318,"name":"address","nodeType":"ElementaryTypeName","src":"9459:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52321,"mutability":"mutable","name":"contractName","nameLocation":"9488:12:67","nodeType":"VariableDeclaration","scope":52343,"src":"9474:26:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52320,"name":"string","nodeType":"ElementaryTypeName","src":"9474:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52323,"mutability":"mutable","name":"data","nameLocation":"9515:4:67","nodeType":"VariableDeclaration","scope":52343,"src":"9502:17:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":52322,"name":"bytes","nodeType":"ElementaryTypeName","src":"9502:5:67","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":52325,"mutability":"mutable","name":"tryCaller","nameLocation":"9529:9:67","nodeType":"VariableDeclaration","scope":52343,"src":"9521:17:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52324,"name":"address","nodeType":"ElementaryTypeName","src":"9521:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9458:81:67"},"returnParameters":{"id":52327,"nodeType":"ParameterList","parameters":[],"src":"9549:0:67"},"scope":52643,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52375,"nodeType":"FunctionDefinition","src":"10135:332:67","nodes":[],"body":{"id":52374,"nodeType":"Block","src":"10285:182:67","nodes":[],"statements":[{"assignments":[52357],"declarations":[{"constant":false,"id":52357,"mutability":"mutable","name":"impl","nameLocation":"10303:4:67","nodeType":"VariableDeclaration","scope":52374,"src":"10295:12:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52356,"name":"address","nodeType":"ElementaryTypeName","src":"10295:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":52362,"initialValue":{"arguments":[{"id":52359,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52346,"src":"10331:12:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52360,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52351,"src":"10345:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"id":52358,"name":"deployImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52565,"src":"10310:20:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,struct Options memory) returns (address)"}},"id":52361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10310:40:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10295:55:67"},{"expression":{"arguments":[{"hexValue":"5570677261646561626c65426561636f6e2e736f6c3a5570677261646561626c65426561636f6e","id":52365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10380:41:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_a4bcf04f17569868fe8016abd1ddf8a52286c54ebb0bb3c426d2793aee6de69c","typeString":"literal_string \"UpgradeableBeacon.sol:UpgradeableBeacon\""},"value":"UpgradeableBeacon.sol:UpgradeableBeacon"},{"arguments":[{"id":52368,"name":"impl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52357,"src":"10434:4:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52369,"name":"initialOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52348,"src":"10440:12:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52366,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10423:3:67","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52367,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10427:6:67","memberName":"encode","nodeType":"MemberAccess","src":"10423:10:67","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":52370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10423:30:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":52371,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52351,"src":"10455:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a4bcf04f17569868fe8016abd1ddf8a52286c54ebb0bb3c426d2793aee6de69c","typeString":"literal_string \"UpgradeableBeacon.sol:UpgradeableBeacon\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"expression":{"id":52363,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"10368:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10373:6:67","memberName":"deploy","nodeType":"MemberAccess","referencedDeclaration":53967,"src":"10368:11:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,bytes memory,struct Options memory) returns (address)"}},"id":52372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10368:92:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":52355,"id":52373,"nodeType":"Return","src":"10361:99:67"}]},"documentation":{"id":52344,"nodeType":"StructuredDocumentation","src":"9662:468:67","text":" @dev Deploys an upgradeable beacon using the given contract as the implementation.\n @param contractName Name of the contract to use as the implementation, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param initialOwner Address to set as the owner of the UpgradeableBeacon contract which gets deployed\n @param opts Common options\n @return Beacon address"},"implemented":true,"kind":"function","modifiers":[],"name":"deployBeacon","nameLocation":"10144:12:67","parameters":{"id":52352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52346,"mutability":"mutable","name":"contractName","nameLocation":"10180:12:67","nodeType":"VariableDeclaration","scope":52375,"src":"10166:26:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52345,"name":"string","nodeType":"ElementaryTypeName","src":"10166:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52348,"mutability":"mutable","name":"initialOwner","nameLocation":"10210:12:67","nodeType":"VariableDeclaration","scope":52375,"src":"10202:20:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52347,"name":"address","nodeType":"ElementaryTypeName","src":"10202:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52351,"mutability":"mutable","name":"opts","nameLocation":"10247:4:67","nodeType":"VariableDeclaration","scope":52375,"src":"10232:19:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":52350,"nodeType":"UserDefinedTypeName","pathNode":{"id":52349,"name":"Options","nameLocations":["10232:7:67"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"10232:7:67"},"referencedDeclaration":52051,"src":"10232:7:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"src":"10156:101:67"},"returnParameters":{"id":52355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52354,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52375,"src":"10276:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52353,"name":"address","nodeType":"ElementaryTypeName","src":"10276:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10275:9:67"},"scope":52643,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52396,"nodeType":"FunctionDefinition","src":"10912:198:67","nodes":[],"body":{"id":52395,"nodeType":"Block","src":"11011:99:67","nodes":[],"statements":[{"assignments":[52387],"declarations":[{"constant":false,"id":52387,"mutability":"mutable","name":"opts","nameLocation":"11036:4:67","nodeType":"VariableDeclaration","scope":52395,"src":"11021:19:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":52386,"nodeType":"UserDefinedTypeName","pathNode":{"id":52385,"name":"Options","nameLocations":["11021:7:67"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"11021:7:67"},"referencedDeclaration":52051,"src":"11021:7:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"id":52388,"nodeType":"VariableDeclarationStatement","src":"11021:19:67"},{"expression":{"arguments":[{"id":52390,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52378,"src":"11070:12:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52391,"name":"initialOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52380,"src":"11084:12:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52392,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52387,"src":"11098:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"id":52389,"name":"deployBeacon","nodeType":"Identifier","overloadedDeclarations":[52375,52396],"referencedDeclaration":52375,"src":"11057:12:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$_t_struct$_Options_$52051_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,address,struct Options memory) returns (address)"}},"id":52393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11057:46:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":52384,"id":52394,"nodeType":"Return","src":"11050:53:67"}]},"documentation":{"id":52376,"nodeType":"StructuredDocumentation","src":"10473:434:67","text":" @dev Deploys an upgradeable beacon using the given contract as the implementation.\n @param contractName Name of the contract to use as the implementation, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param initialOwner Address to set as the owner of the UpgradeableBeacon contract which gets deployed\n @return Beacon address"},"implemented":true,"kind":"function","modifiers":[],"name":"deployBeacon","nameLocation":"10921:12:67","parameters":{"id":52381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52378,"mutability":"mutable","name":"contractName","nameLocation":"10948:12:67","nodeType":"VariableDeclaration","scope":52396,"src":"10934:26:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52377,"name":"string","nodeType":"ElementaryTypeName","src":"10934:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52380,"mutability":"mutable","name":"initialOwner","nameLocation":"10970:12:67","nodeType":"VariableDeclaration","scope":52396,"src":"10962:20:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52379,"name":"address","nodeType":"ElementaryTypeName","src":"10962:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10933:50:67"},"returnParameters":{"id":52384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52383,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52396,"src":"11002:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52382,"name":"address","nodeType":"ElementaryTypeName","src":"11002:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11001:9:67"},"scope":52643,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52416,"nodeType":"FunctionDefinition","src":"11648:160:67","nodes":[],"body":{"id":52415,"nodeType":"Block","src":"11745:63:67","nodes":[],"statements":[{"expression":{"arguments":[{"id":52410,"name":"beacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52399,"src":"11774:6:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52411,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52401,"src":"11782:12:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52412,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52404,"src":"11796:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"expression":{"id":52407,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"11755:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11760:13:67","memberName":"upgradeBeacon","nodeType":"MemberAccess","referencedDeclaration":53091,"src":"11755:18:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$__$","typeString":"function (address,string memory,struct Options memory)"}},"id":52413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11755:46:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52414,"nodeType":"ExpressionStatement","src":"11755:46:67"}]},"documentation":{"id":52397,"nodeType":"StructuredDocumentation","src":"11116:527:67","text":" @dev Upgrades a beacon to a new implementation contract.\n Requires that either the `referenceContract` option is set, or the new implementation contract has a `@custom:oz-upgrades-from ` annotation.\n @param beacon Address of the beacon to upgrade\n @param contractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param opts Common options"},"implemented":true,"kind":"function","modifiers":[],"name":"upgradeBeacon","nameLocation":"11657:13:67","parameters":{"id":52405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52399,"mutability":"mutable","name":"beacon","nameLocation":"11679:6:67","nodeType":"VariableDeclaration","scope":52416,"src":"11671:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52398,"name":"address","nodeType":"ElementaryTypeName","src":"11671:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52401,"mutability":"mutable","name":"contractName","nameLocation":"11701:12:67","nodeType":"VariableDeclaration","scope":52416,"src":"11687:26:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52400,"name":"string","nodeType":"ElementaryTypeName","src":"11687:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52404,"mutability":"mutable","name":"opts","nameLocation":"11730:4:67","nodeType":"VariableDeclaration","scope":52416,"src":"11715:19:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":52403,"nodeType":"UserDefinedTypeName","pathNode":{"id":52402,"name":"Options","nameLocations":["11715:7:67"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"11715:7:67"},"referencedDeclaration":52051,"src":"11715:7:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"src":"11670:65:67"},"returnParameters":{"id":52406,"nodeType":"ParameterList","parameters":[],"src":"11745:0:67"},"scope":52643,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52437,"nodeType":"FunctionDefinition","src":"12312:168:67","nodes":[],"body":{"id":52436,"nodeType":"Block","src":"12388:92:67","nodes":[],"statements":[{"assignments":[52426],"declarations":[{"constant":false,"id":52426,"mutability":"mutable","name":"opts","nameLocation":"12413:4:67","nodeType":"VariableDeclaration","scope":52436,"src":"12398:19:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":52425,"nodeType":"UserDefinedTypeName","pathNode":{"id":52424,"name":"Options","nameLocations":["12398:7:67"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"12398:7:67"},"referencedDeclaration":52051,"src":"12398:7:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"id":52427,"nodeType":"VariableDeclarationStatement","src":"12398:19:67"},{"expression":{"arguments":[{"id":52431,"name":"beacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52419,"src":"12446:6:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52432,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52421,"src":"12454:12:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52433,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52426,"src":"12468:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"expression":{"id":52428,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"12427:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12432:13:67","memberName":"upgradeBeacon","nodeType":"MemberAccess","referencedDeclaration":53091,"src":"12427:18:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$__$","typeString":"function (address,string memory,struct Options memory)"}},"id":52434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12427:46:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52435,"nodeType":"ExpressionStatement","src":"12427:46:67"}]},"documentation":{"id":52417,"nodeType":"StructuredDocumentation","src":"11814:493:67","text":" @dev Upgrades a beacon to a new implementation contract.\n Requires that either the `referenceContract` option is set, or the new implementation contract has a `@custom:oz-upgrades-from ` annotation.\n @param beacon Address of the beacon to upgrade\n @param contractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory"},"implemented":true,"kind":"function","modifiers":[],"name":"upgradeBeacon","nameLocation":"12321:13:67","parameters":{"id":52422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52419,"mutability":"mutable","name":"beacon","nameLocation":"12343:6:67","nodeType":"VariableDeclaration","scope":52437,"src":"12335:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52418,"name":"address","nodeType":"ElementaryTypeName","src":"12335:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52421,"mutability":"mutable","name":"contractName","nameLocation":"12365:12:67","nodeType":"VariableDeclaration","scope":52437,"src":"12351:26:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52420,"name":"string","nodeType":"ElementaryTypeName","src":"12351:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12334:44:67"},"returnParameters":{"id":52423,"nodeType":"ParameterList","parameters":[],"src":"12388:0:67"},"scope":52643,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52460,"nodeType":"FunctionDefinition","src":"13485:228:67","nodes":[],"body":{"id":52459,"nodeType":"Block","src":"13639:74:67","nodes":[],"statements":[{"expression":{"arguments":[{"id":52453,"name":"beacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52440,"src":"13668:6:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52454,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52442,"src":"13676:12:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52455,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52445,"src":"13690:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},{"id":52456,"name":"tryCaller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52447,"src":"13696:9:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52450,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"13649:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13654:13:67","memberName":"upgradeBeacon","nodeType":"MemberAccess","referencedDeclaration":53114,"src":"13649:18:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$_t_address_$returns$__$","typeString":"function (address,string memory,struct Options memory,address)"}},"id":52457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13649:57:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52458,"nodeType":"ExpressionStatement","src":"13649:57:67"}]},"documentation":{"id":52438,"nodeType":"StructuredDocumentation","src":"12486:994:67","text":" @notice For tests only. If broadcasting in scripts, use the `--sender
` option with `forge script` instead.\n @dev Upgrades a beacon to a new implementation contract.\n Requires that either the `referenceContract` option is set, or the new implementation contract has a `@custom:oz-upgrades-from ` annotation.\n This function provides an additional `tryCaller` parameter to test an upgrade using a specific caller address.\n Use this if you encounter `OwnableUnauthorizedAccount` errors in your tests.\n @param beacon Address of the beacon to upgrade\n @param contractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param opts Common options\n @param tryCaller Address to use as the caller of the upgrade function. This should be the address that owns the beacon."},"implemented":true,"kind":"function","modifiers":[],"name":"upgradeBeacon","nameLocation":"13494:13:67","parameters":{"id":52448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52440,"mutability":"mutable","name":"beacon","nameLocation":"13525:6:67","nodeType":"VariableDeclaration","scope":52460,"src":"13517:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52439,"name":"address","nodeType":"ElementaryTypeName","src":"13517:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52442,"mutability":"mutable","name":"contractName","nameLocation":"13555:12:67","nodeType":"VariableDeclaration","scope":52460,"src":"13541:26:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52441,"name":"string","nodeType":"ElementaryTypeName","src":"13541:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52445,"mutability":"mutable","name":"opts","nameLocation":"13592:4:67","nodeType":"VariableDeclaration","scope":52460,"src":"13577:19:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":52444,"nodeType":"UserDefinedTypeName","pathNode":{"id":52443,"name":"Options","nameLocations":["13577:7:67"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"13577:7:67"},"referencedDeclaration":52051,"src":"13577:7:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"},{"constant":false,"id":52447,"mutability":"mutable","name":"tryCaller","nameLocation":"13614:9:67","nodeType":"VariableDeclaration","scope":52460,"src":"13606:17:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52446,"name":"address","nodeType":"ElementaryTypeName","src":"13606:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13507:122:67"},"returnParameters":{"id":52449,"nodeType":"ParameterList","parameters":[],"src":"13639:0:67"},"scope":52643,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52484,"nodeType":"FunctionDefinition","src":"14684:198:67","nodes":[],"body":{"id":52483,"nodeType":"Block","src":"14779:103:67","nodes":[],"statements":[{"assignments":[52472],"declarations":[{"constant":false,"id":52472,"mutability":"mutable","name":"opts","nameLocation":"14804:4:67","nodeType":"VariableDeclaration","scope":52483,"src":"14789:19:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":52471,"nodeType":"UserDefinedTypeName","pathNode":{"id":52470,"name":"Options","nameLocations":["14789:7:67"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"14789:7:67"},"referencedDeclaration":52051,"src":"14789:7:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"id":52473,"nodeType":"VariableDeclarationStatement","src":"14789:19:67"},{"expression":{"arguments":[{"id":52477,"name":"beacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52463,"src":"14837:6:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52478,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52465,"src":"14845:12:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52479,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52472,"src":"14859:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},{"id":52480,"name":"tryCaller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52467,"src":"14865:9:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52474,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"14818:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14823:13:67","memberName":"upgradeBeacon","nodeType":"MemberAccess","referencedDeclaration":53114,"src":"14818:18:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$_t_address_$returns$__$","typeString":"function (address,string memory,struct Options memory,address)"}},"id":52481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14818:57:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52482,"nodeType":"ExpressionStatement","src":"14818:57:67"}]},"documentation":{"id":52461,"nodeType":"StructuredDocumentation","src":"13719:960:67","text":" @notice For tests only. If broadcasting in scripts, use the `--sender
` option with `forge script` instead.\n @dev Upgrades a beacon to a new implementation contract.\n Requires that either the `referenceContract` option is set, or the new implementation contract has a `@custom:oz-upgrades-from ` annotation.\n This function provides an additional `tryCaller` parameter to test an upgrade using a specific caller address.\n Use this if you encounter `OwnableUnauthorizedAccount` errors in your tests.\n @param beacon Address of the beacon to upgrade\n @param contractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param tryCaller Address to use as the caller of the upgrade function. This should be the address that owns the beacon."},"implemented":true,"kind":"function","modifiers":[],"name":"upgradeBeacon","nameLocation":"14693:13:67","parameters":{"id":52468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52463,"mutability":"mutable","name":"beacon","nameLocation":"14715:6:67","nodeType":"VariableDeclaration","scope":52484,"src":"14707:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52462,"name":"address","nodeType":"ElementaryTypeName","src":"14707:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52465,"mutability":"mutable","name":"contractName","nameLocation":"14737:12:67","nodeType":"VariableDeclaration","scope":52484,"src":"14723:26:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52464,"name":"string","nodeType":"ElementaryTypeName","src":"14723:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52467,"mutability":"mutable","name":"tryCaller","nameLocation":"14759:9:67","nodeType":"VariableDeclaration","scope":52484,"src":"14751:17:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52466,"name":"address","nodeType":"ElementaryTypeName","src":"14751:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14706:63:67"},"returnParameters":{"id":52469,"nodeType":"ParameterList","parameters":[],"src":"14779:0:67"},"scope":52643,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52505,"nodeType":"FunctionDefinition","src":"15208:179:67","nodes":[],"body":{"id":52504,"nodeType":"Block","src":"15297:90:67","nodes":[],"statements":[{"assignments":[52496],"declarations":[{"constant":false,"id":52496,"mutability":"mutable","name":"opts","nameLocation":"15322:4:67","nodeType":"VariableDeclaration","scope":52504,"src":"15307:19:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":52495,"nodeType":"UserDefinedTypeName","pathNode":{"id":52494,"name":"Options","nameLocations":["15307:7:67"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"15307:7:67"},"referencedDeclaration":52051,"src":"15307:7:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"id":52497,"nodeType":"VariableDeclarationStatement","src":"15307:19:67"},{"expression":{"arguments":[{"id":52499,"name":"beacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52487,"src":"15361:6:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52500,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52489,"src":"15369:4:67","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":52501,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52496,"src":"15375:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"id":52498,"name":"deployBeaconProxy","nodeType":"Identifier","overloadedDeclarations":[52505,52530],"referencedDeclaration":52530,"src":"15343:17:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$_t_address_$","typeString":"function (address,bytes memory,struct Options memory) returns (address)"}},"id":52502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15343:37:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":52493,"id":52503,"nodeType":"Return","src":"15336:44:67"}]},"documentation":{"id":52485,"nodeType":"StructuredDocumentation","src":"14888:315:67","text":" @dev Deploys a beacon proxy using the given beacon and call data.\n @param beacon Address of the beacon to use\n @param data Encoded call data of the initializer function to call during creation of the proxy, or empty if no initialization is required\n @return Proxy address"},"implemented":true,"kind":"function","modifiers":[],"name":"deployBeaconProxy","nameLocation":"15217:17:67","parameters":{"id":52490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52487,"mutability":"mutable","name":"beacon","nameLocation":"15243:6:67","nodeType":"VariableDeclaration","scope":52505,"src":"15235:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52486,"name":"address","nodeType":"ElementaryTypeName","src":"15235:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52489,"mutability":"mutable","name":"data","nameLocation":"15264:4:67","nodeType":"VariableDeclaration","scope":52505,"src":"15251:17:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":52488,"name":"bytes","nodeType":"ElementaryTypeName","src":"15251:5:67","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15234:35:67"},"returnParameters":{"id":52493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52492,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52505,"src":"15288:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52491,"name":"address","nodeType":"ElementaryTypeName","src":"15288:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15287:9:67"},"scope":52643,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52530,"nodeType":"FunctionDefinition","src":"15747:208:67","nodes":[],"body":{"id":52529,"nodeType":"Block","src":"15857:98:67","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"426561636f6e50726f78792e736f6c3a426561636f6e50726f7879","id":52520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15886:29:67","typeDescriptions":{"typeIdentifier":"t_stringliteral_542524bc795f47ccffc050af375f5dc6da21a91d2c9840da85fbcd43dcffd3b9","typeString":"literal_string \"BeaconProxy.sol:BeaconProxy\""},"value":"BeaconProxy.sol:BeaconProxy"},{"arguments":[{"id":52523,"name":"beacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52508,"src":"15928:6:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52524,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52510,"src":"15936:4:67","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":52521,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15917:3:67","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52522,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15921:6:67","memberName":"encode","nodeType":"MemberAccess","src":"15917:10:67","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":52525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15917:24:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":52526,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52513,"src":"15943:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_542524bc795f47ccffc050af375f5dc6da21a91d2c9840da85fbcd43dcffd3b9","typeString":"literal_string \"BeaconProxy.sol:BeaconProxy\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"expression":{"id":52518,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"15874:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15879:6:67","memberName":"deploy","nodeType":"MemberAccess","referencedDeclaration":53967,"src":"15874:11:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,bytes memory,struct Options memory) returns (address)"}},"id":52527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15874:74:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":52517,"id":52528,"nodeType":"Return","src":"15867:81:67"}]},"documentation":{"id":52506,"nodeType":"StructuredDocumentation","src":"15393:349:67","text":" @dev Deploys a beacon proxy using the given beacon and call data.\n @param beacon Address of the beacon to use\n @param data Encoded call data of the initializer function to call during creation of the proxy, or empty if no initialization is required\n @param opts Common options\n @return Proxy address"},"implemented":true,"kind":"function","modifiers":[],"name":"deployBeaconProxy","nameLocation":"15756:17:67","parameters":{"id":52514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52508,"mutability":"mutable","name":"beacon","nameLocation":"15782:6:67","nodeType":"VariableDeclaration","scope":52530,"src":"15774:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52507,"name":"address","nodeType":"ElementaryTypeName","src":"15774:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52510,"mutability":"mutable","name":"data","nameLocation":"15803:4:67","nodeType":"VariableDeclaration","scope":52530,"src":"15790:17:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":52509,"name":"bytes","nodeType":"ElementaryTypeName","src":"15790:5:67","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":52513,"mutability":"mutable","name":"opts","nameLocation":"15824:4:67","nodeType":"VariableDeclaration","scope":52530,"src":"15809:19:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":52512,"nodeType":"UserDefinedTypeName","pathNode":{"id":52511,"name":"Options","nameLocations":["15809:7:67"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"15809:7:67"},"referencedDeclaration":52051,"src":"15809:7:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"src":"15773:56:67"},"returnParameters":{"id":52517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52516,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52530,"src":"15848:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52515,"name":"address","nodeType":"ElementaryTypeName","src":"15848:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15847:9:67"},"scope":52643,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52547,"nodeType":"FunctionDefinition","src":"16262:154:67","nodes":[],"body":{"id":52546,"nodeType":"Block","src":"16352:64:67","nodes":[],"statements":[{"expression":{"arguments":[{"id":52542,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52533,"src":"16390:12:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52543,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52536,"src":"16404:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"expression":{"id":52539,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"16362:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16367:22:67","memberName":"validateImplementation","nodeType":"MemberAccess","referencedDeclaration":53165,"src":"16362:27:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$__$","typeString":"function (string memory,struct Options memory)"}},"id":52544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16362:47:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52545,"nodeType":"ExpressionStatement","src":"16362:47:67"}]},"documentation":{"id":52531,"nodeType":"StructuredDocumentation","src":"15961:296:67","text":" @dev Validates an implementation contract, but does not deploy it.\n @param contractName Name of the contract to validate, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param opts Common options"},"implemented":true,"kind":"function","modifiers":[],"name":"validateImplementation","nameLocation":"16271:22:67","parameters":{"id":52537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52533,"mutability":"mutable","name":"contractName","nameLocation":"16308:12:67","nodeType":"VariableDeclaration","scope":52547,"src":"16294:26:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52532,"name":"string","nodeType":"ElementaryTypeName","src":"16294:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52536,"mutability":"mutable","name":"opts","nameLocation":"16337:4:67","nodeType":"VariableDeclaration","scope":52547,"src":"16322:19:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":52535,"nodeType":"UserDefinedTypeName","pathNode":{"id":52534,"name":"Options","nameLocations":["16322:7:67"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"16322:7:67"},"referencedDeclaration":52051,"src":"16322:7:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"src":"16293:49:67"},"returnParameters":{"id":52538,"nodeType":"ParameterList","parameters":[],"src":"16352:0:67"},"scope":52643,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52565,"nodeType":"FunctionDefinition","src":"16788:175:67","nodes":[],"body":{"id":52564,"nodeType":"Block","src":"16894:69:67","nodes":[],"statements":[{"expression":{"arguments":[{"id":52560,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52550,"src":"16937:12:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52561,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52553,"src":"16951:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"expression":{"id":52558,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"16911:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16916:20:67","memberName":"deployImplementation","nodeType":"MemberAccess","referencedDeclaration":53189,"src":"16911:25:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,struct Options memory) returns (address)"}},"id":52562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16911:45:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":52557,"id":52563,"nodeType":"Return","src":"16904:52:67"}]},"documentation":{"id":52548,"nodeType":"StructuredDocumentation","src":"16422:361:67","text":" @dev Validates and deploys an implementation contract, and returns its address.\n @param contractName Name of the contract to deploy, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param opts Common options\n @return Address of the implementation contract"},"implemented":true,"kind":"function","modifiers":[],"name":"deployImplementation","nameLocation":"16797:20:67","parameters":{"id":52554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52550,"mutability":"mutable","name":"contractName","nameLocation":"16832:12:67","nodeType":"VariableDeclaration","scope":52565,"src":"16818:26:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52549,"name":"string","nodeType":"ElementaryTypeName","src":"16818:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52553,"mutability":"mutable","name":"opts","nameLocation":"16861:4:67","nodeType":"VariableDeclaration","scope":52565,"src":"16846:19:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":52552,"nodeType":"UserDefinedTypeName","pathNode":{"id":52551,"name":"Options","nameLocations":["16846:7:67"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"16846:7:67"},"referencedDeclaration":52051,"src":"16846:7:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"src":"16817:49:67"},"returnParameters":{"id":52557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52556,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52565,"src":"16885:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52555,"name":"address","nodeType":"ElementaryTypeName","src":"16885:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16884:9:67"},"scope":52643,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52582,"nodeType":"FunctionDefinition","src":"17460:140:67","nodes":[],"body":{"id":52581,"nodeType":"Block","src":"17543:57:67","nodes":[],"statements":[{"expression":{"arguments":[{"id":52577,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52568,"src":"17574:12:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52578,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52571,"src":"17588:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"expression":{"id":52574,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"17553:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17558:15:67","memberName":"validateUpgrade","nodeType":"MemberAccess","referencedDeclaration":53205,"src":"17553:20:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$__$","typeString":"function (string memory,struct Options memory)"}},"id":52579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17553:40:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52580,"nodeType":"ExpressionStatement","src":"17553:40:67"}]},"documentation":{"id":52566,"nodeType":"StructuredDocumentation","src":"16969:486:67","text":" @dev Validates a new implementation contract in comparison with a reference contract, but does not deploy it.\n Requires that either the `referenceContract` option is set, or the contract has a `@custom:oz-upgrades-from ` annotation.\n @param contractName Name of the contract to validate, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param opts Common options"},"implemented":true,"kind":"function","modifiers":[],"name":"validateUpgrade","nameLocation":"17469:15:67","parameters":{"id":52572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52568,"mutability":"mutable","name":"contractName","nameLocation":"17499:12:67","nodeType":"VariableDeclaration","scope":52582,"src":"17485:26:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52567,"name":"string","nodeType":"ElementaryTypeName","src":"17485:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52571,"mutability":"mutable","name":"opts","nameLocation":"17528:4:67","nodeType":"VariableDeclaration","scope":52582,"src":"17513:19:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":52570,"nodeType":"UserDefinedTypeName","pathNode":{"id":52569,"name":"Options","nameLocations":["17513:7:67"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"17513:7:67"},"referencedDeclaration":52051,"src":"17513:7:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"src":"17484:49:67"},"returnParameters":{"id":52573,"nodeType":"ParameterList","parameters":[],"src":"17543:0:67"},"scope":52643,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52600,"nodeType":"FunctionDefinition","src":"18362:163:67","nodes":[],"body":{"id":52599,"nodeType":"Block","src":"18462:63:67","nodes":[],"statements":[{"expression":{"arguments":[{"id":52595,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52585,"src":"18499:12:67","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52596,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52588,"src":"18513:4:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"expression":{"id":52593,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"18479:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18484:14:67","memberName":"prepareUpgrade","nodeType":"MemberAccess","referencedDeclaration":53229,"src":"18479:19:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,struct Options memory) returns (address)"}},"id":52597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18479:39:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":52592,"id":52598,"nodeType":"Return","src":"18472:46:67"}]},"documentation":{"id":52583,"nodeType":"StructuredDocumentation","src":"17606:751:67","text":" @dev Validates a new implementation contract in comparison with a reference contract, deploys the new implementation contract,\n and returns its address.\n Requires that either the `referenceContract` option is set, or the contract has a `@custom:oz-upgrades-from ` annotation.\n Use this method to prepare an upgrade to be run from an admin address you do not control directly or cannot use from your deployment environment.\n @param contractName Name of the contract to deploy, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param opts Common options\n @return Address of the new implementation contract"},"implemented":true,"kind":"function","modifiers":[],"name":"prepareUpgrade","nameLocation":"18371:14:67","parameters":{"id":52589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52585,"mutability":"mutable","name":"contractName","nameLocation":"18400:12:67","nodeType":"VariableDeclaration","scope":52600,"src":"18386:26:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52584,"name":"string","nodeType":"ElementaryTypeName","src":"18386:6:67","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52588,"mutability":"mutable","name":"opts","nameLocation":"18429:4:67","nodeType":"VariableDeclaration","scope":52600,"src":"18414:19:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":52587,"nodeType":"UserDefinedTypeName","pathNode":{"id":52586,"name":"Options","nameLocations":["18414:7:67"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"18414:7:67"},"referencedDeclaration":52051,"src":"18414:7:67","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"src":"18385:49:67"},"returnParameters":{"id":52592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52591,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52600,"src":"18453:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52590,"name":"address","nodeType":"ElementaryTypeName","src":"18453:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18452:9:67"},"scope":52643,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52614,"nodeType":"FunctionDefinition","src":"18729:123:67","nodes":[],"body":{"id":52613,"nodeType":"Block","src":"18801:51:67","nodes":[],"statements":[{"expression":{"arguments":[{"id":52610,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52603,"src":"18839:5:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52608,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"18818:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18823:15:67","memberName":"getAdminAddress","nodeType":"MemberAccess","referencedDeclaration":53265,"src":"18818:20:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":52611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18818:27:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":52607,"id":52612,"nodeType":"Return","src":"18811:34:67"}]},"documentation":{"id":52601,"nodeType":"StructuredDocumentation","src":"18531:193:67","text":" @dev Gets the admin address of a transparent proxy from its ERC1967 admin storage slot.\n @param proxy Address of a transparent proxy\n @return Admin address"},"implemented":true,"kind":"function","modifiers":[],"name":"getAdminAddress","nameLocation":"18738:15:67","parameters":{"id":52604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52603,"mutability":"mutable","name":"proxy","nameLocation":"18762:5:67","nodeType":"VariableDeclaration","scope":52614,"src":"18754:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52602,"name":"address","nodeType":"ElementaryTypeName","src":"18754:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18753:15:67"},"returnParameters":{"id":52607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52606,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52614,"src":"18792:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52605,"name":"address","nodeType":"ElementaryTypeName","src":"18792:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18791:9:67"},"scope":52643,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":52628,"nodeType":"FunctionDefinition","src":"19099:141:67","nodes":[],"body":{"id":52627,"nodeType":"Block","src":"19180:60:67","nodes":[],"statements":[{"expression":{"arguments":[{"id":52624,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52617,"src":"19227:5:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52622,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"19197:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19202:24:67","memberName":"getImplementationAddress","nodeType":"MemberAccess","referencedDeclaration":53301,"src":"19197:29:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":52625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19197:36:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":52621,"id":52626,"nodeType":"Return","src":"19190:43:67"}]},"documentation":{"id":52615,"nodeType":"StructuredDocumentation","src":"18858:236:67","text":" @dev Gets the implementation address of a transparent or UUPS proxy from its ERC1967 implementation storage slot.\n @param proxy Address of a transparent or UUPS proxy\n @return Implementation address"},"implemented":true,"kind":"function","modifiers":[],"name":"getImplementationAddress","nameLocation":"19108:24:67","parameters":{"id":52618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52617,"mutability":"mutable","name":"proxy","nameLocation":"19141:5:67","nodeType":"VariableDeclaration","scope":52628,"src":"19133:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52616,"name":"address","nodeType":"ElementaryTypeName","src":"19133:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19132:15:67"},"returnParameters":{"id":52621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52620,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52628,"src":"19171:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52619,"name":"address","nodeType":"ElementaryTypeName","src":"19171:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19170:9:67"},"scope":52643,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":52642,"nodeType":"FunctionDefinition","src":"19437:125:67","nodes":[],"body":{"id":52641,"nodeType":"Block","src":"19510:52:67","nodes":[],"statements":[{"expression":{"arguments":[{"id":52638,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52631,"src":"19549:5:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52636,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"19527:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19532:16:67","memberName":"getBeaconAddress","nodeType":"MemberAccess","referencedDeclaration":53337,"src":"19527:21:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":52639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19527:28:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":52635,"id":52640,"nodeType":"Return","src":"19520:35:67"}]},"documentation":{"id":52629,"nodeType":"StructuredDocumentation","src":"19246:186:67","text":" @dev Gets the beacon address of a beacon proxy from its ERC1967 beacon storage slot.\n @param proxy Address of a beacon proxy\n @return Beacon address"},"implemented":true,"kind":"function","modifiers":[],"name":"getBeaconAddress","nameLocation":"19446:16:67","parameters":{"id":52632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52631,"mutability":"mutable","name":"proxy","nameLocation":"19471:5:67","nodeType":"VariableDeclaration","scope":52642,"src":"19463:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52630,"name":"address","nodeType":"ElementaryTypeName","src":"19463:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19462:15:67"},"returnParameters":{"id":52635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52634,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52642,"src":"19501:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52633,"name":"address","nodeType":"ElementaryTypeName","src":"19501:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19500:9:67"},"scope":52643,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"Upgrades","contractDependencies":[],"contractKind":"library","documentation":{"id":52101,"nodeType":"StructuredDocumentation","src":"602:159:67","text":" @dev Library for deploying and managing upgradeable contracts from Forge scripts or tests.\n NOTE: Requires OpenZeppelin Contracts v5 or higher."},"fullyImplemented":true,"linearizedBaseContracts":[52643],"name":"Upgrades","nameLocation":"770:8:67","scope":52851,"usedErrors":[],"usedEvents":[]},{"id":52850,"nodeType":"ContractDefinition","src":"20236:6207:67","nodes":[{"id":52665,"nodeType":"FunctionDefinition","src":"20634:168:67","nodes":[],"body":{"id":52664,"nodeType":"Block","src":"20730:72:67","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":52659,"name":"impl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52647,"src":"20772:4:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52660,"name":"initializerData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52649,"src":"20778:15:67","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"20755:16:67","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$41785_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":52657,"nodeType":"UserDefinedTypeName","pathNode":{"id":52656,"name":"ERC1967Proxy","nameLocations":["20759:12:67"],"nodeType":"IdentifierPath","referencedDeclaration":41785,"src":"20759:12:67"},"referencedDeclaration":41785,"src":"20759:12:67","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$41785","typeString":"contract ERC1967Proxy"}}},"id":52661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20755:39:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$41785","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$41785","typeString":"contract ERC1967Proxy"}],"id":52655,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20747:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52654,"name":"address","nodeType":"ElementaryTypeName","src":"20747:7:67","typeDescriptions":{}}},"id":52662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20747:48:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":52653,"id":52663,"nodeType":"Return","src":"20740:55:67"}]},"documentation":{"id":52645,"nodeType":"StructuredDocumentation","src":"20265:364:67","text":" @dev Deploys a UUPS proxy using the given contract address as the implementation.\n @param impl Address of the contract to use as the implementation\n @param initializerData Encoded call data of the initializer function to call during creation of the proxy, or empty if no initialization is required\n @return Proxy address"},"implemented":true,"kind":"function","modifiers":[],"name":"deployUUPSProxy","nameLocation":"20643:15:67","parameters":{"id":52650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52647,"mutability":"mutable","name":"impl","nameLocation":"20667:4:67","nodeType":"VariableDeclaration","scope":52665,"src":"20659:12:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52646,"name":"address","nodeType":"ElementaryTypeName","src":"20659:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52649,"mutability":"mutable","name":"initializerData","nameLocation":"20686:15:67","nodeType":"VariableDeclaration","scope":52665,"src":"20673:28:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":52648,"name":"bytes","nodeType":"ElementaryTypeName","src":"20673:5:67","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20658:44:67"},"returnParameters":{"id":52653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52652,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52665,"src":"20721:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52651,"name":"address","nodeType":"ElementaryTypeName","src":"20721:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20720:9:67"},"scope":52850,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52689,"nodeType":"FunctionDefinition","src":"21299:256:67","nodes":[],"body":{"id":52688,"nodeType":"Block","src":"21454:101:67","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":52682,"name":"impl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52668,"src":"21511:4:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52683,"name":"initialOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52670,"src":"21517:12:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52684,"name":"initializerData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52672,"src":"21531:15:67","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"21479:31:67","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_TransparentUpgradeableProxy_$42455_$","typeString":"function (address,address,bytes memory) payable returns (contract TransparentUpgradeableProxy)"},"typeName":{"id":52680,"nodeType":"UserDefinedTypeName","pathNode":{"id":52679,"name":"TransparentUpgradeableProxy","nameLocations":["21483:27:67"],"nodeType":"IdentifierPath","referencedDeclaration":42455,"src":"21483:27:67"},"referencedDeclaration":42455,"src":"21483:27:67","typeDescriptions":{"typeIdentifier":"t_contract$_TransparentUpgradeableProxy_$42455","typeString":"contract TransparentUpgradeableProxy"}}},"id":52685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21479:68:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_TransparentUpgradeableProxy_$42455","typeString":"contract TransparentUpgradeableProxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TransparentUpgradeableProxy_$42455","typeString":"contract TransparentUpgradeableProxy"}],"id":52678,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21471:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52677,"name":"address","nodeType":"ElementaryTypeName","src":"21471:7:67","typeDescriptions":{}}},"id":52686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21471:77:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":52676,"id":52687,"nodeType":"Return","src":"21464:84:67"}]},"documentation":{"id":52666,"nodeType":"StructuredDocumentation","src":"20808:486:67","text":" @dev Deploys a transparent proxy using the given contract address as the implementation.\n @param impl Address of the contract to use as the implementation\n @param initialOwner Address to set as the owner of the ProxyAdmin contract which gets deployed by the proxy\n @param initializerData Encoded call data of the initializer function to call during creation of the proxy, or empty if no initialization is required\n @return Proxy address"},"implemented":true,"kind":"function","modifiers":[],"name":"deployTransparentProxy","nameLocation":"21308:22:67","parameters":{"id":52673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52668,"mutability":"mutable","name":"impl","nameLocation":"21348:4:67","nodeType":"VariableDeclaration","scope":52689,"src":"21340:12:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52667,"name":"address","nodeType":"ElementaryTypeName","src":"21340:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52670,"mutability":"mutable","name":"initialOwner","nameLocation":"21370:12:67","nodeType":"VariableDeclaration","scope":52689,"src":"21362:20:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52669,"name":"address","nodeType":"ElementaryTypeName","src":"21362:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52672,"mutability":"mutable","name":"initializerData","nameLocation":"21405:15:67","nodeType":"VariableDeclaration","scope":52689,"src":"21392:28:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":52671,"name":"bytes","nodeType":"ElementaryTypeName","src":"21392:5:67","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21330:96:67"},"returnParameters":{"id":52676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52675,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52689,"src":"21445:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52674,"name":"address","nodeType":"ElementaryTypeName","src":"21445:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21444:9:67"},"scope":52850,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52708,"nodeType":"FunctionDefinition","src":"21994:140:67","nodes":[],"body":{"id":52707,"nodeType":"Block","src":"22076:58:67","nodes":[],"statements":[{"expression":{"arguments":[{"id":52702,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52692,"src":"22106:5:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52703,"name":"newImpl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52694,"src":"22113:7:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52704,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52696,"src":"22122:4:67","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":52699,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"22086:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22091:14:67","memberName":"upgradeProxyTo","nodeType":"MemberAccess","referencedDeclaration":53045,"src":"22086:19:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,bytes memory)"}},"id":52705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22086:41:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52706,"nodeType":"ExpressionStatement","src":"22086:41:67"}]},"documentation":{"id":52690,"nodeType":"StructuredDocumentation","src":"21561:428:67","text":" @dev Upgrades a proxy to a new implementation contract address. Only supported for UUPS or transparent proxies.\n @param proxy Address of the proxy to upgrade\n @param newImpl Address of the new implementation contract to upgrade to\n @param data Encoded call data of an arbitrary function to call during the upgrade process, or empty if no function needs to be called during the upgrade"},"implemented":true,"kind":"function","modifiers":[],"name":"upgradeProxy","nameLocation":"22003:12:67","parameters":{"id":52697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52692,"mutability":"mutable","name":"proxy","nameLocation":"22024:5:67","nodeType":"VariableDeclaration","scope":52708,"src":"22016:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52691,"name":"address","nodeType":"ElementaryTypeName","src":"22016:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52694,"mutability":"mutable","name":"newImpl","nameLocation":"22039:7:67","nodeType":"VariableDeclaration","scope":52708,"src":"22031:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52693,"name":"address","nodeType":"ElementaryTypeName","src":"22031:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52696,"mutability":"mutable","name":"data","nameLocation":"22061:4:67","nodeType":"VariableDeclaration","scope":52708,"src":"22048:17:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":52695,"name":"bytes","nodeType":"ElementaryTypeName","src":"22048:5:67","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22015:51:67"},"returnParameters":{"id":52698,"nodeType":"ParameterList","parameters":[],"src":"22076:0:67"},"scope":52850,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52730,"nodeType":"FunctionDefinition","src":"23057:170:67","nodes":[],"body":{"id":52729,"nodeType":"Block","src":"23158:69:67","nodes":[],"statements":[{"expression":{"arguments":[{"id":52723,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52711,"src":"23188:5:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52724,"name":"newImpl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52713,"src":"23195:7:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52725,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52715,"src":"23204:4:67","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":52726,"name":"tryCaller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52717,"src":"23210:9:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52720,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"23168:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23173:14:67","memberName":"upgradeProxyTo","nodeType":"MemberAccess","referencedDeclaration":53067,"src":"23168:19:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (address,address,bytes memory,address)"}},"id":52727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23168:52:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52728,"nodeType":"ExpressionStatement","src":"23168:52:67"}]},"documentation":{"id":52709,"nodeType":"StructuredDocumentation","src":"22140:912:67","text":" @notice For tests only. If broadcasting in scripts, use the `--sender
` option with `forge script` instead.\n @dev Upgrades a proxy to a new implementation contract address. Only supported for UUPS or transparent proxies.\n This function provides an additional `tryCaller` parameter to test an upgrade using a specific caller address.\n Use this if you encounter `OwnableUnauthorizedAccount` errors in your tests.\n @param proxy Address of the proxy to upgrade\n @param newImpl Address of the new implementation contract to upgrade to\n @param data Encoded call data of an arbitrary function to call during the upgrade process, or empty if no function needs to be called during the upgrade\n @param tryCaller Address to use as the caller of the upgrade function. This should be the address that owns the proxy or its ProxyAdmin."},"implemented":true,"kind":"function","modifiers":[],"name":"upgradeProxy","nameLocation":"23066:12:67","parameters":{"id":52718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52711,"mutability":"mutable","name":"proxy","nameLocation":"23087:5:67","nodeType":"VariableDeclaration","scope":52730,"src":"23079:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52710,"name":"address","nodeType":"ElementaryTypeName","src":"23079:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52713,"mutability":"mutable","name":"newImpl","nameLocation":"23102:7:67","nodeType":"VariableDeclaration","scope":52730,"src":"23094:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52712,"name":"address","nodeType":"ElementaryTypeName","src":"23094:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52715,"mutability":"mutable","name":"data","nameLocation":"23124:4:67","nodeType":"VariableDeclaration","scope":52730,"src":"23111:17:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":52714,"name":"bytes","nodeType":"ElementaryTypeName","src":"23111:5:67","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":52717,"mutability":"mutable","name":"tryCaller","nameLocation":"23138:9:67","nodeType":"VariableDeclaration","scope":52730,"src":"23130:17:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52716,"name":"address","nodeType":"ElementaryTypeName","src":"23130:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23078:70:67"},"returnParameters":{"id":52719,"nodeType":"ParameterList","parameters":[],"src":"23158:0:67"},"scope":52850,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52751,"nodeType":"FunctionDefinition","src":"23565:159:67","nodes":[],"body":{"id":52750,"nodeType":"Block","src":"23650:74:67","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":52745,"name":"impl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52733,"src":"23697:4:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52746,"name":"initialOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52735,"src":"23703:12:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":52744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"23675:21:67","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$_t_address_$returns$_t_contract$_UpgradeableBeacon_$42271_$","typeString":"function (address,address) returns (contract UpgradeableBeacon)"},"typeName":{"id":52743,"nodeType":"UserDefinedTypeName","pathNode":{"id":52742,"name":"UpgradeableBeacon","nameLocations":["23679:17:67"],"nodeType":"IdentifierPath","referencedDeclaration":42271,"src":"23679:17:67"},"referencedDeclaration":42271,"src":"23679:17:67","typeDescriptions":{"typeIdentifier":"t_contract$_UpgradeableBeacon_$42271","typeString":"contract UpgradeableBeacon"}}},"id":52747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23675:41:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_UpgradeableBeacon_$42271","typeString":"contract UpgradeableBeacon"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_UpgradeableBeacon_$42271","typeString":"contract UpgradeableBeacon"}],"id":52741,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23667:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52740,"name":"address","nodeType":"ElementaryTypeName","src":"23667:7:67","typeDescriptions":{}}},"id":52748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23667:50:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":52739,"id":52749,"nodeType":"Return","src":"23660:57:67"}]},"documentation":{"id":52731,"nodeType":"StructuredDocumentation","src":"23233:327:67","text":" @dev Deploys an upgradeable beacon using the given contract address as the implementation.\n @param impl Address of the contract to use as the implementation\n @param initialOwner Address to set as the owner of the UpgradeableBeacon contract which gets deployed\n @return Beacon address"},"implemented":true,"kind":"function","modifiers":[],"name":"deployBeacon","nameLocation":"23574:12:67","parameters":{"id":52736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52733,"mutability":"mutable","name":"impl","nameLocation":"23595:4:67","nodeType":"VariableDeclaration","scope":52751,"src":"23587:12:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52732,"name":"address","nodeType":"ElementaryTypeName","src":"23587:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52735,"mutability":"mutable","name":"initialOwner","nameLocation":"23609:12:67","nodeType":"VariableDeclaration","scope":52751,"src":"23601:20:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52734,"name":"address","nodeType":"ElementaryTypeName","src":"23601:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23586:36:67"},"returnParameters":{"id":52739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52738,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52751,"src":"23641:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52737,"name":"address","nodeType":"ElementaryTypeName","src":"23641:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23640:9:67"},"scope":52850,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52767,"nodeType":"FunctionDefinition","src":"23958:119:67","nodes":[],"body":{"id":52766,"nodeType":"Block","src":"24023:54:67","nodes":[],"statements":[{"expression":{"arguments":[{"id":52762,"name":"beacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52754,"src":"24054:6:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52763,"name":"newImpl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52756,"src":"24062:7:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52759,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"24033:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24038:15:67","memberName":"upgradeBeaconTo","nodeType":"MemberAccess","referencedDeclaration":53130,"src":"24033:20:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":52764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24033:37:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52765,"nodeType":"ExpressionStatement","src":"24033:37:67"}]},"documentation":{"id":52752,"nodeType":"StructuredDocumentation","src":"23730:223:67","text":" @dev Upgrades a beacon to a new implementation contract address.\n @param beacon Address of the beacon to upgrade\n @param newImpl Address of the new implementation contract to upgrade to"},"implemented":true,"kind":"function","modifiers":[],"name":"upgradeBeacon","nameLocation":"23967:13:67","parameters":{"id":52757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52754,"mutability":"mutable","name":"beacon","nameLocation":"23989:6:67","nodeType":"VariableDeclaration","scope":52767,"src":"23981:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52753,"name":"address","nodeType":"ElementaryTypeName","src":"23981:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52756,"mutability":"mutable","name":"newImpl","nameLocation":"24005:7:67","nodeType":"VariableDeclaration","scope":52767,"src":"23997:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52755,"name":"address","nodeType":"ElementaryTypeName","src":"23997:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23980:33:67"},"returnParameters":{"id":52758,"nodeType":"ParameterList","parameters":[],"src":"24023:0:67"},"scope":52850,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52786,"nodeType":"FunctionDefinition","src":"24778:149:67","nodes":[],"body":{"id":52785,"nodeType":"Block","src":"24862:65:67","nodes":[],"statements":[{"expression":{"arguments":[{"id":52780,"name":"beacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52770,"src":"24893:6:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52781,"name":"newImpl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52772,"src":"24901:7:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52782,"name":"tryCaller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52774,"src":"24910:9:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52777,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"24872:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24877:15:67","memberName":"upgradeBeaconTo","nodeType":"MemberAccess","referencedDeclaration":53149,"src":"24872:20:67","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (address,address,address)"}},"id":52783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24872:48:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52784,"nodeType":"ExpressionStatement","src":"24872:48:67"}]},"documentation":{"id":52768,"nodeType":"StructuredDocumentation","src":"24083:690:67","text":" @notice For tests only. If broadcasting in scripts, use the `--sender
` option with `forge script` instead.\n @dev Upgrades a beacon to a new implementation contract address.\n This function provides an additional `tryCaller` parameter to test an upgrade using a specific caller address.\n Use this if you encounter `OwnableUnauthorizedAccount` errors in your tests.\n @param beacon Address of the beacon to upgrade\n @param newImpl Address of the new implementation contract to upgrade to\n @param tryCaller Address to use as the caller of the upgrade function. This should be the address that owns the beacon."},"implemented":true,"kind":"function","modifiers":[],"name":"upgradeBeacon","nameLocation":"24787:13:67","parameters":{"id":52775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52770,"mutability":"mutable","name":"beacon","nameLocation":"24809:6:67","nodeType":"VariableDeclaration","scope":52786,"src":"24801:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52769,"name":"address","nodeType":"ElementaryTypeName","src":"24801:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52772,"mutability":"mutable","name":"newImpl","nameLocation":"24825:7:67","nodeType":"VariableDeclaration","scope":52786,"src":"24817:15:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52771,"name":"address","nodeType":"ElementaryTypeName","src":"24817:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52774,"mutability":"mutable","name":"tryCaller","nameLocation":"24842:9:67","nodeType":"VariableDeclaration","scope":52786,"src":"24834:17:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52773,"name":"address","nodeType":"ElementaryTypeName","src":"24834:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24800:52:67"},"returnParameters":{"id":52776,"nodeType":"ParameterList","parameters":[],"src":"24862:0:67"},"scope":52850,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52807,"nodeType":"FunctionDefinition","src":"25253:151:67","nodes":[],"body":{"id":52806,"nodeType":"Block","src":"25342:62:67","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":52801,"name":"beacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52789,"src":"25383:6:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52802,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52791,"src":"25391:4:67","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"25367:15:67","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_BeaconProxy_$42173_$","typeString":"function (address,bytes memory) payable returns (contract BeaconProxy)"},"typeName":{"id":52799,"nodeType":"UserDefinedTypeName","pathNode":{"id":52798,"name":"BeaconProxy","nameLocations":["25371:11:67"],"nodeType":"IdentifierPath","referencedDeclaration":42173,"src":"25371:11:67"},"referencedDeclaration":42173,"src":"25371:11:67","typeDescriptions":{"typeIdentifier":"t_contract$_BeaconProxy_$42173","typeString":"contract BeaconProxy"}}},"id":52803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25367:29:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_BeaconProxy_$42173","typeString":"contract BeaconProxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_BeaconProxy_$42173","typeString":"contract BeaconProxy"}],"id":52797,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25359:7:67","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52796,"name":"address","nodeType":"ElementaryTypeName","src":"25359:7:67","typeDescriptions":{}}},"id":52804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25359:38:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":52795,"id":52805,"nodeType":"Return","src":"25352:45:67"}]},"documentation":{"id":52787,"nodeType":"StructuredDocumentation","src":"24933:315:67","text":" @dev Deploys a beacon proxy using the given beacon and call data.\n @param beacon Address of the beacon to use\n @param data Encoded call data of the initializer function to call during creation of the proxy, or empty if no initialization is required\n @return Proxy address"},"implemented":true,"kind":"function","modifiers":[],"name":"deployBeaconProxy","nameLocation":"25262:17:67","parameters":{"id":52792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52789,"mutability":"mutable","name":"beacon","nameLocation":"25288:6:67","nodeType":"VariableDeclaration","scope":52807,"src":"25280:14:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52788,"name":"address","nodeType":"ElementaryTypeName","src":"25280:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52791,"mutability":"mutable","name":"data","nameLocation":"25309:4:67","nodeType":"VariableDeclaration","scope":52807,"src":"25296:17:67","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":52790,"name":"bytes","nodeType":"ElementaryTypeName","src":"25296:5:67","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"25279:35:67"},"returnParameters":{"id":52795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52794,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52807,"src":"25333:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52793,"name":"address","nodeType":"ElementaryTypeName","src":"25333:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25332:9:67"},"scope":52850,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52821,"nodeType":"FunctionDefinition","src":"25608:123:67","nodes":[],"body":{"id":52820,"nodeType":"Block","src":"25680:51:67","nodes":[],"statements":[{"expression":{"arguments":[{"id":52817,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52810,"src":"25718:5:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52815,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"25697:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25702:15:67","memberName":"getAdminAddress","nodeType":"MemberAccess","referencedDeclaration":53265,"src":"25697:20:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":52818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25697:27:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":52814,"id":52819,"nodeType":"Return","src":"25690:34:67"}]},"documentation":{"id":52808,"nodeType":"StructuredDocumentation","src":"25410:193:67","text":" @dev Gets the admin address of a transparent proxy from its ERC1967 admin storage slot.\n @param proxy Address of a transparent proxy\n @return Admin address"},"implemented":true,"kind":"function","modifiers":[],"name":"getAdminAddress","nameLocation":"25617:15:67","parameters":{"id":52811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52810,"mutability":"mutable","name":"proxy","nameLocation":"25641:5:67","nodeType":"VariableDeclaration","scope":52821,"src":"25633:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52809,"name":"address","nodeType":"ElementaryTypeName","src":"25633:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25632:15:67"},"returnParameters":{"id":52814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52813,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52821,"src":"25671:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52812,"name":"address","nodeType":"ElementaryTypeName","src":"25671:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25670:9:67"},"scope":52850,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":52835,"nodeType":"FunctionDefinition","src":"25978:141:67","nodes":[],"body":{"id":52834,"nodeType":"Block","src":"26059:60:67","nodes":[],"statements":[{"expression":{"arguments":[{"id":52831,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52824,"src":"26106:5:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52829,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"26076:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26081:24:67","memberName":"getImplementationAddress","nodeType":"MemberAccess","referencedDeclaration":53301,"src":"26076:29:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":52832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26076:36:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":52828,"id":52833,"nodeType":"Return","src":"26069:43:67"}]},"documentation":{"id":52822,"nodeType":"StructuredDocumentation","src":"25737:236:67","text":" @dev Gets the implementation address of a transparent or UUPS proxy from its ERC1967 implementation storage slot.\n @param proxy Address of a transparent or UUPS proxy\n @return Implementation address"},"implemented":true,"kind":"function","modifiers":[],"name":"getImplementationAddress","nameLocation":"25987:24:67","parameters":{"id":52825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52824,"mutability":"mutable","name":"proxy","nameLocation":"26020:5:67","nodeType":"VariableDeclaration","scope":52835,"src":"26012:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52823,"name":"address","nodeType":"ElementaryTypeName","src":"26012:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26011:15:67"},"returnParameters":{"id":52828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52827,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52835,"src":"26050:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52826,"name":"address","nodeType":"ElementaryTypeName","src":"26050:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26049:9:67"},"scope":52850,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":52849,"nodeType":"FunctionDefinition","src":"26316:125:67","nodes":[],"body":{"id":52848,"nodeType":"Block","src":"26389:52:67","nodes":[],"statements":[{"expression":{"arguments":[{"id":52845,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52838,"src":"26428:5:67","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52843,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54039,"src":"26406:4:67","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$54039_$","typeString":"type(library Core)"}},"id":52844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26411:16:67","memberName":"getBeaconAddress","nodeType":"MemberAccess","referencedDeclaration":53337,"src":"26406:21:67","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":52846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26406:28:67","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":52842,"id":52847,"nodeType":"Return","src":"26399:35:67"}]},"documentation":{"id":52836,"nodeType":"StructuredDocumentation","src":"26125:186:67","text":" @dev Gets the beacon address of a beacon proxy from its ERC1967 beacon storage slot.\n @param proxy Address of a beacon proxy\n @return Beacon address"},"implemented":true,"kind":"function","modifiers":[],"name":"getBeaconAddress","nameLocation":"26325:16:67","parameters":{"id":52839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52838,"mutability":"mutable","name":"proxy","nameLocation":"26350:5:67","nodeType":"VariableDeclaration","scope":52849,"src":"26342:13:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52837,"name":"address","nodeType":"ElementaryTypeName","src":"26342:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26341:15:67"},"returnParameters":{"id":52842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52841,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":52849,"src":"26380:7:67","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52840,"name":"address","nodeType":"ElementaryTypeName","src":"26380:7:67","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26379:9:67"},"scope":52850,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"UnsafeUpgrades","contractDependencies":[],"contractKind":"library","documentation":{"id":52644,"nodeType":"StructuredDocumentation","src":"19566:669:67","text":" @dev Library for deploying and managing upgradeable contracts from Forge tests, without validations.\n Can be used with `forge coverage`. Requires implementation contracts to be instantiated first.\n Does not require `--ffi` and does not require a clean compilation before each run.\n Not supported for OpenZeppelin Defender deployments.\n WARNING: Not recommended for use in Forge scripts.\n `UnsafeUpgrades` does not validate whether your contracts are upgrade safe or whether new implementations are compatible with previous ones.\n Use `Upgrades` if you want validations to be run.\n NOTE: Requires OpenZeppelin Contracts v5 or higher."},"fullyImplemented":true,"linearizedBaseContracts":[52850],"name":"UnsafeUpgrades","nameLocation":"20244:14:67","scope":52851,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"id":68,"ast":{"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol","id":54040,"exportedSymbols":{"Core":[54039],"DefenderDeploy":[55538],"IProxyAdmin":[56398],"IUpgradeableBeacon":[56407],"IUpgradeableProxy":[56424],"Options":[52051],"Strings":[46568],"Utils":[56368],"Versions":[56377],"Vm":[18001],"console":[26117]},"nodeType":"SourceUnit","src":"32:21416:68","nodes":[{"id":52852,"nodeType":"PragmaDirective","src":"32:23:68","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":52854,"nodeType":"ImportDirective","src":"57:36:68","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"forge-std/Vm.sol","nameLocation":"-1:-1:-1","scope":54040,"sourceUnit":18002,"symbolAliases":[{"foreign":{"id":52853,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"65:2:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":52856,"nodeType":"ImportDirective","src":"94:46:68","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":54040,"sourceUnit":26118,"symbolAliases":[{"foreign":{"id":52855,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"102:7:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":52858,"nodeType":"ImportDirective","src":"142:66:68","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Strings.sol","file":"@openzeppelin/contracts/utils/Strings.sol","nameLocation":"-1:-1:-1","scope":54040,"sourceUnit":46569,"symbolAliases":[{"foreign":{"id":52857,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46568,"src":"150:7:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":52860,"nodeType":"ImportDirective","src":"210:39:68","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/Options.sol","file":"../Options.sol","nameLocation":"-1:-1:-1","scope":54040,"sourceUnit":52083,"symbolAliases":[{"foreign":{"id":52859,"name":"Options","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52051,"src":"218:7:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":52862,"nodeType":"ImportDirective","src":"250:40:68","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol","file":"./Versions.sol","nameLocation":"-1:-1:-1","scope":54040,"sourceUnit":56378,"symbolAliases":[{"foreign":{"id":52861,"name":"Versions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56377,"src":"258:8:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":52864,"nodeType":"ImportDirective","src":"291:34:68","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol","file":"./Utils.sol","nameLocation":"-1:-1:-1","scope":54040,"sourceUnit":56369,"symbolAliases":[{"foreign":{"id":52863,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"299:5:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":52866,"nodeType":"ImportDirective","src":"326:52:68","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol","file":"./DefenderDeploy.sol","nameLocation":"-1:-1:-1","scope":54040,"sourceUnit":55539,"symbolAliases":[{"foreign":{"id":52865,"name":"DefenderDeploy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55538,"src":"334:14:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":52868,"nodeType":"ImportDirective","src":"380:69:68","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol","file":"./interfaces/IUpgradeableProxy.sol","nameLocation":"-1:-1:-1","scope":54040,"sourceUnit":56425,"symbolAliases":[{"foreign":{"id":52867,"name":"IUpgradeableProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56424,"src":"388:17:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":52870,"nodeType":"ImportDirective","src":"450:57:68","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol","file":"./interfaces/IProxyAdmin.sol","nameLocation":"-1:-1:-1","scope":54040,"sourceUnit":56399,"symbolAliases":[{"foreign":{"id":52869,"name":"IProxyAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56398,"src":"458:11:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":52872,"nodeType":"ImportDirective","src":"508:71:68","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol","file":"./interfaces/IUpgradeableBeacon.sol","nameLocation":"-1:-1:-1","scope":54040,"sourceUnit":56408,"symbolAliases":[{"foreign":{"id":52871,"name":"IUpgradeableBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56407,"src":"516:18:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":54039,"nodeType":"ContractDefinition","src":"776:20671:68","nodes":[{"id":52900,"nodeType":"FunctionDefinition","src":"1532:229:68","nodes":[],"body":{"id":52899,"nodeType":"Block","src":"1646:115:68","nodes":[],"statements":[{"assignments":[52887],"declarations":[{"constant":false,"id":52887,"mutability":"mutable","name":"newImpl","nameLocation":"1664:7:68","nodeType":"VariableDeclaration","scope":52899,"src":"1656:15:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52886,"name":"address","nodeType":"ElementaryTypeName","src":"1656:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":52892,"initialValue":{"arguments":[{"id":52889,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52878,"src":"1689:12:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52890,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52883,"src":"1703:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"id":52888,"name":"prepareUpgrade","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53229,"src":"1674:14:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,struct Options memory) returns (address)"}},"id":52891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1674:34:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1656:52:68"},{"expression":{"arguments":[{"id":52894,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52876,"src":"1733:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52895,"name":"newImpl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52887,"src":"1740:7:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52896,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52880,"src":"1749:4:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52893,"name":"upgradeProxyTo","nodeType":"Identifier","overloadedDeclarations":[53045,53067],"referencedDeclaration":53045,"src":"1718:14:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,bytes memory)"}},"id":52897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1718:36:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52898,"nodeType":"ExpressionStatement","src":"1718:36:68"}]},"documentation":{"id":52874,"nodeType":"StructuredDocumentation","src":"795:732:68","text":" @dev Upgrades a proxy to a new implementation contract. Only supported for UUPS or transparent proxies.\n Requires that either the `referenceContract` option is set, or the new implementation contract has a `@custom:oz-upgrades-from ` annotation.\n @param proxy Address of the proxy to upgrade\n @param contractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param data Encoded call data of an arbitrary function to call during the upgrade process, or empty if no function needs to be called during the upgrade\n @param opts Common options"},"implemented":true,"kind":"function","modifiers":[],"name":"upgradeProxy","nameLocation":"1541:12:68","parameters":{"id":52884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52876,"mutability":"mutable","name":"proxy","nameLocation":"1562:5:68","nodeType":"VariableDeclaration","scope":52900,"src":"1554:13:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52875,"name":"address","nodeType":"ElementaryTypeName","src":"1554:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52878,"mutability":"mutable","name":"contractName","nameLocation":"1583:12:68","nodeType":"VariableDeclaration","scope":52900,"src":"1569:26:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52877,"name":"string","nodeType":"ElementaryTypeName","src":"1569:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52880,"mutability":"mutable","name":"data","nameLocation":"1610:4:68","nodeType":"VariableDeclaration","scope":52900,"src":"1597:17:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":52879,"name":"bytes","nodeType":"ElementaryTypeName","src":"1597:5:68","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":52883,"mutability":"mutable","name":"opts","nameLocation":"1631:4:68","nodeType":"VariableDeclaration","scope":52900,"src":"1616:19:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":52882,"nodeType":"UserDefinedTypeName","pathNode":{"id":52881,"name":"Options","nameLocations":["1616:7:68"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"1616:7:68"},"referencedDeclaration":52051,"src":"1616:7:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"src":"1553:83:68"},"returnParameters":{"id":52885,"nodeType":"ParameterList","parameters":[],"src":"1646:0:68"},"scope":54039,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52926,"nodeType":"FunctionDefinition","src":"2988:261:68","nodes":[],"body":{"id":52925,"nodeType":"Block","src":"3187:62:68","nodes":[],"statements":[{"expression":{"arguments":[{"id":52919,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52903,"src":"3210:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52920,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52905,"src":"3217:12:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52921,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52907,"src":"3231:4:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":52922,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52910,"src":"3237:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"id":52918,"name":"upgradeProxy","nodeType":"Identifier","overloadedDeclarations":[52900,52926],"referencedDeclaration":52900,"src":"3197:12:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$__$","typeString":"function (address,string memory,bytes memory,struct Options memory)"}},"id":52923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3197:45:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52924,"nodeType":"ExpressionStatement","src":"3197:45:68"}]},"documentation":{"id":52901,"nodeType":"StructuredDocumentation","src":"1767:1216:68","text":" @notice For tests only. If broadcasting in scripts, use the `--sender
` option with `forge script` instead.\n @dev Upgrades a proxy to a new implementation contract. Only supported for UUPS or transparent proxies.\n Requires that either the `referenceContract` option is set, or the new implementation contract has a `@custom:oz-upgrades-from ` annotation.\n This function provides an additional `tryCaller` parameter to test an upgrade using a specific caller address.\n Use this if you encounter `OwnableUnauthorizedAccount` errors in your tests.\n @param proxy Address of the proxy to upgrade\n @param contractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param data Encoded call data of an arbitrary function to call during the upgrade process, or empty if no function needs to be called during the upgrade\n @param opts Common options\n @param tryCaller Address to use as the caller of the upgrade function. This should be the address that owns the proxy or its ProxyAdmin."},"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":52915,"name":"tryCaller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52912,"src":"3176:9:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":52916,"kind":"modifierInvocation","modifierName":{"id":52914,"name":"tryPrank","nameLocations":["3167:8:68"],"nodeType":"IdentifierPath","referencedDeclaration":53367,"src":"3167:8:68"},"nodeType":"ModifierInvocation","src":"3167:19:68"}],"name":"upgradeProxy","nameLocation":"2997:12:68","parameters":{"id":52913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52903,"mutability":"mutable","name":"proxy","nameLocation":"3027:5:68","nodeType":"VariableDeclaration","scope":52926,"src":"3019:13:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52902,"name":"address","nodeType":"ElementaryTypeName","src":"3019:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52905,"mutability":"mutable","name":"contractName","nameLocation":"3056:12:68","nodeType":"VariableDeclaration","scope":52926,"src":"3042:26:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52904,"name":"string","nodeType":"ElementaryTypeName","src":"3042:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52907,"mutability":"mutable","name":"data","nameLocation":"3091:4:68","nodeType":"VariableDeclaration","scope":52926,"src":"3078:17:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":52906,"name":"bytes","nodeType":"ElementaryTypeName","src":"3078:5:68","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":52910,"mutability":"mutable","name":"opts","nameLocation":"3120:4:68","nodeType":"VariableDeclaration","scope":52926,"src":"3105:19:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":52909,"nodeType":"UserDefinedTypeName","pathNode":{"id":52908,"name":"Options","nameLocations":["3105:7:68"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"3105:7:68"},"referencedDeclaration":52051,"src":"3105:7:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"},{"constant":false,"id":52912,"mutability":"mutable","name":"tryCaller","nameLocation":"3142:9:68","nodeType":"VariableDeclaration","scope":52926,"src":"3134:17:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52911,"name":"address","nodeType":"ElementaryTypeName","src":"3134:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3009:148:68"},"returnParameters":{"id":52917,"nodeType":"ParameterList","parameters":[],"src":"3187:0:68"},"scope":54039,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":52928,"nodeType":"UsingForDirective","src":"3255:20:68","nodes":[],"global":false,"libraryName":{"id":52927,"name":"Strings","nameLocations":["3261:7:68"],"nodeType":"IdentifierPath","referencedDeclaration":46568,"src":"3261:7:68"}},{"id":53045,"nodeType":"FunctionDefinition","src":"3706:991:68","nodes":[],"body":{"id":53044,"nodeType":"Block","src":"3790:907:68","nodes":[],"statements":[{"assignments":[52940],"declarations":[{"constant":false,"id":52940,"mutability":"mutable","name":"vm","nameLocation":"3803:2:68","nodeType":"VariableDeclaration","scope":53044,"src":"3800:5:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":52939,"nodeType":"UserDefinedTypeName","pathNode":{"id":52938,"name":"Vm","nameLocations":["3800:2:68"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"3800:2:68"},"referencedDeclaration":18001,"src":"3800:2:68","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"internal"}],"id":52945,"initialValue":{"arguments":[{"expression":{"id":52942,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"3811:5:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":52943,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3817:17:68","memberName":"CHEATCODE_ADDRESS","nodeType":"MemberAccess","referencedDeclaration":55708,"src":"3811:23:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":52941,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"3808:2:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":52944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3808:27:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"nodeType":"VariableDeclarationStatement","src":"3800:35:68"},{"assignments":[52947],"declarations":[{"constant":false,"id":52947,"mutability":"mutable","name":"adminSlot","nameLocation":"3854:9:68","nodeType":"VariableDeclaration","scope":53044,"src":"3846:17:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":52946,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3846:7:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":52953,"initialValue":{"arguments":[{"id":52950,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52931,"src":"3874:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52951,"name":"ADMIN_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53375,"src":"3881:10:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":52948,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52940,"src":"3866:2:68","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":52949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3869:4:68","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":13945,"src":"3866:7:68","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":52952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3866:26:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"3846:46:68"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":52959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":52954,"name":"adminSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52947,"src":"3906:9:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":52957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3927:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":52956,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3919:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":52955,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3919:7:68","typeDescriptions":{}}},"id":52958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3919:10:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3906:23:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":53042,"nodeType":"Block","src":"4282:409:68","statements":[{"assignments":[52995],"declarations":[{"constant":false,"id":52995,"mutability":"mutable","name":"admin","nameLocation":"4304:5:68","nodeType":"VariableDeclaration","scope":53042,"src":"4296:13:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52994,"name":"address","nodeType":"ElementaryTypeName","src":"4296:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":53006,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":53002,"name":"adminSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52947,"src":"4336:9:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":53001,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4328:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":53000,"name":"uint256","nodeType":"ElementaryTypeName","src":"4328:7:68","typeDescriptions":{}}},"id":53003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4328:18:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":52999,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4320:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":52998,"name":"uint160","nodeType":"ElementaryTypeName","src":"4320:7:68","typeDescriptions":{}}},"id":53004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4320:27:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":52997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4312:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":52996,"name":"address","nodeType":"ElementaryTypeName","src":"4312:7:68","typeDescriptions":{}}},"id":53005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4312:36:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4296:52:68"},{"assignments":[53008],"declarations":[{"constant":false,"id":53008,"mutability":"mutable","name":"upgradeInterfaceVersion","nameLocation":"4376:23:68","nodeType":"VariableDeclaration","scope":53042,"src":"4362:37:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53007,"name":"string","nodeType":"ElementaryTypeName","src":"4362:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":53012,"initialValue":{"arguments":[{"id":53010,"name":"admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52995,"src":"4429:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":53009,"name":"getUpgradeInterfaceVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53419,"src":"4402:26:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) view returns (string memory)"}},"id":53011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4402:33:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"4362:73:68"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":53021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"hexValue":"352e302e30","id":53015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4483:7:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ade050ecfcf8ae20ae1d10a23573f9d7e0bad85e74a2cf8338a65401e64558c","typeString":"literal_string \"5.0.0\""},"value":"5.0.0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ade050ecfcf8ae20ae1d10a23573f9d7e0bad85e74a2cf8338a65401e64558c","typeString":"literal_string \"5.0.0\""}],"expression":{"id":53013,"name":"upgradeInterfaceVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53008,"src":"4453:23:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":53014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4477:5:68","memberName":"equal","nodeType":"MemberAccess","referencedDeclaration":45531,"src":"4453:29:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":53016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4453:38:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":53017,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52935,"src":"4495:4:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":53018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4500:6:68","memberName":"length","nodeType":"MemberAccess","src":"4495:11:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":53019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4509:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4495:15:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4453:57:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":53040,"nodeType":"Block","src":"4606:75:68","statements":[{"expression":{"arguments":[{"id":53036,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52931,"src":"4651:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53037,"name":"newImpl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52933,"src":"4658:7:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":53033,"name":"admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52995,"src":"4636:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":53032,"name":"IProxyAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56398,"src":"4624:11:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IProxyAdmin_$56398_$","typeString":"type(contract IProxyAdmin)"}},"id":53034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4624:18:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IProxyAdmin_$56398","typeString":"contract IProxyAdmin"}},"id":53035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4643:7:68","memberName":"upgrade","nodeType":"MemberAccess","referencedDeclaration":56387,"src":"4624:26:68","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":53038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4624:42:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53039,"nodeType":"ExpressionStatement","src":"4624:42:68"}]},"id":53041,"nodeType":"IfStatement","src":"4449:232:68","trueBody":{"id":53031,"nodeType":"Block","src":"4512:88:68","statements":[{"expression":{"arguments":[{"id":53026,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52931,"src":"4564:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53027,"name":"newImpl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52933,"src":"4571:7:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53028,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52935,"src":"4580:4:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":53023,"name":"admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52995,"src":"4542:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":53022,"name":"IProxyAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56398,"src":"4530:11:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IProxyAdmin_$56398_$","typeString":"type(contract IProxyAdmin)"}},"id":53024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4530:18:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IProxyAdmin_$56398","typeString":"contract IProxyAdmin"}},"id":53025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4549:14:68","memberName":"upgradeAndCall","nodeType":"MemberAccess","referencedDeclaration":56397,"src":"4530:33:68","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,bytes memory) payable external"}},"id":53029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4530:55:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53030,"nodeType":"ExpressionStatement","src":"4530:55:68"}]}}]},"id":53043,"nodeType":"IfStatement","src":"3902:789:68","trueBody":{"id":52993,"nodeType":"Block","src":"3931:345:68","statements":[{"assignments":[52961],"declarations":[{"constant":false,"id":52961,"mutability":"mutable","name":"upgradeInterfaceVersion","nameLocation":"3959:23:68","nodeType":"VariableDeclaration","scope":52993,"src":"3945:37:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52960,"name":"string","nodeType":"ElementaryTypeName","src":"3945:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":52965,"initialValue":{"arguments":[{"id":52963,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52931,"src":"4012:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":52962,"name":"getUpgradeInterfaceVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53419,"src":"3985:26:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) view returns (string memory)"}},"id":52964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3985:33:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"3945:73:68"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":52974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"hexValue":"352e302e30","id":52968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4066:7:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ade050ecfcf8ae20ae1d10a23573f9d7e0bad85e74a2cf8338a65401e64558c","typeString":"literal_string \"5.0.0\""},"value":"5.0.0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ade050ecfcf8ae20ae1d10a23573f9d7e0bad85e74a2cf8338a65401e64558c","typeString":"literal_string \"5.0.0\""}],"expression":{"id":52966,"name":"upgradeInterfaceVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52961,"src":"4036:23:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":52967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4060:5:68","memberName":"equal","nodeType":"MemberAccess","referencedDeclaration":45531,"src":"4036:29:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":52969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4036:38:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":52973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":52970,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52935,"src":"4078:4:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":52971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4083:6:68","memberName":"length","nodeType":"MemberAccess","src":"4078:11:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":52972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4092:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4078:15:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4036:57:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":52991,"nodeType":"Block","src":"4190:76:68","statements":[{"expression":{"arguments":[{"id":52988,"name":"newImpl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52933,"src":"4243:7:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":52985,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52931,"src":"4226:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":52984,"name":"IUpgradeableProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56424,"src":"4208:17:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IUpgradeableProxy_$56424_$","typeString":"type(contract IUpgradeableProxy)"}},"id":52986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4208:24:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IUpgradeableProxy_$56424","typeString":"contract IUpgradeableProxy"}},"id":52987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4233:9:68","memberName":"upgradeTo","nodeType":"MemberAccess","referencedDeclaration":56415,"src":"4208:34:68","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":52989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4208:43:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52990,"nodeType":"ExpressionStatement","src":"4208:43:68"}]},"id":52992,"nodeType":"IfStatement","src":"4032:234:68","trueBody":{"id":52983,"nodeType":"Block","src":"4095:89:68","statements":[{"expression":{"arguments":[{"id":52979,"name":"newImpl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52933,"src":"4155:7:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52980,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52935,"src":"4164:4:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":52976,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52931,"src":"4131:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":52975,"name":"IUpgradeableProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56424,"src":"4113:17:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IUpgradeableProxy_$56424_$","typeString":"type(contract IUpgradeableProxy)"}},"id":52977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4113:24:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IUpgradeableProxy_$56424","typeString":"contract IUpgradeableProxy"}},"id":52978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4138:16:68","memberName":"upgradeToAndCall","nodeType":"MemberAccess","referencedDeclaration":56423,"src":"4113:41:68","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) payable external"}},"id":52981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4113:56:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52982,"nodeType":"ExpressionStatement","src":"4113:56:68"}]}}]}}]},"documentation":{"id":52929,"nodeType":"StructuredDocumentation","src":"3281:420:68","text":" @dev Upgrades a proxy to a new implementation contract. Only supported for UUPS or transparent proxies.\n @param proxy Address of the proxy to upgrade\n @param newImpl Address of the new implementation contract to upgrade to\n @param data Encoded call data of an arbitrary function to call during the upgrade process, or empty if no function needs to be called during the upgrade"},"implemented":true,"kind":"function","modifiers":[],"name":"upgradeProxyTo","nameLocation":"3715:14:68","parameters":{"id":52936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52931,"mutability":"mutable","name":"proxy","nameLocation":"3738:5:68","nodeType":"VariableDeclaration","scope":53045,"src":"3730:13:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52930,"name":"address","nodeType":"ElementaryTypeName","src":"3730:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52933,"mutability":"mutable","name":"newImpl","nameLocation":"3753:7:68","nodeType":"VariableDeclaration","scope":53045,"src":"3745:15:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52932,"name":"address","nodeType":"ElementaryTypeName","src":"3745:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52935,"mutability":"mutable","name":"data","nameLocation":"3775:4:68","nodeType":"VariableDeclaration","scope":53045,"src":"3762:17:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":52934,"name":"bytes","nodeType":"ElementaryTypeName","src":"3762:5:68","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3729:51:68"},"returnParameters":{"id":52937,"nodeType":"ParameterList","parameters":[],"src":"3790:0:68"},"scope":54039,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":53067,"nodeType":"FunctionDefinition","src":"5612:214:68","nodes":[],"body":{"id":53066,"nodeType":"Block","src":"5773:53:68","nodes":[],"statements":[{"expression":{"arguments":[{"id":53061,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53048,"src":"5798:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53062,"name":"newImpl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53050,"src":"5805:7:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53063,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53052,"src":"5814:4:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53060,"name":"upgradeProxyTo","nodeType":"Identifier","overloadedDeclarations":[53045,53067],"referencedDeclaration":53045,"src":"5783:14:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,bytes memory)"}},"id":53064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5783:36:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53065,"nodeType":"ExpressionStatement","src":"5783:36:68"}]},"documentation":{"id":53046,"nodeType":"StructuredDocumentation","src":"4703:904:68","text":" @notice For tests only. If broadcasting in scripts, use the `--sender
` option with `forge script` instead.\n @dev Upgrades a proxy to a new implementation contract. Only supported for UUPS or transparent proxies.\n This function provides an additional `tryCaller` parameter to test an upgrade using a specific caller address.\n Use this if you encounter `OwnableUnauthorizedAccount` errors in your tests.\n @param proxy Address of the proxy to upgrade\n @param newImpl Address of the new implementation contract to upgrade to\n @param data Encoded call data of an arbitrary function to call during the upgrade process, or empty if no function needs to be called during the upgrade\n @param tryCaller Address to use as the caller of the upgrade function. This should be the address that owns the proxy or its ProxyAdmin."},"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":53057,"name":"tryCaller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53054,"src":"5762:9:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":53058,"kind":"modifierInvocation","modifierName":{"id":53056,"name":"tryPrank","nameLocations":["5753:8:68"],"nodeType":"IdentifierPath","referencedDeclaration":53367,"src":"5753:8:68"},"nodeType":"ModifierInvocation","src":"5753:19:68"}],"name":"upgradeProxyTo","nameLocation":"5621:14:68","parameters":{"id":53055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53048,"mutability":"mutable","name":"proxy","nameLocation":"5653:5:68","nodeType":"VariableDeclaration","scope":53067,"src":"5645:13:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53047,"name":"address","nodeType":"ElementaryTypeName","src":"5645:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53050,"mutability":"mutable","name":"newImpl","nameLocation":"5676:7:68","nodeType":"VariableDeclaration","scope":53067,"src":"5668:15:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53049,"name":"address","nodeType":"ElementaryTypeName","src":"5668:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53052,"mutability":"mutable","name":"data","nameLocation":"5706:4:68","nodeType":"VariableDeclaration","scope":53067,"src":"5693:17:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":53051,"name":"bytes","nodeType":"ElementaryTypeName","src":"5693:5:68","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":53054,"mutability":"mutable","name":"tryCaller","nameLocation":"5728:9:68","nodeType":"VariableDeclaration","scope":53067,"src":"5720:17:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53053,"name":"address","nodeType":"ElementaryTypeName","src":"5720:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5635:108:68"},"returnParameters":{"id":53059,"nodeType":"ParameterList","parameters":[],"src":"5773:0:68"},"scope":54039,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":53091,"nodeType":"FunctionDefinition","src":"6364:208:68","nodes":[],"body":{"id":53090,"nodeType":"Block","src":"6461:111:68","nodes":[],"statements":[{"assignments":[53079],"declarations":[{"constant":false,"id":53079,"mutability":"mutable","name":"newImpl","nameLocation":"6479:7:68","nodeType":"VariableDeclaration","scope":53090,"src":"6471:15:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53078,"name":"address","nodeType":"ElementaryTypeName","src":"6471:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":53084,"initialValue":{"arguments":[{"id":53081,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53072,"src":"6504:12:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53082,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53075,"src":"6518:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"id":53080,"name":"prepareUpgrade","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53229,"src":"6489:14:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,struct Options memory) returns (address)"}},"id":53083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6489:34:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6471:52:68"},{"expression":{"arguments":[{"id":53086,"name":"beacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53070,"src":"6549:6:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53087,"name":"newImpl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53079,"src":"6557:7:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":53085,"name":"upgradeBeaconTo","nodeType":"Identifier","overloadedDeclarations":[53130,53149],"referencedDeclaration":53130,"src":"6533:15:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":53088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6533:32:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53089,"nodeType":"ExpressionStatement","src":"6533:32:68"}]},"documentation":{"id":53068,"nodeType":"StructuredDocumentation","src":"5832:527:68","text":" @dev Upgrades a beacon to a new implementation contract.\n Requires that either the `referenceContract` option is set, or the new implementation contract has a `@custom:oz-upgrades-from ` annotation.\n @param beacon Address of the beacon to upgrade\n @param contractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param opts Common options"},"implemented":true,"kind":"function","modifiers":[],"name":"upgradeBeacon","nameLocation":"6373:13:68","parameters":{"id":53076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53070,"mutability":"mutable","name":"beacon","nameLocation":"6395:6:68","nodeType":"VariableDeclaration","scope":53091,"src":"6387:14:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53069,"name":"address","nodeType":"ElementaryTypeName","src":"6387:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53072,"mutability":"mutable","name":"contractName","nameLocation":"6417:12:68","nodeType":"VariableDeclaration","scope":53091,"src":"6403:26:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53071,"name":"string","nodeType":"ElementaryTypeName","src":"6403:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53075,"mutability":"mutable","name":"opts","nameLocation":"6446:4:68","nodeType":"VariableDeclaration","scope":53091,"src":"6431:19:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":53074,"nodeType":"UserDefinedTypeName","pathNode":{"id":53073,"name":"Options","nameLocations":["6431:7:68"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"6431:7:68"},"referencedDeclaration":52051,"src":"6431:7:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"src":"6386:65:68"},"returnParameters":{"id":53077,"nodeType":"ParameterList","parameters":[],"src":"6461:0:68"},"scope":54039,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":53114,"nodeType":"FunctionDefinition","src":"7577:232:68","nodes":[],"body":{"id":53113,"nodeType":"Block","src":"7751:58:68","nodes":[],"statements":[{"expression":{"arguments":[{"id":53108,"name":"beacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53094,"src":"7775:6:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53109,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53096,"src":"7783:12:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53110,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53099,"src":"7797:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"id":53107,"name":"upgradeBeacon","nodeType":"Identifier","overloadedDeclarations":[53091,53114],"referencedDeclaration":53091,"src":"7761:13:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$__$","typeString":"function (address,string memory,struct Options memory)"}},"id":53111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7761:41:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53112,"nodeType":"ExpressionStatement","src":"7761:41:68"}]},"documentation":{"id":53092,"nodeType":"StructuredDocumentation","src":"6578:994:68","text":" @notice For tests only. If broadcasting in scripts, use the `--sender
` option with `forge script` instead.\n @dev Upgrades a beacon to a new implementation contract.\n Requires that either the `referenceContract` option is set, or the new implementation contract has a `@custom:oz-upgrades-from ` annotation.\n This function provides an additional `tryCaller` parameter to test an upgrade using a specific caller address.\n Use this if you encounter `OwnableUnauthorizedAccount` errors in your tests.\n @param beacon Address of the beacon to upgrade\n @param contractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param opts Common options\n @param tryCaller Address to use as the caller of the upgrade function. This should be the address that owns the beacon."},"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":53104,"name":"tryCaller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53101,"src":"7740:9:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":53105,"kind":"modifierInvocation","modifierName":{"id":53103,"name":"tryPrank","nameLocations":["7731:8:68"],"nodeType":"IdentifierPath","referencedDeclaration":53367,"src":"7731:8:68"},"nodeType":"ModifierInvocation","src":"7731:19:68"}],"name":"upgradeBeacon","nameLocation":"7586:13:68","parameters":{"id":53102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53094,"mutability":"mutable","name":"beacon","nameLocation":"7617:6:68","nodeType":"VariableDeclaration","scope":53114,"src":"7609:14:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53093,"name":"address","nodeType":"ElementaryTypeName","src":"7609:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53096,"mutability":"mutable","name":"contractName","nameLocation":"7647:12:68","nodeType":"VariableDeclaration","scope":53114,"src":"7633:26:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53095,"name":"string","nodeType":"ElementaryTypeName","src":"7633:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53099,"mutability":"mutable","name":"opts","nameLocation":"7684:4:68","nodeType":"VariableDeclaration","scope":53114,"src":"7669:19:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":53098,"nodeType":"UserDefinedTypeName","pathNode":{"id":53097,"name":"Options","nameLocations":["7669:7:68"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"7669:7:68"},"referencedDeclaration":52051,"src":"7669:7:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"},{"constant":false,"id":53101,"mutability":"mutable","name":"tryCaller","nameLocation":"7706:9:68","nodeType":"VariableDeclaration","scope":53114,"src":"7698:17:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53100,"name":"address","nodeType":"ElementaryTypeName","src":"7698:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7599:122:68"},"returnParameters":{"id":53106,"nodeType":"ParameterList","parameters":[],"src":"7751:0:68"},"scope":54039,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":53130,"nodeType":"FunctionDefinition","src":"8043:129:68","nodes":[],"body":{"id":53129,"nodeType":"Block","src":"8110:62:68","nodes":[],"statements":[{"expression":{"arguments":[{"id":53126,"name":"newImpl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53119,"src":"8157:7:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":53123,"name":"beacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53117,"src":"8139:6:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":53122,"name":"IUpgradeableBeacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56407,"src":"8120:18:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IUpgradeableBeacon_$56407_$","typeString":"type(contract IUpgradeableBeacon)"}},"id":53124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8120:26:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IUpgradeableBeacon_$56407","typeString":"contract IUpgradeableBeacon"}},"id":53125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8147:9:68","memberName":"upgradeTo","nodeType":"MemberAccess","referencedDeclaration":56406,"src":"8120:36:68","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":53127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8120:45:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53128,"nodeType":"ExpressionStatement","src":"8120:45:68"}]},"documentation":{"id":53115,"nodeType":"StructuredDocumentation","src":"7815:223:68","text":" @dev Upgrades a beacon to a new implementation contract address.\n @param beacon Address of the beacon to upgrade\n @param newImpl Address of the new implementation contract to upgrade to"},"implemented":true,"kind":"function","modifiers":[],"name":"upgradeBeaconTo","nameLocation":"8052:15:68","parameters":{"id":53120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53117,"mutability":"mutable","name":"beacon","nameLocation":"8076:6:68","nodeType":"VariableDeclaration","scope":53130,"src":"8068:14:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53116,"name":"address","nodeType":"ElementaryTypeName","src":"8068:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53119,"mutability":"mutable","name":"newImpl","nameLocation":"8092:7:68","nodeType":"VariableDeclaration","scope":53130,"src":"8084:15:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53118,"name":"address","nodeType":"ElementaryTypeName","src":"8084:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8067:33:68"},"returnParameters":{"id":53121,"nodeType":"ParameterList","parameters":[],"src":"8110:0:68"},"scope":54039,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":53149,"nodeType":"FunctionDefinition","src":"8865:155:68","nodes":[],"body":{"id":53148,"nodeType":"Block","src":"8971:49:68","nodes":[],"statements":[{"expression":{"arguments":[{"id":53144,"name":"beacon","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53133,"src":"8997:6:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53145,"name":"newImpl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53135,"src":"9005:7:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":53143,"name":"upgradeBeaconTo","nodeType":"Identifier","overloadedDeclarations":[53130,53149],"referencedDeclaration":53130,"src":"8981:15:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":53146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8981:32:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53147,"nodeType":"ExpressionStatement","src":"8981:32:68"}]},"documentation":{"id":53131,"nodeType":"StructuredDocumentation","src":"8178:682:68","text":" @notice For tests only. If broadcasting in scripts, use the `--sender
` option with `forge script` instead.\n @dev Upgrades a beacon to a new implementation contract.\n This function provides an additional `tryCaller` parameter to test an upgrade using a specific caller address.\n Use this if you encounter `OwnableUnauthorizedAccount` errors in your tests.\n @param beacon Address of the beacon to upgrade\n @param newImpl Address of the new implementation contract to upgrade to\n @param tryCaller Address to use as the caller of the upgrade function. This should be the address that owns the beacon."},"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":53140,"name":"tryCaller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53137,"src":"8960:9:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":53141,"kind":"modifierInvocation","modifierName":{"id":53139,"name":"tryPrank","nameLocations":["8951:8:68"],"nodeType":"IdentifierPath","referencedDeclaration":53367,"src":"8951:8:68"},"nodeType":"ModifierInvocation","src":"8951:19:68"}],"name":"upgradeBeaconTo","nameLocation":"8874:15:68","parameters":{"id":53138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53133,"mutability":"mutable","name":"beacon","nameLocation":"8898:6:68","nodeType":"VariableDeclaration","scope":53149,"src":"8890:14:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53132,"name":"address","nodeType":"ElementaryTypeName","src":"8890:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53135,"mutability":"mutable","name":"newImpl","nameLocation":"8914:7:68","nodeType":"VariableDeclaration","scope":53149,"src":"8906:15:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53134,"name":"address","nodeType":"ElementaryTypeName","src":"8906:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53137,"mutability":"mutable","name":"tryCaller","nameLocation":"8931:9:68","nodeType":"VariableDeclaration","scope":53149,"src":"8923:17:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53136,"name":"address","nodeType":"ElementaryTypeName","src":"8923:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8889:52:68"},"returnParameters":{"id":53142,"nodeType":"ParameterList","parameters":[],"src":"8971:0:68"},"scope":54039,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":53165,"nodeType":"FunctionDefinition","src":"9327:143:68","nodes":[],"body":{"id":53164,"nodeType":"Block","src":"9417:53:68","nodes":[],"statements":[{"expression":{"arguments":[{"id":53159,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53152,"src":"9437:12:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53160,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53155,"src":"9451:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},{"hexValue":"66616c7365","id":53161,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9457:5:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":53158,"name":"_validate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53609,"src":"9427:9:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$_t_bool_$returns$__$","typeString":"function (string memory,struct Options memory,bool)"}},"id":53162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9427:36:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53163,"nodeType":"ExpressionStatement","src":"9427:36:68"}]},"documentation":{"id":53150,"nodeType":"StructuredDocumentation","src":"9026:296:68","text":" @dev Validates an implementation contract, but does not deploy it.\n @param contractName Name of the contract to validate, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param opts Common options"},"implemented":true,"kind":"function","modifiers":[],"name":"validateImplementation","nameLocation":"9336:22:68","parameters":{"id":53156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53152,"mutability":"mutable","name":"contractName","nameLocation":"9373:12:68","nodeType":"VariableDeclaration","scope":53165,"src":"9359:26:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53151,"name":"string","nodeType":"ElementaryTypeName","src":"9359:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53155,"mutability":"mutable","name":"opts","nameLocation":"9402:4:68","nodeType":"VariableDeclaration","scope":53165,"src":"9387:19:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":53154,"nodeType":"UserDefinedTypeName","pathNode":{"id":53153,"name":"Options","nameLocations":["9387:7:68"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"9387:7:68"},"referencedDeclaration":52051,"src":"9387:7:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"src":"9358:49:68"},"returnParameters":{"id":53157,"nodeType":"ParameterList","parameters":[],"src":"9417:0:68"},"scope":54039,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":53189,"nodeType":"FunctionDefinition","src":"9842:230:68","nodes":[],"body":{"id":53188,"nodeType":"Block","src":"9948:124:68","nodes":[],"statements":[{"expression":{"arguments":[{"id":53177,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53168,"src":"9981:12:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53178,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53171,"src":"9995:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"id":53176,"name":"validateImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53165,"src":"9958:22:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$__$","typeString":"function (string memory,struct Options memory)"}},"id":53179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9958:42:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53180,"nodeType":"ExpressionStatement","src":"9958:42:68"},{"expression":{"arguments":[{"id":53182,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53168,"src":"10024:12:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":53183,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53171,"src":"10038:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":53184,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10043:15:68","memberName":"constructorData","nodeType":"MemberAccess","referencedDeclaration":52034,"src":"10038:20:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":53185,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53171,"src":"10060:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"id":53181,"name":"deploy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53967,"src":"10017:6:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,bytes memory,struct Options memory) returns (address)"}},"id":53186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10017:48:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":53175,"id":53187,"nodeType":"Return","src":"10010:55:68"}]},"documentation":{"id":53166,"nodeType":"StructuredDocumentation","src":"9476:361:68","text":" @dev Validates and deploys an implementation contract, and returns its address.\n @param contractName Name of the contract to deploy, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param opts Common options\n @return Address of the implementation contract"},"implemented":true,"kind":"function","modifiers":[],"name":"deployImplementation","nameLocation":"9851:20:68","parameters":{"id":53172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53168,"mutability":"mutable","name":"contractName","nameLocation":"9886:12:68","nodeType":"VariableDeclaration","scope":53189,"src":"9872:26:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53167,"name":"string","nodeType":"ElementaryTypeName","src":"9872:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53171,"mutability":"mutable","name":"opts","nameLocation":"9915:4:68","nodeType":"VariableDeclaration","scope":53189,"src":"9900:19:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":53170,"nodeType":"UserDefinedTypeName","pathNode":{"id":53169,"name":"Options","nameLocations":["9900:7:68"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"9900:7:68"},"referencedDeclaration":52051,"src":"9900:7:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"src":"9871:49:68"},"returnParameters":{"id":53175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53174,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53189,"src":"9939:7:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53173,"name":"address","nodeType":"ElementaryTypeName","src":"9939:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9938:9:68"},"scope":54039,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":53205,"nodeType":"FunctionDefinition","src":"10569:135:68","nodes":[],"body":{"id":53204,"nodeType":"Block","src":"10652:52:68","nodes":[],"statements":[{"expression":{"arguments":[{"id":53199,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53192,"src":"10672:12:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53200,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53195,"src":"10686:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},{"hexValue":"74727565","id":53201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10692:4:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":53198,"name":"_validate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53609,"src":"10662:9:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$_t_bool_$returns$__$","typeString":"function (string memory,struct Options memory,bool)"}},"id":53202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10662:35:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53203,"nodeType":"ExpressionStatement","src":"10662:35:68"}]},"documentation":{"id":53190,"nodeType":"StructuredDocumentation","src":"10078:486:68","text":" @dev Validates a new implementation contract in comparison with a reference contract, but does not deploy it.\n Requires that either the `referenceContract` option is set, or the contract has a `@custom:oz-upgrades-from ` annotation.\n @param contractName Name of the contract to validate, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param opts Common options"},"implemented":true,"kind":"function","modifiers":[],"name":"validateUpgrade","nameLocation":"10578:15:68","parameters":{"id":53196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53192,"mutability":"mutable","name":"contractName","nameLocation":"10608:12:68","nodeType":"VariableDeclaration","scope":53205,"src":"10594:26:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53191,"name":"string","nodeType":"ElementaryTypeName","src":"10594:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53195,"mutability":"mutable","name":"opts","nameLocation":"10637:4:68","nodeType":"VariableDeclaration","scope":53205,"src":"10622:19:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":53194,"nodeType":"UserDefinedTypeName","pathNode":{"id":53193,"name":"Options","nameLocations":["10622:7:68"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"10622:7:68"},"referencedDeclaration":52051,"src":"10622:7:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"src":"10593:49:68"},"returnParameters":{"id":53197,"nodeType":"ParameterList","parameters":[],"src":"10652:0:68"},"scope":54039,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":53229,"nodeType":"FunctionDefinition","src":"11466:217:68","nodes":[],"body":{"id":53228,"nodeType":"Block","src":"11566:117:68","nodes":[],"statements":[{"expression":{"arguments":[{"id":53217,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53208,"src":"11592:12:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53218,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53211,"src":"11606:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"id":53216,"name":"validateUpgrade","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53205,"src":"11576:15:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$__$","typeString":"function (string memory,struct Options memory)"}},"id":53219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11576:35:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53220,"nodeType":"ExpressionStatement","src":"11576:35:68"},{"expression":{"arguments":[{"id":53222,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53208,"src":"11635:12:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":53223,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53211,"src":"11649:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":53224,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11654:15:68","memberName":"constructorData","nodeType":"MemberAccess","referencedDeclaration":52034,"src":"11649:20:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":53225,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53211,"src":"11671:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"id":53221,"name":"deploy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53967,"src":"11628:6:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,bytes memory,struct Options memory) returns (address)"}},"id":53226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11628:48:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":53215,"id":53227,"nodeType":"Return","src":"11621:55:68"}]},"documentation":{"id":53206,"nodeType":"StructuredDocumentation","src":"10710:751:68","text":" @dev Validates a new implementation contract in comparison with a reference contract, deploys the new implementation contract,\n and returns its address.\n Requires that either the `referenceContract` option is set, or the contract has a `@custom:oz-upgrades-from ` annotation.\n Use this method to prepare an upgrade to be run from an admin address you do not control directly or cannot use from your deployment environment.\n @param contractName Name of the contract to deploy, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param opts Common options\n @return Address of the new implementation contract"},"implemented":true,"kind":"function","modifiers":[],"name":"prepareUpgrade","nameLocation":"11475:14:68","parameters":{"id":53212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53208,"mutability":"mutable","name":"contractName","nameLocation":"11504:12:68","nodeType":"VariableDeclaration","scope":53229,"src":"11490:26:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53207,"name":"string","nodeType":"ElementaryTypeName","src":"11490:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53211,"mutability":"mutable","name":"opts","nameLocation":"11533:4:68","nodeType":"VariableDeclaration","scope":53229,"src":"11518:19:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":53210,"nodeType":"UserDefinedTypeName","pathNode":{"id":53209,"name":"Options","nameLocations":["11518:7:68"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"11518:7:68"},"referencedDeclaration":52051,"src":"11518:7:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"src":"11489:49:68"},"returnParameters":{"id":53215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53214,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53229,"src":"11557:7:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53213,"name":"address","nodeType":"ElementaryTypeName","src":"11557:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11556:9:68"},"scope":54039,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":53265,"nodeType":"FunctionDefinition","src":"11887:234:68","nodes":[],"body":{"id":53264,"nodeType":"Block","src":"11959:162:68","nodes":[],"statements":[{"assignments":[53239],"declarations":[{"constant":false,"id":53239,"mutability":"mutable","name":"vm","nameLocation":"11972:2:68","nodeType":"VariableDeclaration","scope":53264,"src":"11969:5:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":53238,"nodeType":"UserDefinedTypeName","pathNode":{"id":53237,"name":"Vm","nameLocations":["11969:2:68"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"11969:2:68"},"referencedDeclaration":18001,"src":"11969:2:68","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"internal"}],"id":53244,"initialValue":{"arguments":[{"expression":{"id":53241,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"11980:5:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":53242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11986:17:68","memberName":"CHEATCODE_ADDRESS","nodeType":"MemberAccess","referencedDeclaration":55708,"src":"11980:23:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":53240,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"11977:2:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":53243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11977:27:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"nodeType":"VariableDeclarationStatement","src":"11969:35:68"},{"assignments":[53246],"declarations":[{"constant":false,"id":53246,"mutability":"mutable","name":"adminSlot","nameLocation":"12023:9:68","nodeType":"VariableDeclaration","scope":53264,"src":"12015:17:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53245,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12015:7:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53252,"initialValue":{"arguments":[{"id":53249,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53232,"src":"12043:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53250,"name":"ADMIN_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53375,"src":"12050:10:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53247,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53239,"src":"12035:2:68","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":53248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12038:4:68","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":13945,"src":"12035:7:68","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":53251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12035:26:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"12015:46:68"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":53259,"name":"adminSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53246,"src":"12102:9:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":53258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12094:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":53257,"name":"uint256","nodeType":"ElementaryTypeName","src":"12094:7:68","typeDescriptions":{}}},"id":53260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12094:18:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":53256,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12086:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":53255,"name":"uint160","nodeType":"ElementaryTypeName","src":"12086:7:68","typeDescriptions":{}}},"id":53261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12086:27:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":53254,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12078:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53253,"name":"address","nodeType":"ElementaryTypeName","src":"12078:7:68","typeDescriptions":{}}},"id":53262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12078:36:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":53236,"id":53263,"nodeType":"Return","src":"12071:43:68"}]},"documentation":{"id":53230,"nodeType":"StructuredDocumentation","src":"11689:193:68","text":" @dev Gets the admin address of a transparent proxy from its ERC1967 admin storage slot.\n @param proxy Address of a transparent proxy\n @return Admin address"},"implemented":true,"kind":"function","modifiers":[],"name":"getAdminAddress","nameLocation":"11896:15:68","parameters":{"id":53233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53232,"mutability":"mutable","name":"proxy","nameLocation":"11920:5:68","nodeType":"VariableDeclaration","scope":53265,"src":"11912:13:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53231,"name":"address","nodeType":"ElementaryTypeName","src":"11912:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11911:15:68"},"returnParameters":{"id":53236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53235,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53265,"src":"11950:7:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53234,"name":"address","nodeType":"ElementaryTypeName","src":"11950:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11949:9:68"},"scope":54039,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":53301,"nodeType":"FunctionDefinition","src":"12368:250:68","nodes":[],"body":{"id":53300,"nodeType":"Block","src":"12449:169:68","nodes":[],"statements":[{"assignments":[53275],"declarations":[{"constant":false,"id":53275,"mutability":"mutable","name":"vm","nameLocation":"12462:2:68","nodeType":"VariableDeclaration","scope":53300,"src":"12459:5:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":53274,"nodeType":"UserDefinedTypeName","pathNode":{"id":53273,"name":"Vm","nameLocations":["12459:2:68"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"12459:2:68"},"referencedDeclaration":18001,"src":"12459:2:68","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"internal"}],"id":53280,"initialValue":{"arguments":[{"expression":{"id":53277,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"12470:5:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":53278,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12476:17:68","memberName":"CHEATCODE_ADDRESS","nodeType":"MemberAccess","referencedDeclaration":55708,"src":"12470:23:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":53276,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"12467:2:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":53279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12467:27:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"nodeType":"VariableDeclarationStatement","src":"12459:35:68"},{"assignments":[53282],"declarations":[{"constant":false,"id":53282,"mutability":"mutable","name":"implSlot","nameLocation":"12513:8:68","nodeType":"VariableDeclaration","scope":53300,"src":"12505:16:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53281,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12505:7:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53288,"initialValue":{"arguments":[{"id":53285,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53268,"src":"12532:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53286,"name":"IMPLEMENTATION_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53371,"src":"12539:19:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53283,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53275,"src":"12524:2:68","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":53284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12527:4:68","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":13945,"src":"12524:7:68","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":53287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12524:35:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"12505:54:68"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":53295,"name":"implSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53282,"src":"12600:8:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":53294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12592:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":53293,"name":"uint256","nodeType":"ElementaryTypeName","src":"12592:7:68","typeDescriptions":{}}},"id":53296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12592:17:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":53292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12584:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":53291,"name":"uint160","nodeType":"ElementaryTypeName","src":"12584:7:68","typeDescriptions":{}}},"id":53297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12584:26:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":53290,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12576:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53289,"name":"address","nodeType":"ElementaryTypeName","src":"12576:7:68","typeDescriptions":{}}},"id":53298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12576:35:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":53272,"id":53299,"nodeType":"Return","src":"12569:42:68"}]},"documentation":{"id":53266,"nodeType":"StructuredDocumentation","src":"12127:236:68","text":" @dev Gets the implementation address of a transparent or UUPS proxy from its ERC1967 implementation storage slot.\n @param proxy Address of a transparent or UUPS proxy\n @return Implementation address"},"implemented":true,"kind":"function","modifiers":[],"name":"getImplementationAddress","nameLocation":"12377:24:68","parameters":{"id":53269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53268,"mutability":"mutable","name":"proxy","nameLocation":"12410:5:68","nodeType":"VariableDeclaration","scope":53301,"src":"12402:13:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53267,"name":"address","nodeType":"ElementaryTypeName","src":"12402:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12401:15:68"},"returnParameters":{"id":53272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53271,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53301,"src":"12440:7:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53270,"name":"address","nodeType":"ElementaryTypeName","src":"12440:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12439:9:68"},"scope":54039,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":53337,"nodeType":"FunctionDefinition","src":"12815:238:68","nodes":[],"body":{"id":53336,"nodeType":"Block","src":"12888:165:68","nodes":[],"statements":[{"assignments":[53311],"declarations":[{"constant":false,"id":53311,"mutability":"mutable","name":"vm","nameLocation":"12901:2:68","nodeType":"VariableDeclaration","scope":53336,"src":"12898:5:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":53310,"nodeType":"UserDefinedTypeName","pathNode":{"id":53309,"name":"Vm","nameLocations":["12898:2:68"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"12898:2:68"},"referencedDeclaration":18001,"src":"12898:2:68","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"internal"}],"id":53316,"initialValue":{"arguments":[{"expression":{"id":53313,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"12909:5:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":53314,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12915:17:68","memberName":"CHEATCODE_ADDRESS","nodeType":"MemberAccess","referencedDeclaration":55708,"src":"12909:23:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":53312,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"12906:2:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":53315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12906:27:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"nodeType":"VariableDeclarationStatement","src":"12898:35:68"},{"assignments":[53318],"declarations":[{"constant":false,"id":53318,"mutability":"mutable","name":"beaconSlot","nameLocation":"12952:10:68","nodeType":"VariableDeclaration","scope":53336,"src":"12944:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53317,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12944:7:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":53324,"initialValue":{"arguments":[{"id":53321,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53304,"src":"12973:5:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53322,"name":"BEACON_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53379,"src":"12980:11:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":53319,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53311,"src":"12965:2:68","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":53320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12968:4:68","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":13945,"src":"12965:7:68","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":53323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12965:27:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"12944:48:68"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":53331,"name":"beaconSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53318,"src":"13033:10:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":53330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13025:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":53329,"name":"uint256","nodeType":"ElementaryTypeName","src":"13025:7:68","typeDescriptions":{}}},"id":53332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13025:19:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":53328,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13017:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":53327,"name":"uint160","nodeType":"ElementaryTypeName","src":"13017:7:68","typeDescriptions":{}}},"id":53333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13017:28:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":53326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13009:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53325,"name":"address","nodeType":"ElementaryTypeName","src":"13009:7:68","typeDescriptions":{}}},"id":53334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13009:37:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":53308,"id":53335,"nodeType":"Return","src":"13002:44:68"}]},"documentation":{"id":53302,"nodeType":"StructuredDocumentation","src":"12624:186:68","text":" @dev Gets the beacon address of a beacon proxy from its ERC1967 beacon storage slot.\n @param proxy Address of a beacon proxy\n @return Beacon address"},"implemented":true,"kind":"function","modifiers":[],"name":"getBeaconAddress","nameLocation":"12824:16:68","parameters":{"id":53305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53304,"mutability":"mutable","name":"proxy","nameLocation":"12849:5:68","nodeType":"VariableDeclaration","scope":53337,"src":"12841:13:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53303,"name":"address","nodeType":"ElementaryTypeName","src":"12841:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12840:15:68"},"returnParameters":{"id":53308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53307,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53337,"src":"12879:7:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53306,"name":"address","nodeType":"ElementaryTypeName","src":"12879:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12878:9:68"},"scope":54039,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":53367,"nodeType":"ModifierDefinition","src":"13316:213:68","nodes":[],"body":{"id":53366,"nodeType":"Block","src":"13352:177:68","nodes":[],"statements":[{"assignments":[53344],"declarations":[{"constant":false,"id":53344,"mutability":"mutable","name":"vm","nameLocation":"13365:2:68","nodeType":"VariableDeclaration","scope":53366,"src":"13362:5:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":53343,"nodeType":"UserDefinedTypeName","pathNode":{"id":53342,"name":"Vm","nameLocations":["13362:2:68"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"13362:2:68"},"referencedDeclaration":18001,"src":"13362:2:68","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"internal"}],"id":53349,"initialValue":{"arguments":[{"expression":{"id":53346,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"13373:5:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":53347,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13379:17:68","memberName":"CHEATCODE_ADDRESS","nodeType":"MemberAccess","referencedDeclaration":55708,"src":"13373:23:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":53345,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"13370:2:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":53348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13370:27:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"nodeType":"VariableDeclarationStatement","src":"13362:35:68"},{"clauses":[{"block":{"id":53360,"nodeType":"Block","src":"13436:54:68","statements":[{"id":53354,"nodeType":"PlaceholderStatement","src":"13450:1:68"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53355,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53344,"src":"13465:2:68","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":53357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13468:9:68","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":17530,"src":"13465:12:68","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":53358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13465:14:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53359,"nodeType":"ExpressionStatement","src":"13465:14:68"}]},"errorName":"","id":53361,"nodeType":"TryCatchClause","src":"13436:54:68"},{"block":{"id":53363,"nodeType":"Block","src":"13497:26:68","statements":[{"id":53362,"nodeType":"PlaceholderStatement","src":"13511:1:68"}]},"errorName":"","id":53364,"nodeType":"TryCatchClause","src":"13491:32:68"}],"externalCall":{"arguments":[{"id":53352,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53340,"src":"13426:8:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53350,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53344,"src":"13412:2:68","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":53351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13415:10:68","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":17486,"src":"13412:13:68","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":53353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13412:23:68","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53365,"nodeType":"TryStatement","src":"13408:115:68"}]},"documentation":{"id":53338,"nodeType":"StructuredDocumentation","src":"13059:252:68","text":" @notice For tests only. If broadcasting in scripts, use the `--sender
` option with `forge script` instead.\n @dev Runs a function as a prank, or just runs the function normally if the prank could not be started."},"name":"tryPrank","nameLocation":"13325:8:68","parameters":{"id":53341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53340,"mutability":"mutable","name":"deployer","nameLocation":"13342:8:68","nodeType":"VariableDeclaration","scope":53367,"src":"13334:16:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53339,"name":"address","nodeType":"ElementaryTypeName","src":"13334:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13333:18:68"},"virtual":false,"visibility":"internal"},{"id":53371,"nodeType":"VariableDeclaration","src":"13702:113:68","nodes":[],"constant":true,"documentation":{"id":53368,"nodeType":"StructuredDocumentation","src":"13535:162:68","text":" @dev Storage slot with the address of the implementation.\n This is the keccak-256 hash of \"eip1967.proxy.implementation\" subtracted by 1."},"mutability":"constant","name":"IMPLEMENTATION_SLOT","nameLocation":"13727:19:68","scope":54039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53369,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13702:7:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307833363038393461313362613161333231303636376338323834393264623938646361336532303736636333373335613932306133636135303564333832626263","id":53370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13749:66:68","typeDescriptions":{"typeIdentifier":"t_rational_24440054405305269366569402256811496959409073762505157381672968839269610695612_by_1","typeString":"int_const 2444...(69 digits omitted)...5612"},"value":"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"},"visibility":"private"},{"id":53375,"nodeType":"VariableDeclaration","src":"13969:104:68","nodes":[],"constant":true,"documentation":{"id":53372,"nodeType":"StructuredDocumentation","src":"13822:142:68","text":" @dev Storage slot with the admin of the proxy.\n This is the keccak-256 hash of \"eip1967.proxy.admin\" subtracted by 1."},"mutability":"constant","name":"ADMIN_SLOT","nameLocation":"13994:10:68","scope":54039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53373,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13969:7:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307862353331323736383461353638623331373361653133623966386136303136653234336536336236653865653131373864366137313738353062356436313033","id":53374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14007:66:68","typeDescriptions":{"typeIdentifier":"t_rational_81955473079516046949633743016697847541294818689821282749996681496272635257091_by_1","typeString":"int_const 8195...(69 digits omitted)...7091"},"value":"0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103"},"visibility":"private"},{"id":53379,"nodeType":"VariableDeclaration","src":"14283:105:68","nodes":[],"constant":true,"documentation":{"id":53376,"nodeType":"StructuredDocumentation","src":"14080:198:68","text":" @dev Storage slot with the UpgradeableBeacon contract which defines the implementation for the proxy.\n This is the keccak-256 hash of \"eip1967.proxy.beacon\" subtracted by 1."},"mutability":"constant","name":"BEACON_SLOT","nameLocation":"14308:11:68","scope":54039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":53377,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14283:7:68","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307861336630616437346535343233616562666438306433656634333436353738333335613961373261656165653539666636636233353832623335313333643530","id":53378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14322:66:68","typeDescriptions":{"typeIdentifier":"t_rational_74152234768234802001998023604048924213078445070507226371336425913862612794704_by_1","typeString":"int_const 7415...(69 digits omitted)...4704"},"value":"0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50"},"visibility":"private"},{"id":53419,"nodeType":"FunctionDefinition","src":"14679:488:68","nodes":[],"body":{"id":53418,"nodeType":"Block","src":"14767:400:68","nodes":[],"statements":[{"assignments":[53388,53390],"declarations":[{"constant":false,"id":53388,"mutability":"mutable","name":"success","nameLocation":"14879:7:68","nodeType":"VariableDeclaration","scope":53418,"src":"14874:12:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53387,"name":"bool","nodeType":"ElementaryTypeName","src":"14874:4:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":53390,"mutability":"mutable","name":"returndata","nameLocation":"14901:10:68","nodeType":"VariableDeclaration","scope":53418,"src":"14888:23:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":53389,"name":"bytes","nodeType":"ElementaryTypeName","src":"14888:5:68","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":53398,"initialValue":{"arguments":[{"arguments":[{"hexValue":"555047524144455f494e544552464143455f56455253494f4e2829","id":53395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14968:29:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_ad3cb1cc5c2df3b903ea43f30f77a80ecfeefbed7932a4a8e68c92af99e41dfd","typeString":"literal_string \"UPGRADE_INTERFACE_VERSION()\""},"value":"UPGRADE_INTERFACE_VERSION()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ad3cb1cc5c2df3b903ea43f30f77a80ecfeefbed7932a4a8e68c92af99e41dfd","typeString":"literal_string \"UPGRADE_INTERFACE_VERSION()\""}],"expression":{"id":53393,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14944:3:68","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14948:19:68","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14944:23:68","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14944:54:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":53391,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53382,"src":"14915:4:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":53392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14920:10:68","memberName":"staticcall","nodeType":"MemberAccess","src":"14915:15:68","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":53397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14915:93:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"14873:135:68"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":53404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53399,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53388,"src":"15022:7:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":53400,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53390,"src":"15033:10:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":53401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15044:6:68","memberName":"length","nodeType":"MemberAccess","src":"15033:17:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3332","id":53402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15053:2:68","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"15033:22:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15022:33:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":53416,"nodeType":"Block","src":"15127:34:68","statements":[{"expression":{"hexValue":"","id":53414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15148:2:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"functionReturnParameters":53386,"id":53415,"nodeType":"Return","src":"15141:9:68"}]},"id":53417,"nodeType":"IfStatement","src":"15018:143:68","trueBody":{"id":53413,"nodeType":"Block","src":"15057:64:68","statements":[{"expression":{"arguments":[{"id":53407,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53390,"src":"15089:10:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":53409,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15102:6:68","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":53408,"name":"string","nodeType":"ElementaryTypeName","src":"15102:6:68","typeDescriptions":{}}}],"id":53410,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"15101:8:68","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":53405,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15078:3:68","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53406,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15082:6:68","memberName":"decode","nodeType":"MemberAccess","src":"15078:10:68","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":53411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15078:32:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":53386,"id":53412,"nodeType":"Return","src":"15071:39:68"}]}}]},"documentation":{"id":53380,"nodeType":"StructuredDocumentation","src":"14395:279:68","text":" @dev Gets the upgrade interface version string from a proxy or admin contract using the `UPGRADE_INTERFACE_VERSION()` getter.\n If the contract does not have the getter or the return data does not look like a string, this function returns an empty string."},"implemented":true,"kind":"function","modifiers":[],"name":"getUpgradeInterfaceVersion","nameLocation":"14688:26:68","parameters":{"id":53383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53382,"mutability":"mutable","name":"addr","nameLocation":"14723:4:68","nodeType":"VariableDeclaration","scope":53419,"src":"14715:12:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53381,"name":"address","nodeType":"ElementaryTypeName","src":"14715:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14714:14:68"},"returnParameters":{"id":53386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53385,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53419,"src":"14752:13:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53384,"name":"string","nodeType":"ElementaryTypeName","src":"14752:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14751:15:68"},"scope":54039,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":53432,"nodeType":"FunctionDefinition","src":"15260:107:68","nodes":[],"body":{"id":53431,"nodeType":"Block","src":"15328:39:68","nodes":[],"statements":[{"expression":{"arguments":[{"id":53428,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53422,"src":"15355:4:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":53427,"name":"_hasOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53461,"src":"15345:9:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":53429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15345:15:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":53426,"id":53430,"nodeType":"Return","src":"15338:22:68"}]},"documentation":{"id":53420,"nodeType":"StructuredDocumentation","src":"15173:82:68","text":" @dev Infers whether the address might be a ProxyAdmin contract."},"implemented":true,"kind":"function","modifiers":[],"name":"inferProxyAdmin","nameLocation":"15269:15:68","parameters":{"id":53423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53422,"mutability":"mutable","name":"addr","nameLocation":"15293:4:68","nodeType":"VariableDeclaration","scope":53432,"src":"15285:12:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53421,"name":"address","nodeType":"ElementaryTypeName","src":"15285:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15284:14:68"},"returnParameters":{"id":53426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53425,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53432,"src":"15322:4:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53424,"name":"bool","nodeType":"ElementaryTypeName","src":"15322:4:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15321:6:68"},"scope":54039,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":53461,"nodeType":"FunctionDefinition","src":"15577:320:68","nodes":[],"body":{"id":53460,"nodeType":"Block","src":"15638:259:68","nodes":[],"statements":[{"assignments":[53441,53443],"declarations":[{"constant":false,"id":53441,"mutability":"mutable","name":"success","nameLocation":"15750:7:68","nodeType":"VariableDeclaration","scope":53460,"src":"15745:12:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53440,"name":"bool","nodeType":"ElementaryTypeName","src":"15745:4:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":53443,"mutability":"mutable","name":"returndata","nameLocation":"15772:10:68","nodeType":"VariableDeclaration","scope":53460,"src":"15759:23:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":53442,"name":"bytes","nodeType":"ElementaryTypeName","src":"15759:5:68","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":53451,"initialValue":{"arguments":[{"arguments":[{"hexValue":"6f776e65722829","id":53448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15826:9:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_8da5cb5b36e7f68c1d2e56001220cdbdd3ba2616072f718acfda4a06441a807d","typeString":"literal_string \"owner()\""},"value":"owner()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8da5cb5b36e7f68c1d2e56001220cdbdd3ba2616072f718acfda4a06441a807d","typeString":"literal_string \"owner()\""}],"expression":{"id":53446,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15802:3:68","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53447,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15806:19:68","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15802:23:68","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15802:34:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":53444,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53435,"src":"15786:4:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":53445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15791:10:68","memberName":"staticcall","nodeType":"MemberAccess","src":"15786:15:68","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":53450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15786:51:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"15744:93:68"},{"expression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":53457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53452,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53441,"src":"15855:7:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":53453,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53443,"src":"15866:10:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":53454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15877:6:68","memberName":"length","nodeType":"MemberAccess","src":"15866:17:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3332","id":53455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15887:2:68","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"15866:23:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15855:34:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":53458,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"15854:36:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":53439,"id":53459,"nodeType":"Return","src":"15847:43:68"}]},"documentation":{"id":53433,"nodeType":"StructuredDocumentation","src":"15373:199:68","text":" @dev Returns true if the address is a contract with an `owner()` function that is not state-changing and returns something that might be an address,\n otherwise returns false."},"implemented":true,"kind":"function","modifiers":[],"name":"_hasOwner","nameLocation":"15586:9:68","parameters":{"id":53436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53435,"mutability":"mutable","name":"addr","nameLocation":"15604:4:68","nodeType":"VariableDeclaration","scope":53461,"src":"15596:12:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53434,"name":"address","nodeType":"ElementaryTypeName","src":"15596:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15595:14:68"},"returnParameters":{"id":53439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53438,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53461,"src":"15632:4:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53437,"name":"bool","nodeType":"ElementaryTypeName","src":"15632:4:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15631:6:68"},"scope":54039,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":53609,"nodeType":"FunctionDefinition","src":"15903:1676:68","nodes":[],"body":{"id":53608,"nodeType":"Block","src":"16002:1577:68","nodes":[],"statements":[{"condition":{"expression":{"id":53471,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53466,"src":"16016:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":53472,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16021:19:68","memberName":"unsafeSkipAllChecks","nodeType":"MemberAccess","referencedDeclaration":52047,"src":"16016:24:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":53475,"nodeType":"IfStatement","src":"16012:61:68","trueBody":{"id":53474,"nodeType":"Block","src":"16042:31:68","statements":[{"functionReturnParameters":53470,"id":53473,"nodeType":"Return","src":"16056:7:68"}]}},{"assignments":[53480],"declarations":[{"constant":false,"id":53480,"mutability":"mutable","name":"inputs","nameLocation":"16099:6:68","nodeType":"VariableDeclaration","scope":53608,"src":"16083:22:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":53478,"name":"string","nodeType":"ElementaryTypeName","src":"16083:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":53479,"nodeType":"ArrayTypeName","src":"16083:8:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":53486,"initialValue":{"arguments":[{"id":53482,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53463,"src":"16129:12:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53483,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53466,"src":"16143:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},{"id":53484,"name":"requireReference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53468,"src":"16149:16:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":53481,"name":"buildValidateCommand","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53935,"src":"16108:20:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$_t_bool_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,struct Options memory,bool) view returns (string memory[] memory)"}},"id":53485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16108:58:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"16083:83:68"},{"assignments":[53491],"declarations":[{"constant":false,"id":53491,"mutability":"mutable","name":"result","nameLocation":"16196:6:68","nodeType":"VariableDeclaration","scope":53608,"src":"16176:26:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult"},"typeName":{"id":53490,"nodeType":"UserDefinedTypeName","pathNode":{"id":53489,"name":"Vm.FfiResult","nameLocations":["16176:2:68","16179:9:68"],"nodeType":"IdentifierPath","referencedDeclaration":13108,"src":"16176:12:68"},"referencedDeclaration":13108,"src":"16176:12:68","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_storage_ptr","typeString":"struct VmSafe.FfiResult"}},"visibility":"internal"}],"id":53496,"initialValue":{"arguments":[{"id":53494,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53480,"src":"16228:6:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":53492,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"16205:5:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":53493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16211:16:68","memberName":"runAsBashCommand","nodeType":"MemberAccess","referencedDeclaration":56367,"src":"16205:22:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_FfiResult_$13108_memory_ptr_$","typeString":"function (string memory[] memory) returns (struct VmSafe.FfiResult memory)"}},"id":53495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16205:30:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"nodeType":"VariableDeclarationStatement","src":"16176:59:68"},{"assignments":[53498],"declarations":[{"constant":false,"id":53498,"mutability":"mutable","name":"stdout","nameLocation":"16259:6:68","nodeType":"VariableDeclaration","scope":53608,"src":"16245:20:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53497,"name":"string","nodeType":"ElementaryTypeName","src":"16245:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":53504,"initialValue":{"arguments":[{"expression":{"id":53501,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53491,"src":"16275:6:68","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"id":53502,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16282:6:68","memberName":"stdout","nodeType":"MemberAccess","referencedDeclaration":13105,"src":"16275:13:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53500,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16268:6:68","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":53499,"name":"string","nodeType":"ElementaryTypeName","src":"16268:6:68","typeDescriptions":{}}},"id":53503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16268:21:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"16245:44:68"},{"assignments":[53507],"declarations":[{"constant":false,"id":53507,"mutability":"mutable","name":"vm","nameLocation":"16398:2:68","nodeType":"VariableDeclaration","scope":53608,"src":"16395:5:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":53506,"nodeType":"UserDefinedTypeName","pathNode":{"id":53505,"name":"Vm","nameLocations":["16395:2:68"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"16395:2:68"},"referencedDeclaration":18001,"src":"16395:2:68","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"internal"}],"id":53512,"initialValue":{"arguments":[{"expression":{"id":53509,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"16406:5:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":53510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16412:17:68","memberName":"CHEATCODE_ADDRESS","nodeType":"MemberAccess","referencedDeclaration":55708,"src":"16406:23:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":53508,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"16403:2:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":53511,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16403:27:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"nodeType":"VariableDeclarationStatement","src":"16395:35:68"},{"condition":{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":53516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":53513,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53491,"src":"16444:6:68","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"id":53514,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16451:8:68","memberName":"exitCode","nodeType":"MemberAccess","referencedDeclaration":13103,"src":"16444:15:68","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":53515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16463:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16444:20:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":53606,"nodeType":"Block","src":"16969:604:68","statements":[{"condition":{"arguments":[{"id":53557,"name":"stdout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53498,"src":"16999:6:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"4641494c4544","id":53558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17007:8:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_c50cad6f8b1c8a54a5c76e3eca57f2748d547818bfac18403e7911bf23fc8166","typeString":"literal_string \"FAILED\""},"value":"FAILED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_c50cad6f8b1c8a54a5c76e3eca57f2748d547818bfac18403e7911bf23fc8166","typeString":"literal_string \"FAILED\""}],"expression":{"id":53555,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53507,"src":"16987:2:68","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":53556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16990:8:68","memberName":"contains","nodeType":"MemberAccess","referencedDeclaration":15032,"src":"16987:11:68","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) external returns (bool)"}},"id":53559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16987:29:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":53604,"nodeType":"Block","src":"17385:178:68","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"4661696c656420746f2072756e2075706772616465207361666574792076616c69646174696f6e3a20","id":53594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17479:43:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_29a2b74f226f0ae680d4b1730e672f85f1c84ce9f2c45ff21557229ab3df8027","typeString":"literal_string \"Failed to run upgrade safety validation: \""},"value":"Failed to run upgrade safety validation: "},{"arguments":[{"expression":{"id":53597,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53491,"src":"17531:6:68","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"id":53598,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17538:6:68","memberName":"stderr","nodeType":"MemberAccess","referencedDeclaration":13107,"src":"17531:13:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53596,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17524:6:68","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":53595,"name":"string","nodeType":"ElementaryTypeName","src":"17524:6:68","typeDescriptions":{}}},"id":53599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17524:21:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_29a2b74f226f0ae680d4b1730e672f85f1c84ce9f2c45ff21557229ab3df8027","typeString":"literal_string \"Failed to run upgrade safety validation: \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":53592,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17462:3:68","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53593,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17466:12:68","memberName":"encodePacked","nodeType":"MemberAccess","src":"17462:16:68","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17462:84:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53591,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17455:6:68","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":53590,"name":"string","nodeType":"ElementaryTypeName","src":"17455:6:68","typeDescriptions":{}}},"id":53601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17455:92:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":53589,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"17448:6:68","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":53602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17448:100:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53603,"nodeType":"ExpressionStatement","src":"17448:100:68"}]},"id":53605,"nodeType":"IfStatement","src":"16983:580:68","trueBody":{"id":53588,"nodeType":"Block","src":"17018:361:68","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":53560,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53491,"src":"17040:6:68","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"id":53561,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17047:6:68","memberName":"stderr","nodeType":"MemberAccess","referencedDeclaration":13107,"src":"17040:13:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":53562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17054:6:68","memberName":"length","nodeType":"MemberAccess","src":"17040:20:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":53563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17063:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"17040:24:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":53576,"nodeType":"IfStatement","src":"17036:156:68","trueBody":{"id":53575,"nodeType":"Block","src":"17066:126:68","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":53570,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53491,"src":"17158:6:68","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"id":53571,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17165:6:68","memberName":"stderr","nodeType":"MemberAccess","referencedDeclaration":13107,"src":"17158:13:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53569,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17151:6:68","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":53568,"name":"string","nodeType":"ElementaryTypeName","src":"17151:6:68","typeDescriptions":{}}},"id":53572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17151:21:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":53565,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"17139:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":53567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17147:3:68","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"17139:11:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":53573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17139:34:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53574,"nodeType":"ExpressionStatement","src":"17139:34:68"}]}},{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"55706772616465207361666574792076616c69646174696f6e206661696c65643a0a","id":53582,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17316:37:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_08801615ab40adc93bf881a8fa998cec8215450529dace7649c906794b645fd9","typeString":"literal_string hex\"55706772616465207361666574792076616c69646174696f6e206661696c65643a0a\""},"value":"Upgrade safety validation failed:\n"},{"id":53583,"name":"stdout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53498,"src":"17355:6:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_08801615ab40adc93bf881a8fa998cec8215450529dace7649c906794b645fd9","typeString":"literal_string hex\"55706772616465207361666574792076616c69646174696f6e206661696c65643a0a\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":53580,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17299:3:68","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53581,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17303:12:68","memberName":"encodePacked","nodeType":"MemberAccess","src":"17299:16:68","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17299:63:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53579,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17292:6:68","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":53578,"name":"string","nodeType":"ElementaryTypeName","src":"17292:6:68","typeDescriptions":{}}},"id":53585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17292:71:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":53577,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"17285:6:68","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":53586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17285:79:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53587,"nodeType":"ExpressionStatement","src":"17285:79:68"}]}}]},"id":53607,"nodeType":"IfStatement","src":"16440:1133:68","trueBody":{"id":53554,"nodeType":"Block","src":"16466:497:68","statements":[{"condition":{"arguments":[{"id":53519,"name":"stdout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53498,"src":"16597:6:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"53554343455353","id":53520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16605:9:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_39bf027dd97f3bae0cf8cfb909695ec63313a9bd61ad52fc7f52cf565b141da8","typeString":"literal_string \"SUCCESS\""},"value":"SUCCESS"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_39bf027dd97f3bae0cf8cfb909695ec63313a9bd61ad52fc7f52cf565b141da8","typeString":"literal_string \"SUCCESS\""}],"expression":{"id":53517,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53507,"src":"16585:2:68","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":53518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16588:8:68","memberName":"contains","nodeType":"MemberAccess","referencedDeclaration":15032,"src":"16585:11:68","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) external returns (bool)"}},"id":53521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16585:30:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":53552,"nodeType":"Block","src":"16835:118:68","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"4661696c656420746f2072756e2075706772616465207361666574792076616c69646174696f6e3a20","id":53546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16884:43:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_29a2b74f226f0ae680d4b1730e672f85f1c84ce9f2c45ff21557229ab3df8027","typeString":"literal_string \"Failed to run upgrade safety validation: \""},"value":"Failed to run upgrade safety validation: "},{"id":53547,"name":"stdout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53498,"src":"16929:6:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_29a2b74f226f0ae680d4b1730e672f85f1c84ce9f2c45ff21557229ab3df8027","typeString":"literal_string \"Failed to run upgrade safety validation: \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":53544,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16867:3:68","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53545,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16871:12:68","memberName":"encodePacked","nodeType":"MemberAccess","src":"16867:16:68","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16867:69:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53543,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16860:6:68","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":53542,"name":"string","nodeType":"ElementaryTypeName","src":"16860:6:68","typeDescriptions":{}}},"id":53549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16860:77:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":53541,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"16853:6:68","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":53550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16853:85:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53551,"nodeType":"ExpressionStatement","src":"16853:85:68"}]},"id":53553,"nodeType":"IfStatement","src":"16581:372:68","trueBody":{"id":53540,"nodeType":"Block","src":"16617:212:68","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":53522,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53491,"src":"16639:6:68","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"id":53523,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16646:6:68","memberName":"stderr","nodeType":"MemberAccess","referencedDeclaration":13107,"src":"16639:13:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":53524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16653:6:68","memberName":"length","nodeType":"MemberAccess","src":"16639:20:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":53525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16662:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16639:24:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":53538,"nodeType":"IfStatement","src":"16635:156:68","trueBody":{"id":53537,"nodeType":"Block","src":"16665:126:68","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":53532,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53491,"src":"16757:6:68","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"id":53533,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16764:6:68","memberName":"stderr","nodeType":"MemberAccess","referencedDeclaration":13107,"src":"16757:13:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53531,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16750:6:68","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":53530,"name":"string","nodeType":"ElementaryTypeName","src":"16750:6:68","typeDescriptions":{}}},"id":53534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16750:21:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":53527,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"16738:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":53529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16746:3:68","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"16738:11:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":53535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16738:34:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53536,"nodeType":"ExpressionStatement","src":"16738:34:68"}]}},{"functionReturnParameters":53470,"id":53539,"nodeType":"Return","src":"16808:7:68"}]}}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_validate","nameLocation":"15912:9:68","parameters":{"id":53469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53463,"mutability":"mutable","name":"contractName","nameLocation":"15936:12:68","nodeType":"VariableDeclaration","scope":53609,"src":"15922:26:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53462,"name":"string","nodeType":"ElementaryTypeName","src":"15922:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53466,"mutability":"mutable","name":"opts","nameLocation":"15965:4:68","nodeType":"VariableDeclaration","scope":53609,"src":"15950:19:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":53465,"nodeType":"UserDefinedTypeName","pathNode":{"id":53464,"name":"Options","nameLocations":["15950:7:68"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"15950:7:68"},"referencedDeclaration":52051,"src":"15950:7:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"},{"constant":false,"id":53468,"mutability":"mutable","name":"requireReference","nameLocation":"15976:16:68","nodeType":"VariableDeclaration","scope":53609,"src":"15971:21:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53467,"name":"bool","nodeType":"ElementaryTypeName","src":"15971:4:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15921:72:68"},"returnParameters":{"id":53470,"nodeType":"ParameterList","parameters":[],"src":"16002:0:68"},"scope":54039,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":53935,"nodeType":"FunctionDefinition","src":"17585:2451:68","nodes":[],"body":{"id":53934,"nodeType":"Block","src":"17757:2279:68","nodes":[],"statements":[{"assignments":[53623],"declarations":[{"constant":false,"id":53623,"mutability":"mutable","name":"outDir","nameLocation":"17781:6:68","nodeType":"VariableDeclaration","scope":53934,"src":"17767:20:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53622,"name":"string","nodeType":"ElementaryTypeName","src":"17767:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":53627,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":53624,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"17790:5:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":53625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17796:9:68","memberName":"getOutDir","nodeType":"MemberAccess","referencedDeclaration":56004,"src":"17790:15:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":53626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17790:17:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"17767:40:68"},{"assignments":[53632],"declarations":[{"constant":false,"id":53632,"mutability":"mutable","name":"inputBuilder","nameLocation":"17834:12:68","nodeType":"VariableDeclaration","scope":53934,"src":"17818:28:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":53630,"name":"string","nodeType":"ElementaryTypeName","src":"17818:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":53631,"nodeType":"ArrayTypeName","src":"17818:8:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":53640,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_rational_65536_by_1","typeString":"int_const 65536"},"id":53638,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":53636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17862:1:68","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3136","id":53637,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17867:2:68","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"17862:7:68","typeDescriptions":{"typeIdentifier":"t_rational_65536_by_1","typeString":"int_const 65536"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_65536_by_1","typeString":"int_const 65536"}],"id":53635,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"17849:12:68","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (string memory[] memory)"},"typeName":{"baseType":{"id":53633,"name":"string","nodeType":"ElementaryTypeName","src":"17853:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":53634,"nodeType":"ArrayTypeName","src":"17853:8:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":53639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17849:21:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"17818:52:68"},{"assignments":[53642],"declarations":[{"constant":false,"id":53642,"mutability":"mutable","name":"i","nameLocation":"17888:1:68","nodeType":"VariableDeclaration","scope":53934,"src":"17881:8:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":53641,"name":"uint16","nodeType":"ElementaryTypeName","src":"17881:6:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"}],"id":53644,"initialValue":{"hexValue":"30","id":53643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17892:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"17881:12:68"},{"expression":{"id":53650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":53645,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53632,"src":"17904:12:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":53648,"indexExpression":{"id":53647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"17917:3:68","subExpression":{"id":53646,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53642,"src":"17917:1:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17904:17:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"6e7078","id":53649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17924:5:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_169a1000665635df106bbe8ab6519d10dd57f5c196b68846e9722c94b7bf89aa","typeString":"literal_string \"npx\""},"value":"npx"},"src":"17904:25:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":53651,"nodeType":"ExpressionStatement","src":"17904:25:68"},{"expression":{"id":53665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":53652,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53632,"src":"17939:12:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":53655,"indexExpression":{"id":53654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"17952:3:68","subExpression":{"id":53653,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53642,"src":"17952:1:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17939:17:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"406f70656e7a657070656c696e2f75706772616465732d636f726540","id":53660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17983:30:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_459e684ed08b96f40b9b516154105232b46d6e25e3ebbcc2460d0ad2691a0f84","typeString":"literal_string \"@openzeppelin/upgrades-core@\""},"value":"@openzeppelin/upgrades-core@"},{"expression":{"id":53661,"name":"Versions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56377,"src":"18015:8:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Versions_$56377_$","typeString":"type(library Versions)"}},"id":53662,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18024:13:68","memberName":"UPGRADES_CORE","nodeType":"MemberAccess","referencedDeclaration":56373,"src":"18015:22:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_459e684ed08b96f40b9b516154105232b46d6e25e3ebbcc2460d0ad2691a0f84","typeString":"literal_string \"@openzeppelin/upgrades-core@\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":53658,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17966:3:68","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53659,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17970:12:68","memberName":"encodePacked","nodeType":"MemberAccess","src":"17966:16:68","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17966:72:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17959:6:68","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":53656,"name":"string","nodeType":"ElementaryTypeName","src":"17959:6:68","typeDescriptions":{}}},"id":53664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17959:80:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"17939:100:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":53666,"nodeType":"ExpressionStatement","src":"17939:100:68"},{"expression":{"id":53672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":53667,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53632,"src":"18049:12:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":53670,"indexExpression":{"id":53669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18062:3:68","subExpression":{"id":53668,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53642,"src":"18062:1:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18049:17:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"76616c6964617465","id":53671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18069:10:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_67d5dd63d7dc0de108d32d55bd8a8f2b62fd23d0938f9b5b2c6003ec0cb829ca","typeString":"literal_string \"validate\""},"value":"validate"},"src":"18049:30:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":53673,"nodeType":"ExpressionStatement","src":"18049:30:68"},{"expression":{"id":53686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":53674,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53632,"src":"18089:12:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":53677,"indexExpression":{"id":53676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18102:3:68","subExpression":{"id":53675,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53642,"src":"18102:1:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18089:17:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":53682,"name":"outDir","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53623,"src":"18133:6:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2f6275696c642d696e666f","id":53683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18141:13:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_69ae65ff9142d8f87b3884b153358f78dcd4f6339bb046b9a6d16c966fa813af","typeString":"literal_string \"/build-info\""},"value":"/build-info"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_69ae65ff9142d8f87b3884b153358f78dcd4f6339bb046b9a6d16c966fa813af","typeString":"literal_string \"/build-info\""}],"expression":{"id":53680,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18116:3:68","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53681,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18120:12:68","memberName":"encodePacked","nodeType":"MemberAccess","src":"18116:16:68","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18116:39:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18109:6:68","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":53678,"name":"string","nodeType":"ElementaryTypeName","src":"18109:6:68","typeDescriptions":{}}},"id":53685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18109:47:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"18089:67:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":53687,"nodeType":"ExpressionStatement","src":"18089:67:68"},{"expression":{"id":53693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":53688,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53632,"src":"18166:12:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":53691,"indexExpression":{"id":53690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18179:3:68","subExpression":{"id":53689,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53642,"src":"18179:1:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18166:17:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d636f6e7472616374","id":53692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18186:12:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b0e6b1164482541e4d24a6cb6f13807add41f2d9d48e3c79f2d3f8a98381b61","typeString":"literal_string \"--contract\""},"value":"--contract"},"src":"18166:32:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":53694,"nodeType":"ExpressionStatement","src":"18166:32:68"},{"expression":{"id":53704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":53695,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53632,"src":"18208:12:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":53698,"indexExpression":{"id":53697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18221:3:68","subExpression":{"id":53696,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53642,"src":"18221:1:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18208:17:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":53701,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53611,"src":"18256:12:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53702,"name":"outDir","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53623,"src":"18270:6:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":53699,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"18228:5:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":53700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18234:21:68","memberName":"getFullyQualifiedName","nodeType":"MemberAccess","referencedDeclaration":55739,"src":"18228:27:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) view returns (string memory)"}},"id":53703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18228:49:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"18208:69:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":53705,"nodeType":"ExpressionStatement","src":"18208:69:68"},{"assignments":[53707],"declarations":[{"constant":false,"id":53707,"mutability":"mutable","name":"hasReferenceContract","nameLocation":"18293:20:68","nodeType":"VariableDeclaration","scope":53934,"src":"18288:25:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53706,"name":"bool","nodeType":"ElementaryTypeName","src":"18288:4:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":53716,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":53710,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53614,"src":"18322:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":53711,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18327:17:68","memberName":"referenceContract","nodeType":"MemberAccess","referencedDeclaration":52030,"src":"18322:22:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":53709,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18316:5:68","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":53708,"name":"bytes","nodeType":"ElementaryTypeName","src":"18316:5:68","typeDescriptions":{}}},"id":53712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18316:29:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":53713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18346:6:68","memberName":"length","nodeType":"MemberAccess","src":"18316:36:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":53714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18356:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18316:41:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"18288:69:68"},{"assignments":[53718],"declarations":[{"constant":false,"id":53718,"mutability":"mutable","name":"hasReferenceBuildInfoDir","nameLocation":"18372:24:68","nodeType":"VariableDeclaration","scope":53934,"src":"18367:29:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53717,"name":"bool","nodeType":"ElementaryTypeName","src":"18367:4:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":53727,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":53721,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53614,"src":"18405:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":53722,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18410:21:68","memberName":"referenceBuildInfoDir","nodeType":"MemberAccess","referencedDeclaration":52032,"src":"18405:26:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":53720,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18399:5:68","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":53719,"name":"bytes","nodeType":"ElementaryTypeName","src":"18399:5:68","typeDescriptions":{}}},"id":53723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18399:33:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":53724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18433:6:68","memberName":"length","nodeType":"MemberAccess","src":"18399:40:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":53725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18443:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18399:45:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"18367:77:68"},{"condition":{"id":53728,"name":"hasReferenceContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53707,"src":"18459:20:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":53765,"nodeType":"IfStatement","src":"18455:352:68","trueBody":{"id":53764,"nodeType":"Block","src":"18481:326:68","statements":[{"assignments":[53730],"declarations":[{"constant":false,"id":53730,"mutability":"mutable","name":"referenceArg","nameLocation":"18509:12:68","nodeType":"VariableDeclaration","scope":53764,"src":"18495:26:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53729,"name":"string","nodeType":"ElementaryTypeName","src":"18495:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":53741,"initialValue":{"condition":{"id":53731,"name":"hasReferenceBuildInfoDir","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53718,"src":"18524:24:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":53736,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53614,"src":"18636:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":53737,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18641:17:68","memberName":"referenceContract","nodeType":"MemberAccess","referencedDeclaration":52030,"src":"18636:22:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53738,"name":"outDir","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53623,"src":"18660:6:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":53734,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"18608:5:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":53735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18614:21:68","memberName":"getFullyQualifiedName","nodeType":"MemberAccess","referencedDeclaration":55739,"src":"18608:27:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) view returns (string memory)"}},"id":53739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18608:59:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":53740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"18524:143:68","trueExpression":{"expression":{"id":53732,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53614,"src":"18567:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":53733,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18572:17:68","memberName":"referenceContract","nodeType":"MemberAccess","referencedDeclaration":52030,"src":"18567:22:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"18495:172:68"},{"expression":{"id":53747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":53742,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53632,"src":"18681:12:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":53745,"indexExpression":{"id":53744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18694:3:68","subExpression":{"id":53743,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53642,"src":"18694:1:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18681:17:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d7265666572656e6365","id":53746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18701:13:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d26cccc713a3e21239b15a882ab87c502303b0e01681e8e02e3264e9cc6764e","typeString":"literal_string \"--reference\""},"value":"--reference"},"src":"18681:33:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":53748,"nodeType":"ExpressionStatement","src":"18681:33:68"},{"expression":{"id":53762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":53749,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53632,"src":"18728:12:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":53752,"indexExpression":{"id":53751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18741:3:68","subExpression":{"id":53750,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53642,"src":"18741:1:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18728:17:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"22","id":53757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18772:3:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},"value":"\""},{"id":53758,"name":"referenceArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53730,"src":"18777:12:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"22","id":53759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18791:3:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},"value":"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""}],"expression":{"id":53755,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18755:3:68","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53756,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18759:12:68","memberName":"encodePacked","nodeType":"MemberAccess","src":"18755:16:68","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18755:40:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53754,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18748:6:68","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":53753,"name":"string","nodeType":"ElementaryTypeName","src":"18748:6:68","typeDescriptions":{}}},"id":53761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18748:48:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"18728:68:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":53763,"nodeType":"ExpressionStatement","src":"18728:68:68"}]}},{"condition":{"id":53766,"name":"hasReferenceBuildInfoDir","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53718,"src":"18821:24:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":53791,"nodeType":"IfStatement","src":"18817:197:68","trueBody":{"id":53790,"nodeType":"Block","src":"18847:167:68","statements":[{"expression":{"id":53772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":53767,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53632,"src":"18861:12:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":53770,"indexExpression":{"id":53769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18874:3:68","subExpression":{"id":53768,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53642,"src":"18874:1:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18861:17:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d7265666572656e63654275696c64496e666f44697273","id":53771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18881:26:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e84ca1592e79b10d2ce29b1f641e77c1969bd8933d273e98d150bf177b12511","typeString":"literal_string \"--referenceBuildInfoDirs\""},"value":"--referenceBuildInfoDirs"},"src":"18861:46:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":53773,"nodeType":"ExpressionStatement","src":"18861:46:68"},{"expression":{"id":53788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":53774,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53632,"src":"18921:12:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":53777,"indexExpression":{"id":53776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18934:3:68","subExpression":{"id":53775,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53642,"src":"18934:1:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18921:17:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"22","id":53782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18965:3:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},"value":"\""},{"expression":{"id":53783,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53614,"src":"18970:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":53784,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18975:21:68","memberName":"referenceBuildInfoDir","nodeType":"MemberAccess","referencedDeclaration":52032,"src":"18970:26:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"22","id":53785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18998:3:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},"value":"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""}],"expression":{"id":53780,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18948:3:68","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53781,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18952:12:68","memberName":"encodePacked","nodeType":"MemberAccess","src":"18948:16:68","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18948:54:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18941:6:68","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":53778,"name":"string","nodeType":"ElementaryTypeName","src":"18941:6:68","typeDescriptions":{}}},"id":53787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18941:62:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"18921:82:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":53789,"nodeType":"ExpressionStatement","src":"18921:82:68"}]}},{"body":{"id":53842,"nodeType":"Block","src":"19072:254:68","statements":[{"assignments":[53805],"declarations":[{"constant":false,"id":53805,"mutability":"mutable","name":"exclude","nameLocation":"19100:7:68","nodeType":"VariableDeclaration","scope":53842,"src":"19086:21:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53804,"name":"string","nodeType":"ElementaryTypeName","src":"19086:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":53810,"initialValue":{"baseExpression":{"expression":{"id":53806,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53614,"src":"19110:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":53807,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19115:7:68","memberName":"exclude","nodeType":"MemberAccess","referencedDeclaration":52037,"src":"19110:12:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":53809,"indexExpression":{"id":53808,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53793,"src":"19123:1:68","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19110:15:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"19086:39:68"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":53813,"name":"exclude","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53805,"src":"19149:7:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":53812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19143:5:68","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":53811,"name":"bytes","nodeType":"ElementaryTypeName","src":"19143:5:68","typeDescriptions":{}}},"id":53814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19143:14:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":53815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19158:6:68","memberName":"length","nodeType":"MemberAccess","src":"19143:21:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":53816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19168:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"19143:26:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":53841,"nodeType":"IfStatement","src":"19139:177:68","trueBody":{"id":53840,"nodeType":"Block","src":"19171:145:68","statements":[{"expression":{"id":53823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":53818,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53632,"src":"19189:12:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":53821,"indexExpression":{"id":53820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"19202:3:68","subExpression":{"id":53819,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53642,"src":"19202:1:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19189:17:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d6578636c756465","id":53822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19209:11:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d7ed775a7e33fff455d06d3d48bdf697c200ded9a8211349987776edde0f00b","typeString":"literal_string \"--exclude\""},"value":"--exclude"},"src":"19189:31:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":53824,"nodeType":"ExpressionStatement","src":"19189:31:68"},{"expression":{"id":53838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":53825,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53632,"src":"19238:12:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":53828,"indexExpression":{"id":53827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"19251:3:68","subExpression":{"id":53826,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53642,"src":"19251:1:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19238:17:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"22","id":53833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19282:3:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},"value":"\""},{"id":53834,"name":"exclude","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53805,"src":"19287:7:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"22","id":53835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19296:3:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},"value":"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""}],"expression":{"id":53831,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19265:3:68","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53832,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19269:12:68","memberName":"encodePacked","nodeType":"MemberAccess","src":"19265:16:68","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19265:35:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53830,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19258:6:68","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":53829,"name":"string","nodeType":"ElementaryTypeName","src":"19258:6:68","typeDescriptions":{}}},"id":53837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19258:43:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"19238:63:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":53839,"nodeType":"ExpressionStatement","src":"19238:63:68"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53796,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53793,"src":"19042:1:68","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"expression":{"id":53797,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53614,"src":"19046:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":53798,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19051:7:68","memberName":"exclude","nodeType":"MemberAccess","referencedDeclaration":52037,"src":"19046:12:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":53799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19059:6:68","memberName":"length","nodeType":"MemberAccess","src":"19046:19:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19042:23:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":53843,"initializationExpression":{"assignments":[53793],"declarations":[{"constant":false,"id":53793,"mutability":"mutable","name":"j","nameLocation":"19035:1:68","nodeType":"VariableDeclaration","scope":53843,"src":"19029:7:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":53792,"name":"uint8","nodeType":"ElementaryTypeName","src":"19029:5:68","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":53795,"initialValue":{"hexValue":"30","id":53794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19039:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"19029:11:68"},"isSimpleCounterLoop":false,"loopExpression":{"expression":{"id":53802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"19067:3:68","subExpression":{"id":53801,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53793,"src":"19067:1:68","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":53803,"nodeType":"ExpressionStatement","src":"19067:3:68"},"nodeType":"ForStatement","src":"19024:302:68"},{"condition":{"expression":{"id":53844,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53614,"src":"19340:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":53845,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19345:22:68","memberName":"unsafeSkipStorageCheck","nodeType":"MemberAccess","referencedDeclaration":52045,"src":"19340:27:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"id":53854,"name":"requireReference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53616,"src":"19450:16:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":53863,"nodeType":"IfStatement","src":"19446:87:68","trueBody":{"id":53862,"nodeType":"Block","src":"19468:65:68","statements":[{"expression":{"id":53860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":53855,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53632,"src":"19482:12:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":53858,"indexExpression":{"id":53857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"19495:3:68","subExpression":{"id":53856,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53642,"src":"19495:1:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19482:17:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d726571756972655265666572656e6365","id":53859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19502:20:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d766f59bf6d0ab60edca901c72671bf43dc1fb2f39735502e15ab94ce777b39","typeString":"literal_string \"--requireReference\""},"value":"--requireReference"},"src":"19482:40:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":53861,"nodeType":"ExpressionStatement","src":"19482:40:68"}]}},"id":53864,"nodeType":"IfStatement","src":"19336:197:68","trueBody":{"id":53853,"nodeType":"Block","src":"19369:71:68","statements":[{"expression":{"id":53851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":53846,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53632,"src":"19383:12:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":53849,"indexExpression":{"id":53848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"19396:3:68","subExpression":{"id":53847,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53642,"src":"19396:1:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19383:17:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d756e73616665536b697053746f72616765436865636b","id":53850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19403:26:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cf70432acc3bb1de86bbee2acff17d879f3e10f2f3bd33aae966886545656da","typeString":"literal_string \"--unsafeSkipStorageCheck\""},"value":"--unsafeSkipStorageCheck"},"src":"19383:46:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":53852,"nodeType":"ExpressionStatement","src":"19383:46:68"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":53872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":53867,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53614,"src":"19553:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":53868,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19558:11:68","memberName":"unsafeAllow","nodeType":"MemberAccess","referencedDeclaration":52039,"src":"19553:16:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":53866,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19547:5:68","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":53865,"name":"bytes","nodeType":"ElementaryTypeName","src":"19547:5:68","typeDescriptions":{}}},"id":53869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19547:23:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":53870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19571:6:68","memberName":"length","nodeType":"MemberAccess","src":"19547:30:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":53871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19581:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"19547:35:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":53889,"nodeType":"IfStatement","src":"19543:151:68","trueBody":{"id":53888,"nodeType":"Block","src":"19584:110:68","statements":[{"expression":{"id":53878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":53873,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53632,"src":"19598:12:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":53876,"indexExpression":{"id":53875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"19611:3:68","subExpression":{"id":53874,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53642,"src":"19611:1:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19598:17:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d756e73616665416c6c6f77","id":53877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19618:15:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_858b2d7962c0a21f136f10e55f819f574e5af3859efccbbe40131831be0950ac","typeString":"literal_string \"--unsafeAllow\""},"value":"--unsafeAllow"},"src":"19598:35:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":53879,"nodeType":"ExpressionStatement","src":"19598:35:68"},{"expression":{"id":53886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":53880,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53632,"src":"19647:12:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":53883,"indexExpression":{"id":53882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"19660:3:68","subExpression":{"id":53881,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53642,"src":"19660:1:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19647:17:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":53884,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53614,"src":"19667:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":53885,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19672:11:68","memberName":"unsafeAllow","nodeType":"MemberAccess","referencedDeclaration":52039,"src":"19667:16:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"19647:36:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":53887,"nodeType":"ExpressionStatement","src":"19647:36:68"}]}},{"condition":{"expression":{"id":53890,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53614,"src":"19708:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":53891,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19713:18:68","memberName":"unsafeAllowRenames","nodeType":"MemberAccess","referencedDeclaration":52041,"src":"19708:23:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":53900,"nodeType":"IfStatement","src":"19704:96:68","trueBody":{"id":53899,"nodeType":"Block","src":"19733:67:68","statements":[{"expression":{"id":53897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":53892,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53632,"src":"19747:12:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":53895,"indexExpression":{"id":53894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"19760:3:68","subExpression":{"id":53893,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53642,"src":"19760:1:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19747:17:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d756e73616665416c6c6f7752656e616d6573","id":53896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19767:22:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_b001052c52501f0fe7f938db35582424cc6ff35d81b60d3f3e7605ce1ae35603","typeString":"literal_string \"--unsafeAllowRenames\""},"value":"--unsafeAllowRenames"},"src":"19747:42:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":53898,"nodeType":"ExpressionStatement","src":"19747:42:68"}]}},{"assignments":[53905],"declarations":[{"constant":false,"id":53905,"mutability":"mutable","name":"inputs","nameLocation":"19889:6:68","nodeType":"VariableDeclaration","scope":53934,"src":"19873:22:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":53903,"name":"string","nodeType":"ElementaryTypeName","src":"19873:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":53904,"nodeType":"ArrayTypeName","src":"19873:8:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":53911,"initialValue":{"arguments":[{"id":53909,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53642,"src":"19911:1:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint16","typeString":"uint16"}],"id":53908,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"19898:12:68","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (string memory[] memory)"},"typeName":{"baseType":{"id":53906,"name":"string","nodeType":"ElementaryTypeName","src":"19902:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":53907,"nodeType":"ArrayTypeName","src":"19902:8:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":53910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19898:15:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"19873:40:68"},{"body":{"id":53930,"nodeType":"Block","src":"19954:52:68","statements":[{"expression":{"id":53928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":53922,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53905,"src":"19968:6:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":53924,"indexExpression":{"id":53923,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53913,"src":"19975:1:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19968:9:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":53925,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53632,"src":"19980:12:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":53927,"indexExpression":{"id":53926,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53913,"src":"19993:1:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19980:15:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"19968:27:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":53929,"nodeType":"ExpressionStatement","src":"19968:27:68"}]},"condition":{"commonType":{"typeIdentifier":"t_uint16","typeString":"uint16"},"id":53918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53916,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53913,"src":"19942:1:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":53917,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53642,"src":"19946:1:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"src":"19942:5:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":53931,"initializationExpression":{"assignments":[53913],"declarations":[{"constant":false,"id":53913,"mutability":"mutable","name":"j","nameLocation":"19935:1:68","nodeType":"VariableDeclaration","scope":53931,"src":"19928:8:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":53912,"name":"uint16","nodeType":"ElementaryTypeName","src":"19928:6:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"}],"id":53915,"initialValue":{"hexValue":"30","id":53914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19939:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"19928:12:68"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":53920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"19949:3:68","subExpression":{"id":53919,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53913,"src":"19949:1:68","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"id":53921,"nodeType":"ExpressionStatement","src":"19949:3:68"},"nodeType":"ForStatement","src":"19923:83:68"},{"expression":{"id":53932,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53905,"src":"20023:6:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":53621,"id":53933,"nodeType":"Return","src":"20016:13:68"}]},"implemented":true,"kind":"function","modifiers":[],"name":"buildValidateCommand","nameLocation":"17594:20:68","parameters":{"id":53617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53611,"mutability":"mutable","name":"contractName","nameLocation":"17638:12:68","nodeType":"VariableDeclaration","scope":53935,"src":"17624:26:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53610,"name":"string","nodeType":"ElementaryTypeName","src":"17624:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53614,"mutability":"mutable","name":"opts","nameLocation":"17675:4:68","nodeType":"VariableDeclaration","scope":53935,"src":"17660:19:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":53613,"nodeType":"UserDefinedTypeName","pathNode":{"id":53612,"name":"Options","nameLocations":["17660:7:68"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"17660:7:68"},"referencedDeclaration":52051,"src":"17660:7:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"},{"constant":false,"id":53616,"mutability":"mutable","name":"requireReference","nameLocation":"17694:16:68","nodeType":"VariableDeclaration","scope":53935,"src":"17689:21:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53615,"name":"bool","nodeType":"ElementaryTypeName","src":"17689:4:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17614:102:68"},"returnParameters":{"id":53621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53620,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53935,"src":"17740:15:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":53618,"name":"string","nodeType":"ElementaryTypeName","src":"17740:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":53619,"nodeType":"ArrayTypeName","src":"17740:8:68","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"17739:17:68"},"scope":54039,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":53967,"nodeType":"FunctionDefinition","src":"20042:380:68","nodes":[],"body":{"id":53966,"nodeType":"Block","src":"20194:228:68","nodes":[],"statements":[{"condition":{"expression":{"expression":{"id":53947,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53942,"src":"20208:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":53948,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20213:8:68","memberName":"defender","nodeType":"MemberAccess","referencedDeclaration":52050,"src":"20208:13:68","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":53949,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20222:17:68","memberName":"useDefenderDeploy","nodeType":"MemberAccess","referencedDeclaration":52054,"src":"20208:31:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":53964,"nodeType":"Block","src":"20346:70:68","statements":[{"expression":{"arguments":[{"id":53960,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53937,"src":"20375:12:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53961,"name":"constructorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53939,"src":"20389:15:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53959,"name":"_deploy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54024,"src":"20367:7:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,bytes memory) returns (address)"}},"id":53962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20367:38:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":53946,"id":53963,"nodeType":"Return","src":"20360:45:68"}]},"id":53965,"nodeType":"IfStatement","src":"20204:212:68","trueBody":{"id":53958,"nodeType":"Block","src":"20241:99:68","statements":[{"expression":{"arguments":[{"id":53952,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53937,"src":"20284:12:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53953,"name":"constructorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53939,"src":"20298:15:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":53954,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53942,"src":"20315:4:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":53955,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20320:8:68","memberName":"defender","nodeType":"MemberAccess","referencedDeclaration":52050,"src":"20315:13:68","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}],"expression":{"id":53950,"name":"DefenderDeploy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55538,"src":"20262:14:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_DefenderDeploy_$55538_$","typeString":"type(library DefenderDeploy)"}},"id":53951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20277:6:68","memberName":"deploy","nodeType":"MemberAccess","referencedDeclaration":54167,"src":"20262:21:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_struct$_DefenderOptions_$52072_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,bytes memory,struct DefenderOptions memory) returns (address)"}},"id":53956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20262:67:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":53946,"id":53957,"nodeType":"Return","src":"20255:74:68"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"deploy","nameLocation":"20051:6:68","parameters":{"id":53943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53937,"mutability":"mutable","name":"contractName","nameLocation":"20081:12:68","nodeType":"VariableDeclaration","scope":53967,"src":"20067:26:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53936,"name":"string","nodeType":"ElementaryTypeName","src":"20067:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53939,"mutability":"mutable","name":"constructorData","nameLocation":"20116:15:68","nodeType":"VariableDeclaration","scope":53967,"src":"20103:28:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":53938,"name":"bytes","nodeType":"ElementaryTypeName","src":"20103:5:68","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":53942,"mutability":"mutable","name":"opts","nameLocation":"20156:4:68","nodeType":"VariableDeclaration","scope":53967,"src":"20141:19:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":53941,"nodeType":"UserDefinedTypeName","pathNode":{"id":53940,"name":"Options","nameLocations":["20141:7:68"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"20141:7:68"},"referencedDeclaration":52051,"src":"20141:7:68","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"src":"20057:109:68"},"returnParameters":{"id":53946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53945,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53967,"src":"20185:7:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53944,"name":"address","nodeType":"ElementaryTypeName","src":"20185:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20184:9:68"},"scope":54039,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":54024,"nodeType":"FunctionDefinition","src":"20428:745:68","nodes":[],"body":{"id":54023,"nodeType":"Block","src":"20529:644:68","nodes":[],"statements":[{"assignments":[53977],"declarations":[{"constant":false,"id":53977,"mutability":"mutable","name":"creationCode","nameLocation":"20552:12:68","nodeType":"VariableDeclaration","scope":54023,"src":"20539:25:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":53976,"name":"bytes","nodeType":"ElementaryTypeName","src":"20539:5:68","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":53985,"initialValue":{"arguments":[{"id":53983,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53969,"src":"20603:12:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"arguments":[{"expression":{"id":53979,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"20570:5:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":53980,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20576:17:68","memberName":"CHEATCODE_ADDRESS","nodeType":"MemberAccess","referencedDeclaration":55708,"src":"20570:23:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":53978,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"20567:2:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":53981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20567:27:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":53982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20595:7:68","memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":14222,"src":"20567:35:68","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) view external returns (bytes memory)"}},"id":53984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20567:49:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"20539:77:68"},{"assignments":[53987],"declarations":[{"constant":false,"id":53987,"mutability":"mutable","name":"deployedAddress","nameLocation":"20634:15:68","nodeType":"VariableDeclaration","scope":54023,"src":"20626:23:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53986,"name":"address","nodeType":"ElementaryTypeName","src":"20626:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":53995,"initialValue":{"arguments":[{"arguments":[{"id":53991,"name":"creationCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53977,"src":"20689:12:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":53992,"name":"constructorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53971,"src":"20703:15:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":53989,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20672:3:68","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53990,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20676:12:68","memberName":"encodePacked","nodeType":"MemberAccess","src":"20672:16:68","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":53993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20672:47:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53988,"name":"_deployFromBytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54038,"src":"20652:19:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (bytes memory) returns (address)"}},"id":53994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20652:68:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"20626:94:68"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":54001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53996,"name":"deployedAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53987,"src":"20734:15:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":53999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20761:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":53998,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20753:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":53997,"name":"address","nodeType":"ElementaryTypeName","src":"20753:7:68","typeDescriptions":{}}},"id":54000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20753:10:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20734:29:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54020,"nodeType":"IfStatement","src":"20730:405:68","trueBody":{"id":54019,"nodeType":"Block","src":"20765:370:68","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"4661696c656420746f206465706c6f7920636f6e747261637420","id":54007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20873:28:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_45942a044068f475a72b247d918918cfb3543fa9d2f925dce5c26b7172dbe289","typeString":"literal_string \"Failed to deploy contract \""},"value":"Failed to deploy contract "},{"id":54008,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53969,"src":"20927:12:68","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"207573696e6720636f6e7374727563746f7220646174612022","id":54009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20965:27:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_aa9d79cc8375f222c2818bc0c013f6b7c3934b6f21aedb1df102a8f780a1b664","typeString":"literal_string \" using constructor data \"\""},"value":" using constructor data \""},{"arguments":[{"id":54012,"name":"constructorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53971,"src":"21025:15:68","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54011,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21018:6:68","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":54010,"name":"string","nodeType":"ElementaryTypeName","src":"21018:6:68","typeDescriptions":{}}},"id":54013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21018:23:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"22","id":54014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21067:3:68","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},"value":"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_45942a044068f475a72b247d918918cfb3543fa9d2f925dce5c26b7172dbe289","typeString":"literal_string \"Failed to deploy contract \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_aa9d79cc8375f222c2818bc0c013f6b7c3934b6f21aedb1df102a8f780a1b664","typeString":"literal_string \" using constructor data \"\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""}],"expression":{"id":54005,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20831:3:68","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54006,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20835:12:68","memberName":"encodePacked","nodeType":"MemberAccess","src":"20831:16:68","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20831:261:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54004,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20803:6:68","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":54003,"name":"string","nodeType":"ElementaryTypeName","src":"20803:6:68","typeDescriptions":{}}},"id":54016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20803:307:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":54002,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"20779:6:68","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":54017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20779:345:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54018,"nodeType":"ExpressionStatement","src":"20779:345:68"}]}},{"expression":{"id":54021,"name":"deployedAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53987,"src":"21151:15:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":53975,"id":54022,"nodeType":"Return","src":"21144:22:68"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deploy","nameLocation":"20437:7:68","parameters":{"id":53972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53969,"mutability":"mutable","name":"contractName","nameLocation":"20459:12:68","nodeType":"VariableDeclaration","scope":54024,"src":"20445:26:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53968,"name":"string","nodeType":"ElementaryTypeName","src":"20445:6:68","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53971,"mutability":"mutable","name":"constructorData","nameLocation":"20486:15:68","nodeType":"VariableDeclaration","scope":54024,"src":"20473:28:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":53970,"name":"bytes","nodeType":"ElementaryTypeName","src":"20473:5:68","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20444:58:68"},"returnParameters":{"id":53975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53974,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54024,"src":"20520:7:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53973,"name":"address","nodeType":"ElementaryTypeName","src":"20520:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20519:9:68"},"scope":54039,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":54038,"nodeType":"FunctionDefinition","src":"21179:266:68","nodes":[],"body":{"id":54037,"nodeType":"Block","src":"21257:188:68","nodes":[],"statements":[{"assignments":[54032],"declarations":[{"constant":false,"id":54032,"mutability":"mutable","name":"addr","nameLocation":"21275:4:68","nodeType":"VariableDeclaration","scope":54037,"src":"21267:12:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54031,"name":"address","nodeType":"ElementaryTypeName","src":"21267:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":54033,"nodeType":"VariableDeclarationStatement","src":"21267:12:68"},{"AST":{"nativeSrc":"21341:77:68","nodeType":"YulBlock","src":"21341:77:68","statements":[{"nativeSrc":"21355:53:68","nodeType":"YulAssignment","src":"21355:53:68","value":{"arguments":[{"kind":"number","nativeSrc":"21370:1:68","nodeType":"YulLiteral","src":"21370:1:68","type":"","value":"0"},{"arguments":[{"name":"bytecode","nativeSrc":"21377:8:68","nodeType":"YulIdentifier","src":"21377:8:68"},{"kind":"number","nativeSrc":"21387:2:68","nodeType":"YulLiteral","src":"21387:2:68","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"21373:3:68","nodeType":"YulIdentifier","src":"21373:3:68"},"nativeSrc":"21373:17:68","nodeType":"YulFunctionCall","src":"21373:17:68"},{"arguments":[{"name":"bytecode","nativeSrc":"21398:8:68","nodeType":"YulIdentifier","src":"21398:8:68"}],"functionName":{"name":"mload","nativeSrc":"21392:5:68","nodeType":"YulIdentifier","src":"21392:5:68"},"nativeSrc":"21392:15:68","nodeType":"YulFunctionCall","src":"21392:15:68"}],"functionName":{"name":"create","nativeSrc":"21363:6:68","nodeType":"YulIdentifier","src":"21363:6:68"},"nativeSrc":"21363:45:68","nodeType":"YulFunctionCall","src":"21363:45:68"},"variableNames":[{"name":"addr","nativeSrc":"21355:4:68","nodeType":"YulIdentifier","src":"21355:4:68"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"cancun","externalReferences":[{"declaration":54032,"isOffset":false,"isSlot":false,"src":"21355:4:68","valueSize":1},{"declaration":54026,"isOffset":false,"isSlot":false,"src":"21377:8:68","valueSize":1},{"declaration":54026,"isOffset":false,"isSlot":false,"src":"21398:8:68","valueSize":1}],"id":54034,"nodeType":"InlineAssembly","src":"21332:86:68"},{"expression":{"id":54035,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54032,"src":"21434:4:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":54030,"id":54036,"nodeType":"Return","src":"21427:11:68"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deployFromBytecode","nameLocation":"21188:19:68","parameters":{"id":54027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54026,"mutability":"mutable","name":"bytecode","nameLocation":"21221:8:68","nodeType":"VariableDeclaration","scope":54038,"src":"21208:21:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":54025,"name":"bytes","nodeType":"ElementaryTypeName","src":"21208:5:68","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21207:23:68"},"returnParameters":{"id":54030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54029,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54038,"src":"21248:7:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54028,"name":"address","nodeType":"ElementaryTypeName","src":"21248:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21247:9:68"},"scope":54039,"stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"Core","contractDependencies":[],"contractKind":"library","documentation":{"id":52873,"nodeType":"StructuredDocumentation","src":"581:194:68","text":" @dev Internal helper methods to validate/deploy implementations and perform upgrades.\n WARNING: DO NOT USE DIRECTLY. Use Upgrades.sol, LegacyUpgrades.sol or Defender.sol instead."},"fullyImplemented":true,"linearizedBaseContracts":[54039],"name":"Core","nameLocation":"784:4:68","scope":54040,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"id":69,"ast":{"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol","id":55539,"exportedSymbols":{"ApprovalProcessResponse":[52025],"ContractInfo":[55704],"DefenderDeploy":[55538],"DefenderOptions":[52072],"Options":[52051],"ProposeUpgradeResponse":[52018],"Strings":[46568],"Utils":[56368],"Versions":[56377],"Vm":[18001],"console":[26117]},"nodeType":"SourceUnit","src":"32:13795:69","nodes":[{"id":54041,"nodeType":"PragmaDirective","src":"32:23:69","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":54043,"nodeType":"ImportDirective","src":"57:36:69","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"forge-std/Vm.sol","nameLocation":"-1:-1:-1","scope":55539,"sourceUnit":18002,"symbolAliases":[{"foreign":{"id":54042,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"65:2:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":54045,"nodeType":"ImportDirective","src":"94:46:69","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":55539,"sourceUnit":26118,"symbolAliases":[{"foreign":{"id":54044,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"102:7:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":54047,"nodeType":"ImportDirective","src":"142:66:69","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Strings.sol","file":"@openzeppelin/contracts/utils/Strings.sol","nameLocation":"-1:-1:-1","scope":55539,"sourceUnit":46569,"symbolAliases":[{"foreign":{"id":54046,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46568,"src":"150:7:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":54050,"nodeType":"ImportDirective","src":"210:48:69","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol","file":"./Utils.sol","nameLocation":"-1:-1:-1","scope":55539,"sourceUnit":56369,"symbolAliases":[{"foreign":{"id":54048,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"218:5:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":54049,"name":"ContractInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55704,"src":"225:12:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":54052,"nodeType":"ImportDirective","src":"259:40:69","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol","file":"./Versions.sol","nameLocation":"-1:-1:-1","scope":55539,"sourceUnit":56378,"symbolAliases":[{"foreign":{"id":54051,"name":"Versions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56377,"src":"267:8:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":54055,"nodeType":"ImportDirective","src":"300:56:69","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/Options.sol","file":"../Options.sol","nameLocation":"-1:-1:-1","scope":55539,"sourceUnit":52083,"symbolAliases":[{"foreign":{"id":54053,"name":"Options","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52051,"src":"308:7:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":54054,"name":"DefenderOptions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52072,"src":"317:15:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":54058,"nodeType":"ImportDirective","src":"357:80:69","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/Defender.sol","file":"../Defender.sol","nameLocation":"-1:-1:-1","scope":55539,"sourceUnit":52026,"symbolAliases":[{"foreign":{"id":54056,"name":"ProposeUpgradeResponse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52018,"src":"365:22:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":54057,"name":"ApprovalProcessResponse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52025,"src":"389:23:69","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":55538,"nodeType":"ContractDefinition","src":"567:13259:69","nodes":[{"id":54167,"nodeType":"FunctionDefinition","src":"596:1052:69","nodes":[],"body":{"id":54166,"nodeType":"Block","src":"764:884:69","nodes":[],"statements":[{"assignments":[54072],"declarations":[{"constant":false,"id":54072,"mutability":"mutable","name":"outDir","nameLocation":"788:6:69","nodeType":"VariableDeclaration","scope":54166,"src":"774:20:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54071,"name":"string","nodeType":"ElementaryTypeName","src":"774:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":54076,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54073,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"797:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":54074,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"803:9:69","memberName":"getOutDir","nodeType":"MemberAccess","referencedDeclaration":56004,"src":"797:15:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":54075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"797:17:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"774:40:69"},{"assignments":[54079],"declarations":[{"constant":false,"id":54079,"mutability":"mutable","name":"contractInfo","nameLocation":"844:12:69","nodeType":"VariableDeclaration","scope":54166,"src":"824:32:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo"},"typeName":{"id":54078,"nodeType":"UserDefinedTypeName","pathNode":{"id":54077,"name":"ContractInfo","nameLocations":["824:12:69"],"nodeType":"IdentifierPath","referencedDeclaration":55704,"src":"824:12:69"},"referencedDeclaration":55704,"src":"824:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_storage_ptr","typeString":"struct ContractInfo"}},"visibility":"internal"}],"id":54085,"initialValue":{"arguments":[{"id":54082,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54061,"src":"881:12:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54083,"name":"outDir","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54072,"src":"895:6:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":54080,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"859:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":54081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"865:15:69","memberName":"getContractInfo","nodeType":"MemberAccess","referencedDeclaration":55877,"src":"859:21:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_struct$_ContractInfo_$55704_memory_ptr_$","typeString":"function (string memory,string memory) view returns (struct ContractInfo memory)"}},"id":54084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"859:43:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}},"nodeType":"VariableDeclarationStatement","src":"824:78:69"},{"assignments":[54087],"declarations":[{"constant":false,"id":54087,"mutability":"mutable","name":"buildInfoFile","nameLocation":"926:13:69","nodeType":"VariableDeclaration","scope":54166,"src":"912:27:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54086,"name":"string","nodeType":"ElementaryTypeName","src":"912:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":54096,"initialValue":{"arguments":[{"expression":{"id":54090,"name":"contractInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54079,"src":"978:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}},"id":54091,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"991:14:69","memberName":"sourceCodeHash","nodeType":"MemberAccess","referencedDeclaration":55701,"src":"978:27:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":54092,"name":"contractInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54079,"src":"1019:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}},"id":54093,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1032:9:69","memberName":"shortName","nodeType":"MemberAccess","referencedDeclaration":55697,"src":"1019:22:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54094,"name":"outDir","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54072,"src":"1055:6:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":54088,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"942:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":54089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"948:16:69","memberName":"getBuildInfoFile","nodeType":"MemberAccess","referencedDeclaration":55980,"src":"942:22:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,string memory) returns (string memory)"}},"id":54095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"942:129:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"912:159:69"},{"assignments":[54101],"declarations":[{"constant":false,"id":54101,"mutability":"mutable","name":"inputs","nameLocation":"1098:6:69","nodeType":"VariableDeclaration","scope":54166,"src":"1082:22:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":54099,"name":"string","nodeType":"ElementaryTypeName","src":"1082:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":54100,"nodeType":"ArrayTypeName","src":"1082:8:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":54108,"initialValue":{"arguments":[{"id":54103,"name":"contractInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54079,"src":"1126:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}},{"id":54104,"name":"buildInfoFile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54087,"src":"1140:13:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54105,"name":"constructorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54063,"src":"1155:15:69","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":54106,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54066,"src":"1172:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}],"id":54102,"name":"buildDeployCommand","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54674,"src":"1107:18:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_ContractInfo_$55704_memory_ptr_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_struct$_DefenderOptions_$52072_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct ContractInfo memory,string memory,bytes memory,struct DefenderOptions memory) view returns (string memory[] memory)"}},"id":54107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1107:78:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1082:103:69"},{"assignments":[54113],"declarations":[{"constant":false,"id":54113,"mutability":"mutable","name":"result","nameLocation":"1216:6:69","nodeType":"VariableDeclaration","scope":54166,"src":"1196:26:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult"},"typeName":{"id":54112,"nodeType":"UserDefinedTypeName","pathNode":{"id":54111,"name":"Vm.FfiResult","nameLocations":["1196:2:69","1199:9:69"],"nodeType":"IdentifierPath","referencedDeclaration":13108,"src":"1196:12:69"},"referencedDeclaration":13108,"src":"1196:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_storage_ptr","typeString":"struct VmSafe.FfiResult"}},"visibility":"internal"}],"id":54118,"initialValue":{"arguments":[{"id":54116,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54101,"src":"1248:6:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":54114,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"1225:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":54115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1231:16:69","memberName":"runAsBashCommand","nodeType":"MemberAccess","referencedDeclaration":56367,"src":"1225:22:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_FfiResult_$13108_memory_ptr_$","typeString":"function (string memory[] memory) returns (struct VmSafe.FfiResult memory)"}},"id":54117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1225:30:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"nodeType":"VariableDeclarationStatement","src":"1196:59:69"},{"assignments":[54120],"declarations":[{"constant":false,"id":54120,"mutability":"mutable","name":"stdout","nameLocation":"1279:6:69","nodeType":"VariableDeclaration","scope":54166,"src":"1265:20:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54119,"name":"string","nodeType":"ElementaryTypeName","src":"1265:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":54126,"initialValue":{"arguments":[{"expression":{"id":54123,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54113,"src":"1295:6:69","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"id":54124,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1302:6:69","memberName":"stdout","nodeType":"MemberAccess","referencedDeclaration":13105,"src":"1295:13:69","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1288:6:69","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":54121,"name":"string","nodeType":"ElementaryTypeName","src":"1288:6:69","typeDescriptions":{}}},"id":54125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1288:21:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"1265:44:69"},{"condition":{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":54130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":54127,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54113,"src":"1324:6:69","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"id":54128,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1331:8:69","memberName":"exitCode","nodeType":"MemberAccess","referencedDeclaration":13103,"src":"1324:15:69","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":54129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1343:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1324:20:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54149,"nodeType":"IfStatement","src":"1320:156:69","trueBody":{"id":54148,"nodeType":"Block","src":"1346:130:69","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"4661696c656420746f206465706c6f7920636f6e747261637420","id":54136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1391:28:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_45942a044068f475a72b247d918918cfb3543fa9d2f925dce5c26b7172dbe289","typeString":"literal_string \"Failed to deploy contract \""},"value":"Failed to deploy contract "},{"id":54137,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54061,"src":"1421:12:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"3a20","id":54138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1435:4:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_e64009107d042bdc478cc69a5433e4573ea2e8a23a46646c0ee241e30c888e73","typeString":"literal_string \": \""},"value":": "},{"arguments":[{"expression":{"id":54141,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54113,"src":"1448:6:69","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"id":54142,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1455:6:69","memberName":"stderr","nodeType":"MemberAccess","referencedDeclaration":13107,"src":"1448:13:69","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1441:6:69","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":54139,"name":"string","nodeType":"ElementaryTypeName","src":"1441:6:69","typeDescriptions":{}}},"id":54143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1441:21:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_45942a044068f475a72b247d918918cfb3543fa9d2f925dce5c26b7172dbe289","typeString":"literal_string \"Failed to deploy contract \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_e64009107d042bdc478cc69a5433e4573ea2e8a23a46646c0ee241e30c888e73","typeString":"literal_string \": \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":54134,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1374:3:69","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54135,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1378:12:69","memberName":"encodePacked","nodeType":"MemberAccess","src":"1374:16:69","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1374:89:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54133,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1367:6:69","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":54132,"name":"string","nodeType":"ElementaryTypeName","src":"1367:6:69","typeDescriptions":{}}},"id":54145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1367:97:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":54131,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"1360:6:69","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":54146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1360:105:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54147,"nodeType":"ExpressionStatement","src":"1360:105:69"}]}},{"assignments":[54151],"declarations":[{"constant":false,"id":54151,"mutability":"mutable","name":"deployedAddress","nameLocation":"1500:15:69","nodeType":"VariableDeclaration","scope":54166,"src":"1486:29:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54150,"name":"string","nodeType":"ElementaryTypeName","src":"1486:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":54157,"initialValue":{"arguments":[{"hexValue":"4465706c6f79656420746f20616464726573733a20","id":54153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1529:23:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_0064baa89995fb88eb1ff07aa2a300007feb96f503ace6a3c40bd10ecc42a755","typeString":"literal_string \"Deployed to address: \""},"value":"Deployed to address: "},{"id":54154,"name":"stdout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54120,"src":"1554:6:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"74727565","id":54155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1562:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0064baa89995fb88eb1ff07aa2a300007feb96f503ace6a3c40bd10ecc42a755","typeString":"literal_string \"Deployed to address: \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":54152,"name":"_parseLine","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55072,"src":"1518:10:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bool) returns (string memory)"}},"id":54156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1518:49:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"1486:81:69"},{"expression":{"arguments":[{"id":54163,"name":"deployedAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54151,"src":"1625:15:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"arguments":[{"expression":{"id":54159,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"1587:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":54160,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1593:17:69","memberName":"CHEATCODE_ADDRESS","nodeType":"MemberAccess","referencedDeclaration":55708,"src":"1587:23:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":54158,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"1584:2:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":54161,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1584:27:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":54162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1612:12:69","memberName":"parseAddress","nodeType":"MemberAccess","referencedDeclaration":15050,"src":"1584:40:69","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) pure external returns (address)"}},"id":54164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1584:57:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":54070,"id":54165,"nodeType":"Return","src":"1577:64:69"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deploy","nameLocation":"605:6:69","parameters":{"id":54067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54061,"mutability":"mutable","name":"contractName","nameLocation":"635:12:69","nodeType":"VariableDeclaration","scope":54167,"src":"621:26:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54060,"name":"string","nodeType":"ElementaryTypeName","src":"621:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54063,"mutability":"mutable","name":"constructorData","nameLocation":"670:15:69","nodeType":"VariableDeclaration","scope":54167,"src":"657:28:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":54062,"name":"bytes","nodeType":"ElementaryTypeName","src":"657:5:69","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":54066,"mutability":"mutable","name":"defenderOpts","nameLocation":"718:12:69","nodeType":"VariableDeclaration","scope":54167,"src":"695:35:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions"},"typeName":{"id":54065,"nodeType":"UserDefinedTypeName","pathNode":{"id":54064,"name":"DefenderOptions","nameLocations":["695:15:69"],"nodeType":"IdentifierPath","referencedDeclaration":52072,"src":"695:15:69"},"referencedDeclaration":52072,"src":"695:15:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_storage_ptr","typeString":"struct DefenderOptions"}},"visibility":"internal"}],"src":"611:125:69"},"returnParameters":{"id":54070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54069,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54167,"src":"755:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54068,"name":"address","nodeType":"ElementaryTypeName","src":"755:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"754:9:69"},"scope":55538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":54674,"nodeType":"FunctionDefinition","src":"1654:3874:69","nodes":[],"body":{"id":54673,"nodeType":"Block","src":"1890:3638:69","nodes":[],"statements":[{"assignments":[54185],"declarations":[{"constant":false,"id":54185,"mutability":"mutable","name":"vm","nameLocation":"1903:2:69","nodeType":"VariableDeclaration","scope":54673,"src":"1900:5:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":54184,"nodeType":"UserDefinedTypeName","pathNode":{"id":54183,"name":"Vm","nameLocations":["1900:2:69"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"1900:2:69"},"referencedDeclaration":18001,"src":"1900:2:69","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"internal"}],"id":54190,"initialValue":{"arguments":[{"expression":{"id":54187,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"1911:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":54188,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1917:17:69","memberName":"CHEATCODE_ADDRESS","nodeType":"MemberAccess","referencedDeclaration":55708,"src":"1911:23:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":54186,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"1908:2:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":54189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1908:27:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"nodeType":"VariableDeclarationStatement","src":"1900:35:69"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":54193,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54177,"src":"1956:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":54194,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1969:11:69","memberName":"licenseType","nodeType":"MemberAccess","referencedDeclaration":52064,"src":"1956:24:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":54192,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1950:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":54191,"name":"bytes","nodeType":"ElementaryTypeName","src":"1950:5:69","typeDescriptions":{}}},"id":54195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1950:31:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":54196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1982:6:69","memberName":"length","nodeType":"MemberAccess","src":"1950:38:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":54197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1992:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1950:43:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54216,"nodeType":"IfStatement","src":"1946:409:69","trueBody":{"id":54215,"nodeType":"Block","src":"1995:360:69","statements":[{"condition":{"expression":{"id":54199,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54177,"src":"2013:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":54200,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2026:20:69","memberName":"skipVerifySourceCode","nodeType":"MemberAccess","referencedDeclaration":52056,"src":"2013:33:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"expression":{"id":54206,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54177,"src":"2189:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":54207,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2202:15:69","memberName":"skipLicenseType","nodeType":"MemberAccess","referencedDeclaration":52066,"src":"2189:28:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54213,"nodeType":"IfStatement","src":"2185:160:69","trueBody":{"id":54212,"nodeType":"Block","src":"2219:126:69","statements":[{"expression":{"arguments":[{"hexValue":"54686520606c6963656e73655479706560206f7074696f6e2063616e6e6f742062652075736564207768656e207468652060736b69704c6963656e73655479706560206f7074696f6e20697320607472756560","id":54209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2244:85:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_f48c71a4d559c08a669fad0de76519ac5cb5f320e5ef8890570d6dc61c117609","typeString":"literal_string \"The `licenseType` option cannot be used when the `skipLicenseType` option is `true`\""},"value":"The `licenseType` option cannot be used when the `skipLicenseType` option is `true`"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f48c71a4d559c08a669fad0de76519ac5cb5f320e5ef8890570d6dc61c117609","typeString":"literal_string \"The `licenseType` option cannot be used when the `skipLicenseType` option is `true`\""}],"id":54208,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"2237:6:69","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":54210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2237:93:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54211,"nodeType":"ExpressionStatement","src":"2237:93:69"}]}},"id":54214,"nodeType":"IfStatement","src":"2009:336:69","trueBody":{"id":54205,"nodeType":"Block","src":"2048:131:69","statements":[{"expression":{"arguments":[{"hexValue":"54686520606c6963656e73655479706560206f7074696f6e2063616e6e6f742062652075736564207768656e207468652060736b6970566572696679536f75726365436f646560206f7074696f6e20697320607472756560","id":54202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2073:90:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_24539e734dcb001ba7c33c80423f2ee30ce04105a5ff31966733164624aa2d38","typeString":"literal_string \"The `licenseType` option cannot be used when the `skipVerifySourceCode` option is `true`\""},"value":"The `licenseType` option cannot be used when the `skipVerifySourceCode` option is `true`"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_24539e734dcb001ba7c33c80423f2ee30ce04105a5ff31966733164624aa2d38","typeString":"literal_string \"The `licenseType` option cannot be used when the `skipVerifySourceCode` option is `true`\""}],"id":54201,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"2066:6:69","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":54203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2066:98:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54204,"nodeType":"ExpressionStatement","src":"2066:98:69"}]}}]}},{"assignments":[54221],"declarations":[{"constant":false,"id":54221,"mutability":"mutable","name":"inputBuilder","nameLocation":"2381:12:69","nodeType":"VariableDeclaration","scope":54673,"src":"2365:28:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":54219,"name":"string","nodeType":"ElementaryTypeName","src":"2365:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":54220,"nodeType":"ArrayTypeName","src":"2365:8:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":54227,"initialValue":{"arguments":[{"hexValue":"323535","id":54225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2409:3:69","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"id":54224,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2396:12:69","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (string memory[] memory)"},"typeName":{"baseType":{"id":54222,"name":"string","nodeType":"ElementaryTypeName","src":"2400:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":54223,"nodeType":"ArrayTypeName","src":"2400:8:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":54226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2396:17:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2365:48:69"},{"assignments":[54229],"declarations":[{"constant":false,"id":54229,"mutability":"mutable","name":"i","nameLocation":"2430:1:69","nodeType":"VariableDeclaration","scope":54673,"src":"2424:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":54228,"name":"uint8","nodeType":"ElementaryTypeName","src":"2424:5:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":54231,"initialValue":{"hexValue":"30","id":54230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2434:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2424:11:69"},{"expression":{"id":54237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54232,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"2446:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54235,"indexExpression":{"id":54234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2459:3:69","subExpression":{"id":54233,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"2459:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2446:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"6e7078","id":54236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2466:5:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_169a1000665635df106bbe8ab6519d10dd57f5c196b68846e9722c94b7bf89aa","typeString":"literal_string \"npx\""},"value":"npx"},"src":"2446:25:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54238,"nodeType":"ExpressionStatement","src":"2446:25:69"},{"expression":{"id":54252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54239,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"2481:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54242,"indexExpression":{"id":54241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2494:3:69","subExpression":{"id":54240,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"2494:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2481:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"406f70656e7a657070656c696e2f646566656e6465722d6465706c6f792d636c69656e742d636c6940","id":54247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2538:43:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_911dd02035025c2cb695e87f546c8657a33a4f437472b320b67efab6662a5c76","typeString":"literal_string \"@openzeppelin/defender-deploy-client-cli@\""},"value":"@openzeppelin/defender-deploy-client-cli@"},{"expression":{"id":54248,"name":"Versions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56377,"src":"2583:8:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Versions_$56377_$","typeString":"type(library Versions)"}},"id":54249,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2592:26:69","memberName":"DEFENDER_DEPLOY_CLIENT_CLI","nodeType":"MemberAccess","referencedDeclaration":56376,"src":"2583:35:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_911dd02035025c2cb695e87f546c8657a33a4f437472b320b67efab6662a5c76","typeString":"literal_string \"@openzeppelin/defender-deploy-client-cli@\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":54245,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2521:3:69","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54246,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2525:12:69","memberName":"encodePacked","nodeType":"MemberAccess","src":"2521:16:69","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2521:98:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2501:6:69","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":54243,"name":"string","nodeType":"ElementaryTypeName","src":"2501:6:69","typeDescriptions":{}}},"id":54251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2501:128:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2481:148:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54253,"nodeType":"ExpressionStatement","src":"2481:148:69"},{"expression":{"id":54259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54254,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"2639:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54257,"indexExpression":{"id":54256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2652:3:69","subExpression":{"id":54255,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"2652:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2639:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"6465706c6f79","id":54258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2659:8:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_f4e654a0a9b2953a6fd9084842d9b9abc308341e6cd2ab57856441c542e51525","typeString":"literal_string \"deploy\""},"value":"deploy"},"src":"2639:28:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54260,"nodeType":"ExpressionStatement","src":"2639:28:69"},{"expression":{"id":54266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54261,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"2677:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54264,"indexExpression":{"id":54263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2690:3:69","subExpression":{"id":54262,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"2690:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2677:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d636f6e74726163744e616d65","id":54265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2697:16:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_68ebacd081f80bea99b7bd19a150cea36beaa9b443e4fbe195f5c1262f19d7c8","typeString":"literal_string \"--contractName\""},"value":"--contractName"},"src":"2677:36:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54267,"nodeType":"ExpressionStatement","src":"2677:36:69"},{"expression":{"id":54274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54268,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"2723:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54271,"indexExpression":{"id":54270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2736:3:69","subExpression":{"id":54269,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"2736:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2723:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":54272,"name":"contractInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54170,"src":"2743:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}},"id":54273,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2756:9:69","memberName":"shortName","nodeType":"MemberAccess","referencedDeclaration":55697,"src":"2743:22:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2723:42:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54275,"nodeType":"ExpressionStatement","src":"2723:42:69"},{"expression":{"id":54281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54276,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"2775:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54279,"indexExpression":{"id":54278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2788:3:69","subExpression":{"id":54277,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"2788:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2775:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d636f6e747261637450617468","id":54280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2795:16:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_27e7f43ba0d48eaaf750380678aa3364818e39220f40deb2e0b32ca2ea456d74","typeString":"literal_string \"--contractPath\""},"value":"--contractPath"},"src":"2775:36:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54282,"nodeType":"ExpressionStatement","src":"2775:36:69"},{"expression":{"id":54289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54283,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"2821:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54286,"indexExpression":{"id":54285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2834:3:69","subExpression":{"id":54284,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"2834:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2821:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":54287,"name":"contractInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54170,"src":"2841:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}},"id":54288,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2854:12:69","memberName":"contractPath","nodeType":"MemberAccess","referencedDeclaration":55695,"src":"2841:25:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2821:45:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54290,"nodeType":"ExpressionStatement","src":"2821:45:69"},{"expression":{"id":54296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54291,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"2876:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54294,"indexExpression":{"id":54293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2889:3:69","subExpression":{"id":54292,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"2889:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2876:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d636861696e4964","id":54295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2896:11:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_7dc1dd87cae13f62dd44618a6634d1f58d1404fce96d0ca0e06289f8ceea6bae","typeString":"literal_string \"--chainId\""},"value":"--chainId"},"src":"2876:31:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54297,"nodeType":"ExpressionStatement","src":"2876:31:69"},{"expression":{"id":54307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54298,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"2917:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54301,"indexExpression":{"id":54300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2930:3:69","subExpression":{"id":54299,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"2930:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2917:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":54304,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2954:5:69","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":54305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2960:7:69","memberName":"chainid","nodeType":"MemberAccess","src":"2954:13:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54302,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46568,"src":"2937:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Strings_$46568_$","typeString":"type(library Strings)"}},"id":54303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2945:8:69","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":45280,"src":"2937:16:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":54306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2937:31:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2917:51:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54308,"nodeType":"ExpressionStatement","src":"2917:51:69"},{"expression":{"id":54314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54309,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"2978:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54312,"indexExpression":{"id":54311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2991:3:69","subExpression":{"id":54310,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"2991:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2978:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d6275696c64496e666f46696c65","id":54313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2998:17:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_0a4b164c3de03d20d1de31a1ba51b94aedc9bac0c2d3fc0217bb7b57eec7ee8d","typeString":"literal_string \"--buildInfoFile\""},"value":"--buildInfoFile"},"src":"2978:37:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54315,"nodeType":"ExpressionStatement","src":"2978:37:69"},{"expression":{"id":54321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54316,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"3025:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54319,"indexExpression":{"id":54318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3038:3:69","subExpression":{"id":54317,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"3038:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3025:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":54320,"name":"buildInfoFile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54172,"src":"3045:13:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"3025:33:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54322,"nodeType":"ExpressionStatement","src":"3025:33:69"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":54323,"name":"constructorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54174,"src":"3072:15:69","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":54324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3088:6:69","memberName":"length","nodeType":"MemberAccess","src":"3072:22:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":54325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3097:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3072:26:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54345,"nodeType":"IfStatement","src":"3068:162:69","trueBody":{"id":54344,"nodeType":"Block","src":"3100:130:69","statements":[{"expression":{"id":54332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54327,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"3114:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54330,"indexExpression":{"id":54329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3127:3:69","subExpression":{"id":54328,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"3127:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3114:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d636f6e7374727563746f7242797465636f6465","id":54331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3134:23:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_4140aa005d6a97dd54e040198acb8b53e4675354c1a53f63d1f12dc0831b0b3f","typeString":"literal_string \"--constructorBytecode\""},"value":"--constructorBytecode"},"src":"3114:43:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54333,"nodeType":"ExpressionStatement","src":"3114:43:69"},{"expression":{"id":54342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54334,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"3171:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54337,"indexExpression":{"id":54336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3184:3:69","subExpression":{"id":54335,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"3184:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3171:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":54340,"name":"constructorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54174,"src":"3203:15:69","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":54338,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54185,"src":"3191:2:69","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":54339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3194:8:69","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15137,"src":"3191:11:69","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":54341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3191:28:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"3171:48:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54343,"nodeType":"ExpressionStatement","src":"3171:48:69"}]}},{"condition":{"expression":{"id":54346,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54177,"src":"3243:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":54347,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3256:20:69","memberName":"skipVerifySourceCode","nodeType":"MemberAccess","referencedDeclaration":52056,"src":"3243:33:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":54365,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54177,"src":"3400:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":54366,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3413:11:69","memberName":"licenseType","nodeType":"MemberAccess","referencedDeclaration":52064,"src":"3400:24:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":54364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3394:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":54363,"name":"bytes","nodeType":"ElementaryTypeName","src":"3394:5:69","typeDescriptions":{}}},"id":54367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3394:31:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":54368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3426:6:69","memberName":"length","nodeType":"MemberAccess","src":"3394:38:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":54369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3436:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3394:43:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":54406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":54397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3603:29:69","subExpression":{"expression":{"id":54395,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54177,"src":"3604:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":54396,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3617:15:69","memberName":"skipLicenseType","nodeType":"MemberAccess","referencedDeclaration":52066,"src":"3604:28:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":54400,"name":"contractInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54170,"src":"3642:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}},"id":54401,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3655:7:69","memberName":"license","nodeType":"MemberAccess","referencedDeclaration":55699,"src":"3642:20:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":54399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3636:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":54398,"name":"bytes","nodeType":"ElementaryTypeName","src":"3636:5:69","typeDescriptions":{}}},"id":54402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3636:27:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":54403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3664:6:69","memberName":"length","nodeType":"MemberAccess","src":"3636:34:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":54404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3674:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3636:39:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3603:72:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54432,"nodeType":"IfStatement","src":"3599:236:69","trueBody":{"id":54431,"nodeType":"Block","src":"3677:158:69","statements":[{"expression":{"id":54412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54407,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"3691:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54410,"indexExpression":{"id":54409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3704:3:69","subExpression":{"id":54408,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"3704:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3691:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d6c6963656e736554797065","id":54411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3711:15:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_4bcd04dde14b5ae31c745af57a0a8dfdebec8e2c035fa569b65fe46275b5fbef","typeString":"literal_string \"--licenseType\""},"value":"--licenseType"},"src":"3691:35:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54413,"nodeType":"ExpressionStatement","src":"3691:35:69"},{"expression":{"id":54429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54414,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"3740:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54417,"indexExpression":{"id":54416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3753:3:69","subExpression":{"id":54415,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"3753:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3740:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"22","id":54422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3784:3:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},"value":"\""},{"arguments":[{"id":54424,"name":"contractInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54170,"src":"3804:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}],"id":54423,"name":"_toLicenseType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54845,"src":"3789:14:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_ContractInfo_$55704_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (struct ContractInfo memory) pure returns (string memory)"}},"id":54425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3789:28:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"22","id":54426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3819:3:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},"value":"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""}],"expression":{"id":54420,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3767:3:69","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54421,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3771:12:69","memberName":"encodePacked","nodeType":"MemberAccess","src":"3767:16:69","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3767:56:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3760:6:69","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":54418,"name":"string","nodeType":"ElementaryTypeName","src":"3760:6:69","typeDescriptions":{}}},"id":54428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3760:64:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"3740:84:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54430,"nodeType":"ExpressionStatement","src":"3740:84:69"}]}},"id":54433,"nodeType":"IfStatement","src":"3390:445:69","trueBody":{"id":54394,"nodeType":"Block","src":"3439:154:69","statements":[{"expression":{"id":54376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54371,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"3453:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54374,"indexExpression":{"id":54373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3466:3:69","subExpression":{"id":54372,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"3466:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3453:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d6c6963656e736554797065","id":54375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3473:15:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_4bcd04dde14b5ae31c745af57a0a8dfdebec8e2c035fa569b65fe46275b5fbef","typeString":"literal_string \"--licenseType\""},"value":"--licenseType"},"src":"3453:35:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54377,"nodeType":"ExpressionStatement","src":"3453:35:69"},{"expression":{"id":54392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54378,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"3502:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54381,"indexExpression":{"id":54380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3515:3:69","subExpression":{"id":54379,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"3515:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3502:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"22","id":54386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3546:3:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},"value":"\""},{"expression":{"id":54387,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54177,"src":"3551:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":54388,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3564:11:69","memberName":"licenseType","nodeType":"MemberAccess","referencedDeclaration":52064,"src":"3551:24:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"22","id":54389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3577:3:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},"value":"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""}],"expression":{"id":54384,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3529:3:69","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54385,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3533:12:69","memberName":"encodePacked","nodeType":"MemberAccess","src":"3529:16:69","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3529:52:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54383,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3522:6:69","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":54382,"name":"string","nodeType":"ElementaryTypeName","src":"3522:6:69","typeDescriptions":{}}},"id":54391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3522:60:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"3502:80:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54393,"nodeType":"ExpressionStatement","src":"3502:80:69"}]}},"id":54434,"nodeType":"IfStatement","src":"3239:596:69","trueBody":{"id":54362,"nodeType":"Block","src":"3278:106:69","statements":[{"expression":{"id":54353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54348,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"3292:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54351,"indexExpression":{"id":54350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3305:3:69","subExpression":{"id":54349,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"3305:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3292:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d766572696679536f75726365436f6465","id":54352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3312:20:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4ec35fedfc4241ef415cdef649ed427be905fa345481fc34d10a7b3c6775645","typeString":"literal_string \"--verifySourceCode\""},"value":"--verifySourceCode"},"src":"3292:40:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54354,"nodeType":"ExpressionStatement","src":"3292:40:69"},{"expression":{"id":54360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54355,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"3346:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54358,"indexExpression":{"id":54357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3359:3:69","subExpression":{"id":54356,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"3359:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3346:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":54359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3366:7:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba9154e0baa69c78e0ca563b867df81bae9d177c4ea1452c35c84386a70f0f7a","typeString":"literal_string \"false\""},"value":"false"},"src":"3346:27:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54361,"nodeType":"ExpressionStatement","src":"3346:27:69"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":54437,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54177,"src":"3854:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":54438,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3867:9:69","memberName":"relayerId","nodeType":"MemberAccess","referencedDeclaration":52058,"src":"3854:22:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":54436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3848:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":54435,"name":"bytes","nodeType":"ElementaryTypeName","src":"3848:5:69","typeDescriptions":{}}},"id":54439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3848:29:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":54440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3878:6:69","memberName":"length","nodeType":"MemberAccess","src":"3848:36:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":54441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3888:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3848:41:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54459,"nodeType":"IfStatement","src":"3844:161:69","trueBody":{"id":54458,"nodeType":"Block","src":"3891:114:69","statements":[{"expression":{"id":54448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54443,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"3905:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54446,"indexExpression":{"id":54445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3918:3:69","subExpression":{"id":54444,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"3918:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3905:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d72656c617965724964","id":54447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3925:13:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_5beb4a3097e97fd2301e32cbe9f205ced306bdb610046838f06bd7d7a3e3dcc4","typeString":"literal_string \"--relayerId\""},"value":"--relayerId"},"src":"3905:33:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54449,"nodeType":"ExpressionStatement","src":"3905:33:69"},{"expression":{"id":54456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54450,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"3952:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54453,"indexExpression":{"id":54452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3965:3:69","subExpression":{"id":54451,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"3965:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3952:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":54454,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54177,"src":"3972:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":54455,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3985:9:69","memberName":"relayerId","nodeType":"MemberAccess","referencedDeclaration":52058,"src":"3972:22:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"3952:42:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54457,"nodeType":"ExpressionStatement","src":"3952:42:69"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":54463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":54460,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54177,"src":"4018:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":54461,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4031:4:69","memberName":"salt","nodeType":"MemberAccess","referencedDeclaration":52060,"src":"4018:17:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":54462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4039:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4018:22:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54483,"nodeType":"IfStatement","src":"4014:145:69","trueBody":{"id":54482,"nodeType":"Block","src":"4042:117:69","statements":[{"expression":{"id":54469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54464,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"4056:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54467,"indexExpression":{"id":54466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4069:3:69","subExpression":{"id":54465,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"4069:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4056:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d73616c74","id":54468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4076:8:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_224fdb77d861c7732832753665a3895aa808495c2f62c1be6fdf5e2b073cb23b","typeString":"literal_string \"--salt\""},"value":"--salt"},"src":"4056:28:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54470,"nodeType":"ExpressionStatement","src":"4056:28:69"},{"expression":{"id":54480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54471,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"4098:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54474,"indexExpression":{"id":54473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4111:3:69","subExpression":{"id":54472,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"4111:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4098:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":54477,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54177,"src":"4130:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":54478,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4143:4:69","memberName":"salt","nodeType":"MemberAccess","referencedDeclaration":52060,"src":"4130:17:69","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":54475,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54185,"src":"4118:2:69","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":54476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4121:8:69","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15145,"src":"4118:11:69","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":54479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4118:30:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"4098:50:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54481,"nodeType":"ExpressionStatement","src":"4098:50:69"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":54484,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54177,"src":"4172:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":54485,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4185:11:69","memberName":"txOverrides","nodeType":"MemberAccess","referencedDeclaration":52069,"src":"4172:24:69","typeDescriptions":{"typeIdentifier":"t_struct$_TxOverrides_$52082_memory_ptr","typeString":"struct TxOverrides memory"}},"id":54486,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4197:8:69","memberName":"gasLimit","nodeType":"MemberAccess","referencedDeclaration":52075,"src":"4172:33:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":54487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4209:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4172:38:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54509,"nodeType":"IfStatement","src":"4168:186:69","trueBody":{"id":54508,"nodeType":"Block","src":"4212:142:69","statements":[{"expression":{"id":54494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54489,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"4226:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54492,"indexExpression":{"id":54491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4239:3:69","subExpression":{"id":54490,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"4239:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4226:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d6761734c696d6974","id":54493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4246:12:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc3ba1d57840c1bf881ca3d85576c5f671a699eebdac8be9a0d320da6ccaf9ed","typeString":"literal_string \"--gasLimit\""},"value":"--gasLimit"},"src":"4226:32:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54495,"nodeType":"ExpressionStatement","src":"4226:32:69"},{"expression":{"id":54506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54496,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"4272:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54499,"indexExpression":{"id":54498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4285:3:69","subExpression":{"id":54497,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"4285:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4272:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"expression":{"id":54502,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54177,"src":"4309:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":54503,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4322:11:69","memberName":"txOverrides","nodeType":"MemberAccess","referencedDeclaration":52069,"src":"4309:24:69","typeDescriptions":{"typeIdentifier":"t_struct$_TxOverrides_$52082_memory_ptr","typeString":"struct TxOverrides memory"}},"id":54504,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4334:8:69","memberName":"gasLimit","nodeType":"MemberAccess","referencedDeclaration":52075,"src":"4309:33:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54500,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46568,"src":"4292:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Strings_$46568_$","typeString":"type(library Strings)"}},"id":54501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4300:8:69","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":45280,"src":"4292:16:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":54505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4292:51:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"4272:71:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54507,"nodeType":"ExpressionStatement","src":"4272:71:69"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":54510,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54177,"src":"4367:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":54511,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4380:11:69","memberName":"txOverrides","nodeType":"MemberAccess","referencedDeclaration":52069,"src":"4367:24:69","typeDescriptions":{"typeIdentifier":"t_struct$_TxOverrides_$52082_memory_ptr","typeString":"struct TxOverrides memory"}},"id":54512,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4392:8:69","memberName":"gasPrice","nodeType":"MemberAccess","referencedDeclaration":52077,"src":"4367:33:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":54513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4404:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4367:38:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54535,"nodeType":"IfStatement","src":"4363:186:69","trueBody":{"id":54534,"nodeType":"Block","src":"4407:142:69","statements":[{"expression":{"id":54520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54515,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"4421:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54518,"indexExpression":{"id":54517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4434:3:69","subExpression":{"id":54516,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"4434:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4421:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d6761735072696365","id":54519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4441:12:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_7a990f1ba6db94408336c59df608eb0c8efb5c5a136c9cbfd5440784ccd25855","typeString":"literal_string \"--gasPrice\""},"value":"--gasPrice"},"src":"4421:32:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54521,"nodeType":"ExpressionStatement","src":"4421:32:69"},{"expression":{"id":54532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54522,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"4467:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54525,"indexExpression":{"id":54524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4480:3:69","subExpression":{"id":54523,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"4480:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4467:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"expression":{"id":54528,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54177,"src":"4504:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":54529,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4517:11:69","memberName":"txOverrides","nodeType":"MemberAccess","referencedDeclaration":52069,"src":"4504:24:69","typeDescriptions":{"typeIdentifier":"t_struct$_TxOverrides_$52082_memory_ptr","typeString":"struct TxOverrides memory"}},"id":54530,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4529:8:69","memberName":"gasPrice","nodeType":"MemberAccess","referencedDeclaration":52077,"src":"4504:33:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54526,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46568,"src":"4487:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Strings_$46568_$","typeString":"type(library Strings)"}},"id":54527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4495:8:69","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":45280,"src":"4487:16:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":54531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4487:51:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"4467:71:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54533,"nodeType":"ExpressionStatement","src":"4467:71:69"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":54536,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54177,"src":"4562:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":54537,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4575:11:69","memberName":"txOverrides","nodeType":"MemberAccess","referencedDeclaration":52069,"src":"4562:24:69","typeDescriptions":{"typeIdentifier":"t_struct$_TxOverrides_$52082_memory_ptr","typeString":"struct TxOverrides memory"}},"id":54538,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4587:12:69","memberName":"maxFeePerGas","nodeType":"MemberAccess","referencedDeclaration":52079,"src":"4562:37:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":54539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4603:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4562:42:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54561,"nodeType":"IfStatement","src":"4558:198:69","trueBody":{"id":54560,"nodeType":"Block","src":"4606:150:69","statements":[{"expression":{"id":54546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54541,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"4620:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54544,"indexExpression":{"id":54543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4633:3:69","subExpression":{"id":54542,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"4633:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4620:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d6d6178466565506572476173","id":54545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4640:16:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_51511af9426f4a4a30aa589994372c976c3aa1842a8bf3f9a45566e3472f7369","typeString":"literal_string \"--maxFeePerGas\""},"value":"--maxFeePerGas"},"src":"4620:36:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54547,"nodeType":"ExpressionStatement","src":"4620:36:69"},{"expression":{"id":54558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54548,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"4670:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54551,"indexExpression":{"id":54550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4683:3:69","subExpression":{"id":54549,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"4683:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4670:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"expression":{"id":54554,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54177,"src":"4707:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":54555,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4720:11:69","memberName":"txOverrides","nodeType":"MemberAccess","referencedDeclaration":52069,"src":"4707:24:69","typeDescriptions":{"typeIdentifier":"t_struct$_TxOverrides_$52082_memory_ptr","typeString":"struct TxOverrides memory"}},"id":54556,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4732:12:69","memberName":"maxFeePerGas","nodeType":"MemberAccess","referencedDeclaration":52079,"src":"4707:37:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54552,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46568,"src":"4690:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Strings_$46568_$","typeString":"type(library Strings)"}},"id":54553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4698:8:69","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":45280,"src":"4690:16:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":54557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4690:55:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"4670:75:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54559,"nodeType":"ExpressionStatement","src":"4670:75:69"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":54562,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54177,"src":"4769:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":54563,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4782:11:69","memberName":"txOverrides","nodeType":"MemberAccess","referencedDeclaration":52069,"src":"4769:24:69","typeDescriptions":{"typeIdentifier":"t_struct$_TxOverrides_$52082_memory_ptr","typeString":"struct TxOverrides memory"}},"id":54564,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4794:20:69","memberName":"maxPriorityFeePerGas","nodeType":"MemberAccess","referencedDeclaration":52081,"src":"4769:45:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":54565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4818:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4769:50:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54587,"nodeType":"IfStatement","src":"4765:222:69","trueBody":{"id":54586,"nodeType":"Block","src":"4821:166:69","statements":[{"expression":{"id":54572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54567,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"4835:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54570,"indexExpression":{"id":54569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4848:3:69","subExpression":{"id":54568,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"4848:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4835:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d6d61785072696f72697479466565506572476173","id":54571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4855:24:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_2844b6d6593b9dde90b3777307ec67e2fd56788d0df0139bd44f19332a4f93ba","typeString":"literal_string \"--maxPriorityFeePerGas\""},"value":"--maxPriorityFeePerGas"},"src":"4835:44:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54573,"nodeType":"ExpressionStatement","src":"4835:44:69"},{"expression":{"id":54584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54574,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"4893:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54577,"indexExpression":{"id":54576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4906:3:69","subExpression":{"id":54575,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"4906:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4893:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"expression":{"id":54580,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54177,"src":"4930:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":54581,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4943:11:69","memberName":"txOverrides","nodeType":"MemberAccess","referencedDeclaration":52069,"src":"4930:24:69","typeDescriptions":{"typeIdentifier":"t_struct$_TxOverrides_$52082_memory_ptr","typeString":"struct TxOverrides memory"}},"id":54582,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4955:20:69","memberName":"maxPriorityFeePerGas","nodeType":"MemberAccess","referencedDeclaration":52081,"src":"4930:45:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54578,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46568,"src":"4913:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Strings_$46568_$","typeString":"type(library Strings)"}},"id":54579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4921:8:69","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":45280,"src":"4913:16:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":54583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4913:63:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"4893:83:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54585,"nodeType":"ExpressionStatement","src":"4893:83:69"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":54595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":54590,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54177,"src":"5006:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":54591,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5019:8:69","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":52071,"src":"5006:21:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":54589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5000:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":54588,"name":"bytes","nodeType":"ElementaryTypeName","src":"5000:5:69","typeDescriptions":{}}},"id":54592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5000:28:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":54593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5029:6:69","memberName":"length","nodeType":"MemberAccess","src":"5000:35:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":54594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5039:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5000:40:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54625,"nodeType":"IfStatement","src":"4996:218:69","trueBody":{"id":54624,"nodeType":"Block","src":"5042:172:69","statements":[{"expression":{"id":54601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54596,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"5056:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54599,"indexExpression":{"id":54598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5069:3:69","subExpression":{"id":54597,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"5069:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5056:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d6d65746164617461","id":54600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5076:12:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_d38f1dee6eca3ebdfa76e3d4b1ac6c943cca8af7b15937f0c509e36a9c401265","typeString":"literal_string \"--metadata\""},"value":"--metadata"},"src":"5056:32:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54602,"nodeType":"ExpressionStatement","src":"5056:32:69"},{"expression":{"id":54622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54603,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"5102:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54606,"indexExpression":{"id":54605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5115:3:69","subExpression":{"id":54604,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"5115:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5102:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"22","id":54611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5146:3:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},"value":"\""},{"arguments":[{"expression":{"id":54614,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54177,"src":"5162:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":54615,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5175:8:69","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":52071,"src":"5162:21:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"22","id":54616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5185:3:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},"value":"\""},{"hexValue":"5c22","id":54617,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5190:5:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_9104361da4a0d729c7b0f207387eef9f9e34470af38c160ad972369226db1fea","typeString":"literal_string \"\\\"\""},"value":"\\\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},{"typeIdentifier":"t_stringliteral_9104361da4a0d729c7b0f207387eef9f9e34470af38c160ad972369226db1fea","typeString":"literal_string \"\\\"\""}],"expression":{"id":54612,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54185,"src":"5151:2:69","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":54613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5154:7:69","memberName":"replace","nodeType":"MemberAccess","referencedDeclaration":15102,"src":"5151:10:69","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,string memory) pure external returns (string memory)"}},"id":54618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5151:45:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"22","id":54619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5198:3:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},"value":"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""}],"expression":{"id":54609,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5129:3:69","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54610,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5133:12:69","memberName":"encodePacked","nodeType":"MemberAccess","src":"5129:16:69","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5129:73:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54608,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5122:6:69","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":54607,"name":"string","nodeType":"ElementaryTypeName","src":"5122:6:69","typeDescriptions":{}}},"id":54621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5122:81:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"5102:101:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54623,"nodeType":"ExpressionStatement","src":"5102:101:69"}]}},{"expression":{"id":54631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54626,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"5223:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54629,"indexExpression":{"id":54628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5236:3:69","subExpression":{"id":54627,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"5236:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5223:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d6f726967696e","id":54630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5243:10:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_fb075c612eac29952fd425f1fb74596c92050aabd0de068213f5c7e54fef66c5","typeString":"literal_string \"--origin\""},"value":"--origin"},"src":"5223:30:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54632,"nodeType":"ExpressionStatement","src":"5223:30:69"},{"expression":{"id":54638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54633,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"5263:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54636,"indexExpression":{"id":54635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5276:3:69","subExpression":{"id":54634,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"5276:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5263:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"466f756e647279","id":54637,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5283:9:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_c75a975c37ae8292bd4c41dafb96c91095b711f724caacefaa0ff99c94ab7808","typeString":"literal_string \"Foundry\""},"value":"Foundry"},"src":"5263:29:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54639,"nodeType":"ExpressionStatement","src":"5263:29:69"},{"assignments":[54644],"declarations":[{"constant":false,"id":54644,"mutability":"mutable","name":"inputs","nameLocation":"5382:6:69","nodeType":"VariableDeclaration","scope":54673,"src":"5366:22:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":54642,"name":"string","nodeType":"ElementaryTypeName","src":"5366:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":54643,"nodeType":"ArrayTypeName","src":"5366:8:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":54650,"initialValue":{"arguments":[{"id":54648,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"5404:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":54647,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"5391:12:69","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (string memory[] memory)"},"typeName":{"baseType":{"id":54645,"name":"string","nodeType":"ElementaryTypeName","src":"5395:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":54646,"nodeType":"ArrayTypeName","src":"5395:8:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":54649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5391:15:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5366:40:69"},{"body":{"id":54669,"nodeType":"Block","src":"5446:52:69","statements":[{"expression":{"id":54667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":54661,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54644,"src":"5460:6:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54663,"indexExpression":{"id":54662,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54652,"src":"5467:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5460:9:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":54664,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54221,"src":"5472:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":54666,"indexExpression":{"id":54665,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54652,"src":"5485:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5472:15:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"5460:27:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54668,"nodeType":"ExpressionStatement","src":"5460:27:69"}]},"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":54657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":54655,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54652,"src":"5434:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":54656,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54229,"src":"5438:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"5434:5:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54670,"initializationExpression":{"assignments":[54652],"declarations":[{"constant":false,"id":54652,"mutability":"mutable","name":"j","nameLocation":"5427:1:69","nodeType":"VariableDeclaration","scope":54670,"src":"5421:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":54651,"name":"uint8","nodeType":"ElementaryTypeName","src":"5421:5:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":54654,"initialValue":{"hexValue":"30","id":54653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5431:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"5421:11:69"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":54659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5441:3:69","subExpression":{"id":54658,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54652,"src":"5441:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":54660,"nodeType":"ExpressionStatement","src":"5441:3:69"},"nodeType":"ForStatement","src":"5416:82:69"},{"expression":{"id":54671,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54644,"src":"5515:6:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":54182,"id":54672,"nodeType":"Return","src":"5508:13:69"}]},"implemented":true,"kind":"function","modifiers":[],"name":"buildDeployCommand","nameLocation":"1663:18:69","parameters":{"id":54178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54170,"mutability":"mutable","name":"contractInfo","nameLocation":"1711:12:69","nodeType":"VariableDeclaration","scope":54674,"src":"1691:32:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo"},"typeName":{"id":54169,"nodeType":"UserDefinedTypeName","pathNode":{"id":54168,"name":"ContractInfo","nameLocations":["1691:12:69"],"nodeType":"IdentifierPath","referencedDeclaration":55704,"src":"1691:12:69"},"referencedDeclaration":55704,"src":"1691:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_storage_ptr","typeString":"struct ContractInfo"}},"visibility":"internal"},{"constant":false,"id":54172,"mutability":"mutable","name":"buildInfoFile","nameLocation":"1747:13:69","nodeType":"VariableDeclaration","scope":54674,"src":"1733:27:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54171,"name":"string","nodeType":"ElementaryTypeName","src":"1733:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54174,"mutability":"mutable","name":"constructorData","nameLocation":"1783:15:69","nodeType":"VariableDeclaration","scope":54674,"src":"1770:28:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":54173,"name":"bytes","nodeType":"ElementaryTypeName","src":"1770:5:69","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":54177,"mutability":"mutable","name":"defenderOpts","nameLocation":"1831:12:69","nodeType":"VariableDeclaration","scope":54674,"src":"1808:35:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions"},"typeName":{"id":54176,"nodeType":"UserDefinedTypeName","pathNode":{"id":54175,"name":"DefenderOptions","nameLocations":["1808:15:69"],"nodeType":"IdentifierPath","referencedDeclaration":52072,"src":"1808:15:69"},"referencedDeclaration":52072,"src":"1808:15:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_storage_ptr","typeString":"struct DefenderOptions"}},"visibility":"internal"}],"src":"1681:168:69"},"returnParameters":{"id":54182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54181,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54674,"src":"1873:15:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":54179,"name":"string","nodeType":"ElementaryTypeName","src":"1873:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":54180,"nodeType":"ArrayTypeName","src":"1873:8:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"1872:17:69"},"scope":55538,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":54677,"nodeType":"UsingForDirective","src":"5534:25:69","nodes":[],"global":false,"libraryName":{"id":54675,"name":"Strings","nameLocations":["5540:7:69"],"nodeType":"IdentifierPath","referencedDeclaration":46568,"src":"5540:7:69"},"typeName":{"id":54676,"name":"string","nodeType":"ElementaryTypeName","src":"5552:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},{"id":54845,"nodeType":"FunctionDefinition","src":"5565:1936:69","nodes":[],"body":{"id":54844,"nodeType":"Block","src":"5660:1841:69","nodes":[],"statements":[{"assignments":[54686],"declarations":[{"constant":false,"id":54686,"mutability":"mutable","name":"id","nameLocation":"5684:2:69","nodeType":"VariableDeclaration","scope":54844,"src":"5670:16:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54685,"name":"string","nodeType":"ElementaryTypeName","src":"5670:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":54689,"initialValue":{"expression":{"id":54687,"name":"contractInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54680,"src":"5689:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}},"id":54688,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5702:7:69","memberName":"license","nodeType":"MemberAccess","referencedDeclaration":55699,"src":"5689:20:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"5670:39:69"},{"condition":{"arguments":[{"hexValue":"554e4c4943454e534544","id":54692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5732:12:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_047c8dae9b4bbdc84c1add1f71ac2f028ce4af6c8b6022705300787951880bda","typeString":"literal_string \"UNLICENSED\""},"value":"UNLICENSED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_047c8dae9b4bbdc84c1add1f71ac2f028ce4af6c8b6022705300787951880bda","typeString":"literal_string \"UNLICENSED\""}],"expression":{"id":54690,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54686,"src":"5723:2:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5726:5:69","memberName":"equal","nodeType":"MemberAccess","referencedDeclaration":45531,"src":"5723:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":54693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5723:22:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"arguments":[{"hexValue":"556e6c6963656e7365","id":54699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5804:11:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_41cbbb06f69125edb6b6c42ae792bc28b17589a30724a5350c744a651cfdc571","typeString":"literal_string \"Unlicense\""},"value":"Unlicense"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41cbbb06f69125edb6b6c42ae792bc28b17589a30724a5350c744a651cfdc571","typeString":"literal_string \"Unlicense\""}],"expression":{"id":54697,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54686,"src":"5795:2:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5798:5:69","memberName":"equal","nodeType":"MemberAccess","referencedDeclaration":45531,"src":"5795:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":54700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5795:21:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"arguments":[{"hexValue":"4d4954","id":54706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5880:5:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_57d9801c55e30f9ed106172452b6033ad49a2d64397b3598dc4d8adb512cf2bb","typeString":"literal_string \"MIT\""},"value":"MIT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_57d9801c55e30f9ed106172452b6033ad49a2d64397b3598dc4d8adb512cf2bb","typeString":"literal_string \"MIT\""}],"expression":{"id":54704,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54686,"src":"5871:2:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5874:5:69","memberName":"equal","nodeType":"MemberAccess","referencedDeclaration":45531,"src":"5871:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":54707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5871:15:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":54719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"hexValue":"47504c2d322e302d6f6e6c79","id":54713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5944:14:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae4e5b335efb7c42629d5f3b79304821115f5af8321bce484faf1d6b160945f2","typeString":"literal_string \"GPL-2.0-only\""},"value":"GPL-2.0-only"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ae4e5b335efb7c42629d5f3b79304821115f5af8321bce484faf1d6b160945f2","typeString":"literal_string \"GPL-2.0-only\""}],"expression":{"id":54711,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54686,"src":"5935:2:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5938:5:69","memberName":"equal","nodeType":"MemberAccess","referencedDeclaration":45531,"src":"5935:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":54714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5935:24:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"hexValue":"47504c2d322e302d6f722d6c61746572","id":54717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5972:18:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_1838a7d7c495e885dafcf7e00a2c15ed1c226318667a354dbe3d32f707516ebc","typeString":"literal_string \"GPL-2.0-or-later\""},"value":"GPL-2.0-or-later"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1838a7d7c495e885dafcf7e00a2c15ed1c226318667a354dbe3d32f707516ebc","typeString":"literal_string \"GPL-2.0-or-later\""}],"expression":{"id":54715,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54686,"src":"5963:2:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5966:5:69","memberName":"equal","nodeType":"MemberAccess","referencedDeclaration":45531,"src":"5963:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":54718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5963:28:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5935:56:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":54731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"hexValue":"47504c2d332e302d6f6e6c79","id":54725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6055:14:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_b469b911470662db6620774e04967289f2e8e29b0dfcd8cbf4684098f7362a92","typeString":"literal_string \"GPL-3.0-only\""},"value":"GPL-3.0-only"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b469b911470662db6620774e04967289f2e8e29b0dfcd8cbf4684098f7362a92","typeString":"literal_string \"GPL-3.0-only\""}],"expression":{"id":54723,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54686,"src":"6046:2:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6049:5:69","memberName":"equal","nodeType":"MemberAccess","referencedDeclaration":45531,"src":"6046:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":54726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6046:24:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"hexValue":"47504c2d332e302d6f722d6c61746572","id":54729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6083:18:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_d4d9a17fd052c3e3b570e3e9184864cac5b59469d58b464dfec6547f406cd9e7","typeString":"literal_string \"GPL-3.0-or-later\""},"value":"GPL-3.0-or-later"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d4d9a17fd052c3e3b570e3e9184864cac5b59469d58b464dfec6547f406cd9e7","typeString":"literal_string \"GPL-3.0-or-later\""}],"expression":{"id":54727,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54686,"src":"6074:2:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6077:5:69","memberName":"equal","nodeType":"MemberAccess","referencedDeclaration":45531,"src":"6074:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":54730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6074:28:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6046:56:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":54743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"hexValue":"4c47504c2d322e312d6f6e6c79","id":54737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6166:15:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_bd920443cea6545c6a9dfa60d088e59c5f7d68d05a5c3bd2949b3a61afd181d0","typeString":"literal_string \"LGPL-2.1-only\""},"value":"LGPL-2.1-only"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bd920443cea6545c6a9dfa60d088e59c5f7d68d05a5c3bd2949b3a61afd181d0","typeString":"literal_string \"LGPL-2.1-only\""}],"expression":{"id":54735,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54686,"src":"6157:2:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6160:5:69","memberName":"equal","nodeType":"MemberAccess","referencedDeclaration":45531,"src":"6157:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":54738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6157:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"hexValue":"4c47504c2d322e312d6f722d6c61746572","id":54741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6195:19:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_486e1b9a06820c847e78869fcee354e3e0511bfd86d2139bf0c5fc2c99f38c0f","typeString":"literal_string \"LGPL-2.1-or-later\""},"value":"LGPL-2.1-or-later"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_486e1b9a06820c847e78869fcee354e3e0511bfd86d2139bf0c5fc2c99f38c0f","typeString":"literal_string \"LGPL-2.1-or-later\""}],"expression":{"id":54739,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54686,"src":"6186:2:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6189:5:69","memberName":"equal","nodeType":"MemberAccess","referencedDeclaration":45531,"src":"6186:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":54742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6186:29:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6157:58:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":54755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"hexValue":"4c47504c2d332e302d6f6e6c79","id":54749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6282:15:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_43defbdf3b30ff7daba9c59f9e51c52afc909f2e7dc40aaa06c32df45890f11c","typeString":"literal_string \"LGPL-3.0-only\""},"value":"LGPL-3.0-only"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_43defbdf3b30ff7daba9c59f9e51c52afc909f2e7dc40aaa06c32df45890f11c","typeString":"literal_string \"LGPL-3.0-only\""}],"expression":{"id":54747,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54686,"src":"6273:2:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6276:5:69","memberName":"equal","nodeType":"MemberAccess","referencedDeclaration":45531,"src":"6273:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":54750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6273:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"hexValue":"4c47504c2d332e302d6f722d6c61746572","id":54753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6311:19:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_b7b2580ff79fb61c815e106fe48ee7b63da41d69ef37f8c1e19eb70713272b15","typeString":"literal_string \"LGPL-3.0-or-later\""},"value":"LGPL-3.0-or-later"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b7b2580ff79fb61c815e106fe48ee7b63da41d69ef37f8c1e19eb70713272b15","typeString":"literal_string \"LGPL-3.0-or-later\""}],"expression":{"id":54751,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54686,"src":"6302:2:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6305:5:69","memberName":"equal","nodeType":"MemberAccess","referencedDeclaration":45531,"src":"6302:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":54754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6302:29:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6273:58:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"arguments":[{"hexValue":"4253442d322d436c61757365","id":54761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6396:14:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_e6d11c5a6d1c83a88809ae578925668ead0069f1b68f5aaf8d2f9206fb7df667","typeString":"literal_string \"BSD-2-Clause\""},"value":"BSD-2-Clause"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e6d11c5a6d1c83a88809ae578925668ead0069f1b68f5aaf8d2f9206fb7df667","typeString":"literal_string \"BSD-2-Clause\""}],"expression":{"id":54759,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54686,"src":"6387:2:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6390:5:69","memberName":"equal","nodeType":"MemberAccess","referencedDeclaration":45531,"src":"6387:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":54762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6387:24:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"arguments":[{"hexValue":"4253442d332d436c61757365","id":54768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6478:14:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_198e08064a4fd730abb7ed15262d82119316da8693c4bf2925e52fc5ab8eee21","typeString":"literal_string \"BSD-3-Clause\""},"value":"BSD-3-Clause"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_198e08064a4fd730abb7ed15262d82119316da8693c4bf2925e52fc5ab8eee21","typeString":"literal_string \"BSD-3-Clause\""}],"expression":{"id":54766,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54686,"src":"6469:2:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6472:5:69","memberName":"equal","nodeType":"MemberAccess","referencedDeclaration":45531,"src":"6469:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":54769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6469:24:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"arguments":[{"hexValue":"4d504c2d322e30","id":54775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6560:9:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_721f1e0b54554f67458321368fd80d606994a3a1a0d2faf5667cd937b12dd3fa","typeString":"literal_string \"MPL-2.0\""},"value":"MPL-2.0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_721f1e0b54554f67458321368fd80d606994a3a1a0d2faf5667cd937b12dd3fa","typeString":"literal_string \"MPL-2.0\""}],"expression":{"id":54773,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54686,"src":"6551:2:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6554:5:69","memberName":"equal","nodeType":"MemberAccess","referencedDeclaration":45531,"src":"6551:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":54776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6551:19:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"arguments":[{"hexValue":"4f534c2d332e30","id":54782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6632:9:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_de7015bb4b2225dd9a8b6e33989f1e83884c31681e50fee582f4f4399a64ca81","typeString":"literal_string \"OSL-3.0\""},"value":"OSL-3.0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de7015bb4b2225dd9a8b6e33989f1e83884c31681e50fee582f4f4399a64ca81","typeString":"literal_string \"OSL-3.0\""}],"expression":{"id":54780,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54686,"src":"6623:2:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6626:5:69","memberName":"equal","nodeType":"MemberAccess","referencedDeclaration":45531,"src":"6623:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":54783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6623:19:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"arguments":[{"hexValue":"4170616368652d322e30","id":54789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6704:12:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_e32b8c90b4cabb542939f18f741a4b99c0255dbd2cada7c66600830416713189","typeString":"literal_string \"Apache-2.0\""},"value":"Apache-2.0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e32b8c90b4cabb542939f18f741a4b99c0255dbd2cada7c66600830416713189","typeString":"literal_string \"Apache-2.0\""}],"expression":{"id":54787,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54686,"src":"6695:2:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6698:5:69","memberName":"equal","nodeType":"MemberAccess","referencedDeclaration":45531,"src":"6695:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":54790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6695:22:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":54802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"hexValue":"4147504c2d332e302d6f6e6c79","id":54796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6782:15:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_8788ba86cdeb00aa066261cb00ebb5b317d4ca8df993e86da4ca13c3b5062975","typeString":"literal_string \"AGPL-3.0-only\""},"value":"AGPL-3.0-only"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8788ba86cdeb00aa066261cb00ebb5b317d4ca8df993e86da4ca13c3b5062975","typeString":"literal_string \"AGPL-3.0-only\""}],"expression":{"id":54794,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54686,"src":"6773:2:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6776:5:69","memberName":"equal","nodeType":"MemberAccess","referencedDeclaration":45531,"src":"6773:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":54797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6773:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"hexValue":"4147504c2d332e302d6f722d6c61746572","id":54800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6811:19:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_474ce0716782ab5bef72a22606d9fc92f153d4a7d9548a2890957fc7a9d71d0b","typeString":"literal_string \"AGPL-3.0-or-later\""},"value":"AGPL-3.0-or-later"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_474ce0716782ab5bef72a22606d9fc92f153d4a7d9548a2890957fc7a9d71d0b","typeString":"literal_string \"AGPL-3.0-or-later\""}],"expression":{"id":54798,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54686,"src":"6802:2:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6805:5:69","memberName":"equal","nodeType":"MemberAccess","referencedDeclaration":45531,"src":"6802:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":54801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6802:29:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6773:58:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"arguments":[{"hexValue":"4255534c2d312e31","id":54808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6896:10:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_ac1ccfc3a481fa4c41f441a8f28029332c64a5eaaea441b78e30b6e7b1a7a34b","typeString":"literal_string \"BUSL-1.1\""},"value":"BUSL-1.1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ac1ccfc3a481fa4c41f441a8f28029332c64a5eaaea441b78e30b6e7b1a7a34b","typeString":"literal_string \"BUSL-1.1\""}],"expression":{"id":54806,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54686,"src":"6887:2:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6890:5:69","memberName":"equal","nodeType":"MemberAccess","referencedDeclaration":45531,"src":"6887:8:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":54809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6887:20:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":54829,"nodeType":"Block","src":"6956:539:69","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"53504458206c6963656e7365206964656e74696669657220","id":54818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7064:26:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_a70b4d22eeee20f8bb7a39d4040bcf9ebd66e88382efee55cf50875396c44658","typeString":"literal_string \"SPDX license identifier \""},"value":"SPDX license identifier "},{"expression":{"id":54819,"name":"contractInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54680,"src":"7116:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}},"id":54820,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7129:7:69","memberName":"license","nodeType":"MemberAccess","referencedDeclaration":55699,"src":"7116:20:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20696e20","id":54821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7162:6:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_7a5a2e05f2bc8368a75d6eecdcd03c3949dfdb0c1c10cca4a5feac5e5b4cc170","typeString":"literal_string \" in \""},"value":" in "},{"expression":{"id":54822,"name":"contractInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54680,"src":"7194:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}},"id":54823,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7207:12:69","memberName":"contractPath","nodeType":"MemberAccess","referencedDeclaration":55695,"src":"7194:25:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20646f6573206e6f74206c6f6f6b206c696b65206120737570706f72746564206c6963656e736520666f7220626c6f636b206578706c6f72657220766572696669636174696f6e2e205573652074686520606c6963656e73655479706560206f7074696f6e20746f20737065636966792061206c6963656e736520747970652c206f7220736574207468652060736b69704c6963656e73655479706560206f7074696f6e20746f2060747275656020746f20736b69702e","id":54824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7245:185:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_eac7c85eba44d81e2f5546a595c99c2433fd28fa81a701d817ae87beaa906f14","typeString":"literal_string \" does not look like a supported license for block explorer verification. Use the `licenseType` option to specify a license type, or set the `skipLicenseType` option to `true` to skip.\""},"value":" does not look like a supported license for block explorer verification. Use the `licenseType` option to specify a license type, or set the `skipLicenseType` option to `true` to skip."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a70b4d22eeee20f8bb7a39d4040bcf9ebd66e88382efee55cf50875396c44658","typeString":"literal_string \"SPDX license identifier \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_7a5a2e05f2bc8368a75d6eecdcd03c3949dfdb0c1c10cca4a5feac5e5b4cc170","typeString":"literal_string \" in \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_eac7c85eba44d81e2f5546a595c99c2433fd28fa81a701d817ae87beaa906f14","typeString":"literal_string \" does not look like a supported license for block explorer verification. Use the `licenseType` option to specify a license type, or set the `skipLicenseType` option to `true` to skip.\""}],"expression":{"id":54816,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7022:3:69","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7026:12:69","memberName":"encodePacked","nodeType":"MemberAccess","src":"7022:16:69","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7022:430:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54815,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6994:6:69","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":54814,"name":"string","nodeType":"ElementaryTypeName","src":"6994:6:69","typeDescriptions":{}}},"id":54826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6994:476:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":54813,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"6970:6:69","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":54827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6970:514:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54828,"nodeType":"ExpressionStatement","src":"6970:514:69"}]},"id":54830,"nodeType":"IfStatement","src":"6883:612:69","trueBody":{"id":54812,"nodeType":"Block","src":"6909:41:69","statements":[{"expression":{"hexValue":"42534c20312e31","id":54810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6930:9:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_6cbb89f5ad65d217e42b88b04e410a6bee681b7b8a6b4c5190cf77c3d6f69686","typeString":"literal_string \"BSL 1.1\""},"value":"BSL 1.1"},"functionReturnParameters":54684,"id":54811,"nodeType":"Return","src":"6923:16:69"}]}},"id":54831,"nodeType":"IfStatement","src":"6769:726:69","trueBody":{"id":54805,"nodeType":"Block","src":"6833:44:69","statements":[{"expression":{"hexValue":"474e55204147504c7633","id":54803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6854:12:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d129ad6deb8091ca9ac4e8aa2b4939c06b779589bb1f9c7ded5405f2118050d","typeString":"literal_string \"GNU AGPLv3\""},"value":"GNU AGPLv3"},"functionReturnParameters":54684,"id":54804,"nodeType":"Return","src":"6847:19:69"}]}},"id":54832,"nodeType":"IfStatement","src":"6691:804:69","trueBody":{"id":54793,"nodeType":"Block","src":"6719:44:69","statements":[{"expression":{"hexValue":"4170616368652d322e30","id":54791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6740:12:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_e32b8c90b4cabb542939f18f741a4b99c0255dbd2cada7c66600830416713189","typeString":"literal_string \"Apache-2.0\""},"value":"Apache-2.0"},"functionReturnParameters":54684,"id":54792,"nodeType":"Return","src":"6733:19:69"}]}},"id":54833,"nodeType":"IfStatement","src":"6619:876:69","trueBody":{"id":54786,"nodeType":"Block","src":"6644:41:69","statements":[{"expression":{"hexValue":"4f534c2d332e30","id":54784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6665:9:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_de7015bb4b2225dd9a8b6e33989f1e83884c31681e50fee582f4f4399a64ca81","typeString":"literal_string \"OSL-3.0\""},"value":"OSL-3.0"},"functionReturnParameters":54684,"id":54785,"nodeType":"Return","src":"6658:16:69"}]}},"id":54834,"nodeType":"IfStatement","src":"6547:948:69","trueBody":{"id":54779,"nodeType":"Block","src":"6572:41:69","statements":[{"expression":{"hexValue":"4d504c2d322e30","id":54777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6593:9:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_721f1e0b54554f67458321368fd80d606994a3a1a0d2faf5667cd937b12dd3fa","typeString":"literal_string \"MPL-2.0\""},"value":"MPL-2.0"},"functionReturnParameters":54684,"id":54778,"nodeType":"Return","src":"6586:16:69"}]}},"id":54835,"nodeType":"IfStatement","src":"6465:1030:69","trueBody":{"id":54772,"nodeType":"Block","src":"6495:46:69","statements":[{"expression":{"hexValue":"4253442d332d436c61757365","id":54770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6516:14:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_198e08064a4fd730abb7ed15262d82119316da8693c4bf2925e52fc5ab8eee21","typeString":"literal_string \"BSD-3-Clause\""},"value":"BSD-3-Clause"},"functionReturnParameters":54684,"id":54771,"nodeType":"Return","src":"6509:21:69"}]}},"id":54836,"nodeType":"IfStatement","src":"6383:1112:69","trueBody":{"id":54765,"nodeType":"Block","src":"6413:46:69","statements":[{"expression":{"hexValue":"4253442d322d436c61757365","id":54763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6434:14:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_e6d11c5a6d1c83a88809ae578925668ead0069f1b68f5aaf8d2f9206fb7df667","typeString":"literal_string \"BSD-2-Clause\""},"value":"BSD-2-Clause"},"functionReturnParameters":54684,"id":54764,"nodeType":"Return","src":"6427:21:69"}]}},"id":54837,"nodeType":"IfStatement","src":"6269:1226:69","trueBody":{"id":54758,"nodeType":"Block","src":"6333:44:69","statements":[{"expression":{"hexValue":"474e55204c47504c7633","id":54756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6354:12:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_de7a9b38e3e1feb08b1478bfb2bb20d0333455090cbfd7d3784bbcb6c17b43ab","typeString":"literal_string \"GNU LGPLv3\""},"value":"GNU LGPLv3"},"functionReturnParameters":54684,"id":54757,"nodeType":"Return","src":"6347:19:69"}]}},"id":54838,"nodeType":"IfStatement","src":"6153:1342:69","trueBody":{"id":54746,"nodeType":"Block","src":"6217:46:69","statements":[{"expression":{"hexValue":"474e55204c47504c76322e31","id":54744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6238:14:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_50cfd91480e1a098d136f78963d86851628f854f3f1137756f1c4c6b760e4e78","typeString":"literal_string \"GNU LGPLv2.1\""},"value":"GNU LGPLv2.1"},"functionReturnParameters":54684,"id":54745,"nodeType":"Return","src":"6231:21:69"}]}},"id":54839,"nodeType":"IfStatement","src":"6042:1453:69","trueBody":{"id":54734,"nodeType":"Block","src":"6104:43:69","statements":[{"expression":{"hexValue":"474e552047504c7633","id":54732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6125:11:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e9c42eff9db5a550d44169edcac322f9ea2624f99d17ee2975339b6207f578d","typeString":"literal_string \"GNU GPLv3\""},"value":"GNU GPLv3"},"functionReturnParameters":54684,"id":54733,"nodeType":"Return","src":"6118:18:69"}]}},"id":54840,"nodeType":"IfStatement","src":"5931:1564:69","trueBody":{"id":54722,"nodeType":"Block","src":"5993:43:69","statements":[{"expression":{"hexValue":"474e552047504c7632","id":54720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6014:11:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c4d16ba3b0c71e8f7dcf796103b1cc241dbbed06127acb7505aa07a5bbdc770","typeString":"literal_string \"GNU GPLv2\""},"value":"GNU GPLv2"},"functionReturnParameters":54684,"id":54721,"nodeType":"Return","src":"6007:18:69"}]}},"id":54841,"nodeType":"IfStatement","src":"5867:1628:69","trueBody":{"id":54710,"nodeType":"Block","src":"5888:37:69","statements":[{"expression":{"hexValue":"4d4954","id":54708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5909:5:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_57d9801c55e30f9ed106172452b6033ad49a2d64397b3598dc4d8adb512cf2bb","typeString":"literal_string \"MIT\""},"value":"MIT"},"functionReturnParameters":54684,"id":54709,"nodeType":"Return","src":"5902:12:69"}]}},"id":54842,"nodeType":"IfStatement","src":"5791:1704:69","trueBody":{"id":54703,"nodeType":"Block","src":"5818:43:69","statements":[{"expression":{"hexValue":"556e6c6963656e7365","id":54701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5839:11:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_41cbbb06f69125edb6b6c42ae792bc28b17589a30724a5350c744a651cfdc571","typeString":"literal_string \"Unlicense\""},"value":"Unlicense"},"functionReturnParameters":54684,"id":54702,"nodeType":"Return","src":"5832:18:69"}]}},"id":54843,"nodeType":"IfStatement","src":"5719:1776:69","trueBody":{"id":54696,"nodeType":"Block","src":"5747:38:69","statements":[{"expression":{"hexValue":"4e6f6e65","id":54694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5768:6:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_8dfce459feaf97691d19cf3eb6893df6359803fdb7503df5d8cce17ab890999d","typeString":"literal_string \"None\""},"value":"None"},"functionReturnParameters":54684,"id":54695,"nodeType":"Return","src":"5761:13:69"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_toLicenseType","nameLocation":"5574:14:69","parameters":{"id":54681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54680,"mutability":"mutable","name":"contractInfo","nameLocation":"5609:12:69","nodeType":"VariableDeclaration","scope":54845,"src":"5589:32:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo"},"typeName":{"id":54679,"nodeType":"UserDefinedTypeName","pathNode":{"id":54678,"name":"ContractInfo","nameLocations":["5589:12:69"],"nodeType":"IdentifierPath","referencedDeclaration":55704,"src":"5589:12:69"},"referencedDeclaration":55704,"src":"5589:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_storage_ptr","typeString":"struct ContractInfo"}},"visibility":"internal"}],"src":"5588:34:69"},"returnParameters":{"id":54684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54683,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54845,"src":"5645:13:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54682,"name":"string","nodeType":"ElementaryTypeName","src":"5645:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5644:15:69"},"scope":55538,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":54947,"nodeType":"FunctionDefinition","src":"7507:1239:69","nodes":[],"body":{"id":54946,"nodeType":"Block","src":"7775:971:69","nodes":[],"statements":[{"assignments":[54864],"declarations":[{"constant":false,"id":54864,"mutability":"mutable","name":"vm","nameLocation":"7788:2:69","nodeType":"VariableDeclaration","scope":54946,"src":"7785:5:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":54863,"nodeType":"UserDefinedTypeName","pathNode":{"id":54862,"name":"Vm","nameLocations":["7785:2:69"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"7785:2:69"},"referencedDeclaration":18001,"src":"7785:2:69","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"internal"}],"id":54869,"initialValue":{"arguments":[{"expression":{"id":54866,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"7796:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":54867,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7802:17:69","memberName":"CHEATCODE_ADDRESS","nodeType":"MemberAccess","referencedDeclaration":55708,"src":"7796:23:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":54865,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"7793:2:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":54868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7793:27:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"nodeType":"VariableDeclarationStatement","src":"7785:35:69"},{"assignments":[54871],"declarations":[{"constant":false,"id":54871,"mutability":"mutable","name":"outDir","nameLocation":"7845:6:69","nodeType":"VariableDeclaration","scope":54946,"src":"7831:20:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54870,"name":"string","nodeType":"ElementaryTypeName","src":"7831:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":54875,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":54872,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"7854:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":54873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7860:9:69","memberName":"getOutDir","nodeType":"MemberAccess","referencedDeclaration":56004,"src":"7854:15:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":54874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7854:17:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"7831:40:69"},{"assignments":[54878],"declarations":[{"constant":false,"id":54878,"mutability":"mutable","name":"contractInfo","nameLocation":"7901:12:69","nodeType":"VariableDeclaration","scope":54946,"src":"7881:32:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo"},"typeName":{"id":54877,"nodeType":"UserDefinedTypeName","pathNode":{"id":54876,"name":"ContractInfo","nameLocations":["7881:12:69"],"nodeType":"IdentifierPath","referencedDeclaration":55704,"src":"7881:12:69"},"referencedDeclaration":55704,"src":"7881:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_storage_ptr","typeString":"struct ContractInfo"}},"visibility":"internal"}],"id":54884,"initialValue":{"arguments":[{"id":54881,"name":"newImplementationContractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54853,"src":"7938:29:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54882,"name":"outDir","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54871,"src":"7969:6:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":54879,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"7916:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":54880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7922:15:69","memberName":"getContractInfo","nodeType":"MemberAccess","referencedDeclaration":55877,"src":"7916:21:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_struct$_ContractInfo_$55704_memory_ptr_$","typeString":"function (string memory,string memory) view returns (struct ContractInfo memory)"}},"id":54883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7916:60:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}},"nodeType":"VariableDeclarationStatement","src":"7881:95:69"},{"assignments":[54889],"declarations":[{"constant":false,"id":54889,"mutability":"mutable","name":"inputs","nameLocation":"8003:6:69","nodeType":"VariableDeclaration","scope":54946,"src":"7987:22:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":54887,"name":"string","nodeType":"ElementaryTypeName","src":"7987:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":54888,"nodeType":"ArrayTypeName","src":"7987:8:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":54897,"initialValue":{"arguments":[{"id":54891,"name":"proxyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54847,"src":"8052:12:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54892,"name":"proxyAdminAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54849,"src":"8078:17:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54893,"name":"newImplementationAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54851,"src":"8109:24:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54894,"name":"contractInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54878,"src":"8147:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}},{"id":54895,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54856,"src":"8173:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"id":54890,"name":"buildProposeUpgradeCommand","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55303,"src":"8012:26:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$_t_address_$_t_struct$_ContractInfo_$55704_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,address,address,struct ContractInfo memory,struct Options memory) view returns (string memory[] memory)"}},"id":54896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8012:175:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7987:200:69"},{"assignments":[54902],"declarations":[{"constant":false,"id":54902,"mutability":"mutable","name":"result","nameLocation":"8218:6:69","nodeType":"VariableDeclaration","scope":54946,"src":"8198:26:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult"},"typeName":{"id":54901,"nodeType":"UserDefinedTypeName","pathNode":{"id":54900,"name":"Vm.FfiResult","nameLocations":["8198:2:69","8201:9:69"],"nodeType":"IdentifierPath","referencedDeclaration":13108,"src":"8198:12:69"},"referencedDeclaration":13108,"src":"8198:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_storage_ptr","typeString":"struct VmSafe.FfiResult"}},"visibility":"internal"}],"id":54907,"initialValue":{"arguments":[{"id":54905,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54889,"src":"8250:6:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":54903,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"8227:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":54904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8233:16:69","memberName":"runAsBashCommand","nodeType":"MemberAccess","referencedDeclaration":56367,"src":"8227:22:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_FfiResult_$13108_memory_ptr_$","typeString":"function (string memory[] memory) returns (struct VmSafe.FfiResult memory)"}},"id":54906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8227:30:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"nodeType":"VariableDeclarationStatement","src":"8198:59:69"},{"assignments":[54909],"declarations":[{"constant":false,"id":54909,"mutability":"mutable","name":"stdout","nameLocation":"8281:6:69","nodeType":"VariableDeclaration","scope":54946,"src":"8267:20:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54908,"name":"string","nodeType":"ElementaryTypeName","src":"8267:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":54915,"initialValue":{"arguments":[{"expression":{"id":54912,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54902,"src":"8297:6:69","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"id":54913,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8304:6:69","memberName":"stdout","nodeType":"MemberAccess","referencedDeclaration":13105,"src":"8297:13:69","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54911,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8290:6:69","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":54910,"name":"string","nodeType":"ElementaryTypeName","src":"8290:6:69","typeDescriptions":{}}},"id":54914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8290:21:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"8267:44:69"},{"condition":{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":54919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":54916,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54902,"src":"8326:6:69","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"id":54917,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8333:8:69","memberName":"exitCode","nodeType":"MemberAccess","referencedDeclaration":13103,"src":"8326:15:69","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":54918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8345:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8326:20:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":54941,"nodeType":"IfStatement","src":"8322:365:69","trueBody":{"id":54940,"nodeType":"Block","src":"8348:339:69","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"4661696c656420746f2070726f706f7365207570677261646520666f722070726f787920","id":54925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8456:38:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_062fa8c7e1d098eb11e784615129ff6d5e6fe64546a785ae0597988caf406e9a","typeString":"literal_string \"Failed to propose upgrade for proxy \""},"value":"Failed to propose upgrade for proxy "},{"arguments":[{"id":54928,"name":"proxyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54847,"src":"8532:12:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54926,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54864,"src":"8520:2:69","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":54927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8523:8:69","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15129,"src":"8520:11:69","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":54929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8520:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"3a20","id":54930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8571:4:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_e64009107d042bdc478cc69a5433e4573ea2e8a23a46646c0ee241e30c888e73","typeString":"literal_string \": \""},"value":": "},{"arguments":[{"expression":{"id":54933,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54902,"src":"8608:6:69","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"id":54934,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8615:6:69","memberName":"stderr","nodeType":"MemberAccess","referencedDeclaration":13107,"src":"8608:13:69","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54932,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8601:6:69","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":54931,"name":"string","nodeType":"ElementaryTypeName","src":"8601:6:69","typeDescriptions":{}}},"id":54935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8601:21:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_062fa8c7e1d098eb11e784615129ff6d5e6fe64546a785ae0597988caf406e9a","typeString":"literal_string \"Failed to propose upgrade for proxy \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_e64009107d042bdc478cc69a5433e4573ea2e8a23a46646c0ee241e30c888e73","typeString":"literal_string \": \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":54923,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8414:3:69","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54924,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8418:12:69","memberName":"encodePacked","nodeType":"MemberAccess","src":"8414:16:69","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":54936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8414:230:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54922,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8386:6:69","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":54921,"name":"string","nodeType":"ElementaryTypeName","src":"8386:6:69","typeDescriptions":{}}},"id":54937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8386:276:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":54920,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"8362:6:69","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":54938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8362:314:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54939,"nodeType":"ExpressionStatement","src":"8362:314:69"}]}},{"expression":{"arguments":[{"id":54943,"name":"stdout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54909,"src":"8732:6:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":54942,"name":"parseProposeUpgradeResponse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54982,"src":"8704:27:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_struct$_ProposeUpgradeResponse_$52018_memory_ptr_$","typeString":"function (string memory) returns (struct ProposeUpgradeResponse memory)"}},"id":54944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8704:35:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposeUpgradeResponse_$52018_memory_ptr","typeString":"struct ProposeUpgradeResponse memory"}},"functionReturnParameters":54861,"id":54945,"nodeType":"Return","src":"8697:42:69"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposeUpgrade","nameLocation":"7516:14:69","parameters":{"id":54857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54847,"mutability":"mutable","name":"proxyAddress","nameLocation":"7548:12:69","nodeType":"VariableDeclaration","scope":54947,"src":"7540:20:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54846,"name":"address","nodeType":"ElementaryTypeName","src":"7540:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54849,"mutability":"mutable","name":"proxyAdminAddress","nameLocation":"7578:17:69","nodeType":"VariableDeclaration","scope":54947,"src":"7570:25:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54848,"name":"address","nodeType":"ElementaryTypeName","src":"7570:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54851,"mutability":"mutable","name":"newImplementationAddress","nameLocation":"7613:24:69","nodeType":"VariableDeclaration","scope":54947,"src":"7605:32:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54850,"name":"address","nodeType":"ElementaryTypeName","src":"7605:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54853,"mutability":"mutable","name":"newImplementationContractName","nameLocation":"7661:29:69","nodeType":"VariableDeclaration","scope":54947,"src":"7647:43:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54852,"name":"string","nodeType":"ElementaryTypeName","src":"7647:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54856,"mutability":"mutable","name":"opts","nameLocation":"7715:4:69","nodeType":"VariableDeclaration","scope":54947,"src":"7700:19:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":54855,"nodeType":"UserDefinedTypeName","pathNode":{"id":54854,"name":"Options","nameLocations":["7700:7:69"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"7700:7:69"},"referencedDeclaration":52051,"src":"7700:7:69","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"src":"7530:195:69"},"returnParameters":{"id":54861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54860,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54947,"src":"7744:29:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ProposeUpgradeResponse_$52018_memory_ptr","typeString":"struct ProposeUpgradeResponse"},"typeName":{"id":54859,"nodeType":"UserDefinedTypeName","pathNode":{"id":54858,"name":"ProposeUpgradeResponse","nameLocations":["7744:22:69"],"nodeType":"IdentifierPath","referencedDeclaration":52018,"src":"7744:22:69"},"referencedDeclaration":52018,"src":"7744:22:69","typeDescriptions":{"typeIdentifier":"t_struct$_ProposeUpgradeResponse_$52018_storage_ptr","typeString":"struct ProposeUpgradeResponse"}},"visibility":"internal"}],"src":"7743:31:69"},"scope":55538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":54982,"nodeType":"FunctionDefinition","src":"8752:329:69","nodes":[],"body":{"id":54981,"nodeType":"Block","src":"8860:221:69","nodes":[],"statements":[{"assignments":[54957],"declarations":[{"constant":false,"id":54957,"mutability":"mutable","name":"response","nameLocation":"8900:8:69","nodeType":"VariableDeclaration","scope":54981,"src":"8870:38:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ProposeUpgradeResponse_$52018_memory_ptr","typeString":"struct ProposeUpgradeResponse"},"typeName":{"id":54956,"nodeType":"UserDefinedTypeName","pathNode":{"id":54955,"name":"ProposeUpgradeResponse","nameLocations":["8870:22:69"],"nodeType":"IdentifierPath","referencedDeclaration":52018,"src":"8870:22:69"},"referencedDeclaration":52018,"src":"8870:22:69","typeDescriptions":{"typeIdentifier":"t_struct$_ProposeUpgradeResponse_$52018_storage_ptr","typeString":"struct ProposeUpgradeResponse"}},"visibility":"internal"}],"id":54958,"nodeType":"VariableDeclarationStatement","src":"8870:38:69"},{"expression":{"id":54967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":54959,"name":"response","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54957,"src":"8918:8:69","typeDescriptions":{"typeIdentifier":"t_struct$_ProposeUpgradeResponse_$52018_memory_ptr","typeString":"struct ProposeUpgradeResponse memory"}},"id":54961,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8927:10:69","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":52015,"src":"8918:19:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"50726f706f73616c2049443a20","id":54963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8951:15:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_596a246c7789d9ea0082b3c6603f1466440714c97c288d2ca0347a41f768e313","typeString":"literal_string \"Proposal ID: \""},"value":"Proposal ID: "},{"id":54964,"name":"stdout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54949,"src":"8968:6:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"74727565","id":54965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8976:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_596a246c7789d9ea0082b3c6603f1466440714c97c288d2ca0347a41f768e313","typeString":"literal_string \"Proposal ID: \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":54962,"name":"_parseLine","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55072,"src":"8940:10:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bool) returns (string memory)"}},"id":54966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8940:41:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"8918:63:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54968,"nodeType":"ExpressionStatement","src":"8918:63:69"},{"expression":{"id":54977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":54969,"name":"response","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54957,"src":"8991:8:69","typeDescriptions":{"typeIdentifier":"t_struct$_ProposeUpgradeResponse_$52018_memory_ptr","typeString":"struct ProposeUpgradeResponse memory"}},"id":54971,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"9000:3:69","memberName":"url","nodeType":"MemberAccess","referencedDeclaration":52017,"src":"8991:12:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"50726f706f73616c2055524c3a20","id":54973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9017:16:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_00b8fdcdfc825787543b48558b2616258f51d3fdb16cf811cb79eb1fbaa08f80","typeString":"literal_string \"Proposal URL: \""},"value":"Proposal URL: "},{"id":54974,"name":"stdout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54949,"src":"9035:6:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"66616c7365","id":54975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9043:5:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_00b8fdcdfc825787543b48558b2616258f51d3fdb16cf811cb79eb1fbaa08f80","typeString":"literal_string \"Proposal URL: \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":54972,"name":"_parseLine","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55072,"src":"9006:10:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bool) returns (string memory)"}},"id":54976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9006:43:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"8991:58:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":54978,"nodeType":"ExpressionStatement","src":"8991:58:69"},{"expression":{"id":54979,"name":"response","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54957,"src":"9066:8:69","typeDescriptions":{"typeIdentifier":"t_struct$_ProposeUpgradeResponse_$52018_memory_ptr","typeString":"struct ProposeUpgradeResponse memory"}},"functionReturnParameters":54954,"id":54980,"nodeType":"Return","src":"9059:15:69"}]},"implemented":true,"kind":"function","modifiers":[],"name":"parseProposeUpgradeResponse","nameLocation":"8761:27:69","parameters":{"id":54950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54949,"mutability":"mutable","name":"stdout","nameLocation":"8803:6:69","nodeType":"VariableDeclaration","scope":54982,"src":"8789:20:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54948,"name":"string","nodeType":"ElementaryTypeName","src":"8789:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8788:22:69"},"returnParameters":{"id":54954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54953,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":54982,"src":"8829:29:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ProposeUpgradeResponse_$52018_memory_ptr","typeString":"struct ProposeUpgradeResponse"},"typeName":{"id":54952,"nodeType":"UserDefinedTypeName","pathNode":{"id":54951,"name":"ProposeUpgradeResponse","nameLocations":["8829:22:69"],"nodeType":"IdentifierPath","referencedDeclaration":52018,"src":"8829:22:69"},"referencedDeclaration":52018,"src":"8829:22:69","typeDescriptions":{"typeIdentifier":"t_struct$_ProposeUpgradeResponse_$52018_storage_ptr","typeString":"struct ProposeUpgradeResponse"}},"visibility":"internal"}],"src":"8828:31:69"},"scope":55538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":55072,"nodeType":"FunctionDefinition","src":"9087:1152:69","nodes":[],"body":{"id":55071,"nodeType":"Block","src":"9236:1003:69","nodes":[],"statements":[{"assignments":[54995],"declarations":[{"constant":false,"id":54995,"mutability":"mutable","name":"vm","nameLocation":"9249:2:69","nodeType":"VariableDeclaration","scope":55071,"src":"9246:5:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":54994,"nodeType":"UserDefinedTypeName","pathNode":{"id":54993,"name":"Vm","nameLocations":["9246:2:69"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"9246:2:69"},"referencedDeclaration":18001,"src":"9246:2:69","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"internal"}],"id":55000,"initialValue":{"arguments":[{"expression":{"id":54997,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"9257:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":54998,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9263:17:69","memberName":"CHEATCODE_ADDRESS","nodeType":"MemberAccess","referencedDeclaration":55708,"src":"9257:23:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":54996,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"9254:2:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":54999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9254:27:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"nodeType":"VariableDeclarationStatement","src":"9246:35:69"},{"condition":{"arguments":[{"id":55003,"name":"stdout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54986,"src":"9307:6:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55004,"name":"expectedPrefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54984,"src":"9315:14:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55001,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54995,"src":"9295:2:69","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":55002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9298:8:69","memberName":"contains","nodeType":"MemberAccess","referencedDeclaration":15032,"src":"9295:11:69","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) external returns (bool)"}},"id":55005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9295:35:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"id":55051,"name":"required","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54988,"src":"10018:8:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":55068,"nodeType":"Block","src":"10199:34:69","statements":[{"expression":{"hexValue":"","id":55066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10220:2:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"functionReturnParameters":54992,"id":55067,"nodeType":"Return","src":"10213:9:69"}]},"id":55069,"nodeType":"IfStatement","src":"10014:219:69","trueBody":{"id":55065,"nodeType":"Block","src":"10028:165:69","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"4661696c656420746f2066696e64206c696e652077697468207072656669782027","id":55057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10090:35:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_47a92f1f2e2401ec3324f84072908fea4ea6788425ad1f8f366b1db3c55810d9","typeString":"literal_string \"Failed to find line with prefix '\""},"value":"Failed to find line with prefix '"},{"id":55058,"name":"expectedPrefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54984,"src":"10127:14:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2720696e206f75747075743a20","id":55059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10143:15:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_93bcd8f909ee99a96370a8190ddeafae0a627cb872c93cfdab495c157ddc6c8f","typeString":"literal_string \"' in output: \""},"value":"' in output: "},{"id":55060,"name":"stdout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54986,"src":"10160:6:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_47a92f1f2e2401ec3324f84072908fea4ea6788425ad1f8f366b1db3c55810d9","typeString":"literal_string \"Failed to find line with prefix '\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_93bcd8f909ee99a96370a8190ddeafae0a627cb872c93cfdab495c157ddc6c8f","typeString":"literal_string \"' in output: \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55055,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10073:3:69","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55056,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10077:12:69","memberName":"encodePacked","nodeType":"MemberAccess","src":"10073:16:69","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10073:94:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55054,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10066:6:69","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":55053,"name":"string","nodeType":"ElementaryTypeName","src":"10066:6:69","typeDescriptions":{}}},"id":55062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10066:102:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":55052,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"10042:6:69","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":55063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10042:140:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55064,"nodeType":"ExpressionStatement","src":"10042:140:69"}]}},"id":55070,"nodeType":"IfStatement","src":"9291:942:69","trueBody":{"id":55050,"nodeType":"Block","src":"9332:676:69","statements":[{"assignments":[55010],"declarations":[{"constant":false,"id":55010,"mutability":"mutable","name":"segments","nameLocation":"9412:8:69","nodeType":"VariableDeclaration","scope":55050,"src":"9396:24:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":55008,"name":"string","nodeType":"ElementaryTypeName","src":"9396:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":55009,"nodeType":"ArrayTypeName","src":"9396:8:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":55016,"initialValue":{"arguments":[{"id":55013,"name":"stdout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54986,"src":"9432:6:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55014,"name":"expectedPrefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54984,"src":"9440:14:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55011,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54995,"src":"9423:2:69","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":55012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9426:5:69","memberName":"split","nodeType":"MemberAccess","referencedDeclaration":15113,"src":"9423:8:69","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (string memory[] memory)"}},"id":55015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9423:32:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9396:59:69"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":55017,"name":"segments","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55010,"src":"9473:8:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9482:6:69","memberName":"length","nodeType":"MemberAccess","src":"9473:15:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"32","id":55019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9491:1:69","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"9473:19:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55035,"nodeType":"IfStatement","src":"9469:395:69","trueBody":{"id":55034,"nodeType":"Block","src":"9494:370:69","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"466f756e64206d756c7469706c65206f6363757272656e636573206f66207072656669782027","id":55026,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9618:40:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_7c24507b5303926943f349dcca7bb8333d10cd816dcad3e2e8bb5cb2df222ca7","typeString":"literal_string \"Found multiple occurrences of prefix '\""},"value":"Found multiple occurrences of prefix '"},{"id":55027,"name":"expectedPrefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54984,"src":"9688:14:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2720696e206f75747075743a20","id":55028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9732:15:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_93bcd8f909ee99a96370a8190ddeafae0a627cb872c93cfdab495c157ddc6c8f","typeString":"literal_string \"' in output: \""},"value":"' in output: "},{"id":55029,"name":"stdout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54986,"src":"9777:6:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7c24507b5303926943f349dcca7bb8333d10cd816dcad3e2e8bb5cb2df222ca7","typeString":"literal_string \"Found multiple occurrences of prefix '\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_93bcd8f909ee99a96370a8190ddeafae0a627cb872c93cfdab495c157ddc6c8f","typeString":"literal_string \"' in output: \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55024,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9572:3:69","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9576:12:69","memberName":"encodePacked","nodeType":"MemberAccess","src":"9572:16:69","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9572:237:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9540:6:69","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":55022,"name":"string","nodeType":"ElementaryTypeName","src":"9540:6:69","typeDescriptions":{}}},"id":55031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9540:291:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":55021,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"9512:6:69","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":55032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9512:337:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55033,"nodeType":"ExpressionStatement","src":"9512:337:69"}]}},{"assignments":[55037],"declarations":[{"constant":false,"id":55037,"mutability":"mutable","name":"suffix","nameLocation":"9891:6:69","nodeType":"VariableDeclaration","scope":55050,"src":"9877:20:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55036,"name":"string","nodeType":"ElementaryTypeName","src":"9877:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":55041,"initialValue":{"baseExpression":{"id":55038,"name":"segments","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55010,"src":"9900:8:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55040,"indexExpression":{"hexValue":"31","id":55039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9909:1:69","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9900:11:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"9877:34:69"},{"expression":{"baseExpression":{"arguments":[{"id":55044,"name":"suffix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55037,"src":"9981:6:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"0a","id":55045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9989:4:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_0ef9d8f8804d174666011a394cab7901679a8944d24249fd148a6a36071151f8","typeString":"literal_string hex\"0a\""},"value":"\n"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_0ef9d8f8804d174666011a394cab7901679a8944d24249fd148a6a36071151f8","typeString":"literal_string hex\"0a\""}],"expression":{"id":55042,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54995,"src":"9972:2:69","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":55043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9975:5:69","memberName":"split","nodeType":"MemberAccess","referencedDeclaration":15113,"src":"9972:8:69","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (string memory[] memory)"}},"id":55046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9972:22:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55048,"indexExpression":{"hexValue":"30","id":55047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9995:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9972:25:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":54992,"id":55049,"nodeType":"Return","src":"9965:32:69"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_parseLine","nameLocation":"9096:10:69","parameters":{"id":54989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54984,"mutability":"mutable","name":"expectedPrefix","nameLocation":"9130:14:69","nodeType":"VariableDeclaration","scope":55072,"src":"9116:28:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54983,"name":"string","nodeType":"ElementaryTypeName","src":"9116:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54986,"mutability":"mutable","name":"stdout","nameLocation":"9168:6:69","nodeType":"VariableDeclaration","scope":55072,"src":"9154:20:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54985,"name":"string","nodeType":"ElementaryTypeName","src":"9154:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54988,"mutability":"mutable","name":"required","nameLocation":"9189:8:69","nodeType":"VariableDeclaration","scope":55072,"src":"9184:13:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54987,"name":"bool","nodeType":"ElementaryTypeName","src":"9184:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9106:97:69"},"returnParameters":{"id":54992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54991,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55072,"src":"9221:13:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54990,"name":"string","nodeType":"ElementaryTypeName","src":"9221:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9220:15:69"},"scope":55538,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":55303,"nodeType":"FunctionDefinition","src":"10245:1721:69","nodes":[],"body":{"id":55302,"nodeType":"Block","src":"10505:1461:69","nodes":[],"statements":[{"assignments":[55092],"declarations":[{"constant":false,"id":55092,"mutability":"mutable","name":"vm","nameLocation":"10518:2:69","nodeType":"VariableDeclaration","scope":55302,"src":"10515:5:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":55091,"nodeType":"UserDefinedTypeName","pathNode":{"id":55090,"name":"Vm","nameLocations":["10515:2:69"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"10515:2:69"},"referencedDeclaration":18001,"src":"10515:2:69","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"internal"}],"id":55097,"initialValue":{"arguments":[{"expression":{"id":55094,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"10526:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":55095,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10532:17:69","memberName":"CHEATCODE_ADDRESS","nodeType":"MemberAccess","referencedDeclaration":55708,"src":"10526:23:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":55093,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"10523:2:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":55096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10523:27:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"nodeType":"VariableDeclarationStatement","src":"10515:35:69"},{"assignments":[55102],"declarations":[{"constant":false,"id":55102,"mutability":"mutable","name":"inputBuilder","nameLocation":"10577:12:69","nodeType":"VariableDeclaration","scope":55302,"src":"10561:28:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":55100,"name":"string","nodeType":"ElementaryTypeName","src":"10561:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":55101,"nodeType":"ArrayTypeName","src":"10561:8:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":55108,"initialValue":{"arguments":[{"hexValue":"323535","id":55106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10605:3:69","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"id":55105,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10592:12:69","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (string memory[] memory)"},"typeName":{"baseType":{"id":55103,"name":"string","nodeType":"ElementaryTypeName","src":"10596:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":55104,"nodeType":"ArrayTypeName","src":"10596:8:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":55107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10592:17:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10561:48:69"},{"assignments":[55110],"declarations":[{"constant":false,"id":55110,"mutability":"mutable","name":"i","nameLocation":"10626:1:69","nodeType":"VariableDeclaration","scope":55302,"src":"10620:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":55109,"name":"uint8","nodeType":"ElementaryTypeName","src":"10620:5:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":55112,"initialValue":{"hexValue":"30","id":55111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10630:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"10620:11:69"},{"expression":{"id":55118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55113,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55102,"src":"10642:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55116,"indexExpression":{"id":55115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10655:3:69","subExpression":{"id":55114,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55110,"src":"10655:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10642:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"6e7078","id":55117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10662:5:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_169a1000665635df106bbe8ab6519d10dd57f5c196b68846e9722c94b7bf89aa","typeString":"literal_string \"npx\""},"value":"npx"},"src":"10642:25:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55119,"nodeType":"ExpressionStatement","src":"10642:25:69"},{"expression":{"id":55133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55120,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55102,"src":"10677:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55123,"indexExpression":{"id":55122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10690:3:69","subExpression":{"id":55121,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55110,"src":"10690:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10677:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"406f70656e7a657070656c696e2f646566656e6465722d6465706c6f792d636c69656e742d636c6940","id":55128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10734:43:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_911dd02035025c2cb695e87f546c8657a33a4f437472b320b67efab6662a5c76","typeString":"literal_string \"@openzeppelin/defender-deploy-client-cli@\""},"value":"@openzeppelin/defender-deploy-client-cli@"},{"expression":{"id":55129,"name":"Versions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56377,"src":"10779:8:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Versions_$56377_$","typeString":"type(library Versions)"}},"id":55130,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10788:26:69","memberName":"DEFENDER_DEPLOY_CLIENT_CLI","nodeType":"MemberAccess","referencedDeclaration":56376,"src":"10779:35:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_911dd02035025c2cb695e87f546c8657a33a4f437472b320b67efab6662a5c76","typeString":"literal_string \"@openzeppelin/defender-deploy-client-cli@\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55126,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10717:3:69","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55127,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10721:12:69","memberName":"encodePacked","nodeType":"MemberAccess","src":"10717:16:69","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10717:98:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55125,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10697:6:69","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":55124,"name":"string","nodeType":"ElementaryTypeName","src":"10697:6:69","typeDescriptions":{}}},"id":55132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10697:128:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"10677:148:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55134,"nodeType":"ExpressionStatement","src":"10677:148:69"},{"expression":{"id":55140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55135,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55102,"src":"10835:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55138,"indexExpression":{"id":55137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10848:3:69","subExpression":{"id":55136,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55110,"src":"10848:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10835:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"70726f706f736555706772616465","id":55139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10855:16:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_2084b571c6cfea8f75dd2c4aca8244efce8a8d33c9e17cb3b6e8689761a80d3c","typeString":"literal_string \"proposeUpgrade\""},"value":"proposeUpgrade"},"src":"10835:36:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55141,"nodeType":"ExpressionStatement","src":"10835:36:69"},{"expression":{"id":55147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55142,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55102,"src":"10881:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55145,"indexExpression":{"id":55144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10894:3:69","subExpression":{"id":55143,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55110,"src":"10894:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10881:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d70726f787941646472657373","id":55146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10901:16:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_c767c4d946f3ced63eff81f7148a0ba5bb5e11ae66c3054a8453eb79088187fe","typeString":"literal_string \"--proxyAddress\""},"value":"--proxyAddress"},"src":"10881:36:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55148,"nodeType":"ExpressionStatement","src":"10881:36:69"},{"expression":{"id":55157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55149,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55102,"src":"10927:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55152,"indexExpression":{"id":55151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10940:3:69","subExpression":{"id":55150,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55110,"src":"10940:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10927:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":55155,"name":"proxyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55074,"src":"10959:12:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55153,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55092,"src":"10947:2:69","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":55154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10950:8:69","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15129,"src":"10947:11:69","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":55156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10947:25:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"10927:45:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55158,"nodeType":"ExpressionStatement","src":"10927:45:69"},{"expression":{"id":55164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55159,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55102,"src":"10982:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55162,"indexExpression":{"id":55161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10995:3:69","subExpression":{"id":55160,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55110,"src":"10995:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10982:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d6e6577496d706c656d656e746174696f6e41646472657373","id":55163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11002:28:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_68bd93e37c88704892cc6fb2367b9009a1b71d4112276788b41e9cc522f5497d","typeString":"literal_string \"--newImplementationAddress\""},"value":"--newImplementationAddress"},"src":"10982:48:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55165,"nodeType":"ExpressionStatement","src":"10982:48:69"},{"expression":{"id":55174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55166,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55102,"src":"11040:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55169,"indexExpression":{"id":55168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11053:3:69","subExpression":{"id":55167,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55110,"src":"11053:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11040:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":55172,"name":"newImplementationAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55078,"src":"11072:24:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55170,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55092,"src":"11060:2:69","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":55171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11063:8:69","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15129,"src":"11060:11:69","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":55173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11060:37:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"11040:57:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55175,"nodeType":"ExpressionStatement","src":"11040:57:69"},{"expression":{"id":55181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55176,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55102,"src":"11107:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55179,"indexExpression":{"id":55178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11120:3:69","subExpression":{"id":55177,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55110,"src":"11120:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11107:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d636861696e4964","id":55180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11127:11:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_7dc1dd87cae13f62dd44618a6634d1f58d1404fce96d0ca0e06289f8ceea6bae","typeString":"literal_string \"--chainId\""},"value":"--chainId"},"src":"11107:31:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55182,"nodeType":"ExpressionStatement","src":"11107:31:69"},{"expression":{"id":55192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55183,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55102,"src":"11148:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55186,"indexExpression":{"id":55185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11161:3:69","subExpression":{"id":55184,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55110,"src":"11161:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11148:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":55189,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"11185:5:69","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":55190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11191:7:69","memberName":"chainid","nodeType":"MemberAccess","src":"11185:13:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55187,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46568,"src":"11168:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Strings_$46568_$","typeString":"type(library Strings)"}},"id":55188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11176:8:69","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":45280,"src":"11168:16:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":55191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11168:31:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"11148:51:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55193,"nodeType":"ExpressionStatement","src":"11148:51:69"},{"expression":{"id":55199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55194,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55102,"src":"11209:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55197,"indexExpression":{"id":55196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11222:3:69","subExpression":{"id":55195,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55110,"src":"11222:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11209:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d636f6e7472616374417274696661637446696c65","id":55198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11229:24:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_1eec5d2afa9aac3e7c421978012f6cdc39a2d6c21e4dfe47310835a6e1d7400f","typeString":"literal_string \"--contractArtifactFile\""},"value":"--contractArtifactFile"},"src":"11209:44:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55200,"nodeType":"ExpressionStatement","src":"11209:44:69"},{"expression":{"id":55215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55201,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55102,"src":"11263:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55204,"indexExpression":{"id":55203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11276:3:69","subExpression":{"id":55202,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55110,"src":"11276:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11263:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"22","id":55209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11307:3:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},"value":"\""},{"expression":{"id":55210,"name":"contractInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55081,"src":"11312:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}},"id":55211,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11325:12:69","memberName":"artifactPath","nodeType":"MemberAccess","referencedDeclaration":55703,"src":"11312:25:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"22","id":55212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11339:3:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},"value":"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""}],"expression":{"id":55207,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11290:3:69","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11294:12:69","memberName":"encodePacked","nodeType":"MemberAccess","src":"11290:16:69","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11290:53:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55206,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11283:6:69","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":55205,"name":"string","nodeType":"ElementaryTypeName","src":"11283:6:69","typeDescriptions":{}}},"id":55214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11283:61:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"11263:81:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55216,"nodeType":"ExpressionStatement","src":"11263:81:69"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":55222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55217,"name":"proxyAdminAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55076,"src":"11358:17:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":55220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11387:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":55219,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11379:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":55218,"name":"address","nodeType":"ElementaryTypeName","src":"11379:7:69","typeDescriptions":{}}},"id":55221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11379:10:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11358:31:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55241,"nodeType":"IfStatement","src":"11354:167:69","trueBody":{"id":55240,"nodeType":"Block","src":"11391:130:69","statements":[{"expression":{"id":55228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55223,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55102,"src":"11405:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55226,"indexExpression":{"id":55225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11418:3:69","subExpression":{"id":55224,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55110,"src":"11418:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11405:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d70726f787941646d696e41646472657373","id":55227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11425:21:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_0fdebf718c07bfc7c84f90014f8c1a9b9bd9bae57b5b63c22aa7f461236982f4","typeString":"literal_string \"--proxyAdminAddress\""},"value":"--proxyAdminAddress"},"src":"11405:41:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55229,"nodeType":"ExpressionStatement","src":"11405:41:69"},{"expression":{"id":55238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55230,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55102,"src":"11460:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55233,"indexExpression":{"id":55232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11473:3:69","subExpression":{"id":55231,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55110,"src":"11473:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11460:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":55236,"name":"proxyAdminAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55076,"src":"11492:17:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55234,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55092,"src":"11480:2:69","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":55235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11483:8:69","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15129,"src":"11480:11:69","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":55237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11480:30:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"11460:50:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55239,"nodeType":"ExpressionStatement","src":"11460:50:69"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"expression":{"id":55244,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55084,"src":"11540:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":55245,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11545:8:69","memberName":"defender","nodeType":"MemberAccess","referencedDeclaration":52050,"src":"11540:13:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":55246,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11554:24:69","memberName":"upgradeApprovalProcessId","nodeType":"MemberAccess","referencedDeclaration":52062,"src":"11540:38:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":55243,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11534:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":55242,"name":"bytes","nodeType":"ElementaryTypeName","src":"11534:5:69","typeDescriptions":{}}},"id":55247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11534:45:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":55248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11580:6:69","memberName":"length","nodeType":"MemberAccess","src":"11534:52:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":55249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11590:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11534:57:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55268,"nodeType":"IfStatement","src":"11530:201:69","trueBody":{"id":55267,"nodeType":"Block","src":"11593:138:69","statements":[{"expression":{"id":55256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55251,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55102,"src":"11607:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55254,"indexExpression":{"id":55253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11620:3:69","subExpression":{"id":55252,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55110,"src":"11620:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11607:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d617070726f76616c50726f636573734964","id":55255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11627:21:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_c819a901a97b9836a609900e319b78145dc00cc6f3fe2ed01cfc9e8145a20132","typeString":"literal_string \"--approvalProcessId\""},"value":"--approvalProcessId"},"src":"11607:41:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55257,"nodeType":"ExpressionStatement","src":"11607:41:69"},{"expression":{"id":55265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55258,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55102,"src":"11662:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55261,"indexExpression":{"id":55260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11675:3:69","subExpression":{"id":55259,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55110,"src":"11675:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11662:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":55262,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55084,"src":"11682:4:69","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":55263,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11687:8:69","memberName":"defender","nodeType":"MemberAccess","referencedDeclaration":52050,"src":"11682:13:69","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$52072_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":55264,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11696:24:69","memberName":"upgradeApprovalProcessId","nodeType":"MemberAccess","referencedDeclaration":52062,"src":"11682:38:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"11662:58:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55266,"nodeType":"ExpressionStatement","src":"11662:58:69"}]}},{"assignments":[55273],"declarations":[{"constant":false,"id":55273,"mutability":"mutable","name":"inputs","nameLocation":"11820:6:69","nodeType":"VariableDeclaration","scope":55302,"src":"11804:22:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":55271,"name":"string","nodeType":"ElementaryTypeName","src":"11804:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":55272,"nodeType":"ArrayTypeName","src":"11804:8:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":55279,"initialValue":{"arguments":[{"id":55277,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55110,"src":"11842:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":55276,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11829:12:69","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (string memory[] memory)"},"typeName":{"baseType":{"id":55274,"name":"string","nodeType":"ElementaryTypeName","src":"11833:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":55275,"nodeType":"ArrayTypeName","src":"11833:8:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":55278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11829:15:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"11804:40:69"},{"body":{"id":55298,"nodeType":"Block","src":"11884:52:69","statements":[{"expression":{"id":55296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55290,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55273,"src":"11898:6:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55292,"indexExpression":{"id":55291,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55281,"src":"11905:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11898:9:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":55293,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55102,"src":"11910:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55295,"indexExpression":{"id":55294,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55281,"src":"11923:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11910:15:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"11898:27:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55297,"nodeType":"ExpressionStatement","src":"11898:27:69"}]},"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":55286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55284,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55281,"src":"11872:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":55285,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55110,"src":"11876:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11872:5:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55299,"initializationExpression":{"assignments":[55281],"declarations":[{"constant":false,"id":55281,"mutability":"mutable","name":"j","nameLocation":"11865:1:69","nodeType":"VariableDeclaration","scope":55299,"src":"11859:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":55280,"name":"uint8","nodeType":"ElementaryTypeName","src":"11859:5:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":55283,"initialValue":{"hexValue":"30","id":55282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11869:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11859:11:69"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":55288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11879:3:69","subExpression":{"id":55287,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55281,"src":"11879:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":55289,"nodeType":"ExpressionStatement","src":"11879:3:69"},"nodeType":"ForStatement","src":"11854:82:69"},{"expression":{"id":55300,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55273,"src":"11953:6:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":55089,"id":55301,"nodeType":"Return","src":"11946:13:69"}]},"implemented":true,"kind":"function","modifiers":[],"name":"buildProposeUpgradeCommand","nameLocation":"10254:26:69","parameters":{"id":55085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55074,"mutability":"mutable","name":"proxyAddress","nameLocation":"10298:12:69","nodeType":"VariableDeclaration","scope":55303,"src":"10290:20:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55073,"name":"address","nodeType":"ElementaryTypeName","src":"10290:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55076,"mutability":"mutable","name":"proxyAdminAddress","nameLocation":"10328:17:69","nodeType":"VariableDeclaration","scope":55303,"src":"10320:25:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55075,"name":"address","nodeType":"ElementaryTypeName","src":"10320:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55078,"mutability":"mutable","name":"newImplementationAddress","nameLocation":"10363:24:69","nodeType":"VariableDeclaration","scope":55303,"src":"10355:32:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55077,"name":"address","nodeType":"ElementaryTypeName","src":"10355:7:69","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55081,"mutability":"mutable","name":"contractInfo","nameLocation":"10417:12:69","nodeType":"VariableDeclaration","scope":55303,"src":"10397:32:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo"},"typeName":{"id":55080,"nodeType":"UserDefinedTypeName","pathNode":{"id":55079,"name":"ContractInfo","nameLocations":["10397:12:69"],"nodeType":"IdentifierPath","referencedDeclaration":55704,"src":"10397:12:69"},"referencedDeclaration":55704,"src":"10397:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_storage_ptr","typeString":"struct ContractInfo"}},"visibility":"internal"},{"constant":false,"id":55084,"mutability":"mutable","name":"opts","nameLocation":"10454:4:69","nodeType":"VariableDeclaration","scope":55303,"src":"10439:19:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":55083,"nodeType":"UserDefinedTypeName","pathNode":{"id":55082,"name":"Options","nameLocations":["10439:7:69"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"10439:7:69"},"referencedDeclaration":52051,"src":"10439:7:69","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"src":"10280:184:69"},"returnParameters":{"id":55089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55088,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55303,"src":"10488:15:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":55086,"name":"string","nodeType":"ElementaryTypeName","src":"10488:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":55087,"nodeType":"ArrayTypeName","src":"10488:8:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"10487:17:69"},"scope":55538,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":55364,"nodeType":"FunctionDefinition","src":"11972:512:69","nodes":[],"body":{"id":55363,"nodeType":"Block","src":"12073:411:69","nodes":[],"statements":[{"assignments":[55315],"declarations":[{"constant":false,"id":55315,"mutability":"mutable","name":"inputs","nameLocation":"12099:6:69","nodeType":"VariableDeclaration","scope":55363,"src":"12083:22:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":55313,"name":"string","nodeType":"ElementaryTypeName","src":"12083:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":55314,"nodeType":"ArrayTypeName","src":"12083:8:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":55319,"initialValue":{"arguments":[{"id":55317,"name":"command","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55305,"src":"12139:7:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":55316,"name":"buildGetApprovalProcessCommand","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55537,"src":"12108:30:69","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory) view returns (string memory[] memory)"}},"id":55318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12108:39:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"12083:64:69"},{"assignments":[55324],"declarations":[{"constant":false,"id":55324,"mutability":"mutable","name":"result","nameLocation":"12178:6:69","nodeType":"VariableDeclaration","scope":55363,"src":"12158:26:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult"},"typeName":{"id":55323,"nodeType":"UserDefinedTypeName","pathNode":{"id":55322,"name":"Vm.FfiResult","nameLocations":["12158:2:69","12161:9:69"],"nodeType":"IdentifierPath","referencedDeclaration":13108,"src":"12158:12:69"},"referencedDeclaration":13108,"src":"12158:12:69","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_storage_ptr","typeString":"struct VmSafe.FfiResult"}},"visibility":"internal"}],"id":55329,"initialValue":{"arguments":[{"id":55327,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55315,"src":"12210:6:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":55325,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"12187:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":55326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12193:16:69","memberName":"runAsBashCommand","nodeType":"MemberAccess","referencedDeclaration":56367,"src":"12187:22:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_FfiResult_$13108_memory_ptr_$","typeString":"function (string memory[] memory) returns (struct VmSafe.FfiResult memory)"}},"id":55328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12187:30:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"nodeType":"VariableDeclarationStatement","src":"12158:59:69"},{"assignments":[55331],"declarations":[{"constant":false,"id":55331,"mutability":"mutable","name":"stdout","nameLocation":"12241:6:69","nodeType":"VariableDeclaration","scope":55363,"src":"12227:20:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55330,"name":"string","nodeType":"ElementaryTypeName","src":"12227:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":55337,"initialValue":{"arguments":[{"expression":{"id":55334,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55324,"src":"12257:6:69","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"id":55335,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12264:6:69","memberName":"stdout","nodeType":"MemberAccess","referencedDeclaration":13105,"src":"12257:13:69","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12250:6:69","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":55332,"name":"string","nodeType":"ElementaryTypeName","src":"12250:6:69","typeDescriptions":{}}},"id":55336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12250:21:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"12227:44:69"},{"condition":{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":55341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":55338,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55324,"src":"12286:6:69","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"id":55339,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12293:8:69","memberName":"exitCode","nodeType":"MemberAccess","referencedDeclaration":13103,"src":"12286:15:69","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":55340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12305:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12286:20:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55358,"nodeType":"IfStatement","src":"12282:142:69","trueBody":{"id":55357,"nodeType":"Block","src":"12308:116:69","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"4661696c656420746f2067657420617070726f76616c2070726f636573733a20","id":55347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12353:34:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_65483eee9f542aa2dcc6d706d85cc4cf015d6bfa221a6e803f41e63bd712fc95","typeString":"literal_string \"Failed to get approval process: \""},"value":"Failed to get approval process: "},{"arguments":[{"expression":{"id":55350,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55324,"src":"12396:6:69","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"id":55351,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12403:6:69","memberName":"stderr","nodeType":"MemberAccess","referencedDeclaration":13107,"src":"12396:13:69","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55349,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12389:6:69","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":55348,"name":"string","nodeType":"ElementaryTypeName","src":"12389:6:69","typeDescriptions":{}}},"id":55352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12389:21:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_65483eee9f542aa2dcc6d706d85cc4cf015d6bfa221a6e803f41e63bd712fc95","typeString":"literal_string \"Failed to get approval process: \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55345,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12336:3:69","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55346,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12340:12:69","memberName":"encodePacked","nodeType":"MemberAccess","src":"12336:16:69","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12336:75:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55344,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12329:6:69","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":55343,"name":"string","nodeType":"ElementaryTypeName","src":"12329:6:69","typeDescriptions":{}}},"id":55354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12329:83:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":55342,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"12322:6:69","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":55355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12322:91:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55356,"nodeType":"ExpressionStatement","src":"12322:91:69"}]}},{"expression":{"arguments":[{"id":55360,"name":"stdout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55331,"src":"12470:6:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":55359,"name":"parseApprovalProcessResponse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55433,"src":"12441:28:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_struct$_ApprovalProcessResponse_$52025_memory_ptr_$","typeString":"function (string memory) returns (struct ApprovalProcessResponse memory)"}},"id":55361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12441:36:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ApprovalProcessResponse_$52025_memory_ptr","typeString":"struct ApprovalProcessResponse memory"}},"functionReturnParameters":55310,"id":55362,"nodeType":"Return","src":"12434:43:69"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getApprovalProcess","nameLocation":"11981:18:69","parameters":{"id":55306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55305,"mutability":"mutable","name":"command","nameLocation":"12014:7:69","nodeType":"VariableDeclaration","scope":55364,"src":"12000:21:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55304,"name":"string","nodeType":"ElementaryTypeName","src":"12000:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11999:23:69"},"returnParameters":{"id":55310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55309,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55364,"src":"12041:30:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ApprovalProcessResponse_$52025_memory_ptr","typeString":"struct ApprovalProcessResponse"},"typeName":{"id":55308,"nodeType":"UserDefinedTypeName","pathNode":{"id":55307,"name":"ApprovalProcessResponse","nameLocations":["12041:23:69"],"nodeType":"IdentifierPath","referencedDeclaration":52025,"src":"12041:23:69"},"referencedDeclaration":52025,"src":"12041:23:69","typeDescriptions":{"typeIdentifier":"t_struct$_ApprovalProcessResponse_$52025_storage_ptr","typeString":"struct ApprovalProcessResponse"}},"visibility":"internal"}],"src":"12040:32:69"},"scope":55538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":55433,"nodeType":"FunctionDefinition","src":"12490:576:69","nodes":[],"body":{"id":55432,"nodeType":"Block","src":"12600:466:69","nodes":[],"statements":[{"assignments":[55374],"declarations":[{"constant":false,"id":55374,"mutability":"mutable","name":"vm","nameLocation":"12613:2:69","nodeType":"VariableDeclaration","scope":55432,"src":"12610:5:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":55373,"nodeType":"UserDefinedTypeName","pathNode":{"id":55372,"name":"Vm","nameLocations":["12610:2:69"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"12610:2:69"},"referencedDeclaration":18001,"src":"12610:2:69","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"internal"}],"id":55379,"initialValue":{"arguments":[{"expression":{"id":55376,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"12621:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":55377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12627:17:69","memberName":"CHEATCODE_ADDRESS","nodeType":"MemberAccess","referencedDeclaration":55708,"src":"12621:23:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":55375,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"12618:2:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":55378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12618:27:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"nodeType":"VariableDeclarationStatement","src":"12610:35:69"},{"assignments":[55382],"declarations":[{"constant":false,"id":55382,"mutability":"mutable","name":"response","nameLocation":"12687:8:69","nodeType":"VariableDeclaration","scope":55432,"src":"12656:39:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ApprovalProcessResponse_$52025_memory_ptr","typeString":"struct ApprovalProcessResponse"},"typeName":{"id":55381,"nodeType":"UserDefinedTypeName","pathNode":{"id":55380,"name":"ApprovalProcessResponse","nameLocations":["12656:23:69"],"nodeType":"IdentifierPath","referencedDeclaration":52025,"src":"12656:23:69"},"referencedDeclaration":52025,"src":"12656:23:69","typeDescriptions":{"typeIdentifier":"t_struct$_ApprovalProcessResponse_$52025_storage_ptr","typeString":"struct ApprovalProcessResponse"}},"visibility":"internal"}],"id":55383,"nodeType":"VariableDeclarationStatement","src":"12656:39:69"},{"expression":{"id":55392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":55384,"name":"response","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55382,"src":"12706:8:69","typeDescriptions":{"typeIdentifier":"t_struct$_ApprovalProcessResponse_$52025_memory_ptr","typeString":"struct ApprovalProcessResponse memory"}},"id":55386,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12715:17:69","memberName":"approvalProcessId","nodeType":"MemberAccess","referencedDeclaration":52020,"src":"12706:26:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"417070726f76616c2070726f636573732049443a20","id":55388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12746:23:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb9b9eea03ed34a6561e120fec3ac5ec212d83a85e37489894ad8b60fecdba95","typeString":"literal_string \"Approval process ID: \""},"value":"Approval process ID: "},{"id":55389,"name":"stdout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55366,"src":"12771:6:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"74727565","id":55390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12779:4:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb9b9eea03ed34a6561e120fec3ac5ec212d83a85e37489894ad8b60fecdba95","typeString":"literal_string \"Approval process ID: \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":55387,"name":"_parseLine","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55072,"src":"12735:10:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bool) returns (string memory)"}},"id":55391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12735:49:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"12706:78:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55393,"nodeType":"ExpressionStatement","src":"12706:78:69"},{"assignments":[55395],"declarations":[{"constant":false,"id":55395,"mutability":"mutable","name":"viaString","nameLocation":"12809:9:69","nodeType":"VariableDeclaration","scope":55432,"src":"12795:23:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55394,"name":"string","nodeType":"ElementaryTypeName","src":"12795:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":55401,"initialValue":{"arguments":[{"hexValue":"5669613a20","id":55397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12832:7:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_490394eaf0918f9d26b447978ad5a35e8f401410124d6d40c531a65986f667d4","typeString":"literal_string \"Via: \""},"value":"Via: "},{"id":55398,"name":"stdout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55366,"src":"12841:6:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"66616c7365","id":55399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12849:5:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_490394eaf0918f9d26b447978ad5a35e8f401410124d6d40c531a65986f667d4","typeString":"literal_string \"Via: \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":55396,"name":"_parseLine","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55072,"src":"12821:10:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bool) returns (string memory)"}},"id":55400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12821:34:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"12795:60:69"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":55404,"name":"viaString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55395,"src":"12875:9:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":55403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12869:5:69","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":55402,"name":"bytes","nodeType":"ElementaryTypeName","src":"12869:5:69","typeDescriptions":{}}},"id":55405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12869:16:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":55406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12886:6:69","memberName":"length","nodeType":"MemberAccess","src":"12869:23:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":55407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12896:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12869:28:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55419,"nodeType":"IfStatement","src":"12865:100:69","trueBody":{"id":55418,"nodeType":"Block","src":"12899:66:69","statements":[{"expression":{"id":55416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":55409,"name":"response","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55382,"src":"12913:8:69","typeDescriptions":{"typeIdentifier":"t_struct$_ApprovalProcessResponse_$52025_memory_ptr","typeString":"struct ApprovalProcessResponse memory"}},"id":55411,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12922:3:69","memberName":"via","nodeType":"MemberAccess","referencedDeclaration":52022,"src":"12913:12:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":55414,"name":"viaString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55395,"src":"12944:9:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55412,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55374,"src":"12928:2:69","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":55413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12931:12:69","memberName":"parseAddress","nodeType":"MemberAccess","referencedDeclaration":15050,"src":"12928:15:69","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) pure external returns (address)"}},"id":55415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12928:26:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12913:41:69","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":55417,"nodeType":"ExpressionStatement","src":"12913:41:69"}]}},{"expression":{"id":55428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":55420,"name":"response","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55382,"src":"12975:8:69","typeDescriptions":{"typeIdentifier":"t_struct$_ApprovalProcessResponse_$52025_memory_ptr","typeString":"struct ApprovalProcessResponse memory"}},"id":55422,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12984:7:69","memberName":"viaType","nodeType":"MemberAccess","referencedDeclaration":52024,"src":"12975:16:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"56696120747970653a20","id":55424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13005:12:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_d8d05ae1e34eff0c8d1c21f28d4a38ae9eba146dbd61b962922deba3af172536","typeString":"literal_string \"Via type: \""},"value":"Via type: "},{"id":55425,"name":"stdout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55366,"src":"13019:6:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"66616c7365","id":55426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13027:5:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d8d05ae1e34eff0c8d1c21f28d4a38ae9eba146dbd61b962922deba3af172536","typeString":"literal_string \"Via type: \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":55423,"name":"_parseLine","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55072,"src":"12994:10:69","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bool) returns (string memory)"}},"id":55427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12994:39:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"12975:58:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55429,"nodeType":"ExpressionStatement","src":"12975:58:69"},{"expression":{"id":55430,"name":"response","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55382,"src":"13051:8:69","typeDescriptions":{"typeIdentifier":"t_struct$_ApprovalProcessResponse_$52025_memory_ptr","typeString":"struct ApprovalProcessResponse memory"}},"functionReturnParameters":55371,"id":55431,"nodeType":"Return","src":"13044:15:69"}]},"implemented":true,"kind":"function","modifiers":[],"name":"parseApprovalProcessResponse","nameLocation":"12499:28:69","parameters":{"id":55367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55366,"mutability":"mutable","name":"stdout","nameLocation":"12542:6:69","nodeType":"VariableDeclaration","scope":55433,"src":"12528:20:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55365,"name":"string","nodeType":"ElementaryTypeName","src":"12528:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12527:22:69"},"returnParameters":{"id":55371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55370,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55433,"src":"12568:30:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ApprovalProcessResponse_$52025_memory_ptr","typeString":"struct ApprovalProcessResponse"},"typeName":{"id":55369,"nodeType":"UserDefinedTypeName","pathNode":{"id":55368,"name":"ApprovalProcessResponse","nameLocations":["12568:23:69"],"nodeType":"IdentifierPath","referencedDeclaration":52025,"src":"12568:23:69"},"referencedDeclaration":52025,"src":"12568:23:69","typeDescriptions":{"typeIdentifier":"t_struct$_ApprovalProcessResponse_$52025_storage_ptr","typeString":"struct ApprovalProcessResponse"}},"visibility":"internal"}],"src":"12567:32:69"},"scope":55538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":55537,"nodeType":"FunctionDefinition","src":"13072:752:69","nodes":[],"body":{"id":55536,"nodeType":"Block","src":"13175:649:69","nodes":[],"statements":[{"assignments":[55445],"declarations":[{"constant":false,"id":55445,"mutability":"mutable","name":"inputBuilder","nameLocation":"13201:12:69","nodeType":"VariableDeclaration","scope":55536,"src":"13185:28:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":55443,"name":"string","nodeType":"ElementaryTypeName","src":"13185:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":55444,"nodeType":"ArrayTypeName","src":"13185:8:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":55451,"initialValue":{"arguments":[{"hexValue":"323535","id":55449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13229:3:69","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"id":55448,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"13216:12:69","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (string memory[] memory)"},"typeName":{"baseType":{"id":55446,"name":"string","nodeType":"ElementaryTypeName","src":"13220:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":55447,"nodeType":"ArrayTypeName","src":"13220:8:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":55450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13216:17:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"13185:48:69"},{"assignments":[55453],"declarations":[{"constant":false,"id":55453,"mutability":"mutable","name":"i","nameLocation":"13250:1:69","nodeType":"VariableDeclaration","scope":55536,"src":"13244:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":55452,"name":"uint8","nodeType":"ElementaryTypeName","src":"13244:5:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":55455,"initialValue":{"hexValue":"30","id":55454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13254:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"13244:11:69"},{"expression":{"id":55461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55456,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55445,"src":"13266:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55459,"indexExpression":{"id":55458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"13279:3:69","subExpression":{"id":55457,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55453,"src":"13279:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13266:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"6e7078","id":55460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13286:5:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_169a1000665635df106bbe8ab6519d10dd57f5c196b68846e9722c94b7bf89aa","typeString":"literal_string \"npx\""},"value":"npx"},"src":"13266:25:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55462,"nodeType":"ExpressionStatement","src":"13266:25:69"},{"expression":{"id":55476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55463,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55445,"src":"13301:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55466,"indexExpression":{"id":55465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"13314:3:69","subExpression":{"id":55464,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55453,"src":"13314:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13301:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"406f70656e7a657070656c696e2f646566656e6465722d6465706c6f792d636c69656e742d636c6940","id":55471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13358:43:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_911dd02035025c2cb695e87f546c8657a33a4f437472b320b67efab6662a5c76","typeString":"literal_string \"@openzeppelin/defender-deploy-client-cli@\""},"value":"@openzeppelin/defender-deploy-client-cli@"},{"expression":{"id":55472,"name":"Versions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56377,"src":"13403:8:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Versions_$56377_$","typeString":"type(library Versions)"}},"id":55473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13412:26:69","memberName":"DEFENDER_DEPLOY_CLIENT_CLI","nodeType":"MemberAccess","referencedDeclaration":56376,"src":"13403:35:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_911dd02035025c2cb695e87f546c8657a33a4f437472b320b67efab6662a5c76","typeString":"literal_string \"@openzeppelin/defender-deploy-client-cli@\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55469,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13341:3:69","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55470,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13345:12:69","memberName":"encodePacked","nodeType":"MemberAccess","src":"13341:16:69","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13341:98:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55468,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13321:6:69","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":55467,"name":"string","nodeType":"ElementaryTypeName","src":"13321:6:69","typeDescriptions":{}}},"id":55475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13321:128:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"13301:148:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55477,"nodeType":"ExpressionStatement","src":"13301:148:69"},{"expression":{"id":55483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55478,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55445,"src":"13459:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55481,"indexExpression":{"id":55480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"13472:3:69","subExpression":{"id":55479,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55453,"src":"13472:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13459:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55482,"name":"command","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55435,"src":"13479:7:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"13459:27:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55484,"nodeType":"ExpressionStatement","src":"13459:27:69"},{"expression":{"id":55490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55485,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55445,"src":"13496:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55488,"indexExpression":{"id":55487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"13509:3:69","subExpression":{"id":55486,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55453,"src":"13509:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13496:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d2d636861696e4964","id":55489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13516:11:69","typeDescriptions":{"typeIdentifier":"t_stringliteral_7dc1dd87cae13f62dd44618a6634d1f58d1404fce96d0ca0e06289f8ceea6bae","typeString":"literal_string \"--chainId\""},"value":"--chainId"},"src":"13496:31:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55491,"nodeType":"ExpressionStatement","src":"13496:31:69"},{"expression":{"id":55501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55492,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55445,"src":"13537:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55495,"indexExpression":{"id":55494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"13550:3:69","subExpression":{"id":55493,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55453,"src":"13550:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13537:17:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":55498,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"13574:5:69","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":55499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13580:7:69","memberName":"chainid","nodeType":"MemberAccess","src":"13574:13:69","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55496,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46568,"src":"13557:7:69","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Strings_$46568_$","typeString":"type(library Strings)"}},"id":55497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13565:8:69","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":45280,"src":"13557:16:69","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":55500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13557:31:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"13537:51:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55502,"nodeType":"ExpressionStatement","src":"13537:51:69"},{"assignments":[55507],"declarations":[{"constant":false,"id":55507,"mutability":"mutable","name":"inputs","nameLocation":"13678:6:69","nodeType":"VariableDeclaration","scope":55536,"src":"13662:22:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":55505,"name":"string","nodeType":"ElementaryTypeName","src":"13662:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":55506,"nodeType":"ArrayTypeName","src":"13662:8:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":55513,"initialValue":{"arguments":[{"id":55511,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55453,"src":"13700:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":55510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"13687:12:69","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (string memory[] memory)"},"typeName":{"baseType":{"id":55508,"name":"string","nodeType":"ElementaryTypeName","src":"13691:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":55509,"nodeType":"ArrayTypeName","src":"13691:8:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":55512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13687:15:69","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"13662:40:69"},{"body":{"id":55532,"nodeType":"Block","src":"13742:52:69","statements":[{"expression":{"id":55530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55524,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55507,"src":"13756:6:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55526,"indexExpression":{"id":55525,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55515,"src":"13763:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13756:9:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":55527,"name":"inputBuilder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55445,"src":"13768:12:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55529,"indexExpression":{"id":55528,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55515,"src":"13781:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13768:15:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"13756:27:69","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55531,"nodeType":"ExpressionStatement","src":"13756:27:69"}]},"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":55520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55518,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55515,"src":"13730:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":55519,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55453,"src":"13734:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"13730:5:69","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55533,"initializationExpression":{"assignments":[55515],"declarations":[{"constant":false,"id":55515,"mutability":"mutable","name":"j","nameLocation":"13723:1:69","nodeType":"VariableDeclaration","scope":55533,"src":"13717:7:69","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":55514,"name":"uint8","nodeType":"ElementaryTypeName","src":"13717:5:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":55517,"initialValue":{"hexValue":"30","id":55516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13727:1:69","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"13717:11:69"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":55522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"13737:3:69","subExpression":{"id":55521,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55515,"src":"13737:1:69","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":55523,"nodeType":"ExpressionStatement","src":"13737:3:69"},"nodeType":"ForStatement","src":"13712:82:69"},{"expression":{"id":55534,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55507,"src":"13811:6:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":55440,"id":55535,"nodeType":"Return","src":"13804:13:69"}]},"implemented":true,"kind":"function","modifiers":[],"name":"buildGetApprovalProcessCommand","nameLocation":"13081:30:69","parameters":{"id":55436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55435,"mutability":"mutable","name":"command","nameLocation":"13126:7:69","nodeType":"VariableDeclaration","scope":55537,"src":"13112:21:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55434,"name":"string","nodeType":"ElementaryTypeName","src":"13112:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13111:23:69"},"returnParameters":{"id":55440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55439,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55537,"src":"13158:15:69","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":55437,"name":"string","nodeType":"ElementaryTypeName","src":"13158:6:69","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":55438,"nodeType":"ArrayTypeName","src":"13158:8:69","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"13157:17:69"},"scope":55538,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"DefenderDeploy","contractDependencies":[],"contractKind":"library","documentation":{"id":54059,"nodeType":"StructuredDocumentation","src":"439:127:69","text":" @dev Internal helper methods for Defender deployments.\n WARNING: DO NOT USE DIRECTLY. Use Defender.sol instead."},"fullyImplemented":true,"linearizedBaseContracts":[55538],"name":"DefenderDeploy","nameLocation":"575:14:69","scope":55539,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-foundry-upgrades/src/internal/StringFinder.sol":{"id":70,"ast":{"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/StringFinder.sol","id":55686,"exportedSymbols":{"StringFinder":[55685],"Utils":[56368],"Vm":[18001]},"nodeType":"SourceUnit","src":"32:1553:70","nodes":[{"id":55540,"nodeType":"PragmaDirective","src":"32:23:70","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":55542,"nodeType":"ImportDirective","src":"57:36:70","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"forge-std/Vm.sol","nameLocation":"-1:-1:-1","scope":55686,"sourceUnit":18002,"symbolAliases":[{"foreign":{"id":55541,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"65:2:70","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":55544,"nodeType":"ImportDirective","src":"94:34:70","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol","file":"./Utils.sol","nameLocation":"-1:-1:-1","scope":55686,"sourceUnit":56369,"symbolAliases":[{"foreign":{"id":55543,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"102:5:70","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":55685,"nodeType":"ContractDefinition","src":"224:1360:70","nodes":[{"id":55570,"nodeType":"FunctionDefinition","src":"337:184:70","nodes":[],"body":{"id":55569,"nodeType":"Block","src":"424:97:70","nodes":[],"statements":[{"assignments":[55557],"declarations":[{"constant":false,"id":55557,"mutability":"mutable","name":"vm","nameLocation":"437:2:70","nodeType":"VariableDeclaration","scope":55569,"src":"434:5:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":55556,"nodeType":"UserDefinedTypeName","pathNode":{"id":55555,"name":"Vm","nameLocations":["434:2:70"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"434:2:70"},"referencedDeclaration":18001,"src":"434:2:70","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"internal"}],"id":55562,"initialValue":{"arguments":[{"expression":{"id":55559,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"445:5:70","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":55560,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"451:17:70","memberName":"CHEATCODE_ADDRESS","nodeType":"MemberAccess","referencedDeclaration":55708,"src":"445:23:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":55558,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"442:2:70","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":55561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"442:27:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"nodeType":"VariableDeclarationStatement","src":"434:35:70"},{"expression":{"arguments":[{"id":55565,"name":"subject","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55548,"src":"498:7:70","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55566,"name":"search","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55550,"src":"507:6:70","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55563,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55557,"src":"486:2:70","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":55564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"489:8:70","memberName":"contains","nodeType":"MemberAccess","referencedDeclaration":15032,"src":"486:11:70","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) external returns (bool)"}},"id":55567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"486:28:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":55554,"id":55568,"nodeType":"Return","src":"479:35:70"}]},"documentation":{"id":55546,"nodeType":"StructuredDocumentation","src":"251:81:70","text":" Returns whether the subject string contains the search string."},"implemented":true,"kind":"function","modifiers":[],"name":"contains","nameLocation":"346:8:70","parameters":{"id":55551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55548,"mutability":"mutable","name":"subject","nameLocation":"369:7:70","nodeType":"VariableDeclaration","scope":55570,"src":"355:21:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55547,"name":"string","nodeType":"ElementaryTypeName","src":"355:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55550,"mutability":"mutable","name":"search","nameLocation":"392:6:70","nodeType":"VariableDeclaration","scope":55570,"src":"378:20:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55549,"name":"string","nodeType":"ElementaryTypeName","src":"378:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"354:45:70"},"returnParameters":{"id":55554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55553,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55570,"src":"418:4:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55552,"name":"bool","nodeType":"ElementaryTypeName","src":"418:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"417:6:70"},"scope":55685,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":55601,"nodeType":"FunctionDefinition","src":"616:226:70","nodes":[],"body":{"id":55600,"nodeType":"Block","src":"710:132:70","nodes":[],"statements":[{"assignments":[55582],"declarations":[{"constant":false,"id":55582,"mutability":"mutable","name":"vm","nameLocation":"723:2:70","nodeType":"VariableDeclaration","scope":55600,"src":"720:5:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":55581,"nodeType":"UserDefinedTypeName","pathNode":{"id":55580,"name":"Vm","nameLocations":["720:2:70"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"720:2:70"},"referencedDeclaration":18001,"src":"720:2:70","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"internal"}],"id":55587,"initialValue":{"arguments":[{"expression":{"id":55584,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"731:5:70","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":55585,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"737:17:70","memberName":"CHEATCODE_ADDRESS","nodeType":"MemberAccess","referencedDeclaration":55708,"src":"731:23:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":55583,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"728:2:70","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":55586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"728:27:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"nodeType":"VariableDeclarationStatement","src":"720:35:70"},{"assignments":[55589],"declarations":[{"constant":false,"id":55589,"mutability":"mutable","name":"index","nameLocation":"773:5:70","nodeType":"VariableDeclaration","scope":55600,"src":"765:13:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55588,"name":"uint256","nodeType":"ElementaryTypeName","src":"765:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":55595,"initialValue":{"arguments":[{"id":55592,"name":"subject","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55573,"src":"792:7:70","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55593,"name":"search","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55575,"src":"801:6:70","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55590,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55582,"src":"781:2:70","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":55591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"784:7:70","memberName":"indexOf","nodeType":"MemberAccess","referencedDeclaration":15042,"src":"781:10:70","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory,string memory) pure external returns (uint256)"}},"id":55594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"781:27:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"765:43:70"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":55596,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55589,"src":"825:5:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":55597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"834:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"825:10:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":55579,"id":55599,"nodeType":"Return","src":"818:17:70"}]},"documentation":{"id":55571,"nodeType":"StructuredDocumentation","src":"527:84:70","text":" Returns whether the subject string starts with the search string."},"implemented":true,"kind":"function","modifiers":[],"name":"startsWith","nameLocation":"625:10:70","parameters":{"id":55576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55573,"mutability":"mutable","name":"subject","nameLocation":"650:7:70","nodeType":"VariableDeclaration","scope":55601,"src":"636:21:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55572,"name":"string","nodeType":"ElementaryTypeName","src":"636:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55575,"mutability":"mutable","name":"search","nameLocation":"673:6:70","nodeType":"VariableDeclaration","scope":55601,"src":"659:20:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55574,"name":"string","nodeType":"ElementaryTypeName","src":"659:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"635:45:70"},"returnParameters":{"id":55579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55578,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55601,"src":"704:4:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55577,"name":"bool","nodeType":"ElementaryTypeName","src":"704:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"703:6:70"},"scope":55685,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55649,"nodeType":"FunctionDefinition","src":"935:286:70","nodes":[],"body":{"id":55648,"nodeType":"Block","src":"1027:194:70","nodes":[],"statements":[{"assignments":[55613],"declarations":[{"constant":false,"id":55613,"mutability":"mutable","name":"vm","nameLocation":"1040:2:70","nodeType":"VariableDeclaration","scope":55648,"src":"1037:5:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":55612,"nodeType":"UserDefinedTypeName","pathNode":{"id":55611,"name":"Vm","nameLocations":["1037:2:70"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"1037:2:70"},"referencedDeclaration":18001,"src":"1037:2:70","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"internal"}],"id":55618,"initialValue":{"arguments":[{"expression":{"id":55615,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"1048:5:70","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":55616,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1054:17:70","memberName":"CHEATCODE_ADDRESS","nodeType":"MemberAccess","referencedDeclaration":55708,"src":"1048:23:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":55614,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"1045:2:70","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":55617,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1045:27:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"nodeType":"VariableDeclarationStatement","src":"1037:35:70"},{"assignments":[55623],"declarations":[{"constant":false,"id":55623,"mutability":"mutable","name":"tokens","nameLocation":"1098:6:70","nodeType":"VariableDeclaration","scope":55648,"src":"1082:22:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":55621,"name":"string","nodeType":"ElementaryTypeName","src":"1082:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":55622,"nodeType":"ArrayTypeName","src":"1082:8:70","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":55629,"initialValue":{"arguments":[{"id":55626,"name":"subject","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55604,"src":"1116:7:70","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55627,"name":"search","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55606,"src":"1125:6:70","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55624,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55613,"src":"1107:2:70","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":55625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1110:5:70","memberName":"split","nodeType":"MemberAccess","referencedDeclaration":15113,"src":"1107:8:70","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (string memory[] memory)"}},"id":55628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1107:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1082:50:70"},{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":55646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":55630,"name":"tokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55623,"src":"1149:6:70","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1156:6:70","memberName":"length","nodeType":"MemberAccess","src":"1149:13:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":55632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1165:1:70","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1149:17:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"baseExpression":{"id":55636,"name":"tokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55623,"src":"1176:6:70","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55641,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":55637,"name":"tokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55623,"src":"1183:6:70","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1190:6:70","memberName":"length","nodeType":"MemberAccess","src":"1183:13:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":55639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1199:1:70","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1183:17:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1176:25:70","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":55635,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1170:5:70","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":55634,"name":"bytes","nodeType":"ElementaryTypeName","src":"1170:5:70","typeDescriptions":{}}},"id":55642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1170:32:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":55643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1203:6:70","memberName":"length","nodeType":"MemberAccess","src":"1170:39:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":55644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1213:1:70","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1170:44:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1149:65:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":55610,"id":55647,"nodeType":"Return","src":"1142:72:70"}]},"documentation":{"id":55602,"nodeType":"StructuredDocumentation","src":"848:82:70","text":" Returns whether the subject string ends with the search string."},"implemented":true,"kind":"function","modifiers":[],"name":"endsWith","nameLocation":"944:8:70","parameters":{"id":55607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55604,"mutability":"mutable","name":"subject","nameLocation":"967:7:70","nodeType":"VariableDeclaration","scope":55649,"src":"953:21:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55603,"name":"string","nodeType":"ElementaryTypeName","src":"953:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55606,"mutability":"mutable","name":"search","nameLocation":"990:6:70","nodeType":"VariableDeclaration","scope":55649,"src":"976:20:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55605,"name":"string","nodeType":"ElementaryTypeName","src":"976:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"952:45:70"},"returnParameters":{"id":55610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55609,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55649,"src":"1021:4:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55608,"name":"bool","nodeType":"ElementaryTypeName","src":"1021:4:70","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1020:6:70"},"scope":55685,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55684,"nodeType":"FunctionDefinition","src":"1344:238:70","nodes":[],"body":{"id":55683,"nodeType":"Block","src":"1436:146:70","nodes":[],"statements":[{"assignments":[55661],"declarations":[{"constant":false,"id":55661,"mutability":"mutable","name":"vm","nameLocation":"1449:2:70","nodeType":"VariableDeclaration","scope":55683,"src":"1446:5:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":55660,"nodeType":"UserDefinedTypeName","pathNode":{"id":55659,"name":"Vm","nameLocations":["1446:2:70"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"1446:2:70"},"referencedDeclaration":18001,"src":"1446:2:70","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"internal"}],"id":55666,"initialValue":{"arguments":[{"expression":{"id":55663,"name":"Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56368,"src":"1457:5:70","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Utils_$56368_$","typeString":"type(library Utils)"}},"id":55664,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1463:17:70","memberName":"CHEATCODE_ADDRESS","nodeType":"MemberAccess","referencedDeclaration":55708,"src":"1457:23:70","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":55662,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"1454:2:70","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":55665,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1454:27:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"nodeType":"VariableDeclarationStatement","src":"1446:35:70"},{"assignments":[55671],"declarations":[{"constant":false,"id":55671,"mutability":"mutable","name":"tokens","nameLocation":"1507:6:70","nodeType":"VariableDeclaration","scope":55683,"src":"1491:22:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":55669,"name":"string","nodeType":"ElementaryTypeName","src":"1491:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":55670,"nodeType":"ArrayTypeName","src":"1491:8:70","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":55677,"initialValue":{"arguments":[{"id":55674,"name":"subject","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55652,"src":"1525:7:70","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55675,"name":"search","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55654,"src":"1534:6:70","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55672,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55661,"src":"1516:2:70","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":55673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1519:5:70","memberName":"split","nodeType":"MemberAccess","referencedDeclaration":15113,"src":"1516:8:70","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (string memory[] memory)"}},"id":55676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1516:25:70","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1491:50:70"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":55681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":55678,"name":"tokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55671,"src":"1558:6:70","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1565:6:70","memberName":"length","nodeType":"MemberAccess","src":"1558:13:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":55680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1574:1:70","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1558:17:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":55658,"id":55682,"nodeType":"Return","src":"1551:24:70"}]},"documentation":{"id":55650,"nodeType":"StructuredDocumentation","src":"1227:112:70","text":" Returns the number of non-overlapping occurrences of the search string in the subject string."},"implemented":true,"kind":"function","modifiers":[],"name":"count","nameLocation":"1353:5:70","parameters":{"id":55655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55652,"mutability":"mutable","name":"subject","nameLocation":"1373:7:70","nodeType":"VariableDeclaration","scope":55684,"src":"1359:21:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55651,"name":"string","nodeType":"ElementaryTypeName","src":"1359:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55654,"mutability":"mutable","name":"search","nameLocation":"1396:6:70","nodeType":"VariableDeclaration","scope":55684,"src":"1382:20:70","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55653,"name":"string","nodeType":"ElementaryTypeName","src":"1382:6:70","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1358:45:70"},"returnParameters":{"id":55658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55657,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55684,"src":"1427:7:70","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55656,"name":"uint256","nodeType":"ElementaryTypeName","src":"1427:7:70","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1426:9:70"},"scope":55685,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"StringFinder","contractDependencies":[],"contractKind":"library","documentation":{"id":55545,"nodeType":"StructuredDocumentation","src":"130:93:70","text":" String finder functions using Forge's string cheatcodes.\n For internal use only."},"fullyImplemented":true,"linearizedBaseContracts":[55685],"name":"StringFinder","nameLocation":"232:12:70","scope":55686,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"id":71,"ast":{"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol","id":56369,"exportedSymbols":{"ContractInfo":[55704],"StringFinder":[55685],"Utils":[56368],"Vm":[18001],"console":[26117]},"nodeType":"SourceUnit","src":"32:9440:71","nodes":[{"id":55687,"nodeType":"PragmaDirective","src":"32:23:71","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":55689,"nodeType":"ImportDirective","src":"57:36:71","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"forge-std/Vm.sol","nameLocation":"-1:-1:-1","scope":56369,"sourceUnit":18002,"symbolAliases":[{"foreign":{"id":55688,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"65:2:71","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":55691,"nodeType":"ImportDirective","src":"94:46:71","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":56369,"sourceUnit":26118,"symbolAliases":[{"foreign":{"id":55690,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"102:7:71","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":55693,"nodeType":"ImportDirective","src":"142:48:71","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/StringFinder.sol","file":"./StringFinder.sol","nameLocation":"-1:-1:-1","scope":56369,"sourceUnit":55686,"symbolAliases":[{"foreign":{"id":55692,"name":"StringFinder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55685,"src":"150:12:71","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":55704,"nodeType":"StructDefinition","src":"192:529:71","nodes":[],"canonicalName":"ContractInfo","members":[{"constant":false,"id":55695,"mutability":"mutable","name":"contractPath","nameLocation":"288:12:71","nodeType":"VariableDeclaration","scope":55704,"src":"281:19:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":55694,"name":"string","nodeType":"ElementaryTypeName","src":"281:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55697,"mutability":"mutable","name":"shortName","nameLocation":"374:9:71","nodeType":"VariableDeclaration","scope":55704,"src":"367:16:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":55696,"name":"string","nodeType":"ElementaryTypeName","src":"367:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55699,"mutability":"mutable","name":"license","nameLocation":"485:7:71","nodeType":"VariableDeclaration","scope":55704,"src":"478:14:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":55698,"name":"string","nodeType":"ElementaryTypeName","src":"478:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55701,"mutability":"mutable","name":"sourceCodeHash","nameLocation":"575:14:71","nodeType":"VariableDeclaration","scope":55704,"src":"568:21:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":55700,"name":"string","nodeType":"ElementaryTypeName","src":"568:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55703,"mutability":"mutable","name":"artifactPath","nameLocation":"706:12:71","nodeType":"VariableDeclaration","scope":55704,"src":"699:19:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":55702,"name":"string","nodeType":"ElementaryTypeName","src":"699:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"ContractInfo","nameLocation":"199:12:71","scope":56369,"visibility":"public"},{"id":56368,"nodeType":"ContractDefinition","src":"804:8667:71","nodes":[{"id":55708,"nodeType":"VariableDeclaration","src":"824:79:71","nodes":[],"constant":true,"mutability":"constant","name":"CHEATCODE_ADDRESS","nameLocation":"841:17:71","scope":56368,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55706,"name":"address","nodeType":"ElementaryTypeName","src":"824:7:71","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307837313039373039454366613931613830363236664633393839443638663637463562314444313244","id":55707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"861:42:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x7109709ECfa91a80626fF3989D68f67F5b1DD12D"},"visibility":"internal"},{"id":55739,"nodeType":"FunctionDefinition","src":"1338:303:71","nodes":[],"body":{"id":55738,"nodeType":"Block","src":"1479:162:71","nodes":[],"statements":[{"assignments":[55720],"declarations":[{"constant":false,"id":55720,"mutability":"mutable","name":"info","nameLocation":"1509:4:71","nodeType":"VariableDeclaration","scope":55738,"src":"1489:24:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo"},"typeName":{"id":55719,"nodeType":"UserDefinedTypeName","pathNode":{"id":55718,"name":"ContractInfo","nameLocations":["1489:12:71"],"nodeType":"IdentifierPath","referencedDeclaration":55704,"src":"1489:12:71"},"referencedDeclaration":55704,"src":"1489:12:71","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_storage_ptr","typeString":"struct ContractInfo"}},"visibility":"internal"}],"id":55725,"initialValue":{"arguments":[{"id":55722,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55711,"src":"1532:12:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55723,"name":"outDir","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55713,"src":"1546:6:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":55721,"name":"getContractInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55877,"src":"1516:15:71","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_struct$_ContractInfo_$55704_memory_ptr_$","typeString":"function (string memory,string memory) view returns (struct ContractInfo memory)"}},"id":55724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1516:37:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}},"nodeType":"VariableDeclarationStatement","src":"1489:64:71"},{"expression":{"arguments":[{"arguments":[{"expression":{"id":55730,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55720,"src":"1594:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}},"id":55731,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1599:12:71","memberName":"contractPath","nodeType":"MemberAccess","referencedDeclaration":55695,"src":"1594:17:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"3a","id":55732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1613:3:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_96d280011b274d9410ea6c6fc28e2bb076b01d2fac329c49c4b29a719ec4650c","typeString":"literal_string \":\""},"value":":"},{"expression":{"id":55733,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55720,"src":"1618:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}},"id":55734,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1623:9:71","memberName":"shortName","nodeType":"MemberAccess","referencedDeclaration":55697,"src":"1618:14:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_96d280011b274d9410ea6c6fc28e2bb076b01d2fac329c49c4b29a719ec4650c","typeString":"literal_string \":\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55728,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1577:3:71","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55729,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1581:12:71","memberName":"encodePacked","nodeType":"MemberAccess","src":"1577:16:71","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1577:56:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55727,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1570:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":55726,"name":"string","nodeType":"ElementaryTypeName","src":"1570:6:71","typeDescriptions":{}}},"id":55736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1570:64:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":55717,"id":55737,"nodeType":"Return","src":"1563:71:71"}]},"documentation":{"id":55709,"nodeType":"StructuredDocumentation","src":"910:423:71","text":" @dev Gets the fully qualified name of a contract.\n @param contractName Contract name in the format \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param outDir Foundry output directory to search in if contractName is not an artifact path\n @return Fully qualified name of the contract, e.g. \"src/MyContract.sol:MyContract\""},"implemented":true,"kind":"function","modifiers":[],"name":"getFullyQualifiedName","nameLocation":"1347:21:71","parameters":{"id":55714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55711,"mutability":"mutable","name":"contractName","nameLocation":"1392:12:71","nodeType":"VariableDeclaration","scope":55739,"src":"1378:26:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55710,"name":"string","nodeType":"ElementaryTypeName","src":"1378:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55713,"mutability":"mutable","name":"outDir","nameLocation":"1428:6:71","nodeType":"VariableDeclaration","scope":55739,"src":"1414:20:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55712,"name":"string","nodeType":"ElementaryTypeName","src":"1414:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1368:72:71"},"returnParameters":{"id":55717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55716,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55739,"src":"1464:13:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55715,"name":"string","nodeType":"ElementaryTypeName","src":"1464:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1463:15:71"},"scope":56368,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":55877,"nodeType":"FunctionDefinition","src":"2078:1403:71","nodes":[],"body":{"id":55876,"nodeType":"Block","src":"2219:1262:71","nodes":[],"statements":[{"assignments":[55752],"declarations":[{"constant":false,"id":55752,"mutability":"mutable","name":"vm","nameLocation":"2232:2:71","nodeType":"VariableDeclaration","scope":55876,"src":"2229:5:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":55751,"nodeType":"UserDefinedTypeName","pathNode":{"id":55750,"name":"Vm","nameLocations":["2229:2:71"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"2229:2:71"},"referencedDeclaration":18001,"src":"2229:2:71","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"internal"}],"id":55756,"initialValue":{"arguments":[{"id":55754,"name":"CHEATCODE_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55708,"src":"2240:17:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":55753,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"2237:2:71","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":55755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2237:21:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"nodeType":"VariableDeclarationStatement","src":"2229:29:71"},{"assignments":[55759],"declarations":[{"constant":false,"id":55759,"mutability":"mutable","name":"info","nameLocation":"2289:4:71","nodeType":"VariableDeclaration","scope":55876,"src":"2269:24:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo"},"typeName":{"id":55758,"nodeType":"UserDefinedTypeName","pathNode":{"id":55757,"name":"ContractInfo","nameLocations":["2269:12:71"],"nodeType":"IdentifierPath","referencedDeclaration":55704,"src":"2269:12:71"},"referencedDeclaration":55704,"src":"2269:12:71","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_storage_ptr","typeString":"struct ContractInfo"}},"visibility":"internal"}],"id":55760,"nodeType":"VariableDeclarationStatement","src":"2269:24:71"},{"expression":{"id":55767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":55761,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55759,"src":"2304:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}},"id":55763,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2309:9:71","memberName":"shortName","nodeType":"MemberAccess","referencedDeclaration":55697,"src":"2304:14:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":55765,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55742,"src":"2334:12:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":55764,"name":"_toShortName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56190,"src":"2321:12:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":55766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2321:26:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2304:43:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55768,"nodeType":"ExpressionStatement","src":"2304:43:71"},{"assignments":[55770],"declarations":[{"constant":false,"id":55770,"mutability":"mutable","name":"fileName","nameLocation":"2372:8:71","nodeType":"VariableDeclaration","scope":55876,"src":"2358:22:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55769,"name":"string","nodeType":"ElementaryTypeName","src":"2358:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":55774,"initialValue":{"arguments":[{"id":55772,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55742,"src":"2395:12:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":55771,"name":"_toFileName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56086,"src":"2383:11:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":55773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2383:25:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"2358:50:71"},{"assignments":[55776],"declarations":[{"constant":false,"id":55776,"mutability":"mutable","name":"artifactPath","nameLocation":"2433:12:71","nodeType":"VariableDeclaration","scope":55876,"src":"2419:26:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55775,"name":"string","nodeType":"ElementaryTypeName","src":"2419:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":55794,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":55781,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55752,"src":"2485:2:71","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":55782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2488:11:71","memberName":"projectRoot","nodeType":"MemberAccess","referencedDeclaration":14281,"src":"2485:14:71","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view external returns (string memory)"}},"id":55783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2485:16:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2f","id":55784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2503:3:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""},"value":"/"},{"id":55785,"name":"outDir","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55744,"src":"2508:6:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2f","id":55786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2516:3:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""},"value":"/"},{"id":55787,"name":"fileName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55770,"src":"2521:8:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2f","id":55788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2531:3:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""},"value":"/"},{"expression":{"id":55789,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55759,"src":"2536:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}},"id":55790,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2541:9:71","memberName":"shortName","nodeType":"MemberAccess","referencedDeclaration":55697,"src":"2536:14:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e6a736f6e","id":55791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2552:7:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""},"value":".json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""}],"expression":{"id":55779,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2468:3:71","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55780,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2472:12:71","memberName":"encodePacked","nodeType":"MemberAccess","src":"2468:16:71","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2468:92:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55778,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2448:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":55777,"name":"string","nodeType":"ElementaryTypeName","src":"2448:6:71","typeDescriptions":{}}},"id":55793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2448:122:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"2419:151:71"},{"assignments":[55796],"declarations":[{"constant":false,"id":55796,"mutability":"mutable","name":"artifactJson","nameLocation":"2594:12:71","nodeType":"VariableDeclaration","scope":55876,"src":"2580:26:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55795,"name":"string","nodeType":"ElementaryTypeName","src":"2580:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":55801,"initialValue":{"arguments":[{"id":55799,"name":"artifactPath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55776,"src":"2621:12:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55797,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55752,"src":"2609:2:71","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":55798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2612:8:71","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":14365,"src":"2609:11:71","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":55800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2609:25:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"2580:54:71"},{"condition":{"id":55807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2649:39:71","subExpression":{"arguments":[{"id":55804,"name":"artifactJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55796,"src":"2667:12:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e617374","id":55805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2681:6:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_94ac7d5548e308c1d3c62d3cec2f12ac4e8340c7ba9c9bd462561ccfdd974d98","typeString":"literal_string \".ast\""},"value":".ast"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_94ac7d5548e308c1d3c62d3cec2f12ac4e8340c7ba9c9bd462561ccfdd974d98","typeString":"literal_string \".ast\""}],"expression":{"id":55802,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55752,"src":"2650:2:71","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":55803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2653:13:71","memberName":"keyExistsJson","nodeType":"MemberAccess","referencedDeclaration":14453,"src":"2650:16:71","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view external returns (bool)"}},"id":55806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2650:38:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55821,"nodeType":"IfStatement","src":"2645:351:71","trueBody":{"id":55820,"nodeType":"Block","src":"2690:306:71","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"436f756c64206e6f742066696e642041535420696e20617274696661637420","id":55813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2798:33:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b0c29718fa0ccfd3c548e0fdf398a1d76969c362a61df53627e5e4f64fab1e8","typeString":"literal_string \"Could not find AST in artifact \""},"value":"Could not find AST in artifact "},{"id":55814,"name":"artifactPath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55776,"src":"2857:12:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e205365742060617374203d20747275656020696e20666f756e6472792e746f6d6c","id":55815,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2895:36:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_dd0e6e5fb2dfed5daf937831e40458612ea423d5675571cc5b1b64fd260d1245","typeString":"literal_string \". Set `ast = true` in foundry.toml\""},"value":". Set `ast = true` in foundry.toml"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b0c29718fa0ccfd3c548e0fdf398a1d76969c362a61df53627e5e4f64fab1e8","typeString":"literal_string \"Could not find AST in artifact \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_dd0e6e5fb2dfed5daf937831e40458612ea423d5675571cc5b1b64fd260d1245","typeString":"literal_string \". Set `ast = true` in foundry.toml\""}],"expression":{"id":55811,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2756:3:71","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2760:12:71","memberName":"encodePacked","nodeType":"MemberAccess","src":"2756:16:71","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2756:197:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55810,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2728:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":55809,"name":"string","nodeType":"ElementaryTypeName","src":"2728:6:71","typeDescriptions":{}}},"id":55817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2728:243:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":55808,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"2704:6:71","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":55818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2704:281:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55819,"nodeType":"ExpressionStatement","src":"2704:281:71"}]}},{"expression":{"id":55830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":55822,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55759,"src":"3005:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}},"id":55824,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3010:12:71","memberName":"contractPath","nodeType":"MemberAccess","referencedDeclaration":55695,"src":"3005:17:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":55827,"name":"artifactJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55796,"src":"3044:12:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e6173742e6162736f6c75746550617468","id":55828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3058:19:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_0f3ac612dde053e2dba53344fdd4fdfcedab8a75b1f141a9e2889b50a75851e1","typeString":"literal_string \".ast.absolutePath\""},"value":".ast.absolutePath"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_0f3ac612dde053e2dba53344fdd4fdfcedab8a75b1f141a9e2889b50a75851e1","typeString":"literal_string \".ast.absolutePath\""}],"expression":{"id":55825,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55752,"src":"3025:2:71","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":55826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3028:15:71","memberName":"parseJsonString","nodeType":"MemberAccess","referencedDeclaration":14579,"src":"3025:18:71","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (string memory)"}},"id":55829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3025:53:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"3005:73:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55831,"nodeType":"ExpressionStatement","src":"3005:73:71"},{"condition":{"arguments":[{"id":55834,"name":"artifactJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55796,"src":"3109:12:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e6173742e6c6963656e7365","id":55835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3123:14:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_0ec1952d7acb1df54d89163ca83f1d7b360061eb9c0c5c501b4eac52c5c807e4","typeString":"literal_string \".ast.license\""},"value":".ast.license"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_0ec1952d7acb1df54d89163ca83f1d7b360061eb9c0c5c501b4eac52c5c807e4","typeString":"literal_string \".ast.license\""}],"expression":{"id":55832,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55752,"src":"3092:2:71","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":55833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3095:13:71","memberName":"keyExistsJson","nodeType":"MemberAccess","referencedDeclaration":14453,"src":"3092:16:71","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view external returns (bool)"}},"id":55836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3092:46:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55848,"nodeType":"IfStatement","src":"3088:140:71","trueBody":{"id":55847,"nodeType":"Block","src":"3140:88:71","statements":[{"expression":{"id":55845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":55837,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55759,"src":"3154:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}},"id":55839,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3159:7:71","memberName":"license","nodeType":"MemberAccess","referencedDeclaration":55699,"src":"3154:12:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":55842,"name":"artifactJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55796,"src":"3188:12:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e6173742e6c6963656e7365","id":55843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3202:14:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_0ec1952d7acb1df54d89163ca83f1d7b360061eb9c0c5c501b4eac52c5c807e4","typeString":"literal_string \".ast.license\""},"value":".ast.license"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_0ec1952d7acb1df54d89163ca83f1d7b360061eb9c0c5c501b4eac52c5c807e4","typeString":"literal_string \".ast.license\""}],"expression":{"id":55840,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55752,"src":"3169:2:71","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":55841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3172:15:71","memberName":"parseJsonString","nodeType":"MemberAccess","referencedDeclaration":14579,"src":"3169:18:71","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (string memory)"}},"id":55844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3169:48:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"3154:63:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55846,"nodeType":"ExpressionStatement","src":"3154:63:71"}]}},{"expression":{"id":55866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":55849,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55759,"src":"3237:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}},"id":55851,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3242:14:71","memberName":"sourceCodeHash","nodeType":"MemberAccess","referencedDeclaration":55701,"src":"3237:19:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":55854,"name":"artifactJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55796,"src":"3291:12:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"arguments":[{"hexValue":"2e6d657461646174612e736f75726365732e5b27","id":55859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3341:22:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_9acc65371218b2be388de4c512999c5773d7c7e8cfe55ef8b9c7f869e0e7945b","typeString":"literal_string \".metadata.sources.['\""},"value":".metadata.sources.['"},{"expression":{"id":55860,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55759,"src":"3365:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}},"id":55861,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3370:12:71","memberName":"contractPath","nodeType":"MemberAccess","referencedDeclaration":55695,"src":"3365:17:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"275d2e6b656363616b323536","id":55862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3384:14:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_aad8893e597421c55956295138eb041c0150d1e2975daa37e4c3a126e8685848","typeString":"literal_string \"'].keccak256\""},"value":"'].keccak256"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9acc65371218b2be388de4c512999c5773d7c7e8cfe55ef8b9c7f869e0e7945b","typeString":"literal_string \".metadata.sources.['\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_aad8893e597421c55956295138eb041c0150d1e2975daa37e4c3a126e8685848","typeString":"literal_string \"'].keccak256\""}],"expression":{"id":55857,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3324:3:71","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55858,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3328:12:71","memberName":"encodePacked","nodeType":"MemberAccess","src":"3324:16:71","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3324:75:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55856,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3317:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":55855,"name":"string","nodeType":"ElementaryTypeName","src":"3317:6:71","typeDescriptions":{}}},"id":55864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3317:83:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55852,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55752,"src":"3259:2:71","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":55853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3262:15:71","memberName":"parseJsonString","nodeType":"MemberAccess","referencedDeclaration":14579,"src":"3259:18:71","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (string memory)"}},"id":55865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3259:151:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"3237:173:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55867,"nodeType":"ExpressionStatement","src":"3237:173:71"},{"expression":{"id":55872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":55868,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55759,"src":"3420:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}},"id":55870,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3425:12:71","memberName":"artifactPath","nodeType":"MemberAccess","referencedDeclaration":55703,"src":"3420:17:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":55871,"name":"artifactPath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55776,"src":"3440:12:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"3420:32:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55873,"nodeType":"ExpressionStatement","src":"3420:32:71"},{"expression":{"id":55874,"name":"info","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55759,"src":"3470:4:71","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo memory"}},"functionReturnParameters":55749,"id":55875,"nodeType":"Return","src":"3463:11:71"}]},"documentation":{"id":55740,"nodeType":"StructuredDocumentation","src":"1647:426:71","text":" @dev Gets information about a contract from its Foundry artifact.\n @param contractName Contract name in the format \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param outDir Foundry output directory to search in if contractName is not an artifact path\n @return ContractInfo struct containing information about the contract"},"implemented":true,"kind":"function","modifiers":[],"name":"getContractInfo","nameLocation":"2087:15:71","parameters":{"id":55745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55742,"mutability":"mutable","name":"contractName","nameLocation":"2126:12:71","nodeType":"VariableDeclaration","scope":55877,"src":"2112:26:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55741,"name":"string","nodeType":"ElementaryTypeName","src":"2112:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55744,"mutability":"mutable","name":"outDir","nameLocation":"2162:6:71","nodeType":"VariableDeclaration","scope":55877,"src":"2148:20:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55743,"name":"string","nodeType":"ElementaryTypeName","src":"2148:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2102:72:71"},"returnParameters":{"id":55749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55748,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55877,"src":"2198:19:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_memory_ptr","typeString":"struct ContractInfo"},"typeName":{"id":55747,"nodeType":"UserDefinedTypeName","pathNode":{"id":55746,"name":"ContractInfo","nameLocations":["2198:12:71"],"nodeType":"IdentifierPath","referencedDeclaration":55704,"src":"2198:12:71"},"referencedDeclaration":55704,"src":"2198:12:71","typeDescriptions":{"typeIdentifier":"t_struct$_ContractInfo_$55704_storage_ptr","typeString":"struct ContractInfo"}},"visibility":"internal"}],"src":"2197:21:71"},"scope":56368,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":55880,"nodeType":"UsingForDirective","src":"3487:30:71","nodes":[],"global":false,"libraryName":{"id":55878,"name":"StringFinder","nameLocations":["3493:12:71"],"nodeType":"IdentifierPath","referencedDeclaration":55685,"src":"3493:12:71"},"typeName":{"id":55879,"name":"string","nodeType":"ElementaryTypeName","src":"3510:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},{"id":55980,"nodeType":"FunctionDefinition","src":"3965:893:71","nodes":[],"body":{"id":55979,"nodeType":"Block","src":"4134:724:71","nodes":[],"statements":[{"assignments":[55896],"declarations":[{"constant":false,"id":55896,"mutability":"mutable","name":"inputs","nameLocation":"4160:6:71","nodeType":"VariableDeclaration","scope":55979,"src":"4144:22:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":55894,"name":"string","nodeType":"ElementaryTypeName","src":"4144:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":55895,"nodeType":"ArrayTypeName","src":"4144:8:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":55902,"initialValue":{"arguments":[{"hexValue":"34","id":55900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4182:1:71","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"}],"id":55899,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4169:12:71","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (string memory[] memory)"},"typeName":{"baseType":{"id":55897,"name":"string","nodeType":"ElementaryTypeName","src":"4173:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":55898,"nodeType":"ArrayTypeName","src":"4173:8:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":55901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4169:15:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"4144:40:71"},{"expression":{"id":55907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55903,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55896,"src":"4194:6:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55905,"indexExpression":{"hexValue":"30","id":55904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4201:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4194:9:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"67726570","id":55906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4206:6:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_64bce29512c306ac8682eb21106d0dbd9641ff15774fe96f196b2b668a09ba06","typeString":"literal_string \"grep\""},"value":"grep"},"src":"4194:18:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55908,"nodeType":"ExpressionStatement","src":"4194:18:71"},{"expression":{"id":55913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55909,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55896,"src":"4222:6:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55911,"indexExpression":{"hexValue":"31","id":55910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4229:1:71","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4222:9:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d726c","id":55912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4234:5:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_fcf11f608ae86ae45bf4e2070750240363d1558f31a18572ed8bf4121243e6f5","typeString":"literal_string \"-rl\""},"value":"-rl"},"src":"4222:17:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55914,"nodeType":"ExpressionStatement","src":"4222:17:71"},{"expression":{"id":55927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55915,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55896,"src":"4249:6:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55917,"indexExpression":{"hexValue":"32","id":55916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4256:1:71","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4249:9:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"22","id":55922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4285:3:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},"value":"\""},{"id":55923,"name":"sourceCodeHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55883,"src":"4290:14:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"22","id":55924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4306:3:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},"value":"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0","typeString":"literal_string \"\"\""}],"expression":{"id":55920,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4268:3:71","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55921,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4272:12:71","memberName":"encodePacked","nodeType":"MemberAccess","src":"4268:16:71","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4268:42:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55919,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4261:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":55918,"name":"string","nodeType":"ElementaryTypeName","src":"4261:6:71","typeDescriptions":{}}},"id":55926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4261:50:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"4249:62:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55928,"nodeType":"ExpressionStatement","src":"4249:62:71"},{"expression":{"id":55940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":55929,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55896,"src":"4321:6:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":55931,"indexExpression":{"hexValue":"33","id":55930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4328:1:71","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4321:9:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":55936,"name":"outDir","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55887,"src":"4357:6:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2f6275696c642d696e666f","id":55937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4365:13:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_69ae65ff9142d8f87b3884b153358f78dcd4f6339bb046b9a6d16c966fa813af","typeString":"literal_string \"/build-info\""},"value":"/build-info"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_69ae65ff9142d8f87b3884b153358f78dcd4f6339bb046b9a6d16c966fa813af","typeString":"literal_string \"/build-info\""}],"expression":{"id":55934,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4340:3:71","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55935,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4344:12:71","memberName":"encodePacked","nodeType":"MemberAccess","src":"4340:16:71","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4340:39:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55933,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4333:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":55932,"name":"string","nodeType":"ElementaryTypeName","src":"4333:6:71","typeDescriptions":{}}},"id":55939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4333:47:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"4321:59:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55941,"nodeType":"ExpressionStatement","src":"4321:59:71"},{"assignments":[55946],"declarations":[{"constant":false,"id":55946,"mutability":"mutable","name":"result","nameLocation":"4411:6:71","nodeType":"VariableDeclaration","scope":55979,"src":"4391:26:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult"},"typeName":{"id":55945,"nodeType":"UserDefinedTypeName","pathNode":{"id":55944,"name":"Vm.FfiResult","nameLocations":["4391:2:71","4394:9:71"],"nodeType":"IdentifierPath","referencedDeclaration":13108,"src":"4391:12:71"},"referencedDeclaration":13108,"src":"4391:12:71","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_storage_ptr","typeString":"struct VmSafe.FfiResult"}},"visibility":"internal"}],"id":55950,"initialValue":{"arguments":[{"id":55948,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55896,"src":"4437:6:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"id":55947,"name":"runAsBashCommand","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56367,"src":"4420:16:71","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_FfiResult_$13108_memory_ptr_$","typeString":"function (string memory[] memory) returns (struct VmSafe.FfiResult memory)"}},"id":55949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4420:24:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"nodeType":"VariableDeclarationStatement","src":"4391:53:71"},{"assignments":[55952],"declarations":[{"constant":false,"id":55952,"mutability":"mutable","name":"stdout","nameLocation":"4468:6:71","nodeType":"VariableDeclaration","scope":55979,"src":"4454:20:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55951,"name":"string","nodeType":"ElementaryTypeName","src":"4454:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":55958,"initialValue":{"arguments":[{"expression":{"id":55955,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55946,"src":"4484:6:71","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"id":55956,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4491:6:71","memberName":"stdout","nodeType":"MemberAccess","referencedDeclaration":13105,"src":"4484:13:71","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55954,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4477:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":55953,"name":"string","nodeType":"ElementaryTypeName","src":"4477:6:71","typeDescriptions":{}}},"id":55957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4477:21:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"4454:44:71"},{"condition":{"id":55963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4513:25:71","subExpression":{"arguments":[{"hexValue":"2e6a736f6e","id":55961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4530:7:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""},"value":".json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""}],"expression":{"id":55959,"name":"stdout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55952,"src":"4514:6:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":55960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4521:8:71","memberName":"endsWith","nodeType":"MemberAccess","referencedDeclaration":55649,"src":"4514:15:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":55962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4514:24:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":55976,"nodeType":"IfStatement","src":"4509:319:71","trueBody":{"id":55975,"nodeType":"Block","src":"4540:288:71","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"436f756c64206e6f742066696e64206275696c642d696e666f2066696c652077697468206d61746368696e6720736f7572636520636f6465206861736820666f7220636f6e747261637420","id":55969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4648:77:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_97996f6d547fd3154e3c44156fcd12ba2952d6646db5187f6bd117ff435085a8","typeString":"literal_string \"Could not find build-info file with matching source code hash for contract \""},"value":"Could not find build-info file with matching source code hash for contract "},{"id":55970,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55885,"src":"4751:12:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_97996f6d547fd3154e3c44156fcd12ba2952d6646db5187f6bd117ff435085a8","typeString":"literal_string \"Could not find build-info file with matching source code hash for contract \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55967,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4606:3:71","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55968,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4610:12:71","memberName":"encodePacked","nodeType":"MemberAccess","src":"4606:16:71","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":55971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4606:179:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4578:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":55965,"name":"string","nodeType":"ElementaryTypeName","src":"4578:6:71","typeDescriptions":{}}},"id":55972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4578:225:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":55964,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"4554:6:71","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":55973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4554:263:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55974,"nodeType":"ExpressionStatement","src":"4554:263:71"}]}},{"expression":{"id":55977,"name":"stdout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55952,"src":"4845:6:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":55891,"id":55978,"nodeType":"Return","src":"4838:13:71"}]},"documentation":{"id":55881,"nodeType":"StructuredDocumentation","src":"3523:437:71","text":" Gets the path to the build-info file that contains the given bytecode.\n @param sourceCodeHash keccak256 hash of the source code from metadata\n @param contractName Contract name to display in error message if build-info file is not found\n @param outDir Foundry output directory that contains a build-info directory\n @return The path to the build-info file that contains the given bytecode"},"implemented":true,"kind":"function","modifiers":[],"name":"getBuildInfoFile","nameLocation":"3974:16:71","parameters":{"id":55888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55883,"mutability":"mutable","name":"sourceCodeHash","nameLocation":"4014:14:71","nodeType":"VariableDeclaration","scope":55980,"src":"4000:28:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55882,"name":"string","nodeType":"ElementaryTypeName","src":"4000:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55885,"mutability":"mutable","name":"contractName","nameLocation":"4052:12:71","nodeType":"VariableDeclaration","scope":55980,"src":"4038:26:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55884,"name":"string","nodeType":"ElementaryTypeName","src":"4038:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55887,"mutability":"mutable","name":"outDir","nameLocation":"4088:6:71","nodeType":"VariableDeclaration","scope":55980,"src":"4074:20:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55886,"name":"string","nodeType":"ElementaryTypeName","src":"4074:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3990:110:71"},"returnParameters":{"id":55891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55890,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":55980,"src":"4119:13:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55889,"name":"string","nodeType":"ElementaryTypeName","src":"4119:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4118:15:71"},"scope":56368,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56004,"nodeType":"FunctionDefinition","src":"4994:206:71","nodes":[],"body":{"id":56003,"nodeType":"Block","src":"5053:147:71","nodes":[],"statements":[{"assignments":[55988],"declarations":[{"constant":false,"id":55988,"mutability":"mutable","name":"vm","nameLocation":"5066:2:71","nodeType":"VariableDeclaration","scope":56003,"src":"5063:5:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":55987,"nodeType":"UserDefinedTypeName","pathNode":{"id":55986,"name":"Vm","nameLocations":["5063:2:71"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"5063:2:71"},"referencedDeclaration":18001,"src":"5063:2:71","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"internal"}],"id":55992,"initialValue":{"arguments":[{"id":55990,"name":"CHEATCODE_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55708,"src":"5074:17:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":55989,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"5071:2:71","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":55991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5071:21:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"nodeType":"VariableDeclarationStatement","src":"5063:29:71"},{"assignments":[55994],"declarations":[{"constant":false,"id":55994,"mutability":"mutable","name":"defaultOutDir","nameLocation":"5117:13:71","nodeType":"VariableDeclaration","scope":56003,"src":"5103:27:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55993,"name":"string","nodeType":"ElementaryTypeName","src":"5103:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":55996,"initialValue":{"hexValue":"6f7574","id":55995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5133:5:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9d65c25f1d91a301b8ddcc6ecd2c5b5ec81c53a5ff0aa50299b1b97c1649c9d","typeString":"literal_string \"out\""},"value":"out"},"nodeType":"VariableDeclarationStatement","src":"5103:35:71"},{"expression":{"arguments":[{"hexValue":"464f554e4452595f4f5554","id":55999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5164:13:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae11223e55da1785bb01a018df547ee9df83f6bfc03bcf9ee05fa29541f23f06","typeString":"literal_string \"FOUNDRY_OUT\""},"value":"FOUNDRY_OUT"},{"id":56000,"name":"defaultOutDir","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55994,"src":"5179:13:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ae11223e55da1785bb01a018df547ee9df83f6bfc03bcf9ee05fa29541f23f06","typeString":"literal_string \"FOUNDRY_OUT\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55997,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55988,"src":"5155:2:71","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":55998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5158:5:71","memberName":"envOr","nodeType":"MemberAccess","referencedDeclaration":13693,"src":"5155:8:71","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) view external returns (string memory)"}},"id":56001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5155:38:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":55985,"id":56002,"nodeType":"Return","src":"5148:45:71"}]},"documentation":{"id":55981,"nodeType":"StructuredDocumentation","src":"4864:125:71","text":" @dev Gets the output directory from the FOUNDRY_OUT environment variable, or defaults to \"out\" if not set."},"implemented":true,"kind":"function","modifiers":[],"name":"getOutDir","nameLocation":"5003:9:71","parameters":{"id":55982,"nodeType":"ParameterList","parameters":[],"src":"5012:2:71"},"returnParameters":{"id":55985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55984,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56004,"src":"5038:13:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55983,"name":"string","nodeType":"ElementaryTypeName","src":"5038:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5037:15:71"},"scope":56368,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":56086,"nodeType":"FunctionDefinition","src":"5206:867:71","nodes":[],"body":{"id":56085,"nodeType":"Block","src":"5284:789:71","nodes":[],"statements":[{"assignments":[56013],"declarations":[{"constant":false,"id":56013,"mutability":"mutable","name":"vm","nameLocation":"5297:2:71","nodeType":"VariableDeclaration","scope":56085,"src":"5294:5:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":56012,"nodeType":"UserDefinedTypeName","pathNode":{"id":56011,"name":"Vm","nameLocations":["5294:2:71"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"5294:2:71"},"referencedDeclaration":18001,"src":"5294:2:71","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"internal"}],"id":56017,"initialValue":{"arguments":[{"id":56015,"name":"CHEATCODE_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55708,"src":"5305:17:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":56014,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"5302:2:71","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":56016,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5302:21:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"nodeType":"VariableDeclarationStatement","src":"5294:29:71"},{"condition":{"arguments":[{"hexValue":"2e736f6c","id":56020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5351:6:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4899d98551d0eedd3839d89cdef847f3de976f02aecec9c64bb534483e2fdc1","typeString":"literal_string \".sol\""},"value":".sol"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4899d98551d0eedd3839d89cdef847f3de976f02aecec9c64bb534483e2fdc1","typeString":"literal_string \".sol\""}],"expression":{"id":56018,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56006,"src":"5337:4:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":56019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5342:8:71","memberName":"endsWith","nodeType":"MemberAccess","referencedDeclaration":55649,"src":"5337:13:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":56021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5337:21:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"hexValue":"3a","id":56027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5417:3:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_96d280011b274d9410ea6c6fc28e2bb076b01d2fac329c49c4b29a719ec4650c","typeString":"literal_string \":\""},"value":":"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_96d280011b274d9410ea6c6fc28e2bb076b01d2fac329c49c4b29a719ec4650c","typeString":"literal_string \":\""}],"expression":{"id":56025,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56006,"src":"5406:4:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":56026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5411:5:71","memberName":"count","nodeType":"MemberAccess","referencedDeclaration":55684,"src":"5406:10:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (uint256)"}},"id":56028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5406:15:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":56029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5425:1:71","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5406:20:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":56082,"nodeType":"Block","src":"5488:579:71","statements":[{"condition":{"arguments":[{"hexValue":"2e6a736f6e","id":56042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5520:7:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""},"value":".json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""}],"expression":{"id":56040,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56006,"src":"5506:4:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":56041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5511:8:71","memberName":"endsWith","nodeType":"MemberAccess","referencedDeclaration":55649,"src":"5506:13:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":56043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5506:22:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56069,"nodeType":"IfStatement","src":"5502:214:71","trueBody":{"id":56068,"nodeType":"Block","src":"5530:186:71","statements":[{"assignments":[56048],"declarations":[{"constant":false,"id":56048,"mutability":"mutable","name":"parts","nameLocation":"5564:5:71","nodeType":"VariableDeclaration","scope":56068,"src":"5548:21:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":56046,"name":"string","nodeType":"ElementaryTypeName","src":"5548:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":56047,"nodeType":"ArrayTypeName","src":"5548:8:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":56054,"initialValue":{"arguments":[{"id":56051,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56006,"src":"5581:4:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2f","id":56052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5587:3:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""},"value":"/"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""}],"expression":{"id":56049,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56013,"src":"5572:2:71","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":56050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5575:5:71","memberName":"split","nodeType":"MemberAccess","referencedDeclaration":15113,"src":"5572:8:71","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (string memory[] memory)"}},"id":56053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5572:19:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5548:43:71"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":56055,"name":"parts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56048,"src":"5613:5:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":56056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5619:6:71","memberName":"length","nodeType":"MemberAccess","src":"5613:12:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":56057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5628:1:71","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5613:16:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56067,"nodeType":"IfStatement","src":"5609:93:71","trueBody":{"id":56066,"nodeType":"Block","src":"5631:71:71","statements":[{"expression":{"baseExpression":{"id":56059,"name":"parts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56048,"src":"5660:5:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":56064,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":56060,"name":"parts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56048,"src":"5666:5:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":56061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5672:6:71","memberName":"length","nodeType":"MemberAccess","src":"5666:12:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"32","id":56062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5681:1:71","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"5666:16:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5660:23:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":56010,"id":56065,"nodeType":"Return","src":"5653:30:71"}]}}]}},{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"436f6e7472616374206e616d6520","id":56075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5824:16:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_3f120aa75756516f8ad13d558a5b9e5a44bb19eefe0388ce8c7f36f6df8edea5","typeString":"literal_string \"Contract name \""},"value":"Contract name "},{"id":56076,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56006,"src":"5866:4:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"206d75737420626520696e2074686520666f726d6174204d79436f6e74726163742e736f6c3a4d79436f6e7472616374206f72204d79436f6e74726163742e736f6c206f72206f75742f4d79436f6e74726163742e736f6c2f4d79436f6e74726163742e6a736f6e","id":56077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5896:106:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_9a274a4ef728d0f993bc2f4dc24a093c4d7da9d1cb0dff5da2bf5cfca4271809","typeString":"literal_string \" must be in the format MyContract.sol:MyContract or MyContract.sol or out/MyContract.sol/MyContract.json\""},"value":" must be in the format MyContract.sol:MyContract or MyContract.sol or out/MyContract.sol/MyContract.json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3f120aa75756516f8ad13d558a5b9e5a44bb19eefe0388ce8c7f36f6df8edea5","typeString":"literal_string \"Contract name \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_9a274a4ef728d0f993bc2f4dc24a093c4d7da9d1cb0dff5da2bf5cfca4271809","typeString":"literal_string \" must be in the format MyContract.sol:MyContract or MyContract.sol or out/MyContract.sol/MyContract.json\""}],"expression":{"id":56073,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5782:3:71","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5786:12:71","memberName":"encodePacked","nodeType":"MemberAccess","src":"5782:16:71","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5782:242:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56072,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5754:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":56071,"name":"string","nodeType":"ElementaryTypeName","src":"5754:6:71","typeDescriptions":{}}},"id":56079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5754:288:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":56070,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"5730:6:71","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":56080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5730:326:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56081,"nodeType":"ExpressionStatement","src":"5730:326:71"}]},"id":56083,"nodeType":"IfStatement","src":"5402:665:71","trueBody":{"id":56039,"nodeType":"Block","src":"5428:54:71","statements":[{"expression":{"baseExpression":{"arguments":[{"id":56033,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56006,"src":"5458:4:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"3a","id":56034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5464:3:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_96d280011b274d9410ea6c6fc28e2bb076b01d2fac329c49c4b29a719ec4650c","typeString":"literal_string \":\""},"value":":"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_96d280011b274d9410ea6c6fc28e2bb076b01d2fac329c49c4b29a719ec4650c","typeString":"literal_string \":\""}],"expression":{"id":56031,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56013,"src":"5449:2:71","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":56032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5452:5:71","memberName":"split","nodeType":"MemberAccess","referencedDeclaration":15113,"src":"5449:8:71","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (string memory[] memory)"}},"id":56035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5449:19:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":56037,"indexExpression":{"hexValue":"30","id":56036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5469:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5449:22:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":56010,"id":56038,"nodeType":"Return","src":"5442:29:71"}]}},"id":56084,"nodeType":"IfStatement","src":"5333:734:71","trueBody":{"id":56024,"nodeType":"Block","src":"5360:36:71","statements":[{"expression":{"id":56022,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56006,"src":"5381:4:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":56010,"id":56023,"nodeType":"Return","src":"5374:11:71"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_toFileName","nameLocation":"5215:11:71","parameters":{"id":56007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56006,"mutability":"mutable","name":"name","nameLocation":"5241:4:71","nodeType":"VariableDeclaration","scope":56086,"src":"5227:18:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56005,"name":"string","nodeType":"ElementaryTypeName","src":"5227:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5226:20:71"},"returnParameters":{"id":56010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56009,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56086,"src":"5269:13:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56008,"name":"string","nodeType":"ElementaryTypeName","src":"5269:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5268:15:71"},"scope":56368,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":56190,"nodeType":"FunctionDefinition","src":"6079:937:71","nodes":[],"body":{"id":56189,"nodeType":"Block","src":"6158:858:71","nodes":[],"statements":[{"assignments":[56095],"declarations":[{"constant":false,"id":56095,"mutability":"mutable","name":"vm","nameLocation":"6171:2:71","nodeType":"VariableDeclaration","scope":56189,"src":"6168:5:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":56094,"nodeType":"UserDefinedTypeName","pathNode":{"id":56093,"name":"Vm","nameLocations":["6168:2:71"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"6168:2:71"},"referencedDeclaration":18001,"src":"6168:2:71","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"internal"}],"id":56099,"initialValue":{"arguments":[{"id":56097,"name":"CHEATCODE_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55708,"src":"6179:17:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":56096,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"6176:2:71","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":56098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6176:21:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"nodeType":"VariableDeclarationStatement","src":"6168:29:71"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"hexValue":"2e736f6c","id":56102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6225:6:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4899d98551d0eedd3839d89cdef847f3de976f02aecec9c64bb534483e2fdc1","typeString":"literal_string \".sol\""},"value":".sol"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4899d98551d0eedd3839d89cdef847f3de976f02aecec9c64bb534483e2fdc1","typeString":"literal_string \".sol\""}],"expression":{"id":56100,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56088,"src":"6211:4:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":56101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6216:8:71","memberName":"endsWith","nodeType":"MemberAccess","referencedDeclaration":55649,"src":"6211:13:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":56103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6211:21:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"hexValue":"2e736f6c","id":56106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6247:6:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4899d98551d0eedd3839d89cdef847f3de976f02aecec9c64bb534483e2fdc1","typeString":"literal_string \".sol\""},"value":".sol"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4899d98551d0eedd3839d89cdef847f3de976f02aecec9c64bb534483e2fdc1","typeString":"literal_string \".sol\""}],"expression":{"id":56104,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56088,"src":"6236:4:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":56105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6241:5:71","memberName":"count","nodeType":"MemberAccess","referencedDeclaration":55684,"src":"6236:10:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (uint256)"}},"id":56107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6236:18:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":56108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6258:1:71","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6236:23:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6211:48:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"hexValue":"3a","id":56121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6342:3:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_96d280011b274d9410ea6c6fc28e2bb076b01d2fac329c49c4b29a719ec4650c","typeString":"literal_string \":\""},"value":":"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_96d280011b274d9410ea6c6fc28e2bb076b01d2fac329c49c4b29a719ec4650c","typeString":"literal_string \":\""}],"expression":{"id":56119,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56088,"src":"6331:4:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":56120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6336:5:71","memberName":"count","nodeType":"MemberAccess","referencedDeclaration":55684,"src":"6331:10:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (uint256)"}},"id":56122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6331:15:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":56123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6350:1:71","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6331:20:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"hexValue":"2e6a736f6e","id":56136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6431:7:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""},"value":".json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""}],"expression":{"id":56134,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56088,"src":"6417:4:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":56135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6422:8:71","memberName":"endsWith","nodeType":"MemberAccess","referencedDeclaration":55649,"src":"6417:13:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":56137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6417:22:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"hexValue":"2e6a736f6e","id":56140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6454:7:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""},"value":".json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""}],"expression":{"id":56138,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56088,"src":"6443:4:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":56139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6448:5:71","memberName":"count","nodeType":"MemberAccess","referencedDeclaration":55684,"src":"6443:10:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$attached_to$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (uint256)"}},"id":56141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6443:19:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":56142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6466:1:71","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6443:24:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6417:50:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":56185,"nodeType":"Block","src":"6659:351:71","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"436f6e7472616374206e616d6520","id":56178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6767:16:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_3f120aa75756516f8ad13d558a5b9e5a44bb19eefe0388ce8c7f36f6df8edea5","typeString":"literal_string \"Contract name \""},"value":"Contract name "},{"id":56179,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56088,"src":"6809:4:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"206d75737420626520696e2074686520666f726d6174204d79436f6e74726163742e736f6c3a4d79436f6e7472616374206f72204d79436f6e74726163742e736f6c206f72206f75742f4d79436f6e74726163742e736f6c2f4d79436f6e74726163742e6a736f6e","id":56180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6839:106:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_9a274a4ef728d0f993bc2f4dc24a093c4d7da9d1cb0dff5da2bf5cfca4271809","typeString":"literal_string \" must be in the format MyContract.sol:MyContract or MyContract.sol or out/MyContract.sol/MyContract.json\""},"value":" must be in the format MyContract.sol:MyContract or MyContract.sol or out/MyContract.sol/MyContract.json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3f120aa75756516f8ad13d558a5b9e5a44bb19eefe0388ce8c7f36f6df8edea5","typeString":"literal_string \"Contract name \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_9a274a4ef728d0f993bc2f4dc24a093c4d7da9d1cb0dff5da2bf5cfca4271809","typeString":"literal_string \" must be in the format MyContract.sol:MyContract or MyContract.sol or out/MyContract.sol/MyContract.json\""}],"expression":{"id":56176,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6725:3:71","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6729:12:71","memberName":"encodePacked","nodeType":"MemberAccess","src":"6725:16:71","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6725:242:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56175,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6697:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":56174,"name":"string","nodeType":"ElementaryTypeName","src":"6697:6:71","typeDescriptions":{}}},"id":56182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6697:288:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":56173,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"6673:6:71","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":56183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6673:326:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56184,"nodeType":"ExpressionStatement","src":"6673:326:71"}]},"id":56186,"nodeType":"IfStatement","src":"6413:597:71","trueBody":{"id":56172,"nodeType":"Block","src":"6469:184:71","statements":[{"assignments":[56149],"declarations":[{"constant":false,"id":56149,"mutability":"mutable","name":"parts","nameLocation":"6499:5:71","nodeType":"VariableDeclaration","scope":56172,"src":"6483:21:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":56147,"name":"string","nodeType":"ElementaryTypeName","src":"6483:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":56148,"nodeType":"ArrayTypeName","src":"6483:8:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":56155,"initialValue":{"arguments":[{"id":56152,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56088,"src":"6516:4:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2f","id":56153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6522:3:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""},"value":"/"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""}],"expression":{"id":56150,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56095,"src":"6507:2:71","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":56151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6510:5:71","memberName":"split","nodeType":"MemberAccess","referencedDeclaration":15113,"src":"6507:8:71","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (string memory[] memory)"}},"id":56154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6507:19:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6483:43:71"},{"assignments":[56157],"declarations":[{"constant":false,"id":56157,"mutability":"mutable","name":"jsonName","nameLocation":"6554:8:71","nodeType":"VariableDeclaration","scope":56172,"src":"6540:22:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56156,"name":"string","nodeType":"ElementaryTypeName","src":"6540:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":56164,"initialValue":{"baseExpression":{"id":56158,"name":"parts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56149,"src":"6565:5:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":56163,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":56159,"name":"parts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56149,"src":"6571:5:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":56160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6577:6:71","memberName":"length","nodeType":"MemberAccess","src":"6571:12:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":56161,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6586:1:71","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6571:16:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6565:23:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"6540:48:71"},{"expression":{"arguments":[{"id":56167,"name":"jsonName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56157,"src":"6620:8:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e6a736f6e","id":56168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6630:7:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""},"value":".json"},{"hexValue":"","id":56169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6639:2:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":56165,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56095,"src":"6609:2:71","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":56166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6612:7:71","memberName":"replace","nodeType":"MemberAccess","referencedDeclaration":15102,"src":"6609:10:71","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,string memory) pure external returns (string memory)"}},"id":56170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6609:33:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":56092,"id":56171,"nodeType":"Return","src":"6602:40:71"}]}},"id":56187,"nodeType":"IfStatement","src":"6327:683:71","trueBody":{"id":56133,"nodeType":"Block","src":"6353:54:71","statements":[{"expression":{"baseExpression":{"arguments":[{"id":56127,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56088,"src":"6383:4:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"3a","id":56128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6389:3:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_96d280011b274d9410ea6c6fc28e2bb076b01d2fac329c49c4b29a719ec4650c","typeString":"literal_string \":\""},"value":":"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_96d280011b274d9410ea6c6fc28e2bb076b01d2fac329c49c4b29a719ec4650c","typeString":"literal_string \":\""}],"expression":{"id":56125,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56095,"src":"6374:2:71","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":56126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6377:5:71","memberName":"split","nodeType":"MemberAccess","referencedDeclaration":15113,"src":"6374:8:71","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (string memory[] memory)"}},"id":56129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6374:19:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":56131,"indexExpression":{"hexValue":"31","id":56130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6394:1:71","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6374:22:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":56092,"id":56132,"nodeType":"Return","src":"6367:29:71"}]}},"id":56188,"nodeType":"IfStatement","src":"6207:803:71","trueBody":{"id":56118,"nodeType":"Block","src":"6261:60:71","statements":[{"expression":{"arguments":[{"id":56113,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56088,"src":"6293:4:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e736f6c","id":56114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6299:6:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4899d98551d0eedd3839d89cdef847f3de976f02aecec9c64bb534483e2fdc1","typeString":"literal_string \".sol\""},"value":".sol"},{"hexValue":"","id":56115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6307:2:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_e4899d98551d0eedd3839d89cdef847f3de976f02aecec9c64bb534483e2fdc1","typeString":"literal_string \".sol\""},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":56111,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56095,"src":"6282:2:71","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":56112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6285:7:71","memberName":"replace","nodeType":"MemberAccess","referencedDeclaration":15102,"src":"6282:10:71","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,string memory) pure external returns (string memory)"}},"id":56116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6282:28:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":56092,"id":56117,"nodeType":"Return","src":"6275:35:71"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_toShortName","nameLocation":"6088:12:71","parameters":{"id":56089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56088,"mutability":"mutable","name":"name","nameLocation":"6115:4:71","nodeType":"VariableDeclaration","scope":56190,"src":"6101:18:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56087,"name":"string","nodeType":"ElementaryTypeName","src":"6101:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6100:20:71"},"returnParameters":{"id":56092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56091,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56190,"src":"6143:13:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56090,"name":"string","nodeType":"ElementaryTypeName","src":"6143:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6142:15:71"},"scope":56368,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":56282,"nodeType":"FunctionDefinition","src":"7388:595:71","nodes":[],"body":{"id":56281,"nodeType":"Block","src":"7499:484:71","nodes":[],"statements":[{"assignments":[56203],"declarations":[{"constant":false,"id":56203,"mutability":"mutable","name":"commandString","nameLocation":"7523:13:71","nodeType":"VariableDeclaration","scope":56281,"src":"7509:27:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56202,"name":"string","nodeType":"ElementaryTypeName","src":"7509:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":56204,"nodeType":"VariableDeclarationStatement","src":"7509:27:71"},{"body":{"id":56248,"nodeType":"Block","src":"7587:225:71","statements":[{"expression":{"id":56227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56216,"name":"commandString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56203,"src":"7601:13:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":56221,"name":"commandString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56203,"src":"7641:13:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"baseExpression":{"id":56222,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56194,"src":"7656:6:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":56224,"indexExpression":{"id":56223,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56206,"src":"7663:1:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7656:9:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":56219,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7624:3:71","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56220,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7628:12:71","memberName":"encodePacked","nodeType":"MemberAccess","src":"7624:16:71","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7624:42:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7617:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":56217,"name":"string","nodeType":"ElementaryTypeName","src":"7617:6:71","typeDescriptions":{}}},"id":56226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7617:50:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"7601:66:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":56228,"nodeType":"ExpressionStatement","src":"7601:66:71"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56229,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56206,"src":"7685:1:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":56230,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56194,"src":"7690:6:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":56231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7697:6:71","memberName":"length","nodeType":"MemberAccess","src":"7690:13:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":56232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7706:1:71","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7690:17:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7685:22:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56247,"nodeType":"IfStatement","src":"7681:121:71","trueBody":{"id":56246,"nodeType":"Block","src":"7709:93:71","statements":[{"expression":{"id":56244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56235,"name":"commandString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56203,"src":"7727:13:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":56240,"name":"commandString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56203,"src":"7767:13:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20","id":56241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7782:3:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a","typeString":"literal_string \" \""},"value":" "}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a","typeString":"literal_string \" \""}],"expression":{"id":56238,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7750:3:71","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56239,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7754:12:71","memberName":"encodePacked","nodeType":"MemberAccess","src":"7750:16:71","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7750:36:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56237,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7743:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":56236,"name":"string","nodeType":"ElementaryTypeName","src":"7743:6:71","typeDescriptions":{}}},"id":56243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7743:44:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"7727:60:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":56245,"nodeType":"ExpressionStatement","src":"7727:60:71"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56209,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56206,"src":"7563:1:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":56210,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56194,"src":"7567:6:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":56211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7574:6:71","memberName":"length","nodeType":"MemberAccess","src":"7567:13:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7563:17:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56249,"initializationExpression":{"assignments":[56206],"declarations":[{"constant":false,"id":56206,"mutability":"mutable","name":"i","nameLocation":"7556:1:71","nodeType":"VariableDeclaration","scope":56249,"src":"7551:6:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56205,"name":"uint","nodeType":"ElementaryTypeName","src":"7551:4:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56208,"initialValue":{"hexValue":"30","id":56207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7560:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"7551:10:71"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":56214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"7582:3:71","subExpression":{"id":56213,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56206,"src":"7582:1:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56215,"nodeType":"ExpressionStatement","src":"7582:3:71"},"nodeType":"ForStatement","src":"7546:266:71"},{"assignments":[56254],"declarations":[{"constant":false,"id":56254,"mutability":"mutable","name":"result","nameLocation":"7838:6:71","nodeType":"VariableDeclaration","scope":56281,"src":"7822:22:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":56252,"name":"string","nodeType":"ElementaryTypeName","src":"7822:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":56253,"nodeType":"ArrayTypeName","src":"7822:8:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":56260,"initialValue":{"arguments":[{"hexValue":"33","id":56258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7860:1:71","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":56257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7847:12:71","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (string memory[] memory)"},"typeName":{"baseType":{"id":56255,"name":"string","nodeType":"ElementaryTypeName","src":"7851:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":56256,"nodeType":"ArrayTypeName","src":"7851:8:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":56259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7847:15:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7822:40:71"},{"expression":{"id":56265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56261,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56254,"src":"7872:6:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":56263,"indexExpression":{"hexValue":"30","id":56262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7879:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7872:9:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56264,"name":"bashPath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56196,"src":"7884:8:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"7872:20:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":56266,"nodeType":"ExpressionStatement","src":"7872:20:71"},{"expression":{"id":56271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56267,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56254,"src":"7902:6:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":56269,"indexExpression":{"hexValue":"31","id":56268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7909:1:71","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7902:9:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d63","id":56270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7914:4:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_db7d58baf49317c91030cfef6ad60af45b39dbc6be58ff6e95c9a0a3f4fce22c","typeString":"literal_string \"-c\""},"value":"-c"},"src":"7902:16:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":56272,"nodeType":"ExpressionStatement","src":"7902:16:71"},{"expression":{"id":56277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56273,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56254,"src":"7928:6:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":56275,"indexExpression":{"hexValue":"32","id":56274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7935:1:71","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7928:9:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56276,"name":"commandString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56203,"src":"7940:13:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"7928:25:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":56278,"nodeType":"ExpressionStatement","src":"7928:25:71"},{"expression":{"id":56279,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56254,"src":"7970:6:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":56201,"id":56280,"nodeType":"Return","src":"7963:13:71"}]},"documentation":{"id":56191,"nodeType":"StructuredDocumentation","src":"7022:361:71","text":" @dev Converts an array of inputs to a bash command.\n @param inputs Inputs for a command, e.g. [\"grep\", \"-rl\", \"0x1234\", \"out/build-info\"]\n @param bashPath Path to the bash executable or just \"bash\" if it is in the PATH\n @return A bash command that runs the given inputs, e.g. [\"bash\", \"-c\", \"grep -rl 0x1234 out/build-info\"]"},"implemented":true,"kind":"function","modifiers":[],"name":"toBashCommand","nameLocation":"7397:13:71","parameters":{"id":56197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56194,"mutability":"mutable","name":"inputs","nameLocation":"7427:6:71","nodeType":"VariableDeclaration","scope":56282,"src":"7411:22:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":56192,"name":"string","nodeType":"ElementaryTypeName","src":"7411:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":56193,"nodeType":"ArrayTypeName","src":"7411:8:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":56196,"mutability":"mutable","name":"bashPath","nameLocation":"7449:8:71","nodeType":"VariableDeclaration","scope":56282,"src":"7435:22:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56195,"name":"string","nodeType":"ElementaryTypeName","src":"7435:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7410:48:71"},"returnParameters":{"id":56201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56200,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56282,"src":"7482:15:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":56198,"name":"string","nodeType":"ElementaryTypeName","src":"7482:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":56199,"nodeType":"ArrayTypeName","src":"7482:8:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"7481:17:71"},"scope":56368,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56367,"nodeType":"FunctionDefinition","src":"8232:1237:71","nodes":[],"body":{"id":56366,"nodeType":"Block","src":"8321:1148:71","nodes":[],"statements":[{"assignments":[56294],"declarations":[{"constant":false,"id":56294,"mutability":"mutable","name":"vm","nameLocation":"8334:2:71","nodeType":"VariableDeclaration","scope":56366,"src":"8331:5:71","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"},"typeName":{"id":56293,"nodeType":"UserDefinedTypeName","pathNode":{"id":56292,"name":"Vm","nameLocations":["8331:2:71"],"nodeType":"IdentifierPath","referencedDeclaration":18001,"src":"8331:2:71"},"referencedDeclaration":18001,"src":"8331:2:71","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"visibility":"internal"}],"id":56298,"initialValue":{"arguments":[{"id":56296,"name":"CHEATCODE_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55708,"src":"8342:17:71","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":56295,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"8339:2:71","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18001_$","typeString":"type(contract Vm)"}},"id":56297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8339:21:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"nodeType":"VariableDeclarationStatement","src":"8331:29:71"},{"assignments":[56300],"declarations":[{"constant":false,"id":56300,"mutability":"mutable","name":"defaultBashPath","nameLocation":"8384:15:71","nodeType":"VariableDeclaration","scope":56366,"src":"8370:29:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56299,"name":"string","nodeType":"ElementaryTypeName","src":"8370:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":56302,"initialValue":{"hexValue":"62617368","id":56301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8402:6:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a20a0a136f9116b8130e31d0d8f14d3b1802506e7c4b809f577c201eb7bf34c","typeString":"literal_string \"bash\""},"value":"bash"},"nodeType":"VariableDeclarationStatement","src":"8370:38:71"},{"assignments":[56304],"declarations":[{"constant":false,"id":56304,"mutability":"mutable","name":"bashPath","nameLocation":"8432:8:71","nodeType":"VariableDeclaration","scope":56366,"src":"8418:22:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56303,"name":"string","nodeType":"ElementaryTypeName","src":"8418:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":56310,"initialValue":{"arguments":[{"hexValue":"4f50454e5a455050454c494e5f424153485f50415448","id":56307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8452:24:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_524873d67beb7637903c52887510c8a7ea71785147c24441a8c36e6df12a4c44","typeString":"literal_string \"OPENZEPPELIN_BASH_PATH\""},"value":"OPENZEPPELIN_BASH_PATH"},{"id":56308,"name":"defaultBashPath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56300,"src":"8478:15:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_524873d67beb7637903c52887510c8a7ea71785147c24441a8c36e6df12a4c44","typeString":"literal_string \"OPENZEPPELIN_BASH_PATH\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":56305,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56294,"src":"8443:2:71","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":56306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8446:5:71","memberName":"envOr","nodeType":"MemberAccess","referencedDeclaration":13693,"src":"8443:8:71","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) view external returns (string memory)"}},"id":56309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8443:51:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"8418:76:71"},{"assignments":[56315],"declarations":[{"constant":false,"id":56315,"mutability":"mutable","name":"bashCommand","nameLocation":"8521:11:71","nodeType":"VariableDeclaration","scope":56366,"src":"8505:27:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":56313,"name":"string","nodeType":"ElementaryTypeName","src":"8505:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":56314,"nodeType":"ArrayTypeName","src":"8505:8:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":56320,"initialValue":{"arguments":[{"id":56317,"name":"inputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56286,"src":"8549:6:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":56318,"name":"bashPath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56304,"src":"8557:8:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":56316,"name":"toBashCommand","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56282,"src":"8535:13:71","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory[] memory,string memory) pure returns (string memory[] memory)"}},"id":56319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8535:31:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"8505:61:71"},{"assignments":[56325],"declarations":[{"constant":false,"id":56325,"mutability":"mutable","name":"result","nameLocation":"8596:6:71","nodeType":"VariableDeclaration","scope":56366,"src":"8576:26:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult"},"typeName":{"id":56324,"nodeType":"UserDefinedTypeName","pathNode":{"id":56323,"name":"Vm.FfiResult","nameLocations":["8576:2:71","8579:9:71"],"nodeType":"IdentifierPath","referencedDeclaration":13108,"src":"8576:12:71"},"referencedDeclaration":13108,"src":"8576:12:71","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_storage_ptr","typeString":"struct VmSafe.FfiResult"}},"visibility":"internal"}],"id":56330,"initialValue":{"arguments":[{"id":56328,"name":"bashCommand","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56315,"src":"8615:11:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":56326,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56294,"src":"8605:2:71","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":56327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8608:6:71","memberName":"tryFfi","nodeType":"MemberAccess","referencedDeclaration":14413,"src":"8605:9:71","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_FfiResult_$13108_memory_ptr_$","typeString":"function (string memory[] memory) external returns (struct VmSafe.FfiResult memory)"}},"id":56329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8605:22:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"nodeType":"VariableDeclarationStatement","src":"8576:51:71"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":56340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":56334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":56331,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56325,"src":"8641:6:71","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"id":56332,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8648:8:71","memberName":"exitCode","nodeType":"MemberAccess","referencedDeclaration":13103,"src":"8641:15:71","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":56333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8660:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8641:20:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":56335,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56325,"src":"8665:6:71","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"id":56336,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8672:6:71","memberName":"stdout","nodeType":"MemberAccess","referencedDeclaration":13105,"src":"8665:13:71","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":56337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8679:6:71","memberName":"length","nodeType":"MemberAccess","src":"8665:20:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":56338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8689:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8665:25:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8641:49:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":56341,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56325,"src":"8694:6:71","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"id":56342,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8701:6:71","memberName":"stderr","nodeType":"MemberAccess","referencedDeclaration":13107,"src":"8694:13:71","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":56343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8708:6:71","memberName":"length","nodeType":"MemberAccess","src":"8694:20:71","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":56344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8718:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8694:25:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8641:78:71","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":56364,"nodeType":"Block","src":"9425:38:71","statements":[{"expression":{"id":56362,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56325,"src":"9446:6:71","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"functionReturnParameters":56291,"id":56363,"nodeType":"Return","src":"9439:13:71"}]},"id":56365,"nodeType":"IfStatement","src":"8637:826:71","trueBody":{"id":56361,"nodeType":"Block","src":"8721:698:71","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"4661696c656420746f2072756e206261736820636f6d6d616e6420776974682022","id":56352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8935:35:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_9645b1309bf78e4558cd11f0c8b7c479bbb946c623d04c306a8843ee1cc47506","typeString":"literal_string \"Failed to run bash command with \"\""},"value":"Failed to run bash command with \""},{"baseExpression":{"id":56353,"name":"bashCommand","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56315,"src":"8996:11:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":56355,"indexExpression":{"hexValue":"30","id":56354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9008:1:71","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8996:14:71","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"222e20496620796f7520617265207573696e672057696e646f77732c2073657420746865204f50454e5a455050454c494e5f424153485f5041544820656e7669726f6e6d656e74207661726961626c6520746f207468652066756c6c79207175616c69666965642070617468206f662074686520626173682065786563757461626c652e20466f72206578616d706c652c20696620796f7520617265207573696e672047697420666f722057696e646f77732c206164642074686520666f6c6c6f77696e67206c696e6520696e20746865202e656e762066696c65206f6620796f75722070726f6a65637420287573696e6720666f727761726420736c6173686573293a0a4f50454e5a455050454c494e5f424153485f504154483d22433a2f50726f6772616d2046696c65732f4769742f62696e2f6261736822","id":56356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9036:318:71","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b53890135633717feb8747563f231c42249fa1cfe7d1f04d5790e40902f3b91","typeString":"literal_string hex\"222e20496620796f7520617265207573696e672057696e646f77732c2073657420746865204f50454e5a455050454c494e5f424153485f5041544820656e7669726f6e6d656e74207661726961626c6520746f207468652066756c6c79207175616c69666965642070617468206f662074686520626173682065786563757461626c652e20466f72206578616d706c652c20696620796f7520617265207573696e672047697420666f722057696e646f77732c206164642074686520666f6c6c6f77696e67206c696e6520696e20746865202e656e762066696c65206f6620796f75722070726f6a65637420287573696e6720666f727761726420736c6173686573293a0a4f50454e5a455050454c494e5f424153485f504154483d22433a2f50726f6772616d2046696c65732f4769742f62696e2f6261736822\""},"value":"\". If you are using Windows, set the OPENZEPPELIN_BASH_PATH environment variable to the fully qualified path of the bash executable. For example, if you are using Git for Windows, add the following line in the .env file of your project (using forward slashes):\nOPENZEPPELIN_BASH_PATH=\"C:/Program Files/Git/bin/bash\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9645b1309bf78e4558cd11f0c8b7c479bbb946c623d04c306a8843ee1cc47506","typeString":"literal_string \"Failed to run bash command with \"\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_3b53890135633717feb8747563f231c42249fa1cfe7d1f04d5790e40902f3b91","typeString":"literal_string hex\"222e20496620796f7520617265207573696e672057696e646f77732c2073657420746865204f50454e5a455050454c494e5f424153485f5041544820656e7669726f6e6d656e74207661726961626c6520746f207468652066756c6c79207175616c69666965642070617468206f662074686520626173682065786563757461626c652e20466f72206578616d706c652c20696620796f7520617265207573696e672047697420666f722057696e646f77732c206164642074686520666f6c6c6f77696e67206c696e6520696e20746865202e656e762066696c65206f6620796f75722070726f6a65637420287573696e6720666f727761726420736c6173686573293a0a4f50454e5a455050454c494e5f424153485f504154483d22433a2f50726f6772616d2046696c65732f4769742f62696e2f6261736822\""}],"expression":{"id":56350,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8893:3:71","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56351,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8897:12:71","memberName":"encodePacked","nodeType":"MemberAccess","src":"8893:16:71","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8893:483:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56349,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8865:6:71","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":56348,"name":"string","nodeType":"ElementaryTypeName","src":"8865:6:71","typeDescriptions":{}}},"id":56358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8865:529:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":56347,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"8841:6:71","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":56359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8841:567:71","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56360,"nodeType":"ExpressionStatement","src":"8841:567:71"}]}}]},"documentation":{"id":56283,"nodeType":"StructuredDocumentation","src":"7989:238:71","text":" @dev Runs an arbitrary command using bash.\n @param inputs Inputs for a command, e.g. [\"grep\", \"-rl\", \"0x1234\", \"out/build-info\"]\n @return The result of the corresponding bash command as a Vm.FfiResult struct"},"implemented":true,"kind":"function","modifiers":[],"name":"runAsBashCommand","nameLocation":"8241:16:71","parameters":{"id":56287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56286,"mutability":"mutable","name":"inputs","nameLocation":"8274:6:71","nodeType":"VariableDeclaration","scope":56367,"src":"8258:22:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":56284,"name":"string","nodeType":"ElementaryTypeName","src":"8258:6:71","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":56285,"nodeType":"ArrayTypeName","src":"8258:8:71","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"8257:24:71"},"returnParameters":{"id":56291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56290,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56367,"src":"8300:19:71","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_memory_ptr","typeString":"struct VmSafe.FfiResult"},"typeName":{"id":56289,"nodeType":"UserDefinedTypeName","pathNode":{"id":56288,"name":"Vm.FfiResult","nameLocations":["8300:2:71","8303:9:71"],"nodeType":"IdentifierPath","referencedDeclaration":13108,"src":"8300:12:71"},"referencedDeclaration":13108,"src":"8300:12:71","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$13108_storage_ptr","typeString":"struct VmSafe.FfiResult"}},"visibility":"internal"}],"src":"8299:21:71"},"scope":56368,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"Utils","contractDependencies":[],"contractKind":"library","documentation":{"id":55705,"nodeType":"StructuredDocumentation","src":"723:80:71","text":" @dev Internal helper methods used by Upgrades and Defender libraries."},"fullyImplemented":true,"linearizedBaseContracts":[56368],"name":"Utils","nameLocation":"812:5:71","scope":56369,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"id":72,"ast":{"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol","id":56378,"exportedSymbols":{"Versions":[56377]},"nodeType":"SourceUnit","src":"32:238:72","nodes":[{"id":56370,"nodeType":"PragmaDirective","src":"32:23:72","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56377,"nodeType":"ContractDefinition","src":"57:212:72","nodes":[{"id":56373,"nodeType":"VariableDeclaration","src":"158:41:72","nodes":[],"constant":true,"mutability":"constant","name":"UPGRADES_CORE","nameLocation":"174:13:72","scope":56377,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56371,"name":"string","nodeType":"ElementaryTypeName","src":"158:6:72","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"5e312e33372e30","id":56372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"190:9:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7bdcfecf5a6417048e2d8d20a3273878fa9883df950a063d8835cb3d54aa553","typeString":"literal_string \"^1.37.0\""},"value":"^1.37.0"},"visibility":"internal"},{"id":56376,"nodeType":"VariableDeclaration","src":"205:61:72","nodes":[],"constant":true,"mutability":"constant","name":"DEFENDER_DEPLOY_CLIENT_CLI","nameLocation":"221:26:72","scope":56377,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56374,"name":"string","nodeType":"ElementaryTypeName","src":"205:6:72","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"302e302e312d616c7068612e3130","id":56375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"250:16:72","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d77006a8ee2a4e802fdd78133ad622749aa3b72fcbe5320795335c7d3e03b9","typeString":"literal_string \"0.0.1-alpha.10\""},"value":"0.0.1-alpha.10"},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"Versions","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[56377],"name":"Versions","nameLocation":"65:8:72","scope":56378,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"id":73,"ast":{"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol","id":56399,"exportedSymbols":{"IProxyAdmin":[56398]},"nodeType":"SourceUnit","src":"32:535:73","nodes":[{"id":56379,"nodeType":"PragmaDirective","src":"32:23:73","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56398,"nodeType":"ContractDefinition","src":"57:509:73","nodes":[{"id":56387,"nodeType":"FunctionDefinition","src":"203:44:73","nodes":[],"documentation":{"id":56380,"nodeType":"StructuredDocumentation","src":"85:113:73","text":" Upgrades a proxy to a new implementation without calling a function on the new implementation."},"functionSelector":"99a88ec4","implemented":false,"kind":"function","modifiers":[],"name":"upgrade","nameLocation":"212:7:73","parameters":{"id":56385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56382,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56387,"src":"220:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56381,"name":"address","nodeType":"ElementaryTypeName","src":"220:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56384,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56387,"src":"229:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56383,"name":"address","nodeType":"ElementaryTypeName","src":"229:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"219:18:73"},"returnParameters":{"id":56386,"nodeType":"ParameterList","parameters":[],"src":"246:0:73"},"scope":56398,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":56397,"nodeType":"FunctionDefinition","src":"491:73:73","nodes":[],"documentation":{"id":56388,"nodeType":"StructuredDocumentation","src":"253:233:73","text":" Upgrades a proxy to a new implementation and calls a function on the new implementation.\n If UPGRADE_INTERFACE_VERSION is \"5.0.0\", bytes can be empty if no function should be called on the new implementation."},"functionSelector":"9623609d","implemented":false,"kind":"function","modifiers":[],"name":"upgradeAndCall","nameLocation":"500:14:73","parameters":{"id":56395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56390,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56397,"src":"515:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56389,"name":"address","nodeType":"ElementaryTypeName","src":"515:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56392,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56397,"src":"524:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56391,"name":"address","nodeType":"ElementaryTypeName","src":"524:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56394,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56397,"src":"533:12:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56393,"name":"bytes","nodeType":"ElementaryTypeName","src":"533:5:73","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"514:32:73"},"returnParameters":{"id":56396,"nodeType":"ParameterList","parameters":[],"src":"563:0:73"},"scope":56398,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IProxyAdmin","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[56398],"name":"IProxyAdmin","nameLocation":"67:11:73","scope":56399,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"id":74,"ast":{"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol","id":56408,"exportedSymbols":{"IUpgradeableBeacon":[56407]},"nodeType":"SourceUnit","src":"32:168:74","nodes":[{"id":56400,"nodeType":"PragmaDirective","src":"32:23:74","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56407,"nodeType":"ContractDefinition","src":"57:142:74","nodes":[{"id":56406,"nodeType":"FunctionDefinition","src":"160:37:74","nodes":[],"documentation":{"id":56401,"nodeType":"StructuredDocumentation","src":"92:63:74","text":" Upgrades the beacon to a new implementation."},"functionSelector":"3659cfe6","implemented":false,"kind":"function","modifiers":[],"name":"upgradeTo","nameLocation":"169:9:74","parameters":{"id":56404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56403,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56406,"src":"179:7:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56402,"name":"address","nodeType":"ElementaryTypeName","src":"179:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"178:9:74"},"returnParameters":{"id":56405,"nodeType":"ParameterList","parameters":[],"src":"196:0:74"},"scope":56407,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IUpgradeableBeacon","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[56407],"name":"IUpgradeableBeacon","nameLocation":"67:18:74","scope":56408,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"id":75,"ast":{"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol","id":56425,"exportedSymbols":{"IUpgradeableProxy":[56424]},"nodeType":"SourceUnit","src":"32:531:75","nodes":[{"id":56409,"nodeType":"PragmaDirective","src":"32:23:75","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56424,"nodeType":"ContractDefinition","src":"57:505:75","nodes":[{"id":56415,"nodeType":"FunctionDefinition","src":"211:37:75","nodes":[],"documentation":{"id":56410,"nodeType":"StructuredDocumentation","src":"91:115:75","text":" Upgrades the proxy to a new implementation without calling a function on the new implementation."},"functionSelector":"3659cfe6","implemented":false,"kind":"function","modifiers":[],"name":"upgradeTo","nameLocation":"220:9:75","parameters":{"id":56413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56412,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56415,"src":"230:7:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56411,"name":"address","nodeType":"ElementaryTypeName","src":"230:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"229:9:75"},"returnParameters":{"id":56414,"nodeType":"ParameterList","parameters":[],"src":"247:0:75"},"scope":56424,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":56423,"nodeType":"FunctionDefinition","src":"494:66:75","nodes":[],"documentation":{"id":56416,"nodeType":"StructuredDocumentation","src":"254:235:75","text":" Upgrades the proxy to a new implementation and calls a function on the new implementation.\n If UPGRADE_INTERFACE_VERSION is \"5.0.0\", bytes can be empty if no function should be called on the new implementation."},"functionSelector":"4f1ef286","implemented":false,"kind":"function","modifiers":[],"name":"upgradeToAndCall","nameLocation":"503:16:75","parameters":{"id":56421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56418,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56423,"src":"520:7:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56417,"name":"address","nodeType":"ElementaryTypeName","src":"520:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56420,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56423,"src":"529:12:75","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56419,"name":"bytes","nodeType":"ElementaryTypeName","src":"529:5:75","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"519:23:75"},"returnParameters":{"id":56422,"nodeType":"ParameterList","parameters":[],"src":"559:0:75"},"scope":56424,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IUpgradeableProxy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[56424],"name":"IUpgradeableProxy","nameLocation":"67:17:75","scope":56425,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/protocol/packages/core/contracts/common/implementation/AncillaryData.sol":{"id":76,"ast":{"absolutePath":"lib/protocol/packages/core/contracts/common/implementation/AncillaryData.sol","id":56833,"exportedSymbols":{"AncillaryData":[56832]},"nodeType":"SourceUnit","src":"42:7184:76","nodes":[{"id":56426,"nodeType":"PragmaDirective","src":"42:23:76","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56832,"nodeType":"ContractDefinition","src":"663:6562:76","nodes":[{"id":56567,"nodeType":"FunctionDefinition","src":"897:1306:76","nodes":[],"body":{"id":56566,"nodeType":"Block","src":"974:1229:76","nodes":[],"statements":[{"id":56565,"nodeType":"UncheckedBlock","src":"984:1213:76","statements":[{"assignments":[56435],"declarations":[{"constant":false,"id":56435,"mutability":"mutable","name":"x","nameLocation":"1016:1:76","nodeType":"VariableDeclaration","scope":56565,"src":"1008:9:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56434,"name":"uint256","nodeType":"ElementaryTypeName","src":"1008:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56440,"initialValue":{"arguments":[{"id":56438,"name":"bytesIn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56429,"src":"1028:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":56437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1020:7:76","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":56436,"name":"uint256","nodeType":"ElementaryTypeName","src":"1020:7:76","typeDescriptions":{}}},"id":56439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1020:16:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1008:28:76"},{"expression":{"id":56445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56441,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"1084:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56442,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"1088:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307830303030303030303030303030303030303030303030303030303030303030306666666666666666666666666666666666666666666666666666666666666666","id":56443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1092:66:76","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211455_by_1","typeString":"int_const 3402...(31 digits omitted)...1455"},"value":"0x00000000000000000000000000000000ffffffffffffffffffffffffffffffff"},"src":"1088:70:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1084:74:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56446,"nodeType":"ExpressionStatement","src":"1084:74:76"},{"expression":{"id":56459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56447,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"1172:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56448,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"1177:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56449,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"1182:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":56452,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":56450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1186:1:76","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":56451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1189:2:76","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"1186:5:76","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"1182:9:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":56454,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1181:11:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1177:15:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":56456,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1176:17:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307830303030303030303030303030303030666666666666666666666666666666663030303030303030303030303030303066666666666666666666666666666666","id":56457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1196:66:76","typeDescriptions":{"typeIdentifier":"t_rational_6277101735386680763495507056286727952657427581105975853055_by_1","typeString":"int_const 6277...(50 digits omitted)...3055"},"value":"0x0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff"},"src":"1176:86:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1172:90:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56460,"nodeType":"ExpressionStatement","src":"1172:90:76"},{"expression":{"id":56473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56461,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"1276:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56462,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"1281:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56463,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"1286:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_4294967296_by_1","typeString":"int_const 4294967296"},"id":56466,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":56464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1290:1:76","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3332","id":56465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1293:2:76","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"1290:5:76","typeDescriptions":{"typeIdentifier":"t_rational_4294967296_by_1","typeString":"int_const 4294967296"}},"src":"1286:9:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":56468,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1285:11:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1281:15:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":56470,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1280:17:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307830303030303030306666666666666666303030303030303066666666666666663030303030303030666666666666666630303030303030306666666666666666","id":56471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1300:66:76","typeDescriptions":{"typeIdentifier":"t_rational_26959946660873538060741835960174461801791452538186943042387869433855_by_1","typeString":"int_const 2695...(60 digits omitted)...3855"},"value":"0x00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff"},"src":"1280:86:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1276:90:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56474,"nodeType":"ExpressionStatement","src":"1276:90:76"},{"expression":{"id":56487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56475,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"1380:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56476,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"1385:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56477,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"1390:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_65536_by_1","typeString":"int_const 65536"},"id":56480,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":56478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1394:1:76","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3136","id":56479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1397:2:76","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"1394:5:76","typeDescriptions":{"typeIdentifier":"t_rational_65536_by_1","typeString":"int_const 65536"}},"src":"1390:9:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":56482,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1389:11:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1385:15:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":56484,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1384:17:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307830303030666666663030303066666666303030306666666630303030666666663030303066666666303030306666666630303030666666663030303066666666","id":56485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1404:66:76","typeDescriptions":{"typeIdentifier":"t_rational_1766820105243087041267848467410591083712559083657179364930612997358944255_by_1","typeString":"int_const 1766...(65 digits omitted)...4255"},"value":"0x0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff"},"src":"1384:86:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1380:90:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56488,"nodeType":"ExpressionStatement","src":"1380:90:76"},{"expression":{"id":56501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56489,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"1484:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56490,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"1489:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56491,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"1494:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"id":56494,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":56492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1498:1:76","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"38","id":56493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1501:1:76","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"1498:4:76","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"}},"src":"1494:8:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":56496,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1493:10:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1489:14:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":56498,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1488:16:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307830306666303066663030666630306666303066663030666630306666303066663030666630306666303066663030666630306666303066663030666630306666","id":56499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1507:66:76","typeDescriptions":{"typeIdentifier":"t_rational_450552876409790643671482431940419874915447411150352389258589821042463539455_by_1","typeString":"int_const 4505...(67 digits omitted)...9455"},"value":"0x00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff"},"src":"1488:85:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1484:89:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56502,"nodeType":"ExpressionStatement","src":"1484:89:76"},{"expression":{"id":56515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56503,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"1587:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56504,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"1592:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56505,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"1597:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"id":56508,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":56506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1601:1:76","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":56507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1604:1:76","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"1601:4:76","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"}},"src":"1597:8:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":56510,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1596:10:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1592:14:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":56512,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1591:16:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307830663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066306630663066","id":56513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1610:66:76","typeDescriptions":{"typeIdentifier":"t_rational_6811299366900952671974763824040465167839410862684739061144563765171360567055_by_1","typeString":"int_const 6811...(68 digits omitted)...7055"},"value":"0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f"},"src":"1591:85:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1587:89:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56516,"nodeType":"ExpressionStatement","src":"1587:89:76"},{"assignments":[56518],"declarations":[{"constant":false,"id":56518,"mutability":"mutable","name":"h","nameLocation":"1725:1:76","nodeType":"VariableDeclaration","scope":56565,"src":"1717:9:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56517,"name":"uint256","nodeType":"ElementaryTypeName","src":"1717:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56525,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56519,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"1730:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307830383038303830383038303830383038303830383038303830383038303830383038303830383038303830383038303830383038303830383038303830383038","id":56520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1734:66:76","typeDescriptions":{"typeIdentifier":"t_rational_3632692995680508091719874039488248089514352460098527499277100674758058969096_by_1","typeString":"int_const 3632...(68 digits omitted)...9096"},"value":"0x0808080808080808080808080808080808080808080808080808080808080808"},"src":"1730:70:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":56522,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1729:72:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"38","id":56523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1804:1:76","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"1729:76:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1717:88:76"},{"assignments":[56527],"declarations":[{"constant":false,"id":56527,"mutability":"mutable","name":"i","nameLocation":"1827:1:76","nodeType":"VariableDeclaration","scope":56565,"src":"1819:9:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56526,"name":"uint256","nodeType":"ElementaryTypeName","src":"1819:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56534,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56528,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"1832:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307830343034303430343034303430343034303430343034303430343034303430343034303430343034303430343034303430343034303430343034303430343034","id":56529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1836:66:76","typeDescriptions":{"typeIdentifier":"t_rational_1816346497840254045859937019744124044757176230049263749638550337379029484548_by_1","typeString":"int_const 1816...(68 digits omitted)...4548"},"value":"0x0404040404040404040404040404040404040404040404040404040404040404"},"src":"1832:70:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":56531,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1831:72:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"34","id":56532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1906:1:76","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"1831:76:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1819:88:76"},{"assignments":[56536],"declarations":[{"constant":false,"id":56536,"mutability":"mutable","name":"j","nameLocation":"1929:1:76","nodeType":"VariableDeclaration","scope":56565,"src":"1921:9:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56535,"name":"uint256","nodeType":"ElementaryTypeName","src":"1921:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56543,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56537,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"1934:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307830323032303230323032303230323032303230323032303230323032303230323032303230323032303230323032303230323032303230323032303230323032","id":56538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1938:66:76","typeDescriptions":{"typeIdentifier":"t_rational_908173248920127022929968509872062022378588115024631874819275168689514742274_by_1","typeString":"int_const 9081...(67 digits omitted)...2274"},"value":"0x0202020202020202020202020202020202020202020202020202020202020202"},"src":"1934:70:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":56540,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1933:72:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":56541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2008:1:76","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"1933:76:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1921:88:76"},{"expression":{"id":56558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56544,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"2023:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56545,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"2027:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56546,"name":"h","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56518,"src":"2032:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56547,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56527,"src":"2037:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"id":56548,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56536,"src":"2041:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2037:5:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":56550,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2036:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2032:11:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":56552,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2031:13:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783237","id":56553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2047:4:76","typeDescriptions":{"typeIdentifier":"t_rational_39_by_1","typeString":"int_const 39"},"value":"0x27"},"src":"2031:20:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2027:24:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"307833303330333033303330333033303330333033303330333033303330333033303330333033303330333033303330333033303330333033303330333033303330","id":56556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2054:66:76","typeDescriptions":{"typeIdentifier":"t_rational_21796157974083048550319244236929488537086114760591164995662604048548353814576_by_1","typeString":"int_const 2179...(69 digits omitted)...4576"},"value":"0x3030303030303030303030303030303030303030303030303030303030303030"},"src":"2027:93:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2023:97:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56559,"nodeType":"ExpressionStatement","src":"2023:97:76"},{"expression":{"arguments":[{"id":56562,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"2184:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56561,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2176:7:76","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":56560,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2176:7:76","typeDescriptions":{}}},"id":56563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2176:10:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":56433,"id":56564,"nodeType":"Return","src":"2169:17:76"}]}]},"implemented":true,"kind":"function","modifiers":[],"name":"toUtf8Bytes32Bottom","nameLocation":"906:19:76","parameters":{"id":56430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56429,"mutability":"mutable","name":"bytesIn","nameLocation":"934:7:76","nodeType":"VariableDeclaration","scope":56567,"src":"926:15:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56428,"name":"bytes32","nodeType":"ElementaryTypeName","src":"926:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"925:17:76"},"returnParameters":{"id":56433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56432,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56567,"src":"965:7:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"965:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"964:9:76"},"scope":56832,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":56588,"nodeType":"FunctionDefinition","src":"2586:182:76","nodes":[],"body":{"id":56587,"nodeType":"Block","src":"2661:107:76","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":56580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56578,"name":"bytesIn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56570,"src":"2715:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":56579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2726:3:76","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"2715:14:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":56577,"name":"toUtf8Bytes32Bottom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56567,"src":"2695:19:76","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) pure returns (bytes32)"}},"id":56581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2695:35:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":56583,"name":"bytesIn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56570,"src":"2752:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":56582,"name":"toUtf8Bytes32Bottom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56567,"src":"2732:19:76","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) pure returns (bytes32)"}},"id":56584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2732:28:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":56575,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2678:3:76","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56576,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2682:12:76","memberName":"encodePacked","nodeType":"MemberAccess","src":"2678:16:76","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2678:83:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":56574,"id":56586,"nodeType":"Return","src":"2671:90:76"}]},"documentation":{"id":56568,"nodeType":"StructuredDocumentation","src":"2209:372:76","text":" @notice Returns utf8-encoded bytes32 string that can be read via web3.utils.hexToUtf8.\n @dev Will return bytes32 in all lower case hex characters and without the leading 0x.\n This has minor changes from the toUtf8BytesAddress to control for the size of the input.\n @param bytesIn bytes32 to encode.\n @return utf8 encoded bytes32."},"implemented":true,"kind":"function","modifiers":[],"name":"toUtf8Bytes","nameLocation":"2595:11:76","parameters":{"id":56571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56570,"mutability":"mutable","name":"bytesIn","nameLocation":"2615:7:76","nodeType":"VariableDeclaration","scope":56588,"src":"2607:15:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56569,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2607:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2606:17:76"},"returnParameters":{"id":56574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56573,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56588,"src":"2647:12:76","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56572,"name":"bytes","nodeType":"ElementaryTypeName","src":"2647:5:76","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2646:14:76"},"scope":56832,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56621,"nodeType":"FunctionDefinition","src":"3145:218:76","nodes":[],"body":{"id":56620,"nodeType":"Block","src":"3221:142:76","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":56607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":56603,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56591,"src":"3303:1:76","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":56602,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3295:7:76","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes20_$","typeString":"type(bytes20)"},"typeName":{"id":56601,"name":"bytes20","nodeType":"ElementaryTypeName","src":"3295:7:76","typeDescriptions":{}}},"id":56604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3295:10:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes20","typeString":"bytes20"}],"id":56600,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3287:7:76","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":56599,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3287:7:76","typeDescriptions":{}}},"id":56605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3287:19:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":56606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3310:3:76","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"3287:26:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":56598,"name":"toUtf8Bytes32Bottom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56567,"src":"3267:19:76","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) pure returns (bytes32)"}},"id":56608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3267:47:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"id":56614,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56591,"src":"3351:1:76","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":56613,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3343:7:76","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes20_$","typeString":"type(bytes20)"},"typeName":{"id":56612,"name":"bytes20","nodeType":"ElementaryTypeName","src":"3343:7:76","typeDescriptions":{}}},"id":56615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3343:10:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes20","typeString":"bytes20"}],"id":56611,"name":"toUtf8Bytes32Bottom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56567,"src":"3323:19:76","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) pure returns (bytes32)"}},"id":56616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3323:31:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":56610,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3316:6:76","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes8_$","typeString":"type(bytes8)"},"typeName":{"id":56609,"name":"bytes8","nodeType":"ElementaryTypeName","src":"3316:6:76","typeDescriptions":{}}},"id":56617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3316:39:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes8","typeString":"bytes8"}],"expression":{"id":56596,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3250:3:76","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56597,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3254:12:76","memberName":"encodePacked","nodeType":"MemberAccess","src":"3250:16:76","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3250:106:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":56595,"id":56619,"nodeType":"Return","src":"3231:125:76"}]},"documentation":{"id":56589,"nodeType":"StructuredDocumentation","src":"2774:366:76","text":" @notice Returns utf8-encoded address that can be read via web3.utils.hexToUtf8.\n Source: https://ethereum.stackexchange.com/questions/8346/convert-address-to-string/8447#8447\n @dev Will return address in all lower case characters and without the leading 0x.\n @param x address to encode.\n @return utf8 encoded address bytes."},"implemented":true,"kind":"function","modifiers":[],"name":"toUtf8BytesAddress","nameLocation":"3154:18:76","parameters":{"id":56592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56591,"mutability":"mutable","name":"x","nameLocation":"3181:1:76","nodeType":"VariableDeclaration","scope":56621,"src":"3173:9:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56590,"name":"address","nodeType":"ElementaryTypeName","src":"3173:7:76","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3172:11:76"},"returnParameters":{"id":56595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56594,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56621,"src":"3207:12:76","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56593,"name":"bytes","nodeType":"ElementaryTypeName","src":"3207:5:76","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3206:14:76"},"scope":56832,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56714,"nodeType":"FunctionDefinition","src":"3569:546:76","nodes":[],"body":{"id":56713,"nodeType":"Block","src":"3642:473:76","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56629,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56624,"src":"3656:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":56630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3661:1:76","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3656:6:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56635,"nodeType":"IfStatement","src":"3652:47:76","trueBody":{"id":56634,"nodeType":"Block","src":"3664:35:76","statements":[{"expression":{"hexValue":"30","id":56632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3685:3:76","typeDescriptions":{"typeIdentifier":"t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d","typeString":"literal_string \"0\""},"value":"0"},"functionReturnParameters":56628,"id":56633,"nodeType":"Return","src":"3678:10:76"}]}},{"assignments":[56637],"declarations":[{"constant":false,"id":56637,"mutability":"mutable","name":"j","nameLocation":"3716:1:76","nodeType":"VariableDeclaration","scope":56713,"src":"3708:9:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56636,"name":"uint256","nodeType":"ElementaryTypeName","src":"3708:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56639,"initialValue":{"id":56638,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56624,"src":"3720:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3708:13:76"},{"assignments":[56641],"declarations":[{"constant":false,"id":56641,"mutability":"mutable","name":"len","nameLocation":"3739:3:76","nodeType":"VariableDeclaration","scope":56713,"src":"3731:11:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56640,"name":"uint256","nodeType":"ElementaryTypeName","src":"3731:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56642,"nodeType":"VariableDeclarationStatement","src":"3731:11:76"},{"body":{"id":56653,"nodeType":"Block","src":"3767:51:76","statements":[{"expression":{"id":56647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3781:5:76","subExpression":{"id":56646,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56641,"src":"3781:3:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56648,"nodeType":"ExpressionStatement","src":"3781:5:76"},{"expression":{"id":56651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56649,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56637,"src":"3800:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"hexValue":"3130","id":56650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3805:2:76","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"3800:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56652,"nodeType":"ExpressionStatement","src":"3800:7:76"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56643,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56637,"src":"3759:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":56644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3764:1:76","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3759:6:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56654,"nodeType":"WhileStatement","src":"3752:66:76"},{"assignments":[56656],"declarations":[{"constant":false,"id":56656,"mutability":"mutable","name":"bstr","nameLocation":"3840:4:76","nodeType":"VariableDeclaration","scope":56713,"src":"3827:17:76","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56655,"name":"bytes","nodeType":"ElementaryTypeName","src":"3827:5:76","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":56661,"initialValue":{"arguments":[{"id":56659,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56641,"src":"3857:3:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56658,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3847:9:76","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":56657,"name":"bytes","nodeType":"ElementaryTypeName","src":"3851:5:76","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":56660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3847:14:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3827:34:76"},{"assignments":[56663],"declarations":[{"constant":false,"id":56663,"mutability":"mutable","name":"k","nameLocation":"3879:1:76","nodeType":"VariableDeclaration","scope":56713,"src":"3871:9:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56662,"name":"uint256","nodeType":"ElementaryTypeName","src":"3871:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56665,"initialValue":{"id":56664,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56641,"src":"3883:3:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3871:15:76"},{"body":{"id":56709,"nodeType":"Block","src":"3911:177:76","statements":[{"expression":{"id":56673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56669,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56663,"src":"3925:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56670,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56663,"src":"3929:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":56671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3933:1:76","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3929:5:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3925:9:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56674,"nodeType":"ExpressionStatement","src":"3925:9:76"},{"assignments":[56676],"declarations":[{"constant":false,"id":56676,"mutability":"mutable","name":"temp","nameLocation":"3954:4:76","nodeType":"VariableDeclaration","scope":56709,"src":"3948:10:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56675,"name":"uint8","nodeType":"ElementaryTypeName","src":"3948:5:76","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":56691,"initialValue":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":56689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3438","id":56677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3962:2:76","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56680,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56624,"src":"3973:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56681,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56624,"src":"3978:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"3130","id":56682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3982:2:76","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"3978:6:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":56684,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3977:8:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3130","id":56685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3988:2:76","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"3977:13:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3973:17:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3967:5:76","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":56678,"name":"uint8","nodeType":"ElementaryTypeName","src":"3967:5:76","typeDescriptions":{}}},"id":56688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3967:24:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"3962:29:76","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":56690,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3961:31:76","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"3948:44:76"},{"assignments":[56693],"declarations":[{"constant":false,"id":56693,"mutability":"mutable","name":"b1","nameLocation":"4013:2:76","nodeType":"VariableDeclaration","scope":56709,"src":"4006:9:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":56692,"name":"bytes1","nodeType":"ElementaryTypeName","src":"4006:6:76","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"id":56698,"initialValue":{"arguments":[{"id":56696,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56676,"src":"4025:4:76","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":56695,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4018:6:76","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":56694,"name":"bytes1","nodeType":"ElementaryTypeName","src":"4018:6:76","typeDescriptions":{}}},"id":56697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4018:12:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"VariableDeclarationStatement","src":"4006:24:76"},{"expression":{"id":56703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56699,"name":"bstr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56656,"src":"4044:4:76","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":56701,"indexExpression":{"id":56700,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56663,"src":"4049:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4044:7:76","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56702,"name":"b1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56693,"src":"4054:2:76","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"4044:12:76","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":56704,"nodeType":"ExpressionStatement","src":"4044:12:76"},{"expression":{"id":56707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56705,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56624,"src":"4070:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"hexValue":"3130","id":56706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4075:2:76","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"4070:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56708,"nodeType":"ExpressionStatement","src":"4070:7:76"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56666,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56624,"src":"3903:1:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":56667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3908:1:76","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3903:6:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56710,"nodeType":"WhileStatement","src":"3896:192:76"},{"expression":{"id":56711,"name":"bstr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56656,"src":"4104:4:76","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":56628,"id":56712,"nodeType":"Return","src":"4097:11:76"}]},"documentation":{"id":56622,"nodeType":"StructuredDocumentation","src":"3369:195:76","text":" @notice Converts a uint into a base-10, UTF-8 representation stored in a `string` type.\n @dev This method is based off of this code: https://stackoverflow.com/a/65707309."},"implemented":true,"kind":"function","modifiers":[],"name":"toUtf8BytesUint","nameLocation":"3578:15:76","parameters":{"id":56625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56624,"mutability":"mutable","name":"x","nameLocation":"3602:1:76","nodeType":"VariableDeclaration","scope":56714,"src":"3594:9:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56623,"name":"uint256","nodeType":"ElementaryTypeName","src":"3594:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3593:11:76"},"returnParameters":{"id":56628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56627,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56714,"src":"3628:12:76","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56626,"name":"bytes","nodeType":"ElementaryTypeName","src":"3628:5:76","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3627:14:76"},"scope":56832,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56742,"nodeType":"FunctionDefinition","src":"4121:330:76","nodes":[],"body":{"id":56741,"nodeType":"Block","src":"4287:164:76","nodes":[],"statements":[{"assignments":[56726],"declarations":[{"constant":false,"id":56726,"mutability":"mutable","name":"prefix","nameLocation":"4310:6:76","nodeType":"VariableDeclaration","scope":56741,"src":"4297:19:76","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56725,"name":"bytes","nodeType":"ElementaryTypeName","src":"4297:5:76","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":56731,"initialValue":{"arguments":[{"id":56728,"name":"currentAncillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56716,"src":"4335:20:76","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":56729,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56718,"src":"4357:3:76","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56727,"name":"constructPrefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56831,"src":"4319:15:76","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory,bytes memory) pure returns (bytes memory)"}},"id":56730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4319:42:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4297:64:76"},{"expression":{"arguments":[{"id":56734,"name":"currentAncillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56716,"src":"4395:20:76","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":56735,"name":"prefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56726,"src":"4417:6:76","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":56737,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56720,"src":"4437:5:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":56736,"name":"toUtf8Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56588,"src":"4425:11:76","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32) pure returns (bytes memory)"}},"id":56738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4425:18:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":56732,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4378:3:76","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56733,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4382:12:76","memberName":"encodePacked","nodeType":"MemberAccess","src":"4378:16:76","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4378:66:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":56724,"id":56740,"nodeType":"Return","src":"4371:73:76"}]},"implemented":true,"kind":"function","modifiers":[],"name":"appendKeyValueBytes32","nameLocation":"4130:21:76","parameters":{"id":56721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56716,"mutability":"mutable","name":"currentAncillaryData","nameLocation":"4174:20:76","nodeType":"VariableDeclaration","scope":56742,"src":"4161:33:76","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56715,"name":"bytes","nodeType":"ElementaryTypeName","src":"4161:5:76","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":56718,"mutability":"mutable","name":"key","nameLocation":"4217:3:76","nodeType":"VariableDeclaration","scope":56742,"src":"4204:16:76","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56717,"name":"bytes","nodeType":"ElementaryTypeName","src":"4204:5:76","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":56720,"mutability":"mutable","name":"value","nameLocation":"4238:5:76","nodeType":"VariableDeclaration","scope":56742,"src":"4230:13:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56719,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4230:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4151:98:76"},"returnParameters":{"id":56724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56723,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56742,"src":"4273:12:76","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56722,"name":"bytes","nodeType":"ElementaryTypeName","src":"4273:5:76","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4272:14:76"},"scope":56832,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56771,"nodeType":"FunctionDefinition","src":"5184:337:76","nodes":[],"body":{"id":56770,"nodeType":"Block","src":"5350:171:76","nodes":[],"statements":[{"assignments":[56755],"declarations":[{"constant":false,"id":56755,"mutability":"mutable","name":"prefix","nameLocation":"5373:6:76","nodeType":"VariableDeclaration","scope":56770,"src":"5360:19:76","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56754,"name":"bytes","nodeType":"ElementaryTypeName","src":"5360:5:76","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":56760,"initialValue":{"arguments":[{"id":56757,"name":"currentAncillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56745,"src":"5398:20:76","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":56758,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56747,"src":"5420:3:76","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56756,"name":"constructPrefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56831,"src":"5382:15:76","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory,bytes memory) pure returns (bytes memory)"}},"id":56759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5382:42:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5360:64:76"},{"expression":{"arguments":[{"id":56763,"name":"currentAncillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56745,"src":"5458:20:76","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":56764,"name":"prefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56755,"src":"5480:6:76","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":56766,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56749,"src":"5507:5:76","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":56765,"name":"toUtf8BytesAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56621,"src":"5488:18:76","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$_t_bytes_memory_ptr_$","typeString":"function (address) pure returns (bytes memory)"}},"id":56767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5488:25:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":56761,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5441:3:76","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56762,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5445:12:76","memberName":"encodePacked","nodeType":"MemberAccess","src":"5441:16:76","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5441:73:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":56753,"id":56769,"nodeType":"Return","src":"5434:80:76"}]},"documentation":{"id":56743,"nodeType":"StructuredDocumentation","src":"4457:722:76","text":" @notice Adds \"key:value\" to `currentAncillaryData` where `value` is an address that first needs to be converted\n to utf8 bytes. For example, if `utf8(currentAncillaryData)=\"k1:v1\"`, then this function will return\n `utf8(k1:v1,key:value)`, and if `currentAncillaryData` is blank, then this will return `utf8(key:value)`.\n @param currentAncillaryData This bytes data should ideally be able to be utf8-decoded, but its OK if not.\n @param key Again, this bytes data should ideally be able to be utf8-decoded, but its OK if not.\n @param value An address to set as the value in the key:value pair to append to `currentAncillaryData`.\n @return Newly appended ancillary data."},"implemented":true,"kind":"function","modifiers":[],"name":"appendKeyValueAddress","nameLocation":"5193:21:76","parameters":{"id":56750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56745,"mutability":"mutable","name":"currentAncillaryData","nameLocation":"5237:20:76","nodeType":"VariableDeclaration","scope":56771,"src":"5224:33:76","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56744,"name":"bytes","nodeType":"ElementaryTypeName","src":"5224:5:76","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":56747,"mutability":"mutable","name":"key","nameLocation":"5280:3:76","nodeType":"VariableDeclaration","scope":56771,"src":"5267:16:76","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56746,"name":"bytes","nodeType":"ElementaryTypeName","src":"5267:5:76","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":56749,"mutability":"mutable","name":"value","nameLocation":"5301:5:76","nodeType":"VariableDeclaration","scope":56771,"src":"5293:13:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56748,"name":"address","nodeType":"ElementaryTypeName","src":"5293:7:76","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5214:98:76"},"returnParameters":{"id":56753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56752,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56771,"src":"5336:12:76","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56751,"name":"bytes","nodeType":"ElementaryTypeName","src":"5336:5:76","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5335:14:76"},"scope":56832,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56800,"nodeType":"FunctionDefinition","src":"6246:331:76","nodes":[],"body":{"id":56799,"nodeType":"Block","src":"6409:168:76","nodes":[],"statements":[{"assignments":[56784],"declarations":[{"constant":false,"id":56784,"mutability":"mutable","name":"prefix","nameLocation":"6432:6:76","nodeType":"VariableDeclaration","scope":56799,"src":"6419:19:76","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56783,"name":"bytes","nodeType":"ElementaryTypeName","src":"6419:5:76","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":56789,"initialValue":{"arguments":[{"id":56786,"name":"currentAncillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56774,"src":"6457:20:76","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":56787,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56776,"src":"6479:3:76","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56785,"name":"constructPrefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56831,"src":"6441:15:76","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory,bytes memory) pure returns (bytes memory)"}},"id":56788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6441:42:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6419:64:76"},{"expression":{"arguments":[{"id":56792,"name":"currentAncillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56774,"src":"6517:20:76","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":56793,"name":"prefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56784,"src":"6539:6:76","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":56795,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56778,"src":"6563:5:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56794,"name":"toUtf8BytesUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56714,"src":"6547:15:76","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"}},"id":56796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6547:22:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":56790,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6500:3:76","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56791,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6504:12:76","memberName":"encodePacked","nodeType":"MemberAccess","src":"6500:16:76","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6500:70:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":56782,"id":56798,"nodeType":"Return","src":"6493:77:76"}]},"documentation":{"id":56772,"nodeType":"StructuredDocumentation","src":"5527:714:76","text":" @notice Adds \"key:value\" to `currentAncillaryData` where `value` is a uint that first needs to be converted\n to utf8 bytes. For example, if `utf8(currentAncillaryData)=\"k1:v1\"`, then this function will return\n `utf8(k1:v1,key:value)`, and if `currentAncillaryData` is blank, then this will return `utf8(key:value)`.\n @param currentAncillaryData This bytes data should ideally be able to be utf8-decoded, but its OK if not.\n @param key Again, this bytes data should ideally be able to be utf8-decoded, but its OK if not.\n @param value A uint to set as the value in the key:value pair to append to `currentAncillaryData`.\n @return Newly appended ancillary data."},"implemented":true,"kind":"function","modifiers":[],"name":"appendKeyValueUint","nameLocation":"6255:18:76","parameters":{"id":56779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56774,"mutability":"mutable","name":"currentAncillaryData","nameLocation":"6296:20:76","nodeType":"VariableDeclaration","scope":56800,"src":"6283:33:76","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56773,"name":"bytes","nodeType":"ElementaryTypeName","src":"6283:5:76","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":56776,"mutability":"mutable","name":"key","nameLocation":"6339:3:76","nodeType":"VariableDeclaration","scope":56800,"src":"6326:16:76","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56775,"name":"bytes","nodeType":"ElementaryTypeName","src":"6326:5:76","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":56778,"mutability":"mutable","name":"value","nameLocation":"6360:5:76","nodeType":"VariableDeclaration","scope":56800,"src":"6352:13:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56777,"name":"uint256","nodeType":"ElementaryTypeName","src":"6352:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6273:98:76"},"returnParameters":{"id":56782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56781,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56800,"src":"6395:12:76","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56780,"name":"bytes","nodeType":"ElementaryTypeName","src":"6395:5:76","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6394:14:76"},"scope":56832,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56831,"nodeType":"FunctionDefinition","src":"6928:295:76","nodes":[],"body":{"id":56830,"nodeType":"Block","src":"7043:180:76","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":56810,"name":"currentAncillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56803,"src":"7057:20:76","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":56811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7078:6:76","memberName":"length","nodeType":"MemberAccess","src":"7057:27:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":56812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7087:1:76","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7057:31:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":56828,"nodeType":"Block","src":"7159:58:76","statements":[{"expression":{"arguments":[{"id":56824,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56805,"src":"7197:3:76","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"3a","id":56825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7202:3:76","typeDescriptions":{"typeIdentifier":"t_stringliteral_96d280011b274d9410ea6c6fc28e2bb076b01d2fac329c49c4b29a719ec4650c","typeString":"literal_string \":\""},"value":":"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_96d280011b274d9410ea6c6fc28e2bb076b01d2fac329c49c4b29a719ec4650c","typeString":"literal_string \":\""}],"expression":{"id":56822,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7180:3:76","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56823,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7184:12:76","memberName":"encodePacked","nodeType":"MemberAccess","src":"7180:16:76","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7180:26:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":56809,"id":56827,"nodeType":"Return","src":"7173:33:76"}]},"id":56829,"nodeType":"IfStatement","src":"7053:164:76","trueBody":{"id":56821,"nodeType":"Block","src":"7090:63:76","statements":[{"expression":{"arguments":[{"hexValue":"2c","id":56816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7128:3:76","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e7a35b97029f9e0cf6effd71c1a7958822e9a217d3a3aec886668a7dd8231cb","typeString":"literal_string \",\""},"value":","},{"id":56817,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56805,"src":"7133:3:76","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"3a","id":56818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7138:3:76","typeDescriptions":{"typeIdentifier":"t_stringliteral_96d280011b274d9410ea6c6fc28e2bb076b01d2fac329c49c4b29a719ec4650c","typeString":"literal_string \":\""},"value":":"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3e7a35b97029f9e0cf6effd71c1a7958822e9a217d3a3aec886668a7dd8231cb","typeString":"literal_string \",\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_96d280011b274d9410ea6c6fc28e2bb076b01d2fac329c49c4b29a719ec4650c","typeString":"literal_string \":\""}],"expression":{"id":56814,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7111:3:76","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56815,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7115:12:76","memberName":"encodePacked","nodeType":"MemberAccess","src":"7111:16:76","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":56819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7111:31:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":56809,"id":56820,"nodeType":"Return","src":"7104:38:76"}]}}]},"documentation":{"id":56801,"nodeType":"StructuredDocumentation","src":"6583:340:76","text":" @notice Helper method that returns the left hand side of a \"key:value\" pair plus the colon \":\" and a leading\n comma \",\" if the `currentAncillaryData` is not empty. The return value is intended to be prepended as a prefix to\n some utf8 value that is ultimately added to a comma-delimited, key-value dictionary."},"implemented":true,"kind":"function","modifiers":[],"name":"constructPrefix","nameLocation":"6937:15:76","parameters":{"id":56806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56803,"mutability":"mutable","name":"currentAncillaryData","nameLocation":"6966:20:76","nodeType":"VariableDeclaration","scope":56831,"src":"6953:33:76","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56802,"name":"bytes","nodeType":"ElementaryTypeName","src":"6953:5:76","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":56805,"mutability":"mutable","name":"key","nameLocation":"7001:3:76","nodeType":"VariableDeclaration","scope":56831,"src":"6988:16:76","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56804,"name":"bytes","nodeType":"ElementaryTypeName","src":"6988:5:76","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6952:53:76"},"returnParameters":{"id":56809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56808,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56831,"src":"7029:12:76","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":56807,"name":"bytes","nodeType":"ElementaryTypeName","src":"7029:5:76","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7028:14:76"},"scope":56832,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"AncillaryData","contractDependencies":[],"contractKind":"library","documentation":{"id":56427,"nodeType":"StructuredDocumentation","src":"67:595:76","text":" @title Library for encoding and decoding ancillary data for DVM price requests.\n @notice We assume that on-chain ancillary data can be formatted directly from bytes to utf8 encoding via\n web3.utils.hexToUtf8, and that clients will parse the utf8-encoded ancillary data as a comma-delimitted key-value\n dictionary. Therefore, this library provides internal methods that aid appending to ancillary data from Solidity\n smart contracts. More details on UMA's ancillary data guidelines below:\n https://docs.google.com/document/d/1zhKKjgY1BupBGPPrY_WOJvui0B6DMcd-xDR8-9-SPDw/edit"},"fullyImplemented":true,"linearizedBaseContracts":[56832],"name":"AncillaryData","nameLocation":"671:13:76","scope":56833,"usedErrors":[],"usedEvents":[]}],"license":"AGPL-3.0-only"}},"lib/protocol/packages/core/contracts/common/implementation/Lockable.sol":{"id":77,"ast":{"absolutePath":"lib/protocol/packages/core/contracts/common/implementation/Lockable.sol","id":56910,"exportedSymbols":{"Lockable":[56909]},"nodeType":"SourceUnit","src":"42:3216:77","nodes":[{"id":56834,"nodeType":"PragmaDirective","src":"42:23:77","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56909,"nodeType":"ContractDefinition","src":"405:2852:77","nodes":[{"id":56837,"nodeType":"VariableDeclaration","src":"429:24:77","nodes":[],"constant":false,"mutability":"mutable","name":"_notEntered","nameLocation":"442:11:77","scope":56909,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56836,"name":"bool","nodeType":"ElementaryTypeName","src":"429:4:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":56845,"nodeType":"FunctionDefinition","src":"460:439:77","nodes":[],"body":{"id":56844,"nodeType":"Block","src":"474:425:77","nodes":[],"statements":[{"expression":{"id":56842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56840,"name":"_notEntered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56837,"src":"874:11:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":56841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"888:4:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"874:18:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56843,"nodeType":"ExpressionStatement","src":"874:18:77"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":56838,"nodeType":"ParameterList","parameters":[],"src":"471:2:77"},"returnParameters":{"id":56839,"nodeType":"ParameterList","parameters":[],"src":"474:0:77"},"scope":56909,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":56859,"nodeType":"ModifierDefinition","src":"1283:128:77","nodes":[],"body":{"id":56858,"nodeType":"Block","src":"1307:104:77","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":56848,"name":"_preEntranceCheck","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56876,"src":"1317:17:77","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":56849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1317:19:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56850,"nodeType":"ExpressionStatement","src":"1317:19:77"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":56851,"name":"_preEntranceSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56884,"src":"1346:15:77","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":56852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1346:17:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56853,"nodeType":"ExpressionStatement","src":"1346:17:77"},{"id":56854,"nodeType":"PlaceholderStatement","src":"1373:1:77"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":56855,"name":"_postEntranceReset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56892,"src":"1384:18:77","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":56856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1384:20:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56857,"nodeType":"ExpressionStatement","src":"1384:20:77"}]},"documentation":{"id":56846,"nodeType":"StructuredDocumentation","src":"905:373:77","text":" @dev Prevents a contract from calling itself, directly or indirectly.\n Calling a `nonReentrant` function from another `nonReentrant` function is not supported. It is possible to\n prevent this from happening by making the `nonReentrant` function external, and making it call a `private`\n function that does the actual state modification."},"name":"nonReentrant","nameLocation":"1292:12:77","parameters":{"id":56847,"nodeType":"ParameterList","parameters":[],"src":"1304:2:77"},"virtual":false,"visibility":"internal"},{"id":56867,"nodeType":"ModifierDefinition","src":"1565:75:77","nodes":[],"body":{"id":56866,"nodeType":"Block","src":"1593:47:77","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":56862,"name":"_preEntranceCheck","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56876,"src":"1603:17:77","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":56863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1603:19:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56864,"nodeType":"ExpressionStatement","src":"1603:19:77"},{"id":56865,"nodeType":"PlaceholderStatement","src":"1632:1:77"}]},"documentation":{"id":56860,"nodeType":"StructuredDocumentation","src":"1417:143:77","text":" @dev Designed to prevent a view-only method from being re-entered during a call to a `nonReentrant()` state-changing method."},"name":"nonReentrantView","nameLocation":"1574:16:77","parameters":{"id":56861,"nodeType":"ParameterList","parameters":[],"src":"1590:2:77"},"virtual":false,"visibility":"internal"},{"id":56876,"nodeType":"FunctionDefinition","src":"2143:186:77","nodes":[],"body":{"id":56875,"nodeType":"Block","src":"2186:143:77","nodes":[],"statements":[{"expression":{"arguments":[{"id":56871,"name":"_notEntered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56837,"src":"2275:11:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5265656e7472616e637947756172643a207265656e7472616e742063616c6c","id":56872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2288:33:77","typeDescriptions":{"typeIdentifier":"t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619","typeString":"literal_string \"ReentrancyGuard: reentrant call\""},"value":"ReentrancyGuard: reentrant call"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619","typeString":"literal_string \"ReentrancyGuard: reentrant call\""}],"id":56870,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"2267:7:77","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2267:55:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56874,"nodeType":"ExpressionStatement","src":"2267:55:77"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_preEntranceCheck","nameLocation":"2152:17:77","parameters":{"id":56868,"nodeType":"ParameterList","parameters":[],"src":"2169:2:77"},"returnParameters":{"id":56869,"nodeType":"ParameterList","parameters":[],"src":"2186:0:77"},"scope":56909,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":56884,"nodeType":"FunctionDefinition","src":"2335:136:77","nodes":[],"body":{"id":56883,"nodeType":"Block","src":"2371:100:77","nodes":[],"statements":[{"expression":{"id":56881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56879,"name":"_notEntered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56837,"src":"2445:11:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":56880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2459:5:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"2445:19:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56882,"nodeType":"ExpressionStatement","src":"2445:19:77"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_preEntranceSet","nameLocation":"2344:15:77","parameters":{"id":56877,"nodeType":"ParameterList","parameters":[],"src":"2359:2:77"},"returnParameters":{"id":56878,"nodeType":"ParameterList","parameters":[],"src":"2371:0:77"},"scope":56909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56892,"nodeType":"FunctionDefinition","src":"2477:206:77","nodes":[],"body":{"id":56891,"nodeType":"Block","src":"2516:167:77","nodes":[],"statements":[{"expression":{"id":56889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56887,"name":"_notEntered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56837,"src":"2658:11:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":56888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2672:4:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2658:18:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56890,"nodeType":"ExpressionStatement","src":"2658:18:77"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_postEntranceReset","nameLocation":"2486:18:77","parameters":{"id":56885,"nodeType":"ParameterList","parameters":[],"src":"2504:2:77"},"returnParameters":{"id":56886,"nodeType":"ParameterList","parameters":[],"src":"2516:0:77"},"scope":56909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56900,"nodeType":"FunctionDefinition","src":"3082:84:77","nodes":[],"body":{"id":56899,"nodeType":"Block","src":"3131:35:77","nodes":[],"statements":[{"expression":{"id":56897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56895,"name":"_notEntered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56837,"src":"3141:11:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":56896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3155:4:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3141:18:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56898,"nodeType":"ExpressionStatement","src":"3141:18:77"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_startReentrantGuardDisabled","nameLocation":"3091:28:77","parameters":{"id":56893,"nodeType":"ParameterList","parameters":[],"src":"3119:2:77"},"returnParameters":{"id":56894,"nodeType":"ParameterList","parameters":[],"src":"3131:0:77"},"scope":56909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":56908,"nodeType":"FunctionDefinition","src":"3172:83:77","nodes":[],"body":{"id":56907,"nodeType":"Block","src":"3219:36:77","nodes":[],"statements":[{"expression":{"id":56905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56903,"name":"_notEntered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56837,"src":"3229:11:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":56904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3243:5:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"3229:19:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56906,"nodeType":"ExpressionStatement","src":"3229:19:77"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_endReentrantGuardDisabled","nameLocation":"3181:26:77","parameters":{"id":56901,"nodeType":"ParameterList","parameters":[],"src":"3207:2:77"},"returnParameters":{"id":56902,"nodeType":"ParameterList","parameters":[],"src":"3219:0:77"},"scope":56909,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"Lockable","contractDependencies":[],"contractKind":"contract","documentation":{"id":56835,"nodeType":"StructuredDocumentation","src":"67:337:77","text":" @title A contract that provides modifiers to prevent reentrancy to state-changing and view-only methods. This contract\n is inspired by https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/ReentrancyGuard.sol\n and https://github.com/balancer-labs/balancer-core/blob/master/contracts/BPool.sol."},"fullyImplemented":true,"linearizedBaseContracts":[56909],"name":"Lockable","nameLocation":"414:8:77","scope":56910,"usedErrors":[],"usedEvents":[]}],"license":"AGPL-3.0-only"}},"lib/protocol/packages/core/contracts/data-verification-mechanism/implementation/Constants.sol":{"id":78,"ast":{"absolutePath":"lib/protocol/packages/core/contracts/data-verification-mechanism/implementation/Constants.sol","id":56964,"exportedSymbols":{"OptimisticOracleConstraints":[56963],"OracleInterfaces":[56958]},"nodeType":"SourceUnit","src":"42:1725:78","nodes":[{"id":56911,"nodeType":"PragmaDirective","src":"42:23:78","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56958,"nodeType":"ContractDefinition","src":"170:969:78","nodes":[{"id":56915,"nodeType":"VariableDeclaration","src":"201:41:78","nodes":[],"constant":true,"functionSelector":"f24a534e","mutability":"constant","name":"Oracle","nameLocation":"225:6:78","scope":56958,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56913,"name":"bytes32","nodeType":"ElementaryTypeName","src":"201:7:78","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"4f7261636c65","id":56914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"234:8:78","typeDescriptions":{"typeIdentifier":"t_stringliteral_1a4461ab9f0dcef4a35a8660e8bbb361ae4c140fabb5b8c363bd6282ded34a90","typeString":"literal_string \"Oracle\""},"value":"Oracle"},"visibility":"public"},{"id":56918,"nodeType":"VariableDeclaration","src":"248:67:78","nodes":[],"constant":true,"functionSelector":"4f4a180b","mutability":"constant","name":"IdentifierWhitelist","nameLocation":"272:19:78","scope":56958,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56916,"name":"bytes32","nodeType":"ElementaryTypeName","src":"248:7:78","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"4964656e74696669657257686974656c697374","id":56917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"294:21:78","typeDescriptions":{"typeIdentifier":"t_stringliteral_00d9d04470dd3fd336d150abd987b1b33f1c6b92e935259bb901f4c9ca28ddf4","typeString":"literal_string \"IdentifierWhitelist\""},"value":"IdentifierWhitelist"},"visibility":"public"},{"id":56921,"nodeType":"VariableDeclaration","src":"321:39:78","nodes":[],"constant":true,"functionSelector":"42e90c33","mutability":"constant","name":"Store","nameLocation":"345:5:78","scope":56958,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56919,"name":"bytes32","nodeType":"ElementaryTypeName","src":"321:7:78","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"53746f7265","id":56920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"353:7:78","typeDescriptions":{"typeIdentifier":"t_stringliteral_f9742a6ab27efbeed38a3a36aac403fe0810a4cdb9e8328d15bdcd1c87e76672","typeString":"literal_string \"Store\""},"value":"Store"},"visibility":"public"},{"id":56924,"nodeType":"VariableDeclaration","src":"366:75:78","nodes":[],"constant":true,"functionSelector":"2a71e5b3","mutability":"constant","name":"FinancialContractsAdmin","nameLocation":"390:23:78","scope":56958,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56922,"name":"bytes32","nodeType":"ElementaryTypeName","src":"366:7:78","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"46696e616e6369616c436f6e74726163747341646d696e","id":56923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"416:25:78","typeDescriptions":{"typeIdentifier":"t_stringliteral_bdecf6c7158bdf4679c9cd47427254674db861278f5aafe09a81927b0ddf85aa","typeString":"literal_string \"FinancialContractsAdmin\""},"value":"FinancialContractsAdmin"},"visibility":"public"},{"id":56927,"nodeType":"VariableDeclaration","src":"447:45:78","nodes":[],"constant":true,"functionSelector":"7db9743b","mutability":"constant","name":"Registry","nameLocation":"471:8:78","scope":56958,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56925,"name":"bytes32","nodeType":"ElementaryTypeName","src":"447:7:78","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"5265676973747279","id":56926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"482:10:78","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c53ae70b0aa86068023c633abcdda89c433a8a76949ea111f756c171fa23663","typeString":"literal_string \"Registry\""},"value":"Registry"},"visibility":"public"},{"id":56930,"nodeType":"VariableDeclaration","src":"498:67:78","nodes":[],"constant":true,"functionSelector":"598dd097","mutability":"constant","name":"CollateralWhitelist","nameLocation":"522:19:78","scope":56958,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56928,"name":"bytes32","nodeType":"ElementaryTypeName","src":"498:7:78","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"436f6c6c61746572616c57686974656c697374","id":56929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"544:21:78","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9a52feae6648b39bfdb0a8523b0b3da0307731129fd6f0d46a73b43c2989f8f","typeString":"literal_string \"CollateralWhitelist\""},"value":"CollateralWhitelist"},"visibility":"public"},{"id":56933,"nodeType":"VariableDeclaration","src":"571:61:78","nodes":[],"constant":true,"functionSelector":"1a4dbd1c","mutability":"constant","name":"OptimisticOracle","nameLocation":"595:16:78","scope":56958,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56931,"name":"bytes32","nodeType":"ElementaryTypeName","src":"571:7:78","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"4f7074696d69737469634f7261636c65","id":56932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"614:18:78","typeDescriptions":{"typeIdentifier":"t_stringliteral_1b7f4a3af71357fd741bc7828f83ec6c49403c71c1a6875664530cb681f8b070","typeString":"literal_string \"OptimisticOracle\""},"value":"OptimisticOracle"},"visibility":"public"},{"id":56936,"nodeType":"VariableDeclaration","src":"638:65:78","nodes":[],"constant":true,"functionSelector":"473e7ccd","mutability":"constant","name":"OptimisticOracleV2","nameLocation":"662:18:78","scope":56958,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56934,"name":"bytes32","nodeType":"ElementaryTypeName","src":"638:7:78","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"4f7074696d69737469634f7261636c655632","id":56935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"683:20:78","typeDescriptions":{"typeIdentifier":"t_stringliteral_616fa5636fbd5fcd7247bf502d2e39a0e864454c814e1628b3406d6d76dcc2d8","typeString":"literal_string \"OptimisticOracleV2\""},"value":"OptimisticOracleV2"},"visibility":"public"},{"id":56939,"nodeType":"VariableDeclaration","src":"709:65:78","nodes":[],"constant":true,"functionSelector":"f02f8e83","mutability":"constant","name":"OptimisticOracleV3","nameLocation":"733:18:78","scope":56958,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56937,"name":"bytes32","nodeType":"ElementaryTypeName","src":"709:7:78","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"4f7074696d69737469634f7261636c655633","id":56938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"754:20:78","typeDescriptions":{"typeIdentifier":"t_stringliteral_97036b2b113c0bfaf3bfccc255bef8592a4b28b32635d93a9bec71299cd1e2c1","typeString":"literal_string \"OptimisticOracleV3\""},"value":"OptimisticOracleV3"},"visibility":"public"},{"id":56942,"nodeType":"VariableDeclaration","src":"780:41:78","nodes":[],"constant":true,"functionSelector":"5fa2ef10","mutability":"constant","name":"Bridge","nameLocation":"804:6:78","scope":56958,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56940,"name":"bytes32","nodeType":"ElementaryTypeName","src":"780:7:78","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"427269646765","id":56941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"813:8:78","typeDescriptions":{"typeIdentifier":"t_stringliteral_7aa5ae620294318af92bf4e2b2a729646c932a80312a5fa630da993a2ef5cc10","typeString":"literal_string \"Bridge\""},"value":"Bridge"},"visibility":"public"},{"id":56945,"nodeType":"VariableDeclaration","src":"827:57:78","nodes":[],"constant":true,"functionSelector":"079b6c63","mutability":"constant","name":"GenericHandler","nameLocation":"851:14:78","scope":56958,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56943,"name":"bytes32","nodeType":"ElementaryTypeName","src":"827:7:78","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"47656e6572696348616e646c6572","id":56944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"868:16:78","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c852b6e1eb3d094b8b7ec20be5fb44aea5686ca74f54e2589153de1c87b6302","typeString":"literal_string \"GenericHandler\""},"value":"GenericHandler"},"visibility":"public"},{"id":56948,"nodeType":"VariableDeclaration","src":"890:73:78","nodes":[],"constant":true,"functionSelector":"4596ac9b","mutability":"constant","name":"SkinnyOptimisticOracle","nameLocation":"914:22:78","scope":56958,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56946,"name":"bytes32","nodeType":"ElementaryTypeName","src":"890:7:78","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"536b696e6e794f7074696d69737469634f7261636c65","id":56947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"939:24:78","typeDescriptions":{"typeIdentifier":"t_stringliteral_5783227a49dac1b3d7d5d8e80d9d37463f506ddc1045b867688aa7568f7d856b","typeString":"literal_string \"SkinnyOptimisticOracle\""},"value":"SkinnyOptimisticOracle"},"visibility":"public"},{"id":56951,"nodeType":"VariableDeclaration","src":"969:57:78","nodes":[],"constant":true,"functionSelector":"1a0fbfb3","mutability":"constant","name":"ChildMessenger","nameLocation":"993:14:78","scope":56958,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56949,"name":"bytes32","nodeType":"ElementaryTypeName","src":"969:7:78","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"4368696c644d657373656e676572","id":56950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1010:16:78","typeDescriptions":{"typeIdentifier":"t_stringliteral_6677d1b6637fcf983cd26dcc1dc81de432550efa8c3484b1099189803b59f9e9","typeString":"literal_string \"ChildMessenger\""},"value":"ChildMessenger"},"visibility":"public"},{"id":56954,"nodeType":"VariableDeclaration","src":"1032:47:78","nodes":[],"constant":true,"functionSelector":"7608ea2f","mutability":"constant","name":"OracleHub","nameLocation":"1056:9:78","scope":56958,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56952,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1032:7:78","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"4f7261636c65487562","id":56953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1068:11:78","typeDescriptions":{"typeIdentifier":"t_stringliteral_8ae3a082c61a7379e2280f3356a5131507d9829d222d853bfa7c9fe1200dd040","typeString":"literal_string \"OracleHub\""},"value":"OracleHub"},"visibility":"public"},{"id":56957,"nodeType":"VariableDeclaration","src":"1085:51:78","nodes":[],"constant":true,"functionSelector":"8adca47f","mutability":"constant","name":"OracleSpoke","nameLocation":"1109:11:78","scope":56958,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56955,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1085:7:78","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"4f7261636c6553706f6b65","id":56956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1123:13:78","typeDescriptions":{"typeIdentifier":"t_stringliteral_fa6c3ccbd43e09dd0b7bf91a760bebaf6409bb7669b007983fb1993c9a18948d","typeString":"literal_string \"OracleSpoke\""},"value":"OracleSpoke"},"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"OracleInterfaces","contractDependencies":[],"contractKind":"library","documentation":{"id":56912,"nodeType":"StructuredDocumentation","src":"67:102:78","text":" @title Stores common interface names used throughout the DVM by registration in the Finder."},"fullyImplemented":true,"linearizedBaseContracts":[56958],"name":"OracleInterfaces","nameLocation":"178:16:78","scope":56964,"usedErrors":[],"usedEvents":[]},{"id":56963,"nodeType":"ContractDefinition","src":"1235:531:78","nodes":[{"id":56962,"nodeType":"VariableDeclaration","src":"1713:50:78","nodes":[],"constant":true,"functionSelector":"c371dda7","mutability":"constant","name":"ancillaryBytesLimit","nameLocation":"1737:19:78","scope":56963,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56960,"name":"uint256","nodeType":"ElementaryTypeName","src":"1713:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"38313932","id":56961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1759:4:78","typeDescriptions":{"typeIdentifier":"t_rational_8192_by_1","typeString":"int_const 8192"},"value":"8192"},"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"OptimisticOracleConstraints","contractDependencies":[],"contractKind":"library","documentation":{"id":56959,"nodeType":"StructuredDocumentation","src":"1141:93:78","text":" @title Commonly re-used values for contracts associated with the OptimisticOracle."},"fullyImplemented":true,"linearizedBaseContracts":[56963],"name":"OptimisticOracleConstraints","nameLocation":"1243:27:78","scope":56964,"usedErrors":[],"usedEvents":[]}],"license":"AGPL-3.0-only"}},"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/FinderInterface.sol":{"id":79,"ast":{"absolutePath":"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/FinderInterface.sol","id":56984,"exportedSymbols":{"FinderInterface":[56983]},"nodeType":"SourceUnit","src":"42:960:79","nodes":[{"id":56965,"nodeType":"PragmaDirective","src":"42:23:79","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56983,"nodeType":"ContractDefinition","src":"212:789:79","nodes":[{"id":56974,"nodeType":"FunctionDefinition","src":"549:100:79","nodes":[],"documentation":{"id":56967,"nodeType":"StructuredDocumentation","src":"244:300:79","text":" @notice Updates the address of the contract that implements `interfaceName`.\n @param interfaceName bytes32 encoding of the interface name that is either changed or registered.\n @param implementationAddress address of the deployed contract that implements the interface."},"functionSelector":"31f9665e","implemented":false,"kind":"function","modifiers":[],"name":"changeImplementationAddress","nameLocation":"558:27:79","parameters":{"id":56972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56969,"mutability":"mutable","name":"interfaceName","nameLocation":"594:13:79","nodeType":"VariableDeclaration","scope":56974,"src":"586:21:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56968,"name":"bytes32","nodeType":"ElementaryTypeName","src":"586:7:79","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":56971,"mutability":"mutable","name":"implementationAddress","nameLocation":"617:21:79","nodeType":"VariableDeclaration","scope":56974,"src":"609:29:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56970,"name":"address","nodeType":"ElementaryTypeName","src":"609:7:79","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"585:54:79"},"returnParameters":{"id":56973,"nodeType":"ParameterList","parameters":[],"src":"648:0:79"},"scope":56983,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":56982,"nodeType":"FunctionDefinition","src":"910:89:79","nodes":[],"documentation":{"id":56975,"nodeType":"StructuredDocumentation","src":"655:250:79","text":" @notice Gets the address of the contract that implements the given `interfaceName`.\n @param interfaceName queried interface.\n @return implementationAddress address of the deployed contract that implements the interface."},"functionSelector":"aafd5e40","implemented":false,"kind":"function","modifiers":[],"name":"getImplementationAddress","nameLocation":"919:24:79","parameters":{"id":56978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56977,"mutability":"mutable","name":"interfaceName","nameLocation":"952:13:79","nodeType":"VariableDeclaration","scope":56982,"src":"944:21:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56976,"name":"bytes32","nodeType":"ElementaryTypeName","src":"944:7:79","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"943:23:79"},"returnParameters":{"id":56981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56980,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56982,"src":"990:7:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56979,"name":"address","nodeType":"ElementaryTypeName","src":"990:7:79","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"989:9:79"},"scope":56983,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"FinderInterface","contractDependencies":[],"contractKind":"interface","documentation":{"id":56966,"nodeType":"StructuredDocumentation","src":"67:144:79","text":" @title Provides addresses of the live contracts implementing certain interfaces.\n @dev Examples are the Oracle or Store interfaces."},"fullyImplemented":false,"linearizedBaseContracts":[56983],"name":"FinderInterface","nameLocation":"222:15:79","scope":56984,"usedErrors":[],"usedEvents":[]}],"license":"AGPL-3.0-only"}},"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/IdentifierWhitelistInterface.sol":{"id":80,"ast":{"absolutePath":"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/IdentifierWhitelistInterface.sol","id":57008,"exportedSymbols":{"IdentifierWhitelistInterface":[57007]},"nodeType":"SourceUnit","src":"42:1112:80","nodes":[{"id":56985,"nodeType":"PragmaDirective","src":"42:23:80","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":57007,"nodeType":"ContractDefinition","src":"175:978:80","nodes":[{"id":56992,"nodeType":"FunctionDefinition","src":"467:61:80","nodes":[],"documentation":{"id":56987,"nodeType":"StructuredDocumentation","src":"220:242:80","text":" @notice Adds the provided identifier as a supported identifier.\n @dev Price requests using this identifier will succeed after this call.\n @param identifier bytes32 encoding of the string identifier. Eg: BTC/USD."},"functionSelector":"10a7e201","implemented":false,"kind":"function","modifiers":[],"name":"addSupportedIdentifier","nameLocation":"476:22:80","parameters":{"id":56990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56989,"mutability":"mutable","name":"identifier","nameLocation":"507:10:80","nodeType":"VariableDeclaration","scope":56992,"src":"499:18:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56988,"name":"bytes32","nodeType":"ElementaryTypeName","src":"499:7:80","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"498:20:80"},"returnParameters":{"id":56991,"nodeType":"ParameterList","parameters":[],"src":"527:0:80"},"scope":57007,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":56998,"nodeType":"FunctionDefinition","src":"778:64:80","nodes":[],"documentation":{"id":56993,"nodeType":"StructuredDocumentation","src":"534:239:80","text":" @notice Removes the identifier from the whitelist.\n @dev Price requests using this identifier will no longer succeed after this call.\n @param identifier bytes32 encoding of the string identifier. Eg: BTC/USD."},"functionSelector":"8e0d3ca7","implemented":false,"kind":"function","modifiers":[],"name":"removeSupportedIdentifier","nameLocation":"787:25:80","parameters":{"id":56996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56995,"mutability":"mutable","name":"identifier","nameLocation":"821:10:80","nodeType":"VariableDeclaration","scope":56998,"src":"813:18:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":56994,"name":"bytes32","nodeType":"ElementaryTypeName","src":"813:7:80","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"812:20:80"},"returnParameters":{"id":56997,"nodeType":"ParameterList","parameters":[],"src":"841:0:80"},"scope":57007,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":57006,"nodeType":"FunctionDefinition","src":"1071:80:80","nodes":[],"documentation":{"id":56999,"nodeType":"StructuredDocumentation","src":"848:218:80","text":" @notice Checks whether an identifier is on the whitelist.\n @param identifier bytes32 encoding of the string identifier. Eg: BTC/USD.\n @return bool if the identifier is supported (or not)."},"functionSelector":"90978d1b","implemented":false,"kind":"function","modifiers":[],"name":"isIdentifierSupported","nameLocation":"1080:21:80","parameters":{"id":57002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57001,"mutability":"mutable","name":"identifier","nameLocation":"1110:10:80","nodeType":"VariableDeclaration","scope":57006,"src":"1102:18:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57000,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1102:7:80","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1101:20:80"},"returnParameters":{"id":57005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57004,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57006,"src":"1145:4:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57003,"name":"bool","nodeType":"ElementaryTypeName","src":"1145:4:80","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1144:6:80"},"scope":57007,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IdentifierWhitelistInterface","contractDependencies":[],"contractKind":"interface","documentation":{"id":56986,"nodeType":"StructuredDocumentation","src":"67:107:80","text":" @title Interface for whitelists of supported identifiers that the oracle can provide prices for."},"fullyImplemented":false,"linearizedBaseContracts":[57007],"name":"IdentifierWhitelistInterface","nameLocation":"185:28:80","scope":57008,"usedErrors":[],"usedEvents":[]}],"license":"AGPL-3.0-only"}},"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/OracleAncillaryInterface.sol":{"id":81,"ast":{"absolutePath":"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/OracleAncillaryInterface.sol","id":57046,"exportedSymbols":{"OracleAncillaryInterface":[57045]},"nodeType":"SourceUnit","src":"42:2306:81","nodes":[{"id":57009,"nodeType":"PragmaDirective","src":"42:23:81","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":57045,"nodeType":"ContractDefinition","src":"243:2104:81","nodes":[{"id":57020,"nodeType":"FunctionDefinition","src":"788:129:81","nodes":[],"documentation":{"id":57011,"nodeType":"StructuredDocumentation","src":"292:490:81","text":" @notice Enqueues a request (if a request isn't already present) for the given `identifier`, `time` pair.\n @dev Time must be in the past and the identifier must be supported.\n @param identifier uniquely identifies the price requested. eg BTC/USD (encoded as bytes32) could be requested.\n @param ancillaryData arbitrary data appended to a price request to give the voters more info from the caller.\n @param time unix timestamp for the price request."},"functionSelector":"216666a4","implemented":false,"kind":"function","modifiers":[],"name":"requestPrice","nameLocation":"797:12:81","parameters":{"id":57018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57013,"mutability":"mutable","name":"identifier","nameLocation":"827:10:81","nodeType":"VariableDeclaration","scope":57020,"src":"819:18:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57012,"name":"bytes32","nodeType":"ElementaryTypeName","src":"819:7:81","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":57015,"mutability":"mutable","name":"time","nameLocation":"855:4:81","nodeType":"VariableDeclaration","scope":57020,"src":"847:12:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57014,"name":"uint256","nodeType":"ElementaryTypeName","src":"847:7:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57017,"mutability":"mutable","name":"ancillaryData","nameLocation":"882:13:81","nodeType":"VariableDeclaration","scope":57020,"src":"869:26:81","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57016,"name":"bytes","nodeType":"ElementaryTypeName","src":"869:5:81","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"809:92:81"},"returnParameters":{"id":57019,"nodeType":"ParameterList","parameters":[],"src":"916:0:81"},"scope":57045,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":57032,"nodeType":"FunctionDefinition","src":"1476:145:81","nodes":[],"documentation":{"id":57021,"nodeType":"StructuredDocumentation","src":"923:548:81","text":" @notice Whether the price for `identifier` and `time` is available.\n @dev Time must be in the past and the identifier must be supported.\n @param identifier uniquely identifies the price requested. eg BTC/USD (encoded as bytes32) could be requested.\n @param time unix timestamp for the price request.\n @param ancillaryData arbitrary data appended to a price request to give the voters more info from the caller.\n @return bool if the DVM has resolved to a price for the given identifier and timestamp."},"functionSelector":"b551cd50","implemented":false,"kind":"function","modifiers":[],"name":"hasPrice","nameLocation":"1485:8:81","parameters":{"id":57028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57023,"mutability":"mutable","name":"identifier","nameLocation":"1511:10:81","nodeType":"VariableDeclaration","scope":57032,"src":"1503:18:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57022,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1503:7:81","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":57025,"mutability":"mutable","name":"time","nameLocation":"1539:4:81","nodeType":"VariableDeclaration","scope":57032,"src":"1531:12:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57024,"name":"uint256","nodeType":"ElementaryTypeName","src":"1531:7:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57027,"mutability":"mutable","name":"ancillaryData","nameLocation":"1566:13:81","nodeType":"VariableDeclaration","scope":57032,"src":"1553:26:81","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57026,"name":"bytes","nodeType":"ElementaryTypeName","src":"1553:5:81","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1493:92:81"},"returnParameters":{"id":57031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57030,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57032,"src":"1615:4:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57029,"name":"bool","nodeType":"ElementaryTypeName","src":"1615:4:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1614:6:81"},"scope":57045,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":57044,"nodeType":"FunctionDefinition","src":"2198:147:81","nodes":[],"documentation":{"id":57033,"nodeType":"StructuredDocumentation","src":"1627:565:81","text":" @notice Gets the price for `identifier` and `time` if it has already been requested and resolved.\n @dev If the price is not available, the method reverts.\n @param identifier uniquely identifies the price requested. eg BTC/USD (encoded as bytes32) could be requested.\n @param time unix timestamp for the price request.\n @param ancillaryData arbitrary data appended to a price request to give the voters more info from the caller.\n @return int256 representing the resolved price for the given identifier and timestamp."},"functionSelector":"719c6d56","implemented":false,"kind":"function","modifiers":[],"name":"getPrice","nameLocation":"2207:8:81","parameters":{"id":57040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57035,"mutability":"mutable","name":"identifier","nameLocation":"2233:10:81","nodeType":"VariableDeclaration","scope":57044,"src":"2225:18:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57034,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2225:7:81","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":57037,"mutability":"mutable","name":"time","nameLocation":"2261:4:81","nodeType":"VariableDeclaration","scope":57044,"src":"2253:12:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57036,"name":"uint256","nodeType":"ElementaryTypeName","src":"2253:7:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57039,"mutability":"mutable","name":"ancillaryData","nameLocation":"2288:13:81","nodeType":"VariableDeclaration","scope":57044,"src":"2275:26:81","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57038,"name":"bytes","nodeType":"ElementaryTypeName","src":"2275:5:81","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2215:92:81"},"returnParameters":{"id":57043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57042,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57044,"src":"2337:6:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":57041,"name":"int256","nodeType":"ElementaryTypeName","src":"2337:6:81","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2336:8:81"},"scope":57045,"stateMutability":"view","virtual":true,"visibility":"public"}],"abstract":true,"baseContracts":[],"canonicalName":"OracleAncillaryInterface","contractDependencies":[],"contractKind":"contract","documentation":{"id":57010,"nodeType":"StructuredDocumentation","src":"67:175:81","text":" @title Financial contract facing Oracle interface.\n @dev Interface used by financial contracts to interact with the Oracle. Voters will use a different interface."},"fullyImplemented":false,"linearizedBaseContracts":[57045],"name":"OracleAncillaryInterface","nameLocation":"261:24:81","scope":57046,"usedErrors":[],"usedEvents":[]}],"license":"AGPL-3.0-only"}},"script/DeployAddressWhitelist.s.sol":{"id":82,"ast":{"absolutePath":"script/DeployAddressWhitelist.s.sol","id":57219,"exportedSymbols":{"AddressWhitelist":[60496],"DeployAddressWhitelist":[57218],"Script":[100],"console":[26117]},"nodeType":"SourceUnit","src":"42:2763:82","nodes":[{"id":57047,"nodeType":"PragmaDirective","src":"42:23:82","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":57049,"nodeType":"ImportDirective","src":"67:44:82","nodes":[],"absolutePath":"lib/forge-std/src/Script.sol","file":"forge-std/Script.sol","nameLocation":"-1:-1:-1","scope":57219,"sourceUnit":101,"symbolAliases":[{"foreign":{"id":57048,"name":"Script","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100,"src":"75:6:82","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57051,"nodeType":"ImportDirective","src":"112:46:82","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":57219,"sourceUnit":26118,"symbolAliases":[{"foreign":{"id":57050,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"120:7:82","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57053,"nodeType":"ImportDirective","src":"159:83:82","nodes":[],"absolutePath":"src/common/implementation/AddressWhitelist.sol","file":"../src/common/implementation/AddressWhitelist.sol","nameLocation":"-1:-1:-1","scope":57219,"sourceUnit":60497,"symbolAliases":[{"foreign":{"id":57052,"name":"AddressWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60496,"src":"167:16:82","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57218,"nodeType":"ContractDefinition","src":"665:2139:82","nodes":[{"id":57217,"nodeType":"FunctionDefinition","src":"713:2089:82","nodes":[],"body":{"id":57216,"nodeType":"Block","src":"737:2065:82","nodes":[],"statements":[{"assignments":[57060],"declarations":[{"constant":false,"id":57060,"mutability":"mutable","name":"mnemonic","nameLocation":"961:8:82","nodeType":"VariableDeclaration","scope":57216,"src":"947:22:82","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57059,"name":"string","nodeType":"ElementaryTypeName","src":"947:6:82","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":57065,"initialValue":{"arguments":[{"hexValue":"4d4e454d4f4e4943","id":57063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"985:10:82","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7847ed63e851fdf31d71be7e99485b72f34aad94067c632a3301195aa6e0dd0","typeString":"literal_string \"MNEMONIC\""},"value":"MNEMONIC"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f7847ed63e851fdf31d71be7e99485b72f34aad94067c632a3301195aa6e0dd0","typeString":"literal_string \"MNEMONIC\""}],"expression":{"id":57061,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"972:2:82","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"975:9:82","memberName":"envString","nodeType":"MemberAccess","referencedDeclaration":13753,"src":"972:12:82","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":57064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"972:24:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"947:49:82"},{"assignments":[57067],"declarations":[{"constant":false,"id":57067,"mutability":"mutable","name":"deployerPrivateKey","nameLocation":"1067:18:82","nodeType":"VariableDeclaration","scope":57216,"src":"1059:26:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57066,"name":"uint256","nodeType":"ElementaryTypeName","src":"1059:7:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57073,"initialValue":{"arguments":[{"id":57070,"name":"mnemonic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57060,"src":"1101:8:82","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":57071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1111:1:82","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":57068,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"1088:2:82","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1091:9:82","memberName":"deriveKey","nodeType":"MemberAccess","referencedDeclaration":13276,"src":"1088:12:82","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_uint32_$returns$_t_uint256_$","typeString":"function (string memory,uint32) pure external returns (uint256)"}},"id":57072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1088:25:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1059:54:82"},{"assignments":[57075],"declarations":[{"constant":false,"id":57075,"mutability":"mutable","name":"deployer","nameLocation":"1131:8:82","nodeType":"VariableDeclaration","scope":57216,"src":"1123:16:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57074,"name":"address","nodeType":"ElementaryTypeName","src":"1123:7:82","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":57080,"initialValue":{"arguments":[{"id":57078,"name":"deployerPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57067,"src":"1150:18:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57076,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"1142:2:82","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1145:4:82","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":13820,"src":"1142:7:82","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure external returns (address)"}},"id":57079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1142:27:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1123:46:82"},{"assignments":[57082],"declarations":[{"constant":false,"id":57082,"mutability":"mutable","name":"whitelistOwner","nameLocation":"1263:14:82","nodeType":"VariableDeclaration","scope":57216,"src":"1255:22:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57081,"name":"address","nodeType":"ElementaryTypeName","src":"1255:7:82","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":57088,"initialValue":{"arguments":[{"hexValue":"57484954454c4953545f4f574e4552","id":57085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1289:17:82","typeDescriptions":{"typeIdentifier":"t_stringliteral_8770bfc00d2471f8cd2c35d236c2a904631bc0b8d49a69d0ffade20da1573599","typeString":"literal_string \"WHITELIST_OWNER\""},"value":"WHITELIST_OWNER"},{"id":57086,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57075,"src":"1308:8:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8770bfc00d2471f8cd2c35d236c2a904631bc0b8d49a69d0ffade20da1573599","typeString":"literal_string \"WHITELIST_OWNER\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57083,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"1280:2:82","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1283:5:82","memberName":"envOr","nodeType":"MemberAccess","referencedDeclaration":13673,"src":"1280:8:82","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (string memory,address) view external returns (address)"}},"id":57087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1280:37:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1255:62:82"},{"expression":{"arguments":[{"id":57092,"name":"deployerPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57067,"src":"1418:18:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57089,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"1400:2:82","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1403:14:82","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":15018,"src":"1400:17:82","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":57093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1400:37:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57094,"nodeType":"ExpressionStatement","src":"1400:37:82"},{"assignments":[57097],"declarations":[{"constant":false,"id":57097,"mutability":"mutable","name":"whitelist","nameLocation":"1533:9:82","nodeType":"VariableDeclaration","scope":57216,"src":"1516:26:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"},"typeName":{"id":57096,"nodeType":"UserDefinedTypeName","pathNode":{"id":57095,"name":"AddressWhitelist","nameLocations":["1516:16:82"],"nodeType":"IdentifierPath","referencedDeclaration":60496,"src":"1516:16:82"},"referencedDeclaration":60496,"src":"1516:16:82","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"visibility":"internal"}],"id":57102,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":57100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1545:20:82","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_AddressWhitelist_$60496_$","typeString":"function () returns (contract AddressWhitelist)"},"typeName":{"id":57099,"nodeType":"UserDefinedTypeName","pathNode":{"id":57098,"name":"AddressWhitelist","nameLocations":["1549:16:82"],"nodeType":"IdentifierPath","referencedDeclaration":60496,"src":"1549:16:82"},"referencedDeclaration":60496,"src":"1549:16:82","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}},"id":57101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1545:22:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"nodeType":"VariableDeclarationStatement","src":"1516:51:82"},{"expression":{"arguments":[{"hexValue":"4164647265737357686974656c697374206465706c6f7965642061743a","id":57106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1590:31:82","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b69dedc6f9d1ac406855b8c5813f34dac0889d74704f0f50f5290358a019d59","typeString":"literal_string \"AddressWhitelist deployed at:\""},"value":"AddressWhitelist deployed at:"},{"arguments":[{"id":57109,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57097,"src":"1631:9:82","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}],"id":57108,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1623:7:82","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57107,"name":"address","nodeType":"ElementaryTypeName","src":"1623:7:82","typeDescriptions":{}}},"id":57110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1623:18:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b69dedc6f9d1ac406855b8c5813f34dac0889d74704f0f50f5290358a019d59","typeString":"literal_string \"AddressWhitelist deployed at:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57103,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"1578:7:82","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1586:3:82","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"1578:11:82","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1578:64:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57112,"nodeType":"ExpressionStatement","src":"1578:64:82"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":57118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57113,"name":"whitelistOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57082,"src":"1691:14:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":57116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1717:1:82","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":57115,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1709:7:82","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57114,"name":"address","nodeType":"ElementaryTypeName","src":"1709:7:82","typeDescriptions":{}}},"id":57117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1709:10:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1691:28:82","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":57139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57137,"name":"whitelistOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57082,"src":"1981:14:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":57138,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57075,"src":"1999:8:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1981:26:82","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":57168,"nodeType":"Block","src":"2308:165:82","statements":[{"expression":{"arguments":[{"hexValue":"4b656570696e67206465706c6f796572206173206f776e65723a","id":57164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2423:28:82","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c9ade8f10b14f7d233cdff77c8258fc0a00a0054ed97ccc164990d3893b2a2c","typeString":"literal_string \"Keeping deployer as owner:\""},"value":"Keeping deployer as owner:"},{"id":57165,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57075,"src":"2453:8:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5c9ade8f10b14f7d233cdff77c8258fc0a00a0054ed97ccc164990d3893b2a2c","typeString":"literal_string \"Keeping deployer as owner:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57161,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"2411:7:82","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2419:3:82","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"2411:11:82","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2411:51:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57167,"nodeType":"ExpressionStatement","src":"2411:51:82"}]},"id":57169,"nodeType":"IfStatement","src":"1977:496:82","trueBody":{"id":57160,"nodeType":"Block","src":"2009:293:82","statements":[{"expression":{"arguments":[{"hexValue":"5472616e7366657272696e67206f776e65727368697020746f3a","id":57143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2119:28:82","typeDescriptions":{"typeIdentifier":"t_stringliteral_ce4f7e728972dc25ba7e0dbe9571077f99fcba27ebe536b62ab5fc0b4586cb8f","typeString":"literal_string \"Transferring ownership to:\""},"value":"Transferring ownership to:"},{"id":57144,"name":"whitelistOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57082,"src":"2149:14:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ce4f7e728972dc25ba7e0dbe9571077f99fcba27ebe536b62ab5fc0b4586cb8f","typeString":"literal_string \"Transferring ownership to:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57140,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"2107:7:82","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2115:3:82","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"2107:11:82","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2107:57:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57146,"nodeType":"ExpressionStatement","src":"2107:57:82"},{"expression":{"arguments":[{"id":57150,"name":"whitelistOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57082,"src":"2206:14:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57147,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57097,"src":"2178:9:82","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":57149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2188:17:82","memberName":"transferOwnership","nodeType":"MemberAccess","referencedDeclaration":41318,"src":"2178:27:82","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":57151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2178:43:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57152,"nodeType":"ExpressionStatement","src":"2178:43:82"},{"expression":{"arguments":[{"hexValue":"4f776e657273686970207472616e7366657272656420746f3a","id":57156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2247:27:82","typeDescriptions":{"typeIdentifier":"t_stringliteral_a8a793bfcd80bed862304cf19e9a764860609f1c8997c35f9c02ce64f6a05f23","typeString":"literal_string \"Ownership transferred to:\""},"value":"Ownership transferred to:"},{"id":57157,"name":"whitelistOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57082,"src":"2276:14:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a8a793bfcd80bed862304cf19e9a764860609f1c8997c35f9c02ce64f6a05f23","typeString":"literal_string \"Ownership transferred to:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57153,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"2235:7:82","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2243:3:82","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"2235:11:82","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2235:56:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57159,"nodeType":"ExpressionStatement","src":"2235:56:82"}]}},"id":57170,"nodeType":"IfStatement","src":"1687:786:82","trueBody":{"id":57136,"nodeType":"Block","src":"1721:250:82","statements":[{"expression":{"arguments":[{"hexValue":"4275726e696e67206f776e65727368697020746f207a65726f20616464726573732e2e2e","id":57122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1817:38:82","typeDescriptions":{"typeIdentifier":"t_stringliteral_83818292ec7621a09c440d30a2cf28be908997054b7ba19083e9ddfbd2351ab4","typeString":"literal_string \"Burning ownership to zero address...\""},"value":"Burning ownership to zero address..."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_83818292ec7621a09c440d30a2cf28be908997054b7ba19083e9ddfbd2351ab4","typeString":"literal_string \"Burning ownership to zero address...\""}],"expression":{"id":57119,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"1805:7:82","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1813:3:82","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"1805:11:82","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":57123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1805:51:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57124,"nodeType":"ExpressionStatement","src":"1805:51:82"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57125,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57097,"src":"1870:9:82","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":57127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1880:17:82","memberName":"renounceOwnership","nodeType":"MemberAccess","referencedDeclaration":41290,"src":"1870:27:82","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":57128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1870:29:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57129,"nodeType":"ExpressionStatement","src":"1870:29:82"},{"expression":{"arguments":[{"hexValue":"4f776e657273686970206275726e656420746f207a65726f2061646472657373","id":57133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1925:34:82","typeDescriptions":{"typeIdentifier":"t_stringliteral_bd8df321ceff89024c38fe5cd111f10dd432667e4b9a45191e0f9fc3ba5ff125","typeString":"literal_string \"Ownership burned to zero address\""},"value":"Ownership burned to zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bd8df321ceff89024c38fe5cd111f10dd432667e4b9a45191e0f9fc3ba5ff125","typeString":"literal_string \"Ownership burned to zero address\""}],"expression":{"id":57130,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"1913:7:82","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1921:3:82","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"1913:11:82","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":57134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1913:47:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57135,"nodeType":"ExpressionStatement","src":"1913:47:82"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57171,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"2483:2:82","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2486:13:82","memberName":"stopBroadcast","nodeType":"MemberAccess","referencedDeclaration":15022,"src":"2483:16:82","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":57174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2483:18:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57175,"nodeType":"ExpressionStatement","src":"2483:18:82"},{"expression":{"arguments":[{"hexValue":"0a3d3d3d204465706c6f796d656e742053756d6d617279203d3d3d","id":57179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2561:30:82","typeDescriptions":{"typeIdentifier":"t_stringliteral_fe9a87529682c345d72b9c1e684f4ffc2fb2449679ee201a418673f8a895a86d","typeString":"literal_string hex\"0a3d3d3d204465706c6f796d656e742053756d6d617279203d3d3d\""},"value":"\n=== Deployment Summary ==="}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fe9a87529682c345d72b9c1e684f4ffc2fb2449679ee201a418673f8a895a86d","typeString":"literal_string hex\"0a3d3d3d204465706c6f796d656e742053756d6d617279203d3d3d\""}],"expression":{"id":57176,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"2549:7:82","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2557:3:82","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"2549:11:82","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":57180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2549:43:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57181,"nodeType":"ExpressionStatement","src":"2549:43:82"},{"expression":{"arguments":[{"hexValue":"436f6e74726163743a","id":57185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2614:11:82","typeDescriptions":{"typeIdentifier":"t_stringliteral_06e62e9fe2c00cbe23f89c016cf8b52ca88ff134fcc8a7844aa46e0619075190","typeString":"literal_string \"Contract:\""},"value":"Contract:"},{"arguments":[{"id":57188,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57097,"src":"2635:9:82","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}],"id":57187,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2627:7:82","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57186,"name":"address","nodeType":"ElementaryTypeName","src":"2627:7:82","typeDescriptions":{}}},"id":57189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2627:18:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_06e62e9fe2c00cbe23f89c016cf8b52ca88ff134fcc8a7844aa46e0619075190","typeString":"literal_string \"Contract:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57182,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"2602:7:82","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2610:3:82","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"2602:11:82","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2602:44:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57191,"nodeType":"ExpressionStatement","src":"2602:44:82"},{"expression":{"arguments":[{"hexValue":"436861696e2049443a","id":57195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2668:11:82","typeDescriptions":{"typeIdentifier":"t_stringliteral_1819fb621e5bc249bf9a5740212372c48d65576d247cc4cc9085c59818dd89e5","typeString":"literal_string \"Chain ID:\""},"value":"Chain ID:"},{"expression":{"id":57196,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2681:5:82","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":57197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2687:7:82","memberName":"chainid","nodeType":"MemberAccess","src":"2681:13:82","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1819fb621e5bc249bf9a5740212372c48d65576d247cc4cc9085c59818dd89e5","typeString":"literal_string \"Chain ID:\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57192,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"2656:7:82","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2664:3:82","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18744,"src":"2656:11:82","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":57198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2656:39:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57199,"nodeType":"ExpressionStatement","src":"2656:39:82"},{"expression":{"arguments":[{"hexValue":"4465706c6f7965723a","id":57203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2717:11:82","typeDescriptions":{"typeIdentifier":"t_stringliteral_e772c8e8d8a372c021df80dc662847e23e4debc2fbe46a606adc7bd1f2ffe8d0","typeString":"literal_string \"Deployer:\""},"value":"Deployer:"},{"id":57204,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57075,"src":"2730:8:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e772c8e8d8a372c021df80dc662847e23e4debc2fbe46a606adc7bd1f2ffe8d0","typeString":"literal_string \"Deployer:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57200,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"2705:7:82","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2713:3:82","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"2705:11:82","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2705:34:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57206,"nodeType":"ExpressionStatement","src":"2705:34:82"},{"expression":{"arguments":[{"hexValue":"46696e616c204f776e65723a","id":57210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2761:14:82","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6ba37c9b8f1da55ade59ba5d53c845dba53913a7fc04ae2acb4c86d7e611da7","typeString":"literal_string \"Final Owner:\""},"value":"Final Owner:"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57211,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57097,"src":"2777:9:82","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":57212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2787:5:82","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":41259,"src":"2777:15:82","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":57213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2777:17:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6ba37c9b8f1da55ade59ba5d53c845dba53913a7fc04ae2acb4c86d7e611da7","typeString":"literal_string \"Final Owner:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57207,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"2749:7:82","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2757:3:82","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"2749:11:82","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2749:46:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57215,"nodeType":"ExpressionStatement","src":"2749:46:82"}]},"functionSelector":"c0406226","implemented":true,"kind":"function","modifiers":[],"name":"run","nameLocation":"722:3:82","parameters":{"id":57057,"nodeType":"ParameterList","parameters":[],"src":"725:2:82"},"returnParameters":{"id":57058,"nodeType":"ParameterList","parameters":[],"src":"737:0:82"},"scope":57218,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":57055,"name":"Script","nameLocations":["700:6:82"],"nodeType":"IdentifierPath","referencedDeclaration":100,"src":"700:6:82"},"id":57056,"nodeType":"InheritanceSpecifier","src":"700:6:82"}],"canonicalName":"DeployAddressWhitelist","contractDependencies":[60496],"contractKind":"contract","documentation":{"id":57054,"nodeType":"StructuredDocumentation","src":"244:420:82","text":" @title Deployment script for AddressWhitelist\n @notice Deploys the AddressWhitelist contract with configurable ownership\n Environment variables:\n - MNEMONIC: Required. The mnemonic phrase for the deployer wallet\n - WHITELIST_OWNER: Optional. The address to set as owner. If not set, uses deployer address.\n If set to 0x0000000000000000000000000000000000000000, burns ownership."},"fullyImplemented":true,"internalFunctionIDs":{"18017":1},"linearizedBaseContracts":[57218,100,12932,5773,3683,59,47],"name":"DeployAddressWhitelist","nameLocation":"674:22:82","scope":57219,"usedErrors":[],"usedEvents":[]}],"license":"AGPL-3.0-only"}},"script/DeployDisabledAddressWhitelist.s.sol":{"id":83,"ast":{"absolutePath":"script/DeployDisabledAddressWhitelist.s.sol","id":57317,"exportedSymbols":{"DeployDisabledAddressWhitelist":[57316],"DisabledAddressWhitelist":[60583],"Script":[100],"console":[26117]},"nodeType":"SourceUnit","src":"42:1567:83","nodes":[{"id":57220,"nodeType":"PragmaDirective","src":"42:23:83","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":57222,"nodeType":"ImportDirective","src":"67:44:83","nodes":[],"absolutePath":"lib/forge-std/src/Script.sol","file":"forge-std/Script.sol","nameLocation":"-1:-1:-1","scope":57317,"sourceUnit":101,"symbolAliases":[{"foreign":{"id":57221,"name":"Script","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100,"src":"75:6:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57224,"nodeType":"ImportDirective","src":"112:46:83","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":57317,"sourceUnit":26118,"symbolAliases":[{"foreign":{"id":57223,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"120:7:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57226,"nodeType":"ImportDirective","src":"159:99:83","nodes":[],"absolutePath":"src/common/implementation/DisabledAddressWhitelist.sol","file":"../src/common/implementation/DisabledAddressWhitelist.sol","nameLocation":"-1:-1:-1","scope":57317,"sourceUnit":60584,"symbolAliases":[{"foreign":{"id":57225,"name":"DisabledAddressWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60583,"src":"167:24:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57316,"nodeType":"ContractDefinition","src":"508:1100:83","nodes":[{"id":57315,"nodeType":"FunctionDefinition","src":"564:1042:83","nodes":[],"body":{"id":57314,"nodeType":"Block","src":"588:1018:83","nodes":[],"statements":[{"assignments":[57233],"declarations":[{"constant":false,"id":57233,"mutability":"mutable","name":"mnemonic","nameLocation":"812:8:83","nodeType":"VariableDeclaration","scope":57314,"src":"798:22:83","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57232,"name":"string","nodeType":"ElementaryTypeName","src":"798:6:83","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":57238,"initialValue":{"arguments":[{"hexValue":"4d4e454d4f4e4943","id":57236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"836:10:83","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7847ed63e851fdf31d71be7e99485b72f34aad94067c632a3301195aa6e0dd0","typeString":"literal_string \"MNEMONIC\""},"value":"MNEMONIC"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f7847ed63e851fdf31d71be7e99485b72f34aad94067c632a3301195aa6e0dd0","typeString":"literal_string \"MNEMONIC\""}],"expression":{"id":57234,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"823:2:83","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"826:9:83","memberName":"envString","nodeType":"MemberAccess","referencedDeclaration":13753,"src":"823:12:83","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":57237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"823:24:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"798:49:83"},{"assignments":[57240],"declarations":[{"constant":false,"id":57240,"mutability":"mutable","name":"deployerPrivateKey","nameLocation":"918:18:83","nodeType":"VariableDeclaration","scope":57314,"src":"910:26:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57239,"name":"uint256","nodeType":"ElementaryTypeName","src":"910:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57246,"initialValue":{"arguments":[{"id":57243,"name":"mnemonic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57233,"src":"952:8:83","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":57244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"962:1:83","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":57241,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"939:2:83","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"942:9:83","memberName":"deriveKey","nodeType":"MemberAccess","referencedDeclaration":13276,"src":"939:12:83","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_uint32_$returns$_t_uint256_$","typeString":"function (string memory,uint32) pure external returns (uint256)"}},"id":57245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"939:25:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"910:54:83"},{"assignments":[57248],"declarations":[{"constant":false,"id":57248,"mutability":"mutable","name":"deployer","nameLocation":"982:8:83","nodeType":"VariableDeclaration","scope":57314,"src":"974:16:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57247,"name":"address","nodeType":"ElementaryTypeName","src":"974:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":57253,"initialValue":{"arguments":[{"id":57251,"name":"deployerPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57240,"src":"1001:18:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57249,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"993:2:83","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"996:4:83","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":13820,"src":"993:7:83","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure external returns (address)"}},"id":57252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"993:27:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"974:46:83"},{"expression":{"arguments":[{"id":57257,"name":"deployerPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57240,"src":"1121:18:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57254,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"1103:2:83","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1106:14:83","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":15018,"src":"1103:17:83","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":57258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1103:37:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57259,"nodeType":"ExpressionStatement","src":"1103:37:83"},{"assignments":[57262],"declarations":[{"constant":false,"id":57262,"mutability":"mutable","name":"whitelist","nameLocation":"1207:9:83","nodeType":"VariableDeclaration","scope":57314,"src":"1182:34:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_DisabledAddressWhitelist_$60583","typeString":"contract DisabledAddressWhitelist"},"typeName":{"id":57261,"nodeType":"UserDefinedTypeName","pathNode":{"id":57260,"name":"DisabledAddressWhitelist","nameLocations":["1182:24:83"],"nodeType":"IdentifierPath","referencedDeclaration":60583,"src":"1182:24:83"},"referencedDeclaration":60583,"src":"1182:24:83","typeDescriptions":{"typeIdentifier":"t_contract$_DisabledAddressWhitelist_$60583","typeString":"contract DisabledAddressWhitelist"}},"visibility":"internal"}],"id":57267,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":57265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1219:28:83","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_DisabledAddressWhitelist_$60583_$","typeString":"function () returns (contract DisabledAddressWhitelist)"},"typeName":{"id":57264,"nodeType":"UserDefinedTypeName","pathNode":{"id":57263,"name":"DisabledAddressWhitelist","nameLocations":["1223:24:83"],"nodeType":"IdentifierPath","referencedDeclaration":60583,"src":"1223:24:83"},"referencedDeclaration":60583,"src":"1223:24:83","typeDescriptions":{"typeIdentifier":"t_contract$_DisabledAddressWhitelist_$60583","typeString":"contract DisabledAddressWhitelist"}}},"id":57266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1219:30:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_DisabledAddressWhitelist_$60583","typeString":"contract DisabledAddressWhitelist"}},"nodeType":"VariableDeclarationStatement","src":"1182:67:83"},{"expression":{"arguments":[{"hexValue":"44697361626c65644164647265737357686974656c697374206465706c6f7965642061743a","id":57271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1272:39:83","typeDescriptions":{"typeIdentifier":"t_stringliteral_4df766fd7143bab71e7d8880bcab7bb89d9e00552abecf4018f12d971c39b6e1","typeString":"literal_string \"DisabledAddressWhitelist deployed at:\""},"value":"DisabledAddressWhitelist deployed at:"},{"arguments":[{"id":57274,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57262,"src":"1321:9:83","typeDescriptions":{"typeIdentifier":"t_contract$_DisabledAddressWhitelist_$60583","typeString":"contract DisabledAddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_DisabledAddressWhitelist_$60583","typeString":"contract DisabledAddressWhitelist"}],"id":57273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1313:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57272,"name":"address","nodeType":"ElementaryTypeName","src":"1313:7:83","typeDescriptions":{}}},"id":57275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1313:18:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4df766fd7143bab71e7d8880bcab7bb89d9e00552abecf4018f12d971c39b6e1","typeString":"literal_string \"DisabledAddressWhitelist deployed at:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57268,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"1260:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1268:3:83","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"1260:11:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1260:72:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57277,"nodeType":"ExpressionStatement","src":"1260:72:83"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57278,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"1343:2:83","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1346:13:83","memberName":"stopBroadcast","nodeType":"MemberAccess","referencedDeclaration":15022,"src":"1343:16:83","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":57281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1343:18:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57282,"nodeType":"ExpressionStatement","src":"1343:18:83"},{"expression":{"arguments":[{"hexValue":"0a3d3d3d204465706c6f796d656e742053756d6d617279203d3d3d","id":57286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1421:30:83","typeDescriptions":{"typeIdentifier":"t_stringliteral_fe9a87529682c345d72b9c1e684f4ffc2fb2449679ee201a418673f8a895a86d","typeString":"literal_string hex\"0a3d3d3d204465706c6f796d656e742053756d6d617279203d3d3d\""},"value":"\n=== Deployment Summary ==="}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fe9a87529682c345d72b9c1e684f4ffc2fb2449679ee201a418673f8a895a86d","typeString":"literal_string hex\"0a3d3d3d204465706c6f796d656e742053756d6d617279203d3d3d\""}],"expression":{"id":57283,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"1409:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1417:3:83","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"1409:11:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":57287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1409:43:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57288,"nodeType":"ExpressionStatement","src":"1409:43:83"},{"expression":{"arguments":[{"hexValue":"436f6e74726163743a","id":57292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1474:11:83","typeDescriptions":{"typeIdentifier":"t_stringliteral_06e62e9fe2c00cbe23f89c016cf8b52ca88ff134fcc8a7844aa46e0619075190","typeString":"literal_string \"Contract:\""},"value":"Contract:"},{"arguments":[{"id":57295,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57262,"src":"1495:9:83","typeDescriptions":{"typeIdentifier":"t_contract$_DisabledAddressWhitelist_$60583","typeString":"contract DisabledAddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_DisabledAddressWhitelist_$60583","typeString":"contract DisabledAddressWhitelist"}],"id":57294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1487:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57293,"name":"address","nodeType":"ElementaryTypeName","src":"1487:7:83","typeDescriptions":{}}},"id":57296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1487:18:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_06e62e9fe2c00cbe23f89c016cf8b52ca88ff134fcc8a7844aa46e0619075190","typeString":"literal_string \"Contract:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57289,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"1462:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1470:3:83","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"1462:11:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1462:44:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57298,"nodeType":"ExpressionStatement","src":"1462:44:83"},{"expression":{"arguments":[{"hexValue":"436861696e2049443a","id":57302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1528:11:83","typeDescriptions":{"typeIdentifier":"t_stringliteral_1819fb621e5bc249bf9a5740212372c48d65576d247cc4cc9085c59818dd89e5","typeString":"literal_string \"Chain ID:\""},"value":"Chain ID:"},{"expression":{"id":57303,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1541:5:83","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":57304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1547:7:83","memberName":"chainid","nodeType":"MemberAccess","src":"1541:13:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1819fb621e5bc249bf9a5740212372c48d65576d247cc4cc9085c59818dd89e5","typeString":"literal_string \"Chain ID:\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57299,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"1516:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1524:3:83","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18744,"src":"1516:11:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":57305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1516:39:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57306,"nodeType":"ExpressionStatement","src":"1516:39:83"},{"expression":{"arguments":[{"hexValue":"4465706c6f7965723a","id":57310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1577:11:83","typeDescriptions":{"typeIdentifier":"t_stringliteral_e772c8e8d8a372c021df80dc662847e23e4debc2fbe46a606adc7bd1f2ffe8d0","typeString":"literal_string \"Deployer:\""},"value":"Deployer:"},{"id":57311,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57248,"src":"1590:8:83","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e772c8e8d8a372c021df80dc662847e23e4debc2fbe46a606adc7bd1f2ffe8d0","typeString":"literal_string \"Deployer:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57307,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"1565:7:83","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1573:3:83","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"1565:11:83","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1565:34:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57313,"nodeType":"ExpressionStatement","src":"1565:34:83"}]},"functionSelector":"c0406226","implemented":true,"kind":"function","modifiers":[],"name":"run","nameLocation":"573:3:83","parameters":{"id":57230,"nodeType":"ParameterList","parameters":[],"src":"576:2:83"},"returnParameters":{"id":57231,"nodeType":"ParameterList","parameters":[],"src":"588:0:83"},"scope":57316,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":57228,"name":"Script","nameLocations":["551:6:83"],"nodeType":"IdentifierPath","referencedDeclaration":100,"src":"551:6:83"},"id":57229,"nodeType":"InheritanceSpecifier","src":"551:6:83"}],"canonicalName":"DeployDisabledAddressWhitelist","contractDependencies":[60583],"contractKind":"contract","documentation":{"id":57227,"nodeType":"StructuredDocumentation","src":"260:247:83","text":" @title Deployment script for DisabledAddressWhitelist\n @notice Deploys the DisabledAddressWhitelist contract with optional configuration\n Environment variables:\n - MNEMONIC: Required. The mnemonic phrase for the deployer wallet"},"fullyImplemented":true,"internalFunctionIDs":{"18017":1},"linearizedBaseContracts":[57316,100,12932,5773,3683,59,47],"name":"DeployDisabledAddressWhitelist","nameLocation":"517:30:83","scope":57317,"usedErrors":[],"usedEvents":[]}],"license":"AGPL-3.0-only"}},"script/DeployManagedOptimisticOracleV2.s.sol":{"id":84,"ast":{"absolutePath":"script/DeployManagedOptimisticOracleV2.s.sol","id":57872,"exportedSymbols":{"DeployManagedOptimisticOracleV2":[57871],"ERC1967Proxy":[41785],"IERC20":[43048],"ManagedOptimisticOracleV2":[61771],"Script":[100],"Upgrades":[52643],"console":[26117]},"nodeType":"SourceUnit","src":"42:8679:84","nodes":[{"id":57318,"nodeType":"PragmaDirective","src":"42:23:84","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":57320,"nodeType":"ImportDirective","src":"67:44:84","nodes":[],"absolutePath":"lib/forge-std/src/Script.sol","file":"forge-std/Script.sol","nameLocation":"-1:-1:-1","scope":57872,"sourceUnit":101,"symbolAliases":[{"foreign":{"id":57319,"name":"Script","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100,"src":"75:6:84","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57322,"nodeType":"ImportDirective","src":"112:46:84","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":57872,"sourceUnit":26118,"symbolAliases":[{"foreign":{"id":57321,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"120:7:84","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57324,"nodeType":"ImportDirective","src":"159:84:84","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":57872,"sourceUnit":41786,"symbolAliases":[{"foreign":{"id":57323,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41785,"src":"167:12:84","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57326,"nodeType":"ImportDirective","src":"244:69:84","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/Upgrades.sol","file":"@openzeppelin/foundry-upgrades/Upgrades.sol","nameLocation":"-1:-1:-1","scope":57872,"sourceUnit":52851,"symbolAliases":[{"foreign":{"id":57325,"name":"Upgrades","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52643,"src":"252:8:84","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57328,"nodeType":"ImportDirective","src":"315:115:84","nodes":[],"absolutePath":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol","file":"../src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol","nameLocation":"-1:-1:-1","scope":57872,"sourceUnit":61772,"symbolAliases":[{"foreign":{"id":57327,"name":"ManagedOptimisticOracleV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61771,"src":"323:25:84","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57330,"nodeType":"ImportDirective","src":"431:70:84","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":57872,"sourceUnit":43049,"symbolAliases":[{"foreign":{"id":57329,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"439:6:84","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57871,"nodeType":"ContractDefinition","src":"1951:6769:84","nodes":[{"id":57741,"nodeType":"FunctionDefinition","src":"2008:4437:84","nodes":[],"body":{"id":57740,"nodeType":"Block","src":"2032:4413:84","nodes":[],"statements":[{"assignments":[57337],"declarations":[{"constant":false,"id":57337,"mutability":"mutable","name":"deployerPrivateKey","nameLocation":"2050:18:84","nodeType":"VariableDeclaration","scope":57740,"src":"2042:26:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57336,"name":"uint256","nodeType":"ElementaryTypeName","src":"2042:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57340,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":57338,"name":"_getDeployerPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57761,"src":"2071:22:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":57339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2071:24:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2042:53:84"},{"assignments":[57342],"declarations":[{"constant":false,"id":57342,"mutability":"mutable","name":"deployer","nameLocation":"2113:8:84","nodeType":"VariableDeclaration","scope":57740,"src":"2105:16:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57341,"name":"address","nodeType":"ElementaryTypeName","src":"2105:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":57347,"initialValue":{"arguments":[{"id":57345,"name":"deployerPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57337,"src":"2132:18:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57343,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"2124:2:84","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2127:4:84","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":13820,"src":"2124:7:84","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure external returns (address)"}},"id":57346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2124:27:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2105:46:84"},{"assignments":[57349],"declarations":[{"constant":false,"id":57349,"mutability":"mutable","name":"finderAddress","nameLocation":"2231:13:84","nodeType":"VariableDeclaration","scope":57740,"src":"2223:21:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57348,"name":"address","nodeType":"ElementaryTypeName","src":"2223:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":57358,"initialValue":{"arguments":[{"hexValue":"46494e4445525f41444452455353","id":57352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2256:16:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_8d42720f176a7bc55503f869d7580e3decf489cf95e3f4ad7bdd04484e1cc6bb","typeString":"literal_string \"FINDER_ADDRESS\""},"value":"FINDER_ADDRESS"},{"arguments":[{"hexValue":"30","id":57355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2282:1:84","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":57354,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2274:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57353,"name":"address","nodeType":"ElementaryTypeName","src":"2274:7:84","typeDescriptions":{}}},"id":57356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2274:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8d42720f176a7bc55503f869d7580e3decf489cf95e3f4ad7bdd04484e1cc6bb","typeString":"literal_string \"FINDER_ADDRESS\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57350,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"2247:2:84","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2250:5:84","memberName":"envOr","nodeType":"MemberAccess","referencedDeclaration":13673,"src":"2247:8:84","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (string memory,address) view external returns (address)"}},"id":57357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2247:38:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2223:62:84"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":57364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57359,"name":"finderAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57349,"src":"2299:13:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":57362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2324:1:84","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":57361,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2316:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57360,"name":"address","nodeType":"ElementaryTypeName","src":"2316:7:84","typeDescriptions":{}}},"id":57363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2316:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2299:27:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57371,"nodeType":"IfStatement","src":"2295:100:84","trueBody":{"id":57370,"nodeType":"Block","src":"2328:67:84","statements":[{"expression":{"id":57368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":57365,"name":"finderAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57349,"src":"2342:13:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":57366,"name":"_getDefaultFinderAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57806,"src":"2358:24:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":57367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2358:26:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2342:42:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":57369,"nodeType":"ExpressionStatement","src":"2342:42:84"}]}},{"assignments":[57373],"declarations":[{"constant":false,"id":57373,"mutability":"mutable","name":"defaultProposerWhitelist","nameLocation":"2413:24:84","nodeType":"VariableDeclaration","scope":57740,"src":"2405:32:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57372,"name":"address","nodeType":"ElementaryTypeName","src":"2405:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":57378,"initialValue":{"arguments":[{"hexValue":"44454641554c545f50524f504f5345525f57484954454c495354","id":57376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2454:28:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_e7d74d8b47145abe93d3aede4085bfb5bd5498163e5eb1991ac6741f7dcbac7b","typeString":"literal_string \"DEFAULT_PROPOSER_WHITELIST\""},"value":"DEFAULT_PROPOSER_WHITELIST"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e7d74d8b47145abe93d3aede4085bfb5bd5498163e5eb1991ac6741f7dcbac7b","typeString":"literal_string \"DEFAULT_PROPOSER_WHITELIST\""}],"expression":{"id":57374,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"2440:2:84","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2443:10:84","memberName":"envAddress","nodeType":"MemberAccess","referencedDeclaration":13482,"src":"2440:13:84","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) view external returns (address)"}},"id":57377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2440:43:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2405:78:84"},{"assignments":[57380],"declarations":[{"constant":false,"id":57380,"mutability":"mutable","name":"requesterWhitelist","nameLocation":"2501:18:84","nodeType":"VariableDeclaration","scope":57740,"src":"2493:26:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57379,"name":"address","nodeType":"ElementaryTypeName","src":"2493:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":57385,"initialValue":{"arguments":[{"hexValue":"5245515545535445525f57484954454c495354","id":57383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2536:21:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ab05e52dbc300617930e83d124543cbe808247124e699d1811b3f213af7139d","typeString":"literal_string \"REQUESTER_WHITELIST\""},"value":"REQUESTER_WHITELIST"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ab05e52dbc300617930e83d124543cbe808247124e699d1811b3f213af7139d","typeString":"literal_string \"REQUESTER_WHITELIST\""}],"expression":{"id":57381,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"2522:2:84","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2525:10:84","memberName":"envAddress","nodeType":"MemberAccess","referencedDeclaration":13482,"src":"2522:13:84","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) view external returns (address)"}},"id":57384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2522:36:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2493:65:84"},{"assignments":[57387],"declarations":[{"constant":false,"id":57387,"mutability":"mutable","name":"defaultLiveness","nameLocation":"2577:15:84","nodeType":"VariableDeclaration","scope":57740,"src":"2569:23:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57386,"name":"uint256","nodeType":"ElementaryTypeName","src":"2569:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57396,"initialValue":{"arguments":[{"hexValue":"44454641554c545f4c4956454e455353","id":57390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2604:18:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_75ea1df1adc101186b4170f93f72db612b09b3382cdcfa2c52134ae07bb12b38","typeString":"literal_string \"DEFAULT_LIVENESS\""},"value":"DEFAULT_LIVENESS"},{"arguments":[{"hexValue":"37323030","id":57393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2632:4:84","typeDescriptions":{"typeIdentifier":"t_rational_7200_by_1","typeString":"int_const 7200"},"value":"7200"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_7200_by_1","typeString":"int_const 7200"}],"id":57392,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2624:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":57391,"name":"uint256","nodeType":"ElementaryTypeName","src":"2624:7:84","typeDescriptions":{}}},"id":57394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2624:13:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_75ea1df1adc101186b4170f93f72db612b09b3382cdcfa2c52134ae07bb12b38","typeString":"literal_string \"DEFAULT_LIVENESS\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57388,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"2595:2:84","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2598:5:84","memberName":"envOr","nodeType":"MemberAccess","referencedDeclaration":13597,"src":"2595:8:84","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (string memory,uint256) view external returns (uint256)"}},"id":57395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2595:43:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2569:69:84"},{"assignments":[57398],"declarations":[{"constant":false,"id":57398,"mutability":"mutable","name":"minimumLiveness","nameLocation":"2693:15:84","nodeType":"VariableDeclaration","scope":57740,"src":"2685:23:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57397,"name":"uint256","nodeType":"ElementaryTypeName","src":"2685:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57407,"initialValue":{"arguments":[{"hexValue":"4d494e494d554d5f4c4956454e455353","id":57401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2720:18:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_f798f89b0165a5b8c8c91f8b8acd145007134deea1e7165df87c29b5c2382218","typeString":"literal_string \"MINIMUM_LIVENESS\""},"value":"MINIMUM_LIVENESS"},{"arguments":[{"hexValue":"33363030","id":57404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2748:4:84","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"3600"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"}],"id":57403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2740:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":57402,"name":"uint256","nodeType":"ElementaryTypeName","src":"2740:7:84","typeDescriptions":{}}},"id":57405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2740:13:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f798f89b0165a5b8c8c91f8b8acd145007134deea1e7165df87c29b5c2382218","typeString":"literal_string \"MINIMUM_LIVENESS\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57399,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"2711:2:84","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2714:5:84","memberName":"envOr","nodeType":"MemberAccess","referencedDeclaration":13597,"src":"2711:8:84","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (string memory,uint256) view external returns (uint256)"}},"id":57406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2711:43:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2685:69:84"},{"assignments":[57409],"declarations":[{"constant":false,"id":57409,"mutability":"mutable","name":"customCurrency","nameLocation":"2809:14:84","nodeType":"VariableDeclaration","scope":57740,"src":"2801:22:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57408,"name":"address","nodeType":"ElementaryTypeName","src":"2801:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":57418,"initialValue":{"arguments":[{"hexValue":"435553544f4d5f43555252454e4359","id":57412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2835:17:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_b88af3ce62fbbba7d70a43b65145741cf1e7b7c9649db46e923c205df566c435","typeString":"literal_string \"CUSTOM_CURRENCY\""},"value":"CUSTOM_CURRENCY"},{"arguments":[{"hexValue":"30","id":57415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2862:1:84","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":57414,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2854:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57413,"name":"address","nodeType":"ElementaryTypeName","src":"2854:7:84","typeDescriptions":{}}},"id":57416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2854:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b88af3ce62fbbba7d70a43b65145741cf1e7b7c9649db46e923c205df566c435","typeString":"literal_string \"CUSTOM_CURRENCY\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57410,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"2826:2:84","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2829:5:84","memberName":"envOr","nodeType":"MemberAccess","referencedDeclaration":13673,"src":"2826:8:84","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (string memory,address) view external returns (address)"}},"id":57417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2826:39:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2801:64:84"},{"assignments":[57420],"declarations":[{"constant":false,"id":57420,"mutability":"mutable","name":"minimumBondAmount","nameLocation":"2883:17:84","nodeType":"VariableDeclaration","scope":57740,"src":"2875:25:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":57419,"name":"uint128","nodeType":"ElementaryTypeName","src":"2875:7:84","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"id":57432,"initialValue":{"arguments":[{"arguments":[{"hexValue":"4d494e494d554d5f424f4e445f414d4f554e54","id":57425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2920:21:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_03ca8dfee5748bb568b1195ed68213d1c2cd8eda8d6ed01023b62dfcc220b524","typeString":"literal_string \"MINIMUM_BOND_AMOUNT\""},"value":"MINIMUM_BOND_AMOUNT"},{"arguments":[{"hexValue":"30","id":57428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2951:1:84","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":57427,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2943:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":57426,"name":"uint256","nodeType":"ElementaryTypeName","src":"2943:7:84","typeDescriptions":{}}},"id":57429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2943:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_03ca8dfee5748bb568b1195ed68213d1c2cd8eda8d6ed01023b62dfcc220b524","typeString":"literal_string \"MINIMUM_BOND_AMOUNT\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57423,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"2911:2:84","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2914:5:84","memberName":"envOr","nodeType":"MemberAccess","referencedDeclaration":13597,"src":"2911:8:84","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (string memory,uint256) view external returns (uint256)"}},"id":57430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2911:43:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":57422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2903:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":57421,"name":"uint128","nodeType":"ElementaryTypeName","src":"2903:7:84","typeDescriptions":{}}},"id":57431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2903:52:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"VariableDeclarationStatement","src":"2875:80:84"},{"assignments":[57434],"declarations":[{"constant":false,"id":57434,"mutability":"mutable","name":"maximumBondAmount","nameLocation":"2973:17:84","nodeType":"VariableDeclaration","scope":57740,"src":"2965:25:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":57433,"name":"uint128","nodeType":"ElementaryTypeName","src":"2965:7:84","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"id":57446,"initialValue":{"arguments":[{"arguments":[{"hexValue":"4d4158494d554d5f424f4e445f414d4f554e54","id":57439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3010:21:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_d0bca6bc4d32c992e36b605334b1d5e5878f1097cf77f82fcb0b811c9f7a125f","typeString":"literal_string \"MAXIMUM_BOND_AMOUNT\""},"value":"MAXIMUM_BOND_AMOUNT"},{"arguments":[{"hexValue":"30","id":57442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3041:1:84","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":57441,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3033:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":57440,"name":"uint256","nodeType":"ElementaryTypeName","src":"3033:7:84","typeDescriptions":{}}},"id":57443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3033:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d0bca6bc4d32c992e36b605334b1d5e5878f1097cf77f82fcb0b811c9f7a125f","typeString":"literal_string \"MAXIMUM_BOND_AMOUNT\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57437,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"3001:2:84","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3004:5:84","memberName":"envOr","nodeType":"MemberAccess","referencedDeclaration":13597,"src":"3001:8:84","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (string memory,uint256) view external returns (uint256)"}},"id":57444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3001:43:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":57436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2993:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":57435,"name":"uint128","nodeType":"ElementaryTypeName","src":"2993:7:84","typeDescriptions":{}}},"id":57445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2993:52:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"VariableDeclarationStatement","src":"2965:80:84"},{"assignments":[57452],"declarations":[{"constant":false,"id":57452,"mutability":"mutable","name":"currencyBondRanges","nameLocation":"3109:18:84","nodeType":"VariableDeclaration","scope":57740,"src":"3056:71:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange[]"},"typeName":{"baseType":{"id":57450,"nodeType":"UserDefinedTypeName","pathNode":{"id":57449,"name":"ManagedOptimisticOracleV2.CurrencyBondRange","nameLocations":["3056:25:84","3082:17:84"],"nodeType":"IdentifierPath","referencedDeclaration":60877,"src":"3056:43:84"},"referencedDeclaration":60877,"src":"3056:43:84","typeDescriptions":{"typeIdentifier":"t_struct$_CurrencyBondRange_$60877_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange"}},"id":57451,"nodeType":"ArrayTypeName","src":"3056:45:84","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_storage_$dyn_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange[]"}},"visibility":"internal"}],"id":57453,"nodeType":"VariableDeclarationStatement","src":"3056:71:84"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":57459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57454,"name":"customCurrency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57409,"src":"3141:14:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":57457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3167:1:84","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":57456,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3159:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57455,"name":"address","nodeType":"ElementaryTypeName","src":"3159:7:84","typeDescriptions":{}}},"id":57458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3159:10:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3141:28:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":57491,"nodeType":"Block","src":"3623:173:84","statements":[{"expression":{"id":57489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":57486,"name":"currencyBondRanges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57452,"src":"3733:18:84","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":57487,"name":"_getDefaultCurrencyBondRanges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57870,"src":"3754:29:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr_$","typeString":"function () view returns (struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory)"}},"id":57488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3754:31:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory"}},"src":"3733:52:84","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory"}},"id":57490,"nodeType":"ExpressionStatement","src":"3733:52:84"}]},"id":57492,"nodeType":"IfStatement","src":"3137:659:84","trueBody":{"id":57485,"nodeType":"Block","src":"3171:446:84","statements":[{"expression":{"id":57467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":57460,"name":"currencyBondRanges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57452,"src":"3260:18:84","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":57465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3331:1:84","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":57464,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3281:49:84","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory)"},"typeName":{"baseType":{"id":57462,"nodeType":"UserDefinedTypeName","pathNode":{"id":57461,"name":"ManagedOptimisticOracleV2.CurrencyBondRange","nameLocations":["3285:25:84","3311:17:84"],"nodeType":"IdentifierPath","referencedDeclaration":60877,"src":"3285:43:84"},"referencedDeclaration":60877,"src":"3285:43:84","typeDescriptions":{"typeIdentifier":"t_struct$_CurrencyBondRange_$60877_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange"}},"id":57463,"nodeType":"ArrayTypeName","src":"3285:45:84","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_storage_$dyn_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange[]"}}},"id":57466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3281:52:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory"}},"src":"3260:73:84","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory"}},"id":57468,"nodeType":"ExpressionStatement","src":"3260:73:84"},{"expression":{"id":57483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":57469,"name":"currencyBondRanges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57452,"src":"3347:18:84","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory"}},"id":57471,"indexExpression":{"hexValue":"30","id":57470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3366:1:84","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3347:21:84","typeDescriptions":{"typeIdentifier":"t_struct$_CurrencyBondRange_$60877_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":57475,"name":"customCurrency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57409,"src":"3450:14:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57474,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"3443:6:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$43048_$","typeString":"type(contract IERC20)"}},"id":57476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3443:22:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"arguments":[{"id":57479,"name":"minimumBondAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57420,"src":"3540:17:84","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"id":57480,"name":"maximumBondAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57434,"src":"3572:17:84","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"expression":{"id":57477,"name":"ManagedOptimisticOracleV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61771,"src":"3490:25:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2_$61771_$","typeString":"type(contract ManagedOptimisticOracleV2)"}},"id":57478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3516:9:84","memberName":"BondRange","nodeType":"MemberAccess","referencedDeclaration":60870,"src":"3490:35:84","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_BondRange_$60870_storage_ptr_$","typeString":"type(struct ManagedOptimisticOracleV2.BondRange storage pointer)"}},"id":57481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["3527:11:84","3559:11:84"],"names":["minimumBond","maximumBond"],"nodeType":"FunctionCall","src":"3490:101:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_struct$_BondRange_$60870_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange memory"}],"expression":{"id":57472,"name":"ManagedOptimisticOracleV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61771,"src":"3371:25:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2_$61771_$","typeString":"type(contract ManagedOptimisticOracleV2)"}},"id":57473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3397:17:84","memberName":"CurrencyBondRange","nodeType":"MemberAccess","referencedDeclaration":60877,"src":"3371:43:84","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CurrencyBondRange_$60877_storage_ptr_$","typeString":"type(struct ManagedOptimisticOracleV2.CurrencyBondRange storage pointer)"}},"id":57482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["3433:8:84","3483:5:84"],"names":["currency","range"],"nodeType":"FunctionCall","src":"3371:235:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CurrencyBondRange_$60877_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory"}},"src":"3347:259:84","typeDescriptions":{"typeIdentifier":"t_struct$_CurrencyBondRange_$60877_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory"}},"id":57484,"nodeType":"ExpressionStatement","src":"3347:259:84"}]}},{"assignments":[57494],"declarations":[{"constant":false,"id":57494,"mutability":"mutable","name":"configAdmin","nameLocation":"3870:11:84","nodeType":"VariableDeclaration","scope":57740,"src":"3862:19:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57493,"name":"address","nodeType":"ElementaryTypeName","src":"3862:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":57500,"initialValue":{"arguments":[{"hexValue":"434f4e4649475f41444d494e","id":57497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3893:14:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_8af5290a3bc9fb001a334db3080e05f29cbed54f3cf6e308d2db8704d95c4147","typeString":"literal_string \"CONFIG_ADMIN\""},"value":"CONFIG_ADMIN"},{"id":57498,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57342,"src":"3909:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8af5290a3bc9fb001a334db3080e05f29cbed54f3cf6e308d2db8704d95c4147","typeString":"literal_string \"CONFIG_ADMIN\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57495,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"3884:2:84","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3887:5:84","memberName":"envOr","nodeType":"MemberAccess","referencedDeclaration":13673,"src":"3884:8:84","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (string memory,address) view external returns (address)"}},"id":57499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3884:34:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3862:56:84"},{"assignments":[57502],"declarations":[{"constant":false,"id":57502,"mutability":"mutable","name":"upgradeAdmin","nameLocation":"3936:12:84","nodeType":"VariableDeclaration","scope":57740,"src":"3928:20:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57501,"name":"address","nodeType":"ElementaryTypeName","src":"3928:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":57508,"initialValue":{"arguments":[{"hexValue":"555047524144455f41444d494e","id":57505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3960:15:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab0a819bf57ef52a248771805d8714ae8e073962cc1b48f9667beb971fb3a2c7","typeString":"literal_string \"UPGRADE_ADMIN\""},"value":"UPGRADE_ADMIN"},{"id":57506,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57342,"src":"3977:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ab0a819bf57ef52a248771805d8714ae8e073962cc1b48f9667beb971fb3a2c7","typeString":"literal_string \"UPGRADE_ADMIN\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57503,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"3951:2:84","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3954:5:84","memberName":"envOr","nodeType":"MemberAccess","referencedDeclaration":13673,"src":"3951:8:84","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (string memory,address) view external returns (address)"}},"id":57507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3951:35:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3928:58:84"},{"expression":{"arguments":[{"hexValue":"4465706c6f7965723a","id":57512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4009:11:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_e772c8e8d8a372c021df80dc662847e23e4debc2fbe46a606adc7bd1f2ffe8d0","typeString":"literal_string \"Deployer:\""},"value":"Deployer:"},{"id":57513,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57342,"src":"4022:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e772c8e8d8a372c021df80dc662847e23e4debc2fbe46a606adc7bd1f2ffe8d0","typeString":"literal_string \"Deployer:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57509,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"3997:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4005:3:84","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"3997:11:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3997:34:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57515,"nodeType":"ExpressionStatement","src":"3997:34:84"},{"expression":{"arguments":[{"hexValue":"46696e64657220416464726573733a","id":57519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4053:17:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_624f77253dd2e20ebc08fba34b420d31f217ba5debe5603622e5e73769f62951","typeString":"literal_string \"Finder Address:\""},"value":"Finder Address:"},{"id":57520,"name":"finderAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57349,"src":"4072:13:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_624f77253dd2e20ebc08fba34b420d31f217ba5debe5603622e5e73769f62951","typeString":"literal_string \"Finder Address:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57516,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4041:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4049:3:84","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"4041:11:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4041:45:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57522,"nodeType":"ExpressionStatement","src":"4041:45:84"},{"expression":{"arguments":[{"hexValue":"44656661756c742050726f706f7365722057686974656c6973743a","id":57526,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4108:29:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_8bf5a005130f9f908974867957eba9c681b1ff4af35601992824698b9cd77891","typeString":"literal_string \"Default Proposer Whitelist:\""},"value":"Default Proposer Whitelist:"},{"id":57527,"name":"defaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57373,"src":"4139:24:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8bf5a005130f9f908974867957eba9c681b1ff4af35601992824698b9cd77891","typeString":"literal_string \"Default Proposer Whitelist:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57523,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4096:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4104:3:84","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"4096:11:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4096:68:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57529,"nodeType":"ExpressionStatement","src":"4096:68:84"},{"expression":{"arguments":[{"hexValue":"5265717565737465722057686974656c6973743a","id":57533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4186:22:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_db9bdf292939c724d6b4e095145a4dc634d2430ce53773603ba43225960e7cb1","typeString":"literal_string \"Requester Whitelist:\""},"value":"Requester Whitelist:"},{"id":57534,"name":"requesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57380,"src":"4210:18:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_db9bdf292939c724d6b4e095145a4dc634d2430ce53773603ba43225960e7cb1","typeString":"literal_string \"Requester Whitelist:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57530,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4174:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4182:3:84","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"4174:11:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4174:55:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57536,"nodeType":"ExpressionStatement","src":"4174:55:84"},{"expression":{"arguments":[{"hexValue":"436f6e6669672041646d696e3a","id":57540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4251:15:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_40d25ab055b180e8b87cb7b96342d2b6239a9a0e05a4347cf437d99df33708c1","typeString":"literal_string \"Config Admin:\""},"value":"Config Admin:"},{"id":57541,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57494,"src":"4268:11:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_40d25ab055b180e8b87cb7b96342d2b6239a9a0e05a4347cf437d99df33708c1","typeString":"literal_string \"Config Admin:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57537,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4239:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4247:3:84","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"4239:11:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4239:41:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57543,"nodeType":"ExpressionStatement","src":"4239:41:84"},{"expression":{"arguments":[{"hexValue":"557067726164652041646d696e3a","id":57547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4302:16:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_3970ba08c1b362e76e45672eac77b73233343d35dedf51c76c3dd14ca7a135de","typeString":"literal_string \"Upgrade Admin:\""},"value":"Upgrade Admin:"},{"id":57548,"name":"upgradeAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57502,"src":"4320:12:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3970ba08c1b362e76e45672eac77b73233343d35dedf51c76c3dd14ca7a135de","typeString":"literal_string \"Upgrade Admin:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57544,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4290:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4298:3:84","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"4290:11:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4290:43:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57550,"nodeType":"ExpressionStatement","src":"4290:43:84"},{"expression":{"arguments":[{"hexValue":"44656661756c74204c6976656e6573733a","id":57554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4355:19:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_c93053e03f7ebe00d72031492134c90f9926eaaafafe4750ef306a2ca9610f9f","typeString":"literal_string \"Default Liveness:\""},"value":"Default Liveness:"},{"id":57555,"name":"defaultLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57387,"src":"4376:15:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c93053e03f7ebe00d72031492134c90f9926eaaafafe4750ef306a2ca9610f9f","typeString":"literal_string \"Default Liveness:\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57551,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4343:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4351:3:84","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18744,"src":"4343:11:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":57556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4343:49:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57557,"nodeType":"ExpressionStatement","src":"4343:49:84"},{"expression":{"arguments":[{"hexValue":"4d696e696d756d204c6976656e6573733a","id":57561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4414:19:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_94a326a5c80336e98ca209de4406dab5fda403ead0ebe3010a8ae34e03b67e57","typeString":"literal_string \"Minimum Liveness:\""},"value":"Minimum Liveness:"},{"id":57562,"name":"minimumLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57398,"src":"4435:15:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94a326a5c80336e98ca209de4406dab5fda403ead0ebe3010a8ae34e03b67e57","typeString":"literal_string \"Minimum Liveness:\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57558,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4402:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4410:3:84","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18744,"src":"4402:11:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":57563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4402:49:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57564,"nodeType":"ExpressionStatement","src":"4402:49:84"},{"expression":{"arguments":[{"id":57568,"name":"deployerPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57337,"src":"4552:18:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57565,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"4534:2:84","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4537:14:84","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":15018,"src":"4534:17:84","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":57569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4534:37:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57570,"nodeType":"ExpressionStatement","src":"4534:37:84"},{"assignments":[57573],"declarations":[{"constant":false,"id":57573,"mutability":"mutable","name":"proxy","nameLocation":"4669:5:84","nodeType":"VariableDeclaration","scope":57740,"src":"4643:31:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"},"typeName":{"id":57572,"nodeType":"UserDefinedTypeName","pathNode":{"id":57571,"name":"ManagedOptimisticOracleV2","nameLocations":["4643:25:84"],"nodeType":"IdentifierPath","referencedDeclaration":61771,"src":"4643:25:84"},"referencedDeclaration":61771,"src":"4643:25:84","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"visibility":"internal"}],"id":57594,"initialValue":{"arguments":[{"arguments":[{"hexValue":"4d616e616765644f7074696d69737469634f7261636c6556322e736f6c3a4d616e616765644f7074696d69737469634f7261636c655632","id":57577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4758:57:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef4ce865116e4931a00e0a0000954e04822a605a43c7e601bc344c50d4c640fa","typeString":"literal_string \"ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2\""},"value":"ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2"},{"arguments":[{"expression":{"id":57580,"name":"ManagedOptimisticOracleV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61771,"src":"4869:25:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2_$61771_$","typeString":"type(contract ManagedOptimisticOracleV2)"}},"id":57581,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4895:10:84","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":61014,"src":"4869:36:84","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_array$_t_struct$_CurrencyBondRange_$60877_calldata_ptr_$dyn_calldata_ptr_$_t_uint256_$_t_address_$_t_address_$returns$__$","typeString":"function ManagedOptimisticOracleV2.initialize(uint256,address,address,address,struct ManagedOptimisticOracleV2.CurrencyBondRange calldata[] calldata,uint256,address,address)"}},{"components":[{"id":57582,"name":"defaultLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57387,"src":"4953:15:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57583,"name":"finderAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57349,"src":"4994:13:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57584,"name":"defaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57373,"src":"5033:24:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57585,"name":"requesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57380,"src":"5083:18:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57586,"name":"currencyBondRanges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57452,"src":"5127:18:84","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory"}},{"id":57587,"name":"minimumLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57398,"src":"5171:15:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57588,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57494,"src":"5212:11:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57589,"name":"upgradeAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57502,"src":"5249:12:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":57590,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4927:356:84","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr_$_t_uint256_$_t_address_$_t_address_$","typeString":"tuple(uint256,address,address,address,struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory,uint256,address,address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_array$_t_struct$_CurrencyBondRange_$60877_calldata_ptr_$dyn_calldata_ptr_$_t_uint256_$_t_address_$_t_address_$returns$__$","typeString":"function ManagedOptimisticOracleV2.initialize(uint256,address,address,address,struct ManagedOptimisticOracleV2.CurrencyBondRange calldata[] calldata,uint256,address,address)"},{"typeIdentifier":"t_tuple$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr_$_t_uint256_$_t_address_$_t_address_$","typeString":"tuple(uint256,address,address,address,struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory,uint256,address,address)"}],"expression":{"id":57578,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4833:3:84","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57579,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4837:10:84","memberName":"encodeCall","nodeType":"MemberAccess","src":"4833:14:84","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":57591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4833:468:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef4ce865116e4931a00e0a0000954e04822a605a43c7e601bc344c50d4c640fa","typeString":"literal_string \"ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":57575,"name":"Upgrades","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52643,"src":"4716:8:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Upgrades_$52643_$","typeString":"type(library Upgrades)"}},"id":57576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4725:15:84","memberName":"deployUUPSProxy","nodeType":"MemberAccess","referencedDeclaration":52154,"src":"4716:24:84","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,bytes memory) returns (address)"}},"id":57592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4716:599:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57574,"name":"ManagedOptimisticOracleV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61771,"src":"4677:25:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2_$61771_$","typeString":"type(contract ManagedOptimisticOracleV2)"}},"id":57593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4677:648:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"nodeType":"VariableDeclarationStatement","src":"4643:682:84"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57595,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"5336:2:84","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5339:13:84","memberName":"stopBroadcast","nodeType":"MemberAccess","referencedDeclaration":15022,"src":"5336:16:84","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":57598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5336:18:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57599,"nodeType":"ExpressionStatement","src":"5336:18:84"},{"expression":{"arguments":[{"hexValue":"0a3d3d3d204465706c6f796d656e742053756d6d617279203d3d3d","id":57603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5414:30:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_fe9a87529682c345d72b9c1e684f4ffc2fb2449679ee201a418673f8a895a86d","typeString":"literal_string hex\"0a3d3d3d204465706c6f796d656e742053756d6d617279203d3d3d\""},"value":"\n=== Deployment Summary ==="}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fe9a87529682c345d72b9c1e684f4ffc2fb2449679ee201a418673f8a895a86d","typeString":"literal_string hex\"0a3d3d3d204465706c6f796d656e742053756d6d617279203d3d3d\""}],"expression":{"id":57600,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5402:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5410:3:84","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"5402:11:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":57604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5402:43:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57605,"nodeType":"ExpressionStatement","src":"5402:43:84"},{"expression":{"arguments":[{"hexValue":"50726f787920416464726573733a","id":57609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5467:16:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_e76a0207e7af1a570f49f5a3a749431c8f7500af34fe8c28e2b9682e7f9211e5","typeString":"literal_string \"Proxy Address:\""},"value":"Proxy Address:"},{"arguments":[{"id":57612,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57573,"src":"5493:5:84","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}],"id":57611,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5485:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57610,"name":"address","nodeType":"ElementaryTypeName","src":"5485:7:84","typeDescriptions":{}}},"id":57613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5485:14:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e76a0207e7af1a570f49f5a3a749431c8f7500af34fe8c28e2b9682e7f9211e5","typeString":"literal_string \"Proxy Address:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57606,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5455:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5463:3:84","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"5455:11:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5455:45:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57615,"nodeType":"ExpressionStatement","src":"5455:45:84"},{"expression":{"arguments":[{"hexValue":"496d706c656d656e746174696f6e20416464726573733a","id":57619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5522:25:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_862b8f49e07c824823706534e0b83dd96d870c4cb3fafc51e24ac539ad0c0db6","typeString":"literal_string \"Implementation Address:\""},"value":"Implementation Address:"},{"arguments":[{"arguments":[{"id":57624,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57573,"src":"5591:5:84","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}],"id":57623,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5583:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57622,"name":"address","nodeType":"ElementaryTypeName","src":"5583:7:84","typeDescriptions":{}}},"id":57625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5583:14:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57620,"name":"Upgrades","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52643,"src":"5549:8:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Upgrades_$52643_$","typeString":"type(library Upgrades)"}},"id":57621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5558:24:84","memberName":"getImplementationAddress","nodeType":"MemberAccess","referencedDeclaration":52628,"src":"5549:33:84","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":57626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5549:49:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_862b8f49e07c824823706534e0b83dd96d870c4cb3fafc51e24ac539ad0c0db6","typeString":"literal_string \"Implementation Address:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57616,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5510:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5518:3:84","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"5510:11:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5510:89:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57628,"nodeType":"ExpressionStatement","src":"5510:89:84"},{"expression":{"arguments":[{"hexValue":"436861696e2049443a","id":57632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5621:11:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_1819fb621e5bc249bf9a5740212372c48d65576d247cc4cc9085c59818dd89e5","typeString":"literal_string \"Chain ID:\""},"value":"Chain ID:"},{"expression":{"id":57633,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5634:5:84","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":57634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5640:7:84","memberName":"chainid","nodeType":"MemberAccess","src":"5634:13:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1819fb621e5bc249bf9a5740212372c48d65576d247cc4cc9085c59818dd89e5","typeString":"literal_string \"Chain ID:\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57629,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5609:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5617:3:84","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18744,"src":"5609:11:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":57635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5609:39:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57636,"nodeType":"ExpressionStatement","src":"5609:39:84"},{"expression":{"arguments":[{"hexValue":"4465706c6f7965723a","id":57640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5670:11:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_e772c8e8d8a372c021df80dc662847e23e4debc2fbe46a606adc7bd1f2ffe8d0","typeString":"literal_string \"Deployer:\""},"value":"Deployer:"},{"id":57641,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57342,"src":"5683:8:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e772c8e8d8a372c021df80dc662847e23e4debc2fbe46a606adc7bd1f2ffe8d0","typeString":"literal_string \"Deployer:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57637,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5658:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5666:3:84","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"5658:11:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5658:34:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57643,"nodeType":"ExpressionStatement","src":"5658:34:84"},{"expression":{"arguments":[{"hexValue":"436f6e6669672041646d696e3a","id":57647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5714:15:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_40d25ab055b180e8b87cb7b96342d2b6239a9a0e05a4347cf437d99df33708c1","typeString":"literal_string \"Config Admin:\""},"value":"Config Admin:"},{"id":57648,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57494,"src":"5731:11:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_40d25ab055b180e8b87cb7b96342d2b6239a9a0e05a4347cf437d99df33708c1","typeString":"literal_string \"Config Admin:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57644,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5702:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5710:3:84","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"5702:11:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5702:41:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57650,"nodeType":"ExpressionStatement","src":"5702:41:84"},{"expression":{"arguments":[{"hexValue":"557067726164652041646d696e3a","id":57654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5765:16:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_3970ba08c1b362e76e45672eac77b73233343d35dedf51c76c3dd14ca7a135de","typeString":"literal_string \"Upgrade Admin:\""},"value":"Upgrade Admin:"},{"id":57655,"name":"upgradeAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57502,"src":"5783:12:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3970ba08c1b362e76e45672eac77b73233343d35dedf51c76c3dd14ca7a135de","typeString":"literal_string \"Upgrade Admin:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57651,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5753:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5761:3:84","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"5753:11:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5753:43:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57657,"nodeType":"ExpressionStatement","src":"5753:43:84"},{"expression":{"arguments":[{"hexValue":"44656661756c74204c6976656e6573733a","id":57661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5818:19:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_c93053e03f7ebe00d72031492134c90f9926eaaafafe4750ef306a2ca9610f9f","typeString":"literal_string \"Default Liveness:\""},"value":"Default Liveness:"},{"id":57662,"name":"defaultLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57387,"src":"5839:15:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c93053e03f7ebe00d72031492134c90f9926eaaafafe4750ef306a2ca9610f9f","typeString":"literal_string \"Default Liveness:\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57658,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5806:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5814:3:84","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18744,"src":"5806:11:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":57663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5806:49:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57664,"nodeType":"ExpressionStatement","src":"5806:49:84"},{"expression":{"arguments":[{"hexValue":"4d696e696d756d204c6976656e6573733a","id":57668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5877:19:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_94a326a5c80336e98ca209de4406dab5fda403ead0ebe3010a8ae34e03b67e57","typeString":"literal_string \"Minimum Liveness:\""},"value":"Minimum Liveness:"},{"id":57669,"name":"minimumLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57398,"src":"5898:15:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94a326a5c80336e98ca209de4406dab5fda403ead0ebe3010a8ae34e03b67e57","typeString":"literal_string \"Minimum Liveness:\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57665,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5865:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5873:3:84","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18744,"src":"5865:11:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":57670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5865:49:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57671,"nodeType":"ExpressionStatement","src":"5865:49:84"},{"expression":{"arguments":[{"hexValue":"44656661756c742050726f706f7365722057686974656c6973743a","id":57675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5936:29:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_8bf5a005130f9f908974867957eba9c681b1ff4af35601992824698b9cd77891","typeString":"literal_string \"Default Proposer Whitelist:\""},"value":"Default Proposer Whitelist:"},{"id":57676,"name":"defaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57373,"src":"5967:24:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8bf5a005130f9f908974867957eba9c681b1ff4af35601992824698b9cd77891","typeString":"literal_string \"Default Proposer Whitelist:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57672,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5924:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5932:3:84","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"5924:11:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5924:68:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57678,"nodeType":"ExpressionStatement","src":"5924:68:84"},{"expression":{"arguments":[{"hexValue":"5265717565737465722057686974656c6973743a","id":57682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6014:22:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_db9bdf292939c724d6b4e095145a4dc634d2430ce53773603ba43225960e7cb1","typeString":"literal_string \"Requester Whitelist:\""},"value":"Requester Whitelist:"},{"id":57683,"name":"requesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57380,"src":"6038:18:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_db9bdf292939c724d6b4e095145a4dc634d2430ce53773603ba43225960e7cb1","typeString":"literal_string \"Requester Whitelist:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57679,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6002:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6010:3:84","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"6002:11:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6002:55:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57685,"nodeType":"ExpressionStatement","src":"6002:55:84"},{"expression":{"arguments":[{"hexValue":"0a426f6e642072616e6765733a","id":57689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6080:16:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_58bb0df433b22f83e4419f80ae90f3aa11d8f35969efc97947d7a0bb22d3c6e1","typeString":"literal_string hex\"0a426f6e642072616e6765733a\""},"value":"\nBond ranges:"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_58bb0df433b22f83e4419f80ae90f3aa11d8f35969efc97947d7a0bb22d3c6e1","typeString":"literal_string hex\"0a426f6e642072616e6765733a\""}],"expression":{"id":57686,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6068:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6076:3:84","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"6068:11:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":57690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6068:29:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57691,"nodeType":"ExpressionStatement","src":"6068:29:84"},{"body":{"id":57738,"nodeType":"Block","src":"6163:276:84","statements":[{"expression":{"arguments":[{"hexValue":"202043757272656e63793a","id":57706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6189:13:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_dd509b7459835676e27942ff930ea7335ccc3760b2b62f2316c1af560e9139dd","typeString":"literal_string \" Currency:\""},"value":" Currency:"},{"arguments":[{"expression":{"baseExpression":{"id":57709,"name":"currencyBondRanges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57452,"src":"6212:18:84","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory"}},"id":57711,"indexExpression":{"id":57710,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57693,"src":"6231:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6212:21:84","typeDescriptions":{"typeIdentifier":"t_struct$_CurrencyBondRange_$60877_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory"}},"id":57712,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6234:8:84","memberName":"currency","nodeType":"MemberAccess","referencedDeclaration":60873,"src":"6212:30:84","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}],"id":57708,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6204:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57707,"name":"address","nodeType":"ElementaryTypeName","src":"6204:7:84","typeDescriptions":{}}},"id":57713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6204:39:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dd509b7459835676e27942ff930ea7335ccc3760b2b62f2316c1af560e9139dd","typeString":"literal_string \" Currency:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57703,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6177:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6185:3:84","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"6177:11:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6177:67:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57715,"nodeType":"ExpressionStatement","src":"6177:67:84"},{"expression":{"arguments":[{"hexValue":"20204d696e696d756d20426f6e6420416d6f756e743a","id":57719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6270:24:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_839ce9c75438a0260a30ffc47a9adc457ef3d5376c78ea6ae45578900f55b17b","typeString":"literal_string \" Minimum Bond Amount:\""},"value":" Minimum Bond Amount:"},{"expression":{"expression":{"baseExpression":{"id":57720,"name":"currencyBondRanges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57452,"src":"6296:18:84","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory"}},"id":57722,"indexExpression":{"id":57721,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57693,"src":"6315:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6296:21:84","typeDescriptions":{"typeIdentifier":"t_struct$_CurrencyBondRange_$60877_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory"}},"id":57723,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6318:5:84","memberName":"range","nodeType":"MemberAccess","referencedDeclaration":60876,"src":"6296:27:84","typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange memory"}},"id":57724,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6324:11:84","memberName":"minimumBond","nodeType":"MemberAccess","referencedDeclaration":60867,"src":"6296:39:84","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_839ce9c75438a0260a30ffc47a9adc457ef3d5376c78ea6ae45578900f55b17b","typeString":"literal_string \" Minimum Bond Amount:\""},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"expression":{"id":57716,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6258:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6266:3:84","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18744,"src":"6258:11:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":57725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6258:78:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57726,"nodeType":"ExpressionStatement","src":"6258:78:84"},{"expression":{"arguments":[{"hexValue":"20204d6178696d756d20426f6e6420416d6f756e743a","id":57730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6362:24:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6e1cbed57b40e34c2dd65cbbd4cdc9904d20c6b0602a417eb2ee0125f55580f","typeString":"literal_string \" Maximum Bond Amount:\""},"value":" Maximum Bond Amount:"},{"expression":{"expression":{"baseExpression":{"id":57731,"name":"currencyBondRanges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57452,"src":"6388:18:84","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory"}},"id":57733,"indexExpression":{"id":57732,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57693,"src":"6407:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6388:21:84","typeDescriptions":{"typeIdentifier":"t_struct$_CurrencyBondRange_$60877_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory"}},"id":57734,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6410:5:84","memberName":"range","nodeType":"MemberAccess","referencedDeclaration":60876,"src":"6388:27:84","typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange memory"}},"id":57735,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6416:11:84","memberName":"maximumBond","nodeType":"MemberAccess","referencedDeclaration":60869,"src":"6388:39:84","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6e1cbed57b40e34c2dd65cbbd4cdc9904d20c6b0602a417eb2ee0125f55580f","typeString":"literal_string \" Maximum Bond Amount:\""},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"expression":{"id":57727,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6350:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6358:3:84","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18744,"src":"6350:11:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":57736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6350:78:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57737,"nodeType":"ExpressionStatement","src":"6350:78:84"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57696,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57693,"src":"6127:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":57697,"name":"currencyBondRanges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57452,"src":"6131:18:84","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory"}},"id":57698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6150:6:84","memberName":"length","nodeType":"MemberAccess","src":"6131:25:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6127:29:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57739,"initializationExpression":{"assignments":[57693],"declarations":[{"constant":false,"id":57693,"mutability":"mutable","name":"i","nameLocation":"6120:1:84","nodeType":"VariableDeclaration","scope":57739,"src":"6112:9:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57692,"name":"uint256","nodeType":"ElementaryTypeName","src":"6112:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57695,"initialValue":{"hexValue":"30","id":57694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6124:1:84","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6112:13:84"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":57701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6158:3:84","subExpression":{"id":57700,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57693,"src":"6158:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57702,"nodeType":"ExpressionStatement","src":"6158:3:84"},"nodeType":"ForStatement","src":"6107:332:84"}]},"functionSelector":"c0406226","implemented":true,"kind":"function","modifiers":[],"name":"run","nameLocation":"2017:3:84","parameters":{"id":57334,"nodeType":"ParameterList","parameters":[],"src":"2020:2:84"},"returnParameters":{"id":57335,"nodeType":"ParameterList","parameters":[],"src":"2032:0:84"},"scope":57871,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":57761,"nodeType":"FunctionDefinition","src":"6610:226:84","nodes":[],"body":{"id":57760,"nodeType":"Block","src":"6676:160:84","nodes":[],"statements":[{"assignments":[57748],"declarations":[{"constant":false,"id":57748,"mutability":"mutable","name":"mnemonic","nameLocation":"6700:8:84","nodeType":"VariableDeclaration","scope":57760,"src":"6686:22:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57747,"name":"string","nodeType":"ElementaryTypeName","src":"6686:6:84","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":57753,"initialValue":{"arguments":[{"hexValue":"4d4e454d4f4e4943","id":57751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6724:10:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7847ed63e851fdf31d71be7e99485b72f34aad94067c632a3301195aa6e0dd0","typeString":"literal_string \"MNEMONIC\""},"value":"MNEMONIC"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f7847ed63e851fdf31d71be7e99485b72f34aad94067c632a3301195aa6e0dd0","typeString":"literal_string \"MNEMONIC\""}],"expression":{"id":57749,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"6711:2:84","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6714:9:84","memberName":"envString","nodeType":"MemberAccess","referencedDeclaration":13753,"src":"6711:12:84","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":57752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6711:24:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"6686:49:84"},{"expression":{"arguments":[{"id":57756,"name":"mnemonic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57748,"src":"6817:8:84","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":57757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6827:1:84","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":57754,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"6804:2:84","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6807:9:84","memberName":"deriveKey","nodeType":"MemberAccess","referencedDeclaration":13276,"src":"6804:12:84","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_uint32_$returns$_t_uint256_$","typeString":"function (string memory,uint32) pure external returns (uint256)"}},"id":57758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6804:25:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":57746,"id":57759,"nodeType":"Return","src":"6797:32:84"}]},"documentation":{"id":57742,"nodeType":"StructuredDocumentation","src":"6451:154:84","text":" @notice Derives the deployer's private key from the mnemonic\n @return deployerPrivateKey The derived private key for the deployer"},"implemented":true,"kind":"function","modifiers":[],"name":"_getDeployerPrivateKey","nameLocation":"6619:22:84","parameters":{"id":57743,"nodeType":"ParameterList","parameters":[],"src":"6641:2:84"},"returnParameters":{"id":57746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57745,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57761,"src":"6667:7:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57744,"name":"uint256","nodeType":"ElementaryTypeName","src":"6667:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6666:9:84"},"scope":57871,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":57806,"nodeType":"FunctionDefinition","src":"7010:767:84","nodes":[],"body":{"id":57805,"nodeType":"Block","src":"7092:685:84","nodes":[],"statements":[{"assignments":[57768],"declarations":[{"constant":false,"id":57768,"mutability":"mutable","name":"chainId","nameLocation":"7110:7:84","nodeType":"VariableDeclaration","scope":57805,"src":"7102:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57767,"name":"uint256","nodeType":"ElementaryTypeName","src":"7102:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57771,"initialValue":{"expression":{"id":57769,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"7120:5:84","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":57770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7126:7:84","memberName":"chainid","nodeType":"MemberAccess","src":"7120:13:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7102:31:84"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57772,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57768,"src":"7148:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3131313535313131","id":57773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7159:8:84","typeDescriptions":{"typeIdentifier":"t_rational_11155111_by_1","typeString":"int_const 11155111"},"value":"11155111"},"src":"7148:19:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57778,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57768,"src":"7276:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3830303032","id":57779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7287:5:84","typeDescriptions":{"typeIdentifier":"t_rational_80002_by_1","typeString":"int_const 80002"},"value":"80002"},"src":"7276:16:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57784,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57768,"src":"7398:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":57785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7409:1:84","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7398:12:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57790,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57768,"src":"7528:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"313337","id":57791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7539:3:84","typeDescriptions":{"typeIdentifier":"t_rational_137_by_1","typeString":"int_const 137"},"value":"137"},"src":"7528:14:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":57800,"nodeType":"Block","src":"7655:116:84","statements":[{"expression":{"arguments":[{"hexValue":"4e6f2064656661756c742046696e646572206164647265737320666f722074686973206e6574776f726b2e20506c65617365207365742046494e4445525f41444452455353206578706c696369746c792e","id":57797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7676:83:84","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6a6b14159e9d75a754dffd09113a2bf992b4cc9738adcf7ddcc8d4bdf4890fc","typeString":"literal_string \"No default Finder address for this network. Please set FINDER_ADDRESS explicitly.\""},"value":"No default Finder address for this network. Please set FINDER_ADDRESS explicitly."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6a6b14159e9d75a754dffd09113a2bf992b4cc9738adcf7ddcc8d4bdf4890fc","typeString":"literal_string \"No default Finder address for this network. Please set FINDER_ADDRESS explicitly.\""}],"id":57796,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"7669:6:84","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":57798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7669:91:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57799,"nodeType":"ExpressionStatement","src":"7669:91:84"}]},"id":57801,"nodeType":"IfStatement","src":"7524:247:84","trueBody":{"id":57795,"nodeType":"Block","src":"7544:105:84","statements":[{"expression":{"hexValue":"307830396165613462323234326162433862623442423738443533374136376132343541376245433634","id":57793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7596:42:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64"},"functionReturnParameters":57766,"id":57794,"nodeType":"Return","src":"7589:49:84"}]}},"id":57802,"nodeType":"IfStatement","src":"7394:377:84","trueBody":{"id":57789,"nodeType":"Block","src":"7412:106:84","statements":[{"expression":{"hexValue":"307834306639343145343841353532624634393642313534416636626635353732356631384437376333","id":57787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7465:42:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x40f941E48A552bF496B154Af6bf55725f18D77c3"},"functionReturnParameters":57766,"id":57788,"nodeType":"Return","src":"7458:49:84"}]}},"id":57803,"nodeType":"IfStatement","src":"7272:499:84","trueBody":{"id":57783,"nodeType":"Block","src":"7294:94:84","statements":[{"expression":{"hexValue":"307832383037374234374364303333323644653738333839323641363336393938343944443466613837","id":57781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7335:42:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x28077B47Cd03326De7838926A63699849DD4fa87"},"functionReturnParameters":57766,"id":57782,"nodeType":"Return","src":"7328:49:84"}]}},"id":57804,"nodeType":"IfStatement","src":"7144:627:84","trueBody":{"id":57777,"nodeType":"Block","src":"7169:97:84","statements":[{"expression":{"hexValue":"307866344334386544416432353633323630383641456662643141353365313839363831354638663133","id":57775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7213:42:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xf4C48eDAd256326086AEfbd1A53e1896815F8f13"},"functionReturnParameters":57766,"id":57776,"nodeType":"Return","src":"7206:49:84"}]}}]},"documentation":{"id":57762,"nodeType":"StructuredDocumentation","src":"6842:163:84","text":" @notice Returns the default Finder address for the current network\n @return finderAddress The default Finder address for the current chain"},"implemented":true,"kind":"function","modifiers":[],"name":"_getDefaultFinderAddress","nameLocation":"7019:24:84","parameters":{"id":57763,"nodeType":"ParameterList","parameters":[],"src":"7043:2:84"},"returnParameters":{"id":57766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57765,"mutability":"mutable","name":"finderAddress","nameLocation":"7077:13:84","nodeType":"VariableDeclaration","scope":57806,"src":"7069:21:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57764,"name":"address","nodeType":"ElementaryTypeName","src":"7069:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7068:23:84"},"scope":57871,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":57870,"nodeType":"FunctionDefinition","src":"7783:935:84","nodes":[],"body":{"id":57869,"nodeType":"Block","src":"7929:789:84","nodes":[],"statements":[{"assignments":[57814],"declarations":[{"constant":false,"id":57814,"mutability":"mutable","name":"chainId","nameLocation":"7947:7:84","nodeType":"VariableDeclaration","scope":57869,"src":"7939:15:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57813,"name":"uint256","nodeType":"ElementaryTypeName","src":"7939:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57817,"initialValue":{"expression":{"id":57815,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"7957:5:84","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":57816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7963:7:84","memberName":"chainid","nodeType":"MemberAccess","src":"7957:13:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7939:31:84"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57818,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57814,"src":"7985:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"313337","id":57819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7996:3:84","typeDescriptions":{"typeIdentifier":"t_rational_137_by_1","typeString":"int_const 137"},"value":"137"},"src":"7985:14:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57861,"nodeType":"IfStatement","src":"7981:611:84","trueBody":{"id":57860,"nodeType":"Block","src":"8001:591:84","statements":[{"assignments":[57826],"declarations":[{"constant":false,"id":57826,"mutability":"mutable","name":"currencyBondRanges","nameLocation":"8110:18:84","nodeType":"VariableDeclaration","scope":57860,"src":"8057:71:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange[]"},"typeName":{"baseType":{"id":57824,"nodeType":"UserDefinedTypeName","pathNode":{"id":57823,"name":"ManagedOptimisticOracleV2.CurrencyBondRange","nameLocations":["8057:25:84","8083:17:84"],"nodeType":"IdentifierPath","referencedDeclaration":60877,"src":"8057:43:84"},"referencedDeclaration":60877,"src":"8057:43:84","typeDescriptions":{"typeIdentifier":"t_struct$_CurrencyBondRange_$60877_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange"}},"id":57825,"nodeType":"ArrayTypeName","src":"8057:45:84","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_storage_$dyn_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange[]"}},"visibility":"internal"}],"id":57833,"initialValue":{"arguments":[{"hexValue":"31","id":57831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8197:1:84","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":57830,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"8147:49:84","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory)"},"typeName":{"baseType":{"id":57828,"nodeType":"UserDefinedTypeName","pathNode":{"id":57827,"name":"ManagedOptimisticOracleV2.CurrencyBondRange","nameLocations":["8151:25:84","8177:17:84"],"nodeType":"IdentifierPath","referencedDeclaration":60877,"src":"8151:43:84"},"referencedDeclaration":60877,"src":"8151:43:84","typeDescriptions":{"typeIdentifier":"t_struct$_CurrencyBondRange_$60877_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange"}},"id":57829,"nodeType":"ArrayTypeName","src":"8151:45:84","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_storage_$dyn_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange[]"}}},"id":57832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8147:52:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"8057:142:84"},{"expression":{"id":57856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":57834,"name":"currencyBondRanges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57826,"src":"8213:18:84","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory"}},"id":57836,"indexExpression":{"hexValue":"30","id":57835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8232:1:84","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8213:21:84","typeDescriptions":{"typeIdentifier":"t_struct$_CurrencyBondRange_$60877_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"307832373931426361316632646534363631454438384133304339394137613934343941613834313734","id":57840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8316:42:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57839,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"8309:6:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$43048_$","typeString":"type(contract IERC20)"}},"id":57841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8309:50:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"arguments":[{"commonType":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"},"id":57848,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":57844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8455:3:84","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"id":57847,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":57845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8461:2:84","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"36","id":57846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8467:1:84","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"8461:7:84","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"}},"src":"8455:13:84","typeDescriptions":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"}},{"commonType":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"},"id":57853,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130305f303030","id":57849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8483:7:84","typeDescriptions":{"typeIdentifier":"t_rational_100000_by_1","typeString":"int_const 100000"},"value":"100_000"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"id":57852,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":57850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8493:2:84","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"36","id":57851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8499:1:84","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"8493:7:84","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"}},"src":"8483:17:84","typeDescriptions":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"},{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}],"expression":{"id":57842,"name":"ManagedOptimisticOracleV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61771,"src":"8405:25:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2_$61771_$","typeString":"type(contract ManagedOptimisticOracleV2)"}},"id":57843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8431:9:84","memberName":"BondRange","nodeType":"MemberAccess","referencedDeclaration":60870,"src":"8405:35:84","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_BondRange_$60870_storage_ptr_$","typeString":"type(struct ManagedOptimisticOracleV2.BondRange storage pointer)"}},"id":57854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["8442:11:84","8470:11:84"],"names":["minimumBond","maximumBond"],"nodeType":"FunctionCall","src":"8405:97:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_struct$_BondRange_$60870_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange memory"}],"expression":{"id":57837,"name":"ManagedOptimisticOracleV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61771,"src":"8237:25:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2_$61771_$","typeString":"type(contract ManagedOptimisticOracleV2)"}},"id":57838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8263:17:84","memberName":"CurrencyBondRange","nodeType":"MemberAccess","referencedDeclaration":60877,"src":"8237:43:84","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CurrencyBondRange_$60877_storage_ptr_$","typeString":"type(struct ManagedOptimisticOracleV2.CurrencyBondRange storage pointer)"}},"id":57855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["8299:8:84","8398:5:84"],"names":["currency","range"],"nodeType":"FunctionCall","src":"8237:305:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CurrencyBondRange_$60877_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory"}},"src":"8213:329:84","typeDescriptions":{"typeIdentifier":"t_struct$_CurrencyBondRange_$60877_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory"}},"id":57857,"nodeType":"ExpressionStatement","src":"8213:329:84"},{"expression":{"id":57858,"name":"currencyBondRanges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57826,"src":"8563:18:84","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory"}},"functionReturnParameters":57812,"id":57859,"nodeType":"Return","src":"8556:25:84"}]}},{"expression":{"arguments":[{"hexValue":"30","id":57866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8709:1:84","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":57865,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"8659:49:84","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory)"},"typeName":{"baseType":{"id":57863,"nodeType":"UserDefinedTypeName","pathNode":{"id":57862,"name":"ManagedOptimisticOracleV2.CurrencyBondRange","nameLocations":["8663:25:84","8689:17:84"],"nodeType":"IdentifierPath","referencedDeclaration":60877,"src":"8663:43:84"},"referencedDeclaration":60877,"src":"8663:43:84","typeDescriptions":{"typeIdentifier":"t_struct$_CurrencyBondRange_$60877_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange"}},"id":57864,"nodeType":"ArrayTypeName","src":"8663:45:84","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_storage_$dyn_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange[]"}}},"id":57867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8659:52:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory"}},"functionReturnParameters":57812,"id":57868,"nodeType":"Return","src":"8652:59:84"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_getDefaultCurrencyBondRanges","nameLocation":"7792:29:84","parameters":{"id":57807,"nodeType":"ParameterList","parameters":[],"src":"7821:2:84"},"returnParameters":{"id":57812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57811,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57870,"src":"7871:52:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange[]"},"typeName":{"baseType":{"id":57809,"nodeType":"UserDefinedTypeName","pathNode":{"id":57808,"name":"ManagedOptimisticOracleV2.CurrencyBondRange","nameLocations":["7871:25:84","7897:17:84"],"nodeType":"IdentifierPath","referencedDeclaration":60877,"src":"7871:43:84"},"referencedDeclaration":60877,"src":"7871:43:84","typeDescriptions":{"typeIdentifier":"t_struct$_CurrencyBondRange_$60877_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange"}},"id":57810,"nodeType":"ArrayTypeName","src":"7871:45:84","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_storage_$dyn_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange[]"}},"visibility":"internal"}],"src":"7870:54:84"},"scope":57871,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":57332,"name":"Script","nameLocations":["1995:6:84"],"nodeType":"IdentifierPath","referencedDeclaration":100,"src":"1995:6:84"},"id":57333,"nodeType":"InheritanceSpecifier","src":"1995:6:84"}],"canonicalName":"DeployManagedOptimisticOracleV2","contractDependencies":[],"contractKind":"contract","documentation":{"id":57331,"nodeType":"StructuredDocumentation","src":"503:1447:84","text":" @title Deployment script for ManagedOptimisticOracleV2\n @notice Deploys the ManagedOptimisticOracleV2 contract with proxy using OZ Upgrades\n Environment variables:\n - MNEMONIC: Required. The mnemonic phrase for the deployer wallet\n - FINDER_ADDRESS: Optional. Address of the Finder contract. If not provided, will use network-specific defaults:\n - Sepolia (11155111): 0xf4C48eDAd256326086AEfbd1A53e1896815F8f13\n - Amoy (80002): 0x28077B47Cd03326De7838926A63699849DD4fa87\n - Ethereum Mainnet (1): 0x40f941E48A552bF496B154Af6bf55725f18D77c3\n - Polygon Mainnet (137): 0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64\n - DEFAULT_PROPOSER_WHITELIST: Required. Address of the default proposer whitelist\n - REQUESTER_WHITELIST: Required. Address of the requester whitelist\n - CONFIG_ADMIN: Optional. Address of the config admin (defaults to deployer if not provided)\n - UPGRADE_ADMIN: Optional. Address of the upgrade admin (defaults to deployer if not provided)\n - DEFAULT_LIVENESS: Optional. Default liveness period in seconds (defaults to 7200 if not provided)\n - MINIMUM_LIVENESS: Optional. Minimum liveness period in seconds (defaults to 3600 if not provided)\n - CUSTOM_CURRENCY: Optional. Address of a custom currency bond range to initialize\n - MINIMUM_BOND_AMOUNT: Optional. Minimum bond amount for the custom currency\n - MAXIMUM_BOND_AMOUNT: Optional. Maximum bond amount for the custom currency"},"fullyImplemented":true,"internalFunctionIDs":{"18017":1},"linearizedBaseContracts":[57871,100,12932,5773,3683,59,47],"name":"DeployManagedOptimisticOracleV2","nameLocation":"1960:31:84","scope":57872,"usedErrors":[],"usedEvents":[]}],"license":"AGPL-3.0-only"}},"script/RedeployAddressWhitelist.s.sol":{"id":85,"ast":{"absolutePath":"script/RedeployAddressWhitelist.s.sol","id":58846,"exportedSymbols":{"AddressWhitelist":[60496],"RedeployAddressWhitelist":[58845],"Script":[100],"console":[26117]},"nodeType":"SourceUnit","src":"42:14784:85","nodes":[{"id":57873,"nodeType":"PragmaDirective","src":"42:23:85","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":57875,"nodeType":"ImportDirective","src":"67:44:85","nodes":[],"absolutePath":"lib/forge-std/src/Script.sol","file":"forge-std/Script.sol","nameLocation":"-1:-1:-1","scope":58846,"sourceUnit":101,"symbolAliases":[{"foreign":{"id":57874,"name":"Script","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100,"src":"75:6:85","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57877,"nodeType":"ImportDirective","src":"112:46:85","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":58846,"sourceUnit":26118,"symbolAliases":[{"foreign":{"id":57876,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"120:7:85","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57879,"nodeType":"ImportDirective","src":"159:83:85","nodes":[],"absolutePath":"src/common/implementation/AddressWhitelist.sol","file":"../src/common/implementation/AddressWhitelist.sol","nameLocation":"-1:-1:-1","scope":58846,"sourceUnit":60497,"symbolAliases":[{"foreign":{"id":57878,"name":"AddressWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60496,"src":"167:16:85","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58845,"nodeType":"ContractDefinition","src":"828:13997:85","nodes":[{"id":58425,"nodeType":"FunctionDefinition","src":"878:6207:85","nodes":[],"body":{"id":58424,"nodeType":"Block","src":"902:6183:85","nodes":[],"statements":[{"assignments":[57886],"declarations":[{"constant":false,"id":57886,"mutability":"mutable","name":"mnemonic","nameLocation":"964:8:85","nodeType":"VariableDeclaration","scope":58424,"src":"950:22:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57885,"name":"string","nodeType":"ElementaryTypeName","src":"950:6:85","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":57891,"initialValue":{"arguments":[{"hexValue":"4d4e454d4f4e4943","id":57889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"988:10:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7847ed63e851fdf31d71be7e99485b72f34aad94067c632a3301195aa6e0dd0","typeString":"literal_string \"MNEMONIC\""},"value":"MNEMONIC"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f7847ed63e851fdf31d71be7e99485b72f34aad94067c632a3301195aa6e0dd0","typeString":"literal_string \"MNEMONIC\""}],"expression":{"id":57887,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"975:2:85","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"978:9:85","memberName":"envString","nodeType":"MemberAccess","referencedDeclaration":13753,"src":"975:12:85","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":57890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"975:24:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"950:49:85"},{"assignments":[57893],"declarations":[{"constant":false,"id":57893,"mutability":"mutable","name":"previousWhitelist","nameLocation":"1017:17:85","nodeType":"VariableDeclaration","scope":58424,"src":"1009:25:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57892,"name":"address","nodeType":"ElementaryTypeName","src":"1009:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":57898,"initialValue":{"arguments":[{"hexValue":"50524556494f55535f414444524553535f57484954454c495354","id":57896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1051:28:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba4806e5ca5291d0e7c887147ba89b6b0985697687a7ea945bea477188df94fb","typeString":"literal_string \"PREVIOUS_ADDRESS_WHITELIST\""},"value":"PREVIOUS_ADDRESS_WHITELIST"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ba4806e5ca5291d0e7c887147ba89b6b0985697687a7ea945bea477188df94fb","typeString":"literal_string \"PREVIOUS_ADDRESS_WHITELIST\""}],"expression":{"id":57894,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"1037:2:85","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1040:10:85","memberName":"envAddress","nodeType":"MemberAccess","referencedDeclaration":13482,"src":"1037:13:85","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) view external returns (address)"}},"id":57897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1037:43:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1009:71:85"},{"assignments":[57900],"declarations":[{"constant":false,"id":57900,"mutability":"mutable","name":"deployerMultisig","nameLocation":"1098:16:85","nodeType":"VariableDeclaration","scope":58424,"src":"1090:24:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57899,"name":"address","nodeType":"ElementaryTypeName","src":"1090:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":57909,"initialValue":{"arguments":[{"hexValue":"4445504c4f5945525f4d554c5449534947","id":57903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1126:19:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_0686c6a567f77da86b2b3553781d8eabbb082c72801cf6a07ab8d03f67aef346","typeString":"literal_string \"DEPLOYER_MULTISIG\""},"value":"DEPLOYER_MULTISIG"},{"arguments":[{"hexValue":"30","id":57906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1155:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":57905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1147:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57904,"name":"address","nodeType":"ElementaryTypeName","src":"1147:7:85","typeDescriptions":{}}},"id":57907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1147:10:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0686c6a567f77da86b2b3553781d8eabbb082c72801cf6a07ab8d03f67aef346","typeString":"literal_string \"DEPLOYER_MULTISIG\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57901,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"1117:2:85","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1120:5:85","memberName":"envOr","nodeType":"MemberAccess","referencedDeclaration":13673,"src":"1117:8:85","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (string memory,address) view external returns (address)"}},"id":57908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1117:41:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1090:68:85"},{"assignments":[57911],"declarations":[{"constant":false,"id":57911,"mutability":"mutable","name":"multisendAddress","nameLocation":"1260:16:85","nodeType":"VariableDeclaration","scope":58424,"src":"1252:24:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57910,"name":"address","nodeType":"ElementaryTypeName","src":"1252:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":57917,"initialValue":{"arguments":[{"hexValue":"4d554c544953454e445f41444452455353","id":57914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1288:19:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_e17af02af28dcad84db569312ee481a623d388d5dcbc4662ce41e06bee18fd45","typeString":"literal_string \"MULTISEND_ADDRESS\""},"value":"MULTISEND_ADDRESS"},{"hexValue":"307839363431643736346663313363384236323463303434333043373335364331433743383130326532","id":57915,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1309:42:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x9641d764fc13c8B624c04430C7356C1C7C8102e2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e17af02af28dcad84db569312ee481a623d388d5dcbc4662ce41e06bee18fd45","typeString":"literal_string \"MULTISEND_ADDRESS\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57912,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"1279:2:85","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1282:5:85","memberName":"envOr","nodeType":"MemberAccess","referencedDeclaration":13673,"src":"1279:8:85","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (string memory,address) view external returns (address)"}},"id":57916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1279:73:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1252:100:85"},{"assignments":[57919],"declarations":[{"constant":false,"id":57919,"mutability":"mutable","name":"deployerPrivateKey","nameLocation":"1420:18:85","nodeType":"VariableDeclaration","scope":58424,"src":"1412:26:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57918,"name":"uint256","nodeType":"ElementaryTypeName","src":"1412:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57925,"initialValue":{"arguments":[{"id":57922,"name":"mnemonic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57886,"src":"1454:8:85","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":57923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1464:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":57920,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"1441:2:85","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1444:9:85","memberName":"deriveKey","nodeType":"MemberAccess","referencedDeclaration":13276,"src":"1441:12:85","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_uint32_$returns$_t_uint256_$","typeString":"function (string memory,uint32) pure external returns (uint256)"}},"id":57924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1441:25:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1412:54:85"},{"assignments":[57927],"declarations":[{"constant":false,"id":57927,"mutability":"mutable","name":"deployer","nameLocation":"1484:8:85","nodeType":"VariableDeclaration","scope":58424,"src":"1476:16:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57926,"name":"address","nodeType":"ElementaryTypeName","src":"1476:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":57932,"initialValue":{"arguments":[{"id":57930,"name":"deployerPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57919,"src":"1503:18:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57928,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"1495:2:85","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":57929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1498:4:85","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":13820,"src":"1495:7:85","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure external returns (address)"}},"id":57931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1495:27:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1476:46:85"},{"expression":{"arguments":[{"hexValue":"50726576696f7573204164647265737357686974656c6973743a","id":57936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1545:28:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_8a98fd71a2d24da982668c4612249448c10cf10b9b59e9e59c2cc475dd4d8d0a","typeString":"literal_string \"Previous AddressWhitelist:\""},"value":"Previous AddressWhitelist:"},{"id":57937,"name":"previousWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57893,"src":"1575:17:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8a98fd71a2d24da982668c4612249448c10cf10b9b59e9e59c2cc475dd4d8d0a","typeString":"literal_string \"Previous AddressWhitelist:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57933,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"1533:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1541:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"1533:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1533:60:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57939,"nodeType":"ExpressionStatement","src":"1533:60:85"},{"expression":{"arguments":[{"hexValue":"4465706c6f7965723a","id":57943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1615:11:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_e772c8e8d8a372c021df80dc662847e23e4debc2fbe46a606adc7bd1f2ffe8d0","typeString":"literal_string \"Deployer:\""},"value":"Deployer:"},{"id":57944,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57927,"src":"1628:8:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e772c8e8d8a372c021df80dc662847e23e4debc2fbe46a606adc7bd1f2ffe8d0","typeString":"literal_string \"Deployer:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57940,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"1603:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1611:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"1603:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1603:34:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57946,"nodeType":"ExpressionStatement","src":"1603:34:85"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":57952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57947,"name":"deployerMultisig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57900,"src":"1707:16:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":57950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1735:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":57949,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1727:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57948,"name":"address","nodeType":"ElementaryTypeName","src":"1727:7:85","typeDescriptions":{}}},"id":57951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1727:10:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1707:30:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57973,"nodeType":"IfStatement","src":"1703:243:85","trueBody":{"id":57972,"nodeType":"Block","src":"1739:207:85","statements":[{"expression":{"arguments":[{"hexValue":"4d756c746973696720616464726573732070726f76696465643a","id":57956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1765:28:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_54be688410c5e3a3f38a927a61727304058e1922f0dd2dab80dbeee21e026f8c","typeString":"literal_string \"Multisig address provided:\""},"value":"Multisig address provided:"},{"id":57957,"name":"deployerMultisig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57900,"src":"1795:16:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_54be688410c5e3a3f38a927a61727304058e1922f0dd2dab80dbeee21e026f8c","typeString":"literal_string \"Multisig address provided:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57953,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"1753:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1761:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"1753:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1753:59:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57959,"nodeType":"ExpressionStatement","src":"1753:59:85"},{"expression":{"arguments":[{"id":57961,"name":"deployerMultisig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57900,"src":"1843:16:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57962,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57927,"src":"1861:8:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":57960,"name":"validateMultisig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58477,"src":"1826:16:85","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) view"}},"id":57963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1826:44:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57964,"nodeType":"ExpressionStatement","src":"1826:44:85"},{"expression":{"arguments":[{"hexValue":"4d756c746953656e6420616464726573733a","id":57968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1896:20:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_0a7418f4e844e78c9e91a89499657c373631890dc19eb14a3ba8b08d6caf43b0","typeString":"literal_string \"MultiSend address:\""},"value":"MultiSend address:"},{"id":57969,"name":"multisendAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57911,"src":"1918:16:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0a7418f4e844e78c9e91a89499657c373631890dc19eb14a3ba8b08d6caf43b0","typeString":"literal_string \"MultiSend address:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57965,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"1884:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1892:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"1884:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1884:51:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57971,"nodeType":"ExpressionStatement","src":"1884:51:85"}]}},{"assignments":[57976],"declarations":[{"constant":false,"id":57976,"mutability":"mutable","name":"previousWhitelistContract","nameLocation":"2020:25:85","nodeType":"VariableDeclaration","scope":58424,"src":"2003:42:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"},"typeName":{"id":57975,"nodeType":"UserDefinedTypeName","pathNode":{"id":57974,"name":"AddressWhitelist","nameLocations":["2003:16:85"],"nodeType":"IdentifierPath","referencedDeclaration":60496,"src":"2003:16:85"},"referencedDeclaration":60496,"src":"2003:16:85","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"visibility":"internal"}],"id":57980,"initialValue":{"arguments":[{"id":57978,"name":"previousWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57893,"src":"2065:17:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57977,"name":"AddressWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60496,"src":"2048:16:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AddressWhitelist_$60496_$","typeString":"type(contract AddressWhitelist)"}},"id":57979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2048:35:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"nodeType":"VariableDeclarationStatement","src":"2003:80:85"},{"assignments":[57982],"declarations":[{"constant":false,"id":57982,"mutability":"mutable","name":"previousOwner","nameLocation":"2101:13:85","nodeType":"VariableDeclaration","scope":58424,"src":"2093:21:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57981,"name":"address","nodeType":"ElementaryTypeName","src":"2093:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":57986,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57983,"name":"previousWhitelistContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57976,"src":"2117:25:85","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":57984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2143:5:85","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":41259,"src":"2117:31:85","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":57985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2117:33:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2093:57:85"},{"assignments":[57991],"declarations":[{"constant":false,"id":57991,"mutability":"mutable","name":"whitelistedAddresses","nameLocation":"2177:20:85","nodeType":"VariableDeclaration","scope":58424,"src":"2160:37:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":57989,"name":"address","nodeType":"ElementaryTypeName","src":"2160:7:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":57990,"nodeType":"ArrayTypeName","src":"2160:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":57995,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57992,"name":"previousWhitelistContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57976,"src":"2200:25:85","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":57993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2226:12:85","memberName":"getWhitelist","nodeType":"MemberAccess","referencedDeclaration":60463,"src":"2200:38:85","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () view external returns (address[] memory)"}},"id":57994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2200:40:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2160:80:85"},{"expression":{"arguments":[{"hexValue":"50726576696f7573204f776e65723a","id":57999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2263:17:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_586604085676f997ec409e7e75c5e1c8a1bcfb1ab9346581265c0cfeaaf7c378","typeString":"literal_string \"Previous Owner:\""},"value":"Previous Owner:"},{"id":58000,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57982,"src":"2282:13:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_586604085676f997ec409e7e75c5e1c8a1bcfb1ab9346581265c0cfeaaf7c378","typeString":"literal_string \"Previous Owner:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57996,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"2251:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":57998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2259:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"2251:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2251:45:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58002,"nodeType":"ExpressionStatement","src":"2251:45:85"},{"expression":{"arguments":[{"hexValue":"4e756d626572206f662077686974656c69737465642061646472657373657320746f20636f70793a","id":58006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2318:42:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_6911e8f16a2d355a6c9113910c409a9c4f3000d1f6a48fba5cf1ce5d9ad76bf8","typeString":"literal_string \"Number of whitelisted addresses to copy:\""},"value":"Number of whitelisted addresses to copy:"},{"expression":{"id":58007,"name":"whitelistedAddresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57991,"src":"2362:20:85","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2383:6:85","memberName":"length","nodeType":"MemberAccess","src":"2362:27:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6911e8f16a2d355a6c9113910c409a9c4f3000d1f6a48fba5cf1ce5d9ad76bf8","typeString":"literal_string \"Number of whitelisted addresses to copy:\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58003,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"2306:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2314:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18744,"src":"2306:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":58009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2306:84:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58010,"nodeType":"ExpressionStatement","src":"2306:84:85"},{"expression":{"arguments":[{"id":58014,"name":"deployerPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57919,"src":"2450:18:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58011,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"2432:2:85","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":58013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2435:14:85","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":15018,"src":"2432:17:85","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2432:37:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58016,"nodeType":"ExpressionStatement","src":"2432:37:85"},{"assignments":[58019],"declarations":[{"constant":false,"id":58019,"mutability":"mutable","name":"newWhitelist","nameLocation":"2496:12:85","nodeType":"VariableDeclaration","scope":58424,"src":"2479:29:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"},"typeName":{"id":58018,"nodeType":"UserDefinedTypeName","pathNode":{"id":58017,"name":"AddressWhitelist","nameLocations":["2479:16:85"],"nodeType":"IdentifierPath","referencedDeclaration":60496,"src":"2479:16:85"},"referencedDeclaration":60496,"src":"2479:16:85","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"visibility":"internal"}],"id":58024,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":58022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2511:20:85","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_AddressWhitelist_$60496_$","typeString":"function () returns (contract AddressWhitelist)"},"typeName":{"id":58021,"nodeType":"UserDefinedTypeName","pathNode":{"id":58020,"name":"AddressWhitelist","nameLocations":["2515:16:85"],"nodeType":"IdentifierPath","referencedDeclaration":60496,"src":"2515:16:85"},"referencedDeclaration":60496,"src":"2515:16:85","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}},"id":58023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2511:22:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"nodeType":"VariableDeclarationStatement","src":"2479:54:85"},{"expression":{"arguments":[{"hexValue":"4e6577204164647265737357686974656c697374206465706c6f7965642061743a","id":58028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2555:35:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_5eb3fdff7a585237fbd8ed8332fb8cb837328ea0b92015756ac2e4d8368583c1","typeString":"literal_string \"New AddressWhitelist deployed at:\""},"value":"New AddressWhitelist deployed at:"},{"arguments":[{"id":58031,"name":"newWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58019,"src":"2600:12:85","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}],"id":58030,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2592:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58029,"name":"address","nodeType":"ElementaryTypeName","src":"2592:7:85","typeDescriptions":{}}},"id":58032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2592:21:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5eb3fdff7a585237fbd8ed8332fb8cb837328ea0b92015756ac2e4d8368583c1","typeString":"literal_string \"New AddressWhitelist deployed at:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58025,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"2543:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2551:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"2543:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2543:71:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58034,"nodeType":"ExpressionStatement","src":"2543:71:85"},{"assignments":[58036],"declarations":[{"constant":false,"id":58036,"mutability":"mutable","name":"executor","nameLocation":"2688:8:85","nodeType":"VariableDeclaration","scope":58424,"src":"2680:16:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58035,"name":"address","nodeType":"ElementaryTypeName","src":"2680:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":58046,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":58042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58037,"name":"deployerMultisig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57900,"src":"2699:16:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":58040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2727:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58039,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2719:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58038,"name":"address","nodeType":"ElementaryTypeName","src":"2719:7:85","typeDescriptions":{}}},"id":58041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2719:10:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2699:30:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":58044,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57927,"src":"2751:8:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2699:60:85","trueExpression":{"id":58043,"name":"deployerMultisig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57900,"src":"2732:16:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2680:79:85"},{"expression":{"arguments":[{"hexValue":"5573696e67206578656375746f7220666f722077686974656c697374206f7065726174696f6e733a","id":58050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2781:42:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_763e583841b3dd8687c0a396a21cbd9b1fa9d9efb73ecca183307ce7b7ec632a","typeString":"literal_string \"Using executor for whitelist operations:\""},"value":"Using executor for whitelist operations:"},{"id":58051,"name":"executor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58036,"src":"2825:8:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_763e583841b3dd8687c0a396a21cbd9b1fa9d9efb73ecca183307ce7b7ec632a","typeString":"literal_string \"Using executor for whitelist operations:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58047,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"2769:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2777:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"2769:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2769:65:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58053,"nodeType":"ExpressionStatement","src":"2769:65:85"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":58059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58054,"name":"deployerMultisig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57900,"src":"2899:16:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":58057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2927:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58056,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2919:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58055,"name":"address","nodeType":"ElementaryTypeName","src":"2919:7:85","typeDescriptions":{}}},"id":58058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2919:10:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2899:30:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":58190,"nodeType":"Block","src":"3532:1176:85","statements":[{"expression":{"arguments":[{"hexValue":"436f7079696e672077686974656c697374656420616464726573736573207573696e67206465706c6f7965722e2e2e","id":58091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3623:49:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_e8f8785b60085f4962893a19e88af5524952870802c3b50e7d1eb1ad94641be3","typeString":"literal_string \"Copying whitelisted addresses using deployer...\""},"value":"Copying whitelisted addresses using deployer..."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8f8785b60085f4962893a19e88af5524952870802c3b50e7d1eb1ad94641be3","typeString":"literal_string \"Copying whitelisted addresses using deployer...\""}],"expression":{"id":58088,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"3611:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3619:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"3611:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3611:62:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58093,"nodeType":"ExpressionStatement","src":"3611:62:85"},{"body":{"id":58124,"nodeType":"Block","src":"3745:180:85","statements":[{"assignments":[58106],"declarations":[{"constant":false,"id":58106,"mutability":"mutable","name":"addr","nameLocation":"3771:4:85","nodeType":"VariableDeclaration","scope":58124,"src":"3763:12:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58105,"name":"address","nodeType":"ElementaryTypeName","src":"3763:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":58110,"initialValue":{"baseExpression":{"id":58107,"name":"whitelistedAddresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57991,"src":"3778:20:85","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58109,"indexExpression":{"id":58108,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58095,"src":"3799:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3778:23:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3763:38:85"},{"expression":{"arguments":[{"id":58114,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58106,"src":"3847:4:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58111,"name":"newWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58019,"src":"3819:12:85","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":58113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3832:14:85","memberName":"addToWhitelist","nodeType":"MemberAccess","referencedDeclaration":60405,"src":"3819:27:85","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":58115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3819:33:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58116,"nodeType":"ExpressionStatement","src":"3819:33:85"},{"expression":{"arguments":[{"hexValue":"416464656420746f2077686974656c6973743a","id":58120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3882:21:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_efbd80a8d68e3414eb5d83130f244b843001f838d4473b6cd95695f4bfc64b73","typeString":"literal_string \"Added to whitelist:\""},"value":"Added to whitelist:"},{"id":58121,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58106,"src":"3905:4:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_efbd80a8d68e3414eb5d83130f244b843001f838d4473b6cd95695f4bfc64b73","typeString":"literal_string \"Added to whitelist:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58117,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"3870:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3878:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"3870:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3870:40:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58123,"nodeType":"ExpressionStatement","src":"3870:40:85"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":58101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58098,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58095,"src":"3707:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":58099,"name":"whitelistedAddresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57991,"src":"3711:20:85","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3732:6:85","memberName":"length","nodeType":"MemberAccess","src":"3711:27:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3707:31:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58125,"initializationExpression":{"assignments":[58095],"declarations":[{"constant":false,"id":58095,"mutability":"mutable","name":"i","nameLocation":"3700:1:85","nodeType":"VariableDeclaration","scope":58125,"src":"3692:9:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58094,"name":"uint256","nodeType":"ElementaryTypeName","src":"3692:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58097,"initialValue":{"hexValue":"30","id":58096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3704:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"3692:13:85"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":58103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3740:3:85","subExpression":{"id":58102,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58095,"src":"3740:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58104,"nodeType":"ExpressionStatement","src":"3740:3:85"},"nodeType":"ForStatement","src":"3687:238:85"},{"expression":{"arguments":[{"hexValue":"46696e697368656420636f7079696e672077686974656c697374656420616464726573736573","id":58129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3950:40:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_333035e99583bf6edfbaa92e8a0d6d563b5c1bb0753b1e426fbb73e4dec2a71e","typeString":"literal_string \"Finished copying whitelisted addresses\""},"value":"Finished copying whitelisted addresses"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_333035e99583bf6edfbaa92e8a0d6d563b5c1bb0753b1e426fbb73e4dec2a71e","typeString":"literal_string \"Finished copying whitelisted addresses\""}],"expression":{"id":58126,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"3938:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3946:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"3938:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3938:53:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58131,"nodeType":"ExpressionStatement","src":"3938:53:85"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":58137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58132,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57982,"src":"4071:13:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":58135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4096:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58134,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4088:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58133,"name":"address","nodeType":"ElementaryTypeName","src":"4088:7:85","typeDescriptions":{}}},"id":58136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4088:10:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4071:27:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":58158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58156,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57982,"src":"4341:13:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":58157,"name":"executor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58036,"src":"4358:8:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4341:25:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":58187,"nodeType":"Block","src":"4614:84:85","statements":[{"expression":{"arguments":[{"hexValue":"4b656570696e67206578656375746f72206173206f776e65723a","id":58183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4644:28:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_208d7c80c581cfcc6a3a49db7dafd3322d6657dd5484dde8adaf20099d4ddcfc","typeString":"literal_string \"Keeping executor as owner:\""},"value":"Keeping executor as owner:"},{"id":58184,"name":"executor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58036,"src":"4674:8:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_208d7c80c581cfcc6a3a49db7dafd3322d6657dd5484dde8adaf20099d4ddcfc","typeString":"literal_string \"Keeping executor as owner:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58180,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4632:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4640:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"4632:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4632:51:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58186,"nodeType":"ExpressionStatement","src":"4632:51:85"}]},"id":58188,"nodeType":"IfStatement","src":"4337:361:85","trueBody":{"id":58179,"nodeType":"Block","src":"4368:240:85","statements":[{"expression":{"arguments":[{"hexValue":"5472616e7366657272696e67206f776e65727368697020746f2070726576696f7573206f776e65723a","id":58162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4398:43:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_16499e89a8536b4f052fb446c2c6efcceb9e4fa3a06abd6cfbb4f8a18aabbfb0","typeString":"literal_string \"Transferring ownership to previous owner:\""},"value":"Transferring ownership to previous owner:"},{"id":58163,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57982,"src":"4443:13:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_16499e89a8536b4f052fb446c2c6efcceb9e4fa3a06abd6cfbb4f8a18aabbfb0","typeString":"literal_string \"Transferring ownership to previous owner:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58159,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4386:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4394:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"4386:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4386:71:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58165,"nodeType":"ExpressionStatement","src":"4386:71:85"},{"expression":{"arguments":[{"id":58169,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57982,"src":"4506:13:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58166,"name":"newWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58019,"src":"4475:12:85","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":58168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4488:17:85","memberName":"transferOwnership","nodeType":"MemberAccess","referencedDeclaration":41318,"src":"4475:30:85","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":58170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4475:45:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58171,"nodeType":"ExpressionStatement","src":"4475:45:85"},{"expression":{"arguments":[{"hexValue":"4f776e657273686970207472616e7366657272656420746f3a","id":58175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4550:27:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_a8a793bfcd80bed862304cf19e9a764860609f1c8997c35f9c02ce64f6a05f23","typeString":"literal_string \"Ownership transferred to:\""},"value":"Ownership transferred to:"},{"id":58176,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57982,"src":"4579:13:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a8a793bfcd80bed862304cf19e9a764860609f1c8997c35f9c02ce64f6a05f23","typeString":"literal_string \"Ownership transferred to:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58172,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4538:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4546:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"4538:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4538:55:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58178,"nodeType":"ExpressionStatement","src":"4538:55:85"}]}},"id":58189,"nodeType":"IfStatement","src":"4067:631:85","trueBody":{"id":58155,"nodeType":"Block","src":"4100:231:85","statements":[{"expression":{"arguments":[{"hexValue":"50726576696f757320636f6e747261637420686164206e6f206f776e65722c206275726e696e67206f776e657273686970206f6e206e657720636f6e74726163742e2e2e","id":58141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4130:70:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b7de7980357771ca70472352f9782b022da3d2d24f0ddc74e7025d2b1e6fcf3","typeString":"literal_string \"Previous contract had no owner, burning ownership on new contract...\""},"value":"Previous contract had no owner, burning ownership on new contract..."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8b7de7980357771ca70472352f9782b022da3d2d24f0ddc74e7025d2b1e6fcf3","typeString":"literal_string \"Previous contract had no owner, burning ownership on new contract...\""}],"expression":{"id":58138,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4118:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4126:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"4118:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4118:83:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58143,"nodeType":"ExpressionStatement","src":"4118:83:85"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58144,"name":"newWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58019,"src":"4219:12:85","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":58146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4232:17:85","memberName":"renounceOwnership","nodeType":"MemberAccess","referencedDeclaration":41290,"src":"4219:30:85","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4219:32:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58148,"nodeType":"ExpressionStatement","src":"4219:32:85"},{"expression":{"arguments":[{"hexValue":"4f776e657273686970206275726e656420746f207a65726f2061646472657373","id":58152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4281:34:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_bd8df321ceff89024c38fe5cd111f10dd432667e4b9a45191e0f9fc3ba5ff125","typeString":"literal_string \"Ownership burned to zero address\""},"value":"Ownership burned to zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bd8df321ceff89024c38fe5cd111f10dd432667e4b9a45191e0f9fc3ba5ff125","typeString":"literal_string \"Ownership burned to zero address\""}],"expression":{"id":58149,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4269:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4277:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"4269:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4269:47:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58154,"nodeType":"ExpressionStatement","src":"4269:47:85"}]}}]},"id":58191,"nodeType":"IfStatement","src":"2895:1813:85","trueBody":{"id":58087,"nodeType":"Block","src":"2931:595:85","statements":[{"expression":{"arguments":[{"hexValue":"5472616e7366657272696e67206f776e65727368697020746f206d756c746973696720666f72206261746368696e672e2e2e","id":58063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3023:52:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_1727c2b0e123d8258122f99b5a2fcc87d3aa89ff563211894d4e909e4ef2d3db","typeString":"literal_string \"Transferring ownership to multisig for batching...\""},"value":"Transferring ownership to multisig for batching..."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1727c2b0e123d8258122f99b5a2fcc87d3aa89ff563211894d4e909e4ef2d3db","typeString":"literal_string \"Transferring ownership to multisig for batching...\""}],"expression":{"id":58060,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"3011:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3019:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"3011:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3011:65:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58065,"nodeType":"ExpressionStatement","src":"3011:65:85"},{"expression":{"arguments":[{"id":58069,"name":"deployerMultisig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57900,"src":"3121:16:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58066,"name":"newWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58019,"src":"3090:12:85","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":58068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3103:17:85","memberName":"transferOwnership","nodeType":"MemberAccess","referencedDeclaration":41318,"src":"3090:30:85","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":58070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3090:48:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58071,"nodeType":"ExpressionStatement","src":"3090:48:85"},{"expression":{"arguments":[{"hexValue":"4261746368696e672077686974656c697374206164646974696f6e7320616e64206f776e657273686970206f7065726174696f6e73207468726f756768206d756c74697369672e2e2e","id":58075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3266:75:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_0a1e9eca872b317fa67affc2360d9b313c0c9ce7194b1cf44b0f62097b95c7ab","typeString":"literal_string \"Batching whitelist additions and ownership operations through multisig...\""},"value":"Batching whitelist additions and ownership operations through multisig..."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0a1e9eca872b317fa67affc2360d9b313c0c9ce7194b1cf44b0f62097b95c7ab","typeString":"literal_string \"Batching whitelist additions and ownership operations through multisig...\""}],"expression":{"id":58072,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"3254:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58074,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3262:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"3254:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3254:88:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58077,"nodeType":"ExpressionStatement","src":"3254:88:85"},{"expression":{"arguments":[{"id":58079,"name":"newWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58019,"src":"3406:12:85","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},{"id":58080,"name":"whitelistedAddresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57991,"src":"3420:20:85","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":58081,"name":"deployerMultisig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57900,"src":"3442:16:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58082,"name":"multisendAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57911,"src":"3460:16:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58083,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57927,"src":"3478:8:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58084,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57982,"src":"3488:13:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":58078,"name":"batchAddToWhitelistWithOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58697,"src":"3356:32:85","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_AddressWhitelist_$60496_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (contract AddressWhitelist,address[] memory,address,address,address,address)"}},"id":58085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3356:159:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58086,"nodeType":"ExpressionStatement","src":"3356:159:85"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58192,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"4718:2:85","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":58194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4721:13:85","memberName":"stopBroadcast","nodeType":"MemberAccess","referencedDeclaration":15022,"src":"4718:16:85","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4718:18:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58196,"nodeType":"ExpressionStatement","src":"4718:18:85"},{"expression":{"arguments":[{"hexValue":"0a3d3d3d2052656465706c6f796d656e742053756d6d617279203d3d3d","id":58200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4796:32:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_a3c9ca81aa7c25b1c70fad139ea1091f05168887f26c8c24022fc3533b993a39","typeString":"literal_string hex\"0a3d3d3d2052656465706c6f796d656e742053756d6d617279203d3d3d\""},"value":"\n=== Redeployment Summary ==="}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a3c9ca81aa7c25b1c70fad139ea1091f05168887f26c8c24022fc3533b993a39","typeString":"literal_string hex\"0a3d3d3d2052656465706c6f796d656e742053756d6d617279203d3d3d\""}],"expression":{"id":58197,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4784:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4792:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"4784:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4784:45:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58202,"nodeType":"ExpressionStatement","src":"4784:45:85"},{"expression":{"arguments":[{"hexValue":"4e657720436f6e74726163743a","id":58206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4851:15:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_605255c8471101f27d759c11541fb53416ad50fbd152b39e7e107a497c0cdf34","typeString":"literal_string \"New Contract:\""},"value":"New Contract:"},{"arguments":[{"id":58209,"name":"newWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58019,"src":"4876:12:85","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}],"id":58208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4868:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58207,"name":"address","nodeType":"ElementaryTypeName","src":"4868:7:85","typeDescriptions":{}}},"id":58210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4868:21:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_605255c8471101f27d759c11541fb53416ad50fbd152b39e7e107a497c0cdf34","typeString":"literal_string \"New Contract:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58203,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4839:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4847:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"4839:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4839:51:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58212,"nodeType":"ExpressionStatement","src":"4839:51:85"},{"expression":{"arguments":[{"hexValue":"50726576696f757320436f6e74726163743a","id":58216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4912:20:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_a0ae278ccd658f0a5ac11fc8df39373193c5847717f4509682abc0c2bcff148d","typeString":"literal_string \"Previous Contract:\""},"value":"Previous Contract:"},{"id":58217,"name":"previousWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57893,"src":"4934:17:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a0ae278ccd658f0a5ac11fc8df39373193c5847717f4509682abc0c2bcff148d","typeString":"literal_string \"Previous Contract:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58213,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4900:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4908:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"4900:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4900:52:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58219,"nodeType":"ExpressionStatement","src":"4900:52:85"},{"expression":{"arguments":[{"hexValue":"436861696e2049443a","id":58223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4974:11:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_1819fb621e5bc249bf9a5740212372c48d65576d247cc4cc9085c59818dd89e5","typeString":"literal_string \"Chain ID:\""},"value":"Chain ID:"},{"expression":{"id":58224,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4987:5:85","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":58225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4993:7:85","memberName":"chainid","nodeType":"MemberAccess","src":"4987:13:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1819fb621e5bc249bf9a5740212372c48d65576d247cc4cc9085c59818dd89e5","typeString":"literal_string \"Chain ID:\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58220,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4962:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4970:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18744,"src":"4962:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":58226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4962:39:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58227,"nodeType":"ExpressionStatement","src":"4962:39:85"},{"expression":{"arguments":[{"hexValue":"4465706c6f7965723a","id":58231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5023:11:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_e772c8e8d8a372c021df80dc662847e23e4debc2fbe46a606adc7bd1f2ffe8d0","typeString":"literal_string \"Deployer:\""},"value":"Deployer:"},{"id":58232,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57927,"src":"5036:8:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e772c8e8d8a372c021df80dc662847e23e4debc2fbe46a606adc7bd1f2ffe8d0","typeString":"literal_string \"Deployer:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58228,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5011:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5019:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"5011:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5011:34:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58234,"nodeType":"ExpressionStatement","src":"5011:34:85"},{"expression":{"arguments":[{"hexValue":"50726576696f7573204f776e65723a","id":58238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5067:17:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_586604085676f997ec409e7e75c5e1c8a1bcfb1ab9346581265c0cfeaaf7c378","typeString":"literal_string \"Previous Owner:\""},"value":"Previous Owner:"},{"id":58239,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57982,"src":"5086:13:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_586604085676f997ec409e7e75c5e1c8a1bcfb1ab9346581265c0cfeaaf7c378","typeString":"literal_string \"Previous Owner:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58235,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5055:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5063:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"5055:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5055:45:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58241,"nodeType":"ExpressionStatement","src":"5055:45:85"},{"expression":{"arguments":[{"hexValue":"46696e616c204f776e65723a","id":58245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5122:14:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6ba37c9b8f1da55ade59ba5d53c845dba53913a7fc04ae2acb4c86d7e611da7","typeString":"literal_string \"Final Owner:\""},"value":"Final Owner:"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58246,"name":"newWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58019,"src":"5138:12:85","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":58247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5151:5:85","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":41259,"src":"5138:18:85","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":58248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5138:20:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6ba37c9b8f1da55ade59ba5d53c845dba53913a7fc04ae2acb4c86d7e611da7","typeString":"literal_string \"Final Owner:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58242,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5110:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5118:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"5110:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5110:49:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58250,"nodeType":"ExpressionStatement","src":"5110:49:85"},{"expression":{"arguments":[{"hexValue":"57686974656c69737465642041646472657373657320436f706965643a","id":58254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5181:31:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_a19c7175abebb02f01ee8cb89af7b178d5ed5c229fb90ee6cc9329b396c31235","typeString":"literal_string \"Whitelisted Addresses Copied:\""},"value":"Whitelisted Addresses Copied:"},{"expression":{"id":58255,"name":"whitelistedAddresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57991,"src":"5214:20:85","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5235:6:85","memberName":"length","nodeType":"MemberAccess","src":"5214:27:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a19c7175abebb02f01ee8cb89af7b178d5ed5c229fb90ee6cc9329b396c31235","typeString":"literal_string \"Whitelisted Addresses Copied:\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58251,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5169:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5177:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18744,"src":"5169:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":58257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5169:73:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58258,"nodeType":"ExpressionStatement","src":"5169:73:85"},{"assignments":[58263],"declarations":[{"constant":false,"id":58263,"mutability":"mutable","name":"newWhitelistAddresses","nameLocation":"5306:21:85","nodeType":"VariableDeclaration","scope":58424,"src":"5289:38:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":58261,"name":"address","nodeType":"ElementaryTypeName","src":"5289:7:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58262,"nodeType":"ArrayTypeName","src":"5289:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":58267,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58264,"name":"newWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58019,"src":"5330:12:85","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":58265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5343:12:85","memberName":"getWhitelist","nodeType":"MemberAccess","referencedDeclaration":60463,"src":"5330:25:85","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () view external returns (address[] memory)"}},"id":58266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5330:27:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5289:68:85"},{"expression":{"arguments":[{"hexValue":"4e657720436f6e74726163742057686974656c69737420436f756e743a","id":58271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5379:31:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_0527c8af00589621ebcd00bc96e2bb2b5e6c22444b02bf81c10285a1031eeb28","typeString":"literal_string \"New Contract Whitelist Count:\""},"value":"New Contract Whitelist Count:"},{"expression":{"id":58272,"name":"newWhitelistAddresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58263,"src":"5412:21:85","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5434:6:85","memberName":"length","nodeType":"MemberAccess","src":"5412:28:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0527c8af00589621ebcd00bc96e2bb2b5e6c22444b02bf81c10285a1031eeb28","typeString":"literal_string \"New Contract Whitelist Count:\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58268,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5367:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5375:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18744,"src":"5367:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":58274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5367:74:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58275,"nodeType":"ExpressionStatement","src":"5367:74:85"},{"assignments":[58277],"declarations":[{"constant":false,"id":58277,"mutability":"mutable","name":"countMatches","nameLocation":"5457:12:85","nodeType":"VariableDeclaration","scope":58424,"src":"5452:17:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58276,"name":"bool","nodeType":"ElementaryTypeName","src":"5452:4:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":58283,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":58282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":58278,"name":"whitelistedAddresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57991,"src":"5472:20:85","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5493:6:85","memberName":"length","nodeType":"MemberAccess","src":"5472:27:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":58280,"name":"newWhitelistAddresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58263,"src":"5503:21:85","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5525:6:85","memberName":"length","nodeType":"MemberAccess","src":"5503:28:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5472:59:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"5452:79:85"},{"assignments":[58285],"declarations":[{"constant":false,"id":58285,"mutability":"mutable","name":"allAddressesPresent","nameLocation":"5546:19:85","nodeType":"VariableDeclaration","scope":58424,"src":"5541:24:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58284,"name":"bool","nodeType":"ElementaryTypeName","src":"5541:4:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":58287,"initialValue":{"hexValue":"74727565","id":58286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5568:4:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"nodeType":"VariableDeclarationStatement","src":"5541:31:85"},{"condition":{"id":58288,"name":"countMatches","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58277,"src":"5587:12:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58329,"nodeType":"IfStatement","src":"5583:399:85","trueBody":{"id":58328,"nodeType":"Block","src":"5601:381:85","statements":[{"body":{"id":58326,"nodeType":"Block","src":"5673:299:85","statements":[{"assignments":[58301],"declarations":[{"constant":false,"id":58301,"mutability":"mutable","name":"isPresent","nameLocation":"5696:9:85","nodeType":"VariableDeclaration","scope":58326,"src":"5691:14:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58300,"name":"bool","nodeType":"ElementaryTypeName","src":"5691:4:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":58308,"initialValue":{"arguments":[{"baseExpression":{"id":58304,"name":"whitelistedAddresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57991,"src":"5735:20:85","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58306,"indexExpression":{"id":58305,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58290,"src":"5756:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5735:23:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58302,"name":"newWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58019,"src":"5708:12:85","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":58303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5721:13:85","memberName":"isOnWhitelist","nodeType":"MemberAccess","referencedDeclaration":60448,"src":"5708:26:85","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":58307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5708:51:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"5691:68:85"},{"condition":{"id":58310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5781:10:85","subExpression":{"id":58309,"name":"isPresent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58301,"src":"5782:9:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58325,"nodeType":"IfStatement","src":"5777:181:85","trueBody":{"id":58324,"nodeType":"Block","src":"5793:165:85","statements":[{"expression":{"arguments":[{"hexValue":"4d697373696e6720616464726573732066726f6d206e65772077686974656c6973743a","id":58314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5827:37:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6415f98edfca82740a99a7a07aff9d6e489e92cb4e564b90fc6e7adb2e60029","typeString":"literal_string \"Missing address from new whitelist:\""},"value":"Missing address from new whitelist:"},{"baseExpression":{"id":58315,"name":"whitelistedAddresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57991,"src":"5866:20:85","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58317,"indexExpression":{"id":58316,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58290,"src":"5887:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5866:23:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6415f98edfca82740a99a7a07aff9d6e489e92cb4e564b90fc6e7adb2e60029","typeString":"literal_string \"Missing address from new whitelist:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58311,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5815:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5823:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"5815:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5815:75:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58319,"nodeType":"ExpressionStatement","src":"5815:75:85"},{"expression":{"id":58322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58320,"name":"allAddressesPresent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58285,"src":"5912:19:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":58321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5934:5:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"5912:27:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58323,"nodeType":"ExpressionStatement","src":"5912:27:85"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":58296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58293,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58290,"src":"5635:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":58294,"name":"whitelistedAddresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57991,"src":"5639:20:85","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5660:6:85","memberName":"length","nodeType":"MemberAccess","src":"5639:27:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5635:31:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58327,"initializationExpression":{"assignments":[58290],"declarations":[{"constant":false,"id":58290,"mutability":"mutable","name":"i","nameLocation":"5628:1:85","nodeType":"VariableDeclaration","scope":58327,"src":"5620:9:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58289,"name":"uint256","nodeType":"ElementaryTypeName","src":"5620:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58292,"initialValue":{"hexValue":"30","id":58291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5632:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"5620:13:85"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":58298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5668:3:85","subExpression":{"id":58297,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58290,"src":"5668:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58299,"nodeType":"ExpressionStatement","src":"5668:3:85"},"nodeType":"ForStatement","src":"5615:357:85"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":58332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58330,"name":"countMatches","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58277,"src":"5996:12:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":58331,"name":"allAddressesPresent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58285,"src":"6012:19:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5996:35:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":58380,"nodeType":"Block","src":"6125:500:85","statements":[{"expression":{"arguments":[{"hexValue":"5b4641494c45445d2057686974656c69737420636f707920766572696669636174696f6e3a204641494c4544","id":58343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6151:46:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_20419ad13ba7ca6d9573553d179ad0604ea95969276cef1fed7a8e7b52ccabbc","typeString":"literal_string \"[FAILED] Whitelist copy verification: FAILED\""},"value":"[FAILED] Whitelist copy verification: FAILED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_20419ad13ba7ca6d9573553d179ad0604ea95969276cef1fed7a8e7b52ccabbc","typeString":"literal_string \"[FAILED] Whitelist copy verification: FAILED\""}],"expression":{"id":58340,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6139:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6147:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"6139:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6139:59:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58345,"nodeType":"ExpressionStatement","src":"6139:59:85"},{"condition":{"id":58347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6216:13:85","subExpression":{"id":58346,"name":"countMatches","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58277,"src":"6217:12:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58365,"nodeType":"IfStatement","src":"6212:209:85","trueBody":{"id":58364,"nodeType":"Block","src":"6231:190:85","statements":[{"expression":{"arguments":[{"hexValue":"436f756e74206d69736d61746368202d2045787065637465643a","id":58351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6261:28:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_0098fedf6cfdb838679c8fb4b5c0109d41000a00111a058289ee5e04746872b0","typeString":"literal_string \"Count mismatch - Expected:\""},"value":"Count mismatch - Expected:"},{"expression":{"id":58352,"name":"whitelistedAddresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57991,"src":"6291:20:85","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6312:6:85","memberName":"length","nodeType":"MemberAccess","src":"6291:27:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0098fedf6cfdb838679c8fb4b5c0109d41000a00111a058289ee5e04746872b0","typeString":"literal_string \"Count mismatch - Expected:\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58348,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6249:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6257:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18744,"src":"6249:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":58354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6249:70:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58355,"nodeType":"ExpressionStatement","src":"6249:70:85"},{"expression":{"arguments":[{"hexValue":"436f756e74206d69736d61746368202d2041637475616c3a","id":58359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6349:26:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_1d8eb862ec9a0728cfaed0895e0276f17ed9f3d7d4a8b986fe312a0cb8766426","typeString":"literal_string \"Count mismatch - Actual:\""},"value":"Count mismatch - Actual:"},{"expression":{"id":58360,"name":"newWhitelistAddresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58263,"src":"6377:21:85","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6399:6:85","memberName":"length","nodeType":"MemberAccess","src":"6377:28:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1d8eb862ec9a0728cfaed0895e0276f17ed9f3d7d4a8b986fe312a0cb8766426","typeString":"literal_string \"Count mismatch - Actual:\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58356,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6337:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6345:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18744,"src":"6337:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":58362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6337:69:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58363,"nodeType":"ExpressionStatement","src":"6337:69:85"}]}},{"condition":{"id":58367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6438:20:85","subExpression":{"id":58366,"name":"allAddressesPresent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58285,"src":"6439:19:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58375,"nodeType":"IfStatement","src":"6434:123:85","trueBody":{"id":58374,"nodeType":"Block","src":"6460:97:85","statements":[{"expression":{"arguments":[{"hexValue":"536f6d652061646472657373657320617265206d697373696e672066726f6d20746865206e65772077686974656c697374","id":58371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6490:51:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_c820a9cb4467329f1990b1f7d38c3644d415563a59cb1aeb8b560165418d8057","typeString":"literal_string \"Some addresses are missing from the new whitelist\""},"value":"Some addresses are missing from the new whitelist"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c820a9cb4467329f1990b1f7d38c3644d415563a59cb1aeb8b560165418d8057","typeString":"literal_string \"Some addresses are missing from the new whitelist\""}],"expression":{"id":58368,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6478:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6486:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"6478:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6478:64:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58373,"nodeType":"ExpressionStatement","src":"6478:64:85"}]}},{"expression":{"arguments":[{"hexValue":"57686974656c69737420636f707920766572696669636174696f6e206661696c6564","id":58377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6577:36:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_b33e8ea756dc5ae8fa9bc5c0e68eda9199b8790d47aaa41173018a9a83dd83c5","typeString":"literal_string \"Whitelist copy verification failed\""},"value":"Whitelist copy verification failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b33e8ea756dc5ae8fa9bc5c0e68eda9199b8790d47aaa41173018a9a83dd83c5","typeString":"literal_string \"Whitelist copy verification failed\""}],"id":58376,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"6570:6:85","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6570:44:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58379,"nodeType":"ExpressionStatement","src":"6570:44:85"}]},"id":58381,"nodeType":"IfStatement","src":"5992:633:85","trueBody":{"id":58339,"nodeType":"Block","src":"6033:86:85","statements":[{"expression":{"arguments":[{"hexValue":"5b535543434553535d2057686974656c69737420636f707920766572696669636174696f6e3a2053554343455353","id":58336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6059:48:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_40ad7be60e9ba419b440e09d1d26b524260b8550f307ec8013ed8e44d375febf","typeString":"literal_string \"[SUCCESS] Whitelist copy verification: SUCCESS\""},"value":"[SUCCESS] Whitelist copy verification: SUCCESS"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_40ad7be60e9ba419b440e09d1d26b524260b8550f307ec8013ed8e44d375febf","typeString":"literal_string \"[SUCCESS] Whitelist copy verification: SUCCESS\""}],"expression":{"id":58333,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6047:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6055:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"6047:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6047:61:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58338,"nodeType":"ExpressionStatement","src":"6047:61:85"}]}},{"assignments":[58383],"declarations":[{"constant":false,"id":58383,"mutability":"mutable","name":"finalOwner","nameLocation":"6683:10:85","nodeType":"VariableDeclaration","scope":58424,"src":"6675:18:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58382,"name":"address","nodeType":"ElementaryTypeName","src":"6675:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":58387,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58384,"name":"newWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58019,"src":"6696:12:85","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":58385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6709:5:85","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":41259,"src":"6696:18:85","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":58386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6696:20:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6675:41:85"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":58390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58388,"name":"finalOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58383,"src":"6730:10:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":58389,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57982,"src":"6744:13:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6730:27:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":58422,"nodeType":"Block","src":"6846:233:85","statements":[{"expression":{"arguments":[{"hexValue":"5b4641494c45445d204f776e65727368697020766572696669636174696f6e3a204641494c4544","id":58401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6872:41:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_b20d48afc869b814c11546683e2494fd7bb3359e55e0081f9067146094c7c41d","typeString":"literal_string \"[FAILED] Ownership verification: FAILED\""},"value":"[FAILED] Ownership verification: FAILED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b20d48afc869b814c11546683e2494fd7bb3359e55e0081f9067146094c7c41d","typeString":"literal_string \"[FAILED] Ownership verification: FAILED\""}],"expression":{"id":58398,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6860:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6868:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"6860:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6860:54:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58403,"nodeType":"ExpressionStatement","src":"6860:54:85"},{"expression":{"arguments":[{"hexValue":"45787065637465643a","id":58407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6940:11:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_d4edf3944054bbb002b64acb6cb8dc399d7c0c166825b9398e5afda8d937eee7","typeString":"literal_string \"Expected:\""},"value":"Expected:"},{"id":58408,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57982,"src":"6953:13:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d4edf3944054bbb002b64acb6cb8dc399d7c0c166825b9398e5afda8d937eee7","typeString":"literal_string \"Expected:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58404,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6928:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6936:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"6928:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6928:39:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58410,"nodeType":"ExpressionStatement","src":"6928:39:85"},{"expression":{"arguments":[{"hexValue":"41637475616c3a","id":58414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6993:9:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_8915f80e7f3ded05a90a62849f53111a47f22e1cfef18694b6453ea8cde74fb1","typeString":"literal_string \"Actual:\""},"value":"Actual:"},{"id":58415,"name":"finalOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58383,"src":"7004:10:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8915f80e7f3ded05a90a62849f53111a47f22e1cfef18694b6453ea8cde74fb1","typeString":"literal_string \"Actual:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58411,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6981:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6989:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"6981:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6981:34:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58417,"nodeType":"ExpressionStatement","src":"6981:34:85"},{"expression":{"arguments":[{"hexValue":"4f776e65727368697020766572696669636174696f6e206661696c6564","id":58419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7036:31:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_ade167530ea167b28e7d127b3afa0e49dbc8dcc7c4f867d2362e2d4c17cdfd18","typeString":"literal_string \"Ownership verification failed\""},"value":"Ownership verification failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ade167530ea167b28e7d127b3afa0e49dbc8dcc7c4f867d2362e2d4c17cdfd18","typeString":"literal_string \"Ownership verification failed\""}],"id":58418,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"7029:6:85","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7029:39:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58421,"nodeType":"ExpressionStatement","src":"7029:39:85"}]},"id":58423,"nodeType":"IfStatement","src":"6726:353:85","trueBody":{"id":58397,"nodeType":"Block","src":"6759:81:85","statements":[{"expression":{"arguments":[{"hexValue":"5b535543434553535d204f776e65727368697020766572696669636174696f6e3a2053554343455353","id":58394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6785:43:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2ec7cf1641923a127da1c038f95f43400a2b579d0d528106355b8e6c4abbdf0","typeString":"literal_string \"[SUCCESS] Ownership verification: SUCCESS\""},"value":"[SUCCESS] Ownership verification: SUCCESS"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e2ec7cf1641923a127da1c038f95f43400a2b579d0d528106355b8e6c4abbdf0","typeString":"literal_string \"[SUCCESS] Ownership verification: SUCCESS\""}],"expression":{"id":58391,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6773:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6781:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"6773:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6773:56:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58396,"nodeType":"ExpressionStatement","src":"6773:56:85"}]}}]},"functionSelector":"c0406226","implemented":true,"kind":"function","modifiers":[],"name":"run","nameLocation":"887:3:85","parameters":{"id":57883,"nodeType":"ParameterList","parameters":[],"src":"890:2:85"},"returnParameters":{"id":57884,"nodeType":"ParameterList","parameters":[],"src":"902:0:85"},"scope":58845,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":58477,"nodeType":"FunctionDefinition","src":"7325:543:85","nodes":[],"body":{"id":58476,"nodeType":"Block","src":"7401:467:85","nodes":[],"statements":[{"assignments":[58434],"declarations":[{"constant":false,"id":58434,"mutability":"mutable","name":"threshold","nameLocation":"7419:9:85","nodeType":"VariableDeclaration","scope":58476,"src":"7411:17:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58433,"name":"uint256","nodeType":"ElementaryTypeName","src":"7411:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58438,"initialValue":{"arguments":[{"id":58436,"name":"multisig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58428,"src":"7452:8:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58435,"name":"getMultisigThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58501,"src":"7431:20:85","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":58437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7431:30:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7411:50:85"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":58441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58439,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58434,"src":"7475:9:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"31","id":58440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7488:1:85","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7475:14:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58447,"nodeType":"IfStatement","src":"7471:104:85","trueBody":{"id":58446,"nodeType":"Block","src":"7491:84:85","statements":[{"expression":{"arguments":[{"hexValue":"4d756c7469736967207468726573686f6c64206d757374206265203120666f722073696e676c65207369676e6174757265","id":58443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7512:51:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_06527138eea2b1e70a20f213dedbfe90c46c2ef3b67a4c0a41327930e7f8d833","typeString":"literal_string \"Multisig threshold must be 1 for single signature\""},"value":"Multisig threshold must be 1 for single signature"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_06527138eea2b1e70a20f213dedbfe90c46c2ef3b67a4c0a41327930e7f8d833","typeString":"literal_string \"Multisig threshold must be 1 for single signature\""}],"id":58442,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"7505:6:85","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7505:59:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58445,"nodeType":"ExpressionStatement","src":"7505:59:85"}]}},{"expression":{"arguments":[{"hexValue":"4d756c7469736967207468726573686f6c642076616c6964617465643a","id":58451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7596:31:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_792714f46c0333b8eef3b9236ea9dc8759c025eefd99f9a70f033a9565d1f49d","typeString":"literal_string \"Multisig threshold validated:\""},"value":"Multisig threshold validated:"},{"id":58452,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58434,"src":"7629:9:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_792714f46c0333b8eef3b9236ea9dc8759c025eefd99f9a70f033a9565d1f49d","typeString":"literal_string \"Multisig threshold validated:\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58448,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"7584:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7592:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18744,"src":"7584:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":58453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7584:55:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58454,"nodeType":"ExpressionStatement","src":"7584:55:85"},{"assignments":[58456],"declarations":[{"constant":false,"id":58456,"mutability":"mutable","name":"isSigner","nameLocation":"7655:8:85","nodeType":"VariableDeclaration","scope":58476,"src":"7650:13:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58455,"name":"bool","nodeType":"ElementaryTypeName","src":"7650:4:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":58461,"initialValue":{"arguments":[{"id":58458,"name":"multisig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58428,"src":"7683:8:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58459,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58430,"src":"7693:8:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":58457,"name":"isMultisigSigner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58531,"src":"7666:16:85","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view returns (bool)"}},"id":58460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7666:36:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"7650:52:85"},{"condition":{"id":58463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7716:9:85","subExpression":{"id":58462,"name":"isSigner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58456,"src":"7717:8:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58469,"nodeType":"IfStatement","src":"7712:90:85","trueBody":{"id":58468,"nodeType":"Block","src":"7727:75:85","statements":[{"expression":{"arguments":[{"hexValue":"4465706c6f796572206973206e6f742061207369676e6572206f6620746865206d756c7469736967","id":58465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7748:42:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_efb87242fa41f9ce8d0ce1d99a28bdfe19ad08e6bad0d8681685d09d321a3d9f","typeString":"literal_string \"Deployer is not a signer of the multisig\""},"value":"Deployer is not a signer of the multisig"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_efb87242fa41f9ce8d0ce1d99a28bdfe19ad08e6bad0d8681685d09d321a3d9f","typeString":"literal_string \"Deployer is not a signer of the multisig\""}],"id":58464,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"7741:6:85","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7741:50:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58467,"nodeType":"ExpressionStatement","src":"7741:50:85"}]}},{"expression":{"arguments":[{"hexValue":"4465706c6f796572207369676e65722076616c69646174696f6e3a2053554343455353","id":58473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7823:37:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_5014bacd81afdcd7a8f04d79702443433e24ddab88e110fa5634794640ae2313","typeString":"literal_string \"Deployer signer validation: SUCCESS\""},"value":"Deployer signer validation: SUCCESS"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5014bacd81afdcd7a8f04d79702443433e24ddab88e110fa5634794640ae2313","typeString":"literal_string \"Deployer signer validation: SUCCESS\""}],"expression":{"id":58470,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"7811:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7819:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"7811:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7811:50:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58475,"nodeType":"ExpressionStatement","src":"7811:50:85"}]},"documentation":{"id":58426,"nodeType":"StructuredDocumentation","src":"7091:229:85","text":" @notice Validates multisig configuration: deployer must be a signer and threshold must be 1\n @param multisig The multisig contract address\n @param deployer The deployer address to validate as signer"},"implemented":true,"kind":"function","modifiers":[],"name":"validateMultisig","nameLocation":"7334:16:85","parameters":{"id":58431,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58428,"mutability":"mutable","name":"multisig","nameLocation":"7359:8:85","nodeType":"VariableDeclaration","scope":58477,"src":"7351:16:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58427,"name":"address","nodeType":"ElementaryTypeName","src":"7351:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58430,"mutability":"mutable","name":"deployer","nameLocation":"7377:8:85","nodeType":"VariableDeclaration","scope":58477,"src":"7369:16:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58429,"name":"address","nodeType":"ElementaryTypeName","src":"7369:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7350:36:85"},"returnParameters":{"id":58432,"nodeType":"ParameterList","parameters":[],"src":"7401:0:85"},"scope":58845,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":58501,"nodeType":"FunctionDefinition","src":"8037:223:85","nodes":[],"body":{"id":58500,"nodeType":"Block","src":"8127:133:85","nodes":[],"statements":[{"assignments":[58486],"declarations":[{"constant":false,"id":58486,"mutability":"mutable","name":"result","nameLocation":"8150:6:85","nodeType":"VariableDeclaration","scope":58500,"src":"8137:19:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58485,"name":"bytes","nodeType":"ElementaryTypeName","src":"8137:5:85","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":58491,"initialValue":{"arguments":[{"id":58488,"name":"multisig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58480,"src":"8180:8:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"6765745468726573686f6c642829","id":58489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8190:16:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_e75235b8e3646246bff01a77976826b2f4773b4878796da11bfdcd9fbd68e83f","typeString":"literal_string \"getThreshold()\""},"value":"getThreshold()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_e75235b8e3646246bff01a77976826b2f4773b4878796da11bfdcd9fbd68e83f","typeString":"literal_string \"getThreshold()\""}],"id":58487,"name":"callMultisigFunction","nodeType":"Identifier","overloadedDeclarations":[58583,58600],"referencedDeclaration":58600,"src":"8159:20:85","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,string memory) view returns (bytes memory)"}},"id":58490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8159:48:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8137:70:85"},{"expression":{"arguments":[{"id":58494,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58486,"src":"8235:6:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":58496,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8244:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":58495,"name":"uint256","nodeType":"ElementaryTypeName","src":"8244:7:85","typeDescriptions":{}}}],"id":58497,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8243:9:85","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":58492,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8224:3:85","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58493,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8228:6:85","memberName":"decode","nodeType":"MemberAccess","src":"8224:10:85","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":58498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8224:29:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":58484,"id":58499,"nodeType":"Return","src":"8217:36:85"}]},"documentation":{"id":58478,"nodeType":"StructuredDocumentation","src":"7874:158:85","text":" @notice Gets the multisig threshold value\n @param multisig The multisig contract address\n @return threshold The threshold value"},"implemented":true,"kind":"function","modifiers":[],"name":"getMultisigThreshold","nameLocation":"8046:20:85","parameters":{"id":58481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58480,"mutability":"mutable","name":"multisig","nameLocation":"8075:8:85","nodeType":"VariableDeclaration","scope":58501,"src":"8067:16:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58479,"name":"address","nodeType":"ElementaryTypeName","src":"8067:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8066:18:85"},"returnParameters":{"id":58484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58483,"mutability":"mutable","name":"threshold","nameLocation":"8116:9:85","nodeType":"VariableDeclaration","scope":58501,"src":"8108:17:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58482,"name":"uint256","nodeType":"ElementaryTypeName","src":"8108:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8107:19:85"},"scope":58845,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":58531,"nodeType":"FunctionDefinition","src":"8497:250:85","nodes":[],"body":{"id":58530,"nodeType":"Block","src":"8595:152:85","nodes":[],"statements":[{"assignments":[58512],"declarations":[{"constant":false,"id":58512,"mutability":"mutable","name":"result","nameLocation":"8618:6:85","nodeType":"VariableDeclaration","scope":58530,"src":"8605:19:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58511,"name":"bytes","nodeType":"ElementaryTypeName","src":"8605:5:85","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":58521,"initialValue":{"arguments":[{"id":58514,"name":"multisig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58504,"src":"8648:8:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"69734f776e6572286164647265737329","id":58515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8658:18:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_2f54bf6efe3c885d4f7c60dd2b62f9e1c8e834c7152c314a797c4d0e05c447cf","typeString":"literal_string \"isOwner(address)\""},"value":"isOwner(address)"},{"arguments":[{"id":58518,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58506,"src":"8689:6:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58516,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8678:3:85","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8682:6:85","memberName":"encode","nodeType":"MemberAccess","src":"8678:10:85","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8678:18:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_2f54bf6efe3c885d4f7c60dd2b62f9e1c8e834c7152c314a797c4d0e05c447cf","typeString":"literal_string \"isOwner(address)\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58513,"name":"callMultisigFunction","nodeType":"Identifier","overloadedDeclarations":[58583,58600],"referencedDeclaration":58583,"src":"8627:20:85","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,string memory,bytes memory) view returns (bytes memory)"}},"id":58520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8627:70:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8605:92:85"},{"expression":{"arguments":[{"id":58524,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58512,"src":"8725:6:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":58526,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8734:4:85","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":58525,"name":"bool","nodeType":"ElementaryTypeName","src":"8734:4:85","typeDescriptions":{}}}],"id":58527,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8733:6:85","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":58522,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8714:3:85","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58523,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8718:6:85","memberName":"decode","nodeType":"MemberAccess","src":"8714:10:85","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":58528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8714:26:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":58510,"id":58529,"nodeType":"Return","src":"8707:33:85"}]},"documentation":{"id":58502,"nodeType":"StructuredDocumentation","src":"8266:226:85","text":" @notice Checks if an address is a multisig signer\n @param multisig The multisig contract address\n @param signer The signer address to check\n @return isSigner Whether the address is a signer"},"implemented":true,"kind":"function","modifiers":[],"name":"isMultisigSigner","nameLocation":"8506:16:85","parameters":{"id":58507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58504,"mutability":"mutable","name":"multisig","nameLocation":"8531:8:85","nodeType":"VariableDeclaration","scope":58531,"src":"8523:16:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58503,"name":"address","nodeType":"ElementaryTypeName","src":"8523:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58506,"mutability":"mutable","name":"signer","nameLocation":"8549:6:85","nodeType":"VariableDeclaration","scope":58531,"src":"8541:14:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58505,"name":"address","nodeType":"ElementaryTypeName","src":"8541:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8522:34:85"},"returnParameters":{"id":58510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58509,"mutability":"mutable","name":"isSigner","nameLocation":"8585:8:85","nodeType":"VariableDeclaration","scope":58531,"src":"8580:13:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58508,"name":"bool","nodeType":"ElementaryTypeName","src":"8580:4:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8579:15:85"},"scope":58845,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":58583,"nodeType":"FunctionDefinition","src":"9040:533:85","nodes":[],"body":{"id":58582,"nodeType":"Block","src":"9202:371:85","nodes":[],"statements":[{"assignments":[58544],"declarations":[{"constant":false,"id":58544,"mutability":"mutable","name":"callData","nameLocation":"9225:8:85","nodeType":"VariableDeclaration","scope":58582,"src":"9212:21:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58543,"name":"bytes","nodeType":"ElementaryTypeName","src":"9212:5:85","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":58562,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":58548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":58545,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58538,"src":"9236:4:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":58546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9241:6:85","memberName":"length","nodeType":"MemberAccess","src":"9236:11:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":58547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9250:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9236:15:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":58559,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58536,"src":"9363:9:85","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":58557,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9339:3:85","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58558,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9343:19:85","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9339:23:85","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9339:34:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":58561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"9236:137:85","trueExpression":{"arguments":[{"arguments":[{"id":58553,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58536,"src":"9307:9:85","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":58551,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9283:3:85","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9287:19:85","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9283:23:85","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9283:34:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":58555,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58538,"src":"9319:4:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58549,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9266:3:85","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58550,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9270:12:85","memberName":"encodePacked","nodeType":"MemberAccess","src":"9266:16:85","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9266:58:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9212:161:85"},{"assignments":[58564,58566],"declarations":[{"constant":false,"id":58564,"mutability":"mutable","name":"success","nameLocation":"9389:7:85","nodeType":"VariableDeclaration","scope":58582,"src":"9384:12:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58563,"name":"bool","nodeType":"ElementaryTypeName","src":"9384:4:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58566,"mutability":"mutable","name":"returndata","nameLocation":"9411:10:85","nodeType":"VariableDeclaration","scope":58582,"src":"9398:23:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58565,"name":"bytes","nodeType":"ElementaryTypeName","src":"9398:5:85","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":58571,"initialValue":{"arguments":[{"id":58569,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58544,"src":"9443:8:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58567,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"9425:6:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9432:10:85","memberName":"staticcall","nodeType":"MemberAccess","src":"9425:17:85","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":58570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9425:27:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"9383:69:85"},{"condition":{"id":58573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9466:8:85","subExpression":{"id":58572,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58564,"src":"9467:7:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58579,"nodeType":"IfStatement","src":"9462:78:85","trueBody":{"id":58578,"nodeType":"Block","src":"9476:64:85","statements":[{"expression":{"arguments":[{"hexValue":"4d756c74697369672066756e6374696f6e2063616c6c206661696c6564","id":58575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9497:31:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_1a1473ddbd70743457de5811d728439533d7eb0ead9c31d5d43ad829629a3060","typeString":"literal_string \"Multisig function call failed\""},"value":"Multisig function call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1a1473ddbd70743457de5811d728439533d7eb0ead9c31d5d43ad829629a3060","typeString":"literal_string \"Multisig function call failed\""}],"id":58574,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"9490:6:85","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9490:39:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58577,"nodeType":"ExpressionStatement","src":"9490:39:85"}]}},{"expression":{"id":58580,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58566,"src":"9556:10:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":58542,"id":58581,"nodeType":"Return","src":"9549:17:85"}]},"documentation":{"id":58532,"nodeType":"StructuredDocumentation","src":"8753:282:85","text":" @notice Helper function to call multisig functions with optional data\n @param target The target contract address\n @param signature The function signature\n @param data The encoded function data (optional)\n @return result The function result"},"implemented":true,"kind":"function","modifiers":[],"name":"callMultisigFunction","nameLocation":"9049:20:85","parameters":{"id":58539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58534,"mutability":"mutable","name":"target","nameLocation":"9078:6:85","nodeType":"VariableDeclaration","scope":58583,"src":"9070:14:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58533,"name":"address","nodeType":"ElementaryTypeName","src":"9070:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58536,"mutability":"mutable","name":"signature","nameLocation":"9100:9:85","nodeType":"VariableDeclaration","scope":58583,"src":"9086:23:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58535,"name":"string","nodeType":"ElementaryTypeName","src":"9086:6:85","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58538,"mutability":"mutable","name":"data","nameLocation":"9124:4:85","nodeType":"VariableDeclaration","scope":58583,"src":"9111:17:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58537,"name":"bytes","nodeType":"ElementaryTypeName","src":"9111:5:85","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9069:60:85"},"returnParameters":{"id":58542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58541,"mutability":"mutable","name":"result","nameLocation":"9190:6:85","nodeType":"VariableDeclaration","scope":58583,"src":"9177:19:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58540,"name":"bytes","nodeType":"ElementaryTypeName","src":"9177:5:85","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9176:21:85"},"scope":58845,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":58600,"nodeType":"FunctionDefinition","src":"9804:210:85","nodes":[],"body":{"id":58599,"nodeType":"Block","src":"9947:67:85","nodes":[],"statements":[{"expression":{"arguments":[{"id":58594,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58586,"src":"9985:6:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58595,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58588,"src":"9993:9:85","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"","id":58596,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10004:2:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":58593,"name":"callMultisigFunction","nodeType":"Identifier","overloadedDeclarations":[58583,58600],"referencedDeclaration":58583,"src":"9964:20:85","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,string memory,bytes memory) view returns (bytes memory)"}},"id":58597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9964:43:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":58592,"id":58598,"nodeType":"Return","src":"9957:50:85"}]},"documentation":{"id":58584,"nodeType":"StructuredDocumentation","src":"9579:220:85","text":" @notice Helper function to call multisig functions without data\n @param target The target contract address\n @param signature The function signature\n @return result The function result"},"implemented":true,"kind":"function","modifiers":[],"name":"callMultisigFunction","nameLocation":"9813:20:85","parameters":{"id":58589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58586,"mutability":"mutable","name":"target","nameLocation":"9842:6:85","nodeType":"VariableDeclaration","scope":58600,"src":"9834:14:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58585,"name":"address","nodeType":"ElementaryTypeName","src":"9834:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58588,"mutability":"mutable","name":"signature","nameLocation":"9864:9:85","nodeType":"VariableDeclaration","scope":58600,"src":"9850:23:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58587,"name":"string","nodeType":"ElementaryTypeName","src":"9850:6:85","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9833:41:85"},"returnParameters":{"id":58592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58591,"mutability":"mutable","name":"result","nameLocation":"9935:6:85","nodeType":"VariableDeclaration","scope":58600,"src":"9922:19:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58590,"name":"bytes","nodeType":"ElementaryTypeName","src":"9922:5:85","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9921:21:85"},"scope":58845,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":58697,"nodeType":"FunctionDefinition","src":"10488:1784:85","nodes":[],"body":{"id":58696,"nodeType":"Block","src":"10727:1545:85","nodes":[],"statements":[{"assignments":[58619],"declarations":[{"constant":false,"id":58619,"mutability":"mutable","name":"batchData","nameLocation":"10909:9:85","nodeType":"VariableDeclaration","scope":58696,"src":"10896:22:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58618,"name":"bytes","nodeType":"ElementaryTypeName","src":"10896:5:85","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":58625,"initialValue":{"arguments":[{"id":58621,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58604,"src":"10955:9:85","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},{"id":58622,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58607,"src":"10966:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":58623,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58615,"src":"10977:13:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":58620,"name":"createMultiSendBatchWithOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58813,"src":"10921:33:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_contract$_AddressWhitelist_$60496_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$_t_bytes_memory_ptr_$","typeString":"function (contract AddressWhitelist,address[] memory,address) pure returns (bytes memory)"}},"id":58624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10921:70:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"10896:95:85"},{"assignments":[58627],"declarations":[{"constant":false,"id":58627,"mutability":"mutable","name":"signature","nameLocation":"11096:9:85","nodeType":"VariableDeclaration","scope":58696,"src":"11083:22:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58626,"name":"bytes","nodeType":"ElementaryTypeName","src":"11083:5:85","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":58649,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"id":58636,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58613,"src":"11162:8:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58635,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11154:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":58634,"name":"uint160","nodeType":"ElementaryTypeName","src":"11154:7:85","typeDescriptions":{}}},"id":58637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11154:17:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":58633,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11146:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":58632,"name":"uint256","nodeType":"ElementaryTypeName","src":"11146:7:85","typeDescriptions":{}}},"id":58638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11146:26:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":58631,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11138:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":58630,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11138:7:85","typeDescriptions":{}}},"id":58639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11138:35:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":58642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11219:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58641,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11211:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":58640,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11211:7:85","typeDescriptions":{}}},"id":58643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11211:10:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"31","id":58646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11250:1:85","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":58645,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11244:5:85","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":58644,"name":"uint8","nodeType":"ElementaryTypeName","src":"11244:5:85","typeDescriptions":{}}},"id":58647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11244:8:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":58628,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11108:3:85","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11112:12:85","memberName":"encodePacked","nodeType":"MemberAccess","src":"11108:16:85","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11108:179:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"11083:204:85"},{"expression":{"arguments":[{"hexValue":"457865637574696e67206261746368207472616e73616374696f6e207468726f7567682053616665206d756c746973696720766961204d756c746953656e642e2e2e","id":58653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11310:68:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_eea713bd3e006c9439267aad09ea94a210bc8016f1e79ce1f7ac4e1bceae56c7","typeString":"literal_string \"Executing batch transaction through Safe multisig via MultiSend...\""},"value":"Executing batch transaction through Safe multisig via MultiSend..."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eea713bd3e006c9439267aad09ea94a210bc8016f1e79ce1f7ac4e1bceae56c7","typeString":"literal_string \"Executing batch transaction through Safe multisig via MultiSend...\""}],"expression":{"id":58650,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"11298:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11306:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"11298:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11298:81:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58655,"nodeType":"ExpressionStatement","src":"11298:81:85"},{"assignments":[58657,null],"declarations":[{"constant":false,"id":58657,"mutability":"mutable","name":"success","nameLocation":"11479:7:85","nodeType":"VariableDeclaration","scope":58696,"src":"11474:12:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58656,"name":"bool","nodeType":"ElementaryTypeName","src":"11474:4:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":58681,"initialValue":{"arguments":[{"arguments":[{"hexValue":"657865635472616e73616374696f6e28616464726573732c75696e743235362c62797465732c75696e74382c75696e743235362c75696e743235362c75696e743235362c616464726573732c616464726573732c627974657329","id":58662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11559:92:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_6a761202de7c35c7e1ec7400f298161946f2c5e94981ea3013d935de1cb971bd","typeString":"literal_string \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\""},"value":"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)"},{"id":58663,"name":"multisend","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58611,"src":"11669:9:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":58664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11722:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":58665,"name":"batchData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58619,"src":"11750:9:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"31","id":58666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11807:1:85","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"30","id":58667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11853:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":58668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11885:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":58669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11915:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":58672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11954:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58671,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11946:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58670,"name":"address","nodeType":"ElementaryTypeName","src":"11946:7:85","typeDescriptions":{}}},"id":58673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11946:10:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":58676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11994:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58675,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11986:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58674,"name":"address","nodeType":"ElementaryTypeName","src":"11986:7:85","typeDescriptions":{}}},"id":58677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11986:10:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58678,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58627,"src":"12032:9:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6a761202de7c35c7e1ec7400f298161946f2c5e94981ea3013d935de1cb971bd","typeString":"literal_string \"execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58660,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11518:3:85","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58661,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11522:19:85","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11518:23:85","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11518:551:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58658,"name":"multisig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58609,"src":"11491:8:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11500:4:85","memberName":"call","nodeType":"MemberAccess","src":"11491:13:85","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":58680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11491:588:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"11473:606:85"},{"condition":{"id":58682,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58657,"src":"12094:7:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":58694,"nodeType":"Block","src":"12192:74:85","statements":[{"expression":{"arguments":[{"hexValue":"426174636820657865637574696f6e207468726f756768206d756c7469736967206661696c6564","id":58691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12213:41:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_f9d713e602101f630ce72f7400fbe6b3aa35dd8f1af69ffec18496eb8b838584","typeString":"literal_string \"Batch execution through multisig failed\""},"value":"Batch execution through multisig failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f9d713e602101f630ce72f7400fbe6b3aa35dd8f1af69ffec18496eb8b838584","typeString":"literal_string \"Batch execution through multisig failed\""}],"id":58690,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"12206:6:85","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12206:49:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58693,"nodeType":"ExpressionStatement","src":"12206:49:85"}]},"id":58695,"nodeType":"IfStatement","src":"12090:176:85","trueBody":{"id":58689,"nodeType":"Block","src":"12103:83:85","statements":[{"expression":{"arguments":[{"hexValue":"426174636820657865637574696f6e207468726f756768206d756c7469736967207375636365737366756c","id":58686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12129:45:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba325d5dccba4cba73b7a8d2295e74ef129c9be43d4a771eb91212843fc286d3","typeString":"literal_string \"Batch execution through multisig successful\""},"value":"Batch execution through multisig successful"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ba325d5dccba4cba73b7a8d2295e74ef129c9be43d4a771eb91212843fc286d3","typeString":"literal_string \"Batch execution through multisig successful\""}],"expression":{"id":58683,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"12117:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":58685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12125:3:85","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"12117:11:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12117:58:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58688,"nodeType":"ExpressionStatement","src":"12117:58:85"}]}}]},"documentation":{"id":58601,"nodeType":"StructuredDocumentation","src":"10020:463:85","text":" @notice Batch add addresses to whitelist and handle ownership through Safe multisig using execTransaction\n @param whitelist The whitelist contract\n @param addresses Array of addresses to add\n @param multisig The Safe multisig contract address\n @param multisend The MultiSend contract address\n @param deployer The deployer address (must be a signer)\n @param previousOwner The previous owner address to restore"},"implemented":true,"kind":"function","modifiers":[],"name":"batchAddToWhitelistWithOwnership","nameLocation":"10497:32:85","parameters":{"id":58616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58604,"mutability":"mutable","name":"whitelist","nameLocation":"10556:9:85","nodeType":"VariableDeclaration","scope":58697,"src":"10539:26:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"},"typeName":{"id":58603,"nodeType":"UserDefinedTypeName","pathNode":{"id":58602,"name":"AddressWhitelist","nameLocations":["10539:16:85"],"nodeType":"IdentifierPath","referencedDeclaration":60496,"src":"10539:16:85"},"referencedDeclaration":60496,"src":"10539:16:85","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"visibility":"internal"},{"constant":false,"id":58607,"mutability":"mutable","name":"addresses","nameLocation":"10592:9:85","nodeType":"VariableDeclaration","scope":58697,"src":"10575:26:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":58605,"name":"address","nodeType":"ElementaryTypeName","src":"10575:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58606,"nodeType":"ArrayTypeName","src":"10575:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":58609,"mutability":"mutable","name":"multisig","nameLocation":"10619:8:85","nodeType":"VariableDeclaration","scope":58697,"src":"10611:16:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58608,"name":"address","nodeType":"ElementaryTypeName","src":"10611:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58611,"mutability":"mutable","name":"multisend","nameLocation":"10645:9:85","nodeType":"VariableDeclaration","scope":58697,"src":"10637:17:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58610,"name":"address","nodeType":"ElementaryTypeName","src":"10637:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58613,"mutability":"mutable","name":"deployer","nameLocation":"10672:8:85","nodeType":"VariableDeclaration","scope":58697,"src":"10664:16:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58612,"name":"address","nodeType":"ElementaryTypeName","src":"10664:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58615,"mutability":"mutable","name":"previousOwner","nameLocation":"10698:13:85","nodeType":"VariableDeclaration","scope":58697,"src":"10690:21:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58614,"name":"address","nodeType":"ElementaryTypeName","src":"10690:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10529:188:85"},"returnParameters":{"id":58617,"nodeType":"ParameterList","parameters":[],"src":"10727:0:85"},"scope":58845,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":58813,"nodeType":"FunctionDefinition","src":"12608:1292:85","nodes":[],"body":{"id":58812,"nodeType":"Block","src":"12807:1093:85","nodes":[],"statements":[{"assignments":[58712],"declarations":[{"constant":false,"id":58712,"mutability":"mutable","name":"operations","nameLocation":"12830:10:85","nodeType":"VariableDeclaration","scope":58812,"src":"12817:23:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58711,"name":"bytes","nodeType":"ElementaryTypeName","src":"12817:5:85","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":58717,"initialValue":{"arguments":[{"hexValue":"30","id":58715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12853:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"12843:9:85","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":58713,"name":"bytes","nodeType":"ElementaryTypeName","src":"12847:5:85","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":58716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12843:12:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"12817:38:85"},{"body":{"id":58752,"nodeType":"Block","src":"12952:203:85","statements":[{"assignments":[58730],"declarations":[{"constant":false,"id":58730,"mutability":"mutable","name":"callData","nameLocation":"12979:8:85","nodeType":"VariableDeclaration","scope":58752,"src":"12966:21:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58729,"name":"bytes","nodeType":"ElementaryTypeName","src":"12966:5:85","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":58738,"initialValue":{"arguments":[{"hexValue":"616464546f57686974656c697374286164647265737329","id":58733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13014:25:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_e43252d7ff45cae829515c48fdb060b106d1419705d9bbd0449216a6f2e0dc3c","typeString":"literal_string \"addToWhitelist(address)\""},"value":"addToWhitelist(address)"},{"baseExpression":{"id":58734,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58704,"src":"13041:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58736,"indexExpression":{"id":58735,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58719,"src":"13051:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13041:12:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e43252d7ff45cae829515c48fdb060b106d1419705d9bbd0449216a6f2e0dc3c","typeString":"literal_string \"addToWhitelist(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58731,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12990:3:85","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58732,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12994:19:85","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12990:23:85","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12990:64:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"12966:88:85"},{"expression":{"id":58750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58739,"name":"operations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58712,"src":"13068:10:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":58741,"name":"operations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58712,"src":"13097:10:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":58742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13109:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"id":58745,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58701,"src":"13120:9:85","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}],"id":58744,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13112:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58743,"name":"address","nodeType":"ElementaryTypeName","src":"13112:7:85","typeDescriptions":{}}},"id":58746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13112:18:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":58747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13132:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":58748,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58730,"src":"13135:8:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58740,"name":"appendOperation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58844,"src":"13081:15:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint8_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory,uint8,address,uint256,bytes memory) pure returns (bytes memory)"}},"id":58749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13081:63:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"13068:76:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":58751,"nodeType":"ExpressionStatement","src":"13068:76:85"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":58725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58722,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58719,"src":"12925:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":58723,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58704,"src":"12929:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12939:6:85","memberName":"length","nodeType":"MemberAccess","src":"12929:16:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12925:20:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58753,"initializationExpression":{"assignments":[58719],"declarations":[{"constant":false,"id":58719,"mutability":"mutable","name":"i","nameLocation":"12918:1:85","nodeType":"VariableDeclaration","scope":58753,"src":"12910:9:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58718,"name":"uint256","nodeType":"ElementaryTypeName","src":"12910:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58721,"initialValue":{"hexValue":"30","id":58720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12922:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"12910:13:85"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":58727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12947:3:85","subExpression":{"id":58726,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58719,"src":"12947:1:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58728,"nodeType":"ExpressionStatement","src":"12947:3:85"},"nodeType":"ForStatement","src":"12905:250:85"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":58759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58754,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58706,"src":"13221:13:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":58757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13246:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58756,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13238:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58755,"name":"address","nodeType":"ElementaryTypeName","src":"13238:7:85","typeDescriptions":{}}},"id":58758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13238:10:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13221:27:85","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":58802,"nodeType":"Block","src":"13531:285:85","statements":[{"assignments":[58782],"declarations":[{"constant":false,"id":58782,"mutability":"mutable","name":"transferOwnershipData","nameLocation":"13610:21:85","nodeType":"VariableDeclaration","scope":58802,"src":"13597:34:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58781,"name":"bytes","nodeType":"ElementaryTypeName","src":"13597:5:85","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":58788,"initialValue":{"arguments":[{"hexValue":"7472616e736665724f776e657273686970286164647265737329","id":58785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13658:28:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_f2fde38b092330466c661fc723d5289b90272a3e580e3187d1d7ef788506c557","typeString":"literal_string \"transferOwnership(address)\""},"value":"transferOwnership(address)"},{"id":58786,"name":"previousOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58706,"src":"13688:13:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f2fde38b092330466c661fc723d5289b90272a3e580e3187d1d7ef788506c557","typeString":"literal_string \"transferOwnership(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58783,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13634:3:85","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13638:19:85","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13634:23:85","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13634:68:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"13597:105:85"},{"expression":{"id":58800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58789,"name":"operations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58712,"src":"13716:10:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":58791,"name":"operations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58712,"src":"13745:10:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":58792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13757:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"id":58795,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58701,"src":"13768:9:85","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}],"id":58794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13760:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58793,"name":"address","nodeType":"ElementaryTypeName","src":"13760:7:85","typeDescriptions":{}}},"id":58796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13760:18:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":58797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13780:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":58798,"name":"transferOwnershipData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58782,"src":"13783:21:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58790,"name":"appendOperation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58844,"src":"13729:15:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint8_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory,uint8,address,uint256,bytes memory) pure returns (bytes memory)"}},"id":58799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13729:76:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"13716:89:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":58801,"nodeType":"ExpressionStatement","src":"13716:89:85"}]},"id":58803,"nodeType":"IfStatement","src":"13217:599:85","trueBody":{"id":58780,"nodeType":"Block","src":"13250:275:85","statements":[{"assignments":[58761],"declarations":[{"constant":false,"id":58761,"mutability":"mutable","name":"renounceOwnershipData","nameLocation":"13341:21:85","nodeType":"VariableDeclaration","scope":58780,"src":"13328:34:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58760,"name":"bytes","nodeType":"ElementaryTypeName","src":"13328:5:85","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":58766,"initialValue":{"arguments":[{"hexValue":"72656e6f756e63654f776e6572736869702829","id":58764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13389:21:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_715018a616b5f2044428f6fadb7deef4ce9ca76ef60ea57978964ad137bbe7ae","typeString":"literal_string \"renounceOwnership()\""},"value":"renounceOwnership()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_715018a616b5f2044428f6fadb7deef4ce9ca76ef60ea57978964ad137bbe7ae","typeString":"literal_string \"renounceOwnership()\""}],"expression":{"id":58762,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13365:3:85","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58763,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13369:19:85","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13365:23:85","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13365:46:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"13328:83:85"},{"expression":{"id":58778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58767,"name":"operations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58712,"src":"13425:10:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":58769,"name":"operations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58712,"src":"13454:10:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":58770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13466:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"id":58773,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58701,"src":"13477:9:85","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}],"id":58772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13469:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58771,"name":"address","nodeType":"ElementaryTypeName","src":"13469:7:85","typeDescriptions":{}}},"id":58774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13469:18:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":58775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13489:1:85","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":58776,"name":"renounceOwnershipData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58761,"src":"13492:21:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58768,"name":"appendOperation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58844,"src":"13438:15:85","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint8_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory,uint8,address,uint256,bytes memory) pure returns (bytes memory)"}},"id":58777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13438:76:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"13425:89:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":58779,"nodeType":"ExpressionStatement","src":"13425:89:85"}]}},{"expression":{"id":58810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58804,"name":"batchData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58709,"src":"13826:9:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"6d756c746953656e6428627974657329","id":58807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13862:18:85","typeDescriptions":{"typeIdentifier":"t_stringliteral_8d80ff0a19eeb79604f91006b003a79847afc54b18a8fde61bb59e08da5da9cf","typeString":"literal_string \"multiSend(bytes)\""},"value":"multiSend(bytes)"},{"id":58808,"name":"operations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58712,"src":"13882:10:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8d80ff0a19eeb79604f91006b003a79847afc54b18a8fde61bb59e08da5da9cf","typeString":"literal_string \"multiSend(bytes)\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58805,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13838:3:85","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13842:19:85","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13838:23:85","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13838:55:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"13826:67:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":58811,"nodeType":"ExpressionStatement","src":"13826:67:85"}]},"documentation":{"id":58698,"nodeType":"StructuredDocumentation","src":"12278:325:85","text":" @notice Creates MultiSend batch data for whitelist additions and ownership operations\n @param whitelist The whitelist contract\n @param addresses Array of addresses to add\n @param previousOwner The previous owner address to restore\n @return batchData The encoded MultiSend batch data"},"implemented":true,"kind":"function","modifiers":[],"name":"createMultiSendBatchWithOwnership","nameLocation":"12617:33:85","parameters":{"id":58707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58701,"mutability":"mutable","name":"whitelist","nameLocation":"12677:9:85","nodeType":"VariableDeclaration","scope":58813,"src":"12660:26:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"},"typeName":{"id":58700,"nodeType":"UserDefinedTypeName","pathNode":{"id":58699,"name":"AddressWhitelist","nameLocations":["12660:16:85"],"nodeType":"IdentifierPath","referencedDeclaration":60496,"src":"12660:16:85"},"referencedDeclaration":60496,"src":"12660:16:85","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"visibility":"internal"},{"constant":false,"id":58704,"mutability":"mutable","name":"addresses","nameLocation":"12713:9:85","nodeType":"VariableDeclaration","scope":58813,"src":"12696:26:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":58702,"name":"address","nodeType":"ElementaryTypeName","src":"12696:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58703,"nodeType":"ArrayTypeName","src":"12696:9:85","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":58706,"mutability":"mutable","name":"previousOwner","nameLocation":"12740:13:85","nodeType":"VariableDeclaration","scope":58813,"src":"12732:21:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58705,"name":"address","nodeType":"ElementaryTypeName","src":"12732:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12650:109:85"},"returnParameters":{"id":58710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58709,"mutability":"mutable","name":"batchData","nameLocation":"12796:9:85","nodeType":"VariableDeclaration","scope":58813,"src":"12783:22:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58708,"name":"bytes","nodeType":"ElementaryTypeName","src":"12783:5:85","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12782:24:85"},"scope":58845,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58844,"nodeType":"FunctionDefinition","src":"14315:508:85","nodes":[],"body":{"id":58843,"nodeType":"Block","src":"14523:300:85","nodes":[],"statements":[{"expression":{"arguments":[{"id":58831,"name":"operations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58816,"src":"14570:10:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":58832,"name":"operationType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58818,"src":"14594:13:85","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":58833,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58820,"src":"14656:6:85","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58834,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58822,"src":"14699:5:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"id":58837,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58824,"src":"14746:8:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":58838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14755:6:85","memberName":"length","nodeType":"MemberAccess","src":"14746:15:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":58836,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14738:7:85","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":58835,"name":"uint256","nodeType":"ElementaryTypeName","src":"14738:7:85","typeDescriptions":{}}},"id":58839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14738:24:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58840,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58824,"src":"14790:8:85","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58829,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14540:3:85","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58830,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14544:12:85","memberName":"encodePacked","nodeType":"MemberAccess","src":"14540:16:85","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14540:276:85","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":58828,"id":58842,"nodeType":"Return","src":"14533:283:85"}]},"documentation":{"id":58814,"nodeType":"StructuredDocumentation","src":"13906:404:85","text":" @notice Appends a MultiSend operation to the operations array\n @param operations The existing operations array\n @param operationType The operation type (0 for call, 1 for delegatecall)\n @param target The target contract address\n @param value The ETH value to send\n @param callData The encoded function call data\n @return The updated operations array"},"implemented":true,"kind":"function","modifiers":[],"name":"appendOperation","nameLocation":"14324:15:85","parameters":{"id":58825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58816,"mutability":"mutable","name":"operations","nameLocation":"14362:10:85","nodeType":"VariableDeclaration","scope":58844,"src":"14349:23:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58815,"name":"bytes","nodeType":"ElementaryTypeName","src":"14349:5:85","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":58818,"mutability":"mutable","name":"operationType","nameLocation":"14388:13:85","nodeType":"VariableDeclaration","scope":58844,"src":"14382:19:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":58817,"name":"uint8","nodeType":"ElementaryTypeName","src":"14382:5:85","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":58820,"mutability":"mutable","name":"target","nameLocation":"14419:6:85","nodeType":"VariableDeclaration","scope":58844,"src":"14411:14:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58819,"name":"address","nodeType":"ElementaryTypeName","src":"14411:7:85","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58822,"mutability":"mutable","name":"value","nameLocation":"14443:5:85","nodeType":"VariableDeclaration","scope":58844,"src":"14435:13:85","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58821,"name":"uint256","nodeType":"ElementaryTypeName","src":"14435:7:85","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58824,"mutability":"mutable","name":"callData","nameLocation":"14471:8:85","nodeType":"VariableDeclaration","scope":58844,"src":"14458:21:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58823,"name":"bytes","nodeType":"ElementaryTypeName","src":"14458:5:85","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14339:146:85"},"returnParameters":{"id":58828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58827,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58844,"src":"14509:12:85","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58826,"name":"bytes","nodeType":"ElementaryTypeName","src":"14509:5:85","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14508:14:85"},"scope":58845,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":57881,"name":"Script","nameLocations":["865:6:85"],"nodeType":"IdentifierPath","referencedDeclaration":100,"src":"865:6:85"},"id":57882,"nodeType":"InheritanceSpecifier","src":"865:6:85"}],"canonicalName":"RedeployAddressWhitelist","contractDependencies":[60496],"contractKind":"contract","documentation":{"id":57880,"nodeType":"StructuredDocumentation","src":"244:583:85","text":" @title Redeployment script for AddressWhitelist\n @notice Deploys a new AddressWhitelist contract duplicating the configuration from a previous deployment\n Environment variables:\n - MNEMONIC: Required. The mnemonic phrase for the deployer wallet\n - PREVIOUS_ADDRESS_WHITELIST: Required. The address of the previous AddressWhitelist contract to duplicate\n - DEPLOYER_MULTISIG: Optional. The address of a Safe multisig to use for batching transactions\n - MULTISEND_ADDRESS: Optional. The address of the MultiSend contract (defaults to MultiSendCallOnly v1.4.1)"},"fullyImplemented":true,"internalFunctionIDs":{"18017":1},"linearizedBaseContracts":[58845,100,12932,5773,3683,59,47],"name":"RedeployAddressWhitelist","nameLocation":"837:24:85","scope":58846,"usedErrors":[],"usedEvents":[]}],"license":"AGPL-3.0-only"}},"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol":{"id":86,"ast":{"absolutePath":"script/UpdateManagedOptimisticOracleV2Whitelists.s.sol","id":59914,"exportedSymbols":{"AddressWhitelistInterface":[60790],"ManagedOptimisticOracleV2":[61771],"Ownable":[41339],"Script":[100],"UpdateManagedOptimisticOracleV2Whitelists":[59913],"console":[26117]},"nodeType":"SourceUnit","src":"42:15513:86","nodes":[{"id":58847,"nodeType":"PragmaDirective","src":"42:23:86","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":58849,"nodeType":"ImportDirective","src":"67:44:86","nodes":[],"absolutePath":"lib/forge-std/src/Script.sol","file":"forge-std/Script.sol","nameLocation":"-1:-1:-1","scope":59914,"sourceUnit":101,"symbolAliases":[{"foreign":{"id":58848,"name":"Script","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100,"src":"75:6:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58851,"nodeType":"ImportDirective","src":"112:46:86","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":59914,"sourceUnit":26118,"symbolAliases":[{"foreign":{"id":58850,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"120:7:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58853,"nodeType":"ImportDirective","src":"159:115:86","nodes":[],"absolutePath":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol","file":"../src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol","nameLocation":"-1:-1:-1","scope":59914,"sourceUnit":61772,"symbolAliases":[{"foreign":{"id":58852,"name":"ManagedOptimisticOracleV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61771,"src":"167:25:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58855,"nodeType":"ImportDirective","src":"275:97:86","nodes":[],"absolutePath":"src/common/interfaces/AddressWhitelistInterface.sol","file":"../src/common/interfaces/AddressWhitelistInterface.sol","nameLocation":"-1:-1:-1","scope":59914,"sourceUnit":60791,"symbolAliases":[{"foreign":{"id":58854,"name":"AddressWhitelistInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60790,"src":"283:25:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58857,"nodeType":"ImportDirective","src":"373:67:86","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/access/Ownable.sol","file":"@openzeppelin/contracts/access/Ownable.sol","nameLocation":"-1:-1:-1","scope":59914,"sourceUnit":41340,"symbolAliases":[{"foreign":{"id":58856,"name":"Ownable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41339,"src":"381:7:86","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":59913,"nodeType":"ContractDefinition","src":"1300:14254:86","nodes":[{"id":59406,"nodeType":"FunctionDefinition","src":"1367:6963:86","nodes":[],"body":{"id":59405,"nodeType":"Block","src":"1391:6939:86","nodes":[],"statements":[{"assignments":[58864],"declarations":[{"constant":false,"id":58864,"mutability":"mutable","name":"deployerPrivateKey","nameLocation":"1409:18:86","nodeType":"VariableDeclaration","scope":59405,"src":"1401:26:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58863,"name":"uint256","nodeType":"ElementaryTypeName","src":"1401:7:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58867,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":58865,"name":"_getDeployerPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59426,"src":"1430:22:86","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":58866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1430:24:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1401:53:86"},{"assignments":[58869],"declarations":[{"constant":false,"id":58869,"mutability":"mutable","name":"deployerAddress","nameLocation":"1472:15:86","nodeType":"VariableDeclaration","scope":59405,"src":"1464:23:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58868,"name":"address","nodeType":"ElementaryTypeName","src":"1464:7:86","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":58874,"initialValue":{"arguments":[{"id":58872,"name":"deployerPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"1498:18:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58870,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"1490:2:86","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":58871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1493:4:86","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":13820,"src":"1490:7:86","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure external returns (address)"}},"id":58873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1490:27:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1464:53:86"},{"assignments":[58876],"declarations":[{"constant":false,"id":58876,"mutability":"mutable","name":"proxyAddress","nameLocation":"1579:12:86","nodeType":"VariableDeclaration","scope":59405,"src":"1571:20:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58875,"name":"address","nodeType":"ElementaryTypeName","src":"1571:7:86","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":58881,"initialValue":{"arguments":[{"hexValue":"50524f58595f41444452455353","id":58879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1608:15:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_de174d487d07d8625df043742f6ad2878cc669bbcbc77eb63a677db31ad453ea","typeString":"literal_string \"PROXY_ADDRESS\""},"value":"PROXY_ADDRESS"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de174d487d07d8625df043742f6ad2878cc669bbcbc77eb63a677db31ad453ea","typeString":"literal_string \"PROXY_ADDRESS\""}],"expression":{"id":58877,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"1594:2:86","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":58878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1597:10:86","memberName":"envAddress","nodeType":"MemberAccess","referencedDeclaration":13482,"src":"1594:13:86","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) view external returns (address)"}},"id":58880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1594:30:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1571:53:86"},{"assignments":[58883],"declarations":[{"constant":false,"id":58883,"mutability":"mutable","name":"newDefaultProposerWhitelist","nameLocation":"1718:27:86","nodeType":"VariableDeclaration","scope":59405,"src":"1710:35:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58882,"name":"address","nodeType":"ElementaryTypeName","src":"1710:7:86","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":58892,"initialValue":{"arguments":[{"hexValue":"4e45575f44454641554c545f50524f504f5345525f57484954454c495354","id":58886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1757:32:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_c29938fc07a64e648c3f2ffb375589af417adb4f9aaf1972d44d27272249ca8d","typeString":"literal_string \"NEW_DEFAULT_PROPOSER_WHITELIST\""},"value":"NEW_DEFAULT_PROPOSER_WHITELIST"},{"arguments":[{"hexValue":"30","id":58889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1799:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58888,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1791:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58887,"name":"address","nodeType":"ElementaryTypeName","src":"1791:7:86","typeDescriptions":{}}},"id":58890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1791:10:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c29938fc07a64e648c3f2ffb375589af417adb4f9aaf1972d44d27272249ca8d","typeString":"literal_string \"NEW_DEFAULT_PROPOSER_WHITELIST\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58884,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"1748:2:86","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":58885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1751:5:86","memberName":"envOr","nodeType":"MemberAccess","referencedDeclaration":13673,"src":"1748:8:86","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (string memory,address) view external returns (address)"}},"id":58891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1748:54:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1710:92:86"},{"assignments":[58894],"declarations":[{"constant":false,"id":58894,"mutability":"mutable","name":"newRequesterWhitelist","nameLocation":"1820:21:86","nodeType":"VariableDeclaration","scope":59405,"src":"1812:29:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58893,"name":"address","nodeType":"ElementaryTypeName","src":"1812:7:86","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":58903,"initialValue":{"arguments":[{"hexValue":"4e45575f5245515545535445525f57484954454c495354","id":58897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1853:25:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_a57f1bce120294dc6a52edfd3352363d649666e5b695db16acde55675a074b10","typeString":"literal_string \"NEW_REQUESTER_WHITELIST\""},"value":"NEW_REQUESTER_WHITELIST"},{"arguments":[{"hexValue":"30","id":58900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1888:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58899,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1880:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58898,"name":"address","nodeType":"ElementaryTypeName","src":"1880:7:86","typeDescriptions":{}}},"id":58901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1880:10:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a57f1bce120294dc6a52edfd3352363d649666e5b695db16acde55675a074b10","typeString":"literal_string \"NEW_REQUESTER_WHITELIST\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58895,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"1844:2:86","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":58896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1847:5:86","memberName":"envOr","nodeType":"MemberAccess","referencedDeclaration":13673,"src":"1844:8:86","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (string memory,address) view external returns (address)"}},"id":58902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1844:47:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1812:79:86"},{"assignments":[58905],"declarations":[{"constant":false,"id":58905,"mutability":"mutable","name":"verifyWhitelistConfiguration","nameLocation":"1959:28:86","nodeType":"VariableDeclaration","scope":59405,"src":"1954:33:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58904,"name":"bool","nodeType":"ElementaryTypeName","src":"1954:4:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":58911,"initialValue":{"arguments":[{"hexValue":"5645524946595f57484954454c4953545f434f4e46494755524154494f4e","id":58908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1999:32:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_ff39fad89b13429f1cfe23a6dbcc78bcc3e1f1cbefcbe39ed251da25f244e26d","typeString":"literal_string \"VERIFY_WHITELIST_CONFIGURATION\""},"value":"VERIFY_WHITELIST_CONFIGURATION"},{"hexValue":"74727565","id":58909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2033:4:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ff39fad89b13429f1cfe23a6dbcc78bcc3e1f1cbefcbe39ed251da25f244e26d","typeString":"literal_string \"VERIFY_WHITELIST_CONFIGURATION\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":58906,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"1990:2:86","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":58907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1993:5:86","memberName":"envOr","nodeType":"MemberAccess","referencedDeclaration":13587,"src":"1990:8:86","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_bool_$returns$_t_bool_$","typeString":"function (string memory,bool) view external returns (bool)"}},"id":58910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1990:48:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"1954:84:86"},{"assignments":[58914],"declarations":[{"constant":false,"id":58914,"mutability":"mutable","name":"moo","nameLocation":"2112:3:86","nodeType":"VariableDeclaration","scope":59405,"src":"2086:29:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"},"typeName":{"id":58913,"nodeType":"UserDefinedTypeName","pathNode":{"id":58912,"name":"ManagedOptimisticOracleV2","nameLocations":["2086:25:86"],"nodeType":"IdentifierPath","referencedDeclaration":61771,"src":"2086:25:86"},"referencedDeclaration":61771,"src":"2086:25:86","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"visibility":"internal"}],"id":58918,"initialValue":{"arguments":[{"id":58916,"name":"proxyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58876,"src":"2144:12:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58915,"name":"ManagedOptimisticOracleV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61771,"src":"2118:25:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2_$61771_$","typeString":"type(contract ManagedOptimisticOracleV2)"}},"id":58917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2118:39:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"nodeType":"VariableDeclarationStatement","src":"2086:71:86"},{"assignments":[58920],"declarations":[{"constant":false,"id":58920,"mutability":"mutable","name":"currentDefaultProposerWhitelist","nameLocation":"2234:31:86","nodeType":"VariableDeclaration","scope":59405,"src":"2226:39:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58919,"name":"address","nodeType":"ElementaryTypeName","src":"2226:7:86","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":58927,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58923,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58914,"src":"2276:3:86","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":58924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2280:24:86","memberName":"defaultProposerWhitelist","nodeType":"MemberAccess","referencedDeclaration":60900,"src":"2276:28:86","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"function () view external returns (contract AddressWhitelistInterface)"}},"id":58925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2276:30:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}],"id":58922,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2268:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58921,"name":"address","nodeType":"ElementaryTypeName","src":"2268:7:86","typeDescriptions":{}}},"id":58926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2268:39:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2226:81:86"},{"assignments":[58929],"declarations":[{"constant":false,"id":58929,"mutability":"mutable","name":"currentRequesterWhitelist","nameLocation":"2325:25:86","nodeType":"VariableDeclaration","scope":59405,"src":"2317:33:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58928,"name":"address","nodeType":"ElementaryTypeName","src":"2317:7:86","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":58936,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58932,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58914,"src":"2361:3:86","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":58933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2365:18:86","memberName":"requesterWhitelist","nodeType":"MemberAccess","referencedDeclaration":60903,"src":"2361:22:86","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"function () view external returns (contract AddressWhitelistInterface)"}},"id":58934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2361:24:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}],"id":58931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2353:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58930,"name":"address","nodeType":"ElementaryTypeName","src":"2353:7:86","typeDescriptions":{}}},"id":58935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2353:33:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2317:69:86"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":58950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":58943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58938,"name":"newDefaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58883,"src":"2483:27:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":58941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2522:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58940,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2514:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58939,"name":"address","nodeType":"ElementaryTypeName","src":"2514:7:86","typeDescriptions":{}}},"id":58942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2514:10:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2483:41:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":58949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58944,"name":"newRequesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58894,"src":"2528:21:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":58947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2561:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58946,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2553:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58945,"name":"address","nodeType":"ElementaryTypeName","src":"2553:7:86","typeDescriptions":{}}},"id":58948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2553:10:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2528:35:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2483:80:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4174206c65617374206f6e652077686974656c697374206d7573742062652070726f7669646564","id":58951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2577:41:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_8a30b4956c0a51802488733a77e1be99f876a1b80c202613eac4c18ac33fb1a4","typeString":"literal_string \"At least one whitelist must be provided\""},"value":"At least one whitelist must be provided"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8a30b4956c0a51802488733a77e1be99f876a1b80c202613eac4c18ac33fb1a4","typeString":"literal_string \"At least one whitelist must be provided\""}],"id":58937,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"2462:7:86","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":58952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2462:166:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58953,"nodeType":"ExpressionStatement","src":"2462:166:86"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":58963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":58959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58954,"name":"newDefaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58883,"src":"2724:27:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":58957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2763:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58956,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2755:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58955,"name":"address","nodeType":"ElementaryTypeName","src":"2755:7:86","typeDescriptions":{}}},"id":58958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2755:10:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2724:41:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":58962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58960,"name":"newDefaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58883,"src":"2769:27:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":58961,"name":"currentDefaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58920,"src":"2800:31:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2769:62:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2724:107:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58969,"nodeType":"IfStatement","src":"2720:225:86","trueBody":{"id":58968,"nodeType":"Block","src":"2841:104:86","statements":[{"expression":{"arguments":[{"hexValue":"4e65772064656661756c742070726f706f7365722077686974656c6973742061646472657373206973207468652073616d652061732063757272656e742061646472657373","id":58965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2862:71:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_918a0403e6b5354b221ef2c0b8df8afbfd0da1b336e416abc564a87912d6fdef","typeString":"literal_string \"New default proposer whitelist address is the same as current address\""},"value":"New default proposer whitelist address is the same as current address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_918a0403e6b5354b221ef2c0b8df8afbfd0da1b336e416abc564a87912d6fdef","typeString":"literal_string \"New default proposer whitelist address is the same as current address\""}],"id":58964,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"2855:6:86","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2855:79:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58967,"nodeType":"ExpressionStatement","src":"2855:79:86"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":58979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":58975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58970,"name":"newRequesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58894,"src":"2958:21:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":58973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2991:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58972,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2983:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58971,"name":"address","nodeType":"ElementaryTypeName","src":"2983:7:86","typeDescriptions":{}}},"id":58974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2983:10:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2958:35:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":58978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58976,"name":"newRequesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58894,"src":"2997:21:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":58977,"name":"currentRequesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58929,"src":"3022:25:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2997:50:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2958:89:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58985,"nodeType":"IfStatement","src":"2954:192:86","trueBody":{"id":58984,"nodeType":"Block","src":"3049:97:86","statements":[{"expression":{"arguments":[{"hexValue":"4e6577207265717565737465722077686974656c6973742061646472657373206973207468652073616d652061732063757272656e742061646472657373","id":58981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3070:64:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_93c7740732f0f6a415addc3deac87c31ca024a525625b728d90314617ad2d98a","typeString":"literal_string \"New requester whitelist address is the same as current address\""},"value":"New requester whitelist address is the same as current address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_93c7740732f0f6a415addc3deac87c31ca024a525625b728d90314617ad2d98a","typeString":"literal_string \"New requester whitelist address is the same as current address\""}],"id":58980,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"3063:6:86","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3063:72:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58983,"nodeType":"ExpressionStatement","src":"3063:72:86"}]}},{"assignments":[58987],"declarations":[{"constant":false,"id":58987,"mutability":"mutable","name":"configAdminRole","nameLocation":"3215:15:86","nodeType":"VariableDeclaration","scope":59405,"src":"3207:23:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":58986,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3207:7:86","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":58991,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58988,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58914,"src":"3233:3:86","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":58989,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3237:17:86","memberName":"CONFIG_ADMIN_ROLE","nodeType":"MemberAccess","referencedDeclaration":60892,"src":"3233:21:86","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":58990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3233:23:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"3207:49:86"},{"assignments":[58993],"declarations":[{"constant":false,"id":58993,"mutability":"mutable","name":"hasConfigAdminRole","nameLocation":"3271:18:86","nodeType":"VariableDeclaration","scope":59405,"src":"3266:23:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58992,"name":"bool","nodeType":"ElementaryTypeName","src":"3266:4:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":58999,"initialValue":{"arguments":[{"id":58996,"name":"configAdminRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58987,"src":"3304:15:86","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":58997,"name":"deployerAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58869,"src":"3321:15:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58994,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58914,"src":"3292:3:86","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":58995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3296:7:86","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":39478,"src":"3292:11:86","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":58998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3292:45:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"3266:71:86"},{"assignments":[59001],"declarations":[{"constant":false,"id":59001,"mutability":"mutable","name":"configAdminAddress","nameLocation":"3430:18:86","nodeType":"VariableDeclaration","scope":59405,"src":"3422:26:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59000,"name":"address","nodeType":"ElementaryTypeName","src":"3422:7:86","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":59006,"initialValue":{"arguments":[{"hexValue":"30","id":59004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3459:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":59003,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3451:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59002,"name":"address","nodeType":"ElementaryTypeName","src":"3451:7:86","typeDescriptions":{}}},"id":59005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3451:10:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3422:39:86"},{"condition":{"id":59008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3475:19:86","subExpression":{"id":59007,"name":"hasConfigAdminRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58993,"src":"3476:18:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59024,"nodeType":"IfStatement","src":"3471:170:86","trueBody":{"id":59023,"nodeType":"Block","src":"3496:145:86","statements":[{"expression":{"id":59014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":59009,"name":"configAdminAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59001,"src":"3510:18:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"434f4e4649475f41444d494e","id":59012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3545:14:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_8af5290a3bc9fb001a334db3080e05f29cbed54f3cf6e308d2db8704d95c4147","typeString":"literal_string \"CONFIG_ADMIN\""},"value":"CONFIG_ADMIN"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8af5290a3bc9fb001a334db3080e05f29cbed54f3cf6e308d2db8704d95c4147","typeString":"literal_string \"CONFIG_ADMIN\""}],"expression":{"id":59010,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"3531:2:86","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":59011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3534:10:86","memberName":"envAddress","nodeType":"MemberAccess","referencedDeclaration":13482,"src":"3531:13:86","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) view external returns (address)"}},"id":59013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3531:29:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3510:50:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":59015,"nodeType":"ExpressionStatement","src":"3510:50:86"},{"expression":{"arguments":[{"hexValue":"436f6e6669672041646d696e20416464726573733a","id":59019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3586:23:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_ffb22e38ee1819a74443985b8f99a52b5eceb56a1b7e1a21e9558cecc68a69c2","typeString":"literal_string \"Config Admin Address:\""},"value":"Config Admin Address:"},{"id":59020,"name":"configAdminAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59001,"src":"3611:18:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ffb22e38ee1819a74443985b8f99a52b5eceb56a1b7e1a21e9558cecc68a69c2","typeString":"literal_string \"Config Admin Address:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59016,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"3574:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3582:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"3574:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3574:56:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59022,"nodeType":"ExpressionStatement","src":"3574:56:86"}]}},{"expression":{"arguments":[{"hexValue":"4465706c6f79657220416464726573733a","id":59028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3692:19:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_127b16d7a002a917e93f42c3cec8d9711f4073c04a54099e8950345cb21a9d54","typeString":"literal_string \"Deployer Address:\""},"value":"Deployer Address:"},{"id":59029,"name":"deployerAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58869,"src":"3713:15:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_127b16d7a002a917e93f42c3cec8d9711f4073c04a54099e8950345cb21a9d54","typeString":"literal_string \"Deployer Address:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59025,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"3680:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3688:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"3680:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3680:49:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59031,"nodeType":"ExpressionStatement","src":"3680:49:86"},{"expression":{"arguments":[{"hexValue":"50726f787920416464726573733a","id":59035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3751:16:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_e76a0207e7af1a570f49f5a3a749431c8f7500af34fe8c28e2b9682e7f9211e5","typeString":"literal_string \"Proxy Address:\""},"value":"Proxy Address:"},{"id":59036,"name":"proxyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58876,"src":"3769:12:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e76a0207e7af1a570f49f5a3a749431c8f7500af34fe8c28e2b9682e7f9211e5","typeString":"literal_string \"Proxy Address:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59032,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"3739:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3747:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"3739:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3739:43:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59038,"nodeType":"ExpressionStatement","src":"3739:43:86"},{"expression":{"arguments":[{"hexValue":"48617320434f4e4649475f41444d494e5f524f4c453a","id":59042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3804:24:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_753d790ffc010659d5615b11df0e6cc4004005f155e5a0d45cb849b5a77e7d5a","typeString":"literal_string \"Has CONFIG_ADMIN_ROLE:\""},"value":"Has CONFIG_ADMIN_ROLE:"},{"id":59043,"name":"hasConfigAdminRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58993,"src":"3830:18:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_753d790ffc010659d5615b11df0e6cc4004005f155e5a0d45cb849b5a77e7d5a","typeString":"literal_string \"Has CONFIG_ADMIN_ROLE:\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":59039,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"3792:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3800:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18795,"src":"3792:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_bool_$returns$__$","typeString":"function (string memory,bool) pure"}},"id":59044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3792:57:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59045,"nodeType":"ExpressionStatement","src":"3792:57:86"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":59051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59046,"name":"newDefaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58883,"src":"3864:27:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":59049,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3903:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":59048,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3895:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59047,"name":"address","nodeType":"ElementaryTypeName","src":"3895:7:86","typeDescriptions":{}}},"id":59050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3895:10:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3864:41:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59060,"nodeType":"IfStatement","src":"3860:147:86","trueBody":{"id":59059,"nodeType":"Block","src":"3907:100:86","statements":[{"expression":{"arguments":[{"hexValue":"4e65772044656661756c742050726f706f7365722057686974656c6973743a","id":59055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3933:33:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8642ce33686a81b8b5b5bca311dd852f40b815a78c7b7e0b3d2b7852dc26e83","typeString":"literal_string \"New Default Proposer Whitelist:\""},"value":"New Default Proposer Whitelist:"},{"id":59056,"name":"newDefaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58883,"src":"3968:27:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f8642ce33686a81b8b5b5bca311dd852f40b815a78c7b7e0b3d2b7852dc26e83","typeString":"literal_string \"New Default Proposer Whitelist:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59052,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"3921:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3929:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"3921:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3921:75:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59058,"nodeType":"ExpressionStatement","src":"3921:75:86"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":59066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59061,"name":"newRequesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58894,"src":"4020:21:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":59064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4053:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":59063,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4045:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59062,"name":"address","nodeType":"ElementaryTypeName","src":"4045:7:86","typeDescriptions":{}}},"id":59065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4045:10:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4020:35:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59075,"nodeType":"IfStatement","src":"4016:128:86","trueBody":{"id":59074,"nodeType":"Block","src":"4057:87:86","statements":[{"expression":{"arguments":[{"hexValue":"4e6577205265717565737465722057686974656c6973743a","id":59070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4083:26:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_be0b999a57c3a8010567f6a81fb846d3baaf36a42add28c130b4b9e6f09b50cd","typeString":"literal_string \"New Requester Whitelist:\""},"value":"New Requester Whitelist:"},{"id":59071,"name":"newRequesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58894,"src":"4111:21:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be0b999a57c3a8010567f6a81fb846d3baaf36a42add28c130b4b9e6f09b50cd","typeString":"literal_string \"New Requester Whitelist:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59067,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4071:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4079:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"4071:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4071:62:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59073,"nodeType":"ExpressionStatement","src":"4071:62:86"}]}},{"expression":{"arguments":[{"hexValue":"43757272656e742044656661756c742050726f706f7365722057686974656c6973743a","id":59079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4166:37:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_664c451277b220e63656e6d82b13cb4586871d1aabd5534e665d70f0a07443c1","typeString":"literal_string \"Current Default Proposer Whitelist:\""},"value":"Current Default Proposer Whitelist:"},{"id":59080,"name":"currentDefaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58920,"src":"4205:31:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_664c451277b220e63656e6d82b13cb4586871d1aabd5534e665d70f0a07443c1","typeString":"literal_string \"Current Default Proposer Whitelist:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59076,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4154:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4162:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"4154:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4154:83:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59082,"nodeType":"ExpressionStatement","src":"4154:83:86"},{"expression":{"arguments":[{"hexValue":"43757272656e74205265717565737465722057686974656c6973743a","id":59086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4259:30:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_aa4ff7c33a8c315410c5b7e8492e1c247ce4230741ad82e906a0d92b6edb6427","typeString":"literal_string \"Current Requester Whitelist:\""},"value":"Current Requester Whitelist:"},{"id":59087,"name":"currentRequesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58929,"src":"4291:25:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aa4ff7c33a8c315410c5b7e8492e1c247ce4230741ad82e906a0d92b6edb6427","typeString":"literal_string \"Current Requester Whitelist:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59083,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4247:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4255:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"4247:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4247:70:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59089,"nodeType":"ExpressionStatement","src":"4247:70:86"},{"condition":{"id":59090,"name":"verifyWhitelistConfiguration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58905,"src":"4407:28:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59110,"nodeType":"IfStatement","src":"4403:414:86","trueBody":{"id":59109,"nodeType":"Block","src":"4437:380:86","statements":[{"expression":{"arguments":[{"hexValue":"0a3d3d3d205052452d4348414e47452057484954454c49535420434f4e46494755524154494f4e20564552494649434154494f4e203d3d3d","id":59094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4463:59:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_c17bbea3001f84cea1007e731a5447681ba431530a91758b0ff1281d6badaf4e","typeString":"literal_string hex\"0a3d3d3d205052452d4348414e47452057484954454c49535420434f4e46494755524154494f4e20564552494649434154494f4e203d3d3d\""},"value":"\n=== PRE-CHANGE WHITELIST CONFIGURATION VERIFICATION ==="}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c17bbea3001f84cea1007e731a5447681ba431530a91758b0ff1281d6badaf4e","typeString":"literal_string hex\"0a3d3d3d205052452d4348414e47452057484954454c49535420434f4e46494755524154494f4e20564552494649434154494f4e203d3d3d\""}],"expression":{"id":59091,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4451:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4459:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"4451:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":59095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4451:72:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59096,"nodeType":"ExpressionStatement","src":"4451:72:86"},{"expression":{"arguments":[{"id":59098,"name":"currentDefaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58920,"src":"4585:31:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59099,"name":"newDefaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58883,"src":"4618:27:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"44656661756c742050726f706f7365722057686974656c697374","id":59100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4647:28:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_f4a086a5c33024a0bb1dcd6fe5ef73dca13f350b5a76f73d9bf8aeab49fab242","typeString":"literal_string \"Default Proposer Whitelist\""},"value":"Default Proposer Whitelist"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_f4a086a5c33024a0bb1dcd6fe5ef73dca13f350b5a76f73d9bf8aeab49fab242","typeString":"literal_string \"Default Proposer Whitelist\""}],"id":59097,"name":"_verifyWhitelistConfiguration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59836,"src":"4538:29:86","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,address,string memory) view"}},"id":59101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4538:151:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59102,"nodeType":"ExpressionStatement","src":"4538:151:86"},{"expression":{"arguments":[{"id":59104,"name":"currentRequesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58929,"src":"4734:25:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59105,"name":"newRequesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58894,"src":"4761:21:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"5265717565737465722057686974656c697374","id":59106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4784:21:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_875daf8bf9f3da7510e6d27ded57fe622e30220b3f2c3f13397992b2181cbe79","typeString":"literal_string \"Requester Whitelist\""},"value":"Requester Whitelist"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_875daf8bf9f3da7510e6d27ded57fe622e30220b3f2c3f13397992b2181cbe79","typeString":"literal_string \"Requester Whitelist\""}],"id":59103,"name":"_verifyWhitelistConfiguration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59836,"src":"4704:29:86","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,address,string memory) view"}},"id":59107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4704:102:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59108,"nodeType":"ExpressionStatement","src":"4704:102:86"}]}},{"assignments":[59112],"declarations":[{"constant":false,"id":59112,"mutability":"mutable","name":"shouldImpersonate","nameLocation":"4899:17:86","nodeType":"VariableDeclaration","scope":59405,"src":"4894:22:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":59111,"name":"bool","nodeType":"ElementaryTypeName","src":"4894:4:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":59115,"initialValue":{"id":59114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4919:19:86","subExpression":{"id":59113,"name":"hasConfigAdminRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58993,"src":"4920:18:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"4894:44:86"},{"condition":{"id":59116,"name":"shouldImpersonate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59112,"src":"4953:17:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":59290,"nodeType":"Block","src":"6687:635:86","statements":[{"expression":{"arguments":[{"hexValue":"0a3d3d3d2044495245435420455845435554494f4e204d4f4445203d3d3d","id":59248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6767:33:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_f1c7cc12c4f50cf7e8057f0015b898429aeb86c633a761049224b4df44a28ad6","typeString":"literal_string hex\"0a3d3d3d2044495245435420455845435554494f4e204d4f4445203d3d3d\""},"value":"\n=== DIRECT EXECUTION MODE ==="}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f1c7cc12c4f50cf7e8057f0015b898429aeb86c633a761049224b4df44a28ad6","typeString":"literal_string hex\"0a3d3d3d2044495245435420455845435554494f4e204d4f4445203d3d3d\""}],"expression":{"id":59245,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6755:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6763:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"6755:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":59249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6755:46:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59250,"nodeType":"ExpressionStatement","src":"6755:46:86"},{"expression":{"arguments":[{"hexValue":"4465706c6f7965722068617320434f4e4649475f41444d494e5f524f4c45","id":59254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6827:32:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f00adaf503bfe0de4c59448ec4725be9ef8a7b23bf5ac6abb26a668d12b0bca","typeString":"literal_string \"Deployer has CONFIG_ADMIN_ROLE\""},"value":"Deployer has CONFIG_ADMIN_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f00adaf503bfe0de4c59448ec4725be9ef8a7b23bf5ac6abb26a668d12b0bca","typeString":"literal_string \"Deployer has CONFIG_ADMIN_ROLE\""}],"expression":{"id":59251,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6815:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6823:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"6815:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":59255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6815:45:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59256,"nodeType":"ExpressionStatement","src":"6815:45:86"},{"expression":{"arguments":[{"hexValue":"457865637574696e672077686974656c6973742075706461746573206469726563746c79","id":59260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6886:38:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_808a3cbba8cddae503b32346555bd3e0b64b82eb23bad5b52719eab8e74e5ee8","typeString":"literal_string \"Executing whitelist updates directly\""},"value":"Executing whitelist updates directly"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_808a3cbba8cddae503b32346555bd3e0b64b82eb23bad5b52719eab8e74e5ee8","typeString":"literal_string \"Executing whitelist updates directly\""}],"expression":{"id":59257,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6874:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6882:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"6874:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":59261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6874:51:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59262,"nodeType":"ExpressionStatement","src":"6874:51:86"},{"expression":{"arguments":[{"id":59266,"name":"deployerPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58864,"src":"7034:18:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59263,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"7016:2:86","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":59265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7019:14:86","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":15018,"src":"7016:17:86","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":59267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7016:37:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59268,"nodeType":"ExpressionStatement","src":"7016:37:86"},{"assignments":[59273],"declarations":[{"constant":false,"id":59273,"mutability":"mutable","name":"multicallData","nameLocation":"7147:13:86","nodeType":"VariableDeclaration","scope":59290,"src":"7132:28:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":59271,"name":"bytes","nodeType":"ElementaryTypeName","src":"7132:5:86","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":59272,"nodeType":"ArrayTypeName","src":"7132:7:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"id":59278,"initialValue":{"arguments":[{"id":59275,"name":"newDefaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58883,"src":"7185:27:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59276,"name":"newRequesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58894,"src":"7214:21:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":59274,"name":"_prepareMulticallData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59550,"src":"7163:21:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,address) pure returns (bytes memory[] memory)"}},"id":59277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7163:73:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7132:104:86"},{"expression":{"arguments":[{"id":59282,"name":"multicallData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59273,"src":"7264:13:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"expression":{"id":59279,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58914,"src":"7250:3:86","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":59281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7254:9:86","memberName":"multicall","nodeType":"MemberAccess","referencedDeclaration":60753,"src":"7250:13:86","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bytes memory[] memory) external returns (bytes memory[] memory)"}},"id":59283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7250:28:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":59284,"nodeType":"ExpressionStatement","src":"7250:28:86"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59285,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"7293:2:86","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":59287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7296:13:86","memberName":"stopBroadcast","nodeType":"MemberAccess","referencedDeclaration":15022,"src":"7293:16:86","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":59288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7293:18:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59289,"nodeType":"ExpressionStatement","src":"7293:18:86"}]},"id":59291,"nodeType":"IfStatement","src":"4949:2373:86","trueBody":{"id":59244,"nodeType":"Block","src":"4972:1709:86","statements":[{"expression":{"arguments":[{"hexValue":"0a3d3d3d20494d504552534f4e4154494f4e204d4f4445203d3d3d","id":59120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5076:30:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_71646f669bed820466d429d64303d9c626b5e0c3ce32c633cce5c56f40087d5f","typeString":"literal_string hex\"0a3d3d3d20494d504552534f4e4154494f4e204d4f4445203d3d3d\""},"value":"\n=== IMPERSONATION MODE ==="}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_71646f669bed820466d429d64303d9c626b5e0c3ce32c633cce5c56f40087d5f","typeString":"literal_string hex\"0a3d3d3d20494d504552534f4e4154494f4e204d4f4445203d3d3d\""}],"expression":{"id":59117,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5064:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5072:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"5064:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":59121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5064:43:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59122,"nodeType":"ExpressionStatement","src":"5064:43:86"},{"expression":{"arguments":[{"hexValue":"4d4e454d4f4e494320646f6573206e6f7420636f72726573706f6e6420746f20636f6e6669672061646d696e","id":59126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5133:46:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f07ca3403a2eda4b9a088152a84a163c7cabb4db3b18297b5644c1beb284ef5","typeString":"literal_string \"MNEMONIC does not correspond to config admin\""},"value":"MNEMONIC does not correspond to config admin"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4f07ca3403a2eda4b9a088152a84a163c7cabb4db3b18297b5644c1beb284ef5","typeString":"literal_string \"MNEMONIC does not correspond to config admin\""}],"expression":{"id":59123,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5121:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5129:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"5121:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":59127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5121:59:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59128,"nodeType":"ExpressionStatement","src":"5121:59:86"},{"expression":{"arguments":[{"hexValue":"53696d756c6174696e672077686974656c697374207570646174657320616e642067656e65726174696e67207472616e73616374696f6e2064617461","id":59132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5206:62:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c1697c68b6c4e32b3d141ae7b8b5ed7ed10bdc2a30cc2aa90bd82bfe217d211","typeString":"literal_string \"Simulating whitelist updates and generating transaction data\""},"value":"Simulating whitelist updates and generating transaction data"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c1697c68b6c4e32b3d141ae7b8b5ed7ed10bdc2a30cc2aa90bd82bfe217d211","typeString":"literal_string \"Simulating whitelist updates and generating transaction data\""}],"expression":{"id":59129,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5194:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5202:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"5194:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":59133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5194:75:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59134,"nodeType":"ExpressionStatement","src":"5194:75:86"},{"expression":{"arguments":[{"hexValue":"0a3d3d3d2053494d554c4154494e472057484954454c4953542055504441544553203d3d3d","id":59138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5387:40:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b3ed67c175817f101f83c99fc0d2a3c687a4894aaca65f1a9afd6a10a81d504","typeString":"literal_string hex\"0a3d3d3d2053494d554c4154494e472057484954454c4953542055504441544553203d3d3d\""},"value":"\n=== SIMULATING WHITELIST UPDATES ==="}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8b3ed67c175817f101f83c99fc0d2a3c687a4894aaca65f1a9afd6a10a81d504","typeString":"literal_string hex\"0a3d3d3d2053494d554c4154494e472057484954454c4953542055504441544553203d3d3d\""}],"expression":{"id":59135,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5375:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5383:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"5375:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":59139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5375:53:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59140,"nodeType":"ExpressionStatement","src":"5375:53:86"},{"assignments":[59145],"declarations":[{"constant":false,"id":59145,"mutability":"mutable","name":"multicallData","nameLocation":"5518:13:86","nodeType":"VariableDeclaration","scope":59244,"src":"5503:28:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":59143,"name":"bytes","nodeType":"ElementaryTypeName","src":"5503:5:86","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":59144,"nodeType":"ArrayTypeName","src":"5503:7:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"id":59150,"initialValue":{"arguments":[{"id":59147,"name":"newDefaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58883,"src":"5556:27:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59148,"name":"newRequesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58894,"src":"5585:21:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":59146,"name":"_prepareMulticallData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59550,"src":"5534:21:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,address) pure returns (bytes memory[] memory)"}},"id":59149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5534:73:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5503:104:86"},{"assignments":[59152],"declarations":[{"constant":false,"id":59152,"mutability":"mutable","name":"multicallTransactionData","nameLocation":"5686:24:86","nodeType":"VariableDeclaration","scope":59244,"src":"5673:37:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":59151,"name":"bytes","nodeType":"ElementaryTypeName","src":"5673:5:86","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":59160,"initialValue":{"arguments":[{"expression":{"id":59155,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58914,"src":"5728:3:86","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":59156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5732:9:86","memberName":"multicall","nodeType":"MemberAccess","referencedDeclaration":60753,"src":"5728:13:86","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bytes memory[] memory) external returns (bytes memory[] memory)"}},{"components":[{"id":59157,"name":"multicallData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59145,"src":"5744:13:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"id":59158,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5743:15:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bytes memory[] memory) external returns (bytes memory[] memory)"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"expression":{"id":59153,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5713:3:86","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5717:10:86","memberName":"encodeCall","nodeType":"MemberAccess","src":"5713:14:86","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":59159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5713:46:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5673:86:86"},{"expression":{"arguments":[{"hexValue":"53696d756c6174696e67206d756c746963616c6c20657865637574696f6e2e2e2e","id":59164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5830:35:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_77d971f1eb771b27538b887c1026c08e42c5dacdf9d04dbe776c7fe2a89876c2","typeString":"literal_string \"Simulating multicall execution...\""},"value":"Simulating multicall execution..."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_77d971f1eb771b27538b887c1026c08e42c5dacdf9d04dbe776c7fe2a89876c2","typeString":"literal_string \"Simulating multicall execution...\""}],"expression":{"id":59161,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5818:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5826:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"5818:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":59165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5818:48:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59166,"nodeType":"ExpressionStatement","src":"5818:48:86"},{"expression":{"arguments":[{"id":59170,"name":"configAdminAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59001,"src":"5889:18:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59167,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"5880:2:86","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":59169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5883:5:86","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"5880:8:86","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":59171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5880:28:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59172,"nodeType":"ExpressionStatement","src":"5880:28:86"},{"expression":{"arguments":[{"id":59176,"name":"multicallData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59145,"src":"5936:13:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"expression":{"id":59173,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58914,"src":"5922:3:86","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":59175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5926:9:86","memberName":"multicall","nodeType":"MemberAccess","referencedDeclaration":60753,"src":"5922:13:86","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bytes memory[] memory) external returns (bytes memory[] memory)"}},"id":59177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5922:28:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":59178,"nodeType":"ExpressionStatement","src":"5922:28:86"},{"expression":{"arguments":[{"hexValue":"4d756c746963616c6c2073696d756c6174696f6e207375636365737366756c21","id":59182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5976:34:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_af8d64b75b5f558df63983679dcde6a890815985854cf706b1fbc74878390bfb","typeString":"literal_string \"Multicall simulation successful!\""},"value":"Multicall simulation successful!"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_af8d64b75b5f558df63983679dcde6a890815985854cf706b1fbc74878390bfb","typeString":"literal_string \"Multicall simulation successful!\""}],"expression":{"id":59179,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5964:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5972:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"5964:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":59183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5964:47:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59184,"nodeType":"ExpressionStatement","src":"5964:47:86"},{"expression":{"arguments":[{"hexValue":"0a3d3d3d204d554c5449534947205452414e53414354494f4e2044415441203d3d3d","id":59188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6108:37:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_bc1abdcbf14114f1f3c5ac23acdbf180ad467dfcaa50ce798d11151d252a19de","typeString":"literal_string hex\"0a3d3d3d204d554c5449534947205452414e53414354494f4e2044415441203d3d3d\""},"value":"\n=== MULTISIG TRANSACTION DATA ==="}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bc1abdcbf14114f1f3c5ac23acdbf180ad467dfcaa50ce798d11151d252a19de","typeString":"literal_string hex\"0a3d3d3d204d554c5449534947205452414e53414354494f4e2044415441203d3d3d\""}],"expression":{"id":59185,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6096:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6104:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"6096:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":59189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6096:50:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59190,"nodeType":"ExpressionStatement","src":"6096:50:86"},{"expression":{"arguments":[{"hexValue":"54617267657420436f6e74726163743a","id":59194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6172:18:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_d5a274bdb6dc1b35dc34aa0df325ccb8e0888a4f8beb9a92c7de6522ac716ee8","typeString":"literal_string \"Target Contract:\""},"value":"Target Contract:"},{"id":59195,"name":"proxyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58876,"src":"6192:12:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d5a274bdb6dc1b35dc34aa0df325ccb8e0888a4f8beb9a92c7de6522ac716ee8","typeString":"literal_string \"Target Contract:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59191,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6160:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6168:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"6160:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6160:45:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59197,"nodeType":"ExpressionStatement","src":"6160:45:86"},{"expression":{"arguments":[{"hexValue":"436f6e6669672041646d696e3a","id":59201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6231:15:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_40d25ab055b180e8b87cb7b96342d2b6239a9a0e05a4347cf437d99df33708c1","typeString":"literal_string \"Config Admin:\""},"value":"Config Admin:"},{"id":59202,"name":"configAdminAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59001,"src":"6248:18:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_40d25ab055b180e8b87cb7b96342d2b6239a9a0e05a4347cf437d99df33708c1","typeString":"literal_string \"Config Admin:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59198,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6219:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6227:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"6219:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6219:48:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59204,"nodeType":"ExpressionStatement","src":"6219:48:86"},{"expression":{"arguments":[{"hexValue":"436861696e2049443a","id":59208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6293:11:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_1819fb621e5bc249bf9a5740212372c48d65576d247cc4cc9085c59818dd89e5","typeString":"literal_string \"Chain ID:\""},"value":"Chain ID:"},{"expression":{"id":59209,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"6306:5:86","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":59210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6312:7:86","memberName":"chainid","nodeType":"MemberAccess","src":"6306:13:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1819fb621e5bc249bf9a5740212372c48d65576d247cc4cc9085c59818dd89e5","typeString":"literal_string \"Chain ID:\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59205,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6281:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6289:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18744,"src":"6281:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":59211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6281:39:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59212,"nodeType":"ExpressionStatement","src":"6281:39:86"},{"expression":{"arguments":[{"hexValue":"5472616e73616374696f6e20446174613a","id":59216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6346:19:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_771d0f1e714223453d897c9283857d0cf66311072fa5bef5c93384d18a9026a6","typeString":"literal_string \"Transaction Data:\""},"value":"Transaction Data:"},{"arguments":[{"id":59219,"name":"multicallTransactionData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59152,"src":"6379:24:86","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":59217,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"6367:2:86","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":59218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6370:8:86","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15137,"src":"6367:11:86","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":59220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6367:37:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_771d0f1e714223453d897c9283857d0cf66311072fa5bef5c93384d18a9026a6","typeString":"literal_string \"Transaction Data:\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":59213,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6334:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6342:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18778,"src":"6334:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure"}},"id":59221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6334:71:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59222,"nodeType":"ExpressionStatement","src":"6334:71:86"},{"expression":{"arguments":[{"hexValue":"4e756d626572206f66206f7065726174696f6e733a","id":59226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6431:23:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_8100e2edaa6a7147786ac0d6477a949660829b47ddff42e194ffaa482b96f6df","typeString":"literal_string \"Number of operations:\""},"value":"Number of operations:"},{"expression":{"id":59227,"name":"multicallData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59145,"src":"6456:13:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":59228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6470:6:86","memberName":"length","nodeType":"MemberAccess","src":"6456:20:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8100e2edaa6a7147786ac0d6477a949660829b47ddff42e194ffaa482b96f6df","typeString":"literal_string \"Number of operations:\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59223,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6419:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6427:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18744,"src":"6419:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":59229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6419:58:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59230,"nodeType":"ExpressionStatement","src":"6419:58:86"},{"expression":{"arguments":[{"hexValue":"0a557365207468657365207472616e73616374696f6e206461746120696e20796f7572206d756c74697369672077616c6c657420746f2065786563757465207468652077686974656c69737420757064617465732e","id":59234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6504:88:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_e930d7bc2e9c0a6a653d002c592c1491a6855d41cb67fd73f224e3bdae86f83a","typeString":"literal_string hex\"0a557365207468657365207472616e73616374696f6e206461746120696e20796f7572206d756c74697369672077616c6c657420746f2065786563757465207468652077686974656c69737420757064617465732e\""},"value":"\nUse these transaction data in your multisig wallet to execute the whitelist updates."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e930d7bc2e9c0a6a653d002c592c1491a6855d41cb67fd73f224e3bdae86f83a","typeString":"literal_string hex\"0a557365207468657365207472616e73616374696f6e206461746120696e20796f7572206d756c74697369672077616c6c657420746f2065786563757465207468652077686974656c69737420757064617465732e\""}],"expression":{"id":59231,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6492:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6500:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"6492:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":59235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6492:101:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59236,"nodeType":"ExpressionStatement","src":"6492:101:86"},{"expression":{"arguments":[{"hexValue":"54686520636f6e6669672061646d696e20616464726573732069733a","id":59240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6619:30:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_ac34acbe2d85a41c97ef66fd0b3850e70bfbb7a182d4939d4989301c527d0b1d","typeString":"literal_string \"The config admin address is:\""},"value":"The config admin address is:"},{"id":59241,"name":"configAdminAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59001,"src":"6651:18:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ac34acbe2d85a41c97ef66fd0b3850e70bfbb7a182d4939d4989301c527d0b1d","typeString":"literal_string \"The config admin address is:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59237,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"6607:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6615:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"6607:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6607:63:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59243,"nodeType":"ExpressionStatement","src":"6607:63:86"}]}},{"expression":{"arguments":[{"hexValue":"0a3d3d3d20564552494649434154494f4e203d3d3d","id":59295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7398:24:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_7e6093f70934d8843ac3137e815eb1e518cc7ac47c57d94410244153c7c417e7","typeString":"literal_string hex\"0a3d3d3d20564552494649434154494f4e203d3d3d\""},"value":"\n=== VERIFICATION ==="}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7e6093f70934d8843ac3137e815eb1e518cc7ac47c57d94410244153c7c417e7","typeString":"literal_string hex\"0a3d3d3d20564552494649434154494f4e203d3d3d\""}],"expression":{"id":59292,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"7386:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7394:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"7386:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":59296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7386:37:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59297,"nodeType":"ExpressionStatement","src":"7386:37:86"},{"expression":{"arguments":[{"id":59299,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58914,"src":"7457:3:86","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},{"id":59300,"name":"newDefaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58883,"src":"7462:27:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59301,"name":"newRequesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58894,"src":"7491:21:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":59298,"name":"_verifyWhitelistUpdates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59672,"src":"7433:23:86","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_ManagedOptimisticOracleV2_$61771_$_t_address_$_t_address_$returns$__$","typeString":"function (contract ManagedOptimisticOracleV2,address,address) view"}},"id":59302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7433:80:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59303,"nodeType":"ExpressionStatement","src":"7433:80:86"},{"expression":{"arguments":[{"hexValue":"0a3d3d3d205570646174652053756d6d617279203d3d3d","id":59307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7569:26:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_982f94aa1b5b407fba00184aaeea432d1957dc7e87fa5b3d23cb05fda3a5eb70","typeString":"literal_string hex\"0a3d3d3d205570646174652053756d6d617279203d3d3d\""},"value":"\n=== Update Summary ==="}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_982f94aa1b5b407fba00184aaeea432d1957dc7e87fa5b3d23cb05fda3a5eb70","typeString":"literal_string hex\"0a3d3d3d205570646174652053756d6d617279203d3d3d\""}],"expression":{"id":59304,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"7557:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7565:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"7557:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":59308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7557:39:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59309,"nodeType":"ExpressionStatement","src":"7557:39:86"},{"expression":{"arguments":[{"hexValue":"50726f787920416464726573733a","id":59313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7618:16:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_e76a0207e7af1a570f49f5a3a749431c8f7500af34fe8c28e2b9682e7f9211e5","typeString":"literal_string \"Proxy Address:\""},"value":"Proxy Address:"},{"id":59314,"name":"proxyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58876,"src":"7636:12:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e76a0207e7af1a570f49f5a3a749431c8f7500af34fe8c28e2b9682e7f9211e5","typeString":"literal_string \"Proxy Address:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59310,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"7606:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7614:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"7606:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7606:43:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59316,"nodeType":"ExpressionStatement","src":"7606:43:86"},{"expression":{"arguments":[{"hexValue":"436861696e2049443a","id":59320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7671:11:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_1819fb621e5bc249bf9a5740212372c48d65576d247cc4cc9085c59818dd89e5","typeString":"literal_string \"Chain ID:\""},"value":"Chain ID:"},{"expression":{"id":59321,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"7684:5:86","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":59322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7690:7:86","memberName":"chainid","nodeType":"MemberAccess","src":"7684:13:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1819fb621e5bc249bf9a5740212372c48d65576d247cc4cc9085c59818dd89e5","typeString":"literal_string \"Chain ID:\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59317,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"7659:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7667:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18744,"src":"7659:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":59323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7659:39:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59324,"nodeType":"ExpressionStatement","src":"7659:39:86"},{"expression":{"arguments":[{"hexValue":"4465706c6f7965723a","id":59328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7720:11:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_e772c8e8d8a372c021df80dc662847e23e4debc2fbe46a606adc7bd1f2ffe8d0","typeString":"literal_string \"Deployer:\""},"value":"Deployer:"},{"id":59329,"name":"deployerAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58869,"src":"7733:15:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e772c8e8d8a372c021df80dc662847e23e4debc2fbe46a606adc7bd1f2ffe8d0","typeString":"literal_string \"Deployer:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59325,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"7708:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7716:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"7708:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7708:41:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59331,"nodeType":"ExpressionStatement","src":"7708:41:86"},{"expression":{"arguments":[{"hexValue":"434f4e4649475f41444d494e5f524f4c453a","id":59335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7771:20:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_cc56ca6ac6a85dd5c4158ee5f65b052ffd3835a7b0ac2d5aac43cd246c37b4ec","typeString":"literal_string \"CONFIG_ADMIN_ROLE:\""},"value":"CONFIG_ADMIN_ROLE:"},{"id":59336,"name":"hasConfigAdminRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58993,"src":"7793:18:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cc56ca6ac6a85dd5c4158ee5f65b052ffd3835a7b0ac2d5aac43cd246c37b4ec","typeString":"literal_string \"CONFIG_ADMIN_ROLE:\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":59332,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"7759:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7767:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18795,"src":"7759:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_bool_$returns$__$","typeString":"function (string memory,bool) pure"}},"id":59337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7759:53:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59338,"nodeType":"ExpressionStatement","src":"7759:53:86"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":59344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59339,"name":"newDefaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58883,"src":"7827:27:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":59342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7866:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":59341,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7858:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59340,"name":"address","nodeType":"ElementaryTypeName","src":"7858:7:86","typeDescriptions":{}}},"id":59343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7858:10:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7827:41:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59371,"nodeType":"IfStatement","src":"7823:258:86","trueBody":{"id":59370,"nodeType":"Block","src":"7870:211:86","statements":[{"expression":{"arguments":[{"hexValue":"44656661756c742050726f706f7365722057686974656c6973743a","id":59348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7896:29:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_8bf5a005130f9f908974867957eba9c681b1ff4af35601992824698b9cd77891","typeString":"literal_string \"Default Proposer Whitelist:\""},"value":"Default Proposer Whitelist:"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8bf5a005130f9f908974867957eba9c681b1ff4af35601992824698b9cd77891","typeString":"literal_string \"Default Proposer Whitelist:\""}],"expression":{"id":59345,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"7884:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7892:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"7884:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":59349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7884:42:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59350,"nodeType":"ExpressionStatement","src":"7884:42:86"},{"expression":{"arguments":[{"hexValue":"202046726f6d3a","id":59354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7952:9:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_66352289c85a0cb5470e848f97a9950638e2ccae4218d85087bc7380e4b94780","typeString":"literal_string \" From:\""},"value":" From:"},{"id":59355,"name":"currentDefaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58920,"src":"7963:31:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_66352289c85a0cb5470e848f97a9950638e2ccae4218d85087bc7380e4b94780","typeString":"literal_string \" From:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59351,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"7940:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7948:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"7940:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7940:55:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59357,"nodeType":"ExpressionStatement","src":"7940:55:86"},{"expression":{"arguments":[{"hexValue":"2020546f3a","id":59361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8021:7:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_b47f1dd7ed3ad998fb4711a78d578db15665ea90c7edf03fc134a987756461c0","typeString":"literal_string \" To:\""},"value":" To:"},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59364,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58914,"src":"8038:3:86","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":59365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8042:24:86","memberName":"defaultProposerWhitelist","nodeType":"MemberAccess","referencedDeclaration":60900,"src":"8038:28:86","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"function () view external returns (contract AddressWhitelistInterface)"}},"id":59366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8038:30:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}],"id":59363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8030:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59362,"name":"address","nodeType":"ElementaryTypeName","src":"8030:7:86","typeDescriptions":{}}},"id":59367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8030:39:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b47f1dd7ed3ad998fb4711a78d578db15665ea90c7edf03fc134a987756461c0","typeString":"literal_string \" To:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59358,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"8009:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8017:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"8009:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8009:61:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59369,"nodeType":"ExpressionStatement","src":"8009:61:86"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":59377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59372,"name":"newRequesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58894,"src":"8095:21:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":59375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8128:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":59374,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8120:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59373,"name":"address","nodeType":"ElementaryTypeName","src":"8120:7:86","typeDescriptions":{}}},"id":59376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8120:10:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8095:35:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59404,"nodeType":"IfStatement","src":"8091:233:86","trueBody":{"id":59403,"nodeType":"Block","src":"8132:192:86","statements":[{"expression":{"arguments":[{"hexValue":"5265717565737465722057686974656c6973743a","id":59381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8158:22:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_db9bdf292939c724d6b4e095145a4dc634d2430ce53773603ba43225960e7cb1","typeString":"literal_string \"Requester Whitelist:\""},"value":"Requester Whitelist:"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_db9bdf292939c724d6b4e095145a4dc634d2430ce53773603ba43225960e7cb1","typeString":"literal_string \"Requester Whitelist:\""}],"expression":{"id":59378,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"8146:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8154:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"8146:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":59382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8146:35:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59383,"nodeType":"ExpressionStatement","src":"8146:35:86"},{"expression":{"arguments":[{"hexValue":"202046726f6d3a","id":59387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8207:9:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_66352289c85a0cb5470e848f97a9950638e2ccae4218d85087bc7380e4b94780","typeString":"literal_string \" From:\""},"value":" From:"},{"id":59388,"name":"currentRequesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58929,"src":"8218:25:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_66352289c85a0cb5470e848f97a9950638e2ccae4218d85087bc7380e4b94780","typeString":"literal_string \" From:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59384,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"8195:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8203:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"8195:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8195:49:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59390,"nodeType":"ExpressionStatement","src":"8195:49:86"},{"expression":{"arguments":[{"hexValue":"2020546f3a","id":59394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8270:7:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_b47f1dd7ed3ad998fb4711a78d578db15665ea90c7edf03fc134a987756461c0","typeString":"literal_string \" To:\""},"value":" To:"},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59397,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58914,"src":"8287:3:86","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":59398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8291:18:86","memberName":"requesterWhitelist","nodeType":"MemberAccess","referencedDeclaration":60903,"src":"8287:22:86","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"function () view external returns (contract AddressWhitelistInterface)"}},"id":59399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8287:24:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}],"id":59396,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8279:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59395,"name":"address","nodeType":"ElementaryTypeName","src":"8279:7:86","typeDescriptions":{}}},"id":59400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8279:33:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b47f1dd7ed3ad998fb4711a78d578db15665ea90c7edf03fc134a987756461c0","typeString":"literal_string \" To:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59391,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"8258:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8266:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"8258:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8258:55:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59402,"nodeType":"ExpressionStatement","src":"8258:55:86"}]}}]},"functionSelector":"c0406226","implemented":true,"kind":"function","modifiers":[],"name":"run","nameLocation":"1376:3:86","parameters":{"id":58861,"nodeType":"ParameterList","parameters":[],"src":"1379:2:86"},"returnParameters":{"id":58862,"nodeType":"ParameterList","parameters":[],"src":"1391:0:86"},"scope":59913,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":59426,"nodeType":"FunctionDefinition","src":"8495:226:86","nodes":[],"body":{"id":59425,"nodeType":"Block","src":"8561:160:86","nodes":[],"statements":[{"assignments":[59413],"declarations":[{"constant":false,"id":59413,"mutability":"mutable","name":"mnemonic","nameLocation":"8585:8:86","nodeType":"VariableDeclaration","scope":59425,"src":"8571:22:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":59412,"name":"string","nodeType":"ElementaryTypeName","src":"8571:6:86","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":59418,"initialValue":{"arguments":[{"hexValue":"4d4e454d4f4e4943","id":59416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8609:10:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7847ed63e851fdf31d71be7e99485b72f34aad94067c632a3301195aa6e0dd0","typeString":"literal_string \"MNEMONIC\""},"value":"MNEMONIC"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f7847ed63e851fdf31d71be7e99485b72f34aad94067c632a3301195aa6e0dd0","typeString":"literal_string \"MNEMONIC\""}],"expression":{"id":59414,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"8596:2:86","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":59415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8599:9:86","memberName":"envString","nodeType":"MemberAccess","referencedDeclaration":13753,"src":"8596:12:86","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":59417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8596:24:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"8571:49:86"},{"expression":{"arguments":[{"id":59421,"name":"mnemonic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59413,"src":"8702:8:86","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":59422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8712:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":59419,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"8689:2:86","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":59420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8692:9:86","memberName":"deriveKey","nodeType":"MemberAccess","referencedDeclaration":13276,"src":"8689:12:86","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_uint32_$returns$_t_uint256_$","typeString":"function (string memory,uint32) pure external returns (uint256)"}},"id":59423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8689:25:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":59411,"id":59424,"nodeType":"Return","src":"8682:32:86"}]},"documentation":{"id":59407,"nodeType":"StructuredDocumentation","src":"8336:154:86","text":" @notice Derives the deployer's private key from the mnemonic\n @return deployerPrivateKey The derived private key for the deployer"},"implemented":true,"kind":"function","modifiers":[],"name":"_getDeployerPrivateKey","nameLocation":"8504:22:86","parameters":{"id":59408,"nodeType":"ParameterList","parameters":[],"src":"8526:2:86"},"returnParameters":{"id":59411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59410,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":59426,"src":"8552:7:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59409,"name":"uint256","nodeType":"ElementaryTypeName","src":"8552:7:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8551:9:86"},"scope":59913,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":59483,"nodeType":"FunctionDefinition","src":"8933:350:86","nodes":[],"body":{"id":59482,"nodeType":"Block","src":"9045:238:86","nodes":[],"statements":[{"assignments":[59442],"declarations":[{"constant":false,"id":59442,"mutability":"mutable","name":"newArray","nameLocation":"9070:8:86","nodeType":"VariableDeclaration","scope":59482,"src":"9055:23:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":59440,"name":"bytes","nodeType":"ElementaryTypeName","src":"9055:5:86","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":59441,"nodeType":"ArrayTypeName","src":"9055:7:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"id":59451,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":59449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":59446,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59430,"src":"9093:5:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":59447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9099:6:86","memberName":"length","nodeType":"MemberAccess","src":"9093:12:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":59448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9108:1:86","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9093:16:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":59445,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9081:11:86","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory[] memory)"},"typeName":{"baseType":{"id":59443,"name":"bytes","nodeType":"ElementaryTypeName","src":"9085:5:86","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":59444,"nodeType":"ArrayTypeName","src":"9085:7:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}}},"id":59450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9081:29:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9055:55:86"},{"body":{"id":59471,"nodeType":"Block","src":"9163:47:86","statements":[{"expression":{"id":59469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":59463,"name":"newArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59442,"src":"9177:8:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":59465,"indexExpression":{"id":59464,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59453,"src":"9186:1:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9177:11:86","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":59466,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59430,"src":"9191:5:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":59468,"indexExpression":{"id":59467,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59453,"src":"9197:1:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9191:8:86","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"9177:22:86","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":59470,"nodeType":"ExpressionStatement","src":"9177:22:86"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":59459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59456,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59453,"src":"9140:1:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":59457,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59430,"src":"9144:5:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":59458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9150:6:86","memberName":"length","nodeType":"MemberAccess","src":"9144:12:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9140:16:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59472,"initializationExpression":{"assignments":[59453],"declarations":[{"constant":false,"id":59453,"mutability":"mutable","name":"i","nameLocation":"9133:1:86","nodeType":"VariableDeclaration","scope":59472,"src":"9125:9:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59452,"name":"uint256","nodeType":"ElementaryTypeName","src":"9125:7:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59455,"initialValue":{"hexValue":"30","id":59454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9137:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"9125:13:86"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":59461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"9158:3:86","subExpression":{"id":59460,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59453,"src":"9158:1:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":59462,"nodeType":"ExpressionStatement","src":"9158:3:86"},"nodeType":"ForStatement","src":"9120:90:86"},{"expression":{"id":59478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":59473,"name":"newArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59442,"src":"9219:8:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":59476,"indexExpression":{"expression":{"id":59474,"name":"array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59430,"src":"9228:5:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":59475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9234:6:86","memberName":"length","nodeType":"MemberAccess","src":"9228:12:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9219:22:86","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":59477,"name":"element","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59432,"src":"9244:7:86","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"9219:32:86","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":59479,"nodeType":"ExpressionStatement","src":"9219:32:86"},{"expression":{"id":59480,"name":"newArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59442,"src":"9268:8:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"functionReturnParameters":59437,"id":59481,"nodeType":"Return","src":"9261:15:86"}]},"documentation":{"id":59427,"nodeType":"StructuredDocumentation","src":"8727:201:86","text":" @notice Appends a bytes element to a bytes array\n @param array The existing bytes array\n @param element The bytes element to append\n @return The updated bytes array"},"implemented":true,"kind":"function","modifiers":[],"name":"_appendToBytesArray","nameLocation":"8942:19:86","parameters":{"id":59433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59430,"mutability":"mutable","name":"array","nameLocation":"8977:5:86","nodeType":"VariableDeclaration","scope":59483,"src":"8962:20:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":59428,"name":"bytes","nodeType":"ElementaryTypeName","src":"8962:5:86","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":59429,"nodeType":"ArrayTypeName","src":"8962:7:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":59432,"mutability":"mutable","name":"element","nameLocation":"8997:7:86","nodeType":"VariableDeclaration","scope":59483,"src":"8984:20:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":59431,"name":"bytes","nodeType":"ElementaryTypeName","src":"8984:5:86","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8961:44:86"},"returnParameters":{"id":59437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59436,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":59483,"src":"9029:14:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":59434,"name":"bytes","nodeType":"ElementaryTypeName","src":"9029:5:86","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":59435,"nodeType":"ArrayTypeName","src":"9029:7:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"9028:16:86"},"scope":59913,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":59550,"nodeType":"FunctionDefinition","src":"9590:785:86","nodes":[],"body":{"id":59549,"nodeType":"Block","src":"9756:619:86","nodes":[],"statements":[{"assignments":[59498],"declarations":[{"constant":false,"id":59498,"mutability":"mutable","name":"multicallData","nameLocation":"9781:13:86","nodeType":"VariableDeclaration","scope":59549,"src":"9766:28:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":59496,"name":"bytes","nodeType":"ElementaryTypeName","src":"9766:5:86","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":59497,"nodeType":"ArrayTypeName","src":"9766:7:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"id":59504,"initialValue":{"arguments":[{"hexValue":"30","id":59502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9809:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":59501,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9797:11:86","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory[] memory)"},"typeName":{"baseType":{"id":59499,"name":"bytes","nodeType":"ElementaryTypeName","src":"9801:5:86","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":59500,"nodeType":"ArrayTypeName","src":"9801:7:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}}},"id":59503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9797:14:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9766:45:86"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":59510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59505,"name":"newDefaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59486,"src":"9826:27:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":59508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9865:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":59507,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9857:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59506,"name":"address","nodeType":"ElementaryTypeName","src":"9857:7:86","typeDescriptions":{}}},"id":59509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9857:10:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9826:41:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59525,"nodeType":"IfStatement","src":"9822:270:86","trueBody":{"id":59524,"nodeType":"Block","src":"9869:223:86","statements":[{"expression":{"id":59522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":59511,"name":"multicallData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59498,"src":"9883:13:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":59513,"name":"multicallData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59498,"src":"9936:13:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"arguments":[{"expression":{"id":59516,"name":"ManagedOptimisticOracleV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61771,"src":"9982:25:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2_$61771_$","typeString":"type(contract ManagedOptimisticOracleV2)"}},"id":59517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10008:27:86","memberName":"setDefaultProposerWhitelist","nodeType":"MemberAccess","referencedDeclaration":61110,"src":"9982:53:86","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$__$","typeString":"function ManagedOptimisticOracleV2.setDefaultProposerWhitelist(address)"}},{"components":[{"id":59518,"name":"newDefaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59486,"src":"10038:27:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":59519,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10037:29:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$__$","typeString":"function ManagedOptimisticOracleV2.setDefaultProposerWhitelist(address)"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59514,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9967:3:86","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59515,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9971:10:86","memberName":"encodeCall","nodeType":"MemberAccess","src":"9967:14:86","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":59520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9967:100:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":59512,"name":"_appendToBytesArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59483,"src":"9899:19:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bytes memory[] memory,bytes memory) pure returns (bytes memory[] memory)"}},"id":59521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9899:182:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"src":"9883:198:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":59523,"nodeType":"ExpressionStatement","src":"9883:198:86"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":59531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59526,"name":"newRequesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59488,"src":"10106:21:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":59529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10139:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":59528,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10131:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59527,"name":"address","nodeType":"ElementaryTypeName","src":"10131:7:86","typeDescriptions":{}}},"id":59530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10131:10:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10106:35:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59546,"nodeType":"IfStatement","src":"10102:236:86","trueBody":{"id":59545,"nodeType":"Block","src":"10143:195:86","statements":[{"expression":{"id":59543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":59532,"name":"multicallData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59498,"src":"10157:13:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":59534,"name":"multicallData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59498,"src":"10210:13:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"arguments":[{"expression":{"id":59537,"name":"ManagedOptimisticOracleV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61771,"src":"10240:25:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2_$61771_$","typeString":"type(contract ManagedOptimisticOracleV2)"}},"id":59538,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10266:21:86","memberName":"setRequesterWhitelist","nodeType":"MemberAccess","referencedDeclaration":61125,"src":"10240:47:86","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$__$","typeString":"function ManagedOptimisticOracleV2.setRequesterWhitelist(address)"}},{"components":[{"id":59539,"name":"newRequesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59488,"src":"10290:21:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":59540,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10289:23:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$__$","typeString":"function ManagedOptimisticOracleV2.setRequesterWhitelist(address)"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59535,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10225:3:86","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59536,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10229:10:86","memberName":"encodeCall","nodeType":"MemberAccess","src":"10225:14:86","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":59541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10225:88:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":59533,"name":"_appendToBytesArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59483,"src":"10173:19:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bytes memory[] memory,bytes memory) pure returns (bytes memory[] memory)"}},"id":59542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10173:154:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"src":"10157:170:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":59544,"nodeType":"ExpressionStatement","src":"10157:170:86"}]}},{"expression":{"id":59547,"name":"multicallData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59498,"src":"10355:13:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"functionReturnParameters":59493,"id":59548,"nodeType":"Return","src":"10348:20:86"}]},"documentation":{"id":59484,"nodeType":"StructuredDocumentation","src":"9289:296:86","text":" @notice Prepares multicall data for whitelist updates\n @param newDefaultProposerWhitelist New default proposer whitelist address\n @param newRequesterWhitelist New requester whitelist address\n @return multicallData Array of encoded function calls for multicall"},"implemented":true,"kind":"function","modifiers":[],"name":"_prepareMulticallData","nameLocation":"9599:21:86","parameters":{"id":59489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59486,"mutability":"mutable","name":"newDefaultProposerWhitelist","nameLocation":"9629:27:86","nodeType":"VariableDeclaration","scope":59550,"src":"9621:35:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59485,"name":"address","nodeType":"ElementaryTypeName","src":"9621:7:86","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59488,"mutability":"mutable","name":"newRequesterWhitelist","nameLocation":"9666:21:86","nodeType":"VariableDeclaration","scope":59550,"src":"9658:29:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59487,"name":"address","nodeType":"ElementaryTypeName","src":"9658:7:86","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9620:68:86"},"returnParameters":{"id":59493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59492,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":59550,"src":"9736:14:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":59490,"name":"bytes","nodeType":"ElementaryTypeName","src":"9736:5:86","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":59491,"nodeType":"ArrayTypeName","src":"9736:7:86","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"9735:16:86"},"scope":59913,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":59672,"nodeType":"FunctionDefinition","src":"10704:1478:86","nodes":[],"body":{"id":59671,"nodeType":"Block","src":"10890:1292:86","nodes":[],"statements":[{"assignments":[59562],"declarations":[{"constant":false,"id":59562,"mutability":"mutable","name":"currentDefaultProposerWhitelist","nameLocation":"10908:31:86","nodeType":"VariableDeclaration","scope":59671,"src":"10900:39:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59561,"name":"address","nodeType":"ElementaryTypeName","src":"10900:7:86","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":59569,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59565,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59554,"src":"10950:3:86","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":59566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10954:24:86","memberName":"defaultProposerWhitelist","nodeType":"MemberAccess","referencedDeclaration":60900,"src":"10950:28:86","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"function () view external returns (contract AddressWhitelistInterface)"}},"id":59567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10950:30:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}],"id":59564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10942:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59563,"name":"address","nodeType":"ElementaryTypeName","src":"10942:7:86","typeDescriptions":{}}},"id":59568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10942:39:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10900:81:86"},{"assignments":[59571],"declarations":[{"constant":false,"id":59571,"mutability":"mutable","name":"currentRequesterWhitelist","nameLocation":"10999:25:86","nodeType":"VariableDeclaration","scope":59671,"src":"10991:33:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59570,"name":"address","nodeType":"ElementaryTypeName","src":"10991:7:86","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":59578,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59574,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59554,"src":"11035:3:86","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":59575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11039:18:86","memberName":"requesterWhitelist","nodeType":"MemberAccess","referencedDeclaration":60903,"src":"11035:22:86","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"function () view external returns (contract AddressWhitelistInterface)"}},"id":59576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11035:24:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}],"id":59573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11027:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59572,"name":"address","nodeType":"ElementaryTypeName","src":"11027:7:86","typeDescriptions":{}}},"id":59577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11027:33:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10991:69:86"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":59584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59579,"name":"expectedDefaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59556,"src":"11075:32:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":59582,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11119:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":59581,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11111:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59580,"name":"address","nodeType":"ElementaryTypeName","src":"11111:7:86","typeDescriptions":{}}},"id":59583,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11111:10:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11075:46:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59624,"nodeType":"IfStatement","src":"11071:568:86","trueBody":{"id":59623,"nodeType":"Block","src":"11123:516:86","statements":[{"assignments":[59586],"declarations":[{"constant":false,"id":59586,"mutability":"mutable","name":"proposerUpdateSuccess","nameLocation":"11142:21:86","nodeType":"VariableDeclaration","scope":59623,"src":"11137:26:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":59585,"name":"bool","nodeType":"ElementaryTypeName","src":"11137:4:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":59590,"initialValue":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":59589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59587,"name":"currentDefaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59562,"src":"11166:31:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":59588,"name":"expectedDefaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59556,"src":"11201:32:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11166:67:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"11137:96:86"},{"expression":{"arguments":[{"hexValue":"44656661756c742050726f706f7365722057686974656c697374205570646174653a","id":59594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11259:36:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_666d33979c356e36f9d4e0411c27a444344bb5354998cacb05c1858790e9e1fa","typeString":"literal_string \"Default Proposer Whitelist Update:\""},"value":"Default Proposer Whitelist Update:"},{"condition":{"id":59595,"name":"proposerUpdateSuccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59586,"src":"11297:21:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"4641494c4544","id":59597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11333:8:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_c50cad6f8b1c8a54a5c76e3eca57f2748d547818bfac18403e7911bf23fc8166","typeString":"literal_string \"FAILED\""},"value":"FAILED"},"id":59598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"11297:44:86","trueExpression":{"hexValue":"53554343455353","id":59596,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11321:9:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_39bf027dd97f3bae0cf8cfb909695ec63313a9bd61ad52fc7f52cf565b141da8","typeString":"literal_string \"SUCCESS\""},"value":"SUCCESS"},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_666d33979c356e36f9d4e0411c27a444344bb5354998cacb05c1858790e9e1fa","typeString":"literal_string \"Default Proposer Whitelist Update:\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":59591,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"11247:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11255:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18778,"src":"11247:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure"}},"id":59599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11247:95:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59600,"nodeType":"ExpressionStatement","src":"11247:95:86"},{"condition":{"id":59602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"11360:22:86","subExpression":{"id":59601,"name":"proposerUpdateSuccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59586,"src":"11361:21:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59622,"nodeType":"IfStatement","src":"11356:273:86","trueBody":{"id":59621,"nodeType":"Block","src":"11384:245:86","statements":[{"expression":{"arguments":[{"hexValue":"45787065637465643a","id":59606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11414:11:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_d4edf3944054bbb002b64acb6cb8dc399d7c0c166825b9398e5afda8d937eee7","typeString":"literal_string \"Expected:\""},"value":"Expected:"},{"id":59607,"name":"expectedDefaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59556,"src":"11427:32:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d4edf3944054bbb002b64acb6cb8dc399d7c0c166825b9398e5afda8d937eee7","typeString":"literal_string \"Expected:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59603,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"11402:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11410:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"11402:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11402:58:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59609,"nodeType":"ExpressionStatement","src":"11402:58:86"},{"expression":{"arguments":[{"hexValue":"41637475616c3a","id":59613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11490:9:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_8915f80e7f3ded05a90a62849f53111a47f22e1cfef18694b6453ea8cde74fb1","typeString":"literal_string \"Actual:\""},"value":"Actual:"},{"id":59614,"name":"currentDefaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59562,"src":"11501:31:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8915f80e7f3ded05a90a62849f53111a47f22e1cfef18694b6453ea8cde74fb1","typeString":"literal_string \"Actual:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59610,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"11478:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11486:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"11478:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11478:55:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59616,"nodeType":"ExpressionStatement","src":"11478:55:86"},{"expression":{"arguments":[{"hexValue":"44656661756c742070726f706f7365722077686974656c6973742075706461746520766572696669636174696f6e206661696c6564","id":59618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11558:55:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_7d8b2f54c5919bad011115ad30792ee595523af4d6fca341d0e7abd141986a47","typeString":"literal_string \"Default proposer whitelist update verification failed\""},"value":"Default proposer whitelist update verification failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7d8b2f54c5919bad011115ad30792ee595523af4d6fca341d0e7abd141986a47","typeString":"literal_string \"Default proposer whitelist update verification failed\""}],"id":59617,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"11551:6:86","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":59619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11551:63:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59620,"nodeType":"ExpressionStatement","src":"11551:63:86"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":59630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59625,"name":"expectedRequesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59558,"src":"11653:26:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":59628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11691:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":59627,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11683:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59626,"name":"address","nodeType":"ElementaryTypeName","src":"11683:7:86","typeDescriptions":{}}},"id":59629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11683:10:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11653:40:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59670,"nodeType":"IfStatement","src":"11649:527:86","trueBody":{"id":59669,"nodeType":"Block","src":"11695:481:86","statements":[{"assignments":[59632],"declarations":[{"constant":false,"id":59632,"mutability":"mutable","name":"requesterUpdateSuccess","nameLocation":"11714:22:86","nodeType":"VariableDeclaration","scope":59669,"src":"11709:27:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":59631,"name":"bool","nodeType":"ElementaryTypeName","src":"11709:4:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":59636,"initialValue":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":59635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59633,"name":"currentRequesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59571,"src":"11739:25:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":59634,"name":"expectedRequesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59558,"src":"11768:26:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11739:55:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"11709:85:86"},{"expression":{"arguments":[{"hexValue":"5265717565737465722057686974656c697374205570646174653a","id":59640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11820:29:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_b28e0f0fc0c16e8ceb3e78c7eae0c9f6e522f635f039dac3c99fc327e7f5e3a7","typeString":"literal_string \"Requester Whitelist Update:\""},"value":"Requester Whitelist Update:"},{"condition":{"id":59641,"name":"requesterUpdateSuccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59632,"src":"11851:22:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"4641494c4544","id":59643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11888:8:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_c50cad6f8b1c8a54a5c76e3eca57f2748d547818bfac18403e7911bf23fc8166","typeString":"literal_string \"FAILED\""},"value":"FAILED"},"id":59644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"11851:45:86","trueExpression":{"hexValue":"53554343455353","id":59642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11876:9:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_39bf027dd97f3bae0cf8cfb909695ec63313a9bd61ad52fc7f52cf565b141da8","typeString":"literal_string \"SUCCESS\""},"value":"SUCCESS"},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b28e0f0fc0c16e8ceb3e78c7eae0c9f6e522f635f039dac3c99fc327e7f5e3a7","typeString":"literal_string \"Requester Whitelist Update:\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":59637,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"11808:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11816:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18778,"src":"11808:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure"}},"id":59645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11808:89:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59646,"nodeType":"ExpressionStatement","src":"11808:89:86"},{"condition":{"id":59648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"11915:23:86","subExpression":{"id":59647,"name":"requesterUpdateSuccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59632,"src":"11916:22:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59668,"nodeType":"IfStatement","src":"11911:255:86","trueBody":{"id":59667,"nodeType":"Block","src":"11940:226:86","statements":[{"expression":{"arguments":[{"hexValue":"45787065637465643a","id":59652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11970:11:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_d4edf3944054bbb002b64acb6cb8dc399d7c0c166825b9398e5afda8d937eee7","typeString":"literal_string \"Expected:\""},"value":"Expected:"},{"id":59653,"name":"expectedRequesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59558,"src":"11983:26:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d4edf3944054bbb002b64acb6cb8dc399d7c0c166825b9398e5afda8d937eee7","typeString":"literal_string \"Expected:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59649,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"11958:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11966:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"11958:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11958:52:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59655,"nodeType":"ExpressionStatement","src":"11958:52:86"},{"expression":{"arguments":[{"hexValue":"41637475616c3a","id":59659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12040:9:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_8915f80e7f3ded05a90a62849f53111a47f22e1cfef18694b6453ea8cde74fb1","typeString":"literal_string \"Actual:\""},"value":"Actual:"},{"id":59660,"name":"currentRequesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59571,"src":"12051:25:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8915f80e7f3ded05a90a62849f53111a47f22e1cfef18694b6453ea8cde74fb1","typeString":"literal_string \"Actual:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59656,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"12028:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12036:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"12028:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12028:49:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59662,"nodeType":"ExpressionStatement","src":"12028:49:86"},{"expression":{"arguments":[{"hexValue":"5265717565737465722077686974656c6973742075706461746520766572696669636174696f6e206661696c6564","id":59664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12102:48:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfef0663a136d0e65e4bc6d0b60f7ef50d25c39622f4732851ac6da1521205f9","typeString":"literal_string \"Requester whitelist update verification failed\""},"value":"Requester whitelist update verification failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cfef0663a136d0e65e4bc6d0b60f7ef50d25c39622f4732851ac6da1521205f9","typeString":"literal_string \"Requester whitelist update verification failed\""}],"id":59663,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"12095:6:86","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":59665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12095:56:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59666,"nodeType":"ExpressionStatement","src":"12095:56:86"}]}}]}}]},"documentation":{"id":59551,"nodeType":"StructuredDocumentation","src":"10381:318:86","text":" @notice Verifies whitelist updates by checking the current state\n @param moo The ManagedOptimisticOracleV2 contract instance\n @param expectedDefaultProposerWhitelist Expected default proposer whitelist address\n @param expectedRequesterWhitelist Expected requester whitelist address"},"implemented":true,"kind":"function","modifiers":[],"name":"_verifyWhitelistUpdates","nameLocation":"10713:23:86","parameters":{"id":59559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59554,"mutability":"mutable","name":"moo","nameLocation":"10772:3:86","nodeType":"VariableDeclaration","scope":59672,"src":"10746:29:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"},"typeName":{"id":59553,"nodeType":"UserDefinedTypeName","pathNode":{"id":59552,"name":"ManagedOptimisticOracleV2","nameLocations":["10746:25:86"],"nodeType":"IdentifierPath","referencedDeclaration":61771,"src":"10746:25:86"},"referencedDeclaration":61771,"src":"10746:25:86","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"visibility":"internal"},{"constant":false,"id":59556,"mutability":"mutable","name":"expectedDefaultProposerWhitelist","nameLocation":"10793:32:86","nodeType":"VariableDeclaration","scope":59672,"src":"10785:40:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59555,"name":"address","nodeType":"ElementaryTypeName","src":"10785:7:86","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59558,"mutability":"mutable","name":"expectedRequesterWhitelist","nameLocation":"10843:26:86","nodeType":"VariableDeclaration","scope":59672,"src":"10835:34:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59557,"name":"address","nodeType":"ElementaryTypeName","src":"10835:7:86","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10736:139:86"},"returnParameters":{"id":59560,"nodeType":"ParameterList","parameters":[],"src":"10890:0:86"},"scope":59913,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":59836,"nodeType":"FunctionDefinition","src":"12501:1732:86","nodes":[],"body":{"id":59835,"nodeType":"Block","src":"12671:1562:86","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":59687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59682,"name":"newWhitelistAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59677,"src":"12755:19:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":59685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12786:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":59684,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12778:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59683,"name":"address","nodeType":"ElementaryTypeName","src":"12778:7:86","typeDescriptions":{}}},"id":59686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12778:10:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12755:33:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59690,"nodeType":"IfStatement","src":"12751:70:86","trueBody":{"id":59689,"nodeType":"Block","src":"12790:31:86","statements":[{"functionReturnParameters":59681,"id":59688,"nodeType":"Return","src":"12804:7:86"}]}},{"assignments":[59693],"declarations":[{"constant":false,"id":59693,"mutability":"mutable","name":"oldWhitelist","nameLocation":"12856:12:86","nodeType":"VariableDeclaration","scope":59835,"src":"12830:38:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"},"typeName":{"id":59692,"nodeType":"UserDefinedTypeName","pathNode":{"id":59691,"name":"AddressWhitelistInterface","nameLocations":["12830:25:86"],"nodeType":"IdentifierPath","referencedDeclaration":60790,"src":"12830:25:86"},"referencedDeclaration":60790,"src":"12830:25:86","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"visibility":"internal"}],"id":59697,"initialValue":{"arguments":[{"id":59695,"name":"oldWhitelistAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59675,"src":"12897:19:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":59694,"name":"AddressWhitelistInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60790,"src":"12871:25:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"type(contract AddressWhitelistInterface)"}},"id":59696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12871:46:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"nodeType":"VariableDeclarationStatement","src":"12830:87:86"},{"assignments":[59700],"declarations":[{"constant":false,"id":59700,"mutability":"mutable","name":"newWhitelist","nameLocation":"12953:12:86","nodeType":"VariableDeclaration","scope":59835,"src":"12927:38:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"},"typeName":{"id":59699,"nodeType":"UserDefinedTypeName","pathNode":{"id":59698,"name":"AddressWhitelistInterface","nameLocations":["12927:25:86"],"nodeType":"IdentifierPath","referencedDeclaration":60790,"src":"12927:25:86"},"referencedDeclaration":60790,"src":"12927:25:86","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"visibility":"internal"}],"id":59704,"initialValue":{"arguments":[{"id":59702,"name":"newWhitelistAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59677,"src":"12994:19:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":59701,"name":"AddressWhitelistInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60790,"src":"12968:25:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"type(contract AddressWhitelistInterface)"}},"id":59703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12968:46:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"nodeType":"VariableDeclarationStatement","src":"12927:87:86"},{"assignments":[59706],"declarations":[{"constant":false,"id":59706,"mutability":"mutable","name":"oldOwner","nameLocation":"13055:8:86","nodeType":"VariableDeclaration","scope":59835,"src":"13047:16:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59705,"name":"address","nodeType":"ElementaryTypeName","src":"13047:7:86","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":59712,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":59708,"name":"oldWhitelistAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59675,"src":"13074:19:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":59707,"name":"Ownable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41339,"src":"13066:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Ownable_$41339_$","typeString":"type(contract Ownable)"}},"id":59709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13066:28:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Ownable_$41339","typeString":"contract Ownable"}},"id":59710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13095:5:86","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":41259,"src":"13066:34:86","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":59711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13066:36:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"13047:55:86"},{"assignments":[59714],"declarations":[{"constant":false,"id":59714,"mutability":"mutable","name":"newOwner","nameLocation":"13120:8:86","nodeType":"VariableDeclaration","scope":59835,"src":"13112:16:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59713,"name":"address","nodeType":"ElementaryTypeName","src":"13112:7:86","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":59720,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":59716,"name":"newWhitelistAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59677,"src":"13139:19:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":59715,"name":"Ownable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41339,"src":"13131:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Ownable_$41339_$","typeString":"type(contract Ownable)"}},"id":59717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13131:28:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Ownable_$41339","typeString":"contract Ownable"}},"id":59718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13160:5:86","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":41259,"src":"13131:34:86","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":59719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13131:36:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"13112:55:86"},{"assignments":[59725],"declarations":[{"constant":false,"id":59725,"mutability":"mutable","name":"oldWhitelistContents","nameLocation":"13229:20:86","nodeType":"VariableDeclaration","scope":59835,"src":"13212:37:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":59723,"name":"address","nodeType":"ElementaryTypeName","src":"13212:7:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":59724,"nodeType":"ArrayTypeName","src":"13212:9:86","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":59729,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59726,"name":"oldWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59693,"src":"13252:12:86","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"id":59727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13265:12:86","memberName":"getWhitelist","nodeType":"MemberAccess","referencedDeclaration":60784,"src":"13252:25:86","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () view external returns (address[] memory)"}},"id":59728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13252:27:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"13212:67:86"},{"assignments":[59734],"declarations":[{"constant":false,"id":59734,"mutability":"mutable","name":"newWhitelistContents","nameLocation":"13306:20:86","nodeType":"VariableDeclaration","scope":59835,"src":"13289:37:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":59732,"name":"address","nodeType":"ElementaryTypeName","src":"13289:7:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":59733,"nodeType":"ArrayTypeName","src":"13289:9:86","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":59738,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59735,"name":"newWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59700,"src":"13329:12:86","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"id":59736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13342:12:86","memberName":"getWhitelist","nodeType":"MemberAccess","referencedDeclaration":60784,"src":"13329:25:86","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () view external returns (address[] memory)"}},"id":59737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13329:27:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"13289:67:86"},{"assignments":[59740],"declarations":[{"constant":false,"id":59740,"mutability":"mutable","name":"ownersMatch","nameLocation":"13403:11:86","nodeType":"VariableDeclaration","scope":59835,"src":"13398:16:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":59739,"name":"bool","nodeType":"ElementaryTypeName","src":"13398:4:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":59744,"initialValue":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":59743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59741,"name":"oldOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59706,"src":"13417:8:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":59742,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59714,"src":"13429:8:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13417:20:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"13398:39:86"},{"expression":{"arguments":[{"arguments":[{"id":59751,"name":"whitelistName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59679,"src":"13473:13:86","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"202d204f776e6572204d617463683a","id":59752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13488:17:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_f3d4071999151fc9575edb8cb10b176f6112aa4094a3ab3b660035cb23369e7a","typeString":"literal_string \" - Owner Match:\""},"value":" - Owner Match:"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_f3d4071999151fc9575edb8cb10b176f6112aa4094a3ab3b660035cb23369e7a","typeString":"literal_string \" - Owner Match:\""}],"expression":{"id":59749,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13459:6:86","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":59748,"name":"string","nodeType":"ElementaryTypeName","src":"13459:6:86","typeDescriptions":{}}},"id":59750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13466:6:86","memberName":"concat","nodeType":"MemberAccess","src":"13459:13:86","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":59753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13459:47:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"condition":{"id":59754,"name":"ownersMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59740,"src":"13508:11:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"4641494c","id":59756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13531:6:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_104dd4d86a34f57105fb7432669e2de5fd3102fcce4e2794553e45c52904bcde","typeString":"literal_string \"FAIL\""},"value":"FAIL"},"id":59757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"13508:29:86","trueExpression":{"hexValue":"50415353","id":59755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13522:6:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e6ec7cc8637dc1fd49b2500b930e6a646847644be08844403a4be022386f2d1","typeString":"literal_string \"PASS\""},"value":"PASS"},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":59745,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"13447:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13455:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18778,"src":"13447:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure"}},"id":59758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13447:91:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59759,"nodeType":"ExpressionStatement","src":"13447:91:86"},{"condition":{"id":59761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13552:12:86","subExpression":{"id":59760,"name":"ownersMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59740,"src":"13553:11:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59786,"nodeType":"IfStatement","src":"13548:205:86","trueBody":{"id":59785,"nodeType":"Block","src":"13566:187:86","statements":[{"expression":{"arguments":[{"hexValue":"20204f6c64204f776e65723a","id":59765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13592:14:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_aaa9c327eb4b44da3498295c14a742af9430741cd22293d9aca980c5f58ad2c1","typeString":"literal_string \" Old Owner:\""},"value":" Old Owner:"},{"id":59766,"name":"oldOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59706,"src":"13608:8:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aaa9c327eb4b44da3498295c14a742af9430741cd22293d9aca980c5f58ad2c1","typeString":"literal_string \" Old Owner:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59762,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"13580:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13588:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"13580:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13580:37:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59768,"nodeType":"ExpressionStatement","src":"13580:37:86"},{"expression":{"arguments":[{"hexValue":"20204e6577204f776e65723a","id":59772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13643:14:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_a36ecf9b2ef9f30028c56c1c10dcc7056dc9918acf51d30d1780a328da302872","typeString":"literal_string \" New Owner:\""},"value":" New Owner:"},{"id":59773,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59714,"src":"13659:8:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a36ecf9b2ef9f30028c56c1c10dcc7056dc9918acf51d30d1780a328da302872","typeString":"literal_string \" New Owner:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59769,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"13631:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13639:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"13631:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13631:37:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59775,"nodeType":"ExpressionStatement","src":"13631:37:86"},{"expression":{"arguments":[{"arguments":[{"id":59780,"name":"whitelistName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59679,"src":"13703:13:86","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"206f776e65727320646f206e6f74206d61746368","id":59781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13718:22:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_4eb1e3b0107c08749f94efcaffd0138a31fe3daedc2f9836ede91388b1abc14e","typeString":"literal_string \" owners do not match\""},"value":" owners do not match"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_4eb1e3b0107c08749f94efcaffd0138a31fe3daedc2f9836ede91388b1abc14e","typeString":"literal_string \" owners do not match\""}],"expression":{"id":59778,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13689:6:86","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":59777,"name":"string","nodeType":"ElementaryTypeName","src":"13689:6:86","typeDescriptions":{}}},"id":59779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13696:6:86","memberName":"concat","nodeType":"MemberAccess","src":"13689:13:86","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":59782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13689:52:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":59776,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"13682:6:86","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":59783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13682:60:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59784,"nodeType":"ExpressionStatement","src":"13682:60:86"}]}},{"assignments":[59788],"declarations":[{"constant":false,"id":59788,"mutability":"mutable","name":"contentsMatch","nameLocation":"13811:13:86","nodeType":"VariableDeclaration","scope":59835,"src":"13806:18:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":59787,"name":"bool","nodeType":"ElementaryTypeName","src":"13806:4:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":59794,"initialValue":{"arguments":[{"id":59790,"name":"oldWhitelistContents","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59725,"src":"13853:20:86","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":59791,"name":"newWhitelistContents","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59734,"src":"13875:20:86","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":59792,"name":"newWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59700,"src":"13897:12:86","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}],"id":59789,"name":"_compareWhitelistContents","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59912,"src":"13827:25:86","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_contract$_AddressWhitelistInterface_$60790_$returns$_t_bool_$","typeString":"function (address[] memory,address[] memory,contract AddressWhitelistInterface) view returns (bool)"}},"id":59793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13827:83:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"13806:104:86"},{"expression":{"arguments":[{"arguments":[{"id":59801,"name":"whitelistName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59679,"src":"13946:13:86","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"202d20436f6e74656e7473204d617463683a","id":59802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13961:20:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d63798223a987ed63c3f85c00bb0cffb9ddf17f3c660781ee78064e6c965191","typeString":"literal_string \" - Contents Match:\""},"value":" - Contents Match:"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_6d63798223a987ed63c3f85c00bb0cffb9ddf17f3c660781ee78064e6c965191","typeString":"literal_string \" - Contents Match:\""}],"expression":{"id":59799,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13932:6:86","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":59798,"name":"string","nodeType":"ElementaryTypeName","src":"13932:6:86","typeDescriptions":{}}},"id":59800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13939:6:86","memberName":"concat","nodeType":"MemberAccess","src":"13932:13:86","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":59803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13932:50:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"condition":{"id":59804,"name":"contentsMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59788,"src":"13984:13:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"4641494c","id":59806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14009:6:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_104dd4d86a34f57105fb7432669e2de5fd3102fcce4e2794553e45c52904bcde","typeString":"literal_string \"FAIL\""},"value":"FAIL"},"id":59807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"13984:31:86","trueExpression":{"hexValue":"50415353","id":59805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14000:6:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e6ec7cc8637dc1fd49b2500b930e6a646847644be08844403a4be022386f2d1","typeString":"literal_string \"PASS\""},"value":"PASS"},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":59795,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"13920:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13928:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18778,"src":"13920:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure"}},"id":59808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13920:96:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59809,"nodeType":"ExpressionStatement","src":"13920:96:86"},{"condition":{"id":59811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14030:14:86","subExpression":{"id":59810,"name":"contentsMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59788,"src":"14031:13:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59822,"nodeType":"IfStatement","src":"14026:107:86","trueBody":{"id":59821,"nodeType":"Block","src":"14046:87:86","statements":[{"expression":{"arguments":[{"arguments":[{"id":59816,"name":"whitelistName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59679,"src":"14081:13:86","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20636f6e74656e747320646f206e6f74206d61746368","id":59817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14096:24:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_54855ab3dc574572443b7b307d8a887b9c2b1ed38565e9888ff71d72550fe9ca","typeString":"literal_string \" contents do not match\""},"value":" contents do not match"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_54855ab3dc574572443b7b307d8a887b9c2b1ed38565e9888ff71d72550fe9ca","typeString":"literal_string \" contents do not match\""}],"expression":{"id":59814,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14067:6:86","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":59813,"name":"string","nodeType":"ElementaryTypeName","src":"14067:6:86","typeDescriptions":{}}},"id":59815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14074:6:86","memberName":"concat","nodeType":"MemberAccess","src":"14067:13:86","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":59818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14067:54:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":59812,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"14060:6:86","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":59819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14060:62:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59820,"nodeType":"ExpressionStatement","src":"14060:62:86"}]}},{"expression":{"arguments":[{"arguments":[{"id":59829,"name":"whitelistName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59679,"src":"14169:13:86","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"202d20436f6e66696775726174696f6e20566572696669636174696f6e3a","id":59830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14184:32:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_2fffd22e9001c26412e92b9aac5b1091ce517c1880629687762ad73a489121bf","typeString":"literal_string \" - Configuration Verification:\""},"value":" - Configuration Verification:"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_2fffd22e9001c26412e92b9aac5b1091ce517c1880629687762ad73a489121bf","typeString":"literal_string \" - Configuration Verification:\""}],"expression":{"id":59827,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14155:6:86","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":59826,"name":"string","nodeType":"ElementaryTypeName","src":"14155:6:86","typeDescriptions":{}}},"id":59828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14162:6:86","memberName":"concat","nodeType":"MemberAccess","src":"14155:13:86","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":59831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14155:62:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"50415353","id":59832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14219:6:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e6ec7cc8637dc1fd49b2500b930e6a646847644be08844403a4be022386f2d1","typeString":"literal_string \"PASS\""},"value":"PASS"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_8e6ec7cc8637dc1fd49b2500b930e6a646847644be08844403a4be022386f2d1","typeString":"literal_string \"PASS\""}],"expression":{"id":59823,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"14143:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14151:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18778,"src":"14143:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure"}},"id":59833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14143:83:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59834,"nodeType":"ExpressionStatement","src":"14143:83:86"}]},"documentation":{"id":59673,"nodeType":"StructuredDocumentation","src":"12188:308:86","text":" @notice Verifies that a single whitelist pair has the same owners and whitelist contents\n @param oldWhitelistAddress Old whitelist contract address\n @param newWhitelistAddress New whitelist contract address\n @param whitelistName Name of the whitelist for logging purposes"},"implemented":true,"kind":"function","modifiers":[],"name":"_verifyWhitelistConfiguration","nameLocation":"12510:29:86","parameters":{"id":59680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59675,"mutability":"mutable","name":"oldWhitelistAddress","nameLocation":"12557:19:86","nodeType":"VariableDeclaration","scope":59836,"src":"12549:27:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59674,"name":"address","nodeType":"ElementaryTypeName","src":"12549:7:86","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59677,"mutability":"mutable","name":"newWhitelistAddress","nameLocation":"12594:19:86","nodeType":"VariableDeclaration","scope":59836,"src":"12586:27:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59676,"name":"address","nodeType":"ElementaryTypeName","src":"12586:7:86","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59679,"mutability":"mutable","name":"whitelistName","nameLocation":"12637:13:86","nodeType":"VariableDeclaration","scope":59836,"src":"12623:27:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":59678,"name":"string","nodeType":"ElementaryTypeName","src":"12623:6:86","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12539:117:86"},"returnParameters":{"id":59681,"nodeType":"ParameterList","parameters":[],"src":"12671:0:86"},"scope":59913,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":59912,"nodeType":"FunctionDefinition","src":"14614:938:86","nodes":[],"body":{"id":59911,"nodeType":"Block","src":"14835:717:86","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":59855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":59851,"name":"oldWhitelistContents","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59840,"src":"14882:20:86","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":59852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14903:6:86","memberName":"length","nodeType":"MemberAccess","src":"14882:27:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":59853,"name":"newWhitelistContents","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59843,"src":"14913:20:86","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":59854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14934:6:86","memberName":"length","nodeType":"MemberAccess","src":"14913:27:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14882:58:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59875,"nodeType":"IfStatement","src":"14878:261:86","trueBody":{"id":59874,"nodeType":"Block","src":"14942:197:86","statements":[{"expression":{"arguments":[{"hexValue":"20204f6c642057686974656c69737420436f756e743a","id":59859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14968:24:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_34364023cdf8276f5b6b237076906a3f4bee24644d7ffac79d40889b68c7fffe","typeString":"literal_string \" Old Whitelist Count:\""},"value":" Old Whitelist Count:"},{"expression":{"id":59860,"name":"oldWhitelistContents","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59840,"src":"14994:20:86","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":59861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15015:6:86","memberName":"length","nodeType":"MemberAccess","src":"14994:27:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_34364023cdf8276f5b6b237076906a3f4bee24644d7ffac79d40889b68c7fffe","typeString":"literal_string \" Old Whitelist Count:\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59856,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"14956:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14964:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18744,"src":"14956:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":59862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14956:66:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59863,"nodeType":"ExpressionStatement","src":"14956:66:86"},{"expression":{"arguments":[{"hexValue":"20204e65772057686974656c69737420436f756e743a","id":59867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15048:24:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_11ed876c9aedd17492ecff6c2c5e01d846d1d15818eb2abfdaf8fe2d3589b56d","typeString":"literal_string \" New Whitelist Count:\""},"value":" New Whitelist Count:"},{"expression":{"id":59868,"name":"newWhitelistContents","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59843,"src":"15074:20:86","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":59869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15095:6:86","memberName":"length","nodeType":"MemberAccess","src":"15074:27:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_11ed876c9aedd17492ecff6c2c5e01d846d1d15818eb2abfdaf8fe2d3589b56d","typeString":"literal_string \" New Whitelist Count:\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59864,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"15036:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15044:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18744,"src":"15036:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":59870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15036:66:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59871,"nodeType":"ExpressionStatement","src":"15036:66:86"},{"expression":{"hexValue":"66616c7365","id":59872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15123:5:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":59850,"id":59873,"nodeType":"Return","src":"15116:12:86"}]}},{"body":{"id":59907,"nodeType":"Block","src":"15289:235:86","statements":[{"condition":{"id":59893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"15307:61:86","subExpression":{"arguments":[{"baseExpression":{"id":59889,"name":"oldWhitelistContents","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59840,"src":"15344:20:86","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":59891,"indexExpression":{"id":59890,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59877,"src":"15365:1:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15344:23:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59887,"name":"newWhitelistInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59846,"src":"15308:21:86","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"id":59888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15330:13:86","memberName":"isOnWhitelist","nodeType":"MemberAccess","referencedDeclaration":60778,"src":"15308:35:86","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":59892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15308:60:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59906,"nodeType":"IfStatement","src":"15303:211:86","trueBody":{"id":59905,"nodeType":"Block","src":"15370:144:86","statements":[{"expression":{"arguments":[{"hexValue":"4669727374206d697373696e6720616464726573732066726f6d206f6c642077686974656c6973743a","id":59897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15400:43:86","typeDescriptions":{"typeIdentifier":"t_stringliteral_1fe0d80b8be92e7f29766c344146b8351fac4300c17309f017f2036f1fd2c7bf","typeString":"literal_string \"First missing address from old whitelist:\""},"value":"First missing address from old whitelist:"},{"baseExpression":{"id":59898,"name":"oldWhitelistContents","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59840,"src":"15445:20:86","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":59900,"indexExpression":{"id":59899,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59877,"src":"15466:1:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15445:23:86","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1fe0d80b8be92e7f29766c344146b8351fac4300c17309f017f2036f1fd2c7bf","typeString":"literal_string \"First missing address from old whitelist:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59894,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"15388:7:86","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":59896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15396:3:86","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"15388:11:86","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15388:81:86","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59902,"nodeType":"ExpressionStatement","src":"15388:81:86"},{"expression":{"hexValue":"66616c7365","id":59903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15494:5:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":59850,"id":59904,"nodeType":"Return","src":"15487:12:86"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":59883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":59880,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59877,"src":"15251:1:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":59881,"name":"oldWhitelistContents","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59840,"src":"15255:20:86","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":59882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15276:6:86","memberName":"length","nodeType":"MemberAccess","src":"15255:27:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15251:31:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":59908,"initializationExpression":{"assignments":[59877],"declarations":[{"constant":false,"id":59877,"mutability":"mutable","name":"i","nameLocation":"15244:1:86","nodeType":"VariableDeclaration","scope":59908,"src":"15236:9:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59876,"name":"uint256","nodeType":"ElementaryTypeName","src":"15236:7:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59879,"initialValue":{"hexValue":"30","id":59878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15248:1:86","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"15236:13:86"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":59885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"15284:3:86","subExpression":{"id":59884,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59877,"src":"15284:1:86","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":59886,"nodeType":"ExpressionStatement","src":"15284:3:86"},"nodeType":"ForStatement","src":"15231:293:86"},{"expression":{"hexValue":"74727565","id":59909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15541:4:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":59850,"id":59910,"nodeType":"Return","src":"15534:11:86"}]},"documentation":{"id":59837,"nodeType":"StructuredDocumentation","src":"14239:370:86","text":" @notice Compares two whitelist contents for equality (order-independent)\n @param oldWhitelistContents Old whitelist addresses\n @param newWhitelistContents New whitelist addresses\n @param newWhitelistInterface Interface to check membership in new whitelist\n @return True if whitelists contain the same addresses, false otherwise"},"implemented":true,"kind":"function","modifiers":[],"name":"_compareWhitelistContents","nameLocation":"14623:25:86","parameters":{"id":59847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59840,"mutability":"mutable","name":"oldWhitelistContents","nameLocation":"14675:20:86","nodeType":"VariableDeclaration","scope":59912,"src":"14658:37:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":59838,"name":"address","nodeType":"ElementaryTypeName","src":"14658:7:86","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":59839,"nodeType":"ArrayTypeName","src":"14658:9:86","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":59843,"mutability":"mutable","name":"newWhitelistContents","nameLocation":"14722:20:86","nodeType":"VariableDeclaration","scope":59912,"src":"14705:37:86","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":59841,"name":"address","nodeType":"ElementaryTypeName","src":"14705:7:86","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":59842,"nodeType":"ArrayTypeName","src":"14705:9:86","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":59846,"mutability":"mutable","name":"newWhitelistInterface","nameLocation":"14778:21:86","nodeType":"VariableDeclaration","scope":59912,"src":"14752:47:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"},"typeName":{"id":59845,"nodeType":"UserDefinedTypeName","pathNode":{"id":59844,"name":"AddressWhitelistInterface","nameLocations":["14752:25:86"],"nodeType":"IdentifierPath","referencedDeclaration":60790,"src":"14752:25:86"},"referencedDeclaration":60790,"src":"14752:25:86","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"visibility":"internal"}],"src":"14648:157:86"},"returnParameters":{"id":59850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59849,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":59912,"src":"14829:4:86","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":59848,"name":"bool","nodeType":"ElementaryTypeName","src":"14829:4:86","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14828:6:86"},"scope":59913,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":58859,"name":"Script","nameLocations":["1354:6:86"],"nodeType":"IdentifierPath","referencedDeclaration":100,"src":"1354:6:86"},"id":58860,"nodeType":"InheritanceSpecifier","src":"1354:6:86"}],"canonicalName":"UpdateManagedOptimisticOracleV2Whitelists","contractDependencies":[],"contractKind":"contract","documentation":{"id":58858,"nodeType":"StructuredDocumentation","src":"442:857:86","text":" @title Update whitelists script for ManagedOptimisticOracleV2\n @notice Updates the default proposer and/or requester whitelists using CONFIG_ADMIN_ROLE\n Environment variables:\n - MNEMONIC: Required. The mnemonic phrase for the deployer wallet\n - PROXY_ADDRESS: Required. Address of the existing ManagedOptimisticOracleV2 proxy contract\n - NEW_DEFAULT_PROPOSER_WHITELIST: Optional. New address for the default proposer whitelist\n - NEW_REQUESTER_WHITELIST: Optional. New address for the requester whitelist\n - CONFIG_ADMIN: Required if deployer doesn't hold CONFIG_ADMIN_ROLE. Address of the config admin for multisig mode\n - VERIFY_WHITELIST_CONFIGURATION: Optional. Whether to verify whitelist configuration (defaults to true)\n Note: At least one of NEW_DEFAULT_PROPOSER_WHITELIST or NEW_REQUESTER_WHITELIST must be provided"},"fullyImplemented":true,"internalFunctionIDs":{"18017":1},"linearizedBaseContracts":[59913,100,12932,5773,3683,59,47],"name":"UpdateManagedOptimisticOracleV2Whitelists","nameLocation":"1309:41:86","scope":59914,"usedErrors":[],"usedEvents":[]}],"license":"AGPL-3.0-only"}},"script/UpgradeManagedOptimisticOracleV2.s.sol":{"id":87,"ast":{"absolutePath":"script/UpgradeManagedOptimisticOracleV2.s.sol","id":60316,"exportedSymbols":{"ManagedOptimisticOracleV2":[61771],"Options":[52051],"Script":[100],"UpgradeManagedOptimisticOracleV2":[60315],"Upgrades":[52643],"console":[26117]},"nodeType":"SourceUnit","src":"42:5852:87","nodes":[{"id":59915,"nodeType":"PragmaDirective","src":"42:23:87","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":59917,"nodeType":"ImportDirective","src":"67:44:87","nodes":[],"absolutePath":"lib/forge-std/src/Script.sol","file":"forge-std/Script.sol","nameLocation":"-1:-1:-1","scope":60316,"sourceUnit":101,"symbolAliases":[{"foreign":{"id":59916,"name":"Script","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100,"src":"75:6:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":59919,"nodeType":"ImportDirective","src":"112:46:87","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":60316,"sourceUnit":26118,"symbolAliases":[{"foreign":{"id":59918,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"120:7:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":59921,"nodeType":"ImportDirective","src":"159:69:87","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/Upgrades.sol","file":"@openzeppelin/foundry-upgrades/Upgrades.sol","nameLocation":"-1:-1:-1","scope":60316,"sourceUnit":52851,"symbolAliases":[{"foreign":{"id":59920,"name":"Upgrades","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52643,"src":"167:8:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":59923,"nodeType":"ImportDirective","src":"229:67:87","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/Options.sol","file":"@openzeppelin/foundry-upgrades/Options.sol","nameLocation":"-1:-1:-1","scope":60316,"sourceUnit":52083,"symbolAliases":[{"foreign":{"id":59922,"name":"Options","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52051,"src":"237:7:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":59925,"nodeType":"ImportDirective","src":"298:115:87","nodes":[],"absolutePath":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol","file":"../src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol","nameLocation":"-1:-1:-1","scope":60316,"sourceUnit":61772,"symbolAliases":[{"foreign":{"id":59924,"name":"ManagedOptimisticOracleV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61771,"src":"306:25:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60315,"nodeType":"ContractDefinition","src":"951:4942:87","nodes":[{"id":60294,"nodeType":"FunctionDefinition","src":"1009:4491:87","nodes":[],"body":{"id":60293,"nodeType":"Block","src":"1033:4467:87","nodes":[],"statements":[{"assignments":[59932],"declarations":[{"constant":false,"id":59932,"mutability":"mutable","name":"deployerPrivateKey","nameLocation":"1051:18:87","nodeType":"VariableDeclaration","scope":60293,"src":"1043:26:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59931,"name":"uint256","nodeType":"ElementaryTypeName","src":"1043:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59935,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":59933,"name":"_getDeployerPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60314,"src":"1072:22:87","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":59934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1072:24:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1043:53:87"},{"assignments":[59937],"declarations":[{"constant":false,"id":59937,"mutability":"mutable","name":"deployerAddress","nameLocation":"1114:15:87","nodeType":"VariableDeclaration","scope":60293,"src":"1106:23:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59936,"name":"address","nodeType":"ElementaryTypeName","src":"1106:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":59942,"initialValue":{"arguments":[{"id":59940,"name":"deployerPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59932,"src":"1140:18:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59938,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"1132:2:87","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":59939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1135:4:87","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":13820,"src":"1132:7:87","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure external returns (address)"}},"id":59941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1132:27:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1106:53:87"},{"assignments":[59944],"declarations":[{"constant":false,"id":59944,"mutability":"mutable","name":"proxyAddress","nameLocation":"1222:12:87","nodeType":"VariableDeclaration","scope":60293,"src":"1214:20:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59943,"name":"address","nodeType":"ElementaryTypeName","src":"1214:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":59949,"initialValue":{"arguments":[{"hexValue":"50524f58595f41444452455353","id":59947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1251:15:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_de174d487d07d8625df043742f6ad2878cc669bbcbc77eb63a677db31ad453ea","typeString":"literal_string \"PROXY_ADDRESS\""},"value":"PROXY_ADDRESS"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de174d487d07d8625df043742f6ad2878cc669bbcbc77eb63a677db31ad453ea","typeString":"literal_string \"PROXY_ADDRESS\""}],"expression":{"id":59945,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"1237:2:87","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":59946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1240:10:87","memberName":"envAddress","nodeType":"MemberAccess","referencedDeclaration":13482,"src":"1237:13:87","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) view external returns (address)"}},"id":59948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1237:30:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1214:53:87"},{"assignments":[59951],"declarations":[{"constant":false,"id":59951,"mutability":"mutable","name":"upgradeAdmin","nameLocation":"1339:12:87","nodeType":"VariableDeclaration","scope":60293,"src":"1331:20:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59950,"name":"address","nodeType":"ElementaryTypeName","src":"1331:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":59957,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":59953,"name":"proxyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59944,"src":"1380:12:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":59952,"name":"ManagedOptimisticOracleV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61771,"src":"1354:25:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2_$61771_$","typeString":"type(contract ManagedOptimisticOracleV2)"}},"id":59954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1354:39:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":59955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1394:5:87","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":39866,"src":"1354:45:87","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":59956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1354:47:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1331:70:87"},{"assignments":[59959],"declarations":[{"constant":false,"id":59959,"mutability":"mutable","name":"referenceBuildVersion","nameLocation":"1487:21:87","nodeType":"VariableDeclaration","scope":60293,"src":"1479:29:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59958,"name":"uint256","nodeType":"ElementaryTypeName","src":"1479:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":59964,"initialValue":{"arguments":[{"hexValue":"5245464552454e43455f4255494c445f56455253494f4e","id":59962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1522:25:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_8516661bc29255072b49d53991778260cc81c4de20bc2661d5c3497e689cfd84","typeString":"literal_string \"REFERENCE_BUILD_VERSION\""},"value":"REFERENCE_BUILD_VERSION"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8516661bc29255072b49d53991778260cc81c4de20bc2661d5c3497e689cfd84","typeString":"literal_string \"REFERENCE_BUILD_VERSION\""}],"expression":{"id":59960,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"1511:2:87","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":59961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1514:7:87","memberName":"envUint","nodeType":"MemberAccess","referencedDeclaration":13772,"src":"1511:10:87","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view external returns (uint256)"}},"id":59963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1511:37:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1479:69:87"},{"assignments":[59967],"declarations":[{"constant":false,"id":59967,"mutability":"mutable","name":"opts","nameLocation":"1618:4:87","nodeType":"VariableDeclaration","scope":60293,"src":"1603:19:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options"},"typeName":{"id":59966,"nodeType":"UserDefinedTypeName","pathNode":{"id":59965,"name":"Options","nameLocations":["1603:7:87"],"nodeType":"IdentifierPath","referencedDeclaration":52051,"src":"1603:7:87"},"referencedDeclaration":52051,"src":"1603:7:87","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"id":59968,"nodeType":"VariableDeclarationStatement","src":"1603:19:87"},{"expression":{"id":59982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":59969,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59967,"src":"1632:4:87","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":59971,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1637:17:87","memberName":"referenceContract","nodeType":"MemberAccess","referencedDeclaration":52030,"src":"1632:22:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"6275696c642d696e666f2d76","id":59975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1683:14:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_9e0ac049786ac69474717326f8aa3f8274b1fcd58664c05f51322d2a3866c0e3","typeString":"literal_string \"build-info-v\""},"value":"build-info-v"},{"arguments":[{"id":59978,"name":"referenceBuildVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59959,"src":"1711:21:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59976,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"1699:2:87","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":59977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1702:8:87","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15161,"src":"1699:11:87","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":59979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1699:34:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"3a4d616e616765644f7074696d69737469634f7261636c655632","id":59980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1735:28:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_12f3ea3c4b26560585353d0bdf16bd6cc45542c5ef28b053e25ea61c356606df","typeString":"literal_string \":ManagedOptimisticOracleV2\""},"value":":ManagedOptimisticOracleV2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9e0ac049786ac69474717326f8aa3f8274b1fcd58664c05f51322d2a3866c0e3","typeString":"literal_string \"build-info-v\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_12f3ea3c4b26560585353d0bdf16bd6cc45542c5ef28b053e25ea61c356606df","typeString":"literal_string \":ManagedOptimisticOracleV2\""}],"expression":{"id":59973,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1669:6:87","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":59972,"name":"string","nodeType":"ElementaryTypeName","src":"1669:6:87","typeDescriptions":{}}},"id":59974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1676:6:87","memberName":"concat","nodeType":"MemberAccess","src":"1669:13:87","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":59981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1669:95:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1632:132:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":59983,"nodeType":"ExpressionStatement","src":"1632:132:87"},{"expression":{"id":59996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":59984,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59967,"src":"1774:4:87","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":59986,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1779:21:87","memberName":"referenceBuildInfoDir","nodeType":"MemberAccess","referencedDeclaration":52032,"src":"1774:26:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"6f6c642d6275696c64732f6275696c642d696e666f2d76","id":59990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1817:25:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_7245e080b2aec525f6a166d37198f1d1d1dea6abb15bbb57631a7a734c427aa9","typeString":"literal_string \"old-builds/build-info-v\""},"value":"old-builds/build-info-v"},{"arguments":[{"id":59993,"name":"referenceBuildVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59959,"src":"1856:21:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59991,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"1844:2:87","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":59992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1847:8:87","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15161,"src":"1844:11:87","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":59994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1844:34:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7245e080b2aec525f6a166d37198f1d1d1dea6abb15bbb57631a7a734c427aa9","typeString":"literal_string \"old-builds/build-info-v\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":59988,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1803:6:87","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":59987,"name":"string","nodeType":"ElementaryTypeName","src":"1803:6:87","typeDescriptions":{}}},"id":59989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1810:6:87","memberName":"concat","nodeType":"MemberAccess","src":"1803:13:87","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":59995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1803:76:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1774:105:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":59997,"nodeType":"ExpressionStatement","src":"1774:105:87"},{"expression":{"arguments":[{"hexValue":"4465706c6f79657220416464726573733a","id":60001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1931:19:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_127b16d7a002a917e93f42c3cec8d9711f4073c04a54099e8950345cb21a9d54","typeString":"literal_string \"Deployer Address:\""},"value":"Deployer Address:"},{"id":60002,"name":"deployerAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59937,"src":"1952:15:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_127b16d7a002a917e93f42c3cec8d9711f4073c04a54099e8950345cb21a9d54","typeString":"literal_string \"Deployer Address:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59998,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"1919:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1927:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"1919:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":60003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1919:49:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60004,"nodeType":"ExpressionStatement","src":"1919:49:87"},{"expression":{"arguments":[{"hexValue":"557067726164652041646d696e3a","id":60008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1990:16:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_3970ba08c1b362e76e45672eac77b73233343d35dedf51c76c3dd14ca7a135de","typeString":"literal_string \"Upgrade Admin:\""},"value":"Upgrade Admin:"},{"id":60009,"name":"upgradeAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59951,"src":"2008:12:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3970ba08c1b362e76e45672eac77b73233343d35dedf51c76c3dd14ca7a135de","typeString":"literal_string \"Upgrade Admin:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60005,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"1978:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1986:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"1978:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":60010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1978:43:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60011,"nodeType":"ExpressionStatement","src":"1978:43:87"},{"expression":{"arguments":[{"hexValue":"50726f787920416464726573733a","id":60015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2043:16:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_e76a0207e7af1a570f49f5a3a749431c8f7500af34fe8c28e2b9682e7f9211e5","typeString":"literal_string \"Proxy Address:\""},"value":"Proxy Address:"},{"id":60016,"name":"proxyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59944,"src":"2061:12:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e76a0207e7af1a570f49f5a3a749431c8f7500af34fe8c28e2b9682e7f9211e5","typeString":"literal_string \"Proxy Address:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60012,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"2031:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2039:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"2031:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":60017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2031:43:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60018,"nodeType":"ExpressionStatement","src":"2031:43:87"},{"expression":{"arguments":[{"hexValue":"5265666572656e636520436f6e74726163743a","id":60022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2096:21:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_12044bf6a932c76f0d183be626e88c2faa4234d227e0bd2f5400ebd6902705c5","typeString":"literal_string \"Reference Contract:\""},"value":"Reference Contract:"},{"expression":{"id":60023,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59967,"src":"2119:4:87","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":60024,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2124:17:87","memberName":"referenceContract","nodeType":"MemberAccess","referencedDeclaration":52030,"src":"2119:22:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_12044bf6a932c76f0d183be626e88c2faa4234d227e0bd2f5400ebd6902705c5","typeString":"literal_string \"Reference Contract:\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":60019,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"2084:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2092:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18778,"src":"2084:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure"}},"id":60025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2084:58:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60026,"nodeType":"ExpressionStatement","src":"2084:58:87"},{"expression":{"arguments":[{"hexValue":"5265666572656e6365204275696c6420496e666f204469723a","id":60030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2164:27:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_7c04e90d89042605102f930afec18a0933cdcb83c51e1689dd659146213f2b6a","typeString":"literal_string \"Reference Build Info Dir:\""},"value":"Reference Build Info Dir:"},{"expression":{"id":60031,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59967,"src":"2193:4:87","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}},"id":60032,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2198:21:87","memberName":"referenceBuildInfoDir","nodeType":"MemberAccess","referencedDeclaration":52032,"src":"2193:26:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7c04e90d89042605102f930afec18a0933cdcb83c51e1689dd659146213f2b6a","typeString":"literal_string \"Reference Build Info Dir:\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":60027,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"2152:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2160:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18778,"src":"2152:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure"}},"id":60033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2152:68:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60034,"nodeType":"ExpressionStatement","src":"2152:68:87"},{"assignments":[60036],"declarations":[{"constant":false,"id":60036,"mutability":"mutable","name":"shouldImpersonate","nameLocation":"2303:17:87","nodeType":"VariableDeclaration","scope":60293,"src":"2298:22:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60035,"name":"bool","nodeType":"ElementaryTypeName","src":"2298:4:87","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":60040,"initialValue":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":60039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60037,"name":"upgradeAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59951,"src":"2323:12:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":60038,"name":"deployerAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59937,"src":"2339:15:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2323:31:87","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"2298:56:87"},{"condition":{"id":60041,"name":"shouldImpersonate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60036,"src":"2369:17:87","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":60291,"nodeType":"Block","src":"4533:961:87","statements":[{"expression":{"arguments":[{"hexValue":"0a3d3d3d2044495245435420455845435554494f4e204d4f4445203d3d3d","id":60215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4613:33:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_f1c7cc12c4f50cf7e8057f0015b898429aeb86c633a761049224b4df44a28ad6","typeString":"literal_string hex\"0a3d3d3d2044495245435420455845435554494f4e204d4f4445203d3d3d\""},"value":"\n=== DIRECT EXECUTION MODE ==="}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f1c7cc12c4f50cf7e8057f0015b898429aeb86c633a761049224b4df44a28ad6","typeString":"literal_string hex\"0a3d3d3d2044495245435420455845435554494f4e204d4f4445203d3d3d\""}],"expression":{"id":60212,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4601:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4609:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"4601:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":60216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4601:46:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60217,"nodeType":"ExpressionStatement","src":"4601:46:87"},{"expression":{"arguments":[{"hexValue":"4d4e454d4f4e494320636f72726573706f6e647320746f20757067726164652061646d696e","id":60221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4673:39:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_245d3a8caf025519e24be45adb1ab6c4888c1ac6b2d001cb0275686a3376554e","typeString":"literal_string \"MNEMONIC corresponds to upgrade admin\""},"value":"MNEMONIC corresponds to upgrade admin"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_245d3a8caf025519e24be45adb1ab6c4888c1ac6b2d001cb0275686a3376554e","typeString":"literal_string \"MNEMONIC corresponds to upgrade admin\""}],"expression":{"id":60218,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4661:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4669:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"4661:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":60222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4661:52:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60223,"nodeType":"ExpressionStatement","src":"4661:52:87"},{"expression":{"arguments":[{"hexValue":"457865637574696e672075706772616465206469726563746c79","id":60227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4739:28:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_6adb992fb77dcc8feea25647459216fbf56d02bd0f7e5c7b5d35a890124b275d","typeString":"literal_string \"Executing upgrade directly\""},"value":"Executing upgrade directly"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6adb992fb77dcc8feea25647459216fbf56d02bd0f7e5c7b5d35a890124b275d","typeString":"literal_string \"Executing upgrade directly\""}],"expression":{"id":60224,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4727:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4735:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"4727:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":60228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4727:41:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60229,"nodeType":"ExpressionStatement","src":"4727:41:87"},{"expression":{"arguments":[{"id":60233,"name":"deployerPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59932,"src":"4877:18:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":60230,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"4859:2:87","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":60232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4862:14:87","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":15018,"src":"4859:17:87","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":60234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4859:37:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60235,"nodeType":"ExpressionStatement","src":"4859:37:87"},{"expression":{"arguments":[{"id":60239,"name":"proxyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59944,"src":"4983:12:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"4d616e616765644f7074696d69737469634f7261636c6556322e736f6c3a4d616e616765644f7074696d69737469634f7261636c655632","id":60240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4997:57:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef4ce865116e4931a00e0a0000954e04822a605a43c7e601bc344c50d4c640fa","typeString":"literal_string \"ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2\""},"value":"ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2"},{"arguments":[{"hexValue":"","id":60243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5062:2:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":60242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5056:5:87","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":60241,"name":"bytes","nodeType":"ElementaryTypeName","src":"5056:5:87","typeDescriptions":{}}},"id":60244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5056:9:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":60245,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59967,"src":"5067:4:87","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_ef4ce865116e4931a00e0a0000954e04822a605a43c7e601bc344c50d4c640fa","typeString":"literal_string \"ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"expression":{"id":60236,"name":"Upgrades","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52643,"src":"4944:8:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Upgrades_$52643_$","typeString":"type(library Upgrades)"}},"id":60238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4953:12:87","memberName":"upgradeProxy","nodeType":"MemberAccess","referencedDeclaration":52266,"src":"4944:21:87","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$__$","typeString":"function (address,string memory,bytes memory,struct Options memory)"}},"id":60246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4944:141:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60247,"nodeType":"ExpressionStatement","src":"4944:141:87"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":60248,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"5100:2:87","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":60250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5103:13:87","memberName":"stopBroadcast","nodeType":"MemberAccess","referencedDeclaration":15022,"src":"5100:16:87","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":60251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5100:18:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60252,"nodeType":"ExpressionStatement","src":"5100:18:87"},{"expression":{"arguments":[{"hexValue":"0a3d3d3d20557067726164652053756d6d617279203d3d3d","id":60256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5183:27:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_775a83a65bf941d2c0dc4b1f1c38f7c9cb110356f162c2198891fb1ed3f54c4c","typeString":"literal_string hex\"0a3d3d3d20557067726164652053756d6d617279203d3d3d\""},"value":"\n=== Upgrade Summary ==="}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_775a83a65bf941d2c0dc4b1f1c38f7c9cb110356f162c2198891fb1ed3f54c4c","typeString":"literal_string hex\"0a3d3d3d20557067726164652053756d6d617279203d3d3d\""}],"expression":{"id":60253,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5171:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5179:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"5171:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":60257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5171:40:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60258,"nodeType":"ExpressionStatement","src":"5171:40:87"},{"expression":{"arguments":[{"hexValue":"50726f787920416464726573733a","id":60262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5237:16:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_e76a0207e7af1a570f49f5a3a749431c8f7500af34fe8c28e2b9682e7f9211e5","typeString":"literal_string \"Proxy Address:\""},"value":"Proxy Address:"},{"id":60263,"name":"proxyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59944,"src":"5255:12:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e76a0207e7af1a570f49f5a3a749431c8f7500af34fe8c28e2b9682e7f9211e5","typeString":"literal_string \"Proxy Address:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60259,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5225:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5233:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"5225:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":60264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5225:43:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60265,"nodeType":"ExpressionStatement","src":"5225:43:87"},{"expression":{"arguments":[{"hexValue":"4e657720496d706c656d656e746174696f6e20416464726573733a","id":60269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5294:29:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d09200343819198af782628b5312792c73231c28c956349811bce791d7cdb33","typeString":"literal_string \"New Implementation Address:\""},"value":"New Implementation Address:"},{"arguments":[{"id":60272,"name":"proxyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59944,"src":"5359:12:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60270,"name":"Upgrades","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52643,"src":"5325:8:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Upgrades_$52643_$","typeString":"type(library Upgrades)"}},"id":60271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5334:24:87","memberName":"getImplementationAddress","nodeType":"MemberAccess","referencedDeclaration":52628,"src":"5325:33:87","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":60273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5325:47:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3d09200343819198af782628b5312792c73231c28c956349811bce791d7cdb33","typeString":"literal_string \"New Implementation Address:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60266,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5282:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5290:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"5282:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":60274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5282:91:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60275,"nodeType":"ExpressionStatement","src":"5282:91:87"},{"expression":{"arguments":[{"hexValue":"436861696e2049443a","id":60279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5399:11:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_1819fb621e5bc249bf9a5740212372c48d65576d247cc4cc9085c59818dd89e5","typeString":"literal_string \"Chain ID:\""},"value":"Chain ID:"},{"expression":{"id":60280,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5412:5:87","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":60281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5418:7:87","memberName":"chainid","nodeType":"MemberAccess","src":"5412:13:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1819fb621e5bc249bf9a5740212372c48d65576d247cc4cc9085c59818dd89e5","typeString":"literal_string \"Chain ID:\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":60276,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5387:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5395:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18744,"src":"5387:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":60282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5387:39:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60283,"nodeType":"ExpressionStatement","src":"5387:39:87"},{"expression":{"arguments":[{"hexValue":"557067726164652041646d696e3a","id":60287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5452:16:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_3970ba08c1b362e76e45672eac77b73233343d35dedf51c76c3dd14ca7a135de","typeString":"literal_string \"Upgrade Admin:\""},"value":"Upgrade Admin:"},{"id":60288,"name":"upgradeAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59951,"src":"5470:12:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3970ba08c1b362e76e45672eac77b73233343d35dedf51c76c3dd14ca7a135de","typeString":"literal_string \"Upgrade Admin:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60284,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"5440:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5448:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"5440:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":60289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5440:43:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60290,"nodeType":"ExpressionStatement","src":"5440:43:87"}]},"id":60292,"nodeType":"IfStatement","src":"2365:3129:87","trueBody":{"id":60211,"nodeType":"Block","src":"2388:2139:87","statements":[{"expression":{"arguments":[{"hexValue":"0a3d3d3d20494d504552534f4e4154494f4e204d4f4445203d3d3d","id":60045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2497:30:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_71646f669bed820466d429d64303d9c626b5e0c3ce32c633cce5c56f40087d5f","typeString":"literal_string hex\"0a3d3d3d20494d504552534f4e4154494f4e204d4f4445203d3d3d\""},"value":"\n=== IMPERSONATION MODE ==="}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_71646f669bed820466d429d64303d9c626b5e0c3ce32c633cce5c56f40087d5f","typeString":"literal_string hex\"0a3d3d3d20494d504552534f4e4154494f4e204d4f4445203d3d3d\""}],"expression":{"id":60042,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"2485:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2493:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"2485:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":60046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2485:43:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60047,"nodeType":"ExpressionStatement","src":"2485:43:87"},{"expression":{"arguments":[{"hexValue":"4d4e454d4f4e494320646f6573206e6f7420636f72726573706f6e6420746f20757067726164652061646d696e","id":60051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2554:47:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ef36bbcc875a0f23c96f47059015e7026ad5f38e4bd9f27f8f596cf57b7b8ae","typeString":"literal_string \"MNEMONIC does not correspond to upgrade admin\""},"value":"MNEMONIC does not correspond to upgrade admin"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ef36bbcc875a0f23c96f47059015e7026ad5f38e4bd9f27f8f596cf57b7b8ae","typeString":"literal_string \"MNEMONIC does not correspond to upgrade admin\""}],"expression":{"id":60048,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"2542:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2550:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"2542:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":60052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2542:60:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60053,"nodeType":"ExpressionStatement","src":"2542:60:87"},{"expression":{"arguments":[{"hexValue":"4465706c6f79696e67206e657720696d706c656d656e746174696f6e20616e642067656e65726174696e672075706772616465207472616e73616374696f6e2064617461","id":60057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2628:70:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f22766cffea8da5fdbe65bb96c8099e997c20d6778e88ce5f1a442325ca50b2","typeString":"literal_string \"Deploying new implementation and generating upgrade transaction data\""},"value":"Deploying new implementation and generating upgrade transaction data"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f22766cffea8da5fdbe65bb96c8099e997c20d6778e88ce5f1a442325ca50b2","typeString":"literal_string \"Deploying new implementation and generating upgrade transaction data\""}],"expression":{"id":60054,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"2616:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2624:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"2616:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":60058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2616:83:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60059,"nodeType":"ExpressionStatement","src":"2616:83:87"},{"expression":{"arguments":[{"hexValue":"0a3d3d3d204445504c4f59494e47204e455720494d504c454d454e544154494f4e203d3d3d","id":60063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2771:40:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_d33a854ab1ccd8f9294bf472100e13f105aeee46b06967a97b6d8f1b1366236d","typeString":"literal_string hex\"0a3d3d3d204445504c4f59494e47204e455720494d504c454d454e544154494f4e203d3d3d\""},"value":"\n=== DEPLOYING NEW IMPLEMENTATION ==="}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d33a854ab1ccd8f9294bf472100e13f105aeee46b06967a97b6d8f1b1366236d","typeString":"literal_string hex\"0a3d3d3d204445504c4f59494e47204e455720494d504c454d454e544154494f4e203d3d3d\""}],"expression":{"id":60060,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"2759:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2767:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"2759:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":60064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2759:53:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60065,"nodeType":"ExpressionStatement","src":"2759:53:87"},{"expression":{"arguments":[{"id":60069,"name":"deployerPrivateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59932,"src":"2844:18:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":60066,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"2826:2:87","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":60068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2829:14:87","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":15018,"src":"2826:17:87","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":60070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2826:37:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60071,"nodeType":"ExpressionStatement","src":"2826:37:87"},{"assignments":[60073],"declarations":[{"constant":false,"id":60073,"mutability":"mutable","name":"newImplementationAddress","nameLocation":"2885:24:87","nodeType":"VariableDeclaration","scope":60211,"src":"2877:32:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60072,"name":"address","nodeType":"ElementaryTypeName","src":"2877:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":60079,"initialValue":{"arguments":[{"hexValue":"4d616e616765644f7074696d69737469634f7261636c6556322e736f6c3a4d616e616765644f7074696d69737469634f7261636c655632","id":60076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2952:57:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef4ce865116e4931a00e0a0000954e04822a605a43c7e601bc344c50d4c640fa","typeString":"literal_string \"ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2\""},"value":"ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2"},{"id":60077,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59967,"src":"3011:4:87","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef4ce865116e4931a00e0a0000954e04822a605a43c7e601bc344c50d4c640fa","typeString":"literal_string \"ManagedOptimisticOracleV2.sol:ManagedOptimisticOracleV2\""},{"typeIdentifier":"t_struct$_Options_$52051_memory_ptr","typeString":"struct Options memory"}],"expression":{"id":60074,"name":"Upgrades","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52643,"src":"2928:8:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Upgrades_$52643_$","typeString":"type(library Upgrades)"}},"id":60075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2937:14:87","memberName":"prepareUpgrade","nodeType":"MemberAccess","referencedDeclaration":52600,"src":"2928:23:87","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_Options_$52051_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,struct Options memory) returns (address)"}},"id":60078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2928:88:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2877:139:87"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":60080,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"3030:2:87","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":60082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3033:13:87","memberName":"stopBroadcast","nodeType":"MemberAccess","referencedDeclaration":15022,"src":"3030:16:87","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":60083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3030:18:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60084,"nodeType":"ExpressionStatement","src":"3030:18:87"},{"expression":{"arguments":[{"hexValue":"4e657720496d706c656d656e746174696f6e20416464726573733a","id":60088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3074:29:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d09200343819198af782628b5312792c73231c28c956349811bce791d7cdb33","typeString":"literal_string \"New Implementation Address:\""},"value":"New Implementation Address:"},{"id":60089,"name":"newImplementationAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60073,"src":"3105:24:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3d09200343819198af782628b5312792c73231c28c956349811bce791d7cdb33","typeString":"literal_string \"New Implementation Address:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60085,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"3062:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3070:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"3062:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":60090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3062:68:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60091,"nodeType":"ExpressionStatement","src":"3062:68:87"},{"assignments":[60093],"declarations":[{"constant":false,"id":60093,"mutability":"mutable","name":"upgradeData","nameLocation":"3207:11:87","nodeType":"VariableDeclaration","scope":60211,"src":"3194:24:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":60092,"name":"bytes","nodeType":"ElementaryTypeName","src":"3194:5:87","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":60103,"initialValue":{"arguments":[{"hexValue":"75706772616465546f416e6443616c6c28616464726573732c627974657329","id":60096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3261:33:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f1ef2866b98625bdfefae89411f7a82754ac4089eff8e78c8832329a538337f","typeString":"literal_string \"upgradeToAndCall(address,bytes)\""},"value":"upgradeToAndCall(address,bytes)"},{"id":60097,"name":"newImplementationAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60073,"src":"3296:24:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"","id":60100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3328:2:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":60099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3322:5:87","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":60098,"name":"bytes","nodeType":"ElementaryTypeName","src":"3322:5:87","typeDescriptions":{}}},"id":60101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3322:9:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4f1ef2866b98625bdfefae89411f7a82754ac4089eff8e78c8832329a538337f","typeString":"literal_string \"upgradeToAndCall(address,bytes)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":60094,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3237:3:87","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":60095,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3241:19:87","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3237:23:87","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":60102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3237:95:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3194:138:87"},{"expression":{"arguments":[{"hexValue":"0a3d3d3d2053494d554c4154494e472055504752414445205452414e53414354494f4e203d3d3d","id":60107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3434:42:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_9ad63cf86d973bdd54489b07fd3065113997eb3b4690dc40a08de0b0199cdbea","typeString":"literal_string hex\"0a3d3d3d2053494d554c4154494e472055504752414445205452414e53414354494f4e203d3d3d\""},"value":"\n=== SIMULATING UPGRADE TRANSACTION ==="}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9ad63cf86d973bdd54489b07fd3065113997eb3b4690dc40a08de0b0199cdbea","typeString":"literal_string hex\"0a3d3d3d2053494d554c4154494e472055504752414445205452414e53414354494f4e203d3d3d\""}],"expression":{"id":60104,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"3422:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3430:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"3422:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":60108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3422:55:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60109,"nodeType":"ExpressionStatement","src":"3422:55:87"},{"expression":{"arguments":[{"id":60113,"name":"upgradeAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59951,"src":"3505:12:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60110,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"3491:2:87","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":60112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3494:10:87","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":17486,"src":"3491:13:87","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":60114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3491:27:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60115,"nodeType":"ExpressionStatement","src":"3491:27:87"},{"assignments":[60117,60119],"declarations":[{"constant":false,"id":60117,"mutability":"mutable","name":"success","nameLocation":"3538:7:87","nodeType":"VariableDeclaration","scope":60211,"src":"3533:12:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60116,"name":"bool","nodeType":"ElementaryTypeName","src":"3533:4:87","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":60119,"mutability":"mutable","name":"result","nameLocation":"3560:6:87","nodeType":"VariableDeclaration","scope":60211,"src":"3547:19:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":60118,"name":"bytes","nodeType":"ElementaryTypeName","src":"3547:5:87","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":60124,"initialValue":{"arguments":[{"id":60122,"name":"upgradeData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60093,"src":"3588:11:87","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":60120,"name":"proxyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59944,"src":"3570:12:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":60121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3583:4:87","memberName":"call","nodeType":"MemberAccess","src":"3570:17:87","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":60123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3570:30:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"3532:68:87"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":60125,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"3614:2:87","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":60127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3617:9:87","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":17530,"src":"3614:12:87","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":60128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3614:14:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60129,"nodeType":"ExpressionStatement","src":"3614:14:87"},{"condition":{"id":60130,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60117,"src":"3647:7:87","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":60158,"nodeType":"Block","src":"3740:211:87","statements":[{"expression":{"arguments":[{"hexValue":"557067726164652073696d756c6174696f6e206661696c656421","id":60141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3770:28:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_24abea156d6e839b117ce3fd18cc449162517cc64915a83783f951c391bc42aa","typeString":"literal_string \"Upgrade simulation failed!\""},"value":"Upgrade simulation failed!"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_24abea156d6e839b117ce3fd18cc449162517cc64915a83783f951c391bc42aa","typeString":"literal_string \"Upgrade simulation failed!\""}],"expression":{"id":60138,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"3758:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3766:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"3758:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":60142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3758:41:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60143,"nodeType":"ExpressionStatement","src":"3758:41:87"},{"expression":{"arguments":[{"hexValue":"4572726f723a","id":60147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3829:8:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_b889b2d518e0b1d29d685481cf4259207c613c73ca5a5b1bc252d54078475ee0","typeString":"literal_string \"Error:\""},"value":"Error:"},{"arguments":[{"id":60150,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60119,"src":"3851:6:87","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":60148,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"3839:2:87","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":60149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3842:8:87","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15137,"src":"3839:11:87","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":60151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3839:19:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b889b2d518e0b1d29d685481cf4259207c613c73ca5a5b1bc252d54078475ee0","typeString":"literal_string \"Error:\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":60144,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"3817:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3825:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18778,"src":"3817:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure"}},"id":60152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3817:42:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60153,"nodeType":"ExpressionStatement","src":"3817:42:87"},{"expression":{"arguments":[{"hexValue":"557067726164652073696d756c6174696f6e206661696c6564202d20636865636b20746865206572726f722061626f7665","id":60155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3884:51:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_9d6bf4bd4ddb5ad883b18680f3c180e550847a6baf55814fa759d8eec0793e1c","typeString":"literal_string \"Upgrade simulation failed - check the error above\""},"value":"Upgrade simulation failed - check the error above"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9d6bf4bd4ddb5ad883b18680f3c180e550847a6baf55814fa759d8eec0793e1c","typeString":"literal_string \"Upgrade simulation failed - check the error above\""}],"id":60154,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"3877:6:87","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":60156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3877:59:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60157,"nodeType":"ExpressionStatement","src":"3877:59:87"}]},"id":60159,"nodeType":"IfStatement","src":"3643:308:87","trueBody":{"id":60137,"nodeType":"Block","src":"3656:78:87","statements":[{"expression":{"arguments":[{"hexValue":"557067726164652073696d756c6174696f6e207375636365737366756c21","id":60134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3686:32:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_e76b64f45515f7cb9cf5a5352775dde0557eb3632e0a55d24baeb6fe00275f50","typeString":"literal_string \"Upgrade simulation successful!\""},"value":"Upgrade simulation successful!"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e76b64f45515f7cb9cf5a5352775dde0557eb3632e0a55d24baeb6fe00275f50","typeString":"literal_string \"Upgrade simulation successful!\""}],"expression":{"id":60131,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"3674:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3682:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"3674:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":60135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3674:45:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60136,"nodeType":"ExpressionStatement","src":"3674:45:87"}]}},{"expression":{"arguments":[{"hexValue":"0a3d3d3d204d554c54495349472055504752414445205452414e53414354494f4e2044415441203d3d3d","id":60163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4026:45:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_53d687e818163916eef177be1e47c37bd5c50a5746281ce9916462afc2d4f9aa","typeString":"literal_string hex\"0a3d3d3d204d554c54495349472055504752414445205452414e53414354494f4e2044415441203d3d3d\""},"value":"\n=== MULTISIG UPGRADE TRANSACTION DATA ==="}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_53d687e818163916eef177be1e47c37bd5c50a5746281ce9916462afc2d4f9aa","typeString":"literal_string hex\"0a3d3d3d204d554c54495349472055504752414445205452414e53414354494f4e2044415441203d3d3d\""}],"expression":{"id":60160,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4014:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4022:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"4014:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":60164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4014:58:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60165,"nodeType":"ExpressionStatement","src":"4014:58:87"},{"expression":{"arguments":[{"hexValue":"54617267657420436f6e74726163743a","id":60169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4098:18:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_d5a274bdb6dc1b35dc34aa0df325ccb8e0888a4f8beb9a92c7de6522ac716ee8","typeString":"literal_string \"Target Contract:\""},"value":"Target Contract:"},{"id":60170,"name":"proxyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59944,"src":"4118:12:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d5a274bdb6dc1b35dc34aa0df325ccb8e0888a4f8beb9a92c7de6522ac716ee8","typeString":"literal_string \"Target Contract:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60166,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4086:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4094:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"4086:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":60171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4086:45:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60172,"nodeType":"ExpressionStatement","src":"4086:45:87"},{"expression":{"arguments":[{"hexValue":"5472616e73616374696f6e20446174613a","id":60176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4157:19:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_771d0f1e714223453d897c9283857d0cf66311072fa5bef5c93384d18a9026a6","typeString":"literal_string \"Transaction Data:\""},"value":"Transaction Data:"},{"arguments":[{"id":60179,"name":"upgradeData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60093,"src":"4190:11:87","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":60177,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"4178:2:87","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":60178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4181:8:87","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15137,"src":"4178:11:87","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":60180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4178:24:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_771d0f1e714223453d897c9283857d0cf66311072fa5bef5c93384d18a9026a6","typeString":"literal_string \"Transaction Data:\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":60173,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4145:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4153:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18778,"src":"4145:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure"}},"id":60181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4145:58:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60182,"nodeType":"ExpressionStatement","src":"4145:58:87"},{"expression":{"arguments":[{"hexValue":"557067726164652041646d696e3a","id":60186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4229:16:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_3970ba08c1b362e76e45672eac77b73233343d35dedf51c76c3dd14ca7a135de","typeString":"literal_string \"Upgrade Admin:\""},"value":"Upgrade Admin:"},{"id":60187,"name":"upgradeAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59951,"src":"4247:12:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3970ba08c1b362e76e45672eac77b73233343d35dedf51c76c3dd14ca7a135de","typeString":"literal_string \"Upgrade Admin:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60183,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4217:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4225:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"4217:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":60188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4217:43:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60189,"nodeType":"ExpressionStatement","src":"4217:43:87"},{"expression":{"arguments":[{"hexValue":"436861696e2049443a","id":60193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4286:11:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_1819fb621e5bc249bf9a5740212372c48d65576d247cc4cc9085c59818dd89e5","typeString":"literal_string \"Chain ID:\""},"value":"Chain ID:"},{"expression":{"id":60194,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4299:5:87","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":60195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4305:7:87","memberName":"chainid","nodeType":"MemberAccess","src":"4299:13:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1819fb621e5bc249bf9a5740212372c48d65576d247cc4cc9085c59818dd89e5","typeString":"literal_string \"Chain ID:\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":60190,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4274:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4282:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18744,"src":"4274:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":60196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4274:39:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60197,"nodeType":"ExpressionStatement","src":"4274:39:87"},{"expression":{"arguments":[{"hexValue":"0a5573652074686973207472616e73616374696f6e206461746120696e20796f7572206d756c74697369672077616c6c657420746f20657865637574652074686520757067726164652e","id":60201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4339:77:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_d614838fc977588a4d9bd64ef94bda77a8985c90354f1a5f225ed8beeb969ee7","typeString":"literal_string hex\"0a5573652074686973207472616e73616374696f6e206461746120696e20796f7572206d756c74697369672077616c6c657420746f20657865637574652074686520757067726164652e\""},"value":"\nUse this transaction data in your multisig wallet to execute the upgrade."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d614838fc977588a4d9bd64ef94bda77a8985c90354f1a5f225ed8beeb969ee7","typeString":"literal_string hex\"0a5573652074686973207472616e73616374696f6e206461746120696e20796f7572206d756c74697369672077616c6c657420746f20657865637574652074686520757067726164652e\""}],"expression":{"id":60198,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4327:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4335:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18631,"src":"4327:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":60202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4327:90:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60203,"nodeType":"ExpressionStatement","src":"4327:90:87"},{"expression":{"arguments":[{"hexValue":"546865206e657720696d706c656d656e746174696f6e20686173206265656e206465706c6f7965642061743a","id":60207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4443:46:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_4c5c0c6e4fd07784606fce74ffd959ac1237f5175f62d801e4dae63524d50d1b","typeString":"literal_string \"The new implementation has been deployed at:\""},"value":"The new implementation has been deployed at:"},{"id":60208,"name":"newImplementationAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60073,"src":"4491:24:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4c5c0c6e4fd07784606fce74ffd959ac1237f5175f62d801e4dae63524d50d1b","typeString":"literal_string \"The new implementation has been deployed at:\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60204,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26117,"src":"4431:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26117_$","typeString":"type(library console)"}},"id":60206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4439:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":18812,"src":"4431:11:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":60209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4431:85:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60210,"nodeType":"ExpressionStatement","src":"4431:85:87"}]}}]},"functionSelector":"c0406226","implemented":true,"kind":"function","modifiers":[],"name":"run","nameLocation":"1018:3:87","parameters":{"id":59929,"nodeType":"ParameterList","parameters":[],"src":"1021:2:87"},"returnParameters":{"id":59930,"nodeType":"ParameterList","parameters":[],"src":"1033:0:87"},"scope":60315,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":60314,"nodeType":"FunctionDefinition","src":"5665:226:87","nodes":[],"body":{"id":60313,"nodeType":"Block","src":"5731:160:87","nodes":[],"statements":[{"assignments":[60301],"declarations":[{"constant":false,"id":60301,"mutability":"mutable","name":"mnemonic","nameLocation":"5755:8:87","nodeType":"VariableDeclaration","scope":60313,"src":"5741:22:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":60300,"name":"string","nodeType":"ElementaryTypeName","src":"5741:6:87","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":60306,"initialValue":{"arguments":[{"hexValue":"4d4e454d4f4e4943","id":60304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5779:10:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7847ed63e851fdf31d71be7e99485b72f34aad94067c632a3301195aa6e0dd0","typeString":"literal_string \"MNEMONIC\""},"value":"MNEMONIC"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f7847ed63e851fdf31d71be7e99485b72f34aad94067c632a3301195aa6e0dd0","typeString":"literal_string \"MNEMONIC\""}],"expression":{"id":60302,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"5766:2:87","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":60303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5769:9:87","memberName":"envString","nodeType":"MemberAccess","referencedDeclaration":13753,"src":"5766:12:87","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":60305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5766:24:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"5741:49:87"},{"expression":{"arguments":[{"id":60309,"name":"mnemonic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60301,"src":"5872:8:87","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":60310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5882:1:87","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":60307,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"5859:2:87","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":60308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5862:9:87","memberName":"deriveKey","nodeType":"MemberAccess","referencedDeclaration":13276,"src":"5859:12:87","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_uint32_$returns$_t_uint256_$","typeString":"function (string memory,uint32) pure external returns (uint256)"}},"id":60311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5859:25:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":60299,"id":60312,"nodeType":"Return","src":"5852:32:87"}]},"documentation":{"id":60295,"nodeType":"StructuredDocumentation","src":"5506:154:87","text":" @notice Derives the deployer's private key from the mnemonic\n @return deployerPrivateKey The derived private key for the deployer"},"implemented":true,"kind":"function","modifiers":[],"name":"_getDeployerPrivateKey","nameLocation":"5674:22:87","parameters":{"id":60296,"nodeType":"ParameterList","parameters":[],"src":"5696:2:87"},"returnParameters":{"id":60299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60298,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60314,"src":"5722:7:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60297,"name":"uint256","nodeType":"ElementaryTypeName","src":"5722:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5721:9:87"},"scope":60315,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":59927,"name":"Script","nameLocations":["996:6:87"],"nodeType":"IdentifierPath","referencedDeclaration":100,"src":"996:6:87"},"id":59928,"nodeType":"InheritanceSpecifier","src":"996:6:87"}],"canonicalName":"UpgradeManagedOptimisticOracleV2","contractDependencies":[],"contractKind":"contract","documentation":{"id":59926,"nodeType":"StructuredDocumentation","src":"415:535:87","text":" @title Upgrade script for ManagedOptimisticOracleV2\n @notice Upgrades the ManagedOptimisticOracleV2 contract implementation using OZ Upgrades\n Environment variables:\n - MNEMONIC: Required. The mnemonic phrase for the upgrade admin wallet\n - PROXY_ADDRESS: Required. Address of the existing proxy contract to upgrade\n - REFERENCE_BUILD_VERSION: Required. Integer version number to derive reference contract and build info dir (e.g., 1 for \"build-info-v1:ManagedOptimisticOracleV2\" and \"old-builds/build-info-v1\")"},"fullyImplemented":true,"internalFunctionIDs":{"18017":1},"linearizedBaseContracts":[60315,100,12932,5773,3683,59,47],"name":"UpgradeManagedOptimisticOracleV2","nameLocation":"960:32:87","scope":60316,"usedErrors":[],"usedEvents":[]}],"license":"AGPL-3.0-only"}},"src/common/implementation/AddressLegacy.sol":{"id":88,"ast":{"absolutePath":"src/common/implementation/AddressLegacy.sol","id":60335,"exportedSymbols":{"AddressLegacy":[60334]},"nodeType":"SourceUnit","src":"211:1640:88","nodes":[{"id":60317,"nodeType":"PragmaDirective","src":"211:23:88","nodes":[],"literals":["solidity","^","0.8",".1"]},{"id":60334,"nodeType":"ContractDefinition","src":"304:1546:88","nodes":[{"id":60333,"nodeType":"FunctionDefinition","src":"1528:320:88","nodes":[],"body":{"id":60332,"nodeType":"Block","src":"1594:254:88","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":60326,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60321,"src":"1818:7:88","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":60327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1826:4:88","memberName":"code","nodeType":"MemberAccess","src":"1818:12:88","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":60328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1831:6:88","memberName":"length","nodeType":"MemberAccess","src":"1818:19:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":60329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1840:1:88","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1818:23:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":60325,"id":60331,"nodeType":"Return","src":"1811:30:88"}]},"documentation":{"id":60319,"nodeType":"StructuredDocumentation","src":"332:1191:88","text":" @dev Returns true if `account` is a contract.\n [IMPORTANT]\n ====\n It is unsafe to assume that an address for which this function returns\n false is an externally-owned account (EOA) and not a contract.\n Among others, `isContract` will return false for the following\n types of addresses:\n - an externally-owned account\n - a contract in construction\n - an address where a contract will be created\n - an address where a contract lived, but was destroyed\n Furthermore, `isContract` will also return true if the target contract within\n the same transaction is already scheduled for destruction by `SELFDESTRUCT`,\n which only has an effect at the end of a transaction.\n ====\n [IMPORTANT]\n ====\n You shouldn't rely on `isContract` to protect against flash loan attacks!\n Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n constructor.\n ===="},"implemented":true,"kind":"function","modifiers":[],"name":"isContract","nameLocation":"1537:10:88","parameters":{"id":60322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60321,"mutability":"mutable","name":"account","nameLocation":"1556:7:88","nodeType":"VariableDeclaration","scope":60333,"src":"1548:15:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60320,"name":"address","nodeType":"ElementaryTypeName","src":"1548:7:88","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1547:17:88"},"returnParameters":{"id":60325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60324,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60333,"src":"1588:4:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60323,"name":"bool","nodeType":"ElementaryTypeName","src":"1588:4:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1587:6:88"},"scope":60334,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"AddressLegacy","contractDependencies":[],"contractKind":"library","documentation":{"id":60318,"nodeType":"StructuredDocumentation","src":"236:67:88","text":" @dev Collection of functions related to the address type"},"fullyImplemented":true,"linearizedBaseContracts":[60334],"name":"AddressLegacy","nameLocation":"312:13:88","scope":60335,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"src/common/implementation/AddressWhitelist.sol":{"id":89,"ast":{"absolutePath":"src/common/implementation/AddressWhitelist.sol","id":60497,"exportedSymbols":{"AddressWhitelist":[60496],"AddressWhitelistInterface":[60790],"ERC165":[46592],"EnumerableSet":[51855],"Lockable":[56909],"Ownable":[41339]},"nodeType":"SourceUnit","src":"356:3773:89","nodes":[{"id":60336,"nodeType":"PragmaDirective","src":"356:23:89","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":60338,"nodeType":"ImportDirective","src":"381:86:89","nodes":[],"absolutePath":"src/common/interfaces/AddressWhitelistInterface.sol","file":"../interfaces/AddressWhitelistInterface.sol","nameLocation":"-1:-1:-1","scope":60497,"sourceUnit":60791,"symbolAliases":[{"foreign":{"id":60337,"name":"AddressWhitelistInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60790,"src":"389:25:89","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60340,"nodeType":"ImportDirective","src":"468:78:89","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":60497,"sourceUnit":46593,"symbolAliases":[{"foreign":{"id":60339,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46592,"src":"476:6:89","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60342,"nodeType":"ImportDirective","src":"547:67:89","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/access/Ownable.sol","file":"@openzeppelin/contracts/access/Ownable.sol","nameLocation":"-1:-1:-1","scope":60497,"sourceUnit":41340,"symbolAliases":[{"foreign":{"id":60341,"name":"Ownable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41339,"src":"555:7:89","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60344,"nodeType":"ImportDirective","src":"615:75:89","nodes":[],"absolutePath":"lib/protocol/packages/core/contracts/common/implementation/Lockable.sol","file":"@uma/contracts/common/implementation/Lockable.sol","nameLocation":"-1:-1:-1","scope":60497,"sourceUnit":56910,"symbolAliases":[{"foreign":{"id":60343,"name":"Lockable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56909,"src":"623:8:89","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60346,"nodeType":"ImportDirective","src":"691:86:89","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol","file":"@openzeppelin/contracts/utils/structs/EnumerableSet.sol","nameLocation":"-1:-1:-1","scope":60497,"sourceUnit":51856,"symbolAliases":[{"foreign":{"id":60345,"name":"EnumerableSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51855,"src":"699:13:89","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60496,"nodeType":"ContractDefinition","src":"891:3237:89","nodes":[{"id":60359,"nodeType":"UsingForDirective","src":"979:49:89","nodes":[],"global":false,"libraryName":{"id":60356,"name":"EnumerableSet","nameLocations":["985:13:89"],"nodeType":"IdentifierPath","referencedDeclaration":51855,"src":"985:13:89"},"typeName":{"id":60358,"nodeType":"UserDefinedTypeName","pathNode":{"id":60357,"name":"EnumerableSet.AddressSet","nameLocations":["1003:13:89","1017:10:89"],"nodeType":"IdentifierPath","referencedDeclaration":50830,"src":"1003:24:89"},"referencedDeclaration":50830,"src":"1003:24:89","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}}},{"id":60362,"nodeType":"VariableDeclaration","src":"1132:39:89","nodes":[],"constant":false,"mutability":"mutable","name":"whitelistedSet","nameLocation":"1157:14:89","scope":60496,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":60361,"nodeType":"UserDefinedTypeName","pathNode":{"id":60360,"name":"EnumerableSet.AddressSet","nameLocations":["1132:13:89","1146:10:89"],"nodeType":"IdentifierPath","referencedDeclaration":50830,"src":"1132:24:89"},"referencedDeclaration":50830,"src":"1132:24:89","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"},{"id":60366,"nodeType":"EventDefinition","src":"1178:53:89","nodes":[],"anonymous":false,"eventSelector":"a850ae9193f515cbae8d35e8925bd2be26627fc91bce650b8652ed254e9cab03","name":"AddedToWhitelist","nameLocation":"1184:16:89","parameters":{"id":60365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60364,"indexed":true,"mutability":"mutable","name":"addedAddress","nameLocation":"1217:12:89","nodeType":"VariableDeclaration","scope":60366,"src":"1201:28:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60363,"name":"address","nodeType":"ElementaryTypeName","src":"1201:7:89","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1200:30:89"}},{"id":60370,"nodeType":"EventDefinition","src":"1236:59:89","nodes":[],"anonymous":false,"eventSelector":"cdd2e9b91a56913d370075169cefa1602ba36be5301664f752192bb1709df757","name":"RemovedFromWhitelist","nameLocation":"1242:20:89","parameters":{"id":60369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60368,"indexed":true,"mutability":"mutable","name":"removedAddress","nameLocation":"1279:14:89","nodeType":"VariableDeclaration","scope":60370,"src":"1263:30:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60367,"name":"address","nodeType":"ElementaryTypeName","src":"1263:7:89","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1262:32:89"}},{"id":60379,"nodeType":"FunctionDefinition","src":"1455:36:89","nodes":[],"body":{"id":60378,"nodeType":"Block","src":"1489:2:89","nodes":[],"statements":[]},"documentation":{"id":60371,"nodeType":"StructuredDocumentation","src":"1301:149:89","text":" @notice Constructor to initialize the contract.\n @dev This makes it compatible with v5.x of OpenZeppelin's Ownable contract."},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"expression":{"id":60374,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1477:3:89","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":60375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1481:6:89","memberName":"sender","nodeType":"MemberAccess","src":"1477:10:89","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":60376,"kind":"baseConstructorSpecifier","modifierName":{"id":60373,"name":"Ownable","nameLocations":["1469:7:89"],"nodeType":"IdentifierPath","referencedDeclaration":41339,"src":"1469:7:89"},"nodeType":"ModifierInvocation","src":"1469:19:89"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":60372,"nodeType":"ParameterList","parameters":[],"src":"1466:2:89"},"returnParameters":{"id":60377,"nodeType":"ParameterList","parameters":[],"src":"1489:0:89"},"scope":60496,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":60405,"nodeType":"FunctionDefinition","src":"1611:223:89","nodes":[],"body":{"id":60404,"nodeType":"Block","src":"1696:138:89","nodes":[],"statements":[{"assignments":[60391],"declarations":[{"constant":false,"id":60391,"mutability":"mutable","name":"added","nameLocation":"1711:5:89","nodeType":"VariableDeclaration","scope":60404,"src":"1706:10:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60390,"name":"bool","nodeType":"ElementaryTypeName","src":"1706:4:89","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":60396,"initialValue":{"arguments":[{"id":60394,"name":"newElement","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60382,"src":"1738:10:89","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60392,"name":"whitelistedSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60362,"src":"1719:14:89","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage","typeString":"struct EnumerableSet.AddressSet storage ref"}},"id":60393,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1734:3:89","memberName":"add","nodeType":"MemberAccess","referencedDeclaration":50857,"src":"1719:18:89","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_AddressSet_$50830_storage_ptr_$_t_address_$returns$_t_bool_$attached_to$_t_struct$_AddressSet_$50830_storage_ptr_$","typeString":"function (struct EnumerableSet.AddressSet storage pointer,address) returns (bool)"}},"id":60395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1719:30:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"1706:43:89"},{"condition":{"id":60397,"name":"added","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60391,"src":"1763:5:89","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60403,"nodeType":"IfStatement","src":"1759:69:89","trueBody":{"id":60402,"nodeType":"Block","src":"1770:58:89","statements":[{"eventCall":{"arguments":[{"id":60399,"name":"newElement","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60382,"src":"1806:10:89","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":60398,"name":"AddedToWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60366,"src":"1789:16:89","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":60400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1789:28:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60401,"nodeType":"EmitStatement","src":"1784:33:89"}]}}]},"baseFunctions":[60766],"documentation":{"id":60380,"nodeType":"StructuredDocumentation","src":"1497:109:89","text":" @notice Adds an address to the whitelist.\n @param newElement the new address to add."},"functionSelector":"e43252d7","implemented":true,"kind":"function","modifiers":[{"id":60386,"kind":"modifierInvocation","modifierName":{"id":60385,"name":"nonReentrant","nameLocations":["1673:12:89"],"nodeType":"IdentifierPath","referencedDeclaration":56859,"src":"1673:12:89"},"nodeType":"ModifierInvocation","src":"1673:12:89"},{"id":60388,"kind":"modifierInvocation","modifierName":{"id":60387,"name":"onlyOwner","nameLocations":["1686:9:89"],"nodeType":"IdentifierPath","referencedDeclaration":41250,"src":"1686:9:89"},"nodeType":"ModifierInvocation","src":"1686:9:89"}],"name":"addToWhitelist","nameLocation":"1620:14:89","overrides":{"id":60384,"nodeType":"OverrideSpecifier","overrides":[],"src":"1664:8:89"},"parameters":{"id":60383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60382,"mutability":"mutable","name":"newElement","nameLocation":"1643:10:89","nodeType":"VariableDeclaration","scope":60405,"src":"1635:18:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60381,"name":"address","nodeType":"ElementaryTypeName","src":"1635:7:89","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1634:20:89"},"returnParameters":{"id":60389,"nodeType":"ParameterList","parameters":[],"src":"1696:0:89"},"scope":60496,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":60431,"nodeType":"FunctionDefinition","src":"1972:254:89","nodes":[],"body":{"id":60430,"nodeType":"Block","src":"2067:159:89","nodes":[],"statements":[{"assignments":[60417],"declarations":[{"constant":false,"id":60417,"mutability":"mutable","name":"removed","nameLocation":"2082:7:89","nodeType":"VariableDeclaration","scope":60430,"src":"2077:12:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60416,"name":"bool","nodeType":"ElementaryTypeName","src":"2077:4:89","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":60422,"initialValue":{"arguments":[{"id":60420,"name":"elementToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60408,"src":"2114:15:89","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60418,"name":"whitelistedSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60362,"src":"2092:14:89","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage","typeString":"struct EnumerableSet.AddressSet storage ref"}},"id":60419,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2107:6:89","memberName":"remove","nodeType":"MemberAccess","referencedDeclaration":50884,"src":"2092:21:89","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_AddressSet_$50830_storage_ptr_$_t_address_$returns$_t_bool_$attached_to$_t_struct$_AddressSet_$50830_storage_ptr_$","typeString":"function (struct EnumerableSet.AddressSet storage pointer,address) returns (bool)"}},"id":60421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2092:38:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"2077:53:89"},{"condition":{"id":60423,"name":"removed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60417,"src":"2144:7:89","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60429,"nodeType":"IfStatement","src":"2140:80:89","trueBody":{"id":60428,"nodeType":"Block","src":"2153:67:89","statements":[{"eventCall":{"arguments":[{"id":60425,"name":"elementToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60408,"src":"2193:15:89","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":60424,"name":"RemovedFromWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60370,"src":"2172:20:89","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":60426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2172:37:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60427,"nodeType":"EmitStatement","src":"2167:42:89"}]}}]},"baseFunctions":[60771],"documentation":{"id":60406,"nodeType":"StructuredDocumentation","src":"1840:127:89","text":" @notice Removes an address from the whitelist.\n @param elementToRemove the existing address to remove."},"functionSelector":"8ab1d681","implemented":true,"kind":"function","modifiers":[{"id":60412,"kind":"modifierInvocation","modifierName":{"id":60411,"name":"nonReentrant","nameLocations":["2044:12:89"],"nodeType":"IdentifierPath","referencedDeclaration":56859,"src":"2044:12:89"},"nodeType":"ModifierInvocation","src":"2044:12:89"},{"id":60414,"kind":"modifierInvocation","modifierName":{"id":60413,"name":"onlyOwner","nameLocations":["2057:9:89"],"nodeType":"IdentifierPath","referencedDeclaration":41250,"src":"2057:9:89"},"nodeType":"ModifierInvocation","src":"2057:9:89"}],"name":"removeFromWhitelist","nameLocation":"1981:19:89","overrides":{"id":60410,"nodeType":"OverrideSpecifier","overrides":[],"src":"2035:8:89"},"parameters":{"id":60409,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60408,"mutability":"mutable","name":"elementToRemove","nameLocation":"2009:15:89","nodeType":"VariableDeclaration","scope":60431,"src":"2001:23:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60407,"name":"address","nodeType":"ElementaryTypeName","src":"2001:7:89","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2000:25:89"},"returnParameters":{"id":60415,"nodeType":"ParameterList","parameters":[],"src":"2067:0:89"},"scope":60496,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":60448,"nodeType":"FunctionDefinition","src":"2432:171:89","nodes":[],"body":{"id":60447,"nodeType":"Block","src":"2540:63:89","nodes":[],"statements":[{"expression":{"arguments":[{"id":60444,"name":"elementToCheck","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60434,"src":"2581:14:89","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60442,"name":"whitelistedSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60362,"src":"2557:14:89","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage","typeString":"struct EnumerableSet.AddressSet storage ref"}},"id":60443,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2572:8:89","memberName":"contains","nodeType":"MemberAccess","referencedDeclaration":50924,"src":"2557:23:89","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_AddressSet_$50830_storage_ptr_$_t_address_$returns$_t_bool_$attached_to$_t_struct$_AddressSet_$50830_storage_ptr_$","typeString":"function (struct EnumerableSet.AddressSet storage pointer,address) view returns (bool)"}},"id":60445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2557:39:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":60441,"id":60446,"nodeType":"Return","src":"2550:46:89"}]},"baseFunctions":[60778],"documentation":{"id":60432,"nodeType":"StructuredDocumentation","src":"2232:195:89","text":" @notice Checks whether an address is on the whitelist.\n @param elementToCheck the address to check.\n @return True if `elementToCheck` is on the whitelist, or False."},"functionSelector":"3a3ab672","implemented":true,"kind":"function","modifiers":[{"id":60438,"kind":"modifierInvocation","modifierName":{"id":60437,"name":"nonReentrantView","nameLocations":["2508:16:89"],"nodeType":"IdentifierPath","referencedDeclaration":56867,"src":"2508:16:89"},"nodeType":"ModifierInvocation","src":"2508:16:89"}],"name":"isOnWhitelist","nameLocation":"2441:13:89","overrides":{"id":60436,"nodeType":"OverrideSpecifier","overrides":[],"src":"2499:8:89"},"parameters":{"id":60435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60434,"mutability":"mutable","name":"elementToCheck","nameLocation":"2463:14:89","nodeType":"VariableDeclaration","scope":60448,"src":"2455:22:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60433,"name":"address","nodeType":"ElementaryTypeName","src":"2455:7:89","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2454:24:89"},"returnParameters":{"id":60441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60440,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60448,"src":"2534:4:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60439,"name":"bool","nodeType":"ElementaryTypeName","src":"2534:4:89","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2533:6:89"},"scope":60496,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":60463,"nodeType":"FunctionDefinition","src":"3179:154:89","nodes":[],"body":{"id":60462,"nodeType":"Block","src":"3286:47:89","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":60458,"name":"whitelistedSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60362,"src":"3303:14:89","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$50830_storage","typeString":"struct EnumerableSet.AddressSet storage ref"}},"id":60459,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3318:6:89","memberName":"values","nodeType":"MemberAccess","referencedDeclaration":50996,"src":"3303:21:89","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_AddressSet_$50830_storage_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$attached_to$_t_struct$_AddressSet_$50830_storage_ptr_$","typeString":"function (struct EnumerableSet.AddressSet storage pointer) view returns (address[] memory)"}},"id":60460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3303:23:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":60457,"id":60461,"nodeType":"Return","src":"3296:30:89"}]},"baseFunctions":[60784],"documentation":{"id":60449,"nodeType":"StructuredDocumentation","src":"2609:565:89","text":" @notice Gets all addresses that are currently included in the whitelist.\n @dev Returns a copy of the entire set via EnumerableSet.values(). This operation is O(n) in the number of\n addresses and theoretically unbounded. In practice, in the context of `ManagedOptimisticOracleV2.sol` this list\n is expected to remain small, so this method is not expected to run out of gas.\n Order of addresses is arbitrary and not guaranteed to be stable across calls.\n @return activeWhitelist the list of addresses on the whitelist."},"functionSelector":"d01f63f5","implemented":true,"kind":"function","modifiers":[{"id":60453,"kind":"modifierInvocation","modifierName":{"id":60452,"name":"nonReentrantView","nameLocations":["3226:16:89"],"nodeType":"IdentifierPath","referencedDeclaration":56867,"src":"3226:16:89"},"nodeType":"ModifierInvocation","src":"3226:16:89"}],"name":"getWhitelist","nameLocation":"3188:12:89","overrides":{"id":60451,"nodeType":"OverrideSpecifier","overrides":[],"src":"3217:8:89"},"parameters":{"id":60450,"nodeType":"ParameterList","parameters":[],"src":"3200:2:89"},"returnParameters":{"id":60457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60456,"mutability":"mutable","name":"activeWhitelist","nameLocation":"3269:15:89","nodeType":"VariableDeclaration","scope":60463,"src":"3252:32:89","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":60454,"name":"address","nodeType":"ElementaryTypeName","src":"3252:7:89","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":60455,"nodeType":"ArrayTypeName","src":"3252:9:89","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"3251:34:89"},"scope":60496,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":60473,"nodeType":"FunctionDefinition","src":"3531:104:89","nodes":[],"body":{"id":60472,"nodeType":"Block","src":"3607:28:89","nodes":[],"statements":[{"expression":{"hexValue":"74727565","id":60470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3624:4:89","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":60469,"id":60471,"nodeType":"Return","src":"3617:11:89"}]},"baseFunctions":[60789],"documentation":{"id":60464,"nodeType":"StructuredDocumentation","src":"3339:187:89","text":" @notice Checks if the whitelist is enabled.\n @dev For this implementation, the whitelist is always considered enabled.\n @return enabled Always returns true."},"functionSelector":"184d69ab","implemented":true,"kind":"function","modifiers":[],"name":"isWhitelistEnabled","nameLocation":"3540:18:89","overrides":{"id":60466,"nodeType":"OverrideSpecifier","overrides":[],"src":"3575:8:89"},"parameters":{"id":60465,"nodeType":"ParameterList","parameters":[],"src":"3558:2:89"},"returnParameters":{"id":60469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60468,"mutability":"mutable","name":"enabled","nameLocation":"3598:7:89","nodeType":"VariableDeclaration","scope":60473,"src":"3593:12:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60467,"name":"bool","nodeType":"ElementaryTypeName","src":"3593:4:89","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3592:14:89"},"scope":60496,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":60495,"nodeType":"FunctionDefinition","src":"3913:213:89","nodes":[],"body":{"id":60494,"nodeType":"Block","src":"4004:122:89","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":60492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":60487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60482,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60476,"src":"4021:11:89","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":60484,"name":"AddressWhitelistInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60790,"src":"4041:25:89","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"type(contract AddressWhitelistInterface)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"type(contract AddressWhitelistInterface)"}],"id":60483,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4036:4:89","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":60485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4036:31:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_AddressWhitelistInterface_$60790","typeString":"type(contract AddressWhitelistInterface)"}},"id":60486,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4068:11:89","memberName":"interfaceId","nodeType":"MemberAccess","src":"4036:43:89","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"4021:58:89","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":60490,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60476,"src":"4107:11:89","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":60488,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"4083:5:89","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_AddressWhitelist_$60496_$","typeString":"type(contract super AddressWhitelist)"}},"id":60489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4089:17:89","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":46591,"src":"4083:23:89","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":60491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4083:36:89","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4021:98:89","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":60481,"id":60493,"nodeType":"Return","src":"4014:105:89"}]},"baseFunctions":[46591],"documentation":{"id":60474,"nodeType":"StructuredDocumentation","src":"3641:267:89","text":" @notice Returns true if this contract implements the interface defined by interfaceId.\n @param interfaceId The interface identifier, as specified in ERC-165.\n @return True if the contract implements the interface defined by interfaceId."},"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"3922:17:89","overrides":{"id":60478,"nodeType":"OverrideSpecifier","overrides":[],"src":"3980:8:89"},"parameters":{"id":60477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60476,"mutability":"mutable","name":"interfaceId","nameLocation":"3947:11:89","nodeType":"VariableDeclaration","scope":60495,"src":"3940:18:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":60475,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3940:6:89","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"3939:20:89"},"returnParameters":{"id":60481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60480,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60495,"src":"3998:4:89","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60479,"name":"bool","nodeType":"ElementaryTypeName","src":"3998:4:89","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3997:6:89"},"scope":60496,"stateMutability":"view","virtual":true,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":60348,"name":"AddressWhitelistInterface","nameLocations":["920:25:89"],"nodeType":"IdentifierPath","referencedDeclaration":60790,"src":"920:25:89"},"id":60349,"nodeType":"InheritanceSpecifier","src":"920:25:89"},{"baseName":{"id":60350,"name":"Ownable","nameLocations":["947:7:89"],"nodeType":"IdentifierPath","referencedDeclaration":41339,"src":"947:7:89"},"id":60351,"nodeType":"InheritanceSpecifier","src":"947:7:89"},{"baseName":{"id":60352,"name":"Lockable","nameLocations":["956:8:89"],"nodeType":"IdentifierPath","referencedDeclaration":56909,"src":"956:8:89"},"id":60353,"nodeType":"InheritanceSpecifier","src":"956:8:89"},{"baseName":{"id":60354,"name":"ERC165","nameLocations":["966:6:89"],"nodeType":"IdentifierPath","referencedDeclaration":46592,"src":"966:6:89"},"id":60355,"nodeType":"InheritanceSpecifier","src":"966:6:89"}],"canonicalName":"AddressWhitelist","contractDependencies":[],"contractKind":"contract","documentation":{"id":60347,"nodeType":"StructuredDocumentation","src":"779:111:89","text":" @title A contract to track a whitelist of addresses.\n @custom:security-contact bugs@umaproject.org"},"fullyImplemented":true,"linearizedBaseContracts":[60496,46592,46799,56909,41339,44838,60790],"name":"AddressWhitelist","nameLocation":"900:16:89","scope":60497,"usedErrors":[41205,41210],"usedEvents":[41216,60366,60370]}],"license":"AGPL-3.0-only"}},"src/common/implementation/DisabledAddressWhitelist.sol":{"id":90,"ast":{"absolutePath":"src/common/implementation/DisabledAddressWhitelist.sol","id":60584,"exportedSymbols":{"AddressWhitelistInterface":[60790],"DisabledAddressWhitelist":[60583],"ERC165":[46592]},"nodeType":"SourceUnit","src":"42:1645:90","nodes":[{"id":60498,"nodeType":"PragmaDirective","src":"42:23:90","nodes":[],"literals":["solidity","^","0.8",".4"]},{"id":60500,"nodeType":"ImportDirective","src":"67:78:90","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":60584,"sourceUnit":46593,"symbolAliases":[{"foreign":{"id":60499,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46592,"src":"75:6:90","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60502,"nodeType":"ImportDirective","src":"146:86:90","nodes":[],"absolutePath":"src/common/interfaces/AddressWhitelistInterface.sol","file":"../interfaces/AddressWhitelistInterface.sol","nameLocation":"-1:-1:-1","scope":60584,"sourceUnit":60791,"symbolAliases":[{"foreign":{"id":60501,"name":"AddressWhitelistInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60790,"src":"154:25:90","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60583,"nodeType":"ContractDefinition","src":"472:1214:90","nodes":[{"id":60509,"nodeType":"ErrorDefinition","src":"549:44:90","nodes":[],"errorSelector":"3d1e9669","name":"CannotAddToDisabledAddressWhitelist","nameLocation":"555:35:90","parameters":{"id":60508,"nodeType":"ParameterList","parameters":[],"src":"590:2:90"}},{"id":60511,"nodeType":"ErrorDefinition","src":"598:49:90","nodes":[],"errorSelector":"d338e071","name":"CannotRemoveFromDisabledAddressWhitelist","nameLocation":"604:40:90","parameters":{"id":60510,"nodeType":"ParameterList","parameters":[],"src":"644:2:90"}},{"id":60520,"nodeType":"FunctionDefinition","src":"653:108:90","nodes":[],"body":{"id":60519,"nodeType":"Block","src":"700:61:90","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":60516,"name":"CannotAddToDisabledAddressWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60509,"src":"717:35:90","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":60517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"717:37:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":60518,"nodeType":"RevertStatement","src":"710:44:90"}]},"baseFunctions":[60766],"functionSelector":"e43252d7","implemented":true,"kind":"function","modifiers":[],"name":"addToWhitelist","nameLocation":"662:14:90","parameters":{"id":60514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60513,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60520,"src":"677:7:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60512,"name":"address","nodeType":"ElementaryTypeName","src":"677:7:90","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"676:9:90"},"returnParameters":{"id":60515,"nodeType":"ParameterList","parameters":[],"src":"700:0:90"},"scope":60583,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":60529,"nodeType":"FunctionDefinition","src":"767:118:90","nodes":[],"body":{"id":60528,"nodeType":"Block","src":"819:66:90","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":60525,"name":"CannotRemoveFromDisabledAddressWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60511,"src":"836:40:90","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":60526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"836:42:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":60527,"nodeType":"RevertStatement","src":"829:49:90"}]},"baseFunctions":[60771],"functionSelector":"8ab1d681","implemented":true,"kind":"function","modifiers":[],"name":"removeFromWhitelist","nameLocation":"776:19:90","parameters":{"id":60523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60522,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60529,"src":"796:7:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60521,"name":"address","nodeType":"ElementaryTypeName","src":"796:7:90","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"795:9:90"},"returnParameters":{"id":60524,"nodeType":"ParameterList","parameters":[],"src":"819:0:90"},"scope":60583,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":60539,"nodeType":"FunctionDefinition","src":"891:89:90","nodes":[],"body":{"id":60538,"nodeType":"Block","src":"952:28:90","nodes":[],"statements":[{"expression":{"hexValue":"74727565","id":60536,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"969:4:90","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":60535,"id":60537,"nodeType":"Return","src":"962:11:90"}]},"baseFunctions":[60778],"functionSelector":"3a3ab672","implemented":true,"kind":"function","modifiers":[],"name":"isOnWhitelist","nameLocation":"900:13:90","parameters":{"id":60532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60531,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60539,"src":"914:7:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60530,"name":"address","nodeType":"ElementaryTypeName","src":"914:7:90","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"913:9:90"},"returnParameters":{"id":60535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60534,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60539,"src":"946:4:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60533,"name":"bool","nodeType":"ElementaryTypeName","src":"946:4:90","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"945:6:90"},"scope":60583,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":60552,"nodeType":"FunctionDefinition","src":"986:105:90","nodes":[],"body":{"id":60551,"nodeType":"Block","src":"1051:40:90","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"30","id":60548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1082:1:90","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":60547,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1068:13:90","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":60545,"name":"address","nodeType":"ElementaryTypeName","src":"1072:7:90","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":60546,"nodeType":"ArrayTypeName","src":"1072:9:90","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":60549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1068:16:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":60544,"id":60550,"nodeType":"Return","src":"1061:23:90"}]},"baseFunctions":[60784],"functionSelector":"d01f63f5","implemented":true,"kind":"function","modifiers":[],"name":"getWhitelist","nameLocation":"995:12:90","parameters":{"id":60540,"nodeType":"ParameterList","parameters":[],"src":"1007:2:90"},"returnParameters":{"id":60544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60543,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60552,"src":"1033:16:90","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":60541,"name":"address","nodeType":"ElementaryTypeName","src":"1033:7:90","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":60542,"nodeType":"ArrayTypeName","src":"1033:9:90","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1032:18:90"},"scope":60583,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":60560,"nodeType":"FunctionDefinition","src":"1097:96:90","nodes":[],"body":{"id":60559,"nodeType":"Block","src":"1164:29:90","nodes":[],"statements":[{"expression":{"hexValue":"66616c7365","id":60557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1181:5:90","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":60556,"id":60558,"nodeType":"Return","src":"1174:12:90"}]},"baseFunctions":[60789],"functionSelector":"184d69ab","implemented":true,"kind":"function","modifiers":[],"name":"isWhitelistEnabled","nameLocation":"1106:18:90","parameters":{"id":60553,"nodeType":"ParameterList","parameters":[],"src":"1124:2:90"},"returnParameters":{"id":60556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60555,"mutability":"mutable","name":"enabled","nameLocation":"1155:7:90","nodeType":"VariableDeclaration","scope":60560,"src":"1150:12:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60554,"name":"bool","nodeType":"ElementaryTypeName","src":"1150:4:90","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1149:14:90"},"scope":60583,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":60582,"nodeType":"FunctionDefinition","src":"1471:213:90","nodes":[],"body":{"id":60581,"nodeType":"Block","src":"1562:122:90","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":60579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":60574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60569,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60563,"src":"1579:11:90","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":60571,"name":"AddressWhitelistInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60790,"src":"1599:25:90","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"type(contract AddressWhitelistInterface)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"type(contract AddressWhitelistInterface)"}],"id":60570,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1594:4:90","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":60572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1594:31:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_AddressWhitelistInterface_$60790","typeString":"type(contract AddressWhitelistInterface)"}},"id":60573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1626:11:90","memberName":"interfaceId","nodeType":"MemberAccess","src":"1594:43:90","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"1579:58:90","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":60577,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60563,"src":"1665:11:90","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":60575,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1641:5:90","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_DisabledAddressWhitelist_$60583_$","typeString":"type(contract super DisabledAddressWhitelist)"}},"id":60576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1647:17:90","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":46591,"src":"1641:23:90","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":60578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1641:36:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1579:98:90","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":60568,"id":60580,"nodeType":"Return","src":"1572:105:90"}]},"baseFunctions":[46591],"documentation":{"id":60561,"nodeType":"StructuredDocumentation","src":"1199:267:90","text":" @notice Returns true if this contract implements the interface defined by interfaceId.\n @param interfaceId The interface identifier, as specified in ERC-165.\n @return True if the contract implements the interface defined by interfaceId."},"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"1480:17:90","overrides":{"id":60565,"nodeType":"OverrideSpecifier","overrides":[],"src":"1538:8:90"},"parameters":{"id":60564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60563,"mutability":"mutable","name":"interfaceId","nameLocation":"1505:11:90","nodeType":"VariableDeclaration","scope":60582,"src":"1498:18:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":60562,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1498:6:90","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1497:20:90"},"returnParameters":{"id":60568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60567,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60582,"src":"1556:4:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60566,"name":"bool","nodeType":"ElementaryTypeName","src":"1556:4:90","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1555:6:90"},"scope":60583,"stateMutability":"view","virtual":true,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":60504,"name":"AddressWhitelistInterface","nameLocations":["509:25:90"],"nodeType":"IdentifierPath","referencedDeclaration":60790,"src":"509:25:90"},"id":60505,"nodeType":"InheritanceSpecifier","src":"509:25:90"},{"baseName":{"id":60506,"name":"ERC165","nameLocations":["536:6:90"],"nodeType":"IdentifierPath","referencedDeclaration":46592,"src":"536:6:90"},"id":60507,"nodeType":"InheritanceSpecifier","src":"536:6:90"}],"canonicalName":"DisabledAddressWhitelist","contractDependencies":[],"contractKind":"contract","documentation":{"id":60503,"nodeType":"StructuredDocumentation","src":"234:237:90","text":" @notice This contract is an implementation of AddressWhitelistInterface where the whitelist is permanently disabled.\n @dev All addresses are considered to be on this whitelist.\n @custom:security-contact bugs@umaproject.org"},"fullyImplemented":true,"linearizedBaseContracts":[60583,46592,46799,60790],"name":"DisabledAddressWhitelist","nameLocation":"481:24:90","scope":60584,"usedErrors":[60509,60511],"usedEvents":[]}],"license":"AGPL-3.0-only"}},"src/common/implementation/LockableUpgradeable.sol":{"id":91,"ast":{"absolutePath":"src/common/implementation/LockableUpgradeable.sol","id":60676,"exportedSymbols":{"Initializable":[40840],"LockableUpgradeable":[60675]},"nodeType":"SourceUnit","src":"261:3972:91","nodes":[{"id":60585,"nodeType":"PragmaDirective","src":"261:24:91","nodes":[],"literals":["solidity","^","0.8",".27"]},{"id":60587,"nodeType":"ImportDirective","src":"287:96:91","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":60676,"sourceUnit":40841,"symbolAliases":[{"foreign":{"id":60586,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40840,"src":"295:13:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60675,"nodeType":"ContractDefinition","src":"723:3509:91","nodes":[{"id":60592,"nodeType":"ErrorDefinition","src":"784:37:91","nodes":[],"errorSelector":"3ee5aeb5","name":"ReentrancyGuardReentrantCall","nameLocation":"790:28:91","parameters":{"id":60591,"nodeType":"ParameterList","parameters":[],"src":"818:2:91"}},{"id":60594,"nodeType":"VariableDeclaration","src":"827:24:91","nodes":[],"constant":false,"mutability":"mutable","name":"_notEntered","nameLocation":"840:11:91","scope":60675,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60593,"name":"bool","nodeType":"ElementaryTypeName","src":"827:4:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":60605,"nodeType":"FunctionDefinition","src":"934:489:91","nodes":[],"body":{"id":60604,"nodeType":"Block","src":"998:425:91","nodes":[],"statements":[{"expression":{"id":60602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":60600,"name":"_notEntered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60594,"src":"1398:11:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":60601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1412:4:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"1398:18:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60603,"nodeType":"ExpressionStatement","src":"1398:18:91"}]},"documentation":{"id":60595,"nodeType":"StructuredDocumentation","src":"858:71:91","text":" @notice initializes the LockableUpgradeable contract"},"implemented":true,"kind":"function","modifiers":[{"id":60598,"kind":"modifierInvocation","modifierName":{"id":60597,"name":"onlyInitializing","nameLocations":["981:16:91"],"nodeType":"IdentifierPath","referencedDeclaration":40735,"src":"981:16:91"},"nodeType":"ModifierInvocation","src":"981:16:91"}],"name":"__LockableUpgradeable_init","nameLocation":"943:26:91","parameters":{"id":60596,"nodeType":"ParameterList","parameters":[],"src":"969:2:91"},"returnParameters":{"id":60599,"nodeType":"ParameterList","parameters":[],"src":"998:0:91"},"scope":60675,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":60619,"nodeType":"ModifierDefinition","src":"1807:128:91","nodes":[],"body":{"id":60618,"nodeType":"Block","src":"1831:104:91","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":60608,"name":"_preEntranceCheck","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60637,"src":"1841:17:91","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":60609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1841:19:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60610,"nodeType":"ExpressionStatement","src":"1841:19:91"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":60611,"name":"_preEntranceSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60645,"src":"1870:15:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":60612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1870:17:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60613,"nodeType":"ExpressionStatement","src":"1870:17:91"},{"id":60614,"nodeType":"PlaceholderStatement","src":"1897:1:91"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":60615,"name":"_postEntranceReset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60653,"src":"1908:18:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":60616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1908:20:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60617,"nodeType":"ExpressionStatement","src":"1908:20:91"}]},"documentation":{"id":60606,"nodeType":"StructuredDocumentation","src":"1429:373:91","text":" @dev Prevents a contract from calling itself, directly or indirectly.\n Calling a `nonReentrant` function from another `nonReentrant` function is not supported. It is possible to\n prevent this from happening by making the `nonReentrant` function external, and making it call a `private`\n function that does the actual state modification."},"name":"nonReentrant","nameLocation":"1816:12:91","parameters":{"id":60607,"nodeType":"ParameterList","parameters":[],"src":"1828:2:91"},"virtual":false,"visibility":"internal"},{"id":60627,"nodeType":"ModifierDefinition","src":"2089:75:91","nodes":[],"body":{"id":60626,"nodeType":"Block","src":"2117:47:91","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":60622,"name":"_preEntranceCheck","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60637,"src":"2127:17:91","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":60623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2127:19:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60624,"nodeType":"ExpressionStatement","src":"2127:19:91"},{"id":60625,"nodeType":"PlaceholderStatement","src":"2156:1:91"}]},"documentation":{"id":60620,"nodeType":"StructuredDocumentation","src":"1941:143:91","text":" @dev Designed to prevent a view-only method from being re-entered during a call to a `nonReentrant()` state-changing method."},"name":"nonReentrantView","nameLocation":"2098:16:91","parameters":{"id":60621,"nodeType":"ParameterList","parameters":[],"src":"2114:2:91"},"virtual":false,"visibility":"internal"},{"id":60637,"nodeType":"FunctionDefinition","src":"2667:183:91","nodes":[],"body":{"id":60636,"nodeType":"Block","src":"2710:140:91","nodes":[],"statements":[{"expression":{"arguments":[{"id":60631,"name":"_notEntered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60594,"src":"2799:11:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":60632,"name":"ReentrancyGuardReentrantCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60592,"src":"2812:28:91","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":60633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2812:30:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":60630,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"2791:7:91","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":60634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2791:52:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60635,"nodeType":"ExpressionStatement","src":"2791:52:91"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_preEntranceCheck","nameLocation":"2676:17:91","parameters":{"id":60628,"nodeType":"ParameterList","parameters":[],"src":"2693:2:91"},"returnParameters":{"id":60629,"nodeType":"ParameterList","parameters":[],"src":"2710:0:91"},"scope":60675,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":60645,"nodeType":"FunctionDefinition","src":"2856:136:91","nodes":[],"body":{"id":60644,"nodeType":"Block","src":"2892:100:91","nodes":[],"statements":[{"expression":{"id":60642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":60640,"name":"_notEntered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60594,"src":"2966:11:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":60641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2980:5:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"2966:19:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60643,"nodeType":"ExpressionStatement","src":"2966:19:91"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_preEntranceSet","nameLocation":"2865:15:91","parameters":{"id":60638,"nodeType":"ParameterList","parameters":[],"src":"2880:2:91"},"returnParameters":{"id":60639,"nodeType":"ParameterList","parameters":[],"src":"2892:0:91"},"scope":60675,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":60653,"nodeType":"FunctionDefinition","src":"2998:206:91","nodes":[],"body":{"id":60652,"nodeType":"Block","src":"3037:167:91","nodes":[],"statements":[{"expression":{"id":60650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":60648,"name":"_notEntered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60594,"src":"3179:11:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":60649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3193:4:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3179:18:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60651,"nodeType":"ExpressionStatement","src":"3179:18:91"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_postEntranceReset","nameLocation":"3007:18:91","parameters":{"id":60646,"nodeType":"ParameterList","parameters":[],"src":"3025:2:91"},"returnParameters":{"id":60647,"nodeType":"ParameterList","parameters":[],"src":"3037:0:91"},"scope":60675,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":60661,"nodeType":"FunctionDefinition","src":"3603:84:91","nodes":[],"body":{"id":60660,"nodeType":"Block","src":"3652:35:91","nodes":[],"statements":[{"expression":{"id":60658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":60656,"name":"_notEntered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60594,"src":"3662:11:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":60657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3676:4:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3662:18:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60659,"nodeType":"ExpressionStatement","src":"3662:18:91"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_startReentrantGuardDisabled","nameLocation":"3612:28:91","parameters":{"id":60654,"nodeType":"ParameterList","parameters":[],"src":"3640:2:91"},"returnParameters":{"id":60655,"nodeType":"ParameterList","parameters":[],"src":"3652:0:91"},"scope":60675,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":60669,"nodeType":"FunctionDefinition","src":"3693:83:91","nodes":[],"body":{"id":60668,"nodeType":"Block","src":"3740:36:91","nodes":[],"statements":[{"expression":{"id":60666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":60664,"name":"_notEntered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60594,"src":"3750:11:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":60665,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3764:5:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"3750:19:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60667,"nodeType":"ExpressionStatement","src":"3750:19:91"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_endReentrantGuardDisabled","nameLocation":"3702:26:91","parameters":{"id":60662,"nodeType":"ParameterList","parameters":[],"src":"3728:2:91"},"returnParameters":{"id":60663,"nodeType":"ParameterList","parameters":[],"src":"3740:0:91"},"scope":60675,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":60674,"nodeType":"VariableDeclaration","src":"4204:25:91","nodes":[],"constant":false,"documentation":{"id":60670,"nodeType":"StructuredDocumentation","src":"3782:417:91","text":" @dev Reserve storage slots for future versions of this base contract to add state variables without affecting the\n storage layout of child contracts. Decrement the size of __gap whenever state variables are added. This is at the\n bottom of contract to make sure its always at the end of storage.\n See https://docs.openzeppelin.com/upgrades-plugins/writing-upgradeable#storage-gaps"},"mutability":"mutable","name":"__gap","nameLocation":"4224:5:91","scope":60675,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$49_storage","typeString":"uint256[49]"},"typeName":{"baseType":{"id":60671,"name":"uint256","nodeType":"ElementaryTypeName","src":"4204:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":60673,"length":{"hexValue":"3439","id":60672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4212:2:91","typeDescriptions":{"typeIdentifier":"t_rational_49_by_1","typeString":"int_const 49"},"value":"49"},"nodeType":"ArrayTypeName","src":"4204:11:91","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$49_storage_ptr","typeString":"uint256[49]"}},"visibility":"private"}],"abstract":true,"baseContracts":[{"baseName":{"id":60589,"name":"Initializable","nameLocations":["764:13:91"],"nodeType":"IdentifierPath","referencedDeclaration":40840,"src":"764:13:91"},"id":60590,"nodeType":"InheritanceSpecifier","src":"764:13:91"}],"canonicalName":"LockableUpgradeable","contractDependencies":[],"contractKind":"contract","documentation":{"id":60588,"nodeType":"StructuredDocumentation","src":"385:337:91","text":" @title A contract that provides modifiers to prevent reentrancy to state-changing and view-only methods. This contract\n is inspired by https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/ReentrancyGuard.sol\n and https://github.com/balancer-labs/balancer-core/blob/master/contracts/BPool.sol."},"fullyImplemented":true,"linearizedBaseContracts":[60675,40840],"name":"LockableUpgradeable","nameLocation":"741:19:91","scope":60676,"usedErrors":[40589,40592,60592],"usedEvents":[40597]}],"license":"AGPL-3.0-only"}},"src/common/implementation/MultiCaller.sol":{"id":92,"ast":{"absolutePath":"src/common/implementation/MultiCaller.sol","id":60760,"exportedSymbols":{"MultiCaller":[60759]},"nodeType":"SourceUnit","src":"240:2118:92","nodes":[{"id":60677,"nodeType":"PragmaDirective","src":"240:23:92","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":60759,"nodeType":"ContractDefinition","src":"664:1693:92","nodes":[{"id":60753,"nodeType":"FunctionDefinition","src":"700:1201:92","nodes":[],"body":{"id":60752,"nodeType":"Block","src":"784:1117:92","nodes":[],"statements":[{"expression":{"id":60694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":60687,"name":"results","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60685,"src":"794:7:92","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":60691,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60681,"src":"816:4:92","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},"id":60692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"821:6:92","memberName":"length","nodeType":"MemberAccess","src":"816:11:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":60690,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"804:11:92","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory[] memory)"},"typeName":{"baseType":{"id":60688,"name":"bytes","nodeType":"ElementaryTypeName","src":"808:5:92","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":60689,"nodeType":"ArrayTypeName","src":"808:7:92","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}}},"id":60693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"804:24:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"src":"794:34:92","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":60695,"nodeType":"ExpressionStatement","src":"794:34:92"},{"body":{"id":60750,"nodeType":"Block","src":"880:1015:92","statements":[{"assignments":[60708,60710],"declarations":[{"constant":false,"id":60708,"mutability":"mutable","name":"success","nameLocation":"1463:7:92","nodeType":"VariableDeclaration","scope":60750,"src":"1458:12:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60707,"name":"bool","nodeType":"ElementaryTypeName","src":"1458:4:92","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":60710,"mutability":"mutable","name":"result","nameLocation":"1485:6:92","nodeType":"VariableDeclaration","scope":60750,"src":"1472:19:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":60709,"name":"bytes","nodeType":"ElementaryTypeName","src":"1472:5:92","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"documentation":"@custom:oz-upgrades-unsafe-allow delegatecall","id":60720,"initialValue":{"arguments":[{"baseExpression":{"id":60716,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60681,"src":"1522:4:92","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},"id":60718,"indexExpression":{"id":60717,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60697,"src":"1527:1:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1522:7:92","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"arguments":[{"id":60713,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1503:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_MultiCaller_$60759","typeString":"contract MultiCaller"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MultiCaller_$60759","typeString":"contract MultiCaller"}],"id":60712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1495:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60711,"name":"address","nodeType":"ElementaryTypeName","src":"1495:7:92","typeDescriptions":{}}},"id":60714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1495:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":60715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1509:12:92","memberName":"delegatecall","nodeType":"MemberAccess","src":"1495:26:92","typeDescriptions":{"typeIdentifier":"t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bool,bytes memory)"}},"id":60719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1495:35:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"1457:73:92"},{"condition":{"id":60722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1549:8:92","subExpression":{"id":60721,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60708,"src":"1550:7:92","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60743,"nodeType":"IfStatement","src":"1545:306:92","trueBody":{"id":60742,"nodeType":"Block","src":"1559:292:92","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":60723,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60710,"src":"1661:6:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":60724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1668:6:92","memberName":"length","nodeType":"MemberAccess","src":"1661:13:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"3638","id":60725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1677:2:92","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"68"},"src":"1661:18:92","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60730,"nodeType":"IfStatement","src":"1657:32:92","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":60727,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"1681:6:92","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$__$returns$__$","typeString":"function () pure"}},"id":60728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1681:8:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60729,"nodeType":"ExpressionStatement","src":"1681:8:92"}},{"AST":{"nativeSrc":"1716:67:92","nodeType":"YulBlock","src":"1716:67:92","statements":[{"nativeSrc":"1738:27:92","nodeType":"YulAssignment","src":"1738:27:92","value":{"arguments":[{"name":"result","nativeSrc":"1752:6:92","nodeType":"YulIdentifier","src":"1752:6:92"},{"kind":"number","nativeSrc":"1760:4:92","nodeType":"YulLiteral","src":"1760:4:92","type":"","value":"0x04"}],"functionName":{"name":"add","nativeSrc":"1748:3:92","nodeType":"YulIdentifier","src":"1748:3:92"},"nativeSrc":"1748:17:92","nodeType":"YulFunctionCall","src":"1748:17:92"},"variableNames":[{"name":"result","nativeSrc":"1738:6:92","nodeType":"YulIdentifier","src":"1738:6:92"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":60710,"isOffset":false,"isSlot":false,"src":"1738:6:92","valueSize":1},{"declaration":60710,"isOffset":false,"isSlot":false,"src":"1752:6:92","valueSize":1}],"id":60731,"nodeType":"InlineAssembly","src":"1707:76:92"},{"expression":{"arguments":[{"arguments":[{"id":60735,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60710,"src":"1818:6:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":60737,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1827:6:92","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":60736,"name":"string","nodeType":"ElementaryTypeName","src":"1827:6:92","typeDescriptions":{}}}],"id":60738,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1826:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":60733,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1807:3:92","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":60734,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1811:6:92","memberName":"decode","nodeType":"MemberAccess","src":"1807:10:92","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":60739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1807:28:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":60732,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"1800:6:92","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":60740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1800:36:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60741,"nodeType":"ExpressionStatement","src":"1800:36:92"}]}},{"expression":{"id":60748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":60744,"name":"results","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60685,"src":"1865:7:92","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":60746,"indexExpression":{"id":60745,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60697,"src":"1873:1:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1865:10:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":60747,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60710,"src":"1878:6:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1865:19:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":60749,"nodeType":"ExpressionStatement","src":"1865:19:92"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60700,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60697,"src":"858:1:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":60701,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60681,"src":"862:4:92","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},"id":60702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"867:6:92","memberName":"length","nodeType":"MemberAccess","src":"862:11:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"858:15:92","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60751,"initializationExpression":{"assignments":[60697],"declarations":[{"constant":false,"id":60697,"mutability":"mutable","name":"i","nameLocation":"851:1:92","nodeType":"VariableDeclaration","scope":60751,"src":"843:9:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60696,"name":"uint256","nodeType":"ElementaryTypeName","src":"843:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60699,"initialValue":{"hexValue":"30","id":60698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"855:1:92","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"843:13:92"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":60705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"875:3:92","subExpression":{"id":60704,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60697,"src":"875:1:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":60706,"nodeType":"ExpressionStatement","src":"875:3:92"},"nodeType":"ForStatement","src":"838:1057:92"}]},"functionSelector":"ac9650d8","implemented":true,"kind":"function","modifiers":[],"name":"multicall","nameLocation":"709:9:92","parameters":{"id":60682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60681,"mutability":"mutable","name":"data","nameLocation":"736:4:92","nodeType":"VariableDeclaration","scope":60753,"src":"719:21:92","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":60679,"name":"bytes","nodeType":"ElementaryTypeName","src":"719:5:92","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":60680,"nodeType":"ArrayTypeName","src":"719:7:92","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"718:23:92"},"returnParameters":{"id":60686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60685,"mutability":"mutable","name":"results","nameLocation":"775:7:92","nodeType":"VariableDeclaration","scope":60753,"src":"760:22:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":60683,"name":"bytes","nodeType":"ElementaryTypeName","src":"760:5:92","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":60684,"nodeType":"ArrayTypeName","src":"760:7:92","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"759:24:92"},"scope":60759,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":60758,"nodeType":"VariableDeclaration","src":"2329:25:92","nodes":[],"constant":false,"documentation":{"id":60754,"nodeType":"StructuredDocumentation","src":"1907:417:92","text":" @dev Reserve storage slots for future versions of this base contract to add state variables without affecting the\n storage layout of child contracts. Decrement the size of __gap whenever state variables are added. This is at the\n bottom of contract to make sure its always at the end of storage.\n See https://docs.openzeppelin.com/upgrades-plugins/writing-upgradeable#storage-gaps"},"mutability":"mutable","name":"__gap","nameLocation":"2349:5:92","scope":60759,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":60755,"name":"uint256","nodeType":"ElementaryTypeName","src":"2329:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":60757,"length":{"hexValue":"3530","id":60756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2337:2:92","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"2329:11:92","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":true,"baseContracts":[],"canonicalName":"MultiCaller","contractDependencies":[],"contractKind":"contract","documentation":{"id":60678,"nodeType":"StructuredDocumentation","src":"265:398:92","text":" @title MultiCaller\n @notice Logic is 100% copied from \"@uma/core/contracts/common/implementation/MultiCaller.sol\" but a\n comment is added to clarify why we allow delegatecall() in this contract, which is typically unsafe for use in\n upgradeable implementation contracts.\n @dev See https://docs.openzeppelin.com/upgrades-plugins/1.x/faq#delegatecall-selfdestruct for more details."},"fullyImplemented":true,"linearizedBaseContracts":[60759],"name":"MultiCaller","nameLocation":"682:11:92","scope":60760,"usedErrors":[],"usedEvents":[]}],"license":"AGPL-3.0-only"}},"src/common/interfaces/AddressWhitelistInterface.sol":{"id":93,"ast":{"absolutePath":"src/common/interfaces/AddressWhitelistInterface.sol","id":60791,"exportedSymbols":{"AddressWhitelistInterface":[60790]},"nodeType":"SourceUnit","src":"259:401:93","nodes":[{"id":60761,"nodeType":"PragmaDirective","src":"259:23:93","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":60790,"nodeType":"ContractDefinition","src":"284:375:93","nodes":[{"id":60766,"nodeType":"FunctionDefinition","src":"326:53:93","nodes":[],"functionSelector":"e43252d7","implemented":false,"kind":"function","modifiers":[],"name":"addToWhitelist","nameLocation":"335:14:93","parameters":{"id":60764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60763,"mutability":"mutable","name":"newElement","nameLocation":"358:10:93","nodeType":"VariableDeclaration","scope":60766,"src":"350:18:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60762,"name":"address","nodeType":"ElementaryTypeName","src":"350:7:93","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"349:20:93"},"returnParameters":{"id":60765,"nodeType":"ParameterList","parameters":[],"src":"378:0:93"},"scope":60790,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":60771,"nodeType":"FunctionDefinition","src":"385:58:93","nodes":[],"functionSelector":"8ab1d681","implemented":false,"kind":"function","modifiers":[],"name":"removeFromWhitelist","nameLocation":"394:19:93","parameters":{"id":60769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60768,"mutability":"mutable","name":"newElement","nameLocation":"422:10:93","nodeType":"VariableDeclaration","scope":60771,"src":"414:18:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60767,"name":"address","nodeType":"ElementaryTypeName","src":"414:7:93","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"413:20:93"},"returnParameters":{"id":60770,"nodeType":"ParameterList","parameters":[],"src":"442:0:93"},"scope":60790,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":60778,"nodeType":"FunctionDefinition","src":"449:72:93","nodes":[],"functionSelector":"3a3ab672","implemented":false,"kind":"function","modifiers":[],"name":"isOnWhitelist","nameLocation":"458:13:93","parameters":{"id":60774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60773,"mutability":"mutable","name":"newElement","nameLocation":"480:10:93","nodeType":"VariableDeclaration","scope":60778,"src":"472:18:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60772,"name":"address","nodeType":"ElementaryTypeName","src":"472:7:93","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"471:20:93"},"returnParameters":{"id":60777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60776,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60778,"src":"515:4:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60775,"name":"bool","nodeType":"ElementaryTypeName","src":"515:4:93","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"514:6:93"},"scope":60790,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":60784,"nodeType":"FunctionDefinition","src":"527:65:93","nodes":[],"functionSelector":"d01f63f5","implemented":false,"kind":"function","modifiers":[],"name":"getWhitelist","nameLocation":"536:12:93","parameters":{"id":60779,"nodeType":"ParameterList","parameters":[],"src":"548:2:93"},"returnParameters":{"id":60783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60782,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60784,"src":"574:16:93","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":60780,"name":"address","nodeType":"ElementaryTypeName","src":"574:7:93","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":60781,"nodeType":"ArrayTypeName","src":"574:9:93","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"573:18:93"},"scope":60790,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":60789,"nodeType":"FunctionDefinition","src":"598:59:93","nodes":[],"functionSelector":"184d69ab","implemented":false,"kind":"function","modifiers":[],"name":"isWhitelistEnabled","nameLocation":"607:18:93","parameters":{"id":60785,"nodeType":"ParameterList","parameters":[],"src":"625:2:93"},"returnParameters":{"id":60788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60787,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60789,"src":"651:4:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60786,"name":"bool","nodeType":"ElementaryTypeName","src":"651:4:93","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"650:6:93"},"scope":60790,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"AddressWhitelistInterface","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[60790],"name":"AddressWhitelistInterface","nameLocation":"294:25:93","scope":60791,"usedErrors":[],"usedEvents":[]}],"license":"AGPL-3.0-only"}},"src/common/interfaces/FixedPointInterface.sol":{"id":94,"ast":{"absolutePath":"src/common/interfaces/FixedPointInterface.sol","id":60798,"exportedSymbols":{"FixedPointInterface":[60797]},"nodeType":"SourceUnit","src":"445:177:94","nodes":[{"id":60792,"nodeType":"PragmaDirective","src":"445:23:94","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":60797,"nodeType":"ContractDefinition","src":"534:87:94","nodes":[{"id":60796,"nodeType":"StructDefinition","src":"570:49:94","nodes":[],"canonicalName":"FixedPointInterface.Unsigned","members":[{"constant":false,"id":60795,"mutability":"mutable","name":"rawValue","nameLocation":"604:8:94","nodeType":"VariableDeclaration","scope":60796,"src":"596:16:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60794,"name":"uint256","nodeType":"ElementaryTypeName","src":"596:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Unsigned","nameLocation":"577:8:94","scope":60797,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"FixedPointInterface","contractDependencies":[],"contractKind":"interface","documentation":{"id":60793,"nodeType":"StructuredDocumentation","src":"470:63:94","text":" @title Interface for fixed point arithmetic on uints"},"fullyImplemented":true,"linearizedBaseContracts":[60797],"name":"FixedPointInterface","nameLocation":"544:19:94","scope":60798,"usedErrors":[],"usedEvents":[]}],"license":"AGPL-3.0-only"}},"src/data-verification-mechanism/interfaces/StoreInterface.sol":{"id":95,"ast":{"absolutePath":"src/data-verification-mechanism/interfaces/StoreInterface.sol","id":60845,"exportedSymbols":{"FixedPointInterface":[60797],"IERC20":[43048],"StoreInterface":[60844]},"nodeType":"SourceUnit","src":"346:2131:95","nodes":[{"id":60799,"nodeType":"PragmaDirective","src":"346:23:95","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":60801,"nodeType":"ImportDirective","src":"371:70:95","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":60845,"sourceUnit":43049,"symbolAliases":[{"foreign":{"id":60800,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"379:6:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60803,"nodeType":"ImportDirective","src":"442:84:95","nodes":[],"absolutePath":"src/common/interfaces/FixedPointInterface.sol","file":"../../common/interfaces/FixedPointInterface.sol","nameLocation":"-1:-1:-1","scope":60845,"sourceUnit":60798,"symbolAliases":[{"foreign":{"id":60802,"name":"FixedPointInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60797,"src":"450:19:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60844,"nodeType":"ContractDefinition","src":"636:1840:95","nodes":[{"id":60808,"nodeType":"FunctionDefinition","src":"802:42:95","nodes":[],"documentation":{"id":60805,"nodeType":"StructuredDocumentation","src":"667:130:95","text":" @notice Pays Oracle fees in ETH to the store.\n @dev To be used by contracts whose margin currency is ETH."},"functionSelector":"cd3a9b24","implemented":false,"kind":"function","modifiers":[],"name":"payOracleFees","nameLocation":"811:13:95","parameters":{"id":60806,"nodeType":"ParameterList","parameters":[],"src":"824:2:95"},"returnParameters":{"id":60807,"nodeType":"ParameterList","parameters":[],"src":"843:0:95"},"scope":60844,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":60817,"nodeType":"FunctionDefinition","src":"1206:105:95","nodes":[],"documentation":{"id":60809,"nodeType":"StructuredDocumentation","src":"850:351:95","text":" @notice Pays oracle fees in the margin currency, erc20Address, to the store.\n @dev To be used if the margin currency is an ERC20 token rather than ETH.\n @param erc20Address address of the ERC20 token used to pay the fee.\n @param amount number of tokens to transfer. An approval for at least this amount must exist."},"functionSelector":"8659d232","implemented":false,"kind":"function","modifiers":[],"name":"payOracleFeesErc20","nameLocation":"1215:18:95","parameters":{"id":60815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60811,"mutability":"mutable","name":"erc20Address","nameLocation":"1242:12:95","nodeType":"VariableDeclaration","scope":60817,"src":"1234:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60810,"name":"address","nodeType":"ElementaryTypeName","src":"1234:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":60814,"mutability":"mutable","name":"amount","nameLocation":"1294:6:95","nodeType":"VariableDeclaration","scope":60817,"src":"1256:44:95","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_calldata_ptr","typeString":"struct FixedPointInterface.Unsigned"},"typeName":{"id":60813,"nodeType":"UserDefinedTypeName","pathNode":{"id":60812,"name":"FixedPointInterface.Unsigned","nameLocations":["1256:19:95","1276:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":60796,"src":"1256:28:95"},"referencedDeclaration":60796,"src":"1256:28:95","typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_storage_ptr","typeString":"struct FixedPointInterface.Unsigned"}},"visibility":"internal"}],"src":"1233:68:95"},"returnParameters":{"id":60816,"nodeType":"ParameterList","parameters":[],"src":"1310:0:95"},"scope":60844,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":60834,"nodeType":"FunctionDefinition","src":"1919:250:95","nodes":[],"documentation":{"id":60818,"nodeType":"StructuredDocumentation","src":"1317:597:95","text":" @notice Computes the regular oracle fees that a contract should pay for a period.\n @param startTime defines the beginning time from which the fee is paid.\n @param endTime end time until which the fee is paid.\n @param pfc \"profit from corruption\", or the maximum amount of margin currency that a\n token sponsor could extract from the contract through corrupting the price feed in their favor.\n @return regularFee amount owed for the duration from start to end time for the given pfc.\n @return latePenalty for paying the fee after the deadline."},"functionSelector":"74201feb","implemented":false,"kind":"function","modifiers":[],"name":"computeRegularFee","nameLocation":"1928:17:95","parameters":{"id":60826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60820,"mutability":"mutable","name":"startTime","nameLocation":"1954:9:95","nodeType":"VariableDeclaration","scope":60834,"src":"1946:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60819,"name":"uint256","nodeType":"ElementaryTypeName","src":"1946:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":60822,"mutability":"mutable","name":"endTime","nameLocation":"1973:7:95","nodeType":"VariableDeclaration","scope":60834,"src":"1965:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60821,"name":"uint256","nodeType":"ElementaryTypeName","src":"1965:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":60825,"mutability":"mutable","name":"pfc","nameLocation":"2020:3:95","nodeType":"VariableDeclaration","scope":60834,"src":"1982:41:95","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_calldata_ptr","typeString":"struct FixedPointInterface.Unsigned"},"typeName":{"id":60824,"nodeType":"UserDefinedTypeName","pathNode":{"id":60823,"name":"FixedPointInterface.Unsigned","nameLocations":["1982:19:95","2002:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":60796,"src":"1982:28:95"},"referencedDeclaration":60796,"src":"1982:28:95","typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_storage_ptr","typeString":"struct FixedPointInterface.Unsigned"}},"visibility":"internal"}],"src":"1945:79:95"},"returnParameters":{"id":60833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60829,"mutability":"mutable","name":"regularFee","nameLocation":"2108:10:95","nodeType":"VariableDeclaration","scope":60834,"src":"2072:46:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_memory_ptr","typeString":"struct FixedPointInterface.Unsigned"},"typeName":{"id":60828,"nodeType":"UserDefinedTypeName","pathNode":{"id":60827,"name":"FixedPointInterface.Unsigned","nameLocations":["2072:19:95","2092:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":60796,"src":"2072:28:95"},"referencedDeclaration":60796,"src":"2072:28:95","typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_storage_ptr","typeString":"struct FixedPointInterface.Unsigned"}},"visibility":"internal"},{"constant":false,"id":60832,"mutability":"mutable","name":"latePenalty","nameLocation":"2156:11:95","nodeType":"VariableDeclaration","scope":60834,"src":"2120:47:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_memory_ptr","typeString":"struct FixedPointInterface.Unsigned"},"typeName":{"id":60831,"nodeType":"UserDefinedTypeName","pathNode":{"id":60830,"name":"FixedPointInterface.Unsigned","nameLocations":["2120:19:95","2140:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":60796,"src":"2120:28:95"},"referencedDeclaration":60796,"src":"2120:28:95","typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_storage_ptr","typeString":"struct FixedPointInterface.Unsigned"}},"visibility":"internal"}],"src":"2071:97:95"},"scope":60844,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":60843,"nodeType":"FunctionDefinition","src":"2371:103:95","nodes":[],"documentation":{"id":60835,"nodeType":"StructuredDocumentation","src":"2175:191:95","text":" @notice Computes the final oracle fees that a contract should pay at settlement.\n @param currency token used to pay the final fee.\n @return finalFee amount due."},"functionSelector":"5b97aadd","implemented":false,"kind":"function","modifiers":[],"name":"computeFinalFee","nameLocation":"2380:15:95","parameters":{"id":60838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60837,"mutability":"mutable","name":"currency","nameLocation":"2404:8:95","nodeType":"VariableDeclaration","scope":60843,"src":"2396:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60836,"name":"address","nodeType":"ElementaryTypeName","src":"2396:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2395:18:95"},"returnParameters":{"id":60842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60841,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60843,"src":"2437:35:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_memory_ptr","typeString":"struct FixedPointInterface.Unsigned"},"typeName":{"id":60840,"nodeType":"UserDefinedTypeName","pathNode":{"id":60839,"name":"FixedPointInterface.Unsigned","nameLocations":["2437:19:95","2457:8:95"],"nodeType":"IdentifierPath","referencedDeclaration":60796,"src":"2437:28:95"},"referencedDeclaration":60796,"src":"2437:28:95","typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_storage_ptr","typeString":"struct FixedPointInterface.Unsigned"}},"visibility":"internal"}],"src":"2436:37:95"},"scope":60844,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"StoreInterface","contractDependencies":[],"contractKind":"interface","documentation":{"id":60804,"nodeType":"StructuredDocumentation","src":"528:107:95","text":" @title Interface that allows financial contracts to pay oracle fees for their use of the system."},"fullyImplemented":false,"linearizedBaseContracts":[60844],"name":"StoreInterface","nameLocation":"646:14:95","scope":60845,"usedErrors":[],"usedEvents":[]}],"license":"AGPL-3.0-only"}},"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol":{"id":96,"ast":{"absolutePath":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol","id":61772,"exportedSymbols":{"AddressWhitelistInterface":[60790],"ERC165Checker":[46787],"IERC20":[43048],"ManagedOptimisticOracleV2":[61771],"ManagedOptimisticOracleV2Interface":[63637],"MultiCaller":[60759],"OptimisticOracleV2":[63544]},"nodeType":"SourceUnit","src":"42:22410:96","nodes":[{"id":60846,"nodeType":"PragmaDirective","src":"42:24:96","nodes":[],"literals":["solidity","^","0.8",".27"]},{"id":60848,"nodeType":"ImportDirective","src":"68:92:96","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165Checker.sol","nameLocation":"-1:-1:-1","scope":61772,"sourceUnit":46788,"symbolAliases":[{"foreign":{"id":60847,"name":"ERC165Checker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46787,"src":"76:13:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60850,"nodeType":"ImportDirective","src":"161:70:96","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":61772,"sourceUnit":43049,"symbolAliases":[{"foreign":{"id":60849,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"169:6:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60852,"nodeType":"ImportDirective","src":"233:96:96","nodes":[],"absolutePath":"src/common/interfaces/AddressWhitelistInterface.sol","file":"../../common/interfaces/AddressWhitelistInterface.sol","nameLocation":"-1:-1:-1","scope":61772,"sourceUnit":60791,"symbolAliases":[{"foreign":{"id":60851,"name":"AddressWhitelistInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60790,"src":"241:25:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60854,"nodeType":"ImportDirective","src":"330:104:96","nodes":[],"absolutePath":"src/optimistic-oracle-v2/interfaces/ManagedOptimisticOracleV2Interface.sol","file":"../interfaces/ManagedOptimisticOracleV2Interface.sol","nameLocation":"-1:-1:-1","scope":61772,"sourceUnit":63638,"symbolAliases":[{"foreign":{"id":60853,"name":"ManagedOptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63637,"src":"338:34:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60856,"nodeType":"ImportDirective","src":"435:72:96","nodes":[],"absolutePath":"src/common/implementation/MultiCaller.sol","file":"../../common/implementation/MultiCaller.sol","nameLocation":"-1:-1:-1","scope":61772,"sourceUnit":60760,"symbolAliases":[{"foreign":{"id":60855,"name":"MultiCaller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60759,"src":"443:11:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60858,"nodeType":"ImportDirective","src":"508:60:96","nodes":[],"absolutePath":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol","file":"./OptimisticOracleV2.sol","nameLocation":"-1:-1:-1","scope":61772,"sourceUnit":63545,"symbolAliases":[{"foreign":{"id":60857,"name":"OptimisticOracleV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63544,"src":"516:18:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61771,"nodeType":"ContractDefinition","src":"769:21682:96","nodes":[{"id":60870,"nodeType":"StructDefinition","src":"881:82:96","nodes":[],"canonicalName":"ManagedOptimisticOracleV2.BondRange","members":[{"constant":false,"id":60867,"mutability":"mutable","name":"minimumBond","nameLocation":"916:11:96","nodeType":"VariableDeclaration","scope":60870,"src":"908:19:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":60866,"name":"uint128","nodeType":"ElementaryTypeName","src":"908:7:96","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":false,"id":60869,"mutability":"mutable","name":"maximumBond","nameLocation":"945:11:96","nodeType":"VariableDeclaration","scope":60870,"src":"937:19:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":60868,"name":"uint128","nodeType":"ElementaryTypeName","src":"937:7:96","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"name":"BondRange","nameLocation":"888:9:96","scope":61771,"visibility":"public"},{"id":60877,"nodeType":"StructDefinition","src":"969:82:96","nodes":[],"canonicalName":"ManagedOptimisticOracleV2.CurrencyBondRange","members":[{"constant":false,"id":60873,"mutability":"mutable","name":"currency","nameLocation":"1011:8:96","nodeType":"VariableDeclaration","scope":60877,"src":"1004:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},"typeName":{"id":60872,"nodeType":"UserDefinedTypeName","pathNode":{"id":60871,"name":"IERC20","nameLocations":["1004:6:96"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"1004:6:96"},"referencedDeclaration":43048,"src":"1004:6:96","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":60876,"mutability":"mutable","name":"range","nameLocation":"1039:5:96","nodeType":"VariableDeclaration","scope":60877,"src":"1029:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange"},"typeName":{"id":60875,"nodeType":"UserDefinedTypeName","pathNode":{"id":60874,"name":"BondRange","nameLocations":["1029:9:96"],"nodeType":"IdentifierPath","referencedDeclaration":60870,"src":"1029:9:96"},"referencedDeclaration":60870,"src":"1029:9:96","typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange"}},"visibility":"internal"}],"name":"CurrencyBondRange","nameLocation":"976:17:96","scope":61771,"visibility":"public"},{"id":60882,"nodeType":"StructDefinition","src":"1057:185:96","nodes":[],"canonicalName":"ManagedOptimisticOracleV2.CustomBond","members":[{"constant":false,"id":60879,"mutability":"mutable","name":"amount","nameLocation":"1093:6:96","nodeType":"VariableDeclaration","scope":60882,"src":"1085:14:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60878,"name":"uint256","nodeType":"ElementaryTypeName","src":"1085:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":60881,"mutability":"mutable","name":"isSet","nameLocation":"1230:5:96","nodeType":"VariableDeclaration","scope":60882,"src":"1225:10:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60880,"name":"bool","nodeType":"ElementaryTypeName","src":"1225:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"CustomBond","nameLocation":"1064:10:96","scope":61771,"visibility":"public"},{"id":60887,"nodeType":"StructDefinition","src":"1248:193:96","nodes":[],"canonicalName":"ManagedOptimisticOracleV2.CustomLiveness","members":[{"constant":false,"id":60884,"mutability":"mutable","name":"liveness","nameLocation":"1288:8:96","nodeType":"VariableDeclaration","scope":60887,"src":"1280:16:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60883,"name":"uint256","nodeType":"ElementaryTypeName","src":"1280:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":60886,"mutability":"mutable","name":"isSet","nameLocation":"1429:5:96","nodeType":"VariableDeclaration","scope":60887,"src":"1424:10:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60885,"name":"bool","nodeType":"ElementaryTypeName","src":"1424:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"CustomLiveness","nameLocation":"1255:14:96","scope":61771,"visibility":"public"},{"id":60892,"nodeType":"VariableDeclaration","src":"1541:74:96","nodes":[],"constant":true,"functionSelector":"c78ef28c","mutability":"constant","name":"CONFIG_ADMIN_ROLE","nameLocation":"1565:17:96","scope":61771,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":60888,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1541:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f4e4649475f41444d494e5f524f4c45","id":60890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1595:19:96","typeDescriptions":{"typeIdentifier":"t_stringliteral_b92d52e77ebaa0cae5c23e882d85609efbcb44029214147dd132daf9ef1018af","typeString":"literal_string \"CONFIG_ADMIN_ROLE\""},"value":"CONFIG_ADMIN_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b92d52e77ebaa0cae5c23e882d85609efbcb44029214147dd132daf9ef1018af","typeString":"literal_string \"CONFIG_ADMIN_ROLE\""}],"id":60889,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1585:9:96","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":60891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1585:30:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":60897,"nodeType":"VariableDeclaration","src":"1734:80:96","nodes":[],"constant":true,"functionSelector":"f38fdc02","mutability":"constant","name":"REQUEST_MANAGER_ROLE","nameLocation":"1758:20:96","scope":61771,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":60893,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1734:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"524551554553545f4d414e414745525f524f4c45","id":60895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1791:22:96","typeDescriptions":{"typeIdentifier":"t_stringliteral_27b8807ed0d425f20d0c4bc217dc8c5223cdf4dda073a600a26677d83eb2fb53","typeString":"literal_string \"REQUEST_MANAGER_ROLE\""},"value":"REQUEST_MANAGER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_27b8807ed0d425f20d0c4bc217dc8c5223cdf4dda073a600a26677d83eb2fb53","typeString":"literal_string \"REQUEST_MANAGER_ROLE\""}],"id":60894,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1781:9:96","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":60896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1781:33:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":60900,"nodeType":"VariableDeclaration","src":"1861:57:96","nodes":[],"constant":false,"functionSelector":"ab328fb2","mutability":"mutable","name":"defaultProposerWhitelist","nameLocation":"1894:24:96","scope":61771,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"},"typeName":{"id":60899,"nodeType":"UserDefinedTypeName","pathNode":{"id":60898,"name":"AddressWhitelistInterface","nameLocations":["1861:25:96"],"nodeType":"IdentifierPath","referencedDeclaration":60790,"src":"1861:25:96"},"referencedDeclaration":60790,"src":"1861:25:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"visibility":"public"},{"id":60903,"nodeType":"VariableDeclaration","src":"1924:51:96","nodes":[],"constant":false,"functionSelector":"2589382b","mutability":"mutable","name":"requesterWhitelist","nameLocation":"1957:18:96","scope":61771,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"},"typeName":{"id":60902,"nodeType":"UserDefinedTypeName","pathNode":{"id":60901,"name":"AddressWhitelistInterface","nameLocations":["1924:25:96"],"nodeType":"IdentifierPath","referencedDeclaration":60790,"src":"1924:25:96"},"referencedDeclaration":60790,"src":"1924:25:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"visibility":"public"},{"id":60911,"nodeType":"VariableDeclaration","src":"2074:94:96","nodes":[],"constant":false,"functionSelector":"e92706c6","mutability":"mutable","name":"customBonds","nameLocation":"2157:11:96","scope":61771,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_mapping$_t_contract$_IERC20_$43048_$_t_struct$_CustomBond_$60882_storage_$_$","typeString":"mapping(bytes32 => mapping(contract IERC20 => struct ManagedOptimisticOracleV2.CustomBond))"},"typeName":{"id":60910,"keyName":"managedRequestId","keyNameLocation":"2090:16:96","keyType":{"id":60904,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2082:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"2074:75:96","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_mapping$_t_contract$_IERC20_$43048_$_t_struct$_CustomBond_$60882_storage_$_$","typeString":"mapping(bytes32 => mapping(contract IERC20 => struct ManagedOptimisticOracleV2.CustomBond))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":60909,"keyName":"currency","keyNameLocation":"2125:8:96","keyType":{"id":60906,"nodeType":"UserDefinedTypeName","pathNode":{"id":60905,"name":"IERC20","nameLocations":["2118:6:96"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"2118:6:96"},"referencedDeclaration":43048,"src":"2118:6:96","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"nodeType":"Mapping","src":"2110:38:96","typeDescriptions":{"typeIdentifier":"t_mapping$_t_contract$_IERC20_$43048_$_t_struct$_CustomBond_$60882_storage_$","typeString":"mapping(contract IERC20 => struct ManagedOptimisticOracleV2.CustomBond)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":60908,"nodeType":"UserDefinedTypeName","pathNode":{"id":60907,"name":"CustomBond","nameLocations":["2137:10:96"],"nodeType":"IdentifierPath","referencedDeclaration":60882,"src":"2137:10:96"},"referencedDeclaration":60882,"src":"2137:10:96","typeDescriptions":{"typeIdentifier":"t_struct$_CustomBond_$60882_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.CustomBond"}}}},"visibility":"public"},{"id":60916,"nodeType":"VariableDeclaration","src":"2252:79:96","nodes":[],"constant":false,"functionSelector":"afe1fcff","mutability":"mutable","name":"customLivenessValues","nameLocation":"2311:20:96","scope":61771,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_CustomLiveness_$60887_storage_$","typeString":"mapping(bytes32 => struct ManagedOptimisticOracleV2.CustomLiveness)"},"typeName":{"id":60915,"keyName":"managedRequestId","keyNameLocation":"2268:16:96","keyType":{"id":60912,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2260:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"2252:51:96","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_CustomLiveness_$60887_storage_$","typeString":"mapping(bytes32 => struct ManagedOptimisticOracleV2.CustomLiveness)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":60914,"nodeType":"UserDefinedTypeName","pathNode":{"id":60913,"name":"CustomLiveness","nameLocations":["2288:14:96"],"nodeType":"IdentifierPath","referencedDeclaration":60887,"src":"2288:14:96"},"referencedDeclaration":60887,"src":"2288:14:96","typeDescriptions":{"typeIdentifier":"t_struct$_CustomLiveness_$60887_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.CustomLiveness"}}},"visibility":"public"},{"id":60921,"nodeType":"VariableDeclaration","src":"2419:94:96","nodes":[],"constant":false,"functionSelector":"8aca6afc","mutability":"mutable","name":"customProposerWhitelists","nameLocation":"2489:24:96","scope":61771,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"mapping(bytes32 => contract AddressWhitelistInterface)"},"typeName":{"id":60920,"keyName":"managedRequestId","keyNameLocation":"2435:16:96","keyType":{"id":60917,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2427:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"2419:62:96","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"mapping(bytes32 => contract AddressWhitelistInterface)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":60919,"nodeType":"UserDefinedTypeName","pathNode":{"id":60918,"name":"AddressWhitelistInterface","nameLocations":["2455:25:96"],"nodeType":"IdentifierPath","referencedDeclaration":60790,"src":"2455:25:96"},"referencedDeclaration":60790,"src":"2455:25:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}}},"visibility":"public"},{"id":60927,"nodeType":"VariableDeclaration","src":"2702:62:96","nodes":[],"constant":false,"functionSelector":"b873c4df","mutability":"mutable","name":"allowedBondRanges","nameLocation":"2747:17:96","scope":61771,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_contract$_IERC20_$43048_$_t_struct$_BondRange_$60870_storage_$","typeString":"mapping(contract IERC20 => struct ManagedOptimisticOracleV2.BondRange)"},"typeName":{"id":60926,"keyName":"currency","keyNameLocation":"2717:8:96","keyType":{"id":60923,"nodeType":"UserDefinedTypeName","pathNode":{"id":60922,"name":"IERC20","nameLocations":["2710:6:96"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"2710:6:96"},"referencedDeclaration":43048,"src":"2710:6:96","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"nodeType":"Mapping","src":"2702:37:96","typeDescriptions":{"typeIdentifier":"t_mapping$_t_contract$_IERC20_$43048_$_t_struct$_BondRange_$60870_storage_$","typeString":"mapping(contract IERC20 => struct ManagedOptimisticOracleV2.BondRange)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":60925,"nodeType":"UserDefinedTypeName","pathNode":{"id":60924,"name":"BondRange","nameLocations":["2729:9:96"],"nodeType":"IdentifierPath","referencedDeclaration":60870,"src":"2729:9:96"},"referencedDeclaration":60870,"src":"2729:9:96","typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange"}}},"visibility":"public"},{"id":60929,"nodeType":"VariableDeclaration","src":"2849:30:96","nodes":[],"constant":false,"functionSelector":"91152f10","mutability":"mutable","name":"minimumLiveness","nameLocation":"2864:15:96","scope":61771,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60928,"name":"uint256","nodeType":"ElementaryTypeName","src":"2849:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":60937,"nodeType":"FunctionDefinition","src":"2939:53:96","nodes":[],"body":{"id":60936,"nodeType":"Block","src":"2953:39:96","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":60933,"name":"_disableInitializers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40794,"src":"2963:20:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":60934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2963:22:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60935,"nodeType":"ExpressionStatement","src":"2963:22:96"}]},"documentation":{"id":60930,"nodeType":"StructuredDocumentation","src":"2886:48:96","text":"@custom:oz-upgrades-unsafe-allow constructor"},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":60931,"nodeType":"ParameterList","parameters":[],"src":"2950:2:96"},"returnParameters":{"id":60932,"nodeType":"ParameterList","parameters":[],"src":"2953:0:96"},"scope":61771,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61014,"nodeType":"FunctionDefinition","src":"3661:1151:96","nodes":[],"body":{"id":61013,"nodeType":"Block","src":"4004:808:96","nodes":[],"statements":[{"expression":{"arguments":[{"id":60962,"name":"_defaultLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60940,"src":"4040:16:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":60963,"name":"_finderAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60942,"src":"4058:14:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60964,"name":"upgradeAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60956,"src":"4074:12:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":60961,"name":"__OptimisticOracleV2_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61936,"src":"4014:25:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_address_$returns$__$","typeString":"function (uint256,address,address)"}},"id":60965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4014:73:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60966,"nodeType":"ExpressionStatement","src":"4014:73:96"},{"expression":{"arguments":[{"id":60968,"name":"CONFIG_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60892,"src":"4280:17:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":60969,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60954,"src":"4299:11:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":60967,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[40035],"referencedDeclaration":40035,"src":"4269:10:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":60970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4269:42:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60971,"nodeType":"ExpressionStatement","src":"4269:42:96"},{"expression":{"arguments":[{"id":60973,"name":"REQUEST_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60897,"src":"4335:20:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":60974,"name":"CONFIG_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60892,"src":"4357:17:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":60972,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[40098],"referencedDeclaration":40098,"src":"4321:13:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":60975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4321:54:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60976,"nodeType":"ExpressionStatement","src":"4321:54:96"},{"expression":{"arguments":[{"id":60978,"name":"_defaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60944,"src":"4415:25:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":60977,"name":"_setDefaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61614,"src":"4386:28:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":60979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4386:55:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60980,"nodeType":"ExpressionStatement","src":"4386:55:96"},{"expression":{"arguments":[{"id":60982,"name":"_requesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60946,"src":"4474:19:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":60981,"name":"_setRequesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61635,"src":"4451:22:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":60983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4451:43:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60984,"nodeType":"ExpressionStatement","src":"4451:43:96"},{"body":{"id":61007,"nodeType":"Block","src":"4653:106:96","statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":60997,"name":"_allowedBondRanges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60950,"src":"4688:18:96","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_calldata_ptr_$dyn_calldata_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange calldata[] calldata"}},"id":60999,"indexExpression":{"id":60998,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60986,"src":"4707:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4688:21:96","typeDescriptions":{"typeIdentifier":"t_struct$_CurrencyBondRange_$60877_calldata_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange calldata"}},"id":61000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4710:8:96","memberName":"currency","nodeType":"MemberAccess","referencedDeclaration":60873,"src":"4688:30:96","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"expression":{"baseExpression":{"id":61001,"name":"_allowedBondRanges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60950,"src":"4720:18:96","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_calldata_ptr_$dyn_calldata_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange calldata[] calldata"}},"id":61003,"indexExpression":{"id":61002,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60986,"src":"4739:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4720:21:96","typeDescriptions":{"typeIdentifier":"t_struct$_CurrencyBondRange_$60877_calldata_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange calldata"}},"id":61004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4742:5:96","memberName":"range","nodeType":"MemberAccess","referencedDeclaration":60876,"src":"4720:27:96","typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_calldata_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_struct$_BondRange_$60870_calldata_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange calldata"}],"id":60996,"name":"_setAllowedBondRange","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61572,"src":"4667:20:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$43048_$_t_struct$_BondRange_$60870_calldata_ptr_$returns$__$","typeString":"function (contract IERC20,struct ManagedOptimisticOracleV2.BondRange calldata)"}},"id":61005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4667:81:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61006,"nodeType":"ExpressionStatement","src":"4667:81:96"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60989,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60986,"src":"4617:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":60990,"name":"_allowedBondRanges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60950,"src":"4621:18:96","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_calldata_ptr_$dyn_calldata_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange calldata[] calldata"}},"id":60991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4640:6:96","memberName":"length","nodeType":"MemberAccess","src":"4621:25:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4617:29:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61008,"initializationExpression":{"assignments":[60986],"declarations":[{"constant":false,"id":60986,"mutability":"mutable","name":"i","nameLocation":"4610:1:96","nodeType":"VariableDeclaration","scope":61008,"src":"4602:9:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60985,"name":"uint256","nodeType":"ElementaryTypeName","src":"4602:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":60988,"initialValue":{"hexValue":"30","id":60987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4614:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"4602:13:96"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":60994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4648:3:96","subExpression":{"id":60993,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60986,"src":"4648:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":60995,"nodeType":"ExpressionStatement","src":"4648:3:96"},"nodeType":"ForStatement","src":"4597:162:96"},{"expression":{"arguments":[{"id":61010,"name":"_minimumLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60952,"src":"4788:16:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61009,"name":"_setMinimumLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61593,"src":"4768:19:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":61011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4768:37:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61012,"nodeType":"ExpressionStatement","src":"4768:37:96"}]},"documentation":{"id":60938,"nodeType":"StructuredDocumentation","src":"2998:658:96","text":" @notice Initializer.\n @param _defaultLiveness applied to each price request.\n @param _finderAddress to use to get addresses of DVM contracts.\n @param _defaultProposerWhitelist address of the default whitelist.\n @param _requesterWhitelist address of the requester whitelist.\n @param _allowedBondRanges array of allowed bond ranges for different currencies.\n @param _minimumLiveness that can be overridden for a request.\n @param configAdmin address, which is used for managing request managers and contract parameters.\n @param upgradeAdmin address, which also can manage the config admin role."},"functionSelector":"cdb21cc6","implemented":true,"kind":"function","modifiers":[{"id":60959,"kind":"modifierInvocation","modifierName":{"id":60958,"name":"initializer","nameLocations":["3992:11:96"],"nodeType":"IdentifierPath","referencedDeclaration":40680,"src":"3992:11:96"},"nodeType":"ModifierInvocation","src":"3992:11:96"}],"name":"initialize","nameLocation":"3670:10:96","parameters":{"id":60957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60940,"mutability":"mutable","name":"_defaultLiveness","nameLocation":"3698:16:96","nodeType":"VariableDeclaration","scope":61014,"src":"3690:24:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60939,"name":"uint256","nodeType":"ElementaryTypeName","src":"3690:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":60942,"mutability":"mutable","name":"_finderAddress","nameLocation":"3732:14:96","nodeType":"VariableDeclaration","scope":61014,"src":"3724:22:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60941,"name":"address","nodeType":"ElementaryTypeName","src":"3724:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":60944,"mutability":"mutable","name":"_defaultProposerWhitelist","nameLocation":"3764:25:96","nodeType":"VariableDeclaration","scope":61014,"src":"3756:33:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60943,"name":"address","nodeType":"ElementaryTypeName","src":"3756:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":60946,"mutability":"mutable","name":"_requesterWhitelist","nameLocation":"3807:19:96","nodeType":"VariableDeclaration","scope":61014,"src":"3799:27:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60945,"name":"address","nodeType":"ElementaryTypeName","src":"3799:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":60950,"mutability":"mutable","name":"_allowedBondRanges","nameLocation":"3865:18:96","nodeType":"VariableDeclaration","scope":61014,"src":"3836:47:96","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_calldata_ptr_$dyn_calldata_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange[]"},"typeName":{"baseType":{"id":60948,"nodeType":"UserDefinedTypeName","pathNode":{"id":60947,"name":"CurrencyBondRange","nameLocations":["3836:17:96"],"nodeType":"IdentifierPath","referencedDeclaration":60877,"src":"3836:17:96"},"referencedDeclaration":60877,"src":"3836:17:96","typeDescriptions":{"typeIdentifier":"t_struct$_CurrencyBondRange_$60877_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange"}},"id":60949,"nodeType":"ArrayTypeName","src":"3836:19:96","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_storage_$dyn_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange[]"}},"visibility":"internal"},{"constant":false,"id":60952,"mutability":"mutable","name":"_minimumLiveness","nameLocation":"3901:16:96","nodeType":"VariableDeclaration","scope":61014,"src":"3893:24:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60951,"name":"uint256","nodeType":"ElementaryTypeName","src":"3893:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":60954,"mutability":"mutable","name":"configAdmin","nameLocation":"3935:11:96","nodeType":"VariableDeclaration","scope":61014,"src":"3927:19:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60953,"name":"address","nodeType":"ElementaryTypeName","src":"3927:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":60956,"mutability":"mutable","name":"upgradeAdmin","nameLocation":"3964:12:96","nodeType":"VariableDeclaration","scope":61014,"src":"3956:20:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60955,"name":"address","nodeType":"ElementaryTypeName","src":"3956:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3680:302:96"},"returnParameters":{"id":60960,"nodeType":"ParameterList","parameters":[],"src":"4004:0:96"},"scope":61771,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":61023,"nodeType":"ModifierDefinition","src":"4907:84:96","nodes":[],"body":{"id":61022,"nodeType":"Block","src":"4934:57:96","nodes":[],"statements":[{"expression":{"arguments":[{"id":61018,"name":"CONFIG_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60892,"src":"4955:17:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":61017,"name":"_checkRole","nodeType":"Identifier","overloadedDeclarations":[39491,39512],"referencedDeclaration":39491,"src":"4944:10:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$__$","typeString":"function (bytes32) view"}},"id":61019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4944:29:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61020,"nodeType":"ExpressionStatement","src":"4944:29:96"},{"id":61021,"nodeType":"PlaceholderStatement","src":"4983:1:96"}]},"documentation":{"id":61015,"nodeType":"StructuredDocumentation","src":"4818:84:96","text":" @dev Throws if called by any account other than the config admin."},"name":"onlyConfigAdmin","nameLocation":"4916:15:96","parameters":{"id":61016,"nodeType":"ParameterList","parameters":[],"src":"4931:2:96"},"virtual":false,"visibility":"internal"},{"id":61032,"nodeType":"ModifierDefinition","src":"5089:90:96","nodes":[],"body":{"id":61031,"nodeType":"Block","src":"5119:60:96","nodes":[],"statements":[{"expression":{"arguments":[{"id":61027,"name":"REQUEST_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60897,"src":"5140:20:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":61026,"name":"_checkRole","nodeType":"Identifier","overloadedDeclarations":[39491,39512],"referencedDeclaration":39491,"src":"5129:10:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$__$","typeString":"function (bytes32) view"}},"id":61028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5129:32:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61029,"nodeType":"ExpressionStatement","src":"5129:32:96"},{"id":61030,"nodeType":"PlaceholderStatement","src":"5171:1:96"}]},"documentation":{"id":61024,"nodeType":"StructuredDocumentation","src":"4997:87:96","text":" @dev Throws if called by any account other than the request manager."},"name":"onlyRequestManager","nameLocation":"5098:18:96","parameters":{"id":61025,"nodeType":"ParameterList","parameters":[],"src":"5116:2:96"},"virtual":false,"visibility":"internal"},{"id":61046,"nodeType":"FunctionDefinition","src":"5406:137:96","nodes":[],"body":{"id":61045,"nodeType":"Block","src":"5479:64:96","nodes":[],"statements":[{"expression":{"arguments":[{"id":61041,"name":"REQUEST_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60897,"src":"5499:20:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":61042,"name":"requestManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61035,"src":"5521:14:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":61040,"name":"grantRole","nodeType":"Identifier","overloadedDeclarations":[39893],"referencedDeclaration":39893,"src":"5489:9:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":61043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5489:47:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61044,"nodeType":"ExpressionStatement","src":"5489:47:96"}]},"documentation":{"id":61033,"nodeType":"StructuredDocumentation","src":"5185:216:96","text":" @notice Adds a request manager.\n @dev Only callable by the config admin (checked in grantRole of AccessControlUpgradeable).\n @param requestManager address of the request manager to set."},"functionSelector":"b6cdb8ee","implemented":true,"kind":"function","modifiers":[{"id":61038,"kind":"modifierInvocation","modifierName":{"id":61037,"name":"nonReentrant","nameLocations":["5466:12:96"],"nodeType":"IdentifierPath","referencedDeclaration":60619,"src":"5466:12:96"},"nodeType":"ModifierInvocation","src":"5466:12:96"}],"name":"addRequestManager","nameLocation":"5415:17:96","parameters":{"id":61036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61035,"mutability":"mutable","name":"requestManager","nameLocation":"5441:14:96","nodeType":"VariableDeclaration","scope":61046,"src":"5433:22:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61034,"name":"address","nodeType":"ElementaryTypeName","src":"5433:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5432:24:96"},"returnParameters":{"id":61039,"nodeType":"ParameterList","parameters":[],"src":"5479:0:96"},"scope":61771,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":61060,"nodeType":"FunctionDefinition","src":"5777:141:96","nodes":[],"body":{"id":61059,"nodeType":"Block","src":"5853:65:96","nodes":[],"statements":[{"expression":{"arguments":[{"id":61055,"name":"REQUEST_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60897,"src":"5874:20:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":61056,"name":"requestManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61049,"src":"5896:14:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":61054,"name":"revokeRole","nodeType":"Identifier","overloadedDeclarations":[39920],"referencedDeclaration":39920,"src":"5863:10:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":61057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5863:48:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61058,"nodeType":"ExpressionStatement","src":"5863:48:96"}]},"documentation":{"id":61047,"nodeType":"StructuredDocumentation","src":"5549:223:96","text":" @notice Removes a request manager.\n @dev Only callable by the config admin (checked in revokeRole of AccessControlUpgradeable).\n @param requestManager address of the request manager to remove."},"functionSelector":"1480db39","implemented":true,"kind":"function","modifiers":[{"id":61052,"kind":"modifierInvocation","modifierName":{"id":61051,"name":"nonReentrant","nameLocations":["5840:12:96"],"nodeType":"IdentifierPath","referencedDeclaration":60619,"src":"5840:12:96"},"nodeType":"ModifierInvocation","src":"5840:12:96"}],"name":"removeRequestManager","nameLocation":"5786:20:96","parameters":{"id":61050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61049,"mutability":"mutable","name":"requestManager","nameLocation":"5815:14:96","nodeType":"VariableDeclaration","scope":61060,"src":"5807:22:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61048,"name":"address","nodeType":"ElementaryTypeName","src":"5807:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5806:24:96"},"returnParameters":{"id":61053,"nodeType":"ParameterList","parameters":[],"src":"5853:0:96"},"scope":61771,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":61080,"nodeType":"FunctionDefinition","src":"6308:170:96","nodes":[],"body":{"id":61079,"nodeType":"Block","src":"6421:57:96","nodes":[],"statements":[{"expression":{"arguments":[{"id":61075,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61064,"src":"6452:8:96","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"id":61076,"name":"newRange","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61067,"src":"6462:8:96","typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_calldata_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_struct$_BondRange_$60870_calldata_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange calldata"}],"id":61074,"name":"_setAllowedBondRange","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61572,"src":"6431:20:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$43048_$_t_struct$_BondRange_$60870_calldata_ptr_$returns$__$","typeString":"function (contract IERC20,struct ManagedOptimisticOracleV2.BondRange calldata)"}},"id":61077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6431:40:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61078,"nodeType":"ExpressionStatement","src":"6431:40:96"}]},"documentation":{"id":61061,"nodeType":"StructuredDocumentation","src":"5924:379:96","text":" @notice Sets the bounds for a bond that can be set for a request.\n @dev This can be used to limit the bond amount that can be set by request managers, callable by the config admin.\n @param currency the ERC20 token used for bonding proposals and disputes. Must be approved for use with the DVM.\n @param newRange new allowed range for the bond."},"functionSelector":"5845e68a","implemented":true,"kind":"function","modifiers":[{"id":61070,"kind":"modifierInvocation","modifierName":{"id":61069,"name":"nonReentrant","nameLocations":["6392:12:96"],"nodeType":"IdentifierPath","referencedDeclaration":60619,"src":"6392:12:96"},"nodeType":"ModifierInvocation","src":"6392:12:96"},{"id":61072,"kind":"modifierInvocation","modifierName":{"id":61071,"name":"onlyConfigAdmin","nameLocations":["6405:15:96"],"nodeType":"IdentifierPath","referencedDeclaration":61023,"src":"6405:15:96"},"nodeType":"ModifierInvocation","src":"6405:15:96"}],"name":"setAllowedBondRange","nameLocation":"6317:19:96","parameters":{"id":61068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61064,"mutability":"mutable","name":"currency","nameLocation":"6344:8:96","nodeType":"VariableDeclaration","scope":61080,"src":"6337:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},"typeName":{"id":61063,"nodeType":"UserDefinedTypeName","pathNode":{"id":61062,"name":"IERC20","nameLocations":["6337:6:96"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"6337:6:96"},"referencedDeclaration":43048,"src":"6337:6:96","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":61067,"mutability":"mutable","name":"newRange","nameLocation":"6373:8:96","nodeType":"VariableDeclaration","scope":61080,"src":"6354:27:96","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_calldata_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange"},"typeName":{"id":61066,"nodeType":"UserDefinedTypeName","pathNode":{"id":61065,"name":"BondRange","nameLocations":["6354:9:96"],"nodeType":"IdentifierPath","referencedDeclaration":60870,"src":"6354:9:96"},"referencedDeclaration":60870,"src":"6354:9:96","typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange"}},"visibility":"internal"}],"src":"6336:46:96"},"returnParameters":{"id":61073,"nodeType":"ParameterList","parameters":[],"src":"6421:0:96"},"scope":61771,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":61095,"nodeType":"FunctionDefinition","src":"6757:146:96","nodes":[],"body":{"id":61094,"nodeType":"Block","src":"6849:54:96","nodes":[],"statements":[{"expression":{"arguments":[{"id":61091,"name":"_minimumLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61083,"src":"6879:16:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61090,"name":"_setMinimumLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61593,"src":"6859:19:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":61092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6859:37:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61093,"nodeType":"ExpressionStatement","src":"6859:37:96"}]},"documentation":{"id":61081,"nodeType":"StructuredDocumentation","src":"6484:268:96","text":" @notice Sets the minimum liveness that can be set for a request.\n @dev This can be used to limit the liveness period that can be set by request managers, callable by the config admin.\n @param _minimumLiveness new minimum liveness period."},"functionSelector":"32ecce9e","implemented":true,"kind":"function","modifiers":[{"id":61086,"kind":"modifierInvocation","modifierName":{"id":61085,"name":"nonReentrant","nameLocations":["6820:12:96"],"nodeType":"IdentifierPath","referencedDeclaration":60619,"src":"6820:12:96"},"nodeType":"ModifierInvocation","src":"6820:12:96"},{"id":61088,"kind":"modifierInvocation","modifierName":{"id":61087,"name":"onlyConfigAdmin","nameLocations":["6833:15:96"],"nodeType":"IdentifierPath","referencedDeclaration":61023,"src":"6833:15:96"},"nodeType":"ModifierInvocation","src":"6833:15:96"}],"name":"setMinimumLiveness","nameLocation":"6766:18:96","parameters":{"id":61084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61083,"mutability":"mutable","name":"_minimumLiveness","nameLocation":"6793:16:96","nodeType":"VariableDeclaration","scope":61095,"src":"6785:24:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61082,"name":"uint256","nodeType":"ElementaryTypeName","src":"6785:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6784:26:96"},"returnParameters":{"id":61089,"nodeType":"ParameterList","parameters":[],"src":"6849:0:96"},"scope":61771,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":61110,"nodeType":"FunctionDefinition","src":"7081:150:96","nodes":[],"body":{"id":61109,"nodeType":"Block","src":"7175:56:96","nodes":[],"statements":[{"expression":{"arguments":[{"id":61106,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61098,"src":"7214:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61105,"name":"_setDefaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61614,"src":"7185:28:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":61107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7185:39:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61108,"nodeType":"ExpressionStatement","src":"7185:39:96"}]},"documentation":{"id":61096,"nodeType":"StructuredDocumentation","src":"6909:167:96","text":" @notice Sets the default proposer whitelist.\n @dev Only callable by the config admin.\n @param whitelist address of the whitelist to set."},"functionSelector":"1fa50cef","implemented":true,"kind":"function","modifiers":[{"id":61101,"kind":"modifierInvocation","modifierName":{"id":61100,"name":"nonReentrant","nameLocations":["7146:12:96"],"nodeType":"IdentifierPath","referencedDeclaration":60619,"src":"7146:12:96"},"nodeType":"ModifierInvocation","src":"7146:12:96"},{"id":61103,"kind":"modifierInvocation","modifierName":{"id":61102,"name":"onlyConfigAdmin","nameLocations":["7159:15:96"],"nodeType":"IdentifierPath","referencedDeclaration":61023,"src":"7159:15:96"},"nodeType":"ModifierInvocation","src":"7159:15:96"}],"name":"setDefaultProposerWhitelist","nameLocation":"7090:27:96","parameters":{"id":61099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61098,"mutability":"mutable","name":"whitelist","nameLocation":"7126:9:96","nodeType":"VariableDeclaration","scope":61110,"src":"7118:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61097,"name":"address","nodeType":"ElementaryTypeName","src":"7118:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7117:19:96"},"returnParameters":{"id":61104,"nodeType":"ParameterList","parameters":[],"src":"7175:0:96"},"scope":61771,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":61125,"nodeType":"FunctionDefinition","src":"7402:138:96","nodes":[],"body":{"id":61124,"nodeType":"Block","src":"7490:50:96","nodes":[],"statements":[{"expression":{"arguments":[{"id":61121,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61113,"src":"7523:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61120,"name":"_setRequesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61635,"src":"7500:22:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":61122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7500:33:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61123,"nodeType":"ExpressionStatement","src":"7500:33:96"}]},"documentation":{"id":61111,"nodeType":"StructuredDocumentation","src":"7237:160:96","text":" @notice Sets the requester whitelist.\n @dev Only callable by the config admin.\n @param whitelist address of the whitelist to set."},"functionSelector":"6b821d06","implemented":true,"kind":"function","modifiers":[{"id":61116,"kind":"modifierInvocation","modifierName":{"id":61115,"name":"nonReentrant","nameLocations":["7461:12:96"],"nodeType":"IdentifierPath","referencedDeclaration":60619,"src":"7461:12:96"},"nodeType":"ModifierInvocation","src":"7461:12:96"},{"id":61118,"kind":"modifierInvocation","modifierName":{"id":61117,"name":"onlyConfigAdmin","nameLocations":["7474:15:96"],"nodeType":"IdentifierPath","referencedDeclaration":61023,"src":"7474:15:96"},"nodeType":"ModifierInvocation","src":"7474:15:96"}],"name":"setRequesterWhitelist","nameLocation":"7411:21:96","parameters":{"id":61114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61113,"mutability":"mutable","name":"whitelist","nameLocation":"7441:9:96","nodeType":"VariableDeclaration","scope":61125,"src":"7433:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61112,"name":"address","nodeType":"ElementaryTypeName","src":"7433:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7432:19:96"},"returnParameters":{"id":61119,"nodeType":"ParameterList","parameters":[],"src":"7490:0:96"},"scope":61771,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":61163,"nodeType":"FunctionDefinition","src":"8405:400:96","nodes":[],"body":{"id":61162,"nodeType":"Block","src":"8617:188:96","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":61146,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8668:3:96","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":61147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8672:6:96","memberName":"sender","nodeType":"MemberAccess","src":"8668:10:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61144,"name":"requesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60903,"src":"8635:18:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"id":61145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8654:13:96","memberName":"isOnWhitelist","nodeType":"MemberAccess","referencedDeclaration":60778,"src":"8635:32:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":61148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8635:44:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":61149,"name":"RequesterNotWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63552,"src":"8681:23:96","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":61150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8681:25:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":61143,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"8627:7:96","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":61151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8627:80:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61152,"nodeType":"ExpressionStatement","src":"8627:80:96"},{"expression":{"arguments":[{"id":61155,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61128,"src":"8743:10:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":61156,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61130,"src":"8755:9:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61157,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61132,"src":"8766:13:96","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":61158,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61135,"src":"8781:8:96","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"id":61159,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61137,"src":"8791:6:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61153,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"8724:5:96","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ManagedOptimisticOracleV2_$61771_$","typeString":"type(contract super ManagedOptimisticOracleV2)"}},"id":61154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8730:12:96","memberName":"requestPrice","nodeType":"MemberAccess","referencedDeclaration":62141,"src":"8724:18:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$_t_contract$_IERC20_$43048_$_t_uint256_$returns$_t_uint256_$","typeString":"function (bytes32,uint256,bytes memory,contract IERC20,uint256) returns (uint256)"}},"id":61160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8724:74:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":61142,"id":61161,"nodeType":"Return","src":"8717:81:96"}]},"baseFunctions":[62141],"documentation":{"id":61126,"nodeType":"StructuredDocumentation","src":"7546:854:96","text":" @notice Requests a new price.\n @param identifier price identifier being requested.\n @param timestamp timestamp of the price being requested.\n @param ancillaryData ancillary data representing additional args being passed with the price request.\n @param currency ERC20 token used for payment of rewards and fees. Must be approved for use with the DVM.\n @param reward reward offered to a successful proposer. Will be pulled from the caller. Note: this can be 0,\n which could make sense if the contract requests and proposes the value in the same call or\n provides its own reward system.\n @return totalBond default bond (final fee) + final fee that the proposer and disputer will be required to pay.\n This can be changed with a subsequent call to setBond()."},"functionSelector":"11df92f1","implemented":true,"kind":"function","modifiers":[],"name":"requestPrice","nameLocation":"8414:12:96","overrides":{"id":61139,"nodeType":"OverrideSpecifier","overrides":[],"src":"8580:8:96"},"parameters":{"id":61138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61128,"mutability":"mutable","name":"identifier","nameLocation":"8444:10:96","nodeType":"VariableDeclaration","scope":61163,"src":"8436:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61127,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8436:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":61130,"mutability":"mutable","name":"timestamp","nameLocation":"8472:9:96","nodeType":"VariableDeclaration","scope":61163,"src":"8464:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61129,"name":"uint256","nodeType":"ElementaryTypeName","src":"8464:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61132,"mutability":"mutable","name":"ancillaryData","nameLocation":"8504:13:96","nodeType":"VariableDeclaration","scope":61163,"src":"8491:26:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61131,"name":"bytes","nodeType":"ElementaryTypeName","src":"8491:5:96","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":61135,"mutability":"mutable","name":"currency","nameLocation":"8534:8:96","nodeType":"VariableDeclaration","scope":61163,"src":"8527:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},"typeName":{"id":61134,"nodeType":"UserDefinedTypeName","pathNode":{"id":61133,"name":"IERC20","nameLocations":["8527:6:96"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"8527:6:96"},"referencedDeclaration":43048,"src":"8527:6:96","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":61137,"mutability":"mutable","name":"reward","nameLocation":"8560:6:96","nodeType":"VariableDeclaration","scope":61163,"src":"8552:14:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61136,"name":"uint256","nodeType":"ElementaryTypeName","src":"8552:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8426:146:96"},"returnParameters":{"id":61142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61141,"mutability":"mutable","name":"totalBond","nameLocation":"8606:9:96","nodeType":"VariableDeclaration","scope":61163,"src":"8598:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61140,"name":"uint256","nodeType":"ElementaryTypeName","src":"8598:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8597:19:96"},"scope":61771,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61227,"nodeType":"FunctionDefinition","src":"9354:619:96","nodes":[],"body":{"id":61226,"nodeType":"Block","src":"9570:403:96","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":61188,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61173,"src":"9636:8:96","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}],"id":61187,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9628:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61186,"name":"address","nodeType":"ElementaryTypeName","src":"9628:7:96","typeDescriptions":{}}},"id":61189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9628:17:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61183,"name":"_getCollateralWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63443,"src":"9588:23:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_AddressWhitelist_$60496_$","typeString":"function () view returns (contract AddressWhitelist)"}},"id":61184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9588:25:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":61185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9614:13:96","memberName":"isOnWhitelist","nodeType":"MemberAccess","referencedDeclaration":60448,"src":"9588:39:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":61190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9588:58:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":61191,"name":"UnsupportedCurrency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63659,"src":"9648:19:96","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":61192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9648:21:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":61182,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"9580:7:96","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":61193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9580:90:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61194,"nodeType":"ExpressionStatement","src":"9580:90:96"},{"expression":{"arguments":[{"id":61196,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61173,"src":"9694:8:96","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"id":61197,"name":"bond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61175,"src":"9704:4:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61195,"name":"_validateBond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61704,"src":"9680:13:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_contract$_IERC20_$43048_$_t_uint256_$returns$__$","typeString":"function (contract IERC20,uint256) view"}},"id":61198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9680:29:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61199,"nodeType":"ExpressionStatement","src":"9680:29:96"},{"assignments":[61201],"declarations":[{"constant":false,"id":61201,"mutability":"mutable","name":"managedRequestId","nameLocation":"9727:16:96","nodeType":"VariableDeclaration","scope":61226,"src":"9719:24:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61200,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9719:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":61207,"initialValue":{"arguments":[{"id":61203,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61166,"src":"9766:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61204,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61168,"src":"9777:10:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":61205,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61170,"src":"9789:13:96","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":61202,"name":"getManagedRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61524,"src":"9746:19:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (address,bytes32,bytes memory) pure returns (bytes32)"}},"id":61206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9746:57:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9719:84:96"},{"expression":{"id":61215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"baseExpression":{"id":61208,"name":"customBonds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"9813:11:96","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_mapping$_t_contract$_IERC20_$43048_$_t_struct$_CustomBond_$60882_storage_$_$","typeString":"mapping(bytes32 => mapping(contract IERC20 => struct ManagedOptimisticOracleV2.CustomBond storage ref))"}},"id":61211,"indexExpression":{"id":61209,"name":"managedRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61201,"src":"9825:16:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9813:29:96","typeDescriptions":{"typeIdentifier":"t_mapping$_t_contract$_IERC20_$43048_$_t_struct$_CustomBond_$60882_storage_$","typeString":"mapping(contract IERC20 => struct ManagedOptimisticOracleV2.CustomBond storage ref)"}},"id":61212,"indexExpression":{"id":61210,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61173,"src":"9843:8:96","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9813:39:96","typeDescriptions":{"typeIdentifier":"t_struct$_CustomBond_$60882_storage","typeString":"struct ManagedOptimisticOracleV2.CustomBond storage ref"}},"id":61213,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"9853:6:96","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":60879,"src":"9813:46:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":61214,"name":"bond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61175,"src":"9862:4:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9813:53:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61216,"nodeType":"ExpressionStatement","src":"9813:53:96"},{"eventCall":{"arguments":[{"id":61218,"name":"managedRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61201,"src":"9895:16:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":61219,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61166,"src":"9913:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61220,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61168,"src":"9924:10:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":61221,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61170,"src":"9936:13:96","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":61222,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61173,"src":"9951:8:96","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"id":61223,"name":"bond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61175,"src":"9961:4:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61217,"name":"CustomBondSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63612,"src":"9881:13:96","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_contract$_IERC20_$43048_$_t_uint256_$returns$__$","typeString":"function (bytes32,address,bytes32,bytes memory,contract IERC20,uint256)"}},"id":61224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9881:85:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61225,"nodeType":"EmitStatement","src":"9876:90:96"}]},"documentation":{"id":61164,"nodeType":"StructuredDocumentation","src":"8811:538:96","text":" @notice Set the proposal bond associated with a price request.\n @dev This would also override any subsequent calls to setBond() by the requester.\n @param requester sender of the initial price request.\n @param identifier price identifier to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @param currency ERC20 token used for payment of rewards and fees. Must be approved for use with the DVM.\n @param bond custom bond amount to set."},"functionSelector":"93ae2ebd","implemented":true,"kind":"function","modifiers":[{"id":61178,"kind":"modifierInvocation","modifierName":{"id":61177,"name":"nonReentrant","nameLocations":["9538:12:96"],"nodeType":"IdentifierPath","referencedDeclaration":60619,"src":"9538:12:96"},"nodeType":"ModifierInvocation","src":"9538:12:96"},{"id":61180,"kind":"modifierInvocation","modifierName":{"id":61179,"name":"onlyRequestManager","nameLocations":["9551:18:96"],"nodeType":"IdentifierPath","referencedDeclaration":61032,"src":"9551:18:96"},"nodeType":"ModifierInvocation","src":"9551:18:96"}],"name":"requestManagerSetBond","nameLocation":"9363:21:96","parameters":{"id":61176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61166,"mutability":"mutable","name":"requester","nameLocation":"9402:9:96","nodeType":"VariableDeclaration","scope":61227,"src":"9394:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61165,"name":"address","nodeType":"ElementaryTypeName","src":"9394:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61168,"mutability":"mutable","name":"identifier","nameLocation":"9429:10:96","nodeType":"VariableDeclaration","scope":61227,"src":"9421:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61167,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9421:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":61170,"mutability":"mutable","name":"ancillaryData","nameLocation":"9462:13:96","nodeType":"VariableDeclaration","scope":61227,"src":"9449:26:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61169,"name":"bytes","nodeType":"ElementaryTypeName","src":"9449:5:96","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":61173,"mutability":"mutable","name":"currency","nameLocation":"9492:8:96","nodeType":"VariableDeclaration","scope":61227,"src":"9485:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},"typeName":{"id":61172,"nodeType":"UserDefinedTypeName","pathNode":{"id":61171,"name":"IERC20","nameLocations":["9485:6:96"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"9485:6:96"},"referencedDeclaration":43048,"src":"9485:6:96","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":61175,"mutability":"mutable","name":"bond","nameLocation":"9518:4:96","nodeType":"VariableDeclaration","scope":61227,"src":"9510:12:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61174,"name":"uint256","nodeType":"ElementaryTypeName","src":"9510:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9384:144:96"},"returnParameters":{"id":61181,"nodeType":"ParameterList","parameters":[],"src":"9570:0:96"},"scope":61771,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":61271,"nodeType":"FunctionDefinition","src":"10496:533:96","nodes":[],"body":{"id":61270,"nodeType":"Block","src":"10707:322:96","nodes":[],"statements":[{"expression":{"arguments":[{"id":61244,"name":"customLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61236,"src":"10735:14:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61243,"name":"_validateLiveness","nodeType":"Identifier","overloadedDeclarations":[61726],"referencedDeclaration":61726,"src":"10717:17:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":61245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10717:33:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61246,"nodeType":"ExpressionStatement","src":"10717:33:96"},{"assignments":[61248],"declarations":[{"constant":false,"id":61248,"mutability":"mutable","name":"managedRequestId","nameLocation":"10768:16:96","nodeType":"VariableDeclaration","scope":61270,"src":"10760:24:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61247,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10760:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":61254,"initialValue":{"arguments":[{"id":61250,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61230,"src":"10807:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61251,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61232,"src":"10818:10:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":61252,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61234,"src":"10830:13:96","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":61249,"name":"getManagedRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61524,"src":"10787:19:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (address,bytes32,bytes memory) pure returns (bytes32)"}},"id":61253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10787:57:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"10760:84:96"},{"expression":{"id":61260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":61255,"name":"customLivenessValues","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60916,"src":"10854:20:96","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_CustomLiveness_$60887_storage_$","typeString":"mapping(bytes32 => struct ManagedOptimisticOracleV2.CustomLiveness storage ref)"}},"id":61257,"indexExpression":{"id":61256,"name":"managedRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61248,"src":"10875:16:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10854:38:96","typeDescriptions":{"typeIdentifier":"t_struct$_CustomLiveness_$60887_storage","typeString":"struct ManagedOptimisticOracleV2.CustomLiveness storage ref"}},"id":61258,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"10893:8:96","memberName":"liveness","nodeType":"MemberAccess","referencedDeclaration":60884,"src":"10854:47:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":61259,"name":"customLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61236,"src":"10904:14:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10854:64:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61261,"nodeType":"ExpressionStatement","src":"10854:64:96"},{"eventCall":{"arguments":[{"id":61263,"name":"managedRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61248,"src":"10951:16:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":61264,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61230,"src":"10969:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61265,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61232,"src":"10980:10:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":61266,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61234,"src":"10992:13:96","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":61267,"name":"customLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61236,"src":"11007:14:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61262,"name":"CustomLivenessSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63624,"src":"10933:17:96","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (bytes32,address,bytes32,bytes memory,uint256)"}},"id":61268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10933:89:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61269,"nodeType":"EmitStatement","src":"10928:94:96"}]},"documentation":{"id":61228,"nodeType":"StructuredDocumentation","src":"9979:512:96","text":" @notice Sets a custom liveness value for the request. Liveness is the amount of time a proposal must wait before\n being auto-resolved.\n @dev This would also override any subsequent calls to setLiveness() by the requester.\n @param requester sender of the initial price request.\n @param identifier price identifier to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @param customLiveness new custom liveness."},"functionSelector":"6982ece0","implemented":true,"kind":"function","modifiers":[{"id":61239,"kind":"modifierInvocation","modifierName":{"id":61238,"name":"nonReentrant","nameLocations":["10675:12:96"],"nodeType":"IdentifierPath","referencedDeclaration":60619,"src":"10675:12:96"},"nodeType":"ModifierInvocation","src":"10675:12:96"},{"id":61241,"kind":"modifierInvocation","modifierName":{"id":61240,"name":"onlyRequestManager","nameLocations":["10688:18:96"],"nodeType":"IdentifierPath","referencedDeclaration":61032,"src":"10688:18:96"},"nodeType":"ModifierInvocation","src":"10688:18:96"}],"name":"requestManagerSetCustomLiveness","nameLocation":"10505:31:96","parameters":{"id":61237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61230,"mutability":"mutable","name":"requester","nameLocation":"10554:9:96","nodeType":"VariableDeclaration","scope":61271,"src":"10546:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61229,"name":"address","nodeType":"ElementaryTypeName","src":"10546:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61232,"mutability":"mutable","name":"identifier","nameLocation":"10581:10:96","nodeType":"VariableDeclaration","scope":61271,"src":"10573:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61231,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10573:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":61234,"mutability":"mutable","name":"ancillaryData","nameLocation":"10614:13:96","nodeType":"VariableDeclaration","scope":61271,"src":"10601:26:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61233,"name":"bytes","nodeType":"ElementaryTypeName","src":"10601:5:96","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":61236,"mutability":"mutable","name":"customLiveness","nameLocation":"10645:14:96","nodeType":"VariableDeclaration","scope":61271,"src":"10637:22:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61235,"name":"uint256","nodeType":"ElementaryTypeName","src":"10637:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10536:129:96"},"returnParameters":{"id":61242,"nodeType":"ParameterList","parameters":[],"src":"10707:0:96"},"scope":61771,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":61324,"nodeType":"FunctionDefinition","src":"11496:687:96","nodes":[],"body":{"id":61323,"nodeType":"Block","src":"11705:478:96","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":61292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61287,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61280,"src":"11796:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":61290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11817:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61289,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11809:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61288,"name":"address","nodeType":"ElementaryTypeName","src":"11809:7:96","typeDescriptions":{}}},"id":61291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11809:10:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11796:23:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61298,"nodeType":"IfStatement","src":"11792:92:96","trueBody":{"id":61297,"nodeType":"Block","src":"11821:63:96","statements":[{"expression":{"arguments":[{"id":61294,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61280,"src":"11863:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61293,"name":"_validateWhitelistInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61655,"src":"11835:27:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":61295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11835:38:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61296,"nodeType":"ExpressionStatement","src":"11835:38:96"}]}},{"assignments":[61300],"declarations":[{"constant":false,"id":61300,"mutability":"mutable","name":"managedRequestId","nameLocation":"11901:16:96","nodeType":"VariableDeclaration","scope":61323,"src":"11893:24:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61299,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11893:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":61306,"initialValue":{"arguments":[{"id":61302,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61274,"src":"11940:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61303,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61276,"src":"11951:10:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":61304,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61278,"src":"11963:13:96","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":61301,"name":"getManagedRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61524,"src":"11920:19:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (address,bytes32,bytes memory) pure returns (bytes32)"}},"id":61305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11920:57:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"11893:84:96"},{"expression":{"id":61313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61307,"name":"customProposerWhitelists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60921,"src":"11987:24:96","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"mapping(bytes32 => contract AddressWhitelistInterface)"}},"id":61309,"indexExpression":{"id":61308,"name":"managedRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61300,"src":"12012:16:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11987:42:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":61311,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61280,"src":"12058:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61310,"name":"AddressWhitelistInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60790,"src":"12032:25:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"type(contract AddressWhitelistInterface)"}},"id":61312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12032:36:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"src":"11987:81:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"id":61314,"nodeType":"ExpressionStatement","src":"11987:81:96"},{"eventCall":{"arguments":[{"id":61316,"name":"managedRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61300,"src":"12110:16:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":61317,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61274,"src":"12128:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61318,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61276,"src":"12139:10:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":61319,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61278,"src":"12151:13:96","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":61320,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61280,"src":"12166:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":61315,"name":"CustomProposerWhitelistSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63636,"src":"12083:26:96","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (bytes32,address,bytes32,bytes memory,address)"}},"id":61321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12083:93:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61322,"nodeType":"EmitStatement","src":"12078:98:96"}]},"documentation":{"id":61272,"nodeType":"StructuredDocumentation","src":"11035:456:96","text":" @notice Sets the proposer whitelist for a request.\n @dev This can also be set in advance of the request as the timestamp is omitted from the mapping key derivation.\n @param requester sender of the initial price request.\n @param identifier price identifier to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @param whitelist address of the whitelist to set."},"functionSelector":"347b4dba","implemented":true,"kind":"function","modifiers":[{"id":61283,"kind":"modifierInvocation","modifierName":{"id":61282,"name":"nonReentrant","nameLocations":["11673:12:96"],"nodeType":"IdentifierPath","referencedDeclaration":60619,"src":"11673:12:96"},"nodeType":"ModifierInvocation","src":"11673:12:96"},{"id":61285,"kind":"modifierInvocation","modifierName":{"id":61284,"name":"onlyRequestManager","nameLocations":["11686:18:96"],"nodeType":"IdentifierPath","referencedDeclaration":61032,"src":"11686:18:96"},"nodeType":"ModifierInvocation","src":"11686:18:96"}],"name":"requestManagerSetProposerWhitelist","nameLocation":"11505:34:96","parameters":{"id":61281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61274,"mutability":"mutable","name":"requester","nameLocation":"11557:9:96","nodeType":"VariableDeclaration","scope":61324,"src":"11549:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61273,"name":"address","nodeType":"ElementaryTypeName","src":"11549:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61276,"mutability":"mutable","name":"identifier","nameLocation":"11584:10:96","nodeType":"VariableDeclaration","scope":61324,"src":"11576:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61275,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11576:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":61278,"mutability":"mutable","name":"ancillaryData","nameLocation":"11617:13:96","nodeType":"VariableDeclaration","scope":61324,"src":"11604:26:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61277,"name":"bytes","nodeType":"ElementaryTypeName","src":"11604:5:96","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":61280,"mutability":"mutable","name":"whitelist","nameLocation":"11648:9:96","nodeType":"VariableDeclaration","scope":61324,"src":"11640:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61279,"name":"address","nodeType":"ElementaryTypeName","src":"11640:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11539:124:96"},"returnParameters":{"id":61286,"nodeType":"ParameterList","parameters":[],"src":"11705:0:96"},"scope":61771,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":61443,"nodeType":"FunctionDefinition","src":"12958:1273:96","nodes":[],"body":{"id":61442,"nodeType":"Block","src":"13207:1024:96","nodes":[],"statements":[{"assignments":[61345],"declarations":[{"constant":false,"id":61345,"mutability":"mutable","name":"request","nameLocation":"13297:7:96","nodeType":"VariableDeclaration","scope":61442,"src":"13281:23:96","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"},"typeName":{"id":61344,"nodeType":"UserDefinedTypeName","pathNode":{"id":61343,"name":"Request","nameLocations":["13281:7:96"],"nodeType":"IdentifierPath","referencedDeclaration":63797,"src":"13281:7:96"},"referencedDeclaration":63797,"src":"13281:7:96","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"}},"visibility":"internal"}],"id":61352,"initialValue":{"arguments":[{"id":61347,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61329,"src":"13319:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61348,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61331,"src":"13330:10:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":61349,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61333,"src":"13342:9:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61350,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61335,"src":"13353:13:96","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":61346,"name":"_getRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63281,"src":"13307:11:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_struct$_Request_$63797_storage_ptr_$","typeString":"function (address,bytes32,uint256,bytes memory) view returns (struct OptimisticOracleV2Interface.Request storage pointer)"}},"id":61351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13307:60:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"13281:86:96"},{"assignments":[61354],"declarations":[{"constant":false,"id":61354,"mutability":"mutable","name":"managedRequestId","nameLocation":"13385:16:96","nodeType":"VariableDeclaration","scope":61442,"src":"13377:24:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61353,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13377:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":61360,"initialValue":{"arguments":[{"id":61356,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61329,"src":"13424:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61357,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61331,"src":"13435:10:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":61358,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61335,"src":"13447:13:96","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":61355,"name":"getManagedRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61524,"src":"13404:19:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (address,bytes32,bytes memory) pure returns (bytes32)"}},"id":61359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13404:57:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"13377:84:96"},{"assignments":[61362],"declarations":[{"constant":false,"id":61362,"mutability":"mutable","name":"customBond","nameLocation":"13479:10:96","nodeType":"VariableDeclaration","scope":61442,"src":"13471:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61361,"name":"uint256","nodeType":"ElementaryTypeName","src":"13471:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61370,"initialValue":{"expression":{"baseExpression":{"baseExpression":{"id":61363,"name":"customBonds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"13492:11:96","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_mapping$_t_contract$_IERC20_$43048_$_t_struct$_CustomBond_$60882_storage_$_$","typeString":"mapping(bytes32 => mapping(contract IERC20 => struct ManagedOptimisticOracleV2.CustomBond storage ref))"}},"id":61365,"indexExpression":{"id":61364,"name":"managedRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61354,"src":"13504:16:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13492:29:96","typeDescriptions":{"typeIdentifier":"t_mapping$_t_contract$_IERC20_$43048_$_t_struct$_CustomBond_$60882_storage_$","typeString":"mapping(contract IERC20 => struct ManagedOptimisticOracleV2.CustomBond storage ref)"}},"id":61368,"indexExpression":{"expression":{"id":61366,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61345,"src":"13522:7:96","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":61367,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13530:8:96","memberName":"currency","nodeType":"MemberAccess","referencedDeclaration":63781,"src":"13522:16:96","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13492:47:96","typeDescriptions":{"typeIdentifier":"t_struct$_CustomBond_$60882_storage","typeString":"struct ManagedOptimisticOracleV2.CustomBond storage ref"}},"id":61369,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13540:6:96","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":60879,"src":"13492:54:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13471:75:96"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61371,"name":"customBond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61362,"src":"13560:10:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":61372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13574:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13560:15:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61383,"nodeType":"IfStatement","src":"13556:87:96","trueBody":{"id":61382,"nodeType":"Block","src":"13577:66:96","statements":[{"expression":{"id":61380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":61374,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61345,"src":"13591:7:96","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":61377,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13599:15:96","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"13591:23:96","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":61378,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13615:4:96","memberName":"bond","nodeType":"MemberAccess","referencedDeclaration":63771,"src":"13591:28:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":61379,"name":"customBond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61362,"src":"13622:10:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13591:41:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61381,"nodeType":"ExpressionStatement","src":"13591:41:96"}]}},{"assignments":[61385],"declarations":[{"constant":false,"id":61385,"mutability":"mutable","name":"customLiveness","nameLocation":"13660:14:96","nodeType":"VariableDeclaration","scope":61442,"src":"13652:22:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61384,"name":"uint256","nodeType":"ElementaryTypeName","src":"13652:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61390,"initialValue":{"expression":{"baseExpression":{"id":61386,"name":"customLivenessValues","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60916,"src":"13677:20:96","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_CustomLiveness_$60887_storage_$","typeString":"mapping(bytes32 => struct ManagedOptimisticOracleV2.CustomLiveness storage ref)"}},"id":61388,"indexExpression":{"id":61387,"name":"managedRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61354,"src":"13698:16:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13677:38:96","typeDescriptions":{"typeIdentifier":"t_struct$_CustomLiveness_$60887_storage","typeString":"struct ManagedOptimisticOracleV2.CustomLiveness storage ref"}},"id":61389,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13716:8:96","memberName":"liveness","nodeType":"MemberAccess","referencedDeclaration":60884,"src":"13677:47:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13652:72:96"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61391,"name":"customLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61385,"src":"13738:14:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":61392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13756:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13738:19:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61403,"nodeType":"IfStatement","src":"13734:105:96","trueBody":{"id":61402,"nodeType":"Block","src":"13759:80:96","statements":[{"expression":{"id":61400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":61394,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61345,"src":"13773:7:96","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":61397,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13781:15:96","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"13773:23:96","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":61398,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13797:14:96","memberName":"customLiveness","nodeType":"MemberAccess","referencedDeclaration":63773,"src":"13773:38:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":61399,"name":"customLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61385,"src":"13814:14:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13773:55:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61401,"nodeType":"ExpressionStatement","src":"13773:55:96"}]}},{"assignments":[61406],"declarations":[{"constant":false,"id":61406,"mutability":"mutable","name":"whitelist","nameLocation":"13875:9:96","nodeType":"VariableDeclaration","scope":61442,"src":"13849:35:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"},"typeName":{"id":61405,"nodeType":"UserDefinedTypeName","pathNode":{"id":61404,"name":"AddressWhitelistInterface","nameLocations":["13849:25:96"],"nodeType":"IdentifierPath","referencedDeclaration":60790,"src":"13849:25:96"},"referencedDeclaration":60790,"src":"13849:25:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"visibility":"internal"}],"id":61412,"initialValue":{"arguments":[{"id":61408,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61329,"src":"13918:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61409,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61331,"src":"13929:10:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":61410,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61335,"src":"13941:13:96","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":61407,"name":"_getEffectiveProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61765,"src":"13887:30:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"function (address,bytes32,bytes memory) view returns (contract AddressWhitelistInterface)"}},"id":61411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13887:68:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"nodeType":"VariableDeclarationStatement","src":"13849:106:96"},{"expression":{"arguments":[{"arguments":[{"id":61416,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"13998:8:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61414,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61406,"src":"13974:9:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"id":61415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13984:13:96","memberName":"isOnWhitelist","nodeType":"MemberAccess","referencedDeclaration":60778,"src":"13974:23:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":61417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13974:33:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":61418,"name":"ProposerNotWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63567,"src":"14009:22:96","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":61419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14009:24:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":61413,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"13966:7:96","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":61420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13966:68:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61421,"nodeType":"ExpressionStatement","src":"13966:68:96"},{"expression":{"arguments":[{"arguments":[{"expression":{"id":61425,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14076:3:96","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":61426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14080:6:96","memberName":"sender","nodeType":"MemberAccess","src":"14076:10:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61423,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61406,"src":"14052:9:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"id":61424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14062:13:96","memberName":"isOnWhitelist","nodeType":"MemberAccess","referencedDeclaration":60778,"src":"14052:23:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":61427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14052:35:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":61428,"name":"SenderNotWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63570,"src":"14089:20:96","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":61429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14089:22:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":61422,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"14044:7:96","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":61430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14044:68:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61431,"nodeType":"ExpressionStatement","src":"14044:68:96"},{"expression":{"arguments":[{"id":61434,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"14151:8:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61435,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61329,"src":"14161:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61436,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61331,"src":"14172:10:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":61437,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61333,"src":"14184:9:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61438,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61335,"src":"14195:13:96","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":61439,"name":"proposedPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61337,"src":"14210:13:96","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":61432,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"14129:5:96","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ManagedOptimisticOracleV2_$61771_$","typeString":"type(contract super ManagedOptimisticOracleV2)"}},"id":61433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14135:15:96","memberName":"proposePriceFor","nodeType":"MemberAccess","referencedDeclaration":62580,"src":"14129:21:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$_t_int256_$returns$_t_uint256_$","typeString":"function (address,address,bytes32,uint256,bytes memory,int256) returns (uint256)"}},"id":61440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14129:95:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":61342,"id":61441,"nodeType":"Return","src":"14122:102:96"}]},"baseFunctions":[62580],"documentation":{"id":61325,"nodeType":"StructuredDocumentation","src":"12189:764:96","text":" @notice Proposes a price value on another address' behalf. Note: this address will receive any rewards that come\n from this proposal. However, any bonds are pulled from the caller.\n @param proposer address to set as the proposer.\n @param requester sender of the initial price request.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @param proposedPrice price being proposed.\n @return totalBond the amount that's pulled from the caller's wallet as a bond. The bond will be returned to\n the proposer once settled if the proposal is correct."},"functionSelector":"7c82288f","implemented":true,"kind":"function","modifiers":[],"name":"proposePriceFor","nameLocation":"12967:15:96","overrides":{"id":61339,"nodeType":"OverrideSpecifier","overrides":[],"src":"13170:8:96"},"parameters":{"id":61338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61327,"mutability":"mutable","name":"proposer","nameLocation":"13000:8:96","nodeType":"VariableDeclaration","scope":61443,"src":"12992:16:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61326,"name":"address","nodeType":"ElementaryTypeName","src":"12992:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61329,"mutability":"mutable","name":"requester","nameLocation":"13026:9:96","nodeType":"VariableDeclaration","scope":61443,"src":"13018:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61328,"name":"address","nodeType":"ElementaryTypeName","src":"13018:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61331,"mutability":"mutable","name":"identifier","nameLocation":"13053:10:96","nodeType":"VariableDeclaration","scope":61443,"src":"13045:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61330,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13045:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":61333,"mutability":"mutable","name":"timestamp","nameLocation":"13081:9:96","nodeType":"VariableDeclaration","scope":61443,"src":"13073:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61332,"name":"uint256","nodeType":"ElementaryTypeName","src":"13073:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61335,"mutability":"mutable","name":"ancillaryData","nameLocation":"13113:13:96","nodeType":"VariableDeclaration","scope":61443,"src":"13100:26:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61334,"name":"bytes","nodeType":"ElementaryTypeName","src":"13100:5:96","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":61337,"mutability":"mutable","name":"proposedPrice","nameLocation":"13143:13:96","nodeType":"VariableDeclaration","scope":61443,"src":"13136:20:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":61336,"name":"int256","nodeType":"ElementaryTypeName","src":"13136:6:96","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"12982:180:96"},"returnParameters":{"id":61342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61341,"mutability":"mutable","name":"totalBond","nameLocation":"13196:9:96","nodeType":"VariableDeclaration","scope":61443,"src":"13188:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61340,"name":"uint256","nodeType":"ElementaryTypeName","src":"13188:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13187:19:96"},"scope":61771,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61467,"nodeType":"FunctionDefinition","src":"14776:313:96","nodes":[],"body":{"id":61466,"nodeType":"Block","src":"14982:107:96","nodes":[],"statements":[{"expression":{"baseExpression":{"id":61458,"name":"customProposerWhitelists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60921,"src":"14999:24:96","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"mapping(bytes32 => contract AddressWhitelistInterface)"}},"id":61464,"indexExpression":{"arguments":[{"id":61460,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61446,"src":"15044:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61461,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61448,"src":"15055:10:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":61462,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61450,"src":"15067:13:96","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":61459,"name":"getManagedRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61524,"src":"15024:19:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (address,bytes32,bytes memory) pure returns (bytes32)"}},"id":61463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15024:57:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14999:83:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"functionReturnParameters":61457,"id":61465,"nodeType":"Return","src":"14992:90:96"}]},"documentation":{"id":61444,"nodeType":"StructuredDocumentation","src":"14237:534:96","text":" @notice Gets the custom proposer whitelist for a request.\n @dev This omits the timestamp from the key derivation, so the whitelist might have been set in advance of the\n request.\n @param requester sender of the initial price request.\n @param identifier price identifier to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @return AddressWhitelistInterface the custom proposer whitelist for the request or zero address if not set."},"functionSelector":"7746e7ae","implemented":true,"kind":"function","modifiers":[{"id":61453,"kind":"modifierInvocation","modifierName":{"id":61452,"name":"nonReentrantView","nameLocations":["14917:16:96"],"nodeType":"IdentifierPath","referencedDeclaration":60627,"src":"14917:16:96"},"nodeType":"ModifierInvocation","src":"14917:16:96"}],"name":"getCustomProposerWhitelist","nameLocation":"14785:26:96","parameters":{"id":61451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61446,"mutability":"mutable","name":"requester","nameLocation":"14820:9:96","nodeType":"VariableDeclaration","scope":61467,"src":"14812:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61445,"name":"address","nodeType":"ElementaryTypeName","src":"14812:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61448,"mutability":"mutable","name":"identifier","nameLocation":"14839:10:96","nodeType":"VariableDeclaration","scope":61467,"src":"14831:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61447,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14831:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":61450,"mutability":"mutable","name":"ancillaryData","nameLocation":"14864:13:96","nodeType":"VariableDeclaration","scope":61467,"src":"14851:26:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61449,"name":"bytes","nodeType":"ElementaryTypeName","src":"14851:5:96","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14811:67:96"},"returnParameters":{"id":61457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61456,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":61467,"src":"14951:25:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"},"typeName":{"id":61455,"nodeType":"UserDefinedTypeName","pathNode":{"id":61454,"name":"AddressWhitelistInterface","nameLocations":["14951:25:96"],"nodeType":"IdentifierPath","referencedDeclaration":60790,"src":"14951:25:96"},"referencedDeclaration":60790,"src":"14951:25:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"visibility":"internal"}],"src":"14950:27:96"},"scope":61771,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":61502,"nodeType":"FunctionDefinition","src":"15943:439:96","nodes":[],"body":{"id":61501,"nodeType":"Block","src":"16184:198:96","nodes":[],"statements":[{"assignments":[61486],"declarations":[{"constant":false,"id":61486,"mutability":"mutable","name":"whitelist","nameLocation":"16220:9:96","nodeType":"VariableDeclaration","scope":61501,"src":"16194:35:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"},"typeName":{"id":61485,"nodeType":"UserDefinedTypeName","pathNode":{"id":61484,"name":"AddressWhitelistInterface","nameLocations":["16194:25:96"],"nodeType":"IdentifierPath","referencedDeclaration":60790,"src":"16194:25:96"},"referencedDeclaration":60790,"src":"16194:25:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"visibility":"internal"}],"id":61492,"initialValue":{"arguments":[{"id":61488,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61470,"src":"16263:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61489,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61472,"src":"16274:10:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":61490,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61474,"src":"16286:13:96","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":61487,"name":"_getEffectiveProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61765,"src":"16232:30:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"function (address,bytes32,bytes memory) view returns (contract AddressWhitelistInterface)"}},"id":61491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16232:68:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"nodeType":"VariableDeclarationStatement","src":"16194:106:96"},{"expression":{"components":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61493,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61486,"src":"16318:9:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"id":61494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16328:12:96","memberName":"getWhitelist","nodeType":"MemberAccess","referencedDeclaration":60784,"src":"16318:22:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () view external returns (address[] memory)"}},"id":61495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16318:24:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61496,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61486,"src":"16344:9:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"id":61497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16354:18:96","memberName":"isWhitelistEnabled","nodeType":"MemberAccess","referencedDeclaration":60789,"src":"16344:28:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bool_$","typeString":"function () view external returns (bool)"}},"id":61498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16344:30:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":61499,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16317:58:96","typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_bool_$","typeString":"tuple(address[] memory,bool)"}},"functionReturnParameters":61483,"id":61500,"nodeType":"Return","src":"16310:65:96"}]},"documentation":{"id":61468,"nodeType":"StructuredDocumentation","src":"15095:843:96","text":" @notice Returns the proposer whitelist and whether whitelist is enabled for a given request.\n @dev If no custom proposer whitelist is set for the request, the default proposer whitelist is used.\n If whitelist used is DisabledAddressWhitelist, the returned proposer list will be empty and isEnabled will be false,\n indicating that any address is allowed to propose.\n @param requester The address that made or will make the price request.\n @param identifier The identifier of the price request.\n @param ancillaryData Additional data used to uniquely identify the request.\n @return allowedProposers The list of addresses allowed to propose, if whitelist is enabled. Otherwise, an empty array.\n @return isEnabled A boolean indicating whether whitelist is enabled for this request."},"functionSelector":"a625b01e","implemented":true,"kind":"function","modifiers":[{"id":61477,"kind":"modifierInvocation","modifierName":{"id":61476,"name":"nonReentrantView","nameLocations":["16095:16:96"],"nodeType":"IdentifierPath","referencedDeclaration":60627,"src":"16095:16:96"},"nodeType":"ModifierInvocation","src":"16095:16:96"}],"name":"getProposerWhitelistWithEnabledStatus","nameLocation":"15952:37:96","parameters":{"id":61475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61470,"mutability":"mutable","name":"requester","nameLocation":"15998:9:96","nodeType":"VariableDeclaration","scope":61502,"src":"15990:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61469,"name":"address","nodeType":"ElementaryTypeName","src":"15990:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61472,"mutability":"mutable","name":"identifier","nameLocation":"16017:10:96","nodeType":"VariableDeclaration","scope":61502,"src":"16009:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61471,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16009:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":61474,"mutability":"mutable","name":"ancillaryData","nameLocation":"16042:13:96","nodeType":"VariableDeclaration","scope":61502,"src":"16029:26:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61473,"name":"bytes","nodeType":"ElementaryTypeName","src":"16029:5:96","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15989:67:96"},"returnParameters":{"id":61483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61480,"mutability":"mutable","name":"allowedProposers","nameLocation":"16146:16:96","nodeType":"VariableDeclaration","scope":61502,"src":"16129:33:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":61478,"name":"address","nodeType":"ElementaryTypeName","src":"16129:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61479,"nodeType":"ArrayTypeName","src":"16129:9:96","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":61482,"mutability":"mutable","name":"isEnabled","nameLocation":"16169:9:96","nodeType":"VariableDeclaration","scope":61502,"src":"16164:14:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":61481,"name":"bool","nodeType":"ElementaryTypeName","src":"16164:4:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16128:51:96"},"scope":61771,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":61524,"nodeType":"FunctionDefinition","src":"16832:243:96","nodes":[],"body":{"id":61523,"nodeType":"Block","src":"16986:89:96","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":61517,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61505,"src":"17030:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61518,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61507,"src":"17041:10:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":61519,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61509,"src":"17053:13:96","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61515,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17013:3:96","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61516,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17017:12:96","memberName":"encodePacked","nodeType":"MemberAccess","src":"17013:16:96","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17013:54:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":61514,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"17003:9:96","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":61521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17003:65:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":61513,"id":61522,"nodeType":"Return","src":"16996:72:96"}]},"documentation":{"id":61503,"nodeType":"StructuredDocumentation","src":"16388:439:96","text":" @notice Gets the ID for a managed request.\n @dev This omits the timestamp from the key derivation, so it can be used for managed requests in advance.\n @param requester sender of the initial price request.\n @param identifier price identifier to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @return bytes32 the ID for the managed request."},"functionSelector":"4835698a","implemented":true,"kind":"function","modifiers":[],"name":"getManagedRequestId","nameLocation":"16841:19:96","parameters":{"id":61510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61505,"mutability":"mutable","name":"requester","nameLocation":"16869:9:96","nodeType":"VariableDeclaration","scope":61524,"src":"16861:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61504,"name":"address","nodeType":"ElementaryTypeName","src":"16861:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61507,"mutability":"mutable","name":"identifier","nameLocation":"16888:10:96","nodeType":"VariableDeclaration","scope":61524,"src":"16880:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61506,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16880:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":61509,"mutability":"mutable","name":"ancillaryData","nameLocation":"16913:13:96","nodeType":"VariableDeclaration","scope":61524,"src":"16900:26:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61508,"name":"bytes","nodeType":"ElementaryTypeName","src":"16900:5:96","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"16860:67:96"},"returnParameters":{"id":61513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61512,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":61524,"src":"16973:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61511,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16973:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16972:9:96"},"scope":61771,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":61572,"nodeType":"FunctionDefinition","src":"17570:425:96","nodes":[],"body":{"id":61571,"nodeType":"Block","src":"17654:341:96","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":61540,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61528,"src":"17720:8:96","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}],"id":61539,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17712:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61538,"name":"address","nodeType":"ElementaryTypeName","src":"17712:7:96","typeDescriptions":{}}},"id":61541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17712:17:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61535,"name":"_getCollateralWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63443,"src":"17672:23:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_AddressWhitelist_$60496_$","typeString":"function () view returns (contract AddressWhitelist)"}},"id":61536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17672:25:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":61537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17698:13:96","memberName":"isOnWhitelist","nodeType":"MemberAccess","referencedDeclaration":60448,"src":"17672:39:96","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":61542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17672:58:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":61543,"name":"UnsupportedCurrency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63659,"src":"17732:19:96","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":61544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17732:21:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":61534,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"17664:7:96","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":61545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17664:90:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61546,"nodeType":"ExpressionStatement","src":"17664:90:96"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":61552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":61548,"name":"newRange","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61531,"src":"17772:8:96","typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_calldata_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange calldata"}},"id":61549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17781:11:96","memberName":"minimumBond","nodeType":"MemberAccess","referencedDeclaration":60867,"src":"17772:20:96","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":61550,"name":"newRange","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61531,"src":"17796:8:96","typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_calldata_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange calldata"}},"id":61551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17805:11:96","memberName":"maximumBond","nodeType":"MemberAccess","referencedDeclaration":60869,"src":"17796:20:96","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"17772:44:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":61553,"name":"MinimumBondAboveMaximumBond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63576,"src":"17818:27:96","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":61554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17818:29:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":61547,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"17764:7:96","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":61555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17764:84:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61556,"nodeType":"ExpressionStatement","src":"17764:84:96"},{"expression":{"id":61561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61557,"name":"allowedBondRanges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60927,"src":"17858:17:96","typeDescriptions":{"typeIdentifier":"t_mapping$_t_contract$_IERC20_$43048_$_t_struct$_BondRange_$60870_storage_$","typeString":"mapping(contract IERC20 => struct ManagedOptimisticOracleV2.BondRange storage ref)"}},"id":61559,"indexExpression":{"id":61558,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61528,"src":"17876:8:96","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17858:27:96","typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_storage","typeString":"struct ManagedOptimisticOracleV2.BondRange storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":61560,"name":"newRange","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61531,"src":"17888:8:96","typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_calldata_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange calldata"}},"src":"17858:38:96","typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_storage","typeString":"struct ManagedOptimisticOracleV2.BondRange storage ref"}},"id":61562,"nodeType":"ExpressionStatement","src":"17858:38:96"},{"eventCall":{"arguments":[{"id":61564,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61528,"src":"17935:8:96","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"expression":{"id":61565,"name":"newRange","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61531,"src":"17945:8:96","typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_calldata_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange calldata"}},"id":61566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17954:11:96","memberName":"minimumBond","nodeType":"MemberAccess","referencedDeclaration":60867,"src":"17945:20:96","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"expression":{"id":61567,"name":"newRange","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61531,"src":"17967:8:96","typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_calldata_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange calldata"}},"id":61568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17976:11:96","memberName":"maximumBond","nodeType":"MemberAccess","referencedDeclaration":60869,"src":"17967:20:96","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":61563,"name":"AllowedBondRangeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63585,"src":"17911:23:96","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IERC20_$43048_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IERC20,uint256,uint256)"}},"id":61569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17911:77:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61570,"nodeType":"EmitStatement","src":"17906:82:96"}]},"documentation":{"id":61525,"nodeType":"StructuredDocumentation","src":"17081:484:96","text":" @notice Sets the bounds for a bond that can be set for a request.\n @dev This can be used to limit the bond amount that can be set by request managers. Setting the minimum and\n maximum both to 0 effectively blocks the request manager from overriding the bond for a given currency.\n @param currency the ERC20 token used for bonding proposals and disputes. Must be approved for use with the DVM.\n @param newRange new allowed range for the bond."},"implemented":true,"kind":"function","modifiers":[],"name":"_setAllowedBondRange","nameLocation":"17579:20:96","parameters":{"id":61532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61528,"mutability":"mutable","name":"currency","nameLocation":"17607:8:96","nodeType":"VariableDeclaration","scope":61572,"src":"17600:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},"typeName":{"id":61527,"nodeType":"UserDefinedTypeName","pathNode":{"id":61526,"name":"IERC20","nameLocations":["17600:6:96"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"17600:6:96"},"referencedDeclaration":43048,"src":"17600:6:96","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":61531,"mutability":"mutable","name":"newRange","nameLocation":"17636:8:96","nodeType":"VariableDeclaration","scope":61572,"src":"17617:27:96","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_calldata_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange"},"typeName":{"id":61530,"nodeType":"UserDefinedTypeName","pathNode":{"id":61529,"name":"BondRange","nameLocations":["17617:9:96"],"nodeType":"IdentifierPath","referencedDeclaration":60870,"src":"17617:9:96"},"referencedDeclaration":60870,"src":"17617:9:96","typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange"}},"visibility":"internal"}],"src":"17599:46:96"},"returnParameters":{"id":61533,"nodeType":"ParameterList","parameters":[],"src":"17654:0:96"},"scope":61771,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":61593,"nodeType":"FunctionDefinition","src":"18244:220:96","nodes":[],"body":{"id":61592,"nodeType":"Block","src":"18307:157:96","nodes":[],"statements":[{"expression":{"arguments":[{"id":61581,"name":"_minimumLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61575,"src":"18341:16:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61578,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"18317:5:96","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ManagedOptimisticOracleV2_$61771_$","typeString":"type(contract super ManagedOptimisticOracleV2)"}},"id":61580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18323:17:96","memberName":"_validateLiveness","nodeType":"MemberAccess","referencedDeclaration":63318,"src":"18317:23:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":61582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18317:41:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61583,"nodeType":"ExpressionStatement","src":"18317:41:96"},{"expression":{"id":61586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61584,"name":"minimumLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60929,"src":"18368:15:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":61585,"name":"_minimumLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61575,"src":"18386:16:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18368:34:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61587,"nodeType":"ExpressionStatement","src":"18368:34:96"},{"eventCall":{"arguments":[{"id":61589,"name":"_minimumLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61575,"src":"18440:16:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61588,"name":"MinimumLivenessUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63589,"src":"18417:22:96","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":61590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18417:40:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61591,"nodeType":"EmitStatement","src":"18412:45:96"}]},"documentation":{"id":61573,"nodeType":"StructuredDocumentation","src":"18001:238:96","text":" @notice Sets the minimum liveness that can be set for a request.\n @dev This can be used to limit the liveness period that can be set by request managers.\n @param _minimumLiveness new minimum liveness period."},"implemented":true,"kind":"function","modifiers":[],"name":"_setMinimumLiveness","nameLocation":"18253:19:96","parameters":{"id":61576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61575,"mutability":"mutable","name":"_minimumLiveness","nameLocation":"18281:16:96","nodeType":"VariableDeclaration","scope":61593,"src":"18273:24:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61574,"name":"uint256","nodeType":"ElementaryTypeName","src":"18273:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18272:26:96"},"returnParameters":{"id":61577,"nodeType":"ParameterList","parameters":[],"src":"18307:0:96"},"scope":61771,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":61614,"nodeType":"FunctionDefinition","src":"18595:250:96","nodes":[],"body":{"id":61613,"nodeType":"Block","src":"18660:185:96","nodes":[],"statements":[{"expression":{"arguments":[{"id":61600,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61596,"src":"18698:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61599,"name":"_validateWhitelistInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61655,"src":"18670:27:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":61601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18670:38:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61602,"nodeType":"ExpressionStatement","src":"18670:38:96"},{"expression":{"id":61607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61603,"name":"defaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60900,"src":"18718:24:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":61605,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61596,"src":"18771:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61604,"name":"AddressWhitelistInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60790,"src":"18745:25:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"type(contract AddressWhitelistInterface)"}},"id":61606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18745:36:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"src":"18718:63:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"id":61608,"nodeType":"ExpressionStatement","src":"18718:63:96"},{"eventCall":{"arguments":[{"id":61610,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61596,"src":"18828:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61609,"name":"DefaultProposerWhitelistUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63593,"src":"18796:31:96","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":61611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18796:42:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61612,"nodeType":"EmitStatement","src":"18791:47:96"}]},"documentation":{"id":61594,"nodeType":"StructuredDocumentation","src":"18470:120:96","text":" @notice Sets the default proposer whitelist.\n @param whitelist address of the whitelist to set."},"implemented":true,"kind":"function","modifiers":[],"name":"_setDefaultProposerWhitelist","nameLocation":"18604:28:96","parameters":{"id":61597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61596,"mutability":"mutable","name":"whitelist","nameLocation":"18641:9:96","nodeType":"VariableDeclaration","scope":61614,"src":"18633:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61595,"name":"address","nodeType":"ElementaryTypeName","src":"18633:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18632:19:96"},"returnParameters":{"id":61598,"nodeType":"ParameterList","parameters":[],"src":"18660:0:96"},"scope":61771,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":61635,"nodeType":"FunctionDefinition","src":"18969:232:96","nodes":[],"body":{"id":61634,"nodeType":"Block","src":"19028:173:96","nodes":[],"statements":[{"expression":{"arguments":[{"id":61621,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61617,"src":"19066:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61620,"name":"_validateWhitelistInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61655,"src":"19038:27:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":61622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19038:38:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61623,"nodeType":"ExpressionStatement","src":"19038:38:96"},{"expression":{"id":61628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61624,"name":"requesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60903,"src":"19086:18:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":61626,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61617,"src":"19133:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61625,"name":"AddressWhitelistInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60790,"src":"19107:25:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"type(contract AddressWhitelistInterface)"}},"id":61627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19107:36:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"src":"19086:57:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"id":61629,"nodeType":"ExpressionStatement","src":"19086:57:96"},{"eventCall":{"arguments":[{"id":61631,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61617,"src":"19184:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61630,"name":"RequesterWhitelistUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63597,"src":"19158:25:96","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":61632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19158:36:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61633,"nodeType":"EmitStatement","src":"19153:41:96"}]},"documentation":{"id":61615,"nodeType":"StructuredDocumentation","src":"18851:113:96","text":" @notice Sets the requester whitelist.\n @param whitelist address of the whitelist to set."},"implemented":true,"kind":"function","modifiers":[],"name":"_setRequesterWhitelist","nameLocation":"18978:22:96","parameters":{"id":61618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61617,"mutability":"mutable","name":"whitelist","nameLocation":"19009:9:96","nodeType":"VariableDeclaration","scope":61635,"src":"19001:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61616,"name":"address","nodeType":"ElementaryTypeName","src":"19001:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19000:19:96"},"returnParameters":{"id":61619,"nodeType":"ParameterList","parameters":[],"src":"19028:0:96"},"scope":61771,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":61655,"nodeType":"FunctionDefinition","src":"19444:250:96","nodes":[],"body":{"id":61654,"nodeType":"Block","src":"19514:180:96","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":61644,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61638,"src":"19577:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"arguments":[{"id":61646,"name":"AddressWhitelistInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60790,"src":"19593:25:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"type(contract AddressWhitelistInterface)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"type(contract AddressWhitelistInterface)"}],"id":61645,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"19588:4:96","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":61647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19588:31:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_AddressWhitelistInterface_$60790","typeString":"type(contract AddressWhitelistInterface)"}},"id":61648,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19620:11:96","memberName":"interfaceId","nodeType":"MemberAccess","src":"19588:43:96","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":61642,"name":"ERC165Checker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46787,"src":"19545:13:96","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC165Checker_$46787_$","typeString":"type(library ERC165Checker)"}},"id":61643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19559:17:96","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":46643,"src":"19545:31:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":61649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19545:87:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":61650,"name":"UnsupportedWhitelistInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63573,"src":"19646:29:96","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":61651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19646:31:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":61641,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"19524:7:96","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":61652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19524:163:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61653,"nodeType":"ExpressionStatement","src":"19524:163:96"}]},"documentation":{"id":61636,"nodeType":"StructuredDocumentation","src":"19207:232:96","text":" @notice Validates that the given address implements the AddressWhitelistInterface.\n @dev Reverts if the address does not implement the interface.\n @param whitelist address of the whitelist to validate."},"implemented":true,"kind":"function","modifiers":[],"name":"_validateWhitelistInterface","nameLocation":"19453:27:96","parameters":{"id":61639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61638,"mutability":"mutable","name":"whitelist","nameLocation":"19489:9:96","nodeType":"VariableDeclaration","scope":61655,"src":"19481:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61637,"name":"address","nodeType":"ElementaryTypeName","src":"19481:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19480:19:96"},"returnParameters":{"id":61640,"nodeType":"ParameterList","parameters":[],"src":"19514:0:96"},"scope":61771,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":61704,"nodeType":"FunctionDefinition","src":"20106:363:96","nodes":[],"body":{"id":61703,"nodeType":"Block","src":"20173:296:96","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61665,"name":"bond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61661,"src":"20191:4:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":61666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20199:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20191:9:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":61668,"name":"ZeroBondNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63555,"src":"20202:18:96","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":61669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20202:20:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":61664,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"20183:7:96","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":61670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20183:40:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61671,"nodeType":"ExpressionStatement","src":"20183:40:96"},{"assignments":[61674],"declarations":[{"constant":false,"id":61674,"mutability":"mutable","name":"allowedRange","nameLocation":"20250:12:96","nodeType":"VariableDeclaration","scope":61703,"src":"20233:29:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange"},"typeName":{"id":61673,"nodeType":"UserDefinedTypeName","pathNode":{"id":61672,"name":"BondRange","nameLocations":["20233:9:96"],"nodeType":"IdentifierPath","referencedDeclaration":60870,"src":"20233:9:96"},"referencedDeclaration":60870,"src":"20233:9:96","typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange"}},"visibility":"internal"}],"id":61678,"initialValue":{"baseExpression":{"id":61675,"name":"allowedBondRanges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60927,"src":"20265:17:96","typeDescriptions":{"typeIdentifier":"t_mapping$_t_contract$_IERC20_$43048_$_t_struct$_BondRange_$60870_storage_$","typeString":"mapping(contract IERC20 => struct ManagedOptimisticOracleV2.BondRange storage ref)"}},"id":61677,"indexExpression":{"id":61676,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61659,"src":"20283:8:96","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20265:27:96","typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_storage","typeString":"struct ManagedOptimisticOracleV2.BondRange storage ref"}},"nodeType":"VariableDeclarationStatement","src":"20233:59:96"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61680,"name":"bond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61661,"src":"20310:4:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"arguments":[{"expression":{"id":61683,"name":"allowedRange","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61674,"src":"20326:12:96","typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange memory"}},"id":61684,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20339:11:96","memberName":"minimumBond","nodeType":"MemberAccess","referencedDeclaration":60867,"src":"20326:24:96","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":61682,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20318:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":61681,"name":"uint256","nodeType":"ElementaryTypeName","src":"20318:7:96","typeDescriptions":{}}},"id":61685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20318:33:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20310:41:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":61687,"name":"BondBelowMinimumBond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63558,"src":"20353:20:96","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":61688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20353:22:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":61679,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"20302:7:96","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":61689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20302:74:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61690,"nodeType":"ExpressionStatement","src":"20302:74:96"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61692,"name":"bond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61661,"src":"20394:4:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[{"expression":{"id":61695,"name":"allowedRange","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61674,"src":"20410:12:96","typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange memory"}},"id":61696,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20423:11:96","memberName":"maximumBond","nodeType":"MemberAccess","referencedDeclaration":60869,"src":"20410:24:96","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"}],"id":61694,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20402:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":61693,"name":"uint256","nodeType":"ElementaryTypeName","src":"20402:7:96","typeDescriptions":{}}},"id":61697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20402:33:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20394:41:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":61699,"name":"BondExceedsMaximumBond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63561,"src":"20437:22:96","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":61700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20437:24:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":61691,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"20386:7:96","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":61701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20386:76:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61702,"nodeType":"ExpressionStatement","src":"20386:76:96"}]},"documentation":{"id":61656,"nodeType":"StructuredDocumentation","src":"19700:401:96","text":" @notice Validates the bond amount.\n @dev Reverts if the bond is outside the allowed bond range (controllable by the config admin) or it is 0 (which\n makes sure the allowed bond range was explicitly set).\n @param currency the ERC20 token used for bonding proposals and disputes. Must be approved for use with the DVM.\n @param bond the bond amount to validate."},"implemented":true,"kind":"function","modifiers":[],"name":"_validateBond","nameLocation":"20115:13:96","parameters":{"id":61662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61659,"mutability":"mutable","name":"currency","nameLocation":"20136:8:96","nodeType":"VariableDeclaration","scope":61704,"src":"20129:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},"typeName":{"id":61658,"nodeType":"UserDefinedTypeName","pathNode":{"id":61657,"name":"IERC20","nameLocations":["20129:6:96"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"20129:6:96"},"referencedDeclaration":43048,"src":"20129:6:96","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":61661,"mutability":"mutable","name":"bond","nameLocation":"20154:4:96","nodeType":"VariableDeclaration","scope":61704,"src":"20146:12:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61660,"name":"uint256","nodeType":"ElementaryTypeName","src":"20146:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20128:31:96"},"returnParameters":{"id":61663,"nodeType":"ParameterList","parameters":[],"src":"20173:0:96"},"scope":61771,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":61726,"nodeType":"FunctionDefinition","src":"20781:182:96","nodes":[],"body":{"id":61725,"nodeType":"Block","src":"20849:114:96","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61712,"name":"liveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61707,"src":"20867:8:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":61713,"name":"minimumLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60929,"src":"20879:15:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20867:27:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":61715,"name":"LivenessTooLow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63564,"src":"20896:14:96","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":61716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20896:16:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":61711,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"20859:7:96","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":61717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20859:54:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61718,"nodeType":"ExpressionStatement","src":"20859:54:96"},{"expression":{"arguments":[{"id":61722,"name":"liveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61707,"src":"20947:8:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61719,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"20923:5:96","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ManagedOptimisticOracleV2_$61771_$","typeString":"type(contract super ManagedOptimisticOracleV2)"}},"id":61721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20929:17:96","memberName":"_validateLiveness","nodeType":"MemberAccess","referencedDeclaration":63318,"src":"20923:23:96","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":61723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20923:33:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61724,"nodeType":"ExpressionStatement","src":"20923:33:96"}]},"baseFunctions":[63318],"documentation":{"id":61705,"nodeType":"StructuredDocumentation","src":"20475:301:96","text":" @notice Validates the liveness period.\n @dev Reverts if the liveness period is less than the minimum liveness (controllable by the config admin) or\n above the maximum liveness (which is set in the parent contract).\n @param liveness the liveness period to validate."},"implemented":true,"kind":"function","modifiers":[],"name":"_validateLiveness","nameLocation":"20790:17:96","overrides":{"id":61709,"nodeType":"OverrideSpecifier","overrides":[],"src":"20840:8:96"},"parameters":{"id":61708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61707,"mutability":"mutable","name":"liveness","nameLocation":"20816:8:96","nodeType":"VariableDeclaration","scope":61726,"src":"20808:16:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61706,"name":"uint256","nodeType":"ElementaryTypeName","src":"20808:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20807:18:96"},"returnParameters":{"id":61710,"nodeType":"ParameterList","parameters":[],"src":"20849:0:96"},"scope":61771,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":61765,"nodeType":"FunctionDefinition","src":"21580:414:96","nodes":[],"body":{"id":61764,"nodeType":"Block","src":"21774:220:96","nodes":[],"statements":[{"expression":{"id":61747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61739,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61737,"src":"21784:9:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":61740,"name":"customProposerWhitelists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60921,"src":"21796:24:96","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"mapping(bytes32 => contract AddressWhitelistInterface)"}},"id":61746,"indexExpression":{"arguments":[{"id":61742,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61729,"src":"21841:9:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61743,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61731,"src":"21852:10:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":61744,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61733,"src":"21864:13:96","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":61741,"name":"getManagedRequestId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61524,"src":"21821:19:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (address,bytes32,bytes memory) pure returns (bytes32)"}},"id":61745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21821:57:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21796:83:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"src":"21784:95:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"id":61748,"nodeType":"ExpressionStatement","src":"21784:95:96"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":61757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":61751,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61737,"src":"21901:9:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}],"id":61750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21893:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61749,"name":"address","nodeType":"ElementaryTypeName","src":"21893:7:96","typeDescriptions":{}}},"id":61752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21893:18:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":61755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21923:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61754,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21915:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61753,"name":"address","nodeType":"ElementaryTypeName","src":"21915:7:96","typeDescriptions":{}}},"id":61756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21915:10:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"21893:32:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61763,"nodeType":"IfStatement","src":"21889:99:96","trueBody":{"id":61762,"nodeType":"Block","src":"21927:61:96","statements":[{"expression":{"id":61760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61758,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61737,"src":"21941:9:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":61759,"name":"defaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60900,"src":"21953:24:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"src":"21941:36:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"id":61761,"nodeType":"ExpressionStatement","src":"21941:36:96"}]}}]},"documentation":{"id":61727,"nodeType":"StructuredDocumentation","src":"20969:606:96","text":" @notice Gets the effective proposer whitelist contract for a given request.\n @dev Returns the custom proposer whitelist if set; otherwise falls back to the default. Timestamp is omitted from\n the key derivation, so this can be used for checks before the request is made.\n @param requester The address that made or will make the price request.\n @param identifier The identifier of the price request.\n @param ancillaryData Additional data used to uniquely identify the request.\n @return whitelist The effective AddressWhitelistInterface for the request."},"implemented":true,"kind":"function","modifiers":[],"name":"_getEffectiveProposerWhitelist","nameLocation":"21589:30:96","parameters":{"id":61734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61729,"mutability":"mutable","name":"requester","nameLocation":"21628:9:96","nodeType":"VariableDeclaration","scope":61765,"src":"21620:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61728,"name":"address","nodeType":"ElementaryTypeName","src":"21620:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61731,"mutability":"mutable","name":"identifier","nameLocation":"21647:10:96","nodeType":"VariableDeclaration","scope":61765,"src":"21639:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61730,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21639:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":61733,"mutability":"mutable","name":"ancillaryData","nameLocation":"21672:13:96","nodeType":"VariableDeclaration","scope":61765,"src":"21659:26:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61732,"name":"bytes","nodeType":"ElementaryTypeName","src":"21659:5:96","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21619:67:96"},"returnParameters":{"id":61738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61737,"mutability":"mutable","name":"whitelist","nameLocation":"21759:9:96","nodeType":"VariableDeclaration","scope":61765,"src":"21733:35:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"},"typeName":{"id":61736,"nodeType":"UserDefinedTypeName","pathNode":{"id":61735,"name":"AddressWhitelistInterface","nameLocations":["21733:25:96"],"nodeType":"IdentifierPath","referencedDeclaration":60790,"src":"21733:25:96"},"referencedDeclaration":60790,"src":"21733:25:96","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"visibility":"internal"}],"src":"21732:37:96"},"scope":61771,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":61770,"nodeType":"VariableDeclaration","src":"22422:26:96","nodes":[],"constant":false,"documentation":{"id":61766,"nodeType":"StructuredDocumentation","src":"22000:417:96","text":" @dev Reserve storage slots for future versions of this base contract to add state variables without affecting the\n storage layout of child contracts. Decrement the size of __gap whenever state variables are added. This is at the\n bottom of contract to make sure its always at the end of storage.\n See https://docs.openzeppelin.com/upgrades-plugins/writing-upgradeable#storage-gaps"},"mutability":"mutable","name":"__gap","nameLocation":"22443:5:96","scope":61771,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$993_storage","typeString":"uint256[993]"},"typeName":{"baseType":{"id":61767,"name":"uint256","nodeType":"ElementaryTypeName","src":"22422:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61769,"length":{"hexValue":"393933","id":61768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22430:3:96","typeDescriptions":{"typeIdentifier":"t_rational_993_by_1","typeString":"int_const 993"},"value":"993"},"nodeType":"ArrayTypeName","src":"22422:12:96","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$993_storage_ptr","typeString":"uint256[993]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":60860,"name":"ManagedOptimisticOracleV2Interface","nameLocations":["807:34:96"],"nodeType":"IdentifierPath","referencedDeclaration":63637,"src":"807:34:96"},"id":60861,"nodeType":"InheritanceSpecifier","src":"807:34:96"},{"baseName":{"id":60862,"name":"OptimisticOracleV2","nameLocations":["843:18:96"],"nodeType":"IdentifierPath","referencedDeclaration":63544,"src":"843:18:96"},"id":60863,"nodeType":"InheritanceSpecifier","src":"843:18:96"},{"baseName":{"id":60864,"name":"MultiCaller","nameLocations":["863:11:96"],"nodeType":"IdentifierPath","referencedDeclaration":60759,"src":"863:11:96"},"id":60865,"nodeType":"InheritanceSpecifier","src":"863:11:96"}],"canonicalName":"ManagedOptimisticOracleV2","contractDependencies":[],"contractKind":"contract","documentation":{"id":60859,"nodeType":"StructuredDocumentation","src":"570:198:96","text":" @title Managed Optimistic Oracle V2.\n @notice Pre-DVM escalation contract that allows faster settlement and management of price requests.\n @custom:security-contact bugs@umaproject.org"},"fullyImplemented":true,"linearizedBaseContracts":[61771,60759,63544,60675,40572,39724,41108,46799,41559,41438,41191,41068,41022,41569,40840,64049,63637],"name":"ManagedOptimisticOracleV2","nameLocation":"778:25:96","scope":61772,"usedErrors":[40589,40592,40867,40872,41118,41121,41351,41354,41359,41805,41818,43086,43548,44851,48430,60592,63552,63555,63558,63561,63564,63567,63570,63573,63576,63647,63650,63653,63656,63659,63662,63665,63668,63671,63674,63677,63680,63683],"usedEvents":[40597,41130,41139,41148,41366,41369,41376,41379,41532,63585,63589,63593,63597,63612,63624,63636,63699,63717,63733,63751]}],"license":"AGPL-3.0-only"}},"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol":{"id":97,"ast":{"absolutePath":"src/optimistic-oracle-v2/implementation/OptimisticOracleV2.sol","id":63545,"exportedSymbols":{"AccessControlDefaultAdminRulesUpgradeable":[40572],"AddressLegacy":[60334],"AddressWhitelist":[60496],"AncillaryData":[56832],"FinderInterface":[56983],"FixedPointInterface":[60797],"IERC20":[43048],"IdentifierWhitelistInterface":[57007],"LockableUpgradeable":[60675],"OptimisticOracleV2":[63544],"OptimisticOracleV2Interface":[64049],"OptimisticRequester":[61839],"OracleAncillaryInterface":[57045],"OracleInterfaces":[56958],"SafeERC20":[43538],"StoreInterface":[60844],"UUPSUpgradeable":[41022]},"nodeType":"SourceUnit","src":"356:34595:97","nodes":[{"id":61773,"nodeType":"PragmaDirective","src":"356:24:97","nodes":[],"literals":["solidity","^","0.8",".27"]},{"id":61775,"nodeType":"ImportDirective","src":"382:70:97","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":63545,"sourceUnit":43049,"symbolAliases":[{"foreign":{"id":61774,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"390:6:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61777,"nodeType":"ImportDirective","src":"453:82:97","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","file":"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","nameLocation":"-1:-1:-1","scope":63545,"sourceUnit":43539,"symbolAliases":[{"foreign":{"id":61776,"name":"SafeERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43538,"src":"461:9:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61779,"nodeType":"ImportDirective","src":"537:162:97","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol","nameLocation":"-1:-1:-1","scope":63545,"sourceUnit":40573,"symbolAliases":[{"foreign":{"id":61778,"name":"AccessControlDefaultAdminRulesUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40572,"src":"545:41:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61781,"nodeType":"ImportDirective","src":"700:100:97","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":63545,"sourceUnit":41023,"symbolAliases":[{"foreign":{"id":61780,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41022,"src":"708:15:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61783,"nodeType":"ImportDirective","src":"802:85:97","nodes":[],"absolutePath":"lib/protocol/packages/core/contracts/common/implementation/AncillaryData.sol","file":"@uma/contracts/common/implementation/AncillaryData.sol","nameLocation":"-1:-1:-1","scope":63545,"sourceUnit":56833,"symbolAliases":[{"foreign":{"id":61782,"name":"AncillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56832,"src":"810:13:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61785,"nodeType":"ImportDirective","src":"888:106:97","nodes":[],"absolutePath":"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/FinderInterface.sol","file":"@uma/contracts/data-verification-mechanism/interfaces/FinderInterface.sol","nameLocation":"-1:-1:-1","scope":63545,"sourceUnit":56984,"symbolAliases":[{"foreign":{"id":61784,"name":"FinderInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56983,"src":"896:15:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61787,"nodeType":"ImportDirective","src":"995:136:97","nodes":[],"absolutePath":"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/IdentifierWhitelistInterface.sol","file":"@uma/contracts/data-verification-mechanism/interfaces/IdentifierWhitelistInterface.sol","nameLocation":"-1:-1:-1","scope":63545,"sourceUnit":57008,"symbolAliases":[{"foreign":{"id":61786,"name":"IdentifierWhitelistInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57007,"src":"1003:28:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61789,"nodeType":"ImportDirective","src":"1132:128:97","nodes":[],"absolutePath":"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/OracleAncillaryInterface.sol","file":"@uma/contracts/data-verification-mechanism/interfaces/OracleAncillaryInterface.sol","nameLocation":"-1:-1:-1","scope":63545,"sourceUnit":57046,"symbolAliases":[{"foreign":{"id":61788,"name":"OracleAncillaryInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57045,"src":"1140:24:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61791,"nodeType":"ImportDirective","src":"1261:105:97","nodes":[],"absolutePath":"lib/protocol/packages/core/contracts/data-verification-mechanism/implementation/Constants.sol","file":"@uma/contracts/data-verification-mechanism/implementation/Constants.sol","nameLocation":"-1:-1:-1","scope":63545,"sourceUnit":56964,"symbolAliases":[{"foreign":{"id":61790,"name":"OracleInterfaces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56958,"src":"1269:16:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61793,"nodeType":"ImportDirective","src":"1368:90:97","nodes":[],"absolutePath":"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol","file":"../interfaces/OptimisticOracleV2Interface.sol","nameLocation":"-1:-1:-1","scope":63545,"sourceUnit":64050,"symbolAliases":[{"foreign":{"id":61792,"name":"OptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64049,"src":"1376:27:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61795,"nodeType":"ImportDirective","src":"1460:76:97","nodes":[],"absolutePath":"src/common/implementation/AddressLegacy.sol","file":"../../common/implementation/AddressLegacy.sol","nameLocation":"-1:-1:-1","scope":63545,"sourceUnit":60335,"symbolAliases":[{"foreign":{"id":61794,"name":"AddressLegacy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60334,"src":"1468:13:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61797,"nodeType":"ImportDirective","src":"1537:82:97","nodes":[],"absolutePath":"src/common/implementation/AddressWhitelist.sol","file":"../../common/implementation/AddressWhitelist.sol","nameLocation":"-1:-1:-1","scope":63545,"sourceUnit":60497,"symbolAliases":[{"foreign":{"id":61796,"name":"AddressWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60496,"src":"1545:16:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61799,"nodeType":"ImportDirective","src":"1620:84:97","nodes":[],"absolutePath":"src/common/interfaces/FixedPointInterface.sol","file":"../../common/interfaces/FixedPointInterface.sol","nameLocation":"-1:-1:-1","scope":63545,"sourceUnit":60798,"symbolAliases":[{"foreign":{"id":61798,"name":"FixedPointInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60797,"src":"1628:19:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61801,"nodeType":"ImportDirective","src":"1705:88:97","nodes":[],"absolutePath":"src/common/implementation/LockableUpgradeable.sol","file":"../../common/implementation/LockableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":63545,"sourceUnit":60676,"symbolAliases":[{"foreign":{"id":61800,"name":"LockableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60675,"src":"1713:19:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61803,"nodeType":"ImportDirective","src":"1794:95:97","nodes":[],"absolutePath":"src/data-verification-mechanism/interfaces/StoreInterface.sol","file":"../../data-verification-mechanism/interfaces/StoreInterface.sol","nameLocation":"-1:-1:-1","scope":63545,"sourceUnit":60845,"symbolAliases":[{"foreign":{"id":61802,"name":"StoreInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60844,"src":"1802:14:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61839,"nodeType":"ContractDefinition","src":"2267:1291:97","nodes":[{"id":61814,"nodeType":"FunctionDefinition","src":"2554:99:97","nodes":[],"documentation":{"id":61805,"nodeType":"StructuredDocumentation","src":"2303:246:97","text":" @notice Callback for proposals.\n @param identifier price identifier being requested.\n @param timestamp timestamp of the price being requested.\n @param ancillaryData ancillary data of the price being requested."},"functionSelector":"9c2fd1df","implemented":false,"kind":"function","modifiers":[],"name":"priceProposed","nameLocation":"2563:13:97","parameters":{"id":61812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61807,"mutability":"mutable","name":"identifier","nameLocation":"2585:10:97","nodeType":"VariableDeclaration","scope":61814,"src":"2577:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61806,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2577:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":61809,"mutability":"mutable","name":"timestamp","nameLocation":"2605:9:97","nodeType":"VariableDeclaration","scope":61814,"src":"2597:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61808,"name":"uint256","nodeType":"ElementaryTypeName","src":"2597:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61811,"mutability":"mutable","name":"ancillaryData","nameLocation":"2629:13:97","nodeType":"VariableDeclaration","scope":61814,"src":"2616:26:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61810,"name":"bytes","nodeType":"ElementaryTypeName","src":"2616:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2576:67:97"},"returnParameters":{"id":61813,"nodeType":"ParameterList","parameters":[],"src":"2652:0:97"},"scope":61839,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":61826,"nodeType":"FunctionDefinition","src":"2992:123:97","nodes":[],"documentation":{"id":61815,"nodeType":"StructuredDocumentation","src":"2659:328:97","text":" @notice Callback for disputes.\n @param identifier price identifier being requested.\n @param timestamp timestamp of the price being requested.\n @param ancillaryData ancillary data of the price being requested.\n @param refund refund received in the case that refundOnDispute was enabled."},"functionSelector":"0d8f2372","implemented":false,"kind":"function","modifiers":[],"name":"priceDisputed","nameLocation":"3001:13:97","parameters":{"id":61824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61817,"mutability":"mutable","name":"identifier","nameLocation":"3023:10:97","nodeType":"VariableDeclaration","scope":61826,"src":"3015:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61816,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3015:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":61819,"mutability":"mutable","name":"timestamp","nameLocation":"3043:9:97","nodeType":"VariableDeclaration","scope":61826,"src":"3035:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61818,"name":"uint256","nodeType":"ElementaryTypeName","src":"3035:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61821,"mutability":"mutable","name":"ancillaryData","nameLocation":"3067:13:97","nodeType":"VariableDeclaration","scope":61826,"src":"3054:26:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61820,"name":"bytes","nodeType":"ElementaryTypeName","src":"3054:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":61823,"mutability":"mutable","name":"refund","nameLocation":"3090:6:97","nodeType":"VariableDeclaration","scope":61826,"src":"3082:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61822,"name":"uint256","nodeType":"ElementaryTypeName","src":"3082:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3014:83:97"},"returnParameters":{"id":61825,"nodeType":"ParameterList","parameters":[],"src":"3114:0:97"},"scope":61839,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":61838,"nodeType":"FunctionDefinition","src":"3444:112:97","nodes":[],"documentation":{"id":61827,"nodeType":"StructuredDocumentation","src":"3121:318:97","text":" @notice Callback for settlement.\n @param identifier price identifier being requested.\n @param timestamp timestamp of the price being requested.\n @param ancillaryData ancillary data of the price being requested.\n @param price price that was resolved by the escalation process."},"functionSelector":"04cc1fd5","implemented":false,"kind":"function","modifiers":[],"name":"priceSettled","nameLocation":"3453:12:97","parameters":{"id":61836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61829,"mutability":"mutable","name":"identifier","nameLocation":"3474:10:97","nodeType":"VariableDeclaration","scope":61838,"src":"3466:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61828,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3466:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":61831,"mutability":"mutable","name":"timestamp","nameLocation":"3494:9:97","nodeType":"VariableDeclaration","scope":61838,"src":"3486:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61830,"name":"uint256","nodeType":"ElementaryTypeName","src":"3486:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61833,"mutability":"mutable","name":"ancillaryData","nameLocation":"3518:13:97","nodeType":"VariableDeclaration","scope":61838,"src":"3505:26:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61832,"name":"bytes","nodeType":"ElementaryTypeName","src":"3505:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":61835,"mutability":"mutable","name":"price","nameLocation":"3540:5:97","nodeType":"VariableDeclaration","scope":61838,"src":"3533:12:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":61834,"name":"int256","nodeType":"ElementaryTypeName","src":"3533:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3465:81:97"},"returnParameters":{"id":61837,"nodeType":"ParameterList","parameters":[],"src":"3555:0:97"},"scope":61839,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"OptimisticRequester","contractDependencies":[],"contractKind":"interface","documentation":{"id":61804,"nodeType":"StructuredDocumentation","src":"1891:375:97","text":" @title Optimistic Requester.\n @notice Optional interface that requesters can implement to receive callbacks.\n @dev this contract does _not_ work with ERC777 collateral currencies or any others that call into the receiver on\n transfer(). Using an ERC777 token would allow a user to maliciously grief other participants (while also losing\n money themselves)."},"fullyImplemented":false,"linearizedBaseContracts":[61839],"name":"OptimisticRequester","nameLocation":"2277:19:97","scope":63545,"usedErrors":[],"usedEvents":[]},{"id":63544,"nodeType":"ContractDefinition","src":"3715:31235:97","nodes":[{"id":61852,"nodeType":"UsingForDirective","src":"3877:27:97","nodes":[],"global":false,"libraryName":{"id":61849,"name":"SafeERC20","nameLocations":["3883:9:97"],"nodeType":"IdentifierPath","referencedDeclaration":43538,"src":"3883:9:97"},"typeName":{"id":61851,"nodeType":"UserDefinedTypeName","pathNode":{"id":61850,"name":"IERC20","nameLocations":["3897:6:97"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"3897:6:97"},"referencedDeclaration":43048,"src":"3897:6:97","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}}},{"id":61855,"nodeType":"UsingForDirective","src":"3909:32:97","nodes":[],"global":false,"libraryName":{"id":61853,"name":"AddressLegacy","nameLocations":["3915:13:97"],"nodeType":"IdentifierPath","referencedDeclaration":60334,"src":"3915:13:97"},"typeName":{"id":61854,"name":"address","nodeType":"ElementaryTypeName","src":"3933:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":61858,"nodeType":"VariableDeclaration","src":"3947:63:97","nodes":[],"constant":true,"functionSelector":"8ffc2120","mutability":"constant","name":"UPGRADE_ADMIN_ROLE","nameLocation":"3971:18:97","scope":63544,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61856,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3947:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"id":61857,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39390,"src":"3992:18:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":61862,"nodeType":"VariableDeclaration","src":"4071:38:97","nodes":[],"baseFunctions":[63811],"constant":false,"functionSelector":"b9a3c84c","mutability":"mutable","name":"finder","nameLocation":"4103:6:97","overrides":{"id":61861,"nodeType":"OverrideSpecifier","overrides":[],"src":"4094:8:97"},"scope":63544,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_FinderInterface_$56983","typeString":"contract FinderInterface"},"typeName":{"id":61860,"nodeType":"UserDefinedTypeName","pathNode":{"id":61859,"name":"FinderInterface","nameLocations":["4071:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":56983,"src":"4071:15:97"},"referencedDeclaration":56983,"src":"4071:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_FinderInterface_$56983","typeString":"contract FinderInterface"}},"visibility":"public"},{"id":61865,"nodeType":"VariableDeclaration","src":"4170:39:97","nodes":[],"baseFunctions":[63805],"constant":false,"functionSelector":"fe4e1983","mutability":"mutable","name":"defaultLiveness","nameLocation":"4194:15:97","overrides":{"id":61864,"nodeType":"OverrideSpecifier","overrides":[],"src":"4185:8:97"},"scope":63544,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61863,"name":"uint256","nodeType":"ElementaryTypeName","src":"4170:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":61868,"nodeType":"VariableDeclaration","src":"4332:54:97","nodes":[],"constant":true,"mutability":"constant","name":"MAX_ADDED_ANCILLARY_DATA","nameLocation":"4357:24:97","scope":63544,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61866,"name":"uint256","nodeType":"ElementaryTypeName","src":"4332:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3533","id":61867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4384:2:97","typeDescriptions":{"typeIdentifier":"t_rational_53_by_1","typeString":"int_const 53"},"value":"53"},"visibility":"private"},{"id":61873,"nodeType":"VariableDeclaration","src":"4392:96:97","nodes":[],"constant":true,"functionSelector":"4ccb56f5","mutability":"constant","name":"OO_ANCILLARY_DATA_LIMIT","nameLocation":"4416:23:97","scope":63544,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61869,"name":"uint256","nodeType":"ElementaryTypeName","src":"4392:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61872,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":61870,"name":"ancillaryBytesLimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63800,"src":"4442:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":61871,"name":"MAX_ADDED_ANCILLARY_DATA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61868,"src":"4464:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4442:46:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":61880,"nodeType":"VariableDeclaration","src":"4494:60:97","nodes":[],"constant":true,"functionSelector":"ff8c1a8c","mutability":"constant","name":"TOO_EARLY_RESPONSE","nameLocation":"4517:18:97","scope":63544,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":61874,"name":"int256","nodeType":"ElementaryTypeName","src":"4494:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"value":{"expression":{"arguments":[{"id":61877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4543:6:97","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":61876,"name":"int256","nodeType":"ElementaryTypeName","src":"4543:6:97","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}],"id":61875,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4538:4:97","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":61878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4538:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_int256","typeString":"type(int256)"}},"id":61879,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4551:3:97","memberName":"min","nodeType":"MemberAccess","src":"4538:16:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"public"},{"id":61888,"nodeType":"FunctionDefinition","src":"4614:53:97","nodes":[],"body":{"id":61887,"nodeType":"Block","src":"4628:39:97","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61884,"name":"_disableInitializers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40794,"src":"4638:20:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4638:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61886,"nodeType":"ExpressionStatement","src":"4638:22:97"}]},"documentation":{"id":61881,"nodeType":"StructuredDocumentation","src":"4561:48:97","text":"@custom:oz-upgrades-unsafe-allow constructor"},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":61882,"nodeType":"ParameterList","parameters":[],"src":"4625:2:97"},"returnParameters":{"id":61883,"nodeType":"ParameterList","parameters":[],"src":"4628:0:97"},"scope":63544,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61907,"nodeType":"FunctionDefinition","src":"4974:189:97","nodes":[],"body":{"id":61906,"nodeType":"Block","src":"5080:83:97","nodes":[],"statements":[{"expression":{"arguments":[{"id":61901,"name":"_liveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61891,"src":"5116:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61902,"name":"_finderAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61893,"src":"5127:14:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61903,"name":"upgradeAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61895,"src":"5143:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":61900,"name":"__OptimisticOracleV2_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61936,"src":"5090:25:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_address_$returns$__$","typeString":"function (uint256,address,address)"}},"id":61904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5090:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61905,"nodeType":"ExpressionStatement","src":"5090:66:97"}]},"documentation":{"id":61889,"nodeType":"StructuredDocumentation","src":"4673:296:97","text":" @notice Initializer (external).\n @dev Used only for standalone deployments of the OptimisticOracleV2Upgradeable contract.\n @param _liveness default liveness applied to each price request.\n @param _finderAddress finder to use to get addresses of DVM contracts."},"functionSelector":"b4988fd0","implemented":true,"kind":"function","modifiers":[{"id":61898,"kind":"modifierInvocation","modifierName":{"id":61897,"name":"initializer","nameLocations":["5068:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":40680,"src":"5068:11:97"},"nodeType":"ModifierInvocation","src":"5068:11:97"}],"name":"initialize","nameLocation":"4983:10:97","parameters":{"id":61896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61891,"mutability":"mutable","name":"_liveness","nameLocation":"5002:9:97","nodeType":"VariableDeclaration","scope":61907,"src":"4994:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61890,"name":"uint256","nodeType":"ElementaryTypeName","src":"4994:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61893,"mutability":"mutable","name":"_finderAddress","nameLocation":"5021:14:97","nodeType":"VariableDeclaration","scope":61907,"src":"5013:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61892,"name":"address","nodeType":"ElementaryTypeName","src":"5013:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61895,"mutability":"mutable","name":"upgradeAdmin","nameLocation":"5045:12:97","nodeType":"VariableDeclaration","scope":61907,"src":"5037:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61894,"name":"address","nodeType":"ElementaryTypeName","src":"5037:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4993:65:97"},"returnParameters":{"id":61899,"nodeType":"ParameterList","parameters":[],"src":"5080:0:97"},"scope":63544,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":61936,"nodeType":"FunctionDefinition","src":"5392:441:97","nodes":[],"body":{"id":61935,"nodeType":"Block","src":"5538:295:97","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61919,"name":"__UUPSUpgradeable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40894,"src":"5548:22:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5548:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61921,"nodeType":"ExpressionStatement","src":"5548:24:97"},{"expression":{"arguments":[{"hexValue":"33","id":61923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5620:6:97","subdenomination":"days","typeDescriptions":{"typeIdentifier":"t_rational_259200_by_1","typeString":"int_const 259200"},"value":"3"},{"id":61924,"name":"upgradeAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61914,"src":"5628:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_259200_by_1","typeString":"int_const 259200"},{"typeIdentifier":"t_address","typeString":"address"}],"id":61922,"name":"__AccessControlDefaultAdminRules_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39792,"src":"5582:37:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint48_$_t_address_$returns$__$","typeString":"function (uint48,address)"}},"id":61925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5582:59:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61926,"nodeType":"ExpressionStatement","src":"5582:59:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61927,"name":"__LockableUpgradeable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60605,"src":"5726:26:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5726:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61929,"nodeType":"ExpressionStatement","src":"5726:28:97"},{"expression":{"arguments":[{"id":61931,"name":"_liveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61910,"src":"5800:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61932,"name":"_finderAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61912,"src":"5811:14:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":61930,"name":"__OptimisticOracleV2_init_unchained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61961,"src":"5764:35:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":61933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5764:62:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61934,"nodeType":"ExpressionStatement","src":"5764:62:97"}]},"documentation":{"id":61908,"nodeType":"StructuredDocumentation","src":"5169:218:97","text":" @notice Initializer (internal, main entry point).\n @param _liveness default liveness applied to each price request.\n @param _finderAddress finder to use to get addresses of DVM contracts."},"implemented":true,"kind":"function","modifiers":[{"id":61917,"kind":"modifierInvocation","modifierName":{"id":61916,"name":"onlyInitializing","nameLocations":["5517:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":40735,"src":"5517:16:97"},"nodeType":"ModifierInvocation","src":"5517:16:97"}],"name":"__OptimisticOracleV2_init","nameLocation":"5401:25:97","parameters":{"id":61915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61910,"mutability":"mutable","name":"_liveness","nameLocation":"5435:9:97","nodeType":"VariableDeclaration","scope":61936,"src":"5427:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61909,"name":"uint256","nodeType":"ElementaryTypeName","src":"5427:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61912,"mutability":"mutable","name":"_finderAddress","nameLocation":"5454:14:97","nodeType":"VariableDeclaration","scope":61936,"src":"5446:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61911,"name":"address","nodeType":"ElementaryTypeName","src":"5446:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61914,"mutability":"mutable","name":"upgradeAdmin","nameLocation":"5478:12:97","nodeType":"VariableDeclaration","scope":61936,"src":"5470:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61913,"name":"address","nodeType":"ElementaryTypeName","src":"5470:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5426:65:97"},"returnParameters":{"id":61918,"nodeType":"ParameterList","parameters":[],"src":"5538:0:97"},"scope":63544,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":61961,"nodeType":"FunctionDefinition","src":"6055:246:97","nodes":[],"body":{"id":61960,"nodeType":"Block","src":"6169:132:97","nodes":[],"statements":[{"expression":{"id":61950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61946,"name":"finder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61862,"src":"6179:6:97","typeDescriptions":{"typeIdentifier":"t_contract$_FinderInterface_$56983","typeString":"contract FinderInterface"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":61948,"name":"_finderAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61941,"src":"6204:14:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61947,"name":"FinderInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56983,"src":"6188:15:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FinderInterface_$56983_$","typeString":"type(contract FinderInterface)"}},"id":61949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6188:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_FinderInterface_$56983","typeString":"contract FinderInterface"}},"src":"6179:40:97","typeDescriptions":{"typeIdentifier":"t_contract$_FinderInterface_$56983","typeString":"contract FinderInterface"}},"id":61951,"nodeType":"ExpressionStatement","src":"6179:40:97"},{"expression":{"arguments":[{"id":61953,"name":"_liveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61939,"src":"6247:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61952,"name":"_validateLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63318,"src":"6229:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":61954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6229:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61955,"nodeType":"ExpressionStatement","src":"6229:28:97"},{"expression":{"id":61958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61956,"name":"defaultLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61865,"src":"6267:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":61957,"name":"_liveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61939,"src":"6285:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6267:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61959,"nodeType":"ExpressionStatement","src":"6267:27:97"}]},"documentation":{"id":61937,"nodeType":"StructuredDocumentation","src":"5839:211:97","text":" @notice Initializer (internal, unchained).\n @param _liveness default liveness applied to each price request.\n @param _finderAddress finder to use to get addresses of DVM contracts."},"implemented":true,"kind":"function","modifiers":[{"id":61944,"kind":"modifierInvocation","modifierName":{"id":61943,"name":"onlyInitializing","nameLocations":["6152:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":40735,"src":"6152:16:97"},"nodeType":"ModifierInvocation","src":"6152:16:97"}],"name":"__OptimisticOracleV2_init_unchained","nameLocation":"6064:35:97","parameters":{"id":61942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61939,"mutability":"mutable","name":"_liveness","nameLocation":"6108:9:97","nodeType":"VariableDeclaration","scope":61961,"src":"6100:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61938,"name":"uint256","nodeType":"ElementaryTypeName","src":"6100:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61941,"mutability":"mutable","name":"_finderAddress","nameLocation":"6127:14:97","nodeType":"VariableDeclaration","scope":61961,"src":"6119:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61940,"name":"address","nodeType":"ElementaryTypeName","src":"6119:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6099:43:97"},"returnParameters":{"id":61945,"nodeType":"ParameterList","parameters":[],"src":"6169:0:97"},"scope":63544,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":61970,"nodeType":"ModifierDefinition","src":"6397:86:97","nodes":[],"body":{"id":61969,"nodeType":"Block","src":"6425:58:97","nodes":[],"statements":[{"expression":{"arguments":[{"id":61965,"name":"UPGRADE_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61858,"src":"6446:18:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":61964,"name":"_checkRole","nodeType":"Identifier","overloadedDeclarations":[39491,39512],"referencedDeclaration":39491,"src":"6435:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$__$","typeString":"function (bytes32) view"}},"id":61966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6435:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61967,"nodeType":"ExpressionStatement","src":"6435:30:97"},{"id":61968,"nodeType":"PlaceholderStatement","src":"6475:1:97"}]},"documentation":{"id":61962,"nodeType":"StructuredDocumentation","src":"6307:85:97","text":" @dev Throws if called by any account other than the upgrade admin."},"name":"onlyUpgradeAdmin","nameLocation":"6406:16:97","parameters":{"id":61963,"nodeType":"ParameterList","parameters":[],"src":"6422:2:97"},"virtual":false,"visibility":"internal"},{"id":61980,"nodeType":"FunctionDefinition","src":"6657:73:97","nodes":[],"body":{"id":61979,"nodeType":"Block","src":"6728:2:97","nodes":[],"statements":[]},"baseFunctions":[40976],"documentation":{"id":61971,"nodeType":"StructuredDocumentation","src":"6489:163:97","text":" @notice Authorizes the upgrade of the contract.\n @dev This is required for UUPSUpgradeable. Only the upgrade admin can authorize upgrades."},"implemented":true,"kind":"function","modifiers":[{"id":61977,"kind":"modifierInvocation","modifierName":{"id":61976,"name":"onlyUpgradeAdmin","nameLocations":["6711:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":61970,"src":"6711:16:97"},"nodeType":"ModifierInvocation","src":"6711:16:97"}],"name":"_authorizeUpgrade","nameLocation":"6666:17:97","overrides":{"id":61975,"nodeType":"OverrideSpecifier","overrides":[],"src":"6702:8:97"},"parameters":{"id":61974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61973,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":61980,"src":"6684:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61972,"name":"address","nodeType":"ElementaryTypeName","src":"6684:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6683:9:97"},"returnParameters":{"id":61978,"nodeType":"ParameterList","parameters":[],"src":"6728:0:97"},"scope":63544,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":62141,"nodeType":"FunctionDefinition","src":"7595:2132:97","nodes":[],"body":{"id":62140,"nodeType":"Block","src":"7828:1899:97","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"},"id":62010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":62002,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7856:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":62003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7860:6:97","memberName":"sender","nodeType":"MemberAccess","src":"7856:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62004,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61983,"src":"7868:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62005,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61985,"src":"7880:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62006,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61987,"src":"7891:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62001,"name":"_getState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63413,"src":"7846:9:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_enum$_State_$63759_$","typeString":"function (address,bytes32,uint256,bytes memory) view returns (enum OptimisticOracleV2Interface.State)"}},"id":62007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7846:59:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":62008,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63759,"src":"7909:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$63759_$","typeString":"type(enum OptimisticOracleV2Interface.State)"}},"id":62009,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7915:7:97","memberName":"Invalid","nodeType":"MemberAccess","referencedDeclaration":63752,"src":"7909:13:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"src":"7846:76:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":62011,"name":"RequestStateNotInvalid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63647,"src":"7924:22:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":62012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7924:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":62000,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"7838:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":62013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7838:111:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62014,"nodeType":"ExpressionStatement","src":"7838:111:97"},{"expression":{"arguments":[{"arguments":[{"id":62019,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61983,"src":"8015:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62016,"name":"_getIdentifierWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63473,"src":"7967:23:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_IdentifierWhitelistInterface_$57007_$","typeString":"function () view returns (contract IdentifierWhitelistInterface)"}},"id":62017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7967:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IdentifierWhitelistInterface_$57007","typeString":"contract IdentifierWhitelistInterface"}},"id":62018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7993:21:97","memberName":"isIdentifierSupported","nodeType":"MemberAccess","referencedDeclaration":57006,"src":"7967:47:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view external returns (bool)"}},"id":62020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7967:59:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":62021,"name":"UnsupportedIdentifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63656,"src":"8028:21:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":62022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8028:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":62015,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"7959:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":62023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7959:93:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62024,"nodeType":"ExpressionStatement","src":"7959:93:97"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":62031,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61990,"src":"8118:8:97","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}],"id":62030,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8110:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62029,"name":"address","nodeType":"ElementaryTypeName","src":"8110:7:97","typeDescriptions":{}}},"id":62032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8110:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62026,"name":"_getCollateralWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63443,"src":"8070:23:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_AddressWhitelist_$60496_$","typeString":"function () view returns (contract AddressWhitelist)"}},"id":62027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8070:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":62028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8096:13:97","memberName":"isOnWhitelist","nodeType":"MemberAccess","referencedDeclaration":60448,"src":"8070:39:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":62033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8070:58:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":62034,"name":"UnsupportedCurrency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63659,"src":"8130:19:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":62035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8130:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":62025,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"8062:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":62036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8062:90:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62037,"nodeType":"ExpressionStatement","src":"8062:90:97"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62039,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61985,"src":"8170:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":62040,"name":"getCurrentTime","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63538,"src":"8183:14:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":62041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8183:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8170:29:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":62043,"name":"TimestampInFuture","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63662,"src":"8201:17:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":62044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8201:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":62038,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"8162:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":62045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8162:59:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62046,"nodeType":"ExpressionStatement","src":"8162:59:97"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":62048,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61987,"src":"8410:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":62049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8424:6:97","memberName":"length","nodeType":"MemberAccess","src":"8410:20:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":62050,"name":"OO_ANCILLARY_DATA_LIMIT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61873,"src":"8434:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8410:47:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":62052,"name":"AncillaryDataTooLong","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63665,"src":"8459:20:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":62053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8459:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":62047,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"8402:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":62054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8402:80:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62055,"nodeType":"ExpressionStatement","src":"8402:80:97"},{"assignments":[62057],"declarations":[{"constant":false,"id":62057,"mutability":"mutable","name":"finalFee","nameLocation":"8501:8:97","nodeType":"VariableDeclaration","scope":62140,"src":"8493:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62056,"name":"uint256","nodeType":"ElementaryTypeName","src":"8493:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62067,"initialValue":{"expression":{"arguments":[{"arguments":[{"id":62063,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61990,"src":"8548:8:97","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}],"id":62062,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8540:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62061,"name":"address","nodeType":"ElementaryTypeName","src":"8540:7:97","typeDescriptions":{}}},"id":62064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8540:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62058,"name":"_getStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63458,"src":"8512:9:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_StoreInterface_$60844_$","typeString":"function () view returns (contract StoreInterface)"}},"id":62059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8512:11:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_StoreInterface_$60844","typeString":"contract StoreInterface"}},"id":62060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8524:15:97","memberName":"computeFinalFee","nodeType":"MemberAccess","referencedDeclaration":60843,"src":"8512:27:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_struct$_Unsigned_$60796_memory_ptr_$","typeString":"function (address) view external returns (struct FixedPointInterface.Unsigned memory)"}},"id":62065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8512:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_memory_ptr","typeString":"struct FixedPointInterface.Unsigned memory"}},"id":62066,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8559:8:97","memberName":"rawValue","nodeType":"MemberAccess","referencedDeclaration":60795,"src":"8512:55:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8493:74:97"},{"expression":{"id":62103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62068,"name":"requests","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63821,"src":"8577:8:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Request_$63797_storage_$","typeString":"mapping(bytes32 => struct OptimisticOracleV2Interface.Request storage ref)"}},"id":62076,"indexExpression":{"arguments":[{"expression":{"id":62070,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8593:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":62071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8597:6:97","memberName":"sender","nodeType":"MemberAccess","src":"8593:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62072,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61983,"src":"8605:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62073,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61985,"src":"8617:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62074,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61987,"src":"8628:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62069,"name":"_getId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63066,"src":"8586:6:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (address,bytes32,uint256,bytes memory) pure returns (bytes32)"}},"id":62075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8586:56:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8577:66:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage","typeString":"struct OptimisticOracleV2Interface.Request storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"30","id":62080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8686:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62079,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8678:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62078,"name":"address","nodeType":"ElementaryTypeName","src":"8678:7:97","typeDescriptions":{}}},"id":62081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8678:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":62084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8720:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8712:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62082,"name":"address","nodeType":"ElementaryTypeName","src":"8712:7:97","typeDescriptions":{}}},"id":62085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8712:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62086,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61990,"src":"8746:8:97","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"hexValue":"66616c7365","id":62087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8777:5:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"66616c7365","id":62089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8859:5:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":62090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8899:5:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":62091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8947:5:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":62092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8995:5:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":62093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9042:5:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":62094,"name":"finalFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62057,"src":"9071:8:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":62095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9113:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62088,"name":"RequestSettings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63774,"src":"8813:15:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RequestSettings_$63774_storage_ptr_$","typeString":"type(struct OptimisticOracleV2Interface.RequestSettings storage pointer)"}},"id":62096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["8847:10:97","8882:15:97","8922:23:97","8970:23:97","9018:22:97","9065:4:97","9097:14:97"],"names":["eventBased","refundOnDispute","callbackOnPriceProposed","callbackOnPriceDisputed","callbackOnPriceSettled","bond","customLiveness"],"nodeType":"FunctionCall","src":"8813:316:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_memory_ptr","typeString":"struct OptimisticOracleV2Interface.RequestSettings memory"}},{"hexValue":"30","id":62097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9158:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":62098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9188:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":62099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9219:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":62100,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61992,"src":"9242:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62101,"name":"finalFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62057,"src":"9272:8:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_struct$_RequestSettings_$63774_memory_ptr","typeString":"struct OptimisticOracleV2Interface.RequestSettings memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62077,"name":"Request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63797,"src":"8646:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Request_$63797_storage_ptr_$","typeString":"type(struct OptimisticOracleV2Interface.Request storage pointer)"}},"id":62102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["8668:8:97","8702:8:97","8736:8:97","8768:7:97","8796:15:97","9143:13:97","9173:13:97","9203:14:97","9234:6:97","9262:8:97"],"names":["proposer","disputer","currency","settled","requestSettings","proposedPrice","resolvedPrice","expirationTime","reward","finalFee"],"nodeType":"FunctionCall","src":"8646:645:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_memory_ptr","typeString":"struct OptimisticOracleV2Interface.Request memory"}},"src":"8577:714:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage","typeString":"struct OptimisticOracleV2Interface.Request storage ref"}},"id":62104,"nodeType":"ExpressionStatement","src":"8577:714:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62105,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61992,"src":"9306:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":62106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9315:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9306:10:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62121,"nodeType":"IfStatement","src":"9302:101:97","trueBody":{"id":62120,"nodeType":"Block","src":"9318:85:97","statements":[{"expression":{"arguments":[{"expression":{"id":62111,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9358:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":62112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9362:6:97","memberName":"sender","nodeType":"MemberAccess","src":"9358:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":62115,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"9378:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_OptimisticOracleV2_$63544","typeString":"contract OptimisticOracleV2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_OptimisticOracleV2_$63544","typeString":"contract OptimisticOracleV2"}],"id":62114,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9370:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62113,"name":"address","nodeType":"ElementaryTypeName","src":"9370:7:97","typeDescriptions":{}}},"id":62116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9370:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62117,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61992,"src":"9385:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62108,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61990,"src":"9332:8:97","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"id":62110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9341:16:97","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":43146,"src":"9332:25:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$43048_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$43048_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":62118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9332:60:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62119,"nodeType":"ExpressionStatement","src":"9332:60:97"}]}},{"eventCall":{"arguments":[{"expression":{"id":62123,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9431:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":62124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9435:6:97","memberName":"sender","nodeType":"MemberAccess","src":"9431:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62125,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61983,"src":"9443:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62126,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61985,"src":"9455:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62127,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61987,"src":"9466:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":62130,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61990,"src":"9489:8:97","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}],"id":62129,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9481:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62128,"name":"address","nodeType":"ElementaryTypeName","src":"9481:7:97","typeDescriptions":{}}},"id":62131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9481:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62132,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61992,"src":"9500:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62133,"name":"finalFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62057,"src":"9508:8:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62122,"name":"RequestPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63699,"src":"9418:12:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,bytes32,uint256,bytes memory,address,uint256,uint256)"}},"id":62134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9418:99:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62135,"nodeType":"EmitStatement","src":"9413:104:97"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62136,"name":"finalFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62057,"src":"9708:8:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"32","id":62137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9719:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"9708:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":61999,"id":62139,"nodeType":"Return","src":"9701:19:97"}]},"baseFunctions":[63838],"documentation":{"id":61981,"nodeType":"StructuredDocumentation","src":"6736:854:97","text":" @notice Requests a new price.\n @param identifier price identifier being requested.\n @param timestamp timestamp of the price being requested.\n @param ancillaryData ancillary data representing additional args being passed with the price request.\n @param currency ERC20 token used for payment of rewards and fees. Must be approved for use with the DVM.\n @param reward reward offered to a successful proposer. Will be pulled from the caller. Note: this can be 0,\n which could make sense if the contract requests and proposes the value in the same call or\n provides its own reward system.\n @return totalBond default bond (final fee) + final fee that the proposer and disputer will be required to pay.\n This can be changed with a subsequent call to setBond()."},"functionSelector":"11df92f1","implemented":true,"kind":"function","modifiers":[{"id":61996,"kind":"modifierInvocation","modifierName":{"id":61995,"name":"nonReentrant","nameLocations":["7787:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":60619,"src":"7787:12:97"},"nodeType":"ModifierInvocation","src":"7787:12:97"}],"name":"requestPrice","nameLocation":"7604:12:97","overrides":{"id":61994,"nodeType":"OverrideSpecifier","overrides":[],"src":"7778:8:97"},"parameters":{"id":61993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61983,"mutability":"mutable","name":"identifier","nameLocation":"7634:10:97","nodeType":"VariableDeclaration","scope":62141,"src":"7626:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61982,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7626:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":61985,"mutability":"mutable","name":"timestamp","nameLocation":"7662:9:97","nodeType":"VariableDeclaration","scope":62141,"src":"7654:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61984,"name":"uint256","nodeType":"ElementaryTypeName","src":"7654:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61987,"mutability":"mutable","name":"ancillaryData","nameLocation":"7694:13:97","nodeType":"VariableDeclaration","scope":62141,"src":"7681:26:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61986,"name":"bytes","nodeType":"ElementaryTypeName","src":"7681:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":61990,"mutability":"mutable","name":"currency","nameLocation":"7724:8:97","nodeType":"VariableDeclaration","scope":62141,"src":"7717:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},"typeName":{"id":61989,"nodeType":"UserDefinedTypeName","pathNode":{"id":61988,"name":"IERC20","nameLocations":["7717:6:97"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"7717:6:97"},"referencedDeclaration":43048,"src":"7717:6:97","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":61992,"mutability":"mutable","name":"reward","nameLocation":"7750:6:97","nodeType":"VariableDeclaration","scope":62141,"src":"7742:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61991,"name":"uint256","nodeType":"ElementaryTypeName","src":"7742:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7616:146:97"},"returnParameters":{"id":61999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61998,"mutability":"mutable","name":"totalBond","nameLocation":"7817:9:97","nodeType":"VariableDeclaration","scope":62141,"src":"7809:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61997,"name":"uint256","nodeType":"ElementaryTypeName","src":"7809:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7808:19:97"},"scope":63544,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":62198,"nodeType":"FunctionDefinition","src":"10254:591:97","nodes":[],"body":{"id":62197,"nodeType":"Block","src":"10447:398:97","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"},"id":62168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":62160,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10488:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":62161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10492:6:97","memberName":"sender","nodeType":"MemberAccess","src":"10488:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62162,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62144,"src":"10500:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62163,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62146,"src":"10512:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62164,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62148,"src":"10523:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62159,"name":"_getState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63413,"src":"10478:9:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_enum$_State_$63759_$","typeString":"function (address,bytes32,uint256,bytes memory) view returns (enum OptimisticOracleV2Interface.State)"}},"id":62165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10478:59:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":62166,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63759,"src":"10541:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$63759_$","typeString":"type(enum OptimisticOracleV2Interface.State)"}},"id":62167,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10547:9:97","memberName":"Requested","nodeType":"MemberAccess","referencedDeclaration":63753,"src":"10541:15:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"src":"10478:78:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":62169,"name":"RequestStateNotRequested","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63650,"src":"10558:24:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":62170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10558:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":62158,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"10457:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":62171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10457:137:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62172,"nodeType":"ExpressionStatement","src":"10457:137:97"},{"assignments":[62175],"declarations":[{"constant":false,"id":62175,"mutability":"mutable","name":"request","nameLocation":"10620:7:97","nodeType":"VariableDeclaration","scope":62197,"src":"10604:23:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"},"typeName":{"id":62174,"nodeType":"UserDefinedTypeName","pathNode":{"id":62173,"name":"Request","nameLocations":["10604:7:97"],"nodeType":"IdentifierPath","referencedDeclaration":63797,"src":"10604:7:97"},"referencedDeclaration":63797,"src":"10604:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"}},"visibility":"internal"}],"id":62183,"initialValue":{"arguments":[{"expression":{"id":62177,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10642:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":62178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10646:6:97","memberName":"sender","nodeType":"MemberAccess","src":"10642:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62179,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62144,"src":"10654:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62180,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62146,"src":"10666:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62181,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62148,"src":"10677:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62176,"name":"_getRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63281,"src":"10630:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_struct$_Request_$63797_storage_ptr_$","typeString":"function (address,bytes32,uint256,bytes memory) view returns (struct OptimisticOracleV2Interface.Request storage pointer)"}},"id":62182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10630:61:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"10604:87:97"},{"expression":{"id":62190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":62184,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62175,"src":"10701:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62187,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10709:15:97","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"10701:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":62188,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"10725:4:97","memberName":"bond","nodeType":"MemberAccess","referencedDeclaration":63771,"src":"10701:28:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62189,"name":"bond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62150,"src":"10732:4:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10701:35:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62191,"nodeType":"ExpressionStatement","src":"10701:35:97"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62192,"name":"bond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62150,"src":"10815:4:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":62193,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62175,"src":"10822:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62194,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10830:8:97","memberName":"finalFee","nodeType":"MemberAccess","referencedDeclaration":63796,"src":"10822:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10815:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":62157,"id":62196,"nodeType":"Return","src":"10808:30:97"}]},"baseFunctions":[63852],"documentation":{"id":62142,"nodeType":"StructuredDocumentation","src":"9733:516:97","text":" @notice Set the proposal bond associated with a price request.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @param bond custom bond amount to set.\n @return totalBond new bond + final fee that the proposer and disputer will be required to pay. This can be\n changed again with a subsequent call to setBond()."},"functionSelector":"ad5a755a","implemented":true,"kind":"function","modifiers":[{"id":62154,"kind":"modifierInvocation","modifierName":{"id":62153,"name":"nonReentrant","nameLocations":["10394:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":60619,"src":"10394:12:97"},"nodeType":"ModifierInvocation","src":"10394:12:97"}],"name":"setBond","nameLocation":"10263:7:97","overrides":{"id":62152,"nodeType":"OverrideSpecifier","overrides":[],"src":"10377:8:97"},"parameters":{"id":62151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62144,"mutability":"mutable","name":"identifier","nameLocation":"10279:10:97","nodeType":"VariableDeclaration","scope":62198,"src":"10271:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62143,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10271:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":62146,"mutability":"mutable","name":"timestamp","nameLocation":"10299:9:97","nodeType":"VariableDeclaration","scope":62198,"src":"10291:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62145,"name":"uint256","nodeType":"ElementaryTypeName","src":"10291:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62148,"mutability":"mutable","name":"ancillaryData","nameLocation":"10323:13:97","nodeType":"VariableDeclaration","scope":62198,"src":"10310:26:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62147,"name":"bytes","nodeType":"ElementaryTypeName","src":"10310:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":62150,"mutability":"mutable","name":"bond","nameLocation":"10346:4:97","nodeType":"VariableDeclaration","scope":62198,"src":"10338:12:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62149,"name":"uint256","nodeType":"ElementaryTypeName","src":"10338:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10270:81:97"},"returnParameters":{"id":62157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62156,"mutability":"mutable","name":"totalBond","nameLocation":"10432:9:97","nodeType":"VariableDeclaration","scope":62198,"src":"10424:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62155,"name":"uint256","nodeType":"ElementaryTypeName","src":"10424:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10423:19:97"},"scope":63544,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":62239,"nodeType":"FunctionDefinition","src":"11401:418:97","nodes":[],"body":{"id":62238,"nodeType":"Block","src":"11555:264:97","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"},"id":62221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":62213,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11596:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":62214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11600:6:97","memberName":"sender","nodeType":"MemberAccess","src":"11596:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62215,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62201,"src":"11608:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62216,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62203,"src":"11620:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62217,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62205,"src":"11631:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62212,"name":"_getState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63413,"src":"11586:9:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_enum$_State_$63759_$","typeString":"function (address,bytes32,uint256,bytes memory) view returns (enum OptimisticOracleV2Interface.State)"}},"id":62218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11586:59:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":62219,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63759,"src":"11649:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$63759_$","typeString":"type(enum OptimisticOracleV2Interface.State)"}},"id":62220,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11655:9:97","memberName":"Requested","nodeType":"MemberAccess","referencedDeclaration":63753,"src":"11649:15:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"src":"11586:78:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":62222,"name":"RequestStateNotRequested","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63650,"src":"11666:24:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":62223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11666:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":62211,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"11565:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":62224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11565:137:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62225,"nodeType":"ExpressionStatement","src":"11565:137:97"},{"expression":{"id":62236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"arguments":[{"expression":{"id":62227,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11724:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":62228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11728:6:97","memberName":"sender","nodeType":"MemberAccess","src":"11724:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62229,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62201,"src":"11736:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62230,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62203,"src":"11748:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62231,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62205,"src":"11759:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62226,"name":"_getRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63281,"src":"11712:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_struct$_Request_$63797_storage_ptr_$","typeString":"function (address,bytes32,uint256,bytes memory) view returns (struct OptimisticOracleV2Interface.Request storage pointer)"}},"id":62232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11712:61:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62233,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11774:15:97","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"11712:77:97","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":62234,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11790:15:97","memberName":"refundOnDispute","nodeType":"MemberAccess","referencedDeclaration":63763,"src":"11712:93:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":62235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11808:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"11712:100:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62237,"nodeType":"ExpressionStatement","src":"11712:100:97"}]},"baseFunctions":[63862],"documentation":{"id":62199,"nodeType":"StructuredDocumentation","src":"10851:545:97","text":" @notice Sets the request to refund the reward if the proposal is disputed. This can help to \"hedge\" the caller\n in the event of a dispute-caused delay. Note: in the event of a dispute, the winner still receives the other's\n bond, so there is still profit to be made even if the reward is refunded.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested."},"functionSelector":"91f58dcb","implemented":true,"kind":"function","modifiers":[{"id":62209,"kind":"modifierInvocation","modifierName":{"id":62208,"name":"nonReentrant","nameLocations":["11538:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":60619,"src":"11538:12:97"},"nodeType":"ModifierInvocation","src":"11538:12:97"}],"name":"setRefundOnDispute","nameLocation":"11410:18:97","overrides":{"id":62207,"nodeType":"OverrideSpecifier","overrides":[],"src":"11521:8:97"},"parameters":{"id":62206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62201,"mutability":"mutable","name":"identifier","nameLocation":"11437:10:97","nodeType":"VariableDeclaration","scope":62239,"src":"11429:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62200,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11429:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":62203,"mutability":"mutable","name":"timestamp","nameLocation":"11457:9:97","nodeType":"VariableDeclaration","scope":62239,"src":"11449:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62202,"name":"uint256","nodeType":"ElementaryTypeName","src":"11449:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62205,"mutability":"mutable","name":"ancillaryData","nameLocation":"11481:13:97","nodeType":"VariableDeclaration","scope":62239,"src":"11468:26:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62204,"name":"bytes","nodeType":"ElementaryTypeName","src":"11468:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11428:67:97"},"returnParameters":{"id":62210,"nodeType":"ParameterList","parameters":[],"src":"11555:0:97"},"scope":63544,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":62286,"nodeType":"FunctionDefinition","src":"12256:503:97","nodes":[],"body":{"id":62285,"nodeType":"Block","src":"12443:316:97","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"},"id":62264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":62256,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12484:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":62257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12488:6:97","memberName":"sender","nodeType":"MemberAccess","src":"12484:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62258,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62242,"src":"12496:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62259,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62244,"src":"12508:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62260,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62246,"src":"12519:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62255,"name":"_getState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63413,"src":"12474:9:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_enum$_State_$63759_$","typeString":"function (address,bytes32,uint256,bytes memory) view returns (enum OptimisticOracleV2Interface.State)"}},"id":62261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12474:59:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":62262,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63759,"src":"12537:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$63759_$","typeString":"type(enum OptimisticOracleV2Interface.State)"}},"id":62263,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12543:9:97","memberName":"Requested","nodeType":"MemberAccess","referencedDeclaration":63753,"src":"12537:15:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"src":"12474:78:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":62265,"name":"RequestStateNotRequested","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63650,"src":"12554:24:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":62266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12554:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":62254,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"12453:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":62267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12453:137:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62268,"nodeType":"ExpressionStatement","src":"12453:137:97"},{"expression":{"arguments":[{"id":62270,"name":"customLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62248,"src":"12618:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62269,"name":"_validateLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63318,"src":"12600:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":62271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12600:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62272,"nodeType":"ExpressionStatement","src":"12600:33:97"},{"expression":{"id":62283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"arguments":[{"expression":{"id":62274,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12655:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":62275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12659:6:97","memberName":"sender","nodeType":"MemberAccess","src":"12655:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62276,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62242,"src":"12667:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62277,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62244,"src":"12679:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62278,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62246,"src":"12690:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62273,"name":"_getRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63281,"src":"12643:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_struct$_Request_$63797_storage_ptr_$","typeString":"function (address,bytes32,uint256,bytes memory) view returns (struct OptimisticOracleV2Interface.Request storage pointer)"}},"id":62279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12643:61:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62280,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12705:15:97","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"12643:77:97","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":62281,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12721:14:97","memberName":"customLiveness","nodeType":"MemberAccess","referencedDeclaration":63773,"src":"12643:92:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62282,"name":"customLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62248,"src":"12738:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12643:109:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62284,"nodeType":"ExpressionStatement","src":"12643:109:97"}]},"baseFunctions":[63874],"documentation":{"id":62240,"nodeType":"StructuredDocumentation","src":"11825:426:97","text":" @notice Sets a custom liveness value for the request. Liveness is the amount of time a proposal must wait before\n being auto-resolved.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @param customLiveness new custom liveness."},"functionSelector":"473c45fe","implemented":true,"kind":"function","modifiers":[{"id":62252,"kind":"modifierInvocation","modifierName":{"id":62251,"name":"nonReentrant","nameLocations":["12430:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":60619,"src":"12430:12:97"},"nodeType":"ModifierInvocation","src":"12430:12:97"}],"name":"setCustomLiveness","nameLocation":"12265:17:97","overrides":{"id":62250,"nodeType":"OverrideSpecifier","overrides":[],"src":"12421:8:97"},"parameters":{"id":62249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62242,"mutability":"mutable","name":"identifier","nameLocation":"12300:10:97","nodeType":"VariableDeclaration","scope":62286,"src":"12292:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62241,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12292:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":62244,"mutability":"mutable","name":"timestamp","nameLocation":"12328:9:97","nodeType":"VariableDeclaration","scope":62286,"src":"12320:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62243,"name":"uint256","nodeType":"ElementaryTypeName","src":"12320:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62246,"mutability":"mutable","name":"ancillaryData","nameLocation":"12360:13:97","nodeType":"VariableDeclaration","scope":62286,"src":"12347:26:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62245,"name":"bytes","nodeType":"ElementaryTypeName","src":"12347:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":62248,"mutability":"mutable","name":"customLiveness","nameLocation":"12391:14:97","nodeType":"VariableDeclaration","scope":62286,"src":"12383:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62247,"name":"uint256","nodeType":"ElementaryTypeName","src":"12383:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12282:129:97"},"returnParameters":{"id":62253,"nodeType":"ParameterList","parameters":[],"src":"12443:0:97"},"scope":63544,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":62342,"nodeType":"FunctionDefinition","src":"13632:507:97","nodes":[],"body":{"id":62341,"nodeType":"Block","src":"13781:358:97","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"},"id":62309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":62301,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13822:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":62302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13826:6:97","memberName":"sender","nodeType":"MemberAccess","src":"13822:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62303,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62289,"src":"13834:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62304,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62291,"src":"13846:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62305,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62293,"src":"13857:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62300,"name":"_getState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63413,"src":"13812:9:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_enum$_State_$63759_$","typeString":"function (address,bytes32,uint256,bytes memory) view returns (enum OptimisticOracleV2Interface.State)"}},"id":62306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13812:59:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":62307,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63759,"src":"13875:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$63759_$","typeString":"type(enum OptimisticOracleV2Interface.State)"}},"id":62308,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13881:9:97","memberName":"Requested","nodeType":"MemberAccess","referencedDeclaration":63753,"src":"13875:15:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"src":"13812:78:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":62310,"name":"RequestStateNotRequested","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63650,"src":"13892:24:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":62311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13892:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":62299,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"13791:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":62312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13791:137:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62313,"nodeType":"ExpressionStatement","src":"13791:137:97"},{"assignments":[62316],"declarations":[{"constant":false,"id":62316,"mutability":"mutable","name":"request","nameLocation":"13954:7:97","nodeType":"VariableDeclaration","scope":62341,"src":"13938:23:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"},"typeName":{"id":62315,"nodeType":"UserDefinedTypeName","pathNode":{"id":62314,"name":"Request","nameLocations":["13938:7:97"],"nodeType":"IdentifierPath","referencedDeclaration":63797,"src":"13938:7:97"},"referencedDeclaration":63797,"src":"13938:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"}},"visibility":"internal"}],"id":62324,"initialValue":{"arguments":[{"expression":{"id":62318,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13976:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":62319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13980:6:97","memberName":"sender","nodeType":"MemberAccess","src":"13976:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62320,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62289,"src":"13988:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62321,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62291,"src":"14000:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62322,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62293,"src":"14011:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62317,"name":"_getRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63281,"src":"13964:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_struct$_Request_$63797_storage_ptr_$","typeString":"function (address,bytes32,uint256,bytes memory) view returns (struct OptimisticOracleV2Interface.Request storage pointer)"}},"id":62323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13964:61:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"13938:87:97"},{"expression":{"id":62331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":62325,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62316,"src":"14035:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62328,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14043:15:97","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"14035:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":62329,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14059:10:97","memberName":"eventBased","nodeType":"MemberAccess","referencedDeclaration":63761,"src":"14035:34:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":62330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14072:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"14035:41:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62332,"nodeType":"ExpressionStatement","src":"14035:41:97"},{"expression":{"id":62339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":62333,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62316,"src":"14086:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62336,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14094:15:97","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"14086:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":62337,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14110:15:97","memberName":"refundOnDispute","nodeType":"MemberAccess","referencedDeclaration":63763,"src":"14086:39:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":62338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14128:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"14086:46:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62340,"nodeType":"ExpressionStatement","src":"14086:46:97"}]},"baseFunctions":[63884],"documentation":{"id":62287,"nodeType":"StructuredDocumentation","src":"12765:862:97","text":" @notice Sets the request to be an \"event-based\" request.\n @dev Calling this method has a few impacts on the request:\n 1. The timestamp at which the request is evaluated is the time of the proposal, not the timestamp associated\n with the request.\n 2. The proposer cannot propose the \"too early\" value (TOO_EARLY_RESPONSE). This is to ensure that a proposer who\n prematurely proposes a response loses their bond.\n 3. RefundoOnDispute is automatically set, meaning disputes trigger the reward to be automatically refunded to\n the requesting contract.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested."},"functionSelector":"120698af","implemented":true,"kind":"function","modifiers":[{"id":62297,"kind":"modifierInvocation","modifierName":{"id":62296,"name":"nonReentrant","nameLocations":["13764:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":60619,"src":"13764:12:97"},"nodeType":"ModifierInvocation","src":"13764:12:97"}],"name":"setEventBased","nameLocation":"13641:13:97","overrides":{"id":62295,"nodeType":"OverrideSpecifier","overrides":[],"src":"13747:8:97"},"parameters":{"id":62294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62289,"mutability":"mutable","name":"identifier","nameLocation":"13663:10:97","nodeType":"VariableDeclaration","scope":62342,"src":"13655:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62288,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13655:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":62291,"mutability":"mutable","name":"timestamp","nameLocation":"13683:9:97","nodeType":"VariableDeclaration","scope":62342,"src":"13675:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62290,"name":"uint256","nodeType":"ElementaryTypeName","src":"13675:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62293,"mutability":"mutable","name":"ancillaryData","nameLocation":"13707:13:97","nodeType":"VariableDeclaration","scope":62342,"src":"13694:26:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62292,"name":"bytes","nodeType":"ElementaryTypeName","src":"13694:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"13654:67:97"},"returnParameters":{"id":62298,"nodeType":"ParameterList","parameters":[],"src":"13781:0:97"},"scope":63544,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":62412,"nodeType":"FunctionDefinition","src":"14705:761:97","nodes":[],"body":{"id":62411,"nodeType":"Block","src":"14968:498:97","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"},"id":62371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":62363,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15009:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":62364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15013:6:97","memberName":"sender","nodeType":"MemberAccess","src":"15009:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62365,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62345,"src":"15021:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62366,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62347,"src":"15033:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62367,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62349,"src":"15044:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62362,"name":"_getState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63413,"src":"14999:9:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_enum$_State_$63759_$","typeString":"function (address,bytes32,uint256,bytes memory) view returns (enum OptimisticOracleV2Interface.State)"}},"id":62368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14999:59:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":62369,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63759,"src":"15062:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$63759_$","typeString":"type(enum OptimisticOracleV2Interface.State)"}},"id":62370,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15068:9:97","memberName":"Requested","nodeType":"MemberAccess","referencedDeclaration":63753,"src":"15062:15:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"src":"14999:78:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":62372,"name":"RequestStateNotRequested","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63650,"src":"15079:24:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":62373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15079:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":62361,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"14978:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":62374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14978:137:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62375,"nodeType":"ExpressionStatement","src":"14978:137:97"},{"assignments":[62378],"declarations":[{"constant":false,"id":62378,"mutability":"mutable","name":"request","nameLocation":"15141:7:97","nodeType":"VariableDeclaration","scope":62411,"src":"15125:23:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"},"typeName":{"id":62377,"nodeType":"UserDefinedTypeName","pathNode":{"id":62376,"name":"Request","nameLocations":["15125:7:97"],"nodeType":"IdentifierPath","referencedDeclaration":63797,"src":"15125:7:97"},"referencedDeclaration":63797,"src":"15125:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"}},"visibility":"internal"}],"id":62386,"initialValue":{"arguments":[{"expression":{"id":62380,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15163:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":62381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15167:6:97","memberName":"sender","nodeType":"MemberAccess","src":"15163:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62382,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62345,"src":"15175:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62383,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62347,"src":"15187:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62384,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62349,"src":"15198:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62379,"name":"_getRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63281,"src":"15151:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_struct$_Request_$63797_storage_ptr_$","typeString":"function (address,bytes32,uint256,bytes memory) view returns (struct OptimisticOracleV2Interface.Request storage pointer)"}},"id":62385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15151:61:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"15125:87:97"},{"expression":{"id":62393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":62387,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62378,"src":"15222:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62390,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15230:15:97","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"15222:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":62391,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15246:23:97","memberName":"callbackOnPriceProposed","nodeType":"MemberAccess","referencedDeclaration":63765,"src":"15222:47:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62392,"name":"callbackOnPriceProposed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62351,"src":"15272:23:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15222:73:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62394,"nodeType":"ExpressionStatement","src":"15222:73:97"},{"expression":{"id":62401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":62395,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62378,"src":"15305:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62398,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15313:15:97","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"15305:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":62399,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15329:23:97","memberName":"callbackOnPriceDisputed","nodeType":"MemberAccess","referencedDeclaration":63767,"src":"15305:47:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62400,"name":"callbackOnPriceDisputed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62353,"src":"15355:23:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15305:73:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62402,"nodeType":"ExpressionStatement","src":"15305:73:97"},{"expression":{"id":62409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":62403,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62378,"src":"15388:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62406,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15396:15:97","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"15388:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":62407,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15412:22:97","memberName":"callbackOnPriceSettled","nodeType":"MemberAccess","referencedDeclaration":63769,"src":"15388:46:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62408,"name":"callbackOnPriceSettled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62355,"src":"15437:22:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15388:71:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62410,"nodeType":"ExpressionStatement","src":"15388:71:97"}]},"baseFunctions":[63900],"documentation":{"id":62343,"nodeType":"StructuredDocumentation","src":"14145:555:97","text":" @notice Sets which callbacks should be enabled for the request.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @param callbackOnPriceProposed whether to enable the callback onPriceProposed.\n @param callbackOnPriceDisputed whether to enable the callback onPriceDisputed.\n @param callbackOnPriceSettled whether to enable the callback onPriceSettled."},"functionSelector":"f327b075","implemented":true,"kind":"function","modifiers":[{"id":62359,"kind":"modifierInvocation","modifierName":{"id":62358,"name":"nonReentrant","nameLocations":["14955:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":60619,"src":"14955:12:97"},"nodeType":"ModifierInvocation","src":"14955:12:97"}],"name":"setCallbacks","nameLocation":"14714:12:97","overrides":{"id":62357,"nodeType":"OverrideSpecifier","overrides":[],"src":"14946:8:97"},"parameters":{"id":62356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62345,"mutability":"mutable","name":"identifier","nameLocation":"14744:10:97","nodeType":"VariableDeclaration","scope":62412,"src":"14736:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62344,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14736:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":62347,"mutability":"mutable","name":"timestamp","nameLocation":"14772:9:97","nodeType":"VariableDeclaration","scope":62412,"src":"14764:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62346,"name":"uint256","nodeType":"ElementaryTypeName","src":"14764:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62349,"mutability":"mutable","name":"ancillaryData","nameLocation":"14804:13:97","nodeType":"VariableDeclaration","scope":62412,"src":"14791:26:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62348,"name":"bytes","nodeType":"ElementaryTypeName","src":"14791:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":62351,"mutability":"mutable","name":"callbackOnPriceProposed","nameLocation":"14832:23:97","nodeType":"VariableDeclaration","scope":62412,"src":"14827:28:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":62350,"name":"bool","nodeType":"ElementaryTypeName","src":"14827:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":62353,"mutability":"mutable","name":"callbackOnPriceDisputed","nameLocation":"14870:23:97","nodeType":"VariableDeclaration","scope":62412,"src":"14865:28:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":62352,"name":"bool","nodeType":"ElementaryTypeName","src":"14865:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":62355,"mutability":"mutable","name":"callbackOnPriceSettled","nameLocation":"14908:22:97","nodeType":"VariableDeclaration","scope":62412,"src":"14903:27:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":62354,"name":"bool","nodeType":"ElementaryTypeName","src":"14903:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14726:210:97"},"returnParameters":{"id":62360,"nodeType":"ParameterList","parameters":[],"src":"14968:0:97"},"scope":63544,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":62580,"nodeType":"FunctionDefinition","src":"16241:1914:97","nodes":[],"body":{"id":62579,"nodeType":"Block","src":"16511:1644:97","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":62439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62434,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62415,"src":"16529:8:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":62437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16549:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16541:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62435,"name":"address","nodeType":"ElementaryTypeName","src":"16541:7:97","typeDescriptions":{}}},"id":62438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16541:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16529:22:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":62440,"name":"ProposerAddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63668,"src":"16553:27:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":62441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16553:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":62433,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"16521:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":62442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16521:62:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62443,"nodeType":"ExpressionStatement","src":"16521:62:97"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"},"id":62453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":62446,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62417,"src":"16624:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62447,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62419,"src":"16635:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62448,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62421,"src":"16647:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62449,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62423,"src":"16658:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62445,"name":"_getState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63413,"src":"16614:9:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_enum$_State_$63759_$","typeString":"function (address,bytes32,uint256,bytes memory) view returns (enum OptimisticOracleV2Interface.State)"}},"id":62450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16614:58:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":62451,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63759,"src":"16676:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$63759_$","typeString":"type(enum OptimisticOracleV2Interface.State)"}},"id":62452,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16682:9:97","memberName":"Requested","nodeType":"MemberAccess","referencedDeclaration":63753,"src":"16676:15:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"src":"16614:77:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":62454,"name":"RequestStateNotRequested","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63650,"src":"16693:24:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":62455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16693:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":62444,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"16593:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":62456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16593:136:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62457,"nodeType":"ExpressionStatement","src":"16593:136:97"},{"assignments":[62460],"declarations":[{"constant":false,"id":62460,"mutability":"mutable","name":"request","nameLocation":"16755:7:97","nodeType":"VariableDeclaration","scope":62579,"src":"16739:23:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"},"typeName":{"id":62459,"nodeType":"UserDefinedTypeName","pathNode":{"id":62458,"name":"Request","nameLocations":["16739:7:97"],"nodeType":"IdentifierPath","referencedDeclaration":63797,"src":"16739:7:97"},"referencedDeclaration":63797,"src":"16739:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"}},"visibility":"internal"}],"id":62467,"initialValue":{"arguments":[{"id":62462,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62417,"src":"16777:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62463,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62419,"src":"16788:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62464,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62421,"src":"16800:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62465,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62423,"src":"16811:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62461,"name":"_getRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63281,"src":"16765:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_struct$_Request_$63797_storage_ptr_$","typeString":"function (address,bytes32,uint256,bytes memory) view returns (struct OptimisticOracleV2Interface.Request storage pointer)"}},"id":62466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16765:60:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"16739:86:97"},{"condition":{"expression":{"expression":{"id":62468,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62460,"src":"16839:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62469,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16847:15:97","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"16839:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":62470,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16863:10:97","memberName":"eventBased","nodeType":"MemberAccess","referencedDeclaration":63761,"src":"16839:34:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62480,"nodeType":"IfStatement","src":"16835:134:97","trueBody":{"id":62479,"nodeType":"Block","src":"16875:94:97","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":62474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62472,"name":"proposedPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62425,"src":"16897:13:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":62473,"name":"TOO_EARLY_RESPONSE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61880,"src":"16914:18:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"16897:35:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":62475,"name":"CannotProposeTooEarly","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63671,"src":"16934:21:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":62476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16934:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":62471,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"16889:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":62477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16889:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62478,"nodeType":"ExpressionStatement","src":"16889:69:97"}]}},{"expression":{"id":62485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":62481,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62460,"src":"16978:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62483,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16986:8:97","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":63776,"src":"16978:16:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62484,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62415,"src":"16997:8:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16978:27:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":62486,"nodeType":"ExpressionStatement","src":"16978:27:97"},{"expression":{"id":62491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":62487,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62460,"src":"17015:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62489,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17023:13:97","memberName":"proposedPrice","nodeType":"MemberAccess","referencedDeclaration":63788,"src":"17015:21:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62490,"name":"proposedPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62425,"src":"17039:13:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"17015:37:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":62492,"nodeType":"ExpressionStatement","src":"17015:37:97"},{"expression":{"id":62510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":62493,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62460,"src":"17140:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62495,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17148:14:97","memberName":"expirationTime","nodeType":"MemberAccess","referencedDeclaration":63792,"src":"17140:22:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":62496,"name":"getCurrentTime","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63538,"src":"17165:14:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":62497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17165:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":62498,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62460,"src":"17197:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62499,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17205:15:97","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"17197:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":62500,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17221:14:97","memberName":"customLiveness","nodeType":"MemberAccess","referencedDeclaration":63773,"src":"17197:38:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":62501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17239:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"17197:43:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":62506,"name":"defaultLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61865,"src":"17284:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"17197:102:97","trueExpression":{"expression":{"expression":{"id":62503,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62460,"src":"17243:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62504,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17251:15:97","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"17243:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":62505,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17267:14:97","memberName":"customLiveness","nodeType":"MemberAccess","referencedDeclaration":63773,"src":"17243:38:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":62508,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"17196:104:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17165:135:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17140:160:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62511,"nodeType":"ExpressionStatement","src":"17140:160:97"},{"expression":{"id":62519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62512,"name":"totalBond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62431,"src":"17311:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":62513,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62460,"src":"17323:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62514,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17331:15:97","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"17323:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":62515,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17347:4:97","memberName":"bond","nodeType":"MemberAccess","referencedDeclaration":63771,"src":"17323:28:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":62516,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62460,"src":"17354:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62517,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17362:8:97","memberName":"finalFee","nodeType":"MemberAccess","referencedDeclaration":63796,"src":"17354:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17323:47:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17311:59:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62520,"nodeType":"ExpressionStatement","src":"17311:59:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62521,"name":"totalBond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62431,"src":"17384:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":62522,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17396:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"17384:13:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62538,"nodeType":"IfStatement","src":"17380:90:97","trueBody":{"expression":{"arguments":[{"expression":{"id":62529,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17433:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":62530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17437:6:97","memberName":"sender","nodeType":"MemberAccess","src":"17433:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":62533,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17453:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_OptimisticOracleV2_$63544","typeString":"contract OptimisticOracleV2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_OptimisticOracleV2_$63544","typeString":"contract OptimisticOracleV2"}],"id":62532,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17445:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62531,"name":"address","nodeType":"ElementaryTypeName","src":"17445:7:97","typeDescriptions":{}}},"id":62534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17445:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62535,"name":"totalBond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62431,"src":"17460:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":62524,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62460,"src":"17399:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62527,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17407:8:97","memberName":"currency","nodeType":"MemberAccess","referencedDeclaration":63781,"src":"17399:16:97","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"id":62528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17416:16:97","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":43146,"src":"17399:33:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$43048_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$43048_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":62536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17399:71:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62537,"nodeType":"ExpressionStatement","src":"17399:71:97"}},{"eventCall":{"arguments":[{"id":62540,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62417,"src":"17512:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62541,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62415,"src":"17535:8:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62542,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62419,"src":"17557:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62543,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62421,"src":"17581:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62544,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62423,"src":"17604:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":62545,"name":"proposedPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62425,"src":"17631:13:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"expression":{"id":62546,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62460,"src":"17658:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62547,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17666:14:97","memberName":"expirationTime","nodeType":"MemberAccess","referencedDeclaration":63792,"src":"17658:22:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"id":62550,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62460,"src":"17702:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62551,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17710:8:97","memberName":"currency","nodeType":"MemberAccess","referencedDeclaration":63781,"src":"17702:16:97","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}],"id":62549,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17694:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62548,"name":"address","nodeType":"ElementaryTypeName","src":"17694:7:97","typeDescriptions":{}}},"id":62552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17694:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":62539,"name":"ProposePrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63717,"src":"17486:12:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$_t_int256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,address,bytes32,uint256,bytes memory,int256,uint256,address)"}},"id":62553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17486:243:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62554,"nodeType":"EmitStatement","src":"17481:248:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62555,"name":"_startReentrantGuardDisabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60661,"src":"17864:28:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17864:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62557,"nodeType":"ExpressionStatement","src":"17864:30:97"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":62564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62558,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62417,"src":"17929:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":62559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17939:10:97","memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":60333,"src":"17929:20:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address) view returns (bool)"}},"id":62560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17929:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"expression":{"expression":{"id":62561,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62460,"src":"17955:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62562,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17963:15:97","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"17955:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":62563,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17979:23:97","memberName":"callbackOnPriceProposed","nodeType":"MemberAccess","referencedDeclaration":63765,"src":"17955:47:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"17929:73:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62575,"nodeType":"IfStatement","src":"17925:186:97","trueBody":{"id":62574,"nodeType":"Block","src":"18004:107:97","statements":[{"expression":{"arguments":[{"id":62569,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62419,"src":"18063:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62570,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62421,"src":"18075:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62571,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62423,"src":"18086:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":62566,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62417,"src":"18038:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62565,"name":"OptimisticRequester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61839,"src":"18018:19:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OptimisticRequester_$61839_$","typeString":"type(contract OptimisticRequester)"}},"id":62567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18018:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_OptimisticRequester_$61839","typeString":"contract OptimisticRequester"}},"id":62568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18049:13:97","memberName":"priceProposed","nodeType":"MemberAccess","referencedDeclaration":61814,"src":"18018:44:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,bytes memory) external"}},"id":62572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18018:82:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62573,"nodeType":"ExpressionStatement","src":"18018:82:97"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62576,"name":"_endReentrantGuardDisabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60669,"src":"18120:26:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18120:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62578,"nodeType":"ExpressionStatement","src":"18120:28:97"}]},"baseFunctions":[63918],"documentation":{"id":62413,"nodeType":"StructuredDocumentation","src":"15472:764:97","text":" @notice Proposes a price value on another address' behalf. Note: this address will receive any rewards that come\n from this proposal. However, any bonds are pulled from the caller.\n @param proposer address to set as the proposer.\n @param requester sender of the initial price request.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @param proposedPrice price being proposed.\n @return totalBond the amount that's pulled from the caller's wallet as a bond. The bond will be returned to\n the proposer once settled if the proposal is correct."},"functionSelector":"7c82288f","implemented":true,"kind":"function","modifiers":[{"id":62429,"kind":"modifierInvocation","modifierName":{"id":62428,"name":"nonReentrant","nameLocations":["16470:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":60619,"src":"16470:12:97"},"nodeType":"ModifierInvocation","src":"16470:12:97"}],"name":"proposePriceFor","nameLocation":"16250:15:97","overrides":{"id":62427,"nodeType":"OverrideSpecifier","overrides":[],"src":"16461:8:97"},"parameters":{"id":62426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62415,"mutability":"mutable","name":"proposer","nameLocation":"16283:8:97","nodeType":"VariableDeclaration","scope":62580,"src":"16275:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62414,"name":"address","nodeType":"ElementaryTypeName","src":"16275:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62417,"mutability":"mutable","name":"requester","nameLocation":"16309:9:97","nodeType":"VariableDeclaration","scope":62580,"src":"16301:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62416,"name":"address","nodeType":"ElementaryTypeName","src":"16301:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62419,"mutability":"mutable","name":"identifier","nameLocation":"16336:10:97","nodeType":"VariableDeclaration","scope":62580,"src":"16328:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62418,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16328:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":62421,"mutability":"mutable","name":"timestamp","nameLocation":"16364:9:97","nodeType":"VariableDeclaration","scope":62580,"src":"16356:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62420,"name":"uint256","nodeType":"ElementaryTypeName","src":"16356:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62423,"mutability":"mutable","name":"ancillaryData","nameLocation":"16396:13:97","nodeType":"VariableDeclaration","scope":62580,"src":"16383:26:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62422,"name":"bytes","nodeType":"ElementaryTypeName","src":"16383:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":62425,"mutability":"mutable","name":"proposedPrice","nameLocation":"16426:13:97","nodeType":"VariableDeclaration","scope":62580,"src":"16419:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":62424,"name":"int256","nodeType":"ElementaryTypeName","src":"16419:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"16265:180:97"},"returnParameters":{"id":62432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62431,"mutability":"mutable","name":"totalBond","nameLocation":"16500:9:97","nodeType":"VariableDeclaration","scope":62580,"src":"16492:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62430,"name":"uint256","nodeType":"ElementaryTypeName","src":"16492:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16491:19:97"},"scope":63544,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":62608,"nodeType":"FunctionDefinition","src":"18752:399:97","nodes":[],"body":{"id":62607,"nodeType":"Block","src":"18974:177:97","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":62598,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"19069:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":62599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19073:6:97","memberName":"sender","nodeType":"MemberAccess","src":"19069:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62600,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62583,"src":"19081:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62601,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62585,"src":"19092:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62602,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62587,"src":"19104:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62603,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62589,"src":"19115:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":62604,"name":"proposedPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62591,"src":"19130:13:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":62597,"name":"proposePriceFor","nodeType":"Identifier","overloadedDeclarations":[62580],"referencedDeclaration":62580,"src":"19053:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$_t_int256_$returns$_t_uint256_$","typeString":"function (address,address,bytes32,uint256,bytes memory,int256) returns (uint256)"}},"id":62605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19053:91:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":62596,"id":62606,"nodeType":"Return","src":"19046:98:97"}]},"baseFunctions":[63934],"documentation":{"id":62581,"nodeType":"StructuredDocumentation","src":"18161:586:97","text":" @notice Proposes a price value for an existing price request.\n @param requester sender of the initial price request.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @param proposedPrice price being proposed.\n @return totalBond the amount that's pulled from the proposer's wallet as a bond. The bond will be returned to\n the proposer once settled if the proposal is correct."},"functionSelector":"b8b4f908","implemented":true,"kind":"function","modifiers":[],"name":"proposePrice","nameLocation":"18761:12:97","overrides":{"id":62593,"nodeType":"OverrideSpecifier","overrides":[],"src":"18937:8:97"},"parameters":{"id":62592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62583,"mutability":"mutable","name":"requester","nameLocation":"18791:9:97","nodeType":"VariableDeclaration","scope":62608,"src":"18783:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62582,"name":"address","nodeType":"ElementaryTypeName","src":"18783:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62585,"mutability":"mutable","name":"identifier","nameLocation":"18818:10:97","nodeType":"VariableDeclaration","scope":62608,"src":"18810:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62584,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18810:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":62587,"mutability":"mutable","name":"timestamp","nameLocation":"18846:9:97","nodeType":"VariableDeclaration","scope":62608,"src":"18838:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62586,"name":"uint256","nodeType":"ElementaryTypeName","src":"18838:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62589,"mutability":"mutable","name":"ancillaryData","nameLocation":"18878:13:97","nodeType":"VariableDeclaration","scope":62608,"src":"18865:26:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62588,"name":"bytes","nodeType":"ElementaryTypeName","src":"18865:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":62591,"mutability":"mutable","name":"proposedPrice","nameLocation":"18908:13:97","nodeType":"VariableDeclaration","scope":62608,"src":"18901:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":62590,"name":"int256","nodeType":"ElementaryTypeName","src":"18901:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"18773:154:97"},"returnParameters":{"id":62596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62595,"mutability":"mutable","name":"totalBond","nameLocation":"18963:9:97","nodeType":"VariableDeclaration","scope":62608,"src":"18955:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62594,"name":"uint256","nodeType":"ElementaryTypeName","src":"18955:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18954:19:97"},"scope":63544,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":62835,"nodeType":"FunctionDefinition","src":"19928:2492:97","nodes":[],"body":{"id":62834,"nodeType":"Block","src":"20160:2260:97","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":62633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62628,"name":"disputer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62611,"src":"20178:8:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":62631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20198:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62630,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20190:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62629,"name":"address","nodeType":"ElementaryTypeName","src":"20190:7:97","typeDescriptions":{}}},"id":62632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20190:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20178:22:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":62634,"name":"DisputerAddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63674,"src":"20202:27:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":62635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20202:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":62627,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"20170:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":62636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20170:62:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62637,"nodeType":"ExpressionStatement","src":"20170:62:97"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"},"id":62647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":62640,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62613,"src":"20260:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62641,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62615,"src":"20271:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62642,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62617,"src":"20283:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62643,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62619,"src":"20294:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62639,"name":"_getState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63413,"src":"20250:9:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_enum$_State_$63759_$","typeString":"function (address,bytes32,uint256,bytes memory) view returns (enum OptimisticOracleV2Interface.State)"}},"id":62644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20250:58:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":62645,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63759,"src":"20312:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$63759_$","typeString":"type(enum OptimisticOracleV2Interface.State)"}},"id":62646,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20318:8:97","memberName":"Proposed","nodeType":"MemberAccess","referencedDeclaration":63754,"src":"20312:14:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"src":"20250:76:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":62648,"name":"RequestStateNotProposed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63653,"src":"20328:23:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":62649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20328:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":62638,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"20242:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":62650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20242:112:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62651,"nodeType":"ExpressionStatement","src":"20242:112:97"},{"assignments":[62654],"declarations":[{"constant":false,"id":62654,"mutability":"mutable","name":"request","nameLocation":"20380:7:97","nodeType":"VariableDeclaration","scope":62834,"src":"20364:23:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"},"typeName":{"id":62653,"nodeType":"UserDefinedTypeName","pathNode":{"id":62652,"name":"Request","nameLocations":["20364:7:97"],"nodeType":"IdentifierPath","referencedDeclaration":63797,"src":"20364:7:97"},"referencedDeclaration":63797,"src":"20364:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"}},"visibility":"internal"}],"id":62661,"initialValue":{"arguments":[{"id":62656,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62613,"src":"20402:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62657,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62615,"src":"20413:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62658,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62617,"src":"20425:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62659,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62619,"src":"20436:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62655,"name":"_getRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63281,"src":"20390:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_struct$_Request_$63797_storage_ptr_$","typeString":"function (address,bytes32,uint256,bytes memory) view returns (struct OptimisticOracleV2Interface.Request storage pointer)"}},"id":62660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20390:60:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"20364:86:97"},{"expression":{"id":62666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":62662,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62654,"src":"20460:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62664,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"20468:8:97","memberName":"disputer","nodeType":"MemberAccess","referencedDeclaration":63778,"src":"20460:16:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62665,"name":"disputer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62611,"src":"20479:8:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20460:27:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":62667,"nodeType":"ExpressionStatement","src":"20460:27:97"},{"assignments":[62669],"declarations":[{"constant":false,"id":62669,"mutability":"mutable","name":"finalFee","nameLocation":"20506:8:97","nodeType":"VariableDeclaration","scope":62834,"src":"20498:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62668,"name":"uint256","nodeType":"ElementaryTypeName","src":"20498:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62672,"initialValue":{"expression":{"id":62670,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62654,"src":"20517:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62671,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20525:8:97","memberName":"finalFee","nodeType":"MemberAccess","referencedDeclaration":63796,"src":"20517:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20498:35:97"},{"assignments":[62674],"declarations":[{"constant":false,"id":62674,"mutability":"mutable","name":"bond","nameLocation":"20551:4:97","nodeType":"VariableDeclaration","scope":62834,"src":"20543:12:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62673,"name":"uint256","nodeType":"ElementaryTypeName","src":"20543:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62678,"initialValue":{"expression":{"expression":{"id":62675,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62654,"src":"20558:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62676,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20566:15:97","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"20558:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":62677,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20582:4:97","memberName":"bond","nodeType":"MemberAccess","referencedDeclaration":63771,"src":"20558:28:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20543:43:97"},{"expression":{"id":62683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62679,"name":"totalBond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62625,"src":"20596:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62680,"name":"bond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62674,"src":"20608:4:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":62681,"name":"finalFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62669,"src":"20615:8:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20608:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20596:27:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62684,"nodeType":"ExpressionStatement","src":"20596:27:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62685,"name":"totalBond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62625,"src":"20637:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":62686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20649:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20637:13:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62703,"nodeType":"IfStatement","src":"20633:115:97","trueBody":{"id":62702,"nodeType":"Block","src":"20652:96:97","statements":[{"expression":{"arguments":[{"expression":{"id":62693,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"20700:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":62694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20704:6:97","memberName":"sender","nodeType":"MemberAccess","src":"20700:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":62697,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20720:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_OptimisticOracleV2_$63544","typeString":"contract OptimisticOracleV2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_OptimisticOracleV2_$63544","typeString":"contract OptimisticOracleV2"}],"id":62696,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20712:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62695,"name":"address","nodeType":"ElementaryTypeName","src":"20712:7:97","typeDescriptions":{}}},"id":62698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20712:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62699,"name":"totalBond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62625,"src":"20727:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":62688,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62654,"src":"20666:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62691,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20674:8:97","memberName":"currency","nodeType":"MemberAccess","referencedDeclaration":63781,"src":"20666:16:97","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"id":62692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20683:16:97","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":43146,"src":"20666:33:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$43048_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$43048_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":62700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20666:71:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62701,"nodeType":"ExpressionStatement","src":"20666:71:97"}]}},{"assignments":[62706],"declarations":[{"constant":false,"id":62706,"mutability":"mutable","name":"store","nameLocation":"20773:5:97","nodeType":"VariableDeclaration","scope":62834,"src":"20758:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_StoreInterface_$60844","typeString":"contract StoreInterface"},"typeName":{"id":62705,"nodeType":"UserDefinedTypeName","pathNode":{"id":62704,"name":"StoreInterface","nameLocations":["20758:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":60844,"src":"20758:14:97"},"referencedDeclaration":60844,"src":"20758:14:97","typeDescriptions":{"typeIdentifier":"t_contract$_StoreInterface_$60844","typeString":"contract StoreInterface"}},"visibility":"internal"}],"id":62709,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":62707,"name":"_getStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63458,"src":"20781:9:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_StoreInterface_$60844_$","typeString":"function () view returns (contract StoreInterface)"}},"id":62708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20781:11:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_StoreInterface_$60844","typeString":"contract StoreInterface"}},"nodeType":"VariableDeclarationStatement","src":"20758:34:97"},{"assignments":[62711],"declarations":[{"constant":false,"id":62711,"mutability":"mutable","name":"totalFee","nameLocation":"21134:8:97","nodeType":"VariableDeclaration","scope":62834,"src":"21126:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62710,"name":"uint256","nodeType":"ElementaryTypeName","src":"21126:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62717,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62712,"name":"finalFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62669,"src":"21145:8:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":62714,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62654,"src":"21175:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}],"id":62713,"name":"_computeBurnedBond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63296,"src":"21156:18:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Request_$63797_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct OptimisticOracleV2Interface.Request storage pointer) view returns (uint256)"}},"id":62715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21156:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21145:38:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21126:57:97"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62718,"name":"totalFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62711,"src":"21197:8:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":62719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21208:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21197:12:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62748,"nodeType":"IfStatement","src":"21193:218:97","trueBody":{"id":62747,"nodeType":"Block","src":"21211:200:97","statements":[{"expression":{"arguments":[{"arguments":[{"id":62728,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62706,"src":"21272:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_StoreInterface_$60844","typeString":"contract StoreInterface"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_StoreInterface_$60844","typeString":"contract StoreInterface"}],"id":62727,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21264:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62726,"name":"address","nodeType":"ElementaryTypeName","src":"21264:7:97","typeDescriptions":{}}},"id":62729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21264:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62730,"name":"totalFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62711,"src":"21280:8:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":62721,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62654,"src":"21225:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62724,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21233:8:97","memberName":"currency","nodeType":"MemberAccess","referencedDeclaration":63781,"src":"21225:16:97","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"id":62725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21242:21:97","memberName":"safeIncreaseAllowance","nodeType":"MemberAccess","referencedDeclaration":43232,"src":"21225:38:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$43048_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$43048_$","typeString":"function (contract IERC20,address,uint256)"}},"id":62731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21225:64:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62732,"nodeType":"ExpressionStatement","src":"21225:64:97"},{"expression":{"arguments":[{"arguments":[{"expression":{"id":62738,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62654,"src":"21342:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62739,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21350:8:97","memberName":"currency","nodeType":"MemberAccess","referencedDeclaration":63781,"src":"21342:16:97","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}],"id":62737,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21334:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62736,"name":"address","nodeType":"ElementaryTypeName","src":"21334:7:97","typeDescriptions":{}}},"id":62740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21334:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":62743,"name":"totalFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62711,"src":"21390:8:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62741,"name":"FixedPointInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60797,"src":"21361:19:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPointInterface_$60797_$","typeString":"type(contract FixedPointInterface)"}},"id":62742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21381:8:97","memberName":"Unsigned","nodeType":"MemberAccess","referencedDeclaration":60796,"src":"21361:28:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Unsigned_$60796_storage_ptr_$","typeString":"type(struct FixedPointInterface.Unsigned storage pointer)"}},"id":62744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21361:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_memory_ptr","typeString":"struct FixedPointInterface.Unsigned memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_Unsigned_$60796_memory_ptr","typeString":"struct FixedPointInterface.Unsigned memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62733,"name":"_getStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63458,"src":"21303:9:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_StoreInterface_$60844_$","typeString":"function () view returns (contract StoreInterface)"}},"id":62734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21303:11:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_StoreInterface_$60844","typeString":"contract StoreInterface"}},"id":62735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21315:18:97","memberName":"payOracleFeesErc20","nodeType":"MemberAccess","referencedDeclaration":60817,"src":"21303:30:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_Unsigned_$60796_memory_ptr_$returns$__$","typeString":"function (address,struct FixedPointInterface.Unsigned memory) external"}},"id":62745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21303:97:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62746,"nodeType":"ExpressionStatement","src":"21303:97:97"}]}},{"expression":{"arguments":[{"id":62752,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62615,"src":"21460:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":62754,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62654,"src":"21499:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},{"id":62755,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62617,"src":"21508:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62753,"name":"_getTimestampForDvmRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63510,"src":"21472:26:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Request_$63797_storage_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct OptimisticOracleV2Interface.Request storage pointer,uint256) view returns (uint256)"}},"id":62756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21472:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":62758,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62619,"src":"21540:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":62759,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62613,"src":"21555:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":62757,"name":"_stampAncillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63528,"src":"21520:19:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_address_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory,address) pure returns (bytes memory)"}},"id":62760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21520:45:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62749,"name":"_getOracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63428,"src":"21421:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_OracleAncillaryInterface_$57045_$","typeString":"function () view returns (contract OracleAncillaryInterface)"}},"id":62750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21421:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_OracleAncillaryInterface_$57045","typeString":"contract OracleAncillaryInterface"}},"id":62751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21434:12:97","memberName":"requestPrice","nodeType":"MemberAccess","referencedDeclaration":57020,"src":"21421:25:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,uint256,bytes memory) external"}},"id":62761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21421:154:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62762,"nodeType":"ExpressionStatement","src":"21421:154:97"},{"assignments":[62764],"declarations":[{"constant":false,"id":62764,"mutability":"mutable","name":"refund","nameLocation":"21621:6:97","nodeType":"VariableDeclaration","scope":62834,"src":"21613:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62763,"name":"uint256","nodeType":"ElementaryTypeName","src":"21613:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62766,"initialValue":{"hexValue":"30","id":62765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21630:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"21613:18:97"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":62774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":62767,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62654,"src":"21645:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62768,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21653:6:97","memberName":"reward","nodeType":"MemberAccess","referencedDeclaration":63794,"src":"21645:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":62769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21662:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21645:18:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"expression":{"expression":{"id":62771,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62654,"src":"21667:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62772,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21675:15:97","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"21667:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":62773,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21691:15:97","memberName":"refundOnDispute","nodeType":"MemberAccess","referencedDeclaration":63763,"src":"21667:39:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"21645:61:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62796,"nodeType":"IfStatement","src":"21641:209:97","trueBody":{"id":62795,"nodeType":"Block","src":"21708:142:97","statements":[{"expression":{"id":62778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62775,"name":"refund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62764,"src":"21722:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":62776,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62654,"src":"21731:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62777,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21739:6:97","memberName":"reward","nodeType":"MemberAccess","referencedDeclaration":63794,"src":"21731:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21722:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62779,"nodeType":"ExpressionStatement","src":"21722:23:97"},{"expression":{"id":62784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":62780,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62654,"src":"21759:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62782,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21767:6:97","memberName":"reward","nodeType":"MemberAccess","referencedDeclaration":63794,"src":"21759:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":62783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21776:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21759:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62785,"nodeType":"ExpressionStatement","src":"21759:18:97"},{"expression":{"arguments":[{"id":62791,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62613,"src":"21821:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62792,"name":"refund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62764,"src":"21832:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":62786,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62654,"src":"21791:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62789,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21799:8:97","memberName":"currency","nodeType":"MemberAccess","referencedDeclaration":63781,"src":"21791:16:97","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"id":62790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21808:12:97","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":43119,"src":"21791:29:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$43048_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$43048_$","typeString":"function (contract IERC20,address,uint256)"}},"id":62793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21791:48:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62794,"nodeType":"ExpressionStatement","src":"21791:48:97"}]}},{"eventCall":{"arguments":[{"id":62798,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62613,"src":"21891:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":62799,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62654,"src":"21902:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62800,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21910:8:97","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":63776,"src":"21902:16:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62801,"name":"disputer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62611,"src":"21920:8:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62802,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62615,"src":"21930:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62803,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62617,"src":"21942:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62804,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62619,"src":"21953:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":62805,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62654,"src":"21968:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62806,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21976:13:97","memberName":"proposedPrice","nodeType":"MemberAccess","referencedDeclaration":63788,"src":"21968:21:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":62797,"name":"DisputePrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63733,"src":"21865:12:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$_t_int256_$returns$__$","typeString":"function (address,address,address,bytes32,uint256,bytes memory,int256)"}},"id":62807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21865:134:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62808,"nodeType":"EmitStatement","src":"21860:139:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62809,"name":"_startReentrantGuardDisabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60661,"src":"22121:28:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22121:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62811,"nodeType":"ExpressionStatement","src":"22121:30:97"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":62818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62812,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62613,"src":"22186:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":62813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22196:10:97","memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":60333,"src":"22186:20:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address) view returns (bool)"}},"id":62814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22186:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"expression":{"expression":{"id":62815,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62654,"src":"22212:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62816,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22220:15:97","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"22212:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":62817,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22236:23:97","memberName":"callbackOnPriceDisputed","nodeType":"MemberAccess","referencedDeclaration":63767,"src":"22212:47:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22186:73:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62830,"nodeType":"IfStatement","src":"22182:194:97","trueBody":{"id":62829,"nodeType":"Block","src":"22261:115:97","statements":[{"expression":{"arguments":[{"id":62823,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62615,"src":"22320:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62824,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62617,"src":"22332:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62825,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62619,"src":"22343:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":62826,"name":"refund","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62764,"src":"22358:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":62820,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62613,"src":"22295:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62819,"name":"OptimisticRequester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61839,"src":"22275:19:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OptimisticRequester_$61839_$","typeString":"type(contract OptimisticRequester)"}},"id":62821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22275:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_OptimisticRequester_$61839","typeString":"contract OptimisticRequester"}},"id":62822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22306:13:97","memberName":"priceDisputed","nodeType":"MemberAccess","referencedDeclaration":61826,"src":"22275:44:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256,bytes memory,uint256) external"}},"id":62827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22275:90:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62828,"nodeType":"ExpressionStatement","src":"22275:90:97"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62831,"name":"_endReentrantGuardDisabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60669,"src":"22385:26:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22385:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62833,"nodeType":"ExpressionStatement","src":"22385:28:97"}]},"baseFunctions":[63950],"documentation":{"id":62609,"nodeType":"StructuredDocumentation","src":"19157:766:97","text":" @notice Disputes a price request with an active proposal on another address' behalf. Note: this address will\n receive any rewards that come from this dispute. However, any bonds are pulled from the caller.\n @param disputer address to set as the disputer.\n @param requester sender of the initial price request.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @return totalBond the amount that's pulled from the caller's wallet as a bond. The bond will be returned to\n the disputer once settled if the dispute was valid (the proposal was incorrect)."},"functionSelector":"76c7823f","implemented":true,"kind":"function","modifiers":[{"id":62623,"kind":"modifierInvocation","modifierName":{"id":62622,"name":"nonReentrant","nameLocations":["20119:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":60619,"src":"20119:12:97"},"nodeType":"ModifierInvocation","src":"20119:12:97"}],"name":"disputePriceFor","nameLocation":"19937:15:97","overrides":{"id":62621,"nodeType":"OverrideSpecifier","overrides":[],"src":"20110:8:97"},"parameters":{"id":62620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62611,"mutability":"mutable","name":"disputer","nameLocation":"19970:8:97","nodeType":"VariableDeclaration","scope":62835,"src":"19962:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62610,"name":"address","nodeType":"ElementaryTypeName","src":"19962:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62613,"mutability":"mutable","name":"requester","nameLocation":"19996:9:97","nodeType":"VariableDeclaration","scope":62835,"src":"19988:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62612,"name":"address","nodeType":"ElementaryTypeName","src":"19988:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62615,"mutability":"mutable","name":"identifier","nameLocation":"20023:10:97","nodeType":"VariableDeclaration","scope":62835,"src":"20015:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62614,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20015:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":62617,"mutability":"mutable","name":"timestamp","nameLocation":"20051:9:97","nodeType":"VariableDeclaration","scope":62835,"src":"20043:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62616,"name":"uint256","nodeType":"ElementaryTypeName","src":"20043:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62619,"mutability":"mutable","name":"ancillaryData","nameLocation":"20083:13:97","nodeType":"VariableDeclaration","scope":62835,"src":"20070:26:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62618,"name":"bytes","nodeType":"ElementaryTypeName","src":"20070:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"19952:150:97"},"returnParameters":{"id":62626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62625,"mutability":"mutable","name":"totalBond","nameLocation":"20149:9:97","nodeType":"VariableDeclaration","scope":62835,"src":"20141:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62624,"name":"uint256","nodeType":"ElementaryTypeName","src":"20141:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20140:19:97"},"scope":63544,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62860,"nodeType":"FunctionDefinition","src":"23018:344:97","nodes":[],"body":{"id":62859,"nodeType":"Block","src":"23200:162:97","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":62851,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"23295:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":62852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23299:6:97","memberName":"sender","nodeType":"MemberAccess","src":"23295:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62853,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62838,"src":"23307:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62854,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62840,"src":"23318:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62855,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62842,"src":"23330:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62856,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62844,"src":"23341:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62850,"name":"disputePriceFor","nodeType":"Identifier","overloadedDeclarations":[62835],"referencedDeclaration":62835,"src":"23279:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (address,address,bytes32,uint256,bytes memory) returns (uint256)"}},"id":62857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23279:76:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":62849,"id":62858,"nodeType":"Return","src":"23272:83:97"}]},"baseFunctions":[63964],"documentation":{"id":62836,"nodeType":"StructuredDocumentation","src":"22426:587:97","text":" @notice Disputes a price value for an existing price request with an active proposal.\n @param requester sender of the initial price request.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @return totalBond the amount that's pulled from the disputer's wallet as a bond. The bond will be returned to\n the disputer once settled if the dispute was valid (the proposal was incorrect)."},"functionSelector":"fba7f1e3","implemented":true,"kind":"function","modifiers":[],"name":"disputePrice","nameLocation":"23027:12:97","overrides":{"id":62846,"nodeType":"OverrideSpecifier","overrides":[],"src":"23151:8:97"},"parameters":{"id":62845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62838,"mutability":"mutable","name":"requester","nameLocation":"23048:9:97","nodeType":"VariableDeclaration","scope":62860,"src":"23040:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62837,"name":"address","nodeType":"ElementaryTypeName","src":"23040:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62840,"mutability":"mutable","name":"identifier","nameLocation":"23067:10:97","nodeType":"VariableDeclaration","scope":62860,"src":"23059:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62839,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23059:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":62842,"mutability":"mutable","name":"timestamp","nameLocation":"23087:9:97","nodeType":"VariableDeclaration","scope":62860,"src":"23079:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62841,"name":"uint256","nodeType":"ElementaryTypeName","src":"23079:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62844,"mutability":"mutable","name":"ancillaryData","nameLocation":"23111:13:97","nodeType":"VariableDeclaration","scope":62860,"src":"23098:26:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62843,"name":"bytes","nodeType":"ElementaryTypeName","src":"23098:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"23039:86:97"},"returnParameters":{"id":62849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62848,"mutability":"mutable","name":"totalBond","nameLocation":"23185:9:97","nodeType":"VariableDeclaration","scope":62860,"src":"23177:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62847,"name":"uint256","nodeType":"ElementaryTypeName","src":"23177:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23176:19:97"},"scope":63544,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":62905,"nodeType":"FunctionDefinition","src":"23888:451:97","nodes":[],"body":{"id":62904,"nodeType":"Block","src":"24066:273:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"},"id":62884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":62876,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"24090:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":62877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24094:6:97","memberName":"sender","nodeType":"MemberAccess","src":"24090:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62878,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62863,"src":"24102:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62879,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62865,"src":"24114:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62880,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62867,"src":"24125:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62875,"name":"_getState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63413,"src":"24080:9:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_enum$_State_$63759_$","typeString":"function (address,bytes32,uint256,bytes memory) view returns (enum OptimisticOracleV2Interface.State)"}},"id":62881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24080:59:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":62882,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63759,"src":"24143:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$63759_$","typeString":"type(enum OptimisticOracleV2Interface.State)"}},"id":62883,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24149:7:97","memberName":"Settled","nodeType":"MemberAccess","referencedDeclaration":63758,"src":"24143:13:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"src":"24080:76:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62894,"nodeType":"IfStatement","src":"24076:164:97","trueBody":{"id":62893,"nodeType":"Block","src":"24158:82:97","statements":[{"expression":{"arguments":[{"expression":{"id":62886,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"24180:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":62887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24184:6:97","memberName":"sender","nodeType":"MemberAccess","src":"24180:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62888,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62863,"src":"24192:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62889,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62865,"src":"24204:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62890,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62867,"src":"24215:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62885,"name":"_settle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63257,"src":"24172:7:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (address,bytes32,uint256,bytes memory) returns (uint256)"}},"id":62891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24172:57:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62892,"nodeType":"ExpressionStatement","src":"24172:57:97"}]}},{"expression":{"expression":{"arguments":[{"expression":{"id":62896,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"24269:3:97","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":62897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24273:6:97","memberName":"sender","nodeType":"MemberAccess","src":"24269:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62898,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62863,"src":"24281:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62899,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62865,"src":"24293:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62900,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62867,"src":"24304:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62895,"name":"_getRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63281,"src":"24257:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_struct$_Request_$63797_storage_ptr_$","typeString":"function (address,bytes32,uint256,bytes memory) view returns (struct OptimisticOracleV2Interface.Request storage pointer)"}},"id":62901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24257:61:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":62902,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24319:13:97","memberName":"resolvedPrice","nodeType":"MemberAccess","referencedDeclaration":63790,"src":"24257:75:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":62874,"id":62903,"nodeType":"Return","src":"24250:82:97"}]},"baseFunctions":[63976],"documentation":{"id":62861,"nodeType":"StructuredDocumentation","src":"23368:515:97","text":" @notice Retrieves a price that was previously requested by a caller. Reverts if the request is not settled\n or settleable. Note: this method is not view so that this call may actually settle the price request if it\n hasn't been settled.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @return resolved price."},"functionSelector":"53b59239","implemented":true,"kind":"function","modifiers":[{"id":62871,"kind":"modifierInvocation","modifierName":{"id":62870,"name":"nonReentrant","nameLocations":["24024:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":60619,"src":"24024:12:97"},"nodeType":"ModifierInvocation","src":"24024:12:97"}],"name":"settleAndGetPrice","nameLocation":"23897:17:97","overrides":{"id":62869,"nodeType":"OverrideSpecifier","overrides":[],"src":"24007:8:97"},"parameters":{"id":62868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62863,"mutability":"mutable","name":"identifier","nameLocation":"23923:10:97","nodeType":"VariableDeclaration","scope":62905,"src":"23915:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62862,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23915:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":62865,"mutability":"mutable","name":"timestamp","nameLocation":"23943:9:97","nodeType":"VariableDeclaration","scope":62905,"src":"23935:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62864,"name":"uint256","nodeType":"ElementaryTypeName","src":"23935:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62867,"mutability":"mutable","name":"ancillaryData","nameLocation":"23967:13:97","nodeType":"VariableDeclaration","scope":62905,"src":"23954:26:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62866,"name":"bytes","nodeType":"ElementaryTypeName","src":"23954:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"23914:67:97"},"returnParameters":{"id":62874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62873,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62905,"src":"24054:6:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":62872,"name":"int256","nodeType":"ElementaryTypeName","src":"24054:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"24053:8:97"},"scope":63544,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":62930,"nodeType":"FunctionDefinition","src":"24915:274:97","nodes":[],"body":{"id":62929,"nodeType":"Block","src":"25109:80:97","nodes":[],"statements":[{"expression":{"arguments":[{"id":62923,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62908,"src":"25134:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62924,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62910,"src":"25145:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62925,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62912,"src":"25157:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62926,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62914,"src":"25168:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62922,"name":"_settle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63257,"src":"25126:7:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (address,bytes32,uint256,bytes memory) returns (uint256)"}},"id":62927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25126:56:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":62921,"id":62928,"nodeType":"Return","src":"25119:63:97"}]},"baseFunctions":[63990],"documentation":{"id":62906,"nodeType":"StructuredDocumentation","src":"24345:565:97","text":" @notice Attempts to settle an outstanding price request. Will revert if it isn't settleable.\n @param requester sender of the initial price request.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @return payout the amount that the \"winner\" (proposer or disputer) receives on settlement. This amount includes\n the returned bonds as well as additional rewards."},"functionSelector":"5e9a79a9","implemented":true,"kind":"function","modifiers":[{"id":62918,"kind":"modifierInvocation","modifierName":{"id":62917,"name":"nonReentrant","nameLocations":["25059:12:97"],"nodeType":"IdentifierPath","referencedDeclaration":60619,"src":"25059:12:97"},"nodeType":"ModifierInvocation","src":"25059:12:97"}],"name":"settle","nameLocation":"24924:6:97","overrides":{"id":62916,"nodeType":"OverrideSpecifier","overrides":[],"src":"25042:8:97"},"parameters":{"id":62915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62908,"mutability":"mutable","name":"requester","nameLocation":"24939:9:97","nodeType":"VariableDeclaration","scope":62930,"src":"24931:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62907,"name":"address","nodeType":"ElementaryTypeName","src":"24931:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62910,"mutability":"mutable","name":"identifier","nameLocation":"24958:10:97","nodeType":"VariableDeclaration","scope":62930,"src":"24950:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62909,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24950:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":62912,"mutability":"mutable","name":"timestamp","nameLocation":"24978:9:97","nodeType":"VariableDeclaration","scope":62930,"src":"24970:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62911,"name":"uint256","nodeType":"ElementaryTypeName","src":"24970:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62914,"mutability":"mutable","name":"ancillaryData","nameLocation":"25002:13:97","nodeType":"VariableDeclaration","scope":62930,"src":"24989:26:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62913,"name":"bytes","nodeType":"ElementaryTypeName","src":"24989:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"24930:86:97"},"returnParameters":{"id":62921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62920,"mutability":"mutable","name":"payout","nameLocation":"25097:6:97","nodeType":"VariableDeclaration","scope":62930,"src":"25089:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62919,"name":"uint256","nodeType":"ElementaryTypeName","src":"25089:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25088:16:97"},"scope":63544,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":62956,"nodeType":"FunctionDefinition","src":"25629:297:97","nodes":[],"body":{"id":62955,"nodeType":"Block","src":"25842:84:97","nodes":[],"statements":[{"expression":{"arguments":[{"id":62949,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62933,"src":"25871:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62950,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62935,"src":"25882:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62951,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62937,"src":"25894:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62952,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62939,"src":"25905:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62948,"name":"_getRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63281,"src":"25859:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_struct$_Request_$63797_storage_ptr_$","typeString":"function (address,bytes32,uint256,bytes memory) view returns (struct OptimisticOracleV2Interface.Request storage pointer)"}},"id":62953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25859:60:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"functionReturnParameters":62947,"id":62954,"nodeType":"Return","src":"25852:67:97"}]},"baseFunctions":[64005],"documentation":{"id":62931,"nodeType":"StructuredDocumentation","src":"25195:429:97","text":" @notice Gets the current data structure containing all information about a price request.\n @param requester sender of the initial price request.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @return the Request data structure."},"functionSelector":"a9904f9b","implemented":true,"kind":"function","modifiers":[{"id":62943,"kind":"modifierInvocation","modifierName":{"id":62942,"name":"nonReentrantView","nameLocations":["25788:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":60627,"src":"25788:16:97"},"nodeType":"ModifierInvocation","src":"25788:16:97"}],"name":"getRequest","nameLocation":"25638:10:97","overrides":{"id":62941,"nodeType":"OverrideSpecifier","overrides":[],"src":"25771:8:97"},"parameters":{"id":62940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62933,"mutability":"mutable","name":"requester","nameLocation":"25657:9:97","nodeType":"VariableDeclaration","scope":62956,"src":"25649:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62932,"name":"address","nodeType":"ElementaryTypeName","src":"25649:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62935,"mutability":"mutable","name":"identifier","nameLocation":"25676:10:97","nodeType":"VariableDeclaration","scope":62956,"src":"25668:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62934,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25668:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":62937,"mutability":"mutable","name":"timestamp","nameLocation":"25696:9:97","nodeType":"VariableDeclaration","scope":62956,"src":"25688:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62936,"name":"uint256","nodeType":"ElementaryTypeName","src":"25688:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62939,"mutability":"mutable","name":"ancillaryData","nameLocation":"25720:13:97","nodeType":"VariableDeclaration","scope":62956,"src":"25707:26:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62938,"name":"bytes","nodeType":"ElementaryTypeName","src":"25707:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"25648:86:97"},"returnParameters":{"id":62947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62946,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62956,"src":"25822:14:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_memory_ptr","typeString":"struct OptimisticOracleV2Interface.Request"},"typeName":{"id":62945,"nodeType":"UserDefinedTypeName","pathNode":{"id":62944,"name":"Request","nameLocations":["25822:7:97"],"nodeType":"IdentifierPath","referencedDeclaration":63797,"src":"25822:7:97"},"referencedDeclaration":63797,"src":"25822:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"}},"visibility":"internal"}],"src":"25821:16:97"},"scope":63544,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":62982,"nodeType":"FunctionDefinition","src":"26351:284:97","nodes":[],"body":{"id":62981,"nodeType":"Block","src":"26553:82:97","nodes":[],"statements":[{"expression":{"arguments":[{"id":62975,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62959,"src":"26580:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62976,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62961,"src":"26591:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":62977,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62963,"src":"26603:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62978,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62965,"src":"26614:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62974,"name":"_getState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63413,"src":"26570:9:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_enum$_State_$63759_$","typeString":"function (address,bytes32,uint256,bytes memory) view returns (enum OptimisticOracleV2Interface.State)"}},"id":62979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26570:58:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"functionReturnParameters":62973,"id":62980,"nodeType":"Return","src":"26563:65:97"}]},"baseFunctions":[64020],"documentation":{"id":62957,"nodeType":"StructuredDocumentation","src":"25932:414:97","text":" @notice Computes the current state of a price request. See the State enum for more details.\n @param requester sender of the initial price request.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @return the State."},"functionSelector":"ba4b930c","implemented":true,"kind":"function","modifiers":[{"id":62969,"kind":"modifierInvocation","modifierName":{"id":62968,"name":"nonReentrantView","nameLocations":["26508:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":60627,"src":"26508:16:97"},"nodeType":"ModifierInvocation","src":"26508:16:97"}],"name":"getState","nameLocation":"26360:8:97","overrides":{"id":62967,"nodeType":"OverrideSpecifier","overrides":[],"src":"26491:8:97"},"parameters":{"id":62966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62959,"mutability":"mutable","name":"requester","nameLocation":"26377:9:97","nodeType":"VariableDeclaration","scope":62982,"src":"26369:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62958,"name":"address","nodeType":"ElementaryTypeName","src":"26369:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62961,"mutability":"mutable","name":"identifier","nameLocation":"26396:10:97","nodeType":"VariableDeclaration","scope":62982,"src":"26388:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62960,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26388:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":62963,"mutability":"mutable","name":"timestamp","nameLocation":"26416:9:97","nodeType":"VariableDeclaration","scope":62982,"src":"26408:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62962,"name":"uint256","nodeType":"ElementaryTypeName","src":"26408:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62965,"mutability":"mutable","name":"ancillaryData","nameLocation":"26440:13:97","nodeType":"VariableDeclaration","scope":62982,"src":"26427:26:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62964,"name":"bytes","nodeType":"ElementaryTypeName","src":"26427:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26368:86:97"},"returnParameters":{"id":62973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62972,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62982,"src":"26542:5:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"},"typeName":{"id":62971,"nodeType":"UserDefinedTypeName","pathNode":{"id":62970,"name":"State","nameLocations":["26542:5:97"],"nodeType":"IdentifierPath","referencedDeclaration":63759,"src":"26542:5:97"},"referencedDeclaration":63759,"src":"26542:5:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"visibility":"internal"}],"src":"26541:7:97"},"scope":63544,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":63025,"nodeType":"FunctionDefinition","src":"27128:382:97","nodes":[],"body":{"id":63024,"nodeType":"Block","src":"27329:181:97","nodes":[],"statements":[{"assignments":[63001],"declarations":[{"constant":false,"id":63001,"mutability":"mutable","name":"state","nameLocation":"27345:5:97","nodeType":"VariableDeclaration","scope":63024,"src":"27339:11:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"},"typeName":{"id":63000,"nodeType":"UserDefinedTypeName","pathNode":{"id":62999,"name":"State","nameLocations":["27339:5:97"],"nodeType":"IdentifierPath","referencedDeclaration":63759,"src":"27339:5:97"},"referencedDeclaration":63759,"src":"27339:5:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"visibility":"internal"}],"id":63008,"initialValue":{"arguments":[{"id":63003,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62985,"src":"27363:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63004,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62987,"src":"27374:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":63005,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62989,"src":"27386:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63006,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62991,"src":"27397:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63002,"name":"_getState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63413,"src":"27353:9:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_enum$_State_$63759_$","typeString":"function (address,bytes32,uint256,bytes memory) view returns (enum OptimisticOracleV2Interface.State)"}},"id":63007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27353:58:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"nodeType":"VariableDeclarationStatement","src":"27339:72:97"},{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":63022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":63017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"},"id":63012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":63009,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63001,"src":"27428:5:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":63010,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63759,"src":"27437:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$63759_$","typeString":"type(enum OptimisticOracleV2Interface.State)"}},"id":63011,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27443:7:97","memberName":"Settled","nodeType":"MemberAccess","referencedDeclaration":63758,"src":"27437:13:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"src":"27428:22:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"},"id":63016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":63013,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63001,"src":"27454:5:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":63014,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63759,"src":"27463:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$63759_$","typeString":"type(enum OptimisticOracleV2Interface.State)"}},"id":63015,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27469:8:97","memberName":"Resolved","nodeType":"MemberAccess","referencedDeclaration":63757,"src":"27463:14:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"src":"27454:23:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"27428:49:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"},"id":63021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":63018,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63001,"src":"27481:5:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":63019,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63759,"src":"27490:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$63759_$","typeString":"type(enum OptimisticOracleV2Interface.State)"}},"id":63020,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27496:7:97","memberName":"Expired","nodeType":"MemberAccess","referencedDeclaration":63755,"src":"27490:13:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"src":"27481:22:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"27428:75:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":62998,"id":63023,"nodeType":"Return","src":"27421:82:97"}]},"baseFunctions":[64034],"documentation":{"id":62983,"nodeType":"StructuredDocumentation","src":"26641:482:97","text":" @notice Checks if a given request has resolved, expired or been settled (i.e the optimistic oracle has a price).\n @param requester sender of the initial price request.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @return boolean indicating true if price exists and false if not."},"functionSelector":"bc58ccaa","implemented":true,"kind":"function","modifiers":[{"id":62995,"kind":"modifierInvocation","modifierName":{"id":62994,"name":"nonReentrantView","nameLocations":["27285:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":60627,"src":"27285:16:97"},"nodeType":"ModifierInvocation","src":"27285:16:97"}],"name":"hasPrice","nameLocation":"27137:8:97","overrides":{"id":62993,"nodeType":"OverrideSpecifier","overrides":[],"src":"27268:8:97"},"parameters":{"id":62992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62985,"mutability":"mutable","name":"requester","nameLocation":"27154:9:97","nodeType":"VariableDeclaration","scope":63025,"src":"27146:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62984,"name":"address","nodeType":"ElementaryTypeName","src":"27146:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62987,"mutability":"mutable","name":"identifier","nameLocation":"27173:10:97","nodeType":"VariableDeclaration","scope":63025,"src":"27165:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":62986,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27165:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":62989,"mutability":"mutable","name":"timestamp","nameLocation":"27193:9:97","nodeType":"VariableDeclaration","scope":63025,"src":"27185:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62988,"name":"uint256","nodeType":"ElementaryTypeName","src":"27185:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62991,"mutability":"mutable","name":"ancillaryData","nameLocation":"27217:13:97","nodeType":"VariableDeclaration","scope":63025,"src":"27204:26:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62990,"name":"bytes","nodeType":"ElementaryTypeName","src":"27204:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"27145:86:97"},"returnParameters":{"id":62998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62997,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63025,"src":"27319:4:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":62996,"name":"bool","nodeType":"ElementaryTypeName","src":"27319:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27318:6:97"},"scope":63544,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":63042,"nodeType":"FunctionDefinition","src":"27826:224:97","nodes":[],"body":{"id":63041,"nodeType":"Block","src":"27981:69:97","nodes":[],"statements":[{"expression":{"arguments":[{"id":63037,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63028,"src":"28018:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":63038,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63030,"src":"28033:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":63036,"name":"_stampAncillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63528,"src":"27998:19:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_address_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory,address) pure returns (bytes memory)"}},"id":63039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27998:45:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":63035,"id":63040,"nodeType":"Return","src":"27991:52:97"}]},"baseFunctions":[64043],"documentation":{"id":63026,"nodeType":"StructuredDocumentation","src":"27516:305:97","text":" @notice Generates stamped ancillary data in the format that it would be used in the case of a price dispute.\n @param ancillaryData ancillary data of the price being requested.\n @param requester sender of the initial price request.\n @return the stamped ancillary bytes."},"functionSelector":"af5d2f39","implemented":true,"kind":"function","modifiers":[],"name":"stampAncillaryData","nameLocation":"27835:18:97","overrides":{"id":63032,"nodeType":"OverrideSpecifier","overrides":[],"src":"27937:8:97"},"parameters":{"id":63031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63028,"mutability":"mutable","name":"ancillaryData","nameLocation":"27867:13:97","nodeType":"VariableDeclaration","scope":63042,"src":"27854:26:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63027,"name":"bytes","nodeType":"ElementaryTypeName","src":"27854:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":63030,"mutability":"mutable","name":"requester","nameLocation":"27890:9:97","nodeType":"VariableDeclaration","scope":63042,"src":"27882:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63029,"name":"address","nodeType":"ElementaryTypeName","src":"27882:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27853:47:97"},"returnParameters":{"id":63035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63034,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63042,"src":"27963:12:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63033,"name":"bytes","nodeType":"ElementaryTypeName","src":"27963:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"27962:14:97"},"scope":63544,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":63066,"nodeType":"FunctionDefinition","src":"28056:261:97","nodes":[],"body":{"id":63065,"nodeType":"Block","src":"28217:100:97","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":63058,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63044,"src":"28261:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63059,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63046,"src":"28272:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":63060,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63048,"src":"28284:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63061,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63050,"src":"28295:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63056,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28244:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63057,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28248:12:97","memberName":"encodePacked","nodeType":"MemberAccess","src":"28244:16:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28244:65:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63055,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"28234:9:97","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":63063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28234:76:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":63054,"id":63064,"nodeType":"Return","src":"28227:83:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_getId","nameLocation":"28065:6:97","parameters":{"id":63051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63044,"mutability":"mutable","name":"requester","nameLocation":"28080:9:97","nodeType":"VariableDeclaration","scope":63066,"src":"28072:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63043,"name":"address","nodeType":"ElementaryTypeName","src":"28072:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63046,"mutability":"mutable","name":"identifier","nameLocation":"28099:10:97","nodeType":"VariableDeclaration","scope":63066,"src":"28091:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63045,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28091:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63048,"mutability":"mutable","name":"timestamp","nameLocation":"28119:9:97","nodeType":"VariableDeclaration","scope":63066,"src":"28111:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63047,"name":"uint256","nodeType":"ElementaryTypeName","src":"28111:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63050,"mutability":"mutable","name":"ancillaryData","nameLocation":"28143:13:97","nodeType":"VariableDeclaration","scope":63066,"src":"28130:26:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63049,"name":"bytes","nodeType":"ElementaryTypeName","src":"28130:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"28071:86:97"},"returnParameters":{"id":63054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63053,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63066,"src":"28204:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63052,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28204:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"28203:9:97"},"scope":63544,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":63257,"nodeType":"FunctionDefinition","src":"28323:2683:97","nodes":[],"body":{"id":63256,"nodeType":"Block","src":"28479:2527:97","nodes":[],"statements":[{"assignments":[63081],"declarations":[{"constant":false,"id":63081,"mutability":"mutable","name":"state","nameLocation":"28495:5:97","nodeType":"VariableDeclaration","scope":63256,"src":"28489:11:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"},"typeName":{"id":63080,"nodeType":"UserDefinedTypeName","pathNode":{"id":63079,"name":"State","nameLocations":["28489:5:97"],"nodeType":"IdentifierPath","referencedDeclaration":63759,"src":"28489:5:97"},"referencedDeclaration":63759,"src":"28489:5:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"visibility":"internal"}],"id":63088,"initialValue":{"arguments":[{"id":63083,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63068,"src":"28513:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63084,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63070,"src":"28524:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":63085,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63072,"src":"28536:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63086,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63074,"src":"28547:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63082,"name":"_getState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63413,"src":"28503:9:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_enum$_State_$63759_$","typeString":"function (address,bytes32,uint256,bytes memory) view returns (enum OptimisticOracleV2Interface.State)"}},"id":63087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28503:58:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"nodeType":"VariableDeclarationStatement","src":"28489:72:97"},{"assignments":[63091],"declarations":[{"constant":false,"id":63091,"mutability":"mutable","name":"request","nameLocation":"28662:7:97","nodeType":"VariableDeclaration","scope":63256,"src":"28646:23:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"},"typeName":{"id":63090,"nodeType":"UserDefinedTypeName","pathNode":{"id":63089,"name":"Request","nameLocations":["28646:7:97"],"nodeType":"IdentifierPath","referencedDeclaration":63797,"src":"28646:7:97"},"referencedDeclaration":63797,"src":"28646:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"}},"visibility":"internal"}],"id":63098,"initialValue":{"arguments":[{"id":63093,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63068,"src":"28684:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63094,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63070,"src":"28695:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":63095,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63072,"src":"28707:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63096,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63074,"src":"28718:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63092,"name":"_getRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63281,"src":"28672:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_struct$_Request_$63797_storage_ptr_$","typeString":"function (address,bytes32,uint256,bytes memory) view returns (struct OptimisticOracleV2Interface.Request storage pointer)"}},"id":63097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28672:60:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"28646:86:97"},{"expression":{"id":63103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":63099,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63091,"src":"28742:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63101,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"28750:7:97","memberName":"settled","nodeType":"MemberAccess","referencedDeclaration":63783,"src":"28742:15:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":63102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"28760:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"28742:22:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":63104,"nodeType":"ExpressionStatement","src":"28742:22:97"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"},"id":63108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":63105,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63081,"src":"28779:5:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":63106,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63759,"src":"28788:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$63759_$","typeString":"type(enum OptimisticOracleV2Interface.State)"}},"id":63107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28794:7:97","memberName":"Expired","nodeType":"MemberAccess","referencedDeclaration":63755,"src":"28788:13:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"src":"28779:22:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"},"id":63142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":63139,"name":"state","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63081,"src":"29145:5:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":63140,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63759,"src":"29154:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$63759_$","typeString":"type(enum OptimisticOracleV2Interface.State)"}},"id":63141,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29160:8:97","memberName":"Resolved","nodeType":"MemberAccess","referencedDeclaration":63757,"src":"29154:14:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"src":"29145:23:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":63213,"nodeType":"Block","src":"30256:54:97","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":63210,"name":"RequestNotSettleable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63683,"src":"30277:20:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":63211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30277:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":63212,"nodeType":"RevertStatement","src":"30270:29:97"}]},"id":63214,"nodeType":"IfStatement","src":"29141:1169:97","trueBody":{"id":63209,"nodeType":"Block","src":"29170:1080:97","statements":[{"expression":{"id":63159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":63143,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63091,"src":"29300:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63145,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"29308:13:97","memberName":"resolvedPrice","nodeType":"MemberAccess","referencedDeclaration":63790,"src":"29300:21:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":63149,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63070,"src":"29363:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":63151,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63091,"src":"29418:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},{"id":63152,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63072,"src":"29427:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63150,"name":"_getTimestampForDvmRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63510,"src":"29391:26:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Request_$63797_storage_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct OptimisticOracleV2Interface.Request storage pointer,uint256) view returns (uint256)"}},"id":63153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29391:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":63155,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63074,"src":"29475:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":63156,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63068,"src":"29490:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":63154,"name":"_stampAncillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63528,"src":"29455:19:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_address_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory,address) pure returns (bytes memory)"}},"id":63157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29455:45:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63146,"name":"_getOracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63428,"src":"29324:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_OracleAncillaryInterface_$57045_$","typeString":"function () view returns (contract OracleAncillaryInterface)"}},"id":63147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29324:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_OracleAncillaryInterface_$57045","typeString":"contract OracleAncillaryInterface"}},"id":63148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29337:8:97","memberName":"getPrice","nodeType":"MemberAccess","referencedDeclaration":57044,"src":"29324:21:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_int256_$","typeString":"function (bytes32,uint256,bytes memory) view external returns (int256)"}},"id":63158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29324:190:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"29300:214:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":63160,"nodeType":"ExpressionStatement","src":"29300:214:97"},{"assignments":[63162],"declarations":[{"constant":false,"id":63162,"mutability":"mutable","name":"disputeSuccess","nameLocation":"29533:14:97","nodeType":"VariableDeclaration","scope":63209,"src":"29528:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63161,"name":"bool","nodeType":"ElementaryTypeName","src":"29528:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":63168,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":63167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":63163,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63091,"src":"29550:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63164,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29558:13:97","memberName":"resolvedPrice","nodeType":"MemberAccess","referencedDeclaration":63790,"src":"29550:21:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":63165,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63091,"src":"29575:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63166,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29583:13:97","memberName":"proposedPrice","nodeType":"MemberAccess","referencedDeclaration":63788,"src":"29575:21:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"29550:46:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"29528:68:97"},{"assignments":[63170],"declarations":[{"constant":false,"id":63170,"mutability":"mutable","name":"bond","nameLocation":"29618:4:97","nodeType":"VariableDeclaration","scope":63209,"src":"29610:12:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63169,"name":"uint256","nodeType":"ElementaryTypeName","src":"29610:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63174,"initialValue":{"expression":{"expression":{"id":63171,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63091,"src":"29625:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63172,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29633:15:97","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"29625:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":63173,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29649:4:97","memberName":"bond","nodeType":"MemberAccess","referencedDeclaration":63771,"src":"29625:28:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29610:43:97"},{"assignments":[63176],"declarations":[{"constant":false,"id":63176,"mutability":"mutable","name":"unburnedBond","nameLocation":"29747:12:97","nodeType":"VariableDeclaration","scope":63209,"src":"29739:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63175,"name":"uint256","nodeType":"ElementaryTypeName","src":"29739:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63182,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":63177,"name":"bond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63170,"src":"29762:4:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"id":63179,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63091,"src":"29788:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}],"id":63178,"name":"_computeBurnedBond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63296,"src":"29769:18:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Request_$63797_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct OptimisticOracleV2Interface.Request storage pointer) view returns (uint256)"}},"id":63180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29769:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29762:34:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29739:57:97"},{"expression":{"id":63193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":63183,"name":"payout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63077,"src":"30070:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":63184,"name":"bond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63170,"src":"30079:4:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":63185,"name":"unburnedBond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63176,"src":"30086:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30079:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":63187,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63091,"src":"30101:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63188,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30109:8:97","memberName":"finalFee","nodeType":"MemberAccess","referencedDeclaration":63796,"src":"30101:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30079:38:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":63190,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63091,"src":"30120:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63191,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30128:6:97","memberName":"reward","nodeType":"MemberAccess","referencedDeclaration":63794,"src":"30120:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30079:55:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30070:64:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":63194,"nodeType":"ExpressionStatement","src":"30070:64:97"},{"expression":{"arguments":[{"condition":{"id":63200,"name":"disputeSuccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63162,"src":"30178:14:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":63203,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63091,"src":"30214:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63204,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30222:8:97","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":63776,"src":"30214:16:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"30178:52:97","trueExpression":{"expression":{"id":63201,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63091,"src":"30195:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63202,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30203:8:97","memberName":"disputer","nodeType":"MemberAccess","referencedDeclaration":63778,"src":"30195:16:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63206,"name":"payout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63077,"src":"30232:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":63195,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63091,"src":"30148:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63198,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30156:8:97","memberName":"currency","nodeType":"MemberAccess","referencedDeclaration":63781,"src":"30148:16:97","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"id":63199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30165:12:97","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":43119,"src":"30148:29:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$43048_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$43048_$","typeString":"function (contract IERC20,address,uint256)"}},"id":63207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30148:91:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63208,"nodeType":"ExpressionStatement","src":"30148:91:97"}]}},"id":63215,"nodeType":"IfStatement","src":"28775:1535:97","trueBody":{"id":63138,"nodeType":"Block","src":"28803:332:97","statements":[{"expression":{"id":63114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":63109,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63091,"src":"28923:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63111,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"28931:13:97","memberName":"resolvedPrice","nodeType":"MemberAccess","referencedDeclaration":63790,"src":"28923:21:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":63112,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63091,"src":"28947:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63113,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28955:13:97","memberName":"proposedPrice","nodeType":"MemberAccess","referencedDeclaration":63788,"src":"28947:21:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"28923:45:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":63115,"nodeType":"ExpressionStatement","src":"28923:45:97"},{"expression":{"id":63126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":63116,"name":"payout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63077,"src":"28982:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":63117,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63091,"src":"28991:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63118,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28999:15:97","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"28991:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":63119,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29015:4:97","memberName":"bond","nodeType":"MemberAccess","referencedDeclaration":63771,"src":"28991:28:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":63120,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63091,"src":"29022:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63121,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29030:8:97","memberName":"finalFee","nodeType":"MemberAccess","referencedDeclaration":63796,"src":"29022:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28991:47:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":63123,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63091,"src":"29041:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63124,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29049:6:97","memberName":"reward","nodeType":"MemberAccess","referencedDeclaration":63794,"src":"29041:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28991:64:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28982:73:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":63127,"nodeType":"ExpressionStatement","src":"28982:73:97"},{"expression":{"arguments":[{"expression":{"id":63133,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63091,"src":"29099:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63134,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29107:8:97","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":63776,"src":"29099:16:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63135,"name":"payout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63077,"src":"29117:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":63128,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63091,"src":"29069:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63131,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29077:8:97","memberName":"currency","nodeType":"MemberAccess","referencedDeclaration":63781,"src":"29069:16:97","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"id":63132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29086:12:97","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":43119,"src":"29069:29:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$43048_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$43048_$","typeString":"function (contract IERC20,address,uint256)"}},"id":63136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29069:55:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63137,"nodeType":"ExpressionStatement","src":"29069:55:97"}]}},{"eventCall":{"arguments":[{"id":63217,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63068,"src":"30345:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":63218,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63091,"src":"30368:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63219,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30376:8:97","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":63776,"src":"30368:16:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":63220,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63091,"src":"30398:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63221,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30406:8:97","memberName":"disputer","nodeType":"MemberAccess","referencedDeclaration":63778,"src":"30398:16:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63222,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63070,"src":"30428:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":63223,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63072,"src":"30452:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63224,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63074,"src":"30475:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":63225,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63091,"src":"30502:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63226,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30510:13:97","memberName":"resolvedPrice","nodeType":"MemberAccess","referencedDeclaration":63790,"src":"30502:21:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":63227,"name":"payout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63077,"src":"30537:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63216,"name":"Settle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63751,"src":"30325:6:97","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (address,address,address,bytes32,uint256,bytes memory,int256,uint256)"}},"id":63228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30325:228:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63229,"nodeType":"EmitStatement","src":"30320:233:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63230,"name":"_startReentrantGuardDisabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60661,"src":"30694:28:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30694:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63232,"nodeType":"ExpressionStatement","src":"30694:30:97"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":63239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63233,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63068,"src":"30759:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30769:10:97","memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":60333,"src":"30759:20:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address) view returns (bool)"}},"id":63235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30759:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"expression":{"expression":{"id":63236,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63091,"src":"30785:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63237,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30793:15:97","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"30785:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":63238,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30809:22:97","memberName":"callbackOnPriceSettled","nodeType":"MemberAccess","referencedDeclaration":63769,"src":"30785:46:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"30759:72:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":63252,"nodeType":"IfStatement","src":"30755:207:97","trueBody":{"id":63251,"nodeType":"Block","src":"30833:129:97","statements":[{"expression":{"arguments":[{"id":63244,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63070,"src":"30891:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":63245,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63072,"src":"30903:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63246,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63074,"src":"30914:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":63247,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63091,"src":"30929:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63248,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30937:13:97","memberName":"resolvedPrice","nodeType":"MemberAccess","referencedDeclaration":63790,"src":"30929:21:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"arguments":[{"id":63241,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63068,"src":"30867:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63240,"name":"OptimisticRequester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61839,"src":"30847:19:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OptimisticRequester_$61839_$","typeString":"type(contract OptimisticRequester)"}},"id":63242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30847:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_OptimisticRequester_$61839","typeString":"contract OptimisticRequester"}},"id":63243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30878:12:97","memberName":"priceSettled","nodeType":"MemberAccess","referencedDeclaration":61838,"src":"30847:43:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$_t_int256_$returns$__$","typeString":"function (bytes32,uint256,bytes memory,int256) external"}},"id":63249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30847:104:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63250,"nodeType":"ExpressionStatement","src":"30847:104:97"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63253,"name":"_endReentrantGuardDisabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60669,"src":"30971:26:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30971:28:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63255,"nodeType":"ExpressionStatement","src":"30971:28:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_settle","nameLocation":"28332:7:97","parameters":{"id":63075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63068,"mutability":"mutable","name":"requester","nameLocation":"28348:9:97","nodeType":"VariableDeclaration","scope":63257,"src":"28340:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63067,"name":"address","nodeType":"ElementaryTypeName","src":"28340:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63070,"mutability":"mutable","name":"identifier","nameLocation":"28367:10:97","nodeType":"VariableDeclaration","scope":63257,"src":"28359:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63069,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28359:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63072,"mutability":"mutable","name":"timestamp","nameLocation":"28387:9:97","nodeType":"VariableDeclaration","scope":63257,"src":"28379:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63071,"name":"uint256","nodeType":"ElementaryTypeName","src":"28379:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63074,"mutability":"mutable","name":"ancillaryData","nameLocation":"28411:13:97","nodeType":"VariableDeclaration","scope":63257,"src":"28398:26:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63073,"name":"bytes","nodeType":"ElementaryTypeName","src":"28398:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"28339:86:97"},"returnParameters":{"id":63078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63077,"mutability":"mutable","name":"payout","nameLocation":"28467:6:97","nodeType":"VariableDeclaration","scope":63257,"src":"28459:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63076,"name":"uint256","nodeType":"ElementaryTypeName","src":"28459:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28458:16:97"},"scope":63544,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":63281,"nodeType":"FunctionDefinition","src":"31012:264:97","nodes":[],"body":{"id":63280,"nodeType":"Block","src":"31187:89:97","nodes":[],"statements":[{"expression":{"baseExpression":{"id":63271,"name":"requests","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63821,"src":"31204:8:97","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Request_$63797_storage_$","typeString":"mapping(bytes32 => struct OptimisticOracleV2Interface.Request storage ref)"}},"id":63278,"indexExpression":{"arguments":[{"id":63273,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63259,"src":"31220:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63274,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63261,"src":"31231:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":63275,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63263,"src":"31243:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63276,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63265,"src":"31254:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63272,"name":"_getId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63066,"src":"31213:6:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (address,bytes32,uint256,bytes memory) pure returns (bytes32)"}},"id":63277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31213:55:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31204:65:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage","typeString":"struct OptimisticOracleV2Interface.Request storage ref"}},"functionReturnParameters":63270,"id":63279,"nodeType":"Return","src":"31197:72:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_getRequest","nameLocation":"31021:11:97","parameters":{"id":63266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63259,"mutability":"mutable","name":"requester","nameLocation":"31041:9:97","nodeType":"VariableDeclaration","scope":63281,"src":"31033:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63258,"name":"address","nodeType":"ElementaryTypeName","src":"31033:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63261,"mutability":"mutable","name":"identifier","nameLocation":"31060:10:97","nodeType":"VariableDeclaration","scope":63281,"src":"31052:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63260,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31052:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63263,"mutability":"mutable","name":"timestamp","nameLocation":"31080:9:97","nodeType":"VariableDeclaration","scope":63281,"src":"31072:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63262,"name":"uint256","nodeType":"ElementaryTypeName","src":"31072:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63265,"mutability":"mutable","name":"ancillaryData","nameLocation":"31104:13:97","nodeType":"VariableDeclaration","scope":63281,"src":"31091:26:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63264,"name":"bytes","nodeType":"ElementaryTypeName","src":"31091:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"31032:86:97"},"returnParameters":{"id":63270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63269,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63281,"src":"31166:15:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"},"typeName":{"id":63268,"nodeType":"UserDefinedTypeName","pathNode":{"id":63267,"name":"Request","nameLocations":["31166:7:97"],"nodeType":"IdentifierPath","referencedDeclaration":63797,"src":"31166:7:97"},"referencedDeclaration":63797,"src":"31166:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"}},"visibility":"internal"}],"src":"31165:17:97"},"scope":63544,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":63296,"nodeType":"FunctionDefinition","src":"31282:180:97","nodes":[],"body":{"id":63295,"nodeType":"Block","src":"31366:96:97","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":63289,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63284,"src":"31423:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63290,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31431:15:97","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"31423:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":63291,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31447:4:97","memberName":"bond","nodeType":"MemberAccess","referencedDeclaration":63771,"src":"31423:28:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":63292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31454:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"31423:32:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":63288,"id":63294,"nodeType":"Return","src":"31416:39:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_computeBurnedBond","nameLocation":"31291:18:97","parameters":{"id":63285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63284,"mutability":"mutable","name":"request","nameLocation":"31326:7:97","nodeType":"VariableDeclaration","scope":63296,"src":"31310:23:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"},"typeName":{"id":63283,"nodeType":"UserDefinedTypeName","pathNode":{"id":63282,"name":"Request","nameLocations":["31310:7:97"],"nodeType":"IdentifierPath","referencedDeclaration":63797,"src":"31310:7:97"},"referencedDeclaration":63797,"src":"31310:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"}},"visibility":"internal"}],"src":"31309:25:97"},"returnParameters":{"id":63288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63287,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63296,"src":"31357:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63286,"name":"uint256","nodeType":"ElementaryTypeName","src":"31357:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31356:9:97"},"scope":63544,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":63318,"nodeType":"FunctionDefinition","src":"31468:192:97","nodes":[],"body":{"id":63317,"nodeType":"Block","src":"31536:124:97","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":63302,"name":"_liveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63298,"src":"31554:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"35323030","id":63303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31566:10:97","subdenomination":"weeks","typeDescriptions":{"typeIdentifier":"t_rational_3144960000_by_1","typeString":"int_const 3144960000"},"value":"5200"},"src":"31554:22:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":63305,"name":"LivenessTooLarge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63677,"src":"31578:16:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":63306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31578:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":63301,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"31546:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":63307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31546:51:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63308,"nodeType":"ExpressionStatement","src":"31546:51:97"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":63310,"name":"_liveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63298,"src":"31615:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":63311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31627:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"31615:13:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[],"expression":{"argumentTypes":[],"id":63313,"name":"LivenessCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63680,"src":"31630:20:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":63314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31630:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_error","typeString":"error"}],"id":63309,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"31607:7:97","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_error_$returns$__$","typeString":"function (bool,error) pure"}},"id":63315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31607:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63316,"nodeType":"ExpressionStatement","src":"31607:46:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_validateLiveness","nameLocation":"31477:17:97","parameters":{"id":63299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63298,"mutability":"mutable","name":"_liveness","nameLocation":"31503:9:97","nodeType":"VariableDeclaration","scope":63318,"src":"31495:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63297,"name":"uint256","nodeType":"ElementaryTypeName","src":"31495:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31494:19:97"},"returnParameters":{"id":63300,"nodeType":"ParameterList","parameters":[],"src":"31536:0:97"},"scope":63544,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":63413,"nodeType":"FunctionDefinition","src":"31666:817:97","nodes":[],"body":{"id":63412,"nodeType":"Block","src":"31828:655:97","nodes":[],"statements":[{"assignments":[63334],"declarations":[{"constant":false,"id":63334,"mutability":"mutable","name":"request","nameLocation":"31854:7:97","nodeType":"VariableDeclaration","scope":63412,"src":"31838:23:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"},"typeName":{"id":63333,"nodeType":"UserDefinedTypeName","pathNode":{"id":63332,"name":"Request","nameLocations":["31838:7:97"],"nodeType":"IdentifierPath","referencedDeclaration":63797,"src":"31838:7:97"},"referencedDeclaration":63797,"src":"31838:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"}},"visibility":"internal"}],"id":63341,"initialValue":{"arguments":[{"id":63336,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63320,"src":"31876:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63337,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63322,"src":"31887:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":63338,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63324,"src":"31899:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63339,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63326,"src":"31910:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63335,"name":"_getRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63281,"src":"31864:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_struct$_Request_$63797_storage_ptr_$","typeString":"function (address,bytes32,uint256,bytes memory) view returns (struct OptimisticOracleV2Interface.Request storage pointer)"}},"id":63340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31864:60:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"31838:86:97"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":63351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":63344,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63334,"src":"31947:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63345,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31955:8:97","memberName":"currency","nodeType":"MemberAccess","referencedDeclaration":63781,"src":"31947:16:97","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}],"id":63343,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31939:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63342,"name":"address","nodeType":"ElementaryTypeName","src":"31939:7:97","typeDescriptions":{}}},"id":63346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31939:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":63349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31976:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63348,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31968:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63347,"name":"address","nodeType":"ElementaryTypeName","src":"31968:7:97","typeDescriptions":{}}},"id":63350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31968:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"31939:39:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":63355,"nodeType":"IfStatement","src":"31935:65:97","trueBody":{"expression":{"expression":{"id":63352,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63759,"src":"31987:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$63759_$","typeString":"type(enum OptimisticOracleV2Interface.State)"}},"id":63353,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31993:7:97","memberName":"Invalid","nodeType":"MemberAccess","referencedDeclaration":63752,"src":"31987:13:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"functionReturnParameters":63331,"id":63354,"nodeType":"Return","src":"31980:20:97"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":63362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":63356,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63334,"src":"32015:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63357,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32023:8:97","memberName":"proposer","nodeType":"MemberAccess","referencedDeclaration":63776,"src":"32015:16:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":63360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32043:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32035:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63358,"name":"address","nodeType":"ElementaryTypeName","src":"32035:7:97","typeDescriptions":{}}},"id":63361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32035:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"32015:30:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":63366,"nodeType":"IfStatement","src":"32011:58:97","trueBody":{"expression":{"expression":{"id":63363,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63759,"src":"32054:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$63759_$","typeString":"type(enum OptimisticOracleV2Interface.State)"}},"id":63364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32060:9:97","memberName":"Requested","nodeType":"MemberAccess","referencedDeclaration":63753,"src":"32054:15:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"functionReturnParameters":63331,"id":63365,"nodeType":"Return","src":"32047:22:97"}},{"condition":{"expression":{"id":63367,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63334,"src":"32084:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63368,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32092:7:97","memberName":"settled","nodeType":"MemberAccess","referencedDeclaration":63783,"src":"32084:15:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":63372,"nodeType":"IfStatement","src":"32080:41:97","trueBody":{"expression":{"expression":{"id":63369,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63759,"src":"32108:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$63759_$","typeString":"type(enum OptimisticOracleV2Interface.State)"}},"id":63370,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32114:7:97","memberName":"Settled","nodeType":"MemberAccess","referencedDeclaration":63758,"src":"32108:13:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"functionReturnParameters":63331,"id":63371,"nodeType":"Return","src":"32101:20:97"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":63379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":63373,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63334,"src":"32136:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63374,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32144:8:97","memberName":"disputer","nodeType":"MemberAccess","referencedDeclaration":63778,"src":"32136:16:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":63377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32164:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63376,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32156:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63375,"name":"address","nodeType":"ElementaryTypeName","src":"32156:7:97","typeDescriptions":{}}},"id":63378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32156:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"32136:30:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":63392,"nodeType":"IfStatement","src":"32132:143:97","trueBody":{"id":63391,"nodeType":"Block","src":"32168:107:97","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":63380,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63334,"src":"32189:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63381,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32197:14:97","memberName":"expirationTime","nodeType":"MemberAccess","referencedDeclaration":63792,"src":"32189:22:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":63382,"name":"getCurrentTime","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63538,"src":"32215:14:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":63383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32215:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32189:42:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":63387,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63759,"src":"32250:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$63759_$","typeString":"type(enum OptimisticOracleV2Interface.State)"}},"id":63388,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32256:8:97","memberName":"Proposed","nodeType":"MemberAccess","referencedDeclaration":63754,"src":"32250:14:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"id":63389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"32189:75:97","trueExpression":{"expression":{"id":63385,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63759,"src":"32234:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$63759_$","typeString":"type(enum OptimisticOracleV2Interface.State)"}},"id":63386,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32240:7:97","memberName":"Expired","nodeType":"MemberAccess","referencedDeclaration":63755,"src":"32234:13:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"functionReturnParameters":63331,"id":63390,"nodeType":"Return","src":"32182:82:97"}]}},{"expression":{"condition":{"arguments":[{"id":63396,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63322,"src":"32327:10:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":63398,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63334,"src":"32366:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},{"id":63399,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63324,"src":"32375:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63397,"name":"_getTimestampForDvmRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63510,"src":"32339:26:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Request_$63797_storage_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct OptimisticOracleV2Interface.Request storage pointer,uint256) view returns (uint256)"}},"id":63400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32339:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":63402,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63326,"src":"32407:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":63403,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63320,"src":"32422:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":63401,"name":"_stampAncillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63528,"src":"32387:19:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_address_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory,address) pure returns (bytes memory)"}},"id":63404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32387:45:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63393,"name":"_getOracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63428,"src":"32292:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_OracleAncillaryInterface_$57045_$","typeString":"function () view returns (contract OracleAncillaryInterface)"}},"id":63394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32292:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_OracleAncillaryInterface_$57045","typeString":"contract OracleAncillaryInterface"}},"id":63395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32305:8:97","memberName":"hasPrice","nodeType":"MemberAccess","referencedDeclaration":57032,"src":"32292:21:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (bytes32,uint256,bytes memory) view external returns (bool)"}},"id":63405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32292:150:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":63408,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63759,"src":"32462:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$63759_$","typeString":"type(enum OptimisticOracleV2Interface.State)"}},"id":63409,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32468:8:97","memberName":"Disputed","nodeType":"MemberAccess","referencedDeclaration":63756,"src":"32462:14:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"id":63410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"32292:184:97","trueExpression":{"expression":{"id":63406,"name":"State","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63759,"src":"32445:5:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_State_$63759_$","typeString":"type(enum OptimisticOracleV2Interface.State)"}},"id":63407,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32451:8:97","memberName":"Resolved","nodeType":"MemberAccess","referencedDeclaration":63757,"src":"32445:14:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"functionReturnParameters":63331,"id":63411,"nodeType":"Return","src":"32285:191:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_getState","nameLocation":"31675:9:97","parameters":{"id":63327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63320,"mutability":"mutable","name":"requester","nameLocation":"31693:9:97","nodeType":"VariableDeclaration","scope":63413,"src":"31685:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63319,"name":"address","nodeType":"ElementaryTypeName","src":"31685:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63322,"mutability":"mutable","name":"identifier","nameLocation":"31712:10:97","nodeType":"VariableDeclaration","scope":63413,"src":"31704:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63321,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31704:7:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63324,"mutability":"mutable","name":"timestamp","nameLocation":"31732:9:97","nodeType":"VariableDeclaration","scope":63413,"src":"31724:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63323,"name":"uint256","nodeType":"ElementaryTypeName","src":"31724:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63326,"mutability":"mutable","name":"ancillaryData","nameLocation":"31756:13:97","nodeType":"VariableDeclaration","scope":63413,"src":"31743:26:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63325,"name":"bytes","nodeType":"ElementaryTypeName","src":"31743:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"31684:86:97"},"returnParameters":{"id":63331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63330,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63413,"src":"31817:5:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"},"typeName":{"id":63329,"nodeType":"UserDefinedTypeName","pathNode":{"id":63328,"name":"State","nameLocations":["31817:5:97"],"nodeType":"IdentifierPath","referencedDeclaration":63759,"src":"31817:5:97"},"referencedDeclaration":63759,"src":"31817:5:97","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"visibility":"internal"}],"src":"31816:7:97"},"scope":63544,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":63428,"nodeType":"FunctionDefinition","src":"32489:176:97","nodes":[],"body":{"id":63427,"nodeType":"Block","src":"32559:106:97","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":63422,"name":"OracleInterfaces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56958,"src":"32633:16:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OracleInterfaces_$56958_$","typeString":"type(library OracleInterfaces)"}},"id":63423,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32650:6:97","memberName":"Oracle","nodeType":"MemberAccess","referencedDeclaration":56915,"src":"32633:23:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":63420,"name":"finder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61862,"src":"32601:6:97","typeDescriptions":{"typeIdentifier":"t_contract$_FinderInterface_$56983","typeString":"contract FinderInterface"}},"id":63421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32608:24:97","memberName":"getImplementationAddress","nodeType":"MemberAccess","referencedDeclaration":56982,"src":"32601:31:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) view external returns (address)"}},"id":63424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32601:56:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63419,"name":"OracleAncillaryInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57045,"src":"32576:24:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OracleAncillaryInterface_$57045_$","typeString":"type(contract OracleAncillaryInterface)"}},"id":63425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32576:82:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_OracleAncillaryInterface_$57045","typeString":"contract OracleAncillaryInterface"}},"functionReturnParameters":63418,"id":63426,"nodeType":"Return","src":"32569:89:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_getOracle","nameLocation":"32498:10:97","parameters":{"id":63414,"nodeType":"ParameterList","parameters":[],"src":"32508:2:97"},"returnParameters":{"id":63418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63417,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63428,"src":"32533:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_OracleAncillaryInterface_$57045","typeString":"contract OracleAncillaryInterface"},"typeName":{"id":63416,"nodeType":"UserDefinedTypeName","pathNode":{"id":63415,"name":"OracleAncillaryInterface","nameLocations":["32533:24:97"],"nodeType":"IdentifierPath","referencedDeclaration":57045,"src":"32533:24:97"},"referencedDeclaration":57045,"src":"32533:24:97","typeDescriptions":{"typeIdentifier":"t_contract$_OracleAncillaryInterface_$57045","typeString":"contract OracleAncillaryInterface"}},"visibility":"internal"}],"src":"32532:26:97"},"scope":63544,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":63443,"nodeType":"FunctionDefinition","src":"32671:187:97","nodes":[],"body":{"id":63442,"nodeType":"Block","src":"32747:111:97","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":63437,"name":"OracleInterfaces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56958,"src":"32813:16:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OracleInterfaces_$56958_$","typeString":"type(library OracleInterfaces)"}},"id":63438,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32830:19:97","memberName":"CollateralWhitelist","nodeType":"MemberAccess","referencedDeclaration":56930,"src":"32813:36:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":63435,"name":"finder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61862,"src":"32781:6:97","typeDescriptions":{"typeIdentifier":"t_contract$_FinderInterface_$56983","typeString":"contract FinderInterface"}},"id":63436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32788:24:97","memberName":"getImplementationAddress","nodeType":"MemberAccess","referencedDeclaration":56982,"src":"32781:31:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) view external returns (address)"}},"id":63439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32781:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63434,"name":"AddressWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60496,"src":"32764:16:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AddressWhitelist_$60496_$","typeString":"type(contract AddressWhitelist)"}},"id":63440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32764:87:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"functionReturnParameters":63433,"id":63441,"nodeType":"Return","src":"32757:94:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_getCollateralWhitelist","nameLocation":"32680:23:97","parameters":{"id":63429,"nodeType":"ParameterList","parameters":[],"src":"32703:2:97"},"returnParameters":{"id":63433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63432,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63443,"src":"32729:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"},"typeName":{"id":63431,"nodeType":"UserDefinedTypeName","pathNode":{"id":63430,"name":"AddressWhitelist","nameLocations":["32729:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":60496,"src":"32729:16:97"},"referencedDeclaration":60496,"src":"32729:16:97","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"visibility":"internal"}],"src":"32728:18:97"},"scope":63544,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":63458,"nodeType":"FunctionDefinition","src":"32864:154:97","nodes":[],"body":{"id":63457,"nodeType":"Block","src":"32923:95:97","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":63452,"name":"OracleInterfaces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56958,"src":"32987:16:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OracleInterfaces_$56958_$","typeString":"type(library OracleInterfaces)"}},"id":63453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33004:5:97","memberName":"Store","nodeType":"MemberAccess","referencedDeclaration":56921,"src":"32987:22:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":63450,"name":"finder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61862,"src":"32955:6:97","typeDescriptions":{"typeIdentifier":"t_contract$_FinderInterface_$56983","typeString":"contract FinderInterface"}},"id":63451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32962:24:97","memberName":"getImplementationAddress","nodeType":"MemberAccess","referencedDeclaration":56982,"src":"32955:31:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) view external returns (address)"}},"id":63454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32955:55:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63449,"name":"StoreInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60844,"src":"32940:14:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreInterface_$60844_$","typeString":"type(contract StoreInterface)"}},"id":63455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32940:71:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_StoreInterface_$60844","typeString":"contract StoreInterface"}},"functionReturnParameters":63448,"id":63456,"nodeType":"Return","src":"32933:78:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_getStore","nameLocation":"32873:9:97","parameters":{"id":63444,"nodeType":"ParameterList","parameters":[],"src":"32882:2:97"},"returnParameters":{"id":63448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63447,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63458,"src":"32907:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_StoreInterface_$60844","typeString":"contract StoreInterface"},"typeName":{"id":63446,"nodeType":"UserDefinedTypeName","pathNode":{"id":63445,"name":"StoreInterface","nameLocations":["32907:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":60844,"src":"32907:14:97"},"referencedDeclaration":60844,"src":"32907:14:97","typeDescriptions":{"typeIdentifier":"t_contract$_StoreInterface_$60844","typeString":"contract StoreInterface"}},"visibility":"internal"}],"src":"32906:16:97"},"scope":63544,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":63473,"nodeType":"FunctionDefinition","src":"33024:210:97","nodes":[],"body":{"id":63472,"nodeType":"Block","src":"33111:123:97","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":63467,"name":"OracleInterfaces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56958,"src":"33189:16:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OracleInterfaces_$56958_$","typeString":"type(library OracleInterfaces)"}},"id":63468,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33206:19:97","memberName":"IdentifierWhitelist","nodeType":"MemberAccess","referencedDeclaration":56918,"src":"33189:36:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":63465,"name":"finder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61862,"src":"33157:6:97","typeDescriptions":{"typeIdentifier":"t_contract$_FinderInterface_$56983","typeString":"contract FinderInterface"}},"id":63466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33164:24:97","memberName":"getImplementationAddress","nodeType":"MemberAccess","referencedDeclaration":56982,"src":"33157:31:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) view external returns (address)"}},"id":63469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33157:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63464,"name":"IdentifierWhitelistInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57007,"src":"33128:28:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IdentifierWhitelistInterface_$57007_$","typeString":"type(contract IdentifierWhitelistInterface)"}},"id":63470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33128:99:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IdentifierWhitelistInterface_$57007","typeString":"contract IdentifierWhitelistInterface"}},"functionReturnParameters":63463,"id":63471,"nodeType":"Return","src":"33121:106:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_getIdentifierWhitelist","nameLocation":"33033:23:97","parameters":{"id":63459,"nodeType":"ParameterList","parameters":[],"src":"33056:2:97"},"returnParameters":{"id":63463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63462,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63473,"src":"33081:28:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IdentifierWhitelistInterface_$57007","typeString":"contract IdentifierWhitelistInterface"},"typeName":{"id":63461,"nodeType":"UserDefinedTypeName","pathNode":{"id":63460,"name":"IdentifierWhitelistInterface","nameLocations":["33081:28:97"],"nodeType":"IdentifierPath","referencedDeclaration":57007,"src":"33081:28:97"},"referencedDeclaration":57007,"src":"33081:28:97","typeDescriptions":{"typeIdentifier":"t_contract$_IdentifierWhitelistInterface_$57007","typeString":"contract IdentifierWhitelistInterface"}},"visibility":"internal"}],"src":"33080:30:97"},"scope":63544,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":63510,"nodeType":"FunctionDefinition","src":"33240:472:97","nodes":[],"body":{"id":63509,"nodeType":"Block","src":"33386:326:97","nodes":[],"statements":[{"condition":{"expression":{"expression":{"id":63483,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63476,"src":"33400:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33408:15:97","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"33400:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":63485,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33424:10:97","memberName":"eventBased","nodeType":"MemberAccess","referencedDeclaration":63761,"src":"33400:34:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":63507,"nodeType":"Block","src":"33658:48:97","statements":[{"expression":{"id":63505,"name":"requestTimestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63478,"src":"33679:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":63482,"id":63506,"nodeType":"Return","src":"33672:23:97"}]},"id":63508,"nodeType":"IfStatement","src":"33396:310:97","trueBody":{"id":63504,"nodeType":"Block","src":"33436:216:97","statements":[{"assignments":[63487],"declarations":[{"constant":false,"id":63487,"mutability":"mutable","name":"liveness","nameLocation":"33458:8:97","nodeType":"VariableDeclaration","scope":63504,"src":"33450:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63486,"name":"uint256","nodeType":"ElementaryTypeName","src":"33450:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63498,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":63488,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63476,"src":"33485:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63489,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33493:15:97","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"33485:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":63490,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33509:14:97","memberName":"customLiveness","nodeType":"MemberAccess","referencedDeclaration":63773,"src":"33485:38:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":63491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33527:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33485:43:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":63496,"name":"defaultLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61865,"src":"33572:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":63497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"33485:102:97","trueExpression":{"expression":{"expression":{"id":63493,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63476,"src":"33531:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63494,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33539:15:97","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"33531:23:97","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage","typeString":"struct OptimisticOracleV2Interface.RequestSettings storage ref"}},"id":63495,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33555:14:97","memberName":"customLiveness","nodeType":"MemberAccess","referencedDeclaration":63773,"src":"33531:38:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33450:137:97"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":63499,"name":"request","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63476,"src":"33608:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request storage pointer"}},"id":63500,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33616:14:97","memberName":"expirationTime","nodeType":"MemberAccess","referencedDeclaration":63792,"src":"33608:22:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":63501,"name":"liveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63487,"src":"33633:8:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33608:33:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":63482,"id":63503,"nodeType":"Return","src":"33601:40:97"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_getTimestampForDvmRequest","nameLocation":"33249:26:97","parameters":{"id":63479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63476,"mutability":"mutable","name":"request","nameLocation":"33292:7:97","nodeType":"VariableDeclaration","scope":63510,"src":"33276:23:97","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"},"typeName":{"id":63475,"nodeType":"UserDefinedTypeName","pathNode":{"id":63474,"name":"Request","nameLocations":["33276:7:97"],"nodeType":"IdentifierPath","referencedDeclaration":63797,"src":"33276:7:97"},"referencedDeclaration":63797,"src":"33276:7:97","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"}},"visibility":"internal"},{"constant":false,"id":63478,"mutability":"mutable","name":"requestTimestamp","nameLocation":"33309:16:97","nodeType":"VariableDeclaration","scope":63510,"src":"33301:24:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63477,"name":"uint256","nodeType":"ElementaryTypeName","src":"33301:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33275:51:97"},"returnParameters":{"id":63482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63510,"src":"33373:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63480,"name":"uint256","nodeType":"ElementaryTypeName","src":"33373:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33372:9:97"},"scope":63544,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":63528,"nodeType":"FunctionDefinition","src":"34012:371:97","nodes":[],"body":{"id":63527,"nodeType":"Block","src":"34124:259:97","nodes":[],"statements":[{"expression":{"arguments":[{"id":63522,"name":"ancillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63513,"src":"34336:13:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"6f6f526571756573746572","id":63523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34351:13:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_f157c788a16e56e9d89a91fe9bcb3c66f2c2807a4b0fd965beac18e7acd71364","typeString":"literal_string \"ooRequester\""},"value":"ooRequester"},{"id":63524,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63515,"src":"34366:9:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_f157c788a16e56e9d89a91fe9bcb3c66f2c2807a4b0fd965beac18e7acd71364","typeString":"literal_string \"ooRequester\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63520,"name":"AncillaryData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56832,"src":"34300:13:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AncillaryData_$56832_$","typeString":"type(library AncillaryData)"}},"id":63521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34314:21:97","memberName":"appendKeyValueAddress","nodeType":"MemberAccess","referencedDeclaration":56771,"src":"34300:35:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_address_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory,bytes memory,address) pure returns (bytes memory)"}},"id":63525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34300:76:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":63519,"id":63526,"nodeType":"Return","src":"34293:83:97"}]},"documentation":{"id":63511,"nodeType":"StructuredDocumentation","src":"33718:289:97","text":" @dev We don't handle specifically the case where `ancillaryData` is not already readily translateable in utf8.\n For those cases, we assume that the client will be able to strip out the utf8-translateable part of the\n ancillary data that this contract stamps."},"implemented":true,"kind":"function","modifiers":[],"name":"_stampAncillaryData","nameLocation":"34021:19:97","parameters":{"id":63516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63513,"mutability":"mutable","name":"ancillaryData","nameLocation":"34054:13:97","nodeType":"VariableDeclaration","scope":63528,"src":"34041:26:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63512,"name":"bytes","nodeType":"ElementaryTypeName","src":"34041:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":63515,"mutability":"mutable","name":"requester","nameLocation":"34077:9:97","nodeType":"VariableDeclaration","scope":63528,"src":"34069:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63514,"name":"address","nodeType":"ElementaryTypeName","src":"34069:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34040:47:97"},"returnParameters":{"id":63519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63518,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63528,"src":"34110:12:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63517,"name":"bytes","nodeType":"ElementaryTypeName","src":"34110:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"34109:14:97"},"scope":63544,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":63538,"nodeType":"FunctionDefinition","src":"34389:104:97","nodes":[],"body":{"id":63537,"nodeType":"Block","src":"34454:39:97","nodes":[],"statements":[{"expression":{"expression":{"id":63534,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"34471:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":63535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34477:9:97","memberName":"timestamp","nodeType":"MemberAccess","src":"34471:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":63533,"id":63536,"nodeType":"Return","src":"34464:22:97"}]},"baseFunctions":[63816],"functionSelector":"29cb924d","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentTime","nameLocation":"34398:14:97","overrides":{"id":63530,"nodeType":"OverrideSpecifier","overrides":[],"src":"34427:8:97"},"parameters":{"id":63529,"nodeType":"ParameterList","parameters":[],"src":"34412:2:97"},"returnParameters":{"id":63533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63532,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63538,"src":"34445:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63531,"name":"uint256","nodeType":"ElementaryTypeName","src":"34445:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34444:9:97"},"scope":63544,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":63543,"nodeType":"VariableDeclaration","src":"34921:26:97","nodes":[],"constant":false,"documentation":{"id":63539,"nodeType":"StructuredDocumentation","src":"34499:417:97","text":" @dev Reserve storage slots for future versions of this base contract to add state variables without affecting the\n storage layout of child contracts. Decrement the size of __gap whenever state variables are added. This is at the\n bottom of contract to make sure its always at the end of storage.\n See https://docs.openzeppelin.com/upgrades-plugins/writing-upgradeable#storage-gaps"},"mutability":"mutable","name":"__gap","nameLocation":"34942:5:97","scope":63544,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$998_storage","typeString":"uint256[998]"},"typeName":{"baseType":{"id":63540,"name":"uint256","nodeType":"ElementaryTypeName","src":"34921:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":63542,"length":{"hexValue":"393938","id":63541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34929:3:97","typeDescriptions":{"typeIdentifier":"t_rational_998_by_1","typeString":"int_const 998"},"value":"998"},"nodeType":"ArrayTypeName","src":"34921:12:97","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$998_storage_ptr","typeString":"uint256[998]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":61841,"name":"OptimisticOracleV2Interface","nameLocations":["3750:27:97"],"nodeType":"IdentifierPath","referencedDeclaration":64049,"src":"3750:27:97"},"id":61842,"nodeType":"InheritanceSpecifier","src":"3750:27:97"},{"baseName":{"id":61843,"name":"UUPSUpgradeable","nameLocations":["3783:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":41022,"src":"3783:15:97"},"id":61844,"nodeType":"InheritanceSpecifier","src":"3783:15:97"},{"baseName":{"id":61845,"name":"AccessControlDefaultAdminRulesUpgradeable","nameLocations":["3804:41:97"],"nodeType":"IdentifierPath","referencedDeclaration":40572,"src":"3804:41:97"},"id":61846,"nodeType":"InheritanceSpecifier","src":"3804:41:97"},{"baseName":{"id":61847,"name":"LockableUpgradeable","nameLocations":["3851:19:97"],"nodeType":"IdentifierPath","referencedDeclaration":60675,"src":"3851:19:97"},"id":61848,"nodeType":"InheritanceSpecifier","src":"3851:19:97"}],"canonicalName":"OptimisticOracleV2","contractDependencies":[],"contractKind":"contract","documentation":{"id":61840,"nodeType":"StructuredDocumentation","src":"3560:154:97","text":" @title Optimistic Oracle.\n @notice Pre-DVM escalation contract that allows faster settlement.\n @custom:security-contact bugs@umaproject.org"},"fullyImplemented":true,"linearizedBaseContracts":[63544,60675,40572,39724,41108,46799,41559,41438,41191,41068,41022,41569,40840,64049],"name":"OptimisticOracleV2","nameLocation":"3724:18:97","scope":63545,"usedErrors":[40589,40592,40867,40872,41118,41121,41351,41354,41359,41805,41818,43086,43548,44851,48430,60592,63647,63650,63653,63656,63659,63662,63665,63668,63671,63674,63677,63680,63683],"usedEvents":[40597,41130,41139,41148,41366,41369,41376,41379,41532,63699,63717,63733,63751]}],"license":"AGPL-3.0-only"}},"src/optimistic-oracle-v2/interfaces/ManagedOptimisticOracleV2Interface.sol":{"id":98,"ast":{"absolutePath":"src/optimistic-oracle-v2/interfaces/ManagedOptimisticOracleV2Interface.sol","id":63638,"exportedSymbols":{"IERC20":[43048],"ManagedOptimisticOracleV2Interface":[63637]},"nodeType":"SourceUnit","src":"42:2373:98","nodes":[{"id":63546,"nodeType":"PragmaDirective","src":"42:23:98","nodes":[],"literals":["solidity","^","0.8",".4"]},{"id":63548,"nodeType":"ImportDirective","src":"67:70:98","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":63638,"sourceUnit":43049,"symbolAliases":[{"foreign":{"id":63547,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"75:6:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":63637,"nodeType":"ContractDefinition","src":"366:2048:98","nodes":[{"id":63552,"nodeType":"ErrorDefinition","src":"500:32:98","nodes":[],"documentation":{"id":63550,"nodeType":"StructuredDocumentation","src":"425:70:98","text":"@notice Thrown when a requester is not on the requester whitelist."},"errorSelector":"0f3c7c27","name":"RequesterNotWhitelisted","nameLocation":"506:23:98","parameters":{"id":63551,"nodeType":"ParameterList","parameters":[],"src":"529:2:98"}},{"id":63555,"nodeType":"ErrorDefinition","src":"591:27:98","nodes":[],"documentation":{"id":63553,"nodeType":"StructuredDocumentation","src":"537:49:98","text":"@notice Thrown when a zero value bond is set."},"errorSelector":"926bee02","name":"ZeroBondNotAllowed","nameLocation":"597:18:98","parameters":{"id":63554,"nodeType":"ParameterList","parameters":[],"src":"615:2:98"}},{"id":63558,"nodeType":"ErrorDefinition","src":"702:29:98","nodes":[],"documentation":{"id":63556,"nodeType":"StructuredDocumentation","src":"623:74:98","text":"@notice Thrown when a bond is set lower than the minimum allowed bond."},"errorSelector":"dba3b861","name":"BondBelowMinimumBond","nameLocation":"708:20:98","parameters":{"id":63557,"nodeType":"ParameterList","parameters":[],"src":"728:2:98"}},{"id":63561,"nodeType":"ErrorDefinition","src":"816:31:98","nodes":[],"documentation":{"id":63559,"nodeType":"StructuredDocumentation","src":"736:75:98","text":"@notice Thrown when a bond is set higher than the maximum allowed bond."},"errorSelector":"1f7b5d61","name":"BondExceedsMaximumBond","nameLocation":"822:22:98","parameters":{"id":63560,"nodeType":"ParameterList","parameters":[],"src":"844:2:98"}},{"id":63564,"nodeType":"ErrorDefinition","src":"939:23:98","nodes":[],"documentation":{"id":63562,"nodeType":"StructuredDocumentation","src":"852:82:98","text":"@notice Thrown when a liveness is set lower than the minimum allowed liveness."},"errorSelector":"df40ad74","name":"LivenessTooLow","nameLocation":"945:14:98","parameters":{"id":63563,"nodeType":"ParameterList","parameters":[],"src":"959:2:98"}},{"id":63567,"nodeType":"ErrorDefinition","src":"1050:31:98","nodes":[],"documentation":{"id":63565,"nodeType":"StructuredDocumentation","src":"967:78:98","text":"@notice Thrown when a proposer is not on the effective proposer whitelist."},"errorSelector":"6ffe5a95","name":"ProposerNotWhitelisted","nameLocation":"1056:22:98","parameters":{"id":63566,"nodeType":"ParameterList","parameters":[],"src":"1078:2:98"}},{"id":63570,"nodeType":"ErrorDefinition","src":"1192:29:98","nodes":[],"documentation":{"id":63568,"nodeType":"StructuredDocumentation","src":"1086:101:98","text":"@notice Thrown when the message sender is not on the effective proposer whitelist for a proposal."},"errorSelector":"7ed449a9","name":"SenderNotWhitelisted","nameLocation":"1198:20:98","parameters":{"id":63569,"nodeType":"ParameterList","parameters":[],"src":"1218:2:98"}},{"id":63573,"nodeType":"ErrorDefinition","src":"1307:38:98","nodes":[],"documentation":{"id":63571,"nodeType":"StructuredDocumentation","src":"1226:76:98","text":"@notice Thrown when a whitelist does not support the required interface."},"errorSelector":"67cc38ef","name":"UnsupportedWhitelistInterface","nameLocation":"1313:29:98","parameters":{"id":63572,"nodeType":"ParameterList","parameters":[],"src":"1342:2:98"}},{"id":63576,"nodeType":"ErrorDefinition","src":"1420:36:98","nodes":[],"documentation":{"id":63574,"nodeType":"StructuredDocumentation","src":"1350:65:98","text":"@notice Thrown when minimum bond is higher than maximum bond."},"errorSelector":"5b1a7437","name":"MinimumBondAboveMaximumBond","nameLocation":"1426:27:98","parameters":{"id":63575,"nodeType":"ParameterList","parameters":[],"src":"1453:2:98"}},{"id":63585,"nodeType":"EventDefinition","src":"1462:103:98","nodes":[],"anonymous":false,"eventSelector":"143b6bf2ebf8381dc4db7edfc69b944d4a518b2be84f1d6230aecb2b698100e4","name":"AllowedBondRangeUpdated","nameLocation":"1468:23:98","parameters":{"id":63584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63579,"indexed":true,"mutability":"mutable","name":"currency","nameLocation":"1507:8:98","nodeType":"VariableDeclaration","scope":63585,"src":"1492:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},"typeName":{"id":63578,"nodeType":"UserDefinedTypeName","pathNode":{"id":63577,"name":"IERC20","nameLocations":["1492:6:98"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"1492:6:98"},"referencedDeclaration":43048,"src":"1492:6:98","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":63581,"indexed":false,"mutability":"mutable","name":"newMinimumBond","nameLocation":"1525:14:98","nodeType":"VariableDeclaration","scope":63585,"src":"1517:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63580,"name":"uint256","nodeType":"ElementaryTypeName","src":"1517:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63583,"indexed":false,"mutability":"mutable","name":"newMaximumBond","nameLocation":"1549:14:98","nodeType":"VariableDeclaration","scope":63585,"src":"1541:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63582,"name":"uint256","nodeType":"ElementaryTypeName","src":"1541:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1491:73:98"}},{"id":63589,"nodeType":"EventDefinition","src":"1570:57:98","nodes":[],"anonymous":false,"eventSelector":"c41d1b4ad42d6f594ce26dc949c6aa711df74301f1f2c17b3a36d30c9761abf3","name":"MinimumLivenessUpdated","nameLocation":"1576:22:98","parameters":{"id":63588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63587,"indexed":false,"mutability":"mutable","name":"newMinimumLiveness","nameLocation":"1607:18:98","nodeType":"VariableDeclaration","scope":63589,"src":"1599:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63586,"name":"uint256","nodeType":"ElementaryTypeName","src":"1599:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1598:28:98"}},{"id":63593,"nodeType":"EventDefinition","src":"1632:68:98","nodes":[],"anonymous":false,"eventSelector":"e983c4450684b2324d78afaa992b88be67cf4d3919d7a6539ca774d7bb5189f4","name":"DefaultProposerWhitelistUpdated","nameLocation":"1638:31:98","parameters":{"id":63592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63591,"indexed":true,"mutability":"mutable","name":"newWhitelist","nameLocation":"1686:12:98","nodeType":"VariableDeclaration","scope":63593,"src":"1670:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63590,"name":"address","nodeType":"ElementaryTypeName","src":"1670:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1669:30:98"}},{"id":63597,"nodeType":"EventDefinition","src":"1705:62:98","nodes":[],"anonymous":false,"eventSelector":"ab1796ea525d29607f67aabc405756efd2fc7c4eb2531e627f6ec697ac618a8e","name":"RequesterWhitelistUpdated","nameLocation":"1711:25:98","parameters":{"id":63596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63595,"indexed":true,"mutability":"mutable","name":"newWhitelist","nameLocation":"1753:12:98","nodeType":"VariableDeclaration","scope":63597,"src":"1737:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63594,"name":"address","nodeType":"ElementaryTypeName","src":"1737:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1736:30:98"}},{"id":63612,"nodeType":"EventDefinition","src":"1772:215:98","nodes":[],"anonymous":false,"eventSelector":"4544c320b43beb5421d5149ff92fa72b40f00ac65294c4b8ca3906f08fb5a8c2","name":"CustomBondSet","nameLocation":"1778:13:98","parameters":{"id":63611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63599,"indexed":true,"mutability":"mutable","name":"managedRequestId","nameLocation":"1817:16:98","nodeType":"VariableDeclaration","scope":63612,"src":"1801:32:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63598,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1801:7:98","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63601,"indexed":false,"mutability":"mutable","name":"requester","nameLocation":"1851:9:98","nodeType":"VariableDeclaration","scope":63612,"src":"1843:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63600,"name":"address","nodeType":"ElementaryTypeName","src":"1843:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63603,"indexed":true,"mutability":"mutable","name":"identifier","nameLocation":"1886:10:98","nodeType":"VariableDeclaration","scope":63612,"src":"1870:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63602,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1870:7:98","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63605,"indexed":false,"mutability":"mutable","name":"ancillaryData","nameLocation":"1912:13:98","nodeType":"VariableDeclaration","scope":63612,"src":"1906:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63604,"name":"bytes","nodeType":"ElementaryTypeName","src":"1906:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":63608,"indexed":true,"mutability":"mutable","name":"currency","nameLocation":"1950:8:98","nodeType":"VariableDeclaration","scope":63612,"src":"1935:23:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},"typeName":{"id":63607,"nodeType":"UserDefinedTypeName","pathNode":{"id":63606,"name":"IERC20","nameLocations":["1935:6:98"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"1935:6:98"},"referencedDeclaration":43048,"src":"1935:6:98","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":63610,"indexed":false,"mutability":"mutable","name":"bond","nameLocation":"1976:4:98","nodeType":"VariableDeclaration","scope":63612,"src":"1968:12:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63609,"name":"uint256","nodeType":"ElementaryTypeName","src":"1968:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1791:195:98"}},{"id":63624,"nodeType":"EventDefinition","src":"1992:204:98","nodes":[],"anonymous":false,"eventSelector":"c5314bcb93c25473b858a5086195e309861a64b4c3ddae4d0a5cb9c5fb6f30f4","name":"CustomLivenessSet","nameLocation":"1998:17:98","parameters":{"id":63623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63614,"indexed":true,"mutability":"mutable","name":"managedRequestId","nameLocation":"2041:16:98","nodeType":"VariableDeclaration","scope":63624,"src":"2025:32:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63613,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2025:7:98","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63616,"indexed":true,"mutability":"mutable","name":"requester","nameLocation":"2083:9:98","nodeType":"VariableDeclaration","scope":63624,"src":"2067:25:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63615,"name":"address","nodeType":"ElementaryTypeName","src":"2067:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63618,"indexed":true,"mutability":"mutable","name":"identifier","nameLocation":"2118:10:98","nodeType":"VariableDeclaration","scope":63624,"src":"2102:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63617,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2102:7:98","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63620,"indexed":false,"mutability":"mutable","name":"ancillaryData","nameLocation":"2144:13:98","nodeType":"VariableDeclaration","scope":63624,"src":"2138:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63619,"name":"bytes","nodeType":"ElementaryTypeName","src":"2138:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":63622,"indexed":false,"mutability":"mutable","name":"customLiveness","nameLocation":"2175:14:98","nodeType":"VariableDeclaration","scope":63624,"src":"2167:22:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63621,"name":"uint256","nodeType":"ElementaryTypeName","src":"2167:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2015:180:98"}},{"id":63636,"nodeType":"EventDefinition","src":"2201:211:98","nodes":[],"anonymous":false,"eventSelector":"6176bed8b34e20579b664c32ad00534f173e1f7c4410232beef89bed4464ddc0","name":"CustomProposerWhitelistSet","nameLocation":"2207:26:98","parameters":{"id":63635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63626,"indexed":true,"mutability":"mutable","name":"managedRequestId","nameLocation":"2259:16:98","nodeType":"VariableDeclaration","scope":63636,"src":"2243:32:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63625,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2243:7:98","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63628,"indexed":false,"mutability":"mutable","name":"requester","nameLocation":"2293:9:98","nodeType":"VariableDeclaration","scope":63636,"src":"2285:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63627,"name":"address","nodeType":"ElementaryTypeName","src":"2285:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63630,"indexed":true,"mutability":"mutable","name":"identifier","nameLocation":"2328:10:98","nodeType":"VariableDeclaration","scope":63636,"src":"2312:26:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63629,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2312:7:98","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63632,"indexed":false,"mutability":"mutable","name":"ancillaryData","nameLocation":"2354:13:98","nodeType":"VariableDeclaration","scope":63636,"src":"2348:19:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63631,"name":"bytes","nodeType":"ElementaryTypeName","src":"2348:5:98","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":63634,"indexed":true,"mutability":"mutable","name":"newWhitelist","nameLocation":"2393:12:98","nodeType":"VariableDeclaration","scope":63636,"src":"2377:28:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63633,"name":"address","nodeType":"ElementaryTypeName","src":"2377:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2233:178:98"}}],"abstract":true,"baseContracts":[],"canonicalName":"ManagedOptimisticOracleV2Interface","contractDependencies":[],"contractKind":"contract","documentation":{"id":63549,"nodeType":"StructuredDocumentation","src":"139:226:98","text":" @title Events and Errors for the ManagedOptimisticOracleV2 contract.\n @notice Contains events for request manager management, bond and liveness updates, and whitelists,\n and custom errors for various conditions."},"fullyImplemented":true,"linearizedBaseContracts":[63637],"name":"ManagedOptimisticOracleV2Interface","nameLocation":"384:34:98","scope":63638,"usedErrors":[63552,63555,63558,63561,63564,63567,63570,63573,63576],"usedEvents":[63585,63589,63593,63597,63612,63624,63636]}],"license":"AGPL-3.0-only"}},"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol":{"id":99,"ast":{"absolutePath":"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol","id":64050,"exportedSymbols":{"FinderInterface":[56983],"IERC20":[43048],"OptimisticOracleV2Interface":[64049]},"nodeType":"SourceUnit","src":"361:17870:99","nodes":[{"id":63639,"nodeType":"PragmaDirective","src":"361:23:99","nodes":[],"literals":["solidity","^","0.8",".4"]},{"id":63641,"nodeType":"ImportDirective","src":"386:70:99","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":64050,"sourceUnit":43049,"symbolAliases":[{"foreign":{"id":63640,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"394:6:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":63643,"nodeType":"ImportDirective","src":"457:106:99","nodes":[],"absolutePath":"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/FinderInterface.sol","file":"@uma/contracts/data-verification-mechanism/interfaces/FinderInterface.sol","nameLocation":"-1:-1:-1","scope":64050,"sourceUnit":56984,"symbolAliases":[{"foreign":{"id":63642,"name":"FinderInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56983,"src":"465:15:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64049,"nodeType":"ContractDefinition","src":"741:17489:99","nodes":[{"id":63647,"nodeType":"ErrorDefinition","src":"869:31:99","nodes":[],"documentation":{"id":63645,"nodeType":"StructuredDocumentation","src":"793:71:99","text":"@notice Thrown when a request is not in the expected Invalid state."},"errorSelector":"f757fcff","name":"RequestStateNotInvalid","nameLocation":"875:22:99","parameters":{"id":63646,"nodeType":"ParameterList","parameters":[],"src":"897:2:99"}},{"id":63650,"nodeType":"ErrorDefinition","src":"983:33:99","nodes":[],"documentation":{"id":63648,"nodeType":"StructuredDocumentation","src":"905:73:99","text":"@notice Thrown when a request is not in the expected Requested state."},"errorSelector":"749c249a","name":"RequestStateNotRequested","nameLocation":"989:24:99","parameters":{"id":63649,"nodeType":"ParameterList","parameters":[],"src":"1013:2:99"}},{"id":63653,"nodeType":"ErrorDefinition","src":"1098:32:99","nodes":[],"documentation":{"id":63651,"nodeType":"StructuredDocumentation","src":"1021:72:99","text":"@notice Thrown when a request is not in the expected Proposed state."},"errorSelector":"de0cc838","name":"RequestStateNotProposed","nameLocation":"1104:23:99","parameters":{"id":63652,"nodeType":"ParameterList","parameters":[],"src":"1127:2:99"}},{"id":63656,"nodeType":"ErrorDefinition","src":"1223:30:99","nodes":[],"documentation":{"id":63654,"nodeType":"StructuredDocumentation","src":"1135:83:99","text":"@notice Thrown when an identifier is not supported by the identifier whitelist."},"errorSelector":"56175d8f","name":"UnsupportedIdentifier","nameLocation":"1229:21:99","parameters":{"id":63655,"nodeType":"ParameterList","parameters":[],"src":"1250:2:99"}},{"id":63659,"nodeType":"ErrorDefinition","src":"1343:28:99","nodes":[],"documentation":{"id":63657,"nodeType":"StructuredDocumentation","src":"1258:80:99","text":"@notice Thrown when a currency is not supported by the collateral whitelist."},"errorSelector":"2263f4e2","name":"UnsupportedCurrency","nameLocation":"1349:19:99","parameters":{"id":63658,"nodeType":"ParameterList","parameters":[],"src":"1368:2:99"}},{"id":63662,"nodeType":"ErrorDefinition","src":"1434:26:99","nodes":[],"documentation":{"id":63660,"nodeType":"StructuredDocumentation","src":"1376:53:99","text":"@notice Thrown when a timestamp is in the future."},"errorSelector":"47860b97","name":"TimestampInFuture","nameLocation":"1440:17:99","parameters":{"id":63661,"nodeType":"ParameterList","parameters":[],"src":"1457:2:99"}},{"id":63665,"nodeType":"ErrorDefinition","src":"1535:29:99","nodes":[],"documentation":{"id":63663,"nodeType":"StructuredDocumentation","src":"1465:65:99","text":"@notice Thrown when ancillary data exceeds the allowed limit."},"errorSelector":"0a56acd9","name":"AncillaryDataTooLong","nameLocation":"1541:20:99","parameters":{"id":63664,"nodeType":"ParameterList","parameters":[],"src":"1561:2:99"}},{"id":63668,"nodeType":"ErrorDefinition","src":"1625:36:99","nodes":[],"documentation":{"id":63666,"nodeType":"StructuredDocumentation","src":"1569:51:99","text":"@notice Thrown when a proposer address is zero."},"errorSelector":"18a83d6c","name":"ProposerAddressCannotBeZero","nameLocation":"1631:27:99","parameters":{"id":63667,"nodeType":"ParameterList","parameters":[],"src":"1658:2:99"}},{"id":63671,"nodeType":"ErrorDefinition","src":"1763:30:99","nodes":[],"documentation":{"id":63669,"nodeType":"StructuredDocumentation","src":"1666:92:99","text":"@notice Thrown when trying to propose the \"too early\" response for event-based requests."},"errorSelector":"cad802eb","name":"CannotProposeTooEarly","nameLocation":"1769:21:99","parameters":{"id":63670,"nodeType":"ParameterList","parameters":[],"src":"1790:2:99"}},{"id":63674,"nodeType":"ErrorDefinition","src":"1854:36:99","nodes":[],"documentation":{"id":63672,"nodeType":"StructuredDocumentation","src":"1798:51:99","text":"@notice Thrown when a disputer address is zero."},"errorSelector":"bef5ceeb","name":"DisputerAddressCannotBeZero","nameLocation":"1860:27:99","parameters":{"id":63673,"nodeType":"ParameterList","parameters":[],"src":"1887:2:99"}},{"id":63677,"nodeType":"ErrorDefinition","src":"1953:25:99","nodes":[],"documentation":{"id":63675,"nodeType":"StructuredDocumentation","src":"1895:53:99","text":"@notice Thrown when liveness period is too large."},"errorSelector":"cb40339f","name":"LivenessTooLarge","nameLocation":"1959:16:99","parameters":{"id":63676,"nodeType":"ParameterList","parameters":[],"src":"1975:2:99"}},{"id":63680,"nodeType":"ErrorDefinition","src":"2043:29:99","nodes":[],"documentation":{"id":63678,"nodeType":"StructuredDocumentation","src":"1983:55:99","text":"@notice Thrown when liveness period cannot be zero."},"errorSelector":"fa050ec1","name":"LivenessCannotBeZero","nameLocation":"2049:20:99","parameters":{"id":63679,"nodeType":"ParameterList","parameters":[],"src":"2069:2:99"}},{"id":63683,"nodeType":"ErrorDefinition","src":"2156:29:99","nodes":[],"documentation":{"id":63681,"nodeType":"StructuredDocumentation","src":"2077:74:99","text":"@notice Thrown when trying to settle a request that is not settleable."},"errorSelector":"9c71cb83","name":"RequestNotSettleable","nameLocation":"2162:20:99","parameters":{"id":63682,"nodeType":"ParameterList","parameters":[],"src":"2182:2:99"}},{"id":63699,"nodeType":"EventDefinition","src":"2191:220:99","nodes":[],"anonymous":false,"eventSelector":"f1679315ff325c257a944e0ca1bfe7b26616039e9511f9610d4ba3eca851027b","name":"RequestPrice","nameLocation":"2197:12:99","parameters":{"id":63698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63685,"indexed":true,"mutability":"mutable","name":"requester","nameLocation":"2235:9:99","nodeType":"VariableDeclaration","scope":63699,"src":"2219:25:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63684,"name":"address","nodeType":"ElementaryTypeName","src":"2219:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63687,"indexed":false,"mutability":"mutable","name":"identifier","nameLocation":"2262:10:99","nodeType":"VariableDeclaration","scope":63699,"src":"2254:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63686,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2254:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63689,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"2290:9:99","nodeType":"VariableDeclaration","scope":63699,"src":"2282:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63688,"name":"uint256","nodeType":"ElementaryTypeName","src":"2282:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63691,"indexed":false,"mutability":"mutable","name":"ancillaryData","nameLocation":"2315:13:99","nodeType":"VariableDeclaration","scope":63699,"src":"2309:19:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63690,"name":"bytes","nodeType":"ElementaryTypeName","src":"2309:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":63693,"indexed":false,"mutability":"mutable","name":"currency","nameLocation":"2346:8:99","nodeType":"VariableDeclaration","scope":63699,"src":"2338:16:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63692,"name":"address","nodeType":"ElementaryTypeName","src":"2338:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63695,"indexed":false,"mutability":"mutable","name":"reward","nameLocation":"2372:6:99","nodeType":"VariableDeclaration","scope":63699,"src":"2364:14:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63694,"name":"uint256","nodeType":"ElementaryTypeName","src":"2364:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63697,"indexed":false,"mutability":"mutable","name":"finalFee","nameLocation":"2396:8:99","nodeType":"VariableDeclaration","scope":63699,"src":"2388:16:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63696,"name":"uint256","nodeType":"ElementaryTypeName","src":"2388:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2209:201:99"}},{"id":63717,"nodeType":"EventDefinition","src":"2416:271:99","nodes":[],"anonymous":false,"eventSelector":"6e51dd00371aabffa82cd401592f76ed51e98a9ea4b58751c70463a2c78b5ca1","name":"ProposePrice","nameLocation":"2422:12:99","parameters":{"id":63716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63701,"indexed":true,"mutability":"mutable","name":"requester","nameLocation":"2460:9:99","nodeType":"VariableDeclaration","scope":63717,"src":"2444:25:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63700,"name":"address","nodeType":"ElementaryTypeName","src":"2444:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63703,"indexed":true,"mutability":"mutable","name":"proposer","nameLocation":"2495:8:99","nodeType":"VariableDeclaration","scope":63717,"src":"2479:24:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63702,"name":"address","nodeType":"ElementaryTypeName","src":"2479:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63705,"indexed":false,"mutability":"mutable","name":"identifier","nameLocation":"2521:10:99","nodeType":"VariableDeclaration","scope":63717,"src":"2513:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63704,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2513:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63707,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"2549:9:99","nodeType":"VariableDeclaration","scope":63717,"src":"2541:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63706,"name":"uint256","nodeType":"ElementaryTypeName","src":"2541:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63709,"indexed":false,"mutability":"mutable","name":"ancillaryData","nameLocation":"2574:13:99","nodeType":"VariableDeclaration","scope":63717,"src":"2568:19:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63708,"name":"bytes","nodeType":"ElementaryTypeName","src":"2568:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":63711,"indexed":false,"mutability":"mutable","name":"proposedPrice","nameLocation":"2604:13:99","nodeType":"VariableDeclaration","scope":63717,"src":"2597:20:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":63710,"name":"int256","nodeType":"ElementaryTypeName","src":"2597:6:99","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":63713,"indexed":false,"mutability":"mutable","name":"expirationTimestamp","nameLocation":"2635:19:99","nodeType":"VariableDeclaration","scope":63717,"src":"2627:27:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63712,"name":"uint256","nodeType":"ElementaryTypeName","src":"2627:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63715,"indexed":false,"mutability":"mutable","name":"currency","nameLocation":"2672:8:99","nodeType":"VariableDeclaration","scope":63717,"src":"2664:16:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63714,"name":"address","nodeType":"ElementaryTypeName","src":"2664:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2434:252:99"}},{"id":63733,"nodeType":"EventDefinition","src":"2692:242:99","nodes":[],"anonymous":false,"eventSelector":"5165909c3d1c01c5d1e121ac6f6d01dda1ba24bc9e1f975b5a375339c15be7f3","name":"DisputePrice","nameLocation":"2698:12:99","parameters":{"id":63732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63719,"indexed":true,"mutability":"mutable","name":"requester","nameLocation":"2736:9:99","nodeType":"VariableDeclaration","scope":63733,"src":"2720:25:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63718,"name":"address","nodeType":"ElementaryTypeName","src":"2720:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63721,"indexed":true,"mutability":"mutable","name":"proposer","nameLocation":"2771:8:99","nodeType":"VariableDeclaration","scope":63733,"src":"2755:24:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63720,"name":"address","nodeType":"ElementaryTypeName","src":"2755:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63723,"indexed":true,"mutability":"mutable","name":"disputer","nameLocation":"2805:8:99","nodeType":"VariableDeclaration","scope":63733,"src":"2789:24:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63722,"name":"address","nodeType":"ElementaryTypeName","src":"2789:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63725,"indexed":false,"mutability":"mutable","name":"identifier","nameLocation":"2831:10:99","nodeType":"VariableDeclaration","scope":63733,"src":"2823:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63724,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2823:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63727,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"2859:9:99","nodeType":"VariableDeclaration","scope":63733,"src":"2851:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63726,"name":"uint256","nodeType":"ElementaryTypeName","src":"2851:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63729,"indexed":false,"mutability":"mutable","name":"ancillaryData","nameLocation":"2884:13:99","nodeType":"VariableDeclaration","scope":63733,"src":"2878:19:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63728,"name":"bytes","nodeType":"ElementaryTypeName","src":"2878:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":63731,"indexed":false,"mutability":"mutable","name":"proposedPrice","nameLocation":"2914:13:99","nodeType":"VariableDeclaration","scope":63733,"src":"2907:20:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":63730,"name":"int256","nodeType":"ElementaryTypeName","src":"2907:6:99","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2710:223:99"}},{"id":63751,"nodeType":"EventDefinition","src":"2939:252:99","nodes":[],"anonymous":false,"eventSelector":"3f384afb4bd9f0aef0298c80399950011420eb33b0e1a750b20966270247b9a0","name":"Settle","nameLocation":"2945:6:99","parameters":{"id":63750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63735,"indexed":true,"mutability":"mutable","name":"requester","nameLocation":"2977:9:99","nodeType":"VariableDeclaration","scope":63751,"src":"2961:25:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63734,"name":"address","nodeType":"ElementaryTypeName","src":"2961:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63737,"indexed":true,"mutability":"mutable","name":"proposer","nameLocation":"3012:8:99","nodeType":"VariableDeclaration","scope":63751,"src":"2996:24:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63736,"name":"address","nodeType":"ElementaryTypeName","src":"2996:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63739,"indexed":true,"mutability":"mutable","name":"disputer","nameLocation":"3046:8:99","nodeType":"VariableDeclaration","scope":63751,"src":"3030:24:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63738,"name":"address","nodeType":"ElementaryTypeName","src":"3030:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63741,"indexed":false,"mutability":"mutable","name":"identifier","nameLocation":"3072:10:99","nodeType":"VariableDeclaration","scope":63751,"src":"3064:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63740,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3064:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63743,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"3100:9:99","nodeType":"VariableDeclaration","scope":63751,"src":"3092:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63742,"name":"uint256","nodeType":"ElementaryTypeName","src":"3092:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63745,"indexed":false,"mutability":"mutable","name":"ancillaryData","nameLocation":"3125:13:99","nodeType":"VariableDeclaration","scope":63751,"src":"3119:19:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63744,"name":"bytes","nodeType":"ElementaryTypeName","src":"3119:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":63747,"indexed":false,"mutability":"mutable","name":"price","nameLocation":"3155:5:99","nodeType":"VariableDeclaration","scope":63751,"src":"3148:12:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":63746,"name":"int256","nodeType":"ElementaryTypeName","src":"3148:6:99","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":63749,"indexed":false,"mutability":"mutable","name":"payout","nameLocation":"3178:6:99","nodeType":"VariableDeclaration","scope":63751,"src":"3170:14:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63748,"name":"uint256","nodeType":"ElementaryTypeName","src":"3170:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2951:239:99"}},{"id":63759,"nodeType":"EnumDefinition","src":"3254:457:99","nodes":[],"canonicalName":"OptimisticOracleV2Interface.State","members":[{"id":63752,"name":"Invalid","nameLocation":"3275:7:99","nodeType":"EnumValue","src":"3275:7:99"},{"id":63753,"name":"Requested","nameLocation":"3312:9:99","nodeType":"EnumValue","src":"3312:9:99"},{"id":63754,"name":"Proposed","nameLocation":"3369:8:99","nodeType":"EnumValue","src":"3369:8:99"},{"id":63755,"name":"Expired","nameLocation":"3433:7:99","nodeType":"EnumValue","src":"3433:7:99"},{"id":63756,"name":"Disputed","nameLocation":"3492:8:99","nodeType":"EnumValue","src":"3492:8:99"},{"id":63757,"name":"Resolved","nameLocation":"3554:8:99","nodeType":"EnumValue","src":"3554:8:99"},{"id":63758,"name":"Settled","nameLocation":"3612:7:99","nodeType":"EnumValue","src":"3612:7:99"}],"name":"State","nameLocation":"3259:5:99"},{"id":63774,"nodeType":"StructDefinition","src":"3717:660:99","nodes":[],"canonicalName":"OptimisticOracleV2Interface.RequestSettings","members":[{"constant":false,"id":63761,"mutability":"mutable","name":"eventBased","nameLocation":"3755:10:99","nodeType":"VariableDeclaration","scope":63774,"src":"3750:15:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63760,"name":"bool","nodeType":"ElementaryTypeName","src":"3750:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":63763,"mutability":"mutable","name":"refundOnDispute","nameLocation":"3829:15:99","nodeType":"VariableDeclaration","scope":63774,"src":"3824:20:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63762,"name":"bool","nodeType":"ElementaryTypeName","src":"3824:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":63765,"mutability":"mutable","name":"callbackOnPriceProposed","nameLocation":"3928:23:99","nodeType":"VariableDeclaration","scope":63774,"src":"3923:28:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63764,"name":"bool","nodeType":"ElementaryTypeName","src":"3923:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":63767,"mutability":"mutable","name":"callbackOnPriceDisputed","nameLocation":"4023:23:99","nodeType":"VariableDeclaration","scope":63774,"src":"4018:28:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63766,"name":"bool","nodeType":"ElementaryTypeName","src":"4018:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":63769,"mutability":"mutable","name":"callbackOnPriceSettled","nameLocation":"4118:22:99","nodeType":"VariableDeclaration","scope":63774,"src":"4113:27:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63768,"name":"bool","nodeType":"ElementaryTypeName","src":"4113:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":63771,"mutability":"mutable","name":"bond","nameLocation":"4214:4:99","nodeType":"VariableDeclaration","scope":63774,"src":"4206:12:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63770,"name":"uint256","nodeType":"ElementaryTypeName","src":"4206:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63773,"mutability":"mutable","name":"customLiveness","nameLocation":"4309:14:99","nodeType":"VariableDeclaration","scope":63774,"src":"4301:22:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63772,"name":"uint256","nodeType":"ElementaryTypeName","src":"4301:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"RequestSettings","nameLocation":"3724:15:99","scope":64049,"visibility":"public"},{"id":63797,"nodeType":"StructDefinition","src":"4427:754:99","nodes":[],"canonicalName":"OptimisticOracleV2Interface.Request","members":[{"constant":false,"id":63776,"mutability":"mutable","name":"proposer","nameLocation":"4460:8:99","nodeType":"VariableDeclaration","scope":63797,"src":"4452:16:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63775,"name":"address","nodeType":"ElementaryTypeName","src":"4452:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63778,"mutability":"mutable","name":"disputer","nameLocation":"4514:8:99","nodeType":"VariableDeclaration","scope":63797,"src":"4506:16:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63777,"name":"address","nodeType":"ElementaryTypeName","src":"4506:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63781,"mutability":"mutable","name":"currency","nameLocation":"4567:8:99","nodeType":"VariableDeclaration","scope":63797,"src":"4560:15:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},"typeName":{"id":63780,"nodeType":"UserDefinedTypeName","pathNode":{"id":63779,"name":"IERC20","nameLocations":["4560:6:99"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"4560:6:99"},"referencedDeclaration":43048,"src":"4560:6:99","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":63783,"mutability":"mutable","name":"settled","nameLocation":"4635:7:99","nodeType":"VariableDeclaration","scope":63797,"src":"4630:12:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63782,"name":"bool","nodeType":"ElementaryTypeName","src":"4630:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":63786,"mutability":"mutable","name":"requestSettings","nameLocation":"4703:15:99","nodeType":"VariableDeclaration","scope":63797,"src":"4687:31:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage_ptr","typeString":"struct OptimisticOracleV2Interface.RequestSettings"},"typeName":{"id":63785,"nodeType":"UserDefinedTypeName","pathNode":{"id":63784,"name":"RequestSettings","nameLocations":["4687:15:99"],"nodeType":"IdentifierPath","referencedDeclaration":63774,"src":"4687:15:99"},"referencedDeclaration":63774,"src":"4687:15:99","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_storage_ptr","typeString":"struct OptimisticOracleV2Interface.RequestSettings"}},"visibility":"internal"},{"constant":false,"id":63788,"mutability":"mutable","name":"proposedPrice","nameLocation":"4781:13:99","nodeType":"VariableDeclaration","scope":63797,"src":"4774:20:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":63787,"name":"int256","nodeType":"ElementaryTypeName","src":"4774:6:99","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":63790,"mutability":"mutable","name":"resolvedPrice","nameLocation":"4849:13:99","nodeType":"VariableDeclaration","scope":63797,"src":"4842:20:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":63789,"name":"int256","nodeType":"ElementaryTypeName","src":"4842:6:99","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":63792,"mutability":"mutable","name":"expirationTime","nameLocation":"4927:14:99","nodeType":"VariableDeclaration","scope":63797,"src":"4919:22:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63791,"name":"uint256","nodeType":"ElementaryTypeName","src":"4919:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63794,"mutability":"mutable","name":"reward","nameLocation":"5020:6:99","nodeType":"VariableDeclaration","scope":63797,"src":"5012:14:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63793,"name":"uint256","nodeType":"ElementaryTypeName","src":"5012:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63796,"mutability":"mutable","name":"finalFee","nameLocation":"5108:8:99","nodeType":"VariableDeclaration","scope":63797,"src":"5100:16:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63795,"name":"uint256","nodeType":"ElementaryTypeName","src":"5100:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Request","nameLocation":"4434:7:99","scope":64049,"visibility":"public"},{"id":63800,"nodeType":"VariableDeclaration","src":"5492:50:99","nodes":[],"constant":true,"functionSelector":"c371dda7","mutability":"constant","name":"ancillaryBytesLimit","nameLocation":"5516:19:99","scope":64049,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63798,"name":"uint256","nodeType":"ElementaryTypeName","src":"5492:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"38313932","id":63799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5538:4:99","typeDescriptions":{"typeIdentifier":"t_rational_8192_by_1","typeString":"int_const 8192"},"value":"8192"},"visibility":"public"},{"id":63805,"nodeType":"FunctionDefinition","src":"5549:67:99","nodes":[],"functionSelector":"fe4e1983","implemented":false,"kind":"function","modifiers":[],"name":"defaultLiveness","nameLocation":"5558:15:99","parameters":{"id":63801,"nodeType":"ParameterList","parameters":[],"src":"5573:2:99"},"returnParameters":{"id":63804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63803,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63805,"src":"5607:7:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63802,"name":"uint256","nodeType":"ElementaryTypeName","src":"5607:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5606:9:99"},"scope":64049,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":63811,"nodeType":"FunctionDefinition","src":"5622:66:99","nodes":[],"functionSelector":"b9a3c84c","implemented":false,"kind":"function","modifiers":[],"name":"finder","nameLocation":"5631:6:99","parameters":{"id":63806,"nodeType":"ParameterList","parameters":[],"src":"5637:2:99"},"returnParameters":{"id":63810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63809,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63811,"src":"5671:15:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_FinderInterface_$56983","typeString":"contract FinderInterface"},"typeName":{"id":63808,"nodeType":"UserDefinedTypeName","pathNode":{"id":63807,"name":"FinderInterface","nameLocations":["5671:15:99"],"nodeType":"IdentifierPath","referencedDeclaration":56983,"src":"5671:15:99"},"referencedDeclaration":56983,"src":"5671:15:99","typeDescriptions":{"typeIdentifier":"t_contract$_FinderInterface_$56983","typeString":"contract FinderInterface"}},"visibility":"internal"}],"src":"5670:17:99"},"scope":64049,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":63816,"nodeType":"FunctionDefinition","src":"5694:66:99","nodes":[],"functionSelector":"29cb924d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentTime","nameLocation":"5703:14:99","parameters":{"id":63812,"nodeType":"ParameterList","parameters":[],"src":"5717:2:99"},"returnParameters":{"id":63815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63814,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63816,"src":"5751:7:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63813,"name":"uint256","nodeType":"ElementaryTypeName","src":"5751:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5750:9:99"},"scope":64049,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":63821,"nodeType":"VariableDeclaration","src":"5858:43:99","nodes":[],"constant":false,"functionSelector":"9d866985","mutability":"mutable","name":"requests","nameLocation":"5893:8:99","scope":64049,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Request_$63797_storage_$","typeString":"mapping(bytes32 => struct OptimisticOracleV2Interface.Request)"},"typeName":{"id":63820,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":63817,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5866:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"5858:27:99","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Request_$63797_storage_$","typeString":"mapping(bytes32 => struct OptimisticOracleV2Interface.Request)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":63819,"nodeType":"UserDefinedTypeName","pathNode":{"id":63818,"name":"Request","nameLocations":["5877:7:99"],"nodeType":"IdentifierPath","referencedDeclaration":63797,"src":"5877:7:99"},"referencedDeclaration":63797,"src":"5877:7:99","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"}}},"visibility":"public"},{"id":63838,"nodeType":"FunctionDefinition","src":"6767:213:99","nodes":[],"documentation":{"id":63822,"nodeType":"StructuredDocumentation","src":"5908:854:99","text":" @notice Requests a new price.\n @param identifier price identifier being requested.\n @param timestamp timestamp of the price being requested.\n @param ancillaryData ancillary data representing additional args being passed with the price request.\n @param currency ERC20 token used for payment of rewards and fees. Must be approved for use with the DVM.\n @param reward reward offered to a successful proposer. Will be pulled from the caller. Note: this can be 0,\n which could make sense if the contract requests and proposes the value in the same call or\n provides its own reward system.\n @return totalBond default bond (final fee) + final fee that the proposer and disputer will be required to pay.\n This can be changed with a subsequent call to setBond()."},"functionSelector":"11df92f1","implemented":false,"kind":"function","modifiers":[],"name":"requestPrice","nameLocation":"6776:12:99","parameters":{"id":63834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63824,"mutability":"mutable","name":"identifier","nameLocation":"6806:10:99","nodeType":"VariableDeclaration","scope":63838,"src":"6798:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63823,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6798:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63826,"mutability":"mutable","name":"timestamp","nameLocation":"6834:9:99","nodeType":"VariableDeclaration","scope":63838,"src":"6826:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63825,"name":"uint256","nodeType":"ElementaryTypeName","src":"6826:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63828,"mutability":"mutable","name":"ancillaryData","nameLocation":"6866:13:99","nodeType":"VariableDeclaration","scope":63838,"src":"6853:26:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63827,"name":"bytes","nodeType":"ElementaryTypeName","src":"6853:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":63831,"mutability":"mutable","name":"currency","nameLocation":"6896:8:99","nodeType":"VariableDeclaration","scope":63838,"src":"6889:15:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},"typeName":{"id":63830,"nodeType":"UserDefinedTypeName","pathNode":{"id":63829,"name":"IERC20","nameLocations":["6889:6:99"],"nodeType":"IdentifierPath","referencedDeclaration":43048,"src":"6889:6:99"},"referencedDeclaration":43048,"src":"6889:6:99","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":63833,"mutability":"mutable","name":"reward","nameLocation":"6922:6:99","nodeType":"VariableDeclaration","scope":63838,"src":"6914:14:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63832,"name":"uint256","nodeType":"ElementaryTypeName","src":"6914:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6788:146:99"},"returnParameters":{"id":63837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63836,"mutability":"mutable","name":"totalBond","nameLocation":"6969:9:99","nodeType":"VariableDeclaration","scope":63838,"src":"6961:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63835,"name":"uint256","nodeType":"ElementaryTypeName","src":"6961:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6960:19:99"},"scope":64049,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":63852,"nodeType":"FunctionDefinition","src":"7507:167:99","nodes":[],"documentation":{"id":63839,"nodeType":"StructuredDocumentation","src":"6986:516:99","text":" @notice Set the proposal bond associated with a price request.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @param bond custom bond amount to set.\n @return totalBond new bond + final fee that the proposer and disputer will be required to pay. This can be\n changed again with a subsequent call to setBond()."},"functionSelector":"ad5a755a","implemented":false,"kind":"function","modifiers":[],"name":"setBond","nameLocation":"7516:7:99","parameters":{"id":63848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63841,"mutability":"mutable","name":"identifier","nameLocation":"7532:10:99","nodeType":"VariableDeclaration","scope":63852,"src":"7524:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63840,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7524:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63843,"mutability":"mutable","name":"timestamp","nameLocation":"7552:9:99","nodeType":"VariableDeclaration","scope":63852,"src":"7544:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63842,"name":"uint256","nodeType":"ElementaryTypeName","src":"7544:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63845,"mutability":"mutable","name":"ancillaryData","nameLocation":"7576:13:99","nodeType":"VariableDeclaration","scope":63852,"src":"7563:26:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63844,"name":"bytes","nodeType":"ElementaryTypeName","src":"7563:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":63847,"mutability":"mutable","name":"bond","nameLocation":"7599:4:99","nodeType":"VariableDeclaration","scope":63852,"src":"7591:12:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63846,"name":"uint256","nodeType":"ElementaryTypeName","src":"7591:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7523:81:99"},"returnParameters":{"id":63851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63850,"mutability":"mutable","name":"totalBond","nameLocation":"7663:9:99","nodeType":"VariableDeclaration","scope":63852,"src":"7655:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63849,"name":"uint256","nodeType":"ElementaryTypeName","src":"7655:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7654:19:99"},"scope":64049,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":63862,"nodeType":"FunctionDefinition","src":"8230:112:99","nodes":[],"documentation":{"id":63853,"nodeType":"StructuredDocumentation","src":"7680:545:99","text":" @notice Sets the request to refund the reward if the proposal is disputed. This can help to \"hedge\" the caller\n in the event of a dispute-caused delay. Note: in the event of a dispute, the winner still receives the other's\n bond, so there is still profit to be made even if the reward is refunded.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested."},"functionSelector":"91f58dcb","implemented":false,"kind":"function","modifiers":[],"name":"setRefundOnDispute","nameLocation":"8239:18:99","parameters":{"id":63860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63855,"mutability":"mutable","name":"identifier","nameLocation":"8266:10:99","nodeType":"VariableDeclaration","scope":63862,"src":"8258:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63854,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8258:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63857,"mutability":"mutable","name":"timestamp","nameLocation":"8286:9:99","nodeType":"VariableDeclaration","scope":63862,"src":"8278:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63856,"name":"uint256","nodeType":"ElementaryTypeName","src":"8278:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63859,"mutability":"mutable","name":"ancillaryData","nameLocation":"8310:13:99","nodeType":"VariableDeclaration","scope":63862,"src":"8297:26:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63858,"name":"bytes","nodeType":"ElementaryTypeName","src":"8297:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8257:67:99"},"returnParameters":{"id":63861,"nodeType":"ParameterList","parameters":[],"src":"8341:0:99"},"scope":64049,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":63874,"nodeType":"FunctionDefinition","src":"8779:173:99","nodes":[],"documentation":{"id":63863,"nodeType":"StructuredDocumentation","src":"8348:426:99","text":" @notice Sets a custom liveness value for the request. Liveness is the amount of time a proposal must wait before\n being auto-resolved.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @param customLiveness new custom liveness."},"functionSelector":"473c45fe","implemented":false,"kind":"function","modifiers":[],"name":"setCustomLiveness","nameLocation":"8788:17:99","parameters":{"id":63872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63865,"mutability":"mutable","name":"identifier","nameLocation":"8823:10:99","nodeType":"VariableDeclaration","scope":63874,"src":"8815:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63864,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8815:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63867,"mutability":"mutable","name":"timestamp","nameLocation":"8851:9:99","nodeType":"VariableDeclaration","scope":63874,"src":"8843:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63866,"name":"uint256","nodeType":"ElementaryTypeName","src":"8843:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63869,"mutability":"mutable","name":"ancillaryData","nameLocation":"8883:13:99","nodeType":"VariableDeclaration","scope":63874,"src":"8870:26:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63868,"name":"bytes","nodeType":"ElementaryTypeName","src":"8870:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":63871,"mutability":"mutable","name":"customLiveness","nameLocation":"8914:14:99","nodeType":"VariableDeclaration","scope":63874,"src":"8906:22:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63870,"name":"uint256","nodeType":"ElementaryTypeName","src":"8906:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8805:129:99"},"returnParameters":{"id":63873,"nodeType":"ParameterList","parameters":[],"src":"8951:0:99"},"scope":64049,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":63884,"nodeType":"FunctionDefinition","src":"9825:107:99","nodes":[],"documentation":{"id":63875,"nodeType":"StructuredDocumentation","src":"8958:862:99","text":" @notice Sets the request to be an \"event-based\" request.\n @dev Calling this method has a few impacts on the request:\n 1. The timestamp at which the request is evaluated is the time of the proposal, not the timestamp associated\n with the request.\n 2. The proposer cannot propose the \"too early\" value (TOO_EARLY_RESPONSE). This is to ensure that a proposer who\n prematurely proposes a response loses their bond.\n 3. RefundoOnDispute is automatically set, meaning disputes trigger the reward to be automatically refunded to\n the requesting contract.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested."},"functionSelector":"120698af","implemented":false,"kind":"function","modifiers":[],"name":"setEventBased","nameLocation":"9834:13:99","parameters":{"id":63882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63877,"mutability":"mutable","name":"identifier","nameLocation":"9856:10:99","nodeType":"VariableDeclaration","scope":63884,"src":"9848:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63876,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9848:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63879,"mutability":"mutable","name":"timestamp","nameLocation":"9876:9:99","nodeType":"VariableDeclaration","scope":63884,"src":"9868:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63878,"name":"uint256","nodeType":"ElementaryTypeName","src":"9868:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63881,"mutability":"mutable","name":"ancillaryData","nameLocation":"9900:13:99","nodeType":"VariableDeclaration","scope":63884,"src":"9887:26:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63880,"name":"bytes","nodeType":"ElementaryTypeName","src":"9887:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9847:67:99"},"returnParameters":{"id":63883,"nodeType":"ParameterList","parameters":[],"src":"9931:0:99"},"scope":64049,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":63900,"nodeType":"FunctionDefinition","src":"10498:249:99","nodes":[],"documentation":{"id":63885,"nodeType":"StructuredDocumentation","src":"9938:555:99","text":" @notice Sets which callbacks should be enabled for the request.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @param callbackOnPriceProposed whether to enable the callback onPriceProposed.\n @param callbackOnPriceDisputed whether to enable the callback onPriceDisputed.\n @param callbackOnPriceSettled whether to enable the callback onPriceSettled."},"functionSelector":"f327b075","implemented":false,"kind":"function","modifiers":[],"name":"setCallbacks","nameLocation":"10507:12:99","parameters":{"id":63898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63887,"mutability":"mutable","name":"identifier","nameLocation":"10537:10:99","nodeType":"VariableDeclaration","scope":63900,"src":"10529:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63886,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10529:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63889,"mutability":"mutable","name":"timestamp","nameLocation":"10565:9:99","nodeType":"VariableDeclaration","scope":63900,"src":"10557:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63888,"name":"uint256","nodeType":"ElementaryTypeName","src":"10557:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63891,"mutability":"mutable","name":"ancillaryData","nameLocation":"10597:13:99","nodeType":"VariableDeclaration","scope":63900,"src":"10584:26:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63890,"name":"bytes","nodeType":"ElementaryTypeName","src":"10584:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":63893,"mutability":"mutable","name":"callbackOnPriceProposed","nameLocation":"10625:23:99","nodeType":"VariableDeclaration","scope":63900,"src":"10620:28:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63892,"name":"bool","nodeType":"ElementaryTypeName","src":"10620:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":63895,"mutability":"mutable","name":"callbackOnPriceDisputed","nameLocation":"10663:23:99","nodeType":"VariableDeclaration","scope":63900,"src":"10658:28:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63894,"name":"bool","nodeType":"ElementaryTypeName","src":"10658:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":63897,"mutability":"mutable","name":"callbackOnPriceSettled","nameLocation":"10701:22:99","nodeType":"VariableDeclaration","scope":63900,"src":"10696:27:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63896,"name":"bool","nodeType":"ElementaryTypeName","src":"10696:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10519:210:99"},"returnParameters":{"id":63899,"nodeType":"ParameterList","parameters":[],"src":"10746:0:99"},"scope":64049,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":63918,"nodeType":"FunctionDefinition","src":"11522:248:99","nodes":[],"documentation":{"id":63901,"nodeType":"StructuredDocumentation","src":"10753:764:99","text":" @notice Proposes a price value on another address' behalf. Note: this address will receive any rewards that come\n from this proposal. However, any bonds are pulled from the caller.\n @param proposer address to set as the proposer.\n @param requester sender of the initial price request.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @param proposedPrice price being proposed.\n @return totalBond the amount that's pulled from the caller's wallet as a bond. The bond will be returned to\n the proposer once settled if the proposal is correct."},"functionSelector":"7c82288f","implemented":false,"kind":"function","modifiers":[],"name":"proposePriceFor","nameLocation":"11531:15:99","parameters":{"id":63914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63903,"mutability":"mutable","name":"proposer","nameLocation":"11564:8:99","nodeType":"VariableDeclaration","scope":63918,"src":"11556:16:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63902,"name":"address","nodeType":"ElementaryTypeName","src":"11556:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63905,"mutability":"mutable","name":"requester","nameLocation":"11590:9:99","nodeType":"VariableDeclaration","scope":63918,"src":"11582:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63904,"name":"address","nodeType":"ElementaryTypeName","src":"11582:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63907,"mutability":"mutable","name":"identifier","nameLocation":"11617:10:99","nodeType":"VariableDeclaration","scope":63918,"src":"11609:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63906,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11609:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63909,"mutability":"mutable","name":"timestamp","nameLocation":"11645:9:99","nodeType":"VariableDeclaration","scope":63918,"src":"11637:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63908,"name":"uint256","nodeType":"ElementaryTypeName","src":"11637:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63911,"mutability":"mutable","name":"ancillaryData","nameLocation":"11677:13:99","nodeType":"VariableDeclaration","scope":63918,"src":"11664:26:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63910,"name":"bytes","nodeType":"ElementaryTypeName","src":"11664:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":63913,"mutability":"mutable","name":"proposedPrice","nameLocation":"11707:13:99","nodeType":"VariableDeclaration","scope":63918,"src":"11700:20:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":63912,"name":"int256","nodeType":"ElementaryTypeName","src":"11700:6:99","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"11546:180:99"},"returnParameters":{"id":63917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63916,"mutability":"mutable","name":"totalBond","nameLocation":"11759:9:99","nodeType":"VariableDeclaration","scope":63918,"src":"11751:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63915,"name":"uint256","nodeType":"ElementaryTypeName","src":"11751:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11750:19:99"},"scope":64049,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":63934,"nodeType":"FunctionDefinition","src":"12367:221:99","nodes":[],"documentation":{"id":63919,"nodeType":"StructuredDocumentation","src":"11776:586:99","text":" @notice Proposes a price value for an existing price request.\n @param requester sender of the initial price request.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @param proposedPrice price being proposed.\n @return totalBond the amount that's pulled from the proposer's wallet as a bond. The bond will be returned to\n the proposer once settled if the proposal is correct."},"functionSelector":"b8b4f908","implemented":false,"kind":"function","modifiers":[],"name":"proposePrice","nameLocation":"12376:12:99","parameters":{"id":63930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63921,"mutability":"mutable","name":"requester","nameLocation":"12406:9:99","nodeType":"VariableDeclaration","scope":63934,"src":"12398:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63920,"name":"address","nodeType":"ElementaryTypeName","src":"12398:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63923,"mutability":"mutable","name":"identifier","nameLocation":"12433:10:99","nodeType":"VariableDeclaration","scope":63934,"src":"12425:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63922,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12425:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63925,"mutability":"mutable","name":"timestamp","nameLocation":"12461:9:99","nodeType":"VariableDeclaration","scope":63934,"src":"12453:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63924,"name":"uint256","nodeType":"ElementaryTypeName","src":"12453:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63927,"mutability":"mutable","name":"ancillaryData","nameLocation":"12493:13:99","nodeType":"VariableDeclaration","scope":63934,"src":"12480:26:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63926,"name":"bytes","nodeType":"ElementaryTypeName","src":"12480:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":63929,"mutability":"mutable","name":"proposedPrice","nameLocation":"12523:13:99","nodeType":"VariableDeclaration","scope":63934,"src":"12516:20:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":63928,"name":"int256","nodeType":"ElementaryTypeName","src":"12516:6:99","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"12388:154:99"},"returnParameters":{"id":63933,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63932,"mutability":"mutable","name":"totalBond","nameLocation":"12577:9:99","nodeType":"VariableDeclaration","scope":63934,"src":"12569:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63931,"name":"uint256","nodeType":"ElementaryTypeName","src":"12569:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12568:19:99"},"scope":64049,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":63950,"nodeType":"FunctionDefinition","src":"13365:218:99","nodes":[],"documentation":{"id":63935,"nodeType":"StructuredDocumentation","src":"12594:766:99","text":" @notice Disputes a price request with an active proposal on another address' behalf. Note: this address will\n receive any rewards that come from this dispute. However, any bonds are pulled from the caller.\n @param disputer address to set as the disputer.\n @param requester sender of the initial price request.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @return totalBond the amount that's pulled from the caller's wallet as a bond. The bond will be returned to\n the disputer once settled if the dispute was value (the proposal was incorrect)."},"functionSelector":"76c7823f","implemented":false,"kind":"function","modifiers":[],"name":"disputePriceFor","nameLocation":"13374:15:99","parameters":{"id":63946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63937,"mutability":"mutable","name":"disputer","nameLocation":"13407:8:99","nodeType":"VariableDeclaration","scope":63950,"src":"13399:16:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63936,"name":"address","nodeType":"ElementaryTypeName","src":"13399:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63939,"mutability":"mutable","name":"requester","nameLocation":"13433:9:99","nodeType":"VariableDeclaration","scope":63950,"src":"13425:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63938,"name":"address","nodeType":"ElementaryTypeName","src":"13425:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63941,"mutability":"mutable","name":"identifier","nameLocation":"13460:10:99","nodeType":"VariableDeclaration","scope":63950,"src":"13452:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63940,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13452:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63943,"mutability":"mutable","name":"timestamp","nameLocation":"13488:9:99","nodeType":"VariableDeclaration","scope":63950,"src":"13480:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63942,"name":"uint256","nodeType":"ElementaryTypeName","src":"13480:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63945,"mutability":"mutable","name":"ancillaryData","nameLocation":"13520:13:99","nodeType":"VariableDeclaration","scope":63950,"src":"13507:26:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63944,"name":"bytes","nodeType":"ElementaryTypeName","src":"13507:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"13389:150:99"},"returnParameters":{"id":63949,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63948,"mutability":"mutable","name":"totalBond","nameLocation":"13572:9:99","nodeType":"VariableDeclaration","scope":63950,"src":"13564:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63947,"name":"uint256","nodeType":"ElementaryTypeName","src":"13564:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13563:19:99"},"scope":64049,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":63964,"nodeType":"FunctionDefinition","src":"14181:177:99","nodes":[],"documentation":{"id":63951,"nodeType":"StructuredDocumentation","src":"13589:587:99","text":" @notice Disputes a price value for an existing price request with an active proposal.\n @param requester sender of the initial price request.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @return totalBond the amount that's pulled from the disputer's wallet as a bond. The bond will be returned to\n the disputer once settled if the dispute was valid (the proposal was incorrect)."},"functionSelector":"fba7f1e3","implemented":false,"kind":"function","modifiers":[],"name":"disputePrice","nameLocation":"14190:12:99","parameters":{"id":63960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63953,"mutability":"mutable","name":"requester","nameLocation":"14211:9:99","nodeType":"VariableDeclaration","scope":63964,"src":"14203:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63952,"name":"address","nodeType":"ElementaryTypeName","src":"14203:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63955,"mutability":"mutable","name":"identifier","nameLocation":"14230:10:99","nodeType":"VariableDeclaration","scope":63964,"src":"14222:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63954,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14222:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63957,"mutability":"mutable","name":"timestamp","nameLocation":"14250:9:99","nodeType":"VariableDeclaration","scope":63964,"src":"14242:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63956,"name":"uint256","nodeType":"ElementaryTypeName","src":"14242:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63959,"mutability":"mutable","name":"ancillaryData","nameLocation":"14274:13:99","nodeType":"VariableDeclaration","scope":63964,"src":"14261:26:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63958,"name":"bytes","nodeType":"ElementaryTypeName","src":"14261:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14202:86:99"},"returnParameters":{"id":63963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63962,"mutability":"mutable","name":"totalBond","nameLocation":"14347:9:99","nodeType":"VariableDeclaration","scope":63964,"src":"14339:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63961,"name":"uint256","nodeType":"ElementaryTypeName","src":"14339:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14338:19:99"},"scope":64049,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":63976,"nodeType":"FunctionDefinition","src":"14884:152:99","nodes":[],"documentation":{"id":63965,"nodeType":"StructuredDocumentation","src":"14364:515:99","text":" @notice Retrieves a price that was previously requested by a caller. Reverts if the request is not settled\n or settleable. Note: this method is not view so that this call may actually settle the price request if it\n hasn't been settled.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @return resolved price."},"functionSelector":"53b59239","implemented":false,"kind":"function","modifiers":[],"name":"settleAndGetPrice","nameLocation":"14893:17:99","parameters":{"id":63972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63967,"mutability":"mutable","name":"identifier","nameLocation":"14919:10:99","nodeType":"VariableDeclaration","scope":63976,"src":"14911:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63966,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14911:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63969,"mutability":"mutable","name":"timestamp","nameLocation":"14939:9:99","nodeType":"VariableDeclaration","scope":63976,"src":"14931:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63968,"name":"uint256","nodeType":"ElementaryTypeName","src":"14931:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63971,"mutability":"mutable","name":"ancillaryData","nameLocation":"14963:13:99","nodeType":"VariableDeclaration","scope":63976,"src":"14950:26:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63970,"name":"bytes","nodeType":"ElementaryTypeName","src":"14950:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14910:67:99"},"returnParameters":{"id":63975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63974,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":63976,"src":"15028:6:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":63973,"name":"int256","nodeType":"ElementaryTypeName","src":"15028:6:99","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"15027:8:99"},"scope":64049,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":63990,"nodeType":"FunctionDefinition","src":"15612:168:99","nodes":[],"documentation":{"id":63977,"nodeType":"StructuredDocumentation","src":"15042:565:99","text":" @notice Attempts to settle an outstanding price request. Will revert if it isn't settleable.\n @param requester sender of the initial price request.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @return payout the amount that the \"winner\" (proposer or disputer) receives on settlement. This amount includes\n the returned bonds as well as additional rewards."},"functionSelector":"5e9a79a9","implemented":false,"kind":"function","modifiers":[],"name":"settle","nameLocation":"15621:6:99","parameters":{"id":63986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63979,"mutability":"mutable","name":"requester","nameLocation":"15636:9:99","nodeType":"VariableDeclaration","scope":63990,"src":"15628:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63978,"name":"address","nodeType":"ElementaryTypeName","src":"15628:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63981,"mutability":"mutable","name":"identifier","nameLocation":"15655:10:99","nodeType":"VariableDeclaration","scope":63990,"src":"15647:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63980,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15647:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63983,"mutability":"mutable","name":"timestamp","nameLocation":"15675:9:99","nodeType":"VariableDeclaration","scope":63990,"src":"15667:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63982,"name":"uint256","nodeType":"ElementaryTypeName","src":"15667:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63985,"mutability":"mutable","name":"ancillaryData","nameLocation":"15699:13:99","nodeType":"VariableDeclaration","scope":63990,"src":"15686:26:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63984,"name":"bytes","nodeType":"ElementaryTypeName","src":"15686:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15627:86:99"},"returnParameters":{"id":63989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63988,"mutability":"mutable","name":"payout","nameLocation":"15772:6:99","nodeType":"VariableDeclaration","scope":63990,"src":"15764:14:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63987,"name":"uint256","nodeType":"ElementaryTypeName","src":"15764:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15763:16:99"},"scope":64049,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":64005,"nodeType":"FunctionDefinition","src":"16220:183:99","nodes":[],"documentation":{"id":63991,"nodeType":"StructuredDocumentation","src":"15786:429:99","text":" @notice Gets the current data structure containing all information about a price request.\n @param requester sender of the initial price request.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @return the Request data structure."},"functionSelector":"a9904f9b","implemented":false,"kind":"function","modifiers":[],"name":"getRequest","nameLocation":"16229:10:99","parameters":{"id":64000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63993,"mutability":"mutable","name":"requester","nameLocation":"16248:9:99","nodeType":"VariableDeclaration","scope":64005,"src":"16240:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63992,"name":"address","nodeType":"ElementaryTypeName","src":"16240:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63995,"mutability":"mutable","name":"identifier","nameLocation":"16267:10:99","nodeType":"VariableDeclaration","scope":64005,"src":"16259:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63994,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16259:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63997,"mutability":"mutable","name":"timestamp","nameLocation":"16287:9:99","nodeType":"VariableDeclaration","scope":64005,"src":"16279:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63996,"name":"uint256","nodeType":"ElementaryTypeName","src":"16279:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63999,"mutability":"mutable","name":"ancillaryData","nameLocation":"16311:13:99","nodeType":"VariableDeclaration","scope":64005,"src":"16298:26:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63998,"name":"bytes","nodeType":"ElementaryTypeName","src":"16298:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"16239:86:99"},"returnParameters":{"id":64004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64003,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64005,"src":"16387:14:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_memory_ptr","typeString":"struct OptimisticOracleV2Interface.Request"},"typeName":{"id":64002,"nodeType":"UserDefinedTypeName","pathNode":{"id":64001,"name":"Request","nameLocations":["16387:7:99"],"nodeType":"IdentifierPath","referencedDeclaration":63797,"src":"16387:7:99"},"referencedDeclaration":63797,"src":"16387:7:99","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"}},"visibility":"internal"}],"src":"16386:16:99"},"scope":64049,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":64020,"nodeType":"FunctionDefinition","src":"16793:172:99","nodes":[],"documentation":{"id":64006,"nodeType":"StructuredDocumentation","src":"16409:379:99","text":" @notice Returns the state of a price request.\n @param requester sender of the initial price request.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @return the State enum value."},"functionSelector":"ba4b930c","implemented":false,"kind":"function","modifiers":[],"name":"getState","nameLocation":"16802:8:99","parameters":{"id":64015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64008,"mutability":"mutable","name":"requester","nameLocation":"16819:9:99","nodeType":"VariableDeclaration","scope":64020,"src":"16811:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64007,"name":"address","nodeType":"ElementaryTypeName","src":"16811:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64010,"mutability":"mutable","name":"identifier","nameLocation":"16838:10:99","nodeType":"VariableDeclaration","scope":64020,"src":"16830:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64009,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16830:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":64012,"mutability":"mutable","name":"timestamp","nameLocation":"16858:9:99","nodeType":"VariableDeclaration","scope":64020,"src":"16850:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64011,"name":"uint256","nodeType":"ElementaryTypeName","src":"16850:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64014,"mutability":"mutable","name":"ancillaryData","nameLocation":"16882:13:99","nodeType":"VariableDeclaration","scope":64020,"src":"16869:26:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64013,"name":"bytes","nodeType":"ElementaryTypeName","src":"16869:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"16810:86:99"},"returnParameters":{"id":64019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64018,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64020,"src":"16958:5:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"},"typeName":{"id":64017,"nodeType":"UserDefinedTypeName","pathNode":{"id":64016,"name":"State","nameLocations":["16958:5:99"],"nodeType":"IdentifierPath","referencedDeclaration":63759,"src":"16958:5:99"},"referencedDeclaration":63759,"src":"16958:5:99","typeDescriptions":{"typeIdentifier":"t_enum$_State_$63759","typeString":"enum OptimisticOracleV2Interface.State"}},"visibility":"internal"}],"src":"16957:7:99"},"scope":64049,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":64034,"nodeType":"FunctionDefinition","src":"17447:171:99","nodes":[],"documentation":{"id":64021,"nodeType":"StructuredDocumentation","src":"16971:471:99","text":" @notice Checks if a given request has resolved or been settled (i.e the optimistic oracle has a price).\n @param requester sender of the initial price request.\n @param identifier price identifier to identify the existing request.\n @param timestamp timestamp to identify the existing request.\n @param ancillaryData ancillary data of the price being requested.\n @return true if price has resolved or settled, false otherwise."},"functionSelector":"bc58ccaa","implemented":false,"kind":"function","modifiers":[],"name":"hasPrice","nameLocation":"17456:8:99","parameters":{"id":64030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64023,"mutability":"mutable","name":"requester","nameLocation":"17473:9:99","nodeType":"VariableDeclaration","scope":64034,"src":"17465:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64022,"name":"address","nodeType":"ElementaryTypeName","src":"17465:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64025,"mutability":"mutable","name":"identifier","nameLocation":"17492:10:99","nodeType":"VariableDeclaration","scope":64034,"src":"17484:18:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64024,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17484:7:99","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":64027,"mutability":"mutable","name":"timestamp","nameLocation":"17512:9:99","nodeType":"VariableDeclaration","scope":64034,"src":"17504:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64026,"name":"uint256","nodeType":"ElementaryTypeName","src":"17504:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64029,"mutability":"mutable","name":"ancillaryData","nameLocation":"17536:13:99","nodeType":"VariableDeclaration","scope":64034,"src":"17523:26:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64028,"name":"bytes","nodeType":"ElementaryTypeName","src":"17523:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"17464:86:99"},"returnParameters":{"id":64033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64032,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64034,"src":"17612:4:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64031,"name":"bool","nodeType":"ElementaryTypeName","src":"17612:4:99","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17611:6:99"},"scope":64049,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":64043,"nodeType":"FunctionDefinition","src":"17624:150:99","nodes":[],"functionSelector":"af5d2f39","implemented":false,"kind":"function","modifiers":[],"name":"stampAncillaryData","nameLocation":"17633:18:99","parameters":{"id":64039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64036,"mutability":"mutable","name":"ancillaryData","nameLocation":"17665:13:99","nodeType":"VariableDeclaration","scope":64043,"src":"17652:26:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64035,"name":"bytes","nodeType":"ElementaryTypeName","src":"17652:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":64038,"mutability":"mutable","name":"requester","nameLocation":"17688:9:99","nodeType":"VariableDeclaration","scope":64043,"src":"17680:17:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64037,"name":"address","nodeType":"ElementaryTypeName","src":"17680:7:99","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17651:47:99"},"returnParameters":{"id":64042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64041,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64043,"src":"17760:12:99","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64040,"name":"bytes","nodeType":"ElementaryTypeName","src":"17760:5:99","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"17759:14:99"},"scope":64049,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":64048,"nodeType":"VariableDeclaration","src":"18202:25:99","nodes":[],"constant":false,"documentation":{"id":64044,"nodeType":"StructuredDocumentation","src":"17780:417:99","text":" @dev Reserve storage slots for future versions of this base contract to add state variables without affecting the\n storage layout of child contracts. Decrement the size of __gap whenever state variables are added. This is at the\n bottom of contract to make sure its always at the end of storage.\n See https://docs.openzeppelin.com/upgrades-plugins/writing-upgradeable#storage-gaps"},"mutability":"mutable","name":"__gap","nameLocation":"18222:5:99","scope":64049,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$49_storage","typeString":"uint256[49]"},"typeName":{"baseType":{"id":64045,"name":"uint256","nodeType":"ElementaryTypeName","src":"18202:7:99","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64047,"length":{"hexValue":"3439","id":64046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18210:2:99","typeDescriptions":{"typeIdentifier":"t_rational_49_by_1","typeString":"int_const 49"},"value":"49"},"nodeType":"ArrayTypeName","src":"18202:11:99","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$49_storage_ptr","typeString":"uint256[49]"}},"visibility":"private"}],"abstract":true,"baseContracts":[],"canonicalName":"OptimisticOracleV2Interface","contractDependencies":[],"contractKind":"contract","documentation":{"id":63644,"nodeType":"StructuredDocumentation","src":"565:175:99","text":" @title Financial contract facing Oracle interface.\n @dev Interface used by financial contracts to interact with the Oracle. Voters will use a different interface."},"fullyImplemented":false,"linearizedBaseContracts":[64049],"name":"OptimisticOracleV2Interface","nameLocation":"759:27:99","scope":64050,"usedErrors":[63647,63650,63653,63656,63659,63662,63665,63668,63671,63674,63677,63680,63683],"usedEvents":[63699,63717,63733,63751]}],"license":"AGPL-3.0-only"}},"test/ManagedOptimisticOracleV2.t.sol":{"id":100,"ast":{"absolutePath":"test/ManagedOptimisticOracleV2.t.sol","id":66847,"exportedSymbols":{"AddressWhitelist":[60496],"AddressWhitelistInterface":[60790],"DisabledAddressWhitelist":[60583],"ERC1967Proxy":[41785],"ERC20Mock":[41747],"FinderInterface":[56983],"FixedPointInterface":[60797],"IAccessControl":[41191],"IERC20":[43048],"IdentifierWhitelistInterface":[57007],"ManagedOptimisticOracleV2":[61771],"ManagedOptimisticOracleV2Interface":[63637],"ManagedOptimisticOracleV2Test":[66846],"MockFinder":[64259],"MockIdentifierWhitelist":[64210],"MockStore":[64164],"OptimisticOracleV2Interface":[64049],"OracleInterfaces":[56958],"StoreInterface":[60844],"Test":[12986]},"nodeType":"SourceUnit","src":"42:29821:100","nodes":[{"id":64051,"nodeType":"PragmaDirective","src":"42:24:100","nodes":[],"literals":["solidity","^","0.8",".27"]},{"id":64053,"nodeType":"ImportDirective","src":"68:40:100","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":66847,"sourceUnit":12987,"symbolAliases":[{"foreign":{"id":64052,"name":"Test","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12986,"src":"76:4:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64055,"nodeType":"ImportDirective","src":"110:112:100","nodes":[],"absolutePath":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol","file":"src/optimistic-oracle-v2/implementation/ManagedOptimisticOracleV2.sol","nameLocation":"-1:-1:-1","scope":66847,"sourceUnit":61772,"symbolAliases":[{"foreign":{"id":64054,"name":"ManagedOptimisticOracleV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61771,"src":"118:25:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64057,"nodeType":"ImportDirective","src":"223:130:100","nodes":[],"absolutePath":"src/optimistic-oracle-v2/interfaces/ManagedOptimisticOracleV2Interface.sol","file":"src/optimistic-oracle-v2/interfaces/ManagedOptimisticOracleV2Interface.sol","nameLocation":"-1:-1:-1","scope":66847,"sourceUnit":63638,"symbolAliases":[{"foreign":{"id":64056,"name":"ManagedOptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63637,"src":"231:34:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64059,"nodeType":"ImportDirective","src":"354:112:100","nodes":[],"absolutePath":"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol","file":"src/optimistic-oracle-v2/interfaces/OptimisticOracleV2Interface.sol","nameLocation":"-1:-1:-1","scope":66847,"sourceUnit":64050,"symbolAliases":[{"foreign":{"id":64058,"name":"OptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64049,"src":"362:27:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64061,"nodeType":"ImportDirective","src":"468:105:100","nodes":[],"absolutePath":"lib/protocol/packages/core/contracts/data-verification-mechanism/implementation/Constants.sol","file":"@uma/contracts/data-verification-mechanism/implementation/Constants.sol","nameLocation":"-1:-1:-1","scope":66847,"sourceUnit":56964,"symbolAliases":[{"foreign":{"id":64060,"name":"OracleInterfaces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56958,"src":"476:16:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64063,"nodeType":"ImportDirective","src":"574:136:100","nodes":[],"absolutePath":"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/IdentifierWhitelistInterface.sol","file":"@uma/contracts/data-verification-mechanism/interfaces/IdentifierWhitelistInterface.sol","nameLocation":"-1:-1:-1","scope":66847,"sourceUnit":57008,"symbolAliases":[{"foreign":{"id":64062,"name":"IdentifierWhitelistInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57007,"src":"582:28:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64065,"nodeType":"ImportDirective","src":"711:106:100","nodes":[],"absolutePath":"lib/protocol/packages/core/contracts/data-verification-mechanism/interfaces/FinderInterface.sol","file":"@uma/contracts/data-verification-mechanism/interfaces/FinderInterface.sol","nameLocation":"-1:-1:-1","scope":66847,"sourceUnit":56984,"symbolAliases":[{"foreign":{"id":64064,"name":"FinderInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56983,"src":"719:15:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64067,"nodeType":"ImportDirective","src":"819:80:100","nodes":[],"absolutePath":"src/common/implementation/AddressWhitelist.sol","file":"src/common/implementation/AddressWhitelist.sol","nameLocation":"-1:-1:-1","scope":66847,"sourceUnit":60497,"symbolAliases":[{"foreign":{"id":64066,"name":"AddressWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60496,"src":"827:16:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64069,"nodeType":"ImportDirective","src":"900:96:100","nodes":[],"absolutePath":"src/common/implementation/DisabledAddressWhitelist.sol","file":"src/common/implementation/DisabledAddressWhitelist.sol","nameLocation":"-1:-1:-1","scope":66847,"sourceUnit":60584,"symbolAliases":[{"foreign":{"id":64068,"name":"DisabledAddressWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60583,"src":"908:24:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64071,"nodeType":"ImportDirective","src":"997:94:100","nodes":[],"absolutePath":"src/common/interfaces/AddressWhitelistInterface.sol","file":"src/common/interfaces/AddressWhitelistInterface.sol","nameLocation":"-1:-1:-1","scope":66847,"sourceUnit":60791,"symbolAliases":[{"foreign":{"id":64070,"name":"AddressWhitelistInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60790,"src":"1005:25:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64073,"nodeType":"ImportDirective","src":"1092:93:100","nodes":[],"absolutePath":"src/data-verification-mechanism/interfaces/StoreInterface.sol","file":"src/data-verification-mechanism/interfaces/StoreInterface.sol","nameLocation":"-1:-1:-1","scope":66847,"sourceUnit":60845,"symbolAliases":[{"foreign":{"id":64072,"name":"StoreInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60844,"src":"1100:14:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64075,"nodeType":"ImportDirective","src":"1186:82:100","nodes":[],"absolutePath":"src/common/interfaces/FixedPointInterface.sol","file":"src/common/interfaces/FixedPointInterface.sol","nameLocation":"-1:-1:-1","scope":66847,"sourceUnit":60798,"symbolAliases":[{"foreign":{"id":64074,"name":"FixedPointInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60797,"src":"1194:19:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64077,"nodeType":"ImportDirective","src":"1270:70:100","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":66847,"sourceUnit":43049,"symbolAliases":[{"foreign":{"id":64076,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"1278:6:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64079,"nodeType":"ImportDirective","src":"1341:76:100","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol","file":"@openzeppelin/contracts/mocks/token/ERC20Mock.sol","nameLocation":"-1:-1:-1","scope":66847,"sourceUnit":41748,"symbolAliases":[{"foreign":{"id":64078,"name":"ERC20Mock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41747,"src":"1349:9:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64081,"nodeType":"ImportDirective","src":"1418:81:100","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol","file":"@openzeppelin/contracts/access/IAccessControl.sol","nameLocation":"-1:-1:-1","scope":66847,"sourceUnit":41192,"symbolAliases":[{"foreign":{"id":64080,"name":"IAccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41191,"src":"1426:14:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64083,"nodeType":"ImportDirective","src":"1500:84:100","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":66847,"sourceUnit":41786,"symbolAliases":[{"foreign":{"id":64082,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41785,"src":"1508:12:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64164,"nodeType":"ContractDefinition","src":"1586:976:100","nodes":[{"id":64089,"nodeType":"VariableDeclaration","src":"1629:53:100","nodes":[],"constant":false,"functionSelector":"a3e4cea1","mutability":"mutable","name":"finalFeeByCurrency","nameLocation":"1664:18:100","scope":64164,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":64088,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":64086,"name":"address","nodeType":"ElementaryTypeName","src":"1637:7:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1629:27:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":64087,"name":"uint256","nodeType":"ElementaryTypeName","src":"1648:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":64103,"nodeType":"FunctionDefinition","src":"1689:118:100","nodes":[],"body":{"id":64102,"nodeType":"Block","src":"1753:54:100","nodes":[],"statements":[{"expression":{"id":64100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64096,"name":"finalFeeByCurrency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64089,"src":"1763:18:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":64098,"indexExpression":{"id":64097,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64091,"src":"1782:8:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1763:28:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":64099,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64093,"src":"1794:6:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1763:37:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64101,"nodeType":"ExpressionStatement","src":"1763:37:100"}]},"functionSelector":"74df7f50","implemented":true,"kind":"function","modifiers":[],"name":"setFinalFee","nameLocation":"1698:11:100","parameters":{"id":64094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64091,"mutability":"mutable","name":"currency","nameLocation":"1718:8:100","nodeType":"VariableDeclaration","scope":64103,"src":"1710:16:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64090,"name":"address","nodeType":"ElementaryTypeName","src":"1710:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64093,"mutability":"mutable","name":"amount","nameLocation":"1736:6:100","nodeType":"VariableDeclaration","scope":64103,"src":"1728:14:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64092,"name":"uint256","nodeType":"ElementaryTypeName","src":"1728:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1709:34:100"},"returnParameters":{"id":64095,"nodeType":"ParameterList","parameters":[],"src":"1753:0:100"},"scope":64164,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":64107,"nodeType":"FunctionDefinition","src":"1813:44:100","nodes":[],"body":{"id":64106,"nodeType":"Block","src":"1855:2:100","nodes":[],"statements":[]},"baseFunctions":[60808],"functionSelector":"cd3a9b24","implemented":true,"kind":"function","modifiers":[],"name":"payOracleFees","nameLocation":"1822:13:100","parameters":{"id":64104,"nodeType":"ParameterList","parameters":[],"src":"1835:2:100"},"returnParameters":{"id":64105,"nodeType":"ParameterList","parameters":[],"src":"1855:0:100"},"scope":64164,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":64116,"nodeType":"FunctionDefinition","src":"1863:116:100","nodes":[],"body":{"id":64115,"nodeType":"Block","src":"1977:2:100","nodes":[],"statements":[]},"baseFunctions":[60817],"functionSelector":"8659d232","implemented":true,"kind":"function","modifiers":[],"name":"payOracleFeesErc20","nameLocation":"1872:18:100","parameters":{"id":64113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64109,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64116,"src":"1891:7:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64108,"name":"address","nodeType":"ElementaryTypeName","src":"1891:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64112,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64116,"src":"1917:37:100","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_calldata_ptr","typeString":"struct FixedPointInterface.Unsigned"},"typeName":{"id":64111,"nodeType":"UserDefinedTypeName","pathNode":{"id":64110,"name":"FixedPointInterface.Unsigned","nameLocations":["1917:19:100","1937:8:100"],"nodeType":"IdentifierPath","referencedDeclaration":60796,"src":"1917:28:100"},"referencedDeclaration":60796,"src":"1917:28:100","typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_storage_ptr","typeString":"struct FixedPointInterface.Unsigned"}},"visibility":"internal"}],"src":"1890:77:100"},"returnParameters":{"id":64114,"nodeType":"ParameterList","parameters":[],"src":"1977:0:100"},"scope":64164,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":64147,"nodeType":"FunctionDefinition","src":"1985:372:100","nodes":[],"body":{"id":64146,"nodeType":"Block","src":"2217:140:100","nodes":[],"statements":[{"expression":{"id":64137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64132,"name":"regularFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64127,"src":"2227:10:100","typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_memory_ptr","typeString":"struct FixedPointInterface.Unsigned memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":64135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2280:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":64133,"name":"FixedPointInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60797,"src":"2240:19:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPointInterface_$60797_$","typeString":"type(contract FixedPointInterface)"}},"id":64134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2260:8:100","memberName":"Unsigned","nodeType":"MemberAccess","referencedDeclaration":60796,"src":"2240:28:100","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Unsigned_$60796_storage_ptr_$","typeString":"type(struct FixedPointInterface.Unsigned storage pointer)"}},"id":64136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["2270:8:100"],"names":["rawValue"],"nodeType":"FunctionCall","src":"2240:43:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_memory_ptr","typeString":"struct FixedPointInterface.Unsigned memory"}},"src":"2227:56:100","typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_memory_ptr","typeString":"struct FixedPointInterface.Unsigned memory"}},"id":64138,"nodeType":"ExpressionStatement","src":"2227:56:100"},{"expression":{"id":64144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64139,"name":"latePenalty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64130,"src":"2293:11:100","typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_memory_ptr","typeString":"struct FixedPointInterface.Unsigned memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":64142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2347:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":64140,"name":"FixedPointInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60797,"src":"2307:19:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPointInterface_$60797_$","typeString":"type(contract FixedPointInterface)"}},"id":64141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2327:8:100","memberName":"Unsigned","nodeType":"MemberAccess","referencedDeclaration":60796,"src":"2307:28:100","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Unsigned_$60796_storage_ptr_$","typeString":"type(struct FixedPointInterface.Unsigned storage pointer)"}},"id":64143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["2337:8:100"],"names":["rawValue"],"nodeType":"FunctionCall","src":"2307:43:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_memory_ptr","typeString":"struct FixedPointInterface.Unsigned memory"}},"src":"2293:57:100","typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_memory_ptr","typeString":"struct FixedPointInterface.Unsigned memory"}},"id":64145,"nodeType":"ExpressionStatement","src":"2293:57:100"}]},"baseFunctions":[60834],"functionSelector":"74201feb","implemented":true,"kind":"function","modifiers":[],"name":"computeRegularFee","nameLocation":"1994:17:100","parameters":{"id":64124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64118,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64147,"src":"2012:7:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64117,"name":"uint256","nodeType":"ElementaryTypeName","src":"2012:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64120,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64147,"src":"2021:7:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64119,"name":"uint256","nodeType":"ElementaryTypeName","src":"2021:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64123,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64147,"src":"2030:37:100","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_calldata_ptr","typeString":"struct FixedPointInterface.Unsigned"},"typeName":{"id":64122,"nodeType":"UserDefinedTypeName","pathNode":{"id":64121,"name":"FixedPointInterface.Unsigned","nameLocations":["2030:19:100","2050:8:100"],"nodeType":"IdentifierPath","referencedDeclaration":60796,"src":"2030:28:100"},"referencedDeclaration":60796,"src":"2030:28:100","typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_storage_ptr","typeString":"struct FixedPointInterface.Unsigned"}},"visibility":"internal"}],"src":"2011:57:100"},"returnParameters":{"id":64131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64127,"mutability":"mutable","name":"regularFee","nameLocation":"2152:10:100","nodeType":"VariableDeclaration","scope":64147,"src":"2116:46:100","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_memory_ptr","typeString":"struct FixedPointInterface.Unsigned"},"typeName":{"id":64126,"nodeType":"UserDefinedTypeName","pathNode":{"id":64125,"name":"FixedPointInterface.Unsigned","nameLocations":["2116:19:100","2136:8:100"],"nodeType":"IdentifierPath","referencedDeclaration":60796,"src":"2116:28:100"},"referencedDeclaration":60796,"src":"2116:28:100","typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_storage_ptr","typeString":"struct FixedPointInterface.Unsigned"}},"visibility":"internal"},{"constant":false,"id":64130,"mutability":"mutable","name":"latePenalty","nameLocation":"2200:11:100","nodeType":"VariableDeclaration","scope":64147,"src":"2164:47:100","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_memory_ptr","typeString":"struct FixedPointInterface.Unsigned"},"typeName":{"id":64129,"nodeType":"UserDefinedTypeName","pathNode":{"id":64128,"name":"FixedPointInterface.Unsigned","nameLocations":["2164:19:100","2184:8:100"],"nodeType":"IdentifierPath","referencedDeclaration":60796,"src":"2164:28:100"},"referencedDeclaration":60796,"src":"2164:28:100","typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_storage_ptr","typeString":"struct FixedPointInterface.Unsigned"}},"visibility":"internal"}],"src":"2115:97:100"},"scope":64164,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":64163,"nodeType":"FunctionDefinition","src":"2363:197:100","nodes":[],"body":{"id":64162,"nodeType":"Block","src":"2466:94:100","nodes":[],"statements":[{"expression":{"arguments":[{"baseExpression":{"id":64157,"name":"finalFeeByCurrency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64089,"src":"2523:18:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":64159,"indexExpression":{"id":64158,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64149,"src":"2542:8:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2523:28:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64155,"name":"FixedPointInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60797,"src":"2483:19:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FixedPointInterface_$60797_$","typeString":"type(contract FixedPointInterface)"}},"id":64156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2503:8:100","memberName":"Unsigned","nodeType":"MemberAccess","referencedDeclaration":60796,"src":"2483:28:100","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Unsigned_$60796_storage_ptr_$","typeString":"type(struct FixedPointInterface.Unsigned storage pointer)"}},"id":64160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["2513:8:100"],"names":["rawValue"],"nodeType":"FunctionCall","src":"2483:70:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_memory_ptr","typeString":"struct FixedPointInterface.Unsigned memory"}},"functionReturnParameters":64154,"id":64161,"nodeType":"Return","src":"2476:77:100"}]},"baseFunctions":[60843],"functionSelector":"5b97aadd","implemented":true,"kind":"function","modifiers":[],"name":"computeFinalFee","nameLocation":"2372:15:100","parameters":{"id":64150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64149,"mutability":"mutable","name":"currency","nameLocation":"2396:8:100","nodeType":"VariableDeclaration","scope":64163,"src":"2388:16:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64148,"name":"address","nodeType":"ElementaryTypeName","src":"2388:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2387:18:100"},"returnParameters":{"id":64154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64153,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64163,"src":"2429:35:100","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_memory_ptr","typeString":"struct FixedPointInterface.Unsigned"},"typeName":{"id":64152,"nodeType":"UserDefinedTypeName","pathNode":{"id":64151,"name":"FixedPointInterface.Unsigned","nameLocations":["2429:19:100","2449:8:100"],"nodeType":"IdentifierPath","referencedDeclaration":60796,"src":"2429:28:100"},"referencedDeclaration":60796,"src":"2429:28:100","typeDescriptions":{"typeIdentifier":"t_struct$_Unsigned_$60796_storage_ptr","typeString":"struct FixedPointInterface.Unsigned"}},"visibility":"internal"}],"src":"2428:37:100"},"scope":64164,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":64084,"name":"StoreInterface","nameLocations":["1608:14:100"],"nodeType":"IdentifierPath","referencedDeclaration":60844,"src":"1608:14:100"},"id":64085,"nodeType":"InheritanceSpecifier","src":"1608:14:100"}],"canonicalName":"MockStore","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[64164,60844],"name":"MockStore","nameLocation":"1595:9:100","scope":66847,"usedErrors":[],"usedEvents":[]},{"id":64210,"nodeType":"ContractDefinition","src":"2564:501:100","nodes":[{"id":64170,"nodeType":"VariableDeclaration","src":"2635:41:100","nodes":[],"constant":false,"functionSelector":"7193f2f0","mutability":"mutable","name":"supported","nameLocation":"2667:9:100","scope":64210,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"},"typeName":{"id":64169,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":64167,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2643:7:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"2635:24:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":64168,"name":"bool","nodeType":"ElementaryTypeName","src":"2654:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"id":64183,"nodeType":"FunctionDefinition","src":"2683:115:100","nodes":[],"body":{"id":64182,"nodeType":"Block","src":"2753:45:100","nodes":[],"statements":[{"expression":{"id":64180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64176,"name":"supported","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64170,"src":"2763:9:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":64178,"indexExpression":{"id":64177,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64172,"src":"2773:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2763:21:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":64179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2787:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2763:28:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64181,"nodeType":"ExpressionStatement","src":"2763:28:100"}]},"baseFunctions":[56992],"functionSelector":"10a7e201","implemented":true,"kind":"function","modifiers":[],"name":"addSupportedIdentifier","nameLocation":"2692:22:100","overrides":{"id":64174,"nodeType":"OverrideSpecifier","overrides":[],"src":"2744:8:100"},"parameters":{"id":64173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64172,"mutability":"mutable","name":"identifier","nameLocation":"2723:10:100","nodeType":"VariableDeclaration","scope":64183,"src":"2715:18:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64171,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2715:7:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2714:20:100"},"returnParameters":{"id":64175,"nodeType":"ParameterList","parameters":[],"src":"2753:0:100"},"scope":64210,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":64196,"nodeType":"FunctionDefinition","src":"2804:119:100","nodes":[],"body":{"id":64195,"nodeType":"Block","src":"2877:46:100","nodes":[],"statements":[{"expression":{"id":64193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64189,"name":"supported","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64170,"src":"2887:9:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":64191,"indexExpression":{"id":64190,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64185,"src":"2897:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2887:21:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":64192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2911:5:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"2887:29:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64194,"nodeType":"ExpressionStatement","src":"2887:29:100"}]},"baseFunctions":[56998],"functionSelector":"8e0d3ca7","implemented":true,"kind":"function","modifiers":[],"name":"removeSupportedIdentifier","nameLocation":"2813:25:100","overrides":{"id":64187,"nodeType":"OverrideSpecifier","overrides":[],"src":"2868:8:100"},"parameters":{"id":64186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64185,"mutability":"mutable","name":"identifier","nameLocation":"2847:10:100","nodeType":"VariableDeclaration","scope":64196,"src":"2839:18:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64184,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2839:7:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2838:20:100"},"returnParameters":{"id":64188,"nodeType":"ParameterList","parameters":[],"src":"2877:0:100"},"scope":64210,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":64209,"nodeType":"FunctionDefinition","src":"2929:134:100","nodes":[],"body":{"id":64208,"nodeType":"Block","src":"3018:45:100","nodes":[],"statements":[{"expression":{"baseExpression":{"id":64204,"name":"supported","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64170,"src":"3035:9:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":64206,"indexExpression":{"id":64205,"name":"identifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64198,"src":"3045:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3035:21:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":64203,"id":64207,"nodeType":"Return","src":"3028:28:100"}]},"baseFunctions":[57006],"functionSelector":"90978d1b","implemented":true,"kind":"function","modifiers":[],"name":"isIdentifierSupported","nameLocation":"2938:21:100","overrides":{"id":64200,"nodeType":"OverrideSpecifier","overrides":[],"src":"2994:8:100"},"parameters":{"id":64199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64198,"mutability":"mutable","name":"identifier","nameLocation":"2968:10:100","nodeType":"VariableDeclaration","scope":64209,"src":"2960:18:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64197,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2960:7:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2959:20:100"},"returnParameters":{"id":64203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64202,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64209,"src":"3012:4:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64201,"name":"bool","nodeType":"ElementaryTypeName","src":"3012:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3011:6:100"},"scope":64210,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":64165,"name":"IdentifierWhitelistInterface","nameLocations":["2600:28:100"],"nodeType":"IdentifierPath","referencedDeclaration":57007,"src":"2600:28:100"},"id":64166,"nodeType":"InheritanceSpecifier","src":"2600:28:100"}],"canonicalName":"MockIdentifierWhitelist","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[64210,57007],"name":"MockIdentifierWhitelist","nameLocation":"2573:23:100","scope":66847,"usedErrors":[],"usedEvents":[]},{"id":64259,"nodeType":"ContractDefinition","src":"3067:605:100","nodes":[{"id":64216,"nodeType":"VariableDeclaration","src":"3112:56:100","nodes":[],"constant":false,"functionSelector":"cc48f4db","mutability":"mutable","name":"interfacesImplemented","nameLocation":"3147:21:100","scope":64259,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"typeName":{"id":64215,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":64213,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3120:7:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"3112:27:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":64214,"name":"address","nodeType":"ElementaryTypeName","src":"3131:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"public"},{"id":64231,"nodeType":"FunctionDefinition","src":"3175:186:100","nodes":[],"body":{"id":64230,"nodeType":"Block","src":"3284:77:100","nodes":[],"statements":[{"expression":{"id":64228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64224,"name":"interfacesImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64216,"src":"3294:21:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":64226,"indexExpression":{"id":64225,"name":"interfaceName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64218,"src":"3316:13:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3294:36:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":64227,"name":"implementationAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64220,"src":"3333:21:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3294:60:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64229,"nodeType":"ExpressionStatement","src":"3294:60:100"}]},"baseFunctions":[56974],"functionSelector":"31f9665e","implemented":true,"kind":"function","modifiers":[],"name":"changeImplementationAddress","nameLocation":"3184:27:100","overrides":{"id":64222,"nodeType":"OverrideSpecifier","overrides":[],"src":"3275:8:100"},"parameters":{"id":64221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64218,"mutability":"mutable","name":"interfaceName","nameLocation":"3220:13:100","nodeType":"VariableDeclaration","scope":64231,"src":"3212:21:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64217,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3212:7:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":64220,"mutability":"mutable","name":"implementationAddress","nameLocation":"3243:21:100","nodeType":"VariableDeclaration","scope":64231,"src":"3235:29:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64219,"name":"address","nodeType":"ElementaryTypeName","src":"3235:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3211:54:100"},"returnParameters":{"id":64223,"nodeType":"ParameterList","parameters":[],"src":"3284:0:100"},"scope":64259,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":64258,"nodeType":"FunctionDefinition","src":"3367:303:100","nodes":[],"body":{"id":64257,"nodeType":"Block","src":"3465:205:100","nodes":[],"statements":[{"assignments":[64240],"declarations":[{"constant":false,"id":64240,"mutability":"mutable","name":"implementationAddress","nameLocation":"3483:21:100","nodeType":"VariableDeclaration","scope":64257,"src":"3475:29:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64239,"name":"address","nodeType":"ElementaryTypeName","src":"3475:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":64244,"initialValue":{"baseExpression":{"id":64241,"name":"interfacesImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64216,"src":"3507:21:100","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":64243,"indexExpression":{"id":64242,"name":"interfaceName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64233,"src":"3529:13:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3507:36:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3475:68:100"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":64251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":64246,"name":"implementationAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64240,"src":"3561:21:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":64249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3594:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":64248,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3586:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64247,"name":"address","nodeType":"ElementaryTypeName","src":"3586:7:100","typeDescriptions":{}}},"id":64250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3586:10:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3561:35:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496d706c656d656e746174696f6e206e6f7420666f756e64","id":64252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3598:26:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0b2a855e2c096c35feac3b68d3d3f1d2cbc740f23b07a08c770274f3b40dca4","typeString":"literal_string \"Implementation not found\""},"value":"Implementation not found"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e0b2a855e2c096c35feac3b68d3d3f1d2cbc740f23b07a08c770274f3b40dca4","typeString":"literal_string \"Implementation not found\""}],"id":64245,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3553:7:100","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":64253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3553:72:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64254,"nodeType":"ExpressionStatement","src":"3553:72:100"},{"expression":{"id":64255,"name":"implementationAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64240,"src":"3642:21:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":64238,"id":64256,"nodeType":"Return","src":"3635:28:100"}]},"baseFunctions":[56982],"functionSelector":"aafd5e40","implemented":true,"kind":"function","modifiers":[],"name":"getImplementationAddress","nameLocation":"3376:24:100","overrides":{"id":64235,"nodeType":"OverrideSpecifier","overrides":[],"src":"3438:8:100"},"parameters":{"id":64234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64233,"mutability":"mutable","name":"interfaceName","nameLocation":"3409:13:100","nodeType":"VariableDeclaration","scope":64258,"src":"3401:21:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64232,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3401:7:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3400:23:100"},"returnParameters":{"id":64238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64237,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64258,"src":"3456:7:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64236,"name":"address","nodeType":"ElementaryTypeName","src":"3456:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3455:9:100"},"scope":64259,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":64211,"name":"FinderInterface","nameLocations":["3090:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":56983,"src":"3090:15:100"},"id":64212,"nodeType":"InheritanceSpecifier","src":"3090:15:100"}],"canonicalName":"MockFinder","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[64259,56983],"name":"MockFinder","nameLocation":"3076:10:100","scope":66847,"usedErrors":[],"usedEvents":[]},{"id":66846,"nodeType":"ContractDefinition","src":"3674:26188:100","nodes":[{"id":64263,"nodeType":"VariableDeclaration","src":"3802:28:100","nodes":[],"constant":false,"mutability":"mutable","name":"configAdmin","nameLocation":"3819:11:100","scope":66846,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64262,"name":"address","nodeType":"ElementaryTypeName","src":"3802:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":64265,"nodeType":"VariableDeclaration","src":"3836:29:100","nodes":[],"constant":false,"mutability":"mutable","name":"upgradeAdmin","nameLocation":"3853:12:100","scope":66846,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64264,"name":"address","nodeType":"ElementaryTypeName","src":"3836:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":64267,"nodeType":"VariableDeclaration","src":"3871:31:100","nodes":[],"constant":false,"mutability":"mutable","name":"requestManager","nameLocation":"3888:14:100","scope":66846,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64266,"name":"address","nodeType":"ElementaryTypeName","src":"3871:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":64269,"nodeType":"VariableDeclaration","src":"3908:26:100","nodes":[],"constant":false,"mutability":"mutable","name":"requester","nameLocation":"3925:9:100","scope":66846,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64268,"name":"address","nodeType":"ElementaryTypeName","src":"3908:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":64271,"nodeType":"VariableDeclaration","src":"3940:29:100","nodes":[],"constant":false,"mutability":"mutable","name":"nonRequester","nameLocation":"3957:12:100","scope":66846,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64270,"name":"address","nodeType":"ElementaryTypeName","src":"3940:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":64273,"nodeType":"VariableDeclaration","src":"3975:25:100","nodes":[],"constant":false,"mutability":"mutable","name":"proposer","nameLocation":"3992:8:100","scope":66846,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64272,"name":"address","nodeType":"ElementaryTypeName","src":"3975:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":64275,"nodeType":"VariableDeclaration","src":"4006:30:100","nodes":[],"constant":false,"mutability":"mutable","name":"otherProposer","nameLocation":"4023:13:100","scope":66846,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64274,"name":"address","nodeType":"ElementaryTypeName","src":"4006:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":64277,"nodeType":"VariableDeclaration","src":"4042:23:100","nodes":[],"constant":false,"mutability":"mutable","name":"sender","nameLocation":"4059:6:100","scope":66846,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64276,"name":"address","nodeType":"ElementaryTypeName","src":"4042:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":64279,"nodeType":"VariableDeclaration","src":"4071:28:100","nodes":[],"constant":false,"mutability":"mutable","name":"otherSender","nameLocation":"4088:11:100","scope":66846,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64278,"name":"address","nodeType":"ElementaryTypeName","src":"4071:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":64282,"nodeType":"VariableDeclaration","src":"4128:38:100","nodes":[],"constant":false,"mutability":"mutable","name":"moo","nameLocation":"4163:3:100","scope":66846,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"},"typeName":{"id":64281,"nodeType":"UserDefinedTypeName","pathNode":{"id":64280,"name":"ManagedOptimisticOracleV2","nameLocations":["4128:25:100"],"nodeType":"IdentifierPath","referencedDeclaration":61771,"src":"4128:25:100"},"referencedDeclaration":61771,"src":"4128:25:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"visibility":"internal"},{"id":64285,"nodeType":"VariableDeclaration","src":"4172:31:100","nodes":[],"constant":false,"mutability":"mutable","name":"finder","nameLocation":"4197:6:100","scope":66846,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_FinderInterface_$56983","typeString":"contract FinderInterface"},"typeName":{"id":64284,"nodeType":"UserDefinedTypeName","pathNode":{"id":64283,"name":"FinderInterface","nameLocations":["4172:15:100"],"nodeType":"IdentifierPath","referencedDeclaration":56983,"src":"4172:15:100"},"referencedDeclaration":56983,"src":"4172:15:100","typeDescriptions":{"typeIdentifier":"t_contract$_FinderInterface_$56983","typeString":"contract FinderInterface"}},"visibility":"internal"},{"id":64288,"nodeType":"VariableDeclaration","src":"4209:45:100","nodes":[],"constant":false,"mutability":"mutable","name":"collateralWhitelist","nameLocation":"4235:19:100","scope":66846,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"},"typeName":{"id":64287,"nodeType":"UserDefinedTypeName","pathNode":{"id":64286,"name":"AddressWhitelist","nameLocations":["4209:16:100"],"nodeType":"IdentifierPath","referencedDeclaration":60496,"src":"4209:16:100"},"referencedDeclaration":60496,"src":"4209:16:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"visibility":"internal"},{"id":64291,"nodeType":"VariableDeclaration","src":"4260:50:100","nodes":[],"constant":false,"mutability":"mutable","name":"defaultProposerWhitelist","nameLocation":"4286:24:100","scope":66846,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"},"typeName":{"id":64290,"nodeType":"UserDefinedTypeName","pathNode":{"id":64289,"name":"AddressWhitelist","nameLocations":["4260:16:100"],"nodeType":"IdentifierPath","referencedDeclaration":60496,"src":"4260:16:100"},"referencedDeclaration":60496,"src":"4260:16:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"visibility":"internal"},{"id":64294,"nodeType":"VariableDeclaration","src":"4316:44:100","nodes":[],"constant":false,"mutability":"mutable","name":"requesterWhitelist","nameLocation":"4342:18:100","scope":66846,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"},"typeName":{"id":64293,"nodeType":"UserDefinedTypeName","pathNode":{"id":64292,"name":"AddressWhitelist","nameLocations":["4316:16:100"],"nodeType":"IdentifierPath","referencedDeclaration":60496,"src":"4316:16:100"},"referencedDeclaration":60496,"src":"4316:16:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"visibility":"internal"},{"id":64297,"nodeType":"VariableDeclaration","src":"4366:51:100","nodes":[],"constant":false,"mutability":"mutable","name":"disabledWhitelist","nameLocation":"4400:17:100","scope":66846,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_DisabledAddressWhitelist_$60583","typeString":"contract DisabledAddressWhitelist"},"typeName":{"id":64296,"nodeType":"UserDefinedTypeName","pathNode":{"id":64295,"name":"DisabledAddressWhitelist","nameLocations":["4366:24:100"],"nodeType":"IdentifierPath","referencedDeclaration":60583,"src":"4366:24:100"},"referencedDeclaration":60583,"src":"4366:24:100","typeDescriptions":{"typeIdentifier":"t_contract$_DisabledAddressWhitelist_$60583","typeString":"contract DisabledAddressWhitelist"}},"visibility":"internal"},{"id":64300,"nodeType":"VariableDeclaration","src":"4423:44:100","nodes":[],"constant":false,"mutability":"mutable","name":"idWhitelist","nameLocation":"4456:11:100","scope":66846,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockIdentifierWhitelist_$64210","typeString":"contract MockIdentifierWhitelist"},"typeName":{"id":64299,"nodeType":"UserDefinedTypeName","pathNode":{"id":64298,"name":"MockIdentifierWhitelist","nameLocations":["4423:23:100"],"nodeType":"IdentifierPath","referencedDeclaration":64210,"src":"4423:23:100"},"referencedDeclaration":64210,"src":"4423:23:100","typeDescriptions":{"typeIdentifier":"t_contract$_MockIdentifierWhitelist_$64210","typeString":"contract MockIdentifierWhitelist"}},"visibility":"internal"},{"id":64303,"nodeType":"VariableDeclaration","src":"4473:24:100","nodes":[],"constant":false,"mutability":"mutable","name":"store","nameLocation":"4492:5:100","scope":66846,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockStore_$64164","typeString":"contract MockStore"},"typeName":{"id":64302,"nodeType":"UserDefinedTypeName","pathNode":{"id":64301,"name":"MockStore","nameLocations":["4473:9:100"],"nodeType":"IdentifierPath","referencedDeclaration":64164,"src":"4473:9:100"},"referencedDeclaration":64164,"src":"4473:9:100","typeDescriptions":{"typeIdentifier":"t_contract$_MockStore_$64164","typeString":"contract MockStore"}},"visibility":"internal"},{"id":64306,"nodeType":"VariableDeclaration","src":"4503:27:100","nodes":[],"constant":false,"mutability":"mutable","name":"currency","nameLocation":"4522:8:100","scope":66846,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"},"typeName":{"id":64305,"nodeType":"UserDefinedTypeName","pathNode":{"id":64304,"name":"ERC20Mock","nameLocations":["4503:9:100"],"nodeType":"IdentifierPath","referencedDeclaration":41747,"src":"4503:9:100"},"referencedDeclaration":41747,"src":"4503:9:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}},"visibility":"internal"},{"id":64309,"nodeType":"VariableDeclaration","src":"4536:32:100","nodes":[],"constant":false,"mutability":"mutable","name":"otherCurrency","nameLocation":"4555:13:100","scope":66846,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"},"typeName":{"id":64308,"nodeType":"UserDefinedTypeName","pathNode":{"id":64307,"name":"ERC20Mock","nameLocations":["4536:9:100"],"nodeType":"IdentifierPath","referencedDeclaration":41747,"src":"4536:9:100"},"referencedDeclaration":41747,"src":"4536:9:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}},"visibility":"internal"},{"id":64314,"nodeType":"VariableDeclaration","src":"4599:60:100","nodes":[],"constant":true,"mutability":"constant","name":"IDENTIFIER","nameLocation":"4625:10:100","scope":66846,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64310,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4599:7:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"50524943455f4944","id":64312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4648:10:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_59cc78b3d04193ae92175ab14d00bb163c097a14bae6f073d18bfc99df6f6ee9","typeString":"literal_string \"PRICE_ID\""},"value":"PRICE_ID"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_59cc78b3d04193ae92175ab14d00bb163c097a14bae6f073d18bfc99df6f6ee9","typeString":"literal_string \"PRICE_ID\""}],"id":64311,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4638:9:100","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":64313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4638:21:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":64320,"nodeType":"VariableDeclaration","src":"4665:56:100","nodes":[],"constant":true,"mutability":"constant","name":"ANCILLARY","nameLocation":"4689:9:100","scope":66846,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64315,"name":"bytes","nodeType":"ElementaryTypeName","src":"4665:5:100","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"3a6d656d6f3a2074657374","id":64318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4707:13:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_d7338c1ca37134a6e9fcf8d4a8ed23372dee4ba9e5140c48fbce4d39ec59a8f5","typeString":"literal_string \":memo: test\""},"value":":memo: test"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d7338c1ca37134a6e9fcf8d4a8ed23372dee4ba9e5140c48fbce4d39ec59a8f5","typeString":"literal_string \":memo: test\""}],"id":64317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4701:5:100","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":64316,"name":"bytes","nodeType":"ElementaryTypeName","src":"4701:5:100","typeDescriptions":{}}},"id":64319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4701:20:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"internal"},{"id":64691,"nodeType":"FunctionDefinition","src":"4728:3435:100","nodes":[],"body":{"id":64690,"nodeType":"Block","src":"4752:3411:100","nodes":[],"statements":[{"expression":{"id":64327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64323,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64263,"src":"4783:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"636f6e66696741646d696e","id":64325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4806:13:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c80d99ceb200efa8ecb434ba8eef4ed142fffb2965d952b7f1734a5a6339891","typeString":"literal_string \"configAdmin\""},"value":"configAdmin"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9c80d99ceb200efa8ecb434ba8eef4ed142fffb2965d952b7f1734a5a6339891","typeString":"literal_string \"configAdmin\""}],"id":64324,"name":"makeAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"4797:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) returns (address)"}},"id":64326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4797:23:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4783:37:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64328,"nodeType":"ExpressionStatement","src":"4783:37:100"},{"expression":{"id":64333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64329,"name":"upgradeAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64265,"src":"4830:12:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"7570677261646541646d696e","id":64331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4854:14:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_b2680f9f3c96d06d17a63679c7093c95934e8f7ceb6a1d814fc584ec0553c16a","typeString":"literal_string \"upgradeAdmin\""},"value":"upgradeAdmin"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b2680f9f3c96d06d17a63679c7093c95934e8f7ceb6a1d814fc584ec0553c16a","typeString":"literal_string \"upgradeAdmin\""}],"id":64330,"name":"makeAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"4845:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) returns (address)"}},"id":64332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4845:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4830:39:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64334,"nodeType":"ExpressionStatement","src":"4830:39:100"},{"expression":{"id":64339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64335,"name":"requestManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64267,"src":"4879:14:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"726571756573744d616e61676572","id":64337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4905:16:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_7e6702ebe2242ec33d70eda7c77c1a71ca1c7bcf7c088dff8aeb27f7b8453792","typeString":"literal_string \"requestManager\""},"value":"requestManager"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7e6702ebe2242ec33d70eda7c77c1a71ca1c7bcf7c088dff8aeb27f7b8453792","typeString":"literal_string \"requestManager\""}],"id":64336,"name":"makeAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"4896:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) returns (address)"}},"id":64338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4896:26:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4879:43:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64340,"nodeType":"ExpressionStatement","src":"4879:43:100"},{"expression":{"id":64345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64341,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"4932:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"726571756573746572","id":64343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4953:11:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_7aeb5919dbb2240790fcc1995c1535fe74fc9c82ba96f1bc7ba0f17c22e4ea24","typeString":"literal_string \"requester\""},"value":"requester"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7aeb5919dbb2240790fcc1995c1535fe74fc9c82ba96f1bc7ba0f17c22e4ea24","typeString":"literal_string \"requester\""}],"id":64342,"name":"makeAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"4944:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) returns (address)"}},"id":64344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4944:21:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4932:33:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64346,"nodeType":"ExpressionStatement","src":"4932:33:100"},{"expression":{"id":64351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64347,"name":"nonRequester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64271,"src":"4975:12:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"6e6f6e526571756573746572","id":64349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4999:14:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_e011fc2cafa2bf3f75c7a34f433ac2dba44361a39cb022dba7fd4f42734dc7e8","typeString":"literal_string \"nonRequester\""},"value":"nonRequester"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e011fc2cafa2bf3f75c7a34f433ac2dba44361a39cb022dba7fd4f42734dc7e8","typeString":"literal_string \"nonRequester\""}],"id":64348,"name":"makeAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"4990:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) returns (address)"}},"id":64350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4990:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4975:39:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64352,"nodeType":"ExpressionStatement","src":"4975:39:100"},{"expression":{"id":64357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64353,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64273,"src":"5024:8:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"70726f706f736572","id":64355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5044:10:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae46c42ab0ce10908c1d765cf1591cc57b8ebf9b2bec1a45d8816fbb3e828f4a","typeString":"literal_string \"proposer\""},"value":"proposer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ae46c42ab0ce10908c1d765cf1591cc57b8ebf9b2bec1a45d8816fbb3e828f4a","typeString":"literal_string \"proposer\""}],"id":64354,"name":"makeAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"5035:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) returns (address)"}},"id":64356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5035:20:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5024:31:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64358,"nodeType":"ExpressionStatement","src":"5024:31:100"},{"expression":{"id":64363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64359,"name":"otherProposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64275,"src":"5065:13:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"6f7468657250726f706f736572","id":64361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5090:15:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_d66890d526bc82f0c397867a29a174429ebf745d953936ee70f3ded892941460","typeString":"literal_string \"otherProposer\""},"value":"otherProposer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d66890d526bc82f0c397867a29a174429ebf745d953936ee70f3ded892941460","typeString":"literal_string \"otherProposer\""}],"id":64360,"name":"makeAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"5081:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) returns (address)"}},"id":64362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5081:25:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5065:41:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64364,"nodeType":"ExpressionStatement","src":"5065:41:100"},{"expression":{"id":64369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64365,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64277,"src":"5116:6:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"73656e646572","id":64367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5134:8:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_168e92ce035ba45e59a0314b0ed9a9e619b284aed8f6e5ab0a596efd5c9f5cf9","typeString":"literal_string \"sender\""},"value":"sender"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_168e92ce035ba45e59a0314b0ed9a9e619b284aed8f6e5ab0a596efd5c9f5cf9","typeString":"literal_string \"sender\""}],"id":64366,"name":"makeAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"5125:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) returns (address)"}},"id":64368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5125:18:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5116:27:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64370,"nodeType":"ExpressionStatement","src":"5116:27:100"},{"expression":{"id":64375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64371,"name":"otherSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64279,"src":"5153:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"6f7468657253656e646572","id":64373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5176:13:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_caed67af377687b6f18e75e4b6e2535c9acb9976616d56d735a8e58deedc8705","typeString":"literal_string \"otherSender\""},"value":"otherSender"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_caed67af377687b6f18e75e4b6e2535c9acb9976616d56d735a8e58deedc8705","typeString":"literal_string \"otherSender\""}],"id":64372,"name":"makeAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"5167:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) returns (address)"}},"id":64374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5167:23:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5153:37:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64376,"nodeType":"ExpressionStatement","src":"5153:37:100"},{"expression":{"arguments":[{"id":64380,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64263,"src":"5209:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"434f4e4649475f41444d494e","id":64381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5222:14:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_8af5290a3bc9fb001a334db3080e05f29cbed54f3cf6e308d2db8704d95c4147","typeString":"literal_string \"CONFIG_ADMIN\""},"value":"CONFIG_ADMIN"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_8af5290a3bc9fb001a334db3080e05f29cbed54f3cf6e308d2db8704d95c4147","typeString":"literal_string \"CONFIG_ADMIN\""}],"expression":{"id":64377,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"5200:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":64379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5203:5:100","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":16785,"src":"5200:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":64382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5200:37:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64383,"nodeType":"ExpressionStatement","src":"5200:37:100"},{"expression":{"arguments":[{"id":64387,"name":"upgradeAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64265,"src":"5256:12:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"555047524144455f41444d494e","id":64388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5270:15:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab0a819bf57ef52a248771805d8714ae8e073962cc1b48f9667beb971fb3a2c7","typeString":"literal_string \"UPGRADE_ADMIN\""},"value":"UPGRADE_ADMIN"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_ab0a819bf57ef52a248771805d8714ae8e073962cc1b48f9667beb971fb3a2c7","typeString":"literal_string \"UPGRADE_ADMIN\""}],"expression":{"id":64384,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"5247:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":64386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5250:5:100","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":16785,"src":"5247:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":64389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5247:39:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64390,"nodeType":"ExpressionStatement","src":"5247:39:100"},{"expression":{"arguments":[{"id":64394,"name":"requestManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64267,"src":"5305:14:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"524551554553545f4d414e41474552","id":64395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5321:17:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_81c6eab285df84a26c7d88759e031ce87349ba320f85d38d269fb50b0fc46323","typeString":"literal_string \"REQUEST_MANAGER\""},"value":"REQUEST_MANAGER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_81c6eab285df84a26c7d88759e031ce87349ba320f85d38d269fb50b0fc46323","typeString":"literal_string \"REQUEST_MANAGER\""}],"expression":{"id":64391,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"5296:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":64393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5299:5:100","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":16785,"src":"5296:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":64396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5296:43:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64397,"nodeType":"ExpressionStatement","src":"5296:43:100"},{"expression":{"arguments":[{"id":64401,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"5358:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"524551554553544552","id":64402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5369:11:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_d1fa0b6cafccae5ff40f39658a05a2fd77d9c1d01a5d8fb9e7095cd2e771954b","typeString":"literal_string \"REQUESTER\""},"value":"REQUESTER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_d1fa0b6cafccae5ff40f39658a05a2fd77d9c1d01a5d8fb9e7095cd2e771954b","typeString":"literal_string \"REQUESTER\""}],"expression":{"id":64398,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"5349:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":64400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5352:5:100","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":16785,"src":"5349:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":64403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5349:32:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64404,"nodeType":"ExpressionStatement","src":"5349:32:100"},{"expression":{"arguments":[{"id":64408,"name":"nonRequester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64271,"src":"5400:12:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"4e4f4e5f524551554553544552","id":64409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5414:15:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_1128674e49b27882b3930323ba46af892675c5dc6c0d9d9e2da9869ae12ed105","typeString":"literal_string \"NON_REQUESTER\""},"value":"NON_REQUESTER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_1128674e49b27882b3930323ba46af892675c5dc6c0d9d9e2da9869ae12ed105","typeString":"literal_string \"NON_REQUESTER\""}],"expression":{"id":64405,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"5391:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":64407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5394:5:100","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":16785,"src":"5391:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":64410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5391:39:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64411,"nodeType":"ExpressionStatement","src":"5391:39:100"},{"expression":{"arguments":[{"id":64415,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64273,"src":"5449:8:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"50524f504f534552","id":64416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5459:10:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_c4338366b9cfc07901c46677a3a32746bd05d5c114e4d0d293c468cff87acde0","typeString":"literal_string \"PROPOSER\""},"value":"PROPOSER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_c4338366b9cfc07901c46677a3a32746bd05d5c114e4d0d293c468cff87acde0","typeString":"literal_string \"PROPOSER\""}],"expression":{"id":64412,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"5440:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":64414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5443:5:100","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":16785,"src":"5440:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":64417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5440:30:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64418,"nodeType":"ExpressionStatement","src":"5440:30:100"},{"expression":{"arguments":[{"id":64422,"name":"otherProposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64275,"src":"5489:13:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"4f544845525f50524f504f534552","id":64423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5504:16:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_093285ca4d23deb02ebcaa5fc7a4b5ae9cf6943c7b9a3f8343acd0dd62db01ac","typeString":"literal_string \"OTHER_PROPOSER\""},"value":"OTHER_PROPOSER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_093285ca4d23deb02ebcaa5fc7a4b5ae9cf6943c7b9a3f8343acd0dd62db01ac","typeString":"literal_string \"OTHER_PROPOSER\""}],"expression":{"id":64419,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"5480:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":64421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5483:5:100","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":16785,"src":"5480:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":64424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5480:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64425,"nodeType":"ExpressionStatement","src":"5480:41:100"},{"expression":{"arguments":[{"id":64429,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64277,"src":"5540:6:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"53454e444552","id":64430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5548:8:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf2b1209506b76f140fb1bc5fe66d6e42627c4b9703a951d65552f50f14c9ee7","typeString":"literal_string \"SENDER\""},"value":"SENDER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_cf2b1209506b76f140fb1bc5fe66d6e42627c4b9703a951d65552f50f14c9ee7","typeString":"literal_string \"SENDER\""}],"expression":{"id":64426,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"5531:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":64428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5534:5:100","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":16785,"src":"5531:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":64431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5531:26:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64432,"nodeType":"ExpressionStatement","src":"5531:26:100"},{"expression":{"arguments":[{"id":64436,"name":"otherSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64279,"src":"5576:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"4f544845525f53454e444552","id":64437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5589:14:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_f5295345ae2334d6771510aa6631a61a66c9fe52cd111338c2ae8cb18c598e37","typeString":"literal_string \"OTHER_SENDER\""},"value":"OTHER_SENDER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_f5295345ae2334d6771510aa6631a61a66c9fe52cd111338c2ae8cb18c598e37","typeString":"literal_string \"OTHER_SENDER\""}],"expression":{"id":64433,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"5567:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":64435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5570:5:100","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":16785,"src":"5567:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":64438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5567:37:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64439,"nodeType":"ExpressionStatement","src":"5567:37:100"},{"expression":{"id":64445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64440,"name":"finder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64285,"src":"5662:6:100","typeDescriptions":{"typeIdentifier":"t_contract$_FinderInterface_$56983","typeString":"contract FinderInterface"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":64443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"5671:14:100","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockFinder_$64259_$","typeString":"function () returns (contract MockFinder)"},"typeName":{"id":64442,"nodeType":"UserDefinedTypeName","pathNode":{"id":64441,"name":"MockFinder","nameLocations":["5675:10:100"],"nodeType":"IdentifierPath","referencedDeclaration":64259,"src":"5675:10:100"},"referencedDeclaration":64259,"src":"5675:10:100","typeDescriptions":{"typeIdentifier":"t_contract$_MockFinder_$64259","typeString":"contract MockFinder"}}},"id":64444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5671:16:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockFinder_$64259","typeString":"contract MockFinder"}},"src":"5662:25:100","typeDescriptions":{"typeIdentifier":"t_contract$_FinderInterface_$56983","typeString":"contract FinderInterface"}},"id":64446,"nodeType":"ExpressionStatement","src":"5662:25:100"},{"expression":{"id":64452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64447,"name":"collateralWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64288,"src":"5698:19:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":64450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"5720:20:100","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_AddressWhitelist_$60496_$","typeString":"function () returns (contract AddressWhitelist)"},"typeName":{"id":64449,"nodeType":"UserDefinedTypeName","pathNode":{"id":64448,"name":"AddressWhitelist","nameLocations":["5724:16:100"],"nodeType":"IdentifierPath","referencedDeclaration":60496,"src":"5724:16:100"},"referencedDeclaration":60496,"src":"5724:16:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}},"id":64451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5720:22:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"src":"5698:44:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":64453,"nodeType":"ExpressionStatement","src":"5698:44:100"},{"expression":{"id":64459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64454,"name":"defaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64291,"src":"5752:24:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":64457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"5779:20:100","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_AddressWhitelist_$60496_$","typeString":"function () returns (contract AddressWhitelist)"},"typeName":{"id":64456,"nodeType":"UserDefinedTypeName","pathNode":{"id":64455,"name":"AddressWhitelist","nameLocations":["5783:16:100"],"nodeType":"IdentifierPath","referencedDeclaration":60496,"src":"5783:16:100"},"referencedDeclaration":60496,"src":"5783:16:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}},"id":64458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5779:22:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"src":"5752:49:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":64460,"nodeType":"ExpressionStatement","src":"5752:49:100"},{"expression":{"id":64466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64461,"name":"requesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64294,"src":"5811:18:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":64464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"5832:20:100","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_AddressWhitelist_$60496_$","typeString":"function () returns (contract AddressWhitelist)"},"typeName":{"id":64463,"nodeType":"UserDefinedTypeName","pathNode":{"id":64462,"name":"AddressWhitelist","nameLocations":["5836:16:100"],"nodeType":"IdentifierPath","referencedDeclaration":60496,"src":"5836:16:100"},"referencedDeclaration":60496,"src":"5836:16:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}},"id":64465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5832:22:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"src":"5811:43:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":64467,"nodeType":"ExpressionStatement","src":"5811:43:100"},{"expression":{"id":64473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64468,"name":"disabledWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64297,"src":"5864:17:100","typeDescriptions":{"typeIdentifier":"t_contract$_DisabledAddressWhitelist_$60583","typeString":"contract DisabledAddressWhitelist"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":64471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"5884:28:100","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_DisabledAddressWhitelist_$60583_$","typeString":"function () returns (contract DisabledAddressWhitelist)"},"typeName":{"id":64470,"nodeType":"UserDefinedTypeName","pathNode":{"id":64469,"name":"DisabledAddressWhitelist","nameLocations":["5888:24:100"],"nodeType":"IdentifierPath","referencedDeclaration":60583,"src":"5888:24:100"},"referencedDeclaration":60583,"src":"5888:24:100","typeDescriptions":{"typeIdentifier":"t_contract$_DisabledAddressWhitelist_$60583","typeString":"contract DisabledAddressWhitelist"}}},"id":64472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5884:30:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_DisabledAddressWhitelist_$60583","typeString":"contract DisabledAddressWhitelist"}},"src":"5864:50:100","typeDescriptions":{"typeIdentifier":"t_contract$_DisabledAddressWhitelist_$60583","typeString":"contract DisabledAddressWhitelist"}},"id":64474,"nodeType":"ExpressionStatement","src":"5864:50:100"},{"expression":{"id":64480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64475,"name":"idWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64300,"src":"5924:11:100","typeDescriptions":{"typeIdentifier":"t_contract$_MockIdentifierWhitelist_$64210","typeString":"contract MockIdentifierWhitelist"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":64478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"5938:27:100","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockIdentifierWhitelist_$64210_$","typeString":"function () returns (contract MockIdentifierWhitelist)"},"typeName":{"id":64477,"nodeType":"UserDefinedTypeName","pathNode":{"id":64476,"name":"MockIdentifierWhitelist","nameLocations":["5942:23:100"],"nodeType":"IdentifierPath","referencedDeclaration":64210,"src":"5942:23:100"},"referencedDeclaration":64210,"src":"5942:23:100","typeDescriptions":{"typeIdentifier":"t_contract$_MockIdentifierWhitelist_$64210","typeString":"contract MockIdentifierWhitelist"}}},"id":64479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5938:29:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockIdentifierWhitelist_$64210","typeString":"contract MockIdentifierWhitelist"}},"src":"5924:43:100","typeDescriptions":{"typeIdentifier":"t_contract$_MockIdentifierWhitelist_$64210","typeString":"contract MockIdentifierWhitelist"}},"id":64481,"nodeType":"ExpressionStatement","src":"5924:43:100"},{"expression":{"id":64487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64482,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64303,"src":"5977:5:100","typeDescriptions":{"typeIdentifier":"t_contract$_MockStore_$64164","typeString":"contract MockStore"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":64485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"5985:13:100","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockStore_$64164_$","typeString":"function () returns (contract MockStore)"},"typeName":{"id":64484,"nodeType":"UserDefinedTypeName","pathNode":{"id":64483,"name":"MockStore","nameLocations":["5989:9:100"],"nodeType":"IdentifierPath","referencedDeclaration":64164,"src":"5989:9:100"},"referencedDeclaration":64164,"src":"5989:9:100","typeDescriptions":{"typeIdentifier":"t_contract$_MockStore_$64164","typeString":"contract MockStore"}}},"id":64486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5985:15:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockStore_$64164","typeString":"contract MockStore"}},"src":"5977:23:100","typeDescriptions":{"typeIdentifier":"t_contract$_MockStore_$64164","typeString":"contract MockStore"}},"id":64488,"nodeType":"ExpressionStatement","src":"5977:23:100"},{"expression":{"id":64494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64489,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"6029:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":64492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"6040:13:100","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_ERC20Mock_$41747_$","typeString":"function () returns (contract ERC20Mock)"},"typeName":{"id":64491,"nodeType":"UserDefinedTypeName","pathNode":{"id":64490,"name":"ERC20Mock","nameLocations":["6044:9:100"],"nodeType":"IdentifierPath","referencedDeclaration":41747,"src":"6044:9:100"},"referencedDeclaration":41747,"src":"6044:9:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}},"id":64493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6040:15:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}},"src":"6029:26:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}},"id":64495,"nodeType":"ExpressionStatement","src":"6029:26:100"},{"expression":{"id":64501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64496,"name":"otherCurrency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64309,"src":"6065:13:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":64499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"6081:13:100","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_ERC20Mock_$41747_$","typeString":"function () returns (contract ERC20Mock)"},"typeName":{"id":64498,"nodeType":"UserDefinedTypeName","pathNode":{"id":64497,"name":"ERC20Mock","nameLocations":["6085:9:100"],"nodeType":"IdentifierPath","referencedDeclaration":41747,"src":"6085:9:100"},"referencedDeclaration":41747,"src":"6085:9:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}},"id":64500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6081:15:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}},"src":"6065:31:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}},"id":64502,"nodeType":"ExpressionStatement","src":"6065:31:100"},{"expression":{"arguments":[{"arguments":[{"id":64508,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"6236:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}],"id":64507,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6228:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64506,"name":"address","nodeType":"ElementaryTypeName","src":"6228:7:100","typeDescriptions":{}}},"id":64509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6228:17:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64503,"name":"collateralWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64288,"src":"6193:19:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":64505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6213:14:100","memberName":"addToWhitelist","nodeType":"MemberAccess","referencedDeclaration":60405,"src":"6193:34:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6193:53:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64511,"nodeType":"ExpressionStatement","src":"6193:53:100"},{"expression":{"arguments":[{"id":64515,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"6324:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":64512,"name":"idWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64300,"src":"6289:11:100","typeDescriptions":{"typeIdentifier":"t_contract$_MockIdentifierWhitelist_$64210","typeString":"contract MockIdentifierWhitelist"}},"id":64514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6301:22:100","memberName":"addSupportedIdentifier","nodeType":"MemberAccess","referencedDeclaration":64183,"src":"6289:34:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32) external"}},"id":64516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6289:46:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64517,"nodeType":"ExpressionStatement","src":"6289:46:100"},{"expression":{"arguments":[{"expression":{"id":64521,"name":"OracleInterfaces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56958,"src":"6411:16:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OracleInterfaces_$56958_$","typeString":"type(library OracleInterfaces)"}},"id":64522,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6428:19:100","memberName":"CollateralWhitelist","nodeType":"MemberAccess","referencedDeclaration":56930,"src":"6411:36:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":64525,"name":"collateralWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64288,"src":"6457:19:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}],"id":64524,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6449:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64523,"name":"address","nodeType":"ElementaryTypeName","src":"6449:7:100","typeDescriptions":{}}},"id":64526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6449:28:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64518,"name":"finder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64285,"src":"6376:6:100","typeDescriptions":{"typeIdentifier":"t_contract$_FinderInterface_$56983","typeString":"contract FinderInterface"}},"id":64520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6383:27:100","memberName":"changeImplementationAddress","nodeType":"MemberAccess","referencedDeclaration":56974,"src":"6376:34:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address) external"}},"id":64527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6376:102:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64528,"nodeType":"ExpressionStatement","src":"6376:102:100"},{"expression":{"arguments":[{"expression":{"id":64532,"name":"OracleInterfaces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56958,"src":"6523:16:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OracleInterfaces_$56958_$","typeString":"type(library OracleInterfaces)"}},"id":64533,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6540:19:100","memberName":"IdentifierWhitelist","nodeType":"MemberAccess","referencedDeclaration":56918,"src":"6523:36:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":64536,"name":"idWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64300,"src":"6569:11:100","typeDescriptions":{"typeIdentifier":"t_contract$_MockIdentifierWhitelist_$64210","typeString":"contract MockIdentifierWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockIdentifierWhitelist_$64210","typeString":"contract MockIdentifierWhitelist"}],"id":64535,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6561:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64534,"name":"address","nodeType":"ElementaryTypeName","src":"6561:7:100","typeDescriptions":{}}},"id":64537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6561:20:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64529,"name":"finder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64285,"src":"6488:6:100","typeDescriptions":{"typeIdentifier":"t_contract$_FinderInterface_$56983","typeString":"contract FinderInterface"}},"id":64531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6495:27:100","memberName":"changeImplementationAddress","nodeType":"MemberAccess","referencedDeclaration":56974,"src":"6488:34:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address) external"}},"id":64538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6488:94:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64539,"nodeType":"ExpressionStatement","src":"6488:94:100"},{"expression":{"arguments":[{"expression":{"id":64543,"name":"OracleInterfaces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56958,"src":"6627:16:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OracleInterfaces_$56958_$","typeString":"type(library OracleInterfaces)"}},"id":64544,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6644:5:100","memberName":"Store","nodeType":"MemberAccess","referencedDeclaration":56921,"src":"6627:22:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":64547,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64303,"src":"6659:5:100","typeDescriptions":{"typeIdentifier":"t_contract$_MockStore_$64164","typeString":"contract MockStore"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockStore_$64164","typeString":"contract MockStore"}],"id":64546,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6651:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64545,"name":"address","nodeType":"ElementaryTypeName","src":"6651:7:100","typeDescriptions":{}}},"id":64548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6651:14:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64540,"name":"finder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64285,"src":"6592:6:100","typeDescriptions":{"typeIdentifier":"t_contract$_FinderInterface_$56983","typeString":"contract FinderInterface"}},"id":64542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6599:27:100","memberName":"changeImplementationAddress","nodeType":"MemberAccess","referencedDeclaration":56974,"src":"6592:34:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address) external"}},"id":64549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6592:74:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64550,"nodeType":"ExpressionStatement","src":"6592:74:100"},{"expression":{"arguments":[{"arguments":[{"id":64556,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"6743:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}],"id":64555,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6735:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64554,"name":"address","nodeType":"ElementaryTypeName","src":"6735:7:100","typeDescriptions":{}}},"id":64557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6735:17:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3130","id":64558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6754:8:100","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000_by_1","typeString":"int_const 10000000000000000000"}],"expression":{"id":64551,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64303,"src":"6717:5:100","typeDescriptions":{"typeIdentifier":"t_contract$_MockStore_$64164","typeString":"contract MockStore"}},"id":64553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6723:11:100","memberName":"setFinalFee","nodeType":"MemberAccess","referencedDeclaration":64103,"src":"6717:17:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":64559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6717:46:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64560,"nodeType":"ExpressionStatement","src":"6717:46:100"},{"expression":{"arguments":[{"id":64564,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64273,"src":"6882:8:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64561,"name":"defaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64291,"src":"6842:24:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":64563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6867:14:100","memberName":"addToWhitelist","nodeType":"MemberAccess","referencedDeclaration":60405,"src":"6842:39:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6842:49:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64566,"nodeType":"ExpressionStatement","src":"6842:49:100"},{"expression":{"arguments":[{"id":64570,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64277,"src":"6941:6:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64567,"name":"defaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64291,"src":"6901:24:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":64569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6926:14:100","memberName":"addToWhitelist","nodeType":"MemberAccess","referencedDeclaration":60405,"src":"6901:39:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6901:47:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64572,"nodeType":"ExpressionStatement","src":"6901:47:100"},{"expression":{"arguments":[{"id":64576,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"6992:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64573,"name":"requesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64294,"src":"6958:18:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":64575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6977:14:100","memberName":"addToWhitelist","nodeType":"MemberAccess","referencedDeclaration":60405,"src":"6958:33:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6958:44:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64578,"nodeType":"ExpressionStatement","src":"6958:44:100"},{"assignments":[64581],"declarations":[{"constant":false,"id":64581,"mutability":"mutable","name":"impl","nameLocation":"7106:4:100","nodeType":"VariableDeclaration","scope":64690,"src":"7080:30:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"},"typeName":{"id":64580,"nodeType":"UserDefinedTypeName","pathNode":{"id":64579,"name":"ManagedOptimisticOracleV2","nameLocations":["7080:25:100"],"nodeType":"IdentifierPath","referencedDeclaration":61771,"src":"7080:25:100"},"referencedDeclaration":61771,"src":"7080:25:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"visibility":"internal"}],"id":64586,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":64584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"7113:29:100","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_ManagedOptimisticOracleV2_$61771_$","typeString":"function () returns (contract ManagedOptimisticOracleV2)"},"typeName":{"id":64583,"nodeType":"UserDefinedTypeName","pathNode":{"id":64582,"name":"ManagedOptimisticOracleV2","nameLocations":["7117:25:100"],"nodeType":"IdentifierPath","referencedDeclaration":61771,"src":"7117:25:100"},"referencedDeclaration":61771,"src":"7117:25:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}}},"id":64585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7113:31:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"nodeType":"VariableDeclarationStatement","src":"7080:64:100"},{"assignments":[64592],"declarations":[{"constant":false,"id":64592,"mutability":"mutable","name":"ranges","nameLocation":"7208:6:100","nodeType":"VariableDeclaration","scope":64690,"src":"7155:59:100","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange[]"},"typeName":{"baseType":{"id":64590,"nodeType":"UserDefinedTypeName","pathNode":{"id":64589,"name":"ManagedOptimisticOracleV2.CurrencyBondRange","nameLocations":["7155:25:100","7181:17:100"],"nodeType":"IdentifierPath","referencedDeclaration":60877,"src":"7155:43:100"},"referencedDeclaration":60877,"src":"7155:43:100","typeDescriptions":{"typeIdentifier":"t_struct$_CurrencyBondRange_$60877_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange"}},"id":64591,"nodeType":"ArrayTypeName","src":"7155:45:100","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_storage_$dyn_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange[]"}},"visibility":"internal"}],"id":64599,"initialValue":{"arguments":[{"hexValue":"31","id":64597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7279:1:100","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":64596,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7229:49:100","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory)"},"typeName":{"baseType":{"id":64594,"nodeType":"UserDefinedTypeName","pathNode":{"id":64593,"name":"ManagedOptimisticOracleV2.CurrencyBondRange","nameLocations":["7233:25:100","7259:17:100"],"nodeType":"IdentifierPath","referencedDeclaration":60877,"src":"7233:43:100"},"referencedDeclaration":60877,"src":"7233:43:100","typeDescriptions":{"typeIdentifier":"t_struct$_CurrencyBondRange_$60877_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange"}},"id":64595,"nodeType":"ArrayTypeName","src":"7233:45:100","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_storage_$dyn_storage_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange[]"}}},"id":64598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7229:52:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7155:126:100"},{"expression":{"id":64623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64600,"name":"ranges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64592,"src":"7291:6:100","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory"}},"id":64602,"indexExpression":{"hexValue":"30","id":64601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7298:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7291:9:100","typeDescriptions":{"typeIdentifier":"t_struct$_CurrencyBondRange_$60877_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":64608,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"7386:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}],"id":64607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7378:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64606,"name":"address","nodeType":"ElementaryTypeName","src":"7378:7:100","typeDescriptions":{}}},"id":64609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7378:17:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64605,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"7371:6:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$43048_$","typeString":"type(contract IERC20)"}},"id":64610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7371:25:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"arguments":[{"arguments":[{"hexValue":"31","id":64615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7475:7:100","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}],"id":64614,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7467:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":64613,"name":"uint128","nodeType":"ElementaryTypeName","src":"7467:7:100","typeDescriptions":{}}},"id":64616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7467:16:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},{"arguments":[{"hexValue":"315f303030","id":64619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7506:11:100","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"},"value":"1_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"}],"id":64618,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7498:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":64617,"name":"uint128","nodeType":"ElementaryTypeName","src":"7498:7:100","typeDescriptions":{}}},"id":64620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7498:20:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint128","typeString":"uint128"},{"typeIdentifier":"t_uint128","typeString":"uint128"}],"expression":{"id":64611,"name":"ManagedOptimisticOracleV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61771,"src":"7417:25:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2_$61771_$","typeString":"type(contract ManagedOptimisticOracleV2)"}},"id":64612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7443:9:100","memberName":"BondRange","nodeType":"MemberAccess","referencedDeclaration":60870,"src":"7417:35:100","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_BondRange_$60870_storage_ptr_$","typeString":"type(struct ManagedOptimisticOracleV2.BondRange storage pointer)"}},"id":64621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["7454:11:100","7485:11:100"],"names":["minimumBond","maximumBond"],"nodeType":"FunctionCall","src":"7417:103:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_struct$_BondRange_$60870_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange memory"}],"expression":{"id":64603,"name":"ManagedOptimisticOracleV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61771,"src":"7303:25:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2_$61771_$","typeString":"type(contract ManagedOptimisticOracleV2)"}},"id":64604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7329:17:100","memberName":"CurrencyBondRange","nodeType":"MemberAccess","referencedDeclaration":60877,"src":"7303:43:100","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CurrencyBondRange_$60877_storage_ptr_$","typeString":"type(struct ManagedOptimisticOracleV2.CurrencyBondRange storage pointer)"}},"id":64622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["7361:8:100","7410:5:100"],"names":["currency","range"],"nodeType":"FunctionCall","src":"7303:228:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CurrencyBondRange_$60877_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory"}},"src":"7291:240:100","typeDescriptions":{"typeIdentifier":"t_struct$_CurrencyBondRange_$60877_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory"}},"id":64624,"nodeType":"ExpressionStatement","src":"7291:240:100"},{"assignments":[64626],"declarations":[{"constant":false,"id":64626,"mutability":"mutable","name":"initData","nameLocation":"7555:8:100","nodeType":"VariableDeclaration","scope":64690,"src":"7542:21:100","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64625,"name":"bytes","nodeType":"ElementaryTypeName","src":"7542:5:100","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64650,"initialValue":{"arguments":[{"expression":{"expression":{"id":64629,"name":"ManagedOptimisticOracleV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61771,"src":"7602:25:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2_$61771_$","typeString":"type(contract ManagedOptimisticOracleV2)"}},"id":64630,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7628:10:100","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":61014,"src":"7602:36:100","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_array$_t_struct$_CurrencyBondRange_$60877_calldata_ptr_$dyn_calldata_ptr_$_t_uint256_$_t_address_$_t_address_$returns$__$","typeString":"function ManagedOptimisticOracleV2.initialize(uint256,address,address,address,struct ManagedOptimisticOracleV2.CurrencyBondRange calldata[] calldata,uint256,address,address)"}},"id":64631,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7639:8:100","memberName":"selector","nodeType":"MemberAccess","src":"7602:45:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"32","id":64632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7661:6:100","subdenomination":"days","typeDescriptions":{"typeIdentifier":"t_rational_172800_by_1","typeString":"int_const 172800"},"value":"2"},{"arguments":[{"id":64635,"name":"finder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64285,"src":"7689:6:100","typeDescriptions":{"typeIdentifier":"t_contract$_FinderInterface_$56983","typeString":"contract FinderInterface"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_FinderInterface_$56983","typeString":"contract FinderInterface"}],"id":64634,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7681:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64633,"name":"address","nodeType":"ElementaryTypeName","src":"7681:7:100","typeDescriptions":{}}},"id":64636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7681:15:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":64639,"name":"defaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64291,"src":"7718:24:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}],"id":64638,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7710:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64637,"name":"address","nodeType":"ElementaryTypeName","src":"7710:7:100","typeDescriptions":{}}},"id":64640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7710:33:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":64643,"name":"requesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64294,"src":"7765:18:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}],"id":64642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7757:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64641,"name":"address","nodeType":"ElementaryTypeName","src":"7757:7:100","typeDescriptions":{}}},"id":64644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7757:27:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64645,"name":"ranges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64592,"src":"7798:6:100","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory"}},{"hexValue":"31","id":64646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7818:7:100","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},"value":"1"},{"id":64647,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64263,"src":"7839:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64648,"name":"upgradeAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64265,"src":"7864:12:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_172800_by_1","typeString":"int_const 172800"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_CurrencyBondRange_$60877_memory_ptr_$dyn_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.CurrencyBondRange memory[] memory"},{"typeIdentifier":"t_rational_3600_by_1","typeString":"int_const 3600"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64627,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7566:3:100","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64628,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7570:18:100","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"7566:22:100","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":64649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7566:320:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7542:344:100"},{"assignments":[64653],"declarations":[{"constant":false,"id":64653,"mutability":"mutable","name":"proxy","nameLocation":"7909:5:100","nodeType":"VariableDeclaration","scope":64690,"src":"7896:18:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$41785","typeString":"contract ERC1967Proxy"},"typeName":{"id":64652,"nodeType":"UserDefinedTypeName","pathNode":{"id":64651,"name":"ERC1967Proxy","nameLocations":["7896:12:100"],"nodeType":"IdentifierPath","referencedDeclaration":41785,"src":"7896:12:100"},"referencedDeclaration":41785,"src":"7896:12:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$41785","typeString":"contract ERC1967Proxy"}},"visibility":"internal"}],"id":64663,"initialValue":{"arguments":[{"arguments":[{"id":64659,"name":"impl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64581,"src":"7942:4:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}],"id":64658,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7934:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64657,"name":"address","nodeType":"ElementaryTypeName","src":"7934:7:100","typeDescriptions":{}}},"id":64660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7934:13:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64661,"name":"initData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64626,"src":"7949:8:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":64656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"7917:16:100","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$41785_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":64655,"nodeType":"UserDefinedTypeName","pathNode":{"id":64654,"name":"ERC1967Proxy","nameLocations":["7921:12:100"],"nodeType":"IdentifierPath","referencedDeclaration":41785,"src":"7921:12:100"},"referencedDeclaration":41785,"src":"7921:12:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$41785","typeString":"contract ERC1967Proxy"}}},"id":64662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7917:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$41785","typeString":"contract ERC1967Proxy"}},"nodeType":"VariableDeclarationStatement","src":"7896:62:100"},{"expression":{"id":64671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64664,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"7968:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":64668,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64653,"src":"8008:5:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$41785","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$41785","typeString":"contract ERC1967Proxy"}],"id":64667,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8000:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64666,"name":"address","nodeType":"ElementaryTypeName","src":"8000:7:100","typeDescriptions":{}}},"id":64669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8000:14:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64665,"name":"ManagedOptimisticOracleV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61771,"src":"7974:25:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2_$61771_$","typeString":"type(contract ManagedOptimisticOracleV2)"}},"id":64670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7974:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"src":"7968:47:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":64672,"nodeType":"ExpressionStatement","src":"7968:47:100"},{"expression":{"arguments":[{"id":64676,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64263,"src":"8073:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64673,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"8059:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":64675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8062:10:100","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":17486,"src":"8059:13:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8059:26:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64678,"nodeType":"ExpressionStatement","src":"8059:26:100"},{"expression":{"arguments":[{"id":64682,"name":"requestManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64267,"src":"8117:14:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64679,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"8095:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":64681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8099:17:100","memberName":"addRequestManager","nodeType":"MemberAccess","referencedDeclaration":61046,"src":"8095:21:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8095:37:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64684,"nodeType":"ExpressionStatement","src":"8095:37:100"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64685,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"8142:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":64687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8145:9:100","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":17530,"src":"8142:12:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8142:14:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64689,"nodeType":"ExpressionStatement","src":"8142:14:100"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"4737:5:100","parameters":{"id":64321,"nodeType":"ParameterList","parameters":[],"src":"4742:2:100"},"returnParameters":{"id":64322,"nodeType":"ParameterList","parameters":[],"src":"4752:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":64756,"nodeType":"FunctionDefinition","src":"8169:437:100","nodes":[],"body":{"id":64755,"nodeType":"Block","src":"8304:302:100","nodes":[],"statements":[{"expression":{"arguments":[{"id":64705,"name":"_requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64693,"src":"8323:10:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64702,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"8314:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":64704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8317:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"8314:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8314:20:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64707,"nodeType":"ExpressionStatement","src":"8314:20:100"},{"expression":{"arguments":[{"id":64711,"name":"_requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64693,"src":"8358:10:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64712,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64697,"src":"8370:6:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64708,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"8344:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}},"id":64710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8353:4:100","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":41733,"src":"8344:13:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":64713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8344:33:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64714,"nodeType":"ExpressionStatement","src":"8344:33:100"},{"expression":{"arguments":[{"id":64718,"name":"_requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64693,"src":"8396:10:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64715,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"8387:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":64717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8390:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"8387:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8387:20:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64720,"nodeType":"ExpressionStatement","src":"8387:20:100"},{"expression":{"arguments":[{"arguments":[{"id":64726,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"8442:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}],"id":64725,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8434:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64724,"name":"address","nodeType":"ElementaryTypeName","src":"8434:7:100","typeDescriptions":{}}},"id":64727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8434:12:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"arguments":[{"id":64730,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8453:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64729,"name":"uint256","nodeType":"ElementaryTypeName","src":"8453:7:100","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":64728,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8448:4:100","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":64731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8448:13:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":64732,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8462:3:100","memberName":"max","nodeType":"MemberAccess","src":"8448:17:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64721,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"8417:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}},"id":64723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8426:7:100","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":42621,"src":"8417:16:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":64733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8417:49:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64734,"nodeType":"ExpressionStatement","src":"8417:49:100"},{"expression":{"arguments":[{"id":64738,"name":"_requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64693,"src":"8485:10:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64735,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"8476:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":64737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8479:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"8476:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8476:20:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64740,"nodeType":"ExpressionStatement","src":"8476:20:100"},{"expression":{"arguments":[{"id":64743,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"8530:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":64744,"name":"_timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64695,"src":"8542:10:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64745,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"8554:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"arguments":[{"id":64749,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"8580:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}],"id":64748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8572:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64747,"name":"address","nodeType":"ElementaryTypeName","src":"8572:7:100","typeDescriptions":{}}},"id":64750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8572:17:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64746,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"8565:6:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$43048_$","typeString":"type(contract IERC20)"}},"id":64751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8565:25:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"id":64752,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64697,"src":"8592:6:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64741,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"8513:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":64742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8517:12:100","memberName":"requestPrice","nodeType":"MemberAccess","referencedDeclaration":61163,"src":"8513:16:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$_t_contract$_IERC20_$43048_$_t_uint256_$returns$_t_uint256_$","typeString":"function (bytes32,uint256,bytes memory,contract IERC20,uint256) external returns (uint256)"}},"id":64753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8513:86:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":64701,"id":64754,"nodeType":"Return","src":"8506:93:100"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_makeRequest","nameLocation":"8178:12:100","parameters":{"id":64698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64693,"mutability":"mutable","name":"_requester","nameLocation":"8199:10:100","nodeType":"VariableDeclaration","scope":64756,"src":"8191:18:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64692,"name":"address","nodeType":"ElementaryTypeName","src":"8191:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64695,"mutability":"mutable","name":"_timestamp","nameLocation":"8219:10:100","nodeType":"VariableDeclaration","scope":64756,"src":"8211:18:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64694,"name":"uint256","nodeType":"ElementaryTypeName","src":"8211:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64697,"mutability":"mutable","name":"reward","nameLocation":"8239:6:100","nodeType":"VariableDeclaration","scope":64756,"src":"8231:14:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64696,"name":"uint256","nodeType":"ElementaryTypeName","src":"8231:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8190:56:100"},"returnParameters":{"id":64701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64700,"mutability":"mutable","name":"totalBond","nameLocation":"8289:9:100","nodeType":"VariableDeclaration","scope":64756,"src":"8281:17:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64699,"name":"uint256","nodeType":"ElementaryTypeName","src":"8281:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8280:19:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":64821,"nodeType":"FunctionDefinition","src":"8612:536:100","nodes":[],"body":{"id":64820,"nodeType":"Block","src":"8774:374:100","nodes":[],"statements":[{"expression":{"arguments":[{"id":64774,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64758,"src":"8860:10:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64771,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"8851:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":64773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8854:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"8851:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8851:20:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64776,"nodeType":"ExpressionStatement","src":"8851:20:100"},{"expression":{"arguments":[{"id":64780,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64758,"src":"8895:10:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31305f303030","id":64781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8907:12:100","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000000_by_1","typeString":"int_const 10000000000000000000000"},"value":"10_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000000_by_1","typeString":"int_const 10000000000000000000000"}],"expression":{"id":64777,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"8881:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}},"id":64779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8890:4:100","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":41733,"src":"8881:13:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":64782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8881:39:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64783,"nodeType":"ExpressionStatement","src":"8881:39:100"},{"expression":{"arguments":[{"id":64787,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64758,"src":"8939:10:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64784,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"8930:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":64786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8933:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"8930:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8930:20:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64789,"nodeType":"ExpressionStatement","src":"8930:20:100"},{"expression":{"arguments":[{"arguments":[{"id":64795,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"8985:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}],"id":64794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8977:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64793,"name":"address","nodeType":"ElementaryTypeName","src":"8977:7:100","typeDescriptions":{}}},"id":64796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8977:12:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"arguments":[{"id":64799,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8996:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64798,"name":"uint256","nodeType":"ElementaryTypeName","src":"8996:7:100","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":64797,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8991:4:100","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":64800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8991:13:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":64801,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9005:3:100","memberName":"max","nodeType":"MemberAccess","src":"8991:17:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64790,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"8960:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}},"id":64792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8969:7:100","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":42621,"src":"8960:16:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":64802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8960:49:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64803,"nodeType":"ExpressionStatement","src":"8960:49:100"},{"expression":{"arguments":[{"id":64807,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64758,"src":"9028:10:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64804,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"9019:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":64806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9022:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"9019:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9019:20:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64809,"nodeType":"ExpressionStatement","src":"9019:20:100"},{"expression":{"arguments":[{"id":64812,"name":"_proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64760,"src":"9076:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64813,"name":"_requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64762,"src":"9087:10:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64814,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"9099:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":64815,"name":"_timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64764,"src":"9111:10:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64816,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"9123:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":64817,"name":"_price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64766,"src":"9134:6:100","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":64810,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"9056:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":64811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9060:15:100","memberName":"proposePriceFor","nodeType":"MemberAccess","referencedDeclaration":61443,"src":"9056:19:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$_t_int256_$returns$_t_uint256_$","typeString":"function (address,address,bytes32,uint256,bytes memory,int256) external returns (uint256)"}},"id":64818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9056:85:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":64770,"id":64819,"nodeType":"Return","src":"9049:92:100"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_proposeFor","nameLocation":"8621:11:100","parameters":{"id":64767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64758,"mutability":"mutable","name":"_msgSender","nameLocation":"8641:10:100","nodeType":"VariableDeclaration","scope":64821,"src":"8633:18:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64757,"name":"address","nodeType":"ElementaryTypeName","src":"8633:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64760,"mutability":"mutable","name":"_proposer","nameLocation":"8661:9:100","nodeType":"VariableDeclaration","scope":64821,"src":"8653:17:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64759,"name":"address","nodeType":"ElementaryTypeName","src":"8653:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64762,"mutability":"mutable","name":"_requester","nameLocation":"8680:10:100","nodeType":"VariableDeclaration","scope":64821,"src":"8672:18:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64761,"name":"address","nodeType":"ElementaryTypeName","src":"8672:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64764,"mutability":"mutable","name":"_timestamp","nameLocation":"8700:10:100","nodeType":"VariableDeclaration","scope":64821,"src":"8692:18:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64763,"name":"uint256","nodeType":"ElementaryTypeName","src":"8692:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64766,"mutability":"mutable","name":"_price","nameLocation":"8719:6:100","nodeType":"VariableDeclaration","scope":64821,"src":"8712:13:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":64765,"name":"int256","nodeType":"ElementaryTypeName","src":"8712:6:100","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"8632:94:100"},"returnParameters":{"id":64770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64769,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64821,"src":"8761:7:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64768,"name":"uint256","nodeType":"ElementaryTypeName","src":"8761:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8760:9:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":64860,"nodeType":"FunctionDefinition","src":"9154:227:100","nodes":[],"body":{"id":64859,"nodeType":"Block","src":"9206:175:100","nodes":[],"statements":[{"expression":{"arguments":[{"id":64829,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64823,"src":"9225:10:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64826,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"9216:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":64828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9219:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"9216:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9216:20:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64831,"nodeType":"ExpressionStatement","src":"9216:20:100"},{"expression":{"arguments":[{"id":64835,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64823,"src":"9260:10:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31305f303030","id":64836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9272:12:100","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000000_by_1","typeString":"int_const 10000000000000000000000"},"value":"10_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000000000000000000000_by_1","typeString":"int_const 10000000000000000000000"}],"expression":{"id":64832,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"9246:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}},"id":64834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9255:4:100","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":41733,"src":"9246:13:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":64837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9246:39:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64838,"nodeType":"ExpressionStatement","src":"9246:39:100"},{"expression":{"arguments":[{"id":64842,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64823,"src":"9304:10:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64839,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"9295:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":64841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9298:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"9295:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9295:20:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64844,"nodeType":"ExpressionStatement","src":"9295:20:100"},{"expression":{"arguments":[{"arguments":[{"id":64850,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"9350:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}],"id":64849,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9342:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64848,"name":"address","nodeType":"ElementaryTypeName","src":"9342:7:100","typeDescriptions":{}}},"id":64851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9342:12:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"arguments":[{"id":64854,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9361:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64853,"name":"uint256","nodeType":"ElementaryTypeName","src":"9361:7:100","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":64852,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9356:4:100","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":64855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9356:13:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":64856,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9370:3:100","memberName":"max","nodeType":"MemberAccess","src":"9356:17:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64845,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"9325:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}},"id":64847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9334:7:100","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":42621,"src":"9325:16:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":64857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9325:49:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64858,"nodeType":"ExpressionStatement","src":"9325:49:100"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_prepareFunds","nameLocation":"9163:13:100","parameters":{"id":64824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64823,"mutability":"mutable","name":"_msgSender","nameLocation":"9185:10:100","nodeType":"VariableDeclaration","scope":64860,"src":"9177:18:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64822,"name":"address","nodeType":"ElementaryTypeName","src":"9177:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9176:20:100"},"returnParameters":{"id":64825,"nodeType":"ParameterList","parameters":[],"src":"9206:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":64940,"nodeType":"FunctionDefinition","src":"9460:890:100","nodes":[],"body":{"id":64939,"nodeType":"Block","src":"9504:846:100","nodes":[],"statements":[{"assignments":[64867,64869],"declarations":[{"constant":false,"id":64867,"mutability":"mutable","name":"list","nameLocation":"9570:4:100","nodeType":"VariableDeclaration","scope":64939,"src":"9553:21:100","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":64865,"name":"address","nodeType":"ElementaryTypeName","src":"9553:7:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64866,"nodeType":"ArrayTypeName","src":"9553:9:100","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":64869,"mutability":"mutable","name":"enabled","nameLocation":"9581:7:100","nodeType":"VariableDeclaration","scope":64939,"src":"9576:12:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64868,"name":"bool","nodeType":"ElementaryTypeName","src":"9576:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":64876,"initialValue":{"arguments":[{"id":64872,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"9646:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64873,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"9657:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":64874,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"9669:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64870,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"9604:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":64871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9608:37:100","memberName":"getProposerWhitelistWithEnabledStatus","nodeType":"MemberAccess","referencedDeclaration":61502,"src":"9604:41:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_bool_$","typeString":"function (address,bytes32,bytes memory) view external returns (address[] memory,bool)"}},"id":64875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9604:75:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_bool_$","typeString":"tuple(address[] memory,bool)"}},"nodeType":"VariableDeclarationStatement","src":"9552:127:100"},{"expression":{"arguments":[{"id":64878,"name":"enabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64869,"src":"9700:7:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":64877,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[313,328],"referencedDeclaration":313,"src":"9689:10:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":64879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9689:19:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64880,"nodeType":"ExpressionStatement","src":"9689:19:100"},{"expression":{"arguments":[{"expression":{"id":64882,"name":"list","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64867,"src":"9727:4:100","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":64883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9732:6:100","memberName":"length","nodeType":"MemberAccess","src":"9727:11:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"32","id":64884,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9740:1:100","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":64881,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":403,"src":"9718:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":64885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9718:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64886,"nodeType":"ExpressionStatement","src":"9718:24:100"},{"expression":{"arguments":[{"expression":{"expression":{"id":64890,"name":"ManagedOptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63637,"src":"9809:34:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2Interface_$63637_$","typeString":"type(contract ManagedOptimisticOracleV2Interface)"}},"id":64891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9844:23:100","memberName":"RequesterNotWhitelisted","nodeType":"MemberAccess","referencedDeclaration":63552,"src":"9809:58:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":64892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9868:8:100","memberName":"selector","nodeType":"MemberAccess","src":"9809:67:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":64887,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"9793:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":64889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9796:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17884,"src":"9793:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":64893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9793:84:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64894,"nodeType":"ExpressionStatement","src":"9793:84:100"},{"expression":{"arguments":[{"id":64898,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"9904:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":64899,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9916:5:100","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":64900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9922:9:100","memberName":"timestamp","nodeType":"MemberAccess","src":"9916:15:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64901,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"9933:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"arguments":[{"id":64905,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"9959:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}],"id":64904,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9951:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64903,"name":"address","nodeType":"ElementaryTypeName","src":"9951:7:100","typeDescriptions":{}}},"id":64906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9951:17:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64902,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"9944:6:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$43048_$","typeString":"type(contract IERC20)"}},"id":64907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9944:25:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"hexValue":"30","id":64908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9971:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":64895,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"9887:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":64897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9891:12:100","memberName":"requestPrice","nodeType":"MemberAccess","referencedDeclaration":61163,"src":"9887:16:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$_t_contract$_IERC20_$43048_$_t_uint256_$returns$_t_uint256_$","typeString":"function (bytes32,uint256,bytes memory,contract IERC20,uint256) external returns (uint256)"}},"id":64909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9887:86:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64910,"nodeType":"ExpressionStatement","src":"9887:86:100"},{"assignments":[64912],"declarations":[{"constant":false,"id":64912,"mutability":"mutable","name":"CONFIG_ADMIN_ROLE","nameLocation":"10028:17:100","nodeType":"VariableDeclaration","scope":64939,"src":"10020:25:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64911,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10020:7:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":64916,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64913,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"10048:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":64914,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10052:17:100","memberName":"CONFIG_ADMIN_ROLE","nodeType":"MemberAccess","referencedDeclaration":60892,"src":"10048:21:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":64915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10048:23:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"10020:51:100"},{"assignments":[64918],"declarations":[{"constant":false,"id":64918,"mutability":"mutable","name":"REQUEST_MANAGER_ROLE","nameLocation":"10089:20:100","nodeType":"VariableDeclaration","scope":64939,"src":"10081:28:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64917,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10081:7:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":64922,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64919,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"10112:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":64920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10116:20:100","memberName":"REQUEST_MANAGER_ROLE","nodeType":"MemberAccess","referencedDeclaration":60897,"src":"10112:24:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":64921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10112:26:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"10081:57:100"},{"expression":{"arguments":[{"arguments":[{"id":64926,"name":"CONFIG_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64912,"src":"10171:17:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":64927,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64263,"src":"10190:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64924,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"10159:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":64925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10163:7:100","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":39478,"src":"10159:11:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":64928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10159:43:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":64923,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[313,328],"referencedDeclaration":313,"src":"10148:10:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":64929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10148:55:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64930,"nodeType":"ExpressionStatement","src":"10148:55:100"},{"expression":{"arguments":[{"arguments":[{"id":64934,"name":"REQUEST_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64918,"src":"10302:20:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":64932,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"10285:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":64933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10289:12:100","memberName":"getRoleAdmin","nodeType":"MemberAccess","referencedDeclaration":39533,"src":"10285:16:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view external returns (bytes32)"}},"id":64935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10285:38:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":64936,"name":"CONFIG_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64912,"src":"10325:17:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":64931,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":580,"src":"10276:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":64937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10276:67:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64938,"nodeType":"ExpressionStatement","src":"10276:67:100"}]},"functionSelector":"b8fcbfd2","implemented":true,"kind":"function","modifiers":[],"name":"testInitializeSetsState","nameLocation":"9469:23:100","parameters":{"id":64861,"nodeType":"ParameterList","parameters":[],"src":"9492:2:100"},"returnParameters":{"id":64862,"nodeType":"ParameterList","parameters":[],"src":"9504:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65056,"nodeType":"FunctionDefinition","src":"10356:1356:100","nodes":[],"body":{"id":65055,"nodeType":"Block","src":"10403:1309:100","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":64948,"name":"IAccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41191,"src":"10536:14:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IAccessControl_$41191_$","typeString":"type(contract IAccessControl)"}},"id":64949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10551:32:100","memberName":"AccessControlUnauthorizedAccount","nodeType":"MemberAccess","referencedDeclaration":41118,"src":"10536:47:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_bytes32_$returns$_t_error_$","typeString":"function (address,bytes32) pure returns (error)"}},"id":64950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10584:8:100","memberName":"selector","nodeType":"MemberAccess","src":"10536:56:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":64953,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10602:4:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2Test_$66846","typeString":"contract ManagedOptimisticOracleV2Test"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2Test_$66846","typeString":"contract ManagedOptimisticOracleV2Test"}],"id":64952,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10594:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64951,"name":"address","nodeType":"ElementaryTypeName","src":"10594:7:100","typeDescriptions":{}}},"id":64954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10594:13:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64955,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"10609:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":64956,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10613:17:100","memberName":"CONFIG_ADMIN_ROLE","nodeType":"MemberAccess","referencedDeclaration":60892,"src":"10609:21:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":64957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10609:23:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":64946,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10496:3:100","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64947,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10500:18:100","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"10496:22:100","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":64958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10496:150:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64943,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"10467:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":64945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10470:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17910,"src":"10467:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":64959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10467:189:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64960,"nodeType":"ExpressionStatement","src":"10467:189:100"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":64967,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"10705:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}],"id":64966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10697:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64965,"name":"address","nodeType":"ElementaryTypeName","src":"10697:7:100","typeDescriptions":{}}},"id":64968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10697:17:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64964,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"10690:6:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$43048_$","typeString":"type(contract IERC20)"}},"id":64969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10690:25:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"arguments":[{"hexValue":"31","id":64972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10753:1:100","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"32","id":64973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10756:1:100","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"expression":{"id":64970,"name":"ManagedOptimisticOracleV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61771,"src":"10717:25:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2_$61771_$","typeString":"type(contract ManagedOptimisticOracleV2)"}},"id":64971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10743:9:100","memberName":"BondRange","nodeType":"MemberAccess","referencedDeclaration":60870,"src":"10717:35:100","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_BondRange_$60870_storage_ptr_$","typeString":"type(struct ManagedOptimisticOracleV2.BondRange storage pointer)"}},"id":64974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10717:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_struct$_BondRange_$60870_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange memory"}],"expression":{"id":64961,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"10666:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":64963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10670:19:100","memberName":"setAllowedBondRange","nodeType":"MemberAccess","referencedDeclaration":61080,"src":"10666:23:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_contract$_IERC20_$43048_$_t_struct$_BondRange_$60870_memory_ptr_$returns$__$","typeString":"function (contract IERC20,struct ManagedOptimisticOracleV2.BondRange memory) external"}},"id":64975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10666:93:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64976,"nodeType":"ExpressionStatement","src":"10666:93:100"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":64982,"name":"IAccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41191,"src":"10892:14:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IAccessControl_$41191_$","typeString":"type(contract IAccessControl)"}},"id":64983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10907:32:100","memberName":"AccessControlUnauthorizedAccount","nodeType":"MemberAccess","referencedDeclaration":41118,"src":"10892:47:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_bytes32_$returns$_t_error_$","typeString":"function (address,bytes32) pure returns (error)"}},"id":64984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10940:8:100","memberName":"selector","nodeType":"MemberAccess","src":"10892:56:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":64987,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10958:4:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2Test_$66846","typeString":"contract ManagedOptimisticOracleV2Test"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2Test_$66846","typeString":"contract ManagedOptimisticOracleV2Test"}],"id":64986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10950:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64985,"name":"address","nodeType":"ElementaryTypeName","src":"10950:7:100","typeDescriptions":{}}},"id":64988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10950:13:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64989,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"10965:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":64990,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10969:17:100","memberName":"CONFIG_ADMIN_ROLE","nodeType":"MemberAccess","referencedDeclaration":60892,"src":"10965:21:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":64991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10965:23:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":64980,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10852:3:100","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64981,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10856:18:100","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"10852:22:100","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":64992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10852:150:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":64977,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"10823:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":64979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10826:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17910,"src":"10823:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":64993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10823:189:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64994,"nodeType":"ExpressionStatement","src":"10823:189:100"},{"expression":{"arguments":[{"hexValue":"31","id":64998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11045:1:100","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64995,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"11022:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":64997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11026:18:100","memberName":"setMinimumLiveness","nodeType":"MemberAccess","referencedDeclaration":61095,"src":"11022:22:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":64999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11022:25:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65000,"nodeType":"ExpressionStatement","src":"11022:25:100"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":65006,"name":"IAccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41191,"src":"11189:14:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IAccessControl_$41191_$","typeString":"type(contract IAccessControl)"}},"id":65007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11204:32:100","memberName":"AccessControlUnauthorizedAccount","nodeType":"MemberAccess","referencedDeclaration":41118,"src":"11189:47:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_bytes32_$returns$_t_error_$","typeString":"function (address,bytes32) pure returns (error)"}},"id":65008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11237:8:100","memberName":"selector","nodeType":"MemberAccess","src":"11189:56:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":65011,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11255:4:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2Test_$66846","typeString":"contract ManagedOptimisticOracleV2Test"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2Test_$66846","typeString":"contract ManagedOptimisticOracleV2Test"}],"id":65010,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11247:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65009,"name":"address","nodeType":"ElementaryTypeName","src":"11247:7:100","typeDescriptions":{}}},"id":65012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11247:13:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65013,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"11262:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65014,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11266:17:100","memberName":"CONFIG_ADMIN_ROLE","nodeType":"MemberAccess","referencedDeclaration":60892,"src":"11262:21:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":65015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11262:23:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":65004,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11149:3:100","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65005,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11153:18:100","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"11149:22:100","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11149:150:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65001,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"11120:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11123:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17910,"src":"11120:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":65017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11120:189:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65018,"nodeType":"ExpressionStatement","src":"11120:189:100"},{"expression":{"arguments":[{"arguments":[{"id":65024,"name":"defaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64291,"src":"11359:24:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}],"id":65023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11351:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65022,"name":"address","nodeType":"ElementaryTypeName","src":"11351:7:100","typeDescriptions":{}}},"id":65025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11351:33:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65019,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"11319:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11323:27:100","memberName":"setDefaultProposerWhitelist","nodeType":"MemberAccess","referencedDeclaration":61110,"src":"11319:31:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11319:66:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65027,"nodeType":"ExpressionStatement","src":"11319:66:100"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":65033,"name":"IAccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41191,"src":"11521:14:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IAccessControl_$41191_$","typeString":"type(contract IAccessControl)"}},"id":65034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11536:32:100","memberName":"AccessControlUnauthorizedAccount","nodeType":"MemberAccess","referencedDeclaration":41118,"src":"11521:47:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_bytes32_$returns$_t_error_$","typeString":"function (address,bytes32) pure returns (error)"}},"id":65035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11569:8:100","memberName":"selector","nodeType":"MemberAccess","src":"11521:56:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":65038,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11587:4:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2Test_$66846","typeString":"contract ManagedOptimisticOracleV2Test"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2Test_$66846","typeString":"contract ManagedOptimisticOracleV2Test"}],"id":65037,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11579:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65036,"name":"address","nodeType":"ElementaryTypeName","src":"11579:7:100","typeDescriptions":{}}},"id":65039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11579:13:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65040,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"11594:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65041,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11598:17:100","memberName":"CONFIG_ADMIN_ROLE","nodeType":"MemberAccess","referencedDeclaration":60892,"src":"11594:21:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":65042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11594:23:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":65031,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11481:3:100","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11485:18:100","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"11481:22:100","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11481:150:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65028,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"11452:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11455:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17910,"src":"11452:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":65044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11452:189:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65045,"nodeType":"ExpressionStatement","src":"11452:189:100"},{"expression":{"arguments":[{"arguments":[{"id":65051,"name":"requesterWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64294,"src":"11685:18:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}],"id":65050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11677:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65049,"name":"address","nodeType":"ElementaryTypeName","src":"11677:7:100","typeDescriptions":{}}},"id":65052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11677:27:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65046,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"11651:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11655:21:100","memberName":"setRequesterWhitelist","nodeType":"MemberAccess","referencedDeclaration":61125,"src":"11651:25:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11651:54:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65054,"nodeType":"ExpressionStatement","src":"11651:54:100"}]},"functionSelector":"f15b40ec","implemented":true,"kind":"function","modifiers":[],"name":"testOnlyConfigAdminSetters","nameLocation":"10365:26:100","parameters":{"id":64941,"nodeType":"ParameterList","parameters":[],"src":"10391:2:100"},"returnParameters":{"id":64942,"nodeType":"ParameterList","parameters":[],"src":"10403:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65181,"nodeType":"FunctionDefinition","src":"11718:1089:100","nodes":[],"body":{"id":65180,"nodeType":"Block","src":"11769:1038:100","nodes":[],"statements":[{"assignments":[65060],"declarations":[{"constant":false,"id":65060,"mutability":"mutable","name":"REQUEST_MANAGER_ROLE","nameLocation":"11787:20:100","nodeType":"VariableDeclaration","scope":65180,"src":"11779:28:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":65059,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11779:7:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":65064,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65061,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"11810:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65062,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11814:20:100","memberName":"REQUEST_MANAGER_ROLE","nodeType":"MemberAccess","referencedDeclaration":60897,"src":"11810:24:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":65063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11810:26:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"11779:57:100"},{"assignments":[65066],"declarations":[{"constant":false,"id":65066,"mutability":"mutable","name":"newMgr","nameLocation":"11895:6:100","nodeType":"VariableDeclaration","scope":65180,"src":"11887:14:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65065,"name":"address","nodeType":"ElementaryTypeName","src":"11887:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":65071,"initialValue":{"arguments":[{"hexValue":"307831323334","id":65069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11912:6:100","typeDescriptions":{"typeIdentifier":"t_rational_4660_by_1","typeString":"int_const 4660"},"value":"0x1234"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4660_by_1","typeString":"int_const 4660"}],"id":65068,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11904:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65067,"name":"address","nodeType":"ElementaryTypeName","src":"11904:7:100","typeDescriptions":{}}},"id":65070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11904:15:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"11887:32:100"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":65077,"name":"IAccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41191,"src":"11998:14:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IAccessControl_$41191_$","typeString":"type(contract IAccessControl)"}},"id":65078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12013:32:100","memberName":"AccessControlUnauthorizedAccount","nodeType":"MemberAccess","referencedDeclaration":41118,"src":"11998:47:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_bytes32_$returns$_t_error_$","typeString":"function (address,bytes32) pure returns (error)"}},"id":65079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12046:8:100","memberName":"selector","nodeType":"MemberAccess","src":"11998:56:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":65082,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12064:4:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2Test_$66846","typeString":"contract ManagedOptimisticOracleV2Test"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2Test_$66846","typeString":"contract ManagedOptimisticOracleV2Test"}],"id":65081,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12056:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65080,"name":"address","nodeType":"ElementaryTypeName","src":"12056:7:100","typeDescriptions":{}}},"id":65083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12056:13:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65084,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"12071:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65085,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12075:17:100","memberName":"CONFIG_ADMIN_ROLE","nodeType":"MemberAccess","referencedDeclaration":60892,"src":"12071:21:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":65086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12071:23:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":65075,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11958:3:100","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65076,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11962:18:100","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"11958:22:100","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11958:150:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65072,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"11929:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65074,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11932:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17910,"src":"11929:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":65088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11929:189:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65089,"nodeType":"ExpressionStatement","src":"11929:189:100"},{"expression":{"arguments":[{"id":65093,"name":"newMgr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65066,"src":"12150:6:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65090,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"12128:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12132:17:100","memberName":"addRequestManager","nodeType":"MemberAccess","referencedDeclaration":61046,"src":"12128:21:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12128:29:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65095,"nodeType":"ExpressionStatement","src":"12128:29:100"},{"expression":{"arguments":[{"id":65099,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64263,"src":"12204:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65096,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"12190:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12193:10:100","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":17486,"src":"12190:13:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12190:26:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65101,"nodeType":"ExpressionStatement","src":"12190:26:100"},{"expression":{"arguments":[{"hexValue":"74727565","id":65105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12240:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":65106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12246:5:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":65107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12253:5:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"74727565","id":65108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12260:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":65102,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"12226:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12229:10:100","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":17792,"src":"12226:13:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":65109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12226:39:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65110,"nodeType":"ExpressionStatement","src":"12226:39:100"},{"eventCall":{"arguments":[{"id":65114,"name":"REQUEST_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65060,"src":"12307:20:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":65115,"name":"newMgr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65066,"src":"12329:6:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65116,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64263,"src":"12337:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65111,"name":"IAccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41191,"src":"12280:14:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IAccessControl_$41191_$","typeString":"type(contract IAccessControl)"}},"id":65113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12295:11:100","memberName":"RoleGranted","nodeType":"MemberAccess","referencedDeclaration":41139,"src":"12280:26:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,address,address)"}},"id":65117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12280:69:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65118,"nodeType":"EmitStatement","src":"12275:74:100"},{"expression":{"arguments":[{"id":65122,"name":"newMgr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65066,"src":"12381:6:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65119,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"12359:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12363:17:100","memberName":"addRequestManager","nodeType":"MemberAccess","referencedDeclaration":61046,"src":"12359:21:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12359:29:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65124,"nodeType":"ExpressionStatement","src":"12359:29:100"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65125,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"12398:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12401:9:100","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":17530,"src":"12398:12:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12398:14:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65129,"nodeType":"ExpressionStatement","src":"12398:14:100"},{"expression":{"arguments":[{"arguments":[{"id":65133,"name":"REQUEST_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65060,"src":"12445:20:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":65134,"name":"newMgr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65066,"src":"12467:6:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65131,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"12433:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12437:7:100","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":39478,"src":"12433:11:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":65135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12433:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":65130,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[313,328],"referencedDeclaration":313,"src":"12422:10:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":65136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12422:53:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65137,"nodeType":"ExpressionStatement","src":"12422:53:100"},{"expression":{"arguments":[{"id":65141,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64263,"src":"12525:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65138,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"12511:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12514:10:100","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":17486,"src":"12511:13:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12511:26:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65143,"nodeType":"ExpressionStatement","src":"12511:26:100"},{"expression":{"arguments":[{"hexValue":"74727565","id":65147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12561:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":65148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12567:5:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":65149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12574:5:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"74727565","id":65150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12581:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":65144,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"12547:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12550:10:100","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":17792,"src":"12547:13:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":65151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12547:39:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65152,"nodeType":"ExpressionStatement","src":"12547:39:100"},{"eventCall":{"arguments":[{"id":65156,"name":"REQUEST_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65060,"src":"12628:20:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":65157,"name":"newMgr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65066,"src":"12650:6:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65158,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64263,"src":"12658:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65153,"name":"IAccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41191,"src":"12601:14:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IAccessControl_$41191_$","typeString":"type(contract IAccessControl)"}},"id":65155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12616:11:100","memberName":"RoleRevoked","nodeType":"MemberAccess","referencedDeclaration":41148,"src":"12601:26:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,address,address)"}},"id":65159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12601:69:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65160,"nodeType":"EmitStatement","src":"12596:74:100"},{"expression":{"arguments":[{"id":65164,"name":"newMgr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65066,"src":"12705:6:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65161,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"12680:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12684:20:100","memberName":"removeRequestManager","nodeType":"MemberAccess","referencedDeclaration":61060,"src":"12680:24:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12680:32:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65166,"nodeType":"ExpressionStatement","src":"12680:32:100"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65167,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"12722:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12725:9:100","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":17530,"src":"12722:12:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12722:14:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65171,"nodeType":"ExpressionStatement","src":"12722:14:100"},{"expression":{"arguments":[{"arguments":[{"id":65175,"name":"REQUEST_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65060,"src":"12770:20:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":65176,"name":"newMgr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65066,"src":"12792:6:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65173,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"12758:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12762:7:100","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":39478,"src":"12758:11:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":65177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12758:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":65172,"name":"assertFalse","nodeType":"Identifier","overloadedDeclarations":[340,355],"referencedDeclaration":340,"src":"12746:11:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":65178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12746:54:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65179,"nodeType":"ExpressionStatement","src":"12746:54:100"}]},"functionSelector":"9f352982","implemented":true,"kind":"function","modifiers":[],"name":"testAddAndRemoveRequestManager","nameLocation":"11727:30:100","parameters":{"id":65057,"nodeType":"ParameterList","parameters":[],"src":"11757:2:100"},"returnParameters":{"id":65058,"nodeType":"ParameterList","parameters":[],"src":"11769:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65249,"nodeType":"FunctionDefinition","src":"12884:651:100","nodes":[],"body":{"id":65248,"nodeType":"Block","src":"12947:588:100","nodes":[],"statements":[{"expression":{"arguments":[{"id":65187,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64263,"src":"13049:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65184,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"13040:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13043:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"13040:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13040:21:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65189,"nodeType":"ExpressionStatement","src":"13040:21:100"},{"expression":{"arguments":[{"expression":{"expression":{"id":65193,"name":"ManagedOptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63637,"src":"13087:34:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2Interface_$63637_$","typeString":"type(contract ManagedOptimisticOracleV2Interface)"}},"id":65194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13122:29:100","memberName":"UnsupportedWhitelistInterface","nodeType":"MemberAccess","referencedDeclaration":63573,"src":"13087:64:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":65195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13152:8:100","memberName":"selector","nodeType":"MemberAccess","src":"13087:73:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":65190,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"13071:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13074:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17884,"src":"13071:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":65196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13071:90:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65197,"nodeType":"ExpressionStatement","src":"13071:90:100"},{"expression":{"arguments":[{"arguments":[{"id":65203,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"13211:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}],"id":65202,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13203:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65201,"name":"address","nodeType":"ElementaryTypeName","src":"13203:7:100","typeDescriptions":{}}},"id":65204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13203:17:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65198,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"13171:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13175:27:100","memberName":"setDefaultProposerWhitelist","nodeType":"MemberAccess","referencedDeclaration":61110,"src":"13171:31:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13171:50:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65206,"nodeType":"ExpressionStatement","src":"13171:50:100"},{"assignments":[65209],"declarations":[{"constant":false,"id":65209,"mutability":"mutable","name":"wl","nameLocation":"13273:2:100","nodeType":"VariableDeclaration","scope":65248,"src":"13256:19:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"},"typeName":{"id":65208,"nodeType":"UserDefinedTypeName","pathNode":{"id":65207,"name":"AddressWhitelist","nameLocations":["13256:16:100"],"nodeType":"IdentifierPath","referencedDeclaration":60496,"src":"13256:16:100"},"referencedDeclaration":60496,"src":"13256:16:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"visibility":"internal"}],"id":65214,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":65212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"13278:20:100","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_AddressWhitelist_$60496_$","typeString":"function () returns (contract AddressWhitelist)"},"typeName":{"id":65211,"nodeType":"UserDefinedTypeName","pathNode":{"id":65210,"name":"AddressWhitelist","nameLocations":["13282:16:100"],"nodeType":"IdentifierPath","referencedDeclaration":60496,"src":"13282:16:100"},"referencedDeclaration":60496,"src":"13282:16:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}},"id":65213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13278:22:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"nodeType":"VariableDeclarationStatement","src":"13256:44:100"},{"expression":{"arguments":[{"id":65218,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64263,"src":"13319:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65215,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"13310:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13313:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"13310:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13310:21:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65220,"nodeType":"ExpressionStatement","src":"13310:21:100"},{"expression":{"arguments":[{"hexValue":"74727565","id":65224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13355:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":65225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13361:5:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":65226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13368:5:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"74727565","id":65227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13375:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":65221,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"13341:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13344:10:100","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":17792,"src":"13341:13:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":65228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13341:39:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65229,"nodeType":"ExpressionStatement","src":"13341:39:100"},{"eventCall":{"arguments":[{"arguments":[{"id":65235,"name":"wl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65209,"src":"13470:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}],"id":65234,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13462:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65233,"name":"address","nodeType":"ElementaryTypeName","src":"13462:7:100","typeDescriptions":{}}},"id":65236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13462:11:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65230,"name":"ManagedOptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63637,"src":"13395:34:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2Interface_$63637_$","typeString":"type(contract ManagedOptimisticOracleV2Interface)"}},"id":65232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13430:31:100","memberName":"DefaultProposerWhitelistUpdated","nodeType":"MemberAccess","referencedDeclaration":63593,"src":"13395:66:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":65237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13395:79:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65238,"nodeType":"EmitStatement","src":"13390:84:100"},{"expression":{"arguments":[{"arguments":[{"id":65244,"name":"wl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65209,"src":"13524:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}],"id":65243,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13516:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65242,"name":"address","nodeType":"ElementaryTypeName","src":"13516:7:100","typeDescriptions":{}}},"id":65245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13516:11:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65239,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"13484:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13488:27:100","memberName":"setDefaultProposerWhitelist","nodeType":"MemberAccess","referencedDeclaration":61110,"src":"13484:31:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13484:44:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65247,"nodeType":"ExpressionStatement","src":"13484:44:100"}]},"functionSelector":"71283f17","implemented":true,"kind":"function","modifiers":[],"name":"testSetDefaultProposerWhitelistValidations","nameLocation":"12893:42:100","parameters":{"id":65182,"nodeType":"ParameterList","parameters":[],"src":"12935:2:100"},"returnParameters":{"id":65183,"nodeType":"ParameterList","parameters":[],"src":"12947:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65317,"nodeType":"FunctionDefinition","src":"13541:587:100","nodes":[],"body":{"id":65316,"nodeType":"Block","src":"13598:530:100","nodes":[],"statements":[{"expression":{"arguments":[{"id":65255,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64263,"src":"13660:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65252,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"13651:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13654:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"13651:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13651:21:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65257,"nodeType":"ExpressionStatement","src":"13651:21:100"},{"expression":{"arguments":[{"expression":{"expression":{"id":65261,"name":"ManagedOptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63637,"src":"13698:34:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2Interface_$63637_$","typeString":"type(contract ManagedOptimisticOracleV2Interface)"}},"id":65262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13733:29:100","memberName":"UnsupportedWhitelistInterface","nodeType":"MemberAccess","referencedDeclaration":63573,"src":"13698:64:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":65263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13763:8:100","memberName":"selector","nodeType":"MemberAccess","src":"13698:73:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":65258,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"13682:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13685:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17884,"src":"13682:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":65264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13682:90:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65265,"nodeType":"ExpressionStatement","src":"13682:90:100"},{"expression":{"arguments":[{"arguments":[{"id":65271,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"13816:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}],"id":65270,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13808:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65269,"name":"address","nodeType":"ElementaryTypeName","src":"13808:7:100","typeDescriptions":{}}},"id":65272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13808:17:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65266,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"13782:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13786:21:100","memberName":"setRequesterWhitelist","nodeType":"MemberAccess","referencedDeclaration":61125,"src":"13782:25:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13782:44:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65274,"nodeType":"ExpressionStatement","src":"13782:44:100"},{"assignments":[65277],"declarations":[{"constant":false,"id":65277,"mutability":"mutable","name":"wl","nameLocation":"13878:2:100","nodeType":"VariableDeclaration","scope":65316,"src":"13861:19:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"},"typeName":{"id":65276,"nodeType":"UserDefinedTypeName","pathNode":{"id":65275,"name":"AddressWhitelist","nameLocations":["13861:16:100"],"nodeType":"IdentifierPath","referencedDeclaration":60496,"src":"13861:16:100"},"referencedDeclaration":60496,"src":"13861:16:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"visibility":"internal"}],"id":65282,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":65280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"13883:20:100","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_AddressWhitelist_$60496_$","typeString":"function () returns (contract AddressWhitelist)"},"typeName":{"id":65279,"nodeType":"UserDefinedTypeName","pathNode":{"id":65278,"name":"AddressWhitelist","nameLocations":["13887:16:100"],"nodeType":"IdentifierPath","referencedDeclaration":60496,"src":"13887:16:100"},"referencedDeclaration":60496,"src":"13887:16:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}},"id":65281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13883:22:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"nodeType":"VariableDeclarationStatement","src":"13861:44:100"},{"expression":{"arguments":[{"id":65286,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64263,"src":"13924:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65283,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"13915:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13918:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"13915:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13915:21:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65288,"nodeType":"ExpressionStatement","src":"13915:21:100"},{"expression":{"arguments":[{"hexValue":"74727565","id":65292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13960:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":65293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13966:5:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":65294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13973:5:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"74727565","id":65295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13980:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":65289,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"13946:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13949:10:100","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":17792,"src":"13946:13:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":65296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13946:39:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65297,"nodeType":"ExpressionStatement","src":"13946:39:100"},{"eventCall":{"arguments":[{"arguments":[{"id":65303,"name":"wl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65277,"src":"14069:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}],"id":65302,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14061:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65301,"name":"address","nodeType":"ElementaryTypeName","src":"14061:7:100","typeDescriptions":{}}},"id":65304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14061:11:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65298,"name":"ManagedOptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63637,"src":"14000:34:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2Interface_$63637_$","typeString":"type(contract ManagedOptimisticOracleV2Interface)"}},"id":65300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14035:25:100","memberName":"RequesterWhitelistUpdated","nodeType":"MemberAccess","referencedDeclaration":63597,"src":"14000:60:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":65305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14000:73:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65306,"nodeType":"EmitStatement","src":"13995:78:100"},{"expression":{"arguments":[{"arguments":[{"id":65312,"name":"wl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65277,"src":"14117:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}],"id":65311,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14109:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65310,"name":"address","nodeType":"ElementaryTypeName","src":"14109:7:100","typeDescriptions":{}}},"id":65313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14109:11:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65307,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"14083:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14087:21:100","memberName":"setRequesterWhitelist","nodeType":"MemberAccess","referencedDeclaration":61125,"src":"14083:25:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14083:38:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65315,"nodeType":"ExpressionStatement","src":"14083:38:100"}]},"functionSelector":"309524d2","implemented":true,"kind":"function","modifiers":[],"name":"testSetRequesterWhitelistValidations","nameLocation":"13550:36:100","parameters":{"id":65250,"nodeType":"ParameterList","parameters":[],"src":"13586:2:100"},"returnParameters":{"id":65251,"nodeType":"ParameterList","parameters":[],"src":"13598:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65359,"nodeType":"FunctionDefinition","src":"14134:538:100","nodes":[],"body":{"id":65358,"nodeType":"Block","src":"14199:473:100","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"expression":{"id":65323,"name":"ManagedOptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63637,"src":"14272:34:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2Interface_$63637_$","typeString":"type(contract ManagedOptimisticOracleV2Interface)"}},"id":65324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14307:23:100","memberName":"RequesterNotWhitelisted","nodeType":"MemberAccess","referencedDeclaration":63552,"src":"14272:58:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":65325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14331:8:100","memberName":"selector","nodeType":"MemberAccess","src":"14272:67:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":65320,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"14256:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14259:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17884,"src":"14256:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":65326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14256:84:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65327,"nodeType":"ExpressionStatement","src":"14256:84:100"},{"expression":{"arguments":[{"id":65331,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"14367:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":65332,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"14379:5:100","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":65333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14385:9:100","memberName":"timestamp","nodeType":"MemberAccess","src":"14379:15:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65334,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"14396:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"arguments":[{"id":65338,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"14422:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}],"id":65337,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14414:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65336,"name":"address","nodeType":"ElementaryTypeName","src":"14414:7:100","typeDescriptions":{}}},"id":65339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14414:17:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65335,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"14407:6:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$43048_$","typeString":"type(contract IERC20)"}},"id":65340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14407:25:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"hexValue":"30","id":65341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14434:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":65328,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"14350:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14354:12:100","memberName":"requestPrice","nodeType":"MemberAccess","referencedDeclaration":61163,"src":"14350:16:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$_t_contract$_IERC20_$43048_$_t_uint256_$returns$_t_uint256_$","typeString":"function (bytes32,uint256,bytes memory,contract IERC20,uint256) external returns (uint256)"}},"id":65342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14350:86:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65343,"nodeType":"ExpressionStatement","src":"14350:86:100"},{"assignments":[65345],"declarations":[{"constant":false,"id":65345,"mutability":"mutable","name":"totalBond","nameLocation":"14494:9:100","nodeType":"VariableDeclaration","scope":65358,"src":"14486:17:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65344,"name":"uint256","nodeType":"ElementaryTypeName","src":"14486:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65352,"initialValue":{"arguments":[{"id":65347,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"14519:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":65348,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"14530:5:100","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":65349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14536:9:100","memberName":"timestamp","nodeType":"MemberAccess","src":"14530:15:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":65350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14547:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65346,"name":"_makeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64756,"src":"14506:12:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (uint256)"}},"id":65351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14506:43:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14486:63:100"},{"expression":{"arguments":[{"id":65354,"name":"totalBond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65345,"src":"14645:9:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3230","id":65355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14656:8:100","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_20000000000000000000_by_1","typeString":"int_const 20000000000000000000"},"value":"20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_20000000000000000000_by_1","typeString":"int_const 20000000000000000000"}],"id":65353,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":403,"src":"14636:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":65356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14636:29:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65357,"nodeType":"ExpressionStatement","src":"14636:29:100"}]},"functionSelector":"7d58df6e","implemented":true,"kind":"function","modifiers":[],"name":"testRequesterWhitelistEnforcedOnRequestPrice","nameLocation":"14143:44:100","parameters":{"id":65318,"nodeType":"ParameterList","parameters":[],"src":"14187:2:100"},"returnParameters":{"id":65319,"nodeType":"ParameterList","parameters":[],"src":"14199:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65426,"nodeType":"FunctionDefinition","src":"14678:639:100","nodes":[],"body":{"id":65425,"nodeType":"Block","src":"14740:577:100","nodes":[],"statements":[{"assignments":[65366,65368],"declarations":[{"constant":false,"id":65366,"mutability":"mutable","name":"list","nameLocation":"14768:4:100","nodeType":"VariableDeclaration","scope":65425,"src":"14751:21:100","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":65364,"name":"address","nodeType":"ElementaryTypeName","src":"14751:7:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65365,"nodeType":"ArrayTypeName","src":"14751:9:100","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":65368,"mutability":"mutable","name":"enabled","nameLocation":"14779:7:100","nodeType":"VariableDeclaration","scope":65425,"src":"14774:12:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":65367,"name":"bool","nodeType":"ElementaryTypeName","src":"14774:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":65375,"initialValue":{"arguments":[{"id":65371,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"14844:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65372,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"14855:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":65373,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"14867:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65369,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"14802:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14806:37:100","memberName":"getProposerWhitelistWithEnabledStatus","nodeType":"MemberAccess","referencedDeclaration":61502,"src":"14802:41:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_bool_$","typeString":"function (address,bytes32,bytes memory) view external returns (address[] memory,bool)"}},"id":65374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14802:75:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_bool_$","typeString":"tuple(address[] memory,bool)"}},"nodeType":"VariableDeclarationStatement","src":"14750:127:100"},{"expression":{"arguments":[{"id":65377,"name":"enabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65368,"src":"14898:7:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":65376,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[313,328],"referencedDeclaration":313,"src":"14887:10:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":65378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14887:19:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65379,"nodeType":"ExpressionStatement","src":"14887:19:100"},{"expression":{"arguments":[{"expression":{"id":65381,"name":"list","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65366,"src":"14925:4:100","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":65382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14930:6:100","memberName":"length","nodeType":"MemberAccess","src":"14925:11:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"32","id":65383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14938:1:100","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":65380,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":403,"src":"14916:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":65384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14916:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65385,"nodeType":"ExpressionStatement","src":"14916:24:100"},{"expression":{"arguments":[{"id":65389,"name":"requestManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64267,"src":"15017:14:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65386,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"15008:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15011:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"15008:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15008:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65391,"nodeType":"ExpressionStatement","src":"15008:24:100"},{"expression":{"arguments":[{"id":65395,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"15081:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65396,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"15092:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":65397,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"15104:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":65400,"name":"disabledWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64297,"src":"15123:17:100","typeDescriptions":{"typeIdentifier":"t_contract$_DisabledAddressWhitelist_$60583","typeString":"contract DisabledAddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_DisabledAddressWhitelist_$60583","typeString":"contract DisabledAddressWhitelist"}],"id":65399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15115:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65398,"name":"address","nodeType":"ElementaryTypeName","src":"15115:7:100","typeDescriptions":{}}},"id":65401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15115:26:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65392,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"15042:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15046:34:100","memberName":"requestManagerSetProposerWhitelist","nodeType":"MemberAccess","referencedDeclaration":61324,"src":"15042:38:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (address,bytes32,bytes memory,address) external"}},"id":65402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15042:100:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65403,"nodeType":"ExpressionStatement","src":"15042:100:100"},{"expression":{"id":65413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":65404,"name":"list","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65366,"src":"15154:4:100","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":65405,"name":"enabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65368,"src":"15160:7:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":65406,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"15153:15:100","typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_bool_$","typeString":"tuple(address[] memory,bool)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":65409,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"15213:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65410,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"15224:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":65411,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"15236:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65407,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"15171:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15175:37:100","memberName":"getProposerWhitelistWithEnabledStatus","nodeType":"MemberAccess","referencedDeclaration":61502,"src":"15171:41:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_bool_$","typeString":"function (address,bytes32,bytes memory) view external returns (address[] memory,bool)"}},"id":65412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15171:75:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_bool_$","typeString":"tuple(address[] memory,bool)"}},"src":"15153:93:100","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65414,"nodeType":"ExpressionStatement","src":"15153:93:100"},{"expression":{"arguments":[{"id":65416,"name":"enabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65368,"src":"15268:7:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":65415,"name":"assertFalse","nodeType":"Identifier","overloadedDeclarations":[340,355],"referencedDeclaration":340,"src":"15256:11:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":65417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15256:20:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65418,"nodeType":"ExpressionStatement","src":"15256:20:100"},{"expression":{"arguments":[{"expression":{"id":65420,"name":"list","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65366,"src":"15295:4:100","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":65421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15300:6:100","memberName":"length","nodeType":"MemberAccess","src":"15295:11:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":65422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15308:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65419,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":403,"src":"15286:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":65423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15286:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65424,"nodeType":"ExpressionStatement","src":"15286:24:100"}]},"functionSelector":"d53045bb","implemented":true,"kind":"function","modifiers":[],"name":"testGetProposerWhitelistWithEnabledStatus","nameLocation":"14687:41:100","parameters":{"id":65360,"nodeType":"ParameterList","parameters":[],"src":"14728:2:100"},"returnParameters":{"id":65361,"nodeType":"ParameterList","parameters":[],"src":"14740:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65489,"nodeType":"FunctionDefinition","src":"15323:569:100","nodes":[],"body":{"id":65488,"nodeType":"Block","src":"15374:518:100","nodes":[],"statements":[{"assignments":[65431],"declarations":[{"constant":false,"id":65431,"mutability":"mutable","name":"wl","nameLocation":"15449:2:100","nodeType":"VariableDeclaration","scope":65488,"src":"15423:28:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"},"typeName":{"id":65430,"nodeType":"UserDefinedTypeName","pathNode":{"id":65429,"name":"AddressWhitelistInterface","nameLocations":["15423:25:100"],"nodeType":"IdentifierPath","referencedDeclaration":60790,"src":"15423:25:100"},"referencedDeclaration":60790,"src":"15423:25:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"visibility":"internal"}],"id":65438,"initialValue":{"arguments":[{"id":65434,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"15485:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65435,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"15496:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":65436,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"15508:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65432,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"15454:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15458:26:100","memberName":"getCustomProposerWhitelist","nodeType":"MemberAccess","referencedDeclaration":61467,"src":"15454:30:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"function (address,bytes32,bytes memory) view external returns (contract AddressWhitelistInterface)"}},"id":65437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15454:64:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"nodeType":"VariableDeclarationStatement","src":"15423:95:100"},{"expression":{"arguments":[{"arguments":[{"id":65442,"name":"wl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65431,"src":"15545:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}],"id":65441,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15537:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65440,"name":"address","nodeType":"ElementaryTypeName","src":"15537:7:100","typeDescriptions":{}}},"id":65443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15537:11:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":65446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15558:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65445,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15550:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65444,"name":"address","nodeType":"ElementaryTypeName","src":"15550:7:100","typeDescriptions":{}}},"id":65447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15550:10:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":65439,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":547,"src":"15528:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":65448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15528:33:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65449,"nodeType":"ExpressionStatement","src":"15528:33:100"},{"expression":{"arguments":[{"id":65453,"name":"requestManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64267,"src":"15608:14:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65450,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"15599:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15602:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"15599:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15599:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65455,"nodeType":"ExpressionStatement","src":"15599:24:100"},{"expression":{"arguments":[{"id":65459,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"15672:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65460,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"15683:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":65461,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"15695:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":65464,"name":"defaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64291,"src":"15714:24:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}],"id":65463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15706:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65462,"name":"address","nodeType":"ElementaryTypeName","src":"15706:7:100","typeDescriptions":{}}},"id":65465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15706:33:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65456,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"15633:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15637:34:100","memberName":"requestManagerSetProposerWhitelist","nodeType":"MemberAccess","referencedDeclaration":61324,"src":"15633:38:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (address,bytes32,bytes memory,address) external"}},"id":65466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15633:107:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65467,"nodeType":"ExpressionStatement","src":"15633:107:100"},{"expression":{"id":65475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65468,"name":"wl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65431,"src":"15750:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":65471,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"15786:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65472,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"15797:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":65473,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"15809:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65469,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"15755:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15759:26:100","memberName":"getCustomProposerWhitelist","nodeType":"MemberAccess","referencedDeclaration":61467,"src":"15755:30:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"function (address,bytes32,bytes memory) view external returns (contract AddressWhitelistInterface)"}},"id":65474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15755:64:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"src":"15750:69:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}},"id":65476,"nodeType":"ExpressionStatement","src":"15750:69:100"},{"expression":{"arguments":[{"arguments":[{"id":65480,"name":"wl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65431,"src":"15846:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelistInterface_$60790","typeString":"contract AddressWhitelistInterface"}],"id":65479,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15838:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65478,"name":"address","nodeType":"ElementaryTypeName","src":"15838:7:100","typeDescriptions":{}}},"id":65481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15838:11:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":65484,"name":"defaultProposerWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64291,"src":"15859:24:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}],"id":65483,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15851:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65482,"name":"address","nodeType":"ElementaryTypeName","src":"15851:7:100","typeDescriptions":{}}},"id":65485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15851:33:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":65477,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":547,"src":"15829:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":65486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15829:56:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65487,"nodeType":"ExpressionStatement","src":"15829:56:100"}]},"functionSelector":"801006b7","implemented":true,"kind":"function","modifiers":[],"name":"testGetCustomProposerWhitelist","nameLocation":"15332:30:100","parameters":{"id":65427,"nodeType":"ParameterList","parameters":[],"src":"15362:2:100"},"returnParameters":{"id":65428,"nodeType":"ParameterList","parameters":[],"src":"15374:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65611,"nodeType":"FunctionDefinition","src":"15971:1065:100","nodes":[],"body":{"id":65610,"nodeType":"Block","src":"16033:1003:100","nodes":[],"statements":[{"assignments":[65493],"declarations":[{"constant":false,"id":65493,"mutability":"mutable","name":"t","nameLocation":"16051:1:100","nodeType":"VariableDeclaration","scope":65610,"src":"16043:9:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65492,"name":"uint256","nodeType":"ElementaryTypeName","src":"16043:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65496,"initialValue":{"expression":{"id":65494,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"16055:5:100","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":65495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16061:9:100","memberName":"timestamp","nodeType":"MemberAccess","src":"16055:15:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16043:27:100"},{"expression":{"arguments":[{"id":65498,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"16093:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65499,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65493,"src":"16104:1:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":65500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16107:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65497,"name":"_makeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64756,"src":"16080:12:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (uint256)"}},"id":65501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16080:29:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65502,"nodeType":"ExpressionStatement","src":"16080:29:100"},{"assignments":[65504],"declarations":[{"constant":false,"id":65504,"mutability":"mutable","name":"totalBond","nameLocation":"16186:9:100","nodeType":"VariableDeclaration","scope":65610,"src":"16178:17:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65503,"name":"uint256","nodeType":"ElementaryTypeName","src":"16178:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65512,"initialValue":{"arguments":[{"id":65506,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64277,"src":"16210:6:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65507,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64273,"src":"16218:8:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65508,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"16228:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65509,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65493,"src":"16239:1:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3432","id":65510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16242:2:100","typeDescriptions":{"typeIdentifier":"t_rational_42_by_1","typeString":"int_const 42"},"value":"42"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_42_by_1","typeString":"int_const 42"}],"id":65505,"name":"_proposeFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64821,"src":"16198:11:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (address,address,address,uint256,int256) returns (uint256)"}},"id":65511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16198:47:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16178:67:100"},{"expression":{"arguments":[{"id":65514,"name":"totalBond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65504,"src":"16264:9:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":65515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16275:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65513,"name":"assertGt","nodeType":"Identifier","overloadedDeclarations":[1721,1739,1793,1811],"referencedDeclaration":1721,"src":"16255:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":65516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16255:22:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65517,"nodeType":"ExpressionStatement","src":"16255:22:100"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":65523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":65521,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65493,"src":"16387:1:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":65522,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16391:1:100","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"16387:5:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65518,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"16379:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16382:4:100","memberName":"warp","nodeType":"MemberAccess","referencedDeclaration":17598,"src":"16379:7:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":65524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16379:14:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65525,"nodeType":"ExpressionStatement","src":"16379:14:100"},{"expression":{"arguments":[{"id":65527,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"16416:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":65528,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"16427:5:100","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":65529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16433:9:100","memberName":"timestamp","nodeType":"MemberAccess","src":"16427:15:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":65530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16444:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65526,"name":"_makeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64756,"src":"16403:12:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (uint256)"}},"id":65531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16403:43:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65532,"nodeType":"ExpressionStatement","src":"16403:43:100"},{"expression":{"arguments":[{"id":65534,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64277,"src":"16470:6:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65533,"name":"_prepareFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64860,"src":"16456:13:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":65535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16456:21:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65536,"nodeType":"ExpressionStatement","src":"16456:21:100"},{"expression":{"arguments":[{"expression":{"expression":{"id":65540,"name":"ManagedOptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63637,"src":"16503:34:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2Interface_$63637_$","typeString":"type(contract ManagedOptimisticOracleV2Interface)"}},"id":65541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16538:22:100","memberName":"ProposerNotWhitelisted","nodeType":"MemberAccess","referencedDeclaration":63567,"src":"16503:57:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":65542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16561:8:100","memberName":"selector","nodeType":"MemberAccess","src":"16503:66:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":65537,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"16487:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16490:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17884,"src":"16487:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":65543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16487:83:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65544,"nodeType":"ExpressionStatement","src":"16487:83:100"},{"expression":{"arguments":[{"id":65548,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64277,"src":"16589:6:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65545,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"16580:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16583:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"16580:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16580:16:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65550,"nodeType":"ExpressionStatement","src":"16580:16:100"},{"expression":{"arguments":[{"id":65554,"name":"otherProposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64275,"src":"16626:13:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65555,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"16641:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65556,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"16652:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":65559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":65557,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65493,"src":"16664:1:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":65558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16668:1:100","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"16664:5:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65560,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"16671:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"31","id":65561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16682:1:100","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":65551,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"16606:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16610:15:100","memberName":"proposePriceFor","nodeType":"MemberAccess","referencedDeclaration":61443,"src":"16606:19:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$_t_int256_$returns$_t_uint256_$","typeString":"function (address,address,bytes32,uint256,bytes memory,int256) external returns (uint256)"}},"id":65562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16606:78:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65563,"nodeType":"ExpressionStatement","src":"16606:78:100"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":65569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":65567,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65493,"src":"16729:1:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":65568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16733:1:100","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"16729:5:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65564,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"16721:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16724:4:100","memberName":"warp","nodeType":"MemberAccess","referencedDeclaration":17598,"src":"16721:7:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":65570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16721:14:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65571,"nodeType":"ExpressionStatement","src":"16721:14:100"},{"expression":{"arguments":[{"id":65573,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"16758:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":65574,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"16769:5:100","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":65575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16775:9:100","memberName":"timestamp","nodeType":"MemberAccess","src":"16769:15:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":65576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16786:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65572,"name":"_makeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64756,"src":"16745:12:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (uint256)"}},"id":65577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16745:43:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65578,"nodeType":"ExpressionStatement","src":"16745:43:100"},{"expression":{"arguments":[{"id":65580,"name":"otherSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64279,"src":"16812:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65579,"name":"_prepareFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64860,"src":"16798:13:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":65581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16798:26:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65582,"nodeType":"ExpressionStatement","src":"16798:26:100"},{"expression":{"arguments":[{"expression":{"expression":{"id":65586,"name":"ManagedOptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63637,"src":"16850:34:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2Interface_$63637_$","typeString":"type(contract ManagedOptimisticOracleV2Interface)"}},"id":65587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16885:20:100","memberName":"SenderNotWhitelisted","nodeType":"MemberAccess","referencedDeclaration":63570,"src":"16850:55:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":65588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16906:8:100","memberName":"selector","nodeType":"MemberAccess","src":"16850:64:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":65583,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"16834:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16837:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17884,"src":"16834:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":65589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16834:81:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65590,"nodeType":"ExpressionStatement","src":"16834:81:100"},{"expression":{"arguments":[{"id":65594,"name":"otherSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64279,"src":"16934:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65591,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"16925:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16928:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"16925:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16925:21:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65596,"nodeType":"ExpressionStatement","src":"16925:21:100"},{"expression":{"arguments":[{"id":65600,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64273,"src":"16976:8:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65601,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"16986:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65602,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"16997:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":65605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":65603,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65493,"src":"17009:1:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":65604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17013:1:100","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"17009:5:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65606,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"17016:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"31","id":65607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17027:1:100","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":65597,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"16956:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16960:15:100","memberName":"proposePriceFor","nodeType":"MemberAccess","referencedDeclaration":61443,"src":"16956:19:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$_t_int256_$returns$_t_uint256_$","typeString":"function (address,address,bytes32,uint256,bytes memory,int256) external returns (uint256)"}},"id":65608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16956:73:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65609,"nodeType":"ExpressionStatement","src":"16956:73:100"}]},"functionSelector":"ee448c36","implemented":true,"kind":"function","modifiers":[],"name":"testProposePriceForChecksDefaultWhitelist","nameLocation":"15980:41:100","parameters":{"id":65490,"nodeType":"ParameterList","parameters":[],"src":"16021:2:100"},"returnParameters":{"id":65491,"nodeType":"ParameterList","parameters":[],"src":"16033:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65671,"nodeType":"FunctionDefinition","src":"17042:691:100","nodes":[],"body":{"id":65670,"nodeType":"Block","src":"17109:624:100","nodes":[],"statements":[{"assignments":[65615],"declarations":[{"constant":false,"id":65615,"mutability":"mutable","name":"t","nameLocation":"17127:1:100","nodeType":"VariableDeclaration","scope":65670,"src":"17119:9:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65614,"name":"uint256","nodeType":"ElementaryTypeName","src":"17119:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65618,"initialValue":{"expression":{"id":65616,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"17131:5:100","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":65617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17137:9:100","memberName":"timestamp","nodeType":"MemberAccess","src":"17131:15:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17119:27:100"},{"expression":{"arguments":[{"id":65620,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"17169:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65621,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65615,"src":"17180:1:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":65622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17183:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65619,"name":"_makeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64756,"src":"17156:12:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (uint256)"}},"id":65623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17156:29:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65624,"nodeType":"ExpressionStatement","src":"17156:29:100"},{"expression":{"arguments":[{"id":65628,"name":"requestManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64267,"src":"17263:14:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65625,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"17254:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17257:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"17254:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17254:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65630,"nodeType":"ExpressionStatement","src":"17254:24:100"},{"expression":{"arguments":[{"id":65634,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"17327:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65635,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"17338:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":65636,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"17350:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":65639,"name":"disabledWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64297,"src":"17369:17:100","typeDescriptions":{"typeIdentifier":"t_contract$_DisabledAddressWhitelist_$60583","typeString":"contract DisabledAddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_DisabledAddressWhitelist_$60583","typeString":"contract DisabledAddressWhitelist"}],"id":65638,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17361:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65637,"name":"address","nodeType":"ElementaryTypeName","src":"17361:7:100","typeDescriptions":{}}},"id":65640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17361:26:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65631,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"17288:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17292:34:100","memberName":"requestManagerSetProposerWhitelist","nodeType":"MemberAccess","referencedDeclaration":61324,"src":"17288:38:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (address,bytes32,bytes memory,address) external"}},"id":65641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17288:100:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65642,"nodeType":"ExpressionStatement","src":"17288:100:100"},{"assignments":[65644],"declarations":[{"constant":false,"id":65644,"mutability":"mutable","name":"freeSender","nameLocation":"17518:10:100","nodeType":"VariableDeclaration","scope":65670,"src":"17510:18:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65643,"name":"address","nodeType":"ElementaryTypeName","src":"17510:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":65648,"initialValue":{"arguments":[{"hexValue":"6672656553656e646572","id":65646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17540:12:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d10582c585a59b91f8166585888f94a426fb32cc60fd3d0beb31442727acecb","typeString":"literal_string \"freeSender\""},"value":"freeSender"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d10582c585a59b91f8166585888f94a426fb32cc60fd3d0beb31442727acecb","typeString":"literal_string \"freeSender\""}],"id":65645,"name":"makeAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"17531:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) returns (address)"}},"id":65647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17531:22:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"17510:43:100"},{"assignments":[65650],"declarations":[{"constant":false,"id":65650,"mutability":"mutable","name":"freeProposer","nameLocation":"17571:12:100","nodeType":"VariableDeclaration","scope":65670,"src":"17563:20:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65649,"name":"address","nodeType":"ElementaryTypeName","src":"17563:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":65654,"initialValue":{"arguments":[{"hexValue":"6672656550726f706f736572","id":65652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17595:14:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_73ba56269a1213d22eeeaa26dcdbd404bbf1d9e29ebf560e5fbfa2dce0db40b7","typeString":"literal_string \"freeProposer\""},"value":"freeProposer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_73ba56269a1213d22eeeaa26dcdbd404bbf1d9e29ebf560e5fbfa2dce0db40b7","typeString":"literal_string \"freeProposer\""}],"id":65651,"name":"makeAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"17586:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) returns (address)"}},"id":65653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17586:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"17563:47:100"},{"assignments":[65656],"declarations":[{"constant":false,"id":65656,"mutability":"mutable","name":"totalBond","nameLocation":"17628:9:100","nodeType":"VariableDeclaration","scope":65670,"src":"17620:17:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65655,"name":"uint256","nodeType":"ElementaryTypeName","src":"17620:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65664,"initialValue":{"arguments":[{"id":65658,"name":"freeSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65644,"src":"17652:10:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65659,"name":"freeProposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65650,"src":"17664:12:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65660,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"17678:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65661,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65615,"src":"17689:1:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"37","id":65662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17692:1:100","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"}],"id":65657,"name":"_proposeFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64821,"src":"17640:11:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (address,address,address,uint256,int256) returns (uint256)"}},"id":65663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17640:54:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17620:74:100"},{"expression":{"arguments":[{"id":65666,"name":"totalBond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65656,"src":"17713:9:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":65667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17724:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65665,"name":"assertGt","nodeType":"Identifier","overloadedDeclarations":[1721,1739,1793,1811],"referencedDeclaration":1721,"src":"17704:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":65668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17704:22:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65669,"nodeType":"ExpressionStatement","src":"17704:22:100"}]},"functionSelector":"508ac0f0","implemented":true,"kind":"function","modifiers":[],"name":"testProposePriceForWithCustomDisabledWhitelist","nameLocation":"17051:46:100","parameters":{"id":65612,"nodeType":"ParameterList","parameters":[],"src":"17097:2:100"},"returnParameters":{"id":65613,"nodeType":"ParameterList","parameters":[],"src":"17109:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65735,"nodeType":"FunctionDefinition","src":"17811:612:100","nodes":[],"body":{"id":65734,"nodeType":"Block","src":"17866:557:100","nodes":[],"statements":[{"expression":{"arguments":[{"id":65677,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64263,"src":"17937:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65674,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"17928:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17931:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"17928:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17928:21:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65679,"nodeType":"ExpressionStatement","src":"17928:21:100"},{"expression":{"arguments":[{"expression":{"expression":{"id":65683,"name":"OptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64049,"src":"17975:27:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OptimisticOracleV2Interface_$64049_$","typeString":"type(contract OptimisticOracleV2Interface)"}},"id":65684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18003:19:100","memberName":"UnsupportedCurrency","nodeType":"MemberAccess","referencedDeclaration":63659,"src":"17975:47:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":65685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18023:8:100","memberName":"selector","nodeType":"MemberAccess","src":"17975:56:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":65680,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"17959:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17962:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17884,"src":"17959:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":65686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17959:73:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65687,"nodeType":"ExpressionStatement","src":"17959:73:100"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":65694,"name":"otherCurrency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64309,"src":"18081:13:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}],"id":65693,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18073:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65692,"name":"address","nodeType":"ElementaryTypeName","src":"18073:7:100","typeDescriptions":{}}},"id":65695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18073:22:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65691,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"18066:6:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$43048_$","typeString":"type(contract IERC20)"}},"id":65696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18066:30:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"arguments":[{"hexValue":"31","id":65699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18134:1:100","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"32","id":65700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18137:1:100","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"expression":{"id":65697,"name":"ManagedOptimisticOracleV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61771,"src":"18098:25:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2_$61771_$","typeString":"type(contract ManagedOptimisticOracleV2)"}},"id":65698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18124:9:100","memberName":"BondRange","nodeType":"MemberAccess","referencedDeclaration":60870,"src":"18098:35:100","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_BondRange_$60870_storage_ptr_$","typeString":"type(struct ManagedOptimisticOracleV2.BondRange storage pointer)"}},"id":65701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18098:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_struct$_BondRange_$60870_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange memory"}],"expression":{"id":65688,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"18042:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18046:19:100","memberName":"setAllowedBondRange","nodeType":"MemberAccess","referencedDeclaration":61080,"src":"18042:23:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_contract$_IERC20_$43048_$_t_struct$_BondRange_$60870_memory_ptr_$returns$__$","typeString":"function (contract IERC20,struct ManagedOptimisticOracleV2.BondRange memory) external"}},"id":65702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18042:98:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65703,"nodeType":"ExpressionStatement","src":"18042:98:100"},{"expression":{"arguments":[{"id":65707,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64263,"src":"18202:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65704,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"18193:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18196:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"18193:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18193:21:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65709,"nodeType":"ExpressionStatement","src":"18193:21:100"},{"expression":{"arguments":[{"expression":{"expression":{"id":65713,"name":"ManagedOptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63637,"src":"18240:34:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2Interface_$63637_$","typeString":"type(contract ManagedOptimisticOracleV2Interface)"}},"id":65714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18275:27:100","memberName":"MinimumBondAboveMaximumBond","nodeType":"MemberAccess","referencedDeclaration":63576,"src":"18240:62:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":65715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18303:8:100","memberName":"selector","nodeType":"MemberAccess","src":"18240:71:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":65710,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"18224:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18227:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17884,"src":"18224:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":65716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18224:88:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65717,"nodeType":"ExpressionStatement","src":"18224:88:100"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":65724,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"18361:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}],"id":65723,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18353:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65722,"name":"address","nodeType":"ElementaryTypeName","src":"18353:7:100","typeDescriptions":{}}},"id":65725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18353:17:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65721,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"18346:6:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$43048_$","typeString":"type(contract IERC20)"}},"id":65726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18346:25:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"arguments":[{"hexValue":"3130","id":65729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18409:2:100","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"35","id":65730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18413:1:100","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"}],"expression":{"id":65727,"name":"ManagedOptimisticOracleV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61771,"src":"18373:25:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2_$61771_$","typeString":"type(contract ManagedOptimisticOracleV2)"}},"id":65728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18399:9:100","memberName":"BondRange","nodeType":"MemberAccess","referencedDeclaration":60870,"src":"18373:35:100","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_BondRange_$60870_storage_ptr_$","typeString":"type(struct ManagedOptimisticOracleV2.BondRange storage pointer)"}},"id":65731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18373:42:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_struct$_BondRange_$60870_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange memory"}],"expression":{"id":65718,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"18322:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18326:19:100","memberName":"setAllowedBondRange","nodeType":"MemberAccess","referencedDeclaration":61080,"src":"18322:23:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_contract$_IERC20_$43048_$_t_struct$_BondRange_$60870_memory_ptr_$returns$__$","typeString":"function (contract IERC20,struct ManagedOptimisticOracleV2.BondRange memory) external"}},"id":65732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18322:94:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65733,"nodeType":"ExpressionStatement","src":"18322:94:100"}]},"functionSelector":"174f873b","implemented":true,"kind":"function","modifiers":[],"name":"testSetAllowedBondRangeValidations","nameLocation":"17820:34:100","parameters":{"id":65672,"nodeType":"ParameterList","parameters":[],"src":"17854:2:100"},"returnParameters":{"id":65673,"nodeType":"ParameterList","parameters":[],"src":"17866:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":65943,"nodeType":"FunctionDefinition","src":"18429:1992:100","nodes":[],"body":{"id":65942,"nodeType":"Block","src":"18495:1926:100","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":65743,"name":"IAccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41191,"src":"18608:14:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IAccessControl_$41191_$","typeString":"type(contract IAccessControl)"}},"id":65744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18623:32:100","memberName":"AccessControlUnauthorizedAccount","nodeType":"MemberAccess","referencedDeclaration":41118,"src":"18608:47:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_bytes32_$returns$_t_error_$","typeString":"function (address,bytes32) pure returns (error)"}},"id":65745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18656:8:100","memberName":"selector","nodeType":"MemberAccess","src":"18608:56:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":65748,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18674:4:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2Test_$66846","typeString":"contract ManagedOptimisticOracleV2Test"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2Test_$66846","typeString":"contract ManagedOptimisticOracleV2Test"}],"id":65747,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18666:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65746,"name":"address","nodeType":"ElementaryTypeName","src":"18666:7:100","typeDescriptions":{}}},"id":65749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18666:13:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65750,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"18681:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65751,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18685:20:100","memberName":"REQUEST_MANAGER_ROLE","nodeType":"MemberAccess","referencedDeclaration":60897,"src":"18681:24:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":65752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18681:26:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":65741,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18568:3:100","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65742,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18572:18:100","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"18568:22:100","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18568:153:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65738,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"18539:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18542:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17910,"src":"18539:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":65754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18539:192:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65755,"nodeType":"ExpressionStatement","src":"18539:192:100"},{"expression":{"arguments":[{"id":65759,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"18767:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65760,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"18778:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":65761,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"18790:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"arguments":[{"id":65765,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"18816:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}],"id":65764,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18808:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65763,"name":"address","nodeType":"ElementaryTypeName","src":"18808:7:100","typeDescriptions":{}}},"id":65766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18808:17:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65762,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"18801:6:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$43048_$","typeString":"type(contract IERC20)"}},"id":65767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18801:25:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"hexValue":"32","id":65768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18828:7:100","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"}],"expression":{"id":65756,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"18741:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18745:21:100","memberName":"requestManagerSetBond","nodeType":"MemberAccess","referencedDeclaration":61227,"src":"18741:25:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_contract$_IERC20_$43048_$_t_uint256_$returns$__$","typeString":"function (address,bytes32,bytes memory,contract IERC20,uint256) external"}},"id":65769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18741:95:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65770,"nodeType":"ExpressionStatement","src":"18741:95:100"},{"expression":{"arguments":[{"hexValue":"74727565","id":65774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18901:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":65775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18907:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":65776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18913:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":65777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"18919:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":65771,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"18887:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18890:10:100","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":17792,"src":"18887:13:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":65778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18887:37:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65779,"nodeType":"ExpressionStatement","src":"18887:37:100"},{"assignments":[65781],"declarations":[{"constant":false,"id":65781,"mutability":"mutable","name":"managedId","nameLocation":"18942:9:100","nodeType":"VariableDeclaration","scope":65942,"src":"18934:17:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":65780,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18934:7:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":65788,"initialValue":{"arguments":[{"id":65784,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"18978:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65785,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"18989:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":65786,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"19001:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65782,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"18954:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18958:19:100","memberName":"getManagedRequestId","nodeType":"MemberAccess","referencedDeclaration":61524,"src":"18954:23:100","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (address,bytes32,bytes memory) pure external returns (bytes32)"}},"id":65787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18954:57:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"18934:77:100"},{"eventCall":{"arguments":[{"id":65792,"name":"managedId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65781,"src":"19088:9:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":65793,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"19099:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65794,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"19110:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":65795,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"19122:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"arguments":[{"id":65799,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"19148:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}],"id":65798,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19140:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65797,"name":"address","nodeType":"ElementaryTypeName","src":"19140:7:100","typeDescriptions":{}}},"id":65800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19140:17:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65796,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"19133:6:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$43048_$","typeString":"type(contract IERC20)"}},"id":65801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19133:25:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"hexValue":"32","id":65802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19160:7:100","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"}],"expression":{"id":65789,"name":"ManagedOptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63637,"src":"19026:34:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2Interface_$63637_$","typeString":"type(contract ManagedOptimisticOracleV2Interface)"}},"id":65791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19061:13:100","memberName":"CustomBondSet","nodeType":"MemberAccess","referencedDeclaration":63612,"src":"19026:48:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_contract$_IERC20_$43048_$_t_uint256_$returns$__$","typeString":"function (bytes32,address,bytes32,bytes memory,contract IERC20,uint256)"}},"id":65803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19026:151:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65804,"nodeType":"EmitStatement","src":"19021:156:100"},{"expression":{"arguments":[{"id":65808,"name":"requestManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64267,"src":"19196:14:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65805,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"19187:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19190:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"19187:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19187:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65810,"nodeType":"ExpressionStatement","src":"19187:24:100"},{"expression":{"arguments":[{"id":65814,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"19247:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65815,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"19258:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":65816,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"19270:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"arguments":[{"id":65820,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"19296:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}],"id":65819,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19288:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65818,"name":"address","nodeType":"ElementaryTypeName","src":"19288:7:100","typeDescriptions":{}}},"id":65821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19288:17:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65817,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"19281:6:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$43048_$","typeString":"type(contract IERC20)"}},"id":65822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19281:25:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"hexValue":"32","id":65823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19308:7:100","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"}],"expression":{"id":65811,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"19221:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19225:21:100","memberName":"requestManagerSetBond","nodeType":"MemberAccess","referencedDeclaration":61227,"src":"19221:25:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_contract$_IERC20_$43048_$_t_uint256_$returns$__$","typeString":"function (address,bytes32,bytes memory,contract IERC20,uint256) external"}},"id":65824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19221:95:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65825,"nodeType":"ExpressionStatement","src":"19221:95:100"},{"expression":{"arguments":[{"id":65829,"name":"requestManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64267,"src":"19369:14:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65826,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"19360:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19363:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"19360:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19360:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65831,"nodeType":"ExpressionStatement","src":"19360:24:100"},{"expression":{"arguments":[{"expression":{"expression":{"id":65835,"name":"ManagedOptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63637,"src":"19410:34:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2Interface_$63637_$","typeString":"type(contract ManagedOptimisticOracleV2Interface)"}},"id":65836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19445:18:100","memberName":"ZeroBondNotAllowed","nodeType":"MemberAccess","referencedDeclaration":63555,"src":"19410:53:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":65837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19464:8:100","memberName":"selector","nodeType":"MemberAccess","src":"19410:62:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":65832,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"19394:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19397:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17884,"src":"19394:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":65838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19394:79:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65839,"nodeType":"ExpressionStatement","src":"19394:79:100"},{"expression":{"arguments":[{"id":65843,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"19509:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65844,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"19520:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":65845,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"19532:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"arguments":[{"id":65849,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"19558:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}],"id":65848,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19550:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65847,"name":"address","nodeType":"ElementaryTypeName","src":"19550:7:100","typeDescriptions":{}}},"id":65850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19550:17:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65846,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"19543:6:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$43048_$","typeString":"type(contract IERC20)"}},"id":65851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19543:25:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"hexValue":"30","id":65852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19570:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":65840,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"19483:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19487:21:100","memberName":"requestManagerSetBond","nodeType":"MemberAccess","referencedDeclaration":61227,"src":"19483:25:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_contract$_IERC20_$43048_$_t_uint256_$returns$__$","typeString":"function (address,bytes32,bytes memory,contract IERC20,uint256) external"}},"id":65853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19483:89:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65854,"nodeType":"ExpressionStatement","src":"19483:89:100"},{"expression":{"arguments":[{"id":65858,"name":"requestManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64267,"src":"19613:14:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65855,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"19604:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19607:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"19604:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19604:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65860,"nodeType":"ExpressionStatement","src":"19604:24:100"},{"expression":{"arguments":[{"expression":{"expression":{"id":65864,"name":"ManagedOptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63637,"src":"19654:34:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2Interface_$63637_$","typeString":"type(contract ManagedOptimisticOracleV2Interface)"}},"id":65865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19689:20:100","memberName":"BondBelowMinimumBond","nodeType":"MemberAccess","referencedDeclaration":63558,"src":"19654:55:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":65866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19710:8:100","memberName":"selector","nodeType":"MemberAccess","src":"19654:64:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":65861,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"19638:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19641:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17884,"src":"19638:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":65867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19638:81:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65868,"nodeType":"ExpressionStatement","src":"19638:81:100"},{"expression":{"arguments":[{"id":65872,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"19755:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65873,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"19766:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":65874,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"19778:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"arguments":[{"id":65878,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"19804:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}],"id":65877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19796:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65876,"name":"address","nodeType":"ElementaryTypeName","src":"19796:7:100","typeDescriptions":{}}},"id":65879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19796:17:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65875,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"19789:6:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$43048_$","typeString":"type(contract IERC20)"}},"id":65880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19789:25:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"hexValue":"302e35","id":65881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19816:9:100","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_500000000000000000_by_1","typeString":"int_const 500000000000000000"},"value":"0.5"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_rational_500000000000000000_by_1","typeString":"int_const 500000000000000000"}],"expression":{"id":65869,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"19729:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19733:21:100","memberName":"requestManagerSetBond","nodeType":"MemberAccess","referencedDeclaration":61227,"src":"19729:25:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_contract$_IERC20_$43048_$_t_uint256_$returns$__$","typeString":"function (address,bytes32,bytes memory,contract IERC20,uint256) external"}},"id":65882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19729:97:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65883,"nodeType":"ExpressionStatement","src":"19729:97:100"},{"expression":{"arguments":[{"id":65887,"name":"requestManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64267,"src":"19867:14:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65884,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"19858:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19861:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"19858:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19858:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65889,"nodeType":"ExpressionStatement","src":"19858:24:100"},{"expression":{"arguments":[{"expression":{"expression":{"id":65893,"name":"ManagedOptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63637,"src":"19908:34:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2Interface_$63637_$","typeString":"type(contract ManagedOptimisticOracleV2Interface)"}},"id":65894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19943:22:100","memberName":"BondExceedsMaximumBond","nodeType":"MemberAccess","referencedDeclaration":63561,"src":"19908:57:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":65895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19966:8:100","memberName":"selector","nodeType":"MemberAccess","src":"19908:66:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":65890,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"19892:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19895:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17884,"src":"19892:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":65896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19892:83:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65897,"nodeType":"ExpressionStatement","src":"19892:83:100"},{"expression":{"arguments":[{"id":65901,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"20011:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65902,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"20022:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":65903,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"20034:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"arguments":[{"id":65907,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"20060:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}],"id":65906,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20052:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65905,"name":"address","nodeType":"ElementaryTypeName","src":"20052:7:100","typeDescriptions":{}}},"id":65908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20052:17:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65904,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"20045:6:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$43048_$","typeString":"type(contract IERC20)"}},"id":65909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20045:25:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"hexValue":"325f303030","id":65910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20072:11:100","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000000000_by_1","typeString":"int_const 2000000000000000000000"},"value":"2_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_rational_2000000000000000000000_by_1","typeString":"int_const 2000000000000000000000"}],"expression":{"id":65898,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"19985:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19989:21:100","memberName":"requestManagerSetBond","nodeType":"MemberAccess","referencedDeclaration":61227,"src":"19985:25:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_contract$_IERC20_$43048_$_t_uint256_$returns$__$","typeString":"function (address,bytes32,bytes memory,contract IERC20,uint256) external"}},"id":65911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19985:99:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65912,"nodeType":"ExpressionStatement","src":"19985:99:100"},{"expression":{"arguments":[{"id":65916,"name":"requestManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64267,"src":"20212:14:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65913,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"20203:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20206:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"20203:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20203:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65918,"nodeType":"ExpressionStatement","src":"20203:24:100"},{"expression":{"arguments":[{"expression":{"expression":{"id":65922,"name":"OptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64049,"src":"20253:27:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OptimisticOracleV2Interface_$64049_$","typeString":"type(contract OptimisticOracleV2Interface)"}},"id":65923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20281:19:100","memberName":"UnsupportedCurrency","nodeType":"MemberAccess","referencedDeclaration":63659,"src":"20253:47:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":65924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20301:8:100","memberName":"selector","nodeType":"MemberAccess","src":"20253:56:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":65919,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"20237:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20240:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17884,"src":"20237:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":65925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20237:73:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65926,"nodeType":"ExpressionStatement","src":"20237:73:100"},{"expression":{"arguments":[{"id":65930,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"20346:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65931,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"20357:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":65932,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"20369:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"arguments":[{"id":65936,"name":"otherCurrency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64309,"src":"20395:13:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}],"id":65935,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20387:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65934,"name":"address","nodeType":"ElementaryTypeName","src":"20387:7:100","typeDescriptions":{}}},"id":65937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20387:22:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65933,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"20380:6:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$43048_$","typeString":"type(contract IERC20)"}},"id":65938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20380:30:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"hexValue":"31","id":65939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20412:1:100","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":65927,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"20320:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20324:21:100","memberName":"requestManagerSetBond","nodeType":"MemberAccess","referencedDeclaration":61227,"src":"20320:25:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_contract$_IERC20_$43048_$_t_uint256_$returns$__$","typeString":"function (address,bytes32,bytes memory,contract IERC20,uint256) external"}},"id":65940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20320:94:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65941,"nodeType":"ExpressionStatement","src":"20320:94:100"}]},"functionSelector":"4c6f2260","implemented":true,"kind":"function","modifiers":[],"name":"testRequestManagerSetBondEnforcementAndEvents","nameLocation":"18438:45:100","parameters":{"id":65736,"nodeType":"ParameterList","parameters":[],"src":"18483:2:100"},"returnParameters":{"id":65737,"nodeType":"ParameterList","parameters":[],"src":"18495:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":66014,"nodeType":"FunctionDefinition","src":"20427:733:100","nodes":[],"body":{"id":66013,"nodeType":"Block","src":"20478:682:100","nodes":[],"statements":[{"assignments":[65947],"declarations":[{"constant":false,"id":65947,"mutability":"mutable","name":"t","nameLocation":"20496:1:100","nodeType":"VariableDeclaration","scope":66013,"src":"20488:9:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65946,"name":"uint256","nodeType":"ElementaryTypeName","src":"20488:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65950,"initialValue":{"expression":{"id":65948,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"20500:5:100","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":65949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20506:9:100","memberName":"timestamp","nodeType":"MemberAccess","src":"20500:15:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20488:27:100"},{"expression":{"arguments":[{"id":65952,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"20538:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65953,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65947,"src":"20549:1:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":65954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20552:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65951,"name":"_makeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64756,"src":"20525:12:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (uint256)"}},"id":65955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20525:29:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65956,"nodeType":"ExpressionStatement","src":"20525:29:100"},{"expression":{"arguments":[{"id":65960,"name":"requestManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64267,"src":"20612:14:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65957,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"20603:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":65959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20606:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"20603:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20603:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65962,"nodeType":"ExpressionStatement","src":"20603:24:100"},{"expression":{"arguments":[{"id":65966,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"20663:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65967,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"20674:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":65968,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"20686:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"arguments":[{"id":65972,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"20712:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}],"id":65971,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20704:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65970,"name":"address","nodeType":"ElementaryTypeName","src":"20704:7:100","typeDescriptions":{}}},"id":65973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20704:17:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65969,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"20697:6:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$43048_$","typeString":"type(contract IERC20)"}},"id":65974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20697:25:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"hexValue":"35","id":65975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20724:7:100","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_5000000000000000000_by_1","typeString":"int_const 5000000000000000000"},"value":"5"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_rational_5000000000000000000_by_1","typeString":"int_const 5000000000000000000"}],"expression":{"id":65963,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"20637:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20641:21:100","memberName":"requestManagerSetBond","nodeType":"MemberAccess","referencedDeclaration":61227,"src":"20637:25:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_contract$_IERC20_$43048_$_t_uint256_$returns$__$","typeString":"function (address,bytes32,bytes memory,contract IERC20,uint256) external"}},"id":65976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20637:95:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65977,"nodeType":"ExpressionStatement","src":"20637:95:100"},{"assignments":[65979],"declarations":[{"constant":false,"id":65979,"mutability":"mutable","name":"totalBond","nameLocation":"20829:9:100","nodeType":"VariableDeclaration","scope":66013,"src":"20821:17:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65978,"name":"uint256","nodeType":"ElementaryTypeName","src":"20821:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65987,"initialValue":{"arguments":[{"id":65981,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64277,"src":"20853:6:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65982,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64273,"src":"20861:8:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65983,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"20871:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65984,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65947,"src":"20882:1:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"313030","id":65985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20885:3:100","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"id":65980,"name":"_proposeFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64821,"src":"20841:11:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (address,address,address,uint256,int256) returns (uint256)"}},"id":65986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20841:48:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20821:68:100"},{"expression":{"arguments":[{"id":65989,"name":"totalBond","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65979,"src":"20908:9:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3135","id":65990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20919:8:100","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_15000000000000000000_by_1","typeString":"int_const 15000000000000000000"},"value":"15"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_15000000000000000000_by_1","typeString":"int_const 15000000000000000000"}],"id":65988,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":403,"src":"20899:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":65991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20899:29:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65992,"nodeType":"ExpressionStatement","src":"20899:29:100"},{"assignments":[65997],"declarations":[{"constant":false,"id":65997,"mutability":"mutable","name":"req","nameLocation":"21043:3:100","nodeType":"VariableDeclaration","scope":66013,"src":"21000:46:100","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_memory_ptr","typeString":"struct OptimisticOracleV2Interface.Request"},"typeName":{"id":65996,"nodeType":"UserDefinedTypeName","pathNode":{"id":65995,"name":"OptimisticOracleV2Interface.Request","nameLocations":["21000:27:100","21028:7:100"],"nodeType":"IdentifierPath","referencedDeclaration":63797,"src":"21000:35:100"},"referencedDeclaration":63797,"src":"21000:35:100","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"}},"visibility":"internal"}],"id":66005,"initialValue":{"arguments":[{"id":66000,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"21064:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66001,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"21075:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66002,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65947,"src":"21087:1:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66003,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"21090:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65998,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"21049:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":65999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21053:10:100","memberName":"getRequest","nodeType":"MemberAccess","referencedDeclaration":62956,"src":"21049:14:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_struct$_Request_$63797_memory_ptr_$","typeString":"function (address,bytes32,uint256,bytes memory) view external returns (struct OptimisticOracleV2Interface.Request memory)"}},"id":66004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21049:51:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_memory_ptr","typeString":"struct OptimisticOracleV2Interface.Request memory"}},"nodeType":"VariableDeclarationStatement","src":"21000:100:100"},{"expression":{"arguments":[{"expression":{"expression":{"id":66007,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65997,"src":"21119:3:100","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_memory_ptr","typeString":"struct OptimisticOracleV2Interface.Request memory"}},"id":66008,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21123:15:100","memberName":"requestSettings","nodeType":"MemberAccess","referencedDeclaration":63786,"src":"21119:19:100","typeDescriptions":{"typeIdentifier":"t_struct$_RequestSettings_$63774_memory_ptr","typeString":"struct OptimisticOracleV2Interface.RequestSettings memory"}},"id":66009,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21139:4:100","memberName":"bond","nodeType":"MemberAccess","referencedDeclaration":63771,"src":"21119:24:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"35","id":66010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21145:7:100","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_5000000000000000000_by_1","typeString":"int_const 5000000000000000000"},"value":"5"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_5000000000000000000_by_1","typeString":"int_const 5000000000000000000"}],"id":66006,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":403,"src":"21110:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":66011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21110:43:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66012,"nodeType":"ExpressionStatement","src":"21110:43:100"}]},"functionSelector":"2c4991db","implemented":true,"kind":"function","modifiers":[],"name":"testCustomBondAppliedOnPropose","nameLocation":"20436:30:100","parameters":{"id":65944,"nodeType":"ParameterList","parameters":[],"src":"20466:2:100"},"returnParameters":{"id":65945,"nodeType":"ParameterList","parameters":[],"src":"20478:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":66105,"nodeType":"FunctionDefinition","src":"21236:819:100","nodes":[],"body":{"id":66104,"nodeType":"Block","src":"21292:763:100","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":66022,"name":"IAccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41191,"src":"21400:14:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IAccessControl_$41191_$","typeString":"type(contract IAccessControl)"}},"id":66023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21415:32:100","memberName":"AccessControlUnauthorizedAccount","nodeType":"MemberAccess","referencedDeclaration":41118,"src":"21400:47:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_bytes32_$returns$_t_error_$","typeString":"function (address,bytes32) pure returns (error)"}},"id":66024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21448:8:100","memberName":"selector","nodeType":"MemberAccess","src":"21400:56:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":66027,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21466:4:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2Test_$66846","typeString":"contract ManagedOptimisticOracleV2Test"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2Test_$66846","typeString":"contract ManagedOptimisticOracleV2Test"}],"id":66026,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21458:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66025,"name":"address","nodeType":"ElementaryTypeName","src":"21458:7:100","typeDescriptions":{}}},"id":66028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21458:13:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66029,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"21473:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66030,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21477:17:100","memberName":"CONFIG_ADMIN_ROLE","nodeType":"MemberAccess","referencedDeclaration":60892,"src":"21473:21:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":66031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21473:23:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":66020,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21360:3:100","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66021,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21364:18:100","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"21360:22:100","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":66032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21360:150:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66017,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"21331:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21334:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17910,"src":"21331:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":66033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21331:189:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66034,"nodeType":"ExpressionStatement","src":"21331:189:100"},{"expression":{"arguments":[{"hexValue":"32","id":66038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21553:7:100","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_7200_by_1","typeString":"int_const 7200"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_7200_by_1","typeString":"int_const 7200"}],"expression":{"id":66035,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"21530:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21534:18:100","memberName":"setMinimumLiveness","nodeType":"MemberAccess","referencedDeclaration":61095,"src":"21530:22:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":66039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21530:31:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66040,"nodeType":"ExpressionStatement","src":"21530:31:100"},{"expression":{"arguments":[{"id":66044,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64263,"src":"21607:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66041,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"21598:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21601:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"21598:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21598:21:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66046,"nodeType":"ExpressionStatement","src":"21598:21:100"},{"expression":{"arguments":[{"expression":{"expression":{"id":66050,"name":"OptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64049,"src":"21645:27:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OptimisticOracleV2Interface_$64049_$","typeString":"type(contract OptimisticOracleV2Interface)"}},"id":66051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21673:20:100","memberName":"LivenessCannotBeZero","nodeType":"MemberAccess","referencedDeclaration":63680,"src":"21645:48:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":66052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21694:8:100","memberName":"selector","nodeType":"MemberAccess","src":"21645:57:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":66047,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"21629:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21632:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17884,"src":"21629:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":66053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21629:74:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66054,"nodeType":"ExpressionStatement","src":"21629:74:100"},{"expression":{"arguments":[{"hexValue":"30","id":66058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21736:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":66055,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"21713:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21717:18:100","memberName":"setMinimumLiveness","nodeType":"MemberAccess","referencedDeclaration":61095,"src":"21713:22:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":66059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21713:25:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66060,"nodeType":"ExpressionStatement","src":"21713:25:100"},{"expression":{"arguments":[{"id":66064,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64263,"src":"21758:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66061,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"21749:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21752:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"21749:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21749:21:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66066,"nodeType":"ExpressionStatement","src":"21749:21:100"},{"expression":{"arguments":[{"expression":{"expression":{"id":66070,"name":"OptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64049,"src":"21796:27:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OptimisticOracleV2Interface_$64049_$","typeString":"type(contract OptimisticOracleV2Interface)"}},"id":66071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21824:16:100","memberName":"LivenessTooLarge","nodeType":"MemberAccess","referencedDeclaration":63677,"src":"21796:44:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":66072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21841:8:100","memberName":"selector","nodeType":"MemberAccess","src":"21796:53:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":66067,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"21780:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21783:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17884,"src":"21780:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":66073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21780:70:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66074,"nodeType":"ExpressionStatement","src":"21780:70:100"},{"expression":{"arguments":[{"expression":{"arguments":[{"id":66080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21888:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66079,"name":"uint256","nodeType":"ElementaryTypeName","src":"21888:7:100","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":66078,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"21883:4:100","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":66081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21883:13:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":66082,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21897:3:100","memberName":"max","nodeType":"MemberAccess","src":"21883:17:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66075,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"21860:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21864:18:100","memberName":"setMinimumLiveness","nodeType":"MemberAccess","referencedDeclaration":61095,"src":"21860:22:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":66083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21860:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66084,"nodeType":"ExpressionStatement","src":"21860:41:100"},{"expression":{"arguments":[{"id":66088,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64263,"src":"21945:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66085,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"21936:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21939:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"21936:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21936:21:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66090,"nodeType":"ExpressionStatement","src":"21936:21:100"},{"expression":{"arguments":[{"hexValue":"36","id":66094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21990:7:100","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_21600_by_1","typeString":"int_const 21600"},"value":"6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_21600_by_1","typeString":"int_const 21600"}],"expression":{"id":66091,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"21967:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21971:18:100","memberName":"setMinimumLiveness","nodeType":"MemberAccess","referencedDeclaration":61095,"src":"21967:22:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":66095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21967:31:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66096,"nodeType":"ExpressionStatement","src":"21967:31:100"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66098,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"22017:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22021:15:100","memberName":"minimumLiveness","nodeType":"MemberAccess","referencedDeclaration":60929,"src":"22017:19:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":66100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22017:21:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"36","id":66101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22040:7:100","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_21600_by_1","typeString":"int_const 21600"},"value":"6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_21600_by_1","typeString":"int_const 21600"}],"id":66097,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":403,"src":"22008:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":66102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22008:40:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66103,"nodeType":"ExpressionStatement","src":"22008:40:100"}]},"functionSelector":"8113f192","implemented":true,"kind":"function","modifiers":[],"name":"testSetMinimumLivenessAndValidation","nameLocation":"21245:35:100","parameters":{"id":66015,"nodeType":"ParameterList","parameters":[],"src":"21280:2:100"},"returnParameters":{"id":66016,"nodeType":"ParameterList","parameters":[],"src":"21292:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":66247,"nodeType":"FunctionDefinition","src":"22061:1366:100","nodes":[],"body":{"id":66246,"nodeType":"Block","src":"22136:1291:100","nodes":[],"statements":[{"assignments":[66109],"declarations":[{"constant":false,"id":66109,"mutability":"mutable","name":"t","nameLocation":"22154:1:100","nodeType":"VariableDeclaration","scope":66246,"src":"22146:9:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66108,"name":"uint256","nodeType":"ElementaryTypeName","src":"22146:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66112,"initialValue":{"expression":{"id":66110,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"22158:5:100","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":66111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22164:9:100","memberName":"timestamp","nodeType":"MemberAccess","src":"22158:15:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22146:27:100"},{"expression":{"arguments":[{"id":66114,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"22196:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66115,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66109,"src":"22207:1:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":66116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22210:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66113,"name":"_makeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64756,"src":"22183:12:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (uint256)"}},"id":66117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22183:29:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66118,"nodeType":"ExpressionStatement","src":"22183:29:100"},{"expression":{"arguments":[{"id":66122,"name":"requestManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64267,"src":"22267:14:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66119,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"22258:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22261:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"22258:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22258:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66124,"nodeType":"ExpressionStatement","src":"22258:24:100"},{"expression":{"arguments":[{"expression":{"expression":{"id":66128,"name":"ManagedOptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63637,"src":"22308:34:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2Interface_$63637_$","typeString":"type(contract ManagedOptimisticOracleV2Interface)"}},"id":66129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22343:14:100","memberName":"LivenessTooLow","nodeType":"MemberAccess","referencedDeclaration":63564,"src":"22308:49:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":66130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22358:8:100","memberName":"selector","nodeType":"MemberAccess","src":"22308:58:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":66125,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"22292:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22295:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17884,"src":"22292:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":66131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22292:75:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66132,"nodeType":"ExpressionStatement","src":"22292:75:100"},{"expression":{"arguments":[{"id":66136,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"22413:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66137,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"22424:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66138,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"22436:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"31","id":66139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22447:1:100","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":66133,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"22377:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22381:31:100","memberName":"requestManagerSetCustomLiveness","nodeType":"MemberAccess","referencedDeclaration":61271,"src":"22377:35:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (address,bytes32,bytes memory,uint256) external"}},"id":66140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22377:72:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66141,"nodeType":"ExpressionStatement","src":"22377:72:100"},{"expression":{"arguments":[{"id":66145,"name":"requestManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64267,"src":"22505:14:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66142,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"22496:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22499:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"22496:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22496:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66147,"nodeType":"ExpressionStatement","src":"22496:24:100"},{"expression":{"arguments":[{"expression":{"expression":{"id":66151,"name":"OptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64049,"src":"22546:27:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OptimisticOracleV2Interface_$64049_$","typeString":"type(contract OptimisticOracleV2Interface)"}},"id":66152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22574:16:100","memberName":"LivenessTooLarge","nodeType":"MemberAccess","referencedDeclaration":63677,"src":"22546:44:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":66153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22591:8:100","memberName":"selector","nodeType":"MemberAccess","src":"22546:53:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":66148,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"22530:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22533:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17884,"src":"22530:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":66154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22530:70:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66155,"nodeType":"ExpressionStatement","src":"22530:70:100"},{"expression":{"arguments":[{"id":66159,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"22646:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66160,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"22657:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66161,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"22669:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"35323030","id":66162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22680:10:100","subdenomination":"weeks","typeDescriptions":{"typeIdentifier":"t_rational_3144960000_by_1","typeString":"int_const 3144960000"},"value":"5200"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_3144960000_by_1","typeString":"int_const 3144960000"}],"expression":{"id":66156,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"22610:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22614:31:100","memberName":"requestManagerSetCustomLiveness","nodeType":"MemberAccess","referencedDeclaration":61271,"src":"22610:35:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (address,bytes32,bytes memory,uint256) external"}},"id":66163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22610:81:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66164,"nodeType":"ExpressionStatement","src":"22610:81:100"},{"expression":{"arguments":[{"hexValue":"74727565","id":66168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"22747:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":66169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"22753:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":66170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"22759:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":66171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"22765:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":66165,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"22733:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22736:10:100","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":17792,"src":"22733:13:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":66172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22733:37:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66173,"nodeType":"ExpressionStatement","src":"22733:37:100"},{"assignments":[66175],"declarations":[{"constant":false,"id":66175,"mutability":"mutable","name":"managedId","nameLocation":"22788:9:100","nodeType":"VariableDeclaration","scope":66246,"src":"22780:17:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":66174,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22780:7:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":66182,"initialValue":{"arguments":[{"id":66178,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"22824:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66179,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"22835:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66180,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"22847:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66176,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"22800:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22804:19:100","memberName":"getManagedRequestId","nodeType":"MemberAccess","referencedDeclaration":61524,"src":"22800:23:100","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (address,bytes32,bytes memory) pure external returns (bytes32)"}},"id":66181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22800:57:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"22780:77:100"},{"eventCall":{"arguments":[{"id":66186,"name":"managedId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66175,"src":"22925:9:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66187,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"22936:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66188,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"22947:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66189,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"22959:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"33","id":66190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22970:7:100","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_10800_by_1","typeString":"int_const 10800"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_10800_by_1","typeString":"int_const 10800"}],"expression":{"id":66183,"name":"ManagedOptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63637,"src":"22872:34:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2Interface_$63637_$","typeString":"type(contract ManagedOptimisticOracleV2Interface)"}},"id":66185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22907:17:100","memberName":"CustomLivenessSet","nodeType":"MemberAccess","referencedDeclaration":63624,"src":"22872:52:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (bytes32,address,bytes32,bytes memory,uint256)"}},"id":66191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22872:106:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66192,"nodeType":"EmitStatement","src":"22867:111:100"},{"expression":{"arguments":[{"id":66196,"name":"requestManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64267,"src":"22997:14:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66193,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"22988:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22991:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"22988:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22988:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66198,"nodeType":"ExpressionStatement","src":"22988:24:100"},{"expression":{"arguments":[{"id":66202,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"23058:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66203,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"23069:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66204,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"23081:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"33","id":66205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23092:7:100","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_10800_by_1","typeString":"int_const 10800"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_10800_by_1","typeString":"int_const 10800"}],"expression":{"id":66199,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"23022:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23026:31:100","memberName":"requestManagerSetCustomLiveness","nodeType":"MemberAccess","referencedDeclaration":61271,"src":"23022:35:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (address,bytes32,bytes memory,uint256) external"}},"id":66206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23022:78:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66207,"nodeType":"ExpressionStatement","src":"23022:78:100"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66211,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66109,"src":"23180:1:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3130","id":66212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23184:2:100","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"23180:6:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66208,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"23172:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23175:4:100","memberName":"warp","nodeType":"MemberAccess","referencedDeclaration":17598,"src":"23172:7:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":66214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23172:15:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66215,"nodeType":"ExpressionStatement","src":"23172:15:100"},{"expression":{"arguments":[{"id":66217,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64277,"src":"23209:6:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66218,"name":"proposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64273,"src":"23217:8:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66219,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"23227:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66220,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66109,"src":"23238:1:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"313233","id":66221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23241:3:100","typeDescriptions":{"typeIdentifier":"t_rational_123_by_1","typeString":"int_const 123"},"value":"123"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_123_by_1","typeString":"int_const 123"}],"id":66216,"name":"_proposeFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64821,"src":"23197:11:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (address,address,address,uint256,int256) returns (uint256)"}},"id":66222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23197:48:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66223,"nodeType":"ExpressionStatement","src":"23197:48:100"},{"assignments":[66228],"declarations":[{"constant":false,"id":66228,"mutability":"mutable","name":"req","nameLocation":"23298:3:100","nodeType":"VariableDeclaration","scope":66246,"src":"23255:46:100","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_memory_ptr","typeString":"struct OptimisticOracleV2Interface.Request"},"typeName":{"id":66227,"nodeType":"UserDefinedTypeName","pathNode":{"id":66226,"name":"OptimisticOracleV2Interface.Request","nameLocations":["23255:27:100","23283:7:100"],"nodeType":"IdentifierPath","referencedDeclaration":63797,"src":"23255:35:100"},"referencedDeclaration":63797,"src":"23255:35:100","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_storage_ptr","typeString":"struct OptimisticOracleV2Interface.Request"}},"visibility":"internal"}],"id":66236,"initialValue":{"arguments":[{"id":66231,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"23319:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66232,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"23330:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66233,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66109,"src":"23342:1:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66234,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"23345:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66229,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"23304:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23308:10:100","memberName":"getRequest","nodeType":"MemberAccess","referencedDeclaration":62956,"src":"23304:14:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_struct$_Request_$63797_memory_ptr_$","typeString":"function (address,bytes32,uint256,bytes memory) view external returns (struct OptimisticOracleV2Interface.Request memory)"}},"id":66235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23304:51:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_memory_ptr","typeString":"struct OptimisticOracleV2Interface.Request memory"}},"nodeType":"VariableDeclarationStatement","src":"23255:100:100"},{"expression":{"arguments":[{"expression":{"id":66238,"name":"req","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66228,"src":"23374:3:100","typeDescriptions":{"typeIdentifier":"t_struct$_Request_$63797_memory_ptr","typeString":"struct OptimisticOracleV2Interface.Request memory"}},"id":66239,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23378:14:100","memberName":"expirationTime","nodeType":"MemberAccess","referencedDeclaration":63792,"src":"23374:18:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66240,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"23394:5:100","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":66241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23400:9:100","memberName":"timestamp","nodeType":"MemberAccess","src":"23394:15:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"33","id":66242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23412:7:100","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_10800_by_1","typeString":"int_const 10800"},"value":"3"},"src":"23394:25:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66237,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":403,"src":"23365:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":66244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23365:55:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66245,"nodeType":"ExpressionStatement","src":"23365:55:100"}]},"functionSelector":"ac40329a","implemented":true,"kind":"function","modifiers":[],"name":"testRequestManagerSetCustomLivenessValidationAndEffect","nameLocation":"22070:54:100","parameters":{"id":66106,"nodeType":"ParameterList","parameters":[],"src":"22124:2:100"},"returnParameters":{"id":66107,"nodeType":"ParameterList","parameters":[],"src":"22136:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":66276,"nodeType":"FunctionDefinition","src":"23491:250:100","nodes":[],"body":{"id":66275,"nodeType":"Block","src":"23540:201:100","nodes":[],"statements":[{"assignments":[66251],"declarations":[{"constant":false,"id":66251,"mutability":"mutable","name":"id1","nameLocation":"23558:3:100","nodeType":"VariableDeclaration","scope":66275,"src":"23550:11:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":66250,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23550:7:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":66258,"initialValue":{"arguments":[{"id":66254,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"23588:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66255,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"23599:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66256,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"23611:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66252,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"23564:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23568:19:100","memberName":"getManagedRequestId","nodeType":"MemberAccess","referencedDeclaration":61524,"src":"23564:23:100","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (address,bytes32,bytes memory) pure external returns (bytes32)"}},"id":66257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23564:57:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"23550:71:100"},{"assignments":[66260],"declarations":[{"constant":false,"id":66260,"mutability":"mutable","name":"id2","nameLocation":"23639:3:100","nodeType":"VariableDeclaration","scope":66275,"src":"23631:11:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":66259,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23631:7:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":66269,"initialValue":{"arguments":[{"arguments":[{"id":66264,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"23672:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66265,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"23683:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66266,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"23695:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66262,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23655:3:100","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66263,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23659:12:100","memberName":"encodePacked","nodeType":"MemberAccess","src":"23655:16:100","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":66267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23655:50:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66261,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"23645:9:100","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23645:61:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"23631:75:100"},{"expression":{"arguments":[{"id":66271,"name":"id1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66251,"src":"23725:3:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66272,"name":"id2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66260,"src":"23730:3:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":66270,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":580,"src":"23716:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":66273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23716:18:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66274,"nodeType":"ExpressionStatement","src":"23716:18:100"}]},"functionSelector":"c75ead24","implemented":true,"kind":"function","modifiers":[],"name":"testGetManagedRequestId","nameLocation":"23500:23:100","parameters":{"id":66248,"nodeType":"ParameterList","parameters":[],"src":"23523:2:100"},"returnParameters":{"id":66249,"nodeType":"ParameterList","parameters":[],"src":"23540:0:100"},"scope":66846,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":66333,"nodeType":"FunctionDefinition","src":"23831:768:100","nodes":[],"body":{"id":66332,"nodeType":"Block","src":"23887:712:100","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66280,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"23966:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23970:18:100","memberName":"UPGRADE_ADMIN_ROLE","nodeType":"MemberAccess","referencedDeclaration":61858,"src":"23966:22:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":66282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23966:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66283,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"23992:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66284,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23996:18:100","memberName":"DEFAULT_ADMIN_ROLE","nodeType":"MemberAccess","referencedDeclaration":39390,"src":"23992:22:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":66285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23992:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":66279,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":580,"src":"23957:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":66286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23957:60:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66287,"nodeType":"ExpressionStatement","src":"23957:60:100"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66291,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"24121:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24125:18:100","memberName":"DEFAULT_ADMIN_ROLE","nodeType":"MemberAccess","referencedDeclaration":39390,"src":"24121:22:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":66293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24121:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66294,"name":"upgradeAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64265,"src":"24147:12:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66289,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"24109:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24113:7:100","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":39478,"src":"24109:11:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":66295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24109:51:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":66288,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[313,328],"referencedDeclaration":313,"src":"24098:10:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":66296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24098:63:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66297,"nodeType":"ExpressionStatement","src":"24098:63:100"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66301,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"24195:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66302,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24199:18:100","memberName":"DEFAULT_ADMIN_ROLE","nodeType":"MemberAccess","referencedDeclaration":39390,"src":"24195:22:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":66303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24195:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66304,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64263,"src":"24221:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66299,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"24183:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24187:7:100","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":39478,"src":"24183:11:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":66305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24183:50:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":66298,"name":"assertFalse","nodeType":"Identifier","overloadedDeclarations":[340,355],"referencedDeclaration":340,"src":"24171:11:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":66306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24171:63:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66307,"nodeType":"ExpressionStatement","src":"24171:63:100"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66311,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"24338:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66312,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24342:17:100","memberName":"CONFIG_ADMIN_ROLE","nodeType":"MemberAccess","referencedDeclaration":60892,"src":"24338:21:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":66313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24338:23:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":66309,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"24321:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24325:12:100","memberName":"getRoleAdmin","nodeType":"MemberAccess","referencedDeclaration":39533,"src":"24321:16:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view external returns (bytes32)"}},"id":66314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24321:41:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66315,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"24364:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66316,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24368:18:100","memberName":"DEFAULT_ADMIN_ROLE","nodeType":"MemberAccess","referencedDeclaration":39390,"src":"24364:22:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":66317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24364:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":66308,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":580,"src":"24312:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":66318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24312:77:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66319,"nodeType":"ExpressionStatement","src":"24312:77:100"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66323,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"24539:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66324,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24543:20:100","memberName":"REQUEST_MANAGER_ROLE","nodeType":"MemberAccess","referencedDeclaration":60897,"src":"24539:24:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":66325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24539:26:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":66321,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"24522:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24526:12:100","memberName":"getRoleAdmin","nodeType":"MemberAccess","referencedDeclaration":39533,"src":"24522:16:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view external returns (bytes32)"}},"id":66326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24522:44:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66327,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"24568:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66328,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24572:17:100","memberName":"CONFIG_ADMIN_ROLE","nodeType":"MemberAccess","referencedDeclaration":60892,"src":"24568:21:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":66329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24568:23:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":66320,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":580,"src":"24513:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":66330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24513:79:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66331,"nodeType":"ExpressionStatement","src":"24513:79:100"}]},"functionSelector":"84249442","implemented":true,"kind":"function","modifiers":[],"name":"testRolesAndOwnershipRelations","nameLocation":"23840:30:100","parameters":{"id":66277,"nodeType":"ParameterList","parameters":[],"src":"23870:2:100"},"returnParameters":{"id":66278,"nodeType":"ParameterList","parameters":[],"src":"23887:0:100"},"scope":66846,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":66392,"nodeType":"FunctionDefinition","src":"24605:552:100","nodes":[],"body":{"id":66391,"nodeType":"Block","src":"24664:493:100","nodes":[],"statements":[{"assignments":[66337],"declarations":[{"constant":false,"id":66337,"mutability":"mutable","name":"newConfig","nameLocation":"24682:9:100","nodeType":"VariableDeclaration","scope":66391,"src":"24674:17:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66336,"name":"address","nodeType":"ElementaryTypeName","src":"24674:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":66341,"initialValue":{"arguments":[{"hexValue":"6e6577436f6e66696741646d696e","id":66339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24703:16:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_36ea3e04c0a74d49987adc3cf263d284b907834288560c41f0316778ac8082bd","typeString":"literal_string \"newConfigAdmin\""},"value":"newConfigAdmin"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_36ea3e04c0a74d49987adc3cf263d284b907834288560c41f0316778ac8082bd","typeString":"literal_string \"newConfigAdmin\""}],"id":66338,"name":"makeAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"24694:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) returns (address)"}},"id":66340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24694:26:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"24674:46:100"},{"expression":{"arguments":[{"id":66345,"name":"upgradeAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64265,"src":"24797:12:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66342,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"24783:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24786:10:100","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":17486,"src":"24783:13:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24783:27:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66347,"nodeType":"ExpressionStatement","src":"24783:27:100"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66351,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"24834:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66352,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24838:17:100","memberName":"CONFIG_ADMIN_ROLE","nodeType":"MemberAccess","referencedDeclaration":60892,"src":"24834:21:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":66353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24834:23:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66354,"name":"newConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66337,"src":"24859:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66348,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"24820:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24824:9:100","memberName":"grantRole","nodeType":"MemberAccess","referencedDeclaration":39893,"src":"24820:13:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address) external"}},"id":66355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24820:49:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66356,"nodeType":"ExpressionStatement","src":"24820:49:100"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66360,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"24948:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66361,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24952:17:100","memberName":"CONFIG_ADMIN_ROLE","nodeType":"MemberAccess","referencedDeclaration":60892,"src":"24948:21:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":66362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24948:23:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66363,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64263,"src":"24973:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66357,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"24933:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24937:10:100","memberName":"revokeRole","nodeType":"MemberAccess","referencedDeclaration":39920,"src":"24933:14:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address) external"}},"id":66364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24933:52:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66365,"nodeType":"ExpressionStatement","src":"24933:52:100"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66366,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"24995:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24998:9:100","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":17530,"src":"24995:12:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":66369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24995:14:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66370,"nodeType":"ExpressionStatement","src":"24995:14:100"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66374,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"25042:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66375,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25046:17:100","memberName":"CONFIG_ADMIN_ROLE","nodeType":"MemberAccess","referencedDeclaration":60892,"src":"25042:21:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":66376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25042:23:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66377,"name":"newConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66337,"src":"25067:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66372,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"25030:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25034:7:100","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":39478,"src":"25030:11:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":66378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25030:47:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":66371,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[313,328],"referencedDeclaration":313,"src":"25019:10:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":66379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25019:59:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66380,"nodeType":"ExpressionStatement","src":"25019:59:100"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66384,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"25112:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66385,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25116:17:100","memberName":"CONFIG_ADMIN_ROLE","nodeType":"MemberAccess","referencedDeclaration":60892,"src":"25112:21:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":66386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25112:23:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66387,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64263,"src":"25137:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66382,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"25100:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25104:7:100","memberName":"hasRole","nodeType":"MemberAccess","referencedDeclaration":39478,"src":"25100:11:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":66388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25100:49:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":66381,"name":"assertFalse","nodeType":"Identifier","overloadedDeclarations":[340,355],"referencedDeclaration":340,"src":"25088:11:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":66389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25088:62:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66390,"nodeType":"ExpressionStatement","src":"25088:62:100"}]},"functionSelector":"cb062ceb","implemented":true,"kind":"function","modifiers":[],"name":"testDefaultAdminManagesConfigAdminRole","nameLocation":"24614:38:100","parameters":{"id":66334,"nodeType":"ParameterList","parameters":[],"src":"24652:2:100"},"returnParameters":{"id":66335,"nodeType":"ParameterList","parameters":[],"src":"24664:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":66468,"nodeType":"FunctionDefinition","src":"25163:732:100","nodes":[],"body":{"id":66467,"nodeType":"Block","src":"25208:687:100","nodes":[],"statements":[{"assignments":[66397],"declarations":[{"constant":false,"id":66397,"mutability":"mutable","name":"impl2","nameLocation":"25288:5:100","nodeType":"VariableDeclaration","scope":66467,"src":"25262:31:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"},"typeName":{"id":66396,"nodeType":"UserDefinedTypeName","pathNode":{"id":66395,"name":"ManagedOptimisticOracleV2","nameLocations":["25262:25:100"],"nodeType":"IdentifierPath","referencedDeclaration":61771,"src":"25262:25:100"},"referencedDeclaration":61771,"src":"25262:25:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"visibility":"internal"}],"id":66402,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":66400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"25296:29:100","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_ManagedOptimisticOracleV2_$61771_$","typeString":"function () returns (contract ManagedOptimisticOracleV2)"},"typeName":{"id":66399,"nodeType":"UserDefinedTypeName","pathNode":{"id":66398,"name":"ManagedOptimisticOracleV2","nameLocations":["25300:25:100"],"nodeType":"IdentifierPath","referencedDeclaration":61771,"src":"25300:25:100"},"referencedDeclaration":61771,"src":"25300:25:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}}},"id":66401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25296:31:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"nodeType":"VariableDeclarationStatement","src":"25262:65:100"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":66408,"name":"IAccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41191,"src":"25406:14:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IAccessControl_$41191_$","typeString":"type(contract IAccessControl)"}},"id":66409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25421:32:100","memberName":"AccessControlUnauthorizedAccount","nodeType":"MemberAccess","referencedDeclaration":41118,"src":"25406:47:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_bytes32_$returns$_t_error_$","typeString":"function (address,bytes32) pure returns (error)"}},"id":66410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25454:8:100","memberName":"selector","nodeType":"MemberAccess","src":"25406:56:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":66413,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"25472:4:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2Test_$66846","typeString":"contract ManagedOptimisticOracleV2Test"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2Test_$66846","typeString":"contract ManagedOptimisticOracleV2Test"}],"id":66412,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25464:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66411,"name":"address","nodeType":"ElementaryTypeName","src":"25464:7:100","typeDescriptions":{}}},"id":66414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25464:13:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66415,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"25479:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25483:18:100","memberName":"DEFAULT_ADMIN_ROLE","nodeType":"MemberAccess","referencedDeclaration":39390,"src":"25479:22:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":66417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25479:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":66406,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25366:3:100","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66407,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25370:18:100","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"25366:22:100","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":66418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25366:151:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66403,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"25337:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25340:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17910,"src":"25337:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":66419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25337:190:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66420,"nodeType":"ExpressionStatement","src":"25337:190:100"},{"expression":{"arguments":[{"arguments":[{"id":66426,"name":"impl2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66397,"src":"25566:5:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}],"id":66425,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25558:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66424,"name":"address","nodeType":"ElementaryTypeName","src":"25558:7:100","typeDescriptions":{}}},"id":66427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25558:14:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"","id":66428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25574:2:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":66421,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"25537:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25541:16:100","memberName":"upgradeToAndCall","nodeType":"MemberAccess","referencedDeclaration":40932,"src":"25537:20:100","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) payable external"}},"id":66429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25537:40:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66430,"nodeType":"ExpressionStatement","src":"25537:40:100"},{"assignments":[66432],"declarations":[{"constant":false,"id":66432,"mutability":"mutable","name":"prevMinLiveness","nameLocation":"25633:15:100","nodeType":"VariableDeclaration","scope":66467,"src":"25625:23:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66431,"name":"uint256","nodeType":"ElementaryTypeName","src":"25625:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66436,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66433,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"25651:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25655:15:100","memberName":"minimumLiveness","nodeType":"MemberAccess","referencedDeclaration":60929,"src":"25651:19:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":66435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25651:21:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25625:47:100"},{"expression":{"arguments":[{"id":66440,"name":"upgradeAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64265,"src":"25691:12:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66437,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"25682:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25685:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"25682:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25682:22:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66442,"nodeType":"ExpressionStatement","src":"25682:22:100"},{"expression":{"arguments":[{"arguments":[{"id":66448,"name":"impl2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66397,"src":"25743:5:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}],"id":66447,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25735:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66446,"name":"address","nodeType":"ElementaryTypeName","src":"25735:7:100","typeDescriptions":{}}},"id":66449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25735:14:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"","id":66450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25751:2:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":66443,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"25714:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25718:16:100","memberName":"upgradeToAndCall","nodeType":"MemberAccess","referencedDeclaration":40932,"src":"25714:20:100","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) payable external"}},"id":66451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25714:40:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66452,"nodeType":"ExpressionStatement","src":"25714:40:100"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66454,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"25800:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25804:15:100","memberName":"minimumLiveness","nodeType":"MemberAccess","referencedDeclaration":60929,"src":"25800:19:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":66456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25800:21:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66457,"name":"prevMinLiveness","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66432,"src":"25823:15:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66453,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":403,"src":"25791:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":66458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25791:48:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66459,"nodeType":"ExpressionStatement","src":"25791:48:100"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66461,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"25858:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25862:15:100","memberName":"defaultLiveness","nodeType":"MemberAccess","referencedDeclaration":61865,"src":"25858:19:100","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":66463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25858:21:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"32","id":66464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25881:6:100","subdenomination":"days","typeDescriptions":{"typeIdentifier":"t_rational_172800_by_1","typeString":"int_const 172800"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_172800_by_1","typeString":"int_const 172800"}],"id":66460,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":403,"src":"25849:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":66465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25849:39:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66466,"nodeType":"ExpressionStatement","src":"25849:39:100"}]},"functionSelector":"4353e5d6","implemented":true,"kind":"function","modifiers":[],"name":"testUpgradeAuthorization","nameLocation":"25172:24:100","parameters":{"id":66393,"nodeType":"ParameterList","parameters":[],"src":"25196:2:100"},"returnParameters":{"id":66394,"nodeType":"ParameterList","parameters":[],"src":"25208:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":66489,"nodeType":"FunctionDefinition","src":"25901:248:100","nodes":[],"body":{"id":66488,"nodeType":"Block","src":"25961:188:100","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66471,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"26052:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26055:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17878,"src":"26052:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":66474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26052:17:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66475,"nodeType":"ExpressionStatement","src":"26052:17:100"},{"expression":{"arguments":[{"id":66479,"name":"upgradeAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64265,"src":"26088:12:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66476,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"26079:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26082:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"26079:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26079:22:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66481,"nodeType":"ExpressionStatement","src":"26079:22:100"},{"expression":{"arguments":[{"hexValue":"34","id":66485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26134:7:100","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_14400_by_1","typeString":"int_const 14400"},"value":"4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_14400_by_1","typeString":"int_const 14400"}],"expression":{"id":66482,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"26111:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26115:18:100","memberName":"setMinimumLiveness","nodeType":"MemberAccess","referencedDeclaration":61095,"src":"26111:22:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":66486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26111:31:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66487,"nodeType":"ExpressionStatement","src":"26111:31:100"}]},"functionSelector":"1d78ce7b","implemented":true,"kind":"function","modifiers":[],"name":"testUpgradeAdminCannotCallConfigSetters","nameLocation":"25910:39:100","parameters":{"id":66469,"nodeType":"ParameterList","parameters":[],"src":"25949:2:100"},"returnParameters":{"id":66470,"nodeType":"ParameterList","parameters":[],"src":"25961:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":66568,"nodeType":"FunctionDefinition","src":"26237:868:100","nodes":[],"body":{"id":66567,"nodeType":"Block","src":"26315:790:100","nodes":[],"statements":[{"expression":{"arguments":[{"id":66495,"name":"requestManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64267,"src":"26407:14:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66492,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"26398:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26401:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"26398:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26398:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66497,"nodeType":"ExpressionStatement","src":"26398:24:100"},{"expression":{"arguments":[{"expression":{"expression":{"id":66501,"name":"ManagedOptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63637,"src":"26448:34:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2Interface_$63637_$","typeString":"type(contract ManagedOptimisticOracleV2Interface)"}},"id":66502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26483:29:100","memberName":"UnsupportedWhitelistInterface","nodeType":"MemberAccess","referencedDeclaration":63573,"src":"26448:64:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":66503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26513:8:100","memberName":"selector","nodeType":"MemberAccess","src":"26448:73:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":66498,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"26432:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26435:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17884,"src":"26432:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":66504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26432:90:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66505,"nodeType":"ExpressionStatement","src":"26432:90:100"},{"expression":{"arguments":[{"id":66509,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"26571:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66510,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"26582:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66511,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"26594:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":66514,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"26613:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}],"id":66513,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"26605:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66512,"name":"address","nodeType":"ElementaryTypeName","src":"26605:7:100","typeDescriptions":{}}},"id":66515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26605:17:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66506,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"26532:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26536:34:100","memberName":"requestManagerSetProposerWhitelist","nodeType":"MemberAccess","referencedDeclaration":61324,"src":"26532:38:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (address,bytes32,bytes memory,address) external"}},"id":66516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26532:91:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66517,"nodeType":"ExpressionStatement","src":"26532:91:100"},{"expression":{"arguments":[{"hexValue":"74727565","id":66521,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"26672:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"74727565","id":66522,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"26678:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":66523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"26684:5:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"74727565","id":66524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"26691:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":66518,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"26658:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26661:10:100","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":17792,"src":"26658:13:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":66525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26658:38:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66526,"nodeType":"ExpressionStatement","src":"26658:38:100"},{"assignments":[66528],"declarations":[{"constant":false,"id":66528,"mutability":"mutable","name":"managedId","nameLocation":"26714:9:100","nodeType":"VariableDeclaration","scope":66567,"src":"26706:17:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":66527,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26706:7:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":66535,"initialValue":{"arguments":[{"id":66531,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"26750:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66532,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"26761:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66533,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"26773:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66529,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"26726:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26730:19:100","memberName":"getManagedRequestId","nodeType":"MemberAccess","referencedDeclaration":61524,"src":"26726:23:100","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (address,bytes32,bytes memory) pure external returns (bytes32)"}},"id":66534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26726:57:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"26706:77:100"},{"eventCall":{"arguments":[{"id":66539,"name":"managedId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66528,"src":"26873:9:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66540,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"26884:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66541,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"26895:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66542,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"26907:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":66545,"name":"disabledWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64297,"src":"26926:17:100","typeDescriptions":{"typeIdentifier":"t_contract$_DisabledAddressWhitelist_$60583","typeString":"contract DisabledAddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_DisabledAddressWhitelist_$60583","typeString":"contract DisabledAddressWhitelist"}],"id":66544,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"26918:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66543,"name":"address","nodeType":"ElementaryTypeName","src":"26918:7:100","typeDescriptions":{}}},"id":66546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26918:26:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66536,"name":"ManagedOptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63637,"src":"26798:34:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2Interface_$63637_$","typeString":"type(contract ManagedOptimisticOracleV2Interface)"}},"id":66538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26833:26:100","memberName":"CustomProposerWhitelistSet","nodeType":"MemberAccess","referencedDeclaration":63636,"src":"26798:61:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (bytes32,address,bytes32,bytes memory,address)"}},"id":66547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26798:156:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66548,"nodeType":"EmitStatement","src":"26793:161:100"},{"expression":{"arguments":[{"id":66552,"name":"requestManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64267,"src":"26973:14:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66549,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"26964:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26967:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"26964:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26964:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66554,"nodeType":"ExpressionStatement","src":"26964:24:100"},{"expression":{"arguments":[{"id":66558,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"27037:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66559,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"27048:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66560,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"27060:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":66563,"name":"disabledWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64297,"src":"27079:17:100","typeDescriptions":{"typeIdentifier":"t_contract$_DisabledAddressWhitelist_$60583","typeString":"contract DisabledAddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_DisabledAddressWhitelist_$60583","typeString":"contract DisabledAddressWhitelist"}],"id":66562,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27071:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66561,"name":"address","nodeType":"ElementaryTypeName","src":"27071:7:100","typeDescriptions":{}}},"id":66564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27071:26:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66555,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"26998:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27002:34:100","memberName":"requestManagerSetProposerWhitelist","nodeType":"MemberAccess","referencedDeclaration":61324,"src":"26998:38:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (address,bytes32,bytes memory,address) external"}},"id":66565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26998:100:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66566,"nodeType":"ExpressionStatement","src":"26998:100:100"}]},"functionSelector":"5e341e80","implemented":true,"kind":"function","modifiers":[],"name":"testRequestManagerSetProposerWhitelistValidationsAndEvent","nameLocation":"26246:57:100","parameters":{"id":66490,"nodeType":"ParameterList","parameters":[],"src":"26303:2:100"},"returnParameters":{"id":66491,"nodeType":"ParameterList","parameters":[],"src":"26315:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":66666,"nodeType":"FunctionDefinition","src":"27111:1027:100","nodes":[],"body":{"id":66665,"nodeType":"Block","src":"27173:965:100","nodes":[],"statements":[{"assignments":[66572],"declarations":[{"constant":false,"id":66572,"mutability":"mutable","name":"t","nameLocation":"27191:1:100","nodeType":"VariableDeclaration","scope":66665,"src":"27183:9:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66571,"name":"uint256","nodeType":"ElementaryTypeName","src":"27183:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66575,"initialValue":{"expression":{"id":66573,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"27195:5:100","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":66574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27201:9:100","memberName":"timestamp","nodeType":"MemberAccess","src":"27195:15:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27183:27:100"},{"expression":{"arguments":[{"id":66577,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"27233:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66578,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66572,"src":"27244:1:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":66579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27247:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66576,"name":"_makeRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64756,"src":"27220:12:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (uint256)"}},"id":66580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27220:29:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66581,"nodeType":"ExpressionStatement","src":"27220:29:100"},{"expression":{"arguments":[{"id":66585,"name":"requestManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64267,"src":"27310:14:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66582,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27301:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27304:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"27301:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27301:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66587,"nodeType":"ExpressionStatement","src":"27301:24:100"},{"expression":{"arguments":[{"id":66591,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"27374:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66592,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"27385:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66593,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"27397:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":66596,"name":"disabledWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64297,"src":"27416:17:100","typeDescriptions":{"typeIdentifier":"t_contract$_DisabledAddressWhitelist_$60583","typeString":"contract DisabledAddressWhitelist"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_DisabledAddressWhitelist_$60583","typeString":"contract DisabledAddressWhitelist"}],"id":66595,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27408:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66594,"name":"address","nodeType":"ElementaryTypeName","src":"27408:7:100","typeDescriptions":{}}},"id":66597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27408:26:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66588,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"27335:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27339:34:100","memberName":"requestManagerSetProposerWhitelist","nodeType":"MemberAccess","referencedDeclaration":61324,"src":"27335:38:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (address,bytes32,bytes memory,address) external"}},"id":66598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27335:100:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66599,"nodeType":"ExpressionStatement","src":"27335:100:100"},{"assignments":[66601],"declarations":[{"constant":false,"id":66601,"mutability":"mutable","name":"freeSender","nameLocation":"27491:10:100","nodeType":"VariableDeclaration","scope":66665,"src":"27483:18:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66600,"name":"address","nodeType":"ElementaryTypeName","src":"27483:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":66605,"initialValue":{"arguments":[{"hexValue":"6672656553656e646572","id":66603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27513:12:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d10582c585a59b91f8166585888f94a426fb32cc60fd3d0beb31442727acecb","typeString":"literal_string \"freeSender\""},"value":"freeSender"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d10582c585a59b91f8166585888f94a426fb32cc60fd3d0beb31442727acecb","typeString":"literal_string \"freeSender\""}],"id":66602,"name":"makeAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"27504:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) returns (address)"}},"id":66604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27504:22:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"27483:43:100"},{"assignments":[66607],"declarations":[{"constant":false,"id":66607,"mutability":"mutable","name":"freeProposer","nameLocation":"27544:12:100","nodeType":"VariableDeclaration","scope":66665,"src":"27536:20:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66606,"name":"address","nodeType":"ElementaryTypeName","src":"27536:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":66611,"initialValue":{"arguments":[{"hexValue":"6672656550726f706f736572","id":66609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27568:14:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_73ba56269a1213d22eeeaa26dcdbd404bbf1d9e29ebf560e5fbfa2dce0db40b7","typeString":"literal_string \"freeProposer\""},"value":"freeProposer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_73ba56269a1213d22eeeaa26dcdbd404bbf1d9e29ebf560e5fbfa2dce0db40b7","typeString":"literal_string \"freeProposer\""}],"id":66608,"name":"makeAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"27559:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) returns (address)"}},"id":66610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27559:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"27536:47:100"},{"expression":{"arguments":[{"id":66613,"name":"freeSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66601,"src":"27605:10:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66614,"name":"freeProposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66607,"src":"27617:12:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66615,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"27631:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66616,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66572,"src":"27642:1:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"37","id":66617,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27645:1:100","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"}],"id":66612,"name":"_proposeFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64821,"src":"27593:11:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (address,address,address,uint256,int256) returns (uint256)"}},"id":66618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27593:54:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66619,"nodeType":"ExpressionStatement","src":"27593:54:100"},{"expression":{"arguments":[{"id":66623,"name":"requestManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64267,"src":"27719:14:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66620,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27710:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27713:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"27710:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27710:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66625,"nodeType":"ExpressionStatement","src":"27710:24:100"},{"expression":{"arguments":[{"id":66629,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"27783:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66630,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"27794:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66631,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"27806:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"30","id":66634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27825:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66633,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27817:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66632,"name":"address","nodeType":"ElementaryTypeName","src":"27817:7:100","typeDescriptions":{}}},"id":66635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27817:10:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66626,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"27744:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27748:34:100","memberName":"requestManagerSetProposerWhitelist","nodeType":"MemberAccess","referencedDeclaration":61324,"src":"27744:38:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (address,bytes32,bytes memory,address) external"}},"id":66636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27744:84:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66637,"nodeType":"ExpressionStatement","src":"27744:84:100"},{"expression":{"arguments":[{"id":66641,"name":"freeSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66601,"src":"27940:10:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66638,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27931:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27934:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"27931:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27931:20:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66643,"nodeType":"ExpressionStatement","src":"27931:20:100"},{"expression":{"arguments":[{"expression":{"expression":{"id":66647,"name":"ManagedOptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63637,"src":"27977:34:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2Interface_$63637_$","typeString":"type(contract ManagedOptimisticOracleV2Interface)"}},"id":66648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28012:22:100","memberName":"ProposerNotWhitelisted","nodeType":"MemberAccess","referencedDeclaration":63567,"src":"27977:57:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":66649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28035:8:100","memberName":"selector","nodeType":"MemberAccess","src":"27977:66:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":66644,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27961:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27964:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17884,"src":"27961:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":66650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27961:83:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66651,"nodeType":"ExpressionStatement","src":"27961:83:100"},{"expression":{"arguments":[{"id":66655,"name":"freeProposer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66607,"src":"28074:12:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66656,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"28088:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66657,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"28099:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66658,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66572,"src":"28111:1:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":66659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28115:1:100","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"28111:5:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66661,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"28118:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"31","id":66662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28129:1:100","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":66652,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"28054:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28058:15:100","memberName":"proposePriceFor","nodeType":"MemberAccess","referencedDeclaration":61443,"src":"28054:19:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes_memory_ptr_$_t_int256_$returns$_t_uint256_$","typeString":"function (address,address,bytes32,uint256,bytes memory,int256) external returns (uint256)"}},"id":66663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28054:77:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66664,"nodeType":"ExpressionStatement","src":"28054:77:100"}]},"functionSelector":"d6352a36","implemented":true,"kind":"function","modifiers":[],"name":"testResetCustomProposerWhitelistToDefault","nameLocation":"27120:41:100","parameters":{"id":66569,"nodeType":"ParameterList","parameters":[],"src":"27161:2:100"},"returnParameters":{"id":66570,"nodeType":"ParameterList","parameters":[],"src":"27173:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":66714,"nodeType":"FunctionDefinition","src":"28144:401:100","nodes":[],"body":{"id":66713,"nodeType":"Block","src":"28201:344:100","nodes":[],"statements":[{"expression":{"arguments":[{"id":66672,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64263,"src":"28244:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66669,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"28235:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28238:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"28235:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28235:21:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66674,"nodeType":"ExpressionStatement","src":"28235:21:100"},{"expression":{"arguments":[{"hexValue":"74727565","id":66678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"28280:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":66679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"28286:5:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":66680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"28293:5:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"74727565","id":66681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"28300:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":66675,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"28266:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28269:10:100","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":17792,"src":"28266:13:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":66682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28266:39:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66683,"nodeType":"ExpressionStatement","src":"28266:39:100"},{"eventCall":{"arguments":[{"arguments":[{"arguments":[{"id":66690,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"28394:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}],"id":66689,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28386:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66688,"name":"address","nodeType":"ElementaryTypeName","src":"28386:7:100","typeDescriptions":{}}},"id":66691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28386:17:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66687,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"28379:6:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$43048_$","typeString":"type(contract IERC20)"}},"id":66692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28379:25:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"hexValue":"32","id":66693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28406:7:100","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"},"value":"2"},{"hexValue":"33","id":66694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28415:7:100","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_3000000000000000000_by_1","typeString":"int_const 3000000000000000000"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"},{"typeIdentifier":"t_rational_3000000000000000000_by_1","typeString":"int_const 3000000000000000000"}],"expression":{"id":66684,"name":"ManagedOptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63637,"src":"28320:34:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2Interface_$63637_$","typeString":"type(contract ManagedOptimisticOracleV2Interface)"}},"id":66686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28355:23:100","memberName":"AllowedBondRangeUpdated","nodeType":"MemberAccess","referencedDeclaration":63585,"src":"28320:58:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IERC20_$43048_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (contract IERC20,uint256,uint256)"}},"id":66695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28320:103:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66696,"nodeType":"EmitStatement","src":"28315:108:100"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":66703,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64306,"src":"28472:8:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}],"id":66702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28464:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66701,"name":"address","nodeType":"ElementaryTypeName","src":"28464:7:100","typeDescriptions":{}}},"id":66704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28464:17:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66700,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"28457:6:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$43048_$","typeString":"type(contract IERC20)"}},"id":66705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28457:25:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"arguments":[{"hexValue":"32","id":66708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28520:7:100","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"},"value":"2"},{"hexValue":"33","id":66709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28529:7:100","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_3000000000000000000_by_1","typeString":"int_const 3000000000000000000"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2000000000000000000_by_1","typeString":"int_const 2000000000000000000"},{"typeIdentifier":"t_rational_3000000000000000000_by_1","typeString":"int_const 3000000000000000000"}],"expression":{"id":66706,"name":"ManagedOptimisticOracleV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61771,"src":"28484:25:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2_$61771_$","typeString":"type(contract ManagedOptimisticOracleV2)"}},"id":66707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28510:9:100","memberName":"BondRange","nodeType":"MemberAccess","referencedDeclaration":60870,"src":"28484:35:100","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_BondRange_$60870_storage_ptr_$","typeString":"type(struct ManagedOptimisticOracleV2.BondRange storage pointer)"}},"id":66710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28484:53:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_BondRange_$60870_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_struct$_BondRange_$60870_memory_ptr","typeString":"struct ManagedOptimisticOracleV2.BondRange memory"}],"expression":{"id":66697,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"28433:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28437:19:100","memberName":"setAllowedBondRange","nodeType":"MemberAccess","referencedDeclaration":61080,"src":"28433:23:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_contract$_IERC20_$43048_$_t_struct$_BondRange_$60870_memory_ptr_$returns$__$","typeString":"function (contract IERC20,struct ManagedOptimisticOracleV2.BondRange memory) external"}},"id":66711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28433:105:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66712,"nodeType":"ExpressionStatement","src":"28433:105:100"}]},"functionSelector":"a452fa7c","implemented":true,"kind":"function","modifiers":[],"name":"testAllowedBondRangeEventAndBehavior","nameLocation":"28153:36:100","parameters":{"id":66667,"nodeType":"ParameterList","parameters":[],"src":"28189:2:100"},"returnParameters":{"id":66668,"nodeType":"ParameterList","parameters":[],"src":"28201:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":66745,"nodeType":"FunctionDefinition","src":"28551:255:100","nodes":[],"body":{"id":66744,"nodeType":"Block","src":"28596:210:100","nodes":[],"statements":[{"expression":{"arguments":[{"id":66720,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64263,"src":"28615:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66717,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"28606:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28609:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"28606:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28606:21:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66722,"nodeType":"ExpressionStatement","src":"28606:21:100"},{"expression":{"arguments":[{"hexValue":"66616c7365","id":66726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"28651:5:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":66727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"28658:5:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":66728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"28665:5:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"74727565","id":66729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"28672:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":66723,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"28637:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28640:10:100","memberName":"expectEmit","nodeType":"MemberAccess","referencedDeclaration":17792,"src":"28637:13:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_bool_$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool,bool,bool) external"}},"id":66730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28637:40:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66731,"nodeType":"ExpressionStatement","src":"28637:40:100"},{"eventCall":{"arguments":[{"hexValue":"38","id":66735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28750:7:100","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_28800_by_1","typeString":"int_const 28800"},"value":"8"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28800_by_1","typeString":"int_const 28800"}],"expression":{"id":66732,"name":"ManagedOptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63637,"src":"28692:34:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2Interface_$63637_$","typeString":"type(contract ManagedOptimisticOracleV2Interface)"}},"id":66734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28727:22:100","memberName":"MinimumLivenessUpdated","nodeType":"MemberAccess","referencedDeclaration":63589,"src":"28692:57:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":66736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28692:66:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66737,"nodeType":"EmitStatement","src":"28687:71:100"},{"expression":{"arguments":[{"hexValue":"38","id":66741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28791:7:100","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_28800_by_1","typeString":"int_const 28800"},"value":"8"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_28800_by_1","typeString":"int_const 28800"}],"expression":{"id":66738,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"28768:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28772:18:100","memberName":"setMinimumLiveness","nodeType":"MemberAccess","referencedDeclaration":61095,"src":"28768:22:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":66742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28768:31:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66743,"nodeType":"ExpressionStatement","src":"28768:31:100"}]},"functionSelector":"114fac26","implemented":true,"kind":"function","modifiers":[],"name":"testMinimumLivenessEvent","nameLocation":"28560:24:100","parameters":{"id":66715,"nodeType":"ParameterList","parameters":[],"src":"28584:2:100"},"returnParameters":{"id":66716,"nodeType":"ParameterList","parameters":[],"src":"28596:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":66787,"nodeType":"FunctionDefinition","src":"28812:558:100","nodes":[],"body":{"id":66786,"nodeType":"Block","src":"28893:477:100","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":66753,"name":"otherCurrency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64309,"src":"29031:13:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}],"id":66752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29023:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66751,"name":"address","nodeType":"ElementaryTypeName","src":"29023:7:100","typeDescriptions":{}}},"id":66754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29023:22:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66748,"name":"collateralWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64288,"src":"28988:19:100","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":66750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29008:14:100","memberName":"addToWhitelist","nodeType":"MemberAccess","referencedDeclaration":60405,"src":"28988:34:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28988:58:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66756,"nodeType":"ExpressionStatement","src":"28988:58:100"},{"expression":{"arguments":[{"id":66760,"name":"requestManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64267,"src":"29151:14:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66757,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"29142:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29145:5:100","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"29142:8:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29142:24:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66762,"nodeType":"ExpressionStatement","src":"29142:24:100"},{"expression":{"arguments":[{"expression":{"expression":{"id":66766,"name":"ManagedOptimisticOracleV2Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63637,"src":"29192:34:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ManagedOptimisticOracleV2Interface_$63637_$","typeString":"type(contract ManagedOptimisticOracleV2Interface)"}},"id":66767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29227:22:100","memberName":"BondExceedsMaximumBond","nodeType":"MemberAccess","referencedDeclaration":63561,"src":"29192:57:100","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":66768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29250:8:100","memberName":"selector","nodeType":"MemberAccess","src":"29192:66:100","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":66763,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"29176:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29179:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17884,"src":"29176:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":66769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29176:83:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66770,"nodeType":"ExpressionStatement","src":"29176:83:100"},{"expression":{"arguments":[{"id":66774,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"29295:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66775,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"29306:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66776,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"29318:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"arguments":[{"id":66780,"name":"otherCurrency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64309,"src":"29344:13:100","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20Mock_$41747","typeString":"contract ERC20Mock"}],"id":66779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29336:7:100","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66778,"name":"address","nodeType":"ElementaryTypeName","src":"29336:7:100","typeDescriptions":{}}},"id":66781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29336:22:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66777,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43048,"src":"29329:6:100","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$43048_$","typeString":"type(contract IERC20)"}},"id":66782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29329:30:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"}},{"hexValue":"31","id":66783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29361:1:100","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_contract$_IERC20_$43048","typeString":"contract IERC20"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":66771,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"29269:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29273:21:100","memberName":"requestManagerSetBond","nodeType":"MemberAccess","referencedDeclaration":61227,"src":"29269:25:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_contract$_IERC20_$43048_$_t_uint256_$returns$__$","typeString":"function (address,bytes32,bytes memory,contract IERC20,uint256) external"}},"id":66784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29269:94:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66785,"nodeType":"ExpressionStatement","src":"29269:94:100"}]},"functionSelector":"fea47122","implemented":true,"kind":"function","modifiers":[],"name":"testBondOverrideBlockedForWhitelistedButUnconfiguredCurrency","nameLocation":"28821:60:100","parameters":{"id":66746,"nodeType":"ParameterList","parameters":[],"src":"28881:2:100"},"returnParameters":{"id":66747,"nodeType":"ParameterList","parameters":[],"src":"28893:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":66845,"nodeType":"FunctionDefinition","src":"29376:484:100","nodes":[],"body":{"id":66844,"nodeType":"Block","src":"29432:428:100","nodes":[],"statements":[{"assignments":[66791],"declarations":[{"constant":false,"id":66791,"mutability":"mutable","name":"tempMgr","nameLocation":"29450:7:100","nodeType":"VariableDeclaration","scope":66844,"src":"29442:15:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66790,"name":"address","nodeType":"ElementaryTypeName","src":"29442:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":66795,"initialValue":{"arguments":[{"hexValue":"74656d704d6772","id":66793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29469:9:100","typeDescriptions":{"typeIdentifier":"t_stringliteral_ad23454ddd8e9067eb535a5a6068de9fad3102a53384cae4088617155efa4410","typeString":"literal_string \"tempMgr\""},"value":"tempMgr"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ad23454ddd8e9067eb535a5a6068de9fad3102a53384cae4088617155efa4410","typeString":"literal_string \"tempMgr\""}],"id":66792,"name":"makeAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"29460:8:100","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) returns (address)"}},"id":66794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29460:19:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"29442:37:100"},{"expression":{"arguments":[{"id":66799,"name":"configAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64263,"src":"29530:11:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66796,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"29516:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29519:10:100","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":17486,"src":"29516:13:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29516:26:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66801,"nodeType":"ExpressionStatement","src":"29516:26:100"},{"expression":{"arguments":[{"id":66805,"name":"tempMgr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66791,"src":"29574:7:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66802,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"29552:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29556:17:100","memberName":"addRequestManager","nodeType":"MemberAccess","referencedDeclaration":61046,"src":"29552:21:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29552:30:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66807,"nodeType":"ExpressionStatement","src":"29552:30:100"},{"expression":{"arguments":[{"id":66811,"name":"tempMgr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66791,"src":"29617:7:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66808,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"29592:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29596:20:100","memberName":"removeRequestManager","nodeType":"MemberAccess","referencedDeclaration":61060,"src":"29592:24:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29592:33:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66813,"nodeType":"ExpressionStatement","src":"29592:33:100"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66814,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"29635:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29638:9:100","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":17530,"src":"29635:12:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":66817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29635:14:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66818,"nodeType":"ExpressionStatement","src":"29635:14:100"},{"expression":{"arguments":[{"id":66822,"name":"tempMgr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66791,"src":"29706:7:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66819,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"29692:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29695:10:100","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":17486,"src":"29692:13:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29692:22:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66824,"nodeType":"ExpressionStatement","src":"29692:22:100"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66825,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"29724:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29727:12:100","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17878,"src":"29724:15:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":66828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29724:17:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66829,"nodeType":"ExpressionStatement","src":"29724:17:100"},{"expression":{"arguments":[{"id":66833,"name":"requester","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64269,"src":"29787:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66834,"name":"IDENTIFIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64314,"src":"29798:10:100","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66835,"name":"ANCILLARY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64320,"src":"29810:9:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"32","id":66836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29821:7:100","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_7200_by_1","typeString":"int_const 7200"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_7200_by_1","typeString":"int_const 7200"}],"expression":{"id":66830,"name":"moo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64282,"src":"29751:3:100","typeDescriptions":{"typeIdentifier":"t_contract$_ManagedOptimisticOracleV2_$61771","typeString":"contract ManagedOptimisticOracleV2"}},"id":66832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29755:31:100","memberName":"requestManagerSetCustomLiveness","nodeType":"MemberAccess","referencedDeclaration":61271,"src":"29751:35:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (address,bytes32,bytes memory,uint256) external"}},"id":66837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29751:78:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66838,"nodeType":"ExpressionStatement","src":"29751:78:100"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66839,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"29839:2:100","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29842:9:100","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":17530,"src":"29839:12:100","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":66842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29839:14:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66843,"nodeType":"ExpressionStatement","src":"29839:14:100"}]},"functionSelector":"eaf48b12","implemented":true,"kind":"function","modifiers":[],"name":"testRemovedRequestManagerCannotCall","nameLocation":"29385:35:100","parameters":{"id":66788,"nodeType":"ParameterList","parameters":[],"src":"29420:2:100"},"returnParameters":{"id":66789,"nodeType":"ParameterList","parameters":[],"src":"29432:0:100"},"scope":66846,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":64260,"name":"Test","nameLocations":["3716:4:100"],"nodeType":"IdentifierPath","referencedDeclaration":12986,"src":"3716:4:100"},"id":64261,"nodeType":"InheritanceSpecifier","src":"3716:4:100"}],"canonicalName":"ManagedOptimisticOracleV2Test","contractDependencies":[41747,41785,60496,60583,61771,64164,64210,64259],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[66846,12986,12932,6969,6568,5773,3683,2721,50,47],"name":"ManagedOptimisticOracleV2Test","nameLocation":"3683:29:100","scope":66847,"usedErrors":[],"usedEvents":[126,130,134,138,142,146,150,154,160,166,174,182,188,194,200,206,211,216,221,228,235,242,41139,41148,63585,63589,63593,63597,63612,63624,63636]}],"license":"AGPL-3.0-only"}},"test/common/AddressWhitelist.t.sol":{"id":101,"ast":{"absolutePath":"test/common/AddressWhitelist.t.sol","id":67291,"exportedSymbols":{"AddressWhitelist":[60496],"AddressWhitelistInterface":[60790],"AddressWhitelistTest":[67290],"Ownable":[41339],"Test":[12986],"Vm":[18001]},"nodeType":"SourceUnit","src":"42:3825:101","nodes":[{"id":66848,"nodeType":"PragmaDirective","src":"42:24:101","nodes":[],"literals":["solidity","^","0.8",".27"]},{"id":66850,"nodeType":"ImportDirective","src":"68:40:101","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":67291,"sourceUnit":12987,"symbolAliases":[{"foreign":{"id":66849,"name":"Test","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12986,"src":"76:4:101","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66852,"nodeType":"ImportDirective","src":"109:36:101","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"forge-std/Vm.sol","nameLocation":"-1:-1:-1","scope":67291,"sourceUnit":18002,"symbolAliases":[{"foreign":{"id":66851,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18001,"src":"117:2:101","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66854,"nodeType":"ImportDirective","src":"147:80:101","nodes":[],"absolutePath":"src/common/implementation/AddressWhitelist.sol","file":"src/common/implementation/AddressWhitelist.sol","nameLocation":"-1:-1:-1","scope":67291,"sourceUnit":60497,"symbolAliases":[{"foreign":{"id":66853,"name":"AddressWhitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60496,"src":"155:16:101","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66856,"nodeType":"ImportDirective","src":"228:94:101","nodes":[],"absolutePath":"src/common/interfaces/AddressWhitelistInterface.sol","file":"src/common/interfaces/AddressWhitelistInterface.sol","nameLocation":"-1:-1:-1","scope":67291,"sourceUnit":60791,"symbolAliases":[{"foreign":{"id":66855,"name":"AddressWhitelistInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60790,"src":"236:25:101","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66858,"nodeType":"ImportDirective","src":"323:67:101","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/access/Ownable.sol","file":"@openzeppelin/contracts/access/Ownable.sol","nameLocation":"-1:-1:-1","scope":67291,"sourceUnit":41340,"symbolAliases":[{"foreign":{"id":66857,"name":"Ownable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41339,"src":"331:7:101","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":67290,"nodeType":"ContractDefinition","src":"392:3474:101","nodes":[{"id":66863,"nodeType":"VariableDeclaration","src":"436:34:101","nodes":[],"constant":false,"mutability":"mutable","name":"whitelist","nameLocation":"461:9:101","scope":67290,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"},"typeName":{"id":66862,"nodeType":"UserDefinedTypeName","pathNode":{"id":66861,"name":"AddressWhitelist","nameLocations":["436:16:101"],"nodeType":"IdentifierPath","referencedDeclaration":60496,"src":"436:16:101"},"referencedDeclaration":60496,"src":"436:16:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"visibility":"private"},{"id":66868,"nodeType":"VariableDeclaration","src":"477:41:101","nodes":[],"constant":false,"mutability":"mutable","name":"alice","nameLocation":"493:5:101","scope":67290,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66864,"name":"address","nodeType":"ElementaryTypeName","src":"477:7:101","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"616c696365","id":66866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"510:7:101","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c0257114eb9399a2985f8e75dad7600c5d89fe3824ffa99ec1c3eb8bf3b0501","typeString":"literal_string \"alice\""},"value":"alice"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9c0257114eb9399a2985f8e75dad7600c5d89fe3824ffa99ec1c3eb8bf3b0501","typeString":"literal_string \"alice\""}],"id":66865,"name":"makeAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"501:8:101","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) returns (address)"}},"id":66867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"501:17:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"id":66873,"nodeType":"VariableDeclaration","src":"524:37:101","nodes":[],"constant":false,"mutability":"mutable","name":"bob","nameLocation":"540:3:101","scope":67290,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66869,"name":"address","nodeType":"ElementaryTypeName","src":"524:7:101","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"626f62","id":66871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"555:5:101","typeDescriptions":{"typeIdentifier":"t_stringliteral_38e47a7b719dce63662aeaf43440326f551b8a7ee198cee35cb5d517f2d296a2","typeString":"literal_string \"bob\""},"value":"bob"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_38e47a7b719dce63662aeaf43440326f551b8a7ee198cee35cb5d517f2d296a2","typeString":"literal_string \"bob\""}],"id":66870,"name":"makeAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"546:8:101","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) returns (address)"}},"id":66872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"546:15:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"id":66878,"nodeType":"VariableDeclaration","src":"567:41:101","nodes":[],"constant":false,"mutability":"mutable","name":"carol","nameLocation":"583:5:101","scope":67290,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66874,"name":"address","nodeType":"ElementaryTypeName","src":"567:7:101","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"6361726f6c","id":66876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"600:7:101","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c52130a69b3254240c961f6acfb09713f4f9cc14aa498cbf844b94a27da64ff","typeString":"literal_string \"carol\""},"value":"carol"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c52130a69b3254240c961f6acfb09713f4f9cc14aa498cbf844b94a27da64ff","typeString":"literal_string \"carol\""}],"id":66875,"name":"makeAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"591:8:101","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) returns (address)"}},"id":66877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"591:17:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"id":66883,"nodeType":"VariableDeclaration","src":"614:47:101","nodes":[],"constant":false,"mutability":"mutable","name":"nonOwner","nameLocation":"630:8:101","scope":67290,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66879,"name":"address","nodeType":"ElementaryTypeName","src":"614:7:101","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"6e6f6e4f776e6572","id":66881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"650:10:101","typeDescriptions":{"typeIdentifier":"t_stringliteral_0df4a7e13c37b0097b4feeb43a31c10cc1a8787a58be4aebd381716fa675db9e","typeString":"literal_string \"nonOwner\""},"value":"nonOwner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0df4a7e13c37b0097b4feeb43a31c10cc1a8787a58be4aebd381716fa675db9e","typeString":"literal_string \"nonOwner\""}],"id":66880,"name":"makeAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"641:8:101","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) returns (address)"}},"id":66882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"641:20:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"id":66894,"nodeType":"FunctionDefinition","src":"668:75:101","nodes":[],"body":{"id":66893,"nodeType":"Block","src":"692:51:101","nodes":[],"statements":[{"expression":{"id":66891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66886,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"702:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":66889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"714:20:101","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_AddressWhitelist_$60496_$","typeString":"function () returns (contract AddressWhitelist)"},"typeName":{"id":66888,"nodeType":"UserDefinedTypeName","pathNode":{"id":66887,"name":"AddressWhitelist","nameLocations":["718:16:101"],"nodeType":"IdentifierPath","referencedDeclaration":60496,"src":"718:16:101"},"referencedDeclaration":60496,"src":"718:16:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}}},"id":66890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"714:22:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"src":"702:34:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":66892,"nodeType":"ExpressionStatement","src":"702:34:101"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"677:5:101","parameters":{"id":66884,"nodeType":"ParameterList","parameters":[],"src":"682:2:101"},"returnParameters":{"id":66885,"nodeType":"ParameterList","parameters":[],"src":"692:0:101"},"scope":67290,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":66940,"nodeType":"FunctionDefinition","src":"749:315:101","nodes":[],"body":{"id":66939,"nodeType":"Block","src":"787:277:101","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":66900,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66868,"src":"833:5:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66898,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"809:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":66899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"819:13:101","memberName":"isOnWhitelist","nodeType":"MemberAccess","referencedDeclaration":60448,"src":"809:23:101","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":66901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"809:30:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":66897,"name":"assertFalse","nodeType":"Identifier","overloadedDeclarations":[340,355],"referencedDeclaration":340,"src":"797:11:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":66902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"797:43:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66903,"nodeType":"ExpressionStatement","src":"797:43:101"},{"expression":{"arguments":[{"id":66907,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66868,"src":"875:5:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66904,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"850:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":66906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"860:14:101","memberName":"addToWhitelist","nodeType":"MemberAccess","referencedDeclaration":60405,"src":"850:24:101","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"850:31:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66909,"nodeType":"ExpressionStatement","src":"850:31:101"},{"expression":{"arguments":[{"arguments":[{"id":66913,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66868,"src":"926:5:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66911,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"902:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":66912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"912:13:101","memberName":"isOnWhitelist","nodeType":"MemberAccess","referencedDeclaration":60448,"src":"902:23:101","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":66914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"902:30:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":66910,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[313,328],"referencedDeclaration":313,"src":"891:10:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":66915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"891:42:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66916,"nodeType":"ExpressionStatement","src":"891:42:101"},{"assignments":[66921],"declarations":[{"constant":false,"id":66921,"mutability":"mutable","name":"all","nameLocation":"961:3:101","nodeType":"VariableDeclaration","scope":66939,"src":"944:20:101","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":66919,"name":"address","nodeType":"ElementaryTypeName","src":"944:7:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66920,"nodeType":"ArrayTypeName","src":"944:9:101","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":66925,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66922,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"967:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":66923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"977:12:101","memberName":"getWhitelist","nodeType":"MemberAccess","referencedDeclaration":60463,"src":"967:22:101","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () view external returns (address[] memory)"}},"id":66924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"967:24:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"944:47:101"},{"expression":{"arguments":[{"expression":{"id":66927,"name":"all","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66921,"src":"1010:3:101","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":66928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1014:6:101","memberName":"length","nodeType":"MemberAccess","src":"1010:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":66929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1022:1:101","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":66926,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":403,"src":"1001:8:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":66930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1001:23:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66931,"nodeType":"ExpressionStatement","src":"1001:23:101"},{"expression":{"arguments":[{"baseExpression":{"id":66933,"name":"all","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66921,"src":"1043:3:101","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":66935,"indexExpression":{"hexValue":"30","id":66934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1047:1:101","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1043:6:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66936,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66868,"src":"1051:5:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":66932,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":547,"src":"1034:8:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":66937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1034:23:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66938,"nodeType":"ExpressionStatement","src":"1034:23:101"}]},"functionSelector":"8f1bdd3b","implemented":true,"kind":"function","modifiers":[],"name":"test_AddAndContains","nameLocation":"758:19:101","parameters":{"id":66895,"nodeType":"ParameterList","parameters":[],"src":"777:2:101"},"returnParameters":{"id":66896,"nodeType":"ParameterList","parameters":[],"src":"787:0:101"},"scope":67290,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":67000,"nodeType":"FunctionDefinition","src":"1070:459:101","nodes":[],"body":{"id":66999,"nodeType":"Block","src":"1126:403:101","nodes":[],"statements":[{"expression":{"arguments":[{"id":66946,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66868,"src":"1161:5:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66943,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"1136:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":66945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1146:14:101","memberName":"addToWhitelist","nodeType":"MemberAccess","referencedDeclaration":60405,"src":"1136:24:101","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1136:31:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66948,"nodeType":"ExpressionStatement","src":"1136:31:101"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66949,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"1178:2:101","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1181:10:101","memberName":"recordLogs","nodeType":"MemberAccess","referencedDeclaration":13957,"src":"1178:13:101","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":66952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1178:15:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66953,"nodeType":"ExpressionStatement","src":"1178:15:101"},{"expression":{"arguments":[{"id":66957,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66868,"src":"1228:5:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66954,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"1203:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":66956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1213:14:101","memberName":"addToWhitelist","nodeType":"MemberAccess","referencedDeclaration":60405,"src":"1203:24:101","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":66958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1203:31:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66959,"nodeType":"ExpressionStatement","src":"1203:31:101"},{"assignments":[66965],"declarations":[{"constant":false,"id":66965,"mutability":"mutable","name":"logs","nameLocation":"1295:4:101","nodeType":"VariableDeclaration","scope":66999,"src":"1279:20:101","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$13035_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Log[]"},"typeName":{"baseType":{"id":66963,"nodeType":"UserDefinedTypeName","pathNode":{"id":66962,"name":"Vm.Log","nameLocations":["1279:2:101","1282:3:101"],"nodeType":"IdentifierPath","referencedDeclaration":13035,"src":"1279:6:101"},"referencedDeclaration":13035,"src":"1279:6:101","typeDescriptions":{"typeIdentifier":"t_struct$_Log_$13035_storage_ptr","typeString":"struct VmSafe.Log"}},"id":66964,"nodeType":"ArrayTypeName","src":"1279:8:101","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$13035_storage_$dyn_storage_ptr","typeString":"struct VmSafe.Log[]"}},"visibility":"internal"}],"id":66969,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66966,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"1302:2:101","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":66967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1305:15:101","memberName":"getRecordedLogs","nodeType":"MemberAccess","referencedDeclaration":13916,"src":"1302:18:101","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_array$_t_struct$_Log_$13035_memory_ptr_$dyn_memory_ptr_$","typeString":"function () external returns (struct VmSafe.Log memory[] memory)"}},"id":66968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1302:20:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$13035_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Log memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1279:43:101"},{"expression":{"arguments":[{"expression":{"id":66971,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66965,"src":"1341:4:101","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$13035_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Log memory[] memory"}},"id":66972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1346:6:101","memberName":"length","nodeType":"MemberAccess","src":"1341:11:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":66973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1354:1:101","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"6475706c6963617465206164642073686f756c64206e6f7420656d697420616e206576656e74","id":66974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1357:40:101","typeDescriptions":{"typeIdentifier":"t_stringliteral_92114c771ac05aa1fd8eea6cffc28a09117705387aa255ab4a4b962089986a1f","typeString":"literal_string \"duplicate add should not emit an event\""},"value":"duplicate add should not emit an event"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_92114c771ac05aa1fd8eea6cffc28a09117705387aa255ab4a4b962089986a1f","typeString":"literal_string \"duplicate add should not emit an event\""}],"id":66970,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":421,"src":"1332:8:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure"}},"id":66975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1332:66:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66976,"nodeType":"ExpressionStatement","src":"1332:66:101"},{"assignments":[66981],"declarations":[{"constant":false,"id":66981,"mutability":"mutable","name":"all","nameLocation":"1426:3:101","nodeType":"VariableDeclaration","scope":66999,"src":"1409:20:101","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":66979,"name":"address","nodeType":"ElementaryTypeName","src":"1409:7:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66980,"nodeType":"ArrayTypeName","src":"1409:9:101","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":66985,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66982,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"1432:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":66983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1442:12:101","memberName":"getWhitelist","nodeType":"MemberAccess","referencedDeclaration":60463,"src":"1432:22:101","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () view external returns (address[] memory)"}},"id":66984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1432:24:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1409:47:101"},{"expression":{"arguments":[{"expression":{"id":66987,"name":"all","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66981,"src":"1475:3:101","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":66988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1479:6:101","memberName":"length","nodeType":"MemberAccess","src":"1475:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":66989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1487:1:101","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":66986,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":403,"src":"1466:8:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":66990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1466:23:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66991,"nodeType":"ExpressionStatement","src":"1466:23:101"},{"expression":{"arguments":[{"baseExpression":{"id":66993,"name":"all","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66981,"src":"1508:3:101","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":66995,"indexExpression":{"hexValue":"30","id":66994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1512:1:101","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1508:6:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66996,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66868,"src":"1516:5:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":66992,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":547,"src":"1499:8:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":66997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1499:23:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66998,"nodeType":"ExpressionStatement","src":"1499:23:101"}]},"functionSelector":"fdcfc634","implemented":true,"kind":"function","modifiers":[],"name":"test_AddDuplicate_NoDuplicate_NoEvent","nameLocation":"1079:37:101","parameters":{"id":66941,"nodeType":"ParameterList","parameters":[],"src":"1116:2:101"},"returnParameters":{"id":66942,"nodeType":"ParameterList","parameters":[],"src":"1126:0:101"},"scope":67290,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":67072,"nodeType":"FunctionDefinition","src":"1535:515:101","nodes":[],"body":{"id":67071,"nodeType":"Block","src":"1587:463:101","nodes":[],"statements":[{"expression":{"arguments":[{"id":67006,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66868,"src":"1622:5:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67003,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"1597:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":67005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1607:14:101","memberName":"addToWhitelist","nodeType":"MemberAccess","referencedDeclaration":60405,"src":"1597:24:101","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":67007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1597:31:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67008,"nodeType":"ExpressionStatement","src":"1597:31:101"},{"expression":{"arguments":[{"id":67012,"name":"bob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66873,"src":"1663:3:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67009,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"1638:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":67011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1648:14:101","memberName":"addToWhitelist","nodeType":"MemberAccess","referencedDeclaration":60405,"src":"1638:24:101","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":67013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1638:29:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67014,"nodeType":"ExpressionStatement","src":"1638:29:101"},{"expression":{"arguments":[{"arguments":[{"id":67018,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66868,"src":"1713:5:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67016,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"1689:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":67017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1699:13:101","memberName":"isOnWhitelist","nodeType":"MemberAccess","referencedDeclaration":60448,"src":"1689:23:101","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":67019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1689:30:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":67015,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[313,328],"referencedDeclaration":313,"src":"1678:10:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":67020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1678:42:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67021,"nodeType":"ExpressionStatement","src":"1678:42:101"},{"expression":{"arguments":[{"arguments":[{"id":67025,"name":"bob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66873,"src":"1765:3:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67023,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"1741:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":67024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1751:13:101","memberName":"isOnWhitelist","nodeType":"MemberAccess","referencedDeclaration":60448,"src":"1741:23:101","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":67026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1741:28:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":67022,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[313,328],"referencedDeclaration":313,"src":"1730:10:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":67027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1730:40:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67028,"nodeType":"ExpressionStatement","src":"1730:40:101"},{"expression":{"arguments":[{"id":67032,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66868,"src":"1811:5:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67029,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"1781:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":67031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1791:19:101","memberName":"removeFromWhitelist","nodeType":"MemberAccess","referencedDeclaration":60431,"src":"1781:29:101","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":67033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1781:36:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67034,"nodeType":"ExpressionStatement","src":"1781:36:101"},{"expression":{"arguments":[{"arguments":[{"id":67038,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66868,"src":"1864:5:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67036,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"1840:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":67037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1850:13:101","memberName":"isOnWhitelist","nodeType":"MemberAccess","referencedDeclaration":60448,"src":"1840:23:101","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":67039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1840:30:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":67035,"name":"assertFalse","nodeType":"Identifier","overloadedDeclarations":[340,355],"referencedDeclaration":340,"src":"1828:11:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":67040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1828:43:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67041,"nodeType":"ExpressionStatement","src":"1828:43:101"},{"expression":{"arguments":[{"arguments":[{"id":67045,"name":"bob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66873,"src":"1916:3:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67043,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"1892:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":67044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1902:13:101","memberName":"isOnWhitelist","nodeType":"MemberAccess","referencedDeclaration":60448,"src":"1892:23:101","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":67046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1892:28:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":67042,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[313,328],"referencedDeclaration":313,"src":"1881:10:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":67047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1881:40:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67048,"nodeType":"ExpressionStatement","src":"1881:40:101"},{"assignments":[67053],"declarations":[{"constant":false,"id":67053,"mutability":"mutable","name":"all","nameLocation":"1949:3:101","nodeType":"VariableDeclaration","scope":67071,"src":"1932:20:101","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":67051,"name":"address","nodeType":"ElementaryTypeName","src":"1932:7:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67052,"nodeType":"ArrayTypeName","src":"1932:9:101","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":67057,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":67054,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"1955:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":67055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1965:12:101","memberName":"getWhitelist","nodeType":"MemberAccess","referencedDeclaration":60463,"src":"1955:22:101","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () view external returns (address[] memory)"}},"id":67056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1955:24:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1932:47:101"},{"expression":{"arguments":[{"expression":{"id":67059,"name":"all","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67053,"src":"1998:3:101","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":67060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2002:6:101","memberName":"length","nodeType":"MemberAccess","src":"1998:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":67061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2010:1:101","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":67058,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":403,"src":"1989:8:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":67062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1989:23:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67063,"nodeType":"ExpressionStatement","src":"1989:23:101"},{"expression":{"arguments":[{"baseExpression":{"id":67065,"name":"all","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67053,"src":"2031:3:101","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":67067,"indexExpression":{"hexValue":"30","id":67066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2035:1:101","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2031:6:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67068,"name":"bob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66873,"src":"2039:3:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":67064,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":547,"src":"2022:8:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":67069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2022:21:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67070,"nodeType":"ExpressionStatement","src":"2022:21:101"}]},"functionSelector":"24a52ca9","implemented":true,"kind":"function","modifiers":[],"name":"test_Remove_RemovesAndUpdatesView","nameLocation":"1544:33:101","parameters":{"id":67001,"nodeType":"ParameterList","parameters":[],"src":"1577:2:101"},"returnParameters":{"id":67002,"nodeType":"ParameterList","parameters":[],"src":"1587:0:101"},"scope":67290,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":67104,"nodeType":"FunctionDefinition","src":"2056:291:101","nodes":[],"body":{"id":67103,"nodeType":"Block","src":"2114:233:101","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":67075,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"2124:2:101","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":67077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2127:10:101","memberName":"recordLogs","nodeType":"MemberAccess","referencedDeclaration":13957,"src":"2124:13:101","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":67078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2124:15:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67079,"nodeType":"ExpressionStatement","src":"2124:15:101"},{"expression":{"arguments":[{"id":67083,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66868,"src":"2179:5:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67080,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"2149:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":67082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2159:19:101","memberName":"removeFromWhitelist","nodeType":"MemberAccess","referencedDeclaration":60431,"src":"2149:29:101","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":67084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2149:36:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67085,"nodeType":"ExpressionStatement","src":"2149:36:101"},{"assignments":[67091],"declarations":[{"constant":false,"id":67091,"mutability":"mutable","name":"logs","nameLocation":"2226:4:101","nodeType":"VariableDeclaration","scope":67103,"src":"2210:20:101","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$13035_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Log[]"},"typeName":{"baseType":{"id":67089,"nodeType":"UserDefinedTypeName","pathNode":{"id":67088,"name":"Vm.Log","nameLocations":["2210:2:101","2213:3:101"],"nodeType":"IdentifierPath","referencedDeclaration":13035,"src":"2210:6:101"},"referencedDeclaration":13035,"src":"2210:6:101","typeDescriptions":{"typeIdentifier":"t_struct$_Log_$13035_storage_ptr","typeString":"struct VmSafe.Log"}},"id":67090,"nodeType":"ArrayTypeName","src":"2210:8:101","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$13035_storage_$dyn_storage_ptr","typeString":"struct VmSafe.Log[]"}},"visibility":"internal"}],"id":67095,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":67092,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"2233:2:101","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":67093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2236:15:101","memberName":"getRecordedLogs","nodeType":"MemberAccess","referencedDeclaration":13916,"src":"2233:18:101","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_array$_t_struct$_Log_$13035_memory_ptr_$dyn_memory_ptr_$","typeString":"function () external returns (struct VmSafe.Log memory[] memory)"}},"id":67094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2233:20:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$13035_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Log memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2210:43:101"},{"expression":{"arguments":[{"expression":{"id":67097,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67091,"src":"2272:4:101","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$13035_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Log memory[] memory"}},"id":67098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2277:6:101","memberName":"length","nodeType":"MemberAccess","src":"2272:11:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":67099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2285:1:101","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"72656d6f76696e67206d697373696e6720656c656d656e742073686f756c64206e6f7420656d697420616e206576656e74","id":67100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2288:51:101","typeDescriptions":{"typeIdentifier":"t_stringliteral_5cb685c7ef88a23fe39762df1c4b5ec09bc5d9c5b80b49aac184bf20195f4f88","typeString":"literal_string \"removing missing element should not emit an event\""},"value":"removing missing element should not emit an event"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_5cb685c7ef88a23fe39762df1c4b5ec09bc5d9c5b80b49aac184bf20195f4f88","typeString":"literal_string \"removing missing element should not emit an event\""}],"id":67096,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":421,"src":"2263:8:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure"}},"id":67101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2263:77:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67102,"nodeType":"ExpressionStatement","src":"2263:77:101"}]},"functionSelector":"fa3bdbd8","implemented":true,"kind":"function","modifiers":[],"name":"test_RemoveNonexistent_NoRevert_NoEvent","nameLocation":"2065:39:101","parameters":{"id":67073,"nodeType":"ParameterList","parameters":[],"src":"2104:2:101"},"returnParameters":{"id":67074,"nodeType":"ParameterList","parameters":[],"src":"2114:0:101"},"scope":67290,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":67162,"nodeType":"FunctionDefinition","src":"2353:465:101","nodes":[],"body":{"id":67161,"nodeType":"Block","src":"2417:401:101","nodes":[],"statements":[{"expression":{"arguments":[{"id":67110,"name":"nonOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66883,"src":"2436:8:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67107,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"2427:2:101","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":67109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2430:5:101","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"2427:8:101","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":67111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2427:18:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67112,"nodeType":"ExpressionStatement","src":"2427:18:101"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":67118,"name":"Ownable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41339,"src":"2494:7:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Ownable_$41339_$","typeString":"type(contract Ownable)"}},"id":67119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2502:26:101","memberName":"OwnableUnauthorizedAccount","nodeType":"MemberAccess","referencedDeclaration":41205,"src":"2494:34:101","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":67120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2529:8:101","memberName":"selector","nodeType":"MemberAccess","src":"2494:43:101","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":67121,"name":"nonOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66883,"src":"2539:8:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67116,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2471:3:101","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67117,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2475:18:101","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2471:22:101","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":67122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2471:77:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":67113,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"2455:2:101","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":67115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2458:12:101","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17910,"src":"2455:15:101","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":67123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2455:94:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67124,"nodeType":"ExpressionStatement","src":"2455:94:101"},{"expression":{"arguments":[{"id":67128,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66868,"src":"2584:5:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67125,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"2559:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":67127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2569:14:101","memberName":"addToWhitelist","nodeType":"MemberAccess","referencedDeclaration":60405,"src":"2559:24:101","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":67129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2559:31:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67130,"nodeType":"ExpressionStatement","src":"2559:31:101"},{"expression":{"arguments":[{"id":67134,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66868,"src":"2626:5:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67131,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"2601:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":67133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2611:14:101","memberName":"addToWhitelist","nodeType":"MemberAccess","referencedDeclaration":60405,"src":"2601:24:101","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":67135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2601:31:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67136,"nodeType":"ExpressionStatement","src":"2601:31:101"},{"expression":{"arguments":[{"id":67140,"name":"nonOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66883,"src":"2652:8:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67137,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"2643:2:101","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":67139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2646:5:101","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17290,"src":"2643:8:101","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":67141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2643:18:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67142,"nodeType":"ExpressionStatement","src":"2643:18:101"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":67148,"name":"Ownable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41339,"src":"2710:7:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Ownable_$41339_$","typeString":"type(contract Ownable)"}},"id":67149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2718:26:101","memberName":"OwnableUnauthorizedAccount","nodeType":"MemberAccess","referencedDeclaration":41205,"src":"2710:34:101","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":67150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2745:8:101","memberName":"selector","nodeType":"MemberAccess","src":"2710:43:101","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":67151,"name":"nonOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66883,"src":"2755:8:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67146,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2687:3:101","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67147,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2691:18:101","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2687:22:101","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":67152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2687:77:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":67143,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"2671:2:101","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18001","typeString":"contract Vm"}},"id":67145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2674:12:101","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":17910,"src":"2671:15:101","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":67153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2671:94:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67154,"nodeType":"ExpressionStatement","src":"2671:94:101"},{"expression":{"arguments":[{"id":67158,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66868,"src":"2805:5:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67155,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"2775:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":67157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2785:19:101","memberName":"removeFromWhitelist","nodeType":"MemberAccess","referencedDeclaration":60431,"src":"2775:29:101","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":67159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2775:36:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67160,"nodeType":"ExpressionStatement","src":"2775:36:101"}]},"functionSelector":"32a918e6","implemented":true,"kind":"function","modifiers":[],"name":"test_OnlyOwner_AddAndRemove_RevertForNonOwner","nameLocation":"2362:45:101","parameters":{"id":67105,"nodeType":"ParameterList","parameters":[],"src":"2407:2:101"},"returnParameters":{"id":67106,"nodeType":"ParameterList","parameters":[],"src":"2417:0:101"},"scope":67290,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":67220,"nodeType":"FunctionDefinition","src":"2824:413:101","nodes":[],"body":{"id":67219,"nodeType":"Block","src":"2891:346:101","nodes":[],"statements":[{"expression":{"arguments":[{"id":67168,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66868,"src":"2926:5:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67165,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"2901:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":67167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2911:14:101","memberName":"addToWhitelist","nodeType":"MemberAccess","referencedDeclaration":60405,"src":"2901:24:101","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":67169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2901:31:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67170,"nodeType":"ExpressionStatement","src":"2901:31:101"},{"expression":{"arguments":[{"id":67174,"name":"bob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66873,"src":"2967:3:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67171,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"2942:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":67173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2952:14:101","memberName":"addToWhitelist","nodeType":"MemberAccess","referencedDeclaration":60405,"src":"2942:24:101","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":67175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2942:29:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67176,"nodeType":"ExpressionStatement","src":"2942:29:101"},{"expression":{"arguments":[{"id":67180,"name":"carol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66878,"src":"3006:5:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67177,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"2981:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":67179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2991:14:101","memberName":"addToWhitelist","nodeType":"MemberAccess","referencedDeclaration":60405,"src":"2981:24:101","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":67181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2981:31:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67182,"nodeType":"ExpressionStatement","src":"2981:31:101"},{"assignments":[67187],"declarations":[{"constant":false,"id":67187,"mutability":"mutable","name":"all","nameLocation":"3040:3:101","nodeType":"VariableDeclaration","scope":67219,"src":"3023:20:101","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":67185,"name":"address","nodeType":"ElementaryTypeName","src":"3023:7:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67186,"nodeType":"ArrayTypeName","src":"3023:9:101","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":67191,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":67188,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"3046:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":67189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3056:12:101","memberName":"getWhitelist","nodeType":"MemberAccess","referencedDeclaration":60463,"src":"3046:22:101","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () view external returns (address[] memory)"}},"id":67190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3046:24:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3023:47:101"},{"expression":{"arguments":[{"expression":{"id":67193,"name":"all","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67187,"src":"3089:3:101","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":67194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3093:6:101","memberName":"length","nodeType":"MemberAccess","src":"3089:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"33","id":67195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3101:1:101","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":67192,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[370,388,403,421,475,493,547,565,580,598,642,660,675,693,710,730,747,767,784,804,821,841,858,878,895,915,932,952],"referencedDeclaration":403,"src":"3080:8:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":67196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3080:23:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67197,"nodeType":"ExpressionStatement","src":"3080:23:101"},{"expression":{"arguments":[{"arguments":[{"id":67200,"name":"all","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67187,"src":"3134:3:101","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":67201,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66868,"src":"3139:5:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":67199,"name":"_contains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67289,"src":"3124:9:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$_t_bool_$","typeString":"function (address[] memory,address) pure returns (bool)"}},"id":67202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3124:21:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":67198,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[313,328],"referencedDeclaration":313,"src":"3113:10:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":67203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3113:33:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67204,"nodeType":"ExpressionStatement","src":"3113:33:101"},{"expression":{"arguments":[{"arguments":[{"id":67207,"name":"all","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67187,"src":"3177:3:101","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":67208,"name":"bob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66873,"src":"3182:3:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":67206,"name":"_contains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67289,"src":"3167:9:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$_t_bool_$","typeString":"function (address[] memory,address) pure returns (bool)"}},"id":67209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3167:19:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":67205,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[313,328],"referencedDeclaration":313,"src":"3156:10:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":67210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3156:31:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67211,"nodeType":"ExpressionStatement","src":"3156:31:101"},{"expression":{"arguments":[{"arguments":[{"id":67214,"name":"all","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67187,"src":"3218:3:101","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":67215,"name":"carol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66878,"src":"3223:5:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":67213,"name":"_contains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67289,"src":"3208:9:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$returns$_t_bool_$","typeString":"function (address[] memory,address) pure returns (bool)"}},"id":67216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3208:21:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":67212,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[313,328],"referencedDeclaration":313,"src":"3197:10:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":67217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3197:33:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67218,"nodeType":"ExpressionStatement","src":"3197:33:101"}]},"functionSelector":"32f8bce9","implemented":true,"kind":"function","modifiers":[],"name":"test_GetWhitelist_MultipleAddresses_IgnoresOrder","nameLocation":"2833:48:101","parameters":{"id":67163,"nodeType":"ParameterList","parameters":[],"src":"2881:2:101"},"returnParameters":{"id":67164,"nodeType":"ParameterList","parameters":[],"src":"2891:0:101"},"scope":67290,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":67230,"nodeType":"FunctionDefinition","src":"3243:117:101","nodes":[],"body":{"id":67229,"nodeType":"Block","src":"3301:59:101","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":67224,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"3322:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":67225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3332:18:101","memberName":"isWhitelistEnabled","nodeType":"MemberAccess","referencedDeclaration":60473,"src":"3322:28:101","typeDescriptions":{"typeIdentifier":"t_function_external_pure$__$returns$_t_bool_$","typeString":"function () pure external returns (bool)"}},"id":67226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3322:30:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":67223,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[313,328],"referencedDeclaration":313,"src":"3311:10:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":67227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3311:42:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67228,"nodeType":"ExpressionStatement","src":"3311:42:101"}]},"functionSelector":"d658bab2","implemented":true,"kind":"function","modifiers":[],"name":"test_IsWhitelistEnabled_AlwaysTrue","nameLocation":"3252:34:101","parameters":{"id":67221,"nodeType":"ParameterList","parameters":[],"src":"3286:2:101"},"returnParameters":{"id":67222,"nodeType":"ParameterList","parameters":[],"src":"3301:0:101"},"scope":67290,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":67255,"nodeType":"FunctionDefinition","src":"3366:235:101","nodes":[],"body":{"id":67254,"nodeType":"Block","src":"3412:189:101","nodes":[],"statements":[{"assignments":[67234],"declarations":[{"constant":false,"id":67234,"mutability":"mutable","name":"iid","nameLocation":"3429:3:101","nodeType":"VariableDeclaration","scope":67254,"src":"3422:10:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":67233,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3422:6:101","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":67239,"initialValue":{"expression":{"arguments":[{"id":67236,"name":"AddressWhitelistInterface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60790,"src":"3440:25:101","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"type(contract AddressWhitelistInterface)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_AddressWhitelistInterface_$60790_$","typeString":"type(contract AddressWhitelistInterface)"}],"id":67235,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3435:4:101","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":67237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3435:31:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_AddressWhitelistInterface_$60790","typeString":"type(contract AddressWhitelistInterface)"}},"id":67238,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3467:11:101","memberName":"interfaceId","nodeType":"MemberAccess","src":"3435:43:101","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"3422:56:101"},{"expression":{"arguments":[{"arguments":[{"id":67243,"name":"iid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"3527:3:101","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":67241,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"3499:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":67242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3509:17:101","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":60495,"src":"3499:27:101","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view external returns (bool)"}},"id":67244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3499:32:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":67240,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[313,328],"referencedDeclaration":313,"src":"3488:10:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":67245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3488:44:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67246,"nodeType":"ExpressionStatement","src":"3488:44:101"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30786666666666666666","id":67250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3582:10:101","typeDescriptions":{"typeIdentifier":"t_rational_4294967295_by_1","typeString":"int_const 4294967295"},"value":"0xffffffff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4294967295_by_1","typeString":"int_const 4294967295"}],"expression":{"id":67248,"name":"whitelist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66863,"src":"3554:9:101","typeDescriptions":{"typeIdentifier":"t_contract$_AddressWhitelist_$60496","typeString":"contract AddressWhitelist"}},"id":67249,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3564:17:101","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":60495,"src":"3554:27:101","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view external returns (bool)"}},"id":67251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3554:39:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":67247,"name":"assertFalse","nodeType":"Identifier","overloadedDeclarations":[340,355],"referencedDeclaration":340,"src":"3542:11:101","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":67252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3542:52:101","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67253,"nodeType":"ExpressionStatement","src":"3542:52:101"}]},"functionSelector":"2278c138","implemented":true,"kind":"function","modifiers":[],"name":"test_SupportsInterface","nameLocation":"3375:22:101","parameters":{"id":67231,"nodeType":"ParameterList","parameters":[],"src":"3397:2:101"},"returnParameters":{"id":67232,"nodeType":"ParameterList","parameters":[],"src":"3412:0:101"},"scope":67290,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":67289,"nodeType":"FunctionDefinition","src":"3642:222:101","nodes":[],"body":{"id":67288,"nodeType":"Block","src":"3727:137:101","nodes":[],"statements":[{"body":{"id":67284,"nodeType":"Block","src":"3778:58:101","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":67276,"name":"arr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67258,"src":"3796:3:101","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":67278,"indexExpression":{"id":67277,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67266,"src":"3800:1:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3796:6:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":67279,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67260,"src":"3806:6:101","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3796:16:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67283,"nodeType":"IfStatement","src":"3792:33:101","trueBody":{"expression":{"hexValue":"74727565","id":67281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3821:4:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":67264,"id":67282,"nodeType":"Return","src":"3814:11:101"}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67269,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67266,"src":"3757:1:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67270,"name":"arr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67258,"src":"3761:3:101","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":67271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3765:6:101","memberName":"length","nodeType":"MemberAccess","src":"3761:10:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3757:14:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67285,"initializationExpression":{"assignments":[67266],"declarations":[{"constant":false,"id":67266,"mutability":"mutable","name":"i","nameLocation":"3750:1:101","nodeType":"VariableDeclaration","scope":67285,"src":"3742:9:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67265,"name":"uint256","nodeType":"ElementaryTypeName","src":"3742:7:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67268,"initialValue":{"hexValue":"30","id":67267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3754:1:101","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"3742:13:101"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":67274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3773:3:101","subExpression":{"id":67273,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67266,"src":"3773:1:101","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67275,"nodeType":"ExpressionStatement","src":"3773:3:101"},"nodeType":"ForStatement","src":"3737:99:101"},{"expression":{"hexValue":"66616c7365","id":67286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3852:5:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":67264,"id":67287,"nodeType":"Return","src":"3845:12:101"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_contains","nameLocation":"3651:9:101","parameters":{"id":67261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67258,"mutability":"mutable","name":"arr","nameLocation":"3678:3:101","nodeType":"VariableDeclaration","scope":67289,"src":"3661:20:101","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":67256,"name":"address","nodeType":"ElementaryTypeName","src":"3661:7:101","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67257,"nodeType":"ArrayTypeName","src":"3661:9:101","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":67260,"mutability":"mutable","name":"target","nameLocation":"3691:6:101","nodeType":"VariableDeclaration","scope":67289,"src":"3683:14:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67259,"name":"address","nodeType":"ElementaryTypeName","src":"3683:7:101","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3660:38:101"},"returnParameters":{"id":67264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67263,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67289,"src":"3721:4:101","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67262,"name":"bool","nodeType":"ElementaryTypeName","src":"3721:4:101","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3720:6:101"},"scope":67290,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":66859,"name":"Test","nameLocations":["425:4:101"],"nodeType":"IdentifierPath","referencedDeclaration":12986,"src":"425:4:101"},"id":66860,"nodeType":"InheritanceSpecifier","src":"425:4:101"}],"canonicalName":"AddressWhitelistTest","contractDependencies":[60496],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[67290,12986,12932,6969,6568,5773,3683,2721,50,47],"name":"AddressWhitelistTest","nameLocation":"401:20:101","scope":67291,"usedErrors":[],"usedEvents":[126,130,134,138,142,146,150,154,160,166,174,182,188,194,200,206,211,216,221,228,235,242]}],"license":"AGPL-3.0-only"}}}},"solcLongVersion":"0.8.30","solcVersion":"0.8.30"} \ No newline at end of file